殷蘇民,鮑紅力,吉彬斌,劉金亮,張建剛
(江蘇大學(xué)機(jī)械工程學(xué)院,江蘇鎮(zhèn)江 212013)
某汽車(chē)發(fā)動(dòng)機(jī)鑄件生產(chǎn)企業(yè)在產(chǎn)品下線之前,要求對(duì)工件外觀進(jìn)行檢驗(yàn),防止有缺陷的不合格工件出廠,對(duì)后續(xù)的機(jī)械加工設(shè)備產(chǎn)生不良影響。傳統(tǒng)的檢測(cè)方法是根據(jù)檢測(cè)要求進(jìn)行人工目測(cè),這種測(cè)量方法檢測(cè)效率低,勞動(dòng)強(qiáng)度大,并且檢測(cè)結(jié)果受檢測(cè)人員的主觀影響較大。為此,在實(shí)際生產(chǎn)線上采用機(jī)器視覺(jué)系統(tǒng)進(jìn)行在線檢測(cè),自動(dòng)識(shí)別工件的瑕疵,實(shí)現(xiàn)質(zhì)量檢測(cè)的自動(dòng)化,以提高生產(chǎn)效率,減輕勞動(dòng)強(qiáng)度,提高檢測(cè)質(zhì)量。本文討論的圖像模板匹配技術(shù)即是視覺(jué)系統(tǒng)中采用的一種信息處理方法,也是圖像處理中一個(gè)很重要的研究方向。圖像匹配方法有多種:基于灰度信息、基于特征、基于變換域[1]。本文針對(duì)發(fā)動(dòng)機(jī)缸體圖像自身的特點(diǎn),在基于灰度匹配算法的基礎(chǔ)上,提出一種基于圖像小區(qū)域的模板匹配算法,在實(shí)際應(yīng)用中獲得了良好的識(shí)別效果。
圖像匹配是對(duì)兩幅圖像在灰度和空間上的配準(zhǔn),一般的圖像匹配技術(shù)是利用已知的模板利用某種算法對(duì)識(shí)別圖像進(jìn)行匹配計(jì)算,進(jìn)而獲得圖像中是否含有該模板的信息和坐標(biāo)。如圖1所示,匹配模板就是待匹配圖像中的一幅已知的小圖像(大小為m×n),而模板匹配就是在待匹配圖像中(大小為M×N)搜尋含有匹配模板信息(這些信息主要包括灰度值等)的目標(biāo),通過(guò)一定的算法使匹配模板在待匹配圖像中找到所要匹配的目標(biāo)匹配區(qū)域,并確定目標(biāo)匹配區(qū)域的坐標(biāo)位置和相似度。
由于在圖像中含有最多的信息就是灰度值,所以,如何依靠灰度值進(jìn)行模板匹配成為了目前研究模板匹配的重要方法之一。對(duì)于特定目標(biāo)進(jìn)行模板灰度匹配時(shí),對(duì)灰度匹配的模板圖像要求較高,通常要使用合格的圖像作為基準(zhǔn)圖像,再在基準(zhǔn)圖像上構(gòu)建待搜索圖像S(大小為M×N),并選擇具有明顯特征的小區(qū)域作為模板圖T(大小為m×n),設(shè) Si,j為模板覆蓋下的子圖 (i,j為子圖的 左 上角像素在S圖中的坐標(biāo));可以對(duì)灰度匹配原理描述如下:Si,j(m,n)和T(m,n)分別為搜索子圖和模板中圖位于m×n處得像素灰度,比較 Si,j(m,n)和 T(m ×n)的內(nèi)容,求出二者的相關(guān)函數(shù) f(i,j)來(lái)衡量 Si,j(m,n)和 T(m,n)的相似程度。相似程度計(jì)算公式由具體的灰度算法決定。
圖1 模板匹配原理Fig 1 Template matching principle
依據(jù)上述原理,可以建立相應(yīng)的灰度值匹配數(shù)學(xué)模型,假設(shè)S為待匹配圖像的二維坐標(biāo)數(shù)組,T為模板圖像的二維坐標(biāo)數(shù)組,I1(x,y)和I2(x,y)分別為待匹配圖和模板圖像空間位置處的灰度值,兩幅圖像的匹配表達(dá)式可以表示為
利用上述等式作為依據(jù)來(lái)進(jìn)行灰度匹配。
由于本文的研究對(duì)象是發(fā)動(dòng)機(jī)缸體,其尺寸較大,形狀復(fù)雜,缸體灰度顏色相近,對(duì)整幅圖直接進(jìn)行圖像匹配時(shí),算法處理速度較慢,甚至?xí)霈F(xiàn)誤判和錯(cuò)判現(xiàn)象。依據(jù)文獻(xiàn)[2]可知,被搜索圖像越大,匹配速度越慢,模板越小,匹配速度越快。因此,為了提高匹配速度和精度,本文提出對(duì)發(fā)動(dòng)機(jī)缸體圖像進(jìn)行區(qū)域分割,進(jìn)行基于小區(qū)域的模板圖像匹配。該方法是在保證圖像質(zhì)量的前提下,通過(guò)進(jìn)行區(qū)域模板分割,減少找到匹配目標(biāo)所需用的匹配時(shí)間。根據(jù)模板圖像與各面待匹配圖像的特征和大小對(duì)待匹配圖像進(jìn)行區(qū)域分割,以使匹配的時(shí)候可以更好地得到待匹配圖像中各個(gè)區(qū)域與模板中對(duì)應(yīng)區(qū)域的相似性和灰度值。在區(qū)域分割完成后,將多個(gè)小區(qū)域模板進(jìn)行集合,并用數(shù)值依次對(duì)它們進(jìn)行區(qū)域編號(hào),使其在進(jìn)行圖像匹配時(shí),能夠根據(jù)具體的要求方便地調(diào)用相應(yīng)的區(qū)域模板。
進(jìn)行區(qū)域分割后,要對(duì)待匹配圖像進(jìn)行灰度匹配?;叶绕ヅ淠軌颢@得比較高的定位精度,在灰度匹配中通常采用2種方法來(lái)衡量模板圖T(m,n)和待匹配圖Si,j的相似程度:歸一化互相關(guān)(normalized cross-correlation,NCC)算法和序貫相似檢測(cè)算法(sequence similarity detection algorithm,SSDA)。
NCC算法[3]首先選擇一個(gè)大小為 m×n的模板圖T(m,n),然后在待搜索圖上循環(huán)選取m×n大小的區(qū)域,循環(huán)范圍是整幅待匹配圖S,循環(huán)匹配的過(guò)程中進(jìn)行NCC相似度計(jì)算,歸一化互相關(guān)算法得到的互相關(guān)值用于確定匹配的程度。NCC相似度公式為
根據(jù)施瓦茲不等式可以知道上式中0≤NCC(x,y)≤1,NCC的值越大,模板圖和待匹配圖的相似度越大。定義一個(gè)閾值 T,NCC(x,y)>T,匹配成功;反之,匹配失敗。
SSDA算法[4]的實(shí)現(xiàn)步驟如下:首先,選取一個(gè)誤差準(zhǔn)則作為終止不匹配點(diǎn)計(jì)算的標(biāo)準(zhǔn),通??蛇x取絕對(duì)誤差,即有
其中
其次,設(shè)定一個(gè)不變閾值Tk,匹配過(guò)程是在子圖象中隨機(jī)選取一點(diǎn),計(jì)算它與模板中相應(yīng)點(diǎn)的絕對(duì)誤差值ε,將每一隨機(jī)點(diǎn)對(duì)的誤差累加起來(lái),若累加到第r次時(shí)誤差超過(guò)設(shè)定閾值Tk,則停止累加,記下此時(shí)的累加次數(shù)r,同時(shí)定義SSDA算法檢測(cè)曲面為
并且在曲面最大值處對(duì)應(yīng)的位置即為模板最佳匹配位置。這是因?yàn)樵擖c(diǎn)需要多次累加誤差才能超過(guò)閾值,因此,相對(duì)于其他點(diǎn),它最有可能是匹配位置。
由于SSDA算法中閾值Tk的設(shè)置是固定的,因此,導(dǎo)致處理速度相對(duì)較慢,并且針對(duì)特定的圖像,閾值Tk需要重新設(shè)置,這樣就給自動(dòng)測(cè)量帶來(lái)很大的不便。如果通過(guò)設(shè)定一個(gè)動(dòng)態(tài)閾值Tk,對(duì)不在閾值Tk范圍的像素點(diǎn),跳過(guò)搜索不進(jìn)行比較,這樣可以減少搜索的像素點(diǎn)數(shù)和進(jìn)行相似度比較的次數(shù),有效地改進(jìn)圖像單閾值的搜索速度,利用動(dòng)態(tài)閾值的方法可以達(dá)到提高處理速度的目的。
文獻(xiàn)[5]中可知改進(jìn)的相似度計(jì)算公式為
利用公式(7),采用對(duì)模板圖像進(jìn)行粗細(xì)匹配相結(jié)合的方法進(jìn)行相似度計(jì)算,進(jìn)而找到匹配的最佳位置,并求出最佳匹配點(diǎn)和相似度。這種對(duì)SSDA算法進(jìn)行改進(jìn)的方法在匹配過(guò)程中有效地減少了相關(guān)性運(yùn)算次數(shù),達(dá)到了提高算法處理速度的目的。
在上述模板區(qū)域分割和匹配算法的理論指導(dǎo)下,本文基于小區(qū)域模板匹配的發(fā)動(dòng)機(jī)缸體檢測(cè)算法流程如圖2所示。
圖2 模板匹配算法流程圖Fig 2 Flow chart of template matching algorithm
1)取發(fā)動(dòng)機(jī)缸體的標(biāo)準(zhǔn)樣板圖像作為模板圖像,并進(jìn)行圖像采集;
2)對(duì)發(fā)動(dòng)機(jī)缸體圖像進(jìn)行區(qū)域分割;根據(jù)發(fā)動(dòng)機(jī)缸體側(cè)面的形狀參數(shù)進(jìn)行區(qū)域分割,在區(qū)域分割完成后,構(gòu)造多個(gè)小區(qū)域模板進(jìn)行集合,用數(shù)值依次對(duì)區(qū)域進(jìn)行編號(hào);
3)根據(jù)實(shí)驗(yàn)要求,調(diào)出所需的2個(gè)實(shí)驗(yàn)小區(qū)域模板;
4)對(duì)發(fā)動(dòng)機(jī)缸體進(jìn)行粗匹配;利用式(7)計(jì)算模板圖像與待搜索圖像隔m行n列的起始像素D(0,0)的值,所隔的行數(shù)和列數(shù)根據(jù)實(shí)際的模板圖來(lái)確定。此時(shí)的D(0,0)值作為初始閾值T,然后計(jì)算待匹配圖上其他像素位置(x,y)處的D(x,y)值,如果計(jì)算過(guò)程中 D(x,y)超過(guò) T,則停止計(jì)算此處的D(x,y),轉(zhuǎn)入進(jìn)行下一個(gè)像素點(diǎn)的計(jì)算,如果計(jì)算完所有的像素點(diǎn)后D(x,y)值仍小于T,則將此像素的位置定為相關(guān)匹配點(diǎn),并用D(x,y)值來(lái)更新閾值T后再重新進(jìn)行匹配,最后得到一個(gè)匹配后的粗匹配點(diǎn)集,粗匹配結(jié)束。粗匹配點(diǎn)集可以采用取最小的幾個(gè)粗匹配點(diǎn)或利用設(shè)定差值的方法來(lái)獲取。
5)對(duì)發(fā)動(dòng)機(jī)缸體進(jìn)行精匹配;在得到粗匹配點(diǎn)集后,對(duì)粗匹配點(diǎn)集上的每個(gè)點(diǎn)都進(jìn)行精匹配。以粗匹配位置點(diǎn)為中心,在一定的矩形區(qū)域范圍內(nèi)逐行逐列進(jìn)行計(jì)算,尋找最優(yōu)的匹配點(diǎn),最終得到搜索子圖和模板圖的最佳匹配值,計(jì)算出匹配點(diǎn)和相似度。
依據(jù)上述算法流程,在VC++6.0開(kāi)發(fā)環(huán)境下編寫(xiě)程序。選擇某一型號(hào)的汽車(chē)發(fā)動(dòng)機(jī)缸體區(qū)域劃分后的2個(gè)待匹配小區(qū)域進(jìn)行匹配計(jì)算。
區(qū)域Ⅰ和區(qū)域Ⅱ的匹配實(shí)驗(yàn)如圖3和圖4所示。
圖3 區(qū)域I實(shí)驗(yàn)Fig 3 RegionⅠexperiment
表1是對(duì)區(qū)域Ⅰ和區(qū)域Ⅱ采用傳統(tǒng)的NCC算法、SSDA算法和改進(jìn)SSDA算法進(jìn)行匹配的時(shí)間比較。
表1 不同方法的實(shí)驗(yàn)數(shù)據(jù)對(duì)比Tab 1 Comparison of experimental datas by different methods
本文在基于小區(qū)域模板匹配算法對(duì)發(fā)動(dòng)機(jī)缸體區(qū)域Ⅰ和區(qū)域Ⅱ多次實(shí)驗(yàn)的基礎(chǔ)上得出結(jié)論:在保證發(fā)動(dòng)機(jī)缸體要求的前提下,該方法能夠?qū)崿F(xiàn)發(fā)動(dòng)機(jī)缸體圖像缺陷識(shí)別,且運(yùn)算速度較快,能夠滿足實(shí)時(shí)性要求。通過(guò)進(jìn)行各種算法匹配時(shí)間的比較,可以發(fā)現(xiàn)采用粗精匹配相結(jié)合搜索策略的SSDA算法運(yùn)算速度最快。
圖像檢測(cè)技術(shù)具有非接觸、在線實(shí)時(shí)、速度快、精度合適、現(xiàn)場(chǎng)抗干擾能力強(qiáng)等優(yōu)點(diǎn),本文在分析以往模板匹配方法的基礎(chǔ)上,結(jié)合發(fā)動(dòng)機(jī)缸體缺陷檢測(cè)的實(shí)際情況提出基于小區(qū)域模板匹配算法。實(shí)驗(yàn)結(jié)果表明:該算法能夠很好地滿足發(fā)動(dòng)機(jī)缸體缺陷在線實(shí)時(shí)檢測(cè)的要求,基本消除了人工檢測(cè)的誤判,顯著提高了工作效率。
[1] 薛 菲,張榮國(guó),張建國(guó),等.基于NCC與SSDA的快速特征點(diǎn)匹配融合算法[J].計(jì)算機(jī)與數(shù)字工程,2010,38(10):19-22.
[2] 左 力,王棟民.圖像處理系統(tǒng)在自動(dòng)化設(shè)備中用作位置反饋的一種方法[J].機(jī)械與電子,2004(1):43 -44.
[3] 孫卜郊,周東華.基于NCC的存在旋轉(zhuǎn)的圖像匹配方法[J].傳感器與微系統(tǒng),2008,27(5):43 -46.
[4] 王哲峰.基于提升小波變換的圖像匹配算法研究[D].長(zhǎng)春:吉林大學(xué),2007.
[5] 李俊山,譚園園,張媛莉.SSDA的改進(jìn)算法[J].電光與控制,2007,14(2):66 -68.