aparsoft/yolo-streamlit-detection-tracking
Object detection and tracking algorithm implemented for Real-Time video streams and static images.
해결하는 문제
이 프로젝트는 실시간 컴퓨터 비전 작업을 위한 포괄적인 웹 기반 인터페이스를 제공합니다. 다양한 입력 소스에 맞는 복잡한 설정이나 커스텀 코드 없이도 YOLO 기반 모델을 사용하여 객체 탐지, 인스턴스 세그멘테이션, 포즈 추정, 객체 추적을 쉽게 배포하고 테스트할 수 있도록 합니다.
작동 방식
Streamlit으로 구축된 이 애플리케이션은 Ultralytics YOLO26 및 YOLO World v2 모델을 래핑하는 역할을 합니다. 모듈식 서비스 기반 아키텍처를 사용하여 다양한 추론 모드를 처리합니다:
- 이미지 추론: 업로드된 이미지 또는 기본 이미지를 처리하고, 선택한 비전 작업을 적용합니다.
- 비디오 추론: 저장된 파일, WebRTC 대응 웹캠, RTSP 스트림, YouTube URL에서 스트리밍을 처리합니다. 객체 추적을 위해 ByteTrack과 BoTSORT를 통합하고, 긴 비디오 처리 시 성능 최적화를 위해 프레임 스킵 메커니즘을 구현합니다.
- 오픈 밸류 검출: YOLO World v2를 활용하여 고정 클래스 레이블 대신 자연어 텍스트 프롬프트로 객체를 검출할 수 있도록 합니다.
대상 사용자
- 개발자 및 연구자: 다양한 미디어 유형에서 비전 모델을 빠르게 프로토타이핑하고 테스트하고 싶은 사람.
- AI 애호가: Python 스크립트를 작성하지 않고 GUI를 통해 객체 탐지 및 포즈 추정을 탐색하고 싶은 사용자.
- 배포 테스터: YOLO 모델을 사용해 브라우저 내에서 웹캠 스트림과 RTSP 스트림을 테스트하고 싶은 사람.
주요 기능
- 다중 작업 지원: 하나의 앱에서 탐지, 세그멘테이션, 포즈 추정을 통합.
- 오픈 밸류 검출: 자연어 프롬프트를 지원하여 유연한 객체 검색 가능.
- 카운팅 및 추적: 프레임별 로컬 카운팅과 누적 전역 카운팅 모두 제공.
- 유연한 비디오 소스:
streamlit-webrtc를 통한 브라우저 내장 웹캠 지원, RTSP, YouTube 통합. - 성능 조정: 1~8배의 프레임 스킵 슬라이더를 통해 비디오 처리 속도를 가속화.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트