1. 口腔疾病图像数据集概述
作为一名长期从事医疗AI研究的从业者,我深知高质量数据集对于模型性能的决定性影响。今天要分享的这个口腔疾病图像数据集,是我团队历时半年精心整理的成果,目前已成功应用于多个口腔健康辅助诊断项目。
这个数据集包含12,498张经过专业标注的口腔疾病图像,覆盖6种常见口腔病症:牙结石(Calculus)、龋齿(Caries)、牙龈炎(Gingivitis)、先天缺牙(Hypodontia)、口腔溃疡(MouthUlcer)和牙齿变色(ToothDiscoloration)。数据按8:2的比例划分为训练集(11,965张)和验证集(533张),这种划分方式在保证训练数据量的同时,也确保了验证集的统计代表性。
特别说明:所有图像均来自合作医疗机构的匿名病例,已通过伦理审查并去除个人隐私信息。数据采集过程严格遵循医疗数据使用规范。
2. 数据集构建全流程解析
2.1 数据采集与筛选标准
原始数据来源于三个渠道:
- 合作口腔诊所的电子病历系统(占比65%)
- 公开医学影像数据库(占比25%)
- 专业牙科设备拍摄(占比10%)
我们制定了严格的纳入标准:
- 图像分辨率不低于1280×720像素
- 病灶区域清晰可见
- 无严重运动模糊或过曝
- 排除术后修复等特殊情况
2.2 专业标注流程
标注工作由3名执业牙医共同完成,采用双盲标注+仲裁机制:
- 初级标注:每位医生独立标注
- 差异复核:不一致标注交由主任医师仲裁
- 质量抽检:随机抽取10%样本二次验证
标注规范包含:
- 病灶边界标注(多边形标注)
- 疾病类型分类
- 严重程度分级(轻/中/重)
- 拍摄角度标记(咬合面/颊侧/舌侧)
2.3 数据预处理方案
为提高模型鲁棒性,我们实施了以下预处理:
python复制# 典型预处理代码示例
def preprocess_image(img_path):
img = cv2.imread(img_path)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# 牙齿区域增强
hsv = cv2.cvtColor(img, cv2.COLOR_RGB2HSV)
hsv[:,:,1] = hsv[:,:,1]*1.2 # 饱和度增强
enhanced = cv2.cvtColor(hsv, cv2.COLOR_HSV2RGB)
# 标准化
normalized = (enhanced - np.mean(enhanced)) / np.std(enhanced)
return normalized
3. 数据集技术细节详解
3.1 类别分布与平衡策略
初始数据存在明显类别不均衡:
- 龋齿:38.7%
- 牙龈炎:25.2%
- 牙结石:18.5%
- 其他三类合计:17.6%
我们采用SMOTE过采样+轻度欠采样组合策略,最终各类别样本量控制在±15%偏差范围内。
3.2 数据增强方案
针对口腔图像特点,我们设计了专用增强策略:
| 增强类型 | 参数范围 | 应用频率 |
|---|---|---|
| 随机旋转 | ±15° | 80% |
| 亮度调整 | ±20% | 50% |
| 局部遮挡 | 1-3个遮挡块 | 30% |
| 色彩抖动 | HSV各通道±10% | 40% |
注意:避免使用镜像翻转,口腔结构具有明确的方向性。
3.3 数据集目录结构
规范的目录结构方便模型训练:
code复制oral_disease_dataset/
├── train/
│ ├── Calculus/
│ ├── Caries/
│ └── ...其他类别
├── val/
│ ├── Calculus/
│ ├── Caries/
│ └── ...其他类别
├── annotations/ # XML标注文件
└── dataset_meta.json # 统计信息
4. 基准模型与性能评测
4.1 模型选型对比
我们测试了三种主流架构:
| 模型 | 参数量 | 准确率 | 推理速度(FPS) |
|---|---|---|---|
| ResNet50 | 25.5M | 86.2% | 32 |
| EfficientNet-B4 | 19.3M | 88.7% | 28 |
| ConvNeXt-T | 28.6M | 89.5% | 25 |
最终选择ConvNeXt-T作为基础模型,因其在精度和效率间的最佳平衡。
4.2 关键性能指标
在533张验证集上的表现:
| 指标 | 数值 |
|---|---|
| 准确率(Accuracy) | 89.5% |
| 宏平均F1 | 88.2% |
| 加权F1 | 89.1% |
| 推理时延 | 38ms |
4.3 混淆矩阵分析
从热力图可见:
- 龋齿与牙齿变色存在10.3%的误判
- 牙龈炎与牙结石有8.7%的混淆
- 先天缺牙识别最准确(95.6%)
这反映了某些病症在视觉特征上的相似性。
5. 实际应用与优化建议
5.1 典型应用场景
- 远程牙科咨询:自动初步筛查
- 电子病历管理:自动分类归档
- 牙科教育工具:病例可视化教学
- 流行病学研究:疾病分布分析
5.2 模型优化方向
根据我们的实战经验,建议关注:
- 局部特征增强:采用注意力机制聚焦病灶区域
- 多任务学习:联合预测疾病类型和严重程度
- 领域自适应:解决不同设备间的分布差异
5.3 常见问题解决方案
我们遇到并解决的关键问题:
问题1:类别不平衡导致小类识别差
- 解决方案:采用Focal Loss + 动态采样
- 参数设置:γ=2.0,α=[0.2, 0.3, 0.15, 0.15, 0.1, 0.1]
问题2:牙齿反光干扰
- 预处理方案:基于HSV空间的反射区域检测与修复
python复制def remove_specular(img):
hsv = cv2.cvtColor(img, cv2.COLOR_RGB2HSV)
mask = cv2.inRange(hsv, (0,0,200), (180,25,255))
inpainted = cv2.inpaint(img, mask, 3, cv2.INPAINT_TELEA)
return inpainted
6. 数据使用注意事项
- 伦理合规:严禁尝试逆向推断患者身份
- 数据增强:建议保持口腔解剖结构的合理性
- 领域差异:不同种族/地区可能存在特征差异
- 模型验证:临床使用前必须通过医学专家评估
我们在实际项目中发现,结合牙科医生的先验知识可以显著提升模型性能。例如,龋齿好发于磨牙咬合面,这个规律可以作为后处理约束。
