马娜 徐苗
摘 要: 为了便于管理猪只,需及时关注每只猪的状态,本研究以真实条件下的7只猪只为研究对象,利用Keras建立了卷积层-池化层-卷积层-池化层2层卷积神经网络模型对猪只个体身份进行识别。建立的卷积神经网络模型对猪只个体身份识别的准确率可达85.71%。建立的猪只个体身份识别模型简单,执行效率高,可以较准确的实现猪只身份识别。
关键词: 猪只; 个体身份识别; Keras; 卷积神经网络
中图分类号:TP391.4 文献标识码:A 文章编号:1006-8228(2022)04-51-04
Research on pig individual identity based on convolutional neural networks
Ma Na Xu Miao
(College of Information Science and Engineering, Shanxi Agricultural University, Taigu, Shanxi 030801, China)
Abstract: In order to facilitate the management of pigs, it is necessary to pay attention to the status of each pig in time. In this paper, using Keras and taking seven pigs under real conditions as the research object, a two-layer convolutional neural network model which includes convolutional layer-pooling layer-convolutional layer-pooling layer is established to identify individual pigs. The accuracy of the convolutional neural network model for individual identification of pigs can reach 85.71%. The pig individual identification model is simple and efficient, which can identify pigs more accurately.
Key words: pig; individual identification; Keras; convolutional neural network
0 引言
我國是世界上养猪数量最多的国家之一,监测猪只健康状况对生产力和人类健康都至关重要[1-3]。随着科学技术发展和壮大,信息化时代已经到来,目前我国的养猪业,无论是生产方式、生产能力还是养殖模式,都在发生翻天覆地的变化,正处于由传统养猪业向信息化养猪业转变时期[4-7]。很多大型养猪场对于猪只个体身份没有一个准确有效的识别方法,仅仅依靠管理员的观察,几乎不可能实现对猪只连续地、个别地观察。为了方便管理,一般会通过在猪只耳朵上穿孔来佩戴无线射频识别标签(RFID)[8-10]来辨别猪只身份。但这种方法存在一些缺陷:①穿孔很大可能会导致皮肤发炎,影响猪只健康;②随着猪只之间的接触,难免会发生咬标、掉标的情况;③养殖人员每隔一段时间都得检查标签,很耗费时间和精力。
近年来,机器视觉技术不断发展,在目标识别[11-14]、跟踪方面[15-16]有了很大进展,不仅减少了成本,通过实时监测还能及时发现猪只异常。Weijia Huang等[17]提取猪只图像Gabor 特征、纹理特征,然后利用PCA降低特征维数,最后用支持向量机对猪只身份进行识别。赵伟等[18]提出了一种基于Gabor方向直方图和支持向量机的猪只个体身份识别方法。首先利用关键点提取肩部和臀部两个特征区域,然后提取猪体背部毛发模式特征,最后将提取的猪只的Gabor方向直方图作为SVM分类器的输入进行猪只个体身份识别。Mark F.Hansen等[19]采集猪脸视频,然后用猪脸训练神经网络进行猪只身份识别。该方法要求必须拍摄到猪只正脸,造成身份识别局限性。传统的猪只身份识别需要对实验中猪只的前景和目标的特点进行大量的分析,提取有效的特征向量数据作为模式识别和分类器的数据输入,在特征向量提取和分类器选择上有很大随机性。卷积神经网络[20-22](Convolutional Neural Networks, CNN)是近些年来图像识别技术中应用最多,最受欢迎之一的技术,在很多领域都有较高的性能。卷积神经网络不需要对图像进行大量的算法处理,只需使用较少的程序代码就可以建立深度学习模型,进行训练、评估准确率、并进行预测。因此本文研究利用卷积神经网络构建猪只个体身份识别模型,该模型的优点是可以对真实条件下的猪只图像直接进行预测,模型简单,效率高。
1 卷积神经网络
1.1 卷积神经网络的组成
卷积神经网络包括数据输入层(input layer)、卷积层(conv layer)、池化层(pooling layer)、激活函数(Activation Function)、Dropout和全连接层(FC layer)。
⑴ 输入层:对图像的特征数据预处理,把对图像的预处理数据转化成容易识别的图像特征数据。
⑵ 卷积层:绝大部分计算都是集中在该层完成的。有多少个卷积核,输出就有多少个卷积核通道。每个卷积核的输出都生成一个特征图,这些特征图堆叠在一起组成整个卷积核输出的结果。
⑶ 池化层:池化操作一般出现在卷积操作之后,与卷积操作交替在网络中运行。通过池化层,只把主要特征保留,进一步缩小全连接层中神经网络节点的特征个数。常见的池化操作方式主要有两种:最大池化(max pooling)、平均池化(average pooling)。
⑷ 激活函数:用于运行在神经网络全连接层中的神经元上的非线性函数,它的作用主要是为了激活和提升整个神经网络的非线性。常用的激活函数有:Sigmoid函数、Tanh函数、ReLU函数[23]。
⑸ Dropout[24]:在神经网络的学习中,这是一种有效防止过度神经网络拟合的方法,可以按照一定的拟合比例,将部分非线性神经网络的单元暂时从神经网络中分离或丢弃,相当于将原始的神经网络处理为一个更简洁的神经网络。
⑹ 全连接层:是由许多神经元共同连接得来的,经过前面几次对图像进行卷积操作和池化操作,把图像抽象地处理为具有很强特征的信息。特征提取完之后,通过全连接层来完成对图像的分类任务。
2 基于卷积神经网络对猪只个体身份进行识别
2.1 数据采集
实验数据采集于山西省临汾某养猪场的猪圈内,共采集7只猪只活动视频,每个视频1分钟。利用matlab工具,从采集到的猪只视频数据中提取出7只猪个体图像数据,分别存放到7个文件夹中,用文件夹名称来标记猪只身份。为了保证样本数据平均性,经筛选,去除部分奇异样本,再采用适当的数据增强技术对数据集进行扩充,最终得到每只猪只115幅图像,共805幅猪只图像。对每只猪个体随机选取100幅图像作为训练集,用15幅作为测试集。训练集数据总共700幅猪只图像,测试集总共105幅猪只图像,输入卷积神经网络模型中进行猪只身份识别。
2.2 建立卷积神经网络模型
本研究利用Keras建立了两种卷积神经网络模型,一种模型是:卷积层-池化层-卷积层-池化层-全连接层,简称为2层CNN模型,另一种模型是卷积层-池化层-卷积层-池化层-卷积层-池化层-全连接层,简称为3层CNN模型。
构建的2层CNN模型结构如图1所示,3层CNN模型结构如图2所示。
3 结果与分析
3.1 2层CNN模型与3层CNN模型猪只身份识别结果对比
将105幅测试用图像输入到建立好的2层CNN猪只身份识别模型和3层CNN猪只身份识别模型中进行测试,得到结果如表1所示。
从表1中可以看到3层CNN模型与2层CNN模型对于猪只识别准确率,都是85.7%,但是3层CNN模型所用识别时间相对较长,说明随着网络结构的增加,猪只身份识别准确率却不会增加。因此对于本研究中的猪只身份识别,建立2层CNN模型是最优模型。
3.2 2层CNN模型猪只身份识别结果分析
采用2层CNN模型来识别猪只身份,得到图3混淆矩阵。其中0代表1号猪,1代表2号猪,2代表3号猪,3代表4号猪,5代表6号猪,6代表7号猪。
通过混淆矩阵,可以得到以下结论。
⑴ 对角线上的数字是预测正确的数量。可以看到1号、2号、3号、4号、5号、6号猪只15幅图像全部预测正确。说明本研究建立的猪只身份识别模型,对于1-6号猪只特征提取精确,识别结果准确。
⑵ 7号猪只身份识别结果很差,15幅图像中5只被预测成3号猪,10只被预测成6号猪。7号猪只身份识别率很低,原因可能在于7号猪只图像采集时,里边包含了多个猪只,对目标猪只身份特征提取造成干扰,导致CNN模型识别率很低。7号猪只采集部分图像如图4所示。
3 结论与讨论
本文利用Keras构建卷积神经网络模型对7只猪只个体身份进行识别,准确率可达85.71%。
⑴ 本文建立的猪只身份识别模型可以对真实条件下的猪只身份进行快速识别,避免了传统机器学习中的手工提取特征,降低人为因素的干扰。
⑵ 本文建立的猪只身份识别模型对只有单目标猪只的图像身份识别效果较好。在多目标猪只身份识别上有待于改進。
参考文献(References):
[1] LEI ZHANG, HELEN GRAY, XUJIONG YE, et al. Automatic Individual Pig Detection and Tracking in Pig Farms.Laboratory of Vision Engineering, School of Computer Science, University of Lincoln,2019(2):1-2
[2] 罗土玉,边峰,钟日开,等.幼猪生长性能智能测定系统设计和试验[J].现代农业装备,2017(2):65-67
[3] 伍佰鑫,浣成,张翠永,等.规模猪场人工智能监控和预警的研究和应用概况[J].中国猪业,2017(12):60-61
[4] 沈富林,陆雪林,许栋,等.能物联助推畜牧产业升级和种养联动[J].国畜牧业,2016(1):32-35
[5] 何东健,刘冬,赵凯旋.精准畜牧业中动物信息智能感知与行为检测研究进展[J].农业机械学报,2016,47(5):231-244
[6] 米国芹.猪群健康状态识别与掌握[J].中国畜禽种业,2018,14(9):137
[7] 朱明,隋斌,齐飞,等.论中国乡村振兴战略中的农业工程管理创新[J].农业工程学报,2019,35(2):1-9
[8] KASHIHA MOHAMMADAMIN, BAHR CLAUDIA, OTTSANNE,et al. Automatic weight estimation of individual pigs usingimage analysis[J].Computers and Electronics in Agriculture,2014,107:38-44
[9] 张文文.基于模糊推理的多源信息生猪异常行为综合监测[D].太原:太原理工大学,2018
[10] 卞子煜.基于深度学习的群养猪个体身份识别[D].江苏大学,2020
[11] 杨秋妹,肖德琴,张根兴.猪只饮水行为机器视觉自动识别[J].农业机械学报,2018,49(6):232-238
[12] 金耀,何秀文,万世主,等.基于YOLO v3的生猪个体识别方法[J].中国农机化学报,2021,42(2):178-183
[13] 李丹,张凯锋,李行健,等.基于Mask R-CNN的猪只爬跨行为识别[J].农业机械学报,2019,50(增刊):261-266,275
[14] 王少华,何东健,刘冬.基于机器视觉的奶牛发情行为自动识别方法[J].农业机械学报,2020,51(4):241-249
[15] 张炜,陈晨.基于机器视觉技术的复杂运动姿态自动跟踪研究[J].现代电子技术,2021,44(11):62-66
[16] 李志华,于杨.基于检测的多目标跟踪算法综述[J].物联网技术,2021,11(4):20-24
[17] HUANG WJ, ZHU WX, MA CH, et al. Identification ofgroup-housed pigs based on Gabor and Local BinaryPattern features[J]. biosystems engineering,2017,166:90-100
[18] 趙伟.基于Gabor方向直方图和支持向量机的猪个体身份识别[D].江苏大学,2017
[19] F. HANSEN M., L. SMITH M., N. SMITH L. Towardson-farm pig face recognition using convolutional neuralnetwork[J]. Computer in Industry,2018(98):145-152
[20] 盖荣丽,蔡建荣,王诗宇,等.卷积神经网络在图像识别中的应用研究综述[J].小型微型计算机系统:1-6[2021-06-09].http://kns.cnki.net/kcms/detail/21.1106.TP.20210428.1058.002.html.
[21] 李彦冬,郝宗波,雷航.卷积神经网络研究综述[J].计算机应用,2016(9):33-38
[22] 李炳臻,刘克,顾佼佼,等.卷积神经网络研究综述[J].计算机时代,2021(4):8-12,17
[23] NAIR V,HINTON G E.Rectified linear units improverestricted boltzmann machines [C].Proceedings of the 27th international conference on machine learning (ICML-10),2010:807-814
[24] HINTON G E,SRIVASTAVA N,KRIZHEVSKY A,et al..Improving neural networks by preventing co-adaptation of feature detectors[J].Computer Ence,2012,3(4):212-223