一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像处理方法及装置与流程

2022-12-24 23:38:19 来源:中国专利 TAG:


1.本发明属于图像处理技术领域,特别是涉及一种图像处理方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.目前,对于部分自动驾驶车辆而言,主要采用鸟瞰图(bev,bird eye view)范式的自动驾驶感知。在bev范式的自动驾驶感知过程中,一般采用像素化的鸟瞰图作为感知空间,即bev空间。当通过布置在车身周围的2d相机获取到车身周围的感知图像后,可通过图像处理,将该感知图像转换到对应的感知空间,即将2d相机获取的感知图像转换到bev空间。
3.然而,在研究过程中,发明人从转换到bev空间下的感知图像中发现:对于车身周围一定距离的感知范围而言,bev空间下的感知图像在满足感知范围的要求时,感知图像的分辨率较低,而在满足图像分辨率要求时,感知范围过小。
4.对于bev范式的自动驾驶感知任务而言,bev空间下的感知图像分辨率低或者感知范围小,均会影响到车辆驾驶过程中的图像识别,车辆驾驶过程的安全性降低。


技术实现要素:

5.基于此,本发明提供了一种图像处理方法,以解决相关技术中bev空间下感知图像的精度和感知范围难以均衡从而车辆驾驶安全的问题。
6.本发明还提供了一种图像处理装置,用以保证上述方法在实际中的实现及应用。
7.第一方面,本发明实施例提供了一种图像处理方法,该方法包括如下步骤:
8.获取车辆在当前场景下的第一鸟瞰图;在所述第一鸟瞰图中,与所述车辆相距不同像素距离的像素点处的像素精度相同;
9.对所述第一鸟瞰图中不同像素点的像素位置进行非线性变换,得到第二鸟瞰图;在所述第二鸟瞰图中,第二区域的平均像素精度小于第三区域的平均像素精度,所述第二区域中任意像素点与车辆之间的像素距离小于所述第三区域中任意像素点与车辆之间的像素距离;
10.对所述第二鸟瞰图进行图像处理。
11.第二方面,本发明实施例还提供了一种图像处理装置,所述装置包括:
12.获取模块,用于获取车辆在当前场景下的第一鸟瞰图;在所述第一鸟瞰图中,与所述车辆相距不同像素距离的像素点处的像素精度相同;
13.非线性变换模块,用于对所述第一鸟瞰图中不同像素点的像素位置进行非线性变换,得到第二鸟瞰图;在所述第二鸟瞰图中,第二区域的平均像素精度小于第三区域的平均像素精度,所述第二区域中任意像素点与车辆之间的像素距离小于所述第三区域中任意像素点与车辆之间的像素距离;
14.处理模块,用于对所述第二鸟瞰图进行图像处理。
15.第三方面,本发明实施例还提供了一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现所述的图像处理方法。
16.第四方面,本发明实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行所述的图像处理方法。
17.在bev范式的自动驾驶感知过程中,bev空间下的感知图像难以兼顾精度和感知范围。相关技术可以实现感知图像精度高而感知范围小或者感知图像精度低而感知范围大。本发明实施例中,获取车辆在当前场景下的第一鸟瞰图,第一鸟瞰图为车辆在当前场景下的鸟瞰图。在第一鸟瞰图中,与车辆相距不同像素距离的像素点处像素精度相同,即在第一鸟瞰图中,每个像素对应当前场景下同样大小的感知范围。然后,对第一鸟瞰图中不同像素点的像素位置进行非线性变换,将第一鸟瞰图变换为第二鸟瞰图。在第二鸟瞰图中,距离车辆较近的第二区域的平均像素精度小于距离车辆较远的第三区域的平均像素精度,即在第二鸟瞰图中,距离车辆越近的位置像素精度越高,以便识别车辆周围环境特征,距离车辆越远的位置像素精度越低,仅用于判断是否有其他车辆或物体。最后,可以利用第二鸟瞰图进行后续的图像处理过程。
18.采用本发明实施例,提高了车辆近处区域的像素精度,有利于图像识别,通过降低车辆远处区域的像素精度,提高了感知范围,兼顾了感知图像的精度和感知范围,可以增强车辆自动驾驶过程的安全性。
附图说明
19.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
20.图1是本发明实施例提供的相关技术中bev范式感知的步骤示意图;
21.图2是本发明实施例提供的相关技术中bev范式感知任务的流程框图;
22.图3是本发明实施例提供的相关技术中bev范式感知中2d坐标到3d坐标的映射关系示意图;
23.图4是本发明实施例提供的相关技术中将车辆周围场景映射在bev空间下的映射效果示意图;
24.图5是本发明实施例提供的一种场图像处理方法的步骤流程框图;
25.图6是本发明实施例提供的一种图像处理方法的具体步骤流程框图;
26.图7是本发明实施例提供的一种采用分段函数进行非线性变换将车辆场景映射在bev空间下的映射效果示意图;
27.图8是本发明实施例提供的另一种采用分段函数进行非线性变换将车辆场景映射在bev空间下的映射效果示意图;
28.图9是本发明实施例提供的一种进行非线性变换时采用的三角函数的函数曲线示意图;
29.图10是本发明实施例提供的另一种进行非线性变换时采用的三角函数的函数曲线示意图;
30.图11是本发明实施例提供的一种进行非线性变换时采用的反比例函数的部分函数曲线示意图;
31.图12是本发明实施例提供的一种进行非线性变换时采用的反比例函数的另一部分函数曲线示意图;
32.图13是本发明实施例提供的一种进行非线性变换时采用的指数函数的部分函数曲线示意图;
33.图14是本发明实施例提供的一种进行非线性变换时采用的指数函数的另一部分函数曲线示意图;
34.图15是本发明实施例提供的一种进行反变换时采用的三角函数的函数曲线示意图;
35.图16本发明实施例提供的改进后的bev范式感知任务的流程框图;
36.图17是本发明实施例提供的一种图像处理装置的框图;
37.图18是本发明一个实施例的电子设备的逻辑框图;
38.图19是本发明另一个实施例的电子设备的逻辑框图。
具体实施方式
39.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
40.本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
41.本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
42.为便于理解本技术实施例,对相关技术进行简要说明:
43.参照图1,在bev范式的感知任务中,主要是采用bev查询向量(bev queries)来捕获bev特征,然后bev queries通过对空域(spatial space和)时域(tempoal space)轮番查询,从而能够将时空信息聚合在bev特征中,最后根据bev特征判断车辆周围环境中的物体信息。
44.具体地,参照图2,bev范式的感知任务包括:1)将bev平面坐标抬升,得到若干3d位置坐标;2)将3d位置坐标投影在相机平面上,得到若干对应的相机像素坐标;3)对相机像素坐标进行特征采样,得到bev特征;4)根据bev特征执行后端任务,输出结果。
45.在bev感知范式中,一个关键问题是如何将2d相机采集的图像转换到bev空间下。
以bev感知(bev former)的注意力修正(deformable attention)为例,其他的bev感知也是采用类似的方式进行bev空间到2d相机之间的映射。
46.首先,定义一组维度为h
×w×
c的可学习参数作为bev查询向量(bev queries),用来捕获bev特征。bev queries中每个位于(x,y)位置的查询向量query都仅负责表征其对应的小范围区域。bev queries通过对空域(spatial space和)时域(tempoal space)轮番查询,从而能够将时空信息聚合在bev query特征中。这些bev特征能够支持包括3d目标检测、地图语义分割在内的多种自动驾驶感知任务。
47.为了聚合空间信息,采用空间注意力(spatial attention)机制,即bev queries从多相机特征中通过注意力提取所需的空间特征的机制。而在bev former中,采用了一种叫做deformable attention的稀疏注意力机制。deformable attention指的是,每个bev query和部分图像区域进行交互。
48.采用deformable attention后,对于每一个位于(x,y)位置的bev特征,我们可以计算其对应的现实世界坐标(x',y')。然后,将bev query在该现实世界坐标处进行“lift”抬升操作,获取多个3d points。接着,参照图3,通过相机内外参获取3d points在该相机view平面上的投影点。对环视相机而言,一般每个bev query会在1-2个相机view平面上存在有效的投影点。最后,以这些投影点作为参考点,在其周围进行特征采样,再使用加权的采样特征进行更新,从而完成spatial space下的特征聚合。
49.由于显存大小、算力限制等因素,bev空间的像素数量是严重受限的。比如,对24g显存的rtx3090来说,目前一般为200像素
×
200像素。
50.以200像素
×
200像素的bev空间为例,可以将转换过程理解为:将车辆周围100米
×
100米的感知范围映射到200像素
×
200像素的栅格化空间内,然后将每个栅格抬升不同的高度得到一系列的3d空间位置,再根据相机内外参,将3d空间位置投影在相机的2d像素平面上得到2d坐标,然后获取2d像素平面上像素位置与现实世界坐标的映射关系。
51.对于200像素
×
200像素的bev空间来说,参考图4,如果感知车辆周围100米
×
100米的范围,每个像素代表0.5米,即像素精度为0.5米/像素,这对于车道线识别等任务来说难以满足要求。如果提高像素精度到0.1米/像素,即每个像素代表0.1米,虽然能够满足精度要求,但是最大感知范围只有20米,意味着只能感知车辆周围10米的范围,对于判断车辆周围物体以进行自动驾驶来说也难以满足要求。
52.但对于车辆而言,对不同距离的物体,像素精度要求不同。对于距离车辆较远的物体而言,我们的目的在于识别到物体是否存在,即使像素精度较低,误差较大,也是可以接受的。但是对于距离车辆较近的物体或车道线而言,我们需要更高的精度,0.5米/像素对于识别旁边车道的车辆或车道线来说是不够的。
53.为此,本发明实施例提供了一种图像处理方法,其可以应用于车辆自动驾驶场景,即通过车辆上安装的相机采集鸟瞰图,并对该鸟瞰图进行非线性变换,以实现鸟瞰图的像素精度与感知范围的平衡,从而在自动驾驶过程中对车辆不同距离处的环境进行识别,以提高自动驾驶的安全性。
54.参考图5,其示出了一种图像处理方法的步骤流程框图。具体地,该方法可以包括:
55.步骤201、获取车辆在当前场景下的第一鸟瞰图;在所述第一鸟瞰图中,与所述车辆相距不同像素距离的像素点处的像素精度相同。
56.在本技术实施例中,当前场景指的是车辆所处的真实环境,进一步来说,指的是车辆所要感知的一定范围内的真实环境。第一鸟瞰图指的是由车辆上的多个2d相机采集的2d图像融合后得到的鸟瞰图,即采用立体方式展示车辆周围当前场景的图像。2d相机可以为常用的环视鱼眼相机等,本技术实施例对此不做限定。
57.此处需要说明的是,本技术实施例中提到的鸟瞰图并非是由人眼直接观察的图片。当bev query对spatial space和tempoal space进行轮番查询,然后将查询出的特征进行聚合后,得到特征向量,鸟瞰图由这些特征向量组成。相应地,鸟瞰图的像素也并非是常规图片的灰度/rgb值,而是像素点所在区域的特征向量。在第一鸟瞰图中,既有车辆图像,也有当前场景图像,真实场景中的物体与当前场景图像中显示的物体一一对应。车辆在第一鸟瞰图中占据一定区域,一般不将其简单看做一个点进行考虑。此时,像素点与车辆之间的像素距离指的是当前场景图像中像素点与车辆图像边缘轮廓的最短像素距离。当然,也可以将车辆作为一个点进行考虑,此时,其他像素点与车辆之间的像素距离可以直接确定。
58.在本技术实施例中,像素精度的单位为:米/像素,其反映的是图像中的一个像素对应真实环境中的实际范围。像素点处的像素精度反映的是第一鸟瞰图中该像素点对应当前环境的实际距离。
59.对于200像素
×
200像素的bev空间来说,要感知车辆周围100米
×
100米的范围,像素精度为0.5米/像素,即一个像素对应当前场景中的0.5米。要感知车辆周围200米
×
200米的范围,像素精度为1米/像素,即一个像素对应当前场景中的1米。
60.第一鸟瞰图是利用车辆上安装的2d相机采集的图像处理得到的,受相机参数影响,第一鸟瞰图在bev空间下不同像素点处的像素精度相同,图像的精度和感知范围不平衡,难以满足自动驾驶要求。
61.步骤202、对所述第一鸟瞰图中不同像素点的像素位置进行非线性变换,得到第二鸟瞰图;在所述第二鸟瞰图中,第二区域的平均像素精度小于第三区域的平均像素精度,所述第二区域中任意像素点与车辆之间的像素距离小于所述第三区域中任意像素点与车辆之间的像素距离。
62.像素位置指的是像素点在一定空间下的相对位置,其可以通过构建坐标系后利用坐标进行表示。在本技术实施例中,第一鸟瞰图中不同像素点的像素位置指的是,第一鸟瞰图中不同像素点映射在bev空间下的bev平面坐标。对于200像素
×
200像素的bev空间来说,就是指(0~200,0~200)范围所有的坐标。
63.对像素位置进行非线性变换就可以理解为,按照一定的非线性变换关系,对bev平面坐标进行坐标转换。将第一鸟瞰图中每个像素点的像素位置进行非线性变换,即是按照一定的非线性变换关系,对bev空间下全部的bev平面坐标进行坐标转换。
64.在通过非线性变换得到的第二鸟瞰图中,不同像素点处的像素精度可以是不同的。距离车辆越近的像素点处的像素精度越小,距离车辆越远的像素点处的像素精度越大。
65.假定对第二鸟瞰图中车辆周围的环境图像划分不同区域,其中第二区域包括与车辆之间像素距离相对较小的部分像素点,第三区域包括与车辆之间像素距离相对较大的部分像素点。第二区域内像素点的平均像素精度小于第三区域内像素点的平均像素精度,即意味着距离车辆越近的区域像素精度越小,图像越清晰,距离车辆越远的区域像素精度越大,图像较为模糊。
66.在本技术实施例中,采用像素精度来说明第一鸟瞰图与第二鸟瞰图之间的区别,而不意味着车辆需要获取对应图像的像素精度。
67.此外,作为其他说明方式,也可以采用分辨率、清晰度等标准对第一鸟瞰图和第二鸟瞰图进行区别。例如,在第一鸟瞰图中,不同像素点处的清晰度相同,在第二鸟瞰图中,距离车辆越近的部分,清晰度越高,距离车辆越远的部分,清晰度越低。本领域的技术人员在获取本发明实施例的构思后,采用其他简单的标准来对第一鸟瞰图和第二鸟瞰图进行区别的方式,也应当处于本技术保护范围之内。
68.步骤203、对所述第二鸟瞰图进行图像处理。
69.在本技术实施例中,利用第二鸟瞰图进行后续的图像处理过程,来完成bev范式的自动驾驶感知过程,这部分内容的实现可以采用相关现有技术,本技术实施例对后续的图像处理过程不做具体限定。
70.参照图6,其示出了本发明实施例提供的一种图像处理方法的具体步骤流程框图。具体地,该方法可以包括:
71.步骤301、获取车辆在当前场景下的第一鸟瞰图;在所述第一鸟瞰图中,与所述车辆相距不同像素距离的像素点处的像素精度相同。
72.步骤301可参考上述步骤201的相关描述,此处不再赘述。
73.步骤302、按照预设的非线性变换函数,对所述第一鸟瞰图中不同像素点的像素位置进行非线性变换,得到第二鸟瞰图。
74.在所述第二鸟瞰图中,第二区域的平均像素精度小于第三区域的平均像素精度,所述第二区域中任意像素点与车辆之间的像素距离小于所述第三区域中任意像素点与车辆之间的像素距离。
75.其中,所述非线性变换函数的函数曲线的横坐标为第一鸟瞰图中第一像素点与车辆之间的相对像素距离,所述非线性变换函数的函数曲线的纵坐标为第二鸟瞰图中对应所述第一像素点的像素位置与车辆之间的相对像素距离,所述非线性变换函数的函数曲线的拐点为第一鸟瞰图中车辆所在像素点。
76.在本技术实施例中,采用非线性变换函数,对第一鸟瞰图中不同像素点的像素位置进行非线性变换,以得到第二鸟瞰图。
77.非线性变换函数是区别于线性变换函数的一种函数形式。非线性变换函数的特点在于:其对应的函数曲线的斜率是变化的,即非线性变换函数的函数曲线不是一条完整的直线。
78.非线性变换函数的函数曲线的拐点指的是改变函数曲线方向的点。本技术实施例中,为使得距离车辆越近的像素点像素精度越低,距离车辆越远的像素点像素精度越大,即在车辆一侧距离车辆越近,像素精度越小,在车辆相对的另一侧,同样应该是距离车辆越近,像素精度越小。
79.例如,从车辆前侧第100个像素点到车辆后侧第100个像素点去观察非线性变换函数的斜率,应该是:从车辆前侧第100个像素点到车辆前侧车体轮廓的区间内,斜率逐渐减小,从车辆后侧车体轮廓到车辆后侧第100个像素点的区间内,斜率逐渐增大,反映在函数曲线上,函数曲线在车辆所在像素点处曲线方向发生了改变,因此,可以将车辆所在像素点作为非线性变换函数的函数曲线的拐点。
80.在本技术实施例中,非线性变换函数的输入为第一鸟瞰图中像素点的像素位置,即第一鸟瞰图在bev空间下的bev平面坐标,非线性变换函数的输出为第二鸟瞰图中像素点的像素位置,即第二鸟瞰图在bev空间下的扩展bev平面坐标。
81.具体地,在做非线性变换时,将bev平面坐标的横坐标输入预设的非线性变换函数,输出变换后的横坐标,该变换后的横坐标即作为扩展bev平面坐标的横坐标。将bev平面坐标的纵坐标输入预设的非线性变换函数,输出变换后的纵坐标,该变换后的纵坐标即作为扩展bev平面坐标的纵坐标。
82.非线性变换函数可以包括分段函数、三角函数、指数函数等函数形式。在本技术实施例中,保护要点主要在于通过非线性变换关系将第一鸟瞰图变换为符合要求的第二鸟瞰图,对非线性函数的函数形式不做具体限定。
83.可选地,所述非线性变换函数为分段函数。
84.分段函数的特点在于:其定义域可以分为若干区间,在每个区间内,函数曲线的斜率是唯一的。因此,非线性变换函数可以采用分段函数进行设计,在距离车辆较近的范围内,函数曲线的斜率较小,在距离车辆较远的范围内,函数曲线的斜率较大。
85.可选地,在所述第二区域内,各像素点处的像素精度相同;在所述第三区域内,各像素点处的像素精度相同。
86.采用上述分段函数的构思,可将bev空间划分为至少两个区域,分别为距离车辆较近的第二区域和距离车辆较远的第三区域。相应地,分段函数分为对应第二区域的第一段函数和对应第三区域的第二段函数,第一段函数和第二段函数的斜率均是唯一的,且第一段函数的斜率小于第二段函数的斜率。
87.将bev空间划分为两个区域后设计分段函数的构思在实施时较为简单,工作量小。
88.可选地,采用上述分段函数的构思,还可将bev空间划分为两个以上区域。例如,本技术实施例将bev空间分为3个区域。
89.具体地,参照图7,图中o表示车辆所在像素点,将200像素
×
200像素的bev空间划分为三个区间,分别为(0~50,0~50)、(50~100,50~100)和(100~200,100~200)。其中,(0~50,0~50)区间对应当前场景下车辆周围(0~20米,0~20米)的范围,每个像素表示0.4米;(50~100,50~100)区间对应当前场景下车辆周围(20米~50米,20米~50米)的范围,每个像素表示0.6米;(100~200,100~200)区间对应当前场景下车辆周围(50米~200米,50米~200米)的范围,每个像素表示1.5米。
90.需要说明的是,在本技术实施例中,bev平面坐标表示为(x_bev_pix,y_bev_pix),x_bev_pix和y_bev_pix均为整数。bev平面坐标根据bev空间进行表示。参照图7,图7中点o为bev空间的中心,在本技术实施例中表示车辆所在像素点,其bev平面坐标为(100,100)。实际世界坐标为(x_world,y_world),x_world和y_world的单位均为:米。
91.根据上述对应关系,设计出的分段函数可以是:
92.93.将第一鸟瞰图在bev空间下的bev平面坐标输入上述的分段函数,输出扩展的bev平面坐标,从而得到bev空间下的第二鸟瞰图。
94.此时,第二鸟瞰图的像素坐标与实际世界坐标之间的映射关系可以按照该分段函数的形式进行表示。例如,第二鸟瞰图的像素坐标的横坐标与实际世界坐标的横坐标之间的映射关系可以表示为:
95.if-25《(x_bev_pix-100)《=0:
96.x_world=(x_bev_pix-100)*0.4
97.else if-50《(x_bev_pix-100)《=-25:
98.x_world=10 (x_bev_pix-100)*0.6
99.else if-100《=(x_bev_pix-100)《=-50:
100.x_world=50 (x_bev_pix-100)*1.5
101.else if0《(x_bev_pix-100)《=25:
102.x_world=(x_bev_pix-100)*0.4
103.else if25《(x_bev_pix-100)《=50:
104.x_world=-10 (x_bev_pix-100)*0.6
105.else if50《(x_bev_pix-100)《=100:
106.x_world=-50 (x_bev_pix-100)*1.5
107.第二鸟瞰图的像素坐标的纵坐标与实际世界坐标的纵坐标之间的映射关系也可以按照同样的方式进行表示,只需要将上述映射关系中的“x”替换为“y”即可。
108.采用上述分段函数后,与之前相比,车辆周围20米内范围的像素精度从0.5米/像素变为0.4米/像素,清晰度更高;20米到50米内范围的像素精度从0.5米/像素变为0.6米/像素,清晰度略微降低;50米到100米内范围的像素精度为1.6米/像素,感知范围从车辆周围100米扩展到车辆周围200米,感知距离得到了很大提高。
109.需要说明的是,将bev空间划分为多个区域后,对应每个区域的分段函数的斜率可根据实际调整,本技术实施例对分段函数的斜率不做具体限定。
110.可选地,分段函数可根据实际情况自行调整。比如,不需要扩展感知范围,只需要提高车辆近处区域的像素精度,则可以设计符合200像素
×
200像素的bev空间与100米
×
100米感知区域的分段函数。参照图8,可设计如下分段函数:
[0111][0112]
采用上述分段函数,可将车辆周围10米内区域的像素精度变为0.2米/像素,10米到25米区域内的像素精度变为0.3米/像素,25米到50米区域内的像素精度变为0.75米/像素。采用该分段函数后,100米
×
100米感知区域内距离车辆越近的位置清晰度越高,便于识别物体具体特征,如车道线标识等,距离车辆较远的位置清晰度也可以保证能够识别是否存在其他物体,不影响正常的感知任务进行。
[0113]
当然,上述的两个具体的分段函数仅为示例,本技术实施例不对分段函数的具体
形式加以限定。
[0114]
可选地,在所述第二区域内,像素点与所述车辆之间的像素距离越小,对应像素点处的像素精度越小,像素点与所述车辆之间的像素距离越大,对应像素点处的像素精度越大。
[0115]
在所述第三区域内,像素点与所述车辆之间的像素距离越小,对应像素点处的像素精度越小,像素点与所述车辆之间的像素距离越大,对应像素点处的像素精度越大。
[0116]
此处需要说明的是,上述采用分段函数进行非线性变换时,尽管分段函数更为简单,但由于分段函数的函数曲线不是平滑的,变换出的第二鸟瞰图可能在对应分段函数的斜率变化的像素点处发生突变,导致图像存在微小断层。
[0117]
考虑到分段函数可能存在的上述问题,本技术实施例中,还考虑采用平滑的非线性变换函数进行非线性变换,以使得变换出的第二鸟瞰图更好。
[0118]
可选地,所述非线性变换函数为三角函数、反比例函数或指数函数中的其中一种。
[0119]
三角函数中的正切函数在一定区间内,其斜率表现出先单调减小后单调递增的趋势,可以用于设计非线性变换函数。
[0120]
例如,同样以200像素
×
200像素的bev空间,感知范围200米
×
200米为例,本技术实施例提供一种具体的正切函数,其函数关系式为:
[0121]
f(x)=100tan[(x-100)
×
π/400]
[0122]
该正切函数的函数曲线如图9所示,采用该正切函数进行非线性变换后,bev空间下第二鸟瞰图的像素坐标与当前环境中实际世界坐标的映射关系表示为:
[0123]
x_world=100
×
tan[(x_bev_pix-100)
×
π/400]
[0124]
y_world=100
×
tan[(y_bev_pix-100)
×
π/400]
[0125]
参照图9,可以看出0到200像素的bev平面坐标映射到-100米到100米的当前场景下,即200米的感知范围。函数曲线与x轴的交点为函数曲线的拐点,表示车辆所在像素点。
“‑”
用于表示方向。若以车辆前侧为y轴正向,车辆右侧为x轴正向,则
“‑”
可以表示车辆后侧或左侧区域。例如,x_world=-100米,表示的是车辆左侧100米的区域。
[0126]
函数曲线的斜率可以反映像素精度,即函数曲线在某点处的斜率可以表示相应像素点的像素精度。从该函数曲线来看,斜率先逐渐变小,后逐渐增大,表明距离车辆越近的区域像素精度越小,单位像素对应的实际距离越小,分辨率越高;距离车辆越远的区域像素精度越大,单位像素对应的实际距离越大,分辨率越低。
[0127]
采用上述正切函数,可将感知范围扩展到200米
×
200米,而且距离车辆近的区域像素精度小,也便于车道线识别等感知任务的实施。
[0128]
当然,还可以对上述正切函数的系数进行调整,然后再进行归一化,以对函数分布的不均匀性进行调整。例如,将上述的正切函数调整为:
[0129]
f(x)=(100/1.63)tan[(x-100)
×
1.3
×
3.14159265/400]
[0130]
该正切函数的函数曲线如图10所示,对比图10和图9,可以看出距离拐点越近的位置,图10中函数曲线的斜率越小,即意味着距离车辆较近的区域,像素精度越小,更加有利于对车辆近处区域的环境进行分析。
[0131]
在本技术实施例中,利用三角函数设计非线性变换函数,不局限于上述的正切函数,利用三角函数间的转化关系,可以采用正弦函数和余弦函数等函数形式,本技术实施例
对三角函数的函数形式不做具体限定。
[0132]
非线性变换函数也可以采用反比例函数的形式进行设计,典型的反比例函数为1/x。以该反比例函数在第一象限函数曲线来看,部分区间的斜率偏大,部分区间的斜率较小,并且函数曲线是连续的。利用该反比例函数,对函数进行适当的调整,可将其调整如下形式:
[0133][0134]
该反比例函数在[0,100)内的函数曲线如图11所示,在[100,200]区间内的函数曲线如图12所示。从函数曲线的斜率可以看出,距离车辆越近的位置像素精度越小,距离车辆越远的位置像素精度越大。采用上述反比例函数后,可将感知范围扩展到200米
×
200米,而且距离车辆近的区域像素精度小,便于车道线识别等感知任务的实施。
[0135]
非线性变换函数也可采用指数函数的形式进行设计,典型的指数函数为e
x
。该指数函数同样符合上述非线性变换的特征,对该指数函数进行调整,可将其调整为如下形式:
[0136][0137]
该指数函数在[0,100)内的函数曲线如图13所示,在[100,200]区间内的函数曲线如图14所示。从函数曲线的斜率可以看出,距离车辆越近的位置像素精度越小,距离车辆越远的位置像素精度越大。采用上述反比例函数后,可将感知范围扩展到200米
×
200米,而且距离车辆近的区域像素精度小,便于车道线识别等感知任务的实施。
[0138]
本技术实施例中对三角函数、反比例函数和指数函数都提供了具体的示例,本领域的技术人员在了解本技术的发明构思后,可对非线性变换函数的形式进行自主设计,本技术实施例对非线性变换函数的具体形式不做限定。
[0139]
步骤303、所述第二鸟瞰图中各像素点的像素位置为二维坐标,按照设定步长,在垂直于所述第二鸟瞰图的方向上,为第二鸟瞰图中各像素点的像素位置赋予竖坐标,得到多个三维坐标。
[0140]
在进行非线性变换后,第二鸟瞰图的像素位置包括横坐标和纵坐标,单位是:米。在此基础上,采用“lift”抬升操作,在垂直于第二鸟瞰图的方向上,即当前场景中垂直于车辆所在地面的方向上,按照设定步长,为第二鸟瞰图中各像素点的像素位置赋予竖坐标,从而得到多个三维坐标。
[0141]
例如,将坐标(15,10)按照步长0.25抬升,得到(15,10,0.25)、(15,10,0.5)、(15,10,0.75)、(15,10,1.0)、(15,10,1.25)、(15,10,1.5)、(15,10,1.75)、(15,10,2.0)等一系列的三维坐标。
[0142]
步骤304、将所述多个三维坐标投影到预设的相机平面,得到相机平面像素位置。
[0143]
投影指的是,将真实环境中的点映射在相机的像素平面上,得到该物体在像素平面上的像素坐标。
[0144]
在本技术实施例中,将步骤303得到的多个三维坐标投影在车辆上安装的2d相机的相机平面上,得到相机平面像素坐标。
[0145]
以(15,10,1.5)为例,投影指的是,将车辆左边15米,前方10米,竖轴高位为1.5米
处的三维点,映射在车辆上预设的相机平面上,比如得到相机平面像素坐标(674,328)。
[0146]
将第二鸟瞰图经过抬升和投影处理后,可以得到车辆所在当前场景的相机视图,该视图可以用于向驾驶员展示,帮助驾驶员观察车辆周围环境,也可以为自动驾驶过程中的车道线识别、障碍物识别等任务提供数据支持。
[0147]
步骤305、对所述相机平面像素位置进行特征采样,得到采样结果。
[0148]
特征采样指的是提取某个像素点周围像素点的数据。以(674,328)为例,特征采样可以是通过神经网络抽取该像素点周围20
×
20像素范围内像素的特征数据。需要说明的是,该特征数据不是这些像素的明暗数据。
[0149]
经过特征采样,可以得到三维点(15,10,1.5)这个实际位置对应的20
×
20范围内的二维特征。该二维特征即可用于后续各项感知任务的判断或处理。
[0150]
步骤306、根据所述采样结果执行后端任务,得到后端处理结果;
[0151]
后端任务指的就是车道线识别、障碍物识别等任务。
[0152]
以车道线识别为例,利用特征采样的结果,对车道线的形状、宽度等数据进行判断。
[0153]
步骤307、按照对所述第一鸟瞰图中不同像素点的像素位置进行非线性变换的方式,对所述后端处理结果进行反变换,得到在所述当前场景下的真实处理结果。
[0154]
在本技术实施例中,反变换指的是,利用第一鸟瞰图向第二鸟瞰图进行非线性变换时采用的非线性变换函数,构建该非线性变换函数的反函数,对后端任务的结果进行非线性变换处理。
[0155]
以上述的正切函数f(x)=(100/1.63)tan[(x-100)
×
1.3
×
3.14159265/400]为例,其反函数为:f(x)=arctan(x/100)
×
400/3.14159265 100,对应的函数曲线如图15所示。
[0156]
在本技术实施例中,进行反变换主要是为了将后端任务判断出的结果转化为真实场景下的真实距离。例如,在车道线识别任务中识别到车辆周围车道线的宽度为a米,由于在步骤302中进行了非线性变换,该数值不能直接作为当前场景下的真实距离,因此,将该数值代入相应的反函数中,输出当前场景下的真实车道线距离为b米。
[0157]
需要说明的是,在实际中,可通过机器学习、神经网络等方法,自动学习这个反变换的过程,减少工作量。
[0158]
图16为采用本发明实施例后的bev范式感知任务的流程框图。采用本发明实施例后,bev范式感知任务包括:1)对bev平面坐标进行非线性变换,得到扩展的bev坐标;2)将扩展的bev平面坐标抬升,得到若干3d位置坐标;3)将3d位置坐标投影在相机平面上,得到若干对应的相机像素坐标;4)对相机像素坐标进行特征采样,得到bev特征;5)根据bev特征执行后端任务,输出后端处理结果;6)对后端处理结果中的坐标进行反变换,得到当前场景下的真实结果。
[0159]
采用本技术实施例的图像处理方法,其优点在于:保证了车辆近处区域的像素精度,也可以对车辆能够感知的最大范围进行扩展。同时,该处理方法与车辆上普遍安装的2d相机在性能上比较匹配,近处场景占图像区域比例较大,远处场景占图像区域比例较小,在很大程度上减少了bev空间转换过程中的损失,提高了存储空间的使用效率。
[0160]
图17是本发明实施例提供的一种图像处理装置的框图,如图17所示,该装置可以
包括:
[0161]
获取模块401,获取模块,用于获取车辆在当前场景下的第一鸟瞰图;在所述第一鸟瞰图中,与所述车辆相距不同像素距离的像素点处的像素精度相同。
[0162]
提取模块402,用于对所述第一鸟瞰图中不同像素点的像素位置进行非线性变换,得到第二鸟瞰图;在所述第二鸟瞰图中,第二区域的平均像素精度小于第三区域的平均像素精度,所述第二区域中任意像素点与车辆之间的像素距离小于所述第三区域中任意像素点与车辆之间的像素距离。
[0163]
融合模块403,用于对所述第二鸟瞰图进行图像处理。
[0164]
可选地,在所述第二区域内,各像素点处的像素精度相同;在所述第三区域内,各像素点处的像素精度相同。
[0165]
可选地,在所述第二区域内,像素点与所述车辆之间的像素距离越小,对应像素点处的像素精度越小,像素点与所述车辆之间的像素距离越大,对应像素点处的像素精度越大;
[0166]
在所述第三区域内,像素点与所述车辆之间的像素距离越小,对应像素点处的像素精度越小,像素点与所述车辆之间的像素距离越大,对应像素点处的像素精度越大。
[0167]
可选地,所述非线性变换模块包括:
[0168]
非线性变换子模块,用于按照预设的非线性变换函数,对所述第一鸟瞰图中不同像素点的像素位置进行非线性变换,得到第二鸟瞰图。
[0169]
其中,所述非线性变换函数的函数曲线的横坐标为第一鸟瞰图中第一像素点与车辆之间的相对像素距离,所述非线性变换函数的函数曲线的纵坐标为当前场景下对应所述第一像素点的实际位置与车辆之间的相对实际距离,所述非线性变换函数的函数曲线的拐点为第一鸟瞰图中车辆所在像素点。
[0170]
可选地,所述非线性变换函数为分段函数。
[0171]
可选地,所述非线性变换函数为三角函数、反比例函数或指数函数中的其中一种。
[0172]
可选地,所述处理模块包括:
[0173]
抬升模块,用于按照设定步长,在垂直于所述第二鸟瞰图的方向上,为第二鸟瞰图中各像素点的像素位置赋予竖坐标,得到多个三维坐标;所述第二鸟瞰图中各像素点的像素位置为二维坐标;
[0174]
投影模块,用于将所述多个三维坐标投影到预设的相机平面,得到相机平面像素位置。
[0175]
可选地,所述处理模块还包括:
[0176]
采样模块,用于对所述相机平面像素位置进行特征采样,得到采样结果。
[0177]
可选地,所述处理模块还包括:
[0178]
后端任务模块,用于根据所述采样结果执行后端任务,得到后端处理结果;
[0179]
反变换模块,用于按照对所述第一鸟瞰图中不同像素点的像素位置进行非线性变换的方式,对所述后端处理结果进行反变换,得到在所述当前场景下的真实处理结果。
[0180]
综上所述,本技术实施例提供的一种图像处理装置,通过非线性变换的方法,将第一鸟瞰图转换为第二鸟瞰图,提高了车辆近处区域的像素精度,有利于图像识别,通过降低车辆远处区域的像素精度,提高了感知范围,兼顾了感知图像的精度和感知范围,可以增强
车辆自动驾驶过程的安全性。
[0181]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0182]
图18是根据一示例性实施例示出的一种电子设备600的框图。例如,电子设备600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0183]
参照图18,电子设备600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(i/o)的接口612,传感器组件614,以及通信组件616。
[0184]
处理组件602通常控制电子设备600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
[0185]
存储器604用于存储各种类型的数据以支持在电子设备600的操作。这些数据的示例包括用于在电子设备600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,多媒体等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0186]
电源组件606为电子设备600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为电子设备600生成、管理和分配电力相关联的组件。
[0187]
多媒体组件608包括在所述电子设备600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器不仅可以感测触摸或滑动动作的分界,而且还可以检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当电子设备600处于操作模式,如拍摄模式或多媒体模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0188]
音频组件610用于输出和/或输入音频信号。例如,音频组件610包括一个麦克风(mic),当电子设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
[0189]
i/o接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0190]
传感器组件614包括一个或多个传感器,用于为电子设备600提供各个方面的状态
评估。例如,传感器组件614可以检测到电子设备600的打开/关闭状态,组件的相对定位,例如所述组件为电子设备600的显示器和小键盘,传感器组件614还可以检测电子设备600或电子设备600一个组件的位置改变,用户与电子设备600接触的存在或不存在,电子设备600方位或加速/减速和电子设备600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0191]
通信组件616用于便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0192]
在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于实现本发明实施例提供的一种图像处理方法。
[0193]
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由电子设备600的处理器620执行以完成上述方法。例如,所述非临时性存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0194]
图19是根据一示例性实施例示出的一种电子设备700的框图。例如,电子设备700可以为服务器。参照图19,电子设备700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理组件722的执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件722被配置为执行指令,以执行本发明实施例提供的一种图像处理方法。
[0195]
电子设备700还可以包括一个电源组件726被配置为执行电子设备700的电源管理,一个有线或无线网络接口750被配置为将电子设备700连接到网络,和一个输入输出(i/o)接口758。电子设备700可以操作基于存储在存储器732的操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm或类似。
[0196]
本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现所述的图像处理方法。
[0197]
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
[0198]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意
在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0199]
以上对本发明所提供的一种图像处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献