标签:关键帧 bm 深蓝 VIO 角点 从零开始 dx dy 光流
深蓝学院从零开始手写VIO(五)——视觉前端
声明:本专栏文章为深蓝学院《从零开始手写VIO》课程个人学习笔记,更多学习资源请咨询深蓝学院相关课程。
视觉前端算法
从大类上可以分为特征法和直接法两类,具体可参见《视觉SLAM十四讲》,课程这里给句几个简单的结论:
- 光流法最成熟,但缺点明显(受光照干扰,依赖角点)。
- Fast+光流是目前比较实用的快速算法,或者GFTT(Shi-Tomasi)+光流。
- 特征法性能从好到坏:SIFT/SURF、BRISK、ORB。
- 特征和光流都依赖于角点,但实际场景中角点并不明显。
- 直接法不依赖角点,但实现效果依赖于所选取的场景点数目。
特征+光流跟踪算法
特征提取常使用角点,因为角点附近图像的梯度变换具有较高的可辨别性,包括Harris、FAST、GTFF等。在提取出一帧图像中的特征点后,通过光流跟踪,可以进一步确定对应特征点在下一帧图像中的位置。
对于图像中存在视角变化的目标区域,需要添加warp function计算光流:
I(x,y,t)=I(W(x+dx,y+dy),t+dt)
其中W为仿射变换函数:
W(x+dx,y+dy)=[1+p1p2p31+p4p5p6]⎣⎡x+dxy+dy1⎦⎤
式中p1−p6为仿射变换参数。
而对于快速变化的图像,则可以采用金字塔光流提高光流的追踪距离。
关键帧与三角化
关键帧选取的由于主要有:1)为了后端的实时性考虑;2)避免相机出现停止,导致后端估计出现退化。关键帧的选择准则如下:
- 关键帧不能太近(避免退化)
- 关键帧不能太远(需要有足够的共视点)
- 在VIO中,为了保证ba和bg的不变,需要定期选取关键帧。
因此在不引起问题退化和计算量过度增加的情况下,应尽可能多的插入关键帧。
在关键帧之间,或者关键帧和普通帧之间,可以通过三角化构建新特征的空间坐标。
标签:关键帧,bm,深蓝,VIO,角点,从零开始,dx,dy,光流 来源: https://blog.csdn.net/weixin_43991178/article/details/104895184
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。