CN111626350B - 目标检测模型训练方法、目标检测方法及装置 - Google Patents
目标检测模型训练方法、目标检测方法及装置 Download PDFInfo
- Publication number
- CN111626350B CN111626350B CN202010450890.1A CN202010450890A CN111626350B CN 111626350 B CN111626350 B CN 111626350B CN 202010450890 A CN202010450890 A CN 202010450890A CN 111626350 B CN111626350 B CN 111626350B
- Authority
- CN
- China
- Prior art keywords
- frame
- target
- prediction
- detection model
- target detection
- 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 375
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000012549 training Methods 0.000 title claims abstract description 69
- 238000002372 labelling Methods 0.000 claims abstract description 42
- 230000008569 process Effects 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 125
- 230000006870 function Effects 0.000 claims description 82
- 238000010586 diagram Methods 0.000 claims description 55
- 230000015654 memory Effects 0.000 claims description 38
- 238000000605 extraction Methods 0.000 claims description 21
- 238000007499 fusion processing Methods 0.000 claims description 11
- 238000012935 Averaging Methods 0.000 claims description 4
- 241000282414 Homo sapiens Species 0.000 description 13
- 230000000694 effects Effects 0.000 description 10
- 238000010606 normalization Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 6
- 238000009529 body temperature measurement Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 230000036760 body temperature Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- OLBCVFGFOZPWHH-UHFFFAOYSA-N propofol Chemical compound CC(C)C1=CC=CC(C(C)C)=C1O OLBCVFGFOZPWHH-UHFFFAOYSA-N 0.000 description 2
- 229960004134 propofol Drugs 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000010200 validation analysis 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
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种目标检测模型训练方法、目标检测方法、装置、电子设备及计算机可读存储介质;方法包括:通过目标检测模型对样本图像进行检测处理,得到样本图像中包括目标的预测框;根据包括间隔值和距离两个因素的损失函数,确定预测框对应的损失值;其中,间隔值用于扩大目标与样本图像中的背景之间的差异;距离表示预测框与样本图像中包括目标的标注框之间的距离;根据预测框对应的损失值在目标检测模型中进行反向传播,并在反向传播的过程中,更新目标检测模型的权重参数;将更新后得到的权重参数,作为训练完毕的目标检测模型所使用的权重参数。通过本申请,能够提升目标检测的精度。
Description
技术领域
本申请涉及人工智能技术,尤其涉及一种目标检测模型训练方法、目标检测方法、装置、电子设备及计算机可读存储介质。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。计算机视觉(Computer Vision,CV)是人工智能的一个分支,试图建立能够从图像或者多维数据中获取信息的人工智能***。
目标检测是计算机视觉的一个重要应用,例如从图像中检测出人脸、车辆或建筑等。在相关技术提供的方案中,通常是训练目标检测模型,并通过训练后的目标检测模型实现目标检测,在训练过程中,通常是使用传统的交叉熵损失函数和smooth-L1损失函数来进行训练。但是,根据上述方案训练后的目标检测模型对于目标和背景的区分度差,即目标检测的精度低。
发明内容
本申请实施例提供一种目标检测模型训练方法、目标检测方法、装置、电子设备及计算机可读存储介质,能够提升目标检测的精度。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种目标检测模型训练方法,包括:
通过目标检测模型对样本图像进行检测处理,得到所述样本图像中包括目标的预测框;
根据包括间隔值和距离两个因素的损失函数,确定所述预测框对应的损失值;
其中,所述间隔值用于扩大所述目标与所述样本图像中的背景之间的差异;所述距离表示所述预测框与所述样本图像中包括所述目标的标注框之间的距离;
根据所述预测框对应的损失值在所述目标检测模型中进行反向传播,并在反向传播的过程中,更新所述目标检测模型的权重参数;
将更新后得到的权重参数,作为训练完毕的所述目标检测模型所使用的权重参数。
本申请实施例提供一种目标检测方法,包括:
通过目标检测模型对待检测图像进行检测处理,得到所述待检测图像中的候选框及对应的置信度,并
将置信度大于置信度阈值的候选框,确定为包括目标的预测框;
其中,所述目标检测模型是根据包括间隔值和距离的损失函数训练得到;所述间隔值用于扩大所述目标与样本图像中的背景之间的差异;所述距离表示所述样本图像中包括所述目标的预测框与标注框之间的距离。
本申请实施例提供一种目标检测模型训练装置,包括:
第一检测模块,用于通过目标检测模型对样本图像进行检测处理,得到所述样本图像中包括目标的预测框;
损失确定模块,用于根据包括间隔值和距离两个因素的损失函数,确定所述预测框对应的损失值;
其中,所述间隔值用于扩大所述目标与所述样本图像中的背景之间的差异;所述距离表示所述预测框与所述样本图像中包括所述目标的标注框之间的距离;
反向传播模块,用于根据所述预测框对应的损失值在所述目标检测模型中进行反向传播,并在反向传播的过程中,更新所述目标检测模型的权重参数;
确定模块,用于将更新后得到的权重参数,作为训练完毕的所述目标检测模型所使用的权重参数。
本申请实施例提供一种目标检测装置,包括:
第二检测模块,用于通过目标检测模型对待检测图像进行检测处理,得到所述待检测图像中的候选框及对应的置信度,并
将置信度大于置信度阈值的候选框,确定为包括目标的预测框;
其中,所述目标检测模型是根据包括间隔值和距离的损失函数训练得到;所述间隔值用于扩大所述目标与样本图像中的背景之间的差异;所述距离表示所述样本图像中包括所述目标的预测框与标注框之间的距离。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的目标检测模型训练方法,或者目标检测方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的目标检测模型训练方法,或者目标检测方法。
本申请实施例具有以下有益效果:
通过目标检测模型得到样本图像中包括目标的预测框,进而根据包括间隔值和距离两个因素的损失函数,确定预测框对应的损失值,并根据损失值对目标检测模型进行更新,如此,能够扩大目标与背景之间的差异,提升对目标检测模型的训练效果,从而当电子设备在各种场景中使用更新后的目标检测模型进行目标检测时,能够实现目标检测的效率和精度的显著提升。
附图说明
图1是相关技术提供的单步法模型的一个可选的架构示意图;
图2是相关技术提供的两步法模型的一个可选的架构示意图;
图3是本申请实施例提供的目标检测***的一个可选的架构示意图;
图4A是本申请实施例提供的服务器的一个可选的架构示意图;
图4B是本申请实施例提供的终端设备的一个可选的架构示意图;
图5是本申请实施例提供的目标检测模型训练装置的一个可选的架构示意图;
图6A是本申请实施例提供的目标检测模型训练方法的一个可选的流程示意图;
图6B是本申请实施例提供的目标检测模型训练方法的一个可选的流程示意图;
图6C是本申请实施例提供的目标检测模型训练方法的一个可选的流程示意图;
图7是本申请实施例提供的目标检测方法的一个可选的流程示意图;
图8是本申请实施例提供的目标检测模型的一个可选的架构示意图;
图9是本申请实施例提供的目标检测模型的一个可选的架构示意图;
图10是本申请实施例提供的特征增强模块的处理过程的一个可选的示意图;
图11A是本申请实施例提供的包括精确率和召回率的一个可选的指标示意图;
图11B是本申请实施例提供的包括精确率和召回率的一个可选的指标示意图;
图11C是本申请实施例提供的包括精确率和召回率的一个可选的指标示意图;
图12A是本申请实施例提供的包括正样本预测为正的比例和负样本预测为正的数量的一个可选的指标示意图;
图12B是本申请实施例提供的包括正样本预测为正的比例和负样本预测为正的数量的一个可选的指标示意图;
图13A是本申请实施例提供的包括平均精度均值和参数量的一个可选的指标示意图;
图13B是本申请实施例提供的包括平均精度均值和浮点运算次数的一个可选的指标示意图;
图13C是本申请实施例提供的包括平均精度均值和计算耗时的一个可选的指标示意图;
图14是本申请实施例提供的根据目标检测模型进行目标检测得到的预测框的一个可选的示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。另外,在以下的描述中,涉及到的“多个”是指至少两个。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)目标检测:计算机视觉的一个重要应用,用于从图像中检测出包括特定的目标的框,目标如人脸、车辆或建筑等,根据实际应用场景而定。
2)机器学习(Machine Learning,ML):人工智能的核心,是使计算机具有智能的根本途径,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。在本申请实施例中,目标检测模型可为机器学习模型。
3)损失函数(loss function):用于度量模型的预测值与真实值(标注值)之间的不一致程度,通常作为学习准则与优化问题相联系,即通过最小化损失函数来实现模型训练。
4)反向传播:前向传播是指模型的前馈处理过程,反向传播与前向传播相反,指根据模型输出的结果对模型各个层的权重参数进行更新。例如,模型包括输入层、隐藏层和输出层,则前向传播是指按照输入层-隐藏层-输出层的顺序进行处理,反向传播是指按照输出层-隐藏层-输入层的顺序,依次更新各个层的权重参数。
5)交并比(Intersection over Union,IoU):指两个框的交集与并集之间的比值。
6)置信度(confidence):表示对应的结果可信的概率,例如某个包括目标的预测框的置信度为80%,则表示该预测框实际包括目标的概率为80%。
对于目标检测,相关技术提供的方案主要分为两大类:单步(one-stage)法和两步(two-stage)法。
单步法的主要代表算法有尺度不变人脸检测器(S3FD,Single Shot Scale-invariant Face Detector)和PyramidBox,单步法主要通过若干个特征图直接输出目标的坐标(即包括目标的预测框)和置信度。作为示例,提供了如图1所示的S3FD的架构示意图,S3FD通过基类卷积层(Base Convolutional Layers)和额外卷积层(Extra ConvolutioalLayers),对输入图像进行特征提取处理,得到多个特征图,其中,基类卷积层和额外卷积层可基于视觉几何组(Visual Geometry Group)算法的框架实现。然后,对于其中的6个特征图,即图1示出的conv3_3、conv4_3、conv5_3、conv_fc7、conv6_2和conv7_2,通过预测卷积层(Predicted Convolutional Layers)进行处理,得到最终的预测框及置信度。其中,在通过预测卷积层处理之前,还通过标准化层(Normalization Layers)对特征图conv3_3、conv4_3和conv5_3进行标准化,另外,conv3_3中的数值160表示该特征图的尺度。图1还示出了多任务损失层(Multi-task Loss Layers),该层通过两个损失函数,即Softmax损失函数和smooth-L1损失函数共同对S3FD进行训练,其中,Softmax损失函数是基于Softmax的交叉熵损失函数。
两步法的主要代表算法有Face R-CNN。如图2所示,这类算法一般要经过两步,第一步通过区域生成网络(Region Proposal Network,RPN)得到许多的候选区域(即Proposals),然后通过R-CNN网络,对Proposals进行精细分类和坐标回归,得到最终的结果。其中,在精细分类和坐标回归的分支中,通过位置敏感的区域池化(Position-Sensitive Region of interest Pooling)技术和位置敏感的平均池化(Position-Sensitive Average Pooling)技术来进行处理。在两步法算法中,分类损失函数通常是Softmax损失函数,回归损失函数通常是smooth-L1损失函数,通过结合两个损失函数来实现模型训练。
对于相关技术提供的方案,在结合Softmax损失函数和smooth-L1损失函数来进行模型训练时,模型的收敛速度较慢,并且训练后的模型对于目标和背景的区分度差,即难以区分困难目标(如困难人脸)和背景,目标检测的精度低。
本申请实施例提供一种目标检测模型训练方法、目标检测方法、装置、电子设备及计算机可读存储介质,能够加快模型收敛速度,并提升目标检测的精度。下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为各种类型的用户终端,也可以实施为服务器。
电子设备通过运行本申请实施例提供的目标检测的方案,可以提升模型的训练效果以及根据训练后的模型进行目标检测的精度,即提高电子设备自身的目标检测性能,适用于目标检测的多个应用场景。例如,在人脸检测的场景中,通过目标检测模型提升电子设备进行人脸检测的精度,降低误判率;又如在车辆检测场景中,电子设备可更准确地识别出监控图像中的车辆。
参见图3,图3是本申请实施例提供的目标检测***100的一个可选的架构示意图,为实现支撑一个目标检测应用,终端设备400(示例性示出了终端设备400-1和终端设备400-2)通过网络300连接服务器200,服务器200连接数据库500,网络300可以是广域网或者局域网,又或者是二者的组合。其中,数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,用户可以对文件中的数据进行新增、查询、更新、删除等操作。在本申请实施例中,数据库用于存储样本图像,当然,样本图像的存储位置并不限于数据库,例如还可以存储于终端设备400、区块链或者服务器200的分布式文件***中等。
在一些实施例中,服务器200可以执行本申请实施例提供的目标检测模型训练方法,具体从终端设备400和/或数据库500中获取对应有标注框的样本图像,通过目标检测模型对样本图像进行检测处理,得到样本图像中包括目标的预测框,并根据包括间隔值和距离两个因素的损失函数,确定预测框对应的损失值,进而对目标检测模型进行训练。
在对目标检测模型训练完毕后,服务器200可以将目标检测模型保存至本地,从而为终端设备400提供远程的目标检测功能。例如,服务器200可以接收终端设备400发送的待检测图像,并通过目标检测模型对待检测图像进行检测处理,得到待检测图像中的候选框及对应的置信度,并将置信度大于置信度阈值的候选框,确定为包括目标的预测框。然后,服务器200将预测框的坐标发送至终端设备400,以使终端设备400在图形界面410(示例性示出了图形界面410-1和图形界面410-2)中显示预测框,图3中以人脸检测的场景为例,在图形界面410中示出了包括人脸的预测框。
服务器200也可以将训练完毕的目标检测模型发送(部署)至终端设备400,从而在终端设备400本地实现目标检测。例如,终端设备400可以实时拍摄待检测图像或从其他设备中获取待检测图像,通过本地的目标检测模型对待检测图像进行检测处理,得到待检测图像中的候选框及对应的置信度,并将置信度大于置信度阈值的候选框,确定为包括目标的预测框。以人脸检测的场景说明本申请实施例的应用,例如终端设备400可以是门禁识别设备,将拍摄到的门禁前的图像作为待检测图像进行人脸检测,若检测到待检测图像中存在一个以上的包括人脸的预测框,则开启门禁;终端设备400还可以是人体测温设备,通过内置或外接的红外相机(具有温度探测功能)拍摄某个场景的图像,并作为待检测图像进行人脸检测,从而得到待检测图像中包括的人脸(人体)的温度,实现了非接触式的精准温度检测,避免了通过测温枪测量体温带来的安全风险,如病毒的二次传播;终端设备400还可以是口罩检测设备,通过拍摄某个场景的图像,作为待检测图像进行人脸检测,从而确定待检测图像中未佩戴口罩的人脸,并进一步记录或者发出预警信息。当然,在这些应用场景中,也可以通过服务器200实现目标检测。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
参见图4A,图4A是本申请实施例提供的服务器200(例如,可以是图3所示的服务器200)的架构示意图,图4A所示的服务器200包括:至少一个处理器210、存储器240和至少一个网络接口220。服务器200中的各个组件通过总线***230耦合在一起。可理解,总线***230用于实现这些组件之间的连接通信。总线***230除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4A中将各种总线都标为总线***230。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器240可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器240可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器240包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器240旨在包括任意适合类型的存储器。
在一些实施例中,存储器240能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***241,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块242,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等。
在一些实施例中,本申请实施例提供的目标检测模型训练装置可以采用软件方式实现,图4A示出了存储在存储器240中的目标检测模型训练装置243,其可以是程序和插件等形式的软件,包括以下软件模块:第一检测模块2431、损失确定模块2432、反向传播模块2433及确定模块2434,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的目标检测模型训练装置可以采用硬件方式实现,作为示例,本申请实施例提供的目标检测模型训练装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的目标检测模型训练方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,ApplicationSpecific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable LogicDevice)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
参见图4B,图4B是本申请实施例提供的终端设备400(例如,可以是图3所示的终端设备400)的结构示意图,图4B所示的终端设备400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线***440耦合在一起。可理解,总线***440用于实现这些组件之间的连接通信。总线***440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4B中将各种总线都标为总线***440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、DSP或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是ROM,易失性存储器可以是RAM。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***451,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和USB等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作***设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的目标检测装置可以采用软件方式实现,图4B示出了存储在存储器450中的目标检测装置455,其可以是程序和插件等形式的软件,包括以下软件模块:第二检测模块4551,软件模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明软件模块的功能。
在另一些实施例中,本申请实施例提供的目标检测装置可以采用硬件方式实现,作为示例,本申请实施例提供的目标检测装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的目标检测方法,例如,硬件译码处理器形式的处理器可以采用一个或多个ASIC、DSP、PLD、CPLD、FPGA或其他电子元件。
将结合本申请实施例提供的电子设备的示例性应用和实施,说明本申请实施例提供的目标检测模型训练方法。
参见图5和图6A,图5是本申请实施例提供的目标检测模型训练装置243的架构示意图,示出了通过一系列模块更新目标检测模型的流程,图6A是本申请实施例提供的目标检测模型训练方法的流程示意图,将结合图5对图6A示出的步骤进行说明。
在步骤101中,通过目标检测模型对样本图像进行检测处理,得到样本图像中包括目标的预测框。
作为示例,参见图5,在第一检测模块2431中,获取样本图像,样本图像可以从数据库、区块链或分布式文件***中获取,本申请实施例对此不做限定,样本图像对应有包括目标的标注框,例如可以人为对样本图像进行标注得到标注框。
通过目标检测模型对获取到的样本图像进行检测处理,即进行前向传播,得到待检测图像中的候选框及对应的置信度,并将置信度大于置信度阈值的候选框,确定为包括目标的预测框,其中,置信度表示候选框中包括有目标的概率,置信度阈值可根据实际应用场景进行设定,如设定为0.5,候选框可通过滑动窗口或选择性搜索(Selective Search)等方式得到。值得说明的是,目标检测模型可以是机器学习模型,例如可以是上述的单步法模型(如S3FD和PyramidBox),也可以是两步法模型(如Face R-CNN),还可以是伪两步(pseudotwo-stage)法模型。另外,对于待检测的目标来说,可以根据实际应用场景设定其类型,例如可为人脸、车辆或建筑等。
在步骤102中,根据包括间隔值和距离两个因素的损失函数,确定预测框对应的损失值;其中,间隔值用于扩大目标与样本图像中的背景之间的差异;距离表示预测框与样本图像中包括目标的标注框之间的距离。
作为示例,参见图5,在损失确定模块2432中,目标检测模型的损失函数由间隔值和距离两个因素构成。其中,间隔值是一个经验参数,可人为设定,在计算损失值时,根据预测框的置信度与间隔值之间的差值更新预测框的置信度,从而使得目标与背景两类的类间距离增大,类内距离缩小,即扩大目标与样本图像中的背景之间的差异。距离表示预测框与样本图像中包括目标的标注框之间的距离,可进一步细分为中心点距离及对角线距离等,具体内容在后文进行详细阐述。通过损失函数对预测框及对应的置信度进行处理后,得到损失值。值得说明的是,这里的损失函数相当于由基于间隔值的分类损失函数和基于距离的回归损失函数共同构成的损失函数。
在步骤103中,根据预测框对应的损失值在目标检测模型中进行反向传播,并在反向传播的过程中,更新目标检测模型的权重参数。
作为示例,参见图5,在反向传播模块2433中,得到损失值后,根据损失值对目标检测模型进行训练,以提升目标检测模型的检测精度。这里,将损失值在目标检测模型中进行反向传播,反向传播的方向与前向传播相反。在将损失值反向传播至目标检测模型各个层的过程中,根据损失值计算出梯度,并沿梯度的下降方向更新反向传播到的当前层的权重参数。
在步骤104中,将更新后得到的权重参数,作为训练完毕的目标检测模型所使用的权重参数。
这里,可设定更新停止条件,当满足更新停止条件时,将最后一次更新得到的权重参数,确定为训练完毕的目标检测模型所使用的权重参数。更新停止条件如设定的训练轮次(epoch),一个训练轮次即为根据所有样本图像训练一次的过程。当然,更新停止条件并不限于此,例如还可为设定的平均精度均值(mean Average Precision,mAP)等。
在目标检测模型训练完毕后,即可将目标检测模型投入使用。例如在人脸检测的场景中,通过目标检测模型检测待检测图像中是否包括人脸,从而执行对应的操作,例如在待检测图像包括人脸时,执行打开门禁或者解锁进入移动终端的桌面的操作。又例如,在车辆检测的场景中,通过目标检测模型检测某路口的监控图像中是否包括车辆,从而记录该路口的车辆通行情况,便于相关人员分析该路口不同时段的拥塞状况。
通过申请实施例对于图6A的上述示例性实施可知,本申请实施例根据包括间隔值和距离两个因素的损失函数,对目标检测模型进行训练,能够提升目标检测模型对于目标与背景的区分度,提升目标检测的效率和精度,适用于多种目标检测场景。
在一些实施例中,参见图6B,图6B是本申请实施例提供的目标检测模型训练方法的一个可选的流程示意图,图6A示出的步骤101可以通过步骤201至步骤203实现,将结合各步骤进行说明。
在步骤201中,对样本图像进行特征提取处理,得到第一特征图。
这里,通过目标检测模型对样本图像进行特征提取处理,得到特征图,为了便于区分,将得到的特征图命名为第一特征图。作为示例,参见图5,目标检测模型可包括主干网络(backbone)、特征增强模块(Feature Enhance Modu le,FEM)和检测头(head),其中,主干网络用于提取图像中的特征,供后续网络使用。在步骤201中,可通过主干网络对样本图像进行特征提取处理,得到第一特征图。值得说明的是,主干网络可根据MobileNet和ResNet系列的分类网络进行构建,如采用ResNet18网络,当然,也可以采用其他的网络。
在一些实施例中,步骤201之前,还包括:获取目标检测模型的待部署环境的模型复杂度要求;在复杂度不同的多个主干网络中,确定复杂度满足模型复杂度要求的主干网络,以作为缩放处理后的主干网络;在与多个复杂度分别对应的多个缩放参数中,确定满足模型复杂度要求的复杂度对应的缩放参数,以作为目标缩放参数;根据目标缩放参数,对特征增强模块和检测头中的通道数进行线性缩放处理,并对特征增强模块和检测头中的网络层数量进行指数缩放处理。
通常来说,若目标检测模型的复杂度越高,则其精度越高,同时运行目标检测模型所耗的计算资源也会同步增加。在本申请实施例中,在对样本图像进行处理之前,还可对基准的目标检测模型进行缩放处理,以使缩放处理后的目标检测模型与待部署环境相适配。例如,获取目标检测模型的待部署环境的模型复杂度要求,举例来说,若目标检测模型的待部署环境是移动手机端,则由于移动手机端的处理能力较差,故要求目标检测模型的复杂度较低;若目标检测模型的待部署环境是服务器,则由于服务器的处理能力通常较强,故要求目标检测模型的复杂度较高。对于不同的待部署环境来说,可以预先设定不同的模型复杂度要求。
在目标检测模型包括主干网络、特征增强模块以及检测头的情况下,根据得到的模型复杂度要求,对主干网络、特征增强模块以及检测头进行相同程度的缩放处理,即保证主干网络、特征增强模块以及检测头的复杂度相同或相近。例如,对于主干网络来说,在复杂度不同的多个主干网络(例如MobileNet和ResNet系列的分类网络)中,确定复杂度满足模型复杂度要求的主干网络,以作为缩放处理后的主干网络;对于特征增强模块和检测头来说,在与多个复杂度分别对应的多个缩放参数中,将满足模型复杂度要求的复杂度对应的缩放参数作为目标缩放参数,并根据目标缩放参数对特征增强模块和检测头中的通道数进行线性缩放处理,对网络层数量进行指数缩放处理,其中,线性缩放处理和指数缩放处理的公式可根据实际应用场景进行设定,通道数指的是卷积层中的卷积核数量,网络层数量是指能够实现相应部件(特征增强模块或检测头)的功能的网络层的套数。通常来说,通过一套网络层即可实现相应部件的功能,通过叠加多套网络层的方式可增强相应部件的功能,其中,一套网络层通常包括多个网络层。通过上述方式,提升了目标检测模型对于待部署环境的适用性。
在步骤202中,对第一特征图进行特征增强处理,得到第二特征图。
作为示例,参见图5,在第一检测模块2431中,通过特征增强模块对第一特征图进行特征增强处理,将特征增强处理得到的特征图命名为第二特征图,从而基于第一特征图和第二特征图,以伪两步法的方式进行模型训练。本申请实施例对特征增强模块及特征增强处理的方式不做限定,例如特征增强模块可以是特征金字塔网络(Feature PyramidNetwork,FPN)。
在一些实施例中,可以通过这样的方式来实现上述的对样本图像进行特征提取处理,得到第一特征图:对样本图像进行特征提取处理,得到多个尺度的第一特征图。可以通过这样的方式来实现上述的对第一特征图进行特征增强处理,得到第二特征图:将目标尺度的第一特征图与目标尺度的相邻尺度的第一特征图进行融合处理;对融合处理得到的特征图进行多次卷积处理,并将多次卷积处理得到的特征图进行拼接处理,得到目标尺度的第二特征图;其中,目标尺度为多个尺度中的任意一个尺度;目标尺度的相邻尺度包括大于且最接近目标尺度的尺度、以及小于且最接近目标尺度的尺度。
例如,在经过特征提取处理得到第一个第一特征图后,对该第一特征图再次进行特征提取处理,得到尺度更小的另一个第二特征图。如此,可得到多个尺度的第一特征图。对于每一个尺度的第一特征图来说,单独进行特征增强处理。
为了便于说明,将多个尺度中的任意一个尺度作为目标尺度,则在进行特征增强处理时,将目标尺度的第一特征图与目标尺度的相邻尺度的第一特征图进行融合处理,这里的相邻尺度包括大于且最接近目标尺度的尺度(当目标尺度是多个尺度中最大的尺度时,大于目标尺度的尺度不存在)、以及小于且最接近目标尺度的尺度(当目标尺度是多个尺度中最小的尺度时,小于目标尺度的尺度不存在),融合处理可以是将目标尺度的第一特征图和相邻尺度的第一特征图分别进行卷积处理后,再将卷积处理得到的结果拼接到一起。然后,对融合处理得到的特征图进行多次卷积处理,并将多次卷积处理得到的特征图进行拼接处理,得到目标尺度的第二特征图。通过特征增强处理,能够从第一特征图中提取出更有价值的信息,加强第二特征图的信息有效性。
在步骤203中,对第一特征图和第二特征图分别进行框预测处理,得到包括目标的预测框。
作为示例,参见图5,在第一检测模块2431中,检测头是主干网络和特征增强模块共享的,通过检测头对主干网络输出的第一特征图进行框预测处理,得到第一特征图中的候选框及对应的置信度,并将置信度大于置信度阈值的候选框确定为包括目标的预测框;同时,通过检测头对特征增强模块输出的第二特征图进行框预测处理,得到第二特征图中的候选框及对应的置信度,并将置信度大于置信度阈值的候选框确定为包括目标的预测框。其中,检测头可由分类器和回归器构成,例如检测头可根据Face R-CNN模型构建。
在图6B中,图6A示出的步骤103可以通过步骤204至步骤205实现,将结合各步骤进行说明。
在步骤204中,对第一特征图中预测框对应的损失值、以及第二特征图中预测框对应的损失值进行加权处理,得到样本图像对应的损失值。
例如,第一特征图中包括一个预测框A,经过步骤102后得到预测框A的损失值LossA;第二特征图中包括一个预测框B,经过步骤102后得到预测框B的损失值LossB。则在这里,对LossA和LossB进行加权求和,得到样本图像对应的损失值,LossA和LossB各自对应的权重可根据实际应用场景进行设定,对此不做限定。
在一些实施例中,可以通过这样的方式来实现上述的对第一特征图中预测框对应的损失值、以及第二特征图中预测框对应的损失值进行加权处理,得到样本图像对应的损失值:对目标尺度的第一特征图中预测框对应的损失值、以及目标尺度的第二特征图中预测框对应的损失值进行加权处理,得到目标尺度对应的损失值;对多个尺度对应的损失值进行平均处理,得到样本图像对应的损失值。
在存在多个尺度的第一特征图和第二特征图的情况下,针对不同尺度单独计算损失值。为了便于说明,将多个尺度中的任意一个尺度作为目标尺度,则对目标尺度的第一特征图中预测框对应的损失值、以及目标尺度的第二特征图中预测框对应的损失值进行加权求和(两个损失值分别对应的权重可根据实际应用场景进行设定),得到目标尺度对应的损失值。在得到每个尺度对应的损失值后,再对多个尺度对应的损失值进行平均处理,得到样本图像对应的损失值。通过上述方式,在存在多个尺度的情况下综合多个尺度的特征图的损失值,提升了根据最终得到的样本图像对应的损失值进行模型训练的效果。
在一些实施例中,可以通过这样的方式来实现上述的对第一特征图中预测框对应的损失值、以及第二特征图中预测框对应的损失值进行加权处理,得到样本图像对应的损失值:当预测框与标注框之间的交并比大于交并比阈值时,将预测框确定为正样本框;对第一特征图中每个预测框对应的损失值进行求和处理,并将求和处理的结果与第一特征图中正样本框的数量进行相除处理,得到第一特征图中预测框对应的平均损失值;对第二特征图中每个预测框对应的损失值进行求和处理,并将求和处理的结果与第二特征图中正样本框的数量进行相除处理,得到第二特征图中预测框对应的平均损失值;对第一特征图中预测框对应的平均损失值、以及第二特征图中预测框对应的平均损失值进行加权处理,得到样本图像对应的损失值。
在本申请实施例中,对第一特征图和第二特征图分别进行框预测处理后,第一特征图和第二特征图中可能均存在多个包括目标的预测框。对于该种情况,对多个预测框对应的损失值进行平均。例如,对于每一个特征图,计算其中包括目标的预测框与标注框之间的交并比,当该预测框与任意一个标注框之间的交并比大于交并比阈值时,认为该预测框实际包括有目标,将该预测框确定为正样本框,其中,交并比阈值可根据实际应用场景进行设定,如设定为0.7。然后,对于第一特征图,对第一特征图中每个预测框对应的损失值进行求和处理,并将求和处理的结果与第一特征图中正样本框的数量进行相除处理,得到第一特征图中所有预测框对应的平均损失值。同样地,对于第二特征图,对第二特征图中每个预测框对应的损失值进行求和处理,并将求和处理的结果与第二特征图中正样本框的数量进行相除处理,得到第二特征图中所有预测框对应的平均损失值。
最终,对第一特征图中所有预测框对应的平均损失值、以及第二特征图中所有预测框对应的平均损失值进行加权求和,得到样本图像对应的损失值。值得说明的是,在此基础上,若存在多个尺度的第一特征图和第二特征图,则对于每一个尺度,先对该尺度的第一特征图中所有预测框对应的平均损失值、以及该尺度的第二特征图中所有预测框对应的平均损失值进行加权求和,得到该尺度对应的损失值,再对所有尺度对应的损失值进行平均处理,得到样本图像对应的损失值。通过上述方式,在特征图中存在多个预测框的情况下,通过确定正样本框的数量,提升了根据最终得到的样本图像对应的损失值进行模型训练的效果。
在步骤205中,根据样本图像对应的损失值,在目标检测模型中进行反向传播,并在反向传播的过程中,更新目标检测模型的权重参数。
作为示例,参见图5,在反向传播模块2433中,根据样本图像对应的损失值在目标检测模型中进行反向传播,即按照检测头-特征增强模块-主干网络的顺序进行传播,在传播至每个网络层的过程中,根据样本图像对应的损失值确定出梯度,并沿梯度的下降方向更新传播至的当前层的权重参数。
通过申请实施例对于图6B的上述示例性实施可知,本申请实施例通过对第一特征图进行特征增强处理得到第二特征图,从而基于第一特征图和第二特征图,以伪两步法的方式进行模型训练,提升了模型训练的效果,加强了通过训练后的模型进行目标检测的精度。
在一些实施例中,参见图6C,图6C是本申请实施例提供的目标检测模型训练方法的一个可选的流程示意图,图6A示出的步骤102可以通过步骤301至步骤303实现,将结合各步骤进行说明。
在步骤301中,根据预测框的置信度与间隔值之间的差值,更新预测框的置信度,并根据预测框的置信度确定出第一损失值。
在本申请实施例中,目标检测模型的损失函数可由基于间隔值的分类损失函数和基于距离的回归损失函数共同构成。在基于间隔值的分类损失函数中,根据得到的预测框的置信度与间隔值之间的差值,更新预测框的置信度,从而增大样本图像中的目标和背景两类的类间距离,缩小类内距离,即扩大样本图像中的目标与背景之间的差异。完成置信度的更新后,根据预测框的置信度确定出第一损失值,例如可对置信度进行交叉熵处理,将得到的交叉熵损失值作为第一损失值。
在一些实施例中,可以通过这样的方式来实现上述的根据预测框的置信度与间隔值之间的差值,更新预测框的置信度,并根据预测框的置信度确定出第一损失值:当预测框与标注框之间的交并比大于交并比阈值时,根据预测框的置信度与间隔值之间的差值,更新预测框的置信度;当预测框与标注框之间的交并比小于或等于交并比阈值时,保持预测框的置信度不变;对预测框的置信度进行归一化处理,并对归一化处理后的所有预测框的置信度进行交叉熵处理,得到第一损失值。
这里,根据预测框是否实际包括有目标,来判断是否对预测框的置信度进行更新。例如,在得到预测框后,计算该预测框与样本图像中的所有标注框之间的交并比,当该预测框与任意一个标注框之间的交并比大于交并比阈值时,认为该预测框实际包括有目标,根据该预测框的置信度与间隔值之间的差值,更新该预测框的置信度;当该预测框与所有标注框之间的交并比均小于或等于交并比阈值时,认为该预测框实际未包括目标,保持该预测框的置信度不变。
然后,对每个预测框的置信度单独进行归一化处理,例如进行Softmax归一化处理。对归一化处理后的所有预测框的置信度进行交叉熵处理,例如代入传统的交叉熵损失函数,得到第一损失值,该第一损失值用于约束实际包括有目标的预测框的置信度尽量大,同时约束实际未包括目标的预测框的置信度尽量小。通过上述方式,根据预测框的实际情况来判断是否对预测框的置信度进行更新,提升了根据得到的第一损失值进行模型训练的效果。
在步骤302中,根据预测框与标注框之间的交并比和距离,确定出第二损失值。
在基于距离的回归损失函数中,根据预测框与标注框之间的交并比和距离,确定出第二损失值。
在一些实施例中,可以通过这样的方式来实现上述的根据预测框与标注框之间的交并比和距离,确定出第二损失值:当预测框与标注框之间的交并比大于交并比阈值时,确定预测框与标注框匹配;确定预测框与匹配的标注框之间的中心点距离;确定预测框与匹配的标注框的最小外接框,并确定最小外接框的对角线距离;将中心点距离、对角线距离和交并比进行融合处理,得到第二损失值。
同样地,在得到预测框后,计算该预测框与样本图像中的所有标注框之间的交并比,当该预测框与任意一个标注框之间的交并比大于交并比阈值时,确定该预测框与该标注框匹配,即该预测框实际包括有目标。然后,确定预测框的中心点与匹配的标注框的中心点之间的距离,以作为中心点距离,同时,确定预测框与匹配的标注框的最小外接框,并确定最小外接框的对角线距离,其中,最小外接框是指能够同时包括预测框和匹配的标注框,且面积最小的框。
将得到的中心点距离、对角线距离和交并比进行融合处理,得到第二损失值,例如,将中心点距离的平方与对角线距离的平方进行相除处理,并将得到的结果与交并比的自然对数进行相加处理,将相加处理的结果进行加1,得到第二损失值,该第二损失值用于约束实际包括有目标的预测框与匹配的标注框尽量接近。通过上述方式,提升了根据第二损失值进行模型训练的效果。
在步骤303中,对第一损失值和第二损失值进行加权处理,得到预测框对应的损失值。
这里,对第一损失值和第二损失值进行加权求和,得到预测框对应的损失值,第一损失值和第二损失值对应的权重可根据实际应用场景进行设定。通过该方式,能够有效地结合第一损失值和第二损失值,在分类和回归两个层面实现目标检测模型的有效训练。
通过申请实施例对于图6C的上述示例性实施可知,本申请实施例结合基于间隔值的分类损失函数以及基于距离的回归损失函数,共同进行目标检测模型的训练,提升了训练效果,有效地增大了目标和背景两类的类间距离,缩小了类内距离。
将结合本申请实施例提供的电子设备的示例性应用和实施,说明本申请实施例提供的目标检测方法。
参见图7,图7是本申请实施例提供的目标检测方法的流程示意图,将结合示出的各个步骤进行说明。
在步骤401中,服务器通过目标检测模型对样本图像进行检测处理,得到样本图像中包括目标的预测框。
在步骤402中,服务器根据包括间隔值和距离两个因素的损失函数,确定预测框对应的损失值。
在步骤403中,服务器根据预测框对应的损失值在目标检测模型中进行反向传播,并在反向传播的过程中,更新目标检测模型的权重参数。
在步骤404中,服务器将更新后得到的权重参数,作为训练完毕的目标检测模型所使用的权重参数,并将训练完毕的目标检测模型发送至终端设备。
步骤401至步骤404与上文的步骤101至步骤104类似,在此不做赘述。服务器完成对目标检测模型的训练后,将训练完毕的目标检测模型发送(部署)至终端设备,这里,终端设备即为目标检测模型的待部署环境。
在一些实施例中,步骤401至步骤404所涉及到的目标检测模型,是预先根据终端设备的模型复杂度要求,对基准的目标检测模型进行缩放处理得到的。如此,缩放处理后的目标检测模型的复杂度与终端设备的模型复杂度要求相符,能够更好地适配于终端设备。
在步骤405中,终端设备通过目标检测模型对待检测图像进行检测处理,得到待检测图像中的候选框及对应的置信度,并将置信度大于置信度阈值的候选框,确定为包括目标的预测框。
终端设备在接收到训练完毕的目标检测模型后,可将目标检测模型保存在本地。然后,终端设备获取待检测图像,通过目标检测模型对待检测图像进行检测处理,得到候选框及对应的置信度,并将置信度大于置信度阈值的候选框,确定为包括目标的预测框,其中,置信度阈值如0.5或其他数值,候选框可通过滑动窗口或选择性搜索(SelectiveSearch)等方式得到,根据目标检测模型的具体类型而定。
以人脸检测的场景进行举例,终端设备可以是门禁识别设备,当通过目标检测模型检测出门禁前的图像包括人脸时,开启门禁;还可以是人体测温设备,通过目标检测模型检测出某个路口的红外图像中的人脸,从而确定对应的人体的温度,实现非接触式的智能测温;还可以是口罩检测设备,通过目标检测模型检测出某个路口的图像中未佩戴口罩的人脸,进行记录或者发出预警信息,从而提升群众的安全意识。
在一些实施例中,可以通过这样的方式实现上述的通过目标检测模型对待检测图像进行检测处理,得到待检测图像中的候选框及对应的置信度,并将置信度大于置信度阈值的候选框,确定为包括目标的预测框:通过目标检测模型执行以下处理:对待检测图像进行特征提取处理,得到第一特征图;对第一特征图进行特征增强处理,得到第二特征图;对第二特征图进行框预测处理,得到候选框及对应的置信度,并将置信度大于置信度阈值的候选框,确定为包括目标的预测框。
例如,目标检测模型包括主干网络、特征增强模块和检测头,在获取到待检测图像后,通过主干网络对待检测图像进行特征提取处理得到第一特征图,通过特征增强模块对第一特征图进行特征增强处理得到第二特征图,通过检测头对第二特征图进行框预测处理,得到候选框及对应的置信度,并将置信度大于置信度阈值的候选框,确定为包括目标的预测框。与模型的训练过程不同的是,在通过目标检测模型进行目标检测时,仅根据第二特征图来确定预测框。相较于第一特征图,第二特征图包含了更有价值的信息,故能够提升最终得到的预测框的精度。
在一些实施例中,可以通过这样的方式实现上述的将置信度大于置信度阈值的候选框,确定为包括目标的预测框:将置信度大于置信度阈值的候选框添加至第一集合;将第一集合中置信度最高的候选框移动至第二集合,并确定第一集合中剩余的候选框与置信度最高的候选框之间的交并比,去除第一集合中交并比高于交并比阈值的候选框,直至第一集合为空;将第二集合中的候选框确定为包括目标的预测框。
在得到置信度大于置信度阈值的候选框后,不同的候选框之间可能存在包含或交叉的情况,故在本申请实施例中,可对候选框进行进一步筛选。例如,将置信度大于置信度阈值的候选框添加至第一集合,然后对第一集合执行循环操作,在每一次循环中,将第一集合中置信度最高的候选框移动至第二集合,并确定第一集合中剩余的候选框与移动至第二集合的、置信度最高的候选框之间的交并比,去除第一集合中交并比高于交并比阈值的候选框,循环的停止条件是第一集合为空。其中,这里的交并比阈值可设置为与上文的交并比阈值相同,当然也可以设置为不同,如设置为0.3~0.5区间内的数值,根据实际应用场景而定。
当第一集合为空时,将第二集合中的候选框确定为包括目标的预测框,从而进一步提升得到的预测框的精度。值得说明的是,若目标检测模型包括主干网络、特征增强模块及检测头,且对多个尺度的第二特征图进行框预测处理得到候选框及对应的置信度,则将多个尺度的第二特征图中置信度大于置信度阈值的候选框均添加至第一集合,并进行与上文相同的筛选操作,从而综合多个尺度的检测结果。
通过申请实施例对于图7的上述示例性实施可知,本申请实施例通过训练完毕的目标检测模型进行目标检测,能够有效地将待检测图像中的目标和背景区分开,提升目标检测的精度。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。为了便于说明,以人脸检测的场景进行举例,本申请实施例提供了如图8所示的目标检测模型的架构示意图,在图8中,对尺度为640×640的输入图像(包括有人脸标注框)进行特征提取处理,得到原始特征图(Original Feature),如图8示出的of_1、of_2、of_3、of_4、of_5和of_6,然后,对于每个原始特征图,通过特征增强模块进行特征增强处理,得到增强后的特征图(Enhanced Feature),如图8示出的ef_1、ef_2、ef_3、ef_4、ef_5和ef_6,其中,原始特征图对应上文的第一特征图,增强后的特征图对应上文的第二特征图。原始特征图和增强后的特征图构成了两个分支,对于每个分支,通过损失函数计算损失值,并根据得到的损失值对目标检测模型进行训练。
在相关技术提供的方案中,通过是根据Softmax损失函数和smooth-L1损失函数来进行模型训练,但是,根据该方案进行模型训练时,模型的收敛速度较慢,训练后的模型难以区分困难人脸和背景,并且预测出的人脸边界框(即预测框)的精准度较差。
针对于此,本申请实施例提供了一种基于距离的回归和基于间隔值的分类(Distance-based Regression and Margin-based Classification,DRMC)损失函数,该DRMC损失函数有助于预测出准确的人脸边界框,且能更好区分困难人脸和背景。此外,本申请实施例还提供了一种联合缩放的方式,通过联合缩放目标检测模型的主干网络、特征增强模块和检测头三个部件,平衡目标检测模型的复杂度和精度,构建一系列的目标检测模型家族,以适配不同的实际需求。下面进行详细说明。
本申请实施例提供了如图9所示的目标检测模型的架构示意图,首先,将包括有人脸标注框的样本图像输入到用于特征提取的主干网络中,主干网络会输出6个不同尺度的特征图(对应上文的第一特征图),构成第一分支,如图9示出的C2、C3、C4、C5、C6和C7,特征图的卷积步长(stride)分别是4、8、16、32、64和128。然后,将6个尺度的特征图输入至特征增强模块,由特征增强模块进一步加工得到新的特征图,即上文的第二特征图,构成第二分支,如图9示出的P′2、P′3、P′4、P′5、P′6和P′7。将增强前的特征图和增强后的特征图分别输入到共享的检测头中,得到预测框,然后再通过DRMC损失函数计算损失值,进行模型训练,其中,图9示出的检测头内的Conv是指卷积层,特征增强模块可以是通过神经网络架构搜索(Neural Architecture Search,NAS)设计的一种模块。
图10示出了特征增强模块的处理过程的示意图,每一条线上方的conv表示进行特征增强需要经过的卷积层,图10中的conv_1×1即表示尺度为1×1的卷积层,conv_1×3_3×1表示连接起来的尺度为1×3的卷积层和尺度为3×1的卷积层,以此类推,此外,图10中的sep_conv表示深度可分离卷积(depthwise separable convolution),dil_conv表示空洞卷积(dilated convolution)。图10示出的特征增强过程可拆分为两个部分,在第一部分中,将C2、C3、C4、C5、C6和C7中每个尺度的特征图的卷积结果与相邻尺度的特征图的卷积结果进行融合处理,融合处理如拼接处理,分别得到P2、P3、P4、P5、P6和P7;在第二部分中,对P2、P3、P4、P5、P6和P7中的每个特征图,进行多次卷积处理,并将多次卷积处理得到的特征图进行拼接处理(图10中的“+”操作),分别得到P′2、P′3、P′4、P′5、P′6和P′7,完成特征增强。
在本申请实施例中,DRMC损失函数由基于距离的回归损失函数和基于间隔值的分类损失函数组成。在传统的分类损失函数的基础上,本申请实施例引入间隔值的思想,构造新的基于间隔值的分类损失函数。通过间隔值m,使得困难人脸和背景两类类间距离增大,类内距离缩小,提升目标检测模型对背景和人脸的区分度,其中,m为大于0的数。基于间隔值的分类损失函数LMC可表示如下:
其中,x表示检测头输出的向量,该向量由n个预测框的置信度组成,xi表示第i个预测框的置信度,i为大于0且不超过n的整数。y为标签,当第i个预测框与样本图像中任意一个标注框的交并比大于设定的交并比阈值时,yi=1;否则,yi=0。上面公式中的[]表示判断函数,当方框内的内容成立时,判断函数的输出值为1;当其中的内容不成立时,判断函数的输出值为0,例如当yi=1时,[yi=1]的值为1,[yi=0]的值为0。另外,j为1到n之间的整数。
相较于传统的分类损失函数,本申请实施例中基于间隔值的分类损失函数的不同点在于,用特征x减去间隔值m。然后,再进行Softmax归一化处理和交叉熵处理。
在本申请实施例中,基于距离的回归损失函数LDR可表示如下:
其中,b表示预测框,g表示样本图像中与预测框的交并比大于交并比阈值的标注框,FIoU(b,g)表示交并比损失函数,Intersection(b,g)表示b与g之间的交集,Union(b,g)表示b与g之间的并集。此外,bc表示b的中心点,gc表示g的中心点,ρ表示欧式距离,c表示b和g的最小外接框的对角线距离。
在图9中,两个分支均可使用DRMC损失函数,因此双分支DRMC损失函数可以表示为:
其中,表示第1个分支中的第i个预测框,表示样本图像中与的交并比大于交并比阈值的标注框。表示第1个分支中的第i个预测框的置信度,对应上文的xi,表示第1个分支中的第i个预测框的标签,对应上文的yi,以此类推。λ1是基于距离的回归损失函数的权重,基于间隔值的分类损失函数的权重默认为1;λ2是第1个分支的权重,第2个分支的权重默认为1。另外,N1表示第1个分支中与标注框的交并比大于交并比阈值的预测框的数量,即上文的正样本框的数量,N2表示第2个分支中的正样本框的数量。
发明人在WIDER FACE数据集上进行了实验验证,实验结果如下:
其中,Easy、Medium和Hard是WIDER FACE数据集的三个评测子集,人脸检测的难度逐渐递增,表中的指标为mAP。根据实验结果可确定,在使用了双分支和DRMC损失函数后,人脸检测的精度实现了有效提升。值得说明的是,本申请实施例中,在通过训练完毕的目标检测模型对待检测图像进行目标检测时,仅通过第2个分支(即使用增强后的特征图)来得到预测框。
此外,为了满足不同部署环境的模型复杂度要求,本申请实施例通过一个缩放参数协同缩放目标检测模型的主干网络、特征增强模块和检测头3个部件,平衡模型复杂度和精度,值得说明的是,不同于EfficientDet模型和EfficientNet模型,本申请实施例并未对图像的分辨率进行缩放,因为缩小图片分辨率会严重影响到小脸的召回率。
对于主干网络,采用MobileNet和ResNet系列的分类网络。对于特征增强模块,通过缩放参数线性增减特征增强模块中的通道数(channels),指数增减特征增强模块中的层数(layers),其中,通道数指的是卷积层中的卷积核数量,层数指的是能够实现特征增强功能的网络层的套数。对于检测头,使其通道数和特征增强模块一致,指数增减检测头中的层数,这里的层数指的是能够实现检测头的功能的网络层的套数。对于特征增强模块和检测头来说,缩放方式可以表示为:
其中,wfem表示特征增强模块中的通道数,whead表示检测头中的通道数,Dfem表示特征增强模块中的层数,该层数的取值范围可限定为0.5、1和2等多个数值,Dhead表示检测头中的层数,该层数的取值范围可限定为1、2和4等多个数值,θ表示缩放参数。
在本申请实施例中,可以对基准的1个目标检测模型进行缩放处理,最终得到7个或者更多的目标检测模型,构建目标检测模型家族。7个版本的目标检测模型可用于适配具有不同模型复杂度要求的待部署环境,7个版本的配置如下,这里的基准的目标检测模型可以是D0至D6中的任一个目标检测模型:
其中,对于θ=2等情况,由于计算出的特征增强模块的层数不为取值范围(即0.5、1和2)内的任一个数值,故可根据计算出的层数进行向下取值,直至得到的数值为取值范围内的数值,检测头的层数同理。值得说明的是,之所以特征增强模块中的层数可以为0.5,是由于在本申请实施例中,特征增强的过程可拆分为两个部分,在第一部分中将每个尺度的特征图的卷积结果与相邻尺度的特征图的卷积结果进行融合处理,在第二部分中对特征图进行多次卷积处理,并将多次卷积处理得到的特征图进行拼接处理,即能够实现特征增强功能的整套网络层由第一部分的网络层和第二部分的网络层构成。而在实际应用场景中,也可仅根据第一部分或第二部分的网络层来实现特征增强,故特征增强模块的层数可为0.5,即使用半套网络层。
目标检测模型家族可用于适配不同待部署环境的模型复杂度要求,其中,目标检测模型D0的参数量仅有0.62M,目标检测的速度达到120帧每秒(Frame Per Second,FPS),模型更轻量,适用于部署至移动端,其中,参数量的单位M是指百万,即Millions;目标检测模型D6在WIDER FACE和FDDB两个人脸检测数据集的榜单上超过了传统的目标检测模型,取得第一名。下面示出了本申请实施例的目标检测模型与传统的目标检测模型的指标对比:
其中,Params表示参数量;FLOPs表示浮点运算次数,即floating pointoperations,用于体现模型的复杂度,单位为Billions,即十亿;LAT表示计算耗时,即Latency,单位为毫秒。另外,表中还示出了传统的细小人脸检测器(Extremely Tiny FaceDetector,EXTD)、选择性细化网络(Selective Refinement Network,SRN)模型、RetinaFace模型、PyramidBox模型及双分支人脸检测器(Dual Shot Face Detector,DSFD)。
此外,发明人在WIDER FACE数据集的三个评测子集Easy、Medium和Hard上进行了实验验证,得到了如图11A、图11B和图11C所示的精确率(Precision)和召回率(Recall)的指标示意图。在图11A中,从左至右依次为Two-stage卷积神经网络(Convolutional NeuralNetwork,CNN)模型、局部无关通道特征(Locally Decorrelated Channel Features,LDCF)检测模型、多尺度卷积神经网络(Multi-Scale Convolutional Neural Network,MSCNN)模型、单级无头(Single Stage Headless,SSH)人脸检测模型、SFDet模型、EXTD模型和本申请实施例提供的目标检测模型,图11B和图11C同理。可见,本申请实施例提供的目标检测模型在精确率和召回率曲线中,往右上方向凸起的程度最高,即相较于传统的目标检测模型,精确率更高。
发明人在FDDB数据集的两个评测子集上进行了实验验证,得到了如图12A和图12B所示的正样本预测为正的比例(True positive rate)和负样本预测为正的数量(Falsepositive)的指标示意图。在图12A中,从上至下依次为本申请实施例提供的目标检测模型、DSFD模型、PyramidBox模型、FastCNN模型、聚合通道特征(Aggregate Channel Feature,ACF)检测模型、深度全连接人脸检测器(Deep Dense Face Detector,DDFD)和XZJY人脸检测模型,图12B同理。可见,本申请实施例提供的目标检测模型相较于传统的目标检测模型,True positive rate更高,能够得到更准确的检测结果。
对于在WIDER FACE数据集上进行的实验验证,本申请实施例还提供了如图13A所示的mAP和Params的指标示意图,如图13B所示的mAP和FLOPs的指标示意图,如图13C所示的mAP和LAT的指标示意图。在图13A、图13B和图13C中,D0至D6即为本申请实施例提供的目标检测模型家族,示出的①表示PyramidBox模型,②表示RetinaFace-Res50模型,③表示DSFD模型,④表示EXTD模型,⑤表示RetinaFace-Mobile0.25模型。可见,本申请实施例提供的目标检测模型在mAP、Params、FLOPs和LAT等指标上均超越了传统的目标检测模型。
作为示例,本申请实施例提供了如图14所示的目标检测的结果示意图,图14示出了多张待检测图像,以及通过本申请实施例提供的目标检测模型进行人脸检测后,得到的待检测图像中的预测框,即人脸边界框。
综上,相较于传统的目标检测模型,本申请实施例提供的目标检测模型在参数量、复杂度及耗时等指标上均实现了超越,能够很好地解决尺度、姿态、表情、遮挡及光照等因素对人脸检测的影响。
人脸检测是人脸应用中最基础、也是最重要的一个过程,服务于人脸识别及人脸配准等,在各个业务上广泛应用。本申请实施例提供的目标检测模型可应用于人脸检测的多种应用场景,例如在远距离自动测温中,通过检测红外相机拍摄到的图像中的人脸框,精准计算人体温度,避免通过测温枪测量体温带来的病毒二次传播;又例如在一些公共场合中,对未佩戴口罩的人脸进行检测,从而进行记录或预警,有助于提升群众的安全意识。
下面继续说明本申请实施例提供的目标检测模型训练装置243实施为软件模块的示例性结构,在一些实施例中,如图4A所示,存储在存储器240的目标检测模型训练装置243中的软件模块可以包括:第一检测模块2431,用于通过目标检测模型对样本图像进行检测处理,得到样本图像中包括目标的预测框;损失确定模块2432,用于根据包括间隔值和距离两个因素的损失函数,确定预测框对应的损失值;其中,间隔值用于扩大目标与样本图像中的背景之间的差异;距离表示预测框与样本图像中包括目标的标注框之间的距离;反向传播模块2433,用于根据预测框对应的损失值在目标检测模型中进行反向传播,并在反向传播的过程中,更新目标检测模型的权重参数;确定模块2434,用于将更新后得到的权重参数,作为训练完毕的目标检测模型所使用的权重参数。
在一些实施例中,第一检测模块2431,还用于:通过目标检测模型执行以下处理:对样本图像进行特征提取处理,得到第一特征图;对第一特征图进行特征增强处理,得到第二特征图;对第一特征图和第二特征图分别进行框预测处理,得到包括目标的预测框。
在一些实施例中,反向传播模块2433,还用于:对第一特征图中预测框对应的损失值、以及第二特征图中预测框对应的损失值进行加权处理,得到样本图像对应的损失值;根据样本图像对应的损失值,在目标检测模型中进行反向传播。
在一些实施例中,第一检测模块2431,还用于:对样本图像进行特征提取处理,得到多个尺度的第一特征图;将目标尺度的第一特征图与目标尺度的相邻尺度的第一特征图进行融合处理;对融合处理得到的特征图进行多次卷积处理,并将多次卷积处理得到的特征图进行拼接处理,得到目标尺度的第二特征图;其中,目标尺度为多个尺度中的任意一个尺度;目标尺度的相邻尺度包括大于且最接近目标尺度的尺度、以及小于且最接近目标尺度的尺度。
在一些实施例中,反向传播模块2433,还用于:对目标尺度的第一特征图中预测框对应的损失值、以及目标尺度的第二特征图中预测框对应的损失值进行加权处理,得到目标尺度对应的损失值;对多个尺度对应的损失值进行平均处理,得到样本图像对应的损失值。
在一些实施例中,反向传播模块2433,还用于:当预测框与标注框之间的交并比大于交并比阈值时,将预测框确定为正样本框;对第一特征图中每个预测框对应的损失值进行求和处理,并将求和处理的结果与第一特征图中正样本框的数量进行相除处理,得到第一特征图中预测框对应的平均损失值;对第二特征图中每个预测框对应的损失值进行求和处理,并将求和处理的结果与第二特征图中正样本框的数量进行相除处理,得到第二特征图中预测框对应的平均损失值;对第一特征图中预测框对应的平均损失值、以及第二特征图中预测框对应的平均损失值进行加权处理,得到样本图像对应的损失值。
在一些实施例中,目标检测模型包括主干网络、特征增强模块以及检测头;目标检测模型训练装置243还包括:要求获取模块,用于获取目标检测模型的待部署环境的模型复杂度要求;缩放模块,用于根据模型复杂度要求,对主干网络、特征增强模块以及检测头进行相同程度的缩放处理;其中,主干网络用于进行特征提取处理;特征增强模块用于进行特征增强处理;检测头用于进行框预测处理。
在一些实施例中,缩放模块还用于:在复杂度不同的多个主干网络中,确定复杂度满足模型复杂度要求的主干网络,以作为缩放处理后的主干网络;在与多个复杂度分别对应的多个缩放参数中,确定满足模型复杂度要求的复杂度对应的缩放参数,以作为目标缩放参数;根据目标缩放参数,对特征增强模块和检测头中的通道数进行线性缩放处理,并对特征增强模块和检测头中的网络层数量进行指数缩放处理。
在一些实施例中,损失确定模块2432,还用于:根据预测框的置信度与间隔值之间的差值,更新预测框的置信度,并根据预测框的置信度确定出第一损失值;根据预测框与标注框之间的交并比和距离,确定出第二损失值;对第一损失值和第二损失值进行加权处理,得到预测框对应的损失值。
在一些实施例中,损失确定模块2432,还用于:当预测框与标注框之间的交并比大于交并比阈值时,根据预测框的置信度与间隔值之间的差值,更新预测框的置信度;当预测框与标注框之间的交并比小于或等于交并比阈值时,保持预测框的置信度不变;对预测框的置信度进行归一化处理,并对归一化处理后的所有预测框的置信度进行交叉熵处理,得到第一损失值。
在一些实施例中,损失确定模块2432,还用于:当预测框与标注框之间的交并比大于交并比阈值时,确定预测框与标注框匹配;确定预测框与匹配的标注框之间的中心点距离;确定预测框与匹配的标注框的最小外接框,并确定最小外接框的对角线距离;将中心点距离、对角线距离和交并比进行融合处理,得到第二损失值。
下面继续说明本申请实施例提供的目标检测装置455实施为软件模块的示例性结构,在一些实施例中,如图4B所示,存储在存储器450的目标检测装置455中的软件模块可以包括:第二检测模块4551,用于通过目标检测模型对待检测图像进行检测处理,得到待检测图像中的候选框及对应的置信度,并将置信度大于置信度阈值的候选框,确定为包括目标的预测框;其中,目标检测模型是根据包括间隔值和距离的损失函数训练得到;间隔值用于扩大目标与样本图像中的背景之间的差异;距离表示样本图像中包括目标的预测框与标注框之间的距离。
在一些实施例中,第二检测模块4551,还用于:通过目标检测模型执行以下处理:对待检测图像进行特征提取处理,得到第一特征图;对第一特征图进行特征增强处理,得到第二特征图;对第二特征图进行框预测处理,得到候选框及对应的置信度,并将置信度大于置信度阈值的候选框,确定为包括目标的预测框。
在一些实施例中,目标检测模型是根据待部署环境的模型复杂度要求,对基准的目标检测模型进行缩放处理得到的。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图6A、图6B或图6C示出的目标检测模型训练方法,或者如图7示出的目标检测方法。值得说明的是,计算机包括终端设备和服务器在内的各种计算设备。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上,通过本申请实施例能够实现以下技术效果:
1)根据包括间隔值和距离两个因素的损失函数,对目标检测模型进行训练,能够增大目标和背景两类的类间距离,缩小类内距离,提升目标检测模型对于背景和目标的区分度,即提升目标检测的效率和精度。
2)通过对第一特征图进行特征增强处理得到第二特征图,从而基于第一特征图和第二特征图,以伪两步法的方式进行模型训练,提升了模型训练的效果,并在模型预测时,通过第二特征图来得到最终的预测框,进一步提升了目标检测的精度。
3)通过对主干网络、特征增强模块和检测头进行协同缩放,能够满足移动端及后台等多种部署环境的模型复杂度要求,提升了目标检测模型的适用性。
4)经发明人实验验证,本申请实施例提供的目标检测模型在平均精度均值、参数量、复杂度及计算耗时等指标上均超越了传统的目标检测模型,能够适用于目标检测的多种应用场景,如对人脸、车辆或建筑的检测。
以上,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (14)
1.一种目标检测模型训练方法,其特征在于,包括:
通过目标检测模型对样本图像进行检测处理,得到所述样本图像中包括目标的预测框;
根据以下的分类损失函数确定所述预测框的第一损失值:
其中,所述xi为第i个预测框的置信度;所述i和所述j均为大于零且不超过n的整数,所述n为所述样本图像中预测框的总数;
其中,当所述第i个预测框与所述样本图像中包括所述目标的任意一个标注框之间的交并比大于交并比阈值时,所述yi的值为1;
其中,当所述第i个预测框与所有所述标注框之间的交并比均小于或等于所述交并比阈值时,所述yi的值为0;
其中,所述m用于扩大所述目标与所述样本图像中的背景之间的差异;所述m为大于零的数;
确定所述预测框与匹配的所述标注框之间的中心点距离;其中,所述预测框与匹配的所述标注框之间的交并比大于所述交并比阈值;
确定所述预测框与匹配的所述标注框的最小外接框,并确定所述最小外接框的对角线距离;
将所述中心点距离、所述对角线距离、以及所述预测框与匹配的所述标注框之间的交并比进行融合处理,得到第二损失值;
对所述第一损失值和所述第二损失值进行加权处理,得到所述预测框对应的损失值;
根据所述预测框对应的损失值在所述目标检测模型中进行反向传播,并在反向传播的过程中,更新所述目标检测模型的权重参数;
将更新后得到的权重参数,作为训练完毕的所述目标检测模型所使用的权重参数。
2.根据权利要求1所述的目标检测模型训练方法,其特征在于,
所述通过目标检测模型对样本图像进行检测处理,得到所述样本图像中包括目标的预测框,包括:
通过目标检测模型执行以下处理:
对样本图像进行特征提取处理,得到第一特征图;
对所述第一特征图进行特征增强处理,得到第二特征图;
对所述第一特征图和所述第二特征图分别进行框预测处理,得到包括目标的预测框;
所述根据所述预测框对应的损失值在所述目标检测模型中进行反向传播,包括:
对所述第一特征图中预测框对应的损失值、以及所述第二特征图中预测框对应的损失值进行加权处理,得到所述样本图像对应的损失值;
根据所述样本图像对应的损失值,在所述目标检测模型中进行反向传播。
3.根据权利要求2所述的目标检测模型训练方法,其特征在于,
所述对样本图像进行特征提取处理,得到第一特征图,包括:
对样本图像进行特征提取处理,得到多个尺度的第一特征图;
所述对所述第一特征图进行特征增强处理,得到第二特征图,包括:
将目标尺度的第一特征图与所述目标尺度的相邻尺度的第一特征图进行融合处理;
对融合处理得到的特征图进行多次卷积处理,并将多次卷积处理得到的特征图进行拼接处理,得到所述目标尺度的第二特征图;
其中,所述目标尺度为所述多个尺度中的任意一个尺度;所述目标尺度的相邻尺度包括大于且最接近所述目标尺度的尺度、以及小于且最接近所述目标尺度的尺度。
4.根据权利要求3所述的目标检测模型训练方法,其特征在于,所述对所述第一特征图中预测框对应的损失值、以及所述第二特征图中预测框对应的损失值进行加权处理,得到所述样本图像对应的损失值,包括:
对所述目标尺度的所述第一特征图中预测框对应的损失值、以及所述目标尺度的所述第二特征图中预测框对应的损失值进行加权处理,得到所述目标尺度对应的损失值;
对所述多个尺度对应的损失值进行平均处理,得到所述样本图像对应的损失值。
5.根据权利要求2所述的目标检测模型训练方法,其特征在于,所述对所述第一特征图中预测框对应的损失值、以及所述第二特征图中预测框对应的损失值进行加权处理,得到所述样本图像对应的损失值,包括:
当所述预测框与所述标注框之间的交并比大于所述交并比阈值时,将所述预测框确定为正样本框;
对所述第一特征图中每个预测框对应的损失值进行求和处理,并
将求和处理的结果与所述第一特征图中正样本框的数量进行相除处理,得到所述第一特征图中预测框对应的平均损失值;
对所述第二特征图中每个预测框对应的损失值进行求和处理,并
将求和处理的结果与所述第二特征图中正样本框的数量进行相除处理,得到所述第二特征图中预测框对应的平均损失值;
对所述第一特征图中预测框对应的平均损失值、以及所述第二特征图中预测框对应的平均损失值进行加权处理,得到所述样本图像对应的损失值。
6.根据权利要求2所述的目标检测模型训练方法,其特征在于,所述目标检测模型包括主干网络、特征增强模块以及检测头;
通过目标检测模型对样本图像进行检测处理之前,所述目标检测模型训练方法还包括:
获取所述目标检测模型的待部署环境的模型复杂度要求;
根据所述模型复杂度要求,对所述主干网络、所述特征增强模块以及所述检测头进行相同程度的缩放处理;
其中,所述主干网络用于进行特征提取处理;所述特征增强模块用于进行特征增强处理;所述检测头用于进行框预测处理。
7.根据权利要求6所述的目标检测模型训练方法,其特征在于,所述根据所述模型复杂度要求,对所述主干网络、所述特征增强模块以及所述检测头进行相同程度的缩放处理,包括:
在复杂度不同的多个主干网络中,确定复杂度满足所述模型复杂度要求的主干网络,以作为缩放处理后的主干网络;
在与多个复杂度分别对应的多个缩放参数中,确定满足所述模型复杂度要求的复杂度对应的缩放参数,以作为目标缩放参数;
根据所述目标缩放参数,对所述特征增强模块和所述检测头中的通道数进行线性缩放处理,并
对所述特征增强模块和所述检测头中的网络层数量进行指数缩放处理。
8.一种目标检测方法,其特征在于,包括:
通过目标检测模型对待检测图像进行检测处理,得到所述待检测图像中的候选框及对应的置信度,并
将置信度大于置信度阈值的候选框,确定为包括目标的预测框;
其中,所述目标检测模型通过以下方式进行训练:
通过所述目标检测模型对样本图像进行检测处理,得到所述样本图像中包括目标的预测框;
根据以下的分类损失函数确定所述预测框的第一损失值:
其中,所述xi为第i个预测框的置信度;所述i和所述j均为大于零且不超过n的整数,所述n为所述样本图像中预测框的总数;
其中,当所述第i个预测框与所述样本图像中包括所述目标的任意一个标注框之间的交并比大于交并比阈值时,所述yi的值为1;
其中,当所述第i个预测框与所有所述标注框之间的交并比均小于或等于所述交并比阈值时,所述yi的值为0;
其中,所述m用于扩大所述目标与所述样本图像中的背景之间的差异;所述m为大于零的数;
确定所述预测框与匹配的所述标注框之间的中心点距离;其中,所述预测框与匹配的所述标注框之间的交并比大于所述交并比阈值;
确定所述预测框与匹配的所述标注框的最小外接框,并确定所述最小外接框的对角线距离;
将所述中心点距离、所述对角线距离、以及所述预测框与匹配的所述标注框之间的交并比进行融合处理,得到第二损失值;
对所述第一损失值和所述第二损失值进行加权处理,得到所述预测框对应的损失值;
根据所述预测框对应的损失值在所述目标检测模型中进行反向传播,并在反向传播的过程中,更新所述目标检测模型的权重参数;
将更新后得到的权重参数,作为训练完毕的所述目标检测模型所使用的权重参数。
9.根据权利要求8所述的目标检测方法,其特征在于,所述通过目标检测模型对待检测图像进行检测处理,得到所述待检测图像中的候选框及对应的置信度,并将置信度大于置信度阈值的候选框,确定为包括目标的预测框,包括:
通过目标检测模型执行以下处理:
对待检测图像进行特征提取处理,得到第一特征图;
对所述第一特征图进行特征增强处理,得到第二特征图;
对所述第二特征图进行框预测处理,得到候选框及对应的置信度,并
将置信度大于置信度阈值的候选框,确定为包括目标的预测框。
10.根据权利要求8所述的目标检测方法,其特征在于,所述目标检测模型是根据待部署环境的模型复杂度要求,对基准的目标检测模型进行缩放处理得到的。
11.一种目标检测模型训练装置,其特征在于,包括:
第一检测模块,用于通过目标检测模型对样本图像进行检测处理,得到所述样本图像中包括目标的预测框;
损失确定模块,用于:
根据以下的分类损失函数确定所述预测框的第一损失值:
其中,所述xi为第i个预测框的置信度;所述i和所述j均为大于零且不超过n的整数,所述n为所述样本图像中预测框的总数;
其中,当所述第i个预测框与所述样本图像中包括所述目标的任意一个标注框之间的交并比大于交并比阈值时,所述yi的值为1;
其中,当所述第i个预测框与所有所述标注框之间的交并比均小于或等于所述交并比阈值时,所述yi的值为0;
其中,所述m用于扩大所述目标与所述样本图像中的背景之间的差异;所述m为大于零的数;
确定所述预测框与匹配的所述标注框之间的中心点距离;其中,所述预测框与匹配的所述标注框之间的交并比大于所述交并比阈值;
确定所述预测框与匹配的所述标注框的最小外接框,并确定所述最小外接框的对角线距离;
将所述中心点距离、所述对角线距离、以及所述预测框与匹配的所述标注框之间的交并比进行融合处理,得到第二损失值;
对所述第一损失值和所述第二损失值进行加权处理,得到所述预测框对应的损失值;
反向传播模块,用于根据所述预测框对应的损失值在所述目标检测模型中进行反向传播,并在反向传播的过程中,更新所述目标检测模型的权重参数;
确定模块,用于将更新后得到的权重参数,作为训练完毕的所述目标检测模型所使用的权重参数。
12.一种目标检测装置,其特征在于,包括:
第二检测模块,用于通过目标检测模型对待检测图像进行检测处理,得到所述待检测图像中的候选框及对应的置信度,并
将置信度大于置信度阈值的候选框,确定为包括目标的预测框;
其中,所述目标检测模型通过以下方式进行训练:
通过所述目标检测模型对样本图像进行检测处理,得到所述样本图像中包括目标的预测框;
根据以下的分类损失函数确定所述预测框的第一损失值:
其中,所述xi为第i个预测框的置信度;所述i和所述j均为大于零且不超过n的整数,所述n为所述样本图像中预测框的总数;
其中,当所述第i个预测框与所述样本图像中包括所述目标的任意一个标注框之间的交并比大于交并比阈值时,所述yi的值为1;
其中,当所述第i个预测框与所有所述标注框之间的交并比均小于或等于所述交并比阈值时,所述yi的值为0;
其中,所述m用于扩大所述目标与所述样本图像中的背景之间的差异;所述m为大于零的数;
确定所述预测框与匹配的所述标注框之间的中心点距离;其中,所述预测框与匹配的所述标注框之间的交并比大于所述交并比阈值;
确定所述预测框与匹配的所述标注框的最小外接框,并确定所述最小外接框的对角线距离;
将所述中心点距离、所述对角线距离、以及所述预测框与匹配的所述标注框之间的交并比进行融合处理,得到第二损失值;
对所述第一损失值和所述第二损失值进行加权处理,得到所述预测框对应的损失值;
根据所述预测框对应的损失值在所述目标检测模型中进行反向传播,并在反向传播的过程中,更新所述目标检测模型的权重参数;
将更新后得到的权重参数,作为训练完毕的所述目标检测模型所使用的权重参数。
13.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至7任一项所述的目标检测模型训练方法,或者权利要求8至10任一项所述的目标检测方法。
14.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至7任一项所述的目标检测模型训练方法,或者权利要求8至10任一项所述的目标检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010450890.1A CN111626350B (zh) | 2020-05-25 | 2020-05-25 | 目标检测模型训练方法、目标检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010450890.1A CN111626350B (zh) | 2020-05-25 | 2020-05-25 | 目标检测模型训练方法、目标检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111626350A CN111626350A (zh) | 2020-09-04 |
CN111626350B true CN111626350B (zh) | 2021-05-18 |
Family
ID=72259071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010450890.1A Active CN111626350B (zh) | 2020-05-25 | 2020-05-25 | 目标检测模型训练方法、目标检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111626350B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112308827A (zh) * | 2020-10-23 | 2021-02-02 | 复旦大学 | 基于深度卷积神经网络的毛囊检测方法 |
CN112446378B (zh) * | 2020-11-30 | 2022-09-16 | 展讯通信(上海)有限公司 | 目标检测方法及装置、存储介质、终端 |
CN112541948B (zh) * | 2020-12-11 | 2023-11-21 | 深圳市优必选科技股份有限公司 | 一种物体检测方法、装置、终端设备及存储介质 |
US11625938B2 (en) | 2020-12-29 | 2023-04-11 | Industrial Technology Research Institute | Method and device for detecting human skeletons |
CN112734740B (zh) * | 2021-01-18 | 2024-02-23 | 推想医疗科技股份有限公司 | 训练目标检测模型的方法、目标检测的方法及其装置 |
CN112818975A (zh) * | 2021-01-27 | 2021-05-18 | 北京金山数字娱乐科技有限公司 | 文本检测模型训练方法及装置、文本检测方法及装置 |
CN112906502B (zh) * | 2021-01-29 | 2023-08-01 | 北京百度网讯科技有限公司 | 目标检测模型的训练方法、装置、设备以及存储介质 |
CN112906810B (zh) * | 2021-03-08 | 2024-04-16 | 共达地创新技术(深圳)有限公司 | 目标检测方法、电子设备和存储介质 |
CN113158971B (zh) * | 2021-05-11 | 2024-03-08 | 北京易华录信息技术股份有限公司 | 一种事件检测模型训练方法及事件分类方法、*** |
CN113159300B (zh) * | 2021-05-15 | 2024-02-27 | 南京逸智网络空间技术创新研究院有限公司 | 图像检测神经网络模型及其训练方法、图像检测方法 |
CN113255820B (zh) * | 2021-06-11 | 2023-05-02 | 成都通甲优博科技有限责任公司 | 落石检测模型训练方法、落石检测方法及相关装置 |
CN113554550B (zh) * | 2021-06-30 | 2023-08-04 | 北京百度网讯科技有限公司 | 图像处理模型的训练方法、装置、电子设备及存储介质 |
CN113749690B (zh) * | 2021-09-24 | 2024-01-30 | 无锡祥生医疗科技股份有限公司 | 血管的血流量测量方法、装置及存储介质 |
CN113673541B (zh) * | 2021-10-21 | 2022-02-11 | 广州微林软件有限公司 | 一种用于目标检测的图像样本生成方法及应用 |
CN115690545B (zh) * | 2021-12-03 | 2024-06-11 | 北京百度网讯科技有限公司 | 训练目标跟踪模型和目标跟踪的方法和装置 |
CN114492761A (zh) * | 2022-02-09 | 2022-05-13 | 腾讯科技(深圳)有限公司 | 编码模型的获取方法、聚类方法、装置、设备及介质 |
CN117036670B (zh) * | 2022-10-20 | 2024-06-07 | 腾讯科技(深圳)有限公司 | 质量检测模型的训练方法、装置、设备、介质及程序产品 |
CN115457036B (zh) * | 2022-11-10 | 2023-04-25 | 中国平安财产保险股份有限公司 | 检测模型训练方法、智能点数方法和相关设备 |
CN116385278B (zh) * | 2022-12-30 | 2023-10-10 | 南京航空航天大学 | 一种低光照图像视觉特征自监督表示方法和*** |
CN115984275A (zh) * | 2023-03-20 | 2023-04-18 | 菲特(天津)检测技术有限公司 | 一种用于缺陷检测的yolov5优化方法及优化*** |
CN116229336B (zh) * | 2023-05-10 | 2023-08-18 | 江西云眼视界科技股份有限公司 | 视频移动目标识别方法、***、存储介质及计算机 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108171136A (zh) * | 2017-12-21 | 2018-06-15 | 浙江银江研究院有限公司 | 一种多任务卡口车辆以图搜图的***及方法 |
CN109635740A (zh) * | 2018-12-13 | 2019-04-16 | 深圳美图创新科技有限公司 | 视频目标检测方法、装置及图像处理设备 |
CN110852179A (zh) * | 2019-10-17 | 2020-02-28 | 天津大学 | 基于视频监控平台的可疑人员入侵的检测方法 |
CN111079655A (zh) * | 2019-12-18 | 2020-04-28 | 航天物联网技术有限公司 | 一种基于融合神经网络的视频中人体行为识别方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9224071B2 (en) * | 2012-11-19 | 2015-12-29 | Microsoft Technology Licensing, Llc | Unsupervised object class discovery via bottom up multiple class learning |
US10325351B2 (en) * | 2016-03-11 | 2019-06-18 | Qualcomm Technologies, Inc. | Systems and methods for normalizing an image |
CN107273926A (zh) * | 2017-06-12 | 2017-10-20 | 大连海事大学 | 一种基于余弦相似度加权的线性判别分析降维方法 |
US10575699B2 (en) * | 2018-01-05 | 2020-03-03 | Irobot Corporation | System for spot cleaning by a mobile robot |
CN108875588B (zh) * | 2018-05-25 | 2022-04-15 | 武汉大学 | 基于深度学习的跨摄像头行人检测跟踪方法 |
CN111104831B (zh) * | 2018-10-29 | 2023-09-29 | 香港城市大学深圳研究院 | 一种视觉追踪方法、装置、计算机设备以及介质 |
-
2020
- 2020-05-25 CN CN202010450890.1A patent/CN111626350B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108171136A (zh) * | 2017-12-21 | 2018-06-15 | 浙江银江研究院有限公司 | 一种多任务卡口车辆以图搜图的***及方法 |
CN109635740A (zh) * | 2018-12-13 | 2019-04-16 | 深圳美图创新科技有限公司 | 视频目标检测方法、装置及图像处理设备 |
CN110852179A (zh) * | 2019-10-17 | 2020-02-28 | 天津大学 | 基于视频监控平台的可疑人员入侵的检测方法 |
CN111079655A (zh) * | 2019-12-18 | 2020-04-28 | 航天物联网技术有限公司 | 一种基于融合神经网络的视频中人体行为识别方法 |
Non-Patent Citations (2)
Title |
---|
DSFD: Dual Shot Face Detector;Jian Li 等;《2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)》;20200109;第5055-5064页 * |
One-Shot Object Detection with Co-Attention and Co-Excitation;Ting-I Hsieh 等;《https://arxiv.org/abs/1911.12529?context=cs.CV》;20191128;第1-10页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111626350A (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111626350B (zh) | 目标检测模型训练方法、目标检测方法及装置 | |
CN112052787B (zh) | 基于人工智能的目标检测方法、装置及电子设备 | |
CN111046980B (zh) | 一种图像检测方法、装置、设备及计算机可读存储介质 | |
CN112434721A (zh) | 一种基于小样本学习的图像分类方法、***、存储介质及终端 | |
CN111325319B (zh) | 一种神经网络模型的检测方法、装置、设备及存储介质 | |
CN110781919A (zh) | 分类模型训练方法、分类方法、装置及设备 | |
CN110929807A (zh) | 图像分类模型的训练方法、图像分类方法及装置 | |
CN111368672A (zh) | 一种用于遗传病面部识别模型的构建方法及装置 | |
CN111522987A (zh) | 一种图像审核方法、设备及计算机可读存储介质 | |
JP2023536025A (ja) | 路車協調における目標検出方法、装置及び路側機器 | |
CN115512387A (zh) | 基于改进yolov5模型的工地安全帽佩戴检测方法 | |
KR20190095180A (ko) | 오토 스탑 시스템을 제어하는 인공 지능 장치 및 그 방법 | |
CN115713715A (zh) | 一种基于深度学习的人体行为识别方法及识别*** | |
CN115294528A (zh) | 一种行人安全监控方法及装置 | |
CN114241587B (zh) | 人脸活体检测对抗鲁棒性的评估方法及装置 | |
CN113269111B (zh) | 一种基于视频监控的电梯异常行为检测方法及*** | |
CN113434722B (zh) | 图像分类方法、装置、设备及计算机可读存储介质 | |
CN113705293A (zh) | 图像场景的识别方法、装置、设备及可读存储介质 | |
CN113408564A (zh) | 图处理方法、网络训练方法、装置、设备以及存储介质 | |
Guo et al. | Design of a smart art classroom system based on Internet of Things | |
CN115576990A (zh) | 视觉真值数据与感知数据的评测方法、装置、设备及介质 | |
CN114548376A (zh) | 一种面向智能交通***的车辆快速检测网络及方法 | |
CN111274894A (zh) | 一种基于改进YOLOv3的人员在岗状态检测方法 | |
CN113408329A (zh) | 基于人工智能的视频处理方法、装置、设备及存储介质 | |
CN112742026A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40028565 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |