本文讲的基于光流法+配准的动目标检测算法,算法适用于复杂背景,即背景的特征点数量大于目标的特征点数量。配准是特征点配准,不做图像配准。图像配准+帧差法是常用的动态视场动目标检测算法,但在复杂背景下效果不佳,虚警多,且计算资源消耗大。只对特征点配准所需计算资源小。
主要流程还是两帧取特征点,例如ORB特征点。特征点匹配后要筛选前景特征点,最初我用配准后的前后帧点计算运动特性,进而利用速度筛选合适的运动点,但无法和背景点很好的分割·。特征点匹配后先将点集分为背景点集和其他点集,那么其他点集合就是目标点+劣质匹配点,再利用运动特性来区分目标点和劣质匹配点。 流程图和检测效果如下:
源码链接https://download.csdn.net/download/weixin_45720771/69425381
-
区分背景点集和其他点集
这里用到RANSAC算法,OPENCV函数findFundamentalMat在复杂背景下(背景的特征点数量大于目标的特征点数量)返回的是优质的背景点集。 -
运动特性筛选目标
视场移动相对平缓的情况下,目标加速度的标准差是个不错的特征,可以去掉很多虚警。 -
优化
(1)目标特征点聚类。可以用边缘提取出连通域来辅助特征点聚类,并获得目标轮廓,达到更好的效果;
(2)目标关联。增加跟踪算法辅助关联,同时能维持目标在检测失败帧的信息,在目标ID保持上起作用,但会加大计算量。
版权声明:本文为CSDN博主「李闰土」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45720771/article/details/122092469
暂无评论