[ ICLR 24 ] AnomalyCLIP: Pembelajaran Cepat Objek-agnostik untuk Deteksi Anomali Zero-shot
oleh Qihang Zhou*, Guansong Pang*, Yu Tian, Shibo He, Jiming Chen.
19.03.2024 : Kode telah dirilis!!!
08.08.2024 : Perbarui kode untuk menguji satu gambar.
Deteksi anomali zero-shot (ZSAD) memerlukan model deteksi yang dilatih menggunakan data tambahan untuk mendeteksi anomali tanpa sampel pelatihan apa pun dalam kumpulan data target. Ini adalah tugas yang penting ketika data pelatihan tidak dapat diakses karena berbagai masalah, misalnya privasi data, namun hal ini merupakan tantangan karena model perlu menggeneralisasi anomali di berbagai domain di mana kemunculan objek latar depan, wilayah abnormal, dan fitur latar belakang, seperti cacat/tumor pada produk/organ yang berbeda, dapat sangat bervariasi. Baru-baru ini model bahasa penglihatan (VLM) besar yang telah dilatih sebelumnya, seperti CLIP, telah menunjukkan kemampuan pengenalan zero-shot yang kuat dalam berbagai tugas penglihatan, termasuk deteksi anomali. Namun, kinerja ZSAD mereka lemah karena VLM lebih fokus pada pemodelan semantik kelas objek latar depan daripada kelainan/normalitas dalam gambar. Dalam makalah ini kami memperkenalkan pendekatan baru, yaitu AnomalyCLIP, untuk mengadaptasi CLIP untuk ZSAD yang akurat di berbagai domain. Wawasan utama AnomalyCLIP adalah mempelajari perintah teks agnostik objek yang menangkap normalitas dan kelainan umum dalam gambar, apa pun objek latar depannya. Hal ini memungkinkan model kami untuk fokus pada wilayah gambar abnormal daripada semantik objek, sehingga memungkinkan pengenalan normalitas dan anomali umum pada beragam jenis objek. Eksperimen skala besar pada 17 kumpulan data deteksi anomali dunia nyata menunjukkan bahwa AnomalyCLIP mencapai kinerja zero-shot yang unggul dalam mendeteksi dan mensegmentasi anomali dalam kumpulan data semantik kelas yang sangat beragam dari berbagai domain pemeriksaan cacat dan pencitraan medis. Semua eksperimen dilakukan di PyTorch-2.0.0 dengan satu NVIDIA RTX 3090 24GB.
Unduh kumpulan data di bawah ini:
Domain Industri: MVTec, VisA, MPDD, BTAD, SDD, DAGM, DTD-Synthetic
Domain Medis: HeadCT, BrainMRI, Br35H, COVID-19, ISIC, CVC-ColonDB, CVC-ClinicDB, Kvasir, Endo, TN3K.
Tautan Google Drive (kumpulan data yang sering diminta): SDD, Br35H, COVID-19
Ambil contoh MVTec AD (Dengan beberapa kategori anomali)
Struktur Folder MVTec:
mvtec/ │ ├── meta.json │ ├── bottle/ │ ├── ground_truth/ │ │ ├── broken_large/ │ │ │ └── 000_mask.png | | | └── ... │ │ └── ... │ └── test/ │ ├── broken_large/ │ │ └── 000.png | | └── ... │ └── ... │ └── ...
cd menghasilkan_dataset_json python mvtec.py
Ambil SDD misalnya (Dengan kategori anomali tunggal)
Struktur Folder SDD:
SDD/ │ ├── electrical_commutators/ │ └── test/ │ ├── defect/ │ │ └── kos01_Part5_0.png | | └── ... │ └── good/ │ └── kos01_Part0_0.png │ └── ... │ └── meta.json
cd menghasilkan_dataset_json python SDD.py
Pilih skrip yang sesuai dan jalankan (kami menyediakan semua skrip untuk kumpulan data yang dilaporkan AnomalyCLIP). JSON yang dihasilkan menyimpan semua informasi yang dibutuhkan AnomalyCLIP.
Buat skrip JSON baru di lipatan generate_dataset_json sesuai dengan struktur lipatan kumpulan data Anda sendiri.
Tambahkan info terkait kumpulan data Anda (yaitu, nama kumpulan data dan nama kelas) di skrip dataset.py
Mulai cepat (gunakan beban yang telah dilatih sebelumnya)
tes bash.sh
Latih beban Anda sendiri
bash kereta.sh
Kami berterima kasih atas repositori kode: open_clip, DualCoOp, CLIP_Surgery, dan VAND.
Jika Anda merasa makalah dan repositori ini bermanfaat, silakan mengutip makalah kami.
@inproceedings{zhou2023anomalyclip, title={AnomalyCLIP: Object-agnostic Prompt Learning for Zero-shot Anomaly Detection}, author={Zhou, Qihang and Pang, Guansong and Tian, Yu and He, Shibo and Chen, Jiming}, booktitle={The Twelfth International Conference on Learning Representations}, year={2023} }