機器視覺系統(tǒng)由許多部件組成,其間包含相機、圖畫采集卡、照明單元、光學元件與鏡頭、處理器、軟件及顯現(xiàn)設(shè)備等。簡略的機器視覺系統(tǒng)能夠辨認2D或3D條形碼,更雜亂的體系能夠保證檢測的元件滿意特定的容差要求、拼裝正確、沒有缺點。
許多機器視覺系統(tǒng)裝備了選用不同類型圖畫傳感器的相機(如表1所示)。為了斷定相機可取得的分辯率,重要的是了解這些傳感器能夠分辯的每毫米線對數(shù)(lp/mm) ,而不是有用的像素點數(shù)。
例如,在一個典型的2588×1958像素、500萬像素成像器中,巨細為1.4μm2的像素可供給357lp/mm的分辯率;而一個640×480像素的VGA成像器,其像素巨細為5.7μm2,可完結(jié)88lp/mm的分辯率。關(guān)于具有相同尺度的成像器而言,像素越小,每毫米中就可分辯更多的線對數(shù)。
假如一個特別的圖畫傳感器包含3μm2的像素,那么依據(jù)尼奎斯特采樣規(guī)律,理論上圖畫中能夠被分辯的最小特性尺度為6μm。可是實踐運用中,并不能到達這一最小尺度值,由于每個鏡頭都會發(fā)生必定程度的像差。
灰度圖畫一般會按每像素8比特存儲,然后供給256個不同的灰度漸變。圖畫中的黑色特性對應更低數(shù)值;更亮的像素對應更高數(shù)值。這種辦法很快捷,由于單一字節(jié)對應著單一像素。
挑選相機
一般,機器視覺系統(tǒng)中運用的相機,能夠經(jīng)過USB3.0、以太網(wǎng)、FireWire、Camera Link及CoaXPress等接口將相機中捕捉到的圖畫傳輸?shù)?/span>PC體系中。
現(xiàn)在,集成機器視覺照明、圖畫捕捉及處理等功用的智能相機,正在為閱覽條形碼或檢測部件是否存在等自動化視覺使命供給經(jīng)濟型解決方案。雖然智能相機的處理器性能或許足以滿意這些使命的需求,可是更雜亂或要求更高速度的使命則需求額定的處理才干。
除了性能外,體系集成商還要決議選用何種支撐軟件以及相機怎么銜接到外部設(shè)備。雖然許多檢測部件是否存在的運用中都選用了智能相機,可是一些其他運用可能需求將相機銜接到顯現(xiàn)設(shè)備,用以顯現(xiàn)捕獲到的圖畫和圖畫剖析的成果。
許多智能相機的處理器運轉(zhuǎn)專用的操作體系;也有一些智能相機運轉(zhuǎn)Linux或Unix等商業(yè)操作體系。當然,這些相機能夠運轉(zhuǎn)任何可在PC上運轉(zhuǎn)的軟件包。
照明元件
經(jīng)過裝備正確的機器視覺照明體系,能以高比照度重復捕捉圖畫特征。假如照明的裝備不正確,機器視覺系統(tǒng)的成功性、可靠性、可重復性和易用性都處于較大的危險中。為了保證機器視覺系統(tǒng)裝備正確的照明元件,設(shè)計師需求咨詢照明制造商,或憑借圖畫照明實驗室檢測不同的照明選項。
LED照明正在開端代替現(xiàn)在常用于機器視覺系統(tǒng)中的熒光燈、光纖鹵素燈及氙氣閃光燈火源,由于LED照明具有更高的一致性、更長的運用壽命和更好的穩(wěn)定性。LED照明能夠供給各式各樣的色彩并能選通發(fā)光,這一特性在高速機器視覺運用中十分有用。
除了照明類型,另一個決議圖畫成像的重要要素是光照到待測物體上的視點。兩種最常用的為物體供給照明的辦法是:暗場照明和亮場照明
Darkfield——暗場
Brightfield——亮場
Field of view——視場
暗場照明從較低視點照明物體,在一個十分滑潤的如鏡面般的物體外表上,反射的光將超出相機的視界規(guī)劃。物體的外表將呈現(xiàn)為黑色,而經(jīng)過相機捕捉到的物體外表發(fā)光的部分,就對應著外表的缺點或劃痕。
亮場照明與暗場照明相反,亮場照明是在成像物體的上方打光,因而物體反射的光將處于相機的視場規(guī)劃內(nèi)。亮場照明裝備中,物體外表上任何不接連處反射的光均無法被相機接納而顯現(xiàn)黑色。因而,該技能被用于為漫發(fā)射的非反射性物體供給照明。
色彩效應
假如某個運用要求運用五顏六色相機,則需求白光照明待檢測的元件。假如需求區(qū)別待檢測元件的色彩,則白光需求在整個波長規(guī)劃內(nèi)發(fā)生平等光譜(equal spectrum),以便剖析圖片中的色彩。
經(jīng)過是非單色相機也能夠辨認圖畫中的色彩,這種辦法需求挑選適宜的燈火照明圖畫(如圖2 所示)。圖2中上面一行圖片是人眼觀察到的圖畫作用,而下面一行的圖畫則顯現(xiàn)了單色相機呈現(xiàn)出的圖畫作用。
As seen by the human eye:人眼看到的色彩
As seen by a B&W vision system:是非視覺體系呈現(xiàn)出的色彩
Red:紅
White:白
Green:綠
為了照亮圖畫,運用了三種不同色彩的光:600nm紅光(左邊)、白光(中心)和520nm綠光(右側(cè))。為了使該圖畫呈現(xiàn)出最佳的比照度,最好的辦法是運用綠色光,由于綠色是赤色的互補色。這種比照能夠被單色相機輕松地辨認出來。假如為了濾掉赤色,則最好選用赤色光照亮物體。假如圖片本身是五顏六色的,而且不需求辨認其間的任何一種色彩,那么白光照明則是更適宜的挑選。
圖畫處理算法
當運用算法處理圖畫時,請考慮開發(fā)人員和終端用戶的技能及詳細的視覺體系使命要求。
許多PC和智能相機供貨商供給了功用大體相似的圖畫處理軟件包。許多商業(yè)軟件包供給了圖形化集成開發(fā)環(huán)境(IDE),使體系集成商能夠從程序庫中拖取設(shè)計好的功用,依據(jù)本身需求完結(jié)定制化視覺算法。
大都商業(yè)軟件包要求為每個部署的視覺體系付出版權(quán)費,可是經(jīng)過運用開源成像代碼如OpenCV或直接用C++、C、C#或.NET編寫運用程序,能夠省去這一成本。
可是,由于OpenCV是一個開源環(huán)境,沒有制造商為其供給擔保或支撐。相比之下,商業(yè)軟件用戶的圖畫處理東西包將會得到開發(fā)商的支撐。
在挑選軟件前,體系集成商需求細心評價本身的才干。雖然挑選一個單一的根據(jù)PC的商業(yè)機器視覺軟件包,需求付出800~2500美元的版權(quán)費用,可是開發(fā)人員運用C言語從頭開端編程,也會很簡略耗費掉很多時刻和工程資源。
此外,體系集成商還要認識到,一般一個開發(fā)環(huán)境并不能適用于一切的機器視覺系統(tǒng)。技能和經(jīng)濟壓力意味著要依據(jù)不同的運用需求,選用不同的辦法進行軟件開發(fā)。
在開端斷定哪種算法適用于履行某個特定的視覺使命后(如圖3所示),需求的體系數(shù)量、每個體系的成本和軟件開發(fā)者的技能,將決議挑選什么樣的編程環(huán)境。例如,用C或C++等高檔言語編寫圖畫處理代碼等相對更雜亂更長的使命,是工程師開發(fā)很多體系時的一個更佳挑選(如圖4所示)。
? Drag and drop——拖放東西
? Script programming and web interfacing——腳本編程及網(wǎng)頁接口
? PC development tools such as MS Visual Studio——計算機開發(fā)東西,如微軟的Visual Studio
? C/C++ dode development——C/C++代碼開發(fā)
? Ease of development——開發(fā)簡易性
算法類別
圖畫處理算法能夠分為不同的類別,用于滿意不同的運用需求。
經(jīng)過圖畫數(shù)據(jù)的預處理,能夠提取出圖畫的特性。圖畫閾值是圖畫切割算法中最簡略的辦法之一,該辦法可用于從灰度圖畫中生成二進制圖畫,然后讓物體能夠從布景中分離出來。
其他的運算符,如圖畫濾鏡能夠令圖畫銳化、降低圖畫噪音;而直方圖均衡能夠增強圖畫的比照度。預處理同樣觸及圖畫切割,以定位圖畫中具有相似特點的物體或物體邊界,如色彩、亮度或原料等。
更雜亂的算法能夠完結(jié)特征提取、檢測物體邊際或物體轉(zhuǎn)角,完結(jié)對圖畫中物體的丈量。連通性東西,如blob剖析算法,則能夠丈量圖片內(nèi)渙散物體的有某種一起聯(lián)系的特性參數(shù)。
關(guān)聯(lián)性與幾許查找是別的兩個強壯的查找算法,其可用于找到物體的某種特性,或在新的圖畫中查找同樣的特性,可供給相應的方位、某些情況下的尺度和規(guī)劃、以及新圖畫是怎么完結(jié)歪斜或變換的等信息。
最終要提及的是能夠完結(jié)分類及圖畫破譯的算法。其間,最簡略的是能夠完結(jié)簡略模板匹配操作的算法,而更雜亂的分類算法可能用到神經(jīng)網(wǎng)絡及SVM等更雜亂的技能。
算法的運用
在許多視覺體系中,決議一個元件或元件的某個特性是否存在十分重要。尺度、形狀或色彩等特點能夠用于辨認元件。比照剖析、blob剖析、模型匹配或幾許查找東西能夠在圖畫上辨認元件。
為了將一個元件從其他元件中區(qū)別出來,能夠運用相對簡略的功用,如邊際檢測算子。假如需求準確地檢測出元件的方位,則需求履行幾許查找或blob剖析。
為了高速檢測元件或web上的缺點,需求用到比照剖析或模型圖畫匹配算子。假如需求將缺點歸類并檢測,blob剖析或邊際剖析能夠丈量缺點參數(shù),并將其與已知的正常參數(shù)進行比較。
在一些圖畫處理運用中,能夠運用超過圖畫規(guī)范像素分辯率的精度,丈量圖畫中的線、點或邊際的方位,取得子像素分辯率。這能夠經(jīng)過比照物體邊際像素的灰度等級與物體每個邊上的像素灰度等級來完結(jié)。
在特別的比如中,能夠運用極坐標抽取技能辨認圓形物體的圖畫,這種辦法更易于完結(jié)。如圖5中心部分所示,blob剖析被用于顯現(xiàn)藍色物體的參數(shù)細節(jié)。運用此類算子,能夠更簡略地檢測尺度、邊界框及物體的中心。
經(jīng)過剖析圖片中的灰度值,邊際檢測算法能夠檢測物體邊際、方位、形態(tài)或許視點。左下方的直方圖顯現(xiàn)了某個特別圖畫的灰度像素值,該值將被進一步剖析,以強化圖畫中取得的某些特性。
中心的圖畫有兩組光學特性需求檢測,上面的特性被細微削弱。在這個示例中,經(jīng)過驗證能夠了解特性的衰減辦法。此外,光學特性辨認(OCR)軟件能夠用于讀取衰減特性。
查找算法從圖畫中鎖定一個方針方針,并存儲為模板或幾許模型,之后在其他圖畫中尋覓相似的方針圖畫,這就是一個能夠辨認特定特性的準確東西。
在著手研制任何機器視覺檢測體系前,需求細心評價是公司內(nèi)部開發(fā)仍是將其外包。在策劃階段有時會發(fā)現(xiàn),機器視覺系統(tǒng)可能并非必要的,或許并不可行。
假如斷定機器視覺系統(tǒng)可行,則詳細檢測進程的一切特性都需細心記載。需求對元件待檢測的物理及幾許特點,包含色彩、外表拋光及反射特點等進行歸類。開端,必需求界說特征用以區(qū)別待檢測的元件是好是壞。只要了解元件或裝配件的特點,體系集成商才干斷定哪個圖畫解決方案是最理想的。
整個出產(chǎn)進程都需求進行剖析,使體系集成商了解元件是怎么被出產(chǎn)的、以及在檢測進程中發(fā)生了什么變化。憑借剖析,乃至還能夠斷定是否應該在出產(chǎn)流程的初級階段就選用視覺檢測。
當策劃階段完結(jié)后,機器視覺組件,包含相機、軟件、照明元件、光學元件及鏡頭等都要斷定下來。這一階段將斷定在出產(chǎn)環(huán)境中,是否有滿足的分辯率或充沛的照明及光學條件,以保證發(fā)生所需求的成果。這些要素最好在編寫體系說明時完結(jié),而不要等到完結(jié)體系時再考慮。
在體系清晰階段,應該供給一份陳述,詳細列出運用的硬件及軟件、體系必需求運轉(zhuǎn)的檢測功用、需求滿意的容差及體系的吞吐量等。此外,該階段還要考慮體系怎么與出產(chǎn)廠房中可能存在的其他自動化體系銜接,這些都要記載下來。
在決議是自行研制、仍是與外部體系供貨商合作開發(fā)時,還需求考慮幾個要害的事務問題。從項目一開端,體系集成商就要斷定公司內(nèi)部是否具有支撐項目所需求的技能實力。
假如公司內(nèi)部具有這樣的技能實力,管理層還要斷定詳細負責該作業(yè)的個人是否有滿足的時刻和資源支撐這一項目、是否會遇到意想不到的應戰(zhàn)?怎么應對?等等。此外,怎么保護、支撐、效勞及升級該體系也是需求考量的重要要素。