CN117079095A - 基于深度学习的高空抛物检测方法、系统、介质和设备 - Google Patents
基于深度学习的高空抛物检测方法、系统、介质和设备 Download PDFInfo
- Publication number
- CN117079095A CN117079095A CN202310751557.8A CN202310751557A CN117079095A CN 117079095 A CN117079095 A CN 117079095A CN 202310751557 A CN202310751557 A CN 202310751557A CN 117079095 A CN117079095 A CN 117079095A
- Authority
- CN
- China
- Prior art keywords
- model
- module
- altitude parabolic
- attention mechanism
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 109
- 238000013135 deep learning Methods 0.000 title claims abstract description 26
- 238000012549 training Methods 0.000 claims abstract description 60
- 230000007246 mechanism Effects 0.000 claims abstract description 48
- 238000012360 testing method Methods 0.000 claims abstract description 17
- 238000012795 verification Methods 0.000 claims abstract description 17
- 238000003062 neural network model Methods 0.000 claims abstract description 10
- 238000007781 pre-processing Methods 0.000 claims abstract description 8
- 238000004590 computer program Methods 0.000 claims description 17
- 239000011159 matrix material Substances 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 11
- 238000005457 optimization Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 5
- 238000013526 transfer learning Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 52
- 238000012545 processing Methods 0.000 abstract description 13
- 230000000694 effects Effects 0.000 abstract description 11
- 238000004422 calculation algorithm Methods 0.000 description 80
- 238000010586 diagram Methods 0.000 description 33
- 238000002474 experimental method Methods 0.000 description 19
- 230000006872 improvement Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000004088 simulation Methods 0.000 description 6
- 238000002679 ablation Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008030 elimination Effects 0.000 description 3
- 238000003379 elimination reaction Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 241001424438 Surendra Species 0.000 description 1
- RTAQQCXQSZGOHL-UHFFFAOYSA-N Titanium Chemical compound [Ti] RTAQQCXQSZGOHL-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- 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
- 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/096—Transfer learning
-
- 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/0985—Hyperparameter optimisation; Meta-learning; Learning-to-learn
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (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)
- Image Analysis (AREA)
Abstract
本发明涉及计算机视觉技术领域,公开一种基于深度学习的高空抛物检测方法、系统、介质和设备,包括:获取高空抛物物体的图像并进行预处理,结合预处理后的图像建立有标注的数据集,对数据集进行数据增强并分成训练集、验证集和测试集;构建包括自注意力机制的轻量级神经网络模型,使用训练集训练模型,结合网格寻优和验证集优化训练后的模型得到最终的模型;将测试集输入最终的模型得到高空抛物物体的检测结果。本发明可以加快运算速度、提高实时处理能力,提升模型对目标位置的定位能力,提高对高空抛物物体的检测效果。
Description
技术领域
本发明涉及计算机视觉技术领域,尤其是指一种基于深度学习的高空抛物检测方法、系统、介质和设备。
背景技术
随着城市建设的加快,高空抛物的现象屡见不鲜。高空抛物物体的检测是一种基于计算机视觉技术的智能监控,主要应用于城市管理、工业安全、国防安全等领域,还会涉及图像处理技术、机器学习技术等多种技术。高空抛物物体检测系统需要利用计算机视觉技术来实现从图像或视频中自动检测和跟踪高空抛物物体的功能。计算机视觉技术包括图像处理、特征提取、目标检测、跟踪等方面。图像处理技术是高空抛物物体检测系统的核心技术之一,它包括图像增强、噪声去除、运动模糊校正等方面。机器学习技术是高空抛物物体检测系统的重要技术之一,机器学习技术可以利用大量的数据来训练模型,并且可以自动优化算法。
现有技术中,有一些对高空抛物物体的检测方法:有使用基于图像处理的传统机器学习方法对抛物目标进行检测的做法,包括:对原始图像进行预处理,手工进行特征提取操作;运用运动目标跟踪技术对连续图像帧中的抛物目标进行提取与检测,常用的方法有帧间差分法、背景差分法、光流分析法、混合高斯背景建模法、Kalman滤波器和均值漂移(Mean Shift)算法等。还有使用帧内差值识别视频中快速运动的目标,利用最大期望算法(Expectation-maximization Algorithm)预测室内室外抛物目标的轨迹的方法。还有结合8帧作差法、Hough变换以及决策树分类器3种传统方法实现视频监控中的抛物检测的方法。还有采用最大概率法和帧间差分法重构像素点并提取背景,加以填充和膨胀的形态学处理,使用均值漂移算法进行目标跟踪,用设定的经验方法进行车外抛物判定的方法。还有将实时监控车外抛物检测任务分为目标检测、目标提取、目标跟踪和抛物检测4个部分,利用Surendra改进算法,将Kalman预测和Mean Shift跟踪相结合的方法,该方法提高了传统抛物检测算法的鲁棒性。还有利用高斯混合背景/前景分割方法分离出抛物目标,使用光流法跟踪目标点,通过历史目标点估计出抛物目标的运动轨迹,最后用抛物线(二次函数)进行拟合得到最终围栏抛物的路径的方法。还有在视频分析违法抛物任务中,使用核密度估计作为背景消除算法,利用形态学上的开操作和闭操作优化背景消除结果,通过Haar级联分类器检测运动中的车辆以及抛物,最后通过OCR识别车牌存入违法行为数据库中的方法。还有运用改进基于像素的自适应背景分割(PBAS)算法检测运动目标,结合背景消除算法来减少PBAS中的Ghost区域现象,通过每帧图像检测到物体轮廓,最终绘制出了抛物视频中物体的下落轨迹的方法。
但是,现有的这些方法都使用了传统的机器学习方法,普遍存在复杂性高、实时性差的问题;并且,这些方法对不同类型目标特征的敏感程度不同,易受到环境变化的影响,导致检测效果不理想,需要对高空抛物物体检测方法进行改进以提升检测性能。
发明内容
为此,本发明所要解决的技术问题在于克服现有技术中的不足,提供一种基于深度学习的高空抛物检测方法、系统、介质和设备,可以加快运算速度、提高实时处理能力,提升模型对目标位置的定位能力,提高对高空抛物物体的检测效果。
为解决上述技术问题,本发明提供了一种基于深度学习的高空抛物检测方法,包括:
获取高空抛物物体的图像并进行预处理,结合预处理后的图像建立有标注的数据集,对数据集进行数据增强并分成训练集、验证集和测试集;
构建包括自注意力机制的轻量级神经网络模型,使用训练集训练模型,结合网格寻优和验证集优化训练后的模型得到最终的模型;
将测试集输入最终的模型得到高空抛物物体的检测结果。
在本发明的一个实施例中,所述包括自注意力机制的轻量级神经网络模型,为结合了自注意力机制的轻量级YOLO网络或Faster RCNN网络。
在本发明的一个实施例中,结合了自注意力机制的轻量级YOLO网络或FasterRCNN网络,具体为:
使用自注意力机制替换YOLO网络或Faster RCNN网络中C3模块中的瓶颈层,
构建包括通道注意力模块和空间注意力模块的混合注意力机制模块,增加混合注意力机制模块中乘积操作的次数,减少空间注意力模块的卷积大小的同时增加卷积的数量,使用修改后的混合注意力机制模块替换YOLO网络或Faster RCNN网络中的Conv模块。
在本发明的一个实施例中,所述自注意力机制为Vision Transformer模型的编码器中的多头自注意力机制。
在本发明的一个实施例中,所述混合注意力机制模块中乘积操作的次数增加为两次。
在本发明的一个实施例中,所述修改后的混合注意力机制模块在提取图像特征时,将通道注意力模块和修改后的空间注意力模块的输出与原始输入进行矩阵逐元素相乘操作得到最终的输出特征。
在本发明的一个实施例中,所述使用训练集训练模型前,使用预训练模型进行迁移学习。
本发明还提供了一种基于深度学习的高空抛物检测系统,包括:
数据获取模块,用于获取高空抛物物体的图像并进行预处理,结合预处理后的图像建立有标注的数据集,对数据集进行数据增强并分成训练集、验证集和测试集;
模型训练模块,用于构建包括自注意力机制的轻量级神经网络模型,使用训练集训练模型,结合网格寻优和验证集优化训练后的模型得到最终的模型;
检测模块,用于将测试集输入最终的模型得到高空抛物物体的检测结果。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如权利要求所述的基于深度学习的高空抛物检测方法。
本发明还提供了一种设备,包括存储器、处理器和存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的基于深度学习的高空抛物检测方法。
本发明的上述技术方案相比现有技术具有以下优点:
本发明通过使用注意力机制使得网络不仅在当前图片中学习信息,而且能在上下文图片帧中提取特征,提升了模型的整体分类能力;通过轻量化注意力机制的结构从而加快运算速度和提高实时处理能力,提升了模型对目标位置的定位能力,提高对高空抛物物体的检测效果。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中:
图1是本发明方法的流程图。
图2是本发明的整体结构图。
图3是自注意力的计算过程图。
图4是Vision Transformer(ViT)的模型图。
图5是Transformer编码器的结构图。
图6是本发明中C3Trans模块的结构图。
图7是CBAM模块的结构图。
图8是CAM模块的结构图。
图9是SAM模块的结构图。
图10是本发明中FCBAM模块的结构图。
图11是本发明的模型流程图。
图12是本发明实施例中的仿真实验的FPS-mAP@.5和weight-mAP@.5的散点图。
图13是本发明实施例中的仿真实验的消融实验训练过程曲线图。
图14是本发明实施例中的仿真实验的检测效果对比图。
图15是本发明实施例中的使用WinUI开发的主页界面的示意图。
图16是本发明实施例中开发的设置界面(深色模式)的示意图。
图17是本发明实施例中开发的设置界面(浅色模式)的示意图。
图18是本发明实施例中开发的标注界面主页的示意图。
图19是本发明实施例中开发的标注界面末页的示意图。
图20是本发明实施例中开发的训练界面主页的示意图。
图21是本发明实施例中开发的训练参数界面一的示意图。
图22是本发明实施例中开发的训练参数界面二的示意图。
图23是本发明实施例中开发的训练参数界面三的示意图。
图24是本发明实施例中开发的训练过程界面的示意图。
图25是本发明实施例中开发的训练命令行的示意图。
图26是本发明实施例中开发的检测界面主页的示意图。
图27是本发明实施例中开发的检测参数界面一的示意图。
图28是本发明实施例中开发的检测参数界面二的示意图。
图29是本发明实施例中开发的检测参数界面三的示意图。
图30是本发明实施例中开发的检测过程界面一的示意图。
图31是本发明实施例中开发的检测过程界面二的示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
近年来,随着计算机软硬件性能的提升,深度学习在各应用领域得到了迅猛的发展,当前基于深度学习的目标检测算法主要分为二阶段目标检测算法和一阶段目标检测算法。二阶段目标检测算法首先需要产生候选区域(Region Proposal),然后再将候选区域输入分类器(神经网络)进行分类,常见的算法为R-CNN(Regions with CNN Features)系列算法,包括R-CNN、Fast R-CNN和Faster R-CNN等算法。一阶段目标检测算法可以直接进行特征提取,产生目标的类别概率和位置坐标,不需要生成候选区域,因此实时性高于二阶段目标检测算法,而检测性能上有所损失,常见的算法为SSD(Single Shot MultiboxDetector)系列和YOLO(You Only Look Once)系列算法,其中YOLO系列包括v1到v5版本的算法。因此,本发明也,尝试将深度学习应用到抛物检测任务中,尝试改进YOLOv3模型获得了一种实时性更高的版本。
参照图1-图2所示,本发明公开了一种基于深度学习的高空抛物检测方法,包括以下步骤:
S1:获取高空抛物物体的图像并进行预处理,本实施例中预处理的方法包括图像去噪、亮度增强、运动模糊校正等操作。在进行目标检测前对采集到的高空抛物物体的图像进行预处理可以以提高图像质量和检测准确率。
S2:结合预处理后的图像建立有标注的数据集,使用已有的目标检测数据集(例如VOC2007、2012数据集)、垃圾分类数据集,结合预处理后的图像得到的有标注的数据集包含高空抛物物体的图像和标注文件,标注的信息包括物体位置和类别信息。
S3:对数据集进行数据增强并分成训练集、验证集和测试集;本实施例中数据增强包括旋转、平移、缩放、翻转等操作,可以增加数据的多样性和数量,从而提高模型的泛化能力和鲁棒性。
S4:构建包括自注意力机制的轻量级神经网络模型。包括自注意力机制的轻量级神经网络模型为结合了自注意力机制的轻量级YOLO网络或Faster RCNN网络,具体为:
本发明基于深度缩放因子为0.33、宽度缩放因子为0.25的YOLOv5n模型,提出了改进的高空抛物目标检测方法TinyThrow,主要引进了C3Trans模块、FCBAM模块和大图分割方法。
Transformer是自然语言处理(NLP)领域中常用的结构模型,基于自注意力机制,在大型语料库上预训练后迁移到任务所需数据集上,经过微调仍然获得较高的计算效率和精度而被广泛应用。自注意力机制的一般表达形式为缩放点积自注意力(Scaled Dot-Product Self-attention),如下式(1)所示。
其中,Q为查询(Query),K为键(Key),V为值(Value)。首先将输入自注意力机制的词矩阵A分别与可学习参数的初始化随机矩阵WQ、WK、WV相乘,得到Q、K、V矩阵。然后将Q与K的转置作点积,计算每个词向量与其他词向量的相关度,即注意力分数a(Attention Score);为了提高训练时梯度传播的稳定性,把计算出的注意力分数除以并做一次Softmax操作得到/>其中dk为K矩阵的维度;最后将归一化后的相关系数矩阵与V矩阵相乘,在矩阵元素层面即为各词向量的加权求和,得到最终的注意力输出B。以计算B矩阵第一个元素b1为例,自注意力计算过程流程如图3所示,其中小写字母向量均为对应大写字母矩阵的元素。
多头自注意力(Multi-head Self-attention)是多个缩放点积自注意力的叠加,可以学到多种不同的特征,类似于卷积神经网络中的通道(channel)。根据定义的head数初始化对应数量的WQ、WK、WV矩阵,将最后生成的多组B矩阵分别进行拼接操作还原到初始的维度。
Vision Transformer(ViT),即把3维的图像拆成n×n个图像块(patch),embedding层序列化成类似于NLP中词语的结构。为了保留图片中各patch间的位置关系,加入可训练位置信息的位置编码(Positional Encoding)。由于是图像分类任务,额外增加0号位置的patch,加入可学习的特殊类标签“*”*指瓶颈层不使用残差结构;最后输入Transformer编码器进行特征学习。Transformer编码器输入带位置编码的分割好的图片patch,送入多头注意力模块,可以使得网络不但能从当前patch的图片中学习,还能从上下文的其他patch中获取语义信息,从而提升了网络从全局范围的特征提取能力。再送入多层感知机MLP中进行训练,最后输出目标类别标签。其中Vision Transformer模型图如图4所示,Transformer编码器的结构如图5所示。
本实施例中使用多头自注意力机制替换YOLOv5网络中C3模块中的瓶颈层(Bottleneck),得到如图6所示的C3Trans模块。
如图7所示,混合注意力机制模块CBAM(Convolutional Block AttentionModule),由通道注意力模块(Channel Attention Module,CAM)和空间注意力模块(Spatial Attention Module,SAM)组成。CAM关注图像中“什么”是有意义的信息,将输入的特征图F分别经过全局最大池化和全局平均池化,把得到的两个输出特征图送入一个两层的MLP,再将MLP输出的特征进行加和操作,经过Sigmoid函数激活,生成最终的通道注意力特征Mc,如上图8所示。SAM关注图像中有意义信息的“位置”,将CAM输出的特征Mc与原始输入特征图F做乘法操作得到特征F’,作为本模块的输入特征图。类似于CAM,SAM也是首先做全局最大池化和全局平局池化,但是将得到的两个特征图进行通道拼接(concat)操作,然后经过一个7×7卷积操作降维为1个通道,经过Sigmoid激活函数生成空间注意力特征Ms。最后将Ms和该模块的输入特征F’做乘法操作,得到最终输出的特征F”,如图9示。
本实施例中构建包括通道注意力模块和空间注意力模块的混合注意力机制模块,增加混合注意力机制模块中乘积操作(Element-wise Production)的次数为两次,减少空间注意力模块(Spatial Attention Module,SAM)的卷积大小的同时增加卷积的数量,使用修改后的混合注意力机制模块FCBAM替换YOLO网络或Faster RCNN网络中的Conv模块。
本实施例中使用FCBAM替换YOLOv5中的Conv模块,并将SAM中的7×7卷积替换为3个3×3卷积,在不改变输出特征大小的情况下进一步减少计算量。矩阵逐元素相乘操作计算量较大,尤其是分辨率较大的高空抛物图片会造成计算量的几何式增长。通过增加乘积操作的次数为两次,可以降低资源占用、提高推理速度、不过多影响检测精度,从而满足高空抛物场景下的高实时性要求。
修改后的混合注意力机制模块在提取图像特征时,将通道注意力模块和修改后的空间注意力模块的输出与原始输入进行矩阵逐元素相乘操作得到最终的输出特征。此改进将原始的串行操作改为并行操作,将矩阵逐元素相乘的次数从6次减少为4次,在性能损失可接受范围内加快了运算速度,具体模型如图10所示。
S5:使用训练集训练模型,结合网格寻优和验证集优化训练后的模型得到最终的模型。
S5-1:使用训练集训练模型前,使用预训练模型进行迁移学习,以加快模型收敛速度和提高准确率。
S5-2:使用训练集训练模型,训练过程中观察模型的训练情况,如loss变化、精度变化等,以对模型进行调整和优化。
S5-3:网格寻优是一种超参数优化方法,使用网格寻优通过在超参数空间内搜索最优的超参数组合,以提高模型的准确率和泛化能力。
S5-4:根据网格寻优的结果,调整超参数后再次进行模型训练,以进一步提高模型的准确率和泛化能力。
S5-5:对训练好的模型使用验证集进行再次核对,确保模型可以准确地检测出高空抛物物体,避免漏检和误检。
S6:将测试集输入最终的模型得到高空抛物物体的检测结果。
本发明还公开了一种基于深度学习的高空抛物检测系统,包括数据获取模块、模型训练模块和检测模块。数据获取模块用于获取高空抛物物体的图像并进行预处理,结合预处理后的图像建立有标注的数据集,对数据集进行数据增强并分成训练集、验证集和测试集。模型训练模块用于构建包括自注意力机制的轻量级神经网络模型,使用训练集训练模型,结合网格寻优和验证集优化训练后的模型得到最终的模型。检测模块用于将测试集输入最终的模型得到高空抛物物体的检测结果。使用WinUI开发使用本发明的Windows应用平台,具体界面如图15-图31所示。
本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的基于深度学习的高空抛物检测方法。
本发明还公开了一种设备,包括存储器、处理器和存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的基于深度学习的高空抛物检测方法。
本发明兼顾检测精度和实时性的要求,在保留传统YOLOv5网络架构的基础上,提出一种轻量实时高空抛物目标检测方法TinyThrow,相较于现有技术的优点有:
1、通过使用计算机视觉中自注意力机制的ViT替换C3模块中的传统卷积得到C3Trans模块,使得网络不仅在当前图片中学习信息,而且能在上下文图片帧中提取特征,提升了网络的整体分类能力。
2、改进了空间注意力机制和通道注意力机制,采用多个较小的卷积替换原始的较大卷积,并减少了矩阵逐元素相乘的运算次数,得到了可以加快运算速度的快速混合域注意力机制FCBAM模块,从而提升了对目标位置的定位能力。
为了进一步说明本发明的有益效果,本实施例中分别使用本发明方法和现有方法进行高空抛物物体检测的仿真实验,并提高参数量、推理速度FPS、精确率P(precession)、召回率R(recall)、全类平均精确率mAP@.5(Mean Average Precession)和mAP@.5:.95共5个参数作为评价指标对实验结果进行对比。
本发明是基于YOLOv5算法进行改进,因此仿真实验中以原始YOLOv5算法的参数量为基准,通过参数量的增减来衡量本发明中改进算法的复杂度。推理速度FPS为算法每秒钟处理图片的张数,反映了算法的运行快慢。
目标检测算法采用交并比IoU来判定检测结果是否正确。当算法输出的检测框和标注的实际框的IoU大于一定阈值时,即视为目标被算法成功检测到,将这部分的检测框定义为真正例TP(True Positive),反之IoU小于规定阈值的检测框定义为真负例TN(TrueNegative)。如果算法把原本不存在的目标错误检测到,将这些检测框定义为假正例FP(False Positive)。若算法漏检了实际存在的标注框,则将这些检测框定义为假负例FN(False Negative)。
精确率P定义为正确预测的目标框占所有预测框的比例,表示目标预测正确的程度,计算方法为:
召回率R定义为正确预测的目标框占实际框的比例,表示目标预测完整的程度,计算方法为:
将上述的R值作为横轴,P值作为纵轴,可以绘制出一条PR曲线。在PR曲线中,P值与R值呈现负相关,即当召回率较高时,精确率反而较低。平均精确率AP定义为PR曲线上P值在R值从0到1上的积分,表示在不同召回率下的检测精度的平均值,兼顾精确率和召回率可以全面的衡量目标检测模型的性能。在实际计算中,需要对PR曲线进行平滑处理,将每个R值对应的P的值,取该点右侧最大的P值作为平滑后的P值,把得到的平滑PR曲线记为Psmooth(r),则AP的计算方法为:
AP为单个类别目标的平均精确率,记APi为第i类目标的AP值,共有k类目标,则mAP为所有类别目标的AP值的平均值,计算方法为:
mAP@.5表示IoU阈值设定为0.5时计算出的mAP值,mAP@.5:.95则表示IoU阈值从0.5开始,以0.05为步长增加到0.95,计算共10个mAP值得到的平均值。mAP@.5:.95相对于mAP@.5,由于IoU阈值的提升导致评判更严格,往往会带来数值上的下降。
仿真实验的环境为:所有实验均在一台图形工作站上运行,硬件配置中,CPU为CoreTMi7-6850K CPU@3.60GHz×12,内存为128GB,显卡为NVIDIA GeForce RTX1080Ti和NVIDIA TITAN X,显存均为11GB。软件配置中,操作系统为64位Ubuntu 21.04,代码运行环境为Python 3.9.10,深度学习框架为PyTorch 3.10.2,采用CUDA 11.3进行GPU加速。
实验数据训练集由VOC2007、VOC2012公开数据集和垃圾分类比赛数据集组成,选取了其中三个分类共2805张图片,包括瓶子(bottle)类969张图片对应1818个目标标签、盒子(box)类919张图片对应1882个目标标签和袋子(garbage)类917张图片对应1382个目标标签,均缩放到640×640进行训练。验证集数据来源同训练集,共310张图片,包括瓶子类107张图片对应165个目标标签、盒子类102张图片对应253个目标标签和袋子类101张图片对应152个目标标签。测试集数据为实际的高空抛物照片,由NIKON D7100照相机采集,从地面固定位置向高楼抛物窗口进行拍摄,共276张照片,分辨率均为6000×4000,包含94个瓶子目标、133个盒子目标和43个袋子目标。训练集、验证集和测试集的比例约为13:1.4:1,数据集的基本概况如下表1所示。
表1实验数据集概况表
数据集 | 瓶子 | 盒子 | 袋子 | 背景 | 总计 |
训练集 | 969/1818 | 919/1882 | 917/1382 | 700 | 3505 |
验证集 | 107/165 | 102/253 | 101/152 | 70 | 380 |
测试集 | 94 | 133 | 43 | 6 | 276 |
本发明TinyThrow使用SGD优化器进行训练,超参数中,训练总轮数epoch为300轮,批大小batch_size为16,学习率lr0为0.01,SGD动量momentum为0.937,权重衰减weight_decay为0.0005;在前3轮训练中进行预热操作,相对于正常训练过程,采用较高的动量为0.8,权重衰减为0.1。
使用扩充后的数据集将本发明(TinyThrow)与常见的通用二阶段目标检测算法Faster RCNN和一阶段目标检测算法SSD、RetinaNet、EfficientDet和YOLO系列等算法进行对比实验。所有实验均进行了300轮训练,batch size以尽可能利用两张显卡的显存灵活调整,取平均最优权重文件检测得到评价指标。按算法消耗资源量升序排列的实验结果如下表2所示。
表2实验结果对比表
对比实验按权重文件大小将算法规模分为轻量型算法、小型算法、中型算法和大型算法。首先采用二阶段目标检测算法Faster R-CNN进行实验,由于需要对候选框位置进行回归,速度较慢仅有19.0FPS。与其他算法不同的是,Faster R-CNN的召回率R高于精确率P,最终获得了78.0%的mAP@.5,权重文件较大为133.5MB。其余10个对比实验均为一阶段目标检测算法,早期的SSD算法体现出其推理速度快的优势,FPS达到了111.1,精确率较高为92.9%。RetinaNet和EfficientDet为比较新的一阶段目标检测算法,RetinaNet提出了新的交叉熵损失函数focal loss,使得一阶段目标检测能够具有二阶段目标检测算法的性能,在本数据集上mAP@.5进一步提升到了82.9%,而推理速度FPS降低比较明显,权重文件达到了145.8MB;EfficientDet系列引入了BiFPN加强不同层之间的联系,通过CompoundScaling构建了不同规模的算法,分为EfficientDet-P0~EfficientDet-P7,随着参数量的增加,评价指标获得了相应提升。对比实验中选取了对标微型设备目标检测算法YOLOv5n的EfficientDet-P0,以及对标中型设备目标检测算法YOLOv5m的EfficientDet-P3进行实验,然而从实验结果反映出EfficientDet系列算法在本高空抛物任务上的效果不如YOLOv5系列算法。本发明(TinyThrow)与上述其他系列的算法相比,推理速度FPS37.3已经达到了实时性要求,而权重文件只有3.9MB,除了召回率R略逊于Faster R-CNN算法,在主要的评价指标P、R和mAP@.5基本上均为最佳。
对比实验的后7个实验均为YOLO系列算法,首先是奠定了YOLO系列根基的YOLOv3算法,精确率P为91.5%,召回率R为76.6%,mAP@.5为83.5%,FPS为47.2,权重大小为123.5MB。然后选择了包含YOLOv4作者最新改进的Scaled-YOLOv4进行实验,由于在YOLOv3算法上增加了一系列tricks并且引入CSP结构改进了骨干网络,精确度P达到了所有实验中的最高值93.4%,mAP@.5进一步提升了1.9%,相应的权重文件也来到了最大的215.5MB,FPS降低到了30.8。最后进行的是YOLOv5系列的实验,共选取了YOLOv5n、YOLOv5s、YOLOv5m和YOLOv5l四种不同规模的算法。本发明改进高空抛物检测算法的baseline为YOLOv5n,具有惊人的144.9FPS和仅仅3.9MB的模型大小,获得了81.0%的mAP@.5。YOLOv5系列的完全体算法为YOLOv5l,深度和宽度缩放因子均为1.0,对标YOLOv3和Scaled-YOLOv4算法,获得了85.5%的mAP@.5,在推理速度和模型大小上均优于前两代算法,而介于微型模型和完全体之间的YOLOv5s和YOLOv5m算法分别达到了83.0%和84.2%。从上述对比实验的评价指标来看,本发明(TinyThrow)虽然是基于微型模型YOLOv5n改进,却具有相当于完全体模型YOLOv5l的性能,同时由于引入了大图分割方法获得了所有对比实验中最高的召回率R为78.9%,推理速度虽然有所下降,但是37.3的FPS仍大于24,满足实时推理的要求,且模型权重大小同YOLOv5n仅有3.9MB,对硬件资源的消耗较少,十分适合部署在智能监控摄像头等嵌入式设备中。
图12为各对比实验的FPS-mAP@.5和weight-mAP@.5的对比散点图,用不同的图例表示了各算法在相应推理速度和权重大小下的性能。其中图12(a)中虚线处的FPS值为24,为实时目标检测的分界线,在右侧即为实时目标检测算法;图12(b)中虚线为4种算法规模的分界线。五角星即为本发明提出的TinyThrow,在满足实时目标检测和轻量性的前提下性能最优。上述对比实验证明了TinyThrow模型的综合表现优于常规一阶段和二阶段目标检测模型,与YOLO系列算法对比有显著提升。
进一步地,为了确定本发明(TinyThrow)对YOLOv5n算法的改进效果,将各改进模块分别加入原始网络中进行消融实验,实验结果如下表3所示。
表3消融实验结果的对比表
消融实验以mAP@.5作为主要评价指标,YOLOv5n算法为baseline。v6版本新特性是参照作者引入简化的SPPF网络,并减少了骨干网络中C3模块的堆叠层数,从而使得网络更加轻量,提升了训练和检测的速度,参数量虽减少了1K,但各评价指标均略微有所提升。在单独引入快速空间和通道注意力机制模块FCBAM和迁移自注意力机制模块C3Trans后,虽然精确率P相对于baseline有5%和3.3%的下降,但是召回率R提升显著,分别提升了4.1%和4.7%。对于高空目标检测任务来说,需要尽可能多的检测出抛物目标,要求更高的召回率R,牺牲部分的精确率P是完全可以接受的。当同时加入FCBAM和C3Trans模块后,在模块的相互作用下,算法能够更加关注感兴趣区域的位置并且把握特征,精确率P获得了显著提升,召回率R相对于单独加入模块时有所下降,但模型的整体性能仍然优于baseline。最后引入大图分割方法,减轻了连续帧下检测目标丢失问题,结合了FCBAM模块和C3Trans模块,便得到了本发明(TinyThrow)。由于大图分割方法属于后处理,并不会额外增加模型的参数量,TinyThrow和引入FCBAM模块和C3Trans模块相同,相对于原始模型仅仅增加了1.4K的参数量,却在精确率P上提高了3.9%、召回率R上提高了5.6%、mAP@.5上提高了4.5%和mAP@.5:.95上提高了1.6%。
图13为本发明提出的TinyThrow和原始YOLOv5n训练过程的曲线图,红色实线为TinyThrow,蓝色点划线为YOLOv5n。在三个主要评价指标上,本发明提出的算法均明显优于原始算法,且训练过程较原始算法波动较少,更加稳定;在训练集loss损失曲线图中,train_box_loss表示预测框和实际框的误差,train_cls_loss表示对检测目标进行类别回归分类的误差,train_obj_loss表示预测框是否存在物体的误差。上述消融实验证明了本发明中的各个改进结合在一起,能使模型在增加较少参数的情况下获得较高的性能提升,可作为轻量实时高空抛物检测算法。
图14为两种模型在三种类别目标下的检测效果对比,其中左图为原始的YOLOv5s模型,右图为本发明提出的基于YOLOv5n算法改进的TinyThrow。可以看出在YOLOv5s算法中因为目标较小和背景遮挡导致漏检的目标,在更轻量的YOLOv5n中引入改进后被检测到,瓶子、盒子和袋子目标分别具有0.64、0.51和0.74的置信度。综上所述,原始的YOLOv5系列算法在复杂的场景下检测性能表现较差,出现较多漏检和误分类现象,且检测目标的置信度也较低。而本发明对复杂的抛物场景有更好的鲁棒性,在实际场景下具有更优越的检测效果,适合进行高空抛物目标检测任务。
针对复杂场景下的高空抛物目标检测任务,为了解决传统算法存在实时性差、召回率低和漏检率高等问题,本发明基于YOLOv5n提出了改进的实时高空抛物目标检测方法TinyThrow。通过引入C3Trans自注意力模块,提高了算法的特征提取能力;引入FCBAM快速通道空间注意力模块,增强了对目标的定位能力;引入大图分割方法,缓解了在高分辨率图像下的目标漏检现象。实验结果表明,改进后的算法在不增大权重文件的情况下达到了YOLOv5l的性能,相对于原始YOLOv5n提升了平均精确度4.5%,作为轻量级算法满足了复杂场景下的实时高空抛物检测任务的要求。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种基于深度学习的高空抛物检测方法,其特征在于,包括:
获取高空抛物物体的图像并进行预处理,结合预处理后的图像建立有标注的数据集,对数据集进行数据增强并分成训练集、验证集和测试集;
构建包括自注意力机制的轻量级神经网络模型,使用训练集训练模型,结合网格寻优和验证集优化训练后的模型得到最终的模型;
将测试集输入最终的模型得到高空抛物物体的检测结果。
2.根据权利要求1所述的基于深度学习的高空抛物检测方法,其特征在于:所述包括自注意力机制的轻量级神经网络模型,为结合了自注意力机制的轻量级YOLO网络或FasterRCNN网络。
3.根据权利要求2所述的基于深度学习的高空抛物检测方法,其特征在于:结合了自注意力机制的轻量级YOLO网络或Faster RCNN网络,具体为:
使用自注意力机制替换YOLO网络或Faster RCNN网络中C3模块中的瓶颈层,
构建包括通道注意力模块和空间注意力模块的混合注意力机制模块,增加混合注意力机制模块中乘积操作的次数,减少空间注意力模块的卷积大小的同时增加卷积的数量,使用修改后的混合注意力机制模块替换YOLO网络或Faster RCNN网络中的Conv模块。
4.根据权利要求1所述的基于深度学习的高空抛物检测方法,其特征在于:所述自注意力机制为Vision Transformer模型的编码器中的多头自注意力机制。
5.根据权利要求3所述的基于深度学习的高空抛物检测方法,其特征在于:所述混合注意力机制模块中乘积操作的次数增加为两次。
6.根据权利要求3所述的基于深度学习的高空抛物检测方法,其特征在于:所述修改后的混合注意力机制模块在提取图像特征时,将通道注意力模块和修改后的空间注意力模块的输出与原始输入进行矩阵逐元素相乘操作得到最终的输出特征。
7.根据权利要求1-6任一项所述的基于深度学习的高空抛物检测方法,其特征在于:所述使用训练集训练模型前,使用预训练模型进行迁移学习。
8.一种基于深度学习的高空抛物检测系统,其特征在于,包括:
数据获取模块,用于获取高空抛物物体的图像并进行预处理,结合预处理后的图像建立有标注的数据集,对数据集进行数据增强并分成训练集、验证集和测试集;
模型训练模块,用于构建包括自注意力机制的轻量级神经网络模型,使用训练集训练模型,结合网格寻优和验证集优化训练后的模型得到最终的模型;
检测模块,用于将测试集输入最终的模型得到高空抛物物体的检测结果。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:该计算机程序被处理器执行时实现如权利要求1-7任一项所述的基于深度学习的高空抛物检测方法。
10.一种设备,其特征在于:包括存储器、处理器和存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述的基于深度学习的高空抛物检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310751557.8A CN117079095A (zh) | 2023-06-25 | 2023-06-25 | 基于深度学习的高空抛物检测方法、系统、介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310751557.8A CN117079095A (zh) | 2023-06-25 | 2023-06-25 | 基于深度学习的高空抛物检测方法、系统、介质和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117079095A true CN117079095A (zh) | 2023-11-17 |
Family
ID=88715944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310751557.8A Pending CN117079095A (zh) | 2023-06-25 | 2023-06-25 | 基于深度学习的高空抛物检测方法、系统、介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117079095A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117314975A (zh) * | 2023-11-24 | 2023-12-29 | 四川迪晟新达类脑智能技术有限公司 | 低算力环境下基于模型推理的跟踪目标丢失再捕获方法 |
-
2023
- 2023-06-25 CN CN202310751557.8A patent/CN117079095A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117314975A (zh) * | 2023-11-24 | 2023-12-29 | 四川迪晟新达类脑智能技术有限公司 | 低算力环境下基于模型推理的跟踪目标丢失再捕获方法 |
CN117314975B (zh) * | 2023-11-24 | 2024-01-26 | 四川迪晟新达类脑智能技术有限公司 | 低算力环境下基于模型推理的跟踪目标丢失再捕获方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109961034B (zh) | 基于卷积门控循环神经单元的视频目标检测方法 | |
CN111709311B (zh) | 一种基于多尺度卷积特征融合的行人重识别方法 | |
CN112507777A (zh) | 一种基于深度学习的光学遥感图像舰船检测与分割方法 | |
CN111652903B (zh) | 一种自动驾驶场景下基于卷积关联网络的行人目标跟踪方法 | |
CN111079739B (zh) | 一种多尺度注意力特征检测方法 | |
CN107016357A (zh) | 一种基于时间域卷积神经网络的视频行人检测方法 | |
CN111898432B (zh) | 一种基于改进YOLOv3算法的行人检测系统及方法 | |
Gao et al. | YOLOv4 object detection algorithm with efficient channel attention mechanism | |
CN112418330A (zh) | 一种基于改进型ssd的小目标物体高精度检测方法 | |
CN114758288A (zh) | 一种配电网工程安全管控检测方法及装置 | |
Kim et al. | Improved center and scale prediction-based pedestrian detection using convolutional block | |
CN110334656A (zh) | 基于信源概率加权的多源遥感图像水体提取方法及装置 | |
CN111126155B (zh) | 一种基于语义约束生成对抗网络的行人再识别方法 | |
CN117079095A (zh) | 基于深度学习的高空抛物检测方法、系统、介质和设备 | |
Xiao et al. | FDLR-Net: A feature decoupling and localization refinement network for object detection in remote sensing images | |
Zhang et al. | Research on camouflaged human target detection based on deep learning | |
Cheng et al. | Enhanced single shot multibox detector for pedestrian detection | |
Sun et al. | An object detection network for embedded system | |
CN114140524A (zh) | 一种多尺度特征融合的闭环检测系统及方法 | |
CN112699954A (zh) | 一种基于深度学习和词袋模型的闭环检测方法 | |
Xiufen et al. | Deep generative network and regression network for fishing nets detection in real-time | |
Wang et al. | Improved multi-domain convolutional neural networks method for vehicle tracking | |
Wu et al. | Detection algorithm for dense small objects in high altitude image | |
Popov et al. | Recognition of Dynamic Targets using a Deep Convolutional Neural Network | |
Wu et al. | Siamese Network Object Tracking Algorithm Combined with Attention Mechanism |
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 |