
计算机视觉
Better-1
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
pytorch unfold记录
unfold就是只是输出窗口移动的内容,并不积。相当于把原图进行切分,沿着不同的维度。et = x.unfold(dim, size, step)dim:int,表示需要展开的维度(可以理解为窗口的方向)size:int,表示滑动窗口大小step:int,表示滑动窗口的步长 import torch x = torch.Tensor([[ 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10],原创 2021-11-21 10:55:41 · 1475 阅读 · 0 评论 -
torch permute和view
permute针对的是转换维度,view等价于reshape。permute作用为调换Tensor的维度,参数为调换的维度。例如对于一个二维Tensor来说,调用tensor.permute(1,0)意为将1轴(列轴)与0轴(行轴)调换,相当于进行转置。In [20]: a Out[20]: tensor([[0, 1, 2], [3, 4, 5]]) In [21]: a.permute(1,0) Out[21]: tensor([[0, 3],原创 2021-11-10 15:28:38 · 1857 阅读 · 0 评论 -
GIOU记录
GIoU对于任意的两个A、B框,首先找到一个能够包住它们的最小方框C。然后计算C \ (A ∪ B) 的面积与C的面积的比值,注:C \ (A ∪ B) 的面积为C的面积减去A∪B的面积。再用A、B的IoU值减去这个比值得到GIoU。C的面积越接近A∪B的面积表示结果越好,所以减去的部分越小。...原创 2021-11-03 14:59:22 · 153 阅读 · 0 评论 -
opencv图像拼接, 通道合并和分开
拼接import cv2img =cv2.imread(file_path[i])img=cv2.hconcat([img,img,img])#水平拼接img=cv2.vconcat([img,img,img])#垂直拼接合并# 生成一个值为0的单通道数组zeros = np.zeros(image.shape[:2], dtype = "uint8")# 分别扩展B、G、R成为三通道。另外两个通道用上面的值为0的数组填充cv2.imshow("Blue", cv2.merge([B,原创 2021-10-11 14:39:13 · 2325 阅读 · 0 评论 -
线性插值 np.interp()
线性插值是指插值函数为一次多项式的插值方式,其在插值节点上的插值误差为零。线性插值相比其他插值方式,如抛物线插值,具有简单、方便的特点。线性插值的几何意义即为概述图中利用过A点和B点的直线来近似表示原函数。线性插值法是认为现象的变化发展是线性的、均匀的,所以可利用两点式的直线方程式进行线性插值。估算的是两点之间的点的对应值。y = np.interp(x, xp, fp)x: 数组 待插入数据的横坐标.xp: 一维浮点数序列原始数据点的横坐标,如果period参数没有指定那么就必须是递增的。否原创 2020-05-26 05:40:35 · 14681 阅读 · 0 评论 -
ROC曲线和PR曲线代码
def ROC(scores): # scores = [["p", 0.9], ["n", 0.8] ...] scores = sorted(scores, key = lambda x: -x[1]) p = 0 n = 0 for score in scores: if score[0] == "p": p += 1 else: n += 1 res = [] fo原创 2021-04-08 17:43:37 · 770 阅读 · 0 评论 -
RGB和BGR
Conversion between any/all of BGR, RGB, and GBR may be necessary when working withMatplotlib pyplot.imshow(): M x N x 3 image, where last dimension is RGB.OpenCV cv2.imshow(): M x N x 3 image, where last dimension is BGRScientific Cameras: some output M原创 2021-04-07 21:00:34 · 737 阅读 · 0 评论 -
Sobel算子--Hog-方向梯度直方图(Histogram Of Gradient)
写的很好的HOG方向梯度直方图(HOG)中,梯度的方向分布被用作特征。沿着一张图片X和Y轴的方向上的梯度是很有用的,因为在边缘和角点的梯度值是很大的,我们知道边缘和角点包含了很多物体的形状信息。怎么计算方向梯度直方图呢?我们会先用图像的一个patch来解释。第一步:预处理Patch可以是任意的尺寸,但是有一个固定的比例,比如当patch长宽比1:2,那patch大小可以是100200, 128256或者10002000但不可以是101205。这里有张图是720475的,我们选100200大小的转载 2021-04-01 23:16:06 · 3529 阅读 · 0 评论 -
yolov3总结
创新点:1.加入先验框,通过在训练集中K-means聚类得到九个先验框的尺寸。2.多尺度,采用金字塔网络FPN 上采样 和 融合 的思想,在三个不同尺度的特征层有相对应的输出。3.使用逻辑回归替代softmax作为分类器,实现多标签分类。4.Darknet-53, 加入了跳跃连接的思想,使用降采样代替池化,提高了精度和速度。共有13133+ 26263 + 52523个预测 。每个预测对应85维,分别是4(坐标值)、1(置信度分数)、80(coco类别数)。输出的tensor是NN(3*4(原创 2020-07-07 17:24:26 · 4730 阅读 · 0 评论 -
笔记-多视图几何、三维构建
3D空间点与2D图像点的对应其实是几个相似三角形,所以存在比例关系可以对应。射影空间:对n维欧式空间加入无穷远元素,并对有限元 素和无穷远元素不加区分,则他们共同构成n维射影空间齐次坐标是射影空间的坐标表达方式三维计算机视觉坐标系世界坐标系、2. 相机坐标系R、t 旋转平移相机模型小孔相机成像模型三维图像就是通过左边的二维图像还原右边所以的未知量。两视图几何——寻找最小配置解的意义在计算F和E时为什么要寻找做小配置解(最少的对应点)? 图像匹配点中不可避免的存在外点原创 2020-07-02 22:57:50 · 827 阅读 · 0 评论 -
图像分割笔记
早期:阈值法,大于阈值1,小于则0.阈值的选取重要;也可以局部阈值,图像进行划分成多个区域,多个阈值。基于特定理论1.均值移动核心思想:找到概率密度梯度为零的采样点,并以此作为特征空间聚类的模式点 ------------梯度为0的位置是变化比较剧烈的位置引入:类似的思路估计密度最大的位置:首先是随机选取一个中心点 ;然后计算该中心点对应的圆的邻域内的点的均值点;然后将中心点改成此时的均值点上,继续以这个中心点为圆心,重复第2步,直到中心点和均值点重合。在这个迭代的过程中,就可以逐步找原创 2020-06-28 22:04:41 · 315 阅读 · 0 评论 -
ORB特征
ORB = FAST + BRIEF(改进的版本) 研究动机:快速性、兼顾准确性Fast特征点检测,Brief描述。• FAST(features from accelerated segment test) • 假设:若该点的灰度值比其周围领域内足够多的像素 点的灰度值大或者小,则该点可能为角点。1.首先是粗提取,就是通过一个圆快速判定出该点是否大于领域内某阈值数目的其他点,如果是就可能是特征点,予以保留。2.第二步是基于上述特征点采用ID3算法建立决策树筛选出最优特征点。3.非极大值抑制去除原创 2020-06-24 22:05:41 · 535 阅读 · 0 评论 -
ICP算法;RABSAC鲁棒估计模型;
想要实现点的对应。求解的目标函数:目标就是得到R,t求解最优变换首先计算质心,然后从两个点集中分别减去对应的质心。通过SVD分解求得最优变换,如果知道正确的点对应,那么两个点集之间的相对旋转和 平移有闭合解在ICP中,假设最近的点为对应点 已经证明,如果初始点‚足够的近‛,可以保证收敛性ICP流程首先选取数据中的一些点作为候选的匹配点;在每一步迭代中,通过几种匹配方法(最近邻等)找到两个数据集中的对应点对;在已知点对的情况下,优化目标函数,求R/t; 然后求E(R,t),如何E大于阈原创 2020-06-24 20:17:02 · 573 阅读 · 0 评论 -
cv2笔记-图像特征的选取
灰度图象边缘提取思路: 抑制噪声(低通滤波、平滑、去噪、模糊) 边缘特征增强(高通滤波、锐化) 边缘定位边缘与数学上的关系边缘是图像灰度剧烈变化的地方,边缘是一阶倒数的极大值点,二阶导数的过零点(一阶极值点就是二阶的零点)。卷积有平滑作用Sobel算子:去噪+增强边缘Prewitt拉普拉斯算子卷积模板:特点:运算结果是标量 • 只有幅值,只使用一个模版便可计算得到 • 方向属性丢失实际中几乎不单独使用拉普拉斯算子: • 二次求导数,对噪声非常敏感 • 通常配原创 2020-06-22 12:25:01 · 657 阅读 · 0 评论 -
计算机视觉中的机器学习方法
计算机视觉、机器学习、模式识别,相关性很大。怎样处理大数据量、高维数、非结构化的数据呢?• 直接在高维数据上处理; 维数灾难,所需要的样本数量随着维数的增加指数增加,模型的复杂程度指数增加。• 降维后再对低维数据进行处理; -自空间分析,通过线性或线性变换压缩到一个低维的子空间中,在低维的子空间中使样本的分布更紧凑,更加有利于分类,计算复杂度减少。• 升到更高维度上再进行处理;经典空间分析方法:1.主成分分析,PCA----找到投影方向从m维降到n维,同时最小化平方误差。 通过线性变换选出较原创 2020-06-15 09:52:43 · 844 阅读 · 0 评论 -
Harris角点检测思想和性质
基本思想:以某一个点为中心的小窗口移动,小窗口任意方向移动,如果窗口内灰度剧烈变化,则是角点;如果是窗口单方向移动时变化,则是边缘。泰勒展开和矩阵表达:转化为对特征值的分析实对称矩阵M的变化可以反映在特征值上!!!!一旦两个特征值都比较大,则变化大;如果一个大一个小,则是边缘;如果都比较小,则不是角点。方阵的迹:方阵对角元素的和。矩阵的迹:等于所有特征值的和一个方阵的行列式等于所有特征值的乘积。转化为响应函数分析R接近0是平坦区域、R是负数是边缘、R较大是焦点算法对焦点响原创 2020-06-15 07:12:44 · 617 阅读 · 0 评论 -
详细SIFT特征点检测——最佳的性能描述子——效果非常好
SIFT:一种特征提取算法——参考文献:David G. Lowe, Distinctive Image Features from Scale-Invariant Keypoints, International Journal of Computer Vision, Vol. 60, Page 91-110, 2004.提取流程:1.卷积差分2.关键点检测3.关键点去除性质:1.不变性对图像的旋转和尺度变化具有不变性对三维视角变化和光照变化具有很强的适应性局部特征,在遮挡和场景杂乱原创 2020-06-13 22:58:22 · 2426 阅读 · 1 评论 -
计算机视觉-运动的表达
运动的一般流程:运动的表达运动轨迹能否正确表述物体运动状态的关键:• 特征点的选取 • 轨迹的描述1.直接按时间顺序连接相邻帧之间的特征点。2.将特征点的集合逆合成不同的多项式曲线。3.主曲线运动轨迹的不足: • 只能粗略地表述物体全局的运动信息; • 无法描述运动细节; • 没有有效地体现时间信息。时空图表达:将图像序列的前景运动信息和时间信息用一张图表述。:运动能量图MEI、运动历史图MHI。。。MEI:帧间差分,得到前景的二值图像,求并集。缺点:做了相反的动作,仍得到相同的图原创 2020-05-25 16:11:20 · 960 阅读 · 0 评论