CN115187772A - 目标检测网络的训练及目标检测方法、装置及设备 - Google Patents
目标检测网络的训练及目标检测方法、装置及设备 Download PDFInfo
- Publication number
- CN115187772A CN115187772A CN202210810694.XA CN202210810694A CN115187772A CN 115187772 A CN115187772 A CN 115187772A CN 202210810694 A CN202210810694 A CN 202210810694A CN 115187772 A CN115187772 A CN 115187772A
- Authority
- CN
- China
- Prior art keywords
- loss function
- training
- network
- target detection
- target
- 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
- 238000012549 training Methods 0.000 title claims abstract description 337
- 238000001514 detection method Methods 0.000 title claims abstract description 292
- 238000000034 method Methods 0.000 title claims abstract description 91
- 230000006870 function Effects 0.000 claims description 317
- 230000006399 behavior Effects 0.000 claims description 86
- 238000012544 monitoring process Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012163 sequencing technique Methods 0.000 claims description 7
- 238000012806 monitoring device Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 10
- 238000013434 data augmentation Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013501 data transformation Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Images
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
- G06N20/00—Machine learning
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了一种目标检测网络的训练及目标检测方法、装置及设备,该训练方法包括:获取已标注训练图像样本集和未标注训练图像样本集;分别将各已标注训练图像样本输入学生网络中进行训练,确定第一损失函数;分别将各未标注训练图像样本输入教师网络中,获得第一目标检测行为信息;根据各未标注训练图像样本和第一目标检测行为信息,训练所述学生网络,获得第二目标检测行为信息,确定第二损失函数,并根据所述第一损失函数和所述第二损失函数确定目标损失函数,在迭代训练次数达到阈值或者所述目标损失函数满足预设收敛条件的情况下,获得目标检测网络。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种目标检测网络的训练及目标检测方法、装置、设备及存储介质。
背景技术
相关技术中,半监督目标检测算法,较常采用平均教师(Mean-Teacher)方法,教师网络(teacher model)由学生网络(student model)通过指数移动平均值(ExponentialMoving Average,EMA)产生,该方法主要依赖于教师网络生成的伪标签(pseudo label),来指导学生网络的学习。对于目标检测任务,伪标签除了包含类别标签外,还包括表征目标位置的候选框,但是,教师网络生成的候选框噪声较大,定位不准确的候选框就会降低学生网络训练的准确性,从而导致最终训练的目标检测模型准确性较低,降低了目标检测的准确性。
发明内容
本公开实施例至少提供一种目标检测网络的训练及目标检测方法、装置、设备及存储介质。
第一方面,本公开实施例提供了一种目标检测网络的训练方法,该方法包括:
获取已标注训练图像样本集和未标注训练图像样本集;
分别将所述已标注训练图像样本集中各已标注训练图像样本输入学生网络中进行训练,确定第一损失函数,其中,所述第一损失函数为所述学生网络识别出的类别与已标注训练图像样本的已标注类别之间的损失函数;
分别将所述未标注训练图像样本集中各未标注训练图像样本输入教师网络中,获得对所述各未标注训练图像样本的第一目标检测行为信息;
根据所述各未标注训练图像样本和所述第一目标检测行为信息,训练所述学生网络,获得对所述各未标注训练图像样本的第二目标检测行为信息,确定第二损失函数,并根据所述第一损失函数和所述第二损失函数确定目标损失函数,在迭代训练次数达到阈值或者所述目标损失函数满足预设收敛条件的情况下,获得目标检测网络,其中,所述第二损失函数为所述第二目标检测行为信息与所述第一目标检测行为信息之间的损失函数。
本公开实施例中,采用已标注训练图像样本集和未标注训练图像样本集进行迭代训练,其中,针对未标注训练图像样本集,构建教师网络的第一目标检测行为信息和学生网络的第二目标检测行为信息之间的损失函数,能够充分利用教师网络产生的监督信息,提高目标检测网络的性能。
一种可选的实施方式中,在所述第一目标检测行为信息中识别出的多个第一候选框被聚类为多个簇情况下,则根据所述第一损失函数和所述第二损失函数确定目标损失函数,具体包括:
针对所述多个簇中的每个簇,得到所述簇对应的第二损失函数;
基于得到的多个第二损失函数的加权平均,得到第三损失函数;
根据所述第三损失函数和所述第一损失函数,得到所述目标损失函数。
本公开实施例中,针对聚类获得的多个簇,可以分别获得第二损失函数,并通过加权平均获得最终的目标损失函数,提高计算的效率和可靠性。
一种可选的实施方式中,针对所述多个簇中的每个簇,得到所述簇对应的第二损失函数,包括:
分别针对所述多个簇中每个簇,基于所述学生网络识别出目标的各第二候选框的类别,与所述教师网络识别出的置信度最高的第一候选框的类别之间的损失函数,获得类别损失函数;
基于所述学生网络识别出目标的各第二候选框,与所述教师网络识别出的置信度最高的第一候选框之间的损失函数,获得回归损失函数;
基于所述学生网络识别出目标的各第二候选框排序分布,与所述教师网络识别出的各第一候选框排序分布之间的损失函数,获得排序分布损失函数;
根据所述类别损失函数、所述回归损失函数和所述排序分布损失函数,确定所述第二损失函数。
本公开实施例中,针对各个簇,分别构建类别损失函数、回归损失函数和排序分布损失函数,进而来指导学生网络的训练,可以充分利用教师网络在目标检测过程中产生的监督信息,提高训练的性能。
一种可选的实施方式中,根据所述类别损失函数、所述回归损失函数和所述排序分布损失函数,确定所述第二损失函数,具体包括:
获得所述类别损失函数和所述回归损失函数之间的加和,并获得所述排序分布损失函数与第一权重值之间的乘积,将所述加和以及所述乘积相加,作为所述第二损失函数,其中,所述第一权重值用于控制排序分布所占损失权重。
本公开实施例中,通过权重值,可以控制不同信息的损失权重,进而控制学生网络的训练,获得符合所需的目标检测网络。
一种可选的实施方式中,在迭代训练次数达到阈值或者所述目标损失函数满足预设收敛条件的情况下,所述获得所述目标检测网络,包括:
针对当前次数的迭代训练,根据所述各已标注训练图像样本,以及根据所述各未标注训练图像样本和所述第一目标检测行为信息,训练所述学生网络,并根据所述当前次数迭代训练获得的学生网络的模型参数,确定下一次迭代训练的教师网络的模型参数,直至所述迭代训练次数达到阈值或所述目标损失函数收敛,获得所述目标检测网络。
本公开实施例中,每轮迭代训练,更新学生网络,并更新用于下一次迭代训练的教师网络,提高目标检测网络的可收敛性和准确性。
一种可选的实施方式中,所述获得所述目标检测网络,具体包括:
将所述迭代训练次数达到阈值或者所述目标损失函数收敛时迭代训练获得的所述教师网络或所述学生网络,作为所述目标检测网络。
第二方面,本公开实施例还提供一种目标检测方法,包括:
获取待检测图像;
利用上述第一方面中的目标检测网络的训练方法生成的目标检测网络,对所述待检测图像进行目标检测,获得从所述待检测图像中检测到的目标的类别。
本公开实施例中,目标检测网络是采用教师网络对目标训练图像样本集中各目标训练图像样本的目标检测行为信息对学生网络进行迭代训练,以使针对同一目标训练图像样本,学生网络和教师网络的目标检测行为信息满足预设相似度条件,进而在进行目标检测时,获取待检测图像,并基于目标检测网络,对待检测图像进行目标检测,从而获得从待检测图像中检测到的目标的类别。这样,将教师网络在目标检测过程中的目标检测行为信息,来监督学生网络的训练,让学生网络模仿教师网络的目标检测行为信息来获得类别标签,可以挖掘和利用更加丰富的监督信息,提高了训练的准确性和可靠性,从而提高了目标检测的准确性。
一种可选的实施方式中,所述待检测图像为监控设备拍摄到的待检测监控图像,则获得从所述待检测图像中检测到的目标的类别,包括:
利用所述目标检测网络,对所述待检测监控图像中人体进行目标检测,确定所述待检测监控图像中是否存在人体,并在确定存在人体情况下,确定所人体是否为目标用户。
本公开实施例中,针对获取到的待检测监控图像,对人体类别进行检测,从而识别待检测监控图像中的目标用户,可以在智能监控领域,提高对目标用户的跟踪识别。
一种可选的实施方式中,所述待检测图像为设定路段的待检测交通图像,则获得从所述待检测图像中检测到的目标的类别,包括:
利用所述目标检测网络,对所述待检测交通图像进行目标检测,确定所述待检测交通图像中属于车辆类别的目标,并确定属于车辆类别的目标数量;
根据确定的属于车辆类别的目标数量,获得所设定路段的交通拥堵等级。
本公开实施例中,对待检测交通图像中车辆进行目标检测,可以确定某设定路段的车辆数量,从而可以实时对某设定路段的交通情况进行分析,为智能交通提供依据。
第三方面,本公开实施例还提供一种目标检测网络的训练装置,包括:
第一获取模块,用于获取已标注训练图像样本集和未标注训练图像样本集;
第一训练分支模块,用于分别将所述已标注训练图像样本集中各已标注训练图像样本输入学生网络中进行训练,确定第一损失函数,其中,所述第一损失函数为所述学生网络识别出的类别与已标注训练图像样本的已标注类别之间的损失函数;
第二训练分支模块,用于分别将所述未标注训练图像样本集中各未标注训练图像样本输入教师网络中,获得对所述各未标注训练图像样本的第一目标检测行为信息;根据所述各未标注训练图像样本和所述第一目标检测行为信息,训练所述学生网络,获得对所述各未标注训练图像样本的第二目标检测行为信息,确定第二损失函数,并根据所述第一损失函数和所述第二损失函数确定目标损失函数,在迭代训练次数达到阈值或者所述目标损失函数满足预设收敛条件的情况下,获得目标检测网络,其中,所述第二损失函数为所述第二目标检测行为信息与所述第一目标检测行为信息之间的损失函数。
一种可选的实施方式中,在所述第一目标检测行为信息中识别出的多个第一候选框被聚类为多个簇情况下,则根据所述第一损失函数和所述第二损失函数确定目标损失函数时,第二训练分支模块用于:
针对所述多个簇中的每个簇,得到所述簇对应的第二损失函数;
基于得到的多个第二损失函数的加权平均,得到第三损失函数;
根据所述第三损失函数和所述第一损失函数,得到所述目标损失函数。
一种可选的实施方式中,针对所述多个簇中的每个簇,得到所述簇对应的第二损失函数时,第二训练分支模块用于:
分别针对所述多个簇中每个簇,基于所述学生网络识别出目标的各第二候选框的类别,与所述教师网络识别出的置信度最高的第一候选框的类别之间的损失函数,获得类别损失函数;
基于所述学生网络识别出目标的各第二候选框,与所述教师网络识别出的置信度最高的第一候选框之间的损失函数,获得回归损失函数;
基于所述学生网络识别出目标的各第二候选框排序分布,与所述教师网络识别出的各第一候选框排序分布之间的损失函数,获得排序分布损失函数;
根据所述类别损失函数、所述回归损失函数和所述排序分布损失函数,确定所述第二损失函数。
一种可选的实施方式中,根据所述类别损失函数、所述回归损失函数和所述排序分布损失函数,确定所述第二损失函数时,第二训练分支模块用于:
获得所述类别损失函数和所述回归损失函数之间的加和,并获得所述排序分布损失函数与第一权重值之间的乘积,将所述加和以及所述乘积相加,作为所述第二损失函数,其中,所述第一权重值用于控制排序分布所占损失权重。
一种可选的实施方式中,在迭代训练次数达到阈值或者所述目标损失函数满足预设收敛条件的情况下,所述获得所述目标检测网络时,第二训练分支模块用于:
针对当前次数的迭代训练,根据所述各已标注训练图像样本,以及根据所述各未标注训练图像样本和所述第一目标检测行为信息,训练所述学生网络,并根据所述当前次数迭代训练获得的学生网络的模型参数,确定下一次迭代训练的教师网络的模型参数,直至所述迭代训练次数达到阈值或所述目标损失函数收敛,获得所述目标检测网络。
一种可选的实施方式中,所述获得所述目标检测网络时,第一获取模块用于:
将所述迭代训练次数达到阈值或者所述目标损失函数收敛时获得的所述教师网络或所述学生网络,作为所述目标检测网络。
第四方面,本公开可选实现方式还提供了一种目标检测装置,包括:
第二获取模块,用于获取待检测图像;
检测模块,用于利用基于上述第一方面中所述的目标检测网络的训练方法生成的目标检测网络,对所述待检测图像进行目标检测,获得从所述待检测图像中检测到的目标的类别。
一种可选的实施方式中,所述待检测图像为监控设备拍摄到的待检测监控图像,则获得从所述待检测图像中检测到的目标的类别时,检测模块用于:
利用所述目标检测网络,对所述待检测监控图像中人体进行目标检测,确定所述待检测监控图像中是否存在人体,并在确定存在人体情况下,确定所人体是否为目标用户。
一种可选的实施方式中,所述待检测图像为设定路段的待检测交通图像,则获得从所述待检测图像中检测到的目标的类别时,检测模块用于:
利用所述目标检测网络,对所述待检测交通图像进行目标检测,确定所述待检测交通图像中属于车辆类别的目标,并确定属于车辆类别的目标数量;
根据确定的属于车辆类别的目标数量,获得所设定路段的交通拥堵等级。
第五方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或者,所述机器可读指令被所述处理器执行时执行上述第二方面,或第二方面中任一种可能的实施方式中的步骤。
第六方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或者,所述机器可读指令被所述处理器执行时执行上述第二方面,或第二方面中任一种可能的实施方式中的步骤。
关于上述目标检测装置、计算机设备、及计算机可读存储介质的效果描述参见上述目标检测方法的说明,这里不再赘述。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种目标检测方法的流程图;
图2示出了本公开实施例所提供的目标检测网络的训练方法流程图;
图3示出了本公开实施例所提供的目标检测网络的训练方法整体逻辑原理图;
图4示出了本公开实施例所提供的目标检测网络的训练方法中,针对无标注训练图像样本集的逻辑原理图;
图5示出了本公开实施例所提供的目标检测装置示意图;
图6示出了本公开实施例所提供的目标检测网络的训练装置示意图;
图7示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
为便于对本公开技术方案的理解,首先对本公开实施例中的技术用语加以说明:
半监督学习(Semi-Supervised Learning,SSL):是监督学习与无监督学习相结合的一种学习方法,它主要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类。
平均教师(Mean-Teacher)方法:其核心思想是网络既充当学生网络,又充当教师网络,本公开实施例中,学生网络也可以称为学生模型(student model),教师网络也可以称为教师模型(teacher model),作为教师网络,用来产生学生网络学习时的目标,作为学生网络,利用教师网络产生的目标来学习,教师网络的网络参数由学生网络的网络参数进行通过指数移动平均值(Exponential Moving Average,EMA)而得,教师网络的版本更新是基于当前学生网络和上一次迭代训练中教师网络的加权,即EMA平滑版本。
目标检测是一个基础的计算机视觉任务,例如在智能监控,机器人和无人驾驶等领域都有着广泛的应用。其中,半监督目标检测算法可以利用少量的标注数据和大量的未标注数据来实现,具有重要意义,如何利用大量的无标注数据,高效地提升目标检测准确性和性能,是半监督目标检测的主要研究内容。
相关技术中,半监督目标检测算法,较常采用平均教师(Mean-Teacher)方法,教师网络由学生网络通过EMA产生,其中,弱的数据增广方法被加在教师网络上,用来产生伪标签(pseudo label),而学生网络被施以强的数据增广方法,并利用伪标签作为监督信号进行学习,该方法主要依赖于教师网络生成的伪标签,来指导学生网络的学习。但是,对于目标检测任务,伪标签除了包含类别标签外,还包括表征目标位置的候选框,而教师网络生成的伪标签噪声较大,生成的候选框的准确性较低,从而导致在利用候选框监督学生网络训练时,会误导学生网络的标签分配(label assignment)方法,使得很多定位不准确的候选框被误判成正样本,影响学生网络的训练,导致最终训练模型准确性较低,降低了目标检测准确性。
并且,目前的半监督目标检测算法,通常会设置一个很高的分数(score)阈值,来过滤明显错误的伪标签,导致最终获得的伪标签往往是非常稀疏的,则学生网络只能得到教师网络稀疏且有限的监督信息,降低模型训练的准确性。
基于上述研究,本公开提供了一种目标检测网络的训练方法和目标检测方法,具体地目标检测网络的训练方法为,获取已标注训练图像样本集和未标注训练图像样本集,分别将已标注训练图像样本集中各已标注训练图像样本输入学生网络中进行训练,确定第一损失函数,分别将未标注训练图像样本集中各未标注训练图像样本输入教师网络中,获得对各未标注训练图像样本的第一目标检测行为信息;根据各未标注训练图像样本和第一目标检测行为信息,训练学生网络,获得对各未标注训练图像样本的第二目标检测行为信息,确定第二损失函数,并根据第一损失函数和第二损失函数确定目标损失函数,在迭代训练次数达到阈值或者目标损失函数满足预设收敛条件的情况下,获得目标检测网络,进而在进行目标检测时,获取待检测图像,并基于已训练的目标检测网络,对待检测图像进行目标检测,从而获得从待检测图像中检测到的目标的类别,这样,将教师网络在目标检测过程中的目标检测行为信息,作为监督信息来训练学生网络,相比于相关技术中仅采用分数最高的候选框作为监督信息,本公开实施例中可以从教师网络中挖掘出更稠密的监督信息,更加充分利用教师网络中的监督信息,并且让学生网络通过模仿教师网络的目标检测行为信息,来获得学生网络的类别标签,提高了目标检测网络训练的准确性和性能,从而提高了目标检测的准确性。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种目标检测方法进行详细介绍,本公开实施例所提供的目标检测方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该目标检测方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
例如,终端设备获得用户输入的待检测图像,并将待检测图像发送给服务器,服务器基于已训练的目标检测网络对待检测图像进行目标检测,获得表征目标位置区域的候选框和候选框对应目标的类别,进而服务器还可以将检测结果返回给终端,另外,本公开实施例中所涉及到的目标检测网络,需要预先进行训练,训练过程也可以由终端设备、服务器或其他处理设备执行,在一种可能的实施方式中,由于终端设备的性能限制,通常可以由服务器侧执行。
下面以执行主体为服务器为例对本公开实施例提供的目标检测方法加以说明。
参见图1所示,为本公开实施例提供的目标检测方法的流程图,所述方法包括步骤S101~S102,其中:
S101:获取待检测图像。
本公开实施例中,目标检测方法可以应用于智能监控、机器人、无人驾驶、智能交通、智能家居等领域,并不进行限制,例如,可以获取拍摄到的人脸图像,作为待检测图像,可以对人脸图像中人脸进行目标检测,又例如,获得某路段的交通图像,作为待检测图像,可以对该交通图像中车辆进行目标检测,从而可以判断该路段的拥堵情况等。
S102:基于已训练的目标检测网络,对待检测图像进行目标检测,获得从待检测图像中检测到的目标的类别。
其中,目标检测网络是采用教师网络对目标训练图像样本集中各目标训练图像样本的目标检测行为信息对学生网络进行迭代训练,以使针对同一目标训练图像样本,学生网络和教师网络的目标检测行为信息满足预设相似度条件。
执行步骤102时,具体包括:
基于已训练的目标检测网络,以待检测图像为输入,对待检测图像进行目标检测,获得检测到的目标的候选框,并获得候选框对应目标的类别。
其中,本公开实施例中,可以应用于仅包括一个目标的待检测图像,这样通过目标检测网络,可以获得包括该目标的候选框,进而对该候选框的图像区域的图像特征信息进行分类,获得该目标的类别。在另一可能实施例中,还可以应用于包括多个目标的待检测图像,这时通过目标检测网络,可以分别获得包括各目标的候选框,并分别对包括各目标的候选框的图像区域的图像特征信息进行分类,从而获得各目标的类别。
本公开实施例中,目标检测方法主要依赖于目标检测网络,目标检测网络的准确性和性能等,决定了待检测图像的目标检测结果,为提高目标检测网络的准确性和性能,本公开实施例中提供了一种目标检测网络的训练方式,具体地,目标检测网络是采用教师网络对目标训练图像样本集中各目标训练图像样本的目标检测行为信息对学生网络进行迭代训练,以使针对同一目标训练图像样本,学生网络和所述教师网络的目标检测行为信息满足预设相似度条件。
其中,目标检测行为信息表征在目标检测过程中的行为数据,包括但不限于识别出的各个候选框,各个候选框的聚类信息、聚类形成的各个簇中候选框的排序分布等。
其中,目标训练图像样本可以为未标注训练图像样本集,本公开实施例中,目标检测网络的训练主要应用于半监督训练场景,目标训练图像样本还包括已标注训练图像样本集,目标检测网络根据已标注训练图像样本集和未标注训练图像样本集进行迭代训练获得,针对已标注训练图像样本集,直接输入到学生网络中进行训练即可,针对未标注训练图像样本集,本公开实施例中是基于教师网络的目标检测行为信息,作为监督信息来训练学生网络。
这样,本公开实施例中,针对未标注训练图像样本,采用教师网络对未标注训练图像样本的目标检测行为信息对学生网络进行迭代训练,以使针对同一训练图像样本,学生网络和教师网络的目标检测行为信息满足预设相似度条件,可以从教师网络中挖掘出更丰富的监督信息,进而通过让学生网络学习和模仿教师网络的目标检测行为目标检测行为信息,获得学生网络的训练标签,提高学生网络训练的准确性,可以获得更加准确的目标检测网络,进而在进行目标检测时,基于已训练的目标检测网络,对待检测图像进行目标检测,获得从待检测图像中检测到的目标的类别,提升了目标检测的准确性和可靠性。
下面对目标检测网络的训练方法进行具体说明。参阅图2所示,为本公开实施例中目标检测网络的训练方法流程图,包括:
S201:获取已标注训练图像样本集和未标注训练图像样本集。
其中,已标注训练图像样本集中包括各已标注训练图像样本,每个已标注训练图像样本包括已标注类别,未标注训练图像样本集中包括各未标注训练图像样本。
本公开实施例中,主要针对半监督目标检测方法的训练场景,同时需要少量的已标注训练图像样本和大量的未标注训练图像样本,在训练过程中,每轮迭代训练,需要有已标注训练图像样本和未标注训练图像样本,并且已标注训练图像样本与未标注训练图像样本的数量可以按照一定比例关系进行混合,这样,教师网络可以基于已标注训练图像样本的已标注类别,来预测未标注训练图像样本的类别,将预测结果作为该未标注训练图像样本的类别标签。
S202:分别将各已标注训练图像样本集中已标注训练图像样本输入学生网络中进行训练,确定第一损失函数,其中,第一损失函数为学生网络识别出的类别与已标注训练图像样本的已标注类别之间的损失函数。
即针对已标注训练图像样本,由于其有明确的已标注类别,因此可以直接输入到学生网络中进行训练,该过程的第一损失函数为学生网络识别出的类别与已标注类别之间的损失函数,例如为交叉熵函数,并不进行限制,第一损失函数可以记为
S203:分别将未标注训练图像样本集中各未标注训练图像样本输入教师网络中,获得对各未标注训练图像样本的第一目标检测行为信息。
本公开实施例中,教师网络在目标检测过程中,通常利用非极大值抑制(Non-Maximum Suppression,NMS),从稠密的候选框中筛选出稀疏的检测框,作为最终的检测结果,而本公开实施例中,经研究发现,教师网络在NMS过程中的行为表现,可以提供有效的监督信息,具体地可以将教师网络在NMS过程中的行为表现分为两个部分:1)如何给候选框聚类成多个簇;2)在每个簇中,候选框的排序是怎么样的,因此,本公开实施例中,可以基于该两部分行为表现,监督学生网络的训练。
其中,第一目标检测行为信息至少包括识别出的各第一候选框,各第一候选框的聚类信息、聚类形成的各个簇中第一候选框的排序分布等,并不进行限制,目的是为了挖掘出教师网络在目标检测过程中更稠密、更丰富的信息,来作为监督信息,引导学生网络的训练,提高训练准确度。
S204:根据各未标注训练图像样本和第一目标检测行为信息,训练学生网络,获得对各未标注训练图像样本的第二目标检测行为信息,确定第二损失函数,并根据第一损失函数和第二损失函数确定目标损失函数,在迭代训练次数达到阈值或者目标损失函数满足预设收敛条件的情况下,获得目标检测网络,其中,第二损失函数为第二目标检测行为信息与第一目标检测行为信息之间的损失函数。
一种可能的实施例中,执行步骤S204具体包括:
S1、根据各未标注训练图像样本和第一目标检测行为信息,训练学生网络,获得对各未标注训练图像样本的第二目标检测行为信息。
其中,第二目标检测行为信息表示学生网络在目标检测过程中的行为数据,该第二目标检测行为信息至少包括识别出的各第二候选框,各第二候选框的聚类信息、聚类形成的各个簇中第二候选框的排序分布等。
S2、确定第二损失函数,并根据第一损失函数和第二损失函数确定目标损失函数。
其中,第二损失函数为第二目标检测行为信息与第一目标检测行为信息之间的损失函数。
本公开实施例中,在训练学生网络时,通过让学生网络模仿教师网络的目标检测行为信息,从而获得学生网络的训练类别标签,基于教师网络的行为表现,本公开实施例中学生网络的训练也可以分为两部分:1)反向NMS聚类,目的是让学生网络学习教师网络的NMS过程,获得和教师网络相同的NMS聚类簇,其基本原理是统计教师网络的NMS行为,确定教师网络是将哪些候选框聚成一个簇,并且考虑到,一个簇内的候选框通常是检测同一个目标,因此,在训练学生网络训练时,可以将同一个簇内的候选框,赋予相同的目标,即相同的类别。2)NMS排序匹配,在每个簇内,各个候选框可以基于置信度进行排序,最终保留置信度最高的候选框,因此一个簇内各候选框的排序分布,也能够包括丰富的信息,例如可以认为置信度越高的候选框的特征信息,与该簇对应的目标的关联性越高,置信度越低的候选框的特征信息,与该簇对应的目标的关联性越低,本公开实施例中,还可以基于教师网络输出的各簇的候选框排序分布,训练学生网络,这样,在学生网络能够生成和教师网络相同的簇之后,还可以进一步对齐教师网络和学生网络在每一个簇内的候选框排序分布,进而使得学生网络可以产生和教师网络相同的NMS过程,即学生网络的第二目标检测行为信息和教师网络的第一目标检测行为信息相似。
并且,通常在目标检测过程中,识别出的候选框会被聚类为一个或多个簇,在被聚类为一个簇情况下,则可以基于该簇对应的第二损失函数,以及第一损失函数获得目标损失函数即可。
在第一目标检测行为信息中识别出的多个第一候选框被聚类为多个簇情况下,则根据第一损失函数和第二损失函数确定目标损失函数,具体包括:
1)针对多个簇中的每个簇,得到簇对应的第二损失函数。
2)基于得到的多个第二损失函数的加权平均,得到第三损失函数。
即第三损失函数可以表示为各个簇的第二损失函数累加,然后除以簇的个数。
3)根据第三损失函数和第一损失函数,得到目标损失函数。
其中,α为权重值,可以用于控制已标注训练图像样本和未标注训练图像样本之间的损失贡献,α取值大小与未标注训练图像样本的贡献大小呈正比。
本公开实施例中,针对多个簇中的每个簇,得到该簇对应的第二损失函数,还提供了一种可能的实施方式,具体包括:
1)分别针对该多个簇中每个簇,基于学生网络识别出目标的各第二候选框的类别,与教师网络识别出的置信度最高的第一候选框的类别之间的损失函数,获得类别损失函数。
例如,本公开实施例中,教师网络对未标注训练图像样本进行目标检测,可以识别出多个第一候选框,多个第一候选框聚类为多个簇,教师网络的第j个簇可以定义为其中,b和c分别表示候选框和类别,Nj表示第j个簇中包括的候选框的数量,t表示教师网络。
在每个簇中,属于同一个簇内的候选框,可以认为具有相同的类别,应该预测相同的目标,因此可以使用最终保留的或分数最高或置信度最高的候选框来代表第j个簇对应的预测目标,也将用于为学生网络中相应的未标注训练图像样本来反向分配训练类别标签,即可以理解为将该簇对应预测的类别c,可以作为学生网络在训练时所需的训练类别标签。
则针对第j个簇,类别损失函数可以表示为:
2)基于学生网络识别出目标的各第二候选框,与教师网络识别出的置信度最高的第一候选框之间的损失函数,获得回归损失函数。
3)基于学生网络识别出目标的各第二候选框排序分布,与教师网络识别出的各第一候选框排序分布之间的损失函数,获得排序分布损失函数。
例如,针对第j个簇,基于分数分布,分别建模获得教师网络和学生网络在该簇中的候选框排序分布:
其中,t表示教师网络,s表示学生网络,pi表示第i个候选框属于目标类别的概率,T为预设系数。
进而可以基于学生网络的各第二候选框排序分布和教师网络的各第一候选框排序分布获得排序分布损失函数,例如可以采用KL散度(Kullback-Leiblerdivergence)损失函数,对此并不进行限制:
候选框排序分布不仅提供了对于目标类别的特征关联信息,而且还可以使得学生网络在每个NMS聚类簇中保留与教师网络相同的候选框。
4)根据类别损失函数、回归损失函数和排序分布损失函数,确定第二损失函数。
具体地,本公开实施例中提供了一种可能的实施方式,获得类别损失函数和回归损失函数之间的加和,并获得排序分布损失函数与第一权重值之间的乘积,将该加和以及乘积相加,作为第二损失函数,其中,第一权重值用于控制排序分布所占损失权重。
例如,第j个簇对应的第二损失函数为:
其中,β为第一权重值,该第一权重值可以根据实际需求而设置,可以表示排序分布损失函数对第二损失函数的贡献程度,取值越大表示排序分布损失函数的贡献越大。
S3、在迭代训练次数达到阈值或者目标损失函数满足预设收敛条件的情况下,获得目标检测网络。
本公开实施例中,在每轮迭代训练时,基于教师网络的第一目标检测行为信息对学生网络进行监督训练,一轮迭代结束后,需要基于学生网络更新教师网络,以进行下一轮的迭代训练,具体地,本公开实施例中,提供了一种可能的实施方式:
针对当前次数的迭代训练,根据各已标注训练图像样本,以及根据各未标注训练图像样本和第一目标检测行为信息,训练学生网络,并根据当前次数迭代训练获得的学生网络的模型参数,确定下一次迭代训练的教师网络的模型参数,直至迭代训练次数达到阈值或目标损失函数收敛,获得目标检测网络。
例如,可以采用EMA方法,将学生网络进行指数平均而获得教师网络。
这样,每轮迭代训练,更新学生网络以及教师网络,提高下一次迭代训练准确性,进而提高整体训练准确性。
其中,获得所述目标检测网络,具体包括:将迭代训练次数达到阈值或者目标损失函数收敛时获得的教师网络或学生网络,作为目标检测网络。
也就是说,本公开实施例中,对目标检测网络进行训练过程中,基于教师网络不断训练学生网络,也基于学生网络迭代更新教师网络,在最终迭代训练次数达到阈值或者目标损失函数收敛时,训练完成后可以将最终的教师网络或者学生网络,来作为目标检测网络,本公开实施例中并不进行限制,在一种可能实施例中,由于教师网络是学生网络通过EMA方法而获得的,因此可以将训练完成后的教师网络作为目标检测网络。
本公开实施例中,因为每次迭代训练均会更新教师网络,教师网络具有更稳定性能,因此在最终迭代结束时,即可以直接将最终的教师网络作为目标检测网络,以应用于目标检测。
本公开实施例中,采用已标注训练图像样本集和未标注训练图像样本集来训练目标检测网络,针对已标注训练图像样本集,直接输入到学生网络中进行训练,确定第一损失函数,针对未标注训练图像样本集,输入教师网络中,获得教师网络对各未标注训练图像样本的第一目标检测行为信息,根据各未标注训练图像样本所述第一目标检测行为信息,训练学生网络,获得学生网络对各未标注训练图像样本的第二目标检测行为信息,确定第二损失函数,并根据第一损失函数和第二损失函数确定目标损失函数,当迭代训练次数达到阈值或者目标损失函数满足预设收敛条件时,获得目标检测网络,这样,针对未标注训练图像样本,从教师网络中挖掘出更加稠密的第一目标检测行为信息,来监督学生网络的训练,而不需要依赖于相关技术中教师网络输出的伪标签,能够更加充分利用教师网络中的监督信息,并且通过让学生网络模仿教师网络的行为表现,从而获得学生网络的训练标签,不需要通过标签分配技术来获得训练标签,也减少了伪标签不准确带来的消极影响,进而提高了训练准确性,提高了目标检测的性能和准确性。
基于上述实施例,下面对目标检测网络的训练过程的逻辑原理进行简单说明,参阅图3所示,为本公开实施例中目标检测网络的训练方法整体逻辑原理图。
如图3所示,目标检测网络的训练方法可以分为以下两方面:
第一方面:针对已标注训练图像样本。
将已标注训练图像样本输入到学生网络中进行训练,确定学生网络识别出的类别与已标注训练图像样本的已标注类别之间的第一损失函数。
例如,如图3中,已标注训练图像样本1包含人体类别和物体类别,将已标注训练图像样本1输入学生网络中,学生网络对该已标注训练图像样本1进行目标检测,基于识别出的类别与已标注的类别,确定第一损失函数,训练学生网络。
第二方面:针对未标注训练图像样本。
1)为提高数据多样性,可以先采用数据增广方法,对未标注训练图像样本进行数据增广,例如调整大小、镜像(flip)、旋转(rotation)、缩放(scale)、裁剪(crop)、平移(translation)、高斯噪声(Gaussian noise)、图像亮度变化、图像饱和度和对比度变化等中的一项或多项,具体方法并不进行限制。
如图3中,弱数据增广可以理解为简单的数据变换,例如调整大小,强数据增广可以理解为复杂的数据变换,例如高斯噪声,为了保证教师网络的性能,因此针对教师网络采用弱数据增广。
2)将未标注训练图像样本输入到教师网络,获得教师网络输出的第一检测结果,例如图3中预测图(prediction map),预测图表示的是所有识别出的候选框,图中一个圆点可以理解为一个候选框,将目标检测过程中的第一目标检测行为信息,输入到学生网络,来监督学生网络的训练,而不是采用相关技术中稀疏的伪标签,这样,从教师网络中挖掘更丰富、更稠密的监督信息,可以提高学生网络训练准确性。
参阅图4所示,为本公开实施例中目标检测网络的训练方法中,针对无标注训练图像样本集的逻辑原理图。如图4所示,图4中上半部分描述了教师网络的NMS过程,教师网络从未标注训练图像样本中识别出多个候选框,并且将各候选框进行聚类,例如图4中生成了三个簇,每个簇中包括多个候选框,针对每个簇,进行分数排序,从多个候选框中筛选出一个置信度最高的候选框,来代表该簇所对应检测的目标。
进而本公开实施例中,从图4所示可知,将教师网络在目标检测过程中第一目标检测行为信息,输出给学生网络以作为监督信息来训练,第一目标检测行为信息包括对聚类获得的各个簇的行为表现,每个簇中均对应包括类别标签、候选框、候选框排序分布等,本公开实施例中,在训练学生网络时,可以包括两个主要方面:1)反向NMS聚类:即让学生网络学习教师网络的NMS过程,生成和教师网络相同的NMS聚类簇,这部分主要基于教师网络识别出的置信度最高的候选框的类别,以及置信度最高的候选框,这里基于的候选框的信息可以理解为候选框的位置区域信息,置信度最高的候选框的类别可以作为类别标签,置信度最高的候选框可以作为回归损失函数计算时的目标依据;如图4中的反向NMS聚类中的“星星”符号表示置信度最高的候选框的类别,“三角形”符号表示置信度最高的候选框,本公开实施例中,基于教师网络识别出的置信度最高的候选框的类别,以获得训练学生网络时的类别损失函数,基于教师网络识别出的置信度最高的候选框,以获得训练学生网络时的回归损失函数。2)NMS排序匹配:即让教师网络和学生网络在每一个簇内的候选框排序分布相同,进而通过从教师网络中挖掘出的第一目标检测信息来监督学生网络的训练,获得最终训练完成的目标检测网络,如图4中将教师网络识别出的候选框排序分布输入到学生网络,以获得训练学生网络时的排序分布损失函数。
这样,本公开实施例中学生网络的训练可以基于教师网络更稠密并且更丰富的监督信息,相比相关技术中,利用伪标签,使得半监督目标检测网络的准确性更高、更加高效,并且通过学生网络来模仿教师网络的目标检测行为信息,从而获得学生网络的训练类别标签,而不依赖标签分配方法来获得,不通过标签分配方法来生成学生网络的训练类别标签,也可以降低伪标签不准确的影响,从而提升学生网络训练的准确性和性能,提高目标检测网络的准确性和可靠性。
另外,需要说明的是,本公开实施例中的目标检测方法和目标检测网络的训练方法的应用场景并不进行限制,基于不同应用场景所对应的训练图像样本进行训练而得到的目标检测网络,即可以应用到对应的应用场景中以进行目标检测,针对不同应用场景的目标检测方法,具体本公开提供了几种可能的实施方式。
1)在待检测图像为监控设备拍摄到的待检测监控图像情况下,针对获得从待检测图像中检测到的目标的类别,提供了一种可能的实施方式:利用目标检测网络,对待检测监控图像中人体进行目标检测,确定待检测监控图像中是否存在人体,并在确定存在人体情况下,确定所人体是否为目标用户。
也就是说,本公开实施例中,在智能监控场景下,可以基于本公开实施例中目标检测网络的训练方法而生成的目标检测网络,进行目标用户检测,可以自动对监控数据进行分析。
2)在待检测图像为设定路段的待检测交通图像情况下,针对获得从待检测图像中检测到的目标的类别,提供了一种可能的实施方式:利用目标检测网络,对待检测交通图像进行目标检测,确定待检测交通图像中属于车辆类别的目标,并确定属于车辆类别的目标数量;根据确定的属于车辆类别的目标数量,获得所设定路段的交通拥堵等级。
本公开实施例中,目标检测方法还可以应用于智能交通场景,对所需的设定路段进行实时监控分析,可以判断该设定路段的交通拥堵等级,进而可以基于确定的交通拥堵等级,提示相应的交通策略或控制对应的交通设备。例如,判断出当前交通拥堵等级较高,可以进行告警,以提示相关人员可以进行疏解,又例如,可以根据交通拥堵等级,智能调整红绿灯配时,以最大限度地减少拥堵。
当然,本公开实施例中的目标检测方法还可以应用于其它应用场景,例如自动驾驶、医疗领域等,对此并不进行限制。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与目标检测方法对应的目标检测装置,以及与目标检测网络的训练方法对应的目标检测的训练装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述目标检测方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图5所示,为本公开实施例提供的一种目标检测装置的示意图,所述装置包括:
第二获取模块50,用于获取待检测图像;
检测模块51,用于基于已训练的目标检测网络,对所述待检测图像进行目标检测,获得从所述待检测图像中检测到的目标的类别。
其中,该已训练的目标检测网络,即是基于本公开实施例中的目标检测网络的训练方法生成的。
一种可选的实施方式中,所述待检测图像为监控设备拍摄到的待检测监控图像,则获得从所述待检测图像中检测到的目标的类别时,检测模块51用于:
利用所述目标检测网络,对所述待检测监控图像中人体进行目标检测,确定所述待检测监控图像中是否存在人体,并在确定存在人体情况下,确定所人体是否为目标用户。
一种可选的实施方式中,所述待检测图像为设定路段的待检测交通图像,则获得从所述待检测图像中检测到的目标的类别时,检测模块51用于:
利用所述目标检测网络,对所述待检测交通图像进行目标检测,确定所述待检测交通图像中属于车辆类别的目标,并确定属于车辆类别的目标数量;
根据确定的属于车辆类别的目标数量,获得所设定路段的交通拥堵等级。
参照图6所示,为本公开实施例提供的一种目标检测网络的训练装置的示意图,所述装置包括:
第一获取模块60,用于获取已标注训练图像样本集和未标注训练图像样本集;
第一训练分支模块61,用于分别将所述已标注训练图像样本集中各已标注训练图像样本输入学生网络中进行训练,确定第一损失函数,其中,所述第一损失函数为所述学生网络识别出的类别与已标注训练图像样本的已标注类别之间的损失函数;
第二训练分支模块62,用于分别将所述未标注训练图像样本集中各未标注训练图像样本输入教师网络中,获得对所述各未标注训练图像样本的第一目标检测行为信息;根据所述各未标注训练图像样本和所述第一目标检测行为信息,训练所述学生网络,获得对所述各未标注训练图像样本的第二目标检测行为信息,确定第二损失函数,并根据所述第一损失函数和所述第二损失函数确定目标损失函数,在迭代训练次数达到阈值或者所述目标损失函数满足预设收敛条件的情况下,获得目标检测网络,其中,所述第二损失函数为所述第二目标检测行为信息与所述第一目标检测行为信息之间的损失函数。
一种可选的实施方式中,在所述第一目标检测行为信息中识别出的多个第一候选框被聚类为多个簇情况下,则根据所述第一损失函数和所述第二损失函数确定目标损失函数时,第二训练分支模块62用于:
针对所述多个簇中的每个簇,得到所述簇对应的第二损失函数;
基于得到的多个第二损失函数的加权平均,得到第三损失函数;
根据所述第三损失函数和所述第一损失函数,得到所述目标损失函数。
一种可选的实施方式中,针对所述多个簇中的每个簇,得到所述簇对应的第二损失函数时,第二训练分支模块62用于:
分别针对所述多个簇中每个簇,基于所述学生网络识别出目标的各第二候选框的类别,与所述教师网络识别出的置信度最高的第一候选框的类别之间的损失函数,获得类别损失函数;
基于所述学生网络识别出目标的各第二候选框,与所述教师网络识别出的置信度最高的第一候选框之间的损失函数,获得回归损失函数;
基于所述学生网络识别出目标的各第二候选框排序分布,与所述教师网络识别出的各第一候选框排序分布之间的损失函数,获得排序分布损失函数;
根据所述类别损失函数、所述回归损失函数和所述排序分布损失函数,确定所述第二损失函数。
一种可选的实施方式中,根据所述类别损失函数、所述回归损失函数和所述排序分布损失函数,确定所述第二损失函数时,第二训练分支模块62用于:
获得所述类别损失函数和所述回归损失函数之间的加和,并获得所述排序分布损失函数与第一权重值之间的乘积,将所述加和以及所述乘积相加,作为所述第二损失函数,其中,所述第一权重值用于控制排序分布所占损失权重。
一种可选的实施方式中,在迭代训练次数达到阈值或者所述目标损失函数满足预设收敛条件的情况下,所述获得所述目标检测网络时,第二训练分支模块62用于:
针对当前次数的迭代训练,根据所述各已标注训练图像样本,以及根据所述各未标注训练图像样本和所述第一目标检测行为信息,训练所述学生网络,并根据所述当前次数迭代训练获得的学生网络的模型参数,确定下一次迭代训练的教师网络的模型参数,直至所述迭代训练次数达到阈值或所述目标损失函数收敛,获得所述目标检测网络。
一种可选的实施方式中,所述获得所述目标检测网络时,第一获取模块60用于:
将所述迭代训练次数达到阈值或者所述目标损失函数收敛时获得的所述教师网络或所述学生网络,作为所述目标检测网络。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种计算机设备,如图7所示,为本公开实施例提供的计算机设备结构示意图,包括:
处理器71和存储器72;所述存储器72存储有处理器71可执行的机器可读指令,处理器71用于执行存储器72中存储的机器可读指令,所述机器可读指令被处理器71执行时,处理器71执行下述步骤:
获取已标注训练图像样本集和未标注训练图像样本集;
分别将所述已标注训练图像样本集中各已标注训练图像样本输入学生网络中进行训练,确定第一损失函数,其中,所述第一损失函数为所述学生网络识别出的类别与已标注训练图像样本的已标注类别之间的损失函数;
分别将所述未标注训练图像样本集中各未标注训练图像样本输入教师网络中,获得对所述各未标注训练图像样本的第一目标检测行为信息;
根据所述各未标注训练图像样本和所述第一目标检测行为信息,训练所述学生网络,获得对所述各未标注训练图像样本的第二目标检测行为信息,确定第二损失函数,并根据所述第一损失函数和所述第二损失函数确定目标损失函数,在迭代训练次数达到阈值或者所述目标损失函数满足预设收敛条件的情况下,获得目标检测网络,其中,所述第二损失函数为所述第二目标检测行为信息与所述第一目标检测行为信息之间的损失函数。
一种可选的实施方式中,在所述第一目标检测行为信息中识别出的多个第一候选框被聚类为多个簇情况下,则根据所述第一损失函数和所述第二损失函数确定目标损失函数,处理器71具体用于:
针对所述多个簇中的每个簇,得到所述簇对应的第二损失函数;
基于得到的多个第二损失函数的加权平均,得到第三损失函数;
根据所述第三损失函数和所述第一损失函数,得到所述目标损失函数。
一种可选的实施方式中,针对所述多个簇中的每个簇,得到所述簇对应的第二损失函数,处理器71用于:
分别针对所述多个簇中每个簇,基于所述学生网络识别出目标的各第二候选框的类别,与所述教师网络识别出的置信度最高的第一候选框的类别之间的损失函数,获得类别损失函数;
基于所述学生网络识别出目标的各第二候选框,与所述教师网络识别出的置信度最高的第一候选框之间的损失函数,获得回归损失函数;
基于所述学生网络识别出目标的各第二候选框排序分布,与所述教师网络识别出的各第一候选框排序分布之间的损失函数,获得排序分布损失函数;
根据所述类别损失函数、所述回归损失函数和所述排序分布损失函数,确定所述第二损失函数。
一种可选的实施方式中,根据所述类别损失函数、所述回归损失函数和所述排序分布损失函数,确定所述第二损失函数,处理器71用于:
获得所述类别损失函数和所述回归损失函数之间的加和,并获得所述排序分布损失函数与第一权重值之间的乘积,将所述加和以及所述乘积相加,作为所述第二损失函数,其中,所述第一权重值用于控制排序分布所占损失权重。
一种可选的实施方式中,在迭代训练次数达到阈值或者所述目标损失函数满足预设收敛条件的情况下,所述获得所述目标检测网络,处理器71用于:
针对当前次数的迭代训练,根据所述各已标注训练图像样本,以及根据所述各未标注训练图像样本和所述第一目标检测行为信息,训练所述学生网络,并根据所述当前次数迭代训练获得的学生网络的模型参数,确定下一次迭代训练的教师网络的模型参数,直至所述迭代训练次数达到阈值或所述目标损失函数收敛,获得所述目标检测网络。
一种可选的实施方式中,所述获得所述目标检测网络,处理器71用于:将所述迭代训练次数达到阈值或者所述目标损失函数收敛时迭代训练获得的所述教师网络或所述学生网络,作为所述目标检测网络。
在另一种可能实施例中,处理器71用于执行以下步骤:
获取待检测图像;
利用上述第一方面中的目标检测网络的训练方法生成的目标检测网络,对所述待检测图像进行目标检测,获得从所述待检测图像中检测到的目标的类别。
一种可选的实施方式中,所述待检测图像为监控设备拍摄到的待检测监控图像,则获得从所述待检测图像中检测到的目标的类别,处理器71用于:
利用所述目标检测网络,对所述待检测监控图像中人体进行目标检测,确定所述待检测监控图像中是否存在人体,并在确定存在人体情况下,确定所人体是否为目标用户。
一种可选的实施方式中,所述待检测图像为设定路段的待检测交通图像,则获得从所述待检测图像中检测到的目标的类别,处理器71用于:
利用所述目标检测网络,对所述待检测交通图像进行目标检测,确定所述待检测交通图像中属于车辆类别的目标,并确定属于车辆类别的目标数量;
根据确定的属于车辆类别的目标数量,获得所设定路段的交通拥堵等级。
上述存储器72包括内存721和外部存储器722;这里的内存721也称内存储器,用于暂时存放处理器71中的运算数据,以及与硬盘等外部存储器722交换的数据,处理器71通过内存721与外部存储器722进行数据交换。
上述指令的具体执行过程可以参考本公开实施例中所述的目标检测方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的目标检测方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的目标检测方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (13)
1.一种目标检测网络的训练方法,其特征在于,包括:
获取已标注训练图像样本集和未标注训练图像样本集;
分别将所述已标注训练图像样本集中各已标注训练图像样本输入学生网络中进行训练,确定第一损失函数,其中,所述第一损失函数为所述学生网络识别出的类别与已标注训练图像样本的已标注类别之间的损失函数;
分别将所述未标注训练图像样本集中各未标注训练图像样本输入教师网络中,获得对所述各未标注训练图像样本的第一目标检测行为信息;
根据所述各未标注训练图像样本和所述第一目标检测行为信息,训练所述学生网络,获得对所述各未标注训练图像样本的第二目标检测行为信息,确定第二损失函数,并根据所述第一损失函数和所述第二损失函数确定目标损失函数,在迭代训练次数达到阈值或者所述目标损失函数满足预设收敛条件的情况下,获得目标检测网络,其中,所述第二损失函数为所述第二目标检测行为信息与所述第一目标检测行为信息之间的损失函数。
2.根据权利要求1所述的方法,其特征在于,在所述第一目标检测行为信息中识别出的多个第一候选框被聚类为多个簇情况下,则根据所述第一损失函数和所述第二损失函数确定目标损失函数,包括:
针对所述多个簇中的每个簇,得到所述簇对应的第二损失函数;
基于得到的多个第二损失函数的加权平均,得到第三损失函数;
根据所述第三损失函数和所述第一损失函数,得到所述目标损失函数。
3.根据权利要求2所述的方法,其特征在于,针对所述多个簇中的每个簇,得到所述簇对应的第二损失函数,包括:
分别针对所述多个簇中每个簇,基于所述学生网络识别出目标的各第二候选框的类别,与所述教师网络识别出的置信度最高的第一候选框的类别之间的损失函数,获得类别损失函数;
基于所述学生网络识别出目标的各第二候选框,与所述教师网络识别出的置信度最高的第一候选框之间的损失函数,获得回归损失函数;
基于所述学生网络识别出目标的各第二候选框排序分布,与所述教师网络识别出的各第一候选框排序分布之间的损失函数,获得排序分布损失函数;
根据所述类别损失函数、所述回归损失函数和所述排序分布损失函数,确定所述第二损失函数。
4.根据权利要求3所述的方法,其特征在于,根据所述类别损失函数、所述回归损失函数和所述排序分布损失函数,确定所述第二损失函数,包括:
获得所述类别损失函数和所述回归损失函数之间的加和,并获得所述排序分布损失函数与第一权重值之间的乘积,将所述加和以及所述乘积相加,作为所述第二损失函数,其中,所述第一权重值用于控制排序分布所占损失权重。
5.根据权利要求1至4任一项所述的方法,其特征在于,在迭代训练次数达到阈值或者所述目标损失函数满足预设收敛条件的情况下,所述获得所述目标检测网络,包括:
针对当前次数的迭代训练,根据所述各已标注训练图像样本,以及根据所述各未标注训练图像样本和所述第一目标检测行为信息,训练所述学生网络,并根据所述当前次数迭代训练获得的学生网络的模型参数,确定下一次迭代训练的教师网络的模型参数,直至所述迭代训练次数达到阈值或所述目标损失函数收敛,获得所述目标检测网络。
6.根据权利要求5所述的方法,其特征在于,所述获得所述目标检测网络,包括:
将所述迭代训练次数达到阈值或者所述目标损失函数收敛时获得的所述教师网络或所述学生网络,作为所述目标检测网络。
7.一种目标检测方法,其特征在于,包括:
获取待检测图像;
利用基于权利要求1至6任一项基于所述的目标检测网络的训练方法生成的已训练的目标检测网络,对所述待检测图像进行目标检测,获得从所述待检测图像中检测到的目标的类别。
8.根据权利要求7所述的方法,其特征在于,所述待检测图像为监控设备拍摄到的待检测监控图像,则获得从所述待检测图像中检测到的目标的类别,包括:
利用所述目标检测网络,对所述待检测监控图像中人体进行目标检测,确定所述待检测监控图像中是否存在人体,并在确定存在人体情况下,确定所人体是否为目标用户。
9.根据权利要求7所述的方法,其特征在于,所述待检测图像为设定路段的待检测交通图像,则获得从所述待检测图像中检测到的目标的类别,包括:
利用所述目标检测网络,对所述待检测交通图像进行目标检测,确定所述待检测交通图像中属于车辆类别的目标,并确定属于车辆类别的目标数量;
根据确定的属于车辆类别的目标数量,获得所设定路段的交通拥堵等级。
10.一种目标检测网络的训练装置,其特征在于,包括:
第一获取模块,用于获取已标注训练图像样本集和未标注训练图像样本集;
第一训练分支模块,用于分别将所述已标注训练图像样本集中各已标注训练图像样本输入学生网络中进行训练,确定第一损失函数,其中,所述第一损失函数为所述学生网络识别出的类别与已标注训练图像样本的已标注类别之间的损失函数;
第二训练分支模块,用于分别将所述未标注训练图像样本集中各未标注训练图像样本输入教师网络中,获得对所述各未标注训练图像样本的第一目标检测行为信息;根据所述各未标注训练图像样本和所述第一目标检测行为信息,训练所述学生网络,获得对所述各未标注训练图像样本的第二目标检测行为信息,确定第二损失函数,并根据所述第一损失函数和所述第二损失函数确定目标损失函数,在迭代训练次数达到阈值或者所述目标损失函数满足预设收敛条件的情况下,获得目标检测网络,其中,所述第二损失函数为所述第二目标检测行为信息与所述第一目标检测行为信息之间的损失函数。
11.一种目标检测装置,其特征在于,包括:
第二获取模块,用于获取待检测图像;
检测模块,用于利用基于权利要求1至6任一项所述的目标检测网络的训练方法生成的目标检测网络,对所述待检测图像进行目标检测,获得从所述待检测图像中检测到的目标的类别。
12.一种计算机设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至6任一项所述的目标检测网络的训练方法,或7至9任一项所述的目标检测方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如权利要求1至6任一项所述的目标检测网络的训练方法,或7至9任意一项所述的目标检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210810694.XA CN115187772A (zh) | 2022-07-11 | 2022-07-11 | 目标检测网络的训练及目标检测方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210810694.XA CN115187772A (zh) | 2022-07-11 | 2022-07-11 | 目标检测网络的训练及目标检测方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115187772A true CN115187772A (zh) | 2022-10-14 |
Family
ID=83516702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210810694.XA Pending CN115187772A (zh) | 2022-07-11 | 2022-07-11 | 目标检测网络的训练及目标检测方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115187772A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115661615A (zh) * | 2022-12-13 | 2023-01-31 | 浙江莲荷科技有限公司 | 一种图像识别模型的训练方法、装置及电子设备 |
CN116071608A (zh) * | 2023-03-16 | 2023-05-05 | 浙江啄云智能科技有限公司 | 目标检测方法、装置、设备和存储介质 |
CN116246128A (zh) * | 2023-02-28 | 2023-06-09 | 深圳市锐明像素科技有限公司 | 跨数据集的检测模型的训练方法、装置及电子设备 |
CN117456248A (zh) * | 2023-10-27 | 2024-01-26 | 北京航迹科技有限公司 | 图像分类方法、装置、计算机设备、存储介质和程序产品 |
-
2022
- 2022-07-11 CN CN202210810694.XA patent/CN115187772A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115661615A (zh) * | 2022-12-13 | 2023-01-31 | 浙江莲荷科技有限公司 | 一种图像识别模型的训练方法、装置及电子设备 |
CN116246128A (zh) * | 2023-02-28 | 2023-06-09 | 深圳市锐明像素科技有限公司 | 跨数据集的检测模型的训练方法、装置及电子设备 |
CN116246128B (zh) * | 2023-02-28 | 2023-10-27 | 深圳市锐明像素科技有限公司 | 跨数据集的检测模型的训练方法、装置及电子设备 |
CN116071608A (zh) * | 2023-03-16 | 2023-05-05 | 浙江啄云智能科技有限公司 | 目标检测方法、装置、设备和存储介质 |
CN116071608B (zh) * | 2023-03-16 | 2023-06-06 | 浙江啄云智能科技有限公司 | 目标检测方法、装置、设备和存储介质 |
CN117456248A (zh) * | 2023-10-27 | 2024-01-26 | 北京航迹科技有限公司 | 图像分类方法、装置、计算机设备、存储介质和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111523621B (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
CN115187772A (zh) | 目标检测网络的训练及目标检测方法、装置及设备 | |
CN109993102B (zh) | 相似人脸检索方法、装置及存储介质 | |
CN109978893A (zh) | 图像语义分割网络的训练方法、装置、设备及存储介质 | |
CN113537040B (zh) | 一种基于半监督学习的时序行为检测方法及系统 | |
CN113642431B (zh) | 目标检测模型的训练方法及装置、电子设备和存储介质 | |
CN114332578A (zh) | 图像异常检测模型训练方法、图像异常检测方法和装置 | |
CN113807399A (zh) | 一种神经网络训练方法、检测方法以及装置 | |
CN111783712A (zh) | 一种视频处理方法、装置、设备及介质 | |
CN113761259A (zh) | 一种图像处理方法、装置以及计算机设备 | |
CN115546576A (zh) | 建立预测模型的方法及装置 | |
CN113516113A (zh) | 一种图像内容识别方法、装置、设备及存储介质 | |
CN115713715A (zh) | 一种基于深度学习的人体行为识别方法及识别系统 | |
CN111104831A (zh) | 一种视觉追踪方法、装置、计算机设备以及介质 | |
CN111985333A (zh) | 一种基于图结构信息交互增强的行为检测方法及电子装置 | |
CN115131604A (zh) | 一种多标签图像分类方法、装置、电子设备及存储介质 | |
CN117726884B (zh) | 对象类别识别模型的训练方法、对象类别识别方法及装置 | |
CN114241587A (zh) | 人脸活体检测对抗鲁棒性的评估方法及装置 | |
CN113705293A (zh) | 图像场景的识别方法、装置、设备及可读存储介质 | |
CN113392867A (zh) | 一种图像识别方法、装置、计算机设备及存储介质 | |
CN116152573A (zh) | 图像识别方法、装置、电子设备及计算机可读存储介质 | |
CN113239915B (zh) | 一种课堂行为的识别方法、装置、设备及存储介质 | |
CN115661542A (zh) | 一种基于特征关系迁移的小样本目标检测方法 | |
CN109767457A (zh) | 在线多示例学习目标跟踪方法、终端设备及存储介质 | |
CN115527083A (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 |