舌诊在传统中医(TCM)中是一种至关重要的诊断方法,能够反映个体的健康状况。通过检查舌质及舌苔,医生可以推断出一个人的健康状况,"齿痕舌"一个具有代表性的体征是,如下图所示:
- 1a是正常舌,1b、1c、1d是三种不同的齿痕舌。
- 在1b中,舌边缘因牙齿压力常常显示出凹痕,这些凹痕可能是凹形的(如图1c所示)或者颜色更深,与周围红色组织形成鲜明对比(如图1d所示)
++++本文提出了++++ ++++一种全自动的舌部检测方法,能够从原始临床图像中准确提取舌部前景++++ ++++并使用++++ ++++一种基于ViT和MIL的端到端弱监督目标检测方法,仅图像级标签识别齿痕舌。++++
代码和数据集链接如下:
1 方法
方法包括两个阶段:自动舌前景提取的第一阶段和弱监督齿痕舌检测的第二阶段。
总体框架如下:
- YOLOv8:用于第一阶段的舌部检测。
- SAM:用于第一阶段的舌部分割。
- ViT:用于第二阶段的齿痕舌识别,作为模型的基础。
- First Stage:指第一阶段,即自动舌前景提取。
- Second Stage:指第二阶段,即弱监督齿痕舌检测。
- MILM:多实例学习模块,用于处理ViT输出的实例,并进行弱监督学习。
1.1 全自动舌部提取
从临床面部图像中准确识别舌部区域,并提取独立的舌部前景图像,去除无关背景信息,以便后续识别过程更专注于舌部特征。
方法:
- 舌部检测: 使用 YOLOv8n 模型对舌部区域进行检测,得到包含舌部的边界框。
- 舌部分割: 利用 SAM 模型在边界框内进行精细分割,得到舌部区域的精确掩码,并通过掩码去除背景,最终得到清晰的舌部前景图像。
1.2 弱监督舌齿痕识别
使用仅包含图像级标签的数据,对舌齿痕进行识别。
方法:
- 模型架构: 基于 Vision Transformer (ViT) 构建,将舌部图像分割成多个 patches 作为区域建议,输入 Transformer 编码器提取特征。
- Multiple Instance Calculation Module (MICM): 将 Transformer 编码器输出的每个 patch 的特征向量视为一个 instance,并根据 max-instance 假设,通过 MICM 模块识别出包含舌齿痕概率最高的 patch,作为该图像是否包含舌齿痕的判断依据。
- Weakly Supervised Loss (WSL): 结合交叉熵损失和 focal loss,对 MICM 和 MLP 模块的输出进行监督,提高模型对舌齿痕的识别能力。
2 实验
2.1 数据集
- 私有数据集: 来自福建中医药大学附属第三医院的 1745 张舌部图像,包含 556 张舌齿痕图像和 1188 张非舌齿痕图像。
- 公开数据集: 从 Kaggle 网站获取的舌部图像数据集,包含 546 张舌齿痕图像和 704 张非舌齿痕图像。
2.2 实验设置
- 舌部检测: 使用 90% 的私有数据集训练 YOLOv8n 模型,10% 用于测试。
- 舌齿痕识别: 使用私有数据集和公开数据集进行训练和测试,ViT 模型使用 ImageNet 预训练模型。
2.3 评价指标
- 舌部检测: 准确率和平均精度 (mAP)。
- 舌齿痕识别: 准确率、精确率、召回率和 F1 分数。
2.4 实验结果
WSVM 方法在舌齿痕识别任务上取得了优异的性能,证明了该方法的有效性和可靠性。该方法的自动化程度高,泛化能力强,可以应用于其他舌诊任务,具有重要的临床价值。
2.4.1 舌部检测
YOLOv8n 模型在私有数据集上取得了 99.5% 的准确率和召回率,mAP50 和 mAP50-95 分别达到 0.995 和 0.947,证明了模型在舌部检测方面的有效性。
2.4.2 舌齿痕识别
五折交叉验证: 在私有数据集和公开数据集上,WSVM 方法分别取得了 84.2% 和 89.0% 的准确率,以及其他评价指标也表现稳定,证明了模型的鲁棒性和可靠性。
与其他方法的比较: 与 MILCNN、WSTDN、DCNN 和 WTFF 等现有方法相比,WSVM 方法在私有数据集和公开数据集上都取得了更高的准确率和 F1 分数,证明了模型的优越性。
2.4.3 舌裂纹识别
在舌裂纹识别任务上,WSVM 方法也取得了优异的性能,证明了模型的可迁移性和泛化能力。
2.4.4 消融实验
通过对比使用 MICM 和 WSL 模块与不使用这些模块的模型,证明了 MICM 和 WSL 模块能够有效提高模型的识别能力。
2.4.5 可视化实验
通过可视化结果,展示了 WSVM 方法能够准确识别舌齿痕区域,并与其他方法进行了对比,进一步验证了模型的有效性。
主要内容参考:Yongcun Zhang等人编著的arXiv:2408.16451v1