基于FPGA的膚色分割實現
膚色建模
本文引用地址:http://www.ex-cimer.com/article/142180.htm膚色分割關鍵在于色度空間以及膚色模型的選擇。常用的色度空間主要有: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)將膚色區域的寬度分別用來表示:
fpga相關文章:fpga是什么
分頻器相關文章:分頻器原理 全息投影相關文章:全息投影原理
評論