Yang Zou, Jongheon Jeong, Latha Pemula, Dongqing Zhang, Onkar Dabeer.
Repositori ini berisi sumber daya untuk makalah ECCV-2022 kami "Pra-pelatihan yang Diawasi Sendiri dan Diwaspadai Perbedaannya untuk Deteksi dan Segmentasi Anomali". Saat ini kami merilis kumpulan data Visual Anomaly (VisA).
Dataset VisA berisi 12 subset yang sesuai dengan 12 objek berbeda seperti yang ditunjukkan pada gambar di atas. Terdapat 10.821 gambar dengan 9.621 sampel normal dan 1.200 sampel anomali. Empat himpunan bagian adalah berbagai jenis papan sirkuit tercetak (PCB) dengan struktur yang relatif kompleks yang mengandung transistor, kapasitor, chip, dll. Untuk kasus beberapa contoh dalam satu tampilan, kami mengumpulkan empat himpunan bagian: Kapsul, Lilin, Makaroni1, dan Makaroni2. Contoh dalam Kapsul dan Makaroni2 sangat berbeda dalam lokasi dan pose. Selain itu, kami mengumpulkan empat himpunan bagian termasuk Jambu Mete, Permen Karet, Gorengan, dan Gorengan Pipa, yang objeknya disejajarkan secara kasar. Gambar anomali tersebut mengandung berbagai cacat, termasuk cacat permukaan seperti goresan, penyok, bintik warna atau retak, dan cacat struktural seperti salah penempatan atau bagian yang hilang.
Obyek | # sampel biasa | # sampel anomali | # kelas anomali | jenis objek |
---|---|---|---|---|
PCB1 | 1.004 | 100 | 4 | Struktur yang kompleks |
PCB2 | 1.001 | 100 | 4 | Struktur yang kompleks |
PCB3 | 1.006 | 100 | 4 | Struktur yang kompleks |
PCB4 | 1.005 | 100 | 7 | Struktur yang kompleks |
Kapsul | 602 | 100 | 5 | Beberapa contoh |
Lilin | 1.000 | 100 | 8 | Beberapa contoh |
Makaroni1 | 1.000 | 100 | 7 | Beberapa contoh |
Makaroni2 | 1.000 | 100 | 7 | Beberapa contoh |
jambu mete | 500 | 100 | 9 | Contoh tunggal |
Permen karet | 503 | 100 | 6 | Contoh tunggal |
goreng | 500 | 100 | 8 | Contoh tunggal |
Pipa goreng | 500 | 100 | 9 | Contoh tunggal |
Kami menghosting kumpulan data VisA di AWS S3 dan Anda dapat mengunduhnya melalui URL ini.
Pohon data dari data yang diunduh adalah sebagai berikut.
VisA
| -- candle
| ----- | --- Data
| ----- | ----- | ----- Images
| ----- | ----- | -------- | ------ Anomaly
| ----- | ----- | -------- | ------ Normal
| ----- | ----- | ----- Masks
| ----- | ----- | -------- | ------ Anomaly
| ----- | --- image_anno.csv
| -- capsules
| ----- | ----- ...
image_annot.csv memberikan label tingkat gambar dan masker anotasi tingkat piksel untuk setiap gambar. Fungsi peta id2class untuk masker multi-kelas dapat ditemukan di ./utils/id2class.py Di sini masker untuk gambar normal tidak disimpan untuk menghemat ruang.
Untuk menyiapkan penyiapan 1 kelas, 2 kelas highshot, 2 kelas fewshot yang dijelaskan dalam makalah asli, kami menggunakan ./utils/prepare_data.py untuk mengatur ulang data setelah file pemisahan data di "./split_csv/" . Kami memberikan contoh baris perintah untuk persiapan setup 1 kelas sebagai berikut.
python ./utils/prepare_data.py --split-type 1cls --data-folder ./VisA --save-folder ./VisA_pytorch --split-file ./split_csv/1cls.csv
Pohon data dari pengaturan 1 kelas yang ditata ulang adalah sebagai berikut.
VisA_pytorch
| -- 1cls
| ----- | --- candle
| ----- | ----- | ----- ground_truth
| ----- | ----- | ----- test
| ----- | ----- | ------- | ------- good
| ----- | ----- | ------- | ------- bad
| ----- | ----- | ----- train
| ----- | ----- | ------- | ------- good
| ----- | --- capsules
| ----- | --- ...
Secara khusus, data yang ditata ulang untuk pengaturan 1 kelas mengikuti pohon data MVTec-AD. Untuk setiap objek, datanya memiliki tiga folder:
Perhatikan bahwa masker segmentasi kebenaran dasar kelas jamak dalam kumpulan data asli diindeks ulang menjadi masker biner dengan 0 menunjukkan normalitas dan 255 menunjukkan anomali.
Selain itu, penyiapan 2 kelas dapat disiapkan dengan cara serupa dengan mengubah argumen prep_data.py.
Untuk menghitung metrik klasifikasi dan segmentasi, lihat ./utils/metrics.py. Perhatikan bahwa kami memperhitungkan sampel normal saat menghitung metrik pelokalan. Ini berbeda dengan beberapa karya lain yang mengabaikan sampel normal di lokalisasi.
Silakan kutip makalah berikut jika kumpulan data ini membantu proyek Anda:
@article { zou2022spot ,
title = { SPot-the-Difference Self-Supervised Pre-training for Anomaly Detection and Segmentation } ,
author = { Zou, Yang and Jeong, Jongheon and Pemula, Latha and Zhang, Dongqing and Dabeer, Onkar } ,
journal = { arXiv preprint arXiv:2207.14315 } ,
year = { 2022 }
}
Data dirilis di bawah lisensi CC BY 4.0.