CN116884036A - 基于YOLOv5DA的生猪姿态检测方法、装置、设备及介质 - Google Patents
基于YOLOv5DA的生猪姿态检测方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116884036A CN116884036A CN202310845487.2A CN202310845487A CN116884036A CN 116884036 A CN116884036 A CN 116884036A CN 202310845487 A CN202310845487 A CN 202310845487A CN 116884036 A CN116884036 A CN 116884036A
- Authority
- CN
- China
- Prior art keywords
- live pig
- posture detection
- yolov5da
- model
- live
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 129
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 16
- 230000004927 fusion Effects 0.000 claims description 53
- 238000010586 diagram Methods 0.000 claims description 31
- 238000012549 training Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 22
- 230000003044 adaptive effect Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 11
- 230000001788 irregular Effects 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 8
- 238000011176 pooling Methods 0.000 claims description 7
- 238000000034 method Methods 0.000 abstract description 47
- 241000282887 Suidae Species 0.000 abstract description 27
- 230000002776 aggregation Effects 0.000 abstract description 9
- 238000004220 aggregation Methods 0.000 abstract description 9
- 238000003709 image segmentation Methods 0.000 abstract description 6
- 241000282898 Sus scrofa Species 0.000 description 96
- 230000036544 posture Effects 0.000 description 71
- 230000008569 process Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 13
- 238000005070 sampling Methods 0.000 description 8
- 230000002708 enhancing effect Effects 0.000 description 6
- 238000011160 research Methods 0.000 description 6
- 238000012512 characterization method Methods 0.000 description 5
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 101150064138 MAP1 gene Proteins 0.000 description 3
- 238000009395 breeding Methods 0.000 description 3
- 230000001488 breeding effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000007499 fusion processing Methods 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000012806 monitoring device Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000013399 early diagnosis Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 208000012153 swine disease Diseases 0.000 description 1
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
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明公开一种基于YOLOv5DA的生猪姿态检测方法、装置、设备及介质,可直接在群养环境下,将有聚集、遮挡、粘连情况下的生猪视频和图片作为输入进行检测,直接得到生猪的姿态检测结果并进行输出,不仅解决了一些方法在基于图像分割算法的基础上构建的猪只姿态检测模型的局限性,即仅能将生猪个体从养殖环境中分离出来后进行检测,并不能检测出一张图片中同类物体的不同个体的局限;还有效地解决了目标检测因生猪聚集、遮挡、粘连而导致的漏检和错检的问题。
Description
技术领域
本发明属于计算机目标检测技术领域,尤其涉及生猪姿态智能分析,具体为一种基于YOLOv5DA的生猪姿态检测方法、装置、设备及介质。
背景技术
由于生猪群养,往往一只生猪患病后,会感染很多的猪只,对整个猪场造成威胁。而经过研究表明,在众多影响猪的健康诊断依据中,姿态是其中最重要的因素之一。猪日常生活中的主要行为猪只的躺卧、站立、行走。对这些姿态的检测可用于生猪疾病的预防和早期诊断。及时的发现生猪的异常行为,可以有效地避免因一只生猪生病而导致大多数生猪被感染的现象,以此可以提高猪场的经济收益。
在猪体姿态研究领域,目前常用的深度学习方法有:目标检测和图像分割等。图像分割旨在将图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标,但其仅仅将生猪个体从养殖环境中分离出来,并不能检测出同一张图片中的同类物体的不同个体。目标检测可实现复杂背景下生猪个体的框选,基于深度学习的目标检测分为两阶段算法和一阶段算法。其中两阶段算法的算法精度虽然高,但它的速度很慢。一阶段算法可在检测速度和精度上比两阶段算法有更好的平衡,主要以yolo,ssd,centernet为代表。其中yolo系列在速度和精度之间取得了良好的平衡,得到了广泛的应用,但此类方法在杂物遮挡、群猪粘连等场景下容易造成目标框边界模糊和漏检,它的检测精度还有待进一步提高。
发明内容
为克服上述现有技术的不足,本发明提供一种基于YOLOv5DA的生猪姿态检测方法、装置、设备及介质,用以解决因杂物遮挡、群猪粘连的情况造成目标框边界模糊和漏检的问题。
根据本发明说明书的一方面,提供一种基于YOLOv5DA的生猪姿态检测方法,包括:
获取生猪图片;
将所述生猪图片输入训练好的生猪姿态检测模型YOLOv5DA,输出每个生猪的姿态信息;
所述生猪姿态检测模型YOLOv5DA的训练进一步包括:
构建生猪姿态检测数据集;
在YOLOv5s模型的基础上,分别引入Mosaic9数据增强、可变形卷积、自适应空间特征融合,构建生猪姿态检测模型YOLOv5DA,其中,所述Mosaic9数据增强用于数据集处理以形成增强后的图片,所述可变形卷积用于提高模型对不规则物体的建模能力,所述自适应空间特征融合用于通过自适应地学习不同尺度特征的融合权重来提取有效信息;
根据所述生猪姿态检测数据集,对构建的生猪姿态检测模型YOLOv5DA进行训练和测试,得到训练好的生猪姿态检测模型YOLOv5DA。
在猪体姿态研究领域,针对利用图像分割方法并不能检测出同一张图片中的同类物体的不同个体的问题,以及在目标检测方法中,常常会因为杂物遮挡、群猪粘连的情况造成目标框边界模糊和漏检的问题,上述技术方案在目标检测方法YOLOv5s的基础上引入了Mosaic9数据增强、可变形卷积、自适应空间特征融合三种模块,构建了一个新的生猪姿态检测模型YOLOv5DA,不仅能实现同时检测一张图片中的多个生猪姿态,还能有效地解决目标模型出现漏检和错检的问题。
作为进一步的技术方案,所述方法还包括:获取每个生猪的置信度信息,将置信度信息大于等于预设置信阈值的生猪姿态信息进行显示,获得生猪姿态检测结果。
作为进一步的技术方案,所述可变形卷积进一步包括:
根据输入的图像,利用传统的卷积核提取特征图;
把得到的特征图作为输入,对特征图再施加一个卷积层,得到可变形卷积的变形的偏移量,其中,偏移层是2N,这里的2分别对应X和Y这2个2D偏移,N是通道数;
将得到的可变形卷积的变形的偏移量与利用传统的卷积核提取的特征图中的位置相加得到偏移后的位置;
利用双线性插值算法获取偏移后的每个位置的像素,以此得到输出特征图;
将新得到的输出特征图作为输入数据送入下一层用于后续的特征提取。
作为进一步的技术方案,所述自适应空间特征融合包括尺度调整和自适应融合。
作为进一步的技术方案,所述尺度调整通过上采样、最大池化、下采样三个操作实现。
作为进一步的技术方案,所述自适应融合包括:将来自各层的特征通过尺度缩放之后生成与原有特征相同大小的特征图,将生成的各特征图分别与权重参数相乘后相加,得到融合后的特征。
作为进一步的技术方案,所述生猪姿态检测模型YOLOv5DA包括主干网络、颈部网络和头部网络三个部分,其中,在所述主干网络引入可变形卷积,在所述头部网络引入自适应空间特征融合。
根据本发明说明书的一方面,提供一种基于YOLOv5DA的生猪姿态检测装置,包括:
获取模块,用于获取生猪图片;
模型检测模块,用于将所述生猪图片输入训练好的生猪姿态检测模型YOLOv5DA,输出每个生猪的姿态信息;
所述生猪姿态检测模型YOLOv5DA的训练进一步包括:
构建生猪姿态检测数据集;
在YOLOv5s模型的基础上,分别引入Mosaic9数据增强、可变形卷积、自适应空间特征融合,构建生猪姿态检测模型YOLOv5DA,其中,所述Mosaic9数据增强用于数据集处理以形成增强后的图片,所述可变形卷积用于提高模型对不规则物体的建模能力,所述自适应空间特征融合用于通过自适应地学习不同尺度特征的融合权重来提取有效信息;
根据所述生猪姿态检测数据集,对构建的生猪姿态检测模型YOLOv5DA进行训练和测试,得到训练好的生猪姿态检测模型YOLOv5DA。
根据本发明说明书的一方面,提供一种电子设备,所述电子设备包括处理器、存储器,以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现所述的基于YOLOv5DA的生猪姿态检测方法的步骤。
根据本发明说明书的一方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现所述的基于YOLOv5DA的生猪姿态检测方法的步骤。
与现有技术相比,本发明的有益效果在于:
本发明提供一种基于YOLOv5DA的生猪姿态检测方法,可直接在群养环境下,将有聚集、遮挡、粘连情况下的生猪视频和图片作为输入进行检测,直接得到生猪的姿态检测结果并进行输出,不仅解决了一些方法在基于图像分割算法的基础上构建的猪只姿态检测模型的局限性,即仅能将生猪个体从养殖环境中分离出来后进行检测,并不能检测出一张图片中同类物体的不同个体的局限;还有效地解决了目标检测算法因生猪聚集、遮挡、粘连而导致的漏检和错检的问题。
附图说明
图1为根据本发明实施例的生猪姿态检测模型YOLOv5DA的训练流程图。
图2为根据本发明实施例的生猪姿态数据集标注示例。
图3为根据本发明实施例的未进行Mosaic9数据增强前的数据集示意图。
图4为根据本发明实施例的YOLOv5DA构建示意图。
图5为根据本发明实施例的生猪姿态检测结果示意图。
图6为根据本发明实施例的Mosaic9数据增强示意图。
图7为根据本发明实施例的可变形卷积过程示意图。
图8为根据本发明实施例的自适应空间特征融合过程示意图。
图9为根据本发明实施例的YOLOv5DA模型结构示意图。
具体实施方式
以下将结合附图对本发明各实施例的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
在猪体姿态研究领域,针对利用图像分割方法并不能检测出同一张图片中的同类物体的不同个体的问题,本发明利用目标检测方法进行检测。针对在目标检测方法中,常常会因为杂物遮挡、群猪粘连的情况造成目标框边界模糊和漏检的问题。本发明在目标检测方法YOLOv5s的基础上引入了Mosaic9数据增强、可变形卷积、自适应空间特征融合三种模块,构建了一个新的生猪姿态检测模型YOLOv5DA。YOLOv5DA不仅能实现同时检测一张图片中的多个生猪姿态,还能有效地解决目标模型出现漏检和错检的问题。
一方面,本发明提供一种基于YOLOv5DA的生猪姿态检测方法,包括:
获取生猪图片;
将所述生猪图片输入训练好的生猪姿态检测模型YOLOv5DA,输出每个生猪的姿态信息;
将置信度信息大于等于预设置信阈值的生猪姿态信息进行显示,获得生猪姿态检测结果。图5展示了输出的生猪姿态检测结果图。
其中,图1展示了生猪姿态检测模型YOLOv5DA的训练流程,具体包括:
(1)构建生猪姿态检测数据集,步骤如下:首先使用监控设备Hikvision DS-2CD3346FWDA3-1摄像机,采集四栏生猪,每栏养殖十头左右的生猪的监控视频用于数据集的构建。再对采集的监控视频进行分帧处理,每两秒之类提取一帧,并移除相似冗余的图像,以此来筛选出所要标注的图像。然后通过LabelMe标注工具对每张图像进行标注,图2展示了生猪姿态数据集的标注示例。其中处于站立姿态的猪使用黄色的边界框标注,处于侧卧姿态的猪使用绿色的边界框标注,处于俯卧姿态的猪采用浅蓝色的边界框标注。在数据集标注完成之后,本发明采用随机采样的方法,按照8:1:1的比例将原始的数据集划分为训练集、验证集和测试集。图3展示了部分构建好的数据集。
(2)在YOLOv5s的基础上引入了Mosaic9数据增强、可变形卷积、自适应空间特征融合三种模块,构建了一个新的生猪姿态检测模型YOLOv5DA。图4展示了构建YOLOv5DA的过程。
(3)基于获得的生猪姿态检测数据集中的训练集,进行模型训练,将所有图像统一缩放到640*640的大小,并使用了SCD的优化器来进行模型的优化,因此得到预训练好的生猪姿态检测模型。基于获得的生猪姿态检测数据集中的测试集,利用预训练好的生猪姿态检测模型进行检测,获得每个生猪的姿态信息和置信度信息。
图6至图8展示了新加入的三个模块。
图6展示了Mosaic9数据增强的过程,采用的Mosaic9数据增强步骤包括:
1)每次随机读取9张图片。
2)分别对四张图片进行翻转、缩放、色域变化等,并且按照9个方向位置摆好。
3)将九张经过裁剪缩放处理后的图片重新拼接成一张新的图片。
4)该过程重复多次,最后形成多个增强后的图片用于模型的训练。
将训练集用Mosaic9数据增强的方法可以增加数据集中小目标的个数,丰富样本的背景信息,提高模型的泛化能力。可有效处理群养环境下聚集、遮挡导致的目标检测困难问题。
图7展示了可变形卷积的过程,在模型的主干网络(Backbone)中加入的可变性卷积(DCN)的操作步骤为:
1)根据输入的图像,利用传统的卷积核提取特征图。
2)把得到的特征图作为输入,对特征图再施加一个卷积层,得到可变形卷积的变形的偏移量。其中,偏移层是2N,其中的2分别对应X和Y这2个2D偏移,N是通道数。
3)将得到的可变形卷积的变形的偏移量与利用传统的卷积核提取的特征图中的位置相加得到偏移后的位置。
4)利用双线性插值算法获取偏移后的每个位置的像素,以此得到输出特征图。
5)将新得到的输出特征图作为输入数据到下一层用于后续的特征提取。
在训练的时候,用于生成输出特征的卷积核和用于生成偏移量的卷积核是同步学习的。其中偏移量的学习是利用插值算法,通过反向传播进行学习。
所述输出特征图的表达式为:
式中,pn表示卷积核元素相对于卷积核中心的偏移量,R表示所有卷积核元素相对于卷积核中心的偏移量的集合,p0表示卷积核中心相对于输入特征图左上角的坐标,Δpn表示为生成的偏移量通常为小数。w(pn)表示在w这个函数中,用pn作为输入,可以输出pn这个坐标位置的权重,每个坐标所对应的权重是已知的。p0+pn+Δpn表示原来的坐标值加上生成的偏移后的坐标值,最后得到一个新的坐标值。x(p0+pn+Δpn)表示的是输入这个新的坐标值,输出它通过x()这个函数计算后的像素值。
x(p)表示通过双线性插值计算的坐标所对应的像素;
x(p)=∑qG(q,p)·x(q)p=p0+pn+Δpn;
式中,q表示图像中的所有像素点的坐标,G(q,p)表示通过计算后坐标q所对应的权重。p表示的是原来的坐标值加上生成的偏移量,最后得到一个新的坐标值,这个新的坐标带小数,因为生成的偏移量带小数。x(q)表示的是输入一个坐标值,输出其对应的像素值。每个整数坐标对应的像素值是已知的。
X()这个函数的意思是,当输入一个坐标值,先去求图中所有的坐标值相对于这个坐标值的横纵坐标距离,当横纵坐标距离都在1以内的时候,那么这个坐标所对应的像素值将会参与计算。计算的过程是将横纵距离都在1以内的像素值,分别乘以通过G(q,p)=G(qx,px)·g(qy,py)计算的其对应的权重,最后将他们都加起来。输出通过这种计算方法计算出的像素值。
G(q,p)=g(qx,px)·g(qy,py);
式中,qx表示q存图像中的像素占的横坐标,px表示p存图像中的像素占的横坐标。qy表示q在图像中的像素点的纵坐标,py表示p在图像中的像素点的纵坐标。G(qx,px)表示通过计算的权重。
g(a,b)=max(0,1-|a-b|);
式子表示当两个坐标值的差值在1之间的时候,权重为1减去它们的差值,若它们差值大于1,则权重为0。
由于在群养的环境下,生猪经常会出现聚集的情况,生猪之间的遮挡就不可避免,而传统的卷积总是使用固定尺寸的卷积核在特征图的固定位置进行采样,就极大地限制了其处理不规则物体地建模能力,因此引入了可变形卷积,用于提高模型对不规则物体的建模能力,可以提取更加细致的表征。
图8展示了自适应空间特征融合的过程,在模型的头部网络(Head)中加入的自适应空间特征融合的步骤包括:
尺度调整和自适应融合。
尺度调整,该方法主要通过上采样、最大池化、下采样三个操作实现。对于上采样,该方法首先使用一个1*1的卷积将通道数调整为相同的大小,然后使用最近邻插值放大到相同的尺寸;对于1/2倍率的下采样,该方法则直接使用一个步距为2的3*3卷积完成;对于1/4倍率的下采样,该方法首先使用一个步距为2的最大池化,然后使用一个步距为2的3*3卷积来处理。
自适应融合,当尺度调整之后便开始不同尺度特征的自适应融合。以图8中的ASFF-3为例,展示了融合的过程,融合的公式如下所示:
式中,和/>分别表示来自level1,1evel2,level3的特征通过尺度缩放之后生成与xl相同大小的特征图,对于权重参数α,β和γ,则是利用尺度缩放之后的level1,level2和level3的特征图经过1×1的卷积得到,再对得到后的α,β和γ使用softmax函数如下:
使用softmax函数可以使得他们的范围在[0,1]之内,并且和为1。
主流的研究通常采用特征金字塔结构来利用高层的语义信息和底层的空间信息,但是此方法没有考虑到在多尺度特征融合时,不同分辨率的表征的重要程度不同。从而直接相加相邻特征层中的元素或是将特征层在深度方向进行拼接通常不能实现最好的检测性能。因此引入了自适应空间特征融合,它能通过自适应地学习不同尺度特征地融合权重,从而过滤掉其他特征层中无效的信息,只保留有效的信息用于后续的特征融合。
图9展示了改进后的整体的YOLOv5DA模型结构。
1)引入了可变形卷积的主干网络(Backbone),用于图像特征的提取。主要包括:
CBS,是一个混合的特征提取模块,主要有2D卷积,批归一化和SiLU激活函数。其中2D卷积用于图像特征的提取。批归一化,是一个正则化处理,用于使输入的数据具有相同的分布,从而加快模型的收敛速度,提高模型的训练稳定性。SiLU激活函数,用于使模型具备处理非线性问题的能力,避免梯度消失的问题。
DCN,是一种可变形卷积,用于提高模型对不规则物体的建模能力,可以提取更加细致的表征。
C3,增加网络的深度和感受野,提高特征提取的能力。它的具体操作步骤为输入特征图一条分支先经过CBS,再经过Bottleneck,得到一个新的特征图1;另一条分支先经过CBS得到一个新的特征图2。然后将新的特征图1和新的特征图2经过拼接后再经过CBS,最后得到输出。其中Bottleneck的操作为,输入特征图先串行地经过两个CBS,再经过shortcut,得到输出特征图。
SPPF,用于对特征图进行多次池化,提取高层特征并融合,实现不同尺度的特征融合。它的具体步骤为输入特征图一条分支先经过CBS,然后串行经过三个5×5大小的最大池层得到一个新的特征图1,另一条分支经过CBS得到一个新的特征图2,再将新的特征图1和新的特征图2进行连接得到新的特征图3,最后经过CBS提取特征,得到输出特征图,以实现不同尺度的特征融合。SPPF能够保证提取相同信息的同时显著加快运行速度。
2)颈部网络(Nect),用于进一步融合Backbone中提取的不同尺度特征,进一步学习更加丰富的语义信息。它包括特征金字塔网络和路径聚合网络。
特征金字塔网络,通过自上而下的路径和横向连接,顺序地组合两个相邻的特征层,用于来学习更强的语义信息。
路径聚合网络,通过自下而上的路径和横向连接,顺序地组合两个相邻的特征层,将低层的语义信息像高层进行融合,用于学习更强的空间信息。
3)引入了自适应空间特征融合的头部网络(Head),用于将提取的特征转化为最终的输出结果,生成边界框和并预测类别。其中包括一个1×1的卷积和自适应空间特征融合。
一个1×1的卷积,用于将不同尺度特征图的通道数调整为N×(C+5),用于生成最终的预测结果。其中N表示每个不同尺度特征层使用的Anchor数目;C表示数据集中的类别个数;5代表每个Anchor的四个回归参数(x,y,w,h)和一个目标置信度分数p。
自适应空间特征融合,用于过滤掉其他特征层中无效的信息,而只保留有效的信息用于后续的特征融合。
一方面,本发明还提供一种基于YOLOv5DA的生猪姿态检测装置,包括:
获取模块,用于获取生猪图片;
模型检测模块,用于将所述生猪图片输入训练好的生猪姿态检测模型YOLOv5DA,输出每个生猪的姿态信息和置信度信息;
所述生猪姿态检测模型YOLOv5DA的训练进一步包括:
构建生猪姿态检测数据集;
在YOLOv5s模型的基础上,分别引入Mosaic9数据增强、可变形卷积、自适应空间特征融合,构建生猪姿态检测模型YOLOv5DA,其中,所述Mosaic9数据增强用于数据集处理以形成增强后的图片,所述可变形卷积用于提高模型对不规则物体的建模能力,所述自适应空间特征融合用于通过自适应地学习不同尺度特征的融合权重来提取有效信息;
根据所述生猪姿态检测数据集,对构建的生猪姿态检测模型YOLOv5DA进行训练和测试,得到训练好的生猪姿态检测模型YOLOv5DA。
其中,生猪姿态检测模型YOLOv5DA的训练流程,具体包括:
(1)构建生猪姿态检测数据集,步骤如下:首先使用监控设备Hikvision DS-2CD3346FWDA3-1摄像机,采集四栏生猪,每栏养殖十头左右的生猪的监控视频用于数据集的构建。再对采集的监控视频进行分帧处理,每两秒之类提取一帧,并移除相似冗余的图像,以此来筛选出所要标注的图像。然后通过LabelMe标注工具对每张图像进行标注,图2展示了生猪姿态数据集的标注示例。其中处于站立姿态的猪使用黄色的边界框标注,处于侧卧姿态的猪使用绿色的边界框标注,处于俯卧姿态的猪采用浅蓝色的边界框标注。在数据集标注完成之后,本发明采用随机采样的方法,按照8:1:1的比例将原始的数据集划分为训练集、验证集和测试集。图3展示了部分构建好的数据集。
(2)在YOLOv5s的基础上引入了Mosaic9数据增强、可变形卷积、自适应空间特征融合三种模块,构建了一个新的生猪姿态检测模型YOLOv5DA。图4展示了构建YOLOv5DA的过程。
(3)基于获得的生猪姿态检测数据集中的训练集,进行模型训练,将所有图像统一缩放到640*640的大小,并使用了SCD的优化器来进行模型的优化,因此得到预训练好的生猪姿态检测模型。基于获得的生猪姿态检测数据集中的测试集,利用预训练好的生猪姿态检测模型进行检测,获得每个生猪的姿态信息和置信度信息。
图6至图8展示了新加入的三个模块。
图6展示了Mosaic9数据增强的过程,采用的Mosaic9数据增强步骤包括:
4)每次随机读取9张图片。
5)分别对四张图片进行翻转、缩放、色域变化等,并且按照9个方向位置摆好。
6)将九张经过裁剪缩放处理后的图片重新拼接成一张新的图片。
4)该过程重复多次,最后形成多个增强后的图片用于模型的训练。
将训练集用Mosaic9数据增强的方法可以增加数据集中小目标的个数,丰富样本的背景信息,提高模型的泛化能力。可有效处理群养环境下聚集、遮挡导致的目标检测困难问题。
图7展示了可变形卷积的过程,在模型的主干网络(Backbone)中加入的可变性卷积(DCN)的操作步骤为:
1)根据输入的图像,利用传统的卷积核提取特征图。
2)把得到的特征图作为输入,对特征图再施加一个卷积层,得到可变形卷积的变形的偏移量。其中,偏移层是2N,其中的2分别对应X和Y这2个2D偏移,N是通道数。
3)将得到的可变形卷积的变形的偏移量与利用传统的卷积核提取的特征图中的位置相加得到偏移后的位置。
4)利用双线性插值算法获取偏移后的每个位置的像素,以此得到输出特征图。
5)将新得到的输出特征图作为输入数据到下一层用于后续的特征提取。
在训练的时候,用于生成输出特征的卷积核和用于生成偏移量的卷积核是同步学习的。其中偏移量的学习是利用插值算法,通过反向传播进行学习。
所述输出特征图的表达式为:
式中,pn表示卷积核元素相对于卷积核中心的偏移量,R表示所有卷积核元素相对于卷积核中心的偏移量的集合,p0表示卷积核中心相对于输入特征图左上角的坐标,Δpn表示为偏移量且通常为小数。x(p)表示通过双线性插值计算的坐标所对应的像素;
x(p)=∑q G(q,p)·x(q)p=p0+pn+Δpn;
式中,q表示图像中的所有像素点的坐标,G(q,p)表示通过计算后坐标q所对应的权重。
G(q,p)=g(qx,px)·g(qy,py);
式中,qx表示q在图像中的像素点的横坐标,px表示p在图像中的像素点的横坐标。qy表示q在图像中的像素点的纵坐标,py表示p在图像中的像素点的纵坐标。G(qx,px)表示通过计算的权重。
G(a,b)=max(0,1-|a-b|);
式子表示当两个坐标值的差值在1之间的时候,权重为1减去它们的差值,若它们差值大于1,则权重为0。
由于在群养的环境下,生猪经常会出现聚集的情况,生猪之间的遮挡就不可避免,而传统的卷积总是使用固定尺寸的卷积核在特征图的固定位置进行采样,就极大地限制了其处理不规则物体地建模能力,因此引入了可变形卷积,用于提高模型对不规则物体的建模能力,可以提取更加细致的表征。
图8展示了自适应空间特征融合的过程,在模型的头部网络(Head)中加入的自适应空间特征融合的步骤包括:
尺度调整和自适应融合。
尺度调整,该方法主要通过上采样、最大池化、下采样三个操作实现。对于上采样,该方法首先使用一个1*1的卷积将通道数调整为相同的大小,然后使用最近邻插值放大到相同的尺寸;对于1/2倍率的下采样,该方法则直接使用一个步距为2的3*3卷积完成;对于1/4倍率的下采样,该方法首先使用一个步距为2的最大池化,然后使用一个步距为2的3*3卷积来处理。
自适应融合,当尺度调整之后便开始不同尺度特征的自适应融合。以图8中的ASFF-3为例,展示了融合的过程,融合的公式如下所示:
式中,和/>分别表示来自level1,level2,level3的特征通过尺度缩放之后生成与xl相同大小的特征图,对于权重参数α,β和γ,则是利用尺度缩放之后的level1,level2和level3的特征图经过1×1的卷积得到,再对得到后的α,β和γ使用softmax函数如下:
使用softmax函数可以使得他们的范围在[0,1]之内,并且和为1。
主流的研究通常采用特征金字塔结构来利用高层的语义信息和底层的空间信息,但是此方法没有考虑到在多尺度特征融合时,不同分辨率的表征的重要程度不同。从而直接相加相邻特征层中的元素或是将特征层在深度方向进行拼接通常不能实现最好的检测性能。因此引入了自适应空间特征融合,它能通过自适应地学习不同尺度特征地融合权重,从而过滤掉其他特征层中无效的信息,只保留有效的信息用于后续地特征融合。
所述装置可采用本发明方法的实施方式来实现。
本发明还提供一种电子设备,该电子设备可以为工控机、服务器或计算机终端。所述电子设备包括处理器、存储器,以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现所述的基于YOLOv5DA的生猪姿态检测方法的步骤。
该电子设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种基于YOLOv5DA的生猪姿态检测方法的步骤。
处理器用于提供计算和控制能力,支撑整个电子设备的运行。内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种基于YOLOv5DA的生猪姿态检测方法的步骤。
该网络接口用于进行网络通信,如发送分配的任务等。应当理解的是,处理器可以是中央处理单元(CentralProcessingUnit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现所述的基于YOLOv5DA的生猪姿态检测方法的步骤。
本发明属于计算机目标检测技术领域,涉及生猪姿态智能分析领域,可以精准地检测出生猪的三种不同姿态(站立、俯卧、侧卧)。在群养的环境下,不仅可以实现同时检测出同一张图片中的生猪姿态,还可以有效地处理,因生猪个体之间相互聚集,遮挡,粘连而加大目标检测的难度的情况,从而解决目标模型出现漏检和错检的问题。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案。
Claims (10)
1.基于YOLOv5DA的生猪姿态检测方法,其特征在于,包括:
获取生猪图片;
将所述生猪图片输入训练好的生猪姿态检测模型YOLOv5DA,输出每个生猪的姿态信息;
所述生猪姿态检测模型YOLOv5DA的训练进一步包括:
构建生猪姿态检测数据集;
在YOLOv5s模型的基础上,分别引入Mosaic9数据增强、可变形卷积、自适应空间特征融合,构建生猪姿态检测模型YOLOv5DA,其中,所述Mosaic9数据增强用于数据集处理以形成增强后的图片,所述可变形卷积用于提高模型对不规则物体的建模能力,所述自适应空间特征融合用于通过自适应地学习不同尺度特征的融合权重来提取有效信息;
根据所述生猪姿态检测数据集,对构建的生猪姿态检测模型YOLOv5DA进行训练和测试,得到训练好的生猪姿态检测模型YOLOv5DA。
2.根据权利要求1所述基于YOLOv5DA的生猪姿态检测方法,其特征在于,所述方法还包括:获取每个生猪的置信度信息,将置信度信息大于等于预设置信阈值的生猪姿态信息进行显示,获得生猪姿态检测结果。
3.根据权利要求1所述基于YOLOv5DA的生猪姿态检测方法,其特征在于,所述可变形卷积进一步包括:
根据输入的图像,利用传统的卷积核提取特征图;
把得到的特征图作为输入,对特征图再施加一个卷积层,得到可变形卷积的变形的偏移量,其中,偏移层是2N,这里的2分别对应X和Y这2个2D偏移,N是通道数;
将得到的可变形卷积的变形的偏移量与利用传统的卷积核提取的特征图中的位置相加得到偏移后的位置;
利用双线性插值算法获取偏移后的每个位置的像素,以此得到输出特征图;
将新得到的输出特征图作为输入数据送入下一层用于后续的特征提取。
4.根据权利要求1所述基于YOLOv5DA的生猪姿态检测方法,其特征在于,所述自适应空间特征融合包括尺度调整和自适应融合。
5.根据权利要求4所述基于YOLOv5DA的生猪姿态检测方法,其特征在于,所述尺度调整通过上采样、最大池化、下采样三个操作实现。
6.根据权利要求4所述基于YOLOv5DA的生猪姿态检测方法,其特征在于,所述自适应融合包括:将来自各层的特征通过尺度缩放之后生成与原有特征相同大小的特征图,将生成的各特征图分别与权重参数相乘后相加,得到融合后的特征。
7.根据权利要求1所述基于YOLOv5DA的生猪姿态检测方法,其特征在于,所述生猪姿态检测模型YOLOv5DA包括主干网络、颈部网络和头部网络三个部分,其中,在所述主干网络引入可变形卷积,在所述头部网络引入自适应空间特征融合。
8.基于YOLOv5DA的生猪姿态检测装置,其特征在于,包括:
获取模块,用于获取生猪图片;
模型检测模块,用于将所述生猪图片输入训练好的生猪姿态检测模型YOLOv5DA,输出每个生猪的姿态信息;
所述生猪姿态检测模型YOLOv5DA的训练进一步包括:
构建生猪姿态检测数据集;
在YOLOv5s模型的基础上,分别引入Mosaic9数据增强、可变形卷积、自适应空间特征融合,构建生猪姿态检测模型YOLOv5DA,其中,所述Mosaic9数据增强用于数据集处理以形成增强后的图片,所述可变形卷积用于提高模型对不规则物体的建模能力,所述自适应空间特征融合用于通过自适应地学习不同尺度特征的融合权重来提取有效信息;
根据所述生猪姿态检测数据集,对构建的生猪姿态检测模型YOLOv5DA进行训练和测试,得到训练好的生猪姿态检测模型YOLOv5DA。
9.一种电子设备,其特征在于,所述电子设备包括处理器、存储器,以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如权利要求1至7中任一项所述的基于YOLOv5DA的生猪姿态检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如权利要求1至7中任一项所述的基于YOLOv5DA的生猪姿态检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310845487.2A CN116884036A (zh) | 2023-07-11 | 2023-07-11 | 基于YOLOv5DA的生猪姿态检测方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310845487.2A CN116884036A (zh) | 2023-07-11 | 2023-07-11 | 基于YOLOv5DA的生猪姿态检测方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116884036A true CN116884036A (zh) | 2023-10-13 |
Family
ID=88256258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310845487.2A Pending CN116884036A (zh) | 2023-07-11 | 2023-07-11 | 基于YOLOv5DA的生猪姿态检测方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116884036A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117576487A (zh) * | 2024-01-16 | 2024-02-20 | 天博电子信息科技有限公司 | 一种基于可变形卷积的探地雷达空洞目标智能识别方法 |
-
2023
- 2023-07-11 CN CN202310845487.2A patent/CN116884036A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117576487A (zh) * | 2024-01-16 | 2024-02-20 | 天博电子信息科技有限公司 | 一种基于可变形卷积的探地雷达空洞目标智能识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7289918B2 (ja) | 物体認識方法及び装置 | |
US10970600B2 (en) | Method and apparatus for training neural network model used for image processing, and storage medium | |
CN108510485B (zh) | 一种基于卷积神经网络的无参照图像质量评估方法 | |
CN111738344B (zh) | 一种基于多尺度融合的快速目标检测方法 | |
CN108416266B (zh) | 一种利用光流提取运动目标的视频行为快速识别方法 | |
Tang et al. | A multi-stage framework with context information fusion structure for skin lesion segmentation | |
WO2020015752A1 (zh) | 一种对象属性识别方法、装置、计算设备及系统 | |
CN111860398B (zh) | 遥感图像目标检测方法、系统及终端设备 | |
CN111401293B (zh) | 一种基于Head轻量化Mask Scoring R-CNN的手势识别方法 | |
JP2018055470A (ja) | 表情認識方法、表情認識装置、コンピュータプログラム及び広告管理システム | |
JP2022025008A (ja) | テキスト行識別に基づくナンバープレート識別方法 | |
CN109033945A (zh) | 一种基于深度学习的人体轮廓提取方法 | |
CN109919915A (zh) | 基于深度学习的视网膜眼底图像异常区域检测方法及设备 | |
CN110930378A (zh) | 基于低数据需求的肺气肿影像处理方法及系统 | |
Dai et al. | DFN-PSAN: Multi-level deep information feature fusion extraction network for interpretable plant disease classification | |
CN113378812A (zh) | 一种基于Mask R-CNN和CRNN的数字表盘识别方法 | |
CN116092179A (zh) | 一种改进的yolox跌倒检测系统 | |
CN112861718A (zh) | 一种轻量级特征融合人群计数方法及系统 | |
CN116884036A (zh) | 基于YOLOv5DA的生猪姿态检测方法、装置、设备及介质 | |
CN110334719A (zh) | 一种提取遥感影像中建筑物图像的方法及系统 | |
CN113299363A (zh) | 一种基于yolov5的皮肤科非处方药售药方法 | |
CN114648806A (zh) | 一种多机制自适应的眼底图像分割方法 | |
CN117649610A (zh) | 一种基于YOLOv5的害虫检测方法及系统 | |
Zhang et al. | Residual attentive feature learning network for salient object detection | |
CN117292117A (zh) | 一种基于注意力机制的小目标检测方法 |
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 |