段青玲 徐曉玲 李道亮 李文升 劉春紅
(1.中國農業大學信息與電氣工程學院, 北京 100083; 2.中國農業大學國家數字漁業創新中心, 北京 100083;3.萊州明波水產有限公司, 萊州 261400)
魚類水產品高蛋白低脂肪,深受大眾喜愛[1-2]。但魚是高度易腐的產品,魚肉腐敗過程中的微生物污染易引起食源性疾病暴發。此外,魚死后發生的物理、化學、微生物和生化變化,會導致產品在口感和品質方面的特性逐漸喪失,影響商品價值,進而影響漁業經濟,甚至危及消費者的生命健康[3-6]。因此,研究快速、可靠、無損、實用的魚類新鮮度評估方法對品質監測和保證食用者安全等具有現實意義。
為了提供優質的魚類水產品,需要可靠的方法和技術來測定和評價魚的新鮮度。魚類水產品新鮮度是保障產品質量和安全的重要指標之一,可以通過檢測總揮發性堿性氮(TVB-N)含量、三甲胺(TMA)含量、總活菌數(TVC)、pH值以及K值(三磷酸腺苷分解的低級產物肌苷、次黃嘌呤占分解物的百分比)等指標來確定,也可以通過魚體外觀、氣味、顏色、味道和質地等因素來衡量[7-8]。目前使用的評估方法主要分為內部生化成分測定方法和外部物理屬性分析方法。
內部生化成分測定的方法通過檢測不同貯藏時期的總揮發性堿性氮(TVB-N)含量等指標,對魚類的新鮮度進行粗略評估。涉及的具體技術主要有:基于化學分析的高效液相色譜法、GC質譜法等,檢測結果可靠,但是檢測過程復雜、繁瑣,具有侵入性,不適合在線檢測[9];基于檢測儀器的光譜成像、傳感器(電子舌、電子鼻)等技術需要高度專業或受過訓練的人來執行,且儀器設備昂貴[10-11];基于魚體圖像參數測定生化成分的方法,利用提取魚體的顏色、能量等特征構建回歸模型,能較準確地預測pH值、TVB-N含量和TVC等指標值[12-13]。
外部物理屬性分析的方法主要通過獲取魚鰓、魚眼、皮膚等結構的顏色紋理參數來評估魚類新鮮度,一般依據貯存時間判定新鮮度等級。顏色和表面紋理的變化對魚類新鮮度有直接影響[3],魚類死后,魚眼逐漸渾濁塌陷,魚鰓顏色逐漸暗淡,皮膚色澤愈加暗沉,表面彈性減小、質地變軟,體表粘液附著減少[14-15]。在早期魚體新鮮度監測過程中,基于色度計、紋理分析儀等設備,研究者會運用整個魚體獲取的顏色、紋理等特征,評估魚類新鮮度[3];基于人工感官評價,研究者們利用質量指數法(Quality index methods,QIM)等,來評定魚類新鮮度[4,14]。但是上述方法耗時費力,對規模化應用有很大的局限性,計算機視覺技術為魚類新鮮度評估提供了一種自動無損、經濟有效的選擇[16]。一些學者對此進行了研究[15,17-18]。魚鰓的變化能夠較準確地反映魚類產品的新鮮度,但是魚鰓圖像的獲取會破壞鰓蓋,耗時費力且具有侵入性。
針對上述問題,一些研究人員采用其他部位的圖像對魚類新鮮度評估方法進行研究[7,14,19-20]。通過這些研究可見,魚體外在的變化并不局限在魚眼、魚鰓兩個區域,運用皮膚區域、皮膚與魚眼結合及與魚鰓結合等局部區域進行特征提取,會使選擇更加靈活、多樣。此外,通過現有方法來滿足現實生產中非破壞性、客觀高效、低成本等新鮮度評估需求,仍面臨準確率低、耗時長等問題。
本文采用魚體頭部圖像,無需將鰓蓋去除,提出一種基于視覺圖像的魚類新鮮度無損快速自動評估方法。首先,運用智能手機拍攝魚體圖像;然后,對得到的圖像進行預處理并提取特征參數;最后,實現對4種魚體新鮮程度的自動識別。
采用于山東省濰坊市水產市場購買的活鯽魚,單條魚體質量為150~320 g。為了避免病菌等其他因素的干擾,購買回來的鯽魚立即轉移到-18℃環境下致死。將死亡的鯽魚在4℃下貯存14 d,每天對鯽魚樣本進行3次正反面成像。為了更好地滿足現實需求,成像設備與目標魚類之間的采集距離可以適當調整。本文選取彩色RGB樣本圖像共計960幅,部分樣本圖像見圖1。該數據集中的圖像由華為P20 Pro手機以俯視角度拍攝,分辨率為3 648像素×2 736像素,格式為jpg。
本文參照文獻[15,20]的方法進行魚類新鮮度判定,以貯存時間為依據,具體的4種新鮮度類別為:最新鮮(貯存1~2 d)、新鮮(貯存3~4 d)、一般新鮮(貯存5~7 d)、變質(貯存8~14 d)。
為了實現無損、無害、快速、可靠的新鮮度評估,本文提出了一種基于顏色紋理特征融合-線性判別分析(Color histogram & grey-level co-occurrence matrix-linear discriminant analysis ,CHG-LDA)的方法實現魚類新鮮度評估,總體流程如圖2所示。
(1)圖像預處理。根據魚體新鮮程度標注圖像類別,然后按照原圖像的寬高比將數據集中的圖像縮放至152像素×114像素,減少圖像處理的時間和成本。為了豐富地描述魚體圖像的顏色特征,將RGB空間的圖像分別轉換到HSV、L*a*b*顏色空間[21],從這3個顏色空間進行特征提取。
(2)特征提取。提取魚體圖像中的顏色直方圖特征和灰度共生矩陣(Grey-level co-occurrence matrix,GLCM)特征,并構成魚體CHG特征,并通過LDA方法進行特征降維,獲得高質量的特征CHG-LDA。
(3)魚類新鮮度分類。采用K最近鄰(K-nearest neighbor,KNN)算法構建魚類新鮮度分類模型,然后通過測試集對模型進行評估,得到魚類新鮮度。
1.3.1顏色直方圖特征提取
顏色直方圖描述圖像中顏色的全局分布,即不同顏色在圖像中所占的比例,它不受圖像旋轉和平移變化的影響,提取簡單方便,在計算機視覺領域使用廣泛[22-23]。隨著貯存時間的延長,魚體外觀顏色相繼變化,為了更好地表征魚類新鮮度變化過程中的顏色變化,本文在魚體圖像的RGB、HSV和L*a*b*顏色空間中分別進行通道分離,統計通道像素點的頻數。RGB顏色空間的特征提取過程如圖3所示,首先將圖像分離為R、G、B3個通道,然后提取每個通道的直方圖,最后進行通道合并,即將三維特征矩陣拉伸為一維作為RGB空間下的顏色直方圖特征。
1.3.2GLCM特征提取
GLCM通過研究圖像灰度的空間相關特性來描述紋理特征,能反映圖像灰度關于方向、相鄰間隔、變化幅度的綜合信息,它是分析圖像的局部模式和排列規則的基礎[24-25]。在魚類新鮮度變化過程中,魚體表面的紋理也隨之變化[3,15],GLCM紋理特征能夠反映貯存期間魚體皮膚的緊致性變化,故本文從RGB、HSV和L*a*b*顏色空間各個通道中,計算圖像在4個方向(0°、45°、90°、135°)的GLCM特征,特征公式及具體描述如表1所示。

表1 GLCM特征公式及具體描述Tab.1 Formula and description of GLCM features
μi、μj、σi和σj的計算公式為
1.3.3特征降維
LDA[26]的基本思想是將高維的魚體圖像數據集投影到最佳鑒別矢量空間,以達到抽取分類信息和壓縮特征空間維數的效果,投影后保證模式樣本在新的空間有最大的類間距離和最小的類內距離,即4種類別的數據集在該空間中有最佳的可分離性。用于計算LDA算法[27]的偽代碼如下:
輸入:本文特征集D及降維后的維度d,其中D={(x1,y1),(x2,y2),…,(xn,yn)},xi為特征向量,yi為新鮮度類別。
輸出:降維后的特征集D′。
算法:
(1)計算類內散度矩陣Sw。
(2)計算類間散度矩陣Sb。
(5)對特征集中的每一個樣本特征xi,將其轉化為新的特征向量zi=WTxi。
(6)得到輸出特征集D′={(z1,y1),(z2,y2),…,(zn,yn)}。
類內、類間散度矩陣計算公式為
(1)
(2)
式中uj——第j類樣本的均值向量
u——所有樣本的均值向量
Cj——新鮮度類別
Nj——樣本個數
KNN是最簡單的監督學習算法之一[28],它的核心思想是基于歐氏距離的度量方式,根據距離給定的魚類測試樣本最近的k個訓練樣本來預測其新鮮度類別。
基本的計算步驟如下:
(1)輸入訓練集D。其中D={(x1,y1),(x2,y2),…,(xn,yn)},xi為特征向量,yi∈{C1,C2,…,Ck}為對應新鮮度類別。
(2)根據歐氏距離度量,在D中找出與實例x最近鄰的k個點。
(3)根據多數表決的分類決策規則判斷實例x的類別y。
類別y的計算公式為

(3)
式中Nk(x)——涵蓋k個點的實例x的鄰域
I——判別yi和Cj的取值是否相等的函數
本文考慮到KNN分類器訓練時間復雜度較低,對于類域的交叉或重疊較多的魚類新鮮度樣本特征,準確率高、實時性好。因此,選用KNN分類方法,來實現魚類新鮮度的檢測。
(1)本文方法實驗。本部分包括魚圖像顏色空間轉換、特征提取及降維、魚品質分類。這些結果為該方法的有效性提供了支持。
(2)性能比較實驗。這組實驗分為兩部分。第1組實驗目的是驗證CHG特征的有效性和魯棒性,將本文選擇的特征與顏色直方圖、顏色矩、GLCM、文獻[15]提取的特征和文獻[3]提取的特征在不同特征選擇方法下的分類結果進行對比,并分析背景去除后本文方法的分類結果。第2組實驗目的是對比分類性能,將CHG特征分別在未經處理、主成分分析(Principal component analysis,PCA)降維、LDA降維這3種情況下,對比KNN、隨機森林(Random forest,RF)[29]、人工神經網絡(Artificial neural network,ANN)分類器的分類結果。
實驗所用編程語言為Python 3.6,集成開發環境為Anaconda 3。在算法實現的過程中,魚圖像縮放、直方圖特征提取基于OpenCV包,GLCM特征提取基于skimage包,LDA、KNN、RF和ANN算法實現則基于sklearn包。
使用精確率、召回率、F1分數和準確率來評價魚類新鮮度分類方法的性能。
2.3.1魚圖像顏色空間轉換
為了較全面地描述新鮮度變化過程中魚體圖像的顏色特征,本文選擇了RGB、HSV和L*a*b*這3個常用的顏色空間進行本文特征的提取。部分樣本圖像在這3個顏色空間如圖4所示。
2.3.2特征提取與降維
本文特征的選擇包括特征提取和降維兩部分,總體流程與降維結果如圖5所示。提取魚體4種新鮮度圖像的顏色直方圖特征和GLCM特征,將二者結合并歸一化特征值后通過LDA進行降維處理形成新的特征矩陣,從散點圖可以看出,將聯合特征經LDA處理投影到二維圖像后,訓練樣本特征和類別信息之間的關系得以保留,表明經LDA處理后獲得的特征矩陣在4個新鮮度類別間有較好的區分度。
隨著魚體貯藏時間的延長,魚眼由飽滿突出且角膜透明清亮變得愈加渾濁塌陷,皮膚由色澤明亮逐漸暗沉直至無光澤感。外觀顏色和GLCM紋理特征能夠區別貯存期間不同魚體新鮮度,能夠對魚體皮膚的顏色、光澤度、緊密度等特性數字化,以代表性地表征魚體新鮮度變化。不同新鮮度類別的魚體圖像在不同顏色空間下的顏色直方圖特征存在較大差異,如圖6所示。從圖中可以看出,在本文應用的3個不同的顏色空間中,4種新鮮度的魚體圖像直方圖特征存在較大差異。
2.3.3魚品質分類結果
將本文方法在測試集上進行分類驗證,結果見表2。從表中可以看出,最新鮮、新鮮、一般新鮮、變質這4個新鮮度類別在各項指標下的值均為1。其中支持度為測試集中對應的樣本數量,每個新鮮度類別的樣本數量為48,宏平均對應192個測試樣本中各類別評價指標的均值,加權平均表示192個測試樣本中各類別評價指標的加權平均值,其權重為各類別正確劃分的樣本數在所有樣本中所占比例。
2.3.4不同魚體圖像特征對比及降維分析
為了證明本文提取的CHG特征的有效性,本文與顏色直方圖特征、顏色矩特征、GLCM特征、文獻[15]提取的特征和文獻[20]提取的特征在不同特征選擇方法下的分類準確率進行對比,結果如表3所示。其中,“/”表示未經降維處理的情況。

表3 不同特征選擇方法下魚體圖像特征的分類準確率對比Tab.3 Comparative classification accuracy of multiple fish features by different feature selection methods
從表3中可以看出,本文提取的CHG特征在分類上具有顯著優勢,未經降維處理的情況下,在KNN中的分類準確率為0.60,與對比特征中準確率最高的顏色直方圖特征相等;在RF中的分類準確率為0.68,比對比特征中最高的顏色矩特征高0.01;在ANN中的分類準確率為0.72,比對比特征中最高的顏色直方圖特征高0.05。與PCA方法相比LDA的降維處理效果較好。在經LDA降維處理后,本文提取的CHG-LDA特征在KNN、RF、ANN分類器中的準確率均達到了1,較其他特征中準確率最高的顏色直方圖-RF相比,提高了0.04。比顏色直方圖、顏色矩、GLCM、文獻[15]及文獻[20]特征的最好分類準確率分別高 0.04、0.33、0.08、0.36 及 0.26。
本文特征CHG及對比特征在PCA、LDA降維處理的結果如圖7、8所示。從圖7中可以看出,經PCA降維處理后,表征4個新鮮類別的圖7a、7b、7f在二維空間下的聚集性較強;圖7c~7e雖然有一些離群點,但是仍然有很多重疊。這表明經PCA處理后的這些特征的類別區分度低。從圖8中可以看出,經LDA降維處理后,在二維空間下圖8b、8d、8e對類別最新鮮和變質的離散性較強,但其他類別間仍有很高的重疊性;圖8a、8c對各個類別間已經有較強的離散性,能夠較好地進行新鮮度區分;圖8f對于同種類別特征點的聚合性更強,不同類別間特征的離散程度更高。由此可見,經LDA處理后的特征,離散程度更高,對于4種新鮮度類別的區分性更好。
為了證明本文提取的CHG-LDA特征的魯棒性,針對本文運用的帶有簡單背景的圖像數據,首先去除圖像背景(圖9),然后提取CHG融合特征,再運用LDA方法進行特征降維并在KNN分類器下進行品質評估,對比結果見表4(表中“↓”表示結果值降低)。
從表4中可以看出,本文提取的CHG-LDA特征具有很高的魯棒性,本文運用的帶有簡單背景的圖像數據進行品質評估的結果甚至高于背景去除的數據。魚體圖像背景去除后,其精確率、召回率、F1分數指標的宏平均和加權平均,以及準確率均下降了0.01。究其原因,是隨著貯存時間的延長,微生物作用使得魚體體表會有游離脂肪和水等以粘液的形式滲出,沾染到背景上,運用帶有簡單背景的圖像提取的特征會利用這些信息,進而在品質評估中表現出較好的結果。

表4 背景去除后的測試集分類結果及對比Tab.4 Classification results and comparison of test set after background removal
2.3.5基于CHG特征的分類器性能評估
為了進一步證明本文方法的性能,將本文提取的CHG特征與經過PCA、LDA降維處理后的特征,分別在KNN、RF、ANN及輕量級梯度提升機(Light gradient boosting machine,LightGBM)分類器上針對分類指標與評估時間進行對比分析,結果見表5。

表5 測試集在不同分類器上的分類結果Tab.5 Classification results of test set on different classifiers
從表5中可以看出,本文選用的LDA較PCA降維方法能顯著地提高新鮮度評估的各項指標性能,在KNN分類器中,經LDA處理后精確率較PCA相比提高了0.36,召回率、F1分數和準確率均提高了0.40。在RF分類器中,經LDA處理后精確率、召回率、F1分數和準確率較PCA相比均提高了0.29。在ANN分類器中,經PCA處理效果最差,經LDA處理后精確率、召回率、F1分數和準確率較原始特征相比分別提高了0.26、0.28、0.29和0.28。在LightGBM分類器中,經LDA處理后效果最佳,比未經處理的情況下提高了0.27,較PCA處理提高了0.35左右。表5中時間代表分類評估的時間,包括模型訓練、模型分類結果預測的處理時間總和。經LDA降維處理后的特征在KNN分類器的處理時間最短,為0.01 s,與PCA-KNN、LDA-RF、LDA-LightGBM相比,分類時間分別縮短了0.02、0.01、1.31 s。
綜上所述,本文提出的CHG-LDA特征能夠較好地描述不同魚體新鮮度的類別狀態信息,且本文提出的基于計算機視覺的CHG-LDA方法通過KNN、RF、ANN及LightGBM算法對魚類新鮮度評估都有很好的效果,其中KNN在評估時間上更優。
(1)針對提取的魚體圖像特征質量低致使分類性能差的問題,采集了4℃下貯存14 d的鯽魚圖像數據進行實驗,提出了基于CHG-LDA的魚類新鮮度無損檢測方法。結果表明CHG-LDA處理后獲得的高質量魚體特征,能夠很好地表征鯽魚新鮮度變化。
(2)通過比較不同特征選擇方法對多種魚體圖像特征的影響,在KNN、RF及ANN分類模型下分別進行實驗,得到本文CHG-LDA特征的分類準確率為1,比顏色直方圖、顏色矩、GLCM、文獻[15]及文獻[20]特征的最優分類準確率分別高0.04、0.33、0.08、0.36及0.26。
(3)通過比較KNN、RF、ANN及LightGBM分類模型的性能,在CHG特征下實驗,得到CHG-LDA的精確率、召回率、F1分數、準確率均為1,其中,KNN的分類評估時間為0.01 s,比RF、ANN、LightGBM的耗時分別減少0.01、0.24、1.31 s。