田有文,姚春霖,林 磊,郝 濤,張楠楠,吳 偉,王芳祿
(1.沈陽農(nóng)業(yè)大學 信息與電氣工程學院,沈陽 110161;2.國網(wǎng)丹東供電公司,遼寧 丹東 118000)
隨著國家智能電網(wǎng)的建設和無人變電站的普及,對于變電站設備和變電站員工的安全保護顯得尤為重要。通常為了保證變電站的人員安全和設備安全,都會在變電站入口處設置門禁系統(tǒng),只有正確識別出身份信息的人員才會被允許進入變電站。但是目前很多變電站的門禁系統(tǒng)功能過于單一,大部分是只對員工的人員身份進行識別,而對員工是否有違反安全規(guī)定的行為,例如不穿戴絕緣服、佩戴安全帽等信息沒有識別,從而對變電站員工的人身安全和設備安全存在著一定的隱患。因此,在門禁系統(tǒng)當中除了要對人員身份進行識別之外,還需要對員工所穿戴的安全裝備進行檢測與識別。這對于保障變電站的設備安全、人員安全和穩(wěn)定運行具有重要意義。
目前有很多學者對變電站門禁系統(tǒng)進行相關的研究。趙希洋等采用了將RFID 技術和紅外線技術結合建立變電站門禁系統(tǒng),可利用RFID 閱讀器讀取安全帽、絕緣鞋上的電子標簽而檢查了員工安全裝備的佩戴情況。張奎奎設計了一個變電站人臉識別系統(tǒng),使用機器學習LBP 算法來對人臉特征進行提取;曹怡等設計了基于IC卡的身份識別及登記裝置,該方法只能檢查變電站人員的進出情況;馬鵬姬等采用條碼技術設計了變電站門禁系統(tǒng),可以實現(xiàn)對人員進行篩選;KRAMBERGER 等采用語音識別技術設計了門禁系統(tǒng),同時使用了嵌入式麥克風陣列的方法來提高識別效率;UMAMAHESWARI 等通過使用Opencv 和Qt GUI 框架設計了一個對語音和人臉進行識別的門禁系統(tǒng);HUNG 等設計了一中基于智能手機NFC 功能的門禁系統(tǒng)。這些系統(tǒng)在一定程度上實現(xiàn)了識別變電站員工的功能,但是在實際應用當中識別率還比較低,而且識別信息比較單一。近年來隨著深度學習技術的快速發(fā)展,其在門禁系統(tǒng)方面得到了應用。李俊馳采用深度學習技術,設計了一個基于人臉識別的公司考勤門禁系統(tǒng),該門禁系統(tǒng)以改良的VGG 模型對數(shù)據(jù)進行訓練和預測,具有較高的識別效率;孫樂采用深度學習技術,設計了一個基于雙攝像頭的人臉識別門禁系統(tǒng),可以捕捉到更多的信息,識別效果也有提高;錢宇騁等使用了深度學習技術,提出了針對人員闖入的智能檢測系統(tǒng)。該系統(tǒng)以Hi3559A為計算單元,可以實現(xiàn)對監(jiān)控區(qū)域的人員檢測;RAMESWARI等采用FaceNet人臉識別算法建立門禁系統(tǒng),取得了比較好的效果;KHAWLA 等提出一種基于卷積神經(jīng)網(wǎng)絡的人臉識別系統(tǒng),通過使用三個預訓練的卷積神經(jīng)網(wǎng)絡,利用遷移學習對數(shù)據(jù)進行訓練來保證了模型的識別效果;WU提出了一種采用多任務級聯(lián)卷積神經(jīng)網(wǎng)絡MTCNN實現(xiàn)快速人臉檢測,然后使用改進損失函數(shù)的FaceNet實現(xiàn)高精度人臉識別的門禁系統(tǒng)。
以上研究表明,深度學習技術在門禁系統(tǒng)人臉識別中識別精度有所提高,對于變電站運行的安全性有一定的幫助,但是很少考慮變電站員工是否穿戴絕緣服、佩戴安全帽等信息,對其人身安全帶來一定問題。本研究提出了一種將安全帽、絕緣服檢測和人臉識別結合到一起的深度學習模型。首先利用Pytorch 框架搭建模型,而后對輸入的圖像使用YOLOv4 目標檢測模型和RetinaFace+Facenet 人臉識別模型進行識別,最后將目標檢測和人臉識別的結果顯示在預測結果中。該檢測模型可以很好的識別變電站人員信息,并且還可以對員工進行是否佩戴安全帽和絕緣服裝進行識別,對變電站人員安全和設備安全具有一定的應用價值。
YOLOv4是在YOLOv3的基礎之上,結合了大量現(xiàn)有的技術,并將技術加以組合和適當創(chuàng)新的one-stage 算法,在設計上很好的平衡了速度和精度。YOLOv4使用CSPDarknet53作為模型的特征提取網(wǎng)絡,解決了主干網(wǎng)絡中信息重復的問題,提升了檢測速度。相對于YOLOv3 所使用的Darknet53 網(wǎng)絡,進一步的保證了推理的速度和準確度。在特征增強網(wǎng)絡中,YOLOv4使用了SPPnet和PANnet結構。其中SPP為特征金字塔池化層,目的是增加感受野,從而將顯著的特征區(qū)分開;PANnet是一種特征圖(feature map)融合方式,即通過卷積+上采樣的方式進行自下而上的特征提取。通過對特征圖反復的提取操作實現(xiàn)特征交互。YOLOv4 的網(wǎng)絡結構如圖1,以輸入圖片608×608的像素大小為例。最后的預測結果會自動判斷是否有目標,并且會使用模型中DIOU損失函數(shù)對先驗框進行收斂,最終得到預測結果。相比于YOLOv3,YOLOv4的目標檢測算法的平均精度AP值提高10%,每秒傳輸幀數(shù)fps提高12%。
圖1 YOLOv4模型結構Figure 1 Model structure diagram of YOLOv4
RetinaFace算法是由Insight face團隊所提出的一種one-stage人臉檢測算法,在人臉檢測應用中具有非常良好的效果,可以對不同尺度的人臉進行像素級別的定位。在本研究中使用的主干網(wǎng)絡為具有輕量化優(yōu)勢的Mobilenet。
RetinaFace 的網(wǎng)絡結構如圖2。在RetinaFace 特征提取網(wǎng)絡中使用了特征金字塔,其中P2-P5 通過使用自頂向下和橫向連接計算相應的ResNet殘差階段C2~C5的輸出。P6 是通過一個步長為2的3×3卷積對C5計算得到的。C1~C5采用了在ImageNet-11k數(shù)據(jù)集上預先訓練好的ResNet-152分類網(wǎng)絡,P6是采用“Xavier”方法進行隨機初始化。RetinaFace 算法將P2~P6 的5 個特征金字塔層應用于5 個獨立的上下文模塊,來提高感受野的作用,同時增加建模的能力。
圖2 RetinaFace網(wǎng)絡結構Figure 2 Network structure diagram of RetinaFace
RetinaFace 也可以在單個CPU 上進行實時多尺度的人臉檢測、對齊和分析人臉關鍵點的信息。本研究采用的RetinaFace網(wǎng)絡中,設置其輸出的人臉框有5個關鍵點,分別是左眼、右眼、鼻尖、左嘴角和右嘴角。
Facenet 是由谷歌團隊開發(fā)的人臉識別算法,該算法對多角度、多姿態(tài)以及局部遮擋具有一定的魯棒性。本文同樣使用具有輕量化優(yōu)勢的Mobilenet 作為Facenet 的特征提取網(wǎng)絡。Facenet 的網(wǎng)絡結構如圖3。首先將三元組圖像輸入到深度結構中進行人臉特征提取,而后將得到的人臉特征進行L2歸一化。因為人臉特征通常在1000維以上,所以通過Embedding將人臉特征降維至128維特征向量,然后采用三元損失函數(shù)(triplet loss)進行訓練,得到三元損失函數(shù)值。最后利用對比圖像之間的歐氏距離對人臉進行識別。
圖3 Facenet網(wǎng)絡結構Figure 3 Network structure diagram of Facenet
Facenet 最大的特點就是使用了三元損失函數(shù)進行訓練,直接從最原始的圖像當中學習特征表示,進行端到端的從圖像到歐式空間的編碼方法的學習。Facenet中提到的“三元組圖像”指的是由模板、正例和反例圖像組成的一個訓練樣本。在網(wǎng)絡的訓練過程中,在訓練所使用的文件夾保存著模板和正例即一個人在不同的動作中的兩張人臉圖像。反例則為其他人的一張圖像。訓練過程中,每次處理n
個樣本,通過對樣本的特征提取,得到三個128維向量,計算出三元損失。本研究模擬實際工作情況,對員工佩戴安全帽,穿戴絕緣服的圖像數(shù)據(jù)進行采集。然后將其導入圖片增強網(wǎng)絡中進行模糊、明暗度調(diào)整、翻轉(zhuǎn)、添加噪聲等處理方式以擴充數(shù)據(jù)集。這樣不僅可以擴充數(shù)據(jù)量,也可以對實際的應用情況的變化進行更好的適配,示例如圖4。
圖4 數(shù)據(jù)集擴充示例Figure 4 Example pictures
在經(jīng)過數(shù)據(jù)擴充之后,圖像數(shù)據(jù)的數(shù)量總共為3260張,大小均為2736×2648。將這些圖片進行訓練集和測試集的劃分,將數(shù)據(jù)中的10%作為測試集,90%作為訓練集。然后利用圖像標簽制作工具labelimg對圖像進行標注處理,圖像標注示例如圖5。標注的標簽總共有5 個,分別為佩戴安全帽(hat)、沒有佩戴安全帽(uncap)、穿著絕緣服(clothes)、沒有穿著絕緣服(unclothes)和人臉(person)。最后標注的結果保存為VOC 數(shù)據(jù)格式的XML文件,即為本試驗中YOLOv4模型訓練所需的數(shù)據(jù)集。
圖5 數(shù)據(jù)集標注示例Figure 5 Data set annotation example
本研究RetinaFace和Facenet的訓練數(shù)據(jù)大部分都是從Git hub開源社區(qū)的WIDER FACE數(shù)據(jù)集獲取到的,對數(shù)據(jù)集進行遷移學習之后的權重保存在RetinaFace+Facenet網(wǎng)絡中以做后續(xù)實驗。
本研究基于Pytorch 框架搭建深度學習模型,對進入變電站的工作人員進行人臉、安全帽和絕緣服檢測。首先將員工佩戴安全帽、穿戴絕緣服的預處理圖像數(shù)據(jù)集導入YOLOv4模型中進行訓練,在訓練過程中對超參數(shù)進行微調(diào),如訓練周期、學習率等參數(shù),使其可以在應用階段中具有更好的適配性。當攝像頭檢測到視頻信息或者圖片信息輸入時,會將信息分別傳入用于檢測安全裝備的YOLOv4模型和用于人臉識別的RetinaFace+Facenet 模型中進行識別。最后再將人臉檢測結果與是否穿戴安全帽、絕緣服的檢測結果進行結合后輸出。具體流程如圖6。
圖6 檢測系統(tǒng)的具體流程Figure 6 Specific process of the check system
P
(Precision)、召回率R
(Recall)、平均精度AP
(Average Precision)和所有類的平均精度的平均值mAP
共4 種指標作為衡量YOLOv4 模型對員工是否佩戴安全帽、穿戴絕緣服的檢測性能。選取精準度P
(Precision)指標作為衡量RetinaFace+Facenet 模型對員工人臉信息的識別性能。3.2.1 精確度P
在YOLOv4 模型評價指標中,精確度P
表示在模型中判定正確,且實際結果的確正確的樣本在判定正確的樣本中所占的比例。在本研究中表示為變電站員工是否穿戴安全帽、絕緣服等安全裝備被正確識別的幾率,即:TP
(True Positives)為正樣本中預測出的正樣本數(shù)量;FP
(False Positives)為負樣本中實際預測出的正樣本數(shù)量。3.2.2 召回率R
在YOLOv4模型評價指標中,召回率R
表示有多少正例被成功的正確預測,即:FN
(False Negatives)為該樣本是正樣本,但被識別為負樣本而錯誤的數(shù)量。3.2.3 平均精度AP
在YOLOv4 模型評價指標中,平均精度AP
(Average Precision)代表的是不同的P
和R
值所組成圖形的面積,即:3.2.4 所有目標類的平均精度的平均值mAP 在YOLOv4 模型評價指標中,所有目標類的平均精準度的平均值mAP(Mean Average Precision),即:
C
為檢測的目標類個數(shù);C
為第i
個目標類;AP
為平均精度。3.2.5 準確率 在RetinaFace+Facenet 模型評價指標中,準確率P
代表的是在模型中判定正確,且實際結果的確正確的樣本在判定正確的樣本當中所占的比例,在本研究中表示為變電站員工是否穿戴安全帽,絕緣服等安全裝備被正確識別的幾率,即:TP
(True Positives)為正樣本中預測出的正樣本數(shù)量;FP
(False Positives)為負樣本中實際預測出的正樣本數(shù)量。本研究模型的算法編程在Pycharm 中實現(xiàn),采用的語言版本為Python3.8,深度學習框架為Pytorch 1.10.0,采用的工作站為 Intel Core i9-11900K 3.50 GHz CPU、Quadro RTX 5000 16G GPU 和 64G 內(nèi)存,采用 Python 語言進行編譯。關于YOLOv4 和RetinaFace+Facenet 模型學習的各項參數(shù):學習率為0.001;Batchsize 為8;訓練周期(Epoch)為50。訓練過程完畢后對模型進行驗證。試驗結果如表1,第二行為YOLOv4 目標檢測模型對各個類別的平均精度,第三行為RetinaFace+Facenet 人臉檢測模型對人臉識別的精確度。檢測到的員工穿戴安全帽、絕緣服的示例如圖7。檢測到員工未穿戴安全帽、絕緣服的示例如圖8。
表1 YOLOv4和RetinaFace+Facenet模型的檢測結果
Table 1 Detection results of YOLOv4 and RetinaFace+Facenet models %
網(wǎng)絡模型Network model YOLOv4 RetinaFace+Facenet未穿戴絕緣服的平均精度AP of unclothes 85.81穿戴絕緣服的平均精度AP of clothes 99.22未佩戴安全帽的平均精度AP of uncap 77.80佩戴安全帽的平均精度AP of cap 98.41識別到人臉的平均精度AP of person 97.82平均精度的平均值mAP 91.81人臉識別準確率Precision of face 98.22
圖7 員工佩戴安全帽,穿戴絕緣服的檢測示例Figure 7 An example of employee wearing safety helmet and insulation suit
由圖7和圖8可知,采用YOLOv4網(wǎng)絡模型可對變電站員工是否佩戴安全帽、穿戴絕緣服進行識別,將員工的人臉、是否穿戴安全帽和絕緣服在圖中用預測框標記了出來。由圖8a 可知,當員工不佩戴安全帽時預測框名稱顯示為uncap;由圖8b可知當員工不穿戴絕緣服時預測框名稱顯示為unclothes。由圖8c可知,當員工不佩戴安全帽、不穿戴絕緣服時預測框名稱分別顯示為uncap和unclothes;同時RetinaFace+Facenet模型識別出人臉信息的結果,并將識別結果顯示在輸出圖像人臉的下方。因此,本研究采用的方法可實現(xiàn)對變電站員工人臉信息、安全帽、絕緣服進行識別。
圖8 員工未佩戴安全帽,穿戴絕緣服的檢測示例Figure 8 Examples of employees not wearing helmet and wearing insulating suit
P
(Precision)、召回率R
(Recall)、平均精度AP
(Average Precision)和所有類的平均精度的平均值mAP
這4種指標來對模型性能進行對比評估。采用同樣的數(shù)據(jù)集,參數(shù)設置為:學習率為0.001;Batchsize為8;訓練周期(Epoch)為50輪。得到的試驗結果如表2。由表2 可知,YOLOv4 模型與Faster-RCNN、SSD 模型相比,在訓練時具有更好的檢測性能,平均精度mAP
分別提升7.08%和8.18%。與上一代YOLOv3 模型相比,在檢測所有類的平均精度mAP
比YOLOv3 高2.39%。由此可知,YOLOv4模型比其他主流模型具有更好的檢測性能。表2 不同模型的性能對比
Table 2 Comparison of performance of different models %
網(wǎng)絡模型Network model Faster-RCNN SSD YOLOv3 YOLOv4未穿戴絕緣服的平均精度AP of unclothes 77.58 79.10 82.53 85.81穿戴絕緣服的平均精度AP of clothes 95.36 98.59 97.42 99.22未佩戴安全帽的平均精度AP of uncap 63.91 44.06 76.11 77.80佩戴安全帽的平均精度AP of cap 93.65 98.31 96.03 98.41識別到人臉的平均精度AP of person 93.13 97.11 95.01 97.82平均精度的平均值mAP 84.73 83.63 89.42 91.81
本研究針對以往變電站門禁系統(tǒng)識別效率不高且識別信息量過于單一的問題,以及員工不穿戴安全裝備,也會給變電站正常運行和施工過程中帶來風險,從而造成經(jīng)濟損失的問題。本研究基于Pytorch 框架搭建了一種識別員工安全裝備穿戴情況和人員信息的變電站門禁系統(tǒng)的識別模型。模型采用了YOLOv4和Retina-Face+Facenet 深度學習模型來對員工進行人臉信息、安全帽和絕緣服的識別。當模型檢測到變電站人員信息輸入時,會將輸入信息同時傳送到YOLOv4和RetinaFace+Facenet 模型當中分別進行安全裝備和人員信息的識別。而后會在輸出結果中將兩個模型的識別結果進行結合,從而實現(xiàn)對員工信息與是否合格穿戴安全裝備的識別。相對于傳統(tǒng)檢測方法,YOLOv4 模型由于結合了大量現(xiàn)有的調(diào)優(yōu)技術,例如:WRC(加權殘差鏈接)、CSP(跨階段部分連接)、SAT(自對抗訓練)、Mish 激活函數(shù)、GIOU Loss 損失函數(shù)等。這也使得YOLOv4模型在目標檢測當中具有更好的表現(xiàn)。因此,本研究采用YOLOv4目標檢測模型進行研究。
本研究所設計的模型對員工信息與是否合格穿戴安全裝備的識別結果表明,YOLOv4 模型對員工是否穿戴安全裝備的檢測平均精度為91.81%,RetinaFace+Facenet 模型的人臉識別精確度為98.22%。在不同的自然光線和不同的背景下,采集員工穿戴絕緣服,佩戴安全帽的樣本圖像,并做圖像擴增處理,使訓練網(wǎng)絡的數(shù)據(jù)集保持充足。在一定程度上保證本文模型在實際應用中的適配性和魯棒性。此外,YOLOv4模型與其他3種主流的深度學習模型對比可知,基于本研究所使用的圖像測試集,YOLOv4 模型表現(xiàn)出了更高的精確度,與Faster-RCNN、YOLOv3、SSD模型相比平均精度mAP
指標分別提高7.08%、2.39%和8.18%。