遲金生 李小陽 張亞飛
(國能黃驊港務(wù)有限責(zé)任公司 河北省滄州市 061113)
門機作為大型的工程機械裝備,其作業(yè)范圍廣,輔助人員多。一條船可能需要多臺門機同時作業(yè),碼頭面上人員及設(shè)備眾多,因此保證作業(yè)安全是門機實現(xiàn)自動化的重要前提。門機自動化作業(yè)時,門機抓斗開閉不是由人控制,而是自動定位運行到料斗上方再開斗,如何保證機下人員和設(shè)備的安全,如何保證抓斗自動卸料時料斗周邊警戒區(qū)域內(nèi)無行人或者車輛,成為一個關(guān)鍵的安全問題。因此,門機在實施自動化作業(yè)時對料斗周邊區(qū)域的警戒非常重要。當(dāng)既定目標(biāo)(行人或者車輛)進(jìn)入或出現(xiàn)在料斗周邊警戒區(qū)域內(nèi)時,系統(tǒng)應(yīng)能識別并產(chǎn)生報警信號,從而暫停當(dāng)前作業(yè)。
標(biāo)定是視頻電子圍欄系統(tǒng)計算的先決條件,后期的坐標(biāo)轉(zhuǎn)換和警戒區(qū)域設(shè)置都是以此為基礎(chǔ)的。標(biāo)定的目的是計算出攝像機在整個空間中的位置,再根據(jù)物體跟攝像機的距離反算出物體在整個空間中的位置。
在我們的視頻電子圍欄系統(tǒng)中,機構(gòu)末端并不是門機的最末端(象鼻梁末端),攝像機安裝在第二層固定臺上某個點,該安裝點到門機中心點(即門機坐標(biāo)系原點)的轉(zhuǎn)換關(guān)系即位轉(zhuǎn)移矩陣。該矩陣是不變的。本文檔中,在進(jìn)行自動瞄盯時,將機構(gòu)末端坐標(biāo)系視為世界坐標(biāo)系。
標(biāo)定分為2 個過程,依次為:(相機內(nèi)參/畸變參數(shù)提前標(biāo)定,不在以下過程中)
從攝像機坐標(biāo)系到靶標(biāo)坐標(biāo)系的轉(zhuǎn)換(Tc);——外參
機構(gòu)末端坐標(biāo)系到靶標(biāo)坐標(biāo)系的轉(zhuǎn)換(Tg)?!袠?biāo)貼在料斗上已知位置,將抓斗和料斗正對上,料斗的位置即為抓斗當(dāng)前位置,則靶標(biāo)在Oe 中的位置可得。
內(nèi)參矩陣Tm、矩陣T6、從世界坐標(biāo)系W 到圖像坐標(biāo)系的轉(zhuǎn)換矩陣F,三者關(guān)系為:
F = TmT6
世界坐標(biāo)系為(Xw Yw Zw 1)T,像素坐標(biāo)系為(u v 1)T。不考慮相機的畸變。Tm 為3×4 的矩陣,T6 為4×4 的矩陣,F(xiàn) 為3×4 的矩陣。
從世界坐標(biāo)系到攝像機坐標(biāo)系轉(zhuǎn)換包含旋轉(zhuǎn)矩陣R 和平移矩陣T。世界坐標(biāo)系由X 軸,Y 軸,Z 軸組成,攝像機坐標(biāo)系也由X 軸,Y 軸,和Z 軸組成。將世界坐標(biāo)系繞Z 軸旋轉(zhuǎn)θ,繞X 軸旋轉(zhuǎn)φ,繞Y 軸旋轉(zhuǎn)ω 后與攝像機的三個對應(yīng)的軸依次重合。
在進(jìn)行自動盯瞄時,以大車旋轉(zhuǎn)中心作為的原點、大車行走正方向為X 軸、水平面上與X 軸垂直方向為Y 軸,垂直地面向上建立世界坐標(biāo)系。
在進(jìn)行防護區(qū)域設(shè)置時,以料斗左下角點在地面上的投影作為的原點、大車行走正方向為X 軸、水平面上與X 軸垂直方向為Y 軸,垂直地面向上建立世界坐標(biāo)系。
在進(jìn)行盯瞄初始化階段,會通過相機標(biāo)定的方式,獲取球機在靶標(biāo)坐標(biāo)系下的坐標(biāo),也即可以知道球機的安裝高度、料斗左下角點位于攝像頭前方的距離、料斗左下角點位于攝像頭右方的距離。也即在不考慮攝像機旋轉(zhuǎn)的情況下,料斗左下角點在攝像機坐標(biāo)系中的坐標(biāo)。根據(jù)球機的安裝位置,可以知道攝像機在世界坐標(biāo)系中的坐標(biāo)。
當(dāng)大車移動或料斗有移動時,此時料斗可能不在攝像頭視野范圍內(nèi),需要對球機進(jìn)行旋轉(zhuǎn),也即進(jìn)行自動盯瞄,通過控制球機PT 的形式,讓料斗處于攝像頭成像畫面的中央?yún)^(qū)域。然后再通過自動識別料斗四個角點的形式,生成防護區(qū)域。
識別到四個角點后,重新進(jìn)行標(biāo)定,進(jìn)而獲取料斗的四個角點在像素位置,又由于相機的內(nèi)參已知,四個角點的世界坐標(biāo)系已知,根據(jù)PNP 計算,可以獲取外參矩陣。
又防護區(qū)域的四個端點的世界坐標(biāo)系可以計算得到,于是可以獲取到防護區(qū)域四個端點的像素坐標(biāo)。
標(biāo)定完成,空間坐標(biāo)確定后,計算機需對球機采集的圖像進(jìn)行處理。要從圖像中提取出料斗、劃定出警戒區(qū)域。
自動盯瞄,就是讓球機始終對準(zhǔn)料斗位置。
當(dāng)大車或者料斗有移動時,料斗在球機的視野畫面中的位置會產(chǎn)生變化,為了讓料斗始終位于畫面中,需要對球機進(jìn)行偏轉(zhuǎn)(水平方向和垂直方向)。
根據(jù)料斗相對于門機中心的位置、以及球機安裝位置相對于門機中心的位置,可以計算出料斗相對于球機位置的水平角度和垂直角度,然后使用球機的PTZ 控制,讓料斗處于球機畫面的中央?yún)^(qū)域。由于料斗相對于門機的位置變化不是很大,以及防止相機內(nèi)參發(fā)生變化,球機在進(jìn)行料斗自動瞄盯操作時,球機的縮放操作Z 不進(jìn)行變動。
料斗的四個角點的像素坐標(biāo),通過視覺算法,使用圖像檢測的方式獲取這四個角點的像素位置。記這四個角點的像素坐標(biāo)為C1、C2、C3、C4。如圖1所示。
圖1:料斗的四個角點示意圖
首先將圖片由BGR 顏色空間轉(zhuǎn)換到HSV 空間,并通過顏色閾值分割和形態(tài)學(xué)膨脹腐蝕的方法得到二值圖,利用輪廓檢測得到整體的輪廓圖。 如圖2所示。
圖2:料斗輪廓提取示例
然后根據(jù)圖像的矩和相關(guān)的條件判斷可以得到料斗的輪廓圖,從而得到料斗的圖像。最后通過視覺的線性變換檢測等算法求取料斗的四個角點的像素坐標(biāo)值。 如圖3所示。
圖3:料斗四角點坐標(biāo)檢測示意圖
靶標(biāo)為料斗的四個角點,料斗四個角所在的正方形的某一條邊需要與大車行進(jìn)方向平行。靶標(biāo)坐標(biāo)系的X 軸需與大車行進(jìn)的正方向一致,靶標(biāo)坐標(biāo)系的Y 軸與X 軸垂直且與地面平行,靶標(biāo)坐標(biāo)系的Z 軸為垂直地面向上,靶標(biāo)坐標(biāo)系的原點為料斗四個角點中的坐下點在地面上的投影。進(jìn)行警戒區(qū)域設(shè)置時,靶標(biāo)坐標(biāo)系即為世界坐標(biāo)系。
又料斗四個角點在圖像坐標(biāo)系中的像素坐標(biāo)已獲取。根據(jù)料斗四個角點在圖像坐標(biāo)系下的像素坐標(biāo),和世界坐標(biāo)系下的坐標(biāo),使用OpenCV 提供的函數(shù)solvePnP 獲取世界坐標(biāo)系到圖像坐標(biāo)系的外參矩陣。
擴展區(qū)域獲取分為兩個步驟,第一步為將料斗角點上的點投影到地面上,也即將其世界坐標(biāo)系上的z 值設(shè)置為0,然后向外進(jìn)行擴展并獲取在圖像中的像素坐標(biāo)。
將料斗頂部四個角點投影到地面,得到四個投影點,記這四個投影點在世界坐標(biāo)系下的坐標(biāo)為W1,W2,W3,W4。將這四個投影點均向外擴展ParExt 米,記這四個擴展后的投影點在世界坐標(biāo)系中的坐標(biāo)為P1,P2,P3,P4.
然后將這四個點的世界坐標(biāo),帶入像素坐標(biāo)系與世界坐標(biāo)系的轉(zhuǎn)換公式,得到每個點的像素坐標(biāo)。這四個點依次連接組成的四邊形便是區(qū)域入侵功能所需的入侵區(qū)域。
劃定出警戒區(qū)域后,計算機要識別出警戒區(qū)域內(nèi)的特征物(人和車),從而起到電子圍欄的作用。
目標(biāo)指的是人和車。通過圖像特征檢測的方式檢測出視野范圍內(nèi)的人和車。
使用特征檢測的目的是為了剔除除人和車以外的目標(biāo)引起的誤報警。若不使用特征檢測,而是使用當(dāng)前畫面與背景畫面做對比的方式進(jìn)行目標(biāo)檢測,在作業(yè)過程中,可能會出現(xiàn)由抓斗、云朵影子、物料傾瀉過程中出現(xiàn)的灰塵、門機的影子等引起的誤報。
當(dāng)有既定目標(biāo)(人和車)進(jìn)入或出現(xiàn)在料斗附近區(qū)域內(nèi)時,產(chǎn)生報警信號,以及引起報警的物體在攝像機畫面中的位置、尺寸和類別。具體地,料斗區(qū)域附近是指料斗周邊一定范圍內(nèi)。也即離料斗的距離小于指定參數(shù)ParExt 米的區(qū)域。目前暫定的ParExt 的值為2。
由于本方案采用的是視頻圖像處理的方案,實際報警時,指的是人或車的二維目標(biāo)進(jìn)入或出現(xiàn)在設(shè)定的區(qū)域中。既定目標(biāo)部分進(jìn)入或出現(xiàn)在入侵區(qū)域中也會觸發(fā)報警。進(jìn)入的意思是目標(biāo)由區(qū)域外面進(jìn)入?yún)^(qū)域里,出現(xiàn)指的是初始時刻目標(biāo)便已經(jīng)在區(qū)域里。如圖4所示。
圖4:區(qū)域入侵示意圖
當(dāng)出現(xiàn)入侵報警時,應(yīng)暫停當(dāng)前作業(yè)。以防止事故的發(fā)生。
具體地分為兩種情況。第一種情況是抓斗移動到料斗上方準(zhǔn)備開斗卸料時,此時若存在入侵報警,則不進(jìn)行開斗作業(yè);第二種情況是在開斗作業(yè)過程中,若出現(xiàn)報警,則停止作業(yè)或進(jìn)行其他能夠減少危害的措施。
入侵報警時進(jìn)行開斗作業(yè)可能出現(xiàn)的事故包含:物料濺撒到人的身體上造成傷害,物料濺撒到車輛上對設(shè)備造成損壞,濺撒的物料較多時將人或車輛掩埋等。當(dāng)報警解除時,暫停的散貨的裝卸作業(yè)繼續(xù)進(jìn)行。
通過坐標(biāo)標(biāo)定、坐標(biāo)換算、空間坐標(biāo)生成、料斗盯瞄、警戒區(qū)域生成、目標(biāo)檢測、報警處理等相關(guān)應(yīng)用技術(shù)的聯(lián)系,在黃驊港6#門機自動化項目中研究應(yīng)用,最終有效實現(xiàn)了電子圍欄技術(shù)。電子圍欄技術(shù)對于門機自動化的實現(xiàn)起到了重要的安全性保障,是對自動化項目中節(jié)約人工成本,提升設(shè)備運行效率的關(guān)鍵技術(shù)保障。該研究技術(shù)在其他自動化領(lǐng)域也起到極為關(guān)鍵的作用。