汪建 方洪鹰
摘要:精细化管控在建设行业中的作用日益突出,其核心是安全质量监管。本文首次将图像处理技术和数据挖掘技术应用到安全监管中,研讨了将码本运算、HOG运算、SVM运算融为一体进行人体图像挖掘的可能性,提出基于多姿态人体安全帽检测技术,并且通过试验证明该算法的实用性和有效性。
关键词:人体识别;码本;方向梯度直方图;支持向量机
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)31-0152-04
Application of Figure Recognition Technology in Safety Production
WANG Jian1,FANG Hong-ying2
(1.College of Computer Science and Technology,Chongqing University of Posts and Telecoms,Chongqing 400065;2.College of Science,Chongqing Jiaotong University,Chongqing 400074)
Abstract:The role of fine management in the construction industry is increasingly prominent, and its core is the safety and quality supervision. In this paper, the image processing technology and data mining technology will be applied to the security supervision at first, and the possibility of human image mining based on the integration of Code Book, HOG and SVM will be discussed as well. At last the human body detection technology based on multi-gesture will be performed and its utility and effectiveness of the algorithm will be proved by experiments.
Key words:figure recognition; code book; hog; SVM
近年来,随着物联网、大数据等技术的成熟和普及,建设行业中的精细化管控手段的作用和重要性日渐突出。现代的安全管控体系衍变成了由“人防”和“技防”相结合的综合监管系统。
精细化管控的核心是安全质量监管,涉及“安全”和“质量”两方面内容,具体落实到生产环节中的“人、机、物料”三个要素,物联网技术在其中起的至关重要的作用。比如:传统的施工设备或配料设备借助于物联网技术,实时的汇报工作状态,出现偏差,可以及时纠正;万一产生问题,保存的历史数据,也可以作为问题溯源的依据。精细化管控等内容非常丰富,本文研究的重点是如何利用现代视频处理技术为施工人员提供安全保障。
随着硬件价格降低和互联网环境的改善,绝大多数建设施工现场都安装配备的摄像头,但是其作用主要是用于防盗和事后查找问题追责。现在我们的目的是要变被动为主动,以图像处理技术和数据挖掘技术为依托对视频大数据进行实时分析,识别出危险行为并加以提醒。
1 系统体系结构
整个安全管控系统分为五个部分:视频数据采集、图像分离、人像特征挖掘、人像库建立和危险行为识别,如图1所示。
图1 安全管控系统系统体系
其中视频数据采集和图像分离两个阶段实现了基础数据的粗加工,视频数据采集模块为系统提供实时的视频信息数据流,图像分离实现了图像中前景和背景的分离,为进一步进行人像的提取奠定了基础。
人像特征挖掘阶段尤为重要,此时系统要将识别出来的物体运行分类定性,可以运用多种数据挖掘方法(监督的和非监督的)进行分类,也可以融入的机器自学习理论运行分类的优化。人像特征挖掘不但要进行人像识别,更重要的是要形成便于存储、传输和共享的人像特征库,便于在多通道视频输入环境下进行各分布式分类器同时进行处理。
上述过程的完成仅仅是实现了从复杂背景图像中提取人像的任务,接下来的任务是对生产环节中人员的着装、佩戴的安全装备和行为动作等关键的安全要素进行识别和处理。
2 图像分离
图像分离技术包括静态图像分离和动态图像分离两个方面。静态图像分离可以采取的手段并不多,主要集中在图像分割技术的讨论,包括阈值分割、区域分割、边缘分割和直方图法。近年针对人体特征的分割技术有了一些进展,出现了Magic Wand[1]、Intelligent Scissors[2]、Active Contour Model[3]、Graph Cut和Level Set[4]等一系列有代表性的算法。但是无论上述哪种算法都是基于单张图像有限的图元信息进行分析,局限性比较大,比如:Graph Cut算法是基于图像的颜色进行分析,如果前景和背景颜色比较接近时,就无法得到完整的人像轮库;Level Set算法无法处理模糊的和有噪声干扰的图像。
本文的数据来源是连续视频信息,可以利用多帧图像信息的关联性将人像从背景中准确的提取出来。提取出来的图像没有背景的干扰,求取出来的特征值将更具有代表性。现有的运动图像前景提取算法包括:背景差分法、帧间差分法、光流法[5]、能量分析法和码本法[6]等。
2.1 光流法
真实的物体运动是在三维空间中进行的,可以用运动场来表示,而视频录像却是二维平面图像,物体的运动是通过计算各个像素点色彩(为了减少计算量,往往采用灰度进行计算)的变化趋势,从而得到运动矢量来体现的。从三维空间到二维平面的映射,即是运动场到光流场(Optical Flow Field)的转换。光流法即是利用多帧连续图像序列来计算各个像素点的运动矢量,从而为真实的运动进行近似估计的方法。
光流法分离前景的最大特点是:该算法能够独立检测运动目标,甚至可以精确地计算出目标的运动速度而不需要任何先验的背景信息。
光流法缺点也比较多。首先是计算繁杂,不适用于对效率要求较高的环境;其次外部光线变化对算法的影响比较大,即使物体没有运动,也能检测到光流;最后如果图像的灰度等级变化不明显,很难检测出运动和识别物体。
2.1 码本法
码本(Code Book)模型处理对象是仍然是连续图像。首先利用颜色失真程度和亮度失真范围相结合的方式将图像各像素量化后用码本表示,将不同时刻图像中对应像素的码本做比较判断,利用减除背景的思想提取出前景运动目标。
颜色失真因子:
[δ=colordistxt,vi=xt2-xt, xi2xi2] (1)
亮度失真因子:
[brightnessI,I,I=trueif Ilow≤xt≤Ihifalseotherwise] (2)
具体算法是为每个像素建立一个编码本,这个编码本里包括一个或者多个码字。进行运动检测时,在编码本里已有的码字中查找当前帧像素点,如果前者中有可以匹配的码字,则该像素点即为背景点;如果匹配失败,那么该像素点即为前景点,即运动目标的一部分。
码本检测算法利用量化和聚类技术来构建背景模型具有鲁棒性强,计算效率高的特点,可以通过迭代更新码本模型来适应背景变化。
3 人体特征挖掘与识别
通过图像分离,所有的活动目标都被区分识别出来了,其中包括人和其他物件。本节将要讨论如何选择合适的特征表述方法对目标进行标识,从而将人体和其他物件区分开来。物体具有的特征的非常多,比如说颜色、轮廓、形状、尺寸和纹理等,本文将选取HOG[7](Histogram of Oriented Gradient)特征作为标志和区分的依据。
方向梯度直方图(HOG)特征是由经过计算和统计的图像局部区域梯度方向直方图构成,在计算机视觉(Computer Vision)和图像处理中常用来进行物体检测的特征描述。
3.1 HOG特征提取算法
1.图像预处理—灰度化;
2.图像颜色空间的标准化和归一化;
3.计算每个像素的梯度值:大小和方向;
4.将图像划分成细胞单元(Cell);
5.统计每个Cell的梯度形成直方图(Histogram),即Cell Descriptor;
6.将每几个Cell组成一个区块(Block),每个区块内所有Cell Descriptor再次归一化便得到该区块的Block Descriptor。
7.图像内的所有区块的Block Descriptor串联起来就可以得到该图像以特征向量表示的Image Descriptor了。
第2步的归一化处理,能对光照变化和阴影获得更好的效果。
第3步通过卷积运算,确定每个像素在水平方向和垂直方向上的梯度分量,计算公式如下:
[Gxx,y=Hx+1,y-Hx-1,y] (3)
[Gyx,y=Hx,y+1-Hx,y-1] (4)
其中[Gxx,y],[Gyx,y],[Hx,y]分别表示坐标[x,y]处像素点的水平方向梯度分量、垂直方向梯度分量和灰度值。然后再计算该像素点的梯度幅值和梯度方向。
[Gx,y=Gxx,y2+Gyx,y2 ] (5)
[θx,y=tan-1Gyx,yGxx,y] (6)
其中[Gx,y]代表梯度幅度值,[θx,y]代表梯度方向。
第4步可以采用矩形(Rectangular)或星形(Radial)结构来划分细胞单元(Cell)。
第5步统计每个Cell的梯度形成直方图,即是求取该Cell的特征向量。根据不同的精度要求,将梯度方向360度([2π])根据需要分割成若干个区间(Section),比方分割成12个Section,每个Section即为30度,然后根据Cell中每个像素点的梯度方向,将其幅值累加到这12个区间中,最终形成能刻画该Cell灰度特征的特征向量。
第6步的Cell组合,可以采取Overlap和Non-Overlap两种策略。Overlap指的是组合出的Block互相交叠,有重合的区域;Non-Overlap指的是Block不交叠,没有重合的区域。因为目前说做所有的分割和组合都带有随机性,以人脸为例,如果采用Non-Overlap方式进行组合,很有可能将人脸上的器官1分为N,直接影响后续的分类效果,但是它的好处是计算量小、速度快;而Overlap则不同,冗余的数据将提高器官完整的可能性,但是缺点是计算量大,因为重叠区域需要重复计算。
总而言之,与其他的特征描述方法(SIFT和PCA-SIFT)相比, HOG算法着眼于图像局部单元(Cell和Block)的计算,受图像几何(Geometric)和光学(Photometric)形变影响比较小。
3.2 SVM分类器
经过HOG运算完成之后得到的特征向量就可以纳入到分类器当中进行分类了,本文选择SVM(Support Vector Machine)分类器进行人体识别。
SVM分类器是基于统计学习的分类算法,在图像识别中得到广泛的应用,其主要思想是:将分类问题转化为寻找训练样本点的一个分割超平面的问题,目的是保证最小的分类错误率。如果样本线性可分,能够将样本完全分开的超平面不止一个,SVM算法的终极目标是找到其中的最优超平面(能使得每类数据中与超平面距离最近的向量之间距离最大的平面);如果样本线性不可分,则是因为其特征向量维度太低引起的,可以通过所谓的核函数(非线性映射算法)将低维向量样本映射到高维特征空间,使其线性可分。本文使用到的SVM最优分类函数是:
[fx=i=1nαiyixiTx+b=i=1nαiyixi,x+b ] (7)
其中[αi]是支持向量的最优系数,[b]是分类阀值。使用核函数提高特征向量维度后进行分类的确可以提高分类的准确性,但是却因为其计算量大,对识别速度会有影响,常见的核函数如下:
线性核函数:[Kx,y=x?y] (8)
多项式核函数:[Kx,y=x?y+1d ,d=1,2,…,n] (9)
高斯核函数:
[Kx,y=e-2x-yσ2] (10)
实际应用中需要根据具体需求,平衡识别的准确率和效率,选择合适的核函数。
3.3 人体识别
人体的识别过程分为两个部分:训练和识别,如图2所示。
图2 人体识别流程
训练过程,首先通过码本分离算法从运动图像中提取出的前景,此时的前景包括了人体和其他物体;然后是通过人工分检,选出各种光照效果下具有典型劳动特征的人体形成训练样本库;接下来计算每一个样本的HOG特征值,并利用这个样本值集合进行SVM训练,使其针对HOG特征具有分类能力;最终构建出人体特征分类器。
识别过程,首先将码本算法得到的前景提取HOG特征值,然后送入到训练过程产生的分类器当中进行分类;最终识别出人体。
4 危险行为识别
随着行业的不同,生产环节中对安全的要求也有所不同,比如:不同工种的着装、佩戴的安全装备和行为动作等都属于安全生产管辖的范畴。本文就以建筑行业的施工环节中安全帽的佩戴作为检测目标,并作为出算法的验证试验。
4.1 人头模型
识别安全帽首先要提取人体的头部信息,可以采取复杂模型:首先进行人脸识别定位人头的位置;然后建立人体躯体模型,找到躯干和四肢;最终完成人体重建。虽然看似第一步就可以通过脸部准确的定位人头,但是此方法在现实中却不可行,因为在工地上具体的施工环节中,不可能让每一个工人都正面面对摄像头进行人脸检测,摄像头中往往得到的是一个背影或侧影。简化模型:首先根据SVM人体分类器中不同工作姿势人体类别,统计各类别中人头的位置和大小比例;然后从待处理人体图像中分离处彩色的人头图像;最后使用颜色直方图进行安全帽的识别。
4.1 模型对比
复杂模型适应于没有进行过前景背景分离的图像,识别的前提是图像中的人体有人脸的正面照,因此识别率较低;简化模型中识别对象是经过了前景背景分离和SVM分类并已经真正分割出来的独立的人体,虽然人体模型简单,但是人头的识别率非常高。
5 实驗及结果分析
为了验证本文阐述的安全管控系统的有效性,特地选取某建筑企业在建工地的钢筋加工车间实时视频监控图像进行分析,原始视频中包含了各种姿态(站姿和蹲姿)的人体,如图3所示。
图3 原始视频图像
图4 码本算法提取前景
图5 膨胀处理
图6 图像分割
图7 遮罩提取
图8 头部
1) 码本算法提取前景。由于码本算法是基于像素点的色彩变化进行统计分析来确定运动目标,受光线等干扰的影响,码本算法采集到的前景区域往往不连通,如图4所示。
2) 膨胀处理。对图像进行膨胀处理的目的是为了扩大连通区域,便于图像分割。膨胀之后的图像如图5所示。
3) 图像分割。采用第2章中所述的静态图像分离算法切割膨胀处理之后的局部连通图,分割出来的去除了背景的单体图像比分割前“意义”更明确,求出的HOG特征向量特征更明显,单体图像如图6所示。
4) 遮罩提取。上述步骤操作的都是对象区域,为了得到原始的分割图像,只需要进行遮罩运算即可,结果如图7所示。
5) 安全帽识别。使用4.1节所述的人体模型提取人头图像,如图8所示。因为安全帽的种类和颜色非常规范, 提供统计建立颜色(红、黄、蓝)分布直方图,即可识别个人是否佩戴安全帽。
上述过程前4步可以实现前景提取,并进行基于SVM的人体特征挖掘与识别。本例构建的训练样本分别为100、300、500张,使用HOG算法进行特征向量提取,并将此特征向量集用于SVM训练,最终得出人体分类器、人头位置和尺寸参数。通过训练好的分类器对测试样本进行检测,实验结果如表1所示。
表1 不同样本空间检测准确率对比结果
[训练样本数\&人体检出准确率\&安全帽检出准确率\&综合准确率\&100\&53%\&86%\&≈46%\&300\&62%\&89%\&≈55%\&500\&84%\&93%\&≈78%\&]
从表中数据可以看出:随着训练样本数的增加,人体检出准确率明显提高,而安全帽检出的准确率受样本规模影响比较小。
6 结论
本文首次将图像处理技术和数据挖掘技术应用到安全生产管理中。研讨了将码本运算、HOG运算、SVM运算融为一体进行人体图像挖掘的具体实现细节,提出基于实时视频流模式的多姿态安全帽检测技术,并且通过试验证明该算法的实用性和有效性,取得了令人满意的结果。
未来的工作是对人像进行跟踪,分析其动作,并抽象提炼出行为,通过对每一种行为的危险系数进行评估,最终实现危险行为识别即做出有害和无害的结论。
参考文献:
[1] Adobe System Incop. Adobe Photoshop User Guide. 2002.
[2] Mortensen E.N, Barrett W.A: Intelligent scissors for image composition [C] Proceedings of the 22nd international conference on Computer Graphics and Techniques. ACM: 191-198.
[3] Caselles V, Kimmel R, Sapiro G. Geodesic contours [C].In Proceedings of IEEE International Conference on Computer Vision. 1995: 694-699.
[4] 王芳梅,范虹,王凤妮.水平集在图像分割中的应用研究[J].计算机应用研究.2012,29(4): 1207-1210.
[5] Sun H, Feng T, Tan T. Robust extraction of moving objects from image sequences[C]. Proc the Fourth Asian Conference on Computer Vision, Taiwan. 2000:961-964.
[6] Kyungnam Kim,Thanarat H. Chalidabhongse,David Harwood,Larry Davis. Real-time foreground–background segmentation using codebook model[J]. Real-Time Imaging . 2005 (3).
[7] Dalal Navneet,Triqqs Bill.Histograms of oriented gradients for human detection. 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition CVPR 2005 .