Contents — find the section you need

로봇이 "테이블 위의 컵을 집거나" "앞의 보행자를 피하는" 등의 동작을 하기 전에, 먼저 카메라 이미지에서 무엇이 있고 어디에 있는지를 파악해야 합니다. 이러한 파악은 객체 탐지(Object Detection)와 의미론적 분할(Semantic Segmentation)의 역할입니다. 이 두 기술은 종종 함께 언급되지만, 출력의 정밀도와 문제 해결 방식 자체에서 근본적인 차이가 있습니다. 이 글에서는 두 기술의 기초부터 시작하여 3D 구현 방식과 명확한 비교 분석을 제시합니다.

차량 앞유리에 장착된 Mobileye 카메라차량 인식 카메라

이미지: Car Mobileye 시스템의 창문 카메라 (Ranbar, CC BY-SA 4.0), Wikimedia Commons. 이 이미지는 대표적인 입력 카메라 예시이며, 최신 제품 사양에 대한 주장이 아닙니다.

0. 이 글에서 다루는 내용

  • 객체 탐지 및 의미론적 분할의 실제 출력 결과
  • 탐지 파이프라인 (특징 추출 → 탐지 헤드)
  • R-CNN부터 YOLO, DETR, DINO에 이르는 랜드마크 알고리즘의 계보와 설계 철학의 차이점
  • 2단계 vs. 1단계 탐지의 장단점 비교 및 트랜스포머 기반 탐지기의 활용 분야
  • FCN에서 Mask2Former로 발전해 온 분할 알고리즘의 진화
  • 탐지, 의미론적 분할, 인스턴스 분할, 파노라마 분할의 차이점을 한눈에 보여주는 표
  • 포인트 클라우드 기반 3D 객체 탐지 및 3D 의미론적 분할의 기본 원리
  • 로봇 공학, 자율 주행, 감시, AR에 적합한 기술 선택 방법

1. 간단히 말해, 탐지와 분할이란 무엇인가

한 문장으로 요약하면: 객체 탐지는 이미지에서 "객체가 어디에 있는지"를 판별하는 기술입니다. 사각형(경계 상자)을 사용하여 픽셀을 구분하는 반면, 의미론적 분할**은 이미지에 색을 입혀 "각 픽셀이 무엇인지"를 나타냅니다. 둘 다 이미지를 이해한다는 동일한 목표를 공유하지만, 완전히 다른 해상도로 결과를 도출합니다.

이러한 쌍을 기반으로 두 가지 작업이 더 있습니다. 인스턴스 분할은 의미론적 분할처럼 픽셀에 색을 입히는 것 외에도 동일한 클래스에 속하는 개별 객체(예: 프레임 내 세 명의 사람)를 구분합니다. 파놉틱 분할은 인스턴스 분할과 도로 또는 하늘과 같이 "셀 수 없이 많은" 배경 요소에 필요한 의미론적 분할을 통합하여 최대한 완벽한 단일 결과물을 생성합니다. 아래 9절에서 이 네 가지 작업의 관계를 표로 정리했습니다.

Diagram 1 · Use the button to switch views
동일한 도로 장면에 대한 네 가지 객체 탐지 및 분할 작업 출력 비교
그림 1 — 탐지는 인스턴스별 박스를 반환합니다. 의미론적 분할은 모든 픽셀에 대한 클래스를 반환합니다. 인스턴스 분할은 셀 수 있는 각 객체에 대한 마스크를 반환합니다. 패놉틱 분할은 객체 ID와 객체 클래스를 결합합니다. Open 전체 크기 그림

그림: Duskcoil. 하나의 개략적인 장면과 공유된 형상에서 생성되었으며, 측정된 모델 출력이 아닙니다.

2. 객체 탐지란 무엇인가? (클래스 / 경계 상자 / 신뢰도)

객체 탐지는 단일 이미지에서 객체별로 다음과 같은 세 가지 요소로 구성된 트리플을 출력합니다.

  • 클래스: 객체의 종류 (미리 정의된 범주 중 하나 - "사람", "자동차", "의자" 등)
  • 경계 상자: 객체를 둘러싸는 직사각형. 일반적으로 중심점과 너비 및 높이((x, y, w, h)) 또는 좌측 상단/우측 하단 모서리((x_1, y_1, x_2, y_2))로 지정됩니다.
  • 신뢰도: 모델이 특정 경계 상자와 클래스 쌍에 대해 얼마나 확신하는지를 나타내는 점수(0~1)

이미지 분류는 "이 그림은 무엇인가?"라는 단일한 답을 반환하지만, 객체 탐지는 "객체의 개수, 위치, 종류"와 같은 여러 정보를 동시에 파악해야 합니다. "객체의 개수 자체는 알 수 없다"는 속성 때문에 객체 탐지가 이미지 분류보다 근본적으로 어렵습니다. 주어진 이미지에는 객체가 하나도 없을 수도 있고, 백 개가 있을 수도 있습니다. 출력 개수가 가변적이라는 사실 자체가 아래에서 논의할 모든 기법의 근본적인 설계 제약 조건입니다.

3. 실제 객체 탐지는 어떻게 이루어질까요?

가변적인 출력 개수 문제를 해결하기 위해, 거의 모든 최신 객체 탐지 알고리즘은 동일한 2단계 파이프라인을 따릅니다. 먼저 전체 이미지에서 특징 맵을 추출하고, 그 특징 맵에 수많은 후보 위치(앵커 박스 또는 나중에 설명할 트랜스포머 "쿼리")를 배치합니다. 그리고 각 후보 위치에 대해 "객체 또는 배경"을 판별하고, 객체인 경우 "어떤 클래스인지, 정확한 위치는 어디인지"를 판별합니다.

Diagram 2 · Use the button to switch views
The basic Object Detection pipeline Input Image Feature Extraction (CNN / Transformer) Detection Head Class + Box Coords