jacobgil/pytorch-grad-cam

Advanced AI Explainability for computer vision. Support for CNNs, Vision Transformers, Classification, Object detection, Segmentation, Image similarity and more.

What it solves

このプロジェクトは、コンピュータビジョン向けのピクセル帰属 (Pixel Attribution) 手法の包括的なコレクションを提供し、開発者や研究者がモデルの予測を診断し、画像のどの部分が特定の出力につながるのかを理解することを可能にします。ディープラーニングモデルの「ブラックボックス」的な性質を、視覚的な説明 (Class Activation Maps) に変換することで、本番環境や開発中のモデルのデバッグを容易にします。

How it works

このライブラリは、PyTorchモデルの活性化と勾配を分析する、最先端の様々な説明可能手法 (such as GradCAM, HiResCAM, ScoreCAM, and EigenCAM) を実装しています。以下の2つの主要な概念を通じて、柔軟なアーキテクチャをサポートします:

  • Reshape Transforms: モデル内部の活性化 (CNN と Vision Transformers で異なる場合があります) を空間的な画像形式に変換します。
  • Model Targets: モデルの出力をフィルタリングして、説明が必要な特定のスカラ値 (例:特定のクラスカテゴリ) を隔離するためのコールバック関数です。

Who it’s for

  • AI Researchers: 新しい説明可能手法の開発や、既存手法のベンチマークを行っている研究者。
  • ML Engineers: コンピュータビジョンタスクにおいて、モデルの予測を診断し、信頼性を確認する必要がある開発者。
  • Data Scientists: 分類、物体検出、セマンティックセグメンテーション、または埋め込み類似度を扱うユーザー。

Highlights

  • Broad Method Support: 勾配ベース (GradCAM++) から勾配フリー (AblationCAM, ScoreCAM) まで、幅広い技術を含んでいます。
  • Architecture Agnostic: 一般的な CNN と Vision Transformers (ViT, SwinT) で動作します。
  • Task Versatility: 分類、物体検出、セマンティックセグメンテーション、および CLIP テキストプロンプトによる説明をサポートします。
  • Evaluation Metrics: 説明の信頼性を定量的にチェックするための組み込み指標 (例:ROAD や ARCC) を含んでいます。
  • Noise Reduction: よりクリーンで焦点の絞られた可視化を実現するために、平滑化手法 (aug_smootheigen_smooth) を提供します。