Roboflow 100 Veri Kümesi#
Intel tarafından desteklenen Roboflow 100, çığır açan bir nesne tespiti kıyaslama veri setidir. 100 farklı veri seti içerir. Bu kıyaslama; sağlık hizmetleri, hava görüntüleri ve video oyunları gibi çeşitli alanlarda Ultralytics YOLO modelleri gibi bilgisayarlı görü modellerinin uyarlanabilirliğini test etmek için özel olarak tasarlanmıştır.
Ultralytics, farklı kullanım senaryolarına uyum sağlamak için iki lisanslama seçeneği sunar:
- AGPL-3.0 Lisansı: Bu OSI onaylı açık kaynaklı lisans, öğrenciler ve meraklılar için ideal olup açık iş birliğini ve bilgi paylaşımını teşvik eder. Daha fazla ayrıntı için LICENSE dosyasına bakın ve AGPL-3.0 Lisansı sayfamızı ziyaret edin.
- Kurumsal Lisans: Geliştirme ve üretim kullanımı için bu lisans, AGPL-3.0'ın açık kaynak gereksinimlerini atlayarak dahili araçlar, otomatik iş akışları ve üretim dağıtımları dahil olmak üzere Ultralytics yazılımının ve yapay zeka modellerinin iş ürünlerine ve hizmetlerine sorunsuz bir şekilde entegre edilmesini sağlar. Başlamak için lütfen Ultralytics Licensing aracılığıyla bizimle iletişime geç.
Temel Özellikler#
- Çeşitli Alanlar: Hava, Video oyunları, Mikroskobik, Sualtı, Belgeler, Elektromanyetik ve Gerçek Dünya olmak üzere yedi farklı alanda 100 veri kümesi içerir.
- Ölçek: Kıyaslama, 11.170 saatten fazla veri etiketleme çabasını temsil eden 805 sınıf genelinde 224.714 görüntü içermektedir.
- Standardizasyon: Tüm görüntüler ön işleme tabi tutulur ve tutarlı bir değerlendirme için 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.
- Etiketler: mAP gibi metrikleri kullanarak nesne tespiti modellerini eğitmek ve değerlendirmek için uygun olan, nesneler için sınırlayıcı kutular içerir.
Veri Kümesi Yapısı#
Roboflow 100 veri kümesi, her biri benzersiz bir veri kümesi, görüntü ve sınıf koleksiyonu içeren yedi kategoriye ayrılmıştır:
- 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 Solutions içinde bulunan geniş bir gerçek dünya uygulama senaryoları yelpazesini yansıtarak nesne tespiti modelleri için zengin ve kapsamlı bir test alanı sağlar.
Kıyaslama#
Veri seti kıyaslaması, standartlaştırılmış metrikler kullanarak makine öğrenimi modellerinin belirli veri setlerindeki performansını değerlendirmeyi içerir. Yaygın metrikler arasında doğruluk, Ortalama Duyarlılık (mAP) ve F1 skoru yer alır. Bunlar hakkında daha fazla bilgiyi YOLO Performans Metrikleri kılavuzumuzda bulabilirsin.
Her çıktı tek bir runs/<task>/multitrain/ dizini altında gruplandırılır: her veri seti kendi alt dizininde (kendi results.png ile birlikte) ince ayardan geçirilir ve veri seti başına olan ile ortalama metrikler, bir multitrain_results.png çubuk grafiğinin yanı sıra multitrain_results.json konumuna yazılır. model.train() çağrısı ayrıca programatik erişim için bir {dataset: metrics} sözlüğü döndürür.
Aşağıdaki komut dosyası, datasets_links.txt içinde listelenen Roboflow 100 veri setlerini Roboflow'dan indirir, ardından tek bir model.train() çağrısında tüm koleksiyon boyunca tek bir taban modeli (örn. YOLO26n) ince ayardan geçirir. Bir veri seti listesi geçirmek, taban modelini her birinde seri olarak ince ayardan geçirir ve çapraz veri seti sonuçlarını 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, bilgisayarla görü ve derin öğrenme ile ilgili çeşitli uygulamalar için paha biçilmezdir. Araştırmacılar ve mühendisler şu amaçlarla bu kıyaslamadan yararlanabilir:
- Nesne algılama modellerinin performansını çok alanlı bir bağlamda değerlendirmek.
- Yaygın benchmark datasets gibi COCO veya PASCAL VOC ötesinde modellerin gerçek dünya senaryolarına uyarlanabilirliğini ve robustness değerini test et.
- Sağlık hizmetleri, hava görüntüleri ve video oyunları gibi özel alanlar da dahil olmak üzere çeşitli veri kümeleri üzerinde nesne algılama modellerinin yeteneklerini kıyaslamak.
- Model performansını farklı sinir ağı mimarileri ve optimizasyon teknikleri arasında karşılaştırın.
- Özel model eğitimi ipuçları veya aktarımlı öğrenme gibi ince ayar yaklaşımları gerektirebilecek alana özgü zorlukları belirle.
Gerçek dünya uygulamalarına dair daha fazla fikir ve ilham için pratik projelere yönelik kılavuzlarımızı incele veya kolaylaştırılmış model eğitimi ile dağıtım için Ultralytics Platform göz at.
Kullanım#
Meta veriler ve indirme bağlantıları dahil olmak üzere Roboflow 100 veri seti, resmi Roboflow 100 GitHub deposunda mevcuttur. Kıyaslama ihtiyaçların için veri setine doğrudan buradan erişebilir ve kullanabilirsin. Veri setleri yukarıda gösterildiği gibi indirilip hazırlandıktan sonra, veri seti YAML'lerinin listesi geçirilerek tek bir model.train() çağrısında Ultralytics modelleri tüm koleksiyon boyunca ince ayardan geçirilebilir.
Örnek Veriler ve Etiketler#
Roboflow 100, çeşitli açılardan ve alanlardan yakalanmış farklı görüntülere sahip veri setlerinden oluşur. Aşağıda RF100 kıyaslamasında yer alan, nesne ve sahne çeşitliliğini sergileyen açıklamalı görüntü örnekleri bulunmaktadı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 göre önemli bir ilerlemeyi temsil eder. Bu kapsamlı yaklaşım, çok sayıda farklı senaryoda iyi performans gösterebilen daha sağlam ve çok yönlü bilgisayarla görü modelleri geliştirmeye yardımcı olur.
Alıntılar ve Teşekkür#
Roboflow 100 veri kümesini araştırma veya geliştirme çalışmalarında kullanıyorsan, lütfen orijinal 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şturma ve sürdürmedeki önemli çabaları için Roboflow ekibine ve tüm katkıda bulunanlara minnettarız.
Nesne tespiti ve makine öğrenimi projelerini geliştirmek için daha fazla veri seti keşfetmekle ilgileniyorsan, çeşitli diğer tespit veri setlerini içeren kapsamlı veri seti koleksiyonumuzu ziyaret etmekten çekinme.
SSS#
Roboflow 100 veri kümesi nedir ve nesne algılama için neden önemlidir?#
Roboflow 100 veri seti, nesne tespiti modelleri için bir kıyaslamadır. Sağlık, hava görüntüleri ve video oyunları gibi alanları kapsayan 100 farklı veri seti içerir. Önemi, geleneksel ve genellikle alanla sınırlı kıyaslamaların ötesine geçerek modelin uyarlanabilirliğini ve sağlamlığını çok çeşitli gerçek dünya senaryolarında test etmek için standartlaştırılmış bir yol sağlamasında yatar.
Roboflow 100 veri kümesi hangi alanları kapsar?#
Roboflow 100 veri seti yedi farklı alanı kapsar ve nesne tespiti modelleri için benzersiz zorluklar sunar:
- Hava: 7 veri kümesi (örneğin, uydu görüntüleri, dron görünümleri).
- Video Oyunları: 7 veri kümesi (örneğin, çeşitli oyun ortamlarından nesneler).
- Mikroskobik: 11 veri kümesi (örneğin, hücreler, parçacıklar).
- Sualtı: 5 veri kümesi (örneğin, deniz yaşamı, su altındaki nesneler).
- Belgeler: 8 veri kümesi (örneğin, metin bölgeleri, form öğeleri).
- Elektromanyetik: 12 veri kümesi (örneğin, radar imzaları, spektral veri görselleştirmeleri).
- Gerçek Dünya: 50 veri kümesi (günlük nesneler, sahneler, perakende vb. içeren geniş bir kategori).
Bu çeşitlilik, RF100'ü bilgisayarla görü modellerinin genelleştirilebilirliğini değerlendirmek için mükemmel bir kaynak haline getirir.
Araştırmamda Roboflow 100 veri kümesine atıfta bulunurken neleri dahil etmeliyim?#
Roboflow 100 veri kümesini kullanırken, oluşturuculara kredi vermek için lütfen orijinal makaleye atıfta bulun. Önerilen BibTeX alıntısı şöyledir:
@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 seti koleksiyonumuzu ziyaret etmeyi veya Ultralytics modelleriyle uyumlu diğer tespit veri setlerine göz atmayı düşünebilirsin.