다양한 하드웨어에서 플랫폼 간 배포를 위해 ONNX 통합을 사용하여 Ultralytics YOLO11과 같은 Ultralytics YOLO 모델을 내보내는 방법을 알아보세요.

다양한 하드웨어에서 플랫폼 간 배포를 위해 ONNX 통합을 사용하여 Ultralytics YOLO11과 같은 Ultralytics YOLO 모델을 내보내는 방법을 알아보세요.
AI 솔루션이 처음 주목을 받기 시작했을 때 대부분의 모델은 통제된 환경의 강력한 서버에 배포되었습니다. 그러나 기술이 발전함에 따라 배포는 데이터 센터를 훨씬 넘어 확장되었습니다.
오늘날 AI 모델은 클라우드 서버와 데스크톱에서 스마트폰과 엣지 장치에 이르기까지 모든 곳에서 실행됩니다. 이러한 변화는 더 빠른 처리, 오프라인 기능 및 데이터가 생성되는 위치에 더 가까이에서 작동하는 더 스마트한 시스템을 지원합니다.
이것이 특히 분명한 영역 중 하나는 기계가 시각적 데이터를 해석할 수 있도록 하는 AI의 한 분야인 컴퓨터 비전입니다. 이는 안면 인식, 자율 주행 및 실시간 비디오 분석과 같은 애플리케이션을 구동하는 데 사용되고 있습니다. 이러한 사용 사례가 증가함에 따라 다양한 하드웨어 및 플랫폼에서 원활하게 실행할 수 있는 모델에 대한 필요성도 커지고 있습니다.
그러나 다양한 배포 대상에 컴퓨터 비전 모델을 배포하는 것이 항상 간단한 것은 아닙니다. 장치는 하드웨어, 운영 체제 및 지원되는 프레임워크 측면에서 다르므로 유연성과 호환성이 필수적입니다.
다양한 형식으로 Ultralytics YOLO11과 같은 컴퓨터 비전 모델을 내보낼 수 있는 옵션이 중요한 이유가 바로 여기에 있습니다. 예를 들어 Ultralytics에서 지원하는 ONNX(Open Neural Network Exchange) 통합은 학습과 배포 간의 간극을 좁히는 실용적인 방법을 제공합니다. ONNX는 모델을 프레임워크에 구애받지 않고 다양한 플랫폼에서 배포할 수 있도록 지원하는 개방형 형식입니다.
이 문서에서는 Ultralytics에서 지원하는 ONNX 통합을 자세히 살펴보고 유연한 크로스 플랫폼 배포를 위해 YOLO11 모델을 내보내는 방법을 알아봅니다.
Open Neural Network Exchange는 머신러닝 모델을 위한 표준 형식을 정의하는 오픈 소스 프로젝트입니다. 원래 Microsoft와 Facebook에서 개발했으며, 개발자는 PyTorch와 같은 하나의 프레임워크에서 모델을 학습하고 TensorFlow와 같은 다른 프레임워크에서 실행할 수 있습니다. 이를 통해 특히 컴퓨터 비전과 같은 분야에서 AI 개발이 더욱 유연하고 협업적이며 접근성이 높아집니다.
ONNX는 공통 연산자 세트와 통합 파일 형식을 제공하여 다양한 도구, 프레임워크, 런타임 및 컴파일러 간에 모델을 더 쉽게 이동할 수 있도록 합니다. 일반적으로 하나의 프레임워크에서 학습된 모델은 다른 프레임워크와 쉽게 호환되지 않지만 ONNX를 사용하면 모델을 한 번 내보내어 CPU(중앙 처리 장치), GPU(그래픽 처리 장치), 모바일 장치 또는 에지 하드웨어 등 거의 모든 곳에 배포할 수 있습니다.
또한 ONNX Runtime은 ONNX 형식으로 모델을 실행하기 위해 특별히 개발된 고성능 추론 엔진입니다. 서버, 모바일 장치 및 에지 하드웨어를 포함한 광범위한 플랫폼에서 ONNX 모델을 더 빠르고 효율적으로 실행할 수 있도록 설계되었습니다. ONNX Runtime은 PyTorch, TensorFlow, TensorFlow Lite 및 scikit-learn과 같은 널리 사용되는 프레임워크와 호환되므로 다양한 워크플로에 쉽게 통합하고 필요한 곳에 모델을 배포할 수 있습니다.
YOLO11을 ONNX 형식으로 내보내는 방법에 대해 논의하기 전에 ONNX 모델 형식의 몇 가지 주요 기능을 확인해 보겠습니다.
도구 간 전환, 다양한 장치에 배포 또는 시스템 업그레이드 등 ONNX는 모든 것이 원활하게 실행되도록 지원합니다. ONNX 모델 형식을 특별하게 만드는 요소는 다음과 같습니다.
Ultralytics YOLO11과 같은 Ultralytics YOLO 모델을 ONNX 형식으로 내보내는 것은 간단하며 몇 단계로 수행할 수 있습니다.
시작하려면 ‘pip’와 같은 패키지 관리자를 사용하여 Ultralytics Python 패키지를 설치합니다. 시작하려면 명령 프롬프트 또는 터미널에서 “pip install ultralytics” 명령을 실행하여 이 작업을 수행할 수 있습니다.
Ultralytics 패키지를 사용하면 다양한 컴퓨터 비전 작업에 대한 모델을 쉽게 학습, 테스트, 미세 조정, 내보내기 및 배포할 수 있으므로 전체 프로세스가 더 빠르고 효율적입니다. 설치하는 동안 어려움이 발생하면 일반적인 문제 가이드에서 해결 방법과 팁을 참조할 수 있습니다.
Ultralytics 패키지가 설치되면 아래 코드를 사용하여 YOLO11 모델을 로드하고 ONNX 형식으로 내보낼 수 있습니다. 이 예제에서는 사전 학습된 YOLO11 모델(yolo11n.pt)을 로드하고 ONNX 파일(yolo11n.onnx)로 내보내어 다양한 플랫폼 및 장치에서 배포할 수 있도록 합니다.
모델을 ONNX 형식으로 변환한 후에는 다양한 플랫폼에 배포할 수 있습니다.
아래 예제에서는 내보낸 YOLO11 모델(yolo11n.onnx)을 로드하고 이를 사용하여 추론을 실행하는 방법을 보여줍니다. 추론은 단순히 학습된 모델을 사용하여 새 데이터에 대한 예측을 수행하는 것을 의미합니다. 이 경우 버스 이미지의 URL을 사용하여 모델을 테스트합니다.
이 코드를 실행하면 다음 출력 이미지가 runs\detect\predict 폴더에 저장됩니다.
Ultralytics Python 패키지는 TorchScript, CoreML, TensorRT, ONNX를 포함한 다양한 형식으로 모델 내보내기를 지원합니다. 그렇다면 왜 ONNX를 선택해야 할까요?
ONNX의 가장 큰 장점은 프레임워크에 구애받지 않는 형식이라는 점입니다. 다른 많은 내보내기 형식이 특정 도구나 환경에 종속적인 반면, ONNX는 표준화된 형식과 공유된 연산자 세트를 사용합니다. 따라서 클라우드 서버, 모바일 앱, 에지 장치 등 어떤 환경에서 작업하든 이식성이 뛰어나고 하드웨어 친화적이며, 플랫폼 간 배포에 이상적입니다.
다음은 ONNX 통합이 YOLO11 프로젝트에 이상적인 선택이 될 수 있는 몇 가지 이유입니다.
다음으로 ONNX 통합을 통해 YOLO11을 배포할 수 있는 실제 응용 분야를 살펴보겠습니다.
붐비는 창고에서는 모든 제품과 패키지를 항상 주시하기 어렵습니다. 컴퓨터 비전 시스템은 작업자가 선반에서 제품을 찾고 제품 수, 유형 등과 같은 정보를 얻는 데 도움을 줄 수 있습니다. 이러한 시스템은 기업이 방대한 재고를 자동으로 관리하고 창고 작업자의 시간을 절약하는 데 도움이 될 수 있습니다.
특히 스마트 창고에서 ONNX로 내보낸 YOLO11 모델을 사용하여 카메라와 에지 장치를 통해 실시간으로 품목을 식별하고 수를 셀 수 있습니다. 내보낸 모델은 선반이나 팔레트를 스캔하여 재고 수준, 누락된 품목 또는 빈 공간을 감지하는 데 도움이 될 수 있습니다. ONNX로 내보내면 모델이 가볍고 효율적이므로 스마트 카메라와 같은 소형 에지 장치에서 직접 실행할 수 있어 고가의 서버나 지속적인 클라우드 액세스가 필요하지 않습니다.
전 세계 병원에서는 사용한 장갑과 주사기부터 수술 중에 사용한 장비(예: 일회용 또는 오염된 수술 도구(가위, 메스 등))에 이르기까지 매일 엄청난 양의 폐기물을 배출합니다. 실제로 연구에 따르면 병원은 매년 약 5백만 톤의 폐기물을 배출하며, 이는 침대 당 하루에 29파운드의 폐기물에 해당합니다.
이러한 폐기물을 적절하게 분류하는 것은 위생, 안전 및 규정 준수에 필수적입니다. ONNX 형식으로 내보낸 YOLO11 모델을 통해 병원은 폐기물 처리를 자동화하고 실시간으로 모니터링할 수 있습니다.
예를 들어 수술실이나 복도와 같은 구역의 쓰레기통 근처에 카메라를 설치하여 품목이 버려질 때 모니터링할 수 있습니다. 다양한 유형의 의료 폐기물을 인식하도록 훈련된 맞춤형 YOLO11 모델은 영상을 분석하고 버려지는 품목을 식별할 수 있습니다. 사용한 주사기가 일반 쓰레기통에 버려지는 경우와 같이 품목이 잘못된 쓰레기통에 버려지면 시스템에서 즉시 조명이나 소리로 직원에게 경고하도록 설정하여 오염을 방지하고 규정 준수를 보장할 수 있습니다.
작물을 수확하기에 적절한 시기를 아는 것은 농산물의 품질과 농장의 전반적인 생산성에 큰 영향을 미칠 수 있습니다. 전통적으로 농부들은 경험과 수동 검사에 의존했지만 최근 기술 발전으로 인해 상황이 바뀌기 시작했습니다.
이제 ONNX 형식으로 내보낸 YOLO11과 같은 컴퓨터 비전 혁신 기술을 통해 농부들은 자동화와 정밀성을 현장에 도입할 수 있습니다. 드론이나 트랙터 또는 기둥에 장착된 카메라를 사용하여 농부들은 토마토, 사과 또는 밀과 같은 작물의 이미지를 캡처할 수 있습니다. 그런 다음 YOLO11을 사용하여 색상, 크기 및 작물 분포와 같은 주요 지표를 감지할 수 있습니다. 이 정보를 바탕으로 농부들은 작물을 수확할 준비가 되었는지, 아직 익어가는 중인지, 이미 최고조에 달했는지 판단할 수 있습니다.
ONNX는 이식성, 플랫폼 간 호환성 및 프레임워크 상호 운용성과 같은 수많은 이점을 제공하지만 염두에 두어야 할 몇 가지 제한 사항이 있습니다.
Ultralytics YOLO11을 ONNX로 내보내면 훈련된 컴퓨터 비전 모델을 랩톱, 모바일 장치 또는 소형 스마트 카메라 등 거의 모든 곳에 쉽게 배포할 수 있습니다. ONNX 통합을 통해 단일 프레임워크나 플랫폼에 종속되지 않고 애플리케이션에 가장 적합한 환경에서 모델을 유연하게 실행할 수 있습니다.
이를 통해 훈련에서 실제 배포로의 전환이 더 빠르고 효율적으로 이루어집니다. 창고에서 재고를 추적하거나 병원 폐기물이 올바르게 처리되도록 하는 등, 이 설정은 시스템이 더 원활하게 실행되도록 돕고 오류를 줄이며 귀중한 시간을 절약합니다.
컴퓨터 비전 및 AI에 대해 자세히 알고 싶으십니까? GitHub 리포지토리를 살펴보고, 커뮤니티와 연결하고, 라이선스 옵션을 확인하여 컴퓨터 비전 프로젝트를 시작하십시오. 제조 분야의 AI 및 자동차 산업의 컴퓨터 비전과 같은 혁신을 탐색하고 있다면 솔루션 페이지를 방문하여 자세히 알아보십시오.