Объяснение YOLOv8 объяснение результатов YOLOv8 с использованием Eigen-CAM.

Расшифровка YOLOv8 объяснение результатов при использовании Eigen-CAM

Я являюсь большим поклонником моделей YOLO (You Only Look Once), особенно версии 8. Они легко обучаются и разворачиваются, даже в области медицинского изображения. Недавно я успешно решил задачу классификации с использованием YOLOv8, и это работало довольно хорошо. Однако основной проблемой было отсутствие встроенной функции для понимания результатов, подобной GRAD-CAM или Eigen-CAM. После нескольких часов поиска в интернете я нашел репозиторий на GitHub, который делает именно то, что мне нужно, и даже больше. Он также очень прост в использовании. И так, давайте посмотрим, как его использовать:

  1. Введение
  2. Шаг клонирования репозитория на GitHub
  3. Импорт библиотек
  4. Инициализация Eigen-CAM

Интеграция Eigen-CAM в детекторы объектов YOLO (You Only Look Once) принесла значительное продвижение в области объяснимого искусственного интеллекта (XAI) для визуального обнаружения объектов. Эта интеграция особенно ценна, учитывая сложность современных моделей компьютерного зрения и необходимость более прозрачного объяснения их поведения. Eigen-CAM (Eigen Class Activation Mapping) играет важную роль в объяснении, как модели приходят к определенным прогнозам.

Чтобы создать руководство на основе репозитория на GitHub для интеграции Eigen-CAM с моделью YOLO V8, следуйте этим шагам:

Шаг 1: Клонирование репозитория Клонируйте репозиторий с [GitHub](https://github.com/rigvedrs/YOLO-V8-CAM) или загрузите папку `yolo_cam` напрямую.

Шаг 2: Импорт библиотек– Импортируйте необходимые библиотеки из склонированного пакета:

from yolo_cam.eigen_cam import EigenCAMfrom yolo_cam.utils.image import show_cam_on_image, scale_cam_image

Шаг 3: Инициализация Eigen-CAM– Инициализируйте Eigen-CAM с моделью YOLO V8 и целевыми слоями. Укажите задачу (`‘cls’` для классификации или `‘od’` для обнаружения объектов). По умолчанию задача – `‘od’`.

cam = EigenCAM(model, target_layers,task='cls')

Шаг 4: Генерация и визуализация тепловых карт– Сгенерируйте черно-белую тепловую карту и наложите ее на исходное изображение.

grayscale_cam = cam(rgb_img)[0, :, :]cam_image = show_cam_on_image(img, grayscale_cam, use_rgb=True) # это сгенерирует цветное изображениеplt.imshow(cam_image)plt.show()

Иногда вам может потребоваться выполнить вышеуказанные два шага…