【论文信息】
Individual tooth segmentation from CT images scanned with contacts of maxillary and mandible teeth
computer methods and programs in biomedicine 2017
深圳中科院,上海交大
【背景】
以前的文章几乎都是针对的上颌骨/下颌骨CT牙齿分割,也就是说是在open mouth的状态下分割。本文要来对要和状态的牙齿CT分割。
previous work分为两大类,3D Segmentation 以及 2D slice-by-slice Segmentation.
3D:
【2】用区域生长;【3,4】用3DLS提取牙齿表面;【5,6】graph cut交互分割。【7】对单牙根的牙齿迭代建模(要读一下)
2D:
基本上是用了相邻slice间contour相似的特性,用LS分割,一般需要手动初始化起始slice。【8,9】用B样条snake以及遗传算法来提取轮廓,没能解决牙齿中的拓扑变化,而【10-13】的LS可以;【10】LS with Shape和Intensity,效果好。【11】用相同的模型来分割牙根。【12】修改了这个模型来分割前牙。【13】也是分割牙根。(看下11和13)
但当上下牙接触时,aforementioned 方法由于在部分slice中上下牙轮廓接触,不好检测边界,而分割失败。
【14,15】从上下颌牙齿接触的CT中把上下颌分开,但他们没有把牙齿从颌骨上分割下来。
以上是related works。
本文的pipeline如下,(其实说白了根本就是mesh segmentation,CT到mesh那一步一点都没变)
- 首先在CT中slice-by-slice LS分割
- 接触部分被检测出来
- 三维重建成网格
- 在网格模型上用特征进行分割上下牙
【方法】
- 用户手动在上下颌分别选取一个起始切片,一共选两片。然后在每个切片上的每个牙齿上都选一个起始点。
- 开始向上下传播。首先用radon transformation提取牙间分割面,然后用LS基于上一个轮廓分割每个牙齿。
- 在上牙中检测出轮廓与下牙轮廓重叠的牙齿。把这些接触的牙齿对三维重建成网格表面。接触的模式基本上就是一个上牙连着两个或一个下牙。
- 用阈值和分水岭等把他们分离开来,最后修复表面。
分割:
第一步分割之后每个牙齿都有初始轮廓了,传播到下一层的时候,先对两个轮廓膨胀,取交叉区域做拉登变换,从中提取分割线。(这方法还不错,其实就是各方向积分投影,但对于牙根和智齿我比较怀疑他的效果)然后对每个分开的小区域里面,用初始轮廓进行LS分割。这一步中两列牙齿中每个牙齿都被分离开来了,但是上下牙列之间还有接触。
而上下牙的接触也是发生在牙冠部分,而且都是一个上牙连着两颗下牙或者一颗下牙。(这个结论是不是太理想了?)一次性自动分开很多连着的牙齿比较难,考虑到上下牙列中每个牙齿在上一步骤中都已经被分开了,所以只要对每个上牙,检测与下牙的轮廓是否有重叠(说明接触),提取出来,单独对他们进行MC建模。
分离:
然后就可以对每个牙齿对进行分离,由于只有牙冠部分接触,用几个简单的特征,曲率和平均测地线距离,来构造分水岭算法的高程函数,于是就OK了。
【讨论&启发】
limitation:
这文章的方法其实局限性很大,很麻烦,需要很多人力。
ground truth的获取,以后考虑用同一个样本的CT接触版本与数字印模开口版本作比较。
LS分割还是局限性大,连续slice之间不一定有很强的相似性,对于变了角度的CT图像/倾斜的牙齿不好解决。要考虑用体素分割。
introduction的思路很好,可以借鉴这种写法,文章动机不牵强,很自然。
由于是手动选取初始点,所以也不需要detect牙齿和下颌骨之类的了。
文章对于牙齿接触的模式做了一个归纳,上牙与1~2个下牙接触,而且是牙冠部分。把接触部分的分割很大程度上简化了。把问题转化为若干个简单牙齿对的分离。
文章对拉登变换的利用很巧妙,直接分离提取了单个牙齿,为后面的步骤做了很好的准备。