侯現坤,周瑋
(宿州學院,安徽宿州,234000)
關鍵字:口罩遮擋;hog 特征;區域比例;邊緣檢測
人臉識別是目前主流生物特征識別技術(Biometrics),在生活中有著廣泛用途,應用于門禁考勤系統,電腦手機安全防范,ATM 機智能報警系統,人物追蹤等領域。具有誤識率低,難仿冒,不易察覺,不需接觸,自然性等優點。因此受到了很多研究者關注,劉瑞欽[1]提出使用多尺度直方圖解決了特征提取時塊的大小選擇問題,使用歐拉公式對矩陣進行白化處理,實驗表明在FERET 數據庫上識別準確度很高。袁寶華[2]基于水平長直線檢測的口罩檢測,首先對圖片歸一化處理,根據眉毛粗定位其他器官,通過檢測波峰來判斷長直線的有無,判斷出口罩位置。蔣嬋,黃晁,陳春燕[3]通過數據增強方法,對訓練集進行手動遮擋,使用平均臉策略,對遮擋區域進行分割和處理,獲得類似于自然遮擋圖像,解決了訓練集樣本不足的問題。林勝光[4]基于神經網絡結合區域權值,并對中間卷積層進行高斯濾波處理,利用使用濾波后的特征進行人臉對比,提高人臉識別的準確度。本文根據霍夫直線檢測判斷人臉是否佩戴口罩,并通過提取未遮擋部分hog 特征,對分類器進行級聯來提高口罩遮擋人臉識別的準確度。
高斯卷積把原始圖片與卷積核中心重疊對應位置相乘,卷積核每次移動一個像素,卷積后得到一張新的圖片,原圖片根據卷積核的大小,選用不同的padding 方式,保證得到的圖片和原始圖片一樣的尺度。使用的高斯核其取自二維高斯分布,對高斯核歸一化卷積之后,保證得到的新的圖片像素值在0 到255,高斯核中心像素點周圍的值會對其產生影響。基于高斯核得到的新的圖像,像素點的值因受到周圍像素點的值產生影響,圖像過度更加平滑,并去掉隨機噪聲。

圖1 原始圖像

圖2 灰度圖像

圖3 二值化圖像
灰度處理使三種色彩分量R,G,B 的值相同,基于加權平均值法,當其權重不同時,形成不同灰度的灰度圖像,使其產生的圖片符合人眼視覺感受。灰度處理可提高程序運算速度。二值化設定一個閾值將圖像像素點灰度值設置為0 或255。
基于形態學圖像處理算法腐蝕與膨脹[5]提取圖像成分,去除二值化圖像噪點。利用結構單元對目標圖像進行腐蝕操作,如果結構單元像素點完全處于目標圖像里,那么結構單元原點所在位置可以輸出。如果結構單元像素點超出目標區域,則結構單元原點位置不能輸出,因此目標區域邊界就會被腐蝕。腐蝕可以縮小或者細化二值圖像中的物體,腐蝕操作將小于結構單元的圖像細節從圖像中濾除。
膨脹操作,結構單元像素點可以超出目標區域范圍,但必須有一部分像素點在目標區域范圍中,結構單元原點所在位置才能輸出。如果結構單元像素點和目標區域沒有聯系,結構單元中心位置不能輸出。基于膨脹操作使目標區域范圍比之前擴大,可以使斷裂部分被連接起來。
基于開操作先腐蝕后膨脹,可以使物體的輪廓更加的平滑并消除細小的突出物,但是也可能會導致細微連接處斷開較窄的狹頸。由于有些部分通過開操作之后,出現新的斷裂無法恢復,并不是我們所期望。為解決這個問題,使用閉操作先膨脹后腐蝕,平滑輪廓的一部分與開操作相反,其通常會彌合較窄的間斷和細長的溝壑,消除小的空洞,填補輪廓的斷裂。
圖像canny 邊緣檢測[6]圖像在垂直于邊緣的方向上像素變化很大。因圖像是離散的,可根據差商的極限對圖像近似求導。使用核對圖像分別進行豎向和橫向兩次卷積,基于豎向和橫向卷積的圖像,得到原始圖像的梯度的幅值和梯度的方向,賦值越大更有可能是邊,保留梯度方向最大的幅值,對非極大值進行抑制。因像素點離散,梯度方向可能沒有幅值存在,則需基于線性差值模擬出兩個點的幅值與中間點幅值進行比較,如果中間點大于另外模擬出的點則將其保留,認為其是該梯度方向最大的值,否則舍棄該點。邊緣的連接和閾值化把灰度小于最小閾值的點去除,大于最大閾值的點保留。去除一些點后圖像會斷斷續續,為解決此問題,將遍歷大于最大閾值的點,此點如果其八領域內存在閾值,其值介于最大閾值和最小閾值中間把它連接起來。

圖4 腐蝕圖像

圖5 膨脹圖像
霍夫直線檢測[7]遍歷每一個像素點,如果是黑色點不執行操作,如果是白色點獲取其x,y 坐標帶入不同的角度,求出不同的r,直到所有的邊緣點都遍歷完,出現最多的r 和角度組合最有可能是直線。

圖6 邊緣檢測圖像

圖7 霍夫直線檢測圖像
基于霍夫直線檢測以及利用hsv 作為膚色檢測判斷出未遮擋部分,提取未遮擋部分Hog 特征[8(]方向梯度直方圖)作為分類對象,其不依賴于顏色,圖像梯度可以分解為水平和豎直方向梯度。水平梯度計算首先要從左向右掃描,計算該方向上的像素值的差值。在從上到下掃描計算豎直方向梯度,利用水平方向梯度和豎直方向梯度,提取圖像hog 特征。基于梯度直方圖訓練分類器來檢測物體,根據水平和豎直方向上的梯度可以計算出圖片總體的梯度值和梯度角。總梯度大小和方向用向量表示,該向量表達兩個像素的特征,因次壓縮了圖片信息,壓縮后的圖像可以表達圖像中的主要特征。
Pca 降維[9]首先計算多維數據中二維變量的平均測量值,根據平均值,計算出數據的中心,移動數據的中心并確保數據中心在圖形中原點的位置,移動數據并不會改變數據點彼此之間的相對位置,通過移動后的圖像擬合出一條直線。選定一條穿過原點的隨機線為量化擬合數據程度,數據投影到該線段,測量數據到直線的距離。找到使這些投影點到直線距離總和最小的線或找到使投影點到原點距離最大的線,旋轉選定的直線,使這些投影點到直線距離總和最小,盡可能擬合數據。把最佳擬合線距離的平方和稱為pca 特征值。另外一個主成分通過原點垂直pca 無需更多優化,因主成分必須保證線性無關,所以垂直pca,選擇pca 呈現水平狀態,用投影點定位圖中樣本位置,特征值通過把數據投影到主成分上來獲得。計算每個主成分的差異,選取占絕大多數差異率的主成分,使用保留的主成分的特征值去表達特征。
根據提取出的hog 特征,使用提升學習(boosting)基于AdaBoost 產生弱預測模型,并加權累加到總模型中。原始訓練集訓練形成弱學習器,在構建下一個弱學習器時會考慮前一個訓練集中的模型的效果。根據前一個訓練集的效果去更改原來樣本權重,樣本數目不會因此改變,修改之后依次遞推進行一系列的迭代,迭代到錯誤率足夠小,多個弱學習器預測結果進行加權融合。算法會為每一個樣本賦予一個權重,每次用訓練好的學習器預測樣本,如何某一個樣本預測的越來越正確 則將其權重降低,否則提高樣本的權重。權重越高的樣本在下一次迭代訓練中所占的比重就越大,使越難區分的樣本在訓練過程中會變得越重要。基于OpenCV 實例化分類器實現對人臉,鼻子,嘴巴的檢測,如果檢測到嘴巴說明沒有佩戴口罩。
本文闡述了口罩遮擋人臉識別方法,首先對人臉圖像進行高斯卷積使圖像更加平滑,對二值化的圖像進行開操作和閉操作去除圖像中的噪點。對嘴巴檢測判斷是否佩戴口罩,基于霍夫直線檢測和提取人臉部的膚色信息判斷出未遮擋部分。提取未遮擋部分hog 特征,基于分類器級聯識別出口罩遮擋人臉,提高口罩遮擋人臉識別的準確度。