CN113076938A - 一种结合嵌入式硬件信息的深度学习目标检测方法 - Google Patents
一种结合嵌入式硬件信息的深度学习目标检测方法 Download PDFInfo
- Publication number
- CN113076938A CN113076938A CN202110491544.2A CN202110491544A CN113076938A CN 113076938 A CN113076938 A CN 113076938A CN 202110491544 A CN202110491544 A CN 202110491544A CN 113076938 A CN113076938 A CN 113076938A
- Authority
- CN
- China
- Prior art keywords
- network
- layer
- neural
- unit
- neural network
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
-
- 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
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种结合嵌入式硬件信息的深度学习目标检测方法,其特征在于,包括如下步骤:1)搭建神经网络单元;2)选择神经网络主体;3)筛选检测模块阶段;4)评估检测阶段。这种方法采用公开数据集和嵌入式设备约束作为目标检测过程中搜索和检测的监督信息,并在神经网络架构搜索的框架下,将目标检测部署问题视为一个多阶段的选择问题,从而有效解决基于深度学习的目标检测器部署终端设备上的问题。
Description
技术领域
本发明涉及计算机视觉领域的目标检测、深度学习技术,具体是一种结合嵌入式硬件信息的深度学习目标检测方法。
背景技术
目标检测是对图像的目标提取,模型压缩加速是对深度学习模型压缩参数量、计算量以提高检测模型的推理能力,嵌入式硬件信息包括内存大小、计算能力、功率。近年来,随着深度学习算法的快速发展,深度神经网络在图像分类,物体检测等一系列深度学习任务中取得最先进的成果。然而,深度神经网络的密集型计算与存储需求使其很难部署到只有有限资源的嵌入式设备中,如何使深度神经网络能够很好的移植到嵌入式设备当中已经成为当今深度学习研究的一大热点内容。现有的技术流程采用以下路线:1)模型剪枝、模型量化、轻量网络结构的技术实现深度学习模型算法的设计2)深度学习模型模型文件转化为通用文格式3)特定硬件平台加速库对通用格式文件加速部署,这种技术路线存在以下缺点:在算法设计端采用的压缩加速指标过于理论化、过于重视对数据集设计、缺乏对硬件信息的反馈、特定硬件平台加速繁琐、不可移植,导致将模型部署至嵌入式设备准确率下降、内存不足、耗能严重、不能推理。
发明内容
本发明的目的是针对现有技术的不足,而提供一种结合嵌入式硬件信息的深度学习目标检测方法。这种方法采用公开数据集和嵌入式设备约束作为目标检测过程中搜索和检测的监督信息,并在神经网络架构搜索的框架下,将目标检测部署问题视为一个多阶段的选择问题,从而有效解决基于深度学习的目标检测器部署终端设备上的问题。
实现本发明目的的技术方案是:
一种结合嵌入式硬件信息的深度学习目标检测方法,包括如下步骤:
1)搭建神经网络单元:所述神经网络单元按照数据流动顺序分为卷积层、归一化层、激活层、池化层,卷积层按照卷积核尺寸大小分为1×1卷积、3×3卷积、5×5卷积、7×7卷积,不同大小的卷积核对应着神经网络图片中不同的感受野和计算复杂度,归一化层根据不同的训练数据量分为单个样本归一化、批量样本归一化、全部样本归一化,不同的归一化层选择对应卷积神经网络不同的数据量选择策略,激活层根据激活方式分为Sigmod、Relu、Tanh激活函数,池化层根据尺寸大小分为2×2池化、3×3池化,每个层级上对应不同的选择策略,则卷积层有5种选择策略,即1×1卷积、3×3卷积、5×5卷积、7×7卷积、不选,归一层有4种选择策略,即全部样本归一化层、批量归一化层、全部样本归一化层、不选,激活层有4种选择策略,Sigmod激活、Relu激活、Tanh激活不选4种选择策略,池化层有2×2池化、3×3池化、不选3种选择策略,枚举法得出5×4×4×3=240种神经网络单元类别空间,然后输入神经主体网络选择阶段;
2)选择神经网络主体:包括:
2-1)通过枚举神经网络单元的层级结构,获得不同组合特性的神经单元种类,称之为初始神经单元空间A,将初始神经单元空间A按照各个类别分别标记为第1初始单元类、第2初始单元类、…第240初始单元类,采用嵌入式硬件平台作为部署平台,采用嵌入式硬件平台的资源约束作为评估每类神经单元的推理性能,构建的初始神经单元空间A都将在硬件平台上实例化对象,硬件性能指标对实例化对象进行性能排序,取排名前50%的神经网络单元作为下一阶段采样空间α;
2-2)性能排序即利用嵌入式硬件资源:内存、GPU计算单元对第i种神经初始单元排序,内存用于存放模型和数据,显存越大,所能运行的网络也越大,GPU计算单元用于数值计算,网络本身占有的参数量与计算量进行展开,在神经网络单元计算中,计算量对应算法的时间复杂度,参数量对应算法的空间复杂度,上升到硬件层次,计算量对应的是计算时间,参数量对应的是计算机内存资源的消耗,在定义的神经初始单元中,有参数量的层是卷积层和归一化层,激活层和池化层是无参数的层,数值类型是Float32,每一个单精度浮点数占用4Byte的内存,即:
参数数目=卷积层参数数目+归一化层参数数目,
卷积层参数数目=Cin×Cout×K×K,
归一化层参数数目=2×N,参数占用内存=参数数目×4,
其中,Cin、Cout分别代表上一层输入的特征图个数和下一层输出的特征图个数,K代表卷积核大小,N代表输出的使用卷积层个数,2代表归一化过程中保存的均值和方差,在定义的神经初始单元中,计算量的分析在卷积层、归一化层、激活层、池化层,计算单位FLOP表示,即:
1 FLOP=Wx+b,
神经初始单元总计算量=卷积层+归一化层+激活层+池化层,
卷积层计算量=B×H×W×Cout×Cin×K2,
归一化层计算量=B×H×W×Cout×{4,5,6},
激活层计算量=B×H×W×C×{1,2,3},
池化层计算量=B×H×W×C×K2,,
其中,B代表训练一次输入的图片数量,H、W分别代表输出上一层特征图的长和宽,Cin代表输出上一层特征图的通道数,Cout代表输出下一层特征图的通道数,{4,5,6}代表拥有不同参数的优化器,{1,2,3}代表不同的激活函数计算量,加权系数λ得到总的性能指标:
性能指标=1/(λ×参数量+(1-λ)×计算量),
得到性能指标之后按照大小排序,其中,分母不能为零;
2-3)基于步骤2-2)阶段获得的神经单元采样空间α之后,在空间α采样每种神经单元,根据图片输入大小、神经单元在大小相同的网络阶段重复堆叠n次、网络通道调节因子、主干网络总步长S构成神经网络主体空间B,Cafar-100训练数据集对神经网络主体空间B的采样子空间β快速训练100轮次,得到每一类训练完毕的神经网络主体模型b,将推理精度与延迟速度加权得到最终评价指标以评估每一类神经网络主体模型b的性能,并进行主干网络排序,首先测试主干网络在CIFAR-100测试数据集的准确率,其次测试CIFAR-100测试数据集图片在主干网络的运行时间,延迟速度=1/运行时间,最后取加权系数等于0.5对推理精度、延迟速度加权,数值越大,对应的主干网络排名越靠前;
2-4)在神经主干网络流程中,将整个神经主体网络定义为D,则它的第i个神经网络单元可以表示为如公式(1)所示:
Yi=Fi(Xi) (1),
Xi代表输入张量,Yi代表输出张量,整个神经主体网络由N个神经网络单元组成,表示为如公式(2)所示:
D=FN⊙...⊙F2⊙F1(X1)=⊙j=1...kFj(X1) (2),
将长宽大小相同的输出层作为一个阶段F,每个阶段F卷积层结构相同,以阶段为单位可以将神经网络D表示为如公式(3)所示:
其中(hi,wi,ci)代表第i层的输入张量的维度,下标i(1...s)表示阶段F的序号,Fi表示第i个阶段,不改变神经网络主体采样子空间β情况下,4个设计变量最大优化网络的准确率,表达公式如下:
max Accuracy(β(n,s,r,w))
[n,s,r,w]
S.t..Memory(β)≤目标硬件平台内存,
Time(β)≤目标硬件平台延迟;
2-5)基于神经主体网络四个搜索维度的综合搜索系数ф,ф代表消耗资源的大小,即:
神经主体网络单元个数:n`=nф,
神经主体网络总步长:s`=sф,
神经主体网络输入图片大小:r`=rф,
神经主体网络网络通道因子:w`=wф,
约束条件:n`*s`*r`*w`≤硬件平台可接受的推理延迟,对于ф的求解范围为:
Ф=∈[低算力设备延迟/高算力设备延迟,高算力推理延迟/低算力推理延迟],时间单位:毫秒,
将主体网络β经过四个维度扩张或者收缩之后,得到针对硬件平台一系列主体神经网络结构b,为提高b在数据集CIFAR-100上的准确率,在神经网络结构b的每一个阶段s中,给出是否设置跨层连接Y的选择,以提高神经主体网络b的推理能力;
3)筛选检测模块阶段:包括:
3-1)对于目标检测任务而言,整个流程分为主体网络结构、融合结构以及检测头三部分,融合结构特征金字塔FPN结构,P1/P2分别代表主干网络从第1层、第2层输出特征图开始向下采样输入至主干网路最后一层进行加法汇总操作,检测头部分采用目标检测常用算法的检测头部分:RetinaNet、Yolo、Rcnn三个搜索因子,检测头是获取网络输出内容的网络,利用之前提取的特征,从这些特征中预测目标的位置与类别,则目标检测网络空间C用以下公式组成:
Detector=Backbone+Neck+Head,
其中:Backbone-提取基础网络,Neck-特征融合结构,Head-分类和定位;
3-2)基于步骤3-1)所构建的目标检测网络搜索空间C之后,强化学习进行搜索,优化目标是延迟,单位是毫秒,对于搜索到的某个具体网络结构M对应的奖励函数为:
其中:mAP(M)是COCO验证集上的mAP,c(M)是某个具体网络结构M的延迟时间,c0是设定的期望值,τ是平衡性能和延迟时间之间的系数,优化目标不考虑FLOPS,直接考虑实际模型的推理时间,每次搜索得出一个网络结构M之后,进行COCO训练集正常训练,再拿到统一硬件平台上测试精度和推理时间,最终得到一系列搜索后的目标检测网络模型C`;
4)评估检测阶段:基于利用强化学习搜索后得到的目标检测网络模型C`后,嵌入式硬件资源对目标检测网络模型C`评估检测,采用以下的部署方案:
4-1)根据嵌入式硬件资源大小使用8比特、4比特的定点数据类型表示目标检测网络模型C`的特征图、网络权值参数,得到定点数据类型表示的检测模型c;
4-2)嵌入式硬件测试定点表示的目标检测网络模型在目标场景的性能;
4-3)性能指标有两部分构成:检测精度IOU、推理速度FPS,总体性能排名=0.4×IOU+0.6×FPS,根据性能排名,得到结合硬件资源约束的目标检测模型。
本技术方案在算法设计端结合了嵌入式硬件的资源信息:内存、计算单元,使得基于深度学习的目标检算法在终端部署中得到加速推理的能力,并且无需特定加速库,简化实际部署流程。
本技术方案采用公开数据集和嵌入式设备约束作为目标检测过程中搜索和检测的监督信息,并在神经网络架构搜索的框架下,将目标检测部署问题视为一个多阶段的选择问题,从而有效解决基于深度学习的目标检测器部署终端设备上的问题。
附图说明
图1为实施例的方法流程示意图;
图2为实施例中神经网络单元结构示意图;
图3为实施例中初步筛选神经网络单元的过程示意图;
图4为实施例中神经初始单元性能排序流程示意图;
图5为实施例中神经主干网络性能排序流程示意图;
图6为实施例中目标检测流程示意图;
图7为实施例中示意图。
具体实施方式
下面结合附图和实施例对本发明的内容作进一步的阐述,但不是对本发明的限定。
实施例:
参照图1,一种能部署在终端设备上的深度学习目标检测方法,包括如下步骤:
1)搭建神经网络单元:所述神经网络单元按照数据流动顺序分为卷积层、归一化层、激活层、池化层,卷积层按照卷积核尺寸大小分为1×1卷积、3×3卷积、5×5卷积、7×7卷积,不同大小的卷积核对应着神经网络图片中不同的感受野和计算复杂度,最终影响神经网络运行的精度和速度,归一化层根据不同的训练数据量分为单个样本归一化、批量样本归一化、全部样本归一化,归一化层在加速神经网络收敛、减少梯度消失或爆炸有着重要的作用,不同的归一化层选择对应卷积神经网络不同的数据量选择策略,激活层根据激活方式分为Sigmod、Relu、Tanh激活函数,激活函数通过过滤弱前馈神经单元影响网络前后向梯度传播的速度,池化层根据尺寸大小分为2×2池化、3×3池化,池化层尺寸越大,意味着计算得到的特征图越小,损失信息越多,但计算量变得更小,本例根据数据流动构建神经网络单元如图2所示,每个层级上对应不同的选择策略,则卷积层有5种选择策略,即1×1卷积、3×3卷积、5×5卷积、7×7卷积、不选,归一层有4种选择策略,即全部样本归一化层、批量归一化层、全部样本归一化层、不选,激活层有4种选择策略,Sigmod激活、Relu激活、Tanh激活、不选4种选择策略,池化层有2×2池化、3×3池化、不选3种选择策略,枚举法得出5×4×4×3=240种神经网络单元类别空间,然后输入神经主体网络选择阶段;
2)选择神经网络主体:包括:
2-1)通过枚举神经网络单元的层级结构,获得不同组合特性的神经单元种类,称之为初始神经单元空间A,将初始神经单元空间A按照各个类别分别标记为第1初始单元类、第2初始单元类、…第240初始单元类,本例采用英伟达公司提供的嵌入式硬件平台JetsonNano作为部署平台,由于Jetson Nano的硬件资源开销非常紧张,所以采用嵌入式硬件平台Jetson Nano的资源约束作为评估每类神经单元的推理性能,构建的初始神经单元空间A都将在Jetson Nano硬件平台上实例化对象,硬件性能指标对实例化对象进行性能排序,取排名前50%的神经网络单元作为下一阶段采样空间α,过程如图3所示;
2-2)性能排序即利用Jetson Nano硬件资源:显存、GPU计算单元对第i种神经初始单元排序,显存用于存放模型和数据,显存越大,所能运行的网络也越大,GPU计算单元用于数值计算,本身占有的参数量与计算量进行展开,在神经网络单元计算中,计算量对应算法的时间复杂度,参数量对应算法的空间复杂度,上升到硬件层次,计算量对应的是计算时间,参数量对应的是计算机内存资源的消耗,在定义的神经初始单元中,有参数量的层是卷积层和归一化层,激活层和池化层是无参数的层,常用的数值类型是Float32,每一个单精度浮点数占用4Byte的内存,即:
参数数目=卷积层参数数目+归一化层参数数目,
卷积层参数数目=Cin×Cout×K×K,
归一化层参数数目=2×N,
参数占用内存=参数数目×4,
其中,Cin、Cout分别代表上一层输入的特征图个数和下一层输出的特征图个数,K代表卷积核大小,N代表输出的使用卷积层个数,2代表归一化过程中保存的均值和方差,在定义的神经初始单元中,计算量的分析在卷积层、归一化层、激活层、池化层,计算量越大,操作越费时,运行神经网络花费时间越多,计算单位常用FLOP表示,即:
1 FLOP=Wx+b,
神经初始单元总计算量=卷积层+归一化层+激活层+池化层,
卷积层计算量=B×H×W×Cout×Cin×K2,
归一化层计算量=B×H×W×Cout×{4,5,6},
激活层计算量=B×H×W×C×{1,2,3},
池化层计算量=B×H×W×C×K2,
其中,B代表训练一次输入的图片数量,H、W分别代表输出上一层特征图的长和宽,Cin代表输出上一层特征图的通道数,Cout代表输出下一层特征图的通道数,{4,5,6}代表拥有不同参数的优化器,{1,2,3}代表不同的激活函数计算量,根据以上对神经初始单元计算量和参数量的初步分析,加权系数λ得到总的性能指标:
性能指标=1/(λ×参数量+(1-λ)×计算量),
得到性能指标之后按照大小排序,其中,分母不能为零,排序如图4所示;
2-3)基于步骤2-2)阶段获得的神经单元采样空间α之后,在空间α采样每种神经单元,根据t图片输入大小、神经单元在大小相同的网络阶段重复堆叠n次、网络通道调节因子、主干网络总步长S构成神经网络主体空间B,Cafar-100数据集对神经网络主体空间B的采样子空间β快速训练100轮次,得到每一类训练完毕的神经网络主体模型b,将推理精度与延迟速度加权得到最终评价指标以评估每一类神经网络主体模型b的性能,并进行主干网络排序,首先测试主干网络在CIFAR-100测试数据集的准确率,其次测试CIFAR-100测试数据集图片在主干网络的运行时间,延迟速度=1/运行时间,最后取加权系数等于0.5对推理精度、延迟速度加权。数值越大,对应的主干网络排名越靠前,过程如图5所示:
2-4)在神经主干网络流程中,将整个神经主体网络定义为D,则它的第i个神经网络单元可以表示为如公式(1)所示:
Yi=Fi(Xi) (1),
Xi代表输入张量,Yi代表输出张量,整个神经主体网络由N个神经网络单元组成,表示为如公式(2)所示:
D=FN⊙...⊙F2⊙F1(X1)=⊙j=1...kFj(X1) (2),
但在神经主体网络中,通常会将长宽大小相同的输出层作为一个阶段b,每个阶段b卷积层结构相同,以阶段为单位可以将神经网络D表示为如公式(3)所示:
其中(hi,wi,ci)代表第i层的输入张量的维度,下标i(1...s)表示阶段b的序号,Fi表示第i个阶段,不改变神经网络主体模型β情况下,4个设计变量最大优化网络的准确率,表达公式如下:
max Accuracy(β(n,s,r,w))
[n,s,r,w]
S.t.Memory(β)≤目标硬件平台内存,
Time(β)≤目标硬件平台延迟;
2-5)步骤2-4)阶段提出的目标优化函数后,由于每个搜索维度并非相互独立,基于神经主体网络的四个搜索维度的综合搜索系数ф,ф代表消耗资源的大小,即:
神经主体网络单元个数:n`=nф,
神经主体网络总步长:s`=sф,
神经主体网络输入图片大小:r`=rф,
神经主体网络网络通道因子:w`=wф,
约束条件:n`*s`*r`*w`≤硬件平台可接受的推理延迟,对于ф的求解范围为:
Ф=∈[低算力设备延迟/高算力设备延迟,高算力推理延迟/低算力推理延迟],时间单位:毫秒,
将主体网络β经过四个维度扩张或者收缩之后,得到针对硬件平台一系列主体神经网络结构b,为提高b在数据集上的准确率,在构建b主体模型的每一个阶段s中,给出是否设置跨层连接Y的选择,以提高神经主体网络的推理能力;
3)筛选检测模块阶段:包括:
3-1)尽管在步骤2-5)阶段得到了神经主体网络结构,但对于目标检测任务而言,整个流程分为主体网络结构、融合结构以及检测头三部分,如图6所示,
融合结构特征金字塔FPN结构,P1/P2分别代表主干网络从第1层、第2层输出特征图开始向下采样输入至主干网路最后一层进行加法汇总操作,不同起始特征图降采样构成了网路融合结构的搜索空间,它对主干网络提取到的重要特征进行再加工及合理利用,有利于下一步检测头的学习,检测头部分采用目标检测常用算法的检测头部分:RetinaNet、Yolo、Rcnn三个搜索因子,检测头施获取网络输出内容的网络,利用之前提取的特征,从这些特征中预测目标的位置与类别,主要作用是对物体定位和分类,通过以上的描述,则目标检测网路空间C用以下公式组成:
Detector=Backbone+Neck+Head,
其中:Backbone-提取基础网络,Neck-特征融合利用,Head-分类和定位;
3-2)基于步骤3-1)所构建的目标检测网络搜索空间C之后,强化学习进行搜索,优化目标是延迟,单位是毫秒,对于搜索到的某个具体网络结构M对应的奖励函数为:
其中:mAP(M)是COCO验证集上的mAP,c(M)是某个具体网络结构M的延迟时间,c0是设定的期望值,τ是平衡性能和延迟时间之间的系数,可以看出优化目标不考虑FLOPS,直接考虑实际模型的推理时间,每次搜索得出一个网络结构M之后,进行COCO训练集正常训练,再拿到统一硬件平台上测试精度和推理时间,最终得到一系列搜索后的网络模型C`;
4)评估检测阶段:基于利用强化学习搜索后得到的目标检测网络模型C`后,嵌入式硬件资源对目标检测网络模型C`评估检测,采用以下的部署方案:1)根据嵌入式硬件资源大小使用8比特、4比特的定点数据类型表示目标检测网络模型C`的特征图、网络权值参数,得到定点数据类型表示的检测模型c,2)嵌入式硬件测试定点表示的目标检测网络模型在目标场景的性能3)性能指标有两部分构成:检测精度IOU、推理速度FPS,总体性能排名=0.4×IOU+0.6×FPS,根据性能排名,得到结合硬件资源约束的目标检测模型,过程如图7所示。
Claims (1)
1.一种结合嵌入式硬件信息的深度学习目标检测方法,其特征在于,包括如下步骤:
1)搭建神经网络单元:所述神经网络单元按照数据流动顺序分为卷积层、归一化层、激活层、池化层,卷积层按照卷积核尺寸大小分为1×1卷积、3×3卷积、5×5卷积、7×7卷积,不同大小的卷积核对应着神经网络图片中不同的感受野和计算复杂度,归一化层根据不同的训练数据量分为单个样本归一化、批量样本归一化、全部样本归一化,不同的归一化层选择对应卷积神经网络不同的数据量选择策略,激活层根据激活方式分为Sigmod、Relu、Tanh激活函数,池化层根据尺寸大小分为2×2池化、3×3池化,每个层级上对应不同的选择策略,则卷积层有5种选择策略,即1×1卷积、3×3卷积、5×5卷积、7×7卷积、不选,归一层有4种选择策略,即全部样本归一化层、批量归一化层、全部样本归一化层、不选,激活层有4种选择策略,Sigmod激活、Relu激活、Tanh激活不选4种选择策略,池化层有2×2池化、3×3池化、不选3种选择策略,枚举法得出5×4×4×3=240种神经网络单元类别空间,然后输入神经主体网络选择阶段;
2)选择神经网络主体:包括:
2-1)通过枚举神经网络单元的层级结构,获得不同组合特性的神经单元种类,称之为初始神经单元空间A,将初始神经单元空间A按照各个类别分别标记为第1初始单元类、第2初始单元类、…第240初始单元类,采用嵌入式硬件平台作为部署平台,采用嵌入式硬件平台的资源约束作为评估每类神经单元的推理性能,构建的初始神经单元空间A都将在硬件平台上实例化对象,硬件性能指标对实例化对象进行性能排序,取排名前50%的神经网络单元作为下一阶段采样空间α;
2-2)性能排序即利用嵌入式硬件资源:内存、GPU计算单元对第i种神经初始单元排序,内存用于存放模型和数据,GPU计算单元用于数值计算,网络本身占有的参数量与计算量进行展开,在神经网络单元计算中,计算量对应算法的时间复杂度,参数量对应算法的空间复杂度,上升到硬件层次,计算量对应的是计算时间,参数量对应的是计算机内存资源的消耗,在定义的神经初始单元中,有参数量的层是卷积层和归一化层,激活层和池化层是无参数的层,数值类型是Float32,每一个单精度浮点数占用4Byte的内存,即:
参数数目=卷积层参数数目+归一化层参数数目,
卷积层参数数目=Cin×Cout×K×K,
归一化层参数数目=2×N,
参数占用内存=参数数目×4,
其中,Cin、Cout分别代表上一层输入的特征图个数和下一层输出的特征图个数,K代表卷积核大小,N代表输出的使用卷积层个数,2代表归一化过程中保存的均值和方差,在定义的神经初始单元中,计算量的分析在卷积层、归一化层、激活层、池化层,计算单位FLOP表示,即:
1FLOP=Wx+b,
神经初始单元总计算量=卷积层+归一化层+激活层+池化层,
卷积层计算量=B×H×W×Cout×Cin×K2,
归一化层计算量=B×H×W×Cout×{4,5,6},
激活层计算量=B×H×W×C×{1,2,3},
池化层计算量=B×H×W×C×K2’,
其中,B代表训练一次输入的图片数量,H、W分别代表输出上一层特征图的长和宽,Cin代表输出上一层特征图的通道数,Cout代表输出下一层特征图的通道数,{4,5,6}代表拥有不同参数的优化器,{1,2,3}代表不同的激活函数计算量,加权系数λ得到总的性能指标:
性能指标=1/(λ×参数量+(1-λ)×计算量),
得到性能指标之后按照大小排序,其中,分母不能为零;
2-3)基于步骤2-2)阶段获得的神经单元采样空间α之后,在空间α采样每种神经单元,根据图片输入大小、神经单元在大小相同的网络阶段重复堆叠n次、网络通道调节因子、主干网络总步长S构成神经网络主体空间B,Cafar-100训练数据集对神经网络主体空间B的采样子空间β快速训练100轮次,得到每一类训练完毕的神经网络主体模型b,将推理精度与延迟速度加权得到最终评价指标以评估每一类神经网络主体模型b的性能,并进行主干网络排序,首先测试主干网络在CIFAR-100测试数据集的准确率,其次测试CIFAR-100测试数据集图片在主干网络的运行时间,延迟速度=1/运行时间,最后取加权系数等于0.5对推理精度、延迟速度加权,数值越大,对应的主干网络排名越靠前;
2-4)在神经主干网络流程中,将整个神经主体网络定义为D,则它的第i个神经网络单元可以表示为如公式(1)所示:
Yi=Fi(Xi) (1),
Xi代表输入张量,Yi代表输出张量,整个神经主体网络由N个神经网络单元组成,表示为如公式(2)所示:
D=FN⊙...⊙F2⊙F1(X1)=⊙j=1...kFj(X1) (2),
将长宽大小相同的输出层作为一个阶段F,每个阶段F卷积层结构相同,以阶段为单位可以将神经网络D表示为如公式(3)所示:
其中(hi,wi,ci)代表第i层的输入张量的维度,下标i(1...s)表示阶段F的序号,Fi表示第i个阶段,不改变神经网络主体采样子空间β情况下,4个设计变
量最大优化网络的准确率,表达公式如下:
max Accuracy(β(n,s,r,w))
[n,s,r,w]
S.t..Memory(β)≤目标硬件平台内存,
Time(β)≤目标硬件平台延迟;
2-5)基于神经主体网络四个搜索维度的综合搜索系数ф,ф代表消耗资源的大小,即:
神经主体网络单元个数:n`=nф,
神经主体网络总步长:s`=sф,
神经主体网络输入图片大小:r`=rф,
神经主体网络网络通道因子:w`=wф,
约束条件:n`*s`*r`*w`≤硬件平台可接受的推理延迟,对于ф的求解范围为:
Ф=∈[低算力设备延迟/高算力设备延迟,高算力推理延迟/低算力推理延迟],时间单位:毫秒,
将主体网络β经过四个维度扩张或者收缩之后,得到针对硬件平台一系列主体神经网络结构b,在神经网络结构b的每一个阶段s中,给出是否设置跨层连接Y的选择;
3)筛选检测模块阶段:包括:
3-1)对于目标检测任务而言,整个流程分为主体网络结构、融合结构以及检测头三部分,融合结构特征金字塔FPN结构,P1/P2分别代表主干网络从第1层、第2层输出特征图开始向下采样输入至主干网路最后一层进行加法汇总操作,检测头部分采用目标检测常用算法的检测头部分:RetinaNet、Yolo、Rcnn三个搜索因子,检测头是获取网络输出内容的网络,利用之前提取的特征,从这些特征中预测目标的位置与类别,则目标检测网络空间C用以下公式组成:
Detector=Backbone+Neck+Head,
其中:Backbone-提取基础网络,Neck-特征融合结构,Head-分类和定位;
3-2)基于步骤3-1)所构建的目标检测网络搜索空间C之后,强化学习进行搜索,优化目标是延迟,单位是毫秒,对于搜索到的某个具体网络结构M对应的奖励函数为:
其中:mAP(M)是COCO验证集上的mAP,c(M)是某个具体网络结构M的延迟时间,c0是设定的期望值,τ是平衡性能和延迟时间之间的系数,优化目标不考虑FLOPS,直接考虑实际模型的推理时间,每次搜索得出一个网络结构M之后,进行COCO训练集正常训练,再拿到统一硬件平台上测试精度和推理时间,最终得到一系列搜索后的目标检测网络模型C`;
4)评估检测阶段:基于利用强化学习搜索后得到的目标检测网络模型C`后,嵌入式硬件资源对目标检测网络模型C`评估检测,采用以下的部署方案:
4-1)根据嵌入式硬件资源大小使用8比特、4比特的定点数据类型表示目标检测网络模型C`的特征图、网络权值参数,得到定点数据类型表示的检测模型c;
4-2)嵌入式硬件测试定点表示的目标检测网络模型在目标场景的性能;
4-3)性能指标有两部分构成:检测精度IOU、推理速度FPS,总体性能排名=0.4×IOU+0.6×FPS,根据性能排名,得到结合硬件资源约束的目标检测模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110491544.2A CN113076938B (zh) | 2021-05-06 | 2021-05-06 | 一种结合嵌入式硬件信息的深度学习目标检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110491544.2A CN113076938B (zh) | 2021-05-06 | 2021-05-06 | 一种结合嵌入式硬件信息的深度学习目标检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113076938A true CN113076938A (zh) | 2021-07-06 |
CN113076938B CN113076938B (zh) | 2023-07-25 |
Family
ID=76616233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110491544.2A Active CN113076938B (zh) | 2021-05-06 | 2021-05-06 | 一种结合嵌入式硬件信息的深度学习目标检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113076938B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113780542A (zh) * | 2021-09-08 | 2021-12-10 | 北京航空航天大学杭州创新研究院 | 一种面向fpga的多目标网络结构的构建方法 |
CN113902099A (zh) * | 2021-10-08 | 2022-01-07 | 电子科技大学 | 基于软硬件联合学习的神经网络设计与优化方法 |
CN113947185A (zh) * | 2021-09-30 | 2022-01-18 | 北京达佳互联信息技术有限公司 | 任务处理网络生成、任务处理方法、装置、电子设备及存储介质 |
CN114861871A (zh) * | 2022-04-11 | 2022-08-05 | 华南理工大学 | 一种卷积神经网络在加速器上的推理性能评估系统 |
CN115641763A (zh) * | 2022-09-12 | 2023-01-24 | 中南迅智科技有限公司 | 一种记忆背诵辅助系统 |
CN115906917A (zh) * | 2022-11-09 | 2023-04-04 | 武汉大学 | 一种基于模型算法划分的神经网络模型部署方法及装置 |
CN116416468A (zh) * | 2023-04-11 | 2023-07-11 | 安徽中科星联信息技术有限公司 | 一种基于神经架构搜索的sar目标检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814966A (zh) * | 2020-08-24 | 2020-10-23 | 国网浙江省电力有限公司 | 神经网络架构搜索方法、神经网络应用方法、设备及存储介质 |
WO2020221200A1 (zh) * | 2019-04-28 | 2020-11-05 | 华为技术有限公司 | 神经网络的构建方法、图像处理方法及装置 |
CN111898439A (zh) * | 2020-06-29 | 2020-11-06 | 西安交通大学 | 基于深度学习的交通场景联合目标检测和语义分割方法 |
CN111898683A (zh) * | 2020-07-31 | 2020-11-06 | 平安科技(深圳)有限公司 | 基于深度学习的图像分类方法、装置及计算机设备 |
-
2021
- 2021-05-06 CN CN202110491544.2A patent/CN113076938B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020221200A1 (zh) * | 2019-04-28 | 2020-11-05 | 华为技术有限公司 | 神经网络的构建方法、图像处理方法及装置 |
CN111898439A (zh) * | 2020-06-29 | 2020-11-06 | 西安交通大学 | 基于深度学习的交通场景联合目标检测和语义分割方法 |
CN111898683A (zh) * | 2020-07-31 | 2020-11-06 | 平安科技(深圳)有限公司 | 基于深度学习的图像分类方法、装置及计算机设备 |
CN111814966A (zh) * | 2020-08-24 | 2020-10-23 | 国网浙江省电力有限公司 | 神经网络架构搜索方法、神经网络应用方法、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
赵永强;饶元;董世鹏;张君毅;: "深度学习目标检测方法综述", 中国图象图形学报, no. 04 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113780542A (zh) * | 2021-09-08 | 2021-12-10 | 北京航空航天大学杭州创新研究院 | 一种面向fpga的多目标网络结构的构建方法 |
CN113780542B (zh) * | 2021-09-08 | 2023-09-12 | 北京航空航天大学杭州创新研究院 | 一种面向fpga的多目标网络结构的构建方法 |
CN113947185A (zh) * | 2021-09-30 | 2022-01-18 | 北京达佳互联信息技术有限公司 | 任务处理网络生成、任务处理方法、装置、电子设备及存储介质 |
CN113947185B (zh) * | 2021-09-30 | 2022-11-18 | 北京达佳互联信息技术有限公司 | 任务处理网络生成、任务处理方法、装置、电子设备及存储介质 |
CN113902099B (zh) * | 2021-10-08 | 2023-06-02 | 电子科技大学 | 基于软硬件联合学习的神经网络设计与优化方法 |
CN113902099A (zh) * | 2021-10-08 | 2022-01-07 | 电子科技大学 | 基于软硬件联合学习的神经网络设计与优化方法 |
CN114861871A (zh) * | 2022-04-11 | 2022-08-05 | 华南理工大学 | 一种卷积神经网络在加速器上的推理性能评估系统 |
CN114861871B (zh) * | 2022-04-11 | 2024-05-10 | 华南理工大学 | 一种卷积神经网络在加速器上的推理性能评估系统 |
CN115641763A (zh) * | 2022-09-12 | 2023-01-24 | 中南迅智科技有限公司 | 一种记忆背诵辅助系统 |
CN115641763B (zh) * | 2022-09-12 | 2023-12-19 | 中南迅智科技有限公司 | 一种记忆背诵辅助系统 |
CN115906917A (zh) * | 2022-11-09 | 2023-04-04 | 武汉大学 | 一种基于模型算法划分的神经网络模型部署方法及装置 |
CN115906917B (zh) * | 2022-11-09 | 2024-01-30 | 武汉大学 | 一种基于模型算法划分的神经网络模型部署方法及装置 |
CN116416468A (zh) * | 2023-04-11 | 2023-07-11 | 安徽中科星联信息技术有限公司 | 一种基于神经架构搜索的sar目标检测方法 |
CN116416468B (zh) * | 2023-04-11 | 2023-10-03 | 安徽中科星联信息技术有限公司 | 一种基于神经架构搜索的sar目标检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113076938B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113076938A (zh) | 一种结合嵌入式硬件信息的深度学习目标检测方法 | |
CN108805185B (zh) | 人脸识别方法、装置、存储介质及计算机设备 | |
CN111667050B (zh) | 度量学习方法、装置、设备及存储介质 | |
CN109460793A (zh) | 一种节点分类的方法、模型训练的方法及装置 | |
CN113360701B (zh) | 一种基于知识蒸馏的素描图处理方法及其系统 | |
CN114037844A (zh) | 基于滤波器特征图的全局秩感知神经网络模型压缩方法 | |
Nishat et al. | Performance investigation of different boosting algorithms in predicting chronic kidney disease | |
CN112541532B (zh) | 基于密集连接结构的目标检测方法 | |
CN112308115B (zh) | 一种多标签图像深度学习分类方法及设备 | |
US11704570B2 (en) | Learning device, learning system, and learning method | |
CN111679972B (zh) | 软件系统可靠性预计方法、装置、计算机设备和存储介质 | |
CN112308825B (zh) | 一种基于SqueezeNet的农作物叶片病害识别方法 | |
CN113283426A (zh) | 基于多目标神经网络搜索的嵌入式目标检测模型生成方法 | |
CN116502175A (zh) | 一种图神经网络故障诊断方法、装置和存储介质 | |
CN117408167A (zh) | 基于深度神经网络的泥石流灾害易发性预测方法 | |
CN112651499A (zh) | 一种基于蚁群优化算法和层间信息的结构化模型剪枝方法 | |
CN110263125B (zh) | 一种基于极限学习机的服务发现方法 | |
CN116805157A (zh) | 无人集群自主动态评估方法及装置 | |
CN117146954A (zh) | 一种基于改进woa-bp神经网络的称重补偿方法及装置 | |
JPH02228763A (ja) | 予測装置及びその方法 | |
CN113610350B (zh) | 复杂工况故障诊断方法、设备、存储介质及装置 | |
CN115081856A (zh) | 一种企业知识管理绩效评价装置及方法 | |
CN113987704A (zh) | 基于自动多微分学习深度网络的航空发动机寿命预测方法 | |
CN113901721A (zh) | 基于鲸鱼优化算法的模型生成方法及数据预测方法 | |
CN112667591A (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 |