摘要:為了客觀評估豬肉各項指標和豬肉等級,采用MATLAB神經網絡工具箱中的BP人工神經網絡,利用豬胴體圖像特征參數和活體豬圖像特征參數建立BP神經網絡模型。分別用豬胴體圖像特征參數樣本60個和活體豬圖像特征參數樣本80個進行了網絡訓練,并采用不同的BP神經網絡隱含層的傳遞函數和隱含層神經元數量,得到 BP神經網絡模型。通過仿真,將仿真結果與人工評估結果進行對比,結果表明BP人工神經網絡模型可以評估豬肉各項指標和等級識別。在豬肉胴體圖像特征指標下評價豬肉等級準確率達到98%,在活體豬圖像特征參數評價豬肉等級準確率達到80%。說明豬肉胴體圖像特征比活體豬圖像特征參數更能代表豬肉質量品質也符合客觀現實;同時也表明MATLAB神經網絡工具箱中的BP人工神經網絡可以應用在豬的等級評定中。
關鍵詞:反向傳播神經網絡; MATLAB; 豬肉等級
中圖分類號:TP301.6文獻標志碼:A
文章編號:1001-3695(2008)06-1642-03
0引言
豬肉的等級是影響生豬養殖和屠宰加工企業經濟效益的重要因素。傳統的等級評定方法主要是目測或者人工手動測量。這種檢測方法有損肉樣、效率低下、準確性差,同時存在一定的人為因素,經常引起養豬者和收購者對等級的爭議。因此客觀公正的豬肉無損定級系統是非常必要的。
豬肉品質是一個多方面的、綜合的性狀,養豬者、屠宰者、加工者在相同的環節可能有不同的要
求[1]。因此,應該研究利用多項指標綜合評定豬肉等級。屠宰商關心的是生豬瘦肉率、豬后軀豐滿度;豬肉的顏色是消費者決心購買與否的指標;大理石紋的量是肉品加工者所關心的,因為它對豬肉的多汁性、嫩度和風味均有影響。研究利用背膘厚、瘦肉率、屠宰率、眼肌面積、肉色和大理石紋等多項指標評定豬肉等級更加客觀[2]。
羅明等人的研究表明瘦肉率與背膘厚、腿臀圍、眼肌面積等特性指標存在關系[2];屠宰率與豬的外形有關;肉色與圖像顏色密切相關[3];大理石紋與肌內脂肪含量密切相關。而眼肌面積、肌內脂肪含量等特性指標與相應圖像特征呈線性相關[4~6]。背膘厚、腿臀圍、眼肌面積、豬的外形等長度特征均可從圖像中獲得,這使得利用計算機視覺技術評定豬肉等級成為可能[6,7]。因此,研究利用多項指標綜合評定豬肉等級,研究背膘厚、瘦肉率、屠宰率、眼肌面積、肉色和大理石紋評分與圖像特征的關系,找出相關的圖像特征并訓練人工神經網絡,是建立基于計算機圖像處理技術的豬肉無損定級系統的關鍵。
1MATLAB中BP神經網絡原理闡述[ 8]
BP網絡是一種多層前饋神經網絡,由輸入層、隱含層和輸出層組成。層與層之間采用全互連方式,同一層之間不存在相互連接,隱含層可以有一個或多個。構造一個BP網絡需要確定其處理單元——神經元的特性和網絡的拓撲結構。神經元是神經網絡最基本的處理單元,隱層中的神經元采用S型變換函數;輸出層的神經元可采用S型或線性型變換函數。
神經網絡學習采用改進BP算法,學習過程由前向計算過程和誤差反向傳播過程組成。在前向計算過程中,輸入信息從輸入層經隱層逐層計算并傳向輸出層,每層神經元的狀態只影響下一層神經元的狀態。例如輸出層不能得到期望的輸出,則轉入誤差反向傳播過程;誤差信號沿原來的連接通路返回,通過修改各層的神經元權值,使得網絡系統誤差最小。最終網絡的實際輸出與各自所對應的期望輸出逼近。具體工作流程如圖1所示。
MATLAB神經網絡工具箱功能強大,提供了許多有關神經網絡設計、訓練和仿真的函數。用戶只要根據自己的需要調用相關函數,就能方便地進行神經網絡設計與仿真,從而免除了編寫復雜而龐大的算法程序的困擾。
在進行BP網絡設計前,一般應從網絡的層數、每層中的神經元個數、初始值以及學習方法等方面來進行考慮。
1)網絡的層數理論上早已證明:具有偏差和至少一個S型隱含層加上一個線性輸出層的網絡能夠逼近任何有理數。增加層數主要可以更進一步降低誤差、提高精度,但同時也使網絡復雜化,從而增加了網絡權值的訓練時間。誤差精度的提高實際上也可以通過增加隱含層中的神經元數目來獲得,其訓練效果也比增加層數更容易觀察和調整。所以一般情況下應優先考慮增加隱含層中的神經元數。
2)隱含層的神經元數網絡的層數網絡訓練精度的提高可以通過采用一個隱含層而增加神經元個數的方法來獲得,這在結構實現上要比增加更多的隱含層簡單得多。那么究竟選取多少個隱含節點才合適?這在理論上并沒有一個明確的規定。在具體設計時,比較實際的做法是通過對不同神經元數進行訓練比較對比,然后適當加上一點余量。
3)初始權值的選取由于系統是非線性的,初始值對于學習是否達到局部最小、是否能夠收斂以及訓練時間的長短關系很大。如果初始值太大,使得加權后的輸入落在激活函數的飽和區,從而導致其導數f ′(x)非常小,而在計算權值修正公式中,因為δ正比于f ′(x),當f ′(x)->0時,則有δ->0,使得w->0,從而使調節過程幾乎停頓下來。所以,一般總是希望經過初始加權后的每個神經元的輸出值都接近于零,這樣可以保證每個神經元的權值都能夠在它們的S型激活函數變化最大之處進行調節。一般取初始值在(-1,1)的隨機數。為了防止上述現象的發生,已有學者在分析了兩層網絡是如何對一個函數進行訓練后,提出了一種選定初始權值的策略:選擇權值的量級為S(1/T)1。其中S1為第一層神經元數目。利用這種方法可以在較少的訓練次數下得到滿意的訓練結果。
4)學習速率它決定了每一次循環訓練中所產生的權值變化量。大的學習速率可能導致系統的不穩定,但小的學習速率將會導致訓練較長、收斂速度很慢,不過能保證網絡的誤差值不跳出誤差表面的低谷而最終趨于最小誤差值。所以在一般情況下,傾向于選取較小的學習速率以保證系統的穩定性。學習速率的選取在0.01~0.8。
與初始權值的選取一樣,在一個神經網絡的設計中,網絡要經過幾個不同的學習速率的訓練,通過觀察每一次訓練后的誤差平方和∑e2的下降速率來判斷所選擇的學習速率是否合適。如果∑e2下降很快,則說明速率合適;若∑e2出現震蕩現象,則說明學習速率過大。對于一個具體網絡都存在一個合適的學習速率,但對于較復雜網絡,在誤差曲面的不同部位可能需要不同的學習速率。為了減少尋找學習速率的訓練次數以及訓練時間,比較合適的方法是采用變化的自適應學習速率,使網絡的訓練在不同階段自動設置不同學習速率的大小。
5)期望誤差的選取在設計網絡的訓練過程中,期望誤差值也應當通過對比訓練后確定一個合適的值。這個所謂的合適是相對于所需要的隱含層的節點數來確定的,因為較小的期望誤差值是要靠增加隱含層的節點以及訓練時間來獲得的。一般情況下,作為對比,可以同時對兩個不同期望的誤差值的網絡進行訓練,最后通過綜合因素的考慮來確定采用其中一個網絡。
2BP神經網絡參數設計
輸入數據、系統設計參數、輸出數據主要包括豬肉圖像特征參數,如下所示:
a)胴體豬豬肉圖像特征參數——圖像膘厚、圖像腿橫長、圖像腿豎長、圖像眼肌面積、白紅比、G值、腿臀圍、腿橫豎長積、等級。
b)活體豬圖像特征參數——豬體編號、豬體重、頭部面積、軀干面積、腹部面積、臀部面積、腿長、腿寬、胸腔面積、豬體長、豬體寬、后背面積、腿長寬比、瘦肉率、背膘厚、屠宰率、豬肉等級、腹占身軀比、側上曲線、側腹曲線、后上曲線、后后曲線。
c)系統設計參數——神經元數目、網絡層數、訓練最大步數、目標誤差。
d)系統輸出——仿真瘦肉率、仿真背膘厚、仿真屠宰率、仿真豬肉等級、訓練步數。
3結果與分析
1)根據圖像特征參數進行BP神經網絡訓練
胴體豬圖像特征參數有八種,選取60組數據進行訓練,19組數據進行仿真。用歸一化法對原始數據進行預處理。隱含層神經元數目選取12,傳遞函數選取tansig,訓練函數選取trainlm。網絡仿真結果與人工對比如圖2所示。
用標準化法對原始數據進行預處理。隱含層神經元數目選取12,傳遞函數選取tansig,訓練函數選取trainlm。網絡仿真結果與人工對比如圖3所示。
可見,對原始數據進行歸一化處理和標準化處理都有很好的仿真結果,表明豬胴體圖像特征參數網絡訓練成功。
2)根據活體豬圖像特征參數進行BP神經網絡訓練
a)進行主成分分析。由于活體豬圖像特征參數多達19種,為了加快網絡訓練速度,對原始數據進行主成分分析,挑選出主成分的累積貢獻率已達到了95%的前10個主成分代替19種參數。
b)BP網絡實現。在隱含層中使用傳遞函數tan-sigmoid,在輸出層使用一個線性傳遞函數purelin,訓練函數選擇函數trainlm。隱含層神經元數目選擇20,輸出目標選擇1。輸入向量采用主成分分析結果所列出的豬重、腿寬長比、臀部面積、頭部面積、背部寬度長度比、腹部面積等10個特征參數;輸出向量為背膘厚、屠宰率、瘦肉率、等級。選取70組數據為訓練樣本,10組為仿真樣本。網絡仿真結果如表1所示。
通過對比,不同數目的隱含層神經元在本例中都得到了較好的仿真結果。但在程序運行當中,訓練時間不相同。經過手工粗略計算,20個隱含層神經元的網絡訓練時間約為5s;40個隱含層神經元的網絡訓練時間大約為7s;60個隱含層神經元的網絡訓練時間大約12s。時間表明,隨著隱含層神經元個數的增加,訓練耗費時間明顯增加。所以,要在保證訓練誤差的情況下,訓練耗費時間越少越好,但是減少隱含層神經元數目將導致神經網絡學習能力下降,仿真結果誤差較大。本文實例證明,隱含層神經元個數選取輸入神經元個數的兩倍左右就可以花費最少的時間達到滿意的誤差效果。
參考文獻:
[1]劉敬順,彭國良,劉小紅.淺議豬肉品質的測定和影響因素[J].廣東畜牧獸醫科技,2000,6(2):7-9.
[2]鄭麗敏,于鉑,唐毅,等.利用圖像處理技術自動估算豬胴體參數[J].計算機應用研究,2007,24(1):203-206.
[3]羅明,朱礪.屠宰加工線上瘦肉型豬胴體瘦肉率估測方法的研究[J].四川農業大學學報,2002,6(2):153-155.
[4]WYLE A M,CANNELL R C,BELK K E, et al. An evaluation of the prototype portable HunterLab video imaging system as a tool to predict tenderness of beef carcasses using objective measure of lean and fat color[R].Fort Collins:Colorado State University,1998.
[5]于鉑,任發政,田立軍,等.利用圖像處理技術估算豬肉等級評價指標的應用研究[J].肉類科學,2004(3):41-44.
[6]GWARTNEY B L,GAO X,TAN J,et al.Determining fat content in ground beef via color image processing[J].Journal of Muscle Food,1996,16 (7):441-451.
[7]劉艷國,朱虹,鄭麗敏,等.拐點提取算法在活體豬檢測中的應用[J].計算機應用,2005,25(Z1):234-244,247.
[8]鄭麗敏.人工智能與專家系統原理及其應用[M]. 北京:中國農業大學出版社,2004.
[9]高雋.人工神經網絡原理及仿真實例[M]. 北京:機械工業出版社,2003.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文