前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的閾值分割的基本原理主題范文,僅供參考,歡迎閱讀并收藏。
圖像分割是計(jì)算機(jī)視覺(jué)中的一個(gè)關(guān)鍵問(wèn)題,它是一種重要的圖像分析技術(shù)。其目的是將圖像中有意義的特征或者需要應(yīng)用的特征提取出來(lái)。圖像分割所遵循的基本原則是,使區(qū)域內(nèi)部所考慮的特征或?qū)傩允窍嗤蛳嗨频摹6@些特征或?qū)傩栽诓煌膮^(qū)域中則不同、存在差異[1]。人們通常將圖像分割的方法歸納為基于灰度直方圖的閾值化方法和基于區(qū)域增長(zhǎng)法兩大類(lèi)。其中閾值化方法因其簡(jiǎn)單、計(jì)算量小、性能較穩(wěn)定而成為圖像分割中應(yīng)用最廣泛的分割技術(shù)。近年來(lái),隨著各學(xué)科新理論和方法的提出,人們也提出了許多結(jié)合特定理論、方法和工具的分割技術(shù),例如基于數(shù)學(xué)形態(tài)學(xué)的分割技術(shù)、借助統(tǒng)計(jì)模式識(shí)別方法的分割技術(shù)、利用神經(jīng)網(wǎng)絡(luò)的分割技術(shù)等[2]。
圖像閾值分割是根據(jù)一定的閾值將目標(biāo)從視場(chǎng)背景分離出來(lái)的過(guò)程。在實(shí)際系統(tǒng)中,圖像目標(biāo)和背景之間并不具備截然不同的灰度,隨著可見(jiàn)光照射角度的不同,目標(biāo)的亮度和背景的亮度均要變化。因此閾值的正確選擇是很重要的,直接影響著分割的精度及圖像描述分析的正確性。通常采用自適應(yīng)閾值選取,下面介紹基于梯度調(diào)整的矩不變自動(dòng)閾值法,它克服了矩不變自動(dòng)閾值法的缺陷,達(dá)到較好的分割效果。
1 矩不變閾值分割法介紹
矩是隨機(jī)變量的數(shù)學(xué)特征。矩法是由 Karl pearson在1894年引入的參數(shù)點(diǎn)估計(jì)算法,其基本思想是:樣本抽自總體,樣本的矩在一定程度上反映了總體的矩。因此可以用樣本矩函數(shù)的估計(jì)作為相應(yīng)的總體矩函數(shù)的估計(jì)量。矩法是一種效率較高的正態(tài)性檢驗(yàn)方法。具體作法是:樣本矩作為相應(yīng)總體矩的估計(jì)量;以樣本矩的函數(shù)作為相應(yīng)的總體矩同樣函數(shù)的估計(jì)量。這種方法最常見(jiàn)的應(yīng)用是用樣本平均數(shù)估計(jì)總體數(shù)學(xué)期望。
從統(tǒng)計(jì)學(xué)觀(guān)點(diǎn)來(lái)看,圖像可以看作是二維隨機(jī)過(guò)程(隨機(jī)場(chǎng))中的一個(gè)樣本,這個(gè)樣本可以看作是理想圖像的模糊視覺(jué),其特性反映了總體的特性。從統(tǒng)計(jì)的角度來(lái)看,分割就是由樣本估計(jì)總體的特征,由樣本的分布估計(jì)總體的分布,分割本身也是對(duì)整體的一種描述和估計(jì),是一個(gè)參數(shù)估計(jì)的問(wèn)題,可以用參數(shù)估計(jì)的方法進(jìn)行目標(biāo)圖像的分割。矩不變閾值分割法就是把矩法用于圖像的分割,其基本思想是:使閾值分割前后,圖像的矩保持不變[3]。矩不變閾值法可以看作是一種圖像變換,它將原始模糊圖像變換成理想圖像。
二維圖像的第k階矩mk定義為:
其中i為灰度值,pi為圖像中灰度為i的像素比例。對(duì)于圖像分割來(lái)說(shuō),如果進(jìn)行二值分割,則分割后只有Zo和Z1兩個(gè)灰度級(jí),且Zo<Z1。低于閾值的像素比例和高于閾值的像素比例分別使用p0和p1表示,則分割后圖像的前三階矩:
對(duì)于劃分目標(biāo)和背景的最佳閾值,應(yīng)當(dāng)保持分割前后的圖像的前三階矩相等。即有:
mi'=mi (3)
則可以得到如下方程組:
為了找到希望的閾值t,需要先從上述方程組中解出po:
其中,
求出Po后再在原圖像直方圖上選擇合適的t使之滿(mǎn)足:
則t就是所求的分割閾值。當(dāng)找不到精確的灰度值做門(mén)限滿(mǎn)足P0時(shí),選擇最為接近的灰度值作為分割閾值。
矩不變法的運(yùn)算速度較快,可以滿(mǎn)足實(shí)時(shí)性的要求,但其受目標(biāo)影響較大,目標(biāo)大小的變化會(huì)影響分割的準(zhǔn)確性。
2 矩不變法的梯度調(diào)整
矩不變法是根據(jù)樣本估計(jì)總體的特性推導(dǎo)而出,是根據(jù)圖像的整體信息進(jìn)行圖像分割。這種分割方法在實(shí)際應(yīng)用中,發(fā)現(xiàn)分割后的目標(biāo)邊緣細(xì)節(jié)信息有很大的丟失。通過(guò)對(duì)算法原理及不足點(diǎn)的分析,本文利用圖像中目標(biāo)邊界和相鄰背景的灰度差別較大、而目標(biāo)區(qū)域或背景區(qū)域內(nèi)部像素間的灰度差別較小的特性,提出了一種基于梯度調(diào)整的改進(jìn)的矩不變自動(dòng)閾值法。改進(jìn)后的算法的基本原理如下:
首先由矩不變法得到初始分割閾值t,然后利用梯度算子對(duì)圖像進(jìn)行處理,計(jì)算出圖像的梯度分布。設(shè)現(xiàn)行掃描點(diǎn)、后一行掃描點(diǎn)和下一行中相鄰點(diǎn)的灰度為f(i,j),f(i+1,j)和f(i,j+1),在x、y方向上的一階差分定義為:
梯度定義為:
G=Δxf(i,j)i+Δyf(i,j)j (8)
其模為:
為了簡(jiǎn)便計(jì)算,梯度模G[f(i,j)]選用如下的近似公式:
G[f(i,j)]=max[|Δxf(i,j)|,|Δyf(i,j)|] (10)
根據(jù)計(jì)算出的梯度模,找出邊緣像素。設(shè)邊緣像素的梯度為Gef(i,j),則有:
其中Te為邊界梯度閾值,可適當(dāng)選取為(Gmax-Gmin)/2左右。
再求出邊緣像素的梯度均值:
MG=E[Ge[f(i,j]] (12)
這樣,基于梯度調(diào)整的矩不變自動(dòng)閾值分割法的閾值T為:
T=t-α·MG (13)
其中,α(0≤α≤0.3)為調(diào)整系數(shù),根據(jù)經(jīng)驗(yàn)在0.1左右選擇。
3 算法仿真
[關(guān)鍵詞] 邊緣檢測(cè) 差分背景 Canny算子 Otsu算法 自適應(yīng)閾值
一、引言
車(chē)輛的檢測(cè)和跟蹤是當(dāng)今機(jī)器視覺(jué)的熱點(diǎn)和焦點(diǎn),車(chē)輛的跟蹤是建立在正確、可靠的檢測(cè)基礎(chǔ)上。我們一般觀(guān)察到的車(chē)輛都是有著復(fù)雜的背景,在做差分背景的運(yùn)算可以較好的將背景的信息去掉,有利于車(chē)輛邊緣的檢測(cè)。但如何有效提取出差分圖像的車(chē)輛邊緣,一直是個(gè)難點(diǎn),常用的邊緣檢測(cè)算法有Robert算子、Prewitt算子、Sobel算子和LOG算子等。但這些算子都對(duì)噪聲比較敏感,對(duì)于信噪比相對(duì)低的圖像,處理的效果不會(huì)很好,Canny算子能有效的去噪和保留圖像的邊緣,因此Canny算子在圖像的邊緣檢測(cè)中被廣泛的運(yùn)用。
傳統(tǒng)的Canny算子利用固定的高、低閾值來(lái)進(jìn)行邊緣提取,對(duì)不同圖像缺乏自適應(yīng)性。另一方面無(wú)法消除局部噪聲干擾,在檢測(cè)出假邊緣的同時(shí)還會(huì)丟失一些灰度變化值變化緩慢的局部邊緣。本文在分析了傳統(tǒng)Canny算子的基本原理的基礎(chǔ)上提出了一種基于Otsu算法的Canny算子,該改進(jìn)算子能有效對(duì)動(dòng)態(tài)圖像序列的車(chē)輛自適應(yīng)地生成動(dòng)態(tài)閾值,自動(dòng)提取邊緣,解決了閾值的選擇問(wèn)題,提高了算子的魯棒性。
二、車(chē)輛檢測(cè)概述
圖像的分割與檢測(cè)(識(shí)別)是一項(xiàng)非常困難的工作。圖像很難說(shuō)清楚為什么應(yīng)該分割成這樣而不是那樣。人類(lèi)的視覺(jué)系統(tǒng)是非常優(yōu)越的,它不僅包含了雙眼,還包括了大腦,可以從很復(fù)雜的景物中分開(kāi)并識(shí)別每個(gè)物體。
由于人類(lèi)在觀(guān)察圖像中應(yīng)用了大量的知識(shí),所以沒(méi)有任何一臺(tái)計(jì)算機(jī)在分割和檢測(cè)真實(shí)圖像時(shí),能達(dá)到人類(lèi)視覺(jué)系統(tǒng)的水平。正因?yàn)槿绱耍瑢?duì)于大部分圖像應(yīng)用來(lái)說(shuō),實(shí)用化的自動(dòng)分割與檢測(cè)還是一個(gè)將來(lái)時(shí),目前只有少數(shù)的幾個(gè)領(lǐng)域(如印刷體識(shí)別OCR)自動(dòng)識(shí)別達(dá)到了實(shí)用的水平。因此,這方面的研究很活躍,車(chē)輛檢測(cè)就是其中之一。
車(chē)輛的檢測(cè)就是對(duì)包含車(chē)輛信息的圖像序列運(yùn)用數(shù)字信號(hào)處理技術(shù)進(jìn)行適當(dāng)?shù)奶幚恚瑥亩コo止的背景,檢測(cè)出目標(biāo)車(chē)輛及攜帶的運(yùn)動(dòng)信息,并對(duì)運(yùn)動(dòng)信息進(jìn)行整合,得到關(guān)鍵參數(shù)。車(chē)輛目標(biāo)檢測(cè)原則就是要盡可能保留那些對(duì)視覺(jué)檢測(cè)有重要意義的特征信息,同時(shí)最大限度地?cái)P棄那些對(duì)運(yùn)動(dòng)目標(biāo)無(wú)用的冗余信息。
三、差分圖像
背景差分是利用當(dāng)前幀圖像和背景圖像的差分來(lái)檢測(cè)運(yùn)動(dòng)區(qū)域,即將當(dāng)前幀圖像與背景圖像相減。它一般能提供教完整的特征數(shù)據(jù),得到較精確的目標(biāo)圖像。背景差分又可以分為動(dòng)態(tài)背景差分和固定背景差分,動(dòng)態(tài)背景差分要隨時(shí)間的推移更新背景圖像,實(shí)現(xiàn)比較困難,差分固定背景的優(yōu)點(diǎn)在于只要獲得一幀背景圖像,從而速度快,實(shí)現(xiàn)簡(jiǎn)單,但所采集得到的背景圖像隨著時(shí)間的推移,會(huì)對(duì)光照等外部條件比較敏感,影響到目標(biāo)的檢測(cè)效果。本實(shí)驗(yàn)中采用固定背景差分的方式。一般的情況下檢測(cè)目標(biāo)是在差分圖里根據(jù)閾值來(lái)二值化圖像,區(qū)分目標(biāo)與背景,而本文則是在差分圖像的基礎(chǔ)上用改進(jìn)的Canny算子直接來(lái)提取車(chē)輛的輪廓來(lái)判斷目標(biāo)。
四、邊緣檢測(cè)
邊緣是指圖像中那些領(lǐng)域灰度有強(qiáng)烈反差的像素的集合,它是圖像分割最重要的依據(jù),也是紋理特征的重要信息源和形狀分析的基礎(chǔ),邊緣信息適合于檢測(cè)和定位圖像中的物理位置。
邊緣檢測(cè)的3個(gè)最優(yōu)準(zhǔn)則:檢漏真實(shí)存在的邊緣點(diǎn),不把非邊緣點(diǎn)作邊緣點(diǎn)檢出;檢測(cè)出的邊緣點(diǎn)的位置與真實(shí)邊緣點(diǎn)的位置接近,提高圖像的定位精度;每個(gè)真實(shí)存在的點(diǎn)與檢測(cè)出來(lái)的邊緣點(diǎn)――對(duì)應(yīng),也就是單邊緣響應(yīng)準(zhǔn)則。所以在檢測(cè)圖像的邊緣時(shí),我們要盡量的滿(mǎn)足這3個(gè)準(zhǔn)則。
對(duì)一幅圖像進(jìn)行邊緣檢測(cè),一般可以分三步:濾波、增強(qiáng)和檢測(cè),Canny算法也是一個(gè)具有類(lèi)似步驟的多階段的優(yōu)化算法。
1.Canny算子的邊緣提取
(1)圖像平滑
Canny算子用高斯平滑濾波器對(duì)圖像進(jìn)行去噪處理,用的是高斯平滑濾波器與圖像作卷積,因?yàn)橐指畹膱D像可能帶有部分噪聲,未對(duì)這部分噪聲進(jìn)行處理將直接影響圖像邊緣提取的效果。設(shè)用I[i,j]表示圖像,那么卷積的過(guò)程可表示為:
S[i,j]=G[i,j,σ]*I[i,j](1)
其中G[i,j,σ]是高斯平滑濾波函數(shù),σ是高斯函數(shù)的散布參數(shù),用它來(lái)控制平滑程度。
(2)梯度的幅值和方向的計(jì)算
圖像不I[i,j]經(jīng)過(guò)高斯平滑后的矩陣為S[i,j],然后計(jì)算圖像的梯度矩陣,首先計(jì)算平滑后矩陣S[i,j]的x方向和y方向的偏導(dǎo)數(shù),分別為Px[i,j]和Py[i,j]。
(2)
(3)
則圖像梯度的幅值和方向分別為
(4)
(5)
(3)梯度幅值的非極大值抑制
幅值圖像陣列M[i,j]的值越大,其對(duì)應(yīng)的圖像梯度值也越大,但這還不足以確定邊緣。它僅僅體現(xiàn)了圖像的快速變化,為了確定邊緣,我們要的是保留局部變化最大的點(diǎn)。具體的做法是將像素[i,j]的梯度方向角的變化范圍縮減到圖1所示的4個(gè)區(qū)之一(編號(hào)相同的代表一個(gè)方向),然后將同一方向上像素[i,j]與其相鄰像素的梯度幅值進(jìn)行比較:若M[i,j]非局部極大值,就將其設(shè)為0。
(4)檢測(cè)和連接邊緣
對(duì)非極大值抑制圖像作雙閾值h1和h2,且h2≈2h1,得到兩個(gè)閾值邊緣圖像T1[i,j]和T2[i,j],T2[i,j]是用高閾值得到,含有很少的假邊緣,但有間斷。雙閾值法要在T2[i,j]中把邊緣連接成輪廓,當(dāng)?shù)竭_(dá)輪廓的端點(diǎn)時(shí),該算法就在T1[i,j]的8個(gè)鄰點(diǎn)位置尋找可以連接到輪廓上的邊緣,這樣,算法不斷的在T1[i,j]中收集邊緣,直到將T2[i,j]連接起來(lái)為止。
普通的Canny算子雙門(mén)限設(shè)置中,閾值h1和h2選擇是固定的,一般的做法是:設(shè)圖像的非邊緣數(shù)與總的像素點(diǎn)數(shù)的比值是q,從得到的梯度直方圖里里從低梯度開(kāi)始逐步累加圖像點(diǎn)的數(shù),當(dāng)累加的數(shù)目與總像素的比值達(dá)到q時(shí),對(duì)應(yīng)的梯度值即為h2,而一般的q的取值為0.7。
分析了Canny算子的原理,可以看出,影響Canny算子性能的兩個(gè)因數(shù)是σ和h2的選取,對(duì)于灰度平坦的圖像,用較小的σ可以取的很好的平滑效果,但如果圖像的灰度復(fù)雜度增加,也要有相應(yīng)的增加。高斯平滑模板隨著σ的增大而增大,平滑的速度會(huì)大幅度的變慢,針對(duì)σ的選取或估計(jì)也有很多人提出了改進(jìn)的算法,但就結(jié)果來(lái)看,或者計(jì)算量大,或者改進(jìn)的效果不理想,所以到目前為止也沒(méi)有一種好的方法能比較準(zhǔn)確的確定不同圖像中σ的選取,我們按照?qǐng)D像具體的情況選擇σ的數(shù)值。在本文實(shí)驗(yàn)中,σ的取值為1。
h2的最佳選取也取決于像素間的灰度差異及它的空間分布,所以用固定的閾值去提取差分圖像中車(chē)輛的邊緣的話(huà),很難有效提取出邊緣。我們?cè)趯?duì)差分背景的車(chē)輛圖像作梯度化處理以后,其直方圖呈雙峰的特性。這樣就可以用到Otsu算法的閾值的設(shè)定方法,用類(lèi)間方差最大準(zhǔn)則來(lái)確定。
2.Otsu算法定閾值
Otsu的基本原理為用最佳閾值將圖像的灰度直方圖分割成兩部分,使兩部分的類(lèi)間方差取最大值,即分離性最大。設(shè)閾值為T(mén),把圖像整個(gè)灰度級(jí)分為目標(biāo)區(qū)域灰度級(jí)[1,2…,T]與背景灰度級(jí)[T+1,T+2,……,M] 。
目標(biāo)區(qū)域灰度均值與背景區(qū)域的灰度均值分別為
(6)
(7)
其中pi和pj分別為灰度為i和j的像素的概率,α(t)為目標(biāo)區(qū)域的灰度總和,β(t)為背景區(qū)域的灰度總和。
目標(biāo)區(qū)域和背景的類(lèi)間偏差σ2B是:
(8)
其中μ為目標(biāo)圖像的灰度均值,最優(yōu)閾值T*使類(lèi)間偏差取得最大,即
(9)
最大的T*將差分圖像分割為目標(biāo)區(qū)域和背景區(qū)域兩大部分。
通過(guò)Otsu算法去處理經(jīng)過(guò)梯度運(yùn)算后得到的梯度幅值圖像,得到的最優(yōu)閾值T*為該圖用于Canny算子的高閾值h2。
五、實(shí)驗(yàn)與分析
圖2和圖5是車(chē)輛的差分背景圖,可以明顯的看出,除了運(yùn)動(dòng)要檢測(cè)的車(chē)輛,復(fù)雜的背景已經(jīng)被去除。圖3和圖6是用普通的Canny算子(q=0.7)提取車(chē)輛邊緣的結(jié)果,從結(jié)果圖里看出,除了車(chē)輛的輪廓外,還出現(xiàn)了大量的假邊緣,出現(xiàn)這種情況的主要原因是背景在室外條件下會(huì)受光照的影響,雖然通過(guò)差分背景已經(jīng)去掉了背景的信息,但由于光照而使圖像背景發(fā)生改變的部分還是會(huì)在差分背景圖中保留。而普通的Canny算子是用固定的閾值,且一般這個(gè)值很低的情況下去將會(huì)提取出很多假邊緣。
而我們用基于Otsu算法的Canny算子基本上不存在這個(gè)問(wèn)題,因?yàn)樗怯妙?lèi)間方差最大原則來(lái)分析圖像的幅值,背景的變化部分的幅值在與車(chē)輛邊緣的幅值與背景幅值的比較中更傾向與背景,用Otsu算法在分析幅值時(shí)能進(jìn)行有效的區(qū)分背景和車(chē)輛,這樣在提取邊緣時(shí)就能把車(chē)輛的邊緣提取出來(lái),而不會(huì)有由于背景發(fā)生變化而產(chǎn)生的假邊緣,結(jié)果如圖4和圖7所示。由于改進(jìn)的Canny算子是在分析圖像信息的情況下劃定閾值,對(duì)動(dòng)態(tài)的圖像序列中車(chē)輛能進(jìn)行有效的邊緣提取。
六、結(jié)論
本文的方法是對(duì)傳統(tǒng)的Canny算子進(jìn)行了改進(jìn),彌補(bǔ)了單一的閾值所不能解決的細(xì)節(jié)丟失和噪聲增多兩者間的平衡問(wèn)題,改善了對(duì)差分背景的車(chē)輛圖像邊檢測(cè)的效果,而且在檢測(cè)過(guò)程中自適應(yīng)的生成高、低閾值,檢測(cè)圖像的邊緣,自動(dòng)化程度高。雖然本算法的運(yùn)算復(fù)雜度和運(yùn)算時(shí)間要稍大與普通的Canny算子,但不影響它的實(shí)時(shí)性。
參考文獻(xiàn):
[1]賈云得:機(jī)器視覺(jué)[M].北京:科學(xué)出版社,2000,97~100
[2]季鍵昂海松:航空序列圖像的特征模型提取及追蹤[J].中國(guó)圖象圖形學(xué)報(bào),2004,9(6)
[3]梅約松楊樹(shù)興莫波:基于Canny算子的改進(jìn)的圖像邊緣檢測(cè)方法[J].激光與紅外,2006,36(6)
[4]馬力易昂傅明:一種基于Canny算法的邊緣提取改善方法[J].計(jì)算技術(shù)與自動(dòng)化,2003,22(1)
[5]楊振亞白治江王成道自適應(yīng)Canny邊緣檢測(cè)算法[J].上海海運(yùn)學(xué)院學(xué)報(bào),2003,24(4)
關(guān)鍵字: OpenCV; 自適應(yīng)閾值; 圖像分割; 固定閾值
中圖分類(lèi)號(hào): TN919?34; TP32 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2013)24?0073?04
Research and implementation of image threshold segmentation based on OpenCV
LEI Jian?feng, WANG Wei
(Capital Medical University, Beijing 100069, China)
Abstract:The image threshold plays a very important role in image segmentation. In the OpenCV algorithm environment, the fixed threshold algorithm and adaptive threshold algorithm are emploied respectively to process the same image by calling the corresponding function in OpenCV. The noise in the image is eliminated in combination with the filtering function of Gauss fuzzy algorithm. The image segmentation algorithm was analyzed by means of Gauss fuzzy and thresholding algorithm. The results show that the adaptive threshold algorithm can perform image segmentation more efficiently.
Keyword: OpenCV; adaptive threshold; image segmentation; fixed threshold
1 OpenCV簡(jiǎn)介
OpenCV是一種開(kāi)源的軟件,采用基于C/C++語(yǔ)言編寫(xiě),OpenCV可以在多種操作系統(tǒng)上運(yùn)行同時(shí)為其他軟件提供了多種接口。在數(shù)據(jù)類(lèi)型上OpenCV提供了多種基本數(shù)據(jù)類(lèi)型。雖然這些數(shù)據(jù)類(lèi)型在C語(yǔ)言中不是基本類(lèi)型,但結(jié)構(gòu)都很簡(jiǎn)單,可將它們作為原子類(lèi)型。OpenCV 主體分為5個(gè)模塊,其中4個(gè)模塊如圖1所示。
圖1 OpenCV基本結(jié)構(gòu)圖
OpenCV的目標(biāo)是為計(jì)算機(jī)視覺(jué)提供基本工具,在處理計(jì)算機(jī)視覺(jué)中一些很復(fù)雜的問(wèn)題時(shí),可以利用OpenCV提供的高層函數(shù)有效地解決這些問(wèn)題。OpenCV有一個(gè)強(qiáng)大的函數(shù)庫(kù),它可以提供基本函數(shù)為大多數(shù)計(jì)算機(jī)視覺(jué)問(wèn)題創(chuàng)建一個(gè)完整解決方案。
2 圖像分割
圖像分割[1]是圖像分析中很重要的基礎(chǔ)環(huán)節(jié),只有準(zhǔn)確地將對(duì)象從圖像中提取出來(lái),才能進(jìn)一步對(duì)該對(duì)象做定量的描繪。圖像分割又是比較困難的環(huán)節(jié),因?yàn)樵谠S多情況下,對(duì)象與背景之間很難區(qū)分。所以圖像分割算法已經(jīng)成為圖像處理[2]和分析領(lǐng)域中研究的熱點(diǎn),并且到目前為止沒(méi)有一種通用的分割算法對(duì)各種圖像均能得到滿(mǎn)意的分割結(jié)果。圖像分割的準(zhǔn)則實(shí)質(zhì)是將一幅圖像分成幾幅子圖像,并且滿(mǎn)足3個(gè)條件:
(1)圖像中的每一個(gè)像素必須被歸入某一子圖像,并只能屬于一個(gè)子圖像;
(2)屬于同一子圖像的像素在某種性質(zhì)上是相近的;
(3)屬于不同子圖像的像素在該性質(zhì)上相差很大。所謂性質(zhì)指的是如灰度、灰度梯度、紋理以及空間位置等。因此,圖像分割的過(guò)程也就是按性質(zhì)對(duì)像素進(jìn)行分類(lèi)和識(shí)別。
圖像分割[3]方法一般有2類(lèi):
(1)基于邊界分割方法,這種方法通過(guò)子圖像之間一般都有明顯的邊界。假設(shè)圖像中只有2個(gè)子圖像,子圖像不存在多個(gè)互不連通的區(qū)域;
(2)基于閾值方法,這種方法首先根據(jù)像素的某個(gè)特征確定分割閾值,然后將像素的這個(gè)特征值與此分割閾值相比較,并以此決定將該像素歸入哪一類(lèi)子圖像。通常將像素的灰度作為特征來(lái)選擇閾值。
2.1 VC6.0下OpenCV的安裝及環(huán)境搭配
(1)下載OpenCV安裝程序(1.0版本)。假如要將OpenCV安裝到C:\Program Files\OpenCV。在安裝時(shí)選擇“將\OpenCV\bin加入系統(tǒng)變量”?;虬惭b完成后手動(dòng)添加環(huán)境變量“C:\Program Files\OpenCV\bin”。
(2)啟動(dòng)VC++ 6.0,菜單Tools?>Options?>Directories:先設(shè)置lib路徑,選擇Library files,在下方填入路徑: C:\Program Files\OpenCV\lib然后選擇include files,在下方填入路徑:
C:\Program Files\OpenCV\cxcore\include
C:\Program Files\OpenCV\cv\include
C:\Program Files\OpenCV\cvaux\include
C:\Program Files\OpenCV\ml\include
C:\Program Files\OpenCV\otherlibs\highgui
C:\Program Files\OpenCV\otherlibs\cvcam\include
(3)每創(chuàng)建一個(gè)將要使用OpenCV的VC Project,都需要給它指定需要的lib。菜單:Project?>Settings,然后將Setting for選為All Configurations,然后選擇右邊的link標(biāo)簽,在Object/library modules附加上:cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib如果不需要這么多l(xiāng)ib,你可以只添加你需要的lib。
2.2 利用OpenCV進(jìn)行圖像閾值分割
閾值分割是傳統(tǒng)的圖像分割方法,因其實(shí)現(xiàn)簡(jiǎn)單,性能較穩(wěn)定而成為圖像分割中最基本和應(yīng)用最廣泛的分割技術(shù)[4]。它適用于目標(biāo)和背景有不同灰度級(jí)范圍的圖像,而且總可以得到封閉且連通區(qū)域的邊界。
2.2.1 閾值分割的概念
閾值分割法是一種基于區(qū)域的圖像分割技術(shù),其基本原理是:通過(guò)設(shè)定不同的特征閾值,把圖像象素點(diǎn)分為若干類(lèi)[5]。通常將像素的灰度作為特征來(lái)選擇閾值。首先設(shè)原始圖像為f(x,y),然后按照一定的準(zhǔn)則f(x,y)中找到特征值T,將圖像分割為2個(gè)部分,分割后的圖像為: 若取b0=0(黑),b1=1(白),即為圖像二值化。該方法的特點(diǎn)是可以減少數(shù)據(jù)量,而且簡(jiǎn)化了分析和處理步驟,因此該方法是進(jìn)行圖像分析、特征提取與模式識(shí)別之前的必要的圖像預(yù)處理過(guò)程。圖像閾值化的目的是要按照灰度級(jí),對(duì)像素集合進(jìn)行一個(gè)劃分,使每個(gè)子集形成一個(gè)與現(xiàn)實(shí)景物相對(duì)應(yīng)的區(qū)域,各個(gè)區(qū)域內(nèi)部具有一致的屬性,而相鄰區(qū)域具有不同的屬性。這樣的劃分可以通過(guò)從灰度級(jí)出發(fā)選取一個(gè)或多個(gè)閾值來(lái)實(shí)現(xiàn)。
2.2.2 OpenCV實(shí)現(xiàn)閾值分割方法
OpenCV實(shí)現(xiàn)閾值分割方法[6]:
(1)固定閾值分割,在OpenCV中實(shí)現(xiàn)固定閾值分割的函數(shù)是cvThreshold(),函數(shù) cvThreshold()對(duì)單通道數(shù)組應(yīng)用固定閾值操作。其基本的思想是,給定一個(gè)數(shù)組和一個(gè)閾值,然后根據(jù)數(shù)組中的每個(gè)元素的是低于還是高于閾值而進(jìn)行一些處理。
(2)自適應(yīng)閾值分割,在OpenCV中實(shí)現(xiàn)自適應(yīng)閾值分割的函數(shù)AdaptiveThreshold(),此函數(shù)有2種不同的自適應(yīng)閾值方法。
2.2.3 基于MFC的OpenCV閾值分割的實(shí)現(xiàn)
OpenCV 庫(kù)是使用“IplImage”結(jié)構(gòu)體來(lái)創(chuàng)建和處理圖像,在其庫(kù)函數(shù)中,最重要的結(jié)構(gòu)體就是IplImage 結(jié)構(gòu),使用這種格式的特點(diǎn)是:可以比DIB 格式表示更多的圖像性質(zhì),而且可以更方便地存取圖像中的像素值[7]。定義該結(jié)構(gòu)體變量時(shí),需要用到函數(shù)cvCreateImage,定義方法如下:
IplImage *src=cvCreateImage(cvSize(800,600),IPL_DEPTH_16U,3);
在VC6.0 中新建MFC AppWizard(exe),添加支持OpenCV 的庫(kù)文件,如cxcore.lib cv.libml.lib cvaux.lib highgui.lib cvcam.lib 等,使得VC能夠調(diào)用OpenCV 的庫(kù)函數(shù)。
(1)固定閾值算法
OpenCV 中使用固定閾值對(duì)圖像進(jìn)行二值化的函數(shù)是cvThreshold(),函數(shù)具體定義為:
Double cvThreshold(
CvArr* src,
CvArr* dst,
double threshold,
double max_value,
int threshold_type);
該函數(shù)的特點(diǎn)是只能處理8位或浮點(diǎn)灰度圖像。目標(biāo)圖像必須與源圖像的類(lèi)型一致。每個(gè)閾值類(lèi)型threshold_type對(duì)應(yīng)于一個(gè)特定的比較操作如表1所示,該比較操作在源圖像第i個(gè)像素(srci)和閾值(T)之間進(jìn)行。根據(jù)源圖像的像素和閾值之間的關(guān)系,目標(biāo)圖像的像素dsti 會(huì)被設(shè)置為0, srci 或者max_value。當(dāng)threshold_type 被設(shè)置為CV_THRESH_BINARY 時(shí),如果源圖像第i 個(gè)像素(srci)大于閾值T,則目標(biāo)像素dsti 被設(shè)置為最大值max_value。否則目標(biāo)像素dsti 被設(shè)置為0[8]。
表1 cvThreshold()中閾值類(lèi)型選項(xiàng)和對(duì)應(yīng)的操作
以下是本文測(cè)試基于MFC的OpenCV高斯模糊算法部分核心代碼:
//定義IplImage 結(jié)構(gòu)體存放高斯模糊后的目標(biāo)圖片
IplImage* pImg8uSmooth= NULL;
IplImage* pImg8u= NULL;
//建立3 通道圖像,圖像大小與輸入圖像的大小相同的IplImage 結(jié)構(gòu)體
pImg8uSmooth = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U, 3);
//使用高斯模糊方法對(duì)輸入圖像進(jìn)行濾波
cvSmooth( img, pImg8uSmooth,CV_GAUSSIAN,3,0,0);
//創(chuàng)建窗口,顯示高斯模糊后的圖像
cvvNamedWindow( "Smooth Image", 1 );
cvvShowImage( "Smooth Image", pImg8uSmooth);
以下是基于MFC 的OpenCV 固定閾值化算法部分核心代碼:
//建立IplImage 結(jié)構(gòu)體存放圖片
IplImage* Thresholdimg=NULL;
//設(shè)定固定閾值為15(該值為參考值,實(shí)際測(cè)試程序時(shí),可以根據(jù)具體程序設(shè)置為其他測(cè)試值)
double threshold = 15;
//設(shè)定閾值類(lèi)型為CV_THRESH_BINARY
int threshold_type = CV_THRESH_BINARY;
//對(duì)上一步中進(jìn)行過(guò)高斯模糊的圖像進(jìn)行固定閾值化處理
cvCvtColor(pImg8uSmooth, Thresholdimg, CV_BGR2GRAY);
//固定閾值化處理
cvThreshold(Thresholdimg,It,threshold,255,threshold_type);
(2)自適應(yīng)閾值算法
針對(duì)有很強(qiáng)照明和反射梯度的圖像,圖像中像素分布很不均勻,要想對(duì)圖像處理得到效果較好的二值化效果,很難通過(guò)某一個(gè)或者某幾個(gè)固定的閾值來(lái)實(shí)現(xiàn)。在這種情況下,需要根據(jù)梯度進(jìn)行閾值化,于是便有了自適應(yīng)閾值算法[9]。
自適應(yīng)閾值算法是OpenCV 中的一種改進(jìn)了的閾值化處理技術(shù),使用的閾值本身就是一個(gè)變量,這種方法由函數(shù)cvAdaptiveThreshold()實(shí)現(xiàn),其具體函數(shù)為:
Void cvAdaptiveThreshold(
CvArr* src,
CvArr* dst,
double max_val,
Int adaptive_method=CV_ADAPTIVE_THRESH_MEAN_C,
Int threshold_type=CV_THRESH_BINARY,
Int block_size=3,
Double param1=5);
cvAdaptiveThreshold()有兩種不同的自適應(yīng)閾值方法,可以用參數(shù)adaptive_method進(jìn)行設(shè)置。在這兩種方法下,自適應(yīng)閾值T(x,y)在每個(gè)像素點(diǎn)都不同。通過(guò)計(jì)算像素點(diǎn)周?chē)鷅×b區(qū)域加權(quán)平均,然后減去常數(shù)得到自適應(yīng)閾值,b由參數(shù)block_size 指定,常參數(shù)由param1 指定。當(dāng)adaptive_method = CV_ADAPTIVE_THRESH_MEAN_C 時(shí),對(duì)區(qū)域所有像素平均加權(quán);當(dāng)adaptive_method=CV_ADAPTIVE_THRESH_GAUSSIAN_C時(shí),區(qū)域中的(x,y)周?chē)袼馗鶕?jù)高斯函數(shù)按照它們離中心的距離進(jìn)行加權(quán)計(jì)算。最后參數(shù)threshold_type和表1中的一樣。
本方法對(duì)于有很強(qiáng)照明或反射梯度的圖像,需要根據(jù)梯度進(jìn)行閾值化時(shí),自適應(yīng)閾值技術(shù)與其他技術(shù)相比就有很好的效果。本文是在adaptive_method=CV_ADAPTIVE_THRESH_GAUSSIAN_C時(shí)使用高斯模糊算法對(duì)輸入圖像進(jìn)行去噪濾波,之后用cvAdaptiveThreshold ()函數(shù)對(duì)高斯濾波之后的圖像進(jìn)行自適應(yīng)閾值化處理。具體核心代碼如下:
//定義IplImage 結(jié)構(gòu)體存放自適應(yīng)閾值化后的目標(biāo)圖片
IplImage* AdpThresholdimg=NULL;
//設(shè)定閾值類(lèi)型為CV_THRESH_BINARY
int threshold_type = CV_THRESH_BINARY;
//設(shè)定自適應(yīng)閾值方法為CV_ADAPTIVE_THRESH_MEAN_C 方法
int adaptive_method = CV_ADAPTIVE_THRESH_MEAN_C;
int block_size = 71;
//設(shè)置減去的常數(shù)值,以得到自適應(yīng)閾值
double offset = 15;
//建立Iat 指針存放自適應(yīng)閾值化處理后的圖像結(jié)構(gòu)體,作為輸出圖像
Iat = cvCreateImage(cvSize(Igray?>width,Igray?>height),IPL_DEPTH_8U, 1);
// AdpThresholdimg 存放經(jīng)過(guò)高斯模糊處理的圖像結(jié)構(gòu)體,作為輸入圖像
AdpThresholdimg=cvCreateImage(cvGetSize(img),IPL_
DEPTH_8U, 1);
//進(jìn)行自適應(yīng)閾值化處理,
cvAdaptiveThreshold(AdpThresholdimg, Iat, 255, adaptive_method,
threshold_type, block_size, offset);
//創(chuàng)建窗口,顯示自適應(yīng)閾值處理后的圖像
cvNamedWindow("Adaptive Threshold",1);
cvShowImage("Adaptive Threshold",Iat);
經(jīng)過(guò)上述兩種算法處理的圖像如圖2~圖4所示。
圖2 原始圖
圖3 固定閾值分割
圖4 自適應(yīng)閾值分割
3 結(jié) 語(yǔ)
本文介紹了基于OpenCV 的圖像處理并給出了實(shí)例,利用OpenCV 中的函數(shù)使圖像處理[10]問(wèn)題變得很簡(jiǎn)單,具有很強(qiáng)的實(shí)用價(jià)值,通過(guò)圖2和圖3的圖像處理后的效果,發(fā)現(xiàn)自適應(yīng)閾值相較于固定閾值有著較好的特征提取效果。當(dāng)使用固定閾值時(shí),無(wú)法分割出圖像中需要的信息,而使用自適應(yīng)閾值,可以有效地分割出圖像中的有用信息。
注:本文通訊作者為汪偉。
參考文獻(xiàn)
[1] 韓思奇,王蕾.圖像分割的閾值法綜述[J].系統(tǒng)工程與電子技術(shù),24(6):91?94.
[2] 陳勝勇,劉盛.基于OpenCV 的計(jì)算機(jī)視覺(jué)技術(shù)實(shí)現(xiàn)[M].北京:科學(xué)出版社,2008.
[3] 黃春艷.圖像分割若干算法研究[D].開(kāi)封:河南大學(xué),2011.
[4] 趙春燕,閏長(zhǎng)青,時(shí)秀芳.圖像分割綜述[J].中國(guó)科技信息,2009(7):41?43.
[5] 劉爽.圖象分割中閾值選取方法的研究及其算法實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2010(11):68?70.
[6] .圖像分割算法研究[J].福建電腦,2009(3):27?35.
[7] 高秀娟.圖像分割的理論、方法及應(yīng)用[D].長(zhǎng)春:吉林大學(xué),2012.
[8] 劉瑞禎,于仕琪.OpenCV 教程基礎(chǔ)篇[M].北京:北京航空航天大學(xué)出版社,2009.
[關(guān)鍵詞]建筑物提取,顯著性檢測(cè),隨機(jī)森林
中圖分類(lèi)號(hào):TM512 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-914X(2017)12-0297-01
1 引言
隨著遙感技術(shù)的快速發(fā)展,遙感影像的空間分辨率越來(lái)越高。相比于中低分辨率的遙感影像,高分辨率遙感影像中幾何結(jié)構(gòu)、空間特征、形狀以及紋理特征等信息更加清晰,能夠精細(xì)地描述地表目標(biāo),有助于地物目標(biāo)更精確的判讀解譯。在高分辨率影像上進(jìn)行地物識(shí)別與檢測(cè)是遙感科學(xué)領(lǐng)域研究中的一大熱點(diǎn),建筑物作為城市區(qū)域地物類(lèi)別中的主要內(nèi)容和地形圖中重要的成圖要素,準(zhǔn)確地獲取其空間位置、形狀等信息具有極其重要的意義。精確地提取建筑物在城市規(guī)劃、城市動(dòng)態(tài)檢測(cè)、城市三維建模以及地形圖更新等方面有著重要的實(shí)際應(yīng)用。
2 原理與方法
2.1 算法基本原理
算法首先用基于圖論的方法,對(duì)遙感影像進(jìn)行多尺度的分割,得到在不同尺度上的超像素塊區(qū)域;然后計(jì)算各個(gè)區(qū)域的特征向量,用隨機(jī)森林學(xué)習(xí)區(qū)域的多類(lèi)特征,構(gòu)建隨機(jī)森林回歸器,采用監(jiān)督學(xué)習(xí)的方法為每個(gè)區(qū)域進(jìn)行顯著性的賦值;在得到各個(gè)尺度的顯著圖后,利用最小二乘法將多個(gè)尺度顯著圖進(jìn)行融合;最后,對(duì)最終的顯著圖使用自適應(yīng)閾值的方法進(jìn)行分割,得到最終分割掩膜圖。
2.2 多尺度分割
本文所采用的過(guò)分割算法是由Felzenszwalb等提出的一種基于圖論的影像分割方法。該方法基于RGB顏色空間,每個(gè)像素用5個(gè)分量表示,包括兩個(gè)位置分量個(gè)三個(gè)顏色分量。在構(gòu)造帶權(quán)無(wú)向圖時(shí),圖的節(jié)點(diǎn)為圖像的像素,邊的權(quán)值用RGB分量的歐氏距離來(lái)計(jì)算。算法中定義了區(qū)域內(nèi)差異與區(qū)域間差異,若兩個(gè)不同區(qū)域間的差異度小于任何一個(gè)區(qū)域內(nèi)的差異度,則將它們進(jìn)行區(qū)域合并;否則,保持這兩個(gè)區(qū)域?yàn)閱为?dú)的區(qū)域。
多尺度的分割圖用S={S1,S2,...,Sm}表示。每個(gè)尺度的分割圖Sm都是通過(guò)原圖分割得到,包含Km個(gè)超像素塊。S1是原圖進(jìn)行分割得到的結(jié)果,包含最多的超像素塊。其余尺度上的分割結(jié)果都是通過(guò)S1中的超像素塊合并得到的。超像素合并的規(guī)則參考了文[13]中的過(guò)程。首先合并S1中的超像素塊得到S2。按照此規(guī)則依次進(jìn)行,最后合并Sm-1中的超像素塊得到Sm。
2.3 區(qū)域特征提取
在利用過(guò)分割方法得到影像超像區(qū)域后,提取每個(gè)超像素區(qū)域的特征。顏色與紋理是遙感影像最常用的低層視覺(jué)特征,可較直觀(guān)的反映影像不同地物的屬性。但是,對(duì)于顯著性檢測(cè)而言,對(duì)比特征又是其中非常重要的特征。下文將分別介紹超像素區(qū)域特征提取的方法。
2.4 顯著性學(xué)習(xí)
2.4.1 區(qū)域顯著性回歸器學(xué)習(xí)
在每個(gè)尺度上,首先對(duì)分割訓(xùn)練圖像獲得的每一個(gè)區(qū)域Ri,在人工標(biāo)記結(jié)果圖上對(duì)應(yīng)區(qū)域Gi。若Gi中所含像素的標(biāo)記有 80%屬于前景(或背景),則Ri標(biāo)記為前景(或背景),且 Ri的標(biāo)記值ai被設(shè)為 1(或0)。對(duì)每個(gè)區(qū)域作特征向量x∈Rd描述,訓(xùn)練樣本中包含已標(biāo)記的區(qū)域集合R={R(1),R(2),...,R(Q)},和對(duì)應(yīng)的標(biāo)記值A(chǔ) = {a(1),a(2),...,a(Q)}。
本文利用訓(xùn)練數(shù)據(jù)X = {x(1),x(2),...,x(Q)}和顯著性得分 A = {a(1),a(2),...,a(Q)},學(xué)習(xí)到一個(gè)隨機(jī)森林回歸器,將每個(gè)區(qū)域的特征向量映射到顯著性得分。隨機(jī)森林顯著性回歸是t個(gè)決策樹(shù)的集成,其中每個(gè)樹(shù)由分枝和葉節(jié)點(diǎn)組成。每個(gè)葉節(jié)點(diǎn)存儲(chǔ)一個(gè)特征索引f和閾值τ。給定特征向量x,樹(shù)中的每個(gè)葉節(jié)點(diǎn)是基于特征索引和閾值(f,τ)作出決定。如果x(f)
3 實(shí)驗(yàn)結(jié)果及分析
3.1 實(shí)驗(yàn)數(shù)據(jù)
實(shí)驗(yàn)所采用的數(shù)據(jù)為ISPRS提供的高分辨遙感影像數(shù)據(jù)集。數(shù)據(jù)為德國(guó)Vaihingen地區(qū)的正射投影影像,空間分辨率為0.8cm。實(shí)驗(yàn)將Vaihingen地區(qū)原始影像切割成一組100張大小為512*512的子塊影像。每幅子塊影像均注釋像素級(jí)別的真實(shí)標(biāo)記,真實(shí)標(biāo)記為包含建筑物和非建筑物二類(lèi)的二值掩膜圖。
3.2 實(shí)驗(yàn)參數(shù)設(shè)置
實(shí)驗(yàn)中涉及主要參數(shù)是隨機(jī)森林回歸過(guò)程中決策樹(shù)的數(shù)目T,隨機(jī)森林顯著性回歸過(guò)程中,樹(shù)越多,決策樹(shù)之間的差異越小,可以實(shí)現(xiàn)更好的性能。然而,性能隨著更多樹(shù)木的采用而不斷增加,但效率卻大大降低。因此,選擇設(shè)置T=200棵樹(shù)來(lái)訓(xùn)練回歸器以平衡效率和效果。
3.3 結(jié)果與分析
利用Vaihingen地區(qū)60張訓(xùn)練影像訓(xùn)練出顯著性模型,另外40張通過(guò)顯著性模型來(lái)檢測(cè)出顯著性區(qū)域,并通過(guò)自適應(yīng)閾值將將建筑物提取出來(lái)。本文方法對(duì)多種類(lèi)型的建筑物提取效果都很好,區(qū)域完整,雜質(zhì)少。
為了定量評(píng)價(jià)算法性能,將算法自動(dòng)提取建筑物的結(jié)果和Ground Truth進(jìn)行基于像素的比較。設(shè)TP為算法自動(dòng)提取結(jié)果中被正確分為建筑物的像素?cái)?shù);TN為建筑物被誤分其他地物的像素?cái)?shù);FP為被誤分為建筑物的其他地物的像素?cái)?shù);FN為未被正確分為建筑物的像素?cái)?shù)。建筑物提取的定量評(píng)價(jià)指標(biāo):(1)準(zhǔn)確率,Accuracy=(TP+TN)/(TP+FP+FN+TN);(2)精確率,Precision=TP/(TP+FP);(3)召回率,Recall=TP/(TP+FN)。利用30幅影像提取結(jié)果與真實(shí)標(biāo)記數(shù)據(jù),所計(jì)算出的平均準(zhǔn)確率為93.42%,平均精確率為91.28%,平均召回率為88.75%。從三種評(píng)價(jià)指標(biāo)來(lái)看,本文方法在對(duì)Vaihingen地區(qū)的影像進(jìn)行建筑物提取時(shí),效果較好。
4 Y論
本文提出了一種基于視覺(jué)顯著性的高分辨率遙感影像建筑物提取方法。該方法考慮到遙感影像中建筑物的特點(diǎn),將建筑物檢測(cè)問(wèn)題視為視覺(jué)顯著性檢測(cè)問(wèn)題。所提方法采用隨機(jī)森林回歸機(jī)器學(xué)習(xí)算法檢測(cè)影像中的建筑物顯著性,并通過(guò)自適應(yīng)閾值對(duì)顯著性結(jié)果進(jìn)行分割,實(shí)現(xiàn)了高分辨率遙感影像中提取建筑物的目的。對(duì)Vaihingen地區(qū)影像數(shù)據(jù)的測(cè)試結(jié)果表明,本文方法能得到較高的建筑物提取精度。
今后將考慮遙感影像之間的協(xié)同顯著性,以期為后面的分割提供更好的先驗(yàn)知識(shí),進(jìn)一步提高提取效果。
參考文獻(xiàn)
[1] 孫顯,王宏琦,張正.基于對(duì)象的Boosting方法自動(dòng)提取高分辨率遙感圖像中建筑物目標(biāo)[J].電子與信息學(xué)報(bào),2009,31(1):177-181.
現(xiàn)今,生物醫(yī)學(xué)圖像在醫(yī)療診斷中起著不可低估的重作用。核磁共振(MagneticResonance,簡(jiǎn)稱(chēng)MR)、計(jì)算機(jī)X射斷層掃描(ComputedTomography,簡(jiǎn)稱(chēng)CT)、超聲波(Ultrasound)以及其他的成像技術(shù)等,都是無(wú)侵害性的器官體外成像的力手段。這些技術(shù)豐富了正常的以及病狀的解剖知識(shí),同它也成為了診斷和治療體系重要的組成部分。隨著醫(yī)學(xué)圖像在數(shù)量和大小上的增加,越來(lái)越有必要用計(jì)算機(jī)處理并分析這些圖像。有一種算法用于找出解剖構(gòu)和其它感興趣的區(qū)域,這種算法叫做圖像分割算法(imagsegmentationalgorithms)。圖像分割是由圖像處理到圖像分的關(guān)鍵步驟[1],它在大量的生物醫(yī)學(xué)圖像的應(yīng)用起著至關(guān)重要的作用,比如:解剖結(jié)構(gòu)的研究、診斷等。在承擔(dān)自然科學(xué)基金項(xiàng)目的過(guò)程中,為研究分割算法在醫(yī)學(xué)圖像中的應(yīng)用,我們對(duì)過(guò)去國(guó)內(nèi)外二十多年里醫(yī)學(xué)圖像分割算法的發(fā)展和現(xiàn)今廣泛使用的分割法進(jìn)行了較詳細(xì)的調(diào)研,感到國(guó)內(nèi)在這方面的文獻(xiàn)和研究還比較少。為進(jìn)一步推動(dòng)圖像分割在生物醫(yī)學(xué)工程中的應(yīng)用,本文結(jié)合我們目前的研究結(jié)果,對(duì)醫(yī)學(xué)分割算法、特別是其應(yīng)用做了介紹。
2現(xiàn)今廣泛使用的生物醫(yī)學(xué)圖像分割方法
利用“區(qū)域間不連續(xù)性”和“區(qū)域內(nèi)相似性”兩個(gè)準(zhǔn)則,分割算法可分為的“基于邊界的算法”和“基于區(qū)域的算法”。另外,根據(jù)分割過(guò)程中“判斷和決定是否可獨(dú)立地和同時(shí)地做出”的處理策略,分割算法又可分為“并行算法”和“串行算法”。所以分割算法可根據(jù)這兩個(gè)分成四類(lèi)[1]。那么對(duì)于生物醫(yī)學(xué)圖像,也有相應(yīng)的四類(lèi)分割法。圖像、成像方式以及其它因素。比如:對(duì)腦組織分割的要求就不同于對(duì)肝臟的要求,MR圖像有異于超聲圖像。更進(jìn)一步的情況,成像中的人為和不可抗拒的天然因素(例如噪聲和物體的運(yùn)動(dòng)等)也會(huì)在很大程度上影響后繼的分割。所以,至今沒(méi)有一種適用于任何醫(yī)學(xué)圖像的通用的分割技術(shù)。我們總結(jié)了現(xiàn)今國(guó)內(nèi)外廣泛使用的生物醫(yī)學(xué)圖像分割方法。重點(diǎn)放在對(duì)方法的介紹上,和使用時(shí)會(huì)面臨的具體問(wèn)題上。方法的詳細(xì)數(shù)學(xué)推導(dǎo)超出了本文的范圍,讀者可以查閱參考文獻(xiàn)。雖然這些方法是分開(kāi)描述的,但在實(shí)際應(yīng)用中,很多復(fù)合法也用于解決各種不同的實(shí)際分割問(wèn)題。我們將這些方法分為四類(lèi)6種:1)并行區(qū)域法:閾值法。2)串行區(qū)域法:區(qū)域生長(zhǎng)法。3)結(jié)合特定理論工具的方法:①模式識(shí)別法(分類(lèi)器法,聚類(lèi)法);②人工神經(jīng)網(wǎng)絡(luò)法;③可變模型法。4)其他方法。
2.1閾值法
閾值分割法是將灰度圖像變?yōu)槎祱D像以達(dá)到分割目的的方法[4],它是一種PR(并行區(qū)域)法。閾值法的過(guò)程是決定一個(gè)灰度值,用以區(qū)分不同的類(lèi),這個(gè)灰度值就叫做“閾值”。把灰度值大于閾值的所有像素歸為一類(lèi),小于閾值的所有像素歸為另一類(lèi)。閾值法是一種簡(jiǎn)單但是非常有效的方法,特別是不同物體或結(jié)構(gòu)之間的有很大的強(qiáng)度對(duì)比時(shí),能夠得到很好的效果。此分割法通常是交互式的。因?yàn)殚撝捣軌驅(qū)崿F(xiàn)實(shí)時(shí)操作,所以它更能夠建立在用戶(hù)視覺(jué)估計(jì)的基礎(chǔ)上。閾值法一般可以作為一系列圖像處理過(guò)程的第一步。它的主要局限是,最簡(jiǎn)單形式的閾值法只能產(chǎn)生二值圖像來(lái)區(qū)分兩個(gè)不同的類(lèi)。另外,它只考慮像素本身的值[1],一般都不考慮圖像的空間特性,這樣就對(duì)噪聲很敏感。針對(duì)它的不足,有許多經(jīng)典閾值法的更新算法被提了出來(lái)[5]。
2.2區(qū)域生長(zhǎng)法
區(qū)域生長(zhǎng)法是根據(jù)預(yù)先定義的標(biāo)準(zhǔn),提取圖像中相連接的區(qū)域的方法[4]。這個(gè)標(biāo)準(zhǔn)可以是灰度信息,也可以是圖像的邊界,或者是兩者的聯(lián)合。在此法的最簡(jiǎn)單形式中,先人工給出一個(gè)種子點(diǎn),然后提取出和種子具有相同灰度值的所有像素。和閾值法一樣,區(qū)域生長(zhǎng)法一般不單獨(dú)使用,而是放在一系列處理過(guò)程中,特別用它來(lái)描繪諸如腫瘤和傷口等小而且簡(jiǎn)單的結(jié)構(gòu)。它主要的缺陷是,每一個(gè)需要提取的區(qū)域都必須人工給出一個(gè)種子點(diǎn),這樣有多個(gè)區(qū)域就必須給出相應(yīng)的種子個(gè)數(shù)。此法對(duì)噪聲也很敏感,會(huì)造成孔狀甚至是根本不連續(xù)的區(qū)域。相反的,局部且大量的影響還會(huì)使本來(lái)分開(kāi)的區(qū)域連接起來(lái)。為減輕這些缺點(diǎn),產(chǎn)生了諸如模糊分類(lèi)的區(qū)域增長(zhǎng)法[6]和其他方法。
2.3模式識(shí)別法
2.3.1分類(lèi)器法
分類(lèi)器法是一種統(tǒng)計(jì)模式識(shí)別的方法[7],用以區(qū)分從已知標(biāo)記的圖像數(shù)據(jù)衍生而來(lái)的特征空間?;叶戎狈綀D,就是最常見(jiàn)最典型的一維特征空間的例子。因?yàn)榉诸?lèi)器法需要用已知的人工分割結(jié)果作為訓(xùn)練樣本、對(duì)分類(lèi)器進(jìn)行訓(xùn)練后才能自動(dòng)分割新的數(shù)據(jù),所以它是有監(jiān)督的模式識(shí)別方法。它的訓(xùn)練方法有很多種,其中,最簡(jiǎn)單的一種是“非參數(shù)最近鄰”分類(lèi)器。它將像素或者體素劃分在與其灰度值最接近的那一類(lèi)中。而參數(shù)分類(lèi)器中,使用得最多的是貝葉斯分類(lèi)器(Bayesclassifier)[5]。標(biāo)準(zhǔn)的分類(lèi)器要求被分割的結(jié)構(gòu)具有明顯的定量特征。因?yàn)槿绻?xùn)練樣本數(shù)據(jù)能夠被標(biāo)記,分類(lèi)器就能夠?qū)⑦@些可以明顯區(qū)分的標(biāo)記轉(zhuǎn)化為新的數(shù)據(jù)而不需要反復(fù)迭代。所以相對(duì)于閾值法,在區(qū)分多區(qū)域圖像時(shí)它有較高的計(jì)算效率。它的缺點(diǎn)是是,需要人工交互方式獲得訓(xùn)練數(shù)據(jù)。另一方面,對(duì)于大量的生物圖像使用相同的訓(xùn)練樣本,會(huì)因?yàn)闆](méi)有考慮不同物體的解剖特性和物理特性而導(dǎo)致不準(zhǔn)確的結(jié)果。
2.3.2聚類(lèi)法
聚類(lèi)法的基本原理和分類(lèi)器法大體是相同的,不同點(diǎn)在于它不需要訓(xùn)練樣本數(shù)據(jù)。所以它是無(wú)監(jiān)督的模式識(shí)別方法。為了彌補(bǔ)沒(méi)有訓(xùn)練數(shù)據(jù)這一點(diǎn),聚類(lèi)方法反復(fù)做兩件工作:分割圖像和刻畫(huà)每個(gè)類(lèi)的特征,從而使用已有的數(shù)據(jù)訓(xùn)練自身以達(dá)到分割的目的。最常用的聚類(lèi)方法是模糊C-均值算法[1],它通過(guò)對(duì)目標(biāo)函數(shù)的迭代優(yōu)化實(shí)現(xiàn)集合劃分,并且可以表示出各個(gè)像素屬于不同類(lèi)別的程度。雖然聚類(lèi)算法不需要訓(xùn)練樣本數(shù)據(jù),但是它需要一個(gè)初始的分割。和分類(lèi)器方法一樣,聚類(lèi)法同樣不考慮空間建模,所以對(duì)噪聲和非同質(zhì)的灰度很敏感。然而,這一缺陷卻加快了計(jì)算速度。
2.4人工神經(jīng)網(wǎng)絡(luò)法
人工神經(jīng)網(wǎng)絡(luò)法是使用大量的平行的神經(jīng)網(wǎng)絡(luò)達(dá)到對(duì)圖像分割的目的[8]。這些網(wǎng)絡(luò)由模擬生物學(xué)習(xí)機(jī)理的節(jié)點(diǎn)或者元素組成,網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)能夠執(zhí)行最基本的運(yùn)算。通過(guò)調(diào)整節(jié)點(diǎn)之間的權(quán)值可以達(dá)到網(wǎng)絡(luò)對(duì)生物機(jī)理的學(xué)習(xí)。比如,用它實(shí)現(xiàn)圖像的邊緣檢測(cè)[8]。文獻(xiàn)[9]局部興奮全局抑制振蕩網(wǎng)絡(luò)(LEGION,LocallyExcitatoryGloballyInhibitoryOscillatorNetwork)就是一種基于人類(lèi)視覺(jué)特性的人工神經(jīng)網(wǎng)絡(luò)方法。LEGION是一個(gè)由張弛振子構(gòu)成的網(wǎng)絡(luò),每個(gè)振子皆由一個(gè)興奮單元x和一個(gè)抑制單元y組成(圖2)。分割結(jié)果見(jiàn)圖3。可以看出,與LEGION分割所得圖像相比,單閾值法所得圖像區(qū)域單一,細(xì)節(jié)較差,一些細(xì)小結(jié)構(gòu)未能表現(xiàn)出來(lái)。將LEGION這種算法完善,自適應(yīng)設(shè)置神經(jīng)網(wǎng)絡(luò)中的參數(shù),并且將它應(yīng)用在彩色圖像上。使用神經(jīng)網(wǎng)絡(luò)法的時(shí)候,因?yàn)榫W(wǎng)絡(luò)中有許多相互連接,所以空間信息就能很容易包涵在分類(lèi)過(guò)程中。雖然神經(jīng)網(wǎng)絡(luò)法具有平行繼承性,但是它的處理過(guò)程和標(biāo)準(zhǔn)的串行計(jì)算機(jī)很類(lèi)似,這樣就降低了它計(jì)算方面的潛在優(yōu)勢(shì)。
2.5可變模型法
可變模型法是基于模型的、使用閉合參數(shù)曲線(xiàn)或曲面描繪邊界的分割方法[3]。它的最初思想來(lái)源于物理概念:為了描繪出物體的邊界,首先設(shè)置一個(gè)離真實(shí)曲線(xiàn)或曲面不遠(yuǎn)的初始曲面或曲線(xiàn),在外力和內(nèi)力的作用下,推動(dòng)這個(gè)曲面或曲線(xiàn)移動(dòng),最后在圖像能量最低處停下來(lái)。因?yàn)榍€(xiàn)或曲面的移動(dòng)類(lèi)似于蛇,所以這個(gè)模型又叫做Snake模型,曲線(xiàn)或曲面叫做Snake。在圖像輪廓處灰度變化率(即梯度)最大,定義此處能量最小,那么Snake停下的地方就是真實(shí)邊界。由于1988年Kass首次提出的經(jīng)典Snake的外力場(chǎng)捕獲區(qū)很小[3],這就使得初始化和進(jìn)入凹陷區(qū)很困難。為此,科學(xué)家們多次改進(jìn)這一算法。其中,1998年Hopkins大學(xué)的ChenyangXu和JerryL.Prince[12]用梯度矢量流代替經(jīng)典外力場(chǎng),這就是有名的GVF理論(GradientVectorFlow)。它很好地解決了經(jīng)典Snake中的初始化問(wèn)題和凹陷區(qū)問(wèn)題。[12]是采用GVFSnake對(duì)左心室核磁共振圖像的腔體分割。
2.6其它方法
還有一些生物圖像的分割方法,比如:微分算子的邊緣檢測(cè)[1],Hough變換[4],它們均屬PB法(并行邊界)的范疇;用樣條進(jìn)行曲線(xiàn)擬合,它是一種SB法(串行邊界)。因?yàn)樯镝t(yī)學(xué)圖像中軟組織的物理和解剖特性,以上的方法一般不單獨(dú)使用,而是融入其它的方法里。此外,基于信息論[9]和基于小波分析[1]的分割技術(shù)也逐漸被應(yīng)用在生物圖像中。
關(guān)鍵詞:手指靜脈;像素點(diǎn)
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)16-3876-03
信息安全一直以來(lái)都是人們研究的重點(diǎn),如何能夠最大限度的保證個(gè)人信息是當(dāng)前急需解決的問(wèn)題,生物特征識(shí)別技術(shù)是最近幾年在發(fā)展起來(lái)的安全技術(shù)之一,它主要是利用生物特征采集裝置與計(jì)算機(jī)技術(shù),對(duì)于人體特有的生理特征進(jìn)行個(gè)人身份鑒別,主要基于生理特征生物方面主要包含了指紋,人臉,虹膜,手指靜脈等特征,在目前生物特征識(shí)別中,指紋識(shí)別體表特征識(shí)別,容易存在損害,容易偽造的缺點(diǎn);人臉識(shí)別具有一定的優(yōu)點(diǎn),但容易受到年齡,易容,易損失等不足,識(shí)別精度收到限制,虹膜識(shí)別雖然具有的一定優(yōu)越性,但是由于采集設(shè)備造價(jià)高,無(wú)法適應(yīng)進(jìn)行面向基層推廣。經(jīng)過(guò)醫(yī)學(xué)研究證明,人具有唯一的手指靜脈紋路,因此,手指靜脈識(shí)別技術(shù)作為一種新的生物特征識(shí)別技術(shù)受到越來(lái)越多人的重視[1]。
手指靜脈識(shí)別是一種新穎的識(shí)別技術(shù),主要是通過(guò)隱藏在人體手指腹部的靜脈血管進(jìn)行身份識(shí)別。文獻(xiàn)[2]提出了手指靜脈圖像質(zhì)量評(píng)價(jià)方法.在分析人類(lèi)視覺(jué)系統(tǒng)(HVS)性能的基礎(chǔ)上,將圖像有效區(qū)域、對(duì)比度、位置偏移度、模糊度、信息熵作為評(píng)價(jià)手指靜脈圖像質(zhì)量的參數(shù).并綜合分析這些參數(shù),加權(quán)獲得靜脈圖像總質(zhì)量評(píng)價(jià)函數(shù).實(shí)驗(yàn)表明,得到了與主觀(guān)評(píng)價(jià)結(jié)果相一致的客觀(guān)評(píng)價(jià)值。文獻(xiàn)[3]提出一種基于Fisher準(zhǔn)則的手指靜脈融合算法.首先對(duì)手指靜脈圖像進(jìn)行特征點(diǎn)提取,分別計(jì)算待匹配圖像特征點(diǎn)與注冊(cè)圖像特征點(diǎn)的正向平均豪斯道夫距離(FMHD)和反向平均豪斯道夫距離(RMHD),然后基于Fisher準(zhǔn)則確定FMHD和RMHD的融合參數(shù),將融合得到的豪斯道夫距離作為新的匹配分?jǐn)?shù);在上述算法的基礎(chǔ)上,將得到的食指、中指和無(wú)名指3根手指靜脈的匹配分?jǐn)?shù)進(jìn)行融合,以進(jìn)一步提高手指靜脈的識(shí)別率.實(shí)驗(yàn)結(jié)果表明,與通常采用的FMHD相比,采用融合后的豪斯道夫距離的誤識(shí)率有明顯降低;而采用三指靜脈融合后,誤識(shí)率由單個(gè)手指的1.95%降低到0.27%。文獻(xiàn)[4]提出了基于手指指尖點(diǎn)的旋轉(zhuǎn)定位方法,改進(jìn)了基于方向模板和局部動(dòng)態(tài)閾值分割提取靜脈特征的方法并用改進(jìn)Hausdorff距離(MHD)距離進(jìn)行匹配驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,同一根手指的圖片可以達(dá)到0.75%的等誤率,正確識(shí)別率達(dá)97.25%,對(duì)實(shí)際手指靜脈身份識(shí)別產(chǎn)品的開(kāi)發(fā)具有一定的現(xiàn)實(shí)意義。文獻(xiàn)[5]提出一種直接基于子圖像向量的線(xiàn)性鑒別分析方法,即模塊PCA手指靜脈特征提取算法。上述算法通過(guò)對(duì)圖像進(jìn)行分塊,利用PCA對(duì)分塊得到的子圖進(jìn)行鑒別分析。由于使用子圖像矩陣,能有效地抽取圖像的局部特征,避免使用奇異值分解理論,過(guò)程簡(jiǎn)便。實(shí)驗(yàn)結(jié)果表明,所提出的方法在識(shí)別性能上明顯優(yōu)于傳統(tǒng)PCA算法和小波矩融合PCA方法,識(shí)別率得到了有效的提高。文獻(xiàn)[6]提出通過(guò)計(jì)算手指輪廓線(xiàn)的主方向和末節(jié)關(guān)節(jié)腔位置對(duì)手指擺放位置的隨機(jī)變化進(jìn)行校正,并初步定位分割出手指靜脈感興趣區(qū)域。運(yùn)用迭代優(yōu)化方法實(shí)現(xiàn)手指靜脈感興趣區(qū)域分割結(jié)果的精確提取。在小型數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)的結(jié)果表明:該方法得到的感興趣區(qū)域具有較好的聚類(lèi)特性。說(shuō)明該方法能夠有效地從同一手指姿態(tài)變化的多幅靜脈圖像中定位并分割出相似度較高的感興趣區(qū)域。
從實(shí)際出發(fā)由于受到了諸多條件的限制。采集到的手指靜脈圖像存在質(zhì)量比較差,特特征無(wú)法提取的情況,在一定程度上影響了識(shí)別率。該文針對(duì)這些問(wèn)題,該文在分析了靜脈特征分析方法的基礎(chǔ)上,對(duì)圖像中屬于靜脈的區(qū)域進(jìn)行橫截面的深度和曲率的分析,然后通過(guò)設(shè)定的將這些區(qū)域進(jìn)行區(qū)分,最后通過(guò)動(dòng)態(tài)閾值法分割出手指靜脈特征。仿真實(shí)驗(yàn)證明,該文的算法有效提取手指靜脈特征,與其他算法相比具有較低的誤碼率和較高識(shí)別率。
1 手指靜脈算法基本簡(jiǎn)介
1.1 Niblack算法
Niblack算法是一種經(jīng)典分割算法,其算法過(guò)程如下:
1) 對(duì)于圖像[f]中的一個(gè)坐標(biāo)為[(x,y)]的像素點(diǎn)。利用式(1)和(2)計(jì)算出該像素點(diǎn)在向來(lái)區(qū)域內(nèi)的均值和方差。
[m(x,y)=1r2i=x-r/2x+r/2j=y-r/2y+r/2f(i,j)] (1)
[s(x,y)=1r2i=x-r/2x+r/2j=y-r/2y+r/2f2(i,j)] (2)
2) 通過(guò)公式(3)來(lái)計(jì)算出像素點(diǎn)中的坐標(biāo)閾值。
[T(x,y)=m(x,y)+k×s(x,y)] (3)
該算法優(yōu)點(diǎn)是算法結(jié)構(gòu)簡(jiǎn)單,容易實(shí)現(xiàn)并且運(yùn)行速度快。缺點(diǎn)是難以處理質(zhì)量相對(duì)低的圖像。
1.2 重復(fù)線(xiàn)性追蹤法
該算法主要是采用手指靜脈的形狀以及手指靜脈橫截面呈谷形分布的特點(diǎn)來(lái)進(jìn)行追蹤,該算法的思想是:
1)在靜脈圖像中隨機(jī)選取一個(gè)追蹤點(diǎn),記為[Pc]。
2) 以[Pc]為圓心,[r]為半徑畫(huà)圓。設(shè)定[P]點(diǎn)是該圓上的一個(gè)像素點(diǎn),計(jì)算[P]點(diǎn)的谷形深度[R=f(S)+f(T)-2f(P)],其中[f(S)],[f(T)]和[f(P)]分別表示點(diǎn)[S]、[T]和[P]的灰度值。
3) 檢測(cè)該圓上的灰度分布曲線(xiàn)。存在呈谷形的分布曲線(xiàn),則[Pc]屬于靜脈區(qū)域。并選擇橫截面谷形深度值最大的像素點(diǎn)為下一個(gè)跟蹤點(diǎn)并回到,然后不檢測(cè)[Pc]處的灰度分布曲線(xiàn)。
該算法可以很好的彌補(bǔ)1.1節(jié)中無(wú)法從低質(zhì)量的手指靜脈中提取圖像的現(xiàn)象,但缺點(diǎn)如下,所提取的靜脈紋路不夠光滑,算法的運(yùn)行速度較慢。
2 基于像素點(diǎn)檢測(cè)的靜脈特征提取算法
2.1 算法的基本原理
在手指靜脈圖像中,像素點(diǎn)與手指靜脈的位置關(guān)系非常只能更要。當(dāng)手掌的橫截面的半徑取適當(dāng)大小時(shí),就會(huì)出現(xiàn)來(lái)自多個(gè)方向的橫截面分布曲線(xiàn)。因此對(duì)于圖像中像素點(diǎn)來(lái)說(shuō),選擇三個(gè)方向以上的橫截面灰度分布曲線(xiàn)呈現(xiàn)出谷型,就認(rèn)定為靜脈像素點(diǎn),并做下一步的處理。
參考文獻(xiàn):
[1] 王科俊.手指靜脈圖像質(zhì)量評(píng)價(jià)[J].系統(tǒng)智能學(xué)報(bào),2011,6(4):324-327.
[2] 金懷國(guó).基于Fisher準(zhǔn)則的多指靜脈融合[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué),2013.25(2):183-187.
[3] 湯露.對(duì)抗圖像旋轉(zhuǎn)的手指靜脈身份識(shí)別新算法的設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2012,32(11):3193-3197.
>> 基于煤礦輸送帶橫向斷裂預(yù)報(bào)系統(tǒng)的構(gòu)建與實(shí)現(xiàn) 基于空間自適應(yīng)Bayesian縮減的NSCT域圖像去噪方法 淺議輸送帶清掃器的形式與特點(diǎn) 遙感圖像的NSCT自適應(yīng)閾值去噪方法 煤礦用織物整芯阻燃輸送帶檢測(cè)技術(shù)與工藝研究 基于NSCT和PCNN的改進(jìn)梯度圖像融合算法 礦用鋼絲繩芯輸送帶橫斷檢測(cè)裝置的安裝調(diào)試 有關(guān)礦用輸送帶縱向撕裂綜合檢測(cè)技術(shù)的研究 試論煤礦阻燃輸送帶及其檢測(cè) 帶式輸送機(jī)輸送帶跑偏的原因探討與解決方案 淺談耐油橡膠輸送帶的研制與開(kāi)發(fā) 新型材料輕型輸送帶的發(fā)展 淺談芳綸輸送帶貼膠的研制 對(duì)延長(zhǎng)輸送帶使用壽命的探討 橡膠輸送帶覆蓋膠的配方優(yōu)化設(shè)計(jì) 淺談?shì)斔蛶Ю錅卣辰拥臋z修 輸送帶耐磨性能的優(yōu)化 模塊輸送帶的熱脹冷縮系數(shù)計(jì)算 KGT―1型強(qiáng)力輸送帶安全無(wú)損檢測(cè)裝置在古礦選煤廠(chǎng)的應(yīng)用 淺談煤礦帶式輸送機(jī)類(lèi)型及輸送帶與托輥設(shè)計(jì)選型 常見(jiàn)問(wèn)題解答 當(dāng)前所在位置:
關(guān)鍵詞:輸送帶;裂紋檢測(cè);非下采樣Contourlet變換;脈沖神經(jīng)網(wǎng)絡(luò)
DOI:10.3969/j.issn.1005-5517.2015.10.018
亢伉(1987-),男,碩士,研究方向:圖像處理。
輸送帶是用于皮帶輸送帶中起承載和運(yùn)送物料作用的復(fù)合制品。輸送帶廣泛應(yīng)用于煤礦、水泥、焦化、冶金、化工、鋼鐵等行業(yè)中輸送距離較短、輸送量較小的場(chǎng)合。在長(zhǎng)期使用中,由于磨損等原因會(huì)造成輸送帶表面產(chǎn)生形狀不一的裂紋,若不及時(shí)發(fā)現(xiàn)處理,極有可能造成輸送帶撕裂,造成重大的經(jīng)濟(jì)損失甚至安全事故。目前輸送帶表面裂紋檢測(cè)主要由人工完成,這種方法不但精度差、效率低,容易造成漏檢或誤檢而且由于每次檢測(cè)需要停機(jī)完成,影響正常的生產(chǎn)活動(dòng)。
近年來(lái)隨著圖像采集技術(shù)以及計(jì)算機(jī)圖像處理技術(shù)的提高,基于機(jī)器視覺(jué)的自動(dòng)缺陷檢測(cè)系統(tǒng)開(kāi)始廣泛使用。目前輸送帶表面裂紋缺陷檢測(cè)方法很少。太原理工大學(xué)的衛(wèi)霞等人[1]提出二維熵裂紋目標(biāo)提取算法;唐艷同等人[2]提出預(yù)設(shè)灰度門(mén)限閾值法,馮廣生等人[3]提出了灰度直方圖閾值法,中北大學(xué)的魏濤等人[4]提出腐蝕膨脹的數(shù)學(xué)形態(tài)學(xué)算法。上述算法都取得了一定的成果,但是由于輸送帶工作環(huán)境惡劣,表面裂紋與輸送帶灰度較為相近,基于機(jī)器視覺(jué)的輸送帶表面裂紋檢測(cè)算法還有很大的研究空間。
為了適應(yīng)低對(duì)比度情況下輸送帶裂紋的準(zhǔn)確分割,結(jié)合NSCT與PCNN的優(yōu)點(diǎn),提出一種針對(duì)輸送帶裂紋目標(biāo)的自適應(yīng)提取算法,實(shí)驗(yàn)結(jié)果表明,本文提出的算法能夠準(zhǔn)確的提取裂紋目標(biāo),對(duì)基于機(jī)器視覺(jué)的輸送帶裂紋檢測(cè)提供一條新的思路。
經(jīng)典N(xiāo)SCT變換
非下采樣Contourlet域(non-subsampled contourlet,NSCT)是在CT(contourlet)的基礎(chǔ)上提出的一種多尺度、多方向的離散的圖像分解方法,它由非下采樣塔式分解濾波器(nonsubsampled pyramid,NSP)和非下采樣方向?yàn)V波器組(non-subsampleddirectional filter bank,NSDFB)來(lái)實(shí)現(xiàn)的[5]。如圖1(a)所示,以圖像的三個(gè)尺度分解為例,其過(guò)程為:
(1)圖像在頻率域通過(guò)NSP分解成一個(gè)低頻子帶和一個(gè)高頻子帶,其中,低頻子帶包含的是圖像的輪廓信息,可以定位輸送帶裂紋的位置,高頻子帶包含的是圖像的細(xì)節(jié)信息,可以用來(lái)精確描述輸送帶裂紋的大??;
(2)對(duì)高頻子帶使用NSDFB分解成多個(gè)方向子帶,每一個(gè)方向子帶描述圖像在此方向的細(xì)節(jié)信息,如圖1(b)所示,由于NSDBF是一個(gè)雙通道濾波器,所以方向子帶的數(shù)目可以是2的任意次冪,低頻子帶繼續(xù)使用NSP分解,實(shí)現(xiàn)對(duì)圖像的多尺度、多方向的分解[6]。
經(jīng)典PCNN模型
脈沖耦合神經(jīng)網(wǎng)絡(luò)(pulse-coupledneural network,PCNN)是第三代人工神經(jīng)網(wǎng)絡(luò)的代表,受生物視覺(jué)皮層神經(jīng)的啟發(fā),提出基于大量神經(jīng)元的反饋網(wǎng)絡(luò)模型。一個(gè)基本的PCNN神經(jīng)元由以下三部分組成:接收域、調(diào)制域和脈沖產(chǎn)生域[7],如圖2所示。
其數(shù)學(xué)模型為:
PCNN網(wǎng)絡(luò)在圖像分割方面的基本原理可以描述為:二維灰度圖像矩陣M×N,每一個(gè)像素可以理解為PCNN模型中相對(duì)應(yīng)一個(gè)神經(jīng)元,當(dāng)其鄰域有相近灰度值的像素存在時(shí),它就會(huì)被點(diǎn)火反饋,此像素得到加強(qiáng),反之則減弱。通過(guò)這種方法突出圖像中邊緣、紋理等特征信息,它所構(gòu)成的二值圖像就是PCNN的輸出分割圖像[8]。
NSCT與PCNN的自適應(yīng)圖像分割算法
輸送帶圖像顏色灰暗,對(duì)比度較低,經(jīng)典的缺陷檢測(cè)算法不能很好地檢測(cè)出輸送帶表面裂紋缺陷。NSCT變換具有多分辨率、多方向的特點(diǎn),在解決小波變換多分辨率分析方法容易在采樣過(guò)程中信息丟失弊端同時(shí)準(zhǔn)確獲得圖像的多角度信息,PCNN模型無(wú)需經(jīng)過(guò)訓(xùn)練就能從復(fù)雜的背景下提取到有用的信息,因此在圖像分割方面有很好的優(yōu)勢(shì),但是PCNN有大量參數(shù),每一個(gè)參數(shù)的設(shè)置都往往根據(jù)經(jīng)驗(yàn),自適應(yīng)能力很差[9]。綜合分析NSCT特點(diǎn)和PCNN模型優(yōu)勢(shì),提出一種針對(duì)輸送帶裂紋圖像的自適應(yīng)分割算法。
3.1
NSCT低頻域圖像分割
在低頻子帶體現(xiàn)的是目標(biāo)的大致輪廓,即裂紋在輸送帶圖像中位置等基本信息,因此提出一種鄰域連接PCNN分割算法,對(duì)于每一個(gè)像素,只要它被點(diǎn)火,則它的N(i,j)鄰域內(nèi)相似灰度值的像素也會(huì)被直接點(diǎn)火,連接輸入Lij為1,否則為0。簡(jiǎn)化后的公式為
簡(jiǎn)化后的神經(jīng)網(wǎng)絡(luò)模型如圖3所示。
3.2
NSCT高頻域圖像分割
在多層高頻子帶含有大量的裂紋目標(biāo)輪廓、邊緣的能量,并且在同方向不同尺度上具有相關(guān)性[10]。因此,提出一種快速連接PCNN分割算法,一個(gè)區(qū)域內(nèi)所有的神經(jīng)元同時(shí)點(diǎn)火,減少時(shí)延,提高效率。一個(gè)信號(hào)輸入之后,計(jì)算所有的輸出,并且更新連接域,直到輸出不變停止計(jì)算。輸入神經(jīng)元僅需一次點(diǎn)火就可以將信息傳給連接域中所有的神經(jīng)元。所以連接系數(shù)β越大,一次點(diǎn)火的波傳播的越遠(yuǎn)。
在反饋模型公式(1)中,簡(jiǎn)化反饋輸入Fij為待處理圖像的歸一化亮度輸入,只與自身輸入有關(guān),簡(jiǎn)化掉其他輸入的影響;
在公式(8)中,連接系數(shù)β反映的是此像素的特征與其鄰域像素的相關(guān)性,其相關(guān)性越大,人眼就會(huì)更容易得注意到[11]。因此,連接系數(shù)β應(yīng)該與圖像中像素的相關(guān)程度與關(guān),提出一種自適應(yīng)的確定連接系數(shù)β的方法。
像素的清晰度是判定此像素是否為圖像邊緣的一個(gè)顯著特征,因此,像素清晰度與像素的連接系數(shù)正相關(guān),像素清晰度越大,連接系數(shù)β的值就越大,其相關(guān)性就越大,這些相關(guān)的像素就比其他輸入像素更容易被捕獲點(diǎn)火,反之亦然。連接系數(shù)β的確定公式為其中,m為NSCT將輸送帶裂紋圖像進(jìn)行分解得到的高頻子帶系數(shù),下標(biāo)I,j表示數(shù)字圖像中的某個(gè)像素,f為圖像的灰度值。
所有像素的動(dòng)態(tài)門(mén)限均相同,其為原圖像的灰度迭代門(mén)限值θ。
當(dāng)像神經(jīng)元的內(nèi)部狀態(tài)大于門(mén)限值時(shí),神經(jīng)元點(diǎn)火,輸出Yij=1,否則輸出Yij=0。
將所有神經(jīng)元的迭代點(diǎn)火次數(shù)之和由矩陣T進(jìn)行記錄,最終得到圖像各個(gè)高頻子帶PCNN點(diǎn)火頻率圖,由于PCNN點(diǎn)火迭代就是根據(jù)鄰域神經(jīng)元灰度值的相近與否來(lái)判斷,所以PCNN點(diǎn)火頻率圖能夠很好的反映所需要提取目標(biāo)的邊緣信息。
快速連接PCNN分割算法模型如圖4所示。
NSCT與PCNN輸送帶裂紋圖像自適應(yīng)分割算法流程如圖5所示,具體步驟如下:
(1)用NSCT將輸送帶裂紋圖像進(jìn)行m尺度分解,得到一個(gè)低頻子帶系數(shù)和m個(gè)高頻子帶系數(shù);
(2)對(duì)低頻子帶,使用鄰域連接PCNN算法進(jìn)行計(jì)算,分割出裂紋目標(biāo)所在區(qū)域;
(3)對(duì)高頻子帶,使用快速連接PCNN算法進(jìn)行計(jì)算,并且結(jié)合點(diǎn)火頻率圖分割出裂紋目標(biāo);
(4)低頻圖分割結(jié)果能夠較好的覆蓋目標(biāo)所在區(qū)域,受噪聲和背景干擾較小,但目標(biāo)的邊緣、輪廓等細(xì)節(jié)特征比較模糊;高頻特征圖的分割結(jié)果能夠比較精確的獲取目標(biāo)的細(xì)節(jié)信息,但存在明顯的噪聲和背景干擾。為充分利用其各自?xún)?yōu)勢(shì),將高、低頻分割結(jié)果進(jìn)行“與”操作,再進(jìn)行必要的膨脹和腐蝕等形態(tài)學(xué)處理算法。
實(shí)驗(yàn)結(jié)果與分析
為了驗(yàn)證本文算法的有效性,通過(guò)線(xiàn)陣CCD相機(jī)獲取正在運(yùn)行中的輸送帶裂紋圖像,與OTSU算法、文獻(xiàn)[12-13]算法進(jìn)行比較,結(jié)果如圖6所示。從圖中可以看出,OTSU算法根本無(wú)法提取裂紋目標(biāo),文獻(xiàn)[12-13]方法雖然可以提取裂紋目標(biāo),但是有些裂紋目標(biāo)含有大量噪聲,魯棒性較差。本文算法克服上述算法缺點(diǎn),準(zhǔn)確的提取出裂紋目標(biāo)。
為進(jìn)一步檢驗(yàn)本文算法的有效性和優(yōu)越性,選擇100張輸送帶圖片包括60張裂紋缺陷圖片及40張正常圖片,分別進(jìn)行橫向?qū)Ρ葯z測(cè),實(shí)驗(yàn)環(huán)境為:4核CPU、主頻2.50GHz、4GB內(nèi)存、Windows 7系統(tǒng)的臺(tái)式機(jī)、應(yīng)用軟件環(huán)境是Matlab 2010a,實(shí)驗(yàn)圖像大小你為256×256,4種算法結(jié)果如表1所示。
可以看出,對(duì)于裂紋缺陷圖像,本文算法有6.7%的誤檢率,主要是因?yàn)檫@幾張裂紋較輕微,與背景差距較??;對(duì)于正常輸送帶圖像有7.5%的誤檢率,主要是因?yàn)椴糠州斔蛶D像上粘有粉塵等雜質(zhì),被誤判為裂紋缺陷本文法達(dá)到了較好的效果。OTSU算法和文獻(xiàn)[13]算法運(yùn)算速度較快但正確率較低,文獻(xiàn)[12]算法能夠保證一定的正確率但還有很大提升空間,本文算法雖然計(jì)算速度較慢,但正確率高。若用高級(jí)編程語(yǔ)言編寫(xiě)本文算法,檢測(cè)時(shí)間將會(huì)有較大提升。
結(jié)論
由于輸送帶裂紋圖像整體對(duì)比度低,傳統(tǒng)檢測(cè)手段難以提取裂紋目標(biāo),為此本文提出了一種基于NSCT和PCNN的自適應(yīng)裂紋缺陷檢測(cè)算法,該算法通過(guò)NSCT將圖像分解成低頻子帶和高頻子帶,對(duì)低頻子帶采用鄰域連接PCNN算法分割,對(duì)高頻子帶結(jié)合快速連接PCNN算法和點(diǎn)火頻率圖進(jìn)行分割,最后將二者分割后的圖像用形態(tài)學(xué)方法融合,最終提取裂紋目標(biāo)。
實(shí)驗(yàn)結(jié)果表明,本文方法能有效地提取出不同輸送帶圖像的裂紋缺陷,對(duì)于本文算法處理時(shí)間較長(zhǎng)的缺點(diǎn),是下一步需要改進(jìn)的方向。
參考文獻(xiàn):
[1]衛(wèi)霞,基于圖像處理的傳送皮帶裂紋檢測(cè)[D],太原:太原理工大學(xué),2011
[2]唐艷同,喬鐵柱,牛模輸送帶縱向撕裂在線(xiàn)監(jiān)測(cè)預(yù)警系統(tǒng)的設(shè)計(jì)[J],煤礦機(jī)械,2012,33(5):242-245
[3]馮廣生,李文英圖像處理技術(shù)在膠帶撕裂檢測(cè)中的應(yīng)用[J],機(jī)械工程與自動(dòng)化,2007,(3):104-106
[4]魏濤,煤炭輸送帶裂紋檢測(cè)技術(shù)研究[D],太原:中北大學(xué),2010
[5]金星,李暉暉,時(shí)不麗非下采樣Contourlet變換與脈沖耦臺(tái)神經(jīng)網(wǎng)絡(luò)相結(jié)合的SAR與多光譜圖像融合[J],中國(guó)圖象圖形學(xué)報(bào),2012,17(9):1188-1195
[6]李雪琴,蔣紅海,劉培勇,等非下采樣Contourlet域自適應(yīng)聞值面的磁瓦表面缺陷檢測(cè)[J],計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2014,26(4):553-558
[7]廖傳柱,張旦,江銘炎,基于ABC-PCNN模型的圖像分割[J],南京理工大學(xué)學(xué)報(bào),2014,38(4):558-565
[8]KONG W W, LEI Y J,LEI Y, Image fusion technique based on non-susampled contourlet transform and daptive unit-fast-linking pluse-coupled neural network[J]. IET Image Processing, 2011, 5(2):113-121
[9]郝愛(ài)枝,鄭晟,基于NSCT-PCNN變換的多傳感器圖像融臺(tái)[J],科學(xué)技術(shù)與工程,2014,14(1):45-48
[10]YANG Shuyuan, WANG Min, LU Yanxiong, et aI.Fusion of multiparametric SAR images based on SW-nonsusampled contourlet and PCNN[J]. Signal Processing, 2009, 89(12)2596-2608
[11]SHI J, CHI Y, ZhANG N Multichannel sampling and reconstruction of bandlmited Signals in fractional Fourier domain[J]. IEEE Signal ProcessIng LetIers,2010,17(11):,909-912
關(guān)鍵詞:運(yùn)動(dòng)目標(biāo)檢測(cè);機(jī)器視覺(jué);圖像處理OpenCV
中圖分類(lèi)號(hào):TP18 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)07-0171-02
運(yùn)動(dòng)目標(biāo)的檢測(cè)及跟蹤技術(shù)在機(jī)器人導(dǎo)航、安全監(jiān)控、航天行業(yè)等領(lǐng)域都有著廣泛的應(yīng)用,并成為當(dāng)前機(jī)器視覺(jué)領(lǐng)域研究重點(diǎn)之一。但是當(dāng)前的技術(shù)對(duì)于移動(dòng)速度快、體積小的小型生物的跟蹤很難達(dá)到準(zhǔn)確度高,實(shí)時(shí)性強(qiáng)。
1運(yùn)動(dòng)目標(biāo)檢測(cè)的基本方法
近些年來(lái),國(guó)內(nèi)外的學(xué)者們?cè)谶\(yùn)動(dòng)目標(biāo)檢測(cè)的問(wèn)題上,已經(jīng)提供了許多有效的方法,但是很多算法不能同時(shí)滿(mǎn)足實(shí)時(shí)性,精確性的要求,特別是對(duì)于移動(dòng)速度快的小型生物。目前,常用的運(yùn)動(dòng)目標(biāo)檢測(cè)算法有以下幾種:光流法,基于卡爾曼濾波的運(yùn)動(dòng)目標(biāo)跟蹤,背景差分法等。
1.1光流法
光流法基本原理為檢測(cè)序列圖像中出現(xiàn)的瞬時(shí)位移場(chǎng),從連續(xù)的圖像序列中計(jì)算光流場(chǎng),把計(jì)算得到的光流,作為檢測(cè)運(yùn)動(dòng)目標(biāo)的重要特征。光流法不受背景變化的影響,但對(duì)于噪聲多的場(chǎng)景,光流法容易出現(xiàn)誤判的情況。
1.2基于卡爾曼濾波的運(yùn)動(dòng)目標(biāo)跟蹤
基于卡爾曼濾波的運(yùn)動(dòng)目標(biāo)跟蹤是將目標(biāo)的運(yùn)動(dòng)軌跡作為模型,預(yù)測(cè)目標(biāo)下一時(shí)刻的位置。能減少運(yùn)算量,縮小檢測(cè)區(qū)域,但是當(dāng)運(yùn)動(dòng)目標(biāo)長(zhǎng)時(shí)間被遮擋時(shí)會(huì)存在目標(biāo)跟蹤丟失的情況。
1.3背景差分法
背景差分法是事先將圖像儲(chǔ)存起來(lái)作為背景參考模型,再用當(dāng)前圖像與背景作差,找出在灰度上與背景有較大差異的點(diǎn),檢測(cè)運(yùn)動(dòng)區(qū)域。背景差分法對(duì)于運(yùn)動(dòng)速度快的運(yùn)動(dòng)目標(biāo),檢測(cè)準(zhǔn)確,但對(duì)于動(dòng)態(tài)變化的場(chǎng)景,檢測(cè)精度低。
綜上所述,現(xiàn)有技術(shù)存在著對(duì)于快速移動(dòng)的小型生物檢測(cè)精度不高的問(wèn)題。作者試圖基于幀差法,利用Open CV函數(shù)庫(kù),尋求一種針對(duì)移動(dòng)速度快、體積小的運(yùn)動(dòng)物體的檢測(cè)。
研究主要實(shí)現(xiàn)的目標(biāo)是對(duì)移動(dòng)速度快的小型生物的檢測(cè),主要是利用視頻圖像序列中連續(xù)兩到三幀的差異來(lái)檢測(cè)運(yùn)動(dòng)區(qū)域。首先,獲取相鄰兩幀圖像,將前一幀作為背景,用后一幀減去背景,獲取圖像亮度差絕對(duì)值較大的區(qū)域,一般亮度差異較大的區(qū)域可認(rèn)為由運(yùn)動(dòng)物體引起的。幀差法算法實(shí)現(xiàn)簡(jiǎn)單,受光線(xiàn)影響小,適應(yīng)于動(dòng)態(tài)場(chǎng)景,穩(wěn)定性強(qiáng)。但是該算法對(duì)于兩幀獲取時(shí)間間隔要求高,時(shí)間間隔選取不適當(dāng),容易出現(xiàn)“重影”和“空洞”的現(xiàn)象。研究對(duì)該算法進(jìn)行改進(jìn),以提高檢測(cè)的精度。
2系統(tǒng)組成
運(yùn)動(dòng)目標(biāo)檢測(cè)系統(tǒng)主要由視頻獲取,讀取相鄰兩幀,圖像灰度化處理,相鄰幀的圖像對(duì)應(yīng)像素值相減,差分圖像二值化。
系統(tǒng)首先獲取實(shí)時(shí)采集的序列圖像。其次,讀取序列圖像中相鄰兩幀圖像,對(duì)該兩幀圖像進(jìn)行灰度化處理。將前一幀作為背景,將后一幀圖像的像素值減去背景對(duì)應(yīng)的像素值,獲取變化大的區(qū)域,確定運(yùn)動(dòng)目標(biāo)的位置。最后對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行二值化突顯運(yùn)動(dòng)區(qū)域。
3算法原理
3.1圖像灰度化
研究使用cvtC~lor函數(shù)實(shí)現(xiàn)圖像的灰度化。函數(shù)聲明為src和dst分別是源圖像和輸出圖像;code是一個(gè)掩碼,表示源圖像和輸出圖像之間的轉(zhuǎn)化模式。最后的&tCn表示dst圖像的波段數(shù),默認(rèn)值為0,可從參數(shù)code中推斷。
code的模式包括:
3.2幀差算法
研究采用幀差算法實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)提取,使用函數(shù)subtract()。
函數(shù)聲明為
void subtract(InputArray src1,InputArray src2,OutputArray dst,InputArray mask―noArray(),int dtype=-1)
其中,src1為第一幀圖像,src2為第二幀圖像,dst為輸出圖像,mask為自定義掩碼。])type為兩幀相減的方式。
本函數(shù)實(shí)現(xiàn)了幀差算法,讀取一段序列圖像,獲取相鄰兩幀的圖像,將前一幀圖像作為背景src1(I),后一幀作為當(dāng)前圖像src2(I),用當(dāng)前圖像的像素值減去背景相應(yīng)的像素值,獲取變化較大的區(qū)域,該區(qū)域可認(rèn)為由運(yùn)動(dòng)物體造成,具體公式可參考公式(1)。
dst(1)=saturate(srcl(D-src2(I))if mask(I)≠0 (1)
3.3差分圖像二值化
差分圖像二值化是在上一步獲取的差分圖像的基礎(chǔ)上,進(jìn)一步凸顯運(yùn)動(dòng)物體的區(qū)域。具體實(shí)現(xiàn)為先設(shè)定一個(gè)閾值T,當(dāng)圖像的像素值大于該閾值時(shí)設(shè)定為1,否則設(shè)定為0。接著將所有設(shè)定為1的點(diǎn)的灰度值設(shè)置為255,所有設(shè)定為0的點(diǎn)的灰度值設(shè)置設(shè)置為0,具體公式可參考公式(2)。
(2)
4算法在編程環(huán)境下的具體實(shí)現(xiàn)
研究算法的具體實(shí)現(xiàn)如下:首先建立一個(gè)VideoCapture結(jié)構(gòu)體,導(dǎo)入一段序列圖像。然后讀取該序列圖像中的一幀圖像,保存在類(lèi)型為Mat的結(jié)構(gòu)體中,等待5毫秒后,讀取下一幀圖像,同樣保存在類(lèi)型Mat的結(jié)構(gòu)體中。接著調(diào)用灰度化函數(shù)cvtColor()對(duì)兩幀圖像進(jìn)行預(yù)處理。調(diào)用矩陣相減函數(shù)subtract(),設(shè)定一個(gè)閾值,對(duì)相減的差分圖像進(jìn)行二值化。最后調(diào)用namedWindow()函數(shù)建立窗口并調(diào)用imshow()函數(shù)顯示圖像。
5實(shí)驗(yàn)結(jié)果及分析
研究對(duì)幀差算法進(jìn)行改進(jìn),調(diào)用OpenCV函數(shù)庫(kù)中的函數(shù),在Visual Studio 2015平臺(tái)編程實(shí)現(xiàn)了對(duì)于小型生物的運(yùn)動(dòng)檢測(cè),實(shí)驗(yàn)結(jié)果見(jiàn)下圖。
圖2所示為實(shí)時(shí)圖像第一幀,圖3所示為相鄰幀,將圖2,圖3分別灰度化后再相減后得到圖4所示圖像,圖5為二值化后的圖像。其中在獲取相鄰兩幀的時(shí)間間隔以及二值化的閾值,需根據(jù)實(shí)際處理的圖片來(lái)不斷調(diào)整數(shù)值,經(jīng)過(guò)多次實(shí)驗(yàn)不斷嘗試后,時(shí)間間隔在10-30毫秒之間為最好,二值化的閾值在10-13時(shí),運(yùn)動(dòng)物體的真實(shí)目標(biāo)區(qū)域較完整,“重影”、“空洞”現(xiàn)象較少。
研究算法檢測(cè)效果比較好,對(duì)于移動(dòng)速度快的小型生物也能很好的檢測(cè)出來(lái),真實(shí)目標(biāo)區(qū)域較完整,背景噪音較少,而它錯(cuò)誤可以通過(guò)形態(tài)學(xué)去噪、陰影抑制、空洞修補(bǔ)加以完善。
關(guān)鍵詞:圖像傳感器;智能循跡小車(chē);研究與實(shí)現(xiàn)
DOI:10.16640/ki.37-1222/t.2016.24.111
0 前言
循跡即小車(chē)在白色地板上形式的過(guò)程中,可以通過(guò)紅外探測(cè)方法,在感知黑色和白色地板對(duì)光線(xiàn)反射系數(shù)差異的基礎(chǔ)上,自動(dòng)、智能的在黑色線(xiàn)路中行駛的技術(shù),但由于在現(xiàn)實(shí)環(huán)境中,白色地板和黑色線(xiàn)路的反射光線(xiàn)會(huì)受到多方面因素的影響,紅外探測(cè)的難度大幅提升,所以要將對(duì)環(huán)境判斷更加準(zhǔn)確的圖像傳感器應(yīng)用于智能循跡小車(chē)中。
1 基于圖像傳感器的智能循跡小車(chē)實(shí)現(xiàn)的基本原理分析
由于圖像傳感器的分辨率相比傳統(tǒng)紅外探測(cè)方法更加理想,所以以圖像傳感器為基礎(chǔ)進(jìn)行智能循跡小車(chē)設(shè)計(jì),可以更理想的保證循跡運(yùn)行效果。在圖像傳感器應(yīng)用的過(guò)程中,智能小車(chē)一方面通過(guò)紅外光電管和攝像頭對(duì)前方的道路顏色進(jìn)行采樣,結(jié)合采樣數(shù)據(jù)識(shí)別具體的路徑,在此過(guò)程中為使檢測(cè)精度達(dá)到預(yù)期效果,光電管的安裝位置與地面之間的距離應(yīng)得到較嚴(yán)格的控制,但兩者間的距離縮減或使高速運(yùn)行的智能小車(chē)過(guò)彎能力下降,此時(shí)利用攝像頭在前瞻距離方面的優(yōu)勢(shì)可以彌補(bǔ)光電管的缺陷,完成過(guò)彎、抄近道等智能操作[1]。另外,面陣式布局的攝像頭在圖像采集的過(guò)程中所獲取的數(shù)據(jù)點(diǎn)多達(dá)上千,使智能小車(chē)判斷車(chē)道的依據(jù)更加豐富,進(jìn)一步提升了小車(chē)運(yùn)行的安全性。但由于攝像頭數(shù)據(jù)處理難度大,而且圖像采集效果受道路環(huán)境的影響非常大,所以在光電管和攝像頭結(jié)合應(yīng)用的過(guò)程中,仍存在圖像處理等問(wèn)題。
為解決上述問(wèn)題,在基于圖像傳感器的智能循跡小車(chē)設(shè)計(jì)的過(guò)程中,另一方面要對(duì)圖像處理功能進(jìn)行優(yōu)化,考慮到大量數(shù)據(jù)在存儲(chǔ)過(guò)程中出現(xiàn)的冗余會(huì)浪費(fèi)一定的存儲(chǔ)空間,提升微處理器的處理任務(wù),所以在處理的過(guò)程中應(yīng)先對(duì)采集的數(shù)據(jù)進(jìn)行壓縮,在減少存儲(chǔ)資源利用量的同時(shí)防止非有效信息對(duì)采集信息的干擾[2]。另外,考慮到循跡的本質(zhì)是按照目標(biāo)引導(dǎo)線(xiàn)運(yùn)行,所以在圖像處理的過(guò)程中,重點(diǎn)工作是在濾除雜點(diǎn)的基礎(chǔ)上,識(shí)別黑色軌道,并在圖像中標(biāo)注除具體軌道的位置,為智能小車(chē)運(yùn)行提供依據(jù)。
通過(guò)以上圖像采集和處理技術(shù),可以實(shí)現(xiàn)智能小車(chē)按軌跡安全、快速、靈活的運(yùn)行,這也是以圖像傳感器為基礎(chǔ)的智能軌跡小車(chē)實(shí)現(xiàn)的基本原理。
2 基于圖像傳感器的智能循跡小車(chē)研究
2.1 基于圖像傳感器的智能循跡小車(chē)硬件
基于圖像傳感器的智能循跡小車(chē)硬件主要包括以下部分:首先承擔(dān)接收賽道信息、校車(chē)運(yùn)行速度等信息,并對(duì)信息進(jìn)行處理,確定小車(chē)控制具體方案,并通過(guò)舵機(jī)和直流電機(jī)對(duì)小車(chē)進(jìn)行轉(zhuǎn)向、轉(zhuǎn)臺(tái)調(diào)整控制的核心控制模塊。其次,由轉(zhuǎn)向舵機(jī)、電機(jī)驅(qū)動(dòng)和圖像采集電路等子模塊構(gòu)成的電源管理模塊,此模塊的硬件設(shè)備性能直接關(guān)系到智能小車(chē)運(yùn)行的持久性。再次,實(shí)現(xiàn)對(duì)智能小車(chē)運(yùn)行狀態(tài)進(jìn)行直接調(diào)整的電機(jī)驅(qū)動(dòng)模塊,在智能小車(chē)運(yùn)行的過(guò)程中,微控制器是控制信號(hào)發(fā)出的主要結(jié)構(gòu),但實(shí)際中大部分微控制器的工作電壓并不能對(duì)大功率負(fù)載實(shí)現(xiàn)驅(qū)動(dòng),所以通常在電機(jī)和控制器之間設(shè)計(jì)驅(qū)動(dòng)電路,保證單片機(jī)功能的實(shí)現(xiàn)[3]。然后,對(duì)智能小車(chē)行車(chē)速度進(jìn)行調(diào)節(jié),保證小車(chē)在直道和彎道中均處于最佳大運(yùn)行狀態(tài)的車(chē)速檢測(cè)模塊,目前,主要應(yīng)用霍爾傳感器、光電傳感器和光電編碼器實(shí)現(xiàn),在具體選擇的過(guò)程中,結(jié)合具體傳感器的特點(diǎn)進(jìn)行靈活的選擇。另外,直接實(shí)現(xiàn)舵機(jī)轉(zhuǎn)向的舵機(jī)轉(zhuǎn)向模塊,筆者認(rèn)為將MC9S12XS128中的PWM2和PWM3級(jí)聯(lián)基礎(chǔ)上利用PWM2進(jìn)行脈沖調(diào)控信號(hào)的輸出,可以進(jìn)一步提升智能小車(chē)舵機(jī)的反應(yīng)速度。除此之外,由數(shù)字圖像傳感器對(duì)小車(chē)前路徑信息進(jìn)行采集并利用單片機(jī)對(duì)采集數(shù)據(jù)進(jìn)行信息挖掘,引導(dǎo)小車(chē)進(jìn)行狀態(tài)調(diào)整和路徑識(shí)別的圖像采集模塊,現(xiàn)階段主要應(yīng)用的數(shù)字圖像傳感器和單片機(jī)型號(hào)分別是OV7620和S12,在具體應(yīng)用中可結(jié)合實(shí)際情況進(jìn)行更換。
2.2 基于圖像傳感器的智能循跡小車(chē)軟件
現(xiàn)階段應(yīng)用的軟件設(shè)計(jì)方案主要是兩種,一種是通過(guò)中斷處理函數(shù)采集道路圖像數(shù)據(jù),并在小車(chē)起跑線(xiàn)檢測(cè)過(guò)程中,通過(guò)軟件延時(shí),判斷行中斷是否到來(lái),在確定到來(lái)后采集現(xiàn)場(chǎng)該行圖像數(shù)據(jù),在判斷本場(chǎng)數(shù)據(jù)采集完畢后進(jìn)行圖像處理,并結(jié)合處理結(jié)果進(jìn)行舵機(jī)轉(zhuǎn)向控制和電極驅(qū)動(dòng)控制。另一種軟件方案是在開(kāi)始運(yùn)行后,系統(tǒng)變量和各功能模塊進(jìn)入初始化狀態(tài),然后判斷定時(shí)時(shí)間是否來(lái)到,在獲得肯定信息后,開(kāi)始采集該廠(chǎng)圖像,進(jìn)行舵機(jī)轉(zhuǎn)向控制和電極驅(qū)動(dòng)控制,并結(jié)合是否檢測(cè)到起跑線(xiàn)的信息反饋,在檢測(cè)到后判斷是否第二次檢測(cè)到,在肯定后結(jié)束,在否定后重新進(jìn)行初始化后的判定?,F(xiàn)階段第一種軟件設(shè)計(jì)方案應(yīng)用相對(duì)更為廣泛,在采用CMOS數(shù)字圖像傳感器進(jìn)行智能小車(chē)循跡設(shè)計(jì)時(shí),通常將第一種軟件設(shè)計(jì)方案的系統(tǒng)軟件設(shè)計(jì)整體構(gòu)架表現(xiàn)為,開(kāi)始后,先進(jìn)行系統(tǒng)初始化、工作模式識(shí)別,如果判斷為測(cè)試模式,則啟動(dòng)傳感器、電機(jī)、舵機(jī)等結(jié)構(gòu),如果判斷為比賽模式,則在對(duì)方向信號(hào)和速度信號(hào)采集的基礎(chǔ)上進(jìn)行穩(wěn)態(tài)判斷,此時(shí)要分別進(jìn)行方向和速度的控制,前者主要通過(guò)控制和改進(jìn)算法后舵機(jī)控制實(shí)現(xiàn),后者是在速度調(diào)節(jié)后電機(jī)控制實(shí)現(xiàn),具體的設(shè)計(jì)需要結(jié)合具體采用的圖像傳感器類(lèi)型進(jìn)行調(diào)整。
2.3 賽道圖像的處理系統(tǒng)
考慮到USB2.0視頻采集盒可以直接完成對(duì)音頻和視頻的高質(zhì)量采集,而且安裝過(guò)程簡(jiǎn)單,對(duì)使用環(huán)境的依賴(lài)性較低,所以在基于圖像傳感器的智能循跡小車(chē)中應(yīng)用較為廣泛,通常將其采集到的圖像信息通過(guò)視頻采集卡向上位機(jī)傳輸,為操作者調(diào)節(jié)采集棒的具體參數(shù)提供參考,在調(diào)試的過(guò)程中,人們現(xiàn)階段主要應(yīng)用以VB為基礎(chǔ)的上位機(jī)串口調(diào)試軟件進(jìn)行。在圖像采集的過(guò)程中,如果應(yīng)用OV7620數(shù)字?jǐn)z像頭,可應(yīng)用的視頻信號(hào)達(dá)到288行,但中所周知,并不是所有的視頻信號(hào)在智能小車(chē)軌跡運(yùn)行的過(guò)程中均需要,特別是每場(chǎng)前22行消隱信號(hào),如果盲目的采集只會(huì)造成存儲(chǔ)空間的浪費(fèi)和計(jì)算效率的降低,使單片機(jī)的負(fù)擔(dān)加大,所以在圖像采集的過(guò)程中應(yīng)盡可能的對(duì)其余的266行視頻信號(hào)進(jìn)行采集,保證核心控制模塊的處理效率。在圖像采集后,利用S12系列單片機(jī)將采集到的圖像
數(shù)據(jù)完整準(zhǔn)確的傳輸至pc機(jī),利用準(zhǔn)備的基于VB的上位機(jī)串口調(diào)試軟件,對(duì)圖像數(shù)據(jù)二維數(shù)組進(jìn)行處理,使其通過(guò)灰度圖的形式直接展現(xiàn)。
在以上圖像處理操作后,智能小車(chē)可以對(duì)所處賽場(chǎng)內(nèi)的軌道信息準(zhǔn)確的掌握和判別,操作人員也可以對(duì)小車(chē)進(jìn)行精準(zhǔn)的控制,但需要注意的是智能小車(chē)在不同的運(yùn)動(dòng)狀態(tài)下,所需要的圖像信息存在差異,所以在智能小車(chē)循跡運(yùn)行的過(guò)程中,操作人員應(yīng)有意識(shí)的對(duì)攝像頭的安裝位置和調(diào)節(jié)趨勢(shì)進(jìn)行改變,盡可能達(dá)到“看的最遠(yuǎn)、看的最清晰”。
另外,在賽道圖像采集和傳輸?shù)幕A(chǔ)上,賽道圖像數(shù)據(jù)的分析也至關(guān)重要,通常情況下,基于圖像傳感器的智能小車(chē)所應(yīng)用的攝像頭圖像采集系統(tǒng)由圖像采集系統(tǒng)和圖像數(shù)據(jù)處理系統(tǒng)共同構(gòu)成,在數(shù)據(jù)處理系統(tǒng)運(yùn)行的過(guò)程中,目前以圖像分割方法應(yīng)用最為廣泛。在設(shè)計(jì)的過(guò)程中,由于智能小車(chē)的賽道是在白色板面上按照黑色軌跡運(yùn)行,而且比賽環(huán)境的噪音較低,所以通常應(yīng)用全局閾值法實(shí)現(xiàn)閾值分割,在確定具體閾值時(shí),通常選取幾個(gè)較常用的閾值,然后對(duì)其進(jìn)行對(duì)比,確定最合適的實(shí)現(xiàn)對(duì)賽道圖像的處理分析。
3 結(jié)論
通過(guò)上述分析可以發(fā)現(xiàn),現(xiàn)階段人們已經(jīng)認(rèn)識(shí)到車(chē)輛具有智能循跡性能,對(duì)減少交通事故發(fā)生概率的有效性,并在實(shí)踐中有意識(shí)的結(jié)合循跡技術(shù)的要求和圖像傳感器的原理,進(jìn)行以圖像傳感器為基礎(chǔ)的智能循跡小車(chē)的設(shè)計(jì),這是我國(guó)車(chē)輛智能化設(shè)計(jì)水平提升的具體體現(xiàn),對(duì)智能交通系統(tǒng)建設(shè)具有積極作用。
參考文獻(xiàn):
[1]余熾業(yè),宋躍,雷瑞庭.基于STC12C5A60S2的智能循跡小車(chē)[J].實(shí)驗(yàn)室研究與探索,2014(11):46-49+121.