王 璜,李九靈,代 新,馮 維
(1湖北工業(yè)大學機械工程學院,湖北 武漢430068;2天津大學精密儀器與光電子工程學院,天津300072;3湖北省現代制造質量工程重點實驗室,湖北武漢430068;4武漢科技大學機械自動化學院,湖北 武漢430081))
隨著微電子技術的發(fā)展,基于DSP-FPGA的可重構機器視覺技術日益受到青睞,研究愈加廣泛.國內浙江大學蔣慶等[1]、北京航空航天大學趙振華等[2]設計了嵌入式可重構的DSP圖像處理系統(tǒng).江南大學[3]、杭州電子科技大學[4]、湖北工業(yè)大學的研究者[5]對算法可重構的機器視覺檢測研究多年,解決了機器視覺系統(tǒng)在某些特定領域的可重構問題.筆者通過對數字圖像處理理論與方法的研究,嘗試基于Visual C++開發(fā)一套可重用的機器視覺算法庫.該庫囊括了圖像處理的主要功能,能夠實現圖像預處理、圖像分割、特征識別與提取等功能.對于流水線上、不間斷運動的連續(xù)物體視覺可識別量的在線檢測,突出算法的通用性,并通過長期的試驗積累,對常用算法加以改進,以滿足線陣CCD圖像系統(tǒng)海量序列圖像、并行計算、累積性圖像劣化等特點.同時,算法采取參數化設計,以經典算法為模版,將核心參數設置為可調,方便編程實現.通過對多種物體的檢測實驗,該庫對于加速理論論證、算法選取、系統(tǒng)實現有著較大幫助,有利于機器視覺系統(tǒng)的推廣,滿足企業(yè)日益增長的自動化檢測的實際需求.
一套完整的機器視覺系統(tǒng)包含硬件和軟件兩部分.系統(tǒng)硬件實現圖像采集、各類信號的發(fā)出與處理、控制執(zhí)行機構等功能,圖像處理軟件也固化在PC等硬件中.
圖像經采集系統(tǒng)傳入計算機,經處理識別提取特征量,再將后續(xù)操作指令輸出(圖1).
圖1 系統(tǒng)處理流程
圖像采集模塊主要包含相機、光源、信號同步等硬件.常用相機主要采用CCD、CMOS兩種芯片.CMOS因生產簡單、成本低而得以較快普及,但是CMOS成像質量相較于CCD差,特別在噪聲控制上存在較大差距,使得CMOS在高端應用中鮮有建樹.CCD盡管制造復雜,成本高昂,但因其能保證在復雜工業(yè)條件下取得良好的圖像,仍占據目前市場主流.相機工作方式則主要分為面掃描與線掃描兩種.光源的選擇很多,如常用的LED光源、日光燈、鹵素燈等,并且各種光源在形態(tài)、規(guī)格上也千差萬別.因此,為實現可重構的機器視覺檢測系統(tǒng),其硬件采集模塊往往采取針對性設計,具體到不同檢測對象,采用不用的相機、光源等.
圖像處理模塊相對圖像采集模塊而言,其復雜程度有過之而無不及.圖像處理模塊同樣依存硬件而工作.目前,能用于圖像處理的硬件種類很多,常用的主要有:計算機、FPGA+DSP、單片機等.其中,計算機由于其計算能力強、可移植性好等一系列特點而成為主流.盡管機器視覺硬件的發(fā)展十分迅速,但軟件則更新較慢,Microsoft公司的Visual C++仍然是最為高效的圖像處理編程工具.
當機器視覺系統(tǒng)完成圖像采集、圖像處理、被測量識別與分類之后,將可用于控制系統(tǒng)或顯示模塊的信號進行輸出.
2.1.1 圖像間運算 圖像間的算術運算與邏輯運算是圖像處理最為直觀和有效的方法,許多常見的圖像處理技術均基于此,如在民用領域大量應用的高動態(tài)技術(HDR)、寬動態(tài)技術(WDR)等,都是通過多次曝光然后再由軟件合成為單幅圖像.但這種技術在工業(yè)應用中卻有著很大的局限性.例如在處理鋼帶、紙張、紡織等具有連續(xù)性的被檢對象時,被檢對象不斷向前運動,很難有時間反復采集圖像,往往連能夠得到一幅理想圖像都十分困難.因此,圖像間的加法運算應用較少.圖像間的減法則可用于運動物體的檢測;另外,圖像間的減法或除法也可用于校正由于光源或傳感器的非均勻性造成的圖像灰度陰影,在寬門幅物體圖像采集中需定期采用這種手段檢查光源是否存在局部光照衰減過快的問題,也可直接用于校正圖像.
2.1.2 直方圖均勻化 直方圖是分析圖像的重要工具,從直方圖中能直觀看出灰度分布情況.直方圖中灰度值的集中程度反映了圖像的對比度;灰度值集合偏左或偏右則能說明圖像是否存在曝光不足或過爆.直方圖均勻化就是通過“調整”直方圖,實現增加圖像動態(tài)范圍的目的.從圖2中可看出,直方圖均衡化盡管增強圖像對比度,但是也增加了圖像的可視顆粒.
2.1.3 平滑濾波算子 圖像處理中,噪聲時常會帶來圖像退化的問題.噪聲的來源很多,如圖像采集傳送中所受的干擾、直方圖均勻化后增加的可視顆粒,這些噪聲的存在都將會對后續(xù)被測量特征提取帶來不確定因素,有可能增加系統(tǒng)實現難度.為解決這一問題,常常在圖像預處理時,對圖像進行平滑濾波.
濾波的概念來源于數字信號處理.圖像是數字信號的一種,通常將一幅數字圖像定義為一個二維函數f(x,y),其中x與y是縱橫坐標.濾波可以分為線性濾波和非線性濾波.
圖2 直方圖均勻化
空間濾波器以處理效果可分為平滑空間濾波器與銳化空間濾波器,平滑濾波器用于圖像去噪和模糊處理,銳化濾波器的使用則是為了突出圖像的細節(jié)信息.線性濾波器是線性系統(tǒng)和頻域濾波概念在空域的延伸,其特征是使用連續(xù)窗函數內像素的加權和實現圖像濾波.設在M×N圖像f(x,y)上,使用m×n大小的濾波掩模進行線性濾波可表示為:
最為常見的線性平滑濾波器諸如算術均值濾波器、幾何均值濾波器等.它們算法簡單,但常常出現過度平滑現象,導致丟失大量細節(jié),因此這些濾波器均不能滿足工業(yè)檢測對精度的高要求.當信號很平穩(wěn)且噪聲是高斯噪聲,則其所需要的線性濾波器就是最小均方差和高斯濾波器.高斯濾波器適合于消除高斯噪聲,應用廣泛.然而,某些不合理的操作會使得目標的邊緣過于平緩,在一定程度上造成圖像模糊.
非線性濾波器相對線性濾波而言,其結果值直接取決于像素鄰域的值,而與線性卷積無關,它包括中值濾波、最大最小值濾波器等等.
因此,濾波器的選擇與設計首要考慮的就是其所針對的噪聲類型,對于不同的圖像,濾波器的濾波效果千差萬別,針對性強的濾波器決定了圖像預處理的優(yōu)劣.
數字圖像處理中,圖像在采集、傳輸、預處理等環(huán)節(jié)的不當操作都能夠引起圖像銳度降低,被檢對象邊緣弱化,必將導致圖像特征的識別與提取變得困難.行之有效的圖像增強方法是決定機器視覺系統(tǒng)成敗的關鍵因素.
常見的空間域銳化濾波是以空間微分來實現的.微分算子的響應強度與圖像在該點的灰度突變程度相關,即增強邊緣和其他突變,減弱灰度變化平緩區(qū)域,也成為梯度.空間域銳化濾波算子可分為一階微分算子和二階微分算子.常見的一階微分算子主要有Roberts、Prewitt、Sobel等;二階微分算子則用到Laplace.Roberts也稱為交叉梯度算子,為2×2的濾波窗,根據任意一對相互垂直方向的差分來進行計算,該算子對噪聲敏感,且使用不便;Prewitt、Sobel是實踐中運用最為廣泛的梯度算子,對于水平或豎直方向邊緣起作用.式(2)已經指出,圖像梯度可分解為x,y兩個方向的梯度,即:
3×3的圖像領域內以第三行和第一行之差近似表示x向的導數,以第三列和第一列之差近似表示y向的導數,同時,模板系數之和為零,即保證灰度不變區(qū)域的響應為零.Sobel與Prewitt區(qū)別在于模板的中心系數權值λ不同,Sobel算子權值一般取為2,使其對噪聲的敏感程度降低,邊緣增強效果也好于Prewit算子.
Laplace則是二階微分算子的代表.從圖中即可發(fā)現,Laplace算子是各向同性的,導致其無法識別邊緣方向;另一方面,由于中心點較大的權值,使其對點具有良好的識別能力,同時,也意味著拉普拉斯算子對噪聲將極為敏感.
圖3 圖像邊緣的微分
圖像中,通常除被檢對象外還有背景存在.檢測量的特征提取首要任務就是將目標與背景分開——即圖像分割,之后再對目標做進一步處理,分割結果的好壞直接影響對圖像的理解.
由于被檢對象圖像的顯著差異性,通用型算法很難實現,圖像分割更是如此.特別是圖像分割選取閾值至關重要,而閾值又往往依賴于圖像統(tǒng)計學特征.因此,圖像分割不僅在不同檢測對象上大相徑庭,而且可能在檢測同一對象的不同圖像序列時也存在細微差距.
筆者主要從事流水線上、不間斷運動的連續(xù)物體視覺可識別量的在線檢測,在研究中發(fā)現,這類物體檢測有以下兩個特點:1)工作時間長;2)長期工作后,系統(tǒng)模型穩(wěn)定性降低,特別是光照條件發(fā)生改變的幾率很大.在這種情況下,閾值分割容易出現圖像序列前后時間點圖像分割差異顯著,甚至是某些寬門幅物體檢測中,可能在同一圖像不同區(qū)域也存在這種問題.
為避免在圖像分割中,由于光照等因素導致的圖像信息錯誤,實際中運用的圖像分割方法應具有自適應性,以保障圖像分割的準確性.
工業(yè)檢測中的機器視覺系統(tǒng)實際上可看作是多參數確定,少數參數可變的模型整體相對穩(wěn)定,且變化規(guī)律可把握.如在寬門幅檢測中常用的LED條形光源,LED均作陣列布置,其間距相等.若某一LED亮度退化,可根據LED光強、光照距離等估算出基本退化單元,以此對圖像統(tǒng)計特征進行區(qū)域劃分,根據不同區(qū)域的統(tǒng)計學特征調整閾值.
數學形態(tài)學表示以形態(tài)為基礎對圖像進行分析的數學工具,它的基本思想是用具有一定形態(tài)的結構元素,去量度和提取圖像中的對應形狀,以達到對圖像分析和識別的目的.數學形態(tài)學的應用可以簡化圖像數據,保持它們基本的形狀特性,并除去不相干的結構.[6]數學形態(tài)學的算法具有天然的并行實現的結構.數學形態(tài)學的基本運算主要有四個:膨脹、腐蝕、開運算、閉運算,通過這些基本運算可組合并調整參數實現各種數學形態(tài)學算法.數學形態(tài)學可用于二值圖像、灰度圖像的處理.
面對不同的檢測對象,首先從算法庫中取出潛在可行算法,送入算法選擇模塊.根據算法效果、效率、接口等條件對算法進行篩選.如果可行,就重用;若不可行,重新選擇.
圖4 圖像處理算法重用流程
筆者以網孔織物為研究對象來測試本算法庫.網孔織物的在線檢測,主要面臨如下幾個問題:1)織物門幅不一;2)檢測速度存在波動;3)張力導致的孔徑變化;4)缺陷尺寸差距巨大,部分缺陷大于單圖像范圍;5)織物與背景的空占比大.針對這些問題,筆者設計了一套多相機并行處理的機器視覺在線檢測系統(tǒng),利用本算法庫重構了一套圖像處理軟件.這里選擇端部的一臺相機所采集圖像為例.經過圖2的預處理,可以看出圖像中的可視顆粒增多,與噪聲十分類似,這為后續(xù)處理帶來干擾.因此,增加平滑濾波,再由閾值分割與形態(tài)學處理分離出織物的邊緣與缺陷.
從圖5中可以看出,在檢測過程中,織物邊緣存在波動,這將給織物門幅的測量帶來影響.這里對織物邊緣多次采樣,然后依照廠標,對織物門幅進行測量并輸出數據(圖6).
本文限于篇幅,無法對算法庫中所有算子逐一梳理,主要將其中重用頻率較高的算法設計加以介紹,并通過導爆管和網孔織物的檢測試驗舉例說明.由處理結果可見,本文提出的算法庫有利于加速項目推進,且效果較好.
[1] 蔣 慶,蔡晉輝,邊紹輝,等.基于機器視覺的空瓶圖像檢測系統(tǒng)[J].糧油加工與食品機械,2003(10):51-53.
[2] 趙振華,鄭 紅.嵌入式可重構的多DSP圖像并行處理系統(tǒng)[J].單片機與嵌入式系統(tǒng)應用,2009(2):12-15.
[3] 陳祎,白瑞林,趙 潔,等.嵌入式機器視覺檢測軟件的構件化設計[J].自動化儀表,2011,32(10):9-13.
[4] 龍智帆,孫志海,孔萬增.算法可重構的工業(yè)視覺飲料瓶蓋缺陷檢測[J].杭州電子科技大學學報,2012,32(2):47-51.
[5] 趙大興,王 璜,朱錦雷.基于機器視覺的織物疵點檢測系統(tǒng)[J].湖北工業(yè)大學學報,2008,23(6):73-75.
[6] 章毓晉.圖像分析[M].北京:清華大學出版社,2005.