CN116580183A - 基于异构计算的目标检测方法、系统和介质 - Google Patents
基于异构计算的目标检测方法、系统和介质 Download PDFInfo
- Publication number
- CN116580183A CN116580183A CN202310423265.1A CN202310423265A CN116580183A CN 116580183 A CN116580183 A CN 116580183A CN 202310423265 A CN202310423265 A CN 202310423265A CN 116580183 A CN116580183 A CN 116580183A
- Authority
- CN
- China
- Prior art keywords
- target detection
- image
- detection model
- detected
- weight data
- 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 205
- 238000012549 training Methods 0.000 claims abstract description 54
- 238000000034 method Methods 0.000 claims abstract description 42
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 14
- 238000013139 quantization Methods 0.000 claims description 13
- 238000013138 pruning Methods 0.000 claims description 9
- 238000011176 pooling Methods 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 19
- 238000013528 artificial neural network Methods 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000001629 suppression Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000011897 real-time detection Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method 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/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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/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
- 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)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (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
技术领域
本申请涉及图像处理领域,尤其是涉及一种基于异构计算的目标检测方法、系统和介质。
背景技术
人工智能面世以来,迅猛发展,在不同领域上都得到了广泛应用,如遥感图像、自动驾驶、医学影像诊断和自然语言处理等,其中大多数的人工智能都是以图像处理技术为主,主要可分为图像分类、语义分割和目标检测等。轻量级的算法模型可以加快目标检测速度,但是随着数据量日益剧增,无效的数据也随着数据量的增加而增加,数据复杂度也在提高,使得单个计算硬件的数据处理速度以及计算能力不能满足需求。
发明内容
针对上述现有技术的不足,本发明提供一种基于异构计算的目标检测方法、系统和介质。
一种基于异构计算的目标检测方法,所述方法包括:
第一设备端从主机端获取待检测图像和目标检测模型的权重数据;
所述第一设备端加载所述目标检测模型的权重数据,对所述待检测图像进行检测,得到所述待检测图像对应的目标检测框;
根据所述目标检测框得到所述待检测图像的目标检测结果;
其中,所述目标检测模型的权重数据通过第二设备端训练得到,并存储到所述主机端。
在本发明一个实施例中,所述第一设备端从主机端获取待检测图像和目标检测模型的权重数据之前,所述方法还包括:
所述主机端获取训练数据集,
所述主机端将所述训练数据集发送至第二设备端,所述第二设备端预先构建待训练的目标检测模型,并根据所述训练数据集训练所述待训练的目标检测模型,得到所述目标检测模型的权重数据;
所述第二设备端将所述权重数据发送给所述主机端。
在本发明一个实施例中,所述主机端获取训练数据集的步骤,包括:
所述主机端获取初始训练集;
针对所述初始训练集进行预处理,得到所述训练数据集,所述预处理包括图像尺度变换、图像增强、图像均值滤波中的至少一种。
在本发明一个实施例中,所述待训练的目标检测模型包括:卷积层、残差块、池化层、上采样层组;所述待训练的目标检测模型的损失函数包括分类损失函数、置信度损失函数和偏移值损失函数。
在本发明一个实施例中,所述待训练的目标检测模型用于以所述训练数据集中的图像作为输入,通过卷积层、残差块、池化层和上采样组之后,得到特征图;
对所述特征图进行全局卷积,得到所述目标检测模型的分类结果。
在本发明一个实施例中,所述第二设备端将所述权重数据发送给所述主机端之后,所述方法还包括:
所述主机端将所述权重数据进行剪枝和量化操作,得到修正后的权重数据。
在本发明一个实施例中,所述第一设备端加载所述目标检测模型的权重数据,对所述待检测图像进行检测,得到所述待检测图像对应的目标检测框,包括:
所述第一设备端加载所述目标检测模型的权重数据,对所述待检测图像进行检测,得到多个检测候选框;
基于任一所述检测候选框的置信度和其余检测候选框的交并比,确定所述目标候选框。
一种基于异构计算的目标检测系统,所述系统包括主机端、分别与所述主机端连接的第一设备端和第二设备端;其中,
所述主机端,用于存储待检测图像和目标检测模型的权重数据;
所述第一设备端,用于从所述主机端获取所述待检测图像和目标检测模型的权重数据,加载所述目标检测模型的权重数据,对所述待检测图像进行检测,得到所述待检测图像对应的目标检测框,根据所述目标检测框得到所述待检测图像的目标检测结果;
所述第二设备端,用于训练得到目标检测模型的权重数据,发送给所述主机端。
在本发明一个实施例中,所述主机端进一步用于:获取训练数据集;发送给所述第二设备端;
所述第二设备端进一步用于:预先构建待训练的目标检测模型,并根据所述训练数据集训练所述待训练的目标检测模型,得到所述目标检测模型的权重数据。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法实施例的步骤。
本发明通过第一设备端从主机端获取待检测图像和目标检测模型的权重数据,第一设备端加载目标检测模型的权重数据,对待检测图像进行检测,得到待检测图像对应的目标检测框,根据目标检测框得到该待检测图像的目标检测结果。其中,目标检测模型的权重数据通过第二设备端训练得到,并存储到主机端。本发明通过第二设备端和主机端完成目标检测模型的训练,并通过第一设备端和主机端完成针对目标检测,实现基于异构平台的和深度神经网络的目标检测,提高目标检测的数据处理能力和效率。
附图说明
图1为本发明一个实施例中提供的基于异构计算的目标检测系统的逻辑框图;
图2为本发明一个实施例中提供的异构平台的结构框图;
图3为本发明另一个实施例中提供的异构平台的结构框图;
图4为本发明另一个实施例中提供的基于异构计算的目标检测系统的逻辑框图;
图5为本发明一个实施例中提供的基于异构计算的目标检测方法的流程示意图;
图6为本发明一个实施例中提供的目标检测算法模型的结构框图;
图7为本发明一个实施例中提供的目标检测算法模型的卷积层的结构框图;
图8为本发明一个实施例中提供的目标检测算法模型的残差块的结构框图;
图9为本发明一个实施例中提供的目标检测算法模型的训练流程示意图;
图10为本发明一个实施例中提供的目标检测算法模型的目标检测过程示意图;
图11为本发明一个实施例中提供的计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
需要说明的是,本发明实施例所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二”区分的对象在适当情况下可以互换,以使这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
本申请提供的基于异构计算的目标检测方法,可以应用于如图1所示的应用环境中。异构计算平台A用于执行目标检测,异构计算平台B用于进行目标检测模型的训练。通过采用异构计算平台,根据不同计算硬件的优势,分配给计算硬件不同的任务处理职能,充分发挥计算硬件的性能,节约硬件资源。
如图2所示,异构计算平台A用于执行目标检测,由主机端和第一设备端构成。其中,主机端包括有存储单元和控制单元,具有强大的串行处理能力,存储有数据图像和目标检测模型的权重数据,负责数据处理和数据传输。第一设备端包括计算单元,可以用于从主机端获取数据,执行目标检测的计算过程。第一设备端可以由低功耗、计算速度快、低延迟和硬件可编辑等功能他点的设备构成,例如FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)。由软件生成硬件组合逻辑,适应算法快速更新。另外,将算法直接由硬件电路实现,可以弥补延时高、带宽不够和并行计算能力不足等缺点,可以满足目标检测时具有实时性和持续性的要求。其中,FPGA具有并行计算能力以及超低功耗的特点,可以保持实时检测。
如图3所示,异构计算平台B用于进行目标检测模型的训练,包括主机端和第二设备端。其中,主机端为设备端提供数据和指令。第二设备端包括大量计算单元,处理重复性高的计算事件,如深度学习的矩阵运算,可以作为设备端来完成计算任务,并将计算结果的权重文件传回主机端存储。在一些情况下第二设备端可以是GPU(graphics processingunit,图形处理器)。
在一些实施例中,如图4所示,提供了一种基于异构计算的目标检测系统。该系统包括主机端、分别与主机端连接的第一设备端和第二设备端。
其中,主机端用于存储待检测图像和目标检测模型的权重数据。其中,目标检测模型是神经网络模型,权重数据是对该神经网络模型训练得到的。
第一设备端,用于从主机端获取所述待检测图像和目标检测模型的权重数据,加载目标检测模型的权重数据,对待检测图像进行检测,得到待检测图像对应的目标检测框,根据目标检测框得到待检测图像的目标检测结果。
第二设备端,用于训练得到目标检测模型的权重数据,发送给主机端。
主机端进一步用于:获取训练数据集;发送给第二设备端;第二设备端进一步用于:预先构建待训练的目标检测模型,并根据训练数据集训练待训练的目标检测模型,得到目标检测模型的权重数据。
上述实施例的基于异构计算的目标检测系统,通过第二设备端和主机端完成目标检测模型的训练,并通过第一设备端和主机端完成针对目标检测,实现基于异构平台的和深度神经网络的目标检测,提高目标检测的数据处理能力和效率。
在一个实施例中,如图5所示,提供了一种基于异构计算的目标检测方法,该方法应用于图1的异构计算平台A,执行基于异构计算和神经网络的目标检测过程,该方法包括以下步骤:
S110,第一设备端从主机端获取待检测图像和目标检测模型的权重数据。
其中,目标检测模型是神经网络模型,是异构计算平台B基于训练数据集训练得的。目标检测FPGA模型数的权重数据存储在主机端,可以被第一设备端获取并加载,以用于执行目标检测。
具体实现中,第一设备端用于执行目标检测的计算步骤,在执行目标检骤时,第一设备端可以从主机端获取待检测图像和预先训练的目标检测模型的权重数据。
在一些实施中,主机端可以预先对从第二设备端收到的权重数据进行剪枝和量化操作,修正权重数据,使得第一设备端有充足的计算余量。例如,主机端可以将第二设备端生成的权重文件进行剪枝操作,可以将权重文件4个权重分为一组,删除每组中最小的两个权重,以此达到权重平衡稀疏,并且不影响预测精度,加快运算速度。主机端还可以将剪枝后的权重文件进行量化操作,使用非对称量化将浮点数类型量化成整数类型,非对称量化能较好地处理分布不均匀的数据。通过剪枝和量化对权重文件进行平衡稀疏,获得细粒度稀疏性,再将数据低比特量化,可以有效地减少计算参数量。
S120,第一设备端加载所述目标检测模型的权重数据,对待检测图像进行检测,得到所述待检测图像对应的目标检测框;
其中,目标检测中,通常使用边界框(bounding box)来描述对象的空间位置,即检测框。在一些情况下,第一设备端可以识别出来多个候选框,并从中挑选除最适合的检测框作为目标检测框。
具体实现中,第一设备端可以加载目标检测模型的权重数据,并基于该目标检测模型,针对待检测图像执行目标检测,得到待检测对象的目标检测框。
例如,第一设备端可以识别出来多个检测候选框,并基于任一检测候选框的置信度和其余检测候选框的交并比,确定目标候选框。具体地,第一设备端可以通过非极大值抑制来确定目标候选框,通过计算最高置信度的候选框与其余候选的交并比,当交并比超过阈值时删除此候选框,重复至所有候选框都不能被删除为止。非极大值抑制可以在不影响其他类别候选框的条件下,有效的删除同类别的重叠候选框。
S120,根据目标检测框得到待检测图像的目标检测结果。
其中,目标检测结果可以是分类结果,也可以是回归结果,是基于目标检测模型的预先训练的检测目的确定的。
具体实现中,第一设备端可以基于目标检测模型的检测目标,输出该待检测图像的检测结果。
上述基于异构计算的目标检测方法中,通过第一设备端从主机端获取待检测图像和目标检测模型的权重数据,第一设备端加载目标检测模型的权重数据,对待检测图像进行检测,得到待检测图像对应的目标检测框,根据目标检测框得到待检测图像的目标检测结果。其中,目标检测模型的权重数据通过第二设备端训练得到,并存储到主机端。本发明通过第二设备端和主机端完成目标检测模型的训练,并通过第一设备端和主机端完成针对目标检测,实现基于异构平台的和深度神经网络的目标检测,提高目标检测的数据处理能力和效率。
在一个实施例中,如图6所示,提供了本申请使用的目标检测模型算法的结构框图。该目标检测模型使用全卷积残差网络的方法,去掉全连接层来减少参数量,用卷积层、残差块、池化层、上采样层组成目标检测模型。
参考图7,卷积层由卷积(Conv)、归一化(BN)和激活函数(ReLU)组成,卷积可以提取图像特征,归一化可以提高网络数据泛化能力,加快收敛速度,激活函数可以提高计算效率,保持数据稀疏性。
参考图8,残差块进行叠加提取图像特征,可以使模型更加注重某一粗细程度特征。对特征图分别进行不同尺寸的最大池化可以得到不同粗细的图像特征,进行拼接后模型可以更有效地检测多种尺寸的目标;上采样层双线性插值的方法,可以放大图像尺寸的同时保留图像特征。通过全局卷积和1*1卷积代替全连接层,可以有效地减少了参数量,保持模型稀疏性。
在一些情况下,损失函数可以是由分类损失函数Loss1,置信度损失函数Loss2和偏移值损失函数Loss3相加构成。分类损失函数采用MSE(Mean Squared Error,均方误差)进行分类;根据候选框与真实框的DIOU(Distance Intersection Over Union,距离交并比)值判断样本是否为正样本,当超过某一阈值为正样本,用1表示,反之为负样本,用0表示,再由二值交叉熵损失函数构造置信度损失函数Loss2。偏移值损失函数Loss3为候选框坐标与真实框坐标的均方误差。分类损失函数可以有效的使目标检测模型通过调整权重使输出分类结果为标签值;置信度损失函数可以调整候选框的中心位置,使候选框更靠近真实框;偏移值损失函数可以调整框的大小,使候选框尽可能的包裹目标。
其中,n为样本个数,y为标签值,h(x)为预测函数。
其中,A为真实框,B为候选框,b和bgt分别代表了预测框和真实框的中心点,p表示两点间的欧式距离,c代表候选框坐标和真实框坐标的最远距离。
其中,DIOU为候选框与真实框的距离交并比,gate为设定阈值。
其中,n为样本个数,当p为公式(4)所得,DIOU为公式(2)所得。
其中,n为样本个数,x、y、w、h分别为候选框的中心点x坐标、中心点y坐标、宽度、高度,xgt、ygt、wgt、hgt分别为真实框的中心点x坐标、中心点y、坐标、宽度。
Loss=Loss1+Loss2+Loss3 公式(7)
在一个实施例中,目标检测模型是在图1以及图3所示的异构计算平台B完成训练。如图9所示,该模型的训练过程包括:
步骤S210,主机端获取图像构造成初始数据集,并将数据集按照一定比例划分为测试集和训练集。
步骤S220,主机端对获取到的初始数据集进行预处理,得到用于训练目标检测模型的训练数据集。预处理包括图像尺度变换、图像增强、图像均值滤波中的至少一种。将图像尺寸统一大小,使用图像增强使图像变得清晰,使用均值滤波对图像进行去噪,优化图像。
其中,尺度变换,指的是将训练集的图像尺寸大小统一,有利于图像处理。图像增强,直接对RGB图像进行增强容易使颜色改变,因此将RGB图像转换成HSI图像,对I通道进行颜色增强,使目标更加突出,有利于目标检测,图像增强后再将HSI图像转换为RGB图像。均值滤波,由于图像增强后容易产生噪声,因此使用均值滤波可以去除噪声,使图像更加平滑,有利于图像处理。
步骤S230,在第二设备端构造图6所示的目标检测模型,目标检测模型的结构以及损失函数的构建方法在上述实施例中已经阐述,此处不再赘述。
步骤S240,目标检测模型训练。在第二设备端,将训练集中的图像作为输入,输入到步骤S230构建的待训练的目标检测模型,进行模型训练,以得到该目标检测模型的权重数据,并将该权重数据发送至主机端存储。以输入图像数据为512*512*3为例进行说明,其中512*512代表图像尺寸大小,3为RGB三通道。第一层卷积层(Convolutional)为3*3*32/1,其中3*3为卷积核大小,32为输出通道数,1代表卷积步长,输入通道数为上一层的输出通道数,padding为1。因此输入图像经过第一层卷积层后,生成512*512*32的特征图。第二层卷积层为3*3*64/2,其中3*3为卷积核大小,64为输出通道数,2代表卷积步长,输入通道数为上一层的输出通道数,padding为1,因此特征图经过第二层卷积层后为256*256*64,随后特征图经过残差块(Resdual Block),1X代表残差块个数为1,由于残差块将输入与输出进行相加,因此残差块叠加不会丢失图像特征,并且输入特征图尺寸与输出特征图尺寸保持一致,特征图尺寸仍为256*256*64。运用卷积层和残差块结合的方式,重复多次后得到16*16*1024的特征图,按照不同粗细特征的重要程度用不同数量残差块进行叠加可以使模型更加注重某一粗细程度特征。将特征图作为1*1*512/1卷积层的输入,减少通道数,缩小参数量,得到尺寸为16*16*512的特征图。对特征图分别进行3*3/1、6*6/1和9*9/1的最大池化(Maxpooling)层,得到不同粗细的图像特征,并将图像特征与输入进行拼接(Concatenate),可以使模型检测多种尺寸的目标。对特征图使用双线性插值的方法进行上采样(Upsample)操作,放大图像尺寸的同时保留图像特征,得到尺寸32*32*512的特征图,将特征图与8X残差块输出的特征图进行拼接,可以避免重要特征信息消失,得到尺寸为32*32*1024的特征图。对特征图进行全局卷积,卷积层为32*32*1024,最后使用1*1*N的卷积层对特征图进行卷积,其中N=(类别个数+候选框四个坐标+置信度)*候选框个数总和,得出目标检测模型输出的回归以及分类结果,通过全局卷积和1*1卷积代替全连接层,可以有效地减少了参数量,保持模型稀疏性。
步骤S250,目标检测模型优化。该步骤用于调整权重数值,优化模型。构建如图3所示的异构计算平台B,通过CPU作为主机端为设备端提供数据和指令,GPU作为设备端来完成计算任务。设定候选框,例如可以将图片分割成16*16个小网格,每个小网格的尺寸为32*32,且都有6个尺寸分别为16*16、16*32、32*16、48*48、48*32、32*48的候选框,使用不同尺寸候选框可以适应目标检测。设置上述公式(1)~(7)的损失函数Loss,目标检测函数通过迭代不断更新权重使Loss函数值趋于最小,Loss值越小则说明预测的候选框越接近真实框,并且迭代完成后生成权重文件存储在CPU中。
上述实施例的目标检测模型的训练方法,在异构计算平台B完成模型训练,有利于根据主机端和设备端的资源优势,分配不同的处理任务,节约计算资源。进一步地,目标检测模型使用全卷积残差网络,有利于提高特征提取的效率,并保持模型的稀疏性。
在一个实施例中,如图10所示,利用目标检测模型进行检测的步骤,包括:
步骤S310,构建如图2所示的异构计算平台A,由CPU继续作为主机端负责数据处理和数据传输。FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列),作为第一设备端来完成目标检测,并将目标检测结果输出。
步骤S320,权重剪枝和量化。为了使FPGA有充足的计算余量,由CPU将模型训练阶段生成的权重数据进行剪枝操作,以此达到权重平衡稀疏,并且不影响预测精度,加快运算速度。进一步的,由CPU将剪枝后的权重数据进行量化操作,使用非对称量化将32位的浮点数类型量化成8位的整数类型,非对称量化能较好地处理分布不均匀的数据。对模型权重数据进行剪枝和量化,可以有效地减少计算参数量。应当理解的是,该剪枝和量化阶段也可以在步骤S205之后,在主机端进行。
步骤S330,执行目标检测。CPU将权重数据和图像数据传到FPGA,FPGA将权重文件加载到计算中,每次预测只需进行一次前向计算,即可生成目标检测候选框,因此FPGA极强的并行计算能力以及超低功耗的特点,可以保持实时检测。
步骤S340,目标检测框筛选。使用非极大值抑制筛选出一个最适合的候选框,算出每个候选框的置信度,计算最高置信度的候选框与其余候选的IOU,当IOU超过阈值时删除此候选框,重复至所有候选框都不能被删除为止。非极大值抑制可以在不影响其他类别候选框的条件下,有效的删除同类别的重叠候选框。
步骤S350,输出检测结果。在FPGA完成目标检测任务后,可直接将目标检测结果直接传输到输出端,输出端将目标检测结果进行显示,可以实时监测图像变化,快速做出响应,节省人力资源。
上述实施例的目标检测方法,通过第二设备端和主机端完成目标检测模型的训练,并通过第一设备端和主机端完成针对目标检测,实现基于异构平台的和深度神经网络的目标检测,提高目标检测的数据处理能力和效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
本发明可以部署于计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器、处理器,如图11所示。需要指出的是,图11仅示出了具有存储器、处理器组件的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。存储器(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器通常用于存储安装于计算机设备的操作系统和各类应用软件,例如模型数据、权重数据、图像数据等。此外,存储器还可以用于暂时地存储已经输出或者将要输出的各类数据。处理器在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器通常用于控制计算机设备的总体操作。本实施例中,处理器用于运行存储器中存储的程序代码或者处理数据,以实现一种基于异构计算的目标检测方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于异构计算的目标检测方法,其特征在于,所述方法包括:
第一设备端从主机端获取待检测图像和目标检测模型的权重数据;
所述第一设备端加载所述目标检测模型的权重数据,对所述待检测图像进行检测,得到所述待检测图像对应的目标检测框;
根据所述目标检测框得到所述待检测图像的目标检测结果;
其中,所述目标检测模型的权重数据通过第二设备端训练得到,并存储到所述主机端。
2.根据权利要求1所述的方法,其特征在于,所述第一设备端从主机端获取待检测图像和目标检测模型的权重数据之前,所述方法还包括:
所述主机端获取训练数据集,
所述主机端将所述训练数据集发送至第二设备端,所述第二设备端预先构建待训练的目标检测模型,并根据所述训练数据集训练所述待训练的目标检测模型,得到所述目标检测模型的权重数据;
所述第二设备端将所述权重数据发送给所述主机端。
3.根据权利要求2所述的方法,其特征在于,所述主机端获取训练数据集的步骤,包括:
所述主机端获取初始训练集;
针对所述初始训练集进行预处理,得到所述训练数据集,所述预处理包括图像尺度变换、图像增强、图像均值滤波中的至少一种。
4.根据权利要求2所述的方法,其特征在于,所述待训练的目标检测模型包括:卷积层、残差块、池化层、上采样层组;所述待训练的目标检测模型的损失函数包括分类损失函数、置信度损失函数和偏移值损失函数。
5.根据权利要求4所述的方法,其特征在于,所述方法包括:
所述待训练的目标检测模型用于以所述训练数据集中的图像作为输入,通过卷积层、残差块、池化层和上采样组之后,得到特征图;
对所述特征图进行全局卷积,得到所述目标检测模型的分类结果。
6.根据权利要求2任一项所述的方法,其特征在于,所述第二设备端将所述权重数据发送给所述主机端之后,所述方法还包括:
所述主机端将所述权重数据进行剪枝和量化操作,得到修正后的权重数据。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述第一设备端加载所述目标检测模型的权重数据,对所述待检测图像进行检测,得到所述待检测图像对应的目标检测框,包括:
所述第一设备端加载所述目标检测模型的权重数据,对所述待检测图像进行检测,得到多个检测候选框;
基于任一所述检测候选框的置信度和其余检测候选框的交并比,确定所述目标候选框。
8.一种基于异构计算的目标检测系统,其特征在于,所述系统包括主机端、分别与所述主机端连接的第一设备端和第二设备端;其中,
所述主机端,用于存储待检测图像和目标检测模型的权重数据;
所述第一设备端,用于从所述主机端获取所述待检测图像和目标检测模型的权重数据,加载所述目标检测模型的权重数据,对所述待检测图像进行检测,得到所述待检测图像对应的目标检测框,根据所述目标检测框得到所述待检测图像的目标检测结果;
所述第二设备端,用于训练得到目标检测模型的权重数据,发送给所述主机端。
9.根据权利要求8所述的基于异构计算的目标检测系统,其特征在于,所述主机端进一步用于:获取训练数据集;发送给所述第二设备端;
所述第二设备端进一步用于:预先构建待训练的目标检测模型,并根据所述训练数据集训练所述待训练的目标检测模型,得到所述目标检测模型的权重数据。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310423265.1A CN116580183A (zh) | 2023-04-18 | 2023-04-18 | 基于异构计算的目标检测方法、系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310423265.1A CN116580183A (zh) | 2023-04-18 | 2023-04-18 | 基于异构计算的目标检测方法、系统和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116580183A true CN116580183A (zh) | 2023-08-11 |
Family
ID=87533113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310423265.1A Pending CN116580183A (zh) | 2023-04-18 | 2023-04-18 | 基于异构计算的目标检测方法、系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116580183A (zh) |
-
2023
- 2023-04-18 CN CN202310423265.1A patent/CN116580183A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111652321B (zh) | 一种基于改进yolov3算法的海上船舶检测方法 | |
CN113033537B (zh) | 用于训练模型的方法、装置、设备、介质和程序产品 | |
CN111488985B (zh) | 深度神经网络模型压缩训练方法、装置、设备、介质 | |
WO2023193401A1 (zh) | 点云检测模型训练方法、装置、电子设备及存储介质 | |
CN110738235B (zh) | 肺结核判定方法、装置、计算机设备及存储介质 | |
CN112529146B (zh) | 神经网络模型训练的方法和装置 | |
WO2023116632A1 (zh) | 基于时空记忆信息的视频实例分割方法和分割装置 | |
CN111680755B (zh) | 医学图像识别模型构建及医学图像识别方法、装置、介质及终端 | |
US11568212B2 (en) | Techniques for understanding how trained neural networks operate | |
CN111223128A (zh) | 目标跟踪方法、装置、设备及存储介质 | |
CN113902010A (zh) | 分类模型的训练方法和图像分类方法、装置、设备和介质 | |
CN116194933A (zh) | 处理系统、处理方法以及处理程序 | |
CN113011532A (zh) | 分类模型训练方法、装置、计算设备及存储介质 | |
CN116452810A (zh) | 一种多层次语义分割方法、装置、电子设备及存储介质 | |
CN113139618B (zh) | 一种基于集成防御的鲁棒性增强的分类方法及装置 | |
CN116543295A (zh) | 一种基于退化图像增强的轻量化水下目标检测方法及系统 | |
CN113326847B (zh) | 一种基于全卷积神经网络的遥感图像语义分割方法及装置 | |
CN114202746B (zh) | 路面状态识别方法、装置、终端设备及存储介质 | |
CN116306879A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN116580183A (zh) | 基于异构计算的目标检测方法、系统和介质 | |
CN112598663B (zh) | 基于视觉显著性的粮食害虫检测方法和装置 | |
CN115223033A (zh) | 一种合成孔径声呐图像目标分类方法及系统 | |
CN111767204B (zh) | 溢出风险检测方法、装置及设备 | |
Furuta et al. | An Efficient Implementation of FPGA-based Object Detection Using Multi-scale Attention | |
Wang et al. | FPGA‐Based Real‐Time Embedded Fish Embryo Detection System |
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 |