自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 ubuntu20.04安装cuda10.2及cudnn-10.2-linux-x64-v8.0.4.30

ubuntu安装cuda

2020-10-24 23:50:57 11352 3

原创 [2] sort系列: 2 部分论文理解及代码解读

1,论文理解2,代码解读【1】kalman预测及更新部分解析(待整理)【2】代价矩阵与匈牙利匹配解析通过计算检测框与跟踪框的IOU(iou_batch函数),得到 cost matrix;对 cost matrix 通过匈牙利匹配,得到检测框与跟踪框能够匹配起来的索引对。 主要代码为:iou_matrix = iou_batch(detections, trackers) # 通过计算检测框与跟踪框的IOU,得到 cost matrixif min(iou_matrix.shape)

2020-09-28 23:06:13 738

原创 (2)python_numpy: numpy.ma.masked_invalid 与 numpy.ma.compress_rowcols 函数用法

https://numpy.org/doc/stable/reference/generated/numpy.ma.compress_rowcols.html

2020-09-25 23:50:46 2341 1

原创 [7] opencv: C++_cv::FileStorage读写xml配置文件

小案例:把数据写入xml文件中,如图像宽高、相机标定参数等等。如,把width=320,height=380,即1行5列、值为3的Mat,3*3的单位矩阵写入xml,形式如图:代码:#include <iostream>#include "opencv2/opencv.hpp"using namespace std;#define XML_TESTint main() {#ifdef XML_TEST //写xml int width = 320; i

2020-09-24 18:38:35 1319

原创 【卡尔曼滤波器】1_数学基础_均值、方差、协方差、协方差矩阵、矩阵的迹

最近重新学习了卡尔曼滤波器,为防止忘记了而每次又需要的时候都要找资料学习,又恰逢这次遇到了讲的特别好的老师,所以特别花时间把这一部分整理出来,并希望在整理完知识后再编程实现个相关的案例,以加深对知识的学习与巩固。1,均值2,方差3,协方差4,协方差矩阵...

2020-09-21 21:04:21 5663

原创 [1] sort系列: 1 MOT目标跟踪下载及运行

1, github源码下载直接下载zip包:https://github.com/abewley/sort2, 安装所需依赖pip install -r requirements.txt# requirements.txt中需安装的包为:# filterpy==1.4.5# scikit-image==0.17.2# lap==0.4.0直接安装完成即可。3, 下载数据集: 2D MOT 2015 benchmark dataset数据集链接: https://motchal

2020-09-17 20:21:18 1116 9

转载 匈牙利算法——最大匹配问题详解

站在巨人的肩膀上学习一下,这两篇博主写的非常通俗易懂。学习1转自:https://blog.csdn.net/u013384984/article/details/90718287?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-Blog

2020-09-13 20:44:50 2767 1

原创 [6] opencv: python投射变换

小案例:把图像中的ROI区域进行投射变换,得到变换后的图像。原图为(1600w*1200h 来自网络) (图1):目的:把原图中的相机部位进行投射到图片左上角(即把相机投射到黄色mask区域) (图2):code:import cv2import numpy as npdef perspective_test(): im_src = cv2.imread(r'E:\pic\phone2.jpg') pts_src = np.array([[1146, 259], [

2020-09-10 22:47:14 661

原创 [5] opencv: python把图片序列合成视频

小案例:把某文件夹中的images合成视频序列,其中images命名为:1.jpg 2.jpg … 10.jpg 11.jpg … n.jpgimport osimport timeimport cv2import numpy as npdef merge_video(): path = r'F:\src' # 图片序列所在目录,文件名:0.jpg 1.jpg ... dst_path = r'F:\dst\result.mp4' # 生成的视频路径 fi

2020-09-09 21:46:43 640 4

原创 [4] opencv: pythonDIS光流法与笛卡尔坐标转为极坐标

目录1, 笛卡尔转为极坐标2, DIS光流算法1, 笛卡尔转为极坐标直接参考opencv文档:1,函数原型:C++:void cv::cartToPolar ( InputArray x, InputArray y, OutputArray magnitude, OutputArray angle, bool angleInDegrees = false ) Python:magnitude, angle = c

2020-09-02 22:56:23 821

转载 卡尔曼滤波,最最容易理解的讲解

卡尔曼滤波,最最容易理解的讲解.找遍网上就这篇看懂了. 学习卡尔曼滤波看了4天的文章,硬是没看懂.后来找到了下面的文章一下就看懂了.我对卡尔曼滤波的理解,我认为,卡尔曼滤波就是把统计学应用到了滤波算法上. 算法的核心思想是,根据当前的仪器"测量值" 和上一刻的 "预测量" 和 "误差",计算得到当前的最优量.   再 预测下一刻的量, 里面比较突出...

2020-08-21 22:37:18 276

转载 如何理解最小二乘法?

如何理解最小二乘法? 最小平方法是十九世纪统计学的主题曲。 从许多方面来看, 它之于统计学就相当于十八世纪的微积分之于数学。----乔治·斯蒂格勒的《The History of Statistics》1 日用而不知来看一个生活中的例子。比如说,有五把尺子:用它们来分别测量一线段的长度,得到的数值分别为(颜色指不同的尺子):之所以出现不同的值可能因为: 不同厂家的尺子的生产精...

2020-08-21 22:26:36 257

原创 android调用C/C++函数

目录华为手机设备启用开发者模式查看设备cpu架构信息编译C/C++动态库静态库华为手机设备启用开发者模式1, 设置 – 关于手机 – 版本号(10.0.0.xxx),连续点版本号 5~7次2, 设置 – 系统和更新 – 开发人员选项打开一下三项的开关(其它项默认):开发人员选项; USB调试; "仅充电"模式下允许ADB调试设置以后链接Android Studio,就可以发现设备了。查看设备cpu架构信息1, 链接手机后,在命令行:adb shell cat /proc/cpuinfoCP

2020-08-17 23:41:06 2300 3

原创 pytorch: 学习笔记12, pytorch丢弃法

pytorch丢弃法dropout网络:输入层:28*28=784(每个样本) --> 隐藏层1: 256个单元 --> 隐藏层2: 256个单元 --> 输出层:10(分类)代码:import torchimport torch.nn as nnimport torchvisionimport torchvision.transforms as transformsimport sysclass FlattenLayer(torch.nn.Module):

2020-08-09 14:59:08 477

原创 pytorch: 学习笔记11, pytorch权重衰减

目录1, pytorch权重衰减逐步实现2, pytorch权重衰减简单实现1, pytorch权重衰减逐步实现代码:# weight_decay.pyimport torchimport torch.nn as nnimport numpy as npfrom matplotlib import pyplot as pltdef init_params(): w = torch.randn((num_inputs, 1), requires_grad=True) b =

2020-08-09 13:44:34 826

原创 (1)python正则表达式

Ⅰ, 正则表达式中的基本符号1, [] 匹配一组可能出现的字符[Pp]ython 匹配 “Python” 或 “python”。rub[ye] 匹配 “ruby” 或 “rube”。[abcdef] 匹配中括号内的字母,如对"12345Pyyp"使用正则式[13Py]进行匹配,会匹配出12345Pyyp (加粗部分)2, - 代表某个区间[0-9] 匹配任何数字。类似于 [0123456789]。[a-z] 匹配任何小写字母。[A-Z] 匹配任何大写字母。[a-zA-Z0-9] 匹配任何

2020-08-08 21:05:10 1152

原创 pytorch: 学习笔记10, pytorch拟合多项式

pytorch拟合多项式 y=1.2x − 3.4x2 +5.6x3 + 5, 并画出原始曲线及拟合曲线代码:import torchimport numpy as npfrom matplotlib import pyplot as pltdef semilogy_draw(x_vals, y_vals, x_label, y_label, x2_vals=None, y2_vals=None, legend=None, figsize=(3.5, 2.5)):

2020-08-07 14:30:44 610

原创 pytorch: 学习笔记9, pytorch实现全连接网络(多层感知机)

pytorch实现全连接网络(多层感知机)网络模型为3层(含输入层):输入(28×28)784个特征单元(神经元);隐藏层:256个单元;输出层:10 (比如sofamax的10分类)。代码:import torchfrom torch import nnfrom torch.nn import initimport torchvisionimport torchvision.transforms as transformsimport sysimport timeclass

2020-08-05 21:28:57 1088 1

原创 pytorch: 学习笔记8, pytorch激活函数

激活函数relusigmoidtanh(Mish)import torchfrom matplotlib import pyplot as pltimport torch.nn.functional as F# relu激活函数 ReLU(x)=max(x,0)# x = torch.arange(-8.0, 8.0, 0.1, requires_grad=True)# y = x.relu() # 激活函数## plt.figure(1, (300, 400))# plt.

2020-08-04 23:10:39 254

原创 pytorch: 学习笔记2.1:pytorch中的变量 及 tensor(requires_grad=True)转为numpy

# 1, tensor转为numpy# requires_grad=True 时,不可以将tensor直接转为numpy; 需要 x(tensor).detach().numpy()# requires_grad=False 时,可以将tensor直接转为numpyx1 = torch.arange(-8.0, 8.0, 1, requires_grad=False) # requires_grad 默认值为Falseprint(x1.numpy()) # [-8. -7. -6. -5. -4

2020-08-04 21:23:24 1262

原创 [3] opencv: python求图像上多条曲线中最长及最短曲线

opecv计算轮廓,各阶矩,轮廓面积; 通过面积近似得到较长的曲线原始输入图片: blackline.jpg计算图像中最长与最短曲线,并获取其重心坐标。代码:import cv2import numpy as npdef calc_coordinate_area(contour): M = cv2.moments(contour) # 计算轮廓的各阶矩,字典 # print(M) # 计算重心 cx = int(M['m10'] / M['m00'])

2020-08-03 23:06:40 3147 1

原创 pytorch: 学习笔记7, pytorch实现softmax回归

pytorch实现softmax回归import torchimport torchvisionimport torchvision.transforms as transformsimport matplotlib.pyplot as pltimport timeimport sysfrom collections import OrderedDict# Fashion-MNIST是一个10类服饰分类数据集mnist_train = torchvision.datasets.Fashi

2020-08-02 22:12:00 275 1

原创 pytorch: 学习笔记6, pytorch( 实现 )修改VGG16网络的全连接层为线性回归网络

pytorch实现VGG16网络的全连接层import numpy as npimport torchimport torch.utils.data as Dataimport torch.nn.functional as F# 定义模型 : input-->fc1-->fc2-->predict# 25088-->4096-->4096-->1000class FullConnectionNet(torch.nn.Module):

2020-08-02 14:30:18 3876 1

原创 pytorch: 学习笔记5, pytorch实现线性回归2(简单实现)

pytorch实现线性回归简单实现import numpy as npfrom matplotlib import pyplot as pltimport torchimport torch.utils.data as Data# 显示数据def show(sample, labels): print('show') plt.scatter(sample, labels, 1) plt.show()# 定义模型 1class LinearNet(torch.nn.

2020-08-01 16:22:23 197

原创 [2] opencv: python求两个ROI的交集并集补集,并求某个集合的所有像素点与面积

def or_and_not_xor_main(): #1, 创建第一个image与mask img_zero = np.zeros((900, 1200, 3), dtype=np.uint8) img_zero_sample = img_zero.copy() img_zero_2 = img_zero.copy() print(img_zero.shape) # points = np.array([[101, 101], [110, 101], [1

2020-07-31 21:51:07 5868 1

原创 [1] opecv: opecv中的坐标系

opencv中的坐标系【1】opencv中的坐标系opencv中,以图像image建立坐标系:原点(0, 0):图像image左上角像素点;水平方向为x轴(即图像的宽、列column),竖直方向为y轴(即图像高、行row)。cv2.read(‘图像’).shape --> 返回:(height, width, channel),先高后宽,即(y, x, channel),先y后x;但是在图像操作输入坐标点时,输入的是(x, y),先x后y,即(w, h),如:img_resize =

2020-07-28 23:23:03 646

原创 pytorch: 学习笔记4, pytorch实现线性回归

pytorch实现线性回归线性回归应用:如计算房价与面积/房龄的线性函数关系,参数面积越大,一般房价越高(正比,y=kx正斜率k);年代越长,一般房价越低(反比,y=kx负斜率k)。假设房价与两个参数呈线性关系,则初始化参数时,取 true_w = [2, -3.4]import numpy as npimport torchimport randomfrom matplotlib import pyplot as pltdef show(sample, labels): print

2020-07-28 23:09:22 266

原创 pytorch: 学习笔记3, pytorch求梯度

pytorch求梯度1, tensor中有 requires_grad 属性,当设置 requires_grad 为True,则会追踪(track)对tonsor的所有操作,之后就可以(利用链式法)调用.backward()来完成所有梯度计算。requires_grad ①可以在创建tensor时,通过参数设置为True/False;②或者通过 .requires_grad_(True/False)设置2, 每个Tensor都有一个 .grad_fn 属性,该属性表示此Tensor是不是通过某些运算得

2020-07-26 22:26:07 950

原创 pytorch: 学习笔记2, 创建tensor

简单介绍几种创建张量tensor的方式1,直接创建tensor2.1,由numpu创建tensor2.2, 把tensor转成numpy3, 类似与创建numpy的方式创建tensor4, 通过现有的tensor来创建tensor5.1, 查看tensor形状5.2, 改变tensor形状#1,直接创建tensortensor1 = torch.tensor([[1, 2], [3, 4]])tensor1_f = torch.FloatTensor([[1, 2], [3, 4]])

2020-07-26 15:29:26 195

原创 pytorch: 学习笔记1, torch.cuda中的函数

pytorch:torch.cuda中的函数device_count = torch.cuda.device_count() # 可用的GPU数量current_device = torch.cuda.current_device() #返回当前所选设备的索引device_name = torch.cuda.get_device_name(current_device) #返回设备名, 默认值为当前设备device_capability = torch.cuda.get_device_capabil

2020-07-25 21:32:43 5974

原创 2,C语言宏--结构体成员的偏移:#define OFFSET(type, member) ((size_t)(&((type *)0)->member))

宏定义:结构体成员的偏移define OFFSET(type, member) ((size_t)(&((type *)0)->member))member对于(结构体类型)type起始的偏移,type一般为一个结构体类型#include <iostream>#include <stdio.h>using namespace std;typedef struct{ int a; int b; char c; char d;

2020-07-20 22:19:09 959

原创 爬虫: 爬取天天基金网的公司信息

爬虫: 爬取天天基金网的公司信息# -*- coding: UTF-8 -*-import requestsimport parselimport reimport pandas as pddef tiantianjijin_main(): # 设置要爬取的url及headers, headers表明该:浏览器、 系统win10 64位、 browser内核 base_url = 'http://fund.eastmoney.com/company/default.html'

2020-07-19 13:43:15 1385 1

原创 1, C语言回调函数:依所需条件调用对应回调函数

C回调函数用法#include <stdio.h>typedef void (*func)();typedef struct{ int index; func f_hook;}T_HOOK;void func1(){ printf("I am func1, running...");}void func2(){ printf("I am func2, running...");}T_HOOK t_hook_func[] = {

2020-07-06 23:22:02 399

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除