三維掃描儀的幾何光三維掃描:機(jī)器視覺光學(xué)基礎(chǔ)
(1)光學(xué)成像公式(Basic Formula)
首先,我們會用到幾何光學(xué)關(guān)于成像的基本公式,對于圖中所示的成像系統(tǒng),就是:
1/u+1/v=1/f
這里u 是物體到鏡頭的距離,即物距,v 是三維掃描儀鏡頭到成像的距離,即像距,f 是鏡頭的焦距,也就是平行光入射到鏡頭時產(chǎn)生的會聚點(diǎn)到鏡頭的距離。從這個公式可以看出,對于成實(shí)像的系統(tǒng),像距總是大于焦距,而且物距越大,像距越小,直到物距是無窮遠(yuǎn)時,成像在焦平面上。
(2)放大率(Magnification)
M=h/H=FOV/L=v/u
這里h 是像高,H 是物高。做機(jī)器視覺系統(tǒng)時,需要考慮物體怎樣完整成像到CCD芯片上并保證對物體的分辨率,所以選擇攝像機(jī)和鏡頭時需要綜合考慮放大率的影響。
圖1 CCD 拍攝照片時候的簡化光路圖
(3)視場(Field of View)
三維掃描儀視場就是整個系統(tǒng)能夠觀察的物體的尺寸范圍,也就是CCD 芯片上所成圖像對應(yīng)的物體大小:
FOV=L/M
這里L(fēng) 是芯片的長邊或短邊,而對應(yīng)的FOV 即是相應(yīng)方向的物體大小。當(dāng)然,FOV 也可以用角度來表示:
tangθ=L/2u
經(jīng)??梢钥吹界R頭用角度來給出視場的大小。
(4)三維掃描儀的工作距離(Working Distance)
也就是物距,物體到鏡頭的距離u。
(5)分辨率(Resolution)
三維掃描儀分辨率描述的是光學(xué)系統(tǒng)能夠分辨的最小物體的距離,這里有一個不確定的因素,就是什么情況下可以認(rèn)為是可以分辨的。一般采用的是所謂的瑞利判據(jù)。如圖所示,由于衍射,像差等影響,光學(xué)系統(tǒng)對一個點(diǎn)所成的像的強(qiáng)度成鐘形分布,那么兩個相近的點(diǎn)所成的像會有重疊,兩點(diǎn)越近,重疊部分越大,兩點(diǎn)中間的強(qiáng)度不再是零,而是越來越接近最大值。瑞利判據(jù)認(rèn)為,重疊部分的強(qiáng)度小于最大值的83%時,人眼是可以分辨的開的。當(dāng)然,對于攝像機(jī)來說,是否能夠分辨的更好,仍然是一個未知的因素。
圖2 描述分辨率示意圖
一般用成對的黑白相間線來標(biāo)定鏡頭的分辨率,描述為能夠分辨的黑白線的頻率,即每毫米多少線對(lp/mm).需要指出的是,像空間的分辨率和物空間的分辨率相關(guān),但是不同。對于CCD 像機(jī)的情況,至少需要兩個像素來分辨一對線,所以CCD攝像機(jī)能夠達(dá)到的最大分辨率是:
r =2×CCDsize
而相應(yīng)的物體空間的分辨率是:
R=r/M
有時,物體空間的分辨率被理解為能夠測量的最小物體尺寸。分辨率一般用黑白條紋或形狀條紋的目標(biāo)來進(jìn)行標(biāo)定,市場上可以買到現(xiàn)成的目標(biāo)模板。
(6)三維掃描儀掃描的對比度(Contrast)
對比度和分辨率息息相關(guān),對比度是描述圖像的邊緣區(qū)域是否能夠有效地區(qū)分,是不是黑的很黑而白的很白。區(qū)別越大,物體的細(xì)節(jié)越容易分辨,當(dāng)然分辨率越高。
用數(shù)值來表示時,對比度定義為:
對于模擬圖像卡,信噪比對對比度的影響最大,當(dāng)然數(shù)字化率,即比特深度(BitDepth)也是影響對比度的因素之一。
(7)三維掃描儀掃描的景深(Depth of Field)
由于和分辨率同樣的原因,圖1 中所示的D 范圍內(nèi)所成的圖像看起來都是清晰的,也就是說,在物體空間內(nèi),在一定距離范圍內(nèi)的物體成像都是清晰的,這個范圍稱為景深。換個方式說就是物體移動多大距離從清晰變得模糊。景深和很多因素有關(guān),最重要的是光圈的大小。物體在景深范圍內(nèi)時,圖像可以保持一定的質(zhì)量,超出這個范圍時,對比度和分辨率都會下降。也就是說,景深只有在確定了分辨率和對比度后才有意義。由于衍射的原因引起的圖像質(zhì)量變化是可以計(jì)算出來的,但是大多數(shù)光學(xué)系統(tǒng)的性能都是其他因素決定的。景深可以用45°傾角的目標(biāo)進(jìn)行標(biāo)定。一般情況下,只要清晰度能滿足要求就可以了。
(8)三維掃描儀鏡頭的光圈(Aperture)
光學(xué)系統(tǒng)中光線經(jīng)過折射,反射等最后到達(dá)像面,這個傳輸過程中,并不是所有進(jìn)入系統(tǒng)的光線最后都能通過,而是有一部分被阻擋,這好像是光線透過一個孔,這個孔的直徑稱為有效孔徑,例如單個凸透鏡的有效孔徑就是透鏡的直徑本身。為了能夠調(diào)節(jié)透過的光強(qiáng)度,一般鏡頭中都設(shè)置了光圈,也就是一個多葉片的機(jī)械裝置組成的直徑可變的圓孔,調(diào)整時這個孔的直徑可以連續(xù)變化,從而改變鏡頭的有效孔徑。拿一個鏡頭對著亮處調(diào)節(jié)光圈大小即可以觀察到。好的機(jī)械光圈有多個葉片組成非常近似的圓形,而便宜的系統(tǒng)一般用幾個葉片來完成,例如4 個葉片形成近似菱形的光圈。鏡頭光圈的大小一般用下面描述的F 數(shù)來表示。
(9)F 數(shù)(F#)
假定三維掃描儀鏡頭的光學(xué)系統(tǒng)的有效孔徑是D,焦距是f,那么, F=D/f 這個參數(shù)描述了三維掃描儀鏡頭的光學(xué)系統(tǒng)的采光能力,因?yàn)橛行Э讖皆酱螅苁占胶屯ㄟ^的光線越多,而焦距越短,這些光線能到達(dá)像面的可能性越大。例如,鏡頭的焦距是50毫米,有效孔徑是8.9 毫米,則F = 8.9/50=1/5.6,一般鏡頭上標(biāo)記的都是F 的倒數(shù): 3.45.6 8 11 16 22 等,這些數(shù)一般稱為鏡頭F 數(shù)。到達(dá)像面的光照度和F 的平方成正比,這也正是為什么光圈標(biāo)記用上面的一系列數(shù)的原因,這樣,光圈每調(diào)大一級,例如從8 到5.6,光照度就增加一倍!使用起來非常方便。從鏡頭指標(biāo)中給出的最小F 數(shù),我們可以了解該鏡頭的采光能力,例如F1.4 比F1.8 的采光能力強(qiáng)的多,光線較暗時鏡頭的優(yōu)勢就顯示出來了。
(10)三維掃描儀鏡頭的景深和光圈的關(guān)系(Linking Depth of Field and Aperture)景深和光圈的大小有直接關(guān)系,光圈越大,景深越短,光圈越小,景深越長。這個原因很容易理解。如果光圈小到針孔左右,能夠通過的光線全部都是近軸光,有沒有鏡頭都沒有關(guān)系了,實(shí)際上形成了一個針孔像機(jī),景深是無窮大,不管景物遠(yuǎn)近成像都是清晰的;隨著光圈增大,遠(yuǎn)軸光開始起作用,只有一定范圍內(nèi)的光線能夠清晰成像,光圈放大到F3.4 時,大約景深只有幾毫米了。
(11)三維掃描儀鏡頭的景深和焦距的關(guān)系(Linking Depth of Field and Focal Length) 焦距越大,景深越短,反之亦然。例如,f=80mm 的鏡頭的景深很短,而35mm焦距的鏡頭景深較長。從幾何成像的基本公式可以看出,如果鏡頭的焦距很短,物距大到一定范圍時,像距近似等于焦距,也就是說,一定距離以外的物體成像都在焦平面附近,10m 遠(yuǎn)的物體和100m 遠(yuǎn)的物體成像的位置是一樣的,景深很長。而焦距較大時,這個結(jié)論不能成立,只有在一定范圍內(nèi),物體才能清晰成像,所以景深焦短。
(12)三維掃描儀鏡頭的快門速度(Shutter Speed)
快門速度決定了感光元件的曝光時間,不管是CCD 像機(jī)還是傳統(tǒng)的膠片相機(jī)都是一樣的。不同的是,一般工業(yè)攝像機(jī)大都采用電子快門,而膠片像機(jī)或科研用像機(jī)大都采用機(jī)械快門。機(jī)械快門的速度一般能達(dá)到2000 分之一秒,好的專業(yè)像機(jī)也只能達(dá)到1/8000 秒,而電子快門要快的多,一般都能達(dá)到1/120,000 秒,另一方面,機(jī)械快門可以慢到數(shù)十秒,而電子快門一般最慢在1/60 秒左右。機(jī)械快門的開啟和關(guān)閉需要一個過程,曝光時間很短時,這個過程就變得比較重要了,因?yàn)殡S著快門的開啟,感光元件的一部分開始感光,而另一部分還沒有,快門關(guān)閉的過程正好相反,最先感光的部分最后關(guān)閉,所以整個感光元件的曝光時間是不一樣的。電子快門速度要快得多,雖然感光元件一直在曝光,但是電子快門作用時,一般先清除積累的電荷1 次到數(shù)次,然后開始計(jì)時積累圖像并讀出,由于全部是電子控制,速度可以很快??扉T速度和幀頻沒有直接的關(guān)系,幀頻是攝像機(jī)每秒鐘拍攝圖像的次數(shù),而快門速度是采集一幅圖像時的曝光時間。
(13)三維掃描儀鏡頭的畸變(Distortion)
鏡頭有各種像差,例如球差,慧差,色差等等都會降低鏡頭的成像質(zhì)量。為了校正這些相差,鏡頭的設(shè)計(jì)采用了各種辦法,例如用兩種不同的折射率光學(xué)材料校正色差等,因此,一個好的鏡頭可能設(shè)計(jì)使用11 片透鏡或更多。較差的鏡頭也有5到7 片透鏡,絕不是簡單的1 個凸透鏡能實(shí)現(xiàn)的。即使如此,鏡頭本身的設(shè)計(jì)目標(biāo)不同決定了各種像差消除的結(jié)果不同。
畸變則是由于放大率隨到光軸中心的距離變化造成的。隨著像點(diǎn)的遠(yuǎn)離,物體上對應(yīng)的點(diǎn)離鏡頭中心的距離實(shí)際在增加,從幾何成像公式得知像距在縮小,也就是說成像會聚的點(diǎn)在像面之前,像面上探測到的圖像實(shí)際已經(jīng)離焦,看起來就比原來的圖像大。離軸線越遠(yuǎn),這個現(xiàn)象越嚴(yán)重。這就造成了圖像的畸變,非常重要的一點(diǎn)是,圖像的信息并沒有丟失,只是位置不對!每個鏡頭都有一定程度的畸變,所以根據(jù)每個鏡頭的特性,我們很容易校正畸變。實(shí)際上,如果我們用機(jī)器視覺來做精密的測量,首先要做的就是畸變的校正。焦距越短,越難以校正畸變。無畸變圖像Barrel 畸變Pincushion 畸變鏡頭的畸變模型示意圖畸變的校正一般用黑白分明的方格子圖像來進(jìn)行,過程并不復(fù)雜。一般如果畸變小于2%,人眼是觀察不到的。當(dāng)然,如果畸變小于CCD 的一個像素,攝像機(jī)也是看不見的。
(14)三描維掃儀的光學(xué)傳遞函數(shù)(Modulation Transfer Function)
成最高的性能需求。圖像的尺寸不斷的變化。光學(xué)傳遞函數(shù)完整的描述了任何一個光學(xué)系統(tǒng)的性能,但是涉及到很多現(xiàn)代光學(xué)的概念和知識,例如點(diǎn)分布函數(shù)(Point Spread Function),傅里葉變換,空間頻率等等。如果鏡頭給出了MTF,那么我們可以根據(jù)需要做出最好的選擇。例如,如果應(yīng)用需要較高的分辨率,則鏡頭的MTF 高頻部分響應(yīng)必須較好才行。反之,如果應(yīng)用需要較低的分辨率和較高的對比度,那么MTF 的低頻部分要好。如果知道了每個部件的MTF,整個系統(tǒng)的性能就可以得到準(zhǔn)確的評價,遺憾的是,并沒有多少廠家樂意給出所售器件的MTF。總之,應(yīng)用決定了選擇,而最正確的選擇是用最低的成本。
(15)遠(yuǎn)心鏡頭(Telecentric Lens)在三維掃描儀上的應(yīng)用
近的物體看起來大,遠(yuǎn)的則小,觀測物體時的角度和位置不同造成的視差處處可見。用光學(xué)的術(shù)語來描述,視差是因?yàn)榉糯舐孰S物距的變化引起的,離鏡頭遠(yuǎn)的物體放大率小,近的放大率大。對于應(yīng)用機(jī)器視覺來進(jìn)行距離或尺寸測量的系統(tǒng),這個視差不進(jìn)行校正就會導(dǎo)致測量誤差。最明顯的例子是被測量的物體從遠(yuǎn)到近時,圖像的尺寸不斷的變化。遠(yuǎn)心鏡頭是為了在一定范圍內(nèi)糾正這個誤差而設(shè)計(jì)的。在設(shè)計(jì)時,采用了校正的光學(xué)鏡片,使得在一定景深范圍內(nèi),物體的成像大小不隨到鏡頭的距離變化,這樣就給測量帶來了方便。遠(yuǎn)心鏡頭的景深范圍并不比傳統(tǒng)鏡頭大,只是視差被消除了。缺點(diǎn)是遠(yuǎn)軸部分圖像對稱性的變模糊,正是有所得必有所失。