CN114596548A - 目标检测方法、装置、计算机设备及计算机可读存储介质 - Google Patents
目标检测方法、装置、计算机设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114596548A CN114596548A CN202210163681.8A CN202210163681A CN114596548A CN 114596548 A CN114596548 A CN 114596548A CN 202210163681 A CN202210163681 A CN 202210163681A CN 114596548 A CN114596548 A CN 114596548A
- Authority
- CN
- China
- Prior art keywords
- detection
- model
- loss value
- matrix
- score matrix
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例公开一种目标检测方法、装置、计算机设备及计算机可读存储介质,该方法包括:获取多张图像以及多个标签信息;第一标签信息为第一图像包括的待检测对象的类别信息,第一图像为多张图像中的任一图像;将第一图像输入第一模型,得到候选区域的特征图和对应的置信度;将候选区域的特征图输入第二模型,得到检测得分矩阵和分类得分矩阵,第一模型和第二模型属于初始检测模型;根据第一标签信息、置信度、检测得分矩阵和分类得分矩阵确定均方差损失值和交叉熵损失值;根据均方差损失值和交叉熵损失值优化初始检测模型的参数,得到训练好的检测模型;该检测模型用于检测图像中的待检测对象。本发明实施例,可以提高样本的标注效率。
Description
技术领域
本发明涉及人工智能领域,尤其涉及一种目标检测方法、装置、计算机设备及计算机可读存储介质。
背景技术
目标检测是计算机视觉领域的核心问题之一,是指从图像中找出所有感兴趣的目标,并确定它们的类别和具体位置。其应用场景主要包括无人智慧超市、自动驾驶、智能监控、安全帽/安全带检测等。
目前,目标检测算法主要是基于监督学习的,其依赖于大量的人工标注的完整真值样本(ground truth,GT)数据,通过大量的GT数据训练得到一个表现较好的目标检测模型。例如,针对一张用于训练图像,需要知道该图像中的目标的类别以及对应的具体位置,位置一般用矩形框或(x,y,长、宽)进行标注,(x,y)表示目标的中心位置坐标,长和宽分别表示中心位置距离目标两边的长度和宽度。其中,人工生产GT数据的时间和经济成本很高,且不同的人标注的质量不同,以致标注的整体质量难以保证。同时,如果需要大量图像作为训练数据,其图像的标注效率较低。
发明内容
本发明实施例公开了一种目标检测方法、装置、计算机设备及计算机可读存储介质,可以提高样本(即图像数据)的标注效率,可以提高目标检测的效果。同时,当模型的能力提升到一定阶段后(如检测准确率和分类准确率大于95%),图像级标签可以由算法(即训练好的检测模型)自动生成,可以实现所采集数据的“自我标注”和检测模型的“在线学习”。
第一方面公开一种目标检测方法,该目标检测方法可以应用于计算机设备,也可以应用于计算机设备中的模块(例如,芯片),下面以应用于计算机设备为例进行描述。该方法可以包括:
获取多张图像以及多个标签信息;该多张图像与该多个标签信息一一对应,第一标签信息为第一图像包括的待检测对象的类别信息,该第一图像为该多张图像中的任一图像;
将该第一图像输入第一模型,得到候选区域的特征图和对应的置信度;
将该候选区域的特征图输入第二模型,得到检测得分矩阵和分类得分矩阵,该第一模型和该第二模型属于初始检测模型;
根据该第一标签信息、该置信度、该检测得分矩阵和该分类得分矩阵确定均方差损失值和交叉熵损失值;
根据该均方差损失值和该交叉熵损失值优化该初始检测模型的参数,得到训练好的检测模型;该检测模型用于检测图像中的待检测对象。
本发明实施例中,计算机设备可以先获取多张图像以及多张图像对应的标签信息(即训练数据),第一标签信息为第一图像包括的待检测对象的类别信息,该第一图像为该多张图像中的任一图像。之后,计算机设备可以向将第一图像输入第一模型,获得候选区域的特征图(即通过第一模型提取特征)和置信度,然后,计算机设备可以将候选区域的特征图输入第二模型,可以得到检测得分矩阵和分类得分矩阵。第一模型和第二模型为初始检测模型的两个部分。之后,计算机设备可以根据第一标签信息、置信度、检测得分矩阵和分类得分矩阵确定均方差损失值和交叉熵损失值。再之后,计算机设备可以根据该均方差损失值和该交叉熵损失值优化该初始检测模型的参数,得到训练好的检测模型。可见,本发明实施例中,只需要知道第一图像包括的待检测对象的类别信息,其属于图像级的标签信息,因此,可以提高样本(即训练图像)的标注效率。同时,计算机设备在优化初始检测模型的参数时,综合考虑了均方差损失值和交叉熵损失值,因此,对模型参数进行优化(如梯度下降算法)之后,可以均衡的降低初始检测模型的分类损失值和检测损失值,进而训练得到的检测模型在目标的检测准确率以及分类准确率的表现较为平均,不会侧重于某一方面,可以得到一个检测准确率以及分类准确率都较高的检测模型,并且,由于其是基于弱监督标签训练得到的检测模型,因此,该检测模型的鲁棒性较好。
其中,送入初始检测模型中的样本可以为机器在运行过程中自行采集的数据,这些数据天然的具有随机性、多样性和海量性,如车辆在运行过程中采集到的不同的数据(如图像数据),该数据的图像级标签前期可以由人工标注生成,到后期模型准确率较高后可以由模型自行生成。例如,若由多张图像训练出来的检测模型(包括第一模型和第二模型)已经具有了优秀的检测能力,检测准确率和分类准确率都较高(如检测准确率和分类准确率都达到了一个具体的阈值(如95%)),则数据的图像级标签可全部由第二模型自行生成(即可以针对图像),做到数据的“自我标注”,模型的“自我训练”,实现“在线学习”。
作为一种可能的实施方式,该第一模型为通过真值数据训练的强监督学习目标检测模型。
本发明实施例中,第一模型可以为通过真值数据训练的强监督学习目标检测模型,即可以是一个预先训练(即预训练)好的模型,因此,通过第一模型可以得到候选区域的特征图较好(即提取的特征较好),候选区域对应的置信度也更准确。同时,通过总损失值可以对第一模型的参数继续进行微调,从而可以进一步提高第一模型的性能。
作为一种可能的实施方式,该第二模型包括检测分支和分类分支;该将该候选区域的特征图输入第二模型,得到检测得分矩阵和分类得分矩阵,包括:
将该候选区域的特征图输入该检测分支得到该检测得分矩阵,该检测分支包括全局平均池化层和第一全连接层;
将该候选区域的特征图输入该分类分支得到该分类得分矩阵,该分类分支包括全局平均池化层和第二全连接层,该第一全连接层与该第二全连接层的参数不同。
作为一种可能的实施方式,该根据该第一标签信息、该置信度、该检测得分矩阵和该分类得分矩阵确定均方差损失值和交叉熵损失值,包括:
根据该检测得分矩阵确定预测置信度;
根据该检测得分矩阵和该分类得分矩阵确定预测标签;
根据该置信度以及该预测置信度确定均方差损失值;
根据该第一标签信息以及该预测标签确定交叉熵损失值。
作为一种可能的实施方式,该第二模型还包括归一化层,该根据该检测得分矩阵确定预测置信度包括:
将该检测得分矩阵输入该归一化层,得到归一化矩阵;
将该归一化矩阵中每一行的最大值确定为该预测置信度。
作为一种可能的实施方式,该第二模型还包括归一化层、第一softmax层以及第二softmax层,该根据该检测得分矩阵和该分类得分矩阵确定预测标签包括:
将该检测得分矩阵输入该归一化层,得到归一化矩阵;
将该归一化矩阵输入该第一softmax层,得到第一矩阵;
将该分类得分矩阵输入该第二softmax层,得到第二矩阵;
对该第一矩阵和该第二矩阵进行哈达玛积矩阵变换,得到第三矩阵;
对该第三矩阵的每一列进行求和运算,得到该预测标签。
作为一种可能的实施方式,该根据该均方差损失值和该交叉熵损失值优化该初始检测模型的参数包括:
将该交叉熵损失值乘以权重R/C,得到加权交叉熵损失值;该C为待检测对象的类别数,该R为该候选区域的数量;
将该加权交叉熵损失值与该均方差损失值的和确定为总损失值;
根据该总损失值优化该初始检测模型的参数。
本发明实施例中,计算机设备可以将交叉熵损失值(即分类损失值)乘以一个权重(R/C),再和均方差损失值(即检测损失值)相加得到一个总损失值,可以使得分类损失值和检测损失值在初始检测模型优化时的贡献一样,在损失反向传递过程中,通过梯度下降算法对模型参数进行修正之后,可以均衡的降低初始检测模型的分类损失值和检测损失值,避免了模型优化时只侧重于降低分类损失值或检测损失值,进而训练得到的检测模型在检测准确率以及分类准确率的表现较为平均,不会侧重于某一方面,可以得到一个检测准确率以及分类准确率都较高的检测模型。
第二方面公开一种目标检测装置,该目标检测装置可以为计算机设备,也可以为计算机设备中的模块(例如,芯片)。该装置可以包括:
获取单元,用于获取多张图像以及多个标签信息;该多张图像与该多个标签信息一一对应,第一标签信息为第一图像包括的待检测对象的类别信息,所述第一图像为该多张图像中的任一图像;
第一处理单元,用于将该第一图像输入第一模型,得到候选区域的特征图和对应的置信度;
第二处理单元,用于将该候选区域的特征图输入第二模型,得到检测得分矩阵和分类得分矩阵,该第一模型和该第二模型属于初始检测模型;
确定单元,用于根据该第一标签信息、该置信度、该检测得分矩阵和该分类得分矩阵确定均方差损失值和交叉熵损失值;
优化单元,用于根据该均方差损失值和该交叉熵损失值优化该初始检测模型的参数,得到训练好的检测模型;该检测模型用于检测图像中的该待检测对象。
作为一种可能的实施方式,该第一模型为通过真值数据训练的强监督学习目标检测模型。
作为一种可能的实施方式,该第二模型包括检测分支和分类分支;该第二处理单元具体用于:
将该候选区域的特征图输入该检测分支得到该检测得分矩阵,该检测分支包括全局平均池化层和第一全连接层;
将该候选区域的特征图输入该分类分支得到该分类得分矩阵,该分类分支包括全局平均池化层和第二全连接层,该第一全连接层与该第二全连接层的参数不同。
作为一种可能的实施方式,该确定单元根据该第一标签信息、该置信度、该检测得分矩阵和该分类得分矩阵确定均方差损失值和交叉熵损失值,包括:
根据该检测得分矩阵确定预测置信度;
根据该检测得分矩阵和该分类得分矩阵确定预测标签;
根据该置信度以及该预测置信度确定均方差损失值;
根据该第一标签信息以及该预测标签确定交叉熵损失值。
作为一种可能的实施方式,该第二模型还包括归一化层,该确定单元根据该检测得分矩阵确定预测置信度包括:
将该检测得分矩阵输入该归一化层,得到归一化矩阵;
将该归一化矩阵中每一行的最大值,确定为该预测置信度。
作为一种可能的实施方式,该第二模型还包括归一化层、第一softmax层以及第二softmax层,该确定单元根据该检测得分矩阵和该分类得分矩阵确定预测标签包括:
将该检测得分矩阵输入该归一化层,得到归一化矩阵;
将该归一化矩阵输入该第一softmax层,得到第一矩阵;
将该分类得分矩阵输入该第二softmax层,得到第二矩阵;
对该第一矩阵和该第二矩阵进行哈达玛积矩阵变换,得到第三矩阵;
对该第三矩阵的每一列进行求和运算,得到该预测标签。
作为一种可能的实施方式,该优化单元具体用于:
将该交叉熵损失值乘以权重R/C,得到加权交叉熵损失值;该C为待检测对象的类别数,该R为该候选区域的数量;
将该加权交叉熵损失值与该均方差损失值的和确定为总损失值;
根据该总损失值优化该初始检测模型的参数。
第三方面公开一种计算机设备,包括:处理器和存储器。其中,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序。当该处理器执行该存储器存储的计算机程序时,使得该处理器执行第一方面或第一方面的任一实施方式公开的目标检测方法。
第四方面公开一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序或计算机指令,当该计算机程序或计算机指令运行时,实现如上述各方面公开的目标检测方法。
第五方面公开一种芯片,包括处理器,用于执行存储器中存储的程序,当程序被执行时,使得芯片执行上面的方法。
作为一种可能的实施方式,存储器位于芯片之外。
第六方面公开一种计算机程序产品,该计算机程序产品包括计算机程序代码,当该计算机程序代码被运行时,使得上述目标检测方法被执行。
附图说明
图1是本发明实施例公开的一种目标检测的场景示意图;
图2是本发明实施例公开的一种目标检测方法的逻辑流程示意图;
图3是本发明实施例公开的一种目标检测方法的流程示意图;
图4是本发明实施例公开的一种sigmod函数的几何图像的示意图;
图5是本发明实施例公开的一种目标检测模型的结构示意图;
图6是本发明实施例公开的另一种目标检测方法的流程示意图;
图7是本发明实施例公开的一种检测结果的示意图;
图8是本发明实施例公开的一种目标检测装置的结构示意图;
图9是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
本发明实施例公开了一种目标检测方法、装置、计算机设备及计算机可读存储介质,可以提高样本(即图像数据)的标注效率,可以提高目标检测的效果。同时,当模型的能力提升到一定阶段后(如检测准确率和分类准确率大于95%),图像级标签可以由算法(即训练好的检测模型)自动生成,可以实现所采集数据的“自我标注”和检测模型的“在线学习”。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或者特性可以包含在本实施例申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是相同的实施例,也不是与其它实施例互斥的独立的或是备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请的说明书和权利要求书及所述附图中术语“第一”、“第二”、“第三”等是区别于不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元,或者可选地,还包括没有列出的步骤或单元,或者可选地还包括这些过程、方法、产品或设备固有的其它步骤或单元。
附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在本说明书中使用的术语“部件”、“模块”、“系统”、“单元”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件或执行中的软件。例如,单元可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或分布在两个或多个计算机之间。此外,这些单元可从在上面存储有各种数据结构的各种计算机可读介质执行。单元可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一单元交互的第二单元数据。例如,通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
为了更好地理解本发明实施例,下面先对本发明实施例的部分用语和相关技术进行描述。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(computer vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
机器学习(machine learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、弱监督学习、强监督学习等技术。
迁移学习(transfer learning),也即是把已训练好的模型(预训练模型)的参数迁移到另一个未训练的模型,以便帮助该未训练的模型提高训练效率。由于大部分数据或任务都是存在相关性的,因此,通过迁移学习可以将已经学到的模型参数(也可理解为模型学到的知识)通过某种方式来分享给其它未训练的模型从而加快并优化模型的学习效率,而不用从零开始学习得到一个模型。
针对目标检测,传统的强监督学习目标检测算法,依赖于大量的人工标注的完整真值样本(ground truth,GT)数据来训练目标检测/分割模型。其中,完整GT数据也即是针对每一张图像,需要标注出图像中所有的目标以及对应的类别,也即是需要知道图像中包括几个目标,以及每一个目标的具体位置和每一个目标的类别。可见,针对传统的强监督学习目标检测算法,生产完整GT训练数据的时间和经济成本很高,且不同的人标注的质量不同,以致于标注的整体质量难以保证。
为了解决完整的GT训练数据难以获得的问题,业内开始研究基于弱监督的目标检测算法。弱监督目标检测算法,只需要依赖简单的图像级标签信息。其中,图像级标签属于弱监督标记,它只需要标记出图像中有哪些类别的目标,而不需要知道目标的具体位置以及每个类别分别包括多少个目标。可见,这种弱监督标记的标记效率会是传统数据标注效率的数百倍,在一些特定的情况下,甚至可以实现图片的自动标注。例如,需要检测的目标类别仅包括汽车(小轿车)、自行车、电动摩托车。因此,在高速路或高架桥上采集的样本图像,由于这部分样本图像可以默认为只包括汽车,可以直接标注为[car,none,none],可以极大地提高标注的效率。可见,获得图像级标签的时间以及经济成本较低,且标记结果较为准确。与此同时,如何获得一个性能较好的弱监督目标检测模型是技术人员关注的问题。
为了更好地理解本发明实施例,下面先对本发明实施例适用的场景进行示例性地介绍。
示例性地,本发明实施例提供的目标检测方法,可以用于得到一个检测准确率以及分类准确率都较高的弱监督目标检测模型。该弱监督目标检测模型可以从图像或视频中检测出待检测目标,也即是可以从图像中找出所有感兴趣的目标(即需要检测的目标,或称为待检测目标),并确定它们的类别和具体位置。
例如,在辅助驾驶场景下,需要检测的目标可以包括汽车、交通信号灯、交通标志牌。为了得到目标检测模型识别出上述三种目标,首先需要获取训练数据,训练数据可以为通过数据采集车采集的图像以及对应的标签,一张图像的标签可以为(x1,x2,x3),其中,x1、x2、x3的取值可以为0或1,x1为1可以代表该图像包括有汽车,x1为0可以代表带图像不包括有汽车。同理,x2为1可以代表该图像包括有交通信号灯,x2为0可以代表带图像不包括有交通信号灯,x3为1可以代表该图像包括有交通标志牌,x2为0可以代表该图像不包括有交通标志牌。通过训练数据对初始目标检测模型进行训练,可以得到目标检测模型,该目标检测模型可以用于检测图像中包括的汽车、交通信号灯、交通标志牌。
针对训练好的目标检测模型,可以运行在车机系统上,车机系统可以通过智能汽车上搭载的车载摄像头,实时的获取智能汽车周围的环境图像,之后,可以将周围的环境图像输入目标检测模型,实现对目标的识别,以便可以辅助驾驶员进行驾驶,可以提高驾驶安全性。例如,请参见图1,图1是本发明实施例公开的一种目标检测的场景示意图。如图1所示,在汽车A的右后方,有一汽车B,并且,汽车B位于汽车A的驾驶员的视野盲区,也即是通过后视镜,汽车A上的驾驶员无法发现汽车B。此时,在汽车B的速度较快的情况下,汽车A向右变道极有可能发生交通事故。但是,如果可以通过汽车A的车载摄像头,实时获取汽车A后方的图像,然后通过目标检测模型检测该图像中的目标,可以提前检测到汽车B,然后可以通过语音或其它方式提醒驾驶员注意右后方的汽车,从而可以避免发生交通事故。
应理解,本发明实施例提供的目标检测方法还可以应用于其它的目标检测场景,如无人智慧超市、智能监控、安全帽/安全带检测等,不限于上述介绍的辅助驾驶场景。
本发明实施例提供的目标检测方法可以由计算机设备执行,计算机设备包括但不限于终端设备或服务器。上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器。上述终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
为了更好地理解本发明实施例,下面结合图2,对本发明实施例公开的一种目标检测方法的基本逻辑流程进行介绍。
如图2所示,针对一张原始图像,首先将原始图像(即样本图像)输入一个候选框生成器,通过该候选框生成器为原始图像生成检测候选框(region proposal box,RP_BOX)的信息和对应的置信度S的信息,置信度可以理解为对应的检测候选框存在目标(即需要检测的对象)的概率,也可以理解为检测候选框对应的候选区域为一个目标的概率。置信度也可以称为置信度评分。应理解,针对一张原始图像,通过候选框生成器生成的检测候选框的数量可以为0,也可以为一个或多个。例如,在原始图像中不包括待检测目标的情况下,候选框生成器可能检测不到任何目标,因此,不会生成检测候选框,检测候选框的数量可以为0;在原始图像中包括一个或多个待检测目标的情况下,候选框生成器可以检测到一个或多个目标,因此,会生成检测候选框,检测候选框的数量可以为一个或多个。
其中,候选框生成器可以是一个由GT数据训练出来的强监督学习目标检测模型。同时,可以结合迁移学习进一步提升该目标检测模型(即候选框生成器)的能力。
在得到原始图像的候选框的信息、置信度的信息之后,可以将原始图像的候选框的信息、置信度的信息和原始图像的图像级标签信息输入正负包和正负示例生成器,生成原始图像的各个类别目标的正负包和正负示例。例如,检测任务的类别数为3,分别为汽车、自行车、交通信号灯。针对一张图像,如果其包括3个检测候选框,三个候选区域对应的类别分别为汽车、自行车、交通信号灯,则对于包括汽车的图像候选区域(即包括汽车的检测候选框对应的区域),其可以为汽车类别的正包(bag),还可以为自行车和交通信号灯这两个类别的负包,而针对该图像候选区域的一部分,如一个像素,其可以为汽车类别的一个正示例,还可以为自行车和交通信号灯这两个类别的负示例。可见,一个包可以由多个示例组成。
之后,可以将各个类别目标的正负包和正负示例输入正负示例训练器,训练得到一个检测模型,该检测模型可以区分每个检测候选框中像素类型。通过训练好的检测模型,多示例学习(multi instance learning,MIL)交互器可以实现对新输入图像的进行目标检测。
请参阅图3,图3是本发明实施例公开的一种目标检测方法的流程示意图。如图3所示,该目标检测方法可以包括以下步骤。
301.获取多张图像以及多个标签信息,第一标签信息为第一图像包括的待检测对象的类别信息,第一图像为多张图像中的任一图像。
具体地,为了训练初始检测模型,得到训练好的检测模型。计算机设备首先需要获取训练数据(即多张图像以及多个标签信息),以便对初始检测模型进行训练。其中,多张图像与多个标签信息一一对应,也即是一张训练图像对应一个标签信息。标签信息为图像包括的待检测对象的类别信息,用于指示图像包括哪些类别的目标(对象)。第一标签信息为第一图像包括的待检测对象的类别信息。待检测对象可以理解为需要检测的对象,也可以理解为感兴趣的对象。针对不同的检测任务,待检测对象可以不同。其中,对象也可以称为目标。例如,针对辅助驾驶的目标检测,待检测对象一般为汽车、交通信号灯等。针对安全帽/安全带的目标检测,待检测对象一般为安全带、安全帽等。
例如,针对一个检测任务,需要检测四个类别的目标(对象),包括汽车、自行车、交通信号灯、摩托车。图像包括的待检测对象的类别信息可以为对象的类别的名称。在一张训练图像包括汽车(car)和交通信号灯(traffic light)这两个类别的对象的情况下,该图像的标签信息可以为[car,traffic light],也可以为[汽车,交通信号灯]。同理,在一张训练图像包括汽车、自行车和交通信号灯的情况下,该图像的标签信息可以为[汽车,自行车,交通信号灯]。图像包括的待检测对象的类别信息也可以为对象的类别的标识。汽车的标识可以为0,自行车的标识可以为1,交通信号灯的标识可以为2,摩托车的标识可以为3。在一张训练图像包括汽车和交通信号灯的情况下,该图像的标签信息可以为[0,2]。
图像包括的待检测对象的类别信息也可以通过一维数组指示,该数组包括的元素的数量可以与需要检测的总的类别数相同,数组中的每一个元素对应一个类别。当需要检测汽车、自行车、交通信号灯、摩托车这四个类别的对象时,数组包括4个元素。其中,第一个元素可以用于指示汽车,第二个元素可以用于指示自行车,第三个元素可以用于指示交通信号灯,第四个元素可以用于指示摩托车。其中,元素值为1可以表示代表包括该类别的对象,元素值为0可以代表不包括该类别的对象。在一张训练图像包括汽车和交通信号灯的情况下,该图像的标签信息可以为[1,0,1,0],其中,第一个元素为1可以代表该图像包括汽车,第二个元素为0可以代表该图像不包括自行车,第三个元素为1可以代表该图像包括交通信号灯,第四个元素为0代表该图像不包括摩托车。上述一维数组可以作为模型训练过程中的标签。
应理解,图像对应的标签信息可以用于获得图像的弱监督标签(即真实标签),可以用于模型训练。
需要说明的是,本发明实施例不对上述多张图像的格式进行限定,可以为任意一种格式的图像,例如便携式网络图形(portable network graphics,PNG)、位图图像(bitmap,BMP)、联合图像专家组(joint photographic experts group,JPEG)(一种最常用的图像文件格式)等。此外,上述多张图像可以为彩色图像(RGB),具有红(Red)、绿(Green)、蓝(Blue)三个颜色通道;上述多张图像也可以为灰度图像,具有亮度通道(Y分量),本申请实施例不对图像的类型进行限定。
302.将第一图像输入第一模型,得到候选区域的特征图和对应的置信度。
在获取到包括第一图像的多张图像之后,计算机设备可以将第一图像输入第一模型,得到候选区域的特征图和对应的置信度,置信度用于指示对应候选区域为待检测对象的概率,也即是对应候选区域为任一需要检测的类别的一个目标的概率。
第一模型可以为训练好的模型。具体地,为了得到第一图像的较为准确的候选框(即能够较为准确的框住第一图像中需要检测的目标的框),计算机设备可以采用GT数据训练一个强监督学习目标检测模型(supervised object detection,SOD),即第一模型。如fast_rcnn、faster_rcnn模型等。其中,训练第一模型采用的GT数据是完整的GT数据,针对一张训练图像,需要标注出图像中包括的所有需要检测的目标,以及每一个目标的具体位置等。且为了得到一个检测准确率较高的模型,采用的GT数据应该具有一定的数量和丰富度。同时,为了匹配当前训练的任务,GT数据的类别应包括当前训练任务包括的待检测类别。如当前训练任务为训练一个可以检测汽车、自行车这两个类别的目标的检测模型,则GT数据中应包括含有汽车和自行车这两个类别的标注数据。
应理解,第一模型可以得到输入图像的候选区域(即候选框包括的区域),以及每一个候选区域对应的置信度。同时,第一模型可以输出每一个候选区域对应的特征图(feature_map)。其中,候选区域的特征图的通道数(即图像的矩阵层数)与第一模型的结构有关,如与第一模型中包括的卷积核的个数等有关。候选区域的特征图可以理解为候选区域的特征张量,特征图也可以理解为通过卷积神经网络(convolutional neural network,CNN)等提取后获得的可以代表完整原始图像信息的图。
需要说明的是,置信度也可以理解为对应的候选区域包括待检测对象的概率(即包括任意一个需要检测的对象的概率)。
303.将候选区域的特征图输入第二模型,得到检测得分矩阵和分类得分矩阵。
具体地,计算机设备通过第一模型得到候选区域的特征图之后,可以将候选区域的特征图输入第二模型,得到检测得分矩阵和分类得分矩阵。第一模型和第二模型属于初始检测模型。
第二模型可以包括检测分支和分类分支。检测分支可以包括全局平均池化层和第一全连接层(fully connected layers,FC),分类分支可以包括全局平均池化层和第二全连接层,第一全连接层与第二全连接层的参数不同,检测分支和分类分支可以共用一个全局平均池化层。其中,将候选区域的特征图输入检测分支可以得到检测得分矩阵,将候选区域的特征图输入分类分支可以得到分类得分矩阵。
具体地,计算机设备将候选区域的特征图输入检测分支,首先通过一个全局平均池化层,可以对R个候选区域的特征图进行全局平均池化,得到候选区域的全局特征图。全局平均池化层的作用可以理解为提取每个候选区域的全局特征,还可以降低第一全连接层的参数量,从而可以降低过拟合的风险。之后,可以将候选区域的全局特征图通过一个全连接层(即第一全连接层)得到检测得分矩阵。其中,检测得分矩阵的维度可以为R*C,R为候选区域的数量,C为检测任务的类别的个数(即需要检测的类别的数量,与图像的弱监督标签包括的类别对应)。例如,需要检测的类别可以包括汽车、自行车、信号灯、摩托车、行人、交通指示牌,则对应的C为6。检测得分矩阵的每一行可以对应一个候选区域,每一列可以对应一个检测类别。检测得分矩阵中的一个元素,可以理解为某一个候选区域在某一个类别上的似物性评分(即有无该类别的对象的分数),可以指示一个候选区域包括某一个类别的对象的可能性大小,值越大,表示对应的候选区域包括对应类别的对象的可能性越大,值越小,表示对应的候选区域包括对应类别的对象的可能性越小。
计算机设备将候选区域的特征图输入分类分支,首先通过一个全局平均池化层,可以对R个候选区域的特征图进行全局平均池化,得到候选区域的全局特征图。之后,计算机设备可以将候选区域的全局特征图通过一个全连接层(即第二全连接层)得到分类得分矩阵。其中,分类得分矩阵的维度可以为R*C。分类得分矩阵的每一行可以对应一个候选区域,每一列可以对应一个目标类别。分类得分矩阵中的一个元素,可以指示一个候选区域是某一个类别的对象的可能性大小,值越大,表示对应的候选区域是对应类别的对象的可能性越大,值越小,表示对应的候选区域是对应类别的对象的可能性越小。
应理解,上述全局平均池化层也可以替换为最大池化层(可以执行最大池化操作)或者其它池化层。
需要说明的是,由于检测分支和分类分支的作用不同,因此,检测分支和分类分支的全连接层不能共享参数,需要分别训练对应的全连接层参数。
304.根据第一标签信息、置信度、检测得分矩阵和分类得分矩阵确定均方差损失值和交叉熵损失值。
具体地,计算机设备可以根据检测得分矩阵确定预测置信度,还可以根据检测得分矩阵和分类得分矩阵确定预测标签。之后,计算机设备可以根据置信度以及预测置信度确定均方差损失值;根据第一标签信息以及预测标签确定交叉熵损失值。
其中,第二模型还可以包括归一化层,计算机设备根据检测得分矩阵确定预测置信度可以包括:将检测得分矩阵输入归一化层,得到归一化矩阵;将归一化矩阵中每一行的最大值确定为预测置信度(即取归一化矩阵的每一行的最大值,得到预测置信度),预测置信度可以为候选区域对应的预测置信度。具体地,归一化层可以为sigmod层,在归一化层,计算机设备可以对检测得分矩阵的每一个元素进行sigmod运算,得到归一化矩阵。其中,归一化矩阵的一个值,可以理解为一个候选区域包括某一个待检测类别的对象的概率。取归一化矩阵的每一行的最大值可以理解为:取一个候选区域中最有可能包括的某一个类别的待检测对象的概率(也即是每一行的最大值),作为该候选区域包括待检测对象(即任意需要检测的类别的对象)的概率。例如,一个候选区域包括汽车的概率为0.85,包括自行车的概率为0.5,包括摩托车的概率为0.6,包括交通灯的概率为0.05,可以将0.85作为该候选区域包括待检测对象的概率。sigmod函数如下公式(1)所示:
其中,z可以为检测得分矩阵中的一个元素,f(z)可以为该元素通过归一化层的输出。
请参阅图4,图4是本发明实施例公开的一种sigmod函数的几何图像的示意图。
应理解,计算机设备还可以通过其它归一化函数对检测得分矩阵进行处理,本发明实施例在此不作限定。
计算机设备可以根据置信度以及预测置信度确定均方差损失值。具体地,本申请实施例中,计算机设备可以采用均方误差损失(mean squared error,MSE)函数,计算置信度以及预测置信度之间的误差,得到均方差损失值。MSE函数如下公式(2)所示:
第二模型还可以包括归一化层、第一softmax层以及第二softmax层,计算机设备根据检测得分矩阵和分类得分矩阵确定预测标签可以包括以下步骤。
首先,计算机设备可以将检测得分矩阵输入归一化层,可以得到归一化矩阵。其中,得到归一化矩阵可以是通过sigmod运算,具体描述可以参考上述相关描述。然后,计算机设备可以将归一化矩阵输入第一softmax层,对第一矩阵的每一列进行softmax运算(即将每一列的全部元素归一化,使得每一列上全部元素的和为1),可以计算列中每一行的类别概率值,同时,可以获得每个候选区域在类间的特征,得到第一矩阵。其中,计算机设备也可以先将上述归一化矩阵乘以数值β,然后再通过softmax运算,可以增加分类任务的可分性。β为大于1的标量。
计算机设备可以将分类得分矩阵输入第二softmax层,对分类得分矩阵的每一行进行softmax运算(即将每一行的全部元素归一化,使得每一行上全部元素的和为1),可以获得所有候选区域在某一类别上的特征,得到第二矩阵。之后,计算机设备可以对第一矩阵和第二矩阵进行哈达玛积(hadamard)矩阵变换(即同型矩阵的相同位置的元素分别相乘),得到第三矩阵。hadamard变换可以检测多个信号组合的总强度,可以减少信号的均方差提高信噪比,适合用于特征识别,可以提取多个类别之间的特征。最后,计算机设备可以对第三矩阵的每一列进行求和运算,得到预测标签。该预测标签可以为第一图像的预测标签,预测标签中的每一个元素可以表示第一图像包括某一个类别的分数,分数越高,表示该图片越有可能包括该类别的待检测对象。softmax函数如下公式(3)所示:
其中,i可以为分类得分矩阵的一行中的一个元素,∑jej可以为该行中所有元素的指数和,Si可以为该元素通过softmax运算的输出。
计算机设备可以根据第一标签信息以及预测标签确定交叉熵损失值。具体地,本申请实施例中,计算机设备可以根据第一标签信息得到第一图像的弱监督标签(即真实标签),之后,计算机设备可以采用交叉熵损失(cross entropy loss,CE_loss)函数,计算弱监督标签以及预测标签之间的误差,得到交叉熵损失值。交叉熵损失函数可以计算预测概率分布与标准概率分布之间的差距。
305.根据均方差损失值和交叉熵损失值优化初始检测模型的参数,得到训练好的检测模型。
由于R和C可以是不同的,因此,如果直接将分类损失值和交叉熵损失值直接进行线性融合,会导致在最终的损失值上两者的贡献不均衡。因此,计算机设备可以将交叉熵损失值乘以权重R/C,得到加权交叉熵损失值;C为待检测对象的类别数,R为上述候选区域的数量。然后,计算机设备可以将加权交叉熵损失值与均方差损失值的和确定为总损失值。
计算机设备可以根据总损失值优化初始检测模型的参数,得到训练好的检测模型;该训练好的检测模型可以用于对图像中的待检测对象(即第一图像的真实标签对应的所有类别的对象)进行检测。可见,通过总损失值可以对第一模型的参数继续进行微调,从而可以提高第一模型的性能。
由于此处将交叉熵损失值(即分类损失值)乘以一个权重(R/C),再和均方差损失值(即检测损失值)相加得到总损失值,可以使得分类损失值和检测损失值在初始检测模型优化时的贡献一样,以便在损失反向传递过程中,通过梯度下降算法对模型参数进行修正之后,可以均衡的降低初始检测模型的分类损失值和检测损失值,避免了模型优化时只侧重于降低分类损失值或检测损失值,进而训练得到的目标模型在目标的检测准确率以及分类准确率的表现较为平均,不会侧重于某一方面,可以得到一个检测准确率以及分类准确率都较高的检测模型,并且,由于其是基于弱监督标签训练得到的检测模型,因此,该检测模型的鲁棒性较好。
可以理解的是,计算机设备在模型的迭代训练过程中,当总损失值小于预设的模型误差时,则可以停止训练,得到训练好的检测模型。可选的,计算机设备可以设置初始检测模型的预设迭代次数,并记录该初始检测模型的训练迭代次数,当训练迭代次数等于预设迭代次数时,可以停止训练该初始检测模型,将训练迭代次数等于预设迭代次数的模型确定为最终训练好的检测模型。同时,在模型训练过程中,也可以先得到多张不同的图像的总损失值,然后对多张图像的总损失值求平均,可以得到一个平均总损失值。之后,可根据该平均总损失值优化模型参数。
本发明实施例中,模型训练只需要依赖简单的图像级标签信息,并且在计算损失值时,可以将交叉熵损失值乘以一个权重(R/C),然后和均方差损失值相加得到一个总损失值。最后训练好的检测模型的具有较好的算法效果,其在平均准确率(mean averageprecision,MAP)、准确率(average precision,AP)、召回率、检测目标的交并比(intersection over union,IOU)等指标上表现较好,并且误检率较低。
其中,送入初始检测模型中的样本可以为机器在运行过程中自行采集的数据,这些数据天然的具有随机性、多样性和海量性,如车辆在运行过程中采集到的不同的数据(如图像数据),该数据的图像级标签前期可以由人工标注生成,到后期模型准确率较高后可以由模型自行生成。例如,若由多张图像训练出来的检测模型(包括第一模型和第二模型)已经具有了优秀的检测能力,检测准确率和分类准确率都较高(如检测准确率和分类准确率都达到了一个具体的阈值(如95%)),则数据的图像级标签可全部由第二模型自行生成(即可以针对图像),做到数据的“自我标注”,模型的“自我训练”,实现“在线学习”。
例如,针对一张未标注的图像,可以将其输入训练好的检测模型,得到目标的检测框以及每个检测框对应的类别,然后可以根据这些类别生成其对应的图像级标签。具体地,假设训练好的检测模型可以检测四个类别的目标(对象),包括汽车、自行车、交通信号灯、摩托车。然后,可以将一张采集的图像输入该检测模型,假设可以得到3个检测框(即可以检测到三个目标),其中一个检测框对应的类别为汽车,另外两个检测框对应的类别可以为交通信号灯,则可以根据得到的检测结果(即检测框和对应的类别)生成该图像的图像级标签,如生成的图像级标签可以为[1,0,1,0],其中,第一个元素为1可以代表该图像包括汽车,第二个元素为0可以代表该图像不包括自行车,第三个元素为1可以代表该图像包括交通信号灯,第四个元素为0代表该图像不包括摩托车。
请参阅图5,图5是本发明实施例公开的一种目标检测模型的结构示意图。如图5所示,计算机设备首先可以获取多张图像,第一标签信息为第一图像包括的待检测对象的类别信息,第一图像为多张图像中的任一图像。针对第一图像,通过候选框生成器可以得到第一图像的R个候选区域和每个候选区域的置信度。并且,候选框生成器可以输出每个候选区域的特征图,因此,可以得到R个W*H*CH大小的特征图,其中CH可以为特征图的通道数(channels),W可以为特征图的宽度,H可以为特征图的高度。之后,可以将R个特征图输入分类分支和检测分支。在检测分支中,首先将R个特征图输入全局平均池化层,进行全局平均池化处理,可以得到R个CH*1*1大小的特征图,再经过一个全连接层(即上述第一全连接层)可以得到R个C*1*1大小的特征图,最后经降维(即view运算)处理可以得到大小为R*C的检测得分矩阵。其中,C为检测任务的类别数。
之后,计算机设备可以将检测得分矩阵输入归一化层,如sigmod层,通过sigmod运算可以得到归一化矩阵。最后,可以保留归一化矩阵中每一行的最大值,可以得到预测置信度。预测置信度的大小为R*1,其中每一个值对应一个候选区域。之后,可以根据预测置信度和置信度求得均方差损失值。
在分类分支中,与检测分支处理步骤类似,首先将R个特征图输入全局平均池化层,进行全局平均池化处理,可以得到R个CH*1*1大小的特征图,再经过一个全连接层(即上述第二全连接层)可以得到R个C*1*1大小的特征图,最后经降维(即view运算)处理可以得到大小为R*C的分类得分矩阵。然后,可以将分类得分矩阵输入一个softmax层,针对分类得分矩阵的每一行,分别进行softmax运算,可以得到第二矩阵,其大小为R*C。类似的,针对归一化矩阵,可以先将归一化矩阵乘以一个标量β,之后,可以将乘以β的归一化矩阵输入一个softmax层,针对分类得分矩阵的每一列,分别进行softmax运算,可以得到第一矩阵。然后,可以将第一矩阵和第二矩阵进行哈达玛积矩阵运算,得到第三矩阵。最后,可以针对第三矩阵的每一行分别求和,可以得到预测标签。预测标签的大小为C*1,其中每一个值对应一个类别。
之后,可以根据真实标签和预测标签求得交叉熵损失值。再之后,可以将交叉熵损失值乘以权重(R/C),再和检测损失值相加,得到总损失(值)。最后,可以反向传导(backward)总损失,通过随机梯度下降算法优化模型参数。
请参阅图6,图6是本发明实施例公开的另一种目标检测方法的流程示意图。如图6所示,该目标检测方法可以包括以下步骤。
601.获取多张图像,第二图像为该多张图像中的任一图像。
其中,获取的多张图像的标签是未知的(即没有矩形框标签、类别标签等)。例如,可以是智能汽车摄像头、工业摄像头实时获取的外界图像。
602.将第二图像输入第一模型,得到候选区域和候选区域的特征图。
在获取到包括第二图像的多张图像之后,计算机设备可以将第一图像输入第一模型,可以得到候选区域和候选区域的特征图。此处,可以得到第二图像中的所有待检测对象的候选框,如每一个候选框的具体位置,可以用(x,y,w,h),其中,(x,y)表示一个待检测对象的中心点在第二图像中的坐标位置(可以以第二图像的左下角作为坐标原点),w表示距离中心点左右两边的距离,h表示距离中心点上下两边的距离。其中,第一模型可以是通过图3所示的实施例微调过后的第一模型。具体地,可以参考上述图3所示的方法实施例中的相关描述,在此不再赘述。
603.将候选区域的特征图输入第二模型,得到检测得分矩阵和分类得分矩阵。
步骤603与上述步骤303类似,可以参考步骤303的相关描述,在此不再详细赘述。
604.根据检测得分矩阵和分类得分矩阵得到候选区域对应的类别。
具体地,计算机设备可以根据检测得分矩阵和分类得分矩阵得到图像得分矩阵(即上述步骤304中的第三矩阵)。具体的图像得分矩阵的步骤,与步骤304中得到第三矩阵的步骤相同,可以参考上述相关描述。
计算机设备可以根据图像得分矩阵得到候选区域对应的类别。具体地,计算机设备得到图像得分矩阵(R*C)之后,由于图像得分矩阵的每一列可以对应一个类别,每一行可以对应一个候选区域。因此,针对图像得分矩阵的每一行(即一个候选区域),可以先确定该行中最大的值,将该最大值的一列对应的类别作为该候选区域对应的类别。通过步骤602得到的候选区域(即候选框),和步骤604得到的候选区域对应的类别,即完成了对第二图像的目标识别。
请参阅图7,图7是本发明实施例公开的一种检测结果的示意图。首先,计算机设备可以获取训练数据(多张图像和对应的标签),然后对上述初始检测模型进行训练,可以得到训练好的模型。例如,训练数据的真实标签包括汽车、信号灯、自行车、摩托车这四个类别,则训练得到检测模型之后,使用该检测模型可以识别出一张图像中的汽车、信号灯、自行车、摩托车这四个类别的目标(对象)。如图7所示,通过检测模型可以输出检测到的目标的检测框以及目标框中的对象的具体类别。
请参阅图8,图8是本发明实施例公开的一种目标检测装置的结构示意图。其中,该目标检测装置可以为计算机设备,也可以为计算机设备中的模块。如图8所示,该装置可以包括:
获取单元801,用于获取多张图像以及多个标签信息;该多张图像与该多个标签信息一一对应,第一标签信息为第一图像包括的待检测对象的类别信息,所述第一图像为该多张图像中的任一图像;
第一处理单元802,用于将该第一图像输入第一模型,得到候选区域的特征图和对应的置信度;
第二处理单元803,用于将该候选区域的特征图输入第二模型,得到检测得分矩阵和分类得分矩阵,该第一模型和该第二模型属于初始检测模型;
确定单元804,用于根据该第一标签信息、该置信度、该检测得分矩阵和该分类得分矩阵确定均方差损失值和交叉熵损失值;
优化单元805,用于根据该均方差损失值和该交叉熵损失值优化该初始检测模型的参数,得到训练好的检测模型;该检测模型用于检测图像中的该待检测对象。
在一个实施例中,该第一模型为通过真值数据训练的强监督学习目标检测模型。
在一个实施例中,该第二模型包括检测分支和分类分支;该第二处理单元803具体用于:
将该候选区域的特征图输入该检测分支得到该检测得分矩阵,该检测分支包括全局平均池化层和第一全连接层;
将该候选区域的特征图输入该分类分支得到该分类得分矩阵,该分类分支包括全局平均池化层和第二全连接层,该第一全连接层与该第二全连接层的参数不同。
在一个实施例中,该确定单元804根据该第一标签信息、该置信度、该检测得分矩阵和该分类得分矩阵确定均方差损失值和交叉熵损失值,包括:
根据该检测得分矩阵确定预测置信度;
根据该检测得分矩阵和该分类得分矩阵确定预测标签;
根据该置信度以及该预测置信度确定均方差损失值;
根据该第一标签信息以及该预测标签确定交叉熵损失值。
在一个实施例中,该第二模型还包括归一化层,该确定单元804根据该检测得分矩阵确定预测置信度包括:
将该检测得分矩阵输入该归一化层,得到归一化矩阵;
将该归一化矩阵中每一行的最大值,确定为该预测置信度。
在一个实施例中,该第二模型还包括归一化层、第一softmax层以及第二softmax层,该确定单元804根据该检测得分矩阵和该分类得分矩阵确定预测标签包括:
将该检测得分矩阵输入该归一化层,得到归一化矩阵;
将该归一化矩阵输入该第一softmax层,得到第一矩阵;
将该分类得分矩阵输入该第二softmax层,得到第二矩阵;
对该第一矩阵和该第二矩阵进行哈达玛积矩阵变换,得到第三矩阵;
对该第三矩阵的每一列进行求和运算,得到该预测标签。
在一个实施例中,该优化单元805具体用于:
将该交叉熵损失值乘以权重R/C,得到加权交叉熵损失值;该C为待检测对象的类别数,该R为该候选区域的数量;
将该加权交叉熵损失值与该均方差损失值的和确定为总损失值;
根据该总损失值优化该初始检测模型的参数。
有关上述获取单元801、第一处理单元802、第二处理单元803、确定单元804以及优化单元805更详细的描述可以直接参考上述图3所示的方法实施例中的相关描述直接得到,这里不加赘述。
请参见图9,图9是本申请实施例提供的一种计算机设备的结构示意图。如图9所示,该计算机设备900可以包括:至少一个处理器901,例如CPU,至少一个存储器905,至少一个通信总线902。可选地,该计算机设备900还可以包括至少一个网络接口904,用户接口903。其中,通信总线902用于实现这些组件之间的连接通信。其中,用户接口903可以包括显示屏(display)、键盘(keyboard),网络接口904可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器905可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器905可选地还可以是至少一个位于远离前述处理器901的存储装置。如图9所示,作为一种计算机存储介质的存储器905可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图9所示的计算机设备900中,网络接口904可提供网络通讯功能;而用户接口903主要用于为用户提供输入的接口;而处理器901可以用于调用存储器905中存储的设备控制应用程序,以实现:
获取多张图像以及多个标签信息;该多张图像与该多个标签信息一一对应,第一标签信息为第一图像包括的待检测对象的类别信息,该第一图像为该多张图像中的任一图像;
将该第一图像输入第一模型,得到候选区域的特征图和对应的置信度;
将该候选区域的特征图输入第二模型,得到检测得分矩阵和分类得分矩阵,该第一模型和该第二模型属于初始检测模型;
根据该第一标签信息、该置信度、该检测得分矩阵和该分类得分矩阵确定均方差损失值和交叉熵损失值;
根据该均方差损失值和该交叉熵损失值优化该初始检测模型的参数,得到训练好的检测模型;该检测模型用于检测图像中的待检测对象。
应当理解,本申请实施例中所描述的计算机设备900可以用于执行上述图3方法实施例中计算机设备执行的方法,在此不再赘述。
本发明实施例还公开一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述方法实施例中的方法。
本发明实施例还公开一种包括指令的计算机程序产品,该指令被执行时执行上述方法实施例中的方法。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。
Claims (10)
1.一种目标检测方法,其特征在于,包括:
获取多张图像以及多个标签信息;所述多张图像与所述多个标签信息一一对应,第一标签信息为第一图像包括的待检测对象的类别信息,所述第一图像为所述多张图像中的任一图像;
将所述第一图像输入第一模型,得到候选区域的特征图和对应的置信度;
将所述候选区域的特征图输入第二模型,得到检测得分矩阵和分类得分矩阵,所述第一模型和所述第二模型属于初始检测模型;
根据所述第一标签信息、所述置信度、所述检测得分矩阵和所述分类得分矩阵确定均方差损失值和交叉熵损失值;
根据所述均方差损失值和所述交叉熵损失值优化所述初始检测模型的参数,得到训练好的检测模型;所述检测模型用于检测图像中的所述待检测对象。
2.根据权利要求1所述的方法,其特征在于,所述第一模型为通过真值数据训练的强监督学习目标检测模型。
3.根据权利要求1所述的方法,其特征在于,所述第二模型包括检测分支和分类分支;所述将所述候选区域的特征图输入第二模型,得到检测得分矩阵和分类得分矩阵,包括:
将所述候选区域的特征图输入所述检测分支得到所述检测得分矩阵,所述检测分支包括全局平均池化层和第一全连接层;
将所述候选区域的特征图输入所述分类分支得到所述分类得分矩阵,所述分类分支包括所述全局平均池化层和第二全连接层,所述第一全连接层与所述第二全连接层的参数不同。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一标签信息、所述置信度、所述检测得分矩阵和所述分类得分矩阵确定均方差损失值和交叉熵损失值,包括:
根据所述检测得分矩阵确定预测置信度;
根据所述检测得分矩阵和所述分类得分矩阵确定预测标签;
根据所述置信度以及所述预测置信度确定均方差损失值;
根据所述第一标签信息以及所述预测标签确定交叉熵损失值。
5.根据权利要求4所述的方法,其特征在于,所述第二模型还包括归一化层,所述根据所述检测得分矩阵确定预测置信度包括:
将所述检测得分矩阵输入所述归一化层,得到归一化矩阵;
将所述归一化矩阵中每一行的最大值确定为所述预测置信度。
6.根据权利要求4所述的方法,其特征在于,所述第二模型还包括归一化层、第一softmax层以及第二softmax层,所述根据所述检测得分矩阵和所述分类得分矩阵确定预测标签包括:
将所述检测得分矩阵输入所述归一化层,得到归一化矩阵;
将所述归一化矩阵输入所述第一softmax层,得到第一矩阵;
将所述分类得分矩阵输入所述第二softmax层,得到第二矩阵;
对所述第一矩阵和所述第二矩阵进行哈达玛积矩阵变换,得到第三矩阵;
对所述第三矩阵的每一列进行求和运算,得到所述预测标签。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述均方差损失值和所述交叉熵损失值优化所述初始检测模型的参数包括:
将所述交叉熵损失值乘以权重R/C,得到加权交叉熵损失值;所述C为所述待检测对象的类别数,所述R为所述候选区域的数量;
将所述加权交叉熵损失值与所述均方差损失值的和确定为总损失值;
根据所述总损失值优化所述初始检测模型的参数。
8.一种目标检测装置,其特征在于,包括:
获取单元,用于获取多张图像以及多个标签信息;所述多张图像与所述多个标签信息一一对应,第一标签信息为第一图像包括的待检测对象的类别信息,所述第一图像为所述多张图像中的任一图像;
第一处理单元,用于将所述第一图像输入第一模型,得到候选区域的特征图和对应的置信度;
第二处理单元,用于将所述候选区域的特征图输入第二模型,得到检测得分矩阵和分类得分矩阵,所述第一模型和所述第二模型属于初始检测模型;
确定单元,用于根据所述第一标签信息、所述置信度、所述检测得分矩阵和所述分类得分矩阵确定均方差损失值和交叉熵损失值;
优化单元,用于根据所述均方差损失值和所述交叉熵损失值优化所述初始检测模型的参数,得到训练好的检测模型;所述检测模型用于检测图像中的所述待检测对象。
9.一种计算机设备,其特征在于,包括:存储器和处理器;其中:
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器用于调用所述程序指令,使得所述计算机设备执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或计算机指令,当所述计算机程序或计算机指令被运行时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210163681.8A CN114596548A (zh) | 2022-02-22 | 2022-02-22 | 目标检测方法、装置、计算机设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210163681.8A CN114596548A (zh) | 2022-02-22 | 2022-02-22 | 目标检测方法、装置、计算机设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114596548A true CN114596548A (zh) | 2022-06-07 |
Family
ID=81804418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210163681.8A Pending CN114596548A (zh) | 2022-02-22 | 2022-02-22 | 目标检测方法、装置、计算机设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114596548A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115527083A (zh) * | 2022-09-27 | 2022-12-27 | 中电金信软件有限公司 | 图像标注方法、装置和电子设备 |
CN116137061A (zh) * | 2023-04-20 | 2023-05-19 | 北京睿芯通量科技发展有限公司 | 数量统计模型的训练方法、装置、电子设备及存储介质 |
-
2022
- 2022-02-22 CN CN202210163681.8A patent/CN114596548A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115527083A (zh) * | 2022-09-27 | 2022-12-27 | 中电金信软件有限公司 | 图像标注方法、装置和电子设备 |
CN115527083B (zh) * | 2022-09-27 | 2023-04-11 | 中电金信软件有限公司 | 图像标注方法、装置和电子设备 |
CN116137061A (zh) * | 2023-04-20 | 2023-05-19 | 北京睿芯通量科技发展有限公司 | 数量统计模型的训练方法、装置、电子设备及存储介质 |
CN116137061B (zh) * | 2023-04-20 | 2023-08-01 | 北京睿芯通量科技发展有限公司 | 数量统计模型的训练方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8620026B2 (en) | Video-based detection of multiple object types under varying poses | |
CN111767882A (zh) | 一种基于改进yolo模型的多模态行人检测方法 | |
CN107239730B (zh) | 智能汽车交通标志识别的四元数深度神经网络模型方法 | |
CN107273832B (zh) | 基于积分通道特征与卷积神经网络的车牌识别方法及系统 | |
Derpanis et al. | Classification of traffic video based on a spatiotemporal orientation analysis | |
CN110348463B (zh) | 用于识别车辆的方法和装置 | |
CN110633632A (zh) | 一种基于循环指导的弱监督联合目标检测和语义分割方法 | |
CN110555420B (zh) | 一种基于行人区域特征提取和重识别融合模型网络及方法 | |
CN114359851A (zh) | 无人驾驶目标检测方法、装置、设备及介质 | |
CN112581409B (zh) | 一种基于端到端的多重信息蒸馏网络的图像去雾方法 | |
CN114596548A (zh) | 目标检测方法、装置、计算机设备及计算机可读存储介质 | |
CN112395951A (zh) | 一种面向复杂场景的域适应交通目标检测与识别方法 | |
US20220156528A1 (en) | Distance-based boundary aware semantic segmentation | |
Cho et al. | Semantic segmentation with low light images by modified CycleGAN-based image enhancement | |
CN114049572A (zh) | 识别小目标的检测方法 | |
CN116052212A (zh) | 一种基于双重自监督学习的半监督跨模态行人重识别方法 | |
Barodi et al. | An enhanced artificial intelligence-based approach applied to vehicular traffic signs detection and road safety enhancement | |
CN116452937A (zh) | 基于动态卷积与注意力机制的多模态特征目标检测方法 | |
CN117197763A (zh) | 基于交叉注意引导特征对齐网络的道路裂缝检测方法和系统 | |
CN112861776A (zh) | 一种基于密集关键点的人体姿态分析方法和系统 | |
CN117157679A (zh) | 感知网络、感知网络的训练方法、物体识别方法及装置 | |
US20230154157A1 (en) | Saliency-based input resampling for efficient object detection | |
CN111160282A (zh) | 一种基于二值化Yolov3网络的红绿灯检测方法 | |
CN110555425A (zh) | 一种视频流实时行人检测方法 | |
CN116311154A (zh) | 一种基于YOLOv5模型优化的车辆检测与识别方法 |
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 |