CN117521748A - 计算高效的无监督dnn预训练 - Google Patents

计算高效的无监督dnn预训练 Download PDF

Info

Publication number
CN117521748A
CN117521748A CN202310088478.3A CN202310088478A CN117521748A CN 117521748 A CN117521748 A CN 117521748A CN 202310088478 A CN202310088478 A CN 202310088478A CN 117521748 A CN117521748 A CN 117521748A
Authority
CN
China
Prior art keywords
neural network
processor
vehicle
point cloud
computer
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
CN202310088478.3A
Other languages
English (en)
Inventor
S·古普塔
佟维
U·P·穆德利格
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations 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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of CN117521748A publication Critical patent/CN117521748A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/806Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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/10024Color 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/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/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects

Landscapes

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

Abstract

本发明涉及计算高效的无监督DNN预训练。一种系统,包括计算机,该计算机包括处理器和存储器。存储器包括指令,该指令使得处理器编程为基于从第一裁剪图像部分提取的特征和对应的点云数据以及从第二裁剪图像部分提取的特征和对应的点云数据,确定成对的感兴趣区域特征相似度。处理器还编程为基于成对的感兴趣区域特征相似度使用损失函数来确定损失,其中该损失函数对应于第一深度神经网络或第二深度神经网络中的至少一个。处理器还编程为基于损失来更新第一深度神经网络或第二深度神经网络中的至少一个的至少一个权重。

Description

计算高效的无监督DNN预训练
技术领域
本公开涉及使用自监督技术预训练深度神经网络。
背景技术
各种传感器可以提供数据来识别运载工具周围的物理(即,真实世界)环境中的对象。例如,诸如摄像机、激光雷达、雷达、超声传感器等的传感器可以提供数据来识别对象。运载工具计算机在该环境中操作运载工具时,可以接收来自传感器的数据。
发明内容
一种系统,包括计算机,该计算机包括处理器和存储器。存储器包括指令,该指令使得处理器编程为基于从第一裁剪图像部分提取的特征和对应的点云数据以及从第二裁剪图像部分提取的特征和对应的点云数据来确定成对的感兴趣区域特征相似度。处理器还编程为基于成对的感兴趣区域特征相似度使用损失函数来确定损失,其中该损失函数对应于第一深度神经网络或第二深度神经网络中的至少一个。处理器还编程为基于损失来更新第一深度神经网络或第二深度神经网络中的至少一个的至少一个权重。
在其他特征中,处理器还编程为接收图像和对应的点云数据。
在其他特征中,处理器还编程为对图像和对应的点云数据执行随机裁剪函数,以生成第一裁剪图像部分和第二裁剪图像部分。
在其他特征中,图像包括二维图像。
在其他特征中,二维图像包括红绿蓝(RGB)图像。
在其他特征中,第一深度神经网络包括二维卷积神经网络。
在其他特征中,第二深度神经网络包括三维卷积神经网络。
运载工具可以包括计算机。计算机包括处理器和存储器,并且该存储器包括指令,该指令使得处理器编程为基于从第一裁剪图像部分提取的特征和对应的点云数据以及从第二裁剪图像部分提取的特征和对应的点云数据来确定成对的感兴趣区域特征相似度。处理器还编程为基于成对的感兴趣区域特征相似度使用损失函数来确定损失,其中该损失函数对应于第一深度神经网络或第二深度神经网络中的至少一个。处理器还编程为基于损失来更新第一深度神经网络或第二深度神经网络中的至少一个的至少一个权重。
在其他特征中,处理器还编程为接收图像和对应的点云数据。
在其他特征中,处理器还编程为对图像和对应的点云数据执行随机裁剪函数,以生成第一裁剪图像部分和第二裁剪图像部分。
在其他特征中,图像包括二维图像。
在其他特征中,二维图像包括红绿蓝(RGB)图像。
在其他特征中,第一深度神经网络包括二维卷积神经网络。
在其他特征中,第二深度神经网络包括三维卷积神经网络。
基于从第一裁剪图像部分提取的特征和对应的点云数据以及从第二裁剪图像部分提取的特征和对应的点云数据,确定成对的感兴趣区域特征相似度。该方法还包括:基于成对的感兴趣区域特征相似度使用损失函数来确定损失,其中损失函数对应于第一深度神经网络或第二深度神经网络中的至少一个;以及基于该损失来更新第一深度神经网络或第二深度神经网络中的至少一个的至少一个权重。
在其他特征中,该方法包括接收图像和对应的点云数据。
在其他特征中,该方法包括对图像和对应的点云数据执行随机裁剪函数,以生成第一裁剪图像部分和第二裁剪图像部分。
在其他特征中,图像包括二维图像。
在其他特征中,第一深度神经网络包括二维卷积神经网络。
在其他特征中,第二深度神经网络包括三维卷积神经网络。
根据本文提供的描述,进一步的适用领域将变得显而易见。应该理解,描述和具体示例仅用于说明的目的,并不旨在限制本公开的范围。
附图说明
本文描述的附图仅用于说明目的,并不旨在以任何方式限制本公开的范围。
图1是包括运载工具的示例系统的框图;
图2是示例计算设备的框图;
图3是图示了示例深度神经网络的图;
图4是图示了示例特征提取器的框图;以及
图5是图示了使用自监督技术来预训练特征提取器的示例过程的流程图。
具体实施方式
以下描述本质上仅仅是示例性的,并不旨在限制本公开、应用或用途。
通常,可以使用标记的训练数据来训练神经网络,诸如卷积神经网络。标记的训练数据可以包括具有边界框的图像,边界框包括待由对象检测器检测的一个或多个标记的对象。然而,对训练数据进行注释以包括边界框和标签或者甚至如在弱监督对象检测中的图像标签可能是资源密集且耗时的。本公开提供了一种自监督学习系统,使得不需要带注释的训练数据。
图1是示例系统100的框图。系统100包括运载工具105,运载工具105可以包括诸如汽车、卡车等陆地运载工具、飞行器和/或水上运载工具。运载工具105包括计算机110、运载工具传感器115、致动各种运载工具部件125的致动器120和运载工具通信模块130。经由网络135,通信模块130允许计算机110与服务器145通信。
计算机110可以以自动、半自动驾驶模式或非自动(手动)模式操作运载工具105。出于本公开的目的,自动驾驶模式定义为运载工具105的推进、制动和转向中的每一个都由计算机110控制的模式;在半自动驾驶模式下,计算机110控制运载工具105的推进、制动和转向中的一个或两个;在非自动驾驶模式下,人类操作员控制运载工具105的推进、制动和转向中的每一个。
计算机110可以包括编程以操作运载工具105的制动、推进(例如,通过控制内燃发动机、电动马达、混合发动机等中的一个或多个来控制运载工具的加速度)、转向、气候控制、内部灯和/或外部灯等中的一个或多个,以及确定计算机110(与人类操作员相反)是否以及何时控制这些操作。附加地,计算机110可以编程为确定人类操作员是否以及何时控制这些操作。
计算机110可以包括一个以上处理器(例如,包括在运载工具105中所包括的电子控制器单元(Electronic Controller Unit,ECU)等中用于监测和/或控制各种运载工具部件125,例如动力系控制器、制动控制器、转向控制器等)或者经由如以下还描述的运载工具105通信模块130通信地耦合到该一个以上处理器。进一步地,计算机110可以经由运载工具105通信模块130与使用全球定位系统(Global Position System,GPS)的导航系统通信。作为示例,计算机110可以请求和接收运载工具105的位置数据。位置数据可以是已知的形式,例如地理坐标(纬度坐标和经度坐标)。
计算机110通常布置成用于在运载工具105通信模块130上通信,并且还与运载工具105内部的有线和/或无线网络(例如运载工具105中的总线等,诸如控制器局域网(Controller Area Network,CAN)等)和/或其他有线和/或无线机制进行通信。
经由运载工具105通信网络,计算机110可以向运载工具105中的各种设备(例如运载工具传感器115、致动器120、运载工具部件125、人机界面(Human Machine Interface,HMI)等)发送消息和/或从其接收消息。替代地或附加地,在计算机110实际上包括多个设备的情况下,运载工具105通信网络可以用于在本公开中表示为计算机110的设备之间的通信。进一步地,如以下所提及的,各种控制器和/或运载工具传感器115可以向计算机110提供数据。运载工具105通信网络可以包括一个或多个网关模块,网关模块提供运载工具105内的各种网络与设备(诸如协议转换器、阻抗匹配器、速率转换器等)之间的互操作性。
运载工具传感器115可以包括各种设备,诸如已知的向计算机110提供数据的设备。例如,运载工具传感器115可以包括设置在运载工具105的顶部、运载工具105前挡风玻璃后面、运载工具105周围等的光探测和测距(激光雷达)传感器115等,其提供对象的相对位置、大小和形状和/或运载工具105周围的状况。作为另一示例,固定到运载工具105保险杠的一个或多个雷达传感器115可以提供数据以提供对象等相对于运载工具105的位置的距离、速度等。运载工具传感器115可以还包括相机传感器115,例如前视、侧视、后视传感器等,从而提供来自运载工具105内部和/或外部的视野的图像。
运载工具105的致动器120经由电路、芯片、马达或其他电子和/或机械部件来实施,这些电子和/或机械部件可以根据已知的适当控制信号来致动各种运载工具子系统。致动器120可以用于控制部件125,包括使运载工具105制动、加速和转向。
在本公开的上下文中,运载工具部件125是适于执行机械或机电功能或操作(例如移动运载工具105、减慢或停止运载工具105、使运载工具105转向等)的一个或多个硬件部件。部件125的非限制性示例包括推进部件(其包括例如内燃发动机和/或电动马达等)、传动部件、转向部件(其例如可以包括方向盘、转向齿条等中的一个或多个)、制动部件(如以下所描述)、驻车辅助部件、自适应巡航控制部件、自适应转向部件、可移动座椅等。
另外,计算机110可以配置成经由运载工具对运载工具通信模块或接口130与运载工具105外部的设备进行通信,例如,通过到另一运载工具、到(通常经由网络135)远程服务器145(诸如边缘服务器)的运载工具对运载工具(Vehicle to Vehicle,V2V)或运载工具对基础设施(Vehicle-to-Infrastructure,V2I)无线通信。模块130可以包括计算机110可以用来通信的一种或多种机制,包括无线(例如,蜂窝、无线、卫星、微波和射频)通信机制和任何所需的网络拓扑(或者当使用多个通信机制时的拓扑)的任何所需的组合。经由模块130提供的示例性通信包括蜂窝、IEEE 802.11、专用短程通信(Dedicated Short-Range Communication,DSRC)和/或广域网(Wide Area Networks,WAN)(包括提供数据通信服务的互联网)。
网络135可以是各种有线或无线通信机制中的一种或多种,包括有线(例如,电缆和光纤)和/或无线(例如,蜂窝、无线、卫星、微波和射频)通信机制和任何所需的网络拓扑(或当使用多个通信机制时的拓扑)的任何所需的组合。示例性通信网络包括无线通信网络(例如,使用蓝牙、低功耗蓝牙(Bluetooth Low Energy,BLE)、IEEE 802.11、诸如专用短程通信(DSRC)的运载工具对运载工具(V2V)等)、局域网(Local Area Network,LAN)和/或广域网(Wide Area Network,WAN)(包括互联网),从而提供数据通信服务。
图2图示了配置成执行本文描述的一个或多个过程的示例计算设备200,即,计算机110、服务器145。如图所示,计算设备可以包括处理器205、存储器210、存储设备215、I/O接口220和通信接口225。此外,计算设备200可以包括输入设备,诸如触摸屏、鼠标、键盘等。在某些实施方式中,计算设备200可以包括比图2所示的部件更少或更多的部件。
在特定实施方式中,处理器205包括用于执行指令(诸如那些构成计算机程序的指令)的硬件。作为示例而非限制,为了执行指令,处理器205可以从内部寄存器、内部高速缓存、存储器210或存储设备215中检索(或获取)指令,并且对这些指令进行解码并执行这些指令。
计算设备200包括耦合到处理器205的存储器210。存储器210可以用于存储数据、元数据和由处理器执行的程序。存储器210可以包括一个或多个易失性存储器和非易失性存储器,诸如随机存取存储器(Random-Access Memory,“RAM”)、只读存储器(Read OnlyMemory,“ROM”)、固态盘(Solid-State Disk,“SSD”)、闪存、相变存储器(Phase ChangeMemory,“PCM”)或其他类型的数据存储。存储器210可以是内部存储器或分布式存储器。
计算设备200包括存储设备215,该存储设备215包括用于存储数据或指令的存储装置。作为示例而非限制,存储设备215可以包括以上描述的非暂时性存储介质。存储设备215可以包括硬盘驱动器(Hard Disk Drive,HDD)、闪存存储器、通用串行总线(UniversalSerial Bus,USB)驱动器或这些或其他存储设备的组合。
计算设备200还包括一个或多个输入或输出(Input or Output,“I/O”)设备/接口220,提供该一个或多个输入或输出(“I/O”)设备/接口以允许用户向计算设备200提供输入(诸如用户笔划)、从计算设备200接收输出以及以其他方式向计算设备200传送数据和从计算设备200传送数据。这些I/O设备/接口220可以包括鼠标、小键盘或键盘、触摸屏、相机、光学扫描仪、网络接口、调制解调器、其他已知的I/O设备或这种I/O设备/接口220的组合。可以用书写设备或手指激活触摸屏。
I/O设备/接口220可以包括用于向用户呈现输出的一个或多个设备,包括但不限于图形引擎、显示器(例如,显示屏)、一个或多个输出驱动器(例如,显示驱动器)、一个或多个音频扬声器以及一个或多个音频驱动器。在某些实施方式中,设备/接口220配置成向显示器提供图形数据以呈现给用户。图形数据可以表示一个或多个图形用户界面和/或可以服务于特定实施方式的任何其他图形内容。
计算设备200可以还包括通信接口225。通信接口225可以包括硬件、软件或两者。通信接口225可以为计算设备与一个或多个其他计算设备200或一个或多个网络之间的通信(诸如例如,基于分组的通信)提供一个或多个接口。作为示例而非限制,通信接口225可以包括用于与以太网或其他有线网络通信的网络接口控制器(Network InterfaceController,NIC)或网络适配器,或者用于与诸如WI-FI等无线网络通信的无线NIC(Wireless NIC,WNIC)或无线适配器。计算设备200可以还包括总线230。总线230可以包括将计算设备200的部件彼此耦合的硬件、软件或两者。
图3是示例深度神经网络(Deep Neural Network,DNN)300的图示。DNN 300可以表示本文描述的神经网络。DNN 300包括多个节点305,并且节点305布置成使得DNN 300包括输入层、一个或多个隐藏层和输出层。DNN 400的每个层可以包括多个节点305。虽然图3图示了三(3)个隐藏层,但是应该理解,DNN 300可以包括更多或更少的隐藏层。输入层和输出层也可以包括一(1)个以上节点305。
节点305有时被称为人工神经元305,因为其被设计成模拟生物神经元(例如人类神经元)。每个神经元305的一组输入(由箭头表示)分别乘以各自的权重。然后,加权输入可以在输入函数中求和,以提供(可能通过偏差调整)净输入。然后,可将净输入提供给激活函数,激活函数进而向连接的神经元305提供输出。激活函数可以是各种合适的函数,通常基于经验分析来选择。如图3中的箭头所示,然后可以提供神经元305的输出,以包含在下一层中的一个或多个神经元305的一组输入中。
可以将DNN 300训练成接受数据作为输入,并且基于该输入生成输出。可以利用地面实况数据(即,关于真实世界状况或状态的数据)来训练DNN 300。例如,处理器可以利用地面实况数据训练或利用附加数据更新DNN 300。例如,可以通过使用高斯分布来初始化权重,并且可以将每个节点305的偏差设置为零。训练DNN 300可以包括经由合适的技术(诸如优化的反向传播)来更新权重和偏差。地面实况数据可以包括,但不限于,对点云中的对象进行分类和/或识别的数据。
如本文所讨论的,DNN 300可以包括卷积神经网络(Convolutional NeuralNetwork,CNN)。CNN是一类深度前馈人工神经网络,其可以使用设计为需要最少预处理的多层感知器的变化。通过训练,CNN确定可以用于识别感兴趣特征、感兴趣区域等的过滤器。换句话说,CNN可以使用一个或多个过滤器从输入数据中提取特征。
在各种实施方式中,DNN 300可以包括执行特征提取的二维(Two-Dimensional,2D)CNN和/或三维(Three-Dimensional 3D)CNN。在本文上下文中,可以将时间和/或点云数据提供给3D CNN,并且可以将空间数据提供给2D CNN,如下面进一步详细讨论的。
图4图示了根据本公开的示例实施方式的示例特征提取器400。如本文所讨论的,使用图像和对应的点云数据来预训练特征提取器400。图像和点云数据不包括标签、掩模、边界框等。应该理解,掩模和/或边界框不一定是人工注释的。
如图所示,特征提取器400可以包括第一卷积神经网络(CNN)405、第二卷积神经网络(CNN)410和特征融合模块425。在该实施方式中,第一CNN 405包括2D CNN,并且第二CNN410包括3D CNN。
每个CNN 405、CNN 410接收由传感器115捕捉的传感器数据。传感器数据可以包括由传感器115捕捉的图像数据415和点云数据420。在示例实施方式中,图像数据415可以包括由相机传感器115捕捉的红绿蓝(RGB)彩色图像,并且点云数据420可以包括当激光雷达和/或雷达传感器115扫描区域时创建的数据集。
CNN 405、CNN 410分别基于各自的输入而输出特征图。每个特征图作为输入被提供给特征融合模块425。特征融合模块425可以融合来自接收到的特征图的特征。特征融合模块425可以使用各种融合技术来将特征彼此融合。例如,融合技术可以包括,但不限于,竞争性融合技术、互补性传感器技术和/或协作性融合技术。特征融合模块425可以向计算机110输出表示融合特征的数据,用于进一步处理。例如,计算机110可以包括提供分割功能、检测功能、分类功能、跟踪功能等的附加软件模块。
图5是使用自监督技术预训练特征提取器(诸如特征提取器400)的示例性过程500的流程图。过程500的框可以由计算机110或服务器145执行。过程500开始于框505,在该框505中确定是否接收到数据。在示例实施方式中,数据可以包括图像,诸如二维(2D)RGB图像和对应的点云数据。如果没有接收到数据,则过程500返回到框505。
否则,在框510处,在图像和对应的点云数据内确定一个或多个感兴趣区域(Regions of Interest,ROI)。在示例实施方式中,第一CNN 405可以确定图像数据内的感兴趣区域,第二CNN 410可以确定点云数据内的感兴趣区域。在其他示例实施方式中,图像中的感兴趣区域可以使用图像处理算法来计算,诸如活动轮廓或区域生长算法。由于图像和对应的点云数据均可用,因此可以使用投影在2D图像空间中的点云来初始化区域生长超像素分割算法的初始种子。然后,这种区域生长超像素分割算法可以将图像分割成潜在的ROI。
一旦计算出图像中的ROI,则将提取点云中的对应平截头体。然后,从2D特征中裁剪出图像ROI特征,并且从3D特征中裁剪出点云平截头体特征。
在框515处,对图像数据和对应的点云数据执行至少两(2)个随机裁剪过程。裁剪过程可以在图像数据和对应的点云数据内产生至少两个不同的视图。在框520处,基于来自非裁剪数据、对应于第一裁剪的裁剪数据和对应于第二裁剪的裁剪数据的感兴趣区域来确定感兴趣区域对应关系。
在框525处,确定对应于第一裁剪的图像和点云特征。在框530处,确定对应于第二裁剪的图像和点云特征。应该理解,框525和框530可以发生在框520之前。
在框535处,计算对应于第一裁剪的感兴趣区域特征。在框540处,计算对应于第二裁剪的感兴趣区域特征。在框545处,计算机110和/或服务器145将合适的投影函数和预测函数应用于对应于第一裁剪的感兴趣区域特征,即,对应于第一裁剪的感兴趣区域内的特征。在框550处,计算机110和/或服务器145将合适的投影函数和预测函数应用于对应于第二裁剪的感兴趣区域特征,即,对应于第二裁剪的感兴趣区域内的特征。
在框555处,计算机110和/或服务器145计算成对的感兴趣区域特征相似度。在示例实施方式中,计算机110和/或服务器145使用应用于特征点积计算的对数softmax函数来计算成对的感兴趣区域特征相似度。可以使用应用于感兴趣区域对应关系和第一裁剪和第二裁剪的感兴趣区域内的特征的合适矩阵乘法来确定特征点积计算。
在框560处,计算机110和/或服务器145基于特征提取器400的损失函数计算损失。在框565处,基于计算的损失,更新第一CNN 405、第二CNN 410的一个或多个权重和/或参数、更新投影函数和/或更新预测函数。可以使用合适的反向传播技术来更新权重和/或参数。在示例实施方式中,第一CNN 405的权重和/或参数可以使用反向传播来更新,而第二CNN 410的权重可以通过反向传播或者作为第一CNN 405的更新权重的指数移动平均来更新。然后,过程500结束。一旦通过本文描述的自监督训练过程进行了训练,特征提取器400便可以由计算机110用来在自动或半自动状态下操作运载工具105。
本公开的描述本质上仅仅是示例性的,并且不脱离本公开的主旨的变化旨在落入本公开的范围内。这种变化不应被视为背离本公开的精神和范围。
通常,所描述的计算系统和/或设备可以采用多种计算机操作系统中的任何一种,包括但决不限于以下版本和/或变型:Microsoft操作系统、Microsoft操作系统、Unix操作系统(例如,由位于加利福利亚州的红木城的Oracle公司发布的/>操作系统)、由位于纽约阿蒙克市的国际商业机器公司(InternationalBusiness Machines)发布的AIX UNIX操作系统、Linux操作系统、由位于加利福利亚州库比蒂诺市的苹果公司(Apple Inc.)发布的Mac OSX和iOS操作系统、由位于加拿大滑铁卢市的黑莓有限公司(Blackberry,Ltd)发布的黑莓OS、由谷歌公司和开放手机联盟(OpenHandset Alliance)开发的安卓操作系统或者由QNX软件系统提供的用于信息娱乐的CAR平台。计算设备的示例包括但不限于车载计算机、计算机工作站、服务器、台式计算机、笔记本电脑、膝上型计算机或手持式计算机,或者一些其他计算系统和/或设备。
计算机和计算设备通常包括计算机可执行指令,其中这些指令可以由一个或多个计算设备(诸如以上列出的那些计算设备)来执行。计算机可执行指令可以从使用各种编程语言和/或技术创建的计算机程序编译或解释,这些编程语言和/或技术包括但不限于单独或组合的JavaTM、C、C++、Matlab、Simulink、StateFlow、Visual Basic、Java Script、Perl、HTML等。这些应用中的一些可以在诸如Java虚拟机、Dalvik虚拟机等虚拟机上编译和执行。通常,处理器(例如,微处理器)例如从存储器、计算机可读介质等接收指令,并且执行这些指令,从而执行一个或多个过程,包括本文描述的一个或多个过程。这样的指令和其他数据可以使用各种计算机可读介质来存储和传输。计算设备中的文件通常是存储在诸如存储介质、随机存取存储器等计算机可读介质上的数据的集合。
存储器可以包括计算机可读介质(也称为处理器可读介质),计算机可读介质包括参与提供可以由计算机(例如,由计算机的处理器)读取的数据(例如,指令)的任何非暂时性(例如,有形)介质。这样的介质可以采取多种形式,包括但不限于非易失性介质和易失性介质。非易失性介质可以包括,例如光盘或磁盘以及其他永久性存储器。易失性介质可以包括例如动态随机存取存储器(Dynamic Random-Access Memory,DRAM),其通常构成主存储器。这样的指令可以通过一种或多种传输介质传输,这些传输介质包括同轴电缆、铜线和光纤,包括包含耦合到ECU的处理器的系统总线的导线。计算机可读介质的常见形式包括,例如,软磁盘、软盘、硬盘、磁带、任何其他磁性介质、CD ROM、DVD、任何其他光学介质、穿孔卡、纸带、任何其他具有孔图案的物理介质、RAM、PROM、EPROM、闪速EEPROM、任何其他存储器芯片或盒式磁带、或任何其他计算机可以读取的介质。
本文描述的数据库、数据储存库或其他数据存储可以包括用于存储、访问和检索各种数据的各种机制,各种数据包括分层数据库、文件系统中的一组文件、专有格式的应用数据库、关系数据库管理系统(Relational Database Management System,RDBMS)等。每个这样的数据存储通常包括在采用诸如以上提及的那些计算机操作系统之一的计算机操作系统的计算设备中,并且经由网络以各种方式中的任何一种或多种方式来访问。文件系统可以从计算机操作系统访问,并且可以包括以各种格式存储的文件。除了用于创建、存储、编辑和执行存储程序的语言之外,RDBMS通常还采用结构化查询语言(Structured QueryLanguage,SQL),诸如以上提及的PL/SQL语言。
在一些示例中,系统元件可以实施为一个或多个计算设备(例如,服务器、个人计算机等)上的计算机可读指令(例如,软件),这些计算机可读指令存储在与其相关联的计算机可读介质上(例如,磁盘、存储器等)。计算机程序产品可以包括存储在计算机可读介质上的这样的指令,用于执行本文描述的功能。
在本申请中,包括以下定义,术语“模块”或术语“控制器”可以用术语“电路”代替。术语“模块”可以指以下部件、作为以下部件的一部分或包括以下部件:专用集成电路(Application Specific Integrated Circuit,ASIC);数字、模拟或混合模拟/数字离散电路;数字、模拟或混合模拟/数字集成电路;组合逻辑电路;现场可编程门阵列(FieldProgrammable Gate Array,FPGA);执行代码的处理器电路(共享、专用或群组);存储由处理器电路执行的代码的存储器电路(共享、专用或群组);提供描述的功能的其他合适的硬件部件;或诸如在片上系统中的上述的一些或全部的组合。
模块可以包括一个或多个接口电路。在一些示例中,接口电路可以包括连接到局域网(LAN)、互联网、广域网(WAN)或其组合的有线或无线接口。本公开的任何给定模块的功能可以分布在经由接口电路连接的多个模块中。例如,多个模块可以使得能够负载平衡。在另一示例中,服务器(也称为远程或云)模块可以代表客户端模块完成一些功能。
关于本文描述的介质、过程、系统、方法、启发等,应该理解,尽管已将这样的过程的步骤等描述为根据某个有序序列发生,但是这样的过程可以用所描述的以不同于本文描述的顺序执行的步骤来实践。还应该理解,可以同时执行某些步骤,可以添加其他步骤,或者可以省略本文描述的某些步骤。换句话说,对本文中的过程描述是为了说明某些实施方式的目的而提供的,并且不应该以任何方式解释为限制权利要求。
因此,应该理解,以上描述是说明性的,而不是限制性的。通过阅读以上描述,除了所提供的示例之外的许多实施方式和应用对于本领域技术人员来说将是显而易见的。本发明的范围不应参照以上描述来确定,而应参照所附权利要求以及这些权利要求的等同物的全部范围来确定。可以预见和预期的是,在本文讨论的技术中将出现未来的发展,并且所公开的系统和方法将结合到这样的未来的实现中。总之,应该理解,本发明能够修改和变化,并且仅由所附权利要求来限定。
权利要求中使用的所有术语都旨在被赋予其如本领域技术人员所理解的通用和普通含义,除非在本文做出相反的明确指示。特别地,使用单数冠词如“一”(“a”)、“该”(“the”)、“所述”(“said”)等应该解读为叙述一个或多个所指示的元件,除非权利要求叙述了相反的明确限制。

Claims (10)

1.一种系统,包括计算机,所述计算机包括处理器和存储器,所述存储器包括指令,所述指令使得所述处理器编程为:
基于从第一裁剪图像部分提取的特征和对应的点云数据以及从第二裁剪图像部分提取的特征和对应的点云数据,确定成对的感兴趣区域特征相似度;
基于所述成对的感兴趣区域特征相似度,使用损失函数来确定损失,其中所述损失函数对应于第一深度神经网络或第二深度神经网络中的至少一个;以及
基于所述损失,更新所述第一深度神经网络或所述第二深度神经网络中的至少一个的至少一个权重。
2.根据权利要求1所述的系统,其中,所述处理器还编程为接收图像和对应的点云数据。
3.根据权利要求2所述的系统,其中,所述处理器还编程为对所述图像和所述对应的点云数据执行随机裁剪函数,以生成所述第一裁剪图像部分和所述第二裁剪图像部分。
4.根据权利要求2所述的系统,其中,所述图像包括二维图像。
5.根据权利要求4所述的系统,其中,所述二维图像包括红绿蓝(RGB)图像。
6.根据权利要求1所述的系统,其中,所述第一深度神经网络包括二维卷积神经网络。
7.根据权利要求6所述的系统,其中,所述第二深度神经网络包括三维卷积神经网络。
8.一种运载工具,包括计算机,所述计算机包括处理器和存储器,所述存储器包括指令,所述指令使得所述处理器编程为:
基于从第一裁剪图像部分提取的特征和对应的点云数据以及从第二裁剪图像部分提取的特征和对应的点云数据,确定成对的感兴趣区域特征相似度;
基于所述成对的感兴趣区域特征相似度,使用损失函数来确定损失,其中所述损失函数对应于第一深度神经网络或第二深度神经网络中的至少一个;以及
基于所述损失,更新所述第一深度神经网络或所述第二深度神经网络中的至少一个的至少一个权重。
9.根据权利要求8所述的运载工具,其中,所述处理器还编程为接收图像和对应的点云数据。
10.根据权利要求9所述的运载工具,其中,所述处理器还编程为对所述图像和所述对应的点云数据执行随机裁剪函数,以生成所述第一裁剪图像部分和所述第二裁剪图像部分。
CN202310088478.3A 2022-08-05 2023-01-28 计算高效的无监督dnn预训练 Pending CN117521748A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/817,704 US20240046627A1 (en) 2022-08-05 2022-08-05 Computationally efficient unsupervised dnn pretraining
US17/817,704 2022-08-05

Publications (1)

Publication Number Publication Date
CN117521748A true CN117521748A (zh) 2024-02-06

Family

ID=89575179

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310088478.3A Pending CN117521748A (zh) 2022-08-05 2023-01-28 计算高效的无监督dnn预训练

Country Status (3)

Country Link
US (1) US20240046627A1 (zh)
CN (1) CN117521748A (zh)
DE (1) DE102023100599A1 (zh)

Also Published As

Publication number Publication date
DE102023100599A1 (de) 2024-02-08
US20240046627A1 (en) 2024-02-08

Similar Documents

Publication Publication Date Title
US11107228B1 (en) Realistic image perspective transformation using neural networks
CN112438729A (zh) 驾驶员警觉性检测系统
CN113298250A (zh) 用于定位和对象检测的神经网络
CN112784867A (zh) 利用合成图像训练深度神经网络
CN116136963A (zh) 自适应地修剪神经网络系统
CN114118350A (zh) 观察的车辆姿态的自监督估计
US11657635B2 (en) Measuring confidence in deep neural networks
CN116168210A (zh) 用于神经网络的对抗鲁棒性的特征的选择性剔除
US20230162480A1 (en) Frequency-based feature constraint for a neural network
US20230192118A1 (en) Automated driving system with desired level of driving aggressiveness
CN114119625A (zh) 点云数据的分割与分类
US11620475B2 (en) Domain translation network for performing image translation
CN117521748A (zh) 计算高效的无监督dnn预训练
US11462020B2 (en) Temporal CNN rear impact alert system
CN112668692A (zh) 利用gan对模拟数据的真实感进行量化
US11068749B1 (en) RCCC to RGB domain translation with deep neural networks
US20230316728A1 (en) Robust neural network learning system
US11321587B2 (en) Domain generation via learned partial domain translations
US11823465B2 (en) Neural network object identification
US20230139521A1 (en) Neural network validation system
US20240046619A1 (en) Holographic display calibration using machine learning
US20240227845A1 (en) System for motion planning with natural language command interpretation
CN114581865A (zh) 深度神经网络中的置信度测量
CN117095266A (zh) 神经网络中的生成域自适应

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