Нейросеть научили видеть зеркала в кадре

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


2019-09-06 17:52

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

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

Определение глубины обычным алгоритмом

Xin Yang et al. / ICCV 2019

Определение глубины после выделения на снимках зеркал

Xin Yang et al. / ICCV 2019

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

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

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

Схема работы алгоритма

Xin Yang et al. / ICCV 2019

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

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

Xin Yang et al. / ICCV 2019

В области алгоритмов для определения глубины есть и другие проблемы помимо зеркал. Например, нейросетям достаточно трудно определять глубину на снимке, если и камера и объекты в кадре одновременно двигаются. Разработчики из Google недавно решили эту задачу, причем примечательно, что помогли им в этом ролики, снятые в 2016 году в рамках флешмоба Mannequin Challenge.

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


Источник: nplus1.ru

Комментарии: