ArtiFinder - это веб-сервис для помощи в управлении музейными коллекциями. Используя возможности компьютерного зрения, он быстро идентифицирует дубликаты изображений среди обширного каталога музейных предметов, обеспечивая целостность и стандартизацию данных. Благодаря автоматическому созданию описаний он упрощает процесс добавления новых записей, открывая путь к более эффективной и точной музейной каталогизации.
Веб-сервис ArtiFinder был разработан в рамках кейса "Поиск музейных предметов" на хакатоне Цифровой прорыв. ArtiFinder обладает следующей функциональностью:
- Просмотр каталога изображений
- Поиск дубликатов в каталоге
- Генерация описания по изображению
- Поиск с фильтрацией по категориям
- Поиск с фильтрацией по описанию
Клонируйте репозиторий в директорию на вашем сервере
git clone https://github.com/VadimShabashov/ArtiFinder.git
Установите Nginx на ваш сервер. Для Debian/Ubuntu это можно сделать с помощью команды:
sudo apt update
sudo apt install nginx
- Удалите содержимое кталага конфигураций Nginx.
sudo rm -r /etc/nginx/*
- Переместите наш кталаг конфигураций Nginx в
/etc/nginx/
sudo mv /path/to/ArtiFinder/web_client/.nginx/* /etc/nginx/
- В конфигурационном файле
/etc/nginx/sites-available/default
заменитеexample.com
на ваш доменный или IP адрес.
sudo nano /etc/nginx/sites-available/default
-
Также можно настроить SSL сертификат по этой инструкции.
-
Добавьте ссылку на сближенный сайт в папку
/var/www
.
sudo ln -s /path/to/ArtiFinder/web_client/dist/spa /var/www/spa
Не забудьте дать доступ пользователю www-data
к папке /path/to/ArtiFinder/web_client/dist/spa
. Например, так:
gpasswd -a www-data username
- Добавьте ссылку на папку с изображениями сайт в папку
/var/www
.
sudo ln -s /path/to/images /var/www/imgs
- Перейдите в каталог
/path/to/ArtiFinder/
cd /path/to/ArtiFinder/
- Установите зависимости из файла
requirements.txt
, выполнив следующую команду:
pip install -r requirements.txt
- Запустите сервер, выполнив команду:
python3 main.py
- Убедитесь, что сервер работает корректно и отвечает на запросы. Откройте веб-браузер. Введите адрес
http://localhost:8000/api/docs
-
Для классификации изображений используется предобученный визуальный трансформер Swin -
swin_tiny_patch4_window7_224
. Для повышения точности модель была дообучена на тренировочных изображениях с применением аугментаций. Веса модели доступны по ссылке. -
Для извлечения эмбеддингов и поиска с помощью FAISS по векторам используется предобученная мультимодальная модель от OpenAI CLIP -
openai/clip-vit-base-patch32
. -
Для генерации текста по изображению для описания используется img2text модель на основе LLM и энкодера для изображений LLaVA -
llava-v1.5-13b
.
- Перейдите в папку
/path/to/ArtiFinder/web_client/
cd /path/to/ArtiFinder/web_client/
- Сборка веб-интерфейса
npm install
npm run build
- Теперь ваш веб-интерфейс успешно собран с помощью npm и готов к развертыванию.
- Евсеев Елисей - ML, CV
- Шабашов Вадим - ML, Pipeline
- Галоев Илькин - Backend
- Сайфуллин Дмитрий - Backend
- Иванцов Илья - Frontend