王康富 張 鵬 韓國棟 陸 瑤
武漢理工大學交通與物流工程學院 武漢 430063
在港口散貨碼頭的物料運輸過程中,帶式輸送機具備適應諸如煤炭、糧食和礦石等各種類型和體積的物料運輸需求的能力。帶式輸送機在港口物流系統中起著極為重要的作用,對于提升港口的經濟效益具有重要的意義[1,2]。港口通常會根據物料的體積和質量來制定恰當的運輸設備和方案以確保物料的安全、高效運輸。物料的運輸體積則作為評估港口經濟效益的重要指標[3],直接影響著港口的運輸能力和效率。
帶式輸送機物料體積的傳統測量方法主要有接觸式測量法和非接觸測量法2 種。接觸式測量法需要使用專業儀器直接接觸被測物體,通過直接測量物體的尺寸、形狀、表面紋理等信息。該方法可以得到較準確的深度信息,但可能會損壞被測物體,并且在一些環境復雜的情況下比較困難[4];非接觸測量法通過獲得輸送帶物料表面坐標信息計算物料體積,根據數據集獲取原理分為激光測量法[5]和攝影測量法[6]。傳統的物料體積測量方法具有局限性,難以到達高精度、低成本的要求[7]。機器視覺技術[8]具有成本低、操作簡單、易普及等的優點,雙目視覺技術[9]和三維重建技術是機器視覺領域中的研究熱點,通過視覺算法構建物體的三維模型,實現對物體形狀的直觀展示、尺寸以及表面紋理等信息量化計算。本文擬采用雙目視覺技術結合三維點云重建技術實現對帶式輸送機物料的體積高精度測量[10-12]。
針對現有的接觸式人工測量方法精度低而非接觸式激光測量方法維護成本高、推廣難的問題,本文基于Census 變換進行圖像的立體匹配,利用三角測距原理計算得到三維坐標信息,可視化后得三維重建的點云模型。最后對點云模型信進行分割,提取目標測量區域,并依據測量區域像素坐標對應的實際三維坐標值進行后續的物料體積計算,以達到提高體積計算精度的目的。
如圖1 所示,設左攝像機坐標系O-xyz與世界坐標系重合,原點O即為光心,X1Y1Z1為圖像坐標系,有效焦距為f1,(u01,v01)為像平面中心;O2-x2y2z2為攝像機坐標系,O2X2Y2為右攝像機視平面上的圖像坐標,有效焦距為f2, (u02,v02)為右攝像機像平面中心,攝像機模型均為針孔模型,其變換公式為

圖1 雙立體視覺模型
根據透視投影變換得二者的坐標轉換公式為
設坐標系O-xyz與坐標系O2-x2y2z2的空間位置為
式中:R為2 坐標系的旋轉矩陣,T為2 個坐標系的平移向量。
將式(4)齊次化可得
式(2)和式(3)是2個相互獨立的方程式,通過式(6)可將其聯系起來。可得已知空間任意點P在2 幅圖像中的投影坐標P1P2,即可確定P的位置坐標,故可通過以上方程式聯立求解點P,空間點與攝像機像素點的對應關系為
則有其三維縱坐標的表達式為
即對一般三維模型有
Census 變換[13]首先需要定義一個鄰域窗口,可以為任意大小,通常選擇一個較小的窗口(長為n,寬為m的矩形)。然后對于窗口內的每個像素,將其與窗口中心的像素進行比較。如果該像素的灰度值大于中心像素的灰度值,則將該像素的比特位設為1,否則設置為0。最后將每個像素的比特位串連接起來,生成一個二進制比特串作為該像素的Census 特征。將位字符串的值作為中心像素的Census 變換值(Cs),其表達式為
式中:n′、m′分別為不大于n、m的一半的最大整數,? 為比特位的逐位連接運算。
Census 算法的流程如圖2 所示。鑒于Census 算法采用了非參數變換的匹配代價計算方式,具備減少相機增益帶來的影響、易于硬件實現等諸多優勢。圖3a、圖3b 為左右原圖,基于Census 變換的匹配結果如圖3c 所示,將其與Middlebury 標準測試數據集中真實視差圖3d 比對得到圖像誤匹配率。

圖2 Census 算法的流程

圖3 Census 算法測試視差圖與標準視差圖
根據Middlebury 標準測試數據集視差圖的比對結果,取最為常用的誤差閾值δd=1,評價立體匹配算法性能的視差不連續區域(Disc)誤匹配率和全部區域(All)誤匹配率2 種重要指標的計算結果為5.33%、6.61%??傻闷淇傮w匹配精度為93.39%,具有較高匹配精度。
傳統體積計算原理如圖4 所示,在圖4a 物料表面的點云圖上取3 個點組成一個三角形P1P2P3,將該三角形投影至Z=0 平面上,形成圖4b 所示的三棱柱。具體計算過程為:首先將三維重建得到的點云模型與Z=0 平面進行投影,形成一個閉合的體。然后將投影后的平面進行三角剖分,得到n個三角形,每個三角形與其在Z=0 平面上的投影點組成一個小三棱柱??梢酝ㄟ^式(12)計算每個小三棱柱的體積,然后采用式(13)將所有小三棱柱的體積相加,可得物料的整體體積。體積計算步驟為:

圖4 物料體積計算原理圖
1)根據△P1P2P3頂點二維坐標計算其面積sΔi;
2)取△P1P2P3縱坐標的均值作為三棱柱的高,可得三棱柱體積計算公式為
3)將步驟2)中所有小三棱柱的體積求和,可得物料的整體體積。
由步驟1)可知,傳統的體積計算方法采用三角剖分后每一個小三棱柱底面三角形的縱坐標的平均值作為計算每個小三棱柱體積的高,最后將所有小三棱柱的體積求和得到物料的整體體積??梢娖鋵嶋H上是一種估算方法,具有一定誤差。
針對上述問題,本文基于傳統的投影法[14],將每個像素點的縱坐標值代替傳統三角剖分時三角形縱坐標的平均值作為體積計算的高,是一種精確計算方法,避免了物料體積計算中因坐標計算產生的系統誤差。
首先計算物料點云模型表面每一個像素點的縱坐標值作為體積計算實際的高,進而計算得到每個像素點的像素體積。然后根據像素當量值計算對應的物料實際體積。最后將所有像素值對應的實際體積求和,即可得物料整體的體積。改進后體積計算方法的實施步驟為:
1)基于視差值對測量區域內的每個像素點進行分類。對于每個視差值,統計出測量區域中具有該視差值的像素點個數Ni,然后計算出該視差值下像素點數占整幅圖像素點Q的比值si。該過程表示為
2)物料表面像素點高的計算。雙目相機的安裝位置到輸送帶表面的距離記為e,物料表面像素點高di為
式中:zi為像素點對應的深度值。
將統計的像素點按照視差值分為n類,可得具有相同視差值的像素點的高相等。靜態的物料和空載輸送帶的體積可表示為
式中:w為帶式輸送機的輸送帶寬度,l為雙目相機拍攝輸送帶的長度。
根據前文所述基于Census 變換進行視差計算所得的視差信息、特征點的像素坐標和視差信息,計算歸一化平面上的坐標對應的空間點在相機坐標系下的坐標。將相機坐標系下的坐標轉換為世界坐標系下的坐標,得到場景的三維點云信息,對這些數據進行可視化,生成點云模型。測量區域圖像中各點三維坐標信息的計算過程為:
1)深度信息計算
根據三角測量原理,可得視差信息和深度信息之間的關系
2)三維信息計算
設雙目相機采集的左右圖像中P1(u1,v1)和P2(u2,v2)2 點,利用重投影法的方法將相機坐標系下的坐標轉換為世界坐標系下的坐標。則任意點P(X,Y,Z)的三維坐標通過式計算可得
式中:fx、fy為雙目相機參數,B為相機的基線距離,f為相機焦距,d為視差,Z為深度。
若在雙目相機拍攝的左右圖片中已知2 個對應的點、標定好的雙目相機參數、基線距離和視差,即可計算出所有點的三維信息。
針對計算得到三維信息存在點云不連續和存在噪聲會導致可視化生成的三維點云模型存在較大的誤差問題,本文對物料點云三維模型的獲取流程進行了優化。其具體過程為:1)三維坐標信息的計算;2)測量區域點云分割[15];3)三維坐標信息的批量降噪;4)點云網格化;5)點云三維重建。流程如圖5 所示。

圖5 三維重建流程
在物料體積計算中,利用點云分割的思想提取目標區域。設置參考體積數值,即空載場景體積,利用滿載體積減去空載體積,進而求取堆料的體積。物料體積計算流程如圖6 所示。

圖6 物料體積測量法
試驗系統包括雙目攝像機、PC 電腦、3DMVS 軟件,電子秤,實驗用帶式輸送機。選取煤料一般粒度≤50 mm 的精煤作為試驗物料,其密度ρ=1.3 g/cm3。搭建如圖7 所示的帶式輸送機物料體積計算試驗實驗平臺。

圖7 物料體積計算試驗平臺
為了驗證改進以后的體積計算方法的可行性設計了試驗。將2 個雙目攝像機分別安裝在帶式輸送機轉載點的上層輸送帶與下層輸送帶的上方,采集試驗用的2 組上層空載輸送帶,記為空載場景1、2,左右圖像如圖8a、圖8b 所示,2 組下層空載輸送帶記為空載場景3、4,左右圖像如圖8c、圖8d 所示。

圖8 體積計算試驗空載場景初始圖
在上述試驗用的空載輸送帶相對應的上層輸送帶表面設置2 個煤堆測量場景并記為滿載場景A、B;下層輸送帶設置2 個煤堆測量場景記為滿載場景C、D,共4 個測量場景,如見圖9 所示。

圖9 體積計算試驗滿載場景初始圖
在試驗前,通過人工稱重得4 個煤堆的質量作為前置條件,分別為6 700 g、7 000 g、7 300 g、7 600 g。將圖7 采集的圖像數據集進行預處理,立體匹配,點云可視化可得上層輸送帶與下層輸送帶的4 個空載場景三維點云模型如圖10 所示,4 個滿載場景的三維點云模型如圖11 所示。

圖10 可視化后空載點云模型

圖11 可視化后滿載點云模型
點云分割處理,三維重建,得到上層輸送帶與下層輸送帶的4 個空載場景三維重建模型如圖12 所示,4個滿載場景的三維重建結果如圖13 所示。由圖12、圖13 可得,在進行點云批量降噪處理和點云分割后,目標測量區域更加清晰明確,大大減少了冗余的點云信息,提高了后續三維重建的模型的準確性。

圖12 空載三維重建點云模型

圖13 滿載三維重建點云模型
根據三維重建點云模型并結合式(18)可得煤堆的三維坐標,部分坐標如表1 所示。采用前述傳統的體積測量方法和改進后的體積測量方法分別三維坐標進行體積計算。

表1 三維坐標計算結果

表2 空載體積測量結果 cm3
再根據V物料=V滿載-V空載,計算得到帶式輸送機滿載時物料的實際體積,如表3 所示,為不同場景下,體積計算方法改進前后煤料體積計算結果。根據質量=密度×體積,可計算得到4個場景下改進前后煤料的質量。

表3 滿載體積測量結果 cm3
如表4 所示質量為4 個場景A、B、C、D 使用不同體積計算方法得到的結果,其中改進前的絕對誤差分別為596.31 g、616.06 g、766.57 g、699.23 g;改進后本文的絕對誤差為301.52 g、273.48 g、313.95 g、-319.19 g。

表4 4 個場景質量測量結果和相對誤差
由此可得,改進后的體積計算方法減小了因傳統的估算方法帶來的計算誤差,使計算結果更加準確。將絕對誤差與人工稱重得實際煤料質量對比,可計算得其相對誤差如表4 所示。
表4 所示4 個不同場景下人工稱重、改進前和本文測量結果的相對誤差,數據分別為帶式輸送機轉載點上層輸送帶與下層輸送帶的各2 組雙目滿載圖像。其中,改進前場景A、場景B、場景C 和場景D 的相對誤差分別為8.9%、8.8%、10.5%和9.2%。改進后場景A、場景B、場景C 和場景D 的絕對誤差分別為4.5%、3.9%、4.3%、4.2%。結果顯示,改進前的相對誤差均在8%以上,改進后的相對誤差均低于5%,具有更高的精度。
1)為了解決傳統表面剖分體積測量法精度不足,激光測量法維護成本高且推廣難的問題,本文基于雙目立體視覺技術和三維重建技術,將每一個像素點的縱坐標值代替傳統三角剖分時三角形縱坐標的平均值作為體積計算的高,實現了帶式輸送機物料的非接觸體積高精度測量。體積測量相對誤差在5%以下,可見該改進計算方法具有一定的可行性和實用價值。
2)為了解決帶式輸送機物料體積計算時點云模型存在噪聲、三維信息存在因點云不連續而導致可視化生成的三維點云模型存在較大誤差的問題,本文分割了測量區域的三維點云模型,對三維坐標信息進行了批量降噪,并將點云網格化,提升了后續三維重建模型的準確性。