機器視覺系統是綜合現代計算機、光學、電子技術的高科技系統。機器視覺技術通過計算機對系統攝取的圖像進行處理,分析其中的信息,并做出相應的判斷,進而發出對設備的控制指令。機器視覺系統的具體應用需求千差萬別,視覺系統本身也可能有多種不同的形式,但都包括以下過程:
圖像采集 利用光源照射被觀察的物體或環境,通過光學成像系統采集圖像,通過相機和圖像采集卡將光學圖像轉換為數字圖像,這是機器視覺系統的前端和信息來源。
圖像處理和分析 計算機通過圖像處理軟件對圖像進行處理,分析獲取其中的有用信息。如PCB板的圖像中是否存在線路斷路、紡織品的圖像中是否存在疵點、文檔圖像中存在哪些文字等。這是整個機器視覺系統的核心。
判斷和控制 圖像處理獲得的信息最終用于對對象(被測物體、環境)的判斷,并形成對應的控制指令,發送給相應的機構。如攝取的零件圖像中,計算零件的尺寸是否與標準一致,不一致則發出報警,做出標記或進行剔除。
在整個過程中,被測對象的信息反映為圖像信息,進而經過分析,從中得到特征描述信息,最后根據獲得的特征進行判斷和動作。最典型的機器視覺系統一般包括: 光源、光學成像系統、相機、圖像采集卡、圖像處理硬件平臺、圖像和視覺信息處理軟件、通信模塊。
總體上,一個成功的機器視覺系統需要重點解決圖像采集(包括光源、光學成像、數字圖像獲取與傳輸)、圖像處理分析幾個環節的關鍵技術。
照明設計
照明是機器視覺系統中極其重要而又容易為人忽視的環節。其設計是機器視覺系統設計的重要步驟,直接關系著系統的成敗和性能。因為照明直接作用于系統的原始輸入,對輸入數據質量的好壞有直接的影響。光源決不僅僅是為了照亮物體,通過有效的光源設計可以令需要檢測的特征突出,同時抑制不需要的干擾特征,給后端的圖像處理帶來極大的便利。而不恰當的照明方案會造成圖像亮度不均勻,干擾增加,有效特征與背景難以區分,令圖像處理變得極其困難,甚至成為不可能完成的任務。
照明設計主要包括三個方面: 光源、目標和環境的光反射和傳送特性、光源的結構。由于被測對象、環境和檢測要求千差萬別,因而不存在通用的機器視覺照明設備,需要針對每個具體的案例來設計照明的方案,要考慮物體和特征的光學特性、距離、背景,根據檢測要求具體選擇光的強度、顏色和光譜組成、均勻性、光源的形狀、照射方式等。
照明設計是一項非常復雜的工作,不僅需要理論知識和分析能力,也常常需要反復的試驗和調整?!肮庠词腔鶞?,打光是藝術”,這句話道出了照明設計在機器視覺系統中的重要地位。由此也催生了一批以生產光源著稱的廠商,如CCS、Moritex、東冠科技。國內如凌云公司等系統集成商也開始開發自主的光源產品。
光學成像系統與相機
機器視覺系統中,鏡頭相當于人的眼睛,其主要作用是將目標的光學圖像聚焦在圖像傳感器(相機)的光敏面陣上。視覺系統處理的所有圖像信息均通過鏡頭得到,鏡頭的質量直接影響到視覺系統的整體性能。一旦信息在成像系統有嚴重損失,在后面的環節中試圖恢復是非常困難的。合理選擇鏡頭、設計成像光路是視覺系統的關鍵技術之一。
鏡頭成像或多或少會存在畸變。較大的畸變會給視覺系統帶來很大困擾,在成像設計時應對此有詳細的考慮,包括選用畸變小的鏡頭,有效視場只取畸變較小的中心視場等。鏡頭另一個特性是其光譜特性,主要受鏡頭鍍膜的干涉特性和材料的吸收特性影響。要求盡量做到鏡頭最高分辨率的光線應與照明波長、CCD器件接受波長相匹配,并使光學鏡頭對該波長的光線透過率盡可能提高。在成像系統中選用適當的濾光片可以達到一些特殊的效果。另外,成像光路的設計還需要重視各種雜散光的影響。
相機是一個光電轉換器件,它將光學成像系統所形成的光學圖像轉變成視頻/數字電信號。相機通常由核心的光電轉換器件、外圍電路、輸出/控制接口組成。目前最常用的光電轉換器件為CCD,其特點是以電荷為信號,而不像其他器件輸出電流或者電壓信號。上世紀90年代,一種新的圖像傳感器開始興起,這種相機稱為CMOS(Complementary Metal Oxide Semiconductor,互補金屬氧化物半導體)相機。
對相機除了考察其光電轉換器件外,還應考慮系統速度、檢測的視野范圍、系統所要達到的精度等因素。
相機輸出的模擬視頻信號并不能為計算機直接識別,圖像采集卡通過對模擬視頻信號的量化處理將模擬視頻信號數字化,形成計算機能直接處理的數字圖像,并提供與計算機的高速接口。圖像采集卡需要實時完成高速、大數據量的圖像數據采集,必須與相機協調工作,才能完成特定的任務。除A/D轉換外,圖像采集卡還具備其他一些功能,包括:
● 接收來自數字相機的高速數據流,并通過計算機高速總線傳輸至系統存儲器;
● 對多通道圖像接收、處理和重構;
● 對相機及系統其他模塊進行功能控制。
圖像和視覺信息處理
上述機器視覺系統的前端環節,包括光源、鏡頭、相機等,都是為圖像和視覺信息處理模塊準備素材。這一模塊才是機器視覺系統的關鍵和核心,它通過對圖像的處理、分析和識別實現對特定目標和特征的檢測。這一模塊包括機器視覺處理軟件和處理硬件平臺兩個部分,其中視覺處理軟件可以分為圖像預處理和特征分析理解兩個層次。圖像預處理包括圖像增強、數據編碼、平滑、銳化、分割、去噪、恢復等過程,用于改善圖像質量。圖像特征分析理解是對目標圖像進行檢測和各種物理量的計算,以獲得對目標圖像的客觀描述,主要包括圖像分割、特征提?。◣缀涡螤?、邊界描述、紋理特性)等。
機器視覺中常用的算法包括: 搜索、邊緣(Edge)、Blob分析、卡尺工具(Caliper Tool)、光學字符識別、色彩分析。
優秀的機器視覺軟件可對圖像中目標特征進行快速而準確的檢測,對圖像的適應性強; 而不好的軟件則存在速度慢、結果不準確、魯棒性差的缺點。