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

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

2016-05-20

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

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

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

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

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

  選擇相機(jī)

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

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

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

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

  照明元件

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

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

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

  暗場(chǎng)照明從較低的角度照明物體;亮場(chǎng)照明則從較高的角度照明物體。

  Darkfield——暗場(chǎng)

  Brightfield——亮場(chǎng)

  Field of view——視場(chǎng)

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

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

  色彩效應(yīng)

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

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

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

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

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

  Red:紅

  White:白

  Green:綠

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

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

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

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

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

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

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

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

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

  Drag and drop——拖放工具

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

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

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

  Ease of development——開(kāi)發(fā)簡(jiǎn)易性

  算法類(lèi)別

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

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

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

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

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

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

  算法的應(yīng)用

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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