图像识别方法及其装置、可读介质和电子设备与流程

文档序号:29461262发布日期:2022-04-02 01:31阅读:96来源:国知局
图像识别方法及其装置、可读介质和电子设备与流程

1.本技术涉及图像识别领域,尤其涉及一种图像识别方法及其装置、可读介质和电子设备。


背景技术:

2.近年来,人工智能(artificial intelligence,ai)广泛用于图像处理领域,图像处理主要包括图像分类、对象检测、语义分割和实例分割,其中,实例分割是在分辨率级识别对象轮廓的任务。
3.目前实例分割主要基于区域的两阶段分割方法,例如mask r-cnn(maskregion-based convolutional neural networks,基于分割掩模区域卷积神经网络),该方法首先预测边框定位出输入图像中的对象,然后在边框的区域内对对象进行语义分割,但是这种基于边框的分割方法存在一些问题,例如,边框通常包含输入图像的背景区域信息,并且无法区分外观相似的高度重叠的对象。为了解决这些问题,单阶段分割方法被提出,它不需要预测边框,就可以直接在输入图像中对对象进行实例分割。但是,目前单阶段分割方法在分割精度上还是不如两阶段分割方法。


技术实现要素:

4.本技术实施例提供了一种图像识别方法及其装置、可读介质和电子设备,本技术的实例分割方法在实例分割时,对于图像中分成的多个网格中的每个网格,生成对应的局部掩模表征,在该局部掩模表征中,除了预测出的该网格的目标对象的轮廓,还同时预测出目标对象周围的周围对象的轮廓,然后,根据单个局部掩模表征中目标对象和周围对象之间的上下文信息,将目标网格与该目标网格周围的网格所对应的多个局部掩模表征进行融合,得到目标对象最终的分割掩模,最后通过最终的分割掩模进行实例分割,识别出图像中的目标对象。本技术实施例的实例分割方法结合了多个局部掩模表征的互补信息,使得最终预测的分割掩模在实例分割时的准确率更高。
5.第一方面,本技术实施例公开了一种图像识别方法,包括:
6.获取待处理图像,并将所述待处理图像分成多个图像子区域,在本技术的实施例中,将待处理图像划分成多个等大的网格,例如,将待处理图像划分成25个或者144个网格。
7.生成所述多个所述图像子区域中至少部分图像子区域的局部掩模表征,其中,所述局部掩模表征包括对应图像子区域的目标对象的轮廓和目标对象周围的周围对象的轮廓,在本技术的实施例中,目标对象的周围对象可以是其相邻的对象,例如,在图2中,如果目标对象是人201,则其周围对象可以是电脑屏幕202、桌子203、书架206等。
8.基于所述图像子区域的局部掩模表征和与该图像子区域邻近的至少一个图像子区域的局部掩模表征,生成该图像子区域的目标对象的分割掩模,在本技术的一些实施例中,选取一个中间网格,其上下左右的相邻网格可以是邻近网格,例如,在图6a中,选定中间网格b0,则网格b1-b8是中间网格b0的邻近网格。
9.基于所述目标对象的分割掩模,识别出所述待处理图像的所述目标对象。
10.在上述第一方面的一种实现中,还包括:
11.对每个图像子区域进行语义分类,得到每个所述图像子区域的语义分类结果,可以理解的是,现有的语义分割算法都可以用于本技术实施例中进行语义分类。
12.在上述第一方面的一种实现中,还基于所述图像子区域的语义分类结果,生成所述图像子区域的目标对象的分割掩模。
13.在上述第一方面的一种实现中,所述方法基于全卷积神经网络实现,其中所述全卷积神经网络包括多个卷积层,并且所述多个卷积层用于基于所述图像子区域的局部掩模表征和与该图像子区域邻近的至少一个图像子区域的局部掩模表征,生成该图像子区域的目标对象的分割掩模。
14.在上述第一方面的一种实现中,包括所述全卷积神经网络的训练,并且所述训练过程包括:
15.将样本图像输入所述全卷积神经网络,并生成第一融合参数;
16.将所述样本图像分成多个图像子区域,并生成所述多个所述图像子区域中至少部分图像子区域的局部掩模表征和语义分类结果;
17.通过所述多个卷积层利用所述第一融合参数和所述语义分类结果,对所述样本图像的一个图像子区域的局部掩模表征和与该图像子区域邻近的至少一个图像子区域的局部掩模表征进行融合,生成该图像子区域的目标对象的第一分割掩模;
18.将所述第一分割掩模和样本图像的预期分割掩模进行比对,根据比对结果确定是否调整所述第一融合参数。
19.在上述第一方面的一种实现中,所述多个卷积层通过以下方式生成所述图像子区域的目标对象的第一分割掩模:
20.所述多个卷积层利用所述第一融合参数提取所述图像子区域的目标对象的轮廓的第一局部特征以及与该图像子区域邻近的所述至少一个图像子区域的目标对象的轮廓的第二局部特征;
21.融合所述第一局部特征和第二局部特征,生成所述目标对象的第一分割掩模。
22.在上述第一方面的一种实现中,所述多个卷积层通过以下方式生成所述图像子区域的目标对象的第一分割掩模:
23.所述多个卷积层利用所述第一融合参数提取所述图像子区域的目标对象的轮廓的第一局部特征、该图像子区域所述目标对象的周围对象的轮廓的第一上下文信息、以及与该图像子区域邻近的所述至少一个图像子区域的目标对象的轮廓的第二局部特征、所述邻近的所述至少一个图像子区域的目标对象的周围对象的轮廓的第二上下文信息;并基于所述第一上下文信息和第二上下文信息,融合所述第一局部特征和第二局部特征,生成所述目标对象的第一分割掩模。
24.在上述第一方面的一种实现中,所述上下文信息包括所述周围对象的颜色、形状、纹理和对象属性中的至少一个,其中,所示上下文信息可以是多层级上下文信息,多层上下文信息包括高层的语义信息和底层的细节信息,其中,高层的语义信息包括对象的属性,表示某一时刻对象的状态,是一种易于人类理解的东西,底层的细节信息可以包括上述的颜色、形状和纹理等。
25.在上述第一方面的一种实现中,所述将所述第一分割掩模和样本图像的预期分割掩模进行比对,根据比对结果确定是否调整所述第一融合参数,包括:
26.在所述第一分割掩模与所述预期分割掩模的差异度大于误差阈值的情况下,将所述第一融合参数调整为第二融合参数;并且所述全卷积神经网络的训练过程包括:
27.所述多个卷积层利用所述第二融合参数提取所述图像子区域的目标对象的轮廓的第三局部特征以及与该图像子区域邻近的所述至少一个图像子区域的目标对象的轮廓的第四局部特征;
28.融合所述第三局部特征和第四局部特征,生成所述目标对象的第二分割掩模。
29.第二方面,本技术实施例公开了一种自动驾驶的方法,包括:
30.获取当前的路况信息的路况图像;
31.通过上述第一方面所述的方法对所述路况图像进行图像识别;
32.基于所述图像识别的结果生成相应的控制指令;
33.基于所述控制指令执行相应的驾驶动作。
34.第三方面,本技术实施例公开了一种图像识别的装置,包括:
35.第一获取模块,用于获取待处理图像,并将所述待处理图像分成多个图像子区域;
36.第一生成模块,用于生成每个所述图像子区域的局部掩模表征,其中,所述局部掩模表征包括对应图像子区域的目标对象的轮廓和目标对象周围的周围对象的轮廓;
37.第二生成模块,用于基于所述图像子区域的局部掩模表征和与该图像子区域邻近的至少一个图像子区域的局部掩模表征,生成该图像子区域的目标对象的分割掩模;
38.第一识别模块,用于基于所述目标对象的分割掩模,识别出所述待处理图像的所述目标对象。
39.第四方面,本技术实施例公开了一种自动驾驶装置,包括:
40.第二获取模块,用于获取当前的路况信息的路况图像;
41.第二识别模块,用于通过上述第一方面所述的方法对所述路况图像进行图像识别;
42.第三生成模块,用于基于所述图像识别的结果生成相应的控制指令;
43.执行模块,用于基于所述控制指令执行相应的驾驶动作。
44.第五方面,本技术实施例公开了一种可读介质,所述可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行上述第一方面所述的图像识别方法。
45.第六方面,本技术实施例公开了一种电子设备,包括:
46.存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及
47.处理器,是电子设备的处理器之一,用于执行上述第一方面所述的图像识别方法。
附图说明
48.图1所示为本技术实施例提供的一种神经网络模型100的结构示意图。
49.图2所示为本技术实施例提供的一种输入图像200。
50.图3所示为本技术实施例提供的一种分类输入图像200的结果示意图。
51.图4a所示为本技术实施例提供的一种神经网络模型100预测输入图像200的局部掩模表征示意图。
52.图4b所示为本技术实施例提供的一种图4a中区域401的放大示意图。
53.图4c所示为本技术实施例提供的一种图4a中区域402的放大示意图。
54.图5a所示为本技术实施例提供的一种solo模型预测输入图像200的局部掩模表征示意图。
55.图5b所示为本技术实施例提供的一种图5a中区域501的放大示意图。
56.图5c所示为本技术实施例提供的一种图5a中区域502的放大示意图。
57.图6a所示为本技术实施例提供的一种动态融合示意图。
58.图6b所示为本技术实施例提供的另一种动态融合示意图。
59.图7a-7b所示为本技术实施例的神经网络模型100与现有的mask r-cnn模型、solo模型在分割大尺寸对象的效果比较示意图。
60.图8a-8c所示为本技术实施例的神经网络模型100与mask r-cnn模型、solo模型在拥挤场景分割对象的比较结果示意图。
61.图9所示为本技术实施例提供的车辆在自动驾驶过程中的一种场景图。
62.图10所示为本技术实施例提供的车辆900的功能框图。
63.图11所示为本技术实施例提供的一种自动驾驶方法的流程图。
具体实施方式
64.下面通过附图和实施例,对本技术实施例的技术方案做进一步的详细描述。
65.本技术的实例分割方法适用于各种图像处理场景,例如,自动驾驶中的图像识别、机器人的视觉处理、图像或视频编辑、人体姿态识别等。现有的solo(segment objection by location,区域实例分割)算法在进行实例分割时,将输入图像分成多个网格,并对每个网格预测出仅包括一个对象的分割掩模,然后从多个网格对应的多个实例掩模中选取出一个最终的分割掩模进行实例分割。该方法在选取最终的分割掩模时会将周围的分割掩模都舍弃,所以没有利用周围分割掩模的特征信息,因此在实例分割时不够精确。相较于现有的solo算法,本技术的实例分割方法在实例分割时,对于图像中分成的多个网格中的每个网格,生成对应的局部掩模表征,在该局部掩模表征中,除了预测出的该网格的目标对象的轮廓,还同时预测出目标对象周围的周围对象的轮廓,然后,根据单个局部掩模表征中目标对象和周围对象之间的上下文信息,将目标网格与该目标网格周围的网格所对应的多个局部掩模表征进行融合,得到目标对象最终的分割掩模,最后通过最终的分割掩模进行实例分割,识别出图像中的目标对象。本技术实施例的实例分割方法结合了多个局部掩模表征的互补信息,使得最终预测的分割掩模在实例分割时的准确率更高。
66.下面对本技术实施例中所涉及的实例分割相关的术语进行解释,以方便理解。
67.1、掩模(mask):用选定的图像、图形或物体,对处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程。用于覆盖特定图像或物体称为掩模或模板。分割掩模在数字图像处理中,分割掩模为二维矩阵数组,有时也用多值图像。在本技术的实施例中,分割掩模可以采用二值图像,其中,二值图像是图像上每一个像素只有两种可能的取值或灰度等级状态,图像中任何像素点的灰度值均为0或255,分别表示黑色和白色。
68.2、上下文信息:通过捕捉不同的对象之间的相互作用信息,对象与场景之间的相互作用信息作为条件来对新对象进行识别、处理,在本技术的实施例中,上下文信息可以是
多层级上下文信息,包括物体的形状、颜色、纹理和属性等。
69.3、监督学习:给定输入样本集,机器就可以从中推演出指定目标变量的可能结果。在本技术的实施例中,分类和分割掩模的预测通过监督学习得出。
70.4、反向传播(backpropagation,bp):在正向传播过程中,输入信息通过输入层经隐含层,逐层处理并传向输出层。如果在输出层得不到期望的输出值,则取输出与期望的误差的平方和作为目标函数,转入反向传播,逐层求出目标函数对各神经元权值的偏导数,构成目标函数对权值向量的梯量,作为修改权值的依据,网络的学习在权值修改过程中完成。误差达到所期望值时,神经网络学习结束。
71.5、梯度下降(gradient descent):在求解神经网络模型的模型参数,即无约束优化问题时,梯度下降是最常采用的方法之一,在最小化损失函数时,可以通过梯度下降法来一步步迭代求解,得到最小化的损失函数和模型参数值。
72.6、激活函数:在神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端,激活函数将非线性特性引入到网络中,使得神经网络可以任意逼近任何非线性函数。激活函数包括sigmoid函数、tanh函数、relu函数等。
73.7、损失函数:用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好,不同的模型用的损失函数一般也不一样。常见的损失函数包括0-1损失函数、绝对值损失函数、log对数损失函数、平方损失函数、hinge损失函数、感知损失损失函数和交叉熵损失函数等。
74.下面以全卷积神经网络(fully convolution network,fcn)为例具体说明本技术实施例的用于实例分割的神经网络模型100。可以理解的是,除了全卷积神经网络,本技术的技术方案还可以基于其他的神经网络实现,例如卷积神经网络(convolutional neural network,cnn)、深度神经网络(deep neural networks,dnn)以及循环神经网络(recurrent neural networks,rnn)、二值神经网络(binary neural network,bnn)等。
75.如图1示,神经网络模型100包括分类分支101、动态权重生成分支102、邻域局部掩模表征分支103、选定分支104、多层上下文信息分支105和动态融合分支106。
76.下面具体描述神经网络模型100的各部分。
77.分类分支101:用于预测输入图像的网格中是否存在对象,如果网格中存在对象,则预测网格中的对象的语义类别。
78.例如,如图2所示,图像200包括多个对象,例如,人201、电脑屏幕202、桌子203、台灯204。将图像200输入到分类分支101,分类分支101将图像200划分成多个网格,然后识别网格中对象的语义类别。如图3所示,分类分支100将图像200划分成144(12
×
12)个网格,并且每个网格只有一个语义类别,其中,数字1表示网格中对象的语义类别为人,数字2表示网格中对象的语义类别为电脑屏幕,数字3表示网格中对象的语义类别为桌子,数字4表示网格中对象的语义类别为台灯,图3中网格中的数字0表示分类分支101预测网格中的对象的语义类别为背景(例如,包括墙,书架等)。
79.如图3所示,区域301是图像200中人201分类的结果,区域301包括21个网格,每个网格中都只有一个数字1,表示该网格中的对象的语义类别是人。区域302是图像200中电脑屏幕202分类的结果,区域302包括12个网格,每个网格中都只有一个数字2,表示该网格中对象的语义类别是电脑屏幕。区域303是图像200中桌子203分类的结果,区域303包括9个网
格,每个网格中都只有一个数字3,表示该网格中对象的语义类别是桌子。区域304是图像200中台灯204分类的结果,区域304包括8个网格,每个网格中都只有一个数字4,表示该网格中对象的语义类别是台灯。
80.具体地,设定网格的中心坐标为(i,j),根据待输入图像被划分的网格数确定任意一个网格的中心坐标,待输入图像被划分为g2(g
×
g)个网格,则网格的中心坐标(i,j)中i的取值可以从0到g,j的取值可以从0到g,例如,图像200被划分为144(12
×
12)个网格,则其中一个网格的中心坐标可以是(1,12)。
81.然后将待输入图像映射到分类分支101,则预测语义类别的映射函数为:
[0082][0083]
其中,i表示待输入图像,θc表示分类分支101的网络参数,c
ij
表示网格中对象的语义类别,表示c
ij
是一个c维向量,其中c表示图像中语义类别的数量。并且,c
ij
的结果在(0,1)之间,如果c
ij
c的结果越接近于1,表示某一对象在该网格中出现的概率越大,如果c
ij
c的结果越接近0时,表示某一对象在该网格中出现的概率越小。
[0084]
此外,在本技术的其他实施例中,也可以采用其他现有技术方案中的语义分类结果实现分类分支101的功能,不限于上述提到的方法或者公式。
[0085]
动态权重生成分支102:用于动态产生融合参数,动态权重生成分支102可以赋予神经网络模型100自己学习对不同位置不同对象自适应地调整的能力,以产生高质量的分割掩模,下文将详细描述动态权重生成分支102。
[0086]
邻域局部掩模表征分支103:用于预测网格中对象的局部掩模表征,其中,局部掩模表征不仅包括网格中目标对象轮廓,还包括目标对象周围的周围对象轮廓。
[0087]
例如,将图像200输入神经网络模型100,通过邻域局部掩模表征分支103将待输入图像200划分为多个网格,为了使得邻域局部掩模表征分支103的网格与分类分支101的网格一一对应,可以设置邻域局部掩模表征分支103划分图像200的网格数与分类分支101划分图像200的网格数相等。例如,在上面的例子中,分类分支101将图像200划分为144个网格,则邻域局部掩模表征分支103也将图像200划分为144网格,然后邻域局部掩模表征分支103预测每个网格中对象的局部掩模表征。
[0088]
如图4a所示,图像400是图像200输入邻域局部掩模表征分支103得到的对应144个网格的局部掩模表征。如图4a所示,对应每个网格的局部掩模表征包括了网格对应的目标对象的轮廓,同时还包括目标对象周围的周围对象的轮廓,其预测出的局部掩模表征是以整个图像为范围进行预测的,并不限于网格中的图像轮廓。为了便于说明,图4c和图4b将图4a中的虚线框401和虚线框402放大后进行描述。
[0089]
如图4b所示,虚线框401放大后可以看出,每个网格中的局部掩模表征不仅包括目标对象人201的轮廓,还包括其周围的周围对象的轮廓,例如,网格401a中的局部掩模表征不仅包括人201的轮廓,还包括在图像200中人201前面的桌子203的轮廓,网格401c中的局部掩模表征不仅包括人201的轮廓,还包括在图像200中人201前面的电脑屏幕202的轮廓。
[0090]
如图4c所示,虚线框402放大后可以看出,每个网格中的局部掩模表征不仅包括电脑屏幕202的轮廓,还包括其他对象的轮廓,例如,网格402a中的局部掩模表征不仅包括电
脑屏幕202的轮廓,还包括在图像200中电脑屏幕202前面的人201的轮廓和桌子203的轮廓,并且,人201的轮廓比桌子203的轮廓更清晰。网格402b中的局部掩模表征不仅包括电脑屏幕202的轮廓,还包括在图像200中电脑屏幕202前面的人201的轮廓和电脑屏幕202下面的桌子203的轮廓,并且,电脑屏幕202的轮廓比人201的轮廓更清晰。
[0091]
可以理解的是,图4b中网格中人201的轮廓是目标对象,而书架206和电脑屏幕202等其他对象的轮廓是目标对象人201的周围对象,这些周围对象在生成目标对象人201最终的实例掩模时,可以作为上下文信息参与目标对象人201最终的实例掩模的生成,具体方案将在下文进行具体描述。
[0092]
可以理解的是,图4c中网格中电脑屏幕202的轮廓是目标对象,人201和桌子203等其他对象的轮廓是目标对象电脑屏幕202周围对象,这些周围对象在生成目标对象电脑屏幕202最终的实例掩模时,可以作为上下文信息参与目标对象电脑屏幕202最终的实例掩模的生成,具体方案将在下文进行具体描述。
[0093]
从图4a-4c可以看出,为了提高实例分割的准确度,邻域局部掩模表征分支103在预测网格中的局部掩模表征时,不仅学习网格所在位置的目标对象轮廓,例如,人201,还学习了目标对象周围的对象轮廓,例如,在图像200中,人201的周围对象有电脑屏幕202、桌子203等。
[0094]
选定分支104用于从邻域局部掩模表征分支103中选定一个中间网格的局部掩模表征和中间网格的周围至少一个网格的局部掩模表征,例如,在图1中,选定分支选定一个中间网格的局部掩模表征及其周围的4个网格的局部掩模表征。
[0095]
多层上下文信息分支105通过全卷积神经网络获取图像中对象的多层级上下文信息,其中,多层级上下文信息包括对象的形状、颜色、纹理和对象属性等。
[0096]
动态融合分支106:基于邻域局部掩模表征分支103生成的融合参数和多层上下文信息分支105生成的多层级上下文信息将多个网格的局部掩模表征融合,产生图像中目标对象的一个分割掩模(图1中的图片107所示)。
[0097]
而现有技术solo模型在预测网格中对象的掩模时,直接在网格中预测出目标对象的掩模,该掩模只包括目标对象的轮廓,并没有结合周围网格中对象的特征信息。下面结合附图5a-5c介绍solo模型如何预测网格中对象的掩模。
[0098]
例如,如图5a-5b所示,将图像200输入到solo模型,solo模型首先将图像200划分为多个网格(与神经网络模型100相同),为了便于与本技术实施例的神经网络模型100的结果比较,solo模型将图像200也划分为144个网格,然后直接预测网格中对象的掩模。
[0099]
如图5a所示,图像500是solo模型预测掩模的结果,从图5a中可以看出,图像500被划分为144个网格,并且网格中有预测的掩模,其中,虚线框501是图像200中人201所在的部分区域,虚线框501包括9个掩模,虚线框502是图像200中电脑屏幕202所在的部分区域,虚线框502包括9个掩模。下面将虚线框501和虚线框502放大描述。
[0100]
如图5b所示,虚线框501放大后可以看出,每个网格中都有一个掩模,每个掩模只有一个对象为人的轮廓,并且不同网格中的人的轮廓不完全相同,除此之外,网格中掩模不包括其他对象,这是因为solo模型在学习网格中的掩模时,通过监督学习并引入损失函数,使得网络学习的结果逼近只有一个对象为人的轮廓的掩模。
[0101]
如图5c所示,虚线框502放大后可以看出,每个网格中都有一个掩模,每个掩模只
有一个对象为电脑屏幕的轮廓,并且不同网格中的电脑屏幕的轮廓不完全相同,除此之外,网格中掩模不包括其他对象,这是因为solo模型在学习网格中的掩模时,通过监督学习并引入损失函数,使得网络学习的结果逼近只有一个对象为电脑屏幕的轮廓的掩模。
[0102]
最后通过nms(non-maximum suppression,非极大值抑制)算法优先选择分类置信度最大的一个掩模作为分割掩模,将高于iou(intersection over union,交并比)阈值的邻域掩模都舍弃,例如,在图5b中,只保留网格501a的掩模作为最终实例分割的掩模,其周围的掩模都被舍弃,所以solo模型并没有利用邻域掩模的特征信息,在图像的实例分割时不够精确。
[0103]
相较于现有技术solo模型,本技术实施例的神经网络模型100学会预测局部掩模表征,学习出的局部掩模表征既能有效反映局部对象特征,又融合了周围对象的上下文信息,另一方面通过设计动态权重生成分支102让神经网络模型100学会如何自适应地融合周围的局部掩模表征,以获取最终高质量的分割掩模。
[0104]
下面将结合图1和图6a介绍本技术的具体方案。具体的,包括:
[0105]
(1)分类分支101将输入图像划分成多个网格并预测多个网格的语义类别;
[0106]
例如,如图6a所示,输入图像600包括的目标对象有猫601和猫602,分类分支101将输入图像600划分成25(5
×
5)个网格,并预测25个网格中对象的语义类别,具体过程请参考上文中图3相关描述。
[0107]
(2)邻域局部掩模表征分支103将输入图像划分成多个网格并预测多个网格的局部掩模表征,其中,局部掩模表征包括网格中目标对象的轮廓和目标对象周围的周围对象的轮廓,局部掩模表征的函数表达式如下:
[0108][0109]
其中,表示邻域局部掩模表征分支103的网络参数,表示局部掩模表征向量,表示是h
×
w维的向量。
[0110]
例如,如图6a所示,邻域局部掩模表征分支103也将输入图像600划分为25个网格,并映射出每个网格的局部掩模表征,可以理解,图6a中仅示出了部分网格的局部表征掩膜,例如,b0-b8。可以看出,网格b1、网格b2和网格b3的局部掩模表征中,不仅包括了目标对象猫602的轮廓,还包括目标对象的周围对象猫601的轮廓。
[0111]
可以理解,在训练神经网络模型100时,可以训练邻域局部掩模表征分支103通过无显示约束的梯度反向传播学习,识别出图像网格所对应的目标对象及其周围对象的轮廓,如此,在使用训练好的神经网络模型100进行图像识别时,邻域局部掩模表征分支103便可识别出图像网格所对应的目标对象及其周围对象的轮廓。其中,可以通过提取目标对象或者周围对象的轮廓的局部特征来表示目标对象及其周围对象的轮廓,再融合目标对象或者周围对象的轮廓的上下文信息。
[0112]
局部特征可以是目标对象的轮廓的部分特征,例如,在图6a中,猫602的局部特征可以是猫602的躯干轮廓、头部轮廓、前肢轮廓、后肢轮廓和尾巴轮廓等,同样,猫601的局部特征也可是这五个部分轮廓。而且,上下文信息可以是多层级上下文信息,其中,多层级上下文信息包括高层的语义信息和底层的细节信息,其中,高层的语义信息可以是对象属性,表示某一时刻对象的状态,是一种易于人类理解的东西,而底层的细节信息包括对象的形
状、颜色、纹理和对象属性等。
[0113]
例如,在图6a中,猫602的底层细节信息包括猫601的轮廓曲线、猫601的纹理、猫601的颜色为黄色,猫601的高层语义信息包括猫601此刻的状态为蹲坐状态。
[0114]
例如,在图4b中,人201的高层语义信息可以是人为坐立状态,书架206的底层细节信息可以是书架的形状是高大于宽的矩形,桌子203的底层细节信息可以是桌子203的颜色为白色,电脑屏幕202的底层细节信息可以是电脑屏幕的形状、纹理等。
[0115]
(3)选定分支104从邻域局部掩模表征分支103中选定一个中间网格的局部掩模表征及其周围至少一个网格的局部掩模表征,多层级上下文信息分支105获取目标对象及其周围对象的多层级上下文信息,动态融合分支106基于邻域局部掩模表征分支103生成的融合参数和多层上下文信息分支105生成的多层级上下文信息将选定分支104的局部掩模表征融合,产生图像中目标对象的一个分割掩模,其中,动态融合分支的函数表达式如下:
[0116][0117]
其中,agg()和θ
ij
分别表示融合函数及其融合参数,表示神经网络中的特征的连接合并,表示周围的局部掩模表征,fc表示网格中对象的多层级上下文信息。
[0118]
可以理解的是,周围的局部掩模表征的数量可以根据具体需要进行设定,例如,周围的局部掩模表征的数量4个(如距离中间网格的局部掩模表征最近的4个周围网格的局部掩模表征),则周围的局部掩模表征的映射函数可以为又例如,邻域局部掩模表征的数量可以是8个(如距离中间网格的局部掩模表征最近的8个周围网格的局部掩模表征),则周围的局部掩模表征的映射函数可以为
[0119]
下面结合图6a用一个简单的例子和简单的线性函数作为融合分支的情况具体说明动态融合分支106预测最终掩膜的过程,为了便于说明,以线性函数进行描述。
[0120]
选定分支104选定一个中间网格的局部掩模表征以及周围的局部掩膜表征,例如,选定图像604中的网格b0的局部掩模表征,然后再选定中间网格b0周围一定数量网格的局部掩模表征,在图像604中,可以选定网格b1-b8中一定数量的局部掩模表征。
[0121]
在本技术的一些实施例中,选定分支104选定中间网格b0周围的4个周围网格的局部掩模表征,例如,选定网格b1、网格b3、网格b5和网格b7中的局部掩模表征。
[0122]
动态权重生成分支102根据网格b0、b1、b3、b5和b7的局部掩模表征预测对应的权重(融合参数),如图像606所示,网格b0、b1、b3、b5和b7的局部掩模表征的权重分别是0.7、0.3、0.0、0.5和0.1。
[0123]
基于上述权重提取中间网格b0的猫602轮廓的局部特征和周围网格b1、b3、b5和b7的猫602轮廓的局部特征进行线性加权融合,得到猫602最终的分割掩模602m。
[0124]
例如,在中间网格b0中,猫602的轮廓中躯干预测的比较好,基于权重0.7可以将猫602的轮廓中躯干进行特征提取,在网格b1中,猫602的轮廓中头部预测的比较好,基于权重0.3可以将猫602的轮廓中头部进行特征提取,在网格b3中,猫602的轮廓中前肢预测的比较好,基于权重0.0可以将猫602的轮廓中前肢进行特征提取,在网格b5中,猫602的轮廓中后肢预测的比较好,基于权重0.3可以将猫602的轮廓中后肢进行特征提取,在网格b7中,猫602的轮廓中尾巴预测的比较好,基于权重0.3可以将猫602的轮廓中尾巴进行特征提取。
[0125]
最后,将从中间网格b0中提取的猫602的躯干特征、周围网格b1中提取的猫602的头部特征、周围网格b3中提取的猫602的前肢特征、周围网格b5中提取的猫602的后肢特征、周围网格b7中提取的猫602的尾巴特征进行线性加权融合,最终得到猫602的分割掩模602m。
[0126]
整个融合过程可以通过梯度反向传播进行训练,下面结合图6a说明神经网络模型100的实例分割的过程。
[0127]
(1)分类分支101将输入图像600划分成25(5
×
5)个网格,并预测25个网格中对象的语义类别,例如,分类分支101预测出猫602所在区域的网格中对象的语义类别为猫,具体的分类过程参考上文图3的描述。
[0128]
(2)邻域局部掩模表征分支103也将输入图像600划分为25个网格,并映射出每个网格的局部掩模表征,从上述实施例可以看出,除了以上提到的同一对象的不同部分互补的情况,还可以观察到网格b1、网格b2和网格b3的局部掩模表征中,不仅包括了目标对象猫602的轮廓,还包括目标对象的周围对象猫601的轮廓,这样的局部掩模表征反映了周围对象的信息,有利于分割当前位置的对象。
[0129]
(3)选定分支104选定图像604中的网格b0的局部掩模表征,然后再选定中间网格b0周围网格的局部掩模表征。
[0130]
例如,选定分支104选定中间网格b0周围的4个周围网格的局部掩模表征,例如,选定网格b1、网格b3、网格b5和网格b7中的局部掩模表征。
[0131]
然后,多层级上下文信息分支105获取多层级上下文信息并与局部掩膜表征一起融合获得最终掩膜(多层级上下文信息不针对输入图像中的某一个网格位置,而是一个全局的信息)。图6a是为了简单地以线性组合的形式说明了动态融合这个过程,所以简化去掉了多层级上下文的部分。
[0132]
动态权重生成分支102根据网格b0、b1、b3、b5和b7的局部掩模表征预测对应的权重(融合参数),如图像606所示,网格b0、b1、b2、b3和b4的局部掩模表征的权重分别是0.7、0.3、0.0、0.5和0.1。
[0133]
基于上述权重提取中间网格b0的猫602轮廓的局部特征和周围网格b1、b3、b5和b7的猫602轮廓的局部特征进行融合,并根据分类分支101的分类结果是猫,最终预测出猫602分割掩模602k(图中未示出),具体的动态融合过程参考上文描述。
[0134]
神经网络模型100输出与数据标签计算的损失函数可以通过梯度下降法完成,主要包括:(1)分类分支101由分类的损失函数反向传播学习;(2)动态权重生成分支102和局部掩膜表征分支103由掩模损失函数反向传播学习。通过比对预测的分割掩模与预期的分割掩模的差异度得到损失函数,损失函数越大,表示预测的分割掩模与预测的分割掩模差异度越大,如果大于误差阈值,则通过反向传播学习调整动态权重分支102的权重,直到损失函数小于误差阈值。反之,损失函数越小,表示预测的分割掩模与预测的分割掩模差异度越小,如果在误差阈值范围以内,则可以继续使用当前的动态权重分支102的权重预测分割掩模。因此,神经网络模型100可以通过反向传播学会调整融合参数或局部掩膜表征来生成更高质量的分割掩膜。
[0135]
需要说明的是,在实际的网络模型中,我们使用了小的多层卷积网络来实现动态融合,而不是简单的线性加权组合,这样的小多层卷积网络可以拟合更好的动态融合函数,
有利于最终生成更高质量的掩膜。这里的小多层卷积网络的参数也是由动态权重生成分支102生成。
[0136]
另一方面,输入图像被划分的网格数越多,输入图像的分辨率越高,却越有利于分类分支101分辨出输入图像中的小尺寸对象的语义类别,但是,如果输入图像被划分的网格数目越多,相应的局部掩模表征的数量按平方增长,这将增加网络的计算量和显存负荷。
[0137]
为了解决这个问题,本技术实施例提供一种掩模插值方法,局部掩模表征分支103可以预测出数量少于输入图像被划分的网格数量的局部掩模表征,然后在选定局部掩模表征进行动态融合的时候中间网格的周围网格共享相同的局部掩模表征。
[0138]
具体地,局部掩模表征的映射函数表达式为:
[0139][0140]
其中,g

《g,分类分支101将图像划分为g
×
g的网格,邻域局部掩模表征分支103将图像划分为g
′×g′
的网格,并且,邻域局部掩模表征分支103中网格大小要大于分类分支101中的网格大小。
[0141]
则最终的分割掩模的函数表达式m
ij
如下:
[0142][0143]
其中,表示下取整,可以理解,邻域局部表征掩模分支103预测的局部掩模表征的数量要少于分类分支101预测的语义类别的数量,因此需要将小分辨率的局部掩模表征预测的网格数映射到大分辨率的分类预测的网格数。
[0144]
例如,邻域局部掩模表征分支103将输入图像划分的网格数为20
×
20,则预测的局部掩模表征的数量为20
×
20个,而分类分支101将输入图像划分的网格数为40
×
40,则预测的语义类别数量为40
×
40个,为了使得分类分支101的网格与邻域局部表征掩模分支103的网格建立一一对应的关系,可以将邻域局部掩模表征分支103的一个网格位置对应分类分支101的4个相邻的网格位置。
[0145]
例如,可以将分类分支101的4个相邻网格(20,20)、(20,21)、(21,20)、(21,21)都对应邻域局部掩模分支103的网格(10,10),这样在选定分支104在选定周围局部掩模表征时,邻域局部掩模分支103的网格(10,10)的周围4个网格(9,10)、(10,9)、(11,10)、(10,11)对应的局部掩模表征可以共用一个相同的局部掩模表征,然后动态权重生成分支102根据网格位置的不同产生不同的权重,所以最终得到的分割掩模也不会相同,这样就可以区分不同网格位置的不同对象。
[0146]
如图6b所示,邻域局部掩模表征分支103将输入图像600划分为9(3
×
3)个网格,并预测出每个网格的局部掩模表征,在图像607中,猫601的9个网格的局部掩模表征是c0-c8,在图像608中,猫602的9个网格的局部掩模表征是d0-d8,然后选定分支104选定一个中间网格和4个周围网格的局部掩模表征进行融合,例如,在图像607中,选定中间网格c0和四个周围网格c1、c2、c3、c4的局部掩模表征,在图像608中,选定中间网格d0和四个周围网格d1、d2、d3、d4的局部掩模表征,并且,网格c1与网格d1共享相同的局部掩模表征,网格c2与网格d2共享相同的局部掩模表征,网格c3与网格d3共享相同的局部掩模表征,网格c4与网格d4共享相同的局部掩模表征,但是,动态权重生成分支102根据不同的网格位置预测不同的权
重,从图像609和图像610可以看出,网格c1的权重是0.7,而网格d1的权重是0.2,网格c2的权重是0.8,而网格d2的权重是0.2,网格c3的权重是0.1,而网格d3的权重是0.6,网格c4的权重是0.1,而网格d4的权重是0.8。最后,中间网格c0和周围的4个网格c1、c2、c3、c4的局部掩模表征及其对应的权重0.2、0.7、0.8、0.1、0.1线性加权融合得到猫601的分割掩模601c,中间网格d0和周围的4个网格d1、d2、d3、d4的局部掩模表征及其对应的权重0.3、0.2、0.2、0.6、0.8线性加权融合得到猫602的分割掩模602d。
[0147]
需要说明的是,图6b只是一个简单的线性组合例子来说明动态融合的机制,所以简化了多层级上下文信息部分,本技术实施例提供的神经网络模型100会使用多层的卷积网络来实现这个动态融合过程,同时增加多层级上下文信息,具体请参考图1以及图6a的描述。
[0148]
通过上述实施例可以看出,用粗粒度(低网格分辨率)的局部掩模表征能够预测出细粒度(高网格分辨率)的分割掩模。在神经网络模型100中细粒度的分类分支101可以更好地识别图像中小尺寸的对象,粗粒度的邻域局部掩模表征分支103却可以降低计算量和显存负荷,并且最终能生成高质量的分割掩模。
[0149]
下面结合图7a和图7b说明本技术实施例的神经网络模型100与现有的mask r-cnn模型、solo模型在分割大尺寸对象的效果比较。
[0150]
如图7a所示,图像701a是通过mask r-cnn模型实例分割的结果,选取图像701a中的虚线部分进行放大,如图7b所示,图像701b是虚线部分放大后的结果,可以看出,分割后的对象轮廓的边缘有残留,轮廓不清晰。同样,如图7a所示,图像702a是通过solo模型实例分割的结果,选取图像702a中的虚线部分进行放大,如图7b所示,图像702b是虚线部分放大后的结果,可以看出,分割后的对象轮廓的边缘有残留,轮廓也不清晰。而图像703a是本技术实施例的模型100的实例分割结果,选取图像703a中的虚线部分进行放大,如图7b所示,图像703b是虚线部分放大后的结果,可以看出,分割后的对象轮廓的边缘几乎没有残留,轮廓清晰。这说明本技术实施例的神经网络模型100能更准确地分割出大尺寸对象。
[0151]
下面结合图8a至图8c说明本技术实施例的神经网络模型100与mask r-cnn模型、solo模型在拥挤场景分割对象的比较结果。
[0152]
如图8a所示,图像801a是通过mask r-cnn模型实例分割的结果,选取图像801a中的虚线部分801a-1放大,如图8b所示,图像801b是虚线部分801a-1放大后的结果,可以看出,由于前方摩托车和人(801b-1)的遮挡,后方的车801b-2没有被分割出来,同样,图像802b是虚线部分802b-1放大后的结果,可以看出,由于前方摩托车和人(802b-1)的遮挡,后方的车802b-2也没有被分割出来,图像802c是虚线部分802c-1放大后的结果,可以看出,虽然前方摩托车和人(802c-1)对后方的车802b-2有遮挡,但是后方的车802b-2仍然被分割出来。在图8c中也可以看出,图像803c的识别效果更好(神经网络模型100)。因此,本技术实施例提供的神经网络模型100能够识别在拥挤场景中的被严重遮挡的对象。
[0153]
下面结合表1至表3对比神经网络模型100与现有的实例分割模型在coco数据集和lvis数据集的测试评估结果。
[0154]
需要说明的是,coco数据集的ap(average precision,平均精确度)有时并不能很好地反映分割掩模质量的提升,所以将80个coco语义类别的子集重新在lvis数据集进行评估,在lvis数据集获得结果记为ap
*
,模型100表示网络模型在coco数据集的测试结果,模型
100
*
表示神经网络模型100在lvis数据集的测试结果。
[0155]
从表1可以看出,本技术实施例的神经网络模型100在实例分割的精度上比solo模型和solov2(solo加强版)模型的表现更好,例如,基于残差网络resnet-50,神经网络模型100比solo模型提高了2.1ap,神经网络模型100比solov2模型提高了1.0ap。相比较于solo模型,神经网络模型100测试结果在ap
*70
、ap
*80
、ap
*90
的增幅更大,这些都说明神经网络模型100在高重合区域(intersection over union,iou)的图像的实例分割在精度上提升更明显。
[0156]
可以理解的是,r50和r101分别表示残差网络resnet-50和残差网络resnet-101,其中,50和101表示网络的隐藏层分别是50层和101层。
[0157][0158]
表1
[0159]
在表2中,“+cls-grid”表示增加分类分支101的网格分辨率,同时保持局部掩模表征的分辨率不变,以此来提高小尺寸目标对象的识别能力;
“-
mask-grid”表示降低局部掩模表征分支103的网格分辨率,同时保持分类分支101的网格分辨率不变,以此来降低局部掩模表征的计算量和显存负荷。
[0160]
一方面,增加分类分支101的网格分辨率提升了神经网络模型100的整体性能,ap值从38.6增加到39.1,从表格2中的aps和apm可以看出,对于图像中的小尺寸或中等尺寸的对象,结果提升更加明显,而对于神经网络模型100的推理能力,虽然有所下降,但是可以忽略不计(fps从10.2下降到10.0)。另一方面,减少局部掩模表征分支103的网格分辨率,fps从10.2增加到10.9,神经网络模型100的推理能力得到提升。
[0161][0162]
表2
[0163]
表3是本技术实施例的模型100与现有的分割模型在coco test-dev的对比,所有的模型都采用了resnet-101残差网络,从表格3中可以看出,与现有的polarmask、yolact、tensormask和mask r-cnn网络模型的测试结果比较,平均精度增加,并且网络的推理时间减少,说明神经网络模型100在图像的实例分割的性能更好。
[0164][0165]
表3
[0166]
面结合表4和表5对本技术的神经网络模型100进行分析,具体包括:
[0167]
从表4中可以看出,对照组是solo模型,表示邻域局部掩模表征的数量,当时,目标局部掩模表征没有融合邻域局部掩模表征,而是直接预测为最终的分割掩模,尽管如此,测试结果相比较于solo模型也提高了1.4ap;当时,表示目标局部掩模表征与邻域的4个局部掩模表征融合,相比较于时的结果,又增加了0.7ap,这说明是在融合时,邻域局部掩模表征能够提供有利于生成最终分割掩模的互补信息;而当时,测试的结果相比较与时的结果反而下降了0.2ap,这可能是因为远离局部掩模表征的邻域局部掩模表征可能包含不相关的上下文信息,尤其是对于小尺寸对象,表4中的aps值下降的更明显。
[0168][0169]
表4
[0170]
从表5中可以看出,使用动态权重比静态权重对最终的测试结果更好,其中,静态权重指的是采用一个固定的融合参数用于局部掩模表征的融合,从结果可以看出,与静态融合的结果比较,动态融合的ap值由36.5增加到37.9,ap
*
值由38.5增加到40.0,结果表明对于不同形状和尺寸的对象,采用动态权重融合局部掩模表征更有利于预测出高质量的分割掩模。
[0171]
从表5可以看出,在神经网络模型100中如果除去多层级上下文信息,ap值从37.9下降到37.1,ap
*
值从40.0下降到39.2,这说明多层级上下文信息有利于动态融合,而如果将模型100中的局部掩模表征除去,只保留多层级上下文信息,ap值和ap
*
值的下降幅度很大,分别下降到33.8和34.6。因此,对于本技术实施例的神经网络模型100,局部掩模表征是必不可少的,而多层级上下文信息只是作为补充。
[0172]
从表5可以看出,卷积层的数量和卷积核的大小对结果也有影响。当卷积层的层数从1层增加到3层时,无论是ap值还是ap
*
值都在增加,而当卷积层的层数增加到4层时,ap值和ap
*
值反而有所下降,这说明采用3层卷积层对实例分割的结果最好。相比较于1
×
1的卷积核,采用3
×
3的卷积核测试结果更佳。
[0173]
从表5中可以看出,如果引入sigmoid激活函数和损失函数来监督模型100学习局部掩模表征,最终的测试结果,无论是ap值还是ap
*
值都有较大幅度下降,分别从37.9下降到35.5,40.0下降到36.5,这些结果表明神经网络模型100可以通过无监督学习预测局部掩模表征,不仅包括目标对象本身的轮廓,还捕捉到目标对象周围对象的上下文信息,而这些上下文信息有利于生成高质量的分割掩模。
[0174][0175]
表5
[0176]
为了方便描述本技术的技术方案,下文以自动驾驶为例进行说明。
[0177]
图9根据本技术实施例,示出了车辆在自动驾驶过程中的一种场景图。如图9所示,车辆900在自动驾驶的过程中,经常会通过交叉路口,要通过一个交叉路口,需要获取交叉路口的路况信息,此时车辆900获取交叉路口的图像,然后车辆900对获取的图像进行实例分割,并根据实例分割的结果生成控制指令,最后控制指令指导车辆900行驶,例如,实例分割的结果是车辆即将到达交叉路口,并且当前交叉路口的红绿灯是红灯亮,则控制指令可以是车辆900停止行驶,又例如,实例分割的结果是绿灯,则控制指令可以是车辆900减速行驶。本技术的实例分割技术可以适用于车辆在自动驾驶过程中遇到的需要进行实例分割的
各种场景,在此不做限制。
[0178]
图10为根据本技术实施例提供的车辆900的功能框图,如图10所示,车辆900可包括各种与自动驾驶相关的子系统,例如行进系统910、传感器系统920、控制系统930、一个或多个外围设备940以及电源960、计算机系统950和用户接口970。可以理解,车辆900可包括更多或更少的子系统,并且每个子系统可包括多个元件。另外,车辆900的每个子系统和元件可以通过有线或者无线互连。
[0179]
行进系统910可以包括为车辆900提供动力运动的组件。在一个实施例中,行进系统910可包括引擎912、传动装置914和车轮/轮胎916。
[0180]
定位系统922可用于估计车辆900的地理位置。惯性测量单元924用于基于惯性加速度来感测车辆900的位置和朝向变化。在一个实施例中,惯性测量单元924可以是加速度计和陀螺仪的组合。雷达926包括但不限于激光雷达、毫米波雷达等,
[0181]
相机928可用于捕捉车辆900的周边环境的多个图像。相机928可以是静态相机或视频相机。相机928可以实时或周期性的捕捉车辆900的周边环境的多个图像。在本技术的一个实施例中,相机928拍摄车辆900的周围图像,获取路况信息,并将拍摄的路况信息图像发送给处理器952进行处理。
[0182]
控制系统930为控制车辆900及其组件的操作。控制系统930可包括各种元件,其中包括转向系统931、油门932、制动单元933、计算机视觉系统934、路线控制系统935以及障碍物避免系统936。其中,计算机视觉系统934可以处理和分析由相机928捕捉的图像以便识别车辆900周边环境中的物体和/或特征。所述物体和/或特征可包括交通信号、道路边界和障碍物。计算机视觉系统934可使用物体识别算法、自动驾驶方法、运动中恢复结构(structure from motion,sfm)算法、视频跟踪和其他计算机视觉技术。在本技术的一些实施例中,计算机视觉系统934基于全卷积神经网络算法建立识别物体图像的模型,通过图像处理模型检测获取的路况信息,从而使得无人驾驶装置900能够安全行驶,提升用户的驾驶体验。
[0183]
车辆900通过外围设备940与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外围设备940可包括无线通信系统942、车载电脑944、麦克风946和/或扬声器948。在一些实施例中,外围设备940提供车辆900的用户与用户接口970交互的手段。例如,车载电脑944可向车辆900的用户提供信息。用户接口970还可操作车载电脑944来接收用户的输入。车载电脑944可以通过触摸屏进行操作。在其他实施例中,外围设备940可提供用于车辆900与位于车内的其它设备通信的手段。例如,麦克风946可从车辆900的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器948可向车辆900的用户输出音频。
[0184]
电源960可向车辆900的各种组件提供电力。在一个实施例中,电源960可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源为车辆900的各种组件提供电力。
[0185]
车辆900的部分或所有功能受计算机系统950控制。计算机系统950可包括至少一个处理器952,处理器952执行存储在例如存储器954这样的非暂态计算机可读介质中的指令955。计算机系统950还可以是采用分布式方式控制车辆900的个体组件或子系统的多个计算设备。
[0186]
处理器952可以是通用处理器,例如,中央处理器(central processing unit,
cpu)、微处理器,该处理器可以是诸如asic或其它基于硬件的处理器的专用设备。在本技术的一些实施例中,处理器952处理相机928发送的路况信息的图像数据。
[0187]
在一些实施例中,存储器954可包含指令955(例如,程序逻辑),指令955可被处理器952执行来执行车辆900的各种功能。存储器954也可包含额外的指令,包括向行进系统910、传感器系统920、控制系统930和外围设备940中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。在本技术的一些实施例中,存储器954存储训练的实例分割模型,用于识别相机928发送的图像中的目标对象。
[0188]
用户接970,用于向车辆900的用户提供信息或从其接收信息。用户接口970可包括在外围设备940的集合内的一个或多个输入/输出设备,例如,无线通信系统942、车载电脑944、麦克风946和扬声器948。
[0189]
计算机系统950可基于从各种子系统(例如,行进系统910、传感器系统920和控制系统930)以及从用户接口970接收的输入来控制车辆900的功能。例如,计算机系统950可利用来自控制系统930的输入以便控制转向系统931来避免由传感器系统920和障碍物避免系统936检测到的障碍物。在一些实施例中,计算机系统950可操作来对车辆900及其子系统的许多方面提供控制。
[0190]
可以理解,上述这些组件中的一个或多个可与车辆900分开安装或关联。例如,存储器954可以部分或完全地与车辆900分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
[0191]
可以理解,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图2不应理解为对本技术实施例的限制。
[0192]
可以理解,车辆900可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车和火车等,在此不做限制。
[0193]
下面根据本技术的一些实施例,结合图11具体说明本技术的技术方案,具体如下:
[0194]
1102:车辆900获取当前的路况信息的路况图像;车辆900的传感器系统920可以获取当前的路况信息,例如,通过雷达926测距可以得知前方将要通过一个红绿灯路口,此时可通过相机928拍摄路口的红绿灯图像,并将拍摄的图像发送给计算机视觉系统934。
[0195]
1104:车辆900基于上述神经网络模型100对路况图像进行图像识别;例如,车辆900的计算机视觉系统934接收相机928拍摄的图像,通过神经网络模型100模型识别红绿灯。
[0196]
1106:车辆900基于图像识别的结果生成控制指令。
[0197]
在本技术的一个实施例中,计算机视觉系统934通过神经网络模型100的图像处理的结果是红灯,则控制指令可以是控制系统930的制动单元933运转,例如刹车,在本技术的另一个实施例中,计算机视觉系统934的图像处理的结果是绿灯,则控制指令可以是控制系统930的油门932降低能量输出。
[0198]
1108:车辆900基于控制指令执行相应的驾驶动作;例如,控制指令可以是控制系统930的制动单元933运转,例如刹车,则自动驾驶装置900停止前进,又例如,控制指令是油门932降低能量输出,则车辆900减速行驶。
[0199]
在说明书对“一个实施例”或“实施例”的引用意指结合实施例所描述的具体特征、结构或特性被包括在根据本公开的至少一个范例实施方案或技术中。说明书中的各个地方
的短语“在一个实施例中”的出现不一定全部指代同一个实施例。
[0200]
本公开还涉及用于执行文本中的操作装置。该装置可以专门处于所要求的目的而构造或者其可以包括由被存储在计算机中的计算机程序选择性地激活或者重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读介质中,诸如,但不限于任何类型的盘,包括软盘、光盘、cd-rom、磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁或光卡、专用集成电路(asic)或者适于存储电子指令的任何类型的介质,并且每个可以被耦合到计算机系统总线。此外,说明书中所提到的计算机可以包括单个处理器或者可以是采用针对增加的计算能力的多个处理器涉及的架构。
[0201]
本文所提出的过程和显示器固有地不涉及任何具体计算机或其他装置。各种通用系统也可以与根据本文中的教导的程序一起使用,或者构造更多专用装置以执行一个或多个方法步骤可以证明是方便的。在一下描述中讨论了用于各种这些系统的结构。另外,可以使用足以实现本公开的技术和实施方案的任何具体编程语言。各种编程语言可以被用于实施本公开,如本文所讨论的。
[0202]
另外,在本说明书所使用的的语言已经主要被选择用于可读性和指导性的目的并且可能未被选择为描绘或限制所公开的主题。因此,本公开旨在说明而非限制本文所讨论的概念的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1