基于卷积神经网络的畜牧业动物图像识别研究
来源:用户上传
作者:
摘 要: 目前,青藏高原地区有多种放牧管理方式,但因家庭劳动力、草场规模、种群品种数量等因素存在着一定的局限性。因此,本文将深度学习技术引入畜牧业动物图像识别中,还通过数据增强技术对原始图像进行了平移、旋转、翻转、缩放等操作,建立了青藏高原地区常见的畜牧业动物图像数据集。设计了卷积神经网络模型并实现了图像识别和统计。实验表明,该方法对畜牧业动物图像的识别率达到87.89%。
关键词: 卷积神经网络;畜牧业动物图像识别;数据集
中图分类号: TP391. 41 文献标识码: A DOI:10.3969/j.issn.1003-6970.2020.08.013
本文著录格式:拉毛杰,安见才让. 基于卷积神经网络的畜牧业动物图像识别研究[J]. 软件,2020,41(08):43-45
【Abstract】: At present, there are multiple grazing management methods in the Qinghai-Tibet Plateau, but there are certain limitations due to factors such as family labor, pasture size, and number of species. Therefore, this paper introduces deep learning technology into animal husbandry animal image recognition, and also uses data enhancement technology to translate, rotate, flip, and zoom the original image, and establishes a common animal husbandry animal image data set in the Qinghai-Tibet Plateau. A convolutional neural network model is designed and image recognition and statistics are realized. Experiments show that the method has a recognition rate of 87.12% for animal images in animal husbandry.
【Key words】: Convolutional neural network; Animal husbandry animal image recognition; Data set
0 引言
当前畜牧产业正在经历从传统的粗放型养殖农牧业模式逐步向现代集约化精准养殖模式转变。通过机械智能地对某一畜牧养殖环境进行物种检测,从而掌握每户畜牧情况,不仅消除了管理人员野外考察的危险,而且更加方便了放牧的管理。但是,目前还没有一种专门针对青藏高原畜牧业动物图像识别与统计的软件。因此,本文结合青藏高原特有的地理环境和畜牧业动物特性建立了自然环境下的识别模型。并在此基础上构建了畜牧业动物图像自动识别统计的方 法,为应用深度学习技术进行科学合理放牧提供方法 支撑。
1 数据预处理
深度学习模型训练,需要大量的畜牧业动物图像数据。如果训练的图像数据过少或者图像质量太差,导致模型很容易产生过拟合现象,从而在测试集上准确率降低。因此,数据训练前,首先要到农牧区进行大量采集不同季节的动物图像,然后将逐一进行筛选,命名和格式统一。最后用标注工具进行标注建立数据集。
1.1 图像采集
为了确保图像数据足够多且具有广泛性,主要的图像来源为青海省内主要的牧区,还有通过互联网自媒體和搜索引擎采集畜牧业动物图像,数据图像包括青藏高原地区常见的3类畜牧动物图像。使用Cannon EOS 700D相机和OPPO R15型智能手机拍摄畜牧业动物图像,由于采集图像时由不同的人进行拍摄,图像的质量、角度、像素和格式等存在一定的差异,为了方便图片读入和后续处理,对所有收集的图像数据采用人工进行检查,将不清晰的劣质图像和重复数据进行删除,以确保数据中不存在劣质和重复的图像。
1.2 数据增强
采用深度学习的方法要用到大量的图像数据,比如,AlexNet网络多年能够取得巨大的成功,其中图片图像增强功不可没[1]。但是,采集回来的图像经过筛选后,图像的数量明显下降了,每类动物有1700张图像,共计5100多张。其中训练畜牧业动物图像识别模型需要大约1500多张,显然这样规模的数据集不算太大,为了提高畜牧业动物图像识别模型的性能和鲁棒性,本文采用数据增强技术。数据增强技术包括:
(1)旋转:旋转操作是在原始图像上按顺时针或者逆时针的方向上选取一定的角度旋转生成的图像。
(2)平移:平移操作就是将原始图像沿着x轴或者y轴的方向平行移动,平移平移方式有水平平移和垂直偏移。
(3)缩放:缩放操作就是将原始图像在水平或者垂直或者两边方向上同时放大或者缩小,生成新的图像[2]。
(4)翻转:翻转操作就是将原始图像的中心坐标为基准进行翻转,翻转方式有水平翻转和垂直翻转。
(5)添加噪声:噪声操作就是随机的将白色和黑色的点铺满整个图像,可以让高频特征失真,降低其模型的影响。
通过数据增强技术,最终的图像数为6050张。
1.3 数据标注 深度学习中的网络通常要结合标注文件和图像中的信息才能够网络的训练,本节将使用LabelImage标注工具,对畜牧业动物图像进行人工标注,图像标注过程如图1所示。
2 基于YOLOv3的青藏高原畜牧业动物图像识别模型
2.1 YOLOv3算法
2018年YOLOv3问世以来就得到了计算机视觉领域研究人员的青睐,YOLOv3不仅继承了YOLOv2的速度的优势,还增加算法的精度,尤其是对小目标的检测效果非常好。YOLOv3的大体算法流程为,(1)输入图像到Darknet-53网络进行特征提取,(2)利用多尺度融合进行预测类别和边界框,(3)通过NMS算法清除类别置信度低的候选框,(4)采用二分类交叉熵作为损失函数计算分类概率和坐标误差。
2.2 Darknet-53网络
YOLOv3采用53层的全卷积结构,这个网络是在Darknet-19的基础上叠加残差单元而成的。在前向传播过程中,采用卷积核的步长来变换张量的尺寸,当卷积的步长为2时,每次的卷积过后,图像的边长比原图像缩小1/2。从Darknet-53的结构上看,卷积的步长为2的总共有5次,经过5次的卷积步长为2的操作,特征图缩小为原来的1/32。所以网络输入图像的大小为32的倍数,取为416*416。
在YOLOv3的整体结构中没有池化层和全连接层。Darknet-53网络结构中采用了residual结构,residual可以很好地控制梯度问题,不会出现梯度爆炸或者消失的状态。因此使用Darknet-53网络精度会明显得到提升。
2.3 残差结构
本文Darknet-53中采用了残差跳跃方式,以便能够成功训练成千上百个网络层,且错误率不会因此而提升,缓解了在深度神经网络中增加深度带来的梯度消失问题。残差中的1×1卷积,减少了每次卷积的信号通道数量从而减少了参数个数,降低了计算量[3]。残差网络和普通的卷积神经网络的区别在于,残差网络引入了捷径连接,构造了残差模块。残差模块中捷径连接一般会跨越2-3层,本文Darknet-53中采用2层的残差模块,其跳过两个卷积层,如图3所示。
2.4 多尺度预测
当YOLOv3中输入一张416*416尺寸的图像时,图像会分成S*S网格,在Darknet-53得到特征图的基础上,与DBL上采样进行张量拼接后BDL和卷积层操作进行三次支路预测,预测输出的大小为y1:(13*13),y2:(26*26),y3:(52*52)。每一个预测阶段每个网格都会预测3个边界框和相应的置信度,每个预测的边界框都会产生5个值,分别是边界框的中心坐标x,y,宽高坐标w,h以及置信度confidence,即x,y,w,h,confidence。其confidence的计算方式公式(1):
Confidence = pr(object)*IOU (1)
其中,pr(object)表示預测网格中是否有目标,如果真实框(ground truth)与边界框(bounding box)的重叠度比其他的边界框都要好,则Pr(object)=1。如果bounding box不是最好的,但确实与真实框(ground truth)的重叠度超过了设定的阈值0.5,则Pr(object)=0。IOU表示真实框(ground truth)和边界框(bounding box)的交集与并集的比。
2.5 类别预测
在YOLOv3中预测边界框(bounding box)时除了产生x,y,w,h,confidence五个值外,还会对每个网格预测C个类别概率Pr(Classi|Object)。但softmax分类器只能将一个目标分配给一个类别标签。可是在多类别的大数据集中,一个目标可能有多个类别标签,因此YOLOv3将单标签softmax分类器替换为多个独立的logistic分类器,且准确率不下降。例如,在一个数据集的类别标签中有sheep和animal两个类别,待检测的照片中有一个sheep目标,那么在检测结果中同时要有类别标签animal和 sheep,这就是多标签分类。当网络模型训练完进行测试时,边界框的类别概率乘以con-fidence的值得到边界框的类别置信度,如公式2所示。
Logistic多标签分类器主要采用的是sigmoid函数,该函数可以将输入控制在0—1的范围内,因此当一张照片经过特征提取后某一类别经过sigmoid函数约束后大于阈值0.5,那么该bounding box(边界框)的目标就属于该类别。
2.6 青藏高原畜牧业动物图像识别中目标个数的 统计
待检测图像通过训练的网络模型进行识别,在识别过程中检测到的候选框进行置信度计算,删除置信度不够的候选框,保留置信度高的候选框,之后保留到的候选框对应上类别标签计数器累加相应的类别个数,最后输出sum和各类别的个数统计,如所示。
3 实验结果与分析
3.1 实验环境
本文实验环境为Windows server2012 PyCharm,使用Python为编程语言,同时搭载NVIDIA GeForce RTX2080Ti-11G型号的GPU和64G内存,还配置Inter(R)core(TM)i7-8700K 的CPU和512G固态/4T硬盘。软件配置为深度学习框架TensorFlow1.14.0、Keras2.1.5和Opencv3.4.0。
3.2 实验数据 为了验证本文建立的YOLOv3模型对畜牧业动物图像识别的健壮性和准确率,实验随机抽取各类别177张作为测试集,共计531张,采用mAP值作为评价指标。
3.3 实验结果
如表1所示,对测试集531幅畜牧业动物图像进行测试,实验结果表明,Darknet-53网络模型的mAP为87.89%。
对测试集中60张畜牧业动物图像识别计数的统计结果如表2所示,60张图像人工统计为387个目标动物,YOLOv3模型检出335个目标动物,统计识别准确率为94.6%,即一旦被YOLOv3模型检出为目标动物,正确统计的准确率将达到94.6%,表中漏检率为13.4%,误检率为4.7%。
4 结论
本文基于YOLOv3算法的Darknet-53框架构建了网络模型,实现了畜牧业动物图像采集、上传、存储、识别分析和结果统计与显示的一体化功能,实验表明,YOLOv3模型对畜牧业动物图像识别具有良好的健壮性,识别和统计的准确率较高。但对于多个重叠的畜牧业动物图像识别率较低,则需要进一步结合形状学习和主动轮廓模型等图像模型算法来实现[4-5]。在下一步学习过程中,由于目前在应用深度学习模型方面,研究热点主要集中于构建高准确率的识别模型[6],所以在原有算法的基础上进行适当的改进,提高模型的泛化能力和鲁棒性。
参考文献
[1] 王奥光. 基于深度学习图像识别的研究及应用[D]. 电子科技大学, 2018.
[2] 付永钦. 基于深度学习的蛇类图像分类研究[D]. 浙江大学, 2019.
[3] 王毅恒, 徐德章, 基于YOLOv3算法的农场环境下奶牛目标识别[J]. 广东石油化工学院学报, 2019, 29(4).
[4] Hanmuda E, Glavin M, Jones E. A survey of image processing techniques for plant extraction and segmentation in the field[J]. Computer and Electronics in Agriculture, 2016, 125: 184-199.
[5] DeChant C, Wiesner-Hanks T, Chen S, et al. Automated Identtification of Northern leaf Blight-Infected Maize Plants from Field Imagery Using Deep Learning[J]. Phytopathology, 2017, 107: 1462-1432.
[6] 岑冠軍, 华俊达等. 基于深度学习的芒果图像在线识别与统计方法的研究[J]. 热带作物学报, 2019.
[7] 张翠平, 苏光大, 人脸识别技术综述[J], 中国图像图形学报(A版), 2000, 5(11): 885-894.
[8] 赵凯旋, 何东健. 基于卷积神经网络的奶牛个体身份识别方法[J]. 农业工程学报, 2015(5): 181-187.
[9] 刘杰鑫, 姜波, 何东健等. 基于高斯混合模型与 CNN 的奶牛个体识别方法研究[J]. 计算机应用与软件, 2018(10): 159-164.
[10] 廖威, 郑立华, 李民赞, 孙红, 杨玮. 基于随机森立算法的自然光照条件下绿色苹果识别[J]. 农业机械学报, 2017, 48(增刊): 86-91.
转载注明来源:https://www.xzbu.com/8/view-15321727.htm