一种视频录制自动跟随方法与流程

文档序号:17376518发布日期:2019-04-12 23:22阅读:991来源:国知局
一种视频录制自动跟随方法与流程

本发明涉及计算机图像处理技术领域,具体涉及一种视频录制自动跟随方法。



背景技术:

近年来,随着经济的不断发展,人们不再满足于物质需求,随之而来的是越来越多的各类视频。而在一些视频录制过程中,为了跟踪拍摄主要人物,摄影师需要背着沉重的摄像设备跟随拍摄。这样,就成存在一个拍摄成本高昂的问题。

在人类需求增长的同时,相应的各类技术也在不断的向前推进。在硬件方面,出现了高清的ptz(pan/tilt/zoom)球型摄像头,安装便捷,控制灵活且精准性好。而在计算机技术方面,人工智能自诞生以来,理论和技术日益发展成熟,其应用领域也不断扩大,对我们的生活工作都有很大的影响。其中,计算机视觉就是利用机器代替人眼来获取外部环境状况,然后通过一系列的图像处理来做进一步的反应。计算机视觉与计算机控制系统相结合,不但容易实现信息的集成,且能够提高系统的自动化程度,甚至高于人类的反应速度和信息处理能力。

为了克服传统拍摄方法所存在的缺点,国内外学术界、工业界提出了很多方案。其中与本发明较为接近的技术方案包括:发明专利(申请号:201210314671.6,名称:自动追踪录制方法及系统)阐述了一种利用红外光源和添加了红外滤光片的长焦摄像头和广角摄像头来进行目标跟踪拍摄的系统;发明专利(申请号:201610131019.9,名称:一种自动跟踪拍摄系统及方法)阐述了一种利用设置在目标上的窄带光源和带有窄带滤光片的辅助摄像头以及设置在云台系统上的主摄像头来对目标进行跟踪拍摄的系统。现有的技术确实做到了自动跟踪拍摄的效果,但是它需要两个摄像头,安装相对比较繁琐,成本较高,而且需要在目标上放置辅助设备才可以得到目标的位置信息。

综上所述,当前的视频录制系统存在着如下不足:(1)在当前方案中,需要两个或多个摄像头进行跟踪拍摄,成本比较高昂;(2)设备繁杂,需要依靠辅助信号设备来获取目标位置。



技术实现要素:

针对当前的视频录制自动跟随方法所存在的不足,本发明提供一种视频录制自动跟随方法。

本发明的技术方案如下:

一种视频录制自动跟随方法,其技术方案为:

步骤1):初始化球机水平步进速度调节系数ax和水平步进速度调节系数ay;水平方向差值cx1,cx2和垂直方向差值cy1,cy2;中心区域边长2r;

步骤2):通过摄像头获取图像帧f,其中图像帧的高度为height,宽度为width,单位为像素;

步骤3):利用行人检测算法在f上进行行人检测,得到行人包络框box,并利用(box.lx,box.ly)和(box.rx,box.ry)分别表示包络框box左上角和右下角的坐标;

步骤4):计算边界框box的中心点坐标(box.midx,box.midy),然后计算图像帧的中心点位置坐标(middle.x,middle.y),根据式(1)计算两坐标点之间的水平方向差值cx2和垂直方向差值cy2;

步骤5):使球机在水平方向转动;

步骤6):使球机在垂直方向转动;

步骤7):转步骤2)。

所述的一种视频录制自动跟随方法,其特征在于,所述步骤5)具体为:

步骤5.1):根据式(2)判断球机水平转动方向mx;

式中,mx=-1表示向右转动,mx=1表示向左转动,mx=0表示不做转动;

步骤5.2):若|cx2|>r,根据式(3)计算球机水平方向步进速度vx:

vx=floor(ax*|cx2|+0.5)(3)

式中,floor表示取不大于给定参数的最大整数;

步骤5.3):根据转动方向mx和步进速度vx,通过球机sdk发送指令转动球机;

步骤5.4):若|cx1|>r,根据式(4)更新式(3)中的参数ax;

步骤5.5):更新cx1=cx2。

所述的一种视频录制自动跟随方法,其特征在于,所述步骤6)具体为:

步骤6.1):根据式(5)判断球机垂直转动方向my;

式中,my=-1表示向上转动,my=1表示向下转动,my=0表示不做转动;

步骤6.2):若|cy2|>r,根据式(6)计算球机垂直方向步进速度vy:

vy=floor(ay*|cy2|+0.5)(6)

步骤6.3):根据转动方向my和步进速度vy,通过球机sdk发送指令转动球机;

步骤6.4):若|cy1|>r,根据式(7)更新式(6)中的参数ay;

步骤6.5:更新cy1=cy2。

本发明的有益效果是:针对目标人物,利用可转动的摄像机进行跟随拍摄,可以减少人力,降低拍摄成本,且不需要借助其他设备来获取目标的位置信息。

附图说明

图1为行人在中心区域的示意图。

具体实施方式

下面结合附图和实施例,对本发明进行进一步的说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。

步骤1:初始化球机水平步进速度调节系数ax和水平步进速度调节系数ay;水平方向差值cx1,cx2和垂直方向差值cy1,cy2;中心区域边长2r;

在本实施例中,ax与ay初始化为一个随机值,cx1,cx2,cy1,cy2初始化为无穷大值,r初始化为50;

步骤2:通过摄像头获取图像帧f,其中图像帧的高度为height,宽度为width,单位为像素;

在本实施例中,使用的摄像头为大华的球型机,所以获取到的实时数据流为yuv格式,其获取步骤为:

(1)使用sdk所提供的接口进行sdk初始化;

(2)使用sdk所提供的接口,结合相机ip地址、相机登录名、登录密码、相机接口、端口号以及通道号信息,登录设备;

(3)使用sdk所提供的接口,设置流播放模式;

(4)使用sdk所提供的接口,打开实时流;

(5)使用sdk所提供的接口,设置回调函数;

(6)使用sdk所提供的接口,开始播放并获取yuv数据;

在本实施例中,借用opencv中的转换函数进行图像格式的转换,width=1920,height=1080;

步骤3:利用行人检测算法在f上进行行人检测,得到行人包络框box,并利用(box.lx,box.ly)和(box.rx,box.ry)分别表示包络框box左上角和右下角的坐标;

在本实施例中,所使用的行人检测方法为yolov2,使用训练所得的检测模型进行行人检测,检测阈值设为0.3;

步骤4:计算边界框box的中心点坐标(box.midx,box.midy),根据式(1)计算两坐标点之间的水平方向差值cx2和垂直方向差值cy2;

步骤5:使球机在水平方向转动,具体为:

在本实施例中,判断行人是否在画面中央的方法如图1所示,当行人中心点位于边长为2r的正方形区域中时,则视为行人位于中心区域,球机不运动,否则计算球机运动参数;

步骤5.1:根据式(2)判断球机水平转动方向mx;

式中,mx=-1表示向右转动,mx=1表示向左转动,mx=0表示不做转动;

步骤5.2:若|cx2|>r,根据式(3)计算球机水平方向步进速度vx;其中r表示中心区域边长的一半;

vx=floor(ax*|cx2|+0.5)(3)

式中,floor表示取不大于给定参数的最大整数;

步骤5.3:根据转动方向mx和步进速度vx,通过球机sdk发送指令转动球机;

在本实施例中,利用球机sdk中的client_dhptzcontrol函数发送指令;

步骤5.4:若|cx1|>r,根据式(4)更新式(3)中的参数ax;

步骤5.5:更新cx1=cx2;

步骤6:使球机在水平方向转动,具体为:

步骤6.1:根据式(5)判断球机垂直转动方向my;

式中,my=-1表示向上转动,my=1表示向下转动,my=0表示不做转动;

步骤6.2:若|cy2|>r,根据式(6)计算球机垂直方向步进速度vy;

vy=floor(ay*|cy2|+0.5)(6)

步骤6.3:根据转动方向my和步进速度vy,通过球机sdk发送指令转动球机;

在本实施例中,利用球机sdk中的client_dhptzcontrol函数发送指令;

步骤6.4:若|cy1|>r,根据式(7)更新式(6)中的参数ay;

步骤6.5:更新cy1=cy2;

步骤7:转步骤2。

本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围的不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1