콘텐츠로 건너뛰기

Ultralytics YOLO11 모델용 Rockchip RKNN 내보내기

임베디드 디바이스, 특히 Rockchip 프로세서 기반 디바이스에 컴퓨터 비전 모델을 배포할 때는 호환 가능한 모델 포맷이 필수적입니다. 내보내기 Ultralytics YOLO11 모델을 RKNN 형식으로 내보내면 최적화된 성능과 Rockchip 하드웨어와의 호환성을 보장할 수 있습니다. 이 가이드에서는 YOLO11 모델을 RKNN 형식으로 변환하는 방법을 안내하여 Rockchip 플랫폼에 효율적으로 배포할 수 있도록 합니다.

RKNN

참고

이 가이드는 Rockchip RK3588을 기반으로 하는 Radxa Rock 5B와 Rockchip RK3566을 기반으로 하는 Radxa Zero 3W로 테스트되었습니다. RK3576, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B 및 RK2118과 같이 rknn-toolkit2를 지원하는 다른 Rockchip 기반 장치에서도 작동할 것으로 예상됩니다.

락칩이란 무엇인가요?

다재다능하고 전력 효율적인 솔루션을 제공하는 것으로 유명한 Rockchip은 다양한 소비자 가전, 산업용 애플리케이션 및 AI 기술을 구동하는 고급 시스템 온 칩(SoC)을 설계합니다. ARM 기반 아키텍처, 내장형 신경 처리 장치(NPU), 고해상도 멀티미디어 지원을 갖춘 Rockchip SoC는 태블릿, 스마트 TV, IoT 시스템, 최첨단 AI 애플리케이션과 같은 장치에 최첨단 성능을 구현합니다. Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas, Banana Pi와 같은 회사는 Rockchip SoC를 기반으로 다양한 제품을 제공하여 다양한 시장에서 영향력을 확대하고 있습니다.

RKNN 툴킷

RKNN 툴킷은 하드웨어 플랫폼에 딥러닝 모델을 쉽게 배포할 수 있도록 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 처리보다 전력 소비가 적어 휴대용 디바이스의 배터리 수명을 연장합니다.

플래시 OS에서 Rockchip 하드웨어로

Rockchip 기반 디바이스를 손에 넣은 후 첫 번째 단계는 하드웨어를 작동 환경으로 부팅할 수 있도록 OS를 플래시하는 것입니다. 이 가이드에서는 테스트한 두 가지 디바이스인 Radxa Rock 5B와 Radxa Zero 3W의 시작 가이드를 소개합니다.

RKNN으로 내보내기: YOLO11 모델 변환하기

Ultralytics YOLO11 모델을 RKNN 형식으로 내보내고 내보낸 모델로 추론을 실행합니다.

참고

록칩 기반 디바이스(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 모드로 전환합니다.
name str 'rk3588' 록칩 모델(rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118)을 지정합니다.

내보내기 프로세스에 대한 자세한 내용은 내보내기 관련 문서 페이지(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 툴킷 버전과 일치하지 않아 추론에 실패했다는 로그 메시지가 표시되는 경우 다음을 교체하세요. /usr/lib/librknnrt.so 공식 librknnrt.so 파일.

RKNN 내보내기 스크린샷

실제 애플리케이션

YOLO11 RKNN 모델이 탑재된 Rockchip 기반 디바이스는 다양한 애플리케이션에서 사용할 수 있습니다:

  • 스마트 감시: 저전력 소비로 보안 모니터링을 위한 효율적인 객체 감지 시스템을 배포하세요.
  • 산업 자동화: 임베디드 디바이스에서 직접 품질 관리 및 결함 감지를 구현하세요.
  • 리테일 분석: 클라우드에 의존하지 않고 실시간으로 고객 행동을 추적하고 재고를 관리할 수 있습니다.
  • 스마트 농업: 농업 분야에서 컴퓨터 비전을 사용하여 작물의 상태를 모니터링하고 해충을 감지합니다.
  • 자율 로봇 공학: 리소스가 제한된 플랫폼에서 비전 기반 탐색 및 장애물 감지를 지원합니다.

벤치마크

YOLO11 아래 벤치마크는 Ultralytics 팀이 Rockchip RK3588을 기반으로 Radxa Rock 5B에서 실행한 것입니다. rknn 속도와 정확도를 측정하는 모델 형식입니다.

모델 형식 상태 크기(MB) mAP50-95(B) 추론 시간(ms/im)
YOLO11n rknn 7.4 0.61 99.5
YOLO11s rknn 20.7 0.741 122.3
YOLO11m rknn 41.9 0.764 298.0
YOLO11l rknn 53.3 0.72 319.6
YOLO11x rknn 114.6 0.828 632.1

참고

위의 벤치마크에 대한 검증은 coco8 데이터 세트를 사용하여 수행되었습니다.

요약

이 가이드에서는 Ultralytics YOLO11 모델을 RKNN 형식으로 내보내서 Rockchip 플랫폼에서 배포를 향상시키는 방법을 배웠습니다. 또한 RKNN 툴킷과 엣지 AI 애플리케이션에 RKNN 모델을 사용할 때의 구체적인 장점에 대해서도 소개했습니다.

의 조합 Ultralytics YOLO11 와 Rockchip의 NPU 기술의 결합은 임베디드 디바이스에서 고급 컴퓨터 비전 작업을 실행하기 위한 효율적인 솔루션을 제공합니다. 이 접근 방식을 통해 최소한의 전력 소비와 고성능으로 실시간 물체 감지 및 기타 비전 AI 애플리케이션을 구현할 수 있습니다.

사용법에 대한 자세한 내용은 RKNN 공식 문서를 참조하세요.

또한 Ultralytics YOLO11 통합에 대해 더 자세히 알고 싶다면 통합 가이드 페이지를 방문하세요. 유용한 리소스와 인사이트를 많이 찾을 수 있습니다.

자주 묻는 질문

Ultralytics YOLO 모델을 RKNN 형식으로 내보내려면 어떻게 해야 하나요?

Ultralytics YOLO 모델을 RKNN 형식으로 쉽게 내보낼 수 있습니다. export() 메서드를 Ultralytics Python 패키지 또는 명령줄 인터페이스(CLI)를 통해 실행합니다. 내보내기 프로세스에 x86 기반 Linux PC를 사용해야 하며, Rockchip과 같은 ARM64 장치는 이 작업이 지원되지 않습니다. 대상 Rockchip 플랫폼을 지정하는 방법은 다음과 같습니다. name 인수와 같은 rk3588, rk3566등을 사용할 수 있습니다. 이 프로세스는 가속 추론을 위해 신경 처리 장치(NPU)를 활용하여 Rockchip 장치에 배포할 준비가 된 최적화된 RKNN 모델을 생성합니다.

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)의 하드웨어 가속 기능을 활용하도록 설계되었습니다. 이러한 최적화를 통해 동일한 하드웨어에서 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용 TensorFlow Lite TPU)으로 내보내는 것이 좋습니다. Ultralytics 은 다양한 하드웨어 가속기와의 호환성을 보장하기 위해 광범위한 포맷으로 내보내기를 지원합니다.

RKNN 모델 배포를 위해 지원되는 Rockchip 플랫폼은 무엇인가요?

Ultralytics YOLO RKNN 형식으로 내보내기는 인기 있는 RK3588, RK3576, RK3566, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B 및 RK2118을 포함한 광범위한 Rockchip 플랫폼을 지원합니다. 이러한 플랫폼은 Radxa, ASUS, Pine64, 오렌지 파이, Odroid, 카다스, 바나나 파이와 같은 제조업체의 디바이스에서 흔히 볼 수 있습니다. 이러한 광범위한 지원을 통해 싱글 보드 컴퓨터부터 산업용 시스템에 이르기까지 다양한 Rockchip 기반 장치에 최적화된 RKNN 모델을 배포하여 컴퓨터 비전 애플리케이션의 성능을 향상시킬 수 있는 AI 가속 기능을 최대한 활용할 수 있습니다.

RKNN 모델의 성능은 Rockchip 디바이스에서 다른 포맷과 어떻게 비교되나요?

RKNN 모델은 일반적으로 Rockchip 장치에서 ONNX 또는 TensorFlow Lite와 같은 다른 형식보다 성능이 뛰어나며, 이는 Rockchip의 NPU에 최적화되어 있기 때문입니다. 예를 들어, Radxa Rock 5B(RK3588)의 벤치마크에 따르면 RKNN 형식의 YOLO11n은 다른 형식보다 훨씬 빠른 이미지당 99.5ms의 추론 시간을 달성하는 것으로 나타났습니다. 벤치마크 섹션에서 확인할 수 있듯이 이러한 성능 이점은 다양한 YOLO11 모델 크기에서 일관되게 나타납니다. 전용 NPU 하드웨어를 활용하는 RKNN 모델은 지연 시간을 최소화하고 처리량을 최대화하여 Rockchip 기반 에지 디바이스의 실시간 애플리케이션에 이상적입니다.

2개월 전 생성됨 ✏️ 업데이트됨 12 일 전

댓글