Машинное зрение

Машинное зрение: как роботы видят и зачем им камера

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

Что такое машинное зрение

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

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

  • Медицина. Обработка изображений и видео помогает точнее ставить диагнозы.
  • Промышленность. Частичный или полный отказ от ручных операций снижает себестоимость продукции и сводит к минимуму влияние «человеческого фактора».
  • Транспорт и беспилотные аппараты. Камера определяет положение аппарата относительно маркеров, стен и препятствий.

Из чего состоит система

Любая система машинного зрения включает три основных компонента:

  1. подсистему формирования изображений (камера, оптика, освещение);
  2. вычислительную систему;
  3. алгоритмы анализа изображений.
Структура системы машинного зрения Четыре блока слева направо: формирование изображения, вычислительная система, алгоритмы анализа, действие устройства. Формированиеизображения Вычислительнаясистема Алгоритмыанализа Решениеи действие камера, оптика,освещение процессор,память, видеокарта распознавание,оценка положения управление,сортировка, учёт
Три основных компонента системы машинного зрения и результат её работы.

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

Главная трудность — распознавание

Одна из самых сложных задач при применении машинного зрения в робототехнике — распознавание, то есть обнаружение и идентификация объектов. Её решение позволяет оценить положение объекта относительно устройства захвата изображения: понять, где он находится и как повёрнут.

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

Почему именно камера

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

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

Ранний опыт: Lego и веб-камера

Одним из первых наглядных опытов считается демонстрация 2001 года. Команда Robodem из Сергиева Посада вместе с немецкой компанией Neuropower построила на основе стандартного конструктора Lego и простой веб-камеры робота, который собирал логотип компании из девяти случайно разбросанных по столу кубиков. Комплекс показывали на международной выставке в Вене, а авторов пригласили в передачу Computer Club западногерманского канала WDR.

Конкурс «Летающие роботы» 2013 года

Ярче всего преимущества камеры проявились на конкурсе «Летающие роботы» компании КРОК в 2013 году. Задача: взлететь со стартового маркера, автономно пройти лабиринт с препятствиями, вернуться и приземлиться в точке взлёта. По сообщению участников и прессы, из 536 заявок на старте задание выполнил один аппарат — команды Robodem. Датчики, сонары и лидары сознательно исключили: аппарат ориентировался только по изображению камеры.

Где читать дальшеТехнический разбор прохождения — в статье «Как мы улетели и с трудом вернулись». Обзор публикаций в прессе — в разделе «Пресса».