Skip to content

Latest commit

 

History

History
201 lines (135 loc) · 8.65 KB

README_CN.md

File metadata and controls

201 lines (135 loc) · 8.65 KB

皮肤烧伤检测

基于Yolov7的皮肤烧伤检测器

GitHub Repo stars GitHub followers GitHub watchers GitHub forks

作者: Micahel.W

适配环境:

English | 简体中文

项目简介:

这个项目的目标是开发一个基于深度学习的烧伤检测模型,将烧伤检测问题转换为物体检测问题。然后利用深度学习算法快速定位图像中的烧伤位置,并根据图像的视觉特征对烧伤深度进行判断。

烧伤检测精度达到88%,mAP_0.5达到72%,能够在日常医疗情况下进行出色的烧伤深度判断和识别。这些改进是通过修改最新的Yolov7模型的网络结构和使用各种广泛使用的目标检测框架而实现的。这是诊断不需要专家协助的烧伤的最简单,省钱的方法。它将在救灾和医疗资源不足的偏远山区县镇发挥重要作用。

使用说明:

快速开始:

两个最简单的方法是直接运行Kaggle和Google Colab上创建的笔记本。这些环境已经设置好了,你可以直接从头开始训练。(一套完整的训练大概需要4-5个小时)你也可以直接在笔记本文件夹中找到这些笔记本。但是,请注意,这些笔记本不能达到论文中或这个repo中提到的准确度,因为数据集是在一个公共数据集上训练的,而不是我自己用于这个项目的数据集。(由于患者隐私问题,我无法公布我自己的数据集,但我将公布我自己数据集上的训练权重)

kaggle笔记本:

Kaggle

Colab笔记本:

Open In Colab

在本地运行(使用最新的模型):

安装:

# or just download this entire repo
git clone https://github.com/Michael-OvO/Burn-Detection-Classification.git

安装依赖包(推荐使用虚拟环境):

cd Burn-Detection-Classification/
pip install -r requirements.txt

开始检测:

下载最新的预训练权重文件并放与本项目放在同一个文件夹下: Skin_burn_2022_8_21.pt

样本图像可以在inference文件夹中找到,每张图像的名称对应于每张图像的真实值(模型在每次运行后应预测这些值)。

下面是文件1st_degree_2.jpg(这是晒伤,所以模型应该输出一度烧伤)。

视频检测:

python detect.py --weights Skin_burn_2022_8_21.pt  --source yourvideo.mp4

图像检测:

python detect.py --weights Skin_burn_2022_8_21.pt --source inference/images/first_degree_2.jpg

Export (Same as Yolov7: )

Pytorch to CoreML (and inference on MacOS/iOS) Open In Colab

Pytorch to ONNX with NMS (and inference) Open In Colab

python export.py --weights yolov7-tiny.pt --grid --end2end --simplify \
        --topk-all 100 --iou-thres 0.65 --conf-thres 0.35 --img-size 640 640 --max-wh 640

Pytorch to TensorRT with NMS (and inference) Open In Colab

wget https://github.com/WongKinYiu/yolov7/releases/download/v0.1/yolov7-tiny.pt
python export.py --weights ./yolov7-tiny.pt --grid --end2end --simplify --topk-all 100 --iou-thres 0.65 --conf-thres 0.35 --img-size 640 640
git clone https://github.com/Linaom1214/tensorrt-python.git
python ./tensorrt-python/export.py -o yolov7-tiny.onnx -e yolov7-tiny-nms.trt -p fp16

Pytorch to TensorRT another way Open In Colab

Expand

wget https://github.com/WongKinYiu/yolov7/releases/download/v0.1/yolov7-tiny.pt
python export.py --weights yolov7-tiny.pt --grid --include-nms
git clone https://github.com/Linaom1214/tensorrt-python.git
python ./tensorrt-python/export.py -o yolov7-tiny.onnx -e yolov7-tiny-nms.trt -p fp16

# Or use trtexec to convert ONNX to TensorRT engine
/usr/src/tensorrt/bin/trtexec --onnx=yolov7-tiny.onnx --saveEngine=yolov7-tiny-nms.trt --fp16

Tested with: Python 3.7.13, Pytorch 1.12.0+cu113

Todos:

  • Finish Colab Notebook [2022.8.18]
  • Set up the rest of the code space
  • Add Chinese Markdown
  • Flask Environment for the trained model (or other kinds of web demo using the finally trained classifier)
  • Finish Paper

Resources:

Please refer to the resources folder

  • Pretrained Models and weights
  • Datasets
  • Burn Guidelines
  • Appendix 1
  • Appendix 2
  • Appendix 3
  • Appendix 4
  • Appendix 5
  • Appendix 6

最新更新:

GitHub last commit GitHub commit activity GitHub repo size

Star History Chart

鸣谢:

Acknowledgments:

Expand