公开/公告号CN106446837A
专利类型发明专利
公开/公告日2017-02-22
原文格式PDF
申请/专利权人 湖南优象科技有限公司;
申请/专利号CN201610859376.7
发明设计人 罗文峰;
申请日2016-09-28
分类号G06K9/00;G06K9/46;G06K9/62;
代理机构北京中济纬天专利代理有限公司;
代理人陈立新
地址 410000 湖南省长沙市高新开发区尖山路39号长沙中电软件园总部大楼A658房
入库时间 2023-06-19 01:36:59
法律状态公告日
法律状态信息
法律状态
2019-05-07
授权
授权
2017-03-22
实质审查的生效 IPC(主分类):G06K9/00 申请日:20160928
实质审查的生效
2017-02-22
公开
公开
技术领域
本发明涉及图像处理、计算机视觉处理技术领域,特别涉及一种基于运动历史图像的挥手检测方法。
背景技术
随着自动化技术的飞速发展,无人机的功能越来越强大,自动跟踪拍摄目标成为无人机应用的一个重要组成部分。无人机跟拍前需要选定跟踪的人或物体。在传统的目标选取中,通常采用手动画框的方法选定目标。这种方法原理简单,比较容易实现,但是也有明显的缺陷:1,手动画框不精确,依赖于操作者对设备以及软件使用的熟练程度;2,画框往往在手持设备如手机上实现,在脱离手机的情况下不能自动识别。
为了实现自动跟踪行人的目标选取,一个新的思路是让跟踪的对象进行某种行为比如挥手,然后通过行为(如挥手)检测来判定跟踪目标。
行为检测是计算机应用的一个重要课题,在人机交互、虚拟现实等方面有着广泛的应用前景。其发展历程在早期主要以硬件设备为前端,获得初始的运动信息,如用于手部运动检测系统的数据手套。这类方法所需的硬件设备往往价格比较昂贵,且需要佩戴使得用户的舒适度不高。
随着计算机视觉技术的发展,基于软件的手部运动检测技术也开始发展。目前手部运动检测系统处理流程主要分为两部分,第一部分是从视频序列帧中提取所需信息,这里所需信息主要指运动物体在视频帧上的相对位置,目前方法主要有肤色划分,前景划分,几何体划分等。而第二部分是通过计算模型,如隐含马尔卡夫链、小波变换、BP神经网络等方法,来对前面获得图像特征进行处理。
目前手部运动检测主要为多种算法的结合,一般需要手部特征提取算法与运动检测算法结合。对于识别要求较高的应用,需要提取更多的特征和复杂的检测算法。而无人机跟拍的目标挥手检测算法需要在手机上运行,无法提供更高的计算能力,因此现有的方法不适合用于无人机跟拍的目标挥手检测。
发明内容
针对现有挥手检测方法的不足,本发明提出一种基于运动历史图像的挥手检测方法。
本发明采用的技术方案是:
一种基于运动历史图像的挥手检测方法,包括以下步骤:
S1训练一个行人检测器;
S2在无人机进行目标跟拍时,对拍摄到的视频图像进行行人检测,按照分类器得分高低对行人候选框进行排序,选取其中得分最高的行人候选框作为初次挥手检测的对象;
S3对当前得分最高的行人候选框进行挥手检测区域确定,然后在挥手检测区域通过运动历史图像进行挥手检测;
S4当检测到挥手运动时,整体流程结束;如果得分最高的行人候选框没有检测到挥手行为,则对S2中行人检测的分类器得分高低排序结果中得分第二的行人候选框进行挥手检测,挥手检测方法和初次挥手检测对象的挥手检测方法相同;依此规律,一直到检测出某个行人候选框存在挥手行为或是所有的行人候选框均进行完挥手检测但是均没有挥手行为为止。
本发明的S1中,行人检测器的训练方法是:通过无人机上的摄像头对不同行人进行拍摄,一共采集不少于500幅的行人图像作为正样板,参与采集的行人人数不少于100人。然后从网上或者其他各种数据库收集各种不包括行人的200幅以上的图像作为负样本。将采集到的行人图像归一化到大小为108*36的图像,选择经典的方向梯度直方图(HOG)特征提取方法对正负样本进行特征提取,使用svm进行训练,得到一个行人检测器。(在此说明:HOG+SVM是法国研究人员Dalal在2005的CVPR上提出的,用于行人检测,本发明完全使用这个方法。)
本发明S2的方法为:在无人机进行目标跟拍时,首先对拍摄的视频图像进行行人检测,行人检测过程采用滑动窗口(窗口大小为108*36)的方式进行,提取待检框中图像的HOG特征,通过行人检测器进行分类,得到一个是否为行人的分数,若该得分大于0.7,则以此待检测框为候选框。当存在多个候选框时,按照分类器得分高低对行人候选框进行排序,选取其中得分最高的行人候选框作为初次挥手检测的对象。
本发明S3的方法为:
首先根据当前得分最高的行人候选框也即行人检测的窗口来确定一个挥手检测的窗口,挥手检测的窗口大小为36*36,位于行人检测窗口的左上方。两个窗口即挥手检测窗口和行人检测窗口的左顶点分别在x、y轴上相差12个像素。
记无人机拍摄的视频图像为{Pn(x,y)|n=1,2,…N}。无人机拍摄的视频图像是按时间排列的,这里的视频图像中的各幅图像表示的是第一帧、第二帧...第N帧图像。
对视频图像中的各幅图像,都只保留挥手检测窗口区域内的像素值,即令挥手检测窗口外区域的所有像素值均置为0。
从第n(n≥2)帧图像开始,采用3帧差分进行第n(n≥2)帧图像的运动检测,计算公式如下:
Dn(x,y)=Pn-1(x,y)-2Pn(x,y)+Pn+1(x,y)(1)
其中Pn(x,y)、Pn-1(x,y)、Pn+1(x,y)分别表示第n帧图像、第n-1帧图像、第n+1帧图像。
然后使用经典的大律法(otsu)将Dn(x,y)二值化,获得二值运动信息An(x,y)。
接下来在挥手检测区域通过运动历史图像进行挥手检测。本发明提出一种运动历史图像的计算方法,使之更好的表征运动的方向信息,方法如下:
a.定义运动历史图像Hn(x,y),运动历史图像Hn(x,y)是一种关于运动的全局描述方法,其中每个像素点的取值是该像素点的运动时间信息,具体定义如下:
由上式可以看出,运动历史图像的像素灰度变化信息体现出行为运动的方向,最近运动的像素亮度值最大,而运动较久的像素则被清除。所以运动历史图像很好地体现了运动的空间特征和时间信息。
b.边界像素上可能得到错误的方向向量,因此,在使用公式3计算前,首先判断运动历史图像上的每个像素点是否为边界像素,具体做法为:在运动历史图像上,以任一像素点(x0,y0)为中心,大小为3×3的领域中一共有9个像素点,当9个像素点均不为零时,才认为像素点(x0,y0)不是边界像素;否则认为该像素点(x0,y0)为边界像素;
在计算梯度方向时,若像素点是边界像素,则直接将其梯度方向置为0;若像素点不是边界像素,则采用sobel算子计算其梯度方向,也即角度矩阵θn(x,y),如下:
其中是卷积运算。
采用上述方式可以避免边界像素带来的错误影响。
c.计算得到的角度矩阵的范围是0到359,为了简化计算,采用大小为36的直方图。依次对角度矩阵θn(x,y)每个像素进行遍历,统计直方图。然后将直方图的最大值所对应的角度作为该图像的运动主方向ωn。
d.从视频端传过来的图像{Pn(x,y)|n=1,2,…N}中的第二帧图像开始,按照上述方法依次计算每幅图像的运动主方向{ωn|n=2,…,N}。N一般取30。然后计算一个方向索引值:
其中运动主方向在46度和134度之间,判断为右挥手;运动主方向在226度和314度之间,判断为左挥手。
当前30幅图像中非0取值达到15个时,本发明判定存在挥手运动,否则,判定为没有挥手运动。
本发明提出了一种基于运动历史图像的挥手检测方法,首先通过行人检测间接确定挥手检测的区域,然后通过运动历史图像计算该区域的运动主方向,最后判断序列图像中有无挥手运动的发生。本发明提出的方法复杂度小,检测准确度高,适宜用于无人机目标跟拍前的目标确认阶段。
附图说明
图1是本发明的流程示意图;
图2是基于运动历史图像的挥手检测方法示意图;
图3是根据行人检测窗口确定挥手检测窗口的示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步说明。
通过无人机拍摄的区域较大,跟拍对象的挥手区域只占整个画面的一小部分,因此为了准确判断有无挥手动作,首先需要确定一个大概的区域。由于手部区域太小,直接进行手部检测不可行。考虑到挥手动作一般发生于目标的右上方,本发明提出了一种基于运动历史图像的挥手检测方法。
首先训练一个行人检测器,通过无人机上的摄像头对不同行人进行拍摄,一共采集不少于500幅的行人图像作为正样板,参与采集的行人人数不少于100人。然后从网上或者其他各种数据库收集各种不包括行人的200幅以上的图像作为负样本。将采集到的集不少于500幅的行人图像归一化到大小为108*36的图像,选择经典的方向梯度直方图(HOG)特征提取方法对正负样本进行特征提取,使用svm进行训练,得到一个行人检测器。
在无人机进行目标跟拍时,首先对拍摄的视频图像进行行人检测,行人检测过程采用滑动窗口(窗口大小为108*36)的方式进行,提取待检框中图像的HOG特征,通过行人检测器进行分类,得到一个是否为行人的分数,若该得分大于0.7,则以此待检测框为候选框。当存在多个候选框时,按照分类器得分高低对行人候选框进行排序。首先选取其中得分最高的行人候选框作为初次挥手检测的对象,对其挥手区域通过运动历史图像进行挥手检测,如果检测存在挥手行为,则整个挥手检测流程结束,启动后续跟踪程序;如果得分最高的行人候选框没有检测到挥手行为,则对得分第二的行人候选框进行挥手检测,挥手检测方法和初次挥手检测对象的挥手检测方法相同;依此规律,一直到检测出某个行人候选框存在挥手行为或是所有的行人候选框均进行完挥手检测但是均没有挥手行为为止。
接下来介绍本发明提出的挥手检测的具体步骤:
首先根据行人检测的窗口来确定挥手检测的窗口,如图3所示,挥手检测的窗口大小为36*36,位于行人检测窗口的左上方。两个窗口即挥手检测窗口和行人检测窗口的左顶点分别在x、y轴上相差12个像素。
记无人机拍摄的视频图像为{Pn(x,y)|n=1,2,…N}。无人机拍摄的视频图像是按时间排列的,这里的视频图像中的各幅图像表示的是第一帧、第二帧...第N帧图像。
对视频图像中的各幅图像,都只保留挥手检测窗口区域内的像素值,即令挥手检测窗口外区域的所有像素值均置为0。
从第n(n≥2)帧图像开始,采用3帧差分进行运动检测,计算公式如下:
Dn(x,y)=Pn-1(x,y)-2Pn(x,y)+Pn+1(x,y)(1)
然后使用经典的大律法(otsu)将Dn(x,y)二值化,获得二值运动信息An(x,y)。
接下来本发明提出一种运动历史图像的计算方法,使之更好的表征运动的方向信息。运动历史图像Hn(x,y)是一种关于运动的全局描述方法,其中每个像素点的取值是该像素点的运动时间信息,具体定义如下:
由上式可以看出,运动历史图像的像素灰度变化信息体现出行为运动的方向,最近运动的像素亮度值最大,而运动较久的像素则被清除。所以运动历史图像很好地体现了运动的空间特征和时间信息。
采用sobel算子计算运动历史图像每个像素的梯度方向,也即角度矩阵θn(x,y):
其中是卷积运算。
边界像素上可能得到错误的方向向量,因此,在使用公式3计算前,首先判断运动历史图像上的每个像素点是否为边界像素,具体做法为:在运动历史图像上,以任一像素(x0,y0)为中心,大小为3×3的领域中一共有9个像素,只有当9个像素均不为零时,才认为像素(x0,y0)不是边界像素;否则认为该点为边界像素。在计算梯度方向时,若像素点是边界像素,则不用计算直接将其梯度方向置为0;若像素点不是边界像素,则采用公式3进行计算。采用这种方式可以避免边界像素带来的错误影响。
计算得到的角度矩阵的范围是0到359,为了简化计算,采用大小为36的直方图。依次对角度矩阵θn(x,y)每个像素进行遍历,统计直方图。然后将直方图的最大值所对应的角度作为该图像的运动主方向ωn。
从视频端传过来的图像{Pn(x,y)|n=1,2,…N}中的第二帧图像开始,按照上述方法依次计算每幅图像的运动主方向{ωn|n=2,…,N}。N一般取30。然后计算一个方向索引值:
其中运动主方向在46度和134度之间,判断为右挥手;运动主方向在226度和314度之间,判断为左挥手。
当前30幅图像中非0取值达到15个时,本发明判定存在挥手运动,整体流程结束。如果当前行人被判定没有发生挥手运动,则按照行人检测的得分对下一个行人进行挥手检测,一直到检测出挥手运动为止或全部行人均没有挥手。
机译: 一种用于确定当前块的运动信息的方法,一种用于构建和更新基于历史的运动矢量预测器的列表的方法,以及用于编码/解码视频的非暂时性计算机可读存储介质的方法和装置
机译: 预测模式选择方法,一种基于主边的方向性来减少预测模式候选的数量的装置,一种使用该方法的运动图像压缩方法,一种包括该装置的运动图像编码器以及一种编码器执行该方法的程序
机译: 运动历史检测装置,电子设备,运动历史检测方法及控制程序