6.13
- 昨天和今天都在改计图作业&期末展示
- 测试了一下GMS的效果和直接用ORB+筛选对比,如下
GMS(1000个ORB点用时0.04s,10000个ORB点用时0.10s,下图是1000个的效果):
ORB+最小距离筛选(500个ORB用时0.05s)
其实本身ORB描述子匹配误匹配数目很多,如下
利用描述子的最小距离*2来筛选,即可得到上面那个效果较好的,看起来在相同时间内,GMS得到的匹配点多一些,应该效果会好,打算粗略阅读以下论文
6.14
- 做了两道LeetCode
- 看了GMS的论文,大概思路是现有的特征匹配算法无法区分哪些是正确的匹配哪些是错误的,RANSAC可以缓解这个问题,GMS同样也是为了解决这个问题.主要的思路是认为在正确的匹配点附近应该有较多的匹配点.而错误的匹配点则相反.结合图来理解
左图有一个黄色圈圈a,右图有一个黄色圈圈b,绿色的线表示一组特征匹配,在圈圈内还有两根蓝色的线表示有两组特征匹配,所以这是一个正确的匹配,而红色圈圈则相反,因为是误匹配,所以在红色圈圈内没有匹配的特征.大概就是这个意思 - OpenCV中有提供三角化的函数triangulatePoints,输入是两个相机的位姿SE3和特征点在归一化平面的位置(Point2d类型,二维,第三维为1省略),返回一个齐次的3维的世界坐标(即4维的点)