CN116194951A - 用于基于立体视觉的3d对象检测与分割的方法和装置 - Google Patents

用于基于立体视觉的3d对象检测与分割的方法和装置 Download PDF

Info

Publication number
CN116194951A
CN116194951A CN202080102812.0A CN202080102812A CN116194951A CN 116194951 A CN116194951 A CN 116194951A CN 202080102812 A CN202080102812 A CN 202080102812A CN 116194951 A CN116194951 A CN 116194951A
Authority
CN
China
Prior art keywords
feature
network
view
object detection
segmentation
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
CN202080102812.0A
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.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
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 Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN116194951A publication Critical patent/CN116194951A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • 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
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • 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/40Extraction of image or video 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/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/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • 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/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/12Acquisition of 3D measurements of objects

Abstract

提供了一种用于3D对象检测与分割的方法、装置和系统。该方法包括以下步骤:基于由多个相机捕获的多视图图像来提取多视图2D特征;基于多视图2D特征来生成3D特征体;以及基于3D特征体来执行深度估计、语义分割和3D对象检测。本公开的方法、装置和系统较快、计算友好、灵活,并且较实用于部署在车辆、无人机、机器人、车辆、移动设备或移动通信设备上。

Description

用于基于立体视觉的3D对象检测与分割的方法和装置
技术领域
本公开总体上涉及图像模式识别,更具体地,涉及一种用于基于立体视觉的三维(3D)对象检测与分割的方法和装置。
背景技术
3D环境的感知在机器人技术中至关重要,尤其是在自动驾驶、无人机和无人地面车辆中。为了获得3D信息,研究了基于单目(monocular)视觉系统、立体视觉系统和LiDAR(光检测和测距)点云的方法,但尚未完全应用。单目视觉系统在最近的NN(神经网络)技术的帮助下发展迅速,但很难估计准确的3D信息。立体视觉,包括多视图立体视觉,是一个经典的计算机视觉主题,它可以使用核线(epipolar)几何给出较准确的3D信息。与基于相机的视觉系统并行,各种NN模型也已经被设计用于从由LiDAR设备获得的点云中检测3D对象。
CNN(卷积神经网络)技术一直在帮助近年来发展迅速的那三类方法。2D CNN广泛应用于基于单目的算法,并且是2D对象检测和分割中的主导技术。3D CNN是在基于LiDAR的方法中检测或分割3D对象的常见选择。在立体视觉方法中,CNN技术在深度估计和3D对象检测方面显示出其巨大潜力,但在同步3D对象检测和分割方面几乎没有得到充分研究。
现有技术中的一些解决方案高度依赖由LiDAR捕获的精确3D信息,并以端到端的方式提供点云序列中的3D检测、跟踪和运动预测。例如,语义SLAM(同时定位和映射)方法(其侧重于构建具有语义标签的高分辨率地图)只能执行语义分割,并且主要基于单目视觉系统。
一些技术相应地在单目视觉、立体视觉和LiDAR系统中执行3D对象检测。例如,SMOKE是一种单个单目3D对象检测器,它在KITTI数据集上得到验证,具有9.76%的AP(平均精度)。DSGN网络是最近用于可以实现52.18%的AP的立体视觉系统的3D对象检测器。
由于缺乏深度维度,已知的基于视觉的2D感知很难扩展到那些3D应用。可以提供精确3D坐标的LiDAR既不适合大规模生产,也不能像相机那样捕获视觉特征。因此,立体视觉系统在满足各种自主机器人和车辆的3D感知需求方面具有巨大潜力。
此外,没有很多能够同时检测和分割3D对象的现有方法。具有较快速度和较多功能的3D对象检测和分割系统是先进的自主机器人和车辆的未来需求。
因此,需要改进用于基于立体视觉的3D对象检测和分割的方法和装置。
发明内容
为了克服上述问题,并克服在阅读和理解现有技术时显而易见的局限性,本公开的实施例提供了一种用于3D对象检测和分割的方法、装置和系统。
根据本公开的第一方面,提供了一种用于3D对象检测和分割的方法。该方法包括:基于由多个相机捕获的多视图图像来提取多视图2D特征;基于多视图2D特征来生成3D特征体;以及基于3D特征体来执行深度估计、语义分割和3D对象检测。
根据本公开的第二方面,提供了一种用于3D对象检测和分割的装置。该装置包括:多视图2D特征提取模块,被配置为基于由多个相机捕获的多视图图像来提取多视图2D特征;3D特征体生成模块,被配置为基于多视图2D特征来生成3D特征体;以及3D对象检测与分割模块,被配置为基于3D特征体来执行深度估计、语义分割和3D对象检测。
根据本公开的第三方面,提供了一种非瞬态计算机可读存储介质。该非瞬态计算机可读存储介质存储指令,这些指令在由一个或多个处理器执行时使处理器执行如上所述的方法。
根据本发明的第四方面,提供了一种包括上述装置的车辆或移动通信设备。
根据本发明的第五方面,提供了一种用于3D对象检测和分割方法。该方法包括:接收由多个相机捕获的多视图图像;使用经训练的神经网络用于:基于多视图图像来提取多视图2D特征,基于多视图2D特征来生成3D特征体,以及基于3D特征体来执行深度估计、语义分割和3D对象检测。
根据本公开的第六方面,提供了一种用于3D对象检测和分割的装置。该装置包括:至少一个处理器;至少一个存储器,包括计算机程序代码;其中至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使装置至少:接收由多个相机捕获的多视图图像;并且使用至少存储在至少一个存储器中的经训练的神经网络来基于多视图图像提取多视图2D特征,基于多视图2D特征生成3D特征体,以及基于3D特征体执行深度估计、语义分割和3D对象检测。
本公开提供的方法、装置和系统涉及用于各种车辆、机器人、无人机、船舶、移动设备和/或移动通信设备的视觉感知系统。它基于混合的2D和3D CNN模型设计来估计深度、对像素进行分类(语义分割)、检测3D对象并在立体视觉中分割3D实例,这是使用传统CNN模型无法完成的。与大多数现有的基于LiDAR点云的3D对象检测器相对照,根据本公开实施例的系统是基于立体视觉系统(包括双目(binocular)立体和多视图立体)。不同于现有的2D对象检测和分割方法在图像坐标系上给出结果,本公开的方法、装置和系统直接在笛卡尔坐标系上输出3D检测和分割结果。
从系统集成的角度来看,本发明的方法、装置和系统比现有技术更实用、更灵活、更具扩展性。用于3D检测和分割的统一CNN模型设计可引起快速推理,并使其可以集成到应用中,诸如实时自主应用。本公开的解决方案可以灵活地检测任何高度的3D对象实例,而不是像大多数现有方法那样仅仅检测地面上的对象。此外,公开的CNN模型是端到端可训练的。
本公开的其他方面、特征和优点从以下详细描述中显而易见,仅通过示出多个特定实施例和实现,包括预期用于执行本公开的最佳模式。本公开还能够有其他和不同的实施例,并且在不脱离本公开的精神和范围的情况下,可以在各种明显的方面修改其若干细节。因此,附图和描述应被视为本质上是说明性的,而不是限制性的。
附图说明
本公开的示例性实施例以示例的方式而非以限制的方式在附图中示出:
图1示出了根据本公开的实施例的用于基于立体视觉的3D对象检测和分割的总体CNN架构的示例图;
图2示出了根据本发明实施例的基于立体视觉的3D对象检测和分割方法的示例性流程图;
图3示出了根据本公开实施例的用于基于立体视觉的3D对象检测和分割在车辆中的示例性应用;
图4示出了根据本公开实施例的用于基于立体视觉的3D对象检测和分割在终端设备或客户端设备中的另一种应用;以及
图5示出了根据本公开实施例的用于实现用于基于立体视觉的3D对象检测和分割的方法的示例性计算机系统或装置。
具体实施方式
本公开包括本文中明确公开的任何新特征或特征的组合或其任何概括。当结合附图阅读上述描述时,本公开的上述示例性实施例的各种修改和适配对于相关领域的技术人员来说可能变得显而易见。然而,任何和所有修改仍将落入本公开的非限制性和示例性实施例的范围内。
尽管可以从现有技术中提取一些基本概念,但是本公开中有许多新设计以满足开放世界中3D对象检测和分割的挑战和发展要求。
通过根据本公开的实施例的方法、装置和系统进行的3D对象检测和分割的功能在基于CNN的立体视觉的上下文中是新的。此任务需要对图像中的像素进行分类(语义分割)、检测3D对象并分割3D实例。它不是2D检测和分割的简单扩展:2D实例分割块的最小边界矩形与其2D检测边界框相同,而3D实例分割块因为由视图投影和重叠引起的模糊,可能不会引起唯一的3D检测框。
所提供的方法、装置和系统可用于在室内或室外的双目或多视图立体视觉系统上检测任何对象。然而,该描述通过说明其如何在双目立体视觉系统上实现作为用于自动驾驶汽车的3D车辆检测和分割系统来示例性地说明技术细节。普通技术人员将注意,根据本公开的基本概念,这些解决方案可以很容易地扩展到多视图立体视觉系统。
下面结合本公开的示例性调用CNN架构,介绍关于根据本公开的实施例的系统的技术细节。值得注意的是,CNN网络是一种类型的神经网络,它提供较好的处理性能,常用于人工智能和机器学习的许多场景。本说明书选择CNN网络作为基础NN来说明本公开的概念,但根据本公开的实施例的解决方案不限于CNN网络,并且适用于任何深度神经网络(DNN)。
如图1所示,根据本公开的实施例的用于基于立体视觉的3D对象检测与分割的总体混合2D和3D CNN模型系统,一般而言,包括以下三个模块:多视图2D特征提取模块110、3D特征体生成模块120,以及3D对象检测与分割模块130。
多视图2D特征提取模块110被配置为基于由多个相机捕获的多视图图像来提取多视图2D特征。在示例性实施例中,多视图2D特征提取模块110包括三个具有特征提取的ResNet-FPN(残差网络-特征金字塔网络)网络。然而,可以实现两个或更多个具有特征提取的ResNet-FPN网络。图像可以是由静止图像相机提供的静止图像,和/或由视频相机提供的图像流。因此,本公开中的相机包括捕获静止图像和/或图像流的(多个)静止图像相机和/或(多个)视频相机。
ResNet-FPN网络的数目与系统或装置中使用的相机的数目相对应。例如,图1中多视图2D特征提取模块110的较上的ResNet-FPN网络接收(多个)输入的由相机1(Camera1)捕获的多视图2D图像输入1(Input1);较上的ResNet-FPN网络下的第二ResNet-FPN网络接收(多个)输入的由相机2(Camera2)捕获的多视图2D图像输入2(Input2);……;以及最底的ResNet-FPN网络接收(多个)输入的由相机N(CameraN)捕获的多视图2D图像输入N(InputN)。
ResNet-FPN网络中的每个ResNet-FPN网络包括相互连接的ResNet网络111和对应的FPN(特征金字塔网络)网络112,并且被配置为基于由Camera1到CameraN中的相应一个相机捕获的多视图2D图像来提取多视图2D特征。例如,ResNet网络是具有特征提取的立体ResNet-50网络。例如,特征提取器可以使用GroupNorm算法。
ResNet网络111包括多个卷积层组。例如,在图1中,ResNet网络111包括依次连接的五个卷积层组Conv1、Conv2、……、Conv5。每个卷积层组包括多个卷积层。第一卷积层组Conv1作为ResNet 111的输入卷积层组,可以包括若干个卷积层,诸如低于十的数目的卷积层。其他的卷积层组Conv2到Conv5可以包括较多的卷积层,诸如超过十个卷积层。Conv1到Conv5组通过处理从每个相机(即从Conv1组到Conv5组)输入的(多个)多视图2D图像来执行下采样,它们接收输入的具有逐渐降低的分辨率的(多个)多视图2D图像的特征图,或者对应和/或处理具有逐渐降低的分辨率的不同特征图。例如,第一组Conv1接收输入的具有原始分辨率的(多个)多视图2D图像,第二组Conv2接收具有如由第一组Conv1输出的原始分辨率的1/4(1/2*1/2)的特征图,第三组Conv3接收具有如由第二组Conv2输出的原始分辨率的1/8(1/2*1/2*1/2)分辨率的特征图,等等。如果选择得当,输出特征图的逐渐降低的分辨率可以减少计算量。
类似于ResNet网络111,FPN网络112也包括多个卷积层组。例如,FPN网络112包括依次连接的四个卷积层组ConvP2、ConvP3、……、ConvP5。每个卷积层组包括一个卷积层或多个卷积层。根据本公开的实施例,ResNet网络111的卷积层组Conv2至Conv5中每个组的输出(激活)相应地被馈入FPN网络112的对应卷积层组ConvP2至ConvP5的输入。ResNet网络111的相连卷积层组和FPN网络112的对应卷积层组对应和/或处理具有相同分辨率的特征图,换言之,它们接收相同分辨率的输入特征图。因此,FPN网络112的每个卷积层组都执行上采样处理,并且从ConvP2到ConvP5由各组处理且输出的特征图的分辨率逐渐增加。
一般而言,ResNet网络111的第一卷积层组Conv1的输出作为输入组,并没有连接到FPN网络112的对应的卷积层组,因为ResNet网络111的输入组可能提供的数据或信息不足以执行特征提取。因此,FPN网络112的卷积层组的数目小于ResNet网络111的卷积层组的数目,例如Conv1的组在FPN网络112中没有对应的卷积层组,如图1所示。
ResNet-FPN网络中的每个ResNet-FPN网络的输入是由相机捕获的(多个)多视图2D图像,并且ResNet-FPN网络的输出是具有不同分辨率的多视图2D特征,对应于FPN网络112的卷积层组,其中FPN网络112的卷积层组中的每个卷积层组在相应的分辨率尺度上对应于Camera1到CameraN的多视图2D图像。因此,ResNet-FPN网络是基于多视图2D图像的2D特征提取网络。
然后,多视图2D特征提取模块110的输出被输入到3D特征体生成模块120,3D特征体生成模块120被配置为基于多视图2D特征来生成3D特征体。
3D特征体生成模块120还包括3D特征体金字塔生成单元121,被配置为基于从ResNet-FPN网络中提取的多视图2D特征来生成3D特征体金字塔121-2,以及3D特征体生成单元122,被配置为基于3D特征体金字塔121-2来生成最终版本的3D特征体123。
3D特征体金字塔生成单元121首先基于从ResNet-FPN网络提取的多视图2D特征来生成2D特征金字塔121-1。由于ResNet-FPN网络的输出是对应于FPN网络112的卷积层组的具有不同分辨率的多视图2D特征,因此根据本公开的示例性实施例的系统构建了具有多个2D特征元素的2D特征金字塔P2D的金字塔结构,即P2D={P2-2D、P3-2D、P4-2D、P5-2D}。2D特征元素的数目对应于具有相应分辨率尺度的FPN网络112的卷积层组的数目,例如,在图1中,2D特征金字塔121-1有P2-2D到P2-5D的四个元素分别对应于ConvP2到ConvP5的四组,使得2D特征金字塔121-1代表了不同分辨率尺度下的多视图2D特征。如上所述,对应于由具有相应的分辨率的FPN网络112的卷积层组的相应输出的2D特征金字塔121-1中的每个元素是多个立体视图相机的多视图2D特征的集合,从而它可以表示为由相应的FPN网络112输出以用于处理具有相同分辨率的特征图的提取的多视图2D特征的集合,并且提取的多视图2D特征的数目与多个立体视图相机的数目相对应。例如,元素P2-2D是由Camera1到CameraN捕获的(多个)多视图图像的原始分辨率的1/4的分辨率尺度的多视图2D特征集合。如果系统有两个立体视图相机,则2D金字塔121-1的每个2D特征元素是一对多视图2D特征。
然后,3D特征体金字塔生成单元121通过应用根据本公开的实施例的逆投影(inverse-projection)和平面扫描算法,将每个2D特征元素转换为3D特征体,如在图1中由附图标记121-3所示。2D金字塔121-1中的2D特征元素的多视图2D特征,即具有相同分辨率的多视图2D特征集合中的所有多视图2D特征,被应用于从图像视锥(frustrum)坐标系到笛卡尔3D坐标系的逆投影。接下来,每个投影的多视图2D特征的3D坐标通过平面扫描算法被应用于构建3D特征体。由于N个立体视图相机有N个不同视差(针对双目视觉的视差)的视角,多视图2D特征不能轻松且简单地组合为3D特征。在平面扫描算法的应用中,Camera1到CameraN的多视图2D特征被应用于不同尺度的深度(相机到3D位置的距离)特征的逆投影,以基于这些2D特征来构建一个3D特征体。深度的多个尺度例如为1米、10米、100米等。根据本公开的一个实施例,平面扫描算法采用均匀深度,例如每10米执行一次投影。这种多尺度特征的应用使得立体视觉系统的3D对象检测和分割无需用于语义分割的显式的解码器。对于2D特征金字塔121-1中的2D特征元素,它们中的每个用于构建3D特征体,该3D特征体包括与Camera1至CameraN的N个立体视图相机相对应的3D特征,用于相应的分辨率尺度。平面扫描算法还需要立体视图相机的内参(intrinsic)矩阵和外参(extrinsic)矩阵。立体视图相机的内参矩阵和外参矩阵的维度(诸如4x4)与相机的属性有关。通过应用逆投影和平面扫描算法,3D特征体可以基于2D特征元素的多视图2D特征以及立体视图相机中的相应一个的内参和外参矩阵来构建。在一些实施例中,平面扫描算法可以由代价体积(Cost Volume)方法代替。
在3D特征体的构建之后,3D特征体金字塔121-2可以基于得到的3D特征体被生成。类似于2D特征金字塔121-1,3D特征体金字塔121-2包括多个3D特征体元素,并且3D特征体元素中的每个是从2D特征金字塔121-1的相应2D特征元素转换的3D特征体。如图1所示,3D特征体金字塔121-2,P3D={P2-3D、P3-3D、P4-3D、P5-3D},有四个3D特征体元素P2-3D、P3-3D、P4 -3D和P5-3D,它们中的每个相应地与2D特征元素P2-2D、P3-2D、P4-2D和P5-2D相对应。3D特征体元素中的每个相应地为多个具有相同分辨率的立体视图相机的3D特征体。例如,元素P2-3D是由Camera1到CameraN捕获的(多个)多视图图像的1/4原始分辨率的分辨率尺度的3D特征体。如果系统具有两个立体视图相机,则3D特征体金字塔121-2的每个3D特征元素是从由2D特征元素P2-2D表示的一对多视图2D特征生成的3D特征体。
为了获得较多的3D信息,逆投影被应用于将特征从图像视锥坐标系转换到笛卡尔3D坐标系。应该注意的是,这样的逆投影过程允许系统基础设施轻松标识和分割“漂浮(floating)”3D对象,诸如地面上的交通灯、路标和其他3D对象,以及立体视图2D图像中的重叠的3D对象。此外,多视图投影过程还支持3D对象检测中的无锚(anchor-free)方式。
3D特征体生成单元122包括多个3D沙漏网络122-P2至122-P5,以接收和处理3D特征体元素中的每个3D特征体元素。每个3D沙漏网络对应于与3D特征体金字塔121-2的对应的3D特征体元素的分辨率相同的分辨率,使得3D沙漏(Hourglass)网络的数目与3D特征体元素的数目相同。例如,3D沙漏网络122-P2接收并处理3D特征体P2-3D,因为它们对应于相同的分辨率。在一些示例中,3D沙漏网络是轻量3D沙漏网络。
多个3D沙漏网络122-P2至122-P5相应地通过聚合算法122-2聚合,以生成最终版本的3D特征体123。最终版本的3D特征体123的分辨率是可调整的,并且取决于计算性能配置。例如,多视图2D图像的维度是宽和高,并且3D图像特征体的维度是宽、高和深,然后最终版本的3D特征体123的分辨率可以是原始分辨率的1/4,即最终版本的3D特征体123的宽度和高度是由立体视图相机捕获的多视图2D图像的宽度和高度的1/4。如果选择得当,特征图的降低的分辨率可以降低计算量,并且提高3D对象检测和分割速度而不影响精度。
现在转向图1的右部分,3D对象检测与分割模块130包括并行连接并共享最终版本的3D特征体123作为输入的深度估计网络131、语义分割网络132、以及3D对象检测网络133。在一些示例中,3D深度估计网络131、语义分割网络132和3D对象检测网络133的这三个网络可以基本上同时操作,以执行同时的3D对象检测和分割。并行连接配置,特别是同时操作,是计算友好的,因为并行处理可以比顺序处理更多地减少计算量。
深度估计网络131包括依次连接的3D卷积层组、软最大值(Softmax)层和软极参(Soft Argmax)层。该3D卷积层组被配置为基于来自3D特征体生成模块120的最终版本的3D特征体123来生成3D特征图。Softmax层用于基于从3D卷积层组输出的3D特征图来生成具有不同深度(距离)尺度的深度估计。在3D特征体生成模块120中应用的平面扫描算法中,多视图2D特征被投影到不同的深度尺度,诸如偶数深度,从而Softmax层输出对应深度尺度的深度估计,并且该深度可能不是准确的深度估计。Soft Argmax层为Softmax层中使用的不同深度尺度设置不同的权重,以基于具有不同权重的深度估计的总和输出加权深度估计。
语义分割网络132包括依次连接的整形(reshape)层组、2D卷积层和Softmax层。由于最终版本的3D特征体123是3D特征信息,并且语义分割是在2D特征图上执行的,为了简化计算,将3D特征信息的维度降为二维(2D)。该整形层组被配置为将最终版本的3D特征体123的深度维度特征转换为非维度特征,使得该整形层组的输出为宽度和高度的2D特征,连同转换后的深度特征的非维度特征,作为后面3D卷积层的2D特征图输入。接下来,2D卷积层处理3D特征体的剩余二维特征,即宽度和高度,以及从深度转换的非维度特征,以生成关于由相机捕获的(多个)多视图2D图像的语义分割类型的输出。Softmax层基于由2D卷积层输出的量化语义分割类型里输出关于(多个)多视图图像中的每个像素属于哪种语义分割类型的信息。
根据本公开的一个实施例,深度估计网络131的Softmax层的不同深度尺度的深度估计的输出也可以被馈送到语义分割网络132的2D卷积层的输入,作为另一个非维度特征以促进语义分割网络132输出更准确的结果。
3D对象检测网络133被配置为生成3D对象的分类、质心预测和形状回归作为输出的三个方面。3D对象检测网络133可以以无锚方式检测和分割多视图2D图像中的“漂浮”3D对象。由于3D特征体金字塔生成单元121中从视锥坐标系到笛卡尔3D坐标系的逆投影可以在不同视图下执行,诸如正视投影、俯视投影等,因此用于预测的头将有较多的自由来从多视图图像的特征图中检测和分割3D对象,特别是对于边缘检测和分割。
在本公开的一个实施例中,3D沙漏网络可以被放置在最终版本的3D特征体123和3D对象检测网络133之间,以在3D对象检测网络133的输入层之前基于3D特征体123来执行特征提取。3D沙漏网络也可以是3D对象检测网络133的先前部分。3D沙漏网络的插入可以优化网络133的3D对象检测和分割的效果。在一些示例中,3D沙漏网络可以由CenterNet网络代替。
根据本公开的实施例,整体混合2D和3D CNN模型系统还可以包括后处理模块140,以通过基于由语义分割网络132和3D对象检测输出的3D语义分割结果以及由3D对象检测网络133输出的分割结果来确定多视图图像的像素属于哪个3D对象,来提供3D实例分割结果。如果一个像素与对象A属于同一类(语义分割)并且在空间上包含(深度估计)在对象A的3D边界框(3D对象检测)中,则该像素属于对象A,反之亦然。
下面是对网络训练和推理的介绍。
混合2D和3D CNN模型系统可以端到端的方式被训练。首先,提供具有3D对象、深度和分割标注的多视图2D图像的训练数据集。下面的描述是基于具有捕获双目图像对的双目相机的示例性系统,并且该示例仅是说明性的而不是对本公开的限制。普通技术人员很容易将示例扩展到那些具有多于两个的立体视图相机的系统。
假设双目相机的内参和外参矩阵是已知的。在深度估计网络131中,深度估计的损失被定义为以下Smooth L1损失函数:
Figure BDA0004035665340000121
其中N是深度特征图中的像素的数目,di是第i个像素的深度值,dGT,i是训练数据集中标注的第i个像素的真实深度值。
根据本公开的实施例,语义分割网络132中的语义分割由交叉熵损失函数监督。
对于3D对象检测网络133,3D对象分类分支使用Focal Loss函数作为监督函数,并且3D对象质心预测分支使用二元交叉熵(BCE)损失函数。对于3D对象形状回归分支的损失,Smooth L1损失函数用于3D边界框的回归:
Figure BDA0004035665340000122
其中Nobj是当前样本中的3D对象的数目,pi是第i个3D边界框的位置(在笛卡尔坐标系中表示为(x,y,z)),并且si是第i个3D边界框的形状(表示为(宽度、高度、长度(或者深度)))。pGT,i和SGT,i分别是训练数据集中标注的第i个3D边界框的真实位置和真实形状。在一些实施例中,3D边界框的形状还可以包括关于3D对象的旋转信息(表示为(动滚、俯仰、左右摇摆))。与等式(1)中的L1 Smooth损失函数不同,等式(2)中的L1 Smooth损失函数应用于3D多视图特征图。
函数centerness(pi,pGT,i)被公式化为:
centerness(pi,pGT,i)=exp[-norm(||pi,pGT,i||2)] (3)
其中函数norm(·)表示最小-最大归一化。总损失是上述所有损失项的加权和。
在3D对象检测网络133中,使用了BCE损失函数并且不能被其他损失函数代替,并且使用了Focal损失函数但是可以被提供类似功能的其他损失函数代替。
然后以端到端的方式训练深度估计、语义分割和3D对象检测,例如,基本上同时训练。针对多视图立体视觉系统的权重训练过程类似。在本公开的一个实施例中,双目立体视觉系统和多视图立体视觉系统的权重训练过程之间的主要区别在于,用于多视图系统的特征提取器可以利用权重共享多流特征提取CNN网络(诸如多个ResNet-50)来扩展。在权重共享多流特征提取网络中,两个分支(即包括ResNet网络111和FPN网络112用于图1中的由Camera1的Input1和用于Camera2的Input2的ResNet-FPN网络)的训练权重,相对于双目立体视觉系统,可以共享并复制到(多个)其他ResNet-FPN网络,其他ResNet-FPN网络是为多视图立体视觉系统中添加的相机而新添加的。在一个实施例中,用于双目立体视觉系统的特征提取器的两个ResNet-FPN网络中的一个ResNet-FPN网络的训练权重也可以共享并复制到另一个ResNet-FPN网络。此外,ResNet-FPN网络的特征提取器可以相互共享训练的权重,以加快训练过程并减少计算量。在上下文中,多流是指多视图立体视觉系统的多个相机的数据流。
在混合2D和3D CNN模型系统被训练,并且权重被存储之后,用于基于立体视觉的3D对象检测和分割的装置和系统可以在双目立体视觉系统中同时检测和分割3D对象。经训练的具有加载权重的混合2D和3D CNN模型系统部署在合适的计算处理器或设备(例如FPGA(现场可编程门阵列)或GPU(图形处理单元))上,然后由双目立体视觉相机系统捕获的双目图像对被馈送。然后,系统给出估计的深度、语义分割和包含捕获的图像对中的所有检测到的对象的3D边界框集合。对于具有多于两个相机的多视图立体视觉系统,应用类似。
图2显示了根据本发明实施例的用于基于立体视觉的3D对象检测与分割方法的示例性流程图。
该方法通常包括三个主要步骤210至230。
在步骤210中,该方法基于由多个相机Camera1至CameraN捕获的多视图图像(Input1至InputN)来提取多视图2D特征。多视图2D特征的提取可以由两个或更多个具有特征提取的ResNet-FPN网络执行。ResNet-FPN网络的结构是参考上面的混合2D和3D CNN模型系统讨论的,不再重复。
在步骤220,该方法基于多视图2D特征来生成3D特征体。步骤220包括221和222两个子步骤。子步骤221基于从ResNet-FPN网络中提取的多视图2D特征来生成3D特征体金字塔121-2,然后子步骤222基于在子步骤221中生成的3D特征体金字塔121-2,来生成最终版本的3D特征体123。子步骤221可以分为以下详细步骤:1)2D特征金字塔121-1基于提取的多视图2D特征被生成,其中2D特征金字塔121-1包括多个2D特征元素,每个2D特征元素是由相应FPN网络112输出以用于相应地处理具有相同分辨率的特征图的提取的多视图2D特征集合,并且提取的多视图2D特征的数目对应于多个相机的数目,诸如N;2)2D特征金字塔121-1中的多个2D特征元素中的每个2D特征元素被转化为3D特征体;以及3)3D特征体金字塔121-2基于3D特征体被生成,其中3D特征体金字塔121-2包括多个3D特征体元素,每个3D特征体元素是从2D特征金字塔121-1的相应2D特征元素转换的3D特征体。
在从2D特征元素到3D特征体的转换中,将每个2D特征元素应用于从图像视锥坐标系到笛卡尔3D坐标系的逆投影,然后3D特征体通过基于每个2D特征元素的世界3D坐标,并且基于多个相机中的相应一个的内参和外参矩阵,应用平面扫描算法来构建。
在子步骤222中,该方法使用与相同分辨率的3D特征体元素相对应的3D沙漏网络122-P2至122-P5相应地处理每个3D特征体元素。为了获得最终版本的3D特征体123,子步骤222还依次聚合3D沙漏网络112-P2至112-P5。每两个相邻的3D沙漏网络122-P2至122-P5之间的聚合算法或过程122-2可以是相同或相似的算法或过程、或不同的算法或过程。
在步骤230中,深度估计、语义分割和3D对象检测基于3D特征体被执行。在一些示例中,深度估计、语义分割和3D对象检测基本上被同时执行。深度估计网络131、语义分割网络132和3D对象检测网络133的详细结构在上面已经介绍过,不再赘述。
根据本公开的一个实施例,用于3D对象检测和分割方法还可以包括后处理步骤240,以提供3D实例分割结果,如由图2中虚线框所示。
在一些示例中,用于3D对象检测和分割的方法可以在使用其之前训练混合2D和3DCNN网络。神经网络被训练之后,该方法可以接收由Camera1至CameraN的多个相机捕获的多视图图像,并使用经训练的神经网络执行上述图2所示的步骤。
根据本公开的用于3D对象检测和分割的方法、装置和系统的性能在KITTI-like数据集上被测试。表1显示了本公开提供的解决方案与现有网络解决方案之间的实验结果比较。
表1.性能比较
Figure BDA0004035665340000161
在表中,深度估计中的ADO(越低越好)代表帧中所有地面真值(ground truth)像素平均的立体视差离群值的百分比,语义分割中的mIoU(越高越好)是每个类交集对并集的平均值,并且3D对象检测和3D实例分割中的AP(越高越好)是平均精度。运行时间(ms)(越低越快)指示比较的网络的计算速度。
DSGN网络可以执行2D特征提取、3D特征体生成和3D对象检测的一系列功能,但它仅适用于地面上的3D对象。因此,DSGN网络无法执行3D实例分割,并且表中未提供针对通过DSGN网络的语义分割和3D实例分割的结果。PANet网络是用于2D语义分割和2D实例分割的纯2D CNN网络,使得它不能提供3D对象检测的任何功能,并且也没有提供表1中与针对PANet的3D检测相关的结果。
由于DSGN网络和PANet网络不能提供所有的测试,所以将它们组合成DSGN+PANet网络来完成实验。从表1可以看出,本公开的提供的解决方案具有2.28%的ADO、88.5%的mIoU、针对3D对象检测的70%的具有重叠的AP、针对3D实例分割的35.0%的AP以及427ms的运行时间。尽管所提供的解决方案的运行时间比单独使用的DSG网络和PANet网络慢(427ms对382ms/351ms),但对于由本公开的解决方案单独提供的全部功能,它比基于这些网络的组合网络显著地更快。本公开的解决方案的所有度量都优于基于立体视觉系统的先前方法,并且与一些基于LiDAR的方法的那些度量相比具有竞争力。
本公开中提供的用于3D对象检测和分割方法、装置及系统与传统方法相比至少在以下方面中具有许多优点和改进。首先,与现有解决方案相比,在自主机器人、车辆和移动设备上部署具有单个系统的3D对象实例检测和分割更实用。第二,混合2D和3D CNN网络模型中使用的CNN网络是统一的多任务模型,而不是现有方法中使用的长顺序流水线。例如,并行配置可以提供基本上同步的3D对象实例检测和分割。这种方式节省了计算并利用了由联合预测那些密切相关的结果所带来的互惠互利。第三,当相机的数目增加时,本公开的解决方案是可扩展的,并且可以灵活地检测具有有效训练样本的室内和室外3D对象。
图3示出了基于本公开的实施例的车辆310(例如自主车辆)中的示例性应用。车辆310具有立体视觉捕获系统,该立体视觉捕获系统具有至少两个相机311和312。相机可以安装在车辆310前侧的左侧和右侧,诸如前保险杠的两侧、进气屏障上/后面、和/或挡风玻璃上/后面。相机也可以安装在车辆310的侧壁,和/或车辆310的后侧。立体视觉捕获系统也可以使用全景图像系统的相机来捕获多视图图像。相机311和312捕获一对图像,例如,在例如车辆310的前方的双目视图图像321和322,并且将它们输入到安装在车辆310中的用于3D对象检测和分割的混合2D和3D CNN模型系统100,以执行3D对象实例检测和分割,其还可以用于车辆310中的自主驾驶控制和/或在车辆310中的增强、虚拟和/或混合现实显示系统或应用上显示信息。3D对象检测与分割装置或系统可以被安装,例如作为用于车辆310的控制系统中的模块(诸如驾驶辅助模块中的一个)或电路系统,或者作为将由电子控制单元(ECU)执行的控制系统中的功能模块。车辆310也可以是无人水面车辆、无人机、机器人、船只或其他需要3D对象检测和分割的设备/机器/系统。具有至少两个相机311和312的立体视觉捕获系统也可以在固定/静止设置或系统中实现,诸如交通监测系统、环境监控系统、工业过程监测/管理系统上。
图4显示了根据本公开的实施例的用于基于立体视觉的3D对象检测和分割的终端用户设备或客户端设备410(诸如移动电话)中的另一应用。在现实世界场景中,用户可以手持带有多个背面相机(例如相机411和412)的手机410。移动电话410的相机411和412可用于相应地捕获真实世界场景420的多视图图像421和422。多个相机可以放置在移动电话的机身框架的相对边缘或周边。移动电话410可以安装应用,以基于由相机捕获的多视图图像来执行3D对象检测和分割功能。用户可以获得由应用输出的检测和分割结果,和/或通过例如蜂窝网络或无线网络将结果发送到移动电话和/或远程服务器/网站中的其他应用。3D对象检测和分割结果可以用于例如增强、虚拟和/或混合现实显示系统或应用、监控、信息和广告投放以及其他应用。在一个示例中,设备410可以附接到车辆310、在车辆310中使用和/或在车辆310中实现。在本公开的实施例中,终端用户设备或客户端设备410还可以是以下中的一项:移动通信设备、个人数字助理(PDA)、笔记本电脑、平板电脑、平板、笔记本、一台或多台相机设备、一台或多台摄像机设备、运动传感器设备、视频门铃、IoT(物联网)设备或其他具有包括至少一个优选多于两个多视图相机的立体视觉捕获系统的移动设备,或其任何组合。
本公开还提供了一种用于3D对象检测和分割的装置。该装置包括至少一个处理器和至少一个存储器,至少一个存储器包括计算机程序代码。至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使装置至少执行如上所述的用于3D对象检测和分割的方法的步骤。例如,步骤包括:接收由Camera1至CameraN的多个相机捕获的2D多视图图像,使用存储在至少一个存储器中的经训练的神经网络以至少:基于2D多视图图像来提取多视图2D特征,基于多视图2D特征来生成3D特征体,以及基于3D特征体来执行深度估计、语义分割、3D对象检测,例如如图2所示。该方法的具体步骤和子步骤以及经训练的神经网络已经在上面进行了说明,将不再赘述。
图5示出了可以在其上实现本公开的示例性实施例的计算机系统、装置或电路系统500。计算机系统、装置和/或电路系统500也可以被认为是用于如前一段中所讨论的3D对象检测和分割的装置的更完整和更详细的形式。尽管计算机系统、装置和/或电路系统500是关于特定设备或装备描述的,诸如车辆310、电子控制单元(ECU)、自主驾驶控制单元、驾驶辅助模块、终端用户/客户端设备410或其任何组合,可以设想图5内的其他设备或装备(例如,网络元件、服务器等)可以部署各种部件,诸如所示的硬件和系统500的组件。在一些示例中,系统500是实现3D对象检测和分割过程的服务器或边缘计算机,其还可以经由无线和/或有线通信网络从外部相机接收图像/视频数据。计算机系统、装置和/或电路系统500被设计和编程(例如,经由计算机程序代码或指令)用于如本文所述的3D对象检测和分割,并且包括通信部件,诸如总线510的通信机制,用于在计算机系统、装置和/或电路系统500的其他内部和外部组件之间传递信息。信息(也称为数据)被表示为可测量现象的物理表达,通常是电压,但在其他实施例中包括诸如磁、电磁、压力、化学、生物、分子、原子、亚原子和量子相互作用的现象。计算机系统、装置和/或电路系统500或其一部分构成用于在虚拟化网络中执行安全和信任技术和解决方案的一个或多个步骤的部件。
在描述中,所使用的术语“电路系统”可以指以下一项或多项或全部:(a)纯硬件电路实现(诸如仅模拟和/或数字电路系统中的实现)和(b)硬件电路和软件的组合,诸如(如适用),以及(c)(多个)硬件电路和/或(多个)处理器,诸如(多个)微处理器或(多个)微处理器的一部分,它们需要软件(例如固件)进行操作,但当操作不需要软件时,软件可能不存在。硬件电路和软件的组合包括:(i)(多个)模拟和/或数字硬件电路与软件/固件的组合,以及(ii)具有软件的(多个)硬件处理器(包括(多个)数字信号处理器))、软件和(多个)存储器的任何部分,它们一起工作以使装置(诸如移动电话或服务器)执行各种功能)。电路系统的该定义适用于该术语在本申请中的所有使用,包括在任何权利要求中。作为另外的示例,如在本申请中使用的,术语电路系统还涵盖仅硬件电路或处理器(或多个处理器)或硬件电路或处理器的一部分及其(或它们的)随附软件和/或固件的实现。例如,如果适用于特定的权利要求要素,术语电路系统还涵盖用于移动设备的基带集成电路或处理器集成电路或服务器、蜂窝网络设备或其他计算或网络设备中的类似集成电路。
总线510包括一个或多个并行信息导体,使得信息在耦合到总线510的设备之间快速传送。一个或多个数据处理部件(诸如用于处理信息的处理器502)与总线510耦合。
处理器502对由如本文所述的与3D对象检测和分割相关的一个或多个计算机程序代码指定的信息执行一组操作。计算机程序代码是指令或语句集合,提供指令,这些指令用于操作一个或多个处理器和/或计算机系统以执行指定功能。例如,代码可以用编译成处理器的本机指令集的计算机编程语言编写。代码也可以使用本地指令集(例如机器语言)直接编写。该操作集合包括从总线510引入信息和将信息放置在总线510上。该操作集合通常还包括比较两个或更多个信息单元、移位信息单元的位置以及组合两个或更多个信息单元,诸如通过加法或乘法或逻辑运算(如OR、异或(XOR)和AND)。可以由处理器执行的操作集合中的每个操作都通过称为指令的信息向处理器表示,诸如一个或多个数字的操作代码。由处理器502执行的操作序列,诸如操作代码序列,构成处理器指令,也称为计算机系统指令或简称为计算机指令。处理器可以作为机械、电气、磁性、光学、化学或量子组件等单独或组合实现。
计算机系统、装置和/或电路系统500还包括一个或多个数据存储部件,诸如耦合到总线510的存储器504。存储器504(诸如随机存取存储器(RAM)或其他动态存储设备)存储信息,该信息包括用于如本文所述的3D对象检测和分割的处理器指令。动态存储器允许存储在其中的信息被计算机系统500改变。RAM允许存储在称为存储器地址的位置处的信息单元独立于相邻地址处的信息而被存储和获取。存储器504还由处理器502使用以存储处理器指令的执行期间的临时值。计算机系统500还包括一个或多个只读存储器(ROM)506或耦合到总线510的其他静态存储设备,用于存储不由计算机系统500改变的静态信息,包括指令。一些存储器由易失性存储器组成,当断电时存储在该易失性存储器上的信息丢失。一个或多个非易失性(持久性)存储设备508(诸如磁盘、光盘或闪存卡)也耦合到总线510,用于存储信息(包括指令),即使在计算机系统500关闭或以其他方式失去动力时这些信息也会持续存在。
用于本文所述的3D对象检测和分割过程的数据或信息经由总线510提供,用于由来自一个或多个成像设备(诸如相机311、312、411和/或412,或Camera1到CameraN)的一个或多个处理器和一个或多个存储器设备使用。
信息(包括用于本文中描述的3D对象检测和分割的指令)被提供给总线510以用于由来自一个或多个外部输入设备512(诸如包含由人类用户操作的字母数字键的键盘,或传感器)的一个或多个处理器使用。耦合到总线510的主要用于与人交互的其他外部设备包括显示设备514,诸如阴极射线管(CRT)或液晶显示器(LCD),或用于呈现文本或图像的等离子屏幕或打印机,以及定点设备516,诸如鼠标或轨迹球或光标方向键、或运动传感器,用于控制呈现在显示器514上的小光标图像的位置,并发出与呈现在显示器514上的图形元素相关联的命令。在一些实施例中,例如,在计算机系统500无需人工输入而自动执行所有功能的实施例中,外部输入设备512、显示设备514和定点设备516中的一个或多个被省略。
在所示实施例中,一个或多个专用硬件(诸如专用集成电路(ASIC)520)被耦合到总线510。专用硬件被配置为执行由处理器502未执行的操作以用于专用目的足够快。ASIC的示例包括用于为显示器514生成图像的图形加速卡、用于加密和解密通过网络发送的消息的密码板、语音识别以及特殊外部设备的接口,诸如机械臂和医疗扫描设备,它们重复执行一些复杂的操作序列,这些操作在硬件中更有效地实现。其他示例可以包括FPGA(现场可编程门阵列)或GPU(图形处理单元)。
计算机系统、装置和/或电路系统500还包括用于数据通信的一个或多个部件,诸如耦合到总线510的通信接口570的实例。通信接口570提供耦合到各种外部设备的单向或双向通信,这些外部设备利用它们自己的处理器操作,诸如打印机、扫描仪、外部磁盘、传感器和相机。通常,耦合是通过连接到本地网络的网络链路实现的,各种具有它们自己的处理器的外部设备连接到本地网络。例如,通信接口570可以是个人计算机上的并行端口或串行端口或通用串行总线(USB)端口。在一些实施例中,通信接口570是综合服务数字网络(ISDN)卡或数字订户线(DSL)卡或电话调制解调器,其提供到对应类型的电话线的信息通信连接。在一些实施例中,通信接口570是电缆调制解调器,其将总线510上的信号转换成用于同轴电缆上的通信连接的信号或转换成用于光纤电缆上的通信连接的光信号。作为另一个示例,通信接口570可以是局域网(LAN)卡以提供到兼容的LAN(诸如以太网)的数据通信连接。也可以实现无线链路。对于无线链路,通信接口570发送或接收或发送和接收两者电、声或电磁信号,包括红外和光信号,其携带信息流,诸如数字数据。例如,在无线手持设备(诸如蜂窝电话的移动电话)中,通信接口570包括称为无线电收发器的无线电频带电磁传输器和接收器。在某些实现中,通信接口570实现无线短程连接,诸如蓝牙、WLAN(无线局域网)和/或UWB(超宽带)。在某些实施方式中,通信接口570实现蜂窝电信连接,例如5G(第五代)蜂窝网络。在某些实现中,通信接口570实现蜂窝电信连接,诸如5G(第五代)蜂窝网络。在某些实现中,通信接口570使得能够连接到虚拟化网络以用于如本文所述的分布式网络中的分散式信任评估。
本文中使用的术语“计算机可读介质”是指参与向处理器502提供信息的任何介质,包括用于执行的指令。这样的介质可以采用多种形式,包括但不限于计算机可读存储介质(例如,非易失性介质、易失性介质)和传输介质。非瞬态介质,诸如非易失性介质,包括例如光盘或磁盘,诸如存储设备508。易失性介质包括例如动态存储器504。传输介质包括例如同轴电缆、铜线、光纤电缆以及无需电线或电缆即可在空间传播的载波,诸如声波和电磁波,包括无线电波、光波和红外波。信号包括通过传输介质传输的振幅、频率、相位、极化或其他物理属性的人为瞬态变化。计算机可读介质的常见形式包括,例如,软盘(floppydisk)、软盘(flexible disk)、硬盘、磁带、任何其他磁性介质、CD-ROM、CDRW、DVD、任何其他光学介质、穿孔卡、纸带、光学标记表、任何其他带有孔图案或其他光学可识别标记的物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储芯片或盒式磁带、载波或计算机可以读取的任何其他介质。本文使用术语计算机可读存储介质来指代除传输介质之外的任何计算机可读介质。
在一个或多个有形介质中编码的逻辑包括计算机可读存储介质和专用硬件(诸如ASIC 520)上的处理器指令中的一者或两者。
本公开的至少一些实施例涉及使用计算机系统、装置和/或电路系统500用于实现本文描述的一些或所有技术。根据本公开的一个实施例,那些技术由计算机系统、装置和/或电路系统500执行以响应于处理器502执行包含在存储器504中的一个或多个处理器指令的一个或多个序列。这样的指令(也称为计算机指令、软件和程序代码)可以从另一计算机可读介质(诸如存储设备508或网络链路)读入存储器504。包含在存储器504中的指令序列的执行引起处理器502执行本文所述的一个或多个方法步骤。在备选实施例中,硬件(诸如ASIC520)可以使用来代替软件或与软件组合来实现本发明。因此,本发明的实施例不限于硬件和软件的任何特定组合,除非本文另有明确说明。
通过通信接口570在网络链路和其他网络上传输的信号携带信息到计算机系统、装置和/或电路系统500和从计算机系统、装置和/或电路系统500携带信息。计算机系统、装置和/或电路系统500可以通过网络、通过通信接口570发送和接收信息,包括程序代码。接收的代码可以在接收代码时由处理器502执行,或者可以存储在存储器504或存储设备508或其他非易失性存储器中供以后执行,或两者兼而有之。以此方式,计算机系统500可以获得载波上信号形式的应用程序代码。
本公开包括本文中明确公开的任何新特征或特征的组合或其任何概括。当结合附图阅读时,鉴于上述描述,本公开的上述示例性实施例的各种修改和适配对相关领域的技术人员而言能变得显而易见。然而,任何和所有修改仍将落入本公开的非限制性和示例性实施例的范围内。

Claims (47)

1.一种用于3D对象检测与分割的方法,包括:
基于由多个相机捕获的多视图图像来提取多视图2D特征;
基于所述多视图2D特征来生成3D特征体;以及
基于所述3D特征体来执行深度估计、语义分割和3D对象检测。
2.根据权利要求1所述的方法,其中基于由所述多个相机捕获的所述多视图图像提取所述多视图2D特征由两个或更多个具有特征提取的ResNet-FPN网络执行。
3.根据权利要求2所述的方法,其中所述ResNet-FPN网络中的每个ResNet-FPN网络包括ResNet网络和对应的FPN网络,并且被配置为基于由所述多个相机中的相应一个相机捕获的多视图图像来提取多视图2D特征。
4.根据权利要求3所述的方法,其中所述ResNet-FPN网络中的每个ResNet-FPN网络的所述ResNet网络包括多个卷积层组,所述ResNet-FPN网络中的每个ResNet-FPN网络的所述对应的FPN网络包括多个卷积层组,所述ResNet网络的每个卷积层组的输出连接到所述对应的FPN网络的对应卷积层组的输入,以用于处理具有与所述ResNet网络的所述卷积层组相同的分辨率的特征图。
5.根据权利要求4所述的方法,其中所述ResNet-FPN网络中的每个ResNet-FPN网络的所述ResNet网络的第一卷积层组没有用于处理所述特征图的所述对应的FPN网络的对应的卷积层组,所述特征图具有与对应的所述ResNet网络的所述第一卷积层组相同的分辨率。
6.根据权利要求1所述的方法,其中基于所述多视图2D特征来生成所述3D特征体还包括:
基于提取的所述多视图2D特征来生成3D特征体金字塔;以及
基于所述3D特征体金字塔来生成最终版本的所述3D特征体。
7.根据权利要求6所述的方法,其中基于提取的所述多视图2D特征来生成所述3D特征体金字塔还包括:
基于提取的所述多视图2D特征,生成2D特征金字塔,其中所述2D特征金字塔包括多个2D特征元素,所述2D特征元素中的每个2D特征元素是由相应的FPN网络输出以用于处理具有相同分辨率的特征图的提取的多视图2D特征集合,并且所述提取的多视图2D特征的数目与所述多个相机的数目相对应;
将所述多个2D特征元素中的每个2D特征元素转换为所述3D特征体;以及
基于所述3D特征体来生成所述3D特征体金字塔,其中所述3D特征体金字塔包括多个3D特征体元素,所述多个3D特征体元素中的每个3D特征体元素是从所述2D特征金字塔的相应2D特征元素转换的所述3D特征体。
8.根据权利要求7所述的方法,其中所述多个2D特征元素中的每个2D特征元素到所述3D特征体的所述转换还包括:
从图像视锥坐标系到世界3D坐标系对所述2D特征元素中的每个2D特征元素应用逆投影;以及
基于所述2D特征元素中的每个2D特征元素的所述世界3D坐标,并且基于所述多个相机中的相应一个相机的内参和外参矩阵,通过应用平面扫描算法来构造所述3D特征体。
9.根据权利要求6所述的方法,其中基于所述3D特征体金字塔来生成最终版本的所述3D特征体还包括:
通过使用与所述3D特征体元素的相同分辨率相对应的3D沙漏网络,来处理所述3D特征体元素中的每个3D特征体元素;以及
聚合所述3D沙漏网络,以生成所述最终版本的所述3D特征体。
10.根据权利要求1所述的方法,其中由并行连接并且共享所述3D特征体作为输入的深度估计网络、语义分割网络和3D对象检测网络,基于所述3D特征体来执行所述深度估计、所述语义分割和所述3D对象检测。
11.根据权利要求10所述的方法,其中所述深度估计网络包括:
3D卷积层组,被配置为生成3D特征图;
软最大值层,被配置为基于所述3D特征图来输出不同深度尺度的深度估计;以及
软极参层,被配置为根据不同深度尺度的所述深度估计生成加权深度估计。
12.根据权利要求10所述的方法,其中所述语义分割网络包括:
整形层组,被配置为将所述3D特征体的所述深度特征转换为非维度特征;
2D卷积层,被配置为基于所述3D特征体的残差二维特征以及所述非维度特征来输出分割类型;以及
软最大值层,被配置为输出针对所述多视图图像中的每个像素的所述分割类型。
13.根据权利要求12所述的方法,其中所述2D卷积层还被配置为:基于所述3D特征体的所述残差二维特征、以及所述非维度特征、和由所述深度估计网络的所述软最大值层输出作为另一个非维度特征的所述深度估计,来输出分割类型。
14.根据权利要求10所述的方法,其中所述3D对象检测网络被配置为生成所述3D对象的分类、质心预测和形状回归。
15.根据权利要求14所述的方法,其中所述3D对象检测网络是以无锚方式。
16.根据权利要求14所述的方法,其中所述3D对象检测网络还包括3D沙漏网络,以首先处理所述3D特征体。
17.根据权利要求1所述的方法,还包括后处理步骤以提供3D实例分割结果。
18.根据权利要求2至17中任一项所述的方法,其中所述网络中的所有网络的参数基于训练数据被训练。
19.根据权利要求18所述的方法,其中用于所述ResNet-FPN网络的所述参数被彼此共享。
20.根据权利要求1至19中任一项所述的方法,其中所述方法在以下至少一项上被实现:车辆、无人机、机器人、移动设备或移动通信设备。
21.一种用于3D对象检测与分割的装置,包括:
多视图2D特征提取模块,被配置为基于由多个相机捕获的多视图图像来提取多视图2D特征;
3D特征体生成模块,被配置为基于所述多视图2D特征来生成3D特征体;以及
3D对象检测与分割模块,被配置为基于所述3D特征体来执行深度估计、语义分割和3D对象检测。
22.根据权利要求21所述的装置,其中所述多视图2D特征提取模块包括两个或更多个具有特征提取的ResNet-FPN网络。
23.根据权利要求22所述的装置,其中所述ResNet-FPN网络中的每个ResNet-FPN网络包括ResNet网络和对应的FPN网络,并且被配置为基于由所述多个相机中的相应一个相机捕获的多视图图像来提取多视图2D特征。
24.根据权利要求23所述的装置,其中所述ResNet-FPN网络中的每个ResNet-FPN网络的所述ResNet网络包括多个卷积层组,所述ResNet-FPN网络中的每个ResNet-FPN网络的所述对应的FPN网络包括多个卷积层组,所述ResNet网络的每个卷积层组的输出连接到所述对应的FPN网络的对应卷积层组的输入,以用于处理具有与所述ResNet网络的所述卷积层组相同的分辨率的特征图。
25.根据权利要求24所述的装置,其中所述ResNet-FPN网络中的每个ResNet-FPN网络的所述ResNet网络的第一卷积层组没有用于处理所述特征图的所述对应的FPN网络的对应的卷积层组,所述特征图具有与对应的所述ResNet网络的所述第一卷积层组相同的分辨率。
26.根据权利要求21所述的装置,其中所述3D特征体生成模块还包括:
3D特征体金字塔生成单元,被配置为基于提取的所述多视图2D特征来生成3D特征体金字塔;以及
3D特征体生成单元,被配置为基于所述3D特征体金字塔来生成最终版本的所述3D特征体。
27.根据权利要求26所述的装置,其中所述3D特征体金字塔生成单元还被配置为:
基于提取的所述多视图2D特征来生成2D特征金字塔,其中所述2D特征金字塔包括多个2D特征元素,所述2D特征元素中的每个2D特征元素是由相应的FPN网络输出以用于处理具有相同分辨率的特征图的提取的多视图2D特征集合,并且所述提取的多视图2D特征的数目与所述多个相机的数目相对应;
将所述多个2D特征元素中的每个2D特征元素转换为所述3D特征体;以及
基于所述3D特征体来生成所述3D特征体金字塔,其中所述3D特征体金字塔包括多个3D特征体元素,所述多个3D特征体元素中的每个3D特征体元素是从所述2D特征金字塔的相应2D特征元素转换的所述3D特征体。
28.根据权利要求27所述的装置,其中所述3D特征体金字塔生成单元还被配置为:
从图像视锥坐标系到世界3D坐标系对所述2D特征元素中的每个2D特征元素应用逆投影;以及
基于所述2D特征元素中的每个2D特征元素的所述世界3D坐标,并且基于所述多个相机中的相应一个相机的内参和外参矩阵,通过应用平面扫描算法来构造所述3D特征体。
29.根据权利要求26所述的装置,其中所述3D特征体生成单元包括多个3D沙漏网络,并且还被配置为:
通过使用与所述3D特征体元素的相同分辨率相对应的3D沙漏网络,来处理所述3D特征体元素中的每个3D特征体元素;以及
聚合所述3D沙漏网络,以生成所述最终版本的所述3D特征体。
30.根据权利要求21所述的装置,其中所述3D对象检测与分割模块包括:并行连接并且共享所述3D特征体作为输入的深度估计网络、语义分割网络和3D对象检测网络。
31.根据权利要求30所述的装置,其中所述深度估计网络包括:
3D卷积层组,被配置为生成3D特征图;
软最大值层,被配置为基于所述3D特征图来输出不同深度尺度的深度估计;以及
软极参层,被配置为根据不同深度尺度的所述深度估计来生成加权深度估计。
32.根据权利要求30所述的装置,其中所述语义分割网络包括:
整形层组,被配置为将所述3D特征体的所述深度特征转换为非维度特征;
2D卷积层,被配置为基于所述3D特征体的残差二维特征以及非维度特征来输出分割类型;以及
软最大值层,被配置为输出针对所述多视图图像中的每个像素的所述分割类型。
33.根据权利要求32所述的装置,其中所述2D卷积层还被配置为:基于所述3D特征体的所述残差二维特征、以及所述非维度特征、和由所述深度估计网络的所述软最大值层输出作为另一个非维度特征的所述深度估计,来输出分割类型。
34.根据权利要求30所述的装置,其中所述3D对象检测网络被配置为生成所述3D对象的分类、质心预测和形状回归。
35.根据权利要求34所述的装置,其中所述3D对象检测网络是以无锚方式。
36.根据权利要求34所述的装置,其中所述3D对象检测网络还包括3D沙漏网络,以首先处理所述3D特征体。
37.根据权利要求31所述的装置,还包括后处理步骤以提供3D实例分割结果。
38.根据权利要求22至37中任一项所述的装置,其中所述网络中的所有网络的参数基于训练数据被训练。
39.根据权利要求38所述的装置,其中用于所述ResNet-FPN网络的所述参数被彼此共享。
40.根据权利要求21至39中任一项所述的装置,其中所述多个相机在以下中的一项上被安装:车辆、无人机、机器人、移动设备或移动通信设备。
41.一种非瞬态计算机可读存储介质,存储指令,所述指令当由一个或多个处理器执行时使所述处理器执行根据权利要求1至20中任一项所述的方法。
42.一种移动通信设备,包括根据权利要求21至40中任一项所述的装置。
43.一种车辆,包括根据权利要求21至40中任一项所述的装置。
44.一种用于3D对象检测与分割的方法,包括:
接收由多个相机捕获的多视图图像;
使用经训练的神经网络用于:
-基于所述多视图图像来提取多视图2D特征;
-基于所述多视图2D特征来生成3D特征体;以及
-基于所述3D特征体来执行深度估计、语义分割和3D对象检测。
45.根据权利要求44所述的方法,其中所述经训练的神经网络包括两个或更多个具有特征提取的ResNet-FPN网络。
46.一种用于3D对象检测与分割的装置,包括:
至少一个处理器;
至少一个存储器,包括计算机程序代码;
其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述装置至少:
接收由多个相机捕获的多视图图像;
使用存储在所述至少一个存储器中的经训练的神经网络至少:
-基于所述多视图图像来提取多视图2D特征;
-基于所述多视图2D特征来生成3D特征体;以及
-基于所述3D特征体来执行深度估计、语义分割和3D对象检测。
47.根据权利要求46所述的装置,其中所述经训练的神经网络包括两个或更多个具有特征提取的ResNet-FPN网络。
CN202080102812.0A 2020-07-03 2020-07-03 用于基于立体视觉的3d对象检测与分割的方法和装置 Pending CN116194951A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/100136 WO2022000469A1 (en) 2020-07-03 2020-07-03 Method and apparatus for 3d object detection and segmentation based on stereo vision

Publications (1)

Publication Number Publication Date
CN116194951A true CN116194951A (zh) 2023-05-30

Family

ID=79317251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080102812.0A Pending CN116194951A (zh) 2020-07-03 2020-07-03 用于基于立体视觉的3d对象检测与分割的方法和装置

Country Status (3)

Country Link
US (1) US20230222817A1 (zh)
CN (1) CN116194951A (zh)
WO (1) WO2022000469A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117830646A (zh) * 2024-03-06 2024-04-05 陕西天润科技股份有限公司 一种基于立体影像快速提取建筑物顶部高程的方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019205069A1 (en) * 2018-04-27 2019-10-31 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for updating 3d model of building
WO2023216251A1 (zh) * 2022-05-13 2023-11-16 华为技术有限公司 地图生成方法、模型训练方法、可读介质和电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200005151A1 (en) * 2016-12-30 2020-01-02 Nokia Technologies Oy Artificial neural network
WO2019141896A1 (en) * 2018-01-18 2019-07-25 Nokia Technologies Oy A method for neural networks
EP3803693A4 (en) * 2018-05-24 2022-06-22 Nokia Technologies OY METHOD AND DEVICE FOR COMPUTER VIEWING
EP3617947A1 (en) * 2018-08-30 2020-03-04 Nokia Technologies Oy Apparatus and method for processing image data
US11804015B2 (en) * 2018-10-30 2023-10-31 Samsung Electronics Co., Ltd. Methods for determining three-dimensional (3D) plane information, methods for displaying augmented reality display information and corresponding devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117830646A (zh) * 2024-03-06 2024-04-05 陕西天润科技股份有限公司 一种基于立体影像快速提取建筑物顶部高程的方法

Also Published As

Publication number Publication date
US20230222817A1 (en) 2023-07-13
WO2022000469A1 (en) 2022-01-06

Similar Documents

Publication Publication Date Title
Moreau et al. Lens: Localization enhanced by nerf synthesis
US11205298B2 (en) Method and system for creating a virtual 3D model
CN109887003B (zh) 一种用于进行三维跟踪初始化的方法与设备
CN109683699B (zh) 基于深度学习实现增强现实的方法、装置及移动终端
Won et al. Sweepnet: Wide-baseline omnidirectional depth estimation
US8467628B2 (en) Method and system for fast dense stereoscopic ranging
US8929645B2 (en) Method and system for fast dense stereoscopic ranging
US10679369B2 (en) System and method for object recognition using depth mapping
CN116194951A (zh) 用于基于立体视觉的3d对象检测与分割的方法和装置
US11810311B2 (en) Two-stage depth estimation machine learning algorithm and spherical warping layer for equi-rectangular projection stereo matching
CN108537844B (zh) 一种融合几何信息的视觉slam回环检测方法
US20220051425A1 (en) Scale-aware monocular localization and mapping
WO2021249114A1 (zh) 目标跟踪方法和目标跟踪装置
WO2022052782A1 (zh) 图像的处理方法及相关设备
Shi et al. An improved lightweight deep neural network with knowledge distillation for local feature extraction and visual localization using images and LiDAR point clouds
Raza et al. Framework for estimating distance and dimension attributes of pedestrians in real-time environments using monocular camera
EP3992909A1 (en) Two-stage depth estimation machine learning algorithm and spherical warping layer for equi-rectangular projection stereo matching
Li et al. Panodepth: A two-stage approach for monocular omnidirectional depth estimation
CN115880555B (zh) 目标检测方法、模型训练方法、装置、设备及介质
US20230377180A1 (en) Systems and methods for neural implicit scene representation with dense, uncertainty-aware monocular depth constraints
Li et al. Monocular 3-D Object Detection Based on Depth-Guided Local Convolution for Smart Payment in D2D Systems
US11417063B2 (en) Determining a three-dimensional representation of a scene
Howells et al. Depth maps comparisons from monocular images by MiDaS convolutional neural networks and dense prediction transformers
Babahajiani Geometric computer vision: Omnidirectional visual and remotely sensed data analysis
Su et al. Omnidirectional Depth Estimation With Hierarchical Deep Network for Multi-Fisheye Navigation Systems

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