R50 a8b2e8daaa7d66f61abd95fcbf594fc5
программист

Использование компьютерного зрения для стилизации фотороботов

Добавлено 27 дек 2024 в 15:29
В рамках проекта стояла цель генерировать фотографии людей по их фотороботам для повышения их узнаваемости.
Чтобы избежать генерации "лишних" деталей и черт лица, использовалась технология NST - нейронный перенос стиля.
Я провела fine-tuning модели vgg-19 для данной задачи, используя в качестве данных датасет из 180+ пар фотографий рисунков и фотографий людей. Чтобы фон фотографий не мешал обучению, пришлось обработать данные с помощью нейросети efficient-net5.
Структура обучения модели состояла из внутреннего и наружного циклов. В наружном, ошибка считалась по различию результата генерации и фотографии человека, а во внутреннем - по результату генерации и образцу стиля. В внутреннем - 300 итераций на каждое изображение.
Большая часть проделанной работы - эксперименты с гиперпараметрами, размерами изображений, их форматами, количеством итераций и тд. В итоге обучение проводилось на картинках 80х100 пикселей, количество итераций - 300, эпоха - одна, начальный вес стиля - 1000000, контента - 1
В конце был написан сервис на StreamLit для легкой работы с моделью. Подключена база данных с пользователями и их историей генераций изображений.
основной стек: python, pytorch, pillow, streamlit



B7e353f983 384acfc730 D38d7af32c