CN117242480A - 使用几何信息和语义信息的曼哈顿布局估计 - Google Patents
使用几何信息和语义信息的曼哈顿布局估计 Download PDFInfo
- Publication number
- CN117242480A CN117242480A CN202280012631.8A CN202280012631A CN117242480A CN 117242480 A CN117242480 A CN 117242480A CN 202280012631 A CN202280012631 A CN 202280012631A CN 117242480 A CN117242480 A CN 117242480A
- Authority
- CN
- China
- Prior art keywords
- edge
- polygon
- layout
- scene
- edges
- 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
Links
- 238000000034 method Methods 0.000 claims description 78
- 230000008569 process Effects 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 7
- 238000012935 Averaging Methods 0.000 claims description 4
- 238000005304 joining Methods 0.000 claims description 4
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 238000005266 casting Methods 0.000 claims description 2
- 230000006835 compression Effects 0.000 description 35
- 238000007906 compression Methods 0.000 description 35
- 230000033001 locomotion Effects 0.000 description 24
- 230000011218 segmentation Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 19
- 238000013139 quantization Methods 0.000 description 16
- 239000013598 vector Substances 0.000 description 16
- 238000004891 communication Methods 0.000 description 11
- 230000006837 decompression Effects 0.000 description 10
- 238000009499 grossing Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 9
- 239000000872 buffer Substances 0.000 description 7
- 230000002123 temporal effect Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 101150114515 CTBS gene Proteins 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/254—Fusion techniques of classification results, e.g. of results related to same input data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/16—Image acquisition using multiple overlapping images; Image stitching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
接收场景的多个二维(2D)图像。确定所述多个2D图像中的每一个2D图像的几何信息和语义信息。所述几何信息指示检测到的相应2D图像的线条和参考方向。所述语义信息包括所述相应2D图像中的像素的分类信息。基于所述相应2D图像的所述几何信息和所述语义信息,确定与所述场景的相应2D图像相关联的布局估计。基于所确定的与所述场景的所述多个2D图像相关联的多个布局估计,确定与所述场景相关联的组合布局估计。基于所述组合布局估计生成与所述场景相关联的所述曼哈顿布局。所述曼哈顿布局包括所述场景的至少三维(3D)形状,所述三维(3D)形状包括彼此正交的墙面。
Description
交叉引用
本申请要求于2022年11月4日递交的标题为“MANHATTAN LAYOUT ESTIMATIONUSING GEOMETRIC AND SEMANTIC INFOMRATION”的美国专利申请第17/981,156号(该专利申请要求于2022年2月2日递交的标题为“AMETHOD FOR MANHATTAN LAYOUT ESTIMATIONFROM MULTIPLE PANORAMA IMAGES USING GEOMETRY AND SEMANTIC SEGMENTATIONINFORMATION”的美国临时申请第63/306,001的优先权权益)的优先权权益。在先申请的全部内容通过引用整体并入本文中。
技术领域
本公开描述了通常与图像编码相关的实施例。
背景技术
本文所提供的背景描述是出于总体上呈现本公开上下文的目的。在该背景部分中描述的范围内,目前命名的发明人的作品以及提交之时不可另行具备现有技术资格的本描述的各方面既未明确、亦未默示地承认为本发明的现有技术。
已经开发了各种技术来捕捉和表示世界,例如在三维(3D)空间或形状中的世界中的物体、世界中的环境等。对世界的3D表示可以实现更沉浸式的互动和交流形式。在一些示例中,3D形状被广泛用于表示这种沉浸式内容。
发明内容
本公开的方面提供了用于图像编码(例如,压缩和解压)的方法和装置。在一些示例中,用于图像编码的装置包括处理电路。
根据本公开的一方面,提供了一种用于估计与场景相关联的曼哈顿布局的方法。在该方法中,可以接收场景的多个二维(2D)图像。可以确定所述多个2D图像中的每一个2D图像的几何信息和语义信息。所述几何信息可以指示相应的2D图像中的检测到的线条和参考方向。所述语义信息可以包括相应的2D图像中的像素的分类信息。基于相应2D图像的几何信息和语义信息,可以确定与场景的相应2D图像相关联的布局估计。基于与场景的多个2D图像相关联的多个所确定的布局估计,可以确定与场景相关联的组合布局估计。基于所述组合布局估计,可以生成与场景相关联的曼哈顿布局。所述曼哈顿布局可以包括场景的至少三维(3D)形状,该三维(3D)形状包括彼此正交的墙面。
为了确定几何信息和语义信息,可以提取多个2D图像中的第一2D图像的第一几何信息。所述第一几何信息可以包括以下至少一个:检测到的线条、所述第一2D图像的参考方向、从天花板到地面的第一距离与从相机到地面的第二距离之间的比值、或者多个2D图像中的第一2D图像和第二2D图像之间的相对姿态(例如,角度或距离)。所述第一2D图像的像素可以被标记以生成第一语义信息,其中,所述第一语义信息可以指示第一2D图像中的像素的第一结构信息。
为了确定与场景的相应的2D图像相关联的布局估计,可以基于所述第一2D图像的第一几何信息和第一语义信息来确定与场景相关联的多个布局估计中的第一布局估计。为了确定第一布局估计,可以确定每个检测到的线条是否为对应于场景中的墙边界的边界线。检测到的线条中的边界线可以与第一2D图像的参考方向对齐。可以使用2D多边形去噪或阶梯移除之一,基于对齐后的边界线来生成指示第一布局估计的第一多边形。
为了生成第一多边形,可以基于以下之一来使得边界线中的多个不完整边界线完整:(i)基于边界线中的天花板边界线和地板边界线的组合来估计多个不完整边界线,以及(ii)连接多个不完整边界线中的不完整边界线对。通过以下方式之一来连接该不完整边界限线对:(i)响应于所述不完整边界线对是平行的,向所述不完整边界线对添加垂直线,以及(ii)延伸所述不完整边界线对中的至少一条,使得所述不完整边界线对的交点位于延伸后的不完整边界线对上。
为了确定与场景相关联的组合布局估计,可以通过经由多边形联合算法组合多个多边形来确定基础多边形。多个多边形中的每一个多边形可以对应于多个所确定的布局估计中的相应布局估计。可以基于基础多边形来确定缩小多边形。所述缩小多边形包括基于基础多边形的边进行更新得到的更新后的边。使用2D多边形去噪或阶梯移除之一,可以基于缩小多边形来确定最终多边形。最终多边形可以对应于与场景相关联的组合布局估计。
为了确定缩小多边形,针对基础多边形的边,可以基于多个多边形,确定多个候选边。所述多个候选边中的每一个候选边可以对应于基础多边形的相应边。响应于所述一个或多个候选边相对于所述基础多边形的相应的一个或多个边更接近所述多个图像中的原始视点位置,可以通过用相应的一个或多个候选边来替换所述基础多边形的一个或多个边,从而生成所述缩小多边形更新后的边。
在一些实施例中,多个候选边中的每一个候选边可以平行于基础多边形的相应边。候选边和基础多边形的相应边之间的投影重叠部分可以大于阈值。
为了确定与场景相关联的组合布局估计,可以确定包括最终多边形的边的边集合。基于所述边集合,可以生成多个边组合。可以生成最终多边形的多个内部边。所述多个内部边可以由边集合中的一个或多个边组合的多个平均边来指示。所述多个边组合中的每一个边组合可以包括大于目标值的相应数量的边。通过对一个或多个边组合中的相应一个边组合的边进行平均化,可以获得多个平均边中的每一个平均边。
在一些实施例中,所述多个边组合可以包括第一边组合。所述第一边组合还可以包括第一边和第二边。所述第一边和所述第二边可以相互平行。所述第一边和所述第二边之间的距离可以小于第一阈值。所述第一边和所述第二边之间的投影重叠区域可以大于第二阈值。
为了生成与场景相关联的曼哈顿布局,可以基于以下之一来生成与场景相关联的曼哈顿布局:根据组合布局估计进行三角化的三角形网格、根据组合布局估计进行四边形化的四边形网格、对三角形网格和四边形网格之一中进行采样而得到的采样点、或者经由体素化根据三角形网格和四边形网格之一生成的离散网格。
在一些实施例中,基于根据组合布局估计进行三角化的三角形网格来生成与场景相关联的曼哈顿布局。因此,为了生成与场景相关联的曼哈顿布局,可以通过对组合布局估计进行三角化来生成场景中的天花板面和地板面。场景中的墙面可以通过对场景中的天花板边界线和地板边界线所围成的矩形进行三角化来生成。与场景相关联的曼哈顿布局的纹理可以通过基于光线投射处理来生成。
根据本公开的另一方面,提供了一种装置。该装置包括处理电路。处理电路可以被配置成执行用于估计与场景相关联的曼哈顿布局的任何方法。
本公开的方面还提供了一种存储指令的非暂时性计算机可读介质,当由计算机执行所述指令时,使得计算机执行用于估计与场景相关联的曼哈顿布局的任何方法。
附图说明
从下面的详细描述和附图中,所公开的主题的进一步特征、性质和各种优点将变得更加明显,在附图中:
图1是一些示例中的通信系统的框图。
图2是一些示例中的流式传输系统的框图。
图3是一些示例中用于编码点云帧的编码器的框图。
图4是一些示例中用于解码对应于点云帧的压缩后码流的解码器的框图。
图5是一些示例中的视频解码器的框图。
图6是一些示例中的视频编码器的框图。
图7是一些示例中用于编码点云帧的编码器的框图。
图8是一些示例中用于解码对应于点云帧的压缩后码流的解码器的框图。
图9A是一些示例中的示例性全景图像。
图9B是一些示例中用几何信息标记的示例性全景图像。
图9C是一些示例中用语义信息标记的示例性全景图像。
图10A是一些示例中的示例性所估计的房间布局。
图10B是一些示例中表示所估计的房间布局的示例性多边形。
图10C是一些示例中基于多边形生成的示例性三维网格。
图11是一些示例中用于估计曼哈顿布局的系统的概述。
图12是一些示例中用于图像处理的框架的框图。
图13是一些示例中概述估计与场景相关联的曼哈顿布局的处理的流程图。
图14是一些示例中计算机系统的示意图。
具体实施方式
本公开的各方面提供了三维(3D)媒体处理领域中的技术。
3D媒体处理中的技术发展,例如在三维(3D)捕获、3D建模和3D渲染等方面的进步,促进了3D媒体内容在多个平台和设备上的普遍存在。例如,可以在一个大陆上拍摄婴儿迈出的第一步,媒体技术可以让祖父母在另一个大陆观看(也许是互动)并享受与婴儿在一起的沉浸式的体验。根据本公开的一个方面,为了提高沉浸式体验,3D模型变得越来越复杂,并且3D模型的创建和消耗占用了大量的数据资源,例如数据存储、数据传输资源。
在一些实施方式中,点云和网格可以用作表示沉浸式内容的3D模型。
点云通常可以指3D空间中的一组点,每个点具有相关联的属性,例如颜色、材料属性、纹理信息、强度属性、反射率属性、运动相关属性、模态属性和各种其他属性。点云可用于将对象或场景重构为这些点的组合。
对象的网格(也称为网格模型)可以包括描述对象表面的多边形。每个多边形可以由3D空间中多边形的顶点以及关于如何将顶点连接到多边形中的信息来定义。关于如何连接顶点的信息被称为连接信息。在一些示例中,网格还可以包括与顶点相关联的属性,例如颜色、法线等。
在一些实施方式中,用于点云压缩(point cloud compression,PCC)的一些编码工具可以用于网格压缩。例如,网格可以被重新网格化以生成新网格,可以对该新网格推导(或预定义)新网格的顶点的连通性信息。新网格的顶点以及与新网格的顶点相关联的属性可以被认为是点云中的点,并且可以使用PCC编解码器进行压缩。
点云可用于将对象或场景重构为这些点的组合。可以在各种设置中使用多个相机、深度传感器或激光雷达来捕获这些点,并且这些点可以由成千上万甚至数十亿个点组成,以便真实地表示重建的场景或对象。片通常可以指由点云描述的表面的连续子集。在一个示例中,片包括表面法线矢量彼此间的偏离小于阈值量的点。
可以根据各种方案来执行PCC,例如被称为G-PCC的基于几何的方案、被称为V-PCC的基于视频编码的方案等等。根据本公开的一些方面,G-PCC直接对3D几何结构进行编码,并且是纯粹基于几何结构的方法,与视频编码没有太多共享,而V-PCC主要基于视频编码。例如,V-PCC可以将3D云的点映射到二维(2dimensional,2D)网格(图像)的像素。V-PCC方案可以利用通用视频编解码器进行点云压缩。本公开中的PCC编解码器(编码器/解码器)可以是G-PCC编解码器或V-PCC编解码器。
根据本公开的一个方面,V-PCC方案可以使用视频编解码器来将点云的几何结构、占用和纹理压缩为三个单独的视频序列。解释这三个视频序列所需的额外元数据被分别压缩。整个码流的一小部分是元数据,在一个示例中,可以使用软件实现对其进行有效编码/解码。大部分信息由视频编解码器处理。
图1示出了在一些示例中的通信系统(100)的框图。通信系统(100)包括多个终端设备,该终端设备可通过例如网络(150)彼此通信。举例来说,通信系统(100)包括通过网络(150)互连的终端设备对(110)和(120)。在图1的示例中,第一终端设备对(110)和(120)可以执行点云数据的单向传输。例如,终端设备(110)可以压缩由与终端设备(110)相连接的传感器(105)捕获的点云(例如,表示结构的点)。例如,压缩的点云可以以码流的形式经由网络(150)发送到另一终端设备(120)。终端设备(120)可以从网络(150)接收压缩的点云,解压缩码流以重构点云,并且适当地显示重构的点云。单向数据传输在媒体服务等应用中是较常见的。
在图1的示例中,终端设备(110)和(120)可以被示出为服务器和个人计算机,但是本公开的原理可不限于此。本公开的实施例可应用于膝上型计算机、平板电脑、智能手机、游戏终端、媒体播放器和/或专用三维(3D)设备。网络(150)表示在终端设备(110)和(120)之间传输压缩的点云的任意数量的网络。例如,网络(150)可以包括有线(有线的)和/或无线通信网络。网络(150)可在电路交换和/或分组交换信道中交换数据。代表性的网络包括电信网络、局域网、广域网、因特网等。
图2示出了在一些示例中的流媒体系统(200)的框图。流媒体系统(200)是点云的使用应用。所公开的主题可以同样适用于其他点云使能的应用,例如3D远程呈现应用、虚拟现实应用等。
流媒体系统(200)可以包括捕获子系统(213)。捕获子系统(213)可以包括点云源(201),例如光探测和测距(Light Detection And Ranging,LIDAR)系统、3D相机、3D扫描仪、生成未压缩点云的软件形式的图形生成组件、以及生成例如未压缩点云(202)的其他组件。在一个示例中,点云(202)包括由3D相机捕获的点。点云(202)被示为粗线,以在与压缩的点云(204)(压缩的点云的码流)相比时强调高数据量。压缩的点云(204)可以由电子设备(220)生成,电子设备(220)包括耦合到点云源(201)的编码器(203)。编码器(203)可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。压缩的点云(204)(或压缩的点云的码流(204))可以存储在流服务器(205)上以供将来使用,压缩的点云(204)被示为细线以在与点云的流(202)相比时强调较低的数据量。一个或多个流媒体客户端子系统(例如图2中的客户端子系统(206)和客户端子系统(208))可以访问流媒体服务器(205)以检索压缩的点云(204)的副本(207)和(209)。客户端子系统(206)可包括例如电子设备(230)中的解码器(210)。解码器(210)对传入的压缩的点云的副本(207)进行解码,并创建可在渲染设备(212)上进行渲染的重构的点云(211)的传出流。
应注意,电子设备(220)和电子设备(230)可包括其它组件(未示出)。举例来说,电子装置(220)可包括解码器(未示出),且电子设备(230)还可包括编码器(未示出)。
在一些流媒体系统中,可以根据某些标准来压缩压缩的点云(204)、(207)和(209)(例如,压缩的点云的码流)。在一些示例中,视频编码标准被用于点云的压缩。这些标准的示例包括高效视频编码(High Efficiency Video Coding,HEVC)、通用视频编码(Versatile Video Coding,VVC)等。
图3示出了根据一些实施例的用于对点云帧进行编码的V-PCC编码器(300)的框图。在一些实施例中,V-PCC编码器(300)可以用于通信系统(100)和流媒体系统(200)中。例如,编码器(203)可以以与V-PCC编码器(300)以类似的方式进行配置和操作。
V-PCC编码器(300)接收点云帧作为未压缩的输入,并生成与压缩的点云帧相对应的码流。在一些实施例中,V-PCC编码器(300)可以从诸如点云源(201)等的点云源接收点云帧。
在图3的示例中,V-PCC编码器(300)包括片生成模块(306)、片封装模块(308)、几何图像生成模块(310)、纹理图像生成模块(312)、片信息模块(304)、占用地图模块(314)、平滑模块(336)、图像填充模块(316)和(318)、组扩展模块(320)、视频压缩模块(322)、(323)和(332)、辅助片信息压缩模块(338)、熵压缩模块(334)和复用器(324)。
根据本公开的一个方面,V-PCC编码器(300)将3D点云帧转换为基于图像的标识以及一些元数据(例如,占用地图和片信息)。使用所述元数据将压缩的点云转换回解压缩的点云。在一些示例中,V-PCC编码器(300)可以将3D点云帧转换为几何图像、纹理图像和占用地图,然后使用视频编码技术将几何图像、纹理图像和占用地图编码为码流。通常,几何图像是2D图像,其中像素填充有与投影到像素的点相关联的几何值,并且填充有几何值的像素可以被称为几何样本。纹理图像是2D图像,其中像素填充有与投影到像素的点相关联的纹理值,并且填充有纹理值的像素可以被称为纹理样本。占用地图是2D图像,其中像素填充有指示被片占用或未被片占用的值。
片生成模块(306)将点云分割成一组片(例如,片被定义为由点云描述的表面的连续子集),这些片可以重叠也可以不重叠,使得每个片可以由相对于2D空间中的平面的深度域来描述。在一些实施例中,片生成模块(306)旨在将点云分解为具有平滑边界的最小数量的片,同时还最小化重构误差。
在一些示例中,片信息模块(304)可以收集用于指示片的大小和形状的片信息。在一些示例中,片信息可以被封装到图像帧中,然后由辅助片信息压缩模块(338)进行编码以生成压缩的辅助片信息。
在一些示例中,片封装模块(308)被配置为将提取的片映射到二维(2D)网格上,同时最小化未使用的空间,并保证网格的每M×M(例如,16x16)块与唯一的片相关联。有效的片封装可以通过最小化未使用的空间或确保时间一致性来直接影响压缩效率。
几何图像生成模块(310)可以生成与给定片位置处的点云的几何形状相关联的2D几何图像。纹理图像生成模块(312)可以生成与给定片位置处的点云的纹理相关联的2D纹理图像。几何图像生成模块(310)和纹理图像生成模块(312)利用在填封装过程中计算的3D到2D映射,将点云的几何形状和纹理存储为图像。为了更好地处理多个点被投影到同一样本的情况,每个片被投影到两个图像(称为层)上。在一个示例中,几何图像由YUV420-8bit格式的WxH单色帧来表示。为了生成纹理图像,纹理生成过程利用重构/平滑的几何形状来计算要与重新采样的点相关联的颜色。
占用地图模块(314)可以生成描述每个单元处的填充信息的占用地图。例如,占用图像包括二进制地图,该二进制地图针对网格的每个单元指示该单元是属于空白空间还是属于点云。在一个示例中,占用地图使用二进制信息来描述每个像素是否被填充。在另一示例中,占用地图使用二进制信息来针对每个像素块描述该像素块是否被填充。
可以使用无损编码或有损编码来压缩由占用地图模块(314)生成的占用地图。当使用无损编码时,熵压缩模块(334)用于压缩占用地图。当使用有损编码时,视频压缩模块(332)用于压缩占用地图。
应当注意,片封装模块(308)可以在封装在图像帧中的2D片之间留下一些空间。图像填充模块(316)和(318)可以填充该空间(称为填充),以便生成适合于2D视频和图像编解码器的图像帧。图像填充也被称为背景填充,其可以用冗余信息填充未使用的空间。在一些示例中,良好的背景填充最低限度地提高了比特率,而不会在片边界周围引入明显的编码失真。
视频压缩模块(322)、(323)和(332)可以基于合适的视频编码标准(例如,HEVC、VVC等)对2D图像(例如,填充的几何图像、填充的纹理图像和占用地图)进行编码。在一个示例中,视频压缩模块(322)、(323)和(332)是单独操作的独立组件。需要注意的是,在另一示例中,视频压缩模块(322)、(323)和(332)可以被实现为一个组件。
在一些示例中,平滑模块(336)被配置为生成重构的几何图像的平滑图像。平滑图像可以被提供给纹理图像生成模块(312)。然后,纹理图像生成模块(312)可以基于重构的几何图像来调整纹理图像的生成。例如,当片形状(例如,几何形状)在编码和解码期间轻微失真时,在生成纹理图像时可以考虑该失真,以校正片形状中的失真。
在一些实施例中,组扩展模块(320)被配置为用冗余低频内容来填充对象边界周围的像素,以便提高编码增益以及重构的点云的视觉质量。
复用器(324)可以将压缩的几何图像、压缩的纹理图像、压缩的占用地图、压缩的辅助片信息复用到压缩的码流中。
图4示出了在一些示例中用于对与点云帧相对应的压缩的码流进行解码的V-PCC解码器(400)的框图。在一些示例中,V-PCC解码器(400)可以用于通信系统(100)和流媒体系统(200)中。例如,解码器(210)可以被配置为以与V-PCC解码器(400)类似的方式进行操作。V-PCC解码器(400)接收压缩的码流,并基于压缩的码流生成重构的点云。
在图4的示例中,V-PCC解码器(400)包括解复用器(432)、视频解压缩模块(434)和(436)、占用地图解压缩模块(438)、辅助片信息解压缩模块(442)、几何重构模块(444)、平滑模块(446)、纹理重构模块(448)和颜色平滑模块(452)。
解复用器(432)可以接收压缩的码流并将其分离为压缩的纹理图像、压缩的几何图像、压缩的占用地图和压缩的辅助片信息。
视频解压缩模块(434)和(436)可以根据合适的标准(例如,HEVC、VVC等)对压缩的图像进行解码,并输出解压缩的图像。例如,视频解压缩模块(434)对压缩的纹理图像进行解码,并输出解压缩的纹理图像。视频解压缩模块(436)对压缩的几何图像进行解码,并输出解压缩的几何图像。
占用地图解压缩模块(438)可以根据合适的标准(例如,HEVC、VVC等)对压缩的占用地图进行解码,并输出解压缩的占用地图。
辅助片信息解压缩模块(442)可以根据合适的标准(例如,HEVC、VVC等)对压缩的辅助片信息进行解码,并输出解压缩的辅助片信息。
几何重构模块(444)可以接收解压缩的几何图像,并基于解压缩的占用地图和解压缩的辅助片信息来生成重构的点云几何形状。
平滑模块(446)可以平滑片边缘处的不一致。平滑过程旨在减轻可能由于压缩伪影而在片边界处出现的潜在不连续性。在一些实施例中,可以将平滑滤波器应用于位于片边界上的像素,以减轻可能由压缩/解压缩而引起的失真。
纹理重构模块(448)可以基于解压缩的纹理图像和平滑的几何形状来确定点云中的点的纹理信息。
颜色平滑模块(452)可以平滑着色的不一致。3D空间中的非相邻片通常被封装为在2D视频中彼此相邻。在一些示例中,来自非相邻片的像素值可能被基于块的视频编解码器混淆。颜色平滑的目标是减少出现在片边界处的可见伪影。
图5示出了在一些示例中的视频解码器(510)的框图。视频解码器(510)可以用于V-PCC解码器(400)中。例如,视频解压缩模块(434)和(436)、占用地图解压缩模块(438)可以类似地配置为视频解码器(510)。
视频解码器(510)可以包括解析器(520),用于根据压缩图像(例如,编码的视频序列)重建符号(521)。这些符号的类别包括用于管理视频解码器(510)的操作的信息。解析器(520)可对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可根据视频编码技术或标准进行,且可遵循各种原理,包括可变长度编码、霍夫曼编码(Huffmancoding)、具有或不具有上下文灵敏度的算术编码等等。解析器(520)可基于对应于群组的至少一个参数,从已编码视频序列提取用于视频解码器中的至少一个像素子群的子群参数集。子群可包括图片群组(Group of Pictures,GOP)、图片、图块、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等等。解析器(520)还可从已编码视频序列提取信息,例如变换系数、量化器参数值、运动矢量等等。
解析器(520)可对从缓冲存储器接收的视频序列执行熵解码/解析操作,从而创建符号(521)。
取决于已编码视频图片或一部分已编码视频图片(例如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其它因素,符号(521)的重建可涉及多个不同单元。涉及哪些单元以及如何涉及可由解析器(520)从已编码视频序列解析的子群控制信息来控制。为了简洁起见,未描述解析器(520)与下文的多个单元之间的此类子群控制信息流。
除已经提及的功能块以外,视频解码器(510)可在概念上细分成如下文所描述的数个功能单元。在商业约束下运行的实际实施例中,这些单元中的许多单元彼此紧密交互并且可以至少部分地彼此集成。然而,出于描述所公开主题的目的,概念上细分成下文的功能单元是适当的。
第一单元是缩放器/逆变换单元(551)。缩放器/逆变换单元(551)从解析器(520)接收作为符号(521)的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(551)可输出包括样本值的块,该样本值可输入到聚合器(555)中。
在一些情况下,缩放器/逆变换单元(551)的输出样本可属于帧内编码块,即,不使用来自先前重建的图片的预测性信息,但可使用来自当前图片的先前重建部分的预测性信息的块。此类预测性信息可由帧内图片预测单元(552)提供。在一些情况下,帧内图片预测单元(552)采用从当前图片缓冲器(558)提取的周围已重建信息来生成大小和形状与正在重建的块相同的块。举例来说,当前图片缓冲器(558)缓冲部分重建的当前图片和/或完全重建的当前图片。在一些情况下,聚合器(555)基于每个样本,将帧内预测单元(552)生成的预测信息添加到由缩放器/逆变换单元(551)提供的输出样本信息中。
在其它情况下,缩放器/逆变换单元(551)的输出样本可属于帧间编码和潜在运动补偿块。在此情况下,运动补偿预测单元(553)可访问参考图片存储器(557)以提取用于预测的样本。在根据属于块的符号(521)对提取的样本进行运动补偿之后,这些样本可由聚合器(555)添加到缩放器/逆变换单元(551)的输出(在这种情况下被称作残差样本或残差信号),从而生成输出样本信息。参考图片存储器(557)内的运动补偿预测单元(553)获取预测样本的地址可受到运动矢量控制,且该运动矢量以符号(521)的形式而供运动补偿预测单元(553)使用,该符号(521)可以具有例如X、Y和参考图片分量。运动补偿还可包括在使用子样本精确运动矢量时,从参考图片存储器(557)提取的样本值的内插、运动矢量预测机制等等。
聚合器(555)的输出样本可经受环路滤波器单元(556)中的各种环路滤波技术。视频压缩技术可包括环路内滤波器技术,该环路内滤波器技术受控于包括在已编码视频序列(也称作已编码视频码流)中并且作为来自解析器(520)的符号(521)可用于环路滤波器单元(556)的参数,然而,视频压缩技术还可响应于在解码已编码图片或已编码视频序列的先前(按解码次序)部分期间所获得的元信息,以及响应于先前重建且经过环路滤波的样本值。
环路滤波器单元(556)的输出可以是样本流,该样本流可输出到渲染设备以及存储在参考图片存储器(557),以用于后续的帧间图片预测。
一旦完全重建,某些已编码图片就可用作参考图片以用于将来预测。举例来说,一旦对应于当前图片的已编码图片被完全重建,且已编码图片(通过例如解析器(520))被识别为参考图片,则当前图片缓冲器(558)可变为参考图片存储器(557)的一部分,且可在开始重建后续已编码图片之前重新分配新的当前图片缓冲器。
视频解码器(510)可根据例如ITU-T H.265标准中的预定视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件的意义上,已编码视频序列可符合所使用的视频压缩技术或标准指定的语法。具体地说,配置文件可从视频压缩技术或标准中可用的所有工具中选择某些工具作为仅可在该配置文件下使用的工具。还必须要求已编码视频序列的复杂度处于视频压缩技术或标准的水平所限定的范围内。在一些情况下,层级限制最大图片大小、最大帧率、最大重建取样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由水平所设定的限制可通过假想参考解码器(Hypothetical Reference Decoder,HRD)规范和在已编码视频序列中用信号表示的HRD缓冲器管理的元数据来进一步限定。
图6是根据本申请公开的实施例的视频编码器(603)的框图。视频编码器(603)可以用于压缩点云的V-PCC编码器(300)中。在一个示例中,视频压缩模块(322)和(323)以及视频压缩模块(332)的配置与编码器(603)类似。
视频编码器(603)可以接收图像,例如填充的几何图像、填充的纹理图像等,并生成压缩图像。
根据实施例,视频编码器(603)可实时或在由应用所要求的任何其它时间约束下,将源视频序列(图像)的图片编码且压缩成已编码视频序列(压缩的图像)。施行适当的编码速度是控制器(650)的一个功能。在一些实施例中,控制器(650)控制如下文所描述的其它功能单元且在功能上耦接到所述其它功能单元。为了简洁起见,图中未示出耦接。由控制器(650)设置的参数可包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值等)、图片大小、图片群组(group of pictures,GOP)布局、最大运动矢量搜索范围等。控制器(650)可被配置为具有其它合适的功能,这些功能涉及针对某一系统设计优化的视频编码器(603)。
在一些实施例中,视频编码器(603)被配置为在编码环路中进行操作。作为简单的描述,在示例中,编码环路可包括源编码器(630)(例如,用于基于待编码的输入图片和参考图片创建符号,例如符号流)和嵌入于视频编码器(603)中的(本地)解码器(633)。解码器(633)重建符号以用类似于(远程)解码器创建样本数据的方式来创建样本数据(因为在所公开主题所考虑的视频压缩技术中,符号与已编码视频码流之间的任何压缩是无损的)。将重建的样本流(样本数据)输入到参考图片存储器(634)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片存储器(634)中的内容在本地编码器与远程编码器之间也是按比特位精确对应的。换句话说,编码器的预测部分“看到”作为参考图片样本具有与如解码器将在解码期间使用预测时所“看到”的完全相同的样本值。在一些相关技术中也会使用这种参考图片同步性基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)。
“本地”解码器(633)的操作可与例如已在上文结合图5详细描述的视频解码器(510)的“远程”解码器相同。然而,仍简要参考图5,当符号可用且熵编码器(645)和解析器(520)能够无损地将符号编码/解码为已编码视频序列时,包括解析器(520)在内的视频解码器(510)的熵解码部分,可能无法完全在本地解码器(633)中实施。
在操作期间,在一些示例中,源编码器(630)可执行运动补偿预测编码。参考来自视频序列中被指定为“参考图片”的一个或多个先前已编码图片,该运动补偿预测编码对输入图片进行预测性编码。以此方式,编码引擎(632)对输入图片的像素块与参考图片的像素块之间的差异进行编码,该参考图片可被选作该输入图片的预测参考。
本地视频解码器(633)可基于源编码器(630)创建的符号,对可指定为参考图片的图片的已编码视频数据进行解码。编码引擎(632)的操作可有利地为有损过程。当在视频解码器(图6中未示出)处解码已编码视频数据时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器(633)复制解码过程,该解码过程可由视频解码器对参考图片执行,且可使重建的参考图片存储在参考图片高速缓存(634)中。以此方式,视频编码器(603)可在本地存储重建的参考图片的副本,该副本与将由远端视频解码器获得的重建参考图片具有共同内容(不存在传输误差)。
预测器(635)可针对编码引擎(632)执行预测搜索。即,对于将要编码的新图片,预测器(635)可在参考图片存储器(634)中搜索可作为该新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器(635)可逐样本块像素块地进行操作,以找到合适的预测参考。在一些情况下,如由预测器(635)获得的搜索结果所确定的那样,输入图片可具有从参考图片存储器(634)中存储的多个参考图片中取得的预测参考。
控制器(650)可管理源编码器(630)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。
可在熵编码器(645)中对所有上述功能单元的输出进行熵编码。熵编码器(645)根据例如霍夫曼编码、可变长度编码、算术编码等技术对各种功能单元生成的符号进行无损压缩,从而将该符号转换成已编码视频序列。
控制器(650)可管理视频编码器(603)的操作。在编码期间,控制器(650)可以为每个已编码图片分配某一已编码图片类型,但这可能影响可应用于相应图片的编码技术。例如,通常可将图片分配为以下任一种图片类型:
帧内图片(I图片),其可以是不将序列中的任何其它图片用作预测源就可被编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新(Independent Decoder Refresh,“IDR”)图片。所属领域的技术人员了解I图片的变体及其相应的应用和特征。
预测性图片(P图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,该帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
双向预测性图片(B图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,该帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可使用多于两个参考图片和相关联元数据以用于重建单个块。
源图片通常可在空间上再分成多个样本块(例如,4×4、8×8、4×8或16×16个样本的块),且逐块进行编码。这些块可参考其它(已编码)块进行预测编码,该其它块由应用于块的相应图片的编码分配来确定。举例来说,可对I图片的块进行非预测编码,或可参考同一图片的已编码的块来I图片的块进行预测编码(空间预测或帧内预测)。可参考一个先前编码的参考图片通过空间预测或通过时间预测来对P图片的像素块进行预测编码。可参考一个或两个先前编码的参考图片通过空间预测或通过时间预测来对B图片的块进行预测编码。
视频编码器(603)可根据例如ITU-T H.265建议书的预定视频编码技术或标准来执行编码操作。在操作中,视频编码器(603)可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所用视频编码技术或标准指定的语法。
视频可以是时间序列中的多个源图片(图像)的形式。帧内图片预测(常常简化为帧内预测)利用给定图片中的空间相关性,而帧间图片预测则利用图片之间的(时间或其它)相关性。在示例中,将正在编码/解码的特定图片(被称为当前图片)分割成块。在当前图片中的块类似于视频中先前已编码且仍被缓冲的参考图片中的参考块时,可通过称作运动矢量的矢量对当前图片中的块进行编码。该运动矢量指向参考图片中的参考块,且在使用多个参考图片的情况下,该运动矢量可具有识别参考图片的第三维度。
在一些实施例中,双向预测技术可用于帧间图片预测中。根据双向预测技术,使用两个参考图片,例如按解码次序都在视频中的当前图片之前(但按显示次序可能分别是过去和将来)的第一参考图片和第二参考图片。可通过指向第一参考图片中的第一参考块的第一运动矢量和指向第二参考图片中的第二参考块的第二运动矢量对当前图片中的块进行编码。具体来说,可通过第一参考块和第二参考块的组合来预测该块。
此外,合并模式技术可用于帧间图片预测以改善编码效率。
根据本申请公开的一些实施例,例如帧间图片预测和帧内图片预测的预测以块为单位执行。举例来说,根据HEVC标准,将视频图片序列中的图片分割成编码树单元(codingtree unit,CTU)以用于压缩,图片中的CTU具有相同大小,例如64×64像素、32×32像素或16×16像素。一般来说,CTU包括三个编码树块(coding tree block,CTB),该三个编码树块是一个亮度CTB和两个色度CTB。还可将每个CTU递归地以四叉树划分为一个或多个编码单元(coding unit,CU)。举例来说,可将64×64像素的CTU划分为一个64×64像素的CU,或4个32×32像素的CU,或16个16×16像素的CU。在示例中,分析每个CU以确定用于CU的预测类型,例如帧间预测类型或帧内预测类型。取决于时间和/或空间可预测性,将CU划分为一个或多个预测单元(prediction unit,PU)。通常,每个PU包括亮度预测块(predictionblock,PB)和两个色度PB。在实施例中,编码(编码/解码)中的预测操作以预测块为单位来执行。以亮度预测块作为预测块的示例,预测块包括像素的值(例如,亮度值)的矩阵,所述像素为例如8×8像素、16×16像素、8×16像素、16×8像素等等。
图7示出了在一些示例中的G-PCC编码器(700)的框图。G-PCC编码器(700)可以被配置为接收点云数据并压缩点云数据以生成携带压缩的点云数据的码流。在一个实施例中,G-PCC编码器(700)可以包括位置量化模块(710)、重复点去除模块(712)、八叉树编码模块(730)、属性转移模块(720)、细节等级(Level Of Detail,LOD)生成模块(740)、属性预测模块(750)、残差量化模块(760)、算术编码模块(770)、逆残差量化模块(780)、加法模块(781)和用于存储重构的属性值的存储器(790)。
如图所示,可以在G-PCC编码器(700)处接收输入点云(701)。点云(701)的位置(例如,3D坐标)被提供给量化模块(710)。量化模块(710)被配置为量化坐标以生成量化位置。重复点去除模块(712)被配置为接收量化位置并执行滤波过程以识别和去除重复点。八叉树编码模块(730)被配置为从重复点去除模块(712)接收滤波后的位置,并执行基于八叉树的编码过程以生成描述体素的3D网格的占用码序列。占用代码被提供给算术编码模块(770)。
属性转移模块(720)被配置为接收输入点云的属性,并且当多个属性值与各个体素相关联时,执行属性转移过程以确定每个体素的属性值。可以对从八叉树编码模块(730)输出的重新排序的点执行属性转移过程。经过传输操作之后的属性被提供给属性预测模块(750)。LOD生成模块(740)被配置为对从八叉树编码模块(730)输出的重新排序的点进行操作,并将这些点重新组织成不同的LOD。LOD信息被提供给属性预测模块(750)。
属性预测模块(750)根据由来自LOD生成模块(740)的LOD信息所指示的基于LOD的顺序来处理点。属性预测模块(750)基于存储在存储器(790)中的当前点的一组相邻点的重构属性来生成针对当前点的属性预测。随后可以基于从属性转移模块(720)接收的原始属性值和本地生成的属性预测来获得预测残差。当在各个属性预测过程中使用候选索引时,可以将与所选择的预测候选相对应的索引提供给算术编码模块(770)。
残差量化模块(760)被配置为从属性预测模块(750)接收预测残差,并执行量化以生成量化残差。量化残差被提供给算术编码模块(770)。
逆残差量化模块(780)被配置为接收来自残差量化模块(760)的量化残差,并通过执行在残差量化模块(760)处执行的量化操作的逆操作来生成重构的预测残差。加法模块(781)被配置为从逆残差量化模块(780)接收重构的预测残差,以及从属性预测模块(750)接收相应的属性预测。通过组合重构的预测残差和属性预测,生成重构的属性值并将其存储到存储器(790)。
算术编码模块(770)被配置为接收占用码、候选索引(如果使用)、量化残差(如果生成)和其他信息,并执行熵编码以进一步压缩接收到的值或信息。因此,可以生成携带压缩信息的压缩的码流(702)。码流(702)可以被发送或以其他方式提供给对压缩的码流进行解码的解码器,或者可以被存储在存储设备中。
图8示出根据一个实施例的G-PCC解码器(800)的框图。G-PCC解码器(800)可以被配置为接收压缩的码流并执行点云数据解压缩以解压缩码流来生成解码的点云数据。在一个实施例中,G-PCC解码器(800)可以包括算术解码模块(810)、逆残差量化模块(820)、八叉树解码模块(830)、LOD生成模块(840)、属性预测模块(850)和用于存储重构的属性值的存储器(860)。
如图所示,可以在算术解码模块(810)处接收压缩的码流(801)。算术解码模块(810)被配置为对压缩的码流(801)进行解码,以获得点云的量化残差(如果生成)和占用码。八叉树解码模块(830)被配置为根据占用码来确定点云中的点的重构位置。LOD生成模块(840)被配置为基于重构位置将点重新组织成不同的LOD,并确定基于LOD的顺序。逆残差量化模块(820)被配置为基于从算术解码模块(810)接收的量化残差来生成重构残差。
属性预测模块(850)被配置为执行属性预测过程,以根据基于LOD的顺序来确定点的属性预测。例如,可以基于存储在存储器(860)中的当前点的相邻点的重构属性值来确定当前点的属性预测。在一些示例中,属性预测可以与相应的重构残差相组合,以生成当前点的重构属性。
在一个示例中,从属性预测模块(850)生成的重构属性序列以及从八叉树解码模块(830)生成的重构位置对应于从G-PCC解码器(800)输出的解码的点云(802)。此外,重构属性也被存储到存储器(860)中,并且随后可以用于导出后续点的属性预测。
在各种实施例中,编码器(300)、解码器(400)、编码器(700)和/或解码器(800)可以用硬件、软件或其组合来实现。例如,编码器(300)、解码器(400)、编码器(700)和/或解码器(800)可以用诸如一个或多个集成电路(IC)之类的处理电路(例如,专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)等)来实现,这些集成电路在有软件或没有软件的情况下操作。在另一示例中,编码器(300)、解码器(400)、编码器(700)和/或解码器(800)可以被实现为包括存储在非易失性(或非暂时性)计算机可读存储介质中的指令的软件或固件。当由诸如一个或多个处理器之类的处理电路执行时,所述指令使得处理电路执行编码器(300)、解码器(400)、编码器(700)和/或解码器(800)的功能。
应当注意,被配置为实现本文公开的属性预测技术的属性预测模块(750)和(850)可以被包括在其他解码器或编码器中,这些解码器或编码器可以具有与图7和图8中所示的结构相似或不同的结构。此外,在各种示例中,编码器(700)和解码器(800)可以被包括在同一设备中,或者被包括在单独的设备中。
本公开包括与曼哈顿布局的估计相关的实施例,所述实施例包括根据场景的各种全景估计场景的曼哈顿布局。这些实施例可以用于创建虚拟现实和增强现实应用,例如虚拟旅游。例如,可以利用几何信息和分割信息根据大量全景图像来估计曼哈顿布局。
在机器人、虚拟现实和增强现实等应用中,根据图像估计房间的布局是一种常见的做法。房间的布局可以包括房间的墙壁相对于特定参考点的位置、方向和高度。例如,可以使用墙壁的交点、3D网格或点云来描绘房间的布局。在房间的曼哈顿布局中,房间的墙壁彼此垂直。全景图像可以通过相机生成,例如全景相机。全景图像可用于描绘房间的布局。然而,通过分析多个全景图像来估计房间的曼哈顿布局可能具有挑战性。全景(或全景图像)可以封装场景中的360度信息,并且360度信息可以包含比透视图像多得多的数据。
可以通过使用来自多个全景视图(或全景图像)的信息(例如像素)的语义分割和几何信息来估计房间的曼哈顿布局。可以使用深度学习算法来执行语义分割,该算法将标签或类别与图像中的每个像素相关联。语义分割可用于识别形成不同类别的像素集合。
多个全景图(或全景图像)可用于估计房间的曼哈顿布局,因为单个全景图可能不会提供房间布局的精确表示。例如,房间中的对象可能会阻挡房间的墙壁边界,或者房间非常大,单个全景图像可能无法完全捕捉房间。几何信息可以包括房间的曼哈顿布局的两个主要方向(例如,X方向和Z方向)以及从全景图中提取的线段信息。然而,由于几何信息关注于房间的几何内容,所以几何信息可能缺乏语义信息。因此,可以使用语义分割来提供全景图的像素的语义信息。语义分割可以指全景图(或全景图像)的标记,以确定全景图的每个像素的相应类别。例如,基于语义分割,像素可以被标记为房间中的地板、墙壁等之一。
图9A-图9C是全景图的示例性几何表示和示例性语义表示。如图9A所示,提供全景图(900),其中,全景图(900)可以包括酒店房间的场景。在图9B中,全景图(900)可以用几何线段的信息来标记。在图9C中,可以基于语义分割来提供房间的像素的语义信息。例如,房间的像素的语义信息可以指示天花板(902)、地板(904)、沙发(906)、墙壁(908)等。
房间的布局可以用各种方式表示,包括3D网格、边界线和点云。在本公开中,房间的3D网格和边界线可以用于描述房间的布局。边界线可以由一个或多个多边形表示,房间的3D网格可以由多边形创建。
图10A-图10C是房间的示例性多边形表示和示例性网格表示。如图10A所示,可以提供估计出的房间布局(1000)。在图10B中,可以提供估计出的房间布局的多边形表示(1002),其中,房间布局的角可以用数字标记,例如,0-7。在图10C中,可以根据多边形(1002)生成3D网格(1004)。根据图10A-图10C,当建立房间的布局(例如,(1000))时,墙壁面可以投影到地板面中以获得多边形(例如,(1002))。反过来,如果获得了多边形和墙的高度,则可以导出布局和3D网格(例如(1004))。
在本公开中,可以通过基于场景(例如,房间布局(1000))的几何信息和语义信息来估计多边形(例如,多边形(1002)),从而估计房间的曼哈顿布局。多边形可以用有向图G=(v,e)来表示,其中,v是多边形的一组角,e连接该组角的一组边。每个角关节的位置可以定义为相对于相机位置的2D空间中的2D坐标(x,y)。每条边可以表示为有向线段(ps,pe),其中,ps∈v是边缘的起点,并且pe∈v是边缘的终点。每条边的直线函数可以表示为ax+by+c=0,其中,n=(a,b)是满足||n||=1的直线的法线,并且c是常实数。
图11示出了用于估计场景(例如,房间)的曼哈顿布局的系统(或过程)(1100)的概述。如图11所示,在(1110)中,可以提供输入图像。输入图像可以包括场景的全景图(或多个全景图像)的集合。全景图的集合可以从不同的视图位置捕捉场景,以更准确地表示场景。在过程(1100)的步骤(1120)和步骤(1130)处,可以提取每个全景图像的几何信息,并且可以基于根据与全景图像对应的语义分割来确定每个全景图的语义信息。所述几何信息(或几何因子)可以包括:(1)在每个全景图像中检测到的线条,(2)每个全景图像的主要方向(例如,X方向和Z方向),(3)从房间的天花板到房间的地面的距离与从相机到地面的距离之间的比值,以及(4)全景图像之间的相对姿态(例如,相对位置、角度或距离),例如两个相应的全景图像之间的相对姿态。通过语义分割可以获得语义信息。语义分割可以将语义含义(例如,地板、门等)分配给全景图像的每个像素。在步骤(1140)处,可以基于每个全景图像的几何信息和语义分割来估计场景的相应布局。在步骤(1150)处,可以组合根据每个全景图(或全景图像)所估计出的布局,以生成房间布局的最终估计。在步骤(1160)处,可以基于估计出的布局(或最终房间布局的估计)来生成房间的3D网格(或曼哈顿布局)。
为了基于每个全景图像的几何信息和语义信息来确定与所述场景(例如,房间)相关联的布局估计,例如图11的步骤(1140)处的示例,语义分割的结果可用于确定全景图(或全景图像)的每个线段是否表示房间的墙壁边界。假定线条l表示全景图像中点p0,p1,...,pn的序列,可以检查每个点pi的相邻像素是否包含墙壁。如果点pi的相邻像素仅包含墙壁或者不具有任何墙壁像素,则该点pi不能被视为边界点。如果边界点的数量超过某个阈值,例如,80%的点是边界,则点线(或线)l可以被指定为边界(或边界线)。
边界线可以与全景图的主方向(或主要方向)对齐。为了使边界线与主方向对齐,可以将每个边界线投影到水平面(例如,X-Z平面)上。由于两个主方向(例如,X和Z)是垂直的,所以可以计算投影后的边界线和两个主方向之间的角度。然后可以围绕投影后的边界线的中心旋转投影边界线,以使投影边界线平行于主方向。
然而,图像(或全景图像)中的对象可能会阻挡边界线。因此,一条或多条边界线可能是不完整的。在第一种方法中,天花板边界线和地板边界线的组合可用于估计不完整边界线(或完成一个或多个不完整边界线)。例如,每个地板线(或地板边界线)可以对应于天花板线(或天花板边界线),并且地板线和天花板线之间的距离在场景中可以是固定的。不完整的边界线可以分别投影到天花板线和地板线。天花板和地板的相应投影后的边界(或投影边界)上的不完整边界线的点的坐标可以是:
pc,1,pc,2,pc,3,...pc,n
pf,1,pf,2,pf,3,...pf,n
基于从天花板到地面的第一距离和从相机到地面的第二距离之间的比值r,可以按如下公式(1)缩放(或估计)不完整边界线的点,以组合天花板边界线和地板边界线上的投影后的点:
其中i=1,...,n 公式(1)
在第二种方法中,投影后的线段(例如,投影到水平面上的边界线)可以使用曼哈顿布局假设来连接。如曼哈顿布局假设中所定义的,每对两个相连的边界可以是平行的或垂直的。因此,可以根据场景的图像空间(例如,X-Y-Z空间)中的边界线的原始空间坐标对投影后的边界线进行排序。当两条线条(或边界线)平行时,可以添加一条垂直线来连接这两条线条。当两条线条垂直时,可以确定两条线条的交点是否在两条线段上(或两条线上)。响应于交点不在两条线上,两条线段(或两条线)可以延伸,使得交点可以位于两条线段上。
可以基于第一和第二方法的一种或组合来获得多边形。在一些实施例中,可以使用几何处理方法(例如2D多边形去噪、阶梯移除等)来细化多边形。因此,可以基于全景图像获得多个多边形。每个多边形可以从相应的全景图像中导出,并且指示所述场景(例如,房间)的相应布局估计。
可以应用各种方法来对现有的曲线(或线段)进行去噪。在示例中,可以将曲线(或线段)的边界拟合到具有噪声点的区域,然后可以进行区域薄化。在示例中,可以应用诸如高斯核的多尺度分析。多尺度分析可以使用冲击探测器保留尖锐点,并输出曲线作为平滑弧和角的集合。在另一示例中,高斯平滑可以应用于通过局部分析估计的噪声,所述高斯平滑具有固定的n个数字,例如n=30个邻居。
阶梯移除可以减少阶梯伪影。阶梯伪影可以是在许多去噪任务中可以观察到的常见伪影,所述去噪任务例如一维信号去噪、二维图像去噪和视频去噪。图像去噪技术可以使图像信号的一个或多个区域变平,从而在图像信号中产生阶梯伪影。因此,阶梯伪影可能在图像信号的一个或多个区域中表现为在平滑变化的图像信号中不期望的假台阶或不期望的平坦区域。
为了基于来自每个全景图像的相应布局估计来生成场景的布局估计,例如图11中的步骤(1150)的示例,可以基于估计出的全景图像之间的相对位置,将在先前步骤(例如,步骤(1140))中导出的多边形转换到同一坐标系。在步骤(1140)之后,转换后的(或导出的)多变形可以被表示为poly0,poly1,...polyn。为了生成场景的布局估计,可以采用两个独立的过程来获得布局,该两个独立的过程为轮廓估计和内部边估计。
在轮廓估计中,可以确定布局估计的轮廓。轮廓估计可以利用多边形联合算法将转换后的多边形poly0,poly1,...polyn连接到一起作为基线多边形polybase。
然后基线多边形polybase可以被缩小以形成缩小的多边形polyshrunk。为了缩小基线多边形polybase,针对基线多边形polybase的每个边ei可以确定候选边E={e'i,e'i+2,...e'i}。可以从原始转换后的多边形poly0,poly1,...polyn中选择所述候选边E,并且所述候选边E满足以下条件中的至少一个:
(1)每个边e'i∈E与ei平行,以及
(2)e'i投影到ei的投影后的重叠百分比大于阈值,例如70%。通过将e'i投影到ei并且计算e'i的线段投影到ei的线段的部分比值来确定所述投影后的重叠百分比。
在候选边缘E={e'i,e'i+2,...e'i}中,更靠近原始视点位置(例如,原始全景图像中的边的位置)的候选边e'i可以用于替换ei。因此,当一个或多个候选边e'i更接近原始视点位置时,一个或多个边ei可以被对应的一个或多个候选边e'i替换。
在基线多边形polybase的形成中,转换后的多边形poly0,poly1,...polyn中的所有边在基线多边形polybase中被合并在一起,并且可能不考虑转换后的多边形的所有边。通过将基础多边形polybase投影到每个转换后的多边形中,一个或多个候选边e'i更接近原始视点位置时,一个或多个边ei可以被对应的一个或多个候选边e'i替换。因此,基础多边形中的边ei和转换后的多边形中的边可以在方向、大小、位置等方面匹配。
可以将基线多边形polybase中的每条边ei与对应的候选边e'i进行比较。基于候选边e'i是否更接近原始视点位置,可以保留或者替换相应的边缘。通过替换基线多边形polybase中的一个或多个边ei,可以形成缩小的多边形polyshrunk。
通过使用几何处理方法,例如,2D多边形去噪、阶梯移除等,可以基于缩小多边形来进一步获得最终多边形polyfinal。
内部边估计可以被配置为恢复最终多边形polyfinal的内部边。为了恢复内部边,可以将最终多边形polyfinal内部的转换后的多边形poly0,poly1,...polyn的所有边放入集合E'中。然后可以使用基于空间的边投票策略来聚类(或分组)这些边。例如,当最终多边形polyfinal中的两条边满足以下条件中的至少一个时,可以将这两条边分为一组:
(1)这两条边平行。
(2)这两个边之间的距离足够小,例如,小于第一阈值。
(3)这两个边之间的投影后重叠足够大,例如,大于第二阈值。
此外,如果一组边包含多于某个数量的边,则可以计算该组边的平均边来表示最终多边形polyfinal的恢复后的内部边。因此,该组边的平均边可以被添加到最终多边形polyfinal中作为恢复后的内部边。
基于估计出的多边形(例如,最终多边形polyfinal),可以使用各种表示来生成房间的3D形状(或曼哈顿布局)。
在实施例中,可以使用三角形网格来生成房间的3D形状。例如,房间的天花板面和地板面可以通过对最终多边形polyfinal进行三角化来生成。房间的墙面可以通过对天花板边界线和地板边界线所围成的矩形进行三角化来生成。基于光线投射的方法可以进一步应用于生成3D网格(或3D形状)的纹理。
在实施例中,通过对最终多边形polyfinal进行四边形化,可以使用四边形来表示房间的3D形状。
在实施例中,通过从三角形网格或四边形网格中采样点,点云可用于表示房间的3D形状来。可以通过对最终多边形polyfinal进行三角化来获得三角形网格。可以通过对最终多边形polyfinal进行四边形化来获得四边形网格。
在实施例中,可以通过体素化最终多边形polyfinal来生成房间的3D形状。因此,可以通过将3D模型(例如,最终多边形polyfinal)转换成体积数据(例如,房间的3D形状)来创建体素(或3D形状)。
在本公开中,提供一种用于估计场景(例如,房间)的曼哈顿布局的方法。可以使用与场景相关联的几何信息和语义分割信息,基于场景的多个全景图像来估计场景的曼哈顿布局。
在实施例中,主方向、线段和语义分割可以一起使用,以根据多个全景图像的单个全景图(或全景图像)来估计场景的布局。
在实施例中,全景图像的姿态信息(例如,角度或距离)可用于将每个全景图的布局组合成最终布局估计。
在实施例中,通过对最终多边形(例如,polyfinal)进行三角化,对最终多边形进行四边形化,基于最终多边形polyfinal生成点云,或对模型(例如,最终布局估计或最终多边形polyfinal)进行体素化,从而可以基于最终房间布局生成3D形状(或曼哈顿布局)。
在实施例中,可以通过线条检测方法来检测多个全景图中的线段。例如,如图11的步骤(1140)所示,语义分割可以将语义含义(例如,地板、门等)分配给全景图像的每个像素。语义分割的结果可用于确定全景图(或全景图像)的每个线段是否表示房间的墙壁边界。
在实施例中,全景图像的主要方向(例如,X和Z方向)可以通过分析全景图像内的线段的统计信息来获得。
在实施例中,全景图像的语义分割可以使用基于深度学习的语义分割技术来实现。例如,语义分割可以是深度学习算法,所述深度学习算法将标签或类别与图像(例如,场景的全景图像)中的每个像素相关联。
在实施例中,全景图像的全景姿态估计(例如,角度或距离)可以使用图像对准技术来实现。基于两个全景图像的对准,可以确定两个全景图像之间的相对角度或相对距离。
在实施例中,从场景的天花板到场景的地面的距离与从相机到地面的距离之间的比值可以使用分割信息来计算。
图12是根据本公开的一些实施例的用于图像处理的框架(1200)的图。框架(1200)包括视频编码器(1210)和视频解码器(1250)。视频编码器(1210)将诸如场景(例如,房间)的多个全景图像的输入编码成(1205)码流(1245),并且视频解码器(1250)对码流(1245)进行解码以生成重建后的3D形状(1295),例如,场景的曼哈顿布局。
视频编码器(1210)可以是任何合适的设备,例如计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、智能电话、游戏设备、AR设备、VR设备等。视频解码器(1250)可以是任何合适的设备,例如计算机、客户端计算机、台式计算机、膝上型计算机、平板计算机、智能电话、游戏设备、AR设备、VR设备等。码流(1245)可以经由任何合适的通信网络(未示出)从视频编码器(1210)传输到视频解码器(1250)。
在图12的示例中,视频编码器(1210)包括耦接到一起的分割模块(1220)、编码器(1230)和提取模块(1240)。分割模块(1220)被配置为将语义含义(例如,地板、门等)分配给与场景相关联的全景图像的每个像素。每个全景图像的语义信息可以通过码流(1225)传输到编码器(1230)。提取模块(1240)被配置为提取每个全景图像的几何信息。几何信息可以通过码流(1227)传输到编码器(1230)。编码器(1230)被配置成基于每个全景图像的几何信息和语义信息来生成场景的3D形状(或曼哈顿布局)。例如,编码器(1230)可以基于每个全景图像生成场景的相应布局估计(或多边形)。全景图像的布局估计可以被融合以形成最终布局估计(或最终多边形)。可以通过对最终多边形进行三角化、对最终多边形进行四边形化、基于最终多边形生成点云或体素化最终多边形来生成场景的3D形状。
在图12的示例中,码流(1245)被提供给视频解码器(1250)。视频解码器(1250)包括如图12所示耦合在一起在解码器(1260)和重建模块(1290)。在示例中,解码器(1260)对应于编码器(1230),并且可以解码由编码器(1230)编码的码流(1245)并生成解码信息(1265)。可以将解码信息(1265)进一步提供给重建模块(1290)。重建模块(1290)可相应地基于解码信息(1265)重建场景的3D形状(或曼哈顿布局)(1295)。
图13是根据本公开的实施例的概述过程(1300)的流程图。在各种实施例中,过程(1300)由处理电路执行。在一些实施例中,过程(1300)以软件指令实现,因此当处理电路执行软件指令时,处理电路执行过程(1300)。该处理从(S1301)开始并进行到(S1310)。
在(S1310)处,接收场景的多个二维(2D)图像。
在(S1320)处,确定多个2D图像中的每一个2D图像的几何信息和语义信息。所述几何信息指示相应的2D图像中的检测到的线条和参考方向。所述语义信息包括相应2D图像中的像素的分类信息。
在(S1330)处,基于相应2D图像的几何信息和语义信息,确定与场景的相应2D图像相关联的布局估计。
在(S1340)处,基于与所述场景的多个2D图像相关联的多个所确定的布局估计,来确定与场景相关联的组合布局估计。
在(S1350)处,基于组合布局估计生成与场景相关联的曼哈顿布局。所述曼哈顿布局包括场景的至少三维(3D)形状,所述三维(3D)形状包括彼此正交的墙面。
为了确定几何信息和语义信息,可以提取多个2D图像中的第一2D图像的第一几何信息。所述第一几何信息可以包括以下至少一个:检测到的线条、所述第一2D图像的参考方向、从天花板到地面的第一距离与从相机到地面的第二距离之间的比值、或者多个2D图像的第一2D图像和第二2D图像之间的相对姿态(例如,角度或距离)。所述第一2D图像的像素可以被标记以生成第一语义信息,其中,所述第一语义信息可以指示第一2D图像中的像素的第一结构信息。
为了确定与场景的相应2D图像相关联的布局估计,可以基于所述第一2D图像的第一几何信息和第一语义信息来确定与场景相关联的多个所确定的布局估计中的第一布局估计。为了确定第一布局估计,可以确定每个检测到的线条是否是对应于场景中的墙边界的边界线。检测到的线条的边界线可以与第一2D图像的参考方向对齐。可以使用2D多边形去噪或阶梯移除之一,基于对齐后边界线来生成指示第一布局估计的第一多边形。
为了生成第一多边形,可以基于以下之一来使得边界线中的多个不完整边界线完整:(i)基于边界线中的天花板边界线和地板边界线的组合来估计多个不完整边界线,以及(ii)连接多个不完整边界线中的不完整边界线对。所述不完整边界线对可以基于以下之一来连接:(i)响应于所述不完整边界线对是平行的,向所述不完全边界线对添加垂直线,以及(ii)延伸所述不完整边界线对中的至少一条,使得所述不完整边界线对的交点位于所延伸的不完整边界线对上。
为了确定与场景相关联的组合布局估计,可以通过经由多边形联合算法组合多个多边形来确定基础多边形。多个多边形中的每一个多边形可以对应于多个所确定的布局估计中的相应布局估计。可以基于基础多边形来确定缩小多边形。所述缩小多边形包括基于基础多边形的边进行更新得到的更新后的边。通过使用二维多边形去噪或阶梯移除之一,可以基于缩小多边形来确定最终多边形。最终多边形可以对应于与场景相关联的组合布局估计。
为了确定缩小多边形,针对基础多边形的边,可以基于多个多边形,确定多个候选边。所述多个候选边中的每一个候选边可以对应于基础多边形的相应边。响应于所述一个或多个候选边相对于所述基础多边形的相应的一个或多个边更接近所述多个2D图像中的原始视点位置,可以通过用相应的一个或多个候选边来替换所述基础多边形的一个或多个边,从而生成所述缩小多边形更新后的边。
在一些实施例中,多个候选边中的每一个候选边可以平行于基础多边形的相应边。候选边和基础多边形的相应边之间的投影重叠部分可以大于阈值。
为了确定与场景相关联的组合布局估计,可以确定包括最终多边形的边的边集合。基于所述边集合,可以生成多个边组合。可以生成最终多边形的多个内部边。所述多个内部边可以由边集合中的一个或多个边组合的多个平均边来指示。所述多个边组合中的每一个边组合可以包括大于目标值的相应数量的边。通过对一个或多个边组合中的相应一个边组合的边进行平均化,可以获得多个平均边中的每一个平均边。
在一些实施例中,所述多个边组合可以包括第一边组合。所述第一边组合还可以包括第一边和第二边。所述第一边和所述第二边可以相互平行。所述第一边和所述第二边之间的距离可以小于第一阈值。所述第一边和所述第二边之间的投影重叠区域可以大于第二阈值。
为了生成与场景相关联的曼哈顿布局,可以基于以下之一来生成与场景相关联的曼哈顿布局:根据组合布局估计进行三角化的三角形网格、根据组合布局估计进行四边形化的四边形网格、对三角形网格和四边形网格之一中进行采样而得到的采样点、或者经由体素化根据三角形网格和四边形网格之一生成的离散网格。
在一些实施例中,基于根据组合布局估计进行三角化的三角形网格来生成与场景相关联的曼哈顿布局。因此,为了生成与场景相关联的曼哈顿布局,可以通过对组合布局估计进行三角化来生成场景中的天花板面和地板面。场景中的墙面可以通过对场景中的天花板边界线和地板边界线所围成的矩形进行三角化来生成。与场景相关联的曼哈顿布局的纹理可以通过基于光线投射处理来生成。
可以将上述技术实现为计算机软件,该计算机软件使用计算机可读指令,并且物理存储在一个或多个计算机可读介质中。例如,图14示出适合于实施所公开的主题的某些实施例的计算机系统(1400)。
可以使用任何合适的机器代码或计算机语言来对计算机软件进行编码,任何合适的机器代码或计算机语言可以经过汇编、编译、链接或类似的机制以创建包括指令的代码,该指令可以由一个或多个计算机中央处理单元(CPU)、图形处理单元(GPU)等直接执行或通过解释、微代码等执行。
指令可以在各种类型的计算机或其组件上执行,例如包括个人计算机、平板计算机、服务器、智能电话、游戏装置、物联网装置等。
图14所示的计算机系统(1400)的组件本质上是示例性的,并且不旨在对实施本公开的实施例的计算机软件的使用范围或功能提出任何限制。组件的配置也不应被解释为具有与计算机系统(1400)的示例性实施例中所示的组件中的任何一个组件或组件的组合有关的任何依赖性或要求。
计算机系统(1400)可以包括某些人机接口输入装置。此类人机接口输入装置可以响应于一个或多个人类用户例如通过下述的输入:触觉输入(例如:击键、划动,数据手套移动)、音频输入(例如:语音、拍手)、视觉输入(例如:手势)、嗅觉输入(未描绘出)。人机接口装置还可以用于捕获不一定与人的意识输入直接相关的某些媒体,例如音频(例如:语音、音乐、环境声音)、图像(例如:扫描的图像、从静止图像摄像头获取摄影图像)、视频(例如二维视频、包括立体视频的三维视频)等。
输入人机接口装置可以包括下述中的一项或多项(每种中仅示出一个):键盘(1401)、鼠标(1402)、触控板(1403)、触摸屏(1410)、数据手套(未示出)、操纵杆(1405)、麦克风(1406)、扫描仪(1407)、相机(1408)。
计算机系统(1400)也可以包括某些人机接口输出装置。这样的人机接口输出装置可以例如通过触觉输出、声音、光和气味/味道来刺激一个或多个人类用户的感官。此类人机接口输出装置可以包括触觉输出装置(例如触摸屏(1410)的触觉反馈、数据手套(未示出)或操纵杆(1405),但是也可以是不作为输入设备的触觉反馈装置)、音频输出装置(例如:扬声器(1409)、耳机(未示出))、视觉输出装置(例如包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕的屏幕(1410),每种屏幕有或没有触摸屏输入功能,每种屏幕都有或没有触觉反馈功能,其中的一些屏幕能够通过诸如立体图像输出之类的装置、虚拟现实眼镜(未示出)、全息显示器和烟箱(未示出)以及打印机(未示出)来输出二维视觉输出或超过三维输出。
计算机系统(1400)也可以包括人类可访问存储装置及其关联介质,例如包括具有CD/DVD等介质(1421)的CD/DVD ROM/RW(1420)的光学介质、指状驱动器(1422)、可拆卸硬盘驱动器或固态驱动器(1423)、诸如磁带和软盘之类的传统磁性介质(未示出)、诸如安全软件狗之类的基于专用ROM/ASIC/PLD的装置(未示出)等。
本领域技术人员还应该理解,结合当前公开的主题使用的术语“计算机可读介质”不涵盖传输介质、载波或其他瞬时信号。
计算机系统(1400)还可以包括到一个或多个通信网络(1455)的接口(1454)。网络可以例如是无线网络、有线网络、光网络。网络可以进一步地是本地网络、广域网络、城域网络、车辆和工业网络、实时网络、耐延迟网络等。网络的示例包括诸如以太网之类的局域网、无线LAN、包括GSM、3G、4G、5G、LTE等的蜂窝网络、包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络、包括CANBus的车辆和工业用电视等等。某些网络通常需要连接到某些通用数据端口或外围总线(1449)的外部网络接口适配器(例如计算机系统(1400)的USB端口)。如下所述,其他网络接口通常通过连接到系统总线而集成到计算机系统(1400)的内核中(例如,连接PC计算机系统中的以太网接口或连接到智能手机计算机系统中的蜂窝网络接口)。计算机系统(1400)可以使用这些网络中的任何一个与其他实体通信。此类通信可以是仅单向接收的(例如,广播电视)、仅单向发送的(例如,连接到某些CANbus装置的CANbus)或双向的,例如,使用局域网或广域网数字网络连接到其他计算机系统。如上所述,可以在那些网络和网络接口的每一个上使用某些协议和协议栈。
上述人机接口装置、人类可访问的存储装置和网络接口可以附接到计算机系统(1400)的内核(1440)。
内核(1440)可以包括一个或多个中央处理单元(CPU)(1441)、图形处理单元(GPU)(1442)、现场可编程门阵列(FPGA)(1443)形式的专用可编程处理单元、用于某些任务的硬件加速器(ACCL)(1444)、图形适配器(1450)等。这些装置以及只读存储器(ROM)(1445)、随机存取存储器(1446)、诸如内部非用户可访问的硬盘驱动器、SSD等之类的内部大容量存储器(1447)可以通过系统总线(1448)连接。在一些计算机系统中,可以以一个或多个物理插头的形式访问系统总线(1448),以能够通过附加的CPU、GPU等进行扩展。外围装置可以直接连接到内核的系统总线(1448)或通过外围总线(1449)连接到内核的系统总线。在一个示例中,屏幕(1410)可以连接到图形适配器(1450)。外围总线的体系结构包括PCI、USB等。
CPU(1441)、GPU(1442)、FPGA(1443)和加速器(1444)可以执行某些指令,这些指令可以组合来构成上述计算机代码。该计算机代码可以存储在ROM(1445)或RAM(1446)中。过渡数据也可以存储在RAM(1446)中,而永久数据可以例如存储在内部大容量存储器(1447)中。可以通过使用高速缓存来进行到任何存储装置的快速存储及检索,该高速缓存可以与下述紧密关联:一个或多个CPU(1441)、GPU(1442)、大容量存储(1447)、ROM(1445)、RAM(1446)等。
计算机可读介质可以在其上具有用于执行各种由计算机实现的操作的计算机代码。介质和计算机代码可以是出于本公开的目的而专门设计和构造的介质和计算机代码,或者介质和计算机代码可以是计算机软件领域的技术人员公知且可用的类型。
作为非限制性示例,由于一个或多个处理器(包括CPU、GPU、FPGA、加速器等)执行包含在一种或多种有形的计算机可读介质中的软件,使得具有架构(1400),特别是内核(1440)的计算机系统提供功能。此类计算机可读介质可以是与如上所述的用户可访问的大容量存储相关联的介质,以及某些非暂时性的内核(1440)的存储器,例如内核内部大容量存储器(1447)或ROM(1445)。可以将实施本公开的各种实施例的软件存储在此类装置中并由内核(1440)执行。根据特定需要,计算机可读介质可以包括一个或多个存储装置或芯片。软件可以引起内核(1440),特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文所描述的特定过程或特定过程的特定部分,包括定义存储在RAM(1446)中的数据结构以及根据由软件定义的过程来修改此类数据结构。附加地或替换地,由于硬连线或以其他方式体现在电路(例如,加速器(1444))中的逻辑中,使得计算机系统提供功能,该电路可以替换软件或与软件一起运行以执行本文描述的特定过程或特定过程的特定部分。在适当的情况下,提及软件的部分可以包含逻辑,反之亦然。在适当的情况下,提及计算机可读介质的部分可以包括存储用于执行的软件的电路(例如集成电路(IC))、体现用于执行的逻辑的电路或两者都包括。本公开包括硬件和软件的任何合适的组合。
尽管本公开已经描述了多个示例性实施例,但是存在落入本公开的范围内的修改、置换和各种替换等效物。因此,应当理解,本领域技术人员将能够设计出许多虽然未在本文中明确示出或描述,但其体现了本公开的原理,因此落入本公开的其精神和范围内的系统和方法。
Claims (20)
1.一种用于估计与场景相关联的曼哈顿布局的方法,其特征在于,所述方法包括:
接收场景的多个二维(2D)图像;
确定所述多个2D图像中的每一个2D图像的几何信息和语义信息,其中,所述几何信息指示检测到的所述相应2D图像中的线条和参考方向,所述语义信息包括所述相应2D图像中的像素的分类信息;
基于所述相应2D图像的所述几何信息和所述语义信息,确定与所述场景的相应2D图像相关联的布局估计;
基于所确定的与所述场景的所述多个2D图像相关联的多个布局估计,确定与所述场景相关联的组合布局估计;以及
基于所述组合布局估计生成与所述场景相关联的所述曼哈顿布局,其中,所述曼哈顿布局包括所述场景的至少三维(3D)形状,所述三维(3D)形状包括彼此正交的墙面。
2.根据权利要求1所述的方法,其特征在于,确定所述几何信息和所述语义信息还包括:
提取所述多个2D图像中的第一2D图像的第一几何信息,其中,所述第一几何信息包括以下至少一个:检测到的线条、所述第一2D图像的参考方向、从天花板到地面的第一距离与从相机到所述地面的第二距离之间的比值、或者所述多个2D图像中的所述第一2D图像和第二2D图像之间的相对姿态;以及
标记所述第一2D图像的像素以生成第一语义信息,其中,所述第一语义信息指示所述第一2D图像中的像素的第一结构信息。
3.根据权利要求2所述的方法,其特征在于,确定与所述场景的相应2D图像相关联的布局估计还包括:
基于所述第一2D图像的所述第一几何信息和所述第一语义信息,确定所确定的与所述场景相关联的所述多个布局估计中的第一布局估计;以及
确定所述第一布局估计还包括:
确定所述检测到的线条中的每一条线条是否是对应于所述场景中的墙壁边界的边界线;
将所述检测到的线条的边界线与所述第一2D图像的所述参考方向对齐;以及
使用2D多边形去噪或阶梯移除之一,基于所述对齐后的边界线来生成指示所述第一布局估计的第一多边形。
4.根据权利要求3所述的方法,其特征在于,所述生成第一多边形还包括:基于以下之一来使得所述边界线中的多个不完整边界线完整:
基于所述边界线中的天花板边界线和地板边界线的组合来估计所述多个不完整边界线;以及
基于以下之一来连接多个不完整边界线中的不完整边界线对:(i)响应于所述不完整边界线对是平行的,向所述不完整边界线对添加垂直线,以及(ii)延伸所述不完整边界线对中的至少一条,使得所述不完整边界线对的交点位于延伸后的不完整边界线对上。
5.根据权利要求3所述的方法,其特征在于,所述确定与所述场景相关联的组合布局估计还包括:
通过经由多边形联合算法组合多个多边形来确定基础多边形,其中,所述多个多边形中的每一个多边形对应于所述确定的多个布局估计中的相应布局估计;
基于所述基础多边形来确定缩小多边形,其中,所述缩小多边形包括基于所述基础多边形的边进行更新得到的更新后的边;以及
通过使用所述2D多边形去噪或所述阶梯移除之一,基于所述缩小多边形来确定最终多边形,其中,所述最终多边形对应于与所述场景相关联的所述组合布局估计。
6.根据权利要求5所述的方法,其特征在于,所述确定所述缩小多边形还包括:
针对所述基础多边形的所述边,基于所述多个多边形确定多个候选边,其中,所述多个候选边中的每一个候选边对应于所述基础多边形的相应边;以及
响应于所述一个或多个候选边相比于所述基础多边形相应的一个或多个边更接近所述多个2D图像中的原始视点位置,用相应的所述一个或多个候选边替换所述基础多边形的一个或多个边来生成所述缩小多边形的所述更新后的边。
7.根据权利要求6所述的方法,其特征在于,
所述多个候选边中的每一个候选边平行于所述基础多边形的相应边,以及
所述候选边和所述基础多边形的相应边之间的投影重叠部分大于阈值。
8.如权利要求5所述的方法,其中,所述确定与所述场景相关联的所述组合布局估计还包括:
确定包括所述最终多边形的边的边集合;
基于所述边集合来生成多个边组合;以及
生成所述最终多边形的多个内部边,其中,所述最终多边形由所述边集合的一个或多个边组合的多个平均边来指示,所述多个边组合的所述一个或多个边组合中的每一个边组合包括相应数量的边,所述数量大于目标值,通过对一个或多个边组合中的相应边组合的边取平均值来获得多个平均边中的每一个平均边。
9.根据权利要求8所述的方法,其特征在于,
所述多个边组合包括第一边组合,以及
所述第一边组合还包括第一边和第二边,其中,所述第一边和所述第二边平行,所述第一边和所述第二边之间的距离小于第一阈值,所述第一边和所述第二边之间的投影重叠区域大于第二阈值。
10.根据权利要求1所述的方法,其特征在于,生成与所述场景相关联的所述曼哈顿布局还包括:
基于以下之一来生成与所述场景相关联的曼哈顿布局:根据所述组合布局估计进行三角化的三角形网格、根据所述组合布局估计进行四边形化的四边形网格、对所述三角形网格和所述四边形网格之一进行采样而得到的采样点、或者经由体素化根据所述三角形网格和所述四边形网格之一生成的离散网格。
11.根据权利要求10所述的方法,其特征在于,
根据所述组合布局估计进行三角化的三角形网格,生成与所述场景相关联的所述曼哈顿布局,以及
所述生成与所述场景相关联的所述曼哈顿布局还包括:
通过对所述组合布局估计进行三角化来生成所述场景中的天花板面和地板面;
通过对所述场景中的天花板边界线和地板边界线所围成的矩形进行三角化来生成所述场景中的所述墙面;以及
通过基于光线投射的处理来生成与所述场景相关联的所述曼哈顿布局的纹理。
12.一种用于估计与场景相关联的曼哈顿布局的设备,其特征在于,包括:
处理电路,被配置为:
接收场景的多个二维(2D)图像;
确定所述多个2D图像中的每一个2D图像的几何信息和语义信息,其中,所述几何信息指示检测到的所述相应2D图像中的线条和参考方向,所述语义信息包括所述相应2D图像中的像素的分类信息;
基于所述相应2D图像的所述几何信息和所述语义信息,确定与所述场景的相应2D图像相关联的布局估计;
基于所确定的与所述场景的所述多个2D图像相关联的多个布局估计,确定与所述场景相关联的组合布局估计;以及
基于所述组合布局估计生成与所述场景相关联的所述曼哈顿布局,其中,所述曼哈顿布局包括所述场景的至少三维(3D)形状,所述三维(3D)形状包括彼此正交的墙面。
13.根据权利要求12所述的设备,其特征在于,所述处理电路被配置为:
提取所述多个2D图像中的第一2D图像的第一几何信息,其中,所述第一几何信息包括以下至少一个:检测到的线条、所述第一2D图像的参考方向、从天花板到地面的第一距离与从相机到所述地面的第二距离之间的比值、或者所述多个2D图像中的所述第一2D图像和第二2D图像之间的相对姿态;以及
标记所述第一2D图像的像素以生成第一语义信息,其中,所述第一语义信息指示所述第一2D图像中的像素的第一结构信息。
14.根据权利要求13所述的设备,其特征在于,所述处理电路被配置为:
基于所述第一2D图像的所述第一几何信息和所述第一语义信息,确定所确定的与所述场景相关联的所述多个布局估计中的第一布局估计;以及
为确定所述第一布局估计,所述处理电路还被配置为:
确定所述检测到的线条中的每一个线条是否是对应于所述场景中的墙壁边界的边界线;
将所述检测到的线条的边界线与第一2D图像的所述参考方向对齐;以及
使用2D多边形去噪或阶梯移除之一,基于所述对齐后的边界线来生成指示所述第一布局估计的第一多边形。
15.根据权利要求14所述的设备,其特征在于,所述处理电路被配置为:
基于以下之一来使得所述边界线中的多个不完整边界线完整:
基于所述边界线中的天花板边界线和地板边界线的组合来估计所述多个不完整边界线;以及
基于以下之一来连接多个不完整边界线中的不完整边界线对:(i)响应于所述不完整边界线对是平行的,向所述不完整边界线对添加垂直线,以及(ii)延伸所述不完整边界线对中的至少一条,使得所述不完整边界线对的交点位于所述延伸后的不完整边界线对上。
16.根据权利要求14所述的设备,其特征在于,所述处理电路被配置为:
通过经由多边形联合算法组合多个多边形来确定基础多边形,其中,所述多个多边形中的每一个多边形对应于所述确定的多个布局估计中的相应布局估计;
基于所述基础多边形来确定缩小多边形,其中,所述缩小多边形包括基于所述基础多边形的边进行更新得到的更新后的边;以及
通过使用所述2D多边形去噪或所述阶梯移除之一,基于所述缩小多边形来确定最终多边形,其中,所述最终多边形对应于与所述场景相关联的所述组合布局估计。
17.根据权利要求16所述的设备,其特征在于,所述处理电路被配置为:
针对所述基础多边形的所述边,基于所述多个多边形确定多个候选边,其中,所述多个候选边中的每一个候选边对应于所述基础多边形的相应边;以及
响应于所述一个或多个候选边相比于所述基础多边形相应的一个或多个边更接近所述多个2D图像中的原始视点位置,用相应的所述一个或多个候选边替换所述基础多边形的所述一个或多个边,从而生成所述缩小多边形的所述更新后的边。
18.根据权利要求17所述的设备,其特征在于,
所述多个候选边中的每一个候选边平行于所述基础多边形的相应边,以及
所述候选边和所述基础多边形的相应边之间的投影重叠部分大于阈值。
19.根据权利要求16所述的设备,其特征在于,所述处理电路被配置为:
确定包括所述最终多边形的边的边集合;
基于所述边集合来生成多个边组合;以及
生成所述最终多边形的多个内部边,其中,所述最终多边形由所述边集合的一个或多个边组合的多个平均边来指示,所述多个边组合的所述一个或多个边组合中的每一个边组合包括相应数量的边,所述数量大于目标值,通过对一个或多个边组合中的相应边组合的边取平均值来获得多个平均边中的每一个平均边。
20.根据权利要求19所述的设备,其特征在于,
所述多个边组合包括第一边组合,以及
所述第一边组合还包括第一边和第二边,其中,所述第一边和所述第二边平行,所述第一边和所述第二边之间的距离小于第一阈值,所述第一边和所述第二边之间的投影重叠区域大于第二阈值。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263306001P | 2022-02-02 | 2022-02-02 | |
US63/306,001 | 2022-02-02 | ||
US17/981,156 US20230245390A1 (en) | 2022-02-02 | 2022-11-04 | Manhattan layout estimation using geometric and semantic information |
US17/981,156 | 2022-11-04 | ||
PCT/US2022/079437 WO2023149969A1 (en) | 2022-02-02 | 2022-11-08 | Manhattan layout estimation using geometric and semantic |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117242480A true CN117242480A (zh) | 2023-12-15 |
Family
ID=87432380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280012631.8A Pending CN117242480A (zh) | 2022-02-02 | 2022-11-08 | 使用几何信息和语义信息的曼哈顿布局估计 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230245390A1 (zh) |
JP (1) | JP2024513815A (zh) |
KR (1) | KR20230148257A (zh) |
CN (1) | CN117242480A (zh) |
WO (1) | WO2023149969A1 (zh) |
Families Citing this family (1)
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 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6052124A (en) * | 1997-02-03 | 2000-04-18 | Yissum Research Development Company | System and method for directly estimating three-dimensional structure of objects in a scene and camera motion from three two-dimensional views of the scene |
US9595134B2 (en) * | 2013-05-11 | 2017-03-14 | Mitsubishi Electric Research Laboratories, Inc. | Method for reconstructing 3D scenes from 2D images |
US20150199573A1 (en) * | 2014-01-10 | 2015-07-16 | Mitsubishi Electric Research Laboratories, Inc. | Global Scene Descriptors for Matching Manhattan Scenes using Edge Maps Associated with Vanishing Points |
-
2022
- 2022-11-04 US US17/981,156 patent/US20230245390A1/en active Pending
- 2022-11-08 JP JP2023560170A patent/JP2024513815A/ja active Pending
- 2022-11-08 CN CN202280012631.8A patent/CN117242480A/zh active Pending
- 2022-11-08 WO PCT/US2022/079437 patent/WO2023149969A1/en active Application Filing
- 2022-11-08 KR KR1020237033278A patent/KR20230148257A/ko active Search and Examination
Also Published As
Publication number | Publication date |
---|---|
WO2023149969A1 (en) | 2023-08-10 |
KR20230148257A (ko) | 2023-10-24 |
US20230245390A1 (en) | 2023-08-03 |
JP2024513815A (ja) | 2024-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116997935A (zh) | 用于网格压缩的块压缩 | |
CN116569217A (zh) | 用于对由编码器进行的网格压缩进行自适应采样的方法和装置 | |
US20230245390A1 (en) | Manhattan layout estimation using geometric and semantic information | |
JP7476432B2 (ja) | メッシュ復元のための方法、装置及びコンピュータプログラム | |
US20230162404A1 (en) | Decoding of patch temporal alignment for mesh compression | |
US20230298216A1 (en) | Predictive coding of boundary geometry information for mesh compression | |
US20230196663A1 (en) | Checking overlapping-free property for patches in mesh compression | |
US11967025B2 (en) | Detection of boundary loops in non-manifold meshes | |
US11924434B2 (en) | 2D atlas adaptive sampling in 3D mesh compression | |
US20230162403A1 (en) | Encoding of patch temporal alignment for mesh compression | |
US20230306645A1 (en) | Convolutional Approach to Fast and Compact Packing of 3D Mesh Into 2D Maps | |
US20230074762A1 (en) | Vertex reordering for mesh compression | |
US20230177738A1 (en) | Dynamic mesh compression based on point cloud compression | |
CN116635904A (zh) | 用于动态网格压缩的方法和装置 | |
CN116368523A (zh) | Uv坐标编码 | |
JP2024509988A (ja) | チャートベースのメッシュ圧縮の方法、装置およびコンピュータプログラム | |
CN116711305A (zh) | 用于解码器执行网格压缩的自适应采样方法和装置 | |
CN117461054A (zh) | 具有推导的纹理坐标的网格压缩 | |
CN117083636A (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 |