컴퓨터 비전 워크플로우를 위한 필수 도구킷 'Supervision'
roboflow/supervision
GitHub컴퓨터 비전 워크플로우 전반을 지원하는 'supervision' 라이브러리가 공개되었습니다. 데이터 로딩부터 객체 탐지, 시각화 및 실시간 분석까지 개발 과정을 통합적으로 관리해주는 필수 툴킷입니다.
- 모델 종류에 구애받지 않는(model agnostic) 구조로 다양한 AI 모델 출력을 표준화하며, 데이터셋의 로드/분할/병합 등 전용 유틸리티를 제공합니다.
- 복잡한 전처리 및 후처리 과정에서 발생하는 개발 시간을 획기적으로 줄여주어, 사용자가 핵심 비즈니스 로직 구현에만 집중하도록 워크플로우를 간소화하는 것이 가장 큰 강점입니다.
- 사용을 위해서는 Python 3.10 이상 환경이 필요하며, 특정 모델 연동이나 고급 기능을 활용하려면 관련 외부 라이브러리 설치 및 API 키 설정 등의 추가 작업이 요구될 수 있습니다.
Supervision은 컴퓨터 비전 애플리케이션 개발을 위한 핵심 도구킷으로, 데이터 로딩부터 실시간 영역 카운팅까지 전반적인 빌딩 블록을 제공합니다. 이 라이브러리는 모델에 구애받지 않도록(model agnostic) 설계되었으며, Ultralytics, Transformers, MMDetection 등 인기 있는 라이브러리에 대한 커넥터를 제공하여 다양한 AI 모델 출력을 표준화할 수 있습니다.
데이터셋 관리 측면에서 Supervision은 유틸리티를 통해 데이터를 로드, 분할, 병합하고 지원되는 형식으로 저장하는 작업을 수행합니다. 사용자는 COCO, YOLO, Pascal VOC 등 여러 포맷을 지원하며, `sv.DetectionDataset.from_coco()`와 같은 함수로 데이터셋을 불러온 후, 이를 다른 포맷으로 변환하거나(`dataset.as_yolo()`) 여러 데이터셋을 병합할 수 있습니다.
객체 탐지 결과를 시각화하기 위해 커스터마이징 가능한 어노테이터(annotators)를 활용할 수 있으며, 예를 들어 `sv.BoxAnnotator()`를 사용하여 모델 예측 결과와 원본 이미지에 바운딩 박스를 그려 표시하는 것이 가능합니다. 또한, Roboflow Inference 키를 이용해 외부 모델로부터 결과를 받아오는 과정도 지원하여 워크플로우의 연속성을 높입니다.
용어 풀이
- API
- 프로그램끼리 기능을 주고받는 약속된 창구. AI 모델은 보통 API로 불러 써요.