盧建剛,李波,林玥廷,趙瑞鋒,李德忠,吳迪
(1.廣東電網(wǎng)有限責任公司電力調(diào)度控制中心,廣東 廣州 510600;2.湖南大唐先一科技有限公司,湖南 長沙 410000;3.同濟大學 電子信息與工程學院,上海 201804)
在工程類作業(yè)中,工作事故通常是由作業(yè)人員未執(zhí)行有效防護措施導致的,其中包括未正確佩戴防護設備[1-2]。對建筑、電力等行業(yè)而言,安全頭盔對施工人員頭部起到重要防護作用[3-4];然而,由于頭盔佩戴不正確引發(fā)的安全事故屢見不鮮。為預防此類安全事故,保障從業(yè)人員的人身安全,開發(fā)一種自動識別作業(yè)人員頭盔佩戴不當?shù)南到y(tǒng)具有重大意義[5]。
近年來,深度學習領域研究發(fā)展迅速,已被廣泛應用于生產(chǎn)生活各個領域,例如醫(yī)學圖像、人臉識別等。在工程類安全防護領域,一些專家學者研究頭盔佩戴識別技術,如利用反向傳播神經(jīng)網(wǎng)絡和小波變換方法識別頭盔,依靠頭部與臉部位置關系提取特征[6];但此類方法難以保證復雜環(huán)境下的檢測效率,因此部分學者研究基于目標檢測像素的顏色來識別頭盔[7]。最近,大量研究開始采用卷積神經(jīng)網(wǎng)絡進行頭盔識別,但圖像特征僅可識別頭盔形狀和顏色,對磨損頭盔的識別精度低。為解決此類問題,研究者嘗試將深度學習和目標檢測結(jié)合,如區(qū)域卷積神經(jīng)網(wǎng)絡(R-CNN)[8],通過分層提取圖像特征,實現(xiàn)高精度目標分類,由此可極大降低時間和空間復雜度。然而,該方法仍存在問題:對于同來源圖像樣本,可有效進行識別;但對于不同來源的圖像樣本,其訓練和檢測性能較差。該方法忽略了多視角圖像間的相關信息,不能準確估計多源樣本的視覺相似度[9]。在施工和供電作業(yè)中,管理人員通常將監(jiān)控攝像機以不同的視角布置于不同的方位,即針對同一作業(yè)區(qū)域,從不同監(jiān)控視角拍攝不同畫面。為提高識別效果,一些研究通過學習區(qū)分特征或不同圖像標志距離測量,測量不同視角圖像間的相似度[10];但此類研究僅考慮不同圖像表面的整體相似度,忽略了內(nèi)部相似度[11]。例如在估計探測圖像和目標圖像間相似性時,大多數(shù)特征學習和深度學習方法僅訓練和檢驗單個圖像對的成對關系,而忽略了來自不同圖像源之間的關系。為解決該問題,需從高價值的圖片中尋找差別[12]。
頭盔檢測場景多是基于視頻檢測來實現(xiàn)的,較靜態(tài)圖像目標檢測而言,由于目標運動,其外觀、形狀、尺度等屬性處于不斷變化的狀態(tài)。在視頻檢測過程中,如何保持目標在時間序列上的一致性,避免目標在幀中丟失,是視頻目標檢測任務的難點,具體包括運動模糊、虛焦點、遮擋、外觀變化、尺度變化等相關挑戰(zhàn)[13]。在計算機視覺領域中,高斯混合模型(Gaussian mixture model,GMM)的首要應用就是前景檢測[14-16],其既具良好穩(wěn)定性,又可自主學習;因此,首先選擇工人工作環(huán)境背景圖像,然后利用GMM對背景圖像中的每個背景進行仿真。在實驗過程中,對新圖像進行GMM匹配,當圖像像素值達到匹配要求后,由計算機區(qū)分出背景和前景圖像。GMM通過屬性概率分類不斷更新,保證在動態(tài)背景下的魯棒性。需注意的是,在監(jiān)控視頻中連續(xù)使用前景分割方法,通常存在部分噪聲;因此,本研究采用形態(tài)學操作函數(shù)[17]以消除噪聲,彌補檢測對象的不足。
針對監(jiān)控視頻中因維數(shù)變化導致的目標識別與跟蹤困難,本研究采用目前使用最為廣泛的GMM[12]對工人作業(yè)過程的視頻圖像進行前景分割,提取復雜背景下的目標。為有效檢測不同視角下工作人員的頭盔佩戴情況,采用分層神經(jīng)網(wǎng)絡,具體包括基本序列編碼器、層次注意力模型和最終預測層3個部分,其中:基本序列編碼器致力于不同視角下各圖像關鍵特征的獲取,通過連接問題標簽和各個圖像節(jié)點標簽,將問題和圖像表示為1個序列;層次注意力模型用于完成圖形構(gòu)造任務,包括基于不同層次節(jié)點間的不同連接,設置不同選項來表示圖像檢測結(jié)果;最終預測層用于執(zhí)行非監(jiān)督預訓練,可有效關聯(lián)不同視角圖像的結(jié)構(gòu)信息,從而學習多視角圖像中的增強特征,提高算法魯棒性。
本章闡述不同視角下頭盔佩戴檢測的層次圖神經(jīng)網(wǎng)絡(hierarchical graph neural network,HGNN)。所提出的HGNN由3個模塊組成:基本序列編碼器、層次注意力模型和最終預測層,其體系結(jié)構(gòu)如圖1所示。
圖1展示了如何用圖像表示2個不同視角下的圖像(s1、s2)和1個特殊的圖像節(jié)點(h1),將圖像數(shù)據(jù)輸入到第i個節(jié)點Ni,其上標為該節(jié)點上的圖像數(shù)。將目標圖像(ground truth)表示為Nq中的特殊節(jié)點,q為特殊節(jié)點的標識。圖1中左邊部分為改進的注意力機制,用于獲取每個圖像的結(jié)構(gòu)信息內(nèi)容(即圖像的標簽)。設置一些特殊的標記來表示識別任務()。中間部分為HGNN塊,利用圖像間連接和所有視角的圖像連接來構(gòu)建圖像的圖層次結(jié)構(gòu),并對圖像節(jié)點(綠色)和待檢測圖像節(jié)點(紫色)進行預測。右邊部分為連接掩碼矩陣(在GNN中稱為相鄰矩陣),表示連接圖中的不同標簽。
圖1 所提出的HGNN
基于基本序列編碼器獲取不同視角圖像的關鍵特征,通過結(jié)合問題標記與圖像節(jié)點標記,將問題和圖像表示為序列。對每張圖片添加1個特殊的特殊標記來表示[18]。
1.1.1 嵌入層
采用字節(jié)對編碼將圖像作為序列片段進行平鋪[19]。設序列長度為M,維度為D,對序列中每個詞塊,使用轉(zhuǎn)換方式得到詞層嵌入Hs∈RM×D,其中下標s表示嵌入的大小。采用位置嵌入法得到序列的位置嵌入Hr∈RM×D,其中下標r表示位置的不同。使用生成方式得到圖像序列中的類型嵌入Ht∈RM×D,其中下標t表示它是否存在于噪聲圖像中。最終嵌入式的輸出為3個嵌入式的總和H0,即
H0=Hs+Hr+Ht.
(1)
1.1.2 自注意力層
將Transformer[20]層基于自我注意的方式應用于輸入,Transformer塊列表用來將輸入內(nèi)容嵌入到不同視角的圖像結(jié)構(gòu)信息中[21]。
設置不同的圖像節(jié)點嵌入在HGNN中,以序列編碼器的最后一層輸出對其進行初始化,并以層次圖表示。從形式上講,HGNN是以通用消息傳遞架構(gòu)為基礎,即
Hk=f(A,Hk-1;Wk).
(2)
式中:Hk∈RM×D、Hk-1∈RM×D分別為第k、k-1次迭代后層次圖中的節(jié)點嵌入;A∈RM×M為表示圖結(jié)構(gòu)的相鄰矩陣;Wk∈RD×D為第k次迭代后不同圖層的可訓練參數(shù);f(·)為信息聚合的消息傳播函數(shù)。本研究中,HGNN的逐層傳播規(guī)則為
(3)
1.2.1 圖形構(gòu)造
圖形構(gòu)造是HGNN取得良好性能的重要因素之一[23-24],本研究討論2種圖形連接,即同視角圖像連接與不同視角圖像連接。
a)同視角圖像連接:相同視角圖像中的每一幅影像均連接在一起。具體地,
(4)
b)不同視角圖像連接:為每幅圖像都添加特殊標記,以作為高級節(jié)點標識,繼而為圖像中的這些特殊標記添加異視景圖像連接。若節(jié)點的相應注釋屬于
(5)
在多視角的圖像識別中,精確的目標檢測非常重要。但是,在這種鏈接中,圖像之間的交互都是基于節(jié)點標記的,僅使用不同視角的圖像鏈接,會加重基于注意力模型的建模負擔[25]。建立圖像識別
(6)
1.2.2 信息匯總
完成圖的構(gòu)造過程后,根據(jù)式(3)建立圖的結(jié)構(gòu)形式。由于GNN中圖是分層的,且包含了具有不同連接的、不同層次的節(jié)點,因此使用如下2種方式。
a)管線式聚合:用于在管線中構(gòu)造層次,先構(gòu)造低級句內(nèi)內(nèi)容,再構(gòu)造高層句間內(nèi)容和全局信息,即
(7)
式中:各變量符號下標intra、inter、global分別表示外部嵌入、內(nèi)部嵌入和全局的節(jié)點,上標“~”表示矩陣與單位矩陣I相加,例如Hk,intra、Hk,inter分別為第k次迭代后的外部、內(nèi)部嵌入,Wk,global為第k次迭代后的全局模型參數(shù),其他符號的含義以此類推。
b)融合式聚合:管線式聚合以層次化的方式構(gòu)造圖形,同時可通過將3層相鄰矩陣融合成1個矩陣(此矩陣包含了A及Aij等)來對其進行操作,矩陣中元素
(8)
在融合相鄰矩陣基礎上,建立式(3)的圖像結(jié)構(gòu)信息。
用HGNN表示不同視角的圖像后,收集相同視角的圖像節(jié)點并進行預測。其中包括
Pi=σ(Hk,iWo),i∈S.
(9)
式中:Hk,i為第k次迭代后節(jié)點i的嵌入;σ為Sigmoid函數(shù);Wo為將HGNN的最后一層信息投影為標量值的權(quán)重向量。
該模型的目標是最小化預測與實際標簽之間的二元交叉熵,即
LBCE=-li∈SPlg(Pi∈SP)-li∈SNlg(1-Pi∈SN).
(10)
式中:LBCE為HGNN模型損失函數(shù);SP為圖像中正常節(jié)點集,SN為圖像中異常節(jié)點集,SP∪SN=S;Pi∈SP、li∈SP分別為屬于SP的節(jié)點i的概率、損失函數(shù);Pi∈SN、li∈SN分別為屬于SN的節(jié)點i的概率、損失函數(shù)。
近年來對圖像檢測的研究表明,大規(guī)模預訓練有很大優(yōu)勢[26-27];然而,與以往基于圖像為輸入的預訓練方法不同,本研究所討論的是在不同視角下的圖像結(jié)構(gòu)信息。
本研究使用的數(shù)據(jù)集為Datafountain數(shù)據(jù)集中的頭盔分類數(shù)據(jù)集[28](下載地址https://www.datafountain.cn/competitions/304/datasets),包含頭盔的地面真值標簽。數(shù)據(jù)集包含所有正樣本和負樣本,其中訓練數(shù)據(jù)集9 800張,測試數(shù)據(jù)集9 000張,均為攝相機采集。
實驗同時采用了DenseNet[29]模型、R-CNN和Fast R-CNN等方法檢測并與本研究所提方法進行結(jié)果對比。
實驗平臺采用Intel Core i7-8750h處理器、NVIDIA Geforce GTX 3080顯卡、16 GB內(nèi)存,操作系統(tǒng)為ubuntu18.04,編程語言為Python,深度學習框架采用Tensorflow2.0gpu版本[30]。
2.2.1 關系分析
對于檢測到的人臉位置與對應的頭盔位置,隨機選擇1 000個樣本,繪制如圖2所示散點圖,并探究二者之間的相關性。圖2中:x為邊界框在x軸方向的位置;y為邊界框在y軸方向的位置;w為邊界框的寬度;h為邊界框的高度;用下標D表示檢驗人臉邊界框,G表示頭盔邊界框。這些圖疊加后呈現(xiàn)光滑的線性擬合曲線,表明人臉邊界框的平滑參數(shù)與頭盔邊界框的平滑參數(shù)之間存在線性相關性,特別是在相同檢測條件下的參數(shù),例如人臉邊界框、頭盔邊界框在x軸方向的位置xD和xG。
圖2 邊界框平滑參數(shù)散點圖
此外,利用多元線性回歸來探討頭盔邊界框平滑參數(shù)與被檢測人臉邊界框平滑參數(shù)之間的關系(包括xD),然后用F檢驗、t檢驗和R2相關檢驗來檢驗這些回歸函數(shù)。其中,F(xiàn)檢驗反映總體顯著性,t檢驗反映各自變量的顯著性。這2個測試通常依據(jù)所得到的樣本觀察極端結(jié)果出現(xiàn)概率(p值)進行判斷:如果p值小于0.01,表示頭盔邊界框平滑參數(shù)與檢測到的人臉邊界框平滑參數(shù)之間存在顯著關系。R2相關檢驗用于判斷回歸方程的擬合程度,其值在0~1之間,越接近1,擬合度越好。針對上述1 000個數(shù)據(jù),構(gòu)造多元線性回歸模型,驗證頭盔邊界框平滑參數(shù)與被檢測人臉邊界框平滑參數(shù)之間的關系。平滑參數(shù)的相關性見表1,表中的p值和R2值表明,人臉邊界框和相應頭盔邊界框之間,不同圖形平滑參數(shù)的線性相關關系的假設是可行的。
表1 人臉與頭盔邊界框平滑參數(shù)的相關性
2.2.2 交并比性能
使用交并比(intersection-over-union,IOU)指標[31]來演示頭盔檢測的模型性能,檢查推理結(jié)果與真實值之間的IOU值是否大于給定的閾值:如果大于閾值,則頭盔將被識別為“未正確佩戴”。通常,當頭盔的預測邊界框和它的地面真值框重疊不小于0.5時,IOU被認為是“檢測成功”。
以IOU指標為基礎,從公開數(shù)據(jù)中隨機選取若干頭盔佩戴者,并對這些頭盔的所有IOU值進行計算。
如圖3所示,選取不同視角拍攝獲得的測試圖像,其檢測結(jié)果會顯示基于回歸分析的頭盔邊界框和精確值。所提模型在檢測頭盔邊界上的平均成功率為96.41%,表明該模型能夠準確地計算頭盔邊界框,為頭盔檢測提供了良好的參考范圍。如圖3中左圖所示,當識別精確值為0.08時(白框所示),則識別為“頭盔未正確佩戴”。精確值越小通常意味著佩戴頭盔的旋轉(zhuǎn)角度大,表明工人未正確佩戴。
圖3 測試圖像準確值
此節(jié)討論如何通過所提模型獲得網(wǎng)絡參數(shù)的實現(xiàn)過程。配置超參量和訓練網(wǎng)絡通常是復雜且耗時的,為提高檢測精度,采用dropout、自適應學習率、正則化和提前停止法等方法對所提模型進行訓練。
在對模型進行訓練時,首先加載權(quán)重參數(shù),然后按照模型初始化方法,初始化模型中最后一層參數(shù)。模型訓練的參數(shù)設置為:優(yōu)化器分別采用隨機梯度下降法和Nesterov法,學習率初始值設置為0.01,批處理設定為128。圖4展示了所提模型的損失函數(shù)曲線,隨著迭代數(shù)的增加,訓練集中損失值開始迅速減小,并且逐漸收斂。
圖4 損失曲線
利用圖像特征在多層網(wǎng)絡中的可視化應用來評價模型魯棒性,并將所提模型和DenseNet模型中的第1層和第2層的特征圖進行了比較。圖5顯示了不同佩戴角度的頭盔圖像的詳細結(jié)果,圖中每幅特征圖的圖像包含64個特征點,與DenseNet模型相比,所提模型的大部分特征點(如圖5中第1行第1層的前2個特征點)清晰度更高,包含的特征點更多(如圖5中第1行第2層的22個特征點)??梢暬Y(jié)果表明,2個模型之間的特征區(qū)分有助于提高模型魯棒性。進一步采用方差和熵對2種模型在不同視角下對圖像的魯棒性進行定量評價。通過區(qū)分圖5中所有特征映射計算的方差和熵值,可清楚看到所提模型對圖像的區(qū)分特征更加清晰,表明所提模型在不同視角圖像的處理上具有魯棒性。
圖5 模型不同網(wǎng)絡層特征圖
不同視角下拍攝的圖像存在相互融合、尺度變化、透視畸變和小目標檢測等問題;因此,對源自公共測試數(shù)據(jù)集的大量圖像進行不同模型的測試,為頭盔檢測提供可信度(例如置信度0.8表示邊框中頭盔的概率是80%)。在頭盔的置信度大于置信度閾值的情況下,可以對其進行識別,從而確定頭盔與非頭盔的等級。對正、負樣本分別采用不同的置信度閾值進行分類,其分類效果可以使用精準率-召回率曲線(PR曲線)進行評估。所提模型的PR曲線如圖6所示(其中包括Densenet、R-CNN、Fast R-CNN的PR曲線)。通過圖6的基本閾值線判斷出,所提模型平均檢測精準率最高,為0.985。為達到精準率和召回率的雙贏效果,可以選取圖6中PR曲線和基本閾值線的交點作為置信度閾值,則召回率為0.962。與Fast R-CNN相比,所提模型精準率提高了0.8%,召回率提高了2.8%。
圖6 不同模型的PR曲線
模型的可解釋性有助于了解其決策過程,為此使用類激活映射(class activation mapping,CAM)方法生成圖7。本研究僅選擇了模型中第1個節(jié)點(Node 1)和隨機選擇的節(jié)點(Nodei),并展示它們的關聯(lián)效果(第1行)。圖7豎行中,第1列顯示的是頭盔圖像的CAM圖,第2列(Colored CAM)顯示的是彩色CAM圖,第3列(CAM+original)顯示的是帶彩色CAM圖的原始圖像,其中最右邊的色條表示模型所檢測到的頭盔差異程度,即暖色表示差異大,便于區(qū)分頭盔邊界。
圖7 CAM可視化
本研究提出了一種基于層次異構(gòu)GNN模型的多視角頭盔佩戴的魯棒檢測,它由基本序列編碼器、層次注意力模型層組成。基本順序編碼器用于獲取不同視角圖像的關鍵特征;層次注意力模型層主要用于圖形構(gòu)建過程,通過選項來表示圖像檢測結(jié)果。多個評價指標結(jié)果表明,所設計的模型能夠顯著提高檢測頭盔佩戴的準確性。未來可對所提模型的網(wǎng)絡結(jié)構(gòu)進行進一步優(yōu)化,以提高檢測性能,同時可細化考慮施工人員(前景)與背景顏色相似時數(shù)據(jù)分布的差異性,使模型魯棒性能更優(yōu)。