一种改良的视频物体检测提升稳定性的方法与流程

文档序号:17937562发布日期:2019-06-18 22:44阅读:338来源:国知局
一种改良的视频物体检测提升稳定性的方法与流程

本发明涉及一种改良的视频物体检测提升稳定性的方法。



背景技术:

视频图像中的运动物体识别与跟踪技术是计算机视觉、计算机科学、视频监控等学术领域广泛关注的一个重要课题。该技术将数字图像处理领域中对静态图像的分析扩展到动态图像中。运动物体识别和跟踪技术的研究成果不仅在社会日常生活和工作中有着广泛的应用前景,而且在军事、交通、医学和科研等领域发挥着日益重要的作用。运动物体识别与跟踪算法的设计将直接影响识别和跟踪效果的准确性及稳定性,对于精确度高、鲁棒性好的识别跟踪算法的研究一直是计算机视觉和数字图像处理等领域的热点问题。

在连续帧的视频中,上一帧的物体检测结果对于下一帧具有极大的参考价值,基于此原理文献《learningtotrackat100fpswithdeepregressionnetworks》中提出了一种视频人脸追踪的方法,借鉴于其进行人脸追踪的方法,移植到物体追踪的应用中。当前帧的物体位置信息根据上一帧的位置信息为基准,在上一帧的物体位置信息中随机放大物体检测位置坐标作为当前帧的物体位置的参考,然后通过上一帧与当前帧的公式计算,得到最终的物体位置信息的结果。这种方法充分的利用了视频中帧与帧之间的相关性,大大的提升了物体检测的效率和准确性。但是还是存在一个问题,那就是检测到的物体的稳定性不够,基于此问题,需要一种更优的解决方法,使得视频物体检测中提升其物体检测的稳定性,过度的平滑性。。



技术实现要素:

本发明的首要目的在于提供一种改良的视频物体检测提升稳定性的方法。

为了实现上述目的,本发明主要利用了连续帧视频中的多帧物体检测结果作为参考,计算当前输入帧物体检测结果与上一帧和多帧的物体检测结果之间的关系,通过物体位置偏移的计算确定当前帧物体位置的输出结果。

本发明提供的改良的视频物体检测提升稳定性的方法使用简单的数学运算对视频中的物体检测进行上下帧之间的结果关联计算,确保物体检测框的连续稳定性;利用权重和保存fps数量的物体为基础计算偏移量,比直接取平均值可以获得更佳的过度平滑性;无需对输入图像进行复杂的降噪等处理,对物体检测器也无特殊需求,可以大大提升检测的速率,适用性广,可以在低端的嵌入式设备中保证足够的计算效率。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例流程图;

图2为本发明中sigmoid函数曲线。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例

本发明主要利用了连续帧视频中的多帧物体检测结果作为参考,计算当前输入帧物体检测结果与上一帧和多帧的物体检测结果之间的关系,通过物体位置偏移的计算确定当前帧物体位置的输出结果。

在现在的显示设备中普遍存在一种计量单位:帧率(fps),即为每秒显示器显示的帧数。已知在普通设备中的帧率为20~60之间,也就是说每秒显示的图像帧为20~60帧之间,这个帧率对于我们进行后续的计算有很大的参考价值。

基本在现有的软件操作系统中,均有系统级应用程序接口(api)可以返回当前的帧率,而我们的方法中也正需要使用到这一帧率。

在本发明中,不涉及到物体检测器的编写或者训练和对于物体追踪的具体实现,我们的方法在于提升视频中的物体检测的稳定性,对于物体检测器无特殊的需求或者改良要求,只需要对输入的数字图像矩阵计算得到物体检测的结果即为满足该方法的物体检测器。

如图1所示,一种改良的视频人脸检测提升稳定性的方法详细的实现步骤如下。

1、通过硬件设备摄像头采集实时的视频作为输入,或者直接输入包含多帧的视频文件。在这里我们要求输入的视频必须是有效的并且每一帧的视频图像矩阵的数据类型和大小尺寸应该是保持一致的(相同一个输入视频内的)。

2、进行计算前我们需要获取当前视频的帧率或者摄像头采集到视频的帧率,通常这种帧率可以调用相关的api进行返回,记录该帧率使用fps表示。如果该系统无法获取到fps或者获取出错,则使用默认的帧率值,令:fps=30;

同时计算前我们定义一个数组容器array来储存一定数量t的物体检测结果,在我们的方法中,t的取值为:t=fps;

也就是说我们会保存与当前帧率值一样的物体检测结果,这个数组的结果将会作为下面的当前帧物体位置的计算基准。

3、开始的时候分解视频,目的是为了以单帧为单位对视频进行分解。例如一个视频中包含100帧数字图像,那么将会分为100次输入,每一次输入均为1帧数组图像的矩阵数据。输入的数据可以是各种格式的数字图像矩阵。

4、由于步骤3中输入的数字图像矩阵的格式可能不尽相同,我们在处理前需要将不同的数字图像矩阵格式转化为物体检测器支持的数字图像矩阵格式。这个步骤也可以在输入视频的时候进行统一的转换。

5、输入1帧数字图像矩阵到物体检测器中,物体检测器通过计算后返回物体检测的结果。这种结果通常是以数组的方式进行保存的,数组的长度是检测到的物体数量大小。其中每个物体信息我们定义的储存内容如下:

x1:物体位置标注框的左上角横轴坐标

y1:物体位置标注框的左上角纵轴坐标

width:物体标注框的宽度值

height:物体标注框的高度值

x11:物体标注框的右下角横轴坐标

y11:物体标注框的右下角纵轴坐标

注明:左上角对应的是显示设备当前的坐标系中的原点位置,在标准化的显示设备中坐标系的原点坐标为显示屏的最左上角的点。

6、经过步骤5之后可以获得当前输入帧的物体位置信息(物体检测框rect),在这里我们进行一系列的计算。

1)根据当前输入帧(定义为上一帧)的物体位置信息,经过追踪算法后得到当前帧的物体位置信息,物体的位置定义为:

x2:当前帧物体位置标注框的左上角横轴坐标

y2:当前帧物体位置标注框的左上角纵轴坐标

x22:当前帧物体标注框的右下角横轴坐标

y22:当前帧物体标注框的右下角纵轴坐标

2)通过5和1)对位置信息进行计算,得到经过优化计算的当前物体回归框(x’、y’、x”、y”)的具体位置信息。

以其中的一个位置x’计算点为例:

d1=x2-x1

将得到的d1(当做公式中的x)代入到下面的sigmoid函数公式中进行计算

将得到的s(x)带入到下面的公式来计算当前帧物体回归框的位置

x’=(x1+(x2-x1)*s(x))

其余三个点y’、x”、y”根据前后帧对应位置关系同样计算过程可得

3)经过2)后得到当前帧最终输出框的左上角和右下角的坐标点信息

7、经过了步骤6后得到了当前帧的最终输出物体检测结果,同时更新数组中的元素信息。

8、输入下一帧图像矩阵,从步骤5开始执行该流程直到视频帧处理结束。

如上所述,对本发明的实施例进行了详细地说明,但是只要实质没有脱离本发明的发明点及效果可以有很多的变形,这对本领域的技术人员来说是显而易见的。因此,这样的变形例也全部包含在本发明的保护范围之内。

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