Roboflow 100 Veri Kümesi#
Intel sponsorluğundaki Roboflow 100, çığır açan bir nesne algılama kıyaslama veri kümesidir. Sağlık hizmetleri, hava görüntüleri ve video oyunları dahil olmak üzere çeşitli alanları kapsayan 100 farklı veri kümesi içerir. Bu kıyaslama, Ultralytics YOLO modelleri gibi bilgisayarlı görü modellerinin farklı alanlara uyarlanabilirliğini test etmek için özel olarak tasarlanmıştır.
Temel Özellikler#
- Çeşitli Alanlar: Yedi farklı alanda 100 veri kümesi içerir: Hava, Video Oyunları, Mikroskobik, Sualtı, Belgeler, Elektromanyetik ve Gerçek Dünya.
- Ölçek: Kıyaslama, 805 sınıfa yayılan 224.714 görüntüden oluşur ve 11.170 saati aşan veri etiketleme çalışmasını temsil eder.
- Standardizasyon: Tutarlı değerlendirme için tüm görüntüler ön işlenir ve 640x640 piksele yeniden boyutlandırılır.
- Temiz Değerlendirme: Daha temiz bir model değerlendirmesi sağlamak için sınıf belirsizliğini ortadan kaldırmaya odaklanır ve yeterince temsil edilmeyen sınıfları filtreler.
- Ek Açıklamalar: Nesneler için sınırlayıcı kutular içerir; bu kutular, mAP gibi metrikleri kullanarak nesne algılama modellerini eğitmeye ve değerlendirmeye uygundur.
Veri Kümesi Yapısı#
Roboflow 100 veri kümesi, her biri benzersiz veri kümesi, görüntü ve sınıf koleksiyonları içeren yedi kategori halinde düzenlenmiştir:
- Hava: 7 veri kümesi, 9.683 görüntü, 24 sınıf.
- Video Oyunları: 7 veri kümesi, 11.579 görüntü, 88 sınıf.
- Mikroskobik: 11 veri kümesi, 13.378 görüntü, 28 sınıf.
- Sualtı: 5 veri kümesi, 18.003 görüntü, 39 sınıf.
- Belgeler: 8 veri kümesi, 24.813 görüntü, 90 sınıf.
- Elektromanyetik: 12 veri kümesi, 36.381 görüntü, 41 sınıf.
- Gerçek Dünya: 50 veri kümesi, 110.615 görüntü, 495 sınıf.
Bu yapı, çeşitli Ultralytics Çözümleri içinde bulunan çok çeşitli gerçek dünya uygulama senaryolarını yansıtarak nesne algılama modelleri için çeşitli ve kapsamlı bir test ortamı sunar.
Kıyaslama#
Veri kümesi kıyaslaması, makine öğrenimi modellerinin belirli veri kümelerindeki performansını standartlaştırılmış metriklerle değerlendirmeyi içerir. Yaygın metrikler arasında doğruluk, Ortalama Hassasiyet (mAP) ve F1 skoru bulunur. Bunlar hakkında daha fazla bilgiyi YOLO Performans Metrikleri kılavuzumuzda bulabilirsin.
Her çıktı tek bir runs/<task>/multitrain/ dizini altında gruplanır: her veri kümesinde kendi alt dizininde (kendine ait results.png ile) ince ayar yapılır ve veri kümesi başına metrikler ile ortalama metrikler, multitrain_results.png çubuk grafiğiyle birlikte multitrain_results.json dosyasına yazılır. model.train() çağrısı, programatik erişim için bir {dataset: metrics} sözlüğü de döndürür.
Aşağıdaki betik, datasets_links.txt içinde listelenen Roboflow 100 veri kümelerini Roboflow'dan indirir, ardından tüm koleksiyon üzerinde tek bir temel modele (ör. YOLO26n) tek bir model.train() çağrısıyla ince ayar yapar. Veri kümelerinden oluşan bir liste geçirmek, temel modelde her biri için sırayla ince ayar yapar ve veri kümeleri arası sonuçları otomatik olarak görselleştirir.
import re
from pathlib import Path
from roboflow import Roboflow
from ultralytics import YOLO
from ultralytics.utils import ASSETS_URL, LOGGER, YAML
from ultralytics.utils.downloads import safe_download
# Download the RF100 datasets (requires a Roboflow API key)
rf = Roboflow(api_key="YOUR_ROBOFLOW_API_KEY")
safe_download(f"{ASSETS_URL}/datasets_links.txt") # list of RF100 dataset links
datasets = []
for line in Path("datasets_links.txt").read_text().splitlines():
try:
_, _url, workspace, project, version = re.split("/+", line.strip())
location = f"rf-100/{project}-{version}"
rf.workspace(workspace).project(project).version(version).download("yolov8", location=location)
yaml = Path(location) / "data.yaml"
cfg = YAML.load(yaml) # point train/val at the downloaded image folders
cfg["train"], cfg["val"] = "train/images", "valid/images"
YAML.save(yaml, cfg)
datasets.append(str(yaml))
except Exception as e:
LOGGER.warning(f"Failed to prepare dataset from {line!r}: {e}")
# Fine-tune one base model across all RF100 datasets and visualize the cross-dataset results
model = YOLO("yolo26n.pt")
results = model.train(data=datasets, epochs=100, imgsz=640) # {dataset: metrics}
# Per-dataset runs, multitrain_results.json (per-dataset + mean), and multitrain_results.png are saved
# together under runs/detect/multitrain. Read results in-memory or from the JSON for custom post-processing.
for dataset, metrics in results.items():
if metrics: # None if that dataset failed to train
print(f"{dataset}: mAP50-95 = {metrics['metrics/mAP50-95(B)']:.4f}")Uygulamalar#
Roboflow 100, bilgisayarlı görü ve derin öğrenme ile ilgili çeşitli uygulamalar için son derece değerlidir. Araştırmacılar ve mühendisler bu kıyaslamadan şu amaçlarla yararlanabilir:
- Nesne algılama modellerinin performansını çok alanlı bir bağlamda değerlendirmek.
- Modellerin, COCO veya PASCAL VOC gibi yaygın kıyaslama veri kümelerinin ötesindeki gerçek dünya senaryolarına uyarlanabilirliğini ve sağlamlığını test etmek.
- Sağlık hizmetleri, hava görüntüleri ve video oyunları gibi özel alanlar dahil olmak üzere çeşitli veri kümelerinde nesne algılama modellerinin yeteneklerini kıyaslamak.
- Farklı sinir ağı mimarileri ve optimizasyon teknikleri arasındaki model performansını karşılaştırmak.
- Özel model eğitimi ipuçları veya transfer öğrenimi gibi ince ayar yaklaşımları gerektirebilecek alana özgü zorlukları belirlemek.
Gerçek dünya uygulamalarına ilişkin daha fazla fikir ve ilham için uygulamalı projelere yönelik kılavuzlarımızı incele veya kolaylaştırılmış model eğitimi ve dağıtım için Ultralytics Platform'a göz at.
Kullanım#
Roboflow 100 veri kümesi; meta veriler ve indirme bağlantılarıyla birlikte resmi Roboflow 100 GitHub deposunda bulunur. Kıyaslama ihtiyaçların için veri kümesine doğrudan buradan erişebilir ve onu kullanabilirsin. Veri kümeleri yukarıda gösterildiği şekilde indirildikten ve hazırlandıktan sonra, veri kümesi YAML dosyalarının listesini geçirerek Ultralytics modellerine tüm koleksiyon üzerinde tek bir model.train() çağrısıyla ince ayar yapılabilir.
Örnek Veriler ve Açıklamalar#
Roboflow 100, çeşitli açılardan ve alanlardan yakalanmış farklı görüntülere sahip veri kümelerinden oluşur. Aşağıda, nesne ve sahne çeşitliliğini gösteren RF100 kıyaslamasına dahil edilmiş ek açıklamalı görüntü örnekleri yer alır. Veri artırma gibi teknikler, eğitim sırasında çeşitliliği daha da artırabilir.
Roboflow 100 kıyaslamasında görülen çeşitlilik, genellikle sınırlı bir alanda tek bir metriği optimize etmeye odaklanan geleneksel kıyaslamalara kıyasla önemli bir ilerlemeyi temsil eder. Bu kapsamlı yaklaşım, çok çeşitli farklı senaryolarda iyi performans gösterebilen daha sağlam ve çok yönlü bilgisayarlı görü modellerinin geliştirilmesine yardımcı olur.
Atıflar ve Teşekkürler#
Roboflow 100 veri kümesini araştırma veya geliştirme çalışmalarında kullanıyorsan lütfen özgün makaleye atıfta bulun:
@misc{rf100benchmark,
Author = {Floriana Ciaglia and Francesco Saverio Zuppichini and Paul Guerrie and Mark McQuade and Jacob Solawetz},
Title = {Roboflow 100: A Rich, Multi-Domain Object Detection Benchmark},
Year = {2022},
Eprint = {arXiv:2211.13523},
url = {https://arxiv.org/abs/2211.13523}
}Roboflow 100 veri kümesini bilgisayarlı görü topluluğu için değerli bir kaynak olarak oluşturan ve sürdüren Roboflow ekibine ve tüm katkıda bulunanlara önemli çabaları için teşekkür ederiz.
Nesne algılama ve makine öğrenimi projelerini geliştirmek için daha fazla veri kümesini keşfetmek istiyorsan, çeşitli başka algılama veri kümelerini de içeren kapsamlı veri kümesi koleksiyonumuzu ziyaret edebilirsin.
SSS#
Roboflow 100 veri kümesi, nesne algılama modelleri için bir kıyaslamadır. Sağlık hizmetleri, hava görüntüleri ve video oyunları gibi alanları kapsayan 100 farklı veri kümesinden oluşur. Önemi, geleneksel ve çoğunlukla alanla sınırlı kıyaslamaların ötesine geçerek model uyarlanabilirliğini ve sağlamlığını çok çeşitli gerçek dünya senaryolarında test etmek için standartlaştırılmış bir yöntem sunmasında yatar.
Roboflow 100 veri kümesi, nesne algılama modelleri için benzersiz zorluklar sunan yedi farklı alanı kapsar:
- Hava: 7 veri kümesi (ör. uydu görüntüleri, drone görüntüleri).
- Video Oyunları: 7 veri kümesi (ör. çeşitli oyun ortamlarındaki nesneler).
- Mikroskobik: 11 veri kümesi (ör. hücreler, parçacıklar).
- Sualtı: 5 veri kümesi (ör. deniz canlıları, su altındaki nesneler).
- Belgeler: 8 veri kümesi (ör. metin bölgeleri, form öğeleri).
- Elektromanyetik: 12 veri kümesi (ör. radar imzaları, spektral veri görselleştirmeleri).
- Gerçek Dünya: 50 veri kümesi (günlük nesneleri, sahneleri, perakendeyi vb. içeren geniş bir kategori).
Bu çeşitlilik, RF100'ü bilgisayarlı görü modellerinin genellenebilirliğini değerlendirmek için mükemmel bir kaynak haline getirir.
Roboflow 100 veri kümesini kullanırken, oluşturuculara hak ettikleri krediyi vermek için lütfen özgün makaleye atıfta bulun. Önerilen BibTeX atfı aşağıdadır:
Alıntı@misc{rf100benchmark, Author = {Floriana Ciaglia and Francesco Saverio Zuppichini and Paul Guerrie and Mark McQuade and Jacob Solawetz}, Title = {Roboflow 100: A Rich, Multi-Domain Object Detection Benchmark}, Year = {2022}, Eprint = {arXiv:2211.13523}, url = {https://arxiv.org/abs/2211.13523} }Daha fazla keşif için kapsamlı veri kümesi koleksiyonumuzu ziyaret etmeyi veya Ultralytics modelleriyle uyumlu diğer algılama veri kümelerine göz atmayı düşünebilirsin.