一种太行鸡雏鸡雌雄鉴别的方法与流程



1.本发明涉及智能检测技术领域,特别涉及一种太行鸡雏雌雄鉴别的方法。


背景技术:



2.在目前,针对太行鸡的性别,雌鸡和雄鸡有着不同的用途。为满足不同行业对太行鸡的性别需求,我国大部分养殖基地都会进行太行鸡雏鸡雌雄鉴别的工作,但养殖基地大多采用纯人工鉴别的方法,这会出现对工人鉴别能力的要求高、劳动强度大等问题。现有技术中针对其他品种的鸡,有采用基于视觉的鸡雏公母智能鉴别方法,如发明专利申请公开号为cn113191201a,名称为基于视觉的鸡雏公母智能鉴别方法及系统。但是针对太行鸡,目前行业内学术上或者养殖场中,没有采用类似图像分类算法来代替人工进行太行鸡雏鸡雌雄鉴别的,其中主要存在的技术问题是如何构建准确的数据库并如何构建合适的太行鸡雌雄鉴别分类模型的技术问题。
3.对比养殖基地传统的人工太行鸡雏鸡雌雄鉴别方法,即对1日龄雏鸡进行翻肛来鉴别雏鸡性别,如果能通过图像展示的方式来鉴别太行鸡的雌雄,就可以降低对工人鉴别能力的要求、减少鉴别环节的技术难度和工作强度、提高鉴别的准确率。因此,本技术技术解决的主要技术问题就是如何构建合适的数据库模型来对太行鸡雏鸡的性别进行有效鉴别,实现理想的鉴别准确率。


技术实现要素:



4.为了解决以上问题,本发明提供了一种太行鸡雏鸡雌雄鉴别的方法。
5.为实现上述目的,本发明所采用的技术方案如下:
6.一种太行鸡雏鸡雌雄鉴别的方法,包括以下步骤:
7.采集若干太行鸡雏鸡肛门处的图像,形成太行鸡雏鸡图像数据集并对其进行预处理;
8.根据预处理后的太行鸡雏鸡图像数据集建立太行鸡雏鸡雌雄分类模型;
9.对太行鸡雏鸡雌雄分类模型进行训练;
10.通过混淆矩阵评价训练后的太行鸡雏鸡雌雄分类模型的好坏。
11.进一步的:述形成太行鸡雏鸡图像数据集并对其进行预处理包括:
12.构成太行鸡雏鸡图像数据集;
13.重置数据图像的大小;
14.水平翻转给定的图像;
15.用均值和标准差归一化张量图像;
16.随机将数据集划分为训练集和验证集。
17.进一步的:所述重置数据图像的大小包括:重置数据尺寸长为128、宽为128;
18.所述水平翻转给定的图像包括:以给定概率p=0.5随机翻转图像;
19.所述用均值和标准差归一化张量图像包括:将图像3个通道中的数据整理到规范
区间x中,使数据全部符合均值为0、标准差为1的标准正态分布,其中规范区间x的求取公式为:
[0020][0021]
式中,mean为数据的均值,std为数据的标准差。
[0022]
进一步的:所述根据预处理后的太行鸡雏鸡图像数据集建立太行鸡雏鸡雌雄分类模型包括:
[0023]
使用resnet50模型,所述resnet50模型包括一个单独的卷积层、4组大block和全连接层,其中,4组大block内分别有3、4、6、3个小block,在resnet50的结构中,首先将数据集输入7
×7×
64的卷积层,即{7
×
7,cony,64},然后经过16个构建块,每个构建块为3层,即有16
×
3=48层,其中,数据图像经过卷积层输出尺寸为n
×
n的图片,n的计算如下:
[0024][0025]
式中,f为卷积核,s为步长,p为padding,w为输入数据集;
[0026]
再经池化层后输出图像大小为w的图片,计算如下:
[0027][0028]
式中,f为卷积核,s为步长,w为输入数据集。
[0029]
进一步的:所述对太行鸡雏鸡雌雄分类模型进行训练包括:
[0030]
将数据输入构建好的resnet50模型中;
[0031]
计算损失函数;
[0032]
损失函数反向传播,更新参数;
[0033]
重复上述步骤,直到损失函数收敛。
[0034]
进一步的:所述将数据输入构建好的resnet50模型中包括:将训练数据和测试数据同时输入到构建好的resnet50模型中,在前向传播阶段,训练数据以小批量n送入模型,经过特征提取模块后,进入分类器,并在适应层和分类器最后一层有输出端,测试数据同样以小批量m送入模型,经过特征提取器后进入分类器,经适应层流出,此时不经过分类器最后一层,其中n:m=8:2。
[0035]
进一步的:所述计算损失函数包括:resnet50的前馈计算净输入,根据构造的权重矩阵ω和偏置b,将输入数据x经过线性变换,得到神经元的净输入,净输入x的求取公式如下:
[0036]
x=ωa+b
ꢀꢀ
(4)
[0037]
式中,a为神经元的净输入,即输入数据,ω为权重矩阵,b为偏置,其中权重矩阵ω初始化为0.005,偏置b初始化为0.1;
[0038]
激活函数为softmax函数,其函数表达式为:
[0039]
[0040]
训练数据在分类器输出端计算分类交叉熵损失函数l:
[0041][0042]
需要将输入的input向量进行softmax处理将input变成属于每个标签的概率值,对每个input[i]处理如下:
[0043][0044]
在计算y时,即输入样本标签target,转换为张量后,得到交叉熵损失函数为:
[0045][0046]
其中input代表模型预测输出序列,target代表的真实类别。
[0047]
进一步的:所述损失函数反向传播,更新参数包括:损失函数如式(8)所示,其模型参数的更新规则如下式所示:
[0048][0049][0050]
其中,α表示学习率,θ表示对应模块参数,m表示特征提取器,c表示分类器。
[0051]
进一步的:所述通过混淆矩阵评价训练后的太行鸡雏鸡雌雄分类模型的好坏包括:使用混淆矩阵,混淆矩阵的每一列表示的是模型预测的样本情况,矩阵的每一行表示的样本的真实情况,混淆表格如下表所示:
[0052][0053][0054]
其中,真正类(tp)即样本的真实类别是正类,并且模型识别的结果也是正类,假负类(fn),即样本的真实类别是正类,但是模型将其识别成为负类,假正类(fp),即样本的真实类别是负类,但是模型将其识别成为正类,真负类(tn),即样本的真实类别是负类,并且模型将其识别成为负类;
[0055]
模型精确率计算公式如下:
[0056][0057]
雌鸡正确率fm计算公式如下:
[0058][0059]
雄鸡正确率m计算公式如下:
[0060][0061]
采用上述技术方案后,与现有技术相比,其所取得的技术进步在于:
[0062]
针对太行鸡的雌雄鉴别,本发明根据太行鸡的特征构建了太行鸡雌雄鉴别分类模型,该模型通过对数据的预处理、模型的加载、模型的训练、结果的检验实现了太行鸡雏鸡雌雄鉴别的功能。通过下述具体实施方式记载的内容可以佐证,该方法可以在保障太行鸡雌雄鉴别正确率基础上,利用图像识别的方式,降低对人工技术的要求,减轻人工劳动的强度,使太行鸡雌雄鉴别可以快速、便捷、高效的进行。
附图说明
[0063]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
[0064]
在附图中:
[0065]
图1为本发明的整体流程图;
[0066]
图2为本发明对太行鸡雏鸡图像数据集进行预处理的流程图;
[0067]
图3为本发明太行鸡养殖基地采集特征样例;
[0068]
图4为本发明resnet50网络结构;
[0069]
图5为本发明太行鸡雏鸡雌雄分类模型进行训练的流程图;
[0070]
图6为本发明太行鸡雌雄鉴别效果图。
具体实施方式
[0071]
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
[0072]
结合图1,一种太行鸡雏鸡雌雄鉴别的方法,包括以下步骤:
[0073]
s10:采集若干太行鸡雏鸡肛门处的图像,形成太行鸡雏鸡图像数据集并对其进行预处理;
[0074]
s20:根据预处理后的太行鸡雏鸡图像数据集建立太行鸡雏鸡雌雄分类模型;
[0075]
s30:对太行鸡雏鸡雌雄分类模型进行训练;
[0076]
s40:通过混淆矩阵评价训练后的太行鸡雏鸡雌雄分类模型的好坏。
[0077]
具体的,如图2所示的,形成太行鸡雏鸡图像数据集并对其进行预处理包括:
[0078]
s11:构成太行鸡雏鸡图像数据集;
[0079]
s12:重置数据图像的大小;
[0080]
s13:水平翻转给定的图像;
[0081]
s14:用均值和标准差归一化张量图像;
[0082]
s15:随机将数据集划分为训练集和验证集。
[0083]
其中,在本实施例中,太行鸡雏鸡图像数据集共采集2000张,太行鸡养殖基地采集
特征样例如图3所示,其中雄雏的数据有1200张;雌雏的数据有800张。重置数据图片的大小,重置数据尺寸长为128、宽为128。水平翻转给定的图像,以给定概率p=0.5随机翻转图像。
[0084]
用均值和标准差归一化张量图像,将图片3个通道中的数据整理到规范区间x中,使数据全部符合均值为0、标准差为1的标准正态分布,规范区间x的求取公式为:
[0085][0086]
式中,mean为数据的均值,std为数据的标准差,这里均值和标准差是从imagenet训练集中抽样算出来的。
[0087]
随机将数据集划分为训练集和验证集,将数据集按照8:2进行划分,其中80%的数据集随机划分为训练集,20%数据集随机划分为验证集。太行鸡雏鸡数据集如表1所示:
[0088]
表1
[0089] 雄雏(张)雌雏(张)总计(张)原始数据12008002000训练集数据9606401600验证集数据240160400
[0090]
具体的,根据预处理后的太行鸡雏鸡图像数据集建立太行鸡雏鸡雌雄分类模型包括:使用resnet50模型,restnet50的层数是由一个单独的卷积层、4组大block(共48个卷积)和全连接层组成。其中,4组大block内分别有3、4、6、3个小block,如图4所示,在深度残差网络resnet50的结构中,首先将数据集输入7
×7×
64的卷积层,即{7
×
7,cony,64},然后经过箭头虚线处的数字相加(3+4+6+3)的16个构建块(buildingblock),每个buildingblock为3层,即有16
×
3=48层,加上开头7
×7×
64的卷积层和结尾的全连接层共同构成了resnet中的50层网络。
[0091]
其中,数据图像经过卷积层输出尺寸为n
×
n的图片,n的计算如下:
[0092][0093]
式中,f为卷积核,s为步长,p为padding,w为输入数据集。
[0094]
再经池化层后输出图像大小为w的图片,计算如下:
[0095][0096]
式中,f为卷积核,s为步长,w为输入数据集。
[0097]
本模型由雌雄特征提取器,和分类器构成。其中雌雄特征提取器是基于卷积神经网络搭建起来的,用于对输入图像自动提取有太行鸡雏鸡雌雄侧正的子模块;分类器是由全连接层构成的,用于对特征准确分类的子模块。
[0098]
具体的,如图5所示的,对太行鸡雏鸡雌雄分类模型进行训练包括:
[0099]
s21:将数据输入构建好的resnet50模型中;
[0100]
s22:计算损失函数;
[0101]
s23:损失函数反向传播,更新参数;
[0102]
s24:重复步骤s21-s23,直到损失函数收敛。
[0103]
其中,在本实施例中,将训练数据和测试数据同时输入到构建好的restnet50模型中,在前向传播阶段,训练数据以小批量n送入模型,经过特征提取模块后,进入分类器,并在适应层和分类器最后一层有输出端。测试数据同样以小批量m送入模型,经过特征提取器后进入分类器,经适应层流出,此时不经过分类器最后一层,n:m=8:2。
[0104]
计算损失函数包括:resnet50的前馈计算净输入,根据构造的权重矩阵ω和偏置b,将输入数据x经过线性变换,得到神经元的净输入,净输入x的求取公式如下:
[0105]
x=ωa+b
ꢀꢀ
(4)
[0106]
式中,a为神经元的净输入,即输入数据,ω为权重矩阵,b为偏置。这里对学习的权重和偏置初始化,其中权重矩阵ω初始化为0.005,偏置b初始化为0.1。
[0107]
激活函数为softmax函数,其函数表达式为:
[0108][0109]
训练数据在分类器输出端计算分类交叉熵损失函数l:
[0110][0111]
需要将输入的input向量进行softmax处理将input变成属于每个标签的概率值,对每个input[i]处理如下:
[0112][0113]
在计算y(i)时,即输入样本标签target,转换为张量后,得到交叉熵损失函数为:
[0114][0115]
其中input代表模型预测输出序列,target代表的真实类别。
[0116]
损失函数反向传播,更新参数包括:损失函数如式(8)所示,其模型参数的更新规则如下式所示:
[0117][0118][0119]
其中,α表示学习率,θ表示对应模块参数,m表示特征提取器,c表示分类器。
[0120]
重复步骤s22-s24,当整个训练数据集都参与训练一遍,模型的训练就完成一个周期,循环训练直到损失函数收敛,模型训练完成。
[0121]
实验中的相关参数设置如下:输入图片大小128*128像素,训练小批量(batchsize)大小为16,训练100周期,每个周期100个批量。每个周期100个批量是指(训练集总样本数/小批量大小16=100)。周期对应模型训练中设置的循环训练周期,学习率设置为:
[0122][0123]
式中,epoch∈[1,100],epoch为当前的训练的进度。
[0124]
训练中参数的设置是和具体数据集有关的,比如循环训练周期是根据总的损失函数的收敛程度决定的,收敛早且快,那么周期数适当小一些,反之大一些,模型训练时根据经验设置较大的循环训练周期,使其能满足在循环训练周期内实现总的损失函数达到收敛的目的。训练小批量的大小,不宜过小。
[0125]
具体的,通过混淆矩阵评价训练后的太行鸡雏鸡雌雄分类模型的好坏包括:使用混淆矩阵,混淆矩阵的每一列表示的是模型预测的样本情况,矩阵的每一行表示的样本的真实情况,混淆表格如表2所示:
[0126]
表2
[0127][0128]
其中,真正类(tp)即样本的真实类别是正类,并且模型识别的结果也是正类,假负类(fn),即样本的真实类别是正类,但是模型将其识别成为负类,假正类(fp),即样本的真实类别是负类,但是模型将其识别成为正类,真负类(tn),即样本的真实类别是负类,并且模型将其识别成为负类。
[0129]
(1)模型的精确率。
[0130]
模型的精确率,即模型识别正确的个数/样本的总个数。一般情况下,模
[0131]
型的精度越高,说明模型的效果越好。精确率计算公式如下:
[0132][0133]
(2)雌鸡正确率
[0134]
预测太行鸡雌鸡中的正确率,其正确率fm计算公式如下:
[0135][0136]
(3)雄鸡准确率
[0137]
预测太行鸡雄鸡中的正确率,其正确率m计算公式如下:
[0138][0139]
测试结果准确率统计如表3所示:
[0140]
表3
[0141] 雄雏准确率雌雏准确率太行鸡准确率雄雏数据雌雏数据总数据训练集99.9%100%99.7%9606401600测试集99.0%98.8%99.4%240160400
[0142]
表3展示了太行鸡雏鸡雌雄鉴别的结果,其中训练集准确率达99.7%,在训练集中,雄雏的准确率为99.9%,雌雏的准确率为100%,测试集准确率达99.4%,在测试集中雄雏的准确率为99.0%,雌雏的准确率为98.8%。
[0143]
在太行鸡养殖场的现场,通过摄像头采集到的太行鸡雏鸡雌雄特征图像,采用本算法进行分类鉴别,鉴别后将信息反馈给工作人员,实现太行鸡的雌雄分类。在实际工作中,本流程是多项并行开展的,通过同时开展多条流水线,可以实现太行鸡雏鸡性别系统、高效、快速的鉴别。由于太行鸡是1日龄雏鸡,为避免对雏鸡造成更多伤害,目前现场特征采集采用半工业化,以人工辅助,鉴别采用机器识别的方法,给工人反馈性别信息。目前经过试用,在工人实地操作中的表现来看,工人可以快速学会展示太行鸡特征的动作,并可实地上手操作。而之前传统的人工鉴别环节,为确保人工鉴别的准确率,需要工人长期的工作经验。因此,采用本发明方法后,检测效果图如图6所示,用图像展示的方式,直观展现太行鸡雏鸡雌雄鉴别的情况,养殖基地可以减少技术工人的招聘,更多的寻临时工人,减少鉴别成本,促进更多非技术人员的就业,实现共同发展。
[0144]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明权利要求保护的范围之内。

技术特征:


1.一种太行鸡雏鸡雌雄鉴别的方法,其特征在于,包括以下步骤:采集若干太行鸡雏鸡肛门处的图像,形成太行鸡雏鸡图像数据集并对其进行预处理;根据预处理后的太行鸡雏鸡图像数据集建立太行鸡雏鸡雌雄分类模型;对太行鸡雏鸡雌雄分类模型进行训练;通过混淆矩阵评价训练后的太行鸡雏鸡雌雄分类模型的好坏。2.根据权利要求1所述的一种太行鸡雏鸡雌雄鉴别的方法,其特征在于:所述形成太行鸡雏鸡图像数据集并对其进行预处理包括:构成太行鸡雏鸡图像数据集;重置数据图像的大小;水平翻转给定的图像;用均值和标准差归一化张量图像;随机将数据集划分为训练集和验证集。3.根据权利要求2所述的一种太行鸡雏鸡雌雄鉴别的方法,其特征在于:所述重置数据图像的大小包括:重置数据尺寸长为128、宽为128;所述水平翻转给定的图像包括:以给定概率p=0.5随机翻转图像;所述用均值和标准差归一化张量图像包括:将图像3个通道中的数据整理到规范区间x中,使数据全部符合均值为0、标准差为1的标准正态分布,其中规范区间x的求取公式为:式中,mean为数据的均值,std为数据的标准差。4.根据权利要求2所述的一种太行鸡雏鸡雌雄鉴别的方法,其特征在于:所述根据预处理后的太行鸡雏鸡图像数据集建立太行鸡雏鸡雌雄分类模型包括:使用resnet50模型,所述resnet50模型包括一个单独的卷积层、4组大block和全连接层,其中,4组大block内分别有3、4、6、3个小block,在resnet50的结构中,首先将数据集输入7
×7×
64的卷积层,即{7
×
7,cony,64},然后经过16个构建块,每个构建块为3层,即有16
×
3=48层,其中,数据图像经过卷积层输出尺寸为n
×
n的图片,n的计算如下:式中,f为卷积核,s为步长,p为padding,w为输入数据集;再经池化层后输出图像大小为w的图片,计算如下:式中,f为卷积核,s为步长,w为输入数据集。5.根据权利要求4所述的一种太行鸡雏鸡雌雄鉴别的方法,其特征在于:所述对太行鸡雏鸡雌雄分类模型进行训练包括:将数据输入构建好的resnet50模型中;计算损失函数;损失函数反向传播,更新参数;重复上述步骤,直到损失函数收敛。
6.根据权利要求5所述的一种太行鸡雏鸡雌雄鉴别的方法,其特征在于:所述将数据输入构建好的resnet50模型中包括:将训练数据和测试数据同时输入到构建好的resnet50模型中,在前向传播阶段,训练数据以小批量n送入模型,经过特征提取模块后,进入分类器,并在适应层和分类器最后一层有输出端,测试数据同样以小批量m送入模型,经过特征提取器后进入分类器,经适应层流出,此时不经过分类器最后一层,其中n:m=8:2。7.根据权利要求6所述的一种太行鸡雏鸡雌雄鉴别的方法,其特征在于:所述计算损失函数包括:resnet50的前馈计算净输入,根据构造的权重矩阵ω和偏置b,将输入数据x经过线性变换,得到神经元的净输入,净输入x的求取公式如下:x=ωa+b
ꢀꢀꢀꢀꢀꢀꢀ
(4)式中,a为神经元的净输入,即输入数据,ω为权重矩阵,b为偏置,其中权重矩阵ω初始化为0.005,偏置b初始化为0.1;激活函数为softmax函数,其函数表达式为:训练数据在分类器输出端计算分类交叉熵损失函数l:需要将输入的input向量进行softmax处理将input变成属于每个标签的概率值,对每个input[i]处理如下:在计算y
(i)
时,即输入样本标签target,转换为张量后,得到交叉熵损失函数为:其中input代表模型预测输出序列,target代表的真实类别。8.根据权利要求7所述的一种太行鸡雏鸡雌雄鉴别的方法,其特征在于:所述损失函数反向传播,更新参数包括:损失函数如式(8)所示,其模型参数的更新规则如下式所示:则如下式所示:其中,α表示学习率,θ表示对应模块参数,m表示特征提取器,c表示分类器。9.根据权利要求8所述的一种太行鸡雏鸡雌雄鉴别的方法,其特征在于:所述通过混淆矩阵评价训练后的太行鸡雏鸡雌雄分类模型的好坏包括:使用混淆矩阵,混淆矩阵的每一列表示的是模型预测的样本情况,矩阵的每一行表示的样本的真实情况,混淆表格如下表所示:
其中,真正类(tp)即样本的真实类别是正类,并且模型识别的结果也是正类,假负类(fn),即样本的真实类别是正类,但是模型将其识别成为负类,假正类(fp),即样本的真实类别是负类,但是模型将其识别成为正类,真负类(tn),即样本的真实类别是负类,并且模型将其识别成为负类;模型精确率计算公式如下:雌鸡正确率fm计算公式如下:雄鸡正确率m计算公式如下:

技术总结


本发明公开了一种太行鸡雏鸡雌雄鉴别的方法,包括:采集若干太行鸡雏鸡肛门处的图像,形成太行鸡雏鸡图像数据集并对其进行预处理;根据预处理后的太行鸡雏鸡图像数据集建立太行鸡雏鸡雌雄分类模型;对太行鸡雏鸡雌雄分类模型进行训练;通过混淆矩阵评价训练后的太行鸡雏鸡雌雄分类模型的好坏。本发明的模型通过对数据的预处理、模型的加载、模型的训练、结果的检验实现了太行鸡雏鸡雌雄鉴别的功能。该方法可以在保障太行鸡雌雄鉴别正确率基础上,利用图像识别的方式,降低对人工技术的要求,减轻人工劳动的强度,使太行鸡雌雄鉴别可以快速、便捷、高效的进行。高效的进行。高效的进行。


技术研发人员:

褚素乔 秦佳莹 刘伯华 张磊 卢炜华 谢艳华 褚素欣 刘皓宇 李丽丽 张洁

受保护的技术使用者:

河北舒隽科技有限公司

技术研发日:

2022.10.28

技术公布日:

2023/2/27

本文发布于:2024-09-22 15:32:46,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/61583.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:太行   鸡雏   雌雄   模型
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议