摘   要: 提出了一种基于混合肤色模型" title="肤色模型">肤色模型" title="肤色模型">肤色模型">肤色模型的复杂背景彩色图像的快速人脸检测算法。为了克服环境光照变化及光照不均的影响,引入了自适应光线补偿算法;在RGB颜色空间中运用多项式模型对光线补偿后的彩色图像进行肤色区域粗检测;采用RGB颜色空间中的多项式模型和颜色空间中的高斯模型相结合,对先前所提取的肤色区域做进一步精确的肤色区域提取;最后,对二值图像的连通区域进行预处理,输出人脸区域。实验结果表明,该算法能快速有效地从复杂背景的彩色图像中检测出人脸,对光照变化具有较好的鲁棒性。

关键词: 颜色空间; 光线补偿; 肤色模型; 人脸检测

随着信息技术及计算机网络的快速发展,个人身份识别、表情分析、安检、公共场所公共安全等显得至关重要,利用人脸等人的内在属性进行识别的生物识别技术及其稳定性和可靠性引起了广泛的关注。人脸检测技术不仅是人脸识别、唇读、视频检测与监控等技术的重要前提条件,而且在模式识别、人机交互、智能监控等领域引起了广泛的重视。人脸检测来源于人脸识别,它是人脸自动识别系统中的一个重要环节,其目的是检测图像中的人脸并将其从背景中分割出来。近年来,人们在人脸检测技术中提出了各式各样的算法,大体可分为四类:基于知识的方法、基于特征的方法、基于模板的方法和基于表象的方法。但这些检测算法在实际应用中存在运算量大、实时性差等缺点。GUAN和YANG提出了基于肤色和几何信息的无监督人脸检测方法,检测率达93.7%。利用彩色图像中最重要、最明显的肤色特征,可以大幅度缩小搜索空间,降低检测难度,减少计算量,提高运算性能。这种方法大大提高了人脸检测速度,基本可以实现实时检测。但人脸检测是一项非常复杂的系统工程,检测结果很容易受到各种直接或者间接噪声的影响,主要表现在:

(1)受外貌、表情、肤色等因素的影响,人脸具有很大可变性;

(2)很多情况下脸上可能存在眼镜、胡须以及装饰品等附属物;

(3)头部运动造成图像中人脸位置、角度等发生变化;

(4)不同光照条件对图像中人脸图像产生影响,亮度变化范围很大;

(5)不同图像中人脸尺寸及背景噪声等各不相同。

因此,本文针对肤色检测存在的问题,提出了一种基于两种肤色模型相结合的彩色图像快速人脸检测算法,通过实验结果可以看出,该算法具有较好的鲁棒性和较高的准确率。

1 颜色空间[1]

1.1 RGB颜色空间

由于在RGB空间中三要素具有高度相关性,亮度信息对图像的处理会带来干扰。为了消除亮度的影响,YANG提出了归一化的RGB模型,将RGB彩色空间映射到色度空间,即从三维空间变换到二维空间。该色度空间具有对图像亮度和视点方向都不敏感的优点,可以较好地消除图像中可见和室外不可见的阴影,其转换公式如下所示:

2 肤色分割算法

肤色检测要取得好的效果,需要解决两个问题:如何选择合适的颜色空间以及如何确定规则中的参数,即肤色模型问题。要进行肤色检测就是要在该空间中判断肤色是否能够聚集在某个集中的区域,从而可以根据像素在该空间中的坐标判断该像素是否属于肤色点。因此选择恰当的肤色空间和肤色区间闭值以最终确定肤色模型是非常重要的。所谓肤色模型,与其他的数学建模一样,即用一种代数的解析或查找表等形式来表达哪些像素的色彩属于肤色,或者表征出某一像素的色彩与肤色的相似程度。肤色模型可以进一步地划分为色彩空间中的简单门限聚类模型、高斯模型和高斯混合模型等。简单门限聚类模型具有计算简单、速度快等优点,因此,本文采用了归一化RGB空间中的二次多项式模型与YCgCr肤色模型相结合的方法,称为混合的肤色模型检测算法。

2.1自适应光线补偿

由于实际背景复杂多变,噪声污染源难以确定及环境光照变化的影响,需要对彩色图像进行必要的预处理,为后续的图像处理提供较高质量的彩色图像。将图像通过改进的自适应光线补偿对过亮、过暗及中间区域的像素灰度进行修正,以达到减少环境光线变化的影响。针对彩色图像的实际情况,本文采用一种自适应光线补偿方法。通过将图像亮度灰度范围内的两端区域进行压缩,降低过亮和过暗区域的对比度;再用对数函数做非线性变换函数,使变换后图像对比度增加。光线补偿的具体过程如下[2]。

2.2 二次多项式肤色模型

二次多项式模型首先由SORIANO提出,此后CHIANG[3]对此进行了改进,二次多项式模型由两个r-g平面的二次多项式与一个圆方程构成[4]:

若满足以上不等式像素点则是肤色,否则不为肤色。

根据以上所建立的两种肤色模型,本文所提出将归一化RGB空间中的二次多项式模型YCgCr和肤色模型相结合的混合肤色模型,即有快速人脸检测算法,总体框架如图1所示。

3 人脸定位

经过肤色检测得到二值图像的连通区域,其中可能还包括肩膀、脖子等肤色区域及类肤色其他物体。为减少人脸检测与定位的搜索空间,首先对检测到的连通区域进行预处理,然后从以下几个方面对人脸候选区域进行判断来检查是否有人脸存在[7]:

(1)连通区域的宽和高必须大于20像素。

(2)计算肤色区域的宽高比,限定要检测的人脸比例大小,排除一些类肤色区域但长宽比不符合要求的区域,其阈值为[0.6,2]。

(3)计算肤色区域的面积和该肤色区域外接矩形的面积的比,排除一些不规则但具有肤色特征的非人脸区域,其所选阈值为[0.5,0.9]。

通过以上判断,基本排除了非人脸肤色区域,能够较准确地得到人脸区域。

4 实验结果与分析

在进行实验时,考虑到不同光照条件、不同肤色人种及图像背景复杂度,从互联网和现实生活中选取一些图片作为实验对象,组成两个测试集:(1)测试样品集,如无背景或简单背景、光照变化、人脸区域较大、任意角度的头肩部图像和集体照;(2)复杂测试集,有类肤色背景存在,人脸个数、大小、位置未知,光照变化,多角度多表情的图片。用本文的算法对这两个测试集进行测试,实验数据如表1所示。

通过表1的实验数据可以得出,对于简单样品集,本文的算法具有较好的结果;对于复杂样品集,由于人脸尺寸太小和背景类肤色性,存在极少数的漏检误检。参考文献[8]单人脸检查的平均检测时间是0.22 s,多人脸检测的平均检测时间是13.35 s,相比之下,本文所述检测算法对单人脸检测速度比较慢,而多人脸检测速度有较大提高。因为检查速度不仅与运行环境有关,还与图像的复杂度、尺寸大小有关。图2给出实验结果的部分典型实例,图中矩形框画出了检测到人脸的位置。

从上述实验数据可以看出,本文算法可以得出较好的实验结果,进一步证明了本算法的有效性和快速性。

利用肤色信息检测肤色区域具有较低的计算量,并且对部分遮挡和姿态角度变化具有较强的鲁棒性,因此本文提出了用两种颜色空间相结合的算法进行肤色检测,尽可能多地检测出真肤色区域(漏检率低),而包含尽可能少的伪肤色区域(误检率低)。通过实验验证,本文的算法具有很好的肤色分割效果和较好的人脸检测效果。下一步的研究工作就是要根据具体实际应用及其他特征信息,进一步提高人脸检测速率和准确率。

参考文献

[1]    CHAVES-GONZALEZ J M,VEGA-RO M A,JUANETC D.     Detecting skin in face recognitionystems: Acolour spaces study.Digital Signal Processing, 2010(20):806-823.

[2]     贾灵芝,李岚,钱坤喜.基于自适应光线补偿的人脸检测算法[J]. 计算机技术与发展,2008,12:120-122,126.

[3]    CHENG C C,WEN K T, YANG M T,    et al. A novel method for detecting lips, eyes and faces in real time.Real-Time Imageing, 2003,9(4):277-287.

[4]    SORIANO M, BIRGITTA M, SAMI  H, et al. Adaptive skin color modeling using the skin locus for selecting  training pixels.Pattern Recognition,2003(36):681-690.

[5]     张争珍,石跃祥. YCgCr颜色空间的肤色聚类人脸检测法[J].计算机工程与应用,2009,45(22):163-165.

[6]     胡庆新,方跃,张淑凤.一种新的驾驶员疲劳检测系统中的人脸区域检测方法[J].仪器仪表学报,2008,4.

[7]     王建国,林宇生,杨静宇.基于新颜色空间YCgCr的人脸区域初定位[J].计算机科学,2007,34(5):228-233.

[8]     严云洋,郭志波,杨静宇.复杂环境下的快速人脸检测算法[J].江南大学学报(自然科学版),2007,6(6):723-727.

matlab rgb 到 ycgcr,基于混合肤色模型的快速人脸检测算法相关推荐

  1. matlab计算胎心率,基于盲分离的胎心音心率检测算法与实现

    基于盲分离的胎心音心率检测算法与实现 胎心监护是保障胎儿和产妇安全,实现国家优生优育的重要手段,在围产阶段对母体内的胎儿进行监护,可以在了解胎儿发育状况的同时,大大地减少因缺氧.缺血而出现的窘迫,导致 ...

  2. 笔记《基于无人驾驶方程式赛车的传感器融合目标检测算法研究及实现》

    论文结构 关键字:无人驾驶方程式赛车,相机,激光雷达,目标检测,传感器融合 一.绪论 1. 感知技术研究现状 1.1.1 基于相机的目标检测技术研究现状 1.1.2 基于激光雷达的目标检测技术研究现状 ...

  3. 基于肤色模型和形态学处理的人脸检测算法matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 在过去的几年里,人脸识别受到了广泛的关注,被认为是图像分析领域最有前途的应用之一.人脸检测可以考虑人 ...

  4. 基于肤色空间建模+连通域处理的人脸检测算法的MATLAB仿真

    目录 1.算法仿真效果 2.MATLAB核心程序 3.算法涉及理论知识概要 4.完整MATLAB 1.算法仿真效果 matlab2022a仿真结果如下: 2.MATLAB核心程序 .......... ...

  5. 【Matlab】基于皮肤概率建模的人脸检测算法雏形

    原理 通过色度计算图像中每个像素点是皮肤的概率,当概率大于某一值时就确定这个像素点是皮肤,并将它涂白,其余不是皮肤的像素点涂黑:对图像做适当处理后,把图像中不是脸部皮肤的区域分割开,随后把脸部特征还原 ...

  6. 基于激光雷达点云的3D目标检测算法论文总结

    作者丨eyesighting@知乎 来源丨https://zhuanlan.zhihu.com/p/508859024 编辑丨3D视觉工坊 前言  过去很多年激光雷达的车规标准和高昂价格是阻碍其量产落 ...

  7. MATLAB人脸检测算法

    MATLAB人脸检测算法 人脸检测是将人脸从复杂的背景图像中检测出来,它是实现人脸识别的基础和前提. 肤色重建 使用人脸肤色模板对灰度图像进行肤色重建,使其变成彩色图像,效果如下: 在函数functi ...

  8. Matlab人脸检测算法详解

    这是一个Matlab人脸检测算法详解 前言 人脸检测结果 算法详解 源代码解析 所调用函数解析 bwlabel(BW,n) regionprops rectangle 总结 前言 目前主流的人脸检测与 ...

  9. ECCV2022 | 网易AI 基于单幅图片的实时高分辨率人脸重演算法

    网易互娱 AI Lab 提出了一种基于单幅图片的实时高分辨率人脸重演算法,分别在台式机 GPU 和手机端 CPU 上支持以实时帧率生成 1440x1440 和 256×256 分辨率的人脸重演图像. ...

最新文章

  1. debug打印的有意思的方法
  2. 谷歌又买算法送手机了,最新方法让背景虚化细节到头发丝,真有单反的感觉了...
  3. 网络营销外包浅析B站破圈运营是如何增强网络营销能力的?
  4. Linux EOF使用
  5. [UWP]了解IValueConverter
  6. Intel格式和ATT格式汇编区别
  7. php post调用api,PHP(CURL)POST数据调用API简单示例
  8. 得力条码扫描器怎么用_广东智能物流控制系统怎么选
  9. 去除UINavigationBar的下边框
  10. 设备巡检app android开发,富士康移动巡检app安卓,富士康移动巡检app安卓手机软件预约 v1.0-手游汇...
  11. D: Starry的神奇魔法(矩阵快速幂)
  12. [Ext JS6]工作区-Workspace
  13. vue从入门到开发--2-基本结构
  14. tomcat8开启远程debug
  15. python 人脸识别活体检测_基于Python+Keras+OpenCV实现实时人脸活体检测
  16. 路畅安卓最新固件升级_路畅导航系统固件升级下载|路畅导航系统固件升级大全1.51 官方版_ - 极光下载站...
  17. FPGA自动白平衡实现步骤详解
  18. IDM安装使用 解决下载限速
  19. 做嵌入式编程,为什么用的是C语言而不是C++呢?
  20. replaceAll()如何同时替换多个不同的字符串(或多个符号)

热门文章

  1. python爬贴吧回复_通过python爬取贴吧数据并保存为word
  2. 随处都是流量,哪里都可以加到好友
  3. css 设置变量,通过refs的style.setProperty直接设置变量的值
  4. 自动化测试如何实施落地?详细教程来了
  5. 互联网大佬杨浩涌的创业历程,尽管遭遇合并但依旧辉煌
  6. 【AGL】Automotive Grade Linux 如何远程 AGL 系统并使用afm-util命令安装.wgt
  7. Ribbon开启饥饿加载
  8. 华为OJ 名字的漂亮度
  9. swing java_Java Swing 介绍
  10. vue + Luckysheet 实现在线Excel表格操作