Ultralytics YOLO11 모델을 NCNN 모델 형식으로 내보내기
Ultralytics YOLO11 모델을 NCNN 형식으로 내보내 제한된 전력 및 컴퓨팅 리소스를 갖춘 엣지 디바이스에서 효율적이고 지연 시간이 짧은 추론을 실행하세요.
Abirami Vina7 분 읽기
AI 솔루션은 재난 관리, 폐기물 관리, 소방과 같은 중요 분야에서도 점점 더 보편화되고 있습니다. 도입이 계속 확대되면서 AI 모델은 서버나 클라우드뿐 아니라 현장에서 작동하는 디바이스에도 배포되는 등 더욱 다양한 환경에서 사용되고 있습니다.
예를 들어, 소형 프로세서로 구동되는 엣지 구성 요소를 갖춘 드론과 장비는 재난 현장에서 중요한 역할을 할 수 있습니다. 열화상 카메라를 장착한 이러한 디바이스는 현장에서 데이터를 수집하고 분석해 잔해에 갇힌 사람을 찾을 수 있습니다. 이미지와 비디오의 시각 정보를 해석하는 인공지능의 한 분야인 컴퓨터 비전을 통해 이를 구현할 수 있습니다.
하지만 엣지 디바이스에 비전 AI 모델을 배포하는 일은 보기처럼 간단하지 않습니다. AI 모델은 컴퓨팅 성능과 메모리가 제한된 하드웨어에서 효율적으로 실행되도록 최적화해야 합니다. 따라서 NCNN과 같은 AI 프레임워크가 필수적입니다. 이러한 프레임워크는 정확도 손실을 최소화하면서 저전력 디바이스에서 실시간 성능을 발휘하도록 모델을 변환하고 최적화하는 데 도움을 줍니다.
특히 Ultralytics YOLO11과 같은 Ultralytics YOLO 모델은 Ultralytics에서 지원하는 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은 누구나 무료로 사용하고 수정하고 개선할 수 있습니다. 이를 통해 다양한 활용 사례에서 혁신과 폭넓은 도입을 촉진합니다.
- 활발한 개발 및 커뮤니티: Tencent와 성장하는 개발자 커뮤니티가 GitHub에서 NCNN을 활발하게 유지 관리하며, 정기적으로 업데이트하고 모델 호환성을 개선합니다.
Ultralytics YOLO11을 NCNN 모델 형식으로 내보내기: 빠른 안내#
NCNN이 무엇인지 살펴보았으니 이제 Ultralytics YOLO11 모델을 NCNN 형식으로 내보내는 방법을 자세히 알아보겠습니다.
1단계: Ultralytics Python 패키지 설치#
모델을 내보내기 전에 먼저 패키지 설치 도구인 pip를 사용해 Ultralytics Python 패키지를 설치해야 합니다. 터미널이나 명령 프롬프트에서 pip install ultralytics을 실행하면 됩니다. Jupyter Notebook 또는 Google Colab을 사용하는 경우 명령 앞에 느낌표를 붙여 다음과 같이 입력합니다: !pip install ultralytics.
Ultralytics 패키지는 다양한 컴퓨터 비전 작업을 위한 비전 AI 모델을 학습하고, 테스트하고, 파인 튜닝하고, 내보내는 도구를 제공합니다. 설치 중이나 모델을 내보내는 과정에서 문제가 발생하면 공식 Ultralytics 문서와 Common Issues guide가 문제 해결에 유용한 자료입니다.
2단계: Ultralytics YOLO11 내보내기#
Ultralytics 패키지를 설치한 후 YOLO11 모델을 불러와 NCNN 형식으로 내보낼 수 있습니다. 아래 예제에서는 사전 학습된 YOLO11n 모델(yolo11n.pt)을 사용해 NCNN 형식으로 내보내고, 결과를 yolo11n_ncnn_model라는 폴더에 저장합니다.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="ncnn")내보낸 Ultralytics 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. NCNN 형식으로 내보낸 Ultralytics YOLO11 모델을 사용한 객체 감지. 이미지 제공: 저자.
NCNN을 사용한 실시간 감지를 선택해야 하는 이유#
Ultralytics에서 지원하는 다양한 통합을 살펴보면 여러 내보내기 옵션이 있다는 것을 알 수 있습니다. 그렇다면 NCNN 형식은 언제 선택해야 할까요?
NCNN 내보내기 형식은 리소스가 제한된 디바이스에 Ultralytics YOLO11 모델을 배포해야 할 때 신뢰할 수 있는 선택입니다. 클라우드 연결 없이 엣지 디바이스처럼 디바이스에서 직접 실행되는 실시간 애플리케이션에 특히 유용합니다. 따라서 객체 감지와 같은 작업을 모델이 현장에서 바로 처리할 수 있습니다.
NCNN이 적합한 일반적인 사용 사례는 다음과 같습니다.
- 모바일 배포: NCNN 형식은 Android와 iOS에 최적화되어 있어 모델을 모바일 앱에 쉽게 통합하고, 지연 시간을 최소화하면서 디바이스에서 빠르게 추론할 수 있습니다.
- 임베디드 시스템 및 IoT 디바이스: Raspberry Pi 또는 NVIDIA Jetson과 같은 디바이스에 배포하는 경우 NCNN으로 내보내면 성능과 응답성을 높일 수 있습니다.
- 데스크톱 및 서버 배포: NCNN은 저전력 디바이스에 적합할 뿐 아니라 데스크톱 및 서버 환경에서 Linux, Windows, macOS도 지원합니다. 따라서 개발자는 유연한 배포 옵션을 활용할 수 있습니다.

그림 3. NCNN을 사용한 Ultralytics YOLO11 모델 배포 옵션. 이미지 제공: 저자.
NCNN을 사용한 Ultralytics YOLO11 모델 배포 사례#
이제 Ultralytics YOLO11 모델을 NCNN으로 내보내 실제로 차이를 만들 수 있는 몇 가지 실용적인 사용 사례를 살펴보겠습니다.
소방용 비전 AI 헬멧#
카메라와 임베디드 마이크로컴퓨터를 장착한 안전모는 건설 및 소방과 같은 분야에서 안전과 상황 인식을 개선하는 데 활용할 수 있습니다. Ultralytics YOLO11과 같은 실시간 비전 AI 모델을 이러한 디바이스에서 실행해 다양한 종류의 객체와 장비를 감지할 수 있습니다. 예를 들어, 이러한 헬멧은 시야가 제한된 상황에서 소방관이 사람, 장애물 또는 위험 요소를 감지하는 데 도움을 줄 수 있습니다.
하지만 웨어러블 디바이스에서 대형 모델을 직접 실행하면 성능이 저하되고 배터리가 빠르게 소모될 수 있습니다. 이 경우 NCNN 통합을 사용하는 것이 효과적입니다. 이를 통해 지연 시간이 짧고 에너지 효율적인 추론을 수행할 수 있습니다.
폐기물 분류 및 스마트 쓰레기통#
마찬가지로 스마트 쓰레기통에 카메라와 소형 엣지 AI 프로세서를 통합하면 폐기되는 자재를 식별하고 분류할 수 있습니다. YOLO11과 같은 비전 AI 모델은 종이, 플라스틱, 고무 등 다양한 폐기물 유형을 감지하도록 커스텀 학습할 수 있습니다.
폐기물을 식별한 후에는 재사용 가능성에 따라 별도의 칸으로 자동 분류할 수 있습니다. 엣지 AI와 NCNN 형식으로 내보낸 Ultralytics YOLO11 모델을 함께 사용하면 인터넷 연결 없이도 쓰레기통에서 데이터를 로컬로 처리할 수 있습니다. 이를 통해 쓰레기통이 자율적으로 작동하고 지연을 최소화하면서 실시간 분류 결정을 내릴 수 있습니다.

그림 4. YOLO11을 사용한 플라스틱 폐기물 감지.
드론과 컴퓨터 비전을 활용한 소 모니터링#
외딴 지역의 농업 지역은 안정적인 인터넷 연결은 물론 일정한 전력 공급도 이용하기 어려운 경우가 있어 온라인 AI 애플리케이션 실행에 제약이 있습니다. 이러한 경우 엣지 디바이스와 드론을 사용해 다양한 작업을 처리할 수 있습니다.
좋은 예로 소, 양, 가금류 등의 가축 모니터링이 있습니다. YOLO11과 같은 비전 AI 모델을 사용해 동물의 움직임을 추적하고, 부상이나 질병 또는 비정상적인 행동의 징후를 감지하며, 동물이 사라지면 농장주에게 알릴 수 있습니다. NCNN 통합을 사용하면 엣지 디바이스에서 이 데이터를 직접 처리하고 실행할 수 있어, 외딴 지역이나 전력망이 없는 농장의 이미지 및 동영상 분석에 적합합니다.

그림 5. YOLO11을 사용한 가축 모니터링 예시.
핵심 요점#
Ultralytics에서 지원하는 NCNN 통합 기능으로 YOLO11 모델을 내보내면 저전력 환경에 비전 AI를 간편하게 적용할 수 있습니다. 재난 지역의 드론, 스마트 폐기물 분류 쓰레기통, 외딴 농장의 가축 모니터링 등 다양한 사례에서 YOLO와 NCNN은 빠르고 효율적이며 휴대성이 뛰어난 실시간 AI 추론을 지원합니다. 이 접근 방식은 무엇보다 중요한 순간에 AI 시스템을 더 쉽게 활용하고 신뢰할 수 있게 합니다.
AI에 대해 자세히 알아보고 싶으신가요? GitHub 저장소를 살펴보고, 커뮤니티에 참여하며, 라이선스 옵션을 확인해 컴퓨터 비전 프로젝트를 시작해 보세요. 솔루션 페이지에서 리테일 분야의 AI와 헬스케어 분야의 컴퓨터 비전과 같은 혁신이 미래를 어떻게 바꾸고 있는지 알아보세요.
작성자
댓글
질문하거나 결과를 공유하거나 다른 사람을 도와주세요.










