Yolo 비전 선전
선전
지금 참여하기
용어집

Detection Head

객체 감지에서 detection head가 갖는 중요한 역할을 알아보고, detection head가 어떻게 특징 맵을 개선하여 객체 위치와 클래스를 정확하게 찾아내는지 알아보세요.

검출 헤드는 객체 검출 신경망 아키텍처에서 최종 의사 결정 계층 역할을 수행합니다. 모델의 초기 계층들이 이미지 내 형태, 질감 및 특징을 이해하는 역할을 담당하는 반면, 검출 헤드는 이 정보를 해석하여 정확히 어떤 객체가 존재하며 어디에 위치하는지 예측하는 특정 구성 요소입니다. 이는 특징 추출기가 생성한 추상적이고 고수준의 데이터를 실행 가능한 결과로 변환하며, 일반적으로 식별된 객체를 둘러싼 경계 상자 세트와 해당 클래스 레이블 및 신뢰도 점수를 함께 출력합니다.

머리와 척추 및 목의 구분

탐지 헤드의 기능을 완전히 이해하려면 현대식 탐지기를 컴퓨터 비전(CV) 파이프라인에서 각각 고유한 목적을 수행하는 세 가지 주요 단계로 구성되어 있다고 시각화하는 것이 도움이 됩니다:

  • 백본: 네트워크의 초기 부분으로, 종종 ResNet이나 CSPNet과 같은 컨볼루션 신경망(CNN) 을 사용합니다. 이 부분은 원시 입력 이미지를 처리하여 시각적 패턴을 나타내는 특징 맵을 생성합니다.
  • 목: 척추와 머리 사이에 위치한 목은 서로 다른 규모의 특징들을 정제하고 결합합니다. 피처 피라미드 네트워크(FPN) 와 같은 아키텍처는 컨텍스트를 집계함으로써 모델이 다양한 크기의 detect 수 있도록 보장합니다.
  • 헤드: 목에서 정제된 특징들을 소비하는 최종 구성 요소입니다. 실제 분류 작업(이것은 무엇인가?)과 회귀 작업(이것은 어디에 있는가?)을 수행합니다.

진화: 앵커 기반 vs. 앵커 프리

탐지 헤드의 설계는 속도와 정확도를 향상시키기 위해 크게 진화해 왔으며, 특히 전통적인 방법에서 현대적인 실시간 추론 모델로의 전환과 함께 그러했다.

  • 앵커 기반 헤드: 기존 단일 단계 객체 탐지기는 사전 정의된 앵커박스—다양한 크기의 고정된 기준 형상—에의존했습니다. 헤드는 객체에 맞추기 위해 이 앵커들을 얼마나 늘리거나 이동시킬지 예측했습니다. 이 접근법은 Faster R-CNN에 대한 기초 연구에서 상세히 설명됩니다.
  • 앵커 프리 헤드: 최신 YOLO26을 포함한 최첨단 모델들은 앵커 프리 탐지기를 활용합니다. 이러한 헤드는 특징 맵의 픽셀로부터 직접 객체 중심점과 크기를 예측하여 수동 앵커 조정의 필요성을 제거합니다. 이는 아키텍처를 단순화하고 새로운 객체 형상에 대한 모델의 일반화 능력을 향상시키며, 이는 종종 FCOS(Fully Convolutional One-Stage Object Detection)와 연관되는 기법입니다.

실제 애플리케이션

검출 헤드의 정밀도는 안전이 중요한 산업 환경에 인공지능(AI) 을 적용하는 데 핵심적입니다. 사용자는 Ultralytics 통해 데이터를 손쉽게 주석 처리하고 이러한 특수 헤드를 훈련시킬 수 있습니다.

  • 자율 주행: 자동차용 인공지능에서 감지 헤드는 보행자, 신호등, 다른 차량을 실시간으로 구분하는 역할을 담당합니다. 고도로 최적화된 헤드는 추론 지연 시간이 차량이 즉각 반응할 수 있을 만큼 낮게 유지되도록 보장합니다.
  • 의료 진단: 의료 영상 분석에서 탐지 헤드는 MRI 스캔에서 종양과 같은 이상 부위를 찾아내기 위해 미세 조정됩니다. 회귀 분기는 병변의 정확한 경계를 묘사하기 위해 극도로 정확해야 하며, 이를 통해 의료진이 의료 솔루션을 지원할 수 있습니다.

코드 예제

다음 예제는 다음을 로드하는 방법을 보여줍니다. YOLO26 모델을 실행하고 그 탐지 헤드의 출력을 검사합니다. 추론이 실행될 때, 헤드는 이미지를 처리하고 최종 결과를 반환합니다. boxes 좌표와 클래스 ID를 포함하는.

from ultralytics import YOLO

# Load the YOLO26n model (nano version)
model = YOLO("yolo26n.pt")

# Run inference on an image to utilize the detection head
results = model("https://ultralytics.com/images/bus.jpg")

# The detection head outputs are stored in results[0].boxes
for box in results[0].boxes:
    # Print the bounding box coordinates and the predicted class
    print(f"Class: {int(box.cls)}, Coordinates: {box.xywh.numpy()}")

이 상호작용은 감지 헤드가 복잡한 신경망 활성화를 개발자가 객체 추적이나 계수 같은 하류 작업에 활용할 수 있는 가독성 있는 데이터로 변환하는 방식을 보여줍니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기