刘生智 李春蓉 刘同金 热娜古丽·热西提 陈立平,2*
(1塔里木大学信息工程学院,新疆阿拉尔843300)(2塔里木大学现代农业工程重点实验室,新疆阿拉尔843300)
当前,世界各国奶牛养殖业的信息化、自动化和智能化应用不断深化,业已在动物行为学分析、自动饲喂与排污、精细作业管理等方面发挥了巨大作用。以信息与智能技术为支撑的绿色、高效、精准养殖,成为现代奶业发展的必然趋势[1]。
新疆,是我国畜牧业大区。然而,受自然气候、管理水平、饲养条件等因素影响,2015年新疆成奶牛平均单产仅为1.2吨/头,与全国成奶牛平均单产6吨/头[2]仍存在巨大差距。鉴于新疆奶牛养殖业管理粗放、信息技术支撑不足问题,有针对性地加强其信息与智能化建设,是实现精细管理和提质增效的重要途径。
由于具有信息采集速度快、信息采集量大且无需接触的技术优势,计算机视觉技术作为重要的技术手段,被广泛地应用于诸如人群行为分析、车辆检测,甚至动物行为分析应用领域[3-5]。在计算机视觉应用中,实时检测奶牛目标,是进一步分析奶牛体格数据、行为特征及疾病发生情况的基础。
鉴于新疆奶牛养殖业信息化应用现状,以新疆生产建设兵团第一师10团良种奶牛养殖场为图像采样点,重点研究了YOLO V3模型在奶牛目标检测中的应用,为养殖业提供快速、有效的智能化视觉分析工具与方法。
深度学习(Deep Learning,DL)是一种表示学习方法[6],具有强大的数据表征能力,通过监督或非监督学习方式,能够学到数据更高层次的抽象表示[7]。DL在经历两次发展低谷(1969~1986,1998~2006)后,Hinton等[8]于2006年提出以深度信念网络为代表的DL方法,从此DL进入高速发展时期。随后,其在语音识别、图像分类等问题上先后取得重大突破[9-10],自此,DL迎来了发展的爆发期。
近十年来,DL方法发展迅速、应用广泛,Hinton团队于2012年提出的AlexNet在ImageNet取得重大突破,自此卷积神经网络(Convolutional Neural Network,CNN)成为了物体检测的主流方法;当前,应用较为广泛的卷积神经网络目标智能检测模型可以分为两类,第一种是以R-CNN系列[11-13]为代表的区域建议模型,第二种是以YOLO[14-16]系列为代表的无区域建议模型。尤其,Faster R-CNN、YOLO V3、R-FCNs[17]、FCN[18]等新算法的提出,不断刷新目标智能检测的精确率与检测效率,大大改善了传统深度学习算法在目标识别与分类应用上的性能与效果。
DL方法与计算机视觉(Computer Vision,CV)等前沿智能感知与机器学习方法被广泛应用于养殖业中。为提高奶牛目标检测的智能化程度,赵凯旋、何东健等[19]采用了基于图像的卷积神经网络方法来自动提取奶牛体廓生物特征并用于识别奶牛身份。刘杰鑫[20]等人采用基于混合高斯模型与卷积神经网络相结合的方法识别奶牛个体,实验表明,该方法用于真实场景下奶牛个体的识别是可行的。由此可见,DL在养殖业中的应用,为真实、自然、经济、智能地感知和识别奶牛身份提供了新方法。
使用NIKON D3100照相机,随机采集第一师10团良种奶牛养殖场的荷斯坦奶牛图像,所采集图像以JPG制式储存,分辨率为4 608×3 072。图像采集分为A、B两个实验图像组,样本组类别示例如图1所示。A组图像针对单头奶牛场景采像、B组图像为针对群体奶牛采像。A、B两组各采集图像50幅,作为验证集,共计100幅。
图1 样本组类别示例
惠普台式机(型号为HP Pavilion 500 Desktop PC),其配置如下:操作系统为Windows 1064 Bits Enterprise版、CPU为Intel i7-4790,主频为3.60 GHz、内存12 GB、显卡为NVIDIA GeForce GTX 745,深度学习框架为darknet-53。
YOLO是华盛顿大学的Joseph Redmon和Ali Farhadi等人于2015年提出的一种无区域建议的目标检测模型。目前,已发展至第三代YOLO V3,作为一类全新的深度神经网络结构,直接将图像作为输入,在输出层回归目标的位置,真正实现了End-to-end检测,检测结果的准确率和速度达到了新的高度,整个检测流程如图2所示。
图2 YOLO V3检测流程图
为较为正确地验证YOLO V3模型的有效性,本文选取漏检率(Undetected rate)、平均耗时(Time)对算法性能进行定量评价。通过在该奶牛数据集上测试官方已训练好的权重文件yolov3.weights,保存每张图像预测结果,记录每张图像预测所损耗时间。漏检率统计用到的标准如表1所示。
表1 奶牛统计量标准
以人工统计各图像中牛只的数量,作为YOLO V3目标检测结果的对照,按照公式1计算漏检率。式中:FN、TP分别表示将奶牛样本分类为非奶牛样本数(漏检)、将奶牛样本分类为奶牛样本数。
3.1.1 不同图像尺寸检测效果对比
本文增加了不同图像尺寸的对比试验。基于MATLAB中imresize函数,采用默认函数参数“nearest”,将B实验组图像缩放0.5倍、0.25倍、0.1倍得到不同尺寸下的图像集,基于YOLO V3模型,进行对比实验,结果如下表。对比分析得,缩小图像尺寸会使漏检率增加,影响检测效果,且检测损耗时间对图像尺寸的变化不敏感。
表2 不同图像尺寸的检测效果对比表
3.1.2 YOLO V3与YOLO tiny-V2模型性能对比
用验证集中的100幅图像进行验证,并与YOLO tiny-V2目标检测模型进行对比。从表3可以得出,YOLO V3相比于YOLO tiny-V2,漏检率降低了9.85%。在检测速度上:YOLO tiny-V2具有明显的优势。在实际应用中,尽管该算法时间复杂度较高,但实时性可以满足实际需求。因此相比于YOLO ti-ny-V2,YOLO V3具有更低的漏检率,具有较好的应用前景。
表3 YOLO V3与YOLO tiny-V2模型性能比较
3.1.3 不同阈值检测效果对比
在检测过程中,通过设置阈值可以过滤置信度评分较低的预测框。由此,作者基于YOLO V3模型,以B实验组为检测对象,将初始阈值0.25增大及缩小,设置5个不同阈值进行实验,对比五种不同阈值下的检测效果,从而得到最佳阈值。如表4所示,其中目标框个数表示平均每幅图像中预测框个数。阈值偏高或者偏低时,漏检率均较高,当阈值为默认值0.25时,可以得到漏检率较低的检测效果。因此,在下一步应用YOLO V3模型进行目标检测实验时,采用默认阈值0.25,可得最佳检测效果。
表4 不同阈值的检测效果对比表
基于YOLO V3模型,将阈值设置为0.25,作者对两实验组原始图像进行了奶牛目标检测实验,检测效果示例如下图所示。
图3 目标检测结果示例
由公式1可计算出2实验组漏检率,平均耗时可 通过加和求平均的方式得出。检测的统计结果如下表所示。可以看出,A、B两组漏检率指标并不理想。这是由于所采用官方权重文件是通过在COCO数据集上训练获得,YOLO V3可检测80个目标类别,奶牛目标为其中一类,在生产条件下,由于背景复杂、光照姿态变化、奶牛相互遮挡、小目标奶牛等因素,部分奶牛目标易被分类为马、狗、羊等目标,影响漏检率指标。
表5 检测结果
在100幅测试图像中,18幅图像发生漏检错误,图4为3类典型漏检错误。通过对漏检错误分析,可总结出漏检主要发生在以下3类奶牛图像中:(1)A类为奶牛相互遮挡较为严重的图像;(2)B类是阴影下奶牛主体颜色接近于地面颜色的图像;(3)C类是奶牛通过挤奶通道时相互遮挡的图像。
针对A类图像,在数据采集时,可适度提升图像采集设备高度,避免奶牛相互遮挡的情况。或增加图像采集设备,获取多角度同时拍摄同一场景的多幅图像,从中挑选实验可用图像。针对B类图像,可通过提高奶牛图像对比度(如实验数据集预处理过程中加入直方图均衡操作)来解决。针对C类图像,可以融合各类奶牛检测数据集进行网络训练,改善深度神经网络对不同场景、不同尺寸奶牛的检测效果,使训练完成的模型在复杂场景下的适应性更强。
在奶牛检测应用中,由于背景复杂多样性、光照变化、姿态变化、奶牛相互遮挡、小目标奶牛等因素的存在,漏检率仍然达不到理想的水平。因此,需要提取光流信息、语义信息等更多有用信息,提高特征表达能力,进而提升检测效果。
图4 典型漏检错误
通过将YOLO V3模型应用于生产条件下的奶牛目标检测,达到了高效和准确的视觉目标检测效果,为奶牛养殖业的信息化应用提供了快捷、有效的工具与方法,但是文中并未涉及目标检测模型的训练,在今后的研究中,须结合YOLO V3模型训练仅包含奶牛目标的模型,降低目标检测漏检率;同时进一步研究奶牛图像精细分割方法,为后续行为分析、身份识别提供方法支撑。