我是YOLO(You Only Look Once)模型的忠实粉丝,尤其是版本8。它很容易训练和部署,即使在医学影像领域也是如此。最近我使用YOLOv8完成了一个分类问题,效果很好。然而,主要问题是它没有内置的可解释结果功能,例如GRAD-CAM或Eigen-CAM。在互联网上搜索了几个小时后,我找到了一个GitHub仓库,正好满足我的要求,并且更容易使用。那么,让我们看看如何使用:
- 介绍
- 克隆 GitHub 仓库
- 导入库
- 初始化 EigenCAM
Eigen-CAM与YOLO(You Only Look Once)目标检测器的集成对于可解释的人工智能(XAI)在视觉对象检测方面标志着重大进展。考虑到当代计算机视觉模型的复杂性以及解释其行为的透明性需求,这种集成尤为引人注目。Eigen-CAM(特征值类激活映射)在理解这些模型如何得出特定预测方面起着关键作用。
要创建一个基于GitHub仓库的教程,将EigenCAM与YOLO V8模型集成,请按照以下步骤进行:
第一步:克隆仓库从[GitHub](https://github.com/rigvedrs/YOLO-V8-CAM)克隆仓库,或直接下载`yolo_cam`文件夹。
第二步:导入库– 从克隆的包中导入所需库:
from yolo_cam.eigen_cam import EigenCAMfrom yolo_cam.utils.image import show_cam_on_image, scale_cam_image
第三步:初始化 EigenCAM– 使用YOLO V8模型和目标层初始化EigenCAM。指定任务(分类任务使用`‘cls’`,目标检测任务使用`‘od’`)。默认任务是`‘od’`。
cam = EigenCAM(model, target_layers,task='cls')
第四步:生成和可视化热图– 生成灰度热图并将其叠加在输入图像上。
grayscale_cam = cam(rgb_img)[0, :, :]cam_image = show_cam_on_image(img, grayscale_cam, use_rgb=True) # 它将生成彩色图像plt.imshow(cam_image)plt.show()
有时您需要运行以上两步…