国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

HOG的一種改進(jìn)算法在人臉檢測上的應(yīng)用

2021-11-17 12:04朱國華
計算機(jī)仿真 2021年9期
關(guān)鍵詞:正確率人臉均值

朱國華,徐 昆

(江漢大學(xué)人工智能學(xué)院,湖北 武漢 430056)

1 概述

人臉檢測問題源自于人臉識別,人臉識別是當(dāng)今最為有效和最受歡迎的驗證手段之一,被廣泛應(yīng)用于手機(jī),電腦,門禁等設(shè)備上。隨著人臉識別被廣泛地應(yīng)用,人臉檢測也開始作為一個單獨的問題被重視起來。一般情況下,人臉檢測系統(tǒng)面臨的使用情形復(fù)雜,它必須能夠在不同的環(huán)境識別出人臉,這要求它在有著較高識別率之外還必須能夠?qū)Σ煌沫h(huán)境進(jìn)行適應(yīng)。目前人臉檢測與人臉識別相關(guān)的技術(shù)被用在各種領(lǐng)域,它在信息檢索、目標(biāo)監(jiān)測,目標(biāo)追蹤,自動駕駛等方面也有著重要的學(xué)術(shù)價值與應(yīng)用價值[1]。

HOG是目標(biāo)檢測領(lǐng)域中的常用算法,它通過計算圖像的梯度方向與大小,從而獲得圖像關(guān)于梯度的統(tǒng)計描述子。算法具有光照不變性,平移不變性和旋轉(zhuǎn)不變性等特點[2]。在它們基礎(chǔ)之上而改進(jìn)的算法,如:文獻(xiàn)[3]中通過內(nèi)嵌一個支持向量機(jī)(SVM)分類器的HOG特征提取歸一化模塊,來提高行人檢測的準(zhǔn)確性和計算效率;文獻(xiàn)[4]中通過人體目標(biāo)圖像的局部二值模式(LBP)與HOG分層融合的GEI識別算法,來提高再步態(tài)識別上的檢測識別率??梢哉f,HOG以及基于它之上而改進(jìn)的算法在目標(biāo)檢測等領(lǐng)域中有著非常重要的位置。

隨著深度學(xué)習(xí)模型AlexNet在ImageNet比賽中奪冠,各種深度學(xué)習(xí)模型被應(yīng)用于人臉檢測等計算機(jī)視覺問題上[5]。深度學(xué)習(xí)算法通過卷積神經(jīng)網(wǎng)絡(luò)對圖像進(jìn)行掃描,具有很好的平移不變性和尺度不變性,如:R-CNN、Fast-RCNN等[6]。針對Fast-RCNN對小目標(biāo)物體檢測效果不好的問題,R-FCN使用全卷積網(wǎng)絡(luò)ResNet來減少對圖像同一區(qū)域的重復(fù)采樣,從而提升了特征提取與分類的效果[7]。Mask R-CNN通過雙線性差值 RoIAlign 算法對Faster R-CNN做出改進(jìn),使得對目標(biāo)人臉的進(jìn)度達(dá)到了像素級[8]。有些深度學(xué)習(xí)算法可以將檢測和識別融合到一步之中,算法直接讀入原始圖像并輸出人臉檢測和人臉識別的結(jié)果,這樣可以大大簡化認(rèn)證過程步驟,如:DeepFace、DeepID、FaceNet等[9]。深度學(xué)習(xí)算法計算復(fù)雜,相較于傳統(tǒng)算法有著更高的識別或是檢測正確率。不過,深度學(xué)習(xí)算法一般來說運(yùn)算量大,需要有大量的數(shù)據(jù)來進(jìn)行訓(xùn)練擬合,并且還有著解釋性較弱等缺點。

目前基于原始HOG的改進(jìn)算法僅使用梯度信息來提取特征描述符,從而造成模型不穩(wěn)定,并且在面對模糊圖像和邊緣光滑圖像時,不能有效地提取圖像信息。為了進(jìn)一步提高HOG算法的穩(wěn)定性與檢測效果,針對原始HOG算法的不足之處提出一種改進(jìn)的HOG算法,將HOG算法提取的信息與圖像的單元均值,方差等進(jìn)行融合,從而提出一種全新的更加有效的HOG算法。之后再將HOG與SVM算法相結(jié)合,通過多尺度檢測和非極大抑制算法,使SVM模型可以泛化到任意尺度進(jìn)行人臉檢測。最后設(shè)計了對比試驗并給出了其實驗結(jié)果,對比分析了在不同參數(shù)設(shè)置下原始HOG算法與新算法的檢測效果,實驗證明改進(jìn)的HOG算法相較于原始算法在人臉檢測的正確率上有明顯提升。

圖1 HOG特征提取過程中圖像的變化

圖2 改進(jìn)的HOG算法流程圖

2 原始HOG算法

HOG最初是Dalia等提出的一種用于行人檢測的算法,后來被研究應(yīng)用于人臉檢測等領(lǐng)域。由于顏色在目標(biāo)檢測問題中所起的作用非常小,因此HOG算法忽略圖像中顏色信息的影響,首先對圖像進(jìn)行灰度化。為了保證光照不變性,再對整個圖像進(jìn)行全局歸一化。HOG算法在圖像中大小一致并且密集的cell單元計算梯度大小與方向并進(jìn)行統(tǒng)計,然后在block范圍內(nèi)進(jìn)行合并和局部歸一化來提高HOG算子的特征描述能力,其處理效果如圖1所示。

HOG算法流程如下:

1) 對原始圖像進(jìn)行灰度化,;

2) 對原始圖像進(jìn)行歸一化,通常是使用Gamma校正法,這樣可以抑制圖像局部陰影和光照帶來的影響;

3) 計算圖像每一個像素的梯度大小與梯度方向;

4) 將圖像切割成大小相同的單元;

5) 對每一個單元的梯度信息進(jìn)行統(tǒng)計,得到它的統(tǒng)計描述直方圖。通常是用8個方向?qū)μ荻刃畔⑦M(jìn)行統(tǒng)計,這梯度直方圖所代表的向量便是它的描述子;

6) 將相鄰的cell單元的統(tǒng)計特征向量進(jìn)行合并,得到每一個block的特征向量;

7) 將圖像內(nèi)的所有block的描述子合并起來就可以得到該原始圖像的HOG特征描述子,即特征向量;

8) 將訓(xùn)練集提取出來的HOG特征向量供SVM模型訓(xùn)練,得到基分類器;

3 改進(jìn)的HOG算法

原始HOG算法對圖像特征的提取過于簡單,僅僅是對圖像的梯度信息做統(tǒng)計,而沒有考慮其它信息,如均值,方差等。為了在圖像中提取出更為有效的信息,改進(jìn)的HOG算法基于多種維度信息,不僅提取出了圖像中代表了圖像的梯度信息的HOG特征,同時還提取出了每一個單元的均值與方差信息,它們分別代表了圖像的大小與波動的信息,最后,將圖像每一個單元的均值與標(biāo)準(zhǔn)人臉每一個單元的均值進(jìn)行比較,它代表圖像與一般臉的差值信息,其處理流程如圖2所示。

新算法步驟如下:

1) 在全局歸一化的基礎(chǔ)上,計算每一個cell單元的均值,方差;

2) 計算訓(xùn)練集所有圖像的平均值;

3) 計算原始圖像與平均值圖像的差值,取絕對值;

4) 計算差值圖像每個cell的均值;

5) 將(1),(4)得到的特征展開,再與原始HOG特征結(jié)合;

用blockH表示block塊的高度,blockW表示block塊的寬度,blockStrideH表示block塊在高度方向上的間隔,blockStrideW表示block塊在寬度上的間隔,cellH表示cell單元的高度,cellW表示cell單元的高度。

原始HOG算法,處理一張(height-width)格式的圖像進(jìn),其特征數(shù)為

featureNum=

((height-blockH)÷blockStrideH+1)×

((width-blockW)÷blockStrideW+1)

(1)

在新算法中,每張圖像特征數(shù)的計算方式為

eatureNum=

((height-blockH)÷blockStrideH+1)×

((width-blockW)÷blockStrideW+1)+

(height÷cellH)×(width÷cellH)×3

(2)

4 HOG算法進(jìn)行人臉檢測

4.1 支持向量機(jī)

提取出了訓(xùn)練集的特征向量之后,需要有一個基分類器對人臉,和非人臉進(jìn)行判斷。支持向量機(jī)(SVM)是統(tǒng)計學(xué)習(xí)中一個經(jīng)典的二分類算法[10],使用它可以很好地解決這個問題,其基本思想如下:

給定樣本集:D={(x1,y1),(x2,y2),…,(xn,yn)},yi∈(1,-1)。線性分類器基于樣本D在特征空間中找到超平面來分開二類樣本,在二維特征空間其分類效果如圖3所示。對于可能存在的多個超平面,算法要找到使得間隔最大化的超平面。最后經(jīng)過推導(dǎo),它等于以下優(yōu)化問題

(3)

s.t.yi(wTxi+b)≥1,i=1,2,…,n

(4)

使用核技巧,也可以將它用于非線性問題上。對于一般的數(shù)據(jù)集,有時并不存在任何超平面可以分割正反樣本,這時需要對SVM進(jìn)行軟間隔設(shè)置,允許它在一定程度上犯錯。在本文后面,將討論不同軟間隔設(shè)置對于模型正確率的影響。

圖3 SVM分類原理圖

4.2 多尺度檢測與非極大抑制

訓(xùn)練一旦完成,支持向量機(jī)就只能對特定長度的特征向量進(jìn)行檢測。如果在訓(xùn)練中使用8*8的cell單元,則SVM也只能檢測8*8大小的目標(biāo)。要想使用它檢測出一張圖片中不同大小尺度的人臉,還需要使用多尺度檢測與非極大抑制。

多尺度檢測算法可以消除圖像尺度差異帶來的影響,通過對圖像進(jìn)行縮小,并且在每一張縮小的圖像上進(jìn)行掃描檢測,從而發(fā)現(xiàn)不同大小的目標(biāo)。要實現(xiàn)多尺度檢測,通常的做法是使用相對坐標(biāo)來記錄矩陣的位置。如以圖像的左上角為原點,向下,向右為正方向,如果一個矩陣上下左右的坐標(biāo)分別為(u,d,l,r),則它的相對坐標(biāo)可以表示為(u/H,d/H,l/W,r/W)。通過對圖像不斷的進(jìn)行縮放,可以將圖像中的人臉縮放到檢測器可以檢測出來的大小,然后記錄人臉的相對坐標(biāo),最后,對所有人臉坐標(biāo)通過以上過程的逆轉(zhuǎn)換,便可以編程(H,W)尺度下的絕對坐標(biāo)。

假設(shè)有一個訓(xùn)練好的分類器classifier可以對(h,w)大小的圖像進(jìn)行檢測,對于人臉圖像輸出1,對于非人臉圖像輸出0,現(xiàn)在輸入一張(H,W)尺度大小的圖像,則多尺度檢測的描述過程如下:

多尺度檢測算法:

position=None

while true:

滑動窗口遍歷圖像得到圖像片段fragment

if 滑動窗口出界:

break

if classifier(fragment)=1:

添加fragment的相對位置到position

else:

進(jìn)入下一個窗口,更新fragment

非極大抑制算法將圖像中重合率過高的目標(biāo)位置進(jìn)行抑制,只保留置信度最高的目標(biāo),這樣就可以消除相鄰區(qū)域內(nèi)的同一識別目標(biāo)。要實現(xiàn)非極大抑制算法,首先要對兩個矩陣的相交面積進(jìn)行計算。因為兩個矩陣如果相交,那么它們的相交部分也是一個矩陣,這樣,就可以通過計算相交部分的wide和height來計算相交分布的面積。然后,對于輸入的一系列矩陣坐標(biāo),假設(shè)有n個矩陣的坐標(biāo),先計算它們的相交面積矩陣,這是一個n*n的矩陣。先找出相交面積最大的兩個矩陣,如果它們的重合部分的面積達(dá)到一定的比例,如1/4的矩陣面積,則對這兩個矩陣進(jìn)行非極大抑制,即消除它們中置信度較小的一個。一直持續(xù)這一過程,直到任意兩個矩陣的相交面積都達(dá)到要求,其抑制過程如圖4所示。

非極大抑制算法:

input::矩陣位置P,置信度R

output:非極大抑制后的矩陣位置

while True:

if P中任意兩個矩陣的相交面積小于它們最小值的二分之一:

break;

else:

得到相交面積最大的兩個矩陣P[i],P[j]

if R[i]>R[j]:

P中刪j號元素, R中刪除j號元素

else:

P中刪除i號元素, R中刪除i號元素

5 LFW人臉檢測結(jié)果

本文采用LWF數(shù)據(jù)集進(jìn)行訓(xùn)練與驗證。LFW是一個大型人臉數(shù)據(jù)集,它總共包含13000多張圖片。其中,1600個人以上包含了至少兩張人臉。該人臉數(shù)據(jù)集包含許多文件夾,每一個文件夾代表同一個人在不同狀態(tài)下的人臉圖像,本文使用它的前3000張人臉圖像作為正例。同時,從互聯(lián)網(wǎng)上采集了3000張不包含人臉的圖像作為反例。因此,本文一共使用了6000張圖像參與學(xué)習(xí)與驗證,并且這6000張圖像統(tǒng)一壓縮到64*64大小,處理效果如圖(5)所示。

圖5 LWF數(shù)據(jù)集示例

將6000張圖像中的3000張供給SVM模型進(jìn)行訓(xùn)練,另外300張用于測試。本文使用線性SVM進(jìn)行訓(xùn)練和檢測,其中設(shè)置軟間隔參數(shù)C=0.5.在原始HOG算法中,默認(rèn)的blockStride與cellSize相同,實驗在PC臺式機(jī),win10下研究進(jìn)行。本文研究了在不同cellsize情況下,不同算法對正確率的影響,其實驗結(jié)果如圖6所示。

圖6 實驗結(jié)果注:a)左上為使用原始HOG算法(算法1),b)右上為使用cell均值算法(算法2),c)左下為使用cell方差算法(算法3),d)右下為去中心化后的cell均值算法(算法4)

從以上實驗數(shù)據(jù)可以看出,算法1,算法2在不同cellSize大小下精確度較高,算法3,算法4的精確度隨cellSize大小變化波動較大。在綜合考慮運(yùn)算量與精確度的情況下,本文在算法1,算法2,算法3,算法4中最后使用的cellSize大小分別為(8,8),(8,8),(2,4),(4,8)。在上述參數(shù)設(shè)置下,新算法與原始算法的對比結(jié)果如圖7所示。

圖7 原始HOG算法與改進(jìn)的HOG算法的對比曲線

通過以上實驗數(shù)據(jù)可以看出,在不同cellSize尺度下,改進(jìn)的HOG算法相較于原始算法均有著更高的正確率。在cellSize尺度較小時,根據(jù)式(1)和式(2),兩種算法提取的特征數(shù)都很多,計算量都很大,可以從原始圖像提取充分的信息,它們在驗證集上的表現(xiàn)差異不大,新算法只稍微優(yōu)于原始算法。在cellSize尺度大于(8*8)時,兩種算法提取的特征數(shù)和計算量以O(shè)(cellSize[0]×cellSize[1])的方式下降,此時改進(jìn)的HOG算法明顯優(yōu)于原始算法。在cellSize為(16*16)時,新算法比原始算法高1.7%。最后,針對新算法中cellSize為(8*8)的情況,研究了在SVM中,不同軟間隔設(shè)置對正確率的影響,結(jié)果如圖8所示??梢钥闯觯涢g隔參數(shù)設(shè)置C=0.01時,其識別率最高,達(dá)到99.6%。

圖8 懲罰因子C與正確率的關(guān)系圖

6 結(jié)語

本文提出了一種經(jīng)過單元均值與方差等信息而改進(jìn)的HOG算法,HOG算法使用圖像的梯度信息對圖像進(jìn)行描述,描述信息過于單一,且只進(jìn)行了局部歸一化,不能有效的消除全局明暗差異帶來的影響。新的算法在原始HOG算法提取的特征的基礎(chǔ)上,還加入了全局歸一化后的單元均值,單元方差等信息,從而有效地解決了以上問題。本文使用LWF人臉數(shù)據(jù)集,在不同cellSize大小下,對原始HOG算法和新HOG算法做出了對比。實驗結(jié)果表明,經(jīng)過改進(jìn)后HOG算法在不同的cellsize參屬下的準(zhǔn)確率都要高于原始算法,特別是在cellSize尺度較大時效果提升明顯。相較于深度學(xué)習(xí)算法,HOG算法解釋性強(qiáng),具有強(qiáng)大的特征提取能力。但其檢測正確率和穩(wěn)定性不如深度學(xué)習(xí)算法,之后的研究可將它們結(jié)合,從而使算法的性能達(dá)到新的高度。

猜你喜歡
正確率人臉均值
個性化護(hù)理干預(yù)對提高住院患者留取痰標(biāo)本正確率的影響
課程設(shè)置對大學(xué)生近視認(rèn)知的影響
玻璃窗上的人臉
均值—方差分析及CAPM模型的運(yùn)用
均值—方差分析及CAPM模型的運(yùn)用
智力考場:有趣的圖片測試
均值不等式的小應(yīng)用
生意
生意
“領(lǐng)家系”可愛臉VS“高冷系”美人臉
昂仁县| 庄河市| 大英县| 康乐县| 隆子县| 昂仁县| 吉安市| 汽车| 永州市| 广昌县| 青铜峡市| 仁化县| 左云县| 黑龙江省| 曲靖市| 西青区| 珲春市| 瓮安县| 大化| 台东县| 吉林省| 桐庐县| 六安市| 涟水县| 成安县| 资中县| 邹平县| 洞头县| 清徐县| 扎囊县| 麻栗坡县| 武宣县| 萍乡市| 维西| 长沙市| 互助| 金溪县| 武宣县| 新乡县| 桐柏县| 霞浦县|