Этот репозиторий содержит код, который можно использовать для визуализации десятков тысяч изображений в двумерной проекции, в рамках которой подобные изображения сгруппированы вместе. Анализ изображений использует основания TensorFlow, а в уровне визуализации используется пользовательский просмотрщик WebGL.
Смотрите журнал об изменении последних обновлений.

Мы поддерживаем несколько поваренных книг по инсталляции, специфичной для платформы, онлайн.
Вообще говоря, чтобы установить зависимости Python, мы рекомендуем вам установить Anaconda, а затем создать среду Conda со временем выполнения Python 3.7:
conda create --name=3.7 python=3.7
source activate 3.7Затем вы можете установить зависимости, работая:
bash
pip install https://github.com/yaledhlab/pix-plot/archive/master.zip
Веб-сайт, который в конечном итоге создает Pixplot, требует браузера с поддержкой WebGL.
Если у вас есть браузер с поддержкой WebGL и каталог, полный изображений для обработки, вы можете подготовить данные для зрителя, установив зависимости выше, затем запустив:
pixplot --images " path/to/images/*.jpg "Чтобы увидеть результаты этого процесса, вы можете запустить веб -сервер, запустив:
# for python 3.x
python -m http.server 5000
# for python 2.x
python -m SimpleHTTPServer 5000 Затем визуализация будет доступна по адресу http://localhost:5000/output .
Чтобы получить некоторые образцы данных для создания сюжета, не стесняйтесь использовать некоторые данные, подготовленные DHLAB Yale:
pip install image_datasetsЗатем в сценарии Python:
import image_datasets
image_datasets . oslomini . download () Команда .download() сделает каталог с именем datasets в вашем текущем рабочем каталоге. Этот каталог datasets будет содержать подкаталог с именем «Oslomini», который содержит каталог изображений и другой каталог с файлом CSV метаданных изображений. Используя эти данные, мы можем затем построить сюжет:
pixplot --images " datasets/oslomini/images/* " --metadata " datasets/oslomini/metadata/metadata.csv " Если вам нужно построить более 100 000 изображений, но у вас нет дорогой видеокарты для визуализации огромных дисплеев WebGL, вы можете указать меньший параметр «cell_size» при создании вашего графика. Аргумент "cell_size" контролирует, насколько велик каждое изображение в файлах Atlas; Меньшие значения требуют меньшего количества текстур, которые для просмотра графики уменьшают графический оперативной памяти, необходимую для просмотра графика:
pixplot --images " path/to/images/*.jpg " --cell_size 10Алгоритм UMAP особенно чувствителен к трем гиперпараметорам:
--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
Создатель UMAP, Леланд Макиннес, написал полезный обзор этих гиперпараметров. Чтобы указать значение для одного или нескольких из этих гиперпараметров при создании сюжета, можно использовать флаги выше, например:
pixplot --images " path/to/images/*.jpg " --n_neighbors 2В случае установки и доступна Pixplot использует пространственную кластеризацию приложений на основе иерархической плотности с шумом, уточнение более раннего алгоритма DBSCAN, чтобы найти горячие точки в визуализации. Вы можете быть заинтересованы в том, чтобы консультироваться с этим объяснением того, как работает HDBSCAN.
Совет: Если вы используете HDBSCAN и обнаружите, что Pixplot создает слишком мало (или только один) «автоматические горячие точки», попробуйте опустить --min_cluster_size по умолчанию 20. Это часто случается с небольшими наборами данных (менее чем на несколько тысяч).
Если HDBSCAN не доступен, Pixplot вернется к реализации KMEANS Scikit-Learn.
Если у вас есть метаданные, связанные с каждым из ваших изображений, вы можете пройти в этих метаданных при запуске сценария обработки данных. Это позволит просмотру Pixplot отображать метаданные, связанные с изображением, когда пользователь нажимает на это изображение.
Чтобы указать метаданные для вашей коллекции изображений, вы можете добавить --metadata=path/to/metadata.csv к команде, которую вы используете для вызова сценария обработки. Например, вы можете указать:
pixplot --images " path/to/images/*.jpg " --metadata " path/to/metadata.csv "Метаданные должны находиться в файле, разделенном запятыми, должны содержать одну строку для каждого входного изображения и должны содержать заголовки, указывающие порядок столбца. Вот образец файла метаданных:
| имя файла | категория | теги | описание | Постоянная ссылка | Год |
|---|---|---|---|---|---|
| Пчелы.jpg | желтый | a | b | c | Пчелы | https: // ... | 1776 |
| Cats.jpg | опасный | B | C | D. | Паджамы кошек | https: // ... | 1972 |
Принимаются следующие этикетки столбца:
| Столбец | Описание |
|---|---|
| имя файла | имя файла изображения |
| категория | категорическая метка для изображения |
| теги | Список категориальных тегов с указанием трубы для изображения |
| описание | Описание открытого текста содержимого изображения |
| Постоянная ссылка | Ссылка на изображение, размещенное на другом домене |
| год | Годовая метка времени для изображения (должно быть целым числом) |
| этикетка | категорическая этикетка, используемая для контролируемой проекции UMAP |
| лат | широтное положение изображения |
| СПГ | продольное положение изображения |
Если вы хотите обработать изображения, которые размещены на сервере IIIF, вы можете указать список изображений --images , определяемый новым линией. Например, следующее можно сохранить как 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 Затем можно было бы указать эти изображения как входные данные, используя pixplot --images manifest.txt --n_clusters 2
| Связь | Количество изображений | Информация о коллекции | Просматривать изображения | Скачать для Pixplot |
|---|---|---|---|---|
| Newsplot: 1910-1912 | 24 026 | Коллекция Джорджа Грэнтэма Бейна | Новости 1910 -х годов | Изображения, метаданные |
| BILDEFELT I Осло | 31 097 | Ослобилдер | Advanced Search, 1860-1924 | Изображения, метаданные |
DHLAB хотел бы поблагодарить Cyril Diagne и Nicolas Barradeau, ведущих разработчиков впечатляющих экспериментов Google Arts Experiments TSNE Viewer, за то, что он обменивал идеи о методах оптимизации, используемых в этом зрителе, и Лилианны Мари для названия этого зрителя.