Ultralytics YOLO26 모델을 위한 Rockchip RKNN 내보내기
임베디드 장치, 특히 Rockchip 프로세서 기반 장치에 컴퓨터 비전 모델을 배포할 때는 호환 가능한 모델 형식이 필수적입니다. Ultralytics YOLO26 모델을 RKNN 형식으로 내보내면 최적화된 성능과 Rockchip 하드웨어와의 호환성을 보장할 수 있습니다. 이 가이드는 YOLO26 모델을 RKNN 형식으로 변환하여 Rockchip 플랫폼에서 효율적으로 배포하는 방법을 안내합니다.
본 가이드는 Rockchip RK3588 기반의 Radxa Rock 5B와 Rockchip RK3566 기반의 Radxa Zero 3W를 사용하여 테스트되었습니다. 또한 RK3576, RK3568, RK3562, RK2118, RV1126B와 같이 rknn-toolkit2를 지원하는 다른 Rockchip 기반 장치에서도 작동할 것으로 예상됩니다. Ultralytics RKNN 내보내기 기능은 현재 FP16 모델만 생성하므로, INT8 추론만 지원하는 대상(RV1103, RV1106, RV1103B, RV1106B)은 아직 지원되지 않습니다.
Rockchip이란 무엇인가요?
다재다능하고 전력 효율적인 솔루션을 제공하는 것으로 유명한 Rockchip은 다양한 소비자 가전, 산업용 애플리케이션 및 AI 기술을 구동하는 고급 시스템 온 칩(SoC)을 설계합니다. ARM 기반 아키텍처, 내장형 신경망 처리 장치(NPU) 및 고해상도 멀티미디어 지원을 갖춘 Rockchip SoC는 태블릿, 스마트 TV, IoT 시스템 및 엣지 AI 애플리케이션과 같은 장치에서 최첨단 성능을 발휘합니다. Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas 및 Banana Pi와 같은 기업들은 Rockchip SoC 기반의 다양한 제품을 제공하여 다양한 시장에서 그 영향력을 더욱 확대하고 있습니다.
RKNN Toolkit
RKNN Toolkit은 하드웨어 플랫폼에서 딥러닝 모델의 배포를 원활하게 하기 위해 Rockchip에서 제공하는 도구 및 라이브러리 세트입니다. RKNN(Rockchip Neural Network)은 이러한 도구에서 사용하는 독자적인 형식입니다. RKNN 모델은 Rockchip의 NPU(신경망 처리 장치)에서 제공하는 하드웨어 가속 기능을 최대한 활용하도록 설계되어 RK3588, RK3566, RV1103, RV1106 및 기타 Rockchip 기반 시스템과 같은 장치에서 AI 작업의 고성능을 보장합니다.
RKNN 모델의 주요 특징
RKNN 모델은 Rockchip 플랫폼 배포에 다음과 같은 이점을 제공합니다:
- NPU 최적화: RKNN 모델은 Rockchip의 NPU에서 실행되도록 특별히 최적화되어 최대 성능과 효율성을 보장합니다.
- 낮은 지연 시간: RKNN 형식은 추론 지연 시간을 최소화하며, 이는 엣지 장치의 실시간 애플리케이션에 매우 중요합니다.
- 플랫폼별 맞춤화: RKNN 모델은 특정 Rockchip 플랫폼에 맞게 조정될 수 있어 하드웨어 자원을 더욱 효율적으로 활용할 수 있습니다.
- 전력 효율성: 전용 NPU 하드웨어를 활용함으로써 RKNN 모델은 CPU 또는 GPU 기반 처리보다 전력을 적게 소비하여 휴대용 장치의 배터리 수명을 연장합니다.
Rockchip 하드웨어에 OS 설치(Flash)
Rockchip 기반 장치를 확보한 후 첫 번째 단계는 하드웨어가 작동 환경으로 부팅될 수 있도록 OS를 설치하는 것입니다. 이 가이드에서는 테스트를 완료한 두 장치인 Radxa Rock 5B와 Radxa Zero 3W의 시작 가이드를 안내합니다.
RKNN으로 내보내기: YOLO26 모델 변환
Ultralytics YOLO26 모델을 RKNN 형식으로 내보내고 내보낸 모델로 추론을 실행합니다.
Rockchip 기반 장치(ARM64)에서의 내보내기는 지원되지 않으므로, 반드시 X86 기반 Linux PC를 사용하여 모델을 RKNN으로 내보내십시오.
설치
필요한 패키지를 설치하려면 다음을 실행하십시오:
!!! Tip "설치"
# Install the required package for YOLO26
pip install ultralytics설치 프로세스와 관련된 자세한 지침 및 모범 사례는 Ultralytics 설치 가이드를 확인하십시오. YOLO26을 위한 필수 패키지를 설치하는 동안 문제가 발생하면 일반적인 문제 해결 가이드에서 솔루션과 팁을 참조하십시오.
사용법
내보내기는 현재 감지(Detection) 모델에 대해서만 지원됩니다. 향후 더 많은 모델 지원이 추가될 예정입니다.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b (FP16). INT8-only targets rv1103, rv1106, rv1103b, rv1106b are not yet supported.
model.export(format="rknn", name="rk3588") # creates '/yolo26n_rknn_model'내보내기 인수
| 인수(Argument) | 유형(Type) | 기본값(Default) | 설명 |
|---|---|---|---|
format | str | 'rknn' | 내보낸 모델의 대상 형식으로, 다양한 배포 환경과의 호환성을 정의합니다. |
imgsz | int 또는 tuple | 640 | 모델 입력에 필요한 이미지 크기입니다. 정사각형 이미지의 경우 정수를, 특정 크기의 경우 (height, width) 튜플을 사용할 수 있습니다. |
batch | int | 1 | 내보낸 모델의 배치 추론 크기 또는 predict 모드에서 내보낸 모델이 동시에 처리할 최대 이미지 수를 지정합니다. |
name | str | 'rk3588' | Rockchip 대상을 지정합니다. FP16 지원 대상: rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b. INT8 전용 대상(rv1103, rv1106, rv1103b, rv1106b)은 아직 지원되지 않습니다. |
device | str | None | 내보내기를 위한 장치를 지정합니다: GPU (device=0), CPU (device=cpu). |
RKNN으로 내보낼 때는 반드시 x86 Linux 머신을 사용해 주십시오.
내보내기 과정에 대한 자세한 내용은 Ultralytics 내보내기 설명서 페이지를 방문하세요.
내보낸 YOLO26 RKNN 모델 배포하기
Ultralytics YOLO26 모델을 RKNN 형식으로 성공적으로 내보낸 후, 다음 단계는 이 모델들을 Rockchip 기반 장치에 배포하는 것입니다.
설치
필요한 패키지를 설치하려면 다음을 실행하십시오:
!!! Tip "설치"
# Install the required package for YOLO26
pip install ultralytics사용법
from ultralytics import YOLO
# Load the exported RKNN model
rknn_model = YOLO("./yolo26n_rknn_model")
# Run inference
results = rknn_model("https://ultralytics.com/images/bus.jpg")RKNN 런타임 버전과 RKNN Toolkit 버전이 일치하지 않아 추론이 실패한다는 로그 메시지가 표시되면, /usr/lib/librknnrt.so 파일을 공식 librknnrt.so 파일로 교체하십시오.

실제 적용 사례
YOLO26 RKNN 모델이 탑재된 Rockchip 기반 장치는 다양한 애플리케이션에 사용될 수 있습니다:
- 스마트 감시: 보안 모니터링을 위한 효율적인 객체 감지 시스템을 배포하여 전력 소비를 낮춥니다.
- 산업 자동화: 임베디드 장치에서 직접 품질 관리 및 결함 감지를 구현합니다.
- 소매 분석: 클라우드 의존 없이 실시간으로 고객 행동을 추적하고 재고를 관리합니다.
- 스마트 농업: 농업 분야의 컴퓨터 비전을 활용하여 작물 건강을 모니터링하고 해충을 감지합니다.
- 자율 로봇: 자원이 제한된 플랫폼에서 비전 기반 탐색 및 장애물 감지 기능을 활성화합니다.
벤치마크
아래의 YOLO26 벤치마크는 Ultralytics 팀이 Rockchip RK3588 기반의 Radxa Rock 5B에서 rknn 모델 형식을 사용하여 속도와 정확도를 측정한 결과입니다.
| 모델 | 형식 | 상태 | 크기(MB) | mAP50-95(B) | 추론 시간 (ms/im) |
|---|---|---|---|---|---|
| YOLO26n | rknn | ✅ | 7.1 | 0.479 | 65.7 |
| YOLO26s | rknn | ✅ | 20.9 | 0.571 | 99.2 |
| YOLO26m | rknn | ✅ | 42.5 | 0.610 | 235.3 |
| YOLO26l | rknn | ✅ | 52.1 | 0.630 | 280.5 |
| YOLO26x | rknn | ✅ | 112.2 | 0.666 | 669.1 |
ultralytics 8.4.23으로 벤치마크 수행됨
위 벤치마크에 대한 검증은 COCO128 데이터셋을 사용하여 수행되었습니다. 추론 시간은 전처리/후처리를 포함하지 않습니다.
요약
이 가이드에서는 Ultralytics YOLO26 모델을 RKNN 형식으로 내보내 Rockchip 플랫폼에서의 배포를 개선하는 방법을 배웠습니다. 또한 RKNN Toolkit과 엣지 AI 애플리케이션에 RKNN 모델을 사용할 때의 구체적인 이점에 대해서도 알아보았습니다.
Ultralytics YOLO26과 Rockchip의 NPU 기술 결합은 임베디드 장치에서 고급 컴퓨터 비전 작업을 실행하기 위한 효율적인 솔루션을 제공합니다. 이 접근 방식을 사용하면 최소한의 전력 소비로 높은 성능을 유지하면서 실시간 객체 감지 및 기타 비전 AI 애플리케이션을 구현할 수 있습니다.
사용에 대한 자세한 내용은 RKNN 공식 문서를 참조하십시오.
또한 다른 Ultralytics YOLO26 통합에 대해 자세히 알고 싶으시면 통합 가이드 페이지를 방문하십시오. 그곳에서 유용한 리소스와 통찰력을 많이 찾으실 수 있습니다.
FAQ
Ultralytics YOLO 모델을 RKNN 형식으로 어떻게 내보내나요?
Ultralytics Python 패키지의 export() 메서드나 명령줄 인터페이스(CLI)를 통해 Ultralytics YOLO 모델을 쉽게 RKNN 형식으로 내보낼 수 있습니다. 이 과정은 Rockchip과 같은 ARM64 장치에서는 지원되지 않으므로 반드시 x86 기반 Linux PC를 사용하십시오. name 인수를 사용하여 rk3588, rk3566 등과 같은 대상 Rockchip 플랫폼을 지정할 수 있습니다. 이 과정은 Rockchip 장치의 NPU를 활용하여 가속 추론을 수행할 수 있도록 최적화된 RKNN 모델을 생성합니다.
from ultralytics import YOLO
# Load your YOLO model
model = YOLO("yolo26n.pt")
# Export to RKNN format for a specific Rockchip platform
model.export(format="rknn", name="rk3588")Rockchip 장치에서 RKNN 모델을 사용하는 이점은 무엇인가요?
RKNN 모델은 Rockchip의 NPU 하드웨어 가속 기능을 활용하도록 특별히 설계되었습니다. 이러한 최적화 덕분에 동일한 하드웨어에서 ONNX나 TensorFlow Lite와 같은 일반 모델 형식을 실행할 때보다 추론 속도가 현저히 빠르고 지연 시간이 줄어듭니다. RKNN 모델을 사용하면 장치 자원을 더 효율적으로 사용하여 전력 소비를 낮추고 전반적인 성능을 높일 수 있으며, 이는 엣지 장치의 실시간 애플리케이션에 특히 중요합니다. Ultralytics YOLO 모델을 RKNN으로 변환하면 RK3588, RK3566 등과 같은 Rockchip SoC 기반 장치에서 최적의 성능을 달성할 수 있습니다.
NVIDIA나 Google과 같은 다른 제조사의 장치에도 RKNN 모델을 배포할 수 있나요?
RKNN 모델은 Rockchip 플랫폼과 그 통합 NPU에 특별히 최적화되어 있습니다. 기술적으로는 소프트웨어 에뮬레이션을 사용하여 다른 플랫폼에서도 RKNN 모델을 실행할 수 있지만, Rockchip 장치가 제공하는 하드웨어 가속의 이점은 누릴 수 없습니다. 다른 플랫폼에서 최적의 성능을 내려면 NVIDIA GPU용 TensorRT나 Google의 Edge TPU용 TensorFlow Lite와 같이 해당 플랫폼을 위해 특별히 설계된 형식으로 Ultralytics YOLO 모델을 내보내는 것이 좋습니다. Ultralytics는 다양한 형식으로 내보내기를 지원하여 폭넓은 하드웨어 가속기와의 호환성을 보장합니다.
어떤 Rockchip 플랫폼이 RKNN 모델 배포를 지원하나요?
Ultralytics YOLO의 RKNN 형식 내보내기는 현재 FP16 추론을 지원하는 Rockchip 플랫폼(RK3588, RK3576, RK3566, RK3568, RK3562, RK2118, RV1126B)을 지원합니다. INT8 전용 대상(RV1103, RV1106, RV1103B, RV1106B)은 NPU에 양자화가 필요하며, 현재 로드맵에 포함되어 있어 아직 지원되지 않습니다. 이러한 플랫폼은 Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas 및 Banana Pi와 같은 제조사의 장치에서 흔히 찾아볼 수 있으며, 싱글 보드 컴퓨터부터 산업용 시스템에 이르는 다양한 Rockchip 기반 장치에 최적화된 RKNN 모델을 배포할 수 있습니다.
Rockchip 장치에서 RKNN 모델의 성능은 다른 형식과 비교하여 어떤가요?
RKNN 모델은 Rockchip의 NPU에 최적화되어 있어 일반적으로 Rockchip 장치에서 ONNX나 TensorFlow Lite와 같은 다른 형식보다 우수한 성능을 보입니다. 예를 들어, Radxa Rock 5B(RK3588)에서 수행한 벤치마크에 따르면 RKNN 형식의 YOLO26n은 99.5 ms/이미지의 추론 속도를 달성하며, 이는 다른 형식보다 훨씬 빠릅니다. 이러한 성능 우위는 벤치마크 섹션에 명시된 것처럼 다양한 YOLO26 모델 크기 전반에 걸쳐 일관되게 나타납니다. 전용 NPU 하드웨어를 활용함으로써 RKNN 모델은 지연 시간을 최소화하고 처리량을 극대화하여 Rockchip 기반 엣지 장치의 실시간 애플리케이션에 이상적입니다.