李和平,王 源,趙章焰,魯恩順
(武漢理工大學(xué)物流工程學(xué)院,湖北 武漢 430063)
港口起重機(jī)械作為一種工作環(huán)境惡劣的大型工程機(jī)械,其安全狀態(tài)評(píng)估一直受到人們的關(guān)注[1]。港口起重機(jī)械在工作過(guò)程中大梁、立柱等關(guān)鍵部位的變形一直是安全評(píng)估的重點(diǎn)[2]。目前能夠測(cè)量港口起重機(jī)械關(guān)鍵部位形變的方法主要有:布設(shè)傳感器[3]、全站儀測(cè)量[4]、激光掃描。其中,布設(shè)傳感器是目前最常用的方法,但該方法需要人工操作,工作量大,測(cè)量過(guò)程中操作人員的人身安全得不到保障;全站儀測(cè)量和激光掃描完成一次對(duì)港口起重機(jī)械整機(jī)的測(cè)量所需的時(shí)間周期長(zhǎng),成本高。
隨著拍攝技術(shù)的進(jìn)步,基于普通數(shù)碼相機(jī)的近景攝影測(cè)量技術(shù)在工程測(cè)量領(lǐng)域的應(yīng)用更加廣泛[5-6]。而將攝影測(cè)量技術(shù)應(yīng)用到港口起重機(jī)械的測(cè)量領(lǐng)域面臨著兩個(gè)重大的問(wèn)題:(1)港口起重機(jī)械體型較大,而普通數(shù)碼相機(jī)視場(chǎng)角較小,受限于設(shè)站位置,往往只能拍攝到港口起重機(jī)械的一部分結(jié)構(gòu),需要多次設(shè)站拍照;(2)現(xiàn)有攝影測(cè)量算法必須在港口起重機(jī)械周?chē)荚O(shè)一定數(shù)量的控制點(diǎn)[7],從而確定拍攝時(shí)像片的外方位元素Xs,Ys,Zs,φ,ω,κ,其中Xs,Ys,Zs為相機(jī)攝影中心在物方空間坐標(biāo)系的三維坐標(biāo),φ,ω,κ是攝影光束的轉(zhuǎn)角[7]。
為了解決以上問(wèn)題,提出基于系統(tǒng)自標(biāo)定的旋轉(zhuǎn)攝影測(cè)量方法。將相機(jī)和旋轉(zhuǎn)平臺(tái)連接,旋轉(zhuǎn)平臺(tái)可以實(shí)現(xiàn)繞豎直方向旋轉(zhuǎn)和水平方向的俯仰,單次設(shè)站即對(duì)港口起重機(jī)械整機(jī)拍攝;旋轉(zhuǎn)平臺(tái)下布置水平滑軌,無(wú)需移動(dòng)整個(gè)平臺(tái),即可在兩個(gè)不同的位置完成對(duì)待測(cè)物體的拍攝;在港口進(jìn)行拍攝之前借助已知模型確定相機(jī)的回轉(zhuǎn)參數(shù),在實(shí)驗(yàn)中記錄相機(jī)旋轉(zhuǎn)的角度,實(shí)時(shí)求解相機(jī)在空間中的位置和姿態(tài),實(shí)現(xiàn)系統(tǒng)的自標(biāo)定,無(wú)需在港口起重機(jī)械上設(shè)置控制點(diǎn)。
相機(jī)坐標(biāo)變換示意圖,如圖1所示。坐標(biāo)系O-XYZ為物方空間坐標(biāo)系,即世界坐標(biāo)系。坐標(biāo)系A(chǔ)-XAYAZA為旋轉(zhuǎn)平臺(tái)的機(jī)器坐標(biāo)系,YA軸和ZA軸為初始狀態(tài)下旋轉(zhuǎn)平臺(tái)的兩個(gè)旋轉(zhuǎn)軸。坐標(biāo)系S-XsYsZs是以相機(jī)投影中心為原點(diǎn)建立的坐標(biāo)系。
旋轉(zhuǎn)平臺(tái)下連接有水平滑軌,相機(jī)旋轉(zhuǎn)過(guò)程水平滑軌保持靜止,初始狀態(tài)下旋轉(zhuǎn)平臺(tái)YA軸的指向和滑軌的方向相同,原點(diǎn)A為兩個(gè)旋轉(zhuǎn)軸的交點(diǎn)。相機(jī)在旋轉(zhuǎn)平臺(tái)上的安裝示意圖,如圖2所示。ZA軸為豎直方向,YA軸為水平方向。相機(jī)繞YA軸俯仰,繞ZA軸周向旋轉(zhuǎn),當(dāng)相機(jī)繞YA軸旋轉(zhuǎn)時(shí),旋轉(zhuǎn)平臺(tái)ZA軸保持靜止;當(dāng)相機(jī)繞ZA軸旋轉(zhuǎn)時(shí),旋轉(zhuǎn)平臺(tái)YA軸也隨之旋轉(zhuǎn)。
圖2 相機(jī)安裝示意圖Fig.2 Camera Installation Diagram
正式拍攝之前需在實(shí)驗(yàn)室內(nèi)進(jìn)行系統(tǒng)的自標(biāo)定,確定相機(jī)的回轉(zhuǎn)參數(shù)。先在初始狀態(tài)拍攝標(biāo)定模型,記錄相機(jī)初始狀態(tài);繞ZA軸旋轉(zhuǎn)拍攝標(biāo)定模型,取三張照片,回歸初始狀態(tài);然后繞YA軸旋轉(zhuǎn)拍攝標(biāo)定模型,取三張照片,回歸初始狀態(tài)。標(biāo)定模型上設(shè)置四個(gè)已知點(diǎn),根據(jù)共線(xiàn)條件方程[8],式(1),式(2),進(jìn)行后方交會(huì)[9]可以解算出每張像片的外方位元素,即拍攝時(shí)相機(jī)在物方空間坐標(biāo)系中的位置和姿態(tài)。
式中:x,y,-f—像點(diǎn)在像空間坐標(biāo)系中的坐標(biāo),x0,y0—像主點(diǎn)的坐標(biāo),f—相機(jī)的焦距;(Xs,Ys,Zs)—攝影中心在物方空間坐標(biāo)中的坐標(biāo),(X,Y,Z)—測(cè)量點(diǎn)在物方空間坐標(biāo)中的坐標(biāo),ai,bi,ci—像片三個(gè)外方位角組成的九個(gè)方向余弦[9]。
根據(jù)上述公式,可以得到相機(jī)在繞單個(gè)軸旋轉(zhuǎn)過(guò)程中投影中心的三個(gè)位置在物方空間坐標(biāo)系的三維坐標(biāo)(x1,y1,z1),(x2,y2,z2),(x3,y3,z3),以及初始狀態(tài)時(shí)在空間中位置S(xs,ys,zs)。三個(gè)點(diǎn)的坐標(biāo)可確定一個(gè)圓,圓心O(x0,y0,z0)為相機(jī)旋轉(zhuǎn)中心,圓的半徑R是相機(jī)的旋轉(zhuǎn)半徑,如式(3)所示:
三個(gè)空間點(diǎn)可確定一個(gè)平面,平面方程如式(4):
根據(jù)平面的方程,可求得該平面的法向量f=(x1,y1,z1),即為旋轉(zhuǎn)軸指向的方向。
根據(jù)上述公式,可求得初始狀態(tài)下相機(jī)繞ZA軸回轉(zhuǎn)的法向量fz=(xz,yz,zz),為旋轉(zhuǎn)軸ZA指向的方向,旋轉(zhuǎn)中心Oz(xz,yz,zz),旋轉(zhuǎn)半徑Rz;繞YA軸回轉(zhuǎn)的法向量fy=(xy,yy,zy),為旋轉(zhuǎn)軸YA指向的方向,旋轉(zhuǎn)中心Oy(xy,yy,zy),旋轉(zhuǎn)半徑Ry。根據(jù)兩個(gè)法向量可求出旋轉(zhuǎn)軸XA指向的方向fx=(xx,yx,zx)。
由于相機(jī)的安裝和制造誤差,相機(jī)不可能完全對(duì)心安裝。在相機(jī)繞ZA軸旋轉(zhuǎn)所確定的平面上,相機(jī)初始位置S和旋轉(zhuǎn)中心Oz所組成的向量OzS的長(zhǎng)度為旋轉(zhuǎn)半徑Rz,在fx和fy方向的投影分別為L(zhǎng)y,Lx:
同理,可求得相機(jī)繞YA軸旋轉(zhuǎn)所確定的平面上,相機(jī)初始位置S和旋轉(zhuǎn)中心Oy所組成的向量OyS的長(zhǎng)度為旋轉(zhuǎn)半徑Ry,在fz方向的投影為L(zhǎng)z:
實(shí)驗(yàn)室自標(biāo)定完成后,即可確定初始狀態(tài)下相機(jī)投影中心和旋轉(zhuǎn)平臺(tái)的相對(duì)位置關(guān)系,以及相機(jī)旋轉(zhuǎn)過(guò)程中的旋轉(zhuǎn)參數(shù)。實(shí)際拍攝時(shí),相機(jī)固定在初始位置。相機(jī)的旋轉(zhuǎn)半徑Ry、Rz,以及初始位置的投影Lx、Ly、Lz保持不變。
在實(shí)驗(yàn)室完成相機(jī)自標(biāo)定后進(jìn)行實(shí)際測(cè)量。保證相機(jī)固定在旋轉(zhuǎn)平臺(tái)上的初始位置,記錄此時(shí)旋轉(zhuǎn)平臺(tái)的兩個(gè)旋轉(zhuǎn)軸ZA和YA的初始角度αLz和αLy,先繞YA軸進(jìn)行旋轉(zhuǎn),記錄此時(shí)角度βLy,再繞ZA軸旋轉(zhuǎn),直至相機(jī)對(duì)準(zhǔn)待測(cè)物體,記錄此時(shí)角度βLz,拍攝照片,此時(shí)的照片命名為左片。然后回歸初始狀態(tài),保持相機(jī)和回轉(zhuǎn)中心相對(duì)固定,將相機(jī)和旋轉(zhuǎn)平臺(tái)整體沿水平滑軌移動(dòng)一定的距離,重復(fù)上述過(guò)程直至相機(jī)對(duì)準(zhǔn)待測(cè)物體,此時(shí)照片命名為右片。運(yùn)用旋轉(zhuǎn)矩陣解算出左片、右片兩張像片的外方位元素[10],雙片前方交會(huì)即可確定待測(cè)點(diǎn)的坐標(biāo)。
在機(jī)器坐標(biāo)系A(chǔ)-XAYAZA中,相機(jī)初始位置為S0(xs,ys,zs)。以S0為原點(diǎn),分別以fx,fy,fz方向作為X,Y,Z三條坐標(biāo)軸的方向建立三維坐標(biāo)系S-XsYsZs。
坐標(biāo)系S-XsYsZs和坐標(biāo)系A(chǔ)-XAYAZA存在如下關(guān)系:
相機(jī)在坐標(biāo)系A(chǔ)-XAYAZA中繞YA軸和ZA軸旋轉(zhuǎn),因YA軸會(huì)隨ZA軸旋轉(zhuǎn),故先計(jì)算繞YA軸的旋轉(zhuǎn)。旋轉(zhuǎn)過(guò)程中角度的變化量下:
設(shè)相機(jī)繞YA軸旋轉(zhuǎn)之后在坐標(biāo)系A(chǔ)-XAYAZA的坐標(biāo)為S1(x1,y1,z1)。點(diǎn)S0和S1滿(mǎn)足關(guān)系式(11)。
設(shè)相機(jī)拍攝左方照片時(shí)的坐標(biāo)為S2(x2,y2,z2),則有:
解算出左方像片拍攝時(shí)的三維坐標(biāo)之后,根據(jù)式3-1換算到坐標(biāo)系S-XsYsZs中,由于相機(jī)旋轉(zhuǎn)角已知,則在坐標(biāo)系S-XsYsZs中左方像片所有的外方位元素都已求解出。
左方像片拍攝完成后將旋轉(zhuǎn)平臺(tái)和相機(jī)恢復(fù)初始狀態(tài),沿水平滑軌移動(dòng)到右方像片拍攝位置,解算出右方像片拍攝時(shí)相機(jī)投影中心的三維坐標(biāo)S3(x3,y3,z3),將S3的坐標(biāo)換算到左方照片拍攝時(shí)的坐標(biāo)系S-XsYsZs中,則在坐標(biāo)系S-XsYsZs中右方照片所有的外方位元素都已求解出。該方法無(wú)需在被測(cè)物體上布置控制點(diǎn),實(shí)現(xiàn)了系統(tǒng)的自標(biāo)定,解決了在港口起重機(jī)械上無(wú)法布置控制點(diǎn)的問(wèn)題。同時(shí),由于相機(jī)可以在平臺(tái)上平移和旋轉(zhuǎn)來(lái)拍攝,避免了相機(jī)視場(chǎng)角的問(wèn)題。
試驗(yàn)所選擇的相機(jī)型號(hào)為佳能EOS 5DS,分辨率8688×5792,搭配的鏡頭型號(hào)為EF 50mm f/1.8 STM。
試驗(yàn)所采用的相機(jī)標(biāo)定方法是MATLAB提供的Camera Calibrator工具箱。標(biāo)定過(guò)程,如圖3所示。
圖3 相機(jī)標(biāo)定過(guò)程Fig.3 Camera Calibration Process
經(jīng)過(guò)計(jì)算,得到相機(jī)的標(biāo)定參數(shù),如表1所示。
表1 相機(jī)標(biāo)定參數(shù)Tab.1 Results of the Calibration
實(shí)驗(yàn)流程,如圖4所示。
圖4 實(shí)驗(yàn)流程Fig.4 Experiment Process
自標(biāo)定所用模型,如圖5所示。本次實(shí)驗(yàn)采用的模型為黑、白兩色的立方體,黑色立方體邊長(zhǎng)為100mm,白色立方體邊長(zhǎng)為50mm,圖中點(diǎn)1、點(diǎn)2、點(diǎn)3、點(diǎn)4為自標(biāo)定過(guò)程中的4個(gè)控制點(diǎn)。
圖5 自標(biāo)定模型Fig.5 Self-Calibration Model
自標(biāo)定完成后保持相機(jī)、旋轉(zhuǎn)平臺(tái)和水平滑軌的相對(duì)位置不變,移動(dòng)整體以拍攝待測(cè)物體。拍攝狀態(tài),如圖6所示。實(shí)驗(yàn)設(shè)備,如圖7所示。
圖6 相機(jī)拍攝狀態(tài)Fig.6 Camera Shooting Process
圖7 實(shí)驗(yàn)設(shè)備Fig.7 Experimental Equipment for Camera Shooting
為計(jì)算方便,取主梁上筋板的間距作為計(jì)算精度的評(píng)價(jià)指標(biāo),待測(cè)點(diǎn)分布,如圖8所示。
圖8 待測(cè)點(diǎn)分布Fig.8 Distribution of Points to be Measured
拍攝像片的外方位元素,如表2所示。前方交會(huì)求得待測(cè)點(diǎn)的坐標(biāo),如表3所示。各個(gè)待測(cè)點(diǎn)之間的相對(duì)距離分析,如表4所示。
表2 像片的外方位元素Tab.2 Outer Orientation Element
表3 待測(cè)點(diǎn)坐標(biāo)Tab.3 Point Coordinates to be Measured
表4 待測(cè)點(diǎn)之間的相對(duì)距離Tab.4 Relative Distance Between Points to be Measured
(1)實(shí)驗(yàn)表明,提出的自標(biāo)定方法無(wú)需現(xiàn)場(chǎng)布設(shè)控制點(diǎn),實(shí)現(xiàn)了在遠(yuǎn)距離精確測(cè)量港口起重機(jī)械的結(jié)構(gòu)尺寸,能夠滿(mǎn)足港口環(huán)境的應(yīng)用需求。(2)解算出的待測(cè)點(diǎn)相對(duì)距離誤差最大值為1.84%,最小值為0.78%,滿(mǎn)足港口起重機(jī)械安全評(píng)估中對(duì)于主要結(jié)構(gòu)件外形尺寸的誤差要求。并且,也可用于建筑測(cè)繪,大型工程機(jī)械外形尺寸測(cè)量等拍攝條件苛刻,精度要求較高的場(chǎng)合。(3)目前,所提出的方法仍存在著提升空間,由于不同像片的同名點(diǎn)匹配主要依賴(lài)于人工選擇,其精度的穩(wěn)定性及自動(dòng)化程度均有待提高。未來(lái)通過(guò)引入機(jī)器學(xué)習(xí)的方法,同名點(diǎn)的匹配將能夠通過(guò)計(jì)算機(jī)自動(dòng)完成,這一方法的執(zhí)行效率及測(cè)量結(jié)果的精度將得以進(jìn)一步的提升。