Ultralytics YOLO27:
Get Started

빠른 시작 가이드: Ultralytics YOLO26과 Raspberry Pi#

Raspberry Pi는 작고 저렴한 컴퓨터로, GPU 없이도 엣지에서 실시간 객체 탐지를 위해 Ultralytics YOLO26을 실행할 수 있습니다. 이 가이드에서는 OS 플래싱, Ultralytics 설치, ARM에서 가장 빠른 추론을 위해 NCNN으로 내보내기, 실시간 카메라 피드에서 예측 실행까지 Raspberry Pi 4 및 5에 YOLO26을 배포하는 방법을 안내합니다. 또한 8가지 내보내기 형식의 성능 벤치마크를 제공하므로 하드웨어에 적합한 속도와 정확도 간의 균형을 선택할 수 있습니다.

Ultralytics 설정하기, NCNN으로 내보내고 추론 실행하기, 벤치마크 또는 카메라 추론으로 이동하세요.



시청: Raspberry Pi 5 업데이트 및 개선 사항.
참고

이 가이드는 최신 Raspberry Pi OS Bookworm(Debian 12)을 실행하는 Raspberry Pi 4 및 Raspberry Pi 5에서 테스트되었습니다. Raspberry Pi 3과 같은 이전 Raspberry Pi 장치에서도 동일한 Raspberry Pi OS Bookworm을 설치하면 이 가이드를 사용할 수 있을 것으로 예상됩니다.

Raspberry Pi란 무엇인가요?#

Raspberry Pi는 작고 저렴한 단일 보드 컴퓨터입니다. 취미용 홈 자동화부터 산업 분야까지 다양한 프로젝트와 애플리케이션에서 널리 사용됩니다. Raspberry Pi 보드는 여러 운영 체제를 실행할 수 있으며, 센서, 액추에이터 및 기타 하드웨어 구성 요소를 쉽게 통합할 수 있는 GPIO(범용 입출력) 핀을 제공합니다. 사양이 서로 다른 다양한 모델이 있지만, 모두 저렴하고 작으며 다용도로 활용할 수 있다는 기본 설계 철학을 공유합니다.

Raspberry Pi 시리즈 비교#

Raspberry Pi 3Raspberry Pi 4Raspberry Pi 5
CPUBroadcom BCM2837, Cortex-A53 64Bit SoCBroadcom BCM2711, Cortex-A72 64Bit SoCBroadcom BCM2712, Cortex-A76 64Bit SoC
CPU 최대 주파수1.4GHz1.8GHz2.4GHz
GPUVideoCore IVVideoCore VIVideoCore VII
GPU 최대 주파수400MHz500MHz800MHz
메모리1GB LPDDR2 SDRAM1GB, 2GB, 4GB, 8GB LPDDR4-3200 SDRAM2GB, 4GB, 8GB, 16GB LPDDR4X-4267 SDRAM
PCIe해당 없음해당 없음1xPCIe 2.0 인터페이스
최대 전력 소비량2.5A@5V3A@5V5A@5V (PD 활성화)

Raspberry Pi OS란 무엇인가요?#

Raspberry Pi OS(이전 명칭 Raspbian)는 Raspberry Pi Foundation에서 배포하는 소형 단일 보드 컴퓨터 제품군인 Raspberry Pi용 Debian GNU/Linux 배포판 기반의 Unix 계열 운영 체제입니다. Raspberry Pi OS는 ARM CPU를 사용하는 Raspberry Pi에 최적화되어 있으며, Raspberry Pi 4 및 5에서 기본적으로 Wayland를 사용하는 경량 데스크톱 환경을 제공합니다. Raspberry Pi OS는 활발히 개발되고 있으며, Raspberry Pi에서 가능한 한 많은 Debian 패키지의 안정성과 성능을 개선하는 데 중점을 두고 있습니다.

Raspberry Pi OS를 Raspberry Pi에 플래시하기#

Raspberry Pi를 처음 사용하려면 먼저 micro-SD 카드에 Raspberry Pi OS를 플래시하고, 카드를 기기에 삽입한 다음 OS로 부팅해야 합니다. 처음 사용할 기기를 준비하려면 Raspberry Pi의 상세한 시작하기 문서를 참조하세요.

Ultralytics 설정#

다음 컴퓨터 비전 프로젝트를 위해 Raspberry Pi에 Ultralytics 패키지를 설정하는 방법은 두 가지입니다.

Docker로 시작하기#

Raspberry Pi에서 Ultralytics YOLO26을 가장 빠르게 시작하는 방법은 Raspberry Pi용 사전 빌드 Docker 이미지를 실행하는 것입니다.

아래 명령을 실행하여 Docker 컨테이너를 가져온 다음 Raspberry Pi에서 실행합니다. 이 컨테이너는 Debian 13 및 Python 3.13을 실행하는 공식 Python 3.13-slim-trixie 이미지를 기반으로 합니다.

t=ultralytics/ultralytics:latest-arm64
sudo docker pull $t && sudo docker run -it --ipc=host $t

Docker 이미지에는 Ultralytics가 이미 포함되어 있으므로 바로 모델을 NCNN으로 내보내기를 진행할 수 있습니다.

Docker 없이 시작하기#

Ultralytics 패키지 설치#

여기서는 Raspberry Pi에 Ultralytics 패키지를 설치합니다. NCNN과 같은 형식에 필요한 내보내기 종속 항목은 PyTorch 모델을 처음 내보낼 때 자동으로 설치되므로, 여기서는 기본 패키지만 설치하면 됩니다.

  1. 패키지 목록을 업데이트하고 pip를 설치한 뒤 최신 버전으로 업그레이드합니다

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. ultralytics pip 패키지를 설치합니다

    pip install ultralytics
  3. 장치를 재부팅합니다

    sudo reboot

Raspberry Pi에서 NCNN 사용하기#

Ultralytics가 지원하는 모든 모델 내보내기 형식 중에서 NCNN은 ARM 아키텍처와 같은 모바일 및 임베디드 플랫폼에 최적화되어 있어 Raspberry Pi 기기에서 최고의 추론 성능을 제공합니다. YOLO26n PyTorch 모델을 NCNN으로 변환한 다음, 내보낸 모델로 추론을 실행하세요.

예제
from ultralytics import YOLO

# YOLO26n PyTorch 모델 로드
model = YOLO("yolo26n.pt")

# 모델을 NCNN 형식으로 내보내기
model.export(format="ncnn")  # creates 'yolo26n_ncnn_model'

# 내보낸 NCNN 모델 불러오기
ncnn_model = YOLO("yolo26n_ncnn_model")

# 추론 실행
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
팁

지원되는 내보내기 옵션에 대한 자세한 내용은 모델 배포 옵션 가이드를 참조하세요.

YOLO11 대비 YOLO26 성능 개선 사항#

YOLO26은 Raspberry Pi 5와 같이 하드웨어 리소스가 제한된 기기에서 실행되도록 특별히 설계되었습니다. Raspberry Pi 5에서 ONNX로 내보낸 모델을 입력 크기 640으로 실행했을 때, YOLO11n과 비교해 YOLO26n은 FPS가 약 ~15% 증가(6.79 → 7.79)했으며 mAP도 더 높았습니다(40.1 대 39.5). 아래 표와 차트에서 이 비교 결과를 확인할 수 있습니다.

YOLO26 benchmarks on RPi 5
Ultralytics 8.4.14로 벤치마크
성능
모델mAP50-95(B)추론 시간(ms/이미지)
YOLO26n40.1128.42
YOLO26s47.8352.84
YOLO26m52.5993.78
YOLO26l54.41259.46
YOLO26x56.92636.26

Ultralytics 8.4.14로 벤치마크를 수행했습니다.

Raspberry Pi 5 YOLO26 벤치마크#

Ultralytics 팀은 속도와 정확도를 측정하기 위해 PyTorch, TorchScript, ONNX, OpenVINO, LiteRT, MNN, NCNN, ExecuTorch의 8가지 모델 형식에서 YOLO26 벤치마크를 수행했습니다. Raspberry Pi 5에서 기본 입력 이미지 크기 640, FP32 정밀도로 벤치마크를 수행했습니다.

비교 차트#

다른 모델 크기는 Raspberry Pi에서 실행하기에 너무 크고 적절한 성능을 제공하지 않으므로 YOLO26n 및 YOLO26s 모델의 벤치마크만 포함했습니다.

YOLO26 benchmarks on RPi 5
Ultralytics 8.4.108로 벤치마크

상세 비교 표#

아래 표에는 Raspberry Pi 5에서 실행한 두 모델(YOLO26n, YOLO26s)과 8가지 형식(PyTorch, TorchScript, ONNX, OpenVINO, LiteRT, MNN, NCNN, ExecuTorch)의 벤치마크 결과가 나와 있습니다. 각 조합의 상태, 크기, mAP50-95(B) 지표 및 추론 시간을 확인할 수 있습니다.

성능
형식상태디스크 사용량(MB)mAP50-95(B)추론 시간(ms/이미지)
PyTorch✅5.30.4760299.09
TorchScript✅9.80.4734353.20
ONNX✅9.50.4734125.99
OpenVINO✅9.60.4734104.55
LiteRT✅9.80.4730123.30
MNN✅9.40.474991.87
NCNN✅9.40.478467.03
ExecuTorch✅9.40.4772144.83

Ultralytics 8.4.108로 벤치마크를 수행했습니다.

참고

추론 시간에는 전처리 및 후처리가 포함되지 않습니다.

결과 재현하기#

위의 Ultralytics 벤치마크를 모든 내보내기 형식에서 재현하려면 다음 코드를 실행하세요.

예제
from ultralytics import YOLO

# YOLO26n PyTorch 모델 로드
model = YOLO("yolo26n.pt")

# 모든 내보내기 형식에서 COCO128 데이터셋으로 YOLO26n의 속도와 정확도 벤치마크 수행
results = model.benchmark(data="coco128.yaml", imgsz=640)

벤치마크 결과는 시스템의 정확한 하드웨어 및 소프트웨어 구성과 벤치마크 실행 시점의 시스템 워크로드에 따라 달라질 수 있습니다. 가장 신뢰할 수 있는 결과를 얻으려면 data='coco.yaml'(검증 이미지 5000개)과 같이 이미지 수가 많은 데이터셋을 사용하세요.

LiteRT 내보내기는 기기 외부에서 실행됩니다.

format=litert 내보내기(litert-torch 사용)는 Linux x86_64 및 macOS에서만 지원되며 Raspberry Pi 자체에서는 지원되지 않습니다. Linux x86_64 머신이나 Mac에서 .tflite 모델을 내보낸 다음 Raspberry Pi로 복사하여 추론에 사용하세요.

Raspberry Pi 카메라 사용하기#

컴퓨터 비전 프로젝트에서 Raspberry Pi를 사용할 때는 추론을 수행하기 위해 실시간 동영상 스트림을 가져와야 할 수 있습니다. Raspberry Pi에 내장된 MIPI CSI 커넥터를 사용하면 공식 Raspberry Pi 카메라 모듈을 연결할 수 있습니다. 이 가이드에서는 Raspberry Pi Camera Module 3을 사용해 동영상 스트림을 가져오고 YOLO26 모델로 추론을 수행했습니다.

팁

Raspberry Pi에서 제공하는 다양한 카메라 모듈과 Raspberry Pi 카메라 모듈을 시작하는 방법에 대해 자세히 알아보세요.

참고

Raspberry Pi 5는 Raspberry Pi 4보다 작은 CSI 커넥터(22핀 대 15핀)를 사용하므로 Raspberry Pi 카메라를 연결하려면 15핀-22핀 어댑터 케이블이 필요합니다.

카메라 테스트#

카메라를 Raspberry Pi에 연결한 후 다음 명령을 실행하세요. 약 5초 동안 카메라의 실시간 동영상 스트림이 표시됩니다.

rpicam-hello
팁

카메라를 사용한 추론#

Raspberry Pi 카메라를 사용하여 YOLO26 모델에서 추론을 실행하는 방법은 두 가지입니다.

Raspberry Pi 카메라로 추론 실행하기

Raspberry Pi OS에 사전 설치된 picamera2을 사용하여 카메라에 접근하고 YOLO26 모델에서 추론을 실행할 수 있습니다.

예제
import cv2
from picamera2 import Picamera2

from ultralytics import YOLO

# Picamera2 초기화
picam2 = Picamera2()
picam2.preview_configuration.main.size = (1280, 720)
picam2.preview_configuration.main.format = "RGB888"
picam2.preview_configuration.align()
picam2.configure("preview")
picam2.start()

# YOLO26 모델을 불러옵니다
model = YOLO("yolo26n.pt")

while True:
    # 프레임 단위로 캡처
    frame = picam2.capture_array()

    # 프레임에서 YOLO26 추론 실행
    results = model(frame)

    # 프레임에 결과를 시각화합니다
    annotated_frame = results[0].plot()

    # 결과 프레임 표시
    cv2.imshow("Camera", annotated_frame)

    # 'q'를 누르면 루프를 종료합니다
    if cv2.waitKey(1) == ord("q"):
        break

# 리소스 해제 및 창 닫기
cv2.destroyAllWindows()
팁

이미지/동영상 입력 유형을 변경하려면 추론 소스 문서를 참조하세요.

Raspberry Pi 사용 시 권장 사항#

YOLO26을 실행하는 Raspberry Pi에서 성능을 극대화하려면 몇 가지 권장 사항을 따르는 것이 좋습니다.

  1. SSD 사용하기

    Raspberry Pi를 24시간 연속으로 사용할 경우, SD 카드는 지속적인 쓰기를 견디지 못해 고장 날 수 있으므로 시스템용 SSD를 사용하는 것이 좋습니다. Raspberry Pi 5에 내장된 PCIe 커넥터를 사용하면 Raspberry Pi 5용 NVMe Base와 같은 어댑터로 SSD를 연결할 수 있습니다.

  2. GUI 없이 플래시하기

    Raspberry Pi OS를 플래시할 때 데스크톱 환경을 설치하지 않도록 선택할 수 있습니다(Raspberry Pi OS Lite). 이렇게 하면 기기의 RAM을 절약하여 컴퓨터 비전 처리에 더 많은 메모리를 사용할 수 있습니다.

  3. Raspberry Pi 오버클럭하기

    Raspberry Pi 5에서 Ultralytics YOLO26 모델을 실행할 때 성능을 조금 더 높이고 싶다면 CPU를 기본 2.4GHz에서 3.0GHz로, GPU를 800MHz에서 1GHz로 오버클럭할 수 있습니다. 시스템이 불안정해지거나 충돌하면 오버클럭 값을 100MHz씩 낮추세요. 오버클럭은 발열을 증가시켜 열 스로틀링을 유발할 수 있으므로 적절한 냉각 장치가 설치되어 있는지 확인하세요.

    a. 소프트웨어 업그레이드하기

    sudo apt update && sudo apt dist-upgrade

    b. 설정 파일을 열어 편집하기

    sudo nano /boot/firmware/config.txt

    c. 다음 줄을 맨 아래에 추가하기

    arm_freq=3000
    gpu_freq=1000
    force_turbo=1

    d. CTRL + X를 누른 다음 Y를 누르고 ENTER를 눌러 저장하고 종료하기

    e. Raspberry Pi 재부팅하기

다음 단계#

Raspberry Pi에서 YOLO26을 성공적으로 설정했습니다. 다음 단계로 더 많은 추론 옵션을 제공하는 Predict 모드, 추가 배포 형식을 제공하는 Export 모드를 살펴보거나, 엣지에서 더 많은 연산 성능이 필요한 경우 NVIDIA Jetson 가이드를 참조하세요. 전체 문서는 Ultralytics YOLO26 문서에서 확인할 수 있습니다.

감사의 말 및 인용#

이 가이드는 멸종 위기종 보전을 위해 YOLO를 사용하는 단체인 Kashmir World Foundation의 Daan Eeltink가 처음 작성했습니다. 객체 탐지 기술 분야에서 선구적인 활동을 펼치고 교육에 중점을 둔 이들의 노력에 감사드립니다.

Kashmir World Foundation의 활동에 대한 자세한 내용은 웹사이트를 참조하세요.

자주 묻는 질문#

  • Docker 없이 Raspberry Pi에 Ultralytics YOLO26을 설정하려면 다음 단계를 따르세요.

    1. 패키지 목록을 업데이트하고 pip을 설치합니다.
      sudo apt update
      sudo apt install python3-pip -y
      pip install -U pip
    2. Ultralytics 패키지를 설치합니다.
      pip install ultralytics
    3. 변경 사항을 적용하려면 기기를 재부팅합니다.
      sudo reboot

    자세한 지침은 Docker 없이 시작하기 섹션을 참조하세요.

  • Ultralytics YOLO26의 NCNN 형식은 모바일 및 임베디드 플랫폼에 최적화되어 있어 Raspberry Pi 기기에서 AI 작업을 실행하는 데 적합합니다. NCNN은 ARM 아키텍처를 활용하여 추론 성능을 극대화하고 다른 형식보다 더 빠르고 효율적으로 처리합니다. 지원되는 내보내기 형식에 대한 자세한 내용은 모델 내보내기 옵션을 참조하세요.

  • Python 또는 CLI 명령을 사용하여 PyTorch YOLO26 모델을 NCNN 형식으로 변환할 수 있습니다.

    예제
    from ultralytics import YOLO
    
    # YOLO26n PyTorch 모델 로드
    model = YOLO("yolo26n.pt")
    
    # 모델을 NCNN 형식으로 내보내기
    model.export(format="ncnn")  # creates 'yolo26n_ncnn_model'
    
    # 내보낸 NCNN 모델 불러오기
    ncnn_model = YOLO("yolo26n_ncnn_model")
    
    # 추론 실행
    results = ncnn_model("https://ultralytics.com/images/bus.jpg")

    자세한 내용은 Raspberry Pi에서 NCNN 사용하기 섹션을 참조하세요.

  • 주요 차이점은 다음과 같습니다.

    • CPU: Raspberry Pi 4는 Broadcom BCM2711, Cortex-A72 64비트 SoC를 사용하며 Raspberry Pi 5는 Broadcom BCM2712, Cortex-A76 64비트 SoC를 사용합니다.
    • 최대 CPU 주파수: Raspberry Pi 4의 최대 주파수는 1.8GHz인 반면, Raspberry Pi 5는 2.4GHz에 도달합니다.
    • 메모리: Raspberry Pi 4는 최대 8GB LPDDR4-3200 SDRAM을 제공하며, Raspberry Pi 5는 2GB, 4GB, 8GB, 16GB 구성으로 제공되는 LPDDR4X-4267 SDRAM을 탑재합니다.

    이러한 개선 사항 덕분에 Raspberry Pi 5에서 YOLO26 모델의 성능 벤치마크는 Raspberry Pi 4보다 우수합니다. 자세한 내용은 Raspberry Pi 시리즈 비교 표를 참조하세요.

  • YOLO26 추론용 Raspberry Pi Camera를 설정하는 방법은 두 가지입니다.

    1. picamera2 사용:

      import cv2
      from picamera2 import Picamera2
      
      from ultralytics import YOLO
      
      picam2 = Picamera2()
      picam2.preview_configuration.main.size = (1280, 720)
      picam2.preview_configuration.main.format = "RGB888"
      picam2.preview_configuration.align()
      picam2.configure("preview")
      picam2.start()
      
      model = YOLO("yolo26n.pt")
      
      while True:
          frame = picam2.capture_array()
          results = model(frame)
          annotated_frame = results[0].plot()
          cv2.imshow("Camera", annotated_frame)
      
          if cv2.waitKey(1) == ord("q"):
              break
      
      cv2.destroyAllWindows()
    2. TCP 스트림 사용:

      rpicam-vid -n -t 0 --inline --listen -o tcp://127.0.0.1:8888
      from ultralytics import YOLO
      
      model = YOLO("yolo26n.pt")
      results = model("tcp://127.0.0.1:8888")

    자세한 설정 방법은 카메라를 사용한 추론 섹션을 참조하세요.

댓글