Китайские разработчики научили нейросеть распознавать зеркала на изображениях. Алгоритм делает это благодаря тому, что области изображения с зеркалом и без него обычно различаются по текстуре, цвету, а также семантическим признакам. Эксперименты показали, что нейросеть выделяет зеркала на фотографиях лучше, чем другие алгоритмы для этой задачи, рассказывают авторы статьи, которая будет представлена на конференции ICCV 2019.
Зеркала представляют собой достаточно большую проблему для алгоритмов компьютерного зрения. Например, при использовании алгоритмов определения глубины на снимке зеркало вероятнее всего внесет искажения в данные и заставит алгоритм «видеть» отраженные объекты на большем расстоянии, чем расположено само зеркало. В качестве решения этой проблемы разработчики предлагают использовать алгоритмы распознавания зеркал, благодаря которым основной алгоритм мог бы игнорировать эту область на снимке. Такие алгоритмы уже существуют, однако пока они имеют низкую точность работы.
Разработчики из Городского университета Гонконга научили алгоритм распознавать зеркала на снимках и качественно выделять их, чтобы затем использовать на таких обработанных изображениях алгоритмы компьютерного зрения. Алгоритм состоит из двух основных частей. Изначально изображение подается на сверточную нейросеть для выделения признаков — операции, при которой алгоритм отсекает лишние данные из изображения и оставляет на нем ключевые данные, например, линии. Благодаря этому изображение уменьшается в размере и становится более простым для анализа, но информация об объектах на нем не теряется.
После этого шага обработанное изображение подается на другую нейросеть, которая занимается анализом контраста на снимке, причем под контрастом в данном случае имеется в виду разница в цвете, текстуре, а также семантике между областями изображения. Определяя границу между областями, где эти параметры сильно различаются между собой, алгоритм определяет положение зеркала и выделяет его на кадре.
Обе эти стадии работают по несколько раз, причем данные с каждого этапа выделения признаков отдаются как на следующий этап этой операции, так и сразу на нейросеть для анализа контраста:
Для обучения нейросети разработчики вручную собрали датасет, состоящий из 4018 пар снимков помещений с зеркалами: исходный снимок и снимок с выделенным зеркалом. 3063 пар изображений были отобраны для обучения, а оставшиеся 955 использовались для проверки обученного алгоритма. Сравнение с другими алгоритмами на этом датасете показало, что новый алгоритм работает гораздо стабильнее, выделяя зеркала практически так же, как они располагались в реальности:
В области алгоритмов для определения глубины есть и другие проблемы помимо зеркал. Например, нейросетям достаточно трудно определять глубину на снимке, если и камера и объекты в кадре одновременно двигаются. Разработчики из Google недавно решили эту задачу, причем примечательно, что помогли им в этом ролики, снятые в 2016 году в рамках флешмоба Mannequin Challenge.
Григорий Копиев
Как большие языковые модели стали напористыми
Мнение редакции может не совпадать с мнением автора
Большие языковые модели способны на многое, но все же пока не дотягивают до искусственного интеллекта из научной фантастики. Тем не менее скорость развития ИИ и то, чем он может стать в будущем, вызывает обеспокоенность — в том числе у тех, кто над ним работает. В книге «Если кто-то его создаст — все погибнут. Почему сверхчеловеческий ИИ уничтожит нас всех» («Corpus»), переведенной на русский язык Евгением Поникаровым, руководители Института исследований машинного интеллекта (MIRI) Элиезер Юдковский и Нейт Соарес рассказывают, почему уверены, что существующие методы разработки ИИ приведут к катастрофе, и как ее можно предотвратить. Предлагаем вам ознакомиться с фрагментом о том, как ИИ-модели учатся во что бы то ни стало добиваться цели.