摘要:贫血是全球最常见的营养缺乏性疾病之一,传统血液检测方法存在创伤性、操作复杂、成本较高等局限性。本文针对贫血的无创快速检测需求,研究了基于轻量级卷积神经网络的结膜图像贫血检测方法。
项目概览
项目简介
本研究采用MobileNetV2轻量级卷积神经网络作为特征提取主干,该网络采用深度可分离卷积和倒置残差结构,在保证检测精度的同时显著降低了模型参数量和计算复杂度。通过迁移学习策略,利用ImageNet预训练权重进行微调,有效缓解了医学图像数据稀缺问题。针对小样本数据集特点,设计了包括随机裁剪、几何变换和颜色抖动在内的数据增强方案,提高了模型的泛化能力。系统实现了完整的训练流程,包括自适应学习率调整、早停机制和模型检查点保存等功能。为便于实际应用,基于PyQt5开发了图形化操作界面,集成了模型训练、图像检测和结果可视化功能。
实验使用包含218张结膜图像的数据集进行验证,按8:1:1比例划分训练集、验证集和测试集。在NVIDIA GeForce RTX 3070 Ti GPU上,模型训练耗时约11分钟,在验证集上达到95.24%的准确率。模型参数量约3M,单张图像检测时间约10ms(GPU),满足实时检测需求。实验分析表明,轻量级卷积神经网络在结膜图像贫血检测中具有较好的应用潜力,为贫血的无创筛查提供了技术支持。
系统架构
本系统采用三层架构设计,包括数据层、模型层和应用层。数据层负责结膜图像的采集、存储和预处理,通过数据增强技术扩充训练样本;模型层以MobileNetV2作为特征提取主干,结合自定义分类器实现贫血检测,采用PyTorch框架进行模型训练和推理;应用层基于PyQt5开发图形化用户界面,集成模型加载、图像导入、实时检测和结果可视化等功能模块。系统支持GPU加速推理,单张图像检测时间约10ms,满足实时检测需求。整体架构设计兼顾了模型的轻量化、检测的准确性和系统的易用性,为贫血无创筛查提供了完整的技术解决方案。

图1 系统架构图
技术创新
创新点1:基于加权损失函数的类别不平衡优化方法
本文提出了一种针对贫血检测任务的加权交叉熵损失函数优化方法。通过对少数类样本赋予更高的损失权重(贫血类权重2.0,无贫血类权重1.0),使模型在训练过程中更加关注贫血样本的正确分类,从而显著提升了少数类的识别能力。该方法无需改变网络结构,仅通过调整损失函数的类别权重即可实现优化。
创新点2:面向移动端部署的轻量级贫血检测系统设计
本文构建了面向移动端部署的轻量级贫血检测系统,采用MobileNetV2网络将模型参数量控制在3M(仅为ResNet18的1/4),在保持81.82%检测准确率的同时实现10ms/图像的实时推理速度,并开发了完整的图形化应用系统,为基层医疗和资源受限场景下的贫血无创筛查提供了可行的技术方案。
数据集
本研究使用的结膜图像贫血检测数据集共包含218张RGB彩色图像,分为Anemia(贫血)和NoAnemia(无贫血)两个类别,其中贫血样本91张,无贫血样本127张,类别比例约为1:1.4。数据集按照8:1:1的比例随机划分为训练集(175张)、照片,图像质量良好,包含了不同光照条件、拍摄角度和个体差异等真实场景的变化。数据集规模虽然相对较小,但通过数据增强技术(包括随机裁剪、几何变换和颜色抖动等)有效扩充了训练样本的多样性,并结合迁移学习策略,在小样本条件下实现了较好的模型性能。
模型训练
运行train.py

图2 训练历史曲线图

图3 混淆矩阵
快速开始
运行python gui.py启动界面,加载checkpoints/best_model.pth模型,选择结膜图像后点击”开始检测”即可获得贫血检测结果。
环境要求
本系统基于Python 3.10和PyTorch 2.0+开发,推荐使用NVIDIA GPU(显存≥4GB)以获得最佳推理性能。
运行展示
运行gui.py

图4 主界面

图5 模型加载成功

图6 分析结果:贫血

图7 分析结果:无贫血
项目资源
配套文档
点击查看:基于轻量级卷积神经网络的结膜图像贫血检测研究 注意:仅供VIP会员免费下载!
配套文件
包括完整的项目源代码、演示视频、运行截图,开箱即用。

项目信息
作者信息
作者:Bob (张家梁)
项目编号:AI-31-P
原创声明:本项目为原创作品
联系方式

开源协议
本项目采用AGPL-3.0开源协议,允许个人和组织自由使用、修改和分发代码,但基于本项目的衍生作品必须同样开源,且用于提供网络服务时需向用户提供完整源代码。本项目仅供学习研究使用,作者不对使用本项目产生的任何后果承担责任,使用者应遵守当地法律法规,合理合法使用本项目。如本项目对您的研究或工作有所帮助,欢迎引用并注明出处。


评论(0)