葉永雪,馬鴻雁*,2,3
(1. 北京建筑大學(xué)電氣與信息工程學(xué)院,北京 100044;2. 建筑大數(shù)據(jù)智能處理方法研究北京市重點實驗室,北京 100044;3. 智慧城市國家級虛擬仿真實驗教學(xué)中心,北京 100044)
自2019年末新型冠狀病毒肺炎以來,疫情飛速蔓延至全球。在疫情常態(tài)化的當(dāng)下,正確佩戴口罩可以簡單并有效的減少飛沫傳播,切斷病毒傳播途徑,減緩疫情[1]。但在某些場合,存在口罩佩戴不嚴(yán)謹(jǐn)且無法檢測的問題[2]。隨著計算機視覺技術(shù)的快速發(fā)展,目標(biāo)檢測在近幾十年得到了高速發(fā)展。有效的口罩佩戴檢測系統(tǒng)對于公眾防范新型冠狀病毒感染,降低感染風(fēng)險具有十分重要的意義[2]。時下針對口罩等小目標(biāo)的檢測算法主要包含兩類:基于機器學(xué)習(xí)的算法以及基于遷移學(xué)習(xí)的算法[3]?;跈C器學(xué)習(xí)的算法包含單階段檢測算法與雙階段檢測算法[5],有檢測精度高,檢測速度快等優(yōu)勢,但需要大量的數(shù)據(jù)作為算法支撐。而基于遷移學(xué)習(xí)的算法則可以彌補基于大數(shù)據(jù)和深度學(xué)習(xí)的物體檢測方法的不足[4]。
機器學(xué)習(xí)的單階段口罩檢測算法以YOLO系列為主[5]。J R等基于YOLO算法,設(shè)計出高檢測速度的YOLO目標(biāo)檢測系統(tǒng)。但是該系統(tǒng)存在檢測邊框不穩(wěn)定等問題[6]。在此之上,J R通過擴展數(shù)據(jù)類型,提出YOLO v2算法。該算法可以檢測多達(dá)9000個目標(biāo)類別,但對口罩等小物體檢測敏感度低[7]。A K等人對YOLO的各類變種算法進行實驗,實驗結(jié)果顯示,YOLO v3在口罩等小目標(biāo)檢測中有較高的精確性,但是該算法需大量的算力,不適合嵌入式或移動設(shè)備推廣[8]。葉子勛等通過替換YOLO v4算法的主干特征提取網(wǎng)絡(luò),有效的提高了該算法的魯棒性,該算法考慮到光照的影響。但該算法的泛化能力較差,時效性也較低[10]。談世磊通過將YOLO v5網(wǎng)絡(luò)模型用于口罩佩戴檢測,在保證較高的準(zhǔn)確率的同時,大幅度的提高了幀頻速度,解決了口罩佩戴檢測速度較低下的問題。但該研究僅完成前期算法測試,后期算法部署仍存有局限性[11]。
遷移學(xué)習(xí)在農(nóng)業(yè)病理圖像識別中取得了不錯的應(yīng)用成果。張德軍等人基于GoogLeNet網(wǎng)絡(luò)進行遷移學(xué)習(xí),采用圖像增強,區(qū)域填充等圖像處理手段,有效的檢測出芒果的各類病狀[12]。趙立新等利用遷移學(xué)習(xí)算法并輔以數(shù)據(jù)增強技術(shù),將Plant Village領(lǐng)域的知識遷移到棉花病蟲害領(lǐng)域,解決了棉花葉部病蟲害圖像識別問題[13]。許景輝等提出基于遷移學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)玉米病害識別模型,并開發(fā)圖形用戶界面,可實現(xiàn)田間玉米大斑病與銹病圖像的智能識別[14]。黎振等針對番茄病理葉片存在背景干擾問題,提出基于遷移學(xué)習(xí)和k-means分割的方法對番茄病害葉片進行識別??梢杂行У谋鎰e出白粉病、早疫病、葉霉病、斑點病、黃花曲葉病等[15]。
在新冠疫情的大環(huán)境下,口罩正確佩戴檢測研究是計算機視覺和模式識別中備受青睞的熱點[16]。許德剛認(rèn)為,如何在不影響檢測速度的前提下提高口罩佩戴檢測精度是未來發(fā)展的趨勢[17]。而基于機器學(xué)習(xí)的單階段口罩佩戴檢測精度低,雙階段口罩佩戴檢測速度慢,使其難以產(chǎn)品化[18]。遷移學(xué)習(xí)擁有低數(shù)據(jù)基礎(chǔ)、高檢出率等優(yōu)點[19],使得其產(chǎn)品化較為容易。本文基于領(lǐng)域自適應(yīng)遷移學(xué)習(xí)建立口罩佩戴檢測模型,并將該模型嵌入到手持?jǐn)z像頭中。
遷移學(xué)習(xí)(Transfer learning)是將已訓(xùn)練好的模型即預(yù)訓(xùn)練模型的參數(shù)遷移到新的模型來幫助新模型進行訓(xùn)練[20]。具體的遷移學(xué)習(xí)過程見圖1所示。常見的遷移學(xué)習(xí)包括在領(lǐng)域自適應(yīng)遷移學(xué)習(xí)、線遷移學(xué)習(xí)、終身遷移學(xué)習(xí)、異構(gòu)遷移學(xué)習(xí)、深度遷移學(xué)習(xí)、強化遷移學(xué)習(xí)、對抗遷移學(xué)習(xí)等。
圖1 遷移學(xué)習(xí)過程
領(lǐng)域自適應(yīng)遷移學(xué)習(xí)是目前較為實用的遷移學(xué)習(xí)。領(lǐng)域自適應(yīng)遷移學(xué)習(xí)將不同源領(lǐng)域的數(shù)據(jù)及特征映射到相同特征空間,增強目標(biāo)領(lǐng)域的訓(xùn)練,可以達(dá)到更好的訓(xùn)練效果。綜上本文基于領(lǐng)域自適應(yīng)遷移學(xué)習(xí)建立口罩佩戴檢測模型。圖2為基于領(lǐng)域自適應(yīng)遷移學(xué)習(xí)口罩佩戴檢測流程圖,該流程主要由三大部分組成。
圖2 領(lǐng)域自適應(yīng)遷移學(xué)習(xí)口罩佩戴檢測流程
1)數(shù)據(jù)處理:將采集的數(shù)據(jù)集進行人體關(guān)鍵點檢測-人臉分割,去除圖像背景及人體姿態(tài)的影響;然后對分割后的圖像進行預(yù)處理;最后利用數(shù)據(jù)增強技術(shù)擴充數(shù)據(jù)樣本的數(shù)量。
2)模型建立:將處理后的圖像數(shù)據(jù)按照8:2的比例分為訓(xùn)練集和測試集。利用訓(xùn)練級的圖像數(shù)據(jù)訓(xùn)練基于領(lǐng)域自適應(yīng)遷移學(xué)習(xí)口罩模型,并以混淆矩陣的方式檢測模型的精準(zhǔn)率與召回率。
3)模型輸出與重利用:將輸出的模型嵌入到手持?jǐn)z像頭中,以實現(xiàn)口罩佩戴檢測的硬件部署部署。
2.3.1 精準(zhǔn)率與召回率
精準(zhǔn)率與召回率是口罩佩戴檢測模型好壞的重要的判斷標(biāo)準(zhǔn)。精確率表示檢測為正的樣本中有多少是真正的正樣本。召回率表示樣本中的正類有多少被檢測正確。本文正確佩戴口罩(mask)為正類,未佩戴口罩(face)、錯誤佩戴口罩(mistake)為負(fù)類。則精準(zhǔn)率P與召回率R如式(1)所示
(1)
式中:TP—正類檢測為正類數(shù);
FN—正類檢測為負(fù)類數(shù);
FP—負(fù)類檢測為正類數(shù);
TN—負(fù)類檢測為負(fù)類數(shù)。
2.3.2 混淆矩陣
混淆矩陣用于描繪樣本數(shù)據(jù)的真實屬性與識別結(jié)果類型之間的關(guān)系。表1顯示口罩佩戴檢測模型中各個類別檢測的結(jié)果。
表1 口罩佩戴檢測模型混淆矩陣
在表1口罩佩戴檢測模型混淆矩陣中,X1%表示正確佩戴口罩(mask)數(shù)據(jù)中模型檢測正確的百分比。Y1%表示正確佩戴口罩(mask)數(shù)據(jù)中模型檢測錯誤,即檢測為未佩戴口罩(face)的百分比。同理,Y3%表示不正確佩戴口罩(mistake)數(shù)據(jù)中模型檢測錯誤,即檢測為正確佩戴口罩(mask)的百分比。該模型希望X1%,X2%,X3%趨近于100%。
2.3.3 基于混淆矩陣的模型準(zhǔn)確率
基于混淆矩陣的分類準(zhǔn)確率用于反映模型對不同類別目標(biāo)檢測的準(zhǔn)確性。該模型的數(shù)據(jù)集類別分為3類:正確佩戴口罩(mask)類,未佩戴口罩(face)類、錯誤佩戴口罩(mistake)類。在口罩佩戴檢測的混淆矩陣中,模型準(zhǔn)確率H計算見式(2)。
(2)
式中:Xi—表1中的X1%,X2%,X3%;
hi—類別數(shù)據(jù)對應(yīng)數(shù)據(jù)集中的占比。
3.1.1 數(shù)據(jù)圖像采集裝置
本文通過懸掛式攝像頭采集人臉是否佩戴口罩圖像數(shù)據(jù)。攝像頭具體參數(shù)如下:支持Windows操作系統(tǒng),有效像素為210萬,信噪比大于50dB,鏡頭焦距為3.6mm,采用標(biāo)準(zhǔn)USB2.0接口,兼容USB3.0接口,最大分辨率為1280×720,視頻輸出格式為AVI,圖片輸出格式為JPG。視頻輸出大小為YUY2(640×480),輸出圖像質(zhì)量滿足Skype &Lynx要求。攝像頭如圖3所示
圖3 數(shù)據(jù)圖像采集攝像頭
3.1.2 數(shù)據(jù)圖像采集類別
采集的數(shù)據(jù)圖像包括三大類:正確佩戴口罩(mask)類,共采集數(shù)據(jù)圖像3548張;未佩戴口罩(face)類,共采集數(shù)據(jù)圖像1156張;錯誤佩戴口罩(mistake)類,共采集數(shù)據(jù)圖像1352張。采集的數(shù)據(jù)圖像總計超6000張。
正確佩戴口罩(mask)類數(shù)據(jù)為正類,該數(shù)據(jù)在采集過程中考慮到人臉配飾的遮擋與否的情況,即考慮到被采集人員的性別,是否佩戴帽子,是否佩戴眼鏡以及佩戴口罩的顏色等情況。詳見表2正確佩戴口罩類采集情況。
表2 正確佩戴口罩類采集情況
錯誤佩戴口罩(mistake)類為負(fù)類,主要包含三大類別:mis1-口罩佩戴未遮住鼻腔類,mis2-口罩佩戴未遮住口鼻類,mis3-口罩未完全佩戴類。詳見圖4 錯誤佩戴口罩(mistake)類示例圖。
圖4 錯誤佩戴口罩(mistake)類示例圖
人體關(guān)鍵點檢測技術(shù)有兩種較為準(zhǔn)確的方案,即自下而上檢測和自上而下檢測。本文采用的Open Pose算法屬于典型的自下而上的檢測算法。具有大幅縮短檢測周期的優(yōu)勢。Open Pose將輸入的圖像樣本,經(jīng)過VGG19卷積網(wǎng)絡(luò)提取相關(guān)特征;使用CNN網(wǎng)絡(luò)通過兩個方向上分別提取置信度和關(guān)聯(lián)度;將上述兩個信息使用偶匹配的方法求出其關(guān)聯(lián),將同人的關(guān)鍵點連接起來,合并成整體骨架。原理見圖5人體關(guān)鍵點檢測Open Pose實現(xiàn)原理。
圖5 人體關(guān)鍵點檢測Open Pose實現(xiàn)原理
人體面部包含6個關(guān)鍵點,即右耳、右目、鼻、左目、左耳以及頸。基于人體關(guān)鍵點的人臉面部分割:①以頸為基點,以平行于原始圖像下邊的為分割圖片的下邊;②以左耳為基點,以平行原始圖像左邊為分割圖像左邊;③以右耳為基點,以平行原始圖像右邊為分割圖像右邊;④以左、右目中較高的一個為基點,以平行原始圖像上邊為分割圖像上邊。詳見圖6基于人體關(guān)鍵點的圖像分割原理。分割后的圖像包含所有面部信息,可以有效的排除背景及人姿態(tài)的影響。將分割完后的圖像進行人體關(guān)鍵點去除,構(gòu)造數(shù)據(jù)集。
圖6 基于人體關(guān)鍵點的圖像分割原理
3.3.1 圖像預(yù)處理
為平滑人臉圖像,并提高圖像數(shù)字化的視感質(zhì)量。本文通過加入高斯噪聲,以空間域濾波法去除噪聲。去除噪聲后,將圖片數(shù)字化,數(shù)字化后數(shù)據(jù)集的類別特征如圖7所示。
圖7 圖像預(yù)處理后類別特征
3.3.2 圖像數(shù)據(jù)增強
基于領(lǐng)域自適應(yīng)遷移學(xué)習(xí)可能存在過擬合問題,過擬合會導(dǎo)致口罩佩戴檢測模型泛化能力變差,在新的圖像數(shù)據(jù)集上不能檢測,會導(dǎo)致后期硬件部署后,出現(xiàn)無法檢測的問題。
為了防止出現(xiàn)過擬合問題,本研究采取數(shù)據(jù)增強的方法來防止模型過擬合。通過對圖像的隨機垂直翻轉(zhuǎn)、隨機水平轉(zhuǎn)、隨機縮放等操作,擴充原始口罩圖像數(shù)據(jù)集,可以使訓(xùn)練更多的輪數(shù),提高模型的準(zhǔn)確度。對擴充后的人臉圖像數(shù)據(jù)集樣本以8:2的比例劃分為訓(xùn)練集和測試集。
將6000張采集的圖像平均分為三組,每組數(shù)據(jù)集分別進行帶有人臉圖像分割、不帶人臉圖像分割的口罩佩戴檢測試驗?;谌四槇D像分割口罩佩戴檢測模型測試集結(jié)果如圖8所示。
圖8 基于圖像分割口罩佩戴檢測模型測試結(jié)果
圖8為基于圖像分割口罩佩戴檢測模型第二次實驗測試集結(jié)果3D顯示圖。從圖8可以看出,測試集總計395張圖像。其中face類圖像總計103張,mask類圖像總計184張,mistake類圖像總計108張;而face類識別錯誤1張,mask類識別錯誤3張,mistake類識別錯誤2張。該模型的具體準(zhǔn)確率見表3。
表3 基于圖像分割口罩佩戴檢測模型第二次實驗測試集混淆矩陣
圖像數(shù)據(jù)占比為:mask:face:mistake=184:103:108。則該模型基于混淆矩陣的模型準(zhǔn)確率H為98.48%,具體的計算如下所示
三次仿真結(jié)果見表4。從表4可以看出,帶有人臉圖像分割口罩佩戴檢測模型的平均準(zhǔn)確率比不帶人臉圖像分割口罩佩戴檢測模型平均準(zhǔn)確率高6%。
表4 三次實驗不同模型準(zhǔn)確率對比
將訓(xùn)練好的模型嵌入至Open Mv設(shè)備中,該設(shè)備如圖9所示。該設(shè)備的攝像頭焦距為2.8mm,光圈為F2.0。該設(shè)備的處理器主芯片型號為STM32H743II,芯片架構(gòu)為ARM M7。
圖9 Open Mv手持設(shè)備
Open Mv設(shè)備采用Python語言,該硬件在處理嵌入式模型的具體情況見圖10硬件處理情況。從圖10中可以看出該設(shè)備在處理該模型時可達(dá)到4fps的幀率,且連續(xù)3次識別口罩未正確佩戴的概率均超過95%,這說明該嵌入式模型可以完成口罩佩戴檢測。
圖10 嵌入式程序硬件處理情況
基于圖像分割口罩佩戴檢測模型的準(zhǔn)確率超98%,但在不同類別的檢測上,該模型的檢測的準(zhǔn)確率也不相同。此外,模型在嵌入至硬件設(shè)備在,由于硬件攝像頭,主芯片處理情況等各類原因,導(dǎo)致模型的準(zhǔn)確率下降。因此,在嵌入至移動端后,為防止誤判,采用連續(xù)檢測正確邏輯增加判斷準(zhǔn)確率。具體的邏輯見圖11所示。通過連續(xù)檢測這一系統(tǒng),口罩正確佩戴檢測不會產(chǎn)生誤檢測。
圖11 口罩佩戴連續(xù)檢測系統(tǒng)
本文提出基于人體關(guān)鍵點檢測的人臉圖像分割與遷移學(xué)習(xí)的口罩佩戴檢測算法,通過實驗對比并分析發(fā)現(xiàn),不帶人臉圖像分割口罩佩戴檢測模型仿真平均準(zhǔn)確率比帶人臉圖像分割口罩佩戴檢測模型仿真平均準(zhǔn)確率低6%。這說明基于人體關(guān)鍵點檢測的人臉圖像分割技術(shù)在口罩佩戴檢測技術(shù)中有了較大的提升。
將基于人體關(guān)鍵點檢測與遷移學(xué)習(xí)的口罩佩戴檢測系統(tǒng)部署于Open Mv硬件中,在該硬件設(shè)備處理幀數(shù)快,模型識別率高。通過設(shè)計的口罩佩戴連續(xù)檢測系統(tǒng),使得該模型在進行口罩佩戴檢測中表現(xiàn)良好。