Разработки в области встраиваемого технического зрения

Разработки в области встраиваемого технического зрения

Выпуск 16(6690) от 15 августа 2019 г.
РУБРИКА: ОБОРУДОВАНИЕ

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

Встраиваемое техническое зрение стало одной из актуальнейших тем во многих промышленных применениях. Результатом интеграции обработки данных в блоке видеокамеры без необходимости использования базового ПК, сервера и т. п. может стать сокращение непериодических издержек, повышение производительности, оптимизация занимаемой прибором площади (уменьшение размера, веса, потребляемой мощности и стоимости – ​т. е. снижение условного показателя SWaP-C). Это означает, что дальнейшее развитие на различных рынках промышленной электроники будет во многом обуславливаться достижениями в области встроенного технического зрения.

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


ТЕХНОЛОГИЯ ОБРАБОТКИ

Один из первых вопросов, с которыми сталкиваются разработчики, – ​выбор технологии. Его решение все больше усложняется, поскольку предлагаемые в рамках различных технологических подходов производительность и скорость обработки данных нарастают.

Центральные процессоры, графические процессоры и вентильные матрицы, программируемые пользователем (FPGA), предоставляют производителям встраиваемых систем технического зрения достаточно широкие возможности (см. таблицу). Но все больше изготовителей ИС и плат принимают решение о закупках, исходя не только из технологического процесса поставщика. Важную роль играет информация обо всей цепочке поставок, качестве изделий, сроках поддержки и долговечности приобретаемой продукции.


Основные аспекты центральных процессоров (ЦП), графических процессоров (ГП) и вентильных матриц, программируемых пользователем (FPGA)

ЦП

ГП

FPGA

Комментарии

Простота разработки

Отлично

Отлично

Хорошо

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

Интерфейсы

Хорошо

Хорошо

Отлично

FPGA могут поддерживать широкий диапазон интерфейсов, но для некоторых интерфейсов ЦП и ГП предлагают лучшие опции

Время ожидания

Хорошо

Плохо

Отлично

FPGA обеспечивает детерминированную синхронизацию до уровня наносекунд. ЦП могут обладать тактовой частотой до 3 ГГц

Пропускная способность

Плохо

Отлично

Хорошо

ГП могут жертвовать временем ожидания из-за низкой тактовой частоты, но высокий параллелизм их работы позволяет достигать большей пропускной способности

Возможность перепрограм-мирования

Хорошо

Хорошо

Отлично

FPGA – ​единственное решение, поддерживающее модернизацию и корректирующее ошибки при последующем использовании

Доступность и срок службы

Отлично

Хорошо

Отлично

ГП лучше всего подходят для производства в кратко- и среднесрочной перспективе. ЦП и FPGA могут использоваться в промышленных конструкциях длительного применения


ЦЕНТРАЛЬНЫЕ ПРОЦЕССОРЫ

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


ГРАФИЧЕСКИЕ ПРОЦЕССОРЫ

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

Графические процессоры приобретают популярность в применениях встраиваемого видео. Отчасти это обусловлено возможностью их использования в приложениях, где простые операции могут выполняться параллельно и в непрерывном режиме на больших объемах данных. В частности, графические процессоры обладают существенными преимуществами в обучающих приложениях искусственного интеллекта (ИИ), где возможность обрабатывать большие объемы данных в относительно сжатые сроки имеет большое значение. Но когда дело доходит до формирования логических выводов на основе функций ИИ, FPGA обладают лучшей производительностью по сравнению с графическими процессорами. Графические процессоры хорошо подходят, например, для постобработки видео, так как здесь предлагается оптимизированная эффективность вычислений с плавающей запятой и матричной математикой. Недостаток ГП – ​в большой потребляемой мощности, отрицательно влияющей на встраиваемые системы технического зрения, где очень важны портативность и малое значение SWaP-C.

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


FPGA

На самых высоких уровнях обработки данных FPGA обеспечивают наибольшие преимущества в быстродействии и гибкости. Соответственно, они больше подходят для обработки в реальном масштабе времени многоинтерфейсных приложений по сравнению с центральными и графическими процессорами. А перепрограммируемость и гибкость конструкции обеспечивают возможность как изменения собственно конструкции, так и создания новых функциональных возможностей, которые не могут быть достигнуты в рамках любой другой архитектуры (рис. 1).



Источник: Photonics Spectra

Рисунок 1. Сопоставление производительности ЦП, ГП и FPGA с учетом характеристик обработки изображения


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

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


ГЕТЕРОГЕННАЯ АРХИТЕКТУРА

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

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

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


ПОДДЕРЖКА ПРОЕКТИРОВАНИЯ

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

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

Однако, если интегрируемые в проект технологии не знакомы команде разработчиков, ее членам следует в первую очередь выяснить вопрос инженерной издержки производителя или его парт-неров. В ряде случаев такая помощь может оказываться через местные филиалы разработчиков. Как уже говорилось, коммерческие сроки жизни конкретных графических процессоров на рынке составляют от 18 до 36 месяцев, хотя ресурс самих приборов можно продлить до 10 лет. При этом у поставщиков полупроводниковых решений «с полки» (commercial off-the-shelf) имеется постоянный запас компонентов, которые можно использовать при создании любой конструкции.

Компоненты «с полки» разработчик может отобрать самостоятельно или же привлечь внешнего поставщика инженерных услуг для помощи в проектировании. Любой вариант способен упростить график разработки и позволить группе разработчиков сосредоточиться на увеличении добавленной стоимости ее СФ-блоков. При работе с поставщиком инженерных услуг, знакомым с выбранными технологиями и брендами, многие проблемы проектирования могут быть решены быстрее, иногда с использованием существующих строительных блоков. Если же первоначальные инвестиции в себестоимость или планирование нецелесообразны, наборы инструментальных средств разработки «с полки» могут обеспечить платформу для недорогого и быстрого создания опытных образцов.


ТРАЕКТОРИИ ПЕРЕХОДА

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

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

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

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

То же самое верно для формирователей сигналов изображения и камер, а также для всех других компонентов, разработанных для нового изделия. При выборе любого из этих компонентов для окончательного проектирования очень важно, чтобы разработчик системы был осведомлен о доступности перспективных оценок. Работа с платой «с полки» часто решает проблему доступности, поскольку поставщик платы управляет цепочкой поставок и занимается вопросами устаревания. Важно найти надежного поставщика, публикующего уведомления об изменении продукта (product change notifications, PCNs), не часто меняющего номера деталей и предоставляющего «заплатки» и техническую поддержку в случае необходимости. Это здоровые признаки того, что поставщик поддерживает свои конструкции на протяжении длительного времени.

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


ТРЕБОВАНИЕ БУДУЩЕГО – ​ГИБКОСТЬ

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



Источник: Yole Développement

Рисунок 2. Некоторые области применения встраиваемых систем формирования изображения


Rice Dave, Thousand Amber. Critical Considerations for Embedded Vision Design. Photonics Spectra Digital Edition, July 2019: https://www.photonicsspectra-digital.com/photonicsspectra/july_2019/MobilePagedArticle.action?articleId=1502172&app=false#articleId1502172


ЧИТАЙТЕ ТАКЖЕ