戴 波,安海洋,3,劉學(xué)君,周澤彧,3,李雁飛
(1.北京石油化工學(xué)院 信息工程學(xué)院,北京 102617;2.北京石油化工學(xué)院 機械工程學(xué)院,北京 102617; 3.北京化工大學(xué) 信息科學(xué)與技術(shù)學(xué)院,北京 100029)
?;放c普通貨物的化學(xué)性質(zhì)存在較大差異[1],在倉儲方面,我國大部分?;穫}庫采用堆垛碼放的方式貯存,為避免堆放過密而引發(fā)安全事故,《常用危險化學(xué)品貯存通則》對堆垛的堆距、墻距、頂距、柱距和通道距等安全距離(五距)提出了嚴(yán)格要求。但是國內(nèi)大多數(shù)倉庫對堆垛五距缺乏有效的自動化監(jiān)察手段[2-3],并且安監(jiān)部門難以進(jìn)行實時的監(jiān)督管理[4]。要實現(xiàn)對五距的監(jiān)管,查看堆垛的實時3D貯存狀態(tài)最為直觀。采用單目視覺技術(shù)對?;范讯膺M(jìn)行精準(zhǔn)定位和三維幾何重建,可以達(dá)到監(jiān)管要求。但是該技術(shù)也存在一定難點,三維重建是成像的逆過程,其求解過程是非線性的,存在多解情況,且易受噪聲干擾[5]。單目視覺技術(shù)通過單個攝像頭獲取圖像進(jìn)行三維重建,相比于雙目視覺和多目視覺,它避免了因圖像匹配帶來的技術(shù)難點,但是因單張圖像缺少深度等信息而增加了重建難度[6]。而實現(xiàn)三維重建首要解決的是相機標(biāo)定問題。
相機標(biāo)定方法主要有3種:傳統(tǒng)標(biāo)定方法、自標(biāo)定方法和基于主動視覺的標(biāo)定方法[7]。傳統(tǒng)標(biāo)定方法典型代表有直線線性變換法(DLT)[8-9],迭代法[10],簡易標(biāo)定方法[11-13]等.其優(yōu)點是適用任意攝像機模型,標(biāo)定精度高,不足是標(biāo)定過程復(fù)雜,需要高精度的標(biāo)定塊,在實際應(yīng)用中較難實現(xiàn)。自標(biāo)定方法最初由Faugeras和Maybank提出[14]。該方法僅依靠多幅圖像對應(yīng)點之間的關(guān)系直接進(jìn)行標(biāo)定,靈活性強,應(yīng)用范圍廣泛,但是其最大不足是魯棒性差[15-16],并且需要求解Kruppa方程來獲得攝像機內(nèi)參數(shù)[17],相對困難。一般用于精度要求不高的場合?;趥鹘y(tǒng)標(biāo)定法和自標(biāo)定法的局限性,有人提出了基于主動視覺的攝像機標(biāo)定方法[18]。典型代表為馬頌德提出的三正交平移運動算法[19]。在馬頌德的基礎(chǔ)上,胡釗政[20]提出了一種三維結(jié)構(gòu)恢復(fù)和直接歐式重建算法,相機僅需作一組三正交平移運動即可,降低了約束條件。
這些經(jīng)典的標(biāo)定算法在實現(xiàn)過程中均相對復(fù)雜,如需要精準(zhǔn)標(biāo)定塊、標(biāo)定板作參考,或者需要相機以特定的方式運動獲取多幅圖片進(jìn)行匹配對比等。由于投影矩陣需要求解的未知參數(shù)較多,在算法實現(xiàn)上也存在不小的運算量。在立方體幾何三維重建問題上,文獻(xiàn)[21]通過單攝像機在2次不同焦距情況下對同一物體拍攝圖像,根據(jù)2幅圖像同一特征點不同的像素坐標(biāo)結(jié)合當(dāng)前的相機焦距等信息推算該點的世界坐標(biāo),實現(xiàn)了物體的幾何重建,但前提需要已知精準(zhǔn)的相機焦距參數(shù)。文獻(xiàn)[22]利用最小二乘法實現(xiàn)攝像機的標(biāo)定,直接通過地磚的角點做參考標(biāo)定相機參數(shù),但是結(jié)果易受相機高度和俯仰角的影響,魯棒性較差。文獻(xiàn)[23]將針孔模型應(yīng)用在視覺測距中,通過相似三角形原理,測算目標(biāo)物與相機的一維距離,無需已知相機的內(nèi)參數(shù),但是相機俯仰角對測算結(jié)果影響很大,且不易精確測量。文獻(xiàn)[24]提出一種投射點幾何轉(zhuǎn)換的方法測算物體的高度,與測距原理類似,測算結(jié)果對相機角度參數(shù)要求較高,且該方法依靠被測物先驗知識僅能實現(xiàn)一個維度的測量。文獻(xiàn)[25]提出一種利用滅點幾何原理實現(xiàn)規(guī)則物體的三維重建,但是僅能對平行邊緣物體進(jìn)行重建且需已知相機焦距參數(shù)。
在危化品倉儲應(yīng)用中,繁瑣的相機標(biāo)定過程顯然不符實際應(yīng)用需求,因為相機使用中可能會隨時改變一些參數(shù),并且相機往往固定在倉庫角落不會移動。需要一種簡單可行的方法快速確定相機參數(shù)實現(xiàn)視覺定位和三維重建,同時要求測算得到的相機參數(shù)有較強的魯棒性。本文首先構(gòu)建了單目視覺三維投影模型,提出了一種依托環(huán)境中標(biāo)識點與其像點對應(yīng)關(guān)系的相機標(biāo)定方法。該方法僅需已知攝像機的三維坐標(biāo)即可,無需測算相機內(nèi)參數(shù)和空間角度等難以精確得到的信息,可得到投影模型的參數(shù),簡化了傳統(tǒng)標(biāo)定過程且保證了較高精度。三維幾何重建過程是相機參數(shù)標(biāo)定的線性逆運算,由得到的參數(shù)作為基礎(chǔ)條件首先求取堆垛在空間的特殊解,即實現(xiàn)射影重建,再根據(jù)箱體幾何結(jié)構(gòu)屬性作為約束,最終實現(xiàn)歐式意義下的三維幾何重建。由此重建的結(jié)果客觀上對標(biāo)定算法的易用性和精確性進(jìn)行了驗證。
三維空間中每個成像范圍內(nèi)的物點信息都與其像點信息存在對應(yīng)關(guān)系,這種對應(yīng)關(guān)系由攝像機成像的幾何模型決定。傳統(tǒng)的成像模型一般以針孔模型作為研究,基于該模型有學(xué)者定義了4種坐標(biāo)系[26]的數(shù)學(xué)轉(zhuǎn)換實例化,存在如下關(guān)系[27]:
(1)
由式1可以得出結(jié)論:在矩陣M確定的情況下,由圖像上像點坐標(biāo)不能唯一確定其物點在世界坐標(biāo)系下的實際坐標(biāo),但可以確定其三維坐標(biāo)解空間,結(jié)合其他約束條件,即可確定唯一解。由此分析,實現(xiàn)三維幾何重建的前提是確定投影矩陣M,但是矩陣M未知元素較多,需要至少6個物點與像點的對應(yīng)關(guān)系才可求解,計算過程復(fù)雜。為此本文構(gòu)建了單目視覺成像模型來建立世界坐標(biāo)與像素坐標(biāo)的線性關(guān)系,摒棄了繁瑣的矩陣變換過程,大大簡化了標(biāo)定過程。
考慮到?;穫}庫應(yīng)用中的客觀約束條件,首先做出以下說明:相機位置固定(光心坐標(biāo)不變);實驗中堆垛貨物為規(guī)則長方體;標(biāo)識點、線均設(shè)于地平面(z=0)上(實際環(huán)境中處于墻面、柱子等標(biāo)識點、線可換算地平面上)。
在單目視覺測距模型的基礎(chǔ)上,構(gòu)建了五元組單目視覺成像模型:
圖1 單目視覺成像模型Fig.1 Monocular vision imaging model
如圖1所示,該投影模型由一個五元組參數(shù)(P,γ,θ,α,β)來表示,P為攝像機光心坐標(biāo),P′為P點在地面上的垂直投影,PO為P點在地面上成像投影,C為主光軸與地面的交點,與點P,PO組成的平面為投影模型對稱面;γ為相機俯視角;θ為相機水平偏向角;2α,2β分別記為相機水平、垂直方向視野張角。D1D2D3D4為相機在地平面上可視區(qū)域;記四邊形D1D2D5D6為相機成像平面。點C′為點C在像平面的像點,位于圖像中心位置。
將圖1中的成像平面D1D2D5D6展開出來如圖2所示:
圖2 單目視覺成像平面Fig.2 Imaging plane of monocular vision
圖3 單目視覺投影模型俯視圖Fig.3 Top view of imaging model
(2)
(3)
同時可求得攝像機水平偏向角:
θ=φ1+θ1
(4)
圖4 單目視覺投影模型側(cè)視圖Fig.4 Side view of imaging model
(5)
(6)
在求解相機參數(shù)α,β,γ和θ過程中,首先要已知攝像機空間坐標(biāo)P(xP,yP,zP)和P點在z=0平面上的成像投影PO(x0,y0),并且兩點坐標(biāo)滿足關(guān)系:
(7)
在實驗條件中僅事先已知P=(xP,yP,zP),PO無法測得。而在求出γ和θ之前,PO=(x0,y0)無從得知。為此,首先通過循環(huán)迭代方式確定PO點位置:a.初始PO的坐標(biāo)為P’的坐標(biāo),即 (x0,y0)?(xP,yP);b.通過投影模型計算得到攝像機參數(shù)γ和θ;c.由(7)式得到新的PO坐標(biāo),并與上一次PO坐標(biāo)進(jìn)行對比,若距離小于某個閾值,則認(rèn)為確定PO點,否則繼續(xù)進(jìn)行a,b步驟。
由此,攝像機參數(shù)α,β,γ和θ均以求得,相機標(biāo)定過程結(jié)束。
將圖像上的二維信息還原至空間三維信息是多解問題。故首先依據(jù)視覺投影模型求出1個特殊解,實現(xiàn)投影重建;再根據(jù)箱體為長方體的幾何屬性作約束條件求取真實解進(jìn)而實現(xiàn)歐式空間下三維幾何重建。
(8)
在實驗室環(huán)境下搭建?;穫}儲模擬環(huán)境,并設(shè)立空間直角坐標(biāo)系:
圖5 模擬倉儲環(huán)境Fig.5 Simulated storage environment
經(jīng)上述迭代運算求得了點PO坐標(biāo):PO=(0.046,0.037),和各模型參數(shù):α=24.34,β=24.42,γ=49.45,θ=39.88。根據(jù)(8)式將貨物箱體角點A~G的像素坐標(biāo)還原至三維空間z=0平面上,得到特殊解見表2。
表1 求取PO迭代的誤差
表2 特征點坐標(biāo)還原情況
圖6 單個箱體三維幾何重建效果Fig.6 3D reconstruction results of single stack
圖7 各頂點重建值與真實值誤差Fig.7 Error of reconstruction value & actual value
(9)
表3 三維重建結(jié)果與實際值對比
為直觀對比幾何重建效果,繪出三維坐標(biāo)圖及各頂點誤差曲線,如圖9、圖10所示。
由圖9、圖10容易看出,三維幾何重建后的箱體角點坐標(biāo)情況基本上與實際情況重合,各頂點坐標(biāo)重建值和真實值的誤差距離普遍在20 mm以內(nèi),效果理想。
圖8 不同時期下的堆垛狀態(tài)Fig.8 Stacking state at different times
圖9 多個堆垛三維幾何重建效果Fig.9 3D reconstruction results of multiple stacks
上節(jié)實現(xiàn)了單個貨物箱體的三維幾何重建,為驗證標(biāo)定所得相機參數(shù)能夠?qū)μ幱趫D像內(nèi)各個區(qū)域的堆垛均有較精確的三維重建效果,本節(jié)通過對多個堆垛進(jìn)行三維幾何重建予以驗證。
在存放多個貨物堆垛情況下,堆垛之間存在相互遮擋情況,圖像中不能獲得被部分遮擋或全遮擋的貨物完整角點信息,將無法實現(xiàn)其三維幾何重建。對此,采用動態(tài)實時監(jiān)測的方式,分時段三維重建。在庫房空置的情況下,根據(jù)提出的算法對相機參數(shù)進(jìn)行標(biāo)定,然后在貨物存放于倉庫時,對當(dāng)前完整角點信息貨物堆垛進(jìn)行三維重建,以此累加計算,具體實驗如下:
在實驗室環(huán)境下構(gòu)建范圍3.6 m×3.6 m×1.2 m模擬?;穫}庫,首先求得點PO=(0.184 , -0.496 ),同時得到模型參數(shù):α=23.88,β=24.99,γ=47.50,θ=55.21。圖8為不同時期的堆垛情況,在每個時段對新增的當(dāng)前貨物堆垛進(jìn)行三維幾何重建。在時期1時,對1號堆垛進(jìn)行三維重建,時期2時對2號堆垛三維重建,以此類推,直接給出三維幾何重建結(jié)果計算結(jié)果,見表5(篇幅所限,不列出實際坐標(biāo)信息)。
對比三維幾何重建的效果,如圖9和圖10。
圖10 多堆垛特征點重建值和真實值誤差Fig.10 Errors of reconstruction value & actual value
堆垛編號角點編號1234A(1.519,1.913,0.452)(1.511,1.267,0.450)(1.000,1.910,0.310)(0.992,1.259,0.315)B(1.519,1.913,0)(1.511,1.267,0)(1.000,1.910,0)(0.992,1.259,0)C(1.514,1.450,0.452)(1.506,0.787,0.450)(1.000,1.444,0.310)(0.989,0.781,0.315)D(1.514,1.450,0)(1.506,0.787,0)(1.000,1.444,0)(0.989,0.781,0)E(1.880,1.449,0.452)(1.876,0.787,0.450)(1.377,1.447,0.310)(1.360,0.784,0.315)F(1.880,1.449,0)(1.876,0.787,0)(1.377,1.447,0)(1.360,0.784,0)G(1.880,1.912,0.452)(1.881,1.266,0.450)(1.378,1.911,0.310)(1.364,1.263,0.315)H(1.886,1.912,0)(1.881,1.266,0)(1.378,1.911,0)(1.364,1.263,0)
由圖9和圖10可見,對多個堆垛箱體進(jìn)行三維幾何重建,重建效果與實際情況基本吻合,誤差普遍在40 mm范圍內(nèi),相對于堆垛間距和自身尺寸而言,影響基本可以忽略。由此也驗證了標(biāo)定得到參數(shù)對圖像上不同位置的堆垛均有很好的還原效果,客觀驗證了標(biāo)定算法的精確性。
結(jié)合實驗過程,分析誤差原因有以下幾點:測量上的人為誤差,包括攝像機光心空間坐標(biāo),堆垛箱體實際位置;攝像機自身的誤差,實際成像不完全符合小孔成像模型,鏡頭存在畸變或光心偏離中心等;圖像特征提取的誤差,所得角點坐標(biāo)信息受到圖像噪聲等干擾造成精度下降等。
1)構(gòu)建了五元組單目視覺成像模型來詮釋物點與像點之間的對應(yīng)關(guān)系,避免了因繁瑣的坐標(biāo)系變換過程而造成的標(biāo)定困難問題。
2)提出一種通過識別標(biāo)識點求解相機參數(shù)的方法,該方法無需已知相機內(nèi)參數(shù)且標(biāo)定結(jié)果具有較強的魯棒性,同時因為僅需攝像機空間位置及2個標(biāo)識點的對應(yīng)關(guān)系就可實現(xiàn)標(biāo)定,所以更易于現(xiàn)場實現(xiàn)。
3)采用特征點坐標(biāo)還原的方式實現(xiàn)了堆垛的三維幾何重建,不僅還原了堆垛尺寸信息,同時也確定了其在空間的擺放位置,實現(xiàn)堆垛貯存狀態(tài)場景的復(fù)原。三維重建的效果也間接驗證了本文標(biāo)定算法的精確性。
[1]LIU J N, Chen T, FAN D L, et al. Ranking and screening hazardous chemicals for human health in southeast China[J]. Organic Chemistry Current Research, 2014, 3(126): 2161-0401.
[2]柴保身. 我國危險品倉儲業(yè)發(fā)展現(xiàn)狀與展望[J]. 物流工程與管理,2009(12):19-23.
CHAI Baoshen. Present situation and prospect of China's dangerous goods storage industry[J].Logistics Engineering and Management, 2009(12):19-23.
[3]汪濤. 探究當(dāng)前危化品企業(yè)存在的安全問題和對策[J]. 科技風(fēng),2015(19):273.
WANG Tao. Study on the safety problems and countermeasures of the current hazardous chemicals enterprises[J]. Technology Wind,2015(19):273.
[4]范祥,葉春明,仝偉亮. 新形勢下我國?;穫}儲安全問題研究[J]. 物流科技,2016(10):148-151.
FAN Xiang, YE Chunming , TONG Weiliang. Study on the storage security of dangerous goods in China under the new situation[J]. Logistics Sci-Tech,2016(10):148-151.
[5]陳澤志. 由非定標(biāo)圖像序列重建和測量三維物體[D].西安:西安電子科技大學(xué),2002.
[6]張利. 基于單目視覺和雙目視覺的圖像三維重建技術(shù)研究[D].蘭州:蘭州理工大學(xué),2014.
[7]邱茂林,馬頌德,李毅. 計算機視覺中攝像機定標(biāo)綜述[J]. 自動化學(xué)報,2000(1):47-59.
QIU Maolin, MA Songde, LI Yi. Overview of camera calibration for computer vision[J]. Acta Automatica Sinica,2000(1):47-59.
[8]Abdel-Aziz Y I. Direct linear transformation from comparator coordinates in close-range photogrammetry[A]// Asp Symposium on Close-Range Photogrammetry in Illinois[C]. 1971(1):1-18
[9]Faugeras O D,Toseani G. The calibration problem for stereo. In: Proc IEEE Conference on Computer Vision and Pattern Recognition, Miami Beach, Florida, 1986: 15-20
[10]Weng J Y, Cohen P, Herniou M. Camera calibration with distortion model and accuracy evaluation[J]. IEEE Trans Pattern Analysis and Machine Intelligence, 1992, 14(10): 965-980
[11]Zhang Z Y. Flexible camera calibration by viewing a plane from unknown orientations. In: Proc International Conference on Computer Vision, Kerkyra, Greece,1999: 666-673
[12]Meng X Q, Li H, Hu Z Y. A new easy camera calibration technique based on circular Points. In: Proc the 11th British Machine Vision Conference, Bristol, United Kindom, 2000: 496-505
[13]王曉華,傅衛(wèi)平.一種改進(jìn)的攝像機標(biāo)定方法[J]. 東北林業(yè)大學(xué)學(xué)報,2007,35(6):51-53.
WANG Xiaohua, FU Weiping. A new approach for camera calibration[J]. Journal of Northeast Forestry University, 2007,35(6):51-53.
[14]Maybank Stephen J, Faugeras Olivier D. Theory of Self-calibration of a Moving Camera[J]. International Journal of Computer Vision, 1998, 8(2): 123-151.
[15]Hartley R, Hayman E, de Agapito L, et al. Camera calibration and the search for infinity[A]. In: Proc the 7th International Conference on Computer Vision[C]. Kerkyra, Greece, 1999: 510-517
[16]雷成,吳福朝,胡占義. Kruppa方程與攝像機自標(biāo)定[J]. 自動化學(xué)報,2001(5):621-630.
LEI Cheng, WU Fuchao, HU Zhanyi. Kruppa equations and camera self-calibration[J]. Acta Automatica Sinica, 2001(5):621-630.
[17]張濤. 基于單目視覺的三維重建[D].西安:西安電子科技大學(xué),2014.
[18]胡占義,吳福朝. 基于主動視覺攝像機標(biāo)定方法[J]. 計算機學(xué)報,2002(11):1149-1156.
HU Zhanyi, WU Fuchao. A review on some active vision based camera calibration techniques[J]. Chinese Journal of Computers, 2002(11):1149-1156.
[19]Ma S D.A self-calibration technique for active vision system[J]. IEEE Trans Robot Automation, 1996, 12(1):114-120
[20]胡釗政,談?wù)? 一種基于主動視覺的三維結(jié)構(gòu)恢復(fù)和直接歐氏重建算法[J]. 自動化學(xué)報,2007(5):494-499.
HU Zhaozheng, TAN Zheng. A novel algorithm for 3D structure recovery and direct euclidean reconstruction using active vision[J]. Acta Automatica Sinica, 2007(5):494-499.
[21]趙萌. 基于單攝像機的三維幾何重建方法研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2009.
[22]李然. 基于單目視覺的室內(nèi)環(huán)境三維重構(gòu)研究[D].長春:吉林大學(xué),2007.
[23]鞠升輝. 基于單目視覺的移動機器人室內(nèi)定位與運動目標(biāo)跟蹤[D].天津:天津理工大學(xué),2016.
[24]屈姍姍,陳瀟,吳曉紅,等. 基于單目視覺測距的測高測面積方法[J]. 科學(xué)技術(shù)與工程,2016(2):224-228.
QU Shanshan, CHEN Xiao,WU Xiaohong,et al. A method for measuring the height and area based on distance estimation of monocular vision[J]. Science Technology and Engineering, 2016(2):224-228.
[25]馮強. 一種利用單張影像進(jìn)行規(guī)則物體三維重建的方法[J]. 測繪與空間地理信息,2016(10):154-156.
FENG Qiang. 3D reconstruction based on vanishing point principle from a single image[J]. Geomatics & Spatial Information Technology, 2016(10):154-156.
[26]馬頌德,張正友.計算機視覺—計算理論與算法基礎(chǔ)[M].北京:科學(xué)出版社,1998.
[27]馮春. 基于單目視覺的目標(biāo)識別與定位研究[D].南京:南京航空航天大學(xué),2013.