基于FPGA的肤色分割实现
时间:12-01 14:00 阅读:1047次
*温馨提示:点击图片可以放大观看高清大图
简介:肤色分割关键在于色度空间以及肤色模型的选择。常用的色度空间主要有:RGB、HIS、YIQ、YUV、YCbCr。
肤色建模
肤色分割关键在于色度空间以及肤色模型的选择。常用的色度空间主要有:RGB、HIS、YIQ、YUV、YCbCr。常用的肤色模型有简单阈值模型、高斯模型、直方图模型、区域模型等。大部分基于FPGA的实时肤色分割通常采用简单阈值模型,因为这种方法只设定简单的门限阈值,处理起来快速方便,但是效果不是很好。区域模型利用肤色在色彩空间的聚类性,将满足一定条件的区域标定为肤色区域,该方法检测效率比简单阈值模型高出许多,而且模型参数也易于计算,适合实时处理。所以本文选取Anil K Jain等人建立的椭圆区域模型,利用建立肤色查找表的方法实现肤色的实时分割。
因为不同人的肤色通常只在亮度上有差异,所以选择把亮度分量分出来的色度空间YCbCr空间。YCbCr空间的优点是可以将亮度和色度分开单独处理,实现亮度和色度分量比较彻底的分离,其中Y是指亮度分量,Cb指蓝色色度分量,而Cr指红色色度分量,Cb、Cr是两维独立分布,能较好的限制肤色分布区域,肤色点能够想成较好的聚类。所以通常选取在YCbCr空间进行肤色分割。
Anil K Jain等人从Heinich-Hertz-Institute(HHI)图像库中的137幅图像中手工选取了853,571个肤色像素点,并将其绘制在YCbCr空间中。从实验结果中发现,在YCbCr空间中的肤色聚类是呈两头尖的纺锤形状,即当Y值处于较大和较小的部分,肤色聚类也随之减少。因此简单地将YCbCr空间向CbCr平面投影来寻找肤色区域是不可行的,必须考虑Y值不同造成的影响,进行非线性分段色彩变换,利用椭圆公式进行拟合,建立肤色的椭圆模型。
对YCbCr色彩空间进行非线性分段色彩变换
因为统计样本肤色汇聚在两头尖的纺锤体内,所以根据Y值将肤色区域分为三段,然后计算每个二维子空间Cb-Cr的中轴线和宽度,根据中轴线以及宽度求出每个子空间Cb、Cr的表达公式。
(1)将肤色区域的中轴线分别用,其表达式为:
式中,为非线性分段色彩变换的分段阈值。
,它们是由实验数据得到的肤色聚类区域中Y分量的最小和最大值。
(2)将肤色区域的宽度分别用来表示: