一種膚色檢測方法及裝置的制造方法
【技術領域】
[0001] 本發明實施例涉及計算機視覺領域,尤其涉及一種膚色檢測方法及裝置。
【背景技術】
[0002] 在與人有關的各種機器視覺系統中,膚色檢測越來越多的被重視,例如在基于手 勢的人機交互系統中,需要首先圖像中獲取手的位置。而當前最常用的方法就是通過對膚 色進行檢測從而獲取手勢信息。將手從圖像分割出來,目前最常用的分割方法就是基于膚 色的分割。
[0003] 根據是否涉及成像的過程,膚色檢測的方法分成兩種基本類型:基于統計的方法 和基于物理的方法。基于統計的膚色檢測方法主要通過建立膚色統計模型進行膚色檢測, 主要包括兩個步驟:顏色空間變換和膚色建模;基于物理的方法則在膚色檢測中引入光照 與皮膚間的相互作用,通過研究膚色反射模型和光譜特性進行膚色檢測。
[0004] 基于統計的膚色檢測方法的靜態建模中,基于直方圖的膚色檢測是膚色檢測方法 中最簡單、快速和有效的。但它需要采集大量的樣本進行統計才能得到較好的分割效果,而 樣本的采集是一件耗時耗力的工作。
[0005] 因此,一種高效的膚色檢測方法亟待提出。
【發明內容】
[0006] 本發明實施例提供一種膚色檢測方法及裝置,用以解決現有技術中需采集大量樣 本進行統計才能得到較好分割效果的缺陷,實現了高效的膚色檢測。
[0007] 本發明實施例提供一種膚色檢測方法,包括:
[0008] 讀取RGB圖像,并將所述RGB圖像由RGB顏色空間轉換到r-g顏色空間,得到待檢 測的圖像;
[0009] 遍歷讀取所述待檢測的圖像中的每一像素點并根據預先建立的混合高斯模型計 算所述像素點在皮膚混合高斯模型下的第一概率密度以及所述像素點在非皮膚混合高斯 模型下的第二概率密度;
[0010] 根據所述像素點的所述第一概率密度和所述第二概率密度計算所述像素點屬于 皮膚區域的后驗概率;
[0011] 當判定所述后驗概率大于預設的后驗概率閾值時,將所述像素點歸屬于皮膚區 域。
[0012] 本發明實施例提供一種膚色檢測裝置,包括:
[0013] 圖像轉換模塊,用于讀取RGB圖像,并將所述RGB圖像由RGB顏色空間轉換到r-g 顏色空間,得到待檢測的圖像;
[0014] 概率計算模塊,用于遍歷讀取所述待檢測的圖像中的每一像素點并根據預先建立 的混合高斯模型計算所述像素點在皮膚混合高斯模型下的第一概率密度以及所述像素點 在非皮膚混合高斯模型下的第二概率密度;用于根據所述像素點的所述第一概率密度和所 述第二概率密度計算所述像素點屬于皮膚區域的后驗概率;
[0015] 膚色區域判斷模塊,用于當判定所述后驗概率大于預設的后驗概率閾值時,將所 述像素點歸屬于皮膚區域。
[0016] 本發明實施例提供的膚色檢測方法及裝置,通過將RGB圖像轉化為r-g圖像,在一 定程度上限制了光照對膚色檢測的影響;與此同時,本發明實施例通過建立皮膚混合高斯 模型和非皮膚混合高斯模型,對待檢測圖像中的每一像素點判斷其屬于皮膚區域的后驗概 率,在樣本數量較少時也具有很好的膚色檢測效果,提高了膚色檢測的效率。
【附圖說明】
[0017] 為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現 有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發 明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根 據這些附圖獲得其他的附圖。
[0018] 圖1為本發明實施例一的技術流程圖;
[0019] 圖2為本發明實施例二的技術流程圖;
[0020] 圖3為本發明實施例三的裝置結構示意圖。
【具體實施方式】
[0021] 為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例 中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員 在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0022] 本發明是實施例提出的技術方案可以使用在任何需要皮膚檢測檢測或膚色分割 的技術領域,例如人臉檢測,手勢識別,智能鑒黃等。另外,需要說明的是,本發明實施例中, 各實施例并非單獨存在,是可以相互補充或組合的,例如,實施例一是使用混合高斯模型進 行膚色檢測的一種示例,實施例二是混合高斯模型建立過程的一種示例,兩個實施例相互 組合是對本發明實施例的更詳細敘述。
[0023] 實施例一
[0024] 圖1是本發明實施例一的技術流程圖,結合圖1,本發明實施例一種膚色檢測方法 主要包括如下的步驟:
[0025] 步驟110 :讀取RGB圖像,并將所述RGB圖像由RGB顏色空間轉換到r-g顏色空間, 得到待檢測的圖像;
[0026] 本發明實施例中,采用如下公式將所述RGB圖像由RGB顏色空間轉換到r-g顏色 空間:
[0029] b = 1-r-g
[0027]
[0028]
[0030] 其中,R為所述像素點的紅色值、G為所述像素點的綠色值、B為所述像素點的藍色 值;r、g、b分別為轉化后所述像素點對應的顏色值。
[0031] 此處的RGB顏色空間是指通過對紅(R)、綠(G)、藍⑶三個顏色通道的變化以及 它們相互之間的疊加來得到各式各樣的顏色。通常情況下,RGB各有256級亮度,用數字表 示為從0、1、2...直到255。一個RGB顏色值指定紅、綠、藍三原色的相對亮度,生成一個用 于顯示的特定顏色,即任何一個顏色都可以由一組RGB值來記錄和表達。例如,某一像素點 對應的RGB值為(149,123,98),這一像素點的顏色為RGB三種顏色的不同亮度的疊加。
[0032] 本發明實施例中,使用OpenCv可直接獲得圖片中每一像素點對應的RGB值,實現 代碼可以是這樣:
[0033] CvScalar p ;
[0034] p = cvGet2D (Imageln, j, i);
[0035] double a = p. val [0];
[0036] double b = p. val [1];
[0037] double c = p. val [2];
[0038] 其中,i、j分別是像素點在圖像上的橫縱坐標;通道0、1、2分別對應的是藍、綠、紅 三種顏色的亮度數值;
[0039] 本發明實施例中,將顏色空間由RGB轉化為r-g,實際上是對RGB色彩的歸一化過 程。在這個歸一化的過程中,當某個像素受光照或陰影的影響而產生顏色通道R、G、B值變 化時,歸一化公式中的分子分母同時變化,得到的歸一化值實際浮動并不大,這種變換方式 從圖像上移除了光照的信息,因此可以減弱光照的影響。
[0040] 例如:歸一化前T1時刻的像素 A的像素值為:RGB (30, 60, 90),T2時刻,由于受光 照影響,RGB三個顏色通道的顏色值產生了變化,像素 A的像素值變為RGB (60, 120, 180)。
[0041] 經歸一化公式轉化為r-g空間之后,T1時刻的像素 A的像素值為: rgb (1/6, 1/3, 2/3),T2時刻的像素 A的像素值為:rgb (1/6, 1/3, 2/3)。由此可見,T1和T2 時刻的歸一化RGB的值并沒有發生變化。
[0042] 步驟120 :遍歷讀取所述待檢測的圖像中的每一像素點并根據預先建立的混合高 斯模型計算所述像素點在皮膚混合高斯模型下的第一概率密度以及所述像素點在非皮膚 混合高斯模型下的第二概率密度;
[0043] 混合高斯模型GMM,也稱M0G,是單高斯模型的擴展,它使用K (基本為3到10個) 個高斯模型來表征圖像中各個像素點的特征。
[0044] 單高斯模型的公式表述如下所示:
[0045]
[0046] 其中,X屬于d維歐幾里得空間,a是單高斯模型的均值向量,S是單高斯模型的協 方差矩陣,(廣表示矩陣的轉置運算,0 1表示矩陣的逆運算。
[0047