本站小编为你精心准备了自适应的快速人脸肤色转移分析参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
《中国图象图形学报》2016年第一期
摘要:
目的图像之间的颜色迁移技术是近些年来研究的热点,如今社会这种技术更多地应用于生活中相片的颜色调节,而传统的颜色迁移技术都是面向图像一般化处理。提出了一种针对于肤色的自适应颜色迁移算法。方法首先,用户通过人机交互指定图像需要肤色变换的区域,在YCbCr空间内,初次获得肤色区域,实现肤色数据的粗提取。其次,利用在lɑβ空间中肤色分量的分布特性,实现对纯肤色信息的精确提取。最后,通过对应的转换规则,实现对肤色的转换。结果实验数据显示,该算法实现的转换后的肤色相比于其他算法,肤色特征更自然,在人脸区域避开改变非肤色区域的色彩信息,并且保持了处理前图像的清晰度,具有很强的应用性。结论该算法只对选择的肤色信息进行处理,避开非肤色数据,保持了其他事物的原有色彩,实现对肤色的自适应选取,实现自动肤色迁移,在差别很大的肤色之间实现的转换也取得了较好的效果。
关键词:
图像处理;肤色迁移;颜色区域;肤色调整;lɑβ颜色空间
颜色迁移在图形图像处理领域中的应用越来越广泛。颜色是图像吸引人的关键因素,能给人最直观的感受。颜色迁移的实质就是在不破坏目标图像纹理的条件下,将源图像的色彩信息传递给目标图像。使变换后的目标图像具有和源图像相似的色彩特性。颜色迁移领域在近展迅速。Reinhard等人[1]首先提出彩色图像间颜色迁移算法,该算法利用颜色全局信息对整体图像进行颜色迁移,使用像素各分量的均值和方差进行颜色矫正,该算法原理简单,处理速度较快,其局限性在于不适合处理色彩丰富的两幅图像,如果图像色彩信息较丰富,其结果不理想。Welsh等人[2]提出了对灰度图像进行着色的颜色迁移算法,该算法在保持目标图像亮度的前提下在源图像中找出匹配的像素并传给目标图像指定像素。对于色彩复杂的源图像,Welsh提出了一种指定分块的交互式方法,这样避免了不自然颜色的产生,降低了自动处理能力,可能导致色彩的不连续性。近年来国内学者对于图像色彩迁移算法的研究也有很大进展,如文献[3]提出的自动采集样本的图像颜色传递算法;文献[4]提出的一种快速颜色传递算法;文献[5]提出的基于色彩传递与扩充的图像着色算法;这些算法的研究对象都是面向图像一般化处理,不能对人脸肤色达到很好的收敛效果,文献[3]通过计算各子块的纹理特征和亮度统计值,建立样本块之间的对应关系,这种算法很容易造成非肤色与肤色域的错误匹配,文献[4]在处理肤色转换时,与文献[3]具有同样缺点,文献[5]的处理对象是灰度图。随着相机产业的发展,照片处理活动已融入多数人的生活,肤色调整技术具有广阔的应用前景,近些年对于肤色调整的研究在国内较少,在前人研究的基础上,提出了一种针对肤色的快速颜色迁移算法,该算法利用YCbCr颜色空间[6-7]和lαβ颜色空间[7]分离肤色信息,实现对应肤色的转换,肤色区域收敛准确,避免了对非肤色颜色的处理,针对性强,处理速度快,具有很强的实用性。
1本文算法
颜色传递效果的关键因素取决于对应图像中目标像素的准确选取,与自然景物不同,肤色具有很强的连续性,根据这种特性,通过一些方式对整体数据进行合理筛选,就可得出纯正肤色的聚类区域。首先,将源图像和目标图像由RGB颜色空间转换到YCbCr颜色空间,根据Chai提出的理论[6],如果输入像素的颜色落入Cr=[133;173]和Cb=[77;127]限定的矩形区域,就认为是肤色像素,以这种方式初次缩小肤色聚类区域。接着,将源图像区域和目标图像由RGB空间转化至lαβ空间,统计初次缩小肤色聚类区域中α、β分量的数据信息,根据纯肤色区域数据直方图分布的对称性,再次缩小肤色聚类区域,求出源图像与目标图像肤色分量最终的肤色区域并求出各区域的平均值和区域跨度数据,用于下一步的肤色校正。然后,确定找到肤色区域的像素点并矫正,进行对应肤色区域的颜色迁移,得出对应像素的变化值。最后,评估变化范围是否在目标肤色有效区域并进行最后的微调,完成肤色迁移过程。
1.1肤色区间初次聚类RGB颜色空间是最常见的色彩空间,可是此空间中各分量之间具有很强的相关性,直接运用此空间所得处理效果不理想;由于YCbCr颜色空间将色彩中的亮度分离,避免了亮度信息影响实际肤色区域的聚类,而且YCbCr颜色空间对于不同人种都具有很好的肤色聚类特性,适合进行肤色的初次聚类。由于lαβ空间各通道之间相互正交,各分量独立性大,不会出现通道交叉问题,并且α、β分量在纯肤色区域数据直方图[8]分布具有很显著的对称性,适合进行肤色的再次精准聚类。在YCbCr颜色空间,如果输入像素的颜色落入Cr=[133;173]和Cb=[77;127]限定的矩形区域,就认为是肤色,如果不在该区域就认为不是肤色,处理完该步骤后再将图像从YCbCr空间转换到RGB颜色空间,通过该步骤需要两个灰度图[8]分别存储源图像和目标图像对应的筛选后的区域,如果是肤色,则将灰度图的对应像素点的位置值设为255,如果不是则设为0。整个处理过程归纳如下:1)把图像由RGB颜色空间转换成YCbCr颜色空间;2)对YCbCr颜色空间的像素进行筛选,筛选结果存入对应灰度图;所得肤色区域如图1(b)(d)。
1.2肤色区间精确聚类将图像从RGB空间转换到lαβ颜色空间,统计N(i,j)=255时,源图像和目标图像中α、β对应的有效肤色值的像素个数并分别存储。通过大量的实验数据,得出在lαβ颜色空间,纯肤色区域(去除人脸杂色,如嘴唇、眼睛和眉毛)α、β分量的数据分布呈对称的单峰分布,并且这种单峰走势陡峭,如图2和图3。根据600份不同纯肤色数据统计得出,在纯肤色区域各分量对应直方图最大值点的下标为中心,左右两边的对应的面积之差不会超过两边界中最大高度的2倍。根据这种规律,找出纯肤色区域α、β分量的范围。
1.3肤色转换求出ɑ、β分量对应的源图像和目标图像的像素平均值下标到同一端的区域比值。
1.4评估变化范围并矫正最后进行像素聚合,目的为了使目标图像肤色避免出现干扰斑点,去除非肤色值的转换,仅留下肤色区域像素值的改变结果。根据大量实验证明,在2个像素范围内微调肤色,效果最理想。
2实验分析
由整个算法执行过程,可以得出算法的时间复杂度为由图5(a)(b)分别是对应的目标图像和源图像,用目标图像的肤色信息调整源图像的肤色信息,由对比可以发现,本文算法只改变图像的肤色信息,目标图像中人的眼睛、头发、嘴唇等颜色信息并未改变。对比来说Reinhard算法的处理结果显得很不自然,目标图像中的各个部分都发生改变,其中包括衣服、嘴唇和头发等。将本文算法与文献[1]和文献[4]算法对比,分别对白、黄、黑3种肤色进行对比实验,由实验结果可以看出,本文算法实现人脸肤色转换的结果逼真,只对肤色区域进行肤色转换,不改变嘴唇、眼睛以及头发的初始色彩,文献[1]算法和文献[4]算法对非肤色区域的事物颜色进行了修改,肤色转化结果不自然。
3结论
提出一种快速肤色替换算法,通过YCbCr空间的特性,将有用的信息提取出来,实现对肤色信息的初次聚类;统计源图像和目标图像α、β分量的肤色区域信息,根据肤色分布规律,对肤色信息进行第2次筛选,实现再次聚类;在肤色信息收敛准确的条件下,对目标图像的肤色像素点进行肤色转换;转换之后对转换数据进行校正,避免异常肤色斑点的出现,至此获得最后的转换图像。该算法计算过程简单,效果较好,提高了肤色传输速度,针对性较强。如何将该算法应用到整幅图像,以及同时处理多幅人脸图像情况,实现全自动的肤色检测与转换值得进一步研究。
作者:魏玮 马军福 单位:河北工业大学计算机科学与软件学院