王 濤 鄭欽月 趙 平( 天津農(nóng)學(xué)院,天津300800)
隨著社會的進(jìn)步, 傳統(tǒng)的養(yǎng)殖方式難以科學(xué)有效地對牛群進(jìn)行照看和管理。 人工智能的興起, 對奶牛養(yǎng)殖業(yè)的輔助指導(dǎo)產(chǎn)生了重要的影響。 而人臉識別、 神經(jīng)網(wǎng)絡(luò)等技術(shù)與養(yǎng)殖業(yè)的融合,提高了養(yǎng)殖場的管理效率和經(jīng)濟(jì)效益,促進(jìn)了養(yǎng)殖過程精準(zhǔn)化、自動化、智能化,為其他智能畜牧養(yǎng)殖業(yè)的發(fā)展提供了技術(shù)支持。
1.2.1 項(xiàng)目研究現(xiàn)狀
利用人工智能技術(shù)識別牲畜個體及其生活情況、 習(xí)性等的應(yīng)用在農(nóng)業(yè)生產(chǎn)中變得越來越廣泛。 Xia 等提出一種基于局部二值模式(local binary patterns,LBP)紋理特征的臉部描述模型[1]。 Cai 等在人臉識別方法的基礎(chǔ)上對LBP 進(jìn)行改進(jìn),提出了基于LBP 改進(jìn)后的牛臉模型[2]。 但遺憾的是,這兩種方法均無法應(yīng)用在真實(shí)的個體牛養(yǎng)殖環(huán)境中。
1.2.2 算法研究現(xiàn)狀
基于人工智能的牛臉識別的關(guān)鍵是奶牛的面部檢測, 而神經(jīng)網(wǎng)絡(luò)算法的使用有利于牛臉的檢測研究。 RENS.Q.等在前人的基礎(chǔ)上, 將檢測算法中region proposal 的選取算法SS(selective search)改為RPN(region proposal network)網(wǎng)絡(luò),進(jìn)一步提升了檢測性能[3]。
本次研究旨在建立一個奶牛信息統(tǒng)計(jì)儲備系統(tǒng)。 奶牛養(yǎng)殖人員可通過此牛臉識別系統(tǒng)對奶牛建立個體檔案,統(tǒng)計(jì)奶牛的年齡,性別,健康狀況,過往疾病史,每天飼料使用量和產(chǎn)出牛奶的量和奶牛的質(zhì)量等情況。 在每天的養(yǎng)殖過程中, 養(yǎng)殖人員用具有該系統(tǒng)的設(shè)備,對奶牛進(jìn)行面部識別,從而進(jìn)行精準(zhǔn)檔案錄入, 并生成對應(yīng)的數(shù)據(jù)分析報(bào)告反饋給管理者, 進(jìn)行智能養(yǎng)殖。 從而便于管理者獲取奶牛個體的詳細(xì)信息, 迅速了解牧場情況,降低人工成本,提高管理效率為奶牛養(yǎng)殖主增加經(jīng)濟(jì)收益。
本文在人臉識別算法的基礎(chǔ)上, 以卷積神經(jīng)網(wǎng)絡(luò)為特征提取模型,根據(jù)牛的五官和花紋特征,定義牛臉輪廓模型,用牛臉圖像訓(xùn)練并測試提高算法的精度和效率, 通過機(jī)器視覺技術(shù)對奶牛個體進(jìn)行更加精準(zhǔn)的識別,從而提高養(yǎng)殖場的管理效率和經(jīng)濟(jì)效益。
卷積神經(jīng)網(wǎng)絡(luò)是一類包含卷積計(jì)算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),是深度學(xué)習(xí)的代表算法之一[4]。 層積神經(jīng)網(wǎng)絡(luò)仿造生物的視覺和知覺機(jī)制建造,可以進(jìn)行監(jiān)督學(xué)習(xí),并使用BP 框架進(jìn)行學(xué)習(xí),其計(jì)算流程在LeCun (1989) 中就已經(jīng)確定[5]。
本文首先收集牛的面部特征信息, 根據(jù)牛的五官和花紋特征,定義牛臉輪廓模型,以卷積神經(jīng)網(wǎng)絡(luò)為特征提取模型。
基于卷積神經(jīng)網(wǎng)絡(luò)的圖像識別具有以下三個過程: 卷積操作,池化操作,以及激活函數(shù)、全連接層和目標(biāo)函數(shù)。當(dāng)原始數(shù)據(jù)輸入到機(jī)器之后,會經(jīng)過多次的卷積池化操作,直到把所有特征都抽取出來。 接著,抽取出來的所有特征與全連接層進(jìn)行對接,得出預(yù)測的值,并與目標(biāo)值進(jìn)行對比。 最后,機(jī)器會對二者的差值進(jìn)行修復(fù),并重新訓(xùn)練。 由于卷積神經(jīng)網(wǎng)絡(luò)具有特征不變性,防止過度擬合和特征降維等特點(diǎn), 在進(jìn)行識別時具有良好的效果。 圖1 是卷積神經(jīng)網(wǎng)絡(luò)的主要層次。
圖1
卷積操作是將截取到的圖像建立一個矩陣( 如圖5x5 的矩陣),并在矩陣中建立一個卷積核( 如圖3x3 的矩陣),對卷積核中的矩陣進(jìn)行加權(quán)求和放到一個新的矩陣當(dāng)中,這個新的矩陣被稱作卷積特征。 這個卷積特征將作為下一個階段池化操作的輸入。
圖2
在神經(jīng)元中, 圖像經(jīng)過卷積池化操作后, 引入激活函數(shù)ReLU 函數(shù),增加神經(jīng)網(wǎng)絡(luò)模型的非線性。 ReLU 函數(shù)實(shí)際上是一個分段函數(shù),當(dāng)函數(shù)的值小于0 時,不管賦值為多少,都會返回0,而函數(shù)值大于等于0 時,它返回本身( X):
考慮到牛與牛之間面部特征的差異不是很明顯, 在本系統(tǒng)中,我們設(shè)立多個卷積層和池化層,用于將每只牛面部的最大特征提取出來,與數(shù)據(jù)庫中奶牛的面部照片做對比,從而達(dá)到牛臉識別的目的。
最后,利用歐式距離目標(biāo)函數(shù),通過判斷距離的大小來判斷兩張圖片是否相似,進(jìn)而實(shí)現(xiàn)牛臉識別的功能。
實(shí)驗(yàn)表明,卷積神經(jīng)網(wǎng)絡(luò)在牛臉識別上具有很好的效果。利用卷積神經(jīng)網(wǎng)絡(luò)的特征不變性使得牛臉的圖像在經(jīng)過多次卷積后, 將牛臉的特征提取出來與數(shù)據(jù)庫中圖像的特征進(jìn)行比較。 利用特征降維舍棄了圖像中一些不重要的特征,節(jié)省了計(jì)算機(jī)的資源, 將在復(fù)雜的環(huán)境中進(jìn)行的牛臉識別進(jìn)行了簡化。通過牛臉圖像的多次訓(xùn)練和測試提高了算法的精度和效率,最終實(shí)現(xiàn)了奶牛個體的精準(zhǔn)識別。
本文以卷積神經(jīng)網(wǎng)絡(luò)為特征提取模型, 首先收集錄入每只牛的面部信息。 當(dāng)原始數(shù)據(jù)輸入到機(jī)器之后,經(jīng)過多次的卷積池化操作,把所有特征都抽取出來。 接著,抽取出來的所有特征與全連接層進(jìn)行對接,得出預(yù)測的值,并與目標(biāo)值進(jìn)行對比。 最后,機(jī)器會對二者的差值進(jìn)行修復(fù),并重新訓(xùn)練,提高算法的精度和效率,對奶牛個體進(jìn)行更加精準(zhǔn)的識別。 此外,本研究通過一定的改良還可以進(jìn)行豬、羊等牲畜的識別。