楊凌霄,王振營,劉群坡,王高偉,楊彥超
(河南理工大學(xué) 電氣工程與自動化學(xué)院,河南 焦作454000)
顏色是評價水果的重要指標(biāo)之一,并且表皮顏色與果實(shí)內(nèi)部糖度也存在著間接的聯(lián)系[1-2]。水果表面顏色直接影響水果的市場價格。近年來,許多機(jī)器視覺技術(shù)以及機(jī)器學(xué)習(xí)等方法被用于水果質(zhì)量檢測[3-6]。文獻(xiàn)[7]研究了水果圖像的HSV、RGB色彩模型,并將RGB模型轉(zhuǎn)換為HSV顏色模型,提取顏色分量作為判別基準(zhǔn),對水果大小和色澤進(jìn)行判別,實(shí)現(xiàn)水果的有效分級。文獻(xiàn)[8]中設(shè)置閾值分割紅色區(qū)域進(jìn)行顏色檢測。文獻(xiàn)[9]利用HIS顏色模型中的H通道識別草莓成熟度。但是,單一顏色通道會丟失顏色信息。文獻(xiàn)[10]中提取YIQ顏色空間參數(shù)來判斷水果的成熟度。文獻(xiàn)[11~12]將基于RGB的蘋果圖像轉(zhuǎn)化為HIS模型,通過OTSU算法在H通道中進(jìn)行水果和背景的分割,并根據(jù)H值范圍提取顏色特征并用支持向量機(jī)與LVQ(Leorning Vector Qoantization)神經(jīng)網(wǎng)絡(luò)分級,LVQ神經(jīng)網(wǎng)絡(luò)分級精度高于支持向量機(jī)。在檢測水果外觀特征時,文獻(xiàn)[13]研究了一種基于RGB顏色模型的紅富士蘋果表皮紅色區(qū)域檢測算法。該方法通過蘋果RGB圖像的光照補(bǔ)償,降低了光照變化和光照不均帶來的影響。此外,在此基礎(chǔ)上使用超紅-超綠閾值分割法,檢測分割后蘋果圖像的紅色區(qū)域并計算其面積。文獻(xiàn)[14]用改進(jìn)的HSV和分水嶺算法檢測成熟的番茄。文獻(xiàn)[15]在對大棗進(jìn)行色澤分級時,在RGB顏色空間中使用R-G直方圖去分析大棗的表面顏色,并且使用R-G平面創(chuàng)建了R-G直方圖。該方法舍棄了B通道,損失了部分顏色信息,且在RGB顏色空間中識別顏色時,識別結(jié)果容易受到圖片亮度的影響。
鑒于上述算法存在的問題,本文提出了一種基于H-S直方圖的著色率檢測算法。該方法將RGB彩色圖片轉(zhuǎn)換到HSV顏色空間中[16],用不同顏色蘋果的圖片樣本生成不同的H-S直方圖,依據(jù)像素在直方圖中出現(xiàn)的頻率,判別像素是否為紅色,檢測蘋果表皮紅色著色率;在H-S平面中生成直方圖,并舍棄與亮度相關(guān)的V通道。經(jīng)驗(yàn)證發(fā)現(xiàn)這種方法既不會丟失顏色信息,檢測結(jié)果又不易受到圖片亮度的影響。
紅綠黃3種顏色的蘋果圖片各5張,分成3組,并轉(zhuǎn)換到HSV顏色空間,生成3種顏色的H-S直方圖并且歸一化。檢測蘋果區(qū)域的著色率時,獲取待檢測蘋果的RGB彩色圖像,將其轉(zhuǎn)換到HSV顏色空間,然后提取每個像素的H值與S值。通過分析蘋果區(qū)域中的像素在H-S直方圖中對應(yīng)的數(shù)值大小,確定其顏色是否為紅色,分析紅色像素所占比例,得到蘋果表皮紅色著色率。整個算法分成兩部分,即生成標(biāo)準(zhǔn)化的H-S直方圖部分和著色率檢測部分,算法流程如圖1所示。
圖 1 整體算法流程圖
在對圖像進(jìn)行分析時,常使用的顏色模型包括RGB顏色模型和HSV顏色模型。RGB顏色空間模型根據(jù)三原色原理組成,3個維度分量分別是R(紅色分量)、G(綠色分量)和B(藍(lán)色分量)。這3個維度相關(guān)性較高,對光照比較敏感,不適合在RGB顏色空間模型中進(jìn)行做顏色識別、感知算法。HSV顏色空間符合人類對顏色的感知特點(diǎn)的顏色模型。該顏色空間中的3個維度分別是H(色調(diào))、S(飽和度)和V(亮度)。HSV顏色空間模型中的3個維度相互獨(dú)立,當(dāng)對其中一個維度進(jìn)行處理時,另外兩個維度不會受到干擾。本文目的是進(jìn)行顏色識別,檢測著色率宜選用HSV顏色空間。將采集到的RGB圖像轉(zhuǎn)換到HSV空間,用HSV空間中進(jìn)行顏色識別、色澤檢測,可以有效地避免光照不穩(wěn)定帶來的影響,顏色空間轉(zhuǎn)換算法如式(1)~式(3)所示。
V=max(R,G,B)
(1)
(2)
(3)
式中,H為色調(diào);S為飽和度;V為明度;R為紅色分量;G綠色分量;B藍(lán)色分量。
(a) (b)
2.2.1 樣本圖片蘋果區(qū)域處理
15張樣本圖片中3種顏色的蘋果圖片各5張,第一組為紅色蘋果圖片(r1~r5),第二組為綠色蘋果圖片(g1~g5),第三組為黃色蘋果圖片(y1~y5)。去除背景,去除果梗及花萼區(qū)域,只留下表皮區(qū)域并轉(zhuǎn)換到HSV顏色空間。最終處理完的樣本圖片如圖3所示,方便后續(xù)生成H-S直方圖。
圖3 用于制作H-S直方圖的樣本
2.2.2 生成H-S直方圖
得到用于生成H-S直方圖的樣本圖片后,提取每一組樣本圖片中蘋果區(qū)域的H和S值,生成H-S直方圖。計算每組樣本圖片中相同H、S的像素的次數(shù)以生成H-S直方圖(每組圖片一個)。hi(h,s)表示第i組蘋果的H-S直方圖,如式(4)所示。(h,s)是H-S平面中的坐標(biāo)點(diǎn)位置。h和s范圍分別是[0~360]和[0~1],為了方便分析處理,將h的范圍映射到[0~255],s的范圍映射到[0~255]。
(4)
式中,Ph,s為第i組樣本中蘋果區(qū)域中H通道與S通道的值為h與s的像素個數(shù);PT為第i組樣本中蘋果區(qū)域像素的總數(shù)。
2.2.3H-S直方圖的標(biāo)準(zhǔn)化
在生成H-S直方圖時,由于每張樣本圖片蘋果區(qū)域的像素個數(shù)不同。簡單地計算每種顏色的像素出現(xiàn)的次數(shù)并不能真正反映該顏色的重要性。必須對生成的3個H-S直方圖(每組一個)進(jìn)行歸一化,以反映H-S平面中表示的顏色與其所屬類別的真實(shí)分布和重要性。通過將hi(h,s)除以第i組圖片中蘋果區(qū)域的總像素數(shù)來實(shí)現(xiàn)歸一化,其中i=1,2,3。第i組圖片的歸一化直方圖為Hi(h,s),如式(5)所示。
(5)
式中,Hi(h,s)為歸一化后的H-S直方圖。
將H-S直方圖的每個區(qū)間中的值歸一化為[0~1]。直方圖的原點(diǎn)位于H-S平面的左上角。橫軸和縱軸分別表示s值和h值。直方圖上某一點(diǎn)亮度與Hi(h,s)值的大小有關(guān),通過上述過程可以得到紅綠黃3種顏色的H-S直方圖。圖4(a)~圖4(c)是生成的3種顏色的標(biāo)準(zhǔn)化H-S直方圖(像素值乘以250,便于顯示觀察)。
(a) (b) (c)
根據(jù)待檢測蘋果的RGB彩色圖像,將其轉(zhuǎn)換到HSV顏色空間,提取待檢測圖片中蘋果區(qū)域每個像素的h值和s值。對每一個像素進(jìn)行歸類,每一個像素在上述每個直方圖中均會對應(yīng)一個Hi(h,s)值,若H1(h,s)最大,則認(rèn)為此像素屬于紅色,否則不屬于紅色。每個像素所屬的顏色類別C(h,s)如式(6)所示,然后統(tǒng)計整個蘋果目標(biāo)區(qū)域內(nèi)紅色像素所占的比例,得出蘋果紅色著色率。
(6)
式中,C(h,s)為像素的所屬的顏色類別。
用圖像分析蘋果表面著色率,檢測圖像中蘋果表面紅色著色率時,用式(2)、式(3)、式(5)及式(6)得出每個像素所屬的顏色類別,得出顏色為紅色的像素個數(shù)Pr,顏色為綠色的像素個數(shù)Pg,顏色為黃色的像素個數(shù)Py,最終的著色率計算方法如式(7)所示。
(7)
式中,red_rate為紅色著色率。
圖5(a)為去除背景后的圖像,用本文中的算法檢測蘋果區(qū)域中的每個像素,顏色為紅色的像素賦值255,其它區(qū)域賦值為0;圖5(b)為檢測結(jié)果。
(a) (b)
文獻(xiàn)[15]在RGB顏色空間中生成R-G直方圖檢測水果表面顏色。本文用HSV顏色空間生成H-S直方圖來識別蘋果表皮顏色,并通過對比實(shí)驗(yàn)比較兩種方法的效果。文中對比了圖片亮度改變對兩種方法檢測結(jié)果的影響,檢測結(jié)果如表1所示。
圖6 不同亮度的圖片
表1 檢測效果對比分析
由表1可以看出,文獻(xiàn)[15]算法的檢測結(jié)果受圖片亮度V影響較大。本文所提算法優(yōu)勢明顯,檢測結(jié)果幾乎不受影響,與人工觀察結(jié)果一致。在圖片亮度發(fā)生變化時,其檢測結(jié)果依然比較準(zhǔn)確。
選擇無反光的20張樣本圖片進(jìn)行誤差分析,隨機(jī)選擇10人對每張圖片進(jìn)行人眼觀測,得出蘋果表面區(qū)域的紅色著色率,并用本文提出的算法檢測蘋果表面區(qū)域的紅色著色率。結(jié)果如表2所示。
表2 樣本誤差分析
表2中,第i個樣本的人工觀測結(jié)果為si,本文算法檢測結(jié)果為pi。平均誤差計算方式如式(8)所示。
(8)
式中,e為檢測結(jié)果平均誤差。
如表2所示,表中第一列為樣本序號;第二列為人眼觀測出的著色率;第三列為本文中算法得出的著色率;第四列為算法檢測結(jié)果與人眼觀測結(jié)果的差值;第五列為相對誤差的絕對值。由誤差絕對值可以得出人眼觀測結(jié)果與算法檢測結(jié)果基本一致,平均檢測誤差為8.3%。
本文基于圖像處理的方法,在HSV顏色空間中生成H-S直方圖,通過對蘋果表面紅顏色檢測和提取得出紅色著色率。通過實(shí)驗(yàn)驗(yàn)證了此方法的可行性及有效性,證實(shí)了檢測結(jié)果對圖片亮度不敏感,與人工檢測結(jié)果一致性較高,平均誤差為8.3%。此外,在H-S平面中生成H-S直方圖,舍棄與亮度相關(guān)的V通道,既不會造成顏色信息損失,又可以減弱圖片亮度變化對檢測結(jié)果造成的影響。本文存在的不足之處是只從一張圖像中分析了蘋果的顏色信息。一張圖片無法反映出蘋果的整個表面信息,因此以后的工作將致力于獲取蘋果全表面圖像信息,以進(jìn)一步提高檢測結(jié)果的精確度。