1.本技术涉及人工智能领域,更具体地,涉及一种语义分割模型训练方法及其装置、语义分割方法及其装置、计算设备和计算机可读存储介质。
背景技术:
2.在许多应用中,特别是机器人、自动驾驶和虚拟现实中,都需要三维(3d)场景理解。常见的3d传感器包括激光雷达、毫米波雷达、深度相机、3d扫描仪等,它们可以从现实世界中获取物体和环境的几何、形状和比例信息,帮助ai理解现实环境。
3.3d传感器的扫描数据通常以3d点云的形式保存每个点的信息,包括三维坐标、反射率、尺寸等。如何从3d点云中获取有用的信息,是人工智能的重要研究领域。针对3d点云的3d语义分割可以对每个点赋予语义标签,以实现对现实中三维场景的解释。3d传感器可以是多模态的,例如可以同时获取2d图像数据(第一模态数据)、3d点云数据(第二模态数据)和红外图像数据(第三模态数据)等等。
4.3d语义分割会遇到域间隙或域偏移的问题,例如白天和黑夜、不同国家或样本集之间的域间隙或域偏移。例如,对于自动驾驶场景,在一个国家基于2d图像数据和3d点云数据的样本集训练的模型,在实际直接应用到另一个国家的场景中时,可能性能并不优良,因为两个国家的道路情况存在一定的差异。
5.因此,需要一种能够在存在域间隙或域偏移的情况下,仍然能够较好地实现语义分割的方案。
技术实现要素:
6.根据本技术的一方面,提供了一种用于语义分割的模型的训练方法,包括:获取包括源域样本集和目标域样本集的训练样本集,其中所述源域样本集中的每个样本包括第一模态数据、第二模态数据和与第二模态关联的语义标签,并且所述目标域样本集的至少子集中的每个样本包括第一模态数据、第二模态数据且不包括所述语义标签;针对所述训练样本集的每个样本:基于所述样本的第一模态数据生成第一模态特征,并且基于所述样本的第二模态数据生成第二模态特征,其中所述样本的第二模态数据包括多个点的数据;基于所述第一模态特征和第二模态特征,生成与第一模态和第二模态分别对应的预测结果、模仿结果和恢复结果,其中每个模态对应的预测结果指示基于当前模态的特征得到的所述多个点中的每个点的语义类预测概率,每个模态对应的模仿结果指示基于当前模态的特征模仿另一模态的特征得到的所述多个点中的每个点的语义类别预测概率,并且每个模态对应的恢复结果指示利用当前模态的特征得到的另一模态的恢复数据;以及基于针对所述训练样本集的每个样本的与第一模态和第二模态分别对应的预测结果、模仿结果和恢复结果之间的跨模态处理,对所述模型进行训练。
7.根据本技术的另一方面,还提供了一种语义分割方法,包括:获取针对同一场景的第一模态数据和第二模态数据,所述第二模态数据包括多个点的数据;利用语义分割模型
确定针对所述第一模态数据的第一预测结果和针对所述第二模态数据的第二预测结果,其中第一预测结果和第二预测结果分别指示所述第二模态数据中的每个点的语义类别预测概率,其中,所述语义分割模型是根据上述方法训练的;以及针对所述第二模态数据中的每个点,基于所述第一预测结果确定每个语义类别对应的最大概率作为第一概率,基于所述第二预测结果确定每个语义类别的最大概率作为第二概率,并且将第一概率和第二概率中较大一者对应的语义类别作为所述点属于的语义类别。
8.根据本技术的另一方面,还提供了用于语义分割的模型的训练装置,包括获取模块、结果生成模块和训练模块。获取模块用于获取包括源域样本集和目标域样本集的训练样本集,其中源域样本集中的每个样本包括第一模态数据、第二模态数据和与第二模态关联的语义标签,并且目标域样本集的至少子集中的每个样本包括第一模态数据、第二模态数据且不包括所述语义标签;结果生成模块用于针对所述训练样本集的每个样本:基于所述样本的第一模态数据生成第一模态特征,并且基于所述样本的第二模态数据生成第二模态特征,其中所述样本的第二模态数据包括多个点的数据;基于所述第一模态特征和第二模态特征,生成与第一模态和第二模态分别对应的预测结果、模仿结果以及恢复结果,其中每个模态对应的预测结果指示基于当前模态的特征得到的每个点的语义类预测概率,每个模态对应的模仿结果指示基于当前模态的特征模仿另一模态的特征得到的每个点的语义类别预测概率,并且每个模态对应的恢复结果指示利用当前模态的特征得到的另一模态的恢复数据;以及训练模块用于基于针对所述训练样本集的每个样本的与第一模态和第二模态分别对应的预测结果、模仿结果和恢复结果之间的跨模态处理,对所述模型进行训练。
9.根据本技术的另一方面,还提供了一种用于语义分割的装置,该训练装置包括获取模块、预测模块以及确定模块。获取模块用于获取针对同一场景的第一模态数据和第二模态数据,所述第二模态数据包括多个点的数据。预测模块用于利用用于语义分割的模型确定针对所述第一模态数据的第一预测结果和针对所述第二模态数据的第二预测结果,其中第一预测结果和第二预测结果分别指示所述第二模态数据中的每个点属于每个语义类别的概率,其中,所述模型是根据如上所述的方法训练的。确定模块用于针对所述第二模态数据中的每个点,基于所述第一预测结果确定每个语义类别对应的最大概率作为第一概率,基于所述第二预测结果确定每个语义类别的最大概率作为第二概率,并且将第一概率和第二概率中较大一者对应的语义类别作为所述点属于的语义类别。
10.根据本技术的另一方面,还提供了一种计算设备,包括:处理器;以及存储器,其上存储有计算机程序,所述计算机程序在由被处理器执行时,使得处理器执行如上所述的方法。
11.根据本技术的另一方面,还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如前面所述的训练方法和语义分割方法的各步骤。
12.根据本技术的又一方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如前面所述的训练方法和语义分割方法的各步骤。
13.通过本技术用于语义分割的模型的训练方法,通过利用源域样本集和目标域样本集训练模型,可以提高模型的域适应效果;并且通过跨模态处理过程引入的多个监督任务,在利用模态互补性的同时模型还可以学习到更多的第一模态-第二模态之间的对应关系,
即使在域间隙或域偏移较大的情况下,模型中第一模态和第二模态对应的网络仍然具有较好的性能,因此可以进一步提高域适应效果,在实际的目标域应用中也能实现更好的语义分割。
附图说明
14.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
15.图1示出了本技术的实施例的一个示例性的应用场景图。
16.图2示出了根据本技术的实施例的基于跨模态方案的用于语义分割的模型的训练过程的示意图。
17.图3示出了由于域间隙或者域偏移过大时图2的训练过程训练得到的模型的输出效果图。
18.图4a-4b示出了根据本技术实施例的用于语义分割的模型的训练方法的流程示意图。
19.图5示出了针对步骤s430中的各个子步骤的更多细节。
20.图6示出了与图5所示的训练过程相关联的信息流示意图。
21.图7示出了与图5所示的训练过程关联的损失计算的示意图。
22.图8a-8b示出了根据本技术实施例的基于第一模态特征生成对应的预测结果的示意过程。
23.图9示出了根据本技术实施例的语义分割方法的流程示意图。
24.图10a-10e示出了经过参考图4a-8b描述的训练方法训练得到的模型的输出效果示意图。
25.图11示出了根据本技术实施例的用于语义分割的模型的训练装置的结构框图。
26.图12示出了根据本技术实施例的用于语义分割的装置的结构框图。
27.图13示出了根据本技术实施例的计算设备的结构框图。
具体实施方式
28.为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
29.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模仿、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
30.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、
大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
31.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模仿或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。比如,本技术实施例中采用机器学习技术中的域适应方案,基于跨模态处理,使得训练后的模型能够较准确的在目标域进行语义分割。
32.自动驾驶技术通常包括高精地图、环境感知、行为决策、路径规划、运动控制等技术,自动驾驶技术有着广泛的应用前景。3d语义分割是自动驾驶应用场景下十分核心的技术之一,用于对基于3d传感器等获取的3d点云数据中的每个点的进行分类,从而将道路环境点云数据进行分割能够识别出行人车辆等物体帮助车辆了解道路环境这项技术可被应用在无人驾驶车辆中可以大幅度提高了车辆对周围环境的理解。在本技术中,在域适应方案的框架下,通过跨模态处理的方式对模型进行训练,可以提高在目标域的实际应用过程中3d语义分割结果的准确性,从而可以提高自动驾驶过程中的可靠性和安全性。当然,本技术的方案不仅仅只应用于自动驾驶场景,还可以应用到其他需要进行3d语义分割的场景,例如机器人控制、虚拟现实等等。
33.在对本技术的实施例进行详细描述之前,先对本技术中可能用到的术语进行如下定义。
34.域适应:一种迁移学习,源域和目标域的数据分布不同,但两个任务相同。例如,任务即为学习目标,可以理解为输入数据与输出数据之间的函数关系。源域样本集可以来自白天道路数据,目标域样本集可以来自夜晚的道路数据。目的是利用源域的样本集的知识来提升模型在目标域的预测效果。源域样本集和目标域样本集均可以用来训练模型。
35.源域样本集:每个样本均包括标签的一方,可以视为提供迁移知识的一方。在本技术中,每个样本包括一个第一模态数据(例如,2d图像数据)和一个第二模态数据(例如,3d点云数据),以及第二模态对应的语义标签,例如经过3d点云数据经3d语义分割后得到的每个点的语义类别。
36.目标域样本集:大部分数据样本不存在标签的一方,每个数据样本与源域相关但不同,可以视为迁移学习起作用的一方。在本技术中,不存在标签的每个数据样本(目标域)包括一个第一模态数据(例如,2d图像数据)和一个第二模态数据(例如,3d点云数据)。
37.模态:数据形式,例如2d图像和3d点云可以被认为是两种不同的模态。
38.如前面所述,语义分割会遇到域间隙或域偏移的问题,基于域适应的方案可以解决这一问题。
39.图1示出了本技术的实施例的一个示例性的应用场景图。该应用场景针对的是自动驾驶场景。
40.如图1所示,车辆10和服务器20相互通信。车辆10上设置有用于采集驾驶场景的点云数据及图像数据的传感器。传感器例如包括图像传感器(用于采集驾驶场景中各目标的图像数据)和作为3d传感器的激光雷达传感器(用于采集驾驶场景中各目标的3d点云数
据),激光雷达传感器也可以同时采集到驾驶场景的2d图像数据。此外,传感器还可以包括毫米波雷达传感器和超声波雷达传感器等等。本技术对传感器的类型不做限制,只要能够获取所需要的驾驶场景的2d图像数据和3d点云数据即可。车辆10还可以包括车载控制器,用于接收由各传感器发送的驾驶场景数据,并通过通信模块与服务器进行通信。
41.服务器20可以经由通信模块从车辆10接收当前的2d图像数据和3d点云数据,并利用预先训练的能够实现3d语义分割的域适应模型(训练方法将在后文描述),针对当前的2d图像数据和3d点云数据针对当前的驾驶场景进行识别,确定当前的道路情况。例如,车辆处的车辆控制器可以从服务器获取识别结果,并根据识别结果生成控制车辆的运行的控制信息,或者直接从服务器获取控制信息,并基于该控制信息控制车辆10的运行。
42.或者,服务器20也可以将预先训练的能够实现3d语义分割的域适应模型通过通信模块发送到车辆控制器,从而车辆控制器在获取当前的2d图像数据和3d点云数据之后,进行类似处理,从而控制车辆10的运行。
43.在另外一些实施例中,上述服务器20的操作可以由终端执行,即在终端处从车辆10接收当前的2d图像数据和3d点云数据,并利用预先训练的能够实现3d语义分割的域适应模型,确定当前的道路情况,并与车辆控制器交互以控制车辆10的运行。
44.服务器可以包括一个或多个处理器、存储器以及与终端设备交互的i/o接口等。此外,服务器还可以配置数据库。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
45.终端设备可以包括一个或多个处理器、存储器、与服务器交互的i/o接口以及显示面板等。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。终端与服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
46.本技术的各个实施例中的方法可以由服务器执行,也可以由终端执行,也可以由两者协作执行。
47.图2示出了根据本技术的实施例的基于跨模态方案的用于语义分割的模型的训练过程的示意图。
48.在本技术的上下文中,模型的训练样本集包括源域样本集和目标域样本集,且均用于该模型的训练,因此可以实现域适应的效果,并且基于针对两种模态的结果的跨模态处理方案,利用模态互补性,可以进一步提高域适应的效果。
49.源域样本集可以表示为(x
2d,s
,x
3d,s
,y
3d,s
),即源域样本集中的每个样本包括一个第一模态数据(例如,2d图像数据)、一个第二模态数据(例如,3d点云数据)和与该第二模态数据对应的标签(语义标签)。目标域样本集可以表示为(x
2d,t
,x
3d,t
),即目标域样本集中的每个样本包括一个第一模态数据(例如,2d图像数据)、一个第二模态数据(例如,3d点云数据),但不包括语义标签。在本技术的大多数描述中,均以第一模态数据为2d图像数据,第二模态数据为3d点云数据为例进行了说明,但是不限于此,例如,红外数据等也可以作为一种模态数据。
50.此外,在本技术中,源域样本集和目标域样本集所有的数据维度均是相同的,例
如,每个样本包括的2d图像数据的维度为(h,w,3),3d点云数据的维度为(n,3),其中,h和w分别为2d图像数据的高和宽,n为3d点云数据中的点的数量,3为通道(例如,rgb三通道)数量。
51.如图2所示,获取训练样本集中的每个样本包括的一个2d图像数据(维度为(h,w,3))和一个3d点云数据(维度为(n,3)),分别输入到第一特征提取网络和第二特征提取网络,分别得到第一模态特征图-2d特征图(feature map,维度为(h,w,f
2d
))和第二模态特征-3d特征(维度为(n,f
3d
)),其中,h和w分别为针对2d图像数据所提取的特征图的高和宽,f
2d
为基于第一特征提取网络结构的特征通道数量,n为3d点云数据中的点的数量,f
3d
为基于第二特征提取网络的特征通道数量。然后,针对2d特征图进行采样,例如将3d点云数据利用相机坐标投影到2d图像上,仅针对2d特征图采样3d点云数据所投影到的2d特征点,得到第一模态特征-2d特征(n,f
2d
),即采样点(特征点)的数量与3d点云数据中的点的数量n相同。后文为了描述方便,除非明确说明,2d特征均是指采样后的2d特征(n,f
2d
)。
52.可选地,第一特征提取网络可以是基于resnet-34的u-net,第二特征提取网络可以是sparseconvnet。当然,也可以通过本领域熟知的其他特征提取网络来得到2d特征(2d特征图)和3d特征,本技术对此不做限制。
53.然后,2d特征经过第一预测网络,得到语义分割的第一预测结果(用p
2d
表示),并且3d特征经过第二预测网络,得到语义分割的第二预测结果(用p
3d
表示)。例如,第一预测结果可以为针对n个点的语义类别预测结果,这样第一预测结果的维度可以为(n,c),其中c为语义类别的数量,即第一预测结果可以指示n个点中的每个点的2d特征对应的属于各个语义类别的概率。类似的,第二预测结果的维度也为(n,c),第二预测结果可以指示n个点中的每个点的3d特征对应的属于各个语义类别的概率。可选地,第一预测网络和第二预测网络各自可以由线性层和归一化层构成。如本领域已知的,线性层又称为全连接层,其每个神经元与上一个层所有神经元相连,实现对前一层的线性组合或线性变换;归一化层例如采用softmax,从而输出各个概率。
54.得到第一预测结果(针对2d特征)和第二预测结果(针对3d特征)之后,可以基于此来进行训练。此外,由于存在目标域样本集,可以考虑利用其来进行模型训练,从而提高模型的域适应效果。由于第一预测结果和第二预测结果都是针对语义分割的预测结果,因此即使目标域样本集中的至少一部分样本不具有语义标签,但是可以利用模态互补性,即将2d特征和3d特征进行特征匹配,用于模型训练。
55.例如,2d特征还可以经过第一模仿网络,得到模仿3d特征的语义分割的第一模仿结果(用p
2d
→
3d
表示),第一模仿结果可以指示当用2d特征模仿3d特征时的预测结果,维度也为(n,c)。3d特征还可以经过第二模仿网络,得到模仿2d特征的语义分割的第二模仿结果(用p
3d
→
2d
表示),第二模仿结果可以指示当用3d特征模仿2d特征时的预测结果(n,c)。然后,第一模仿结果(p
2d
→
3d
)与第二预测结果(p
3d
)进行匹配,并且第二模仿结果(p
3d
→
2d
)与第一预测结果(p
2d
)进行匹配,即第一模仿结果(p
2d
→
3d
)和第二模仿结果(p
3d
→
2d
)分别由对应的第二预测结果(p
3d
)和第一预测结果(p
2d
)来进行监督。
56.更具体地,对于训练过程,由于要提高域适应的效果,因此可以将源域样本集和目标域样本集均用于模型训练,并且可以交替进行。例如,可以按批次交替进行对模型的训练,并且每个批次包括多个样本,例如,在利用源域样本集中的10个样本进行了训练之后,
再利用目标域样本集中的10个样本进行训练,如此交替进行。
57.在利用源域样本集的样本(以及目标域样本集中包括语义标签的样本)进行训练时,由于这些样本均包括针对语义标签,因此可以进行完全的监督训练,即每个样本的2d特征对应的第一预测结果p
2d
和3d特征对应的第二预测结果p
3d
均由对应的语义标签y
3d,s
来监督,该样本的2d特征对3d特征的第二模仿结果p
3d
→
2d
和3d特征对2d特征的第一模仿结果p
2d
→
3d
分别由第一预测结果p
2d
和第二预测结果p
3d
来监督,如图2中虚线箭头所示。
58.在利用目标域样本集的不包括语义标签的样本进行训练时,无法利用语义标签y
3d,s
来监督每个样本的2d特征对应的第一预测结果p
2d
和3d特征对应的第二预测结果p
3d
,因此第一预测网络和第二预测网络不工作,但是可以每个样本的2d特征对3d特征的第二模仿结果p
3d
→
2d
和3d特征对2d特征的第一模仿结果p
2d
→
3d
分别由第一预测结果p
2d
和第二预测结果p
3d
来监督,即,第一模仿网络和第二模仿网络正常工作,如图2中虚线箭头所示。
59.在利用源域样本集和目标域样本集的样本进行训练时,可以通过引入损失函数来计算损失,并基于使该损失的值尽可能小的目标来调节各个网络的参数,例如可以采用梯度下降法等。
60.如上面所述,训练过程涉及两个监督过程,一个是利用语义标签对预测结果进行监督,另一个是利用预测结果对模仿结果进行监督。对于前者,损失函数可以为交叉熵损失函数,如公式(1)所示,并且对于后者,损失函数可以为kl散度,如公式(2)所示。
61.ce(y
3d,s
||p
2d
),ce(y
3d,s
||p
3d
)
ꢀꢀꢀ
(1)
62.kl(p
2d
||p
3d
→
2d
),kl(p
3d
||p
2d
→
3d
)
ꢀꢀꢀ
(2)
63.可选地,可以综合各个损失函数的计算结果,来进行模型参数调节。例如,可以将各个损失函数进行相加或加权,得到综合损失函数,并且基于使该综合损失函数的值尽可能小的目标来调节各个网络的参数。
64.可选地,在针对有语义标签的样本利用综合损失函数计算损失时,交叉熵损失函数和kl散度损失函数两部分均需计算,而在针对无语义标签的样本利用综合损失函数计算时,不需要计算交叉熵损失函数部分(即,为0),而仅计算kl散度损失函数部分的损失,从而根据综合损失函数计算针对的损失调整模型参数,例如,可以针对每个批次样本计算该批次的总损失来调整一次模型参数。
65.可见,在参考图2描述的模型的训练过程中,实现了利用模态之间的跨模态处理过程,例如,针对第一模态的第一模仿结果(p
2d
→
3d
)和针对第二模态的第二模仿结果(p
3d
→
2d
)分别由对应的第二预测结果(p
3d
)和第一预测结果(p
2d
)来进行监督,因此可以利用模态之间的互补性来进行语义分割,这样,第一模态(例如,2d图像数据)和第二模态(3d点云数据)的两个预测网络的针对语义分割所预测的结果能够互相帮助,因此可以在一定程度上提高在实际目标域应用时该模型进行语义分割的准确性,提高域适应效果。
66.但是,如前面所述,源域样本集和目标域样本集交替地用于模型的训练,并且基于跨模态处理过程,训练后的模型能够具有较好的域适应效果。但是,如果域间隙或者域偏移过大,例如,源域样本集是来自于发达地区的道路数据,目标域样本集是来自于欠发达地区的道路数据,因此会存在两个域的样本集的差异过大的情况,因此这些样本集训练得到的模型的性能可能并不好,即针对第一模态得到第一预测结果的第一预测网络以及针对第二模态得到第二预测结果的第二预测网络的性能都不好,因此即使基于跨模态处理过程,也
无法实现通过这两个模态之间的互补性来提高在实际目标域应用时该模型进行语义分割的准确性。
67.可以通过图3来说明由于域间隙或者域偏移过大时模型的输出效果图。
68.假设源域的数据来自发达国家的道路数据,并且目标域的数据来自欠发达国家的道路数据。如图3所示,第一模态数据为2d图像数据,第二模态数据为3d点云数据,分别经过2d特征提取网络和3d特征提取网络之后,进入语义分割模型(例如,如图2所示的第一预测网络、第一模仿网络、第二预测网络和第二模仿网络),分别得到基于2d图像数据的语义分割预测结果和基于3d点云数据的语义分割预测结果(例如,来自图2所示的第一预测网络和第二预测网络的输出,后文分别称为2d预测结果和3d预测结果)。语义分割模型的两个输出指示3d点云数据的每个点的位置处每个点被预测(识别)的语义类别。
69.从图3中看出,左图中输入的2d图像数据的竖杆(白色框)在输出的2d预测结果中只被识别出一小部分(只有该部分的点的类别被识别为了竖杆,左上角图中以黑色示出),车辆在输出的语义分割预测结果中几乎未被识别出;右图中输入的3d点云数据的竖杆(黑色框)在输出的3d预测结果中只被识别出一小部分(只有该部分的点的类别被识别为了竖杆,如右上图以黑色示出),车辆在输出的3d预测结果中也没有被完整的识别出。
70.可见,在域间隙或者域偏移过大时按照图2描述的方式训练的模型并不能很好地进行语义分割,因此还需要对基于图2描述的训练方法进行进一步改善。
71.因此,本技术的实施例还提供了一种跨模态建模方式,通过附加地引入恢复网络相关的监督过程,使得模型能够训练地更充分,因此能够有更好的域适应效果。此外,还提供了一种跨模态掩码建模的方式,通过对至少部分样本的第一模态数据和第二模态数据进行掩码处理,并利用每个样本的其中一个模态数据以及另一个模态掩码数据之间的跨模态处理,使模型学习到更多的第一模态-第二模态对应关系,实现了模态互补性,且使得训练后的模型能够得到充分拟合,因此也可以进一步提高模型的域适应效果。
72.图4a-4b示出了根据本技术的实施例的用于语义分割的模型的训练方法的流程示意图。
73.如图4a所示,在步骤s410中,获取包括源域样本集和目标域样本集的训练样本集,其中所述源域样本集中的每个样本包括第一模态数据、第二模态数据和与第二模态关联的语义标签,并且所述目标域样本集的至少子集中的每个样本包括第一模态数据、第二模态数据且不包括所述语义标签。
74.例如,如前面所述的,源域样本集和目标域样本集均用于训练模型,从而可以实现域适应效果,使得模型更好地在目标域上应用。源域样本集中的样本除了第一模态数据和第二模态数据之外还含有预先标记的语义标签,而目标域样本集中的至少一部分样本仅包括第一模态数据和第二模态数据并且不包括预先标记的语义标签。源域样本集与目标域样本集中的每个样本的第一模态数据和第二模态数据的类型是相同的,只是针对的应用场景(域)不同。例如,每个第一模态数据可以是白天的2d图像数据,每个第二模态数据可以均是3d点云数据,例如,源域样本的第一模态数据可以是白天某个场景的2d图像数据,第二模态数据可以是白天的该场景的3d点云数据,目标域样本的第一模态数据可以是夜晚某个场景的2d图像数据,第二模态数据可以是夜晚的该场景的3d点云数据。
75.在本技术的实施例中,目标域样本集中也可能存在少量包含语义标签的样本,此
时,可以进行与利用源域样本集中的样本训练模型时类似的操作,例如,可以将目标域的样本的第一模态特征和第二模态特征均通过预测网络,并利用所包含的对应的语义标签进行有监督训练。
76.可选地,每个第一模态数据可以是2d图像数据,并且每个第二模态数据可以是3d点云数据。但是,本技术不限于此,第一模态数据或第二模态数据也可以是红外数据等。
77.在步骤s420中,针对训练样本集的每个样本,基于该样本的第一模态数据生成第一模态特征,其中所述样本的第二模态数据包括多个点的数据;以及基于该样本的第二模态数据生成第二模态特征;以及基于该第一模态特征和第二模态特征,生成与第一模态和第二模态分别对应的预测结果、模仿结果以及恢复结果。
78.其中,每个模态对应的预测结果指示基于当前模态的特征得到的每个点属于每个语义类别的预测概率,每个模态对应的模仿结果指示基于当前模态的特征模仿另一模态的特征得到的每个点属于每个语义类别的预测概率,并且每个模态对应的恢复结果指示利用当前模态的特征得到的另一模态的恢复数据。
79.例如,在本技术的上下文中,恢复数据是基于第一模态和第二模态中的一个模态的特征针对第一模态和第二模态中的另一个模态的原始数据的预测数据,并且如将在后文描述的,所预测的数据与另一个模态的原始数据的差异(例如,利用损失函数计算)将用于训练模型,使得模型学习更多两个模态之间的对应关系。例如,基于2d特征预测得到3d点云数据,基于3d特征预测得到2d图像数据(3d特征为点云包括的多个点的特征,因此相应地预测得到的是2d图像数据的采样数据)。此外,如将在后文所述的,这里预测的过程可以通过模型里的恢复网络进行,例如多层感知器、深度学习模型等等。
80.可选地,为了得到第一模态特征和第二模态特征,可以利用第一特征提取网络对该第一模态数据进行特征提取,得到第一特征图;将该第二模态数据按照该第一模态进行投影,得到第二模态-第一模态投影数据,该第二模态-第一模态投影数据包括该多个点的投影数据;根据该第二模态-第一模态投影数据中该多个点的位置对该第一特征图进行采样,得到该第一模态特征;以及利用第二特征提取网络对该第二模态数据进行特征提取,得到该第二模态特征。
81.可选地,第二模态数据包括的多个点可以是多个特征点、多个位置点、或者能够由处理器处理的携带数据的多个任何点的集合。第二模态特征包括第二模态数据中的多个点的数据对应的多个点的特征,并且第一模态特征是根据第二模态数据中的该多个点所投影的位置采样得到的,即也包括该多个点的特征。
82.例如,在第一模态为2d图像,且第二模态为3d点云时,第一特征提取网络可以是基于resnet-34的u-net,第二特征提取网络可以是sparseconvnet。当然,也可以通过本领域熟知的其他特征提取网络来得到2d特征和3d特征,本技术对此不做限制。例如,3d点云数据包括n个点的数据,从而所提取的3d特征包括该n个点的3d特征(如上下文所述的,维度为(n,f
3d
)),并且2d特征包括经采样得到的该n个点的2d特征(如上下文所述的,维度为(n,f
2d
))。
83.此外,第一模态特征可以被用于生成第一预测结果、第一模仿结果和第一恢复结果,第二模态特征可以被用于生成第二预测结果、第二模仿结果和第二恢复结果。
84.例如,基于该第一模态特征,利用该模型的第一预测网络生成与第一模态对应的
第一预测结果,并且基于该第二模态特征,利用该模型的第二预测网络生成与第二模态对应的第二预测结果;基于该第一模态特征,利用该模型的第一模仿网络生成与第一模态对应的第一预测结果,并且基于该第二模态特征,利用该模型的第二模仿网络生成与第二模态对应的第二模仿结果;以及基于该第一模态特征,利用该模型的第一恢复网络生成与第一模态对应的第一恢复结果,并且基于该第二模态特征,利用该模型的第二恢复网络生成与第二模态对应的第二恢复结果。
85.可选地,第一预测网络和第二预测网络中的每一者可以包括线性层和归一化层;第一模仿网络和第二模仿网络中的每一者可以包括线性层和归一化层;以及第一恢复网络和第二恢复网络中的每一者可以包括多层感知器。
86.例如,线性层用于对输入的第一模态特征或第二模态特征进行线性处理,并将处理后的特征输入归一化层(例如,softmax),从而可以得到每个点属于各个语义类别的概率,作为预测结果。多层感知器(mlp)用于基于输入的第一模态特征或第二模态特征进行恢复处理,其中间通道的数量例如为4096。对模型进行训练可以被解释为对包括的这些网络的参数进行调整。
87.在步骤s430中,基于针对所述训练样本集的每个样本的与第一模态和第二模态分别对应的预测结果、模仿结果和恢复结果之间的跨模态处理,对所述模型进行训练。
88.可选地,在进行跨模态处理时,可以将第一模态和第二模态中的一种模态对应的部分结果与对应的该模态的参考数据进行匹配处理,以将匹配处理的结果用于模型的训练过程,其中该模态的参考数据中的至少一部分是基于第一模态和第二模态中的另一种模态的模态数据得到的(例如,另一种模态数据本身或其采样数据,或者另一种模态数据对应的预测结果)。也即,在基于跨模态处理训练模型时,能够交叉利用对方模态的数据信息。模型训练过程的更多示例细节将在后续结合图5-8b进行描述。如前面所述,训练模型时调整模型参数时可以是按照批次调整的,并且源域样本集和目标域样本集是交替用于训练模型的,以用于提高域适应的效果。即,所述源域样本集的不同子集以及所述目标域样本集的不同子集被交替地用于训练所述模型。例如,源域样本集和目标域样本集分别可以根据批次大小(batchsize)划分为多个源域子集和多个目标域子集,每个子集可以对应一个批次,然后利用一个源域子集训练模型之后,利用一个目标域子集训练模型,接着再利用另一个源域子集训练模型,如此交替反复。可选地,该批次大小可以根据实际需要来进行选择,例如最小可以为1,最大可以为源域或目标域样本集的最大数量。可选地,也可以在多于一个源域子集训练模型之后,再利用目标域子集训练模型,本公开对此不做限制。
89.此外,在另一些实施方式中,还可以通过掩码处理,来进一步提高模型的域适应效果。
90.因此,该训练方法400还可以包括掩码处理的过程,如图4b所示。图4b中步骤s410-s430与图4a中的类似,例如,步骤s420中基于每个模态的特征生成对应的预测结果、模仿结果以及恢复结果以及步骤s430中基于这些结果的训练过程均与图4a中的类似,因此这里不再重复描述。
91.在步骤s410’中,根据预定标准,选择性地对训练样本集中的每个样本的第一模态数据以及第二模态数据进行掩码处理,得到至少一个样本对应的第一模态掩码数据和第二模态掩码数据。
92.例如,掩码处理可以针对所述训练样本集中的随机选择的至少一个样本的第一模态数据和第二模态数据,并且该至少一个样本中的每个样本可以仅有第一模态数据和第二模态数据中的一者被进行掩码处理,或者两种模态数据均被进行掩码处理。本技术中所述的掩码处理可以是指去除第一模态数据和第二模态数据中的至少一者包括的部分内容信息。
93.例如,针对随机选择的要进行掩码处理的每个样本,在对该样本包括的第一模态数据和/或第二模态数据进行掩码处理时,可以将该第一模态数据和/或第二模态数据分别划分为具有预定尺寸的多个块,基于同样的构思,也可以将每个模态数据划分为预定数量的相同尺寸的块。然后,基于预定去除比率对每个模态数据划分得到的具有预定尺寸的多个块执行去除操作,以实现掩码处理。
94.可选地,要进行掩码处理的每个样本的第一模态数据或第二模态数据可以分别对应至少一个掩码数据。由此,训练样本集中的每个样本可以包括用于训练模型的多个样本,即第一模态数据、第二模态数据以及至少一个第一模态掩码数据和/或至少一个第二模态掩码数据。
95.此外,因为要保证语义的完整性,因此每个样本同时输入模型以用于训练的不能均是掩码数据,即至少有一个样本是未经掩码处理的第一模态数据,并且,也不能仅对一种模态的样本进行掩码处理,例如,不能仅对第一模态数据或仅对第二模态数据进行掩码处理,即两种模态均需存在未经掩码处理的样本以及经掩码处理的样本。也就是说,在用于训练模型时,针对每个样本,一个第一模态数据与一个第二模态数据或者对应的一个第二模态掩码数据搭配作为一次输入,或者一个第二模态数据与一个第一模态数据或者对应的一个第一模态掩码数据搭配作为另一次输入,从而实现跨模态掩码建模。在保证语义的完整性的同时,扩增了训练样本集,并且通过将掩码处理的一种模态的样本与未掩码处理的另一种模态的样本进行搭配,可以使模型学习到更多的第一模态-第二模态对应关系。
96.因此,预定标准可以这样设置:通过预先设定每个样本的第一模态数据和第二模态数据的被掩码处理的概率,例如,每个样本的第一模态数据被执行掩码处理的概率被预设为第一预定概率,并且每个样本的第二模态数据被执行掩码处理的概率被预设为第二预定概率。或者,预定标准也可以如下设置:预先设定要掩码处理的第一模态数据和第二模态数据的数量,例如,其第一模态数据被执行掩码处理的样本的数量与所述训练样本集中的样本数量的比率被预设为第一预定比率,并且其第二模态数据被执行掩码处理的样本的数量与所述训练样本集中的样本数量的比率被预设为第二预定比率。
97.在一些实施方式中,可以通过引入超参数集来定义上述块划分时的预定尺寸、去除块时的预定去除比率以及第一预定概率(或比率)和第二预定概率(或比率)。例如,超参数集可以包括如下四个超参数(p,mr,m
2d
,m
3d
),其中,p为将每个第一模态数据或第二模态数据划分的每个块的预定尺寸或划分的块的预定数量,mr为去除的比例,m
2d
表示每个样本的第一模态数据被执行掩码处理的概率(或者其第一模态数据被进行掩码处理的样本占总数量(即训练样本集的数量)的比率),m
3d
表示每个样本的第二模态数据被执行掩码处理的概率被预设为第二预定概率(或者其第二模态数据被进行掩码处理的样本占总数量(即训练样本集的数量)的比率),这样(1-m
2d-m
3d
)表示每个样本的第一模态数据和第二模态数据均未进行掩码处理的概率(或者其第一模态数据和第二模态数据均为进行掩码处理的样本
占总数量的比率)。
98.超参数集的具体取值可以根据实际情况调整,本技术对此不做限制。作为一个具体示例,在针对白天/夜晚场景的域适应的实验中可以得到比较合适的四个超参数的值,分别为(16,0.15,0.2,0.2)。
99.另外,在图4b中,在加入掩码处理的情况下,在步骤s420中生成的第一模态特征和第二模态特征中的一者基于的则可能是掩码数据。例如,在这种情况下,步骤s420中针对该训练样本集的每个样本生成第一模态特征和第二模态特征时,还可以包括基于该样本的第一模态数据或第一模态掩码数据生成该第一模态特征,基于该样本的第二模态数据或第二模态掩码数据生成该第二模态特征,并且该样本的第一模态特征和第二模态特征中的至少一者所基于的样本不是掩码数据。
100.可选地,在提取第一模态特征和第二模态特征时,在加入掩码处理的情况下,可以利用第一特征提取网络对该第一模态数据或第一模态掩码数据进行特征提取,得到第一特征图;将该第二模态数据或第二模态掩码数据按照该第一模态进行投影,得到第二模态-第一模态投影数据,该第二模态-第一模态投影数据包括该多个点的投影数据;根据该第二模态-第一模态投影数据中该多个点的位置对该第一特征图进行采样,得到该第一模态特征;以及利用第二特征提取网络对该第二模态数据或第二模态掩码数据进行特征提取,得到该第二模态特征。
101.通过图4a-4b所示的用于语义分割的模型的训练方法,通过利用源域样本集和目标域样本集训练模型,可以实现模型的域适应效果;并且通过跨模态处理过程引入的多个监督任务,在利用模态互补性的同时模型还可以学习到更多的第一模态-第二模态之间的对应关系,即使在域间隙或域偏移较大的情况下,模型中第一模态和第二模态对应的网络仍然具有较好的性能,因此可以进一步提高域适应效果,在实际的目标域应用中也能实现更好的语义分割。
102.此外,在引入掩码处理的数据样本的情况下,在保证语义的完整性的同时,扩增了训练样本集,并且通过将掩码处理的一种模态的样本与未掩码处理的另一种模态的样本进行搭配,即通过实现跨模态掩码建模,可以使训练后的模型学习到更多的第一模态-第二模态对应关系,也能进一步提高域适应效果,在实际的目标域应用中也能实现更好的语义分割。
103.以下结合图5-8b对基于跨模态处理训练模型的过程进行详细描述。图5示出了针对步骤s430中的各个子步骤的更多细节,图6示出了与图5所示的训练过程相关联的信息流示意图,图7示出了与图5所示的训练过程关联的损失计算的示意图。
104.在步骤s430-1中,针对所述训练样本集的每个样本:在所述样本不包括所述语义标签的情况下,计算所述第一预测结果和所述第二模仿结果之间的第一损失,所述第二预测结果和所述第一模仿结果之间的第二损失,所述第一恢复结果和所述样本的第二模态数据之间的第三损失,以及所述第二恢复结果和所述样本的第一模态数据的采样数据之间的第四损失;并且在所述样本包括所述语义标签的情况下,还进一步计算所述第一预测结果和所述样本的语义标签之间的第五损失以及所述第二预测结果和所述样本的语义标签之间的第六损失。
105.可选地,在计算第四损失时,涉及到确定第一模态数据的采样数据,这是由于第二
模态数据包括多个点的数据,并且点的数量以及位置是确定的,要进行跨模态处理,因此要利用的第一模态数据中的点的信息也需要与第二模态数据的点的数量和位置对应,因此可以通过投影的方式来得到第一模态数据的采样数据。例如,可以将该样本的第二模态数据按照该第一模态进行投影,得到第二模态-第一模态投影数据,该第二模态-第一模态投影数据包括该多个点的投影数据;然后,根据该第二模态-第一模态投影数据中该多个点的位置对该样本的第一模态数据进行采样,得到该第一模态数据的采样数据。
106.可选地,可以利用kl散度损失函数计算该第一预测结果和该第二模仿结果之间的第一损失以及该第二预测结果和该第一模仿结果之间的第二损失,利用l2损失函数计算该第一恢复结果和该第二模态数据之间的第三损失以及该第二恢复结果和该第一模态数据的采样数据之间的第四损失;以及利用交叉熵损失函数计算该第一预测结果和该样本的语义标签之间的第五损失以及该第二预测结果和该样本的语义标签之间的第六损失。这些损失函数的形式是本领域熟知的,因此这里不再重复描述。
107.图6示出了训练模型的示例过程。如图6所示,仍然以第一模态数据为2d图像数据且第二模态数据为3d点云数据为例,2d图像数据或者其经掩码处理后的一个2d图像数据进入第一模态支路,经过与图2所示的第一特征提取网络以及采样方法得到2d特征,并且3d点云数据或者其经掩码处理后的一个3d点云数据进入第二模态支路,经过与图2所示的第二特征提取网络得到3d特征。2d特征经过第一处理支路(例如,图6中黑色实线示出的支路)后得到2d预测结果、3d模仿结果和3d恢复结果,并且3d特征经过第二处理支路(例如,图6中灰色实线示出的支路)后得到3d预测结果、2d模仿结果和2d恢复结果。
108.2d特征(维度为(n,f
2d
))分别经过第一预测网络、第一模仿网络以及第一恢复网络(第一模态分支)后得到2d预测结果p
2d
(维度为(n,c))、3d模仿结果p
2d
→
3d
(维度为(n,c))和3d恢复结果m
2d
→
3d
(维度为(n,3))。3d特征(维度为(n,f
3d
))分别经过第二预测网络、第二模仿网络以及第二恢复网络(第二模态分支)后得到3d预测结果p
3d
(维度为(n,c))、2d模仿结果p
3d
→
2d
(维度为(n,c))和2d恢复结果m
3d
→
2d
(维度为(n,3))。
109.然后,利用基于2d预测结果p
2d
(第一预测结果)与2d模仿结果p
3d
→
2d
(第二模仿结果)之间的模仿损失(第一损失,如图6中黑色虚线所示),并且利用3d预测结果p
3d
(第二预测结果)与3d模仿结果p
2d
→
3d
(第一模仿结果)之间的模仿损失(第二损失,如图6中灰色虚线所示),利用3d点云数据x
3d
(未经掩码处理,维度为(n,3))与3d恢复结果m
2d
→
3d
(第一恢复结果)(维度为(n,3))之间的恢复损失(第三损失),以及利用2d图像数据x
2d
的采样数据xs
2d
(未经掩码处理,维度为(n,3))与2d恢复结果m
3d
→
2d
(第二恢复结果)(维度为(n,3))的恢复损失(第四损失),并且如果该样本包括语义标签,则还进一步利用2d预测结果p
2d
(第一预测结果)与对应的语义标签y
3d,s
的预测损失(第五损失),利用3d预测结果p
3d
(第二预测结果)与对应的语义标签y
3d,s
之间的预测损失(第六损失)。最后基于这些损失对所述模型(包括上述各个网络)的参数进行调整。
110.应注意,在计算恢复损失时利用了2d图像数据的采样数据xs
2d
,由于2d恢复结果m
3d
→
2d
是基于3d特征得到的,3d特征与3d点云数据的n个点相关联,因此2d恢复结果m
3d
→
2d
也与该n个点相关联,因此也需要先根据该3d点云数据x
3d
的点对2d图像数据x
2d
进行采样,从而得到2d图像数据的采样数据xs
2d
。即,x
3d
是3d点云数据本身,xs
2d
是3d点云数据映射到2d图像数据上采样得到的点组成的集合。
111.另外,即使第一模态特征和第二模态特征所基于的数据为掩码数据,但是用于计算与各个模态恢复结果之间的恢复损失的采样数据也是未经掩码处理的数据(即原始模态数据),以保证作为基准的数据的信息完整,从而更好地促进模型的第一模态-第二模态的对应关系的学习。
112.综上,每个模态的特征(基于模态数据或掩码数据经过特征提取网络得到)会进入三个网络,即预测网络、模仿网络和恢复网络,其中,预测网络用于生成最终的预测结果(语义分割结果),模仿网络进行跨模态特征匹配,恢复网络进行跨模态恢复。因此训练后的模型可以学到更多的第一模态-第二模态对应关系,使得两个模态的互补性能够更好地应用于训练模型,使得模型的拟合性更好,在实际应用中更好地进行语义分割。
113.另外,如前面所描述的,损失函数可以为多个网络的损失函数的组合,例如相加以及加权,从而基于使得损失函数的损失值最小的目标来调节模型参数(各个网络的参数)。
114.图7示出了训练过程中需要计算的各种损失的示意图。图7仍然以第一模态数据为2d图像数据,第二模态数据为3d点云数据,以及源域样本集的样本有语义标签且目标域样本集不具有语义标签为例进行说明。
115.如图7所示,在源域和目标域上训练模型。在源域(各个样本均包括语义标签)上,损失可以包括2d预测结果p
2d
与对应的语义标签y
3d,s
的预测损失(例如,基于交叉熵损失函数的ce(y
3d,s
||p
2d
)),3d预测结果p
3d
与对应的语义标签y
3d,s
之间的预测损失(例如,ce(y
3d,s
||p
3d
)),2d预测结果p
2d
与2d模仿结果p
3d
→
2d
之间的模仿损失(例如,基于kl散度损失函数的kl(p
2d
||p
3d
→
2d
)),3d预测结果p
3d
与3d模仿结果p
2d
→
3d
之间的模仿损失(例如,kl(p
3d
||p
2d
→
3d
),2d图像数据的采样数据(未经掩码处理)与基于3d特征得到的2d恢复结果m
3d
→
2d
之间的恢复损失l
3d
=l2(xs
2d
||m
3d
→
2d
),以及利用3d点云数据x
3d
(未经掩码处理,维度为(n,3))与基于2d特征得到的3d恢复结果m
2d
→
3d
(维度为(n,3))之间的恢复损失l
3d
=l2(x
3d
||m
2d
→
3d
)。
116.继续回到图5,在步骤s430-2中,基于针对所述训练样本集的每个样本计算的每个损失,对所述模型进行训练。
117.例如,模型可以在源域和目标域上交替的训练,例如,按源域子集和目标域子集交替地对模型进行训练,并且在利用各个损失函数的组合损失函数针对一个批次样本均计算出损失值之后,调整一次模型参数。
118.可选地,在另一些实施方式中,为了使模型更好地学习第一模态-第二模态对应关系,使得两个模态的互补性能够更好地应用于训练模型,因此可以在基于第一模态特征和第二模态特征中的一个模态特征生成对应的预测结果的过程中,加入另一个模态特征的信息,可以帮助更好地预测该一个模态的预测结果。
119.因此,在基于每个样本的第一模态特征或第二模态特征生成第一预测结果或第二预测结果时,可以利用动态跨模态滤波器网络(也称为动态卷积层)来替换上述预测网络中采用的简单的一个线性层结构,即,第一预测网络(第二预测网络)包括动态卷积层和归一化层。由于针对第一模态特征和第二模态特征生成预测结果的如下操作是相同的,因此下面结合图8a-8b以基于第一模态特征生成对应的预测结果为例进行说明。基于第二模态特征生成对应的预测结果也可以类似地进行操作。
120.首先,如操作810所示,基于第二模态特征生成用于对第一模态特征进行动态卷积运算的权重矩阵。
121.可选地,第二模态特征在经过一个线性层之后可以得到该权重矩阵,并且该线性层的参数可以在对模型进行训练的过程中进行调整。也就是说,在对动态跨模态滤波器网络的参数的调整可以认为是该线性层的调整。
122.该权重矩阵的维数与第一模态特征的维度以及语义类别的数量相关联。例如,第一模态特征的维度为(n,f
2d
),且语义类别的数量为c,则权重矩阵的维度为(n,f
2d
,c),其中n为针对第一模态数据(或第一模态掩码数据)的采样点的数量,f
2d
为特征提取得到的第一模态特征的通道数量。可选地,第一模态特征对应的采样点的数量可以根据第二模态数据来确定。例如,如前面所述,对2d图像数据进行特征提取并采样得到的2d特征对应的采样点的数量为3d点云数据中的点的数量n。
123.例如,如图8b所示,基于3d特征h
3d
生成用于对3d特征进行动态卷积运算的权重矩阵w
2d
。或者,在基于第二模态特征生成对应的预测结果时,基于2d特征h
2d
生成用于对3d特征进行动态卷积运算的权重矩阵w
3d
。
124.然后,如操作s820所示,基于该权重矩阵,对第一模态特征中每个点的特征进行动态卷积运算,得到针对每个点的语义特征,并且基于每个点的语义特征,利用所述归一化层得到每个点的预测结果。
125.例如,针对每个点i的语义特征可以通过如下卷积运算得到(为了便于描述,2d被视为上标,实际与前文的下标的含义一样):
[0126][0127]
其中,w
i2d
为权重矩阵中用于对该点i进行动态卷积的权重子矩阵,为第一模态特征中该点i的特征。
[0128]
然后,利用归一化层(例如,softmax函数)对每个点i的语义特征进行处理,得到每个点i的预测结果p
i2d
(属于各个语义类别的概率)。
[0129]
由于每个采样点的特征对应的权重矩阵(卷积核)是不同的,因此在利用不同的权重子矩阵对不同的采样点的特征进行卷积运算可以认为是动态卷积运算。另外,由于在本领域熟知卷积运算的作用可以视为滤波,因此利用第二模态特征生成的权重矩阵与第一模态特征进行动态卷积的过程可以认为是动态跨模态滤波过程。
[0130]
最后,如操作s830所示,基于每个点的预测结果得到第一预测结果。
[0131]
例如,将上述针对第一模态特征中的每个点i得到的预测结果p
i2d
拼凑到一起,即可组成最终利用2d特征预测的语义分割结果p
2d
。
[0132]
例如,如图8b所示,权重矩阵w
2d
和2d特征h
2d
进行动态卷积运算(针对每个采样点的特征分别计算后组合成最终的结果),从而得到语义分割结果p
2d
。
[0133]
这样,由于在确定每个模态的预测结果时引入了对方模态的信息(基于权重矩阵)并且按采样点的位置进行“卷积核—特征”关系的建立,因此该方案能够实现更好的第一模态-第二模态特征匹配,使得在每个模态进行预测时能够结合另一模态的特征的信息,进而可以得到更精准的语义分割结果。
[0134]
可见,通过本技术的上述训练语义分割模型的方法,通过利用源域样本集和目标域样本集交替地训练模型,可以提高模型的域适应效果,并且通过跨模态处理过程(例如,
通过模仿网络去模仿另一模态的预测结果以及利用恢复网络去恢复另一模态的原始数据,并计算对应损失,基于这些损失调整模型的参数),使得模型可以更多地学习第一模态-第二模态之间的对应关系,从而可以更好地利用模态之间的互补性,进一步提高模型的域适应效果。另外,通过对部分样本进行掩码处理,并基于类似的过程进行跨模态处理,使得模型可以更多地学习第一模态-第二模态之间的对应关系,并且还可以通过动态跨模态滤波器作为预测网络在预测的过程中也加入另一模态特征的信息,动态地进行跨模态特征匹配从而更好地利用模态之间的互补性,使得训练得到的模型即使在域间隙或域偏移较大的情况下,在实际应用中也能实现较好进行的语义分割。
[0135]
根据本技术的另一方面,还提供了一种语义分割方法。
[0136]
图9示出了根据本技术实施例的语义分割方法的流程示意图。
[0137]
如图9所示,在步骤s910中,获取针对同一场景的第一模态数据和第二模态数据,其中第二模态数据包括多个点的数据。
[0138]
可选地,第一模态数据可以为2d图像数据,并且第二模态数据可以为3d点云数据。所针对的场景可以是当前的驾驶场景。
[0139]
在步骤s920中,利用语义分割模型确定针对第一模态数据的第一预测结果和针对第二模态数据的第二预测结果,其中第一预测结果和所述第二预测结果分别指示第二模态数据中的每个点属于每个语义类别的概率。
[0140]
可选地,该语义分割模型可以基于如前面参考图4a-8b描述的训练方法训练得到。因此,该语义分割模型的更多细节可以参考前文描述的内容,因此这里不再重复描述。
[0141]
例如,在获取了第一模态数据和第二模态数据之后,可以分别通过特征提取网络(如前文提到的第一特征提取网络和第二特征提取网络)得到第一模态特征(例如2d特征)(还包括点特征的采样过程)和第二模态特征(例如3d特征),然后基于该第一模态特征和第二模态特征得到第一预测结果和第二预测结果。
[0142]
在步骤s930中,针对第二模态数据中的每个点,基于所述第一预测结果确定每个语义类别对应的最大概率作为第一概率,基于所述第二预测结果确定每个语义类别的最大概率作为第二概率,并且将第一概率和第二概率中较大一者对应的语义类别作为所述点属于的语义类别。
[0143]
例如,对于点i,第一预测结果指示该点i属于5个语义类别的概率分别为(0.05,0.15,0.10,0.70,0.10),则第一预测结果指示该点i的候选类别为第四类别的概率为0.7,第二预测结果指示该点i属于5个语义类别的概率分别为(0.15,0.10,0.35,0.30,0.10),则第二预测指示该点i的候选类别为第三类别的概率为0.35,由于0.7大于0.35,因此最终确定该点的语义类别为第四类别。
[0144]
通过这样的方法,由于语义分割模型是通过前面参考图4a-8b描述的训练方法训练的,因此在目标域上的应用能够实现较好的语义分割结果。
[0145]
以下结合图10a-10e来说明经过本技术的训练方法训练得到的语义分割模型的效果示意图。
[0146]
首先,假设源域的数据来自发达国家的道路数据,并且目标域的数据来自欠发达国家的道路数据。如图10a所示,向该模型输入目标域的样本或者实际目标域应用时获取的2d图像数据和3d点云数据,与前面图3的模型进行对比,左图中输入的2d图像数据对应的2d
预测结果中竖杆被识别出大部分(用黑色示出),车辆在3d点云数据对应的3d预测结果中也大部分被识别出(用灰色示出);右图中输入的3d点云数据的竖杆和车辆在输出的两个预测结果中也几乎完整地被识别出。
[0147]
然后,假设源域的数据来自发达国家的道路数据,并且目标域的数据来自欠发达国家的道路数据。如图10b所示,左上图为停车场的2d图像数据,右上图为对应的3d点云数据,左下图为基于2d图像数据的2d预测结果,左下图为基于3d点云数据的3d预测结果。识别出的不同的语义类别的物体将用不同的颜色来表示出,例如,绿色代表自然环境,红色代表停车场,蓝色代表车辆,并且黄色代表建筑。可见,2d图像数据和3d点云数据对应的预测结果均大部分正确,并且两个预测结果的比较接近,因此也证明了较好地利用了模态互补性。
[0148]
最后,如图10c-10e所示,示出了针对三个不同的域适应情况,图2-3相关的模型以及图4a-8b中的改进模型的效果对比图。
[0149]
图10c针对的是发达国家的道路数据-欠发达国家的道路数据域适应情况。第一行示出了2d图像数据以及其对应的语义标签,以不同的颜色示出了不同的语义类别。语义标签针对大部分点进行了标注。
[0150]
图2-3相关的模型对应的2d预测结果仅预测出一部分自然环境,并错误地将自然环境预测为其他类别的物体(如框中所示),3d预测结果并没有预测出自然环境(如框中所示)。基于图4a-8b的方法训练的模型正确地预测出了自然环境。
[0151]
图10d针对的是发达国家的道路数据-欠发达国家的道路数据域适应情况。第一行示出了2d图像数据以及其对应的语义标签,以不同的颜色示出了不同的语义类别。语义标签针对车辆、行人和路桩进行了标注。
[0152]
图2-3相关的模型对应的3d预测结果并没有预测出行人。基于图4a-8b的方法训练的模型正确地预测出了行人。
[0153]
图10e针对的是白天道路数据-夜晚道路数据域适应情况。第一行示出了2d图像数据以及其对应的语义标签,以黑色示出了车辆。
[0154]
图2-3相关的模型对应的2d预测结果和3d结果均没有预测出迎面而来的车辆,且错误的对竖杆(左侧以及辆车之间)进行了预测。基于图4a-8b的方法训练的模型正确地预测出了车辆,且没有错误地识别其他不需要识别的物体。
[0155]
可见,相比于图2-3相关的模型,在域间隙或者域偏移过大时通过基于图4a-8b的方法训练的模型能够提高模型的语义分割的准确性。
[0156]
根据本技术的又一方面,还提供了一种用于语义分割的模型的训练装置。
[0157]
图11示出了根据本技术实施例的用于语义分割的模型的训练装置的结构框图。
[0158]
如图11所示,该训练装置1100包括获取模块1110、结果生成模块1120以及训练模块1130。
[0159]
获取模块1110用于进行获取训练样本集的操作,即用于获取包括源域样本集和目标域样本集的训练样本集。
[0160]
其中,该源域样本集中的每个样本包括第一模态数据、第二模态数据和与第二模态关联的语义标签,并且该目标域样本集的至少子集中的每个样本包括第一模态数据、第二模态数据且不包括该语义标签;
[0161]
结果生成模块1120用于针对该训练样本集的每个样本生成与第一模态和第二模
态对应的结果。例如,用于基于该样本的第一模态数据生成第一模态特征,并且基于该样本的第二模态数据生成第二模态特征,其中该样本的第二模态数据包括多个点的数据;基于该第一模态特征和第二模态特征,生成与第一模态和第二模态分别对应的预测结果、模仿结果以及恢复结果,其中每个模态对应的预测结果指示基于当前模态的特征得到的该多个点中的每个点属于每个语义类别的预测概率,每个模态对应的模仿结果指示基于当前模态的特征模仿另一模态的特征得到的每个点属于每个语义类别的预测概率,并且每个模态对应的恢复结果指示利用当前模态的特征得到的另一模态的恢复数据。
[0162]
训练模块1130用于基于针对该训练样本集的每个样本的与第一模态和第二模态分别对应的预测结果、模仿结果和恢复结果之间的跨模态处理,对该模型进行训练。
[0163]
可选地,训练装置1100还可以包括掩码处理模块1140,该掩码处理模块1140可以用于根据预定标准,选择性地对所述训练样本集中的每个样本的第一模态数据以及第二模态数据进行掩码处理,得到至少一个样本对应的第一模态掩码数据和第二模态掩码数据。这样,结果生成模块1120在生成第一模态特征和第二模态特征时,可以具体地基于该样本的第一模态数据或第一模态掩码数据生成该第一模态特征,基于该样本的第二模态数据或第二模态掩码数据生成该第二模态特征,并且该样本的第一模态特征和第二模态特征中的至少一者所基于的样本不是掩码数据。
[0164]
每个模块的更多细节已经在前文参考图4a-9进行了详细描述,因此这里不再重复描述。
[0165]
可见,通过本技术的上述语义分割模型的训练装置,通过利用源域样本集和目标域样本集训练模型,可以提高模型的域适应效果,并且通过跨模态处理过程,使得模型可以更优地学习第一模态-第二模态之间的对应关系,从而可以更好地利用模态之间的互补性,进一步提高模型的域适应效果。另外,通过对部分样本进行掩码处理,并基于类似的过程进行跨模态处理,使得模型可以更优地学习第一模态-第二模态之间的对应关系,并且还可以通过动态跨模态滤波器作为预测网络在预测的过程中也加入另一模态特征的信息,动态地进行跨模态特征匹配从而更好地利用模态之间的互补性,使得训练得到的模型即使在域间隙或域偏移较大的情况下,在实际应用中也能实现较好的语义分割。
[0166]
根据本技术的又一方面,还提供了一种用于语义分割的模型的训练装置。
[0167]
图12示出了根据本技术实施例的用于语义分割的装置的结构框图。
[0168]
如图12所示,该训练装置1200包括获取模块1210、预测模块1220以及确定模块1230。
[0169]
获取模块1210用于获取针对同一场景的第一模态数据和第二模态数据,所述第二模态数据包括多个点的数据。
[0170]
预测模块1220用于利用用于语义分割的模型确定针对所述第一模态数据的第一预测结果和针对所述第二模态数据的第二预测结果,其中第一预测结果和第二预测结果分别指示所述第二模态数据中的每个点属于每个语义类别的概率,其中,所述模型是根据参考图4a-8b所述的方法训练的。
[0171]
确定模块1230用于针对所述第二模态数据中的每个点,基于所述第一预测结果确定每个语义类别对应的最大概率作为第一概率,基于所述第二预测结果确定每个语义类别的最大概率作为第二概率,并且将第一概率和第二概率中较大一者对应的语义类别作为所
述点属于的语义类别。
[0172]
每个模块的更多细节已经在前文进行了详细描述,因此这里不再重复描述。
[0173]
通过这样的装置,由于语义分割模型是通过前面参考图4a-8b描述的训练方法训练的,因此在目标域上的应用能够实现较好的语义分割结果。
[0174]
另外,虽然在图11-12中以示例的方式示出了上述各模块,但是应理解,根据不同的功能还可以将训练装置1100和装置1200划分为更多或更少的模块,或者每个模块可以被划分为进一步的子模块。在一些示例实施方式中,模块或者其子模块可用电子硬件(例如,通用目的处理器、dsp、asic、fpga或其它可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件等等)、计算机软件(例如可以存储于随机接入存储器(ram)、闪存、只读存储器(rom)、可擦除可编程rom(eprom)等等)或两者的组合来实现。
[0175]
图13示出了根据本技术实施例的计算设备1300的示意性框图。
[0176]
如图13所示,计算设备1300包括通过系统总线连接的一个或多个处理器、一个或多个存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该终端的非易失性存储介质存储有操作系统,还可存储有计算机可执行程序,该计算机可执行程序被处理器执行时,可使得处理器实现如前面所述的训练方法和语义分割方法的各步骤中描述的各种操作。该内存储器中也可储存有计算机可执行程序,该计算机可执行程序被处理器执行时,可使得处理器执行训练方法和语义分割方法的各步骤中描述的各种操作。
[0177]
处理器可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术的实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是x84架构或arm架构的。
[0178]
非易失性存储器可以是只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)或闪存。应注意,本技术描述的方法的存储器旨在包括但不限于这些和任意其它适合类别的存储器。
[0179]
电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0180]
该电子设备可以是终端或者服务器。其中,终端可包括但不限于:智能手机、平板电脑、笔记本电脑、台式计算机、智能电视等;终端内可运行各式各样的客户端(application,app),如多媒体播放客户端、社交客户端、浏览器客户端、信息流客户端、教育客户端,等等。服务器可以是参考图2描述的服务器,即可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
[0181]
根据本技术的另一方面,还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如前面所述的训练方法和语义分割方法的各步骤。
[0182]
根据本技术的又一方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如前面所述的训练方法和语义分割方法的各步骤。
[0183]
需要说明的是,附图中的流程图和框图,图示了按照本技术各种实施例的方法和装置的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0184]
在上面详细描述的本技术的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本技术的原理和精神的情况下,可对这些实施例或其特征进行各种修改和组合,这样的修改应落入本技术的范围内。
再多了解一些
本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。