CN113272865B - 具有实时3d可视化的点云着色系统 - Google Patents

具有实时3d可视化的点云着色系统 Download PDF

Info

Publication number
CN113272865B
CN113272865B CN202080007852.7A CN202080007852A CN113272865B CN 113272865 B CN113272865 B CN 113272865B CN 202080007852 A CN202080007852 A CN 202080007852A CN 113272865 B CN113272865 B CN 113272865B
Authority
CN
China
Prior art keywords
point
color
point cloud
region
view
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.)
Active
Application number
CN202080007852.7A
Other languages
English (en)
Other versions
CN113272865A (zh
Inventor
T·安德伯格
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.)
Sony Group Corp
Sony Pictures Entertainment Inc
Original Assignee
Sony Group Corp
Sony Pictures Entertainment Inc
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 Sony Group Corp, Sony Pictures Entertainment Inc filed Critical Sony Group Corp
Publication of CN113272865A publication Critical patent/CN113272865A/zh
Application granted granted Critical
Publication of CN113272865B publication Critical patent/CN113272865B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • 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/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

一种能够在3D点云上进行着色和颜色调整的系统。例如利用等量矩形投影,将点云投影到2D视图上。用户可以对2D视图上的区域着色,并且在点云的3D视图中即时预览更改,而不需要点云数据的耗时更新。由于任何2D投影都引入失真,因此3D预览对于用户观察颜色更改对点云的影响非常重要。例如,实施例可以通过测试点的2D投影是否在着色区域内来渲染点云中的每个点的颜色。或者,区域可以被分成三角形,并且GPU可以渲染纹理图像,并使用该纹理来渲染3D视图。应用可以包括使用点云和颜色调整后的影像来生成彩色3D虚拟现实环境。

Description

具有实时3D可视化的点云着色系统
技术领域
本发明的一个或多个实施例涉及计算机图形学和虚拟现实的领域。更具体地,但不作为限制,本发明的一个或多个实施例使具有实时3D可视化的点云着色系统成为可能。
背景技术
从点云数据构建环境的3D模型的系统在本领域中是已知的。然而,诸如LIDAR系统之类的3D扫描仪通常只捕捉表面几何信息,可能还有灰度强度;它们不捕捉颜色。逼真的3D环境的构建需要用例如来自彩色2D照片的颜色信息来增强3D点云。例如为了校正照片中的照明条件变化,或者为了艺术效果,颜色可能需要手动调节。
用于对点云着色的现有系统从2D视图进行颜色调整(例如中的颜色调整),然后通过批处理将颜色烘焙到3D点云上,这可能很耗时。将颜色烘焙到点云上将颜色值附加到点云中的每个点。由于点云可能包含数百万或数十亿个点,因此更新云中每个点的颜色可能需要几分钟或几小时。在3D点云被更新之后,用户可以检查3D云,以确保(2D中的)颜色选择与3D点云中的期望对象、结构或边界对齐。由于在3D点云与2D视图之间的映射中发生的扭曲,用户可能难以在2D视图中选择适当的区域来对3D点云进行所需的颜色更改。于是,通常需要这些颜色更改的多次迭代。每次迭代需要在2D中进行颜色更改,等待可能很耗时地将这些更改烘焙到3D中,和检查3D中的更改。不存在提供简单的方法来手动调整应用于3D点云的2D图像中的颜色,并且实时或几乎实时地预览这些更改在3D中的效果的已知系统。
提供在2D中进行的颜色更改在3D点云中的实时预览的系统将显著提高颜色调整过程的效率。
至少由于上述限制,需要具有实时3D可视化的点云着色系统。
发明内容
说明书中描述的一个或多个实施例涉及具有实时3D可视化的点云着色系统。通过在点云的2D投影上进行绘制,可以用颜色信息增强3D点云数据;所得到的着色的3D点可以在3D视图中预览。3D预览可以是实时或几乎实时可用的,提高了着色过程的效率。
一个或多个实施例包括或使用可以包含例如一个或多个处理器、存储器和显示器的计算系统。所述一个或多个处理器可以包括CPU、GPU或它们的组合。所述处理器可以获得3D点云并在所述显示器上显示点云的3D视图窗口。从其观察3D点云的视点可以由系统的用户修改。所述处理器可以将3D点云投影到2D平面上,以形成也显示在所述显示器上的2D视图窗口。所述投影可以关联点云的每个3D点与2D中的对应投影点。用户可以在2D视图上绘制区域并将颜色应用于该区域。然后,所述处理器可以更新3D视图窗口,以显示与该颜色的区域对应的3D点。当3D点具有位于该区域内的对应投影点时,并且当该3D点从用户选择的视点可见时,则该3D点可以用该区域的颜色显示。可以在不更新点云,以使颜色与对应于该区域的每个3D点关联的情况下更新3D视图窗口。于是,即使对于大型点云,对3D视图的更新也可以实时地或接近实时地发生;例如,在一个或多个实施例中生成更新的3D视图的典型延迟可以在毫秒量级。
在一个或多个实施例中,3D点云到2D平面的投影可以是等量矩形投影。在一个或多个实施例中,投影可以包括缩放变换,或者可以跟随以缩放变换,以拉伸或收缩投影点云的2D尺寸。例如,缩放可以用于使投影点云填充整个2D窗口。缩放变换可以使点云的水平范围和2D视图窗口的水平宽度匹配,并且可以使点云的垂直范围和2D视图窗口的垂直高度匹配。
一个或多个实施例还可以过滤2D视图窗口,例如以消除或减少不存在来自点云的投影点的像素中的伪影。为了将像素颜色分配给这些像素,过滤器可以使用相邻像素的颜色。例如,在一个或多个实施例中可以使用平均卷积过滤器。
在一个或多个实施例中,所述处理器可以包括CPU和GPU两者。CPU可以将用户在2D视图中选择的区域和颜色传送给GPU,GPU可以产成3D视图窗口。GPU可以将与投影到2D区域中的3D点对应的像素的颜色设定为用户选择的颜色。
在一个或多个实施例中,用户选择的区域可以是多边形,并且所述处理器可以使用点在多边形内测试(point-inside-polygon test)来确定投影点是否在该区域内。
在一个或多个实施例中,用户可以向区域分配多种颜色。例如,这些颜色可以在该区域内混合。所述处理器可以将颜色的混合色分配给2D区域中的每个像素,以及3D视图中与2D区域中的投影点对应的每个可见的3D点。对于单色区域,可以在不更新3D点云,以使混合的颜色与3D点关联的情况下更新3D视图。当混合色区域是三角形时,由用户分配的颜色例如可以对应于每个三角形顶点的顶点颜色。三角形内的点的颜色可以是顶点颜色的加权组合,权重对应于每个点的重心坐标。
在一个或多个实施例中,处理器可以从2D视图窗口生成纹理图像,纹理图像中的区块(area)对应于用户选择的区域。纹理图像中的该区块可以被分配所述区域的颜色。3D视图中的与在用户所选区域中具有投影点的一个或多个3D点对应的每个像素可以基于纹理图像和投影点的纹理坐标来着色。对于多边形区域,CPU可以将该区域分成三角形,并将每个三角形的顶点和颜色传送给GPU,以用于纹理图像的渲染。
附图说明
本专利或申请文件包含至少一个彩色附图。带有彩色附图的本专利或专利申请出版物的副本将由官方应请求并支付必要的费用后提供。
根据结合以下附图给出的本发明的以下更详细描述,本发明的上述及其他方面、特征和优点将更加明显,附图中:
图1表示本发明的处理来自房间的点云数据,并显示该点云的2D视图和3D视图的实施例。
图2继续图1中所示的例子,图解说明在点云的2D视图上涂色,并在3D视图中预览这些颜色更改。
图3表示使用全景投影将3D点云投影到2D视图上的例证方法。
图3A表示重新缩放投影的3D点云,使得投影的云充满整个360°×180°图像的例证方法。
图3B表示过滤2D图像,以去除当点云中没有点对应于2D像素时可能发生的伪影的例证方法。
图4A表示观察点云着色的现有技术方法,该方法包括将颜色烘焙到点云上,然后进行渲染;该过程可能是迭代的并且耗时。
图4B表示用于结合点云几何数据和来自用户对2D视图的修改的颜色数据,以使用GPU实时渲染着色的3D预览的例证体系结构。
图5表示可以在一个或多个实施例中使用的,通过测试某个点是否在2D视图中的着色区域内来确定像素的颜色的例证方法。
图6表示可以在一个或多个实施例中使用的,通过将着色的2D区域分成三角形,并将顶点颜色传递给GPU以用于纹理图像的渲染,对像素进行着色的不同方法。
图7表示通过在三角形顶点之间内插颜色而对区域应用颜色渐变的例子。
图8表示从办公室环境捕捉的,并通过等量矩形投影变换成2D视图的点云的例子。
图9表示图8的点云,其中一个区域在2D视图中着色,并在3D视图中预览。
图10表示对图8的点云着色的另一个例子,图解说明了2D中的多边形区域在3D视图中可能会显著变形。
图11表示将照片应用于点云,并修改照片的一部分的颜色的例子。
图12表示在区域或区域的一部分中混合颜色的例子,它例如可以用于在区域的边缘处创建软衰减(soft fall off)区域。
具体实施方式
现在说明具有实时3D可视化的点云着色系统。在以下的例证说明中,为了提供对本发明的实施例的更透彻理解,陈述了许多具体细节。然而,对本领域的普通技术人员来说,显然可以在不结合本文中所描述的具体细节的所有方面的情况下实践本发明。在其他情况下,为了不模糊本发明,没有详细描述本领域普通技术人员公知的具体特征、数量或测量。读者应当注意的是,尽管在本文中陈述了本发明的例子,不过本发明的边界和界限由权利要求书以及任何等同物的全部范围限定。
图1表示本发明的获得3D点云数据,并在2D视图和3D视图中显示该数据的实施例。场景101可以用例如LIDAR或类似的3D扫描仪105扫描。一个或多个实施例可以获得和使用从任何类型的扫描仪或任何来源,包括但不限于LIDAR扫描获得的点云数据。为了便于说明,例证场景101只具有3个对象:天花板102、前壁103和左壁104。由本发明的实施例处理的真实场景可以具有任何程度的细节和复杂性。场景例如可以包括例如但不限于房间、建筑物、场馆、大厅、影院、市场、商店、自然场景、街道、城市或乡村。在一个或多个实施例中,场景可以完全或部分是人工生成的。
扫描仪105生成3D点云数据110。在一个或多个实施例中,可以获得和处理任何格式的点云数据。点云中的每个点可以与3D位置关联。一些点云可以包括附加数据,比如亮度强度或者由扫描仪105获得或从其他来源添加的其他属性。实施例可以直接以点云110为工作对象,或者在一个或多个实施例中,点云数据可以被变换成其他格式,比如网格。3D点云110被传送给计算机120,计算机120可以处理数据,以用于显示和用于颜色修改,如下所述。在一个或多个实施例中,计算机120可以是任何一个或多个具有处理能力的设备,比如桌上型计算机、膝上型计算机、笔记本电脑、服务器、移动电话机、智能电话机、智能手表、智能眼镜、虚拟现实头盔、嵌入式系统、或者它们的任意组合。在一个或多个实施例中,计算机120可以是共同处理、存储或显示数据的多个计算机或设备的网络。一个或多个计算机120可以包含例如一个或多个CPU 121、一个或多个GPU 122和一个或多个类型的存储器123。数据的处理可以在CPU和/或GPU上进行。
为了便于说明,用相对少量的点表示了点云110。在典型应用中,可以处理数百万或数十亿个点的点云。点云的可能非常大的大小对处理这些云的工作流带来了挑战,因为点云的更新可能非常耗时。如下所述,本发明通过提供不需要点云的耗时更新的颜色更改的高效3D预览,解决了对于给点云着色的工作流的这种挑战。
计算机120处理3D点云110,并且可以生成一个或多个窗口来显示点云信息。这些窗口例如可以显示在一个或多个显示器124上。在图1中所示的例子中,计算机120生成点云110的2D视图131和3D视图132。这些窗口例如可以显示在单个显示器上,或者显示在可以以任何所需方式排列的多个单独显示器中。可以以任何方式,比如并排、上下、重叠或画中画的方式排列窗口131和132。3D视图132例如可以从任何期望的视点显示点云110的透视或正投影。视点可以由用户控制,使得用户可以在3D环境内平移、旋转和缩放,以从任何期望的角度和以任何期望的比例观察点云的不同部分。2D视图131例如可以包含整个点云110的2D全景投影。在一个或多个实施例中,用户可能能够在2D视图131内平移和缩放,以聚焦于点云的不同部分。
在一个或多个实施例中,点云110可能不包含颜色信息。在一些应用中,可能可取的是向点云添加颜色信息,以便例如基于所扫描的场景生成着色的3D虚拟现实环境。场景的彩色照片例如可以覆盖在点云上以提供颜色。然而,即使使用彩色照片来提供着色基准,在许多情况下仍然可能需要手动调整颜色。例如,如果使用多张照片对场景进行着色,那么照片之间的照明和色彩平衡可能会有所不同;于是,可能需要手动颜色调整来将这些照片混合在一起成为连贯(coherent)的着色3D环境。艺术家可能还想更改场景中某些对象的颜色以达到特定的效果,例如突出所选择的对象。
图2继续图1中所示的例子,以表示3D点云中的所选点的着色。显示在一个或多个显示器124上的用户界面可以包括例如使用户能够在点云的2D视图上绘制颜色的一个或多个颜色工具201。可以使用任意类型的颜色工具,例如包括但不限于颜色选择器、画笔、形状调色板和徒手绘图工具。在所示的实施例中,用户使用颜色工具201在2D视图131上绘制区域204并对其着色。用户选择要绘制的区域的类型,并为该区域选择颜色203。为了便于说明,对于区域形状和颜色,在工具201中只表示了几种选项;在一个或多个实施例中,许多类型的区域是可以选择的,并且颜色选择工具可以让用户选择任何想要的颜色,包括例如具有α通道的颜色。
用户在屏幕上绘制区域204,并用颜色203填充区域204。在一个或多个实施例中,用户可以用多种颜色填充该区域,包括例如渐变、模糊或纹理。由于2D视图131可能失真,特别是在投影的极点处,因此当映射回3D点云时,2D视图中的区域204的外观可能不反映该区域的3D形状。于是,在一个或多个实施例中,3D视图132可以提供3D中颜色更改的预览。在一个或多个实施例中,对3D视图132的颜色的更新可以是实时或接近实时的,使得用户获得关于颜色更改对3D点云的影响的即时或几乎即时的反馈。于是,3D视图132中的点205以颜色203表示,因为这些点对应于区域204内的投影点。在一个或多个实施例中,用户可以能够平移、旋转、缩放或以其他方式修改3D窗口132的视点。例如,用户可以放大前壁,以看到从该视点的视图206,或者放大天花板,以看到从该视点的视图207。
图3提供关于在一个或多个实施例中可以如何生成2D视图窗口的细节。图3中图解所示的方法是例证性的;一个或多个实施例可以使用任何期望的投影或方法来生成点云的2D视图。3D点云110的点可以首先投影到球体311上。球体的中心可以例如与用于捕捉场景的3D点云的LIDAR或其他扫描仪的中心重合,或者它可以表示用户想要从其观察场景的兴趣点。例如,点云中的3D点302可以投影到球体311上的点312,而3D点303可以投影到球体311上的点313。作为第二步,可以将球体311展开到平坦的2D空间321上。可以使用任何类型的投影来从球体311映射到平坦的空间321。例如但不限于,可以使用全景等量矩形投影,它将每个点的经度和纬度映射到2D笛卡尔坐标。通过这种投影,球体上的点312可以映射到2D空间321中的点322,而球体上的点313可以映射到2D空间321中的点323。将3D点投影到球体311上和将球体311投影到2D空间321的组合建立了3D参考坐标系305中的3D(“xyz”)坐标和2D参考坐标系325中的2D(“uv”)坐标之间的对应关系。例如,在3D坐标304的点303对应于在2D坐标324的点323。这种对应关系可以被反转,使得2D空间321中的点可以与3D点云110中的点关联。
在一些情况下,点云或者点云的感兴趣的一部分可能不覆盖整个360度方位角或180度仰角。在一个或多个实施例中,可以修改点云的2D视图以重新缩放2D视图,使得即使点云的范围有限,点云也填充整个2D视图窗口。图3A中图解说明了这种情况,其中从位于球体311的中心的观察者的角度来看,点云110a仅横跨水平范围331和垂直范围332。当映射到2D视图321a时,点云110a占据区块333。为了提供尽可能详细的点云的2D视图,在一个或多个实施例中,可以用缩放操作334来变换2D投影,以获得2D视图321b。缩放例如可以用于使水平范围331与2D视图窗口321b的宽度匹配,以及使垂直范围332与2D视图窗口321b的垂直高度匹配。在该变换后的视图中,点云110a占据区域335,区域335具有完整的180度仰角和360度方位角。取决于水平范围角度331和垂直范围角度332,垂直轴和水平轴的比例因子可能不同;于是,区块335可能相对于原始投影区块333失真。
当点云的2D视图被栅格化时,由3D到2D投影和可能的坐标轴的重新缩放所引入的失真,以及原始点云中的离散采样可能会产生伪影。图3B中图解说明了这种情况。点云110a被投影到2D视图321b上,并被重新缩放,使得它占据区域335,如关于图3A所述。该视图321b随后被栅格化成2D图像。网格342表示栅格化图像的区域341中的各个像素。网格342中的点是来自3D点云110a的点的投影位置。由于网格342中的一些像素,比如像素343,不包含任何投影点,因此可能出现诸如栅格化图像段344中的黑色像素之类的伪影。例如,网格342中的像素343表现为图像段344中的像素345。当重新缩放2D图像以适应整个360×180图像时,这些伪影可能更加普遍,因为更有可能的是一些像素不对应来自3D点云的任何投影点。
在一个或多个实施例中,通过识别没有对应投影点的像素,并通过将这些像素的值设定为与相邻像素对应的值,可以减少诸如图像344中的像素345之类的伪影。可以在一个或多个实施例中使用的一种技术是将过滤器与图像卷积。在图3B中所示的示例中,在操作346中将图像344与过滤器347卷积,过滤器347平均伪影像素周围的像素。该操作348导致无伪影图像348。这个平均过滤器347是例证性的;一个或多个实施例可以应用任何类型的过滤器或其他操作来识别包含伪影的像素并消除或减少它们。
现在转向从对2D视图进行的颜色修改生成彩色3D视图,图4A表示本领域中可以用于对3D点云着色的典型方法。生成3D点云的一部分的某个视图420,并且用户将颜色应用于该视图的某个区域422。为了观察这种颜色更改的3D效果,执行处理411以将颜色“烘焙”到3D点云110上。该烘焙处理识别所有受颜色更改影响的3D点,并且它应用一系列更新,比如更新421,来修改受影响的点的颜色属性,或者以其他方式使颜色与点云中的点关联。由于点云可能很大,可能包含数百万或数十亿个点,因此这些更新421可能非常耗时。将颜色烘焙到点云上的整个过程可能花费例如15分钟或更长时间。例证处理将点云表示为具有每个点的几何和颜色信息的数据结构430。对于大型点云,访问受影响的点并更新它们的颜色属性可能需要遍历数千兆字节的数据。在烘焙处理411之后,在处理412中渲染更新的点云,以生成3D视图423。用户随后可以在步骤413中查看该渲染,并且一旦用户看到更改在3D中的效果,就可以根据需要校正颜色。由于这个过程可能非常耗时,因此可能需要几次迭代414来精确地修改点云的颜色。
图4B表示可在一个或多个实施例中使用的用于渲染3D视图的一般构架。与图4A中图解所示的处理相反,该构架提供3D视图的实时或接近实时的生成,从而可能消除或减少图4A的工作流的多次迭代。颜色数据401从2D视图131中的着色区域,比如区域204获得。该颜色数据例如可以是区域204的边界的描述,区域204的边界可以包括顶点和/或边缘。它也可以是区域或区域边界的参数表示。或者,它可以是包含在该区域中的所有像素或点的列表。颜色数据可包括所述区域的颜色或与所述区域内的不同点或区块关联的颜色。几何数据402从3D点云110获得。该数据例如可以是每个点的3D坐标,或者它可以是从点云导出的网格。用户选择应从其渲染3D视图的视点403。数据401、402和403可以由GPU122,或者由任何其他一个或多个处理器用于以应用于与区域204对应的3D点的颜色来渲染3D视图132。3D视图132的渲染也可以通过CPU处理和GPU处理的组合来进行。
与图4A中所示的处理不同,在本发明的一个或多个实施例中使用的图4B中的处理不更新点云数据430;颜色不作为3D预览过程的一部分被“烘焙”到点云中。相反,来自区域204的颜色数据由GPU(或者由其他处理器)变换,以表示颜色以正确的位置、取向和形状覆盖的点云。这种技术允许颜色更改的3D预览几乎立即地发生。取决于应用,最终的颜色在编辑之后仍然可以被烘焙到点云中,但是这在编辑和预览期间是不需要的。
图5和6图解说明在一个或多个实施例中可用于渲染3D视图132的方法。图5图解说明测试点云110中的每个3D点是否具有在着色区域204内的2D投影的方法。对于每个3D点,在步骤501检索或生成2D投影131中的坐标。例如,在一个或多个实施例中,投影的2D(“uv”)坐标可以作为每个点的属性与点云一起存储。或者,当需要创建2D坐标时,可以进行投影。在投影之后,可以对每个投影点进行测试501,以判定它是否在着色或涂色区域内。例如,如果区域204是多边形,那么可以使用测试点是否在多边形内的任何算法。几种这样的算法是本领域已知的,并且可以在一个或多个实施例中使用。例如,点在多边形内(point-inside-polygon)测试包括计数来自点的光线穿过多边形边界的次数的算法,和计算点周围的多边形表面的回转数的算法。如果与3D点关联的投影点在区域204内,那么步骤502将区域颜色应用于该点;否则,步骤503应用默认颜色或背景颜色,或者应用于点云的背景图像的颜色。
图5图解说明确定3D点云110中的两个点511和512的颜色的过程。点511具有关联的投影点521,点512具有关联的投影点522。测试501表明点521在区域204之内,而点522在区域204之外;从而,点511在3D视图132中被着色为蓝色,而点512被设定为默认颜色。
在一个或多个实施例中,图5中所示的任何或所有步骤可以在GPU上执行。由于对于每个点的测试可以彼此独立地进行,因此点在区域内测试容易并行化。在一个或多个实施例中,可以执行对测试的附加优化。例如,可以围绕区域204计算边界框,并且简单的测试可以判定投影点是否在边界框内;然后,只有当点在边界框内时,才可进行更完整的点在区域内测试。可在一个或多个实施例中使用的另一种优化是将2D空间131划分成多个分块(tile),并且对于每个分块判定它是否与区域204相交。随后在步骤503可以对投影在不与区域204相交的分块中的3D点着色,而不需要对该点是否在所述区域内进行更复杂的测试。
图6图解说明可在一个或多个实施例中使用的对3D视图中的点着色的另一种方法。区域204可以被划分成三角形,并且三角形顶点和颜色可以被传送给例如GPU,以渲染纹理图像。例如,区域204可以被划分成三角形601和602,并且三角形数据603可以被传送给GPU。数据603例如可以包括每个三角形的顶点的坐标和每个顶点的颜色。在这个例子中,所有顶点具有相同的颜色;然而,可以使用不同的顶点颜色,以便例如实现混合或羽化效果,如下关于图7所述。GPU随后可以进行2D纹理图像的渲染604,和着色的3D视图132的渲染605。由于针对从三角形顶点数据进行渲染优化了GPU,因此可以非常高效地进行这些步骤。
在一个或多个实施例中,区域颜色在整个区域可能是不均匀的。这种能力例如可以用于为区域提供软边缘,使得颜色与应用于2D视图的其他颜色(比如一张或多张彩色照片或其他手动颜色更改)平滑地混合。图7表示在区域204a的三角形602a中具有颜色渐变的例子。三角形602a的两个顶点701和702被分配为蓝色,第三个顶点703被分配为白色。GPU进行明暗处理操作704,以确定三角形内的各个点的颜色。这种明暗处理算法例如可以使用基于每个点的重心坐标的混合。例如,点705的重心坐标可以用于计算该点的颜色。这种类型的三角形明暗处理通常在GPU中进行,从而它可以非常高效地完成。
图8-12图解说明本发明的实施例对于从真实场景捕捉的3D点云的应用。图8表示通过在所有方向上扫描房间而获得的3D点云的一部分801。该点云具有每个点的强度和位置,但是没有颜色。如上所述,将点云801映射到球体802,然后使用等量矩形全景投影将球体802投影到2D视图803。图9表示用于对点云的区域着色的例证用户界面。主窗口803a是2D视图,由用户放大以聚焦于特定的墙壁。着色工具901被呈现给用户。用户在2D视图803a中选择区域902,并向其分配颜色。3D视图窗口801a表示具有相同颜色的对应区域903的点云。
图10表示对图8的点云的2D视图中的区域着色的另一个例子。在这个例子中,3D到2D映射时的失真更加明显,举例说明3D预览的重要性。用户在2D视图803b中绘制区域1002并分配颜色。3D视图801b中的对应区域1003具有明显不同的形状;区域1002中的直线不对应于3D视图的区域1003中的直线。
图11表示向区域应用颜色的另一个例子。在这个例子中,已经在点云数据上应用了2D彩色图像,并且用户对这些颜色进行了调整。标牌1103在2D彩色图像中是黑色的,但是用户在2D视图1101中围绕该标牌绘制区域边界,并将颜色改变为蓝色色调。这种颜色更改反映在3D视图1102中。
图12表示实现区域的软边缘的颜色混合的例子。用户用颜色填充2D视图803c中的区域1201,并定义具有颜色渐变的另一个区域1202,以使1201的颜色朝向区域1202的右边缘逐渐衰减。
尽管借助具体实施例及其应用,说明了本文中公开的发明,不过本领域的技术人员可以对其进行许多修改和变化,而不脱离在权利要求书中陈述的本发明的范围。

Claims (12)

1.一种具有实时3D可视化的点云着色系统,包括:
处理器;
与所述处理器耦接的存储器;和
与所述处理器和所述存储器耦接的显示器;
其中所述处理器被配置成:
获得包含多个3D点的3D点云;
在所述显示器上显示3D视图窗口,所述3D视图窗口对应于所述3D点云从某个视点的视图,其中所述视点能够由用户修改;
进行所述3D点云到2D平面的投影,以形成包含多个投影点的投影的3D点云,其中所述多个3D点中的每个3D点对应于所述多个投影点中的投影点;
在所述显示器上的2D视图窗口上显示所述投影的3D点云;
接受由所述用户在所述2D视图窗口上绘制的区域;
接受由所述用户选择的用于应用于所述区域的颜色;
修改所述2D视图窗口以用所述颜色示出所述区域;
更新所述3D视图窗口,以便:
当所述多个3D点中的每个3D点在所述区域中具有对应投影点时,并且当所述每个3D点从所述视点可见时,以所述颜色显示所述每个3D点,而不更新所述3D点云以使所述颜色与所述每个3D点关联。
2.按照权利要求1所述的系统,其中所述3D点云到所述2D平面的所述投影包括等量矩形投影。
3.按照权利要求1所述的系统,其中所述3D点云到所述2D平面的所述投影包括缩放变换,所述缩放变换使所述3D点云的水平范围和所述2D视图窗口的水平宽度匹配,并且使所述3D点云的垂直范围和所述2D视图窗口的垂直高度匹配。
4.按照权利要求1所述的系统,其中所述处理器还被配置成:
对所述2D视图窗口应用过滤器,以将像素颜色分配给所述2D视图中的不存在对应投影点的各个像素;
其中所述像素颜色基于包含投影点的相邻像素的颜色。
5.按照权利要求4所述的系统,其中所述过滤器包括平均卷积过滤器。
6.按照权利要求1所述的系统,其中,
所述处理器包括CPU和GPU;
所述CPU被配置成将所述区域和所述颜色传送给所述GPU;和
所述GPU被配置成生成所述3D视图窗口;
其中所述生成所述3D视图窗口包括:
当所述3D视图窗口中的像素对应于在所述区域中具有对应投影点的一个或多个3D点时,将所述像素的像素颜色设定为所述颜色。
7.按照权利要求1所述的系统,其中
所述区域为多边形;并且
所述处理器被配置成利用点在多边形内测试来确定对应于所述每个3D点的所述投影点何时在所述区域中。
8.按照权利要求1所述的系统,其中所述处理器还被配置成:
接受由所述用户在所述2D视图上绘制的混合色区域;
接受由所述用户选择的多种颜色以应用于所述混合色区域;
修改所述2D视图窗口,以用所述多种颜色的混合色示出所述混合色区域的每个像素;
更新所述3D视图窗口,以便:
当所述多个3D点中的每个3D点在所述区域中具有对应投影点时,并且当所述每个3D点从所述视点可见时,以所述多种颜色的所述混合色显示所述每个3D点,而不更新所述3D点云以使所述多种颜色的所述混合色与所述每个3D点关联。
9.按照权利要求8所述的系统,其中,
所述混合色区域包括三角形;
所述多种颜色包括所述三角形的每个顶点的顶点颜色;和
所述多种颜色的所述混合色包括所述顶点颜色的加权组合,
其中所述加权组合的权重对应于所述混合色区域的所述每个像素的重心坐标。
10.按照权利要求1所述的系统,其中所述处理器还被配置成:
从所述2D视图窗口生成纹理图像,其中所述纹理图像的与所述2D视图窗口中的所述区域对应的区块具有所述颜色;
其中所述更新所述3D视图窗口包括:
当所述3D视图窗口中的像素对应于在所述区域中具有对应投影点的一个或多个3D点时,基于所述纹理图像并且基于所述对应投影点的纹理坐标来设定所述像素的所述像素颜色。
11.按照权利要求10所述的系统,其中,
所述处理器包括CPU和GPU;
所述区域是多边形;
所述CPU被配置成:
将所述多边形分成一个或多个三角形;
将所述一个或多个三角形的顶点和所述颜色传送给所述GPU;并且,
所述GPU被配置成:
基于所述顶点和所述颜色生成所述纹理图像的所述区块。
12.一种具有实时3D可视化的点云着色系统,包括:
包含CPU和GPU的处理器;
耦接到所述处理器的存储器;和
耦接到所述处理器和所述存储器的显示器;
其中所述处理器被配置成:
获得包括多个3D点的3D点云;
在所述显示器上显示3D视图窗口,所述3D视图窗口对应于所述3D点云从某个视点的视图,其中所述视点能够由用户修改;
进行所述3D点云到2D平面的等量矩形投影,以形成包含多个投影点的投影的3D点云,其中所述多个3D点中的每个3D点对应于所述多个投影点中的投影点;
进行所述2D平面的缩放变换,所述缩放变换使得所述3D点云的水平范围和2D视图窗口的水平宽度匹配,并且使得所述3D点云的垂直范围和所述2D视图窗口的垂直宽度匹配;
在所述显示器上的所述2D视图窗口上显示所述投影的3D点云;
接受由所述用户在所述2D视图窗口上绘制的区域,其中所述区域是多边形;
接受由所述用户选择的用于应用于所述区域的颜色;
修改所述2D视图窗口以用所述颜色显示所述区域;
对所述2D视图窗口应用卷积平均过滤器,以将像素颜色分配给所述2D视图窗口中的不存在对应投影点的各个像素;
将所述多边形分成一个或多个三角形;
将所述一个或多个三角形的顶点和所述颜色传送给所述GPU;
利用所述GPU基于所述顶点和所述颜色生成纹理图像的区块;
利用所述GPU更新所述3D视图窗口,以便:
当所述3D视图窗口中的像素对应于在所述区域中具有对应投影点的一个或多个3D点时,基于所述纹理图像并且基于所述对应投影点的纹理坐标来设定所述像素的所述像素颜色,而不更新所述3D点云以使所述颜色与所述每个3D点关联。
CN202080007852.7A 2019-01-11 2020-01-09 具有实时3d可视化的点云着色系统 Active CN113272865B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/246,178 2019-01-11
US16/246,178 US10353073B1 (en) 2019-01-11 2019-01-11 Point cloud colorization system with real-time 3D visualization
PCT/US2020/012972 WO2020146664A1 (en) 2019-01-11 2020-01-09 Point cloud colorization system with real-time 3d visualization

Publications (2)

Publication Number Publication Date
CN113272865A CN113272865A (zh) 2021-08-17
CN113272865B true CN113272865B (zh) 2023-08-01

Family

ID=67220451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080007852.7A Active CN113272865B (zh) 2019-01-11 2020-01-09 具有实时3d可视化的点云着色系统

Country Status (6)

Country Link
US (3) US10353073B1 (zh)
EP (1) EP3891706A4 (zh)
JP (1) JP7235875B2 (zh)
KR (1) KR20210095921A (zh)
CN (1) CN113272865B (zh)
WO (1) WO2020146664A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10937202B2 (en) 2019-07-22 2021-03-02 Scale AI, Inc. Intensity data visualization
US11222460B2 (en) * 2019-07-22 2022-01-11 Scale AI, Inc. Visualization techniques for data labeling
CN112381919B (zh) * 2019-07-29 2022-09-27 浙江商汤科技开发有限公司 信息处理方法、定位方法及装置、电子设备和存储介质
CN112203074B (zh) * 2020-12-07 2021-03-02 南京爱奇艺智能科技有限公司 一种基于两步迭代的相机平移新视点图像生成方法和系统
WO2022133569A1 (en) * 2020-12-22 2022-06-30 Prevu3D Inc. Methods and system for reconstructing textured meshes from point cloud data
US20220351394A1 (en) * 2021-04-27 2022-11-03 Faro Technologies, Inc. Hybrid feature matching between intensity image and color image
CN113487746B (zh) * 2021-05-25 2023-02-24 武汉海达数云技术有限公司 一种车载点云着色中最优关联影像选择方法及系统
CN113934294A (zh) * 2021-09-16 2022-01-14 珠海虎江科技有限公司 虚拟现实显示设备及其对话窗口显示方法、计算机可读存储介质
CN117475104A (zh) * 2022-07-22 2024-01-30 戴尔产品有限公司 用于渲染目标场景的方法、电子设备和计算机程序产品
KR102659898B1 (ko) * 2022-11-30 2024-04-23 (주)비주얼신 모바일 단말을 이용한 3차원 발 모델 생성 방법 및 시스템

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11195134A (ja) * 1997-12-26 1999-07-21 Hitachi Ltd 画像処理装置
CN1704939A (zh) * 2004-05-26 2005-12-07 鸿富锦精密工业(深圳)有限公司 点云三维处理系统及方法
CN102915559A (zh) * 2012-08-22 2013-02-06 北京航空航天大学 一种基于三维点云的实时透明物体gpu并行生成方法
WO2016185637A1 (ja) * 2015-05-20 2016-11-24 三菱電機株式会社 点群画像生成装置および表示システム
CN106408664A (zh) * 2016-08-30 2017-02-15 任少康 一种基于三维扫描装置的三维模型曲面重建方法
CN107194983A (zh) * 2017-05-16 2017-09-22 华中科技大学 一种基于点云与影像数据的三维可视化方法和系统
CN107316325A (zh) * 2017-06-07 2017-11-03 华南理工大学 一种基于图像配准的机载激光点云与影像配准融合方法
CN108154560A (zh) * 2018-01-25 2018-06-12 北京小马慧行科技有限公司 激光点云标注方法、装置及可读存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7817823B1 (en) * 2007-04-27 2010-10-19 Adobe Systems Incorporated Calculating shadow from area light sources using a spatially varying blur radius
US20090231327A1 (en) * 2008-03-12 2009-09-17 Harris Corporation Method for visualization of point cloud data
US20110115812A1 (en) * 2009-11-13 2011-05-19 Harris Corporation Method for colorization of point cloud data based on radiometric imagery
JP4796194B1 (ja) * 2010-03-31 2011-10-19 株式会社パスコ カーソルの表示方法およびカーソルの表示プログラム
US8547421B2 (en) * 2010-08-13 2013-10-01 Sharp Laboratories Of America, Inc. System for adaptive displays
US9996976B2 (en) * 2014-05-05 2018-06-12 Avigilon Fortress Corporation System and method for real-time overlay of map features onto a video feed
WO2015172227A1 (en) * 2014-05-13 2015-11-19 Pcp Vr Inc. Method, system and apparatus for generation and playback of virtual reality multimedia
US9986154B2 (en) * 2014-05-21 2018-05-29 Here Global B.V. Developing a panoramic image
CN105631927A (zh) * 2014-10-27 2016-06-01 富泰华工业(深圳)有限公司 点云套索选取系统及方法
EP3353751A4 (en) * 2015-09-24 2019-03-20 California Institute of Technology SYSTEMS AND METHODS FOR VISUALIZING DATA USING THREE DIMENSIONAL DISPLAY DEVICES
US20170263052A1 (en) * 2016-03-11 2017-09-14 Indoor Reality Method for generating an ordered point cloud using mobile scanning data
JP6868992B2 (ja) * 2016-09-27 2021-05-12 株式会社トプコン 画像処理装置、画像処理方法および画像処理用プログラム
EP3349182A1 (en) * 2017-01-13 2018-07-18 Thomson Licensing Method, apparatus and stream for immersive video format
US11665308B2 (en) * 2017-01-31 2023-05-30 Tetavi, Ltd. System and method for rendering free viewpoint video for sport applications

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11195134A (ja) * 1997-12-26 1999-07-21 Hitachi Ltd 画像処理装置
CN1704939A (zh) * 2004-05-26 2005-12-07 鸿富锦精密工业(深圳)有限公司 点云三维处理系统及方法
CN102915559A (zh) * 2012-08-22 2013-02-06 北京航空航天大学 一种基于三维点云的实时透明物体gpu并行生成方法
WO2016185637A1 (ja) * 2015-05-20 2016-11-24 三菱電機株式会社 点群画像生成装置および表示システム
EP3299763A1 (en) * 2015-05-20 2018-03-28 Mitsubishi Electric Corporation Point-cloud-image generation device and display system
CN106408664A (zh) * 2016-08-30 2017-02-15 任少康 一种基于三维扫描装置的三维模型曲面重建方法
CN107194983A (zh) * 2017-05-16 2017-09-22 华中科技大学 一种基于点云与影像数据的三维可视化方法和系统
CN107316325A (zh) * 2017-06-07 2017-11-03 华南理工大学 一种基于图像配准的机载激光点云与影像配准融合方法
CN108154560A (zh) * 2018-01-25 2018-06-12 北京小马慧行科技有限公司 激光点云标注方法、装置及可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于GPU投影网格的曲面渲染技术;王志铭;王旭;杨新;张璐;;计算机仿真(11);全文 *
应用彩色图像的结构光重构三维表面颜色渲染;于晓洋;赫佳峦;黄明;吴海滨;魏正宜;;光学精密工程(第10期);全文 *

Also Published As

Publication number Publication date
JP2022517090A (ja) 2022-03-04
CN113272865A (zh) 2021-08-17
US11625861B2 (en) 2023-04-11
WO2020146664A1 (en) 2020-07-16
EP3891706A1 (en) 2021-10-13
US20210072394A1 (en) 2021-03-11
EP3891706A4 (en) 2021-12-15
US10353073B1 (en) 2019-07-16
US20200225356A1 (en) 2020-07-16
JP7235875B2 (ja) 2023-03-08
US10845484B2 (en) 2020-11-24
KR20210095921A (ko) 2021-08-03

Similar Documents

Publication Publication Date Title
CN113272865B (zh) 具有实时3d可视化的点云着色系统
CN111508052B (zh) 三维网格体的渲染方法和装置
US11551418B2 (en) Image rendering of laser scan data
US6983082B2 (en) Reality-based light environment for digital imaging in motion pictures
US6268846B1 (en) 3D graphics based on images and morphing
US20150325044A1 (en) Systems and methods for three-dimensional model texturing
Schütz et al. Real-time continuous level of detail rendering of point clouds
JP5002742B2 (ja) パラメトリックテクスチャマップを使用して3dオブジェクトをレンダリングするための装置および方法
JP2002183761A (ja) 画像生成の方法および装置
JPH0757117A (ja) テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム
CN110248242B (zh) 一种图像处理和直播方法、装置、设备和存储介质
JP3549871B2 (ja) 描画処理装置及び方法、描画処理プログラムを記録した記録媒体、描画処理プログラム
EP0789893A1 (en) Methods and apparatus for rapidly rendering photo-realistic surfaces on 3-dimensional wire frames automatically
US6864889B2 (en) System for previewing a photorealistic rendering of a synthetic scene in real-time
US6781583B2 (en) System for generating a synthetic scene
CA2709092A1 (en) Smooth shading and texture mapping using linear gradients
CN114140566A (zh) 一种建筑图纸设计效果实时渲染方法
WO2022133569A1 (en) Methods and system for reconstructing textured meshes from point cloud data
US6894696B2 (en) Method and apparatus for providing refractive transparency in selected areas of video displays
CN113409409A (zh) 图像处理方法、装置、电子设备和计算机可读存储介质
JP3712015B2 (ja) 画像作成装置および方法
Chochlík Scalable multi-GPU cloud raytracing with OpenGL
JP2021149679A (ja) 画像処理システム、画像処理方法、及びプログラム
CN117252974A (zh) 三维图像的贴图方法和装置、电子设备及存储介质
CN116797709A (zh) 一种Web端三维模型扫光方法、系统、终端及介质

Legal Events

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