frgfm/torch-cam

Class activation maps for your PyTorch models (CAM, Grad-CAM, Grad-CAM++, Smooth Grad-CAM++, Score-CAM, SS-CAM, IS-CAM, XGrad-CAM, Layer-CAM, Finer-CAM, LeGrad, RefineCAM)

해결하는 문제

TorchCAM은 PyTorch 모델의 합성곱 레이어에서 클래스별 활성화를 시각화하고 탐색할 수 있는 간단한 방법을 제공합니다. 모델이 특정 예측을 내릴 때 이미지의 어떤 부분에 주목하고 있는지를 보여주는 히트맵을 생성함으로써 예상치 못한 분류 결과를 디버깅하는 데 도움을 줍니다.

작동 방식

이 라이브러리는 모델 아키텍처를 수정하지 않고도 내부 모델 정보를 가져오기 위해 PyTorch의 훅 메커니즘을 사용합니다. CAM 추출기는 모델을 둘러싸는 래퍼 역할을 하며, 모델이 추론을 수행할 때 필요한 활성화를 캡처합니다. 사용자는 클래스 인덱스를 지정하여 활성화 맵을 생성할 수 있으며, 이를 원본 이미지 위에 겹쳐서 시각화하거나 순수한 히트맵으로 표시할 수 있습니다.

대상 사용자

PyTorch 기반 컴퓨터 비전 모델을 사용하고 모델의 의사결정 과정을 해석해야 하는 연구자 및 개발자에게 적합합니다.

주요 특징

  • 다양한 방법의 보관소: Grad-CAM, Grad-CAM++, Score-CAM, Layer-CAM, Vision Transformers용 LeGrad를 포함한 다양한 CAM 기법을 구현.
  • 무결함 통합: 훅을 사용하여 기존 PyTorch 모델에 래퍼로 쉽게 통합 가능하며, 코드 변경이 최소화됩니다.
  • Hugging Face Space: 다양한 CAM 방법을 테스트할 수 있는 실시간 데모 앱 포함.
  • 성능 벤치마크: 다양한 방법에 대한 분류 신뢰도 및 지연 시간 오버헤드에 대한 상세한 메트릭 제공.
  • 광범위한 호환성: 표준 합성곱 레이어, Vision Transformers, 3D/비디오 데이터, 배치 입력을 모두 지원.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트