CN113486857A - 一种基于YOLOv4的登高安全检测方法及系统 - Google Patents
一种基于YOLOv4的登高安全检测方法及系统 Download PDFInfo
- Publication number
- CN113486857A CN113486857A CN202110883828.6A CN202110883828A CN113486857A CN 113486857 A CN113486857 A CN 113486857A CN 202110883828 A CN202110883828 A CN 202110883828A CN 113486857 A CN113486857 A CN 113486857A
- Authority
- CN
- China
- Prior art keywords
- network
- yolov4
- data set
- ascending
- training
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
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)
- Computer Vision & Pattern Recognition (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)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Train Traffic Observation, Control, And Security (AREA)
- Alarm Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于YOLOv4的登高安全检测方法及系统,该方法包括:获取登高作业的照片作为数据集;对所述数据集进行预处理,得到第一数据集;将所述第一数据集分为训练集和测试集;构建YOLOv4目标检测网络;利用所述训练集对所述YOLOv4目标检测网络进行训练;利用训练后的YOLOv4目标检测网络对待检测照片进行检测,得到目标对象及其位置信息;根据所述目标对象及其位置信息判断登高安全是否合格。本发明能够在登高安全检测时实现对目标对象的高效检测及安全判别。
Description
技术领域
本发明涉及目标检测领域,特别是涉及一种基于YOLOv4的登高安全检测方法及系统。
背景技术
目标检测是计算机视觉识别任务中的基本问题之一,不仅可以识别一张照片中的一个或多个对象,而且能给出识别对象的位置信息,在人工智能、人脸识别、无人驾驶等领域都有广泛应用。
施工现场采集的大量关于登高作业的照片,很多不符合安全管理,对现场质量安全管理造成了巨大冲击,并且使用人工方式对照片进行登高安全检测,需要投入大量的时间和成本、效率低下。为了显著降低人工工作量并提升登高安全检测的效率,本发明建立基于深度学习模型的目标检测方法。
现有基于深度学习的目标检测方法主要包括两阶段(two-stage)和一阶段(one-stage)两种类别。两阶段方法的主要代表为2017年提出的Faster R-CNN(Regions withConvolutionalNeural Network),主要由深度全卷积网络RPN和Fast R-CNN检测器两个模块组成,优点是目标检测准确率较高,但因为其将候选区域选择以及目标分类和边界框回归分开作为两阶段任务实现,所以目标检测速度慢。一阶段方法的主要代表为SSD(SingleShot MultiBox Detector)和YOLO(You Only Look Once)系列。SSD去除了候选区域选择部分,同时实施目标分类和边界框回归任务,加快了对目标进行推理和检测的速度,但由于对数据的预处理不到位、训练中小目标的先验框较少,所以SSD方法对小目标检测存在困难;YOLO系列到现今为止已从版本1(YOLOv1)发展到版本5(YOLOv5),同样作为一阶段实现的目标检测方法,将目标分类和边界框回归任务同步处理,从而加快目标检测的速度;同时,考虑到大中小目标检测的需要,划分了大小不同的网格、检测大小不一的目标,最终提升了在大中小目标上的检测准确率。
由登高照片组成的登高数据集,为云南移动在5G基础设施建设过程中采集所得,具有照片数量多、质量参差不齐等问题。若基于两阶段中Faster R-CNN的目标检测方法,虽然能获得准确的目标对象,但是存在检测速度慢、训练耗时高等缺点,不能满足针对大量登高照片的快速检测需求。若基于一阶段中SSD的目标检测方式,虽然能达到对登高照片的快速检测需求,但是存在检测准确率不高、对目标对象的位置信息检测不准确等缺点。而一阶段中YOLO系列虽然发展到了YOLOv5,但是YOLOv5的目标检测方式仅在速度上相对于YOLOv4得到了一定提升,在综合性能表现上并不如YOLOv4优越;若基于YOLOv4的目标检测方式,在保证对目标检测结果有较高准确率的基础上,在检测速度上也能满足大量登高照片的快速检测需求。
本发明根据登高安全检测的难点,选用一阶段目标检测方法中的YOLOv4卷积神经网络模型,利用筛选出的高质量训练数据集训练YOLOv4目标检测网络,从而对登高照片中的目标对象及其位置进行准确检测。根据目标对象的位置信息,利用自定义逻辑规则对目标对象的位置关系进行分析推断,作为判断是否符合登高安全标准的合理依据。
发明内容
本发明的目的是提供一种基于YOLOv4的登高安全检测方法及系统,能够在登高安全检测时实现对目标对象的高效检测及安全判别。
为实现上述目的,本发明提供了如下方案:
一种基于YOLOv4的登高安全检测方法,包括:
获取登高作业的照片作为数据集;
对所述数据集进行预处理,得到第一数据集;
将所述第一数据集分为训练集和测试集;
构建YOLOv4目标检测网络;
利用所述训练集对所述YOLOv4目标检测网络进行训练;
利用训练后的YOLOv4目标检测网络对待检测照片进行检测,得到目标对象及其位置信息;
根据所述目标对象及其位置信息判断登高安全是否合格。
可选的,所述对数据集进行预处理,得到第一数据集具体包括:
使用拉普拉斯方差算法对所述数据集中照片质量小于第一阈值的照片进行筛选并剔除,得到第二数据集;
对所述第二数据集进行标注得到所述第一数据集。
可选的,在所述“将第一数据集分为训练集和测试集”步骤之后,所述“构建YOLOv4目标检测网络”步骤之前,还包括:
对所述训练集和测试集依次进行尺寸变换和归一化处理;
对尺寸变换和归一化处理后的训练集进行数据增强。
可选的,所述YOLOv4目标检测网络具体包括:
CSPDarkNet53主干特征提取网络,用于对输入的照片进行特征提取;
SPP空间金字塔池化网络,用于对CSPDarkNet53提取到的特征进行特征融合;
PANet路径聚合网络,用于对CSPDarkNet53提取到的特征和SPP融合的特征进行反复提取;
YOLO_Head为输出网络,用于输出所述YOLOv4目标检测网络的预测结果。
可选的,所述利用训练集对所述YOLOv4目标检测网络进行训练,具体包括:
设置YOLOv4目标检测网络的初始网络参数;
将所述训练集输入所述YOLOv4目标检测网络;
通过正向传播,由损失函数计算损失值;
根据所述损失值对所述初始网络参数进行调整,并跳转至步骤“将所述训练集输入所述YOLOv4目标检测网络”;
多次循环迭代,将其中损失值最小时的网络参数作为最终的网络参数。
可选的,所述利用训练后的YOLOv4目标检测网络对待检测照片进行检测,得到目标对象及其位置信息,具体包括:
将待检测照片输入训练后的YOLOv4目标检测网络,得到输出特征矩阵;
对所述输出特征矩阵进行解码,得到目标对象及其预测位置信息;
对所述预测位置信息进行非极大值抑制,得到所述位置信息。
可选的,所述目标对象包括人体和登高工具。
可选的,所述根据目标对象及其位置信息判断登高安全是否合格,具体包括:
根据所述位置信息判断人体和登高工具的位置关系,所述位置关系包括人体在登高工具底部和人体在登高工具上;
对所述人体在登高工具底部的情况进行计数,得到第一结果;
对所述人体在登高工具上的情况进行计数,得到第二结果;
当所述第一结果大于等于1且第二结果等于1时,登高安全检测为合格;其余情况均为不合格。
可选的,所述训练集占所述第一数据集的80%,所述测试集占所述第一数据集的20%。
一种基于YOLOv4的登高安全检测系统,包括:
数据获取模块,用于获取登高作业的照片作为数据集;
预处理模块,用于对所述数据集进行预处理,得到第一数据集;
数据划分模块,用于将所述第一数据集分为训练集和测试集;
网络构建模块,用于构建YOLOv4目标检测网络;
训练模块,用于利用所述训练集对所述YOLOv4目标检测网络进行训练;
检测模块,用于利用训练后的YOLOv4目标检测网络对待检测照片进行检测,得到目标对象及其位置信息;
安全判断模块,用于根据所述目标对象及其位置信息判断登高安全检测是否合格。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明引入施工现场获取的登高数据集,利用自组织筛选方法,将质量参差不齐的登高数据集处理为高质量的训练数据集,搭建用以检测登高照片中目标对象及其位置信息的卷积神经网络模型(You Only Look Once v4,YOLOv4),基于YOLOv4检测到的目标对象及其位置信息,自定义逻辑规则对目标对象的位置关系进行是否符合登高安全的分析推断,有效提升了登高安全检测的速度和准确率,并显著降低了人工成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明CBM残差堆叠结构示意图;
图2为本发明SPP池化处理结构示意图;
图3为本发明基于YOLOv4的登高安全检测方法流程图;
图4为本发明Mosaic数据增强示意图;
图5为本发明YOLOv4目标检测网络整体结构示意图;
图6为本发明损失函数值示意图;
图7为本发明登高安全检测合格情况示意图;
图8为本发明基于YOLOv4的登高安全检测系统模块图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的在于:一方面为解决公知的施工安全管理问题中对登高安全检测效率低、速度慢、成本高等问题,本发明基于获取的登高数据集,筛选出其中高质量的照片数据用以训练出性能更良好的YOLOv4目标检测网络,实现对照片中目标对象的高效检测,以达到替代工人、高效检测、节约成本的目的;另一方面为解决公知技术中目标检测网络仅检测目标对象和目标的相对精确位置而不进一步判断目标位置关系的问题,本发明基于检测到的人和登高工具两类目标对象及其相对精确位置,利用逻辑规则进一步判断这两类目标对象的位置关系,进而对登高安全进行分析推断。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明的执行过程主要分为4个步骤:
1、数据预处理:从施工现场获取登高照片、组成登高数据集,使用拉普拉斯方差算法对登高数据集中模糊、质量差的照片进行筛选,使用人工方式对筛选后的登高数据集进行标注,并进行训练集和测试集的划分。
2、YOLOv4目标检测网络搭建:依次搭建YOLOv4目标检测网络的CSPDarkNet53、SPP、PANet、YOLO_Head。CSPDarkNet53用于提取主干特征,SPP用于特征融合,PANet用于融合并反复提取特征,YOLO_Head用于输出网络预测结果。
3、YOLOv4目标检测网络训练:准备训练所需的文件和设置训练所需的参数后,基于(1)中标注完成的训练集对YOLOv4目标检测网络进行训练,并使用计算所得损失函数值更新网络参数。
4、登高安全检测:向YOLOv4目标检测网络输入待检测照片或者测试集中数据,得到检测结果,对检测结果进行解码和非极大值抑制后,由自定义逻辑规则对检测结果中的目标对象及其位置信息进行分析推断,从而完成登高安全的检测。
具体步骤如下:
1:数据预处理
1.1:照片数据筛选
从施工现场获取的登高数据集,记为H,H=(h1,h2,…,hN),hi(1≤i≤N)为H中任意照片。使用拉普拉斯方差算法,判断是否将hi从H中筛选出去。计算过程为:选择3×3的拉普拉斯算子矩阵A对hi进行卷积运算得h′i,并计算h′i的方差得设定阈值为Y=100,若则判定hi为高质量照片并保留于H中,否则判定hi为低质量照片、并从H中筛选出去。
1.2:登高数据集的标注
将步骤1.1中保留的照片作为新的登高数据集D,基于人工的方式依次对D中照片进行目标对象及其真实框的标注。标注的目标对象为人体和登高工具两类,每一类目标对象的真实框标注x、y、w、h、class_id这5个数据值。标注完成后得到每张照片对应的xml注解文件,可用于训练YOLOv4目标检测网络,其中,x和y表示目标对象真实框的中心点坐标,w和h表示其真实框的宽高值,class_id表示目标对象的类别。
1.3:训练集和测试集的划分
将步骤1.2中登高数据集D划分为训练集D1和测试集D2两部分,其中D1占80%,用于YOLOv4目标检测网络训练;D2占20%,用于YOLOv4目标检测网络测试。D1和D2中标注的两类目标对象均各占50%,以此保持其中不同类别样本的数据分布一致性。
1.4:对登高数据集中照片依次进行尺寸变换、归一化处理、数据增强
1.4.1:尺寸变换是将D中照片大小不失真地调整为416×416像素。调整过程为:照片按宽、高进行同比例缩放,缩放过程中出现的空白区域用灰条填充。
1.4.2:归一化处理是将D中照片的每个像素值均映射到0~1范围。映射过程为:每个像素值均除以255。
1.4.3:数据增强是对D1中照片使用Mosaic数据增强方式。Mosaic数据增强方式为:从D1中随机选取四张标注好的照片,分别对四张照片进行翻转、缩放、色域变换,按左上、右上、左下、右下四个位置摆好,最后进行照片的组合和框的组合,生成一张新的训练照片。
2:YOLOv4目标检测网络搭建
2.1CSPDarkNet53的搭建
CSPDarkNet53为YOLOv4主干特征提取网络,用于对输入的照片进行特征提取。搭建的CSPDarkNet53网络层和特征矩阵如表1所示。
表1.CSPDarkNet53网络层和特征矩阵
CSPDarkNet53中,CBM1~CBM11为CBM卷积层,CBM卷积层由卷积(Conv)+批量归一化(BatchNormalization,BN)+Mish激活函数组成,Mish激活函数的计算如公式(2-1)所示。其中,λ为BN后的输出,tanh为双曲正切函数,用M记录λ经Mish激活函数进行激活的输出。CSP模块1~CSP模块5为CBM残差堆叠层,残差堆叠结构如图1所示。其中,ADD为大小和通道数相同的特征矩阵执行对应位置相加操作,Concat为大小和通道数相同的特征矩阵执行通道数叠加操作。Ci((xi×yi×ci),(1≤i≤16))为经过相应CBM卷积层或CSP模块提取到的特征矩阵,其中,xi×yi表示特征矩阵大小,ci为特征矩阵通道数;C0为输入照片的特征矩阵,大小由步骤1.4固定为416×416,通道数为3。
M=λ×tanh(ln(1+eλ)) (2-1)
2.2SPP,PANet的搭建
2.2.1:SPP(SpatialPyramidPooling)为YOLOv4空间金字塔池化网络,用于对CSPDarkNet53提取到的特征进行特征融合。搭建的SPP网络层和特征矩阵如表2所示。
表2.SPP网络层和特征矩阵
SPP网络层 | 输入特征矩阵 | 输出特征矩阵 |
CBL1 | C<sub>16</sub> | C<sub>17</sub>(x<sub>17</sub>×y<sub>17</sub>×c<sub>17</sub>) |
SPP模块 | C<sub>17</sub> | C<sub>18</sub>(x<sub>18</sub>×y<sub>18</sub>×c<sub>18</sub>) |
CBL2 | C<sub>18</sub> | C<sub>19</sub>(x<sub>19</sub>×y<sub>19</sub>×c<sub>19</sub>) |
SPP中,CBL1~CBL2为CBL卷积层,CBL卷积层由Conv+BN+Leaky_ReLu激活函数组成,Leaky_ReLu激活函数的计算如公式(2-2),其中,ε为BN后的输出,用L_R记录ε经Leaky_ReLu激活函数进行激活的输出。SPP模块为利用13×13、9×9、5×5、1×1的4个不同尺度池化核进行池化处理,处理后执行Concat操作,处理过程如图2所示。Ci(17≤i≤19)为经过相应CBL卷积层或SPP模块提取到的特征矩阵,C16为步骤2.1中CBM11的输出,也为SPP的输入。
L_R=max(ε,-0.01ε) (2-2)
2.2.2:PANet(PathAggregationNetwork)为YOLOv4的路径聚合网络,用于对CSPDarkNet53提取到的特征和SPP融合的特征进行反复提取。搭建的PANet网络层和特征矩阵如表3所示。
表3.PANet网络层和特征矩阵
PANet网络层 | 输入特征矩阵 | 输出特征矩阵 |
CBL3 | C<sub>9</sub> | C<sub>20</sub>(x<sub>20</sub>×y<sub>20</sub>×c<sub>20</sub>) |
CBL4 | C<sub>12</sub> | C<sub>21</sub>(x<sub>21</sub>×y<sub>21</sub>×c<sub>21</sub>) |
CBL5 | C<sub>19</sub> | C<sub>22</sub>(x<sub>22</sub>×y<sub>22</sub>×c<sub>22</sub>) |
Concat模块1 | C<sub>12</sub>、C<sub>19</sub> | C<sub>23</sub>(x<sub>23</sub>×y<sub>23</sub>×c<sub>23</sub>) |
Concat模块2 | C<sub>9</sub>、C<sub>23</sub> | C<sub>24</sub>(x<sub>24</sub>×y<sub>24</sub>×c<sub>24</sub>) |
CBL6×5 | C<sub>24</sub> | C<sub>25</sub>(x<sub>25</sub>×y<sub>25</sub>×c<sub>25</sub>) |
CBL7 | C<sub>25</sub> | C<sub>26</sub>(x<sub>26</sub>×y<sub>26</sub>×c<sub>26</sub>) |
Concat模块3 | C<sub>23</sub>、C<sub>26</sub> | C<sub>27</sub>(x<sub>27</sub>×y<sub>27</sub>×c<sub>27</sub>) |
CBL8×5 | C<sub>27</sub> | C<sub>28</sub>(x<sub>28</sub>×y<sub>28</sub>×c<sub>28</sub>) |
CBL9 | C<sub>28</sub> | C<sub>29</sub>(x<sub>29</sub>×y<sub>29</sub>×c<sub>29</sub>) |
Concat模块4 | C<sub>19</sub>、C<sub>29</sub> | C<sub>30</sub>(x<sub>30</sub>×y<sub>30</sub>×c<sub>30</sub>) |
CBL10×5 | C<sub>30</sub> | C<sub>31</sub>(x<sub>31</sub>×y<sub>31</sub>×c<sub>31</sub>) |
PANet中,CBLj×5(j=(6,8,10))为执行5次CBL卷积层,Concat模块为对两个输入特征矩阵执行Concat操作。Ci(20≤i≤31)为经过相应CBL卷积层或Concat模块提取到的特征矩阵,C9、C12、C19分别为CBM7、CBM9、CBL2的输出,也为PANet的输入。
2.3 YOLO_Head的搭建
YOLO_Head为YOLOv4的输出模块,用于输出YOLOv4目标检测网络的预测结果。搭建的YOLO_Head网络层和特征矩阵如表4所示。
表4.Yolo_Head网络层和特征矩阵
Yolo_Head网络层 | 输入特征矩阵 | 输出特征矩阵 |
CBL11+Conv | C<sub>25</sub> | C<sub>32</sub>(x<sub>32</sub>×y<sub>32</sub>×c<sub>32</sub>) |
CBL12+Conv | C<sub>28</sub> | C<sub>33</sub>(x<sub>33</sub>×y<sub>33</sub>×c<sub>33</sub>) |
CBL13+Conv | C<sub>31</sub> | C<sub>34</sub>(x<sub>34</sub>×y<sub>34</sub>×c<sub>34</sub>) |
YOLO_Head中,以步骤2.2中的C25、C28、C31作为输入,经过相应CBL卷积层加Conv得到输出C32、C33、C34,此输出根据登高安全检测有特征矩阵大小如表5所示。
表5.Yolo_Head输出特征矩阵的大小
Yolo_Head的输出 | 特征矩阵的大小 |
C<sub>32</sub> | 52×52×((fes+classes)×3) |
C<sub>33</sub> | 26×26×((fes+classes)×3) |
C<sub>34</sub> | 13×13×((fes+classes)×3) |
表5中,fes={tx,ty,tw,th,conf}表示与D中标注的5个数据值对应的预测值的集合,classes={score1,score2}表示D中标注的两类目标对象预测得分的集合。C32有52×52=2074个特征点,每个特征点相对于416×416的原图感受野最小,用以检测原图中的小目标对象;C33有676个特征点,每个特征点相对原图感受野适中,用以检测原图中的中等目标对象;C34有169个特征点,每个特征点相对原图感受野最大,用以检测原图中的大目标对象。
3:YOLOv4目标检测网络训练
3.1训练文件的准备及训练参数的设置
3.1.1:准备训练文件
将训练YOLOv4目标检测网络所需的classes.txt、train_1.txt、train_2.txt、yolo_anchors.txt、train.py文件准备至nets文件夹中。其中,classes.txt为D1中标注的目标对象名称文件,train_1.txt为D1中照片名称文件,train_2.txt为D1中照片绝对路径和标注对象的5个数据值文件,yolo_anchors.txt为先验框宽高文件,train.py为训练文件。
3.1.2:设置训练参数
设置train.py中的epoch、batch size、学习率等参数,加载用于加快训练速度的预训练权重文件,即可运行train.py文件、并开始模型训练,训练结束后可得到YOLOv4目标检测网络的权重文件。
3.2YOLOv4目标检测网络回归优化损失值CIOU的计算
向YOLOv4目标检测网络输入D1,通过正向传播,由损失函数计算出预测结果与真实值间的损失值,并依据损失值对网络参数进行反向调整。其中,YOLOv4目标检测网络回归优化损失值CIOU的计算方法如公式(3-1)~公式(3-4)所示。
其中,sin为预测框与真实框的交集,sunion为预测框与真实框的并集;ρ2(b,bgt)为预测框与真实框的中心点的欧式距离,c为同时包含预测框和真实框的最小闭包区域的对角线距离;wp为预测框的宽;hp为预测框的高;wgt为真实框的宽;hgt为真实框的高。通过步骤1.2得到的真实框坐标和YOLOv4目标检测网络预测的预测框坐标计算CIOU值,由CIOU值可计算损失值LossCIOU,LossCIOU的计算如公式(3-5)所示。根据LossCIOU即可反向传播,调整网络参数。
LossCIOU=1-CIOU (3-5)
3.3权重参数文件的选择
每训练一次,记录相应损失值和权重文件,多次调整步骤3.1中的训练参数并训练YOLOv4目标检测网络,选取其中损失值表现最优的一次(也就是损失值最小)的权重文件作为最终的网络参数文件。
4:登高安全检测
4.1加载权重文件,进行目标检测
加载步骤3.3中训练好的权重文件至YOLOv4目标检测网络,输入D2中的照片、得到输出的预测结果C32、C33、C34。测试集D2一般来说只作为检测模型精度使用,但本发明中的登高安全检测逻辑判断部分算是一种后处理方法,测试集可用来检测模型的精度,也可将测试集检测到的目标对象作为逻辑判断的输入,得到登高安全是否合格的结果;所以还可以利用测试集D2检测模型的精度,当精度达到要求后,利用训练后的YOLOv4目标检测网络对待检测照片进行检测,得到输出的预测结果C32、C33、C34。
使用C32、C33、C34中fes调整先验框,得到调整后的结果为最终目标对象的预测框在照片上的具体位置,调整过程如公式(4-1)~公式(4-4)所示,该调整过程称为解码。
bx=σ(tx)+cx (4-1)
by=σ(ty)+cy (4-2)
其中,bx、by、bw和bh分别为调整后预测框的中心位置和宽高,σ(γ)为sigmoid函数,计算如公式(4-5)所示,可将输入γ映射至0~1范围。cx、cy、pw和ph为调整前先验框的中心位置和宽高,tx、ty、tw和th为fes中学习到的调整参数。
4.2对解码的结果进行非极大值抑制
解码后,预测结果的每个特征位置包含有3个预测框,输入每张待检测的照片,共会生成52×52×3+26×26×3+13×13×3=10647个预测框。将预测框记为L,L={l1,l2,...,l10647},li(1≤i≤10647)为任意预测框,li={bx,by,bw,bh,conf,classes},对L进行非极大值抑制后可保留与照片中目标对象真实框最接近的li。
由步骤4.1得到调整后li的中心位置(bx,by)、宽bw、高bh。若li中conf<0.7,则过滤,剩余li按classes降序排序。取出每一类别中得分最高的预测框,记为lmax。根据公式(4-6)计算每个li的面积Areai,根据公式(3-4)计算lmax和li的IOU,若IOU>0.7,表示li和lmax重合度较大,预测的是同一个目标对象,此时将li从L中删除。重复此步骤,直到IOU≤0.7的li数量为零停止。
Area=bw×bh (4-6)
4.3对登高安全进行检测
非极大值抑制后的预测结果,为照片中预测到的目标对象及其预测框L,L中任意li使用左上角坐标(xk1,yk1)和右下角坐标(xk2,yk2)表示,k∈(0,1),k=0表示检测目标类别为人体,k=1表示检测目标类别为登高工具。当此照片中同时检测出人体和登高工具时,人体预测框坐标表示为(x01,y01)和(x02,y02),登高工具预测框坐标表示为(x11,y11)和(x12,y12)。若y02≥y12且满足PSL1,此人体在登高工具底部,使用count1计数满足此条件的情况;若y02<y12且满足PSL2,此人体在登高工具上,使用count2计数满足此条件的情况。按此过程完成登高安全检测后,若count1≥1且count2=1,则判断照片中的登高安全检测为合格,记状态值为0;其余情况均为不合格,记状态值为1。PSL1,PSL2的计算如公式(4-7)和(4-8)所示。其中,Sin1为登高工具和人预测框的交集,Sl为登高工具的预测框面积,S1和S2为设定的阈值。
基于上述方法,本发明提供一个实施例,例如基于YOLOv4对梯子进行登高安全检测。参照图3,本实施例的实现步骤如下:
1:数据预处理
按照步骤1.2,对D中的照片依次进行人工标注,标注的目标对象为人体和登高工具梯子,每个目标对象的真实框用标注的5个数据值表示,部分照片标注信息如表7所示。
表7.照片标注信息
按照步骤1.3,D1和D2的划分比例为8:2,D1和D2中不同类别样本的数据分布为1:1。
按照步骤1.4,依次对D中照片进行尺寸变换和归一化处理,接着对D1中照片进行Mosaic数据增强,数据增强后生成的训练照片如图4所示。
2:YOLOv4目标检测网络搭建
参照图5,YOLOv4目标检测网络的整体结构如图5所示。
按照步骤2,依次搭建CSPDarkNet53、SPP、PANet、YOLO_Head,其中,各网络层的输入、输出特征矩阵大小如表8所示。
表8.各网络层输入输出特征矩阵
表8中,由输入为416×416×3的照片经YOLOv4目标检测网络预测后,得到预测结果C32(52×52×21)、C33(26×26×21)、C34(13×13×21)。
3:YOLOv4目标检测网络训练
按照步骤3.1,将D1中标注的对象名称人体(people)、梯子(ladder)保存至classes.txt,D1中照片名称保存至train_1.txt,D1中照片的绝对路径和标注对象的5个数据值保存至train_2.txt,设定好的先验框宽高保存至yolo_anchors.txt,训练需要的.py文件保存至train.py,上述文件均保存在nets文件夹。设置train.py中的参数后,即可开始YOLOv4目标检测网络的训练。
按照步骤3.2,将D1及步骤3.1中准备的文件加载至训练文件train.py,通过正向传播,由公式(3-1)~公式(3-5)计算得CIOU的损失值LossCIOU后,不断优化网络训练参数,直到YOLOv4目标检测网络的损失函数值收敛,如图6所示。
按照步骤3.3,每迭代50次为一轮训练,每轮训练结束查看相应损失值,并调整相应参数,进行至少5轮以上训练,选取其中最优一次的权重文件weights.pth作为最终的网络参数。
4:登高安全检测
按照步骤4.1,加载权重文件weights.pth至YOLOv4目标检测网络,并输入D2中照片得到预测结果C32(52×52×21)、C33(26×26×21)、C34(13×13×21),预测结果按公式(4-1)~公式(4-4)对先验框进行调整后得到预测框。
按照步骤4.2,对所调整后的预测框进行非极大值抑制,得到最终的目标对象及其预测框。
按照步骤4.3,若预测结果中存在有目标对象人体和梯子,人体的位置区域表示为左上角坐标(x01,y01)、右下角坐标(x02,y02),梯子的位置区域表示为左上角坐标(x11,y11)、右下角坐标(x12,y12)。按公式(4-7)和公式(4-8)计算得PSL1,PSL2;S1,S2经过测试后分别为0.4和0.35。若y02≥y12且满足PSL1>S1,此人体在梯子底部,count1计数加1;若y02<y12且满足PSL2>S2,此人体在梯子上,count2计数加1;登高安全检测完成后,状态值为0即可判断照片中的登高安全检测为合格,状态值为1则表示不合格,合格情况如图7所示。
基于本发明提供的方法,本发明还公开了一种基于YOLOv4的登高安全检测系统,如图8所示,包括:
数据获取模块101,用于获取登高作业的照片作为数据集;
预处理模块102,用于对所述数据集进行预处理,得到第一数据集;
数据划分模块103,用于将所述第一数据集分为训练集和测试集;
网络构建模块104,用于构建YOLOv4目标检测网络;
训练模块105,用于利用所述训练集对所述YOLOv4目标检测网络进行训练;
检测模块106,用于利用训练后的YOLOv4目标检测网络对待检测照片进行检测,得到目标对象及其位置信息;
安全判断模块107,用于根据所述目标对象及其位置信息判断登高安全检测是否合格。
与现有技术相比,本发明还具备如下技术效果:
(1)本发明针对登高安全检测任务的难点使用YOLOv4卷积神经网络模型作为目标对象检测的基本框架,对登高照片中的目标对象及其位置信息做出快速准确地检测,对登高安全检测是否合格做出有效支撑。同样为云南移动后续实现实时视频下的登高安全检测奠定坚实基础。
(2)本发明提供了一种高质量训练数据集筛选的方法,该方法以拉普拉斯方差算法计算照片的方差值,根据方差值与特定场景下所选取阈值的大小关系去除该数据集中低质量登高照片,提高了所构建登高数据集的质量。
(3)本发明提出了一种高效的登高安全检测方法,该方法充分利用检测到的人体与登高工具及其相对位置信息高效的完成登高安全检测。
(4)本发明对于给定的登高照片及YOLOv4预测结果,自定义了登高安全的逻辑规则,提高了登高安全检测的程序化程度。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于YOLOv4的登高安全检测方法,其特征在于,包括:
获取登高作业的照片作为数据集;
对所述数据集进行预处理,得到第一数据集;
将所述第一数据集分为训练集和测试集;
构建YOLOv4目标检测网络;
利用所述训练集对所述YOLOv4目标检测网络进行训练;
利用训练后的YOLOv4目标检测网络对待检测照片进行检测,得到目标对象及其位置信息;
根据所述目标对象及其位置信息判断登高安全是否合格。
2.根据权利要求1所述的基于YOLOv4的登高安全检测方法,其特征在于,所述对数据集进行预处理,得到第一数据集具体包括:
使用拉普拉斯方差算法对所述数据集中照片质量小于第一阈值的照片进行筛选并剔除,得到第二数据集;
对所述第二数据集进行标注得到所述第一数据集。
3.根据权利要求1所述的基于YOLOv4的登高安全检测方法,其特征在于,在所述“将第一数据集分为训练集和测试集”步骤之后,所述“构建YOLOv4目标检测网络”步骤之前,还包括:
对所述训练集和测试集依次进行尺寸变换和归一化处理;
对尺寸变换和归一化处理后的训练集进行数据增强。
4.根据权利要求1所述的基于YOLOv4的登高安全检测方法,其特征在于,所述YOLOv4目标检测网络具体包括:
CSPDarkNet53主干特征提取网络,用于对输入的照片进行特征提取;
SPP空间金字塔池化网络,用于对CSPDarkNet53提取到的特征进行特征融合;
PANet路径聚合网络,用于对CSPDarkNet53提取到的特征和SPP融合的特征进行反复提取;
YOLO_Head为输出网络,用于输出所述YOLOv4目标检测网络的预测结果。
5.根据权利要求1所述的基于YOLOv4的登高安全检测方法,其特征在于,所述利用训练集对所述YOLOv4目标检测网络进行训练,具体包括:
设置YOLOv4目标检测网络的初始网络参数;
将所述训练集输入所述YOLOv4目标检测网络;
通过正向传播,由损失函数计算损失值;
根据所述损失值对所述初始网络参数进行调整,并跳转至步骤“将所述训练集输入所述YOLOv4目标检测网络”;
多次循环迭代,将其中损失值最小时的网络参数作为最终的网络参数。
6.根据权利要求1所述的基于YOLOv4的登高安全检测方法,其特征在于,所述利用训练后的YOLOv4目标检测网络对待检测照片进行检测,得到目标对象及其位置信息,具体包括:
将待检测照片输入训练后的YOLOv4目标检测网络,得到输出特征矩阵;
对所述输出特征矩阵进行解码,得到目标对象及其预测位置信息;
对所述预测位置信息进行非极大值抑制,得到所述位置信息。
7.根据权利要求1所述的基于YOLOv4的登高安全检测方法,其特征在于,所述目标对象包括人体和登高工具。
8.根据权利要求7所述的基于YOLOv4的登高安全检测方法,其特征在于,所述根据目标对象及其位置信息判断登高安全是否合格,具体包括:
根据所述位置信息判断人体和登高工具的位置关系,所述位置关系包括人体在登高工具底部和人体在登高工具上;
对所述人体在登高工具底部的情况进行计数,得到第一结果;
对所述人体在登高工具上的情况进行计数,得到第二结果;
当所述第一结果大于等于1且第二结果等于1时,登高安全检测为合格;其余情况均为不合格。
9.根据权利要求1所述的基于YOLOv4的登高安全检测方法,其特征在于,所述训练集占所述第一数据集的80%,所述测试集占所述第一数据集的20%。
10.一种基于YOLOv4的登高安全检测系统,其特征在于,包括:
数据获取模块,用于获取登高作业的照片作为数据集;
预处理模块,用于对所述数据集进行预处理,得到第一数据集;
数据划分模块,用于将所述第一数据集分为训练集和测试集;
网络构建模块,用于构建YOLOv4目标检测网络;
训练模块,用于利用所述训练集对所述YOLOv4目标检测网络进行训练;
检测模块,用于利用训练后的YOLOv4目标检测网络对待检测照片进行检测,得到目标对象及其位置信息;
安全判断模块,用于根据所述目标对象及其位置信息判断登高安全检测是否合格。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110883828.6A CN113486857B (zh) | 2021-08-03 | 2021-08-03 | 一种基于YOLOv4的登高安全检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110883828.6A CN113486857B (zh) | 2021-08-03 | 2021-08-03 | 一种基于YOLOv4的登高安全检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113486857A true CN113486857A (zh) | 2021-10-08 |
CN113486857B CN113486857B (zh) | 2023-05-12 |
Family
ID=77945277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110883828.6A Active CN113486857B (zh) | 2021-08-03 | 2021-08-03 | 一种基于YOLOv4的登高安全检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113486857B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115578624A (zh) * | 2022-10-28 | 2023-01-06 | 北京市农林科学院 | 农业病虫害模型构建方法、检测方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180232903A1 (en) * | 2017-02-16 | 2018-08-16 | Panasonic Intellectual Property Management Co., Ltd. | Estimation device, estimation method, and storage medium |
CN110502965A (zh) * | 2019-06-26 | 2019-11-26 | 哈尔滨工业大学 | 一种基于计算机视觉人体姿态估计的施工安全帽佩戴监测方法 |
CN111080597A (zh) * | 2019-12-12 | 2020-04-28 | 西南交通大学 | 一种基于深度学习的轨道扣件缺陷识别算法 |
WO2020164282A1 (zh) * | 2019-02-14 | 2020-08-20 | 平安科技(深圳)有限公司 | 基于yolo的图像目标识别方法、装置、电子设备和存储介质 |
CN112132090A (zh) * | 2020-09-28 | 2020-12-25 | 天地伟业技术有限公司 | 一种基于yolov3的烟火自动检测预警方法 |
CN112382068A (zh) * | 2020-11-02 | 2021-02-19 | 陈松山 | 基于bim与dnn的车站候车线跨越检测系统 |
CN112560627A (zh) * | 2020-12-09 | 2021-03-26 | 江苏集萃未来城市应用技术研究所有限公司 | 基于神经网的工地人员异常行为实时检测方法 |
CN113011319A (zh) * | 2021-03-16 | 2021-06-22 | 上海应用技术大学 | 多尺度火灾目标识别方法及系统 |
WO2021151046A1 (en) * | 2020-01-23 | 2021-07-29 | Retispec Inc. | Systems and methods for disease diagnosis |
-
2021
- 2021-08-03 CN CN202110883828.6A patent/CN113486857B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180232903A1 (en) * | 2017-02-16 | 2018-08-16 | Panasonic Intellectual Property Management Co., Ltd. | Estimation device, estimation method, and storage medium |
WO2020164282A1 (zh) * | 2019-02-14 | 2020-08-20 | 平安科技(深圳)有限公司 | 基于yolo的图像目标识别方法、装置、电子设备和存储介质 |
CN110502965A (zh) * | 2019-06-26 | 2019-11-26 | 哈尔滨工业大学 | 一种基于计算机视觉人体姿态估计的施工安全帽佩戴监测方法 |
CN111080597A (zh) * | 2019-12-12 | 2020-04-28 | 西南交通大学 | 一种基于深度学习的轨道扣件缺陷识别算法 |
WO2021151046A1 (en) * | 2020-01-23 | 2021-07-29 | Retispec Inc. | Systems and methods for disease diagnosis |
CN112132090A (zh) * | 2020-09-28 | 2020-12-25 | 天地伟业技术有限公司 | 一种基于yolov3的烟火自动检测预警方法 |
CN112382068A (zh) * | 2020-11-02 | 2021-02-19 | 陈松山 | 基于bim与dnn的车站候车线跨越检测系统 |
CN112560627A (zh) * | 2020-12-09 | 2021-03-26 | 江苏集萃未来城市应用技术研究所有限公司 | 基于神经网的工地人员异常行为实时检测方法 |
CN113011319A (zh) * | 2021-03-16 | 2021-06-22 | 上海应用技术大学 | 多尺度火灾目标识别方法及系统 |
Non-Patent Citations (5)
Title |
---|
ALEXEY BOCHKOVSKIY 等: "YOLOv4: Optimal Speed and Accuracy of Object Detection", 《ARXIV》 * |
HAILI ZHAO 等: "Detection of Metal Surface Defects Based on YOLOv4 Algorithm" * |
徐守坤 等: "融合施工场景及空间关系的图像描述生成模型", 《计算机工程》 * |
郁润: "基于计算机视觉的施工现场工人不安全行为识别方法研究" * |
陈翰林: "基于YOLO 模型的煤矿从业人员行为检测", 《内蒙古煤炭经济》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115578624A (zh) * | 2022-10-28 | 2023-01-06 | 北京市农林科学院 | 农业病虫害模型构建方法、检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113486857B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6980958B1 (ja) | 深層学習に基づく農村地域分けゴミ識別方法 | |
CN107229904B (zh) | 一种基于深度学习的目标检测与识别方法 | |
CN106960195B (zh) | 一种基于深度学习的人群计数方法及装置 | |
CN103886308B (zh) | 一种使用聚合通道特征和软级联分类器的行人检测方法 | |
CN108875624B (zh) | 基于多尺度的级联稠密连接神经网络的人脸检测方法 | |
CN101236608B (zh) | 基于图片几何结构的人脸检测方法 | |
CN104537647B (zh) | 一种目标检测方法及装置 | |
CN113065558A (zh) | 一种结合注意力机制的轻量级小目标检测方法 | |
CN108288035A (zh) | 基于深度学习的多通道图像特征融合的人体动作识别方法 | |
WO2018052587A1 (en) | Method and system for cell image segmentation using multi-stage convolutional neural networks | |
CN109034119A (zh) | 一种基于优化的全卷积神经网络的人脸检测方法 | |
CN111340123A (zh) | 一种基于深度卷积神经网络的图像分数标签预测方法 | |
CN114283469B (zh) | 一种基于改进YOLOv4-tiny的轻量型目标检测方法及系统 | |
CN113158862A (zh) | 一种基于多任务的轻量级实时人脸检测方法 | |
CN114360067A (zh) | 一种基于深度学习的动态手势识别方法 | |
CN111274895A (zh) | 基于空洞卷积的cnn微表情识别方法 | |
CN113033547A (zh) | 一种基于MobileNetV2的焊接状态分类方法 | |
CN113205026A (zh) | 一种基于Faster RCNN深度学习网络改进的车型识别方法 | |
CN114492634B (zh) | 一种细粒度装备图片分类识别方法及系统 | |
CN117765480B (zh) | 一种道路沿线野生动物迁徙预警方法及系统 | |
CN115240259A (zh) | 一种基于yolo深度网络的课堂环境下人脸检测方法及其检测系统 | |
CN113486857A (zh) | 一种基于YOLOv4的登高安全检测方法及系统 | |
CN114663769A (zh) | 一种基于YOLO v5的水果识别方法 | |
CN107871315B (zh) | 一种视频图像运动检测方法和装置 | |
CN113936299A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |