《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > MEMS|傳感技術(shù) > 業(yè)界動(dòng)態(tài) > 探索機(jī)器視覺系統(tǒng)的基本要素

探索機(jī)器視覺系統(tǒng)的基本要素

2016-05-20

  機(jī)器視覺系統(tǒng)由眾多部件組成,,其中包括相機(jī)、圖像采集卡,、照明單元,、光學(xué)元件與鏡頭,、處理器、軟件及顯示設(shè)備等,。簡單的機(jī)器視覺系統(tǒng)可以識別2D或3D條形碼,,更復(fù)雜的系統(tǒng)可以確保檢測的元件滿足特定的容差要求、組裝正確,、沒有缺陷,。

  很多機(jī)器視覺系統(tǒng)配備了采用不同類型圖像傳感器的相機(jī)(如表1所示)。為了確定相機(jī)可獲得的分辨率,,重要的是理解這些傳感器可以分辨的每毫米線對數(shù)(lp/mm) ,,而不是有效的像素點(diǎn)數(shù)。

  例如,,在一個(gè)典型的2588×1958像素,、500萬像素成像器中,大小為1.4μm2的像素可提供357lp/mm的分辨率,;而一個(gè)640×480像素的VGA成像器,,其像素大小為5.7μm2,可實(shí)現(xiàn)88lp/mm的分辨率,。對于具有相同尺寸的成像器而言,,像素越小,每毫米中就可分辨更多的線對數(shù),。

  如果一個(gè)特殊的圖像傳感器包含3μm2的像素,,那么根據(jù)尼奎斯特采樣定律,理論上圖像中可以被分辨的最小特性尺寸為6μm,。然而實(shí)際應(yīng)用中,,并不能達(dá)到這一最小尺寸值,因?yàn)槊總€(gè)鏡頭都會產(chǎn)生一定程度的像差,。

  灰度圖像通常會按每像素8比特存儲,,從而提供256個(gè)不同的灰度漸變。圖像中的黑色特性對應(yīng)更低數(shù)值,;更亮的像素對應(yīng)更高數(shù)值,。這種方法很便捷,,因?yàn)閱我蛔止?jié)對應(yīng)著單一像素。

  選擇相機(jī)

  通常,,機(jī)器視覺系統(tǒng)中使用的相機(jī),,可以通過USB3.0、以太網(wǎng),、FireWire,、Camera Link及CoaXPress等接口將相機(jī)中捕捉到的圖像傳輸?shù)絇C系統(tǒng)中。

  目前,,集成機(jī)器視覺照明,、圖像捕捉及處理等功能的智能相機(jī),正在為閱讀條形碼或檢測部件是否存在等自動(dòng)化視覺任務(wù)提供經(jīng)濟(jì)型解決方案,。盡管智能相機(jī)的處理器性能或許足以滿足這些任務(wù)的需求,,但是更復(fù)雜或要求更高速度的任務(wù)則需要額外的處理能力。

  除了性能外,,系統(tǒng)集成商還要決定采用何種支持軟件以及相機(jī)如何連接到外部設(shè)備,。盡管很多檢測部件是否存在的應(yīng)用中都采用了智能相機(jī),但是一些其他應(yīng)用可能需要將相機(jī)連接到顯示設(shè)備,,用以顯示捕獲到的圖像和圖像分析的結(jié)果,。

  很多智能相機(jī)的處理器運(yùn)行專用的操作系統(tǒng);也有一些智能相機(jī)運(yùn)行Linux或Unix等商業(yè)操作系統(tǒng),。當(dāng)然,,這些相機(jī)可以運(yùn)行任何可在PC上運(yùn)行的軟件包。

  照明元件

  通過配備正確的機(jī)器視覺照明系統(tǒng),,能以高對比度重復(fù)捕捉圖像特征,。如果照明的配備不正確,機(jī)器視覺系統(tǒng)的成功性,、可靠性,、可重復(fù)性和易用性都處于較大的風(fēng)險(xiǎn)中。為了確保機(jī)器視覺系統(tǒng)配備正確的照明元件,,設(shè)計(jì)師需要咨詢照明制造商,,或借助圖像照明實(shí)驗(yàn)室檢測不同的照明選項(xiàng)。

  LED照明正在開始替代目前常用于機(jī)器視覺系統(tǒng)中的熒光燈,、光纖鹵素?zé)艏半瘹忾W光燈光源,,因?yàn)長ED照明具有更高的一致性、更長的使用壽命和更好的穩(wěn)定性,。LED照明可以提供各種各樣的色彩并能選通發(fā)光,,這一特性在高速機(jī)器視覺應(yīng)用中非常有用。

  除了照明類型,另一個(gè)決定圖像成像的重要因素是光照到待測物體上的角度,。兩種最常用的為物體提供照明的方式是:暗場照明和亮場照明

  暗場照明從較低的角度照明物體,;亮場照明則從較高的角度照明物體。

  Darkfield——暗場

  Brightfield——亮場

  Field of view——視場

  暗場照明從較低角度照明物體,,在一個(gè)非常平滑的如鏡面般的物體表面上,,反射的光將超出相機(jī)的視野范圍。物體的表面將呈現(xiàn)為黑色,,而通過相機(jī)捕捉到的物體表面發(fā)光的部分,就對應(yīng)著表面的缺陷或劃痕,。

  亮場照明與暗場照明相反,,亮場照明是在成像物體的上方打光,因此物體反射的光將處于相機(jī)的視場范圍內(nèi),。亮場照明配置中,,物體表面上任何不連續(xù)處反射的光均無法被相機(jī)接收而顯示黑色。因此,,該技術(shù)被用于為漫發(fā)射的非反射性物體提供照明,。

  色彩效應(yīng)

  如果某個(gè)應(yīng)用要求使用彩色相機(jī),則需要白光照明待檢測的元件,。如果需要區(qū)分待檢測元件的顏色,,則白光需要在整個(gè)波長范圍內(nèi)產(chǎn)生平等光譜(equal spectrum),以便分析圖片中的顏色,。

  通過黑白單色相機(jī)也可以識別圖像中的顏色,,這種方法需要選擇合適的燈光照明圖像(如下圖所示)。下圖中上面一行圖片是人眼觀察到的圖像效果,,而下面一行的圖像則顯示了單色相機(jī)呈現(xiàn)出的圖像效果,。

  為機(jī)器視覺系統(tǒng)應(yīng)用找到顏色正確的照明光源,能對捕捉到的圖像產(chǎn)生重要影響,。

  As seen by the human eye:人眼看到的顏色

  As seen by a B&W vision system:黑白視覺系統(tǒng)呈現(xiàn)出的顏色

  Red:紅

  White:白

  Green:綠

  為了照亮圖像,,使用了三種不同顏色的光:600nm紅光(左側(cè))、白光(中間)和520nm綠光(右側(cè)),。為了使該圖像呈現(xiàn)出最佳的對比度,,最好的方式是使用綠色光,因?yàn)榫G色是紅色的互補(bǔ)色,。這種對比可以被單色相機(jī)輕松地識別出來,。如果為了濾掉紅色,則最好采用紅色光照亮物體,。如果圖片本身是五光十色的,,并且不需要識別其中的任何一種顏色,那么白光照明則是更合適的選擇。

  當(dāng)應(yīng)用算法處理圖像時(shí),,請考慮開發(fā)人員和終端用戶的技能及具體的視覺系統(tǒng)任務(wù)要求,。

  許多PC和智能相機(jī)供應(yīng)商提供了功能大體相似的圖像處理軟件包。很多商業(yè)軟件包提供了圖形化集成開發(fā)環(huán)境(IDE),,使系統(tǒng)集成商可以從程序庫中拖取設(shè)計(jì)好的功能,,根據(jù)自身需求實(shí)現(xiàn)定制化視覺算法。

  多數(shù)商業(yè)軟件包要求為每個(gè)部署的視覺系統(tǒng)支付版權(quán)費(fèi),,但是通過使用開源成像代碼如OpenCV或直接用C++,、C、C#或.NET編寫應(yīng)用程序,,可以省去這一成本,。

  但是,由于OpenCV是一個(gè)開源環(huán)境,,沒有制造商為其提供擔(dān)?;蛑С帧O啾戎?,商業(yè)軟件用戶的圖像處理工具包將會得到開發(fā)商的支持,。

  在選擇軟件前,系統(tǒng)集成商需要仔細(xì)評估自身的能力,。盡管選擇一個(gè)單一的基于PC的商業(yè)機(jī)器視覺軟件包,,需要支付800~2500美元的版權(quán)費(fèi)用,但是開發(fā)人員使用C語言從頭開始編程,,也會很容易耗費(fèi)掉大量時(shí)間和工程資源,。

  此外,系統(tǒng)集成商還要認(rèn)識到,,通常一個(gè)開發(fā)環(huán)境并不能適用于所有的機(jī)器視覺系統(tǒng),。技術(shù)和經(jīng)濟(jì)壓力意味著要根據(jù)不同的應(yīng)用需求,采用不同的方法進(jìn)行軟件開發(fā),。

  在初步確定哪種算法適用于執(zhí)行某個(gè)特定的視覺任務(wù)后,,需要的系統(tǒng)數(shù)量、每個(gè)系統(tǒng)的成本和軟件開發(fā)者的技能,,將決定選擇什么樣的編程環(huán)境,。例如,用C或C++等高級語言編寫圖像處理代碼等相對更復(fù)雜更長的任務(wù),,是工程師開發(fā)大量系統(tǒng)時(shí)的一個(gè)更佳選擇,。

  系統(tǒng)集成商可以根據(jù)軟件開發(fā)者的編程技能,選擇并決定視覺系統(tǒng)軟件的復(fù)雜度,。

  Drag and drop——拖放工具

  Script programming and web interfacing——腳本編程及網(wǎng)頁接口

  PC development tools such as MS Visual Studio——計(jì)算機(jī)開發(fā)工具,,如微軟的Visual Studio

  C/C++ dode development——C/C++代碼開發(fā)

  Ease of development——開發(fā)簡易性

  算法類別

  圖像處理算法可以分為不同的類別,用于滿足不同的應(yīng)用需求。

  通過圖像數(shù)據(jù)的預(yù)處理,,可以提取出圖像的特性,。圖像閾值是圖像分割算法中最簡單的方法之一,該方法可用于從灰度圖像中生成二進(jìn)制圖像,,從而讓物體能夠從背景中分離出來,。

  其他的運(yùn)算符,如圖像濾鏡可以令圖像銳化,、降低圖像噪音,;而直方圖均衡可以增強(qiáng)圖像的對比度。預(yù)處理同樣涉及圖像分割,,以定位圖像中具有相似屬性的物體或物體邊界,,如顏色、亮度或材質(zhì)等,。

  更復(fù)雜的算法可以實(shí)現(xiàn)特征提取,、檢測物體邊緣或物體轉(zhuǎn)角,,實(shí)現(xiàn)對圖像中物體的測量,。連通性工具,如blob分析算法,,則可以測量圖片內(nèi)分散物體的有某種共同關(guān)系的特性參數(shù),。

  關(guān)聯(lián)性與幾何搜索是另外兩個(gè)強(qiáng)大的搜索算法,其可用于找到物體的某種特性,,或在新的圖像中搜索同樣的特性,,可提供相應(yīng)的位置、某些情況下的尺寸和規(guī)模,、以及新圖像是如何實(shí)現(xiàn)傾斜或轉(zhuǎn)換的等信息,。

  最后要提及的是可以實(shí)現(xiàn)分類及圖像破譯的算法。其中,,最簡單的是可以實(shí)現(xiàn)簡單模板匹配操作的算法,,而更復(fù)雜的分類算法可能用到神經(jīng)網(wǎng)絡(luò)及SVM等更復(fù)雜的技術(shù)。

  算法的應(yīng)用

  在眾多視覺系統(tǒng)中,,決定一個(gè)元件或元件的某個(gè)特性是否存在非常重要,。尺寸、形狀或顏色等屬性可以用于識別元件,。對比分析,、blob分析、模型匹配或幾何搜索工具可以在圖像上識別元件,。

  為了將一個(gè)元件從其他元件中區(qū)分出來,,可以使用相對簡單的功能,如邊緣檢測算子。如果需要精確地檢測出元件的位置,,則需要執(zhí)行幾何搜索或blob分析,。

  為了高速檢測元件或web上的缺陷,需要用到對比分析或模型圖像匹配算子,。如果需要將缺陷歸類并檢測,,blob分析或邊緣分析可以測量缺陷參數(shù),并將其與已知的正常參數(shù)進(jìn)行比較,。

  在一些圖像處理應(yīng)用中,,可以利用超過圖像標(biāo)準(zhǔn)像素分辨率的精度,測量圖像中的線,、點(diǎn)或邊緣的位置,,獲得子像素分辨率。這可以通過對比物體邊緣像素的灰度級別與物體每個(gè)邊上的像素灰度級別來實(shí)現(xiàn),。

  在特殊的例子中,,可以使用極坐標(biāo)抽取技術(shù)識別圓形物體的圖像,這種方法更易于實(shí)現(xiàn),。如圖5中間部分所示,,blob分析被用于顯示藍(lán)色物體的參數(shù)細(xì)節(jié)。使用此類算子,,可以更容易地檢測尺寸,、邊界框及物體的中心。

  很多視覺系統(tǒng)工具箱中的圖像處理算法可以用于解決各種各樣的任務(wù),,如邊緣檢測(右上),、光學(xué)特性識別(上圖中間)及幾何模式匹配(右下)。

  在圖5右上圖中,,通過分析圖片中的灰度值,,邊緣檢測算法可以檢測物體邊緣、位置,、形態(tài)或者角度,。左下方的直方圖顯示了某個(gè)特殊圖像的灰度像素值,該值將被進(jìn)一步分析,,以強(qiáng)化圖像中獲得的某些特性,。

  中間的圖像有兩組光學(xué)特性需要檢測,上面的特性被輕微減弱,。在這個(gè)示例中,,通過驗(yàn)證可以了解特性的衰減方式。此外,,光學(xué)特性識別(OCR)軟件可以用于讀取衰減特性,。

  在上圖右下角,,搜索算法從圖像中鎖定一個(gè)目標(biāo)對象,并存儲為模板或幾何模型,,之后在其他圖像中尋找類似的目標(biāo)圖像,,這就是一個(gè)可以識別特定特性的精確工具。

  策劃,、決定及執(zhí)行

  在著手研發(fā)任何機(jī)器視覺檢測系統(tǒng)前,,需要仔細(xì)評估是公司內(nèi)部開發(fā)還是將其外包。在策劃階段有時(shí)會發(fā)現(xiàn),,機(jī)器視覺系統(tǒng)可能并非必要的,,或者并不可行。

  如果確定機(jī)器視覺系統(tǒng)可行,,則具體檢測過程的所有特性都需仔細(xì)記錄,。需要對元件待檢測的物理及幾何屬性,包括顏色,、表面拋光及反射屬性等進(jìn)行歸類,。開始,必須要定義特征用以區(qū)別待檢測的元件是好是壞,。只有了解元件或裝配件的屬性,,系統(tǒng)集成商才能確定哪個(gè)圖像解決方案是最理想的。

  整個(gè)生產(chǎn)過程都需要進(jìn)行分析,,使系統(tǒng)集成商了解元件是如何被生產(chǎn)的,、以及在檢測過程中發(fā)生了什么變化,。借助分析,,甚至還可以確定是否應(yīng)該在生產(chǎn)流程的初級階段就采用視覺檢測。

  當(dāng)策劃階段完成后,,機(jī)器視覺組件,,包括相機(jī)、軟件,、照明元件,、光學(xué)元件及鏡頭等都要確定下來。這一階段將確定在生產(chǎn)環(huán)境中,,是否有足夠的分辨率或充分的照明及光學(xué)條件,,以確保產(chǎn)生所需要的結(jié)果。這些因素最好在編寫系統(tǒng)說明時(shí)完成,,而不要等到實(shí)現(xiàn)系統(tǒng)時(shí)再考慮,。

  在系統(tǒng)明確階段,應(yīng)該提供一份報(bào)告,,詳細(xì)列出使用的硬件及軟件,、系統(tǒng)必須要運(yùn)行的檢測功能,、需要滿足的容差及系統(tǒng)的吞吐量等。此外,,該階段還要考慮系統(tǒng)如何與生產(chǎn)廠房中可能存在的其他自動(dòng)化系統(tǒng)連接,,這些都要記錄下來。

  在決定是自行研發(fā),、還是與外部系統(tǒng)供應(yīng)商合作開發(fā)時(shí),,還需要考慮幾個(gè)關(guān)鍵的業(yè)務(wù)問題。從項(xiàng)目一開始,,系統(tǒng)集成商就要確定公司內(nèi)部是否具備支持項(xiàng)目所需要的技術(shù)實(shí)力,。

  如果公司內(nèi)部擁有這樣的技術(shù)實(shí)力,管理層還要確定具體負(fù)責(zé)該工作的個(gè)人是否有足夠的時(shí)間和資源支持這一項(xiàng)目,、是否會遇到意想不


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]