Skip to content

PoC мультимодального поиска изображений по текстовому описанию для фотохостинга с использованием ResNet50 и BERT. Использованы Python, TensorFlow, SentenceTransformers.

Notifications You must be signed in to change notification settings

kagor4/photohosting_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

photohosting_project

Проект демонстрирует PoC (Proof of Concept) системы поиска фотографий по текстовому описанию.
Цель — показать практическую реализуемость технологии мультимодального поиска изображений для фотохостинга профессиональных фотографов «Со Смыслом».

🎯 Цель проекта

  • Разработать модель, находящую изображения по текстовому описанию
  • Проверить концепцию мультимодального поиска
  • Убедиться в соответствии требованиям по модерации контента

📦 Использованные технологии

  • Python 3.x
  • pandas, numpy, matplotlib, seaborn
  • scikit-learn, keras, tensorflow, keras-nlp
  • nltk, Pillow, tqdm
  • sentence-transformers, torch

📁 Структура проекта

photohosting_project/
├── photohosting_project.py   # Основной код проекта
├── requirements.txt          # Зависимости проекта
└── README.md                 # Документация

🧪 Как запустить

git clone https://github.com/kagor4/photohosting_project.git
cd photohosting_project
pip install -r requirements.txt

Для корректной работы требуется GPU (рекомендуется Colab с поддержкой CUDA).

📊 Данные

  • train_dataset.csv — описания изображений
  • CrowdAnnotations.tsv, ExpertAnnotations.tsv — оценки схожести пар
  • test_queries.csv, test_images/ — тестовые запросы и изображения

🔬 Модель

  • Изображения: векторизация через ResNet50
  • Тексты: эмбеддинги с помощью BERT base и SentenceTransformer
  • Модель оценки: нейросеть, обученная на экспертных + краудсорсинговых аннотациях

🚫 Контентная модерация

  • Удаление контента, содержащего упоминания детей
  • Фильтрация осуществляется на этапе предобработки описаний

📈 Результаты

Модель RMSE
Dummy 0.224
LinearRegression 0.224
RandomForestRegressor 0.236
NN (BERT base EN) 0.225
NN (MiniLM SentenceTransf.) 0.274

✅ Демо-функционал

  • Поиск 5 наиболее релевантных изображений по тексту
  • Отображение результатов + оригинального изображения (если есть)

📌 Возможности развития

  • Добавить CLIP-модель как основной механизм поиска
  • Оптимизировать скорость поиска
  • Расширить датасет
  • Реализовать онлайн-доступ через API

© Автор

Автор: kagor4

About

PoC мультимодального поиска изображений по текстовому описанию для фотохостинга с использованием ResNet50 и BERT. Использованы Python, TensorFlow, SentenceTransformers.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages