韓 碩,陳曉榮,張彩霞,郭蓉蓉,王曉龍
(上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
物料計(jì)數(shù)廣泛應(yīng)用于軍事、包裝、醫(yī)療等領(lǐng)域,隨著現(xiàn)代科技的高速發(fā)展,各領(lǐng)域?qū)ξ锪嫌?jì)數(shù)的需求量和要求也在大幅度提高。傳統(tǒng)意義上的物料計(jì)數(shù)采用人工檢測的方式,其工作強(qiáng)度大、效率低并且容易受到主觀因素的影響,導(dǎo)致檢測準(zhǔn)確率不高。針對(duì)這種情況,研究能夠?qū)ξ锪线M(jìn)行自動(dòng)計(jì)數(shù)的檢測方法,可以有效提高檢測效率和準(zhǔn)確性。但是,在采集物料圖像時(shí),由于普通相機(jī)的視角較小,一些較大尺寸的物料無法呈現(xiàn)在一張圖像上。而廣角鏡頭和掃描式相機(jī)可以解決這一問題并得到完整的物料,但是這些設(shè)備存在價(jià)格高和使用復(fù)雜度高等缺點(diǎn),并不普遍適用[1]。因此,隨著數(shù)字圖像處理技術(shù)的進(jìn)步而發(fā)展起來的圖像拼接技術(shù)為這一問題提供了很好的解決方法。
目前,國內(nèi)外已經(jīng)有一些針對(duì)圖像拼接提出的相關(guān)算法。Dou 等[2]提出一種基于小波變換和尺度不變特征變換(SIFT)相結(jié)合的魯棒圖像匹配算法,利用來自SIFT 的信息構(gòu)成匹配約束,從而獲得更準(zhǔn)確的匹配,但由于SIFT 采用DOG 進(jìn)行特征提取,故增加了相應(yīng)運(yùn)算時(shí)間,降低了運(yùn)行效率;Brown 等[3]提出一種稱為Auto Stitch 的全局對(duì)齊方法以自動(dòng)縫合多幅圖像,但當(dāng)攝像機(jī)平移可以忽略或場景接近平面時(shí),可能會(huì)出現(xiàn)錯(cuò)位和偽影,導(dǎo)致具有視差的圖像無法精確對(duì)齊;趙文君等[4]提出Harris 角點(diǎn)檢測算法提取圖像中的特征點(diǎn),然后用非極大抑制算法選取特征點(diǎn),去除偽角點(diǎn)和聚簇的角點(diǎn),提高了匹配精度,但是該算法對(duì)尺度很敏感,并且其消耗的時(shí)間較長。此外,模板匹配算法也常用于圖像拼接,其原理簡單,容易實(shí)現(xiàn),但是由于匹配搜索范圍較廣,導(dǎo)致匹配速度慢、準(zhǔn)確性不高等。
針對(duì)該問題,本文在現(xiàn)有相關(guān)算法的基礎(chǔ)上,研究一種基于圖像拼接的物料計(jì)數(shù)算法,提出對(duì)物料圖像作圖像預(yù)處理后,進(jìn)行邊緣檢測和圖像拼接。分別采用高斯濾波、Canny 邊緣檢測算法、基于圖像金字塔和搜索角度φ改進(jìn)的模板匹配算法以及加權(quán)融合算法進(jìn)行處理,完成對(duì)物料圖像的準(zhǔn)確拼接,再對(duì)物料進(jìn)行計(jì)數(shù)檢測。
對(duì)圖像進(jìn)行處理前,首先采集物料圖像。本文根據(jù)物料下落特點(diǎn),設(shè)計(jì)一套圖像采集裝置,整個(gè)裝置包括1 個(gè)面陣相機(jī)、1 個(gè)LED 光源、1 個(gè)置物架以及1 個(gè)接收掉落物料的盒子,如圖1 所示。
在圖像采集裝置設(shè)計(jì)過程中,曝光速度和照明方式是其中非常重要的兩個(gè)因素。曝光速度決定了圖像清晰度以及在相同采集環(huán)境下采集到的多幅圖像中每相鄰兩幅圖像之間是否存在重疊部分。而照明方式則會(huì)影響圖像的成像效果以及后續(xù)圖像處理所需的時(shí)間[5]。針對(duì)被檢測物料的下落特點(diǎn),文中設(shè)置的曝光速度為500 幀/s、曝光時(shí)間為25us,采用背光照射的方式使得背景與目標(biāo)產(chǎn)生較大的對(duì)比度,突出物料圖像的邊緣特征。
Fig.1 Image acquisition device圖1圖像采集裝置
由于物料尺寸較大,因而采集到的物料圖像存在物料不完整的情況,采集到的連續(xù)7 幀物料圖像如圖2 所示。
Fig.2 Captured materiel image圖2 采集到的物料圖像
本文采用的圖像處理算法流程如圖3 所示。圖像經(jīng)過預(yù)處理后,進(jìn)行邊緣檢測提取圖像邊緣特征,提出基于圖像金字塔和搜索角度φ改進(jìn)的模板匹配算法進(jìn)行圖像配準(zhǔn),接著采用加權(quán)融合算法消除圖像拼接縫合線,完成圖像拼接,最后進(jìn)行物料計(jì)數(shù)并輸出拼接后的全景圖像及計(jì)數(shù)結(jié)果。
Fig.3 Flow of algorithm design圖3 算法設(shè)計(jì)流程
在進(jìn)行圖像采集時(shí),由于受拍攝硬件設(shè)施、采集環(huán)境等因素影響,會(huì)導(dǎo)致采集到的圖像存在截然不同的成像特性,這些特性對(duì)后續(xù)算法處理有很大影響。因此,在進(jìn)行算法設(shè)計(jì)前,有必要對(duì)采集到的圖像先作預(yù)處理。
為了盡可能減少噪聲對(duì)邊緣檢測結(jié)果的影響,本文圖像預(yù)處理階段主要采用高斯濾波完成圖像去噪,便于后續(xù)對(duì)圖像的邊緣檢測[6-7],如式(1)所示。
其中,G(x,y)為標(biāo)準(zhǔn)差為σ的二維高斯核。
平滑后圖像g(x,y)表示如式(2)所示。
其中,f(x,y)為初始圖像。
完成圖像預(yù)處理后,對(duì)圖像進(jìn)行邊緣檢測。判斷一個(gè)像素點(diǎn)是否為邊緣像素的標(biāo)準(zhǔn)為其灰度值與周圍像素灰度值是否存在較大差距,本文采用Canny 邊緣檢測算法檢測該點(diǎn)是否為邊緣像素[8-9]。Canny 算法具體實(shí)現(xiàn)步驟如下:
(1)計(jì)算梯度值和梯度方向值。灰度強(qiáng)度變化最強(qiáng)的位置即梯度方向,通過計(jì)算水平Gx和垂直Gy方向的一階導(dǎo)數(shù)檢測圖像中的水平、垂直和對(duì)角邊緣,即可確定像素點(diǎn)的梯度和方向。
x方向的梯度如式(3)所示。
y方向的梯度如式(4)所示。
該像素點(diǎn)梯度的幅值和方向分別如式(5)、式(6)所示。
(2)進(jìn)行非極大值抑制。對(duì)圖像進(jìn)行梯度計(jì)算后,并不能夠提取出比較清晰的邊緣。因此,需要使用非極大值抑制尋找像素點(diǎn)的局部最大值,將非極大值點(diǎn)所對(duì)應(yīng)的灰度值抑制為0,這樣就可以篩除一部分不屬于邊緣的點(diǎn)。
采用Canny 算法可以降低錯(cuò)誤率,并精確定位到物料邊緣位置,便于后續(xù)物料圖像拼接。其中一幀的物料圖像邊緣檢測如圖4 所示。
Fig.4 Materiel edge detection圖4 物料邊緣檢測
圖像配準(zhǔn)是實(shí)現(xiàn)圖像拼接算法的重要環(huán)節(jié),在包裝生產(chǎn)過程中,物料計(jì)數(shù)的高效性和準(zhǔn)確性要求圖像拼接算法能夠具有更快的速度和更高的效率以實(shí)現(xiàn)圖像拼接。目前有很多圖像配準(zhǔn)方法,比如:基于灰度信息的匹配、基于特征的匹配、基于域變換的匹配、模板匹配等。由于在設(shè)計(jì)圖像采集裝置時(shí),對(duì)于曝光時(shí)間和曝光速度的設(shè)置,使得拍攝到的每一幀物料下落圖像之間都存在很小范圍的重疊區(qū)域,因此文中選擇模板匹配算法,其算法復(fù)雜度低且更易于實(shí)現(xiàn)。
2.4.1 模板匹配算法
模板匹配算法是尋找待測圖像中具有模板圖像相同特征的算法之一,其尋找待測圖像中每一個(gè)可能的位置,計(jì)算模板的所有相關(guān)位姿與圖像各位置的相似度,當(dāng)相似度足夠高時(shí),則認(rèn)為找到目標(biāo)[10]。該算法相較于其他匹配算法,其易于實(shí)現(xiàn),匹配速度較快,因此文中選用模板匹配算法作為圖像拼接的主要方法。
模板匹配算法的基本思想是首先確定模板圖像,以模板圖像T與待測圖像S的原點(diǎn)為參考點(diǎn),使模板圖像T在待測圖像S的區(qū)域內(nèi)以平移的形式進(jìn)行搜索,待測圖像被模板覆蓋的區(qū)域?yàn)樽訄DSi,j。搜索范圍如式(7)、式(8)所示。
其中,M、N表示模板圖像T的像素個(gè)數(shù);W、H表示待測圖像S的像素個(gè)數(shù);i、j為模板覆蓋區(qū)域左上角在待測圖像S上的坐標(biāo)。
通過比較模板圖像與待測圖像中被模板圖像覆蓋區(qū)域的相似性,完成模板匹配過程。通過歸一化相關(guān)系數(shù)衡量模板T和子圖Si,j的匹配程度[13],其計(jì)算公式如式(9)所示。
其中,0 ≤R(i,j)≤1 表示(i,j)處圖像的相關(guān)系數(shù);M、N表示模板大??;(s,t)表示在模板內(nèi)的所有像素點(diǎn);T表示模板圖像;S表示待測圖像;E(Si,j)、E(T)分別表示(i,j)處待測圖像和模板圖像的平均灰度值。
模板匹配就是尋找最佳匹配位置的過程,使歸一化相關(guān)系數(shù)R最大。R越大,待測圖像與模板的相似度越高,當(dāng)模板在待測圖像上搜索所得最大R(i,j)時(shí),其對(duì)應(yīng)的點(diǎn)(i,j)就是最佳匹配位置,則完成圖像匹配。
2.4.2 圖像金字塔
圖像金字塔由哥倫比亞大學(xué)的Lowe 教授提出,它是利用圖像的多分辨率對(duì)圖像進(jìn)行分解的有效結(jié)構(gòu),已廣泛應(yīng)用于機(jī)器視覺、圖像處理等多個(gè)領(lǐng)域[11-16]。算法基本原理是先根據(jù)原始圖像構(gòu)建一個(gè)形似金字塔的圖像序列,將原圖像放在底部,每次下采樣的分辨率低的結(jié)果圖堆疊在上一次結(jié)果之上,并從金字塔的最頂層開始進(jìn)行匹配,得到匹配的候選區(qū)域后,將該結(jié)果映射到下一層,下一層的匹配搜索就在該區(qū)域內(nèi)進(jìn)行。將找到的結(jié)果區(qū)域按同樣的方法向下映射,直到找不到目標(biāo)對(duì)象或者到達(dá)金字塔的最底層為止。設(shè)n為圖像金字塔層數(shù),m為搜索到的匹配點(diǎn),則有式(10):
其中,M、N為圖像原始尺寸;t為塔頂圖像最小維數(shù)的對(duì)數(shù)。
式(11)中,mk(x,y)表示在第k層搜索到的匹配點(diǎn)坐標(biāo);mk+1(x',y')表示映射到k+1 層的匹配點(diǎn)坐標(biāo)。
2.4.3 改進(jìn)的模板匹配算法
模板匹配算法在特征匹配諸多算法中易于實(shí)現(xiàn),但是由于匹配搜索范圍較廣,圖像配準(zhǔn)運(yùn)算量較大,導(dǎo)致匹配速度慢、準(zhǔn)確性不高,難以實(shí)現(xiàn)實(shí)時(shí)性。針對(duì)上述問題,本文采用圖像金字塔加入搜索角度φ改進(jìn)的模板匹配算法迅速鎖定匹配點(diǎn)大致區(qū)域。
結(jié)合圖像金字塔,將待測圖像分割成n層,然后得到每一層搜索到的匹配點(diǎn)m,縮小了匹配候選區(qū)域,提高了搜索準(zhǔn)確度。
由于搜索區(qū)域還是較大,其搜索速度不能夠達(dá)到實(shí)時(shí)要求。因此,本文加入一個(gè)搜索角度φ,以優(yōu)化搜索速度。
其計(jì)算公式如式(12)所示。
其中,T表示模板圖像;K表示待測圖像中與模板重疊的區(qū)域;M×N表示模板大??;(k,t)表示模板內(nèi)的像素點(diǎn)。
在進(jìn)行匹配搜索時(shí)加入搜索角度限制,能夠快速準(zhǔn)確地找出待測圖像與模板圖像重疊部分,因而提高匹配速度和精度。連續(xù)兩幀的物料圖像特征匹配如圖5 所示。
Fig.5 Feature matching圖5 特征匹配
2.4.4 圖像融合
完成特征匹配后,為了防止拼接后圖像連接處出現(xiàn)明顯的縫合線,使用加權(quán)平均法進(jìn)行圖像融合,其具有容易實(shí)現(xiàn)及運(yùn)算速度快的優(yōu)點(diǎn)。加權(quán)平均法是對(duì)具有相同區(qū)域兩幅圖像的像素值取不同權(quán)值,然后進(jìn)行加權(quán)平均得到融合后圖像的像素值[17-18]。計(jì)算融合后圖像像素灰度值的公式如式(13)所示。
其中,f表示融合后圖像的像素值;f1、f2分別表示需要拼接的兩幅圖像;a1、a2表示不同的權(quán)值,且a1,a2∈(0,1)。
使用加權(quán)平均法進(jìn)行圖像融合,可以觀察到其提高了圖像縫合線的自然度,連續(xù)兩幀的物料圖像融合如圖6 所示,使最終物料拼接效果更好。
Fig.6 Image fusion圖6圖像融合
2.4.5 算法比較
將原始模板匹配算法與本文算法拼接結(jié)果進(jìn)行對(duì)比,驗(yàn)證本文所提出的結(jié)合圖像金字塔和搜索角度φ改進(jìn)的模板匹配算法的準(zhǔn)確性。
由于圖像拼接結(jié)果的特殊性,對(duì)圖像拼接質(zhì)量的評(píng)價(jià)側(cè)重于圖像拼接部位是否有錯(cuò)位以及邊界過渡是否平滑等方面[19-20]。原始模板匹配算法與本文算法的拼接結(jié)果如圖7 和圖8 所示。
如圖7 所示,原始模板匹配算法的物料拼接結(jié)果不存在明顯縫合線,但是由于算法拼接準(zhǔn)確性較低,拼接結(jié)果存在錯(cuò)位情況。
Fig.7 Material mosaic of the original template matching algorithm圖7 原始模板匹配算法的物料拼接
相比之下,如圖8 所示,本文算法的物料拼接結(jié)果過渡自然,并且不存在錯(cuò)位情況,其準(zhǔn)確性較高。
Fig.8 Material mosaic of the algorithm in this paper圖8 本文算法的物料拼接
為了驗(yàn)證改進(jìn)后算法的高效性,本文以大小為1 344×87 的物料圖像進(jìn)行拼接速度檢測。其實(shí)驗(yàn)環(huán)境為主頻2.1 GHz,內(nèi)存8GB 的處理器以及千眼狼5F04 工業(yè)相機(jī)。將書包扣以不同數(shù)量分為五批進(jìn)行檢測,實(shí)驗(yàn)的物料數(shù)量分別為3 個(gè)、6 個(gè)、13 個(gè)、18 個(gè)和25 個(gè),對(duì)上述五批實(shí)驗(yàn)樣本進(jìn)行拼接,并檢測其拼接速度,檢測結(jié)果如表1 所示。
通過表1 可知,原始模板匹配算法進(jìn)行物料圖像拼接,其處理圖像的平均時(shí)間最高為0.003 9s/幅,最低為0.003 2 s/幅。而文中所提出的基于圖像金字塔與搜索角度φ改進(jìn)的模板匹配算法進(jìn)行物料圖像拼接,其處理圖像的平均時(shí)間最高為0.000 96s/幅,最低為0.000 89s/幅。與原始模板匹配算法進(jìn)行對(duì)比,處理圖像的平均時(shí)間提高了74%,具有更快的拼接速度。
Table 1 Comparison of the original template matching algorithm and the algorithm in this paper表1 原始模板匹配算法與本文算法用時(shí)對(duì)比
完成物料圖像最終拼接后,由于采用背光照射方式,物料全景圖中目標(biāo)與背景灰度級(jí)相差較大、灰度變化明顯,因而本文采用雙峰法閾值分割[21]。按照灰度級(jí),根據(jù)式(14)設(shè)定閾值,將物料全景圖的像素集合分為背景和目標(biāo)兩類。
其中,KT表示灰度直方圖波谷處閾值,P(ri)和P(rj)分別表示全景圖像f(x,y)的灰度直方圖上的兩個(gè)局部極大值,ri和rj分別表示兩個(gè)局部極大值的位置,P(rT)表示ri和rj之間的最小值且P(ri)≤P(rT)≤P(rj),rT表示最小值的位置且ri≤rT≤rj。
將灰度值0 和KT分別作為文中閾值分割的最小閾值和最大閾值,準(zhǔn)確分割出背景與目標(biāo)。對(duì)分割后的目標(biāo)連通域進(jìn)行計(jì)數(shù),當(dāng)出現(xiàn)物料粘連情況時(shí),根據(jù)區(qū)域面積參數(shù)進(jìn)一步判斷物料個(gè)數(shù)。
根據(jù)本文算法,得到物料計(jì)數(shù)后的結(jié)果如圖9 所示,同時(shí),可以驗(yàn)證物料計(jì)數(shù)不存在誤差。
Fig.9 Materiel count圖9 物料計(jì)數(shù)
本文在Visual C++的開發(fā)環(huán)境下,設(shè)計(jì)基于圖像拼接的物料計(jì)數(shù)軟件,其支持物料圖像拼接,并根據(jù)拼接結(jié)果進(jìn)行物料計(jì)數(shù)。軟件界面設(shè)計(jì)有物料圖像全景圖顯示框以及物料個(gè)數(shù)顯示框,可以清晰地看到物料檢測結(jié)果,如圖10 所示。
Fig.10 Detection result圖10 檢測結(jié)果
本文研究了一種基于圖像拼接的物料計(jì)數(shù)算法,采用邊緣檢測算法和基于圖像金字塔和搜索角度φ改進(jìn)的模板匹配算法,實(shí)現(xiàn)對(duì)物料下落時(shí)的圖像拼接,取得了較好效果。在物料拼接全景圖的基礎(chǔ)上,采用雙峰法閾值分割實(shí)現(xiàn)物料計(jì)數(shù)。對(duì)比原始的模板匹配算法運(yùn)行速度較慢的缺點(diǎn),本文算法縮小了模板搜索范圍,并通過實(shí)驗(yàn),對(duì)比兩種算法的拼接時(shí)間及拼接效果,驗(yàn)證了本文算法具有準(zhǔn)確性高和匹配速度快的優(yōu)點(diǎn),為下一步物料計(jì)數(shù)打下了良好基礎(chǔ)。但是由于實(shí)驗(yàn)樣本下落的隨機(jī)性,可能存在物料大面積粘連情況,造成計(jì)數(shù)錯(cuò)誤,后續(xù)將改進(jìn)硬件設(shè)備并對(duì)粘連物料分割作深入研究。