Membongkar Roboflow Supervision Library: Toolkit Esensial untuk Visi Komputer

Membongkar Roboflow Supervision Library: Toolkit Esensial untuk Visi Komputer

By Reggi, 01 Jul 2026

Halo para pengembang dan pencinta visi komputer! Pernah merasa kewalahan saat harus mengelola berbagai aspek pengembangan proyek visi komputer Anda? Mulai dari menyiapkan data, melatih model, hingga menganalisis hasilnya, seringkali prosesnya panjang dan berliku. Nah, di sinilah Roboflow Supervision Library hadir sebagai "toolkit" penting yang siap membantu Anda.

Supervision dirancang sebagai set perkakas esensial untuk visi komputer. Fungsi utamanya adalah menyediakan blok bangunan yang Anda perlukan, mulai dari pemuatan data hingga penghitungan zona secara real-time. Dengan begitu, Anda bisa lebih fokus pada pengembangan aplikasi di sekitar model Anda, bukan terjebak dalam detail teknis yang berulang. Mari kita selami lebih dalam apa saja yang ditawarkan library ini.

Memulai dengan Supervision

Memasang Supervision sangat mudah. Anda hanya perlu menginstal paketnya menggunakan pip di lingkungan Python>=3.10.

bash
pip install supervision

Untuk detail lebih lanjut tentang instalasi melalui conda, mamba, atau dari source, Anda bisa melihat panduan lengkap mereka.

Model Agnostik: Fleksibilitas Tanpa Batas

Salah satu fitur unggulan dari Supervision adalah sifatnya yang model agnostik. Artinya, Anda bisa menyematkan model klasifikasi, deteksi, atau segmentasi apa pun. Supervision menyediakan connector untuk library populer seperti Ultralytics, Transformers, MMDetection, atau Inference. Beberapa integrasi, seperti rfdetr, bahkan sudah secara langsung mengembalikan objek sv.Detections.

Mari kita lihat contoh penggunaan rfdetr:

python
import supervision as sv from PIL import Image from rfdetr import RFDETRSmall # Pastikan Anda sudah menginstal pillow dan rfdetr: pip install pillow rfdetr image = Image.open("path/to/image.jpg") model = RFDETRSmall() detections = model.predict(image, threshold=0.5) print(len(detections)) # Output: 5

Jika Anda menggunakan Roboflow Inference, prosesnya juga cukup mulus. Anda hanya memerlukan Roboflow API KEY.

python
import supervision as sv from PIL import Image from inference import get_model # Ganti "ROBOFLOW_API_KEY" dengan kunci API Anda image = Image.open("path/to/image.jpg") model = get_model(model_id="rfdetr-small", api_key="ROBOFLOW_API_KEY") result = model.infer(image)[0] detections = sv.Detections.from_inference(result) print(len(detections)) # Output: 5

Anotator: Visualisasi Deteksi yang Jelas

Supervision menawarkan berbagai annotators yang sangat bisa disesuaikan, memungkinkan Anda membuat visualisasi yang sempurna untuk kasus penggunaan Anda. Misalnya, BoxAnnotator sangat berguna untuk menggambar bounding box hasil deteksi.

python
import cv2 import supervision as sv image = cv2.imread("path/to/image.jpg") # Asumsikan 'detections' didapatkan dari hasil model # Contoh: detections = sv.Detections(...) box_annotator = sv.BoxAnnotator() annotated_frame = box_annotator.annotate(scene=image.copy(), detections=detections) # Anda bisa menampilkan 'annotated_frame' menggunakan cv2.imshow atau menyimpannya

Manajemen Dataset: Memuat, Membagi, Menggabung, dan Menyimpan

Mengelola dataset adalah inti dari pengembangan visi komputer. Supervision menyediakan serangkaian utilitas yang memungkinkan Anda memuat, membagi, menggabungkan, dan menyimpan dataset dalam berbagai format yang didukung.

Berikut adalah gambaran kemampuan manajemen dataset di Supervision:

OperasiFungsiFormat yang Didukung
MemuatDetectionDataset.from_yolo, from_pascal_voc, from_cocoYOLO, Pascal VOC, COCO
Membagidataset.split(split_ratio=...)Umum untuk semua format
MenggabungDetectionDataset.merge([dataset1, dataset2])Umum untuk semua format
Menyimpandataset.as_yolo, as_pascal_voc, as_cocoYOLO, Pascal VOC, COCO
MengonversiMemuat dari satu format dan menyimpan ke format lainYOLO, Pascal VOC, COCO

Untuk memuat dataset, Anda bisa langsung mengunduhnya dari Roboflow:

python
import supervision as sv from roboflow import Roboflow project = Roboflow().workspace("WORKSPACE_ID").project("PROJECT_ID") dataset = project.version("PROJECT_VERSION").download("coco") ds = sv.DetectionDataset.from_coco( images_directory_path=f"{dataset.location}/train", annotations_path=f"{dataset.location}/train/_annotations.coco.json", ) # Anda bisa mengiterasi dataset atau mengakses elemennya path, image, annotation = ds[0] for path, image, annotation in ds: # Lakukan sesuatu dengan setiap gambar dan anotasi pass

Supervision juga memungkinkan Anda membagi dataset menjadi set pelatihan, pengujian, dan validasi:

python
train_dataset, test_dataset = dataset.split(split_ratio=0.7) test_dataset, valid_dataset = test_dataset.split(split_ratio=0.5) print(len(train_dataset), len(test_dataset), len(valid_dataset)) # Output: (700, 150, 150) (Contoh ukuran)

Jika Anda memiliki beberapa dataset yang ingin digabungkan, Supervision juga bisa melakukannya dengan mudah:

python
ds_1 = sv.DetectionDataset(...) # Anggap berisi 100 deteksi, kelas ['dog', 'person'] ds_2 = sv.DetectionDataset(...) # Anggap berisi 200 deteksi, kelas ['cat'] ds_merged = sv.DetectionDataset.merge([ds_1, ds_2]) print(len(ds_merged)) # Output: 300 print(ds_merged.classes) # Output: ['cat', 'dog', 'person']

Tutorial dan Studi Kasus

Tidak hanya menawarkan fitur inti, Supervision juga menyediakan berbagai tutorial, panduan, dan contoh end-to-end untuk membantu Anda memulai. Beberapa contoh studi kasus yang menarik meliputi:

  • Analisis Waktu Tunggu (Dwell Time Analysis): Pelajari cara menggunakan visi komputer untuk menganalisis waktu tunggu dan mengoptimalkan proses. Ini mencakup deteksi objek, pelacakan, dan penghitungan waktu yang dihabiskan di zona tertentu.
  • Estimasi Kecepatan & Pelacakan Kendaraan: Tutorial ini menunjukkan cara melacak dan mengestimasi kecepatan kendaraan menggunakan YOLO, ByteTrack, dan Roboflow Inference, mencakup deteksi objek, pelacakan multi-objek, transformasi perspektif, dan peningkatan visualisasi.

Proyek nyata seperti pelacakan pemain sepak bola, analisis lalu lintas, dan pemantauan kendaraan telah dibangun menggunakan Supervision, menunjukkan kemampuannya di dunia nyata.

Membangun Lebih Cepat dan Andal

Supervision adalah toolkit yang sangat berguna bagi siapa saja yang bekerja di bidang visi komputer. Dengan pendekatan model agnostik dan utilitas lengkap untuk data, model, dan visualisasi, ia mempercepat alur kerja pengembangan Anda secara signifikan. Baik Anda seorang peneliti, engineer, atau sekadar penggemar, Supervision menyediakan fondasi yang kuat untuk proyek visi komputer Anda.

Jika Anda tertarik untuk berkontribusi pada proyek ini, mereka juga memiliki panduan kontribusi yang bisa Anda ikuti.

Referensi


🔥 Sedang Ramai Dibaca