imagenet2012_multilabel

  • Açıklama :

Bu veri kümesi , "Evaluating Machine Accuracy on ImageNet" , ICML, 2020'den çok sınıflı etiketlerle açıklama eklenmiş ILSVRC-2012 (ImageNet) doğrulama görüntülerini içerir. ImageNet sınıf hiyerarşisinde grenli sınıf ayrımları (daha fazla ayrıntı için makaleye bakın). Orijinal etiketlerle karşılaştırıldığında, uzmanlar tarafından incelenen bu çok sınıflı etiketler, anlamsal olarak daha tutarlı bir doğruluk değerlendirmesi sağlar.

Bu veri kümesinin 3.0.0 sürümü , "Hamur ne zaman simit olur? ImageNet'te kalan hataların yanı sıra 'imagenet-m' altında ImageNet-Major (ImageNet-M) 68 örnek bölünmesinden daha fazla düzeltilmiş etiket içerir.

50.000 ImageNet doğrulama görüntüsünün yalnızca 20.000'i çok etiketli ek açıklamalara sahiptir. Çoklu etiket seti ilk önce 67 eğitimli ImageNet modelinden oluşan bir test yatağı tarafından oluşturuldu ve ardından her bir model tahmini uzmanlar tarafından manuel olarak correct (etiket görüntü için doğru), wrong (etiket görüntü için yanlış) şeklinde açıklandı. görüntü) veya unclear (uzmanlar arasında fikir birliğine varılamadı).

Ek olarak, ek açıklama sırasında uzman paneli bir dizi sorunlu görüntü belirledi. Aşağıdaki kriterlerden herhangi birini karşılayan bir görüntü sorunluydu:

  • Orijinal ImageNet etiketi (ilk 1 etiket) yanlış veya belirsizdi
  • Resim bir çizim, resim, eskiz, çizgi film veya bilgisayar tarafından oluşturulan bir resimdi
  • Resim aşırı derecede düzenlendi
  • Resimde uygunsuz içerik var

Sorunlu görüntüler bu veri kümesine dahil edilir ancak çoklu etiket doğruluğu hesaplanırken göz ardı edilmelidir. Ek olarak, ilk 20.000 ek açıklama kümesi sınıf dengeli olduğundan, ancak sorunlu görüntüler kümesi dengeli olmadığından, sınıf başına doğrulukları hesaplamanızı ve ardından bunların ortalamasını almanızı öneririz. Ayrıca, doğru veya belirsiz olarak işaretlenen bir tahminin doğru olarak sayılmasını da öneririz (yani, net olmayan etiketlere karşı hoşgörülü olmak).

Bunu yapmanın olası bir yolu, aşağıdaki NumPy kodudur:

import tensorflow_datasets as tfds

ds = tfds.load('imagenet2012_multilabel', split='validation')

# We assume that predictions is a dictionary from file_name to a class index between 0 and 999

num_correct_per_class = {}
num_images_per_class = {}

for example in ds:
    # We ignore all problematic images
    if example[‘is_problematic’].numpy():
        continue

    # The label of the image in ImageNet
    cur_class = example['original_label'].numpy()

    # If we haven't processed this class yet, set the counters to 0
    if cur_class not in num_correct_per_class:
        num_correct_per_class[cur_class] = 0
        assert cur_class not in num_images_per_class
        num_images_per_class[cur_class] = 0

    num_images_per_class[cur_class] += 1

    # Get the predictions for this image
    cur_pred = predictions[example['file_name'].numpy()]

    # We count a prediction as correct if it is marked as correct or unclear
    # (i.e., we are lenient with the unclear labels)
    if cur_pred is in example['correct_multi_labels'].numpy() or cur_pred is in example['unclear_multi_labels'].numpy():
        num_correct_per_class[cur_class] += 1

# Check that we have collected accuracy data for each of the 1,000 classes
num_classes = 1000
assert len(num_correct_per_class) == num_classes
assert len(num_images_per_class) == num_classes

# Compute the per-class accuracies and then average them
final_avg = 0
for cid in range(num_classes):
  assert cid in num_correct_per_class
  assert cid in num_images_per_class
  final_avg += num_correct_per_class[cid] / num_images_per_class[cid]
final_avg /= num_classes

  • Ana sayfa : https://github.com/modestyachts/evaluating_machine_accuracy_on_imagenet

  • Kaynak kodu : tfds.datasets.imagenet2012_multilabel.Builder

  • sürümler :

    • 1.0.0 : İlk sürüm.
    • 2.0.0 : ILSVRC2012_img_val.tar dosyası düzeltildi.
    • 3.0.0 (varsayılan): Düzeltilmiş etiketler ve ImageNet-M ayrımı.
  • İndirme boyutu : 191.13 MiB

  • Veri kümesi boyutu : 2.50 GiB

  • Manuel indirme talimatları : Bu veri kümesi, kaynak verileri manuel olarak download_config.manual_dir içine indirmenizi gerektirir (varsayılan olarak ~/tensorflow_datasets/downloads/manual/ şeklindedir):
    manual_dir, ILSVRC2012_img_val.tar dosyasını içermelidir. Veri setini indirme bağlantısını almak için http://www.image-net.org/download-images adresinden kayıt olmanız gerekmektedir.

  • Otomatik önbelleğe alınmış ( belgeleme ): Hayır

  • bölmeler :

Bölmek örnekler
'imagenet_m' 68
'validation' 20.000
  • Özellik yapısı :
FeaturesDict({
    'correct_multi_labels': Sequence(ClassLabel(shape=(), dtype=int64, num_classes=1000)),
    'file_name': Text(shape=(), dtype=string),
    'image': Image(shape=(None, None, 3), dtype=uint8),
    'is_problematic': bool,
    'original_label': ClassLabel(shape=(), dtype=int64, num_classes=1000),
    'unclear_multi_labels': Sequence(ClassLabel(shape=(), dtype=int64, num_classes=1000)),
    'wrong_multi_labels': Sequence(ClassLabel(shape=(), dtype=int64, num_classes=1000)),
})
  • Özellik belgeleri :
Özellik Sınıf Şekil Dtipi Tanım
ÖzelliklerDict
correct_multi_labels Sıra(SınıfEtiketi) (Hiçbiri,) int64
dosya adı Metin sicim
görüntü resim (Yok, Yok, 3) uint8
is_problematic tensör bool
orijinal_etiket SınıfEtiketi int64
clear_multi_labels Sıra(SınıfEtiketi) (Hiçbiri,) int64
yanlış_multi_labels Sıra(SınıfEtiketi) (Hiçbiri,) int64

görselleştirme

  • Alıntı :
@article{shankar2019evaluating,
  title={Evaluating Machine Accuracy on ImageNet},
  author={Vaishaal Shankar* and Rebecca Roelofs* and Horia Mania and Alex Fang and Benjamin Recht and Ludwig Schmidt},
  journal={ICML},
  year={2020},
  note={\url{http://proceedings.mlr.press/v119/shankar20c.html} }
}
@article{ImageNetChallenge,
  title={ {ImageNet} large scale visual recognition challenge},
  author={Olga Russakovsky and Jia Deng and Hao Su and Jonathan Krause
   and Sanjeev Satheesh and Sean Ma and Zhiheng Huang and Andrej Karpathy and Aditya Khosla and Michael Bernstein and
   Alexander C. Berg and Fei-Fei Li},
  journal={International Journal of Computer Vision},
  year={2015},
  note={\url{https://arxiv.org/abs/1409.0575} }
}
@inproceedings{ImageNet,
   author={Jia Deng and Wei Dong and Richard Socher and Li-Jia Li and Kai Li and Li Fei-Fei},
   booktitle={Conference on Computer Vision and Pattern Recognition (CVPR)},
   title={ {ImageNet}: A large-scale hierarchical image database},
   year={2009},
   note={\url{http://www.image-net.org/papers/imagenet_cvpr09.pdf} }
}
@article{vasudevan2022does,
  title={When does dough become a bagel? Analyzing the remaining mistakes on ImageNet},
  author={Vasudevan, Vijay and Caine, Benjamin and Gontijo-Lopes, Raphael and Fridovich-Keil, Sara and Roelofs, Rebecca},
  journal={arXiv preprint arXiv:2205.04596},
  year={2022}
}