Научить компьютер видеть непросто. Нельзя просто поставить камеру на компьютер и ожидать, что она все увидит. Например, представьте, что кто-то бросает вам мяч через комнату, и вы его ловите. Это кажется простым, правда? Но на самом деле это один из самых сложных и запутанных процессов, который мы когда-либо пытались понять, не говоря уже о воспроизведении. По сути, когда вы видите мяч в воздухе, он сначала ударяет по вашей сетчатке, когда выполняет комплексный анализ и отправляет эту информацию в мозг, где зрительная кора более тщательно анализирует изображение. Затем эта информация передается в остальную часть коры головного мозга, которая сравнивает изображение со всем, что он уже знает, определяет размеры объекта, а затем принимает решение о действии, которое нужно выполнить, например, поднять руку (-и) и поймать мяч. Все это происходит за доли секунды с минимальным или нулевым сознательным усилием и почти никогда не выходит из строя. Если вы хотите, чтобы компьютер смотрел на мир, как человек, он будет полагаться как на компьютерное зрение, так и на распознавание изображений.

Что такое компьютерное зрение?

Лучше всего рассматривать компьютерное зрение как часть человеческого мозга, обрабатывающую информацию, полученную через глаза. Это то, что дает сканеру штрих-кода возможность «видеть» все полосы на этикетке UPC. Именно так Apple использует Face ID в своей последней модели iPhone, чтобы определить, на что смотрит камера, собственно, владелец телефона.

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

Хотя компьютер легко заставить распознавать определенное изображение, например QR-код, это совсем другая история, когда вы хотите, чтобы он распознавал вещи в состояниях, которых они не ожидают. Если мы вернемся к нашей детской аналогии, упомянутой выше, многие дети могут сразу распознать буквы и цифры, которые перевернуты. Это потому, что наши биологические нейронные сети довольно хорошо интерпретируют визуальную информацию, если изображение, которое мы обрабатываем, выглядит не так, как мы ожидаем.

Популярные статьи AR VR:

1. Робототехника с дополненной реальностью

2. Инфографика: будущее виртуальной реальности

3. Mario Kart в реальном транспортном средстве с VR!

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

Проблемы технологии компьютерного зрения

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

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

Обнаружение объекта. Это включает в себя распознавание различных фрагментов изображений и рисование ограничительной рамки вокруг каждого распознанного фрагмента изображения. Эту проблему решить сложнее, поскольку она требует дополнительных корректировок координат изображения. Самый известный на сегодняшний день метод обнаружения называется Faster-RCNN (Regional Convolutional Neural Network), который отвечает за локализацию в областях изображения, которые необходимо обработать и классифицировать.

Сегментация изображения - это процесс разделения изображения на основе имеющихся объектов с точными границами. Существует два типа сегментации изображения: семантическая сегментация и сегментация экземпляра. При семантической сегментации вам необходимо пометить каждый пиксель объектом класса. В случае сегментации каждый объект классифицируется по-разному.

Субтитры к изображениям. Это одна из самых сложных проблем компьютерного зрения, потому что в ней есть дополнительные возможности обработки естественного языка. Он включает создание заголовка, наиболее подходящего для вашего изображения. Подписи к изображениям - это обнаружение изображений плюс добавление подписей. Обнаружение выполняется тем же методом Faster-RCNN, который упоминался выше. Подпись выполняется с помощью RNN (рекуррентной нейронной сети).

ИИ против человеческого мозга

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

Несмотря на то, что в области искусственного интеллекта произошел ряд крупных прорывов, таких как победа AlphaGo над чемпионом мира в игре по го, бот Dota2 Open AI победил экспертов в игре Dota2. Этот материал очень нишевый, то есть бот Dota2 специфичен для Dota2. С другой стороны, человеческий мозг очень универсален, что означает, что вы используете свой мозг во всех своих повседневных делах. Чтобы составить конкуренцию человеческому мозгу, нам понадобится аналогичный общий искусственный интеллект.

С наилучшими пожеланиями,

Команда Skywell Software