论文阅读:“iOrthoPredictor: Model-guided Deep Prediction of Teeth Alignment“

news2024/11/13 16:29:13

文章目录

  • Introduction
  • Methodology
    • Problem Formulation
    • Conditional Geometry Generation
    • TSynNet
    • Aligned Teeth Silhouette Maps Generation
  • Results
  • References

Github 项目地址:https://github.com/Lingchen-chen/iOrthopredictor

在这里插入图片描述

Introduction

这篇文章提出了一种新颖的牙齿正畸治疗系统,叫作 iOrthoPredictor,它可以直接在人脸图片上预测牙齿排列整齐后的结果,只需给定一张前向的人脸图片(嘴巴需像上图一样张开,露出原始的不齐的牙齿)即可。

需要克服的问题:

  1. 需要准确的估计出牙龈及每颗牙齿的几何变换;
  2. 需要解决由牙齿位移、牙龈牙齿材质及光照条件造成的 in-mouth appearance changes;
  3. 需解决空洞及被遮挡部分的问题。

为了准确的估计出对齐牙齿的形状信息,iOrthoPredictor 还需要患者的 3D 牙模作为额外输入,并引入牙齿的 silhouette maps 来表示图片中的牙齿几何信息。这种表示方法可以借助 3D 牙模(通过口扫设备得到)准确的计算出 2D 的变换牙齿形状。而 in-mouth appearance 则被建模为一个隐向量(latent code),可以从输入图像中有效地提取出来。

整体的流程总结如下:

  1. 用卷积神经网络 TGeoNet 从人脸图片中提取 silhouette maps 以及口腔 mask;
  2. 根据提取出的 silhouette maps 对 3D 牙模的整体位姿进行优化;
  3. 用 MLP-based TAligNet 来学习对齐后的目标牙齿排列;
  4. 借助优化的整体位姿来将对齐牙齿的 silhouette 投影回到 2D 口腔区域,以生成目标牙齿的 geometry maps;
  5. 目标牙齿的 silhouette maps 以及嘴部区域的图片(用上面的口腔 mask 生成)作为一个生成式神经网络 TSynNet 的输入,来生成最终的图像。TSynNet 包含两个编码器,分别将输入的 geometry maps 和原始嘴部区域图片编码为 geometry code 以及 appearance code。

可参考下图进行理解:
在这里插入图片描述

Methodology

Problem Formulation

teeth geometry g g g:表明了牙齿 T \mathcal{T} T 的 2D 几何信息且反映了 T \mathcal{T} T 的牙齿排布;

in-mouth appearance z z z:可描述随表面属性和光照条件变化而变化的 in-mouth appearance。

在实际中,牙齿的几何信息可以被显示的表示(例如通过一个牙齿的轮廓图),但外观信息更加抽象一些。所以这篇文章直接从数据中学习出一个隐编码来表示外观。

Conditional Geometry Generation

2D Geometry Maps. g g g 用和输入图像 x x x 相同分辨率的图像来表示。2D 牙齿的 silhouettes g y g_y gy 包含上颌牙齿的 silhouette map g u g_u gu、下颌牙齿的 silhouette map g l g_l gl 以及口腔 mask g m g_m gm
在这里插入图片描述
TGeoNet. 输入:嘴部照片 x x x (上图 a);输出:三个 binary maps { g ˉ u , g ˉ l , g ˉ m } \{\bar{g}_u,\bar{g}_l,\bar{g}_m\} {gˉu,gˉl,gˉm}TGeoNet 基于 U-Net 结构,包括一个编码器、一个解码器以及 skip connections,如下图所示。
在这里插入图片描述

TSynNet

TSynNet 包括一个 appearance 编码器 M \mathcal{M} M 以及生成网络 N \mathcal{N} N。生成网络 N \mathcal{N} N 进一步包括用来提取 geometry code 的编码器 N e n c \mathcal{N}_{enc} Nenc 以及解码器 N d e c \mathcal{N}_{dec} Ndec N d e c \mathcal{N}_{dec} Ndec 的输入为 geometry code 和从 M \mathcal{M} M 中提取出的 appearance code。

TSynNet 仅生成口腔区域,其他部分直接使用原始人脸图片的对应部分。

为了使得 teeth geometry 和 appearance 这两个特征充分的解缠绕,这篇文章借鉴了 style transfer 的思想:将 in-mouth appearance 看作 style code,输入到每个解码块中。

TSynNet 的结构如下图所示:
在这里插入图片描述

Aligned Teeth Silhouette Maps Generation

为了生成最终牙齿对齐的嘴部图片 x ^ \hat{x} x^,我们需要有目标牙齿的 silhouette maps { g ^ u , g ^ l } \{\hat{g}_u,\hat{g}_l\} {g^u,g^l}

首先对 3D 牙模 T \mathcal{T} T 的整体位姿进行优化,来匹配 TGeoNet 的输出 silhouette maps { g ˉ u , g ˉ l } \{\bar{g}_u,\bar{g}_l\} {gˉu,gˉl},之后就需要通过 TAligNet 来自动计算单独牙齿的对齐位姿。

然后,对齐后的牙齿模型 T ^ \hat{\mathcal{T}} T^ 会被投影到嘴部区域来生成我们想要的目标牙齿的 silhouette maps { g ^ u , g ^ l } \{\hat{g}_u,\hat{g}_l\} {g^u,g^l}

整个过程中有两个关键步骤:global teeth pose fitting 和 3D teeth alignment.

global teeth pose fitting. 3D 牙模 T \mathcal{T} T 可以被分为上牙颌 T u \mathcal{T}_u Tu 和下牙颌 T l \mathcal{T}_l Tl,这里使用 { g ˉ u , g ˉ l , g ˉ m } \{\bar{g}_u,\bar{g}_l,\bar{g}_m\} {gˉu,gˉl,gˉm} T \mathcal{T} T 来分别 fit 上下牙颌的变换矩阵。

3D teeth alignment. 通过 TAligNet 来对输入 3D 牙模中的每个牙齿进行对齐。每颗牙齿的位姿用一个 7 维向量 v = ( v p , v q ) v=(v^p,v_q) v=(vp,vq) 来表示,其中 v p v^p vp 代表 3D 位置而 v q v^q vq 则是一个四元数,代表 orientation。

TAligNet 用 PointNet 自编码器来独立的编码每颗牙齿的几何信息,具体来说,编码器是 PointNet,而解码器则是一个简单的 MLP。编码器的输入是从每颗牙齿采样出的 1024 个采样点,输出则是一个 100 维的代表牙齿几何信息的 latent code。TAligNet 结构如下图所示。
在这里插入图片描述

Results

在这里插入图片描述

References

Lingchen Yang, Zefeng Shi, Yiqian Wu, Xiang Li, Kun Zhou, Hongbo Fu, and Youyi Zheng. 2020. iOrthoPredictor: Model-guided Deep Prediction of Teeth Alignment. ACM Trans. Graph. 39, 6, Article 216 (December 2020), 15 pages. https://doi.org/10.1145/3414685.3417771

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1229440.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于单片机双路压力监测报警系统

**单片机设计介绍, 【毕设课设】基于单片机双路压力监测报警系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机双路压力监测报警系统是一个复杂的系统,它涉及到单片机、压力传感器、报警器等多…

Midjourney绘画提示词Prompt参考学习教程

一、工具 SparkAi: SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软…

Threejs_03 全屏+响应式画布实现

咋控制全屏呢? 1.做一个用来点击的按钮 var btn document.createElement("button"); btn.innerHTML "点击全屏"; btn.style.position "absolute"; btn.style.top "10px"; btn.style.left "10px"; btn.sty…

【注册Huggingface】获取token

Hugging Face是一家美国公司,专门开发用于构建机器学习应用的工具。该公司的代表产品是其为自然语言处理应用构建的transformers库,以及允许用户共享机器学习模型和数据集的平台。 Huggingface 是一个开源的cv、nlp框架,提供了超过100,000个…

代码随想录算法训练营第五十九天丨 单调栈02

503.下一个更大元素II 思路 做本题之前建议先做739. 每日温度 (opens new window)和 496.下一个更大元素 I (opens new window)。 这道题和739. 每日温度 (opens new window)也几乎如出一辙。 不过,本题要循环数组了。 关于单调栈的讲解我在题解739. 每日温度 …

NextJS开发:ssr服务器端渲染页面,添加加载进度提示

nextjs中ssr服务器端渲染的页面加载速度慢的时候,需要显示一个如下图的加载进度提示,来优化用户体验。 nextjs框架中已经预留了加载动画的接口页面,我们只需要提那家加载动画tsx,处理页面逻辑就可以实现。 page.tsx 同级目录创建…

金融市场数据至上:QuestDB 为您的数据提供最优解 | 开源日报 No.81

vlang/v Stars: 34.7k License: MIT V 是一个开源项目,它是一种简单、易于学习的编程语言。该项目具有以下核心优势和主要功能: 简洁性:可以在周末内掌握这门语言。快速编译:使用 Clang 后端约为 110k loc/s,本地和…

X12学习手册

EDI术语中的X12是指ANSI X12 报文标准(EDI Document Standard),于 1979 年发布,由认证标准委员会维护,在过去的几十年中得到扩展,以满足全球业务流程的要求,包括汽车、物流、零售、医药、金融、…

回顾以前的java

System.out.println(card1);打印的是对象的话会自动调用我们重写的toString方法 这个方法通常在Object类中定义,所有的Java类都继承自Object类 实例方法有个this,谁调用这个方法谁就是this 1.练习重写实例方法,调用this 调用object的equals,实际是判断地址相不相等…

ModernCSS.dev - 来自微软前端工程师的 CSS 高级教程,讲解如何用新的 CSS 语法来解决旧的问题

今天给大家安利一套现代 CSS 的教程,以前写网页的问题,现在都可以用新的写法来解决了。 ModernCSS.dev 是一个现代 CSS 语法的教程,讲解新的 CSS 语法如何解决一些传统问题,一共有30多课。 这套教程的作者是 Stephanie Eckles&am…

uniapp的/绝对定位/相对定位/固定定位/粘滞定位

【[html5]你还分不清楚绝对定位和相对定位......】 相对定位一般配合绝对定位使用 <template><view class"content"><view style"background-color: black;width: 100%;height: 300px;position:relative;"><view class"one"…

c++多态之辨析:静态联编和动态联编

C的几种多态形式 从广义上来说&#xff0c;多态性是指一段程序能够处理多种类型对象的能力。在C中&#xff0c;这种多态性可以通过重载多态&#xff08;函数和运算符重载&#xff09;、强制多态&#xff08;类型强制转换&#xff09;、类型参数化多态&#xff08;模板&#xff…

【Linux】命令lsof使用详解

&#x1f984; 个人主页——&#x1f390;开着拖拉机回家_大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&#x1f…

想要成为CSS大师?这些技巧是你必须知道的!

前言 CSS 是网页设计中不可或缺的一部分&#xff0c;掌握一些实用的 CSS 技巧&#xff0c;可以让你在设计中展现出更多的创意和个性。本文将介绍一些 CSS 技巧&#xff0c;帮助你提升自己的技能&#xff0c;成为一个真正的 CSS 大师。 1. 改变 input 自动填充的背景颜色 这段 …

【Linux】缓冲区+磁盘+动静态库

一、缓冲区 1、缓冲区的概念 缓冲区的本质就是一段用作缓存的内存。 2、缓冲区的意义 节省进程进行数据IO的时间。进程使用fwrite等函数把数据拷贝到缓冲区或者外设中。 3、缓冲区刷新策略 3.1、立即刷新&#xff08;无缓冲&#xff09;——ffush() 情况很少&#xff0c…

MacOS - Cpolar 在 Mac 上如何使用?

1、下载并配置环境变量 brew tap probezy/core && brew install cpolar 2、 Token 认证 cpolar authtoken xxx 3、安装服务 sudo cpolar service install 4、启动服务 sudo cpolar service start 5、创建隧道 访问地址&#xff1a;http://127.0.0.1:9200&…

Vue3-provide 和 inject 跨组件传递数据

Vue3-provide 和 inject 跨组件传递数据 功能&#xff1a;将数据从App组件跨过一个组件传递到B组件中provide&#xff1a;提供数据inject&#xff1a;接收数据 // App.vue <template><h2>我是App组件&#xff08;{{num}}&#xff09;</h2><A></A&g…

UASRT(2)

UASRT参数配置 数据发送过程 1.双缓冲 当要发送三个数据 且是连续发送 第一个数据写入TDR寄存器 然后到移位寄存器发送&#xff08;一个一个bit的发送&#xff09;在第一个数据在移位寄存器发送的时候第二个数据就已经被写入TDR寄存器了等到第一个数据发送完第二个数据就进入…

2023年中国农业机器人行业市场规模及发展趋势分析[图]

农业机器人是一种机器&#xff0c;是机器人在农业生产中的运用&#xff0c;是一种可由不同程序软件控制&#xff0c;以适应各种作业,能感觉并适应作物种类或环境变化&#xff0c;有检测(如视觉等)和演算等人工智能的新一代无人自动操作机械。 农业机器人分类 资料来源&#xf…

基于单片机PM2.5监测系统仿真设计

**单片机设计介绍&#xff0c; 基于单片机PM2.5监测系统仿真设计 文章目录 一 概要简介设计目标系统组成工作流程仿真设计结论 二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 # 基于单片机PM2.5监测系统仿真设计介绍 简介 PM2.5&#xff08;可吸…