Skip to content

kirbu123/TinkoffSiriusMLChallange

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 

Repository files navigation

Hi everyone! I'm Bunin Kirill, MIPT student

Here is some information about my project, I want to tell you smth about it, let me speak some russian lower


Описание образов инопланетян, их предпочтений

Паттерны внешности Предпочтения гдетотамцев
футуристичные кофе
смышлённые по виду жёлто-чёрные тона
милые минимализм в архитектуре
с синей кожей закат солнца
большеголовые интерьер из дерева
лупоглазые много литературы

Image info

Больше изображений инопланетян в папке alien_pictures

(изображения сгенерированы с помощью StableDiffusionMagic)

Ответы на вопросы

  1. Image captioning - это процесс автоматического создания описания или подписи к изображению с помощью алгоритмов машинного обучения. Он использует компьютерное зрение и естественный язык для создания описания, которое наиболее точно отражает содержание изображения.

  2. Работают над этим, потому что автоматическое создание описания для изображений может значительно упростить и ускорить работу в различных приложениях. Это может помочь людям с ограниченными возможностями зрения понимать содержание изображений, а также повысить доступность контента для всех пользователей. Кроме того, это может быть полезно для автоматической обработки больших объемов данных, таких как фотографии в социальных сетях и медиабиблиотеках.

  3. Формулировка задачи image captioning заключается в следующем. Дана обучающая выборка из пар изображение - описание. Задача обучиться на полученных данных и в последствии выдавать наиболее подходящее описание картинки из тестового датасета, поданной в модель без описания.


Анализ датасета

Отмечу, что в представленном google colab ноутбуке был приведён более подробный анализ данных, а также были приведены идентичные выводы, однако ввиду технического задания я продублирую эту информацию здесь:

  1. Как видно из описания датасета и представленных картинок (см. ноутбук), на датасете изображены фотографии отелей с различными шумами и большой дисперсией. То есть некоторые фотографии перевёрнуты, некоторые визуально испорчены, некоторые сделаны в хорошем качестве, иные - в плохом.

  2. Выше массив всех встречающихся размеров изображений (см. ноутбук), как видно в тестовой выборке встречаются len(list_sizes) = 15 уникальных размеров

  3. В моём датасете 1000 объектов в целях экономии времени анализа данных.

  4. Все изображения из класса traffickcam (так как мой сервис для инопланетян будет давать им не вылизанные фотографии, а реалистичный фотоматериал). Так что уникальными классами можно считать chain_id отелей на фотографиях, выше представлен их полный список из 58 штук.

  5. Очевидно, что относительно рассмотрения класса trafickcam датасет является сбалансированным, но если брать за класс chain_id, то датасет (ввиду представленной выше аналитики, см. ноутбук) не сбалансирован, однако по представленным диаграммам видно, что преобладают классы с малым (< 10) количеством фотографий.


Image captioning part

В этом разделе я приведу описание итогов генерации описаний к картинкам и их кластеризации по тегам (за более подробной информацией обращайтесь в colab ноутбук):

  1. Была проведена кластеризация по следующим тегам:
  • cheap room in hostel with bad interior
  • cheap room in hotel with bad interior
  • average quality hotel room with average interior quality
  • superior hotel room with higher quality interier
  • luxury hotel room with luxury interier
  1. Адекватность данной кластеризации можно проверить имперически, что и было сделано
  2. Отмечу, что данная часть является важной для задани классификации отелей, хотя и не даёт обобщённого описания изображению
  3. Далее был приведён скрипт, генерирующий обобщённое описание к изображениям отеля, таким образом была решена задача описания объекта
  4. корректность скрипта проверена в работе имперически

Style transformation part

Здесь приведён краткий отчёт о работе заключетельного блока colab блокнота.

  1. Задача - изменить стилистику фотографии под инопланетян, не меняя сути

  2. Я написал свою нейросеть для решения этой проблемы. Конечно, можно было залить часть фотографий в StableDiffusionMagic и добавить описания стилистического преобразования, но это скучно. По сему настоящим исследованием проблемы является именно своя родная нейросеточка.

  3. Идея в том, чтобы использовать фото отеля за базу, а за стилистический образец взять фото самого красивого инопланетянина. Таким образом, цель будет достигнута.

  4. В качестве основных гиперпараметров нейросети были взяты кол-во эпох - 200 (на первом примере) и 250 (на втором примере), learnig_rate = lr = 0.003 = константа Karpathy. Все остальные гиперпараметры - стандартные.

  5. В качестве функции лосса я использовал лосс из этого потрясающего видеоурока по стилевой трансформации:

  1. Указанная функция состоит из style_loss и content_loss. Как было продеманстрировано в google colab, style_loss падает с прошествием эпох, content_loss напротив растёт, что доказывает эффективность модели, так как style_loss показывает схожесть со стилем инопланетянина, content_loss показывает, насколько фотография отличается от исходного изображения.

  2. Результат этого блока - рабочая нейросеть, которая умеет трансформировать изображения под запросы инопланетной культуры.


Result

В представленном google colab ноутбуке присутствуют все необходимые рабочие методы и модели по техническому анализу изображения для инопланетян, которые не меняют суть исходных данных. Стоит отметить, что инопланетяне, сгенерированные в процессе этой работы - просто душки!

About

ML CV pet-project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published