训练目标检测模型和检测目标的方法

申请号 CN202110710528.8 申请日 2021-06-25 公开(公告)号 CN113377888B 公开(公告)日 2024-04-02
申请人 北京百度网讯科技有限公司; 发明人 董青; 王洪志;
摘要 本公开提供了训练目标检测模型和检测目标的方法及装置,涉及 人工智能 领域,具体涉及 计算机视觉 和 深度学习 技术,具体可用于智能交通场景下。具体实现方案为:获取样本集,其中,样本集中的样本包括图片和标注信息,标注信息包括目标招牌的 位置 信息、深度值、方向 角 。执行以下训练步骤:从样本集中选取样本输入目标检测模型的关键点检测层,输出位置预测结果。基于位置预测结果生成候选区域。将候选区域输入目标检测模型的预测层,得到预测方向角、分类回归结果和预测深度。基于所选取的样本的标注信息与预测方向角、分类回归结果和预测深度训练目标检测模型。该实施方式生成了可以同时检测深度和位置的目标检测模型,提高了模型识别准确率。
权利要求

1.一种训练目标检测模型的方法,包括:
获取样本集,其中,样本集中的样本包括图片和标注信息,标注信息包括目标招牌的位置信息、深度值、方向
执行以下训练步骤:从所述样本集中选取样本输入目标检测模型的关键点检测层,输出位置预测结果,其中,所述位置预测结果包括角点与中心点热图、中心点偏移、基于中心点的目标宽高;基于所述位置预测结果生成候选区域;将所述候选区域输入目标检测模型的预测层,得到预测方向角、分类回归结果和预测深度;基于所选取的样本的标注信息与所述预测方向角、所述分类回归结果和所述预测深度计算总损失值;若所述总损失值小于目标值,则确定出所述目标检测模型训练完成。
2.根据权利要求1所述的方法,其中,所述方法还包括:
若总损失值大于等于目标值,则调整所述目标检测模型的相关参数,并基于调整后的目标检测模型继续执行上述训练步骤。
3.根据权利要求1所述的方法,其中,所述基于所选取的样本的标注信息与所述预测方向角、所述分类回归结果和所述预测深度计算总损失值,包括:
若目标招牌的数量小于预定值,则获取所选取的样本的深度监督信号和分类回归监督信号;
基于所述深度监督信号、所述分类回归监督信号对所选取的样本的标注信息进行补充;
基于所选取的样本的补充后的标注信息与预测方向角、分类回归结果和预测深度计算总损失值。
4.根据权利要求3所述的方法,其中,所述获取所选取的样本的深度监督信号和分类回归监督信号,包括:
将所述候选区域和选取的样本输入预先训练的深度估计模型,输出所述候选区域的深度预测信息作为深度监督信号;
将选取的样本输入预先训练的目标检测器,输出检测框的位置信息作为分类回归监督信号。
5.根据权利要求4所述的方法,其中,所述输出检测框的位置信息作为分类回归监督信号,包括:
获取每个检测框的位置信息的置信度
按置信度由大到小的顺序选取预定数目个置信度大于预定置信度阈值的检测框的位置信息作为分类回归监督信号。
6.根据权利要求5所述的方法,其中,所述基于所选取的样本的标注信息与所述预测方向角、所述分类回归结果和所述预测深度计算总损失值,包括:
为所述分类回归结果设置与补充后的标注信息中的置信度成正比的损失权重;
基于所述损失权重、补充后的标注信息与所述预测方向角、所述分类回归结果和所述预测深度计算总损失值。
7.根据权利要求5所述的方法,其中,所述角点与中心点热力图的高斯峰值为每个检测框的位置信息的置信度。
8.一种检测目标的方法,包括:
获取待检测区域的街景图;
将所述街景图输入根据权利要求1‑7中任一项所述的方法训练出的目标检测模型,输出所述街景图中至少一个招牌的方向角、位置信息和深度信息。
9.根据权利要求8所述的方法,其中,所述位置信息包括中心点位置、基于中心点的目标宽高、四个角的位置;
所述方法还包括:
对于所述至少一个招牌中每个招牌,基于该招牌的中心点位置和基于中心点的目标宽高进行回归得到预测框,若该招牌的四个角的位置在所述预测框的内部,则保留该招牌,否则过滤掉。
10.根据权利要求9所述的方法,其中,所述方法还包括:
对于所述至少一个招牌中每个招牌,基于该招牌的方向角、中心点深度、中心点位置、四个角的位置分别计算每个角的深度并输出。
11.一种训练目标检测模型的装置,包括:
获取单元,被配置成获取样本集,其中,样本集中的样本包括图片和标注信息,标注信息包括目标招牌的位置信息、深度值、方向角;
训练单元,被配置成执行以下训练步骤:从所述样本集中选取样本输入目标检测模型的关键点检测层,输出位置预测结果,其中,所述位置预测结果包括角点与中心点热力图、中心点偏移、基于中心点的目标宽高;基于所述位置预测结果生成候选区域;将所述候选区域输入目标检测模型的预测层,得到预测方向角、分类回归结果和预测深度;基于所选取的样本的标注信息与所述预测方向角、所述分类回归结果和所述预测深度计算总损失值;若所述总损失值小于目标值,则确定出所述目标检测模型训练完成。
12.根据权利要求11所述的装置,其中,所述训练单元进一步被配置成:
若总损失值大于等于目标值,则调整所述目标检测模型的相关参数,并基于调整后的目标检测模型继续执行上述训练步骤。
13.根据权利要求11所述的装置,其中,所述训练单元进一步被配置成:
若目标招牌的数量小于预定值,则获取所选取的样本的深度监督信号和分类回归监督信号;
基于所述深度监督信号、所述分类回归监督信号对所选取的样本的标注信息进行补充;
基于所选取的样本的补充后的标注信息与预测方向角、分类回归结果和预测深度计算总损失值。
14.根据权利要求13所述的装置,其中,所述训练单元进一步被配置成:
将所述候选区域和选取的样本输入预先训练的深度估计模型,输出所述候选区域的深度预测信息作为深度监督信号;
将选取的样本输入预先训练的目标检测器,输出检测框的位置信息作为分类回归监督信号。
15.根据权利要求14所述的装置,其中,所述训练单元进一步被配置成:
获取每个检测框的位置信息的置信度;
按置信度由大到小的顺序选取预定数目个置信度大于预定置信度阈值的检测框的位置信息作为分类回归监督信号。
16.根据权利要求15所述的装置,其中,所述训练单元进一步被配置成:
为所述分类回归结果设置与补充后的标注信息中的置信度成正比的损失权重;
基于所述损失权重、补充后的标注信息与所述预测方向角、所述分类回归结果和所述预测深度计算总损失值。
17.根据权利要求15所述的装置,其中,所述角点与中心点热力图的高斯峰值为每个检测框的位置信息的置信度。
18.一种检测目标的装置,包括:
获取单元,被配置成获取待检测区域的街景图;
检测单元,被配置成将所述街景图输入根据权利要求11‑17中任一项所述的装置训练出的目标检测模型,输出所述街景图中至少一个招牌的方向角、位置信息和深度信息。
19.根据权利要求18所述的装置,其中,所述位置信息包括中心点位置、基于中心点的目标宽高、四个角的位置;
所述装置还包括验证单元,被配置成:
对于所述至少一个招牌中每个招牌,基于该招牌的中心点位置和基于中心点的目标宽高进行回归得到预测框,若该招牌的四个角的位置在所述预测框的内部,则保留该招牌,否则过滤掉。
20.根据权利要求19所述的装置,其中,所述装置还包括计算单元,被配置成:
对于所述至少一个招牌中每个招牌,基于该招牌的方向角、中心点深度、中心点位置、四个角的位置分别计算每个角的深度并输出。
21.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑10中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1‑10中任一项所述的方法。

说明书全文

训练目标检测模型和检测目标的方法

技术领域

[0001] 本公开涉及人工智能领域,具体涉及计算机视觉深度学习技术,具体可用于智能交通场景下。

背景技术

[0002] POI(point of interest,兴趣点)对于地图位置检索、地图导航定位等方向有着重要意义,更是本地生活业务的基本支撑。传统的POI采集方式依赖于人工作业,不仅效率低下,而且成本高昂。为实现“降本增效,实时更新”的目标,车载影像将成为POI自动化更新的主要数据源。
[0003] 众所周知,深度学习本质上是一数据科学,模型的输出与输入数据的质量息息相关,模型的泛化性能与输入数据的数量息息相关。事实上,由于现实世界的复杂性,商铺招牌往往也是多种多样,由于标注成本的限制,不可能让模型见过每一种类型的招牌,因此,在较少的精标注样本中学习到鲁棒性较强的可用于生产的模型难度较大。另一方面,由于图像是将三维世界映射到二维平面成像,因此缺少相应的深度信息,而POI的深度信息对于建设该POI的高精坐标十分重要,因此,通过技术手段从单目图像中恢复出招牌区域的深度信息也是一个难点。发明内容
[0004] 本公开提供了一种训练目标检测模型和检测目标的方法、装置、设备、存储介质以及计算机程序产品。
[0005] 根据本公开的第一方面,提供了一种训练目标检测模型的方法,包括:获取样本集,其中,样本集中的样本包括图片和标注信息,标注信息包括目标招牌的位置信息、深度值、方向;执行以下训练步骤:从所述样本集中选取样本输入目标检测模型的关键点检测层,输出位置预测结果,其中,所述位置预测结果包括角点与中心点热图、中心点偏移、基于中心点的目标宽高;基于所述位置预测结果生成候选区域;将所述候选区域输入目标检测模型的预测层,得到预测方向角、分类回归结果和预测深度;基于所选取的样本的标注信息与所述预测方向角、所述分类回归结果和所述预测深度计算总损失值;若所述总损失值小于目标值,则确定出所述目标检测模型训练完成。
[0006] 根据本公开的第二方面,提供了一种检测目标的方法,包括:获取待检测区域的街景图;将所述街景图输入第一方面所述的方法训练出的目标检测模型,输出所述街景图中至少一个招牌的方向角、位置信息和深度信息。
[0007] 根据本公开的第三方面,提供了一种训练目标检测模型的装置,包括:获取单元,被配置成获取样本集,其中,样本集中的样本包括图片和标注信息,标注信息包括目标招牌的位置信息、深度值、方向角;训练单元,被配置成执行以下训练步骤:从所述样本集中选取样本输入目标检测模型的关键点检测层,输出位置预测结果,其中,所述位置预测结果包括角点与中心点热力图、中心点偏移、基于中心点的目标宽高;基于所述位置预测结果生成候选区域;将所述候选区域输入目标检测模型的预测层,得到预测方向角、分类回归结果和预测深度;基于所选取的样本的标注信息与所述预测方向角、所述分类回归结果和所述预测深度计算总损失值;若所述总损失值小于目标值,则确定出所述目标检测模型训练完成。
[0008] 根据本公开的第四方面,提供了一种检测目标的装置,包括:获取单元,被配置成获取待检测区域的街景图;检测单元,被配置成将所述街景图输入根据第三方面所述的装置训练出的目标检测模型,输出所述街景图中至少一个招牌的方向角、位置信息和深度信息。
[0009] 根据本公开的第五方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面或第二方面所述的方法。
[0010] 根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面或第二方面所述的方法。
[0011] 根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面或第二方面所述的方法。
[0012] 本公开实施例提供的训练目标检测模型和检测目标的方法和装置,通过标注位置信息、深度值和方向角可以训练出检测目标的位置、深度和角度的模型。该模型可应用于构造地图,简化了构造地图的过程并提高了地图的精度
[0013] 应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明
[0014] 附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0015] 图1是本公开可以应用于其中的示例性系统架构图;
[0016] 图2是根据本公开训练目标检测模型的方法的一个实施例的流程图
[0017] 图3a、3b是根据本公开训练目标检测模型的方法的一个应用场景的示意图;
[0018] 图4是根据本公开检测目标的方法的一个实施例的流程图;
[0019] 图5是根据本公开训练目标检测模型的装置的一个实施例的结构示意图;
[0020] 图6是根据本公开检测目标的装置的一个实施例的结构示意图;
[0021] 图7是适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。

具体实施方式

[0022] 以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0023] 图1示出了可以应用本申请实施例的训练目标检测模型的方法、训练目标检测模型的装置、检测目标的方法或检测目标的装置的示例性系统架构100。
[0024] 如图1所示,系统架构100可以包括无人车(也称自动驾驶车)101、102,网络103、数据库服务器104和服务器105。网络103用以在无人车101、102,数据库服务器104与服务器105之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0025] 无人车101、102中安装有驾驶控制设备以及激光雷达、毫米波雷达等采集点数据的设备。驾驶控制设备(又称为车载大脑)负责无人车的智能控制。驾驶控制设备可以是单独设置的控制器,例如可编程逻辑控制器(Programmable Logic Controller,PLC)、单片机、工业控制机等;也可以是由其他具有输入/输出端口,并具有运算控制功能的电子器件组成的设备;还可以是安装有车辆驾驶控制类应用的计算机设备。
[0026] 需要说明的是,实践中无人车中还可以安装有至少一个传感器,例如,相机、重力传感器、轮速传感器等。某些情况下,无人车中还可以安装有GNSS(Global Navigation Satellite System,全球导航卫星系统)设备和SINS(Strap‑down Inertial Navigation System,捷联惯性导航系统)等等。
[0027] 数据库服务器104可以是提供各种服务的数据库服务器。例如数据库服务器中可以存储有样本集。样本集中包含有大量的样本。其中,样本可以包括图片和标注信息。目标可以是招牌、人、车辆、建筑物等。针对招牌的检测,可标注招牌的位置、深度、方向角。位置可以是中心点的位置,还可以是四个角点的位置。深度可以是中心点的深度,也可以是四个角点的深度。方向角为相机与成像平面的夹角。这样,用户也可以通过无人车101、102,从数据库服务器104所存储的样本集中选取样本。
[0028] 服务器105也可以是提供各种服务的服务器,例如对无人车101、102上显示的各种应用提供支持的后台服务器。后台服务器可以利用无人车101、102采集的样本集中的样本,对初始模型进行训练,并可以将训练结果(如生成的目标检测模型)发送给无人车101、102。这样,无人车可以应用生成的目标检测模型进行目标检测,可以使得无人车检测出招牌,从而构建出精确的地图。
[0029] 这里的数据库服务器104和服务器105同样可以是硬件,也可以是软件。当它们为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当它们为软件时,可以实现成多个软件或软件模(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。数据库服务器104和服务器105也可以为分布式系统的服务器,或者是结合了区块链的服务器。数据库服务器104和服务器105也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。
[0030] 需要说明的是,本申请实施例所提供的训练目标检测模型的方法或检测目标的方法一般由服务器105执行。相应地,训练目标检测模型的装置或检测目标的装置一般也设置于服务器105中。检测目标的方法还可由无人车执行。
[0031] 需要指出的是,在服务器105可以实现数据库服务器104的相关功能的情况下,系统架构100中可以不设置数据库服务器104。
[0032] 应该理解,图1中的无人车、网络、数据库服务器和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的无人车、网络、数据库服务器和服务器。
[0033] 继续参见图2,其示出了根据本申请的训练目标检测模型的方法的一个实施例的流程200。该训练目标检测模型的方法可以包括以下步骤:
[0034] 步骤201,获取样本集。
[0035] 在本实施例中,训练目标检测模型的方法的执行主体(例如图1所示的服务器105)可以通过多种方式来获取样本集。例如,执行主体可以通过有线连接方式或无线连接方式,从数据库服务器(例如图1所示的数据库服务器104)中获取存储于其中的现有的样本集。再例如,用户可以通过无人车(例如图1所示的无人车101、102)来收集样本。这样,执行主体可以接收无人车所收集的样本,并将这些样本存储在本地,从而生成样本集。
[0036] 其中,样本集中的每个样本包括图片和标注信息,标注信息包括目标招牌的位置信息、深度值、方向角。位置可以包括中心点的坐标,还可以包括四个角点(左上、左下、右上、右下)的坐标。深度可以包括中心点的深度,也可以包括四个角点的深度。方向角为相机与成像平面的夹角,一张图片对应一个方向角。
[0037] 每张图片可能有多个招牌,被标注过的招牌称为目标招牌。本公开不需要完全标注所有的招牌,可仅标注部分招牌,甚至可以标注一个招牌。标注量较少的样本可通过其它辅助的网络生成监督信号辅助进行有监督地训练。
[0038] 步骤202,从样本集中选取样本输入目标检测模型的关键点检测层,输出位置预测结果。
[0039] 在本实施例中,执行主体可以从步骤201中获取的样本集中选取样本,以及执行步骤203至步骤207的训练步骤。其中,样本的选取方式和选取数量在本申请中并不限制。例如可以是随机选取样本,也可以选取图片清晰度较高的样本或者标注的招牌数较多的样本。
[0040] 目标检测模型的关键点检测层是一种神经网络结构,具体结构如图3b所示。关键点检测层可提取关键点(例如,中心点和四个角点)的特征,生成特征图,再进行预测,得到关键点的位置预测结果。其中,位置预测结果可包括角点与中心点热力图、中心点偏移、基于中心点的目标宽高。本公开的方案基于anchor‑free(无锚点)的方式生成候选区域。该方式的优点是无需人工定义anchor的超参信息,同时采用无锚点的关键点预测的方法能更好适用尺度大且形变严重的招牌。中心点偏移(offset)是解决由于网络下采样导致关键点映射偏差的纠正模块,通过offset模块预测的关键点偏移量,结合预测的关键点位置,即可得到较为精确的关键点位置。
[0041] 步骤203,基于位置预测结果生成候选区域。
[0042] 在本实施例中,可基于检测结果的概率超过阈值的关键点生成候选区域。例如可通过RPN(Region Proposal Network,区域推荐网络)生成候选区域。
[0043] 步骤204,将候选区域输入目标检测模型的预测层,得到预测方向角、分类回归结果和预测深度。
[0044] 在本实施例中,预测层也是一种神经网络结构,用于预测三种数据:方向角、分类回归、深度。其中分类回归不仅可以判断候选区域是不是招牌,还可以根据中心点和基于中心点的宽高回归出检测框。预测深度可以是中心点深度,也可以是四个角点的深度。
[0045] 步骤205,基于所选取的样本的标注信息与预测方向角、分类回归结果和预测深度计算总损失值。
[0046] 在本实施例中,样本标注信息中有三种真实值,与步骤204得到的三种预测数据进行比较,分别根据三种类型的数据之间的差异计算损失值。例如,可根据标注信息中的方向角与预测方向角之间的差异计算第一损失值。根据标注信息中的位置信息与分类回归结果之间的差异计算第二损失值。根据标注信息中的深度值与预测深度之间的差异计算第三损失值。最后将第一损失值、第二损失值和第三损失值的加权和作为总损失值。
[0047] 步骤206,若总损失值小于目标值,则确定出目标检测模型训练完成。
[0048] 在本实施例中,当总损失值小于目标值时,可以认为预测值接近或近似真值。目标值可以根据实际需求来设置。若总损失值小于目标值,则说明目标检测模型训练完成。
[0049] 步骤207,若总损失值大于等于目标值,则调整目标检测模型的相关参数继续执行步骤202‑207。
[0050] 在本实施例中,若总损失值不小于目标值,则说明目标检测模型训练未完成,则调整目标检测模型的相关参数,例如采用反向传播技术分别修改目标检测模型中关键点检测层、预测层、区域推荐网络中的权重。以及可以返回步骤202,从样本集中重新选取样本。从而可以基于调整后的目标检测模型继续执行上述训练步骤。
[0051] 本申请实施例提供的训练目标检测模型的方法和装置,联合训练招牌检测与招牌深度估计任务,在检测到目标的同时,估计出目标区域的深度,两个任务共享卷积特征,用单个模型即可得到,减少了模型部署所需的资源开销,降低了计算量,提高了运行效率。
[0052] 在本实施例的一些可选的实现方式中,基于所选取的样本的标注信息与预测方向角、分类回归结果和预测深度计算总损失值,包括:若目标招牌的数量小于预定值,则获取所选取的样本的深度监督信号和分类回归监督信号。基于深度监督信号、分类回归监督信号对所选取的样本的标注信息进行补充。基于所选取的样本的补充后的标注信息与预测方向角、分类回归结果和预测深度计算总损失值。
[0053] 由于一张图片中仅标注了少量区域的位置信息和深度信息,甚至仅标注一个区域。因此在联合训练目标检测与深度估计任务时会造成有些目标区域的深度无监督信号。此外,还需要标注更多区域的位置信息。因此需要通过获取深度监督信号、分类回归监督信号重新标注样本,增加标注的招牌数量。可以有效利用现存的大批量弱标注数据,降低了目标检测任务与深度估计任务对海量数据依赖带来的标注成本。
[0054] 在本实施例的一些可选的实现方式中,获取所选取的样本的深度监督信号和分类回归监督信号,包括:将所述候选区域和选取的样本输入预先训练的深度估计模型,输出所述候选区域的深度预测信息作为深度监督信号;将选取的样本输入预先训练的目标检测器,输出检测框的位置信息作为分类回归监督信号。
[0055] 可采用预先训练的深度估计模型的预测结果当作深度估计束中的目标区域深度值的监督信号。将生成的候选区域与原始图片输入深度估计模型当作teacher model(教师模型)监督目标检测模型(student model,学生模型)的深度估计束的训练。
[0056] 深度估计模型的训练过程如图3a所示。利用少量精标注的带有深度信息的图像训练一个较为鲁棒的深度估计模型。
[0057] 深度估计模型的输入:图片、标注文件(包含:图片中的一个区域坐标,以及该区域的一个深度值和方向角。注:一个标注文件仅包含一个区域的标注)
[0058] 深度估计模型的输出:图片中所给区域的深度信息。
[0059] 根据标注文件中的标注信息和深度估计模型输出的深度信息之间的差异进行有监督地训练。训练过程为现有技术,因此不再赘述。
[0060] 目标检测器可以是常见的目标检测网络,例如RPN,仅检测图片中的招牌的位置,不预测深度。目标检测器的输入为图片和包括了图片中基本上所有的招牌的位置信息的标注信息。目标检测器的输出为图片中招牌的预测位置。目标检测器也可当作teacher model(教师模型)监督目标检测模型(student model,学生模型)的分类回归束的训练。训练过程为现有技术,因此不再赘述。
[0061] 深度估计模型在应用时只检测候选区域的深度,减少了计算量,提高了运行效率,提高整个POI生产流程的时效性。
[0062] 目标检测器可以将图片中标注的招牌数量增加,减少了人工标注量。例如,可将原本只标注了一个招牌的位置的样本,重新标注出10个招牌的位置。有效利用了大批量的弱监督数据,解决了招牌检测场景复杂、招牌形状多样性的问题,提升招牌检测模型的泛化能力。利用弱监督数据进行弱监督学习,降低了标注成本,实现了降本增效。
[0063] 在本实施例的一些可选的实现方式中,输出检测框的位置信息作为分类回归监督信号,包括:获取每个检测框的位置信息的置信度。按置信度由大到小的顺序选取预定数目个置信度大于预定置信度阈值的检测框的位置信息作为分类回归监督信号。目标检测器输出了目标的检测框和置信度。对于一些置信度不高的检测框可以舍弃,不用作分类回归监督信号。而保留置信度高的检测结果。例如,检测结果只取TOP 10(若检测出多于10个目标)且每个目标的置信大于0.8,则新生成的图像标注信息是满足以上原则的所有检测框,生成的检测框的分类置信为检测结果的置信,这一点会在目标检测模型最后的分类回归束当作分类回归的得分来监督网络训练。
[0064] 在本实施例的一些可选的实现方式中,基于所选取的样本的标注信息与预测方向角、分类回归结果和预测深度计算总损失值,包括:为分类回归结果设置与补充后的标注信息中的置信度成正比的损失权重。基于损失权重、补充后的标注信息与预测方向角、分类回归结果和预测深度计算总损失值。计算总损失值时除了原本标注的招牌的损失值之外,还需要加上补充标注的招牌的损失值。在回归时,依照中心点组成的框进行回归,其损失也会按照乘以一个与检测框的置信度成正比的权重,即检测框的置信度越高则其权重也越高。这样可以降低不可信的标注信息对训练过程的影响,加快模型收敛速度。
[0065] 在本实施例的一些可选的实现方式中,角点与中心点热力图的高斯峰值为每个检测框的位置信息的置信度。对于每个标注的角点,只对应到热度图的一个坐标位置,其余坐标位置应该作为负样本。在训练时不对所有负样本位置做同样的惩罚,而是以正样本为中心,使用一个高斯函数把正样本的分值分散给周围的位置,也就是越接近正样本,其作为负样本的惩罚越小。这个高斯函数的高斯峰值为每个检测框的位置信息的置信度。这样可以降低不可信的标注信息对训练过程的影响,加快模型收敛速度。
[0066] 进一步参见图3b,图3b是根据本实施例的训练目标检测模型的方法的一个应用场景的示意图。在图3b的应用场景中,用户从样本集中随机选择一个样本,样本包括无人车采集的一张图片,并标注了一个招牌的位置、方向角、深度。将图片输入目标检测网络,得到候选区域(多个招牌)。将候选区域和图片输入深度估计模型,得到候选区域的预测深度,用于监督目标检测模型的深度估计束的训练。将图片输入目标检测器,得到多个招牌的位置用于监督目标检测模型的分类回归束的训练。目标检测模型的方向角预测束直接通过标注信息里的方向角监督。根据检测结果和标注信息计算出总损失值。若总损失值小于目标值,则目标检测模型训练完成。否则,调整目标检测模型的相关参数,重新选择样本,继续训练,使得总损失值减小,直到收敛到目标值。
[0067] 请参见图4,其示出了本申请提供的检测目标的方法的一个实施例的流程400。该检测目标的方法可以包括以下步骤:
[0068] 步骤401,获取待检测区域的街景图。
[0069] 在本实施例中,检测目标的方法的执行主体(例如图1所示的服务器105或无人车101、102)可以通过多种方式来获取待检测区域的街景图。例如,执行主体如果是服务器,则可以接收无人车采集的待检测区域的街景图。街景图中可包括很多招牌。
[0070] 步骤402,将街景图输入目标检测模型,输出街景图中至少一个招牌的方向角、位置信息和深度信息。
[0071] 在本实施例中,目标检测模型可以是采用如上述图2实施例所描述的方法而生成的。具体生成过程可以参见图2实施例的相关描述,在此不再赘述。通过目标检测模型可以检测出街景图中的招牌的位置、方向角和深度。这里的深度一般是中心点的深度。位置是检测框的位置。
[0072] 需要说明的是,本实施例检测目标的方法可以用于测试上述各实施例所生成的目标检测模型。进而根据测试结果可以不断地优化目标检测模型。该方法也可以是上述各实施例所生成的目标检测模型的实际应用方法。采用上述各实施例所生成的目标检测模型,来进行目标检测,有助于提高目标检测模型的性能。如找到的招牌比较多,检测出的位置、角度、深度比较准确等。
[0073] 在本实施例的一些可选的实现方式中,位置信息包括中心点位置、基于中心点的目标宽高、四个角的位置;该方法还包括:对于所述至少一个招牌中每个招牌,基于该招牌的中心点位置和基于中心点的目标宽高进行回归得到预测框,若该招牌的四个角的位置在所述预测框的内部,则保留该招牌,否则过滤掉。边框回归是对依照预测的目标中心点和基于中心点的宽高预测得到的框进行高精坐标回归。同时,回归得到的框会与预测的四个招牌关键点相互验证。若关键点全部在预测框内部,则输出该框,否则抑制。这样可以过滤掉被遮挡的招牌,以避免后续招牌识别时无法识别出来浪费资源。
[0074] 在本实施例的一些可选的实现方式中,该方法还包括:对于所述至少一个招牌中每个招牌,基于该招牌的方向角、中心点深度、中心点位置、四个角的位置分别计算每个角的深度并输出。在得到模型的中心点坐标、区域深度(可视为中心点深度)、四个角的坐标、方向角信息后,便可以将招牌的深度信息由一个区域的大概深度变为四个关键点的更精确的深度。具体来说,在得到招牌方向角信息以及中心点深度后,可以通过方向角和中心点平面坐标以及中心点深度后在三维空间中确定唯一的一个平面,同时由于知道四个招牌关键点平面坐标,因此可以知道每个关键点的深度信息。简单的通过数学计算便可以从一个深度值得到招牌四个角点的深度值,实现了更加精准的深度信心预测。
[0075] 继续参见图5,作为对上述各图所示方法的实现,本申请提供了一种训练目标检测模型的装置的一个实施例。该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0076] 如图5所示,本实施例的训练目标检测模型的装置500可以包括:获取单元501和训练单元502。其中,获取单元501,被配置成获取样本集,其中,样本集中的样本包括图片和标注信息,标注信息包括目标招牌的位置信息、深度值、方向角。训练单元502,被配置成执行以下训练步骤:从样本集中选取样本输入目标检测模型的关键点检测层,输出位置预测结果,其中,位置预测结果包括角点与中心点热力图、中心点偏移、基于中心点的目标宽高。基于位置预测结果生成候选区域。将候选区域输入目标检测模型的预测层,得到预测方向角、分类回归结果和预测深度。基于所选取的样本的标注信息与预测方向角、分类回归结果和预测深度计算总损失值。若总损失值小于目标值,则确定出目标检测模型训练完成。
[0077] 在本实施例的一些可选的实现方式中,训练单元502进一步被配置成:若总损失值大于等于目标值,则调整目标检测模型的相关参数,并基于调整后的目标检测模型继续执行上述训练步骤。
[0078] 在本实施例的一些可选的实现方式中,训练单元502进一步被配置成:若目标招牌的数量小于预定值,则获取所选取的样本的深度监督信号和分类回归监督信号。基于深度监督信号、分类回归监督信号对所选取的样本的标注信息进行补充。基于所选取的样本的补充后的标注信息与预测方向角、分类回归结果和预测深度计算总损失值。
[0079] 在本实施例的一些可选的实现方式中,训练单元502进一步被配置成:将候选区域和选取的样本输入预先训练的深度估计模型,输出候选区域的深度预测信息作为深度监督信号。将选取的样本输入预先训练的目标检测器,输出检测框的位置信息作为分类回归监督信号。
[0080] 在本实施例的一些可选的实现方式中,训练单元502进一步被配置成:获取每个检测框的位置信息的置信度。按置信度由大到小的顺序选取预定数目个置信度大于预定置信度阈值的检测框的位置信息作为分类回归监督信号。
[0081] 在本实施例的一些可选的实现方式中,训练单元502进一步被配置成:为分类回归结果设置与补充后的标注信息中的置信度成正比的损失权重。基于损失权重、补充后的标注信息与预测方向角、分类回归结果和预测深度计算总损失值。
[0082] 在本实施例的一些可选的实现方式中,角点与中心点热力图的高斯峰值为每个检测框的位置信息的置信度。
[0083] 继续参见图6,作为对上述各图所示方法的实现,本申请提供了一种检测目标的装置的一个实施例。该装置实施例与图4所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0084] 如图6所示,本实施例的检测目标的装置600可以包括:获取单元601和检测单元602。其中,获取单元601,被配置成获取待检测区域的街景图。检测单元602,被配置成将街景图输入根据权利要求11‑17中任一项的装置训练出的目标检测模型,输出街景图中至少一个招牌的方向角、位置信息和深度信息。
[0085] 在本实施例的一些可选的实现方式中,位置信息包括中心点位置、基于中心点的目标宽高、四个角的位置。装置600还包括验证单元603,被配置成:对于至少一个招牌中每个招牌,基于该招牌的中心点位置和基于中心点的目标宽高进行回归得到预测框,若该招牌的四个角的位置在预测框的内部,则保留该招牌,否则过滤掉。
[0086] 在本实施例的一些可选的实现方式中,装置600还包括计算单元604,被配置成:对于至少一个招牌中每个招牌,基于该招牌的方向角、中心点深度、中心点位置、四个角的位置分别计算每个角的深度并输出。
[0087] 根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0088] 一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行流程200或400所述的方法。
[0089] 一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行流程200或400所述的方法。
[0090] 一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现流程200或400所述的方法。
[0091] 图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0092] 如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
[0093] 设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0094] 计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如训练目标检测模型的方法。例如,在一些实施例中,训练目标检测模型的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的训练目标检测模型的方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行训练目标检测模型的方法。
[0095] 本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0096] 用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0097] 在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0098] 为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0099] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
[0100] 计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0101] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0102] 上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
QQ群二维码
意见反馈