从去年11月开始,开始使用opencv中的方法,通过角点检测和稀疏光流的方法来做跟踪。花费的时间主要是三大块: 程序的理解, 程序移植和重构。程序的设备优化。(dsp6467),将我这几个月的收获和遇到的问题总结一下.
光流跟踪的理论主要参考两个文章《Pyramidal Implementation of the Lucas Kanade Feature Tracker.pdf》 和 《Harris角点检测.ppt》(这两篇文章网上都可以找到, 为了方便大家,我已经上传到了我的资源了http://download.csdn.net/detail/wisdomfriend/7127023 )角点检测用了shi-tomasi特征,网上说这个特征比harris特征好些,我测试的结果为这个特征检测到车辆上的点跟踪过程中不怎么晃动。金字塔生成如果采用简单抽样,跟踪效果就会很差, 可能是因为图像不平滑,泰勒展开的假设就不成立了。 程序的移植: dsp下核心循环去掉浮点,其它部分没有去浮点了。 如果跟踪速度慢,可以考虑对图像作降采样,可以考虑降低生成角点的个数。
检测到车辆后,检测车辆的角点,记录车辆的区域大小和宽高比。并进入跟踪。跟踪过程中由于考虑速度(最多跟踪15辆车)角点只减少不增加(这里有个“中直流跟踪”技术,算法速度要求不高的人建议看看), 如果区域到达区域边界 或者角点消失 或者轨迹异常则结束跟踪。