一种基于摇头摄像机的目标跟踪方法技术

技术编号:24413155 阅读:48 留言:0更新日期:2020-06-06 10:10
本发明专利技术提供了一种基于摇头摄像机的目标跟踪方法,具体包括人形/人脸检测定位、人形/人脸位置预测与ID分配、确定跟踪的人形/人脸目标、计算目标在水平和垂直方向距离画面中心的距离、控制摇头机将目标转动到画面中心、判段摇头机是否需要回到home位置等步骤。本发明专利技术运用简单的数学计算和多帧滤波、卡尔曼预测与匈牙利匹配方法达到实时跟踪人形/人脸及运动目标块的目的,且在跟踪过程中,避免了因目标检测误检而导致摇头机乱晃的情况,解决了现有技术运算量大,模型复杂,跟踪不稳定摇头机乱晃的问题。

A target tracking method based on moving camera

【技术实现步骤摘要】
一种基于摇头摄像机的目标跟踪方法
本专利技术涉及视觉跟踪
,具体涉及一种基于摇头摄像机的目标跟踪方法。
技术介绍
在计算机视觉领域中,目标跟踪是最具有挑战性的问题之一,涉及的方向主要是单目标跟踪和多目标跟踪,而安防领域运用最多的主要是多目标跟踪。多目标跟踪其主要跟踪流程有检测、特征提取/运动轨迹预测、相似度计算、ID分配。现有技术主要采用相关性滤波器与深度学习方法来进行跟踪,主要用来预测下一帧目标位置和对检测框区域进行特征提取,以获得更具判别性的特征表达。现有技术中,一些传统的物体追踪算法运行速度快但追踪精度差,而许多新提出的物体追踪算法底层数学模型又很复杂,有些还需要联合深度学习方法进行视觉特征提取,从而导致目标追踪过程中产生巨大的运算量,达不到实时性;此外,当目标检测产生误检时,在使用运动摄像机跟踪目标会产生由于误检导致摄像机左右或上下摇摆,从而使得最终的跟踪效果很差。公开号为:CN109040574A的中国专利申请公开了一种转动摇头机跟踪目标的方法及装置,用以识别视频中的目标并控制摇头机转动以跟踪目标,将目标保持在画面中心位置,便于用户观察。该方法包括:获取摇头机当前拍摄的一帧图像;从当前帧图像中确定出摇头机的跟踪目标;确定所述跟踪目标与图像中心的距离;根据所述跟踪目标与图像中心的距离,以及预先确定的摇头机的电机转动参数与图像距离之间的关系,确定转动摇头机跟踪目标所需电机转动参数;根据所述电机转动参数转动所述摇头机。该方法通过计算跟踪目标在移动过程中,在每一帧画面中产生的与图像中心位置的偏移,进一步计算出摇头机将跟踪目标保持在图像中心区域相应的电机转动参数,使得摇头机镜头能够跟踪目标并保持目标在画面中心区域,方便用户观察。但是该方法依旧存在目标追踪过程中产生巨大的运算量、实时性差,跟踪不稳定,摇头机乱晃的问题。
技术实现思路
针对现有技术的不足,本专利技术提出了一种基于摇头摄像机的目标跟踪方法,解决了现有技术运算量大,模型复杂,跟踪不稳定摇头机乱晃的问题。为实现上述技术方案,针对人形/人脸目标,本专利技术提供了一种基于摇头摄像机的目标跟踪方法,具体包括如下步骤:S1、人形/人脸检测定位:对于人形和人脸检测,通过设定检测模式以及人形和人脸的分数阈值来检测视频中的人形或者人脸;S2、人形/人脸位置预测与ID分配:对于当前帧,利用卡尔曼滤波器预测出来的目标位置,联合步骤S1中检测出来的实际目标位置,通过计算预测位置与实际位置之间的IOU值作为权重,其中IOU值为卡尔曼滤波器预测出来的目标位置的矩形区域与步骤S1中检测出来的实际目标位置的矩形区域的交集与并集的比值,并使用匈牙利匹配算法来为当前帧分配ID,得到分配好ID的目标;S3、确定跟踪的人形/人脸目标:根据上一帧跟踪目标的ID,在当前帧中找到相同ID的目标作为当前帧要跟踪的目标;若当前帧中没有同上一帧相同ID的目标,则要重新选择要跟踪的目标;S4、计算目标在水平和垂直方向距离画面中心的距离:根据跟踪目标矩形区域左上顶点坐标和宽高,以及画面的宽高,计算出跟踪目标在水平方向距离画面中心的距离vecx和垂直方向距离画面中心的距离vecy;S5、控制摇头机将目标转动到画面中心:a.水平方向:当|vecx|>40且|vecx|>(obj_width/4),同时vecx<0,其中obj_width表示目标的宽;当满足上述条件时,调用驱动接口控制摇头机向右转动;反之,当vecx>0,调用驱动接口控制摇头机向左转动;实时计算目标水平方向距离vecx,当|vecx|<=40或者|vecx|<(obj_width/4),则电机在水平方向停止转动;b.垂直方向:当|vecy|>40且|vecy|>(obj_height/4),同时vecy<0,其中obj_height表示目标的高,当满足上述条件时,调用驱动接口控制摇头机向上转动;反之,当vecy>0,调用驱动接口控制摇头机向下转动;实时计算目标垂直方向距离vecy,当|vecy|<=40或者|vecy|<(obj_height/4),则电机在垂直方向停止转动;S6、判段摇头机是否需要回到home位置:a.当连续15帧检测到静止的人时,将前后帧摇头机跟踪的目标记录下来,计算前后两帧跟踪目标的中心点在水平和垂直方向分别的距离差horizon_dis,vertical_dis,以及两个目标的面积差area_dis,若horizon_dis、vertical_dis以及area_dis连续15帧分别小于设定的阈值,则此时让摇头机回home位置;反之,继续追踪目标;b.当摄像头停止转动,且在停止转动后的30s内没有检测到人形/人脸,则此时让摇头机回到home位置。优选的,步骤S3中,重新选择要跟踪的目标的方法是,先计算步骤S2中所有目标距离画面的水平中心距离,然后按升序排列目标;然后将目标的面积按照不等式areai>4*areaj排列,其中,areai、areaj分别表示目标i、j的面积,最后将排列好的第一个目标作为最后要跟踪的目标对象。针对前景运动块的目标跟踪,本专利技术还提供了一种基于摇头摄像机的目标跟踪方法,具体包括如下步骤:S1、目标定位:对于运动块检测,使用背景差分法完成前景运动目标检测;S2、确定跟踪目标块:过滤掉面积小于设定面积阈值的运动块;判断符合条件的运动块目标个数是否为零,若为零,则返回作下一帧处理;反之,对保留的运动块面积进行降序排列;在摇头电机静止情况下,对视频进行帧数计数;判断运动块个数,并对运动块中心点距离画面中心点的水平距离进行升序排列,得到面积较大者作为最终要跟踪的目标;S3、计算单位像素对应的摇头机移动步长:让摇头机静止,记录下此时摇头机电机水平垂直位置坐标,同时选取此时镜头所对画面中的一点P,并记录这点的像素坐标;通过PTZ控制摇头机转动一段时间后停止,此时再记录P点移动到新位置后的像素坐标,同时再记录摇头机电机水平垂直位置坐标;计算P点在新旧位置的水平和垂直方向像素差,以及摇头机水平垂直方向分别的位置坐标差;最后用电机的位置坐标差除以像素差得到水平方向单位像素对应的步长step_hor和垂直方向单位像素对应的步长step_ver;S4、计算摇头机转动的目标位置:根据所得到的最终目标块,计算目标运动块的中心点距离画面中心点在水平方向的距离vecx和垂直方向的距离vecy;根据步骤S23中记录的目标运动方向,以及vecx的正负值,计算得到的单位像素对应的摇头机水平移动步长step_hor和垂直移动步长step_ver,然后结合求得的像素距离值vecx,vecy,计算得到摄像机应该移动的步长vecx*step_hor,vecy*step_ver;通过驱动接口获得摄像头当前所处的水平和垂直位置horizon_position,vertical_position,计算得到摄像头转动的目标位置;S5本文档来自技高网
...

【技术保护点】
1.一种基于摇头摄像机的目标跟踪方法,其特征在于具体包括如下步骤:/nS1、人形/人脸检测定位:对于人形和人脸检测,通过设定检测模式以及人形和人脸的分数阈值来检测视频中的人形或者人脸;/nS2、人形/人脸位置预测与ID分配:对于当前帧,利用卡尔曼滤波器预测出来的目标位置,联合步骤S1中检测出来的实际目标位置,通过计算预测位置与实际位置之间的IOU值作为权重,其中IOU值为卡尔曼滤波器预测出来的目标位置的矩形区域与步骤S1中检测出来的实际目标位置的矩形区域的交集与并集的比值,并使用匈牙利匹配算法来为当前帧分配ID,得到分配好ID的目标;/nS3、确定跟踪的人形/人脸目标:根据上一帧跟踪目标的ID,在当前帧中找到相同ID的目标作为当前帧要跟踪的目标;若当前帧中没有同上一帧相同ID的目标,则要重新选择要跟踪的目标;/nS4、计算目标在水平和垂直方向距离画面中心的距离:根据跟踪目标矩形区域左上顶点坐标和宽高,以及画面的宽高,计算出跟踪目标在水平方向距离画面中心的距离vecx和垂直方向距离画面中心的距离vecy;/nS5、控制摇头机将目标转动到画面中心:/na.水平方向:当|vecx|>40且|vecx|>(obj_width/4),同时vecx<0,其中obj_width表示目标的宽;当满足上述条件时,调用驱动接口控制摇头机向右转动;反之,当vecx>0,调用驱动接口控制摇头机向左转动。实时计算目标水平方向距离vecx,当|vecx|<=40或者|vecx|<(obj_width/4),则电机在水平方向停止转动;/nb.垂直方向:当|vecy|>40且|vecy|>(obj_height/4),同时vecy<0,其中obj_height表示目标的高,当满足上述条件时,调用驱动接口控制摇头机向上转动;反之,当vecy>0,调用驱动接口控制摇头机向下转动;实时计算目标垂直方向距离vecy,当|vecy|<=40或者|vecy|<(obj_height/4),则电机在垂直方向停止转动;/nS6、判段摇头机是否需要回到home位置:/na.当连续15帧检测到静止的人时,将前后帧摇头机跟踪的目标记录下来,计算前后两帧跟踪目标的中心点在水平和垂直方向分别的距离差horizon_dis,vertical_dis,以及两个目标的面积差area_dis,若horizon_dis、vertical_dis以及area_dis连续15帧分别小于设定的阈值,则此时让摇头机回home位置;反之,继续追踪目标;/nb.当摄像头停止转动,且在停止转动后的30s内没有检测到人形/人脸,则此时让摇头机回到home位置。/n...

【技术特征摘要】
1.一种基于摇头摄像机的目标跟踪方法,其特征在于具体包括如下步骤:
S1、人形/人脸检测定位:对于人形和人脸检测,通过设定检测模式以及人形和人脸的分数阈值来检测视频中的人形或者人脸;
S2、人形/人脸位置预测与ID分配:对于当前帧,利用卡尔曼滤波器预测出来的目标位置,联合步骤S1中检测出来的实际目标位置,通过计算预测位置与实际位置之间的IOU值作为权重,其中IOU值为卡尔曼滤波器预测出来的目标位置的矩形区域与步骤S1中检测出来的实际目标位置的矩形区域的交集与并集的比值,并使用匈牙利匹配算法来为当前帧分配ID,得到分配好ID的目标;
S3、确定跟踪的人形/人脸目标:根据上一帧跟踪目标的ID,在当前帧中找到相同ID的目标作为当前帧要跟踪的目标;若当前帧中没有同上一帧相同ID的目标,则要重新选择要跟踪的目标;
S4、计算目标在水平和垂直方向距离画面中心的距离:根据跟踪目标矩形区域左上顶点坐标和宽高,以及画面的宽高,计算出跟踪目标在水平方向距离画面中心的距离vecx和垂直方向距离画面中心的距离vecy;
S5、控制摇头机将目标转动到画面中心:
a.水平方向:当|vecx|>40且|vecx|>(obj_width/4),同时vecx<0,其中obj_width表示目标的宽;当满足上述条件时,调用驱动接口控制摇头机向右转动;反之,当vecx>0,调用驱动接口控制摇头机向左转动。实时计算目标水平方向距离vecx,当|vecx|<=40或者|vecx|<(obj_width/4),则电机在水平方向停止转动;
b.垂直方向:当|vecy|>40且|vecy|>(obj_height/4),同时vecy<0,其中obj_height表示目标的高,当满足上述条件时,调用驱动接口控制摇头机向上转动;反之,当vecy>0,调用驱动接口控制摇头机向下转动;实时计算目标垂直方向距离vecy,当|vecy|<=40或者|vecy|<(obj_height/4),则电机在垂直方向停止转动;
S6、判段摇头机是否需要回到home位置:
a.当连续15帧检测到静止的人时,将前后帧摇头机跟踪的目标记录下来,计算前后两帧跟踪目标的中心点在水平和垂直方向分别的距离差horizon_dis,vertical_dis,以及两个目标的面积差area_dis,若horizon_dis、vertical_dis以及area_dis连续15帧分别小于设定的阈值,则此时让摇头机回home位置;反之,继续追踪目标;
b.当摄像头停止转动,且在停止转动后的30s内没有检测到人形/人脸,则此时让摇头机回到home位置。


2.如权利要求1所述的基于摇头摄像机的目标跟踪方法,其特征在于:步骤S3中,重新选择要跟踪的目标的方法是,先计算步骤S2中所有目标距离画面的水平中心距离,然后按升序排列目标;然后将目标的面积按照不等式areai>4*areaj排列,其中,areai、areaj分别表示目标i、j的面积,最后将排列好的第一个目标作为最后要跟踪的目标对象。


3.一种基于摇头摄像机的目标跟踪方法,其特征在于具体包括如下步骤:
S1、目标定位:对于运动块检测,使用背景差分法完成前景运动目标检测;
S2、确定跟踪目标块:过滤掉面积小于设定面积阈值的运动块;判断符合条件的运动块目标个数是否为零,若为零,则返回作下一帧处理。反之,对保留的运动块面积进行降序排列;在摇头电机静止情况下,对视频进行帧数计数;判断运动块个数,并对运动块中心点距离画面中心点的水平距离进行升序排列,得到面积较大者作为最终要跟踪的目标;
S3、计算单位像素对应的摇头机移动步长:让摇头机静止,记录下此时摇头机电机水平垂直位置坐标,同时选取此时镜头所对画面中的一点P,并记录这点的像素坐标;通过PTZ控制摇头机转动一段时间后停止,此时再记录P点移动到新位置后的像素坐标,同时再记录摇头机电机水平垂直位置坐标。计算P点在新旧位置的水平和垂直方向像素差,以及摇头机水平垂直方向分别的位置坐标差;最后用电机的位置坐标差除以像素差得到水平方向单位像素对应的步长step_hor和垂直方向单位像素对应的步长step_ver;
S4、计算摇头机转动的目标位置:根据所得到的最终目标块,计算目标运动块的中心点距离画面中心点在水平方向的距离vecx和垂直方向的距离vecy;根据步骤S23中记录的目标运动方向,以及vecx的正负值,计算得到的单位像素对应的摇头机水平移动步长step_h...

【专利技术属性】
技术研发人员:唐自兴马玉涛徐少辉杨亮亮杨运红江发钦申雷李志洋宋庆丰庞继锋
申请(专利权)人:珠海安联锐视科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1