CN113420651B - 深度卷积神经网络的轻量化方法、系统及目标检测方法 - Google Patents
深度卷积神经网络的轻量化方法、系统及目标检测方法 Download PDFInfo
- Publication number
- CN113420651B CN113420651B CN202110693076.7A CN202110693076A CN113420651B CN 113420651 B CN113420651 B CN 113420651B CN 202110693076 A CN202110693076 A CN 202110693076A CN 113420651 B CN113420651 B CN 113420651B
- Authority
- CN
- China
- Prior art keywords
- layer
- convolution
- model
- network
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 28
- 238000012549 training Methods 0.000 claims abstract description 83
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 54
- 238000000605 extraction Methods 0.000 claims abstract description 33
- 239000011159 matrix material Substances 0.000 claims description 34
- 238000012360 testing method Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 16
- 238000013138 pruning Methods 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 8
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 5
- 230000003287 optical effect Effects 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 3
- 239000013585 weight reducing agent Substances 0.000 claims 2
- 230000006835 compression Effects 0.000 abstract description 15
- 238000007906 compression Methods 0.000 abstract description 15
- 238000012821 model calculation Methods 0.000 abstract 1
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013434 data augmentation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/24—Classification 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
-
- 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/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种用于目标检测的深度卷积神经网络的轻量化方法、系统及目标检测方法,属于目标检测技术领域,解决了现有目标检测时Faster RCNN模型计算和存储复杂度高的问题。包括:获取训练好的MobileNet模型作为预训练模型,搭建深度可分离卷积结构的FasterRCNN模型,训练后得到初始Faster RCNN模型;对初始Faster RCNN模型中特征提取主干网络进行稀疏低秩分解、通道裁剪和训练,得到初步轻量化后的Faster RCNN模型;对初步轻量化后的Faster RCNN模型中区域建议网络进行张量Tensor‑Train分解,训练后得到二次轻量化后的Faster RCNN模型;对二次轻量化后的Faster RCNN模型中识别与分类网络进行稀疏低秩分解、通道裁剪和训练,得到最终轻量化后的FasterRCNN模型。实现了目标检测模型较高的压缩倍数,提高了目标检测的速度和精度。
Description
技术领域
本发明涉及目标检测技术领域,尤其涉及一种用于目标检测的深度卷积神经网络的轻量化方法、系统及目标检测方法。
背景技术
随着计算机视觉的发展,应用于视频/图像的深度学习算法在目标检测、识别、分类、分割及更高层面的语义分析等任务中都得到飞速发展,特别是基于深度卷积神经网络的目标检测与识别算法的成功应用,使得深度学习在计算机视觉领域得到了迅猛发展。
最新的端到端的近实时的目标检测模型Faster RCNN,引入区域建议网络(RegionProposal Network,RPN)用于构建目标候选区域,极大提高了检测效果。
然而,Faster RCNN目标检测框架的模型存储大小超过了1GB,对硬件存储要求和计算开销能力提出了更高的要求,往往需要在拥有高存储高计算性能的GPU(GraphicsProcessing Unit)服务器上进行的,在实际工程实践中部署成本较为昂贵,使其无法直接部署到移动终端、嵌入式设备以及个人电脑等存储空间和计算能力都有限的设备中。针对图像检测网络中参数量多且计算复杂高等问题,Google团队于2017年提出了第一个体积小、计算量少、且适用于移动设备的轻量化卷积神经网络MobileNet V1,采用深度可分离卷积层代替标准的卷积层,实现VGGNet等网络的轻量化设计,但其仅能将参数量降低到标准卷积层的1/8或1/9,轻量化效果有限,不能满足实际应用需求。
模型压缩算法也是一种有效的深度卷积神经网络的轻量化方法。模型剪枝便是模型压缩算法中目标较为常见和使用的一种压缩方法,这种模型压缩算法基于参数修剪和共享的思想关注于探索模型参数中冗余的部分,并对已训练好的模型网络寻找一种有效的评判手段,尝试去除模型中冗余和不重要的参数,只保留对整个网络模型重要的权值参数,实现整个深度卷积神经网络模型的轻量化设计。但由于大多数深度卷积神经网络均通过堆叠网络层结构的方式实现整个模型的构建,因此,在整个模型的剪枝过程中,对当前卷积层冗余通道的剪枝势必会出现下一层卷积层输入通道维度的不匹配的问题。特别是对于待裁剪网络层结构较为复杂的情况时,模型剪枝技术往往会出现较大问题。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种用于目标检测的深度卷积神经网络的轻量化方法、系统及目标检测方法,用以解决现有目标检测时Faster RCNN模型计算和存储复杂度高的问题。
一方面,本发明实施例提供了一种用于目标检测的深度卷积神经网络的轻量化方法,包括如下步骤:
获取训练好的MobileNet模型作为预训练模型,搭建深度可分离卷积结构的Faster RCNN模型,训练后得到初始Faster RCNN模型;
对初始Faster RCNN模型中特征提取主干网络进行稀疏低秩分解、通道裁剪和训练,得到初步轻量化后的Faster RCNN模型;
对初步轻量化后的Faster RCNN模型中区域建议网络进行张量Tensor-Train分解,训练后得到二次轻量化后的Faster RCNN模型;
对二次轻量化后的Faster RCNN模型中识别与分类网络进行稀疏低秩分解、通道裁剪和训练,得到最终轻量化后的Faster RCNN模型。
基于上述方法的进一步改进,深度可分离卷积结构的Faster RCNN模型在Tensorflow框架下搭建,包括:特征提取主干网络、区域建议网络、识别与分类网络;其中,
特征提取主干网络由1层普通卷积层和11层深度可分离卷积结构构成,用于提取输入图像的深度特征表示;
区域建议网络由3层普通卷积层构成,用于设计并构建输入图像中目标的建议候选区域;
识别与分类网络由2层深度可分离卷积结构和分类回归层构成,用于实现输入图像中目标的检测与分类;
每1层深度可分离卷积结构包括1个深度卷积层和1个1×1点卷积层。
基于上述方法的进一步改进,特征提取主干网络中第1层普通卷积层和第1-11层深度卷积层的卷积核大小均为3×3;第1-11层1×1点卷积层的卷积核大小均为1×1,其中:
第1层普通卷积层的通道数为32;
第1层深度卷积层的通道数为32,1×1点卷积层的通道数为64;
第2层深度卷积层的通道数为64,1×1点卷积层的通道数为128;
第3层深度卷积层的通道数为128,1×1点卷积层的通道数为128;
第4层深度卷积层的通道数为128,1×1点卷积层的通道数为256;
第5层深度卷积层的通道数为256,1×1点卷积层的通道数为256;
第6层深度卷积层的通道数为256,1×1点卷积层的通道数为512;
第7-11层深度卷积层的通道数为512,1×1点卷积层的通道数为512;
区域建议网络中第1层普通卷积层的卷积核大小是3×3,通道数是512;第2层普通卷积层的卷积核大小是1×1,通道数是18;第3层普通卷积层的卷积核大小是1×1,通道数是36;
识别与分类网络中第1层和第2层深度卷积层的卷积核大小均为3×3,1×1点卷积层的卷积核大小均为1×1,其中:
第1层深度卷积层的通道数为512,1×1点卷积层的通道数为1024;
第2层深度卷积层的通道数为1024,1×1点卷积层的通道数为1024。
基于上述方法的进一步改进,训练是基于Pascal VOC 2007数据集中的训练集、测试集,其中训练集对原始每张图像进行数据扩充了一倍;
训练时,Faster RCNN模型中特征提取主干网络中第1层普通卷积层和第1-4层深度可分离卷积结构的初始参数固定不变,根据在训练集上训练的损失曲线图,以及在测试集上测试的精度曲线图判断模型的训练状态,对其它网络层次的参数进行优化调整。
基于上述方法的进一步改进,对初始Faster RCNN模型中特征提取主干网络进行稀疏低秩分解、通道裁剪和训练,是对特征提取主干网络中第5-10层深度可分离卷积结构进行逐层处理,在稀疏低秩分解、通道裁剪和训练的过程中,裁剪一层,重新训练并调优参数,再裁剪下一层,重新训练并调优参数,如此循环。
基于上述方法的进一步改进,稀疏低秩分解、通道裁剪和训练的过程包括:
①设置深度可分离卷积结构的层数l初始值;将第l+1层深度可分离卷积结构中深度卷积核权重矩阵分解为低秩矩阵和稀疏矩阵的和,并将低秩矩阵根据秩的大小分解为两个小矩阵的乘积;
②在损失函数中添加正则化项对稀疏矩阵进行约束,得到深度卷积核权重矩阵;
③计算每个通道维度对应的范数,并从大到小排列,当范数大于等于预设的通道剪枝阈值时,保留对应的通道,记录通道位置;当范数小于预设的通道剪枝阈值时,删除对应的通道;
④根据通道位置,取出第l层深度可分离卷积结构中1×1点卷积层、第l+1层深度可分离卷积结构中深度卷积层和1×1点卷积层的权重矩阵,得到新的权重矩阵;
⑤基于新的权重矩阵,训练后得到第l层轻量化后的Faster RCNN模型;
⑥设置l=l+1;当l小于等于预设的轻量化层数时,返回到步骤①中,否则,完成稀疏低秩分解和通道裁剪,得到初步轻量化后的Faster RCNN模型。
基于上述方法的进一步改进,对初步轻量化后的Faster RCNN模型中区域建议网络进行张量Tensor-Train分解,是将第1层4阶张量卷积核分解成多个低阶张量核心,其中首尾为2阶张量核心,中间为3阶张量核心。
基于上述方法的进一步改进,对二次轻量化后的Faster RCNN模型中识别与分类网络进行稀疏低秩分解、通道裁剪和训练,是对识别与分类网络中第1层深度可分离卷积结构进行处理。
另一方面,本发明实施例提供了一种用于目标检测的深度卷积神经网络的轻量化系统包括数据处理模块、模型构建模块、模型轻量化模块、模型测试模块,其中:
数据处理模块,用于导入Pascal VOC 2007数据集中的训练集、测试集和验证集,接收实际采集的图像数据,以及对训练集的数据进行数据扩充处理、对实际采集的图像数据进行预处理;
模型构建模块,用于导入训练好的MobileNet模型文件作为预训练模型,搭建深度可分离卷积结构的Faster RCNN模型,以及根据每次训练结果调整参数;
深度可分离卷积结构的Faster RCNN模型包括:特征提取主干网络、区域建议网络、识别与分类网络;其中,
特征提取主干网络由1层普通卷积层和11层深度可分离卷积结构构成,用于提取输入图像的深度特征表示;
区域建议网络由3层普通卷积层构成,用于设计并构建输入图像中目标的建议候选区域;
识别与分类网络由2层深度可分离卷积结构和分类回归层构成,用于实现输入图像中目标的检测与分类;
模型轻量化模块,用于对Faster RCNN模型的特征提取主干网络的深度可分离卷积结构中第5-10层进行逐层稀疏低秩分解和通道裁剪,对区域建议网络的第1层普通卷积层进行张量Tensor-Train分解,对识别与分类网络的第1层深度可分离卷积结构进行稀疏低秩分解和通道裁剪;
模型测试模块,用于选择训练集进行模型训练,选择测试集进行精度测试,选择验证集进行目标图像检测,得到模型评估值。
根据每次训练结果调整参数时,Faster RCNN模型的特征提取主干网络中第1层普通卷积层和第1-4层深度可分离卷积结构的初始参数固定不变。
另一方面,本发明实施例提供了一种目标检测方法,包括用于目标检测的深度卷积神经网络的轻量化方法,还包括如下步骤:
采集图像和数据:利用红外装置和可见光相机采集机场中的图像,包括:飞机、运输车、行人、飞鸟,以及,接收光学系统采集的多种类型的数据,包括:民航、客机;
预处理图像:按照Pascal VOC数据集格式,对采集的图像进行标注,去掉噪声图像,统一图片大小,得到预处理后的图像;
检测图像:将预处理后的图像输入到训练好的最终轻量化后的Faster RCNN模型中,识别出每幅图像的类别信息和位置信息,统计目标检测的指标结果,包括:模型大小、检测速度和平均精度均值。
与现有技术相比,本发明提出了一种联合深度稀疏低秩和张量TT分解理论的深度卷积神经网络轻量化技术,提出了一种有效的适用于Faster RCNN目标检测框架的轻量化方案。针对Faster RCNN网络架构特点,首先,采用深度稀疏低秩可分离卷积轻量化方法对Faster RCNN网络的特征提取主干网络部分进行“逐层通道裁剪,逐层重训练,逐层调优”轻量化,其次,采用张量Tensor-Train分解理论,对区域建议网络进行轻量化处理,尽可能保证低性能损失,再次对识别与分类网络也进行稀疏低秩分解和通道裁剪,压缩倍数更多,占用内存更少,所需要和所消耗计算资源更少,可以部署到移动终端、嵌入式设备以及个人电脑等存储空间和计算能力都有限的设备中。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例1中用于目标检测的深度卷积神经网络的轻量化方法流程图;
图2为本发明实施例1中初始Faster RCNN模型结构示意图;
图3为本发明实施例1中稀疏低秩分解和通道裁剪过程示意图;
图4为本发明实施例1中TT-RPN网络结构示意图;
图5为本发明实施例1中最终轻量化后的Faster RCNN模型结构示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
实施例1,
本发明的一个具体实施例,公开了一种用于目标检测的深度卷积神经网络的轻量化方法,如图1所示,包括如下步骤:
S11:获取训练好的MobileNet模型作为预训练模型,搭建深度可分离卷积结构的Faster RCNN模型,训练后得到初始Faster RCNN模型。
需要说明的是,在深度学习中训练数据的数量是决定网络性能的一个重要性因素,ImageNet1000数据集包括1281167幅训练集图像,100000幅测试集图像,50000幅验证集图像,采用在ImageNet1000数据集上训练好的MobileNet模型作为预训练模型,使搭建的初始Faster RCNN模型有一个良好的初始化状态,加快网络收敛速度,提高网络检测正确率。
具体来说,深度可分离卷积结构的Faster RCNN模型在Tensorflow框架下搭建,包括:特征提取主干网络、区域建议网络、识别与分类网络,每1层深度可分离卷积结构包括1个深度卷积层dw和1个1×1点卷积层pw。
具体网络结构如图2所示,特征提取主干网络由1层普通卷积层Conv和11层深度可分离卷积结构构成,用于提取输入图像的深度特征表示;第1层普通卷积层和第1-11层深度卷积层的卷积核大小均为3×3;第1-11层1×1点卷积层的卷积核大小均为1×1,其中:
第1层普通卷积层的通道数为32;
第1层深度卷积层的通道数为32,1×1点卷积层的通道数为64;
第2层深度卷积层的通道数为64,1×1点卷积层的通道数为128;
第3层深度卷积层的通道数为128,1×1点卷积层的通道数为128;
第4层深度卷积层的通道数为128,1×1点卷积层的通道数为256;
第5层深度卷积层的通道数为256,1×1点卷积层的通道数为256;
第6层深度卷积层的通道数为256,1×1点卷积层的通道数为512;
第7-11层深度卷积层的通道数为512,1×1点卷积层的通道数为512;
示例性地,在图2“特征提取主干网络”中第1层普通卷积层表示为Conv_1 3×332;第1层深度可分离卷积结构表示为dw_1 3×3 32&pw_11×1 64。
区域建议网络由3层普通卷积层构成,用于设计并构建输入图像中目标的建议候选区域;第1层普通卷积层的卷积核大小是3×3,通道数是512;第2层普通卷积层的卷积核大小是1×1,通道数是18;第3层普通卷积层的卷积核大小是1×1,通道数是36;
示例性地,在图2“区域建设网络RPN”中分别表示为:Conv_RPN 3×3 512、Conv_RPN 1×1 18、Conv_RPN 3×3 36。
识别与分类网络由2层深度可分离卷积结构和分类回归层构成,用于实现输入图像中目标的检测与分类;第1层和第2层深度卷积层的卷积核大小均为3×3,1×1点卷积层的卷积核大小均为1×1,其中:
第1层深度卷积层的通道数为512,1×1点卷积层的通道数为1024;
第2层深度卷积层的通道数为1024,1×1点卷积层的通道数为1024。
示例性地,在图2“识别与分类网络”中第1层和第2层的深度可分离卷积结构分别表示为dw_1 3×3 512&pw_1 1×1 1024、dw_2 3×3 1024&pw_2 1×1 1024。
需要说明的是,Faster RCNN模型的训练是基于Pascal VOC 2007数据集中的训练集、测试集,其中训练集包含5011张图片、15662个图像标注,测试集包含4952张图片、14976个图像标注。为了使网络得到充分训练,对训练集中每幅图像进行数据扩充一倍。示例性地,数据扩充方式包括:水平翻转、平移、旋转、裁剪拉伸。
需要注意的是,训练时,Faster RCNN模型中特征提取主干网络中第1层普通卷积层和第1-4层深度可分离卷积结构的初始参数固定不变,根据在训练集上训练的损失曲线图,以及在测试集上测试的精度曲线图判断模型的训练状态,对其它网络层次的参数进行优化调整。
S12:对初始Faster RCNN模型中特征提取主干网络进行稀疏低秩分解、通道裁剪和训练,得到初步轻量化后的Faster RCNN模型。
考虑到Faster RCNN模型中特征提取主干网络的第1层普通卷积层和第1-4层深度可分离卷积结构重在对图像边框、结构等重要特征的提取,为了保证特征的完整性,前5层的初始参数固定不变,而第11层深度可分离卷积结构作为区域建议网络的输入,用于构建目标的候选区域,为了避免对目标检测结果影响过大,也不进行裁剪和量化。因此,对特征提取主干网络中第5-10层深度可分离卷积结构进行逐层处理,在稀疏低秩分解、通道裁剪和训练的过程中,裁剪一层,重新训练并调优参数,再裁剪下一层,重新训练并调优参数,如此循环。
具体来说,如图3所示,第l层深度可分离卷积结构中深度卷积核权重矩阵为1×1点卷积层的权重矩阵为 第l+1层深度可分离卷积结构中深度卷积核权重矩阵为1×1点卷积层的权重矩阵为其中,k表示卷积核的卷积核尺寸,且在深度可分离卷积结构中深度卷积层的k=3,1×1点卷积层的k=1;S表示特征通道数,且S0=1,Sl表示第l层深度可分离卷积结构中1×1点卷积层的特征通道数。
第l层深度可分离卷积结构的稀疏低秩分解、通道裁剪和训练的过程包括:
①设置深度可分离卷积结构的层数l初始值;将第l+1层深度可分离卷积结构中深度卷积核权重矩阵分解为低秩矩阵(Lw)l+1和稀疏矩阵(Sw)l+1的和,并将低秩矩阵根据秩r的大小分解为两个小矩阵Ul+1和Vl+1的乘积,公式如下:
②在损失函数中添加正则化项对稀疏矩阵进行约束,得到深度卷积核权重矩阵,公式如下:
其中,为损失函数,||*||1为L1范数,则||(Sw)l+1||1表示对稀疏矩阵(Sw)l+1施加L1范数约束。秩r用于平衡性能与稀疏性的尺度因子,γ越大,则稀疏矩阵(Sw)l+1越稀疏,压缩效率越高。示例性地,r=1。
③计算每个通道维度对应的范数,并从大到小排列,当范数大于等于预设的通道剪枝阈值时,保留对应的通道,记录通道位置;当范数小于预设的通道剪枝阈值时,删除对应的通道;
计算每个通道维度对应的L1范数的公式如下:
需要说明的是,对第l层深度可分离卷积结构中1×1点卷积层进行通道裁剪时,是从第l+1层深度可分离卷积结构的深度卷积层中计算剪枝阈值,并将其应用于第l层和第l+1层深度可分离卷积结构中1×1点卷积层的冗余通道剪枝中。
⑤基于新的权重矩阵,训练后得到第l层轻量化后的Faster RCNN模型;
⑥设置l=l+1;当l小于等于预设的轻量化层数时,返回到步骤①中,否则,完成稀疏低秩分解和通道裁剪,得到初步轻量化后的Faster RCNN模型。
需要说明的是,这种边轻量化边训练优化模型参数的方法,便于根据实际要求的压缩率和性能损失率,灵活调整轻量化的层数,对特征提取主干网络可以先轻量化一部分层次,在后续区域建议网络轻量化后,再根据实际情况,继续对特征提取主干网络的层次进行轻量化。示例性地,可以先对第5-9层深度可分离卷积结构进行逐层处理,在区域建议网络轻量化后,如果性能损失率不高,可以继续再对第10层深度可分离卷积结构进行稀疏低秩分解、通道裁剪和训练。在本实施例中预设的轻量化层数最大为10。
S13:对初步轻量化后的Faster RCNN模型中区域建议网络进行张量Tensor-Train分解,训练后得到二次轻量化后的Faster RCNN模型;
传统的区域建议网络通过端到端的结构设计,包含大量冗余参数,而且对整个模型的目标检测性能有着较大的影响。为了能进一步有效压缩整个模型的存储大小,并保证区域建议网络不丢失过多的特征信息,采用张量Tensor-Train(简称TT)分解理论,只对区域建议网络的第1层3×3×512×512标准卷积层进行轻量化设计,构建TT-RPN网络结构,如图4所示,将该标准卷积层的输入张量定义为X∈RW×H×C,输出张量定义为Y∈RW×H×S,张量卷积核定义为K∈Rk×k×C×S。其中,W和H分别为输入张量的宽度和高度。k表示该卷积核的窗口大小,c表示输入通道个数,s表示输出通道个数。
根据张量TT分解形式,将给定的高阶张量卷积核分解为多个低阶张量卷积核的乘积,张量卷积核K的分解公式如下所示:
其中,表示卷积核窗口宽度和高度方向上的任意一点;jw,jh=1,2,…,k,分别表示卷积核窗口宽度和高度上面的迭代变量;表示张量TT核心,n=0,1,…,d,其中,当n=0时,当n=1,…,d时, 为张量TT秩,其中和默认固定为1。
示例性地,均设置为20,d设置为3,即第1层4阶张量卷积核分解成4个低阶张量核心,其中首尾为2阶张量核心,中间为3阶张量核心。原始RPN网络中3×3×512×512标准卷积层的空间复杂度为:3×3×512×512=2359296。经过张量Tensor-Train分解后,构建的TT-RPN网络空间复杂度为:(512×512)1/3×(202+202+20)+3×3×20=52660,在模型压缩性能上具有明显优势。
在相同的训练集和测试集下,对采用TT-RPN网络后的二次轻量化后的FasterRCNN模型进行多次调参和训练,根据整个模型的压缩率以及测试精度,确定各部分参数,实现近乎无信息损失的模型压缩,获得在测试集表现良好的网络权重参数。
S14:对二次轻量化后的Faster RCNN模型中识别与分类网络进行稀疏低秩分解、通道裁剪和训练,得到最终轻量化后的Faster RCNN模型。
需要说明的是,由于识别与分类网络的第2层深度可分离卷积层的输出主要用于整个模型目标检测任务的分类与回归,对整个模型检测性能影响较大,因此,为了降低整个模型轻量化对检测性能的影响,只对识别与分类网络中第1层深度可分离卷积结构进行稀疏低秩分解、通道裁剪和训练,采用与步骤S12一样的方法。
需要注意的是,在对识别与分类网络进行通道裁剪时,预设的通道剪枝阈值α可以根据实际情况设置为不同的值,示例性的,α设置为原始通道数的50%+66个通道。
经过多次训练和调整参数后,得到最终轻量化后的Faster RCNN模型,如图5所示,与传统Faster RCNN网络相比,具有较高的压缩倍数、处理速度和检测精度。
具体来说,基于Pascal VOC 2007数据集中的验证集,传统Faster RCNN网络模型占用的存储空间为1121.88MB,单张图像处理的平均时间为76毫秒,mAP(Mean AveragePrecision,平均精度均值)为70.81%;本实施例最终轻量化后的Faster RCNN网络模型占用的存储空间为11.21MB,对单张图像处理的平均时间为34毫秒,mAP为65.87%。可见,本实施例提供的方法可以达到100.08倍的压缩率和约2倍的加速,且mAP仅有4.94%的损失。
与现有技术相比,本实施例提供的用于目标检测的深度卷积神经网络的轻量化方法采用了联合深度稀疏低秩和张量TT分解理论的深度卷积神经网络轻量化技术,提出了一种有效的适用于Faster RCNN目标检测框架的轻量化方案。针对Faster RCNN网络架构特点,首先,采用深度稀疏低秩可分离卷积轻量化方法对Faster RCNN网络的特征提取主干网络部分进行“逐层通道裁剪,逐层重训练,逐层调优”轻量化,其次,采用张量Tensor-Train分解理论,对区域建议网络进行轻量化处理,尽可能保证低性能损失,再次对识别与分类网络也进行稀疏低秩分解和通道裁剪,压缩倍数更多,占用内存更少,所需要和所消耗计算资源更少,可以部署到移动终端、嵌入式设备以及个人电脑等存储空间和计算能力都有限的设备中。
实施例2,
提供一种用于目标检测的深度卷积神经网络的轻量化系统,从而实现实施例1中轻量化方法。该系统包括数据处理模块、模型构建模块、模型轻量化模块、模型测试模块,其中:
数据处理模块,用于导入Pascal VOC 2007数据集中的训练集、测试集和验证集,接收实际采集的图像数据,以及对训练集的数据进行数据扩充处理、对实际采集的图像数据进行预处理;
模型构建模块,用于导入训练好的MobileNet模型文件作为预训练模型,搭建深度可分离卷积结构的Faster RCNN模型,以及根据每次训练结果调整参数;
深度可分离卷积结构的Faster RCNN模型包括:特征提取主干网络、区域建议网络、识别与分类网络;其中,
特征提取主干网络由1层普通卷积层和11层深度可分离卷积结构构成,用于提取输入图像的深度特征表示;
区域建议网络由3层普通卷积层构成,用于设计并构建输入图像中目标的建议候选区域;
识别与分类网络由2层深度可分离卷积结构和分类回归层构成,用于实现输入图像中目标的检测与分类;
模型轻量化模块,用于对Faster RCNN模型的特征提取主干网络的深度可分离卷积结构中第5-10层进行逐层稀疏低秩分解和通道裁剪,对区域建议网络的第1层普通卷积层进行张量Tensor-Train分解,对识别与分类网络的第1层深度可分离卷积结构进行稀疏低秩分解和通道裁剪;
模型测试模块,用于选择训练集进行模型训练,选择测试集进行精度测试,选择验证集进行目标图像检测,得到模型评估值。
需要注意的是,根据每次训练结果调整参数时,Faster RCNN模型的特征提取主干网络中第1层普通卷积层和第1-4层深度可分离卷积结构的初始参数固定不变。
实施例3,
提供一种目标检测方法,用于实际业务场景中目标图像的检测。该方法包括实施例1中的轻量化方法,得到训练好的最终轻量化后的Faster RCNN模型,还包括如下步骤:
采集图像和数据:利用红外装置和可见光相机采集机场中的图像,包括:飞机、运输车、行人、飞鸟,以及,接收光学系统采集的多种类型的数据,包括:民航、客机;
预处理图像:按照Pascal VOC数据集格式,对采集的图像进行标注,去掉噪声图像,统一图片大小,得到预处理后的图像;
检测图像:将预处理后的图像输入到训练好的最终轻量化后的Faster RCNN模型中,识别出每幅图像的类别信息和位置信息,统计出目标检测的指标结果,包括:模型大小、检测速度和平均精度均值。
与现有技术相比,本实施例提供的目标检测方法,包括实施例1中的轻量化方法,利用对传统Faster RCNN目标检测框架轻量化处理后的模型,占用内存更低,所需要和所消耗计算资源更少,对计算资源和内存的要求较低,可以部署到移动终端、嵌入式设备以及个人电脑等存储空间和计算能力都有限的设备中;同时因联合深度稀疏低秩和张量TT分解,不丢失过多的特征信息,在有限的性能损失内,实现最大化的检测精度和处理速度。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种用于目标检测的深度卷积神经网络的轻量化方法,其特征在于,包括如下步骤:
获取训练好的MobileNet模型作为预训练模型,搭建深度可分离卷积结构的FasterRCNN模型,训练后得到初始Faster RCNN模型;
对所述初始Faster RCNN模型中特征提取主干网络进行稀疏低秩分解、通道裁剪和训练,得到初步轻量化后的Faster RCNN模型;
对所述初步轻量化后的Faster RCNN模型中区域建议网络进行张量Tensor-Train分解,训练后得到二次轻量化后的Faster RCNN模型;
对所述二次轻量化后的Faster RCNN模型中识别与分类网络进行稀疏低秩分解、通道裁剪和训练,得到最终轻量化后的Faster RCNN模型;
特征提取主干网络由1层普通卷积层和11层深度可分离卷积结构构成,且只对特征提取主干网络中第5-10层深度可分离卷积结构进行逐层稀疏低秩分解、通道裁剪和训练;区域建议网络由3层普通卷积层构成,且只对区域建议网络的第1层普通卷积层进行张量Tensor-Train分解;识别与分类网络由2层深度可分离卷积结构和分类回归层构成,且只对识别与分类网络中第1层深度可分离卷积结构进行稀疏低秩分解、通道裁剪和训练。
2.根据权利要求1所述的用于目标检测的深度卷积神经网络的轻量化方法,其特征在于,所述深度可分离卷积结构的Faster RCNN模型在Tensorflow框架下搭建,包括:特征提取主干网络、区域建议网络、识别与分类网络;其中,
特征提取主干网络用于提取输入图像的深度特征表示;
区域建议网络用于设计并构建输入图像中目标的建议候选区域;
识别与分类网络用于实现输入图像中目标的检测与分类;
每1层深度可分离卷积结构包括1个深度卷积层和1个1×1点卷积层。
3.根据权利要求2所述的用于目标检测的深度卷积神经网络的轻量化方法,其特征在于,所述特征提取主干网络中第1层普通卷积层和第1-11层深度卷积层的卷积核大小均为3×3;第1-11层1×1点卷积层的卷积核大小均为1×1,其中:
第1层普通卷积层的通道数为32;
第1层深度卷积层的通道数为32,1×1点卷积层的通道数为64;
第2层深度卷积层的通道数为64,1×1点卷积层的通道数为128;
第3层深度卷积层的通道数为128,1×1点卷积层的通道数为128;
第4层深度卷积层的通道数为128,1×1点卷积层的通道数为256;
第5层深度卷积层的通道数为256,1×1点卷积层的通道数为256;
第6层深度卷积层的通道数为256,1×1点卷积层的通道数为512;
第7-11层深度卷积层的通道数为512,1×1点卷积层的通道数为512;
所述区域建议网络中第1层普通卷积层的卷积核大小是3×3,通道数是512;第2层普通卷积层的卷积核大小是1×1,通道数是18;第3层普通卷积层的卷积核大小是1×1,通道数是36;
所述识别与分类网络中第1层和第2层深度卷积层的卷积核大小均为3×3,1×1点卷积层的卷积核大小均为1×1,其中:
第1层深度卷积层的通道数为512,1×1点卷积层的通道数为1024;
第2层深度卷积层的通道数为1024,1×1点卷积层的通道数为1024。
4.根据权利要求1-3任一所述的用于目标检测的深度卷积神经网络的轻量化方法,其特征在于,所述训练是基于Pascal VOC 2007数据集中的训练集、测试集,其中所述训练集对原始每张图像进行数据扩充了一倍;
训练时,所述Faster RCNN模型中所述特征提取主干网络中第1层普通卷积层和第1-4层深度可分离卷积结构的初始参数固定不变,根据在所述训练集上训练的损失曲线图,以及在测试集上测试的精度曲线图判断模型的训练状态,对其它网络层次的参数进行优化调整。
5.根据权利要求4所述的用于目标检测的深度卷积神经网络的轻量化方法,其特征在于,对所述初始Faster RCNN模型中特征提取主干网络进行稀疏低秩分解、通道裁剪和训练,是对特征提取主干网络中第5-10层深度可分离卷积结构进行逐层处理,在稀疏低秩分解、通道裁剪和训练的过程中,裁剪一层,重新训练并调优参数,再裁剪下一层,重新训练并调优参数,如此循环。
6.根据权利要求5所述的用于目标检测的深度卷积神经网络的轻量化方法,其特征在于,所述稀疏低秩分解、通道裁剪和训练的过程包括:
①设置深度可分离卷积结构的层数l初始值;将第l+1层深度可分离卷积结构中深度卷积核权重矩阵分解为低秩矩阵和稀疏矩阵的和,并将所述低秩矩阵根据秩的大小分解为两个小矩阵的乘积;
②在损失函数中添加正则化项对所述稀疏矩阵进行约束,得到深度卷积核权重矩阵;
③计算每个通道维度对应的范数,并从大到小排列,当所述范数大于等于预设的通道剪枝阈值时,保留对应的通道,记录通道位置;当所述范数小于预设的通道剪枝阈值时,删除对应的通道;
④根据所述通道位置,取出第l层深度可分离卷积结构中1×1点卷积层、第l+1层深度可分离卷积结构中深度卷积层和1×1点卷积层的权重矩阵,得到新的权重矩阵;
⑤基于所述新的权重矩阵,训练后得到第l层轻量化后的Faster RCNN模型;
⑥设置l=l+1;当l小于等于预设的轻量化层数时,返回到步骤①中,否则,完成稀疏低秩分解和通道裁剪,得到初步轻量化后的Faster RCNN模型。
7.根据权利要求5所述的用于目标检测的深度卷积神经网络的轻量化方法,其特征在于,对所述初步轻量化后的Faster RCNN模型中区域建议网络进行张量Tensor-Train分解,是将第1层4阶张量卷积核分解成多个低阶张量核心,其中首尾为2阶张量核心,中间为3阶张量核心。
8.一种用于目标检测的深度卷积神经网络的轻量化系统,其特征在于,包括数据处理模块、模型构建模块、模型轻量化模块、模型测试模块,其中:
数据处理模块,用于导入Pascal VOC 2007数据集中的训练集、测试集和验证集,接收实际采集的图像数据,以及对训练集的数据进行数据扩充处理、对实际采集的图像数据进行预处理;
模型构建模块,用于导入训练好的MobileNet模型文件作为预训练模型,搭建深度可分离卷积结构的Faster RCNN模型,以及根据每次训练结果调整参数;
所述深度可分离卷积结构的Faster RCNN模型包括:特征提取主干网络、区域建议网络、识别与分类网络;其中,
特征提取主干网络由1层普通卷积层和11层深度可分离卷积结构构成,用于提取输入图像的深度特征表示;
区域建议网络由3层普通卷积层构成,用于设计并构建输入图像中目标的建议候选区域;
识别与分类网络由2层深度可分离卷积结构和分类回归层构成,用于实现输入图像中目标的检测与分类;
模型轻量化模块,用于对Faster RCNN模型的特征提取主干网络的深度可分离卷积结构中第5-10层进行逐层稀疏低秩分解和通道裁剪,对区域建议网络的第1层普通卷积层进行张量Tensor-Train分解,对识别与分类网络的第1层深度可分离卷积结构进行稀疏低秩分解和通道裁剪;
模型测试模块,用于选择训练集进行模型训练,选择测试集进行精度测试,选择验证集进行目标图像检测,得到模型评估值;
所述根据每次训练结果调整参数时,所述Faster RCNN模型的特征提取主干网络中第1层普通卷积层和第1-4层深度可分离卷积结构的初始参数固定不变。
9.一种目标检测方法,其特征在于,包括权利要求1-7任一所述用于目标检测的深度卷积神经网络的轻量化方法,还包括如下步骤:
采集图像和数据:利用红外装置和可见光相机采集机场中的图像,包括:飞机、运输车、行人、飞鸟,以及,接收光学系统采集的多种类型的数据,包括:民航、客机;
预处理图像:按照Pascal VOC数据集格式,对采集的图像进行标注,去掉噪声图像,统一图片大小,得到预处理后的图像;
检测图像:将所述预处理后的图像输入到训练好的最终轻量化后的Faster RCNN模型中,识别出每幅图像的类别信息和位置信息,统计出目标检测的指标结果,包括:模型大小、检测速度和平均精度均值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110693076.7A CN113420651B (zh) | 2021-06-22 | 2021-06-22 | 深度卷积神经网络的轻量化方法、系统及目标检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110693076.7A CN113420651B (zh) | 2021-06-22 | 2021-06-22 | 深度卷积神经网络的轻量化方法、系统及目标检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113420651A CN113420651A (zh) | 2021-09-21 |
CN113420651B true CN113420651B (zh) | 2023-05-05 |
Family
ID=77716112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110693076.7A Active CN113420651B (zh) | 2021-06-22 | 2021-06-22 | 深度卷积神经网络的轻量化方法、系统及目标检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113420651B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113935485B (zh) * | 2021-12-15 | 2022-03-04 | 江苏游隼微电子有限公司 | 一种基于相邻层权重的卷积神经网络裁剪方法 |
CN115953584B (zh) * | 2023-01-30 | 2023-07-07 | 盐城工学院 | 一种具有可学习稀疏性的端到端目标检测方法及系统 |
CN117993443A (zh) * | 2024-04-03 | 2024-05-07 | 腾讯科技(深圳)有限公司 | 模型处理方法、装置、计算机设备、存储介质和程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111242180A (zh) * | 2020-01-03 | 2020-06-05 | 南京邮电大学 | 一种基于轻量化卷积神经网络的图像识别方法及系统 |
CN111967468A (zh) * | 2020-08-10 | 2020-11-20 | 东南大学 | 一种基于fpga的轻量级目标检测神经网络的实现方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019161300A1 (en) * | 2018-02-18 | 2019-08-22 | Nvidia Corporation | Detecting objects and determining confidence scores |
CN110287849B (zh) * | 2019-06-20 | 2022-01-07 | 北京工业大学 | 一种适用于树莓派的轻量化深度网络图像目标检测方法 |
CN111079781B (zh) * | 2019-11-07 | 2023-06-23 | 华南理工大学 | 基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法 |
CN110929603B (zh) * | 2019-11-09 | 2023-07-14 | 北京工业大学 | 一种基于轻量级卷积神经网络的天气图像识别方法 |
EP3832341A1 (en) * | 2019-11-21 | 2021-06-09 | NVIDIA Corporation | Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications |
CN111797805A (zh) * | 2020-07-17 | 2020-10-20 | 浙江工业大学 | 一种基于轻量级卷积神经网络的高效视频目标检测方法 |
CN112163628A (zh) * | 2020-10-10 | 2021-01-01 | 北京航空航天大学 | 一种适用于嵌入式设备的改进目标实时识别网络结构的方法 |
-
2021
- 2021-06-22 CN CN202110693076.7A patent/CN113420651B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111242180A (zh) * | 2020-01-03 | 2020-06-05 | 南京邮电大学 | 一种基于轻量化卷积神经网络的图像识别方法及系统 |
CN111967468A (zh) * | 2020-08-10 | 2020-11-20 | 东南大学 | 一种基于fpga的轻量级目标检测神经网络的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113420651A (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113420651B (zh) | 深度卷积神经网络的轻量化方法、系统及目标检测方法 | |
JP6980958B1 (ja) | 深層学習に基づく農村地域分けゴミ識別方法 | |
US20190244362A1 (en) | Differentiable Jaccard Loss Approximation for Training an Artificial Neural Network | |
CN110807757B (zh) | 基于人工智能的图像质量评估方法、装置及计算机设备 | |
CN113159073B (zh) | 知识蒸馏方法及装置、存储介质、终端 | |
WO2022057262A1 (zh) | 图像识别方法、装置及计算机可读存储介质 | |
CN109614874B (zh) | 一种基于注意力感知和树形骨架点结构的人体行为识别方法和系统 | |
EP4006776A1 (en) | Image classification method and apparatus | |
CN110321805B (zh) | 一种基于时序关系推理的动态表情识别方法 | |
Huang et al. | End-to-end continuous emotion recognition from video using 3D ConvLSTM networks | |
WO2022100165A1 (zh) | 神经网络模型的训练方法、图像处理方法及装置 | |
CN113554084A (zh) | 基于剪枝和轻量卷积的车辆再辨识模型压缩方法及系统 | |
CN114742211B (zh) | 一种面向微控制器的卷积神经网络部署和优化方法 | |
CN112528058A (zh) | 基于图像属性主动学习的细粒度图像分类方法 | |
CN115393690A (zh) | 一种轻量化神经网络的空对地观测多目标识别方法 | |
CN114882278A (zh) | 一种基于注意力机制和迁移学习的轮胎花纹分类方法和装置 | |
CN114742997A (zh) | 一种面向图像分割的全卷积神经网络密度峰剪枝方法 | |
CN112862023B (zh) | 对象密度确定方法、装置、计算机设备和存储介质 | |
CN113743277A (zh) | 一种短视频分类方法及系统、设备和存储介质 | |
CN113344182A (zh) | 一种基于深度学习的网络模型压缩方法 | |
CN112132207A (zh) | 基于多分支特征映射目标检测神经网络构建方法 | |
CN112395952A (zh) | 一种用于铁轨缺陷检测的无人机 | |
Rui et al. | Smart network maintenance in an edge cloud computing environment: An adaptive model compression algorithm based on model pruning and model clustering | |
CN113919479B (zh) | 一种提取数据特征的方法和相关装置 | |
Chung et al. | Filter pruning by image channel reduction in pre-trained convolutional neural networks |
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 |