YOLO Vision 2026:

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

Raspberry Pi는 GPU 없이도 엣지에서 실시간 object detection을 위해 Ultralytics YOLO26을 구동하는 작고 저렴한 컴퓨터입니다. 본 가이드에서는 Raspberry Pi 4와 5에 YOLO26을 배포하는 방법, 즉 OS 플래싱, Ultralytics 설치, ARM에서 가장 빠른 inference를 위한 NCNN 내보내기, 그리고 라이브 카메라 피드에서 예측 실행하기를 안내합니다. 또한 하드웨어에 가장 적합한 속도와 accuracy 트레이드오프를 선택할 수 있도록 8가지 내보내기 형식에 대한 성능 벤치마크를 포함하고 있습니다.

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



Watch: Raspberry Pi 5 updates and improvements.
참고

이 가이드는 최신 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(General Purpose Input/Output) 핀을 제공합니다. 다양한 사양의 모델이 출시되어 있지만, 모두 저비용, 콤팩트함, 범용성이라는 기본 설계 철학을 공유합니다.

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 SDRAM4GB, 8GB 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 배포판을 기반으로 구축된 유닉스 계열 운영 체제입니다. Raspberry Pi OS는 ARM CPU가 탑재된 Raspberry Pi에 최적화되어 있으며 Openbox 스태킹 창 관리자가 포함된 수정된 LXDE 데스크톱 환경을 사용합니다. Raspberry Pi OS는 Raspberry Pi에서 가능한 한 많은 Debian 패키지의 안정성과 성능을 향상시키는 데 중점을 두고 활발히 개발되고 있습니다.

Raspberry Pi에 Raspberry Pi OS 플래싱하기#

Raspberry Pi를 손에 넣은 후 가장 먼저 해야 할 일은 마이크로 SD 카드에 Raspberry Pi OS를 플래싱하고, 기기에 삽입한 다음 OS로 부팅하는 것입니다. 기기를 처음 사용할 수 있도록 준비하려면 Raspberry Pi의 상세한 시작 문서를 참조하세요.

Ultralytics 설정하기#

다음 Computer Vision 프로젝트를 위해 Raspberry Pi에서 Ultralytics 패키지를 설정하는 방법은 다음 두 가지가 있습니다:

Docker로 시작하기#

Raspberry Pi에서 Ultralytics YOLO26을 시작하는 가장 빠른 방법은 Raspberry Pi용으로 미리 빌드된 Docker 이미지를 사용하는 것입니다.

아래 명령어를 실행하여 Docker 컨테이너를 풀(pull)하고 Raspberry Pi에서 실행하세요. 이는 Python3 환경에서 Ubuntu 24.04를 실행하는 arm64v8/ubuntu Docker 이미지를 기반으로 합니다.

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

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

Docker 없이 시작하기#

Ultralytics 패키지 설치#

여기서는 PyTorch 모델을 다른 포맷으로 내보낼 수 있도록 선택적 종속성과 함께 Raspberry Pi에 Ultralytics 패키지를 설치합니다.

  1. 패키지 목록 업데이트, pip 설치 및 최신 버전으로 업그레이드

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. 선택적 종속성과 함께 ultralytics pip 패키지 설치

    pip install ultralytics[export]
  3. 장치 재부팅

    sudo reboot

Raspberry Pi에서 NCNN 사용하기#

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

예시
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Export the model to NCNN format
model.export(format="ncnn")  # creates 'yolo26n_ncnn_model'

# Load the exported NCNN model
ncnn_model = YOLO("yolo26n_ncnn_model")

# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")

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

YOLO11 대비 YOLO26 성능 향상#

YOLO26은 Raspberry Pi 5와 같은 하드웨어 제약이 있는 기기에서 실행되도록 특별히 설계되었습니다. YOLO11n과 비교했을 때, YOLO26n은 Raspberry Pi 5에서 ONNX 내보내기 모델로 640 입력 크기 기준 약 15%의 FPS 증가(6.79 → 7.79)를 달성함과 동시에 더 높은 mAP(40.1 vs 39.5)를 제공합니다. 아래 표와 차트에서 이 비교를 확인하실 수 있습니다.

YOLO26 benchmarks on RPi 5
Benchmarked with Ultralytics 8.4.14
성능
모델mAP50-95(B)추론 시간(ms/im)
YOLO26n40.1128.42
YOLO26s47.8352.84
YOLO26m52.5993.78
YOLO26l54.41259.46
YOLO26x56.92636.26

Ultralytics 8.4.14 버전으로 벤치마킹되었습니다.

Raspberry Pi 5 YOLO26 벤치마크#

YOLO26 benchmarks는 Ultralytics 팀이 속도와 accuracy를 측정하기 위해 PyTorch, TorchScript, ONNX, OpenVINO, MNN, NCNN, ExecuTorch, LiteRT 등 8가지 서로 다른 모델 포맷으로 실행했습니다. 벤치마크는 기본 입력 이미지 크기 640의 FP32 precision에서 Raspberry Pi 5로 실행되었습니다.

비교 차트#

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

YOLO26 benchmarks on RPi 5
Benchmarked with Ultralytics 8.4.108

상세 비교 표#

아래 표는 Raspberry Pi 5에서 실행되는 8가지 포맷(PyTorch, TorchScript, ONNX, OpenVINO, MNN, NCNN, ExecuTorch, LiteRT)에 걸친 두 가지 모델(YOLO26n, YOLO26s)의 벤치마크 결과를 나타내며, 각 조합의 상태, 크기, mAP50-95(B) 지표 및 inference 시간을 제공합니다.

성능
형식상태디스크 크기 (MB)mAP50-95(B)추론 시간(ms/im)
PyTorch5.30.4760299.09
TorchScript9.80.4734353.20
ONNX9.50.4734125.99
OpenVINO9.60.4734104.55
MNN9.40.474991.87
NCNN9.40.478467.03
ExecuTorch9.40.4772144.83
LiteRT9.80.4730123.30

Ultralytics 8.4.108로 벤치마크됨

참고

추론 시간은 전처리 및 후처리 시간을 포함하지 않습니다.

결과 재현하기#

모든 export formats에서 위의 Ultralytics 벤치마크를 재현하려면 다음 코드를 실행하세요:

예시
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)

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

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

litert-converteraarch64 Linux wheel을 제공하지 않으므로, format=litert 내보내기는 Raspberry Pi 자체가 아니라 Linux x86_64 및 macOS에서만 지원됩니다. Linux x86_64 머신이나 Mac에서 .tflite 모델을 내보낸 후 Raspberry Pi로 복사하고 Pi를 사용하여 추론을 수행하세요.

Raspberry Pi 카메라 사용하기#

컴퓨터 비전 프로젝트에 Raspberry Pi를 사용할 때 추론을 수행하기 위해 실시간 비디오 피드를 가져오는 것이 필수적일 수 있습니다. Raspberry Pi의 온보드 MIPI CSI 커넥터를 사용하면 공식 Raspberry Pi 카메라 모듈을 연결할 수 있습니다. 이 가이드에서는 Raspberry Pi Camera Module 3를 사용하여 비디오 피드를 가져오고 YOLO26 모델을 사용하여 추론을 수행했습니다.

참고

Raspberry Pi 5는 Raspberry Pi 4보다 더 작은 CSI 커넥터(15핀 대 22핀)를 사용하므로 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

# Initialize the 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()

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

while True:
    # Capture frame-by-frame
    frame = picam2.capture_array()

    # Run YOLO26 inference on the frame
    results = model(frame)

    # Visualize the results on the frame
    annotated_frame = results[0].plot()

    # Display the resulting frame
    cv2.imshow("Camera", annotated_frame)

    # Break the loop if 'q' is pressed
    if cv2.waitKey(1) == ord("q"):
        break

# Release resources and close windows
cv2.destroyAllWindows()

이미지/비디오 입력 타입을 변경하려면 인프런스 소스 문서를 확인하세요.

Raspberry Pi 사용 시 모범 사례#

YOLO26을 실행하는 Raspberry Pi에서 최대 성능을 구현하기 위해 따라야 할 몇 가지 모범 사례가 있습니다.

  1. SSD 사용

    Raspberry Pi를 24시간 연중무휴로 지속적으로 사용할 때는 SD 카드가 지속적인 쓰기를 견디지 못하고 고장날 수 있으므로 시스템용 SSD를 사용하는 것이 좋습니다. Raspberry Pi 5의 온보드 PCIe 커넥터를 사용하면 이제 NVMe Base for Raspberry Pi 5와 같은 어댑터를 사용하여 SSD를 연결할 수 있습니다.

  2. GUI 없이 플래싱

    Raspberry Pi OS를 플래싱할 때 데스크톱 환경(Raspberry Pi OS Lite)을 설치하지 않도록 선택하면 장치의 RAM을 약간 절약하여 컴퓨터 비전 처리를 위한 공간을 더 확보할 수 있습니다.

  3. Raspberry Pi 오버클럭

    Raspberry Pi 5에서 Ultralytics YOLO26 모델을 실행하는 동안 성능을 약간 높이고 싶다면 CPU를 기본 2.4GHz에서 2.9GHz로, GPU를 800MHz에서 1GHz로 오버클럭할 수 있습니다. 시스템이 불안정해지거나 충돌이 발생하면 오버클럭 값을 100MHz 단위로 줄이십시오. 오버클럭은 열 발생을 증가시켜 스로틀링(thermal throttling)을 유발할 수 있으므로 적절한 냉각 장치를 갖추어야 합니다.

    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 mode를, 추가 배포 포맷은 Export mode를, 엣지에서 더 많은 연산 능력이 필요한 경우 NVIDIA Jetson 가이드를 살펴보세요. 전체 문서를 보려면 Ultralytics YOLO26 Docs를 방문하세요.

감사의 말 및 인용#

이 가이드는 멸종 위기 종 보존을 위한 YOLO 활용에 전념하는 단체인 Kashmir World Foundation의 Daan Eeltink가 처음 작성했습니다. 객체 탐지 기술 분야에서 이들이 보여준 선구적인 작업과 교육적 초점에 감사를 표합니다.

Kashmir World Foundation의 활동에 대한 자세한 내용은 해당 웹사이트에서 확인할 수 있습니다.

FAQ#

Docker를 사용하지 않고 Raspberry Pi에 Ultralytics YOLO26을 어떻게 설정합니까?#

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[export]
  3. 변경 사항을 적용하려면 장치를 재부팅하십시오:
    sudo reboot

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

AI 작업을 위해 Raspberry Pi에서 Ultralytics YOLO26의 NCNN 형식을 사용해야 하는 이유는 무엇입니까?#

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

Raspberry Pi에서 사용하기 위해 YOLO26 모델을 NCNN 형식으로 어떻게 변환합니까?#

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

예시
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Export the model to NCNN format
model.export(format="ncnn")  # creates 'yolo26n_ncnn_model'

# Load the exported NCNN model
ncnn_model = YOLO("yolo26n_ncnn_model")

# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")

자세한 내용은 Use NCNN on Raspberry Pi 섹션을 참조하세요.

YOLO26 실행과 관련하여 Raspberry Pi 4와 Raspberry Pi 5의 하드웨어 차이점은 무엇입니까?#

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

  • 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는 4GB 및 8GB 모델로 제공되는 LPDDR4X-4267 SDRAM을 특징으로 합니다.

이러한 개선 사항은 Raspberry Pi 4에 비해 Raspberry Pi 5에서 YOLO26 모델의 더 나은 성능 벤치마크에 기여합니다. 자세한 내용은 Raspberry Pi 시리즈 비교 테이블을 참조하세요.

Ultralytics YOLO26과 함께 작동하도록 Raspberry Pi 카메라 모듈을 어떻게 설정합니까?#

YOLO26 추론을 위해 Raspberry Pi 카메라를 설정하는 두 가지 방법이 있습니다:

  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")

자세한 설정 방법은 Inference with Camera 섹션을 방문하세요.

댓글