Где используют computer vision

От маски в FaceApp до автопрома.

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

Фиксация нарушителей ПДД на камеры, трансляция изображения дронами и даже маски с эффектом старения в FaceApp — все это применение компьютерного зрения.  Рассказываем, как computer vision используют в разработке автопилотов, промышленности, ритейле и спорте.

Взаимодействие с миром
 

До начала 1980-х большинство задач, которые поручали компьютерам, относились к вычислениям или моделированию. Ничто извне не влияло на работу, а результаты оставались в пределах систем.  

Сейчас компьютеры научились решать конкретные задачи, управляться с внутренними алгоритмами и начали взаимодействовать с миром. Computer vision (компьютерное зрение) учит машины понимать и видеть объекты извне.

Задачи, которые решает computer vision, можно разделить на простые и сложные. Простые — это, например, определение класса объекта на изображении. Сначала устройства получают графическую информацию с камер или баз фотографий.  С помощью библиотек (например. OpenCV), пиксели картинок декодируют. Это позволяет сегментировать фото, определять границы объектов или лица. Такие операции называют «низкоуровневым» зрением. 

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

Автопилоты и промышленные роботы
 

Машинное зрение  — это инженерное применение технологий компьютерного зрения на производстве. Впервые machine vision внедрила американская компания Automatix. В 1980 году она реализовала производство микросхем без участия человека.

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

Компьютерное зрение — основа всех систем автопилотов. Лучший пример — автопилот Tesla. Программировать компьютерное зрение для открытой среды намного сложнее, чем создавать промышленных роботов: на производстве меньше факторов, которые нельзя спрогнозировать. На открытом пространстве слишком много непредсказуемых параметров (поведение людей, погода, животные, особенности ландшафта).

Автопилотом Tesla занимаются 48 отдельных нейросетей, которые при обучении обработали 70 000 часов графики. Нейросети обучаются на разных сценариях и выдают тысячи прогнозов.

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

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

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

Персональный тренер, идеальный сэндвич и пазлы для археологов
 

Компьютерное зрение используют и для простых бытовых задач. Так, в 2019 году Amazon выпустил приложение StyleSnap, которое называют «шазамом для одежды». Оно обрабатывает фото одежды, загруженное пользователем, и ищет подобные вещи в магазине Amazon. 

Еще одно решение использовали в супермаркетах Amazon Go, где нет кассиров. Чтобы войти, нужно отсканировать QR-код. Магазин определяет, что покупают люди, с помощью приложения Just walk out. Анализируя записи с камер, приложение узнает товар, который взял покупатель, и автоматически списывает деньги с его банковской карты.

Другой пример — разработка стартапа Exer. Весной 2020 года он представил онлайн-тренера, который следит за занятием в режиме реального времени. Перед запуском приложение обработало десятки тысяч фото, на которых тренировались люди. С помощью камеры и машинного обучения приложение следит за движениями пользователя и корректирует их. В компании отметили, что во время запуска приложения люди не могли посещать спортзалы из-за самоизоляции. 

Пример работы Exer

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


Источник: блог Итана Розенталя

Еще в 2018 году израильские ученые создали нейросеть, которая, наоборот, ищет лучший способ соединить фрагменты. Программа помогает археологам: обрабатывает снимки и умеет воссоздавать изначальный вид вещи по найденным обломкам.


Пример результатов работы

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

Компьютерное зрение может не только восстанавливать из фрагментов, но и создавать новую реальность. Компания NVIDIA и MIT представили технологию Video-to-Video. Она позволяет создать реалистичное видео на основе шаблона. Загружая выходные данные, мы получаем, например, модель движения машин или прорисовку города.

MIT работал над еще одним проектом — Temporal Relation Network. Исследователи научили нейросеть не просто определять, как выглядят предметы, но и понимать, что с ними делают. Для этого TRN выбирает несколько ключевых кадров из потока видео. Потом сеть анализирует их и учится сравнивать изменения. В MIT полагают, что технологию можно будет использовать для selfsupervised-обучения роботов.


Обложка: Towards Data Science

Ещё
Как нейросети отслеживают вырубку лесов, считают популяции животных и помогают фермерам.
Отзывы студентов первого потока курса «SQL для аналитики».