摘要:利用結(jié)構(gòu)光獲取待測(cè)物體的三維信息,其操作簡(jiǎn)便、成本較低、能夠快速成像,在保護(hù)文物、生物醫(yī)療、逆向工程等領(lǐng)域有廣泛的應(yīng)用。為了在三維重構(gòu)場(chǎng)景下快速獲取待測(cè)物體的三維信息,設(shè)計(jì)了一種無(wú)標(biāo)定的嵌入式三維視覺(jué)系統(tǒng),利用數(shù)字微鏡器件高速開(kāi)關(guān)特性,產(chǎn)生基于時(shí)間調(diào)制的格雷碼結(jié)構(gòu)光,實(shí)現(xiàn)了無(wú)標(biāo)定三維信息的快速獲取。其中包括結(jié)構(gòu)光編碼、圖像二值化、結(jié)構(gòu)光解碼、結(jié)構(gòu)光畸變量獲取和生成三維點(diǎn)云等步驟。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)極大簡(jiǎn)化了三維信息的獲取步驟和運(yùn)算過(guò)程。
關(guān)鍵詞:數(shù)字微鏡器件;結(jié)構(gòu)光;嵌入式;系統(tǒng)設(shè)計(jì);無(wú)標(biāo)定算法;三維信息獲取
0 引言
目前獲取物體的三維信息方式主要為無(wú)接觸式。大部分無(wú)接觸式測(cè)量方法均采用光學(xué)進(jìn)行測(cè)探,在保護(hù)待測(cè)物體不受損壞的同時(shí)還可以大幅提高三維信息獲取的速度。
無(wú)接觸式三維測(cè)量方法分為主動(dòng)式測(cè)量和被動(dòng)式測(cè)量。被動(dòng)式測(cè)量時(shí)通過(guò)多個(gè)相機(jī)經(jīng)過(guò)校準(zhǔn)后從多個(gè)不同的角度對(duì)待測(cè)物體成像,并通過(guò)對(duì)比圖像之間關(guān)系來(lái)獲取待測(cè)物體的三維信息。但是被動(dòng)式測(cè)量獲取的三維信息質(zhì)量取決于物體本身紋理,因此該方法成像密度低,質(zhì)量差。主動(dòng)式測(cè)量則使用一個(gè)相機(jī)代替多個(gè)相機(jī),通過(guò)投射一系列特定圖案的結(jié)構(gòu)光到待測(cè)物體表面,可以使相機(jī)可拍攝的紋理數(shù)目大幅增加,且能夠根據(jù)具體環(huán)境設(shè)置結(jié)構(gòu)光的紋理圖案和紋理數(shù)目。因此,主動(dòng)式測(cè)量能夠擺脫對(duì)物體本身紋理的依賴(lài),減小了設(shè)備復(fù)雜度,大幅提高了三維信息獲取的質(zhì)量和速度。
在物體三維信息提取之前,還需要對(duì)系統(tǒng)中的圖像捕獲設(shè)備和產(chǎn)生結(jié)構(gòu)光的投影設(shè)備進(jìn)行標(biāo)定,此標(biāo)定過(guò)程需要耗費(fèi)大量的時(shí)間和計(jì)算資源。因此可以通過(guò)產(chǎn)生多種不同的結(jié)構(gòu)光,通過(guò)相互之間的對(duì)比關(guān)聯(lián)獲取物體的三維信息,從而回避繁瑣復(fù)雜的設(shè)備標(biāo)定操作。因此需要可以高速產(chǎn)生結(jié)構(gòu)光的投影設(shè)備代替普通投影儀來(lái)加速圖像采樣過(guò)程。
數(shù)字微鏡器件集成微機(jī)電系統(tǒng)和空間光調(diào)制于一體,憑借其高速的開(kāi)關(guān)速度,非常適用于需要高速產(chǎn)生結(jié)構(gòu)光的主動(dòng)式無(wú)標(biāo)定三維信息測(cè)量之中。本文將介紹自主研發(fā)設(shè)計(jì),集成ARM和FPGA的數(shù)字微鏡驅(qū)動(dòng)系統(tǒng),通過(guò)分析待測(cè)物體三維信息獲取的原理,利用此系統(tǒng)能夠快速、準(zhǔn)確地完成待測(cè)物體三維信息的提取。
1 嵌入式三維信息采集系統(tǒng)
1.1 嵌入式硬件系統(tǒng)組成與數(shù)字微鏡器件介紹
整個(gè)三維信息采集系統(tǒng)由以多核嵌入式ARM架構(gòu)芯片為核心的系統(tǒng)控制及圖像處理模塊、以FPGA為核心的結(jié)構(gòu)光模組驅(qū)動(dòng)模塊、數(shù)字微鏡光學(xué)投影模塊、圖像捕獲模塊構(gòu)成,功能結(jié)構(gòu)如圖1所示。嵌入式系統(tǒng)控制圖像捕獲模塊與結(jié)構(gòu)光驅(qū)動(dòng)電路的同步,使得投影模塊將結(jié)構(gòu)光圖案投射到待測(cè)物體上時(shí),圖像捕獲模塊可以立即進(jìn)行圖像捕獲,減少時(shí)間冗余,提高圖像采集速度,本系統(tǒng)使用了多核嵌入式ARM架構(gòu)芯片處理捕獲得到的圖像,使整個(gè)系統(tǒng)小巧、便攜、方便多場(chǎng)景使用。
在三維信息采集系統(tǒng)完成結(jié)構(gòu)光圖案的投射和圖像捕獲后,系統(tǒng)對(duì)捕獲的含有待測(cè)物體表面圖案畸變信息的圖片進(jìn)行處理,分別包括圖像二值化、結(jié)構(gòu)光解碼、獲取畸變量和三維信息提取等步驟。
圖1 系統(tǒng)功能結(jié)構(gòu)圖
如圖2所示,硬件系統(tǒng)采用了FPGA作為數(shù)字微鏡驅(qū)動(dòng)芯片,高通IMX系列CPU作為主處理器,兩片芯片各帶有兩片DDR3,和USB、eMMC等外設(shè)。FPGA負(fù)責(zé)驅(qū)動(dòng)數(shù)字微鏡芯片和數(shù)字微鏡復(fù)位芯片,通過(guò)高速LVDS接口與數(shù)字微鏡器件進(jìn)行通信。i.MX系列CPU在視頻捕獲、視頻處理方面較為成熟,系統(tǒng)采用兩路攝像頭作為圖片或視頻輸入源,兼容了最新的MIPI接口,以滿足不同攝像頭的輸入要求,可適應(yīng)多場(chǎng)景使用。主處理器在成功提取待測(cè)物體的三維信息后,通過(guò)USB口上傳至電腦顯示三維還原結(jié)果。
圖2 硬件系統(tǒng)結(jié)構(gòu)圖
數(shù)字微鏡器件是一種由CMOS襯底、轉(zhuǎn)動(dòng)鉸鏈、鏡架、彈簧端點(diǎn)、反射鏡構(gòu)成的快速、反射式光開(kāi)關(guān),其結(jié)構(gòu)如圖3所示。
圖3 數(shù)字微鏡器件結(jié)構(gòu)圖
鏡子共有三種狀態(tài),當(dāng)鏡子無(wú)旋轉(zhuǎn)角度時(shí),為初始狀態(tài);當(dāng)鏡子旋轉(zhuǎn)+12°時(shí),為開(kāi)狀態(tài),反射來(lái)自光源的光到投射屏幕上;當(dāng)鏡子旋轉(zhuǎn)-12°時(shí),為關(guān)狀態(tài),反射來(lái)自光源的光到光吸收裝置中,投射屏幕呈現(xiàn)黑色效果(不同數(shù)字微鏡器件其偏轉(zhuǎn)角度有所不同)。鏡子的旋轉(zhuǎn)角度由CMOS輸出信號(hào)決定,如圖4所示,數(shù)字微鏡的鏡片由偏置電極施加偏置電壓,這樣當(dāng)CMOS存儲(chǔ)單元輸出邏輯為“0”或“1”所形成的尋址電壓時(shí),尋址電極處形成電場(chǎng)力,轉(zhuǎn)動(dòng)鉸鏈帶動(dòng)鏡子旋轉(zhuǎn),直到達(dá)到彈簧端點(diǎn)為止。數(shù)字微鏡器件的高速開(kāi)關(guān)特性使其適用于高速投影方面的應(yīng)用。本系統(tǒng)所采用的是0.7英寸,分辨率為1024 X 768的數(shù)字微鏡器件,輸入時(shí)鐘頻率為400 MHz,數(shù)據(jù)接口位寬為32 bit,控制位寬2 bit,數(shù)據(jù)傳輸速率高達(dá)25.6 Gpbs,二進(jìn)制圖案幀率高達(dá)32 kHz,完全滿足本系統(tǒng)要求。
圖4 數(shù)字微鏡器件原理圖
1.2 工作原理分析
如圖5所示,結(jié)構(gòu)光向參考平面照射一束光帶,光帶經(jīng)過(guò)待測(cè)物體時(shí)形成畸變,通過(guò)相機(jī)捕獲這一畸變量,就可以得到這一束光帶經(jīng)過(guò)的待測(cè)物體的高度。經(jīng)過(guò)多組不同數(shù)目、不同圖案的光帶照射后,可較全面的獲取待測(cè)物體的三維信息。設(shè)相機(jī)平面與參考平面比例系數(shù)為K,結(jié)構(gòu)光與參考平面的法線夾角為θ,待測(cè)物體表面P點(diǎn)的高度為H,結(jié)構(gòu)光在待測(cè)物體表面P點(diǎn)引起的畸變量為d,相機(jī)成像對(duì)應(yīng)的畸變量為d',則可以得到d'與實(shí)際待測(cè)物體表面高度H的關(guān)系為公式(1)和公式(2)所示:
圖5 結(jié)構(gòu)光掃描示意圖
1.3 結(jié)構(gòu)光編解碼方案
從上節(jié)可知,為了區(qū)分每條光帶的位置,可以對(duì)光帶進(jìn)行編碼,最直接的方式是采用不同灰階進(jìn)行編碼,但如果采用灰階編碼,則對(duì)相機(jī)分辨率和環(huán)境要求很高,在解碼時(shí)會(huì)遇到很大困難。因此可以連續(xù)將多幅結(jié)構(gòu)光產(chǎn)生的二進(jìn)制光柵圖案,“1”代表投射白色光束,“0”代表投射黑色光束,以比特面的形式按權(quán)重順序投射在待測(cè)物體表面,光柵按照黑白相間水平或垂直排布。通過(guò)相機(jī)捕獲光柵圖案即可確定每條光帶的編碼值,從而得到光柵在待測(cè)物體表面的畸變信息。若投影水平像素個(gè)數(shù)為M的垂直光柵圖案,則可由公式(3)生成,x,y表示圖像坐標(biāo),n表示第n幅投影圖像。結(jié)果如圖6所示。
圖6 二進(jìn)制結(jié)構(gòu)光編碼圖案
光柵圖案的編碼方案分為直接二進(jìn)制編碼和格雷碼編碼。如圖7所示,由于直接二進(jìn)制編碼會(huì)有像素點(diǎn)始終處于黑白光柵的邊緣,因此這種編碼方式對(duì)噪聲十分敏感。而格雷碼編碼方式則不會(huì)產(chǎn)生這種情況,誤差會(huì)大大減小。且在同等權(quán)重的比特面中,格雷碼的光柵寬度比直接二進(jìn)制碼的寬度大一倍,簡(jiǎn)化了相機(jī)的圖像捕獲難度。
圖7 直接二進(jìn)制編碼與格雷碼編碼圖案對(duì)比
格雷碼編碼可由直接二進(jìn)制碼異或邏輯得到,如公式(4)所示。
2 基于數(shù)字微鏡器件的三維信息獲取設(shè)計(jì)
2.1 捕獲圖像的二值化算法
在圖像捕獲設(shè)備捕獲到所有的攜帶有畸變信息的光柵圖案后,首先要做的是圖像二值化,方便后續(xù)處理。此處共有兩種二值化方案,一種為取結(jié)構(gòu)光投射全白圖案和投射全黑圖案投射時(shí)捕獲的圖像亮度平均值,如公式(5)所示。
另一種二值化方法是使用互為反相的結(jié)構(gòu)光圖案投射在物體表面,采用互補(bǔ)結(jié)構(gòu)光光柵圖案分別投射到待測(cè)物體表面,比較兩幅圖像中的像素點(diǎn),如第一幅圖像的亮度值大于第二幅圖像,則認(rèn)為坐標(biāo)為(x,y)的像素點(diǎn)p(x,y)= 1,反之,p(x,y)= 0?;榉聪嗟慕Y(jié)構(gòu)光圖案使需要投射的圖像數(shù)目加倍,但可以省去二值化閾值的計(jì)算,避免亮度不均勻時(shí)造成的閾值不準(zhǔn)確,使圖像二值化更準(zhǔn)確快捷。且由于數(shù)字微鏡器件的快速開(kāi)關(guān)性能,投射加倍圖像增加的時(shí)間可忽略不計(jì)。二值化前后如圖8所示。
圖8 圖像二值化前后對(duì)比
2.2 結(jié)構(gòu)光解碼及畸變量獲取
圖像二值化的工作完成后,首先要將格雷碼編碼的圖像還原成直接二進(jìn)制碼編碼的圖像,然后根據(jù)圖像中的畸變光帶提取出待測(cè)物體的畸變信息。
其中,格雷碼還原為二進(jìn)制碼的編碼圖像過(guò)程如公式(6)所示,為公式(4)的逆過(guò)程。
格雷碼還原為二進(jìn)制碼的圖像如圖9所示。
圖9 還原后的二進(jìn)制碼圖像
最后,利用公式(7)可以從還原得到的二進(jìn)制編碼圖像提取其中的光柵圖案的畸變量。
由于圖像捕獲設(shè)備與參考平面及待測(cè)物體間不可能完全平行,會(huì)存在一定的角度,導(dǎo)致水平方向上的一個(gè)線性畸變,若想消除這個(gè)畸變,則需要事先使用不同高度的標(biāo)準(zhǔn)待測(cè)物體得到其線性畸變參數(shù)。經(jīng)過(guò)試驗(yàn)測(cè)量,得到其線性畸變參數(shù)如圖10所示。
圖10 標(biāo)準(zhǔn)水平畸變
將待測(cè)物體的畸變量對(duì)應(yīng)為待測(cè)物體高度,并使用之前的畸變量與水平坐標(biāo)的線性系數(shù)進(jìn)行修正。
最后,為了去除環(huán)境背景的影響,事先將不含有待測(cè)物體的環(huán)境進(jìn)行上述二值化、編解碼、畸變量提取和水平畸變矯正等操作,然后用含有待測(cè)物體的處理結(jié)果減去環(huán)境背景,可得到僅由待測(cè)物體產(chǎn)生的畸變量,經(jīng)過(guò)畸變量與水平坐標(biāo)的線性系數(shù)修正,去除環(huán)境背景的影響,可以令無(wú)標(biāo)定的三維視覺(jué)系統(tǒng)精度得到提高?;兞哭D(zhuǎn)換為三維圖像如圖11所示。
圖11 還原三維圖像
3 結(jié)束語(yǔ)
本文介紹了自主設(shè)計(jì)的,以ARM + FPGA為架構(gòu),基于數(shù)字微鏡器件的嵌入式三維信息采集系統(tǒng),相比于普通的投影儀,本系統(tǒng)的投影刷新速度更快,控制接口眾多,便攜,適用于多種場(chǎng)合。本文還提出了一種三維信息獲取算法,通過(guò)利用結(jié)構(gòu)光的快速開(kāi)關(guān)特性,大幅提高了三維信息獲取速度。但本系統(tǒng)也存在一系列的不足之處。在二值化過(guò)程中,陰影區(qū)域可以采用一定的算法加以剔除,使最后的成像更為精確。此外,由于本系統(tǒng)采用了無(wú)標(biāo)定算法,在提高三維信息獲取速度的同時(shí),精度也有所降低。由此提出的改進(jìn)算法為,可以通過(guò)投射水平方向光柵、斜向光柵等多種光柵圖案,充分利用數(shù)字微鏡器件的高速開(kāi)關(guān)性能,在短時(shí)間內(nèi)快速采集不同結(jié)構(gòu)光圖案的畸變圖片,并進(jìn)行處理,將從不同圖案中提取的畸變量進(jìn)行聯(lián)合處理,可快速恢復(fù)出精確度更高的三維圖像。
-
嵌入式
+關(guān)注
關(guān)注
5060文章
18980瀏覽量
302239 -
三維視覺(jué)
+關(guān)注
關(guān)注
1文章
16瀏覽量
1735
原文標(biāo)題:利用數(shù)字微鏡器件的嵌入式三維視覺(jué)系統(tǒng)
文章出處:【微信號(hào):MEMSensor,微信公眾號(hào):MEMS】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論