基于Photoshop消失点功能测量画面中目标人物身高的实验研究
2019-10-31代雪晶
徐 斌,代雪晶
(中国刑事警察学院,辽宁 沈阳 110035)
随着计算机技术的不断进步,视频监控系统被广泛运用于刑事侦查、行为分析、异常情形预警、安全事件的事后调查等方面并发挥着重要作用。如何通过监控对目标人物的身高进行准确测量是亟待提高的关键技术。目前,结合办案情况,普遍运用的测量方法有软件测量法、现场重建法与透视作图法,笔者将提出一种新的测量方法,即基于新版Photoshop 中消失点功能的测量法。通过建立图片的三维透视图,在三维透视图中移动目标人物到合适位置,根据目标人物与标定物的比例关系,得出目标人物的实际身高。由于现实生活中,视频监控受到环境,设备,人为等因素的影响,图像达不到准确测量目标人物身高的标准,所以在测量之前需要对图片进行预处理。在测量方面,将着重介绍消失点测量法,并与传统的透视作图法进行实验比较分析,探讨两方法的适用范围与相关注意事项。
一、研究现状
2008年,李苑在《单幅画面中嫌疑人身高测判方法比较》一文中介绍了3 个测量身高方法,分别是透视作图测量法、现场重现法和软件测量法。文中李苑指出各个测量方法的优劣,提出这3 种测量方法不是“精确测量”,仍是“概略测量”,测量所得的身高也不是目标人物的实际身高,而是姿态的身高[1]。2012年,赵秀萍、王云、宋军提出一个利用Photoshop 消失点功能测量视频图像中人体身高的方法,具体步骤是校正图像垂直线,将人体与背景分离,确认人体的身高线段,利用消失点功能测量人体身高[2]。笔者认为,此方法存在一定的局限性,文中介绍的消失点测量法是通过人体身高的线段及头部和脚部的水平线建立一个同时垂直于墙面和地面的新平面,然后画出新平面与墙面相交的线段[3],最后根据线段的两端长度测算目标人物的高度。如果该相交线段不在合适的参照物上,即人与参照物不在同一平面上,该方法就失效了。此外监控图像难免会出现透视变形、桶形畸变、枕形畸变、鱼眼变形等图像退化,此时消失点测量法该如何测量,文中并未涉及。笔者将该消失点测量方法进行改良,适用目标人物、参照物不在一个水平面且相距较远的情形和监控图像出现明显退化的情形。另外,2018年,马晓赟在《视频监控中人体身高识别关键技术研究》一文中详细介绍了透视作图测量法,提出透视作图法测出的是人的姿态身高,误差在2 厘米左右[4]。可见,透视作图法测量精确度有提升空间。
从知网的搜索结果来看,关于画面中目标人物的身高测量方面的论文仅有10 余篇。通过文献分析发现现有研究遇到的可改进问题有以下几点:首先,文章都在结语中提到图像的变形对最后测量数据存在影响,但是未对图片预处理方法进行总结概括;其次,目标人物的垂足点与头部顶点的选取为人直接标选,存在较大的主观成分;最后,缺少身高测量方法之间的系统比较研究。本文试就此做出改进。
二、视频监控画面的预处理
由于受到监控设备、光照条件等因素的影响,视频监控画面质量往往达不到准确测量目标人物身高的标准。因此,在测量目标人物的身高之前,需要对视频监控图像进行预处理,主要处理方法有图像增强、色彩调整、镜头校正、图像复原和MATLAB 函数等。
笔者总结概括了图像降质环节和降质因素,并介绍使用Photoshop 与MATLAB 两个软件解决图像降质的方法,具体如下[5]:
三、视频监控画面中目标人物的身高测量方法
人的身高在一个特定的时间段内是稳定不变的,所以身高是视频监控中人身同一认定的基本参数。
在视频监控的画面中,目标人物的身高值一般是指头部顶点与垂足点连线的长度。找到头部顶点和垂足点位置是准确测量的关键,董秋雷等人提出的实时测量方法采用混合高斯模型来提取头部顶点、垂足点;Jiang Mingxin 等人利用前景区域的主轴线计算头部顶点,并根据几何约束求出垂足点;张彩霞等人巧妙避免主观选取头部顶点与垂足点的环节,在头部顶点形成一个与地平面平行的虚拟平面,该平面与地平面的垂直距离就是人的身高[6]。
图1 视频监控原始图像Fig.1 Video surveillance original image
其次,在视频监控画面中不可避免地会存在一些干扰测量的因素,需要根据图片的情况,按照上述视频监控画面的预处理方法进行相应的预处理。如图1 所示,门出现了桶形形变,另外还存在光线条件差、色彩对比度低分辨率低等情况,需要进行预处理。处理过程如图2、3、4 所示。
图2 镜头矫正处理后的图像Fig.2 Lens corrected image
图3 色调均化与阴影/高光处理后的图像 Fig.3 Tonal homogenization and shadow/highlight processed images
图4 自由变换去倾斜后的图像Fig.4 Freely transforming the image after tilting
在找到头部顶点和垂足点,以及对视频监控画面预处理后,笔者将介绍身高测算方法。目前,结合办案情况,普遍运用的测量方法有软件测量法、现场重建法、透视作图法,以及近些年出现的消失点测量法。相较于透视作图法和消失点测量法而言,现场重现法与软件测量法适用的场合较少,操作复杂而不易掌握,不适合于基层办案需要。所以,笔者将着重介绍透视作图法和消失点测量法。
(一)透视作图法
监控视频的原理是光学成像,将三维空间转换成二维画面,存在近大远小等透视现象。人可以在监控视频中随意地走动,二维画面中目标人物的影像高度也随之变化,人眼无法直接读取身高值[4]。但是监控视频中的某些物品位置是固定的,如门、窗、画框等,这些固定物的实际长度可以在现场直接测量得到。透视作图法通过研究图像的透视规律,寻找目标人物身高与参照物的长度比例关系,算出目标人物的身高值。透视作图测量法大致有以下几个步骤:
1.延长一组平行线相交于一点,此点为该平行线方向“消失点”,也称为“灭点”。
2.视计算需要,作出不同方向的“消失点”,根据“消失点”绘制画面相关透视图。
3.画出目标人物的头部顶点与垂足点,确定身高线段。
4.寻找合适的透视关系,找到身高线段与参照物的长度比例关系。
5.现场测量参照物的实际高度,在画面上测量目标与参照物的画面长度数据。
6.将取得的数据代入比例关系中,计算出目标人物的实际身高。
图5 使用Photoshop 绘制灭点(消失点),根据比例关系求值Fig.5 Use Photoshop to draw vanishing points and evaluate them according to the proportional relationship
如图5 所示,直线A、B 是一组平行线,直线C、D、E 是一组平行线,平行线之间的距离处处相等,所以身高线段L1、L2、L3 都可以表示目标人物的身高。利用Photoshop 的量尺工具测得线段ab=20.70,线段ac=25.90,已知门高226cm,带入公式计算得出目标人物的身高为180.63cm,与实际身高183cm相比,误差较大。
(二)消失点测量法
消失点是Photoshop 滤镜中的功能,允许在透视平面上(楼道墙壁或者任何矩形对象)的图像中进行透视校正编辑,也可以按照透视的原理进行测量。
利用消失点测量目标人物的操作步骤有:
1.对图像进行预处理
由于监控的安装位置不正,拍摄画面可能会倾斜,则需要利用Photoshop 的“变换(A)”进行旋转调整。如果图像出现变形,可以按照第二段总结的预处理方法进行处理。如图6、图7 所示。
图6 监控原图(存在退化)Fig.6 Degraded original image
图7 旋转-0.92,扭曲+6Fig.7 Rotate -0.92,twist +6
2.将人体和背景分离,确定人体的身高线段
人体的身高取决于头部顶点与垂足点的提取。下面介绍两种身高线段提取的方法:
(1)利用MATLAB 工具箱中的sobel 算法、prewitt 算法、log 算法进行边缘检测,选取最高点。如果两只脚的边缘轮廓是两块不连通的区域,那么在两段曲线边缘上取纵坐标最大的两个点,两点的连线记为M,过最高点做连线M 的垂直线段L,L 为人体的身高线段。如果两只脚的边缘轮廓是连通的区域,在这曲线上选取横坐标最小的一点与最大的一点,两点连线记为M,过最高点做连线M 的垂直线段L,L 则为人体的身高线段。
(2)利用Photoshop 滤镜中的消失点功能,建立地面的平面A,使平面的一边紧贴目标人物的垂足点,然后将鼠标光标放在边上圆点上按住“Ctrl”拉出一个平面B,此时平面A 与平面B 垂直。平面B的上边缘与目标人物的头部特征点相平行。平面B 上的竖直边P 就是目标人物的身高线段P,如图8 所示。
图8 消失点窗口绘制的平面A、B 与身高线段PFig.8 Plane A,B drawn by the vanishing point window and height line segment P
3.利用消失点测量目标人物的身高
首先选择消失点命令,建立地面A、人体所在平面B、墙壁平面C 的三维系统;选取身高线段P平移到墙壁所在平面C 与平面B 的相交处,记为线段H。然后,在墙壁平面C 上寻找合适的参照物,调整平面C 的竖直边,让平面C 的宽度等于线段H的长度,然后在平面C 上平移线段H 到合适的参照物上,此时线段记为H’。最后根据身高线段与参照物的比例关系算出目标人物的身高。
4.图像失真严重的情况
如果图像失真较严重且地面的参照物特征点较好(记一平面D 分别与地面A、人体所在平面B垂直,平面A,B,D 两两垂直,由于监控画面存在失真现象,平面D 与墙面C 不完全重合,如图9 所示)。平面D 与平面B 的交线为M,线段M 是人物身高线段(平面B 的上边缘与下边缘分别经过人的头部顶点与垂足点,线段M 与线段P 长度相等),接着调整平面D 的宽度,使平面D 的宽度等于线段M 的长度,这样平面D 上每一条垂直的蓝色辅助线的长度都能表示为目标人物的身高,如图9所示。然后,把鼠标光标放在平面D 上边缘的圆点处,按住“Alt”旋转,使得平面D 与墙壁平面C 贴合。最后,把光标放置在平面C 的ab 边上进行拖动,从而拉升平面C 的长度,使得ab 边与参照物重合。ab边记为M’,根据身高线段M’与参照物的比例关系算出目标人物的身高,如图10 所示。
图9 线段M 是人在平面D 上的投影Fig.9 Line segment M is the projection of a person on plane D
图10 平面D 与墙壁贴合时人的投影M’Fig.10 The projection M' of the plane D when it fits the wall
画面中目标人物的测量高度M’=10.05,画面中门的高度ac=12.4,门的实际长度226cm。利用公式算出目标人物的实际身高为183.17cm,与183cm的实际身高差距不大。
四、消失点测量法与透视作图法实验结果比较与分析
(一)实验目的
利用Photoshop 消失点测量法与透视作图法对不同的画面中目标人物的身高进行测算,比较这两种方法的误差大小并分析产生误差的原因。
(二)实验场景与目标人物的选择
场景一与场景二为楼道监控拍摄所得,背景画面较复杂,地面平整,有参照物,至少存在一个“消失点”,Photoshop 消失点测量法与透视作图法均能够测量目标人物的身高。场景一与场景二画面均存在变形,光照条件不好,需要进行预处理。目标人物与画面背景反差不大,需要提取垂足点与头部顶点。
目标人物A、B、C、D 身高不同,与参照物(门)不在同一平面内,离参照物的距离有近有远。因为测量的目标人物的身高是人物姿态的高度,所以目标人物A、B、C、D 尽量保持直立,避免低腰、跑步等姿态变化对身高测量产生的误差。
(三)实验步骤和实验结果
采用本文第三部分介绍的方法和步骤进行目标人物身高的测量。实验结果如表1、表2 所示。
表1 场景一中消失点与透视法计算出的目标人物的身高与误差Table1 The height and error of the target person calculated by the vanishing point and the perspective method in scene one
表2 场景二中消失点与透视法计算出的目标人物的身高与误差Table2 The height and error of the target person calculated by the vanishing point and the perspective method in scene two
(四)实验分析
1.消失点测量法的误差分析
首先,消失点测量法要求地面平整,根据墙角线或矩形瓷砖的边缘等特征线段建立起关于地面的平面。如果画面中没能清楚地显示特征线段,则建立出的平面不能准确反映画面的透视关系,对后续的目标人物的测量会产生影响。其次,监控摄像头拍摄的画面不可避免会出现失真的退化,对于严重失真的图片很难校正为正常图片,这对消失点测量也会产生影响。最后,目标人物离镜头较远,人身小且像素低,人在读取数据时难免存在一定的主观性。
2.透视作图法的误差分析
透视作图法的关键在于寻找灭点,有的监控画面没有合适的参照物以至于画不出灭点,或是监控的偏移角度太大,灭点离开画面太远。灭点远导致选取头部顶点与垂足点时产生的误差成倍增大,同时也加大了作图的难度。此外,镜头焦距的长短、拍摄距离的远近、仰俯角度的大小和画面的透视变形也会影响测量的精度。
五、结语
实践证明,利用Photoshop 的消失点测量法对站立状态下静态身高值测量误差最小,假定作图规范,误差可以小于1cm,而且方便快捷。透视作图法测量的工作量较大,与Photoshop 画图功能相结合,可相应减少工作量。相较于透视作图法而言,消失点测量法局限性较小,对失真退化的图像预处理后,消失点测量法也能较准确得到目标人物的身高值。此外,我们还要综合考虑目标人物的动作是否导致身形变化、身体是否被遮挡、鞋子是否带增高等情形,才能对目标人物的实际身高作出准确判断。