imagededup adalah paket python yang menyederhanakan tugas menemukan duplikat yang tepat dan hampir sama dalam koleksi gambar.
Paket ini menyediakan fungsionalitas untuk memanfaatkan algoritma hashing yang sangat baik dalam menemukan duplikat yang tepat serta jaringan saraf konvolusional yang juga mahir dalam menemukan hampir duplikat. Kerangka evaluasi juga disediakan untuk menilai kualitas deduplikasi untuk kumpulan data tertentu.
Berikut rincian fungsionalitas yang disediakan oleh paket:
Menemukan duplikat dalam direktori menggunakan salah satu algoritma berikut:
Convolutional Neural Network (CNN) - Pilih dari beberapa model yang sudah dikemas atau berikan model kustom Anda sendiri.
Hashing persepsi (PHash)
Perbedaan hashing (DHash)
Pencirian wavelet (WHash)
Hashing rata-rata (AHash)
Pembuatan pengkodean untuk gambar menggunakan salah satu algoritma yang disebutkan di atas.
Kerangka kerja untuk mengevaluasi efektivitas deduplikasi berdasarkan pemetaan kebenaran dasar.
Merencanakan duplikat yang ditemukan untuk file gambar tertentu.
Dokumentasi terperinci untuk paket ini dapat ditemukan di: https://idealo.github.io/imagededup/
imagededup kompatibel dengan Python 3.8+ dan berjalan di Linux, MacOS X dan Windows. Ini didistribusikan di bawah lisensi Apache 2.0.
Instalasi
Mulai Cepat
Tolok ukur
Menyumbang
Kutipan
Pemelihara
Lisensi
Ada dua cara untuk menginstal imagededup:
Instal imagededup dari PyPI (disarankan):
pip install imagededup
Instal imagededup dari sumber GitHub:
git clone https://github.com/idealo/imagededup.gitcd imagededup pip instal "cython>=0,29"penyiapan python.py instal
Untuk menemukan duplikat dalam direktori gambar menggunakan hashing persepsi, alur kerja berikut dapat digunakan:
Impor metode hashing persepsi
dari imagededup.methods impor PHashphasher = PHash()
Hasilkan pengkodean untuk semua gambar dalam direktori gambar
pengkodean = phasher.encode_images(image_dir='jalur/ke/gambar/direktori')
Temukan duplikat menggunakan pengkodean yang dihasilkan
duplikat = phasher.find_duplikat(encoding_map=encodings)
Plot duplikat yang diperoleh untuk file tertentu (misalnya: 'ukbench00120.jpg') menggunakan kamus duplikat
dari imagededup.utils impor plot_duplikatsplot_duplikat(image_dir='path/ke/gambar/direktori',duplikat_map=duplikat,namafile='ukbench00120.jpg')
Outputnya terlihat seperti di bawah ini:
Kode lengkap untuk alur kerja adalah:
from imagededup.methods import PHashphasher = PHash()# Hasilkan pengkodean untuk semua gambar dalam direktori gambarencodings = phasher.encode_images(image_dir='path/to/image/directory')# Temukan duplikat menggunakan pengkodean yang dihasilkanduplikat = phasher.find_duplikat(encoding_map =pengkodean)# duplikat plot diperoleh untuk file tertentu menggunakan kamus duplikat dari imagededup.utils import plot_duplikatsplot_duplikat(image_dir='jalur/ke/gambar/direktori',duplikat_map=duplikat,namafile='ukbench00120.jpg')
Dimungkinkan juga untuk menggunakan model kustom Anda sendiri untuk menemukan duplikat menggunakan metode CNN.
Misalnya, lihat bagian repositori ini.
Untuk penggunaan fungsionalitas paket yang lebih detail, lihat: https://idealo.github.io/imagededup/
Pembaruan : Tolok ukur yang diberikan hanya valid hingga imagededup v0.2.2
. Rilis berikutnya memiliki perubahan signifikan pada semua metode, sehingga tolok ukur saat ini mungkin tidak dapat dipertahankan.
Tolok ukur terperinci mengenai metrik kecepatan dan klasifikasi untuk berbagai metode telah disediakan dalam dokumentasi. Secara umum, kesimpulan berikut dapat diambil:
CNN berfungsi paling baik untuk hampir duplikat dan kumpulan data yang berisi transformasi.
Semua metode deduplikasi bekerja dengan baik pada kumpulan data yang berisi duplikat persis, namun hashing Perbedaan adalah yang tercepat.
Kami menyambut segala jenis kontribusi. Lihat panduan Kontribusi untuk lebih jelasnya.
Silakan kutip Imagededup dalam publikasi Anda jika ini berguna untuk penelitian Anda. Berikut ini contoh entri BibTeX:
@misc{idealods2019imagededup, title={Imagededup}, author={Tanuj Jain dan Christopher Lennan dan Zubin John dan Dat Tran}, year={2019}, howpublished={url{https://github.com/idealo/imagededup} }, }
Tanuj Jain, github: tanujjain
Christopher Lennan, github: clennan
Dat Tran, github: datitran
Lihat LISENSI untuk detailnya.