CN113379654A - 动态路由的块鉴别器 - Google Patents

动态路由的块鉴别器 Download PDF

Info

Publication number
CN113379654A
CN113379654A CN202110195367.3A CN202110195367A CN113379654A CN 113379654 A CN113379654 A CN 113379654A CN 202110195367 A CN202110195367 A CN 202110195367A CN 113379654 A CN113379654 A CN 113379654A
Authority
CN
China
Prior art keywords
image
generator
capsule
vehicle
routing
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.)
Pending
Application number
CN202110195367.3A
Other languages
English (en)
Inventor
舒布·古普塔
尼基塔·斋普里亚
普拉韦恩·纳拉亚南
维迪亚·纳里亚曼特穆拉里
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.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies 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 Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of CN113379654A publication Critical patent/CN113379654A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • 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/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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/048Activation functions
    • 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/10004Still image; Photographic image
    • 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/20021Dividing image into blocks, subimages or windows
    • 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]
    • 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/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本公开提供了“动态路由的块鉴别器”。本公开公开了一种系统和一种方法。在示例性实现方式中,所述系统和所述方法可以在鉴别器处从图像生成多个图像块,基于所述多个图像块确定胶囊网络内的多个路由系数,基于所述多个路由系数生成指示所述图像是合成的还是源自真实分布的预测,以及基于所述预测来更新生成器的一个或多个权重,其中所述生成器连接到所述鉴别器。

Description

动态路由的块鉴别器
技术领域
本公开总体上涉及深度神经网络。
背景技术
深度神经网络(DNN)可以用于执行许多图像理解任务,包括分类、分割和生成字幕。例如,卷积神经网络可以将图像作为输入,为图像内描绘的各个方面/对象分配重要性,并且将所述方面/对象彼此区分开。
发明内容
一种系统包括计算机,所述计算机包括处理器和存储器,并且所述存储器包括指令,使得所述处理器被编程为在鉴别器处从图像生成多个图像块,基于所述多个图像块确定胶囊网络内的多个路由系数,基于所述多个路由系数生成指示所述图像是合成的还是源自真实分布的预测,并且基于所述预测来更新生成器的一个或多个权重,其中所述生成器连接到所述鉴别器。
在其他特征中,所述图像由所述生成器生成。
在其他特征中,所述图像是基于模拟图像。
在其他特征中,所述模拟图像由游戏引擎生成。
在其他特征中,所述模拟图像描绘多个对象。
在其他特征中,所述图像描绘与所述模拟图像的图像视图对应的所述多个对象。
在其他特征中,所述多个路由系数中的每个路由系数对应于所述胶囊网络的胶囊层之间的路由。
一种系统包括计算机,所述计算机包括处理器和存储器,并且所述存储器包括指令,使得所述处理器被编程为在鉴别器处从合成图像生成多个图像块,基于所述多个图像块确定胶囊网络内的多个路由系数,基于所述多个路由系数生成指示所述合成图像是合成的还是源自真实分布的预测,基于所述预测来更新生成器的一个或多个权重,其中所述生成器连接到所述鉴别器。
在其他特征中,所述合成图像由所述生成器生成。
在其他特征中,所述图像是基于模拟图像。
在其他特征中,所述模拟图像由游戏引擎生成。
在其他特征中,所述模拟图像描绘多个对象。
在其他特征中,所述图像描绘与所述模拟图像的图像视图对应的所述多个对象。
在其他特征中,所述多个路由系数中的每个路由系数对应于所述胶囊网络的胶囊层之间的路由。
一种方法包括在鉴别器处从图像生成多个图像块,基于所述多个图像块确定胶囊网络内的多个路由系数,基于所述多个路由系数生成指示所述图像是合成的还是源自真实分布的预测,以及基于所述预测来更新生成器的一个或多个权重,其中所述生成器连接到所述鉴别器。
在其他特征中,所述方法还包括在所述生成器处生成所述图像。
在其他特征中,所述图像是基于模拟图像。
在其他特征中,所述模拟图像由游戏引擎生成。
在其他特征中,所述模拟图像描绘多个对象。
在其他特征中,所述多个路由系数中的每个路由系数对应于所述胶囊网络的胶囊层之间的路由。
附图说明
图1是包括车辆的示例性系统的图示。
图2是系统内的示例性服务器的图示。
图3是示例性对抗网络的图示。
图4是示例性深度神经网络的图示。
图5是对抗网络的示例性鉴别器的图示。
图6是示例性图像和从图像提取的图像块。
图7是示出用于计算图像块的情境的示例性过程的流程图。
图8是示出用于生成输入图像是合成图像还是源自真实分布的图像的预测(例如分类预测)的示例性过程的流程图。
具体实施方式
自主车辆通常采用感知算法或代理来感知车辆周围的环境。然而,训练感知算法通常需要大量数据。可以使用游戏引擎来模拟向感知算法描绘感兴趣的对象的数据,诸如合成图像。感兴趣的对象可以包括其他车辆、挂车、行人、街道标记、标志等。然而,合成数据可能看起来不是“真实的”。因此,使用合成数据训练感知算法可能不对应于使用真实(即,非生成的)数据训练感知算法。
在一些情况下,生成式对抗网络(GAN)用于变换模拟数据以使其看起来更逼真。然而,在变换期间并不保留模拟数据内的对象的位置、大小和/或形状,这可能使得从模拟生成的地面实况标签不可用于训练目的。
本公开公开了一种对抗神经网络,所述对抗神经网络包括鉴别器,所述鉴别器从输入图像提取(例如生成)图像块。鉴别器然后可以计算图像块的情境。例如,情境是指各个图像块的加权组合。加权组合的权重可以通过胶囊神经网络来确定。使用所计算的情境,鉴别器对所计算的情境是对应于合成图像还是源自真实分布的图像进行分类。
虽然本公开描述了车辆系统和服务器,但应理解,可以使用任何合适的计算机系统来执行本文描述的对抗神经网络的技术和/或功能。鉴别器可以用于对抗地训练生成器,使得经训练的生成器可以生成逼真的合成数据。逼真的合成数据可以用于训练和验证用于图像感知任务(诸如图像分类等)的深度神经网络。
图1是示例性车辆系统100的框图。系统100包括车辆105,所述车辆是陆地车辆,诸如汽车、卡车等。车辆105包括计算机110、车辆传感器115、用于致动各种车辆部件125的致动器120以及车辆通信模块130。经由网络135,通信模块130允许计算机110与服务器145通信。
计算机110包括处理器和存储器。存储器包括一种或多种形式的计算机可读介质,并且存储可由计算机110执行以执行各种操作(包括如本文所公开的操作)的指令。
计算机110可以以自主模式、半自主模式或非自主(手动)模式来操作车辆105。出于本公开的目的,自主模式被限定为其中由计算机110控制车辆105推进、制动和转向中的每一者的模式;在半自主模式下,计算机110控制车辆105推进、制动和转向中的一者或两者;在非自主模式下,人类操作员控制车辆105推进、制动和转向中的每一者。
计算机110可以包括编程以操作车辆105制动、推进(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆的加速)、转向、气候控制、内部灯和/或外部灯等中的一者或多者,以及确定计算机110(而非人类操作员)是否以及何时控制此类操作。另外,计算机110可以被编程为确定是否及何时由人类操作者来控制这类操作。
计算机110可以包括多于一个处理器,或者例如经由如以下进一步描述的车辆105通信模块130而通信地耦接到所述多于一个处理器,所述多于一个处理器例如包括在车辆105中所包括的用于监测和/或控制各种车辆部件125的电子控制器单元(ECU)等(例如动力传动系统控制器、制动控制器、转向控制器等)中。此外,计算机110可以经由车辆105通信模块130与使用全球定位系统(GPS)的导航系统通信。作为示例,计算机110可以请求并接收车辆105的位置数据。位置数据可以是已知的形式,例如地理坐标(纬度坐标和经度坐标)。
计算机110通常被布置用于依靠车辆105通信模块130并且还利用车辆105内部有线和/或无线网络(例如车辆105中的总线等,诸如控制器局域网(CAN)等)和/或其他有线和/或无线机制进行通信。
经由车辆105通信网络,计算机110可以向车辆105中的各种装置传输消息和/或从所述各种装置接收消息,所述各种装置例如车辆传感器115、致动器120、车辆部件125、人机界面(HMI)等。替代地或另外,在计算机110实际上包括多个装置的情况下,车辆105通信网络可以用于在本公开中表示为计算机110的装置之间的通信。此外,如以下所提及,各种控制器和/或车辆传感器115可以向计算机110提供数据。
车辆传感器115可以包括诸如已知的用于向计算机110提供数据的多种装置。例如,车辆传感器115可以包括设置在车辆105的顶部上、在车辆105前挡风玻璃后面、在车辆105周围等的一个或多个光探测和测距(激光雷达)传感器115等,所述传感器提供车辆105周围的对象的相对位置、大小和形状和/或周围的状况。作为另一示例,固定到车辆105保险杠的一个或多个雷达传感器115可以提供数据以提供对象(可能包括第二车辆)等相对于车辆105的位置的速度并进行测距。车辆传感器115还可以包括一个或多个相机传感器115(例如,前视、侧视、后视等),所述一个或多个相机传感器115提供来自车辆105的内部和/或外部的视野的图像。
车辆105致动器120经由电路、芯片、马达或可以根据如已知的适当控制信号来致动各种车辆子系统的其他电子和/或机械部件来实现。致动器120可以用于控制部件125,包括车辆105的制动、加速和转向。
在本公开的上下文中,车辆部件125是适于执行机械或机电功能或操作(诸如使车辆105移动、使车辆105减速或停止、使车辆105转向等)的一个或多个硬件部件。部件125的非限制性示例包括推进部件(其包括例如内燃发动机和/或电动马达等)、变速器部件、转向部件(例如,其可以包括方向盘、转向齿条等中的一者或多者)、制动部件(如以下所描述)、停车辅助部件、自适应巡航控制部件、自适应转向部件、可移动座椅等。
此外,计算机110可以被配置用于经由车辆对车辆通信模块或接口130与车辆105外部的装置通信,例如,通过车辆对车辆(V2V)或车辆对基础设施(V2X)无线通信与另一车辆、远程服务器145(通常经由网络135)通信。模块130可以包括计算机110可以通过其进行通信的一种或多种机制,包括无线(例如,蜂窝、无线、卫星、微波和射频)通信机制的任何期望组合以及任何期望的网络拓扑(或当利用多种通信机制时的多个拓扑)。经由模块130提供的示例性通信包括提供数据通信服务的蜂窝、
Figure BDA0002945467600000061
IEEE 802.11、专用短程通信(DSRC)和/或广域网(WAN),包括互联网。
网络135可以是各种有线或无线通信机制中的一者或多者,包括有线(例如,电缆和光纤)和/或无线(例如,蜂窝、无线、卫星、微波和射频)通信机制的任何期望的组合以及任何期望的网络拓扑(或当利用多种通信机制时的多个拓扑)。示例性通信网络包括提供数据通信服务的无线通信网络(例如,使用蓝牙、低功耗蓝牙(BLE)、IEEE 802.11、车辆对车辆(V2V)(诸如专用短程通信(DSRC))等)、局域网(LAN)和/或广域网(WAN),包括互联网。
计算机110可以基本上连续地、周期性地和/或当由服务器145指示时等从传感器115接收并分析数据。此外,对象分类或识别技术可在例如计算机110中基于lidar传感器115、相机传感器115等的数据用于识别对象的类型(例如,车辆、人、岩石、坑洞、自行车、摩托车等)以及对象的物理特征。
图2是示例性服务器145的框图。服务器145包括计算机235和通信模块240。计算机235包括处理器和存储器。存储器包括一种或多种形式的计算机可读介质,并且存储可由计算机235执行以用于执行各种操作(包括如本文所公开的操作)的指令。通信模块240允许计算机235与其他装置(诸如车辆105)通信。
图3是示例性对抗神经网络300的图示。例如,对抗神经网络300可以是可加载到存储器中并由车辆105和/或服务器145中的处理器执行的软件程序。如图所示,对抗神经网络300包括生成器305和鉴别器310。在本上下文内,生成器305和鉴别器310包括生成式对抗网络(GAN)。GAN是深度神经网络,其采用一类人工智能算法,所述算法在机器学习中使用并且由在对抗零和博弈框架中彼此竞争的两个神经网络的系统来实现。
在示例性实现方式中,生成器305接收合成输入图像。合成输入图像可以由合成图像生成器315生成。在示例性实现方式中,图像生成器315包括游戏引擎。输入图像可以基于对象、图像视图和/或图像中描绘的对象的参数而对应。例如,如果合成输入图像是车辆挂车的平面图,则对应的输入图像是车辆挂车的平面图。
生成器305基于合成输入图像来生成合成图像。例如,生成器305接收包括在输入图像中描绘的一个或多个特征或对象的模拟红绿蓝(RGB)图像。在本上下文内,合成图像可以是模拟图像的图像到图像转换,例如,将输入图像从一个域(模拟)转换到另一个域(真实)。在一个或多个实现方式中,生成器305可以包括编码器-解码器神经网络。然而,应理解,根据本公开可以使用其他神经网络。
鉴别器310被配置为接收图像,评估接收到的图像,以及生成指示接收到的图像是由生成器305机器生成还是源自真实数据分布的预测。鉴别器310在训练期间接收由生成器305生成的合成图像和来自真实数据分布的图像,使得鉴别器310可以区分合成图像和来自真实数据分布的图像。在一个或多个实现方式中,鉴别器310可以包括卷积神经网络。然而,应理解,根据本公开可以使用其他神经网络。
训练生成器305可以使用强化学习来训练生成模型。强化学习是一种使用奖励和惩罚系统来训练算法的动态编程类型。强化学习算法或强化学习代理通过与其环境交互来学习。代理通过正确执行来接收奖励以及由于执行不正确而受到惩罚。例如,强化学习代理通过最大化奖励和最小化惩罚来在没有来自人类干预的情况下学习。
如图3所示,将预测提供给生成器305。生成器305可以使用预测来修改(即,更新)生成器305的一个或多个权重,以最小化指示所生成的合成图像被分类为合成(即,伪造的)的预测。例如,生成器305可以使用反向传播等来更新生成器305内的一个或多个权重。
鉴别器310也可以基于预测进行更新。例如,如果预测指示生成的合成图像来自真实数据分布,则鉴别器310可以接收指示图像是合成图像的反馈。基于反馈,可以更新鉴别器310的一个或多个权重以最小化不正确的预测。通过训练过程,生成器305可以提高生成的合成图像的质量,例如生成更逼真的合成图像,并且鉴别器310可以改进对合成生成的图像的细微差异和特性的识别。
图4是示例性深度神经网络(DNN)400的图示。DNN 400可以表示上述生成器305和/或鉴别器310。DNN 400包括多个节点405,并且节点405被布置成使得DNN 400包括输入层、一个或多个隐藏层、和输出层。DNN 400的每一层可以包括多个节点405。虽然图4示出了三(3)个隐藏层,但应理解,DNN 400可以包括更多的或更少的隐藏层。输入层和输出层还可以包括多于一(1)个节点405。
节点405有时被称为人工神经元405,因为它们被设计成模拟生物(例如,人类)神经元。每个神经元405的输入集合(由箭头表示)各自乘以相应的权重。然后,可以将经加权输入在输入函数中求和,以在可能通过偏差进行调整的情况下提供净输入。然后,可以将净输入提供给激活函数,所述激活函数进而为连接的神经元405提供输出。所述激活函数可以是通常基于经验分析来选择的各种合适的函数。如图4中的箭头所示,接着可以提供神经元405的输出以将其包括在到下一层中的一个或多个神经元405的一组输入中。
可以训练DNN 400以接受数据作为输入并基于输入生成输出。DNN 400可以用地面实况数据即关于真实世界状况或状态的数据进行训练。例如,DNN 400可以用地面实况数据进行训练或者由处理器用附加数据进行更新。例如,可以通过使用高斯分布初始化权重,并且可将每个节点405的偏差设置为零。训练DNN 400可以包括经由合适技术(诸如反向传播)加以优化来更新权重和偏差。地面实况数据可以包括但不限于指定图像内的对象的数据或指定物理参数(例如,对象相对于另一对象的角度、速度、距离或角度)的数据。例如,地面实况数据可以是表示对象和对象标签的数据。
图5是示出鉴别器310的示例性实现方式的框图。鉴别器310包括块提取器502、胶囊网络500和分类器524。如图所示,鉴别器310接收图像。所述图像可以是由生成器305生成的图像或选自真实数据分布的图像。块提取器502接收图像并使用输入图像生成一个或多个图像块503。例如,块提取器502输出输入图像的多个N x N图像块503,其中N是大于0的整数。图像块503的块大小包括训练期间使用验证集进行调谐的超参数。图6示出了具有多个图像块503的示例性图像605。在示例性实现方式中,块提取器502包括具有一个或多个隐藏层的卷积神经网络(CNN),使得N或块大小等于块提取器502的最后一层处的有效感受野。
返回参考图5,将图像块503提供给胶囊网络500。胶囊网络500被配置为计算图像块503的情境。如本文所讨论的,使用各个图像块503的加权组合来生成所计算的情境。胶囊网络500是包括胶囊层C1504(C1)、C2 508(C2)、C3 512(C3)以及全连接层520(FC)的神经网络。胶囊网络500从块提取器502接收一个或多个图像块503。一个或多个图像块503被输入到胶囊层C1 504(C1)、C2 508(C2)、C3 512(C3)(统称为524)以用于处理。胶囊网络500被示出为具有三个胶囊层C1 504、C2 508、C3 512,但是胶囊网络500可以具有更多或更少的胶囊层524。第一胶囊层504可以通过在输入数据上应用一系列卷积滤波器以确定特征来处理图像块503。将特征从第一胶囊层504输出到随后的胶囊层508、512以进行处理,以通过创建胶囊来识别特征、将特征分组并测量特征组的性质。
从胶囊层524输出的中间结果514被输入到路由层516(RL)。路由层516在训练胶囊网络500时使用,并且在训练和运行时将中间结果514传递到全连接层520上以进行进一步处理。路由层516基于奖励函数的反向传播在胶囊层524之间形成路由或连接,所述奖励函数的反向传播是基于与从全连接层520输出的状态变量522相比较的地面实况确定的。地面实况是独立于从全连接层520输出的状态变量522确定的状态变量信息。
计算机510和/或服务器145可以在训练胶囊网络500时将从胶囊网络500输出并传播回的状态变量522与地面实况状态变量进行比较以形成结果函数。所述结果函数用于选择对应于胶囊层524的滤波器的权重或参数,其中产生肯定结果的滤波器权重由奖励函数确定。胶囊网络通过基于胶囊在胶囊层524之间形成路由或连接来执行滤波器权重的数据聚合,其中胶囊是n个数据项的n元组,其包括胶囊层524中的位置作为一个数据项,并且其包括对应于所述位置的奖励函数作为另一个数据项。在路由层516中,for-loop经过几次迭代以动态地计算将较低层胶囊(即,路由层的输入)链接到较高层胶囊(即,路由层的输出)的一组路由系数。从路由层516输出的第二中间结果518然后被发送到网络的全连接层520以进行进一步处理。附加路由层也可以存在于胶囊网络500的其余部分中。
由路由层516输出的第二中间结果518被输入到全连接层520。全连接层520可以输入第二中间结果518并且输出表示各个图像块503的情境的状态变量522。图像块的情境可以被称为协议。状态变量522被输出到分类器526,所述分类器生成指示状态变量522是对应于合成图像还是源自真实数据分布的图像的预测。
图7是示出用于计算图像块的情境(例如,计算各个图像块503的加权组合)的示例性过程700的流程图。过程700可以由计算机110的处理器和/或服务器145以一个或多个图像作为输入来实现。所述图像可以是由生成器生成的合成图像或源自真实分布的图像。过程700包括以所公开的顺序进行的多个框。过程700可以替代地或另外包括更少的框,或者可以包括以不同顺序进行的框。
在框702处,从所接收的图像生成一个或多个图像块503。图像块可以基于内核(滤波器)大小、步幅参数和/或填充参数。
在框704处,过程700将预测张量
Figure BDA0002945467600000111
执行路由的次数r和网络层数l的集合作为输入。预测张量
Figure BDA0002945467600000112
从输入图像块计算得出。父层胶囊张量vj由下面的方程式(2)定义,并且路由系数cij用于选择具有最大值的路线,即,子胶囊层和父胶囊层之间的最佳连接。当训练胶囊网络700时,针对具有对应的地面实况数据的多个输入图像块,每个图像块重复过程700用户输入的次数。本文中用来描述张量大小的数字是示例,并且可以在不改变技术的情况下变得更大或更小。
例如,单个预测张量尺寸(16,1152,10)。第一个数字16表示单个预测向量的尺寸,其中单个预测向量是具有16个分量的向量,其中每个分量对应于对象的特定方面。第二个数字1152表示可以分配给层l+1中的10个胶囊j中的每一个的层l中的胶囊的最大数量i。每个较低层胶囊i负责将单个预测向量链接到父层胶囊j。预测向量由网络在训练时学习,并且对应于如由网络在给定一组特征的情况下确定的对象。总的来说,父层胶囊j对应于所述对象。在整个路由算法中,迭代地计算路由系数以将较低层胶囊与正确的较高层胶囊连接。对于网络看到的每个新图像,针对每个层l,这些计算是根据1152个较低层胶囊i中的每一个与10个较高层胶囊j中的每一个之间的痕迹来执行。张量bij被初始化为零,并且迭代次数k被初始化为1。
在框706处,将根据方程式(1)的Softmax运算应用于张量bij以确定路由系数cij
Figure BDA0002945467600000121
Softmax运算将张量bij的初始值转换为在0与1之间的数字。Softmax运算是本文中使用的示例性归一化技术,但是其他尺度不变的归一化函数可以有利地与本文描述的技术一起使用。
在框708处,路由系数cij与预测向量中的每一个相乘并求和以形成矩阵
Figure BDA0002945467600000122
在框710处,矩阵sij用方程式(2)挤压以形成输出的父级胶囊张量vj:。
Figure BDA0002945467600000131
挤压确保vj中各行中的每一行的长度限制在0与1之间。
在框712处,当迭代次数k大于1时,矩阵sij的路由系数cij通过在预测向量
Figure BDA0002945467600000132
与父层胶囊张量vj之间形成点积并将结果与张量bij相加而进行更新。例如,过程700计算第一图像块503与第二图像块503之间的协议,所述协议指示图像块是否位于图像的相同的一般区域中,例如,图像块表示天空等。协议包括
Figure BDA0002945467600000133
的标量积。协议包括基于预测向量与给定的父胶囊的其他预测向量之间的协议来计算某个预测向量正确的可能性。
在框714处,过程700递增迭代次数,并将其与j进行比较。如果迭代次数小于或等于j,则过程700返回到框706以进行另一迭代。如果迭代次数大于j,则过程700结束。
过程700是用于确定哪些胶囊路线最可能对应于胶囊网络500的成功操作的技术,例如,输出与地面实况数据匹配的状态变量522。快速路由是在训练之后可以丢弃以这种方式确定的胶囊路由时的推理期间实施,因为在训练期间可以保存路由权重。在使用中,胶囊网络500可以基于保存的路由权重进行操作并到达正确的输出状态变量522,而无需单独确定胶囊路线,因为在训练期间在过程700期间已经保存了这些。
图8是用于生成输入图像是合成图像还是源自真实分布的图像的预测的过程800的关于图1至图7描述的流程图的图示。过程800可以由计算机110的处理器和/或服务器145的处理器实施。过程800包括以所公开的顺序进行的多个框。过程800可以替代地或另外包括更少的框,或者可以包括以不同顺序进行的框。
过程800开始于框802处,其中将输入图像输入到经训练的胶囊网络500。在一个或多个实现方式中,输入图像由生成器(诸如生成器305)生成。如上所述,已经使用主路由系数张量来训练胶囊网络500。胶囊网络500可以输出表示各个图像块503的加权组合的状态变量522。
在框804处,分类器526生成预测,所述预测指示各个图像块的加权组合503(例如,输出状态变量522)是否指示对应的图像是合成的或是源自真实数据分布。在框806处,基于预测来更新生成器的一个或多个权重。例如,生成器可以使用预测来修改生成器的一个或多个权重,使得生成器被训练以生成逼真的合成图像。在经过训练后,生成器可以生成在下游感知任务中使用的逼真的合成图像。在框806之后,过程800结束。
通常,所描述的计算系统和/或装置可以采用许多计算机操作系统中的任一者,包括但绝不限于以下版本和/或变型:
Figure BDA0002945467600000141
应用、AppLink/Smart Device Link中间件、Microsoft
Figure BDA0002945467600000142
操作系统、Microsoft
Figure BDA0002945467600000143
操作系统、Unix操作系统(例如,由加利福尼亚州红木海岸的甲骨文公司发布的
Figure BDA0002945467600000144
操作系统)、由纽约州阿蒙克市的国际商业机器公司发布的AIX UNIX操作系统、Linux操作系统、由加利福尼亚州库比蒂诺的苹果公司发布的Mac OSX和iOS操作系统、由加拿大滑铁卢的黑莓有限公司发布的BlackBerry OS、以及由谷歌公司和开放手机联盟开发的Android操作系统、或由QNX软件系统公司提供的
Figure BDA0002945467600000145
CAR信息娱乐平台。计算装置的示例包括但不限于车载计算机、计算机工作站、服务器、台式机、笔记本、膝上型计算机或手持计算机、或一些其他计算系统和/或装置。
计算机和计算装置一般包括计算机可执行指令,其中所述指令可能够由一个或多个计算装置(诸如以上所列出的那些)执行。可由使用多种编程语言和/或技术创建的计算机程序编译或解译计算机可执行指令,所述编程语言和/或技术单独地或者组合地包括但不限于JavaTM、C、C++、Matlab、Simulink、Stateflow、Visual Basic、Java Script、Perl、HTML等。这些应用程序中的一些可在诸如Java虚拟机、Dalvik虚拟机等虚拟机上编译和执行。通常,处理器(例如,微处理器)接收来自例如存储器、计算机可读介质等的指令,并执行这些指令,从而执行一个或多个过程,包括本文所述过程中的一个或多个。此类指令和其他数据可以使用各种计算机可读介质来存储和传输。计算装置中的文件通常是存储在诸如存储介质、随机存取存储器等计算机可读介质上的数据的集合。
存储器可以包括计算机可读介质(也称为处理器可读介质),所述计算机可读介质包括参与提供可以由计算机(例如,由计算机的处理器)读取的数据(例如,指令)的任何非暂时性(例如,有形)介质。此类介质可以采取许多形式,包括但不限于非易失性介质和易失性介质。非易失性介质可以包括例如光盘或磁盘以及其他持久存储器。易失性介质可以包括例如通常构成主存储器的动态随机存取存储器(DRAM)。此类指令可以由一种或多种传输介质传输,所述传输介质包括同轴电缆、铜线和光纤,包括构成联接到ECU的处理器的系统总线的电线。计算机可读介质的常见形式包括(例如)软盘、柔性磁盘、硬盘、磁带、任何其他磁性介质、CD-ROM、DVD、任何其他光学介质、穿孔卡片、纸带、具有孔图案的任何其他物理介质、RAM、PROM、EPROM、FLASH-EEPROM、任何其他存储器芯片或盒,或者计算机可从其读取的任何其他介质。
数据库、数据存储库或本文所述的其他数据存储装置可以包括用于存储、访问和检索各种数据的各种机构,包括分层数据库、文件系统中的文件集、呈专用格式的应用数据库、关系数据库管理系统(RDBMS)等。每个此类数据存储装置大体包括在采用计算机操作系统(诸如以上所提到的那些操作系统中的一个操作系统)的计算装置内,并且经由网络以多种方式中的任一种或多种方式来访问。文件系统可以从计算机操作系统访问,并且可以包括以各种格式存储的文件。除了用于创建、存储、编辑和执行已存储的程序的语言(例如上述PL/SQL语言)之外,RDBMS还通常采用结构化查询语言(SQL)。
在一些示例中,系统元件可以被实施为一个或多个计算装置(例如,服务器、个人计算机等)上、存储在与其相关联的计算机可读介质(例如,磁盘、存储器等)上的计算机可读指令(例如,软件)。计算机程序产品可以包括存储在计算机可读介质上的用于执行本文所描述功能的此类指令。
关于本文描述的介质、过程、系统、方法、启发等,应当理解,虽然此类过程等的步骤已被描述为按照某一有序的顺序发生,但是可以通过以与本文所述顺序不同的顺序执行所述步骤来实践此类过程。还应当理解,可以同时执行某些步骤,可以添加其他步骤,或者可以省略本文描述的某些步骤。换句话说,本文对过程的描述出于说明某些实施例的目的而提供,并且决不应被解释为限制权利要求。
因此,应理解,以上描述旨在是说明性的而非限制性的。在阅读以上描述时,除了所提供的示例之外的许多实施例和应用对于本领域的技术人员将是明显的。不应参考以上描述来确定本发明的范围,而应参考所附权利要求连同这些权利要求赋予的等效物的全部范围来确定。可以设想并预期未来的发展将在本文讨论的领域中发生,并且所公开的系统和方法将结合到此类未来实施例中。总之,应当理解,本发明能够进行修改和变化,并且仅受所附权利要求的限制。
除非本文做出明确的相反指示,否则权利要求中使用的所有术语意图给出如本领域技术人员所理解的普通和一般的含义。具体地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一个或多个。
根据本发明,提供了一种系统,所述系统具有计算机,所述计算机包括处理器和存储器,所述存储器包括指令,使得所述处理器被编程为:在鉴别器处从图像生成多个图像块;基于所述多个图像块确定胶囊网络内的多个路由系数;基于所述多个路由系数生成指示所述图像是合成的还是源自真实分布的预测;并且基于所述预测来更新生成器的一个或多个权重,其中所述生成器连接到所述鉴别器。
根据一个实施例,所述图像由所述生成器生成。
根据一个实施例,所述图像是基于模拟图像。
根据一个实施例,所述模拟图像由游戏引擎生成。
根据一个实施例,所述模拟图像描绘多个对象。
根据一个实施例,所述图像描绘与所述模拟图像的图像视图对应的所述多个对象。
根据一个实施例,所述多个路由系数中的每个路由系数对应于所述胶囊网络的胶囊层之间的路由。
根据本发明,提供了一种系统,所述系统具有计算机,所述计算机包括处理器和存储器,所述存储器包括指令,使得所述处理器被编程为:在鉴别器处从合成图像生成多个图像块;基于所述多个图像块确定胶囊网络内的多个路由系数;基于所述多个路由系数生成指示所述合成图像是合成的还是源自真实分布的预测;并且基于所述预测来更新生成器的一个或多个权重,其中所述生成器连接到所述鉴别器。
根据一个实施例,所述合成图像由所述生成器生成。
根据一个实施例,所述合成图像是基于模拟图像。
根据一个实施例,所述模拟图像由游戏引擎生成。
根据一个实施例,所述模拟图像描绘多个对象。
根据一个实施例,所述图像描绘与所述模拟图像的图像视图对应的所述多个对象。
根据一个实施例,所述多个路由系数中的每个路由系数对应于所述胶囊网络的胶囊层之间的路由。
根据本发明,一种方法包括:在鉴别器处从图像生成多个图像块;基于所述多个图像块确定胶囊网络内的多个路由系数;基于所述多个路由系数生成指示所述图像是合成的还是源自真实分布的预测;以及基于所述预测来更新生成器的一个或多个权重,其中所述生成器连接到所述鉴别器。
在本发明的一个方面,所述方法包括在所述生成器处生成所述图像。
在本发明的一个方面,所述图像是基于模拟图像。
在本发明的一个方面,所述模拟图像由游戏引擎生成。
在本发明的一个方面,所述模拟图像描绘多个对象。
在本发明的一个方面,所述多个路由系数中的每个路由系数对应于所述胶囊网络的胶囊层之间的路由。

Claims (12)

1.一种系统,其包括计算机,所述计算机包括处理器和存储器,所述存储器包括指令,使得所述处理器被编程为:
在鉴别器处从图像生成多个图像块;
基于所述多个图像块确定胶囊网络内的多个路由系数;
基于所述多个路由系数生成指示所述图像是合成的还是源自真实分布的预测;并且
基于所述预测来更新生成器的一个或多个权重,其中所述生成器连接到所述鉴别器。
2.如权利要求1所述的系统,其中所述图像由所述生成器生成。
3.如权利要求2所述的系统,其中所述图像是基于模拟图像。
4.如权利要求3所述的系统,其中所述模拟图像由游戏引擎生成。
5.如权利要求3所述的系统,其中所述模拟图像描绘多个对象。
6.如权利要求5所述的系统,其中所述图像描绘与所述模拟图像的图像视图对应的所述多个对象。
7.如权利要求1所述的系统,其中所述多个路由系数中的每个路由系数对应于所述胶囊网络的胶囊层之间的路由。
8.一种系统,其包括计算机,所述计算机包括处理器和存储器,所述存储器包括指令,使得所述处理器被编程为:
在鉴别器处从合成图像生成多个图像块;
基于所述多个图像块确定胶囊网络内的多个路由系数;
基于所述多个路由系数生成指示所述合成图像是合成的还是源自真实分布的预测;并且
基于所述预测来更新生成器的一个或多个权重,其中所述生成器连接到所述鉴别器。
9.如权利要求8所述的系统,其中所述合成图像由所述生成器生成。
10.如权利要求9所述的系统,其中所述合成图像是基于模拟图像。
11.如权利要求10所述的系统,其中所述模拟图像由游戏引擎生成。
12.如权利要求10所述的系统,其中所述模拟图像描绘多个对象。
CN202110195367.3A 2020-02-25 2021-02-20 动态路由的块鉴别器 Pending CN113379654A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/800,950 2020-02-25
US16/800,950 US20210264284A1 (en) 2020-02-25 2020-02-25 Dynamically routed patch discriminator

Publications (1)

Publication Number Publication Date
CN113379654A true CN113379654A (zh) 2021-09-10

Family

ID=77176306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110195367.3A Pending CN113379654A (zh) 2020-02-25 2021-02-20 动态路由的块鉴别器

Country Status (3)

Country Link
US (1) US20210264284A1 (zh)
CN (1) CN113379654A (zh)
DE (1) DE102021104178A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11858514B2 (en) 2021-03-30 2024-01-02 Zoox, Inc. Top-down scene discrimination
US11810225B2 (en) * 2021-03-30 2023-11-07 Zoox, Inc. Top-down scene generation

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10726304B2 (en) * 2017-09-08 2020-07-28 Ford Global Technologies, Llc Refining synthetic data with a generative adversarial network using auxiliary inputs
US10140544B1 (en) * 2018-04-02 2018-11-27 12 Sigma Technologies Enhanced convolutional neural network for image segmentation
US20210150757A1 (en) * 2019-11-20 2021-05-20 Nvidia Corporation Training and inferencing using a neural network to predict orientations of objects in images

Also Published As

Publication number Publication date
US20210264284A1 (en) 2021-08-26
DE102021104178A1 (de) 2021-08-26

Similar Documents

Publication Publication Date Title
US11107228B1 (en) Realistic image perspective transformation using neural networks
CN112784867A (zh) 利用合成图像训练深度神经网络
CN113379654A (zh) 动态路由的块鉴别器
CN111532225A (zh) 车辆胶囊网络
CN114118350A (zh) 观察的车辆姿态的自监督估计
US20230153623A1 (en) Adaptively pruning neural network systems
CN113298250A (zh) 用于定位和对象检测的神经网络
US11657635B2 (en) Measuring confidence in deep neural networks
Curiel-Ramirez et al. Hardware in the loop framework proposal for a semi-autonomous car architecture in a closed route environment
US20230376832A1 (en) Calibrating parameters within a virtual environment using reinforcement learning
US20230192118A1 (en) Automated driving system with desired level of driving aggressiveness
US10977783B1 (en) Quantifying photorealism in simulated data with GANs
US11068749B1 (en) RCCC to RGB domain translation with deep neural networks
US11620475B2 (en) Domain translation network for performing image translation
US20230162039A1 (en) Selective dropout of features for adversarial robustness of neural network
US20220188621A1 (en) Generative domain adaptation in a neural network
US20230162480A1 (en) Frequency-based feature constraint for a neural network
CN112700001A (zh) 用于深度强化学习的认证对抗鲁棒性
CN114119625A (zh) 点云数据的分割与分类
CN113159271A (zh) 时间cnn后部碰撞警报系统
US11321587B2 (en) Domain generation via learned partial domain translations
US20230139521A1 (en) Neural network validation system
US20230316728A1 (en) Robust neural network learning system
US20240046627A1 (en) Computationally efficient unsupervised dnn pretraining
US11823465B2 (en) Neural network object identification

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