MMDetection - RTMDet

dumbbelldore·2025년 1월 16일
0

zero-base 33기

목록 보기
79/97
post-thumbnail

1. RTMDet (Real-Time Multi-Scale Detection)

  • 실시간 객체 탐지를 목표로 하는 고속 및 효율적인 객체 탐지 모델
  • 다양한 객체 크기를 동시에 잘 탐지할 수 있도록 설계되어 Multi-scale 객체 탐지에서 우수한 성능을 보임

1-1. 주요 특징

  • 실시간 처리: 속도에 중점을 두고 설계되어, 비디오 스트림에서의 객체 탐지에도 적합
  • Multi-scale 객체 탐지: 작은 객체와 큰 객체 모두 탐지 가능하도록, Feature Map의 크기를 다양화 하여 탐지 성능을 최적화함
  • 경량 모델: 연산 자원 소모가 적고, 비교적 적은 파라미터를 가진 모델임에도 불구하고 높은 성능을 보여 모바일 기기엣지 디바이스에서도 실행이 가능하게 함

1-2. 사용 사례

  • 자율 주행: 빠른 속도로 객체를 탐지해야 하는 경우 유용
  • CCTV 영상 분석: 영상 내 사람이나 차량 등을 실시간으로 추적하고 감지하는 데 적합
  • 로봇 비전: 로봇이 주변 환경을 인식하고, 물체를 탐지하여 상호작용하는 데 활용 가능

2. 실습

2-1. RTMDet 모델 다운로드

  • MMDetection 설치 폴더로 이동 후 bash에서 다음 명령어 입력
mkdir checkpoints
mim download mmdet --config rtmdet_tiny_8xb32-300e_coco --dest ./checkpoints

2-2. DetInferencer 초기화

  • DetInferencer: MMDetection에서 객체 탐지모델을 추론할 때 사용되는 클래스
from mmdet.apis import DetInferencer
import os

# MMDetection 설치 폴더 절대경로
MMDET_PATH = "/workspace/mmdetection"

# config, 모델, device 지정
config_file = os.path.join(
	MMDET_PATH,
    "checkpoints/rtmdet_tiny_8xb32-300e_coco.py"
)
checkpoint_file = os.path.join(
	MMDET_PATH,
    "checkpoints/rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth"
    )
device = "cuda:0"

inferencer = DetInferencer(config_file,
						   checkpoint_file, 
                           device)

2-3. 샘플 이미지 내 객체 탐지

img = os.path.join(MMDET_PATH, "demo/demo.jpg")
res = inferencer(img, out_dir=os.path.join(MMDET_PATH, "output"))

from PIL import Image
Image.open(os.path.join(MMDET_PATH,"output/vis/demo.jpg"))

*이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.

profile
데이터 분석, 데이터 사이언스 학습 저장소

0개의 댓글