devway
홈전체 글태그

카테고리

  • 전체40
  • 인프라3
    • 하드웨어2
    • ubuntu1
  • AI34
    • 로컬 LLM8
    • AI 코딩 도구9
    • 컴퓨터 비전4
    • 디자인1
    • 이미지생성2
    • 데이터 아키텍쳐0
    • agent2
    • 모델3
  • Backend1
  • Architecture2
    • 분산 시스템1
    • 데이터0

태그

  • #로컬LLM9
  • #ClaudeCode9
  • #AI개발7
  • #LocalLLM6
  • #AI에이전트5
  • #에이전트4
  • #컴퓨터비전4
  • #MCP4
  • #LLM4
  • #RTX30904
  • #AI코딩4
  • #Anthropic4
  • #모델비교3
  • #객체탐지3
  • #로컬AI3
  • #딥러닝3
  • #개발도구3
  • #Gemma43
  • #이미지생성3
  • #백엔드3

구독

  • RSS
  • Sitemap
컴퓨터 비전 · 2026-04-26 · 8분

YOLO 버리고 RT-DETR 깔아봤더니 이렇게 됨

객체 탐지 모델을 YOLO에서 RT-DETR로 갈아탔다. Transformer 기반이라 NMS가 없고 추론도 안정적인 편. Python 3.12 환경에서 설치부터 이미지/영상 추론까지 직접 돌려본 후기와 솔직한 단점, 그리고 실제 코드까지 정리했다.

목차
  • RT-DETR이 뭐길래?
  • 환경 세팅 (이거 한 번에 안 되면 진짜 짜증남)
  • 이미지에 한번 돌려보기
  • 영상 추론은 한 줄로 끝
  • 솔직히 단점도 있음
  • 결론: 새 프로젝트면 그냥 RT-DETR 쓰세요

한 일주일 전쯤 사이드 프로젝트에서 YOLO 쓰던 거 RT-DETR로 갈아타볼까 하는 말이 나왔다. 솔직히 처음엔 "YOLO도 충분히 빠른데 굳이?" 싶었음. 근데 며칠 만져보니 생각이 좀 바뀌었어요.

이 글은 RT-DETR(Real-Time DEtection TRansformer) 처음 깔아보는 사람을 위한 실전 노트입니다. CNN 기반 탐지 모델만 써오던 분이라면 한 번 읽어볼 만함.

RT-DETR 객체 탐지 컨셉 일러스트

RT-DETR이 뭐길래?#

간단히 말하면 Transformer 기반 객체 탐지 모델이다. YOLO 같은 CNN이 이미지를 작은 패치로 쪼개서 보는 반면, RT-DETR은 전체 이미지를 한 번에 본다. 그래서 멀리 떨어진 픽셀끼리의 관계도 잘 잡아낸다고 함.

근데 진짜 핵심은 NMS(Non-Maximum Suppression)가 없다는 것. 기존 모델은 객체 하나에 박스 여러 개 그어놓고 NMS로 중복 제거했는데, RT-DETR은 처음부터 깔끔한 박스 하나만 뱉어낸다. 객체가 많아져도 추론 시간이 거의 안 늘어나는 게 이게 영상에서 진짜 체감됨.

환경 세팅 (이거 한 번에 안 되면 진짜 짜증남)#

저는 conda로 격리된 환경 만들었어요. 기존 환경에 PyTorch 새 버전 깔다가 다른 프로젝트 다 터진 적이 있어서, 이젠 무조건 분리합니다.

# Python 3.12 환경 새로 만들기
conda create -n rtdetr-312 python=3.12
conda activate rtdetr-312

# CUDA 버전 확인 (이거 안 하고 깔다가 30분 날림)
nvcc --version

# CUDA 12.8 기준 PyTorch 설치
pip install torch==2.9.1 torchvision==0.24.1 torchaudio==2.9.1 --index-url https://download.pytorch.org/whl/cu128

# Ultralytics 깔면 RT-DETR 바로 쓸 수 있음
pip install ultralytics==8.4.21

PyTorch와 Ultralytics 설치 터미널 화면

여기서 nvcc --version 확인 안 하고 그냥 cu128로 깔았다가 import 단계에서 CUDA 미스매치 떠서 한참 헤맸음. 본인 GPU 드라이버 버전부터 확인하는 게 진짜 정신건강에 좋습니다.

이미지에 한번 돌려보기#

테스트는 평범한 차 사진으로. 코드는 어이없을 정도로 짧다.

from ultralytics import RTDETR
import cv2

# Large 모델 - 정확도/속도 밸런스 괜찮음
model = RTDETR("rtdetr-l.pt")

image_path = "car2.jpg"
results = model(image_path, show=True, save=True,
                project="d:/temp", name="car2")

cv2.imshow("Original", cv2.imread(image_path))
cv2.waitKey(0)
cv2.destroyAllWindows()

처음 실행하면 모델 가중치 자동으로 다운받음. 32MB 정도. 결과는 기본적으로 runs/detect/predict 아래 저장되는데, 위 코드처럼 project랑 name으로 경로 지정하는 게 나중에 정리하기 편하더라고요.

근데 박스가 진짜 깔끔하게 뽑힘. YOLOv8로 같은 이미지 돌렸을 때보다 박스 잘림이 확실히 적음. 같은 차 한 대에 박스 두 개 겹쳐 그리는 일이 거의 없었어요.

차량 객체 탐지 결과 시각화 화면

영상 추론은 한 줄로 끝#

이건 좀 신기했음. 영상 처리하는데 코드가 진짜 한 줄이다.

video_path = "Birds.mp4"
results = model(video_path, show=True, save=True)

새 떼 영상 돌려봤는데 빠르게 움직이는 객체도 박스가 안 튐. 프레임마다 안정적으로 추적합니다. 객체 수 늘어도 FPS 거의 안 떨어지는 게 NMS 없는 효과 확실히 나오는 부분.

아 참고로 비둘기 영상으로 테스트하다가 우리 집 베란다에 진짜 비둘기가 와서 같이 모니터 쳐다보고 있는 거 좀 웃겼어요. 얘들도 자기 종족 인식하는 건가 싶고. 약간 무서움.

RT-DETR로 새 떼를 실시간 추적하는 모습

솔직히 단점도 있음#

장점만 쓰면 광고 같으니까 직접 겪은 것들 정리.

1. CPU에서는 거의 못 씀

GPU 없는 노트북에서도 한번 돌려봤는데 영상 1초 분량 추론하는 데 5초 넘게 걸림. 실시간은 절대 무리. CPU만 있으면 차라리 YOLO nano가 나아요.

2. Fine-tuning 한국어 자료가 너무 없음

기본 COCO 클래스 외에 커스텀 데이터로 학습시키려면 자료가 진짜 없습니다. YOLO는 한국어 튜토리얼이 넘쳐나는데, RT-DETR은 영어 자료도 정리 잘 안 돼있더라고요. 검색해도 깔끔한 예제가 안 나옴. 어쩔 수 없이 GitHub 이슈 뒤지면서 짜맞춰야 함.

3. Large 모델은 메모리 잡아먹음

VRAM 8GB GPU에서 Large 모델 돌리면서 브라우저 같이 띄우면 OOM 뜸. 가벼운 작업이면 medium 이하 쓰는 게 나을 수도 있어요.

4. 작은 객체는 의외로 YOLO가 나은 경우도 있음

이건 좀 의외였는데, 멀리 있는 진짜 작은 점 같은 객체 잡을 때는 YOLOv8x가 더 정확하게 잡는 케이스도 봤음. 데이터셋이나 클래스에 따라 갈리는 듯. 무조건 RT-DETR이 다 이긴다는 건 아님.

결론: 새 프로젝트면 그냥 RT-DETR 쓰세요#

개인적으로는 이미 YOLO로 잘 굴러가는 프로젝트라면 굳이 안 바꿔도 될 듯. 근데 새로 시작하는 거라면 RT-DETR 추천합니다. NMS 없는 게 진짜 편하고, 추론 파이프라인 코드도 더 깔끔해짐. Transformer가 비전 쪽도 먹는 흐름은 어쩔 수 없을 듯.

CNN 방식과 Transformer 방식 객체 탐지 비교

다음에는 커스텀 데이터셋으로 fine-tuning 하는 글 써보려고 함. 한국어 자료 없어서 답답했던 거 본인이 정리하는 게 빠르겠다 싶어서요. 그리고 ONNX로 export해서 가볍게 배포하는 부분도 한 번 다뤄볼 예정.

  • #객체탐지
  • #RTDETR
  • #Ultralytics
  • #Python
  • #YOLO
  • #컴퓨터비전
D

devway

AI 도구로 실제 서비스 운영하면서 손에 쥔 결과만 적는 1인 개발 노트. RTX 3090 + 로컬 LLM 환경에서 직접 굴려보고 글로 옮긴다.

소개전체 글RSS

관련 글

AI/컴퓨터 비전2026-05-09

RT-DETR이 YOLO 자리 가져간다는 얘기, 좀 걸러볼 만한 부분

객체 탐지에서 Transformer 기반 RT-DETR이 YOLO를 대체한다는 주장이 자주 보이는데, NMS-free 구조의 의미와 실제 환경에서 무엇이 바뀌는지 정리. 다만 생태계·엣지 배포·학습 비용 측면에서 YOLO를 통째로 갈아엎기엔 빠진 조각이 많은 이유까지 짚었음.

  • #객체탐지
  • #컴퓨터비전
  • #AI모델
  • +6
AI/컴퓨터 비전2026-05-09

Open-vocabulary 모델이라며, 결국 fine-tuning이 표준이 된 이유

YOLO-World 같은 open-vocabulary 객체 탐지 모델의 셀링 포인트는 zero-shot 검출인데, 정작 영어권 튜토리얼은 절반 이상이 "fine-tuning하는 법"으로 끝나는 패러독스를 정리. 사실 이 둘은 모순이 아니라 워크플로의 단계가 다른 거고, 한국어 라벨을 쓰는 환경에선 fine-tuning이 더 일찍 필요해진다는 추가 변수까지 짚었음.

  • #객체탐지
  • #YOLOWorld
  • #OpenVocabulary
  • +6
AI/모델2026-05-09

object detection 비교 튜토리얼인데 사진 한 장으로 끝났음

"Faster R-CNN vs SSD 완벽 비교"를 자처한 PyTorch 튜토리얼을 봤는데, 실제로는 사진 한 장에 두 모델 inference 한 번씩 돌리고 끝났음. 영어권 ML 튜토리얼 매체에서 자주 보이는 SEO-friendly "deep dive" 글의 흔한 패턴, mAP/FPS 없는 비교가 비교가 아닌 이유, 그리고 2026년에 거의 10년 전 모델 비교를 마케팅 키워드로 거는 게 의미 있는지에 대한 회의 메모.

  • #objectdetection
  • #FasterRCNN
  • #SSD
  • +7

댓글

(댓글 미설정 — NEXT_PUBLIC_GISCUS_* 환경변수 구성 필요)
소개개인정보처리방침RSSSitemapaickywayconvertprompt
© devway