掌桥专利:专业的专利平台
掌桥专利
首页

无车底盲区的车载全景图的生成方法、装置及存储介质

文献发布时间:2023-06-19 09:30:39


无车底盲区的车载全景图的生成方法、装置及存储介质

技术领域

本申请涉及视觉技术领域,特别涉及一种无车底盲区的车载全景图的生成方法、装置及存储介质。

背景技术

车载环视系统可以获取能够展示车辆四周360度景象的车载全景图(也称为全景环视图像),进而通过获取的车载全景图为驾驶员提供在多种驾驶场景下的视觉辅助。通常情况下,车载环视系统可以包括安装在车身四周的多个摄像头,该多个摄像头可以在同一时刻获取车身四周不同角度的多张拍摄图像。将该多张拍摄图像转换到参考坐标系中,得到多张鸟瞰图像,将该多张鸟瞰图像进行拼接,得到原始全景图。然而,由于车身的遮挡使得该多个摄像头无法获取车底盲区区域,也即是确定出的原始全景图是有车底盲区的车载全景图。这样,当车底存在影响驾驶安全的物体时,容易增加行车的安全隐患。

目前,主要通过当前帧之前的多帧车载全景图,按照特征匹配的方式,对当前帧的车底盲区进行填充,得到车底盲区填充子图,然后将车底盲区填充子图覆盖在当前帧原始全景图的车底盲区区域上,得到无车底盲区的车载全景图。但是,特征匹配往往存在误差,而且有的情况下也可能匹配不上特征,因此,通过这种填充方式确定得到车底盲区填充子图之后,在车底盲区填充子图覆盖当前帧原始全景图的车底盲区区域的过程中容易出现不成功的问题,而且特征匹配的方式较为复杂,计算量大且效率较低。

发明内容

本申请提供了一种无车底盲区的车载全景图的生成方法、装置及存储介质,可以解决相关技术中容易出现不成功,而且特征匹配的方式较为复杂,计算量大且效率较低的问题。所述技术方案如下:

一方面,提供了一种无车底盲区的车载全景图的生成方法,所述方法包括:

预测当前帧原始全景图的车底盲区区域包括的像素点的像素坐标;

根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,以及车底盲区区域包括的像素点的像素坐标与上一帧针对车辆四周拍摄到的图像包括的像素点的像素坐标之间的对应关系,从上一帧拍摄到的图像中确定当前帧原始全景图的车底盲区区域的有效填充区域;

获取当前帧之前的连续多帧原始全景图的车底盲区区域的有效填充区域,将获取的当前帧之前的连续多帧原始全景图的车底盲区区域的有效填充区域,以及当前帧原始全景图的车底盲区区域的有效填充区域进行叠加,得到当前帧原始全景图的车底盲区填充子图;

将所述车底盲区填充子图覆盖在所述当前帧原始全景图的车底盲区区域上,得到无车底盲区的车载全景图。

在本申请的一种可能的实现方式中,所述预测当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,包括:

获取车底盲区区域包括的像素点的像素坐标与车辆的速度和车轮转角的第一映射关系;

根据所述车辆在上一帧的速度和车轮转角,以及上一帧原始全景图的车底盲区区域包括的像素点的像素坐标,按照所述第一映射关系,预测当前帧原始全景图的车底盲区区域包括的像素点的像素坐标。

在本申请的一种可能的实现方式中,所述预测当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,包括:

获取所述车辆的尺寸信息,以及所述车辆四周安装的摄像头的拍摄范围;

根据所述车辆的尺寸信息和所述车辆四周安装的摄像头的拍摄范围,确定针对所述车辆的原始全景图的车底盲区区域的尺寸信息;

通过针对所述车辆的原始全景图的车底盲区区域的尺寸信息,确定当前帧原始全景图的车底盲区区域包括的像素点的像素坐标。

在本申请的一种可能的实现方式中,所述根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,以及车底盲区区域包括的像素点的像素坐标与上一帧针对车辆四周拍摄到的图像包括的像素点的像素坐标之间的对应关系,从上一帧拍摄到的图像中确定当前帧原始全景图的车底盲区区域的有效填充区域,包括:

根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,从上一帧原始全景图中确定出多个第一像素点;

将所述多个第一像素点的像素坐标,按照单应性矩阵的逆矩阵进行转换,得到所述多个第一像素点在上一帧拍摄到的图像中对应的第二像素点,所述单应性矩阵用于指示拍摄到的图像转换为鸟瞰图像的关系;

将所述多个第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充,得到当前帧原始全景图的车底盲区区域的有效填充区域。

在本申请的一种可能的实现方式中,所述根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,以及车底盲区区域包括的像素点的像素坐标与上一帧针对车辆四周拍摄到的图像包括的像素点的像素坐标之间的对应关系,从上一帧拍摄到的图像中确定当前帧原始全景图的车底盲区区域的有效填充区域,包括:

根据所述车辆在当前帧的行驶方向,从上一帧的多张鸟瞰图像中选择至少一张鸟瞰图像,所述多张鸟瞰图像为上一帧针对所述车辆四周拍摄到的多张图像转换得到的;

根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,从选择的至少一张鸟瞰图像中确定出多个第一像素点;

将所述多个第一像素点的像素坐标,按照单应性矩阵的逆矩阵进行转换,得到所述多个第一像素点在选择的至少一张鸟瞰图像对应的拍摄图像中对应的第二像素点的像素坐标,所述单应性矩阵用于指示拍摄到的图像转换为鸟瞰图像的关系;

将所述多个第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充,得到当前帧原始全景图的车底盲区区域的有效填充区域。

在本申请的一种可能的实现方式中,所述根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,以及车底盲区区域包括的像素点的像素坐标与上一帧针对车辆四周拍摄到的图像包括的像素点的像素坐标之间的对应关系,从上一帧拍摄到的图像中确定当前帧原始全景图的车底盲区区域的有效填充区域,包括:

根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,将当前帧原始全景图的车底盲区区域按照单应性矩阵的逆矩阵进行转换;

获取车底盲区区域包括的像素点的像素坐标与车辆的速度和车轮转角的第二映射关系;

根据所述车辆在上一帧的速度和车轮转角,按照所述第二映射关系,确定转换后的当前帧原始全景图的车底盲区区域包括的像素点在上一帧拍摄到的图像中对应的多个第二像素点;

将所述多个第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充,得到当前帧原始全景图的车底盲区区域的有效填充区域。

另一方面,提供了一种无车底盲区的车载全景图的生成装置,所述装置包括:

预测模块,用于预测当前帧原始全景图的车底盲区区域包括的像素点的像素坐标;

确定模块,用于根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,以及车底盲区区域包括的像素点的像素坐标与上一帧针对车辆四周拍摄到的图像包括的像素点的像素坐标之间的对应关系,从上一帧拍摄到的图像中确定当前帧原始全景图的车底盲区区域的有效填充区域;

叠加模块,用于获取当前帧之前的连续多帧原始全景图的车底盲区区域的有效填充区域,将获取的当前帧之前的连续多帧原始全景图的车底盲区区域的有效填充区域,以及当前帧原始全景图的车底盲区区域的有效填充区域进行叠加,得到当前帧原始全景图的车底盲区填充子图;

覆盖模块,用于将所述车底盲区填充子图覆盖在所述当前帧原始全景图的车底盲区区域上,得到无车底盲区的车载全景图。

在本申请的一种可能的实现方式中,所述预测模块包括:

第一获取子模块,用于获取车底盲区区域包括的像素点的像素坐标与车辆的速度和车轮转角的第一映射关系;

预测子模块,用于根据所述车辆在上一帧的速度和车轮转角,以及上一帧原始全景图的车底盲区区域包括的像素点的像素坐标,按照所述第一映射关系,预测当前帧原始全景图的车底盲区区域包括的像素点的像素坐标。

在本申请的一种可能的实现方式中,所述预测模块包括:

第二获取子模块,用于获取所述车辆的尺寸信息,以及所述车辆四周安装的摄像头的拍摄范围;

第一确定子模块,用于根据所述车辆的尺寸信息和所述车辆四周安装的摄像头的拍摄范围,确定针对所述车辆的原始全景图的车底盲区区域的尺寸信息;

第二确定子模块,用于通过针对所述车辆的原始全景图的车底盲区区域的尺寸信息,确定当前帧原始全景图的车底盲区区域包括的像素点的像素坐标。

在本申请的一种可能的实现方式中,所述确定模块包括:

第三确定子模块,用于根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,从上一帧原始全景图中确定出多个第一像素点;

第一转换子模块,用于将所述多个第一像素点的像素坐标,按照单应性矩阵的逆矩阵进行转换,得到所述多个第一像素点在上一帧拍摄到的图像中对应的第二像素点,所述单应性矩阵用于指示拍摄到的图像转换为鸟瞰图像的关系;

第一填充子模块,用于将所述多个第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充,得到当前帧原始全景图的车底盲区区域的有效填充区域。

在本申请的一种可能的实现方式中,所述确定模块包括:

选择子模块,用于根据所述车辆在当前帧的行驶方向,从上一帧的多张鸟瞰图像中选择至少一张鸟瞰图像,所述多张鸟瞰图像为上一帧针对所述车辆四周拍摄到的多张图像转换得到的;

第四确定子模块,用于根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,从选择的至少一张鸟瞰图像中确定出多个第一像素点;

第二转换子模块,用于将所述多个第一像素点的像素坐标,按照单应性矩阵的逆矩阵进行转换,得到所述多个第一像素点在选择的至少一张鸟瞰图像对应的拍摄图像中对应的第二像素点的像素坐标,所述单应性矩阵用于指示拍摄到的图像转换为鸟瞰图像的关系;

第二填充子模块,用于将所述多个第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充,得到当前帧原始全景图的车底盲区区域的有效填充区域。

在本申请的一种可能的实现方式中,所述确定模块包括:

第三转换子模块,用于根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,将当前帧原始全景图的车底盲区区域按照单应性矩阵的逆矩阵进行转换;

获取子模块,用于获取车底盲区区域包括的像素点的像素坐标与车辆的速度和车轮转角的第二映射关系;

第五确定子模块,用于根据所述车辆在上一帧的速度和车轮转角,按照所述第二映射关系,确定转换后的当前帧原始全景图的车底盲区区域包括的像素点在上一帧拍摄到的图像中对应的多个第二像素点;

第三填充子模块,用于将所述多个第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充,得到当前帧原始全景图的车底盲区区域的有效填充区域。

另一方面,提供一种无车底盲区的车载全景图的生成装置,所述装置包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行上述所述的任一项无车底盲区的车载全景图的生成方法的步骤。

另一方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述所述的任一项无车底盲区的车载全景图的生成方法的步骤。

另一方面,提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一项所述无车底盲区的车载全景图的生成方法的步骤。

本申请提供的技术方案至少可以带来以下有益效果:

在本申请中,由于时域上连续的两帧图像对应的实物区域可能存在重叠,也即是,当前帧原始全景图的车底盲区区域对应的实物区域与上一帧原始全景图对应的实物区域可能存在重叠,所以根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,以及车底盲区区域包括的像素点的像素坐标与上一帧原始全景图包括的像素点的像素坐标之间的对应关系,能够从上一帧原始全景图中确定出当前帧原始全景图的车底盲区区域的有效填充区域。之后,将时域上连续的多帧原始全景图的车底盲区区域的有效填充区域进行叠加,即可得到完整的当前帧原始全景图的车底盲区区域。由于本申请实施例无需进行特征匹配,而是按照像素坐标来确定,这样,可以减小计算开销,提高当前帧原始全景图的车底盲区区域的生成效率,而且通过像素坐标的方式可以稳健地进行车底盲区的填充,不易出现拼接不成功的问题。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种实施环境的示意图。

图2是本申请实施例提供的一种摄像头的安装位置示意图。

图3是本申请实施例提供的一种无车底盲区的车载全景图的生成方法的流程图。

图4是本申请实施例提供的一种车辆与参考坐标系的示意图。

图5是本申请实施例提供的一种多张鸟瞰图像的示意图。

图6是本申请实施例提供的第一种上一帧的车底盲区区域和当前帧的车底盲区区域的示意图。

图7是本申请实施例提供的第二种上一帧的车底盲区区域和当前帧的车底盲区区域的示意图。

图8是本申请实施例提供的第三种上一帧的车底盲区区域和当前帧的车底盲区区域的示意图。

图9是本申请实施例提供的一种当前帧原始全景图的车底盲区填充子图的示意图。

图10是本申请实施例提供的一种车载全景图。

图11是本申请实施例提供的一种不同帧、不同帧的车底盲区填充子图和不同帧的车载全景图的关系示意图。

图12是本申请实施例提供的一种无车底盲区的车载全景图的生成装置框图。

图13是本申请实施例提供的另一种车底盲区区域的生成装置的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与本申请的一些方面相一致的装置和方法的例子。

在对本申请实施例进行详细的解释说明之前,先对本申请实施例的实施环境进行介绍:

图1是本申请实施例提供的一种实施环境的示意图,参见图1,该实施环境包括安装在车辆上的车载环视系统100。车载环视系统100包括但不限于感知元件110和车载环视设备120,车载环视设备120可以包括通信元件121、处理器 122和显示器123。

感知元件110可以包括但不限于摄像头、雷达、里程计、轮脉冲等。感知元件110可以针对车辆四周拍摄到的多张图像、以及获取车辆的速度和车辆的车轮转角等信息。示例性地,参见图2,感知元件110包括的摄像头可以是安装在车辆四周且背向车辆的摄像头a、摄像头b、摄像头c和摄像头d。感知元件 110可以通过这4个摄像头在同一帧拍摄车辆四周的4张图像。

通信元件121用于将感知元件110针对车辆四周拍摄到的多张图像、车辆的速度和车辆的车轮转角等信息传输至处理器122。在本申请的一种可能的实现方式中,通信元件121还可以将用户发送的指令信息传输至处理器122。其中,当显示器123为可触摸的电阻式显示器或电容式显示器时,用户可以通过点击或滑动显示界面,选择需要显示的图像,从而触发指令信息。

处理器122在接收到针对车辆四周拍摄到的多张图像、车辆的速度和车辆的车轮转角等信息后,可以将该多张拍摄图像映射到参考坐标系中得到多张鸟瞰图像。另外,处理器122还可以用于车底盲区填充子图的生成,以及将生成的车底盲区填充子图与原始全景图进行拼接等。其中,参考坐标系为固定坐标系,参考坐标系可以根据使用需求预先进行设置,本申请实施例对此不做限定。示例性地,处理器122可以是一个通用中央处理器(Central Processing Unit, CPU)、微处理器、特定应用集成电路(application-specificintegrated circuit, ASIC),或者可以是一个或多个用于控制本申请方案程序执行的集成电路。

显示器123用于显示有车底盲区的车载全景图和/或无车底盲区的车载全景图等。示例性地,显示器123可以是电阻式显示器、电容式显示器、液晶显示器(liquid crystaldisplay,LCD)、发光二极管(light emitting diode,LED)显示器、阴极射线管(cathoderay tube,CRT)显示器或投影仪(projector)等。

接下来对本申请实施例提供的无车底盲区的车载全景图的生成方法进行详细地解释说明。图3是本申请实施例提供的一种无车底盲区的车载全景图的生成方法的流程图,应用于车载环视系统中的车载环视设备,其中,该车载环视设备可以是图1所示的实施环境中的车载环视系统100包括的车载环视设备 120。参见图3,该方法包括:

步骤301:预测当前帧原始全景图的车底盲区区域包括的像素点的像素坐标。

需要说明的是,当前帧原始全景图是将当前帧针对车辆四周拍摄到的多张图像转换到为鸟瞰图像之后,将转换得到的多张鸟瞰图像进行拼接后得到的,也即是,原始全景图中是有车底盲区的全景图。其中,该多张拍摄图像可以通过图1中的感知元件111包括的摄像头拍摄得到,比如,可以通过图4所示的安装在车辆四周的摄像头a、摄像头b、摄像头c和摄像头d拍摄得到。该多张拍摄图像可以为二维图像,也可以为三维图像,本申请实施例对此不做限定。示例性地,参见图5,图5所示的鸟瞰图像A、鸟瞰图像B、鸟瞰图像C和鸟瞰图像D是通过4张拍摄图像映射到参考坐标系中所得到的鸟瞰图像的示意图,且这4张拍摄图像可以为图4所示的安装在车辆四周的摄像头a、摄像头b、摄像头c和摄像头d拍摄得到。

另外,车底盲区区域包括的像素点的像素坐标是指车底盲区区域包括的像素点在参考坐标系中的坐标,参考坐标系是固定坐标系,也即是参考坐标系是不随时间而发生改变的坐标系,参考坐标系可以根据使用需求预先进行设置,本申请实施例对此不做限定。例如,参考坐标系可以为世界坐标系等。

在一些实施例中,步骤301可以通过如下步骤(1)-步骤(2)来实现。

(1)获取车底盲区区域包括的像素点的像素坐标与车辆的速度和车轮转角的第一映射关系。

车辆在行驶的过程中,不仅存在位置的变化,还存在方向的变化,且车底盲区区域包括的像素点的像素坐标会随着车辆的行驶而变化,因此,车底盲区区域包括的像素点的像素坐标与车辆的速度和车轮转角存在一定的映射关系。

通常情况下,相邻两帧之间的间隔时间比较短,因此,在一些实施例中,车底盲区区域包括的像素点的像素坐标与车辆的速度和车轮转角之间的第一映射关系可以通过如下两个公式来表示:

公式一:x

其中,x

公式二:y

其中,y

需要说明的是,车轮转角可以是车辆的前车轮与参考坐标系中的一个坐标轴之间的夹角。或者,由于通常车辆的方向盘的转角与车辆的前车轮的转角之间存在一定的比例,所以车轮转角还可以是车辆的方向盘的转角除以该比例得到的角度。例如,车辆的方向盘的转角与车辆的前车轮的转角之间的比例为10:1,此时,车轮转角可以是车辆的方向盘的转角的十分之一。当然,车轮转角还可以通过其他方式确定,本申请实施例对此不做限定。

接下来,通过举例的方式,对车轮转角是车辆的前车轮与参考坐标系中的一个坐标轴之间的夹角的情况进行说明。

例如,参见图4,在图4所示的参考坐标系中,车轮转角可以是车辆的前车轮与y轴之间的夹角。当该车辆的前车轮向x轴的正方向转动时,车轮转角即为正值,当该车辆的前车轮向x轴的负方向转动时,车轮转角即为负值。另外,在一种可能的实现方式中,该车辆的速度,以及该车辆的车轮转角可以通过图1 所示的实施环境中的感知元件111包括的轮脉冲获取。当然,也可以通过其他方式获取,本申请实施例对此不做限定。

(2)根据车辆在上一帧的速度和车轮转角,以及上一帧原始全景图的车底盲区区域包括的像素点的像素坐标,按照第一映射关系,预测当前帧原始全景图的车底盲区区域包括的像素点的像素坐标。

在一些实施例中,可以直接根据车辆在上一帧的速度和车轮转角,以及上一帧原始全景图的车底盲区区域包括的每个像素点的像素坐标,按照上述两个公式,预测当前帧原始全景图的车底盲区区域包括的每个像素点的像素坐标。但是该车辆在上一帧的速度、该车辆在上一帧的车轮转角可能存在小数,也即不是整数,或者该车辆在上一帧的车轮转角为整数,但是sin(θ)和cos(θ)不是整数。所以,按照上述两个公式确定出的坐标可能存在小数,此时可以通过取整的方式,来确定当前帧原始全景图的车底盲区区域包括的每个像素点的像素坐标,从而便于后续车底盲区填充子图的生成。

也即是,根据车辆在上一帧的速度和车辆转角,以及上一帧原始全景图的车底盲区区域包括的每个像素点的像素坐标,按照上述两个公式确定当前帧原始全景图的车底盲区区域包括的每个像素点的初始坐标。将当前帧原始全景图的车底盲区区域包括的每个像素点的初始坐标进行取整,得到当前帧原始全景图的车底盲区区域包括的每个像素点的像素坐标。

作为一种示例,可以将当前帧原始全景图的车底盲区区域包括的每个像素点的初始坐标进行向上取整,或者进行向下取整,或者根据四舍五入的原理进行取整等,本申请实施例对此不做限定。例如,(2.1,5.5)为当前帧原始全景图的车底盲区区域包括的一个像素点的初始坐标,对(2.1,5.5)这个坐标进行向上取整即得到(2,5),对(2.1,5.5)这个坐标进行向下取整即得到(3,6),对(2.1,5.5) 这个坐标根据四舍五入的原理进行取整即得到(2,6)。

上述步骤(1)-(2)是实现步骤301的一种可能的实现方式,也即是,本申请实施例不仅可以通过上述步骤(1)-(2)来预测当前帧原始全景图的车底盲区区域包括的每个像素点的像素坐标,还可以通过其他的方式来预测。比如,在一种可能的实现方式中,可以获取车辆的尺寸信息,以及车辆四周安装的摄像头的拍摄范围。根据车辆的尺寸信息和车辆四周安装的摄像头的拍摄范围,确定针对车辆的原始全景图的车底盲区区域的尺寸信息。通过针对车辆的原始全景图的车底盲区区域的尺寸信息,确定当前帧原始全景图的车底盲区区域包括的像素点的像素坐标。

由于摄像头是固定在车辆上的,因此,摄像头的拍摄范围也是固定的,这样,可以确定摄像头的拍摄范围以及摄像头拍摄到的图像之间的比例。由于根据车辆的尺寸信息,可以确定车辆在地面上的覆盖区域。根据车辆在地面上的覆盖区域,以及上述的比例,可以确定出原始全景图中车底盲区区域的尺寸信息。由于车底盲区区域的尺寸信息可以确定出来,而且原始全景图的分辨率可以事先获取到,因此,可以确定出车底盲区区域中包括的像素点的数量,进而可以确定出车底盲区区域中的每个像素点的像素坐标。

步骤302:根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,以及车底盲区区域包括的像素点的像素坐标与上一帧针对车辆四周拍摄到的图像包括的像素点的像素坐标之间的对应关系,从上一帧拍摄到的图像中确定当前帧原始全景图的车底盲区区域的有效填充区域。

在本申请实施例中,可以根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,以及车底盲区区域包括的像素点的像素坐标与上一帧针对车辆四周拍摄到的图像包括的像素点的像素坐标之间的对应关系,按照如下三种方式,从上一帧拍摄到的图像中确定当前帧原始全景图的车底盲区区域的有效填充区域,接下来对这三种方式分别进行解释说明。

第一种方式,根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,从上一帧原始全景图中确定出多个第一像素点。将多个第一像素点的像素坐标,按照单应性矩阵的逆矩阵进行转换,得到多个第一像素点在上一帧拍摄到的图像中对应的第二像素点。将多个第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充,得到当前帧原始全景图的车底盲区区域的有效填充区域。

由于原始全景图是将车辆四周拍摄到的图像转换为鸟瞰图像之后,对鸟瞰图像进行拼接得到的,鸟瞰图像是处于参考坐标系中的,车底盲区区域包括的像素点的像素坐标也是处于参考坐标系中的坐标,也即是,鸟瞰图像和车底盲区区域处于同一坐标系。而且,单应性矩阵用于指示拍摄到的图像转换为鸟瞰图像的关系,那么,单应性矩阵的逆矩阵就用于指示鸟瞰图像转换为拍摄到的图像的关系。因此,当从上一帧原始全景图中确定出多个第一像素点之后,可以按照单应性矩阵确定这多个第一像素点在上一帧拍摄到的图像中对应的第二像素点。

另外,由于原始全景图是多张鸟瞰图像拼接得到的,而且应当理解的是,多张拍摄图像映射到参考坐标系中所得到的鸟瞰图像可能会存在扭曲或失真等现象,使得所得到的鸟瞰图像的成像质量低于拍摄图像的成像质量。因此,为了使得当前帧原始全景图的车底盲区区域的成像质量更高,可以从拍摄图像中获取第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充。

需要说明的一点是,由于时间上的连续性,上一帧原始全景图与当前帧原始全景图的车底盲区区域存在重叠部分,因此,可以根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,从上一帧原始全景图中确定出多个第一像素点。其中,多个第一像素点的像素坐标可以与当前帧原始全景图的车底盲区区域中对应像素点的像素坐标相同或者差值在阈值范围内。其中,阈值范围可以根据使用需求预先进行设置,本申请实施例对此不做限定。换句话说,上一帧全景图中,与当前帧原始全景图的车底盲区区域中的像素点的像素坐标相同,或者差值在该阈值范围内的像素点可以作为第一像素点。

需要说明的另一点是,本申请实施例不仅可以将多个第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充,还可以通过其他的方式来填充。比如,可以对多个第二像素点的像素值进行调整,将调整后的多个第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充。其中,调整的方式可以为:对于某个第二像素点,确定这个第二像素点的邻域内的像素点的平均像素值,如果这个第二像素点的像素值与其邻域内的像素点的平均像素值的差值大于参考像素值,那么,可以确定这个第二像素点的像素值可能为异常值,此时,可以通过其邻域内的像素点的平均像素值来代替这个第二像素点的像素值。

第二种方式,根据车辆在当前帧的行驶方向,从上一帧的多张鸟瞰图像中选择至少一张鸟瞰图像,该多张鸟瞰图像为上一帧针对车辆四周拍摄到的多张图像转换得到的。根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,从选择的至少一张鸟瞰图像中确定出多个第一像素点。将多个第一像素点的像素坐标,按照单应性矩阵的逆矩阵进行转换,得到多个第一像素点在选择的至少一张鸟瞰图像对应的拍摄图像中对应的第二像素点。将多个第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充,得到当前帧原始全景图的车底盲区区域的有效填充区域。

需要说明的是,车辆在当前帧的行驶方向可以根据车辆在当前帧的车轮转角和转动方向来确定。由上述步骤301可知,车辆的车轮转角可以是车辆的前车轮在当前帧与参考坐标系中的一个坐标轴之间的夹角,这样,车辆的行驶方向,即可以根据车辆的前车轮在当前帧与参考坐标系中的一个坐标轴之间的夹角和转动方向来确定。其中,转动方向是指前车轮绕轮毂的中轴的转动方向。当前车轮绕轮毂的中轴向前转动时,转动方向即为向前;当前车轮绕轮毂的中轴向后转动时,转动方向即为向后。当车辆的前车轮在当前帧与参考坐标系中的一个坐标轴之间的夹角为零,且转动方向为向前时,车辆在当前帧的行驶方向即为正前方;当车辆的前车轮在当前帧与参考坐标系中的一个坐标轴之间的夹角为零,且转动方向为向后时,车辆在当前帧的行驶方向即为正后方;类似地,当车辆的前车轮在当前帧与参考坐标系中的一个坐标轴之间的夹角不为零时,根据车辆的前车轮在当前帧与参考坐标系中的一个坐标轴之间的夹角和转动方向,也可确定出车辆在当前帧的行驶方向。

接下来,通过举例的方式对根据车辆的前车轮在当前帧与参考坐标系中的一个坐标轴之间的夹角和转动方向,确定车辆在当前帧的行驶方向进行说明。

例如,以图4所示的车辆为例,当车辆的前车轮在当前帧与参考坐标系中的y轴之间的夹角为零,且转动方向为向前时,车辆在当前帧的行驶方向即为正前方。当车辆的前车轮在当前帧与参考坐标系中的y轴之间的夹角为零,且转动方向为向后时,车辆在当前帧的行驶方向即为正后方;当车辆的前车轮在当前帧与参考坐标系中的y轴之间的夹角为30度,且转动方向为向前时,车辆在当前帧的行驶方向可以看做是右前方30度方向。当车辆的前车轮在当前帧与参考坐标系中的y轴之间的夹角为-30度,且转动方向为向前时,车辆在当前帧的行驶方向可以看做是左前方30度方向。当车辆的前车轮在当前帧与参考坐标系中的y轴之间的夹角为30度,且转动方向为向后时,车辆在当前帧的行驶方向可以看做是右后方30度方向。当车辆的前车轮在当前帧与参考坐标系中的y 轴之间的夹角为-30度,且转动方向为向后时,车辆在当前帧的行驶方向可以看做是左后方30度方向。

在一些实施例中,针对车辆四周拍摄到的多张图像映射到参考坐标系中的操作可以是:通过将多张拍摄图像中的每张拍摄图像包括的像素点的坐标,分别乘以单应性矩阵,即可将该多张拍摄图像映射到参考坐标系中。或者,通过将多张拍摄图像中的每张拍摄图像包括的像素点的坐标组成的矩阵,乘以单应性矩阵,即可将该多张拍摄图像映射到参考坐标系中。其中,单应性矩阵为表述拍摄图像与鸟瞰图像之间的映射关系的矩阵。根据单应性矩阵,可以实现将该多张拍摄图像映射到参考坐标系中,得到该多张鸟瞰图像,相反地,根据单应性矩阵的逆矩阵,可以实现将该多张鸟瞰图像映射到参考坐标系中,得到该多张拍摄图像。

由于通常情况下,上一帧和当前帧之间的时长较短,例如,上一帧和当前帧之间的时长可以为0.04秒等。所以车辆在上一帧和当前帧的车轮转角可以看做是相同的。这样的条件下,可以通过如下两种情况对上述步骤302进行说明。

第一种情况,当车辆在上一帧的车轮转角为零时,即车辆在上一帧的行驶方向为正前方或者正后方,那么车辆在当前帧的行驶方向也可以看做是正前方或者正后方。此时,如果车辆在当前帧的行驶方向为正前方,则表明上一帧的多张鸟瞰图像中,包括车辆在上一帧的正前方的景象的至少一张鸟瞰图像所表征的实物区域,与当前帧的车底盲区区域所表征的实物区域之间存在重叠,所以可以从上一帧的多张鸟瞰图像中,选择包括车辆在上一帧的正前方的景象的至少一张鸟瞰图像。如果车辆在当前帧的行驶方向为正后方,则表明上一帧的多张鸟瞰图像中,包括车辆在上一帧的正后方的景象的至少一张鸟瞰图像所表征的实物区域,与当前帧的车底盲区区域所表征的实物区域之间存在重叠,所以可以从上一帧的多张鸟瞰图像中,选择包括车辆在上一帧的正后方的景象的至少一张鸟瞰图像。

以图5所示的车辆为例,如果车辆在当前帧的行驶方向为正前方,则表明安装在车头方向的摄像头a在上一帧拍摄的拍摄图像映射到参考坐标系中得到的鸟瞰图像所表征的实物区域,与当前帧的车底盲区区域所表征的实物区域之间存在重叠。此时,可以从上一帧的多张鸟瞰图像中,选择安装在车头方向的摄像头a拍摄的拍摄图像映射到参考坐标系中得到的鸟瞰图像。同理,如果车辆在当前帧的行驶方向为正后方时,可以从上一帧的多张鸟瞰图像中,选择安装在车尾方向的摄像头c拍摄的拍摄图像映射到参考坐标系中得到的鸟瞰图像。

第二种情况,当车辆在上一帧的车轮转角不为零时,车辆的行驶方向会随着时间而发生改变,也即车辆在上一帧的行驶方向与当前帧的行驶方向不相同。此时,如果车辆在当前帧的行驶方向为右前方,则确定车辆在当前帧的行驶方向与上一帧的行驶方向之间的夹角是否大于参考角度。如果大于参考角度,则表明在上一帧的多张鸟瞰图像中,包括车辆在上一帧的前方和右方的景象的至少一张鸟瞰图像所表征的实物区域,与当前帧的车底盲区区域所表征的实物区域之间存在重叠,所以可以从上一帧的多张鸟瞰图像中,选择包括车辆在上一帧的前方和右方的景象的至少一张鸟瞰图像。如果小于参考角度,则表明在上一帧的多张鸟瞰图像中,包括车辆在上一帧的前方的景象的至少一张鸟瞰图像所表征的实物区域,与当前帧的车底盲区区域所表征的实物区域之间存在重叠,所以可以从上一帧的多张鸟瞰图像中,选择包括车辆在上一帧的前方的景象的至少一张鸟瞰图像。同理,如果车辆在当前帧的行驶方向为左前方、右后方或者左后方,可以根据相似地方式从上一帧的多张鸟瞰图像中选择至少一张鸟瞰图像。此处不再赘述。其中,参考角度可以根据使用需求预先进行设置,本申请实施例对此不做限定。

例如,如果车辆在当前帧的行驶方向为右前方,且车辆在当前帧的行驶方向与上一帧的行驶方向之间的夹角大于参考角度。则从上一帧的多张鸟瞰图像中,选择安装在车头方向的摄像头a,以及车右侧方向的摄像头b拍摄的两张拍摄图像映射到参考坐标系中得到的两张鸟瞰图像。如果车辆在当前帧的行驶方向为右前方,且车辆在当前帧的行驶方向与上一帧的行驶方向之间的夹角小于参考角度,则从上一帧的多张鸟瞰图像中,选择安装在车头方向的摄像头a拍摄的一张拍摄图像映射到参考坐标系中得到的一张鸟瞰图像。如果车辆在当前帧的行驶方向为左前方,且车辆在当前帧的行驶方向与上一帧的行驶方向之间的夹角大于参考角度,则从上一帧的多张鸟瞰图像中,选择安装在车头方向的摄像头a,以及车左侧方向的摄像头d拍摄的两张拍摄图像映射到参考坐标系中得到的两张鸟瞰图像。如果车辆在当前帧的行驶方向为左前方,且车辆在当前帧的行驶方向与上一帧的行驶方向之间的夹角小于参考角度,则从上一帧的多张鸟瞰图像中,选择安装在车头方向的摄像头a拍摄的一张拍摄图像映射到参考坐标系中得到的一张鸟瞰图像。同理,如果车辆在当前帧的行驶方向为右后方或者左后方,可以根据相似地方式从上一帧的多张鸟瞰图像中选择至少一张鸟瞰图像。此处不再赘述。

上述仅示例性地以两种可能的情况说明了如何根据根据车辆在当前帧的行驶方向,从上一帧的多张鸟瞰图像中选择至少一张鸟瞰图像。实际应用中还可以通过其他方式根据车辆在当前帧的行驶方向,从上一帧的多张鸟瞰图像中选择至少一张鸟瞰图像,本申请实施例对此不做限定。

在上述第二种方式中,当选择出至少一张鸟瞰图像之后,对于选择出的至少一张鸟瞰图像中的第一鸟瞰图像,根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,从第一鸟瞰图像中确定出多个第一像素点,将该多个第一像素点的像素坐标,按照单应性矩阵的逆矩阵进行转换,得到该多个第一像素点在第一拍摄图像中对应的第二像素点的像素坐标。将该多个第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充。其中,第一拍摄图像为多张拍摄图像中与第一鸟瞰图像存在映射关系的图像,第一鸟瞰图像为该至少一张鸟瞰图像中的任意一张鸟瞰图像。当选择出的每张鸟瞰图像都按照上述方法处理之后,即可得到当前帧原始全景图的车底盲区区域的有效填充区域。

接下来通过举例的方式,对第二种方式进行说明。

例如,车辆在当前帧的行驶方向为正前方,根据车辆的行驶方向选择出的至少一张鸟瞰图像为图6所示的鸟瞰图像A。参见图6,图6中的矩形区域abcd 为上一帧原始全景图的车底盲区区域,矩形区域efgh为当前帧原始全景图的车底盲区区域。其中,从图6中可以看出矩形区域efba所表征的实物区域,为当前帧原始全景图的车底盲区区域所表征的实物区域与鸟瞰图像A所表征的实物区域之间的重叠区域。也即是鸟瞰图像A中矩形区域efba包括的多个像素点为多个第一像素点。这样,可以确定多个第一像素点在鸟瞰图像A对应的拍摄图像中对应的第二像素点,然后,将多个第二像素点的像素值作为矩形区域efba 中对应像素点的像素值填充至当前帧原始全景图的车底盲区区域中,进而得到当前帧原始全景图的车底盲区区域的有效填充区域。

又例如,车辆在当前帧的行驶方向为右前方,根据车辆的行驶方向选择出的至少一张鸟瞰图像为图7所示的鸟瞰图像A和鸟瞰图像B。参见图7,图7 中的矩形区域abcd为上一帧原始全景图的车底盲区区域,矩形区域efgh为当前帧原始全景图的车底盲区区域。其中,从图7中可以看出三角形区域kef所表征的实物区域,为当前帧原始全景图的车底盲区区域与鸟瞰图像A所表征的实物区域之间的重叠区域;三角形区域bfg所表征的实物区域,为当前帧原始全景图的车底盲区区域与鸟瞰图像B所表征的实物区域之间的重叠区域。也即是鸟瞰图像A中三角形区域kef包括的多个像素点为鸟瞰图像A包括的多个第一像素点,鸟瞰图像B中三角形区域bfg包括的多个像素点为鸟瞰图像B包括的多个第一像素点。这样,可以确定三角形区域kef包括的多个像素点在鸟瞰图像A 对应的拍摄图像中对应的第二像素点,以及确定三角形区域bfg包括的多个像素点在鸟瞰图像B对应的拍摄图像中对应的第二像素点。然后,将从鸟瞰图像A 对应的拍摄图像中确定出的第二像素点的像素值作为三角形区域kef中对应像素点的像素值填充至当前帧原始全景图的车底盲区区域中的三角形区域kef,以及将从鸟瞰图像B对应的拍摄图像中确定出的第二像素点的像素值作为三角形区域bfg中对应像素点的像素值填充至当前帧原始全景图的车底盲区区域中三角形区域bfg,进而得到当前帧原始全景图的车底盲区区域的有效填充区域。

值得注意的是,在一种可能的情况中,当选择出的至少一张鸟瞰图像的数量大于或等于2时,相邻两张鸟瞰图像之间可能存在交叠,也即是,在相邻两张鸟瞰图像的边缘部分,存在两个像素坐标相同但来自不同鸟瞰图像的像素点。这样的情况下,这两个像素坐标相同但来自不同鸟瞰图像的像素点可能对应着当前帧原始全景图的车底盲区区域中的同一个像素点。此时,可以将这两个像素坐标相同但来自不同鸟瞰图像的像素点的平均像素值,确定为这两个像素点在当前帧原始全景图的车底盲区区域中对应的像素点的像素值,这样可以消除可能存在的拼缝。当然,也可以通过其他方式确定,本申请实施例对此不做限定。

由于选择出的至少一张鸟瞰图像是从上一帧的多张鸟瞰图像中选择的,而上一帧的多张鸟瞰图像为拍摄到的车辆四周的多张拍摄图像映射到参考坐标系中所得到的鸟瞰图像。所以,应当理解的是,该多张拍摄图像映射到参考坐标系中所得到的鸟瞰图像可能会存在扭曲或失真等现象,使得所得到的鸟瞰图像的成像质量低于该多张图像的成像质量。因此,为了使得当前帧的车底盲区区域的成像质量更高,可以从至少一张鸟瞰图像对应的拍摄图像中获取第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充。

第三种方式,根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,将当前帧原始全景图的车底盲区区域按照单应性矩阵的逆矩阵进行转换。获取车底盲区区域包括的像素点的像素坐标与车辆的速度和车轮转角的第二映射关系。根据车辆在上一帧的速度和车轮转角,按照第二映射关系,确定转换后的当前帧原始全景图的车底盲区区域包括的像素点在上一帧拍摄到的图像中对应的多个第二像素点。将多个第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充,得到当前帧原始全景图的车底盲区区域的有效填充区域。

在一些实施例中,第二映射关系可以通过如下两个公式来表示:

公式三:x

其中,x

公式四:y

其中,y

由于当前帧原始全景图的车底盲区区域所表征的实物区域与上一帧拍摄到的图像所表征的实物区域可能存在重叠,因此,根据车辆在上一帧的速度和车轮转角,按照上述第二映射关系,可以从上一帧拍摄到的图像中,确定出与当前帧原始全景图的车底盲区区域所表征的实物区域存在重叠的像素点,即多个第二像素点,然后,可以将多个第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充,得到当前帧原始全景图的车底盲区区域的有效填充区域。

其中,第一种方式至第三种方式中相关或者重复的内容可以相互参考,本申请对这些不再进行赘述。

步骤303:获取当前帧之前的连续多帧原始全景图的车底盲区区域的有效填充区域,将获取的当前帧之前的连续多帧原始全景图的车底盲区区域的有效填充区域,以及当前帧原始全景图的车底盲区区域的有效填充区域进行叠加,得到当前帧原始全景图的车底盲区填充子图。

由于每帧原始全景图的车底盲区区域的有效填充区域可以从上一帧拍摄到的图像中确定得到,但是,每帧原始全景图的车底盲区区域中除有效填充区域之外的部分可能与之前连续的多帧车底盲区区域的有效填充区域重叠,因此,除了确定当前帧原始全景图的车底盲区区域的有效填充区域之外,还可以将当前帧之前的连续多帧原始全景图的车底盲区区域的有效填充区域,以及当前帧原始全景图的车底盲区区域的有效填充区域进行叠加,得到当前帧原始全景图的车底盲区填充子图。

其中,可以根据像素点的像素坐标的重叠关系,进行有效填充区域的叠加,使得当前帧原始全景图的车底盲区填充子图中的有效内容增加。

步骤304:将车底盲区填充子图覆盖在当前帧原始全景图的车底盲区区域上,得到无车底盲区的车载全景图。

在一种可能的情况中,如果在当前帧原始全景图的车底盲区填充子图中,除过上一帧拍摄到的图像中确定得到的有效内容,以及从当前帧之前的连续多帧原始全景图的车底盲区区域的有效填充区域叠加得到的有效内容之外,不存在其他像素点,那么可以确定当前帧原始全景图的车底盲区填充子图中无盲区。如果在当前帧原始全景图的车底盲区填充子图中,除过上一帧拍摄到的图像中确定得到的有效内容,以及从当前帧之前的连续多帧原始全景图的车底盲区区域的有效填充区域叠加得到的有效内容之外,还存在其他像素点,则对这些其他像素点的像素值不做改变,也即是保留这些其他像素点的原来的像素值。此时,可以确定当前帧原始全景图的车底盲区填充子图中有盲区。其中,这些其他像素点的原来的像素值可以是参考像素值,参考像素值可以事先设置,比如,可以为0-255之间的任一像素值。

基于上述描述,当前帧原始全景图的车底盲区填充子图可能是能够完整呈现当前帧的车底景象的图像。也可能是不能够完整呈现当前帧的车底景象的图像。如果当前帧原始全景图的车底盲区填充子图不能够完整呈现当前帧的车底景象,那么在下一帧来临时,可以在下一帧中,继续根据上述步骤301-步骤303 生成下一帧原始全景图的车底盲区填充子图。基于此,应当理解的是,随着当前帧的不断刷新,通过步骤301-步骤303可以不断地对当前帧原始全景图的车底盲区区域进行补充,从而生成无车底盲区的车载全景图。

例如,参见图6,图6中的矩形区域abcd为上一帧原始全景图的车底盲区区域,矩形区域efgh为当前帧原始全景图的车底盲区区域。其中,当前帧原始全景图的车底盲区区域中矩形区域abgh包括的多个像素点的像素值,可以根据当前帧之前的连续多帧原始全景图的车底盲区区域的有效填充区域叠加得到。当前帧原始全景图的车底盲区区域中矩形区域efba包括的多个像素点的像素值,可以根据上一帧的鸟瞰图像A对应的拍摄图像中矩形区域efba包括的多个像素点的像素值来确定。如此,即可将当前帧原始全景图的车底盲区区域包括的像素点的像素值全部确定出来。此时,生成的当前帧原始全景图的车底盲区填充子图是能够完整呈现当前帧的车底景象的图像。也即是,可以生成无车底盲区的车载全景图。

又例如,参见图8,图8中的矩形区域abcd为上一帧原始全景图的车底盲区区域,矩形区域efgh为当前帧原始全景图的车底盲区区域。其中,当前帧原始全景图的车底盲区区域中矩形区域abkl包括的多个像素点的像素值,可以根据当前帧之前的连续多帧原始全景图的车底盲区区域的有效填充区域叠加得到,当前帧原始全景图的车底盲区区域中矩形区域efba包括的多个像素点的像素值,可以根据上一帧的鸟瞰图像A对应的拍摄图像中矩形区域efba包括的多个像素点的像素值来确定。对于当前帧原始全景图的车底盲区区域中矩形区域 lkgh包括的像素点的像素值保留着原来的像素值。此时,生成的当前帧原始全景图的车底盲区区域可以参见图9,从图9可以看出,生成的当前帧原始全景图的车底盲区填充子图是不能够完整呈现当前帧的车底景象的图像,此时,将当前帧车底盲区填充子图覆盖在当前帧原始全景图的车底盲区区域上,可以得到如图10所示的车载全景图。

但是,在下一帧来临时,可以继续根据上述步骤301-步骤303继续生成下一帧原始全景图的车底盲区填充子图。例如,参见图11,图11中的第N帧是当前帧,第N-1帧是上一帧。从图11中可以看出随着时间的不断推进,车底盲区区域在不断地被填充,从而在第N帧时可以得到无车底盲区的车底盲区填充子图,进而得到无盲区的车载全景图。

值得注意的是,在一种可能的情况中,上一帧原始全景图的车底盲区区域的有效填充区域与当前帧原始全景图的车底盲区区域的有效填充区域之间可能存在重叠。这样容易导致当前帧原始全景图的车底盲区填充子图存在拼缝,因此,为了使得当前帧原始全景图的车底盲区填充子图的准确性更高,需要对拼缝进行消除。其中,可以通过融合的方式对拼缝的消除,例如,对于一对重叠的像素点,可以将这两个像素点的平均像素值确定为该重叠的这一对像素点的像素值,消除拼缝。

在本申请的一种可能的实现方式中,还可以通过对生成的当前帧原始全景图的车底盲区填充子图的亮度、色彩的均衡等进行调整,以使原始全景图的车底盲区填充子图的成像质量更高。例如,可以将原始全景图的车底盲区填充子图的亮度调整为100等,将色彩的均衡包括的三个色阶的值分别调整为50、50 和50等。其中,色阶是表示图像亮度强弱的指数标准,也可以称为色彩指数。

另外,当拍摄到的车辆四周的多张拍摄图像为三维图像时,在步骤303之后,还可以通过三维渲染的方式将当前帧原始全景图的车底盲区填充子图与当前帧原始全景图进行拼接,得到当前帧三维的无车底盲区的车载全景图。

在本申请实施例中,由于时域上连续的两帧图像对应的实物区域可能存在重叠,也即是,当前帧原始全景图的车底盲区区域对应的实物区域与上一帧原始全景图对应的实物区域可能存在重叠,所以根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,以及车底盲区区域包括的像素点的像素坐标与上一帧原始全景图包括的像素点的像素坐标之间的对应关系,能够从上一帧原始全景图中确定出当前帧原始全景图的车底盲区区域的有效填充区域。之后,将时域上连续的多帧原始全景图的车底盲区区域的有效填充区域进行叠加,即可得到完整的当前帧原始全景图的车底盲区区域。由于本申请实施例无需进行特征匹配,而是按照像素坐标来确定,这样,可以减小计算开销,提高当前帧原始全景图的车底盲区区域的生成效率,而且通过像素坐标的方式可以稳健地进行车底盲区的填充,不易出现拼接不成功的问题。

图12是本申请实施例提供的一种无车底盲区的车载全景图的生成装置框图。参见图12,该装置包括:预测模块1201、确定模块1202、叠加模块1203 和覆盖模块1204。

预测模块1201,用于预测当前帧原始全景图的车底盲区区域包括的像素点的像素坐标;

确定模块1202,用于根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,以及车底盲区区域包括的像素点的像素坐标与上一帧针对车辆四周拍摄到的图像包括的像素点的像素坐标之间的对应关系,从上一帧拍摄到的图像中确定当前帧原始全景图的车底盲区区域的有效填充区域;

叠加模块1203,用于获取当前帧之前的连续多帧原始全景图的车底盲区区域的有效填充区域,将获取的当前帧之前的连续多帧原始全景图的车底盲区区域的有效填充区域,以及当前帧原始全景图的车底盲区区域的有效填充区域进行叠加,得到当前帧原始全景图的车底盲区填充子图;

覆盖模块1204,用于将车底盲区填充子图覆盖在当前帧原始全景图的车底盲区区域上,得到无车底盲区的车载全景图。

在本申请的一种可能的实现方式中,预测模块1201包括:

第一获取子模块,用于获取车底盲区区域包括的像素点的像素坐标与车辆的速度和车轮转角的第一映射关系;

预测子模块,用于根据车辆在上一帧的速度和车轮转角,以及上一帧原始全景图的车底盲区区域包括的像素点的像素坐标,按照第一映射关系,预测当前帧原始全景图的车底盲区区域包括的像素点的像素坐标。

在本申请的一种可能的实现方式中,预测模块1201包括:

第二获取子模块,用于获取车辆的尺寸信息,以及车辆四周安装的摄像头的拍摄范围;

第一确定子模块,用于根据车辆的尺寸信息和车辆四周安装的摄像头的拍摄范围,确定针对车辆的原始全景图的车底盲区区域的尺寸信息;

第二确定子模块,用于通过针对车辆的原始全景图的车底盲区区域的尺寸信息,确定当前帧原始全景图的车底盲区区域包括的像素点的像素坐标。

在本申请的一种可能的实现方式中,确定模块1202包括:

第三确定子模块,用于根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,从上一帧原始全景图中确定出多个第一像素点;

第一转换子模块,用于将多个第一像素点的像素坐标,按照单应性矩阵的逆矩阵进行转换,得到多个第一像素点在上一帧拍摄到的图像中对应的第二像素点,单应性矩阵用于指示拍摄到的图像转换为鸟瞰图像的关系;

第一填充子模块,用于将多个第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充,得到当前帧原始全景图的车底盲区区域的有效填充区域。

在本申请的一种可能的实现方式中,确定模块1202包括:

选择子模块,用于根据车辆在当前帧的行驶方向,从上一帧的多张鸟瞰图像中选择至少一张鸟瞰图像,多张鸟瞰图像为上一帧针对车辆四周拍摄到的多张图像转换得到的;

第四确定子模块,用于根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,从选择的至少一张鸟瞰图像中确定出多个第一像素点;

第二转换子模块,用于将多个第一像素点的像素坐标,按照单应性矩阵的逆矩阵进行转换,得到多个第一像素点在选择的至少一张鸟瞰图像对应的拍摄图像中对应的第二像素点的像素坐标,单应性矩阵用于指示拍摄到的图像转换为鸟瞰图像的关系;

第二填充子模块,用于将多个第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充,得到当前帧原始全景图的车底盲区区域的有效填充区域。

在本申请的一种可能的实现方式中,确定模块1202包括:

第三转换子模块,用于根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,将当前帧原始全景图的车底盲区区域按照单应性矩阵的逆矩阵进行转换;

获取子模块,用于获取车底盲区区域包括的像素点的像素坐标与车辆的速度和车轮转角的第二映射关系;

第五确定子模块,用于根据车辆在上一帧的速度和车轮转角,按照第二映射关系,确定转换后的当前帧原始全景图的车底盲区区域包括的像素点在上一帧拍摄到的图像中对应的多个第二像素点;

第三填充子模块,用于将多个第二像素点的像素值作为当前帧原始全景图的车底盲区区域中对应像素点的像素值进行填充,得到当前帧原始全景图的车底盲区区域的有效填充区域。

在本申请实施例中,由于时域上连续的两帧图像对应的实物区域可能存在重叠,也即是,当前帧原始全景图的车底盲区区域对应的实物区域与上一帧原始全景图对应的实物区域可能存在重叠,所以根据当前帧原始全景图的车底盲区区域包括的像素点的像素坐标,以及车底盲区区域包括的像素点的像素坐标与上一帧原始全景图包括的像素点的像素坐标之间的对应关系,能够从上一帧原始全景图中确定出当前帧原始全景图的车底盲区区域的有效填充区域。之后,将时域上连续的多帧原始全景图的车底盲区区域的有效填充区域进行叠加,即可得到完整的当前帧原始全景图的车底盲区区域。由于本申请实施例无需进行特征匹配,而是按照像素坐标来确定,这样,可以减小计算开销,提高当前帧原始全景图的车底盲区区域的生成效率,而且通过像素坐标的方式可以稳健地进行车底盲区的填充,不易出现拼接不成功的问题。

需要说明的是:上述实施例提供的无车底盲区的车载全景图的生成装置在生成无车底盲区的车载全景图时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的无车底盲区的车载全景图的生成装置与无车底盲区的车载全景图的生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图13是本申请实施例提供的一种无车底盲区的车载全景图的生成装置的结构示意图,该无车底盲区的车载全景图的生成装置1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units, CPU)1301和一个或一个以上的存储器1302,其中,所述存储器1302中存储有至少一条指令,所述至少一条指令由该处理器1301加载并执行。当然,该无车底盲区的车载全景图的生成装置1300还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该无车底盲区的车载全景图的生成装置1300还可以包括其他用于实现设备功能的部件,在此不做赘述。

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由无车底盲区的车载全景图的生成装置中的处理器执行以完成上述实施例中无车底盲区的车载全景图的生成方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 无车底盲区的车载全景图的生成方法、装置及存储介质
  • 车辆全景图像盲区消除方法、装置、存储介质及终端设备
技术分类

06120112198291