生成模型的方法、图像语义分割方法、装置、车辆及介质转让专利

申请号 : CN202210963911.9

文献号 : CN115063639B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周天宝

申请人 : 小米汽车科技有限公司

摘要 :

本公开涉及一种生成模型的方法、图像语义分割方法、装置、车辆及介质。生成模型的方法用于自动驾驶,其包括:获取训练样本,训练样本包括待分类样本图像和待分类样本图像对应的标注结果;将待分类样本图像输入第一网络,获得第一分类结果;将第一分类结果分别输入第二网络和第三网络,获得第二网络输出的边缘识别结果和第三网络输出的语义分类结果;根据待分类样本图像对应的标注结果、边缘识别结果和语义分类结果,对第一网络、第二网络和第三网络的参数进行调整;在满足预设的训练终止条件时,根据第一网络的参数和第三网络的参数,生成图像语义分割模型。如此,提升了图像语义分割模型边缘分割的能力,提高了图像语义分割模型的精准度。

权利要求 :

1.一种生成模型的方法,其特征在于,所述方法包括:

获取训练样本,所述训练样本包括待分类样本图像和所述待分类样本图像对应的标注结果,所述待分类样本图像对应的标注结果包括用于指示所述待分类样本图像中待分类对象各自所属类别的类别结果和用于对所述待分类样本图像中的边缘进行提取得到的边缘提取结果;

将所述待分类样本图像输入第一网络,获得第一分类结果,所述第一网络用于对所述分类样本图像进行第一次分类;

将所述第一分类结果分别输入第二网络和第三网络,获得所述第二网络输出的边缘识别结果和所述第三网络输出的语义分类结果,所述第二网络用于根据所述第一分类结果对所述分类样本图像中边缘像素进行识别,所述第三网络用于根据所述第一分类结果对所述待分类样本图像进行第二次分类;

根据所述待分类样本图像对应的标注结果、所述边缘识别结果和所述语义分类结果,对所述第一网络、所述第二网络和所述第三网络的参数进行调整;

在满足预设的训练终止条件时,根据所述第一网络的参数和所述第三网络的参数,生成图像语义分割模型,其中,所述图像语义分割模型仅包括所述第一网络和所述第三网络。

2.根据权利要求1所述的方法,其特征在于,所述根据所述待分类样本图像对应的标注结果、所述边缘识别结果和所述语义分类结果,对所述第一网络、所述第二网络和所述第三网络的参数进行调整,包括:根据所述待分类样本图像对应的标注结果、所述边缘识别结果和所述语义分类结果,确定损失函数;

根据所述损失函数对所述第一网络、所述第二网络和所述第三网络的参数进行调整。

3.根据权利要求2所述的方法,其特征在于,所述损失函数包括边缘识别损失函数和语义分割损失函数;

所述根据所述待分类样本图像对应的标注结果、所述边缘识别结果和所述语义分类结果,确定损失函数,包括:根据所述边缘提取结果和所述边缘识别结果,确定所述边缘识别损失函数;

根据所述类别结果和所述语义分类结果,确定所述语义分割损失函数。

4.根据权利要求3所述的方法,其特征在于,所述根据所述损失函数对所述第一网络、所述第二网络和所述第三网络的参数进行调整,包括:根据所述边缘识别损失函数、所述边缘识别损失函数的权重和所述语义分割损失函数,确定总损失函数,其中,所述边缘识别损失函数的权重为大于0小于1的数值;

根据所述总损失函数,对所述第一网络、所述第二网络和所述第三网络的参数进行调整。

5.根据权利要求3或4所述的方法,其特征在于,所述边缘提取结果通过以下方式确定:将所述待分类样本图像对应的类别结果输入边缘提取模型,以得到所述边缘提取模型输出的边缘提取结果;

其中,所述边缘提取模型为边缘滤波器,且所述边缘滤波器的参数为固定值。

6.一种图像语义分割方法,其特征在于,包括:

获取待分类图像,所述待分类图像至少包括一个待分类对象;

将所述待分类图像输入图像语义分割模型,以得到所述图像语义分割模型输出的分类结果,其中,所述分类结果用于指示所述至少一个待分类对象所属的类别,所述图像语义分割模型是根据权利要求1‑5中任一项所述方法生成的。

7.一种生成模型的装置,其特征在于,所述装置包括:

第一获取模块,被配置为获取训练样本,所述训练样本包括待分类样本图像和所述待分类样本图像对应的标注结果,所述待分类样本图像对应的标注结果包括用于指示所述待分类样本图像中待分类对象各自所属类别的类别结果和用于对所述待分类样本图像中的边缘进行提取得到的边缘提取结果;

第二获取模块,被配置为将所述待分类样本图像输入第一网络,获得第一分类结果,所述第一网络用于对所述分类样本图像进行第一次分类;

第三获取模块,被配置为将所述第一分类结果分别输入第二网络和第三网络,获得所述第二网络输出的边缘识别结果和所述第三网络输出的语义分类结果,所述第二网络用于根据所述第一分类结果对所述分类样本图像中边缘像素进行识别,所述第三网络用于根据所述第一分类结果对所述待分类样本图像进行第二次分类;

调整模块,被配置为根据所述待分类样本图像对应的标注结果、所述边缘识别结果和所述语义分类结果,对所述第一网络、所述第二网络和所述第三网络的参数进行调整;

生成模块,被配置为在满足预设的训练终止条件时,根据所述第一网络的参数和所述第三网络的参数,生成图像语义分割模型,其中,所述图像语义分割模型仅包括所述第一网络和所述第三网络。

8.一种图像语义分割装置,其特征在于,所述装置包括:

第四获取模块,被配置为获取待分类图像,所述待分类图像至少包括一个待分类对象;

第五获取模块,被配置为将所述待分类图像输入图像语义分割模型,得到所述图像语义分割模型输出的分类结果,其中,所述分类结果用于指示所述至少一个待分类对象所属的类别,所述图像语义分割模型是根据权利要求1‑5中任一项所述方法生成的。

9.一种车辆,其特征在于,包括:

处理器;

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

其中,所述处理器被配置为:

获取待分类图像,所述待分类图像至少包括一个待分类对象;

将所述待分类图像输入图像语义分割模型,以得到所述图像语义分割模型输出的分类结果,其中,所述分类结果用于指示所述至少一个待分类对象所属的类别,所述图像语义分割模型是根据权利要求1‑5中任一项所述方法生成的。

10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时实现权利要求1‑6中任一项所述方法的步骤。

说明书 :

生成模型的方法、图像语义分割方法、装置、车辆及介质

技术领域

[0001] 本公开涉及自动驾驶技术领域,尤其涉及一种生成模型的方法、图像语义分割方法、装置、车辆及介质。

背景技术

[0002] 图像语义分割是图像理解的基础,也是场景解析中非常重要的一个环节,其目标是将图像分割成具有不同语义信息的区域,并且标注每个区域相应的语义标签,例如,通过对一张图像进行图像语义分割后可为图像中的物体添加语义标签(比如桌子、墙壁、天空、人、狗等)。图像语义分割在自动驾驶、无人机应用以及穿戴式设备应用中非常重要。以自动驾驶为例,对道路场景中的某些元素例如车道线、减速带等进行正确的语义分割是许多下游任务(比如,减速、变道等)可以有效运行的前提。目前主要是利用基于机器学习的方式训练得到的图像语义分割模型对图像进行语义分割。

发明内容

[0003] 为克服相关技术中存在的问题,本公开提供一种生成模型的方法、图像语义分割方法、装置、车辆及介质。
[0004] 根据本公开实施例的第一方面,提供一种生成模型的方法,包括:
[0005] 获取训练样本,所述训练样本包括待分类样本图像和所述待分类样本图像对应的标注结果,所述待分类样本图像对应的标注结果包括用于指示所述待分类样本图像中待分类对象各自所属类别的类别结果和用于对所述待分类样本图像中的边缘进行提取得到的边缘提取结果;
[0006] 将所述待分类样本图像输入第一网络,获得第一分类结果,所述第一网络用于对所述分类样本图像进行第一次分类;
[0007] 将所述第一分类结果分别输入第二网络和第三网络,获得所述第二网络输出的边缘识别结果和所述第三网络输出的语义分类结果,所述第二网络用于根据所述第一分类结果对所述分类样本图像中边缘像素进行识别,所述第三网络用于根据所述第一分类结果对所述待分类样本图像进行第二次分类;
[0008] 根据所述待分类样本图像对应的标注结果、所述边缘识别结果和所述语义分类结果,对所述第一网络、所述第二网络和所述第三网络的参数进行调整;
[0009] 在满足预设的训练终止条件时,根据所述第一网络的参数和所述第三网络的参数,生成图像语义分割模型,其中,所述图像语义分割模型仅包括所述第一网络和所述第三网络。
[0010] 可选地,所述根据所述待分类样本图像对应的标注结果、所述边缘识别结果和所述语义分类结果,对所述第一网络、所述第二网络和所述第三网络的参数进行调整,包括:
[0011] 根据所述待分类样本图像对应的标注结果、所述边缘识别结果和所述语义分类结果,确定损失函数;
[0012] 根据所述损失函数对所述第一网络、所述第二网络和所述第三网络的参数进行调整。
[0013] 可选地,所述损失函数包括边缘识别损失函数和语义分割损失函数;
[0014] 所述根据所述待分类样本图像对应的标注结果、所述边缘识别结果和所述语义分类结果,确定损失函数,包括:
[0015] 根据所述边缘提取结果和所述边缘识别结果,确定所述边缘识别损失函数;
[0016] 根据所述类别结果和所述语义分类结果,确定所述语义分割损失函数。
[0017] 可选地,所述根据所述损失函数对所述第一网络、所述第二网络和所述第三网络的参数进行调整,包括:
[0018] 根据所述边缘识别损失函数、所述边缘识别损失函数的权重和所述语义分割损失函数,确定总损失函数,其中,所述边缘识别损失函数的权重为大于0小于1的数值;
[0019] 根据所述总损失函数,对所述第一网络、所述第二网络和所述第三网络的参数进行调整。
[0020] 可选地,所述边缘提取结果通过以下方式确定:
[0021] 将所述待分类样本图像对应的类别结果输入边缘提取模型,以得到所述边缘提取模型输出的边缘提取结果;
[0022] 其中,所述边缘提取模型为边缘滤波器,且所述边缘滤波器的参数为固定值。
[0023] 根据本公开实施例的第二方面,提供一种图像语义分割方法,包括:
[0024] 获取待分类图像,所述待分类图像至少包括一个待分类对象;
[0025] 将所述待分类图像输入图像语义分割模型,以得到所述图像语义分割模型输出的分类结果,其中,所述分类结果用于指示所述至少一个待分类对象所属的类别,所述图像语义分割模型是根据本公开第一方面所提供的所述方法生成的。
[0026] 根据本公开实施例的第三方面,提供一种生成模型的装置,所述装置包括:
[0027] 第一获取模块,被配置为获取训练样本,所述训练样本包括待分类样本图像和所述待分类样本图像对应的标注结果,所述待分类样本图像对应的标注结果包括用于指示所述待分类样本图像中待分类对象各自所属类别的类别结果和用于对所述待分类样本图像中的边缘进行提取得到的边缘提取结果;
[0028] 第二获取模块,被配置为将所述待分类样本图像输入第一网络,获得第一分类结果,所述第一网络用于对所述分类样本图像进行第一次分类;
[0029] 第三获取模块,被配置为将所述第一分类结果分别输入第二网络和第三网络,获得所述第二网络输出的边缘识别结果和所述第三网络输出的语义分类结果,所述第二网络用于根据所述第一分类结果对所述分类样本图像中边缘像素进行识别,所述第三网络用于根据所述第一分类结果对所述待分类样本图像进行第二次分类;
[0030] 调整模块,被配置为根据所述待分类样本图像对应的标注结果、所述边缘识别结果和所述语义分类结果,对所述第一网络、所述第二网络和所述第三网络的参数进行调整;
[0031] 生成模块,被配置为在满足预设的训练终止条件时,根据所述第一网络的参数和所述第三网络的参数,生成图像语义分割模型,其中,所述图像语义分割模型仅包括所述第一网络和所述第三网络。
[0032] 根据本公开实施例的第四方面,提供一种图像语义分割装置,所述装置包括:
[0033] 第四获取模块,被配置为获取待分类图像,所述待分类图像至少包括一个待分类对象;
[0034] 第五获取模块,被配置为将所述待分类图像输入图像语义分割模型,得到所述图像语义分割模型输出的分类结果,其中,所述分类结果用于指示所述至少一个待分类对象所属的类别,所述图像语义分割模型是根据本公开第一方面所提供的所述方法生成的。
[0035] 根据本公开实施例的第五方面,提供一种车辆,包括:
[0036] 处理器;
[0037] 用于存储处理器可执行指令的存储器;
[0038] 其中,所述处理器被配置为:
[0039] 获取待分类图像,所述待分类图像至少包括一个待分类对象;
[0040] 将所述待分类图像输入图像语义分割模型,以得到所述图像语义分割模型输出的分类结果,其中,所述分类结果用于指示所述至少一个待分类对象所属的类别,所述图像语义分割模型是根据本公开第一方面所提供的所述方法生成的。
[0041] 根据本公开实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的生成模型的方法的步骤,或者,实现本公开第二方面所提供的图像语义分割方法的步骤。
[0042] 本公开的实施例提供的技术方案可以包括以下有益效果:
[0043] 采用上述技术方案,利用第三网络输出的语义分类结果、第二网络输出的边缘识别结果和标注结果,对第一网络进行训练,有效提高了第一网络对待分类对象的边缘分割的能力,进而提升了基于第一网络生成的图像语义分割模型边缘分割的能力。并且,由于第二网络和第三网络可以并行处理第一网络输出的第一分类结果,因此,在生成图像语义分割模型的过程中引入的第二网络不会增加每一训练轮次的时长,如此,实现了在不增加训练时长的基础上提高图像语义分割模型的精准度目的。此外,在训练结束时,仅根据训练结束时的第一网络和第三网络的参数生成图像语义分割模型,即,所生成的图像语义分割模型仅包括第一网络和第三网络,这样,在利用该图像语义分割模型对图像进行语义分割时,不额外增加图像分割的时长,确保了图像分割的效率。
[0044] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

[0045] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0046] 图1是根据一示例性实施例示出的一种生成模型的方法的流程图。
[0047] 图2是根据一示例性实施例示出的一种生成模型的方法的示意图。
[0048] 图3是根据一示例性实施例示出的一种图像语义分割方法的流程图。
[0049] 图4是根据一示例性实施例示出的一种生成模型的装置的框图。
[0050] 图5是根据一示例性实施例示出的一种图像语义分割装置的框图。
[0051] 图6是根据一示例性实施例示出的一种车辆的功能框图示意图。

具体实施方式

[0052] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0053] 需要说明的是,本申请中所有获取信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
[0054] 在训练图像语义分割模型时所采用的损失函数一般为交叉熵损失函数或者L2损失函数,然而,由于这两类损失函数没有考虑到像素点之间的关联性,导致分类结果中待分割对象的边缘不平滑。为了解决这一问题,在相关技术中提出了一些基于边缘回归的损失函数,这些损失函数往往需要提前提取标签图像中各个物体的边缘作为真值,并对待分割图像的边缘进行提取,最后通过复杂的边缘像素点匹配计算损失。采用该方式,提取真值和对待分割图像的边缘进行提取都需要花费较多时间,而且,通过边缘像素点匹配计算损失也比较耗时,导致对图像语义分割模型训练的效率较低。
[0055] 有鉴于此,本公开提供一种生成模型的方法、图像语义分割方法、装置、车辆及介质,以简化模型训练过程,提高模型生成效率。
[0056] 图1是根据一示例性实施例示出的一种生成模型的方法的流程图。如图1所示,该方法可以包括以下步骤。
[0057] 在步骤S11中,获取训练样本。
[0058] 在本公开中,训练样本可以为多个,每个训练样本可以包括待分类样本图像和待分类样本图像对应的标注结果,其中,该待分类样本图像中包括一个或多个待分类对象。
[0059] 在步骤S12中,将待分类样本图像输入第一网络,获得第一分类结果。
[0060] 在步骤S13中,将第一分类结果分别输入第二网络和第三网络,获得第二网络输出的边缘识别结果和所述第三网络输出的语义分类结果。
[0061] 在本公开中,初始模型可以包括第一网络、第二网络和第三网络,且第一网络分别与第二网络和第三网络相连。其中,第一网络用于对待分类样本图像进行第一次分类,第二网络用于根据第一分类结果对分类样本图像中边缘像素进行识别,第三网络用于根据第一分类结果对待分类样本图像进行第二次分类。
[0062] 此外,第一网络可以包括依次相连的主干网络、特征金字塔网络和分割头网络。相应地,首先将待分类样本图像输入主干网络进行特征提取,接着,将提取到的特征输入特征金字塔网络进行多尺度识别,之后,将识别结果输入分割头网络对待分类样本图像进行第一次分类,并输出第一分类结果。其中,第一分类结果用于指示待分类样本图像中每个像素点所属的类别。
[0063] 在本公开中,在得到第一分类结果之后,将第一分类结果输入第二网络中。其中,第二网络为边缘识别模块,其可以为3×3的卷积网络,且该卷积网络的输出通道为1。应当理解的是,在本公开中,第二网络根据第一分类结果只需识别出待分类样本图像中的像素点是否为边缘像素点即可,无需识别出像素点为哪一个待分类对象的边缘像素点。示例地,第二网络输出的边缘识别结果用于指示每一像素点是否为边缘像素点。例如,用数字1表征边缘像素点,用数字0表征像素点为非边缘像素点。
[0064] 此外,在得到第一分类结果之后,将第一分类结果输入第三网络中。其中,第三网络可以是语义分割模块。该语义分割模块根据第一分类结果对待分类样本图像进行第二次分类,即,进一步识别像素点所属的类型。
[0065] 应当理解的是,在本公开中,第二网络和第三网络可以并行处理第一网络输出的第一分类结果。
[0066] 在步骤S14中,根据待分类样本图像对应的标注结果、边缘识别结果和语义分类结果,对第一网络、第二网络和第三网络的参数进行调整。
[0067] 在本公开中,根据待分类样本图像对应的标注结果、边缘识别结果和语义分类结果,利用反向传播算法,对第一网络、第二网络和第三网络的参数进行调整。示例地,由于待分类样本图像对应的标注结果可以作为模型训练的真值,因此,可以根据边缘识别结果、语义分类结果与该真值的误差,对第一网络、第二网络和第三网络的参数进行调整。下文将详细描述如何根据边缘识别结果、语义分类结果与该真值的误差,对第一网络、第二网络和第三网络的参数进行调整,此处暂不描述。
[0068] 在步骤S15中,在满足预设的训练终止条件时,根据第一网络的参数和第三网络的参数,生成图像语义分割模型。
[0069] 在可能的实施方式中,预设的训练终止条件可以包括训练轮次达到预设次数,或者,边缘识别结果、语义分类结果分别与待分类样本图像对应的标注结果的误差小于预设阈值。
[0070] 采用上述技术方案,利用第三网络输出的语义分类结果、第二网络输出的边缘识别结果和标注结果,对第一网络进行训练,有效提高了第一网络对待分类对象的边缘分割的能力,进而提升了基于第一网络生成的图像语义分割模型边缘分割的能力。并且,由于第二网络和第三网络可以并行处理第一网络输出的第一分类结果,因此,在生成图像语义分割模型的过程中引入的第二网络不会增加每一训练轮次的时长,如此,实现了在不增加训练时长的基础上提高图像语义分割模型的精准度目的。此外,在训练结束时,仅根据训练结束时的第一网络和第三网络的参数生成图像语义分割模型,即,所生成的图像语义分割模型仅包括第一网络和第三网络,这样,在利用该图像语义分割模型对图像进行语义分割时,不额外增加图像分割的时长,确保了图像分割的效率。
[0071] 在可能的实施例中,图1中步骤S14的具体实施方式可以为:根据待分类样本图像对应的标注结果、边缘识别结果和语义分类结果,确定损失函数;根据损失函数对第一网络、第二网络和第三网络的参数进行调整。
[0072] 在本公开中,损失函数可以包括边缘识别损失函数和语义分割损失函数,分类样本图像对应的标注结果包括用于指示待分类样本图像中待分类对象各自所属类别的类别结果和用于对所述待分类样本图像中的边缘进行提取得到的边缘提取结果。
[0073] 在本公开中,对待分类样本图像中的边缘进行提取得到边缘提取结果的具体实施方式可以为:将待分类样本图像对应的类别结果输入边缘提取模型,以得到边缘提取模型输出的边缘提取结果,其中,边缘提取模型为边缘滤波器,且边缘滤波器的参数为固定值。示例地,该边缘提取模型可以为两个固定参数的x方向和y方向边缘滤波器。也即是说,在本公开中,所采用的边缘提取模型无需进行训练,进一步减小了模型训练时长。
[0074] 上述根据待分类样本图像对应的标注结果、边缘识别结果和语义分类结果,确定损失函数的具体实施方式包括:根据边缘提取结果和边缘识别结果,获得边缘识别损失函数;根据类别结果和语义分类结果,获得语义分割损失函数。
[0075] 示例地,边缘识别损失函数可以为二值交叉熵损失函数 ,其中,表征待分类样本图像对应的边缘提取结果, 表征第二网络输出的边缘识别结果。语义分割损失函数可以为交叉熵损失函数 ,其中, 表征待分类样本图像对应的类别结果, 表征第三网络输出的语义分类结果。
[0076] 示例地,图2是根据一示例性实施例示出的一种生成模型的方法的示意图。如图2所示,第一网络包括依次相连的主干网络、特征金字塔网络和分割头网络。第二网络为边缘识别模块,第三网络为语义分割模块。首先,将待分类样本图像输入主干网络,接着,将主干网络输出的结果输入特征金字塔网络,接着,将特征金字塔网络输出的结果输入分割头网络,以得到第一分类结果。之后,将第一分类结果分别输入边缘识别模块和语义分割模块,分别得到边缘识别模块输出的边缘识别结果和语义分割模块输出的语义分类结果。同时,将分类样本图像对应的类别结果输入边缘提取模型,得到边缘提取模型输出的边缘提取结果。之后,根据边缘识别结果和边缘提取结果获得边缘识别损失函数,以及,根据语义分类结果和分类样本图像对应的类别结果获得语义分割损失函数。
[0077] 上述根据损失函数对第一网络、第二网络和第三网络的参数进行调整的具体实施方式为:根据边缘识别损失函数和语义分割损失函数,对第一网络、第二网络和第三网络的参数进行调整。
[0078] 在一种可能的方式中,首先,根据边缘识别损失函数对第一网络和第二网络的参数进行调整,之后,再根据语义分割损失函数对第一网络和第三网络的参数进行调整。或者,首先,根据语义分割损失函数对第一网络和第三网络的参数进行调整,之后,再根据边缘识别损失函数对第一网络和第二网络的参数进行调整。然而,在该方式中,在每一训练轮次中,需要对第一网络的参数进行两次调整,可能会增加训练时长以及调整参数的复杂度。
[0079] 此外,考虑到生成的图像语义分割模型中只包括第一网络和第三网络,且对待分类样本图像的语义分类结果的精准度的需求通常高于由于对待分类对象的边缘平滑性的需求,因此,在另一种实施例中,可以根据边缘识别损失函数、边缘识别损失函数的权重和语义分割损失函数,确定总损失函数,其中,边缘识别损失函数的权重为大于0小于1的数值;根据总损失函数,对第一网络、第二网络和第三网络的参数进行调整。示例地,可以通过公式 ,确定总损失函数 。其中, 表征边缘识别损失函数的权重,例如, 可以为0.4。
[0080] 采用上述技术方案,根据边缘识别损失函数、语义分割损失函数和边缘识别损失函数的权重,确定总损失函数,进而根据总损失函数对第一网络、第二网络和第三网络的参数进行调整,如此,可以避免增加训练时长以及调整参数的复杂度,进一步简化了模型训练过程,提高模型生成效率。
[0081] 图3是根据一示例性实施例示出的一种图像语义分割方法的流程图。如图3所示,该方法可以包括以下步骤。
[0082] 在步骤S301中,获取待分类图像。其中,待分类图像至少包括一个待分类对象。
[0083] 在步骤S302中,将待分类图像输入图像语义分割模型,以得到图像语义分割模型输出的分类结果,其中,分类结果用于指示至少一个待分类对象所属的类别,图像语义分割模型是根据本公开对提供的生成模型的方法生成的。
[0084] 采用上述技术,利用精准度较高的图像语义分割模型对图像进行语义分割,在不额外增加图像分割时长的基础上,有效提升了对待分类对象边缘分割的平缓性,提高了图像分割的效率。
[0085] 基于同一发明构思,本公开提供一种生成模型的装置。图4是根据一示例性实施例示出的一种生成模型的装置的框图。如图4所示,生成模型的装置400可以包括:
[0086] 第一获取模块401,被配置为获取训练样本,所述训练样本包括待分类样本图像和所述待分类样本图像对应的标注结果;
[0087] 第二获取模块402,被配置为将所述待分类样本图像输入第一网络,获得第一分类结果,所述第一网络用于对所述分类样本图像进行第一次分类;
[0088] 第三获取模块403,被配置为将所述第一分类结果分别输入第二网络和第三网络,获得所述第二网络输出的边缘识别结果和所述第三网络输出的语义分类结果,所述第二网络用于根据所述第一分类结果对所述分类样本图像中边缘像素进行识别,所述第三网络用于根据所述第一分类结果对所述待分类样本图像进行第二次分类;
[0089] 调整模块404,被配置为根据所述待分类样本图像对应的标注结果、所述边缘识别结果和所述语义分类结果,对所述第一网络、所述第二网络和所述第三网络的参数进行调整;
[0090] 生成模块405,被配置为在满足预设的训练终止条件时,根据所述第一网络的参数和所述第三网络的参数,生成图像语义分割模型。
[0091] 可选地,所述调整模块404包括:
[0092] 第一确定子模块,被配置为根据所述待分类样本图像对应的标注结果、所述边缘识别结果和所述语义分类结果,确定损失函数;
[0093] 第一调整子模块,用于根据所述损失函数对所述第一网络、所述第二网络和所述第三网络的参数进行调整。
[0094] 可选地,所述待分类样本图像对应的标注结果包括用于指示所述待分类样本图像中待分类对象各自所属类别的类别结果和用于对所述待分类样本图像中的边缘进行提取得到的边缘提取结果;所述损失函数包括边缘识别损失函数和语义分割损失函数;所述第一确定子模块包括:
[0095] 第二确定子模块,被配置为根据所述边缘提取结果和所述边缘识别结果,确定所述边缘识别损失函数;
[0096] 第三确定子模块,被配置为根据所述类别结果和所述语义分类结果,确定所述语义分割损失函数。
[0097] 可选地,所述第一调整子模块包括:
[0098] 第四确定子模块,被配置为根据所述边缘识别损失函数、所述边缘识别损失函数的权重和所述语义分割损失函数,确定总损失函数,其中,所述边缘识别损失函数的权重为大于0小于1的数值;
[0099] 第二调整子模块,被配置为根据所述总损失函数,对所述第一网络、所述第二网络和所述第三网络的参数进行调整。
[0100] 可选地,所述边缘提取结果通过以下方式确定:
[0101] 将所述待分类样本图像对应的类别结果输入边缘提取模型,以得到所述边缘提取模型输出的边缘提取结果;
[0102] 其中,所述边缘提取模型为边缘滤波器,且所述边缘滤波器的参数为固定值。
[0103] 基于同一发明构思,本公开还提供一种图像语义分割装置。图5是根据一示例性实施例示出的一种图像语义分割装置的框图。如图5所示,图像语义分割装置500包括:
[0104] 第四获取模块501,被配置为获取待分类图像,所述待分类图像至少包括一个待分类对象;
[0105] 第五获取模块502,被配置为将所述待分类图像输入图像语义分割模型,得到所述图像语义分割模型输出的分类结果,其中,所述分类结果用于指示所述至少一个待分类对象所属的类别,所述图像语义分割模型是根据本公开所提供的生成模型的方法生成的。
[0106] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0107] 本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的生成模型的方法的步骤或者图像语义分割方法的步骤。
[0108] 参阅图6,图6是根据一示例性实施例示出的一种车辆的功能框图示意图。车辆600可以被配置为完全或部分自动驾驶模式。例如,车辆600可以通过感知系统620获取其周围的环境信息,并基于对周边环境信息的分析得到自动驾驶策略以实现完全自动驾驶,或者将分析结果呈现给用户以实现部分自动驾驶。
[0109] 车辆600可包括各种子系统,例如,信息娱乐系统610、感知系统620、决策控制系统630、驱动系统640以及计算平台650。可选的,车辆600可包括更多或更少的子系统,并且每个子系统都可包括多个部件。另外,车辆600的每个子系统和部件可以通过有线或者无线的方式实现互连。
[0110] 在一些实施例中,信息娱乐系统610可以包括通信系统611,娱乐系统612以及导航系统613。
[0111] 通信系统611可以包括无线通信系统,无线通信系统可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统可使用3G蜂窝通信,例如CDMA、EVD0、GSM/GPRS,或者4G蜂窝通信,例如LTE。或者5G蜂窝通信。无线通信系统可利用WiFi与无线局域网(wireless local area network,WLAN)通信。在一些实施例中,无线通信系统可利用红外链路、蓝牙或ZigBee与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统可包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
[0112] 娱乐系统612可以包括显示设备,麦克风和音响,用户可以基于娱乐系统在车内收听广播,播放音乐;或者将手机和车辆联通,在显示设备上实现手机的投屏,显示设备可以为触控式,用户可以通过触摸屏幕进行操作。
[0113] 在一些情况下,可以通过麦克风获取用户的语音信号,并依据对用户的语音信号的分析实现用户对车辆600的某些控制,例如调节车内温度等。在另一些情况下,可以通过音响向用户播放音乐。
[0114] 导航系统613可以包括由地图供应商所提供的地图服务,从而为车辆600提供行驶路线的导航,导航系统613可以和车辆的全球定位系统621、惯性测量单元622配合使用。地图供应商所提供的地图服务可以为二维地图,也可以是高精地图。
[0115] 感知系统620可包括感测关于车辆600周边的环境的信息的若干种传感器。例如,感知系统620可包括全球定位系统621(全球定位系统可以是GPS系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,IMU)622、激光雷达623、毫米波雷达624、超声雷达625以及摄像装置626。感知系统620还可包括被监视车辆600的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是车辆600的安全操作的关键功能。
[0116] 全球定位系统621用于估计车辆600的地理位置。
[0117] 惯性测量单元622用于基于惯性加速度来感测车辆600的位姿变化。在一些实施例中,惯性测量单元622可以是加速度计和陀螺仪的组合。
[0118] 激光雷达623利用激光来感测车辆600所位于的环境中的物体。在一些实施例中,激光雷达623可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。
[0119] 毫米波雷达624利用无线电信号来感测车辆600的周边环境内的物体。在一些实施例中,除了感测物体以外,毫米波雷达624还可用于感测物体的速度和/或前进方向。
[0120] 超声雷达625可以利用超声波信号来感测车辆600周围的物体。
[0121] 摄像装置626用于捕捉车辆600的周边环境的图像信息。摄像装置626可以包括单目相机、双目相机、结构光相机以及全景相机等,摄像装置626获取的图像信息可以包括静态图像,也可以包括视频流信息。
[0122] 决策控制系统630包括基于感知系统620所获取的信息进行分析决策的计算系统631,决策控制系统630还包括对车辆600的动力系统进行控制的整车控制器632,以及用于控制车辆600的转向系统633、油门634和制动系统635。
[0123] 计算系统631可以操作来处理和分析由感知系统620所获取的各种信息以便识别车辆600周边环境中的目标、物体和/或特征。目标可以包括行人或者动物,物体和/或特征可包括交通信号、道路边界和障碍物。计算系统631可使用物体识别算法、运动中恢复结构(Structure from Motion,SFM)算法、视频跟踪等技术。在一些实施例中,计算系统631可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。计算系统631可以将所获取的各种信息进行分析并得出对车辆的控制策略。
[0124] 整车控制器632可以用于对车辆的动力电池和引擎641进行协调控制,以提升车辆600的动力性能。
[0125] 转向系统633可操作来调整车辆600的前进方向。例如在一个实施例中可以为方向盘系统。
[0126] 油门634用于控制引擎641的操作速度并进而控制车辆600的速度。
[0127] 制动系统635用于控制车辆600减速。制动系统635可使用摩擦力来减慢车轮644。在一些实施例中,制动系统635可将车轮644的动能转换为电流。制动系统635也可采取其他形式来减慢车轮644转速从而控制车辆600的速度。
[0128] 驱动系统640可包括为车辆600提供动力运动的组件。在一个实施例中,驱动系统640可包括引擎641、能量源642、传动系统643和车轮644。引擎641可以是内燃机、电动机、空气压缩引擎或其他类型的引擎组合,例如汽油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎641将能量源642转换成机械能量。
[0129] 能量源642的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源642也可以为车辆600的其他系统提供能量。
[0130] 传动系统643可以将来自引擎641的机械动力传送到车轮644。传动系统643可包括变速箱、差速器和驱动轴。在一个实施例中,传动系统643还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮644的一个或多个轴。
[0131] 车辆600的部分或所有功能受计算平台650控制。计算平台650可包括至少一个处理器651,处理器651可以执行存储在例如存储器652这样的非暂态计算机可读介质中的指令653。在一些实施例中,计算平台650还可以是采用分布式方式控制车辆600的个体组件或子系统的多个计算设备。
[0132] 处理器651可以是任何常规的处理器,诸如商业可获得的CPU。可替换地,处理器651还可以包括诸如图像处理器(Graphic Process Unit,GPU),现场可编程门阵列(Field Programmable Gate Array,FPGA)、片上系统(System on Chip,SOC)、专用集成芯片(Application Specific Integrated Circuit,ASIC)或它们的组合。尽管图6功能性地图示了处理器、存储器、和在相同块中的计算机的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机、或存储器实际上可以包括可以或者可以不存储在相同的物理外壳内的多个处理器、计算机、或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,处理器只执行与特定于组件的功能相关的计算。
[0133] 在本公开实施方式中,处理器651可以执行上述的图像语义分割方法。
[0134] 在此处所描述的各个方面中,处理器651可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
[0135] 在一些实施例中,存储器652可包含指令653(例如,程序逻辑),指令653可被处理器651执行来执行车辆600的各种功能。存储器652也可包含额外的指令,包括向信息娱乐系统610、感知系统620、决策控制系统630、驱动系统640中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
[0136] 除了指令653以外,存储器652还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆600在自主、半自主和/或手动模式中操作期间被车辆600和计算平台650使用。
[0137] 计算平台650可基于从各种子系统(例如,驱动系统640、感知系统620和决策控制系统630)接收的输入来控制车辆600的功能。例如,计算平台650可利用来自决策控制系统630的输入以便控制转向系统633来避免由感知系统620检测到的障碍物。在一些实施例中,计算平台650可操作来对车辆600及其子系统的许多方面提供控制。
[0138] 可选地,上述这些组件中的一个或多个可与车辆600分开安装或关联。例如,存储器652可以部分或完全地与车辆600分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
[0139] 可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图6不应理解为对本公开实施例的限制。
[0140] 在道路行进的自动驾驶汽车,如上面的车辆600,可以识别其周围环境内的物体以确定对当前速度的调整。物体可以是其它车辆、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,可以用来确定自动驾驶汽车所要调整的速度。
[0141] 可选地,车辆600或者与车辆600相关联的感知和计算设备(例如计算系统631、计算平台650)可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰、等等)来预测识别的物体的行为。可选地,每一个所识别的物体都依赖于彼此的行为,因此还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。车辆600能够基于预测的识别的物体的行为来调整它的速度。换句话说,自动驾驶汽车能够基于所预测的物体的行为来确定车辆将需要调整到(例如,加速、减速、或者停止)何种稳定状态。在这个过程中,也可以考虑其它因素来确定车辆600的速度,诸如,车辆600在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。
[0142] 除了提供调整自动驾驶汽车的速度的指令之外,计算设备还可以提供修改车辆600的转向角的指令,以使得自动驾驶汽车遵循给定的轨迹和/或维持与自动驾驶汽车附近的物体(例如,道路上的相邻车道中的车辆)的安全横向和纵向距离。
[0143] 上述车辆600可以为各种类型的行驶工具,例如,轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、娱乐车、火车等等,本公开实施例不做特别的限定。
[0144] 在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的图像语义分割方法的代码部分。
[0145] 本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0146] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。