王 勇
(1.煤炭科學(xué)技術(shù)研究院有限公司,北京 100013;2.煤炭資源高效開采與潔凈利用國家重點實驗室,北京 100013;3.北京市煤礦安全工程技術(shù)研究中心,北京 100013)
近年來,隨著煤礦自動化、信息化、智能化技術(shù)的發(fā)展,礦用視頻監(jiān)控技術(shù)在煤礦生產(chǎn)的各業(yè)務(wù)系統(tǒng)中得到了充分的利用,尤其是涉及到煤礦安全生產(chǎn)綜采工作面、中央變電所、水泵房等區(qū)域,實現(xiàn)了礦用攝像機的全覆蓋[1]。監(jiān)控畫面的增多,監(jiān)測難度增加,采用傳統(tǒng)的人工監(jiān)視的方法已經(jīng)滿足不了煤礦安全生產(chǎn)的需要。隨著機器視覺技術(shù)的發(fā)展,運動目標檢測技術(shù)在礦井視頻輔助報警系統(tǒng)中的應(yīng)用就顯得更為重要[2-3]。
礦井監(jiān)控視頻中的運動目標檢測是以實現(xiàn)煤礦危險區(qū)域以及涉及到生產(chǎn)的重點區(qū)域的礦井人員等運動目標的檢測為目的,因此,實現(xiàn)礦井監(jiān)控視頻中的運動目標檢測既是實現(xiàn)煤礦井下安全報警聯(lián)動與聯(lián)動控制的基礎(chǔ),也是提升煤礦安全生產(chǎn)的關(guān)鍵技術(shù)[4]。
運動目標檢測技術(shù)是機器視覺的關(guān)鍵技術(shù),它的基本任務(wù)是從圖像序列中檢測出運動信息[5],為后續(xù)的智能場景的實現(xiàn)提供必備條件。常用的運動目標檢測算法主要有光流法、幀間差分法與背景差分法三種[6]。光流法是指利用圖像序列中的像素點的光流信息實現(xiàn)運動目標的檢測[7],但該方法計算量大,無法滿足實時檢測的要求;幀間差分法是指利用相鄰圖像的幀作差分運算,并與設(shè)定的閾值作比較來實現(xiàn)運動目標的檢測,但該方法在運動目標速度過快或過慢時,易引起“拖影”或“空洞”的現(xiàn)象;背景差分法是指利用輸入圖像與背景模型作差分運算[8],并與閾值進行判別來實現(xiàn)運動目標的檢測,并可采用動態(tài)的更新背景模型來實現(xiàn)對動態(tài)背景的適應(yīng),且該方法計算復(fù)雜度低、實時性好[9-10]。因此,文中采用基于背景差分法的運動目標檢測技術(shù)(原理見圖1)實現(xiàn)煤礦監(jiān)視視頻中的目標檢測。
圖1 基于背景差分法的運動目標檢測技術(shù)原理
煤礦井下動目標監(jiān)測平臺主要由視頻網(wǎng)絡(luò)傳輸、視頻采集、分析管理平臺三部分組成,如圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)
其中視頻網(wǎng)絡(luò)傳輸子系統(tǒng)實現(xiàn)數(shù)據(jù)的交互與傳輸,核心交換機與接入層交換機形成了網(wǎng)絡(luò)架構(gòu),根據(jù)系統(tǒng)應(yīng)用要求,視頻匯聚層主干網(wǎng)需要滿足千兆級,監(jiān)控點網(wǎng)絡(luò)帶寬滿足百兆級。視頻采集子系統(tǒng)由監(jiān)測攝像頭、視頻存儲和管理平臺組成,實現(xiàn)監(jiān)測范圍內(nèi)數(shù)據(jù)的采集、分類、存儲。分析管理平臺由智能識別、目標檢測事件資源庫等組成,實現(xiàn)對數(shù)據(jù)的匯聚、處理、分析、匯報,該平臺通過搭建GPU集群,完成多路并發(fā)的在線實時解析。
系統(tǒng)采用五層架構(gòu)設(shè)計,從下至上為采集層、解析層、服務(wù)層、業(yè)務(wù)層和管理層,如圖3所示。其中采集層實現(xiàn)監(jiān)測點視頻圖像資源的采集;解析層通過特征識別和對比分析,獲取監(jiān)測目標的屬性特征,并進行識別標識;服務(wù)層對識別出的目標動作進行分析,得出結(jié)論;業(yè)務(wù)層完成分析結(jié)果的展示及報警;應(yīng)用層實現(xiàn)結(jié)果的處理及上報。
圖3 系統(tǒng)架構(gòu)設(shè)計
背景差分法的原理是將視頻序列中的當前幀與背景圖像進行差分運算來得到目標區(qū)域。考慮到實際應(yīng)用,需對背景圖像提出的要求包括背景圖像不包含運動目標和背景場景變化時,能夠自適應(yīng)地構(gòu)建背景圖像[11]。比較常用的有基于均值的背景構(gòu)建、基于中值濾波器的背景構(gòu)建、基于單個高斯模型的背景構(gòu)建、基于混合高斯模型的背景構(gòu)建等[12-13]。
如果不考慮光照環(huán)境的變化等因素,如式(1)所示,視頻序列的當前幀圖像I(x,y)可以看作是背景圖像B(x,y)與T(x,y)運動目標的疊加組成:
I(x,y)=B(x,y)+T(x,y)
(1)
由于在礦井監(jiān)控視頻中,考慮到煤礦井下存在光線變化等環(huán)境噪聲n(x,y)的影響,視頻序列中當前幀圖像I(x,y)實際是由背景圖像、運動目標與環(huán)境噪聲的疊加組成,如式(2)所示:
I(x,y)=B(x,y)+T(x,y)+n(x,y)
王祥仿佛失了神一樣。明明是得了10萬元去做生意,但是相比自己失去的部分,可以說是不值一提。他越想越氣憤,生意也不想做了,就想尋老道的晦氣。
(2)
即差分圖像如式(3)所示:
D(x,y)=I(x,y)-B(x,y)+n(x,y)
(3)
因此,基于背景差分法的運動目標檢測技術(shù)的原理如式(4)所示:
(4)
其中,Th表示設(shè)定的閾值。
礦井監(jiān)控視頻中的基于背景差分法的運動目標檢測流程如下所示:
(1)選取沒有前景運動目標的視頻流,對幀圖像進行灰度轉(zhuǎn)換,利用混合高斯模型進行初始化背景建模;
(2)提取測試視頻流序列中的幀圖像,進行灰度轉(zhuǎn)換,前景判定,并對混合高斯模型進行更新;對判定為前景區(qū)域的像素的灰度值賦值255,判定為背景區(qū)域的像素的灰度值賦值0;
(3)檢測前景區(qū)域的輪廓,畫出包含前景區(qū)域輪廓的最小矩形框坐標,并畫出矩形框;
(4)根據(jù)步驟(3)得到的坐標,在測試視頻流的原始幀圖像中,標注矩形框。
考慮到隨著綜采工作面的推進,目標檢測的背景場景、光線強度等不斷發(fā)生變化,因此采用了基于混合高斯模型的背景建模法[14]來進行背景建模,具體步驟如下:
視頻序列中的每個像素有多個單模型進行描述:
P(p)={[wi(x,y,t),ui(x,y,t),σi(x,y,t)2]}
其中,i=1,2,…,K,K的值一般在3~5之間,表示混合模型的個數(shù),w表示t時刻(x,y)處的每個模型的權(quán)重,u表示t時刻(x,y)處模型中的高斯分布的均值,δ表示t時刻(x,y)處模型中的高斯分布的方差。(x,y)處各個模型的權(quán)重如式(5)所示,滿足式(5),且其各個模型的初始化參數(shù)如式(6)所示。
(5)
(6)
在上式中,u(x,y,0)為(x,y)處模型中高斯分布的均值的初始參數(shù),I(x,y,0)為0時刻輸入視頻序列的圖像(x,y)處的灰度值,σ2(x,y,0)為(x,y)處模型中高斯分布的方差的初始參數(shù),std表示設(shè)定的初值,一般取20。
該流程通過不停獲取工作面場景中的視頻序列中的圖片進行分析處理[15-16],流程如圖4所示。其中w(x,y,t)表示t時刻(x,y)處第i個模型的權(quán)重參數(shù),w(x,y,t-1)表示t-1時刻(x,y)處第i個模型的權(quán)重參數(shù),u(x,y,t)表示t時刻(x,y)處第i個模型中高斯分布的均值參數(shù),u(x,y,t-1)表示t-1時刻(x,y)處第i個模型中高斯分布的均值參數(shù),δ(x,y,t)表示t時刻(x,y)處第i個模型中高斯分布的平方差參數(shù),δ(x,y,t-1)表示t-1時刻(x,y)處第i個模型中高斯分布的平方差參數(shù),I(x,y,t)表示t時刻輸入圖像(x,y)處的灰度值,std_t表示設(shè)定的平方差參數(shù),一般取值為20。
為了提高模型以及模型權(quán)重的更新效率,每次更新權(quán)重后,按照權(quán)重對模型進行排序及刪減,并及時刪減其中的非背景模型[17],排序過程如下:
(1)計算像素中每個模型的排序標準值;
(2)對于像素的各個模型,按照排序標準值,由大到小進行排序;
圖4 動目標背景構(gòu)造流程
煤礦井下動目標的跟蹤分析是一個復(fù)雜的視頻分析過程,為了提高結(jié)果的準確性和分析效率,采用面向?qū)ο竽P偷臉?gòu)建集成模式[18],按照系統(tǒng)功能要求劃分構(gòu)件粒度,每個構(gòu)件對應(yīng)視頻圖像分析和判斷功能[19],通過調(diào)用設(shè)計的算法,簡化監(jiān)測系統(tǒng)的布局。
系統(tǒng)軟件模塊設(shè)計如圖5所示,接口管理實現(xiàn)視頻服務(wù)模塊之間的消息轉(zhuǎn)換,數(shù)據(jù)庫用于存儲配置的參數(shù),Web發(fā)布用于展示處理的結(jié)果,RTSP服務(wù)、視頻服務(wù)、流程處理模塊都是一個獨立的進程或線程,實現(xiàn)視頻圖像的傳輸、處理和顯示,系統(tǒng)服務(wù)實現(xiàn)進程的調(diào)度和管理。
圖5 系統(tǒng)軟件模塊
判別流程算法采用Python和OpenCV編程實現(xiàn)。OpenCV利用C++進行編寫,是OpenCV的主要接口之一,支持Python語言,在圖像處理、計算機視覺設(shè)計等方面具有廣泛的應(yīng)用[20]。
為驗證基于混合高斯建模的背景差分法檢測流程的有效性,選取某礦綜采工作面的礦井監(jiān)控視頻進行實驗,實驗環(huán)境選取服務(wù)器CPU2.8 GHz,內(nèi)存8.0 GB。圖6為本次實驗的實測結(jié)果,其中(a)組為原始視頻序列的幀圖像,(b)組為當前幀圖像對應(yīng)的背景模型,(c)組為算法提取的前景圖像,(d)組為前景圖像二值化后的結(jié)果,(e)組為(d)組進行開操作后的結(jié)果,(f)組為原始視頻序列的幀圖像中的運動目標標注圖像。通過多次變換參數(shù)進行測試,最終結(jié)果表明,當選取K=5、std=20、std_t=20、λ=3時,利用該流程對礦井監(jiān)控視頻中的動目標進行檢測時,對噪聲具有較好的魯棒性,能夠有效地標注出動目標區(qū)域。
圖6 基于背景差分法的運動目標檢測結(jié)果
通過研究背景差分法的原理,分析了基于混合高斯建模的背景構(gòu)造原理,設(shè)計了基于背景差分法的動目標檢測流程,采用Python和OpenCV編程工具實現(xiàn)了礦井監(jiān)控視頻中動目標的捕獲和標注,為煤礦危險區(qū)域以及涉及到生產(chǎn)的重點區(qū)域的礦井人員等運動目標的檢測提供一種較好的方法。