Взгляните на мир глазами робота: как устроено «машинное зрение»

Иногда мы слышим словосочетание «машинное зрение». Многие думают, что это что-то вроде предвестника грядущего восстания машин или технология, позволяющая Терминатору смотреть сквозь стены. На деле же это огромный технологический сегмент, несущий в себе огромный потенциал для встраиваемых решений. Проще говоря, это раздел современной робототехники, который позволяет роботам эффективнее работать на человека.
Взгляните на мир глазами робота: как устроено «машинное зрение»
Gallo images

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Вычислительная потребность «машинного зрения»

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

Фото
Фото
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Скажем, существует датская фирма Qtechnology, которая поставляет «умные камеры» для сортировки овощей. Они способны без участия человека обрабатывать до 25 тонн продукции в час. Такие объемы достигаются за счет анализа свыше 250 000 отдельных продуктов на базе более чем 500 000 изображений. И поскольку каждая картинка занимает примерно 6,2 Мб, получается, что в итоге требуется анализ свыше 2,5 терабайт графических данных в час — колоссальный объем информации! Только для передачи такого массива потребуется более 6 часов при использовании гигабитного подключения Ethernet.

Чтобы не потеряться и всегда быть на связи, читайте нас в Яндекс.Дзене и не забывайте подписаться на нас в Telegram, ВКонтакте и Одноклассниках!

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
Фото
Фото
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

Применение гетерогенных вычислений

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Упомянутая Qtechnology использует гибридные процессоры APU компании AMD в платформах «умных камер». Эти процессоры сочетают в себе GPU (графический процессор) и CPU (центральный процессор) на одном кристалле. В результате система имеет возможность отправлять на обработку массивы графических данных непосредственно на GPU без какой-либо задержки на передачу между компонентами. А CPU получает возможность обрабатывать без задержек другие задачи, повышая производительность всей системы в реальном времени и обеспечивая необходимую мощность для современных требований систем с машинным зрением.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
Фото
Фото
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Объединение разных вычислительных модулей на одном кристалле или в одной системе позволяет передать каждому элементу соответствующую ему нагрузку — и это основа гетерогенных вычислений. Консорциум Heterogeneous System Architecture (HSA) Foundation был основан в 2012 году, чтобы сформулировать открытые отраслевые спецификации для процессоров и систем, которые используют все доступные вычислительные элементы для повышения конечной эффективности. Компания AMD продвигает концепцию гетерогенных вычислений, суть которой заключается в совместном использовании всех вычислительных ресурсов системы: как центральных, так и графических процессоров.

В частности, GPU представляет собой модуль параллельных вычислений, который может легко применять одни и те же инструкции для больших наборов данных (в нашем случае — пикселей) одновременно; и это именно то, что необходимо компаниям для работы установок с машинным зрением. К тому же производительность системы может быть увеличена за счет объединения возможностей APU с внешней дискретной видеокартой. Такой подход позволяет компаниям при необходимости добавлять вычислительные ресурсы GPU для поддержки еще более сложных задач машинного зрения.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Обширная поддержка экосистемой архитектуры x86 позволяет компаниям использовать библиотеки для обработки изображений с открытым кодом или подключать решения от сторонних компаний, такие как OpenCV, Mathworks Matlab и Halcon. Инструменты отладки, анализаторы задержек и профилировщики (perf, ftrace) сегодня так же широко доступны. Машинное зрение представляет собой самый свежий пример использования вычислительной мощности полупроводников для сокращения затрат, ускорения производства, повышения качества и получения ряда других полезных преимуществ, используемых во многих приложениях и отраслях. Таким образом, благодаря инновациям и успешным идеям инженеров по встраиваемым решениям возникает положительный эффект в целом для экономики, культуры и каждого из нас в частности.

Так или иначе, мы надеемся, что машинное зрения будет и впредь применяться для сортировки овощей, а не для подготовки восстания машин :)