전력 및 컴퓨팅 리소스가 제한된 엣지 장치에서 효율적인 저지연 AI 추론을 실행하기 위해 Ultralytics YOLO11 모델을 NCNN 모델 형식으로 내보냅니다.
전력 및 컴퓨팅 리소스가 제한된 엣지 장치에서 효율적인 저지연 AI 추론을 실행하기 위해 Ultralytics YOLO11 모델을 NCNN 모델 형식으로 내보냅니다.
AI 솔루션은 재해 관리, 폐기물 관리 및 소방과 같은 위험도가 높은 분야에서도 점점 더 보편화되고 있습니다. 도입이 계속 증가함에 따라 AI 모델은 서버나 클라우드뿐만 아니라 현장에서 작동하는 장치에서 직접 더 다양한 환경에 배포되고 있습니다.
예를 들어, 소형 프로세서로 구동되는 에지 구성 요소가 있는 드론 및 장비는 재해 지역에서 중요한 역할을 할 수 있습니다. 열화상 카메라가 장착된 이러한 장치는 현장에서 데이터를 수집하고 분석하여 잔해에 갇힌 사람들을 찾을 수 있습니다. 이는 이미지와 비디오에서 시각적 정보를 해석하는 인공 지능의 한 분야인 컴퓨터 비전을 통해 가능합니다.
그러나 엣지 장치에 Vision AI 모델을 배포하는 것은 보이는 것만큼 간단하지 않습니다. AI 모델은 컴퓨팅 성능과 메모리가 제한된 하드웨어에서 효율적으로 실행되도록 최적화되어야 합니다. 그렇기 때문에 NCNN과 같은 AI 프레임워크가 필수적입니다. 이러한 프레임워크는 정확도를 희생하지 않고 저전력 장치에서 실시간 성능을 위해 모델을 변환하고 최적화하는 데 도움이 됩니다.
특히 Ultralytics YOLO11과 같은 Ultralytics YOLO 모델은 Ultralytics에서 지원하는 NCNN 통합을 사용하여 NCNN 모델 형식으로 쉽게 내보낼 수 있습니다. YOLO11을 NCNN 모델 형식으로 변환하면 모델이 더 빠르게 실행되고 메모리 사용량이 줄어들며 정확도를 잃지 않고 다양한 장치에서 원활하게 작동할 수 있습니다.
이번 글에서는 Ultralytics에서 지원하는 NCNN 통합을 살펴보고 YOLO11 모델을 NCNN 모델 형식으로 내보내는 방법을 안내합니다. 그럼 시작해 볼까요!
NCNN은 Tencent에서 개발한 오픈 소스 신경망 추론 프레임워크입니다. 특히 모바일 및 엣지 환경을 위해 설계되었으며 최소한의 공간으로 고성능 추론을 제공합니다. 따라서 스마트폰, 드론 및 IoT(사물 인터넷) 장치와 같이 리소스가 제한된 장치에 배포하는 데 이상적입니다.
NCNN 프레임워크는 모바일 CPU(중앙 처리 장치)에 대한 효율성, 이식성 및 최적화로 인해 AI 및 딥 러닝 커뮤니티에서 인기를 얻었습니다. 개발자는 제한된 메모리 및 처리 능력을 갖춘 저렴한 장치에서 신경망 모델을 실행할 수 있습니다. 간단하고 유연하게 설계된 NCNN은 광범위한 컴퓨터 비전 모델을 지원하고 Android, Linux, iOS 및 macOS를 포함한 여러 플랫폼에서 실행됩니다.

NCNN이 영향력 있고 널리 사용되는 신경망 추론 프레임워크가 되는 주요 기능은 다음과 같습니다:
이제 NCNN이 무엇인지 논의했으니, YOLO11 모델을 NCNN 형식으로 내보내는 방법을 자세히 살펴보겠습니다.
모델을 내보내기 전에 가장 먼저 할 일은 패키지 설치 프로그램인 pip를 사용하여 Ultralytics Python 패키지를 설치하는 것입니다. 터미널이나 명령 프롬프트에서 "pip install ultralytics"를 실행하여 이를 수행할 수 있습니다. Jupyter Notebook 또는 Google Colab에서 작업하는 경우 명령어 앞에 느낌표를 추가하세요(예: "!pip install ultralytics").
Ultralytics 패키지는 다양한 컴퓨터 비전 작업을 위해 Vision AI 모델을 학습, 테스트, 미세 조정 및 내보내는 도구를 제공합니다. 설치 중 또는 모델을 내보내는 동안 문제가 발생하는 경우 공식 Ultralytics 설명서 및 일반적인 문제 가이드는 문제 해결을 위한 훌륭한 리소스입니다.
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" 폴더에 있습니다.

Ultralytics가 지원하는 다양한 통합을 살펴보면 사용 가능한 내보내기 옵션이 여러 개 있음을 알 수 있습니다. 그렇다면 언제 NCNN 형식을 선택해야 할까요?
NCNN 내보내기 형식은 제한된 리소스를 가진 장치에 YOLO11 모델을 배포해야 할 때 안정적인 선택입니다. 클라우드에 연결할 필요 없이 에지 장치와 같이 장치에서 직접 실행되는 실시간 애플리케이션에 특히 유용합니다. 즉, 모델은 현장에서 바로 객체 감지와 같은 작업을 처리할 수 있습니다.
다음은 NCNN이 적합한 일반적인 시나리오입니다.

다음으로 YOLO11 모델을 NCNN으로 내보내는 것이 실제로 어떤 차이를 만들 수 있는지에 대한 몇 가지 실제 사용 사례를 살펴보겠습니다.
카메라와 내장형 마이크로컴퓨터가 장착된 안전 헬멧은 건설 및 소방과 같은 분야에서 안전과 인식을 개선하는 데 사용할 수 있습니다. YOLO11과 같은 실시간 비전 AI 모델을 이러한 장치에서 실행하여 다양한 유형의 물체와 장비를 감지할 수 있습니다. 예를 들어, 이러한 헬멧은 소방관이 시야가 낮은 조건에서 사람, 장애물 또는 위험 요소를 감지하는 데 도움이 될 수 있습니다.
하지만 풀 사이즈 모델을 웨어러블 장치에서 직접 실행하면 성능이 저하되고 배터리가 빨리 소모될 수 있습니다. 이 경우 NCNN 통합을 사용하는 것이 현명한 선택입니다. NCNN 통합은 낮은 지연 시간과 에너지 효율적인 추론을 가능하게 합니다.
마찬가지로, 스마트 쓰레기통은 카메라 및 소형 엣지 AI 프로세서와 통합되어 버려지는 재료를 식별하고 분류할 수 있습니다. YOLO11과 같은 Vision AI 모델은 종이, 플라스틱, 고무 등과 같은 다양한 유형의 폐기물을 감지하도록 맞춤형으로 훈련할 수 있습니다.
폐기물이 식별되면 재사용 가능성에 따라 별도의 구획으로 자동 분류할 수 있습니다. NCNN 형식으로 내보낸 YOLOv8 모델과 함께 에지 AI를 사용하면 이러한 빈은 인터넷 연결 없이 로컬에서 데이터를 처리할 수 있습니다. 이를 통해 자율적으로 작동하고 지연을 최소화하면서 실시간 분류 결정을 내릴 수 있습니다.

때로는 외딴 지역의 농업 지역에서 안정적인 인터넷 연결이나 일관된 전력 공급을 이용할 수 없어 AI 애플리케이션을 온라인으로 실행하는 데 제약이 있습니다. 이러한 경우, 엣지 장치와 드론을 사용하여 다양한 작업을 처리할 수 있습니다.
좋은 예로 소, 양, 가금류와 같은 가축 모니터링을 들 수 있습니다. 이는 YOLO11과 같은 Vision AI 모델을 사용하여 수행할 수 있으며, 동물 움직임 추적, 부상, 질병 또는 비정상적인 행동 징후 감지, 동물이 사라졌을 때 농부에게 경고하는 데 사용될 수 있습니다. 또한 NCNN 통합을 통해 이러한 데이터를 엣지 장치에서 직접 실행하고 처리할 수 있으므로 외딴 지역이나 오지 지역의 농장에서 이미지 및 비디오 분석에 매우 적합합니다.

Ultralytics에서 지원하는 NCNN 통합을 사용하여 YOLO11 모델을 내보내는 것은 Vision AI를 저전력 환경에 적용하는 간단한 방법입니다. 재해 지역의 드론, 스마트 폐기물 분류함, 외딴 농장의 가축 모니터링 등 YOLO 및 NCNN은 빠르고 효율적이며 휴대 가능한 실시간 AI 추론을 가능하게 합니다. 이 접근 방식은 AI 시스템을 가장 중요할 때 더 접근하기 쉽고 안정적으로 만드는 데 도움이 됩니다.
AI에 대해 더 자세히 알고 싶으십니까? GitHub 저장소를 살펴보고, 커뮤니티에 참여하고, 라이선스 옵션을 확인하여 컴퓨터 비전 프로젝트를 시작하십시오. 솔루션 페이지에서 리테일 분야의 AI 및 헬스케어 분야의 컴퓨터 비전과 같은 혁신이 어떻게 미래를 만들어 가고 있는지 알아보십시오.