녹색 확인
링크가 클립보드에 복사됨

Streamlit 및 Ultralytics YOLO11 대화형 AI 앱YOLO11

Streamlit 인터페이스 내에서 YOLO11 추론을 실행하고 코딩 전문 지식 없이도 컴퓨터 비전 작업을 위한 대화형 AI 인터페이스를 구축하는 방법을 알아보세요.

컴퓨터 비전 모델은 기계가 시각 데이터를 해석하고 분석하여 물체 감지, 이미지 분류, 인스턴스 세분화와 같은 작업을 높은 정확도로 수행할 수 있게 해주는 영향력 있는 AI 툴입니다. 하지만 더 많은 사람들이 사용할 수 있도록 배포하고 접근하기 위해서는 웹 개발이나 모바일 앱 기술과 같은 추가적인 기술 전문 지식이 필요할 수 있습니다.

Take Ultralytics YOLO11을 예로 들어보겠습니다. 이 모델은 다양한 작업을 지원하며 다양한 애플리케이션에서 유용하게 사용할 수 있는 모델입니다. 하지만 기술적 프런트엔드 지식이 없으면 원활한 상호 작용을 위한 사용자 친화적인 인터페이스를 구축하고 배포하는 것이 일부 AI 엔지니어에게는 다소 어렵게 느껴질 수 있습니다.

Streamlit은 이 과정을 더 쉽게 만드는 것을 목표로 하는 오픈 소스 프레임워크입니다. 복잡한 프론트엔드 개발 없이 인터랙티브 애플리케이션을 구축할 수 있는 Python 도구입니다. YOLO11 함께 사용하면 사용자가 최소한의 노력으로 이미지를 업로드하고, 동영상을 처리하고, 실시간 결과를 시각화할 수 있습니다.

Ultralytics 라이브 추론 솔루션으로 한 단계 더 나아가 Streamlit을 더욱 쉽게 통합할 수 있도록 지원합니다. 사용자는 명령 한 번으로 사전 구축된 YOLO11 Streamlit 앱을 실행할 수 있으므로 수동 설정과 코딩이 필요 없습니다. 

이 글에서는 실시간 AI 배포를 더 빠르고 쉽게 할 수 있도록 해주는 Streamlit과 함께 Ultralytics라이브 추론 솔루션을 사용하여 YOLO11 설정하고 실행하는 방법을 안내합니다.

스트림릿이란 무엇인가요?

Streamlit은 대화형 웹 애플리케이션 생성을 간소화하는 Python 프레임워크입니다. AI 개발자는 복잡한 프런트엔드 개발 과정을 거치지 않고도 AI 기반 앱을 구축할 수 있습니다. 

AI 및 머신 러닝 모델과 원활하게 작동하도록 설계되었습니다. 개발자는 단 몇 줄의 Python 사용자가 이미지를 업로드하고, 동영상을 처리하고, AI 모델과 상호 작용할 수 있는 인터페이스를 만들 수 있습니다.

그림 1. Streamlit의 주요 기능. 작성자 이미지.

주요 기능 중 하나는 동적 렌더링입니다. 사용자가 변경을 하면 수동으로 페이지를 다시 로드할 필요 없이 앱이 자동으로 업데이트됩니다.

또한 가볍고 사용하기 쉬워 로컬 머신과 클라우드 플랫폼 모두에서 효율적으로 실행됩니다. 따라서 AI 애플리케이션을 배포하고, 다른 사람들과 모델을 공유하며, 직관적인 대화형 사용자 경험을 제공하는 데 탁월한 선택이 될 수 있습니다.

Ultralytics YOLO11: 다용도 비전 AI 모델

Streamlit 애플리케이션에서 실시간 Ultralytics 실행하는 방법에 대해 자세히 알아보기 전에, YOLO11 안정성을 높이는 요인을 자세히 살펴보겠습니다.

Ultralytics YOLO11 객체 감지, 인스턴스 분할, 포즈 추정과 같은 실시간 컴퓨터 비전 작업을 위해 설계된 모델입니다. 인상적인 정확도로 고속 성능을 제공합니다.

그림 2. 물체 감지에 YOLO11 사용한 예시.

YOLO11가장 큰 장점 중 하나는 사용 편의성입니다. 개발자는 복잡한 설정이 필요 없으며, Ultralytics Python 패키지를 설치한 후 몇 줄의 코드만으로 예측을 시작할 수 있습니다.

사용자가 모델을 미세 조정하고 탐지 설정을 조정할 수 있는 다양한 기능을 제공하는 Ultralytics Python 패키지입니다. 또한 다양한 디바이스에서 성능을 최적화하여 보다 원활하게 배포할 수 있도록 도와줍니다.

유연성 외에도, Ultralytics Python 패키지는 엣지 디바이스, 클라우드 환경, NVIDIA GPU 시스템을 비롯한 여러 플랫폼에 대한 통합을 지원합니다. 소형 임베디드 디바이스에 배포하든 대규모 클라우드 서버에 배포하든 YOLO11 손쉽게 적응할 수 있어 고급 비전 AI를 그 어느 때보다 쉽게 이용할 수 있습니다.

스트림릿과 Ultralytics YOLO11 사용의YOLO11

스트림릿이 나에게 적합한 배포 옵션인지 어떻게 알 수 있을까요? 프론트엔드 개발 없이 간단하고 코드 효율적인 방법으로 YOLO11 실행할 방법을 찾고 있다면, 특히 프로토타이핑, 개념 증명(PoC) 프로젝트 또는 소수의 사용자를 대상으로 하는 배포에 Streamlit이 좋은 옵션입니다.

불필요한 복잡성을 없애고 실시간 상호작용을 위한 직관적인 인터페이스를 제공하여 YOLO11 작업 프로세스를 간소화합니다. 다른 주요 장점은 다음과 같습니다:

  • 사용자 지정 가능한 AI 컨트롤: 인터페이스에 슬라이더, 드롭다운, 버튼을 추가하여 사용자가 감지 설정을 미세 조정하고 특정 개체를 쉽게 필터링할 수 있습니다.
    ↪CF_200D↩
  • 다른 AI 도구와의 통합: Streamlit은 NumPy, OpenCV, Matplotlib 및 기타 머신러닝 라이브러리와의 통합을 지원하여 AI 워크플로우 기능을 향상시킵니다.
  • 대화형 데이터 시각화: 차트 및 그래프에 대한 기본 지원으로 사용자는 개체 감지, 세분화 결과 또는 추적 인사이트를 손쉽게 시각화할 수 있습니다.
    ↪f_200D↩
  • 협업 친화적: 간단한 링크를 통해 팀원, 이해관계자 또는 고객과 Streamlit 앱을 쉽게 공유할 수 있어 즉각적인 피드백과 반복 작업을 수행할 수 있습니다.

Streamlit 웹 앱에 YOLO11 배포하는 단계별 가이드

이제 YOLO11 함께 Streamlit을 사용하면 얻을 수 있는 이점을 살펴보았으니, 이제 브라우저에서 실시간 컴퓨터 비전 작업을 실행하는 방법을 살펴봅시다.

Ultralytics Python 패키지 설치

첫 번째 단계는 Ultralytics Python 패키지를 설치하는 것입니다. 다음 명령을 사용하여 설치할 수 있습니다:

1# Install the ultralytics package from PyPI
2pip install ultralytics

설치가 완료되면 복잡한 설정 없이 YOLO11 바로 사용할 수 있습니다. 필요한 패키지를 설치하는 동안 문제가 발생하면 일반적인 문제 가이드를 참조하여 문제 해결 팁과 해결 방법을 확인할 수 있습니다.

YOLO11 Streamlit 애플리케이션 시작하기 

일반적으로 YOLO11 실행하려면 Streamlit 구성 요소를 사용하여 Python 스크립트를 개발해야 합니다. 하지만, Ultralytics Streamlit으로 YOLO11 실행하는 간단한 방법을 제공합니다. 

다음 Python 스크립트를 실행하면 기본 웹 브라우저에서 Streamlit 애플리케이션이 즉시 실행됩니다:

1from ultralytics import solutions
2
3inf = solutions.Inference(
4    model="yolo11n.pt",  # you can use any model that Ultralytics support, i.e. YOLO11, or custom trained model
5)
6
7inf.inference()
8
9### Make sure to run the file using command `streamlit run <file-name.py>`

추가 구성이 필요하지 않습니다. Streamlit 애플리케이션 인터페이스에는 이미지 및 동영상 업로드 섹션, 관심 있는 YOLO11 모델 변형을 선택할 수 있는 드롭다운 메뉴, 탐지 신뢰도를 조정하는 슬라이더가 포함되어 있습니다. 모든 것이 깔끔하게 정리되어 있어 사용자가 추가 코드를 작성하지 않고도 손쉽게 추론을 실행할 수 있습니다.

Streamlit 애플리케이션에서 YOLO11 사용하여 추론 실행하기

이제 웹 브라우저에서 Streamlit 애플리케이션이 실행 중이므로 이를 사용하여 YOLO11 추론을 실행하는 방법을 살펴보겠습니다.

예를 들어 물체 감지를 위해 비디오 파일을 분석하고 싶다고 가정해 보겠습니다. 다음은 파일을 업로드하고, 모델을 선택하고, 실시간 결과를 확인하는 단계입니다:

  • 동영상 파일을 업로드합니다: 사용자 구성 드롭다운에서 '동영상'을 선택하면 애플리케이션이 웹캠 피드 대신 미리 녹화된 파일을 처리하도록 지시합니다.
  • YOLO11 모델을 선택합니다: 대형 YOLO11 모델을 사용하여 객체를 감지하려면 모델 드롭다운에서 'YOLO11l'을 선택합니다.
    ↪cf_200D↩
  • 감지 프로세스를 시작합니다: "시작"을 클릭하면 YOLO11 비디오를 프레임별로 분석하고 실시간으로 객체를 감지할 수 있습니다.
    ↪f_200D↩
  • 처리된 동영상을 봅니다: 동영상이 실시간 업데이트와 함께 화면에 표시되고 감지된 개체가 경계 상자와 함께 표시되는 것을 확인하세요.
    ↪cf_200D↩
  • Streamlit에서 결과와 상호작용하세요: 별도의 설정이나 코딩 없이 인터페이스를 사용하여 설정을 조정하거나 탐지를 분석할 수 있습니다.
그림 3. Ultralytics YOLO Streamlit 애플리케이션 인터페이스.

Streamlit 및 YOLO11 사용한 사용 사례

스트림릿이 프로토타입, 연구 도구, 중소규모 애플리케이션을 제작하는 데 얼마나 유용한지 살펴봤습니다. 복잡한 프런트엔드 개발 없이도 AI 모델을 배포할 수 있는 간단한 방법을 제공합니다.

그러나 위의 단계에서 설정한 Ultralytics YOLO 스트림릿 애플리케이션을 사용하지 않는 한, 스트림릿으로 YOLO11 실행하는 것이 항상 즉시 사용 가능한 솔루션은 아닙니다. 대부분의 경우, 특정 요구 사항에 맞게 애플리케이션을 사용자 지정하려면 약간의 개발 작업이 필요합니다. Streamlit은 배포를 간소화하지만, YOLO11 원활하게 실행되도록 하기 위해 여전히 필요한 구성 요소를 구성해야 합니다.

실제 시나리오에서 Streamlit과 함께 Ultralytics YOLO11 효과적으로 배포하는 방법에 대한 두 가지 실제 사례를 살펴보겠습니다.

YOLO11 사용하여 재고 확인을 위한 개체 수 세기

소매점, 창고 또는 사무용품 구역에서 재고를 추적하는 것은 시간이 많이 걸리고 오류가 발생하기 쉽습니다. Streamlit과 함께 YOLO11 사용하면 빠르고 효율적으로 개체 계산을 자동화할 수 있으므로 대규모 배포에 앞서 개념 증명(PoC)을 위한 훌륭한 옵션이 될 수 있습니다.

이 설정을 통해 사용자는 이미지를 업로드하거나 실시간 카메라 피드를 사용할 수 있으며, YOLO11 물체를 즉시 감지하고 카운트할 수 있습니다. 실시간 카운트는 Streamlit 인터페이스에 표시되어 수작업 없이도 재고 수준을 쉽게 모니터링할 수 있습니다.

예를 들어, 매장 소유자는 선반을 스캔하여 수동으로 세지 않고도 병, 상자 또는 포장된 상품이 몇 개 있는지 즉시 확인할 수 있습니다. YOLO11 Streamlit을 활용하면 기업은 최소한의 투자로 수작업을 줄이고 정확도를 개선하며 자동화를 모색할 수 있습니다.

그림 4. YOLO11 사용하여 냉장고에서 병 감지하기.

YOLO11 및 Streamlit으로 보안 강화하기

사무실, 창고 또는 이벤트 장소의 제한 구역을 안전하게 유지하는 것은 특히 수동 모니터링으로는 어려울 수 있습니다. Streamlit과 함께 YOLO11 사용하면 기업은 간단한 AI 기반 보안 시스템을 설정하여 실시간으로 무단 액세스를 감지할 수 있습니다.

카메라 피드를 스트림라이트 인터페이스에 연결하면 YOLO11 사용하여 제한 구역에 들어오는 사람을 식별하고 추적할 수 있습니다. 권한이 없는 사람이 감지되면 시스템에서 경고를 트리거하거나 검토를 위해 이벤트를 기록할 수 있습니다.

예를 들어, 창고 관리자는 보안이 엄격한 보관 구역에 대한 접근을 모니터링하거나 사무실에서는 지속적인 감독 없이도 제한된 구역의 이동을 추적할 수 있습니다.

이는 대규모의 완전 자동화된 시스템을 도입하기 전에 Vision AI 기반 보안 모니터링을 탐색하고자 하는 기업에게 주목할 만한 프로젝트가 될 수 있습니다. YOLO11 Streamlit을 통합함으로써 기업은 보안을 강화하고 수동 모니터링을 최소화하며 무단 액세스에 보다 효과적으로 대응할 수 있습니다.

Streamlit으로 대화형 AI 앱을 모니터링하기 위한 팁

Streamlit과 같은 도구를 사용하여 컴퓨터 비전 모델을 배포하면 대화형 사용자 친화적인 환경을 만드는 데 도움이 됩니다. 하지만 라이브 인터페이스를 설정한 후에는 시스템이 효율적으로 실행되고 시간이 지남에 따라 정확한 결과를 제공하는지 확인하는 것이 중요합니다.

다음은 배포 후 고려해야 할 몇 가지 주요 요소입니다:

  • 정기 모니터링: 탐지 정확도, 추론 속도, 리소스 사용량을 추적합니다. 성능이 저하되는 경우 모델 매개변수를 조정하거나 하드웨어를 업그레이드하세요.
  • 여러 사용자 및 확장성 관리 사용자 수요가 증가함에 따라 인프라를 최적화하는 것이 성능 유지의 핵심입니다. 클라우드 플랫폼과 확장 가능한 배포 솔루션은 원활한 운영을 보장합니다.
  • 모델을 최신 상태로 유지합니다: 모델과 라이브러리를 업데이트하면 정확성, 보안 및 새로운 기능에 대한 액세스가 향상됩니다.

주요 요점

Ultralytics 코딩 없이도 명령 한 번으로 실행되는 즉시 사용 가능한 Streamlit 라이브 인터페이스를 통해 YOLO11 배포를 간소화합니다. 따라서 사용자는 실시간 개체 감지를 즉시 사용할 수 있습니다.

또한 이 인터페이스에는 사용자 지정 기능이 내장되어 있어 사용자가 모델을 전환하고, 감지 정확도를 조정하고, 개체를 필터링하는 작업을 쉽게 수행할 수 있습니다. 모든 것이 간단하고 사용자 친화적인 인터페이스 내에서 관리되므로 수동 UI 개발이 필요하지 않습니다. 다음을 결합하여

기업 및 개발자는 Streamlit의 간편한 배포 기능을 갖춘 YOLO11기능을 통해 AI 기반 애플리케이션을 신속하게 프로토타이핑하고, 테스트하고, 개선할 수 있습니다. 

유니티 커뮤니티의 일원이 되어 GitHub 리포지토리를 살펴보고 AI에 대한 더 많은 인사이트를 얻으세요. 솔루션 페이지에서 제조 분야의 AI와 의료 분야의 컴퓨터 비전과 같은 혁신에 대해 자세히 알아보세요. 라이선스 옵션을 확인하고 지금 바로 시작하세요!

Facebook 로고트위터 로고LinkedIn 로고복사 링크 기호

이 카테고리에서 자세히 보기

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

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