林科圻 趙艷萍 蘇德權(quán) 胡卓盛 鄭鑫
(廣西民族師范學(xué)院數(shù)理與電子信息工程學(xué)院 廣西壯族自治區(qū)崇左市 532200)
隨著生活水平的提高和城市化進(jìn)程的不斷加速,人們?cè)絹碓筋l繁地出現(xiàn)在公共場(chǎng)所,如商場(chǎng)、機(jī)場(chǎng)、體育館、火車站、地鐵等。這些場(chǎng)所的人員流動(dòng)性大,使得公共衛(wèi)生安全問題越來越突出。為了確保公共場(chǎng)所的安全,需要進(jìn)行有效的監(jiān)管和管理。其中,口罩的佩戴是一種非常重要的預(yù)防措施,因?yàn)樗梢宰钃蹩諝庵袛y帶的顆粒物、細(xì)菌、病毒等進(jìn)入呼吸道,從而有效地減少疾病傳播的風(fēng)險(xiǎn)。對(duì)于公共場(chǎng)所的管理者來說,對(duì)人員佩戴口罩情況進(jìn)行實(shí)時(shí)監(jiān)測(cè)和管理可以更好地保障公眾的健康安全。
在實(shí)際應(yīng)用中,手動(dòng)監(jiān)測(cè)口罩佩戴情況存在很多困難和限制。這種方法需要耗費(fèi)大量的人力和物力,并且容易受到主觀因素、視覺疲勞等因素的影響,從而降低準(zhǔn)確性和效率。因此,需要一種智能化、自動(dòng)化、高效率和高準(zhǔn)確率的技術(shù)手段來應(yīng)對(duì)這一問題。
人臉口罩佩戴識(shí)別是一種計(jì)算機(jī)視覺技術(shù),是數(shù)字圖像處理的重要分支,能夠在人臉被口罩部分遮擋的情況下,判定人臉是否正確佩戴了口罩,并且識(shí)別出遮擋人臉的身份信息。這項(xiàng)技術(shù)具有重要的實(shí)際意義,可以協(xié)助公共場(chǎng)所進(jìn)行安全監(jiān)管和防控措施,提高人們的生活質(zhì)量和安全水平。目前,國內(nèi)外已有許多學(xué)者和工業(yè)界從不同角度對(duì)口罩遮擋對(duì)人臉識(shí)別性能的影響進(jìn)行了相關(guān)的研究和實(shí)踐,并提出了各種算法和方法來克服這一問題。
PyramidBox 算法是一種目標(biāo)檢測(cè)算法,其獨(dú)特之處在于使用了金字塔架構(gòu)處理不同尺度的特征圖像。通過多層特征融合,PyramidBox 算法能夠有效提高檢測(cè)性能。
在本文中,我們將基于PyramidBox 算法進(jìn)行人臉口罩識(shí)別。為了實(shí)現(xiàn)這一目標(biāo),我們需要增加一個(gè)二分類器來判斷人臉是否佩戴口罩。具體地,我們將在候選框過濾的步驟中,對(duì)每個(gè)候選框進(jìn)行口罩分類和回歸。如果一個(gè)候選框被判定為佩戴口罩,則將其保留;否則將其過濾掉。
PyramidBox 算法中采用了多任務(wù)損失函數(shù)[1],該函數(shù)包含三個(gè)部分:人臉/非人臉二分類器損失、人臉關(guān)鍵點(diǎn)定位損失和人臉邊界框回歸損失。具體來說,損失函數(shù)的總體形式如下:
L=Lcls+λ1Lpts+λ2Lbox
其中,Lcls表示人臉/非人臉二分類器的損失,Lpts表示人臉關(guān)鍵點(diǎn)定位的損失,Lbox表示人臉邊界框回歸的損失,λ1和λ2是權(quán)重系數(shù)。
PyramidBox 算法使用交叉熵?fù)p失函數(shù)來計(jì)算二分類器損失,該損失函數(shù)的數(shù)學(xué)公式如下所示:
其中,N表示訓(xùn)練樣本的數(shù)量,yi表示第i個(gè)樣本的真實(shí)標(biāo)簽,pi表示第i 個(gè)樣本為正樣本的概率。在二分類器中,yi的取值只有0 和1,表示第i個(gè)樣本是非人臉還是人臉。
對(duì)于人臉關(guān)鍵點(diǎn)定位的損失,PyramidBox 算法使用的是平均歐氏距離損失函數(shù)[2],其公式如下:
其中,N表示訓(xùn)練樣本的數(shù)量,M表示每個(gè)樣本中關(guān)鍵點(diǎn)的數(shù)量,表示第i個(gè)樣本的第j個(gè)關(guān)鍵點(diǎn)的預(yù)測(cè)坐標(biāo), 表示第i個(gè)樣本的第j個(gè)關(guān)鍵點(diǎn)的真實(shí)坐標(biāo)。
對(duì)于人臉邊界框回歸的損失,PyramidBox 算法使用的是平滑L1 損失函數(shù),其公式如下:
其中,Pos表示正樣本集合,n表示正樣本數(shù)量,ti和ti*分別表示第i個(gè)正樣本的預(yù)測(cè)邊界框和真實(shí)邊界框,SmoothL1表示平滑L1 損失函數(shù),其公式如下:
該損失函數(shù)可以在一定程度上抑制異常值的影響,使得算法更加穩(wěn)定。同時(shí),由于其平滑的特性,相比于傳統(tǒng)的L1 損失函數(shù),其收斂速度更快,更容易得到更好的結(jié)果。
為了提高人臉口罩識(shí)別的準(zhǔn)確率,我們可以結(jié)合顏色檢測(cè)和膚色提取技術(shù)來進(jìn)一步篩選識(shí)別結(jié)果。具體而言,我們可以利用OpenCV 庫提供的顏色檢測(cè)方法來獲取膚色圖像。這個(gè)過程中,我們需要將圖像中的每個(gè)像素點(diǎn)轉(zhuǎn)換為HSV 色彩空間,并設(shè)定膚色的HSV 閾值,以篩選出符合條件的像素點(diǎn),最終得到膚色圖像。再通過形態(tài)學(xué)操作來去除噪聲和填充膚色區(qū)域內(nèi)的空洞,得到最終的膚色掩碼圖像。
膚色提取的公式如下:
其中,Mcolor(x,y)表示像素(x,y)是否屬于膚色;IHSV(x,y)表示像素(x,y)在HSV 色彩空間的值;skinHSV 表示膚色的HSV 閾值范圍。
顏色檢測(cè)的公式如下:
其中,Mcolor(x,y)表示像素(x,y)是否屬于顏色;IHSV(x,y)表示像素(x,y)在HSV 色彩空間的值;colorHSV 表示顏色的HSV 閾值范圍。
得到膚色和顏色掩碼圖像后,我們可以將其與人臉檢測(cè)結(jié)果進(jìn)行按位與運(yùn)算,即可得到在膚色和顏色限制下的人臉區(qū)域。最終,我們將得到的人臉區(qū)域輸入到二分類器中進(jìn)行口罩檢測(cè),輸出口罩檢測(cè)結(jié)果。
如圖1所示,本系統(tǒng)使用了深度學(xué)習(xí)算法MTCNN和PyramidBox 進(jìn)行人臉檢測(cè)和口罩識(shí)別。MTCNN 是一種端到端的多任務(wù)卷積神經(jīng)網(wǎng)絡(luò),它能夠快速準(zhǔn)確地檢測(cè)人臉和人臉特征點(diǎn),并判斷人臉是否佩戴口罩。PyramidBox 則是一種基于特征金字塔和多尺度檢測(cè)技術(shù)的輕量級(jí)目標(biāo)檢測(cè)算法,它能夠高效地識(shí)別圖像中的口罩區(qū)域。通過將兩種算法結(jié)合使用,本系統(tǒng)實(shí)現(xiàn)了對(duì)佩戴口罩的人臉的準(zhǔn)確檢測(cè)和識(shí)別。
圖1:系統(tǒng)架構(gòu)設(shè)計(jì)圖
如圖2所示,在口罩識(shí)別系統(tǒng)的采集模塊中,我們采用相機(jī)模塊來采集人臉圖像,并將這些圖像輸入到MTCNN 算法中進(jìn)行人臉檢測(cè)和人臉特征點(diǎn)檢測(cè)[3]。檢測(cè)結(jié)果將被傳輸?shù)絇yramidBox 算法中進(jìn)行口罩檢測(cè),同時(shí)經(jīng)過過濾和優(yōu)化,以確保檢測(cè)結(jié)果的準(zhǔn)確性和穩(wěn)定性。最終,我們將得到口罩檢測(cè)的結(jié)果,并將其傳遞到下一個(gè)模塊進(jìn)行后續(xù)處理。
圖2:算法識(shí)別測(cè)試
為了提高系統(tǒng)的準(zhǔn)確性和效率,我們還對(duì)MTCNN和PyramidBox 算法進(jìn)行了優(yōu)化和改進(jìn)。在MTCNN 算法中,我們引入了人臉姿態(tài)角度的約束和上下文信息的融合,使得算法在人臉傾斜、遮擋等情況下仍能保持良好的檢測(cè)效果;在PyramidBox 算法中,我們引入了注意力機(jī)制[4]和跨尺度特征融合,使得算法在處理復(fù)雜場(chǎng)景下的口罩檢測(cè)具有更好的魯棒性和泛化能力。
通過以上改進(jìn)和優(yōu)化,我們的口罩識(shí)別系統(tǒng)在人臉檢測(cè)和口罩識(shí)別任務(wù)上具有較高的準(zhǔn)確率和魯棒性。在后續(xù)的模塊中,我們將對(duì)識(shí)別結(jié)果進(jìn)行處理和上傳,并提供網(wǎng)頁端和移動(dòng)端用戶界面以及一些輔助功能,以實(shí)現(xiàn)全面的口罩識(shí)別系統(tǒng)。如圖3 和圖4所示。
圖3:網(wǎng)頁端用戶界面
圖4:移動(dòng)端用戶界面
根據(jù)實(shí)驗(yàn)數(shù)據(jù),得到表1 結(jié)果:
表1:人臉口罩檢測(cè)系統(tǒng)實(shí)驗(yàn)數(shù)據(jù)表
從數(shù)據(jù)表1 中可以看出,我們使用PyramidBox 算法結(jié)合顏色檢測(cè)和膚色提取技術(shù),增加了一個(gè)二分類器來識(shí)別佩戴口罩的人臉,經(jīng)過實(shí)驗(yàn),整個(gè)系統(tǒng)的識(shí)別準(zhǔn)確率高達(dá)98.9%??梢钥闯?,該系統(tǒng)具有較高的識(shí)別準(zhǔn)確性和實(shí)用性,可以在公共場(chǎng)合等需要佩戴口罩的場(chǎng)所廣泛應(yīng)用。
圖5 顯示了PyramidBox 算法結(jié)合顏色檢測(cè)和膚色提取技術(shù),增加一個(gè)二分類器用于識(shí)別佩戴口罩的人臉在不同Epoch 下的平均精度(mAP)表現(xiàn)。Epoch 是指在神經(jīng)網(wǎng)絡(luò)訓(xùn)練期間,在整個(gè)訓(xùn)練數(shù)據(jù)集上使用算法的次數(shù)。圖表顯示了三個(gè)數(shù)據(jù)集(MAFA,WIDER FACE和自采集),每個(gè)數(shù)據(jù)集都顯示了算法的mAP 表現(xiàn)。在每個(gè)數(shù)據(jù)集中,隨著Epoch 的增加,算法的mAP 表現(xiàn)顯著提高。在第10 個(gè)Epoch 時(shí),算法在所有三個(gè)數(shù)據(jù)集上都實(shí)現(xiàn)了相對(duì)較高的mAP 表現(xiàn)。該圖表明,PyramidBox 算法結(jié)合顏色檢測(cè)和膚色提取技術(shù)以及二分類器的引入可以有效提高口罩檢測(cè)系統(tǒng)的準(zhǔn)確性。
圖5:三個(gè)數(shù)據(jù)集性能折線圖
本文主要介紹了一個(gè)基于人臉口罩識(shí)別的系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)。我們首先對(duì)人臉口罩識(shí)別算法進(jìn)行了調(diào)研和比較,最終選擇了MTCNN 和PyramidBox 兩個(gè)算法作為人臉檢測(cè)和口罩識(shí)別的基礎(chǔ)。我們?cè)谙到y(tǒng)中引入了一些優(yōu)化算法,如非極大值抑制算法、數(shù)據(jù)增強(qiáng)等,從而提高了識(shí)別準(zhǔn)確率和穩(wěn)定性。同時(shí),我們還考慮了系統(tǒng)的可擴(kuò)展性和可維護(hù)性,設(shè)計(jì)了基于模塊化的系統(tǒng)架構(gòu),使得系統(tǒng)具有更好的可拓展性和可維護(hù)性。
該系統(tǒng)設(shè)計(jì)經(jīng)過實(shí)驗(yàn)結(jié)果的驗(yàn)證,在人臉口罩識(shí)別任務(wù)中展現(xiàn)出了較高的準(zhǔn)確率和穩(wěn)定性。盡管系統(tǒng)表現(xiàn)優(yōu)異,但仍存在一些局限性,例如場(chǎng)景限制和識(shí)別速度的問題。未來我們將繼續(xù)改進(jìn)該系統(tǒng),提高其魯棒性和實(shí)用性,以便在更廣泛的場(chǎng)景中應(yīng)用。