基于卷积神经网络的生猪个体身份识别系统设计
2022-05-30伍群旺常满馨马长华
伍群旺 常满馨 马长华
摘要:针对人工识别生猪个体难度大、成本高、耗时长等问题,引入深度学习技术,提出了两种不同结构的卷积神经网络识别模型。利用生猪图像制作数据集对ShuffleNetV2与MobileNetV2模型进行训练,然后将测试集输入模型进行预测。实验结果表明,训练完成的ShuffleNetV2模型效果较好,平均准确率达到99.75%。说明该文提出的ShuffleNetV2模型具有较高识别率,可以实现养殖场环境下生猪个体的身份识别,具有非接触式、低成本、高精度的特点,能够提高生猪养殖的智能化、精细化管理水平。
关键词:卷积神经网络;猪只识别;深度学习;图像处理
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2021)31-0014-03
随着现代化动物养殖技术的发展革新,生猪养殖场的环境趋于多变和复杂,为了便于大中型养殖场实现猪只管理的集约化与精细化,猪只身份识别技术亟待得到改进。目前,传统的猪只身份识别的方法主要有耳缺法、标记法、耳标法、RFID标签法[1]。耳缺法打耳后易感染、无法修改、有数量限制;标记法记号易磨损、易被污染物遮挡、操作烦琐耗时长;耳标法标签易掉落、易污损、记录信息有限;RFID标签法的成本高且易失效,无法精准记录猪的行为轨迹。此外,在猪只的自动化管理、智能化管理对接方面,传统的猪只识别方法仍然存在很大缺陷。
近年来,人工智能的快速发展推动了深度学习技术在图像识别领域的应用,作为深度学习的经典算法,卷积神经网络在图像识别方面的表现优于传统方法。使用卷积神经网络对生猪个体进行识别,能够帮助管理者分辨每一只猪的身份,并精确记录它们的采食量、体温变化、运动情况等各种信息,以监测生猪的生命体征健康状态。
本文提出的生猪个体身份识别系统不需要人工时刻观察,节省了时间和经济成本,提高了生猪识别效率。该系统首先对获取的生猪图像进行预处理,使用数据增强转换技术扩充样本数据,充分利用生猪图像在网络结构中的特征图。然后将数据集载入ShuffleNetV2和MobileNetV2模型进行训练,再对两种模型识别效果进行评价,发现ShuffleNetV2模型能够完成实际养殖环境下生猪个体的精准高效识别。
1 卷积神经网络
1.1 卷积神经网络概述
卷积神经网络(Convolutional Neural Networks, CNN) 是一类包含卷积计算且具有深层信息处理能力的前馈神经网络[2-3]。卷积神经网络充分利用稀疏连接与权重共享,减少了网络的参数总量,提高了网络结构的稳定性与训练效率。卷积神经网络是深度学习的代表算法之一,可以提取输入信息的高阶信息进行平移不变分类,具有表征学习能力。
在2012年的ImageNet大规模视觉识别挑战赛(ILSVRC) 上, Alex使用卷积神经网络以15.3%的 Top-5错误率夺冠[4]。Alex的成功应用启发了后续更多的技术创新,卷积神经网络的理论和技术发展更加迅速,并作为各种技术产品广泛地应用在社会中。
1.2 卷积神经网络的基本结构
卷积神经网络的基本结构包括输入层、卷积层、池化层(下采样层)、全连接层和输出层[5]。
卷积层由多个特征图组成,主要任务是利用卷积核通过滑动扫描提取图像特征。卷积核类似一个神经元,它的每个组成元素都有相应的权重系数和偏差量。卷积层的每个神经元都连接到上一层位置接近的区域(感受野),需要定义卷积核的大小、步长,对感受野內的输入特征进行运算,随后生成特征图。
池化层通常插入在卷积层后面,一层卷积,一层池化,两种运算交替进行,其作用是降低特征向量的维度,减少网络中参数的数量,从而避免过拟合。
全连接层搭建在卷积层与池化层后面,特征图在全连接层被展开,每个输出结点与输入结点相连接,整合所有的局部特征信息,然后将这些特征映射到样本的相应标记空间上。
2 生猪个体身份识别系统设计
2.1 生猪个体身份识别方案
生猪个体身份识别方案结构图如图 1所示。首先,利用摄像机采集生猪活动视频,获取生猪图像;再对生猪图像进行预处理建立数据集。然后,使用PyTorch框架搭建卷积神经网络模型,输入生猪图像数据集到模型中进行训练。最后,从测试集中选取猪只图像,输入训练完成的模型中进行预测,得到猪只识别结果。
2.1.1 数据采集
将摄像头安装在饲喂装备的上方,调整好摄像头的高度,找到合适视角进行视频录制,将录制的猪只活动视频作为素材。然后读取视频文件处理成帧,每隔0.5秒截取1帧图像进行保存,再剔除模糊图片且只保留猪的主体及猪脸图像。最终获取猪只主体数据9000张,猪只脸部数据5000张,一共14000张图像。用Python对图片进行编号,并将70%的图片保存到训练集,30%的图片保存到测试集。
2.1.2 图像预处理
先将数据集预处理成为可以被神经网络读取的格式,然后对其进行数据归一化处理。再对训练集做数据增强处理,生成更多的训练数据。所采用的方法是随机裁剪、规则裁剪、随机翻转、调整亮度对比度、随机噪声、USM锐化、直方图均衡化。对训练集进行数据增强转换可以将图像的空间多样性呈现出来,提高数据集样本容量,保证训练能够正常进行并得到最佳的训练结果。
2.1.3 卷积神经网络
1) MobileNetV2网络结构
MobileNet网络是2017年推出的一种结构新颖的卷积神经网络[6]。其新型网络结构可实现卷积分离,减少输入模型的参数,降低运行的功耗和延迟度。利用逐点卷积减少计算量,使网络模型训练速度加快,得到较好的性能。
MobileNetV2网络在原先的MobileNet网络的基础结构上进行优化,即增加了线性瓶颈层和倒置残差结构。利用通道数的扩张和收缩来对图形的特征进行提取和学习,使得卷积神经网络能学习到更多的图片特征参数,并且占用更少的内存空间,大大提高了使用效率。
2) ShuffleNetV2网络结构
轻量级网络ShuffleNetV主要应用于计算能力受限的移动设备,创新点为逐点群卷积(Pointwise Group Convolution) 和通道混洗(Channel Shuffle) ,可以更好地提取图像特征[7]。
ShuffleNetV1网络的关键部分使用分组卷积(Group Convolution)结构,这一操作明显减少了参数的使用量,加快了信息的传输速度,从而提高了网络的处理能力。通道混洗层的存在也可以较好地解决图片特征信息传输的断层问题,达到准确提取特征参数的目的,有效提升模型的泛化性。为了优化网络结构,ShuffleNetV2在ShuffleNetV1的基础上,采用通道分离(Channel Split) 操作对通道混洗层的位置进行调整,加快了模型的训练速度。
2.2 实验与分析
2.2.1 实验环境
1) 硬件平台
设备名称:LAPTOP-RNE2PPQH,处理器:Intel(R) Core(TM) i5-9300H CPU @2.40GHz 2.40 GHz,机带:RAM 8.00 GB。
2) 软件平台
PyTorch发布于2017年,是Facebook公司基于原始的Torch 框架推出深度学习框架,采用 Python 作为其主要开发语言。众多深度学习开源框架为追求速度和效率都在使用静态图,然而静态图限制了研究人员思考其他解决问题的方法[8-9]。PyTorch能够解决上述问题,它支持动态计算图,所以在PyTorch模型的基础上进行修改非常方便,参数变量的值也可随时查看。现在PyTorch 已经广泛应用在机器学习和深度学习领域。
2.2.2 实验设计
本文使用随机梯度下降算法(SGD)训练模型,选择Nadam作为优化器,激活函数选择ReLU函数,损失函数采用softmax函数。为了使卷积神经网络模型识别效果达到理想状态,需要对网络参数进行设置。两种卷积神经网络模型的部分参数设置如表 1所示。
在网络模型训练过程中,设置初始学习率lr=1e-4;在训练约50个epoch后,学习率lr下降为1e-6。
2.2.3 结果与分析
针对生猪个体身份识别问题,本实验主要关注的指标为准确率和损失值,将准确率与损失函数绘制为曲线图,得到训练集与测试集识别结果如图2、图3所示。
从图 2可以看出,在前50个周期,两种模型损失函数曲线不断下降并趋向于0.82;准确率不断上升,达到96.5%左右。在第50个周期,学习率lr下降为1e-6后,损失函数曲线快速下降,然后逐渐趋向于0.69;准确率曲线快速上升,然后稳定在99.6%。
从图 3可以看出,在前50个周期,ShuffleNetV2模型损失函数不断下降,曲线波动较小,逐渐收敛于0.73;MobileNetV2模型损失函数也不断下降,但曲线波动稍大,逐渐收敛于0.75。准确率不断上升,ShuffleNetV2曲线平稳在99.3%左右;MobileNetV2曲线逐渐收敛于99.1%。在第50个周期,学习率lr下降为1e-6后,模型的损失函数快速下降,逐渐趋向于0.65;两种模型准确率均快速上升,然后稳定在99.75%。
经过对比可以看出,ShuffleNetV2模型表现稳定,效果优于MobileNetV2模型,可以实现生猪个体的身份识别。
3 结束语
本文以养殖场环境下的生猪为研究对象,设计出基于卷积神经网络的生猪个体身份识别系统,其优势在于不需要对生猪进行特征标记,降低了时间和经济成本。此系统将预处理后的生猪图像制作成数据集,再利用数据集对ShuffleNetV2与MobileNetV2模型进行训练和测试。对比实验结果发现,ShuffleNetV2模型收敛速度快,表现稳定,适合应用于生猪个体的身份识别。
参考文献:
[1] 杨秋妹,肖德琴,张根兴.猪只饮水行为机器视觉自动识别[J].农业机械学报,2018,49(6):232-238.
[2] 王统.深度学习中卷积神经网络的结构及相关算法[J].信息与电脑,2020(8):41-43.
[3] Shelhamer E,Long J,Darrell T.Fully Convolutional Networks for Semantic Segmentation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(4):640-651.
[4] 翟高粤.基于卷积神经网络的手写数字识别应用[J].甘肃科技纵横,2021,50(1):1-3.
[5] 周飞燕,金林鹏,董军.卷积神经网络研究综述[J].计算机学报,2017,40(6):1229-1251.
[6] 赵洋,许軍.基于MobileNetV2与树莓派的人脸识别系统[J].计算机系统应用,2021,30(8):67-72.
[7] 宋敏毓,陈力荣,梁建安,等.轻量化改进网络的实时光纤端面缺陷检测模型[J].激光与光电子学进展,2022,59(24):2415006.
[8] 李梦洁,董峦.基于PyTorch的机器翻译算法的实现[J].计算机技术与发展,2018,28(10):160-163,167.
[9] Druzhkov P N,Kustikova V D.A Survey of Deep Learning Methods and Software Tools for Image Classification and Object Detection[J].Pattern Recognition and Image Analysis,2016,26(1):9-15.
【通联编辑:唐一东】
收稿日期:2022-06-20
基金项目:江苏省大学生创新创业训练计划项目(202113986004Y)
作者简介:伍群旺(2000—) ,男,江西赣州人,本科生,主要研究方向为机械设计制造及自动化专业;常满馨(1999—) ,女,山西晋中人,本科生,主要研究方向为机械电子工程专业;马长华(1975—) ,男,江苏泰州人,副教授,硕士,主要研究方向为图像处理、模式识别。