王思霖,李 鈺
(信陽(yáng)農(nóng)林學(xué)院信息工程學(xué)院 河南 信陽(yáng) 464000)
膚色檢測(cè)解決了如何從圖片或視頻中識(shí)別出具有人體膚色的像素點(diǎn)和區(qū)域問(wèn)題,是手勢(shì)識(shí)別、人機(jī)交互等計(jì)算機(jī)視覺(jué)應(yīng)用中的關(guān)鍵技術(shù)[1]。常見(jiàn)的膚色檢測(cè)算法首先將圖片轉(zhuǎn)化為位于色彩空間中的一個(gè)個(gè)像素點(diǎn),再通過(guò)設(shè)置閾值的方式在該色彩空間中劃分出膚色和非膚色的空間區(qū)域,最后通過(guò)判斷像素點(diǎn)在該色彩空間中是否位于膚色區(qū)域來(lái)從圖片中識(shí)別膚色像素點(diǎn)。常用于膚色檢測(cè)的色彩空間有RGB、YCbCr、HSV,它們具有不同的閾值約束條件來(lái)區(qū)分膚色和非膚色像素點(diǎn)。
色彩空間是一種通過(guò)多個(gè)色彩分量來(lái)描述色彩信息的數(shù)學(xué)模型,利用這個(gè)模型,一種顏色可以通過(guò)一組數(shù)值來(lái)進(jìn)行表示[2]。有多種色彩空間可以用于膚色檢測(cè),這里介紹最為常見(jiàn)的3 種:RGB、HSV、YCbCr[3]。
RGB 色彩空間將紅、綠、藍(lán)三原色的色光以不同的比例相加,以合成產(chǎn)生各種色彩光,它的名字來(lái)源于紅、綠、藍(lán)3 種基本色英文首字母的縮寫(xiě)。
RGB 色彩空間被廣泛應(yīng)用于電子系統(tǒng)中且通常作為數(shù)碼圖片的默認(rèn)存儲(chǔ)和表示方式,任何一種顏色也都可以分解表示為紅、綠、藍(lán)3 種顏色分量,各分量的取值范圍為0 至255,例如紅色可以表示為(255,0,0)。
通過(guò)RGB 色彩空間,數(shù)碼圖片中的每一個(gè)像素點(diǎn)的顏色都可以通過(guò)紅、綠、藍(lán)3 種顏色分量來(lái)進(jìn)行準(zhǔn)確表示?,F(xiàn)有研究成果表明,人體膚色在RGB 色彩空間中表示滿足以下約束條件[4]:
條件1:R>95andG>40andB>20
條件2:max(R,G,B)-min(R,G,B)>15
條件3:|R-G|>15
條件4:R>G
條件5:R>B
由于RGB 色彩空間受亮度影響較大,所以人體膚色在不同光源環(huán)境下的約束條件會(huì)隨光源的強(qiáng)弱產(chǎn)生變化。
HSV 色彩空間是RGB 色彩空間在圓柱坐標(biāo)系中的表示方法,相對(duì)于RGB 色彩空間,它在顏色體驗(yàn)上更符合人類的直覺(jué)。HSV 由色相(H)、飽和度(S)和明度(V)3種分量組成。其中色相(H)是色彩的基本屬性,飽和度(S)是指色彩的純度,明度(V)表示亮度[5]。人體膚色在HSV 色彩空間中的約束條件為:
條件1:3 <H<23
條件2:28 <S<256
條件3:50 <V<256
YCbCr 色彩空間常用于圖像處理。YCbCr 色彩空間中的顏色由Y、Cb、Cr 3 種分量進(jìn)行表示,其中Y 代表亮度,Cb 代表藍(lán)色分量,Cr 代表紅色分量。
人體膚色主要由顏色的色度決定,所以在YCbCr 色彩空間中研究人體膚色的分布規(guī)律時(shí),可以排除Y 分量的影響,只考慮Cb、Cr 兩個(gè)分量。從數(shù)學(xué)角度來(lái)看,在研究人體膚色在YCbCr 色彩空間中的分布情況時(shí),可以將YCbCr 三維空間投影到CbCr 二維空間,通過(guò)研究人體膚色在CbCr 二維平面上的分布來(lái)得出規(guī)律。根據(jù)現(xiàn)有研究成果,人體膚色在CbCr 二維平面的分布近似一個(gè)橢圓,所以可以通過(guò)判斷像素點(diǎn)在CbCr 二維平面上是否落入該橢圓區(qū)域來(lái)識(shí)別其是否是人體膚色,從數(shù)值上可以表示為以下約束條件:
條件1:77 ≤Cb≤127
條件2:133 ≤Cr≤173
為了更好地區(qū)別基于RGB、HSV、YCbCr 3 種色彩空間的膚色檢測(cè)算法的效果,本次實(shí)驗(yàn)選用了3 張具有不同特點(diǎn)的手部圖片作為素材分別進(jìn)行膚色檢測(cè),其中圖1 拍攝于光照條件較好的環(huán)境下,圖片背景中元素較少,手中所捧玫瑰花和紅色手指甲蓋是膚色檢測(cè)的干擾項(xiàng)。圖2 拍攝于光照條件較好的環(huán)境下,但背景中元素較多,綠色的植物、淺棕色的墻面,黑白格的地板都是膚色檢測(cè)的干擾因素。圖3 拍攝于光照條件較差的環(huán)境下,背景元素單一,因亮度不足的原因,手上的部分區(qū)域亮度低,易對(duì)檢測(cè)產(chǎn)生干擾。
膚色檢測(cè)算法的原理見(jiàn)圖4,首先將待檢測(cè)的圖片素材輸入,將圖片的色彩空間轉(zhuǎn)為對(duì)應(yīng)算法中所選用的色彩空間,遍歷圖片中的每一個(gè)像素,如果像素點(diǎn)的色彩值滿足對(duì)應(yīng)色彩空間人類膚色的約束條件,則將該像素點(diǎn)保留原色,如果不滿足條件,則將像素點(diǎn)的顏色改為黑色。當(dāng)遍歷結(jié)束后,會(huì)得到膚色檢測(cè)后的圖片,其中膚色部分為原色,非膚色部分為黑色[6]。
對(duì)基于RGB 色彩空間的膚色檢測(cè)算法,圖片素材1 的檢測(cè)結(jié)果見(jiàn)圖5,手部區(qū)域識(shí)別基本完整,紅色指甲和手中所捧的玫瑰花的一小部分被誤認(rèn)為膚色區(qū)域。圖片素材2 的檢測(cè)結(jié)果見(jiàn)圖6,手部區(qū)域識(shí)別完整,但墻體中一小部分被誤認(rèn)為膚色區(qū)域被識(shí)別出。圖片素材3 的檢測(cè)結(jié)果見(jiàn)圖7,只有一部分亮度較高的手部區(qū)域被識(shí)別出,手部輪廓模糊。
從檢測(cè)結(jié)果來(lái)看,可以得出如下結(jié)論:一是基于RGB色彩空間的算法在膚色檢測(cè)時(shí)受圖片拍攝時(shí)的光照條件影響較大,光照條件充足時(shí)會(huì)有較大的識(shí)別成功率,反之識(shí)別率較低;二是基于RGB 色彩空間的算法容易受到照片中紅色元素的影響,有概率將紅色元素誤識(shí)別為膚色。
對(duì)基于HSV 色彩空間的膚色檢測(cè)算法,圖片素材1 的檢測(cè)結(jié)果見(jiàn)圖8,手部區(qū)域識(shí)別基本完整,紅色指甲和手中所捧的玫瑰花都被正確識(shí)別為非膚色。圖片素材2 的檢測(cè)結(jié)果見(jiàn)圖9,手部區(qū)域識(shí)別較完整。圖片素材3 的檢測(cè)結(jié)果見(jiàn)圖10,大部分的手部區(qū)域被識(shí)別出,手部輪廓模糊。
從檢測(cè)結(jié)果來(lái)看,可以得出如下結(jié)論:一是基于HSV色彩空間的算法在膚色檢測(cè)時(shí)受圖片拍攝時(shí)的光照條件影響較?。欢腔贖SV 色彩空間的算法不易受到照片中紅色元素的影響。
對(duì)基于YCbCr 色彩空間的膚色檢測(cè)算法,圖片素材1的檢測(cè)結(jié)果見(jiàn)圖11,手部區(qū)域識(shí)別完整,紅色指甲和手中所捧的玫瑰花被誤認(rèn)為膚色區(qū)域。圖片素材2 的檢測(cè)結(jié)果見(jiàn)圖12,手部區(qū)域識(shí)別較完整,背景中的墻體被誤認(rèn)為膚色。圖片素材3 的檢測(cè)結(jié)果見(jiàn)圖13,手部區(qū)域被識(shí)別出,手部輪廓清晰。
從檢測(cè)結(jié)果來(lái)看,可以得出如下結(jié)論:一是基于YCbCr 色彩空間的算法在膚色檢測(cè)時(shí)不受圖片拍攝時(shí)的光照條件影響;二是基于YCbCr 色彩空間的算法極易受到照片中紅色元素的影響,大概率會(huì)將其誤認(rèn)為膚色;三是基于YCbCr 色彩空間的算法在圖片背景元素較復(fù)雜的時(shí)候,檢測(cè)結(jié)果容易受到干擾。
RGB 色彩空間適用于拍攝光照條件好,沒(méi)有紅色元素干擾的場(chǎng)景。HSV 色彩空間適用于拍攝光照條件較好,有紅色元素干擾的場(chǎng)景。YCbCr 色彩空間適用于拍攝光照條件較差,沒(méi)有紅色元素干擾且背景元素單一的場(chǎng)景。
本文首先闡述了色彩空間的概念,并對(duì)常用于膚色識(shí)別的色彩空間RGB、HSV、YCbCr 的特點(diǎn)及用于膚色識(shí)別時(shí)的約束條件進(jìn)行了描述。后通過(guò)實(shí)驗(yàn)對(duì)比分析了基于這3種不同色彩空間的算法的檢測(cè)結(jié)果,并對(duì)各自的適用場(chǎng)景進(jìn)行了分析。