你将收获

学习Grad-CAM热力图可视化原理

掌握YOLOv5上的Grad-CAM热力图可视化方法

适用人群

希望学习YOLOv5上的Grad-CAM热力图可视化方法的学员

课程介绍

PyTorch版的YOLOv5是一个非常流行的基于深度学习的目标检测器。本课程使用Grad-CAM热力图可视化方法对YOLOv5进行热力图可视化,可直观展示图像中哪些区域对类别分类贡献程度大。

Grad-CAM是一种CNN(卷积神经网络)可解释性的经典方法,与CAM(类激活图)相比,不需要对模型进行改动就可以生成热力图(heatmap),非常方便和灵活。

本课程在YOLOv5 v6.1版本代码的基础上增加Grad-CAM热力图可视化方法,并演示针对自己的数据集训练和进行Grad-CAM热力图可视化过程,并讲解原代码针对Grad-CAM热力图可视化的修改部分。

本课程分为原理篇、实战篇、代码讲解篇。

·        原理篇包括:Grad-CAM热力图可视化原理。

·        实战篇包括:PyTorch环境安装、YOLOv5项目安装、准备自己的数据集、修改配置文件、训练自己的数据集、Grad-CAM热力图可视化。

 

·        代码讲解篇包括:针对Grad-CAM热力图可视化具体修改的代码讲解。

gradcam热力图1

gradcam热力图可视化2

课程目录

讨论留言
43 条回复 进入帖子
切换为未回复评论
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

教授,您好,自己的数据集训练,出现以下错误,如何处理。
train: Scanning 'D:\yolov5-6.1-gradcam\VOCdevkit\labels\train' images and labels...1415 found, 0 missing, 0 empty, 0 corrupt: 100%|████████████████████████████████| 1415/1415 [00:02<00:00, 549.25it/s]
train: WARNING: Cache directory D:\yolov5-6.1-gradcam\VOCdevkit\labels is not writeable: [WinError 183] 当文件已存在时,无法创建该文件。: 'D:\yolov5-6.1-gradcam\VOCdevkit\labels\train.cache.npy' -> 'D:\yolov5-6.1-gradcam\VOCdevkit\labels\train.cache'
val: Scanning 'D:\yolov5-6.1-gradcam\VOCdevkit\labels\val' images and labels...995 found, 0 missing, 0 empty, 0 corrupt: 100%|███████████████████████████████████████| 995/995 [00:05<00:00, 194.98it/s]
val: WARNING: Cache directory D:\yolov5-6.1-gradcam\VOCdevkit\labels is not writeable: [WinError 183] 当文件已存在时,无法创建该文件。: 'D:\yolov5-6.1-gradcam\VOCdevkit\labels\val.cache.npy' -> 'D:\yolov5-6.1-gradcam\VOCdevkit\labels\val.cache'
Epoch gpu_mem box obj cls labels img_size
0/99 3.5G 0.109 0.02131 0.01933 14 640: 100%|██████████| 89/89 [00:22<00:00, 3.88it/s]
Class Images Labels P R mAP@.5 mAP@.5:.95: 0%| | 0/32 [00:00<?, ?it/s]
Traceback (most recent call last):
File "train.py", line 643, in
main(opt)
File "train.py", line 539, in main
train(opt.hyp, opt, device, callbacks)
File "train.py", line 370, in train
results, maps, _ = val.run(data_dict,
File "D:\Users\LENOVO\anaconda3\envs\v5\lib\site-packages\torch\autograd\grad_mode.py", line 28, in decorate_context
return func(*args, **kwargs)
File "D:\yolov5-6.1-gradcam\val.py", line 193, in run
out, train_out = model(im) if training else model(im, augment=augment, val=True) # inference, loss outputs
ValueError: too many values to unpack (expected 2)

车神5802024-06-13
  • 打赏
  • 举报
回复

老师您好,我通读了您的代码,同时使用自制的数据集进行实验,发现我输入不同的图片导致激活值和梯度值的向量图尺寸不一样,有的是(16,20)有的是(14,20)不知道原因

杆子提2023-04-21
  • 打赏
  • 举报
回复

老师,麻烦问下,运行main文件提升错误:torch.nn.modules.module.ModuleAttributeError: 'SiLU' object has no attribute 'register_full_backward_hook',该如何解决

qq_540550192023-05-09
  • 举报
回复
@杆子提torch的版本不对,我也遇到过这种问题
qq_425422992023-08-21
  • 举报
回复
@杆子提请问你解决了吗
m0_528171362023-02-23
  • 打赏
  • 举报
回复

請問如果要使用1280的img size需要更改那一部分?

gdl662023-04-14
  • 举报
回复
@m0_52817136你的热力图可视化实现了吗?
hanhanyld2022-11-01
  • 打赏
  • 举报
回复
usage: main.py [-h] [--model-path MODEL_PATH] [--img-path IMG_PATH] [--output-dir OUTPUT_DIR] [--img-size IMG_SIZE] [--target-layer TARGET_LAYER] [--method METHOD] [--device DEVICE] [--names NAMES] [--no_text_box] main.py: error: unrecognized arguments: model_20_cv3_act 这是什么情况
bai666ai2022-11-02
  • 举报
回复
@hanhanyld

注意使用课程网盘上的代码

hanhanyld2022-10-31
  • 打赏
  • 举报
回复
TypeError: attempt_load() got an unexpected keyword argument 'map_location' 这是什么问题
bai666ai2022-11-06
  • 举报
回复
@hanhanyld

使用课程网盘上的权重文件试一下

m0_450351462022-10-25
  • 打赏
  • 举报
回复
ValueError: too many values to unpack (expected 2),当我识别两个变量时候出现了这个错误
bai666ai2022-10-26
  • 举报
回复
@m0_45035146

先用课程中的数据集试一下,看能否复现

此一2023-12-26
  • 举报
回复
@m0_45035146请问解决了吗
m0_450351462022-10-25
  • 打赏
  • 举报
回复
这个训练时候只能单目标吗 而不是多目标识别?
bai666ai2022-10-26
  • 举报
回复
@m0_45035146

应该可以

m0_450351462022-10-22
  • 打赏
  • 举报
回复
老师,数据集标签应该是个什么样的格式
bai666ai2022-11-10
  • 举报
回复
@m0_45035146

可以参考课程中提供的数据集

xiahugo2022-09-26
  • 打赏
  • 举报
回复
老师,请问课件在哪下下载?
xiahugo2022-09-26
  • 举报
回复
@xiahugo已解决
bai666ai2022-09-27
  • 举报
回复
@xiahugo

电脑上视频播放时,屏幕左上可看到“下载课件”的链接。先下载课件,项目流程的课件中有网盘链接,可下载其它课程资料。

xiahugo2022-09-26
  • 打赏
  • 举报
回复
老师,请问课件在哪下下载?
xiahugo2022-09-26
  • 举报
回复
@xiahugo已解决
bai666ai2022-09-27
  • 举报
回复
@xiahugo

电脑上视频播放时,屏幕左上可看到“下载课件”的链接。先下载课件,项目流程的课件中有网盘链接,可下载其它课程资料。

m0_672696612022-08-29
  • 打赏
  • 举报
回复
老师,有没有tensorflow版本的代码?
bai666ai2022-08-30
  • 举报
回复
@m0_67269661

yolov5是用pytorch开发的,没有tensorflow版本

  • 打赏
  • 举报
回复
Traceback (most recent call last): File "G:\new_python_project\Gard-CAM热力图可视化\yolov5-6.1-gradcam\main.py", line 110, in main(args.img_path) File "G:\new_python_project\Gard-CAM热力图可视化\yolov5-6.1-gradcam\main.py", line 82, in main saliency_method = YOLOV5GradCAM(model=model, layer_name=args.target_layer, img_size=input_size) File "G:\new_python_project\Gard-CAM热力图可视化\yolov5-6.1-gradcam\models\gradcam.py", line 44, in __init__ self.model(torch.zeros(1, 3, *img_size, device=device)) File "E:\anaconda\envs\pytorch\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl return forward_call(*input, **kwargs) File "G:\new_python_project\Gard-CAM热力图可视化\yolov5-6.1-gradcam\models\yolo_v5_object_detector.py", line 167, in forward prediction, logits, _ = self.model(img, augment=False) ValueError: not enough values to unpack (expected 3, got 2) 为啥我运行就报这个错误了呢?还是拿老师的原项目运行的
bai666ai2022-08-01
  • 举报
回复
@迪导带的硕士研究生

再检查和对比下项目流程,看是否漏掉了什么

Hbut_xiaobai2022-07-21
  • 打赏
  • 举报
回复
老师您好,我用您这个代码可视化自己训练的模型,但是报以下错误,请问是什么原因呢? Traceback (most recent call last): File "F:/DeepLearning/Visdrone-finally-experiment/yolov5-6.1-gradcam/main.py", line 110, in main(args.img_path) File "F:/DeepLearning/Visdrone-finally-experiment/yolov5-6.1-gradcam/main.py", line 80, in main torch_img = model.preprocessing(img[..., ::-1]) TypeError: 'NoneType' object is not subscriptable
bai666ai2022-07-21
  • 举报
回复
@Hbut_xiaobai

检查一下你的数据集的标签是否和课程的格式一样

locken19972022-06-09
  • 打赏
  • 举报
回复
老师你好,我点击下载课件后 里面没有代码 请问代码在哪里下载呢
locken19972022-06-09
  • 打赏
  • 举报
回复
老师,请问代码在哪里呢 添加的文件找不到呀
bai666ai2022-06-09
  • 举报
回复
@locken1997

电脑上视频播放时,屏幕左上可看到“下载课件”的链接。先下载课件,项目流程的课件中有百度网盘链接,可下载其它课程资料。

bai666ai2022-06-09
  • 举报
回复
@locken1997

电脑上视频播放时,屏幕左上可看到“下载课件”的链接。先下载课件,项目流程的课件中有网盘链接,可下载其它课程资料。

weixin_519714302022-06-08
  • 打赏
  • 举报
回复
老师 请问下为什么我训练的权重文件可视化后冷区显示为目标区域?
bai666ai2022-06-09
  • 举报
回复
@weixin_51971430

注意物体可能由不同的target_layer获得,可修改下试试

 

weixin_519714302022-06-02
  • 打赏
  • 举报
回复
老师 请问下添加的项目是在哪下载的 boxes.py等
xz--wyb2022-05-31
  • 打赏
  • 举报
回复
求教,有没有YOLOX实现热力图的可视化操作?
bai666ai2022-05-31
  • 举报
回复
@xz--wyb

目前没有这门课,你看懂代码后可以自己改一下

i.am小超超2022-05-21
  • 打赏
  • 举报
回复
改完了,谢谢老师
bai666ai2022-05-21
  • 举报
回复
@i.am小超超

好的

加载更多回复