CN111357018A - 使用神经网络的图像分段 - Google Patents

使用神经网络的图像分段 Download PDF

Info

Publication number
CN111357018A
CN111357018A CN201880074506.3A CN201880074506A CN111357018A CN 111357018 A CN111357018 A CN 111357018A CN 201880074506 A CN201880074506 A CN 201880074506A CN 111357018 A CN111357018 A CN 111357018A
Authority
CN
China
Prior art keywords
segment
time step
input image
output
final
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201880074506.3A
Other languages
English (en)
Other versions
CN111357018B (zh
Inventor
J.希伦斯
N.马赫斯瓦拉纳坦
D.苏西洛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN111357018A publication Critical patent/CN111357018A/zh
Application granted granted Critical
Publication of CN111357018B publication Critical patent/CN111357018B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Abstract

描述了一种用于将每个像素分配给分段类别集合中的各自分段类别的、生成图像的分段的方法。该方法包括获得图像的特征,该图像包括多个像素。对于从初始时间步长开始并持续直到最终时间步长的一个或多个时间步长中的每一个,该方法包括从图像的特征和截至时间步长的当前分段输出生成网络输入,使用卷积递归神经网络处理网络输入以生成对于时间步长的中间分段输出,以及从对于时间步长的中间分段输出和截至时间步长的当前分段输出生成对于时间步长的更新分段输出。该方法包括从更新分段输出生成图像的最终分段。

Description

使用神经网络的图像分段
相关申请的交叉引用
本申请是2017年11月20日提交的美国临时专利申请No.62/588,883的非临时申请并要求其优先权,其全部内容通过引用合并于此。
背景技术
本说明书涉及使用神经网络分段图像。
神经网络是机器学习模型,它使用一个或多个非线性单元的层来预测接收到的输入的输出。一些神经网络除输出层外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一个层的输入,即下一个隐藏层或输出层。网络的每一层根据各自的参数集合的当前值从接收到的输入生成输出。
一些神经网络是递归神经网络。递归神经网络是接收输入序列并从输入序列生成输出序列的神经网络。特别地,递归神经网络可以在计算当前时间步长的输出时使用来自先前时间步长的网络的内部状态中的一些或全部。递归神经网络的示例是包括一个或多个LSTM存储块的长短期记忆(LSTM)神经网络。每个LSTM存储块可以包括一个或多个单元,每个单元包括输入门、遗忘门和输出门,其允许单元存储单元的先前状态,例如,用于生成当前激活或提供给LSTM神经网络的其他组件。
发明内容
本说明书描述了一种实现为在一个或多个位置上的一个或多个计算机上的计算机程序的系统,该系统使用递归神经网络对输入图像进行分段。特别地,输入图像包括多个像素,并且系统将每个像素分配给预定的分段类别集合的各自的分段类别来生成输入图像的分段。
本说明书中描述的主题可以在特定实施例中实现,以实现以下优点中的一个或多个。通过使用本说明书中描述的迭代处理对图像进行分段,系统可以通过改进在先前迭代中生成的分段来准确分段输入图像。此外,通过如本说明书中所描述的对图像进行分段,系统可以有效地调制由分段处理所消耗的计算资源的量,以满足对可用计算资源、生成分段的时间或分段质量的约束。特别地,该系统可以有效地调整生成图像分段的时间步长的量,以解决不同处理约束,而无需重新训练用于生成分段的神经网络。换句话说,该系统可以通过动态地调整生成图像分段的时间步长的量来有效地调整图像分段处理所消耗的计算资源的数量。
本公开的第一方面提供一种由一个或多个计算机执行的方法。所述方法包括:获得输入图像的特征,所述输入图像包括多个像素。所述方法还包括:对于从初始时间步长开始并且持续直到最终时间步长的一个或多个时间步长中的每个,从输入图像的特征以及截至时间步长的当前分段输出生成网络输入,其中,当前分段输出定义将多个像素中的每一个分配给预定分段类别的集合的各自分段类别的输入图像的当前分段;使用卷积递归神经网络处理网络输入以生成用于时间步长的中间分段输出;以及从对于时间步长的中间分段输出和截至时间步长的当前分段输出生成用于时间步长的更新分段输出。所述方法还包括从对于最终时间步长的更新分段输出生成输入图像的最终分段。
所述方法还可以包括输出输入图像的最终分段。获得输入图像的特征可以包括:接收输入图像;以及使用卷积神经网络处理输入图像以生成输入图像的特征。卷积神经网络可以包括多个层,并且已经对图像分类任务进行了预训练,并且其中,输入图像的特征是从卷积神经网络的一个或多个中间层的输出生成的。对于初始时间步长,截至时间步长的当前分段输出可以是预定的初始分段输出。输入图像可以是来自视频的帧,并且对于初始时间步长,截至时间步长的当前分段输出是为视频中的较早帧生成的分段输出。对于输入图像的一个或多个时间步长中的时间步长的总量可以比对于较早帧生成最终分段的时间步长的总量要小。对于初始时间步长之后的每个时间步长,截至时间步长的当前分段输出可以是来自先前时间步长的更新分段输出。从输入图像的特征以及截至时间步长的当前分段输出来生成网络输入可以包括:将当前分段输出级联到特征上。对于时间步长的更新分段输出可以包括对于多个像素中的每个的、用于分段类别的每个的各自得分。生成最终分段可以包括:从对于最终时间步长的更新分段中的像素的分段类别的得分,确定多个像素中的每个的分配。对于时间步长的更新分段输出可以包括对于输入图像的下采样版本中的多个像素中的每个的、用于分段类别的每个的各自得分。生成最终分段还包括:对于最终时间步长,根据用于更新分段中的像素的分段类别的得分,确定下采样版本中的多个像素中的每个的分配,并对分配进行上采样以生成最终分段。从对于时间步长的初始分段输出和截至时间步长的当前分段输出生成对于时间步长的更新分段输出可以包括根据对于时间步长的中间分段输出和截至时间步长的当前分段输出添加对于时间步长的更新分段输出。卷积递归神经网络可以包括多个递归层,其每个具有多个卷积门。由多个递归层中的至少一个的卷积门的至少一个施加的卷积可以是1×1卷积。所述方法还可以包括基于满足用于生成输入图像的最终分段的一个或多个标准所需的时间步长的量,确定要包括在一个或多个时间步长中的时间步长的量。一个或多个标准可以包括以下中的一个或多个:用于最终分段的质量的一个或多个标准,用于生成最终分段所需的时间的一个或多个标准,或用于通过生成最终分段消耗的计算资源数量的一个或多个标准。
本公开的另一方面提供一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,当所述指令由一个或多个计算机执行时,使一个或多个计算机执行本文公开的方法中的任何一个。
本公开的另一方面提供了一个或多个计算机存储介质,其存储指令,当这些指令由一个或多个计算机执行时,使该一个或多个计算机执行本文公开的任何方法。
本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1示出示例图像分段神经网络系统的架构。
图2是用于使用图像分段神经网络分段输入图像的示例处理的流程图。
图3是用于训练卷积递归神经网络以执行图像分段任务的示例处理的流程图。
在各个附图中,相同的附图标号和标记指示相同的元件。
具体实施方式
本说明书描述了一种图像分段神经网络系统,该系统被实现为在一个或多个位置的一个或多个计算机上的计算机程序。图像分段神经网络系统被配置为接收包括多个像素的输入图像,并使用递归神经网络处理输入图像以生成输入图像的分段。分段将每个像素分配给来自预定的分段类别集合的各自的分段类别。
通常,分配给相同分段类别的像素共享一些特性。也就是说,将哪个像素分配给哪个分段类别取决于该像素处的图像的特性。例如,分段类别可以是对象类别,并且分段可以将每个像素分类为在该像素处所描绘的对象所属的对象类别,即,如由递归神经网络所确定的。换句话说,当分段类别是对象类别时,系统尝试将被描绘的给定对象所处的图像部分中的每个像素分类为给定对象所属的对象类别。作为另一个示例,分段类别可以是场景的组件,例如,背景、前景等,并且分段可以将每个像素分配到该像素所属的场景组件中。
在示例实现方式中,图像可以是由自动驾驶车辆的相机拍摄的图像,并且分段可以将图像的每个像素分配给来自多个对象类别的对象类别,所述对象类别包括行人、汽车、卡车、树木、交通灯、交通标志和建筑物。
在另一示例实现方式中,图像可以是人脸的图片,并且分段可以将图像的每个像素分类到来自多个对象类别的对象类别,所述对象类别包括眼睛、眉毛、鼻子、嘴巴、耳朵、头发和皮肤。
在另一示例实现方式中,图像可以是卫星图像,并且分段可以将卫星图像的每个像素分类到土地覆盖的类型,例如,城市、郊区、农业、水、山脉或森林的区域。
图1示出图像分段神经网络系统100的示例架构。图像分段神经网络系统100(为简单起见也称为“系统100”)是被实现为一个或多个位置的一个或多个计算机中的计算机程序的系统的示例,在其中可以实现以下所述的系统、组件和技术。
通常,系统100被配置为接收包括多个像素的输入图像102,并处理输入图像102以生成输入图像的最终分段138。最终分段138将每个像素分配给来自预定的分段类别的集合的各自的分段类别。
为了生成最终分段138,系统100首先获得输入图像102的特征。在一些实现方式中,系统100通过使用卷积神经网络并使用卷积神经网络的一个或多个层的输出作为特征来处理输入图像102以获得特征。例如,如图1所示,系统100包括卷积神经网络104,其被配置为处理输入图像102以生成输入图像102的特征109。输入图像102的特征在包括许多特征通道的特征深度上具有空间分辨率(可以小于输入图像102的原始分辨率)。例如,假设输入图像102具有513×513个像素的空间分辨率,则特征109可以在2048个特征通道上具有65×65个像素的空间分辨率。
卷积神经网络104包括多个神经网络层,并且已经关于图像分类任务进行了预训练。输入图像102的特征是从卷积神经网络104的一个或多个中间层的输出生成的。例如,卷积神经网络104可以是深度残差神经网络,例如,在2016年IEEE计算机视觉和模式识别会议上的K.He,X.Zhang,S.Ren和J.Sun的“Deep residual learning for image recognition(用于图像识别的深度学习)”中描述的101层ResNet神经网络。
然后,系统100执行迭代处理,其中,在N个时间步长(N≥1)的每个时间步长中,系统100生成对于该时间步长的网络输入,并使用卷积递归神经网络(卷积RNN)105处理网络输入,以生成对于该时间步长的更新分段输出。对于当前时间步长的更新分段输出是在前一时间步长生成的分段输出的改进版本,并且可用作到下一时间步长的输入,或用于生成输入图像的最终分段。系统100可以调整在其上生成图像分段的时间步长的量,以解决不同处理约束,而无需重新训练用于生成最终分段的卷积递归神经网络105。卷积递归神经网络105的架构允许系统能够比现有系统(例如,通过改变卷积神经网络的输出步幅来控制计算成本的系统)对计算成本进行更细粒度的控制,同时仍保持类似的准确度。特别地,通过调整分段处理的时间步长的量,系统100可以有效地调制由分段处理所消耗的计算资源数量,以满足对可用计算资源、生成分段的时间或分段质量的约束。
如图1所示,对于从初始时间步长开始并持续直到最终时间步长的一个或多个时间步长中的每一个(例如,在时间步长k),系统100从(i)输入图像102的特征109和(ii)截至该时间步长的当前分段输出107生成网络输入106。当前分段输出定义将多个像素中的每一个分配给来自预定的分段类别集合的各自的分段类别的输入图像102的当前分段。对于初始时间步长,截至时间步长的当前分段输出是预定的初始分段输出。对于初始时间步长之后的每个时间步长,截至时间步长的当前分段输出是来自前一时间步长的更新分段输出。例如,在时间步长k,当前分段输出107是由时间步长k-1生成的更新分段输出120。
系统100通过组合特征109和当前分段输出107来生成网络输入106。在一些实现方式中,当前分段输出107包括用于输入图像102的下采样版本中的每个像素的各自得分,以及特征109具有与输入图像102的下采样版本的分辨率相同的空间分辨率。在这些实现方式中,系统100可以例如沿着深度维度将当前分段输出107与输入图像102的特征109连接在一起生成网络输入106。
在一些情况下,系统100仅对于一个时间步长(N=1)执行处理,即,在这些情况下,初始时间步长和最终时间步长是相同时间步长,并且仅对单个时间步长发生处理。在这些情况下,对于单个时间步长的当前分段输出是预定的初始分段输出。
在生成网络输入106之后,系统100使用卷积递归神经网络105(也称为卷积RNN105)来处理网络输入106,以生成对于时间步长的中间分段输出118。卷积RNN包括一个或多个长短期记忆(LSTM)神经网络层。例如,如图1所示,卷积RNN 105包括卷积LSTM神经网络层108、112和116。每个卷积LSTM具有多个卷积门。由至少一个卷积门施加的卷积是1×1卷积。卷积LSTM层在2015年的《神经信息处理系统的进展》,第802-810页,S.Xingjian,Z.Chen,H.Wang,D.-Y.Yeung,W.-K.Wong和W.-c.Woo的“Convolutional lstm network:A machinelearning approach for precipitation nowcasting(卷积lstm网络:一种用于降水临近预报的机器学习方法)”中进行了详细描述。
卷积RNN 105中的卷积LSTM层保持特征109的相同空间分辨率,同时将特征109的深度从图像特征通道的量减小到分段类别的量。在图1的示例中,卷积RNN 105通过卷积LSTM 108、112和116共同处理具有深度为2048个特征通道的特征109的网络输入109,以生成具有深度为包括背景类别的21个分段类别的中间分段输出118。
在生成中间分段输出118之后,系统100从当前分段输出107(其是对于时间步长k-1生成的更新分段输出120)和中间分段输出118生成对于时间步长k的更新分段输出122。系统100可以通过组合(例如,逐元素相加)中间分段输出118和当前分段输出107来生成更新分段输出122。更新分段输出122具有与中间分段输出118相同的深度(例如,21个分段类别),并在下一时间步长被用作输入。
在一些情况下,当前时间步长k的更新分段输出122包括对于输入图像102中的每个像素的、用于每个分段类别的各自得分。在这些情况下,系统100通过将每个像素分配给具有用于像素的得分当中最高得分的类别来生成对于时间步长k的临时分段124。如下所述,临时分段用于创建人类可解释的画布,该画布可视地呈现输入图像中描绘的对象的分段。
在一些其他情况下,更新分段输出122包括用于输入图像102的下采样版本中的每个像素的各自得分(例如,输入图像102的尺寸为513x513个像素,而下采样版本的尺寸为65x65个像素)。在这些情况下,系统100通过使用更新分段输出122首先为输入图像102的下采样版本中的每个像素确定分段分配以生成下采样图像的分段,来生成临时分段124。然后,系统100例如使用双线性上采样层对下采样图像的分段进行上采样,以生成输入图像的临时分段124。临时分段124可以具有与输入图像102相同的尺寸(即,513×513个像素)。
基于临时分段124,系统100可以以与每个其他分段类别在视觉上不同的方式描绘属于每个分段类别的像素,以创建人类可解释的画布,该画布以视觉方式示出输入图像102中描绘的对象的分段。在后续迭代中附加地更新该画布。可以细化画布中的分段,并且可以在卷积RNN 105的后续迭代中纠正任何分段的错误。
系统100在下一时间步长k+1重复以上处理。特别地,系统100从(i)输入图像102的原始特征109和(ii)作为先前时间步长k的更新分段输出122的当前分段输出111生成网络输入126。系统100使用卷积RNN 105处理网络输入126,以生成对于时间步长k+1的中间分段输出128。然后,系统100从当前分段输出111(其是对于时间步长k生成的更新分段输出122)和中间分段输出128生成对于时间步长k+1的更新分段输出130。基于更新分段输出130,系统100生成用于附加地更新人类可解释的画布的临时分段132。
系统100对后续时间步长k+2、k+3、k+4…重复上述处理,直到达到最终时间步长为止。
由系统100在最终时间步长生成的临时分段是输入图像102的最终分段。在图1的示例,存在三个时间步长,因此在时间步长k+2生成的临时分段138是输入图像102的最终分段。
一旦系统100已经为输入图像102生成了最终分段,系统100就可以输出最终分段。例如,系统100可以例如通过以与每个其他分段类别在视觉上不同的方式描绘属于每个分段类别的像素,来输出用于呈现给用户的最终分段。作为另一示例,系统100可以将定义最终分段的数据与输入图像相关联地存储在一个或多个存储设备中以供以后使用。作为又一示例,系统100可以将指定分段的数据作为输入提供给另一系统,该另一系统基于分段执行进一步处理。仅作为示例,这种进一步处理可以包括基于分段来控制设备(诸如机器人或自动驾驶车辆)。
尽管图1示出三个时间步长,但是系统100可以基于用于生成最终分段的一个或多个标准来改变时间步长的量。
例如,标准可以指定可用于生成最终分段的计算资源的最大数量,例如,处理器周期、磁盘读取、存储器访问或其他计算资源使用量度的最大量,并且系统仅可以执行与在使用少于计算资源的最大量的同时可以执行的迭代一样多的迭代。
作为另一个示例,标准可以指定生成最终分段所花费的时间的最大数量,并且系统仅可以执行与在小于次数的最大数量内可以执行的迭代一样多的迭代。
作为另一个示例,标准可以指定用于最终分段的最小质量,并且系统可以执行生成被期望至少具有最小质量的分段所必需的迭代的最小量。
在一些情况下,系统100可以保持指定对于一个时间步长的处理需要多少计算资源或多少时间的数据。然后,系统接收指定对于给定输入图像用于生成最终分段所允许的计算资源的最大量或时间的最大量的数据。基于所保持和接收的数据,系统分别确定不会导致资源或时间超出指定的计算资源最大量或时间最大量的时间步长的最大量。
为了允许使用卷积RNN 105有效地生成输入图像的最终分段,图像分段神经网络系统100包括训练引擎150,该训练引擎150是经过编程以使用监督学习技术在训练数据上训练卷积RNN 105的基于软件的系统、子系统或处理。通常,训练引擎150将被实现为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,可以在相同的一个或多个计算机上安装并运行多个引擎。
具体地,在训练期间,训练引擎150获得训练数据,该训练数据包括输入图像(例如,输入图像102)和输入图像的标准答案(ground-truth)分段(例如,标准答案分段140)。然后,训练引擎150获得输入图像的特征,并根据卷积RNN 105的参数的当前值使用卷积RNN105对于N个迭代(或N≥1的N个时间步长)来迭代处理特征和在先前时间步长生成的当前图像分段的组合,以生成用于输入图像的最终分段(例如,最终分段138)。通常,增加迭代次数N提高卷积RNN 105的预测准确度(例如,提高由卷积RNN生成的分段的准确度)。然而,在特定点(例如,当N=6时),增加迭代次数只会导致在卷积RNN 105的预测准确度方面的最小增益,并且不能证明(justify)增加的计算负担。因此,基于计算负担和预测准确度之间的良好平衡来选择N,即,选择N使得以低计算成本获得高预测准确度。
训练引擎150使用输入图像102的最终分段138和标准答案分段140来计算交叉熵损失。然后,训练引擎150调整卷积RNN 105的参数值以最小化交叉熵损失。
在训练之后,系统100可以根据卷积RNN 105的参数的训练值,使用训练的卷积RNN105生成对于给定输入图像的最终分段。
在一些情况下,图像分段神经网络系统100可以将训练的卷积RNN 105或训练的卷积RNN 105的参数值提供给外部系统。外部系统可以使用经过训练的卷积RNN 105以上述方式生成对于输入图像的最终分段。
作为特定示例,在训练之后,系统100或外部系统可以在机器人与环境交互的同时使用最终分段来控制机器人。通过使更准确的最终分段作为用于机器人的控制策略或规划师的输入,可以更有效地控制机器人完成环境中的指定任务。例如,机器人可以更准确地识别环境中的一个或多个对象,并且可以被控制为响应于识别的对象采取适当的动作,例如,改变移动方向以避开对象。以类似的方式,系统100或外部系统可以使用最终分段来控制自动驾驶车辆,或控制与真实世界对象交互的任何其他设备。
下面参照图3详细描述训练卷积RNN 105的处理。
图2是用于使用图像分段神经网络来分段输入图像的示例处理200的流程图。为了方便,将处理200被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,适当地编程的神经网络系统,例如,图1的图像分段神经网络系统100,可以执行过程200。
系统获得输入图像的特征(步骤202)。输入图像包括多个像素。在一些实现方式中,系统通过使用卷积神经网络处理输入图像并将卷积神经网络的一层或多层的输出用作特征来获得特征。卷积神经网络包括多个神经网络层,并且已经对图像分类任务进行预训练。输入图像的特征是从卷积神经网络的一个或多个中间层的输出生成的。
对于从初始时间步长开始并持续直到最终时间步长的一个或多个时间步长中的每一个,系统重复执行以下操作(步骤204-208)。
系统从输入图像的特征和截至时间步长的当前分段输出生成网络输入(步骤204)。当前分段输出定义将多个像素中的每一个分配给来自预定的分段类别集合的各自的分段类别的输入图像的当前分段。例如,当输入图像的特征包括一个或多个特征映射时,系统可以例如沿着深度维度将当前分段输出与输入图像的特征级联以生成网络输入。对于初始时间步长,截至时间步长的当前分段输出是预定的初始分段输出。对于初始时间步长之后的每个时间步长,截至时间步长的当前分段输出是先前时间步长的更新分段输出。
在一些情况下,系统仅执行对于一个时间步长的处理,即,在这些情况下,初始时间步长和最终时间步长是相同的时间步长,并且处理仅对于单个时间步长发生。在这些情况下,对于单个时间步长的当前分段输出是预定的初始分段输出。
系统根据卷积递归神经网络的当前参数值,使用卷积递归神经网络处理网络输入,以生成对于时间步长的中间分段输出(步骤206)。
系统从对于时间步长的初始分段输出和截至时间步长的当前分段输出来生成对于时间步长的更新分段输出(步骤208)。系统可以通过组合(例如逐元素相加)中间分段输出和当前分段输出来生成更新分段输出。
系统重复执行步骤202-208,直到到达最终时间步长为止。在最终一步,系统获得对于最终时间步长的更新分段输出。
系统从对于最终时间步长的更新分段输出来生成输入图像的最终分段(步骤210)。
在一些情况下,对于最终时间步长的更新分段输出包括对图像中的每个像素的、对于每个分段类别的各自得分。在这些情况下,系统通过将每个像素分配给用于像素的得分当中具有最高得分的类别来生成最终分段。
在一些其他情况下,最终时间步长的更新分段输出包括用于输入图像的下采样版本中的每个像素的各自得分。在这些情况下,系统通过使用更新分段输出首先确定用于输入图像的下采样版本中每个像素的分段分配,以生成下采样图像的最终分段,来生成最终分段。然后,系统例如使用双线性上采样层对最终分段进行上采样,以生成输入图像的最终分段。
一旦系统已经生成输入图像的最终分段,系统就可以输出最终分段。例如,系统可以例如通过以与每个其他分段类别在视觉上不同的方式描绘属于每个分段类别的像素,输出最终分段以呈现给用户。作为另一示例,系统可以将定义最终分段的数据与输入图像相关联地存储在一个或多个存储设备中以供以后使用。作为又一个示例,系统可以将指定分段的数据作为输入提供给另一系统,该另一系统基于分段执行进一步处理。
在一些实现方式中,如上面参照图1所描述的,系统基于用于生成最终分段的一个或多个标准确定对于多少时间步长执行处理。
图3是用于训练卷积递归神经网络以执行图像分段任务的示例处理300的流程图。为了方便,将处理300描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,适当地编程的神经网络系统,例如,图1的图像分段神经网络系统100,可以执行处理300。
系统获得训练数据,该训练数据包括一个或多个训练输入图像以及对每个训练输入图像的标准答案分段(步骤302)。训练输入图像包括多个像素。用于训练输入图像的标准答案分段将训练输入图像的多个像素中的每一个准确地分配给多个分段类别的各自的分段类别。
对于给定训练输入图像,系统生成训练输入图像的最终分段(步骤304)。特别地,系统首先例如通过使用为图像分类任务而训练的卷积神经网络来处理训练输入图像而获得训练输入图像的特征。
系统根据卷积RNN的当前参数值,使用卷积RNN重复处理特征和在先前时间步长生成的当前图像分段输出的组合,以便生成输入图像的最终分段。系统可以重复处理达N次迭代(或N个时间步长),N≥1。通常,增加迭代次数提高卷积RNN的预测准确度(例如,提高由卷积RNN生成的分段的准确度)。然而,在特定点(例如,当N=6时),增加迭代次数只会导致卷积RNN105的预测准确度方面的最小增益,并且不能证明增加的计算负担。因此,基于计算负担和预测准确度之间的良好平衡来选择N,即,选择N使得以低计算成本获得高预测准确度。
上面参照图1详细描述了在N次迭代之后生成对于输入图像的最终分段的处理。
系统基于训练输入图像的最终分段和标准答案分段来计算交叉熵损失(步骤306)。
系统向后传播交叉熵损失的梯度以调整卷积递归神经网络的参数值(步骤308)。
系统可以通过使用小批量随机优化(mini-batch stochastic optimization)或随机梯度优化(stochastic gradient optimization)方法来调整卷积递归神经网络的当前参数值,以使交叉熵损失最小。
系统可以对训练数据中包括的不同训练输入图像重复执行处理300,以便重复更新卷积RNN的参数值。
本说明书在系统和计算机程序组件中使用术语“被配置为”。对于被配置为执行特定操作或动作的一个或多个计算机的系统意味着系统已在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中使系统执行这些操作或动作。对于被配置为执行特定操作或动作的一个或多个计算机程序意味着一个或多个程序包括指令,该指令在由数据处理装置执行时使该装置执行该操作或动作。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中,在有形体现的计算机软件或固件中,在计算机硬件中实现,包括本说明书中公开的结构及其等同结构,或其一个或多个的组合。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,在有形的非暂时性存储介质上编码的计算机程序指令的一个或多个模块,以由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行访问存储设备或其一个或多个的组合。可选地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置用于通过数据处理装置执行。
术语“数据处理装置”是指数据处理硬件,并且包括用于处理数据的各种装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。装置还可以是或进一步包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件之外,装置可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其一个或多个的组合的代码。
也可以被称为或描述为程序、软件、软件应用、app、模块、软件模块,脚本或代码的计算机程序可以以任何形式的编程语言来编写,包括编译或解释性语言,或声明性或程序性语言;它可以以任何形式进行部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元。程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本,专用于所讨论程序的单个文件中或多个协调文件中,例如,存储一个或多个模块、子程序或部分代码的文件。可以部署计算机程序以在一个计算机或位于一个站点上或分布在多个站点上并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“数据库”广泛用于表示任何数据集合:数据不需要以任何特定方式进行结构化或根本不需要结构化,并且可以将数据存储在一个或多个位置的存储设备。因此,例如,索引数据库可以包括多个数据集合,每个数据集合可以被不同地组织和访问。
类似地,在本说明书中,术语“引擎”广泛地用于指代被编程以执行一个或多个特定功能的基于软件的系统、子系统或处理。通常,引擎将实现为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,可以在相同的一个或多个计算机上安装并运行多个引擎。
本说明书中描述的处理和逻辑流程可以由一个或多个可编程计算机执行,执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程还可以由专用逻辑电路(例如,FPGA或ASIC)执行,或者由专用逻辑电路和一个或多个编程计算机的组合来执行。
适用于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或者基于任何其他类型的中央处理器。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于进行或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括或可操作地耦合以从一个或多个大容量存储设备(例如,磁性、磁光盘或光盘)接收数据或将数据传输到一个或多个大容量存储设备或两者。然而,计算机不必具有此类设备。此外,计算机可以被嵌入到另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备,例如,通用串行总线(USB)闪存驱动器,仅举几例。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如,半导体存储设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM磁盘。
为了提供与用户的交互,可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及键盘和指示设备(例如鼠标或轨迹球,用户可通过该其向计算机提供输入)的计算机上实现本说明书中描述的主题的实施例。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应从网络浏览器接收的请求,将网页发送到用户设备上的网络浏览器。此外,计算机可以通过将文本消息或其他形式的消息发送到个人设备(例如,运行消息收发应用的智能手机),并从用户接收响应消息来与用户交互。
用于实现机器学习模型的数据处理装置还可包括例如专用硬件加速器单元,用于处理机器学习训练或生产(即推理)工作负载的公共和计算密集型部分。
可以使用机器学习框架(例如,TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架或Apache MXNet框架)来实现和部署机器学习模型。
本说明书中描述的主题的实施例可以在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如具有用户可以与本说明中描述的主题的实现进行交互的图形用户界面、网络浏览器或应用的客户端计算机)或者一个或多个此类后端组件、中间件组件或前端组件的任意组合的计算系统中实现。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如,互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生。在一些实施例中,服务器例如为了向与作为客户端的设备交互的用户显示数据并从该用户接收用户输入的目的,而向用户设备发送例如HTML页面的数据。可以在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
尽管本说明书包含许多特定的实现细节,但是这些细节不应解释为对任何发明的范围或所要求保护的范围的限制,而应解释为对特定发明的特定实施例特定的特征的描述。在单独实施例的上下文中在本说明书中描述的特定特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。此外,尽管以上可以将特征描述为以特定组合起作用并且甚至最初是这样主张的,但是在一些情况下,可以从该组合中去除所要求保护的组合中的一个或多个特征,并且可以将所要求保护的组合指向子组合或子组合的变型。
类似地,尽管以特定顺序在附图中示出了操作并在权利要求中对其进行了叙述,但这不应理解为要求以所示的特定顺序或依次执行这样的操作,或者执行所有图示的操作,以实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。

Claims (20)

1.一种由一个或多个计算机执行的方法,所述方法包括:
获得输入图像的特征,所述输入图像包括多个像素;
对于从初始时间步长开始并且持续直到最终时间步长的一个或多个时间步长中的每个时间步长:
从输入图像的特征以及截至时间步长的当前分段输出来生成网络输入,其中,当前分段输出定义将所述多个像素中的每一个分配给预定的分段类别集合的各自的分段类别的输入图像的当前分段,
使用卷积递归神经网络处理网络输入以生成对于时间步长的中间分段输出,以及
从对于时间步长的中间分段输出和截至时间步长的当前分段输出来生成对于时间步长的更新分段输出;以及
从对于最终时间步长的更新分段输出来生成输入图像的最终分段。
2.根据权利要求1所述的方法,还包括:
输出输入图像的最终分段。
3.根据权利要求1或2所述的方法,其中,获得输入图像的特征包括:
接收输入图像;以及
使用卷积神经网络处理输入图像以生成输入图像的特征。
4.根据权利要求3所述的方法,其中,卷积神经网络包括多层,并且已经关于图像分类任务进行了预训练,并且其中,输入图像的特征是从卷积神经网络的一个或多个中间层的输出生成的。
5.根据权利要求1至4中的任一项所述的方法,其中,对于初始时间步长,截至时间步长的当前分段输出是预定的初始分段输出。
6.根据权利要求1至5中的任一项所述的方法,其中,输入图像是来自视频的帧,并且其中,对于初始时间步长,截至时间步长的当前分段输出是对于视频中的较早帧生成的分段输出。
7.根据权利要求6所述的方法,其中,对于输入图像的所述一个或多个时间步长中的时间步长的总量小于为较早帧生成最终分段的时间步长的总量。
8.根据权利要求1至7中的任一项所述的方法,其中,对于初始时间步长之后的每个时间步长,截至时间步长的当前分段输出是来自先前时间步长的更新分段输出。
9.根据权利要求1至8中的任一项所述的方法,其中,从输入图像的特征和截至时间步长的当前分段输出生成网络输入包括:
将当前分段输出级联到特征。
10.根据权利要求1至9中的任一项所述的方法,其中,对于时间步长的更新分段输出包括对于所述多个像素中的每一个的、对于每个分段类别的各自的得分。
11.根据权利要求10所述的方法,其中,生成最终分段包括:从对于最终时间步长的更新分段中的像素的分段类别的得分,确定所述多个像素中的每一个的分配。
12.根据权利要求1至9中的任一项所述的方法,其中,对于时间步长的更新分段输出包括,对于输入图像的下采样版本中的多个像素中的每一个的、对于每个分段类别的各自的得分。
13.根据权利要求12所述的方法,其中,生成最终分段包括:从对于最终时间步长的更新分段中的像素的分段类别的得分,确定下采样版本中的所述多个像素中的每一个的分配,并对分配进行上采样以生成最终分段。
14.根据权利要求1至13中的任一项所述的方法,其中,从对于时间步长的初始分段输出和截至时间步长的当前分段输出生成对于时间步长的更新分段输出包括:添加来自对于时间步长的中间分段输出和截至时间步长的当前分段输出的更新分段输出。
15.根据权利要求1至14中的任一项所述的方法,其中,卷积递归神经网络包括每个具有多个卷积门的多个递归层。
16.根据权利要求15所述的方法,其中,由所述多个递归层中的至少一个的卷积门的至少一个施加的卷积是1×1卷积。
17.根据权利要求1至16中的任一项所述的方法,还包括:
基于满足用于生成输入图像的最终分段的一个或多个标准所需的时间步长的量,确定要包括在所述一个或多个时间步长中的时间步长的量。
18.根据权利要求17所述的方法,其中,所述一个或多个标准包括以下中的一个或多个:用于最终分段质量的一个或多个标准,用于生成最终分段所需的时间的一个或多个标准,或用于通过生成最终分段消耗的计算资源的数量的一个或多个标准。
19.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,当指令由一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求1至18中任一项所述的各自方法的操作。
20.一个或多个计算机存储介质,其存储指令,当指令由所述一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求1至18中任一项所述的各自方法的操作。
CN201880074506.3A 2017-11-20 2018-11-20 使用神经网络的图像分割 Active CN111357018B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762588883P 2017-11-20 2017-11-20
US62/588,883 2017-11-20
PCT/US2018/062057 WO2019100065A1 (en) 2017-11-20 2018-11-20 Image segmentation using neural networks

Publications (2)

Publication Number Publication Date
CN111357018A true CN111357018A (zh) 2020-06-30
CN111357018B CN111357018B (zh) 2024-03-15

Family

ID=64650565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880074506.3A Active CN111357018B (zh) 2017-11-20 2018-11-20 使用神经网络的图像分割

Country Status (4)

Country Link
US (1) US11257217B2 (zh)
EP (1) EP3710993B1 (zh)
CN (1) CN111357018B (zh)
WO (1) WO2019100065A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115066691A (zh) * 2020-02-07 2022-09-16 渊慧科技有限公司 生成或者处理图像序列的循环单元
US11727551B2 (en) * 2020-05-14 2023-08-15 Ccc Information Services Inc. Image processing system using recurrent neural networks
US11593597B2 (en) * 2020-11-16 2023-02-28 GM Global Technology Operations LLC Object detection in vehicles using cross-modality sensors
GB2604640A (en) * 2021-03-12 2022-09-14 Samsung Electronics Co Ltd Performing a processing task instructed by an application
CN117557585B (zh) * 2024-01-12 2024-03-12 自然资源部第三地理信息制图院 一种宗地地块分割方法、系统、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160180215A1 (en) * 2014-12-19 2016-06-23 Google Inc. Generating parse trees of text segments using neural networks
US20160283841A1 (en) * 2015-03-27 2016-09-29 Google Inc. Convolutional neural networks
CN106471526A (zh) * 2014-08-29 2017-03-01 谷歌公司 使用深度神经网络来处理图像
EP3239896A1 (en) * 2016-04-28 2017-11-01 Joanneum Research Forschungsgesellschaft mbH Data structure for describing an image sequence image, and methods for extracting and matching these data structures

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016197303A1 (en) * 2015-06-08 2016-12-15 Microsoft Technology Licensing, Llc. Image semantic segmentation
WO2018035805A1 (en) * 2016-08-25 2018-03-01 Intel Corporation Coupled multi-task fully convolutional networks using multi-scale contextual information and hierarchical hyper-features for semantic image segmentation
US10089742B1 (en) * 2017-03-14 2018-10-02 Adobe Systems Incorporated Automatically segmenting images based on natural language phrases
US10706547B2 (en) * 2017-06-02 2020-07-07 Htc Corporation Image segmentation method and apparatus
GB201709672D0 (en) * 2017-06-16 2017-08-02 Ucl Business Plc A system and computer-implemented method for segmenting an image
US10614574B2 (en) * 2017-10-16 2020-04-07 Adobe Inc. Generating image segmentation data using a multi-branch neural network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106471526A (zh) * 2014-08-29 2017-03-01 谷歌公司 使用深度神经网络来处理图像
US20160180215A1 (en) * 2014-12-19 2016-06-23 Google Inc. Generating parse trees of text segments using neural networks
US20160283841A1 (en) * 2015-03-27 2016-09-29 Google Inc. Convolutional neural networks
EP3239896A1 (en) * 2016-04-28 2017-11-01 Joanneum Research Forschungsgesellschaft mbH Data structure for describing an image sequence image, and methods for extracting and matching these data structures

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
EKREM EMRE YURDAKUL等: "Semantic Segmentation of RGBD Videos with Recurrent Fully Convolutional Neural Networks", 《SEMANTIC SEGMENTATION OF RGBD VIDEOS WITH RECURRENT FULLY CONVOLUTIONAL NEURAL NETWORKS》 *

Also Published As

Publication number Publication date
EP3710993B1 (en) 2022-01-05
CN111357018B (zh) 2024-03-15
WO2019100065A1 (en) 2019-05-23
US11257217B2 (en) 2022-02-22
EP3710993A1 (en) 2020-09-23
US20200364872A1 (en) 2020-11-19

Similar Documents

Publication Publication Date Title
KR102422729B1 (ko) 학습 데이터 증강 정책
CN111357018B (zh) 使用神经网络的图像分割
US20230177343A1 (en) Scene understanding and generation using neural networks
CN109863537B (zh) 风格化输入图像
CN110062934B (zh) 使用神经网络确定图像中的结构和运动
CN110443351B (zh) 生成映像的自然语言描述
WO2019099684A1 (en) Unsupervised learning of image depth and ego-motion prediction neural networks
CN111279362A (zh) 胶囊神经网络
US11144782B2 (en) Generating video frames using neural networks
US11783500B2 (en) Unsupervised depth prediction neural networks
JP2020506488A (ja) バッチ再正規化層
US11951622B2 (en) Domain adaptation using simulation to simulation transfer
CN115605878A (zh) 使用基于自注意力的神经网络处理图像
CN113705515B (zh) 语义分割模型的训练和高精地图车道线的生成方法和设备
CN115331275A (zh) 图像处理的方法、计算机系统、电子设备和程序产品
CN110827341A (zh) 一种图片深度估计方法、装置和存储介质
CN111814542A (zh) 地理对象的提取方法、装置及电子设备
WO2020106871A1 (en) Image processing neural networks with dynamic filter activation
KR20220130498A (ko) 딥뉴럴 네트워크 기반 이미지 아웃페인팅 방법 및 그 장치
CN115661238B (zh) 可行驶区域生成方法、装置、电子设备和计算机可读介质
WO2023059737A1 (en) Self-attention based neural networks for processing network inputs from multiple modalities

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant