王樹(shù)城
摘要 角度測(cè)量是一項(xiàng)基本且重要的測(cè)量項(xiàng)目,特別是隨著城市的發(fā)展,由多個(gè)非平行平面組成復(fù)雜外墻結(jié)構(gòu)的高層建筑越來(lái)越多,此時(shí)對(duì)于幕墻作業(yè)機(jī)器人來(lái)說(shuō)就更加如此。本文通過(guò)利用計(jì)算機(jī)視覺(jué)技術(shù)對(duì)二面角進(jìn)行非接觸式測(cè)算的研究,提出了一種僅用相機(jī)即可完成為幕墻機(jī)器人動(dòng)態(tài)測(cè)算二面角任務(wù)的方法。
【關(guān)鍵詞】計(jì)算機(jī)視覺(jué) 二面角測(cè)算 幕墻機(jī)器人 圖像處理
隨著高層建筑的涌現(xiàn),越來(lái)越多的幕墻工作機(jī)器人被研發(fā)和使用。這類(lèi)機(jī)器人在作業(yè)時(shí)需要在平滑的玻璃上移動(dòng),也需要翻越由不同玻璃平面形成的二面夾角,因此就對(duì)二面角的非接觸、實(shí)時(shí)測(cè)量提出了較高的要求。而隨著計(jì)算機(jī)和CCD相機(jī)性能的提高,計(jì)算機(jī)視覺(jué)開(kāi)始在距離測(cè)量、空間運(yùn)動(dòng)分析等領(lǐng)域得到廣泛應(yīng)用。計(jì)算機(jī)視覺(jué)測(cè)量有非接觸性、實(shí)時(shí)性、動(dòng)態(tài)性、實(shí)現(xiàn)簡(jiǎn)單、測(cè)量范圍大等優(yōu)點(diǎn),非常適合應(yīng)用在機(jī)器人上。本文提出一種基于計(jì)算機(jī)視覺(jué)的幕墻二面角測(cè)算方法,解決的是玻璃幕墻機(jī)器人在越障時(shí),對(duì)所翻越二面角的測(cè)量問(wèn)題。
1 相機(jī)準(zhǔn)備、玻璃幕墻處理和圖像采集
使用固定焦距的相機(jī)和一塊相機(jī)參數(shù)標(biāo)定板(例如黑白棋盤(pán)格標(biāo)定板)對(duì)相機(jī)進(jìn)行標(biāo)定(例如“張正友標(biāo)定法”),獲取相機(jī)的內(nèi)部參數(shù)矩陣K及畸變系數(shù)Kl、K2、K3、Pl. P2;
對(duì)玻璃框進(jìn)行上色處理,并控制機(jī)器人上的云臺(tái)用相機(jī)從任意方向?qū)π枰M(jìn)行測(cè)量的夾角部位拍攝一張彩色圖像,要求拍攝的圖像完整包含夾角部位;
2 用OpenCV視覺(jué)庫(kù)做初步圖像處理
首先利用上步中獲取的相機(jī)內(nèi)部參數(shù)矩陣及畸變系數(shù)對(duì)所拍攝的圖像進(jìn)行校正;然后將所攝圖像應(yīng)用OpenCV從R(紅)G(綠)B(藍(lán))顏色空間變換至H(色相)S(飽和度)V(色調(diào))顏色空間,并進(jìn)行直方圖均衡化,以便于后續(xù)處理?!熬饣笔侵笇?duì)圖像中像素個(gè)數(shù)多的灰度級(jí)進(jìn)行展寬,而對(duì)圖像中像素個(gè)數(shù)少的灰度級(jí)進(jìn)行壓縮,從而擴(kuò)展像原取值的動(dòng)態(tài)范圍,增強(qiáng)了對(duì)比度和灰度色調(diào)的變化,有利于后面的識(shí)別。
3 顏色識(shí)別及圖像二值化
將上一步所得圖像進(jìn)行H、S、V三通道分離,并根據(jù)與玻璃框顏色對(duì)應(yīng)的H通道的閾值將圖像二值化。所述閾值用于從H通道劃定H值對(duì)應(yīng)的區(qū)間,該區(qū)間以?xún)?nèi)設(shè)為白色,以外則設(shè)為黑色,或者反過(guò)來(lái)設(shè)置顏色,以便于識(shí)別出玻璃框。這里把H值看成一個(gè)連續(xù)數(shù)集,隨著H值的變化,對(duì)應(yīng)的顏色也在變化,所以識(shí)別顏色,就是從中一段一段地取區(qū)間出來(lái)。換種說(shuō)法,這些閾值相當(dāng)于是為了取出特定顏色而通過(guò)實(shí)驗(yàn)得來(lái)的一些區(qū)間端點(diǎn)值。
4 圖像的濾波和形態(tài)學(xué)操作
對(duì)上一步已識(shí)別出玻璃框的二值圖像進(jìn)行中值濾波及高斯濾波的圖像預(yù)處理操作,以減弱由圖像傳輸、編解碼和傳感器結(jié)構(gòu)造成的噪聲。之后可對(duì)降噪后的圖像進(jìn)行開(kāi)操作、閉操作和膨脹的形態(tài)學(xué)處理,以達(dá)到減小無(wú)關(guān)物干擾和增強(qiáng)擬合精度的目的。
5 過(guò)濾出需要的目標(biāo)
在經(jīng)過(guò)形態(tài)學(xué)處理的二值圖中提取所有玻璃框的完整輪廓。接著便用最小包圍矩形去擬合所得輪廓,并從結(jié)果中去掉非玻璃框的輪廓對(duì)應(yīng)的矩形。
6 求算成角兩玻璃平面上的滅點(diǎn)坐標(biāo)
將上一步中篩選出的矩形輪廓均根據(jù)四角點(diǎn)坐標(biāo)判斷出方向,從而進(jìn)一步篩選出長(zhǎng)邊垂直于成角兩平面交線(xiàn)的矩形。然后求算2N個(gè)篩選出的最小包圍矩形的、與最小包圍矩形長(zhǎng)邊平行的對(duì)稱(chēng)軸的直線(xiàn)方程,并按照所在的玻璃平面分成兩類(lèi),各自求解出(N*(N-1))/2個(gè)滅點(diǎn)坐標(biāo)。所述對(duì)稱(chēng)軸是指各矩形輪廓自身的對(duì)稱(chēng)軸,就是過(guò)各矩形兩短邊中點(diǎn)的那條直線(xiàn)。所述對(duì)稱(chēng)軸對(duì)應(yīng)的矩形都有質(zhì)心,質(zhì)心在相機(jī)成像平面上都有對(duì)應(yīng)坐標(biāo),將各質(zhì)心的橫縱坐標(biāo)分別排序,之后分別求相鄰兩項(xiàng)的差值,由于這些矩形分別處于兩個(gè)玻璃平面,而在同一玻璃平面的矩形質(zhì)心坐標(biāo)差較小,可據(jù)此分類(lèi)。
7 精確滅點(diǎn)坐標(biāo)及夾角的求算
采取最小二乘法,利用上一步得到的兩類(lèi)一共N* (N-l)個(gè)滅點(diǎn)坐標(biāo),在兩個(gè)玻璃面板上分別擬合出一個(gè)更精確的滅點(diǎn)坐標(biāo)。這是因?yàn)橐欢未翱驅(qū)?yīng)一個(gè)矩形,一個(gè)矩形對(duì)應(yīng)一根對(duì)稱(chēng)軸直線(xiàn),則兩根對(duì)稱(chēng)軸直線(xiàn)可確定此玻璃面上的一個(gè)滅點(diǎn),兩兩相求就可得此面上的(N*(N-1))/2個(gè)滅點(diǎn)坐標(biāo)。
最后,利用標(biāo)定而得的相機(jī)內(nèi)參矩陣K及之前求出的各個(gè)玻璃平面上的滅點(diǎn)坐標(biāo)計(jì)算玻璃所夾二面角的余弦值,通用計(jì)算公式[3]如下:
其中K為標(biāo)定而得的相機(jī)內(nèi)參矩陣,p為玻璃平面的比例因子(可根據(jù)其上的滅點(diǎn)坐標(biāo)及內(nèi)參矩陣由式(1)求得),u和v分別是此玻璃平面對(duì)應(yīng)的那個(gè)較精確滅點(diǎn)坐標(biāo)的橫、縱坐標(biāo)值。根據(jù)式(1)可求出兩玻璃平面各自對(duì)應(yīng)的比例因子pl和p2,再根據(jù)式(2)結(jié)合兩平面各自對(duì)應(yīng)的滅點(diǎn)坐標(biāo)ul、vl和u2、v2即可求出夾角余弦值。最后利用反余弦函數(shù)求得玻璃所夾二面角數(shù)值θ并回傳給機(jī)器人控制系統(tǒng)。
8 實(shí)驗(yàn)結(jié)果與討論
實(shí)驗(yàn)中,在使用電子量角器多次測(cè)量取平均值后,得到所測(cè)玻璃二面角的真實(shí)值為90 021 0。在光照均勻的條件下,按照本文提出的方法測(cè)出了多組角度值,其中誤差最大的一組為5.31%,最小的一組僅為0.49%??梢?jiàn),本方法在相當(dāng)程度上解決了方便、靈活和穩(wěn)定地測(cè)量玻璃二面角的問(wèn)題,為需要使用二面角角度工作的相應(yīng)機(jī)器人(例如玻璃幕墻清洗機(jī)器人等)的研發(fā)提供了技術(shù)參考。
參考文獻(xiàn)
[1] Zhengyou Zhang.A Flexible NewTechnique for Camera Calibration[R]. Microsoft Corporation: TechnicalReport,MSR-TR-98-71,1998.
[2]陶旺林,盧選民,劉李娟,單長(zhǎng),基于OpenCV的非線(xiàn)性圖像畸變校正研究[J].現(xiàn)代電子技術(shù),2011,34 (12):117-120.
[3]王德麾,袁中凡,樊慶文,基于計(jì)算機(jī)視覺(jué)的平面角度測(cè)量方法[J].西南交通大學(xué)學(xué)報(bào),2010,45 (05): 775-779+793.