Глазами робота: что такое "машинное зрение"
Машинное зрение по своей сути предполагает анализ визуальной информации для дальнейшего принятия решения, какое действие совершить по отношению к объекту, который находится в фокусе. Простейший пример использования технологии: проверка состояния изделия на конвейере или перед отправкой посылки почтой. Также нередко машинное зрение используется для оценки качества печатных плат, моментально сравнивая каждый новый продукт с эталонной платой перед автоматическим переносом на следующий этап сборки. Эти технологии представляют собой бесценный ресурс для оценки качества и снижения уровня брака там, где человеческий глаз и мозг просто не в состоянии дать объективную оценку из-за необходимости просматривать одинаковые предметы сотни или тысячи раз в день.
Вычислительная потребность «машинного зрения»
По мере роста разрешения оптических систем потенциал машинного зрения также увеличивается, так как вместе с разрешением множится и количество деталей для оценки. Все более и более мелкие объекты могут быть обработаны по шаблонному принципу, что ведет к увеличению нагрузки на процессор, который должен проанализировать значительный массив данных и быстро принять решение о следующем шаге (соответствует/не соответствует, задержать, вернуть в начало и т. д.).
Например, при сортировке овощей простые решения о соответствии и размере оказываются уже неподходящими, потому что стандарты разных стран отличаются, а качество продукции варьируется в зависимости от сезона. Чтобы минимизировать количество брака для производителя и одновременно обеспечить нужное качество для потребителя необходимы более детальные алгоритмы и категории —, а это практически невыполнимая задача для человеческих глаз и мозга. Читать далее
Скажем, существует датская фирма Qtechnology, которая поставляет «умные камеры» для сортировки овощей. Они способны без участия человека обрабатывать до 25 тонн продукции в час. Такие объемы достигаются за счет анализа свыше 250 000 отдельных продуктов на базе более чем 500 000 изображений. И поскольку каждая картинка занимает примерно 6,2 Мб, получается, что в итоге требуется анализ свыше 2,5 терабайт графических данных в час — колоссальный объем информации! Только для передачи такого массива потребуется более 6 часов при использовании гигабитного подключения Ethernet.
Чтобы решить эту задачу с использованием более простых алгоритмов, требуется разбить ее на стадии и установить несколько камер, увеличить зоны освещения, выделить больше места на фабриках и так далее. В качестве альтернативы можно применить более производительные вычислительные системы: с централизованной мощностью и более скоростным соединением или распределенной обработкой информации «умными камерами», которые будут фиксировать данные в реальном времени на каждом этапе, поставляя в финальный механизм принятия решений только готовые параметры.
В стандартных системах визуального контроля качество и безопасность продуктов чаще всего определяются по внешним физическим признакам, таким как текстура и цвет. Гиперспектральная съемка дает пищевой промышленности возможность оценивать продукты по дополнительным химическим и биологическим параметрам, позволяющим определить уровень сахара, жира, жидкости и количество бактерий в каждом продукте.
При гиперспектральной визуализации трехмерные наборы пространственной и спектральной информации получаются из каждого пикселя. Дополнительные спектральные характеристики дают более подробное описание параметров, позволяя осуществлять их классификацию. Трехмерные наборы включают в себя интенсивность (отраженный или пропускаемый свет) каждого пикселя, которая высчитывается при измерении длины всех видимых волн света, в результате каждый набор данных несет в себе массу информации. Этот объем информации отражает экспоненциальный рост в вычислительной задаче для проведения качественного и количественного анализа состояния продукта в реальном времени.
Применение гетерогенных вычислений
Для удовлетворения запросов, а также решения будущих задач, необходимы высокопроизводительные и масштабируемые вычислительные системы.
Упомянутая Qtechnology использует гибридные процессоры APU компании AMD в платформах «умных камер». Эти процессоры сочетают в себе GPU (графический процессор) и CPU (центральный процессор) на одном кристалле. В результате система имеет возможность отправлять на обработку массивы графических данных непосредственно на GPU без какой-либо задержки на передачу между компонентами. А CPU получает возможность обрабатывать без задержек другие задачи, повышая производительность всей системы в реальном времени и обеспечивая необходимую мощность для современных требований систем с машинным зрением.
Объединение разных вычислительных модулей на одном кристалле или в одной системе позволяет передать каждому элементу соответствующую ему нагрузку — и это основа гетерогенных вычислений. Консорциум Heterogeneous System Architecture (HSA) Foundation был основан в 2012 году, чтобы сформулировать открытые отраслевые спецификации для процессоров и систем, которые используют все доступные вычислительные элементы для повышения конечной эффективности. Компания AMD продвигает концепцию гетерогенных вычислений, суть которой заключается в совместном использовании всех вычислительных ресурсов системы: как центральных, так и графических процессоров.
В частности, GPU представляет собой модуль параллельных вычислений, который может легко применять одни и те же инструкции для больших наборов данных (в нашем случае — пикселей) одновременно; и это именно то, что необходимо компаниям для работы установок с машинным зрением. К тому же производительность системы может быть увеличена за счет объединения возможностей APU с внешней дискретной видеокартой. Такой подход позволяет компаниям при необходимости добавлять вычислительные ресурсы GPU для поддержки еще более сложных задач машинного зрения.
Обширная поддержка экосистемой архитектуры x86 позволяет компаниям использовать библиотеки для обработки изображений с открытым кодом или подключать решения от сторонних компаний, такие как OpenCV, Mathworks Matlab и Halcon. Инструменты отладки, анализаторы задержек и профилировщики (perf, ftrace) сегодня так же широко доступны. Машинное зрение представляет собой самый свежий пример использования вычислительной мощности полупроводников для сокращения затрат, ускорения производства, повышения качества и получения ряда других полезных преимуществ, используемых во многих приложениях и отраслях. Таким образом, благодаря инновациям и успешным идеям инженеров по встраиваемым решениям возникает положительный эффект в целом для экономики, культуры и каждого из нас в частности.
Так или иначе, мы надеемся, что машинное зрения будет и впредь применяться для сортировки овощей, а не для подготовки восстания машин :)