Ultralytics YOLO11 모델을 NCNN 모델 형식으로 내보내기

아비라미 비나

5분 읽기

2025년 6월 18일

전력 및 컴퓨팅 리소스가 제한된 에지 디바이스에서 효율적이고 지연 시간이 짧은 AI 추론을 실행하기 위해 Ultralytics YOLO11 모델을 NCNN 모델 형식으로 내보내세요.

AI 솔루션은 재난 관리, 폐기물 관리, 소방과 같이 위험도가 높은 분야에서도 점점 더 보편화되고 있습니다. 도입이 계속 증가함에 따라 AI 모델은 서버나 클라우드뿐만 아니라 현장에서 작동하는 디바이스에 직접 배포되는 등 더욱 다양한 환경에 적용되고 있습니다.

예를 들어, 소형 프로세서로 구동되는 엣지 부품이 장착된 드론과 장비는 재난 지역에서 중요한 역할을 할 수 있습니다. 열화상 카메라가 장착된 이러한 장치는 현장에서 데이터를 수집하고 분석하여 잔해에 갇힌 사람의 위치를 파악할 수 있습니다. 이는 이미지와 비디오에서 시각 정보를 해석하는 인공지능의 한 분야인 컴퓨터 비전을 통해 가능합니다.

하지만 엣지 디바이스에 Vision AI 모델을 배포하는 것은 생각만큼 간단하지 않습니다. AI 모델은 컴퓨팅 성능과 메모리가 제한된 하드웨어에서 효율적으로 실행되도록 최적화되어야 합니다. 그렇기 때문에 NCNN과 같은 AI 프레임워크가 필수적입니다. 정확도를 유지하면서 저전력 디바이스에서 실시간 성능을 발휘하도록 모델을 변환하고 최적화하는 데 도움이 됩니다.

특히, 울트라리틱스 YOLO11과 같은 울트라리틱스 YOLO 모델은 울트라리틱스에서 지원하는 NCNN 통합을 사용하여 NCNN 모델 포맷으로 쉽게 내보낼 수 있습니다. YOLO11을 NCNN 모델 형식으로 변환하면 모델이 더 빠르게 실행되고, 메모리를 덜 사용하며, 정확도를 잃지 않고 여러 장치에서 원활하게 작동할 수 있습니다.

이 문서에서는 Ultralytics에서 지원하는 NCNN 통합을 살펴보고 YOLO11 모델을 NCNN 모델 형식으로 내보내는 방법을 안내합니다. 시작해 보겠습니다!

NCNN에 대한 개요입니다: 경량 신경망 프레임워크

NCNN은 Tencent에서 개발한 오픈 소스 신경망 추론 프레임워크입니다. 모바일 및 엣지 환경을 위해 특별히 설계되어 최소한의 설치 공간으로 고성능 추론을 지원합니다. 따라서 스마트폰, 드론, IoT(사물 인터넷) 디바이스 등 리소스가 제한된 디바이스에 배포하는 데 이상적입니다.

NCNN 프레임워크는 효율성, 휴대성, 모바일 CPU(중앙 처리 장치)에 대한 최적화로 인해 AI 및 딥 러닝 커뮤니티에서 인기를 얻고 있습니다. 이를 통해 개발자는 메모리와 처리 능력이 제한된 저렴한 기기에서 신경망 모델을 실행할 수 있습니다. 간단하고 유연하게 설계된 NCNN은 광범위한 컴퓨터 비전 모델을 지원하며 Android, Linux, iOS, macOS를 비롯한 여러 플랫폼에서 실행됩니다.

그림 1. NCNN 형식의 모델은 여러 플랫폼에 배포할 수 있습니다.

NCNN 성능 최적화의 주요 기능

다음은 NCNN을 영향력 있고 널리 사용되는 신경망 추론 프레임워크로 만드는 몇 가지 주요 기능입니다:

  • 가볍고 하드웨어에 독립적인 런타임: NCNN 프레임워크는 표준 CPU에서 모델을 실행하도록 최적화되어 있으며 GPU(그래픽 처리 장치) 또는 NPU(신경 처리 장치)와 같은 특수 하드웨어가 필요하지 않습니다.
  • 모델 정량화: 메모리와 속도가 중요한 애플리케이션을 위해 NCNN은 모델 크기를 줄이고 추론 시간을 개선하는 양자화 방법을 지원합니다. 모바일 및 임베디드 디바이스에서 AI 모델을 원활하게 실행할 수 있도록 도와줍니다.
  • 오픈 소스 및 접근성: 오픈 소스 프레임워크인 NCNN은 누구나 자유롭게 사용, 수정, 개선할 수 있습니다. 이를 통해 다양한 사용 사례에서 혁신과 폭넓은 채택을 장려합니다.
  • 활발한 개발 및 커뮤니티: NCNN은 정기적인 업데이트와 모델 호환성 개선을 통해 Tencent와 성장하는 개발자 커뮤니티에 의해 GitHub에서 활발하게 유지 관리되고 있습니다.

YOLO11을 NCNN 모델 형식으로 내보내기: 빠른 가이드

이제 NCNN이 무엇인지 설명했으니, YOLO11 모델을 NCNN 형식으로 내보내는 방법에 대해 자세히 살펴보겠습니다.

1단계: Ultralytics Python 패키지 설치하기

모델을 내보내기 전에 첫 번째 단계는 패키지 설치 프로그램인 pip를 사용하여 Ultralytics Python 패키지를 설치하는 것입니다. 터미널이나 명령 프롬프트에서 "pip install ultralytics"를 실행하면 됩니다. Jupyter Notebook 또는 Google Colab에서 작업하는 경우 다음과 같이 명령 앞에 느낌표를 추가합니다: "!pip install ultralytics".

Ultralytics 패키지는 다양한 컴퓨터 비전 작업을 위해 Vision AI 모델을 훈련, 테스트, 미세 조정 및 내보낼 수 있는 도구를 제공합니다. 설치 중 또는 모델을 내보내는 동안 문제가 발생하는 경우 공식 Ultralytics 설명서 및 일반적인 문제 가이드에서 문제 해결을 위한 유용한 리소스를 확인하세요.

2단계: Ultralytics YOLO11 내보내기

Ultralytics 패키지를 설치한 후, YOLO11 모델을 로드하고 NCNN 형식으로 내보낼 수 있습니다. 아래 예는 사전 학습된 모델("yolo11n.pt")을 사용하여 NCNN 형식으로 내보내고 "/yolo11n_ncnn_model"이라는 폴더에 출력을 저장합니다. 

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="ncnn")  

그런 다음 내보낸 YOLO11 모델을 스마트폰, 임베디드 시스템 또는 IoT 플랫폼과 같은 다양한 경량 디바이스에 배포할 수 있습니다. 배포 프로세스도 매우 간소화되었습니다. 

예를 들어, 내보낸 모델을 로드하고 추론을 실행하는 방법을 보여주는 아래 코드 스니펫을 살펴보세요. 추론이란 학습된 모델을 사용하여 보이지 않는 새로운 데이터를 예측하는 프로세스를 말합니다. 이 예에서는 공개적으로 사용 가능한 URL에서 가져온 자전거를 타는 남성의 이미지에 대해 모델을 테스트합니다.

ncnn_model = YOLO("./yolo11n_ncnn_model")

results = ncnn_model("https://images.pexels.com/photos/19431209/pexels-photo-19431209/free-photo-of-a-man-riding-a-bike-on-a-road.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)

코드를 실행하면 "runs/detect/predict" 폴더에서 출력 이미지를 찾을 수 있습니다.

그림 2. 내보낸 YOLO11 모델을 NCNN 형식으로 사용하여 오브젝트 감지. 작성자 이미지.

NCNN으로 실시간 감지를 선택해야 하는 이유

Ultralytics가 지원하는 다양한 통합을 살펴보면서 여러 가지 내보내기 옵션을 사용할 수 있다는 것을 알 수 있습니다. 그렇다면 언제 NCNN 형식을 선택해야 할까요?

NCNN 내보내기 형식은 리소스가 제한된 디바이스에 YOLO11 모델을 배포해야 할 때 신뢰할 수 있는 선택입니다. 특히 클라우드에 연결할 필요 없이 엣지 디바이스와 같이 디바이스에서 직접 실행되는 실시간 애플리케이션에 유용합니다. 즉, 이 모델은 물체 감지와 같은 작업을 그 자리에서 바로 처리할 수 있습니다.

다음은 NCNN이 적합한 몇 가지 일반적인 시나리오입니다:

  • 모바일 배포: NCNN 형식은 Android 및 iOS에 최적화되어 있어 모델을 모바일 앱에 쉽게 통합하여 지연 시간을 최소화하면서 빠르게 온디바이스로 추론할 수 있습니다.
  • 임베디드 시스템 및 IoT 디바이스: 라즈베리 파이 또는 NVIDIA Jetson과 같은 장치에 배포하는 경우 NCNN으로 내보내면 성능과 응답성을 향상하는 데 도움이 될 수 있습니다.
  • 데스크톱 및 서버 배포: NCNN은 저전력 디바이스에 적합하지만 데스크톱 및 서버 환경을 위한 Linux, Windows, macOS도 지원합니다. 따라서 개발자에게 유연한 배포 옵션을 제공합니다.
그림 3. NCNN을 사용한 YOLO11 모델 배포 옵션. 작성자 이미지.

NCNN을 사용한 YOLO11 모델 배포 사용 사례

다음으로, YOLO11 모델을 NCNN으로 내보내면 실질적인 차이를 만들 수 있는 몇 가지 실제 사용 사례를 살펴보겠습니다.

소방용 비전 AI 헬멧

카메라와 내장형 마이크로컴퓨터가 장착된 안전 헬멧은 건설 및 소방과 같은 분야에서 안전과 인식을 개선하는 데 사용할 수 있습니다. 이러한 장치에서 YOLO11과 같은 실시간 비전 AI 모델을 실행하여 다양한 유형의 물체와 장비를 감지할 수 있습니다. 예를 들어, 소방관이 헬멧을 착용하면 가시성이 낮은 환경에서 사람, 장애물 또는 위험을 감지하는 데 도움이 될 수 있습니다.

하지만 웨어러블 디바이스에서 풀사이즈 모델을 직접 실행하면 성능이 느려지고 배터리가 빨리 소모될 수 있습니다. 이 경우 NCNN 통합을 사용하는 것이 현명한 선택입니다. 지연 시간이 짧고 에너지 효율적인 추론이 가능합니다. 

쓰레기 분류 및 스마트 쓰레기통

마찬가지로 스마트 쓰레기통은 카메라 및 소형 엣지 AI 프로세서와 통합하여 버려지는 재료를 식별하고 분류할 수 있습니다. YOLO11과 같은 비전 AI 모델은 종이, 플라스틱, 고무 등 다양한 종류의 폐기물을 감지하도록 맞춤 학습할 수 있습니다.

쓰레기가 식별되면 재사용 가능 여부에 따라 자동으로 별도의 칸으로 분류할 수 있습니다. 이 쓰레기통은 NCNN 형식으로 내보낸 YOLO11 모델과 함께 엣지 AI를 사용하여 인터넷 연결 없이도 로컬에서 데이터를 처리할 수 있습니다. 따라서 자율적으로 작동하고 최소한의 지연으로 실시간 분류 결정을 내릴 수 있습니다.

그림 4. YOLO11을 사용한 플라스틱 폐기물 감지.

드론과 컴퓨터 비전을 이용한 가축 모니터링

때로는 외딴 지역의 농업 지역에서는 안정적인 인터넷 연결이나 안정적인 전력 공급이 부족하여 온라인에서 AI 애플리케이션을 실행하는 데 제한이 있을 수 있습니다. 이러한 경우 엣지 디바이스와 드론을 사용하여 다양한 작업을 처리할 수 있습니다. 

소, 양, 가금류와 같은 가축을 모니터링하는 것이 좋은 예입니다. 동물의 움직임을 추적하고 부상, 질병 또는 이상 행동의 징후를 감지하며 동물이 실종되었을 때 농장주에게 경고하는 데 사용할 수 있는 YOLO11과 같은 비전 AI 모델을 사용하여 이를 수행할 수 있습니다. 또한 NCNN 통합을 통해 엣지 디바이스에서 직접 이 데이터를 실행하고 처리할 수 있으므로 외딴 곳이나 전력망이 없는 지역의 농장에서 이미지 및 비디오 분석에 매우 적합합니다.

그림 5. 가축 모니터링에 YOLO11을 사용하는 방법 살펴보기.

주요 요점

Ultralytics에서 지원하는 NCNN 통합을 사용하여 YOLO11 모델을 내보내는 것은 저전력 환경에 Vision AI를 도입할 수 있는 간단한 방법입니다. 재난 지역의 드론, 스마트 쓰레기 분리수거함, 원격 농장의 가축 모니터링 등, YOLO와 NCNN은 빠르고 효율적이며 휴대 가능한 실시간 AI 추론을 가능하게 합니다. 이러한 접근 방식은 가장 중요한 순간에 AI 시스템의 접근성과 신뢰성을 높이는 데 도움이 됩니다.

AI에 대해 자세히 알아보고 싶으신가요? GitHub 리포지토리를 살펴보고, 커뮤니티와 소통하고, 라이선스 옵션을 확인하여 컴퓨터 비전 프로젝트를 시작하세요. 솔루션 페이지에서 소매업의 AI와 의료 분야의 컴퓨터 비전과 같은 혁신이 어떻게 미래를 만들어가고 있는지 알아보세요.

인공지능의 미래
를 함께 만들어 갑시다!

머신 러닝의 미래와 함께하는 여정 시작하기

무료로 시작하기
링크가 클립보드에 복사됨