熱線電話:0755-23712116
郵箱:contact@shuangyi-tech.com
地址:深圳市寶安區(qū)沙井街道后亭茅洲山工業(yè)園工業(yè)大廈全至科技創(chuàng)新園科創(chuàng)大廈2層2A
1.顏色特征提取
計(jì)算機(jī)視覺(jué)的特征提取算法研究至關(guān)重要。在一些算法中,一個(gè)高復(fù)雜度特征的提取可能能夠解決問(wèn)題(進(jìn)行目標(biāo)檢測(cè)等目的),但這將以處理更多數(shù)據(jù),需要更高的處理效果為代價(jià)。而顏色特征無(wú)需進(jìn)行大量計(jì)算。只需將數(shù)字圖像中的像素值進(jìn)行相應(yīng)轉(zhuǎn)換,表現(xiàn)為數(shù)值即可。因此顏色特征以其低復(fù)雜度成為了一個(gè)較好的特征。
在圖像處理中,我們可以將一個(gè)具體的像素點(diǎn)所呈現(xiàn)的顏色分多種方法分析,并提取出其顏色特征分量。比如通過(guò)手工標(biāo)記區(qū)域提取一個(gè)特定區(qū)域(region)的顏色特征,用該區(qū)域在一個(gè)顏色空間三個(gè)分量各自的平均值表示,或者可以建立三個(gè)顏色直方圖等方法。下面我們介紹一下顏色直方圖和顏色矩的概念。
(1)顏色直方圖:
顏色直方圖用以反映圖像顏色的組成分布,即各種顏色出現(xiàn)的概率。Swain和Ballard最先提出了應(yīng)用顏色直方圖進(jìn)行圖像特征提取的方法[40],首先利用顏色空間三個(gè)分量的剝離得到顏色直方圖,之后通過(guò)觀察實(shí)驗(yàn)數(shù)據(jù)發(fā)現(xiàn)將圖像進(jìn)行旋轉(zhuǎn)變換、縮放變換、模糊變換后圖像的顏色直方圖改變不大,即圖像直方圖對(duì)圖像的物理變換是不敏感的。因此常提取顏色特征并用顏色直方圖應(yīng)用于衡量和比較兩幅圖像的全局差。另外,如果圖像可以分為多個(gè)區(qū)域,并且前景與背景顏色分布具有明顯差異,則顏色直方圖呈現(xiàn)雙峰形。
顏色直方圖也有其缺點(diǎn):由于顏色直方圖是全局顏色統(tǒng)計(jì)的結(jié)果,因此丟失了像素點(diǎn)間的位置特征??赡苡袔追鶊D像具有相同或相近的顏色直方圖,但其圖像像素位置分布完全不同。因此,圖像與顏色直方圖得多對(duì)一關(guān)系使得顏色直方圖在識(shí)別前景物體上不能獲得很好的效果。
考慮到顏色直方圖的以上問(wèn)題,主色調(diào)直方圖便產(chǎn)生了。所謂主色調(diào)直方圖基于假設(shè)少數(shù)幾個(gè)像素的值能夠表示圖像中的絕大部分像素,即出現(xiàn)頻率最高的幾個(gè)像素被選為主色,僅用主色構(gòu)成的主色調(diào)直方圖描述一幅圖像。這樣的描述子并不會(huì)降低通過(guò)顏色特征進(jìn)行匹配的效果,因?yàn)閺哪撤N角度將,頻度出現(xiàn)很小的像素點(diǎn)可以被視為噪聲。
(2)顏色矩:
顏色矩是一種有效的顏色特征,由Stricker和Orengo提出[41],該方法利用線性代數(shù)中矩的概念,將圖像中的顏色分布用其矩表示。利用顏色一階矩(平均值A(chǔ)verage)、顏色二階矩(方差Variance)和顏色三階矩(偏斜度Skewness)來(lái)描述顏色分布。與顏色直方圖不同,利用顏色矩進(jìn)行圖像描述無(wú)需量化圖像特征。由于每個(gè)像素具有顏色空間的三個(gè)顏色通道,因此圖像的顏色矩有9個(gè)分量來(lái)描述。由于顏色矩的維度較少,因此常將顏色矩與其他圖像特征綜合使用。
(3)顏色集:
以上兩種方法通常用于兩幅圖像間全局或region之間的顏色比較、匹配等,而顏色集的方法致力于實(shí)現(xiàn)基于顏色實(shí)現(xiàn)對(duì)大規(guī)模圖像的檢索。顏色集的方法由Smith和Chang提出[42],該方法將顏色轉(zhuǎn)化到HSV顏色空間后,將圖像根據(jù)其顏色信息進(jìn)行圖像分割成若干region,并將顏色分為多個(gè)bin,每個(gè)region進(jìn)行顏色空間量化建立顏色索引,進(jìn)而建立二進(jìn)制圖像顏色索引表。為加快查找速度,還可以構(gòu)造二分查找樹進(jìn)行特征檢索。
2.紋理特征提取
一幅圖像的紋理是在圖像計(jì)算中經(jīng)過(guò)量化的圖像特征。圖像紋理描述圖像或其中小塊區(qū)域的空間顏色分布和光強(qiáng)分布。紋理特征的提取分為基于結(jié)構(gòu)的方法和基于統(tǒng)計(jì)數(shù)據(jù)的方法。一個(gè)基于結(jié)構(gòu)的紋理特征提取方法是將所要檢測(cè)的紋理進(jìn)行建模,在圖像中搜索重復(fù)的模式。該方法對(duì)人工合成的紋理識(shí)別效果較好。但對(duì)于交通圖像中的紋理識(shí)別,基于統(tǒng)計(jì)數(shù)據(jù)的方法效果更好。
(1)LBP特征
LBP方法(Local binary patterns)是一個(gè)計(jì)算機(jī)視覺(jué)中用于圖像特征分類的一個(gè)方法。LBP方法在1994年首先由T. Ojala, M.Pietik?inen, 和 D. Harwood 提出[43][44],用于紋理特征提取。后來(lái)LBP方法與HOG特征分類器聯(lián)合使用,改善了一些數(shù)據(jù)集[45]上的檢測(cè)效果。
對(duì)LBP特征向量進(jìn)行提取的步驟如下:
首先將檢測(cè)窗口劃分為16×16的小區(qū)域(cell),對(duì)于每個(gè)cell中的一個(gè)像素,將其環(huán)形鄰域內(nèi)的8個(gè)點(diǎn)(也可以是環(huán)形鄰域多個(gè)點(diǎn),如圖 3?4. 應(yīng)用LBP算法的三個(gè)鄰域示例所示)進(jìn)行順時(shí)針或逆時(shí)針的比較,如果中心像素值比該鄰點(diǎn)大,則將鄰點(diǎn)賦值為1,否則賦值為0,這樣每個(gè)點(diǎn)都會(huì)獲得一個(gè)8位二進(jìn)制數(shù)(通常轉(zhuǎn)換為十進(jìn)制數(shù))。然后計(jì)算每個(gè)cell的直方圖,即每個(gè)數(shù)字(假定是十進(jìn)制數(shù))出現(xiàn)的頻率(也就是一個(gè)關(guān)于每一個(gè)像素點(diǎn)是否比鄰域內(nèi)點(diǎn)大的一個(gè)二進(jìn)制序列進(jìn)行統(tǒng)計(jì)),然后對(duì)該直方圖進(jìn)行歸一化處理。最后將得到的每個(gè)cell的統(tǒng)計(jì)直方圖進(jìn)行連接,就得到了整幅圖的LBP紋理特征,然后便可利用SVM或者其他機(jī)器學(xué)習(xí)算法進(jìn)行分類了。
(2)灰度共生矩陣
灰度共生矩陣是另一種紋理特征提取方法,首先對(duì)于一幅圖像定義一個(gè)方向(orientation)和一個(gè)以pixel為單位的步長(zhǎng)(step),灰度共生矩陣T(N×N),則定義M(i,j)為灰度級(jí)為i和j的像素同時(shí)出現(xiàn)在一個(gè)點(diǎn)和沿所定義的方向跨度步長(zhǎng)的點(diǎn)上的頻率。其中N是灰度級(jí)劃分?jǐn)?shù)目。由于共生矩陣有方向和步長(zhǎng)的組合定義,而決定頻率的一個(gè)因素是對(duì)矩陣有貢獻(xiàn)的像素?cái)?shù)目,而這個(gè)數(shù)目要比總共數(shù)目少,且隨著步長(zhǎng)的增加而減少。因此所得到的共生矩陣是一個(gè)稀疏矩陣,所以灰度級(jí)劃分N常常減少到8級(jí)。如在水平方向上計(jì)算左右方向上像素的共生矩陣,則為對(duì)稱共生矩陣。類似的,如果僅考慮當(dāng)前像素單方向(左或右)上的像素,則稱為非對(duì)稱共生矩陣。
3.邊緣特征提取
邊緣檢測(cè)是圖形圖像處理、計(jì)算機(jī)視覺(jué)和機(jī)器視覺(jué)中的一個(gè)基本工具,通常用于特征提取和特征檢測(cè),旨在檢測(cè)一張數(shù)字圖像中有明顯變化的邊緣或者不連續(xù)的區(qū)域,在一維空間中,類似的操作被稱作步長(zhǎng)檢測(cè)(step detection)。邊緣是一幅圖像中不同屈原之間的邊界線,通常一個(gè)邊緣圖像是一個(gè)二值圖像。邊緣檢測(cè)的目的是捕捉亮度急劇變化的區(qū)域,而這些區(qū)域通常是我們關(guān)注的。在一幅圖像中兩度不連續(xù)的區(qū)域通常是以下幾項(xiàng)之一:
# 圖像深度不連續(xù)處
# 圖像(梯度)朝向不連續(xù)處
# 圖像光照(強(qiáng)度)不連續(xù)處
# 紋理變化處
理想情況下,對(duì)所給圖像應(yīng)用邊緣檢測(cè)器可以得到一系列連續(xù)的曲線,用于表示對(duì)象的邊界。因此應(yīng)用邊緣檢測(cè)算法所得到的結(jié)果將會(huì)大大減少圖像數(shù)據(jù)量,從而過(guò)濾掉很多我們不需要的信息,留下圖像的重要結(jié)構(gòu),所要處理的工作即被大大簡(jiǎn)化。然而,從普通圖片上提取的邊緣往往被圖像的分割所破壞,也就是說(shuō),檢測(cè)到的曲線通常不是連續(xù)的,有一些邊緣曲線段開(kāi),就會(huì)丟失邊緣線段,而且會(huì)出現(xiàn)一些我們不感興趣的邊緣。這就需要邊緣檢測(cè)算法的準(zhǔn)確性。下面介紹兩個(gè)本文實(shí)現(xiàn)的邊緣檢測(cè)算法:canny算子和sobel算子進(jìn)行邊緣檢測(cè)。
(1)Canny算子邊緣檢測(cè)
Canny邊緣檢測(cè)算法基于一個(gè)多階邊緣算子,是由John F. Canny于1986年首先提出的[46],他不但給出了邊緣檢測(cè)的方法,也提出了邊緣檢測(cè)的計(jì)算理論。
Canny邊緣檢測(cè)器使用一個(gè)基于高斯模型派生的檢測(cè)模型,因?yàn)槲刺幚韴D像可能含有噪聲,所以開(kāi)始在原始圖像上應(yīng)用一個(gè)高斯濾波器,結(jié)果是一個(gè)輕度平滑的圖像,以至于不至于被單個(gè)噪聲像素干擾全局重要參數(shù)。
以一個(gè)5×5的高斯濾波模板為例(見(jiàn)公式3-7),對(duì)圖像A應(yīng)用高斯濾波可得B。下面對(duì)圖像的光強(qiáng)梯度統(tǒng)計(jì)都基于圖B。
一幅圖像中的邊緣可能在方向上各有所異,所以Canny算法用四個(gè)濾波器分別檢測(cè)圖像中的水平、垂直和對(duì)角線邊緣。邊緣檢測(cè)器(如 Roberts, Prewitt, Sobel)值返回一個(gè)水平方向分量Gx和豎直方向分量Gy,由此邊緣梯度和方向即可確定:
所有邊緣的角度都在上述選定的四個(gè)方向(0°,45°,90°,135°)周圍。下一步通過(guò)滯后性門限跟蹤邊緣線。
與小的光強(qiáng)梯度相比,數(shù)值較大的光強(qiáng)梯度更容易作為邊緣線。在大多數(shù)圖像中定義一個(gè)門限值來(lái)確定光強(qiáng)梯度取值多少適合作為邊緣線通常是不可行的,因此Canny算法使用滯后作用確定門限值。該方法使用兩個(gè)門限分別定義高低邊界。假設(shè)所有的邊緣應(yīng)該不受噪聲影響而且是連續(xù)的曲線。因此我們?cè)O(shè)置一個(gè)高門限用于判定確定是邊緣的曲線,再由此出發(fā),利用方向信息跟蹤那些可追蹤的圖像邊緣。當(dāng)追蹤該邊緣時(shí),應(yīng)用低門限可以讓我們追蹤那些含有邊緣的區(qū)域直到找到下一個(gè)曲線的起點(diǎn)。
如圖 3?5所示,(a)為原圖的灰度圖,(b)為高斯濾波平滑圖,(c)和(d)分別是手動(dòng)設(shè)置的高低門限值如圖所示的canny邊緣檢測(cè)結(jié)果。根據(jù)多組圖像數(shù)據(jù)測(cè)試發(fā)現(xiàn),當(dāng)canny高低門限值分別設(shè)置為50,150時(shí)能夠保證大部分有效信息的保留且不會(huì)有過(guò)多冗余信息。因此后文中采用門限值[Thres1,Thres2]= 50,120 作為canny邊緣檢測(cè)參數(shù)。Opencv中以下代碼實(shí)現(xiàn):
cvCanny( dst,src, 50, 120, 3 );
(2)Sobel算子邊緣檢測(cè)
和Canny算子類似,Sobel算子[47]也是利用梯度信息對(duì)圖像進(jìn)行邊緣檢測(cè)的。對(duì)圖像進(jìn)行邊緣檢測(cè)時(shí),計(jì)算每個(gè)像素的梯度并給出不同方向從明到暗的最大變化及其變化率。這個(gè)結(jié)果顯示出圖片在該點(diǎn)亮度變化為“急劇”還是“平滑”,由此可以判斷該區(qū)域成為邊緣的概率。在實(shí)際操作中,這個(gè)成為邊緣的可能性(稱為magnitude)計(jì)算比計(jì)算方向更為可靠,也更為便捷。在圖像中的每個(gè)像素點(diǎn),梯度向量只想亮度增長(zhǎng)最大的方向,該梯度向量的長(zhǎng)度對(duì)應(yīng)于該方向的光強(qiáng)變化率。這就說(shuō)明在同一像素圖像上一個(gè)區(qū)域的某點(diǎn)的sobel算子是一個(gè)零向量,而且在邊緣線上的點(diǎn)上有一組向量值為亮度梯度。
數(shù)學(xué)上在原圖像上應(yīng)用3×3的掩膜計(jì)算水平和垂直兩個(gè)方向的變化梯度近似值。如果我們定義A為源圖像,和分別作為一幅圖像的水平近似梯度和垂直近似梯度,計(jì)算方式如下:
公式3-9中,*表示二維卷積運(yùn)算。這里建立的坐標(biāo)系在x坐標(biāo)方向向右,y坐標(biāo)方向向下,在圖像中的每個(gè)點(diǎn),用式3-8描述總梯度大小及方向。用Sobel算子進(jìn)行邊緣檢測(cè)結(jié)果見(jiàn)圖 3?6所示。
深圳市雙翌光電科技有限公司是專注于視覺(jué)系統(tǒng)及機(jī)器視覺(jué)部件研發(fā)、生產(chǎn)和營(yíng)銷的高科技企業(yè),是專業(yè)的機(jī)器視覺(jué)核心部件及解決方案提供商。雙翌視覺(jué)堅(jiān)守“持續(xù)創(chuàng)新”的理念,目前已經(jīng)成功在消費(fèi)電子、新能源、半導(dǎo)體、汽車、物流、交通、醫(yī)藥、科研等行業(yè)為客戶提供優(yōu)質(zhì)的產(chǎn)品和定制化的視覺(jué)解決方案。