0%

3D嵌体修复-当前问题迭代

自动摘要: 下载.png 11月5日 参与:AI算法 ……..

11月5日

参与:AI算法、几何算法、产品、项目

一、准备后牙嵌体数据(全牙弓)@吴小燕

准备Raw数据

二、裁剪获得满足AI嵌体约束的数据@?

样本 人工准备 截取数据@吴小燕 只有2颗牙的数据 不删除牙弓的数据,但删除一部分底座 自动截取 输出工作:@陈冬灵

三、生成深度图(记录坐标系、参数P)@邹

四、推理@邹

五、输出推理结果@邹

深度图@邹 点云化(用P进行点云化),发现Noise,记录问题@邹、张 变换坐标系或配准@邹 三角化,根据重叠率裁剪,Remesh,Refine@陈珏 输出DL.Outer

六、真正的嵌体拼接

根据已有间隙层,对DL.Outer再裁剪@陈冬灵 拼接@郭策

测试的环节

1、测试数据,及测试按约束裁剪后的数据 上合 下合 后牙() Inlay, Onlay 2、测试生成的深度图 3、测试推理能不能输出数据,数据是否有效,测试深度图、生成的点云等 性能、硬件、软件环境 这是测试组的工作

11月6日(自测反馈)

一、点云噪声

1、C++转换数据问题==>对比libtorch,pytorch深度图;2、深度图还原点云==>阈值过滤;3、训练模型问题,基于图片数据训练,int–推理float–输出int==>修改训练模型,直接float训练,C++转numpy;==>输入数据转int,输出数据转int;

二、点云裁剪是否可行

考虑到点云重建的裁剪问题,以及之后嵌体拼接的重叠裁剪问题,有哪些信息可将修复体点云提取出,在此基础上进行重建;影响:**

三、DL训练输出修复体方案是否可行

输出不再是多颗牙的深度图,是贴合间隙的修复体深度图;

11月8日(会议讨论)

一、深度图生成效果

深度图生成效果影响因素:咬合方向、深度图生成参数(当前 gama = 0.5f, h = 7.0f);

任务:1、计算片段模型咬合方向@陈;2、测试计算牙尖方向算法;****2、测试不同的深度图参数(gama = 1.5 h = 7.0);

二、C++ libtorch误差

C++封装后推理输出的深度图(vector ==>opencv.png)与python推理输出的深度图略不同,说明有误差;
可能原因:1)封装后输出的tensor与python输出tensor不一致=>需对比两个tensor数据;2)原训练模型是针对int型数据,C++封装版输入为float型;

任务:****1、对比pytorch\libtorch的tensor数据;

三、点云化噪声

在C++版推理输出后,会有趋近于0的像素,对该情况进行了阈值过滤,之后再进行点云化,所以在点云中出现的噪声,在深度图中的像素值均大于阈值(=1);

四、推理输出深度图的噪声,条纹,模糊

可见在输出深度图中,输入深度图中未与牙齿连接的地方也出现了像素值,并且牙齿区域有条纹产生,该情况在C++封装版和python版中都有出现;可能原因:模型推理不够完善;

五、倒凹问题

六、任务

1、测试计算牙尖方向算法;2、测试深度图参数gama = 1.5, h = 7.0;3、对比pytorch\libtorch的tensor数据;

11月12日(测试反馈)

一、模型影响缺失牙深度图效果

尖牙(近中)、磨牙、磨牙(远中)#34嵌体 近中



二、推理输出修复区域不完整

缺失区域只有小部分修补或未修补;#27嵌体 近中      
       
   #35嵌体 远中    
       

三、推理输出模糊

牙齿周围、邻牙模糊#16嵌体2 近中      
        
#36嵌体 远中      
        

修复牙齿花纹模糊,重建后效果不佳#16嵌体1 十字

  
        
调整深度图中牙齿位置后  
        
#36嵌体1 舌侧

  
        

11月12日(会议讨论)

0、有效的深度图(1)位置正(2)有模型的区域,有深度

1、模型计算完成咬合方向后,需要按OBB把位置摆正,一定要AABB对齐,要基于栅格生成深度图

2、咬合方向的计算目前是不完善的。因为基于OBB的计算,没有参考倒凹。注意:集成后,应该立即叫相关人员看集成的结果

3、生成的深度图(有效区域)有黑色,需要调整h或gramma值,去生成有效的深度图。(1)h是否按讨论的方法,把模型顶到box的顶部。提供一定的样本,找出一个经验值h。(2)倒凹的影响(3)是否可以把h做为动态的。使其输出有效的深度图。

4、嵌体的修复形态五花八门,限定在后磨牙(1)吴小燕提供样本,邹挑数据。(2)有目的的测试

5、三颗牙不在同一个平面,不可能通过一个h生成有效的深度图(1)把这三颗牙,分成三颗牙。计算每一个的方向,生成三个深度图,再去合并。(2)把这3颗牙变换同一个平面,生成深度图。

6、深度图有噪点(1)判断h值是否有问题(2)判断模型是否有问题(3)判断深度图生成代码是否有问题

需要做的处理1、方向摆正—邹2、咬合方向的计算—陈冬灵3、噪声原因:找合适的h等参数—张新霞4、高嵌体是否需要更多的样本,去训练?是否区分不同的牙位去训练?5、找一份嵌体数据,(1)处理:把损坏区域用塑形工具抹平,推理(2)对比不抹平与抹平的推理效果。

11月13日(测试反馈)

所有采用的gama值为1.5,H值视模型情况手动设定,尽量选择能使缺失部位像素值不为0的H。由图可见,竖版比横板噪声少些,但依旧存在远处噪声,牙花纹路不清晰,生成不完整等问题(供参考)。****PS:点云位置略高是因为更新H值后,在还原点云时未设置对应的H值,导致错位,仅对点云位置有影响,对形态无影响。

#16嵌体1_位置调整

H = 10.0





H=8.0





27嵌体近中

H=10





H=12





H=12 (竖版)





#36嵌体1 舌侧

H=9





#36嵌体 远中

H=11





H=12





11月15日(会议讨论)

1、在训练中分析深度图对模型的影响,深度图需要大量试错才能确定;

-->深度图影响问题,H,gamma值;		-->输出工具,toothmarker,只调整H,gamma,参数;@邹		-->深度图命名与输入数据命名一致;@TODO		

2、数据输入影响;

-->数据要求:		-->论文数据,36号;			-->张与杨确定libtorch,pythorch模型版本匹配;			-->提供用于训练、测试、输出的数据;@张			-->测试张提供的数据(一面、二面、四面),libtorch与pytorch达到相同效果;@邹		-->测试我们数据的36号牙效果;@朱		-->我们数据X6号牙齿;@朱		-->我们数据其他牙位牙齿;@朱	-->数据匹配,我们的数据与训练数据的差别,用于训练的模型,顶	部微薄一层,我们的数据是整个牙			齿;		

3、确定以上两个,才能找到合适的深度图参数,才能对训练模型进一步改进;

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