当前位置: 首页 > news >正文

论文阅读:“Appearance Capture and Modeling of Human Teeth”

文章目录

  • Abstract
  • Introduction
  • Method Overview
  • Teeth Appearance Model
    • Enamel
    • Dentin
    • Gingiva and oral cavity
  • Data Acquisition
    • Image capture
    • Geometry capture
  • Results
  • References

Abstract

如果要为电影,游戏或其他类型的项目创建在虚拟环境中显示的人类角色,我们通常需要获取人体的几何表示及其散射参数(用于表达人体几何表示与场景光线之间的交互)。牙齿不仅需要通过光与表面的交互来定义,同时需要通过其内部几何形状和口内环境来定义,所以这提出了一个独特的挑战。

因此,迪士尼提出了一种专门用于捕捉真人牙齿光学特性的系统,用以支持在计算机图形中重新渲染它们。研究人员在传统的多相机与光源设置中获取的口腔内环境数据,并且利用了口腔扫描的精确几何形状。为了模拟反向渲染期间口腔中光线的复杂相互作用,他们采用了基于衍生路径追踪的新型管道来参照牙齿表面的光学性质和几何形状。

迪士尼指出,最终的外观能够忠实地还原真人牙齿,并且可直接用于传统的路径追踪框架以渲染虚拟人类

Introduction

尽管相关领域已存在大量的研究,特别是在医疗牙科领域,但捕捉牙齿形状及其在口腔内的位置,并且获取它们的光学性质一直是个挑战。

每个人的牙齿都会因为个人习惯、年龄、社会经济背景等呈现出独特的特征。尽管现在绝大多数的口扫设备可以捕捉颜色信息,但它们不能表达出牙齿的一些复杂光学特性,因此展现的结果很不自然,如下图所示。

在这里插入图片描述

牙齿的散射特性由其最外层的两种光学特性迥异的材料决定,如下图所示:

在这里插入图片描述
内核由牙本质(dentin)构成,牙本质对色度的影响最大,也是牙齿发亮的原因。牙本质上覆盖着一层厚度不等的牙釉质(enamel)。牙龈处的牙釉质通常较薄,而牙尖处的牙釉质较厚,这就造成了色度的渐变。牙釉质是一种结构致密的材料,但比牙本质薄。它具有高度的半透明性。

在微观层面上,牙釉质是由从牙本质向表面延伸的棒状物(enamel rods)形成的,会造成强烈的各向异性光传播。半透明的牙釉质显示出乳白色的特征,使牙齿在蓝色光谱中产生反向散射,因此从另一面看会呈现红黄色。牙齿表面的变化、裂纹、污渍和其他瑕疵也为牙齿外观增添了一层丰富的视觉效果。

迪士尼团队补充了现有的形状重建方法,如口腔内扫描或口腔外适配。他们利用了通过口腔内扫描和片段获取的几何参数,并根据 Wu 等人的说法(Model-Based Teeth Reconstruction,牙齿重建方面开创性的一篇文章,值得阅读)等方法从多个视角和多种照明条件对嘴部区域进行成像,通过这种方法获取了外观数据。

为了模拟口腔内光线的复杂交互和牙齿体积,迪士尼团队利用了一个修改过的路径追踪框架来估算导数与优化参数的关系,并同时执行常规渲染。基本上,他们的方法迭代解决了整个可见场景下的辐射传递整数。此外,文章不仅只是优化了散射参数(反照率,密度,表面纹理),同时还优化了几何参数(牙本质表面形状)。研究人员根据基本的牙釉质形状建模了牙本质形状,并将其作为一组变形,从而能够在优化循环中以参数进行控制。

迪士尼利用了从口腔科获取的一颗坏死牙齿来验证他们的解决方案,并进一步应用于实际的被试身上(如下图)。他们指出:“在这两种情况下,我们的方法都能够逼真地创建了牙齿的整体外观。由于应用于优化循环的主要框架是基于路径追踪,由此得到的参数只需小幅度的修改即可用于重新渲染牙齿。”

在这里插入图片描述
[Various comparisons of our recovered teeth appearance parameters rendered next to corresponding reference images, from different viewpoints and lighting conditions. Reference images are on the left for individual teeth comparisons, and above for full teeth rows.]

Method Overview

光线在与牙齿相互作用时会经过许多路径。首先,光线与表面相互作用,表面的特点是有一个粗糙的电介质层(dielectric layer),然后被反射或折射到内部。内部的相互作用主要由牙齿的两层决定:牙釉质和牙本质。因此,研究人员确定了定义牙齿外观的三组参数:表面反射率和透射率次表面散射参数内部牙本质形状。该方法旨在得出一组合理的模型参数,以便在牙齿相对于口腔被外部照射的情况下进行高质量的渲染。

Teeth Appearance Model

Enamel

牙釉质边界是牙齿的外部边界,以三角形网格建模。为了模拟光与空气-牙釉质边界的相互作用,文章中使用了改进版的光滑介质 BSDF,它采用了用 "薄 "电介质层分隔空气和牙釉质的概念。

BSDF(双向散射分布函数)是一个在计算机图形学和物理光学中使用的术语,用于描述一个表面如何散射和吸收光线。BSDF可以看作是一个函数,它接受入射光的方向和表面材料的特性,然后返回一个值,这个值表示了从该方向入射的光线在被表面散射后,在特定方向上离开表面的强度。

更具体地说,BSDF 定义了从入射方向( ω i \omega_i ωi)到出射方向( ω o \omega_o ωo)的光线散射概率密度。

Dentin

牙釉质层的厚度在很大程度上影响着到达牙齿牙本质的光量,因此对整体外观有重大影响。文章使用一组变形定义的混合形状模型来模拟牙釉质-牙本质界面,从而改变厚度:
V = B 0 + c ⋅ ( B − B 0 ) T V=B_0+c\cdot (B-B_0)^T V=B0+c(BB0)T其中, B B B 代表混合形状模型, B 0 B_0 B0 为初始模型, c c c 则为向量权重。通过实验,研究人员得出结论:三种模式就足以捕捉到牙釉质厚度差异引起的散射的大部分可见变化。这些模式代表了典型牙齿空间中沿三个主要轴线的变形;如下图所示。

在这里插入图片描述

Gingiva and oral cavity

牙龈以及整个口腔确实对牙齿的外观有间接影响,因为它们会将皮肤色光散射到牙齿上。为了解释这种散射光,防止优化预测出有色牙齿,必须对其进行建模。

牙龈的模型是一个三角形网格,包裹着牙根的外部边界。由于可以直接观察牙龈,因此这里使用与牙釉质相同的参数集,通过数值优化提取牙龈的外观,折射率固定不变( η = 1.33 \eta=1.33 η=1.33)。

口腔高度闭塞,难以捕捉,但由于光线从口腔壁反弹并照亮阴影区域,因此对外观影响很大。文章使用了一个替代网格(substitute mesh),将漫反射设置为自由参数。其起点是通过相似性理论和之前优化牙龈散射参数得出的平均值。

Data Acquisition

Image capture

在这里插入图片描述

为了获得准确的外观参数,研究人员需要对入射光和出射光的方向进行密集采样。为此,在一个由 155 盏灯(每盏灯都是 RGB LED 三连灯)组成的光罩中拍摄每名志愿者,每盏灯距离牙齿约一米。由于头部的 occlusions,研究人员记录了 54 盏灯的图像,涵盖了所有可见的入射方向。

研究人员用三台彩色摄像机(Ximea CB200CG)捕捉多视角图像,摄像机安装在灯罩边缘,配有长镜头,以最大限度地提高牙齿的分辨率,记录 2000 万像素的图像,并与各个灯的激活同步。

Geometry capture

仅凭捕捉到的图像不足以进行外观优化,因为还需要了解牙齿的几何形状。虽然存在轻量级的牙齿重建方法,但它们无法恢复牙齿背面的准确形状,只能在图像覆盖率较低的地方假设牙齿的形状。由于需要评估 volumetric light paths,因此研究人员需要精确的牙齿四面边界。

在这里插入图片描述

研究人员使用口内扫描仪对志愿者的牙齿进行专业扫描。为了分割扫描中的牙齿并将它们从牙龈中分离出来,文章使用了 Wu 等人 [3] 描述的半自动模板拟合方法将模板牙齿网格与扫描几何图形对齐。由于牙齿的外观与牙龈紧密相连,研究人员还根据扫描结果对牙龈的几何形状进行了艺术建模。最后,通过手动选择一组稀疏的 corresponding landmarks 并求解刚性变换,将得到的牙齿几何形状和牙龈模型与相机坐标框架对齐。

Results

在这里插入图片描述


在这里插入图片描述

References

[1] Velinov, Z., Papas, M., Bradley, D., Gotardo, P., Mirdehghan, P., Marschner, S., … & Beeler, T. (2018). Appearance capture and modeling of human teeth. ACM Transactions on Graphics (ToG), 37(6), 1-13.
[2] “迪士尼提出了一种专门用于逼真捕捉真人牙齿光学特性的系统”,映维网,https://www.sohu.com/a/285369063_213766
[3] Wu, C. , Bradley, D. , Garrido, P. , Zollhfer, M. , Theobalt, C. , & Gross, M. , et al. (2016). Model-based teeth reconstruction. International Conference on Computer Graphics and Interactive Techniques. ACM.

相关文章:

论文阅读:“Appearance Capture and Modeling of Human Teeth”

文章目录 AbstractIntroductionMethod OverviewTeeth Appearance ModelEnamelDentinGingiva and oral cavity Data AcquisitionImage captureGeometry capture ResultsReferences Abstract 如果要为电影,游戏或其他类型的项目创建在虚拟环境中显示的人类角色&#…...

初学vue3与ts:路由跳转带参数

index-router <!-- 路由跳转 --> <template><div><div class"title-sub flex"><div>1、用router-link跳转带参数id1&#xff1a;</div><router-link to"./link?id1"><button>点我跳转</button>&…...

JAVAEE---多线程

线程安全 这段代码执行结果就就是一个不确定的数&#xff0c;就存在线程安全问题。 为了解决这样的问题我们可以对count进行打包&#xff0c;我们知道count本质上应该是由三个指令完成&#xff0c;我们可以对其打包。 这样的代码结果就是正确的。我们对对象就进行了加锁&#…...

提示工程-Prompt Engineering

提示工程 提示工程 1、概述 Prompt Engineering&#xff1a; 提示工程 通过自然语言&#xff08;英语、汉语等&#xff09;来给AI下达指示&#xff0c;从而让AI完成你指定给他的工作的过程都可以称之为提示工程。&#xff08;面向自然语言编程&#xff09; 提示词要素 指令&…...

JetLinks设备接入的认识与理解【woodwhales.cn】

为了更好的阅读体验&#xff0c;建议移步至笔者的博客阅读&#xff1a;JetLinks设备接入的认识与理解 1、认识 JetLinks 1.1、官网文档 官网&#xff1a;https://www.jetlinks.cn/ JetLinks 有两个产品&#xff1a;JetLinks-lot和JetLinks-view 官方文档&#xff1a; JetLi…...

机器人开发的选择

喷涂机器人 码垛机器人 纸箱码垛机器人 焊接机器人 跳舞机器人 管道清理机器人 工地巡检机器人 点餐机器人 化工巡检机器人 装箱机器人 安防巡检机器人 迎宾机器人好像有点像软银那个 污水管道检测机器人 大酒店用扫地机器人 家用扫地机器人 工厂用&#xff08;…...

LeetCode Hot100 102.二叉树的层序遍历

题目&#xff1a; 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 方法&#xff1a;迭代 class Solution {public List<List<Integer>> levelOrder(TreeNode root) {if …...

【Kotlin】类与接口

文章目录 类的定义创建类的实例构造函数主构造函数次构造函数init语句块 数据类的定义数据类定义了componentN方法 继承AnyAny&#xff1a;非空类型的根类型Any?&#xff1a;所有类型的根类型 覆盖方法覆盖属性覆盖 抽象类接口:使用interface关键字函数&#xff1a;funUnit:让…...

Wagtail-基于Python Django的内容管理系统CMS如何实现公网访问

Wagtail-基于Python Django的内容管理系统CMS实现公网访问 文章目录 Wagtail-基于Python Django的内容管理系统CMS实现公网访问前言1. 安装并运行Wagtail1.1 创建并激活虚拟环境 2. 安装cpolar内网穿透工具3. 实现Wagtail公网访问4. 固定的Wagtail公网地址 前言 Wagtail是一个…...

什么是LASSO回归,怎么看懂LASSO回归的结果

随着机器学习的发展&#xff0c;越来越多SCI文章都使用了更多有趣、高效的统计方法来进行分析&#xff0c;LASSO回归就是其中之一。很多小伙伴听说过LASSO&#xff0c;但是对于LASSO是什么&#xff0c;有什么用&#xff0c;怎么才能实现&#xff0c;大家可能一头雾水。今天的文…...

python树长子兄弟链存储结构(孩子兄弟链存储结构)

长子兄弟链存储结构&#xff08;孩子兄弟链存储结构&#xff09;解释&#xff1a; 长子兄弟链存储结构是一种树的存储结构&#xff0c;它使用孩子兄弟表示法&#xff08;也称作左孩子右兄弟表示法&#xff09;来表示树的结构。这种表示方法主要用于存储一般的树&#xff0c;而不…...

开源和闭源软件对开发的影响

开源软件的优势&#xff1a; 开源性&#xff1a;开源软件允许任何人查看、修改和发布源代码&#xff0c;这促进了代码的共享和集体学习。透明性&#xff1a;开源软件提高了软件的透明度&#xff0c;使用户可以更好地理解软件的工作原理&#xff0c;增加对软件的信任。社区支持…...

centos无法进入系统之原因解决办法集合

前言 可爱的小伙伴们&#xff0c;由于精力有限&#xff0c;暂时整理了两类。如果没有你遇到的问题也没有关系&#xff0c;欢迎底下留言评论或私信&#xff0c;小编看到后第一时间帮助解决 一. Centos 7 LVM xfs文件系统修复 情况1&#xff1a; [sda] Assuming drive cache:…...

【Linux】系统初始化配置

CentOS 7 的虚拟机安装后必须要做的几个操作&#xff0c;记录以下&#xff0c;网络配置修改、yum源安装、基础工具安装&#xff1a; 1、先修改权限&#xff0c;新建普通用户&#xff0c;并授权普通用户apps 的sudo权限&#xff1b; useradd apps password apps visudo apps A…...

使用VC++设计程序对一幅256级灰度图像进行全局固定阈值分割、自适应阈值分割

图像分割–全局固定阈值分割、自适应阈值分割 获取源工程可访问gitee可在此工程的基础上进行学习。 该工程的其他文章&#xff1a; 01- 一元熵值、二维熵值 02- 图像平移变换&#xff0c;图像缩放、图像裁剪、图像对角线镜像以及图像的旋转 03-邻域平均平滑算法、中值滤波算法、…...

【ArcGIS Pro微课1000例】0035:栅格影像拼接(dem高程数据)

本实验讲解在ArcGIS Pro中,栅格数据的两种拼接(镶嵌)方法,适用于遥感影像、DOM、DEM、DSM等常见栅格数据。 文章目录 一、加载实验数据二、栅格拼接工具1. 镶嵌2. 镶嵌至新栅格三、注意事项四、拓展阅读一、加载实验数据 加载配套实验数据中的0035.rar中的两个dem数据,如…...

Zynq-7000系列FPGA使用 Video Processing Subsystem 实现图像缩放,提供工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐FPGA图像处理方案FPGA图像缩放方案自己写的HLS图像缩放方案 3、设计思路详解Video Processing Subsystem 介绍 4、工程代码详解PL 端 FPGA 逻辑设计PS 端 SDK 软件设计 5、工程移植说明vivado版本不一致处理FPGA型号不一致处理其他注意事项…...

【C】内存函数

目录 1. memcpy 使用和模拟实现 2. memmove 使⽤和模拟实现 3. memset 函数的使用 4. memcmp 函数的使用 1. memcpy 使用和模拟实现 void * memcpy ( void * destination, const void * source, size_t num ); • 函数memcpy从source的位置开始向后复制num个字节的数据到d…...

windows系统玩游戏找不到d3dx9_35.dll缺失的解决方法

分享一个我们在打开游戏或许软件过程中遇到的问题——“由于找不到d3dx9_35.dll,无法继续执行代码”的五个修复方案。这个问题可能会影响到我们的工作和娱乐效率&#xff0c;甚至可能导致工作的延期。因此&#xff0c;我希望通过今天的文章&#xff0c;能够帮助大家更好地解决这…...

webshell之内置函数免杀

原始webshell 查杀的点在于Runtime.getRuntime().exec非常明显的特征 利用ProcessBuilder替换Runtime.getRuntime().exec(cmd) Runtime.getRuntime().exec(cmd)其实最终调用的是ProcessBuilder这个函数&#xff0c;因此我们可以直接利用ProcessBuilder来替换Runtime.getRunti…...

Wan2.1 VAE开发实战:集成至微信小程序实现前端AI绘图

Wan2.1 VAE开发实战&#xff1a;集成至微信小程序实现前端AI绘图 最近在捣鼓AI绘图应用&#xff0c;发现很多开发者把模型部署在服务器上&#xff0c;然后做个网页端就完事了。但说实话&#xff0c;现在大家更习惯用手机&#xff0c;如果能直接在微信小程序里玩AI绘图&#xf…...

突破苹果限制:用OpenCore Legacy Patcher让旧Mac焕发第二春的终极指南

突破苹果限制&#xff1a;用OpenCore Legacy Patcher让旧Mac焕发第二春的终极指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 您的MacBook Pro已经服役了…...

ncmdump终极指南:三步解锁网易云音乐NCM加密格式,实现音乐自由播放

ncmdump终极指南&#xff1a;三步解锁网易云音乐NCM加密格式&#xff0c;实现音乐自由播放 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 在数字音乐时代&#xff0c;你是否曾为网易云音乐下载的NCM格式文件无法在其他设备播放而烦…...

千问3.5-9B系统盘清理助手:智能分析C盘空间与生成清理方案

千问3.5-9B系统盘清理助手&#xff1a;智能分析C盘空间与生成清理方案 1. 引言&#xff1a;C盘爆满的烦恼与智能解决方案 电脑用久了&#xff0c;C盘变红几乎是每个Windows用户都会遇到的烦恼。系统运行变慢、软件无法更新、甚至蓝屏死机都可能与C盘空间不足有关。传统的手动…...

精简GVCP与GVSP:FPGA实现GigE Vision相机高效采集的工程实践

1. 为什么需要精简GigE Vision协议&#xff1f; 第一次接触GigE Vision相机时&#xff0c;我被它复杂的协议栈吓了一跳。完整的GigE Vision协议包含几十种功能模块&#xff0c;光是协议文档就有上千页。但在实际工业视觉项目中&#xff0c;我们往往只需要最基础的三个功能&…...

RMBG-2.0新手教程:暗黑动漫UI交互逻辑全图解,零基础5分钟上手

RMBG-2.0新手教程&#xff1a;暗黑动漫UI交互逻辑全图解&#xff0c;零基础5分钟上手 你是不是经常为了给照片抠图而头疼&#xff1f;用传统的工具&#xff0c;要么边缘抠不干净&#xff0c;要么头发丝处理得一塌糊涂&#xff0c;费时费力效果还不好。 今天&#xff0c;我要带…...

NaViL-9B部署案例解析:上海AI实验室原生多模态模型生产实践

NaViL-9B部署案例解析&#xff1a;原生多模态模型生产实践 1. 平台概述 NaViL-9B是一款原生多模态大语言模型&#xff0c;具备同时处理文本和图像的能力。该模型支持纯文本问答和图片理解两大核心功能&#xff0c;能够实现&#xff1a; 传统文本对话交互图片内容识别与分析图…...

Python的__getattribute__访问控制

Python的__getattribute__访问控制&#xff1a;深入解析属性拦截机制 在Python中&#xff0c;对象的属性访问看似简单&#xff0c;但其底层机制却隐藏着强大的控制能力。__getattribute__方法作为属性访问的核心钩子&#xff0c;允许开发者拦截所有属性操作&#xff0c;实现动…...

MySQL优化案例:忍者像素绘卷作品海量存储与查询实践

MySQL优化案例&#xff1a;忍者像素绘卷作品海量存储与查询实践 1. 场景与挑战 像素艺术分享平台"忍者像素绘卷"近期用户量突破百万&#xff0c;每天新增作品超过5万幅。平台需要存储每幅作品的元数据&#xff0c;包括提示词、生成参数、缩略图地址等信息。随着数据…...

AudioSeal Pixel Studio快速上手:移动端Safari/Chrome对Streamlit音频组件兼容性

AudioSeal Pixel Studio快速上手&#xff1a;移动端Safari/Chrome对Streamlit音频组件兼容性 1. 工具简介与核心价值 AudioSeal Pixel Studio是一款基于Meta开源的AudioSeal算法构建的专业音频水印工具。它能够在保持原始音质几乎不变的情况下&#xff0c;为音频文件嵌入隐形…...