When submitting a solution in C++, please select either C++14 (GCC 6-32) or C++17 (GCC 7-32) as your compiler. ×

gKseni's blog

By gKseni, 7 years ago, In Russian

Слышали про запуск приложения по обработке изображений Fabby (iOS)? Там не обошлось без рук олимпиадников!

Нейросети обрабатывают изображения на самом девайсе. По словам команды, у них это сделать будет проще, чем в Prisma или MSQRD, которые тоже позволяют редактировать снимки.

Людям нравится — Юрий Ra16bit Писарчик, член команды Fabby, пишет на страничке Вконтакте:

Почитайте, что он рассказал мне о проекте:

Поздравляю с запуском! Видео с котиками очень крутое. Жду выхода приложения на андроид. Теперь не надо будет вырезать себя в фотошопе вручную, чтобы пошутить над друзьями, что я куда-то уехала ;) А с какой мыслью вы начинали проект?
— Спасибо за поздравление! Я присоединился к стартапу Aimatter, спустя пару месяцев после его основания. Я как раз тогда искал, чем бы интересным и новым заняться, и меня привлекло то, что эта компания занимается технологиями на основе нейронных сетей.

Почему выбрали нейронные сети?
— Эта тема выглядит сейчас очень перспективной, потому что вычислительные мощности GPU возросли в достаточной степени, чтобы тренировать глубокие сети. И параллельно с этим учёные публикуют много интересных работ, связанных с их применением к различным прикладным задачам. В общем, сложилось впечатление, что нейронные сети в ближайшие годы позволят решать многие задачи, к которым сложно подступиться с помощью алгоритмов и классического машинного обучения. А начать мы решили с применения их к computer vision, в частности для задач стилизации фото и выделения контура человека на портретной фотографии.

Проект дошел до выпуска целиком в том виде, в каком задумывалось?
— Разработку проекта здесь можно разделить на две смысловые части: технологическую и продуктовую.

Что касается технологий, то да, мы зафиксировали перед собой две главный задачи: выделение контура человека и перенос стиля, и совершенствовали их все эти месяцы, чтобы получить действительно качественный результат. Кроме нейронных сетей, нам понадобилось применить и некоторые алгоритмы классического computer vision, и даже решать дифференциальные уравнения.

А вот продуктовая часть сильно менялась по ходу разработки. Постоянно появлялись новые идеи, а также отбрасывались некоторые старые, которые со временем стали казаться не столь удачными. Также надеемся через несколько недель выпустить версию, которая работает не только с фотографиями, но и с видео — первоначально мы как раз больше на видео ориентировались.

Навыки, приобретенные на олимпиадах по программированию, пригодились?
— Олимпиадные навыки пригодились, причём, что удивительно, с самого первого дня: как часть эксперимента, мне надо было реализовать один из часто встречающихся на контестах алгоритмов. Так как у нас в приложении всё выполняется на телефоне, а не на сервере, то крайне важно писать код так, чтобы он и быстро работал и соответствовал строгим ограничениям на потребляемую память. А ещё пришлось вспомнить и реализовать кое-что из линейной алгебры и мат. анализа с первых курсов универа.

В команде еще есть олимпиадники?
— Из олимпиадников, кроме меня, у нас работают aropan и Tkach1024, которые также ежегодно организуют чемпионат БГУИР, а также kostya_by (он был в команде БГУ на финале ACM ICPC 2016 года, а также взял серебро на IOI 2013). У меня и aropan были медали на IOI 2008 и ACM ICPC 2012. И ещё несколько людей, которые работали над проектом, сейчас уже не пишут или редко пишут контесты, но имеют олимпиадное прошлое. Среди бывших олимпиадников, кстати, и тимлид команды разработки Сергей P_YegreS_P Писарчик, и основатель проекта Юрий What1 Мельничек. Но понятное дело, что среди разработчиков у нас не только олимпиадники. Например, написание самого мобильного приложения или кода для GPU, над этим уже работали ребята с соответствующим опытом.

Участники IOI этого года посмотрят и воодушевятся твоим примером. Поищешь фотографий?
— Хорошо, только у нас не много фоток, таких, чтобы большая часть команды на них присутствовала.

Хм. А вы думали насчет объединения людей с нескольких фотографий? :)
— В таком направлении особо не думали. Вот есть такая, это в офисе в сентябре.


Слева направо: Полина Ковальчук, Юрий Писарчик, Александр Баранов, Роман Сорокин, Матвей Жданович, Сергей Писарчик, Андрей Кулик (в оранжевом), Андрей Ткаченко, Валентин Базаревский, Константин Сокол и Дмитрий Пылило

И есть ещё такая вот, это мы летом ездили в Хорватию пописать код на берегу моря 10 дней.Тогда наша команда была чуть меньше.


Слева направо: Николай Чирков, Сергей Писарчик, Юрий Писарчик, Дмитрий Пылило, Алексей Ропан, Андрей Ткаченко, Юрий Мельничек, Игорь Кибальчич

О, круто! И каково работалось в таких условиях?
— Отлично, мы все жили в одном большом съёмном коттедже, поэтому работали даже больше обычного. Но каждый день обязательно ходили поплавать в море — иногда несколько раз. А также катались на велосипедах и на катере, в общем было весело.

Поездка в Хорватию действительно очень сплотила команду, а также помогла мне быстро влиться в коллектив, потому что я тогда только присоединился к работе над проектом.

Планы на будущее — видео, андроид... Еще есть мысли?
— Сейчас основным видится реал-тайм обработка видео, версия под андроид и обучить сеть сегментировать не только людей. Иногда по ходу дела к нам приходят новые идеи, тогда мы экспериментируем ещё и с ними.

P.S.: Это уже второй стартап по обработке изображений от олимпиадников.

  • Vote: I like it
  • +125
  • Vote: I do not like it