身上长了块斑、一颗痣,自己拿不准要不要去医院;皮肤科医生看不过来,排队挂号又慢。皮肤镜图像(dermoscopy)下的病灶自动分析,能先把"看起来需要进一步检查"的样本筛出来,给医生和患者一个参考。
今天分享的这篇 CVPR2026 论文 DermNet,面向皮肤镜图像做"病灶分割 + 良恶性倾向初筛"联合分析:先把病灶区域从皮肤背景里切出来,再判断病变类型倾向。模型轻量,可在移动端和科室服务器部署。在 ISIC 公开皮肤病变数据集上,分割与分类指标均优于同量级轻量模型。需要强调的是,模型输出只是辅助筛查参考,最终诊断必须由皮肤科医生结合临床确认。
一、皮肤镜图像分析难在哪
和一般自然图像分类相比,皮肤病变图像的干扰因素多、类别更精细。
1.1 病灶边界模糊,颜色渐变
很多皮肤病变不是"色块清晰、轮廓利落"的目标——色素从中心向外逐渐变淡,边缘和正常皮肤平滑过渡,自动分割很难切出准确边界。边界不准,后面的分类特征也会带偏。
1.2 干扰元素多:毛发、皮屑、反光、血管
皮肤镜画面里常混有黑色毛发横穿病灶、表皮皮屑、镜头光斑反光、扩张的毛细血管纹理。这些东西不属于病灶本身,但模型很容易当成判别特征,尤其是反光和毛发,容易造成误判。
1.3 良恶性样本极不均衡
公开数据集中绝大多数是良性样本,恶性黑色素瘤这类关键类别占比很低。模型图省事会倾向于全判良性,关键类召回不足——而这恰恰是筛查场景最不能漏的类别。
1.4 数据规模小、跨设备差异大
皮肤病变公开数据集总量远不如自然图像集,而且采集设备、皮肤底色、拍摄角度不同,图像外观差异明显。模型在 A 设备上训练,换 B 设备拍照就掉点,泛化是实际落地的门槛。
二、DermNet 的三个核心设计
DermNet 的整体思路:分割先行、分类跟上——先精确圈出病灶区域,再在干净的病灶特征上做类型判断,同时用类别均衡策略保住恶性类别的召回。
2.1 分割—分类联合网络
不直接把整张图扔进分类器,而是分两步且共享特征:
•分割分支:输出病灶像素级掩码,把病变区域从皮肤背景、毛发、反光中分离出来。
•分类分支:只在分割掩码对应的区域内提取特征做类型判断,背景噪声被天然过滤。
•共享主干:两个分支共用底层特征提取器,训练时联合优化,互相提供监督信号。
消融实验显示,去掉分割分支、直接整图分类时,良性/恶性混淆明显增加;先分割再分类,关键类别召回更稳。
2.2 颜色—纹理双流细粒度特征
皮肤病变判断本身就看两类信息:
•颜色流:色素分布是否均匀、有无异色区域,对应 ABCD 法则里的颜色变化特征。
•纹理流:边界规则度、网络状纹理、斑块结构等局部细节。
DermNet 用两个并行分支分别建模颜色统计和局部纹理,最后融合判断。相比单路特征,双流对边界不规整、颜色不均这类早期可疑病灶更敏感。
2.3 类别均衡与小样本增强
针对恶性样本少的问题:
•focal 类别加权损失:样本少、难分的类别损失权重上调,避免模型偏向多数良性类。
•病灶级数据增强:旋转、缩放、颜色扰动、模糊、模拟毛发遮挡,提升小样本类别在多变条件下的稳定性。
•困难样本回放:训练中反复挖掘被误分的恶性样本,重点纠正。
三、技术架构拆解
模块 |
做什么 |
关键设计 |
共享轻量 Backbone |
提取皮肤镜基础特征 |
轻量 CNN,兼顾速度与纹理细节 |
病灶分割分支 |
输出病灶像素掩码 |
边界损失加权,应对模糊边缘 |
颜色纹理双流分类 |
在病灶区内做类型判断 |
颜色流 + 纹理流融合,输出类型概率与置信度 |
均衡训练策略 |
缓解类别不均衡 |
类别加权损失 + 病灶级增强 + 困难样本回放 |
几个工程要点:
•双输出:分割掩码 + 类型概率 + 置信度,方便医生对照图像复核。
•置信度门槛:低置信度结果标记为"建议临床复检",不强行给结论。
•轻量化:适合科室单机或手机端离线推理,保护患者隐私数据不外传。
四、和主流方法的横向对比
在 ISIC 皮肤病变公开集上对比代表性方法(指标为示意口径,正式复现以数据集官方划分和榜单为准):
方法 |
分割 Dice↑ |
关键类别召回↑ |
参数量(M) |
推理方式 |
ResNet50 整图分类 |
— |
一般 |
25 |
仅分类 |
U-Net 分割 + 后接分类 |
0.81 |
中等 |
32 |
两模型拼接 |
SE-ResNeXt |
— |
中等偏上 |
28 |
仅分类 |
DermNet |
0.86 |
较高 |
9.5 |
单网络联合输出 |
对比要点:拼接两个模型(先 U-Net 再分类)链路长、误差累积;DermNet 共享主干联合训练,参数更省,分割和分类互相提供约束。实际选用时还要按自己的数据集划分重新评测,不能直接照搬论文数字。
五、快速上手:联合推理代码框架
python |
部署提示:训练划分时务必按患者而非按图片随机切分,避免同一患者的图像同时出现在训练集和测试集,导致指标虚高。
六、毕设/竞赛拓展方向
6.1 病理切片辅助分析
从二维皮肤镜延伸到组织病理切片:细胞级分割、癌区定位、良恶性辅助判读。数据公开且文献丰富,可做成"分割+分类"通用模板。
6.2 眼底病变筛查
糖尿病视网膜病变分级是成熟的公开任务(如 IDRiD),把分割分类联合框架迁移到眼底照片,关注视盘、渗出、出血点定位,医疗故事完整。
6.3 辅助报告与可解释热力图
在分类结果上叠加 Grad-CAM 热力图,标出模型依据的病灶区域,再生成结构化文字描述。可解释性是医疗系统落地的重要加分项。
6.4 移动端自查辅助工具
结合移动端量化推理,做一个"拍照记录病灶、多次随访对比面积变化"的工具,定位为健康管理辅助,明确提示不能替代面诊,产品形态完整、适合演示。
七、写在最后
医疗影像选题有两条底线:一是数据划分严谨,二是输出定位为辅助而非诊断。模型可以帮医生提高效率、减少漏看,但结论权始终在医生手里,文章和产品设计都应守住这个边界。
DermNet 给我的启发:复杂医学图像任务不要一上来就堆分类器。先把感兴趣区域切干净,分类难度会明显下降;分割和分类共享主干联合训练,往往比两个模型生硬拼接更轻、更稳。
做毕设的同学建议先从 ISIC 单任务跑通 baseline,再逐步加分割和可解释性。公开数据集够用、流程可复现、结论可复核,就是一套扎实的医疗视觉作品。

