?

基于YOLOv5與目標追蹤算法的戴口罩人臉識別系統

2023-06-25 22:22吳靜雯李小龍梁向陽
現代信息科技 2023年6期
關鍵詞:深度學習

吳靜雯 李小龍 梁向陽

摘? 要:針對后疫情時代人臉識別系統無法在佩戴口罩的情況下準確識別人臉的問題,基于OpenCV庫和Dilb庫架構系統,引入YOLOv5目標檢測算法替代Dlib原有的人臉目標區域檢測算法。通過檢測算法獲取一系列目標特征值的坐標位置后,采用Centriod Tracking目標追蹤算法來處理這些特征,從而實現對佩戴口罩人臉圖像的快速識別,系統同時實現了用戶注冊、數據錄入、信息管理和日志等功能。

關鍵詞:深度學習;YOLOv5算法;目標追蹤算法;戴口罩人臉識別

中圖分類號:TP391.4? ? 文獻標識碼:A? 文章編號:2096-4706(2023)06-0061-04

Face with Mask Recognition System Based on YOLOv5 and Target Tracking Algorithm

WU Jingwen, LI Xiaolong, liang Xiangyang

(School of Computer Science and Engineering, Xi'an Technological University, Xi'an? 710021, China)

Abstract: In view of the problem that the face recognition system cannot accurately recognize faces under the condition of wearing masks in the post-epidemic era, based on the OpenCV library and Dilb library architecture system, the YOLOv5 object detection algorithm is introduced to replace the original face target area detection algorithm of Dlib. After the coordinate position of a series of target feature values is obtained by the detection algorithm, the Centriod Tracking target tracking algorithm is used to process these features, so as to realize the rapid recognition of face images with masks. The system also realizes the functions of user registration, data entry, information management and log.

Keywords: deep learning; YOLOv5 algorithm; target tracking algorithm; face with mask recognition

0? 引? 言

現如今,為了控制新冠疫情的傳播,國家要求出入公共場所和乘坐公共交通工具必須佩戴口罩。然而,各類公共場所中的人臉識別系統絕大多數不支持戴口罩狀態下進行精準識別。這就要求疫情防控人員不僅要檢查人員是否佩戴口罩,而且需要卸下口罩才能進行精準的人臉識別核驗信息。這種解決方案進而導致了新冠疫情潛在傳播風險的增加。

對此,本文將介紹一種基于YOLOv5與目標追蹤算法的戴口罩人臉識別系統,該系統可以檢測是否佩戴口罩,并在佩戴口罩的情況下準確識別目標人物。

本系統在OpenCV庫和Dilb庫的基礎上進行改進,采用靈活度更好的YOLOv5目標檢測算法以及目標追蹤算法,對這四種算法進行綜合應用。在人臉識別算法中調用封裝好的代碼替換Dlib原有的人臉目標區域檢測算法,既擁有了Dlib庫基于HOG(Histogram of Oriented Gradients)檢測的精準性,又擁有YOLOv5的靈活性,通過檢測算法獲取到一系列目標特征值的坐標位置,后續采用Centriod Tracking目標追蹤算法來處理這些特征。

1? 系統設計

1.1? 系統功能模塊設計

由需求分析可知,面向移動測溫的人臉識別系統主要由以下模塊構成:登錄注冊、人臉識別、人臉錄入、信息管理和通行記錄。其結構圖如圖1所示。

1.2? 數據庫設計

面向移動測溫的人臉識別系統只有兩類用戶,登錄系統的用戶和掃臉用戶。因此不存在身份權限問題。管理員用戶只需在使用該系統時進行登錄,然后開始其他操作。掃臉用戶需要提前將人臉圖片和相關信息提交給管理員,管理員再將相關信息錄入人臉數據庫,掃臉用戶在掃臉時候就可以識別人臉了,可以選擇佩戴口罩或者不佩戴口罩識別。數據表主要包括管理員表、員工表、人臉信息表、圖片路徑表和通行記錄表,表名依次為:administrator、user、feature、pic、record。利用Pycharm與MySQL數據庫建立聯系,實現數據的增刪改查。

2? 核心算法

本系統在搭建PySide2界面之前,采用多種人臉檢測技術進行測試,最后決定綜合運用YOLOv5目標檢測算法、Centriod Tracking目標追蹤算法、OpenCV、Dlib這四種技術,重點在YOLOv5目標檢測和目標追蹤算法的優化方案上,例如特征點標記、提取特征矢量、視頻幀處理優化、歐氏距離計算等,保留各個算法的優點,并進行綜合運用。

2.1? YOLOv5目標檢測算法

YOLO算法[1]是目前比較火的目標檢測算法,可以用于做安全帽檢測、車牌識別等,效果都是挺好的。目前YOLO算法已經發展到YOLOv5系列。YOLOv5的整體模型和YOLOv4相比差別很小,主要特點是靈活度比YOLOv4更高。

YOLOv4典型結構[2]是cspdarknet53+panet+spp+yyolov3 head。整個YOLOv5簡單來講就是通過應用類似EfficientNet的channel和layer控制因子來靈活配置不同復雜度的模型,并且在正負樣本定義階段采用了跨領域的網絡匹配策略,從而得到更多的正樣本Anchor,加速收斂。本系統采用最新的YOLOv5算法,進行人臉檢測。

2.2? Centriod Tracking目標追蹤算法

Centriod Tracking目標追蹤算法[3]的核心算法為:

(1)接受邊界框并計算質心。對于某一幀找到邊界框并計算質心,從而得到質心坐標(x, y)。如圖2所示。

(2)計算新邊界框與舊邊界框質心的歐幾里得距離。本文利用檢測算法得到邊界框,但不會再給每一個檢測到的物體添加新的ID或標記(只做檢測,不做識別),而是通過這種方法使新目標和舊目標可以聯系起來。如圖3所示。

(3)更新現有目標的質心坐標。質心跟蹤算法的前提是:對于一個給定的目標,將會在連續幀中出現,而且在第N幀和第N+1幀中的質心歐氏距離要小于不同目標之間的歐式距離;因此在連續幀之間,根據歐氏距離最小的原則,將連續幀中邊界框的質心聯系起來,就可以得到一個目標X來表示這些連續幀中的變化聯系,通過這種方式來達到目標追蹤的目的。

(4)注冊新的目標。當新增一個目標時,給這個新增目標一個目標ID,然后存儲這個新目標的質心坐標,從步驟(2)開始,對于視頻流中的每一幀計算質心的歐式距離,并不斷地更新質心坐標。

(5)注銷舊的目標。一個目標在后續幀中可能會消失,對于已經消失的目標,要注銷它的ID。

2.3? OpenCV

在人臉是否佩戴口罩的檢測中,采用OpenCV[4]自訓練軟件來訓練戴口罩的人臉檢測模型來進行佩戴口罩的人臉檢測。首先獲取戴口罩的圖片以及未戴口罩的人臉圖片共3 000張,把戴口罩的照片看作正樣本,未戴口罩的圖片看作負樣本,正負樣本比例為1:3。由于OpenCV不太準確,而且噪音樣本影響非常大,因此將正負樣本分別采用人臉識別器進行分類并獲取人臉位置,將圖片灰度化處理后進行剪裁。由于OpenCV的誤識別,需要手工刪除剪裁完后的圖片中非人臉的圖片。

2.4? Dlib

Dlib[5]是一個機器學習的開源工具包,用于機器人、嵌入式設備、移動電話和大性能計算環境。由于原生的Python不支持安裝Dlib的whl,因此需要先下載Dlib安裝包,然后再安裝。Dlib基于HOG實現人臉檢測,利用Dlib的get_frontal_face_detector(正向人臉檢測器)進行目標人臉檢測,提取目標人臉的外部矩形框,利用訓練好的shape_predictor人臉68點特征檢測器,進行人臉面部輪廓特征提取。Dlib庫識別人臉比OpenCV更為精確,但是在測試時發現不能檢測到佩戴口罩的人臉。前期為了檢測佩戴口罩的人臉區域,采用OpenCV來識別人臉區域,返回人臉坐標,并轉化為Dlib類型的坐標。但是這樣做就會導致無法識別人臉是否佩戴口罩,處理比較麻煩,而且精確度不高。所以后期改用YOLO算法進行目標檢測。

3? 算法應用

3.1? 識別實驗的具體描述

本系統基于Windows 10操作系統構建Python 3.7編程環境實現,選用PyTorch 1.8.0深度學習框架搭建網絡模型。在PyCharm正式版2021.2.3中導入Dlib庫、OpenCV庫等庫依賴,實現YOLOv5算法和Centriod Tracking目標追蹤算法,使用8.0.30 MySQL Community Server–GPL進行數據的存儲。實驗數據設置兩2 000張人臉照片進行訓練,用labelimg標注工具進行人臉佩戴口罩和不配戴口罩區域標記。標記完會生成txt文件,將txt文件轉化為YOLO算法可以識別的xml文件。然后將生成的結果按8:2劃分為訓練集和測試集。修改YOLOv5源代碼中關鍵部分進行訓練,訓練時長大約12小時。初始學習率設為0.01;momentum設為0.937;權重衰減系數(weight decay)設為0.000 5。

3.2? 結果分析

基礎解釋[6]:

True Positive(真正,TP):將正類預測為正類數。

True Negative(真負,TN):將負類預測為負類數。

False Positive(假正,FP):將負類預測為正類數—誤報(Type I error)。

False Negative(假負,FN):將正類預測為負類數—漏報(Type II error)。

精確率:正確預測為正占全部預測為正的比例公式為:

精確率代表對正樣本結果中的預測準確程度,準確率則代表整體的預測準確程度,包括正樣本和負樣本。分母是預測到的正類,精確率的提出是讓模型的現有預測結果盡可能不出錯。

召回率:即正確預測為正的占全部實際為正的比例公式為:

召回率(Recall)是針對原樣本而言的,其含義是在實際為正的樣本中被預測為正樣本的概率。高召回率說明可能存在更多的誤檢,但仍然會努力找尋每一個應該被找到的目標。

為了能夠說明不同算法間的優缺,在精確率和召回率的基礎上提出了F1值的概念,來對精確率和召回率進行整體評價。F1的定義為:

PR曲線:以召回率作為橫坐標軸,精確率作為縱坐標軸。mAP就是PR曲線與X軸圍成的圖形面積,mAP值為1時模型性能最好。

選取精確率如圖4所示,召回率如圖5所示,平均精度均值(mAP)如圖6所示,F1值如圖7所示作為評價指標來驗證本系統的檢測性能,驗證本系統的可應用性,檢測結果如表1所示。

經過訓練后,測試1 000張不同人臉,與數據庫進行比對,得出如表2所示的數據,未識別或識別錯誤的人臉統一使用unknown進行標記,識別成功計數器開始計數,設置時間計數器并提交至列表中存儲。訓練結果曲線圖如圖8所示。受限于訓練樣本和設備性能的影響,如果設備性能足夠且訓練樣本足夠大,準確度會大幅提升。

4? 程序運行結果

本系統有注冊并登錄、采集人臉并提取特征、人臉識別等模塊。下文主要對采集人臉并提取特征、識別人臉模塊的程序結果進行著重介紹。

4.1? 采集并識別人臉特征

人臉信息錄入是利用YOLOv5目標檢測算法進行人臉區域標定,據檢測出的人臉區域,標定人臉68個特征點,然后提取128維人臉特征,同時將截取的圖片鏡像處理,一共得到同一個人佩戴口罩和不佩戴口罩以及鏡像文件四種特征值,存入數據庫。具體運行結果如圖9所示。

4.2? 人臉識別

人臉區域目標檢測采用YOLOv5算法,返回坐標區域和識別結果。人臉識別的過程,根據檢測出的人臉區域,標定人臉68個特征點,然后提取128D(維)人臉特征,遍歷人臉特征庫,返回二者之間的歐氏距離,如果歐式距離小于一定的閾值,就可以認為識別的人臉是同一張人臉,本系統采取的閾值是0.5,在訓練樣本足夠大的情況下,閾值可以繼續調整。具體識別運行結果如圖10所示。

5? 結? 論

本系統是一種基于深度學習并利用YOLOv5目標檢測算法與Centriod racking目標追蹤算法以及Python中的OpenCV庫與Dlib庫的戴口罩人臉識別系統。選用Pytorch 1.8.0深度學習框架搭建網絡模型,識別準確率會隨著訓練時間的大幅增加,準確度會大幅提升。未來,戴口罩人臉識別系統可以應用到門禁考勤、金融支付、公共安防等方面。隨著本系統不斷深入的應用和不斷改進,未來還有可能應用到公安“天眼系統”甚至于軍事應用方面。

參考文獻:

[1] 趙暢.基于YOLOv5改進的人臉檢測算法的研究與實現 [D].長春:吉林大學,2022.

[2] 王鑫,王忠舉,李銳.基于神經網絡的人臉識別研究綜述 [J].信息與電腦:理論版,2020,32(23):56-58.

[3] 趙元章.人臉遮擋物識別算法的研究與應用 [D].西寧:青海師范大學,2022.

[4] 黃渶柯.基于深度學習的口罩人臉識別系統研究 [D].長沙:湖南大學,2021.

[5] 黃振龍,吳林煌.基于Yolov5s和Dlib的視頻人臉識別 [J].電腦知識與技術,2021,17(32):94-96.

[6] 肖博健,萬爛軍,陳俊權.采用YOLOV5模型的口罩佩戴識別研究 [J].福建電腦,2021,37(3):35-37.

作者簡介:吳靜雯(2002—),女,滿族,陜西西安人,本科在讀,研究方向:智能科學與技術;李小龍(2001—),男,漢族,陜西渭南人,本科在讀,研究方向:軟件工程。

收稿日期:2022-10-26

基金項目:2022年西安工業大學大學生創新創業訓練計劃項目(S202210702109)

猜你喜歡
深度學習
從合坐走向合學:淺議新學習模式的構建
面向大數據遠程開放實驗平臺構建研究
基于自動智能分類器的圖書館亂架圖書檢測
搭建深度學習的三級階梯
有體驗的學習才是有意義的學習
電子商務中基于深度學習的虛假交易識別研究
利用網絡技術促進學生深度學習的幾大策略
MOOC與翻轉課堂融合的深度學習場域建構
大數據技術在反恐怖主義中的應用展望
深度學習算法應用于巖石圖像處理的可行性研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合