İçeriğe geç

Roboflow 100 Veri Kümesi

Roboflow 100, sponsorluğunda Intel, çığır açan bir nesne algılama kıyaslama veri kümesidir. Roboflow Universe'de bulunan 90.000'den fazla halka açık veri kümesinden örneklenen 100 farklı veri kümesi içerir. Bu kıyaslama, Ultralytics YOLO modelleri gibi bilgisayarla görme modellerinin sağlık hizmetleri, hava görüntüleri ve video oyunları gibi çeşitli alanlara uyarlanabilirliğini test etmek için özel olarak tasarlanmıştır.

Lisanslama

Ultralytics , farklı kullanım durumlarını karşılamak için iki lisanslama seçeneği sunar:

  • AGPL-3.0 Lisansı: OSI onaylı bu açık kaynak lisansı, açık işbirliğini ve bilgi paylaşımını teşvik ederek öğrenciler ve meraklılar için idealdir. Daha fazla ayrıntı için LICENSE dosyasına bakın ve AGPL-3.0 Lisans sayfamızı ziyaret edin.
  • Kurumsal Lisans: Ticari kullanım için tasarlanan bu lisans, Ultralytics yazılımının ve AI modellerinin ticari ürün ve hizmetlere sorunsuz bir şekilde entegre edilmesini sağlar. Senaryonuz ticari uygulamalar içeriyorsa, lütfen Ultralytics Lisanslama aracılığıyla iletişime geçin.

Roboflow 100 Genel Bakış

Temel Özellikler

  • Çeşitli Alanlar: Yedi farklı alanda 100 veri seti içerir: Hava, Video oyunları, Mikroskobik, Sualtı, Belgeler, Elektromanyetik ve Gerçek Dünya.
  • Ölçek: Karşılaştırma ölçütü, 11.170 saatten fazla veri etiketleme çalışmasını temsil eden 805 sınıfta 224.714 görüntüden oluşmaktadır.
  • Standartlaştırma: Tüm görüntüler önceden işlenmiş ve tutarlı bir değerlendirme için 640x640 piksele yeniden boyutlandırılmıştır.
  • Temiz Değerlendirme: Sınıf belirsizliğini ortadan kaldırmaya odaklanır ve daha temiz model değerlendirmesi sağlamak için yetersiz temsil edilen sınıfları filtreler.
  • Ek açıklamalar: mAP gibi metrikleri kullanarak nesne algılama modellerini eğitmek ve değerlendirmek için uygun 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 kategori halinde düzenlenmiştir:

  • Hava: 7 veri seti, 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 seti, 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ümlerinde bulunan çok çeşitli gerçek dünya uygulama senaryolarını yansıtan nesne algılama modelleri için çeşitli ve kapsamlı bir test alanı sağlar.

Kıyaslama

Veri kümesi kıyaslaması, makine öğrenimi modellerinin performansının standartlaştırılmış ölçütler kullanılarak belirli veri kümeleri üzerinde değerlendirilmesini içerir. Yaygın ölçütler arasında doğruluk, ortalama Ortalama Kesinlik (mAP) ve F1 puanı bulunur. Bunlar hakkında daha fazla bilgiyi YOLO Performans Ölçütleri kılavuzumuzda bulabilirsiniz.

Kıyaslama Sonuçları

Sağlanan komut dosyası kullanılarak yapılan kıyaslama sonuçları ultralytics-benchmarks/ dizininde, özellikle evaluation.txt.

Kıyaslama Örneği

Aşağıdaki kod, bir Ultralytics YOLO modelinin (örn. YOLOv11n) Roboflow 100 kıyaslamasındaki 100 veri kümesinin tamamında programlı olarak nasıl kıyaslanacağını göstermektedir RF100Benchmark Sınıf.

import os
import shutil
from pathlib import Path

from ultralytics.utils.benchmarks import RF100Benchmark

# Initialize RF100Benchmark and set API key
benchmark = RF100Benchmark()
benchmark.set_key(api_key="YOUR_ROBOFLOW_API_KEY")

# Parse dataset and define file paths
names, cfg_yamls = benchmark.parse_dataset()
val_log_file = Path("ultralytics-benchmarks") / "validation.txt"
eval_log_file = Path("ultralytics-benchmarks") / "evaluation.txt"

# Run benchmarks on each dataset in RF100
for ind, path in enumerate(cfg_yamls):
    path = Path(path)
    if path.exists():
        # Fix YAML file and run training
        benchmark.fix_yaml(str(path))
        os.system(f"yolo detect train data={path} model=yolo11s.pt epochs=1 batch=16")

        # Run validation and evaluate
        os.system(f"yolo detect val data={path} model=runs/detect/train/weights/best.pt > {val_log_file} 2>&1")
        benchmark.evaluate(str(path), str(val_log_file), str(eval_log_file), ind)

        # Remove the 'runs' directory
        runs_dir = Path.cwd() / "runs"
        shutil.rmtree(runs_dir)
    else:
        print("YAML file path does not exist")
        continue

print("RF100 Benchmarking completed!")

Uygulamalar

Roboflow 100, bilgisayarla görme ve derin öğrenme ile ilgili çeşitli uygulamalar için çok 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ğerlendirin.
  • Modellerin COCO veya PASCAL VOC gibi yaygın kıyaslama veri kümelerinin ötesinde gerçek dünya senaryolarına uyarlanabilirliğini ve sağlamlığını test edin.
  • Sağlık hizmetleri, hava görüntüleri ve video oyunları gibi özel alanlar da dahil olmak üzere çeşitli veri kümelerinde nesne algılama modellerinin yeteneklerini karşılaştırın.
  • Farklı sinir ağı mimarileri ve optimizasyon teknikleri arasında model performansını karşılaştırın.
  • Özel model eğitim ipuçları veya transfer öğrenimi gibi ince ayar yaklaşımları gerektirebilecek alana özgü zorlukları belirleyin.

Gerçek dünya uygulamaları hakkında daha fazla fikir ve ilham almak için pratik projelerle ilgili kılavuzlarımızı inceleyin veya kolaylaştırılmış model eğitimi ve dağıtımı için Ultralytics HUB 'a göz atın.

Kullanım

Meta veriler ve indirme bağlantıları da dahil olmak üzere Roboflow 100 veri setine resmi Roboflow 100 GitHub deposu. Kıyaslama ihtiyaçlarınız için veri setine doğrudan buradan erişebilir ve kullanabilirsiniz. Ultralytics RF100Benchmark yardımcı programı, bu veri kümelerini Ultralytics modelleriyle kullanmak üzere indirme ve hazırlama sürecini basitleştirir.

Örnek Veriler ve Açıklamalar

Roboflow 100, çeşitli açılardan ve alanlardan çekilmiş çeşitli görüntülere sahip veri kümelerinden oluşmaktadır. Aşağıda, RF100 kıyaslamasına dahil edilen ve nesne ve sahne çeşitliliğini gösteren açıklamalı görüntü örnekleri yer almaktadır. Veri artırma gibi teknikler eğitim sırasında çeşitliliği daha da artırabilir.

Örnek Veriler ve Açıklamalar

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ıyaslamalardan önemli bir ilerlemeyi temsil etmektedir. Bu kapsamlı yaklaşım, çok sayıda farklı senaryoda iyi performans gösterebilen daha sağlam ve çok yönlü bilgisayarla görme modellerinin geliştirilmesine yardımcı olur.

Atıflar ve Teşekkür

Roboflow 100 veri setini araştırma veya geliştirme çalışmalarınızda kullanırsanız, lütfen orijinal makaleye atıfta bulunun:

@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 ekibine ve Roboflow 100 veri setinin bilgisayarla görme topluluğu için değerli bir kaynak olarak oluşturulması ve sürdürülmesindeki önemli çabaları için tüm katkıda bulunanlara şükranlarımızı sunarız.

Nesne algılama ve makine öğrenimi projelerinizi geliştirmek için daha fazla veri kümesi keşfetmekle ilgileniyorsanız, çeşitli diğer algılama veri kümelerini içeren kapsamlı veri kümesi koleksiyonumuzu ziyaret etmekten çekinmeyin.

SSS

Roboflow 100 veri seti nedir ve nesne tespiti için neden önemlidir?

Roboflow 100 veri kümesi, nesne algılama modelleri için bir ölçüttür. Roboflow Universe'den elde edilen ve sağlık hizmetleri, hava görüntüleri ve video oyunları gibi alanları kapsayan 100 farklı veri kümesinden oluşmaktadır. Önemi, çok çeşitli gerçek dünya senaryolarında model uyarlanabilirliğini ve sağlamlığını test etmek için standartlaştırılmış bir yol sağlayarak geleneksel, genellikle alanla sınırlı karşılaştırma ölçütlerinin ötesine geçmesinde yatmaktadır.

Roboflow 100 veri seti hangi alanları kapsamaktadır?

Roboflow 100 veri seti, nesne algılama modelleri için benzersiz zorluklar sunan yedi farklı alanı kapsamaktadır:

  1. Hava: 7 veri seti (örn. uydu görüntüleri, drone görüntüleri).
  2. Video Oyunları: 7 veri kümesi (örneğin, çeşitli oyun ortamlarından nesneler).
  3. Mikroskobik: 11 veri kümesi (örn. hücreler, parçacıklar).
  4. Su altı: 5 veri seti (ör. deniz yaşamı, batık nesneler).
  5. Belgeler: 8 veri kümesi (örn. metin bölgeleri, form öğeleri).
  6. Elektromanyetik: 12 veri seti (örn. radar imzaları, spektral veri görselleştirmeleri).
  7. Gerçek Dünya: 50 veri kümesi (günlük nesneler, sahneler, perakende vb. dahil olmak üzere geniş bir kategori).

Bu çeşitlilik, RF100'ü bilgisayarla görme modellerinin genelleştirilebilirliğini değerlendirmek için mükemmel bir kaynak haline getirmektedir.

Araştırmamda Roboflow 100 veri setine atıfta bulunurken neleri dahil etmeliyim?

Roboflow 100 veri setini kullanırken, yaratıcılara kredi vermek için lütfen orijinal makaleye atıfta bulunun. İşte önerilen BibTeX alıntısı:

@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üşünün.



📅1 yıl önce oluşturuldu ✏️ 26 gün önce güncellendi

Yorumlar