- Deskripsi :
Kumpulan data ini berisi gambar validasi ILSVRC-2012 (ImageNet) yang dianotasi dengan label multi-kelas dari "Evaluating Machine Accuracy on ImageNet" , ICML, 2020. Label multi-kelas ditinjau oleh panel ahli yang terlatih secara ekstensif dalam seluk-beluk fine- perbedaan kelas berbutir dalam hierarki kelas ImageNet (lihat makalah untuk lebih jelasnya). Dibandingkan dengan label aslinya, label multi-kelas yang ditinjau oleh pakar ini memungkinkan evaluasi akurasi yang lebih koheren secara semantik.
Versi 3.0.0 dari kumpulan data ini berisi lebih banyak label yang dikoreksi dari "Kapan adonan menjadi bagel? Menganalisis kesalahan yang tersisa di ImageNet serta 68 contoh ImageNet-Major (ImageNet-M) di bawah 'imagenet-m'.
Hanya 20.000 dari 50.000 gambar validasi ImageNet yang memiliki anotasi multi-label. Kumpulan multi-label pertama kali dihasilkan oleh testbed dari 67 model ImageNet terlatih, dan kemudian setiap prediksi model individual dianotasi secara manual oleh para ahli sebagai correct
(label benar untuk gambar), wrong
(label salah untuk gambar), atau unclear
(tidak ada konsensus yang tercapai di antara para ahli).
Selain itu, selama anotasi, panel ahli mengidentifikasi sekumpulan gambar yang bermasalah . Sebuah gambar bermasalah jika memenuhi salah satu kriteria di bawah ini:
- Label ImageNet asli (label top-1) salah atau tidak jelas
- Gambar adalah gambar, lukisan, sketsa, kartun, atau hasil render komputer
- Gambar diedit secara berlebihan
- Gambar memiliki konten yang tidak pantas
Gambar bermasalah disertakan dalam kumpulan data ini tetapi harus diabaikan saat menghitung akurasi multi-label. Selain itu, karena set awal 20.000 anotasi seimbang kelasnya, tetapi set gambar yang bermasalah tidak, kami menyarankan untuk menghitung akurasi per kelas dan kemudian merata-ratakannya. Kami juga merekomendasikan untuk menghitung prediksi sebagai benar jika ditandai sebagai benar atau tidak jelas (yaitu, bersikap lunak terhadap label yang tidak jelas).
Salah satu cara yang mungkin dilakukan adalah dengan kode NumPy berikut:
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
Beranda : https://github.com/modestyachts/evaluating_machine_accuracy_on_imagenet
Kode sumber :
tfds.datasets.imagenet2012_multilabel.Builder
Versi :
-
1.0.0
: Rilis awal. -
2.0.0
: Memperbaiki file ILSVRC2012_img_val.tar. -
3.0.0
(default): Label yang diperbaiki dan pemisahan ImageNet-M.
-
Ukuran unduhan :
191.13 MiB
Ukuran dataset :
2.50 GiB
Instruksi pengunduhan manual : Kumpulan data ini mengharuskan Anda mengunduh data sumber secara manual ke
download_config.manual_dir
(default ke~/tensorflow_datasets/downloads/manual/
):
manual_dir harus berisi fileILSVRC2012_img_val.tar
. Anda harus mendaftar di http://www.image-net.org/download-images untuk mendapatkan tautan untuk mengunduh kumpulan data.Di-cache otomatis ( dokumentasi ): Tidak
Perpecahan :
Membelah | Contoh |
---|---|
'imagenet_m' | 68 |
'validation' | 20.000 |
- Struktur fitur :
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)),
})
- Dokumentasi fitur :
Fitur | Kelas | Membentuk | Dtype | Keterangan |
---|---|---|---|---|
fiturDict | ||||
benar_multi_label | Urutan(Label Kelas) | (Tidak ada,) | int64 | |
nama file | Teks | rangkaian | ||
gambar | Gambar | (Tidak ada, Tidak ada, 3) | uint8 | |
bermasalah | Tensor | bool | ||
original_label | LabelKelas | int64 | ||
clear_multi_labels | Urutan(Label Kelas) | (Tidak ada,) | int64 | |
salah_multi_label | Urutan(Label Kelas) | (Tidak ada,) | int64 |
Kunci yang diawasi (Lihat
as_supervised
doc ):('image', 'correct_multi_labels')
Gambar ( tfds.show_examples ):
- Contoh ( tfds.as_dataframe ):
- Kutipan :
@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}
}