一種膚色樣本獲取方法及裝置的制造方法
【專利摘要】本發明實施例提供一種膚色樣本獲取方法及裝置。獲取圖像,并檢測人臉區域;當檢測到人臉區域后提取人臉區域的像素,并將所述人臉區域的像素保存到皮膚像素樣本,將所述人臉區域以外的像素保存到非皮膚像素樣本。實現了膚色樣本的自動獲取,減少了人力物力的投入。
【專利說明】
_種膚色樣本獲取方法及裝置
技術領域
[0001]本發明實施例涉及計算機視覺領域,尤其涉及一種膚色樣本獲取方法及裝置。
【背景技術】
[0002]在與人有關的各種機器視覺系統中,膚色檢測越來越多的被重視,例如在基于手勢的人機交互系統中,需要首先圖像中獲取手的位置。而當前最常用的方法就是通過對膚色進行檢測從而獲取手勢信息。將手從圖像分割出來,目前最常用的分割方法就是基于膚色的分割。
[0003]根據有沒有涉及成像的過程,膚色檢測的方法分成兩種基本類型:基于統計的方法和基于物理的方法。基于統計的膚色檢測方法主要通過建立膚色統計模型進行膚色檢測,主要包括兩個步驟:顏色空間變換和膚色建模;基于物理的方法則在膚色檢測中引入光照與皮膚間的相互作用,通過研究膚色反射模型和光譜特性進行膚色檢測。
[0004]通常建立膚色模型需要事先獲取皮膚像素和非皮膚像素的樣本,以便根據膚色提取出手或人臉的位置,進而完成后續的操作。獲取樣本的過程需要人工在圖片中標記皮膚區域和非皮膚區域,這會耗費大量的人力和物力。
[0005]因此,一種新的膚色樣本獲取方法亟待提出。
【發明內容】
[0006]本發明實施例提供一種膚色樣本獲取方法及裝置,用以解決現有技術中需要人工區分膚色像素樣本和非膚色像素向本的缺陷,減少了人力和物力的投入。
[0007]本發明實施例提供一種膚色樣本獲取方法,包括:
[0008]獲取圖像,并檢測人臉區域;
[0009]當檢測到人臉區域后提取人臉區域的像素,并將所述人臉區域的像素保存到皮膚像素樣本,將所述人臉區域以外的像素保存到非皮膚像素樣本。
[0010]本發明實施例提供一種膚色樣本獲取裝置,包括:
[0011]人臉檢測模塊,用于獲取圖像,并檢測人臉區域;
[0012]膚色樣本獲取模塊,用于當檢測到人臉區域后提取人臉區域的像素,并將所述人臉區域的像素保存到皮膚像素樣本,將所述人臉區域以外的像素保存到非皮膚像素樣本。
[0013]本發明實施例提供的膚色樣本獲取方法及裝置,通過對人臉的識別以及眼睛區域像素的過濾,得到了高質量的皮膚區域的樣本,改變了現有技術中,人工對膚色樣本進行標記的繁瑣過程,減少了人力物力的投入。
【附圖說明】
[0014]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0015]圖1為本發明實施例一的技術流程圖;
[0016]圖2為本發明實施例二的裝置結構示意圖。
【具體實施方式】
[0017]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0018]實施例一
[0019]圖1是本發明實施例一的技術流程圖,結合圖1,本發明實施例一種膚色樣本獲取方法主要由兩個大的步驟實現:
[0020]步驟110:獲取圖像,并檢測人臉區域;
[0021]人臉檢測主要用于人臉識別的預處理,即在圖像中準確標定出人臉的位置和大小。人臉圖像中包含的模式特征十分豐富,如直方圖特征、顏色特征、模板特征、結構特征及Haar特征等。人臉檢測就是把這其中有用的信息挑出來,并利用這些特征實現人臉識別。
[0022]本發明實施例的核心在于利用人臉識別中的人臉檢測步驟提取出人臉區域,將提取到的人臉區域進行進一步地處理,得到關于人臉的膚色像素樣本,其中,所述人臉檢測是指在圖像或視頻中判斷是否有人臉的存在,若存在,判斷人臉的大小,位置等,本發明實施例中,采用Opencv作為人臉檢測的工具。
[0023]OpenCV是Intel公司支持的開源計算機視覺庫。它由一系列C函數和少量C++類構成,實現了圖像處理和計算機視覺方面的很多通用算法輕量級而且高效。作為一個基本的計算機視覺、圖像處理和模式識別的開源項目,OpenCV可以直接應用于很多領域,其中就包括很多可以應用于人臉識別的算法實現,是作為第二次開發的理想工具。
[0024]OpenCV中有檢測人臉的函數,甚至還包含一些預先訓練好的物體識別文件。OpenCV中的人臉檢測主要是調用已訓練好的Haar分類器來對采集的圖像進行模式匹配。
[0025]因此,本發明實施例中,首先將人臉的Haar特征分類器導入OpenCV,用以檢測人臉區域,Harr特征分類器的載入方法使用c vLoad實現。
[0026]需要說明的是,由于大部分的臉部檢測算法對光照,臉部大小,位置表情等非常敏感,本發明實施例中,對待檢測圖像進行預處理以得到所述圖像對應的高質量的灰度圖像,其中所述預處理包括光照補償、濾波去噪、灰度化以及直方圖歸一化等。其中,濾波去噪的方法可以采用高斯濾波、均值濾波、中值濾波等等,本發明實施例不做限制。
[0027]高斯濾波是一種線性平滑濾波,適用于濾除高斯白噪聲。對圖像進行高斯濾波時,每個像素點的像素值由所述像素點本身的灰度值及其鄰域內的其他像素灰度值加權平均所得,而加權平均的權系數由二維離散高斯函數采樣并歸一化后所得。
[0028]均值濾波也稱為線性濾波,其采用的主要方法為鄰域平均法。線性濾波的基本原理是用均值代替原圖像中的各個像素值,即對待處理的當前像素點(X,y),選擇一個模板,該模板由其近鄰的若干像素組成,求模板中所有像素的均值,再把該均值賦予當前像素點(x,y),作為處理后圖像在該點上的灰度值g(x,y),即g(x,y) = l/m2f (x,y),m為該模板中包含當前像素在內的像素總個數。這樣的方法可以平滑圖像,速度快,算法簡單。但是無法去掉噪聲,這能微弱的減弱它。
[0029]中值濾波法是一種非線性平滑技術,它將每一像素點的灰度值設置為所述像素點某鄰域窗口內的所有像素點灰度值的中值。其實現過程首先通過從的一定大小的采樣窗口取出若干像素點的像素值進行排序,其次用排序后的中值作為當前像素點的灰度值。中值濾波常用來保護邊緣信息,是經典的平滑噪聲的方法,對消除椒鹽噪音非常有效。
[0030]本發明實施例中,可以通過上述方法中的任意一種或其組合來對進行人臉檢測之前的彩色圖像進行濾波,以此獲得更高質量的待處理圖像。
[0031 ] 對待檢測圖像進行光照補償,可以調用OpenCV的cvNormalize(),對圖像的整體灰度值進行調節以此實現光照補償。
[0032]圖像的預處理過程進一步還包括灰度化以及直方圖歸一化等,具體執行過程為,利用OpenCV中的cvCvtcolor()函數將采集到的彩色圖像轉化為灰度圖像,并利用cvEqualizeHist O函數進行直方圖歸一化處理。
[0033]得到預處理后的圖像之后即可開始人臉區域的檢測。OpenCV具體的臉部檢測方法是采用Haar cascade classifier人臉檢測器,其原理是利用保存在XML文件(人臉檢測中為haarcascade_frontalface_alt2.xml文件)中的數據來確定每一個局部搜索圖像的位置。其具體實現為,首先用cvLoad()從haarcascade_frontalface_alt2.xml文件中加載CvHaarClassif ierCascade變量,然后利用cvHaarDetectOb jects ()函數來進行檢測,cvHaarDetectObjects()函數使用針對某目標物體訓練的級聯分類器在圖像中找到包含目標物體的矩形區域,并且將這些區域作為一序列的矩形框返回,最終檢測結果保存在cvRect變量中。
[0034]cvHaarDetectOb jects 函數的定義如下:
[0035]CVAPI(CvSeq*)cvHaarDetectObjects(
[0036]const CvArr*image,
[0037]CvHaarClassifierCascade*cascade,
[0038]CvMemStorage^storage,
[0039]double scale_factor CV_DEFAULT(1.1),
[0040]int min_neighbors CV_DEFAULT(3),
[0041 ] int flags CV_DEFAULT(0),
[0042]CvSize min_size CV_DEFAULT(cvSize(0,0)),
[0043]CvSize max_size CV_DEFAULT(cvSize(0,0)));
[0044]其中,參數const CvArr為輸入圖像、參數CvMemStorage為Harr特征分類器,參數CvMemStorage為內存變量,其余的參數都使用默認值。
[0045]步驟120:當檢測到人臉區域后提取人臉區域的像素,并將所述人臉區域的像素保存到皮膚像素樣本,將所述人臉區域以外的像素保存到非皮膚像素樣本。
[0046]需要說明的是,本發明實施例進一步包括從所述人臉中過濾掉非皮膚區域的像素得到所述皮膚像素樣本,其中,所述非皮膚區域包括眉毛和眼睛等區域的像素。
[0047]人眼眉及其周圍的像素與人的皮膚像素值存在一定的差值,將這部分非皮膚區域的像素去除將能得到更加高質量的皮膚樣本。
[0048]本發明實施例中,采用人眼睛區域的提取方法同樣采用OpenCV提供的分類器haarcascade_eye.xml實現,同人臉區域識別相同,人眼區域的識別過程具體為,首先用c vLoad ()從 haarcascade_eye.xml 文件中加載CvHaarClass if ierCascade 變量,然后利用cvHaarDetectOb jects()函數來進行檢測,cvHaarDetectOb jects()函數使用針對某目標物體訓練的級聯分類器在圖像中找到包含目標物體的矩形區域,并且將這些區域作為一序列的矩形框返回,最終檢測結果保存在cvRect變量中。
[0049]將得到的人臉及人眼檢測結果映射到最初獲取到的彩色圖像中,人臉區域內的排除人眼區域的像素是皮膚樣本,人臉以外區域是非皮膚樣本。
[0050]本實施例中,通過對人臉的檢測以及眼睛區域像素的過濾,得到了高質量的皮膚區域的樣本,改變了現有技術中,人工對膚色樣本進行標記的繁瑣過程,減少了人力物力的投入。
[0051 ] 實施例二
[0052]圖2是本發明實施例二的裝置結構示意圖,結合圖2,本發明實施例一種膚色樣本獲取裝置,包括如下的模塊:人臉檢測模塊210、膚色樣本獲取模塊220。
[0053]所述人臉檢測模塊210,用于獲取圖像,并檢測人臉區域;
[0054]所述膚色樣本獲取模塊220,與所述人臉檢測模塊210相連接,用于當檢測到人臉區域后提取人臉區域的像素,并將所述人臉區域的像素保存到皮膚像素樣本,將所述人臉區域以外的像素保存到非皮膚像素樣本。
[0055]所述人臉檢測模塊210進一步用于,將人臉的Haar特征分類器導入OpenCV,用以檢測人臉區域。
[0056]所述人臉檢測模塊210進一步還用于,對待檢測圖像進行預處理以得到所述圖像對應的高質量的灰度圖像,其中所述預處理包括光照補償、濾波去噪、灰度化以及直方圖歸一化等。
[0057]所述膚色樣本獲取模塊220進一步用于,從所述人臉中過濾掉非皮膚區域的像素得到所述皮膚像素樣本,其中,所述非皮膚區域包括眉毛和眼睛等區域的像素。
[0058]圖2所示裝置可以執行圖1所示實施例的方法,實現原理和技術效果參考圖1所示實施例,不再贅述。
[0059]應用實例
[0060]在實際中操作中,利用人臉檢測提取皮膚像素需要一臺計算機和一臺彩色攝像機,其中所述計算機中安裝有人臉識別的軟件。
[0061 ]基本步驟如下:首先將彩色攝像機與計算機連接;打開膚色樣本采集軟件,即本發明實施例中所述的OpenCV;將人臉正對攝像頭,軟件將自動檢測人臉,對人臉區域進行定位之后,提取人臉區域的像素,并在人臉上對眼睛部分的區域進行定位,從人臉區域中濾除眼睛部分的像素,將得到的皮膚像素樣本和非皮膚像素樣本保存到計算機;當達到目標樣本容量時,停止采集。
[0062]通過以上的步驟,便可以快速得到高質量的膚色樣本,這些樣本可以用來進行其他與膚色有關的模型訓練,例如手勢識別等人機交互系統。
[0063]以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性的勞動的情況下,即可以理解并實施。
[0064]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件。基于這樣的理解,上述技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品可以存儲在計算機可讀存儲介質中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行各個實施例或者實施例的某些部分所述的方法。
[0065]最后應說明的是:以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。
【主權項】
1.一種膚色樣本獲取方法,其特征在于,包括如下的步驟: 獲取圖像,并檢測人臉區域; 當檢測到人臉區域后提取人臉區域的像素,并將所述人臉區域的像素保存到皮膚像素樣本,將所述人臉區域以外的像素保存到非皮膚像素樣本。2.根據權利要求1所述的方法,其特征在于,獲取圖像之前,進一步包括: 將人臉的Haar特征分類器導入OpenCV,用以檢測人臉區域。3.根據權利要求1所述的方法,其特征在于,獲取圖像,進一步包括: 對待檢測圖像進行預處理以得到所述圖像對應的高質量的灰度圖像,其中所述預處理包括光照補償、濾波去噪、灰度化以及直方圖歸一化等。4.根據權利要求1所述的方法,其特征在于,檢測人臉區域,進一步包括: 從所述人臉中過濾掉非皮膚區域的像素得到所述皮膚像素樣本,其中,所述非皮膚區域包括眉毛和眼睛等區域的像素。5.一種膚色樣本獲取裝置,其特征在于,包括如下的模塊: 人臉檢測模塊,用于獲取圖像,并檢測人臉區域; 膚色樣本獲取模塊,用于當檢測到人臉區域后提取人臉區域的像素,并將所述人臉區域的像素保存到皮膚像素樣本,將所述人臉區域以外的像素保存到非皮膚像素樣本。6.根據權利要求5所述的裝置,其特征在于,所述人臉檢測模塊進一步用于: 將人臉的Haar特征分類器導入OpenCV,用以檢測人臉區域。7.根據權利要求5所述的裝置,其特征在于,所述人臉檢測模塊進一步用于: 對待檢測圖像進行預處理以得到所述圖像對應的高質量的灰度圖像,其中所述預處理包括光照補償、濾波去噪、灰度化以及直方圖歸一化等。8.根據權利要求5所述的裝置,其特征在于,所述膚色樣本獲取模塊進一步用于: 從所述人臉中過濾掉非皮膚區域的像素得到所述皮膚像素樣本,其中,所述非皮膚區域包括眉毛和眼睛等區域的像素。
【文檔編號】G06K9/00GK105893924SQ201510844772
【公開日】2016年8月24日
【申請日】2015年11月26日
【發明人】李艷杰
【申請人】樂視致新電子科技(天津)有限公司