?
opencv模板匹配
opencv的模板匹配是一种在图像中定位目标的方法,通过把输入图像在实际图像上逐像素滑动,计算特征相似性,以此来判断当前滑块图像所在位置是目标图像的概率。 有遮挡的情况下跟踪的bounding box会出现偏差
opencv 轮廓检测
轮廓检测也是图像处理中经常用到的。opencv 接口中使用findContours()函数来查找检测物体的轮廓。
sort
Sort算法需要先进行目标检测,然后根据目标检测的结果进行目标跟踪 SORT的跟踪精度和准确度比较高,但是容易导致ID切换,因为使用的关联指标只有在状态估计不确定性比较低的时候才精确,因此SORT会在有遮挡情况下的跟踪失效;
多目标跟踪中SORT算法的理解
在跟踪之前,对所有目标已经完成检测,实现了特征建模过程。
- 第一帧进来时,以检测到的目标初始化并创建新的跟踪器,标注id。
- 后面帧进来时,先到卡尔曼滤波器中得到由前面帧box产生的状态预测和协方差预测。求跟踪器所有目标状态预测与本帧检测的box的IOU,通过匈牙利指派算法得到IOU最大的唯一匹配(数据关联部分),再去掉匹配值小于iou_threshold的匹配对。
- 用本帧中匹配到的目标检测box去更新卡尔曼跟踪器,计算卡尔曼增益、状态更新和协方差更新,并将状态更新值输出,作为本帧的跟踪box。对于本帧中没有匹配到的目标重新初始化跟踪器。
其中,卡尔曼跟踪器联合了历史跟踪记录,调节历史box与本帧box的残差,更好的匹配跟踪id ?
deepsort
原团队发布了SORT的续作DeepSORT。 整体框架没有大改,还是延续了卡尔曼滤波加匈牙利算法的思路,在这个基础上增加了Deep Association Metric。Deep Association Metric其实就是在大型行人重识别网络上学习的一个行人鉴别网络。输出行人图片,输出一组向量,通过比对两个向量之间的距离,来判断两副输入图片是否是同一个行人。
此外还加入了外观信息(Appearance Information)以实现较长时间遮挡的目标跟踪。
|