武書彥,鄒建華,吳青娥,許明喆
(1.西安交通大學(xué)電子與信息工程學(xué)院, 陜西西安710049;2.河南牧業(yè)經(jīng)濟(jì)學(xué)院電子與信息工程學(xué)院, 河南鄭州450046;3.鄭州輕工業(yè)大學(xué)電氣信息工程學(xué)院, 河南鄭州450002)
利用彩色圖像信息含量大的特點(diǎn),其用途被廣泛關(guān)注和使用,例如,醫(yī)院外科的醫(yī)生做手術(shù)時,常常借助于影像來實(shí)施手術(shù)定位,但幾年前,大多都使用的是灰度圖像,一些關(guān)鍵手術(shù)的成功率不是太高。近幾年來,大多都借助于彩超、彩色影像等彩色圖片或投影進(jìn)行手術(shù),成功率提高了不少,若要再進(jìn)一步提高手術(shù)成功率,應(yīng)該發(fā)展一種針對彩色圖像的邊緣、分叉點(diǎn)等特征進(jìn)行提取的圖像處理算法。這些問題都需要發(fā)展彩色圖像的邊緣、分叉點(diǎn)等特征提取方法。
在圖像檢索、標(biāo)定、分類、聚類等中,一個重要的要求是從圖像中抽取有效的特征。而顏色特征是一個最廣泛使用的視覺特征。顏色直方圖的使用是為表示顏色特征最普通的方法。在文獻(xiàn)[1]中,提出了基于方形柱狀圖的顏色特征提取,對使用在具有不同尺寸的圖像和同質(zhì)木塊中的四叉樹分解作了規(guī)定,抽取了同樣尺寸的木塊的顏色直方圖和表面膚性,但沒有給出彩色邊緣的提取算法。文獻(xiàn)[2]給出了一個模糊人臉表情識別系統(tǒng),對彩色的人臉表情進(jìn)行識別,從人臉表情對情感識別,提出了一個面部特征抽取計算的方法,這個方法甚至能從部分遮擋的人臉圖像中識別情感。文獻(xiàn)[3]提出了一個蟻群最優(yōu)化方法,作為一般顏色的聚類分析方法,并使用它對彩色圖像中的花區(qū)域進(jìn)行分類提取。同時,還提出了花圖像分割方法。文獻(xiàn)[4]根據(jù)火焰顏色和振動頻率分析,提出了對火焰顏色的數(shù)字圖像處理。討論了兩種有突出特點(diǎn)的火焰特性,即顏色信息和閃爍。那么火焰顏色的圖像處理算法能否使用在外科手術(shù)、極光的彩色圖像的處理中呢?是一個亟待研究的問題。
對彩色圖像的處理,文獻(xiàn)[5-8]對基于感知的圖像處理實(shí)施一元化的彩色空間。文獻(xiàn)[6]提出了一個二維的經(jīng)驗?zāi)J椒纸夥椒ǎ晃墨I(xiàn)[7]討論了利用MATLAB工具對實(shí)際的圖像和視頻進(jìn)行的處理;根據(jù)一些醫(yī)學(xué)臨床應(yīng)用例子,文獻(xiàn)[8]介紹了彩色圖像應(yīng)用的重要性。 但這些算法都是針對一維參數(shù)的灰度圖像[8-10],那么,醫(yī)生做外科手術(shù)及診斷[8,11]時,需要對彩色圖像進(jìn)行精確定位;極地部門要建立合理的數(shù)據(jù)庫,需對各類大量數(shù)據(jù)進(jìn)行精細(xì)分類,而數(shù)據(jù)的分類很多需要對彩色圖片的有效處理[12-14]。對于彩色圖像的特征提取,需要發(fā)展新的提取算法。
為盡快從彩色圖像中搜索有價值的信息,本文對彩色圖像的邊緣、分叉點(diǎn)的提取,提出了三維參數(shù)的彩色圖像提取算法,即色彩相似區(qū)域法,并給出這種算法與其他邊緣、分叉點(diǎn)的提取算法在色彩分布不同情況的比較實(shí)驗。
在圖像研究中,邊緣是一個最基本特征。對邊緣進(jìn)行檢測,能夠很大程度上減少圖像中的噪聲和不相干信息但是又能保留基本的物體特征狀況。所以對圖像的邊緣檢測在機(jī)器學(xué)習(xí)、人工智能、圖像特征提取等方面發(fā)揮著極為重要的作用,圖像處理的重要部分就是邊緣檢測。景物圖像的邊緣,往往是各種各樣邊緣在進(jìn)行模糊化后整合而成,而且在這個過程中還有很多不相干的信號干擾即噪聲,給圖像處理帶來了一定的困難。對于這個問題又不能用頻帶對其進(jìn)行分割與取舍,因為它們的信號頻率很相近。因此,對于廣大研究者來說,對圖像進(jìn)行邊緣檢測是一個難題[5-15]。就目前而言,常用的幾種圖像檢測邊緣方法中,還沒有得出某種算法具有很大的優(yōu)越性的。通過對目前幾種邊緣檢測算法比較分析,根據(jù)圖像與噪聲的特征來選擇一種合理的算法能夠促進(jìn)圖像研究工作的進(jìn)展。幾種邊緣檢測算子[5-9]如下:
① Roberts 算子
Roberts算子是根據(jù)某點(diǎn)像素值的斜對角上的兩個像素值的差值,然后根據(jù)這個差值的變化幅度大小和趨勢來進(jìn)行邊緣檢測,Roberts算子精度高但是不平滑。因此如果利用Roberts 算子對一些圖像中的邊緣進(jìn)行檢測時,噪聲對效果還是有一定的影響。
Roberts算子其公式如下:
其中,f(x,y),f(x+1,y+1),f(x+1,y),f(x,y+1)代表相鄰的坐標(biāo)區(qū)域,而且輸入圖像的像素值都必須是整數(shù)。
Roberts算子模型為2×2,如圖1所示,分別由2個完全不同的卷積核形成了Roberts算子。在計算某點(diǎn)輸出時,只需計算Roberts算子對這2個核做卷積的一個最大值,即為輸出值。
100-1
10-10
圖1 Roberts算子
Fig.1 Roberts operator
② Sobel算子
Sobel算子檢測邊緣時,根據(jù)某個點(diǎn)周圍的灰度加權(quán)差是否存在極值后再做邊緣檢測。Sobel 算子在處理圖像中的噪聲,能夠在某種程度上起到一定的平滑作用,因此它得到的圖像具有較精確的邊緣特征,但缺點(diǎn)就是其定位精度不是很準(zhǔn)確,具有一定的誤差。
Sobel算子一階微分算子,其公式如下:
S=(dx2+dy2)1/2。
Sobel算子模型是3×3算子模板(圖2)。圖2 所示的2個卷積核dx、dy形成Sobel 算子。選取2個卷積中的最大值作為該點(diǎn)的輸出值。運(yùn)算結(jié)果是1幅邊緣幅度圖像。
-101-202-101
121000-1-2-1
圖2 Sobel 算子
Fig.2 Sobel operator
③ Prewitt算子
Prewitt算子原理與Sobel 算子類似。其是選擇在大小為奇數(shù)的方形模板中來定義的一種微分計算。Prewitt 算子即使在有噪聲存在的地方依然能夠起到平滑的作用,但是邊緣檢測的精度低。
Prewitt算子其公式如下:
SP=(dx2+dy2)1/2。
Prewitt算子模型是3×3算子模板(圖3)。圖3 所示的2個卷積核dx、dy形成了Prewitt 算子。Prewitt 算子與Sobel 算子類似。Prewitt 算子產(chǎn)生1 幅邊緣幅度圖像。
-101-101-101
111000-1-1-1
圖3 Prewitt算子
Fig.3 Prewitt operator
④ Laplacian算子
Laplacian算子是一種二階的微分算子。Laplacian 算子在對像素大小的變化幅度上非常敏感,稍有變化就能檢測出來,所以Laplacian 算子在噪聲檢測、精度方面具有很大的優(yōu)勢,但是在方向性方面存在精確度低、定位誤差大的問題。
Laplacian算子由下式給出:
式中:G(x,y)表示平滑函數(shù);x,y為整數(shù)坐標(biāo);σ為高斯分布的均方差。然后對處理后的圖像進(jìn)行拉普拉斯變換,得:
h(x,y)=L(fs(x,y))=L[f(x,y)×G(x,y)]=f(x,y)×L(G(x,y))。
⑤ Canny算子
Canny算子是利用一階導(dǎo)數(shù)進(jìn)行邊緣檢測,在跳躍型的邊緣檢測中具有非常好的呈現(xiàn)效果。它比上述幾種算子在去噪方面具有較大的優(yōu)點(diǎn),而且能夠產(chǎn)生比較均勻細(xì)小的邊緣,不足之處是有時會漏掉部分的邊緣特征。
Canny算子是利用了準(zhǔn)高斯函數(shù),即fs=f(x,y)×G(x,y)在做平滑運(yùn)算的時候,以帶方向的一階微分算子來定位導(dǎo)數(shù)的最大值。
平滑后fs(x,y)的梯度如下:
P[i,j]≈(fs[i,j+1]-fs[i,j]+fs[i+1,j+1]-fs[i+1,j])/2,
Q[i,j]≈(fs[i,j]-fs[i+1,j]+fs[i,j+1]-fs[i+1,j+1])/2。
然后求有限差分的偏導(dǎo)數(shù)以及有限差分均值。對于幅值和方向角的坐標(biāo)轉(zhuǎn)化計算如下:
其中,M[i,j]反映的是某點(diǎn)邊緣強(qiáng)度,θ[i,j]反映的是某點(diǎn)邊緣方向,這樣就能夠使得M[i,j]取得最大方向角θ[i,j],能夠反映出邊緣方向。
因為色度和飽和度合在一起稱為彩色,所以本文提出的色彩相似區(qū)域法,是利用選定的色彩中心色調(diào)度、飽和程度和明亮度值與其相似的色彩像素色調(diào)度、飽和程度和明亮度值作差比較,通過給定合適的邊緣閾值、分叉點(diǎn)閾值,進(jìn)行邊緣和分叉點(diǎn)等特征點(diǎn)的提取。邊緣和分叉點(diǎn)的檢測算法如下:
在考查區(qū)域中選取一個興趣點(diǎn),稱為核心點(diǎn)或特征點(diǎn)O。①若存在R0>0,使以點(diǎn)O為圓心,R0為半徑的圓O只包含一種色彩的像素,那么此點(diǎn)O不是邊緣點(diǎn),也不是分叉點(diǎn),是平坦區(qū)域點(diǎn)。②對任意長R>0,如果以點(diǎn)O為圓心,R為半徑的圓O都包含兩種及其以上色彩的像素,那么點(diǎn)O是邊緣點(diǎn),或是分叉點(diǎn)。
對圓O內(nèi)的各像素點(diǎn)與核心點(diǎn)O的色調(diào)度值H、飽和程度值S和明亮度值I比較,若圓O內(nèi)的像素色調(diào)度、飽和程度和明亮度與核心O的像素色調(diào)度、飽和程度和明亮度差值均小于某個指定的正數(shù),則認(rèn)為該考查點(diǎn)與特征點(diǎn)O是相似的,把滿足上述條件的像素組成的區(qū)域稱為色彩相似區(qū)(similar color seyment, SCS)。
以SCS算法實(shí)施圖像檢測,由檢測標(biāo)注出的無法區(qū)分的邊界點(diǎn)、分叉點(diǎn)為圓心O做若干個同圓心的圓,沿這些同心的圓周逆時針考察一圈,看色調(diào)變化的次數(shù),如果變化次數(shù)超過2次的為分叉點(diǎn),那么繼續(xù)實(shí)施深度檢測,即將O點(diǎn)的鄰域內(nèi)與O點(diǎn)具有相近同一種色的色調(diào)度、飽和程度和明亮度值的像素點(diǎn)標(biāo)記為1,按照同樣的方法,標(biāo)記具有相近另一種顏色的像素點(diǎn)為2,依次類推,其他顏色的像素點(diǎn)為3,等等,不同的顏色分別用不同的數(shù)字標(biāo)記,由同心圓周上某一點(diǎn)開始沿逆時針方向考察任一圓周上的像素分布情況,考查色彩的變化,即將其中像素由“0”到“1”、“1”到“2”、“2”到“3”等等的變化,都標(biāo)記為1次顏色突變。顏色突變?yōu)?次的點(diǎn)記為邊界點(diǎn),顏色突變在2次以上的點(diǎn)標(biāo)記為分叉點(diǎn)。那么,把顏色突變?yōu)閚(n>2)次的點(diǎn)就記為n分叉點(diǎn)。
根據(jù)顏色突變次數(shù),不能區(qū)分邊界點(diǎn)和二分叉點(diǎn),對這兩種特征點(diǎn)的區(qū)分,還需要進(jìn)一步由像素的色調(diào)度、飽和程度和明亮度值、給定的閾值,提取出邊界點(diǎn)和二分叉點(diǎn)。基于在邊界處的SCS區(qū)較小和二分叉點(diǎn)處的SCS區(qū)最小,SCS算法根據(jù)所檢測區(qū)域中各個點(diǎn)處SCS區(qū)域面積的不同大小,來區(qū)分當(dāng)前點(diǎn)是區(qū)域內(nèi)部點(diǎn)、邊界點(diǎn)或者二分叉點(diǎn)的,在圖像每點(diǎn)上考察SCS區(qū)面積的大小,來作為該點(diǎn)處特征的度量,如果SCS區(qū)面積越小,那么該點(diǎn)的特征越明顯。此方法可一次性快速檢測出無方向性的二分叉點(diǎn)、相交點(diǎn)、邊界點(diǎn)。
SCS單邊界檢測算法是以指定大小的圓O在圖像上進(jìn)行按行或列逐步移動,對圖像中的像素點(diǎn)逐個進(jìn)行面積大小運(yùn)算,由計算出的面積大小對邊緣提取初始不同效應(yīng),再對邊緣初始效應(yīng)進(jìn)行閾值處理以得到最終的邊界。
將圓O中各點(diǎn)與特征點(diǎn)的色調(diào)度、飽和程度和明亮度值用下面的函數(shù)進(jìn)行比較。
(1)
(2)
(3)
以色調(diào)度比較,SCS區(qū)的大小可由下式計算:
(4)
以飽和程度比較,SCS區(qū)的大小可由下式計算:
(5)
以明亮度比較,SCS區(qū)的大小可由下式計算:
(6)
SCS區(qū)的大小可由下式計算:
(7)
根據(jù)多次面積計算試驗分析可知,在實(shí)際的噪聲圖像中,如果特征點(diǎn)在邊緣附近,那么n≤0.8nmax。用下式來產(chǎn)生邊緣初始反應(yīng):
(8)
由式(4)得到的邊緣SCS區(qū)面積的初始反應(yīng)值,其大小符合“SCS區(qū)面積越小,初始邊緣反應(yīng)值就越大”。
對邊緣方向的確定,分兩種邊緣情況,一是SCS關(guān)于像素之間的軸對稱,即SCS區(qū)像素重心位置與特征點(diǎn)位置有一定的距離。二是SCS區(qū)像素重心位置與特征點(diǎn)位置重合或接近重合。
綜上所述,具體計算步驟如下:
① 對圖像的每個像素上作一個圓O;
② 在圓O內(nèi),使用方程(1)~(3)計算與特征點(diǎn)色調(diào)度、飽和程度和明亮度值相似的像素的值,再利用方程 (4)~(7)計算這些像素的數(shù)目,這些像素的數(shù)目定義為SCS區(qū);
③ 運(yùn)用方程(8),產(chǎn)生邊緣反應(yīng)圖像;
④ 得到初始邊緣反應(yīng)后,利用SCS區(qū)的面積中心及最長對稱軸來確定特征點(diǎn)的邊界方向;
⑤ 在與特征邊緣最長對稱軸垂直的方向上取初始反應(yīng)極大值點(diǎn)的位置為邊緣點(diǎn),然后再選取一個特征函數(shù)ψ(t)使ψj,k(t)=2j/2ψ(2jt-k),與對這個局部邊界作卷積,連接間斷點(diǎn)、消除邊界小分枝及假邊緣點(diǎn)等處理,對圖像進(jìn)行平滑和細(xì)化,最終得連續(xù)的邊界輸出。
分叉點(diǎn)檢測與邊界檢測的算法是一樣的,計算公式如式(1) ~(8),而只有在公式(8)中,它與邊界檢測中的幾何閾值n0的取值不同。提取分叉點(diǎn)的n0值要小些,一般n0=0.4nmax,而提取邊緣的n0值要大些,一般n0=0.6nmax。n0主要影響特征點(diǎn)的尖銳性,n0越小,所得的分叉點(diǎn)越尖。
根據(jù)SCS的定義,在分叉點(diǎn)處n<0.5nmax,而且在分叉點(diǎn)處的值應(yīng)為局部最小值。據(jù)此,用式(8)可以得到一個初始的分叉點(diǎn)反應(yīng):
(8′)
式中,nangle是檢測分叉點(diǎn)的閾值。
最后,搜索初始分叉點(diǎn)響應(yīng)中的局部最大值,將其對應(yīng)的像素點(diǎn)標(biāo)記為分叉點(diǎn)。
在分叉點(diǎn)檢測時,由于色彩區(qū)域邊界模糊,將產(chǎn)生虛假的分叉點(diǎn)。為了去除偽分叉點(diǎn),可計算SCS區(qū)域的像素重心,然后計算此重心和圓O中心的距離。如果距離較小,則不是正確的分叉點(diǎn)。還有一個去除方法是判SCS區(qū)域的像素重心和圓O中心的連線,此連線上所經(jīng)過的像素是否都是屬于SCS區(qū)域的像素,如果是,則檢測的分叉點(diǎn)有可能是正確的分叉點(diǎn),否則,這檢測的分叉點(diǎn)一定不是正確的分叉點(diǎn)。后一個方法強(qiáng)調(diào)了SCS區(qū)域的像素特征是一致的,尤其是在有噪聲的情況下非常必要。
最后使用最大值的方法,即通過將一個邊緣點(diǎn)作為圓O的中心,與它的鄰域范圍內(nèi)的點(diǎn)進(jìn)行比較,它的色調(diào)度、飽和程度和明亮度都最大保留,得到它是正確的分叉點(diǎn)。因為分叉點(diǎn)所在位置附近,其區(qū)域面積的反應(yīng)函數(shù)一般都具有較大的值。然而,只有最大局部值的位置才是分叉點(diǎn)的正確位置。所以,加強(qiáng)局部最大化處理,使其得出最后的正確結(jié)果。
具體計算步驟①~③與邊緣檢測的算法步驟是一樣的,另兩步驟如下:
通過尋找SCS區(qū)的像素重心和圓O中心的距離或連線,對虛假分叉點(diǎn)進(jìn)行測試;
使用最大值方法來尋找分叉點(diǎn)。
色彩相似區(qū)域法對色彩邊界不明顯的色彩提取見圖4。
一幅色彩邊界的色調(diào)、亮度漸變的彩色圖像,如圖4(a) 所示。通過色彩相似區(qū)域法提取若干色彩時,檢測邊緣、分叉點(diǎn)的相似比較函數(shù)的門限值分別設(shè)為g1=9,g2=11,g3=10;邊緣初始反應(yīng)函數(shù)的閾值設(shè)為n0=2 382;檢測分叉點(diǎn)的閾值設(shè)為nangle=1 413。仿真結(jié)果如圖4(b)和圖4(c)所示。
(a) 原圖像
(b) 色彩邊緣和分叉點(diǎn)提取
(c) 彩色提取
由圖4可以看出,色彩相似區(qū)域法把界線不分明的色彩當(dāng)作平坦區(qū)域來提取,不能很好地分階層提取。
色彩相似區(qū)域法對色彩邊界較明顯的色彩提取(單調(diào)背景)見圖5。
一幅色彩邊界較明顯的彩色圖像,如圖5(a)(單調(diào)背景)所示。色彩相似區(qū)域法對這類色彩邊界較明顯的彩色圖像的特征提取,檢測邊緣、分叉點(diǎn)的相似比較函數(shù)的門限值仍分別設(shè)為g1=9,g2=11,g3=10,邊緣初始響應(yīng)函數(shù)的閾值設(shè)為n0=2 382,檢測分叉點(diǎn)的閾值設(shè)為nangle=1 413。由SCS法對彩色邊緣提取的仿真結(jié)果如圖5(b)所示。
(a) 原圖像
(b) 由SCC法對彩色邊緣提取
由圖5可以看出,色彩相似區(qū)域法提取色彩的邊緣、分叉點(diǎn)等特征比較明顯,對噪聲過濾效果好。
從圖4~圖5還可以看出,色彩相似區(qū)域法對色彩邊界較明顯的色彩的提取,比對色彩邊界不明顯的色彩的提取效果好,且抗噪聲能力強(qiáng)。
將色彩相似區(qū)域法與現(xiàn)有的有關(guān)圖像邊緣、分叉點(diǎn)提取算法對彩色圖像的提取結(jié)果進(jìn)行比較(圖6)。仿真結(jié)果表明,色彩相似區(qū)域法提取色彩的邊緣、分叉點(diǎn)等特征效果良好,且還可以檢測邊緣的方向信息,抗噪聲能力也強(qiáng),處理速度快,對1幅362×500的彩色圖像,處理時間僅為0.157 s。同時,算法使用靈活,因為在仿真中,可以根據(jù)實(shí)際情況和試驗分析,設(shè)置不同的比較函數(shù)閾值和邊緣、分叉點(diǎn)響應(yīng)閾值。
而Robert、Sobel和Prewitt算子對部分直線邊緣不能檢測出來,圓的邊緣也有部分漏檢情況;Gauss-Laplace、Canny算子雖然基本上可以檢測出所有邊緣,但是定位效果較差,檢測出的邊緣像素較寬,并且提取出的邊緣和分叉點(diǎn)都是灰度像素。處理速度稍慢,對1幅362×500的彩色圖像,Robert、Laplace和Prewitt算子處理時間平均為13.969 s,Sobel處理時間為0.75 s,Canny處理時間為21.61 s。且消噪能力也較弱。仿真結(jié)果如圖6(b)~圖6(g)所示。
(a) 原圖像
(b) Scs算法
(c) Sobel算法
(d) Canny算法
(e) Prewitt算法
(f) Robert算法
(g) Laplaee算法
本文研究了彩色圖像的特征,提出了三維參數(shù)的彩色圖像提取,給出了邊緣、分叉點(diǎn)的提取算法,即色彩相似區(qū)域法,并給出這種算法在色彩分布不同情況的比較實(shí)驗。最后,把這種算法與現(xiàn)有的有關(guān)圖像邊緣、分叉點(diǎn)提取算法對彩色圖像的提取結(jié)果進(jìn)行比較。仿真結(jié)果表明,色彩相似區(qū)域法提取色彩的邊緣、分叉點(diǎn)等特征效果良好、抗噪能力強(qiáng)、處理速度快、算法使用靈活,且還可以檢測邊緣的方向信息。
下一步的任務(wù)是要把這種算法應(yīng)用于極光圖像分類、識別中。在今后的研究中,需加強(qiáng)色彩提取算法在工程各方面的應(yīng)用,特別是在極地、醫(yī)學(xué)、航天、軍隊、公安等領(lǐng)域部門中的應(yīng)用研究。以及在不同的應(yīng)用中,閾值的靈活選擇,需在試驗中進(jìn)行調(diào)試、學(xué)習(xí),怎樣有效地給出合適的閾值是一個需進(jìn)一步研究的問題。
廣西大學(xué)學(xué)報(自然科學(xué)版)2019年6期