CN114022425A - 一种具备场景自适应功能的车辆检测方法和装置 - Google Patents
一种具备场景自适应功能的车辆检测方法和装置 Download PDFInfo
- Publication number
- CN114022425A CN114022425A CN202111241891.6A CN202111241891A CN114022425A CN 114022425 A CN114022425 A CN 114022425A CN 202111241891 A CN202111241891 A CN 202111241891A CN 114022425 A CN114022425 A CN 114022425A
- Authority
- CN
- China
- Prior art keywords
- model
- vehicle detection
- video
- image
- data set
- 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 166
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000013140 knowledge distillation Methods 0.000 claims abstract description 19
- 238000011156 evaluation Methods 0.000 claims abstract description 7
- 238000012549 training Methods 0.000 claims description 63
- 230000006870 function Effects 0.000 claims description 30
- 230000003044 adaptive effect Effects 0.000 claims description 14
- 238000007781 pre-processing Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 7
- 238000002372 labelling Methods 0.000 claims description 7
- 238000011176 pooling Methods 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 5
- 238000013527 convolutional neural network Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 238000010606 normalization Methods 0.000 claims description 3
- 238000012805 post-processing Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000010223 real-time analysis Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- 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/23—Clustering techniques
-
- 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/08—Learning 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
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)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种具备场景自适应功能的车辆检测方法和装置,该方法采用深度学习模型,能根据场景的变化自动实时调整模型参数,实现场景自适应功能。该方法包括:视频处理模块和模型更新模块。视频处理模块通过视频采集设备获取图像帧,对图像进行预处理,然后加载车辆检测模型对图像中的车辆进行检测,这里加载的车辆检测模型为模型更新模块实时更新的动态模型;模型更新模块存储最新图像,借助知识蒸馏技术将复杂网络模型在最新图像上学习到的特征传递给简单模型,实现简单模型的更新,然后对简单模型进行精度评估,选出最优的模型进行模型部署,应用于视频处理模型。该方法能够有效解决复杂模型计算效率差、简单模型泛化能力不足的问题,显著提升车辆检测的速度和精度。
Description
技术领域
本发明属于智能交通、机器视觉领域,特别涉及一种具备场景自适应功能的车辆检测方法和装置。
背景技术
车辆检测算法可大致分为三类:基于帧间差分或背景建模的运动目标检测算法、基于特征提取和车辆分类的传统机器学习算法和基于深度学习的端到端车辆检测算法。随着计算机算力的不断提升和数据规模的不断扩大,基于深度学习的车辆检测算法相比去传统算法优势不断明显,检测精度高、场景适应性强。
基于深度学习的端到端目标检测可分为one-stage和two-stage两类方法。Two-stage方法沿用传统的目标检测流程,包含候选区域选取、特征提取和分类/回归等三部分。其中比较经典的算法是Region-based CNN(R-CNN)系列网络,经历了由R-CNN到Fast R-CNN到Faster R-CNN的不断改进。One-stage算法简化了two-stage的步骤,将目标检测问题转换为分类和回归问题,引入一个统一的框架,直接将输入图片像素映射为目标方框和目标类别,速度大大提升,比较经典的有Single Shot MultiBox Detector(SSD)和You OnlyLook Once(YOLO)系列。
YOLO系列算法体系比较全面,提出了一系列针对不同检测精度和检测效率的算法模型,其中,YOLOv3-Tiny和YOLOv4-Tiny检测速度非常快,但是检测精度偏低,最新提出的YOLOv4-P7模型,检测精度达到了学术界最高水平,但是,该类模型对算力的要求也很高,很难做到边缘侧设备视频实时处理。
实际的交通场景复杂多变,摄像头的高低,角度的大小,天气的变化都会影响深度学习模型的检测精度。复杂的深度神经网络模型(例如YOLOv4-P7)场景适应能力强,但是计算量大,很难实现边缘侧实时视频分析。简单的浅层神经网络模型(例如YOLOv3-Tiny)计算量小,适合边缘侧视频实时分析,但是场景适应能力弱,只能针对单一的应用场景能够得到比较理想的检测效果。
以往的基于深度学习的车辆检测模型部署方案一般都是采用固定模型,首先针对应用场景收集数据,对数据集进行标注,然后在数据中心对车辆检测模型进行训练,获取模型参数,最后,将训练好的模型部署到边缘侧设备中进行车辆检测。该类部署方案中,车辆检测模型固定,无法做到实时更新,受模型泛化能力制约,当场景发生变化时,模型的检测效果会大大降低。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提出一种具备场景自适应功能的车辆检测方法和装置,设计了一种能在边缘侧设备中高效运行的轻量级简单网络模型,借助知识蒸馏技术,实现了复杂网络模型到简单网络模型的实时信息传递,实现了模型的实时迭代升级,达到场景自适应效果。
本发明所要解决的技术问题是通过以下的技术方案来实现的,一种具备场景自适应功能的车辆检测方法,所述方法包括以下步骤:
读取实时视频流,对视频进行解码,获取图像帧;
对图像帧进行预处理,包括:色彩空间转换(YUV2RGB)、图像缩放、图像归一化;
加载第一车辆检测模型,对预处理后的图像帧进行车辆检测,获取车辆位置和类别信息;
对预处理后的图像进行存储,构建临时训练数据集;
基于临时训练数据集,利用知识蒸馏方法,将第二车辆检测模型学习到的特征传递给第一车辆检测模型,实现第一车辆检测模型的参数更新;所述第二车辆检测模型较第一车辆检测模型复杂;
对更新后的第一车辆检测模型进行性能评估,筛选出满足性能要求的模型,进行模型部署,供车辆检测模块加载使用。
进一步地,本发明所要解决的技术问题还可以通过以下的技术方案来实现,所述第一车辆检测模型采用Yolo-nano模型,该模型基于Yolov3-tiny进行改进,将传统卷积替换成1x1卷积和深度卷积,同时,添加残差单元,采用两层特征金字塔结构进行多尺度车辆检测,anchors大小采用聚类算法给出;具体地:
该模型的第一层采用普通卷积层,卷积核大小为3x3,特征数为8,然后紧接一层1x1卷积和3x3深度卷积,1x1卷积的特征数为16,深度卷积采用组卷积实现,分组数等于输入特征数,深度卷积的特征数为16;然后连接3个CSP模块,每个CSP模块后面紧接一个最大池化操作,池化层的核大小和stride均为2;每个CSP模块首先将输入通过1x1卷积转化为两个输出,每个输出的特征数是输入特征数的一半,然后将第二个输出连接一个残差模块和一个1x1卷积层,得到第三个输出,然后将这三个输出合并起来,得到每个CSP模块的输出,CSP模块的输出通道数是输入通道数的两倍。
进一步地,本发明所要解决的技术问题还可以通过以下的技术方案来实现,所述临时训练数据集由实时视频数据库、历史视频数据库和失效数据库构成,具体构建过程包括:
步骤1-1,每秒采集一张实时视频图像,将预处理后的结果放入实时视频数据库中;
步骤1-2,设置最新视频时长,将超过该时长的视频图像从实时视频数据库中移除,放入历史视频数据库中;
步骤1-3,设置历史视频数据库的最大容量,将超过该容量的历史视频图像从历史视频数据库中移除;
步骤1-4,建立失效数据库,将第一车辆检测模型检测失效的视频图像放入该数据库中。
进一步地,本发明所要解决的技术问题还可以通过以下的技术方案来实现,步骤1-4中所述建立失效数据库,具体过程包括:
步骤1-4-1,从实时视频数据库中随机选取一张视频图像;
步骤1-4-2,分别利用第一车辆检测模型和第二车辆检测模型对该视频图像进行车辆检测,利用第二车辆检测模型检测到的车辆标签作为真实标签,对第一车辆检测模型的检测结果计算精度和召回率;
步骤1-4-3,将精度或召回率低于给定阈值的图像放入失效数据库中。
进一步地,本发明所要解决的技术问题还可以通过以下的技术方案来实现,所述第二车辆检测模型采用Yolov3网络模型,在开源数据集和自建数据集上进行多任务训练获得该模型参数,选用的开源数据集包括COCO、UA-DETRAC、BDD100K和MIO-TCD,自建数据集通过采集不同场景视频数据,人工标注获得;
所述多任务训练基于多任务网络模型实现,该多任务网络模型的结构为:将Yolov3的Darknet53网络作为共用特征提取网络,置于网络的最前端,输入原始图像,输出图像特征;紧接着添加Yolov3多尺度检测分支头,检测分支头形成的方式为:将Yolov3原有的3个检测分支头扩展为3*n个检测分支头,其中,n为选用的数据集个数(本发明中n为5),每个分支中的Yolo层的anchors大小采用在相应的数据集上进行聚类算法得出,损失函数的定义采用GIOU代替原来的MSE。
进一步地,本发明所要解决的技术问题还可以通过以下的技术方案来实现,对所述Yolov3网络模型进行多任务训练,具体过程包括:
步骤2-1,收集COCO、UA-DETRAC、BDD100K和MIO-TCD开源数据集,并针对不同的交通场景采集视频数据,人工标注检测目标位置和目标类别,建立自建数据集;
步骤2-2,对数据集进行扩充,并将数据集随机分成训练集、验证集和测试集;所述扩充的方式包括:对数据集进行旋转,平移,缩放和镜像变换,添加随机白噪音,亮度、色度和饱和度变化;
步骤2-3,模型训练的每一个迭代周期内,随机选取一个数据集对应的Yolov3网络模型分支,然后从相应分支对应的训练数据中随机读取一个批次数据,送入网络模型,进行前向和后向推理,计算该分支对应的损失函数,利用随机梯度法更新模型参数;
步骤2-4,重复步骤2-3,直到Yolov3网络模型收敛为止。
进一步地,本发明所要解决的技术问题还可以通过以下的技术方案来实现,所述基于临时训练数据集,利用知识蒸馏方法,将第二车辆检测模型学习到的特征传递给第一车辆检测模型,实现第一车辆检测模型的参数更新,具体过程包括:
步骤3-1,利用第二车辆检测模型对临时训练数据集各数据库中的视频图像进行检测,将获得的车辆位置和类别作为标签存储;
步骤3-2,从所述实时视频数据库、历史视频数据库和失效视频数据库中按照6:2:2的比例随机选取已经标注过的视频图像,作为知识蒸馏的训练数据集;
步骤3-3,利用步骤3-2获得的训练数据集对第一车辆检测模型进行训练,更新该模型的模型参数。
进一步地,本发明所要解决的技术问题还可以通过以下的技术方案来实现,所述对更新后的第一车辆检测模型进行性能评估,筛选出满足性能要求的模型,具体过程包括:
步骤4-1,从实时视频数据库中随机选取N张图片;
步骤4-2,针对每张图片,分别利用第一车辆检测模型和第二车辆检测模型对图片进行车辆检测;
步骤4-3,将第二车辆检测模型检测结果作为标签,计算第一车辆检测模型的平均精度和平均召回率;精度和召回率计算公式如下:
步骤4-4,若平均精度或平均召回率低于给定阈值,则认为模型精度不满足要求,舍弃该模型。
本发明所要解决的技术问题是通过以下的技术方案来实现的,一种具备场景自适应功能的车辆检测装置,所述装置包括:
视频解码单元,用于对获取的视频流进行解码,得到图像帧;
图像预处理单元,用于对图像进行预处理操作;
车辆检测单元,用于对图像进行车辆检测,获取车辆位置和类别信息;
知识蒸馏单元,用于将复杂网络模型学习到的特征传递给相对简单的网络模型;
存储单元,用于对视频图像帧以及车辆检测结果进行存储。
进一步地,本发明所要解决的技术问题还可以通过以下的技术方案来实现,所述车辆检测单元能够对卷积神经网络进行前向推理,并对网络数据结果进行后处理,得到车辆位置和类别信息。
进一步地,本发明所要解决的技术问题还可以通过以下的技术方案来实现,所述知识蒸馏单元,包括:
神经网络推理单元,用于对复杂网络模型和简单网络模型进行前向推理;
神经网络训练单元,用于对简单网络模型进行模型训练。
关于具备场景自适应功能的车辆检测装置的具体限定可以参见上文中对于具备场景自适应功能的车辆检测方法的限定,在此不再赘述。上述具备场景自适应功能的车辆检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本发明与现有技术相比,其显著优点为:
1、本发明提出了一种具备场景自适应的车辆检测方法,能够针对不同的应用场景实现车辆检测模型的自动更新,而不需要人为干预(采集现场图像数据,进行人工标注,利用中心服务器进行模型训练,将训练好的模型进行边侧部署)。传统的车辆检测算法往往在特定数据集上进行训练,检测效果在该数据集上能达到很高的精度,但是,无法适应复杂多变的实际交通场景。为了提升模型的泛化能力,我们需要构建复杂的深层网络模型,同时利用足够多的数据进行训练,模型泛化能力提升的同时带来了模型检测效率的降低,难以实现边缘侧实时视频分析。简单的浅层网络模型计算量较低,很容易实现边缘侧实时分析,但是,其模型泛化能力弱,场景适应性差。为了提升模型在不同场景下的检测精度,本发明充分结合复杂深层网络模型和简单浅层网络模型的优势,提出了场景自适应车辆检测方法。首先,利用视频采集单元构建场景数据集,然后,在该数据集上知识蒸馏,将复杂深层网络模型学习到的特征传递给简单浅层网络模型,实现简单浅层网络模型的参数更新,然后,对更新后的模型进行性能评估,保留高精度模型,剔除不满足要求的模型,最后将保留下来的模型传递给视频流分析模块,实现模型的场景自适应。
2、本发明提出了一种新的车辆检测模型多任务训练方法,该方法能够充分利用现有标注数据资源,提升模型训练精度。不同数据集拥有不同的标签,尽管它们应用的场景可能相似,例如,交通场景下同时存在车辆和行人,有的数据集只标注了车辆,有的数据集仅标注了行人,即使标注车辆的数据集之间车辆类别的标注也不尽相同,由于数据集之间存在的这些差别,很难简单地将它们合并起来训练模型。本发明为了充分利用现有数据集和自建数据集,提出了一种多任务训练方法,实现了不同数据集的联合训练,扩大了模型训练的数据集规模,提升了模型的检测精度和泛化能力。
3、本发明提出的Yolo-nano模型,对Yolov3-tiny进行改进,将传统卷积替换成1x1卷积和深度卷积,同时,添加残差模块,采用两层特征金字塔结构进行多尺度车辆检测,模型大小和推理速度大幅提升,适合嵌入式ARM CPU中进行多路视频实时推理。
下面结合附图对本发明作进一步详细描述。
附图说明
图1为一个实施例中具备场景自适应功能的车辆检测方法的流程图。
图2为一个实施例中Yolo-nano网络结构图。
图3为一个实施例中Yolov3多任务训练框架示意图。
图4为一个实施例中具备场景自适应功能的车辆检测设备的示意图。
图5为一个实施例中Yolov3-tiny和Yolo-nano离线训练结果对比图。
图6为一个实施例中Yolo-nano在线训练结果图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,提供了一种具备场景自适应功能的车辆检测方法,借助知识蒸馏和模型评估不断自动改进模型参数,提升模型检测精度,实现场景自适应。如图1所示,该方法包括视频处理模块和模型更新模块。
其中,视频处理模块包含以下步骤:
步骤1:读取实时视频流,对视频进行解码,获取图像帧
实时视频流通过rtsp协议获取原始编码NALU单元数据,然后将NALU数据传入软件或硬件解码器进行视频解码,获取图像帧,该方法同时支持H264和H265编码方式。
步骤2:对图像帧进行预处理,包括,色彩空间转换、图像缩放、图像归一化等
如果解码获取到的图像帧不是RGB编码,需要对其进行色彩空间转换,变换到RGB空间,比较常见的是YUV色彩空间到RGB色彩空间的转换。解码后图像的大小与车辆检测网络模型的输入图像大小往往不同,例如,高清摄像机的输出视频图像大小为1920x1080,Yolov3-nan的输入图像大小为416x416,这时需要对获得的图像进行缩放操作,将图像缩放到416x416。RGB图像中每个分量的值范围为0-255,在将RGB图像输入到神经网络之前需要对其进行归一化,使得每个分量的范围变为0-1,这里需要将图像中每个像素的RGB值都除以255。
步骤3:对预处理后的图像帧进行车辆检测
该步骤首先需要加载预先定义的网络模型,即第一车辆检测模型,对预处理后的图像帧进行前向推理,然后对深度学习网络模型输出结果进行后处理,得到车辆位置和类别等信息。
这里加载的车辆检测模型采用Yolo-nano模型,其结构如图2所示,该模型专门为低功耗设备开发,能够在ARM CPU上实现单核实时车辆检测。该模型基于Yolov3-tiny进行改进,将传统卷积替换成1x1卷积和深度卷积,同时,添加残差单元,采用两层特征金字塔结构进行多尺度车辆检测,anchors大小采用聚类算法给出。
该模型的第一层采用普通卷积层,卷积核大小为3x3,特征数为8,然后紧接一层1x1卷积和3x3深度卷积,1x1卷积的特征数为16,深度卷积采用组卷积实现,分组数等于输入特征数,深度卷积的特征数为16。然后连接3个CSP模块,每个CSP模块后面紧接一个最大池化操作,池化层的核大小和stride均为2。每个CSP模块首先将输入通过1x1卷积转化为两个输出,每个输出的特征数是输入特征数的一半,该过程的目的是降低特征数,减少计算量,然后,将第二个输出连接一个残差模块和一个1x1卷积层,得到第三个输出,然后,将这三个输出合并起来,得到每个CSP模块的输出,CSP模块的输出通道数是输入通道数的两倍。
预处理步骤采用经典的NMS操作,将重复的车辆方框过滤掉。
模型更新模块包含以下步骤:
步骤1:存储预处理图像,构建临时训练数据集
临时数据采用每秒一帧的频率实时采集视频图像,将预处理后的结果保存到实时视频数据库中,同时设置最新视频时长,用于控制存储图像的总大小,定期将超过该时长的历史图片从该数据库中移除,放入到历史视频数据库中。为了控制历史数据库总大小,设置历史数据库最大容量,将超过该容量的历史视频图像从历史视频数据库中移除。同时建立失效数据库,将简单模型检测失效的视频图像放入该数据库中。临时训练数据集是从实时视频数据库、历史视频数据库和失效视频数据库中按6:2:2的比例随机选出已经标注过的图像构成。
步骤2:在临时训练数据集上进行知识蒸馏训练
知识蒸馏训练是将复杂车辆检测网络模型学习到的特征传递给简单车辆检测网络模型。首先,先用复杂车辆检测网络模型对数据库中的图像进行标注,然后,利用复杂网络模型标注的结果作为标签构建训练数据集,最后,在该训练数据集上训练简单车辆检测网络模型。
复杂车辆检测网络模型采用Yolov3模型,利用多任务训练方式进行模型训练,多任务训练用到的数据集包括COCO、UA-DETRAC、BDD100K、MIO-TCD和自建数据集等,基本流程如图3所示。该多任务训练模型将Yolov3的Darknet53网络作为共用特征提取网络,将Yolov3原有的3个检测分支头扩展为3*n个检测分支头,其中,n为选用的数据集个数,每个分支中的Yolo层的anchors大小采用在相应的数据集上进行聚类算法给出。
模型训练时首先需要收集相应的数据集,将数据标注方式统一为darknet方式,然后对训练数据集进行旋转、平移、缩放和镜像变换、添加随机白噪音、亮度、色度和饱和度变化,扩充数据集,同时将数据集随机分成训练集、验证集和测试集。训练时每个迭代周期内,随机选取一个数据集对应的Yolov3分支,然后从相应分支对应的数据集中随机读取一个批次数据,送入网络模型,进行前向和后向推理,计算该分支对应的损失函数,利用随机梯度法更新模型参数。
步骤3:对更新后的模型进行性能评估,实现模型筛选
首先从实时数据库中随机选取N张图片,然后对每张图片分别利用复杂模型和简单模型进行车辆检测,再将复杂模型检测结果作为标签,计算简单模型的平均精度和召回率,最后根据平均精度和召回率对模型进行筛选,如果平均精度或平均召回率低于给定阈值,则认为模型精度不满足要求,舍弃该模型。
在一个实施例中,提供了一种具备场景自适应功能的车辆检测装置,如图4所示,包括视频解码单元、图像预处理单元、车辆检测单元、知识蒸馏单元和存储单元。视频解码单元用于对接收到的实时压缩视频流进行解码,获取图像帧,同时支持H264和H265格式,图像预处理单元用于对解码后的图像帧进行预处理,转成车辆检测网络所需要的图像格式和大小,车辆检测网络用于对输入的图像进行车辆检测,支持深度卷积神经网络前向推理功能,知识蒸馏单元用于将复杂模型学习到的特征传递给简单模型,该单元须同时支持深度卷积神经网络的前向和后向推理功能,支持模型训练,存储单元用于对视频图像帧以及车辆检测结果进行存储。
图5给出了Yolov3-tiny和Yolo-nano离线训练结果对比图,可以看出Yolo-nano经过轻量化后虽然推理速度大幅提升,但是模型泛化能力和检测精度大幅下降,相比Yolov3-tiny,mAP降低10%左右。
图6给出了利用本公开实施例的场景自适应车辆检测方法和装置进行多场景车辆检测的示例,其中,Yolov3-tiny模型采用离线训练获得,Yolo-nano采用场景自适应方式训练,该示例中测试视频由多个路口不同场景下的视频片段拼接而成。根据图5和图6可以看出,虽然离线训练模式下,Yolo-nano检测精度远低于Yolov3-tiny,但是,借助本公开实施例提出的场景自适应车辆检测方法,Yolo-nano的检测精度大幅提升,平均精度高于Yolov3-tiny,同时,场景自适应能力也大大优于离线训练得到的Yolov3-tiny模型。
采用上述本发明实施例所提供的场景自适应车辆检测方法和装置大幅提升了传统车辆检测模型的检测精度和泛化能力,具备场景自适应功能,能够根据不同的应用场景,自动调整自身模型参数,实现场景的实时自适应,而不需要像传统方法那样,针对不同的应用场景分别采集数据,人工标注,后台训练,大大降低了模型在不同场景下部署的难度和人力、时间成本的消耗。
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (10)
1.一种具备场景自适应功能的车辆检测方法,其特征在于,所述方法包括以下步骤:
读取实时视频流,对视频进行解码,获取图像帧;
对图像帧进行预处理,包括:色彩空间转换、图像缩放、图像归一化;
加载第一车辆检测模型,对预处理后的图像帧进行车辆检测,获取车辆位置和类别信息;
对预处理后的图像进行存储,构建临时训练数据集;
基于临时训练数据集,利用知识蒸馏方法,将第二车辆检测模型学习到的特征传递给第一车辆检测模型,实现第一车辆检测模型的参数更新;所述第二车辆检测模型较第一车辆检测模型复杂;
对更新后的第一车辆检测模型进行性能评估,筛选出满足性能要求的模型,进行模型部署,供车辆检测模块加载使用。
2.根据权利要求1所述的具备场景自适应功能的车辆检测方法,其特征在于,所述第一车辆检测模型采用Yolo-nano模型,该模型基于Yolov3-tiny进行改进,将传统卷积替换成1x1卷积和深度卷积,同时,添加残差单元,采用两层特征金字塔结构进行多尺度车辆检测,anchors大小采用聚类算法给出;具体地:
该模型的第一层采用普通卷积层,卷积核大小为3x3,特征数为8,然后紧接一层1x1卷积和3x3深度卷积,1x1卷积的特征数为16,深度卷积采用组卷积实现,分组数等于输入特征数,深度卷积的特征数为16;然后连接3个CSP模块,每个CSP模块后面紧接一个最大池化操作,池化层的核大小和stride均为2;每个CSP模块首先将输入通过1x1卷积转化为两个输出,每个输出的特征数是输入特征数的一半,然后将第二个输出连接一个残差模块和一个1x1卷积层,得到第三个输出,然后将这三个输出合并起来,得到每个CSP模块的输出,CSP模块的输出通道数是输入通道数的两倍。
3.根据权利要求1或2所述的具备场景自适应功能的车辆检测方法,其特征在于,所述临时训练数据集由实时视频数据库、历史视频数据库和失效数据库构成,具体构建过程包括:
步骤1-1,每秒采集一张实时视频图像,将预处理后的结果放入实时视频数据库中;
步骤1-2,设置最新视频时长,将超过该时长的视频图像从实时视频数据库中移除,放入历史视频数据库中;
步骤1-3,设置历史视频数据库的最大容量,将超过该容量的历史视频图像从历史视频数据库中移除;
步骤1-4,建立失效数据库,将第一车辆检测模型检测失效的视频图像放入该数据库中。
4.根据权利要求3所述的具备场景自适应功能的车辆检测方法,其特征在于,步骤1-4中所述建立失效数据库,具体过程包括:
步骤1-4-1,从实时视频数据库中随机选取一张视频图像;
步骤1-4-2,分别利用第一车辆检测模型和第二车辆检测模型对该视频图像进行车辆检测,利用第二车辆检测模型检测到的车辆标签作为真实标签,对第一车辆检测模型的检测结果计算精度和召回率;
步骤1-4-3,将精度或召回率低于给定阈值的图像放入失效数据库中。
5.根据权利要求1所述的具备场景自适应功能的车辆检测方法,其特征在于,所述第二车辆检测模型采用Yolov3网络模型,在开源数据集和自建数据集上进行多任务训练获得该模型参数,选用的开源数据集包括COCO、UA-DETRAC、BDD100K和MIO-TCD,自建数据集通过采集不同场景视频数据,人工标注获得;
所述多任务训练基于多任务网络模型实现,该多任务网络模型的结构为:将Yolov3的Darknet53网络作为共用特征提取网络,置于网络的最前端,输入原始图像,输出图像特征;紧接着添加Yolov3多尺度检测分支头,检测分支头形成的方式为:将Yolov3原有的3个检测分支头扩展为3*n个检测分支头,其中,n为选用的数据集个数,每个分支中的Yolo层的anchors大小采用在相应的数据集上进行聚类算法得出,损失函数的定义采用GIOU代替原来的MSE。
6.根据权利要求5所述的具备场景自适应功能的车辆检测方法,其特征在于,对所述Yolov3网络模型进行多任务训练,具体过程包括:
步骤2-1,收集COCO、UA-DETRAC、BDD100K和MIO-TCD开源数据集,并针对不同的交通场景采集视频数据,人工标注检测目标位置和目标类别,建立自建数据集;
步骤2-2,对数据集进行扩充,并将数据集随机分成训练集、验证集和测试集;所述扩充的方式包括:对数据集进行旋转,平移,缩放和镜像变换,添加随机白噪音,亮度、色度和饱和度变化;
步骤2-3,模型训练的每一个迭代周期内,随机选取一个数据集对应的Yolov3网络模型分支,然后从相应分支对应的训练数据中随机读取一个批次数据,送入网络模型,进行前向和后向推理,计算该分支对应的损失函数,利用随机梯度法更新模型参数;
步骤2-4,重复步骤2-3,直到Yolov3网络模型收敛为止。
7.根据权利要求3所述的具备场景自适应功能的车辆检测方法,其特征在于,所述基于临时训练数据集,利用知识蒸馏方法,将第二车辆检测模型学习到的特征传递给第一车辆检测模型,实现第一车辆检测模型的参数更新,具体过程包括:
步骤3-1,利用第二车辆检测模型对临时训练数据集各数据库中的视频图像进行检测,将获得的车辆位置和类别作为标签存储;
步骤3-2,从所述实时视频数据库、历史视频数据库和失效视频数据库中按照6:2:2的比例随机选取已经标注过的视频图像,作为知识蒸馏的训练数据集;
步骤3-3,利用步骤3-2获得的训练数据集对第一车辆检测模型进行训练,更新该模型的模型参数。
8.根据权利要求7所述的具备场景自适应功能的车辆检测方法,其特征在于,所述对更新后的第一车辆检测模型进行性能评估,筛选出满足性能要求的模型,具体过程包括:
步骤4-1,从实时视频数据库中随机选取N张图片;
步骤4-2,针对每张图片,分别利用第一车辆检测模型和第二车辆检测模型对图片进行车辆检测;
步骤4-3,将第二车辆检测模型检测结果作为标签,计算第一车辆检测模型的平均精度和平均召回率;
步骤4-4,若平均精度或平均召回率低于给定阈值,则认为模型精度不满足要求,舍弃该模型。
9.一种具备场景自适应功能的车辆检测装置,其特征在于,所述装置包括:
视频解码单元,用于对获取的视频流进行解码,得到图像帧;
图像预处理单元,用于对图像进行预处理操作;
车辆检测单元,用于对图像进行车辆检测,获取车辆位置和类别信息;
知识蒸馏单元,用于将复杂网络模型学习到的特征传递给相对简单的网络模型;
存储单元,用于对视频图像帧以及车辆检测结果进行存储。
10.根据权利要求9所述的具备场景自适应功能的车辆检测装置,其特征在于,所述车辆检测单元能够对卷积神经网络进行前向推理,并对网络数据结果进行后处理,得到车辆位置和类别信息;
所述知识蒸馏单元,包括:
神经网络推理单元,用于对复杂网络模型和简单网络模型进行前向推理;
神经网络训练单元,用于对简单网络模型进行模型训练。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111241891.6A CN114022425A (zh) | 2021-10-25 | 2021-10-25 | 一种具备场景自适应功能的车辆检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111241891.6A CN114022425A (zh) | 2021-10-25 | 2021-10-25 | 一种具备场景自适应功能的车辆检测方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114022425A true CN114022425A (zh) | 2022-02-08 |
Family
ID=80057545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111241891.6A Pending CN114022425A (zh) | 2021-10-25 | 2021-10-25 | 一种具备场景自适应功能的车辆检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114022425A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115984274A (zh) * | 2023-03-20 | 2023-04-18 | 菲特(天津)检测技术有限公司 | 一种车辆外观检测模型、构建方法及检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111626330A (zh) * | 2020-04-23 | 2020-09-04 | 南京邮电大学 | 基于多尺度特征图重构和知识蒸馏的目标检测方法与系统 |
CN111709409A (zh) * | 2020-08-20 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 人脸活体检测方法、装置、设备及介质 |
CN113284122A (zh) * | 2021-05-31 | 2021-08-20 | 五邑大学 | 基于深度学习的卷纸包装缺陷检测方法、装置及存储介质 |
-
2021
- 2021-10-25 CN CN202111241891.6A patent/CN114022425A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111626330A (zh) * | 2020-04-23 | 2020-09-04 | 南京邮电大学 | 基于多尺度特征图重构和知识蒸馏的目标检测方法与系统 |
CN111709409A (zh) * | 2020-08-20 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 人脸活体检测方法、装置、设备及介质 |
CN113284122A (zh) * | 2021-05-31 | 2021-08-20 | 五邑大学 | 基于深度学习的卷纸包装缺陷检测方法、装置及存储介质 |
Non-Patent Citations (3)
Title |
---|
JIE HU等: "Squeeze-and-Excitation Networks", 《ARXIV: 1709.01507V4》, 16 May 2019 (2019-05-16) * |
胡怀: "复杂交通场景下的视频目标检测", 《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》, 15 July 2020 (2020-07-15) * |
许建华: "基于目标检测算法的模型压缩与优化", 《中国优秀硕士学位论文全文数据库信息科技辑》, 15 December 2020 (2020-12-15), pages 1 - 4 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115984274A (zh) * | 2023-03-20 | 2023-04-18 | 菲特(天津)检测技术有限公司 | 一种车辆外观检测模型、构建方法及检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111104903B (zh) | 一种深度感知交通场景多目标检测方法和系统 | |
CN108875821A (zh) | 分类模型的训练方法和装置、移动终端、可读存储介质 | |
CN111950453A (zh) | 一种基于选择性注意力机制的任意形状文本识别方法 | |
CN105100640A (zh) | 一种局部配准并行视频拼接方法及系统 | |
CN113065645B (zh) | 孪生注意力网络、图像处理方法和装置 | |
CN111696110B (zh) | 场景分割方法及系统 | |
CN111160481B (zh) | 基于深度学习的adas目标检测方法及系统 | |
CN110705412A (zh) | 一种基于运动历史图像的视频目标检测方法 | |
CN112101262B (zh) | 一种多特征融合手语识别方法及网络模型 | |
CN112104869B (zh) | 一种视频大数据存储及转码优化系统 | |
CN114155213A (zh) | 基于主动学习的芯片缺陷检测方法和装置 | |
CN112560865A (zh) | 一种室外大场景下点云的语义分割方法 | |
CN114022823A (zh) | 一种遮挡驱动的行人再识别方法、系统及可存储介质 | |
CN115410087A (zh) | 一种基于改进YOLOv4的输电线路异物检测方法 | |
CN113409355A (zh) | 一种基于fpga的运动目标识别系统及方法 | |
CN110942097A (zh) | 基于单像素探测器的免成像分类方法和系统 | |
CN115631460A (zh) | 一种基于改进YOLOv5目标检测的商品状态识别方法 | |
CN114022425A (zh) | 一种具备场景自适应功能的车辆检测方法和装置 | |
CN111726621B (zh) | 一种视频转换方法及装置 | |
CN113298707A (zh) | 图像帧拼接方法、视频巡检方法、装置、设备及存储介质 | |
CN115114963B (zh) | 基于卷积神经网络的智能流媒体视频大数据分析方法 | |
CN110929632A (zh) | 面向复杂场景的车辆目标检测方法及装置 | |
WO2022127576A1 (zh) | 站点模型更新方法及系统 | |
CN113496176B (zh) | 动作识别方法、装置以及电子设备 | |
CN117011722A (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 |