機器視覺與圖像分析技術(shù)詳解
并不令人驚訝的是,幾乎所有視覺項目都從獲得基本問題的答案開始。這些問題的答案充分地確定了視覺系統(tǒng)硬件的成本:需要多少臺攝像機?必須具有多高的圖像分辨率?彩色成像是否必要?每秒必須采集多少幀?用不用產(chǎn)生模擬輸出的攝像機?如果這樣,就需要選擇一個幀接收板來將模擬信號轉(zhuǎn)換成數(shù)字形式,在必要時還要圖像幀的采集與外部觸發(fā)事件同步。
盡管一些用于模擬攝像機的幀接收器可以同時接收來自多個攝像機的輸入,但是一次為一臺攝像機提供一個接口的電路板更為常見。如果你選擇具有數(shù)字接口的攝像機,你會使用能夠進行圖像處理和圖像采集的“智能”攝像機嗎?還是由攝像機將原始(未處理的)圖像數(shù)據(jù)發(fā)送到主機PC進行處理?還有,數(shù)字攝像機采用哪種接口標準或總線與主機PC通信呢?適用于某些總線的數(shù)字攝像機需要幀接收器。但是,與用于模擬攝像機的幀接收器不同,用于數(shù)字攝像機的幀接收器不進行模/數(shù)轉(zhuǎn)換。
與硬件相關(guān)的考慮因素可能會超越這些問題。而且,一些問題采用了通常正確的默認假設(shè),即視覺系統(tǒng)的主計算機是一臺運行標準版本W(wǎng)indows (www.microsoft.com)的PC。機器視覺系統(tǒng)有時候在實時操作系統(tǒng)下運行,而圖像分析軟件則經(jīng)常在Unix或Linux下運行。此外,與其它實時系統(tǒng)一樣,許多實時視覺系統(tǒng)采用與Pentium (www.intel.com)或Athlon (www.amd.com)器件不同的CPU。
五、攝像機接口
使攝像機與主機計算機接口仍然是視覺系統(tǒng)設(shè)計的一個關(guān)鍵問題。盡管出現(xiàn)了數(shù)字化接口的攝像機,盡管成像系統(tǒng)采用IEEE 1394(也稱為FireWire和i-Link)來與攝像機接口,但攝像機接口的選擇仍值得仔細考慮。(正在迅速成為主流高速PC外設(shè)接口的USB 2.0并不是工業(yè)成像領(lǐng)域的一個要素,這主要是因為,雖然其480 Mbps的數(shù)據(jù)傳輸速率名義上比最初版本的FireWire更高,但USB 2.0的以主機為中心的協(xié)議對于成像來說卻比FireWire更慢。)
FireWire是消費類視頻系統(tǒng)和家庭娛樂系統(tǒng)中流行的高速串行總線。這種即插即用的總線采用多點體系結(jié)構(gòu)和對等層通信協(xié)議。該標準的最初具體化包括速率高達400 Mbps的數(shù)據(jù)傳輸。數(shù)據(jù)傳輸速率最終將達到3.2 Gbps。2003年1月,IEEE發(fā)布了1394b,而且其擁護者們期望不久就可以在視覺硬件中看到800Mbps的版本。不過,盡管工業(yè)FireWire攝像機具有合理的成本,但它在消費類設(shè)備中的可用性在不斷增加(在消費類設(shè)備中,所需的分辨率--有時候還有幀頻--均比工業(yè)設(shè)備中所要求的更為適度),其纖細而柔軟的串行電纜用起來很方便,其總線數(shù)字技術(shù)具有抗擾性,但選用這類攝像機仍然受到限制。
成本可能會限制FireWire在工業(yè)成像領(lǐng)域中的普及。工業(yè)FireWire攝像機的成本要比具有相同幀頻和分辨率的工業(yè)模擬輸出攝像機高。另一方面,F(xiàn)ireWire攝像機與模擬攝像機的成本比較有時候可能會產(chǎn)生誤導(dǎo)。在具有內(nèi)置FireWire端口的系統(tǒng)中,攝像機通常不需要額外的接口硬件。這種攝像機包括一個ADC(模/數(shù)轉(zhuǎn)換器),而模擬攝像機則需要幀接收器來完成必要的ADC功能(圖3)。
圖3National Instruments公司的基于Celeron的CVS-1454型小巧視覺系統(tǒng)(Compact Vision System)例證了為工廠環(huán)境設(shè)計的機器視覺硬件。雖然這一系統(tǒng)(右上)并非一個標準的辦公室PC,但它包含三個FireWire端口從而不需要特殊的攝像機接口硬件。該系統(tǒng)與National Instruments公司的LabView圖形化開發(fā)環(huán)境配套使用,而這個開發(fā)環(huán)境能通過交互式圖形化工具快速開發(fā)程序,如果有必要,隨后再使用完整的圖形化編程功能調(diào)試設(shè)備。
FireWire攝像機采用IEEE 1394的同步協(xié)議,這就能保證帶寬并確保數(shù)據(jù)包按照它們的發(fā)送順序到達(如果他們?nèi)康竭_的話)。該標準的其它協(xié)議(異步的)保證消息傳遞但不確保數(shù)據(jù)包按照它們的發(fā)送順序到達。每個同步設(shè)備可以每隔125μs--也就是以8kHz的最大速率--發(fā)出一個帶寬請求。起總線管理器作用的設(shè)備賦予每個發(fā)出請求的設(shè)備在隨后125μs內(nèi)發(fā)送預(yù)定數(shù)目數(shù)據(jù)包的權(quán)力。
總線上的同步設(shè)備越多,每個設(shè)備可得到的帶寬就越少。當FireWire總線上僅有一臺攝像機時,一臺1280×960像素黑白攝像機差不多可以每秒發(fā)送15幀。一臺640×480像素的FireWire彩色攝像機大約可以每秒發(fā)送30幀。盡管這兩個例子中的任一個似乎都不會使用總線的全部可用數(shù)據(jù)傳輸容量,但每個像素的比特數(shù)以及攝像機使數(shù)據(jù)格式化的方法卻會對最大幀速率產(chǎn)生影響。附帶說明一下,分辨率越高并不總是越好。分辨率較高的攝像機不僅價格更貴,幀速率通常比分辨率較低的攝像機更慢,而且還更容易揭示UUT和KGU之間微不足道的差別,從而提高AOI系統(tǒng)錯誤地檢測故障的速率。
六、更多攝像機接口
除了FireWire之外,數(shù)字輸出攝像機的接口選件還包括RS 422并行接口和Camera Link(表1)。RS 422攝像機接口還沒有完全標準化,所以通常需要攝像機專用接口卡。從用于模擬輸出攝像機的接口卡的意義上來說,這些卡并不是幀接收器,但它們通常同樣可插入主PC的PCI總線。由于有時候需要50多根連線,并行接口被證明并不適用。不過,RS 422數(shù)字攝像機仍然受歡迎,并且繼續(xù)用得廣泛。
AIA的Camera Link是性能最高的數(shù)字輸出攝像機接口標準。與FireWire不同,Camera Link允許每條總線上只有一臺攝像機,但許多PC可以容納多條Camera Link總線。Camera Link可在并行組合的單向鏈路、串行鏈路和點對點鏈路上,利用SERDES(串行化/解串行化)技術(shù)以高達4.8 Gbps的速度發(fā)送數(shù)據(jù)。每條鏈路可傳送來自7個通道的數(shù)據(jù),并使用每條鏈路需要兩根導(dǎo)線的LVDS (低電壓差分信號傳輸) 技術(shù)。通道的數(shù)目決定了Camera Link總線的最大數(shù)據(jù)速率。一條配置齊全的總線可以有76個通道,其中包括11條鏈路和22根導(dǎo)線,不過該標準考慮到具有28個通道和56個通道的總線 (4和8條鏈路及8和16根連線)。每條Camera Link總線通常需要PC中的一個獨立接口卡。
選用Camera Link總線目前還涉及到編寫額外的軟件。由于在PC中生成Camera Link總線的卡既稀少又沒有完全標準化,所以緊縮包裹型應(yīng)用程序開發(fā)軟件包通常缺乏Camera Link啟動程序。盡管如此,如果需要Camera Link的引人注目的速度,那你就沒有多少選擇余地。
某些時候,你可利用智能攝像機來減少視覺系統(tǒng)必須處理的數(shù)據(jù)量,因為智能攝像機可以先對其采集的數(shù)據(jù)進行處理或壓縮,然后再將數(shù)據(jù)發(fā)送給主機PC。這樣的攝像機有時候既可降低攝像機與主機之間的數(shù)據(jù)速率又可降低主機與主機中負載之間的數(shù)據(jù)速率,但成本較高。然而,你必須保證數(shù)據(jù)壓縮要么是真正無損的,要么是不需要壓縮中損失的數(shù)據(jù)。
評論