CN110096960A - 目标检测方法及装置 - Google Patents
目标检测方法及装置 Download PDFInfo
- Publication number
- CN110096960A CN110096960A CN201910267161.XA CN201910267161A CN110096960A CN 110096960 A CN110096960 A CN 110096960A CN 201910267161 A CN201910267161 A CN 201910267161A CN 110096960 A CN110096960 A CN 110096960A
- Authority
- CN
- China
- Prior art keywords
- mask image
- feature map
- detected
- region
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 78
- 238000000034 method Methods 0.000 claims abstract description 85
- 238000000605 extraction Methods 0.000 claims abstract description 20
- 238000003062 neural network model Methods 0.000 claims description 56
- 238000004364 calculation method Methods 0.000 claims description 49
- 238000010586 diagram Methods 0.000 claims description 37
- 238000012549 training Methods 0.000 claims description 37
- 230000006870 function Effects 0.000 claims description 35
- 238000013507 mapping Methods 0.000 claims description 19
- 230000004913 activation Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000009825 accumulation Methods 0.000 claims description 6
- 239000010410 layer Substances 0.000 description 59
- 230000008569 process Effects 0.000 description 17
- 230000000694 effects Effects 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 239000002356 single layer Substances 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及目标检测技术领域,提供一种目标检测方法及装置。其中,目标检测方法包括:获取待检测图像;利用主干网络对待检测图像进行特征提取后获得第一特征图;利用第一卷积层对第一特征图进行卷积后获得第二特征图,利用第二卷积层对第一特征图进行卷积后获得第一掩膜图像;根据第一掩膜图像确定第二掩膜图像,第二掩膜图像包括前景区域以及背景区域,其中前景区域仅包含非零像素,背景区域仅包含零像素;将第二特征图的每个通道分别与第二掩膜图像相乘后获得第三特征图;基于第三特征图,利用边框回归分支预测边框,以及利用分类分支预测类别。上述方法有利于节约计算资源以提高目标检测的效率,同时还能改善目标检测的精度。
Description
技术领域
本申请涉及目标检测技术领域,具体而言,涉及一种目标检测方法及装置。
背景技术
基于神经网络模型的目标检测方法通常能够输出目标在图像中的位置信息以及类别信息作为检测结果,由于其检测精度较高,并且具有良好的泛化能力,因此已经在部分领域得到应用。然而,为取得较好的检测效果,神经网络模型设计得越来越复杂,导致检测过程中的计算量显著增大,使得目标检测的效率明显下降。
发明内容
有鉴于此,本申请实施例提供一种目标检测方法及装置,利用生成的掩膜图像将特征图中预测为背景区域的像素置零,被置零的像素在后续的边框回归以及分类过程中不产生计算量,从而有利于节约计算资源,提高目标检测的效率。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请提供一种目标检测方法,用于利用预训练的神经网络模型检测待检测目标,所述神经网络模型包括主干网络、第一卷积层、第二卷积层、边框回归分支以及分类分支,所述方法包括:获取待检测图像;利用所述主干网络对所述待检测图像进行特征提取后获得第一特征图;利用所述第一卷积层对所述第一特征图进行卷积后获得第二特征图,以及利用所述第二卷积层对所述第一特征图进行卷积后获得第一掩膜图像;根据所述第一掩膜图像中每个像素的像素值确定第二掩膜图像,所述第二掩膜图像包括前景区域以及背景区域,所述第二掩膜图像在所述前景区域中仅包含非零像素,表示对所述第二特征图中包含所述待检测目标的区域的预测,所述第二掩膜图像在所述背景区域中仅包含零像素,表示对所述第二特征图中不包含所述待检测目标的区域的预测;将所述第二特征图的每个通道分别与所述第二掩膜图像相乘后获得第三特征图;基于所述第三特征图,利用所述边框回归分支预测包含所述待检测目标的边框,以及利用所述分类分支预测所述待检测目标的类别。
在上述方法中,将第二特征图的每个通道分别与第二掩膜图像相乘,由于第二掩膜图像中包括前景区域和背景区域,前景区域仅由非零像素(即像素值不为零的像素)构成,而背景区域仅由零像素(即像素值为零的像素)构成,因此相乘后获得的第三特征图中位于背景区域内的像素也全被置零,从而在基于第三特征图进行边框回归或者分类的过程中,第三特征图中位于背景区域内的像素并不产生计算量,仅位于前景区域内的像素会产生计算量,因此有利于节约计算资源,提高目标检测的效率。此外,由于第二掩膜图像中的前景区域和背景区域相当于对待检测目标在第二特征图中的位置分布做了像素级的精确预测,因此上述方法还有利于提高待检测目标的边框回归以及分类的精度。
在第一方面的一些实施例中,所述基于所述第三特征图,利用所述边框回归分支预测包含所述待检测目标的边框,以及利用所述分类分支预测所述待检测目标的类别,包括:将所述第三特征图输入至所述边框回归分支,利用所述边框回归分支预测包含所述待检测目标的边框,以及将所述第三特征图输入至所述分类分支,利用所述分类分支预测所述待检测目标的类别。
在这些实施例中,直接将第三特征图输入至边框回归分支以及分类分支进行运算,以其中的卷积运算为例,当卷积核完全移动到第三特征图的背景区域中时,卷积运算结果必然为0,这样的运算在现有的计算框架中是可优化的,不产生计算量,从而可以节约计算资源,提高边框回归以及分类的执行效率。
在第一方面的一些实施例中,所述基于所述第三特征图,利用所述边框回归分支预测包含所述待检测目标的边框,以及利用所述分类分支预测所述待检测目标的类别,包括:生成尺寸小于所述第三特征图、且包含所述第三特征图在所述前景区域中的像素的第四特征图,将所述第四特征图输入至所述边框回归分支,利用所述边框回归分支预测包含所述待检测目标的边框,以及将所述第四特征图输入至所述分类分支,利用所述分类分支预测所述待检测目标的类别。
在这些实施例中,考虑到第三特征图中位于背景区域内的像素并不产生计算量,只有位于前景区域内的像素才产生计算量,因此可以将全部或部分的背景区域从第三特征图中裁剪掉,生成保留有第三特征图在前景区域中的像素的第四特征图,并利用第四特征图进行边框回归以及分类,由于第四特征图的尺寸小于第三特征图,因此可以节约计算资源。
在第一方面的一些实施例中,所述根据所述第一掩膜图像中每个像素的像素值确定第二掩膜图像,包括:利用激活函数将所述第一掩膜图像中的每个像素的像素值映射至区间(0,1),对映射后的像素值进行置零处理后获得第三掩膜图像,其中,所述置零处理是指若映射后的像素值小于预设阈值,则将像素值置零;将所述第三掩膜图像中至少包含全部非零像素的区域确定为所述前景区域,以及将所述第三掩膜图像中除所述前景区域以外的区域确定为所述背景区域;基于所述第三掩膜图像确定所述第二掩膜图像。
在这些实施例中,若经激活函数映射后像素值较小(小于预设阈值),表明原像素反映的待检测目标的特征不明显,从而将其置零;若经激活函数映射后像素值较大(大于等于预设阈值),表明原像素反映的待检测目标的特征较明显,从而维持映射后的值。前景区域至少会包含第一掩膜图像映射后产生的全部非零像素,从而使得前景区域有效地预测待检测目标,当然前景区域也可以包含一些映射后产生的零像素。
在第一方面的一些实施例中,所述将所述第三掩膜图像中至少包含全部非零像素的区域确定为所述前景区域,包括:将所述第三掩膜图像中仅包含全部非零像素的区域确定为所述前景区域。
这些实施例的实现方式简单直接,能够很快地确定前景区域。
在第一方面的一些实施例中,所述将所述第三掩膜图像中至少包含全部非零像素的区域确定为所述前景区域,包括:确定所述第三掩膜图像中仅包含全部非零像素的区域;将仅包含全部非零像素的区域的最小外接框或最小外接矩形对应的区域确定为所述前景区域;所述基于所述第三掩膜图像确定所述第二掩膜图像,包括:对所述第三掩膜图像中的像素值进行恢复处理后获得所述第二掩膜图像,其中,所述恢复处理是指若所述第三掩膜图像在所述前景区域中包含零像素,将包含的零像素的像素值恢复为像素值映射之后且尚未被置零时的值。
部分待检测目标因其中某些部分的特征不明显,这些部分在确定前景区域时可能被不当地确定为背景区域,从而导致前景区域割裂成若干小区域。因此在这些实施例中,对这样的小区域进行某种形式的“聚合”,即通过取最小外接框或者最小外接矩形适当扩大前景区域的范围,使其将一些在激活函数映射后被置零的像素也包含近来。可以理解的,既然这些被置零的像素被包含进了前景区域,其像素值也应当恢复置零前的值。
在第一方面的一些实施例中,所述激活函数包括Sigmoid函数。
Sigmoid函数能够将任意的实数映射到区间(0,1)内,满足本申请中激活函数要实现的功能。
在第一方面的一些实施例中,在获取待检测图像之前,所述方法还包括:获取训练图像;利用所述主干网络对所述训练图像进行特征提取后获得第五特征图;利用所述第一卷积层对所述第五特征图进行卷积后获得第六特征图,以及利用所述第二卷积层对所述第五特征图进行卷积后获得第四掩膜图像;利用激活函数将所述第四掩膜图像中的每个像素值映射至区间(0,1)后获得第五掩膜图像,根据所述第五掩膜图像中每个像素的像素值以及每个像素在所述训练图像中对应像素的前背景标签计算掩膜预测损失,其中,所述前背景标签中使用1表示前景,0表示背景;将所述第六特征图的每个通道分别与所述第五掩膜图像相乘后获得第七特征图;将所述第七特征图输入至所述边框回归分支获得边框预测结果,根据所述边框预测结果以及所述训练图像中的真实边框计算边框预测损失,以及将所述第七特征图输入至所述分类分支获得分类预测结果,根据所述分类预测结果以及所述训练图像中的分类标签计算分类预测损失;基于所述掩膜预测损失、所述边框预测损失以及所述分类预测损失计算总预测损失,并基于所述总预测损失调整所述神经网络模型的参数。
在这些实施例中,训练神经网络模型时计算了掩膜预测损失,该损失用于衡量第五掩膜中的前背景预测结果(训练时像素虽然不置零,但像素值仍然能够表征对前背景的预测)与前背景标签的差异,并通过反向传播过程作用到神经网络整体,有利于改善对前景区域和背景区域的预测精度,进而提高目标检测的精度。
在第一方面的一些实施例中,所述方法还包括:计算所述第五掩膜图像中的像素值的L2正则;所述基于所述掩膜预测损失、所述边框预测损失以及所述分类预测损失计算总预测损失,包括:基于所述掩膜预测损失、所述边框预测损失、所述分类预测损失以及所述L2正则计算总预测损失。
由于L2正则是对第五掩膜图像中的像素值正则化的结果,且L2正则被累加到总预测损失中,而损失函数会被训练到一个尽可能的全局最优点,即保持到一个较小的值,因此第五掩膜图像中的像素值最终也将保持在一个较小的值上,从而可以避免在训练后第五掩膜图像中的像素值接近于全1的情况。其中,由于像素值在区间(0,1)之间分布,因此1为像素值的最大值(实际上无法取到1),若第五掩膜图像中的像素值接近于全1,表明第五掩膜图像失去了对背景区域的抑制作用,或者说不能再有效地预测背景区域,此时神经网络模型也就不能再有效地节约计算资源,而如上面分析的,引入上述L2正则能很好地解决这一问题。
第二方面,本申请实施例提供一种目标检测方法,用于利用预训练的神经网络模型检测待检测目标,所述神经网络模型包括主干网络、第一卷积层、第二卷积层、边框回归分支以及分类分支,所述方法包括:获取待检测图像;利用所述主干网络对所述待检测图像进行特征提取后获得第八特征图;利用所述第一卷积层对所述第八特征图进行卷积后获得第九特征图,以及利用所述第二卷积层对所述第八特征图进行卷积后获得第六掩膜图像,所述第六掩膜图像包括多个通道,其中每个通道对应一个类别的所述待检测目标,通道的总数目和所述待检测目标的类别总数目相同;根据所述第六掩膜图像中每个像素的像素值确定与所述第六掩膜图像具有相同通道数目的第七掩膜图像,所述第七掩膜图像的每个通道均包括对应于所述通道的前景区域以及对应于所述通道的背景区域,每个通道在对应的前景区域中仅包含非零像素,表示对所述第九特征图中包含对应类别的待检测目标的区域的预测,每个通道在对应的背景区域中仅包含零像素,表示对所述第九特征图中不包含对应类别的待检测目标的区域的预测;将所述第七掩膜图像的全部通道累加后获得仅包含一个通道的第八掩膜图像;将所述第九特征图的每个通道分别与所述第八掩膜图像相乘后获得第十特征图;基于所述第十特征图,利用所述边框回归分支预测包含所述待检测目标的边框,以及利用所述分类分支预测所述待检测目标的类别。
上述方法的掩膜图像包括多个通道,且通道数目和待检测目标的类别总数目相同,也即其中的每个通道对应一个类别的待检测目标,可以看作是专属于该类待检测目标的掩膜图像,各个通道分别预测针对于不同类别的待检测目标而言的前景区域和背景区域,避免各类别相互之间形成竞争关系,有利于改善目标检测的精度。
第三方面,本申请实施例提供一种目标检测方法,用于利用预训练的神经网络模型检测具有预设类别的待检测目标,待检测目标具有预设的类别,所述神经网络模型包括主干网络、第一卷积层、第二卷积层、边框回归分支以及分类分支,所述方法包括:获取待检测图像;利用所述主干网络对所述待检测图像进行特征提取后获得第十一特征图;利用所述第一卷积层对所述第十一特征图进行卷积后获得第十二特征图,以及利用所述第二卷积层对所述第十一特征图进行卷积后获得第九掩膜图像,所述第九掩膜图像包括多个通道,其中每个通道对应一个类别的待检测目标,通道的总数目和所述待检测目标的类别总数目相同;根据所述第九掩膜图像中与所述预设类别对应的通道中每个像素的像素值确定第十掩膜图像,所述第十掩膜图像包括前景区域以及背景区域,所述第十掩膜图像在所述前景区域中仅包含非零像素,表示对所述第十二特征图中包含所述待检测目标的区域的预测,所述第十掩膜图像在所述背景区域中仅包含零像素,表示对所述第十二特征图中不包含所述待检测目标的区域的预测;将所述第十二特征图的每个通道分别与所述第十掩膜图像相乘后获得第十三特征图;基于所述第十三特征图,利用所述边框回归分支预测包含所述待检测目标的边框,以及利用所述分类分支预测所述待检测目标的类别。
在上述方法中,虽然生成了多个通道的掩膜图像,但可以根据实际的目标检测需求,只使用其中的一个通道(希望检测的待检测目标的类别对应的那层),而无需使用全部的通道进行检测,从而有利于简化运算过程,提高目标检测的效率。
第四方面,本申请实施例提供一种目标检测装置,用于利用预训练的神经网络模型检测待检测目标,所述神经网络模型包括主干网络、第一卷积层、第二卷积层、边框回归分支以及分类分支,所述装置包括:第一图像获取模块,用于获取待检测图像;第一特征提取模块,用于利用所述主干网络对所述待检测图像进行特征提取后获得第一特征图;第一卷积模块,用于利用所述第一卷积层对所述第一特征图进行卷积后获得第二特征图,以及利用所述第二卷积层对所述第一特征图进行卷积后获得第一掩膜图像;第一掩膜计算模块,用于根据所述第一掩膜图像中每个像素的像素值确定第二掩膜图像,所述第二掩膜图像包括前景区域以及背景区域,所述第二掩膜图像在所述前景区域中仅包含非零像素,表示对所述第二特征图中包含所述待检测目标的区域的预测,所述第二掩膜图像在所述背景区域中仅包含零像素,表示对所述第二特征图中不包含所述待检测目标的区域的预测;第一乘法模块,用于将所述第二特征图的每个通道分别与所述第二掩膜图像相乘后获得第三特征图;第一预测模块,用于基于所述第三特征图,利用所述边框回归分支预测包含所述待检测目标的边框,以及利用所述分类分支预测所述待检测目标的类别。
第五方面,本申请实施例提供一种目标检测装置,用于利用预训练的神经网络模型检测待检测目标,所述神经网络模型包括主干网络、第一卷积层、第二卷积层、边框回归分支以及分类分支,所述装置包括:第二图像获取模块,用于获取待检测图像;第二特征提取模块,用于利用所述主干网络对所述待检测图像进行特征提取后获得第八特征图;第二卷积模块,用于利用所述第一卷积层对所述第八特征图进行卷积后获得第九特征图,以及利用所述第二卷积层对所述第八特征图进行卷积后获得第六掩膜图像,所述第六掩膜图像包括多个通道,其中每个通道对应一个类别的所述待检测目标,通道的总数目和所述待检测目标的类别总数目相同;第二掩膜计算模块,用于根据所述第六掩膜图像中每个像素的像素值确定与所述第六掩膜图像具有相同通道数目的第七掩膜图像,所述第七掩膜图像的每个通道均包括对应于所述通道的前景区域以及对应于所述通道的背景区域,每个通道在对应的前景区域中仅包含非零像素,表示对所述第九特征图中包含对应类别的待检测目标的区域的预测,每个通道在对应的背景区域中仅包含零像素,表示对所述第九特征图中不包含对应类别的待检测目标的区域的预测;掩膜累加模块,用于将所述第七掩膜图像的全部通道累加后获得仅包含一个通道的第八掩膜图像;第二乘法模块,用于将所述第九特征图的每个通道分别与所述第八掩膜图像相乘后获得第十特征图;第二预测模块,用于基于所述第十特征图,利用所述边框回归分支预测包含所述待检测目标的边框,以及利用所述分类分支预测所述待检测目标的类别。
第六方面,本申请实施例提供一种目标检测装置,用于利用预训练的神经网络模型检测具有预设类别的待检测目标,待检测目标具有预设的类别,所述神经网络模型包括主干网络、第一卷积层、第二卷积层、边框回归分支以及分类分支,所述装置包括:第三图像获取模块,用于获取待检测图像;第三特征提取模块,用于利用所述主干网络对所述待检测图像进行特征提取后获得第十一特征图;第三卷积模块,用于利用所述第一卷积层对所述第十一特征图进行卷积后获得第十二特征图,以及利用所述第二卷积层对所述第十一特征图进行卷积后获得第九掩膜图像,所述第九掩膜图像包括多个通道,其中每个通道对应一个类别的待检测目标,通道的总数目和所述待检测目标的类别总数目相同;第三掩膜计算模块,用于根据所述第九掩膜图像中与所述预设类别对应的通道中每个像素的像素值确定第十掩膜图像,所述第十掩膜图像包括前景区域以及背景区域,所述第十掩膜图像在所述前景区域中仅包含非零像素,表示对所述第十二特征图中包含所述待检测目标的区域的预测,所述第十掩膜图像在所述背景区域中仅包含零像素,表示对所述第十二特征图中不包含所述待检测目标的区域的预测;第三乘法模块,用于将所述第十二特征图的每个通道分别与所述第十掩膜图像相乘后获得第十三特征图;第三预测模块,用于基于所述第十三特征图,利用所述边框回归分支预测包含所述待检测目标的边框,以及利用所述分类分支预测所述待检测目标的类别。
第七方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器读取并运行时,执行第一方面、第二方面、第三方面或三方面的任意一个可能的实施例提供的方法的步骤。
第八方面,本申请实施例提供一种电子设备,包括存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面、第二方面、第三方面或三方面的任意一个可能的实施例提供的方法的步骤。
为使本申请的上述目的、技术方案和有益效果能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的神经网络模型的结构图;
图2示出了本申请实施例提供的第一种目标检测方法的流程图;
图3示出了本申请实施例提供的第三特征图在进行卷积时的计算区域示意图;
图4(A)至图4(B)示出了本申请实施例提供的第四特征图的生成方式示意图;
图5(A)至图5(B)示出了本申请实施例提供的前景区域的确定方式示意图;
图6示出了本申请实施例提供的第二种目标检测方法的流程图;
图7示出了本申请实施例提供的第三种目标检测方法的流程图;
图8示出了本申请实施例提供的第一种目标检测装置的功能模块图;
图9示出了本申请实施例提供的第二种目标检测装置的功能模块图;
图10示出了本申请实施例提供的第三种目标检测装置的功能模块图;
图11示出了一种可应用于本申请实施例中的电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于将一个实体或者操作与另一个实体或操作区分开来,而不能理解为指示或暗示相对重要性,也不能理解为要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
图1示出了本申请实施例提供的神经网络模型的结构图。参照图1,该神经网络模型包括主干网络、第一卷积层、第二卷积层、边框回归分支以及分类分支,图1中的虚线方框表示在目标检测的不同阶段网络中生成的数据。
图2示出了本申请实施例提供的一种目标检测方法的流程图。图2示出的方法利用图1中的神经网络模型检测待检测图像中的待检测目标,并输出目标在待检测图像中的位置信息以及类别信息作为检测结果。该方法可以用于检测一个或多个类别的待检测目标,例如,该方法用于车辆检测时,可以只用于检测道路上的卡车,也可以用于同时检测卡车、轿车、面包车等多种类别的车辆,其应用场景十分广泛。需要指出,在方法的步骤S10执行之前,神经网络模型已经训练好。参照图2,该方法包括:
步骤S10:获取待检测图像。
待检测图像是指可能包含待检测目标的图像,其获取来源不作限定,例如可以是摄像头实时采集获得,可以是图像库中的图像,等等。在后文的阐述中,将主要关注于待检测图像中包含待检测目标的情况。
步骤S11:利用主干网络对待检测图像进行特征提取后获得第一特征图。
主干网络在神经网络模型中用于提取待检测图像的特征,特征提取结果为第一特征图。主干网络可以是卷积神经网络,在一些实现方式中,可以直接将一些训练好的分类模型(如Vgg、ResNet、GoogLeNet、AlexNet等等)中用于特征提取的部分作为主干网络,以加快神经网络模型的训练速度。
步骤S12:利用第一卷积层对第一特征图进行卷积后获得第二特征图,以及利用第二卷积层对第一特征图进行卷积后获得第一掩膜图像。
第二特征图可以包含一个或多个通道,第一掩膜图像包含一个通道,且第一掩膜图像的尺寸和第二特征图尺寸相同。这里的尺寸指图像的宽和高,要求第一掩膜图像和第二特征图尺寸相同是为了满足步骤S14中第二掩膜图像(与第一掩膜图像尺寸相同)和第二特征图相乘的需求。通过适当地设置第一卷积层和第二卷积层的形状,可以使第二特征图以及第一掩膜图像满足上述要求。例如,第一特征图的形状为7x7x32(宽x高x通道数),第一卷积层的形状设置为1x1x32x10(宽x高x输入通道数x输出通道数),则卷积后获得的第二特征图形状为7x7x10;第二卷积层的形状设置为1x1x32x1,则卷积后获得的第一掩膜图像的形状为7x7x1,第二特征图和第一掩膜图像的尺寸相同,都是7x7。
步骤S13:根据第一掩膜图像中每个像素的像素值确定第二掩膜图像,第二掩膜图像包括前景区域以及背景区域。
根据第一掩膜图像中每个像素的像素值确定第二掩膜图像有多种不同的实现方式,在后文再具体阐述,这里先关注第二掩膜图像具有的特征。第二掩膜图像的尺寸和第一掩膜图像的尺寸相同,第二掩膜图像中全部非零像素的集合构成前景区域,表示对第二特征图中包含待检测目标的区域的预测,第二掩膜图像中全部零像素的集合构成背景区域,表示对第二特征图中不包含待检测目标的区域的预测。
步骤S14:将第二特征图的每个通道分别与第二掩膜图像相乘后获得第三特征图。
首先,根据上面的阐述,第二特征图的每个通道的尺寸和第二掩膜图像的尺寸都是相同的,因此二者可以相乘。以第二特征图中的一个通道为例,相乘的方式是将该通道的每个像素与第二掩膜图像中对应位置的像素相乘,乘积作为新的像素值。第二特征图的每个通道在进行乘法运算后产生一个第三特征图中的通道,因此第三特征图和第二特征图通道数目相同。由于第二掩膜图像在背景区域中仅包含零像素,因此相乘后获得的第三特征图中位于背景区域内的像素也全被置零,可以参考图3(黑框之内的部分表示前景区域,黑框之外的部分表示背景区域)。需要指出,由于第三特征图和第二掩膜图像的尺寸也是相同的,因此前景区域、背景区域的概念并不限于在第二掩膜图像中使用,在第三特征图中同样可以使用。
步骤S15:基于第三特征图,利用边框回归分支预测包含待检测目标的边框,以及利用分类分支预测待检测目标的类别。
边框回归分支用于预测包含待检测目标的边框,输出边框的坐标和/或尺寸等内容,即待检测目标在待检测图像中的位置信息,分类分支用于预测待检测目标的类别,输出待检测目标属于每个类别的概率,即待检测目标的类别信息。例如,如果希望检测道路上的卡车,可以输出待检测目标预测为卡车的概率以及预测为背景的概率;如果希望检测道路上的卡车、轿车和面包车,可以输出待检测目标预测为卡车的概率、预测为轿车的概率、预测为面包车的概率以及预测为背景的概率。
基于第三特征图进行边框回归或者分类,有不同的实现方式,在后文再具体阐述。在进行回归及分类运算的过程中,第三特征图中位于背景区域内的像素由于全部被置零,因此在进行卷积等运算时会进行运算优化而并不产生计算量,仅位于第三特征图的前景区域内的像素会产生计算量,因为只有前景区域中可能存在非零像素,从而有利于节约计算资源,提高目标检测的效率,改善目标检测方法的实用性。进一步的,目标检测方法对计算资源的消耗得到降低后,允许在进行目标检测时采用更复杂的神经网络模型(指主干网络、边框回归分支和分类分支),从而提高目标检测精度,也支持处理尺寸更大的待检测图像,拓展了方法的适用范围。
还需要指出,上述所称的背景区域内的像素不产生计算量并不代表在处理过程中绝对不会产生任何计算指令,只是说这种计算量和前景区域内的像素产生的计算量相比是非常微小的,基本可以认为不消耗计算资源。
另一方面,由于第二掩膜图像中的前景区域和背景区域相当于对待检测目标在第二特征图中的位置分布做了像素级的精确预测,使得后续的边框回归和分类仅在第三特征图的前景区域中进行,即缩小了目标检测的范围,从而有利于提高待检测目标的边框回归以及分类的精度。
此外,在一些现有的目标检测框架,例如SSD、FSSD、YOLO中,都可以划分出主干网络、回归分支以及分类分支的结构,因此上述方法中使用的神经网络模型也可以在现有框架的基础上通过对网络结构的适当改造而获得,有利于简化实施过程,同时可以有效利用一些现有框架成熟稳定的优势。
对于上述步骤S15,有多种实现方式,下面列举两种常见的方式。
第一种:
直接将第三特征图输入至边框回归分支,利用边框回归分支预测包含待检测目标的边框,以及将直接第三特征图输入至分类分支,利用分类分支预测待检测目标的类别。由于边框回归分支和分类分支中都包括卷积运算,并且卷积是计算量的主要来源,因此下面以卷积运算为例,分析第一种方式在进行卷积时是如何节约计算资源的,这些分析对于边框回归分支和分类分支中的其他运算也是适用的。
参照图3,左侧为第三特征图,黑框之内的部分表示前景区域,黑框之外的部分表示背景区域,不妨认为卷积操作发生于边框回归分支或分类分支中的第一个卷积层,其卷积操作的参数为pad=0(卷积前不填充像素),stride=2(步长为2),kernel=2(卷积核尺寸为2x2),图中w1至w4表示卷积核的权重参数。图3右侧的黑框之内表示计算区域,根据卷积运算的定义可知,只有当卷积核完全处于计算区域内时,卷积才会产生非零的结果,否则卷积结果为零,这样的卷积运算在现有的计算框架中会被优化掉,不产生计算量。
下面进一步定量分析第一种方式下计算资源节约的效果:将计算区域的面积占特征图面积的比例记为R(0≤R≤1),例如在图3中R=28/64。对于宽为W,高为H,通道数目为C的特征图,考虑卷积操作的参数stride=kernel的情况(即特征图中的每个像素只参与一次卷积运算),如果不进行任何处理就进行卷积运算(即普通的卷积运算),定义特征图的计算体积为W×H×C,其中,计算体积可以描述为特征图中参与卷积运算的像素的数量。如果对特征图的背景区域内的像素进行了置零处理(即本申请中的方法),计算体积为(W×H)×R×C(置零处理作用在特征图的每个通道上),即计算体积缩小为原来的R倍,缩小的这部分在卷积运算的过程中不消耗计算资源,据此可以推算出对于stride=kernel,输出通道数为M的卷积运算所节约的计算资源为:其中代表进行乘法消耗的计算量,代表进行加法消耗的计算量。
以上分析的只是单个卷积层的计算量节约情况,实际上特征图中被置零的区域在卷积计算后仍然为零,那么后续的卷积运算也同样产生缩小计算量的链式反应。发明人长期研究发现,随着卷积层数的增加,节约计算量的衰减近似满足其中i为卷积层数,则整个网络节约的计算资源近似为:I表示i的取值集合,在很多实际检测场景中,待检测目标在待检测图像中仅占据一小部分,即R值较小,从而通过上述计算公式可以看出本申请实施例提供的方法对于整个网络计算资源的节约量相当可观。
对于stride<kernel的情况,卷积运算会节约出更多的计算资源,因为stride<kernel的卷积遍历特征图时会比stride=kernel的卷积进行更多的运算,而这些运算包含了更多全零的矩阵与卷积核做卷积的操作,不再具体分析。
第二种:
首先生成尺寸小于第三特征图、且包含第三特征图在前景区域中的像素的第四特征图,然后将第四特征图直接输入至边框回归分支,利用边框回归分支预测包含待检测目标的边框,以及将第四特征图直接输入至分类分支,利用分类分支预测待检测目标的类别。
在第二种方式中,考虑到第三特征图中位于背景区域内的像素并不产生计算量,只有位于前景区域内的像素才产生计算量,因此可以将全部或部分的背景区域从第三特征图中裁剪掉,生成保留有第三特征图在前景区域中的像素的第四特征图,并利用第四特征图进行边框回归以及分类,由于第四特征图的尺寸小于第三特征图,因此可以节约计算资源。
需要注意的是,第四特征图应当为矩形,否则后续运算不便操作,对于第三特征图中的前景区域为本来就是矩形情况,裁剪是容易的,可以直接将前景区域裁剪出来作为第四特征图,如图4(A)所示。对于第三特征图中的前景区域不是矩形的情况,可以在裁减时将其裁剪为一个包含前景区域的矩形,如图4(B)所示,这个矩形可以是前景区域的最小外接矩形,当然也可以裁剪出一个更大的矩形,只要将第三特征图中的前景区域内的像素全部包括在内即可。
对于上述步骤S13,可以进一步包括如下步骤:
(1)利用激活函数将第一掩膜图像中的每个像素的像素值映射至区间(0,1),对映射后的像素值进行置零处理后获得第三掩膜图像。
其中,激活函数可以采用,但不限于Sigmoid函数:
该函数可以将任意实数映射到区间(0,1),且为单调增加的函数。上述置零处理是指:若第一掩膜图像中的像素在映射后的像素值小于预设阈值,则将像素值置零,否则像素值保持映射后的值不变,即:
Vij=Vij,若Vij≥T
Vij=0,若Vij<T
其中,Vij表示第一掩膜图像中的像素在映射后的像素值,i、j为像素坐标,T为预设阈值,0≤T≤1,关于预设阈值,可以根据目标检测的效果确定,在后文会给出一种确定预设阈值的方式。
(2)将第三掩膜图像中至少包含全部非零像素的区域确定为前景区域,以及将第三掩膜图像中除前景区域以外的区域确定为背景区。
若第一掩膜图像中的某个像素经激活函数映射后像素值较小(小于预设阈值),表明该像素反映的待检测目标的特征不明显,从而在步骤(1)中将其置零;若经激活函数映射后像素值较大(大于等于预设阈值),表明该像素反映的待检测目标的特征较明显,从而在步骤(1)中将其维持映射后的值。前景区域至少会包含第一掩膜图像映射后产生的全部非零像素,从而使得前景区域能够有效地预测待检测目标,当然前景区域也可以包含一些映射后产生的零像素,这里可以有多种不同的实现方式,下面仅举三种进行说明:
第一种:
直接将第三掩膜图像中仅包含全部非零像素的区域确定为前景区域。这种实现方式简单直接,能够快速确定前景区域。参照图5(A)左侧部分,第三掩膜图像中的非零像素形成了三个连通区域,可以直接将这三个区域作为前景区域。
第二种:
首先确定第三掩膜图像中仅包含全部非零像素的区域,然后将仅包含全部非零像素的区域的最小外接框对应的区域确定为前景区域。这实际上是一种“聚合”操作,继续参照图5(A)的右侧部分,将左侧部分的三个区域聚合为一个区域,该区域定义为左侧三个区域的最小外接框,最小外接框为一个包含第三掩膜图像中由非零像素形成的全部小区域的多边形框,且其面积应当尽可能小。为了聚合各个小区域,可以理解的,采用最小外接框后,将第三掩膜图像中的一些零像素也包含到了前景区域中。
第三种:
首先确定第三掩膜图像中仅包含全部非零像素的区域,然后将仅包含全部非零像素的区域的最小外接矩形对应的区域确定为前景区域,如图5(B)所示。此种方式和第二种方式类似,只是最小外接矩形在计算上比采用最小外接框更简单一些,另外,将前景区域确定为矩形区域也有利于在后续步骤中直接从第三特征图中裁剪出第四特征图,这在之前已经阐述过。当然,采用最小外接矩形的方式会使得前景区域的形状简单化,或者说使得前景区域预测的精度降低,因此在实施时可以根据实际需求选择方式二或者方式三。
下面再分析一下上述三种方式:部分待检测目标因其中某些部分的特征不明显,这些部分在确定前景区域时可能被不当地确定为背景区域,导致在采用方式一确定前景区时可能产生出若干小区域,这些小区域只对应待检测目标的一部分。在方式二、三中对这样的小区域进行某种形式的“聚合”,能够使预测出的前景区域包含完整的待检测目标,有利于改善目标检测的精度,当然,方式一确定前景区域的方式是最简单的,在一些场景下仍然有较好的实用价值。
可以理解的,还可以采用其他确定前景区域以及背景区域的方法,只要满足前景区域中包含第三掩膜图像中全部的非零像素即可,不再列举。
(3)基于第三掩膜图像确定第二掩膜图像。
如果步骤(2)采用方式一,那么第二掩膜图像就是第三掩膜图像。如果采用方式二或方式三时,可能将第三掩膜图像中的一些零像素包含到前景区域中。而根据步骤S13中的阐述,第二掩膜图像中的前景区域仅包含非零像素,所以需要对第三掩膜图像中的像素值进行恢复处理后获得第二掩膜图像。其中,恢复处理是指若第三掩膜图像在前景区域中包含零像素,将包含的零像素的像素值恢复为像素值被激活函数映射之后且尚未被置零时的值。
下面介绍本申请实施例提供的目标检测方法中所采用的神经网络模型可能的训练方式。具体可以包括如下步骤:
(a)获取训练图像。
(b)利用主干网络对训练图像进行特征提取后获得第五特征图。
(c)利用第一卷积层对第五特征图进行卷积后获得第六特征图,以及利用第二卷积层对第五特征图进行卷积后获得第四掩膜图像。
(d)利用激活函数将第四掩膜图像中的每个像素值映射至区间(0,1)后获得第五掩膜图像,根据第五掩膜图像中每个像素的像素值以及每个像素在训练图像中对应像素的前背景标签计算掩膜预测损失,其中,前背景标签中使用1表示前景,0表示背景。
(e)将第六特征图的每个通道分别与第五掩膜图像相乘后获得第七特征图。
(f)将第七特征图输入至边框回归分支获得边框预测结果,根据边框预测结果以及训练图像中的真实边框(groundtruth)计算边框预测损失,以及将第七特征图输入至分类分支获得分类预测结果,根据分类预测结果以及训练图像中的分类标签计算分类预测损失。
(g)基于掩膜预测损失、边框预测损失以及分类预测损失计算总预测损失,并基于总预测损失调整神经网络模型的参数。
上述步骤(a)至(g)是一个迭代过程,通过从训练集中不断获取训练图像并根据训练图像调整神经网络模型的参数,直至满足一定的训练终止条件时结束迭代,这样的训练终止条件可以是:模型的预测精度已经达到预设程度、模型已经进行了足够多轮次的训练以及模型已经训练了足够长的时间,等等。不难看出,模型的训练过程和模型的使用过程是类似的。下面主要就其区别进行阐述,其余部分可以参考之前的描述。
首先,在步骤(d)中,第五掩膜图像中并不会划分前景区域和背景区域,也不会进行像素值置0,即第五掩膜图像中全部是非零像素。当然需要注意的是,这并不表示第五掩膜图像没有对前景区域和背景区域进行预测,因为在步骤(d)中还是通过第五掩膜图像计算了掩膜预测损失。
总预测损失Loss可以通过下式定义:
Loss=Lcls+Lbbox+Lmask
其中,Lcls表示分类预测损失,Lbbox表示边框预测损失,Lmask表示掩膜预测损失,当然总预测损失也可以采用其他定义方式,例如为几项预测损失分配对应的权重系数,等等。其中,分类预测损失和边框预测损失是现有的目标检测框架都会计算的损失,这里不进行详细阐述,主要阐述掩膜预测损失,其可以采用,但不限于采用交叉熵作为损失函数的形式,即:
其中,表示像素的前背景标签,1表示前景,0表示背景。例如,将卡车作为检测目标时,卡车在训练图像中对应的像素的前背景标签为1,训练图像中的其余像素的前背景标签为0;又例如,将卡车、轿车、面包车作为检测目标时,三种车辆在训练图像中对应的像素的前背景标签为1,训练图像中的其余像素的前背景标签为0。yij表示第五掩膜图像中实际的像素值,i、j表示像素的坐标,I、J分别表示i和j的取值集合。需要指出,由于前背景标签是在训练图像上标记的,而yij是第五掩膜图像中的像素,因此二者可能不是一一对应关系,但由于卷积也可以视为一种下采样操作,所以第五掩膜图像可以和训练图像建立起映射关系,因此可以在映射后进行掩膜预测损失的计算。
掩膜预测损失能够衡量第五掩膜中的前背景预测结果与前背景标签的差异,并通过训练的反向传播过程(即上面的步骤(g))作用到神经网络模型整体,有利于改善对前景区域和背景区域的预测精度,进而提高目标检测的精度。需要指出,在上面的步骤中,掩膜预测损失并不限于在步骤(d)中进行计算,例如也可以在步骤(g)中和其他两项损失一起计算。
进一步的,在直接采用上述损失函数进行训练时,有时可能会出现第五掩膜图像中的像素值接近于全1的情况,由于第五掩膜图像中的像素值在区间(0,1)之间分布,因此1为像素值的最大值(实际上无法取到1),若第五掩膜图像中的像素值接近于全1,表明第五掩膜图像失去了对背景区域的抑制作用,或者说不能再有效地预测背景区域,如果使用这样的神经网络模型进行目标检测,可能导致前景区域占比过大,无法有效节约计算资源。因此,作为一种可选的方案,可以在损失函数中增加惩罚项,避免出现第五掩膜图像中的像素值接近于全1的情况,例如,可以增加一项L2正则:
其中,yij表示第五掩膜图像中的像素值,i、j表示像素的坐标,I、J分别表示i和j的取值集合,此时,总预测损失可以定义为:
Loss=Lcls+Lbbox+Lmask+L2mask
由于L2正则是对第五掩膜图像中的像素值正则化的结果,且L2正则被累加到总预测损失中,而总预测损失的损失函数会被训练到一个尽可能的全局最优点,即保持到一个较小的值,因此第五掩膜图像中的像素值最终也将保持在一个较小的值上(否则计算出的L2正则将比较大),从而可以避免在训练后第五掩膜图像中的像素值接近于全1的情况,使得训练好的神经网络模型能够有效节约计算量,改善目标检测的精度。可以理解的,总预测损失也可以不按照上述方式定义,只要总预测损失定义为根据分类预测损失,边框预测损失、掩膜预测损失以及第五掩膜图像中像素值的L2正则计算即可。
在上文介绍步骤S13时提到了用于像素值置零的预设阈值。该阈值可以在模型训练好后,利用测试集进行模型性能测试时通过如下方式选取:将区间[0,1]分成若干等分,如100等分,每个等分点对应一个预设阈值,如0.01、0.02、…、0.99。然后对候选的阈值进行贪心搜索,即将每个候选的阈值带入模型前向传播的过程进行损失计算,然后取在测试集中产生的总损失最小的候选阈值作为预设阈值。其中,损失的计算可以采用和训练模型时类似的方式,但计算掩膜预测产生的损失时,掩膜图像中的像素值应该取利用候选阈值进行置零处理之后的值。可以理解的,预设阈值也可以采用其他方式确定,不限于上述方式。
本发明实施例还提供一种目标检测方法,该方法可以用于检测多种类别的待检测目标,其采用的神经网络模型的结构和图1相似,不再详细介绍。参照图6,该方法包括:
步骤S20:获取待检测图像。
步骤S21:利用主干网络对待检测图像进行特征提取后获得第八特征图。
步骤S22:利用第一卷积层对第八特征图进行卷积后获得第九特征图,以及利用第二卷积层对第八特征图进行卷积后获得第六掩膜图像。
此处的第二卷积层和步骤S12中的第二卷积层的形状有所不同。使得卷积后产生的第六掩膜图像包括多个通道,其中每个通道对应一个类别的待检测目标,并且通道的总数目和待检测目标的类别总数目相同。需要指出,这里的类别总数目中不包括背景类(即背景不算作一个类别,尽管分类分支输出的预测结果中可能包含待检测目标为背景的概率。例如,若神经网络模型用于检测卡车、轿车和面包车,则类别总数目为三类。
步骤S23:根据第六掩膜图像中每个像素的像素值确定与第六掩膜图像具有相同通道数目的第七掩膜图像,第七掩膜图像的每个通道均包括对应于该通道的前景区域以及对应于该通道的背景区域,每个通道在对应的前景区域中仅包含非零像素,表示对第九特征图中包含对应类别的待检测目标的区域的预测,每个通道在对应的背景区域中仅包含零像素,表示对第九特征图中不包含对应类别的待检测目标的区域的预测。
利用第六掩膜图像中的一个通道中每个像素的像素值,可以确定第七掩膜图像中的一个通道,并且可以采用和步骤S13中利用第一掩膜图像(包含一个通道)确定第二掩膜图像(包含一个通道)相同的方法,不再重复阐述。由于第七掩膜图像与第六掩膜图像具有相同通道数目,因此第七掩膜图像的每个通道也对应一个类别的待检测目标。从而,第七掩膜图像的某个通道中的前景区域和背景区域是指针对对应类别的待检测目标所预测的前景区域以及背景区域,非对应类别的待检测目标在该通道中将不会被预测为前景区域(理想情况下)。
步骤S24:将第七掩膜图像的全部通道累加后获得仅包含一个通道的第八掩膜图像。
累加的具体方式可以是将每个通道对应位置的像素值相加,其和作为第八掩膜图像在对应位置的像素值。第八掩膜图像与第二掩膜图像类似,其中也包括前景区域和背景区域,第八掩膜图像的前景区域是第七掩膜图像中各通道中的前景区域的并集,其中仅包含非零像素,表示对第九特征图中包含待检测目标(不区分类别)的区域的预测,第八掩膜图像在背景区域中仅包含零像素,表示对第九特征图中不包含待检测目标的区域的预测。这样的通道累加是合理的,因为不管在第七掩膜图像的哪个通道中像素被预测为前景,从总体上看,像素都属于一种类别的待检测目标,因此在第八掩膜图像中像素也应被预测为前景。
在一些实现方式中,第七掩膜图像中每个通道中像素的像素值都被激活函数映射至区间(0,1),但进行通道累加后,前景区域中部分像素的像素值之和可能超出该区间的限制,因此还可以对求和后的像素值进行归一化,使之被映射回区间(0,1)。
步骤S25:将第九特征图的每个通道分别与第八掩膜图像相乘后获得第十特征图。
步骤S26:基于第十特征图,利用边框回归分支预测包含待检测目标的边框,以及利用分类分支预测待检测目标的类别。
上述步骤中,和步骤S10至步骤S15中类似的,没有再重复阐述,可以参考前文中的描述。
在图6示出的目标检测方法中,第七掩膜图像包括多个通道,通道数目和待检测目标的类别总数目相同,且其中的每个通道对应一个类别的待检测目标,因此每个通道可以看作是一个专属于该类待检测目标的掩膜图像,各个通道分别预测针对于不同类别的待检测目标而言的前景区域和背景区域,而不是用同一个掩膜图像(图2中的方法)预测所有待检测目标形成的前景区域和背景区域,这样可以避免各个类别的待检测目标在进行区域预测时产生竞争关系,有利于获得精确的区域预测结果,进而改善目标检测的精度。当然图6中的方法会比图2中的实现起来复杂一些。
在采用多层掩膜图像的方案时,神经网络模型的训练方式和采用单层掩膜图像时是类似的,以总预测损失定义为:
Loss=Lcls+Lbbox+Lmask+L2mask
的情况为例,Lcls和Lbbox的计算方式和采用单层掩膜时相同,其中L表示通道编号的取值集合,表示像素的前背景标签,yij表示第七掩膜图像中实际的像素值,i、j表示像素的坐标,I、J分别表示i和j的取值集合。可见,每个通道在计算其对Lmask以及L2mask贡献的损失时,计算方式和采用单层掩膜图像时也是类似的,不再重复阐述。
本发明实施例还提供一种目标检测方法,该方法可以用于检测具有预设类别的待检测目标,其采用的神经网络模型的结构和图1类似,不再详细阐述。参照图7,该方法包括:
步骤S30:获取待检测图像。
步骤S31:利用主干网络对待检测图像进行特征提取后获得第十一特征图。
步骤S32:利用第一卷积层对第十一特征图进行卷积后获得第十二特征图,以及利用第二卷积层对第十一特征图进行卷积后获得第九掩膜图像,第九掩膜图像包括多个通道,其中每个通道对应一个类别的待检测目标,通道的总数目和待检测目标的类别总数目相同。
步骤S33:根据第九掩膜图像中与预设类别对应的通道中每个像素的像素值确定第十掩膜图像,第十掩膜图像包括前景区域以及背景区域,第十掩膜图像在前景区域中仅包含非零像素,表示对第十二特征图中包含待检测目标的区域的预测,第十掩膜图像在背景区域中仅包含零像素,表示对第十二特征图中不包含待检测目标的区域的预测。
步骤S34:将第十二特征图的每个通道分别与第十掩膜图像相乘后获得第十三特征图。
步骤S35:基于第十三特征图,利用边框回归分支预测包含待检测目标的边框,以及利用分类分支预测待检测目标的类别。
该方法也是一种采用多层掩膜图像的方案,步骤S32中获得的第九掩膜图像和步骤S22中的第六掩膜图像是类似的,但步骤S33与中只使用了第九掩膜图像中的一个通道来生成第十掩膜图像,其他通道并未使用,因为本方法只用于检测具有预设类别的待检测目标,其他待检测目标本次不进行检测,因此也不用关心其他类别的待检测目标对应的通道。例如,第九掩膜图像包括三个通道,分别对应卡车、轿车、面包车三个类别,但某次检测只检测卡车,则在检测时只使用卡车对应的通道,若另一次检测只检测轿车,则在检测时只使用轿车对应的通道。从而,图7中的方法也可以看作是图6中的方法所训练好的神经网络模型在针对特定类别待检测目标进行检测时的一种简化的使用方式,有利于提高目标检测的效率。
上述步骤中,和步骤S20至步骤S26中类似的,没有再重复阐述,可以参考前文中的描述。
本申请实施例还提供一种目标检测装置400,如图7所示。该装置用于利用预训练的神经网络模型检测待检测目标,神经网络模型包括主干网络、第一卷积层、第二卷积层、边框回归分支以及分类分支。参照图7,该装置包括:
第一图像获取模块410,用于获取待检测图像;
第一特征提取模块420,用于利用主干网络对待检测图像进行特征提取后获得第一特征图;
第一卷积模块430,用于利用第一卷积层对第一特征图进行卷积后获得第二特征图,以及利用第二卷积层对第一特征图进行卷积后获得第一掩膜图像;
第一掩膜计算模块440,用于根据第一掩膜图像中每个像素的像素值确定第二掩膜图像,第二掩膜图像包括前景区域以及背景区域,第二掩膜图像在前景区域中仅包含非零像素,表示对第二特征图中包含待检测目标的区域的预测,第二掩膜图像在背景区域中仅包含零像素,表示对第二特征图中不包含待检测目标的区域的预测;
第一乘法模块450,用于将第二特征图的每个通道分别与第二掩膜图像相乘后获得第三特征图;
第一预测模块460,用于基于第三特征图,利用边框回归分支预测包含待检测目标的边框,以及利用分类分支预测待检测目标的类别。
本申请实施例提供的目标检测装置400,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法施例中相应内容。
本申请实施例还提供一种目标检测装置500,如图8所示。该装置用于利用预训练的神经网络模型检测待检测目标,神经网络模型包括主干网络、第一卷积层、第二卷积层、边框回归分支以及分类分支。参照图8,该装置包括:
第二图像获取模块510,用于获取待检测图像;
第二特征提取模块520,用于利用主干网络对待检测图像进行特征提取后获得第八特征图;
第二卷积模块530,用于利用第一卷积层对第八特征图进行卷积后获得第九特征图,以及利用第二卷积层对第八特征图进行卷积后获得第六掩膜图像,第六掩膜图像包括多个通道,其中每个通道对应一个类别的待检测目标,通道的总数目和待检测目标的类别总数目相同;
第二掩膜计算模块540,用于根据第六掩膜图像中每个像素的像素值确定与第六掩膜图像具有相同通道数目的第七掩膜图像,第七掩膜图像的每个通道均包括对应于该通道的前景区域以及对应于该通道的背景区域,每个通道在对应的前景区域中仅包含非零像素,表示对第九特征图中包含对应类别的待检测目标的区域的预测,每个通道在对应的背景区域中仅包含零像素,表示对第九特征图中不包含对应类别的待检测目标的区域的预测;
掩膜累加模块550,用于将第七掩膜图像的全部通道累加后获得仅包含一个通道的第八掩膜图像;
第二乘法模块560,用于将第九特征图的每个通道分别与第八掩膜图像相乘后获得第十特征图;
第二预测模块570,用于基于第十特征图,利用边框回归分支预测包含待检测目标的边框,以及利用分类分支预测待检测目标的类别。
本申请实施例提供的目标检测装置500,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法施例中相应内容。
本申请实施例还提供一种目标检测装置600,如图9所示。该装置用于利用预训练的神经网络模型检测具有预设类别的待检测目标,待检测目标具有预设的类别,神经网络模型包括主干网络、第一卷积层、第二卷积层、边框回归分支以及分类分支。参照图9,该装置包括:
第三图像获取模块610,用于获取待检测图像;
第三特征提取模块620,用于利用主干网络对待检测图像进行特征提取后获得第十一特征图;
第三卷积模块630,用于利用第一卷积层对第十一特征图进行卷积后获得第十二特征图,以及利用第二卷积层对第十一特征图进行卷积后获得第九掩膜图像,第九掩膜图像包括多个通道,其中每个通道对应一个类别的待检测目标,通道的总数目和待检测目标的类别总数目相同;
第三掩膜计算模块640,用于根据第九掩膜图像中与预设类别对应的通道中每个像素的像素值确定第十掩膜图像,第十掩膜图像包括前景区域以及背景区域,第十掩膜图像在前景区域中仅包含非零像素,表示对第十二特征图中包含待检测目标的区域的预测,第十掩膜图像在背景区域中仅包含零像素,表示对第十二特征图中不包含待检测目标的区域的预测;
第三乘法模块650,用于将第十二特征图的每个通道分别与第十掩膜图像相乘后获得第十三特征图;
第三预测模块660,用于基于第十三特征图,利用边框回归分支预测包含待检测目标的边框,以及利用分类分支预测待检测目标的类别。
本申请实施例提供的目标检测装置600,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法施例中相应内容。
本申请实施例还提供一种电子设备700,如图10所示。参照图10,电子设备700包括一个或多个(图中仅示出一个)处理器710以及一个或多个(图中仅示出一个)存储装置720,这些组件通过总线系统730和/或其他形式的连接机构(未示出)互连并相互通讯。
处理器710可以是一种具有数据处理能力和/或指令执行能力的处理单元。例如,可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、微控制单元(MicroController Unit,MCU)、网络处理器(Network Processor,NP)或者其他常规处理器;还可以是专用处理器,包括数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuits,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。处理器710还可以控制电子设备700中的其他组件以执行期望的功能。
存储装置720可以各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(Random Access Memory,RAM)、高速缓冲存储器(Cache)等。非易失性存储器例如可以包括只读存储器(Read OnlyMemory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除只读存储器(ElectricErasable Programmable Read-Only Memory,EEPROM)、闪存(Flash)等。
在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器710可以读取并运行这些计算机程序指令,以实现本申请实施例提供的图像配准方法的步骤以及其他期望的功能。
可以理解,图10所示的结构仅为示意,电子设备700还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。图10中所示的各组件可以采用硬件、软件或其组合实现。于本申请实施例中,电子设备700可以是,但不限于台式机、笔记本电脑、智能手机、智能穿戴设备、车载设备等实体设备,还可以是虚拟机等虚拟设备。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得计算机设备执行本申请各个实施例所述方法的全部或部分步骤。前述的计算机设备包括:个人计算机、服务器、移动设备、智能穿戴设备、网络设备、虚拟设备等各种具有执行程序代码能力的设备,前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟、磁带或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (16)
1.一种目标检测方法,其特征在于,用于利用预训练的神经网络模型检测待检测目标,所述神经网络模型包括主干网络、第一卷积层、第二卷积层、边框回归分支以及分类分支,所述方法包括:
获取待检测图像;
利用所述主干网络对所述待检测图像进行特征提取后获得第一特征图;
利用所述第一卷积层对所述第一特征图进行卷积后获得第二特征图,以及利用所述第二卷积层对所述第一特征图进行卷积后获得第一掩膜图像;
根据所述第一掩膜图像中每个像素的像素值确定第二掩膜图像,所述第二掩膜图像包括前景区域以及背景区域,所述第二掩膜图像在所述前景区域中仅包含非零像素,表示对所述第二特征图中包含所述待检测目标的区域的预测,所述第二掩膜图像在所述背景区域中仅包含零像素,表示对所述第二特征图中不包含所述待检测目标的区域的预测;
将所述第二特征图的每个通道分别与所述第二掩膜图像相乘后获得第三特征图;
基于所述第三特征图,利用所述边框回归分支预测包含所述待检测目标的边框,以及利用所述分类分支预测所述待检测目标的类别。
2.根据权利要求1所述的目标检测方法,其特征在于,所述基于所述第三特征图,利用所述边框回归分支预测包含所述待检测目标的边框,以及利用所述分类分支预测所述待检测目标的类别,包括:
将所述第三特征图输入至所述边框回归分支,利用所述边框回归分支预测包含所述待检测目标的边框,以及将所述第三特征图输入至所述分类分支,利用所述分类分支预测所述待检测目标的类别。
3.根据权利要求1所述的目标检测方法,其特征在于,所述基于所述第三特征图,利用所述边框回归分支预测包含所述待检测目标的边框,以及利用所述分类分支预测所述待检测目标的类别,包括:
生成尺寸小于所述第三特征图、且包含所述第三特征图在所述前景区域中的像素的第四特征图,将所述第四特征图输入至所述边框回归分支,利用所述边框回归分支预测包含所述待检测目标的边框,以及将所述第四特征图输入至所述分类分支,利用所述分类分支预测所述待检测目标的类别。
4.根据权利要求1-3中任一项所述的目标检测方法,其特征在于,所述根据所述第一掩膜图像中每个像素的像素值确定第二掩膜图像,包括:
利用激活函数将所述第一掩膜图像中的每个像素的像素值映射至区间(0,1),对映射后的像素值进行置零处理后获得第三掩膜图像,其中,所述置零处理是指若映射后的像素值小于预设阈值,则将像素值置零;
将所述第三掩膜图像中至少包含全部非零像素的区域确定为所述前景区域,以及将所述第三掩膜图像中除所述前景区域以外的区域确定为所述背景区域;
基于所述第三掩膜图像确定所述第二掩膜图像。
5.根据权利要求4所述的目标检测方法,其特征在于,所述将所述第三掩膜图像中至少包含全部非零像素的区域确定为所述前景区域,包括:
将所述第三掩膜图像中仅包含全部非零像素的区域确定为所述前景区域。
6.根据权利要求4所述的目标检测方法,其特征在于,所述将所述第三掩膜图像中至少包含全部非零像素的区域确定为所述前景区域,包括:
确定所述第三掩膜图像中仅包含全部非零像素的区域;
将仅包含全部非零像素的区域的最小外接框或最小外接矩形对应的区域确定为所述前景区域;
所述基于所述第三掩膜图像确定所述第二掩膜图像,包括:
对所述第三掩膜图像中的像素值进行恢复处理后获得所述第二掩膜图像,其中,所述恢复处理是指若所述第三掩膜图像在所述前景区域中包含零像素,将包含的零像素的像素值恢复为像素值映射之后且尚未被置零时的值。
7.根据权利要求4所述的目标检测方法,其特征在于,所述激活函数包括Sigmoid函数。
8.根据权利要求1所述的目标检测方法,其特征在于,在获取待检测图像之前,所述方法还包括:
获取训练图像;
利用所述主干网络对所述训练图像进行特征提取后获得第五特征图;
利用所述第一卷积层对所述第五特征图进行卷积后获得第六特征图,以及利用所述第二卷积层对所述第五特征图进行卷积后获得第四掩膜图像;
利用激活函数将所述第四掩膜图像中的每个像素值映射至区间(0,1)后获得第五掩膜图像,根据所述第五掩膜图像中每个像素的像素值以及每个像素在所述训练图像中对应像素的前背景标签计算掩膜预测损失,其中,所述前背景标签中使用1表示前景,0表示背景;
将所述第六特征图的每个通道分别与所述第五掩膜图像相乘后获得第七特征图;
将所述第七特征图输入至所述边框回归分支获得边框预测结果,根据所述边框预测结果以及所述训练图像中的真实边框计算边框预测损失,以及将所述第七特征图输入至所述分类分支获得分类预测结果,根据所述分类预测结果以及所述训练图像中的分类标签计算分类预测损失;
基于所述掩膜预测损失、所述边框预测损失以及所述分类预测损失计算总预测损失,并基于所述总预测损失调整所述神经网络模型的参数。
9.根据权利要求8所述的目标检测方法,其特征在于,所述方法还包括:
计算所述第五掩膜图像中的像素值的L2正则;
所述基于所述掩膜预测损失、所述边框预测损失以及所述分类预测损失计算总预测损失,包括:
基于所述掩膜预测损失、所述边框预测损失、所述分类预测损失以及所述L2正则计算总预测损失。
10.一种目标检测方法,其特征在于,用于利用预训练的神经网络模型检测待检测目标,所述神经网络模型包括主干网络、第一卷积层、第二卷积层、边框回归分支以及分类分支,所述方法包括:
获取待检测图像;
利用所述主干网络对所述待检测图像进行特征提取后获得第八特征图;
利用所述第一卷积层对所述第八特征图进行卷积后获得第九特征图,以及利用所述第二卷积层对所述第八特征图进行卷积后获得第六掩膜图像,所述第六掩膜图像包括多个通道,其中每个通道对应一个类别的所述待检测目标,通道的总数目和所述待检测目标的类别总数目相同;
根据所述第六掩膜图像中每个像素的像素值确定与所述第六掩膜图像具有相同通道数目的第七掩膜图像,所述第七掩膜图像的每个通道均包括对应于所述通道的前景区域以及对应于所述通道的背景区域,每个通道在对应的前景区域中仅包含非零像素,表示对所述第九特征图中包含对应类别的待检测目标的区域的预测,每个通道在对应的背景区域中仅包含零像素,表示对所述第九特征图中不包含对应类别的待检测目标的区域的预测;
将所述第七掩膜图像的全部通道累加后获得仅包含一个通道的第八掩膜图像;
将所述第九特征图的每个通道分别与所述第八掩膜图像相乘后获得第十特征图;
基于所述第十特征图,利用所述边框回归分支预测包含所述待检测目标的边框,以及利用所述分类分支预测所述待检测目标的类别。
11.一种目标检测方法,其特征在于,用于利用预训练的神经网络模型检测具有预设类别的待检测目标,待检测目标具有预设的类别,所述神经网络模型包括主干网络、第一卷积层、第二卷积层、边框回归分支以及分类分支,所述方法包括:
获取待检测图像;
利用所述主干网络对所述待检测图像进行特征提取后获得第十一特征图;
利用所述第一卷积层对所述第十一特征图进行卷积后获得第十二特征图,以及利用所述第二卷积层对所述第十一特征图进行卷积后获得第九掩膜图像,所述第九掩膜图像包括多个通道,其中每个通道对应一个类别的待检测目标,通道的总数目和所述待检测目标的类别总数目相同;
根据所述第九掩膜图像中与所述预设类别对应的通道中每个像素的像素值确定第十掩膜图像,所述第十掩膜图像包括前景区域以及背景区域,所述第十掩膜图像在所述前景区域中仅包含非零像素,表示对所述第十二特征图中包含所述待检测目标的区域的预测,所述第十掩膜图像在所述背景区域中仅包含零像素,表示对所述第十二特征图中不包含所述待检测目标的区域的预测;
将所述第十二特征图的每个通道分别与所述第十掩膜图像相乘后获得第十三特征图;
基于所述第十三特征图,利用所述边框回归分支预测包含所述待检测目标的边框,以及利用所述分类分支预测所述待检测目标的类别。
12.一种目标检测装置,其特征在于,用于利用预训练的神经网络模型检测待检测目标,所述神经网络模型包括主干网络、第一卷积层、第二卷积层、边框回归分支以及分类分支,所述装置包括:
第一图像获取模块,用于获取待检测图像;
第一特征提取模块,用于利用所述主干网络对所述待检测图像进行特征提取后获得第一特征图;
第一卷积模块,用于利用所述第一卷积层对所述第一特征图进行卷积后获得第二特征图,以及利用所述第二卷积层对所述第一特征图进行卷积后获得第一掩膜图像;
第一掩膜计算模块,用于根据所述第一掩膜图像中每个像素的像素值确定第二掩膜图像,所述第二掩膜图像包括前景区域以及背景区域,所述第二掩膜图像在所述前景区域中仅包含非零像素,表示对所述第二特征图中包含所述待检测目标的区域的预测,所述第二掩膜图像在所述背景区域中仅包含零像素,表示对所述第二特征图中不包含所述待检测目标的区域的预测;
第一乘法模块,用于将所述第二特征图的每个通道分别与所述第二掩膜图像相乘后获得第三特征图;
第一预测模块,用于基于所述第三特征图,利用所述边框回归分支预测包含所述待检测目标的边框,以及利用所述分类分支预测所述待检测目标的类别。
13.一种目标检测装置,其特征在于,用于利用预训练的神经网络模型检测待检测目标,所述神经网络模型包括主干网络、第一卷积层、第二卷积层、边框回归分支以及分类分支,所述装置包括:
第二图像获取模块,用于获取待检测图像;
第二特征提取模块,用于利用所述主干网络对所述待检测图像进行特征提取后获得第八特征图;
第二卷积模块,用于利用所述第一卷积层对所述第八特征图进行卷积后获得第九特征图,以及利用所述第二卷积层对所述第八特征图进行卷积后获得第六掩膜图像,所述第六掩膜图像包括多个通道,其中每个通道对应一个类别的所述待检测目标,通道的总数目和所述待检测目标的类别总数目相同;
第二掩膜计算模块,用于根据所述第六掩膜图像中每个像素的像素值确定与所述第六掩膜图像具有相同通道数目的第七掩膜图像,所述第七掩膜图像的每个通道均包括对应于所述通道的前景区域以及对应于所述通道的背景区域,每个通道在对应的前景区域中仅包含非零像素,表示对所述第九特征图中包含对应类别的待检测目标的区域的预测,每个通道在对应的背景区域中仅包含零像素,表示对所述第九特征图中不包含对应类别的待检测目标的区域的预测;
掩膜累加模块,用于将所述第七掩膜图像的全部通道累加后获得仅包含一个通道的第八掩膜图像;
第二乘法模块,用于将所述第九特征图的每个通道分别与所述第八掩膜图像相乘后获得第十特征图;
第二预测模块,用于基于所述第十特征图,利用所述边框回归分支预测包含所述待检测目标的边框,以及利用所述分类分支预测所述待检测目标的类别。
14.一种目标检测装置,其特征在于,用于利用预训练的神经网络模型检测具有预设类别的待检测目标,待检测目标具有预设的类别,所述神经网络模型包括主干网络、第一卷积层、第二卷积层、边框回归分支以及分类分支,所述装置包括:
第三图像获取模块,用于获取待检测图像;
第三特征提取模块,用于利用所述主干网络对所述待检测图像进行特征提取后获得第十一特征图;
第三卷积模块,用于利用所述第一卷积层对所述第十一特征图进行卷积后获得第十二特征图,以及利用所述第二卷积层对所述第十一特征图进行卷积后获得第九掩膜图像,所述第九掩膜图像包括多个通道,其中每个通道对应一个类别的待检测目标,通道的总数目和所述待检测目标的类别总数目相同;
第三掩膜计算模块,用于根据所述第九掩膜图像中与所述预设类别对应的通道中每个像素的像素值确定第十掩膜图像,所述第十掩膜图像包括前景区域以及背景区域,所述第十掩膜图像在所述前景区域中仅包含非零像素,表示对所述第十二特征图中包含所述待检测目标的区域的预测,所述第十掩膜图像在所述背景区域中仅包含零像素,表示对所述第十二特征图中不包含所述待检测目标的区域的预测;
第三乘法模块,用于将所述第十二特征图的每个通道分别与所述第十掩膜图像相乘后获得第十三特征图;
第三预测模块,用于基于所述第十三特征图,利用所述边框回归分支预测包含所述待检测目标的边框,以及利用所述分类分支预测所述待检测目标的类别。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行权利要求1-11中任一项所述的方法的步骤。
16.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行权利要求1-11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910267161.XA CN110096960B (zh) | 2019-04-03 | 2019-04-03 | 目标检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910267161.XA CN110096960B (zh) | 2019-04-03 | 2019-04-03 | 目标检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110096960A true CN110096960A (zh) | 2019-08-06 |
CN110096960B CN110096960B (zh) | 2021-06-08 |
Family
ID=67444355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910267161.XA Active CN110096960B (zh) | 2019-04-03 | 2019-04-03 | 目标检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110096960B (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110570460A (zh) * | 2019-09-06 | 2019-12-13 | 腾讯云计算(北京)有限责任公司 | 目标跟踪方法、装置、计算机设备及计算机可读存储介质 |
CN110660011A (zh) * | 2019-09-29 | 2020-01-07 | 厦门美图之家科技有限公司 | 图像处理方法和装置、电子设备及存储介质 |
CN110717445A (zh) * | 2019-10-09 | 2020-01-21 | 清华大学 | 一种用于自动驾驶的前车距离跟踪系统与方法 |
CN110738643A (zh) * | 2019-10-08 | 2020-01-31 | 上海联影智能医疗科技有限公司 | 脑出血的分析方法、计算机设备和存储介质 |
CN110751079A (zh) * | 2019-10-16 | 2020-02-04 | 北京海益同展信息科技有限公司 | 物品检测方法、装置、系统和计算机可读存储介质 |
CN111161311A (zh) * | 2019-12-09 | 2020-05-15 | 中车工业研究院有限公司 | 一种基于深度学习的视觉多目标跟踪方法及装置 |
CN111275703A (zh) * | 2020-02-27 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 图像检测方法、装置、计算机设备和存储介质 |
CN111353965A (zh) * | 2020-02-28 | 2020-06-30 | Oppo广东移动通信有限公司 | 图像修复方法、装置、终端及存储介质 |
CN111639654A (zh) * | 2020-05-12 | 2020-09-08 | 博泰车联网(南京)有限公司 | 一种图像处理方法、装置及计算机存储介质 |
CN111709951A (zh) * | 2020-08-20 | 2020-09-25 | 成都数之联科技有限公司 | 目标检测网络训练方法及系统及网络及装置及介质 |
CN111723860A (zh) * | 2020-06-17 | 2020-09-29 | 苏宁云计算有限公司 | 一种目标检测方法及装置 |
CN111783729A (zh) * | 2020-07-17 | 2020-10-16 | 商汤集团有限公司 | 视频分类方法、装置、设备及存储介质 |
CN111932581A (zh) * | 2020-08-11 | 2020-11-13 | 沈阳帝信人工智能产业研究院有限公司 | 安全绳检测方法、装置、电子设备和可读存储介质 |
CN112101302A (zh) * | 2020-11-05 | 2020-12-18 | 杭州追猎科技有限公司 | 非法张贴物检测方法、系统和电子设备 |
CN112101477A (zh) * | 2020-09-23 | 2020-12-18 | 创新奇智(西安)科技有限公司 | 目标检测方法及装置、电子设备、存储介质 |
CN112418244A (zh) * | 2020-11-02 | 2021-02-26 | 北京迈格威科技有限公司 | 目标检测方法、装置和电子系统 |
CN112446398A (zh) * | 2019-09-02 | 2021-03-05 | 华为技术有限公司 | 图像分类方法以及装置 |
CN112802087A (zh) * | 2021-02-04 | 2021-05-14 | 上海中通吉网络技术有限公司 | 堆积物整体体积的检测方法、装置及电子设备 |
CN113240679A (zh) * | 2021-05-17 | 2021-08-10 | 广州华多网络科技有限公司 | 图像处理方法、装置、计算机设备及存储介质 |
WO2022001372A1 (zh) * | 2020-06-30 | 2022-01-06 | 华为技术有限公司 | 训练神经网络的方法、图像处理方法及装置 |
CN114078108A (zh) * | 2020-08-11 | 2022-02-22 | 天津拓影科技有限公司 | 图像中异常区域的处理方法、装置和图像分割方法、装置 |
CN114118124A (zh) * | 2021-09-29 | 2022-03-01 | 北京百度网讯科技有限公司 | 图像检测方法和装置 |
CN116152790A (zh) * | 2023-04-23 | 2023-05-23 | 无锡车联天下信息技术有限公司 | 一种安全带检测方法及装置 |
CN111652930B (zh) * | 2020-06-04 | 2024-02-27 | 上海媒智科技有限公司 | 一种图像目标检测方法、系统及设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7336803B2 (en) * | 2002-10-17 | 2008-02-26 | Siemens Corporate Research, Inc. | Method for scene modeling and change detection |
US7881878B2 (en) * | 2005-04-11 | 2011-02-01 | Siemens Medical Solutions Usa Inc. | Systems, devices, and methods for diffusion tractography |
US9323991B2 (en) * | 2013-11-26 | 2016-04-26 | Xerox Corporation | Method and system for video-based vehicle tracking adaptable to traffic conditions |
CN106778928B (zh) * | 2016-12-21 | 2020-08-04 | 广州华多网络科技有限公司 | 图像处理方法及装置 |
CN106599869B (zh) * | 2016-12-22 | 2019-12-03 | 安徽大学 | 一种基于多任务卷积神经网络的车辆属性识别方法 |
CN107392925B (zh) * | 2017-08-01 | 2020-07-07 | 西安电子科技大学 | 基于超像素编码和卷积神经网络的遥感影像地物分类方法 |
CN108229575A (zh) * | 2018-01-19 | 2018-06-29 | 百度在线网络技术(北京)有限公司 | 用于检测目标的方法和装置 |
CN109215036A (zh) * | 2018-08-01 | 2019-01-15 | 浙江深眸科技有限公司 | 基于卷积神经网络的人体分割方法 |
CN109255352B (zh) * | 2018-09-07 | 2021-06-22 | 北京旷视科技有限公司 | 目标检测方法、装置及系统 |
CN109345527B (zh) * | 2018-09-28 | 2021-05-04 | 广西师范大学 | 一种基于MaskRcnn的膀胱肿瘤检测方法 |
-
2019
- 2019-04-03 CN CN201910267161.XA patent/CN110096960B/zh active Active
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112446398A (zh) * | 2019-09-02 | 2021-03-05 | 华为技术有限公司 | 图像分类方法以及装置 |
CN112446398B (zh) * | 2019-09-02 | 2024-09-10 | 华为技术有限公司 | 图像分类方法以及装置 |
CN110570460B (zh) * | 2019-09-06 | 2024-02-13 | 腾讯云计算(北京)有限责任公司 | 目标跟踪方法、装置、计算机设备及计算机可读存储介质 |
CN110570460A (zh) * | 2019-09-06 | 2019-12-13 | 腾讯云计算(北京)有限责任公司 | 目标跟踪方法、装置、计算机设备及计算机可读存储介质 |
CN110660011A (zh) * | 2019-09-29 | 2020-01-07 | 厦门美图之家科技有限公司 | 图像处理方法和装置、电子设备及存储介质 |
CN110660011B (zh) * | 2019-09-29 | 2022-11-01 | 厦门美图之家科技有限公司 | 图像处理方法和装置、电子设备及存储介质 |
CN110738643B (zh) * | 2019-10-08 | 2023-07-28 | 上海联影智能医疗科技有限公司 | 脑出血的分析方法、计算机设备和存储介质 |
CN110738643A (zh) * | 2019-10-08 | 2020-01-31 | 上海联影智能医疗科技有限公司 | 脑出血的分析方法、计算机设备和存储介质 |
CN110717445A (zh) * | 2019-10-09 | 2020-01-21 | 清华大学 | 一种用于自动驾驶的前车距离跟踪系统与方法 |
CN110717445B (zh) * | 2019-10-09 | 2022-08-23 | 清华大学 | 一种用于自动驾驶的前车距离跟踪系统与方法 |
CN110751079A (zh) * | 2019-10-16 | 2020-02-04 | 北京海益同展信息科技有限公司 | 物品检测方法、装置、系统和计算机可读存储介质 |
CN111161311A (zh) * | 2019-12-09 | 2020-05-15 | 中车工业研究院有限公司 | 一种基于深度学习的视觉多目标跟踪方法及装置 |
CN111275703B (zh) * | 2020-02-27 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 图像检测方法、装置、计算机设备和存储介质 |
CN111275703A (zh) * | 2020-02-27 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 图像检测方法、装置、计算机设备和存储介质 |
CN111353965A (zh) * | 2020-02-28 | 2020-06-30 | Oppo广东移动通信有限公司 | 图像修复方法、装置、终端及存储介质 |
CN111639654A (zh) * | 2020-05-12 | 2020-09-08 | 博泰车联网(南京)有限公司 | 一种图像处理方法、装置及计算机存储介质 |
CN111639654B (zh) * | 2020-05-12 | 2023-12-26 | 博泰车联网(南京)有限公司 | 一种图像处理方法、装置及计算机存储介质 |
CN111652930B (zh) * | 2020-06-04 | 2024-02-27 | 上海媒智科技有限公司 | 一种图像目标检测方法、系统及设备 |
CN111723860A (zh) * | 2020-06-17 | 2020-09-29 | 苏宁云计算有限公司 | 一种目标检测方法及装置 |
CN111723860B (zh) * | 2020-06-17 | 2022-11-18 | 苏宁云计算有限公司 | 一种目标检测方法及装置 |
WO2022001372A1 (zh) * | 2020-06-30 | 2022-01-06 | 华为技术有限公司 | 训练神经网络的方法、图像处理方法及装置 |
CN111783729A (zh) * | 2020-07-17 | 2020-10-16 | 商汤集团有限公司 | 视频分类方法、装置、设备及存储介质 |
CN111932581A (zh) * | 2020-08-11 | 2020-11-13 | 沈阳帝信人工智能产业研究院有限公司 | 安全绳检测方法、装置、电子设备和可读存储介质 |
CN111932581B (zh) * | 2020-08-11 | 2023-09-26 | 沈阳帝信人工智能产业研究院有限公司 | 安全绳检测方法、装置、电子设备和可读存储介质 |
CN114078108A (zh) * | 2020-08-11 | 2022-02-22 | 天津拓影科技有限公司 | 图像中异常区域的处理方法、装置和图像分割方法、装置 |
CN114078108B (zh) * | 2020-08-11 | 2023-12-22 | 北京阅影科技有限公司 | 图像中异常区域的处理方法、装置和图像分割方法、装置 |
CN111709951A (zh) * | 2020-08-20 | 2020-09-25 | 成都数之联科技有限公司 | 目标检测网络训练方法及系统及网络及装置及介质 |
CN112101477A (zh) * | 2020-09-23 | 2020-12-18 | 创新奇智(西安)科技有限公司 | 目标检测方法及装置、电子设备、存储介质 |
CN112418244A (zh) * | 2020-11-02 | 2021-02-26 | 北京迈格威科技有限公司 | 目标检测方法、装置和电子系统 |
CN112101302B (zh) * | 2020-11-05 | 2021-04-27 | 杭州追猎科技有限公司 | 非法张贴物检测方法、系统和电子设备 |
CN112101302A (zh) * | 2020-11-05 | 2020-12-18 | 杭州追猎科技有限公司 | 非法张贴物检测方法、系统和电子设备 |
CN112802087A (zh) * | 2021-02-04 | 2021-05-14 | 上海中通吉网络技术有限公司 | 堆积物整体体积的检测方法、装置及电子设备 |
CN113240679A (zh) * | 2021-05-17 | 2021-08-10 | 广州华多网络科技有限公司 | 图像处理方法、装置、计算机设备及存储介质 |
CN114118124B (zh) * | 2021-09-29 | 2023-09-12 | 北京百度网讯科技有限公司 | 图像检测方法和装置 |
CN114118124A (zh) * | 2021-09-29 | 2022-03-01 | 北京百度网讯科技有限公司 | 图像检测方法和装置 |
CN116152790A (zh) * | 2023-04-23 | 2023-05-23 | 无锡车联天下信息技术有限公司 | 一种安全带检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110096960B (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096960B (zh) | 目标检测方法及装置 | |
KR102647858B1 (ko) | 컨볼루션 신경망 계산을 위한 저전력 하드웨어 가속 방법 및 시스템 | |
CN111144242B (zh) | 一种三维目标检测方法、装置及终端 | |
US20170193361A1 (en) | Neural network training performance optimization framework | |
CN110647852A (zh) | 一种车流量统计方法、终端设备及存储介质 | |
CN111783974A (zh) | 模型构建及图像处理方法、装置、硬件平台及存储介质 | |
CN113159428A (zh) | 交通流量预测方法、电子设备及存储介质 | |
Wei et al. | MTSDet: multi-scale traffic sign detection with attention and path aggregation | |
JP7554273B2 (ja) | モデル生成方法、オブジェクト検出方法、装置、機器、及び記憶媒体 | |
Maggiani et al. | Bio-inspired heterogeneous architecture for real-time pedestrian detection applications | |
CN112529069B (zh) | 一种半监督节点分类方法、系统、计算机设备和存储介质 | |
CN115995042A (zh) | 一种视频sar运动目标检测方法及装置 | |
Gutiérrez-Zaballa et al. | On-chip hyperspectral image segmentation with fully convolutional networks for scene understanding in autonomous driving | |
Stanisz et al. | Implementation of the pointpillars network for 3D object detection in reprogrammable heterogeneous devices using FINN | |
Wu et al. | A lightweight network for vehicle detection based on embedded system | |
Yao et al. | Efficient implementation of convolutional neural networks with end to end integer-only dataflow | |
US20210240895A1 (en) | Hardware-implemented argmax layer | |
CN112215349B (zh) | 基于数据流架构的稀疏卷积神经网络加速方法及装置 | |
US11699077B2 (en) | Multi-layer neural network system and method | |
US20190049561A1 (en) | Fast lidar data classification | |
CN109800873B (zh) | 图像处理方法及装置 | |
TWI850463B (zh) | 用於逐點迴旋的方法、處理系統及電腦可讀取媒體 | |
CN116227549A (zh) | 一种模型量化方法及其装置 | |
CN114612572A (zh) | 一种基于深度学习的激光雷达与相机外参标定方法及装置 | |
Kurdthongmee | Speeding up inference on deep neural networks for object detection by performing partial convolution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |