Feature Pyramid Network (FPN)
피처 피라미드 네트워크가 다중 스케일 객체 탐지를 향상하는 방법을 살펴보세요. Ultralytics YOLO26이 고급 FPN을 사용해 작은 객체와 큰 객체를 탐지하는 방법을 알아보세요.
특징 피라미드 네트워크 (FPN)는 다양한 크기의 객체를 더 잘 탐지하기 위해 최신 컴퓨터 비전 (CV) 시스템에서 사용되는 특수 아키텍처 구성 요소입니다. 이는 하나의 이미지에서 크고 뚜렷한 구조와 작고 멀리 있는 세부 요소를 동시에 인식해야 하는 이미지 분석의 오랜 과제를 효과적으로 해결합니다. 입력을 개념적으로 피라미드와 유사한 다중 스케일 표현으로 생성함으로써 FPN은 신경망이 모든 해상도 수준에서 풍부한 의미 정보를 추출할 수 있도록 합니다. 이 아키텍처는 일반적으로 원시 특징을 추출하는 **백본**과 객체 클래스 및 바운딩 박스를 예측하는 검출 헤드 사이에 위치합니다.
특징 피라미드 네트워크의 작동 방식#
FPN의 핵심 혁신은 정보를 처리하는 방식에 있습니다. 기존 **합성곱 신경망 (CNNs)**은 입력 이미지가 점진적으로 다운샘플링되는 특징 계층 구조를 자연스럽게 생성합니다. 이는 의미론적 이해(이미지에 무엇이 있는지)를 심화하지만, 공간 해상도(정확히 어디에 있는지)를 저하시켜 작은 객체가 사라지는 경우가 많습니다.
FPN은 다음의 3단계 프로세스를 통해 이 문제를 해결합니다.
-
Bottom-Up 경로: 이는 **Residual Network (ResNet)**과 같은 네트워크의 표준 피드포워드 패스입니다. 네트워크가 이미지를 처리하면서 크기는 감소하지만 의미론적 가치는 증가하는 **특징 맵**을 생성합니다.
-
Top-Down 경로: 네트워크는 더 깊은 레이어에서 얻은 의미 정보가 풍부한 특징을 업샘플링하여 더 높은 해상도의 피라미드를 구성합니다. 이 단계에서는 강력한 컨텍스트를 더 큰 공간 맵에 다시 "환각"하듯 보강합니다.
-
측면 연결: FPN은 다운샘플링 과정에서 손실된 선명한 세부 정보를 복원하기 위해 업샘플링된 특징을 Bottom-Up 경로의 원래 고해상도 맵과 측면 연결을 통해 융합합니다.
이러한 결합을 통해 모든 수준에서 강력한 의미 정보와 우수한 위치 지정 성능을 모두 갖춘 피라미드가 형성되며, 모든 객체 크기에 대한 **정밀도**와 **재현율**이 크게 향상됩니다.
객체 탐지 아키텍처에서의 중요성#
FPN은 최신 **객체 탐지 아키텍처**의 핵심 요소입니다. FPN이 도입되기 전에는 모델이 속도(최종 레이어만 사용)와 정확도(매우 느린 이미지 피라미드 처리) 중 하나를 선택해야 했습니다. FPN은 두 장점을 모두 갖춘 솔루션을 제공하여 작은 객체 탐지 성능을 저하시키지 않으면서 **실시간 추론**을 가능하게 합니다.
이러한 효율성은 FPN 원리에서 영감을 받은 정교한 집계 네트워크(PANet 등)를 활용하여 최첨단 성능을 달성하는 **YOLO26**과 같은 고급 모델에 매우 중요합니다. 이 아키텍처는 **Ultralytics Platform**을 통해 엣지 디바이스에 배포되거나 강력한 서버에서 실행되는 경우에도 다양한 데이터셋에서 높은 정확도를 유지하도록 합니다.
실제 적용 사례#
FPN의 다중 스케일 기능은 안전성과 정밀도가 매우 중요한 산업에서 FPN을 필수적인 요소로 만듭니다.
- 자동차 분야의 AI: 자율주행 차량은 가까이에 있는 대형 트럭과 멀리 있는 작은 신호등 또는 보행자를 동시에 추적해야 합니다. FPN을 사용하면 인식 스택이 한 번의 패스에서 이러한 서로 다른 스케일을 처리하여 적시에 의사 결정을 내릴 수 있습니다. **nuScenes**와 같은 데이터셋은 이러한 기능을 벤치마크하는 데 자주 사용됩니다.
- 의료 영상 분석: 진단 영상에서 병변을 탐지하려면 크기가 크게 다른 이상 징후를 찾아야 합니다. FPN이 적용된 모델은 **MRI 스캔**에서 큰 장기 구조와 작고 초기 단계인 종양을 모두 식별하여 영상의학 전문의가 정확한 진단을 내리는 데 도움을 줄 수 있습니다.
- 농업 분야의 AI: 정밀 농업에서는 드론 영상에서 작물과 해충을 탐지해야 합니다. 드론의 고도가 달라질 수 있으므로 이미지 속 식물의 크기도 변합니다. FPN은 모델이 일반화 성능을 높이고 카메라 높이와 관계없이 정확하게 **객체 수를 계산**할 수 있도록 지원합니다.
FPN과 다른 특징 집계기의 비교#
표준 FPN과 최신 아키텍처에서 사용되는 발전된 변형을 구분하는 것이 유용합니다.
- FPN과 PANet 비교: FPN이 특징을 풍부하게 만들기 위해 Top-Down 경로를 추가하는 반면, **Path Aggregation Network (PANet)**은 FPN 위에 추가적인 Bottom-Up 경로를 더합니다. 이를 통해 저수준 특징의 정보 경로가 짧아져 위치 지정 성능이 더욱 향상되며, 이 기법은 YOLO 모델에서 자주 적용됩니다.
- FPN과 BiFPN 비교: EfficientDet에서 사용되는 **양방향 특징 피라미드 네트워크 (BiFPN)**은 서로 다른 특징에 학습 가능한 가중치를 도입하고 입력이 하나뿐인 노드를 제거하여 네트워크를 효율적으로 최적화합니다.
실용 예제#
ultralytics과 같은 고급 라이브러리는 FPN 구성의 복잡성을 내부적으로 처리합니다. YOLO26과 같은 모델을 로드하면 아키텍처에 이러한 특징 집계 레이어가 자동으로 포함되어 성능을 극대화합니다.
from ultralytics import YOLO
# Load the YOLO26 model, which uses advanced feature pyramid principles internally
# The 'n' suffix indicates the nano version, optimized for speed
model = YOLO("yolo26n.pt")
# Perform inference on an image containing objects of various sizes
# The model's neck (FPN-based) aggregates features to detect small and large items
results = model("https://ultralytics.com/images/bus.jpg")
# Display results to see bounding boxes around buses (large) and people (small)
results[0].show()








