1.本技术涉及图像处理领域,尤其涉及一种图像处理方法、装置、存储介质及计算机程序产品。
背景技术:2.视觉检测已被广泛应用于多个领域,针对自动驾驶场景,视觉检测的发展过程相较于其他人工智能(artificial intelligence,ai)领域来说却困难重重,其中一个主要原因就是需要将输入的二维(two dimension,2d)图像转换到三维(three dimension,3d)空间下。
3.现有的视觉检测方式通常忽略了输入图像的坐标系(例如图像分类任务),或者在与输入图像同一坐标系下进行预测(例如图像分割和目标检测任务)。而在自动驾驶场景中,随着车载摄像头数目的增加,如何将多个不同2d坐标系下的输入图像转换到以自车为中心的3d空间中,以进行后续的3d目标检测或车道线分割等下游任务,是自动驾驶系统获得进一步性能提升需要解决的关键问题。
4.目前将2d图像转换到3d空间的方法均存在较大的误差,难以将不同2d坐标系下采集到的图像生成统一的、准确的、稠密的3d场景表达。
技术实现要素:5.有鉴于此,提出了一种图像处理方法、装置、存储介质及计算机程序产品。
6.第一方面,本技术的实施例提供了一种图像处理方法,所述方法包括:获取第一图像采集装置采集的二维图像;所述第一图像采集装置为安装在自车上的任一图像采集装置;通过神经网络模型提取所述二维图像的特征,并在所提取的特征中确定与至少一个场景点对应的特征;其中,所述场景点为鸟瞰图视角(bird’s-eye’s view,bev)下预设场景点集合中的预设场景点,所述预设场景点集合分布于以自车为极点的极坐标系中,且所述预设场景点集合所在平面与地面平行;所述神经网络模型由目标任务对应的训练数据训练得到;根据所述至少一个场景点对应的特征,执行所述目标任务。
7.基于上述技术方案,以极坐标形式对bev视角下自车附近的3d场景进行统一建模,极坐标形式更符合针孔相机模型;通过神经网络模型提取二维图像的特征,并在所提取的二维图像的特征中确定与至少一个场景点所对应的特征,从而反向获取以极坐标形式分布的预设场景点所需要的2d图像的特征,实现将不同坐标系的2d图像转化为bev视角下的统一的、准确的、稠密的3d场景表达,避免了深度估计方式导致的误差累积和隐式投影方式没有几何约束导致的次优结果;进而可以根据至少一个场景点对应的特征,执行目标任务,在一些示例中,目标任务的数量可以为多个,从而实现将统一的、准确的、稠密的3d场景表达同时应用于多个目标任务。
8.根据第一方面,在所述第一方面的第一种可能的实现方式中,所述至少一个场景点包括所述预设场景点集合中位于同一射线上的预设场景点,所述射线以所述极点为端
点;所述通过神经网络模型提取所述二维图像的特征,并在所提取的特征中确定与至少一个场景点对应的特征,包括:通过所述神经网络模型提取所述二维图像的特征,并基于注意力机制,在所提取的特征中确定与所述至少一个场景点对应的特征。
9.基于上述技术方案,考虑到一个角度上出现一个物体的概率较大,即同一射线上的预设场景点对应于同一物体的特征的概率较大,因此,对于同一射线上的预设场景点施加自适应注意力机制,即通过使用自适应的注意力机制对处于同一射线上的预设场景点进行约束,计算位于同一射线上的预设场景点相互之间的关系,从而可以较好地抑制错误的3d场景信息,更加准确地确定预设场景点对应的2d图像的特征,助力得到的3d场景表达更加准确。
10.根据第一方面或第一方面的第一种可能的实现方式,在所述第一方面的第二种可能的实现方式中,所述通过神经网络模型提取所述二维图像的特征,并在所提取的特征中确定与至少一个场景点对应的特征,包括:通过所述神经网络模型,对所述二维图像进行特征提取,得到图像特征集合;其中,所述图像特征集合包括所述二维图像上多个位置对应的特征;通过所述神经网络模型,确定所述至少一个场景点对应的三维坐标;根据所述三维坐标及所述第一图像采集装置的标定信息,将所述三维坐标映射到所述图像采集装置的坐标系中,确定所述多个位置中与所述三维坐标对应的目标位置;根据所述图像特征集合中所述目标位置对应的特征,得到所述至少一个场景点对应的特征。
11.基于上述技术方案,利用预先定义的预设场景点及图像采集装置的标定信息所确定的一一对应的投影关系,将位于不同坐标系的图像采集装置所采集的二维图像上的2d语义信息填充入预设场景点内,实现将不同坐标系的2d图像转换到bev视角下统一的、准确的、稠密的3d场景表达。
12.根据第一方面的第二种可能的实现方式,在所述第一方面的第三种可能的实现方式中,所述根据所述图像特征集合中所述目标位置对应的特征,得到所述至少一个场景点对应的特征,包括:根据所述图像特征集合中所述目标位置对应的特征,基于注意力机制,重复执行确定所述至少一个场景点对应的三维坐标及后续操作,直到达到预设循环次数;根据达到所述预设循环次数时所述目标位置对应的特征,得到所述至少一个场景点对应的特征。
13.基于上述技术方案,利用预先定义的预设场景点及图像采集装置的标定信息所确定的一一对应的投影关系,将预设场景点准确投影到二维图像的具体位置上;同时,基于极坐标的自适应注意力机制,经过多层的迭代编码(即经过预设循环次数的操作),准确获取预设场景点对应的2d语义信息,将位于不同坐标系的图像采集装置所采集的二维图像上的2d语义信息填充入预设场景点内,从而实现将不同坐标系的2d图像转换到bev视角下统一的、准确的、稠密的3d场景表达。
14.根据第一方面或第一方面上述各种可能的实现方式,在所述第一方面的第四种可能的实现方式中,所述预设场景点集合中各预设场景点均匀分布于所述极坐标系中。
15.基于上述技术方案,通过预先定义以极坐标形式均匀分布的预设场景点,与深度估计和隐式投影的方式相比,可以避免像素级的深度预测和不一致的投影关系带来的性能损失,有助于获得更准确的3d场景表达。
16.根据第一方面或第一方面上述各种可能的实现方式,在所述第一方面的第五种可
能的实现方式中,所述方法还包括:获取目标任务对应的训练数据;所述训练数据包括自车的至少一个图像采集装置所采集的二维样本图像;利用所述训练数据及所述预设场景点集合,对预设模型进行训练,得到所述神经网络模型。
17.基于上述技术方案,通过预先定义以极坐标形式分布的预设场景点学习自车的3d场景表达,使得训练好的神经网络模型,反向获取到的语义信息更加准确;且不需要深度预测网络即可学习到准确的3d场景表达;此外,训练好的神经网络模型可以将多张2d图像转化为bev视角下的统一的、准确的、稠密的3d场景表达;解决了深度估计和隐式投影方法可能导致3d场景表达的误差和稀疏问题,生成的3d场景表达可同时用于后续的3d目标检测和bev语义分割等多个自动驾驶下游任务。
18.根据第一方面的第五种可能的实现方式,在所述第一方面的第六种可能的实现方式中,所述利用所述训练数据及所述预设场景点集合,对预设模型进行训练,得到所述神经网络模型,包括:通过所述预设模型提取所述二维样本图像的训练特征,并在所提取的训练特征中确定与所述至少一个场景点对应的训练特征;根据所述至少一个场景点对应的训练特征,执行所述目标任务,并根据执行结果调整所述预设模型的参数,直到达到预设训练结束条件。
19.基于上述技术方案,通过所述预设模型提取所述二维样本图像的训练特征,并在所提取的训练特征中确定与所述至少一个场景点对应的训练特征,从而实现反向获取至少一个场景点对应的2d图像的特征。
20.根据第一方面的第六种可能的实现方式,在所述第一方面的第七种可能的实现方式中,所述通过所述预设模型提取所述二维样本图像的训练特征,并在所提取的训练特征中确定与所述至少一个场景点对应的训练特征,包括:获取所述预设场景点集合中与所述至少一个场景点位于同一射线上的各场景点;通过所述预设模型提取所述二维样本图像的训练特征,并基于注意力机制,在所提取的训练特征中确定与所述各场景点对应的训练特征。
21.基于上述技术方案,对于处于同一射线上的预设场景点,利用注意力机制,助力预设模型学习到更准确的3d场景表达。
22.根据第一方面或第一方面上述各种可能的实现方式,在所述第一方面的第八种可能的实现方式中,所述根据所述至少一个场景点对应的特征,执行所述目标任务,包括:将所述至少一个场景点,转换到笛卡尔坐标系中,得到所述至少一个场景点在笛卡尔坐标系中对应的坐标;根据所述至少一个场景点对应的特征及所述至少一个场景点在笛卡尔坐标系中对应的坐标,执行所述目标任务。
23.基于上述技术方案,将极坐标形式定义的3d场景表达转化到笛卡尔坐标系下,以便执行后续下游任务。
24.根据第一方面或第一方面上述各种可能的实现方式,在所述第一方面的第九种可能的实现方式中,所述目标任务包括:图像分类、语义分割或目标检测中的一项或多项。
25.基于上述技术方案,可以应用于单一下游任务,还可以同时应用于多个下游任务。
26.第二方面,本技术的实施例提供了一种图像处理装置,所述装置包括:获取模块,用于获取第一图像采集装置采集的二维图像;所述第一图像采集装置为安装在自车上的任一图像采集装置;特征确定模块,用于通过神经网络模型提取所述二维图像的特征,并在所
提取的特征中确定与至少一个场景点对应的特征;其中,所述场景点为鸟瞰图视角bev下预设场景点集合中的预设场景点,所述预设场景点集合分布于以自车为极点的极坐标系中,且所述预设场景点集合所在平面与地面平行;所述神经网络模型由目标任务对应的训练数据训练得到;执行模块,用于根据所述至少一个场景点对应的特征,执行所述目标任务。
27.基于上述技术方案,以极坐标形式对bev视角下自车附近的3d场景进行统一建模,极坐标形式更符合针孔相机模型;通过神经网络模型提取二维图像的特征,并在所提取的二维图像的特征中确定与至少一个场景点所对应的特征,从而反向获取以极坐标形式分布的预设场景点所需要的2d图像的特征,实现将不同坐标系的2d图像转化为bev视角下的统一的、准确的、稠密的3d场景表达,避免了深度估计方式导致的误差累积和隐式投影方式没有几何约束导致的次优结果;进而可以根据至少一个场景点对应的特征,执行目标任务,在一些示例中,目标任务的数量可以为多个,从而实现将统一的、准确的、稠密的3d场景表达同时应用于多个目标任务。
28.根据第二方面,在所述第二方面的第一种可能的实现方式中,所述至少一个场景点包括所述预设场景点集合中位于同一射线上的预设场景点,所述射线以所述极点为端点;所述特征确定模块,还用于通过所述神经网络模型提取所述二维图像的特征,并基于注意力机制,在所提取的特征中确定与所述至少一个场景点对应的特征。
29.基于上述技术方案,考虑到一个角度上出现一个物体的概率较大,即同一射线上的预设场景点对应于同一物体的特征的概率较大,因此,对于同一射线上的预设场景点施加自适应注意力机制,即通过使用自适应的注意力机制对处于同一射线上的预设场景点进行约束,计算位于同一射线上的预设场景点相互之间的关系,从而可以较好地抑制错误的3d场景信息,更加准确地确定预设场景点对应的2d图像的特征,助力得到的3d场景表达更加准确。
30.根据第二方面或第二方面的第一种可能的实现方式,在所述第二方面的第二种可能的实现方式中,所述特征确定模块,还用于:通过所述神经网络模型,对所述二维图像进行特征提取,得到图像特征集合;其中,所述图像特征集合包括所述二维图像上多个位置对应的特征;通过所述神经网络模型,确定所述至少一个场景点对应的三维坐标;根据所述三维坐标及所述第一图像采集装置的标定信息,将所述三维坐标映射到所述图像采集装置的坐标系中,确定所述多个位置中与所述三维坐标对应的目标位置;根据所述图像特征集合中所述目标位置对应的特征,得到所述至少一个场景点对应的特征。
31.基于上述技术方案,利用预先定义的预设场景点及图像采集装置的标定信息所确定的一一对应的投影关系,将位于不同坐标系的图像采集装置所采集的二维图像上的2d语义信息填充入预设场景点内,实现将不同坐标系的2d图像转换到bev视角下统一的、准确的、稠密的3d场景表达。
32.根据第二方面的第二种可能的实现方式,在所述第二方面的第三种可能的实现方式中,所述特征确定模块,还用于:根据所述图像特征集合中所述目标位置对应的特征,基于注意力机制,重复执行确定所述至少一个场景点对应的三维坐标及后续操作,直到达到预设循环次数;根据达到所述预设循环次数时所述目标位置对应的特征,得到所述至少一个场景点对应的特征。
33.基于上述技术方案,利用预先定义的预设场景点及图像采集装置的标定信息所确
定的一一对应的投影关系,将预设场景点准确投影到二维图像的具体位置上;同时,基于极坐标的自适应注意力机制,经过多层的迭代编码(即经过预设循环次数的操作),准确获取预设场景点对应的2d语义信息,将位于不同坐标系的图像采集装置所采集的二维图像上的2d语义信息填充入预设场景点内,从而实现将不同坐标系的2d图像转换到bev视角下统一的、准确的、稠密的3d场景表达。
34.根据第二方面或第二方面上述各种可能的实现方式,在所述第二方面的第四种可能的实现方式中,所述预设场景点集合中各预设场景点均匀分布于所述极坐标系中。
35.基于上述技术方案,通过预先定义以极坐标形式均匀分布的预设场景点,与深度估计和隐式投影的方式相比,可以避免像素级的深度预测和不一致的投影关系带来的性能损失,有助于获得更准确的3d场景表达。
36.根据第二方面或第二方面上述各种可能的实现方式,在所述第二方面的第五种可能的实现方式中,所述装置还包括:训练模块,用于获取目标任务对应的训练数据;所述训练数据包括自车的至少一个图像采集装置所采集的二维样本图像;所述训练模块,还用于利用所述训练数据及所述预设场景点集合,对预设模型进行训练,得到所述神经网络模型。
37.基于上述技术方案,通过预先定义以极坐标形式分布的预设场景点学习自车的3d场景表达,使得训练好的神经网络模型,反向获取到的语义信息更加准确;且不需要深度预测网络即可学习到准确的3d场景表达;此外,训练好的神经网络模型可以将多张2d图像转化为bev视角下的统一的、准确的、稠密的3d场景表达;解决了深度估计和隐式投影方法可能导致3d场景表达的误差和稀疏问题,生成的3d场景表达可同时用于后续的3d目标检测和bev语义分割等多个自动驾驶下游任务。
38.根据第二方面的第五种可能的实现方式,在所述第二方面的第六种可能的实现方式中,所述训练模块,还用于:通过所述预设模型提取所述二维样本图像的训练特征,并在所提取的训练特征中确定与所述至少一个场景点对应的训练特征;根据所述至少一个场景点对应的训练特征,执行所述目标任务,并根据执行结果调整所述预设模型的参数,直到达到预设训练结束条件。
39.基于上述技术方案,通过所述预设模型提取所述二维样本图像的训练特征,并在所提取的训练特征中确定与所述至少一个场景点对应的训练特征,从而实现反向获取至少一个场景点对应的2d图像的特征。
40.根据第二方面的第六种可能的实现方式,在所述第二方面的第七种可能的实现方式中,所述训练模块,还用于:获取所述预设场景点集合中与所述至少一个场景点位于同一射线上的各场景点;通过所述预设模型提取所述二维样本图像的训练特征,并基于注意力机制,在所提取的训练特征中确定与所述各场景点对应的训练特征。
41.基于上述技术方案,对于处于同一射线上的预设场景点,利用注意力机制,助力预设模型学习到更准确的3d场景表达。
42.根据第二方面或第二方面上述各种可能的实现方式,在所述第二方面的第八种可能的实现方式中,所述执行模块,还用于:将所述至少一个场景点,转换到笛卡尔坐标系中,得到所述至少一个场景点在笛卡尔坐标系中对应的坐标;根据所述至少一个场景点对应的特征及所述至少一个场景点在笛卡尔坐标系中对应的坐标,执行所述目标任务。
43.基于上述技术方案,将极坐标形式定义的3d场景表达转化到笛卡尔坐标系下,以
便执行后续下游任务。
44.根据第二方面或第二方面上述各种可能的实现方式,在所述第二方面的第九种可能的实现方式中,所述目标任务包括:图像分类、语义分割或目标检测中的一项或多项。
45.基于上述技术方案,可以应用于单一下游任务,还可以同时应用于多个下游任务。
46.第三方面,本技术的实施例提供了一种图像处理装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现第一方面或第一方面的一种或几种的图像处理方法。
47.第四方面,本技术的实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现第一方面或第一方面的一种或几种的图像处理方法。
48.第五方面,本技术的实施例提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述第一方面或第一方面的一种或几种的图像处理方法。
49.上述第三方面至第五方面的技术效果,参见上述第一方面或第二方面。
附图说明
50.包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本技术的示例性实施例、特征和方面,并且用于解释本技术的原理。
51.图1示出根据本技术一实施例的一种深度估计的示意图。
52.图2示出根据本技术一实施例的一种隐式投影的示意图。
53.图3示出了根据本技术一实施例的将2d图像转换到3d空间下的示意图。
54.图4示出根据本技术一实施例的一种自动驾驶系统的架构示意图。
55.图5示出根据本技术一实施例的一种图像处理方法的流程图。
56.图6示出根据本技术一实施例的预先定义以极坐标形式分布的场景点的示意图。
57.图7示出根据本技术一实施例的3d目标检测任务的示意图。
58.图8示出根据本技术一实施例的bev语义分割任务的示意图。
59.图9示出根据本技术一实施例的一种图像处理方法的流程图。
60.图10示出根据本技术一实施例的一种图像处理过程的示意图。
61.图11示出根据本技术一实施例的一种图像处理方法的流程图。
62.图12示出根据本技术一实施例的一种模型训练的流程示意图。
63.图13示出根据本技术一实施例的一种图像处理装置的框图。
64.图14示出根据本技术一实施例的一种图像处理装置的结构示意图。
具体实施方式
65.以下将参考附图详细说明本技术的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
66.在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的
不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
67.本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:包括单独存在a,同时存在a和b,以及单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
68.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
69.在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
70.另外,为了更好的说明本技术,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本技术同样可以实施。
71.为了更好地理解本技术实施例的方案,下面先对本技术实施例可能涉及的相关术语和概念进行介绍。
72.1、神经网络模型
73.也称神经网络,可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:其中,s=1、2、
……
n,n为大于1的自然数,ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是relu函数等。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
74.神经网络中的每一层的工作可以用数学表达式y=a(wx+b)来描述:从物理层面神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由wx完成,4的操作由+b完成,5的操作则由a()来实现。这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。其中,w是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量w决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重w控制着如何变换空间。训练神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵(由很多层的向量w形成的权重矩
阵)。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。神经网络模型可以包括多层感知机(multi-layer perceptron,mlp)、深度神经网络(deep neural network,dnn)、卷积神经网络(convolutional neuron network,cnn)、循环神经网络(recurrent neural network,rnn)等等。
75.2、卷积神经网络
76.卷积神经网络是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使同一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
77.3、主干网络(backbone)
78.对输入图像进行特征提取的基本神经网络结构。
79.4、线性层(linear layer)
80.实现对输入的线性组合或线性变换的神经网络层。
81.5、语义分割(semantic segmentation)
82.将图像中的每个像素链接到类标签的过程。
83.6、bev语义分割(bird’s-eye’s view semantic segmentation)
84.在鸟瞰图视角(bird’s-eye’s view,bev)下对动态或静态区域进行语义分割,例如,在自动驾驶场景中,可以对包括可行驶区域、车道线、人行道、人行横道等静态区域进行语义分割。
85.7、注意力机制(attention mechanism)
86.注意力机制可以快速提取稀疏数据的重要特征。注意力机制通过qkv提供了一种有效的捕捉全局上下文信息的建模方式;假定输入为q(query),以键值对(k,v)形式存储上下文。那么注意力机制其实是query到一系列键值对(key,value)上的映射函数。attention函数的本质可以被描述为一个查询(query)到一系列键值对(key,value)的映射。attention本质上是为序列中每个元素都分配一个权重系数,这也可以理解为软寻址。如果序列中每一个元素都以(k,v)形式存储,那么attention则通过计算q和k的相似度来完成寻址。q和k计算出来的相似度反映了取出来的v值的重要程度,即权重,然后加权求和就得到最后的特征值。
87.8、3d表达(3d representation)
88.即3d场景表达,例如,在自动驾驶场景中,可以对以自车为中心,安装于自车的传
感器感知到的范围内的3d场景进行建模,以一定的形式表达该场景。
89.相关技术中,主要采用显式的深度估计或者隐式的投影方式将2d图像转换到3d空间下:
90.(1)深度估计(depth prediction):
91.图1示出根据本技术一实施例的一种深度估计的示意图,如图1所示,通过对自车传感器的2d坐标系下的图像中每个像素预测深度和相机的内外参矩阵,将2d图像中的像素点提升至3d坐标点,得到对应的自车中心的场景特征,从而将2d图像转换到3d空间下。由于无约束场景中的深度估计很容易出错,而这个误差也将进一步传播到后续处理过程,进而影响最终的结果,这也被称为误差传播问题,该问题在这类方式上是很难避免的。
92.作为一个示例,可以通过显式的深度预测网络将每张2d图像上的每个像素点“提升”为3d坐标点,从而实现将2d图像转换为bev视角下的3d场景表达。对多个相机输入的环视图像,利用已知的相机内外参矩阵,转换到同一3d坐标系下,进而在bev视角下,进行自动驾驶相关的动态物体和静态道路分割任务。该方式需要借助额外的深度预测网络,同时由于深度估计存在极大的误差,且该误差将一直积累,传播至后续处理过程,因此其性能不佳;同时该方式只针对bev分割任务进行优化设计,对于小物体的判别,定位能力较差。
93.(2)隐式投影(implicit projection):
94.图2示出根据本技术一实施例的一种隐式投影的示意图,如图2所示,通过隐式的投影方式,直接将自车传感器的2d坐标系下的2d图像转换至3d空间下,获得对应的自车中心的场景3d特征。该方式由于没有利用内外参矩阵参与投影过程,所得到的3d表达在结构上与对应的2d图像不一致,即2d图像中的像素点到3d点没有严格一对一对应的跨坐标系关系,因此导致性能不佳,存在较大误差。
95.作为一个示例,通过直接投影的方式,将图像不同层的2d语义,转换到bev视角下的不同距离的3d表达,然后在bev视角下进行后续的分割任务。对于不同相机输入的环视图像,这种方法在不同坐标系下做预测。这种方法没有严格一一对应的跨坐标系关系,导致网络学习过程不是最优的。同时,不同坐标系的图像输入均在其自身的坐标系下进行学习和预测,没有统一到自车3d坐标,因此其没有很好地利用到全局信息。
96.作为另一个示例,将2d目标检测中的目标检测(detection transformer,detr)结构应用到3d场景中,对周围场景的物体进行3d目标检测任务,并学习经过残差网络(residual networks,resnet)编码的图像语义信息。该方式对场景中3d物体的稀疏表达,缺失对于自车周围3d场景的稠密表达,没有完整的结构信息,因此该方式无法有效应用于稠密的下游任务,比如bev语义分割等任务。
97.由于上述将2d图像转换到3d空间下的方式均存在较大的误差,且均忽视了不同坐标系之间蕴含的转换关系,本技术实施例提供了一种图像处理方法(详细描述见下文),图3示出了根据本技术一实施例的将2d图像转换到3d空间下的示意图。如图3所示,利用预先定义的以极坐标形式分布的空3d场景点,通过反向追踪(tracing back)寻找空3d场景点所需要的2d图像特征,从而将2d图像特征填充进空3d场景点中,实现将2d图像转换到3d空间下,生成完整的、统一的、准确的、稠密的以自车为中心的3d场景表达。相对于上述深度估计和隐式投影的方式,本技术实施例所提供的图像处理方法避免了深度估计导致的误差累积和隐式投影没有几何约束导致的次优结果。
98.为了便于描述,下面以自动驾驶系统中将自车传感器所采集的2d图像输入转换为bev视角下的3d场景表达为例,对本技术实施例提供的图像处理方法进行示例性地说明。图4示出根据本技术一实施例的一种自动驾驶系统的架构示意图;如图4所示,自动驾驶系统可以包括:感知模块(perception layer)、规划与决策模块(planning&decision)、传动控制模块(motion controller)等模块。
99.其中,感知模块用于感知车辆周围环境或车内环境,可以综合车载传感器,例如摄像头、激光雷达、毫米波雷达、超声波雷达、光线传感器等所采集的车辆周围或车舱内的数据,感知车辆周围环境或车内环境,并可以将感知结果传输到规划与决策模块。示例性地,车载传感器所采集的车辆周围或车舱内的数据可以包括视频流、雷达的点云数据或者是经过分析的结构化的人、车、物的位置、速度、转向角度、尺寸大小等信息或数据。作为一个示例,感知模块可以配置有视觉感知子模块,视觉感知系统可以获取车载摄像头所采集的车辆周围环境的图像,进而对所采集的图像进行处理,从而可以检测图像中行人、车道线、车辆、障碍物、可行驶区域等等对象;例如,可以通过神经网络模型,对车载摄像头所采集的车辆周围环境的2d图像进行处理,进而实现3d目标检测任务、bev语义分割任务等,示例性地,该神经网络模型可以部署在车载计算平台或ai加速器等处理设备中。
100.规划与决策模块用于基于感知模块所生成的感知结果(例如,3d目标检测结果、bev语义分割结果)进行分析决策,规划生成满足特定约束条件(例如车辆本身的动力学约束、避免碰撞、乘客舒适性等)的控制集合;并可以将该控制集合传输到传动控制模块。
101.传动控制模块用于按照规划与决策模块所生成的控制集合,控制车辆行驶;例如,可以基于控制集合,结合车辆的动力学信息,生成方向盘转角、速度、加速度等控制信号,并控制车载转向系统或发动机等执行该控制信号,从而实现控制车辆行驶。
102.示例性地,自动驾驶系统还可以包括其他功能模块;例如,定位模块、交互模块、通信模块等等(图中未示出),对此不作限定。其中,定位模块可以用于提供车辆的位置信息,还可以提供车辆的姿态信息。示例性地,定位模块可以包括卫星导航系统(global navigation satellite system,gnss)、惯性导航系统(inertial navigation system,ins)等等,可以用于确定车辆的位置信息。交互模块可以用于向驾驶员发出信息及接收驾驶员的指令。通信模块可以用于车辆与其他设备通信,其中,其他设备可以包括移动终端、云端设备、其他车辆、路侧设备等等,可以通过2g/3g/4g/5g、蓝牙、调频(frequency modulation,fm)、无线局域网(wireless local area networks,wlan)、长期演进(long time evolution,lte)、车与任何事物相通信(vehicle to everything,v2x)、车与车通信(vehicle to vehicle,v2v)、长期演进-车辆(long time evolution vehicle,lte-v)等无线通信连接来实现。
103.本技术实施例提供的图像处理方法可以由图像处理装置执行;本技术实施例不限定该图像处理装置的类型。
104.示例性地,该图像处理装置可以是独立设置,也可以集成在其他装置中,还可以是通过软件或者软件与硬件结合实现。
105.示例性地,该图像处理装置可以为自动驾驶车辆,或者自动驾驶车辆中的其他部件。其中,该图像处理装置包括但不限于:车载终端、车载控制器、车载模块、车载模组、车载部件、车载芯片、车载单元、车载雷达或车载摄像头等等。作为一个示例,该图像处理装置可
以集成在自动驾驶车辆的车载计算平台或ai加速器等处理设备中。
106.示例性地,该图像处理装置还可以为除了自动驾驶车辆之外的其他具有数据处理能力的设备或系统,或设置在这些设备或系统中的部件或者芯片。例如,该图像处理装置可以是云端服务器、台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,pda)、移动手机、平板电脑、无线终端设备、嵌入式设备或其他具有数据处理功能的设备,或者为这些设备内的部件或者芯片。
107.示例性地,该图像处理装置还可以是具有处理功能的芯片或处理器,该图像处理装置可以包括多个处理器。处理器可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。
108.需要说明的是,本技术实施例描述的上述应用场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,针对其他相似的或新的场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用,例如,除自动驾驶场景以外,本技术实施例所提供的图像处理方法还可适用于任何需要将2d输入图像转化为3d表达的场景。
109.下面对本技术实施例提供的图像处理方法进行详细说明。
110.图5示出根据本技术一实施例的一种图像处理方法的流程图,该方法可以由上述图像处理装置执行,如图5所示,该方法可以包括以下步骤:
111.s501、获取第一图像采集装置采集的二维图像;所述第一图像采集装置为安装在自车上的任一图像采集装置。
112.示例性地,自车上可以安装多个图像采集装置,其中不同的图像采集装置用于采集不同方向的2d图像,例如,可以在车辆的前方、左前方、右前方、后方、右后方、左后方分别安装车载摄像头(如针孔相机),用于采集对应方位的2d图像,即各图像采集装置正视图视角下的2d图像,从而实现车辆周围360
°
环境图像采集;所述第一图像采集装置可以是上述多个图像采集装置中的任一图像采集装置。可以理解的是,不同的图像采集装置可以具有不同的坐标系,即不同的图像采集装置所采集的二维图像可以具有不同的坐标系。
113.示例性地,所采集二维图像可以包括他车、行人、障碍物、树木、交通标识、建筑物、车道线等等一项或多项车辆周围环境中的对象。
114.s502、通过神经网络模型提取所述二维图像的特征,并在所提取的特征中确定与至少一个场景点对应的特征。
115.其中,所述场景点为bev视角下预设场景点集合中的预设场景点,所述预设场景点集合分布于以自车为极点的极坐标系中,且所述预设场景点集合所在平面与地面平行。
116.示例性地,以极坐标形式对bev视角下自车附近的3d场景进行统一建模,从而得到预设场景点集合。作为一个示例,可以以自车坐标系(也称车体坐标系)的原点为极点,从该极点出发引出一条与地面平行的射线作为极轴,在该射线所在的平面上预先建立极坐标系;进而可以在该极坐标系中预先定义多个预设场景点,从而得到bev视角下的预设场景点集合。需要说明的是,预设场景点集合中所包含的预设场景点数量及各预设场景点的位置可以根据需求进行设定,本技术实施例中对此不作限定;这样,以极坐标的形式预设场景点,更符合针孔相机模型。
117.示例性地,预设场景点集合中各预设场景点均匀分布于所述极坐标系中。这样,以
自车为中心,以极坐标的形式在车辆周围的环境中均匀放置预设场景点,与深度估计和隐式投影的方式相比,这种预先定义以极坐标形式均匀分布的场景点的方式,可以避免像素级的深度预测和不一致的投影关系带来的性能损失。例如,靠近极点的位置即靠近自车的位置,对自车的行驶影响较大,因此,通过规则化分布可以在这些位置分布较多的预设场景点;而远离极点的位置,对于自称的行驶影响相对较小,通过规则化分布可以在这些位置分布相对较少的预设场景点,这样,各预设场景点以自车为中心,极坐标的形式均匀分布于自车附近。
118.图6示出根据本技术一实施例的预先定义以极坐标形式分布的场景点的示意图。如图6所示,以自车坐标系的原点为极点,建立与地面平行的极坐标系,将预设场景点均匀设置于自车附近,形成预设场景点极化网格。作为一个示例,可以在所述极坐标系所在的平面上,以极点为端点,均匀设置θ根射线,其中,相邻两根射线的夹角相同;在每根射线上以相同的间隔设置多个点作为预设场景点。例如,可以在极坐标系所在的平面上,以极点为端点,设置36根射线,其中,相邻两根射线的夹角均为10度;在每根射线上都以1米的间隔设置100个点作为预设场景点。
119.示例性地,预设场景点集合中各预设场景点在极坐标系中的位置p可以由如下公式(1)所示:
120.p=(r,θ)
……………………………………
(1)
121.其中,r表示极坐标中的半径坐标,即该预设场景点与极点间的距离;θ表示极坐标中的角坐标,即从极点到该预设场景点的线段与极轴之间的夹角。
122.极坐标系中的预设场景点可以通过如下公式(2)转换到笛卡尔(直角)坐标系:
123.x=rcos(θ),y=rsin(θ)
………………………………
(2)
124.其中,x表示笛卡尔坐标系的横坐标,y表示笛卡尔坐标系的纵坐标,r表示极坐标中的半径坐标,θ表示极坐标中的角坐标。
125.可以理解的是,预设场景点为预先定义,不具有语义信息,因此,也可以称为空3d场景点。
126.示例性地,可以通过神经网络模型提取各图像采集装置所采集的二维图像的特征,并在所提取的特征中确定与多个预设场景点对应的特征。其中,通过神经网络模型提取所述二维图像的特征,所提取的二维图像的特征可以表征图像的语义信息,从而可以在所提取的特征中确定多个预设场景点对应的特征,即使得原本空3d场景点具备语义信息;这样,以光线追踪中得到灵感,通过从3d场景点沿着光线传播的“反方向”去获得其所需要的2d图像语义信息,从而实现将处于不同坐标系的多个2d图像的语义信息“填充”进预先定义的具有统一坐标系的空3d场景点中。
127.需要说明的是,本技术实施例中不限制神经网络模型的类型及数量,例如,可以为深度神经网络、卷积神经网络、循环神经网络等等;该神经网络模型可以包括一个或多个神经网络模型。
128.其中,所述神经网络模型由目标任务对应的训练数据训练得到,即神经网络模型中的参数可以根据目标任务对应的相关训练数据进行预先训练得到;其中,该神经网络模型的训练过程可参照下文相关表述。
129.示例性地,所述目标任务可以包括:图像分类、语义分割或目标检测中的一项或多
项。例如,目标任务可以是与自动驾驶相关的3d目标检测任务、bev语义分割任务等下游任务。
130.示例性地,目标任务的数量可以为一个或多个,例如,目标任务可以为3d目标检测任务,或者可以为3d目标检测任务及bev语义分割任务。这样,可以应用于单一下游任务,还可以同时应用于多个自动驾驶下游任务。
131.s503、根据所述至少一个场景点对应的特征,执行所述目标任务。
132.可以理解的是,根据各预设场景点对应的特征,将处于不同坐标系的多张2d图像的语义信息“填充”进预先定义的具有统一坐标系的预设场景点中,从而可以得到bev视角下极坐标形式定义的稠密的3d场景表达,即以极坐标的形式表达自车周围的3d场景;进而基于该3d场景表达,执行后续的目标任务,从而实现bev视角下的纯视觉检测。
133.示例性地,可以通过采样将3d场景表达转换到笛卡尔坐标系下,执行后续下游任务。例如,可以将极坐标系中所述至少一个场景点,转换到笛卡尔坐标系中,得到所述至少一个场景点在笛卡尔坐标系中对应的坐标;根据所述至少一个场景点对应的特征及所述至少一个场景点在笛卡尔坐标系中对应的坐标,从而得到笛卡尔坐标形式定义的3d场景表达,从而可以执行目标任务。这样,可以将极坐标形式定义的3d场景表达转化到笛卡尔坐标系下,以便执行后续下游任务,例如,3d目标检测任务和bev语义分割任务等。
134.作为一个示例,所述目标任务可以是自动驾驶系统中视觉感知子模块中的3d目标检测任务。3d目标检测任务旨在对自车附近场景中的动态物体,图7示出根据本技术一实施例的3d目标检测任务的示意图;如图7所示,对安装于车辆的前方、左前方、右前方、后方、左后方、右后方的图像采集装置分别采集的对应方位的2d图像中包括车辆、行人、交通标志等目标进行检测,为车载系统提供路况信息。相较于学习能力较差的显式的深度预测和隐式的直接投影方式,通过本技术实施例所述的图像处理方法,将2d图像转化到3d空间下,可以准确获取预设场景点对应的2d语义信息,为下游3d目标检测提供准确的3d场景表达。
135.作为另一个示例,所述目标任务可以是bev语义分割任务,即bev视角下的语义分割任务。图8示出根据本技术一实施例的bev语义分割任务的示意图;如图8所示,bev语义分割任务即在bev视角下预测静态的道路信息,包括可行驶区域、车道线、人行道或人行横道线等中的一项或多项,还可以在bev视角下进行自动驾驶相关的动态物体的分割任务,例如,其他车辆、行人等;图8中的不规则长方形为bev视角上分割得到的车辆,即车辆3d目标检测结果在bev视角上的投影。通过本技术实施例所述的图像处理方法,将2d图像输入转换为bev视角下的3d特征表达,得到的3d场景表达可以用于bev语义分割任务,预测静态的道路信息等。
136.本技术实施例中,以极坐标形式对bev视角下自车附近的3d场景进行统一建模,极坐标形式更符合针孔相机模型;通过神经网络模型提取二维图像的特征,并在所提取的二维图像的特征中确定与至少一个场景点所对应的特征,从而反向获取预先定义的以极坐标形式分布的预设场景点所需要的2d图像的特征,实现将不同坐标系的2d图像转化为bev视角下的统一的、准确的、稠密的3d场景表达,避免了深度估计方式导致的误差累积和隐式投影方式没有几何约束导致的次优结果;进而可以根据至少一个场景点对应的特征,执行目标任务,在一些示例中,目标任务的数量可以为多个,从而将统一的、准确的、稠密的3d场景表达同时应用于多个目标任务。
137.进一步地,可以通过注意力机制,对上述步骤s502中确定与至少一个场景点对应的特征进行说明。
138.在一种可能的实现方式中,所述至少一个场景点包括预设场景点集合中位于同一射线上的预设场景点,该射线以极坐标系的极点为端点;上述步骤502中所述通过神经网络模型提取所述二维图像的特征,并在所提取的特征中确定与至少一个场景点对应的特征,可以包括:通过所述神经网络模型提取所述二维图像的特征,并基于注意力机制,在所提取的特征中确定与所述至少一个场景点对应的特征。
139.示例性地,注意力机制可以包括:可变形注意力机制和/或自适应的极坐标注意力机制。以上述预先建立的极坐标系中共有θ个角度为例,即有θ根射线,可以对每一根射线上的预设场景点,均执行一次自适应的注意力机制,即完成整个极坐标系定义3d场景下的极线特征优化操作,从而在所提取的特征中更加准确地确定与所述至少一个场景点对应的特征。
140.作为一个示例,以一根射线为例,对一根射线上的预设场景点进行极线特征优化。假设处于同一射线上的预设场景点共有r个,每个预设场景点对应一个特征向量,该特征向量中包含有相对应的2d图像特征。神经网络模型中线性层的线性变换操作,即全连接(fully connected,fc)可以定义为下述公式(3)的形式:
141.fc(q)=qw+b
………………………………
(3)
142.其中,q为输入向量,w和b是线性层参数,fc(q)为经过线性变换后的输出。对于一根射线上r个预设场景点对应的r个特征向量,采用下述公式(4),将每个特征向量分别经过三个不同的线性层进行线性变换,转化为三个大小相同的特征向量,并分别定义为q,k,v:
[0143][0144]
其中,q为输入的向量,即r个特征向量中的任一特征向量,fc1(q)、fc2(q)、fc3(q)分别为经过三个不同线性变换后的输出。
[0145]
对于同一射线上的所有预设场景点,进行自适应注意力attention机制的公式可以如下述公式(5)所示:
[0146][0147]
其中,θ表示该射线在极坐标系下的角度坐标,dk表示特征向量k的维度;表示特征向量k的维度;
[0148]
这样,就完成了对一根射线上的所有预设场景点执行一次自适应的注意力机制的操作。同理,可以对极坐标系下所有θ根射线上的预设场景点,均执行一次自适应的注意力机制,即可完成整个极坐标系定义3d场景下的极线特征优化操作。
[0149]
本技术实施例中,考虑到一个角度上出现一个物体的概率较大,即同一射线上的预设场景点对应于同一物体的特征的概率较大,因此,对于同一射线上的预设场景点施加自适应注意力机制,即通过使用自适应的注意力机制对处于同一射线上的预设场景点进行约束,计算位于同一射线上的预设场景点相互之间的关系,从而可以较好地抑制错误的3d场景信息,更加准确地确定预设场景点对应的2d图像的特征,助力得到的3d场景表达更加
准确。
[0150]
需要说明的是,上述实施例以极坐标系下同一射线上的预设场景点执行自适应注意力机制为例;基于本技术实施例的构思,对于其他坐标系,可以对处于同一坐标轴上的特征施加自适应注意力机制,从而提高性能。
[0151]
下面对上述步骤s502中通过神经网络模型提取所述二维图像的特征,并在所提取的特征中确定与至少一个场景点对应的特征的可能实现方式进行示例性地说明。
[0152]
图9示出了根据本技术一实施例的一种图像处理方法的流程图,如图9所示,可以包括以下步骤:
[0153]
s5021、通过所述神经网络模型,对所述二维图像进行特征提取,得到图像特征集合;其中,所述图像特征集合包括所述二维图像上多个位置对应的特征。
[0154]
作为一个示例,神经网络模型中可以包括主干网络,可以通过该主干网络对多个图像采集装置所采集的二维图像进行特征提取,得到图像特征集合;示例性地,主干网络可以为卷积神经网络、图卷积网络循环神经网络等具有提取图像特征功能的网络,对此不作限定。作为一个示例,主干网络可以为配备可变形卷积的残差网络。
[0155]
示例性地,图像特征集合可以包括多张二维图像中多个位置对应的特征,即多张二维图像上多个像素点所对应的特征;示例性地,图像特征集合可以包括主干网络的第2、3和4阶段所提取的多尺度特征图。
[0156]
s5022、通过所述神经网络模型,确定所述至少一个场景点对应的三维坐标。
[0157]
其中,三维坐标(x,y,z)中x,y的值可以参照上述公式(2)确定,z的值可以通过神经网络模型确定,从而得到各预设场景点对应的三维坐标。
[0158]
s5023、根据所述三维坐标及所述第一图像采集装置的标定信息,将所述三维坐标映射到所述图像采集装置的坐标系中,确定所述多个位置中与所述三维坐标对应的目标位置。
[0159]
示例性地,标定信息可以包括第一图像采集装置的内参矩阵及外参矩阵。其中,内参矩阵和外参矩阵可以预先标定并存储在图像处理装置中,在获取图像采集设备的内参矩阵和外参矩阵时,图像处理装置可以直接从本地读取该内参矩阵和外参矩阵;或者,该图像采集设备的内参矩阵和外参矩阵也可以预先标定并存储在图像采集设备中,图像处理装置可以向图像采集设备请求获取该内参矩阵和外参矩阵。
[0160]
示例性地,目标位置的数量可以为一个或多个。
[0161]
作为一个示例,可以根据所述至少一个场景点对应的三维坐标和图像采集装置的内参矩阵及外参矩阵所定义的投影关系,将三维坐标映射到该图像采集装置的坐标系中,即将该三维坐标映射到该图像采集装置采集到的二维图像的坐标系中,从而可以确定该二维图像上多个位置中与三维坐标对应的目标位置,即可以确定所述至少一个场景点在所述二维图像上对应的具体位置。
[0162]
s5024、根据所述图像特征集合中所述目标位置对应的特征,得到所述至少一个场景点对应的特征。
[0163]
示例性地,目标位置可以对应一个或多个特征,即各预设场景点对应的特征的数量可以为一个或多个。如上述图6所示,为预设场景点eye1点、eye2点、eye3点所对应的特征。
[0164]
作为一个示例,神经网络模型可以包括解码层,解码层执行上述步骤s5022-s5024,可以利用上述主干网络所提取的特征,确定各预设场景点对应的三维坐标,并根据各预设场景点对应的三维坐标及各图像采集装置的标定信息,将各预设场景点对应的三维坐标映射到各图像采集装置的坐标系中,确定各预设场景点对应的三维坐标在二维图像中对应的目标位置,从而可以将图像特征集合中目标位置对应的特征,填充进对应的各预设场景点,得到各预设场景点对应的特征。
[0165]
这样,利用预先定义的预设场景点及图像采集装置的标定信息所确定的一一对应的投影关系,将位于不同坐标系的图像采集装置所采集的二维图像上的2d语义信息填充入预设场景点内,实现将不同坐标系的2d图像转换到bev视角下统一的、准确的、稠密的3d场景表达。
[0166]
在一种可能的实现方式中,该步骤s5024中,可以根据所述图像特征集合中所述目标位置对应的特征,基于注意力机制,重复执行确定所述至少一个场景点对应的三维坐标及后续操作,直到达到预设循环次数;根据达到所述预设循环次数时所述目标位置对应的特征,得到所述至少一个场景点对应的特征。
[0167]
其中,预设循环次数可以根据实际需求进行设定,对此不作限定,可以理解的是,每经历一次循环,即可实现一次反向追踪。
[0168]
示例性地,可以在达到所述预设循环次数时,将目标位置对应的特征填充进所述至少一个场景点,从而得到所述至少一个场景点对应的特征。针对每一预设场景点均进行上述操作,得到每一预设场景点对应的特征,从而可以得到完整的3d场景表达。
[0169]
示例性地,可以针对同一射线上的预设场景点,根据图像特征集合中该射线上各预设场景点的目标位置对应的特征,基于注意力机制,重复执行确定该射线上各预设场景点对应的三维坐标及后续操作,直到达到预设循环次数;根据达到预设循环次数时该射线上各预设场景点的目标位置对应的特征,得到该射线上各预设场景点对应的特征。其中,注意力机制的实现可参照上述公式(3)-(5),在此不再赘述。这样,对每一根射线上的预设场景点均执行一次自适应的注意力机制,即完成整个极坐标系定义下3d场景下的极线特征优化操作;通过使用自适应的注意力机制对处于同一射线上的预设场景点进行约束,有助于获得更准确的3d场景表达。
[0170]
本技术实施例中,利用预先定义的预设场景点及图像采集装置的标定信息所确定的一一对应的投影关系,将预设场景点准确投影到二维图像的具体位置上;同时,基于极坐标的自适应注意力机制,经过多层的迭代编码(即经过预设循环次数的操作),准确获取预设场景点对应的2d语义信息,将位于不同坐标系的图像采集装置所采集的二维图像上的2d语义信息填充入预设场景点内,从而实现将不同坐标系的2d图像转换到bev视角下统一的、准确的、稠密的3d场景表达。
[0171]
举例来说,图10示出了根据本技术一实施例的图像处理过程的示意图。如图10所示,预先定义以自车为中心、以极坐标形式分布的多个预设场景点,从而实现对自车附近的3d场景进行统一的稠密建模;通过主干网络进行图像特征提取,提取多个图像采集装置所采集到的2d图像特征,同时,解码层基于可变形注意力机制学习预设场景点特征描述,并对于处于同一射线上的预设场景点,基于自适应的极坐标注意力机制及多视图自适应注意力机制,采用前馈神经网络(feed forward neural networks,ffn)将所提取不同图像采集装
置对应的2d图像特征填充进预设场景点中,从而完成一次反向追踪;解码层重复执行六次上述反向追踪后,通过采样的方式将极坐标形式定义下的3d场景表达转化为笛卡尔坐标形式定义下的3d场景表达,再利用bev编码器,得到bev视角下的3d场景表达;针对不同的自动驾驶下游任务,将得到的3d场景表达输入不同的任务头,例如,3d目标检测任务头或bev语义分割任务头,即可执行相应的自动驾驶下游任务。
[0172]
下面对上述神经网络模型的训练过程进行示例性说明。
[0173]
图11示出了根据本技术一实施例的图像处理方法的流程图。该方法可以由上述图像处理装置执行,如图11所示,可以包括以下步骤:
[0174]
s1101、获取目标任务对应的训练数据;所述训练数据包括自车的至少一个图像采集装置所采集的二维样本图像。
[0175]
示例性地,所述训练数据可以是多个安装于自车上的不同方位、具有不同坐标系的车载摄像头所采集到的2d图像。训练数据还可以是从现有数据库所获取的二维样本图像,还可以是可以接收其他设备发送的二维样本图像;例如,可以是自动驾驶数据集nuscenes中的二维样本图像。
[0176]
s1102、利用所述训练数据及所述预设场景点集合,对预设模型进行训练,得到所述神经网络模型。
[0177]
其中,预设场景点集合可以参照前文相关表述,在此不再赘述。
[0178]
这样,通过预先定义以极坐标形式分布的预设场景点学习自车的3d场景表达,使得训练好的神经网络模型,反向获取到的语义信息更加准确;且不需要深度预测网络即可学习到准确的3d场景表达;此外,训练好的神经网络模型可以将多张2d图像转化为bev视角下的统一的、准确的、稠密的3d场景表达;解决了深度估计和隐式投影方法可能导致3d场景表达的误差和稀疏问题,生成的3d场景表达可同时用于后续的3d目标检测和bev语义分割等多个自动驾驶下游任务。
[0179]
在一种可能的实现方式中,该步骤s1102中,利用所述训练数据及所述预设场景点集合,对预设模型进行训练,得到所述神经网络模型,可以包括:通过所述预设模型提取所述二维样本图像的训练特征,并在所提取的训练特征中确定与所述至少一个场景点对应的训练特征;根据所述至少一个场景点对应的训练特征,执行所述目标任务,并根据执行结果调整所述预设模型的参数,直到达到预设训练结束条件。
[0180]
这样,通过预设模型提取二维样本图像的训练特征,并在所提取的训练特征中确定与至少一个场景点对应的训练特征,从而实现反向获取至少一个场景点对应的2d图像的特征。
[0181]
作为一个示例,可以通过预设模型中的主干网络提取所述二维样本图像的训练特征;可以通过预设模型中的解码层在所提取的训练特征中确定与所述至少一个场景点对应的训练特征。示例性地,可以根据图像采集装置的内参矩阵及外参矩阵定义的投影关系,在所提取的训练特征中确定与所述至少一个场景点对应的训练特征。
[0182]
示例性地,可以根据执行结果与所述目标任务对应的预期结果进行比较,得到损失函数值,并通过损失函数值的反向传播,对预设模型的参数进行更新,并利用下一批训练样本对更新参数后的模型进行训练(即重新执行步骤1101至步骤1102),直到达到预设训练结束条件(例如,损失函数达到收敛、达到预设迭代次数等等),可得到训练好的神经网络模
型。例如,目标任务为车辆识别,训练数据可以包括多个车辆图像采集装置所采集的多张样本图像,图像中包括车辆,可以预先标记出车辆;这样,将所采集的多张样本图像输入到预设模型中,预设模型可以提取多张样本图像的训练特征,并在所提取的训练特征中确定与各预设场景点对应的训练特征,进而根据各预设场景点对应的训练特征执行车辆识别,得到车辆识别结果;将该车辆识别结果与所预先标记出的车辆进行对比,从而确定损失函数值;可以理解的是,损失函数值越高则表明预设模型所得到的执行结果与实际真实的结果差异越大,反之,差异越小。从而可以通过损失函数值的反向传播,调整预设模型中的参数值;重复执行上述操作,直到达到预设训练结束条件。
[0183]
在一种可能的实现方式中,所述通过所述预设模型提取所述二维样本图像的训练特征,并在所提取的训练特征中确定与所述至少一个场景点对应的训练特征,包括:获取所述预设场景点集合中与所述至少一个场景点位于同一射线上的各场景点;通过所述预设模型提取所述二维样本图像的训练特征,并基于注意力机制,在所提取的训练特征中确定与所述各场景点对应的训练特征。
[0184]
示例性地,注意力机制可以为自适应的极坐标注意力机制,示例性地,可以对极坐标系中每根射线上的各场景点均执行自适应的注意力机制,在所提取的训练特征中确定与各场景点对应的训练特征。这样,对于处于同一射线上的预设场景点,利用注意力机制,即自适应的极坐标注意力机制,助力预设模型学习到更准确的3d场景表达。其中,注意力机制实现的具体过程可参照前文相关表述,此处不再赘述。
[0185]
通过上述步骤s1101~s1102,从而得到训练好的神经网络模型,进而可以执行下述步骤s1103-s1105,从而可以将2d图像转化为具有统一3d坐标系、bev视角下的3d场景表达,进而可以执行一个或多个自动驾驶下游任务。
[0186]
s1103、获取第一图像采集装置采集的二维图像;所述第一图像采集装置为安装在自车上的任一图像采集装置。
[0187]
该步骤与上述图5中步骤s501相同,此处不再赘述。
[0188]
s1104、通过神经网络模型提取所述二维图像的特征,并在所提取的特征中确定与至少一个场景点对应的特征。
[0189]
该步骤与上述图5中步骤s502相同,此处不再赘述。
[0190]
s1105、根据所述至少一个场景点对应的特征,执行所述目标任务。
[0191]
该步骤与上述图5中步骤s503相同,此处不再赘述。
[0192]
举例来说,图12示出根据本技术一实施例的模型训练的流程示意图。如图12所示,对于不同坐标系下的多个图像采集装置所采集到的二维样本图像,通过预设模型中的主干网络提取二维样本图像的训练特征,得到位于不同坐标系下的二维样本图像的训练特征;以自车为中心,以极坐标的形式,在自车周围均匀设置不带有语义信息的空3d场景点;利用图像采集装置的内参矩阵及外参矩阵定义的投影关系,确定空3d场景点对应的二维样本图像的训练特征并将二维样本图像的训练特征填充进该空3d场景点内;然后,对极坐标系下的同一射线上的3d场景点执行自适应的注意力机制,完成极线特征优化,助力模型学习更准确的3d场景信息;重复执行确定空3d场景点对应的二维样本图像的训练特征的操作和极线特征优化操作,直到达到解码层(decoder)的预设循环次数;预设模型的解码层输出极坐标形式定义的3d场景表达,进而通过采样的方式将极坐标形式定义的3d场景表达转化为以
自车为中心的笛卡尔坐标形式定义的3d场景表达;对不同的自动驾驶任务,可以将笛卡尔坐标形式定义的3d场景表达输入不同的任务头,例如,3d目标检测头和bev语义分割头,从而执行相关任务,根据任务执行结果,通过梯度下降更新整个预设模型的参数,并利用下一批训练样本对更新参数后的模型迭代进行上述训练,直到模型达到迭代次数,从而完成模型训练,得到训练好的神经网络模型。
[0193]
下面分别以3d目标检测任务及bev语义分割任务为例,说明本技术所提供的图像处理方法的性能。
[0194]
作为一个示例,以大规模多实例自动驾驶数据集nuscenes为例,将本技术实施例所述的图像处理方法应用于3d目标检测任务。以下将执行本技术实施例所述的图像处理方法称为ego3rt模型。在nuscenes数据集上评估ego3rt的有效性,其中,nuscenes数据集是一个大型的具有1000个驾驶场景的规模自动驾驶数据集。具体来说,nuscenes数据集可以提供按照在车辆不同方位的6个相机的图像流,每个相机的内参矩阵和外参矩阵,以及完整的多实例标注信息;其中,图像流中各图像的尺寸为(1600,900)。将nuscenes数据集中1000个长约20秒的场景拆分为700个场景用于训练集,150个场景用于验证集,150个场景用于测试集。
[0195]
示例性地,使用(类别)平均精确度(mean average precision,map)和nuscenes检测指标(nuscenes detection score,nds)两个评价指标,在nuscenes数据集上对3d目标检测结果的效果进行评估,这两个指标均越大越好;其中,map是bev视角中不同距离阈值(例如0.5m、1m、2m、4m)的精度平均值。nds可以由map和真阳(true positive,tp)指标加权平均得到,其中,tp指标是以下五个个体的平均值指标:平均距离误差(average translation error,ate)、平均速度误差(average velocity error,ave)、平均尺度误差(average scale error,ase)、平均旋转误差(average orientation error,aoe)和平均属性误差(average attribute error,aae);nds的计算公式可以表示为:error,aae);nds的计算公式可以表示为:其中,mtp表示上述任一平均值指标。
[0196]
本技术实施例中使用配备可变形卷积的残差网络101(residual networks-101,resnet-101)用作主干网络;解码层利用来自主干网络的第2、3和4阶段的多尺度特征图作为2d语义特征。预先定义的场景点,在极坐标形式下分辨率为80x256,即80条射线,每条射线上256个预设场景点,在得到各预设场景点对应的特征之后,通过采样将其转换到分辨率为160x160的笛卡尔坐标系下进行后续下游任务;本技术实施例中任务头采用在3d目标检测中被广泛使用的centerpoint检测头。
[0197]
利用nuscenes的训练集采用前文实施例所述的训练方法对ego3rt进行训练,并利用训练后的ego3rt在nuscenes的测试集上进行3d目标检测,然后,将该目标检测结果与现有的monodis、centernet、fcos3d、pgd、dd3d、detr3d等检测模型在nuscenes的测试集上进行3d目标检测的结果进行比较;表1示出了不同检测模型在nuscenes测试集上进行3d目标检测的评价指标值,其中表示采用加载在dd3d上预训练的主干网络。
[0198]
表1-不同检测方法在nuscenes测试集上进行3d目标检测的评价指标值
[0199][0200]
通过上述表1可知,采用本技术实施例中方法训练后的ego3rt成功达到了当前最优纯视觉3d目标检测效果,可见本技术实施例所述的图像处理方法,可以更好地利用多个图像采集装置所采集到的图像,生成符合下游任务的稠密3d场景表达。
[0201]
下面将采用现有笛卡尔坐标形式的检测方法,与本技术实施例中上述采用极坐标形式定义预设场景点的图像处理方法,以及本技术实施例中上述采用极坐标形式定义预设场景点和注意力机制的图像处理方法进行效果对比;表2示出了本实施例消融实验结果对比表。
[0202]
表2-消融实验结果对比表
[0203][0204]
通过上述表2可知,采用极坐标的形式定义自车附近的预设场景点的图像处理方法,所得到的3d目标检测的mate,maae和nds指标相较于使用笛卡尔坐标形式的检测方法所得到的3d目标检测的相应指标均有较大提升。此外,在采用极坐标形式定义预设场景点的基础上,加入自适应的注意力机制的图像处理方法,通过对处于同一射线上的预设场景点进行约束,所得到的3d目标检测的评价指标中除mate外的所有指标均有明显提升。其中,主要指标map和nds的显著提升证明了本技术实施例中上述采用极坐标形式定义预设场景点的图像处理方法,以及本技术实施例中上述采用极坐标形式定义预设场景点和加入注意力机制的图像处理方法的有效性。
[0205]
作为另一个示例,以大规模多实例自动驾驶数据集nuscenes为例,将本技术实施例所述的图像处理方法应用于bev语义分割任务。本技术实施例中所采用的数据集nuscenes、主干网络、解码器、极坐标形式预设场景点均与上述3d目标检测任务示例中相同,在此不再赘述,本技术实施例中任务头采用bev语义分割头;其中,bev语义分割头模块使用标准的反卷积进行上采样,将分辨率为160x160的笛卡尔坐标系下的3d场景表达上采样到480x480的分辨率,以获得更多的细节。本技术实施例中使用交并比(intersection over union,iou)或(类别)平均交并比(mean intersection over union,miou)来评价bev语义分割头的性能,其中iou指标越大越好。
[0206]
利用nuscenes的训练集采用前文实施例所述的训练方法对ego3rt进行训练,并利
用训练后的ego3rt在nuscenes的测试集上进行bev语义分割,然后,将bev语义分割结果与现有的ved、vpn、pon、oft、lsf、image2map、lss等语义分割模型在nuscenes的测试集上进行bev语义分割的结果进行比较;表3示出了不同语义分割模型在nuscenes测试集上进行bev语义分割的评价指标值,其中,评价指标值包括:可行驶区域(drivable)、交通路口(crossing)、人行横道(walkway)、停车场(carpark)及分隔物(divider)对应的交并比。
[0207]
表3-不同语义分割模型在nuscenes测试集上进行bev语义分割的评价指标值
[0208]
模型是否多分类可行驶区域交通路口人行横道停车场分隔物ved否54.712.020.713.5-vpn否58.027.329.412.3-pon否60.428.031.018.4-oft否62.430.934.523.5-lsf否61.133.537.825.4-image2map否74.536.635.931.3-oft是71.7
‑‑‑
18.0lss是72.9
‑‑‑
20.0ego3rt是79.648.352.050.347.5
[0209]
通过上述表3可知,采用本技术实施例中方法训练后的ego3rt在自动驾驶相关的下游bev语义分割任务上取得当前最优的结果,由此可见,上述本技术实施例所述图像处理方法的有效性、通用性以及可扩展能力。相较于现有模型存在的性能不强或只可用于3d目标检测等弱点,本技术实施例中ego3rt模型可同时应用于多个下游任务,且在下游任务上均取得当前最好水平,具有更好的可扩展能力和更强的通用性。
[0210]
这样,通过在大规模自动驾驶数据集nuscenes上的实验,本技术实施例中的ego3rt模型在多个下游自动驾驶基准任务上均达到当前最优结果,展现出强大的能力,以及生成稠密通用3d场景表达的有效性和重要性,有效提升了自动驾驶系统中感知模块的性能。
[0211]
基于上述方法实施例的同一发明构思,本技术的实施例还提供了一种图像处理装置,该图像处理装置可以用于执行上述方法实施例所描述的技术方案。例如,可以执行上述图5、图9或图11中所示图像处理方法的各步骤。
[0212]
图13示出根据本技术一实施例的图像处理装置的框图。如图13所示,该装置可以包括:获取模块1301,用于获取第一图像采集装置采集的二维图像;所述第一图像采集装置为安装在自车上的任一图像采集装置;特征确定模块1302,用于通过神经网络模型提取所述二维图像的特征,并在所提取的特征中确定与至少一个场景点对应的特征;其中,所述场景点为bev视角下预设场景点集合中的预设场景点,所述预设场景点集合分布于以自车为极点的极坐标系中,且所述预设场景点集合所在平面与地面平行;所述神经网络模型由目标任务对应的训练数据训练得到;执行模块1303,用于根据所述至少一个场景点对应的特征,执行所述目标任务。
[0213]
本技术实施例中,以极坐标形式对bev视角下自车附近的3d场景进行统一建模,极坐标形式更符合针孔相机模型;通过神经网络模型提取二维图像的特征,并在所提取的二维图像的特征中确定与至少一个场景点所对应的特征,从而反向获取以极坐标形式分布的
预设场景点所需要的2d图像的特征,实现将不同坐标系的2d图像转化为bev视角下的统一的、准确的、稠密的3d场景表达,避免了深度估计方式导致的误差累积和隐式投影方式没有几何约束导致的次优结果;进而可以根据至少一个场景点对应的特征,执行目标任务,在一些示例中,目标任务的数量可以为多个,从而实现将统一的、准确的、稠密的3d场景表达同时应用于多个目标任务。
[0214]
在一种可能的实现方式中,所述至少一个场景点包括所述预设场景点集合中位于同一射线上的预设场景点,所述射线以所述极点为端点;所述特征确定模块1302,还用于通过所述神经网络模型提取所述二维图像的特征,并基于注意力机制,在所提取的特征中确定与所述至少一个场景点对应的特征。
[0215]
在一种可能的实现方式中,所述特征确定模块1302,还用于:通过所述神经网络模型,对所述二维图像进行特征提取,得到图像特征集合;其中,所述图像特征集合包括所述二维图像上多个位置对应的特征;通过所述神经网络模型,确定所述至少一个场景点对应的三维坐标;根据所述三维坐标及所述第一图像采集装置的标定信息,将所述三维坐标映射到所述图像采集装置的坐标系中,确定所述多个位置中与所述三维坐标对应的目标位置;根据所述图像特征集合中所述目标位置对应的特征,得到所述至少一个场景点对应的特征。
[0216]
在一种可能的实现方式中,所述特征确定模块1302,还用于:根据所述图像特征集合中所述目标位置对应的特征,基于注意力机制,重复执行确定所述至少一个场景点对应的三维坐标及后续操作,直到达到预设循环次数;根据达到所述预设循环次数时所述目标位置对应的特征,得到所述至少一个场景点对应的特征。
[0217]
在一种可能的实现方式中,所述预设场景点集合中各预设场景点均匀分布于所述极坐标系中。
[0218]
在一种可能的实现方式中,所述装置还包括:训练模块,用于获取目标任务对应的训练数据;所述训练数据包括自车的至少一个图像采集装置所采集的二维样本图像;所述训练模块,还用于利用所述训练数据及所述预设场景点集合,对预设模型进行训练,得到所述神经网络模型。
[0219]
在一种可能的实现方式中,所述训练模块,还用于:通过所述预设模型提取所述二维样本图像的训练特征,并在所提取的训练特征中确定与所述至少一个场景点对应的训练特征;根据所述至少一个场景点对应的训练特征,执行所述目标任务,并根据执行结果调整所述预设模型的参数,直到达到预设训练结束条件。
[0220]
在一种可能的实现方式中,所述训练模块,还用于:获取所述预设场景点集合中与所述至少一个场景点位于同一射线上的各场景点;通过所述预设模型提取所述二维样本图像的训练特征,并基于注意力机制,在所提取的训练特征中确定与所述各场景点对应的训练特征。
[0221]
在一种可能的实现方式中,所述执行模块1303,还用于:将所述至少一个场景点,转换到笛卡尔坐标系中,得到所述至少一个场景点在笛卡尔坐标系中对应的坐标;根据所述至少一个场景点对应的特征及所述至少一个场景点在笛卡尔坐标系中对应的坐标,执行所述目标任务。
[0222]
在一种可能的实现方式中,所述目标任务包括:图像分类、语义分割或目标检测中
的一项或多项。
[0223]
上述图13所示的图像处理装置及其各种可能的实现方式的技术效果及具体描述可参见上述图像处理方法,此处不再赘述。
[0224]
应理解以上装置中各模块的划分仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。此外,装置中的模块可以以处理器调用软件的形式实现;例如装置包括处理器,处理器与存储器连接,存储器中存储有指令,处理器调用存储器中存储的指令,以实现以上任一种方法或实现该装置各模块的功能,其中处理器例如为通用处理器,例如中央处理单元(central processing unit,cpu)或微处理器,存储器为装置内的存储器或装置外的存储器。或者,装置中的模块可以以硬件电路的形式实现,可以通过对硬件电路的设计实现部分或全部模块的功能,该硬件电路可以理解为一个或多个处理器;例如,在一种实现中,该硬件电路为专用集成电路(application-specific integrated circuit,asic),通过对电路内元件逻辑关系的设计,实现以上部分或全部模块的功能;再如,在另一种实现中,该硬件电路为可以通过可编程逻辑器件(programmable logic device,pld)实现,以现场可编程门阵列(field programmable gate array,fpga)为例,其可以包括大量逻辑门电路,通过配置文件来配置逻辑门电路之间的连接关系,从而实现以上部分或全部模块的功能。以上装置的所有模块可以全部通过处理器调用软件的形式实现,或全部通过硬件电路的形式实现,或部分通过处理器调用软件的形式实现,剩余部分通过硬件电路的形式实现。
[0225]
在本技术实施例中,处理器是一种具有信号的处理能力的电路,在一种实现中,处理器可以是具有指令读取与运行能力的电路,例如cpu、微处理器、图形处理器(graphics processing unit,gpu)、数字信号处理器(digital signal processor,dsp)、神经网络处理器(neural-network processing unit,npu)、张量处理器(tensor processing unit,tpu)等;在另一种实现中,处理器可以通过硬件电路的逻辑关系实现一定功能,该硬件电路的逻辑关系是固定的或可以重构的,例如处理器为asic或pld实现的硬件电路,例如fpga。在可重构的硬件电路中,处理器加载配置文档,实现硬件电路配置的过程,可以理解为处理器加载指令,以实现以上部分或全部模块的功能的过程。
[0226]
可见,以上装置中的各模块可以是被配置成实施以上实施例方法的一个或多个处理器(或处理电路),例如:cpu、gpu、npu、tpu、微处理器、dsp、asic、fpga,或这些处理器形式中至少两种的组合。此外,以上装置中的各模块可以全部或部分可以集成在一起,或者可以独立实现,对此不作限定。
[0227]
本技术的实施例还提供了一种图像处理装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述实施例的方法。示例性地,可以执行上述图5、图9或图11中所示图像处理方法的各步骤。
[0228]
图14示出根据本技术一实施例的一种图像处理装置的结构示意图,如图14所示,该图像处理装置可以包括:至少一个处理器701,通信线路702,存储器703以及至少一个通信接口704。
[0229]
处理器701可以是一个通用中央处理器,微处理器,特定应用集成电路,或一个或多个用于控制本技术方案程序执行的集成电路;处理器701也可以包括多个通用处理器的异构运算架构,例如,可以是cpu、gpu、微处理器、dsp、asic、fpga中至少两种的组合;作为一
个示例,处理器701可以是cpu+gpu或者cpu+asic或者cpu+fpga。
[0230]
通信线路702可包括一通路,在上述组件之间传送信息。
[0231]
通信接口704,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,ran,无线局域网(wireless local area networks,wlan)等。
[0232]
存储器703可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路702与处理器相连接。存储器也可以和处理器集成在一起。本技术实施例提供的存储器通常可以具有非易失性。其中,存储器703用于存储执行本技术方案的计算机执行指令,并由处理器701来控制执行。处理器701用于执行存储器703中存储的计算机执行指令,从而实现本技术上述实施例中提供的方法;示例性地,可以实现上述图5、图9或图11中所示图像处理方法的各步骤。
[0233]
可选的,本技术实施例中的计算机执行指令也可以称之为应用程序代码,本技术实施例对此不作具体限定。
[0234]
示例性地,处理器701可以包括一个或多个cpu,例如,图14中的cpu0;处理器701也可以包括一个cpu,及gpu、asic、fpga中任一个,例如,图14中的cpu0+gpu0或者cpu 0+asic0或者cpu0+fpga0。
[0235]
示例性地,图像处理装置可以包括多个处理器,例如图14中的处理器701和处理器707。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器,或者是包括多个通用处理器的异构运算架构。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0236]
在具体实现中,作为一种实施例,图像处理装置还可以包括输出设备705和输入设备706。输出设备705和处理器701通信,可以以多种方式来显示信息。例如,输出设备705可以是液晶显示器(liquid crystal display,lcd),发光二级管(light emitting diode,led)显示设备,阴极射线管(cathode ray tube,crt)显示设备,或投影仪(projector)等,例如,可以为车载hud、ar-hud、显示器等显示设备。输入设备706和处理器701通信,可以以多种方式接收用户的输入。例如,输入设备706可以是鼠标、键盘、触摸屏设备或传感设备等。
[0237]
本技术的实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述实施例中的方法。示例性地,可以实现上述图5、图9或图11中所示图像处理方法的各步骤。
[0238]
本技术的实施例提供了一种计算机程序产品,例如,可以包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质;当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述实施例中的方法。示例性地,可以执行上述图4、图7或图11中所示图像处理方法的各步骤。
[0239]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0240]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0241]
用于执行本技术操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本技术的各个方面。
[0242]
这里参照根据本技术实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本技术的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0243]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0244]
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它
设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0245]
附图中的流程图和框图显示了根据本技术的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0246]
以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
技术特征:1.一种图像处理方法,其特征在于,包括:获取第一图像采集装置采集的二维图像;所述第一图像采集装置为安装在自车上的任一图像采集装置;通过神经网络模型提取所述二维图像的特征,并在所提取的特征中确定与至少一个场景点对应的特征;其中,所述场景点为鸟瞰图视角bev下预设场景点集合中的预设场景点,所述预设场景点集合分布于以自车为极点的极坐标系中,且所述预设场景点集合所在平面与地面平行;所述神经网络模型由目标任务对应的训练数据训练得到;根据所述至少一个场景点对应的特征,执行所述目标任务。2.根据权利要求1所述的方法,其特征在于,所述至少一个场景点包括所述预设场景点集合中位于同一射线上的预设场景点,所述射线以所述极点为端点;所述通过神经网络模型提取所述二维图像的特征,并在所提取的特征中确定与至少一个场景点对应的特征,包括:通过所述神经网络模型提取所述二维图像的特征,并基于注意力机制,在所提取的特征中确定与所述至少一个场景点对应的特征。3.根据权利要求1或2所述的方法,其特征在于,所述通过神经网络模型提取所述二维图像的特征,并在所提取的特征中确定与至少一个场景点对应的特征,包括:通过所述神经网络模型,对所述二维图像进行特征提取,得到图像特征集合;其中,所述图像特征集合包括所述二维图像上多个位置对应的特征;通过所述神经网络模型,确定所述至少一个场景点对应的三维坐标;根据所述三维坐标及所述第一图像采集装置的标定信息,将所述三维坐标映射到所述图像采集装置的坐标系中,确定所述多个位置中与所述三维坐标对应的目标位置;根据所述图像特征集合中所述目标位置对应的特征,得到所述至少一个场景点对应的特征。4.根据权利要求3所述的方法,其特征在于,所述根据所述图像特征集合中所述目标位置对应的特征,得到所述至少一个场景点对应的特征,包括:根据所述图像特征集合中所述目标位置对应的特征,基于注意力机制,重复执行确定所述至少一个场景点对应的三维坐标及后续操作,直到达到预设循环次数;根据达到所述预设循环次数时所述目标位置对应的特征,得到所述至少一个场景点对应的特征。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述预设场景点集合中各预设场景点均匀分布于所述极坐标系中。6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:获取目标任务对应的训练数据;所述训练数据包括自车的至少一个图像采集装置所采集的二维样本图像;利用所述训练数据及所述预设场景点集合,对预设模型进行训练,得到所述神经网络模型。7.根据权利要求6所述的方法,其特征在于,所述利用所述训练数据及所述预设场景点集合,对预设模型进行训练,得到所述神经网络模型,包括:通过所述预设模型提取所述二维样本图像的训练特征,并在所提取的训练特征中确定
与所述至少一个场景点对应的训练特征;根据所述至少一个场景点对应的训练特征,执行所述目标任务,并根据执行结果调整所述预设模型的参数,直到达到预设训练结束条件。8.根据权利要求7所述的方法,其特征在于,所述通过所述预设模型提取所述二维样本图像的训练特征,并在所提取的训练特征中确定与所述至少一个场景点对应的训练特征,包括:获取所述预设场景点集合中与所述至少一个场景点位于同一射线上的各场景点;通过所述预设模型提取所述二维样本图像的训练特征,并基于注意力机制,在所提取的训练特征中确定与所述各场景点对应的训练特征。9.根据权利要求1-8中任一项所述的方法,其特征在于,所述根据所述至少一个场景点对应的特征,执行所述目标任务,包括:将所述至少一个场景点,转换到笛卡尔坐标系中,得到所述至少一个场景点在笛卡尔坐标系中对应的坐标;根据所述至少一个场景点对应的特征及所述至少一个场景点在笛卡尔坐标系中对应的坐标,执行所述目标任务。10.根据权利要求1-9中任一项所述的方法,其特征在于,所述目标任务包括:图像分类、语义分割或目标检测中的一项或多项。11.一种图像处理装置,其特征在于,所述装置包括:获取模块,用于获取第一图像采集装置采集的二维图像;所述第一图像采集装置为安装在自车上的任一图像采集装置;特征确定模块,用于通过神经网络模型提取所述二维图像的特征,并在所提取的特征中确定与至少一个场景点对应的特征;其中,所述场景点为鸟瞰图视角bev下预设场景点集合中的预设场景点,所述预设场景点集合分布于以自车为极点的极坐标系中,且所述预设场景点集合所在平面与地面平行;所述神经网络模型由目标任务对应的训练数据训练得到;执行模块,用于根据所述至少一个场景点对应的特征,执行所述目标任务。12.根据权利要求11所述的装置,其特征在于,所述至少一个场景点包括所述预设场景点集合中位于同一射线上的预设场景点,所述射线以所述极点为端点;所述特征确定模块,还用于通过所述神经网络模型提取所述二维图像的特征,并基于注意力机制,在所提取的特征中确定与所述至少一个场景点对应的特征。13.根据权利要求11或12所述的装置,其特征在于,所述特征确定模块,还用于:通过所述神经网络模型,对所述二维图像进行特征提取,得到图像特征集合;其中,所述图像特征集合包括所述二维图像上多个位置对应的特征;通过所述神经网络模型,确定所述至少一个场景点对应的三维坐标;根据所述三维坐标及所述第一图像采集装置的标定信息,将所述三维坐标映射到所述图像采集装置的坐标系中,确定所述多个位置中与所述三维坐标对应的目标位置;根据所述图像特征集合中所述目标位置对应的特征,得到所述至少一个场景点对应的特征。14.根据权利要求13所述的装置,其特征在于,所述特征确定模块,还用于:
根据所述图像特征集合中所述目标位置对应的特征,基于注意力机制,重复执行确定所述至少一个场景点对应的三维坐标及后续操作,直到达到预设循环次数;根据达到所述预设循环次数时所述目标位置对应的特征,得到所述至少一个场景点对应的特征。15.根据权利要求11-14中任一项所述的装置,其特征在于,所述预设场景点集合中各预设场景点均匀分布于所述极坐标系中。16.根据权利要求11-15中任一项所述的装置,其特征在于,所述装置还包括:训练模块,用于获取目标任务对应的训练数据;所述训练数据包括自车的至少一个图像采集装置所采集的二维样本图像;所述训练模块,还用于利用所述训练数据及所述预设场景点集合,对预设模型进行训练,得到所述神经网络模型。17.根据权利要求16所述的装置,其特征在于,所述训练模块,还用于:通过所述预设模型提取所述二维样本图像的训练特征,并在所提取的训练特征中确定与所述至少一个场景点对应的训练特征;根据所述至少一个场景点对应的训练特征,执行所述目标任务,并根据执行结果调整所述预设模型的参数,直到达到预设训练结束条件。18.根据权利要求17所述的装置,其特征在于,所述训练模块,还用于:获取所述预设场景点集合中与所述至少一个场景点位于同一射线上的各场景点;通过所述预设模型提取所述二维样本图像的训练特征,并基于注意力机制,在所提取的训练特征中确定与所述各场景点对应的训练特征。19.根据权利要求11-18中任一项所述的装置,其特征在于,所述执行模块,还用于:将所述至少一个场景点,转换到笛卡尔坐标系中,得到所述至少一个场景点在笛卡尔坐标系中对应的坐标;根据所述至少一个场景点对应的特征及所述至少一个场景点在笛卡尔坐标系中对应的坐标,执行所述目标任务。20.根据权利要求11-19中任一项所述的装置,其特征在于,所述目标任务包括:图像分类、语义分割或目标检测中的一项或多项。21.一种图像处理装置,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现权利要求1-10中任意一项所述的方法。22.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1-10中任意一项所述的方法。23.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行权利要求1-10中任意一项所述的方法。
技术总结本申请涉及一种图像处理方法、装置、存储介质及计算机程序产品。其中,该方法包括:获取第一图像采集装置采集的二维图像;第一图像采集装置为安装在自车上的任一图像采集装置;通过神经网络模型提取二维图像的特征,并在所提取的特征中确定与至少一个场景点对应的特征;其中,场景点为BEV视角下预设场景点集合中的预设场景点,预设场景点集合分布于以自车为极点的极坐标系中,且预设场景点集合所在平面与地面平行;神经网络模型由目标任务对应的训练数据训练得到;根据至少一个场景点对应的特征,执行目标任务。通过本申请可以将2D图像转化为BEV视角下的统一的、准确的、稠密的3D场景表达,并用于执行目标任务。并用于执行目标任务。并用于执行目标任务。
技术研发人员:叶超强 徐航 杨臻 张维 许春景
受保护的技术使用者:华为技术有限公司
技术研发日:2022.07.01
技术公布日:2022/11/1