吳建平 詹楨 鄧鑫
摘 ?要:文章基于YCbCr色彩空間理論,建立二維高斯模型將樣本圖片轉(zhuǎn)換成膚色似然圖,并對其進(jìn)行腐蝕、膨脹處理,得到人臉區(qū)域;將訓(xùn)練好的弱分類器組成強(qiáng)分類器,進(jìn)一步組成級聯(lián)分類器,結(jié)合Adaboost算法,最終確認(rèn)樣本圖片的人臉區(qū)域。
關(guān)鍵詞:人臉識別;YCbCr色彩模型;Adaboost算法;人臉膚色區(qū)域
中圖分類號:TP391.41 文獻(xiàn)標(biāo)志碼:A ? ? ? ? 文章編號:2095-2945(2020)25-0040-03
Abstract: Based on the YCbCr color space theory, this paper establishes a two-dimensional Gaussian Model to transform the sample image into a skin color likelihood image, and then corrodes and expands it to get the face region; the trained weak classifier is composed of a strong classifier to form a cascade classifier, and combined with the Adaboost algorithm, the face region of the sample image is finally confirmed.
Keywords: face recognition; YCbCr color model; Adaboost algorithm; facial skin color region
1 需要解決的問題
本文研究的問題來源于2018年第十一屆華中地區(qū)數(shù)學(xué)建模邀請賽A題:通過運(yùn)用所學(xué)知識建立人臉位置判斷的數(shù)學(xué)模型,判斷出人臉在照片中的大致位置,并在圖片中用擬設(shè)計(jì)的模型“框出”人臉的大致位置。
2 YCbCr色彩空間理論介紹
2.1 YCbCr色彩空間理論[1]
YCbCr色彩空間是ITU-RBT.601的一部分,YCbCr或Y'CbCr顏色空間通常用于膠片或數(shù)碼攝影系統(tǒng)的連續(xù)圖像處理。實(shí)際上YCbCr是YUV的一個縮放版本。YCbCr和YUV中的Y有著相同的含義。其中Y表示亮度(luma)分量(灰度值),Cb表示藍(lán)色色度分量,Cr表示紅色色度分量。
2.2 膚色檢測[2]
膚色是人臉先天存在的特征,將膚色作為人臉檢測的出發(fā)點(diǎn)是最直接的方式。在人臉圖像中,膚色一般是相對集中且穩(wěn)定的具有一定程度聚類性質(zhì)的連通區(qū)域,同時根據(jù)研究表明,雖然人存在年齡、種族以及性別的差別,但將人臉經(jīng)過灰度化處理后其差異主要表現(xiàn)在亮度上,因此,膚色檢測是人臉檢測極好的手段,但要想獲得在圖像空間中的膚色,就需要通過膚色檢測和膚色分割來實(shí)現(xiàn),進(jìn)而才能進(jìn)一步檢測出人臉在圖像中存在的區(qū)域。人臉檢測實(shí)現(xiàn)的基本流程圖如圖1。
3 建立模型求解
3.1 顏色空間和膚色模型
3.2 Adaboost算法具體步驟
Adaboost是一種迭代算法[5-6],同樣也是級連算法,它的基本思想是將整個訓(xùn)練集分成許多不同訓(xùn)練的弱分類器,當(dāng)分類器分類正確的時候,減小分類器的權(quán)值,當(dāng)分類器分類錯誤時,需要對分類器增加權(quán)值。當(dāng)多個弱分類器能夠正確分類時,將其組成強(qiáng)分類器,最后將強(qiáng)分類器串聯(lián)成一個級聯(lián)分類器,該訓(xùn)練好的級聯(lián)分類器便可用于人臉檢測。Adaboost算法中弱分類器的訓(xùn)練過程具體如下:
3.2.1 設(shè)訓(xùn)練樣本(x1,y1),(x2,y2),…,(xn,yn),其中yi=1表示訓(xùn)練樣本圖像是人臉,也就是正樣本,而yi=0表示訓(xùn)練樣本圖片為非人臉,也就是負(fù)樣本。設(shè)訓(xùn)練樣本圖片中人臉正樣本的個數(shù)為n1,非人臉的負(fù)樣本的個數(shù)為n2。
3.2.2 在訓(xùn)練過程中,需要對弱分類器進(jìn)行權(quán)重初始化,當(dāng)?shù)趇個弱分類器對第j個樣本分類出現(xiàn)錯誤時,則增大第j個樣本在后續(xù)分類器中的權(quán)重。其權(quán)重初始化為:
3.2.3 設(shè)共需從原有的N個分類器中選擇T個弱分類器,用t來進(jìn)行當(dāng)前弱分類器的技術(shù),則t=1,2,…,T;第t輪的最佳弱分類器為:
(1)權(quán)重歸一化。(2)弱分類器訓(xùn)練。(3)最佳弱分類器選取。(4)權(quán)重更新。
3.2.4 訓(xùn)練器在經(jīng)過T輪訓(xùn)練后,很大程度上可以獲得T個最佳分類器,其中,因每5個弱分類器在訓(xùn)練中或正確的情況不同,因而有不同的權(quán)重,所有每個弱分類器都有其對應(yīng)的特征、閾值和方向指示符。最后,通過線性加權(quán)出錯將弱分類器合成強(qiáng)分類器:
3.3 模型求解結(jié)果
借助Matlab計(jì)算工具,編寫人臉檢測的代碼,識別結(jié)果如圖2、3、4、5所示。
Matlab人臉檢測部分程序:
close;
clear all;
clc;
M = [124.2125 132.9449]' ?; %膚色均值
Sigma =[75.3881 ?40.2587 ? 40.2587 ?250.2942];%膚色方差
Img ?= imread('xjpic.jpg');
figure,imshow(Img),title('原始圖像');
Img2 ?= rgb2ycbcr(Img);%顏色空間轉(zhuǎn)換
% figure,imshow(Img2(:,:,1));title('Y');