当前位置:首页 期刊杂志

基于Faster-RCNN的肉鸡击晕状态检测方法

时间:2024-05-24

叶长文 康 睿 戚 超 刘 超 赵 阳 陈坤杰

(南京农业大学工学院, 南京 210031)

0 引言

电击晕[1-3]是家禽家畜屠宰加工工序中的一个重要环节[4-6]。在电击晕过程中,电压过低,被击晕的家禽在未到达宰杀工位前苏醒,会因为受刺激而挣扎扑翅,导致断翅和淤血的情况发生;电压过高,易使家禽因电击死亡,导致放血不充分,影响鸡肉品质[7-10]。因此,在宰前电击晕时,恰当的输出参数能够提高鸡肉的品质[11]。目前,主要通过人工检测肉鸡的击晕状态,手动调节电击晕器的输出电压,以达到合理的击晕效果。人工视觉判定方法依赖判定人员的感观和经验,具有很强的主观性,且检测速度慢。

与人工检验相比,机器视觉技术具有非破坏性、成本低、速度快等特点[12]。文献[13]使用图像处理和神经网络识别6个不同的鸡肉部分,总准确识别率为97.57%。文献[14]提出了一种基于机器视觉技术与BP神经网络相结合的肉鸡击晕状态自动检测方法,总准确率为90.11%,准确率有待提高。传统机器视觉分类方法通常根据设定的特征提取规则提取多个特征用于训练分类模型,其弊端是造成有效信息的损失[15-16]。相比传统方法,卷积神经网络(Convolutional neural network,CNN)[17]可以直接将原始图像信息作为网络的输入,由卷积层训练数据进行特征学习,充分提取有效信息,因此在图像识别领域获得了广泛的应用[18-21]。

本文以屠宰生产线上电击晕环节的肉鸡为研究对象,在线采集经过电击晕处理后肉鸡的图像信息,提出基于快速区域卷积神经网络(Faster region convolutional neural network, Faster-RCNN)的肉鸡击晕状态检测方法,对电击晕环节肉鸡的电击晕效果进行检测与识别,探究肉鸡击晕状态在线检测的可行性。

1 材料与方法

1.1 样本数据

1.1.1样本图像采集

实验所用样本为白盐城悦达农业集团禽业科技有限公司(东台)养殖的42日龄白羽肉鸡。利用吴江安能电子科技有限公司的05系列变频电麻机,采用水浴电击晕方式,设定变频电麻机输出频率为750 Hz,电击时间为10 s,电压分别为5、15、25 V,对肉鸡进行电击,用西安维视图像公司的EM130C型CMOS相机采集了2 319幅240像素×320像素击晕后肉鸡样本的图像。部分样本图像如图1所示。

图1 采集的电击处理肉鸡样本图像Fig.1 Images of chicken sample collected by system

1.1.2击晕状态分类

文献[22]提出,有效击晕的肉鸡呈现双翅合拢紧贴于身体两侧,鸡头与脖子僵挺的状态,若达不到此视觉上的表现形态,则认为没有达到有效击晕的要求。研究发现肉鸡击晕后的状态可分为击晕不足、有效击晕与过度击晕3种,如图1所示。击晕不足的肉鸡(图1a~1d)仍有意识,经过电流刺激后会出现扑腾或鸡头抬起等表现形态。有效击晕的肉鸡(图1e、1f)则失去意识,出现静止不动、双翅紧贴于身体两侧且鸡头自然垂下的表现形态。过度击晕的肉鸡(图1g、1h)则失去意识,同时神经失去对身体的控制,出现鸡头自然垂下,同时双翅自然张开的表现形态。根据电击处理后的表现状态,将肉鸡击晕状态分为3类(a、b、c),如表1所示。根据表1,将采集的2 319幅样本图像按击晕状态类别进行标注。

表1 击晕状态分类Tab.1 Stunning status classification

1.1.3数据集制作

采用labelImg图像标注工具按照PASCAL VOC数据集格式对2 319幅肉鸡原始图像中的鸡头与鸡翅区域进行标注,得到肉鸡各击晕状态类别的数据集。将数据集按照2∶1的比例随机分为训练集(1 546幅)与验证集(773幅),由于训练数据集总体数量较小,为了防止训练出现过拟合问题,本文对训练集中样本图像分别旋转0°、90°、180°、270°进行数据增强,得到6 184幅训练集样本图像。

1.2 肉鸡击晕状态检测方法

1.2.1模型总体构架

图2 Faster-RCNN肉鸡击晕状态分类模型网络结构示意图Fig.2 Network structure diagram of Faster-RCNN stunning state classification model for broiler chickens

Faster-RCNN[23]肉鸡击晕状态分类模型网络结构示意图如图2所示。分类模型主要由4部分构成,分别为VGG16[24]基础特征提取网络部分、RPN[23]候选区域提取网络部分、ROI Pooling[25]固定大小的候选区域的卷积特征图提取部分和Softmax分类与边框回归部分。

1.2.2模型的输入设计

网络模型支持任意尺度的图像输入。设定归一化后图像尺寸均为224像素×224像素,经过VGG16特征提取网络可得到14像素×14像素的特征图像。

1.2.3RPN参数设计

在RPN中,anchor参数需要与归一化后图像的尺寸匹配。本文使用在3种尺寸(482、962、1922)、3种比例(1∶1、1∶2、2∶1)下所得的9个anchors,完成对224像素×224像素图像中肉鸡的检测。设定被看作正样本的IoU值为0.7,将IoU最大的和IoU大于0.7的anchor作为正样本,而IoU值小于0.3的归为负样本。在训练时,抽取正负样本的总数为128个,比例为1∶1。在训练时,去除超出图像边缘的候选框,将超出范围的anchor与原标注框的IoU值置0。经过非极大值抑制(NMS)后,对所剩的所有预测框按正标签IoU分值排序,选取前50个作为输出。

1.2.4输出层参数设计

肉鸡击晕状态共有3类,加上1个背景类,因此,输出层输出的类别数设定为4。边框回归层输出的参数为4×4=16(4种类别各自含有4个边框坐标参数)。

1.2.5实验平台

实验开发环境为:台式计算机,256 GB的固态硬盘,CPU为Intel core i7 8700K,内存为16 GB,主频为3.4 GHz;GPU图像加速处理器为GTX 1070Ti AERO,CUDA8.0并行计算框架,运行环境为Linux,版本为Ubuntu16.04,Python版本为2.7.12,采用CUDNN5.1版本的深度神经网络加速库。在Caffe[26](Convolutional architecture for fast feature embedding)框架上开发。

1.2.6迁移学习

随机初始化权值需要花费大量的时间将模型损失值收敛于稳定值。迁移学习[27]能够在数据集较小的情况下快速适应新的任务。因此采用大数据集(ImageNet,1 000类、1×107幅图像)下训练好的预训练模型,共享底层结构权值参数,然后修改模型的顶层网络结构进行微调。本文采用在ImageNet数据集上预训练的权重模型作为Faster-RCNN的初始权重模型。

1.2.7模型训练

本文采用交替优化(Alternating optimization)[23]算法训练模型。训练的超参数为:初始学习率base_lr,取0.01;学习策略lr_policy选用step均匀分步策略;gamma是base_lr的衰减系数,gamma用于计算迭代过程中学习率,取0.1;stepsize是base_lr的衰减步长,stepsize参数设置为5 000,当迭代到第1个5 000次时,base_lr第1次衰减,衰减后的base_lr为0.001,以后重复该过程;display参数设置为20,表示每批处理20个图像样本;上一次梯度更新的权重值momentum,用于加速梯度下降,取0.9;权重衰减项weight_decay用于防止过拟合,取0.000 5;iteration为[20 000 20 000 20 000 20 000],分别对应RPN第1阶段、Fast-RCNN第1阶段、RPN第2阶段、Fast-RCNN第2阶段的迭代次数。

1.2.8评价指标

为对肉鸡击晕状态分类模型的性能进行评价,选定召回率R(Recall)、精确度P(Precision)、F1测度F1(F1 score)和总准确率Acc(Accuracy)作为模型预测性能的评价指标,其公式为

(1)

(2)

(3)

(4)

式中TP——真阳性(True positive),预测结果是某个类别中预测正确的样本个数

FP——假阳性(False positive),预测结果是某个类别中预测错误的样本个数

TN——真阴性(True negative),预测结果不是某个类别中预测正确的样本个数

FN——假阴性(False negative),预测结果不是某个类别中预测错误的样本个数

2 结果分析

利用所建立的Faster-RCNN肉鸡击晕状态分类模型对测试集的773幅肉鸡测试样本的击晕状态类别进行预测,其结果如表2所示。由表2可知,基于Faster-RCNN的肉鸡击晕状态分类模型对类别a(击晕不足)的预测召回率最高,达到97.21%,其原因可能是训练集中该类别样本数大于其他两个类别,使得召回率虚高。模型对类别b(有效击晕)的预测召回率次之,为96.71%。;对类别c(过度击晕)的预测召回率最低,为95.05%。

表2 Faster-RCNN肉鸡击晕状态分类模型分类结果Tab.2 Classification result of broiler chickens’ stunning status of Faster-RCNN

就模型的总体分类性能而言,Faster-RCNN肉鸡击晕状态分类模型对类别b(有效击晕)的总体分类性能最佳(F1=97.40%),其原因可能是类别b的形态特征相较于其他两个类别更易于区分。

基于Faster-RCNN的肉鸡击晕状态分类模型预测的总准确率达到96.51%,与文献[14]中利用BP神经网络建立的分类模型的准确率90.11%相比,准确率提高了6.4个百分点,说明本文提出的基于Faster-RCNN的肉鸡击晕状态分类模型能有效提高肉鸡击晕状态识别与分类的准确率。在GPU上预测单幅图像花费的平均时间为0.095 4 s,每小时可以完成超过37 000只肉鸡的击晕状态检测。

图3为Faster-RCNN肉鸡击晕状态分类模型的结果,将原标注框载入与预测框位置作比较,比较两个模型在预测中定位的准确性。其中绿色框为原标注框,黄色框为预测结果框。由图可知,所建立的Faster-RCNN肉鸡击晕状态分类模型能有效地检测出肉鸡经过电击晕环节后的击晕状态,而且其预测框范围与原标注框基本一致,说明建立的Faster -RCNN肉鸡击晕状态分类模型可以有效地完成肉鸡击晕状态的检测任务。

图3 Faster-RCNN肉鸡击晕状态分类模型的分类结果Fig.3 Classification result graph of Faster-RCNN-based stunning state classification model for broiler chickens

3 结束语

为了实现实时检测肉鸡经过电击晕环节后的击晕状态,提出了基于快速区域卷积神经网络(Faster-RCNN)的肉鸡击晕状态检测方法,建立了基于Faster-RCNN的肉鸡击晕状态分类模型并进行实验验证。研究表明,本文建立的基于Faster-RCNN的肉鸡击晕状态分类模型对肉鸡击晕状态分类的总准确率达到96.51%,与文献[14]方法相比,准确率提高了6.4个百分点。对肉鸡击晕状态的预测速度可达每小时37 000只,基本满足肉鸡屠宰生产线要求,为后续研制肉鸡击晕状态在线检测系统提供了理论支持。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!