具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
本发明实施例提供一种图像语义分割方法。图1为本发明实施例提供的图像语义分割方法的流程图。如图1所示,本实施例中的图像语义分割方法,可以包括:
步骤S101、获取激光雷达采集的点云数据、以及相机拍摄的图像,其中所述点云数据与所述图像相对应。
在本实施例中,在车辆、无人机、机器人等可移动平台上设置激光雷达和相机,激光雷达能够采集点云数据,相机能够拍摄图像(例如RGB图像),其中点云数据与图像相对应,点云数据投影到图像中时能够与图像重合,也即激光雷达和相机能够对同一目标区域进行扫描,激光雷达的视线方向与相机的拍摄方向相同或接近,可通过将激光雷达与相机进行联合标定来实现。也即,在S101获取激光雷达采集的点云数据、以及相机拍摄的图像前,对激光雷达和相机进行标定,以使所述激光雷达采集的点云数据与所述相机拍摄的图像相对应。当然,也可在获取到点云数据和图像后通过旋转平移处理后使点云数据与图像相对应。
本实施例中,激光雷达和相机可以固定设置在可移动平台上,也可通过旋转部件设置在可移动平台上以实现一定范围内的点云数据和图像的采集。
步骤S102、根据所述点云数据获取深度图。
在本实施例中,在获取到点云数据后,可根据点云数据获取深度图,其中深度图的每一个像素值代表的是物体到激光雷达的距离,而点云数据中具有物体的方位、距离信息,根据点云数据中物体的方位、距离信息即可得到深度图。本实施例中可通过现有算法将点云数据转化为深度图,也可通过预先训练的卷积神经网络模型实现由点云数据转化为深度图。
步骤S103、获取所述深度图与所述图像的融合图像。
在本实施例中,在获取到深度图后,可将深度图和图像进行融合,从而可以得到所述深度图与所述图像的融合图像,具体的,由于点云数据与图像相对应,因此可直接将深度图投影到图像中,形成所述融合图像。本实施例中具体可通过分别对深度图和图像提取特征点,并通过比对获取深度图和图像中相互对应的特征点,基于相互对应的特征点,通过旋转、平移、裁剪等操作,将深度图的坐标系转换到图像的坐标系中,进而实现将深度图投影到图像坐标系,使深度图的各像素与图像对齐,然后再与图像进行数据级别的融合,从而得到融合图像。
此外,本实施例中也可首先将点云数据与图像进行对齐,例如通过基于灰度区域的配准方法、基于特征的配准方法、结合线特征和点特征的配准方法等实现点云数据与图像的配准,再根据点云数据获取深度图,此时获取到的深度图即与图像对齐,然后可直接将深度图与图像进行融合,从而得到融合图像。
步骤S104、识别所述融合图像中各图像块的场景类别信息。
在本实施例中,可预先定义多种预设场景类别,通过对融合图像中任一图像块进行场景类别的识别,判断该图像块属于哪一预设场景类别,进而可获取该图像块的场景类别信息。更具体的,可获取该图像块属于多种预设场景类别中每一预设场景类别的概率,将其中最大概率对应的预设场景类别作为该图像块的场景类别信息。
本实施例中,预设场景类别可以包括例如车、天空、道路、静态障碍物、动态障碍物等类别;当然也可包括更细化的场景类别,例如车具体可分为轿车、卡车、公交、火车、房车等,静态障碍物具体可分为建筑物、墙、护栏、电线杆、交通灯、交通标志等,动态障碍物可包括行人、自行车、摩托车等。本实施例中可将上述车、天空、道路、静态障碍物、动态障碍物等类别作为一级场景类别,将更细化的场景类别作为二级场景类别,也即,本实施例所述的多个预设场景类别可包括至少一种一级场景类别以及至少一种二级场景类别,其中任意所述一级场景类别以至少一个所述二级场景类别作为子类别。
进一步的,本实施例中对于图像块进行场景类别信息的识别可以采用卷积神经网络来实现,当然也可采用其他方式进行识别,此处不再赘述。
在另一实施例中,也可首先将深度图和图像对齐,然后根据深度图和图像的对应关系,识别图像中各图像块的场景类别信息,然后再将深度图和图像融合获得融合图像,将各图像块的场景类别信息标注到所述融合图像中。
步骤S105、将所述各图像块的场景类别信息标注到所述融合图像中。
在本实施例中,在识别出融合图像中各图像块的场景类别信息后可将场景类别信息标注到所述融合图像中,生成语义地图(semantic map),从而完成图像语义分割。本实施例中对于场景类别信息的标注可仅标注场景类别对应的标识,或者对图像块按照场景类别信息以对应的颜色进行标识。
本实施例提供的图像语义分割方法,可应用于对于存在遮挡的图像进行语义分割,如图2a所示的俯视图,当车A和车B处于如图所示的位置时,搭载有激光雷达和相机的可移动平台从箭头方向的观察视角看,车A被车B遮挡了一部分,通过激光雷达沿观察视角采集点云数据后,可得到如图2b上图所示的深度图(其中不同的填充图案表示不同的深度),通过相机沿观察视角拍照后,可得到如图2b下图所示的图像,通过将深度图与图像融合并进行语音分割,即可分辨出前方为距离不同的两辆车,也可进一步分辨出车辆的类型(也即场景类别信息)。
当然本实施例也可分辨出更复杂的遮挡的情况,如图3a所示的俯视图,搭载有激光雷达和相机的可移动平台从箭头方向的观察视角看,车C遮挡了部分车B和车A,车B遮挡了部分车A,通过激光雷达沿观察视角采集点云数据后,可得到图3b上图所示的深度图,通过相机沿观察视角拍照后,可得到如图3b下图所示的图像,将深度图与图像融合并进行语音分割,即可分辨出前方不同的遮挡关系,也可进一步分辨出车辆的类型(也即场景类别信息)。
本实施例提供的图像语义分割方法,也可应用于对于存在纹理相近物体的图像进行语义分割,例如如图4a所示的俯视图,搭载有激光雷达和相机的可移动平台前方为存在转角的墙面,墙面D相对于墙面E更靠近可移动平台,且墙面D和墙面E具有相近的纹理,通过激光雷达沿观察视角采集点云数据后,可得到图4b上图所示的深度图,通过相机沿观察视角拍照后,可得到如图4b下图所示的图像,将深度图与图像融合并进行语音分割,即可分辨出墙面D与墙面E的前后关系,也可进一步分辨出场景类别信息为存在转角的墙面。
本实施例提供的图像语义分割方法,通过获取激光雷达采集的点云数据、以及相机拍摄的图像,其中所述点云数据与所述图像相对应;根据所述点云数据获取深度图;获取所述深度图与所述图像的融合图像;识别所述融合图像中各图像块的场景类别信息;将所述各图像块的场景类别信息标注到所述融合图像中。通过由激光雷达点云数据获取的深度图与相机拍摄的图像进行融合,可以在进行图像语义分割时将各种目标准确的分离出来,对于背景信息复杂的图像、以及对于存在遮挡或重叠、且纹理相近的图像的语义分割具有较好效果,可以提高图像语义分割的准确性。
本发明实施例提供一种图像语义分割方法。图5和图6为本发明另一实施例提供的图像语义分割方法的流程图。如图5和图6所示,在上述实施例的基础上,本实施例中的图像语义分割方法,可以包括:
步骤S201、获取激光雷达采集的点云数据、以及相机拍摄的图像,其中所述点云数据与所述图像相对应。
步骤S202、根据所述点云数据获取深度图。
其中,步骤S201和S202可参见上述实施例中的S101和S102,此处不再赘述。本实施例中采用下述的第二模型实现根据所述点云数据获取深度图。
步骤S203、将所述深度图和所述图像输入预先训练的第一模型中,获取深度图与所述图像的融合图像。
步骤S204、通过第一模型获取所述融合图像中任一图像块属于多种预设场景类别中每一预设场景类别的概率,将其中最大概率对应的预设场景类别作为该图像块的场景类别信息。
在本实施例中,所述第一模型可以为卷积神经网络模型,如图7所示,所述第一模型包括多个依次连接的第一处理单元,所述第一处理单元包括卷积层、批标准化层和激活层。进一步的,第一模型中的多个依次连接的第一处理单元可通过跳跃连接(skipconnection)防止梯度消散。
本实施例中通过向该第一模型输入相互对应的深度图和图像后,由该第一模型首先将深度图与图像进行融合,获取深度图与图像的融合图像,然后再由第一模型对融合图像的各图像块进行场景类别识别,对于任一图像块,获取其属于多种预设场景类别中每一预设场景类别的概率,将其中最大概率对应的预设场景类别作为该图像块的场景类别信息。
需要说明的是,对于第一模型的训练可首先获取多个标注了预设场景类别的融合图像作为训练集和测试集,通过训练可以获取到每一种预设场景类别的图像块的特征,从而实现在输入新的融合图像时,能够分析出该新的融合图像中每一图像块属于多种预设场景类别中每一预设场景类别的概率,进而可将其中最大概率对应的预设场景类别作为该图像块的场景类别信息。具体的训练过程此处不再赘述。
在上述任一实施例的基础上,所述多个预设场景类别包括至少一种一级场景类别以及至少一种二级场景类别,其中任意所述一级场景类别以至少一个所述二级场景类别作为子类别。
进一步的,步骤S204具体可包括:
所述通过所述第一模型获取所述融合图像中任一图像块属于每一所述二级场景类别的概率,将其中最大概率对应的二级场景类别或该二级场景类别所属的一级场景类别作为该图像块的场景类别信息;或者
所述通过所述第一模型获取所述融合图像中任一图像块属于每一所述一级场景类别的概率,将其中最大概率对应的一级场景类别作为该图像块的场景类别信息。
在本实施例中,由于预设场景类别包括一级场景和二级场景类别,因此在通过第一模型获取任一图像块属于多种预设场景类别中每一预设场景类别的概率时,可以以二级场景类别为衡量标准,判断该图像块属于每一种二级场景类别的概率,进而可以最大概率对应的二级场景类别作为该图像块的场景类别信息,当然也可以该二级场景类别所属的以及场景类别作为该图像块的场景类别信息,例如最大概率对应的二级场景类别为行人,则可以行人或者动态障碍物作为该图像块的场景类别信息。此外,本实施例中也可直接以一级场景类别为衡量标准,判断该图像块属于每一种一级场景类别的概率,将其中最大概率对应的一级场景类别作为该图像块的场景类别信息。
步骤S205、将所述各图像块的场景类别信息标注到所述融合图像中。
在本实施例中,步骤S205可参见上述实施例中的S105,此处不再赘述。
在上述任一实施例的基础上,在获取所述融合图像中任一图像块属于多种预设场景类别中每一预设场景类别的概率,将其中最大概率对应的预设场景类别作为该图像块的场景类别信息后,还可包括:
若所述最大概率低于预设概率阈值,则在所述融合图像中忽略该图像块的场景类别信息。
在本实施例中,由于对于场景类别信息的识别可能存在一定的误差,因此可通过对上述的最大概率与预设概率阈值进行比较,来实现误识别的判定,也即当最大概率低于预设概率阈值时,则确定该图像块存在误识别的可能,而对于存在误识别的图像块,可直接忽略该图像块的场景类别信息,以避免对语义分割结果造成影响。
在上述任一实施例的基础上,所述方法还包括:
将任一图像块的场景类别信息与其相邻的多个图像块的场景类别信息进行近似度比较,若近似度低于预设近似度阈值,则在所述融合图像中忽略该图像块的场景类别信息。
在本实施例中,若对于某一图像块,其场景类别信息识别结果与其相邻的多个图像块的场景类别信息存在较大差异,则说明也存在误识别的可能,也需要忽略该图像块的场景类别信息。本实施例中通过将任一图像块的场景类别信息与其相邻的多个图像块的场景类别信息进行近似度比较,当近似度存在较大差异,也即近似度低于预设近似度阈值时,判断该图像块的场景类别信息为误识别,进而忽略图像块的场景类别信息,以避免对语义分割结果造成影响。
本实施例提供的图像语义分割方法,通过获取激光雷达采集的点云数据、以及相机拍摄的图像,其中所述点云数据与所述图像相对应;根据所述点云数据获取深度图;获取所述深度图与所述图像的融合图像;识别所述融合图像中各图像块的场景类别信息;将所述各图像块的场景类别信息标注到所述融合图像中。通过由激光雷达点云数据获取的深度图与相机拍摄的图像进行融合,可以在进行图像语义分割时将各种目标准确的分离出来,对于背景信息复杂的图像、以及对于存在遮挡或重叠、且纹理相近的图像的语义分割具有较好效果,可以提高图像语义分割的准确性。
在上述任一实施例的基础上,S102、S202所述的根据所述点云数据获取深度图,具体可包括:
将所述点云数据输入预先训练的第二模型,生成所述深度图。
其中,所述第二模型可以为卷积神经网络模型,如图7所示,所述第二模型包括多个依次连接的第二处理单元,所述第二处理单元包括卷积层、批标准化层和激活层。进一步的,第二模型中多个依次连接的第二处理单元可通过跳跃连接(skip connection)防止梯度消散。
本实施例中通过预先训练的第二模型实现有点云数据到深度图的转化,其中第二模型的训练,可获取多组对应的点云数据和深度图作为训练集和测试集对第二模型进行训练,具体的训练过程此处不再赘述。
进一步的,所述将所述点云数据输入预先训练的第一模型,生成所述深度图,包括:
若所述点云数据的密度高于预设密度阈值,通过所述第二模型将所述点云数据转化为所述深度图;或者
若所述点云数据的密度不高于所述预设密度阈值,通过所述第二模型对所述点云数据进行增密化处理,并将增密化处理后的点云数据转化为所述深度图。
在本实施例中,点云数据的密度影响了深度图中深度信息的精度,将很大程度的影响图像语义分割的准确度,因此在将点云数据转化为深度图时,需要判断点云数据的密度是否满足需求,当点云数据的密度高于预设密度阈值,说明点云数据的密度满足需求,可通过第二模型直接将点云数据转化为所述深度图;当点云数据的密度不高于预设密度阈值,则说明点云数据的密度不满足需求,需要对点云数据进行增密化处理,本实施例中可对第二模型进行训练,以使第二模型具有对点云数据增密化处理的功能,在通过第二模型将点云数据转化为深度图时先进行点云数据的增密化处理后再进行点云数据到深度图的转化。当然也可采用其他算法实现点云数据的增密化,例如基于稀疏匹配的点云增密化算法等,此处不再赘述。
本发明实施例提供一种可移动平台。图8为本发明实施例提供的可移动平台的结构图,如图8所示,所述可移动平台30包括:激光雷达31、相机32、处理器33和存储器34。
所述存储器34用于存储程序代码;
所述处理器33调用所述程序代码,当程序代码被执行时,用于执行以下操作:
获取激光雷达31采集的点云数据、以及相机32拍摄的图像,其中所述点云数据与所述图像相对应;
根据所述点云数据获取深度图;
获取所述深度图与所述图像的融合图像;
识别所述融合图像中各图像块的场景类别信息;
将所述各图像块的场景类别信息标注到所述融合图像中。
在上述任一实施例的基础上,在所述处理器33获取所述深度图与所述图像的融合图像时,所述处理器33被配置为:
将所述深度图和所述图像输入预先训练的第一模型中,获取深度图与所述图像的融合图像。
在上述任一实施例的基础上,在所述处理器33识别所述融合图像中各图像块的场景类别信息时,所述处理器33被配置为:
通过第一模型获取所述融合图像中任一图像块属于多种预设场景类别中每一预设场景类别的概率,将其中最大概率对应的预设场景类别作为该图像块的场景类别信息。
在上述任一实施例的基础上,所述多个预设场景类别包括至少一种一级场景类别以及至少一种二级场景类别,其中任意所述一级场景类别以至少一个所述二级场景类别作为子类别。
在上述任一实施例的基础上,在所述处理器33通过所述第一模型获取所述融合图像中任一图像块属于多种预设场景类别中每一预设场景类别的概率,将其中最大概率对应的预设场景类别作为该图像块的场景类别信息时,所述处理器33被配置为:
所述通过所述第一模型获取所述融合图像中任一图像块属于每一所述二级场景类别的概率,将其中最大概率对应的二级场景类别或该二级场景类别所属的一级场景类别作为该图像块的场景类别信息;或者
所述通过所述第一模型获取所述融合图像中任一图像块属于每一所述一级场景类别的概率,将其中最大概率对应的一级场景类别作为该图像块的场景类别信息。
在上述任一实施例的基础上,在所述处理器33将其中最大概率对应的预设场景类别作为该图像块的场景类别信息后,所述处理器33还被配置为:
若所述最大概率低于预设概率阈值,则在所述融合图像中忽略该图像块的场景类别信息。
在上述任一实施例的基础上,所述处理器33还被配置为:
将任一图像块的场景类别信息与其相邻的多个图像块的场景类别信息进行近似度比较,若近似度低于预设近似度阈值,则在所述融合图像中忽略该图像块的场景类别信息。
在上述任一实施例的基础上,所述第一模型为卷积神经网络模型,所述第一模型包括多个依次连接的第一处理单元,所述第一处理单元包括卷积层、批标准化层和激活层。
在上述任一实施例的基础上,在所述处理器33根据所述点云数据获取深度图时,所述处理器33被配置为:
将所述点云数据输入预先训练的第二模型,生成所述深度图。
在上述任一实施例的基础上,在所述处理器33将所述点云数据输入预先训练的第一模型,生成所述深度图时,所述处理器33被配置为:
若所述点云数据的密度高于预设密度阈值,通过所述第二模型将所述点云数据转化为所述深度图;或者
若所述点云数据的密度不高于所述预设密度阈值,通过所述第二模型对所述点云数据进行增密化处理,并将增密化处理后的点云数据转化为所述深度图。
在上述任一实施例的基础上,所述第二模型为卷积神经网络模型,所述第二模型包括多个依次连接的第二处理单元,所述第二处理单元包括卷积层、批标准化层和激活层。
在上述任一实施例的基础上,在所述处理器33获取激光雷达31采集的点云数据、以及相机32拍摄的图像前,所述处理器33还被配置为:
对所述激光雷达31和所述相机32进行标定,以使所述激光雷达31采集的点云数据与所述相机32拍摄的图像相对应。
在上述任一实施例的基础上,所述可移动平台30包括:车辆、无人机、机器人中的至少一种。
本实施例提供的可移动平台30的具体原理和实现方式均与上述实施例类似,此处不再赘述。
本实施例提供的可移动平台,获取激光雷达采集的点云数据、以及相机拍摄的图像,其中所述点云数据与所述图像相对应;根据所述点云数据获取深度图;获取所述深度图与所述图像的融合图像;识别所述融合图像中各图像块的场景类别信息;将所述各图像块的场景类别信息标注到所述融合图像中。通过由激光雷达点云数据获取的深度图与相机拍摄的图像进行融合,可以在进行图像语义分割时将各种目标准确的分离出来,对于背景信息复杂的图像、以及对于存在遮挡或重叠、且纹理相近的图像的语义分割具有较好效果,可以提高图像语义分割的准确性。
另外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的图像语义分割方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。