一种基于牙尖周膜中物体检测的深度学习牙齿自动检测和编号方法

A deep learning approach to automatic teeth detection and numbering based on object detection in dental periapical films

摘要

我们建议在TensorFlow工具包中使用具有卷积神经网络特征的更快区域(更快的R-CNN)来检测牙齿根尖周膜中的牙齿并对其进行编号。为了提高检测精度,我们根据一定的先验领域知识,提出了三种后处理技术来补充基线更快的R-CNN。首先,构建一种过滤算法,删除与同一牙齿关联的更快R-CNN检测到的重叠框。其次,利用神经网络模型对缺牙进行检测。最后,提出了基于牙齿编号系统的规则库模块,对检测到的牙齿盒进行标签匹配,对违反一定直观规则的检测结果进行修改。计算检测到的真值盒和地面真值盒之间的交集-超联合(IOU)值,以获得测试数据集上的精度和召回率。结果表明,该方法的准确率和召回率均超过90%,检测框与地面真值之间的IOU均值也达到91%。此外,还邀请了三位牙医(独立地)手动注释测试数据集,然后将其与我们提出的算法获得的标签进行比较。结果表明,机器的表现已经接近初级牙医的水平。

1 介绍

人的牙齿一般是坚硬的物质,不容易损坏;它们的形状在人死后不会被侵蚀而保持不变。因此,它们在法医鉴定中起着重要作用。从尸体牙齿上获得的x光片通常与他们的牙齿胶片记录进行比较,这样甚至可以有效地确定死者的身份。人类通常有32颗牙齿。如果在比较过程中对所有牙齿进行筛选,系统将面临巨大的计算负担和准确性降低。从x射线胶片中分割牙齿并对每颗牙齿进行编号,只需要与数据库中具有相同编号的牙齿进行比较,从而提高了计算效率和准确性。此外,在一些发展中国家,口腔医疗资源匮乏。牙医每天通常要接待许多病人。作为一种重要的辅助诊断工具,每天都要拍摄大量的牙科x线片。由于阅片工作主要由牙医进行,因此会占用宝贵的临床时间,并可能因疲劳、情绪、经验水平低等个人因素造成误诊或漏诊。如果开发出智能牙科x线片解读工具,提高牙科护理质量,可以减少牙医的工作负担和误诊的发生。从这个角度来看,使用数字化胶片进行自动牙齿识别是智能医疗的重要任务。

为了实现牙膜的高精度分割和分类,一些学者开发了图像处理算法。在他们的研究中,使用数学形态学、活动轮廓或水平集方法进行牙齿分割,同时提取傅立叶描述子、轮廓、纹理或多个标准作为特征,最后使用贝叶斯技术、线性模型或二值支持向量机进行分类。然而,这些算法大多在分割和特征提取之前进行图像增强处理,通常是人工提取图像特征。这构成了很大的工作量,图像识别的性能在很大程度上取决于提取特征的质量。虽然一些研究取得了令人满意的结果,但只测试了少量高质量的图像。

深度学习是近年来发展起来的,能够使用原始像素信息作为输入自动提取图像特征。这些新算法大大减少了人类专家的工作量,并且可以提取人类难以识别的某些特征。2012年,深度卷积神经网络(CNN)在ImageNet分类工作中取得了令人满意的结果。随后,提出了具有卷积神经网络特征的区域(Regions with Convolutional Neural Network, R-CNN)、具有空间金字塔池的快速R-CNN、和具有区域提议网络的更快R-CNN ,在目标检测任务上取得了越来越优异的结果。此外,还构建了盗梦模块以降低计算成本,并提出了Resnet以允许训练具有100多个隐藏层的超深度网络。目前,基于CNN的深度学习方法已经成为医学图像分析领域的重要方法论。此外,它有望帮助牙齿x光片中的牙齿检测和编号任务。

在我们之前的工作中,建立了基于快速R-CNN的一颗牙齿检测和编号网络,并取得了一定的初步结果。为了提高性能,在本研究中,我们提出了一种基于更快R-CNN的深度学习方法,用于自动牙齿检测和编号,提高了效率并减少了工作量。先验领域知识也被用于提高基线更快R-CNN模型的算法性能,该模型仅是一般图像识别任务的通用工具,而不考虑已知的牙齿配置信息。

通信和索取材料应发送至P.L.(电子邮件:kqlpj@bjmu.edu.cn)收稿日期:2018年10月24日

2 材料与方法

本研究经北京大学口腔医学院生物伦理委员会(PKUSSIRB-201837103)批准。这些方法是按照批准的指导方针进行的。本研究使用的x线片均来自数据库,未提取患者的姓名、性别、年龄、地址、电话等私人信息。这些影像均为常规诊断和治疗之用。伦理委员会放弃了获得患者知情同意的要求。
在这里插入图片描述

本研究的整体工作流程如图1所示。共收集1250张牙科x射线胶片并进行分离,形成训练数据集、验证数据集和测试数据集。训练数据集和验证数据集用于训练更快的R-CNN和深度神经网络(DNN)。在测试时,通过训练更快的R-CNN对测试数据集中的图像进行分析,其中检测到牙齿,并且训练好的DNN还可以预测缺失的牙齿。经过后处理后,对图像进行自动标注,并与三位牙医的标注进行比较。

2.1 图像数据和地面真值注释

在这里插入图片描述

从北京大学附属口腔医院收集了1250张数字化牙尖周影像。每部影片被数字化,分辨率为12.5像素/毫米,尺寸约为(300至500)×(300至400)像素,并保存为带有特定识别码的“JPG”格式图像文件。这些图像文件是匿名收集的,以确保不会泄露任何私人信息(如患者姓名、性别和年龄)。随后,一位具有五年以上临床经验的专业牙医绘制了一个矩形边界框,将每颗完整的牙齿(包括冠和根)框起来,并提供相应的牙数作为ground truth (GT)。使用FDI (Federation Dentaire Internationale)牙齿编号系统(ISO-3950),将右上8颗牙齿标记为11-18,左上8颗牙齿标记为21-28,左下8颗牙齿标记为31-38,右下8颗牙齿标记为41-48(如图2所示)。在注释时,要求医生为图像中的每颗牙齿绘制最小尺寸的边界框。将图像中点的坐标设置为距离图像左上角的像素距离,通过图像左上角和右下角的点(xmin, ymin和xmax, ymax)记录牙齿边界框。如果被截断的部分超过牙齿大小的1/2,那么在图像边缘被截断的牙齿将不被注释。

将1250张标注图像随机分为3个数据集:800张图像的训练集、200张图像的验证集和250张图像的测试集。

2.2 神经网络模型的构建、训练和验证

一个基于TensorFlow的目标检测工具包27,附源代码,从github28下载。选择最先进的多类别目标检测器之一的Faster R-CNN with Inception Resnet version 2 (Atrous version)作为神经网络模型。

  1. Huang, J. et al. Speed/accuracy trade-offs for modern convolutional object detectors. In Computer Vision and Pattern Recognition (CVPR) 3296–3297 (IEEE, 2017).
  2. Huang, J. et al. Tensorflow Object Detection API, https://github.com/tensorflow/models/tree/master/research/object_detection.(2018)

训练过程在GPU (Quadro M4000, NVIDIA, USA)上执行,具有8GB内存和1664个CUDA内核。算法后端运行于TensorFlow 1.4.0版本,操作系统为Ubuntu 16.04。

使用一组800张带注释的x射线图像来训练更快的物体识别R-CNN。输入图像在保持其原始宽高比的同时调整大小,次要尺寸为300像素。在x射线图像中,总共需要识别32个牙齿类别。

选取平均精度(mAP)29作为度量,衡量目标检测器在验证过程中的精度,从而调整训练参数。首先,将检测到的盒与地面真值盒进行比较,定义交集-超联(Intersection-Over-Union, IOU)为:
在这里插入图片描述
其中AreaDB和AreaGTB表示被检测框及其对应的地真值框的面积。将IOU阈值设为0.5,计算Precision和Recall:
在这里插入图片描述
其中TP (True Positive)是IOU>0.5时检测到的物体数量,FP (False Positive)是IOU <=0.5或多次检测到的盒子数量,FN (False Negative)是IOU <=0.5时未检测到或检测到的物体数量。

对于每个对象类,定义了一个平均精度(AP):
在这里插入图片描述
其中pinterp®是任何召回值超过r的最大精度:
在这里插入图片描述
最后,平均精度(mAP)被计算为所有对象类APs的平均值:
在这里插入图片描述

经过多次尝试,调整训练参数以获得高mAP:批大小为1,共迭代50000次,初始学习率为0.004,迭代10000次后学习率降至原来的一半。在Coco数据集上加载预训练模型作为微调检查点。其他设置均为默认设置。

每次迭代的平均训练时间约为1.1秒。经过50000次迭代后,总损失从5.84下降到大约0.03,验证数据集上的mAP增加到大约0.80的平台。

2.3 测试映像上的性能指标

经过训练和验证后,在250张图像的测试数据集上对模型进行了测试。使用遵循临床牙科考虑的某些指标对检测到的盒子进行评估。

将训练更快的R-CNN检测到的盒子与地面真实盒子进行比较。将每Q个检测盒分别与R个接地真值盒配对,计算每对盒对(检测盒-接地真值盒)的IOU,形成维数为Q×R的IOU矩阵。

在IOU矩阵中,值超过0.7阈值的箱对被认为是匹配。随后,将匹配的box-pair元素从矩阵中移除,重复该过程,直到最大IOU值低于0.7的阈值或不存在box-pair。

考虑匹配的方框可以成功地从x射线胶片的背景中检测出牙齿。牙齿检测的查准率和查全率计算公式如下:
在这里插入图片描述
式中,Nmatch为匹配盒对数,NDB为检测盒数,NGTB为接地真盒数。匹配框的平均IOU值(定义如下)表示检测到的框与地面真值框匹配的精确程度。
在这里插入图片描述
如果被检测盒和与之匹配的接地真值盒具有相同的齿号标签,则编号正确,即真正编号(TPN)。牙齿编号的查准率和查全率的计算方法如下:
在这里插入图片描述

2.4 后处理程序

在这里插入图片描述
图3。各阶段后的注释处理示例:(第一阶段)经过训练的更快的R-CNN注释,有一定的重叠框(a);(2)删除评分较低的重叠框后,由于神经网络将某些齿号标签与其他相似的齿号混淆,导致齿号标签不正确;(第3阶段)牙号标签与模板匹配进行校正,但当有缺牙时(第1和第3阶段)会引起误差,但相邻牙盒之间的间隙(第2阶段)可以作为预测缺牙的特征;(4)插入预测缺牙并与(2)模板匹配后,校正牙号标签。

为了提高牙齿编号结果,提出了相应的后处理方法。过滤过多的重叠框。将非最大抑制算法应用于齿盒检测。对预测齿数相同的重叠框按照概率得分进行排序,保留得分最高的框,删除IOU(最大得分框)大于0.6阈值的框。但是,如果用不同的数字预测高IOU的重叠框,则无法检测到它们(图3a)。为了检测这些重叠的盒子,计算图像中任意一对盒子的借据。当检测到框对的IOU超过0.7的阈值时,将删除得分较低的框。

牙齿排列规则的应用。在删除重叠的盒子后,牙齿编号的准确率和召回率仍然低于0.8,这可能是由于本研究训练的图像数量有限。

然而,牙齿排列的某些规则可能会有所帮助。对于没有缺牙的完整牙列,通常在上牙列或下牙列有16颗牙齿(图2),两侧对称。采用FDI牙号系统,牙的排列顺序为:右上18-11,左上21-28,右下48-41,左下31-38。这些牙齿可以分为智齿、磨牙、前磨牙、犬齿、侧门牙和中门牙六类,同一类别的牙齿具有较高的相似性,不同类别之间也可以应用一定程度的相似性。利用这些先验领域知识来提高牙齿检测的结果。

采用FDI牙数系统作为模板,上牙采用“18、17、16、15、14、13、12、11、21、22、23、24、25、26、27、28”排列,下牙采用“48、47、46、45、44、43、42、31、32、33、34、35、36、37、38”排列。由于一张x射线图像中的所有牙齿都属于同一牙列,无论是上牙列还是下牙列,因此检测到的盒子标签必须与上牙或下牙模板匹配。例如,如果在一张图像中检测到的盒子标签为“17,16,14,15,13”,那么与上面的模板相比,“14,15”标签将被认为是错误的排列,需要将其纠正为“17,16,15,14,13”。

在这里插入图片描述
图4。齿排模板匹配算法说明。

将图像中预测的牙数表与模板进行比较,使预测的牙数表在模板中从左向右滑动,每一点计算一个匹配分数:
在这里插入图片描述
其中只对与模板匹配的齿数(X)的预测分数(更快的R-CNN输出的概率分数)求和,即检测框的预测齿数等于模板中的齿数(X =T),如图4所示。
在这里插入图片描述表1。牙齿的分类。W=智慧,M=磨牙,P=前磨牙,Ca=犬齿,La=侧门牙,Ce=中门牙,I=门牙
在这里插入图片描述表2。不匹配牙齿类别之间的相似矩阵。W=智慧,M=磨牙,P=前磨牙,Ca=犬齿,La=侧门牙,Ce=中门牙,I=门牙。

如果预测的牙数与相应模板中的牙数不相等,则应应用预测牙与模板牙之间不匹配相似度的权重来计算“不匹配评分”。首先,根据牙齿的外观将所有牙齿分为几类(表1)。对于同一牙列的牙齿,根据专业牙医的经验设置错配相似度矩阵,给出类别之间的相似度值(表2)。错配评分计算如下:
在这里插入图片描述
其中,根据表1中预测牙数(X)的类别及其对应的模板牙数(T),将预测得分与相似度值相乘,可以从表2中推断出来。最后,将比较分数定义为匹配分数和不匹配分数之和:
在这里插入图片描述
滑动标签列表将到达获得最大比较分数的最匹配点,并使用模板对该点的预测编号列表进行校正(图4)。

预测牙齿缺失。在缺牙的情况下,FDI系统的方案永远不会匹配,除非在预测牙数列表中有缺牙的占位符。如图3b所示,相邻检测盒之间通常存在缺牙间隙,因此相邻盒边缘的水平距离是预测缺牙的关键特征之一。然而,当相邻牙齿的倾斜度较高时,缺牙的间隙可能会消失,此时应考虑相邻盒子中心的距离作为预测缺牙的另一个关键特征。

建立了一个简单的深度神经网络分类器,具有两个完全连接的隐藏层(每个层10个神经单元)。以相邻两个盒子的水平边缘距离和中心距离作为输入特征,将缺失牙齿数(在训练数据集中观察到的范围为0到3)设置为标签进行预测。使用同一训练集的800张图像进行100次epoch训练后,验证数据集的精度达到了0.981。随后,在与模板匹配之前,将占位符“M”放置在预测缺失牙齿的位置,例如“17,16,M,M,13”。计算比较评分时,将占位符“M”与其对应的模板齿号相似度设为0。

2.5 与人类专家和我们之前的快速R-CNN方法的比较

为了评估开发的牙齿检测系统的性能水平,邀请了三位专家牙医(A, B和C)对测试数据集进行注释工作。专家A有大约三年观察牙根尖周x光的经验,专家B有大约两年的经验,专家C有大约四年的经验。人工标注规则设置为:(1)绘制图像中每个牙齿的最小尺寸边界框;(2)使用FDI编号系统。此外,还将火车数据集图像中的一些ground truth注释作为示例展示给牙医,让他们学习如何进行注释。在每次批注期间或之后,允许进行任何修改,实验者在最终提交之前检查批注以观察和纠正可能出现的错误。牙医的注释与地面真实数据相匹配,以计算精度、召回率和IOUs。

3 结果

在这里插入图片描述
*表3 检测框在测试数据集上的精度、召回率和IOU。*AS=我们的自动牙齿检测和编号系统,GT=磨实度,prec.=精度。*第一阶段:训练后更快的R-CNN检测出牙齿边界盒;第二阶段:删除重叠框后;第三阶段:与模板匹配后;第四阶段:预测缺牙并与模板匹配后

在这里插入图片描述
图5。神经网络在测试数据集上正确注释的样本图像:(a)上牙和(b)下牙,包括门齿、犬齿、前磨牙和臼齿;©一些复杂的病例,包括(c1)种植体修复,(c2)冠桥,(c3)牙齿缺损。

在这里插入图片描述
表4。带有不匹配注释的图像数量。 AS=我们的自动牙齿检测和编号系统;GT =地面实况。*

每个阶段后的精度、召回率和IOU如表3所示。图5显示了真阳性牙齿检测盒和牙齿编号标签的某些示例,包括某些复杂的病例,如种植体修复、冠桥和牙齿缺陷。专家控件的结果显示在表3的“人类专家”一栏中。专家C比专家A和专家B经验更丰富,准确率更高。训练和验证数据集也被用来训练我们之前的快速R-CNN网络26,测试图像的性能也如表3中“Prior work”一栏所示,精度较低。

分析了由自动系统(AS)和人工专家(HE)生成的不匹配注释。AS注释中有8种(①—⑧)错配类型,HE注释中有7种(①—⑥,⑨)错配类型,其中6种类型在两种注释中都是常见的(表4,图6)。所有这些错配可以解释为:1没有检测到某些边界框,主要是部分截断或重叠的牙齿;2主要是后牙,左牙被编号为右牙,反之亦然,例如“25”被标记为“15”;3 .主要是前牙,形状相似的牙齿有时会混淆,例如“12”、“11”、“21”和“22”容易混淆和编号错误;4 .缺失的牙齿没有被识别,因此后牙或前牙的编号是错误的;5检测盒区域IOU较低,接地真值盒小于0.7阈值;6还有几个有争议的标签,无法定义为正确或错误,因为这些图像中呈现的牙齿特征并不充分,甚至不能保证地面真实标签;快速R-CNN生成的两颗“半齿”牙齿的盒子很少,被误解为一颗“完整的牙齿”;8 .我们的系统在某些复杂的情况下不能正确编号,如牙齿严重腐烂,重叠大,修复修复大,拔牙后完成正畸治疗,不能应用FDI牙号模板;某些只有少量残根的严重缺陷牙齿被牙医正确地注释,而被基本事实所忽视。

4 讨论

根尖周片可以捕捉完整牙齿的图像,包括前牙和后牙,以及周围的骨骼,这对牙医观察潜在的龋齿、牙周骨质流失和根尖周疾病非常有帮助。咬翼片(Bitewing films)主要是在之前的研究中进行的,它只能看到后牙的冠,布局简单,重叠较少。从这个角度来看,在尖周膜中比在咬翼膜中更难以检测和计数牙齿。此外,Said研究中使用的数学形态学方法显示出相当复杂的程序,因此自动化效率较低。Jader等人使用Mask R-CNN对牙齿全景x射线图像进行深度实例分割,可以勾勒出每颗牙齿的轮廓。然而,针对实例分割的标注工作成本较高,仅对不到200张图像进行了标注来训练其网络,导致了一定程度的粗糙分割。我们研究中使用的图像均来自普通临床工作,从医院数据库中随机抽取,未经筛选。因此,有几例复杂的病例,包括补牙、缺牙、拔除前臼齿的正畸治疗牙、嵌埋牙、保留乳牙、根管治疗牙、残根、种植体修复牙、冠桥牙等,给患者带来了挑战。然而,利用深度学习神经网络的优异性能和我们的后处理程序,取得了令人满意的结果。

在本研究中观察到,我们之前的领域知识在牙齿编号方面有很大的帮助,准确率和召回率提高了近10%。由于同一类别的牙齿具有高度的相似性,例如17,16,26,27都属于上颌磨牙,因此神经网络经常混淆并错误地将它们分类为彼此。目标检测网络没有很好地学习到图像上的牙齿排列规则,而这些规则对牙齿的编号至关重要。这并不奇怪,因为在这个物体检测神经网络中几乎没有考虑检测到的盒子之间的关系。FDI齿号系统提供了一个齿号序列,作为齿号错误校正的模板,同时建立了相似矩阵,对不匹配的齿号提供了一定的合理容忍度。经过对预测数的后处理,牙齿编号的查全率和查全率明显提高。然而,相似性矩阵是完全基于牙医的经验构建的。虽然结果令人满意,但如果测试更多的值,为矩阵选择更好的值,性能仍有提高的空间。

在与模板匹配之前,需要考虑图像中缺牙的状态。在缺牙情况下,应在预测牙数序列的正确位置插入与缺牙数相等的占位器。在本研究中,建立了一个结构简单的神经网络来预测相邻两颗牙齿之间的缺牙数,并且只选择两个特征作为输入。缺牙预测也有很大的改进空间,例如,应该关注牙齿之间的灰度值,并且允许计算不同预测缺牙数的可能性分数的灵活算法可能有助于进一步提高精度。

检测盒与地面真实盒匹配的高精度、召回率和IOU证明了神经网络系统正确区分牙齿“形状”与背景的能力。区域建议工作非常好,预测的边界框区域与地面真实区域几乎相同。这些自动检测的牙齿边界框对于从牙科x射线图像中提取牙齿具有重要的价值,这意味着可以从医院牙科x射线胶片的大数据库中自动分割出大量的牙齿并进行进一步的分析。

本研究的性能明显优于我们之前基于快速R-CNN的工作。神经网络结构和后处理程序的改进是显著的。我们的系统所做的注释的准确性、召回率和借据都非常接近于一个初级牙医所做的。对不匹配注释的分析表明,大多数(六种)类型的不匹配都发生在我们的自动系统和人类专家的注释中,这意味着我们的系统犯的错误与人类相似,特别是在不太复杂的情况下。然而,在某些微妙的情况下,自动系统会失灵,而这些情况很容易由人类专家解决。相反,人类专家在某些简单的情况下往往会粗心大意,比如左后牙被标记为右后牙,反之亦然。即使在对注释进行了全面审查之后,也没有发现错误。在真实的临床情况下,牙医可能没有足够的时间仔细审查他们的报告,这就会出现错误。因此,如果一个成熟的神经网络系统能够用于辅助牙科x线诊断工作,将会有很大的帮助。

虽然更快的R-CNN网络在本研究中取得了令人满意的结果,但也有一些将两颗“半牙”识别为完整牙齿的失败案例。这是卷积神经网络的一个固有缺点,它不关心图像特征之间的空间关系。而最近提出的胶囊网络可能为这个问题提供了一个解决方案。在未来的研究中,需要对更多类型的神经网络和结构进行测试,以获得更好的方法来提高牙齿检测结果。

5 结论

在本研究中,更快的R-CNN在牙齿检测方面表现得非常好,能够精确定位牙齿的位置,并且具有较高的IOU值和ground truth boxes,具有良好的精度和召回率。然而,在应用某些后处理程序之前,为每个检测到的牙齿提供FDI编号的分类工作的精度和召回率并不令人满意。我们的先验领域知识,特别是关于牙齿排列规则和相似矩阵的知识,在提高牙齿编号准确性方面发挥了重要作用,精度和召回率提高了10%以上。最后,我们提出的自动系统的性能非常接近于本研究中选择作为对照的初级牙医的水平。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值