İçeriğe geç

Roboflow 100 Veri Kümesi

Roboflow 100, tarafından geliştirilmiştir Roboflow ve Intel tarafından desteklenen, çığır açan bir nesne algılama ölçütüdür. 90.000'den fazla halka açık veri kümesinden örneklenen 100 farklı veri kümesi içerir. Bu kıyaslama, modellerin sağlık hizmetleri, hava görüntüleri ve video oyunları gibi çeşitli alanlara uyarlanabilirliğini test etmek için tasarlanmıştır.

Roboflow 100 Genel Bakış

Temel Özellikler

  • Yedi alanda 100 veri kümesi içerir: Hava, Video oyunları, Mikroskobik, Sualtı, Belgeler, Elektromanyetik ve Gerçek Dünya.
  • Karşılaştırma ölçütü, 11.170 saatten fazla süren etiketleme çalışmaları sayesinde 805 sınıfta 224.714 görüntüden oluşmaktadır.
  • Tüm görüntüler, sınıf belirsizliğini ortadan kaldırmaya ve yetersiz temsil edilen sınıfları filtrelemeye odaklanılarak 640x640 piksele yeniden boyutlandırılmıştır.
  • Ek açıklamalar nesneler için sınırlayıcı kutular içerir, bu da onu nesne algılama modellerini eğitmek ve değerlendirmek için uygun hale getirir.

Veri Kümesi Yapısı

Roboflow 100 veri seti, her biri farklı veri setleri, görüntüler ve sınıflar içeren yedi kategori halinde düzenlenmiştir:

  • Hava: 24 farklı sınıfı kapsayan toplam 9.683 görüntü içeren 7 veri kümesinden oluşur.
  • Video Oyunları: 88 sınıfta 11.579 görüntü içeren 7 veri kümesi içerir.
  • Mikroskobik: 28 sınıfa yayılan 13.378 görüntü içeren 11 veri kümesinden oluşur.
  • Sualtı: 39 sınıfta 18.003 görüntüyü kapsayan 5 veri kümesi içerir.
  • Belgeler: 90 sınıfa ayrılmış 24.813 görüntü içeren 8 veri kümesinden oluşur.
  • Elektromanyetik: 41 sınıfta toplam 36.381 görüntü içeren 12 veri kümesinden oluşur.
  • Gerçek Dünya: 495 sınıfta 110.615 görüntü sunan 50 veri setiyle en büyük kategori.

Bu yapı, gerçek dünyadaki 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ı, doğruluk, ortalama ortalama kesinlik ve F1 puanı gibi standartlaştırılmış ölçütleri kullanarak belirli veri kümeleri üzerindeki makine öğrenimi model performansını değerlendirir.

Kıyaslama

Kıyaslama sonuçları "ultralytics-benchmarks/evaluation.txt" adresinde saklanacaktır.

Kıyaslama örneği

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=yolov8s.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 ölçütü şu amaçlarla kullanabilir:

  • Nesne algılama modellerinin performansını çok alanlı bir bağlamda değerlendirin.
  • Modellerin yaygın nesne tanımanın ötesinde gerçek dünya senaryolarına uyarlanabilirliğini test edin.
  • Sağlık hizmetleri, hava görüntüleri ve video oyunları da dahil olmak üzere çeşitli veri kümelerinde nesne algılama modellerinin yeteneklerini karşılaştırın.

Gerçek dünya uygulamaları hakkında daha fazla fikir ve ilham almak için gerçek dünya projelerine ilişkin kılavuzlarımıza göz atmayı unutmayın.

Kullanım

Roboflow 100 veri seti hem GitHub 'da hem de Roboflow Universe'de mevcuttur.

Buna doğrudan Roboflow 100 GitHub deposundan erişebilirsiniz. Buna ek olarak, Roboflow Universe adresinde, her bir veri kümesi içindeki dışa aktar düğmesine tıklayarak tek tek veri kümelerini indirme esnekliğine sahipsiniz.

Örnek Veriler ve Açıklamalar

Roboflow 100, çeşitli açılardan ve alanlardan çekilen çeşitli görüntü ve videolara sahip veri kümelerinden oluşur. RF100 karşılaştırmasındaki açıklamalı görüntü örneklerine bir göz atın.

Örnek Veriler ve Açıklamalar

Yukarıda görülebilen Roboflow 100 kıyaslamasındaki çeşitlilik, genellikle sınırlı bir alanda tek bir metriği optimize etmeye odaklanan geleneksel kıyaslamalardan önemli bir ilerlemedir.

Atıflar ve Teşekkür

Araştırma veya geliştirme çalışmalarınızda Roboflow 100 veri setini kullanıyorsanız, lütfen aşağıdaki makaleye atıfta bulunun:

@misc{2211.13523,
    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},
    Eprint = {arXiv:2211.13523},
}

Roboflow ekibine ve Roboflow 100 veri setinin oluşturulması ve sürdürülmesindeki yoğun çalışmaları için tüm katkıda bulunanlara teşekkür ederiz.

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

SSS

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

tarafından geliştirilen Roboflow 100 veri seti Roboflow ve Intel tarafından desteklenen önemli bir nesne algılama ölçütüdür. Sağlık hizmetleri, hava görüntüleri ve video oyunları gibi alanları kapsayan 90.000'den fazla halka açık veri kümesinden 100 farklı veri kümesi içerir. Bu çeşitlilik, modellerin çeşitli gerçek dünya senaryolarına uyum sağlayabilmesini sağlayarak sağlamlıklarını ve performanslarını artırır.

Nesne algılama modellerimi kıyaslamak için Roboflow 100 veri setini nasıl kullanabilirim?

Kıyaslama için Roboflow 100 veri setini kullanmak için Ultralytics kütüphanesinden RF100Benchmark sınıfını uygulayabilirsiniz. İşte kısa bir örnek:

Kıyaslama örneği

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=yolov8s.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 'runs' directory
        runs_dir = Path.cwd() / "runs"
        shutil.rmtree(runs_dir)
    else:
        print("YAML file path does not exist")
        continue

print("RF100 Benchmarking completed!")

Roboflow 100 veri seti hangi alanları kapsamaktadır?

Roboflow 100 veri seti, her biri nesne algılama modelleri için benzersiz zorluklar ve uygulamalar sağlayan yedi alanı kapsamaktadır:

  1. Hava: 7 veri seti, 9.683 görüntü, 24 sınıf
  2. Video Oyunları: 7 veri kümesi, 11.579 görüntü, 88 sınıf
  3. Mikroskobik: 11 veri kümesi, 13.378 görüntü, 28 sınıf
  4. Sualtı: 5 veri kümesi, 18.003 görüntü, 39 sınıf
  5. Belgeler: 8 veri kümesi, 24.813 görüntü, 90 sınıf
  6. Elektromanyetik: 12 veri seti, 36.381 görüntü, 41 sınıf
  7. Gerçek Dünya: 50 veri kümesi, 110.615 görüntü, 495 sınıf

Bu kurulum, farklı gerçek dünya uygulamalarında modellerin kapsamlı ve çeşitli şekilde test edilmesine olanak tanır.

Roboflow 100 veri setine nasıl erişebilir ve indirebilirim?

Roboflow 100 veri setine GitHub ve Roboflow Universe üzerinden erişilebilir. Veri setinin tamamını GitHub'dan indirebilir veya dışa aktar düğmesini kullanarak Roboflow Universe adresinden tek tek veri setlerini seçebilirsiniz.

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

Araştırmanızda Roboflow 100 veri setini kullanırken, uygun şekilde atıfta bulunduğunuzdan emin olun. İşte önerilen atıf:

Alıntı

@misc{2211.13523,
    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},
    Eprint = {arXiv:2211.13523},
}

Daha fazla ayrıntı için kapsamlı veri seti koleksiyonumuza başvurabilirsiniz.



Oluşturma 2024-02-07, Güncelleme 2024-07-04
Yazarlar: glenn-jocher (5), RizwanMunawar (2), abirami-vina (1)

Yorumlar