- 博客(21)
- 收藏
- 关注
原创 深度学习入门(4):resnet50
ResNet架构极具通用性,之后的众多网络架构(如 ResNeXt、DenseNet、HRNet 等)都基于或借鉴了其残差结构。ResNet的提出解决了深层神经网络训练中的退化问题,使构建和优化超深网络成为可能,标志着深度学习进入更高层次发展的关键转折点。的网络(用于ImageNet竞赛),并在2015年ImageNet竞赛中取得冠军。:即网络越深,准确率反而变差。传统网络在超过20层时,训练效果不理想,而ResNet成功地训练了。的连接使得信息能够直接在网络中传播,有助于深层网络的训练。
2025-06-12 18:00:26
428
原创 深度学习入门(3):vgg16
相比于alexnet,vgg16进一步优化了这个黑盒模型,用实验的方式证明了哪些模块有效,哪些模块对检测效果提升有限。相较于 AlexNet(8 层)和 ZFNet,VGG 显著加深了网络结构,证明了更深的网络可以带来更强的特征表达能力。两个 3×3 卷积核的参数量为:2 × (3×3×C×C) = 18C²(假设输入输出通道数均为 C)VGG16 采用多个连续的 3×3 小卷积核堆叠,而不是使用 5×5 或 7×7 的大卷积核。一个 5×5 卷积核为:1 × (5×5×C×C) = 25C²。
2025-06-12 15:28:56
501
原创 深度学习入门(2):alexnet
Dropout 则是在训练过程中随机删除一定比例的神经元,强制网络学习多个互不相同的子网络,从而提高网络的泛化能力。Dropout简单来说就是在前向传播的时候,让某个神经元的激活值以一定的概率p停止工作,这样可以使模型泛化性更强,因为它不会太依赖某些局部的特征。具体来说,对于每个特征图上的每个位置,计算该位置周围的像素的平方和,然后将当前位置的像素值除以这个和。AlexNet 是深度学习时代的开端,它用一场决定性的胜利,证明了深度卷积神经网络在计算机视觉中的巨大潜力。5 × 5,使用“same”填充。
2025-06-12 14:28:06
686
原创 深度学习入门(1):手写minist
其中分子的 z i z_i zi是多分类中的第 i i i类的输出值,分母将所有类别的输出值求和,使用指数函数来将其转换为概率,最终将神经网络上一层的原始数据归一化到[0,1],使用指数函数的原因是因为上一层的数据有正有负,所以使用指数函数将其变为大于0的值。需要注意,此过程不需要手动进行One-hot编码,因为NLLLoss已经帮我们自动完成了,在训练计算损失的时候,它会自动的取出样本target值对应的下标位置,此位置在One-hot中为1,其余位置因为不表示,所以在One-hot中为0。
2025-06-11 16:38:36
447
原创 三维重建(七):相高法
曾经我在研究生生涯主要做的方向之一,实验室里比较好做,效果比较好的方法,标定也简单。相高法整体思路比较简单,主要难点是优化出一个好的求解方程。因此整体也就只需要简单介绍下,具体的实验细节就是看看论文了。(a)由于参考平面条纹恒定因此上述公式还是适用的。,实际测量即为相同位置不同高度的待测位置相位值。其中p,l,d是标定获取,我们需要计算。逝去的青春,也就是当下寥寥几笔了。即标定每个像素的系数才可求解。基于泰勒展开的多项式求解高度。,所以需要测取参考平面的。是投影仪同一光线,因此。
2025-06-10 15:29:51
153
原创 三维重建入门(六):逆相机法
由于我们可以在相机坐标系下求取相位值,因此我们可以通过投影仪与相位值之间的关系建立相机与投影仪的关系。在三角测距的叙述中,我们易知理论上对于同一位置的相位值是相同的。6.代入投影仪的特征点的像素坐标系及其世界坐标系求取内外参并生成重投影矩阵。5.在生成的理想绝对相位图上代入x,y方向的相位值求出x,y坐标。4.获取相机采集图像的标定板上的所有特征点的x,y方向的相位值。1.生成投影仪需要的相位图,需要x,y两个方向的(横竖条纹)其中:W为编码条纹在投影仪的像素坐标系的视场宽度。
2025-06-10 10:35:26
333
原创 双目立体重建(三角测距)步骤记录
8.相位匹配,这里主要是通过截取左图滤波核与右图进行搜索,搜索按照从左到右,上下滤波核的行数,将小于阈值的搜索框加入待选队列,并在最后选择标准差最小的搜索框。9.计算点云,通过前面立体校正获取的重投影矩阵,同时计算前面匹配的左右两图x差值后保存为视差图,调用opencv的计算点云函数计算可得真实点云图像。1.导入配置文件,主要是关于结构光相机和相机的相关配置,包括相移步数,外差步数,几级格雷码,图像尺寸,立体匹配的滤波核大小等等。7.做立体校正主要是调用opencv相关函数,生成立体校正后左右相机图像。
2025-06-09 14:34:28
141
原创 三维重建入门(五):格雷码+相移法
这种方法的好处就是只需要投影二值图,不需要像正弦条纹投影一样需要对每个像素点的明暗都有要求, 同时格雷码的编码方式有纠错机制会使解码值有更高的鲁棒性。但是格雷码的问题也很明显,显示的投影在边界处会比较模糊,容易解码错误,同时随着格雷码越来越细,边界越来越多,模糊会越来越重,直到在几个像素时,比相移法的误差更大。首先介绍下格雷码结构光,格雷码结构光技术就是将图像按照格雷码编码的方式去投影,最后为每行(每列)计算解码值构成图像的一种投影方法(由于极线约束关系,实际只需要行或者列就可完成三维重建)。
2025-06-05 16:33:26
310
原创 ubuntu系统安装
5.重启电脑按f12进入系统界面,选择u盘,进入安装界面,选择install ubuntu进入正常安装流程(安装中断开网络连接)选择桌面版本:ubuntu-20.04.5-desktop-amd64.iso。3.将下载的文件拷贝到u盘,并使用工具将u盘设置为启动盘。1.准备一个u盘,格式化并选择NTFS格式。,然后选择ubuntu-releases,4.打开磁盘管理进行分区。
2025-06-04 11:56:11
140
原创 三维重建入门(四):相移码
值得注意的是一次差值不够可以多次,但是相移码本身的计算就有误差,多频差值的计算相位会放大误差。为未知量,N步相移可构建N个方程,因此三步相移即可求解,一般为了求解鲁棒性,为求解四步相移。一维相移码图像生成公式如下,其中A为背景光强,B为调制强度,x为像素点横向坐标,,不一定可以表达整个相位变换,因此求解为包裹相位,需要展开相位。编码结构光不得不品的一环。上述方程变为求解Ax=b形式,其中。其中A(x,y),B(x,y),值得注意的是这里的值域范围为。
2025-05-30 15:18:15
220
原创 三维重建入门(三):极线校正算法推导
具体而言,首先建立一个新的图像尺寸与原图像一致,通过上式遍历新图中的每一个坐标对应的原图像坐标,将其坐标的像素值赋给新图像。,为了尽可能保证新内参矩阵与原内参矩阵保持一致,新内参矩阵使用左右影像原内参矩阵的平均数,同时为了简化求解过程,构建统一的内参矩阵,因此将其中的倾斜因子设定为0,即把。由于旋转后的像平面互相平行且均平行于基线,但是相机焦距的不同会导致两平面不共面,因此需要统一相机参数,即计算统一的新内参矩阵。其中矩阵 K 、R 、O 分别表示相机的内参矩阵、旋转矩阵和世界坐标系下的相机光心坐标。
2025-05-29 16:02:15
449
原创 三维重建入门(二):几种矩阵推导
其中K为相机内参矩阵,R和t为两帧间的旋转和平移量,s1,s2为尺度因子,由于这里s1,s2为尺度因子,因为在常熟不为0时允许尺度存在。上述两个式子被称为对极约束,他的几何意义是O1,P,O2共面。这是因为p1在I2的对应点p2必定位于由E或F定义的极线。这里的H即是单应性矩阵,从几何意义上讲即是一个平面映射到另一个平面,它包含旋转,平移,缩放,剪切,透视畸变。,其中n为法向量,P三维平面某一点,d为距离。其中,d为视差,s为尺度因子,Q为重投影矩阵。是两个相机之间的水平距离即基线距离。
2025-05-28 17:10:13
404
原创 PCL点云库入门记录
iss关键点提取:通过求解局部点云的协方差,对协方差矩阵求取前三大的特征值,并取特征值比值小于设定阈值的点认为显著差异点,同时可以设置最小邻居数量提出孤立点,极大值抑制避免关键点太接近。基于法线微分(DoN)的点云分割:主要是比较不同尺度点云的法向量的差异来评判待测点是否为一些特征明显的点,对于变化剧烈的物体边缘分割效果挺好的。半径滤波:需要注意非结构化点云需要设置搜索方法,点云在百万量级就运算极慢,通过统计该点周围点的数量去滤波,如果少于规定的点数则去掉。
2025-05-21 17:47:51
622
原创 一些标定方法杂谈(三):pnp求解原理推导
pnp算法主要用于从多个二维点与其对应的三维点之间的关系,来估算相机姿态(位置与方向)的一种算法。简单来说,PNP算法能够通过已知的三维点和对应的二维投影点,推算出相机在三维空间中的位置和朝向。
2025-05-21 17:17:39
861
原创 一些标定入门方法杂谈(二):手眼标定及tsai法
手眼标定主要用于确定摄像头与机器人末端执行器(通常是机械臂末端)之间的空间变换关系。标定可以分为眼在手上和眼在手外两种。为机械臂末端执行器坐标系之间的变换关系(即从第i组末端执行器到第j组末端执行器的变换关系),同理令。由上可得X的所有成员变量。同样的可以推导眼在手外的求解过程。由上可知求解手眼标定问题就是求解。为相机坐标系到末端执行器坐标系之间的关系。这里介绍Tsai法求解眼在手上的。为相机坐标系之间的变换关系。
2025-05-06 16:08:10
777
原创 一些视觉标定入门方法杂谈(一):九点标定和张正友标定
因此,我觉得理解标定就要知道标定在做什么,九点标定就是一个很简单的例子,也很常用,它直观解释了什么是坐标系转换,矩阵求解方法,以及怎么优化标定。再通过SVD求解像素坐标系到世界坐标系的单应性矩阵,注意为了数据收敛及精度更高,需要先对数据归一化,具体操作是对数据构建归一化矩阵,并将两个坐标系的数据转到齐次坐标系。张正友标定,我个人的理解就是利用棋盘格所在平面建立世界坐标系(z=0),构建图像与棋盘格所在世界坐标系的单应性矩阵,通过多个单应性矩阵求解对应的相机内参,外参。仿射变换的矩阵形式为:XB=A。
2025-04-30 15:58:31
1026
原创 图像处理入门算法(五):一些图像分割算法
但是随着深度学习的逐渐成熟,主流的很多分割方法也发生了变化,本文主要筛选一些冈萨雷斯版书中提起的一些比较实用或者有启发的算法。阈值分割一般直接按照像素值直接分割,传统的分割有大量经验参数,这里我仅给出ostu阈值分割方法,有大量基于此算法的拓展,可以自行研究。霍夫变换是一种常用的检测简单特征的方法,一般用的比较多的有霍夫圆,霍夫直线检测。以下是常用的检测算法比较,这里的对比仅针对这几种算法之间的比较。matlab代码:霍夫圆。matlab代码:区域分割。matlab代码:分水岭。
2025-04-23 15:39:15
591
原创 图像处理入门算法(四):形态学处理
本章之前,冈萨雷斯版本图像处理还介绍了图像压缩重建和小波变换的部分知识,由于这两部分现在封装较好,而且与后续知识较为独立,因此只作为专门领域的人研究和使用,在入门阶段可以直接学习形态学处理。腐蚀和膨胀是形态学基本的逻辑,直观来讲就是对图像的二值图的像素按照一定规则变多或者变少,常用于特征识别,检测为目的的处理。开闭运算,是腐蚀和膨胀概念的一个衍生,是形态学处理使用较为频繁的操作,同时也是很多基于形态学处理的应用基础。需要注意的是,代码没有做去除较小连通区域,因此不相邻的单像素也会被视为连通区域。
2025-04-22 15:58:39
616
原创 图像处理入门算法(三):一些频率域滤波算法
频率域滤波是基于二维傅里叶变换实现的,主要在一些对周期变换比较敏感的图像进行处理,一些滤波算法也可以等效空间域滤波。频率域滤波在使用范围十分特定,在工程项目体现是一些人只跟频率打交道,一些人永远不会考虑频率。但是在底层优化上,频率域滤波有十分多优美的加速方式,因此学习频率域滤波也是一个视觉工程师的基础素养,关键词推荐:摩尔纹处理,图像复原与重建。要深入理解频率域滤波特点并将其应用于实际就需要自己推导一遍二维傅里叶变换及其卷积形式。这方面的基础理论和推导可以在冈萨雷斯频率域这一章节有详细的介绍。
2025-04-18 14:22:09
246
原创 图像处理入门算法(二):一些常用的空间滤波算法
如果说灰度滤波是引入图像处理的概念。空间域滤波就是图像处理的基础了,基于这个基础可以衍生出图像处理的各种应用。因此对于空间域滤波的掌握,是图像处理的第二步。冈萨雷斯对基础部分有很好的阐述,按照脉络去梳理即可。本章主要是让人对空间域滤波的基础算法进行直观的理解。顺带一提,这方面的优化算法也是十分有意思可以去搜索相关滤波的计算优化,关键词推荐积分图,FFT变换。传统空间域滤波算法实现原理都比较通俗易懂,主要难点还是落地在实际项目,这需要很多知识和经验。常用的有均值滤波、高斯滤波、中值滤波、双边滤波等。
2025-04-17 15:48:04
152
原创 图像处理入门(一):一些常用的灰度变换函数
视觉的启蒙,我认为最好的是《数字图像处理》冈萨雷斯版本,我会按照此书的学习顺序去介绍图像处理算法,并通过matlab封装的函数实现。对数变换的基本思想是:将图像的像素值映射到它的对数值,使得较暗区域被拉伸,较亮区域被压缩。可利用公式:s = clog(1+r)实现,值得注意的是:c是缩放常数,确保结果值在合理范围内(比如 0∼255)。比如直方图正则化,局部直方图,线性变换,但万变不离其中,掌握上述函数就掌握了基本的灰度变换函数,基于此再去拓展和根据兴趣学习就会更加顺畅。在灰度图像中,每个像素的值。
2025-04-17 14:59:54
362
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人