CN118055728A - 构建牙齿结构的纹理化3d模型 - Google Patents

构建牙齿结构的纹理化3d模型 Download PDF

Info

Publication number
CN118055728A
CN118055728A CN202280053603.0A CN202280053603A CN118055728A CN 118055728 A CN118055728 A CN 118055728A CN 202280053603 A CN202280053603 A CN 202280053603A CN 118055728 A CN118055728 A CN 118055728A
Authority
CN
China
Prior art keywords
texture
image
point
color
points
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
CN202280053603.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.)
Institut Straumann AG
Original Assignee
Institut Straumann AG
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 Institut Straumann AG filed Critical Institut Straumann AG
Publication of CN118055728A publication Critical patent/CN118055728A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0059Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence
    • A61B5/0082Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence adapted for particular medical purposes
    • A61B5/0088Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence adapted for particular medical purposes for oral or dental tissue
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/74Details of notification to user or communication with user or patient ; user input means
    • A61B5/742Details of notification to user or communication with user or patient ; user input means using visual displays
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61CDENTISTRY; APPARATUS OR METHODS FOR ORAL OR DENTAL HYGIENE
    • A61C9/00Impression cups, i.e. impression trays; Impression methods
    • A61C9/004Means or methods for taking digitized impressions
    • A61C9/0046Data acquisition means or methods
    • A61C9/0053Optical means or methods, e.g. scanning the teeth by a laser or light beam
    • 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
    • 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
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0012Biomedical image inspection
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0059Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence
    • A61B5/0082Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence adapted for particular medical purposes
    • A61B5/0084Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence adapted for particular medical purposes for introduction into the body, e.g. by catheters
    • A61B5/0086Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence adapted for particular medical purposes for introduction into the body, e.g. by catheters using infrared radiation
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/45For evaluating or diagnosing the musculoskeletal system or teeth
    • A61B5/4538Evaluating a particular part of the muscoloskeletal system or a particular medical condition
    • A61B5/4542Evaluating the mouth, e.g. the jaw
    • A61B5/4547Evaluating teeth
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/45For evaluating or diagnosing the musculoskeletal system or teeth
    • A61B5/4538Evaluating a particular part of the muscoloskeletal system or a particular medical condition
    • A61B5/4542Evaluating the mouth, e.g. the jaw
    • A61B5/4552Evaluating soft tissue within the mouth, e.g. gums or tongue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
    • 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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • G06T2207/30036Dental; Teeth
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/41Medical
    • 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/2004Aligning objects, relative positioning of parts
    • 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)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Medical Informatics (AREA)
  • Animal Behavior & Ethology (AREA)
  • Veterinary Medicine (AREA)
  • Software Systems (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Dentistry (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Pathology (AREA)
  • Biophysics (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optics & Photonics (AREA)
  • Epidemiology (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Radiology & Medical Imaging (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

提供了一种用于生成针对口腔结构的三维(3D)模型的纹理的方法。该方法包括以多边形网格的形式提供口腔结构的3D模型;识别位于多边形网格上的点集,以及为该组点中的每个相应的点确定相应纹理值。每个相应纹理值通过如下方式确定:识别帧集;对该帧集进行滤波以识别帧的子集;为相应纹理值确定候选纹理值集;为该组候选纹理值中的每个相应的候选纹理值计算质量因子,以及通过基于其相应的质量因子组合从该组候选纹理值中选择的候选纹理值来为相应点计算相应纹理值。

Description

构建牙齿结构的纹理化3D模型
相关申请的交叉引用
本申请要求2021年6月22日提交的美国临时专利申请第63/213,389号的权益,该临时专利申请通过引用并入本文。
技术领域
本公开涉及牙齿结构的3D建模,并且具体地,涉及构建牙齿结构的纹理化3D模型。
背景技术
数字技术在牙科中的应用简化了多个牙科专业的治疗并改善了患者的治疗效果。数字技术已成功用于补充甚至取代口腔外科、口腔修复和正畸中的传统物理和机械技术。此类技术提高了传统护理方法的效率,促进了新治疗方法和程序的开发,并有助于从业者与提供患者治疗中使用的矫治器、修复体和工具的牙科实验室之间的合作。
然而,如果没有患者牙列和软组织的高精度数字模型,涉及数字技术应用的牙科治疗的效果可能会受到影响。因此,患者口腔结构的准确数字模型对于各种现代牙科手术是必不可少的,并且大量的研究和开发工作已致力于改进牙科成像技术。
近年来,口腔内扫描仪已成为许多从业者对患者口腔组织进行成像并构建其数字模型的首选工具。口腔内扫描仪是能够插入患者口腔中以对牙齿和软组织进行成像的成像设备。当从业者将扫描仪移动通过患者口腔腔体中的各个位置时,口腔内扫描仪通过捕获患者口腔组织的数千个图像来生成数字印模数据。数字印模数据由数千个二维图像和与捕获每个图像的条件相关的数据组成,可以对数字印模数据进行处理,以构建患者口腔结构的三维数字模型。随着由口腔内扫描产生的数字模型的准确性的提高,口腔内扫描仪的使用已经取代了用于对患者口腔腔体建模的替代技术,例如创建石膏模型并用固定实验室扫描仪扫描所述模型。
口腔内扫描仪使用多种不同的成像技术来获取图像集,从中可以构建患者口腔结构的数字模型。口腔内扫描仪采用的常见技术包括共焦成像技术和立体成像技术。无论口腔内扫描仪采用何种成像技术,都利用软件算法(例如网格划分算法)来处理图像集及其相应的元数据,以便构建数字模型。
在扫描期间获取颜色信息数据(即代表患者牙齿和牙龈组织颜色的数据)的能力是利用口腔内扫描仪对患者口腔腔体进行直接成像所提供的显著优势。相比之下,使用固定实验室扫描仪扫描患者牙齿和软组织的石膏模型不允许获取与患者牙齿和牙龈组织颜色相关的任何数据。患者将主要根据美容效果来评估许多牙科治疗,其中颜色是重要组成部分。因此,将准确的颜色信息数据纳入患者口腔结构的虚拟模型中可以有助于改善治疗结果,特别是对于涉及贴面、牙冠或假牙的修复体。
先前已使用不同的技术来提供颜色信息数据以纳入口腔内扫描。一种技术涉及构建表示患者口腔结构的三维几何形状的三角形网格,对三角形网格的每个顶点着色,以及通过内插最接近顶点的颜色来计算网格中每个三角形内部的颜色。理论上,当网格的三角形足够小以能够提供足够高的分辨率以足够多的细节地表示患者牙齿结构的颜色时,这种基于顶点的三角形网格着色技术可以提供足够的结果。然而,实际上,在使用此类三角形网格着色技术时,存储器和处理能力的限制使得生成具有足够小的三角形以能够以足够高分辨率提供颜色信息的三角形网格变得不切实际或者甚至不可能。
特别地,这种基于顶点的三角形网格着色技术具有与计算正确颜色相关联的本质问题,例如过度混合和褪色。此外,即使可以克服此类着色问题,基于顶点的三角形网格着色的颜色采样分辨率也仅限于每个顶点一种颜色,不可能获取三角形内的颜色信息。颜色采样分辨率的这种缺乏可能会导致进一步的问题,例如难以识别重要的物理特征,如边缘线(诸如牙冠的修复体和天然牙齿之间的物理过渡)和牙齿上的其他物理分界线,如牙釉质结束和牙根开始的线,其通常沿着或靠近牙龈线与牙齿的交汇处,并且当牙龈线从牙齿后退时可能可见。解决这些问题的强力技术,例如通过增加网格本身的分辨率(更多的顶点和三角形),是不切实际的,并且会带来比它们所能解决的更多的问题。例如,硬件性能要求限制了这种强力技术的实用性。
此外,根据建模对象的几何细节,从口腔内扫描数据生成的三角形网格通常包括小三角形和大三角形的混合。当建模对象的局部曲率较高(例如在牙齿边缘)并且需要提供高分辨率的几何特征时,三角形较小,而当局部曲率较低(例如在平面牙齿表面上)和可以使用较低的分辨率充分地表示几何特征(例如,为了节省内存并降低操纵三角形网格所需的处理能力)时,三角形较大。然而,充分表示由颜色信息指示的图像特征所需的分辨率不一定与充分表示几何特征(例如牙齿曲率)所需的分辨率相对应。因此,通过简单地将颜色分配给三角形网格的顶点和/或各个三角形来充分地表示与平面牙齿表面搭配的图形特征是不可能的。因此,虽然通过从最接近的顶点的颜色为每个三角形插值来提供的着色在计算速度方面非常有效,但是颜色准确度、颜色均匀性和精细细节的清晰度是不充分的。
发明内容
根据实施例,提供了一种用于生成口腔结构的三维(3D)模型的纹理的方法。该方法包括:提供口腔结构的3D模型,所述口腔结构的3D模型以多边形网格的形式被提供,所述多边形网格包括在3D坐标系中配准的多个连接的多边形;以及识别位于多边形网格上的点集,所述点集中的每个相应点由3D坐标系中的坐标值定义。该方法还包括为所述点集中的每个相应点确定相应纹理值。每个相应纹理值通过以下方式确定:识别帧集;对所述帧集进行滤波以识别帧的子集;为所述相应纹理值确定候选纹理值集,每个候选纹理值对应于所述帧的子集中的相应帧。每个相应纹理值还通过为候选纹理值集中的每个相应候选纹理值计算质量因子,以及通过基于其相应质量因子组合从所述候选纹理值集中选择的候选纹理值来为相应点计算相应纹理值。该方法还包括创建纹理图集,所述纹理图集以二维(2D)纹理图像的形式被提供,所述2D纹理图像包括多个纹素,以及所述2D纹理图像中的每个相应纹素与位于3D坐标系中的多边形网格上的对应点之间的映射。2D纹理图像中的每个相应纹素具有等于为点集中的对应于所述相应纹素的相应点确定的相应纹理值的值。
附图说明
下面将基于示例性附图更详细地描述本公开的主题。本文描述和/或示出的所有特征可以单独使用或以不同的组合方式组合使用。通过参考所附附图并阅读以下详细描述,各种实施例的特征和优点将变得显而易见,附图示出了以下内容:
图1示出了2D到3D的映射过程。
图2示出了被设计为获取扫描数据以构建牙列和口腔组织的3D虚拟模型的口腔内扫描仪。
图3示出了包括图2的口腔内扫描仪的口腔内扫描仪硬件平台。
图4示出了包括图2的口腔内扫描仪的替代口腔内扫描仪硬件平台。
图5是示出用于构建牙列和口腔结构的彩色3D虚拟模型的过程的流程图。
图6是示出根据实施例的3D扫描过程的流程图。
图7A是示出根据实施例的图像捕获过程的流程图。
图7B和图7C示出了扫描仪移动对单帧的连续图像的捕获位置的影响以及通道偏移校正的影响。
图8示出了用于构建纹理图集以及纹理图集与3D网格之间的映射的过程。
图9示出了用于创建帧对象的过程。
图10A示出了用于为3D网格中的每个点计算颜色的过程,即用于对纹理图集的每个纹素计算颜色的过程。
图10B示出了包括三角形网格的两个三角形和映射到三角形网格的纹理图集的16个不同纹素的单个图块。
图10C示出了不同分辨率级的纹理图集。
图11A示出了牙齿的纹理化的(即彩色的)3D虚拟模型。
图11B示出了对应于图11A的牙齿的纹理化3D虚拟模型的3D三角形网格。
图11C示出了表示图11A和11B中建模的牙齿的3D点云模型。
图12是能够被配置为执行本文公开的操作的示例性处理系统的框图。
图13A示出了在计算3D网格中的点的颜色中使用的相机垂直度测试;
图13B示出了在计算3D网格中的点的颜色中使用的距离测试;
图13C示出了在计算3D网格中的点的颜色中使用以确定目标点是否位于图像的视锥内的测试;和
图13D示出了在计算3D网格中的点的颜色中使用的遮挡测试。
具体实施方式
本公开涉及牙齿结构的3D建模,例如由被设计为提供患者牙齿的数字表示的口腔内扫描仪执行,并且具体地,涉及在牙齿结构的3D模型中构建颜色信息。在实施例中,3D模型包括点云(诸如图11C中的1105所示),并且这样的颜色信息可以采取为点云的点1107所计算的颜色值的形式。在替代实施例中,3D模型包括3D多边形网格(诸如图11B中的1103所示),并且颜色信息可以采取为多边形网格的顶点所计算的颜色值的形式,或者替代地可以采取待应用于多边形网格的所计算彩色纹理图块的形式。具体地,该方法设想生成牙齿结构的3D模型并且随后计算颜色信息并将颜色信息应用到3D模型。由于本文描述的技术,口腔内扫描仪及其配套软件可以在计算机屏幕上生成患者的牙列和软组织的全彩3D虚拟模型。具体地,本文描述的技术通过提供由口腔内扫描生成的3D模型的照片级真实感渲染来改进3D虚拟模型的屏幕上真实感。
由于许多牙科治疗(例如涉及贴面、牙冠或假牙的修复体)的美容性质,以及颜色对于此类治疗的美容结果的重要性,高度详细的颜色数据为3D模型增加了重要价值。例如,患者牙齿结构的3D数字模型中的高度详细的颜色信息能够使牙科实验室能够更好地匹配待安装在患者口腔中的假牙组件中的人造牙齿和/或牙龈组织的颜色。此外,高度详细的颜色信息还能够帮助从业者在3D数字模型中确定患者牙齿和软组织之间边界的精确位置。因此,高度详细的颜色信息能够有助于临床相关细节的清晰识别,从而提高诊断准确性和数字化设计的牙科修复体的整体质量。
本文描述的技术提供了比通过传统方法构建的彩色3D模型更真实的改进的彩色3D模型。改进的彩色3D模型有助于改善治疗结果,例如,为牙科实验室提供对于正确设计牙科修复体和假体至关重要的颜色细节,并使患者和从业者两者能够更好地可视化现有的牙科病理,从而对于潜在治疗做出更明智的决策。另外,本文描述的技术包括提供待映射到患者口腔结构的虚拟3D模型的颜色或纹理的计算的算法,同时具有降低的处理能力和存储器存储需求。
与上述顶点着色相比,本文描述的解决方案基于从由3D模型建模的实际对象(例如口腔结构,例如,牙列、一颗或多颗牙齿、牙龈组织)的捕获的实际扫描图像中选择的帧图像集获得的颜色值的组合来构建3D模型的颜色信息。每个被选择的帧包括单个3D合成图像中包含的单独颜色通道数据(例如,R、G和B)和深度信息(例如UV通道)。优选地,每个被选择的帧是基于计算的质量因子来选择的。根据一个方面,对于对象的3D模型中的多个点中的每一个,来自扫描对象在多个被选择的帧中的每个对应点的颜色信息被组合以为相应点计算颜色信息值(例如,3D点云模型中的点(见图11C),或3D网格模型中的顶点(见图11B))。图11C示出了具有彩色的单独着色点1109(如在放大部分1108中最佳可见)的彩色点云1107。图11B示出了包括由连接点(称为顶点1105)形成的三角形1106集的三角形网格1103。
根据另一方面,对于3D网格模型,除了对网格的多边形的顶点进行着色的能力之外,还构建独立于多边形网格并包含颜色信息的数字纹理,然后将其映射到多边形网格。图11A示出了扫描对象的彩色纹理1102渲染。因此,颜色信息的分辨率不受几何信息的分辨率的限制,并且即使对于由非常粗糙的几何细节(例如大三角形或其他多边形形状)组成的表面也可以提供非常精细的颜色细节。因此,由于缺乏颜色采样分辨率而导致的识别重要物理特征(例如边缘线)的困难可以通过本文描述的纹理技术来解决。
纹理映射,即将纹理应用于3D模型的方法包括将图像或图像集合,即纹理图像,映射到3D模型上。为了将纹理图像的像素映射到3D模型上,为3D模型的每个可见像素识别纹理图像的像素(即“纹素”),然后将其映射到该点。该计算是在屏幕上渲染3D场景时进行的,并且其通过预先计算的映射来促进,所述预先计算对于3D模型中的具有3D坐标(x,y,z)的每个点(例如,3D网格模型中的每个顶点),给出纹理图像中其匹配像素的2D坐标(u,v)。2D图像和3D图像之间的这种映射在图1中示出。
生成数字纹理图像时的现有技术是将3D模型划分为多个块(patch),这些块的表面积通常相对较大,并在对象扫描期间捕获的彩色图像集中找到覆盖每个块的最佳匹配图像。一旦找到块的最佳图像,图像就会被投影到块上,并推断块的顶点的2D(u,v)坐标。然后裁剪图像以仅保留映射到3D模型的块的图像区域。一旦模型的所有块完成此过程,就会通过并排组装投影图像的所有裁剪子区域来生成最终纹理图像。然而,将此类技术应用于使用口腔内扫描仪创建的虚拟3D模型可能会出现问题。具体地,由于从用于为一个块提供纹理的一个裁剪图像到用于为不同的块提供纹理的另一裁剪图像存在颜色和照明差异,因此从一个块到另一个块的颜色和照明差异常常是可见的。此外,此类技术易于引入不可分割(baked-in)的镜面反射效果(例如,由用于为第一块提供纹理的图像中和用于为相邻块提供纹理的图像中存在的反射引起)和可见拼接(例如,在不同补丁的边界处)。
与构建牙齿结构的彩色或纹理化3D模型的传统方法相比,本文描述的解决方案的操作方式不同。具体地,本文描述的解决方案生成点颜色或纹理,其各个像素为3D扫描的每个相应点指定颜色,每个指定像素的颜色是通过从每个相应点的N个最佳2D图像集中采样颜色来计算的。由于本文描述的解决方案所采用的技术,从纹理化3D模型的一部分到纹理化3D模型的另一部分的颜色和照明的差异被减少,不可分割的镜面反射效应被减少或甚至完全消除,并且可以避免可见拼接。
本文公开的技术涉及执行3D扫描,在该3D扫描期间获取用于构建3D模型的深度数据和颜色数据。在3D扫描期间,一台或更多台相机(例如口腔内扫描仪中的相机)记录2D图像和相关联的元数据。在讨论图像扫描捕获的情况下,图像是由相机捕获的任何2D图像,它可以是单独的R、G、B或UV图像(下文中讨论),可以将其组合到称为“合成图像”的容器中,其中将给定相机在给定扫描仪位置处捕获的R、G、B和UV图像信息存储在单个对象或文件中。在合成图像中,每个颜色通道都是合成图像的一个“层”。扫描仪始终知道其在3D空间中的3D位置和取向。每隔几毫米,扫描仪就会记录一帧。帧包括元数据和在给定扫描仪位置处捕获的合成图像集。在包括单个相机的系统中,帧包括元数据和单个合成图像。在扫描仪中包括同时从不同视点捕获同一场景的多个相机的系统中,当相机位于由扫描仪位置、取向等定义的给定位置处时,帧包括元数据和从每个相机捕获的合成图像。帧包含元数据,元数据包括例如时间戳、(例如,在扫描启动时从扫描仪的原点测量的)扫描仪的位置、扫描仪的取向和扫描仪移动速度(即,记录帧期间扫描仪的移动速度)。正如刚刚提到的,该帧可以包括多个图像,例如对于扫描仪的相机中的每一个的一个合成图像。作为示例,扫描仪可以包括用于获取深度数据的一个相机(被设计为获取紫外图像的相机)和用于获取颜色数据的三个相机(被设计为获取红色、绿色和蓝色图像的相机)。替代地,帧可以包括由同一相机例如在不同的照明条件下获取的多个图像。然后将帧存储在存储器中。例如,元数据能够被写入二进制文件,并且所有图像能够单独保存,例如保存为JPG(以节省磁盘空间)。为了计算3D模型(例如点云或纹理网格),所有帧和相关联的图像必须加载到存储器中。
元数据可以包括例如图像捕获位置(其在全局3D坐标系中定义)、扫描仪移动速度(即,口腔内扫描仪在捕获特定图像或由多个图像组成的帧期间的移动速度)、捕获特定图像期间口腔内扫描仪的取向。2D图像能够包括深度图像(例如,记录用于确定正在被扫描/成像的对象的3D结构的数据的图像)和彩色图像(例如,记录与正在被扫描/成像的对象的颜色有关的数据的图像)。在一些技术中,相同的图像能够同时用作深度图像和彩色图像,而在其他技术中,用于构建虚拟模型的3D结构的图像和用于计算虚拟模型的颜色的图像是完全分开的。
在扫描之后和/或在扫描期间,包括深度数据的图像被提供给计算正在被扫描/成像的对象的3D几何形状的算法。该算法基于多个图像确定全局坐标系(即在扫描期间定义扫描仪位置的同一全局坐标系)中的点云。点云表示扫描/成像对象的3D几何结构。在实施例中,着色能够使用下文描述的过程直接发生在点云上。
替代地,在构建点云之后,网格划分算法基于点云计算3D网格。3D网格将拓扑添加到由点云表示的3D几何形状中。在实施例中,一旦构建了3D网格,就能够根据下文描述的过程对网格的多边形的顶点着色。
替代地或附加地,可以利用纹理算法来确定纹理图集(即,包含颜色信息的纹理图像,其包括多个纹素(每个“纹素”是纹理图像的像素)以及纹理图集和3D网格之间的映射)。与点云3D模型中的点的着色或多边形网格顶点的着色不同,纹理图集解决方案还允许对纹理图集内的各个纹素进行着色,这样当在相应的3D网格上渲染时,多边形内的单独像素可以单独被着色,以实现更准确和真实的着色。本文描述的解决方案为与纹理图集中的纹素相对应的3D网格上的每个点(其可以包括网格多边形内的点)识别颜色。在这样的实施例中,为了在显示器上显示/渲染纹理化3D模型,可以将纹理图集、3D网格以及它们之间的映射提供给渲染引擎。
上述3D着色模型中个每一个的着色技术,即对点云3D模型中的点进行着色、对3D网格模型中的顶点进行着色以及对待应用到3D网格模型的纹理图集的点(纹素)进行着色,涉及计算待着色的点/纹素中的每一个的颜色的核心过程。为了计算单个相应3D点的颜色,从正在建模的实际对象的扫描捕获获得的包括该点的图像集(例如,来自扫描的帧图像、或合成图像或由此生成的其他处理图像)通过确定该点是否位于图像中的每一个的视锥中而被识别。另外,对于该点位于其视锥中的被识别图像中的每一个,执行遮挡测试以确定在每个相应图像中该点是否被某个其他结构(例如另一个点或多边形网格中的某个其他多边形(例如,三角形))遮挡。然后,对于被确定为包括该点的无阻挡视图的每个图像(即,对于具有对应于该点的像素的每个图像),例如基于相机垂直度、扫描仪移动速度(即,在获取该帧期间扫描仪的移动速度的测量值)、焦距和其他标准来为图像中的该点的颜色计算质量因子。N个最佳(例如15个最佳)图像(根据加权质量因子确定)被保留,其余的被丢弃。然后,该点的最终颜色被确定为N个最佳图像的加权平均值。
在各种不同的实施例中,本文描述的方法和系统能够以不同的序列执行不同的测试和/或计算,其用于确定不同图像对于计算3D点的颜色的适合性。例如,在一些实施例中,可以在考虑视锥之前执行遮挡测试。另外,在遮挡测试和视锥确定中的任一个或两者之前可以考虑其他考虑因素。例如,在执行视锥分析和/或遮挡测试之前,可以排除焦距或扫描仪移动速度超过相应阈值的所有图像。此处未具体指出的各种其他序列也可用于不同的实施例中。
在某些实施例中,N个最佳2D彩色图像的选择能够在2阶段滤波过程中执行。例如,为了识别出N个最佳2D彩色图像,着色算法能够首先进行粗略滤波,以排除3D网格中不包括该点或者在3D网格中该点被遮挡的所有2D彩色图像。为了快速排除在3D网格上该点被遮挡/阻挡的2D彩色图像,可以使用八叉树模型。粗略滤波由此能够基于硬性标准(即,确定图像是否包括与3D网格中的特定点相对应的任何颜色数据的标准)来排除图像。粗略滤波还能够排除从距离3D网格中的该点大于阈值距离的位置处捕获的2D彩色图像。粗略滤波还能够基于其他标准,例如软性标准(即,用于评估对应于特定点的颜色数据的适用性的标准)来排除其他2D图像。
在对2D彩色图像进行粗略滤波之后,剩余的2D彩色图像(所有这些图像都具有包含在3D网格中的该点的视锥)能够通过精细滤波过程进一步滤波,以识别用于3D网格中的相应点的N个最佳图像。精细滤波过程包括为剩余的2D彩色图像中的每一个分配适合性分数,以确定它们是否适合用于为3D模型或纹理图集中的相应点提供颜色。一旦分配了适合性分数,就识别出N个最佳图像(例如,具有高于阈值适合性分数的所有图像或N个最高适合性分数图像),并且对这些图像的颜色进行加权以确定3D模型中的点的颜色或映射到3D空间中相应点的纹理图集中的纹素。在对剩余图像进行评分时,可以计算获取不同颜色参数(例如RGB)的图像的不同相机的位置和/或在获取与不同颜色参数相对应的数据的不同时间点时的相机的位置,例如,通过使用来自元数据的扫描仪移动速度、扫描仪位置和扫描仪取向,从实际获取深度数据的假设位置计算。由此,精细滤波能够基于软性标准从包括与3D网格中的特定点相对应的颜色数据的图像集中选择最佳图像用于对点进行着色。
根据本公开的一方面的技术计算诸如口腔结构之类的对象的3D点云模型中的点颜色。在该技术中,过程识别3D模型的多个点中的点集,3D模型中的每个相应的被识别点由3D坐标系中的坐标值定义。该过程为3D模型中的每个被识别点确定相应的颜色信息值。根据该技术,通过识别从口腔结构的至少一部分的图像扫描捕获的图像集来确定相应的颜色信息值,所识别的图像集每个都包括对应于3D模型中相应点的对应点并且每个都具有相关联的颜色信息,将与所识别的扫描图像中的每一个的对应点相关联的颜色信息组合成颜色信息值,并将组合的颜色信息值与3D模型中的相应点的相应颜色信息值相关联。
根据本公开的另一方面的技术计算3D多边形网格的多边形的顶点的顶点颜色。在该技术中,过程识别3D多边形网格模型中的一组顶点。该过程为3D模型中的每个被识别的顶点确定相应的颜色信息值。根据该技术,通过识别从口腔结构的至少一部分的图像扫描捕获的图像集来确定相应的颜色信息值,所识别的图像集每个都包括与3D模型中的相应顶点相对应的对应点并且每个都具有相关联的颜色信息,将与所识别的扫描图像中的每一个的对应点相关联的颜色信息组合成颜色信息值,并将组合的颜色信息值与3D模型中的相应点的相应颜色信息值相关联。
根据本公开的另一方面的技术通过使用纹理图集来计算3D网格模型的各个3D点的颜色,但是为其计算颜色的每个相应点本身不必位于顶点的几何结构上。相反,为其计算颜色的各个3D点能够位于构成3D网格模型的表面图元(surface primitives)的边缘或内部,例如位于3D三角形网格的三角形的边缘或内部。根据本公开的技术还能够计算扫描未创建3D几何形状的区域的颜色。例如,根据本公开的技术能够计算多边形网格的多边形内部的平坦区域的颜色,从而允许甚至为具有非常大的多边形(例如三角形)的3D网格提供高分辨率纹理。因此,本技术的方法独立于拓扑分辨率,这允许由此生成的颜色数据经受住位置平滑(即,在空间中稍微移动点)和拓扑编辑,例如点和多边形的移除。本技术还能够用于对扫描后创建的区域进行着色,以便例如填充孔。
根据其中3D模型是使用纹理图集进行纹理化的3D三角形网格的实施例,在每个三角形的每个顶点处存在显式点/法线,沿着每个三角形的每个边存在无穷多个隐式点/法线,并且在三角形中的每一个的内部都存在无穷多个隐式点/法线。能够为网格确定对应于扫描图像的密度的纹理分辨率,即能够为每个三角形指定多个纹素。例如,可以为给定三角形指定十个纹素(每个顶点一个,每个边两个,内部区域一个)。两个三角形能够组合以形成纹理图块,该纹理图块包括4×4(即16)个纹素(即2个独立顶点、2个共享顶点、所述两个三角形的5个边中的每一个都有2个点、所述两个三角形的每个内部区域有1个点)。此后,可以将二维(2D)图像坐标系中的2D坐标分配给每个三角形,使得它们正确地映射到适当的纹理图块。
在构建纹理图集的纹理图块时,三角形被迫对齐在一起。特别是,一对中的两个三角形通过旋转顶点/法线/颜色索引来对齐在一起,使得共享边始终是三角形的第一条边。通过假设共享对角线始终是两个三角形的第一条边,用于组装图块的算法的其余部分不会与任何边缘情况发生冲突,不会分支,并且易于跟随。在三角形内旋转索引的缺点是它会修改输入网格的拓扑。然而,在当前上情况中生成3D网格的纹理图集时,这样的缺点并不是特别有问题。
使用某些优化技术能够减少纹理图集中的低效率(就浪费的纹素而言)。第一种优化技术是将三角形网格的大量单独的三角形组装成图块条,而不是简单地将三角形配对成图块。当两个相邻的三角形组合形成单个图块时,沿三角形共享边的纹素(即沿图块对角线的纹素)是共享的,但每个三角形的其他两条边的纹素在纹理图集中不与在网格中共享所述边的其他三角形共享。因此,纹理图包括多个重复纹素,即来自对应于3D网格中的同一点的不同纹理图块的纹素。如果正确的图块彼此相邻放置(使得每个图块边缘上的纹素对应于3D网格中的相同边缘和顶点)以形成图块条,则可以移除重复的纹素,并且纹理图集中的(u,v)坐标可以沿着3个三角形边中的2个共享。为了以这种方式生成纹理图集,不是在水平方向上彼此相邻地放置不相关的图块,而是将沿着图块的边缘共享同一组纹素的图块在水平方向上彼此相邻地布置,使得共享的纹素集在图集中重叠。相邻的图块能够以这种方式彼此相邻地布置,直到到达纹理的边界(然后能够在纹理的相对边界处开始新的条)。这种技术能够将纹理文件的大小减少大约25%,这是一个不可忽略的内存量。
生成纹理图集时的第二种优化技术是根据颜色均匀性减小图块大小。以颜色质量损失为代价,可以检查图块内容的颜色均匀性,并且如果颜色均匀性高于阈值,则可以压缩图块,即可以降低纹素密度。例如,4×4纹素图块能够被压缩为2×2纹素图块(如果颜色大致均匀),或者如果图块内的颜色非常均匀,甚至可以压缩为单个纹素。
根据本公开的一方面,提供了一种用于生成诸如口腔结构之类的对象的三维(3D)模型的纹理的方法。该方法包括提供诸如口腔结构之类的对象的3D模型,该对象的3D模型以多边形网格的形式提供,该多边形网格包括在3D坐标系中配准的多个连接的多边形,以及识别位于多边形网格上的点集,点集中的每个相应点由3D坐标系中的坐标值定义。该方法还包括为点集中的每个相应的点确定相应纹理值。通过识别帧集、对帧集进行滤波以识别帧的子集、以及确定相应纹理值的候选纹理值集来确定每个相应纹理值,每个候选纹理值对应于帧的子集中的相应帧。通过针对候选纹理值集中的每个相应候选纹理值计算质量因子,并且通过基于其相应的质量因子组合从候选纹理值集中选择的候选纹理值来计算相应点的相应纹理值,来进一步确定每个相应纹理值。该方法还包括创建纹理图集,该纹理图集以二维(2D)纹理图像的形式提供,该2D纹理图像包括多个纹素,以及2D纹理图像中的每个相应纹素和位于3D坐标系中多边形网格上的对应点之间的映射。2D纹理图像中的每个相应纹素具有等于为点集中的对应于相应纹素的相应点确定的相应纹理值的值。
在用于生成口腔结构的3D模型的纹理的方法中,对于多边形网格中的每个相应的多边形,位于多边形网格上的点集能够包括至少一个点。对于多边形网格中的每个相应的多边形,位于多边形网格上的点集能够包括至少一个顶点、至少一个边缘点和至少一个内部点。在一些实施例中,多边形网格中的每个多边形是三角形,并且其中,对于多边形网格中的每个相应的三角形,位于多边形网格上的点集包括三个顶点、至少三个边缘点和至少一个内部点。
在该方法中,帧集中的每个帧能够包括深度图像和合成彩色图像,并且3D网格是使用来自各个深度图像的深度数据构造的3D网格。合成彩色图像能够包括多个颜色通道。
在该方法中,确定与帧的子集中的相应帧相对应的每个相应候选纹理值能够包括对于相应帧的合成彩色图像的多个颜色通道中的每个相应颜色通道确定颜色通道贡献,并且组合每个相应的颜色通道贡献以提供相应的候选纹理值。帧的子集中的每个帧的合成彩色图像能够是单色图像的组合,每个单色图像对应于所述多个颜色通道中的相应颜色通道。对于合成彩色图像的每个相应颜色通道确定颜色通道贡献能够包括基于与对应于相应颜色通道的单色图像相对应的3D坐标系中的相机位置和为其计算相应纹理值的相应点在3D坐标系中的坐标值,确定单色图像中的像素,并且提供所确定的像素的像素值作为相应颜色通道的颜色通道贡献。每个合成图像的每个相应的单色图像可以独立地与3D坐标系中的相应相机位置相关联。
在该方法中,对帧集进行滤波以识别该帧的子集可以包括针对帧集中的每个相应帧执行以下至少一项:相机垂直度测试,其分析对应于相应帧的相机传感器平面和位于多边形网格上的相应点的法线之间的垂直度;相机距离测试,其分析在3D坐标系中对应于相应帧的相机捕获位置与位于多边形网格上的相应点之间的距离;视锥测试,其确定位于多边形网格上的相应点是否位于与相应帧对应的视锥中;或者遮挡测试,其分析位于多边形网格上的点是否位于与相应帧对应的被多边形网格的其他表面阻挡的图像中。
在该方法中,针对候选纹理值集中的每个相应候选纹理值计算质量因子能够包括基于以下至少一项为帧的子集中的每个相应帧分配加权因子:在与相应帧对应的相机传感器平面与位于多边形网格上的相应点的法线之间的垂直度;在3D坐标系中,与相应帧对应的相机捕获位置与位于多边形网格上的相应点的之间的距离;与相应帧对应的扫描仪的移动速度、或者相应候选纹理值的白度。
在该方法中,通过基于其相应的质量因子组合从候选纹理值集中选择的候选纹理值来计算相应点的相应纹理值可以包括基于其相应的质量因子选择候选纹理值的子集并且对由候选纹理值的子集中的每个候选纹理值提供的各个颜色通道值进行平均。
根据本公开的一方面,提供了一种其上存储有处理器可执行指令的非暂时性计算机可读介质。处理器可执行指令被配置为使得处理器执行一种用于生成诸如口腔结构之类的对象的三维(3D)模型的纹理的方法。该方法包括提供对象的3D模型,该对象的3D模型以多边形网格的形式提供,该多边形网格包括在3D坐标系中配准的多个连接的多边形,以及识别位于多边形网格上的点集,点集中的每个相应点由3D坐标系中的坐标值定义。该方法还包括为点集中的每个相应点确定相应纹理值。通过识别帧集、对帧集进行滤波以识别帧的子集、以及确定相应纹理值的候选纹理值集来确定每个相应纹理值,每个候选纹理值对应于帧的子集中的相应帧。通过针对候选纹理值集中的每个相应候选纹理值计算质量因子,并且通过基于其相应的质量因子组合从候选纹理值集中选择的候选纹理值来计算相应点的相应纹理值,来进一步确定每个相应纹理值。该方法还包括创建纹理图集,该纹理图集以二维(2D)纹理图像的形式提供,该2D纹理图像包括多个纹素,以及2D纹理图像中的每个相应纹素和位于3D坐标系中多边形网格上的对应点之间的映射。2D纹理图像中的每个相应纹素具有等于针对点集中的对应于相应纹素的相应点确定的相应纹理值的值。
根据本公开的一个方面,提供了一种用于生成诸如口腔结构之类的对象的三维(3D)模型的纹理的系统。该系统包括被配置为提供对象的3D模型的处理电路,该对象的3D模型以多边形网格的形式提供,该多边形网格包括在3D坐标系中配准的多个连接的多边形。处理电路还被配置为识别位于多边形网格上的点集,点集中的每个相应点由3D坐标系中的坐标值定义,以及为点集中的每个相应点确定相应纹理值。通过识别帧集、对帧集进行滤波以识别帧的子集、以及确定相应纹理值的候选纹理值集来确定每个相应纹理值,每个候选纹理值对应于帧的子集中的相应帧。通过针对候选纹理值集中的每个相应候选纹理值计算质量因子,并且通过基于其相应的质量因子组合从候选纹理值集中选择的候选纹理值来计算相应点的相应纹理值,来进一步确定每个相应纹理值。处理电路还被配置为创建纹理图集,该纹理图集以二维(2D)纹理图像的形式提供,该2D纹理图像包括多个纹素,以及2D纹理图像中的每个相应纹素以及位于3D坐标系中多边形网格上的对应点之间的映射。2D纹理图像中的每个相应纹素具有等于针对点集中的对应于相应纹素的相应点确定的相应纹理值的值。
图2示出了被设计为获取扫描数据以构建牙列和口腔组织的3D虚拟模型的口腔内扫描仪。口腔内扫描仪包括其中设置有多个相机和照明光源的手持件。相机可以包括例如被配置为获取其中投射有紫外光的图像的相机以及红、绿和蓝色单色相机(被配置为捕获红、绿和蓝色单色图像)。照明光源能够被配置为投射紫外图案光以及白色或红色、绿色和蓝色(RGB)光。UV光和白光/RGB光可以由不同的光源提供。口腔内扫描仪还包括被配置为捕获数据的多个不同的传感器,以及被配置为将由传感器捕获的数据与由相机捕获的图像相关联的处理电路,例如通过将数据和图像两者与时间戳相关联。传感器包括位置、取向和速度传感器,其本身可以包括一个或更多个加速计和/或一个或更多个陀螺仪。图3示出了包括图2的口腔内扫描仪的口腔内扫描仪硬件平台。图3的硬件平台还包括推车和安装在推车上的显示器。图3的硬件平台还可以包括被配置为处理由图2的口腔内扫描仪获取的数据的另外的处理电路,例如如图12中所描述的处理系统。图4示出了包括图2的口腔内扫描仪的替代口腔内扫描仪硬件平台。图4的替代硬件平台包括连接口腔内扫描仪的膝上型计算机。膝上型计算机可以包括被配置为处理由图2的口腔内扫描仪获取的数据的另外的处理电路,例如如图12中所描述的处理系统。作为包括被配置为处理由口腔内扫描仪获取的数据的另外的处理电路的替代,图3的硬件平台和图4的替代硬件平台两者可以经由数据连接连接到例如位于云中的这样的另外的处理电路。替代平台可以包括被设计成执行本文描述的扫描图像捕获和图像处理的硬件、计算硬件和软件的任意组合。
图5是示出用于构建一个或更多个对象或目标区域(下文中称为“对象”)(诸如牙科患者的牙列和口腔结构)的纹理化3D虚拟模型的过程的流程图。在501处,例如通过图2的口腔内扫描仪执行3D扫描。3D扫描过程包括重复捕获序列中的图像,每个图像序列构成一帧。在图6和图7以及下文提供的它们的对应描述中分别更详细地图示和描述了示例3D扫描过程和示例图像捕获过程。
在502处,基于在501处执行的3D扫描和图像捕获来计算3D点云。在实施例中,3D扫描模型的预期格式是点云。在这样的实施例中,在503处,点云中的点的颜色信息被计算并被应用以构建彩色点云形式的彩色3D模型510。
在替代实施例中,3D模型可以是包括多个多边形(例如三角形或其他形状)的3D网格。在这样的实施例中,3D网格中的每个多边形由点集(当提及3D网格中的点时,每个这样的点称为“顶点”)和围绕多边形的周长连接点集的一组边来定义。在多边形网格中,每个多边形包括至少3条边,并且许多多边形位于网格中以便与相邻多边形共享两个顶点和一条边。为了说明的目的,将以三角形网格来进行讨论,即,由连接点云3D扫描模型中的点的多个三角形构成的3D三角形网格,其中这些点是三角形的顶点。应当理解,网格可以使用其他多边形形状来构造,例如四边形(4个顶点,4条边)。在三角形网格实施例中,在504处,基于在501处执行的3D扫描和图像捕获以及在502处计算的点云来计算3D三角形网格。通过网格划分算法来计算3D三角形网格。网格划分算法接收点云作为输入并从中计算三角形网格。作为三角形网格的替代方案,该过程还可以使用不同的网格划分算法,从而将点云转换为由替代多边形图元构造的网格。该过程还可以使用将点云转换为由其他表面图元(例如参数化表面)构造的3D网格的算法。在505处,计算3D三角形网格中每个顶点的颜色。在503处为点云计算点或在505处为3D三角形网格计算顶点之后,在510处生成彩色3D模型(点云或网格)。
在替代实施例中,3D模型可以是具有根据纹理图集映射到3D网格的纹理的3D网格,由此纹理图集包括映射到3D网格多边形的边缘上和/或3D网格多边形内的点的纹理点,而不仅仅是网格的顶点。代替为多边形顶点计算颜色信息或者除了为多边形顶点计算颜色信息之外,在505处,为3D网格计算纹理。纹理计算过程在图8至图11以及下文提供的它们的对应描述中被更详细地图示和描述。在为3D网格计算纹理之后,在520处渲染并输出纹理化3D网格。
在图6和图7A-7C以及下文提供的它们的对应描述中更详细地图示和描述了在503处的点云颜色计算、在505处的网格顶点颜色计算或在506处的纹理计算中的每一个的颜色数据获取过程。
图6是示出根据实施例的3D扫描过程的流程图。在602处,执行图像和元数据捕获过程并且获取初始图像集及其对应的元数据。图像集包括至少深度图像和彩色图像。深度图像为2D图像中的每个像素提供深度值,而彩色图像为2D图像中的每个像素提供RGB值。获取深度图像和彩色图像的图像捕获过程在图7A至图7C以及下文提供的其对应描述中被更详细地图示和描述。通过图像捕获过程获取的图像集能够通常作为合成图像集立即被存储在非易失性存储器中,和/或在易失性存储器中保存一段时间。
在603至607处,执行一系列评估以确定在602处捕获的彩色图像是否将被选为用于计算颜色信息值的候选图像。扫描仪以恒定的帧速率连续获取图像和帧,无论在连续图像/帧捕获之间是否发生扫描仪运动。但是,为了限制写入存储器的数据总量(从而减小扫描文件的大小),同时确保获取、存储高质量的数据,并随后将其用于点云、3D网格和纹理图集的构建,可以丢弃新获取的彩色图像,或者视情况删除先前获取的彩色图像。
在603处,该过程评估与在602处捕获的彩色图像相同的邻域中的彩色图像先前是否已被捕获并保存到例如非易失性存储器。为了确定是否已经保存了这样的彩色图像,搜索先前保存的彩色图像以确定602的图像和元数据捕获过程期间扫描仪的线性和/或角位置是否位于在提供先前保存的彩色图像的先前捕获过程中扫描仪的线性和角位置的位移阈值内。存储器内数据结构能够用于以促进这样的搜索的方式存储元数据(在602中以及在之前的图像和元数据捕获过程中捕获的)。如果(i)在602处捕获彩色图像期间的扫描仪位置位于相应的先前保存的彩色图像的捕获期间的扫描仪位置的阈值距离内以及(ii)在602处捕获彩色图像期间的扫描仪取向位于相应的先前保存的彩色图像的捕获期间的扫描仪取向的阈值转动内,则在602处捕获的彩色图像被确定为与先前保存的彩色图像处于相同的邻域内。因此,位移阈值具有两个分量:平移分量和转动分量。平移分量由扫描仪的相机的视场驱动:如果相机具有更宽的视场(FOV),则位移阈值可以更高,以避免后续图像中过多的数据重复。但是,如果相机的FOV较窄,则阈值应较低,以确保最终保存的纹理图像集有足够的重叠,以避免最终纹理中出现空白。转动分量与扫描仪的角运动相关。如果扫描仪静止但其取向发生充分变化,则新图像可能会看到在从不同的扫描仪取向获取的先前获取的图像中被遮挡的模型部分。
如果该过程在603处确定在扫描仪在602处捕获彩色图像期间所在的邻域中不存在先前捕获的候选彩色图像,则该过程在604处将在602处捕获的彩色图像存储为候选彩色图像,即被选择在对3D模型进行着色或纹理化时考虑的图像。将在602处捕获的彩色图像存储为候选彩色图像可以包括例如将候选彩色图像存储在非易失性存储器中的指定位置处以及从易失性存储器中删除候选彩色图像。此后,过程进行到607,在607处确定扫描是否完成。
替代地,如果该过程确定在602处捕获彩色图像(即,“新彩色图像”)期间扫描仪所在的邻域中存在先前捕获的候选彩色图像(具体地,先前保存的彩色图像),在605处,该过程评估新彩色图像是否具有相对于相同邻域中先前保存的彩色图像的改进。在确定新彩色图像是否具有相对于相同邻域中先前保存的彩色图像的改进时,与先前保存的彩色图像在相同邻域中的捕获位置相比,该过程评估新彩色图像是否是从更靠近目标物体(例如口腔结构)的位置捕获的。在确定新彩色图像是否具有改进时,该过程还能够评估在获取新彩色图像期间以及在获取相同邻域中的先前保存的彩色图像期间扫描仪的移动速度。
如果该过程在605处确定新彩色图像具有改进,则在606处删除相同邻域中的先前保存的彩色图像。此后,该过程在604处将新彩色图像(在602捕获)存储为候选彩色图像,即被选择在对3D模型进行着色或纹理化时考虑的图像。替代地,如果该过程确定新的彩色图像不会是改进,则该过程前进至607,其中在607处确定扫描是否完成。
在607,该过程评估扫描是否完成。当用户明确地终止扫描过程以便停止在602处图像和元数据的捕获时,扫描完成。因此,直到用户终止扫描过程为止,扫描仪在602处继续获取图像和元数据并如在603至606处所描述的处理所捕获的数据,直到在607接收到终止扫描的用户输入。当扫描完成时,该过程在608处存储每个候选彩色图像的元数据。元数据能够被存储为单个文件并且对于每个图像能够包括时间戳、捕获位置、捕获取向、扫描仪移动速度和相机校准信息。此后,该过程结束。
图7A是示出根据实施例的图像捕获过程的流程图。在701处,扫描仪,例如图1的口腔内扫描仪,投射图案化的紫外(UV)光并在投射图案化的UV光的同时捕获图像。所捕获的图像是正在被扫描的对象(例如口腔结构)的图像。在701处捕获的图像随后被用来计算深度图像,其为图像的每个像素提供深度值。然后,深度图像与许多其他深度图像一起用于计算被扫描物体的3D几何形状。
在702处,扫描仪投射均匀红光并在均匀红光被投射在其上的同时捕获图像(R图像)。在703处,扫描仪投射均匀绿光并捕获均匀绿光被投射在其上的图像(G图像)。在704处,扫描仪投影均匀蓝光并在均匀蓝光被投射在其上的同时捕获图像(B图像)。在702、703和704处捕获的图像也是正在被扫描的对象(例如口腔结构)的图像。在701、702、703和704处获取的图像共同构成单帧的四个图像:UV图像、R图像、G图像和B图像。在本公开的与图7A所示不同的替代方面中,能够获取单个彩色图像(例如,使用白光和多色图像传感器),而不是如图7所示的一系列彩色图像。在实施例中,UV图像、R图像、G图像和B图像中的每一个是从感测UV范围、R范围、G范围和B范围内的光的单色相机获取的。然后,由相应的UV单色相机、R单色相机、G单色相机和B单色相机捕获的相应的UV图像、R图像、G图像和B图像可以相对于彼此进行偏移和/或时间校正,并且组合成单个合成图像,能够从该单个合成图像提取或设置UV通道信息、R通道信息、G通道信息和B通道信息中的每个。当本文一般提及“图像”时,术语图像可以指在同一文件中包含UV信息、R信息、G信息和B信息的合成图像,或者可以指单独的单色UV图像、R图像、G图像和B图像。
以恒定速率执行在701、702、703和704处的单色图像的获取,使得帧中每个连续单色图像的捕获之间的时间差是恒定的。例如,可以以每秒120个图像的速率来捕获图像,这对应于连续图像的捕获之间稍微超过8毫秒的时间段。因为扫描仪是可移动的并且因此可以在捕获连续图像期间移动,所以来自一个图像(例如,R图像)中的第一位置的像素可以对应于待扫描的对象的位于第二图像(例如G图像)中的不同的第二位置的像素处的相同点。为了对齐不同的图像,使得帧的不同单色图像中的相同位置中的像素对应于待扫描的物体的相同点,可能需要移动图像以补偿所述扫描仪移动。
在705处,将在701处捕获的UV图像、在702处捕获的R图像、在703处捕获的G图像和在704处捕获的B图像组合成单个合成图像。合成图像包括通道(通道中的每一个对应于在701至704处捕获的相应图像并且能够独立地被访问)并且为每个像素提供深度值和RGB值。由于单个通道之间的时间差,RGB值中的每一个和UV值本质上会相互偏移。此外,由于3D点云是根据UV通道提供的深度数据构建的,因此合成图像的RGB值相对于与合成图像的UV值相对应的3D几何形状的点本质上会相互偏移。
图7B和图7C示出了扫描仪移动对单个帧的连续单色图像的捕获位置的影响以及通道移位校正的应用以产生校正的合成彩色图像。如图7B所示,扫描仪的移动导致不同相机的不同捕获位置:时间t处的UV图像、时间t+x处的R图像、时间t+2x处的G图像以及时间t+3x处的B图像。从图7C中也可以看出,组合所述四个图像并执行通道偏移校正,由此R、G和B图像根据扫描仪移动而偏移以确保其像素与UV图像的像素正确对准——提供校正的合成彩色图像,所述校正的合成彩色图像为其每个像素提供R、G和B值。
图8示出了对3D模型进行着色的过程。在801A或801B处,该过程从存储器加载点云(801A)或三角形网格(801B),并且在801C处加载在正在建模的对象的扫描期间获取的合成扫描图像集并将其存储到存储器中,并且在801D处,加载与在扫描期间获取的合成扫描图像相关联的图像元数据。在该过程的一些实现中,从存储器加载的每个相应图像文件包括与该图像相关联的元数据,而在替代实现中,每个相应图像文件包括与存储在较大元数据文件内的元数据集相对应的标识符。与每个相应合成扫描图像相关联的图像元数据包括例如识别扫描仪(或其某些组件,例如扫描仪中的单独相机)所在的3D坐标系中的点的图像捕获位置、扫描仪移动速度(即,口腔内扫描仪在捕获相应图像或包括相应图像的帧的期间的移动速度),以及口腔内扫描仪在捕获特定图像期间的取向(例如,角位置)。在获取构成帧的图像或图像集期间,由口腔内扫描仪基于位于其中/其上的传感器提供的数据来计算图像元数据。
在802A处,该过程执行遮挡测试以便在考虑可能用于确定3D网格上的相应点的颜色的候选图像时确定合成扫描图像的快速排除,在这些合成扫描图像中3D网格上的相应点被遮挡(由于3D空间中的另一个对象遮挡了视图中的相应点)。在图8所示的过程中,遮挡测试是通过计算遮挡八叉树模型并将其中相应点被遮挡的那些图像排除在考虑之外来执行的。八叉树模型遮挡剔除是计算机图形领域中经常使用的众所周知的分层遮挡剔除技术。然而,用于确定3D网格上的相应点是否在单独的合成图像中被遮挡(即不可见)的替代技术也可以使用。
在802B处,该过程创建帧对象。帧对象是允许合成图像(例如,如在705处构造的)中的每一个,并且更具体地,所述合成图像的每个通道的颜色数据(例如,如在702至704处获取的)被精确地投射到3D网格上的数据结构。在图9以及下文提供的其相应描述中更详细地图示和描述了可以在802B处创建帧对象的过程的示例。
如果待着色的3D模型是点云,则在803处,该过程基于来自在802A处的遮挡剔除之后剩余的合成扫描图像的集合的候选图像集来为点云的每个点计算颜色。图10A以及下文提供的其相应描述中更详细地图示和描述了用于计算点云的每个点的颜色的示例过程。
如果待着色的3D模型是基于顶点着色技术的3D网格,则在804处,该过程可以基于来自在802A处的遮挡剔除之后剩余的合成扫描图像的集合的候选图像集来为3D网格的每个顶点计算颜色。图10A以及下文提供的其相应描述中更详细地图示和描述了用于计算3D网格的每个顶点的颜色的示例过程。
如果待着色的3D模型是使用纹理技术的待着色的3D网格,则在805处,该过程可以为3D网格的每个表面图元的每个点计算颜色。例如,对于3D三角形网格,针对构成网格一部分的每个三角形,该过程为每个顶点、为每个边缘上的两个点(例如,在边缘长度的33%和66%处)、以及为中心的单个点计算颜色。用于为3D三角形网格的每个三角形计算颜色的示例过程在图10A至图10C以及下文提供的相应描述中被更详细地图示和描述。
在806处,该过程基于在805处计算的颜色创建纹理图块。为了对三角形网格进行纹理化,每个纹理图块是纹素的正方形2D阵列,其包含在805处为一对三角形计算的颜色信息。因此,这对三角形的共享边由纹理图块的对角线表示,纹素图块的所述四个角是顶点颜色,图块每侧的两个纹理元素是边缘颜色,其余两个纹素是质心颜色。图10B中描绘了单个纹理图块的示例。在807处,该过程创建纹理图集文件。纹理图集文件是图像文件,其中包含整个3D三角形网格的所有图块。纹理图集是通过以网格状方式布置所有纹理图块来构建的。图10C示出了不同分辨率级的纹理图集。在808处,该过程创建2D到3D图块图像映射,对于具有3D坐标(x,y,z)的三角形网格的每个顶点,所述2D到3D图块图像映射给出该顶点在纹理图中的匹配像素的2D坐标(u,v)。一旦纹理图集文件和2D到3D映射完成,那么为了在显示器上显示/渲染纹理化3D模型,3D三角形网格(在801B处下载的)、纹理图集文件(在807处创建的),以及其间的2D到3D映射(在808处创建的)能够被提供给渲染引擎,渲染引擎能够渲染纹理化3D模型以用于显示。
图9示出了用于创建帧对象的过程。在901处,该过程从存储器加载合成扫描图像(例如,如在705处构建的),并且在902处,该过程从存储器加载与相应合成扫描图像相关联的元数据。合成扫描图像例如被存储为JPG文件,而元数据例如被存储为包括大量合成扫描图像的元数据的二进制文件的一部分,或者存储为仅包括相应合成扫描图像的元数据的较小二进制文件。元数据可以包括例如时间戳、图像捕获位置(在扫描期间由口腔内扫描仪保持的全局3D坐标系中定义)、扫描仪移动速度(即,口腔内扫描仪在捕获特定图像或由多个图像组成的帧的期间的移动速度),以及口腔内扫描仪的取向(例如,扫描仪在捕获特定图像或由多个图像组成的帧的期间的转动角度和纵向和/或横向倾斜的程度)。可以基于时间戳(也可以存储为图像文件的一部分)或通过与元数据相关集合和图像文件相对应的标识符,将元数据集合与特定合成扫描图像匹配。
在903处,该过程从存储器加载相机校准信息。相机校准信息提供相机的位置和取向(或者对于包括多个相机的口腔内扫描仪,多个相机中的每一个的位置和取向)与口腔内扫描仪的位置和取向之间的关系。换言之,相机校准信息允许该过程基于口腔内扫描仪的位置和取向(由口腔内扫描仪记录为元数据)来确定当获取图像时,获取合成扫描图像(或者在705处被组合以形成合成图像的各个单色图像)的相机(或多个相机)的准确位置和取向。
在904处,该过程针对在扫描期间捕获的彩色图像中的每一个计算相机的位置和取向。具体地,该过程使用图像元数据和相机校准信息作为输入来计算当获取单色数据时获取用于合成扫描图像的每个颜色通道的所述单色数据的相机的准确位置。例如,该过程基于与相应合成扫描图像相对应的扫描仪位置和扫描仪移动速度来确定与相应合成扫描图像的每个颜色通道相对应的扫描仪位置。在一些实施方式中,如果在匹配到合成扫描图像的元数据集合中还提供了扫描仪取向的变化率,则根据所记录的元数据,该过程还能够确定与合成扫描图像的每个颜色通道相对应的扫描仪取向。替代地,可以针对合成扫描图像的每个颜色通道假设存储在元数据集合中的扫描仪取向。此后,该过程可以使用相机校准信息以及针对合成扫描图像的每个相应颜色通道的扫描仪位置和取向来确定获取单色图像的相机的准确位置,在相应单色图像被获取时该单色图像为相应颜色通道提供数据。以这种方式,该过程提供了对例如图7B和图7C以及本文提供的其相应描述中描述的通道偏移的补偿。具体地,对于每个合成扫描图像的每个相应颜色通道,该过程提供与相应颜色数据耦合的相机位置和取向。相机位置和取向可以是例如全局3D坐标系中的表示相机的图像传感器的表面的平面表面。
在905处,该过程确定是否还存在尚未为其创建帧对象(即,与相机位置和取向耦合的颜色通道数据的组合)的剩余合成扫描图像。如果有另外的图像剩余,则过程返回到901,在901处加载新的合成扫描图像。如果没有剩余图像,则该过程结束。
图10A示出了用于为3D模型(例如,3D点云或3D网格中)中的每个点或待应用于3D网格的纹理(即,用于为纹理图集的每个纹素计算颜色)计算颜色的过程。在1001处,该过程选择点云或3D网格中的未着色的点(适合于所追求的着色类型——例如,点云着色、网格顶点着色或纹理着色)。在实施例中,图10A所示的实现方式可用于计算为3D模型生成的纹理的点颜色,该3D模型是3D三角形网格,并且每个三角形包括10个点,每个点对应于纹理图集中的单个纹素:3个顶点、所述三个三角形边缘中的每一个的2个点,以及三角形内部的单个点(即质心)(参见图10B)。在创建纹理图集时,3D三角形网格中的三角形被配对形成单个4×4纹素图块。以这种方式,对于两个三角形,三角形的2个共享顶点和共享边缘的2个点均能够由单个纹素表示。换言之,对于三角形对的每个点,能够由纹理图集中的16个纹素表示颜色。
在1002处,该过程进入循环,由此在802B处创建的帧对象集的每个帧对象被认为是用于向在1001处选择的点贡献颜色信息的候选。具体地,在1002处,该过程选择尚未测试其向在1001处选择的点贡献颜色信息的适合性的帧对象。在1003处,该过程从该点发射光线到帧对象。更具体地,该过程从1001处选择的点发射射线到在获取所选择的帧对象的图像期间相机的位置。对于在获取所选择的帧对象的颜色通道数据期间相机的位置,该过程能够使用对应于所选择的帧对象的合成图像的图像捕获位置(其被存储为与所述合成图像相关联的元数据)。替代地,该过程能够使用帧对象的相机位置(例如,如在904处针对合成图像确定的相机的位置和取向)或帧对象的单独颜色通道的相机位置(例如,如在904处确定的)。
在1004,该过程对于在1002处所选择的帧对象和在1003处发射的射线确定该射线是否位于帧对象的视锥内。如果在1003处发射的射线不位于在1002处所选择的帧对象的视锥内,则过程进行到1006,在1006处针对在1001处选择的点忽略该帧。为了忽略该帧,该过程可以例如:用当过程到达1010时被清除的临时指定来标记该帧。在忽略该帧之后,该过程进行到1010——在1010处确定对于在1001处选择的点是否有另外的、未测试的帧对象剩余。如果,然而,在1003处发射的射线确实位于在1002处所选择的帧对象的视锥内,该过程进行到1005。
在1005处,该过程执行遮挡测试以确定在1003处发射的射线在其从1001处选择的点到扫描仪的位置的路径期间是否与点云中的任何其他部分点或三角形网格的任何其他部分相交。如果在1003处发射的射线确实在其到扫描仪位置的路径上与点云点或三角形网格相交,则在所选择的帧对象中,在1001处选择的点在相机的视野中被阻挡(即它被点云中的另一个点或三角形网格的另一部分阻挡,并且不会出现在所选择的帧对象的图像中)。如果在1003处发射的射线被确定与点云中的另一点或三角形网格的另一部分相交,则过程进行到1006,在1006处对于在1001处所选择的点,所选择的帧对象被忽略。然而,如果在1003处发射的射线不与三角形网格相交,过程进行到1007。
在1007处,该过程单独计算在1001处选择的点在1002处选择的帧对象的每个颜色通道中的准确像素位置。具体地,该过程在1007处计算所选择的帧对象的合成图像的每个相应颜色通道图像的准确像素。如以上结合图9所述,帧对象为多个不同颜色通道中的每一个提供单色图像以及相关联的相机位置和取向。在1007处,该过程针对每个相应的单色图像并且基于所述相应的单色图像的相关联的相机位置和取向来计算与在1001处选择的点相对应的像素。该过程由此在1007处提供在1001处选择的点的单色像素值——对于每个相应的颜色通道。在1008处,该过程组合相应的单色像素值以从在1002处选择的帧对象提供在1001处选择的点的校正像素颜色。
在1009处,该过程计算在1008处识别的校正像素颜色的质量因子。为了计算校正像素颜色的质量因子,该过程能够考虑多个不同的标准。例如,该过程能够考虑在全局3D坐标系中从在1001处选择的点到相机的位置(即在1003处发射射线时使用的相机的位置)的距离,以及所述距离与获取该帧对象的颜色数据的相机的焦距之间的差。该过程还能够考虑对应于帧对象的扫描仪移动速度(如存储在元数据中),以及相机与在1001处选择的点之间的垂直度。为了确定相机与在1001处选择的点之间的垂直度,该过程能够确定在1001处选择的点的法线与相机的视图矢量之间的角度(其能够使用相机的位置和取向来确定,例如,如在904处针对帧对象确定的)。在3D网格中,为了确定在1001处选择的点的法线,该过程考虑点的类型。如果在1001处选择的点是质心,则法线沿垂直于质心对应的三角形所在平面的方向延伸。如果在1001处选择的点位于三角形的相应边缘上(并且更具体地,在由两个三角形共享的单个相应边缘上),则法线在垂直于共享相应边的第一三角形所在平面的第一方向和垂直于也共享相应边的第二三角形所在平面的第二方向的平均的方向上延伸。如果在1001处选择的点是顶点,则可以根据所有相邻三角形的法线来计算法线。对于顶点,法线的计算能够从一个实施例到另一个实施例变化——或者甚至在单个实施例中从一个点到另一个点变化。例如,对于顶点,法线的计算能够是所有相邻三角形法线的平均值。替代地,对于顶点,法线的计算能够考虑顶点处的三角形的内角,以便确定用于对相邻三角形的法线的贡献进行加权的比例因子。
在1009处确定校正像素颜色的质量因子时,该过程能够利用不同的加权因子。可以选择不同的加权因子来考虑帧的不同属性以确定其质量。例如,相机传感器平面相对于目标点的法线的低垂直度能够指示该像素来自相机以太大角度观察目标点的图像。高扫描仪移动速度表明出现模糊的可能性较高。此外,高移动速度会导致合成彩色图像中的通道偏移更大,这可能更难校正。如果图像边缘存在畸变,则离图像中心太远的像素发生畸变的可能性更高。该点到相机的距离越大,表明颜色受光强度衰减影响的可能性就越高。像素本身的高白度可以表明它是镜面反射像素,并且颜色受到反射的过度影响。
图13A和图13B示出了能够结合为在1001处选择的点在1009处确定校正像素颜色的质量因子来执行的测试。除了与在1009处确定质量因子结合使用之外,图13A和图13B所示的测试也能够用于图10A所示的过程中,结合在1004处执行的视锥分析和在1005处执行的遮挡测试,以确定对于在1001处选择的点,应当忽略在1002处选择的帧对象。图13C示出了用于确定在1001处选择的点是否在与1002处选择的帧对象相对应的图像内部的视锥分析(例如,用于经由图9的过程创建在1002处选择的帧对象的合成图像或此类合成图像的一个或更多个单独的单色图像)。图13C所示的视锥分析能够用于图10A所示的过程的1004。图13D示出了用于确定在1001处选择的点是否在对应于1002处选择的帧对象的图像中被三角形网格的一部分遮挡而无法从相机看到的遮挡测试。为了确定在1001处选择的点是否在与所选择的帧对象对应的图像中被遮挡而无法从相机看到,遮挡测试能够确定从1001处选择的点发射到相机位置的射线是否与三角形网格相交。图13D所示遮挡测试能够用于图10A所示的过程的1005。在点云3D模型的情况下,遮挡测试能够确定从在1001处选择的点发射到相机的位置的射线是否与沿着相机与在1001处选择的点之间的射线的另一点相交。如果是,则在1001处选择的点被遮挡。
图13A示出相机垂直度测试,其中确定在1001处选择的点(例如,点1302.1、1302.2、...、1302.n之一)的法线与相机1301的相机传感器平面之间的垂直度。为了确定目标点的法线与相机传感器平面之间的垂直度,该点的法线与相机的视图矢量1303之间的角度(即,相机传感器平面的法线,其能够使用相机的位置和取向来确定,例如,如在904处针对帧对象所确定的)能够被计算。通常,在1001处选择的点的法线与相机传感器平面之间的垂直度越高,由相应图像提供的颜色数据的质量越好并且在1009处确定的质量因子越高。在相机垂直测试用于确定对于在1001处选择的点是否忽略在1002处选择的帧对象(即,在与图10A所示的过程的1004和1005结合使用相机垂直测试的情况下)的实施例中,如果相机的垂直度低于阈值,则对于目标点,所选择的帧对象被忽略。例如,如果该点的法线与相机的视图矢量1303之间的角度落在特定范围之外,则忽略所选择的帧对象。例如,在图13A中,对于点1302.4、1302.5、1302.7和1302.8,具有对应于视图矢量1303的相机取向的帧对象将被忽略。
图13B示出了距离测试,其中确定从相机1301到在1001处选择的点(例如,点1302.1、1302.2、...、1302.n之一)的距离。距离测试能够例如确定相对于相机1301的焦距从相机1301到目标点的距离。通常,相机的焦距越接近从相机到目标点的距离,由对应图像提供的颜色数据的质量越好,并且在1009处确定的质量因子越高。在使用距离测试来确定是否对于在1001处选择的点忽略在1002处选择的帧对象的实施例中(即,当距离测试与图10A中所示的过程的1004和1005结合使用时),如果从相机到目标点的距离(对于在1002处选择的帧对象)小于下限阈值(即图13B中的1304A)或大于上限阈值(即图13B中的1304B),则对于目标点而言,所选择的帧对象被忽略。例如,在图13B中,由于相机距离低于下限阈值1304A,对于点1302.1来说,具有对应于相机1301的相机位置的帧对象将被忽略,并且由于相机距离超过上限阈值1304B,对于点1302.8和1302.9来说,具有对应于相机1301的相机位置的帧对象也将被忽略。
图13C示出了内部图像测试,即确定在1001处选择的点是否位于与在1002处选择的帧对象相对应的图像的视锥内的测试。内部图像测试能够被执行,例如在图10A的过程的1004处,并且能够用于确定在1001处选择的点在与在1002处选择的帧对象相对应的图像(例如,用于经由图9的过程创建在1002处选择的帧目标的合成图像或这样的合成图像的一个或更多个单独单色图像)中是否可见。例如,在图13C,对于点1302.1、1302.2和1302.4,对应于视锥1305的帧对象将被忽略。
图13D示出了遮挡测试,即确定在1001处选择的点是否在与在1002处选择的帧对象相对应的图像中从相机1301的视野中被遮挡的测试。遮挡测试能够确定从在1001处选择的点发射到相机1301的位置的射线是否与点云点(在3D模型是点云的情况下)或三角形网格(在3D模型是3D网格或纹理化网格的情况下)相交,并且能够例如在图10A所示的过程的1005处使用。图13D示出了从点1302.3发射到相机1301的射线1306.3,以及从点1302.6发射到相机1301的射线1306.6。如图13D所示,射线1306.6与连接点1302.1、1302.2、...1302.n的表面相交。因此,对于点1302.6,对应于相机1301的位置的帧对象将被忽略。在图13D中,对于之前在图13A至图13C中排除的其他点不发射射线。在图10A中描述的过程的实施例中,对于目标点来说,一旦帧对象被忽略,则不需要执行另外的测试来确定该点是否也应基于另外的理由而被忽略。
回到图10A,在1010处,该过程确定对于在1001处选择的点是否剩余一个或更多个未测试的帧对象。如果剩余一个或更多个这样的帧对象,则过程返回到1002,然后对另一相交像素颜色继续计算另一质量因子或在返回到1010之前忽略另一帧对象。相反,对于在1001处选择的点没有剩余未测试的帧对象,过程进行到1011,在1011处计算在1001处选择的点的最终颜色。
为了在1011处计算在1001处选择的点的最终颜色,该过程基于在1009处确定的质量因子识别N个最佳校正像素集。然后对于在1001处选择的点,将最终颜色计算为N个最佳校正像素的加权平均值。
在1012处,该过程确定是否有一个或更多个未着色的点剩余。如果有一个或更多个未着色的点剩余,则过程返回到选择新的未着色的点的1001,然后在返回到1012之前继续计算该点的最终点颜色。如果没有未着色的点剩余,则过程结束。
图11A示出了牙齿1102的纹理化(即彩色的)3D虚拟模型1101,而图11B示出了对应于图11A的牙齿的纹理化3D虚拟模型的3D三角形网格1103。提供给图11A的3D虚拟模型的纹理以三角形网格的形式提供,通过图5的过程及其组成子过程生成,如上所述。以这种方式创建的纹理为牙科实验室提供了增强的颜色细节,这对于牙齿修复体和假体的美容修饰至关重要,并且改进的纹理还使患者和从业者能够通过更好地可视化现有的牙科病理来就潜在的治疗计划做出更明智的决定。根据前述过程创建的纹理的分辨率独立于由三角形网格体现的几何信息的分辨率,并且即使在由非常粗糙的几何细节(例如大三角形)构造的表面上也提供非常精细的颜色细节。
图12是能够被配置为执行本文公开的操作的示例性处理系统的框图。参考图12,处理系统1200能够包括一个或更多个处理器1202、存储器1204、一个或更多个输入/输出设备1206、一个或更多个传感器1208、一个或更多个用户界面1210以及一个或更多个致动器1212。处理系统1200能够代表本文公开的每个计算系统。
处理器1202能够包括一个或更多个不同的处理器,每个处理器具有一个或更多个核心。分别的处理器中的每一个可以具有相同或不同的结构。处理器1202可以包括一个或更多个中央处理单元(CPU)、一个或更多个图形处理单元(GPU)、电路(例如,专用集成电路(ASIC))、数字信号处理器(DSP)等。处理器1202能够安装到公共基板或多个不同的基板。
处理器1202被配置成至少当分别的处理器中的一个或更多个之一能够执行体现功能、方法或操作的操作时执行某一功能、方法或操作(例如,被配置成允许功能、方法或操作的执行)。处理器1202能够通过例如执行存储在存储器1204上的代码(例如,解释脚本)和/或通过一个或更多个ASIC交易数据来执行体现功能、方法或操作的操作。处理器1202以及因此处理系统1200能够被配置为自动执行本文公开的任何和所有功能、方法和操作。因此,处理系统1200能够被配置为实现本文描述的协议、设备、机制、系统和方法中的任何一个(例如,所有)。
例如,当本公开声明方法或设备执行任务“X”(或者任务“X”被执行)时,这样的声明应当被理解为公开处理系统1200能够被配置为执行任务“X”。处理系统1200被配置为至少当处理器1202被配置为执行功能、方法或操作时执行相同的功能、方法或操作。
存储器1204能够包括易失性存储器、非易失性存储器和能够存储数据的任何其他介质。易失性存储器、非易失性存储器和任何其他类型的存储器中的每一个能够包括位于多个分别的位置处并且每个具有不同结构的多个不同存储设备。存储器1204能够包括远程托管(例如,云)存储。
存储器1204的示例包括非暂时性计算机可读介质,例如RAM、ROM、闪存、EEPROM、任何类型的光存储盘(例如DVD、Blu-光盘)、磁存储、全息存储、HDD、SSD、任何可用于以指令或数据结构的形式存储程序代码的介质等。本文描述的任何和所有方法、功能和操作能够以保存在存储器1204中的有形和/或非暂时性机器可读代码(例如,可解释脚本)的形式完全体现。
输入-输出设备1206能够包括用于交易数据的任何组件,例如端口、天线(即,收发器)、印刷导电路径等。输入-输出设备1206能够实现经由以太网等的有线通信。输入-输出设备1206能够实现与合适的存储器1206的电子、光学、磁和全息通信。输入-输出设备1206能够实现经由蜂窝(例如,/> )、GPS等的无线通信。输入-输出设备1206能够包括有线和/或无线通信路径。
用户界面1210能够包括显示器、物理按钮、扬声器、麦克风、键盘等。致动器1212能够使得处理器1202能够控制机械力。
处理系统1200能够是分布式的。例如,处理系统1200的一些组件能够驻留在远程托管网络服务(例如,云计算环境)中,而处理系统1200的其他组件能够驻留在本地计算系统中。处理系统1200能够具有模块化设计,其中某些模块包括图12中所示的多个特征/功能。例如,I/O模块可以包括易失性存储器和一个或更多个处理器。作为另一个示例,单独的处理器模块能够包括只读存储器和/或本地高速缓存。
虽然已经在附图和前面的描述中详细图示和描述了本公开的主题,但是这样的图示和描述应被认为是说明性或示例性的而不是限制性的。本文中做出的表征本发明的任何陈述也应被认为是说明性或示例性的,而不是限制性的,这是因为本发明由所附权利要求限定。应当理解,本领域普通技术人员可以在所附权利要求的范围内做出改变和修改,其可以包括来自上述不同实施例的特征的任意组合。
权利要求中使用的术语应被解释为具有与前述描述一致的最宽泛的合理解释。例如,在介绍元素时使用冠词“一个”或“所述”不应被解释为排除多个元素。同样,“或”的叙述应被解释为包含性的,使得“A或B”的叙述不排除“A和B”,除非从上下文或前面的描述清楚地表明旨在A和B中的仅一个。此外,“A、B和C中的至少一个”的表述应当被解释为由A、B和C组成的一组要素中的一个或更多个,并且不应被解释为需要所列出的元素A、B和C中的每个中的至少一个,无论A、B和C是否作为类别相关或以其他方式相关。此外,“A、B和/或C”或“A、B或C中的至少一个”的叙述应解释为包括来自所列处的要素的任何单数实体(例如,A)、来自所列处的要素的任何子集(例如,A和B)或元素A、B和C整个列表。

Claims (19)

1.一种用于生成口腔结构的三维(3D)模型的纹理的方法,所述方法包括:
提供所述口腔结构的3D模型,所述口腔结构的3D模型以多边形网格的形式被提供,所述多边形网格包括在3D坐标系中配准的多个连接的多边形;
识别位于所述多边形网格上的点集,所述点集中的每个相应点由所述3D坐标系中的坐标值定义;
为所述点集中的每个相应点确定相应纹理值,其中,每个相应纹理值通过以下方式确定:
识别帧集,
对所述帧集进行滤波以识别帧的子集,
为所述相应纹理值确定候选纹理值集,每个候选纹理值对应于所述帧的子集中的相应帧,
为所述候选纹理值集中的每个相应候选纹理值,计算质量因子,以及
通过基于其相应质量因子组合从所述候选纹理值集中选择的候选纹理值来为所述相应点计算所述相应纹理值;以及
创建纹理图集,所述纹理图集以二维(2D)纹理图像的形式被提供,所述2D纹理图像包括多个纹素,以及所述2D纹理图像中的每个相应纹素与位于所述3D坐标系中的多边形网格上的对应点之间的映射,
其中,所述2D纹理图像中的每个相应纹素具有等于为点集中的对应于所述相应纹素的相应点确定的相应纹理值的值。
2.根据权利要求1所述的方法,其中,对于所述多边形网格中的每个相应多边形,位于所述多边形网格上的所述点集包括至少一个点。
3.根据权利要求1所述的方法,其中,对于所述多边形网格中的每个相应多边形,位于所述多边形网格上的所述点集包括至少一个顶点、至少一个边缘点和至少一个内部点。
4.根据权利要求1所述的方法,其中,所述多边形网格中的每个多边形是三角形,并且其中,对于所述多边形网格中的每个相应三角形,位于所述多边形网格上的所述点集包括三个顶点、至少三个边缘点,以及至少一个内部点。
5.根据权利要求1所述的方法,其中,所述帧集中的每个帧包括深度图像和合成彩色图像,并且其中,所述3D网格是使用来自相应深度图像的深度数据构造的3D网格。
6.根据权利要求1所述的方法,其中,所述帧的子集中的每个相应帧包括合成彩色图像,所述合成彩色图像包括多个颜色通道。
7.根据权利要求6所述的方法,其中,确定与所述帧的子集中的相应帧相对应的每个相应候选纹理值包括:
对于所述相应帧的合成彩色图像的多个颜色通道中的每个相应颜色通道,确定颜色通道贡献,以及
组合每个相应颜色通道贡献以提供相应候选纹理值。
8.根据权利要求7所述的方法,其中,所述帧的子集中的每个帧的合成彩色图像是单色图像的组合,每个单色图像对应于所述多个颜色通道中的相应颜色通道。
9.根据权利要求8所述的方法,其中,对于所述合成彩色图像的每个相应颜色通道确定颜色通道贡献包括:
基于与对应于所述相应颜色通道的单色图像对应的所述3D坐标系中的相机位置以及为其计算所述相应纹理值的相应点的3D坐标系中的坐标值,确定单色图像中的像素,并提供所确定的像素的像素值作为所述相应颜色通道的颜色通道贡献。
10.根据权利要求9所述的方法,其中,每个合成图像的每个相应单色图像独立地与所述3D坐标系中的相应相机位置相关联。
11.根据权利要求1所述的方法,其中,对所述帧集进行滤波以识别所述帧的子集包括针对所述帧集中的每个相应帧执行以下至少一项:相机垂直度测试,其分析与所述相应帧相对应的相机传感器平面和位于所述多边形网格上的相应点的法线之间的垂直度;相机距离测试,其分析在所述3D坐标系中与所述相应帧相对应的相机捕获位置与位于所述多边形网格上的相应点之间的距离;视锥测试,其确定位于所述多边形网格上的相应点是否位于对应于所述相应帧的视锥中;或者遮挡测试,其分析位于所述多边形网格上的点是否在对应于所述相应帧的图像中被所述多边形网格的其他表面阻挡。
12.根据权利要求1所述的方法,其中,为所述候选纹理值集中的每个相应候选纹理值计算质量因子包括为所述子帧集中的每个相应帧基于以下至少一项分配加权因子:对应于所述相应帧的相机传感器平面与位于所述多边形网格上的所述相应点的法线之间的垂直度;在所述3D坐标系中在对应于所述相应帧的相机捕获位置与位于所述多边形网格上的所述相应点之间的距离;对应于所述相应帧的扫描仪移动速度、或者所述相应候选纹理值的白度。
13.根据权利要求1所述的方法,其中,通过基于其相应质量因子组合从所述候选纹理值集中选择的候选纹理值来为所述相应点计算所述相应纹理值包括:基于其相应质量因子选择所述候选纹理值的子集并对由所述候选纹理值的子集中的每个候选纹理值提供的单个颜色通道值进行平均。
14.一种其上存储有处理器可执行指令的非暂时性计算机可读介质,所述处理器可执行指令被配置为使得处理器执行用于生成口腔结构的三维(3D)模型的纹理的方法,所述方法包括:
提供所述口腔结构的3D模型,所述口腔结构的3D模型以多边形网格的形式被提供,所述多边形网格包括在3D坐标系中配准的多个连接的多边形;
识别位于所述多边形网格上的点集,所述点集中的每个相应点由所述3D坐标系中的坐标值定义;
为所述点集中的每个相应点确定相应纹理值,其中,每个相应纹理值通过以下方式确定:
识别帧集,
对所述帧集进行滤波以识别帧的子集,
为所述相应纹理值确定候选纹理值集,每个候选纹理值对应于所述帧的子集中的相应帧,
为所述候选纹理值集中的每个相应候选纹理值,计算质量因子,以及
通过基于其相应质量因子组合从所述候选纹理值集中选择的候选纹理值来为所述相应点计算所述相应纹理值;以及
创建纹理图集,所述纹理图集以二维(2D)纹理图像的形式被提供,所述2D纹理图像包括多个纹素,以及所述2D纹理图像中的每个相应纹素与位于所述3D坐标系中的多边形网格上的对应点之间的映射,
其中,所述2D纹理图像中的每个相应纹素具有等于为点集中的对应于所述相应纹素的相应点确定的相应纹理值的值。
15.一种用于生成口腔结构的三维(3D)模型的纹理的系统,所述系统包括:
处理电路,其被配置为:
提供所述口腔结构的3D模型,所述口腔结构的3D模型以多边形网格的形式被提供,所述多边形网格包括在3D坐标系中配准的多个连接的多边形;
识别位于所述多边形网格上的点集,所述点集中的每个相应点由所述3D坐标系中的坐标值定义;
为所述点集中的每个相应点确定相应纹理值,其中,每个相应纹理值通过以下方式确定:
识别帧集,
对所述帧集进行滤波以识别帧的子集,
为所述相应纹理值确定候选纹理值集,每个候选纹理值对应于所述帧的子集中的相应帧,
为所述候选纹理值集中的每个相应候选纹理值,计算质量因子,以及
通过基于其相应质量因子组合从所述候选纹理值集中选择的候选纹理值来为所述相应点计算所述相应纹理值;以及
创建纹理图集,所述纹理图集以二维(2D)纹理图像的形式被提供,所述2D纹理图像包括多个纹素,以及所述2D纹理图像中的每个相应纹素与位于所述3D坐标系中的多边形网格上的对应点之间的映射,
其中,所述2D纹理图像中的每个相应纹素具有等于为点集中的对应于所述相应纹素的相应点确定的相应纹理值的值。
16.一种对口腔结构的三维(3D)模型中的点进行着色的方法,所述方法包括:
提供所述口腔结构的3D模型,所述口腔结构的3D模型包括在3D坐标系中配准的多个点;
识别所述3D模型的所述多个点中的点集,所述3D模型中的每个相应的识别点由所述3D坐标系中的坐标值定义;
对于所述3D模型中的每个识别点,确定相应的颜色信息值,所述相应的颜色信息值通过以下方式确定:
识别从所述口腔结构的至少一部分的图像扫描捕获的图像集,所识别的图像集每个都包括对应于所述3D模型中的相应点的对应点并且每个都具有相关联的颜色信息;
将与所识别的扫描图像中的每一个中的对应点相关联的颜色信息组合为颜色信息值;和
将所述组合的颜色信息值与所述3D模型中的相应点的相应颜色信息值相关联。
17.根据权利要求16所述的方法,所述口腔结构的3D模型包括点云,所述点云包括在3D坐标系中配准的多个点并表示所述口腔结构。
18.根据权利要求16所述的方法,所述口腔结构的3D模型包括多边形网格,所述多边形网格包括在3D坐标系中配准的多个连接的多边形,其中,所识别的点集位于所述多边形网格上。
19.根据权利要求18所述的方法,其中,所识别的点集包括所述多边形网格中的多边形的顶点。
CN202280053603.0A 2021-06-22 2022-06-22 构建牙齿结构的纹理化3d模型 Pending CN118055728A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163213389P 2021-06-22 2021-06-22
US63/213,389 2021-06-22
PCT/IB2022/055804 WO2022269520A1 (en) 2021-06-22 2022-06-22 Constructing textured 3d models of dental structures

Publications (1)

Publication Number Publication Date
CN118055728A true CN118055728A (zh) 2024-05-17

Family

ID=82403952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280053603.0A Pending CN118055728A (zh) 2021-06-22 2022-06-22 构建牙齿结构的纹理化3d模型

Country Status (6)

Country Link
US (1) US20240144600A1 (zh)
EP (1) EP4358825A1 (zh)
CN (1) CN118055728A (zh)
BR (1) BR112023027068A2 (zh)
CA (1) CA3223424A1 (zh)
WO (1) WO2022269520A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8144954B2 (en) * 2007-11-08 2012-03-27 D4D Technologies, Llc Lighting compensated dynamic texture mapping of 3-D models
EP3268935A1 (en) * 2015-03-09 2018-01-17 Carestream Dental Technology Topco Limited Apparatus and method of texture mapping for dental 3d scanner
US11651494B2 (en) * 2019-09-05 2023-05-16 Align Technology, Inc. Apparatuses and methods for three-dimensional dental segmentation using dental image data

Also Published As

Publication number Publication date
BR112023027068A2 (pt) 2024-03-12
EP4358825A1 (en) 2024-05-01
CA3223424A1 (en) 2022-12-29
WO2022269520A1 (en) 2022-12-29
US20240144600A1 (en) 2024-05-02

Similar Documents

Publication Publication Date Title
JP6487580B2 (ja) テクスチャ的特徴を用いる物体の3dモデル化方法
US8532355B2 (en) Lighting compensated dynamic texture mapping of 3-D models
US8487962B2 (en) Augmented reality system for a dental laboratory
US9245374B2 (en) Space carving in 3D data acquisition
US7840042B2 (en) Superposition for visualization of three-dimensional data acquisition
CN106456292B (zh) 用于收集与正在经历3d扫描的对象有关的颜色信息的系统、方法、设备
US20060127854A1 (en) Image based dentition record digitization
CN106408664B (zh) 一种基于三维扫描装置的三维模型曲面重建方法
WO2020037582A1 (en) Graph-based key frame selection for 3-d scanning
KR102534778B1 (ko) 3차원 데이터 획득 방법, 장치 및 그 방법을 수행하는 프로그램이 저장된 컴퓨터 판독 가능 저장 매체
US20240144600A1 (en) Constructing textured 3d models of dental structures
JP2022064313A (ja) 三次元の歯科構造のカラー画像の比較
US20230298270A1 (en) Method and device for acquiring three-dimensional data, and computer-readable storage medium storing program for performing method
JP2018159703A (ja) 物体の三次元表面形状を撮る方法
EP4287202A1 (en) Digital dental impressions
CN109003676A (zh) 一种牙齿美学设计方法与装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication