目标:了解FAST算法,在OpenCV里使用FAST算法。
理论:
前面学习了很多特征检测算法,并且表现得非常优秀。如果想从实时应用方面去使用它们,其实都不行,比如SLAM(Simultaneous Localization and Mapping)在移动机器人方面的应用。SLAM也称为CML (Concurrent Mapping and Localization), 即时定位与地图构建,或并发建图与定位。问题可以描述为:将一个机器人放入未知环境中的未知位置,是否有办法让机器人一边移动一边逐步描绘出此环境完全的地图,所谓完全的地图(a consistent map)是指不受障碍行进到房间可进入的每个角落。
为了解决这种实时应用, Edward Rosten和Tom Drummond在论文《Machine learning for high-speed corner detection》里提出了FAST(Features from Accelerated Segment Test)算法。这个算法的大体思路如下,如果想了解更多的细节可以看原来的论文。