VIAME/VIAME
Video and Image Analytics for Multiple Environments
VIAME – DIY 컴퓨터 비전 툴킷
개요 – VIAME(Vision for Intelligent Analytic Media Extraction)은 AI 기반 비디오 및 이미지 분석 애플리케이션을 구축하기 위한 대규모 알고리즘, 파이프라인, 사용자 인터페이스를 모아 놓은 오픈소스 컴퓨터 비전 프레임워크입니다. 해양 과학 커뮤니티의 종 분석을 위해 시작되었지만 현재는 일반적이고 확장 가능한 툴킷으로 성장했습니다.
핵심 아이디어
- 파이프라인 중심: C++/Python 노드를 멀티스레드 파이프라인(Kitware의 KWIVER 기반)으로 연결합니다.
- 플러그인 아키텍처: 알고리즘(탐지기, 추적기, 필터, 측정 도구 등)은 플러그인으로 제공되며 사용자 정의 코드와 혼합할 수 있습니다.
- 이중 UI: 주석, 훈련, 시각적 검사를 위한 데스크톱 GUI(VIVIA/DIVE)와 원격 사용을 위한 웹 기반 버전을 제공합니다.
- 엔드투엔드 워크플로우: 원시 비디오 → 데이터 주석 → 모델 훈련 → 추론 → 평가 → 검색/모자이크 처리까지 완벽하게 지원합니다.
주요 기능
| 기능 | 수행할 수 있는 작업 |
|---|---|
| 객체 탐지 및 추적 | 사전 훈련된 탐지기를 실행하고, 새 모델을 훈련하고, 비디오 스트림 전반에 걸쳐 객체 트랙을 생성합니다. |
| 데이터 주석 | 경계 상자, 다각형, 스테레오 측정을 그리기 위한 대화형 도구(데스크톱 및 웹)를 제공합니다. |
| 멀티 카메라 및 스테레오 | 피드를 통합하고, 실제 크기를 측정하고, 모자이크를 생성합니다. |
| 이미지 향상 | 분석 전에 필터, 노이즈 제거, 대비 개선을 적용합니다. |
| 빠른 모델 생성 및 검색 | 작은 라벨링된 데이터 세트로 모델을 만들고 대규모 비디오 아카이브를 쿼리하는 데 사용합니다. |
| 평가 및 스코어링 | 탐지/트랙을 ground-truth CSV/COCO/JSON 형식과 비교합니다. |
| 확장 가능한 파이프라인 | C++ 또는 Python 프로세스를 임의로 결합하고 plugins/ 디렉토리에 새 플러그인을 추가할 수 있습니다. |
획득 방법
- 사전 빌드 바이너리 – Windows
.zip또는 Linux.tar.gz패키지(GPU 지원 또는 CPU 전용)는 README에 링크되어 있습니다. - Docker – 헤드리스 명령줄 컨테이너의 경우
kitware/viame:gpu-algorithms-default를 풀합니다. 전체 웹/데스크톱 이미지도 제공됩니다. - Python 패키지 –
pip install viame(Python 3.10-3.14). 패키지에는 핵심 도구를 래핑하고 추가 모델을 다운로드할 수 있는viameCLI가 포함됩니다. - 소스에서 빌드 – 저장소를 클론하고, 서브모듈을 초기화하고, 선택적 플래그(예:
VIAME_ENABLE_PYTORCH,VIAME_ENABLE_CUDA)로 CMake를 실행합니다. 정확한 명령은 Quick Build 섹션을 참조하세요.
일반적인 명령줄 워크플로우
# 환경 설정(바이너리 또는 소스 설치용)
source /opt/noaa/viame/setup_viame.sh
# 비디오에 파이프라인 실행
viame run my_pipeline.pipe video.mp4
# 라벨링된 데이터 세트로 탐지기 훈련
viame train data/ train_detector.conf
# 결과 평가
viame score detections.csv groundtruth.csv
# 추가 모델 목록 및 설치
viame add-ons
동일한 파이프라인은 viame 패키지를 통해 Python에서 호출하거나 기본 KWIVER 클래스를 가져와서 사용할 수 있습니다.
설치 하이라이트
- 약 8GB의 디스크 공간이 필요합니다.
- GPU 가속에는 NVIDIA GPU(VRAM 8GB 이상, 드라이버 ≥570.65)가 필요합니다.
- 지원 OS: Windows 7/8/10/11(64비트), Linux(RHEL, CentOS, Ubuntu), 웹 도구용 MacOS 제한 지원.
- 선택적 종속성(OpenCV, VXL, PyTorch, CUDA, TensorRT, ONNX, TensorFlow, Darknet, MATLAB)은 CMake 플래그로 전환됩니다.
문서 및 커뮤니티
- 빠른 시작 가이드와 전체 매뉴얼은 https://viame.github.io/VIAME/에서 호스팅됩니다.
- 예제 파이프라인, 튜토리얼, 플러그인 템플릿은
examples/및plugins/디렉토리에 있습니다. - 공개 주석 아카이브 및 웹 주석 도구는 https://viame.kitware.com/에서 사용할 수 있습니다.
- 프로젝트는 BSD-3 라이선스입니다. 인용 및 감사의 말은
docs/citations.md및docs/acknowledgements.md에 나열되어 있습니다.
사용 대상
- 비디오 분석용 기성 툴박스가 필요한 연구자(예: 야생동물 모니터링, 감시, 산업 검사).
- GPU 지원이 있는 C++/Python 하이브리드 프레임워크를 원하는 사용자 정의 AI 파이프라인 개발자.
- 라벨링용 GUI와 배치 처리를 위한 헤드리스 CLI가 모두 필요한 팀.
위의 모든 정보는 저장소의 README에서 직접 가져온 것이며 추가 기능은 추론되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트