获得可能皮肤区域的线段编码之后,进一步通过腐蚀和膨胀的方式,对所获得的区域进行裁剪,去除非皮肤区域,裁剪原则包括:
1)皮肤区域的宽度大于阈值T1,T1与视频图像宽度成正比;
2)皮肤区域的高度大于阈值T2,T2与视频图像高度成正比;
3)皮肤区域的面积应大于阈值T3,T3与视频图像面接成正比。
制定以上原则的理由在于,在以人的活动为主的视频中,人绝大部分情况下为内容的主体,相应地,皮肤区域也占据较大的区域比例。如果区域尺度过小,通常为颜色上比较接近肤色的其他对象区域。
3.3基于灰度共生矩阵的纹理度量
为避免颜色类似肤色的对象被认为是皮肤,引入纹理特性来进一步分辨可能的皮肤区域。人眼对亮度分量的感知明显高于色度分量,因此只考虑亮度分量的纹理,具体使用其共生矩阵(co-occurrencematrix)予以衡量。灰度共生矩阵[10]用2个位置的像素的联合概率密度来定义,它不仅反映亮度的分布特性,也反映具有同样亮度或接近亮度的像素之间的位置分布特性,是有关图像亮度变化的二阶统计特征。它是定义一组纹理特征的基础。
一幅图像的灰度共生矩阵能反映出图像灰度关于方向、相邻间隔、变化幅度的综合信息,它是
分析图像的局部模式和它们排列规则的基础。
设f(x,y)为一幅二维数字图像,其大小为M×N,灰度级别为L,则满足一定空间关系的灰度共生矩阵为
其中,num{x}表示集合x中的元素个数,显然P为L×L的矩阵,若(x1, y1)与(x2, y2)间距离为d,两者与坐标横轴的夹角为θ,则可以得到各种间距及角度的灰度共生矩阵P(i, j, d,θ)。
纹理特征提取的一种有效方法是以灰度级的空间相关矩阵即共生矩阵为基础的,因为图像中相距(∆x,∆y)的2个灰度像素同时出现的联合频率分布可以用灰度共生矩阵来表示。若将图像的灰度级定为L级,那么共生矩阵为L×L矩阵,可表示为M(∆x,∆y)(h,k),其中位于(h,k)的元素m(h, k)的值表示一个灰度为h而另一个灰度为k的2个相距为(∆x, ∆y)的像素对出现的次数。
对粗纹理的区域,其灰度共生矩阵的m(h,k)值较集中于主对角线附近。因为对于粗纹理,像素对趋于具有相同的灰度。而对于细纹理的区域,其灰度共生矩阵中的m(h,k)值则散布在各处。为了能更直观地以共生矩阵描述纹理状况,从共生矩阵导出2种反映矩阵状况的参数,进行区域纹理复杂性度量。
1)能量:灰度共生矩阵元素值的平方和,所以也称能量,反映了图像灰度分布均匀程度和纹理粗细度。如果共生矩阵的所有值均相等,则值小;相反,如果其中一些值大而其他值小,则值大。当共生矩阵中元素集中分布时,该值大。该值大时表明一种较均一和规则变化的纹理模式。
2)逆差距:反映图像纹理的同质性,度量图像纹理局部变化的多少。其值大则说明图像纹理的不同区域间变化少,局部非常均匀。
为降低纹理特性度量开销,仅对上节检测出的可能皮肤区域进行灰度共生矩阵的计算。
4实验结果
为了验证算法在皮肤区域检测上的查准率、查全率和检测速度等性能指标,设计了如下系统。
系统从特定网络路由网关上捕捉视频解码数据流量,从中选取1000个访问频率较高的节目,分辨率主要包括320×240、352×240等。
将这些节目数据解码,每个节目截取有代表性的10帧图像,对共计10000幅图像按照包含皮肤区域所占百分比进行分类、标注,获得如表1所示的结果。
表1 测试数据分类结果
用设计的皮肤区域检测算法进行检测,记录每幅图像所检测出的皮肤区域所占百分比,并与标注百分比进行比对,并计算相应的准确率和召回率。
表2中的准确率和召回率分别按照式(1)和式(2)计算。
式(1)和式(2)中,检测正确的图像数是指检测出的皮肤区域与实际的百分比之绝对差小于段区间10%的图像数目,比如对区间(20%,50%]而言,检测结果与实际百分比绝对差小于,则认为检测结果正确。
表2 皮肤区域检测结果
从表2结果可以看出,本文算法在检测皮肤区域百分比不同的图像中,均有较高的准确率,而召回率在不同图像则有较大波动,在皮肤区域大于50%或小于1%时,召回率较高,而在其他情况下,召回率有较大降低,这主要受区域检测中的区域裁剪阈值设定的影响,需要设计自适应的区域裁剪算法以改善裁剪效果。
5结束语
从网络随机选择的1000个网络视频的实验结果表明:该算法能够自适应地准确检测视频图像中的皮肤区域,具有95%左右的准确率和72%左右的召回率。
算法在YUV空间进行皮肤区域的检测,减少了色彩空间转换导致的计算量增加,同时采用的检测技术进行优选、结构优化组合,保证了算法有较好的运算速度。同时,线段编码记录的皮肤区域可用于进一步的姿态识别、人脸跟踪等视频语义概念的提取。