Нейросеть научили качественно выделять объекты на фотографии

Американские исследователи создали алгоритм, который автоматически разбивает объекты на изображении по типам, а затем заменяет объекты, к примеру, фон, на другие. При этом алгоритм учитывает, что некоторые пиксели изображения могут одновременно принадлежать двум разным объектам, и создает плавные переходы между объектами на новом изображении. Статья была представлена на конференции SIGGRAPH 2018.

Как правило, выделение на изображении определенных объектов происходит вручную. Для этого можно применять полностью ручное выделение или инструменты типа «магическое лассо», которые в полуавтоматическом режиме определяют границы между разными объектами, основываясь на различиях в цветах граничащих областей. Кроме того, существуют алгоритмы машинного обучения, которые автоматически проводят семантическую сегментацию — разделяют изображение на области, соответствующие объектам разных типов и самостоятельно определяют эти типы. Во многом именно на таких алгоритмах основана работа систем управления беспилотными автомобилями.

Группа исследователей из Массачусетского технологического института и Швейцарской высшей технической школы Цюриха под руководством Войцеха Матусика (Wojciech Matusik) создали улученную реализацию алгоритма семантической сегментации, способную качественно обрабатывать края объектов при наложении фона или других объектов. Разработчики не ставили задачей классификацию областей по типам, поэтому алгоритм получился классонезависимым и выделяющим объекты, основываясь на границах между ними. Исследователи учли, что в близких к границе объектов областях изображения пиксели могут принадлежать одновременно двум объектам. Именно из-за этого классические методы разграничивания объектов плохо справляются с волосами, полупрозрачными тканями и другими подобными объектами.

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

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

Григорий Копиев