集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 796|回复: 0

基于FPGA的肤色分割实现

[复制链接]
羽蒙 发表于 2014-8-1 10:29:14 | 显示全部楼层 |阅读模式
肤色分割关键在于色度空间以及肤色模型的选择。常用的色度空间主要有: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)将肤色区域的中轴线分别用基于FPGA的肤色分割实现,其表达式为:  

          基于FPGA的肤色分割实现
  式中基于FPGA的肤色分割实现,为非线性分段色彩变换的分段阈值。基于FPGA的肤色分割实现  

        基于FPGA的肤色分割实现,它们是由实验数据得到的肤色聚类区域中Y分量的最小和最大值。

  (2)将肤色区域的宽度分别用基于FPGA的肤色分割实现来表示:  

基于FPGA的肤色分割实现
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-26 03:23 , Processed in 0.054882 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表