胡江华,汤 进,2,李成龙,罗 斌,2
(1.安徽大学计算机科学与技术学院,安徽 合肥 230601;2.安徽省工业图像处理与分析重点实验室,安徽 合肥 230039)
近年来,视频监控系统以其直观、方便、信息内容丰富而应用于智能安防、交通、军事、城市治安等多个领域。行人是视频监控中的主要目标,获得更加精确的行人信息对事前防范和事后取证有着重要作用,因此行人分割在视频监控系统中有着重要的应用价值。
视频图像的行人分割能够更加精确地获得行人信息,而自动式的行人分割不仅减少了系统工作人员的工作量,而且能够实现视频监控系统的智能化。自动式分割是指给定处理的图像,无需用户的交互,直接从图像中获得分割目标。该方法由于缺少用户的指导,没有用户给定的先验信息,分割的难度相对较大。
传统的图像分割方法如魔法棒(Magic Wand)、水平集(Level Set)、智能剪刀(Intelligent Scissors)、Normalized Cuts(N-cuts)、Graph-Cuts等[1-5]都是交互式的图像分割,需要人工操作,不可能实现视频监控中的行人分割。Rother Carsten等人提出的 Grab-Cut[6-8]只需用户提供包围盒作为交互信息,极大地减少了用户的交互(只需提供包围盒的左上点和右下点坐标即可)。Navneet Dalal和 Bill Triggs提出的HOG特征[9-11],使用图像的梯度和边缘信息,并结合SVM分类器,在行人检测中取得了极大的成功。Varun Gulshan提出的分割方法[12],使用HOG特征预测人体轮廓,并结合GrabCut进行精确定位分割。
本文提出的 HOG+GrabCut的自动式行人分割算法,把HOG行人检测的结果作为GrabCut的预分割信息,能够实现自动式的行人分割,在分割过程中不需要用户的操作,并且能够获得较满意的分割结果。
自动式行人分割主要由2部分组成:基于HOG行人检测的预分割和基于GrabCut的精确分割。文献[6]提出的GrabCut算法分割效果较好,但是需要手工提供包围盒,在视频监控应用场景中,要求自动完成行人的分割,因此不能直接使用GrabCut方法。针对这一问题,本文首先用HOG梯度方向直方图对行人进行检测,得到一个包含行人的包围盒,变手动为自动;然后,使用GrabCut算法进行前景提取,得到精确的人体分割结果。
梯度方向直方图特征(Histograms of Oriented Gradient,HOG)是 Navneet Dalal和 Bill Triggs 2005年在文献[9]中首次提出的。HOG特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。
在一幅图像中,局部目标的表象和形状能够被梯度或边缘的方向密度分布很好地描述。具体实现方法是:首先将彩色图像转换为灰度图像,灰度图像分成小的连通区域,称为单元格;然后采集单元格中各像素点的梯度的或边缘的方向直方图,一般将直方图分为9级。计算每个单元对应的用梯度幅值加权的梯度方向直方图。将所有单元格在块上进行归一化,得到HOG描述符;将检测空间所有块的HOG特征串联起来,组成最终的特征向量供分类使用。
HOG行人检测先获得正负样本的HOG特征,然后用线性SVM进行训练,得到一个分类器,进行行人的检测。
在用HOG进行行人检测后,得到一个包围盒,使得行人恰好处于包围盒内。这里只考虑单目标的行人检测,其中包围盒的大小可以调整。实验中包围盒能完全包围行人,如图1中的小矩形包围盒。以小矩形包围盒为中心,将小矩形包围盒放大1.25倍,得到一个大矩形包围盒。为了降低算法的时间复杂度,实验中只考虑大矩形包围盒内的图像,将大矩形包围盒内小矩形包围盒外的像素作为背景,图像的其余部分被舍弃,如图1所示。
图1 原视频图像
GrabCut算法是 Rother Carsten[6]等在2004 年提出来的,用于前景提取。该算法利用图像中的纹理(颜色)信息和边界(反差)信息,它是基于迭代的GraphCut的前景提取算法,只要少量的用户交互操作即可得到较好的分割结果。
GrabCut算法主要包括彩色数据建模和通过迭代实现能量最小化,得到分割。
在用HOG行人检测后,得到一个行人的包围盒,即图1中的小矩形包围盒,将大矩形包围盒内小矩形包围盒外的像素作为背景,小矩形包围盒内的像素作为前景,得到初始的预分割信息。然后建立前景和背景的高斯混合模型(Gaussian Mixture Model,GMM)。其中Gibbs能量函数为:
式(1)中,α=0表示背景,α=1表示前景;θ为图像前景与背景的灰度直方图;z为图像灰度值数组,式(1)主要受GMM变量k影响。引入GMM的彩色数据模型,其数据项定义为:
其中,n 是像素个数,D(αn,kn,θ,zn)= - log P(zn|kn,α,θn),P(z|k,α,θ)=,则模型参数为:
平滑项用欧氏距离计算得到:
然后,通过迭代实现能量最小化,得到最终的分割结果。基于HOG+GrabCut的自动式行人分割算法的实验步骤如下:
输入:源图像I;
输出:分割结果。
步骤1 用HOG行人检测算法对源图像I进行行人检测,得到一个包围行人的包围盒;
步骤2 初始化,将小矩形包围盒内的像素设置为前景,小矩形包围盒外大矩形包围盒内的像素设置为背景,舍弃大矩形包围盒外的像素;
步骤3 根据初始化的前景和背景信息,分别构建前景和背景的GMM模型;
步骤4 求得大矩形包围盒内的每个像素n所对应的GMM参数;
步骤5 用最大流/最小割算法进行分割;
步骤6 返回步骤4重复执行,直至能量最小化收敛。
原始的GrabCut算法需要人为地给出一个包含目标的包围盒或者人为地标定一些前景和背景像素。在本文提出的方法中,利用HOG行人检测就可以得到包含行人的包围盒,避免了人为手动标注,实现自动式分割。在实验中迭代4次就能获得比较满意的分割结果。
为了验证本文方法的有效性,在2.20 GHz CPU,2GB内存的 PC机上,以.NET为实验平台,以 Microsoft Visual Studio 2005为实验环境,利用C#语言进行实验。对视频中的彩色图像,使用OpenCV中提供的HOG进行行人检测。其中HOG参数设置为:胞元cells大小为8×8,块block大小设置为16×16,窗口大小为64×128,窗口的块滑动增量设置为8,梯度方向数为9。实验结果如图2~图5所示,其中图2为原图像,图3为本文算法的分割结果,图4为原始Grab-Cut方法的分割结果,图5为背景减除法的分割结果。
图2 原图像
图3 本文算法的分割结果
图4 原始GrabCut方法[6]的分割结果
图5 背景减除法[13-14]的分割结果
为了更加准确地描述分割结果,本文采用文献[12]提出的重叠分数作为分割效果的评价准则。2个二值分割y1和y2之间的重叠分割定义为(y1∩y2)/(y1∪y2)。将交互式GrabCut算法的分割结果作为标准,使用该方法分割图像得到的结果与标准结果进行比较,计算重叠分数。重叠分数越大,表示分割效果越好。实验中取85幅图像做实验,计算得到它们的平均重叠分数和标准差,如表1所示。
表1 本文算法在不同图像上分割的平均重叠分数
从图3和表1可以看出,基于HOG+GrabCut分割能基本上将人都分割出来,分割效果与原始Grab-Cut[6]的效果相当,能基本上满足应用需求。与视频检测中常用的背景减除法[13-14]相比,本文提出的算法不需要提供和源图像尺寸相同的背景图像,能够实现自动分割,并且分割效果优于背景减除法的效果。当背景与前景相似时,本文方法会将部分前景会被分割成背景,如图3的(a)和(b)中行人的鞋子部分;在图3(f)中,由于部分背景区域在小矩形包围盒内,而不在小矩形包围盒外,故误将该区域分割成前景。背景减除法的效果依赖于背景图像的获取和阈值的选择,实验中阈值为128,表示差值大于128的像素为目标。
其中,HOG行人检测所需时间为平均2秒多,GrabCut分割所需时间为平均2秒不到,算法所需的平均总时间为4秒。
本文提出了一种新的视频监控中的自动式人体分割算法,在现实应用中有着重要的意义。实验表明,基于HOG+GrabCut的自动式行人分割算法能够实现自动式分割,并且分割效果比较满意。与传统的交互式分割算法相比,本文算法分割过程简单,不需要用户交互也能获得较满意的分割结果。当背景与前景相似性比较大时,由于缺少用户交互,分割效果不是很满意。
在今后的工作中,笔者将致力于解决当前景与背景相似时分割效果不理想的问题,并实现基于GPU的HOG+GrabCut分割算法,设计出一种并行的自动式人体分割算法,实现更加快速地自动式分割。
[1]石娟峰.基于视频的行人检测和跟踪[D].北京:北京邮电大学,2012.
[2]Boykov Y,Veksler O,Zabih R.Fast approximate energy minimization via graph cuts[J].IEEE Trans.on Pattern Anal.Mach.Intell.,2001,23(11):1222-1239.
[3]李石峰.静态图像人体分割算法的研究[D].大连:大连理工大学,2012.
[4]Antong Chen.Graph Cuts Approach to the Problems of Image Segmentation[DB/OL].http://wenku.baidu.com/view/d60f71a00029bd64783e2cda.html,2013-03-12.
[5]张展鹏,朱青松,谢耀钦.数字抠像的最新研究进展[J].自动化学报,2012,38(10):1571-1584.
[6]Rother C,Kolmogorov V,Blake A."GrabCut":Interactive foreground extraction using iterated graph cuts[J].ACM Transactions on Graphics,2004,23(3):309-314.
[7]王建青,郭敏,徐秋平.结合小波变换与图像分割的快速目标提取[J].计算机工程与应用,2010,46(33):215-217.
[8]丁红,张晓峰.基于快速收敛Grabcut的目标提取算法[J].计算机工程与设计,2012,33(4):1477-1481.
[9]Dalal N,Triggs B.Histograms of oriented gradients for human detection[C]//Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition.2005:886-893.
[10]叶林,陈岳林,林景亮.基于HOG的行人快速检测[J].计算机工程,2010,36(22):206-210.
[11]曲永宇,刘清,郭建明.基于HOG和颜色特征的行人检测[J].武汉理工大学学报,2011,33(4):134-138.
[12]Gulshan V,Lempiteky V,Zisserman A.Humanising Grab-Cut:Learning to segment humans using the Kinect[C]//IEEE Workshop on Consumer Depth Cameras for Computer Vision.2011:1127-1133.
[13]熊卫华,向磊,李俊峰,等.背景减除与帧间差分相结合的运动目标检测方法[C]//Proceedings of the 30th Chinese Control Conference.Yantai,China,2011.
[14]McIvor A M.Background subtraction techniques[C]//Proc.of Image and Vision Computing.2000.