未标定视频下的动态人体身高测量
2017-11-28张彩霞付焕利
张彩霞,付焕利
北方工业大学 图像处理与模式识别研究所,北京 100144
未标定视频下的动态人体身高测量
张彩霞,付焕利
北方工业大学 图像处理与模式识别研究所,北京 100144
针对视频下的动态人体身高测量过程中,依赖三维场景的结构化信息,或者需要事先对相机进行标定的情况,提出了一种视觉测量算法对未标定视频中的行人身高进行测量。该方法首先利用帧差法提取每帧图像中的人体区域信息,然后由该区域的主轴方向确定人体的头顶点和垂足点,再由头顶点和垂足点形成的两个平行虚拟平面确定水平消失线、由主轴方向确定竖直消失点,最后根据射影变换的交比不变量来确定人体的身高。该方法以人在正常行走过程中身高基本保持不变为合理假设,并且充分利用了视频中的人体运动信息。实验结果表明,测量结果的平均相对误差低于2.2%,能够满足人体身高测量的精度需要。
未标定视频;消失点;消失线;交比;身高测量
1 引言
在刑事侦查、安全监控、行为分析等领域,识别并理解视频场景中行人的行为是非常重要的任务[1-3],而人体的身高是一个重要的参考信息,比如在刑侦案件中,嫌疑人的身高是描述人体的重要特征之一,当视频监控中采用的摄像头分辨率不是很高或者离目标太远时,获取的人体信息,尤其是面部特征往往比较模糊,能够获取的信息可能只能是其身高特征。如在安全监控中,测量到一个人的身高突然发生剧烈的变化,那么可能意味着这个人蹲下或摔倒了,这可以为实施救助或其他行为提供实时的预警功能。基于视频的动态人体身高测量技术恰好可以满足此类需求。相比其他测量方式,如超声波、激光、雷达等,基于图像/视频的测量技术只需对三维场景进行简单地拍摄,获得其图像/视频信息,就可以利用测量软件随时进行离线或在线测量,因此,具有安全性、无接触性、可重复性、价格低廉等多重优势。
按是否需要事先对摄像机进行标定,视觉测量可以分为标定下的测量[4]和未标定下的测量[5-7]。标定下的测量需要借助高精度的特殊标定块如棋盘格等来确定摄像机的内参数和畸变系数,标定过程较繁琐,但具有高精度的优点;而未标定下的测量则无需借助标定块,通过充分利用三维场景中的固定物体如建筑物、桌椅等或运动物体本身的某些结构化信息,如平行、垂直、共线点等内在信息来达到测量的目的,比标定下的测量方法更加灵活,但精度略逊一筹。
Criminisi等人[5]基于未标定的静态图像首次提出了单幅图像测量理论,利用图像中的消失点和消失线信息,以及射影变换中共线四点形成的交比不变的性质推导出度量信息之间的比例关系。该方法需要三维场景中有平行、垂直信息来确定图像中的消失点和消失线。后来Peng Kun等人[8]提出以场景中的规则物体建立欧氏坐标系以便测量其几何量的方法,主要根据投影几何中的约束关系及共线四点交比不变的性质建立约束方程求得目标的长度。该方法仅能准确地测量规则物体的长度,而且对图像的质量有较高的要求,当图像模糊不清或者严重畸变时,测量精度将受到很大影响。
和基于图像的测量相比,利用视频测量身高不仅可以利用视频中的运动信息还可以对每帧的测量结果概率统计,提高测量精度。在基于视频的身高测量方面,董秋雷等人[4]提出的实时测量方法中,采用了混合高斯模型来提取头顶点,然后根据几何约束计算垂足点,最后根据这些特征点以及投影矩阵建立约束方程求出人体高度。该方法鲁棒性高且测量速度快,但是需要事先确定相机参数。后来Park等人[9]根据前景区域的主轴线和前景区域的交点计算出头顶、垂足的特征点,然后在空间中建立参考系以及选取相应的参考点,计算出相机的参数及投影矩阵,根据摄像机基本成像模型求出每帧中行人的身高。该算法测量精度较高,但是整个测量工作并没有充分利用视频中的运动信息。Jiang Mingxin等人[10]根据视频场景中的水平、竖直信息计算竖直方向上的消失点和水平方向上的消失线,然后利用前景区域的主轴线计算头顶点,并根据几何约束求出垂足点,根据共线四点交比不变的性质测出每帧中人的身高,最后优化测量结果。姜明新等人[11]利用场景中的建筑物信息计算竖直消失点和水平消失线,根据人体主轴线和消失点提取每一帧中目标的头顶点和垂足点,最后根据几何约束测量目标高度。由此可以看出,以上方法或者对相机事先标定或者对场景的结构化信息具有相应的要求。
利用未标定下的图像进行实体测量时,确定图像中的消失点和消失线是这一类方法的核心问题,也即拍摄的三维空间中需要显式地包含平行和垂直等几何信息,但有时空间场景缺少这些信息,而且即使含有这些信息,如何在图像中自动地、精确地提取它们的像也是不容易的。针对这种情况,本文在利用图像对人体身高进行测量研究时,注意到人在正常行走时,头顶到地面的高度变化相对很小的客观事实,则所有时刻下的头顶点就形成一个与地平面平行的虚拟平面,而地平面也可以看成是在地平面上的垂足点确定的虚拟平面,且同一时刻下的头顶点与垂足点确定的虚拟线与这两个虚拟平面垂直。因此,形成的虚拟平面和虚拟线就包含了所需的关键的平行和垂直信息。基于此,本文提出了一种新的测量视频中行人身高的方法。该算法的优点是通过利用视频中的人体运动信息,避开了对拍摄场景的结构化要求,使得算法的应用场景更加宽泛。
本文的主要内容是:在第2章详细介绍了单幅图像测量方法的基本理论,第3章阐述了本文算法的详细过程,第4章是算法的模拟实验和真实实验验证,第5章是简要总结。
2 理论基础
本文主要依据Criminisi等人提出的单视测量理论[5],即利用射影变换的不变量-交比来确定平行平面间的真实距离。如图1(a),图中柜子的顶面和底面在空间中是两个平行的平面,要确定二者间的真实距离,需要首先确定这两个平面交线的像,即消失线(Vanishing line),如图1(b)中标示为l的直线所示,以及垂直于这两个平面的方向上的像,即消失点(Vanishing point),如图1(b)中标示为v的点所示。
图1 单视测量原理图
d(⋅,⋅)表示两点间的有向距离。
为了便于说明,分别用符号来表示以上的几何信息,如图1(b)所示,点H 表示顶面上的一个点,点F表示点H在底面的垂直投影点,过相机光心C做一个与顶面平行的平面,该平面与直线FH的交点记为P,另用V表示直线FH方向上的无穷远点,则得到空间中的四个共线点F、H、P、V。这四个空间点的像点分别记为 f、h、p、v,且 p点是消失线l与直线hf的交点。
由射影几何理论可知,在射影变换下,共线四点的交比保持不变,即
其中交比记为:为简单起见,用符号dc表示相机距离地面的高度,dbody表示头顶点距离地面的高度,也即人体的高度。则等式(1)右端变为
因此,得到由图像进行实体测量的核心公式:
由上式可知,若dc已知,则dbody由图像点即可求出。但通常相机高度dc不方便直接获取,这时可以利用场景中某个已知度量信息的参照物利用式(2)先估计出dc,然后再次用式(2)来估计待求的高度。
3 基于视频的身高测量
人体的身高通常是指人体静止直立状态下,头顶最高点到地平面的距离,而在本文中,利用视频去估计身高时,人体是运动状态,则头顶点到地面的距离是有波动的,但是这个波动范围相对于相机与人体之间的距离来说是非常小的,成像到图像上时,像素差是可以忽略的,因此本文给出了这样一种合理的假设,即当行人正常行走时,其身高保持不变,这样就如引言中所述,由多帧下的头顶点和垂足点就可以得到垂直消失点和水平消失线,从而由第1章的理论可求得行人的身高。为了得到视频中行人的头顶点和垂足点,需要首先进行人体的前景提取。
3.1 前景提取
视频前景提取的方法主要有帧间差分算法、背景差分算法、混合高斯模型等,采集的视频受光照变化和其他噪声影响较小,为了保证算法的实时性,本文将采用背景差分法来提取视频帧的前景(即人体)区域,即
其中,frm(x,y)表示当前帧,backfrm(x,y)表示固定的背景帧,forefrm(x,y)表示对当前帧提取的前景区域,如图2所示,图(a)为要提取轮廓的当前帧,图(b)为固定的背景帧,图(c)为对当前帧提取的前景区域。
图2 前景提取
3.2 提取人体头顶点和垂足点
本文采用了与文献[9]中类似的方法来提取头顶点和垂足点,如图3所示,头顶点和垂足点形成的直线对应于前景区域的像素点集合的第一个主成分,因此可以通过前景区域的协方差矩阵的特征值和特征向量计算得到,e1、e2分别为求得的第一、第二特征向量,pc表示前景区域的中心。如图4所示,由e1和 pc即可求出主轴线lp,lp和前景区域的外接矩形交于点h,f,认为h,f就是头顶点和垂足点。
图3 计算主轴线
图4 头顶点和垂足点、特征向量
3.3 视频帧的高度测量
本文中,主要基于这样的合理假设,即人在正常行走于地平面上(没有跑、跳、蹲等,如图5(a))时,头顶点始终处于同一虚拟平面上,且该虚拟平面与地平面是平行的,而在同一时刻下,由人体头顶点和垂足点确定的虚拟直线,即人体的主轴线可以认为是垂直于地平面的。因此头顶虚拟平面和地平面的交线的像即是水平方向上的消失线vl,而所有帧的人体主轴线的交点的像即是竖直方向上的消失点v。因此在竖直方向上,对所有的主轴线(如图5(c)中的黄色直线)采用最小二乘法拟合求出v。在水平方向上,如果视频中人沿不同方向行走,如图5(b),那么对于在同一方向的多个相邻点(在头顶点轨迹或垂足点轨迹中),可以拟合出一条直线,因此,对于图5(c)中所示的两组对应曲线(红色和蓝色曲线),每拟合出同一方向上的一组平行线,就会得到一个水平消失点,由这些消失点可以拟合出水平消失线vl。
图5 虚拟平面形成图
然后利用第1章的单视测量理论来估计每帧下的人体身高。如图6,当前帧中人体的主轴线l和水平消失线vl交于点 p,同样的,参照物的主轴线lr和水平消失线vl交于点 pr,h,f,hr,fr分别表示当前帧中人的头顶点和垂足点,参照物的上、下顶点,由公式(2)得到当前帧中行人的高度为:
其中dref表示参照物的真实高度。
图6 根据已知的参照物高度求身高
本文算法的完整流程如下所示:
算法 未标定视频下的动态人体身高测量
输入 行人视频数据、参照物高度。
输出 行人身高。
(1)提取视频中每帧图像的运动前景——行人。
(2)确定图像中的人体头顶点和垂足点:估计每帧或关键帧中人体的主轴及区域外接矩形,获得二者的交点。
(3)估计水平消失线和垂直消失点:整合所有帧或关键帧的头顶点和垂足点,由头顶点轨迹、垂足点轨迹确定水平消失线;由每帧的头顶点和垂足点确定垂线,再由多帧下的垂线交点确定垂直消失点。
(4)确定每帧图像中的共线四点:头顶点、垂足点、垂直消失点、主轴与水平消失线的交点。
(5)由交比不变性估计每帧中的人体高度:利用文中式(3)即得。
(6)输出每帧的人体高度,统计结果分布,得到最终的人体身高。
3.4 实验结果
为了验证算法的可行性,分别进行了模拟情况下和真实场景下的实验。
3.4.1 模拟实验
模拟的相机焦距为fc=[2 152;2 152],光心cc=[1 347;893],每帧图像的分辨率720×1 280,旋转向量omc=[1;5;1],平移向量T=[1 000;2 000;3 000],如图7所示,y1、y2、y3代表的线段均为空间中人的行走轨迹,对应的自变量取值范围为x1∈[200,800]、x2∈[800,1 200]、x3∈[200,1 200],红色线段代表空间中头顶点所在的直线,蓝色代表垂足点所在直线,粉色点代表参照物上下顶点,以5 cm为步长在行走轨迹上选取头顶点和垂足点,zi=168(i=1,2,3)表示模拟的人身高为168 cm,空间中参照物上下顶点坐标分别设为xrh=[200;320;30],xrf=[200;320;0]。对空间点和图像点分别加高斯噪声,噪声的方差从0到5,间隔为0.5,同一噪声下分别进行1 000次实验。实验结果如图8所示,(a)表示对空间点加噪声对精度的影响,(b)表示对图像点加噪声对精度的影响,图中蓝色‘*’代表测量高度相对误差的均值,粉色‘*’表示测量高度相对误差的均方差,当没有噪声时,测量结果是没有任何偏差的,说明算法是可行的,而当噪声逐渐增加时,均值和均方差都在增大,当噪声水平在1个像素以下时,误差均值在2%左右,与后面的真实实验相符。此外,对比(a),(b)图可以发现,对空间点加噪声导致的误差均值幅度要高于只对图像点加噪的结果,但在均方差方面二者却相反,这说明相对空间点而言,测量结果对于图像点的定位精度的抗干扰能力更强,但在稳定性方面,测量结果对于空间点的精度却更稳定。
图7 模拟实验的空间点
图8 模拟实验结果
3.4.2 真实实验
在室外,用DSC-W800相机拍摄了一系列行人的视频信息,其中视频中每帧图像的分辨率为720×1 280。采集视频时,相机保持不动,场景中的参照物是图9中的纸箱,实际高度为23.8 cm。参照物在图像上的上下顶点手工提取(图9中两个红色点)。文中视频数据都是在简单静态场景下的,视频采集时前几帧图像只含背景,并没有行人、光照变化等,所以获取的背景图只是对前几帧图像的平均结果。首先对采集的视频进行前景提取,图10(a)表示采集的行人的视频帧,图10(b)是对相应视频帧提取的轮廓,之后计算所有帧中的人体主轴线、头顶点和垂足点,进而测得每帧中行人的身高,图10(c)是对相应帧中行人测量的身高。本文的测量方法是对视频的每一帧均可测量身高,图11是得到的身高曲线图,红色的点代表测得的各帧中人的身高值,蓝色直线代表所有帧的测量高度的平均值,绿色直线代表视频中行人的真实身高,从图中可以看出,真实身高和测得的平均身高相差1 cm左右。
图9 背景图像
图10 测量结果图
图11 身高曲线图
受篇幅所限,表1只给出了10位行人的测量结果,“真实身高”是采集视频前用皮尺人工测量的实际高度。针对每组视频均计算所有图像序列的人体高度,为了提高测量精度,对每组视频的所有测量结果进行统计,得到各个不同测量区间出现的频率,剔除频率小于10%的测量值。“测量高度”是指该组中所有频率不小于10%的测量值,“所占百分比”是指“测量高度”占该组视频所有测量高度的百分数,“平均相对误差”是对该组视频测量的所有高度和真实身高的相对误差的平均值,从表中可以看出,“测量高度”和“真实身高”非常相近,而且“平均相对误差”不超过2.2%,绝大多数在1%左右。
表1 测量结果及其误差
4 结论
本文提出的动态人体身高测量方法无需相机标定,也避开了对拍摄场景的结构化要求,充分利用了人体的运动信息,通过构造的虚拟水平面和虚拟垂直线来代替场景的平行和垂直等结构化要求,因此算法的实用性和灵活性更强。虽然实验结果能够基本满足实际需要,但是在前景的提取、算法的实时性和稳定性方面仍需进一步地深入研究和探讨。
[1]Kumar N,Belhumeur P N,Biswas A,et al.Leafsnap:A computer vision system for automatic plant species identification[C]//European Conference on Computer Vision-ECCV 2012.BerlinHeidelberg:Springer,2012:502-516.
[2]Buch N,Velastin S A,Orwell J.A review of computer vision techniques for the analysis of urban traffic[J].IEEE Transactions on Intelligent Transportation Systems,2011,12(3):920-939.
[3]Vu A,Ramanandan A,Chen A,et al.Real-time computer vision/DGPS-aided inertial navigation system for lanelevel vehicle navigation[J].IEEE Transactions on Intelligent Transportation Systems,2012,13(2):899-913.
[4]董秋雷,吴毅红,胡占义.基于视频的实时自动人体身高测量[J].自动化学报,2009,35(2):137-144.
[5]Criminisi A,Reid Anid I,Zisserman A.Single view metrology[J].International Journal of Computer Vision,2000,40(2):123-148.
[6]Shao J,Zhou S K,Chellappa R.Robust height estimation ofmoving objectsfrom uncalibrated video[J].IEEE Transactions on Image Processing,2010,19(8):2221-2232.[7]Guo F,Chellapppa R.Video metrology using a single camera[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2010,32(7):1329-1335.
[8]Peng Kun,Hou Lulu,Ren Ren,et al.Single view metrology along orthogonaldirections[C]//InternationalConference on Pattern Recognition,2010:1658-1661.
[9]Park S W,Kim T E,Choi J S.Real-time estimation of trajectories and heights of pedestrains[C]//IEEE International Conference on Information Science and Applications,2011:1-8.
[10]Jiang Mingxin,Mu Fangshun,Wang Hongyu.Height measurements of moving people based on single camera[C]//IEEE International Conference on Awareness Science and Technology,2011:63-67.
[11]姜明新,王培昌,王洪玉.基于视频多目标跟踪的高度测量算法[J].电子学报,2015,43(3):591-596.
ZHANG Caixia,FU Huanli
Institute of Image Processing and Pattern Recognition,North China University of Technology,Beijing 100144 China
Visual metrology for height of pedestrian from uncalibrated video.Computer Engineering and Applications,2017,53(21):162-166.
Considering that measurements of the pedestrian’s height from video usually depend on the knowledge of 3D scene information,or the camera’s internal calibration,a visual metrology algorithm is proposed to measure the height of a pedestrian in the uncalibrated video.Firstly,the foreground pedestrian is extracted in each frame image by simple frame difference algorithm.Then the major axis of the foreground is estimated to determine the pedestrian’s top(head)and bottom(foot)points,and two parallel virtual planes are constructed by the top/bottom points to determine the horizontal vanishing line,while the vertical vanishing point is obtained by the intersection of the major axes.Finally,the pedestrian’s height is estimated by the cross ratio theorem.This method is based on the reasonable hypothesis that a pedestrian’s height has very small difference during the normal walking process,and uses motion information sufficiently.Experimental results show that the average relative error is less than 2.2%,so the precision can achieve the requirement.
uncalibrated video;vanishing point;vanishing line;cross ratio;height measurement
A
TP391.41
10.3778/j.issn.1002-8331.1605-0120
国家自然科学基金(No.61503004)。
张彩霞(1977—),女,副教授,博士,主要研究方向:计算机视觉中的摄像机定位、标定及其三维重建理论及应用研究;付焕利(1988—),女,硕士研究生,主要研究方向:计算机视觉中的摄像机标定及视频下的人体身高测量理论及应用研究,E-mail:fuhuanli09@163.com。
2016-05-11
2016-07-15
1002-8331(2017)21-0162-05
CNKI网络优先出版:2016-09-29,http://www.cnki.net/kcms/detail/11.2127.TP.20160929.1650.040.html