朱俸儀 楊源 王佳豪 王丁辰 周哲海
摘要:三維掃描技術(shù)在工業(yè)上應(yīng)用十分廣泛,但局限于普通芯片對圖像處理能力的不足,三維掃描的精度往往達不到要求。推出了基于ZYNQ的線激光三維掃描儀,主要原理是基于激光三角法測距。首先該儀器在步進電機的帶動下勻速轉(zhuǎn)動,同時CCD會獲取包含線激光的空間圖像,將數(shù)據(jù)傳輸?shù)絑YNQ開發(fā)板上,利用高性能的FPGA模塊對CCD采集到的圖像數(shù)據(jù)進行處理,最后,利用ZYNQ開發(fā)板上的以太網(wǎng)串口將得到的數(shù)據(jù)傳輸給PC上位機,上位機進而根據(jù)標定參數(shù)作空間轉(zhuǎn)換并生成點云數(shù)據(jù),可以實時輸出三維圖像。軟件部分由QT配置PCL庫開發(fā)上位機軟件構(gòu)成,能夠調(diào)用PCL庫實現(xiàn)點云數(shù)據(jù)的三維可視化。
關(guān)鍵詞:三維掃描;點云數(shù)據(jù);CCD;ZYNQ;FPGA
中圖分類號:TP334.2 文獻標識碼:A 文章編號:1007-9416(2020)08-0146-05
0 引言
近年來,計算機技術(shù)及電子技術(shù)的不斷進步及CCD等光電器件的完善和發(fā)展,推動了計算機視覺技術(shù)的快速發(fā)展。目前,計算機視覺技術(shù)已被廣泛地應(yīng)用于航空航天、生物醫(yī)療、物體識別、工業(yè)自動檢測等領(lǐng)域。激光三角法是一種傳統(tǒng)的非接觸性三維輪廓測量方法,在物體的輪廓測量領(lǐng)域中有著其獨特的優(yōu)勢,激光掃描三維輪廓測量技術(shù)對于靜態(tài)物體的測量是目前應(yīng)用最廣的方法。目前,市場上對三維掃描技術(shù)的研究開發(fā)已經(jīng)形成了較大規(guī)模的產(chǎn)業(yè)。但其產(chǎn)品在精度、操作便捷性、穩(wěn)定性、以及功耗等方面仍有較大提升空間。
目前國內(nèi)市場上的三維掃描儀基本都是非接觸式、面向工業(yè)級的高精度三維掃描儀,價格相對高昂。因此迫于較高的成本,三維掃描技術(shù)難以在普通消費級層面普及開來,如果可以在保證較高的精度的同時把成本降至較低,三維掃描技術(shù)將會得到更廣泛的應(yīng)用,且具有較高的商業(yè)價值。
1 系統(tǒng)概述
1.1 掃描原理
三維掃描儀是基于三角測距法的一種能夠獲取三維物體空間坐標信息的儀器。一般分為直射式與斜射式兩種,這里我們介紹直射式的原理,如圖1所示。
圖1中豎直向下的箭頭代表激光器發(fā)出的線激光,Δb為激光光斑到CCD中心軸線的距離,由于機械結(jié)構(gòu)是固定的,可以認為θ是定值。由上述公式可知Δb與Δz呈線性關(guān)系。K的值我們可以通過上位機軟件對激光器標定求得。
1.2 系統(tǒng)方案
本設(shè)計是基于轉(zhuǎn)臺式的三維掃描儀。機械部分上端中心點有一個線激光器,CCD位于機械臂左端且固定,其下是轉(zhuǎn)臺,轉(zhuǎn)臺中心和線激光器處于同一豎直線上,機械臂固定在轉(zhuǎn)臺上方,通過步進電機控制進行勻速轉(zhuǎn)動。本設(shè)計機械結(jié)構(gòu)如圖2所示。硬件部分,為了確保精度,轉(zhuǎn)臺為我們自行設(shè)計的高精度轉(zhuǎn)臺,步進電機選用型號為11HS04的單出軸4引線步進電機,通過2PH驅(qū)動板及Arduino控制機械臂的轉(zhuǎn)動方向及轉(zhuǎn)動速度,CCD采用為普通紅外夜視150度廣角監(jiān)控攝像頭。
軟件部分,在PC端,我們通過下位機軟件Arduino IDE在窗口中輸入相關(guān)代碼來控制電機[1]。點云數(shù)據(jù)處理部分由VS2019+QT5.9+PCL1.8編寫的上位機軟件構(gòu)成,其中VS是編輯環(huán)境,QT插件的使用方便了上位機GUI的設(shè)計,調(diào)用開源C++編程庫PCL進行點云相關(guān)的通用算法和高效數(shù)據(jù)結(jié)構(gòu)的移植,從而進行高效的點云可視化。軟件結(jié)構(gòu)邏輯框圖如圖3所示。
1.3 系統(tǒng)結(jié)構(gòu)
本設(shè)計中的三維掃描儀由軟硬件共同組成,硬件部分主要由CCD、線激光器、步進電機和單片機構(gòu)成。軟件部分主要由上、下位機軟件共同完成,前者負責標定校準,后者負責步進電機和線激光器的驅(qū)動。硬件通過軟件來控并優(yōu)化,最終得到目標物體PCD格式的模型掃描文件,并在上位機端的PCL可視化軟件上進行實時顯示。系統(tǒng)結(jié)構(gòu)示意圖如圖4所示。
2 標定與校準
在科學(xué)測量中,標定[2]是一個不容忽視的重要步驟。標定的主要作用有三個方面:確定儀器或測量系統(tǒng)的輸入—輸出關(guān)系,賦予儀器或測量系統(tǒng)分度值;確定儀器或測量系統(tǒng)的靜態(tài)特性指標;消除系統(tǒng)誤差,改善儀器或系統(tǒng)的正確度。
本設(shè)計的系統(tǒng)參數(shù)標定包含三個部分,分別是CCD的內(nèi)參和外參的標定;三角法計算深度數(shù)學(xué)模型的參數(shù)標定;深度圖到點云空間坐標的數(shù)學(xué)模型的參數(shù)標定。
目前三維測量系統(tǒng)的標定方法大都采用標準模板法,即通過標準模板上三維坐標己知的被測點將傳感器坐標系和測量基準坐標系聯(lián)系起來,進而求得兩個坐標系問的變換方程。而深度圖到點云空間坐標的標定可以通過數(shù)學(xué)運算在軟件層面進行標定。
2.1 標定數(shù)據(jù)的采集
通過卷尺在地面標記從墻面往房間內(nèi)的深度,根據(jù)以標記好的深度移動激光掃描儀,移動過程中將線激光發(fā)射口對準刻度,依次移動6個不同的深度,每個深度對應(yīng)一段視頻,將所采集的標定視頻的每幀圖片進行線激光中心條紋提取,其中深度為2.2m和深度為1.6m的處理圖5所示。
2.2 標定數(shù)據(jù)擬合
對深度數(shù)據(jù)對應(yīng)x軸坐標值進行最小二乘法擬合,得到擬合曲線如圖6標定數(shù)據(jù)擬合直線圖,最終計算得到對應(yīng)擬合方程。
2.3 掃描數(shù)據(jù)的采集與誤差分析
對于如圖7所示的掃描場景,我們在對相機進行標定后對物體進行掃描,得到其深度圖以及經(jīng)可視化后的點云圖,分別如圖8和圖9。最終在pc端得到物體1、2、3、4、5、6對應(yīng)的高度,并將數(shù)據(jù)與用游標卡尺測得的實際物體高度進行對比和誤差分析。數(shù)據(jù)及誤差分析結(jié)果如表1。通過數(shù)據(jù)分析可知,本設(shè)計的精度在96%以上,但是由于在此次掃描時環(huán)境光照過強且桌面為不規(guī)則白色底面,若能在墻面和桌面都為平整的白色漫反射平面且在黑暗的環(huán)境中進行掃描,其精度可穩(wěn)定達到99%以上。
3 系統(tǒng)特色
本設(shè)計中,優(yōu)勢有以下幾方面:一是機械結(jié)構(gòu)的部分組成部分是由AutoCAD等制圖軟件繪圖后經(jīng)3D打印而來,使用者可以根據(jù)自己的喜好對部分機械結(jié)構(gòu)進行調(diào)整。二是可替代性,本設(shè)計的硬件部分大部分都可以進行更換,如對測量精度或成本有更多的要求,使用者可以根據(jù)自身需求選擇更好的或者廉價的轉(zhuǎn)臺、CCD等硬件。三是性能強大,高性能FPGA模塊能夠更好處理采集到的圖像信息,從而提高系統(tǒng)的效率與精度。四是數(shù)據(jù)傳輸能力強,本設(shè)計使用以太網(wǎng)的方式實現(xiàn)與上位機的數(shù)據(jù)溝通,比傳統(tǒng)傳遞數(shù)據(jù)的方式效率更高,保證了設(shè)備運行時的精度與穩(wěn)定性。
本設(shè)計面向的是對精度有較高要求的工業(yè)級掃描儀或高端民用掃描儀,ZYNQ模塊雖然價格不低,但內(nèi)含的FPGA模塊具有很好的圖像處理能力,這有助于對采集到的圖像數(shù)據(jù)進行高效的實時處理,進而保證了系統(tǒng)的精度。同時,本設(shè)計采用以太網(wǎng)的連接方式實現(xiàn)與上位機的數(shù)據(jù)溝通也是為了保證數(shù)據(jù)傳輸?shù)母咝耘c實時性,這樣可以進一步保證系統(tǒng)的精度。當然,本設(shè)計的部分硬件可以自行更換,使用者可以根據(jù)自身需求來調(diào)整系統(tǒng)的整體精度。需要注意的是,對于表面強反光的物體以及表面輪廓模糊的物體該掃描儀不能提供較為準確的建模。掃描范例如圖7所示。
4 結(jié)論
本論文的基本工作是如何在現(xiàn)有三維掃描儀的基礎(chǔ)上進一步提高精度,實現(xiàn)對現(xiàn)實物體的三維坐標信息的獲取。
三維掃描儀雖然能夠成功獲取到三維物體的空間坐標信息并且還能保證較高的精度,但用到的硬件其成本較高,這也導(dǎo)致適用范圍與普及性不佳,接下來考慮使用較低成本的硬件通過優(yōu)化算法來達到更高的精度。同時,在面對不同的環(huán)境時標定環(huán)節(jié)較為繁瑣,需要專業(yè)人士進行輔助操作,今后考慮做一個數(shù)據(jù)庫,內(nèi)含不同環(huán)境下的標定參數(shù),需要時直接調(diào)用即可。
5 致謝
本研究得到了北京信息科技大學(xué)勤信學(xué)者支持計劃(QXTCP A201701)和2019年促進高校內(nèi)涵發(fā)展-大學(xué)生科研訓(xùn)練項目(5101923200)的支持,在此表示感謝。
參考文獻
[1] 趙洪河,陸宏謙.基于Arduino的步進電機分析與設(shè)計[J].智能機器人,2016(6):42-45.
[2] 郭連朋,陳向,寧劉彬.Kinect傳感器的彩色和深度相機標定[J].中國圖像圖形學(xué)報,2014(7):23-26.