基于3D扫描的口腔检查识别方法与流程

文档序号:24074103发布日期:2021-02-26 16:29阅读:234来源:国知局
基于3D扫描的口腔检查识别方法与流程
基于3d扫描的口腔检查识别方法
技术领域
[0001]
本发明属于口腔检查领域,具体涉及基于3d扫描的口腔检查识别方法。


背景技术:

[0002]
对于口腔健康与预防越来越被人们所重视,对于口腔内的检查也走进了人们的生活,以往大多是依靠有经验的医生通过反光镜和手电配合的方式进行人为观察了解口腔内的健康状况,但是对于牙齿来说,目标小,其出现病害后有时反应不是很直观,并且肉眼观察容易出现偏差,不利于确诊。


技术实现要素:

[0003]
本发明提供基于3d扫描的口腔检查识别方法,以解决上述问题,包括以下步骤:
[0004]
s1、通过3d扫描获取病牙图像;
[0005]
s2、对所述病牙图像进行预处理,所述预处理包括包括标注数据和分样处理;
[0006]
s3、以预处理后的病牙图像为基础进行机器深度学习训练并建立算法模型,所述算法模型为以残差网络为主干网络结合目标检测算法建立的多尺度算法模型;
[0007]
s4、通过所述多尺度算法模型对待识别的口腔扫描图像进行病牙识别。
[0008]
优选的,所述标注数据包括病牙类别和风险程度。
[0009]
优选的,所述分样处理包括将病牙区域图像进行分样并复制,将复制的病牙区域图像随机粘贴到该样本的其他区域,对分样复制的图像进行标注。
[0010]
优选的,所述步骤s2中,采用二折交叉验证的方法划分数据,随机抽取80%数据用于模型训练,剩余20%数据用于验证,将数据分为5份进行二折交叉验证,每个训练数据集轮训40次。
[0011]
优选的,对模型训练的学习率进行等间隔调整,每10个训练数据集一次训练调整为原来的0.8倍。
[0012]
优选的,所述多尺度算法模型的损失函数loss包括分类任务的交叉熵损失函数和检测任务的损失函数,表征为:
[0013]
loss=ce(x,gth_c)+dl(x,gth_d)
ꢀꢀ
(1)
[0014]
式中,ce为用于分类任务的交叉熵损失函数,gth_c为分类的真实值标签,dl为用于检测任务的损失函数,gth_d为检测框的真实标签。
[0015]
优选的,所述检测任务的损失函数表征为:
[0016]
dl(x,gth_d)=1/n(l
c
(x,c)+al
loc
(l,gth_d))
ꢀꢀ
(2)
[0017]
式中,l
loc
(l,gth_d)为关于预测框和真实框的平滑的1范数损失函数,a为系数。
[0018]
优选的,l
loc
(l,gth_d)表征为:
[0019]
l
loc
(l,gth_d)=∑smooth_l1(l,(i)-gth_d(i))
ꢀꢀ
(3)。
[0020]
优选的,l
c
(x,c)为关于输出与检测后分类自信度损失函数,也即交叉熵损失函数,表征为:
[0021]
l
c
(x,c)=-∑x_p(i)log(c_p(i))-∑x_n(i)log(c_n(i))
ꢀꢀ
(4)。
[0022]
优选的,训练结束后对模型进行量化。
[0023]
本发明具有以下有益效果:提供基于3d扫描的口腔检查识别方法,以残差网络为主干网络结合目标检测算法构建的多尺度算法模型,通过两级损失函数进行两个阶段的检测,使得网络具有从粗检测到精检测的能力,并具有多尺度学习能力,网络先进行下采样提取高层语义信息,然后将然后将高层特征与底层特征进行整合拼接,综合成新的特征进行目标检测,这种策略有效改善了对小目标的检测能力。
附图说明
[0024]
图1为本发明实施例实施步骤框图;
[0025]
图2为本发明实施例中多尺度算法模型示意图;
[0026]
图3为本发明实施例中本方案改进方法和经典方法中算法收敛速度对比图。
具体实施方式
[0027]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。若未特别指明,实施例中所用的技术手段为本领域技术人员所熟知的常规手段。
[0028]
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0029]
如图1-3所示,基于3d扫描的口腔检查识别方法,包括以下步骤:
[0030]
s1、通过3d扫描获取病牙图像;
[0031]
s2、对所述病牙图像进行预处理,所述预处理包括包括标注数据和分样处理;
[0032]
s3、以预处理后的病牙图像为基础进行机器深度学习训练并建立算法模型,所述算法模型为以残差网络为主干网络结合目标检测算法建立的多尺度算法模型;
[0033]
s4、通过所述多尺度算法模型对待识别的口腔扫描图像进行病牙识别。
[0034]
使用数字口腔扫描仪运用凝视型结构光三维测量技术,从不同视角实时生成多幅三维图像,并采用快速拼接算法,创建出单颗牙齿或全牙弓三维数据。
[0035]
这里图像为[224,224]分辨率的rgb图像,不论是训练阶段还是预测阶段,图像的规格都是一致的。首先,用病牙图像对图像进行训练,得到检测算法模型。而后,利用训练好的算法模型对新采集的牙齿图像,进行病牙的检测和识别。
[0036]
作为优选的方案,所述标注数据包括病牙类别和风险程度,对于类别标注比如说虫牙、龋齿等,风险程度主要表征病牙的危害程度,或者说是病害程度,细分的等级可以为后期的识别提供依据。
[0037]
作为优选的方案,所述分样处理包括将病牙区域图像进行分样并复制,将复制的病牙区域图像随机粘贴到该样本的其他区域,对分样复制的图像进行标注。
[0038]
得到牙齿扫描图像之后,我们会对图像中的病齿区域进行标注,并记录标注框的对角位置的像素坐标(x1,y1)和(x2,y2),像素坐标即像素点相当于图像原点的坐标。这样,
我们就可以唯一的描述一个矩形标注框,其四个顶点分别为:(x1,y1),(x1,y2),(x2,y1),(x2,y2)。
[0039]
标注框的图像区域占整个图像区域的比例是很低的,为了增加病齿区域的样本数目。我们将标注框区域内的图像随机复制到图像的其他位置。首先,我们在图像区域[1280,760],随机生成新的标注框的左上顶点(x_n,y_n),根据标注框的高度h和宽度w,很容易得到新的标注框的右下顶点(x_n+w,y_n-h)。如果新框没有超出图像区域,并且也原标注框也没有重叠区域,则保留该标注框,并将原标注框区域内的像素值赋值给新的标注框的像素。
[0040]
依次类推,在一副图像上可以得到多个病齿区域的复制,以及对应的多个标注框的位置。
[0041]
在整幅牙齿图像中,病牙的尺寸范围都是比较小的,相对与其他的区域采样得到的样本数,数据量也小的多。在图像检测问题中,这属于小目标问题,也属于数据不均衡问题,这会对算法的性能影响比较大,为提高识别率,我们采用增加病牙样本的方法。具体是:将病牙区域复制多份,并随机粘贴到该副图像的其他区域。同时,在标注数据中,增加相应的标注框的数据和类别。所有的标注数据都类似的方法进行预处理。这样可显著增加病牙数据,可以有效提高召回率,以及算法的精度。
[0042]
作为优选的方案,所述步骤s2中,采用二折交叉验证的方法划分数据,随机抽取80%数据用于模型训练,剩余20%数据用于验证,将数据分为5份进行二折交叉验证,每个训练数据集轮训40次。
[0043]
对于不太常见的牙齿病症的图像样本,占总样本的比例比较低,与其他病牙图像样本数量相比也比较少,为了提高召回率,采用过采样(oversample)的方式,多次训练这类样本,提高算法模型的性能。由于牙齿图像有比较大的空白区域,根据像素值就可以很容易判断这些区域,因此,可以在这些区域复制多份待检测牙齿图片,同时,不会对其他牙齿区域产生影响,这种预处理将会大大提高待检测目标被识别的概率。
[0044]
作为优选的方案,对模型训练的学习率进行等间隔调整,每10个训练数据集一次训练调整为原来的0.8倍。
[0045]
采用2折交叉验证的方法划分数据,随机抽取80%的数据用于模型训练,剩余的20%数据用于验证,模型训练的主要参数如下:epoch(对于训练集中的样本全部完成训练以此):每个训练数据集轮训40次,2折交叉验证共有5份训练数据集,因此,共轮训200次,epoch=200。学习率策略:等间隔调整,初始学习率为lr=0.001,每10个epoch调整为原来的0.8倍。优化器:adam,β1=0.001,β2=0.999,ε=1.0e-8。resnet预训练权重:基于imagenet数据集上的预训练权重。
[0046]
深度学习算法模型方面,综合考虑计算量、计算速度和精度指标,选择mobilenet-ssd模型,在算法训练过程中,根据map性能指标对模型超参数进行微调。map定义如下:
[0047][0048]
k为类别数目,api为第i个分类的平均准确率(meanprecision),可通过准确率-召回率曲线图(precision-recallrecurve)求解。
[0049]
使用的网络模型为一种多任务混合模型,一部分模型结构主要用于分类,分类任务模型的损失函数一般是交叉熵的方法,因为交叉熵很好的描述了同一个随机变量在不同
概率下的差异程度。
[0050]
另一部分模型结构主要用于检测,检测任务主要是对标注框的顶点坐标进行回归,一般用l1损失函数或l2损失函数。相对l2损失函数,l1损失函数是更为鲁棒的一种方式。它对训练数据中的奇异值不是特别敏感。而l2损失函数受奇异值影响比较大,训练过程中容易此影响而损失很多正常训练数据,收敛速度过慢,或者无法收敛到最优解。考虑到在病齿检测的场景中,前处理步骤比较多,标注的步骤相对繁琐,为了降低人为错误造成的训练数据的噪声。这里选用l1损失函数。
[0051]
多损失函数的联合应用,有效提高了算法的收敛速度,提高了检测精度。
[0052]
作为优选的方案,所述多尺度算法模型的损失函数loss包括分类任务的交叉熵损失函数和检测任务的损失函数,表征为:
[0053]
loss=ce(x,gth_c)+dl(x,gth_d)
ꢀꢀ
(1)
[0054]
式中,ce为用于分类任务的交叉熵损失函数,gth_c为分类的真实值标签,dl为用于检测任务的损失函数,gth_d为检测框的真实标签。
[0055]
作为优选的方案,所述检测任务的损失函数表征为:
[0056]
dl(x,gth_d)=1/n(l
c
(x,c)+al
loc
(l,gth_d))
ꢀꢀ
(2)
[0057]
式中,l
loc
(l,gth_d)为关于预测框和真实框的平滑的1范数损失函数,a为系数。
[0058]
作为优选的方案,l
loc
(l,gth_d)表征为:
[0059]
l
loc
(l,gth_d)=∑smooth_l1(l,(i)-gth_d(i))
ꢀꢀ
(3)。
[0060]
作为优选的方案,l
c
(x,c)为关于输出与检测后分类自信度损失函数,也即交叉熵损失函数,表征为:
[0061]
l
c
(x,c)=-∑x_p(i)log(c_p(i))-∑x_n(i)log(c_n(i))
ꢀꢀ
(4)。
[0062]
作为优选的方案,训练结束后对模型进行量化,为了进一步降低计算量,节省计算时间,压缩算法模型容量,训练结束后,对模型进行量化,以提高实际应用时的工作效率。
[0063]
鉴于特征金字塔网络(featurepyramidnetwork)不仅可以提取高级语义信息,而且可以提取低级语义信息,具有多尺度多分辨学习的特点,对检测小目标的任务有很大优势,提出了以resent50为主干网络,与ssd相结合的多尺度算法模型,算法模型的特点在于有两级损失函数,一级是下采样后的softmax损失函数,一级是整个网络的ssd损失函数,两级损失函数使得网络具有从粗检测到精检测的能力,这种两阶段检测的算法策略提升了算法效率。算法架构是一种多任务学习架构,一个是下采样后通过softmax进行的分类任务,一类是ssd检测任务,在牙齿检测业务中,这里的分类算法具有辅助功能,对加速算法收敛和训练大有裨益。具有多尺度学习能力,网络首先进行下采样,提取高层语义信息,然后将高层特征与底层特征进行整合拼接,综合成新的特征进行目标检测,这种策略有效改善了对小目标的检测能力。
[0064]
以上的实施例仅是对本发明的优选方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形、变型、修改、替换,均应落入本发明权利要求书确定的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1