本發(fā)明屬于模式識別領(lǐng)域,尤其是涉及一種人體膚色檢測方法。
背景技術(shù):
人體膚色檢測技術(shù)廣泛應(yīng)用于多個(gè)領(lǐng)域,如人體檢測、人臉檢測、手勢識別和圖像過濾等。該技術(shù)的主要目標(biāo)是從圖像中盡可能多地檢測出人體皮膚的像素點(diǎn),并且減少非膚色像素點(diǎn)的數(shù)目。
目前基于像素的人體膚色檢測方法主要分為兩類:第一類是非參數(shù)模型,例如膚色空間的直接閾值法和直方圖方法;第二類是參數(shù)化模型,例如單高斯模型、橢圓邊界模型等。然而,上述傳統(tǒng)的人體膚色檢測方法普遍存在如下問題:1)受光照影響嚴(yán)重。當(dāng)光照條件改變時(shí),現(xiàn)有方法誤差較大;2)時(shí)間復(fù)雜度和檢測效果正相關(guān)。人體膚色模型越復(fù)雜,檢測耗時(shí)越長,而檢測效果越好,現(xiàn)有的快速膚色檢測方法難以滿足檢測精度需求。
技術(shù)實(shí)現(xiàn)要素:
為克服相關(guān)技術(shù)中存在的問題,本發(fā)明提出了一種人體膚色檢測方法。
本發(fā)明的技術(shù)方案是,一種人體膚色檢測方法,其特征是該方法包括以下步驟:
將待檢測圖像轉(zhuǎn)換為顏色空間內(nèi)的圖像,所述的顏色空間必須包含圖像亮度信息;
獲得所述待檢測圖像在所述顏色空間內(nèi)的膚色樣本;
采用預(yù)先構(gòu)建的膚色模型對所述膚色樣本進(jìn)行檢測,獲得所述待檢測圖像中屬于膚色的像素點(diǎn),其中,所述膚色模型是通過已知膚色樣本訓(xùn)練獲得的用于判斷像素點(diǎn)是否為膚色點(diǎn)的膚色模型。
進(jìn)一步,在所述采用預(yù)先構(gòu)建的膚色模型對所述膚色樣本進(jìn)行檢測之前,所述方法還包括:
收集已知膚色分布的樣本圖像數(shù)據(jù)構(gòu)成數(shù)據(jù)庫;
將所述數(shù)據(jù)庫中的樣本圖像轉(zhuǎn)換為顏色空間內(nèi)的圖像;
獲得所述樣本圖像在所述顏色空間內(nèi)的已知膚色樣本;
根據(jù)所述已知膚色樣本中像素不同的亮度值,分別統(tǒng)計(jì)所述已知膚色樣本在每一個(gè)亮度值的像素分布,利用主動(dòng)輪廓法對所述獲得的各個(gè)亮度值的像素分布分別訓(xùn)練,獲得M個(gè)主動(dòng)輪廓模型;在亮度值i獲得的所述主動(dòng)輪廓模型定義為:
S(i)={(x1,y1),(x2,y2),…,(xk,yk),…,(xn,yn)}
其中:
S(i)為亮度值為i時(shí)的主動(dòng)輪廓模型;
i為亮度值,即代表一種膚色光照量(i=0,1,…,M-1);
(xk,yk)為主動(dòng)輪廓模型S(i)中的序號為k的輪廓像素點(diǎn);
n為主動(dòng)輪廓模型S(i)中的輪廓像素點(diǎn)的總個(gè)數(shù);
所述獲得的主動(dòng)輪廓模型S(i)由n個(gè)像素點(diǎn)組成,且相鄰兩個(gè)像素點(diǎn)之間的距離小于等于1。所有的輪廓點(diǎn)依次相連可組成閉合輪廓φ(i),即對于亮度為i的像素點(diǎn)(x,y)i,若滿足(x,y)i∈φ(i),則所述像素點(diǎn)(x,y)i是膚色點(diǎn)。
對所述獲得的主動(dòng)輪廓模型S(i)(i=0,1,…,M-1)建立三維查找表,即獲得所述膚色模型。
本發(fā)明的有益效果是,從訓(xùn)練數(shù)據(jù)庫中挖掘所有可能出現(xiàn)的膚色光照情況,由此生成多個(gè)光照主動(dòng)輪廓模型,這些光照模型能夠有效地對不同的膚色光照信息進(jìn)行模擬,從而達(dá)到提高檢測精度的目的。同時(shí)光照主動(dòng)輪廓模型采用查找表的形式表達(dá),可以極大地提高檢測速度。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,并不構(gòu)成對本發(fā)明的限定。在附圖中:
圖1為本發(fā)明的膚色檢測流程圖。
圖2為本發(fā)明的膚色模型訓(xùn)練流程圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施方式和附圖,對本發(fā)明做進(jìn)一步詳細(xì)說明。在此,本發(fā)明的示意性實(shí)施方式及其說明用于解釋本公開,但并不作為對本發(fā)明的限定。
本發(fā)明實(shí)施例提供一種膚色檢測方法,以下結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明。
在一個(gè)實(shí)施例中,如圖1所示,該膚色檢測方法包括:
步驟S101:將待檢測圖像轉(zhuǎn)換為顏色空間內(nèi)的圖像。
在獲得待檢測圖像后,將該待檢測圖像轉(zhuǎn)換至顏色空間(YCbCr空間),得到亮度通道Y(u,v)和顏色通道:Cb通道Cb(u,v),Cr通道Cr(u,v),其中u∈[0,m],v∈[0,n],m為圖像寬度,n為圖像高度。
步驟S102:獲得待檢測圖像在顏色空間內(nèi)的膚色樣本。
獲得待檢測圖像的膚色樣本,該膚色樣本即待檢測圖像中每一坐標(biāo)點(diǎn)pos(u,v)在顏色空間中對應(yīng)的像素值color=(Cb,Cr)。
步驟S103:采用預(yù)先構(gòu)建的膚色模型對膚色樣本進(jìn)行檢測,獲得待檢測圖像中膚色像素點(diǎn)。
在執(zhí)行步驟S103之前,首先構(gòu)建膚色模型,該膚色模型是用于確定像素點(diǎn)是否為膚色點(diǎn)的模型,該模型是利用多個(gè)已知膚色樣本進(jìn)行訓(xùn)練獲得的。
該模型的構(gòu)建方式如圖2所示,可以包括:
步驟S201,收集已知膚色分布的樣本圖像
在本步驟中,收集的樣本圖像最好要求覆蓋典型的光照環(huán)境,無色偏,無誤檢,如果使用人臉樣本圖像,則注意避開眼睛、嘴巴等非皮膚區(qū)域。這些樣本圖像中的膚色分布已知。
步驟S202,將樣本圖像轉(zhuǎn)換為顏色空間內(nèi)的圖像。
然后將這些樣本圖像轉(zhuǎn)換至YCbCr空間。
步驟S203,獲得樣本圖像在顏色空間內(nèi)的已知膚色樣本。
獲得各樣本圖像在顏色空間的已知膚色樣本,該已知膚色樣本中各樣本點(diǎn)均為膚色點(diǎn)。其中,第k個(gè)樣本點(diǎn)pk=(Yk,Cbk,Crk),所有n個(gè)樣本點(diǎn)集合P={p1,p2,…,pn}。
步驟S204,通過統(tǒng)計(jì)各個(gè)亮度值的像素分布,建立多個(gè)膚色主動(dòng)輪廓模型。
在獲得樣本點(diǎn)集合P后,根據(jù)亮度信息Y對樣本點(diǎn)集合P分類統(tǒng)計(jì),即可得到樣本點(diǎn)統(tǒng)計(jì)集合P'={P'0,P'1,…,P'M},其中M為亮度值Y取值的最大值,P'i為所有樣本點(diǎn)中亮度值Y=i的樣本點(diǎn)的統(tǒng)計(jì)集合P'i={p'1,p'2,…,p'n},式中第k個(gè)樣本點(diǎn)p'k=(Cbk,Crk,Nk),其中Nk為在亮度值Y=i的前提下像素點(diǎn)(Cbk,Crk)出現(xiàn)的次數(shù)。
在獲得不同亮度值下的樣本點(diǎn)統(tǒng)計(jì)集合P'后,即可利用主動(dòng)輪廓法對各個(gè)樣本統(tǒng)計(jì)點(diǎn)集合進(jìn)行訓(xùn)練,得到連續(xù)、平滑的膚色分布,進(jìn)而獲得M個(gè)主動(dòng)輪廓模型。
步驟S205,對獲得的多個(gè)膚色主動(dòng)輪廓模型建立三維查找表,獲得膚色模型。
在獲得M個(gè)主動(dòng)輪廓模型后,根據(jù)每個(gè)主動(dòng)輪廓模型對應(yīng)的亮度值和(Cbk,Crk)分布建立三維查找表,即獲得最終的膚色模型。
上述實(shí)施例只為說明本發(fā)明的技術(shù)構(gòu)思及特點(diǎn),其目的在于讓熟悉此項(xiàng)技術(shù)的人士能夠了解本發(fā)明的內(nèi)容并加以實(shí)施,并不能以此限制本發(fā)明的保護(hù)范圍,凡根據(jù)本發(fā)明精神實(shí)質(zhì)所作的等效變化或修飾,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍內(nèi)。