Repositori ini berisi kode yang dapat digunakan untuk memvisualisasikan puluhan ribu gambar dalam proyeksi dua dimensi di mana gambar serupa dikelompokkan bersama. Analisis gambar menggunakan ikatan awal TensorFlow, dan lapisan visualisasi menggunakan penampil WebGL khusus.
Lihat log perubahan untuk pembaruan terbaru.

Kami mempertahankan beberapa buku masak instalasi khusus platform secara online.
Secara umum, untuk menginstal dependensi Python, kami sarankan Anda menginstal Anaconda dan kemudian membuat lingkungan Conda dengan runtime Python 3.7:
conda create --name=3.7 python=3.7
source activate 3.7Kemudian Anda dapat menginstal dependensi dengan menjalankan:
bash
pip install https://github.com/yaledhlab/pix-plot/archive/master.zip
Situs web yang akhirnya dibuat Pixplot membutuhkan browser yang diaktifkan WebGL.
Jika Anda memiliki browser yang diaktifkan WebGL dan direktori yang penuh dengan gambar untuk diproses, Anda dapat menyiapkan data untuk pemirsa dengan menginstal dependensi di atas kemudian menjalankan:
pixplot --images " path/to/images/*.jpg "Untuk melihat hasil dari proses ini, Anda dapat memulai server web dengan menjalankan:
# for python 3.x
python -m http.server 5000
# for python 2.x
python -m SimpleHTTPServer 5000 Visualisasi kemudian akan tersedia di http://localhost:5000/output .
Untuk memperoleh beberapa data sampel untuk membangun plot, jangan ragu untuk menggunakan beberapa data yang disiapkan oleh Yale's Dhlab:
pip install image_datasetsKemudian dalam skrip Python:
import image_datasets
image_datasets . oslomini . download () Perintah .download() akan membuat direktori bernama datasets di direktori kerja Anda saat ini. Direktori datasets itu akan berisi subdirektori bernama 'Oslomini', yang berisi direktori gambar dan direktori lain dengan file CSV metadata gambar. Menggunakan data itu, kita selanjutnya dapat membangun plot:
pixplot --images " datasets/oslomini/images/* " --metadata " datasets/oslomini/metadata/metadata.csv " Jika Anda perlu memplot lebih dari 100.000 gambar tetapi tidak memiliki kartu grafis yang mahal untuk memvisualisasikan tampilan WebGL yang besar, Anda mungkin ingin menentukan parameter "Cell_Size" yang lebih kecil saat membangun plot Anda. Argumen "Cell_Size" mengontrol seberapa besar setiap gambar dalam file Atlas; Nilai yang lebih kecil membutuhkan lebih sedikit tekstur yang akan diterjemahkan, yang mengurangi RAM GPU yang diperlukan untuk melihat plot:
pixplot --images " path/to/images/*.jpg " --cell_size 10Algoritma UMAP sangat sensitif terhadap tiga hiperparemeter:
--min_dist: determines the minimum distance between points in the embedding
--n_neighbors: determines the tradeoff between local and global clusters
--metric: determines the distance metric to use when positioning points
Pencipta UMAP, Leland McInnes, telah menulis gambaran bermanfaat dari hyperparameters ini. Untuk menentukan nilai untuk satu atau lebih dari hiperparameter ini saat membangun plot, seseorang dapat menggunakan bendera di atas, misalnya:
pixplot --images " path/to/images/*.jpg " --n_neighbors 2Jika diinstal dan tersedia, PixPlot menggunakan pengelompokan spasial hirarkis berbasis aplikasi aplikasi dengan noise, penyempurnaan algoritma DBSCAN sebelumnya, untuk menemukan hotspot dalam visualisasi. Anda mungkin tertarik untuk berkonsultasi dengan penjelasan ini tentang bagaimana HDBSCan bekerja.
Kiat: Jika Anda menggunakan HDBSCAN dan menemukan bahwa Pixplot menciptakan terlalu sedikit (atau hanya satu) 'hotspot otomatis', cobalah menurunkannya --min_cluster_size dari default 20. Ini sering terjadi dengan kumpulan data yang lebih kecil (kurang dari beberapa ribu.)
Jika HDBSCAN tidak tersedia, PixPlot akan kembali ke implementasi Kmeans Scikit-Learn.
Jika Anda memiliki metadata yang terkait dengan masing -masing gambar Anda, Anda dapat melewati metadata itu saat menjalankan skrip pemrosesan data. Melakukan hal itu akan memungkinkan penampil PIXPLOT untuk menampilkan metadata yang terkait dengan gambar ketika pengguna mengklik gambar itu.
Untuk menentukan metadata untuk koleksi gambar Anda, Anda dapat menambahkan --metadata=path/to/metadata.csv ke perintah yang Anda gunakan untuk memanggil skrip pemrosesan. Misalnya, Anda mungkin menentukan:
pixplot --images " path/to/images/*.jpg " --metadata " path/to/metadata.csv "Metadata harus dalam file nilai yang dipisahkan koma, harus berisi satu baris untuk setiap gambar input, dan harus berisi header yang menentukan urutan kolom. Berikut adalah contoh file metadata:
| nama file | kategori | tag | keterangan | Permalink | Tahun |
|---|---|---|---|---|---|
| lebah.jpg | kuning | A | B | C. | lutut lebah | https: // ... | 1776 |
| Cats.jpg | berbahaya | B | C | d | piyama kucing | https: // ... | 1972 |
Label kolom berikut diterima:
| Kolom | Keterangan |
|---|---|
| nama file | nama file gambar |
| kategori | label kategorikal untuk gambar |
| tag | Daftar tag kategorikal yang dibatasi pipa untuk gambar |
| keterangan | deskripsi plaintext dari konten gambar |
| Permalink | tautan ke gambar yang dihosting di domain lain |
| tahun | cap waktu setahun untuk gambar (harus menjadi bilangan bulat) |
| label | label kategori yang digunakan untuk proyeksi UMAP yang diawasi |
| Lat | posisi latitudinal gambar |
| LNG | posisi longitudinal gambar |
Jika Anda ingin memproses gambar yang di-host di server IIIF, Anda dapat menentukan daftar gambar IIIF yang dibatasi baru sebagai argumen --images . Misalnya, berikut ini dapat disimpan sebagai manifest.txt :
https://manifests.britishart.yale.edu/manifest/40005
https://manifests.britishart.yale.edu/manifest/40006
https://manifests.britishart.yale.edu/manifest/40007
https://manifests.britishart.yale.edu/manifest/40008
https://manifests.britishart.yale.edu/manifest/40009 Seseorang kemudian dapat menentukan gambar -gambar ini sebagai input dengan menjalankan pixplot --images manifest.txt --n_clusters 2
| Link | Jumlah gambar | Info koleksi | Jelajahi gambar | Unduh untuk Pixplot |
|---|---|---|---|---|
| NEWSPLOT: 1910-1912 | 24.026 | Koleksi George Grantham Bain | Berita di tahun 1910 -an | Gambar, metadata |
| Bildefelt I Oslo | 31.097 | Oslobilder | Pencarian Lanjutan, 1860-1924 | Gambar, metadata |
DHLAB ingin mengucapkan terima kasih kepada Cyril Diagne dan Nicolas Barradeau, para pengembang dari Eksperimen Seni Google yang spektakuler Tsne Viewer, karena dengan murah hati berbagi ide -ide tentang teknik optimasi yang digunakan dalam pemirsa ini, dan Lillianna Marie karena menyebut penampil pixplot ini.