【深度学习】使用 GradCam 热力图对 YOLOv5-7.0 进行即插即用的特征可视化
参考链接:yolo-gradcam,链接内代码同时也支持YOLOv7、YOLOv8、YOLOv9 的即插即用热力图可视化,可按需取用。
1. 环境配置
# 创建环境
conda create -n heatmap39 python=3.9
# 激活环境
conda activate heatmap39
# torch 安装
# 注意高版本的 torch 和 grad-cam 有可能会出现环境不兼容,导致后续 grad-cam 失败
pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html -i https://pypi.mirrors.ustc.edu.cn/simple/
# pip 包
cd yolov5
pip install -r requirements.txt
# grad-cam 包安装
pip install grad-cam==1.4.8 -i https://pypi.tuna.tsinghua.edu.cn/simple
2. 特征可视化
将 yolov5_heatmap.py 脚本放至 yolov5-7.0 的代码主目录下,并进行参数配置即可,主要参数修改 weight
和 图片路径即可,如下所示。
配置好参数后运行脚本文件即可在指定路径下得到热力图显示图像
3. 踩坑记录
3.1 ModuleNotFoundError:No module named ‘pytorch_grad_cam’
- 问题分析:已经安装了 grad-cam 库,但报错,当前版本 torch 环境太高,导致 grad-cam 不兼容
- 解决方法:按照环境配置步骤重装环境即可
3.2 TypeError: expected str, bytes or os.PathLike object, not int
- 解决方法: 在安装环境报错,是因为当前版本的
pip
为 9.0.1 版本,更新至最新版本即可。但是这里要注意,直接使用pip install --upgrade pip
安装时也会报错,需要使用指令pip install --upgrade pip --no-cache-dir
进行安装