CN111881803A - 一种基于改进YOLOv3的畜脸识别方法 - Google Patents
一种基于改进YOLOv3的畜脸识别方法 Download PDFInfo
- Publication number
- CN111881803A CN111881803A CN202010711196.0A CN202010711196A CN111881803A CN 111881803 A CN111881803 A CN 111881803A CN 202010711196 A CN202010711196 A CN 202010711196A CN 111881803 A CN111881803 A CN 111881803A
- Authority
- CN
- China
- Prior art keywords
- improved
- feature
- unit
- feature map
- yolov3
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 244000144972 livestock Species 0.000 title claims 2
- 238000011176 pooling Methods 0.000 claims abstract description 28
- 238000001514 detection method Methods 0.000 claims abstract description 26
- 241001465754 Metazoa Species 0.000 claims abstract description 23
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims abstract description 3
- 238000005070 sampling Methods 0.000 claims description 27
- 241000282887 Suidae Species 0.000 claims description 15
- 238000012549 training Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 10
- 230000004913 activation Effects 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims 1
- 235000005809 Carpobrotus aequilaterus Nutrition 0.000 abstract description 6
- 244000187801 Carpobrotus edulis Species 0.000 abstract description 6
- 235000004550 Disphyma australe Nutrition 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 16
- 238000002474 experimental method Methods 0.000 description 11
- 230000000717 retained effect Effects 0.000 description 5
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000009395 breeding Methods 0.000 description 2
- 230000001488 breeding effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 101100129922 Caenorhabditis elegans pig-1 gene Proteins 0.000 description 1
- 101100520057 Drosophila melanogaster Pig1 gene Proteins 0.000 description 1
- 208000030852 Parasitic disease Diseases 0.000 description 1
- 206010037180 Psychiatric symptoms Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013434 data augmentation Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036281 parasite infection Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于改进YOLOv3的畜脸识别方法,以YOLOv3算法为基础构建卷积神经网络模型,依次引入DenseBlock单元和改进的SPP单元,通过调节DenseBlock单元的层数以及DenseBlock单元叠加使用的次数以控制参数数目;通过改进的SPP单元,对特征提取器输出的特征图采用三种不同大小的最大池化处理,最大池化处理后再与特征提取器输出的特征图进行拼接以获取多尺度信息,最终得到YOLOv3_DB_SPP识别模型。YOLOv3_DB_SPP识别模型能够在三个尺度特征图上对不同大小的目标进行检测,能够有针对性地识别样本中的多个目标;且在完成猪脸数据集上检测任务时,对单个样本和多只圈养样本的准确率均有提高,能够实现对远距离、有遮挡小目标的识别。
Description
技术领域
本发明涉及图像处理技术领域,更具体的说是涉及一种基于改进YOLOv3的畜脸识别方法。
背景技术
近年来,随着生猪养殖业的智能化,生猪的精准管理变得尤为重要,而识别生猪个体则是进行针对性养殖的关键一步。传统的识别方式包括颜色标记、佩戴射频识别耳标(radiofrequencyidentification,RFID)等。使用颜色标记的方法虽然直观,但仅限于生猪较少的情况。而佩戴耳标则可能存在耳标损坏、脱标以及生猪感染寄生虫等问题。
现有的猪脸识别研究较少,主要包括:1)N.Wada等利用特征空间方法,通过手动分割的特征实现猪个体识别,在16个类别的数据集上达到97.9%的识别率。2)Hansen等搭建了基于卷积,最大池化以及密连等结构的CNN模型,在农场猪脸识别上取得了较好结果。3)秦兴等利用双线性卷积神经网络进行生猪面部特征提取,并将不同层次的特征做外积融合形成最终个体特征,在其测试图像集上达到了95.73%的识别准确率。上述研究在解决猪脸识别问题时,主要考虑单个样本受光照、姿态、场景等因素的影响,当样本图像中有多个个体时,难以完成自动化管理中复杂环境中的多个体识别任务。
因此,如何提供一种能够实现对远距离、有遮挡的单个样本和多只圈养样本准确识别的畜脸识别方法是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种基于改进YOLOv3的畜脸识别方法,在进行畜脸检测时,对单个样本和多只圈养样本的准确率均有提高,还能够实现对远距离、有遮挡的小目标进行准确识别。
为了实现上述目的,本发明采用如下技术方案:
一种基于改进YOLOv3的畜脸识别方法,包括以下步骤:
步骤S1、采集不同角度的生猪个体脸部图像,作为原始数据集;
步骤S2、构建基于DarkNet53算法的特征提取器,向所述特征提取器中引入DenseBlock单元,并调节DenseBlock单元的层数和叠加使用次数,对所述特征提取器进行改进;
步骤S3、引入SPP单元,并对SPP单元进行改进;改进的SPP单元对步骤S2中改进的特征提取器输出的特征图分别进行三种不同大小的最大池化处理,再将改进的所述特征提取器输出的特征图与经过三种不同大小的最大池化处理后的特征图进行通道合并,输出新特征图;
步骤S4、构建基于YOLOv3算法的卷积神经网络模型,并向所述卷积神经网络模型中引入改进的所述特征提取器和改进的所述SPP单元,得到YOLOv3_DB_SPP初始识别模型;
步骤S5、利用步骤S1中的原始数据集对步骤S4中的初始识别模型进行训练和测试,获得最终识别模型。
经由上述的技术方案可知,与现有技术相比,本发明以YOLOv3算法为基础构建卷积神经网络模型,依次引入DenseBlock单元和SPP单元,通过调节DenseBlock单元的层数以及DenseBlock单元叠加使用的次数以控制参数数目;通过改进的SPP单元,对特征提取器输出的特征图采用三种不同大小的最大池化处理,最大池化处理处理后再与特征提取器输出的特征图进行拼接以获取多尺度信息,最终得到YOLOv3_DB_SPP识别模型。本发明YOLOv3_DB_SPP识别模型能够在三个尺度特征图上对不同大小的目标进行检测,能够有针对性的识别样本中的多个目标;且试验表明改进的YOLOv3_DB_SPP相较于原YOLOv3网络模型在完成猪脸数据集上检测任务时,对单个样本和多只圈养样本的准确率均有提高,且能够实现对远距离、有遮挡小目标的识别。
优选的,在上述一种基于改进YOLOv3的畜脸识别方法,步骤S1还包括对所述原始数据集进行预处理,所述预处理包括对图像进行剪裁、平移和水平翻转。通过预处理能够使数据增强,丰富训练样本,提高训练精度。
优选的,在上述一种基于改进YOLOv3的畜脸识别方法,所述步骤S2中改进的所述特征提取器包括Convolutional单元和DenseBlock单元;Convolutional单元由批标准化层、7×7或3×3的卷积层和Leaky ReLU激活函数构成;
DenseBlock单元的连接模式如下式所示:
xl=Hl([x0,x1,…xl-1]);
上式中,x1表示第l层的输出,[x0,x1,...xl-1]表示将第0,1,...l-1层的特征图拼接成一个向量,Hl(·)是由批标准化层、Leaky ReLU激活函数和3×3卷积层或1×1卷积层构成的组合函数。
本发明采用Leaky ReLU激活函数取代原Dense Net网络中的ReLU函数,以防止取到负值的参数被置0,导致该神经元无法学习,并在3×3的卷积层之前仍然添加1×1的卷积层作为瓶颈层,用于对输入到3×3的卷积层的特征进行降维,减少计算量。
优选的,在上述一种基于改进YOLOv3的畜脸识别方法,DenseBlock单元包括DenseBlock1、DenseBlock2、DenseBlock3、DenseBlock4和DenseBlock5;其中,DenseBlock2-DenseBlock5的结构一致,k值不同,k表示DenseBlock2-DenseBlock5中每个卷积层输出的特征图数目;DenseBlock2-DenseBlock5的结构与DenseBlock1的结构不同,卷积层参数相同。。DenseBlock单元中每个卷积层输出的特征图数目较残差模块会小得多,使得网络更窄,在加深层次的同时参数数目不至于增长的过多,减少网络计算量。
优选的,在上述一种基于改进YOLOv3的畜脸识别方法,步骤S3包括:
步骤S31、对步骤S2中改进的特征提取器输出的特征图进行池化步长为1的padding操作;
步骤S32、对padding操作后的特征图分别进行三种不同尺度的最大池化处理,在不同尺度上保留响应最强烈的特征;
步骤S33、对三种不同尺度的最大池化处理结果进行concat操作;
步骤S34、将输入的特征图与concat操作后的特征图进行通道合并,获得新特征图。
相对于传统的SPP单元,改进的SPP单元不在需要输出固定尺寸特征向量,也不用对特征图进行等分,通过将输入的特征图与池化过的特征图进行通道合并,有更多的特征被获得,从而来提高大目标及一般目标的识别精度。而其中较小尺度的池化,更可能提取到远距离小目标的特征,对于检测远距离小目标会大有助益。
优选的,在上述一种基于改进YOLOv3的畜脸识别方法,步骤S5基于Tensorflow框架对所述初始识别模型进行训练。
优选的,在上述一种基于改进YOLOv3的畜脸识别方法,步骤S5中最终识别模型对待检测目标的识别过程为:
步骤S51、将改进的特征提取器输出的特征图与改进后的SPP单元输出的经过三种不同尺度的最大池化处理后的特征图进行拼接,并进行第一尺度检测;
步骤S52、对步骤S51得到的拼接图进行上采样,输出第一上采样特征图;
步骤S53、对DenseBlock3输出的特征图进行下采样,输出第一下采样特征图;
步骤S54、将第一上采样特征图与第一下采样特征图进行拼接,经过一系列的1×1Convolutional单元和3×3Convolutional单元卷积后,在最后一个1×1Convolutional单元上进行第二尺度检测;
步骤S55、对步骤S54得到的拼接图进行上采样,输出第二上采样特征图;
步骤S56、对DenseBlock2输出的特征图进行下采样,输出第二下采样特征图;
步骤S57、将第二上采样特征图与第二下采样特征图进行拼接,经过一系列的1×1Convolutional单元和3×3Convolutional单元卷积后,在最后一个1×1Convolutional单元上完成预测,得到多个预测框;
步骤S58、基于soft-NMS方法进行边框选择,过滤掉多余的预测框。
优选的,在上述一种基于改进YOLOv3的畜脸识别方法,步骤S58中的soft-NMS的分数重置函数如下:
式中,iou表示区域交并比,Nt表示设定的iou阈值,M表示预测框中分数值最大的框,Si表示与框M的iou小于Nt的框,bi表示预测框集合中去除M以外的框。
本发明中soft-NMS的分数重置函数首先在预测框集合中找出分数值最大的框M,将该框放入最终框的集合中,并从预测框中取出该框。分数值是目标置信度与目标识别概率的乘积。对于最终框中剩余的框,先计算其和分数值最大框M的iou,并将1与该iou差值与框的分数值相乘作为最后该框的分数值。再循环预测框集合中的每个预测框。
针对传统的非极值抑制(NMS)“硬判决”容易导致对重合度高的边框产生误删,直接影响模型的性能,导致识别准确度降低,本发明采用soft-NMS可以降低iou最大的边框置信度,保留其参与下一轮对比的可能,降低误删的可能,提高识别的准确度,并且soft-NMS进行边框选择没有涉及到对模型重新训练,因而没有增加时间成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明提供的一种基于改进YOLOv3的畜脸识别方法流程图;
图2附图为本发明提供的特征提取器的结构示意图;
图3附图为本发明提供的改进的卷积神经网络模型中Convolutional单元的结构示意图;
图4附图为本发明提供的DenseBlock1的结构示意图;
图5附图为本发明提供的DenseBlock2-DenseBlock5的结构示意图;
图6附图为本发明提供的改进的SPP单元的结构示意图;
图7附图为本发明提供的最终识别模型的结构示意图;
图8附图为本发明提供的Convolutional Set的结构示意图;
图9附图为本发明提供的使用labelImg手动标框并赋标签名的界面图;
图10附图为本发明提供的labelImg生成的XML文件;
图11附图为本发明提供的YOLOv3_DB_SPP最终识别模型的loss曲线;
图12附图和图13附图分别为YOLOv3、YOLOv3_DB和YOLOv3_DB_SPP三种模型在多只生猪样本上的检测结果对比示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例公开了一种基于改进YOLOv3的畜脸识别方法,其特征在于,包括以下步骤:
步骤S1、采集不同角度的生猪个体脸部图像,作为原始数据集;
步骤S2、构建基于DarkNet53算法的特征提取器,向特征提取器中引入DenseBlock单元,并调节DenseBlock单元的层数和叠加使用次数,对特征提取器进行改进;
步骤S3、引入SPP单元,并对SPP单元进行改进;改进的SPP单元对步骤S2中改进的特征提取器输出的特征图分别进行三种不同大小的最大池化处理,再将改进的特征提取器输出的特征图与经过三种不同大小的最大池化处理后的特征图进行通道合并,输出新特征图;SPP指的是空间金字塔池化(Spatial Pyramid Pooling)
步骤S4、构建基于YOLOv3算法的卷积神经网络模型,并向卷积神经网络模型中引入改进的特征提取器和改进的SPP单元,得到YOLOv3_DB_SPP初始识别模型;
步骤S5、利用步骤S1中的原始数据集对步骤S4中的初始识别模型进行训练和测试,获得最终识别模型。
本发明以YOLOv3算法为基础,依次引入DenseBlock单元和SPP单元,最终得到YOLOv3_DB_SPP网络结构。YOLOv3_DB_SPP识别算法能够在三个尺度特征图上对不同大小的目标进行检测,能够有针对性的处理多只样本的环境;且在完成猪脸数据集上检测任务时,对单个样本和多只圈养样本的准确率均有提高,且能够实现对远距离、有遮挡小目标的识别。
具体的,如图2-3所示,改进的特征提取器包括Convolutional单元和DenseBlock单元两部分,其中,Convolutional单元由批标准化层(BN Layer)、7×7或3×3的卷积层和Leaky ReLU激活函数构成;
其中BN Layer用于自适应的重参数化,起到避免网络参数分布发生偏移的作用,在一定程度上能够缓解深层网络的过拟合以及梯度消失问题,且对参数初始化的影响比较小。为了将原图信息保留得更加充分,提高对小目标的检测精度,本实施例参考ResNet和GoogLeNet的做法,为改进的卷积神经网络模型的首层选用核大小为7×7的卷积层,并在该层实现第一次下采样,其余的四次下采样均采用3×3的卷积层实现。
DenseBlock单元的连接模式如下式所示:
xl=Hl([x0,x1,...xl-1]);
上式中,x1表示第l层的输出,[x0,x1,...xl-1]表示将第0,1,...l-1层的特征图拼接成一个向量,Hl(·)是由批标准化层、Leaky ReLU激活函数和3×3卷积层和1×1卷积层构成的组合函数。
本发明实施例采用Leaky ReLU激活函数取代原Dense Net网络中的ReLU函数,以防止取到负值的参数被置0,导致该神经元无法学习,并在3×3的卷积层之前仍然添加1×1的卷积层作为瓶颈层,用于对输入到3×3的卷积层的特征进行降维,减少计算量。
如图4-5所示,DenseBlock单元包括DenseBlock1、DenseBlock2、DenseBlock3、DenseBlock4和DenseBlock5;其中,DenseBlock2-DenseBlock5的结构一致,输出的特征图数目不同;DenseBlock2-DenseBlock5的结构与DenseBlock1的结构不同,卷积层参数相同。DenseBlock1-DenseBlock5中卷积层输出的特征图数目分别为ki(i=1,2,3,4,5),通过设置较小的ki使得网络变窄,在加深层次的同时参数数目不至于增长的过多,减少网络计算量。
为了尽可能保留第一个7×7卷积层提取到的特征信息不会产生过多的参数,本发明实施例使用的DenseBlock单元中每一个卷积层的输出通道数设置为32,且仅使用三层的结构,即六个卷积层。经过第一个卷积层对特征的重复利用之后,对后面的2-4个卷积层采取加深层次或减小输出通道数的做法,这三个卷积层的k值分别为16,16,32,且均包含八个卷积层。最后一个卷积层为了输出更加丰富的特征信息设置了较大的通道数64以及和卷积层2-4相同的层数。由于DenseBlock单元中的卷积层较Residual中要多,故本发明将它的叠加使用分别减少到1,2,4,2,1。避免因次数使用过多导致网络层次过深,影响到模型的效率。
如图6所示,步骤S3包括:
步骤S31、对步骤S2中改进的特征提取器输出的特征图进行池化步长为1的padding操作;
步骤S32、对padding操作后的特征图分别进行三种不同尺度的最大池化处理,在不同尺度上保留响应最强烈的特征;
步骤S33、对三种不同尺度的最大池化处理结果进行concat操作;
步骤S34、将输入的特征图与concat操作后的特征图进行通道合并,获得新特征图。
为了保证语义信息的完整性,仍通过拼接特征提取器的输出与改进的SPP的输出保留了卷积层提取的特征,其特征图尺寸大小仍然不变,三次池化得到的特征图大小均为13×13×256。最后把输入的特征图和经过三种不同尺寸池化后的局部尺寸特征图利用通道合并组合在一起,得到大小为13×13×1024的新特征图。
相对于传统的SPP单元,改进的SPP单元不在需要输出固定尺寸特征向量,也不用对特征图进行等分,通过将输入的特征图与池化过的特征图进行通道合并,有更多的特征被获得,从而来提高大目标及一般目标的识别精度。而其中较小尺度的池化,更可能提取到远距离小目标的特征,对于检测远距离小目标会大有助益。
如图7所示,步骤S5包括:
步骤S51、将改进的特征提取器输出的特征图与改进后的SPP单元输出的新特征图进行拼接,并进行第一尺度检测;
步骤S52、对步骤S51得到的拼接图进行上采样,输出第一上采样特征图;
步骤S53、对DenseBlock3输出的特征图进行下采样,输出第一下采样特征图;
步骤S54、将第一上采样特征图与第一下采样特征图进行拼接,经过3个1×1Convolutional单元和2个3×3Convolutional单元卷积后,在最后一个1×1Convolutional单元上进行第二尺度检测;如图8所示,3个1×1和2个3×3Convolutional单元组成了Convolutional Set。
步骤S55、对步骤S54得到的拼接图进行上采样,输出第二上采样特征图;
步骤S56、对DenseBlock2输出的特征图进行下采样,输出第二下采样特征图;
步骤S57、将第二上采样特征图与第二下采样特征图进行拼接,经过3个1×1Convolutional单元和2个3×3Convolutional单元卷积后,在最后一个1×1Convolutional单元上完成预测,得到多个预测框;
步骤S58、基于soft-NMS方法进行边框选择,过滤掉多余的预测框。
YOLOv3_DB_SPP最终识别模型的网络结构首先在改进的卷积神经网络模型的末尾增加Convolutional Set。它包括数个1×1和3×3的卷积层。再在该单元的后面引入了改进的SPP,改进的SPP对卷积层提取的特征图分别进行大小为7×7,5×5以及3×3的最大池化。
在改进的SPP的最后对三种不同尺度池化的结果进行了concat操作。并将改进卷积神经网络模型的输出与改进的SPP的输出进行拼接作为下一个3×3卷积层的输入,经过处理进入第一尺度检测器的1×1卷积层,实现在尺寸为13×13特征图上的检测操作。
网络的第二个尺度对改进的SPP单元与改进卷积神经网络模型输出拼接得到的特征图进行上采样,输出特征图大小为26×26。与YOLOv3不同,YOLOv3_DB_SPP结构中DenseBlock单元层数较多,如果仍然将上采样得到的26×26的特征图与DenseBlock单元中第四个卷积层输出的特征图进行拼接操作,输出的通道数将会变得很大,而在此处进行1×1降维又有可能会丢失部分特征,故本文在第二尺度采用第四个下采样层大小为26×26的输出与其进行拼接。再经过Convolutional Set和3×3卷积后输入1×1卷积层,完成第二次检测。
最后一个尺度重复第二个尺度的操作,将第三个下采样层的输出与第二个尺度拼接后特征的上采样特征进行拼接,经过一系列1×1和3×3卷积后在最后一个1×1卷积上完成预测。
由于三个尺度的预测会产生非常多的预测框,本实施例使用基于soft-NMS的方法进行边框选择,过滤掉多余的预测框。
针对传统的非极值抑制(NMS)“硬判决”容易导致对重合度高的边框产生误删,直接影响模型的性能,导致识别准确度降低,本发明采用soft-NMS可以降低iou最大的边框置信度,保留其参与下一轮对比的可能,降低误删的可能,提高识别的准确度,并且soft-NMS进行边框选择没有涉及到对模型重新训练,因而没有增加时间成本。
步骤S58中的soft-NMS的分数重置函数如下:
式中,iou表示区域交并比,Nt表示设定的iou阈值,M表示预测框中分数值最大的框,Si表示与框M的iou小于Nt的框,bi表示预测框集合中去除M以外的框。
本发明中soft-NMS的分数重置函数首先在预测框集合中找出分数值最大的框M,将该框放入最终框的集合中,并从预测框中取出该框。分数值是目标置信度与目标识别概率的乘积。对于最终框中剩余的框,先计算其和分数值最大框M的iou,并将1与该iou差值与框的分数值相乘作为最后该框的分数值。再循环预测框集合中的每个预测框。
下面将通过实验进一步验证本发明实施例的效果。
1、实验数据集
本发明实验作为样本的猪来自当地猪场,使用罗技C920 Pro摄像头作为实时采集工具,利用NanoPc-T4开发板将USB连接的摄像头采集到的图像传输到开发板的I/O缓冲区中,然后在开发板的图形运算单元上对图像数据进行压缩打包处理,通过4G通信模块将图像信息经过互联网传输到服务器。实验中安装摄像头的圈舍光照较为充足,且实验采集装置能够远程控制摄像头的旋转,使得采集到的样本图像具有不同角度的生猪个体脸部信息。
为了保证采集到的样本画面连续,能够辨认生猪个体是否为同一只,实验采集装置采样时间间隔设置为1s。但过短的时间间隔又导致采集的样本图像之间相似度过高甚至画面接近重复,故对采集到的样本图像进行了筛选。针对这种情况,本实验对连续采集图像之间采用结构相似性指数(SSIM,structural similarity index)进行比较。经过对样本进行一系列的比较实验,本文实验样本同时选用SSIM值小于0.78的两张图像,若大于该值,则选用序号靠后的一张。
实验采用的猪脸数据集共有8512图片,根据其中包含的10个生猪个体分别编号,样本有单只圈养和多只圈养近距离较少遮挡样本以及多只圈养远距离小目标样本。由于多只圈养时的小目标样本大部分难以准确区分或数量不多,所以数据集中此类样本只收集了生猪编号为8,9,10的三个个体的图像,编号1到7则为近距离样本。
2、样本标注
本实验提出一种对采集到的样本按生猪个体进行标框分类,分别命名为pig1,pig2,pig3,pig4,pig5,pig6,pig7,pig8,pig9,pig10。使用labelImg手动标框并赋标签名,界面如图9。labelImg生成的XML文件包含了样本图像的尺寸以及样本框左上角和右下角的坐标等信息,XML文件中的具体内容见图10。
3、训练方法
实验采用的操作系统为Ubuntu18.04.3,CPU为Intel i5 9400F 2.9GHz,内存64G,GPU使用的是NVIDIA GEFORCE RTX 2080Ti,显存32G;深度学习框架为Tensorflow,版本1.13.0。
实验中网络模型的输入为416×416×3的RGB彩色生猪图像,训练时对训练集采用随机裁剪,平移以及水平翻转的数据增强方法,训练集和测试集占比约为9:1,每个batch中有32张图片。
实验分为三个阶段,由于网络训练初期可能出现loss值为NaN的情况,为了避免该问题初始学习率一般设置较低,但较低的学习率又会导致训练速度慢,因此设置第一阶段用于稳定训练,这一阶段的学习率逐渐增大。第二阶段训练除去检测器之外的所有层来提取特征;最后一阶段进行全网训练。
由于改进的YOLOv3_DB_SPP网络模型与YOLOv3层数在卷积层层数,参数数目等方面均有区别,因此在训练时本实验根据模型收敛实际情况使用了两组参数。针对YOLOv3模型,初始学习率设置为0.0001,针对YOLOv3_DB_SPP模型,初始学习率为0.00001。
4、性能分析
如图11所示,网络模型的损失分为三个部分,目标类别的损失以及置信度损失使用二值交叉熵函数(Binary Cross Entropy),定位损失采用预测偏移量与真实偏移量之间差的平方和作为损失函数,三者之和为最终损失total_loss。YOLOv3_DB_SPP训练3.5个小时左右,在迭代到21000个steps时total_loss收敛到0.015。
表1给出了当iou阈值为0.45,保留目标分类概率大于等于0.1的检测结果时三种模型的结果。其中YOLOv3_DB表示未加改进的SPP的识别模型。从中可以看出YOLOv3_DB与YOLOv3_DB_SPP的mAP值均高于YOLOv3,且后者较前者有显著提升,说明本发明提出的方法对提高检测准确率有明显作用。YOLOv3_DB方法在前7类上的AP值虽然有所提升,但对于pig8,pig9,pig10这种多只圈养样本中的生猪结果并不够好,而YOLOv3_DB_SPP不仅前7类检测效果优于前两种模型,且对多只圈养的样本仍有较高检测结果,说明改进的SPP单元对于检测距离较远,遮挡较多的小目标物体有所助益。
表1相同阈值下三种模型各项性能指标的对比
为了进一步说明本发明的性能,表2给出了保留不同分类概率结果时三种网络模型在测试集上的mAP值,此时iou阈值仍为0.45。从中可以看出随着阈值的不断提升,YOLOv3的mAP下降十分明显,而改进的两版结果受影响相对较小,这说明YOLOv3检测的结果大部分都是低概率的,一旦阈值提升,这些结果都会被剔除,mAP也就会下降。且对这10类样本进行目标检测时,改进的网络模型在每一个生猪个体上的mAP相较于YOLOv3均有不同幅度的提升。
表2不同阈值下三种模型的mAP值对比
如图12和图13所示,给出了三种模型在多只生猪样本上的检测结果,其中12(a),13(a)是YOLOv3的检测结果,12(b),13(b)是YOLOv3_DB的检测结果,12(c),13(c)是YOLOv3_DB_SPP的检测结果。从12(b)中可以看出,相对于YOLOv3,YOLOv3_DB能够很好检测出右下角阴影遮挡的生猪,而12(c)的结果则表明YOLOv3_DB_SPP相对于前两者对角落里遮挡较多的小样本也能实现检测,但对小样本边界框的定位不够精确。图13(b)中边界框更完整的框出了检测目标,图13(c)的检测结果再一次说明YOLOv3_DB_SPP能够对远距离或有遮挡小目标的检测。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种基于改进YOLOv3的畜脸识别方法,其特征在于,包括以下步骤:
步骤S1、采集不同角度的生猪个体脸部图像,作为原始数据集;
步骤S2、构建基于DarkNet53算法的特征提取器,向所述特征提取器中引入DenseBlock单元,并调节DenseBlock单元的层数和叠加使用次数,对所述特征提取器进行改进;
步骤S3、引入SPP单元,并对SPP单元进行改进;改进的SPP单元对步骤S2中改进的特征提取器输出的特征图分别进行三种不同大小的最大池化处理,再将改进的所述特征提取器输出的特征图与经过三种不同大小的最大池化处理后的特征图进行通道合并,输出新特征图;
步骤S4、构建基于YOLOv3算法的卷积神经网络模型,并向所述卷积神经网络模型中引入改进的所述特征提取器和改进的所述SPP单元,得到YOLOv3_DB_SPP初始识别模型;
步骤S5、利用步骤S1中的原始数据集对步骤S4中的初始识别模型进行训练和测试,获得最终识别模型。
2.根据权利要求1所述的一种基于改进YOLOv3的畜脸识别方法,其特征在于,步骤S1还包括对所述原始数据集进行预处理,所述预处理包括对图像进行剪裁、平移和水平翻转。
3.根据权利要求1所述的一种基于改进YOLOv3的畜脸识别方法,其特征在于,步骤S2中改进的所述特征提取器包括Convolutional单元和DenseBlock单元;Convolutional单元由批标准化层、7×7或3×3的卷积层和Leaky ReLU激活函数构成;
DenseBlock单元的连接模式如下式所示:
xl=Hl([x0,x1,…xl-1]);
上式中,x1表示第l层的输出,[x0,x1,...xl-1]表示将第0,1,...l-1层的特征图拼接成一个向量,Hl(·)是由批标准化层、Leaky ReLU激活函数以及3×3卷积层或1×1卷积层构成的组合函数。
4.根据权利要求3所述的一种基于改进YOLOv3的畜脸识别方法,其特征在于,DenseBlock单元包括DenseBlock1、DenseBlock2、DenseBlock3、DenseBlock4和DenseBlock5;其中,DenseBlock2-DenseBlock5的结构一致,k值不同,k表示DenseBlock2-DenseBlock5中每个卷积层输出的特征图数目;DenseBlock2-DenseBlock5的结构与DenseBlock1的结构不同,卷积层参数相同。
5.根据权利要求1所述的一种基于改进YOLOv3的畜脸识别方法,其特征在于,步骤S3包括:
步骤S31、对步骤S2中改进的特征提取器输出的特征图进行池化步长为1的padding操作;
步骤S32、对padding操作后的特征图分别进行三种不同尺度的最大池化处理,在不同尺度上保留响应最强烈的特征;
步骤S33、对三种不同尺度的最大池化处理结果进行concat操作;
步骤S34、将输入的特征图与concat操作后的特征图进行通道合并,获得新特征图。
6.根据权利要求1所述的一种基于改进YOLOv3的畜脸识别方法,其特征在于,步骤S5中基于Tensorflow框架对所述初始识别模型进行训练。
7.根据权利要求4所述的一种基于改进YOLOv3的畜脸识别方法,其特征在于,步骤S5中的最终识别模型对待检测目标的识别过程为:
步骤S51、将改进的特征提取器输出的特征图与改进后的SPP单元输出的经过三种不同尺度的最大池化处理后的特征图拼接,并进行第一尺度检测;
步骤S52、对步骤S51得到的拼接图进行上采样,输出第一上采样特征图;
步骤S53、对DenseBlock3输出的特征图进行下采样,输出第一下采样特征图;
步骤S54、将第一上采样特征图与第一下采样特征图进行拼接,经过一系列的1×1Convolutional单元和3×3Convolutional单元卷积后,在最后一个1×1Convolutional单元上进行第二尺度检测;
步骤S55、对步骤S54得到的拼接图进行上采样,输出第二上采样特征图;
步骤S56、对DenseBlock2输出的特征图进行下采样,输出第二下采样特征图;
步骤S57、将第二上采样特征图与第二下采样特征图进行拼接,经过一系列的1×1Convolutional单元和3×3Convolutional单元卷积后,在最后一个1×1Convolutional单元上完成预测,得到多个预测框;
步骤S58、基于soft-NMS方法进行边框选择,过滤掉多余的预测框。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010711196.0A CN111881803B (zh) | 2020-07-22 | 2020-07-22 | 一种基于改进YOLOv3的畜脸识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010711196.0A CN111881803B (zh) | 2020-07-22 | 2020-07-22 | 一种基于改进YOLOv3的畜脸识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111881803A true CN111881803A (zh) | 2020-11-03 |
CN111881803B CN111881803B (zh) | 2023-10-31 |
Family
ID=73155306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010711196.0A Active CN111881803B (zh) | 2020-07-22 | 2020-07-22 | 一种基于改进YOLOv3的畜脸识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111881803B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112396002A (zh) * | 2020-11-20 | 2021-02-23 | 重庆邮电大学 | 一种基于SE-YOLOv3的轻量级遥感目标检测方法 |
CN113111719A (zh) * | 2021-03-16 | 2021-07-13 | 苏州海宸威视智能科技有限公司 | 基于重结构化类脑卷积的无人机视角下的车辆检测方法 |
CN114627502A (zh) * | 2022-03-10 | 2022-06-14 | 安徽农业大学 | 一种基于改进YOLOv5的目标识别检测方法 |
CN114821778A (zh) * | 2022-04-22 | 2022-07-29 | 中国农业大学 | 一种水下鱼体姿态动态识别方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109685152A (zh) * | 2018-12-29 | 2019-04-26 | 北京化工大学 | 一种基于dc-spp-yolo的图像目标检测方法 |
WO2019144575A1 (zh) * | 2018-01-24 | 2019-08-01 | 中山大学 | 一种快速行人检测方法及装置 |
CN110533084A (zh) * | 2019-08-12 | 2019-12-03 | 长安大学 | 一种基于自注意力机制的多尺度目标检测方法 |
-
2020
- 2020-07-22 CN CN202010711196.0A patent/CN111881803B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019144575A1 (zh) * | 2018-01-24 | 2019-08-01 | 中山大学 | 一种快速行人检测方法及装置 |
CN109685152A (zh) * | 2018-12-29 | 2019-04-26 | 北京化工大学 | 一种基于dc-spp-yolo的图像目标检测方法 |
CN110533084A (zh) * | 2019-08-12 | 2019-12-03 | 长安大学 | 一种基于自注意力机制的多尺度目标检测方法 |
Non-Patent Citations (2)
Title |
---|
刘丽;郑洋;付冬梅;: "改进YOLOv3网络结构的遮挡行人检测算法", 模式识别与人工智能, no. 06 * |
王荣;史再峰;高荣华;李奇峰;: "多变环境下基于多尺度卷积网络的猪个体识别", 江西农业大学学报, no. 02 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112396002A (zh) * | 2020-11-20 | 2021-02-23 | 重庆邮电大学 | 一种基于SE-YOLOv3的轻量级遥感目标检测方法 |
CN113111719A (zh) * | 2021-03-16 | 2021-07-13 | 苏州海宸威视智能科技有限公司 | 基于重结构化类脑卷积的无人机视角下的车辆检测方法 |
CN114627502A (zh) * | 2022-03-10 | 2022-06-14 | 安徽农业大学 | 一种基于改进YOLOv5的目标识别检测方法 |
CN114627502B (zh) * | 2022-03-10 | 2024-12-03 | 安徽农业大学 | 一种基于改进YOLOv5的目标识别检测方法 |
CN114821778A (zh) * | 2022-04-22 | 2022-07-29 | 中国农业大学 | 一种水下鱼体姿态动态识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111881803B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112818862B (zh) | 基于多源线索与混合注意力的人脸篡改检测方法与系统 | |
CN111178197B (zh) | 基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法 | |
Yin et al. | FD-SSD: An improved SSD object detection algorithm based on feature fusion and dilated convolution | |
CN108334848B (zh) | 一种基于生成对抗网络的微小人脸识别方法 | |
Kadam et al. | Detection and localization of multiple image splicing using MobileNet V1 | |
CN111881803B (zh) | 一种基于改进YOLOv3的畜脸识别方法 | |
CN106897673B (zh) | 一种基于retinex算法和卷积神经网络的行人再识别方法 | |
CN101667245B (zh) | 基于支持向量新颖检测分类器级联的人脸检测方法 | |
CN110008853B (zh) | 行人检测网络及模型训练方法、检测方法、介质、设备 | |
CN110689021A (zh) | 一种基于深度学习的低可见度环境下实时目标检测方法 | |
CN111860171A (zh) | 一种大规模遥感图像中不规则形状目标的检测方法及系统 | |
CN110046574A (zh) | 基于深度学习的安全帽佩戴识别方法及设备 | |
CN113537173B (zh) | 一种基于面部补丁映射的人脸图像真伪识别方法 | |
CN116092179A (zh) | 一种改进的yolox跌倒检测系统 | |
CN113470076A (zh) | 一种平养鸡舍黄羽鸡多目标跟踪方法 | |
CN112949634B (zh) | 一种铁路接触网鸟窝检测方法 | |
Li et al. | Fast recognition of pig faces based on improved Yolov3 | |
CN113780193A (zh) | 基于rcnn的牛群目标检测方法及设备 | |
CN113221731A (zh) | 一种多尺度遥感图像目标检测方法及系统 | |
CN115761356A (zh) | 图像识别方法、装置、电子设备和存储介质 | |
CN110188811A (zh) | 基于赋范梯度特征与卷积神经网络的水下目标检测方法 | |
Zhu et al. | Multi-class segmentation of navel orange surface defects based on improved deeplabv3+ | |
CN118097664A (zh) | 一种细胞密集型生物医学影像相似性判断方法、装置、设备及介质 | |
CN117173550A (zh) | 合成孔径声纳图像水下小目标检测方法及系统 | |
Vasumathi et al. | Fish disease detection using machine learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |