CN112749726B - 目标检测模型的训练方法、装置、计算机设备和存储介质 - Google Patents
目标检测模型的训练方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112749726B CN112749726B CN202010118926.6A CN202010118926A CN112749726B CN 112749726 B CN112749726 B CN 112749726B CN 202010118926 A CN202010118926 A CN 202010118926A CN 112749726 B CN112749726 B CN 112749726B
- Authority
- CN
- China
- Prior art keywords
- prediction
- loss
- frame
- target
- frames
- 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
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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- 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
- 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)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种目标检测模型的训练方法、装置、计算机设备和存储介质。所述方法包括:获取样本图像及样本图像中多个目标对应的标注框;通过目标检测模型对样本图像进行目标检测,获得样本图像中多个目标对应的预测框;根据目标所对应的预测框与标注框之间的差异确定第一损失;根据样本图像中相同目标所对应的预测框之间的重叠程度确定第二损失;根据样本图像中不同目标所对应的预测框之间的重叠程度确定第三损失度;根据第一损失、第二损失及第三损失调整目标检测模型的模型参数后,返回获取样本图像及样本图像中多个目标对应的标注框的步骤继续训练,直至获得训练好的目标检测模型,本申请提供的方案能够提升图像中目标较为拥挤时的检测效果。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种目标检测模型的训练方法、装置、计算机设备和存储介质。
背景技术
目标检测是计算机视觉领域的图像处理技术,目标检测可以从图像中定位出目标。在目标检测任务中,通常会对目标检测出多个预测框,在进行目标检测时,对于输出的多个预测框,可以采用非极大值抑制(Non Maximum Suppression,NMS)技术进行后处理,去除多余的预测框之后得到各个目标对应的最终检测结果。
发明人发现,传统的目标检测算法主要是根据各个预测框与标注框之间的差异来进行网络训练的,没有将上述的后处理过程加入到训练过程中,导致在检测目标较为拥挤的图像时,采用NMS算法对输出的多个预测框进行后处理得到的检测结果存在漏掉了正确的预测框、保留了错误的预测框的问题,检测效果不太理想。
发明内容
基于此,有必要针对上述技术问题,提供一种能够在图像中目标较为拥挤的场景下提升检测效果的目标检测模型的训练方法、装置、计算机设备和存储介质。
一种目标检测模型的训练方法,所述方法包括:
获取样本图像及所述样本图像中多个目标对应的标注框;
通过目标检测模型对所述样本图像进行目标检测,获得所述样本图像中多个目标对应的预测框,各所述目标对应的预测框的数量为至少一个;
根据所述目标所对应的预测框与标注框之间的差异确定第一损失;
根据所述样本图像中相同目标所对应的预测框之间的重叠程度确定第二损失,所述第二损失用于增大所述目标检测模型输出的相同目标所对应的预测框之间的重叠程度;
根据所述样本图像中不同目标所对应的预测框之间的重叠程度确定第三损失,所述第三损失用于减小所述目标检测模型输出的不同目标所对应的预测框之间的重叠程度;
根据所述第一损失、所述第二损失及所述第三损失调整所述目标检测模型的模型参数后,返回所述获取样本图像及所述样本图像中多个目标对应的标注框的步骤继续训练,直至获得训练好的目标检测模型。
一种目标检测模型的训练装置,所述装置包括:
获取模块,用于获取样本图像及所述样本图像中多个目标对应的标注框;
检测模块,用于通过目标检测模型对所述样本图像进行目标检测,获得所述样本图像中多个目标对应的预测框,各所述目标对应的预测框的数量为至少一个;
第一损失确定模块,用于根据所述目标所对应的预测框与标注框之间的差异确定第一损失;
第二损失确定模块,用于根据所述样本图像中相同目标所对应的预测框之间的重叠程度确定第二损失,所述第二损失用于增大所述目标检测模型输出的相同目标所对应的预测框之间的重叠程度;
第三损失确定模块,用于根据所述样本图像中不同目标所对应的预测框之间的重叠程度确定第三损失,所述第三损失用于减小所述目标检测模型输出的不同目标所对应的预测框之间的重叠程度;
调整模块,用于根据所述第一损失、所述第二损失及所述第三损失调整所述目标检测模型的模型参数后,返回所述获取样本图像及所述样本图像中多个目标对应的标注框的步骤继续训练,直至获得训练好的目标检测模型。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取样本图像及所述样本图像中多个目标对应的标注框;
通过目标检测模型对所述样本图像进行目标检测,获得所述样本图像中多个目标对应的预测框,所述目标对应的预测框的数量为至少一个;
根据所述目标所对应的预测框与标注框之间的差异确定第一损失;
根据所述样本图像中相同目标所对应的预测框之间的重叠程度确定第二损失,所述第二损失用于增大所述目标检测模型输出的相同目标所对应的预测框之间的重叠程度;
根据所述样本图像中不同目标所对应的预测框之间的重叠程度确定第三损失,所述第三损失用于减小所述目标检测模型输出的不同目标所对应的预测框之间的重叠程度;
根据所述第一损失、所述第二损失及所述第三损失调整所述目标检测模型的模型参数后,返回所述获取样本图像及所述样本图像中多个目标对应的标注框的步骤继续训练,直至获得训练好的目标检测模型。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取样本图像及所述样本图像中多个目标对应的标注框;
通过目标检测模型对所述样本图像进行目标检测,获得所述样本图像中多个目标对应的预测框,所述目标对应的预测框的数量为至少一个;
根据所述目标所对应的预测框与标注框之间的差异确定第一损失;
根据所述样本图像中相同目标所对应的预测框之间的重叠程度确定第二损失,所述第二损失用于增大所述目标检测模型输出的相同目标所对应的预测框之间的重叠程度;
根据所述样本图像中不同目标所对应的预测框之间的重叠程度确定第三损失,所述第三损失用于减小所述目标检测模型输出的不同目标所对应的预测框之间的重叠程度;
根据所述第一损失、所述第二损失及所述第三损失调整所述目标检测模型的模型参数后,返回所述获取样本图像及所述样本图像中多个目标对应的标注框的步骤继续训练,直至获得训练好的目标检测模型。
上述目标检测模型的训练方法、装置、计算机设备和存储介质,在训练过程中,不仅通过第一损失考虑了预测框与标注框之间的差异,还考虑了相同目标之间的重叠程度以及不同目标之间的重叠程度,其中,第二损失用于增大相同目标所对应的预测框之间的重叠程度,能够解决拥挤场景中保留了相同目标的多余预测框的问题,第三损失用于减小不同目标所对应的预测框之间的重叠程度,能够解决拥挤场景中漏掉了不同目标正确的预测框的问题。这样,通过第一损失、第二损失和第三损失调整模型参数得到的目标检测模型,能够拉近相同目标对应的多个预测框,重叠面积会变大,从而减少采用极大值抑制技术进行后处理时的误检,还能够推远不同目标对应的预测框,重叠面积会变小,从而减少采用极大值抑制技术进行后处理时的漏检,有效提升了检测效果。
附图说明
图1为一个实施例中目标检测模型的训练方法的应用环境图;
图2为一个实施例中对目标检测模型进行训练的示意图;
图3为一个实施例中采用目标检测模型进行目标检测的示意图;
图4为一个实施例中目标检测模型的训练方法的流程示意图;
图5为一个实施例中根据样本图像中相同目标所对应的预测框之间的重叠程度确定第二损失的流程示意图;
图6为一个实施例中将对应同一目标的预测框拉近的示意图;
图7为一个实施例中根据样本图像中不同目标所对应的预测框之间的重叠程度确定第三损失的流程示意图;
图8为一个实施例中将不同目标的预测框推远的示意图;
图9为一个实施例中目标检测模型的训练装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的目标检测模型的训练方法,可以应用于如图1所示的应用环境中,该实施环境可以包括至少一个计算机设备。其中,该多个计算机设备可以通过有线连接方式实现数据交互,也可以通过无线网络连接方式实现数据交互,本申请实施例对此不作限定。
在本申请实施例中,计算机设备101可以根据样本图像对目标检测模型进行模型训练,生成训练好的目标检测模型,该过程是目标检测模型的训练过程。具体地,计算机设备101可以获取样本图像及样本图像中多个目标对应的标注框;通过目标检测模型对样本图像进行目标检测,获得样本图像中多个目标对应的预测框,目标对应的预测框的数量为至少一个;根据目标所对应的预测框与标注框之间的差异确定第一损失;根据样本图像中相同目标所对应的预测框之间的重叠程度确定第二损失,第二损失用于增大目标检测模型输出的相同目标所对应的预测框之间的重叠程度;根据样本图像中不同目标所对应的预测框之间的重叠程度确定第三损失,第三损失用于减小目标检测模型输出的不同目标所对应的预测框之间的重叠程度;根据第一损失、第二损失及第三损失调整目标检测模型的模型参数后,返回获取样本图像及样本图像中多个目标对应的标注框的步骤继续训练,直至获得训练好的目标检测模型。
计算机设备101中可以存储有训练好的目标检测模型,该计算机设备101可以基于存储的该目标检测模型对待检测图像进行目标检测,获得待检测图像中各目标对应的检测结果。在另一种可能实现方式中,该计算机设备101也可以在有目标检测需求时调用其它计算机设备上的目标检测模型进行目标检测的过程,本申请实施例对此不作限定,下述均以该计算机设备101存储有目标检测模型为例进行说明。
在一种可能实现方式中,该目标检测模型可以在该计算机设备101上训练得到,也可以在其他计算机设备上训练得到,例如,该其他计算机设备可以为计算机设备102。计算机设备102还可以将该训练好的目标检测模型封装后发送至该计算机设备101,从而计算机设备101可以接收并存储该训练好的目标检测模型。本申请实施例对该目标检测模型的训练设备不作限定。
计算机设备101和计算机设备102可以是终端,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。计算机设备101和计算机设备102也可以是服务器,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
图2示出了一个实施例中对目标检测模型进行训练的示意图。参照图2,具体流程如下,首先通过目标检测模型的卷积神经网络提取图像特征,基于提取的图像特征对样本图像中的多个目标分别预测出多个预测框,根据目标的预测框与真实框之间的差异构建损失函数Loss1;根据样本图像中相同目标所对应的预测框之间的重叠程度确定第二损失,根据样本图像中不同目标所对应的预测框之间的重叠程度确定第三损失,第二损失和第三损失可以统称为NMS Loss;根据Loss1及NMS Loss调整所述目标检测模型的模型参数后重复上述过程继续训练,直至获得训练好的目标检测模型。
图3示出了一个实施例中采用目标检测模型进行目标检测的示意图。参照图3,将待检测图像输入按照图2所示的方式进行训练获得的目标检测模型中,通过目标检测模型对待检测图像中的目标输出多个预测框及对应的置信度,然后采用NMS算法根据多个预测框之间的重叠程度、置信度对多个预测框进行后处理,获得待检测图像中各个目标对应的最终的检测结果。
NMS算法用于从同一个目标对应的多个预测框中剔除冗余的、置信度较低的预测框,NMS算法的流程具体如下:
1、按照对应的目标将所有预测框划分,获得多个预测框集合;
2、在每个预测框集合内,根据各个预测框的置信度进行降序排列,得到每个目标对应的排序结果;
3、从当前目标g的排序结果中选取置信度最高的预测框x,计算该预测框与排序结果中其他预测框y的重叠面积,从排序结果中剔除重叠面积大于预设阈值的预测框y,保留重叠面积小于预设阈值的其他预测框,并将x作为当前目标的一个最终结果后从当前目标g的排序结果中取出;
4、重复3中的迭代操作,直至该排序结果中所有预测框都完成筛选后,得到当前目标g对应的最终结果;
5、对每个预测框集合均执行3、4中的迭代操作,直至所有预测框集合都完成筛选。
图3的目标检测过程在进行NMS后处理时是依据多个预测框之间的重叠面积和置信度,由于图2的训练过程考虑了后续的NMS过程,将NMS过程加入到目标检测模型的训练过程中,使得训练得到的目标检测模型还会考虑输出的多个预测框之间的重叠程度,拉近相同目标对应的多个预测框,推远不同目标对应的预测框,能够解决拥挤场景下的目标检测任务存在的漏检和误检的问题。
在一个实施例中,如图4所示,提供了一种目标检测模型的训练方法,该目标检测模型的训练方法可以应用于计算机设备,该计算机设备可以为上述计算机设备101,也可以为上述计算机设备102,本申请实施例对此不作限定。参照图4,该人目标检测模型的训练方法可以包括以下步骤:
S402,获取样本图像及样本图像中多个目标对应的标注框。
在本申请实施例中,计算机设备可以根据样本图像对目标检测模型进行模型训练,得到训练好的目标检测模型,从而可以基于该训练好的目标检测模型对待检测图像进行目标检测。
其中,样本图像的数量是多个,计算机设备可以从本地获取多个样本图像,也可以从其他计算机设备获取多个样本图像进行模型训练。本申请实施例对样本图像的获取方式不作限定。计算机设备每次都从该多个样本图像中选取一个样本图像完成一次训练过程。样本图像中的目标的数量为至少一个,可以是一个目标,也可以是多于一个目标;样本图像中的多个目标可以是相同类别的目标,也可以是不同类别的目标。
目标检测模型的训练过程可以采用有监督学习的方式,计算机设备可以获取多个样本图像及样本图像的标签信息完成模型训练过程。样本图像中目标对应的标注框,即为样本图像对应的标签信息,该标签信息一般是指人工标记的该样本图像中目标对应的真实检测框的坐标信息。
S404,通过目标检测模型对样本图像进行目标检测,获得样本图像中多个目标对应的预测框,目标对应的预测框的数量为至少一个。
计算机设备获取到样本图像后,可以基于该样本图像对最初始的目标检测模型进行训练。初始的目标检测模型的模型参数为初始值,在训练过程中模型参数得到调整,使得调整后的目标检测模型能够更准确地从图像中定位出目标。
该目标检测过程中,计算机设备可以通过当前的目标检测模型基于当前的模型参数对样本图像进行目标检测,获得样本图像中每个目标对应的预测框,当前的目标检测模型输出的每个目标对应的预测框的数量可以是一个或多于一个。并且,每个预测框都具备三类输出信息:预测框的坐标信息(包括预测框的中心点坐标(x,y)、预测框的宽w和高h)、预测框的置信度s以及预测框中目标属于某一类别的类别概率p。
下面对通过目标检测模型对样本图像进行目标检测,获得样本图像中目标对应的预测框的步骤进行详细说明,在一个实施例中,具体可以通过下述步骤一至步骤三实现:
步骤一、将样本图像输入至目标检测模型。
计算机设备可以将当前获取的样本图像输入至当前的目标检测模型,计算机设备还可以对样本图像进行数据增强和归一化等预处理之后再输入至目标检测模型。
步骤二、通过目标检测模型中的特征提取网络,对样本图像进行特征提取,获得样本图像对应的图像特征。
其中,目标检测模型的特征提取网络可以是卷积神经网络,计算机设备可以通过对样本图像进行多次卷积处理,来提取该样本图像的图像特征。在一个可能的实施例中,目标检测模型可以采用R-CNN、Fast R-CNN、Faster R-CNN等网络提取图像特征,本申请实施例对该目标检测模型具体采用哪种卷积神经网络不作限定。
图像特征可以用于反映图像的特性,根据图像的特性可以对该图像进行目标检测,在此过程中,图像特征是进行目标检测的依据,也就是目标定位与目标分类的依据。计算机设备在对每个样本图像进行处理时,均可以将样本图像输入至目标检测模型,继而通过目标检测模型中的卷积神经网络对该样本图像进行多次卷积,得到该样本图像对应的图像特征,以便基于该图像特征进行后续处理。
步骤三、通过目标检测模型中的分类回归层,根据图像特征获得样本图像中多个目标对应的预测框。
其中,目标检测模型的分类回归层与特征提取网络连接,可以获取特征提取网络输出的图像特征,回归网络层可以包括两个不同的全连接层,一个用于定位样本图像中的目标,一个用于确定目标所属的类别。计算机设备可以从样本图像中提取多个候选区域,并将该候选区域映射至图像特征上,获得每个候选区域对应的区域特征。计算机设备可以基于该两个全连接层,对各个区域特征进行计算,分别获得候选区域中目标对应的预测框的坐标信息及类别信息。
由于从样本图像中选取的候选区域的数量非常多,重叠面积也比较高,所以样本图像中的同一个目标可能对应了多个候选区域,这样导致样本图像中的同一目标可能被检测多次,就对应了多个预测框。
在本实施例中,样本图像输入目标检测模型后输出样本图像中各个目标对应的预测框,样本图像中的各个目标可能对应了多个预测框。
S406,根据目标所对应的预测框与标注框之间的差异确定第一损失。
在本申请实施例中,在训练目标检测模型时,会考虑传统训练方式中的损失,即第一损失,第一损失是根据输出的预测框与标注框之间的差异确定的,第一损失用于缩小目标检测模型输出的预测框与标注框之间的差异,将目标检测模型朝准确率更高的方向调整。计算机设备可以根据当前目标检测模型输出的预测框与标注框之间的差异,对目标检测模型的模型参数进行调整,以使得调整后的目标检测模型能够从图像中定位出更准确的检测框。
在一个实施例中,根据目标所对应的预测框与标注框之间的差异确定第一损失,包括:获取目标对应的各个预测框的预测坐标信息;获取目标对应的标注框的真实坐标信息;根据预测坐标信息与相应真实坐标信息之间的差异确定第一损失。
前文提到,目标检测模型对样本图像进行处理后输出了三类信息,其中包括预测框对应的坐标信息,样本图像还携带了标签信息,即每个目标对应的标注框的坐标信息,因此,计算机设备可以根据当前目标检测模型输出的样本图像中目标对应的预测框的预测坐标信息,并获取该样本图像中目标对应的标注框的真实坐标信息,基于预测坐标信息与真实坐标信息之间的差异确定第一损失。当同一目标对应多个预测框时,可以对该同一目标对应的多个预测框的预测坐标信息与真实坐标信息之间的差异进行求和,获得该同一目标对应的第一损失。当样本图像中存在多个不同的目标时,可以将各个目标对应的第一损失进行求和,获得目标检测模型对样本图像进行处理后确定与该样本图像对应的第一损失。
在一个实施例中,由于置信度较低的预测框对最终的检测性能影响较小,计算机设备还可以对置信度较低的预测框赋予较低的权重,按照置信度对同一目标对应的多个预测框的预测坐标信息与真实坐标信息之间的差异进行加权求和,获得该同一目标对应的第一损失。
S408,根据样本图像中相同目标所对应的预测框之间的重叠程度确定第二损失,第二损失用于增大目标检测模型输出的相同目标所对应的预测框之间的重叠程度。
在本申请实施例中,在训练目标检测模型时,除了考虑传统训练方式中的损失,即第一损失之外,还会考虑后续的NMS过程,也就是将后续的NMS过程也加入到训练过程,NMS主要是按照预测框之间的重叠程度来抑制冗余的预测框,因此在本申请提供的实施例中,训练过程会考虑输出的多个预测框之间的重叠程度,根据多个预测框之间的重叠程度构建额外的第二损失及第三损失,从而改善拥挤场景下图像中的目标检测存在误检和漏检的问题。为了表示训练过程考虑了NMS,第二损失及后文的第三损失可以统称为NMS Loss。
两个预测框之间的重叠程度表明了两个预测框之间的重复率,也表明了两个预测框之间的距离,重叠程度越大,说明两个预测框之间的距离越近,重叠程度越小,两个预测框之间的距离越远。重叠程度可以用两个预测框的重叠面积来表示,还可以用两个预测框之间的交集面积与两个预测框之间的并集面积之比来表示,即IoU(Intersection-over-Union)。
前文提到NMS算法是根据预测框的重叠程度来剔除冗余的、置信度较低的预测框,当重叠面积大于预设阈值时,预测框会被保留的置信度较高的预测框抑制。反之,当重叠面积小于预设阈值时,预测框会被保留下来,在拥挤场景中,图像中的目标十分拥挤,模型对同一个目标输出的多个预测框之间的距离可能小于预设阈值而均被保留下来,造成了误检,因此,计算机设备可以根据样本图像中相同目标所对应的预测框之间的重叠程度确定第二损失,第二损失用于增大目标检测模型输出的相同目标所对应的预测框之间的重叠程度。
在一个实施例中,根据样本图像中相同目标所对应的预测框之间的重叠程度确定第二损失,包括:按照所对应的目标将预测框划分,得到每个目标对应的预测框集合;迭代执行将当前目标对应的预测框集合中置信度最大的预测框作为当前目标对应的匹配预测框,将当前目标对应的预测框集合中的其他预测框依次作为当前处理框,根据当前处理框与匹配预测框之间的第一重叠程度计算当前处理框与匹配预测框之间的拉近损失之后,从预测框集合中剔除匹配预测框的步骤,直至当前目标对应的预测框集合为空;融合各当前处理框与匹配预测框之间的拉近损失,得到用于增大当前目标所对应的预测框之间的重叠程度的第二损失。
在训练过程中,通过目标检测模型对样本图像进行处理,计算机设备可以获得输出的所有预测框以及各个预测框所对应的目标。为了减少误检,目标检测模型输出的相同目标对应的多个预测框之间的重叠程度应该被尽量增大,也就是相同目标对应的多个预测框应该被拉近,目标检测模型应当朝这样的方向去调整,为此设计的第二损失正是结合了NMS过程,将当前目标对应的预测框集合中置信度最大的预测框作为当前目标对应的匹配预测框,将当前目标对应的预测框集合中的其他预测框依次作为当前处理框,根据当前处理框与匹配预测框之间的第一重叠程度计算当前处理框与匹配预测框之间的拉近损失之后,从预测框集合中剔除匹配预测框,通过该拉近损失,能够拉近置信度最高的预测框与对应相同目标的其他预测框。
如图5所示,为一个实施例中根据样本图像中相同目标所对应的预测框之间的重叠程度确定第二损失的流程示意图。参照图5,包括以下步骤:
S502,获取目标检测模型输出的所有预测框,构成全量预测框集合B。
S504,从B中获取与某个目标g对应的预测框,构成预测框集合Ug。
S506,从预测框集合Ug中选取置信度s最大的预测框作为当前目标g对应的匹配预测框bmax。
S508,依次遍历预测框集合Ug中的其他预测框,作为当前处理框b。
S510,判断当前处理框b与匹配预测框bmax之间的第一重叠程度IoU(b,bmax)是否大于预设阈值N;若否,则执行步骤S512,若是,则执行步骤S514。
S512,计算当前处理框b与匹配预测框bmax之间的拉近损失Loss_pull。
S514,从预测框集合Ug中剔除当前处理框b。
S516,遍历完成时,从预测框集合Ug中剔除匹配预测框bmax之后,重复S506-S516中的步骤,直至预测框集合Ug为空时,执行步骤S518。
S518,融合执行S506至S516步骤获得的各个拉近损失,得到当前目标g所对应的第二损失。
返回S504,从B中获取与另一个目标g’对应的预测框,构成预测框集合Ug’后继续执行,直至获得样本图像中每个目标所对应的第二损失。
在一个实施例中,当前处理框与匹配预测框之间的拉近损失与第一重叠程度成反相关,且与当前处理框对应的置信度成正相关。
具体地,当前处理框与匹配预测框之间的拉近损失与第一重叠程度成反相关,说明对于同一个目标的两个预测框,重叠程度越小,则拉近损失越大,重叠程度越大,则拉近损失会越小。在训练的过程中,将拉近损失往减小的方向调整,就是将目标检测模型输出的相同目标对应的多个预测框向重叠程度增大的方向去调整,也就是将两个预测框拉近,这样训练一段时间获得目标检测模型输出的相同目标的多个预测框之间的重叠程度就会增大,从而减少误检。
此外,由于置信度较低的预测框对最终检测性能的影响较小,对置信度较小的预测框可以赋予较低的权重,减小对应的拉近损失,因此设计的拉近损失还可以与当前处理框对应的置信度成正相关。
在一个实施例中,当前处理框与匹配预测框之间的拉近损失通过以下公式确定:
Loss_pull(b,bmax)=-ln(1-N+IoU(b,bmax))*s;
其中,bmax表示当前目标对应的匹配预测框,b表示当前处理框,IoU(b,bmax)表示当前处理框b与匹配预测框bmax之间的第一重叠程度,N表示用于进行非极大值抑制处理的预设阈值,s表示当前处理框b的置信度,ln表示指数函数,Loss_pull(b,bmax)表示当前处理框b与匹配预测框bmax之间的拉近损失。
如图6所示,为一个实施例中通过Loss_pull将对应同一目标的预测框拉近的示意图。参照图6,bmax为正确的预测框,通过Loss_pull增大了b与bmax之间的重叠面积,也就是拉近了b与bmax,使得b会被bmax抑制,从而减少了误检。
S410,根据样本图像中不同目标所对应的预测框之间的重叠程度确定第三损失,第三损失用于减小目标检测模型输出的不同目标所对应的预测框之间的重叠程度。
类似地,前文提到NMS算法是根据预测框的重叠程度来剔除冗余的、置信度较低的预测框,当重叠面积大于预设阈值时,预测框会被保留的置信度较高的预测框抑制。反之,当重叠面积小于预设阈值时,预测框会被保留下来,在拥挤场景中,图像中的不同目标十分拥挤,模型对不同目标输出的多个预测框之间的距离可能大于预设阈值而被抑制,造成了漏检,因此,计算机设备可以根据不同目标所对应的预测框之间的重叠程度确定第三损失,第三损失用于减小目标检测模型输出的不同目标所对应的预测框之间的重叠程度。
在一个实施例中,根据目标对应的预测框,获得全量预测框集合;迭代执行将全量预测框集合中置信度最大的预测框,作为当前处理框;遍历全量预测框集合中与当前处理框之间的第二重叠程度大于预设阈值的预测框;当遍历的预测框与当前处理框对应不同目标时,则根据当前处理框与遍历的预测框之间的第二重叠程度计算当前处理框与遍历的预测框之间的推开损失之后,从全量预测框集合中剔除当前处理框的步骤,直至全量预测框集合为空;融合各当前处理框与遍历的预测框之间的推开损失,得到用于减小不同目标所对应的预测框之间的重叠程度的第三损失。
为了减少漏检,目标检测模型输出的不同目标对应的多个预测框之间的重叠程度应该被尽量减小,也就是不同目标对应的多个预测框应该被拉远,目标检测模型应当朝这样的方向去调整,为此设计的第三损失正是结合了NMS过程,将全量预测框集合中置信度最大的预测框,作为当前处理框;遍历全量预测框集合中与当前处理框之间的第二重叠程度大于预设阈值的预测框;当遍历的预测框与当前处理框对应不同目标时,则根据当前处理框与遍历的预测框之间的第二重叠程度计算当前处理框与遍历的预测框之间的推开损失之后,从全量预测框集合中剔除当前处理框,通过该推开损失,能够推远置信度最高的预测框与对应不同目标的其他预测框。
如图7所示,为一个实施例中根据样本图像中不同目标所对应的预测框之间的重叠程度确定第三损失的流程示意图。参照图7,包括以下步骤:
S702,根据各目标对应的预测框,获得全量预测框集合B。
S704,从B中获取置信度最大的预测框,作为当前处理框b。
S706,依次遍历B中的其他预测框,作为当前遍历的预测框bi。
S708,判断遍历的预测框bi与当前处理框b之间的第二重叠程度IoU(bi,b)是否大于预设阈值N;若是,则执行步骤S710;若否,则遍历下一个预测框。
S710,检查遍历的预测框bi与当前处理框b是否对应了相同目标g;若是,执行步骤S714;若否,则执行步骤S712。
S712,根据IoU(bi,b)计算当前处理框与遍历的预测框之间的推开损失Loss_push。
S714,从全量预测框集合B中剔除遍历的预测框bi。
S716,遍历完成时,从B中剔除当前处理框b之后,返回S704重复执行,直至全量预测框集合B为空时,执行步骤S718。
S718,融合执行S704至S716步骤获得的各个推开损失,得到整个样本图像对应的第三损失。
在一个实施例中,上述方法还包括:当遍历的预测框与当前处理框对应相同目标时,则直接从全量预测框集合中剔除遍历的预测框。
由于NMS过程本身就会对重叠面积大于预设阈值的预测框进行抑制,因此计算机设备在遍历其他预测框时,若遍历的预测框与置信度最高的当前处理框之间的重叠程度大于预设阈值且对应了相同的目标,计算机设备可以不计算该遍历的预测框与当前处理框之间推开损失,而是直接将该遍历的预测框剔除。
在一个实施例中,当前处理框与遍历的预测框之间的推开损失与第二重叠程度成正相关,且与遍历的预测框对应的置信度成正相关。
当前处理框与遍历的预测框之间的推开损失与第二重叠程度成正相关,说明对于不同目标的两个预测框,重叠程度越大,则推开损失越大,重叠程度越小,则推开损失会越小。在训练的过程中,将推开损失往减小的方向调整,就是将目标检测模型输出的不同目标对应的多个预测框向重叠程度减小的方向去调整,也就是将两个预测框推开,这样训练一段时间获得目标检测模型输出的不同目标的多个预测框之间的重叠程度就会减小,从而减少漏检。
此外,由于置信度较低的预测框对最终检测性能的影响较小,对置信度较小的预测框可以赋予较低的权重,减小对应的推开损失,因此设计的推开损失还可以与遍历的预测框对应的置信度成正相关。
在一个实施例中,当前处理框与遍历的预测框之间的推开损失通过以下公式确定:
Loss_push(b,bi)=-ln(1-IoU(b,bi))*si;
其中,b表示当前处理框,bi表示从全量预测框集合中遍历的与当前处理框b之间的第二重叠程度大于预设阈值的预测框,IoU(b,bi)表示当前处理框b与遍历的预测框bi之间的第二重叠程度,si表示遍历的预测框bi的置信度,ln表示指数函数,Loss_push(b,bi)表示当前处理框b与遍历的预测框bi之间的推开损失。
如图8所示,为一个实施例中Loss_push将不同目标的预测框推远的示意图。参照图8,b为正确的预测框,通过Loss_push减小了bi与b之间的重叠面积,也就是推远了b与bi,使得bi不会被b抑制而保留下来,从而减少了漏检。
在一个实施例中,训练过程中的NMS Loss的处理流程如下表所示:
/>
在本实施例中,将NMS过程加入到训练过程,通过Loss_pull与Loss_push使得经过多次训练得到的目标检测模型能够拉近图像中相同目标对应的多个预测框,推远图像中不同目标对应的预测框,从而有效减少拥挤场景下存在的误检和漏检问题。
S412,根据第一损失、第二损失及第三损失调整目标检测模型的模型参数后,返回获取样本图像及样本图像中多个目标对应的标注框的步骤继续训练,直至获得训练好的目标检测模型。
在一个实施例中,S412,根据第一损失、第二损失及第三损失调整目标检测模型的模型参数后,返回获取样本图像及样本图像中多个目标对应的标注框的步骤继续训练,直至获得训练好的目标检测模型,包括:根据第一损失、第二损失及第三损失构建目标函数;将目标函数最小化时的模型参数作为目标检测模型最新的模型参数后返回获取样本图像及样本图像中多个目标对应的标注框的步骤继续训练,直至满足训练结束条件时,获得训练好的目标检测模型。
其中,目标函数可以是第一损失、第二损失、第三损失之和确定的,融合了这三个损失得到的目标函数可以使得多次训练得到的目标检测模型能够改善拥挤场景下的误检和漏检问题,提升检测性能。训练结束条件是结束模型训练的条件,训练结束条件可以是达到预设的迭代次数,或者是调整模型参数后的目标检测模型的检测性能达到预设指标。
在一个实施例中,计算机设备可以存储训练好的目标检测模型,在需要使用目标检测模型时即可直接获取并使用。计算机设备也可仅存储训练好的目标检测模型的模型参数,在需要使用目标检测模型时,获取模型参数并将其导入初始的目标检测模型后,得到可以进行目标检测任务的模型并使用。
在一个实施例中,上述方法还包括:获取待检测图像;将待检测图像输入至训练好的目标检测模型;通过训练好的目标检测模型对待检测图像进行目标检测,获得待检测图像中多个目标对应的预测框,目标对应的预测框的数量为至少一个;根据预测框对应的置信度、预测框之间的重叠程度,对目标对应的预测框进行去重处理,获得待检测图像中各目标对应的预测框。
具体地,计算机设备可以通过训练好的目标检测模型对待检测图像进行目标检测,待检测图像可以是拥挤场景下的图像,图像中包括多个距离靠近的目标。同样地,计算机设备通过目标检测模型对待检测图像中的目标输出多个预测框及对应的置信度,为了从多个预测框中剔除冗余的、置信度较低的预测框,计算机设备可以采用NMS算法,按照各个预测框的置信度、预测框之间的重叠面积对多个预测框进行去重处理,获得最终的检测结果。由于目标检测模型在训练时就考虑到了需要拉近图像中相同目标对应的预测框并推开不同目标对应的预测框,使得采用NMS算法进行后处理后得到的最终检测结果误检率、漏检率都更小,提升了检测性能。
上述目标检测模型的训练方法中,在训练过程中,不仅通过第一损失考虑了预测框与标注框之间的差异,还考虑了相同目标之间的重叠程度以及不同目标之间的重叠程度,其中,第二损失用于增大相同目标所对应的预测框之间的重叠程度,能够解决拥挤场景中保留了相同目标的多余预测框的问题,第三损失用于减小不同目标所对应的预测框之间的重叠程度,能够解决拥挤场景中漏掉了不同目标正确的预测框的问题。这样,通过第一损失、第二损失和第三损失调整模型参数得到的目标检测模型,能够拉近相同目标对应的多个预测框,重叠面积会变大,从而减少采用极大值抑制技术进行后处理时的误检,还能够推远不同目标对应的预测框,重叠面积会变小,从而减少采用极大值抑制技术进行后处理时的漏检,有效提升了检测效果。
在一个具体的实施例中,目标检测模型的训练方法包括以下步骤:
1、获取样本图像及样本图像中多个目标对应的标注框。
2、将样本图像输入至目标检测模型。
3、通过目标检测模型中的特征提取网络,对样本图像进行特征提取,获得样本图像对应的图像特征。
4、通过目标检测模型中的分类回归层,根据图像特征获得样本图像中各目标对应的预测框。
5、获取目标对应的各个预测框的预测坐标信息。
6、获取目标对应的标注框的真实坐标信息。
7、根据预测坐标信息与相应真实坐标信息之间的差异确定第一损失。
8、按照所对应的目标将预测框划分,得到每个目标对应的预测框集合。
9、迭代执行将当前目标对应的预测框集合中置信度最大的预测框作为当前目标对应的匹配预测框,将当前目标对应的预测框集合中的其他预测框依次作为当前处理框,根据当前处理框与匹配预测框之间的第一重叠程度计算当前处理框与匹配预测框之间的拉近损失之后,从预测框集合中剔除匹配预测框的步骤,直至当前目标对应的预测框集合为空。
10、融合各当前处理框与匹配预测框之间的拉近损失,得到用于增大当前目标所对应的预测框之间的重叠程度的第二损失。
11、根据各目标对应的预测框,获得全量预测框集合。
12、迭代执行将全量预测框集合中置信度最大的预测框,作为当前处理框;遍历全量预测框集合中与当前处理框之间的第二重叠程度大于预设阈值的预测框;当遍历的预测框与当前处理框对应不同目标时,则根据当前处理框与遍历的预测框之间的第二重叠程度计算当前处理框与遍历的预测框之间的推开损失之后,从全量预测框集合中剔除当前处理框的步骤,直至全量预测框集合为空。
13、融合各当前处理框与遍历的预测框之间的推开损失,得到用于减小不同目标所对应的预测框之间的重叠程度的第三损失。
14、根据第一损失、第二损失及第三损失构建目标函数。
15、将目标函数最小化时的模型参数作为目标检测模型最新的模型参数后返回获取样本图像及样本图像中多个目标对应的标注框的步骤继续训练,直至满足训练结束条件时,获得训练好的目标检测模型。
16、将待检测图像输入至训练好的目标检测模型。
17、通过训练好的目标检测模型对待检测图像进行目标检测,获得待检测图像中目标对应的预测框。
18、根据预测框对应的置信度、预测框之间的重叠程度,对目标对应的预测框进行去重处理,获得待检测图像中各目标对应的预测框。
上述目标检测模型的训练方法,不仅通过第一损失考虑了预测框与标注框之间的差异,还考虑了相同目标之间的重叠程度以及不同目标之间的重叠程度,其中,第二损失用于增大相同目标所对应的预测框之间的重叠程度,能够解决拥挤场景中保留了相同目标的多余预测框的问题,第三损失用于减小不同目标所对应的预测框之间的重叠程度,能够解决拥挤场景中漏掉了不同目标正确的预测框的问题。这样,通过第一损失、第二损失和第三损失调整模型参数得到的目标检测模型,能够拉近相同目标对应的多个预测框,重叠面积会变大,从而减少采用极大值抑制技术进行后处理时的误检,还能够推远不同目标对应的预测框,重叠面积会变小,从而减少采用极大值抑制技术进行后处理时的漏检,有效提升了检测效果。
应该理解的是,虽然图4、图5、图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图4、图5、图7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种目标检测模型的训练装置900,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块902、检测模块904、第一损失确定模块906、第二损失确定模块908、第三损失确定模块910和调整模块912,其中:
获取模块902,用于获取样本图像及样本图像中多个目标对应的标注框;
检测模块904,用于通过目标检测模型对样本图像进行目标检测,获得样本图像中多个目标对应的预测框,目标对应的预测框的数量为至少一个;
第一损失确定模块906,用于根据目标所对应的预测框与标注框之间的差异确定第一损失;
第二损失确定模块908,用于根据样本图像中相同目标所对应的预测框之间的重叠程度确定第二损失,第二损失用于增大目标检测模型输出的相同目标所对应的预测框之间的重叠程度;
第三损失确定模块910,用于根据样本图像中不同目标所对应的预测框之间的重叠程度确定第三损失,第三损失用于减小目标检测模型输出的不同目标所对应的预测框之间的重叠程度;
调整模块912,用于根据第一损失、第二损失及第三损失调整目标检测模型的模型参数后,返回获取样本图像及样本图像中多个目标对应的标注框的步骤继续训练,直至获得训练好的目标检测模型。
在一个实施例中,检测模块904还用于将样本图像输入至目标检测模型;通过目标检测模型中的特征提取网络,对样本图像进行特征提取,获得样本图像对应的图像特征;通过目标检测模型中的分类回归层,根据图像特征获得样本图像中多个目标对应的预测框。
在一个实施例中,第一损失确定模块906还用于获取目标对应的各个预测框的预测坐标信息;获取目标对应的标注框的真实坐标信息;根据预测坐标信息与相应真实坐标信息之间的差异确定第一损失。
在一个实施例中,第二损失确定模块908还用于按照所对应的目标将预测框划分,得到每个目标对应的预测框集合;迭代执行将当前目标对应的预测框集合中置信度最大的预测框作为当前目标对应的匹配预测框,将当前目标对应的预测框集合中的其他预测框依次作为当前处理框,根据当前处理框与匹配预测框之间的第一重叠程度计算当前处理框与匹配预测框之间的拉近损失之后,从预测框集合中剔除匹配预测框的步骤,直至当前目标对应的预测框集合为空;融合各当前处理框与匹配预测框之间的拉近损失,得到用于增大当前目标所对应的预测框之间的重叠程度的第二损失。
在一个实施例中,当前处理框与匹配预测框之间的拉近损失与第一重叠程度成反相关,且与当前处理框对应的置信度成正相关。
在一个实施例中,当前处理框与匹配预测框之间的拉近损失通过以下公式确定:
Loss_pull(b,bmax)=-ln(1-N+IoU(b,bmax))*s;
其中,bmax表示当前目标对应的匹配预测框,b表示当前处理框,IoU(b,bmax)表示当前处理框b与匹配预测框bmax之间的第一重叠程度,N表示用于进行非极大值抑制处理的预设阈值,s表示当前处理框b的置信度,ln表示指数函数,Loss_pull(b,bmax)表示当前处理框b与匹配预测框bmax之间的拉近损失。
在一个实施例中,第三损失确定模块910还用于根据目标对应的预测框,获得全量预测框集合;迭代执行将全量预测框集合中置信度最大的预测框,作为当前处理框;遍历全量预测框集合中与当前处理框之间的第二重叠程度大于预设阈值的预测框;当遍历的预测框与当前处理框对应不同目标时,则根据当前处理框与遍历的预测框之间的第二重叠程度计算当前处理框与遍历的预测框之间的推开损失之后,从全量预测框集合中剔除当前处理框的步骤,直至全量预测框集合为空;融合各当前处理框与遍历的预测框之间的推开损失,得到用于减小不同目标所对应的预测框之间的重叠程度的第三损失。
在一个实施例中,第三损失确定模块910还用于当遍历的预测框与当前处理框对应相同目标时,则直接从全量预测框集合中剔除遍历的预测框。
在一个实施例中,当前处理框与遍历的预测框之间的推开损失与第二重叠程度成正相关,且与遍历的预测框对应的置信度成正相关。
在一个实施例中,当前处理框与遍历的预测框之间的推开损失通过以下公式确定:
Loss_push(b,bi)=-ln(1-IoU(b,bi))*si;
其中,b表示当前处理框,bi表示从全量预测框集合中遍历的与当前处理框b之间的第二重叠程度大于预设阈值的预测框,IoU(b,bi)表示当前处理框b与遍历的预测框bi之间的第二重叠程度,si表示遍历的预测框bi的置信度,ln表示指数函数,Loss_push(b,bi)表示当前处理框b与遍历的预测框bi之间的推开损失。
在一个实施例中,调整模块912还用于根据第一损失、第二损失及第三损失构建目标函数;将目标函数最小化时的模型参数作为目标检测模型最新的模型参数后返回获取样本图像及样本图像中多个目标对应的标注框的步骤继续训练,直至满足训练结束条件时,获得训练好的目标检测模型。
在一个实施例中,上述装置还包括待检测图像处理模块,用于获取待检测图像;将待检测图像输入至训练好的目标检测模型;通过训练好的目标检测模型对待检测图像进行目标检测,获得待检测图像中多个目标对应的预测框,目标对应的预测框的数量为至少一个;根据预测框对应的置信度、预测框之间的重叠程度,对目标对应的预测框进行去重处理,获得待检测图像中各目标对应的预测框。
上述目标检测模型的训练装置900,在训练过程中,不仅通过第一损失考虑了预测框与标注框之间的差异,还考虑了相同目标之间的重叠程度以及不同目标之间的重叠程度,其中,第二损失用于增大相同目标所对应的预测框之间的重叠程度,能够解决拥挤场景中保留了相同目标的多余预测框的问题,第三损失用于减小不同目标所对应的预测框之间的重叠程度,能够解决拥挤场景中漏掉了不同目标正确的预测框的问题。这样,通过第一损失、第二损失和第三损失调整模型参数得到的目标检测模型,能够拉近相同目标对应的多个预测框,重叠面积会变大,从而减少采用极大值抑制技术进行后处理时的误检,还能够推远不同目标对应的预测框,重叠面积会变小,从而减少采用极大值抑制技术进行后处理时的漏检,有效提升了检测效果。
关于目标检测模型的训练装置的具体限定可以参见上文中对于目标检测模型的训练方法的限定,在此不再赘述。上述目标检测模型的训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器或终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的计算机设备通过网络连接通信。该计算机程序被处理器执行时以实现一种目标检测模型的训练方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (20)
1.一种目标检测模型的训练方法,所述方法包括:
获取样本图像及所述样本图像中多个目标对应的标注框;
通过目标检测模型对所述样本图像进行目标检测,获得所述样本图像中多个目标对应的预测框,所述目标对应的预测框的数量为至少一个;
根据所述目标所对应的预测框与标注框之间的差异确定第一损失;
按照所对应的目标将预测框划分,得到每个目标对应的预测框集合,迭代执行将当前目标对应的预测框集合中置信度最大的预测框作为当前目标对应的匹配预测框,将所述当前目标对应的预测框集合中的其他预测框依次作为当前处理框,根据所述当前处理框与所述匹配预测框之间的第一重叠程度计算所述当前处理框与所述匹配预测框之间的拉近损失之后,从所述预测框集合中剔除所述匹配预测框的步骤,直至所述当前目标对应的预测框集合为空,融合各所述当前处理框与匹配预测框之间的拉近损失,得到用于增大所述当前目标所对应的预测框之间的重叠程度的第二损失,所述第二损失用于增大所述目标检测模型输出的相同目标所对应的预测框之间的重叠程度;
根据所述目标对应的预测框,获得全量预测框集合,迭代执行将所述全量预测框集合中置信度最大的预测框,作为当前处理框,遍历所述全量预测框集合中与所述当前处理框之间的第二重叠程度大于预设阈值的预测框,当遍历的预测框与所述当前处理框对应不同目标时,则根据所述当前处理框与所述遍历的预测框之间的第二重叠程度计算所述当前处理框与所述遍历的预测框之间的推开损失之后,从所述全量预测框集合中剔除所述当前处理框的步骤,直至所述全量预测框集合为空,融合所述当前处理框与遍历的预测框之间的推开损失,得到用于减小不同目标所对应的预测框之间的重叠程度的第三损失,所述第三损失用于减小所述目标检测模型输出的不同目标所对应的预测框之间的重叠程度;
根据所述第一损失、所述第二损失及所述第三损失调整所述目标检测模型的模型参数后,返回所述获取样本图像及所述样本图像中多个目标对应的标注框的步骤继续训练,直至获得训练好的目标检测模型。
2.根据权利要求1所述的方法,其特征在于,所述通过目标检测模型对所述样本图像进行目标检测,获得所述样本图像中多个目标对应的预测框,包括:
将所述样本图像输入至目标检测模型;
通过所述目标检测模型中的特征提取网络,对所述样本图像进行特征提取,获得所述样本图像对应的图像特征;
通过所述目标检测模型中的分类回归层,根据所述图像特征获得所述样本图像中多个目标对应的预测框。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标所对应的预测框与标注框之间的差异确定第一损失,包括:
获取所述目标对应的各个预测框的预测坐标信息;
获取所述目标对应的标注框的真实坐标信息;
根据所述预测坐标信息与相应真实坐标信息之间的差异确定第一损失。
4.根据权利要求1所述的方法,其特征在于,所述当前处理框与所述匹配预测框之间的拉近损失与所述第一重叠程度成反相关,且与所述当前处理框对应的置信度成正相关。
5.根据权利要求1所述的方法,其特征在于,所述当前处理框与所述匹配预测框之间的拉近损失通过以下公式确定:
Loss_pull(b,bmax)=-ln(1-N+IoU(b,bmax))*s;
其中,bmax表示当前目标对应的匹配预测框,b表示所述当前处理框,IoU(b,bmax)表示所述当前处理框b与所述匹配预测框bmax之间的第一重叠程度,N表示用于进行非极大值抑制处理的预设阈值,s表示所述当前处理框b的置信度,ln表示指数函数,Loss_pull(b,bmax)表示所述当前处理框b与所述匹配预测框bmax之间的拉近损失。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述遍历的预测框与所述当前处理框对应相同目标时,则直接从所述全量预测框集合中剔除所述遍历的预测框。
7.根据权利要求1所述的方法,其特征在于,所述当前处理框与所述遍历的预测框之间的推开损失与所述第二重叠程度成正相关,且与所述遍历的预测框对应的置信度成正相关。
8.根据权利要求1所述的方法,其特征在于,所述当前处理框与所述遍历的预测框之间的推开损失通过以下公式确定:
Loss_push(b,bi)=-ln(1-IoU(b,bi))*si;
其中,b表示所述当前处理框,bi表示从所述全量预测框集合中遍历的与所述当前处理框b之间的第二重叠程度大于预设阈值的预测框,IoU(b,bi)表示所述当前处理框b与所述遍历的预测框bi之间的第二重叠程度,si表示所述遍历的预测框bi的置信度,ln表示指数函数,Loss_push(b,bi)表示所述当前处理框b与所述遍历的预测框bi之间的推开损失。
9.根据权利要求1所述的方法,其特征在于,所述根据所述第一损失、所述第二损失及所述第三损失调整所述目标检测模型的模型参数后,返回所述获取样本图像及所述样本图像中多个目标对应的标注框的步骤继续训练,直至获得训练好的目标检测模型,包括:
根据所述第一损失、所述第二损失及所述第三损失构建目标函数;
将所述目标函数最小化时的模型参数作为所述目标检测模型最新的模型参数后返回所述获取样本图像及所述样本图像中多个目标对应的标注框的步骤继续训练,直至满足训练结束条件时,获得训练好的目标检测模型。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:
获取待检测图像;
将所述待检测图像输入至所述训练好的目标检测模型;
通过所述训练好的目标检测模型对所述待检测图像进行目标检测,获得所述待检测图像中多个目标对应的预测框,目标对应的预测框的数量为至少一个;
根据所述预测框对应的置信度、所述预测框之间的重叠程度,对目标对应的预测框进行去重处理,获得所述待检测图像中各目标对应的预测框。
11.一种目标检测模型的训练装置,其特征在于,所述装置包括:
获取模块,用于获取样本图像及所述样本图像中多个目标对应的标注框;
检测模块,用于通过目标检测模型对所述样本图像进行目标检测,获得所述样本图像中多个目标对应的预测框,所述目标对应的预测框的数量为至少一个;
第一损失确定模块,用于根据所述目标所对应的预测框与标注框之间的差异确定第一损失;
第二损失确定模块,用于按照所对应的目标将预测框划分,得到每个目标对应的预测框集合,迭代执行将当前目标对应的预测框集合中置信度最大的预测框作为当前目标对应的匹配预测框,将所述当前目标对应的预测框集合中的其他预测框依次作为当前处理框,根据所述当前处理框与所述匹配预测框之间的第一重叠程度计算所述当前处理框与所述匹配预测框之间的拉近损失之后,从所述预测框集合中剔除所述匹配预测框的步骤,直至所述当前目标对应的预测框集合为空,融合各所述当前处理框与匹配预测框之间的拉近损失,得到用于增大所述当前目标所对应的预测框之间的重叠程度的第二损失,所述第二损失用于增大所述目标检测模型输出的相同目标所对应的预测框之间的重叠程度;
第三损失确定模块,用于根据所述目标对应的预测框,获得全量预测框集合,迭代执行将所述全量预测框集合中置信度最大的预测框,作为当前处理框,遍历所述全量预测框集合中与所述当前处理框之间的第二重叠程度大于预设阈值的预测框,当遍历的预测框与所述当前处理框对应不同目标时,则根据所述当前处理框与所述遍历的预测框之间的第二重叠程度计算所述当前处理框与所述遍历的预测框之间的推开损失之后,从所述全量预测框集合中剔除所述当前处理框的步骤,直至所述全量预测框集合为空,融合所述当前处理框与遍历的预测框之间的推开损失,得到用于减小不同目标所对应的预测框之间的重叠程度的第三损失,所述第三损失用于减小所述目标检测模型输出的不同目标所对应的预测框之间的重叠程度;
调整模块,用于根据所述第一损失、所述第二损失及所述第三损失调整所述目标检测模型的模型参数后,返回所述获取样本图像及所述样本图像中多个目标对应的标注框的步骤继续训练,直至获得训练好的目标检测模型。
12.根据权利要求11所述的装置,其特征在于,所述检测模块,还用于将所述样本图像输入至目标检测模型;通过所述目标检测模型中的特征提取网络,对所述样本图像进行特征提取,获得所述样本图像对应的图像特征;通过所述目标检测模型中的分类回归层,根据所述图像特征获得所述样本图像中多个目标对应的预测框。
13.根据权利要求11所述的装置,其特征在于,所述第一损失确定模块,还用于获取所述目标对应的各个预测框的预测坐标信息;获取所述目标对应的标注框的真实坐标信息;根据所述预测坐标信息与相应真实坐标信息之间的差异确定第一损失。
14.根据权利要求11所述的装置,其特征在于,所述当前处理框与所述匹配预测框之间的拉近损失与所述第一重叠程度成反相关,且与所述当前处理框对应的置信度成正相关。
15.根据权利要求11所述的装置,其特征在于,所述第三损失确定模块,还用于当所述遍历的预测框与所述当前处理框对应相同目标时,则直接从所述全量预测框集合中剔除所述遍历的预测框。
16.根据权利要求11所述的装置,其特征在于,所述当前处理框与所述遍历的预测框之间的推开损失与所述第二重叠程度成正相关,且与所述遍历的预测框对应的置信度成正相关。
17.根据权利要求11所述的装置,其特征在于,所述调整模块,还用于根据所述第一损失、所述第二损失及所述第三损失构建目标函数;将所述目标函数最小化时的模型参数作为所述目标检测模型最新的模型参数后返回所述获取样本图像及所述样本图像中多个目标对应的标注框的步骤继续训练,直至满足训练结束条件时,获得训练好的目标检测模型。
18.根据权利要求11至17任一项所述的装置,其特征在于,所述装置还包括待检测图像处理模块,用于获取待检测图像;将所述待检测图像输入至所述训练好的目标检测模型;通过所述训练好的目标检测模型对所述待检测图像进行目标检测,获得所述待检测图像中多个目标对应的预测框,目标对应的预测框的数量为至少一个;根据所述预测框对应的置信度、所述预测框之间的重叠程度,对目标对应的预测框进行去重处理,获得所述待检测图像中各目标对应的预测框。
19.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述方法的步骤。
20.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010118926.6A CN112749726B (zh) | 2020-02-26 | 2020-02-26 | 目标检测模型的训练方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010118926.6A CN112749726B (zh) | 2020-02-26 | 2020-02-26 | 目标检测模型的训练方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112749726A CN112749726A (zh) | 2021-05-04 |
CN112749726B true CN112749726B (zh) | 2023-09-29 |
Family
ID=75645133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010118926.6A Active CN112749726B (zh) | 2020-02-26 | 2020-02-26 | 目标检测模型的训练方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112749726B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113283485A (zh) * | 2021-05-14 | 2021-08-20 | 上海商汤智能科技有限公司 | 目标检测方法及其模型的训练方法和相关装置及介质 |
CN113762326A (zh) * | 2021-05-26 | 2021-12-07 | 腾讯云计算(北京)有限责任公司 | 一种数据识别方法、装置、设备及可读存储介质 |
CN113255820B (zh) * | 2021-06-11 | 2023-05-02 | 成都通甲优博科技有限责任公司 | 落石检测模型训练方法、落石检测方法及相关装置 |
CN115457036B (zh) * | 2022-11-10 | 2023-04-25 | 中国平安财产保险股份有限公司 | 检测模型训练方法、智能点数方法和相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106934346A (zh) * | 2017-01-24 | 2017-07-07 | 北京大学 | 一种目标检测性能优化的方法 |
CN108875577A (zh) * | 2018-05-11 | 2018-11-23 | 深圳市易成自动驾驶技术有限公司 | 目标检测方法、装置及计算机可读存储介质 |
-
2020
- 2020-02-26 CN CN202010118926.6A patent/CN112749726B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106934346A (zh) * | 2017-01-24 | 2017-07-07 | 北京大学 | 一种目标检测性能优化的方法 |
CN108875577A (zh) * | 2018-05-11 | 2018-11-23 | 深圳市易成自动驾驶技术有限公司 | 目标检测方法、装置及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
《Occlusion-Aware R-CNN: Detecting Pedestrians in a Crowd》;Shifeng Zhang等;《European Conference on Computer Vision(ECCV)2018》;第657-662页 * |
《Repulsion Loss: Detecting Pedestrians in a Crowd》;Xinlong Wang等;《2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition》;第7774-7781页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112749726A (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112749726B (zh) | 目标检测模型的训练方法、装置、计算机设备和存储介质 | |
CN111079570B (zh) | 一种人体关键点识别方法、装置及电子设备 | |
CN112052787B (zh) | 基于人工智能的目标检测方法、装置及电子设备 | |
JP2022534337A (ja) | ビデオターゲット追跡方法と装置、コンピュータ装置、プログラム | |
CN111950329A (zh) | 目标检测及模型训练方法、装置、计算机设备和存储介质 | |
CN109871821B (zh) | 自适应网络的行人重识别方法、装置、设备及存储介质 | |
CN110176024B (zh) | 在视频中对目标进行检测的方法、装置、设备和存储介质 | |
CN110765860A (zh) | 摔倒判定方法、装置、计算机设备及存储介质 | |
CN110555526B (zh) | 神经网络模型训练方法、图像识别方法和装置 | |
JP6892606B2 (ja) | 位置特定装置、位置特定方法及びコンピュータプログラム | |
CN110135428B (zh) | 图像分割处理方法和装置 | |
CN113838135B (zh) | 基于lstm双流卷积神经网络的位姿估计方法、系统及介质 | |
CN111753590B (zh) | 一种行为识别方法、装置及电子设备 | |
JP5192437B2 (ja) | 物体領域検出装置、物体領域検出方法および物体領域検出プログラム | |
CN110992404A (zh) | 目标跟踪方法、装置和系统及存储介质 | |
CN111027551B (zh) | 图像处理方法、设备和介质 | |
CN111178162B (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
CN116958873A (zh) | 行人跟踪方法、装置、电子设备及可读存储介质 | |
CN111008992A (zh) | 目标跟踪方法、装置和系统及存储介质 | |
CN113284155B (zh) | 视频目标分割方法、装置、存储介质及电子设备 | |
CN115620017A (zh) | 图像的特征提取方法、装置、设备及存储介质 | |
CN111091022A (zh) | 机器视觉的效能评估方法与系统 | |
CN111767934B (zh) | 一种图像识别方法、装置及电子设备 | |
CN112862002A (zh) | 多尺度目标检测模型的训练方法、目标检测方法和装置 | |
CN113822291A (zh) | 一种图像处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40044212 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |