黃法秀,張世杰,吳志紅,陳 虎,孫家煒
(1.四川大學(xué)視覺合成圖形圖像技術(shù)國防重點(diǎn)學(xué)科實(shí)驗(yàn)室,四川 成都 610065;2.四川川大智勝軟件股份有限公司,四川 成都 610045)
隨著計(jì)算機(jī)技術(shù)的發(fā)展和應(yīng)用,人臉識別技術(shù)以其具有的非強(qiáng)制性、非接觸性、并發(fā)性等優(yōu)勢得到了越來越廣泛的應(yīng)用[1],如門禁管理系統(tǒng)、考勤管理系統(tǒng)、刷臉支付、火車站人證驗(yàn)證系統(tǒng)等。在網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)和大規(guī)模的人臉數(shù)據(jù)集的基礎(chǔ)上基于深度學(xué)習(xí)的人臉識別取得了很大提高[2]。大部分基于深度學(xué)習(xí)[3]的計(jì)算機(jī)視覺研究需要大量的數(shù)據(jù),對深度學(xué)習(xí)強(qiáng)大的表特征能力,大規(guī)模的數(shù)據(jù)可以有效防止過擬合,因此更多的數(shù)據(jù)對大多數(shù)計(jì)算機(jī)視覺研究都有幫助。
但多數(shù)情況是沒有辦法得到足夠的數(shù)據(jù)或者采集數(shù)據(jù)成本過高,所以數(shù)據(jù)擴(kuò)充是提高計(jì)算機(jī)視覺系統(tǒng)表現(xiàn)經(jīng)常使用的一種技巧。針對訓(xùn)練樣本不足的問題,可以通過數(shù)據(jù)增廣來提升人臉識別的性能,目前有很多研究致力于這個方向。例如,文獻(xiàn)[1]對訓(xùn)練樣本添加了隨機(jī)噪聲來增廣訓(xùn)練數(shù)據(jù);張坤等人[2]用多姿態(tài)生成人臉圖像和戴眼鏡人臉圖像來增廣數(shù)據(jù);文獻(xiàn)[4]利用人臉的鏡像圖進(jìn)行數(shù)據(jù)增廣;文獻(xiàn)[5]將原始訓(xùn)練樣本做“鏡像”和“對稱臉”變換并將產(chǎn)生的虛擬樣本與原始訓(xùn)練樣本進(jìn)行融合來增加訓(xùn)練樣本數(shù),并在幾個公開數(shù)據(jù)集上都降低了錯誤識別率。
在不改變圖像類別的情況下,通過數(shù)據(jù)增廣提升數(shù)據(jù)集中的相關(guān)數(shù)據(jù),增加數(shù)據(jù)量,豐富圖像的訓(xùn)練集,能防止網(wǎng)絡(luò)學(xué)習(xí)到不相關(guān)的特征,更好地學(xué)到與數(shù)據(jù)有關(guān)的特征,顯著提升整體的性能,提高模型的泛化能力。自然圖像數(shù)據(jù)增廣方式有多種,從幾何的角度看,常用的方式有:水平翻轉(zhuǎn),一定程度的位移、旋轉(zhuǎn)、剪切等;從像素的變換角度來看,常用的方式有:改變圖像色差、顏色抖動、扭曲圖像特征、增加圖像噪聲(高斯噪聲、椒鹽噪聲)。還可以將多種操作進(jìn)行組合。
在具有均勻光照、正面姿態(tài)、中性表情和標(biāo)準(zhǔn)圖像分辨率的受控圖像采集條件(如身份證人臉圖像)下,人臉識別系統(tǒng)可以達(dá)到極高的識別精度[6],在實(shí)際應(yīng)用中,往往是對不太理想環(huán)境下無約束條件下采集的圖像進(jìn)行識別,使得識別性能降低。在訓(xùn)練樣本中可能并不完全包含不太理想環(huán)境下的測試樣本,或者包含的測試樣本中某種樣本的數(shù)據(jù)較少,使模型無法充分學(xué)習(xí)到這類樣本的特征。因此,增加這類樣本有助于提升模型性能。文中從像素變換的角度,通過圖像濾波、亮度調(diào)節(jié)、調(diào)整圖像大小和腐蝕操作將圖像數(shù)據(jù)進(jìn)行增廣模擬測試數(shù)據(jù)集中某類樣本進(jìn)行研究。
平滑濾波[7]是使低頻增強(qiáng)的空間域?yàn)V波技術(shù),它的其中一類目的是模糊,空間域?yàn)V波采用簡單評價(jià)方法進(jìn)行,就是鄰近像元點(diǎn)的平均亮度值。平滑效果取決于鄰域的大小,鄰域越大平滑的效果越好,但鄰域過大,平滑會使邊緣信息損失更大,從而使輸出的圖像變得模糊,但這恰好能模擬測試數(shù)據(jù)集中模糊圖像。
1.1.1 均值濾波
均值濾波本身對去噪存在固有缺陷,不能很好地保護(hù)圖像細(xì)節(jié),在圖像去噪聲的同時(shí)也會破壞圖像的細(xì)節(jié)部分,從而使圖像變得模糊。均值濾波是最簡單的一種濾波操作,輸出圖像的每個像素是核窗口內(nèi)輸入圖像對應(yīng)像素的平均值,是方框?yàn)V波的一種。其基本理論是,一個像素點(diǎn)的灰度值由其鄰域內(nèi)像素值的平均值代替[8]。即對待處理的當(dāng)前像素點(diǎn)(x,y),選擇一個模板,該模板由其近鄰的若干像素組成,模板系數(shù)都為1,求模板中所有像素的均值,再把該均值賦予當(dāng)前像素點(diǎn)(x,y),作為處理后圖像在該點(diǎn)上的灰度g(x,y),即
(1)
其中,m為該模板中包含當(dāng)前像素在內(nèi)的像素總個數(shù)。
圖1展示了假設(shè)模板為3×3時(shí),計(jì)算當(dāng)前像素值的直觀表示,中間為中心像素,周圍8個像素,計(jì)算這9個像素的平均值,替代中心像素值。
圖1 均值濾波計(jì)算方式
當(dāng)圖像細(xì)節(jié)與濾波器模板近似相同時(shí),圖像中的一些細(xì)節(jié)受到的影響比較大,文中選取了與數(shù)據(jù)集中人臉圖像眼睛高度值大小一致的模板為3*3(簡稱B3)隨機(jī)選擇每個對象的5張圖像進(jìn)行數(shù)據(jù)增廣,不足5張的全部增廣。還選取了大致可以覆蓋數(shù)據(jù)集中人臉圖像眼睛、鼻子和嘴巴大小的5*5模板(簡稱B5),這會使圖像整體更加模糊,在人臉圖像與背景圖像灰度接近時(shí),即目標(biāo)灰度與相鄰像素的灰度接近時(shí),還會產(chǎn)生模糊的混合效應(yīng)。
通過梯度的統(tǒng)計(jì)特征,利用表示變化速度快慢像素點(diǎn)的平方差和表示變化大小的像素差的絕對值來衡量模糊程度,求兩者的平均值表示梯度值,梯度值越高,像素點(diǎn)變化很突然,畫面的邊緣信息越豐富,圖像越清晰;梯度值越低,像素點(diǎn)的過渡非常平滑,沒有急劇的變化,圖像越模糊。選擇梯度值大于20的較為清晰的圖像進(jìn)行均值濾波操作來增廣數(shù)據(jù),這樣操作會保留原始數(shù)據(jù)集中的模糊樣本,而且會增加更多的模糊樣本,這類增廣數(shù)據(jù)記為ifbv20B5方式。
1.1.2 高斯低通濾波
高斯濾波[7]是一種線性平滑濾波,是用高斯函數(shù)作為濾波函數(shù)的濾波操作,對整幅圖像進(jìn)行加權(quán)平均的過程,其基本理論是用一個模板掃描圖像中的每一個像素,用模板確定的鄰域內(nèi)像素的加權(quán)平均值去替代模板中心像素點(diǎn)的值來模糊一張圖像。高斯濾波器是一類根據(jù)高斯函數(shù)的形狀來選擇權(quán)值的線性平滑濾波器,高斯濾波器的模板系數(shù),則隨著距離模板中心的增大而減小。對圖像處理來說,常用二維零均值離散高斯函數(shù)做平滑濾波器。二維高斯函數(shù)公式如下:
(2)
高斯濾波器相比于均值濾波器對圖像的模糊程度較小。為了增加圖像的多樣性,選擇較小σ,生成的模板的中心系數(shù)較大,周圍的系數(shù)較小,對圖像的平滑效果較小的高斯模糊。
從全局和局部的角度來看,光照失真類型包括全局光照失真和局部光照失真[9]。全局光照失真指圖像整體過亮或者過暗,局部失真指在拍攝過程中光源不在被拍攝者的正前方。在文中原始數(shù)據(jù)集中光照局部失真樣本相對整體數(shù)據(jù)集來說數(shù)量太少,并且實(shí)際場景中由于光源位置或者白天透過窗戶的陽光所影響這類失真強(qiáng)度更大,原始數(shù)據(jù)中這類圖像局部失真強(qiáng)度不夠,模型無法充分學(xué)習(xí)到此類特征,這類圖像會降低識別精度,因此通過加強(qiáng)這類失真來增廣數(shù)據(jù)。
采用圖像變換中的點(diǎn)操作(point operators)進(jìn)行圖像亮度和對比度的調(diào)整[7],根據(jù)輸入像素值計(jì)算相應(yīng)的輸出像素值。點(diǎn)操作公式如下:
g(x)=a*f(x)+b
(3)
對比度的調(diào)節(jié)是輸入像素值乘上一個常數(shù)a,被稱為增益,亮度值加上一個常數(shù)b,被稱為偏置,用來控制圖像的亮度。
原始數(shù)據(jù)中亮度過亮和過暗的圖像相對較少,通過測試集正樣本中高于閾值的樣本的平均亮度確定一個大致適宜識別的亮度范圍(90-150),根據(jù)平均亮度選擇了參數(shù)a和b對圖像整體亮度進(jìn)行調(diào)亮(C120B30)和調(diào)暗(C130B-100)來增廣數(shù)據(jù),原始圖像亮度不同,進(jìn)行調(diào)整之后也會生成不同亮度的過亮或過暗的圖像。為了補(bǔ)充相對較少的光照局部失真樣本,對圖像的二分之一部分(MyylC130B20)和五分之二部分(yylC130B20)進(jìn)行亮度調(diào)亮和對比度增強(qiáng)來模擬偏向一側(cè)的光源影響的失真。在亮度和對比度調(diào)整的臨界區(qū)域進(jìn)行均值濾波,來防止亮度突變對識別的影響。
通過攝像設(shè)備采集的圖像,發(fā)現(xiàn)存在畫質(zhì)如油畫般的圖像,有正常畫質(zhì)被腐蝕質(zhì)感,通過測試發(fā)現(xiàn)這類圖像會明顯降低識別精度,腐蝕會去除圖像的某些部分,于是文中通過對圖像進(jìn)行形態(tài)學(xué)操作—腐蝕增廣試圖提高識別精度。
腐蝕[7]是根據(jù)指定形狀和尺寸的結(jié)構(gòu)元素—核與圖像或圖像的一部分進(jìn)行卷積,求局部最小值的操作,計(jì)算核覆蓋區(qū)域像素點(diǎn)的最小值,并把這個最小值賦給參考點(diǎn)指定的像素,使圖像中的高亮區(qū)域降低,效果圖會比原圖有更小的高亮區(qū)域。腐蝕的數(shù)學(xué)表達(dá)式如下:
(4)
增加核的尺寸會消除更大的部件,減小核的尺寸會把小于核的圖像細(xì)節(jié)從圖像中去除。為了模擬這類樣本,核的大小不能過大,否則會將很多細(xì)節(jié)部分去除,因此選擇核的大小為3*3(E3方式),這樣會保留人臉特征,同時(shí)又能模擬出這類樣本的腐蝕感。
模擬測試樣本中既模糊又亮度過暗的圖像,將高斯低通濾波方式和調(diào)暗方式進(jìn)行組合(G6C130B-100)。為了模擬測試樣本中局部光照失真這類圖像中較模糊的圖像,將yylC130B20增廣方式和B5增廣方式組合成一種新的增廣方式y(tǒng)ylC130B20B5。
文中使用了文獻(xiàn)[10]提出的一種輕量級的CNN框架。該卷積神經(jīng)網(wǎng)絡(luò)人臉模型會為了更好地?cái)M合大量訓(xùn)練數(shù)據(jù)體積不斷增大,并且能學(xué)習(xí)在具有噪聲標(biāo)簽的大規(guī)模人臉數(shù)據(jù)上進(jìn)行緊湊嵌入,該網(wǎng)絡(luò)模型用提出的Max-Feature-Map(MFM)操作將NIN(network in network)和一個小的卷積核大小集成到網(wǎng)絡(luò)中。構(gòu)建的9層輕量級的卷積神經(jīng)網(wǎng)絡(luò)Light CNN-9,包含5個卷積層,4個NIN層、Max-Feature-Map層和4個maxpooling層。該網(wǎng)絡(luò)模型在公開數(shù)據(jù)集LFW上有較好的準(zhǔn)確率。
大規(guī)模數(shù)據(jù)能提高基于深度學(xué)習(xí)人臉識別準(zhǔn)確率,因此盡量將可獲取的圖像作為原始訓(xùn)練數(shù)據(jù),大致分為兩類,第一類是公開的人臉數(shù)據(jù)集,第二類是人無意識狀態(tài)下的人臉圖像。
原始數(shù)據(jù)第一類的幾個公開數(shù)據(jù)集[11-17]:FERET人臉數(shù)據(jù)庫是由PERET項(xiàng)目所創(chuàng)建的一種大型面部圖像數(shù)據(jù)庫,每幅圖像中只有一個人臉,是獨(dú)立算法開發(fā)人員收集的。圖像是在不同表情、光照、姿態(tài)和年齡的半控制環(huán)境中采集的,數(shù)據(jù)庫包括1 564組圖像,共14 126張圖像,是人臉識別領(lǐng)域應(yīng)用最廣泛的人臉數(shù)據(jù)庫之一;CMU Multi-PIE人臉數(shù)據(jù)庫由美國卡耐基梅隆大學(xué)建立,采集了337位志愿者在不同姿態(tài)、光照和表情下的75 000多張面部圖像,其中姿態(tài)和光照變化是嚴(yán)格控制的,是人臉識別領(lǐng)域的一個重要測試集合;CAS-PEAL中科院公布的大規(guī)模中國人臉數(shù)據(jù)集,共包含1 040個對象的99 450張圖像,所有圖像包括姿態(tài)變化、表情變化、飾物變化、光照變化、距離變化、時(shí)間跨度變化等7種變化模式。以東方人為主的人臉圖像數(shù)據(jù)集,有助于模型學(xué)習(xí)到東方人的共性特征;ORL數(shù)據(jù)庫由英國劍橋大學(xué)AT&T實(shí)驗(yàn)室創(chuàng)建,采集了40個對象共400張圖像,每個對象的10張圖像是在不同時(shí)間、不同光照強(qiáng)度、面部表情和面部裝飾情況下采集的;WebFace數(shù)據(jù)集是爬取的圖像集,最終得到了10 575人的494 414人臉圖像的數(shù)據(jù)集。Extended Yale B人臉數(shù)據(jù)庫是耶魯大學(xué)建立的人臉識別數(shù)據(jù)庫,包含28個人,在9種不同姿勢和64種不同的拍攝參數(shù)下,總共16 128張人臉圖像;FRGC包含466個人的8 014張人臉圖像。這些未經(jīng)控制的圖像顯示了模糊、表情、光照和時(shí)間方面的變化。這些圖像共計(jì)約70萬張。
需要訓(xùn)練的數(shù)據(jù)除了要求一定數(shù)量的圖像,還要求圖像具有多樣性。從某場合采集的無意識狀態(tài)下的人臉圖像,這類圖像具有多樣性,能體現(xiàn)人臉識別技術(shù)相對于其他生物識別技術(shù)非強(qiáng)制性這一優(yōu)勢,這類圖像對實(shí)際識別或認(rèn)證更有意義。這類圖像姿態(tài)、表情多樣,包含某個公開場合人臉圖像6 622張、某公司534個對象的一張正面中性表情和多張無意識圖像19 159張、車輛經(jīng)過道閘桿時(shí)采集的司機(jī)人臉圖像304 824張和某火車站認(rèn)證現(xiàn)場采集的現(xiàn)場照片及其對應(yīng)的身份證照片1 341 521張。
上述原始數(shù)據(jù)集約167萬張記作S,超過85%的圖像清晰度較高,整體亮度適宜,用這些圖像去測試人臉識別算法,大部分的人臉識別算法識別精度都較高,但實(shí)際人臉識別算法應(yīng)用環(huán)境可能不理想,會采集到模糊和對比度低的圖像,從而影響識別精度。為了更大可能地囊括實(shí)際應(yīng)用環(huán)境下的圖像,并增加測試樣本中數(shù)據(jù)量較少的樣本,對原始數(shù)據(jù)以第1部分介紹的方式進(jìn)行了數(shù)據(jù)增廣。
文中著重研究識別算法對人無意識狀態(tài)下采集的人臉圖像的識別性能,選擇的四個測試集(Test1-Test4)是從不同地方拍攝的視頻上截取的人臉圖像組成。Test1是利用幾個廠家的圖像采集設(shè)備采集的約8萬張圖像,包括一部分模糊圖像和白天透過窗戶的陽光所影響光照局部失真圖像和某一個廠家設(shè)備采集的具有腐蝕感的圖像;Test2(約2萬張)和Test4(約23 000張)兩個測試集包括了每個對象身份證件圖像,Test2是包含人各種姿態(tài)和表情的圖像;Test4是采集的每個對象正面無遮擋表情中性圖像;Test3共3 000張,是在無窗室內(nèi)多方位燈光亮度比較均勻的環(huán)境下采集的,包含亮度整體過亮過暗和模糊的圖像。
原始數(shù)據(jù)集共約167萬張圖像,以上述增廣方式對每個對象的前5張圖像進(jìn)行數(shù)據(jù)增廣,不足5張的全部增廣,9種增廣方式每種方式共增廣7萬多張,剩下1種方式是進(jìn)行模糊度的判斷,共增廣5萬多張圖像。圖2展示了測試樣本示例、原始訓(xùn)練樣本以及相應(yīng)的增廣圖像。
圖2 測試樣本示例、原始訓(xùn)練樣本及相應(yīng)的增廣圖像
文中采用了深度學(xué)習(xí)框架pytorch進(jìn)行模型的訓(xùn)練和測試,運(yùn)行環(huán)境是Ubuntu16.04,硬件平臺使用了GPU加速訓(xùn)練,GPU計(jì)算卡型號是NVIDIA Tesla P100*4。用原始數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò)Light CNN-9超過50個epoch得到模型CNN-9-S。
用模板分別為3*3和5*5均值濾波方式增廣的數(shù)據(jù)加入原始數(shù)據(jù)S訓(xùn)練的模型為CNN-9-B3和CNN-9-B5,加入模糊判斷后進(jìn)行均值濾波數(shù)據(jù)訓(xùn)練的模型為CNN-9-ifbv20B5。表1展示了使用原始數(shù)據(jù)和加入均值濾波方式增廣數(shù)據(jù)訓(xùn)練的模型在上述四個測試集上,在FAR(false accept rate)分別等于1%,0.1%下的準(zhǔn)確率。
表1表明,B3增廣方式提示識別性能沒有太大提升,B5對Test2和Test3有所提升,這是源于這兩個測試集中存在一部分模糊對象,增廣的數(shù)據(jù)增加了測試集中的模糊樣本,并且一大部分測試數(shù)據(jù)模糊程度與模板為5*5的均值濾波模糊程度相當(dāng),所以B5相對于B3,提升效果更好。
ifbv20B5這類增廣方式對四個測試集的識別性能都有提高,這樣操作會保留原始數(shù)據(jù)集中的模糊樣本,而且會增加更多的模糊樣本。這樣做與上述隨機(jī)選擇每個對象的5張圖像擴(kuò)展的區(qū)別在于,隨機(jī)選擇的5張圖像可能包括測試樣本中的模糊圖像,若再對它進(jìn)行均值濾波操作,圖像更加模糊,這類樣本與測試樣本并不一致,對模型性能并不會起到促進(jìn)作用,但ifbv20B5增廣方式會避免這種現(xiàn)象,僅僅對較清晰的圖像進(jìn)行操作,因此對各個數(shù)據(jù)集都有很好的效果。
表1 濾波增廣方式結(jié)果
原始數(shù)據(jù)加上對圖像整體調(diào)亮(C120B30)和調(diào)暗(C130B-100)增廣的數(shù)據(jù)訓(xùn)練的模型為CNN-9-C120B30和CNN-9-C130B-100,還有對MyylC130B20和yylC130B20這兩類增廣方式數(shù)據(jù)加原始數(shù)據(jù)訓(xùn)練的模型CNN-9-MyylC130B20和CNN-9-yylC130B20。表2展示了這四個模型分別在四個測試集上,在FAR分別等于1%,0.1%下的準(zhǔn)確率。
表2表明,這四種增廣方式主要是對Test3有所提高,這是由于Test3樣本包括過亮和過暗的測試樣本。Test1包括局部光照失真,所以yylC130B20這種增廣方式對Test1的識別精度有所提高。
表2 亮度調(diào)節(jié)增廣方式結(jié)果
訓(xùn)練原始數(shù)據(jù)加E3方式擴(kuò)展的數(shù)據(jù)得到模型為CNN-9-E3。表3展示了CNN-9-E3模型在每個測試集上在FAR分別等于1%,0.1%下的準(zhǔn)確率。
通過表3可以看出,包含這類樣本的Test1性能有所提升,對其他幾個數(shù)據(jù)集來說,增廣的數(shù)據(jù)可能屬于不相關(guān)的數(shù)據(jù),所以性能都沒有得到提升。
用G6C130B-100和yylC130B20B5方式增廣的數(shù)據(jù)加入原始數(shù)據(jù)S訓(xùn)練的模型為CNN-9-G6C130B-100和CNN-9-yylC130B20B5。表4展示了這兩個模型在每個測試集上在FAR分別等于1%,0.1%下的準(zhǔn)確率。
通過表4可以看出,G6C130B-100增廣方式與B5增廣方式相對應(yīng),由于兩個測試集中存在一部分模糊對象,增廣操作增加了測試集中的模糊樣本,因此在這兩個測試集上識別性能得到了提升,同時(shí)因?yàn)門est3樣本包括亮度過暗的測試樣本,所以在Test3上的識別性能相比其他增廣方式有較大提升。yylC130B20B5增廣方式的結(jié)果與yylC130B20方式主要是在Test1上有略微提升,雖然Test2和Test3中有模糊的圖像,但局部光照失真圖像少甚至沒有,這種增廣方式可能增加了無關(guān)數(shù)據(jù),因此性能并不理想。
表3 腐蝕方式結(jié)果
表4 混合方式結(jié)果
通過3種傳統(tǒng)圖像處理方法共10種增廣方式進(jìn)行數(shù)據(jù)增廣,將增廣數(shù)據(jù)與原始數(shù)據(jù)組成新的訓(xùn)練數(shù)據(jù)集,通過公開人臉識別算法驗(yàn)證每種增廣方式在不同的測試集上的識別效果。實(shí)驗(yàn)結(jié)果表明,從不同方面和同方面的不同程度進(jìn)行數(shù)據(jù)增廣,程度不同,提升效果也不同,這種方式能在一定程度上增加訓(xùn)練樣本的多樣性。在此過程中需要注意的是,增廣數(shù)據(jù)要與測試集數(shù)據(jù)一致,確保不增加不相關(guān)的數(shù)據(jù)。在數(shù)據(jù)增廣方面,仍需進(jìn)一步探究來提高算法性能。