数字图像处理 project:高血压视网膜病变图像的分类
详细的项目记录、文件功能描述、命令行参数等内容请见 RECORD
心血管疾病一直是导致全球死亡的主要原因之一,其中高血压是一个重要的危险因素。为了早期检测和识别高血压,本小组开发了一个辅助系统,利用深度学习算法对高血压引起的视网膜损伤(高血压视网膜病变)进行自动诊断。本小组预选多个网络模型进行分类训练,最终选出 ResNet 和 DenseNet 作为 Backbone 来进一步优化性能。本小组通过数据增强、迁移学习、交叉验证、集成学习等方法,克服了训练过程中的种种困难,提高了模型的泛化能力,解决了数据集不足导致的过拟合问题,最终在比赛网站测试集上获得了0.6138的得分。
详细环境见requirements.txt。主要环境为
cuda11.8python3.7pytorch2.1.0
scripts/运行脚本所在文件夹network/模型代码所在文件夹src/src/data.py实现数据读取等功能src/transform.py实现数据预处理、数据增强等功能src/utils.py实现了一些杂项功能,如保存模型参数、训练结果等src/train.py实现了模型训练功能
visual/visual/show_result.py实现训练结果的转换和可视化visual/visual.py获得转换过后的样例图片
upload_dir/模型训练完毕后,用于测试提交的缓冲区
运行以下命令,训练模型。运行脚本中的参数需要根据情况修改。
# Linux
bash scripts/train.sh
# Windows
scripts/train.bat运行以下命令生成样例图片。在运行前,请正确设置合适的参数。
# Linux
bash scripts/visual.sh
# Windows
scripts/visual.bat运行以下命令根据.csv结果文件获取可视化数据。
# Linux
bash scripts/show_result.sh
# Windows
scripts/show_result.bat
