王昕 李鵬鵬 沈行良
摘 要:針對(duì)工程施工時(shí)安裝物體的角度測(cè)量要求,設(shè)計(jì)了采用攝像獲取圖像,經(jīng)識(shí)別算法提取被測(cè)物角度的檢測(cè)系統(tǒng)。系統(tǒng)以STM32F407單片機(jī)作為主控單元,采用Canny算子提取其中邊緣輪廓信息,建立邊緣線(xiàn)定位的各坐標(biāo)點(diǎn),重建提取后圖像模型,計(jì)算待測(cè)邊緣線(xiàn)在圖像中的傾角θ。陀螺儀傳感器測(cè)得攝像位置角度φ,用以校正θ,得到被測(cè)物角度測(cè)量值θl。實(shí)驗(yàn)結(jié)果表明,角度測(cè)量系統(tǒng)能夠有效地加快檢測(cè)速度,所得數(shù)據(jù)精度滿(mǎn)足要求。
關(guān)鍵詞:角度測(cè)量;圖像識(shí)別;Canny算子;陀螺儀傳感器
文章編號(hào):2095-2163(2019)04-0271-04 中圖分類(lèi)號(hào):TH89 文獻(xiàn)標(biāo)志碼:A
0 引 言
在建筑物的施工和維護(hù)過(guò)程中,一旦建筑物邊緣垂直度不合格,就會(huì)帶來(lái)重大的安全隱患,嚴(yán)重時(shí)會(huì)造成重大事故和人員傷亡。因此,建筑物的角度檢測(cè)尤為重要。常用的角度檢測(cè)方法有經(jīng)緯儀測(cè)量法、激光紅外線(xiàn)水平儀法等。經(jīng)緯儀測(cè)量法是一種較為常用的方法,但儀表安置時(shí)校正麻煩,且對(duì)建筑物周?chē)h(huán)境有一定要求;激光紅外線(xiàn)水平儀法適用范圍較廣,但需憑肉眼來(lái)判別,室外測(cè)量時(shí)易受光線(xiàn)干擾,測(cè)量結(jié)果誤差較大,精確度不高。
本文采用機(jī)器視覺(jué)[1]方法來(lái)檢測(cè)建筑物的角度,在不接觸被測(cè)物體的情況下,對(duì)待測(cè)物體的角度作快速、方便地測(cè)量。檢測(cè)裝置只要對(duì)準(zhǔn)被測(cè)物體,就能快速測(cè)得其邊緣、界線(xiàn)、墻線(xiàn)及輪廓線(xiàn)等角度。對(duì)被測(cè)對(duì)象的要求較低,所有能看得清楚的直線(xiàn)或者有一些光線(xiàn)反差的線(xiàn)條均可作為被測(cè)對(duì)象,并離被測(cè)對(duì)象一定距離進(jìn)行非接觸測(cè)量。這對(duì)大型建筑物的角度檢測(cè)優(yōu)勢(shì)明顯,能夠有效減輕檢測(cè)人員的工作量,保證人身安全。
1 角度測(cè)量系統(tǒng)
系統(tǒng)由微型計(jì)算機(jī)、圖像采集和模型計(jì)算的軟件組成。微型計(jì)算機(jī)采集圖像后,經(jīng)圖像檢測(cè)程序和數(shù)據(jù)標(biāo)定程序得出檢測(cè)結(jié)果,顯示在LCD屏上。
1.1 硬件設(shè)計(jì)
裝置設(shè)計(jì)主要由主控、圖像采集、輸入、角度校正以及顯示5個(gè)單元組成,如圖1所示。主控單元為STM32F407微型計(jì)算機(jī)[2];圖像采集單元為OV7670攝像頭,用于拍攝待測(cè)建筑物邊緣線(xiàn)的圖像,作為檢測(cè)采集數(shù)據(jù)的輸入;按鍵為輸入單元,用于指令輸入;角度校正單元為HWT905三維陀螺儀,用于補(bǔ)償裝置在測(cè)量時(shí)自身角度的傾斜;顯示單元為L(zhǎng)CD液晶屏,用于顯示檢測(cè)結(jié)果。
攝像頭對(duì)準(zhǔn)待測(cè)對(duì)象后,通過(guò)按鍵輸入拍照指令,攝像頭將采集到的圖像信息經(jīng)FIFO傳輸至主控單元的數(shù)字?jǐn)z像頭接口DCMI,STM32F407微型計(jì)算機(jī)對(duì)待測(cè)直線(xiàn)進(jìn)行圖像處理,檢測(cè)其在圖像中的傾角,三維陀螺儀檢測(cè)出裝置在圖像采集時(shí)刻的位置信息后將其通過(guò)同步異步收發(fā)串口USART傳輸至主控單元,微型計(jì)算機(jī)將待測(cè)直線(xiàn)的位置數(shù)據(jù)和裝置自身的位置數(shù)據(jù)疊加后得出檢測(cè)結(jié)果,并通過(guò)I/O接口與LCD液晶屏進(jìn)行人機(jī)交互,顯示檢測(cè)結(jié)果。
1.2 軟件設(shè)計(jì)
系統(tǒng)程序設(shè)計(jì)主要包括圖像檢測(cè)程序和數(shù)據(jù)標(biāo)定程序。圖像檢測(cè)程序主要完成圖像的采集、角度計(jì)算與結(jié)果顯示;數(shù)據(jù)標(biāo)定程序主要完成數(shù)據(jù)的檢測(cè)與校準(zhǔn),系統(tǒng)主程序流程如圖2所示。程序開(kāi)始后,硬件系統(tǒng)對(duì)各模塊進(jìn)行初始化,主頁(yè)面顯示。啟動(dòng)圖像檢測(cè)程序后,攝像頭對(duì)準(zhǔn)被測(cè)物采集圖像、采集陀螺儀數(shù)據(jù),角度計(jì)算、校正后,顯示檢測(cè)結(jié)果。啟動(dòng)數(shù)據(jù)標(biāo)定程序后,檢測(cè)陀螺儀數(shù)據(jù)是否符合標(biāo)準(zhǔn),若標(biāo)準(zhǔn),則返回主程序,否則修正系數(shù)后返回主程序。
2 角度測(cè)量方法
將機(jī)器視覺(jué)應(yīng)用到建筑物的角度檢測(cè)中,攝像頭采集待測(cè)物體,經(jīng)Canny算子提取邊緣輪廓信息,根據(jù)像素點(diǎn)排列,計(jì)算出圖像中待測(cè)直線(xiàn)的傾角,與陀螺儀傳感器所測(cè)裝置偏轉(zhuǎn)角度疊加后得出檢測(cè)結(jié)果。
2.1 圖像邊緣直線(xiàn)的解析
在建筑物的角度檢測(cè)中,圖像邊緣信息的提取至關(guān)重要。常用的邊緣檢測(cè)算子有Roberts算子、Sobel算子、Canny算子等。采用Roberts算子檢測(cè)圖像邊緣時(shí),常常會(huì)在圖像邊緣臨近區(qū)域產(chǎn)生較寬的響應(yīng),邊緣定位精確度較低。Sobel算子模擬人工視覺(jué)特性較差,不能?chē)?yán)格的將待測(cè)邊緣信息與背景區(qū)域分離開(kāi),對(duì)圖像邊緣輪廓的提取效果不太理想。Canny算子[3]是一種多階優(yōu)化算子,具有較高的信噪比,定位精度高,能夠從視覺(jué)對(duì)象中提取目標(biāo)信息,被廣泛應(yīng)用于機(jī)器視覺(jué)系統(tǒng)中。本文選用Canny算子提取建筑物邊緣輪廓信息,檢測(cè)過(guò)程主要包括圖像平滑處理、計(jì)算梯度幅值與方向、梯度幅值極大值抑制和邊緣連接4個(gè)部分。
利用一維高斯函數(shù)對(duì)原圖像進(jìn)行濾波處理,消除噪聲、平滑圖像。
其中,σ為標(biāo)準(zhǔn)差,控制平滑程度。通常σ設(shè)置為較小數(shù)值。
梯度幅值極大值抑制是在3×3鄰域內(nèi),保留局部梯度幅值最大的點(diǎn),可以更加準(zhǔn)確的定位邊緣。
圖像在進(jìn)行邊緣提取后,其邊緣輪廓往往不夠平滑,且待測(cè)區(qū)域周?chē)嬖谝恍┯捎阱e(cuò)判造成的小孔,對(duì)圖像進(jìn)行形態(tài)學(xué)閉運(yùn)算[6]處理,可以在物體面積變化較小的范圍內(nèi)使其邊緣平滑,同時(shí)可以消除小顆粒噪聲,連接斷裂的邊緣線(xiàn)。這種在圖像邊緣提取后進(jìn)行閉運(yùn)算的方式,能夠有效消除噪聲影響,銳化邊緣輪廓,平滑邊緣線(xiàn)。邊緣提取如圖3所示。
2.2 角度計(jì)算分析
在圖像采集時(shí),受檢測(cè)裝置傾斜度的影響,待測(cè)邊緣線(xiàn)在圖像中的位置信息往往不能準(zhǔn)確表達(dá)出建筑物邊緣的實(shí)際角度情況。因此,要獲得建筑物的角度信息,需同時(shí)獲取待測(cè)直線(xiàn)在圖像中的角度信息和檢測(cè)裝置在圖像采集時(shí)刻的位置數(shù)據(jù)。
圖像是由若干個(gè)像素點(diǎn)排列組成,以像素點(diǎn)為單位,可根據(jù)像素點(diǎn)的個(gè)數(shù)得出待測(cè)線(xiàn)段在圖像上的長(zhǎng)度信息。如圖4(a)所示,AB所在直線(xiàn)為待測(cè)邊緣線(xiàn),O為圖像右下角的點(diǎn),從A點(diǎn)出發(fā)向OB所在直線(xiàn)做垂直線(xiàn),與OB的交點(diǎn)記為點(diǎn)C,則∠BAC即為待測(cè)直線(xiàn)在圖像中的傾角,記為θ。根據(jù)AC之間像素點(diǎn)的個(gè)數(shù)得到AC之間的距離,記為x,同理可得OC、OB的長(zhǎng)度,分別記為y1、y2,則:
陀螺儀是一種角運(yùn)動(dòng)檢測(cè)裝置,三軸陀螺儀能夠同時(shí)檢測(cè)6個(gè)方向的位置、角速度,具有良好的動(dòng)態(tài)特性[7]。因此,可以利用三軸陀螺儀測(cè)量裝置的位置數(shù)據(jù)。將陀螺儀的傳感方向與水平方向平行時(shí)的狀態(tài)作為零傾斜角度,高速微處理器對(duì)陀螺儀實(shí)時(shí)輸出的角速度進(jìn)行積分運(yùn)算,即可得出裝置的偏轉(zhuǎn)角度φ。
待測(cè)直線(xiàn)在圖像中的傾角θ與檢測(cè)裝置的偏轉(zhuǎn)角度φ疊加后即可得出建筑物邊緣線(xiàn)的實(shí)際傾角θl,受拍照角度的影響,常分2種情況進(jìn)行疊加,如圖4所示。
檢測(cè)結(jié)果θl在LCD液晶屏上顯示,若θl為90°,或在其允許的誤差范圍內(nèi),則認(rèn)為該建筑物的角度傾斜情況符合標(biāo)準(zhǔn)。
3 實(shí)驗(yàn)結(jié)果分析
裝置受手持角度的影響,從獲取圖像的位置分析,采集到的圖像通常有4種情況,如圖5所示。
分別對(duì)待測(cè)直線(xiàn)在圖像中的角度信息和檢測(cè)裝置在圖像采集時(shí)刻的位置數(shù)據(jù)進(jìn)行測(cè)量,得到建筑物邊緣直線(xiàn)的實(shí)際狀況,見(jiàn)表1。
根據(jù)《混凝土結(jié)構(gòu)工程施工質(zhì)量驗(yàn)收規(guī)范》規(guī)定,現(xiàn)澆混凝土結(jié)構(gòu)墻柱構(gòu)件的垂直度允許總高偏差≤H/1000即30 mm(H為建筑物全高)。本文實(shí)驗(yàn)所選建筑物全高為21 m,則其總高偏差應(yīng)≤21 mm,即其垂直度偏差應(yīng)小于等于0.05°。
由表1可以看出,該角度測(cè)量系統(tǒng)能夠精確測(cè)量出待測(cè)建筑物邊緣線(xiàn)的角度偏差,實(shí)驗(yàn)所選4種拍攝角度的垂直度偏差均滿(mǎn)足要求,即該建筑物邊緣線(xiàn)角度合格,角度測(cè)量系統(tǒng)滿(mǎn)足設(shè)計(jì)要求。
4 結(jié)束語(yǔ)
本文針對(duì)傳統(tǒng)檢測(cè)方法的不足,采用影像的方法檢測(cè)建筑物的角度數(shù)據(jù),提取待測(cè)直線(xiàn)的邊緣信息,檢測(cè)其在圖像中的傾斜角度,結(jié)合測(cè)量裝置自身的位置信息,快速、準(zhǔn)確地檢測(cè)出待測(cè)建筑物的角度數(shù)據(jù)。對(duì)4種常見(jiàn)拍攝角度采集到的圖像進(jìn)行檢測(cè),結(jié)果顯示偏差均在誤差范圍內(nèi),說(shuō)明該系統(tǒng)可以廣泛應(yīng)用于角度檢測(cè)領(lǐng)域中。
參考文獻(xiàn)
[1]王清晨,景軍鋒. 采用機(jī)器視覺(jué)的金屬表面橫向裂紋檢測(cè)[J]. 電子測(cè)量與儀器學(xué)報(bào),2018,32(11):71-77.
[2]劉永永,李國(guó)平,左國(guó)坤,等. 基于STM32的力傳感器信號(hào)采集與處理系統(tǒng)設(shè)計(jì)[J]. 傳感器與微系統(tǒng),2017,36(7):112-115.
[3]段紅燕,邵豪,張淑珍,等. 一種基于Canny算子的圖像邊緣檢測(cè)改進(jìn)算法[J]. 上海交通大學(xué)學(xué)報(bào),2016,50(12):1861-1865.
[4]Gonzalez R C, Woods R E. Digitalimage processing [M]. 3rd Edition, Pearson, London:Prentice-Hall, Inc., 2007.
[5]張坤,廉自生. 液壓支架姿態(tài)角度測(cè)量系統(tǒng)[J]. 工礦自動(dòng)化,2017,43(5):40-45.