成科揚,孫家傲,毛啟容,詹永照
(1.江蘇大學(xué) 計算機科學(xué)與通信工程學(xué)院,江蘇 鎮(zhèn)江 212013;2.江蘇省大數(shù)據(jù)泛在感知與智能農(nóng)業(yè)應(yīng)用工程研究中心,江蘇 鎮(zhèn)江 212013)
人們對肉制品安全性的關(guān)注與日俱增,牲畜的識別對控制牲畜的健康至關(guān)重要,通過識別受感染動物可以控制疾病的蔓延,減少養(yǎng)殖者的損失[1].牲畜的識別方式分為傳統(tǒng)的識別和基于生物特征的識別.傳統(tǒng)的識別方式包括烙印、佩戴耳標(biāo)、射頻識別(radio frequency identification,RFID)等方法.雖然佩戴耳標(biāo)成本低廉,但是它們可能會導(dǎo)致動物感染并且耳標(biāo)長期使用會受到損壞,不斷更換耳標(biāo)會增加成本.使用RFID只能識別近距離的牲畜,而且農(nóng)場內(nèi)常見的金屬也會干擾無線電波,進而影響識別結(jié)果.
人臉識別通常用于非侵入式的訪問控制和監(jiān)視,與養(yǎng)殖企業(yè)的應(yīng)用場景非常相似.因此,理論上可以將人臉識別領(lǐng)域的相關(guān)技術(shù)遷移至動物的身份識別.LAI J.等[2]應(yīng)用了類稀疏表示方法(class-wise sparse representation,CSR)進行面部識別,該方法結(jié)合了區(qū)域修復(fù)框架,可以有效解決訓(xùn)練樣本集過少問題,但是對遮擋的魯棒性較低.吳迪等[3]使用多尺度視網(wǎng)膜皮層理論(multi-scale retinex,MSR)處理受光照影響的圖像,進而對圖像進行增強,但多尺度MSR算法處理后的圖像存在顏色失真和圖像淡化的問題.由于牲畜不受控制,識別受面部污垢等影響,一些學(xué)者對牲畜口鼻進行特征提取.T.GABER等[4]對牛口鼻提取了魯棒性的局部二值模式(local binary patterns,LBP)紋理特征,并采用線性判別分析(latent dirichlet allocation,LDA)對??诒荓BP特征進行降維.最后利用支持向量機(support vector machine,SVM)進行分類,該方法可以達到97.5%的識別率.然而由于獲取的口鼻圖像大多是非線性的,因此該方法降維方式有待改進.S.KUMAR等[5]使用深度學(xué)習(xí)對??诒沁M行識別,識別精度提高到了98.99%,但該模型對于存在口鼻圖像污損的情形識別比較困難.由于現(xiàn)實環(huán)境中很難獲取良好的口鼻圖像,因此M.F.HANSEN等[6]和YANG Z.H.等[7]使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)進行牲畜面部識別,該方法的缺點是需要大量的數(shù)據(jù)集訓(xùn)練網(wǎng)絡(luò)模型,而且訓(xùn)練過程需要花費很長的時間.
文中提出一種基于加權(quán)稀疏低秩組件編碼的豬臉識別算法,首先應(yīng)用基于Retinex理論的圖像增強框架,利用區(qū)域協(xié)方差濾波器估計光照,獲取表示圖像內(nèi)在屬性的反射分量;其次應(yīng)用自適應(yīng)伽馬校正對獲取的反射分量進行增強,減少光照對識別結(jié)果的影響并保留了圖像的細節(jié);然后應(yīng)用低秩組件構(gòu)造訓(xùn)練字典,有效地提取面部特征,重構(gòu)殘差函數(shù)降低稀疏誤差.
y=Dα+z,
(1)
式中:α為稀疏因子,α∈Rn×1;z為重構(gòu)誤差,z∈Rm×1.α可以通過求解l1范數(shù)最小化來近似恢復(fù):
(2)
式中:λ為折衷常數(shù),控制重構(gòu)誤差的權(quán)重.現(xiàn)實環(huán)境中面部識別不可避免地會受光照等因素的影響,SRC算法無法對低質(zhì)量的面部進行分類.CHEN Y.D.等[8]提出的低秩矩陣恢復(fù)算法 (low rank matrix recovery,LRR)可以從訓(xùn)練樣本D中分離出低秩組件L和非低秩組件S:
D=L+S.
(3)
式中:L表示與面部結(jié)構(gòu)相關(guān)的信息;S表示與稀疏誤差相關(guān)的信息.為了從受損圖像中提取低秩組件,可通過下式求解:
(4)
式中:φ為控制稀疏誤差的權(quán)重.由于求解l0范數(shù)是NP(non-deterministic polynomial)難問題,為了方便求解,可以通過求解l1范數(shù)進行優(yōu)化:
(5)
式中:‖L‖*是低秩組件L的核范數(shù),但是在求解時,可能會受到同類樣本之間的干擾,因此求解方式有待優(yōu)化.針對訓(xùn)練樣本受遮擋影響,YU Y.F.等[9]提出了判別性多尺度稀疏編碼(discriminative multi-scale sparse coding,DMSC)的面部識別方法.通過模擬測試樣本可能出現(xiàn)的遮擋情況、并用殘差函數(shù)減少重構(gòu)誤差,提高算法對遮擋的魯棒性.殘差函數(shù)定義為
(6)
(7)
式中:zi為測試樣本與第i個訓(xùn)練樣本的重構(gòu)誤差,zi=y-Dα;η和θ為殘差函數(shù)中的可調(diào)參數(shù).盡管DMSC可以提高稀疏表示分類器的性能,但是對受光照影響的圖像分類效果有待提高.
為了避免光照對識別結(jié)果的影響,需要對訓(xùn)練樣本和測試樣本進行光照處理.Retinex理論基于人類視覺系統(tǒng),因此原始圖像I由照明分量L和反射分量R組成:
I=L×R,
(8)
式中:R代表物體的反射性質(zhì),即圖像內(nèi)在屬性,應(yīng)該最大程度保留.然而,在去除照明分量時,照明不均勻處的噪聲會暴露出來,因此L.KARACAN等[10]提出了一個基于Retinex理論的圖像增強框架,應(yīng)用高斯濾波器估計光照,進而獲取反射分量.照明分量計算式為
(9)
高斯核函數(shù)wx,y計算式為
(10)
式中:x為像素;N(x)為以x為中心的像素集合;σ為控制高斯濾波器平滑程度的標(biāo)準差.雖然應(yīng)用高斯濾波器可以降低光照對圖像的影響,但是優(yōu)化效果有待提高.HUANG S.C.等[11]提出的伽馬校正可以對圖像進一步進行處理,增強反射分量R,提高圖像的對比度,增強細節(jié).基于伽馬校正的形式為
(11)
式中:l為輸入灰度值;E(l)為增強后圖像的灰度值.不同γ對應(yīng)的增強效果如圖1所示.當(dāng)γ<1時,γ取值越小,增強圖像越亮;當(dāng)γ>1時,γ取值越大,增強圖像越暗.
但是,增強后的圖像可能會丟失一些細節(jié),而且當(dāng)通過伽馬校正增強圖像時γ取值固定,所以γ的取值有待優(yōu)化.
圖1 不同γ的變化曲線
為了解決光照和面部污垢對豬臉識別的影響,文中提出了一種基于加權(quán)稀疏低秩組件編碼的豬臉識別算法,算法總體流程圖如圖2所示.文中算法主要由兩部分組成:光照處理模塊和面部污垢處理模塊.
圖2 算法總體流程圖
在光照處理模塊中,融合區(qū)域協(xié)方差濾波器改善Retinex理論對圖像的增強,提出自適應(yīng)伽馬校正算法對獲取的反射分量進行增強.通過對訓(xùn)練樣本和測試樣本進行預(yù)處理,可以減少光照對分類的影響,進而提高識別結(jié)果.
在面部污垢處理模塊中,提出基于加權(quán)的稀疏低秩組件編碼算法.首先應(yīng)用判別性低秩分解得到的低秩組件構(gòu)造訓(xùn)練字典可以獲取與面部結(jié)構(gòu)相關(guān)的信息;然后重構(gòu)殘差函數(shù)減小誤差;最后基于殘差最小完成分類.重構(gòu)殘差函數(shù)可以減小面部污垢對識別結(jié)果的影響.
針對高斯濾波器無法利用不同像素點的局部信息對光照進行準確估計的問題,利用區(qū)域協(xié)方差濾波器來估計光照.式(10)可重寫為
(12)
(13)
式中:zi為特征向量,μ為這些特征向量的平均值;S為向量的總數(shù).由于式(12)進行量綱一化處理,不同像素點x,y之間存在系數(shù)wx,y,因此該濾波器對圖像中的不同像素具有自適應(yīng)性,可以更準確估計出光照.式(9)可重寫為
(14)
式中:N(x,r)是y的取值范圍,以像素點x為中心、r為半徑.反射分量R表示為
(15)
由于反射分量R可能會受噪聲的影響,局部細節(jié)略顯模糊,文中提出自適應(yīng)伽馬校正對反射圖像進行增強.為了更好地校正圖像,提高圖像的局部對比度,式(11)重寫為
(16)
為了自適應(yīng)地對圖像進行校正,γ取值依賴于不同像素值的概率分布.對于增強圖像的每個像素值v,概率密度函數(shù)(probability density function,以Ppdf表示)定義為
(17)
式中:M為增強圖像的行;N為增強圖像的列;nv為像素值為v的個數(shù)總數(shù).像素值為v的累積分布函數(shù)(cumulative distribution function,以Ccdf表示)為
(18)
計算概率密度函數(shù)的最大值和最小值,可以把概率密度函數(shù)優(yōu)化為加權(quán)的概率密度函數(shù),表示為
(19)
式中:Ppdf,max,Ppdf,min分別為Ppdf的最大值、最小值,ζ=Ccdf(v).求得加權(quán)概率密度函數(shù)后,加權(quán)累積分布函數(shù)可重寫為
(20)
已知像素值v的概率分布,γ取值為
γ=1-ζ.
(21)
把求得的γ代入式(16)中,可以有效增強低對比度圖像.圖3為光照處理示意圖,應(yīng)用協(xié)方差濾波器處理后的圖像如圖3b所示,應(yīng)用自適應(yīng)伽馬校正增強的圖像如圖3c所示.
圖3 光照處理示意圖
在降低了光照對識別的影響后,提出利用改進的稀疏表示算法對圖像進行分類.判別性低秩分解算法可以從光照處理后的訓(xùn)練樣本Den中分離出L和S:
(22)
判別性低秩分解算法的分解效果如圖4所示.
yen=Lα+Sβ+z.
(23)
通過β控制S的稀疏性,式(23)為稀疏低秩組件編碼的表示形式,然后利用l1范數(shù)最小化求解稀疏因子α,即為
(24)
圖4 豬臉圖像分解示意圖
為了進一步減小面部污垢對識別結(jié)果的影響,文中模型設(shè)置重構(gòu)的殘差函數(shù)以減少面部污垢的影響.文中提出通過求導(dǎo)優(yōu)化殘差函數(shù),使得重構(gòu)誤差z盡可能的小,優(yōu)化方式如下:
(25)
w(zi)表示誤差的權(quán)重,其計算式為
(26)
(27)
W為誤差權(quán)重組成的對角矩陣,通過引入W動態(tài)平衡重構(gòu)誤差,進而減小面部污垢對識別的影響,式(24)可優(yōu)化為
(28)
然后基于最小化殘差進行分類,令Ci表示訓(xùn)練樣本D的類標(biāo)簽矩陣,如果D的第k類來自Ci,則Ci(k,k)=1,其他位置數(shù)據(jù)都是0,Ci定義為
(29)
對處理后的測試樣本yen進行分類:
(30)
式中:I為單位矩陣.通過I與Ci作差可以優(yōu)化殘差,進而優(yōu)化識別結(jié)果.
為了驗證文中算法光照和面部污垢情況下對豬臉識別的魯棒性,對JDD2017大賽豬臉數(shù)據(jù)集進行處理后用于試驗.從中選擇了330張豬臉圖像,分別構(gòu)造自定義豬臉光照數(shù)據(jù)集(https:∥pan.baidu.com/s/1cJsGChDv-6i75ISPW59Q,如圖5所示)和自定義豬臉污垢數(shù)據(jù)集(https:∥pan.baidu.com/s/1UDGHzt9z9t9yiI-r5it0Lw,如圖6所示),每種數(shù)據(jù)集包含165張豬臉圖像,共15頭豬,每頭豬11張圖像,并剔除了連續(xù)幀的圖像,避免影響識別結(jié)果.收集圖像的個數(shù)和類數(shù)與最小人臉數(shù)據(jù)集(Yale_face)類似,保證了數(shù)據(jù)集的有效性.由于收集的圖像大小尺寸不一,需要對圖像進行預(yù)處理,統(tǒng)一尺寸后進行試驗,處理后的圖像大小為64 像素×64像素,圖片為bmp格式.光照數(shù)據(jù)集中對每頭豬隨機選擇3張圖像調(diào)整光照亮度,分別調(diào)暗不程度.
文中利用MATLAB進行仿真試驗,硬件環(huán)境如下:CPU為Intel(R) Core(TM) i5-3337U,主頻1.80 GHz;內(nèi)存為8 GB.為了驗證文中所提出算法的性能,分別在光照數(shù)據(jù)集和面部污垢數(shù)據(jù)集上與傳統(tǒng)分類方法(SRC,LR,CSR,DMSC)和深度學(xué)習(xí)方法(CNN)進行對比試驗.與傳統(tǒng)分類方法進行對比試驗時,從數(shù)據(jù)集中每類隨機選擇3~6張圖像作為訓(xùn)練樣本,其余圖像為測試樣本,當(dāng)每類訓(xùn)練樣本個數(shù)分別為3,4,5,6時,訓(xùn)練樣本總數(shù)分別為45,60,75,90,測試樣本總數(shù)別為120,105,90,75.與深度學(xué)習(xí)方法進行對比試驗時,由于文中選取的數(shù)據(jù)集大小有限,而深度學(xué)習(xí)需要大量數(shù)據(jù)訓(xùn)練模型,所以盡可能多選取訓(xùn)練樣本,保證模型的可用性,從數(shù)據(jù)集中每類隨機選擇7~8張圖像作為訓(xùn)練樣本,其余圖像為測試樣本.所有的試驗重復(fù)10次,取平均值作為最終識別結(jié)果.
圖5 部分光照數(shù)據(jù)集中的豬臉圖像樣本
圖6 部分面部污垢數(shù)據(jù)集中的豬臉圖像樣本
3.2.1光照驗證試驗
為了驗證文中算法對光照的有效性,在光照數(shù)據(jù)集上進行兩組對比試驗.
與傳統(tǒng)分類方法進行對比試驗.文中算法首先利用區(qū)域協(xié)方差濾波器對測試樣本進行光照估計,有效提取出表示圖像內(nèi)在屬性的反射分量;然后應(yīng)用自適應(yīng)伽馬校正對反射分量進行增強,可以增強反射分量的細節(jié),提高對比度.CSR算法結(jié)合了區(qū)域修復(fù)框架可以在較小數(shù)據(jù)集上減小光照的影響.當(dāng)每類訓(xùn)練樣本個數(shù)為6時,文中算法識別率平均超過CSR算法1.45%.試驗結(jié)果如圖7所示,可見文中算法(以O(shè)URS表示)明顯優(yōu)于其他對比算法.
圖7 光照情況下不同算法的識別率對比
與深度學(xué)習(xí)方法(選擇CNN算法)進行對比試驗.CNN算法由3層卷積層、2層池化層組成.由于CNN算法需要大量數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò),即便每類選擇8張圖像用來訓(xùn)練,識別率也僅達到64.17%,遠遠低于文中算法,試驗結(jié)果如表1所示.由光照驗證試驗可知文中算法對光照具有良好的魯棒性.
表1 光照情況下不同算法的識別率對比
3.2.2面部污垢驗證試驗
為了驗證文中算法對面部污垢的有效性,在面部污垢數(shù)據(jù)集上進行兩組對比試驗.
與傳統(tǒng)分類方法進行對比試驗.文中算法應(yīng)用低秩分解獲取低秩組件,低秩組件可以描述面部信息;重構(gòu)殘差函數(shù)可以有效地動態(tài)平衡誤差,減小面部污垢對識別的影響.雖然DMSC算法通過模擬測試樣本可能出現(xiàn)的遮擋情況、并用殘差函數(shù)減少重構(gòu)誤差來降低面部污垢對識別結(jié)果的影響,文中算法通過重構(gòu)殘差函數(shù),提高了算法對面部污垢了魯棒性.試驗結(jié)果如圖8所示,可見文中算法始終優(yōu)于其他對比算法.
圖8 面部污垢情況下不同算法的識別率對比
與深度學(xué)習(xí)方法(選擇CNN算法)進行對比試驗.CNN算法由3層卷積層、2層池化層組成.由于CNN算法需要大量數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò),即便每類選擇8張圖像用來訓(xùn)練,識別率也僅達到63.89%,遠遠低于文中算法,試驗結(jié)果如表2所示.由面部污垢驗證試驗可知文中算法對面部污垢具有良好的魯棒性.
表2 面部污垢情況下不同算法的識別率對比
3.2.3耗時試驗對比
為確定不同算法耗時情況,分別在光照數(shù)據(jù)集和面部污垢數(shù)據(jù)集上統(tǒng)計算法的運行時間.與傳統(tǒng)分類方法相比,由于文中選取的數(shù)據(jù)集較小,當(dāng)訓(xùn)練樣本數(shù)增加時,耗時波動變化不大.試驗結(jié)果如表3-4所示.試驗分析可知:與CNN算法進行對比,當(dāng)每類訓(xùn)練樣本個數(shù)為8個時,CNN算法平均需要4.17 s,耗時遠遠高于文中算法.因此文中算法的有效性得到驗證.
表3 光照污垢情況下不同算法的時間對比 s
表4 面部污垢情況下不同算法的時間對比 s
通過光照試驗可以驗證區(qū)域協(xié)方差濾波器和自適應(yīng)伽馬校正對光照的魯棒性:區(qū)域協(xié)方差濾波器可以對測試樣本進行光照估計,提取出表示圖像內(nèi)在屬性的反射分量;自適應(yīng)伽馬校正可以增強反射分量的細節(jié),提高對比度;試驗結(jié)果表明,文中算法對光照具有良好的魯棒性.在面部污垢試驗中,文中算法重構(gòu)殘差函數(shù),得到優(yōu)化誤差的權(quán)重矩陣;因為面部污垢部分通常比正常部分有更大的誤差,所以應(yīng)用權(quán)重矩陣動態(tài)平衡誤差,減少面部污垢對識別結(jié)果的影響;當(dāng)訓(xùn)練樣本個數(shù)大于5個時,文中算法明顯優(yōu)于其他對比算法,對于面部污垢問題有很好的魯棒性.
文中提出了一種基于加權(quán)稀疏低秩組件編碼的豬臉識別算法,減少了面部污垢和光照對豬臉識別的影響,在自定義光照數(shù)據(jù)集和面部污垢數(shù)據(jù)集上得到驗證了其有效性:相比于其他傳統(tǒng)算法,文中算法有著良好的識別結(jié)果;相比于深度學(xué)習(xí)算法,文中訓(xùn)練數(shù)據(jù)耗時較短.