最近做了一点关于车辆跟踪的算法,由于处理的场景视野比较小,那种整个车辆的跟踪方法行不通,不管是从时间上还是从跟踪的效果上。
因此对与车辆的跟踪只能通过跟踪车辆中的局部区域。这里面设计了两个问题:车辆中有效跟踪区域的定位和跟踪方法的选择。
一. 定位
没有做跟踪算法之前,感觉只要选择前景区域的任意一个区域就可以,总之只要定位在车辆上就可以,现在发现这种思路是不可以的。没有选择一个好的跟踪初始区域,不管选择什么样的跟踪算法都避免不了漂移的问题。这种漂移的问题对与车辆跟踪是致命的,很容易漂移到路面上。所以一个好的定位方法是必须的。
但是到现在我还没有找到一个比较靠谱的定位方法,虽然暂时的方法也能够解决一些实际的问题。最近一个处理该问题的思路是利用一些最新的算子,比如比较流行的FAST,在前景区域找到包含FAST角点最多的区域,然后就定位这一块。这个方法初步也尝试了下,也有着一定的效果,不过由于FAST代码中if和else之类的判断太多,严重影响处理器的并行运算,因此这个想法要继续的话还需要进行一步的分析。
二. 跟踪
定位完毕后,剩下的工作就是进行车辆的跟踪了。跟踪的方法太多了,我也没有做过跟踪,因此一下子也是无从选择。最简单的跟踪就是模版匹配的跟踪了,不过对于不发生形变的刚性物体车辆来说,还是存在一定的效果。不过一旦车辆发生转向以及尺寸缩放后,就不是那么好匹配了。由于后面有很多好的跟踪方法,所以也就没有将精力花费在模板匹配上。
光流法:光流是一个非常给力的跟踪方法,不过其耗时性也是让人没有办法到达实时的效果。
现在正在尝试的是MIL方法,效果还不错,正在调试
(待续)