梁永春,陳 楠,朱洪根,田立勤
(華北科技學(xué)院 計算機學(xué)院,北京 東燕郊 065201)
在露天煤礦開采過程中,拋擲爆破[1]是常用的將巖石或礦石拋離原地的方法。由于此項操作會在極短時間內(nèi)釋放大量高溫高壓氣體,具有較高的危險性。因此,安全生產(chǎn)流程要求實施爆破區(qū)域人員必須撤離到安全區(qū)域。一般采用的手段是運用常用喊話的方式通知撤離,可是由于礦區(qū)噪音大,干擾因素較多等原因,有可能影響到員工及時收到撤離通知。為了保證生產(chǎn)安全,在拋擲爆破前對危險區(qū)域進行人員撤出后的巡檢是防范安全生產(chǎn)事故必要的過程??墒?,傳統(tǒng)人工巡查的方式效率低,而且巡查人員自身安全也存在危險,因此由機器巡檢代替人工巡檢是未來發(fā)展方向。隨著航拍和圖像判讀[2]技術(shù)的發(fā)展,目前利用無人機(Unmanned Aerial Vehicle,UAV)航拍圖像并運用計算機視覺技術(shù)[3]分析圖像,進行危險區(qū)域巡查,已經(jīng)成為學(xué)術(shù)研究的熱點。相比人工巡查,基于航拍圖像巡查,具有高效和安全的特點。
目前,很多目標(biāo)檢測算法的識別速度在每秒15幀以上[4],中目標(biāo)和大目標(biāo)正確識別率在80%左右,但對小目標(biāo)的正確識別率在30%左右[5]。由于無人機離地面較高,拍攝角度是從上向下,人的成像較小,直接通過單一的目標(biāo)檢測算法識別率較低。將小目標(biāo)轉(zhuǎn)換成中目標(biāo),是提高目標(biāo)識別率的可行方案。航拍圖像中的小目標(biāo)轉(zhuǎn)換成中目標(biāo),通常有3種方法:調(diào)整焦距、降低高度和對成像進行超分辨率處理。調(diào)整焦距和降低高度是通過減小觀測區(qū)域,實現(xiàn)目標(biāo)體的成像變大。超分辨率是根據(jù)當(dāng)前圖片提取到的特征,加入部分像素點,實現(xiàn)目標(biāo)體的成像變大。通過調(diào)整焦距實現(xiàn)目標(biāo)體成像變大,圖像的質(zhì)量容易受到震動干擾,因為無人機巡檢過程中由于電機工作的需要和風(fēng)的影響,震動很難避免。降低飛行高度,碰到障礙物的可能性大幅增加,無人機的操作難度增加,同時頻繁的躲避障礙物對航拍圖像也有較大影響。目前,廣泛采用的方法是基于對抗生成網(wǎng)絡(luò)的圖像超分辨率方法[6]。但此方法,計算量較大,引入到圖像的預(yù)處理會帶來較大延遲。通過預(yù)判斷,減小需要超分辨率區(qū)域,可以有效減小延遲。本文提出通過目標(biāo)檢測、輪廓判別和圖像超分辨率三種技術(shù)進行組合,在損失一定實時性的前提下,實現(xiàn)航拍巡檢圖像目標(biāo)正確識別率的提升。
巡檢任務(wù)的關(guān)鍵技術(shù)是特定目標(biāo)識別?;谟嬎銠C視覺的目標(biāo)檢測常由兩個步驟決定識別對象和準(zhǔn)確率——目標(biāo)圖庫建立與標(biāo)注、選擇特征提取模型進行模型訓(xùn)練。訓(xùn)練圖庫的創(chuàng)建是識別的基礎(chǔ),為識別模型提供特定目標(biāo)的特征。通常為了增強圖庫的覆蓋,還會通過旋轉(zhuǎn)、鏡像轉(zhuǎn)換、曝光強度變化等方式進行圖庫數(shù)據(jù)擴充。目前常見通過神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)實現(xiàn)目標(biāo)檢測的算法包括faster[7]、YOLO[8]、SSD[9]等。這些算法在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、圖像特征提取、損失函數(shù)的設(shè)計等方面的差異,表現(xiàn)出不同的目標(biāo)識別速度和準(zhǔn)確度。通常除了識別算法對目標(biāo)識別準(zhǔn)確度有較大影響外,需要識別的物體成像大小也與目標(biāo)識別準(zhǔn)確率直接相關(guān),通常小圖(小于23×23像素)正確識別率遠低于大圖。因此,需要綜合考慮識別速度和識別正確率及小目標(biāo)對正確率的影響,選擇合適的目標(biāo)檢測算法。為了進一步提高算法識別的正確率,需要對模型訓(xùn)練和識別過程中學(xué)習(xí)率和迭代次數(shù)等參數(shù)進行配置和優(yōu)化。航拍圖像中,由于拍攝距離較遠,目標(biāo)成像較小。高密度殘差神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),可以實現(xiàn)對圖像細節(jié)更好的獲取和有效防止梯度消失,更適合小目標(biāo)檢測[10]。對于識別率與識別效率矛盾問題,堅持安全生產(chǎn)比生產(chǎn)效率更重要的原則。礦區(qū)的具體情況中,目標(biāo)檢測正確率的干擾因素是必須要考慮并進行針對性防范的因素。由于需要識別的目標(biāo)是人,具有主觀意識,他的穿著和姿勢對正確識別也會產(chǎn)生影響。
礦區(qū)大量的工作是由人操作工程車輛進行工作的。因此可以在此類情況下,通過對車進行整體識別,提高識別率。此類識別方案是關(guān)聯(lián)識別法,需要對區(qū)域內(nèi)各類工程車輛進行航拍圖像收集、標(biāo)注制作成訓(xùn)練集,并選擇適當(dāng)?shù)哪繕?biāo)檢測模型進行訓(xùn)練和識別,圖1中的目標(biāo)檢測1實現(xiàn)此類情形下的目標(biāo)檢測。進一步提高此類目標(biāo)檢測對特定目標(biāo)的檢出率,需要前期對數(shù)據(jù)進行收集和分析。前期的準(zhǔn)備工作要實現(xiàn)兩個目標(biāo)——關(guān)聯(lián)性目標(biāo)確定和目標(biāo)特征收集。露天煤礦各區(qū)域、各階段進行的工程操作具有很高的重復(fù)性,可以較容易實現(xiàn)根據(jù)由航拍圖像中特定目標(biāo)或特定目標(biāo)的組合檢測實現(xiàn)對此區(qū)域是否有人在操控工程機械的判斷。目標(biāo)特征收集是指在選定特征目標(biāo)后,對選定目標(biāo)在不同影響因素下不同工作內(nèi)容的航拍數(shù)據(jù)進行收集。這里的不同影響因素,是指對航拍圖像的影響,例如:太陽光照、天氣因素和工作區(qū)域灰塵等因素。
通過對特定目標(biāo)的識別和此目標(biāo)與人的相互關(guān)系,進行相關(guān)推理識別方案并不能滿足所有情況,因此直接對目標(biāo)進行識別也是需要考慮的情況。小目標(biāo)識別率較低,但通過圖像的超分辨率可以實現(xiàn)目標(biāo)成像的面積擴大從而提升目標(biāo)檢測的識別率。圖像超分辨率計算量比較大,消耗的時間也較長,在圖像中只有少量識別目標(biāo)時,全圖進行超分辨率處理性價比較低。當(dāng)無人機高度一定時,人像的大小在確定的范圍內(nèi),因此,可以通過這個范圍排除大部分輪廓的周長和面積不在此范圍的目標(biāo)。在數(shù)字圖像中,目標(biāo)由像素點構(gòu)成,目標(biāo)的部分特點可以通過輪廓特征表現(xiàn)出來。根據(jù)數(shù)字圖像的特點,輪廓是與周圍像素的值差別較大的像素點集合[11]。根據(jù)這些集合數(shù)據(jù),可以獲得此物體成像的周長、面積等信息。通過對這些信息的分析,本文通過支持向量機和軟間隔最大化實現(xiàn)大部分目標(biāo)與非目標(biāo)的區(qū)分,具體算法討論見下節(jié)。對于剩下的小目標(biāo)進行集中后通過生成對抗網(wǎng)絡(luò)進行超分辨率[12]。超分辨率實現(xiàn)小目標(biāo)向中目標(biāo)的轉(zhuǎn)換,目標(biāo)檢測識別率可以到達80%,見圖1中目標(biāo)檢測2。為了提高檢出率,此目標(biāo)檢測模型需要進行單獨訓(xùn)練。訓(xùn)練樣本不僅要包括需要識別的目標(biāo),而且對經(jīng)過輪廓篩選,具有干擾性的目標(biāo)也進行單獨分類訓(xùn)練。假設(shè)圖1中目標(biāo)檢測2的檢出率是80%,檢出目標(biāo)包括識別目標(biāo)和干擾目標(biāo)。如果在一次檢出中,所有經(jīng)過輪廓篩選出的目標(biāo)都進行識別,則此情況下優(yōu)化組合后的識別可信率能夠達到90%以上,滿足大部分實際場景巡檢準(zhǔn)確性的需要。
圖1 人員自動識別算法流程圖
輪廓是物體的客觀特征之一,數(shù)字圖像中輪廓特指目標(biāo)與背景區(qū)分邊緣像素點集合。輪廓分析就是通過這些像素點的集合,判斷這些像素點集合是否屬于某類目標(biāo)的最大可能性。在本論文中,輪廓篩選可以抽象成為二分類問題,并通過軟間隔最大化的方法進行分類區(qū)分。
通過輪廓歷史數(shù)據(jù)獲取訓(xùn)練樣本,在本場景中訓(xùn)練數(shù)據(jù)被分為兩類:人成像的目標(biāo)輪廓與其它物體成像的非目標(biāo)輪廓.設(shè)圖像中所有輪廓數(shù)據(jù)組成的集合為R,其中xi為R集合中的一個輪廓數(shù)據(jù),y為輪廓的歸類,并且每個xi都有唯一對映的yi即,xi∈Rn,yi={+1,-1}為分類標(biāo)記。待求解分類面方程(判別函數(shù))為g(x)=(ω,x)+b,使得兩類樣本滿足約束條件yi[(ω,xi)+b] ≥ 1.支持向量機特點是2/‖ω‖代表的兩類點對應(yīng)的距離越大,對位于未知點的判斷越準(zhǔn)確,同時這也是泛化能力的體現(xiàn)。為了滿足梯度下降的條件[13],在計算中通常將求最大轉(zhuǎn)換成‖w‖2/2趨近于0實現(xiàn)。
(1)
本文中基于目標(biāo)輪廓數(shù)據(jù)進行檢測目標(biāo)的預(yù)判斷,是一種選取少量數(shù)據(jù)的預(yù)判斷,存在部分?jǐn)?shù)據(jù)不能通過線性方程進行準(zhǔn)確分類。因此需要對式(1)進行修改,求解軟間隔最大化,即對盡可能多的數(shù)據(jù)進行正確分類,同時也允許存在少量分類錯誤的數(shù)據(jù)。
(2)
式中,ξi為松弛變量,通過它實現(xiàn)對約束條件的軟化;c為大于0的懲罰系數(shù),其值代表對錯誤分類的懲罰程度,通過它實現(xiàn)對分類失效數(shù)據(jù)占比的接受程度調(diào)節(jié)。式(2)可以通過拉格朗日(Lagrange)有約束條件求最值法進行求解。為了簡化計算,可以將式(2)轉(zhuǎn)換成對偶形式[14]。
0≤αi≤c,i=1,...,l
(3)
式中,αi為拉格朗日乘子,求解過程中分量αi大于零對應(yīng)的樣本即為支持向量xi,利用軟間隔支持向量機的KKT條件:
(4)
通常的軟間隔最大化會得到多個結(jié)果,即允許少量的非人的成像歸類到人的成像;同時,也允許少量人的成像按非人成像進行過濾。顯然,后一種情況是我們不希望發(fā)生的。根據(jù)集合的概念,圖像數(shù)據(jù)中所有輪廓中特定像素點間的關(guān)系可以組成集合,記為R。為了便于計算機對此集合數(shù)據(jù)的處理,先進行離散化,U表示對離散化后數(shù)據(jù)的一次劃分。A=(U,R)表示離散后的集合是原集合的近似空間,且被分割成互不相交的子集。如果兩個輪廓的兩個特殊點對應(yīng)的相互關(guān)系數(shù)字化描述在相同的等價類,則這兩個輪廓歸為一類(允許此次分類與真實情況不符合,將通過目標(biāo)檢測方法進一步判斷)。對于一種特定的輪廓像素點的選擇和此像素點間關(guān)系X?U,此集合不具有精確區(qū)分輪廓對應(yīng)物體的能力,可表示為:
aprX=R(X)=U{[x]R|[x]R∩X≠φ}={x|x∈U,[x]RX≠φ}
(5)
式(5)中,R(X)為需要得到的特定選點規(guī)則和類別區(qū)分方法下,目標(biāo)物體與非目標(biāo)物體的離散后范圍界定。在一個劃分區(qū)域U,如果包含有目標(biāo)物體x,則此劃分區(qū)域U必須在目標(biāo)物體范圍內(nèi),并且由這樣的劃分區(qū)域U組成的區(qū)域邊界為目標(biāo)物體和非目標(biāo)物體的區(qū)分邊界。
假設(shè)人的輪廓樣本在超平面上,間隔區(qū)樣本(包含人的輪廓和其它物體輪廓)在超平面上方,其它樣本在超平面下方。求解方法:
① 求解式(3)得到ω;
② 計算人輪廓樣本(y=1)使得
③ 計算非目標(biāo)輪廓樣本(y=-1)使得
④ 軟間隔SVM分類
不滿足
計算機視覺對計算機硬件要求比較高,本實驗使用的計算機硬件配置為CPU:i7 顯卡:T4 8G顯存。實驗的軟件系統(tǒng)是在Ubuntu 16.04 的軟件系統(tǒng)中配置darknet 框架yolo V3 目標(biāo)檢測算法,和OpenCV 圖像處理工具包。在內(nèi)蒙古某露天煤礦進行現(xiàn)場勘察和視頻數(shù)據(jù)的采集。數(shù)據(jù)采集的方式是在不同時段和不同高度,對礦區(qū)拋擲爆破區(qū)域進行無人機航拍。航拍過程得到礦區(qū)工作人員的幫助,并提供很多重要信息包括拋擲爆破區(qū)域和根據(jù)礦區(qū)爆破安全生產(chǎn)技術(shù)規(guī)范,爆破前需要進行人員疏散的區(qū)域。參考目標(biāo)成像大小與識別率的相互關(guān)系,綜合考慮無人機飛行安全,巡檢效率和識別準(zhǔn)確度。經(jīng)過實驗,無人機在離地面9米時人的站姿從前方45度角拍攝,成像大小約為23×23像素,綜合考慮此高度適合無人機巡檢。過高目標(biāo)的成像太小,影響識別;過低影響巡檢效率的同時,巡檢時遇到的障礙物更多,影響飛行安全。
實驗總體過程由兩部分組成,訓(xùn)練和檢測。訓(xùn)練過程包括航拍圖像數(shù)據(jù)的收集和對其中目標(biāo)的標(biāo)注。礦區(qū)工作人員都配備統(tǒng)一的工作服,模型的訓(xùn)練的重點是在各種環(huán)境下對工作服有效識別。存在的干擾因素來自目標(biāo)自身和傳播路徑兩方面。目標(biāo)自身包括,員工從事不同工作的不同時間段身姿特征差異明顯,同時工作服在工作中被污染等情況都會影響識別效果。傳播路徑方面的影響主要來自環(huán)境方面的影響——由天氣情況、光照情況和工作區(qū)粉塵影響下工作區(qū)能見度。
對于目標(biāo)自身的各種姿態(tài)和外觀的變化,可以通過增加樣本集的數(shù)量實現(xiàn)識別率的提升。工作區(qū)域能見度對識別效果的影響,通過訓(xùn)練數(shù)據(jù)擴充和基于大氣散射模型去霧的方式消除模糊。數(shù)據(jù)擴充,是對訓(xùn)練數(shù)據(jù)中引入由于工作區(qū)域能見度低時拍攝的目標(biāo)圖像放入訓(xùn)練集中,此時,需要識別的目標(biāo)成像時變模糊。根據(jù)大氣散射模型觀測到的圖像是目標(biāo)實際在全球大氣光與介質(zhì)透射共同影響下的結(jié)果。其中,介質(zhì)透射的數(shù)值與大氣散射系數(shù)和物體到相機的距離有關(guān)。應(yīng)用大氣散射模型去除霧形成的圖像模糊和對比度低,已經(jīng)有相關(guān)研究成果能夠用于解決本文提到的問題,例如通過透射率去霧、暗通道來去霧和生成對抗網(wǎng)去霧[15-18]。
物體的輪廓是物體的特征屬性,本實驗中識別目標(biāo)是人,因此目標(biāo)的輪廓的周長和面積會在確定的區(qū)間內(nèi)。圖2(a)是通過航拍器獲得的原始圖像,圖2(b)中標(biāo)示區(qū)域是滿足周長和面積都大于0的區(qū)域,圖2(c)是根據(jù)在一定高度目標(biāo)成像的周長和面積統(tǒng)計得到的區(qū)間值進行過濾,得到目標(biāo)可能存在的區(qū)域。為了進一步縮小目標(biāo)可能存在的區(qū)域范圍,在輪廓中選取左上點(輪廓中x、y坐標(biāo)值最小點)和右下點(輪廓中x、y坐標(biāo)值最大點)對可能是人的成像輪廓進行再次過濾。具體方法是定義x1,y1左上像素點坐標(biāo),x2,y2右下像素點坐標(biāo),w代表圖像的寬 h代表圖像的高,為了消除不同相機成像的誤差,對X,Y 進行無綱處理,見式(6)。
X= (x2-x1)/wY= (y2-y1)/h
(6)
為了最大可能區(qū)分人的成像的輪廓和其它輪廓,對前期統(tǒng)計的數(shù)據(jù)中輪廓左上和右下點的坐標(biāo)數(shù)據(jù)轉(zhuǎn)換成X、Y的值應(yīng)用軟間隔支持向量機進行分類。根據(jù)得到的結(jié)果對圖C中的結(jié)果輪廓數(shù)據(jù)進行再次過濾,結(jié)果見圖2(d),圖中只有兩個區(qū)域可能有人。對此區(qū)域應(yīng)用SRGAN[19]生成對抗網(wǎng)絡(luò)進行超分辨率處理,再通過YOLO V3目標(biāo)檢測算法進行識別,見圖2(f)。由于實驗中經(jīng)過輪廓過濾后的兩個候選輪廓距離較近,可以在同一區(qū)域進行超分辨率,如果過濾后候選區(qū)域比較分散可以進行集中化處理——根據(jù)輪廓位置,復(fù)制區(qū)域像素數(shù)據(jù)到某區(qū)域內(nèi)。
為了提高巡檢結(jié)果的準(zhǔn)確性和可信度,對經(jīng)過目標(biāo)過濾后保留的非目標(biāo)物體單獨分類進行訓(xùn)練。對航拍圖像可以進行正向針對人的成像和反向經(jīng)過輪廓過濾與人的成像存在共同點的非人圖像都進行識別,提高航拍巡檢的可信度。同時,對于有爭議的物體,同時識別成兩類目標(biāo)的物體,和未識別物體,沒有識別為人的成像也沒有識別為非人的成像的輪廓區(qū)域,可以通過下降航拍器高度進行人工確認的方式進行處理。得到確認后應(yīng)該將這里目標(biāo)單獨收集放入對應(yīng)的數(shù)據(jù)集中進行模型訓(xùn)練集的擴充。
通過實驗測試,當(dāng)無人機拍攝的圖像經(jīng)過輪廓篩選,沒有和人的輪廓特點相符的目標(biāo)物體時,檢測效率每秒10幀。如果圖像中有輪廓特征近似區(qū)域,對此幀圖片進行保存,同時對可疑區(qū)域進行超分辨率處理,再通過YOLO算法進行目標(biāo)識別。如果識別結(jié)果顯示是人的成像,對圖像進行標(biāo)注。這種情況的檢測效率每秒2幀。
本文將無人機航拍圖像與計算機視覺技術(shù)結(jié)合,應(yīng)用在露天礦拋擲爆破前特定危險區(qū)域的人員疏散后的巡檢。通過下列三個主要方式,提高無人機巡檢結(jié)果可信度與檢測效率的均衡。
(1) 通過輪廓數(shù)據(jù)進行候選目標(biāo)的過濾。目標(biāo)的輪廓反應(yīng)被識別物體的客觀屬性,本文在輪廓的周長和面積篩選的基礎(chǔ)上,選擇輪廓中的左上和右下點通過支持向量機算法結(jié)合軟間隔最大化進行目標(biāo)篩選,進一步縮小需要識別的目標(biāo)可能出現(xiàn)的范圍。
(2) 只對圖像中部分區(qū)域進行超分辨率處理,減小計算量提高目標(biāo)檢測效率。在實際應(yīng)用中,航拍圖像獲取的圖像中大部分區(qū)域沒有需要識別的目標(biāo),進行全圖超分辨率是耗時和低效率地。對圖像先通過輪廓數(shù)據(jù)進行篩選,有效避免圖像部分區(qū)域不必要的超清化處理。
圖2 目標(biāo)區(qū)域確定與識別
(3) 建立干擾樣本庫,提高識別準(zhǔn)確度。 對經(jīng)過篩選,得到的非人成像目標(biāo)是影響目標(biāo)識別準(zhǔn)確度的主要因素。礦區(qū)生產(chǎn)環(huán)境相對固定,干擾成像目標(biāo)重復(fù)性較高。對其單獨識別,有助于提高巡檢結(jié)果的可信度。