우리는 컴퓨터 비전 (Computer Vision)을 위한 필수 툴킷입니다. 데이터 로딩부터 실시간 구역 카운팅 (zone counting)까지, 여러분이 모델을 중심으로 애플리케이션을 구축하는 데 집중할 수 있도록 빌딩 블록을 제공합니다. 🤝
Python>=3.9 환경에서 supervision 패키지를 pip로 설치하세요.
pip install supervision
conda, mamba 및 소스 설치에 관한 자세한 내용은 가이드를 참조하세요.
Supervision은 모델 불가지론적 (model agnostic)으로 설계되었습니다. 어떤 분류 (classification), 탐지 (detection) 또는 세그멘테이션 (segmentation) 모델이든 바로 연결하여 사용하세요. 사용자의 편의를 위해 Ultralytics, Transformers, MMDetection 또는 Inference와 같은 가장 인기 있는 라이브러리를 위한 커넥터 (connectors)를 제작했습니다. rfdetr와 같은 다른 통합 도구들은 이미 sv.Detections를 직접 반환합니다.
이 예제를 위한 선택적 의존성 (optional dependencies)은 pip install pillow rfdetr로 설치하세요.
import supervision as sv
from PIL import Image
from rfdetr import RFDETRSmall
...
👉 더 많은 모델 커넥터 (more model connectors)
inference
Inference로 실행하려면 Roboflow API KEY가 필요합니다.
import supervision as sv from PIL import Image from inference import get_model image = Image.open(...) model = get_model(model_id="rfdetr-small", api_key="ROBOFLOW_API_KEY") result = model.infer(image)[0] detections = sv.Detections.from_inference(result) len(detections) # 5
Supervision은 광범위하고 높은 커스터마이징이 가능한 어노테이터 (annotators)를 제공하여, 사용자의 사용 사례에 맞는 완벽한 시각화를 구성할 수 있도록 합니다.
import cv2
import supervision as sv
image = cv2.imread(...)
...
supervision-0.16.0-annotators.mp4
Supervision은 지원되는 형식 중 하나로 데이터셋을 로드, 분할, 병합 및 저장할 수 있는 유틸리티 (utils) 세트를 제공합니다.
import supervision as sv
from roboflow import Roboflow
project = Roboflow().workspace("WORKSPACE_ID").project("PROJECT_ID")
...
👉 더 많은 데이터셋 유틸리티 (more dataset utils)
load
dataset = sv.DetectionDataset.from_yolo( images_directory_path=..., annotations_directory_path=..., data_yaml_path=..., )
dataset = sv.DetectionDataset.from_pascal_voc( images_directory_path=..., annotations_directory_path=..., )
dataset = sv.DetectionDataset.from_coco( images_directory_path=..., annotations_path=..., )
split
train_dataset, test_dataset = dataset.split(split_ratio=0.7)
test_dataset, valid_dataset = test_dataset.split(split_ratio=0.5)
len(train_dataset), len(test_dataset), len(valid_dataset) # (700, 150, 150)
merge
ds_1 = sv.DetectionDataset(...)
len(ds_1) # 100
ds_1.classes # ['dog', 'person']
ds_2 = sv.DetectionDataset(...)
len(ds_2) # 200
ds_2.classes # ['cat']
ds_merged = sv.DetectionDataset.merge([ds_1, ds_2])
len(ds_merged) # 300
ds_merged.classes # ['cat', 'dog', 'person']
save
dataset.as_yolo(
images_directory_path=..., annotations_directory_path=..., data_yaml_path=...,
)
dataset.as_pascal_voc(
images_directory_path=..., annotations_directory_path=...,
)
dataset.as_coco(
images_directory_path=..., annotations_path=...,
)
convert
sv.DetectionDataset.from_yolo(
images_directory_path=..., annotations_directory_path=..., data_yaml_path=...,
).as_pascal_voc(
images_directory_path=..., annotations_directory_path=...,
)
Supervision 사용법을 배우고 싶으신가요? 우리의 가이드(how-to guides), 엔드 투 엔드(end-to-end) 예제, 치트 시트(cheatsheet), 그리고 쿡북(cookbooks)을 살펴보세요!
컴퓨터 비전(Computer Vision)을 활용한 체류 시간 분석 | 실시간 스트림 처리 (Real-Time Stream Processing)
생성일: 2024년 4월 5일
컴퓨터 비전(Computer Vision)을 사용하여 대기 시간을 분석하고 프로세스를 최적화하는 방법을 배워보세요. 이 튜토리얼은 객체 탐지(Object Detection), 추적(Tracking), 그리고 지정된 구역 내에서 소비된 시간을 계산하는 내용을 다룹니다. 이러한 기술을 사용하여 소매업, 교통 관리 또는 기타 시나리오에서 고객 경험을 개선해 보세요.
속도 추정 및 차량 추적 | 컴퓨터 비전 (Computer Vision) | 오픈 소스 (Open Source)
생성일: 2024년 1월 11일
YOLO, ByteTrack, 그리고 Roboflow Inference를 사용하여 차량을 추적하고 속도를 추정하는 방법을 배워보세요. 이 종합적인 튜토리얼은 객체 탐지 (Object Detection), 다중 객체 추적 (Multi-Object Tracking), 탐지 결과 필터링 (Filtering Detections), 투영 변환 (Perspective Transformation), 속도 추정 (Speed Estimation), 시각화 개선 (Visualization Improvements) 등을 다룹니다.
supervision을 사용하여 멋진 것을 만드셨나요? 저희에게 알려주세요!
traffic_analysis_result.mov
vehicles-step-7-new.mp4
supervision이 어떻게 컴퓨터 비전 (Computer Vision) 애플리케이션을 더 빠르고 안정적으로 구축할 수 있도록 돕는지 알아보려면 저희의 문서 (Documentation) 페이지를 방문하세요.
여러분의 의견을 환영합니다! 시작하려면 저희의 기여 가이드 (Contributing Guide)를 확인해 주세요. 모든 기여자 분들께 감사드립니다! 🙏