仝澤友,丁恩杰
(中國礦業(yè)大學 a.信息與控制工程學院;b.物聯(lián)網(wǎng)(感知礦山)研究中心,江蘇 徐州 221000)
在礦井生產(chǎn)過程中,礦工作業(yè)安全問題非常重要。隨著礦山技術的不斷提高,智慧礦山已經(jīng)成為現(xiàn)代礦業(yè)的主要方向,利用當前的智能手段來實現(xiàn)礦山的安全生產(chǎn),是下一階段的主要任務。
目前,主要針對礦工違規(guī)行為發(fā)生的原因進行了研究,包括礦工的心理及生理因素、設備因素、管理因素等[1]。文獻[2]針對礦工情緒進行了研究,提出礦工處于正情緒時,行為能力增強,違規(guī)行為減少。文獻[3]提出煤礦企業(yè)應實施柔性安全監(jiān)管策略,綜合調(diào)節(jié)安全監(jiān)管力度與礦工違規(guī)行為之間的關系,能有效地減少違規(guī)行為的發(fā)生。文獻[4]提出礦工行為與環(huán)境因素存在密切關系,應提高煤礦設備水平、改善作業(yè)環(huán)境以減少違規(guī)行為的發(fā)生。
文獻[5]提出了一種基于三維深度卷積神經(jīng)網(wǎng)絡的車間生產(chǎn)工人違規(guī)行為識別方法,主要訓練人體關鍵骨骼點數(shù)據(jù)模型,對違規(guī)行為進行識別。文獻[6]提出了一種實時的建筑工人違規(guī)行為識別方法,主要使用建筑工人骨骼點之間的角度特征識別建筑工地特有的違規(guī)行為。以上研究均使用人體骨骼點數(shù)據(jù)對工人行為進行識別,但未結(jié)合實際工作環(huán)境,沒有與環(huán)境交互部分,其實質(zhì)是做人員行為識別。文獻[7]提出了一種基于局部方向梯度直方圖(histogram of oriented gradient,HOG)與局部光流直方圖(histogram of flow,HOF)特征聯(lián)合的時空描述子方法,能夠有效檢測視頻中多人異常行為。文獻[8]提出一種基于貝葉斯融合的時空流異常行為檢測方法,有效提升了異常行為檢測的等錯誤率(equal error rate,EER)和接受者操作特性曲線與坐標軸圍成的面積(area under curve,AUC),但是還存在一定的實時性問題。
以上研究雖然從多個方面分析了工人違規(guī)行為,并提出了相應的方法以減少類似行為的發(fā)生,但在礦山生產(chǎn)中,礦工違規(guī)行為仍時有發(fā)生。因此,本文提出了一種針對礦井皮帶區(qū)域的環(huán)境敏感型礦工違規(guī)行為識別方法,主要針對吸煙、拋雜物、摘安全帽、手搭皮帶機、倚靠皮帶機、攀爬皮帶機6種違規(guī)行為進行識別。主要使用改進運動歷史圖描述礦工行為并提取HOG特征,與金字塔幾何矩(Hu矩)特征進行融合,結(jié)合礦井皮帶區(qū)環(huán)境識別環(huán)境敏感型礦工的違規(guī)行為,實時監(jiān)測礦井皮帶區(qū)域,能夠及時發(fā)現(xiàn)違規(guī)行為并做出反應,減少安全事故的發(fā)生。
根據(jù)調(diào)查發(fā)現(xiàn),礦井皮帶區(qū)域攝像頭位置比較固定,因此將礦工作為前景,其他物體作為背景,且背景環(huán)境不會隨著時間發(fā)生變化。實驗場景如圖1所示。
圖1 實驗場景圖
由于視頻序列相鄰幀之間重復內(nèi)容在90%以上,為提高算法速度,本文使用基于關鍵幀的方法對礦工行為進行描述,使用等間隔采樣法對視頻序列抽取關鍵幀,描述礦工行為。而不同行為持續(xù)時間長短不一,例如攀爬皮帶機行為超過400幀,摘安全帽行為在150幀左右。若所有行為提取視頻幀間隔固定,則導致持續(xù)時間長的行為存在冗余信息,持續(xù)時間相對短的行為信息不足,所以,針對上述6種行為需要設置不同的間隔提取視頻幀。
為描述連續(xù)N幀視頻序列中礦工行為運動過程,使用改進運動歷史圖(improved motion history image,IMHI)方法。傳統(tǒng)運動歷史圖(motion history image,MHI)是在運動能量圖(motion energy image,MEI)的基礎上提出的,是一種基于視覺的灰度圖像[9],主要利用幀間差分法,將運動前景與背景分離,實現(xiàn)運動分割,進而將一段視頻序列壓縮成一張靜態(tài)圖像,圖像中每個像素的灰度值表示該位置像素的位移情況,像素灰度值越高表示發(fā)生位移的時間越近。但是MHI需要對3個未知參數(shù)進行估計,而IMHI只需對一個未知參數(shù)估計,有效降低了計算復雜度。在生成IMHI時,首先計算整幅圖像在t時刻與t-1時刻視頻幀的二值差分圖[10]:
(1)
(2)
其中:τ為持續(xù)時間,幀數(shù)的角度決定了運動的時間范圍;Ψ(x,y,t)為t時刻與t-1時刻的二值差分圖;Hτ(x,y,t)為運動歷史圖。在計算IMHI時,僅有一個未知參數(shù)β,下面將對未知參數(shù)的選取進行討論。β的選取在很大程度上會影響運動歷史圖,若取值過小則會產(chǎn)生很多噪聲,影響特征向量的提取與算法的準確率;若取值過大則導致運動信息消失。對于閾值β分別為15、30、45、60、75和90進行分析比較發(fā)現(xiàn):當閾值β<60時,隨著閾值的提高,噪聲隨之減少,并且運動信息逐漸清晰;當β=60時,噪聲基本消失不見,可以清晰地判斷出人體的運動信息,IMHI達到一個最優(yōu)狀態(tài);而當β繼續(xù)增大時,運動信息噪聲逐漸消失;當β=90時,運動信息已經(jīng)很模糊,無法分辨人體運動軌跡。計算得到的改進運動歷史圖大小為160 pixels×120 pixels,使用不同的β值計算拋雜物行為的IMHI如圖2所示。
(a)β=15
(b)β=30
(c)β=45
(d)β=60
(e)β=75
(f)β=90
圖2 不同閾值β時拋雜物行為的改進運動歷史圖
1.2.1 HOG特征提取
使用HOG特征識別礦工行為。HOG特征核心思想是局部梯度或邊緣的分布情況可以描述圖像中目標的表示與形狀[11]。
在人體行為識別中,邊緣輪廓信息比較重要,HOG能高效地計算得到目標圖像邊緣信息的算子。HOG特征提取算法如下:由于計算邊緣梯度與邊緣形狀和顏色無關,所以為了降低數(shù)據(jù)集中前景與背景顏色相似造成的干擾,需要對圖像數(shù)據(jù)進行Gamma顏色校正,以調(diào)節(jié)圖像對比度,降低局部陰影或光照變化造成的干擾。將圖像分成若干個大小相同的細胞單元(cell),相鄰cell(40 pixels×40 pixels組成一個cell)之間不存在重疊部分,在單元內(nèi)對像素點求梯度值。計算公式為:
(3)
其中:I為像素灰度值;Gx(x,y)為水平方向梯度;Gy(x,y)為垂直方向梯度。將所有梯度劃分為9個方向(bin),在每個cell內(nèi)計算9個方向梯度直方圖,將相鄰的cell組成一個大的區(qū)域,稱為block。進行歸一化處理,可以減少干擾因素對實驗造成的影響,提高算法的魯棒性。合并block區(qū)域,將所有block區(qū)域的梯度直方圖合并到一起組成一個大的特征向量,稱為HOG特征,這樣每幅圖像就表示成6×36維特征向量。由于HOG是在一幅圖像的每個單元上計算得到的,因此HOG特征對光線變化不敏感。計算圖像中像素點的水平與垂直方向梯度,不僅可以進一步降低光照等因素造成的干擾,還可以體現(xiàn)圖像的輪廓及紋理特征[12]。
除HOG特征外,常用的特征還有尺度不變特征轉(zhuǎn)換(scale-invariant feature transform,SIFT)、加速魯棒特征(spead-up robust features,SURF)等。SIFT是在不同尺度空間上使用不同的窗口檢測極值點[13],對小的角點使用小窗口檢測,對大的角點使用大窗口檢測。SURF算法的實質(zhì)是SIFT的加速版,其魯棒性與檢測速度都優(yōu)于SIFT,善于處理模糊和旋轉(zhuǎn)的圖像。SIFT與SURF都是基于線性的尺度分解,忽略了目標圖像的發(fā)散邊界與細節(jié)信息,從而導致提取的特征信息相對不準確[14]。
1.2.2 改進Hu矩計算
Hu矩基本原理是利用線性代數(shù)不變矩理論計算出7個不變矩[15]。圖像的Hu矩具有平移、旋轉(zhuǎn)和尺度不變性等特點,且時間復雜度較低。然而,Hu矩對圖像的細節(jié)信息表示能力有限,且不具備非約束縮放不變性,導致識別率較低。因此,本文提出一種基于高斯圖像金字塔的Hu矩計算方法。首先,為一幅目標圖像構(gòu)建6層金字塔子圖像,并且對每一層子圖像分別求7個不變矩。根據(jù)每層圖像的不變矩對行為識別特征的貢獻不同,采用加權方法計算多維特征向量,進行順序級聯(lián),組成新的多維Hu矩特征向量,加權系數(shù)均取0.25。改進Hu矩計算流程如圖3所示。
圖3 改進Hu矩計算流程圖
由于HOG特征是在圖像的細胞單元上計算得到的,因此它對圖像的幾何和光學形變的變化不敏感,但對噪聲相當敏感。Hu矩對物體的形狀信息表述較好,算法計算速度較快,但存在圖像的紋理特征不能太復雜的缺陷[16]。因此,為了提高算法識別準確率,本文使用貝葉斯理論將HOG特征與改進Hu矩特征進行融合。然而,融合后的特征向量之間不正交,存在冗余信息,因此需要對融合后的特征向量使用主成分分析(principal component analysis,PCA)進行降維。
目前,針對人體行為特征提取后的特征理解方法主要有:基于機器學習的支持向量機(support vector machine,SVM)、最近鄰規(guī)則分類算法、動態(tài)隨機算法(隱馬爾科夫模型(hidden Markov model,HMM)、條件隨機場模型(conditional random field,CRF)等)、模板匹配法等[17]。
對于任意運動歷史圖,HOG特征向量為6×36維,金字塔Hu矩為6×7維,使用貝葉斯理論融合特征向量。對于一個行為視頻序列,提取所有關鍵視頻序列計算HOG與金字塔Hu矩特征向量,將上述特征向量融合并降維后送入分類器訓練,取90%的數(shù)據(jù)作為訓練集,其余10%的數(shù)據(jù)作為測試集。由于K-最近鄰(K-nearest neighbor,KNN)分類算法通過K的選擇可具備丟棄噪音數(shù)據(jù)的健壯性,且簡單易于實現(xiàn),因此選取KNN構(gòu)建行為識別模型??紤]歐幾里得距離因素,根據(jù)距離加權重,即權重點等于它們距離的倒數(shù)。使用此方法,更近的鄰居對于所預測點的影響更大。
本文擬識別的6種礦工違規(guī)行為不同于生活場景中的一般行為識別,屬于環(huán)境敏感型的行為識別范疇。本文基于三元色光(red-green-blue,RGB)視頻對礦工行為進行識別,使用Mask R-CNN網(wǎng)絡模型對礦工、靴子、皮帶機等目標進行像素級分割。
Mask R-CNN[18]是復雜、多任務網(wǎng)絡模型的典型代表,是在Faster RCNN上面加了一個Mask 預測分支;并且在ROI Pooling的基礎上提出了ROI Align,可以完成目標檢測、目標分類與像素級目標分割3個任務。
使用ROI Pooling從輸入圖的ROI得到特征圖上的ROI feature,是直接通過四舍五入取整得到的結(jié)果,這導致得到的輸出可能發(fā)生偏移,和原圖上的ROI對不上;同時將每個ROI對應的特征轉(zhuǎn)化為固定6×6大小的維度時又采用了取整操作,對逐像素的目標預測是有害的。在此基礎上,ROI Align不再進行取整操作,而是使用雙線性插值來更精確地找到每個塊對應的特征??偟膩碚f,ROI Align的主要作用是剔除ROI Pooling的取整操作,并且使得為每個ROI取得的特征能夠更好地對齊原圖上的ROI區(qū)域。
基于已經(jīng)識別的礦工行為,結(jié)合皮帶區(qū)域環(huán)境構(gòu)建礦工違規(guī)行為判識模型,具體流程如圖4所示。
設Mask R-CNN檢測的安全帽像素集合為A=(a1,a2,a3,a4,…,an),臉的像素集合為B=(b1,b2,b3,b4,…,bn),手的像素集合為C=(c1,c2,c3,c4,…,cn),靴子的像素集合為D=(d1,d2,d3,d4,…,dn),礦工的像素集合為E=(e1,e2,e3,e4,…,en),皮帶機的像素集合為F=(f1,f2,f3,f4,…,fn)。下面對違規(guī)行為具體判識方法進行介紹。
圖4 礦工違規(guī)行為判識流程
(Ⅰ)吸煙、拋雜物。因為吸煙與拋雜物兩種行為比較特殊,且吸煙是持續(xù)性動作,不需要與環(huán)境結(jié)合即可判定為違規(guī)行為。
(Ⅱ)摘安全帽。當出現(xiàn)摘安全帽行為時,檢測礦工臉部在圖像中的位置,并檢測臉部以上1.5倍安全帽大小的區(qū)域是否存在安全帽。若存在安全帽則判定為與摘安全帽行為相似的正常行為;若不存在安全帽則判定為違規(guī)行為。
(Ⅲ)手搭皮帶機。當?shù)V工行為識別算法確定有手搭皮帶機行為產(chǎn)生時,在礦工手部區(qū)域的像素集合內(nèi)隨機選取一個像素點i,遍歷皮帶機區(qū)域像素集合內(nèi)所有像素點,然后計算與點i的歐氏距離:
dis(i)=|E(i)-F(j)|,j=1,2,3,…,n。
(4)
在礦工身體像素集合上隨機選取一點h,遍歷皮帶機區(qū)域像素集合。計算點h與皮帶機的最小歐氏距離dis(h),若dis(h)小于指定閾值β且dis(i)=0,則表明礦工手部區(qū)域在皮帶機像素集合內(nèi),判定為違規(guī)行為;否則判識為安全行為,認為是礦工在安全區(qū)域發(fā)生與手搭皮帶機相似的動作。
(Ⅳ)倚靠皮帶機。當出現(xiàn)倚靠行為時,在礦工身體像素集合上隨機選取一點q,遍歷皮帶機像素集合內(nèi)所有點,計算點q與皮帶機的最小歐氏距離。如距離dis(q)小于指定閾值δ,則認為依靠皮帶機行為發(fā)生,判識為違規(guī)行為;若dis(q)大于指定閾值δ,則判識為安全行為。
(Ⅴ)攀爬皮帶機。當?shù)V工行為識別算法確定出現(xiàn)攀爬行為時,在礦工手部區(qū)域隨機選取一點w,在礦工靴子區(qū)域隨機選取一點k,在礦工身體像素集合上隨機選取一點m,遍歷皮帶機區(qū)域像素集合。計算點w和點k與皮帶機區(qū)域像素點的歐氏距離dis(w)與dis(k),若dis(w)與dis(k)均出現(xiàn)等于0的情況,且礦工身體與皮帶機距離小于指定閾值θ,則判識為違規(guī)行為;否則判識為正常行為。
上述礦工違規(guī)行為判識模型,均是提取礦工行為結(jié)束時刻的3幀圖像,利用Mask R-CNN對目標進行像素級分割,利用上述判識方法對礦工違規(guī)行為進行判識。若違規(guī)行為的次數(shù)不小于2次,則判識為違規(guī)行為;否則判識為正常行為。
在x86 Windows電腦上使用python語言進行實驗,硬件配置為Inter i3 CPU,2.4 GHz,2 GB內(nèi)存。在皮帶機實驗室環(huán)境選取12名在校學生采集實驗數(shù)據(jù)集,主要針對摘安全帽、攀爬皮帶機、倚靠皮帶機、吸煙、拋雜物、手搭皮帶機6種行為,圖像大小為640 pixels×480 pixels,每種行為均采集24次,樣本總數(shù)為1 728。對于KNN分類器,K取值10,權重點等于它們距離的倒數(shù),葉子數(shù)量取值50。訓練數(shù)據(jù)時使用10折法交叉驗證,可以得到更準確的分類器。同時,為驗證本文算法識別行為的有效性,在KTH[19]與Weizmann[20]兩個數(shù)據(jù)集上進行實驗。
根據(jù)前面的實驗算法設計,分別在HOG、Hu矩、金字塔Hu矩、HOG與金字塔Hu矩融合的特征上進行相應的實驗。為避免偶然性,本文進行多次實驗且實驗環(huán)境設置相同。針對安全帽與皮帶機等目標,其綜合識別準確率為96.2%。針對提取的HOG、Hu矩、金字塔Hu矩、HOG與金字塔Hu矩融合的特征,違規(guī)行為識別準確率如表1所示。
表1 違規(guī)行為識別準確率 %
針對HOG與改進Hu矩特征的礦工違規(guī)行為識別的混淆矩陣如圖5所示。
由表1和圖5可知:使用HOG與金字塔Hu矩進行特征融合,識別準確率可以達到96.5%,其中,吸煙行為識別準確率最高,倚靠皮帶機行為識別率最低,各個違規(guī)行為之間存在一定誤識別。針對KTH和Weizmann人體行為數(shù)據(jù)集,其綜合準確率分別為98.7%和93.8%,具有較高的識別率。
針對上述4種礦工行為識別特征,均在KNN分類器的相同條件下進行識別,不同特征的運行時間如表2所示。
表2 不同特征的運行時間 s
由表2可知:Hu矩特征的運行速度是0.427 s,而HOG、HOG與改進Hu矩融合的算法時間相對較長,是1.573 s。雖然本文使用的特征的時間復雜度相對較長,但是準確率卻明顯提升,可以滿足算法實時性要求。
本文提出一種改進運動歷史圖描述礦工行為運動過程的方法,能有效地描述礦工運動過程并減少計算參數(shù)。針對Hu矩對圖像細節(jié)表達能力有限的問題,提出一種基于金字塔Hu矩特征并進行多特征融合。使用深度學習方法對礦井皮帶區(qū)環(huán)境進行識別,結(jié)合礦井皮帶區(qū)背景環(huán)境對環(huán)境敏感型礦工違規(guī)行為進行判識。
提出的環(huán)境敏感型礦工違規(guī)行為識別方法,準確率較高且計算速度較快,適合在實際環(huán)境中運行。后續(xù)研究工作將圍繞多人交互違規(guī)行為識別展開,從而可以識別礦工的多種違規(guī)行為,并致力于對更復雜的多人交互類違規(guī)行為進行識別。