目标跟踪opencv模板匹配、sort和deepsort比较

opencv模板匹配

opencv的模板匹配是一种在图像中定位目标的方法,通过把输入图像在实际图像上逐像素滑动,计算特征相似性,以此来判断当前滑块图像所在位置是目标图像的概率。
有遮挡的情况下跟踪的bounding box会出现偏差

opencv 轮廓检测

轮廓检测也是图像处理中经常用到的。opencv 接口中使用findContours()函数来查找检测物体的轮廓。

sort

Sort算法需要先进行目标检测,然后根据目标检测的结果进行目标跟踪
SORT的跟踪精度和准确度比较高,但是容易导致ID切换,因为使用的关联指标只有在状态估计不确定性比较低的时候才精确,因此SORT会在有遮挡情况下的跟踪失效;

多目标跟踪中SORT算法的理解

SORT跟踪:从队列中获行人取检测框和置信度,采用SORT算法进行跟踪:把物体跟踪预测的BBox与物体检测的BBox关联,然后用对应的物体检测BBox代表成功跟踪的BBox结果。

(1)使用卡尔曼滤波预测每个目标在当前帧中的新位置,估计其边界框形状;
(2)由每个检测与现有目标的所有预测边界框之间的交并比(IoU)计算分配成本矩阵;
(3)使用匈牙利算法对分配进行优化求解;
(4)拒绝检测与目标重叠小于 IOUmin的分配。

其中,卡尔曼跟踪器联合了历史跟踪记录,调节历史box与本帧box的残差,更好的匹配跟踪id

deepsort

原团队发布了SORT的续作DeepSORT。
整体框架没有大改,还是延续了卡尔曼滤波加匈牙利算法的思路,在这个基础上增加了Deep Association Metric。Deep Association Metric其实就是在大型行人重识别网络上学习的一个行人鉴别网络。输出行人图片,输出一组向量,通过比对两个向量之间的距离,来判断两副输入图片是否是同一个行人。

此外还加入了外观信息(Appearance Information)以实现较长时间遮挡的目标跟踪。

你可能感兴趣的:(目标跟踪,opencv,计算机视觉)