Ultralytics YOLO11 모델을 위한 Rockchip RKNN 내보내기
Rockchip 프로세서로 구동되는 임베디드 장치에 컴퓨터 비전 모델을 배포할 때는 호환 가능한 모델 형식을 갖는 것이 필수적입니다. Ultralytics YOLO11 모델을 RKNN 형식으로 내보내면 Rockchip 하드웨어와의 최적화된 성능과 호환성이 보장됩니다. 이 가이드는 YOLO11 모델을 RKNN 형식으로 변환하여 Rockchip 플랫폼에서 효율적인 배포를 가능하게 하는 단계를 안내합니다.
참고
이 가이드는 Rockchip RK3588 기반의 Radxa Rock 5B와 Rockchip RK3566 기반의 Radxa Zero 3W로 테스트되었습니다. RK3576, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B 및 RK2118과 같이 rknn-toolkit2를 지원하는 다른 Rockchip 기반 장치에서도 작동할 것으로 예상됩니다.
Rockchip이란 무엇입니까?
다재다능하고 전력 효율적인 솔루션을 제공하는 것으로 유명한 Rockchip은 광범위한 소비자 가전 제품, 산업 응용 분야 및 AI 기술에 전력을 공급하는 고급 System-on-Chips(SoC)를 설계합니다. ARM 기반 아키텍처, 내장형 신경 처리 장치(NPU) 및 고해상도 멀티미디어 지원을 통해 Rockchip SoC는 태블릿, 스마트 TV, IoT 시스템 및 엣지 AI 애플리케이션과 같은 장치에 최첨단 성능을 제공합니다. Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas 및 Banana Pi와 같은 회사는 Rockchip SoC를 기반으로 다양한 제품을 제공하여 다양한 시장에서 그 영향력과 파급력을 더욱 확대하고 있습니다.
RKNN 툴킷
RKNN Toolkit은 Rockchip에서 제공하는 도구 및 라이브러리 세트로, 딥 러닝 모델을 하드웨어 플랫폼에 쉽게 배포할 수 있도록 지원합니다. RKNN(Rockchip Neural Network)은 이러한 도구에서 사용되는 독점 형식입니다. RKNN 모델은 Rockchip의 NPU(Neural Processing Unit)에서 제공하는 하드웨어 가속을 최대한 활용하도록 설계되어 RK3588, RK3566, RV1103, RV1106 및 기타 Rockchip 기반 시스템과 같은 장치에서 AI 작업의 고성능을 보장합니다.
RKNN 모델의 주요 기능
RKNN 모델은 Rockchip 플랫폼에 배포할 때 다음과 같은 여러 가지 이점을 제공합니다.
- NPU에 최적화됨: RKNN 모델은 Rockchip의 NPU에서 실행되도록 특별히 최적화되어 최대 성능과 효율성을 보장합니다.
- 낮은 지연 시간: RKNN 형식은 추론 지연 시간을 최소화하며, 이는 에지 장치에서 실시간 애플리케이션에 매우 중요합니다.
- 플랫폼별 사용자 정의: RKNN 모델은 특정 Rockchip 플랫폼에 맞게 조정하여 하드웨어 리소스를 더 효율적으로 활용할 수 있습니다.
- 전력 효율성: 전용 NPU 하드웨어를 활용함으로써 RKNN 모델은 CPU 또는 GPU 기반 프로세싱보다 전력을 덜 소비하여 휴대용 장치의 배터리 수명을 연장합니다.
Rockchip 하드웨어에 OS 플래싱
Rockchip 기반 장치를 처음 접한 후 첫 번째 단계는 하드웨어가 작동 환경으로 부팅될 수 있도록 OS를 플래싱하는 것입니다. 이 가이드에서는 Radxa Rock 5B 및 Radxa Zero 3W라는 테스트한 두 장치의 시작 가이드를 안내합니다.
RKNN으로 내보내기: YOLO11 모델 변환
Ultralytics YOLO11 모델을 RKNN 형식으로 내보내고 내보낸 모델로 추론을 실행합니다.
참고
Rockchip 기반 장치(ARM64)에서는 내보내기가 지원되지 않으므로 모델을 RKNN으로 내보내려면 X86 기반 Linux PC를 사용해야 합니다.
설치
필수 패키지를 설치하려면 다음을 실행합니다:
설치
# Install the required package for YOLO11
pip install ultralytics
설치 프로세스와 관련된 자세한 지침 및 모범 사례는 Ultralytics 설치 가이드를 확인하십시오. YOLO11에 필요한 패키지를 설치하는 동안 어려움이 발생하면 일반적인 문제 가이드에서 해결 방법과 팁을 참조하십시오.
사용법
참고
내보내기는 현재 감지 모델에 대해서만 지원됩니다. 더 많은 모델 지원이 향후 제공될 예정입니다.
사용법
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
model.export(format="rknn", name="rk3588") # creates '/yolo11n_rknn_model'
# Export a YOLO11n PyTorch model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
yolo export model=yolo11n.pt format=rknn name=rk3588 # creates '/yolo11n_rknn_model'
인수 내보내기
인수 | 유형 | 기본값 | 설명 |
---|---|---|---|
format |
str |
'rknn' |
다양한 배포 환경과의 호환성을 정의하는 내보낸 모델의 대상 형식입니다. |
imgsz |
int 또는 tuple |
640 |
모델 입력에 대한 원하는 이미지 크기입니다. 정사각형 이미지의 경우 정수이거나 튜플일 수 있습니다. (height, width) 특정 크기의 경우. |
batch |
int |
1 |
내보내기 모델 배치 추론 크기 또는 내보내기 모델이 동시에 처리할 이미지의 최대 수를 지정합니다. predict mode. |
name |
str |
'rk3588' |
Rockchip 모델을 지정합니다(rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118). |
device |
str |
None |
내보내기할 장치를 지정합니다: GPU (device=0 ), CPU (device=cpu )입니다. |
팁
RKNN으로 내보낼 때는 x86 Linux 시스템을 사용해야 합니다.
내보내기 프로세스에 대한 자세한 내용은 내보내기에 대한 Ultralytics 문서 페이지를 참조하십시오.
내보낸 YOLO11 RKNN 모델 배포
Ultralytics YOLO11 모델을 RKNN 형식으로 성공적으로 내보냈으면 다음 단계는 이러한 모델을 Rockchip 기반 장치에 배포하는 것입니다.
설치
필수 패키지를 설치하려면 다음을 실행합니다:
설치
# Install the required package for YOLO11
pip install ultralytics
사용법
사용법
from ultralytics import YOLO
# Load the exported RKNN model
rknn_model = YOLO("./yolo11n_rknn_model")
# Run inference
results = rknn_model("https://ultralytics.com/images/bus.jpg")
# Run inference with the exported model
yolo predict model='./yolo11n_rknn_model' source='https://ultralytics.com/images/bus.jpg'
참고
RKNN 런타임 버전이 RKNN Toolkit 버전과 일치하지 않아 추론에 실패했다는 로그 메시지가 표시되면 다음으로 교체하십시오. /usr/lib/librknnrt.so
공식 librknnrt.so 파일.
실제 응용 분야
YOLO11 RKNN 모델이 탑재된 Rockchip 기반 장치는 다양한 애플리케이션에 사용될 수 있습니다.
- 스마트 감시: 낮은 전력 소비로 보안 모니터링을 위한 효율적인 객체 탐지 시스템을 구축합니다.
- 산업 자동화: 임베디드 장치에서 직접 품질 관리 및 결함 감지를 구현합니다.
- 리테일 분석: 클라우드 종속성 없이 실시간으로 고객 행동 및 재고 관리를 추적합니다.
- 스마트 농업: 농업 분야의 컴퓨터 비전을 사용하여 작물 건강을 모니터링하고 해충을 감지합니다.
- 자율 로보틱스: 리소스가 제한된 플랫폼에서 비전 기반 내비게이션 및 장애물 감지를 지원합니다.
벤치마크
아래 YOLO11 벤치마크는 Rockchip RK3588 기반의 Radxa Rock 5B에서 Ultralytics 팀에 의해 실행되었습니다. rknn
속도와 정확도를 측정하는 모델 형식입니다.
성능
모델 | 형식 | 상태 | 크기(MB) | mAP50-95(B) | 추론 시간 (ms/im) |
---|---|---|---|---|---|
YOLO11n | rknn |
✅ | 7.4 | 0.505 | 71.5 |
YOLO11s | rknn |
✅ | 20.7 | 0.578 | 98.9 |
YOLO11m | rknn |
✅ | 41.9 | 0.629 | 235.3 |
YOLO11l | rknn |
✅ | 53.3 | 0.633 | 282.0 |
YOLO11x | rknn |
✅ | 114.6 | 0.687 | 679.2 |
다음 환경에서 벤치마크됨: ultralytics 8.3.152
참고
위 벤치마크에 대한 유효성 검사는 COCO128 데이터 세트를 사용하여 수행되었습니다. 추론 시간은 사전/사후 처리를 포함하지 않습니다.
요약
이 가이드에서는 Ultralytics YOLO11 모델을 RKNN 형식으로 내보내어 Rockchip 플랫폼에서의 배포를 향상시키는 방법을 배웠습니다. 또한 RKNN 툴킷과 에지 AI 애플리케이션에 RKNN 모델을 사용하는 특정 이점에 대해서도 소개했습니다.
Ultralytics YOLO11과 Rockchip의 NPU 기술의 결합은 임베디드 장치에서 고급 컴퓨터 비전 작업을 실행하기 위한 효율적인 솔루션을 제공합니다. 이 접근 방식을 통해 최소한의 전력 소비와 높은 성능으로 실시간 객체 감지 및 기타 비전 AI 애플리케이션을 사용할 수 있습니다.
사용법에 대한 자세한 내용은 RKNN 공식 문서를 참조하십시오.
또한 다른 Ultralytics YOLO11 통합에 대해 자세히 알고 싶으시면 통합 가이드 페이지를 방문하십시오. 유용한 리소스와 통찰력을 많이 찾을 수 있습니다.
FAQ
Ultralytics YOLO 모델을 RKNN 형식으로 어떻게 내보냅니까?
Ultralytics YOLO 모델을 사용하여 RKNN 형식으로 쉽게 내보낼 수 있습니다. export()
Ultralytics python 패키지 또는 명령줄 인터페이스(CLI)에서 메서드를 사용하세요. Rockchip과 같은 ARM64 장치는 이 작업에 지원되지 않으므로 내보내기 프로세스에는 x86 기반 Linux PC를 사용해야 합니다. 메서드를 사용하여 대상 Rockchip 플랫폼을 지정할 수 있습니다. name
인수 (예: rk3588
, rk3566
, 등을 사용할 수 있습니다. 이 과정을 통해 Rockchip 장치에 배포할 준비가 된 최적화된 RKNN 모델이 생성되며, 가속화된 추론을 위해 NPU(Neural Processing Unit)를 활용합니다.
예시
from ultralytics import YOLO
# Load your YOLO model
model = YOLO("yolo11n.pt")
# Export to RKNN format for a specific Rockchip platform
model.export(format="rknn", name="rk3588")
yolo export model=yolo11n.pt format=rknn name=rk3588
Rockchip 장치에서 RKNN 모델을 사용할 때의 이점은 무엇인가요?
RKNN 모델은 Rockchip의 NPU(Neural Processing Unit) 하드웨어 가속 기능을 활용하도록 특별히 설계되었습니다. 이러한 최적화를 통해 ONNX 또는 TensorFlow Lite와 같은 일반 모델 형식을 동일한 하드웨어에서 실행하는 것보다 훨씬 빠른 추론 속도와 짧은 지연 시간을 제공합니다. RKNN 모델을 사용하면 장치 리소스를 보다 효율적으로 사용하여 전력 소비를 줄이고 전반적인 성능을 향상시킬 수 있으며, 이는 에지 장치에서 실시간 애플리케이션에 매우 중요합니다. Ultralytics YOLO 모델을 RKNN으로 변환하면 RK3588, RK3566 등과 같은 Rockchip SoC 기반 장치에서 최적의 성능을 얻을 수 있습니다.
NVIDIA 또는 Google과 같은 다른 제조업체의 장치에 RKNN 모델을 배포할 수 있습니까?
RKNN 모델은 Rockchip 플랫폼과 통합된 NPU에 맞게 특별히 최적화되어 있습니다. 소프트웨어 에뮬레이션을 사용하여 다른 플랫폼에서 RKNN 모델을 기술적으로 실행할 수 있지만 Rockchip 장치에서 제공하는 하드웨어 가속의 이점을 얻을 수는 없습니다. 다른 플랫폼에서 최적의 성능을 얻으려면 Ultralytics YOLO 모델을 NVIDIA GPU용 TensorRT 또는 Google의 Edge TPU용 TensorFlow Lite와 같이 해당 플랫폼에 맞게 특별히 설계된 형식으로 내보내는 것이 좋습니다. Ultralytics는 광범위한 형식으로 내보내기를 지원하여 다양한 하드웨어 가속기와의 호환성을 보장합니다.
RKNN 모델 배포를 위해 어떤 Rockchip 플랫폼이 지원됩니까?
RKNN 형식으로의 Ultralytics YOLO 내보내기는 널리 사용되는 RK3588, RK3576, RK3566, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B 및 RK2118을 포함한 광범위한 Rockchip 플랫폼을 지원합니다. 이러한 플랫폼은 Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas 및 Banana Pi와 같은 제조업체의 장치에서 흔히 볼 수 있습니다. 이 광범위한 지원을 통해 단일 보드 컴퓨터에서 산업 시스템에 이르기까지 다양한 Rockchip 기반 장치에 최적화된 RKNN 모델을 배포하여 컴퓨터 비전 애플리케이션에서 향상된 성능을 위해 AI 가속 기능을 최대한 활용할 수 있습니다.
Rockchip 장치에서 RKNN 모델의 성능은 다른 형식과 비교하여 어떻습니까?
RKNN 모델은 Rockchip의 NPU에 최적화되어 있기 때문에 일반적으로 Rockchip 장치에서 ONNX 또는 TensorFlow Lite와 같은 다른 형식보다 성능이 뛰어납니다. 예를 들어 Radxa Rock 5B(RK3588)에 대한 벤치마크에 따르면 RKNN 형식의 YOLO11n은 99.5ms/이미지의 추론 시간을 달성하여 다른 형식보다 훨씬 빠릅니다. 이러한 성능 이점은 벤치마크 섹션에서 입증된 바와 같이 다양한 YOLO11 모델 크기에서 일관되게 나타납니다. 전용 NPU 하드웨어를 활용하여 RKNN 모델은 지연 시간을 최소화하고 처리량을 최대화하므로 Rockchip 기반 에지 장치에서 실시간 애플리케이션에 이상적입니다.