0%

嵌体修复验收迭代V1

自动摘要: |时间|对应版本号|修订人|主要修订内容| ||||| |2021年12月15日|V1.0.0| ……..

时间 对应版本号 修订人 主要修订内容
2021年12月15日 V1.0.0 杨新 由测试部测试验收
2023年3月20日 V1.1.0 @Sindre Yang(sindre) 添加测试具体细节

V1.0.0

特性:

  1. 完成初始版

缺陷:

  1. 对于公司提供的较深面积较大的嵌体修复后会有洞;


    1. 推测原因:用于训练的数据集数量较少,嵌体类型较为简单

  2. 细节信息恢复的不太好;


    1. 推测原因:数据量少,提取不到局部特征

  3. 针对下述BUG出现原因是集成版本与python版本的测试结果不一致
    1. 推测原因:集成版本与python版本的测试结果不一致@邹童玺(xixidd)

  4. BUG#7634噪声问题
    1. 推测原因:集成成版本重建产生噪声@邹童玺(xixidd)

规划:

嵌体v1.1版需要解决的问题

1.增强细节信息的恢复
2.可以补全较深的嵌体

数据需求

@吴晓燕
三颗牙在同一平面,缺失牙在中间;
目前只需要待修复牙位为36号牙和46号牙;
左右邻牙牙花完整,不要牙龈;
数据需求数量:500套左右

改进方向

根据自测产生的问题,可能会增加一个鉴别器来学习局部细节信息(待确定)@张新霞(zhangxinxia)
C++集成中产生的噪声进行改进@邹童玺(xixidd)
按照@陈冬灵(u21610379)陈总的建议增加一个挡片来解决嵌体过深的问题@邹童玺(xixidd)
增加toothmarker中三角化的功能@邹童玺(xixidd)
待定改进:如果可以测试生成的嵌体是否会穿透到对颌牙齿,可以提出另一个改进方案(加入直方图损失)@张新霞(zhangxinxia)

改进方案

1.最好能用公司提供的真实数据参与训练,增加嵌体形态的多样性
2.做数据增强,增加数据量
3.尝试提取局部特征,把待修复牙位单独抽出来提取特征
4.改进集成版本的效果

V1.1.0

特性:

  • 支持一面,二面,三面类型嵌体
  • 只支持三颗为一组的待修复体,只能修复36,46号牙
  • 嵌体深度很深的,能修复,但效果不太好–>数据多样性,数量不足

已知问题:

  1. 问题1
    1. 对嵌体深度较浅、待修复嵌体范围较小的模型修复效果比较好(对简单的嵌体效果好),但对于复杂的嵌体形状效果不好;
    2. 推测原因:可能是训练集数据比较单一,训练的都是简单的嵌体,对于复杂的嵌体模型并没有接触过
    3. 改进方案:增加数据集,需要加入一些形状比较复杂的嵌体数据
  2. 问题2
    1. 对于公司的数据,细节信息恢复的不好
    2. 推测原因:公司的数据牙花特征比较浅,特征不太明显
    3. 改进方案:一方面增加公司提供的数据进行训练,另一方面增加一个判别器来提取局部的细节信息(待探究)
  3. 问题3
    1. C++编译的版本与python版本有较大的差异,产生噪声
    2. 推测原因:C++编译过程中的问题@邹童玺(xixidd)
    3. 改进方案:在V2版中@邹童玺(xixidd)改进
  4. 问题4
    1. toothmarker中三角化存在问题,对于下面较稀疏的点云,不能生成面片,看起来像噪声
    2. 推测原因:点云中离散点比较多,离散点对周围的重建有影响
    3. 解决方案:增加滤波对点云处理@陈珏

方式:

网格(.ply)–>深度图(.png)–>深度图(.png)–>网格(.ply)(meshlab渲染)

数据:

  1. 测试牙位号:
    1. 36号和46号牙位
    2. 三颗牙在同一平面
    3. 待修复嵌体在中间,左右邻牙牙花完整
    4. 不要牙龈
  2. 全部类型:
    1. 一面
    2. 二面
    3. 三面
    4. 四面
    5. 高嵌体
  3. 牙齿深度:
    1. 不超过7mm
  4. 嵌体深度
    1. 不超过6mm

效果:















问题(禅道链接):

  • 7659,7658,7655
    • 重建问题
  • 7657
    • 南航数据在四面体上输入与输出有绝对误差,希望产品部提供这种数据

分析:

  1. 以现有的数据及当前的深度学习模型—>优化余地不多。
  2. 公司数据制作中,如没接近南航数据的质量及数量–>本质难以改变
  3. 其他深度学习方案及优化方案探索中–>人力资源短缺
  4. 现有数据与DL模型存在问题基本解决–>无新问题产生
  5. 建议以现有条件建立里程碑,集成版V1.1作为基础,不再进行小规模优化,待数据或方案发生质的改变,在开发V1.2版。

尝试过的方法:

  • 数据方面
    • 图像方面
      • 通过图像处理方法识别待修复轮廓,进行抠图做大范围数据增强
        • 效果有,但没有本质改变
      • 通过检测中间牙位,并扣取做复制增强
        • 失败
      • 通过填充图像信息
        • 失败
    • 图形方面
      • 增加挡片,防止深度过深
        • 有效果,但不太理想
  • 模型方面
    • 训练方式
      • 增加待修复牙训练次数
        • 有效果,并集成
    • 模型选择
      • 尝试了现阶段优秀的GAN
        • 失败,效果有,但不及当前效果
  • 其他方面
    • 点云到网格的重建
    • 噪声点优化

反馈:

  1. 嵌体生成的光泽不太好看,没CAD里面的好看(个人认为是渲染问题)
  2. 嵌体生成牙花纹路感觉不太真实
  3. 嵌体生成形态上与真实新形态有微小误差
  4. 主观上愿意使用,原因为:能节约大量时间

后续规划:

1、存档目前AI嵌体处理的成果。2、@邹童玺 上传、封装相关的库。通知一下@陈冬灵(u21610379),需要做测试处理。3、排优先级,处理以下工作(1)以正畸为背景,优化分牙,即限定扫描件模型数量在一个范围(2)以修复为背景,优化分牙,即不限定扫描件模型数量(3)智能排牙(4)全冠智能生成,限定磨牙(5)以修复为背景,限定嵴线,限定冠,查找颈缘线
(6)提取待修复牙位的位置及牙位号–暂定为分牙分支
(7)现在嵌体的处理方式:给定模板,将嵌体进行变形,深度学习可否探索学习这种变形的方式?–来自几何算法组
(8)@毛礼荣 建议将公司的C++库进行封装,方便使用Python进行调用,@陈冬灵(u21610379) 也已经在思考,并且打算先进行Linux平台的移值
(9)全冠 @叶子扬 在进行3D重建的尝试(10)分牙,用于正畸,牙齿一般是12~14颗,最多可能有16颗牙,能否在不指定牙齿数量的情况下进行分牙, –>能否找出特征线、牙弓线、颈缘线(很有用) –>明年(@毛礼荣,进行正畸的后续处理),深度学习也可以在过程中参与分牙与排牙的工作 –>@张萍萍 使用VTK自动提取牙位、迭代、半口,可否对不同的牙齿数目进行混合分类,还是需要前期进行确定
4. 建立里程碑,集成版V1.1作为基础,@邹童玺 上传、封装相关的库,由@陈冬灵(u21610379)测试
5. 现在嵌体的处理方式:给定模板,将嵌体进行变形,深度学习可否探索学习这种变形的方式?–来自几何算法组

欢迎关注我的其它发布渠道