?

基于改進卷積神經網絡與圖像處理的蠶繭識別方法*

2023-06-05 01:32周顯沁韓震宇劉成源
中國農機化學報 2023年5期
關鍵詞:色斑蠶繭圖像處理

周顯沁,韓震宇,劉成源

(四川大學機械工程學院,成都市,610000)

0 引言

蠶桑絲綢業是我國的傳統產業,擁有近5 000年的發展歷史。目前,我國絲綢工業年產值超過1 500億元,蠶繭和生絲產量占全球80%以上,在諸多農村地區,桑蠶養殖成為當地的主要經濟來源[1]。在養殖生產過程中,繭絲是通過對蠶繭進行繅絲得到,蠶繭質量的優劣將直接影響繭絲品質,關系到繅絲生產的經濟效益。因此,對蠶繭進行質量檢測實現蠶繭種類識別具有重要意義。

蠶繭按照其使用價值以及形成原因分為上車繭與下繭,下繭包括有雙宮繭、柴印繭、黃斑繭、畸形繭、薄皮繭等。傳統的檢測方式為人工檢測,通過人眼觀察依據蠶繭表面顏色、形狀、紋理等特征對蠶繭進行分選。該方法存在檢測效率低下、錯檢率高、人工勞動強度大的問題。近年來,得益于圖像處理技術的廣泛應用與深度學習理論的不斷發展,人工智能技術與農業相關領域深度結合,大大提高了生產效率,降低企業生產成本[2]。在蠶繭識別領域,甘勇[3]采用圖像處理的方式從蠶繭表面顏色、勻凈度等方面進行判斷,該方式還需配合目測方式與含水量檢測進行綜合判斷。梁軍圣[4]采用改進BP神經網絡對蠶繭進行分類識別,最終實現黃斑繭、靠黃繭、雙宮繭的識別正確率為96.8%、96.3%、94.4%。王超[5]采用SE-GoogLeNet網絡模型對蠶繭數據集進行訓練,最終在測試集上的分類正確率達到98.3%。

本文提出一種基于改進卷積神經網絡的蠶繭分類識別方法,針對蠶繭表面特征受光照、外繭衣纏繞等因素影響以及柴印紋理不清晰的問題,采用主成分分析(Principal Components Analysis,PCA)、HSV(Hue,Saturation,Value)顏色空間轉換方法進行特征加強,并對模型優化設計后進行訓練,以提高蠶繭識別準確率與生產效率,為實際生產環境中蠶繭自動分選系統提供參考依據。

1 樣本集處理與制作

1.1 樣本數據采集

本文選用蠶繭樣本為經過初步解除繭衣操作后待分選的干繭,結合行業標準與企業實際生產需求將蠶繭樣本分類為正常繭、柴印繭、色斑繭、畸形繭、雙宮繭5種類型,樣本圖像如圖1所示。樣本數據來自于試驗圖像采集裝置,其中相機選用DALSA工業相機型號M1600相機,鏡頭為5 mm短焦鏡頭,為還原生產環境采用室內光源。共采集得到圖像樣本500幅,其中,正常繭150幅、色斑繭120幅、柴印繭100幅、雙宮繭80幅、畸形繭50幅。為提高模型計算速度,采用MATLAB腳本程序將圖像像素大小壓縮更改為221 pixel×151 pixel。

(a) 正常繭

(b) 柴印繭

(c) 雙宮繭

(d) 畸形繭

(e) 色斑繭

1.2 樣本圖像增強

由于原始采集樣本圖像數量少,為避免模型過擬合,提高模型泛化能力,采用數據增強方式對樣本數量進行擴充[6]。本文中樣本的數據增強方式有圖像水平垂直翻轉、圖像灰度變換、圖像對比度處理、添加隨機噪聲,利用MATLAB腳本程序完成處理,并對增強圖像進行人工篩選,剔除增強失真樣本,得到樣本數量正常繭600幅、色斑繭428幅、柴印繭374幅、雙宮繭310幅、畸形繭188幅,總計1 900幅。再將樣本隨機劃分為訓練集、驗證集、測試集,其中訓練集樣本數占70%共1 330幅,驗證集樣本數占約15%共300幅,測試集樣本數占約15%共270幅。

1.3 樣本特征增強

根據對蠶繭樣本圖像分析得知,其顯現特征主要表現為蠶繭表面紋理、蠶繭色斑、蠶繭外形尺寸等。其中,柴印繭表面紋理為其主要特征,但受到蠶繭外繭衣影響,其紋理通常表現不明顯,對于色斑繭其色斑特征易受到現場光照環境影響。因此,本文采用主成分分析方法與顏色空間轉換方法對樣本特征進行增強。

1.3.1 主成分分析

PCA將原圖像按照計算得到的新特征進行映射,新特征間存在不相關性,以此映射后減少了圖像信息的冗余,突出了圖像主要特征信息,更利于圖像分類,同時降低復雜度,去除無用噪聲,減少模型計算量[7-10]。首先將蠶繭樣本v組成樣本集矩陣U。

(1)

式中:m——總共樣本數量;

n——一個樣本的特征數量。

再將樣本中每一個特征減去所有樣本對應的特征均值ui,得到歸一化處理后的樣本集矩陣U。

(2)

求出樣本集矩陣U的協方差矩陣E,以描述樣本特征間的相關性與分散程度。

(3)

對協方差矩陣進行特征值分解,得到所有的特征值與對應的特征向量(W1,W2,…,Wn),將特征向量標準化后,組成特征向量矩陣W。將樣本集中的每一個樣本v,通過特征矩陣映射重構為新樣本v′。其中,在特征空間下的投影系數向量

y=WT(v-ui)

(4)

根據y重構出的蠶繭圖像為

v′=Wy+ui

(5)

本文以對柴印繭進行主成分分析為例,柴印繭樣本數量m共374幅,樣本特征維數n為33 371,通過PCA分析降維到200,即選取特征向量共200個,圖2為前8個蠶繭主成分特征圖。

圖2 柴印繭特征圖

得到柴印繭特征圖后,將所有樣本圖像在特征空間下重構,圖3為通過PCA重構后的某蠶繭圖像與柴印繭平均特征圖。

(a) 彩色圖

(b) PCA圖

(c) 平均特征圖

1.3.2 HSV顏色空間轉換

HSV顏色空間是一種更符合人眼特性的模型,是由H(色調)、S(飽和度)、V(亮度)組成。相對RGB顏色空間,其在色彩的表達上更具優勢,H分量表達了顏色色調值且不易受到光照環境的影響[11-13]。因此,將蠶繭圖像轉換到HSV顏色空間下的H通道,圖4為色斑繭轉換后的H通道圖。

(a) 彩色圖

(b) H通道圖

2 模型構建與優化

2.1 網絡模型構建

卷積神經網絡模型是對生物大腦結構的仿照,其權重共享、局部連接的結構特點使其在圖像處理領域表現十分出色[14-15]。卷積神經網絡的基本結構有輸入層、卷積層、激活層、池化層、全連接層、輸出層。本文基于Keras深度學習框架搭建一種改進卷積神經網絡,網絡結構如圖5所示。

圖5 改進卷積神經網絡模型

2.1.1 卷積層

卷積層(Convolution layers,CL)的作用是通過卷積操作對輸入圖像特征進行提取,卷積方式與卷積核的大小數量將直接影響到模型效果[16-17]。本文模型共使用5個卷積層(Conv1~Conv5),采用普通卷積方式,即將輸入與卷積核之間進行點積運算。其中,Conv1卷積核數量16個,Conv2卷積核數量32個,Conv3卷積核數量64個,Conv4卷積核數量128個,Conv5卷積核數量256個,所有卷積核大小均為3×3。

2.1.2 池化層

池化層(Pooling layer,PL)通過模仿人眼視覺系統對圖像信息進行降維,提取出有效的圖像特征,有效地進行了特征壓縮[18-19]。通常,池化層與卷積層交替出現,以提高特征的魯棒性,減少冗余信息,提高運算速度。常用池化方式有Mean-Pooling、Max-Pooling、Stochastic-Pooling。本文模型采用最大池化方法(Max-Pooling),池化大小為2×2,步長為2。最大池化方法對池化框內元素求取最大值,這能有效減少卷積過程造成的均值誤差偏移,更利于蠶繭表面紋理特征信息的保留。

2.1.3 激活函數與輸出方式

激活函數為神經網絡模型增加了非線性,常用的激活函數有Sigmoid、Tanh、ReLU函數等,其中Sigmoid、Tanh等飽和函數容易出現梯度消失現象[20]。為避免此類問題,本文模型激活函數選取非飽和函數ReLU函數加快網絡收斂。ReLU函數表達式如下

(6)

式中:x——輸入單元;

f(x)——激活作用后輸出。

輸出層在全連接層(Fully connected layers,FCL)對輸出單元概率輸出完成分類,本文模型中包含4個全連接層(FCL1~FCL4),神經元個數分別為512,218,32,5。在輸出層采用Softmax函數得到最大概率,從而給出分類結果。

2.2 網絡模型優化

2.2.1 損失函數與優化器選擇

本文模型中損失函數使用交叉熵損失函數,配合Softmax輸出函數,使得權值更新與誤差大小成正比,可加快收斂速度。交叉熵損失函數

(7)

式中:M——樣本數量;

N——分類類別數;

pij——真實值中第i個標簽第j個類別的概率;

qij——預測值中第i個標簽第j個類別的概率。

本文模型中優化器選擇Adam優化,Adam算法可自適應學習率,基于訓練數據迭代地更新權重,本文將默認學習率設置為0.000 01。

2.2.2 L2正則化與Dropout層

神經網絡模型在訓練中由于樣本數量過少、模型過于復雜、訓練集樣本與測試集樣本噪聲分布不一致等原因會出現過擬合現象,導致模型的泛化能力差,實際分類正確率低[21]。因此,本文通過對損失函數加入正則項并在模型中添加Dropout層,以實現模型優化,減少過擬合現象。

本文中給損失函數加入L2正則項,損失函數C0變為C,表達式如式(8)所示。

(8)

式中:k——樣本總數;

ω——神經網絡中的全部權重;

λ——正則化參數。

在對權重的更新過程中,加入正則化項后權重的更新變為

(9)

式中:η——學習率。

可以看出,在加入正則項后的權重更新時,使得一些接近于0的權重變得幾乎等于0,繼而削弱了部分神經元的影響,起到減少過擬合的作用。

Dropout[22]是在訓練過程中隨機丟棄部分神經元,在原始網絡中采樣形成一個不同的子網絡,最終權重由不同訓練過程中的權重結果平均得到,從而減少噪聲影響,避免過擬合現象。本文中模型在全連接層FCL1后加入Dropout層,將參數值設定為0.2。

3 試驗結果與分析

3.1 模型超參數優化分析

在CNN網絡中,超參數會影響到模型是否收斂、收斂速度、訓練時間等,對模型性能的優劣有著至關重要的影響[23]。本文中將對模型學習率、批量大小進行優化設計。

3.1.1 學習率優化選擇

本文中模型優化器選擇為Adam算法,該算法中默認學習率的選擇將影響模型收斂與否,當學習率過大時模型將不會收斂,當學習率較大時模型訓練過程振蕩,當學習率過小則會增加訓練時間。本文依次選取0.01、0.001、0.000 1、0.000 01大小學習率訓練模型,得到訓練集準確率、驗證集損失如圖6所示。

(a) 訓練集準確率

(b) 驗證集損失大小

從訓練集準確率來看,學習率為0.01時模型不收斂,當學習率為0.001、0.000 1、0.000 01時模型均收斂,但學習率越大收斂速度越慢。從驗證集的損失大小來看,當學習率為0.001與0.000 1時模型訓練過程振蕩明顯,因此最終選取模型學習率為0.000 01。

3.1.2 批次大小優化選擇

CNN網絡訓練批次越小模型收斂難度越大,訓練時間越長,對設備內存消耗越大,適當增大批次可減少訓練過程中的振蕩,得到更優的模型性能。由于訓練樣本數量較少,模型訓練批次依次選取4、8、14、18,結果如圖7所示。

(a) 訓練集準確率

(b) 驗證集損失大小

如圖7(a)所示,當批次大小越大時收斂越慢,圖中批次大小為18時,收斂速度最慢。如圖7(b)所示,當批次大小越小時訓練過程振蕩現象越明顯,圖中批次大小為4時,模型訓練過程振蕩最嚴重。因此本文中模型訓練批次大小選擇為14。

3.2 不同神經網絡模型效果對比

本文選取目前主流卷積神經網絡模型AlexNet、VGG16、ResNet對蠶繭樣本進行訓練,并與本文神經網絡的訓練效果進行對比,試驗對比數據如表1所示。從表1中得知,本文設計的網絡模型對蠶繭圖像具有顯著的針對性訓練效果,訓練集準確率為100%,驗證集準確率達到95%。AlexNet由于模型簡單訓練效果不佳,識別準確率低,其驗證集與訓練集準確率分別只有83%、82%。VGG網絡與ResNet網絡由于模型復雜,訓練后存在明顯的過擬合現象,VGG16網絡驗證集準確率僅有88%,ResNet網絡驗證集準確率僅有92%。雖然本文設計網絡的平均訓練時間較長,但其具有更優的識別效果,綜合對比下,其在實際應用環境中性能最佳。

表1 不同神經網絡模型訓練效果對比Tab. 1 Comparison of training effects of different neural network models

3.3 樣本圖像處理后訓練效果對比

蠶繭圖像由于其表面繭絲纏繞、紋理不清晰等因素導致特征不明顯,尤其是柴印繭等以表面紋理為主要特征類型的蠶繭,該類蠶繭在神經網絡模型訓練中分類效果不佳。因此,本文對蠶繭圖像采用主成分分析處理與HSV顏色空間轉換,將蠶繭灰度圖、主成分分析圖、HSV顏色空間H通道圖作為模型輸入層代替RGB彩色圖,并進行試驗驗證圖像處理后模型訓練效果。

本文通過混淆矩陣[24]計算模型評價指標,多分類混淆矩陣中TP表示該類中通過模型正確預測的樣本數量,FP表示非該類樣本通過模型錯誤預測為該類的樣本數量,TN表示非該類樣本被模型正確預測為其他類的樣本數量,FN表示該類樣本被模型錯誤預測為其他類的樣本數量,主要模型評價指標有準確率Accuracy、精確率Precision、查全率Recall、F1得分(F1-Score),則各指標計算方式如下。

(10)

(11)

(12)

(13)

式中:Ncorrect——通過模型全部預測正確的樣本數量;

Ntotal——全部樣本數量。

分別將RGB彩色圖像與圖像處理后的蠶繭圖像輸入模型輸入層,得到混淆矩陣如圖8所示,其中每一行代表蠶繭實際類別,每一列代表蠶繭通過模型預測的類別,圖中概率值表示模型的預測概率。從混淆矩陣可以看出,經過圖像處理前后的蠶繭圖像均能通過模型較準確地實現分類,識別概率均分布在對角線上。其中,經過圖像處理前的柴印繭與色斑繭的識別準確率分別為82.61%、96%,經過圖像處理后的柴印繭與色斑繭的識別準確率提高到了93.55%、100%,說明主成分分析與顏色空間轉換分別對柴印繭與色斑繭表面特征起到加強作用,更利于神經網絡訓練識別。但畸形繭在經過圖像處理后識別準確率下降到87.5%,是由于部分被錯誤識別成柴印繭,但由于實際生產中畸形繭數量較少,并且其與柴印繭區別要求不高,因而對實際生產過程影響不大。因此,本文中圖像處理過程對柴印繭與色斑繭的識別性能有顯著提升作用,且對其他類別的蠶繭識別影響不大。

(a) 圖像處理后蠶繭圖模型預測的混淆矩陣

(b) RGB彩色蠶繭圖模型預測的混淆矩陣

從混淆矩陣中可計算出模型性能評價指標,其中精確率表示了所有被預測為該類的樣本中實際為該類樣本所占的比例,查全率表示了所有被預測為該類的樣本占該類樣本總體數量的比例,在蠶繭識別分類問題中,希望能盡可能多得正確分類,即分類中的正確比例,因此,在模型評價指標中更關心精確率的大小。從表2中得知,在經過圖像處理后,正常繭的精確率從93%提升到96%,色斑繭的精確率從92%提升到95%,雙宮繭與畸形繭均為100%,柴印繭精確率從96%下降到93%,可見除柴印繭外,正常繭與色斑繭的識別精確率均得到提升。為了更好地評價模型性能,提出F1-Score,其綜合了精確率與查全率,從表2中得知,經過圖像處理后正常繭F1-Score保持不變為96%,柴印繭F1-Score從90%提升到93%,色斑繭F1-Score從94%提升到97%,雙宮繭F1-Score保持不變為100%,畸形繭F1-Score從100%下降到93%,可見除畸形繭外,正常繭、柴印繭、色斑繭的識別F1-Score均得到提升,而畸形繭的數量占少數,因此,進行過圖像處理后的蠶繭圖像使得神經網絡模型性能更優,在實際生產過程中具有更高的實用價值。

表2 圖像處理前后模型性能評價指標Tab. 2 Model performance evaluation index before and after image processing

4 結論

1) 本文提出一種基于卷積神經網絡的深度學習模型用于桑蠶蠶繭識別分類,共5層卷積層、5層池化層、4層全連接層,選擇Softmax輸出函數,Adma優化算法,并采用L2正則化與添加Dropout層優化模型減少過擬合。試驗表明,該模型分類平均正確率達到95%,能有效實現蠶繭分類。

2) 針對蠶繭受繭衣纏繞導致紋理不清晰、受光照不均勻導致色斑灰度不均的問題,本文分別采用主成分分析方法與顏色空間轉換方法進行蠶繭特征增強。試驗表明,經過圖像處理方法后的蠶繭圖像更利于模型訓練與識別,最終柴印繭分類準確率從86.21%提升到93.55%,色斑繭分類準確率從96%提升到100%,且模型整體識別性能得到提升。

3) 對模型進行性能評價,使用F1-Score多分類評價指標,圖像處理前正常繭F1-Score為96%、柴印繭F1-Score為90%、色斑繭F1-Score為94%、雙宮繭F1-Score為100%、畸形繭F1-Score為100%;經過圖像處理后正常繭F1-Score為96%、柴印繭F1-Score為93%、色斑繭F1-Score為97%、雙宮繭F1-Score為100%、畸形繭F1-Score為93%。數據表明該模型能有效應用在實際生產環境中,滿足蠶繭識別分類需求。

猜你喜歡
色斑蠶繭圖像處理
咬破死亡的蠶繭
蠶繭與飛蝶
提高鳴龍鎮蠶繭質量的措施探討
重視蠶病綜合防治 提高蠶繭質量
基于圖像處理的機器人精確抓取的設計與實現
機器學習在圖像處理中的應用
巧手飾色斑
基于圖像處理的定位器坡度計算
臉上色斑暴露健康隱患
圖像法快速測量色斑直徑和雨滴直徑
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合