用于视频监视的目标自动跟踪方法及装置与流程

文档序号:30429411发布日期:2022-06-15 16:26阅读:159来源:国知局
用于视频监视的目标自动跟踪方法及装置与流程

1.本发明涉及领域视频处理领域,尤其涉及一种用于视频监视的目标自动跟踪方法及装置。


背景技术:

2.单个固定摄像机或多个单路固定摄像机拼接得到的全景画面(统称固定摄像机画面)通常用于查看某个场面的全局态势;ptz摄像机或云台摄像机(统称运动摄像机)可以自由转动和缩放,用于查看场面感兴趣区域的细节信息;结合两者,并实现相互之间的联动,可用于同时把握全景态势和局部细节,在机场场面监视,以及广场、港口等安防领域都有重要的需求。
3.在实际运用中,通常利用鼠标在固定摄像机画面上点击感兴趣目标,运动摄像机自动旋转到该目标位置处,从而实现固定摄像机和运动摄像机画面的同时查看,运用中通常需要联动响应要快。一点即视表示的正是上述过程,它体现了固定摄像机和运动摄像机的联动,也体现了响应速度“快”这一特点。
4.现有技术中选定感兴趣目标,之后利用球机对其进行持续跟踪,可查看到目标的实时态势及细节信息,在安防领域中,利于指挥调度,在其它领域中,比如,机场场面上飞机起降的监视,可用于查看飞机起落架是否正常收放,对飞机的安全运行有重要作用;另外,在有录像设备使用时,持续的跟踪,可将感兴趣目标的整个运行过程进行记录,便于出现事故后,进行事后分析;最后,持续的跟踪,是其它视频分析技术的基础,比如,目标行为分析、目标识别等。
5.如何实现实用的联动控制策略与方法,在考虑到目标平稳跟踪、自动合理缩放的基础上,还需尽量的减少硬件资源的消耗,降低使用成本,成为亟待解决的技术问题。


技术实现要素:

6.有鉴于此,本发明提供一种用于视频监视的目标自动跟踪方法及装置,能兼顾目标平稳跟踪、自动合理缩放的基础上,能减少硬件资源的消耗,降低使用成本。
7.第一方面,一种用于视频监视的目标自动跟踪方法包括:
8.主线程获取运动摄像机的分辨率大于预设分辨阈值的主码流,并接收在主码流上选定的待跟踪目标,以及控制所述运动摄像机运动以使所述待跟踪目标出现在画面中央区域,之后得到待跟踪目标的初始化矩形框;
9.子线程获取运动摄像机的分辨率小于预设分辨阈值的子码流,并根据主码流和子码流之间的比例关系,获得所述初始化矩形框的映射矩形框;以及根据映射矩形框,基于预设的单目标跟踪算法,得到待跟踪目标在当前帧的跟踪矩形框;以及根据所述矩形框位置,计算运动摄像机的控制参数;
10.主线程接收并根据所述控制参数控制所述运动摄像机。
11.进一步地,所述根据映射矩形框,基于预设的单目标跟踪算法,得到待跟踪目标在
当前帧的跟踪矩形框的步骤之后还包括:
12.所述主线程根据主码流和子码流之间的比例关系,获得并显示所述待跟踪目标在当前帧的跟踪矩形框对应的显示矩形框。
13.进一步地,所述根据所述矩形框位置,计算运动摄像机的控制参数的步骤包括:
14.首先,计算运动摄像机的水平运动方向pan_direction和垂直运动方向tilt_direction:
[0015][0016][0017]
其中,x1,y1为待跟踪目标在当前帧的矩形框的中心点坐标;sw及sh为子码流的宽高;
[0018]
其次,计算运动摄像机的水平运动速度pan_speed和垂直运动速度tilt_speed:
[0019][0020][0021]
其中,abs为绝对值函数;max_speed为运动摄像机的最大速度;cons1和cons2为常量;
[0022]
再次,根据运动摄像机的水平运动方向pan_direction、垂直运动方向tilt_direction、水平运动速度pan_speed和垂直运动速度tilt-speed,计算运动摄像机的需要转动的水平值pan和垂直值tilt。
[0023]
进一步地,根据运动摄像机的水平运动方向、垂直运动方向、水平运动速度和垂直运动速度,计算运动摄像机的需要转动的水平值pan和垂直值tilt的步骤包括:
[0024][0025][0026]
其中speed_thr为常量。
[0027]
进一步地,所述根据所述矩形框位置,计算运动摄像机的控制参数的步骤包括:
[0028]
首先,设参考矩形框的大小是子码流的相应尺寸的1/n,n为设定的整数,参考矩形框的宽高rw,rh分别为:
[0029]
rw=sw/n
[0030]
rh=sh/n
[0031]
其次,计算当前跟踪矩形框和参考矩形框的面积变化cur_area_change:
[0032]
cur-area-change=w1*h
1-rw*rh
[0033]
再次,当cur_area_change连续area_trend_thr帧大于0或者连续area_trend_thr帧小于0时,计算焦距:
[0034][0035]
其中area_trend_thr为整数,用于防止跟踪矩形框晃动带来的焦距来回变化,确保焦距的平稳变化;cur_zoom为获取的运动摄像机设备得当前焦距值。
[0036]
另一方面,本发明还提供一种用于视频监视的目标自动跟踪装置包括:
[0037]
主线程模块,用于获取运动摄像机的分辨率大于预设分辨阈值的主码流,并接收在主码流上选定的待跟踪目标,以及控制所述运动摄像机运动以使所述待跟踪目标出现在画面中央区域,之后得到待跟踪目标的初始化矩形框;还用于接收并根据所述控制参数控制所述运动摄像机;
[0038]
子线程模块,用于获取运动摄像机的分辨率小于预设分辨阈值的子码流,并根据主码流和子码流之间的比例关系,获得所述初始化矩形框的映射矩形框;以及根据映射矩形框,基于预设的单目标跟踪算法,得到待跟踪目标在当前帧的跟踪矩形框;以及根据所述矩形框位置,计算运动摄像机的控制参数。主线程。
[0039]
进一步地,所述主线程模块用于根据主码流和子码流之间的比例关系,获得并显示所述待跟踪目标在当前帧的跟踪矩形框对应的显示矩形框。
[0040]
进一步地,所述运动摄像机的控制参数包括运动摄像机的需要转动的水平值和垂直值以及焦距。
[0041]
第三方面,一种计算机设备,其特征在于,包括:
[0042]
存储器,用于存储计算机程序;
[0043]
处理器,用于执行所述计算机程序时实现所述用于视频监视的目标自动跟踪方法的步骤。
[0044]
第四方面,一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述用于视频监视的目标自动跟踪方法的步骤。
[0045]
本发明用于视频监视的目标自动跟踪方法及装置,使用双线程、双码流的技术框架,对于消耗大量显卡和内存资源的单目标跟踪算法,使用专门的子线程,在低分辨率的子码流上进行处理,而对于硬件资源占用较少的结果展示和人机交互上,使用主线程和高分辨率的主码流,这样,在保证给用户展示清晰、细腻的画面效果时,也减少了硬件资源的消耗,降低了使用成本。另外,在鼠标点击感兴趣目标后,会首先计算出运动摄像机的转动角度,将鼠标点击位置的目标置于画面中央区域,便于目标后续的长时间稳定跟踪;最后根据控制参数实现目标的平滑跟踪以及焦距的自动缩放,能兼顾目标平稳跟踪、自动合理缩放的基础上,能减少硬件资源的消耗,降低使用成本。
附图说明
[0046]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0047]
图1为根据本发明示例性第一实施例的用于视频监视的目标自动跟踪方法的流程图;
[0048]
图2为根据本发明示例性第二实施例的用于视频监视的目标自动跟踪方法的流程图;
[0049]
图3为根据本发明示例性第三实施例的用于视频监视的目标自动跟踪装置的结构框图。
具体实施方式
[0050]
下面结合附图对本发明实施例进行详细描述。
[0051]
需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0052]
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
[0053]
如图1所示,一种用于视频监视的目标自动跟踪方法包括:
[0054]
s101:主线程获取运动摄像机(如球机)的分辨率大于预设分辨阈值的主码流,并接收在主码流上选定的待跟踪目标,以及控制所述运动摄像机运动以使所述待跟踪目标出现在画面中央区域,之后得到待跟踪目标的初始化矩形框;
[0055]
s102:子线程获取运动摄像机的分辨率小于预设分辨阈值的子码流,并根据主码流和子码流之间的比例关系,获得所述初始化矩形框的映射矩形框;以及根据映射矩形框,基于预设的单目标跟踪算法,得到待跟踪目标在当前帧的跟踪矩形框;以及根据所述矩形框位置,计算运动摄像机的控制参数;
[0056]
s103:主线程接收并根据所述控制参数控制所述运动摄像机。
[0057]
本实施例使用双线程、双码流的技术框架,对于消耗大量显卡和内存资源的单目标跟踪算法,使用专门的子线程,在低分辨率的子码流上进行处理,而对于硬件资源占用较少的结果展示和人机交互上,使用主线程和高分辨率的主码流,这样,在保证给用户展示清晰、细腻的画面效果时,也减少了硬件资源的消耗,降低了使用成本。另外,在鼠标点击感兴趣目标后,会首先计算出球机的转动角度,将鼠标点击位置的目标置于画面中央区域,便于目标后续的长时间稳定跟踪;最后,提出的速度和焦距控制模型,可实现目标的平滑跟踪以及焦距的自动缩放。
[0058]
如图2所示,其作为图1所示的方法的优选方式,该用于视频监视的目标自动跟踪方法具体包括:
[0059]
步骤一:对摄像机进行主码流和子码流的配置,假设主码流的分辨率为mw*mh,子码流的分辨率为sw*sh;
[0060]
步骤二:在主线程之外,新建子线程,其中主线程上获取主码流,实现高分辨率图像的显示、球机控制和人机交互;子线程上获取子码流,实现单目标跟踪;
[0061]
步骤三:鼠标点击主码流上的待跟踪目标;
[0062]
步骤四:将鼠标点击位置自动移动到球机画面的中心区域:利用成像器件版面尺寸、成像画面尺寸以及当前焦距之间的关系计算得到球机转动的位置,实现鼠标点击位置到球机画面中心的转动;
[0063]
步骤五:以图片中心点为中心提取图像子窗口;
[0064]
步骤六:对提取的子窗口运行检测算法,得到待跟踪目标的初始化矩形框:
[0065]
init_bbox0=(x0,y0,w0,h0),
[0066]
其中x0,y0为矩形框的中心点坐标,w0,h0为矩形框的宽、高;检测算法可使用yolo系列算法,也可以使用faster r-cnn等算法,这些算法都是开源的,且能实现很好的检测效果;
[0067]
步骤七:将主码流上的init_bbox0映射到子码流上,得到对应矩形框:
[0068][0069]
步骤八:在子码流上利用init_bbox1对单目标跟踪算法进行初始化;
[0070]
步骤九:运行单目标跟踪算法,得到待跟踪目标在当前帧的矩形框位置:
[0071]
bbox1=(x1,y1,w1,h1)
[0072]
其中,x1,y1为矩形框中心点坐标,w1,h1为矩形框宽和高;
[0073]
步骤十:计算球机的水平运动方向(pan_direction)和垂直运动方向(tilt_direction):
[0074][0075][0076]
pan_direction取值为1时,表示当前目标在画面的右侧,所以球机需要向右运动才能使目标逼近画面的中心区域;pan_direction取值为-1时,表示当前目标在画面的左侧,球机需要向左运动才能使目标逼近画面的中心区域。同理,当tilt_direction取值为1和-1时,分别表示球机需要向上和向下运动,才能使跟踪目标向画面的中心区域逼近。
[0077]
步骤十一:计算球机的运动速度:
[0078][0079][0080]
其中,abs为绝对值函数;max_speed为球机的最大速度,也可根据现场球机的安装位置和测试,设定需要的最大速度值;cons1和cons2可为常量,用于控制速度变化的大小,也可根据需要设置为abs(x
1-0.5*sw)和abs(y
1-0.5*sh)的函数,用于实现离图像中心点不同距离具有不同速度变化率。
[0081]
步骤十二:由计算出的水平、垂直速度以及相应的方向,可得出球机需要转动的水
平值(pan)和垂直值(tilt):
[0082][0083][0084]
其中speed_thr为设置的一常量,比如取值0.5,用于实现当跟踪目标靠近画面中心点时,控制球机不再运动,防止球机在中心点附近由于跟踪矩形框的抖动造成球机来回晃动。
[0085]
步骤十三:焦距计算;
[0086]
(1)设参考矩形框的大小是子码流的相应尺寸的1/n(n为设定的整数,比如8,9,10等),可得参考矩形框的宽高rw,rh分别为:
[0087]
rw=sw/n
[0088]
rh=sh/n
[0089]
(2)计算当前跟踪矩形框和参考矩形框的面积变化:
[0090]
cur_area_change=w1*h
1-rw*rh
[0091]
(3)当cur_area_change连续area_trend_thr帧大于0或者连续area_trend_thr帧小于0时,按如下方式计算新的焦距:
[0092][0093]
其中area_trend_thr为整数,比如30,用于防止跟踪矩形框晃动带来的焦距来回变化,确保焦距的平稳变化;cur_zoom为获取的球机设备得当前焦距值。
[0094]
步骤十四:向球机发送指令,将球机现有的水平速度,垂直速度和焦距分别更新为pan,tilt和zoom,实现云台的平滑联动和焦距的自动变化。
[0095]
本实施例采用双码流、双线程的方式进行处理,主线程使用具有高分辨率的主码流,进行结果显示、球机控制以及人机交互;子线程使用低分辨率的子码流,运行耗时的单目标跟踪算法,能兼顾目标平稳跟踪、自动合理缩放的基础上,能减少硬件资源的消耗,降低使用成本。
[0096]
图3所示的一种用于视频监视的目标自动跟踪装置为图1所示一种用于视频监视的目标自动跟踪方法对应的装置实施例,图1及各优选方式的解释说明均适用于本实施例,如图3所示,一种用于视频监视的目标自动跟踪装置,包括:
[0097]
主线程模块,用于获取运动摄像机的分辨率大于预设分辨阈值的主码流,并接收在主码流上选定的待跟踪目标,以及控制所述运动摄像机运动以使所述待跟踪目标出现在画面中央区域,之后得到待跟踪目标的初始化矩形框;还用于接收并根据所述控制参数控制所述运动摄像机;
[0098]
子线程模块,用于获取运动摄像机的分辨率小于预设分辨阈值的子码流,并根据主码流和子码流之间的比例关系,获得所述初始化矩形框的映射矩形框;以及根据映射矩
形框,基于预设的单目标跟踪算法,得到待跟踪目标在当前帧的跟踪矩形框;以及根据所述矩形框位置,计算运动摄像机的控制参数。
[0099]
优选地,所述主线程模块用于根据主码流和子码流之间的比例关系,获得并显示所述待跟踪目标在当前帧的跟踪矩形框对应的显示矩形框。
[0100]
优选地,所述运动摄像机的控制参数包括运动摄像机的需要转动的水平值(pan)和垂直值(tilt)以及焦距。
[0101]
具体地,对于主线程模块而言,承载的功能包括:
[0102]
主码流:分辨率更大的码流,供用户查看的实时视频画面、视频画面上跟踪矩形框的显示,以及鼠标点击选择待跟踪目标的操作也在其上完成;
[0103]
目标选择:用户鼠标点击待选择目标;计算球机转动角度进而自动控制球机运动使鼠标点击位置出现在画面中央区域;之后运行自动检测算法得到待跟踪目标的矩形框;最后利用主码流和子码流之间的比例关系,将检测得到的矩形框转化到子码流上,用于跟踪算法的初始化;
[0104]
结果显示:供用户查看的最终画面,其上也可展示正在跟踪的矩形框;球机控制:通过给球机发送水平(pan),垂直(tilt)和焦距(zoom)参数,控制球机运动到合适位置,确保被跟踪目标始终在画面的中央区域。
[0105]
对于子线程模块,承载的功能包括:
[0106]
子码流:分辨率较小的码流,在其上运行单目标跟踪算法,由于单目标跟踪算法计算复杂,特别是现在流行的深度学习算法,对内存和显卡有很高要求,用低分辨率的子码流,能很好的减少资源消耗,节约硬件成本;对于同样的硬件,子码流上运行单目标跟踪算法可提高处理速度;
[0107]
初始化:每次运行单目标跟踪算法前,需进行一次初始化操作;
[0108]
跟踪:单目标跟踪算法的实际运行过程,每帧都将被运行,提取其中的需要被跟踪目标的矩形框,该矩形框通过子码流和主码流之间的比例映射关系,可转化到主码流上,进而用于在结果画面上显示;
[0109]
速度焦距:利用跟踪矩形框和相关模型计算出球机的水平速度、垂直速度和焦距。
[0110]
本发明还提供一种计算机设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述用于视频监视的目标自动跟踪方法的步骤。
[0111]
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述用于视频监视的目标自动跟踪方法的步骤。
[0112]
上述用于视频监视的目标自动跟踪装置、计算机设备及计算机可读存储介质具有用于视频监视的目标自动跟踪方法相应的技术效果,在此不再赘述。
[0113]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1