摘要: 更新:针对openMVG中的SIFT源码解析,由于篇幅较长,我放在了另一篇文章中SIFT源码解析(openMVG-2.1),其中一些实现细节可以作为本篇文章的补充。 本文对 SIFT 算法进行了详细梳理。SIFT即尺度不变特征变换(Scale-Invariant Feature Transform) 阅读全文
posted @ 2025-03-21 17:26 王乐Levi 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 本文从经典的针孔相机模型开始,推导出相机的几何模型。这个模型描述了如何把三维场景中的坐标转换到二维图像上。只有理解了这个模型,我们才有可能从二维的图像反向推测三维世界,也就能够实现三维重建的过程。 参考资料: 计算机视觉 鲁鹏 清晰完整合集 小孔成像原理 针孔模型是相机最理想的模型,针孔成像的示意图 阅读全文
posted @ 2025-03-26 13:36 王乐Levi 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 本文对openMVG 2.1中的sift相关源码进行了解析,算法原理部分请见上一篇文章万字长文详解SIFT特征提取,本文代码中涉及的一些细节问题可以当作上一篇文章的补充。 调用例程 openMVG的项目源代码中有sift的调用例程,见: openMVG-2.1\src\openMVG_Samples 阅读全文
posted @ 2025-03-25 17:41 王乐Levi 阅读(5) 评论(0) 推荐(0) 编辑
摘要: Ransac全称为Random Sample Consensus,随机一致性采样。该方法是一种十分高效的数据拟合方法。我们通过最简单的拟合直线任务来了解这种方法思路,继而扩展到特征点匹配中的误点剔除问题。 (注意,RANSAC不是直接用于特征点匹配,而是一种在初步特征匹配后消除误匹配的方法) 直线拟 阅读全文
posted @ 2025-03-21 16:41 王乐Levi 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 对边缘的直观理解 边缘有助于我们对图像进行语义理解。直观上,边缘发生在图像强度值变化剧烈的地方 如何描述变化?自然是用导数/梯度 如上图,我们对图中的信号在水平方向上求导,可以得到右侧的导数图像,可以看到,它在边缘处由于信号发生剧烈变化,导数产生了极值。因此,导数的极值点能帮助我们定位边缘所在。 用 阅读全文
posted @ 2025-03-21 11:37 王乐Levi 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 论文:C.Harris and M.Stephens. "A Combined Corner and Edge Detector. Proceedings of the 4th Alvey Vision Conference: pages147--151. 为什么需要检测角点 传统的边缘检测(如So 阅读全文
posted @ 2025-03-18 19:48 王乐Levi 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 1. 全连接层 前文中我们讨论的几乎都是全连接层,也就是在层间,每个神经元都与前一层的所有神经元相连接,如图: 也就是每层的每个feature,都与前一层所有features相关联,是前一层所有features乘以一个权重矩阵W得来的。(这里为了简化理解,我们暂不考虑bias,activation 阅读全文
posted @ 2025-03-07 19:11 王乐Levi 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 当神经网络的层数增加,结构变复杂后,如果只用纯python(再加Numpy)来实现,代码将变得异常复杂,且难以阅读和调试。此时,就需要引入一些著名的深度学习框架了,比如PyTorch, TensorFlow等。 运用这些框架,你往往只需要定义一个神经网络的架构,反向传播过程则是自动完成的,你无需手动 阅读全文
posted @ 2025-03-03 19:38 王乐Levi 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 由反向传播原理可知,梯度的计算遵循链式法则。由于网络层数不断加深,梯度的连乘效应可能会导致梯度呈指数形式衰减,又或以指数形式增加。 前者叫做梯度消失,梯度消失导致网络中的早期层几乎不更新,使得网络难以学习到输入数据的有效特征。可能导致网络权重更新非常缓慢,使得训练过程变得不稳定。 后者叫做梯度爆炸, 阅读全文
posted @ 2025-02-26 17:44 王乐Levi 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 模型能否准确地预测数据,是通过损失函数来衡量的。如何调整权重和偏差参数,从而最小化神经网络的损失函数,这是一类特定的优化算法。我们称它们为优化器(optimizer)。 为什么需要优化器? 因为损失函数参数众多且结构复杂,其导数置零的方程无法得到解析解或计算非常复杂。因此我们需要用迭代的方式逐步调整 阅读全文
posted @ 2025-02-26 16:16 王乐Levi 阅读(35) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示