Блоги
Разработчики из Гонконга представили нейросеть MirrorNet, способную распознавать зеркала в кадре

Разработчики из Гонконга представили нейросеть MirrorNet, способную распознавать зеркала в кадре

Разработчики из Гонконга представили нейросеть MirrorNet, способную распознавать зеркала в кадре


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

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

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

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

Схема работы MirrorNet.

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

Результат работы алгоритма.

Интересно, что алгоритм прогоняет изначальное изображение через эти стадии несколько раз.

Сравнение результатов работы алгоритма определения глубины до и после предварительного анализа изображения нейросетью MirrorNet.

Для обучения MirrorNet разработчики вручную собрали датасет из 4018 пар снимков помещений с зеркалами. Пары состоят из исходного снимка и его маски, на которой выделено расположение зеркала. 3063 пар изображений были отобраны для обучения, а оставшиеся 955 использовались для проверки обученного алгоритма.

Примеры изображений из собранного датасета.

Дальнейшее сравнение с другими алгоритмами на этом датасете показало, что новый алгоритм работает гораздо стабильнее, выделяя зеркала практически так же, как они располагались на снимке в реальности:

Сравнение работы MirrorNet (предпоследний столбец) с другими алгоритмами, а также с настоящим положением зеркала на исходном снимке (последний столбец).

Источник: N+1


Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: