法律状态公告日
法律状态信息
法律状态
2017-02-08
授权
授权
2014-07-16
实质审查的生效 IPC(主分类):G06K9/00 申请日:20140320
实质审查的生效
2014-06-25
公开
公开
技术领域
本发明属于基于视觉的车辆智能防撞预警(Vehicle Intelligent Collision Warning)领域,特别涉及一种基于机器视觉的夜间道路车辆目标的稳定跟踪方 法。
背景技术
二十世纪九十年代以来,全球各国开始进行智能运输系统(ITS)的建设。 ITS通过利用先进的信息技术将人、车、路三者灵活的结合起来,ITS中一个 重要的子系统就是车辆智能防撞预警系统(Vehicle Intelligent Collision Warning System),车辆检测模块以及跟踪模块是该系统的重要组成部分。
目前用于车载系统场景的基于视觉的车辆跟踪算法可以归纳为三类:基 于模板、基于卡尔曼滤波和基于邻域的跟踪方法。基于模板的方法很大程度 上依赖于特征提取匹配算法,准确度对模板依赖程度高。基于卡尔曼滤波的 方法需要对图像进行遍历检测,占用系统资源多,计算时间长。基于邻域的 跟踪方法在目标高概率出现的区域进行检测跟踪,与搜索整个图像区域相比 可以大幅减少计算量,时间性能好,但是存在因行驶路况差而引起的摄像头 震动所导致跟踪目标易丢失的问题,因摄像头震动而带来跟踪目标丢失如图 1(a)所示。
针对基于邻域跟踪方法的上述缺陷,本发明提出一种采用预跟踪队列和 稳定跟踪队列的双队列跟踪方法。本发明在基于邻域跟踪方法的基础上,使 用预跟踪队列筛选连续命中的检测目标作为跟踪目标,以增强跟踪方法的稳 定性,使用稳定跟踪队列加强对跟踪目标丢失的容错性,因此,减少因行驶 路况差而引起的车载摄像头震动导致的图像跟踪目标丢失的情况,从而增强 邻域图像目标检测跟踪方法的抗干扰性。该方法适用于基于视觉的车载道路 目标检测系统,增强目标检测跟踪系统的鲁棒性。
发明内容
针对基于单目视觉夜间车载系统的道路车辆目标检测跟踪的应用场景 中,传统的基于邻域的车辆跟踪方法易受到车载摄像头震动、图像抖动、容 易引起检测跟踪目标丢失的问题,本发明公开了一种基于单目视觉的夜间道 路车辆目标的稳定跟踪方法,用于车载夜间道路目标的稳定检测与跟踪。
本发明在基于邻域的跟踪方法的基础上,通过使用预跟踪队列方法获取 稳定目标,使用稳定跟踪队列方法在邻域内对稳定目标进行跟踪,同时还采 用已跟踪区域标记的策略,在进行跟踪时能够缩小检测与跟踪区域,提高实 时性,还能够增强跟踪方法对摄像头震动而造成目标丢失的抗干扰性,以及 跟踪方法的稳定性和准确性。发明解决其技术问题的技术方案如下:
假设摄像机安装在车辆前挡风玻璃中间并朝向正前方,即摄像机的俯仰 角、航偏角、旋转角均为零。
Step1:接收原始图像。车辆跟踪模块从摄像头接收到一帧原始图像srcImg 输入,判断稳定跟踪队列是否为空,如果非空,则由车辆跟踪模块处理srcImg, 跳至Step2;如果为空,则将srcImg交由车辆检测模块直接处理,跳至Step4。
Step2:使用基于邻域的稳定跟踪队列方法跟踪目标。利用稳定跟踪队列, 在稳定跟踪队列元素的邻域中对srcImg进行跟踪,得到跟踪结果,并更新稳 定跟踪队列各个元素。
Step3:标记已跟踪区域。使用上一步骤中已经更新的稳定跟踪队列各元 素的信息,对srcImg中进行已跟踪目标区域的标记。
Step4:车辆检测模块对其接收的不同图像而进行重载,然后由车辆检测 模块进行检测得到检测结果。
Step5:使用预跟踪队列方法筛选检测结果。从上一步骤中得到车辆检测 结果,使用预跟踪队列进行筛选,从而得到连续命中的稳定跟踪目标,最后 将稳定跟踪目标作为新的元素加入至稳定跟踪队列,再跳至Step1,直到摄像 头不再输入新的图像。
本发明具有的有益效果是:
1、使用预跟踪队列方法筛选连续命中的检测目标作为跟踪目标,减少了 车辆检测模块的部分错误检测结果对跟踪结果的负面影响,增强了跟踪结果 的稳定性。
2、具有生命周期的稳定跟踪队列的元素对跟踪目标丢失具有一定的容错 性,从而能减少因摄像头震动而造成的跟踪目标丢失,提高跟踪方法的抗干 扰性
3、采用已跟踪区域标记的策略,通过稳定跟踪队列的跟踪结果来标记已 跟踪区域,再将此图像作为车辆检测模块的输入,使得车辆检测过程中所需 检测区域减少,节省了车载系统计算资源,提高了运行速度。
附图说明
图1(a)是因车辆震动而造成跟踪目标丢失的示例图。
图1(b)是本发明的稳定跟踪队列方法增强了对车辆震动的抗干扰性的示 例图。
图2是本发明用于车载系统的车辆跟踪方法流程图。
图3(a)是车辆检测结果中有误检结果的示例图。
图3(b)是本发明的预跟踪队列方法去除误检之后的示例图。
具体实施方式
下面结合附图,对本发明的具体实施方案作进一步详细描述。
本发明主用于在已有的单目视频图像的夜间车辆目标检测信息的基础 上,根据历史视频图像帧的检测跟踪结果对后续图像帧中的车辆目标位置进 行连续稳定跟踪检测,解决夜间前方车辆的尾灯目标信息因路况差引起的图 像目标抖动,造成跟踪目标易丢失的问题,增强夜间道路目标跟踪的鲁棒性, 提高车载夜间车辆目标检测的准确率。
参照图2执行步骤来说明本发明的实施过程:
步骤1—接收原始图像:
车辆跟踪模块从摄像头接收到一帧原始图像srcImg输入,判断稳定跟踪 队列是否为空,如果非空,则由车辆跟踪模块继续处理srcImg,跳至步骤2; 如果为空,则将srcImg交由车辆检测模块直接处理,跳至步骤4。
步骤2—基于邻域的稳定跟踪队列方法:
本步骤是在稳定队列元素的邻域中,根据目标的特征对目标进行跟踪。 车辆检测结果集、预跟踪队列、稳定跟踪队列的每一个元素,都有一个特征 的集合(例如夜间车辆车灯的面积、高宽比等)来描述这个元素即车辆在图 像中的特征。在这里把描述车辆在图像中特征的集合定义为特征集。设STL代 表稳定跟踪队列,STLi为STL的第i个元素,为STLi的特征集, 为STLi在前一帧出现的区域,enArea为邻域范围系数,表示 STLi在被检测出时所用的阈值集,α表示跟踪阈值集的系数,表示STLi的 生命周期,MAXLN为STL元素的最大生命周期,NMSTL为STL的元素数量。本 发明的稳定跟踪队列方法增强了对车辆震动的抗干扰性的效果如图1(b)所示。 基于邻域的稳定跟踪队列方法具体实施步骤如下:
Step1:在srcImg中的*enArea中,是否能让在 *α的约束下全部的特征匹配成功。如果能,将中所有在 srcImg中的特征更新,跳至Step2,如果不能,则跳至Step3。
Step2:使用Step1中的命中结果更新STLi在srcImg中的同时 使加一,直到达到MAXLN。跳至Step4。
Step3:减一,当等于零时,将STLi从STL中删除并将NMSTL减 一。跳至Step4。
Step4:i加一,如果i大于NMSTL时,该算法结束。否则,跳至Step1。
步骤3—标记已跟踪区域:
因为车载系统应用场景具有稳定跟踪目标不会突然消失,即目标出现连 续性特点和目标只是向邻近区域移动的特点。本步骤是利用上述特点,根据 车辆跟踪模块在上一个步骤中,成功跟踪目标更新之后的特征集,推算出新 的跟踪目标的区域之后,再将其标记到图像传输给车辆检测模块。算法具体 如下:
Input:StaTrackList-稳定跟踪队列 srcImg-摄像头输入的原始图像
Output:lableImg-标记之后的图像
for each StaTrackList[i].vector inStaTrackList do UpdateStaTrackList[i].areausingStaTrackList[i].vector;
end for
for each StaTrackList[i].area inStaTrackList do labelImg.label(StaTrackList[i].area);
end for
设lableImg为标记跟踪区域之后的图像,lableImg.lable表示使用输入的 参数将lableImg标记,StaTrackList[i].vector与StaTrackList[i].area分别表示 稳定跟踪队列的第i个元素的特征集和第i个元素在前一帧出现的区域。经过 上述算法标记之后,将lableImg作为输入图像传输至车辆检测模块。
步骤4—车辆检测模块接收输入图像并检测:
车辆检测模块对其接收的不同图像而进行重载,然后由车辆检测模块进 行检测得到检测结果。当在步骤1中如果STL不为空时,车辆检测模块接收的 输入图像为标记跟踪区域之后的图像lableImg,而STL为空时,车辆检测模块 接收的输入图像为srcImg。在经过对输入图像检测之后,得到检测结果集DR 传入至车辆跟踪模块作为预跟踪队列的输入。
步骤5—使用预跟踪队列方法筛选检测结果:
本步骤主要是利用上一步骤得到的DR,使用预跟踪队列进行筛选,从而 得到连续命中的稳定跟踪目标,最后将稳定跟踪目标作为新的元素加入至稳 定跟踪队列,而DR中的误检结果如图3(a)所示。设DRi为DR中的第i个元 素,NMDR为DR中元素的数量,PTL代表预跟踪队列,PTLj为PTL的第j个元 素,NMPTL为PTL中元素的数量,与分别为DRi的特征集 与PTLj的特征集,为PTLj连续命中次数,为PTLj是否为连续 命中目标的标记,MAXHTM是检测目标能够成为稳定跟踪目标的连续命中次 数。当本步骤执行完毕时,跳至步骤1。本发明的预跟踪队列方法去除误检之 后的效果如图3(b)所示。预跟踪队列方法具体实施步骤如下:
Step1:将与进行特征的匹配,如果不能全部匹配成 功跳至Step2,如果能全部匹配成功则跳至Step3。
Step2:将j加一,如果j大于NMPTL,则跳至Step4,否则,跳至Step1。
Step3:将加一,赋值为true,如果等于MAXHTM, 则将PTLj作为新的元素加入STL并从PTL中删除,NMPTL减一。跳至Step4。
Step4:i加一,j赋值为1,如果i大于NMDR时。跳至Step5。否则,跳至 Step1。
Step5:令j∈[1,NMPTL],对于任意j,如果的值不为true,则将PTLj从预跟踪队列中删除。算法到此结束。
机译: 一种基于粒子滤波的鲁棒目标跟踪方法及系统
机译: 一种基于粒子滤波框架的鲁棒目标跟踪方法及系统
机译: 一种基于粒子滤波框架的鲁棒目标跟踪方法及系统