張望,王俊生,趙凱,林遠海,陳彥彤,宋明珠
(大連海事大學 信息科學技術學院,遼寧 大連)
《機器視覺》是計算機科學與技術、光電信息科學與工程、機械電子工程等相關專業的重要課程,該課程的教學內容主要是對圖像進行采集和處理,作為教學重點的圖像處理過程一般包括預處理、特征提取和目標識別。利用機器視覺技術能夠實現缺陷檢測、尺寸測量、視覺定位、模式識別等多種功能,其應用領域包含了自動駕駛、虛擬現實、工業視覺、圖像解釋、人機交互、物體識別、智能安防、醫學影像分析等眾多與人們生產、生活密切相關的方面,已成為人工智能領域最具發展前景、發展最為快速的一個分支[1-3]。目前,谷歌、臉書、亞馬遜等國際互聯網巨頭掀起了機器視覺技術發展的浪潮,國內也崛起了如商湯科技、大疆創新、格靈深瞳等諸多創業公司,對相關人才的需求與日俱增[4]。
隨著工業4.0時代的開啟,培養符合新工科背景的應用型創新人才成為機器視覺相關專業的切實需要[5]。為滿足工程認證標準的機器視覺實驗教學要求,大連海事大學與大連明佳智能裝備有限公司聯合研發了基于機器視覺的光電檢測創新實訓平臺。該平臺以元件統計、細胞分類、形貌測量、車牌識別、掃碼支付等工業應用為背景,抽象出藥丸的計數、紐扣的分類、幾何圖形的測量、數字符號的識別、條形碼和二維碼的分析等設計性實驗項目,并在三年的教學實踐過程中取得良好效果。同時,在教學過程中也發現了若干問題,其主要表現在學生無法應對圖像中共存的多種干擾因素,而導致特征提取和目標識別失敗,并且難以衡量各種干擾所導致的影響程度,而產生焦躁情緒和畏懼心理。為此,專業實驗中心組織中青年骨干教師開發了機器視覺虛擬仿真實驗教學系統,利用虛擬仿真技術在圖像中定量添加干擾,由淺入深地引導學生完成復雜的圖像處理任務。
機器視覺虛擬仿真實驗教學系統基于NI公司的LabVIEW軟件平臺開發,主要由視景仿真和成像仿真兩大部分構成,如圖1所示。其中視景仿真提供了藥丸的計數、紐扣的分類、幾何圖形的測量、數字符號的識別、條形碼和二維碼的分析等多種具有實際工業應用背景的原始視景圖像,成像仿真則可對視景圖像的曝光、顏色、模糊、噪聲、透視和旋轉等參數進行定量調節,從而仿真工業應用中可能存在的不同干擾因素影響。系統的后端則與MATLAB軟件相對接,保持其與機器視覺理論課程所使用圖像處理工具的一致性,便于學生運用理論課程所掌握的算法進行圖像處理。

圖1 虛擬仿真系統的構成
LabVIEW軟件平臺采用模塊化的圖形編程方式,提供功能豐富的視覺開發包(Vision Development Module),具備良好的第三方軟件和標準硬件設備兼容性,對機器視覺虛擬仿真實驗教學系統的開發帶來諸多便利。該系統的運作流程首先是根據實驗要求選擇合適的圖像輸入源,并通過設定篩選條件獲取原始視景圖像。然后調節成像仿真參數,得到附加有定量干擾因素影響的仿真圖像。進而可在MATLAB軟件中進行圖像處理算法的驗證,并將圖像處理結果反饋至仿真平臺,再根據對比結果改進圖像處理算法或調整仿真參數。在這個過程中,通??上冗x取簡單目標并附加某一種干擾因素,然后逐漸增加目標的復雜性和干擾因素的種類,循序漸進地提升目標識別的準確性。
視景仿真的主要功能是根據設定的條件從輸入源中篩選出特定的原始視景圖像,如圖2所示。視景仿真提供了標準視景圖像數據庫和自定義圖像兩種輸入源,其中標準視景圖像數據庫是視景圖像的主要來源,涉及的內容分別是藥丸的計數、紐扣的分類、幾何圖形的測量、數字符號的識別、條形碼和二維碼的分析。藥丸的計數來源于電子制造應用中的元件統計,主要關注藥丸的位置和方向;紐扣的分類來源于微生物檢測應用中的細胞分類,主要關注紐扣內部的邊緣特征;幾何圖形的測量來源于機械制造中的零件加工,主要關注幾何形貌的測量;數字符號的識別來源于廣泛應用的車牌辨識,主要關注模板匹配的運用;條形碼和二維碼的分析來源于方興未艾的掃碼支付,主要關注解碼算法的運用[6-8]。

圖2 視景仿真部分的人機交互界面
為充分展現不同視景內容的圖像特征,標準視景圖像數據庫由405張實物圖像和135張SolidWorks建模生成的圖像構成。由于實物圖像是在小型攝影棚中拍攝的正視圖像,圖像中含有的干擾因素基本可以忽略,并且相對于SolidWorks建模生成的圖像更為逼真,所以實驗教學中更受到學生的歡迎。在獲取視景圖像時,可通過數量、種類、位置和方向進行篩選。較少的數量和種類對應較簡單的位置和方向變化,圖像處理難度較低。隨著數量和種類的增加,位置和方向的變化將更加復雜,對圖像處理算法提出了更高要求,能夠與從簡到繁、從易到難的認知和實踐規律相適應。自定義圖像則可有效增強視景仿真圖像輸入的靈活性,既方便學生向虛擬仿真系統中引入不同內容的圖像,也方便教師在考核學生算法效果時使用標準數據庫之外的圖像。
此外,秉持著以虛補實、虛實結合的原則,將視景仿真部分與實驗室原有的基于機器視覺的光電檢測創新實訓平臺進行了對接。借助于LabVIEW良好的硬件設備兼容性,實現了與創新實訓平臺中位置傳感器的通訊,從而在待檢目標到達視場的特定區域時,可截取創新實訓平臺中USB攝像頭的圖像作為視景圖像輸入到虛擬仿真實驗教學系統中。這使得學生通過虛擬仿真系統驗證圖像處理算法后,能夠直接在創新實訓平臺上測試其實際應用效果。
成像仿真的主要功能是通過圖像變換來模擬工業應用中可能存在的不同干擾因素影響,包含了曝光調節、顏色調節、模糊調節、噪聲調節、透視調節和旋轉調節幾個模塊,如圖3所示。其中曝光調節和顏色調節用以模擬工業應用中環境光線變化對成像產生的影響;噪聲調節和模糊程度調節用以模擬灰塵和霧氣產生的影響;透視調節和旋轉調節則可模擬出攝像頭從不同角度拍攝時產生的變化[9-11]。

圖3 成像仿真部分的人機交互界面
曝光調節和顏色調節的本質都是對圖像色彩表現的調節,可以使用LabVIEW中視覺開發包所提供的IMAQ ColorBCGLookup VI來實現。IMAQ ColorBCGLookup VI能夠分別調節彩色圖像中R(紅)、G(綠)、B(藍)三個顏色通道的亮度和對比度,當同時改變三個通道的亮度時,圖像就會表現出整體亮度的改變,當只改變單個通道的亮度時,圖像則會表現出偏色的效果[12]。同樣地,當同時改變三個通道的對比度時,圖像的整體對比度便會隨之產生變化。在人機交互界面上將亮度和對比度的整體調節放在曝光調節模塊中,用以模擬光照強弱改變對圖像產生的影響,而將R、G、B通道單獨的亮度調節放在顏色調節模塊中,用以模擬使用不同光源時產生的偏色影響。
模糊調節是模擬霧氣對圖像產生的影響,噪聲調節是模擬灰塵對成像產生的影響,盡管二者都是模擬工業環境中不潔凈空氣造成的圖像質量下降,但在仿真過程中的具體處理方法存在明顯區別[13]。空氣中霧氣對圖像產生的影響主要表現為模糊效果,同時也會伴隨亮度和對比度的降低[14]。圖像模糊效果可簡單地利用線性空間濾波來實現,LabVIEW視覺開發包中相應地提供了IMAQ Convolute,如圖4所示。在調用IMAQ Convolute時,除了輸入圖像外還要輸入卷積矩陣和歸一化因子兩個重要參數,圖像源會與卷積矩陣進行卷積運算來實現濾波,最后再除以歸一化因子。卷積矩陣通常應為m*m(m取奇數)的形式,通過調整卷積矩陣的大小就可以相應地改變圖像的模糊程度。

圖4 利用IMAQ Convolute調節模糊程度
空氣中呈顆粒狀的灰塵通常會在圖像上產生隨機分布的噪聲點,所以可通過添加椒鹽噪聲的方法來模擬,但LabVIEW視覺開發包中并沒有與之對應的功能模塊可用。為了滿足執行復雜數學運算的需求,LabVIEW提供了具有完整.m文件編譯器的MathScrip Node,可以處理大多數在MATLAB或兼容環境中創建的文本腳本,如圖5所示。首先將圖像源轉換為二維數組格式作為輸入,同時輸入噪聲密度控制參數a,然后在MathScrip Node中使用MATLAB處理圖像時常用的imniose函數添加噪聲,最后再將輸出的二維數組轉換為原來的圖像格式。

圖5 利用MathScrip Node添加椒鹽噪聲
透視調節和旋轉調節通常需要配合使用才能模擬出攝像頭從不同角度拍攝目標時產生的變化效果,前者用于模擬近大遠小的透視效果,后者用于模擬圖像的旋轉效果[15]。在工業環境中使用攝像頭拍攝時,通常難以保證使其正視目標物,從而導致圖像中的目標產生近大遠小的透視效果。為了模擬這一效果,可以在正視圖像中取一個矩形,按照透視原理將其拉伸成一個不規則四邊形。然后利用不規則四邊形的四個頂點和原矩形的四個頂點位置關系求得一個變換矩陣,再把這個變換矩陣作用于原圖像的全部范圍上,即可得到預期的透視效果。對于這種相對復雜的變換,同樣需要使用MathScrip Node來實現。此外,在工業環境中安裝攝像頭時,無論是安裝位置的限制還是固有的安裝誤差,都會導致拍攝到的圖像產生一定的旋轉,可利用LabVIEW提供的IMAQ Rotate進行模擬。
通過在視景仿真中設定數量、種類、位置和方向條件,從輸入源中篩選出特定的原始視景圖像,再經過成像仿真添加曝光、顏色、模糊、噪聲、透視和旋轉調節效果,最終得到了圖6所示的仿真圖像。此時,點擊圖3中的“結果輸出”按鈕,與圖像相關的視景仿真和成像仿真信息會顯示在“目標特征參數”一欄中,并將仿真圖像結果輸出至特定的中轉用文件中,同時會有一條圖像更新信息通過虛擬串口發送至MATLAB軟件。隨后,學生便可在MATLAB軟件中對該圖像進行處理,實踐機器視覺理論課中學到的各種算法。待所采用的圖像處理算法能夠獲得穩定輸出后,還可以在其中加入串口通信功能。使MATLAB編寫的圖像處理程序能夠接收虛擬仿真系統發送圖像更新信息,進而自動讀取中轉文件中的圖像并進行處理,再將處理得到的數量、種類、位置和方向等目標特征參數反饋給仿真系統。虛擬仿真系統則會對比輸出的目標特征參數和反饋的目標特征參數,并根據特征參數的復雜程度給出相應評分,從而為考核學生編寫的圖像處理算法效能提供定量參考。

圖6 圖像在虛擬仿真系統中的變換
為提高學生在機器視覺實驗中處理復雜圖像任務的成功率,專業實驗中心的多位教師合作開發了機器視覺虛擬仿真實驗教學系統。該系統涵蓋了5個具有工業背景的實驗項目,能夠提供3種輸入源和540張的標準視景圖像,可以定量調節圖像的曝光、顏色、模糊、噪聲、透視和旋轉參數,用來模擬工業應用中可能存在的不同干擾因素影響。學生先通過包含簡單目標和某一種干擾的圖像來熟悉處理過程,再針對繁雜目標和多種干擾因素進行不斷優化,循序漸進地提升目標識別的準確性和算法的適用性,從而完成復雜的機器視覺處理任務。此外,機器視覺虛擬仿真實驗教學系統有效保障了新冠疫情期間線上實驗教學的順利實施,后續工作將進一步優化其與基于機器視覺的光電檢測創新實訓平臺的對接,為實現機器視覺實驗的線上線下混合式教學提供支撐。