
[摘 要]由于色情圖像有大量裸露皮膚這一顯著特征,色情圖像過濾技術一般都是從膚色這一角度進行研發,通過計算出膚色像素這一比例值,可以排除大部分色情圖像。但僅僅利用膚色這一特征進行色情圖像過濾,又有著明顯的不足,因為有些顏色像素和皮膚的膚色像素非常相近,這樣一來就可能將合法圖像判別為色情圖像,從而出現誤檢的情況。因此,除了膚色這一全局特征,本系統還將綜合利用Surf這一局部特征來進行圖像分類識別。
[關鍵詞]圖片過濾;色情圖像;膚色;紋理
1 算法原理
由于色情圖像有大量裸露皮膚這一顯著特征,色情圖像過濾技術一般都是從膚色這一角度進行研發,通過計算出膚色像素這一比例值,可以排除大部分色情圖像。但僅僅利用膚色這一特征進行色情圖像過濾,又有著明顯的不足,因為有些顏色像素和皮膚的膚色像素非常相近,這樣一來就可能將合法圖像判別為色情圖像,從而出現誤檢的情況。因此,除了膚色這一全局特征,本系統還將綜合利用Surf這一局部特征來進行圖像分類識別。
為了將全局特征和局部特征聯合起來,本色情圖像識別算法包括兩個部分:視覺詞典的訓練和圖片的過濾。其中局部特征被應用在視覺詞典的訓練中,全局特征被應用在圖片的過濾中。視覺詞典的訓練就是在提取訓練圖像集的Surf特征并生成相應Surf特征描述符的基礎上,利用BoVW這一視覺詞袋模型,分別訓練合法圖像集和色情圖像集的詞典,并輸出詞典文件以備過濾使用。
2 算法設計說明
根據該算法的原理分析,其設計被分為相應的兩個部分:詞典訓練和圖片檢測。算法總體邏輯流程圖如下圖所示。
算法總體邏輯流程
2.1 詞典訓練
這部分主要訓練正向和逆向的基于BoVW模型的詞典數據,其中正向包括合法的大頭貼圖片數據集和非大頭貼數據集。這部分具體說明如下:
①讀取訓練數據集,正向和逆向數據集要分別訓練;②圖片加載和預處理,圖片預處理主要將圖片正規化為同一大小(實驗中為320×240),檢測部分的圖片也要規范到相同大??;③特征提取,提取圖片基于Surf特征的關鍵點;④特征表示,將每個特征關鍵點表示為基于Surf特征的特征描述符(一個64維向量);⑤聚類和詞典輸出,聚類采用K-Means聚類算法,聚類維數根據訓練的數據不同而不同,這里我們設正向人臉詞典為5000維,正向其他圖片詞典為10萬維,逆向詞典為5萬維。聚類后生成詞典文件并保存輸出,以備圖片過濾使用。
2.2 圖片檢測
這部分的檢測算法主要包括兩個部分——合法圖片初檢和基于全局和局部特征融合的非法圖片檢測。合法圖片初檢是為了初步過濾掉一部分合法圖片,去除人臉部分后,基于YCrCb膚色和紋理膚色比例滿足設定的閾值,即分類為合法圖片;而基于全局和局部特征融合的非法圖片檢測就是為了檢測出色情圖片,其中全局圖片主要是去除人臉的基于YCrCb的膚色比例特征,局部特征是基于Surf特征,檢測圖片滿足非法圖片的閾值,即可分類為色情圖片。
①加載訓練的BoVW模型詞典,可以同時加載多個詞典,但必須包括正向和逆向的詞典;②建立基于詞典的索引,采用KD-Tree索引分別建立正向和逆向的索引;③圖片加載和預處理,圖片預處理主要將圖片正規化為統一大?。▽嶒炛袨?20×240),此處理要與訓練部分中的相同;④人臉檢測,基于OpenCV中訓練好的分類器進行人臉所在圖片比例的計算;⑤基于YCrCb膚色檢測,計算去除人臉后的基于YCrCb膚色所在圖片的比例,如果滿足合作圖片的閾值則進行基于紋理的膚色檢測,否則進行非法圖片檢測;⑥基于紋理的膚色檢測,滿足YCrCb膚色檢測為合作圖片后,進行紋理的膚色檢測,計算去除人臉后的基于紋理膚色所在圖片的比例,如果滿足合作圖片的閾值則分類為合法圖片,否則進行非法圖片檢測;⑦特征提取與特征表示,這兩個步驟與詞典訓練中的相應步驟相同,參見詞典訓練中說明;⑧基于BoVW詞典的KNN檢索,基于BoVW的正向和逆向詞典索引,對每一個特征描述符按照KNN算法進行檢索,計算待測圖片中為逆向特征描述符的距離均值和逆向特征描述符的比例因子;⑨非法圖片的判別,同時滿足YCrCb膚色、逆向特征距離均值和逆向特征比例因子三個設定的閾值,即判別為非法圖片,否則為合法圖片(這里設定的閾值為:膚色比例>0.2,0.025<逆向特征距離均值<0.048,逆向特征比例>0.65)。
經過圖片檢測后,待分類的測試圖像集就能被分為合法圖像集和色情圖像集。
3 Surf(Speed-up Robust Features)算法
Surf(Speed-up Robust Features)算法是Sift(Scale-invariant Feature Transform)算法的加速版,其在適中的條件下可以完成兩幅圖像中物體匹配的實時處理,其快速的基礎實際上只有一個,即積分圖像Haar求導。對于兩幅既有旋轉又有縮放變化的圖像,如何確定哪些點是興趣點呢?因為是不會隨著圖像變化而變化的點,所以就是要找到圖像中的一些穩定點,比如角點、邊緣點、亮區域中的暗點以及暗區域中的亮點。而Surf算法對于這些點的檢測是基于最基本的Hessian近似矩陣。
4 結 語
正確判斷一幅圖像是否為色情圖像,膚色的檢測就成了過濾色情圖像的一種常用方法。可以排除人臉所占比例超過一定閾值的圖像后(實驗圖像集中主要為大頭貼),然后利用膚色檢測與紋理檢測相結合的方法,并且采用KNN(K近鄰)算法建立對應的圖像分類器,實現了色情圖像的實時檢測。
參考文獻:
[1]李鈺,孟祥萍.基于Gabor濾波器的圖像紋理特征提取[J].長春工業大學學報,2008,29(1):78-81.
[2]韓琳,楊明.基于小波變換的紋理特征提取分析[J].電腦知識與技術(學術交流),2007,2(11).
[3]王新成.高級圖像處理技術[M].北京:中國科學技術出版社,2001.
[4]王導,張學平.網絡化中心控制多點前端的數據及圖像管理[J].中國市場,2009(40).
[5]石紅芹,曾輝.一種新型彩色圖像盲水印算法在電子商務中的應用[J].中國市場,2008(41).