12 мая

Дневники Vmx Разработчика. Vmx SDK и Полная совместимость

Май идёт победоносной поступью, а это значит, что пришло время очередного выпуска дневников! 

(скрежет старого проектора, голос диктора с хрипотцой, подергивания изображения, фильтр ч/б)

Ещё в 1944 году господами Маккалоу и Питтсом были представлены наброски нейронной сети, имеющей веса и пороговые значения, но без послойной организации. Почти через 13 лет Розенблатт Ф., видный американский ученый и специалист по искусственному интеллекту, представил вниманию общественности первую математическую модель восприятия информации мозгом. Уже через 3 года он построил машину, получившую название “Марк-1”, основанную на этой модели и ставшую первым в мире нейрокомпьютером!

(конец скрежета старого проектора, смена сцены с затуханием, 350 мс)

С тех пор прошло больше полувека. Наше утро сейчас напоминает мечты фантастов из 60-х, а достижения микроэлектроники, лежащие на наших ладонях прямо сейчас, в любой момент становятся инструментами добычи ценной информации. Мы имеем доступ к крупнейшей библиотеке и можем взять всё, что угодно и в любое время, не поднимаясь с кресла — предел мечтаний визионеров из прошлого века! А если бы все инструменты были абсолютно совместимы друг с другом…

Идеи совершенной унификации программного обеспечения и разработки всеобъемлющего набора инструментов никогда нас не оставляли. Совершенно иной уровень технической поддержки, когда пользователь получает доступ не только к функциональным возможностям комплекса, но и к инструментам разработки, с которыми задача абсолютной кастомизации станет не просто выполнимой — она станет тривиальной! Наш Software Development Kit обеспечит возможность и точечной доработки уже существующего продукта, и реализации совершенно уникальных модулей. SDK станет нашей симфонией № 6, которую мы исполним в этом выпуске Дневников!

А ещё мы провели эксперимент, подтвердивший возможность использования нейронной сети сторонней разработки совместно с нашим программным комплексом, и об этом мы тоже расскажем ниже.

Эксперименты над разумом: нейронная сеть строит “карту глубины”

В рамках развития и совершенствования наших продуктов мы часто проводим исследования и эксперименты, проверяем гипотезы. Результат закономерен — расширение функциональных возможностей продуктовой линейки. Например, одним из пунктов программы развития Vmx Dequs является расширение возможностей интеграции с ПО от сторонних разработчиков. И недавно мы нашли подходящего “кандидата”, обратившись к опыту зарубежных коллег. Им стала любопытная разработка… А применили мы её на одном из “боевых” решений — ПАКе, осуществляющем оптико-визуальный контроль брикетов каучука. Да-да, тех самых брикетов, среди которых невозможно отыскать даже пару схожих.

По традиции задача была непростой. Идеальные условия применения готового решения для построения карты глубины — это наличие 3D-камеры или более сложного устройства и подходящий порядок требуемых размеров, которые нужно контролировать. В нашем распоряжении были 2D-изображения и размеры, на порядок меньше тех, к которым нейронная сеть могла применяться. Также наш случай задачи оценки и построения т. н. “карты глубины” характеризовался тем, что информация об освещении, тенях и прочие данные не “подкидывались” Системе явно, а обучающий датасет готового решения был сформирован с использованием ранее упомянутого специального лазерного оборудования и содержал попиксельную разметку изображений с глубиной, соответствующей некоему значению в метрах. То есть заранее обученная нейросеть не была приспособлена к нашему случаю. Напомним, размеры дефектов на брикетах каучука редко превышают 10 сантиметров.

Однако, цель эксперимента — опытная интеграция готового решения в наш программный продукт. И нам удалось внедрить стороннее решение, хоть и полученные результаты контроля не отличались точностью. С другой стороны — отличный способ пополнить библиотеку высокотехнологичных картин. Откроем художественную школу для нейронных сетей и будем писать свои произведения искусства. Посмотрите, как прекрасно! Бендеру из Футурамы  наверняка понравилось бы.

Карта глубины брикета

Что вы видите на картинке? Варианты ответов: а) сектор атласа мира, б) пламенный след поднимающейся в воздух ракеты, в) карта глубины каучукового брикета и г) луна-парк. Правильный ответ показан на картинке ниже.

 

Брикет каучук

Правильный ответ — вариант в) каучуковый брикет

Полученный опыт позволил нам сформулировать три способа оценки и построения “карты глубины” без специального оборудования:

  • с использованием одного изображения, где основная сложность заключается в бесконечном множестве вариантов проекции точек из 3D-пространства в 2D;
  • с использованием двух изображений и применением эпиполярной геометрии;
  • с использованием изображений из потока кадров, где скорость изменения объектов в движении содержит информацию о глубине. Например, известная любому оптическая иллюзия, при которой объекты, находящиеся на различном расстоянии от движущегося наблюдателя, перемещаются с разной скоростью, несет в себе сведения о глубине, то есть об относительном расположении наблюдаемых объектов. Однако пока мы сомневаемся, что улавливаемые таким образом смещения будут содержать достаточно информации для просчета глубины.

Вот так найденный ответ на один из наших вопросов породил новые вопросы. Мы продолжаем изыскания в этом направлении, а пока расскажем о нашем новом продукте… Хотя нет, это даже больше, чем просто продукт.

 

Целой линейки мало: как автоматизировать контроль качества продукции и технологического процесса самостоятельно

Рано или поздно перед производителем, желающим одновременно повысить качество выпускаемого им продукта и уменьшить удельные затраты на сырье, встают вопросы, возможно ли получить и то, и другое одновременно? Или какой путь выбрать? При ужесточении требований к качеству продукции неминуемо растут требования как к технологическим процессам производства, так и к исходным материалам. Кроме того, здоровая конкуренция на рынке требует безостановочного совершенствования предлагаемых производителем продуктов. “Качество” здесь — не просто слово, но причина, следствие и основной драйвер.

“ВидеоМатрикс” может предложить целый ряд как универсальных, так и специализированных решений в области контроля качества и видеоаналитики. Но вопрос специфики производства ряда продуктов и условий интеграции наших Систем иногда мог вызвать некоторые технические нюансы реализации. А теперь в нашем арсенале появилось решение, снимающее любой вопрос гибкости и кастомизации. Встречайте нового резидента и безальтернативного хэдлайнера — Vmx Dequs SDK!

Ультимативный набор инструментов Vmx Dequs SDK – это программный продукт, предназначенный для разработки программного обеспечения, решающего задачи контроля качества поверхности продукции, поверхности оборудования и контроля технологических процессов. Vmx Dequs SDK основан на Vmx Platform и включает в себя набор библиотек, исполняемых модулей и файлов конфигурации. Платформа имеет модульную конструкцию, что позволяет использовать ее функциональные возможности как полностью, так и любой модуль отдельно.

Возможности, открывающиеся при использовании Vmx SDK, не просто обширны. Начнем со сборки всех запускаемых компонент в единый контейнер, самодиагностики, контроля запуска и целостности ПО, продолжим инклюзивным контролем процесса получения видеопотока и управления полем зрения камер, добавим возможность самообучения и масштабирования модуля обработки потока и покроем это многообразие перспектив отправкой сообщений как на электронную почту, так и в любой мессенджер — такого вы еще не видели, друзья! А еще с помощью SDK можно организовать:

  • двунаправленную связь с устройствами (датчики, исполнительные механизмы, модули сигнализации) через преобразователь протоколов Modbus \ TCP;
  • горизонтальные и вертикальные межмодульные связи, построенные на базе библиотеки быстрого обмена сообщениями и данными;
  • менеджмент хранения фото- и видеомаркеров фиксируемых событий;
  • библиотеки детекции, классификации и трекинга с функциями, обеспечивающими применение их в промышленных условиях;
  • доступ к модулю настройки и визуализации результатов обработки;
  • доступ к модулю разметки;
  • масштабируемый шаблон модуля обработки видеопотока;
  • стандартизованные информационные сообщения о результатах обработки любого уровня детализации;
  • локальное хранилище результатов;
  • API для обмена данными с внешними Системами;
  • интерфейс визуализации.

Какие преимущества получает пользователь? Тысячи их, друзья, смотрите:

  • не тратим время на разработку инфраструктурных компонент и сосредотачиваемся на реализации ML (DL), CV-задачах и бизнес-логике;
  • путем конфигурирования работы готовой алгоритмической циклограммы или (и) подключения своих нейросетевых моделей и без изменения программного кода мы получаем бизнес-результат, в том числе:
    • отключаем или включаем требуемые опции;
    • настраиваем чувствительность функций системы под нужные критерии;
    • настраиваем удобное оповещение;
    • получаем SDK-функции обработки изображений с помехоустойчивой направленностью;
    • дополняем шаблон модуля обработки изображений своими функциями обработки и бизнес-логикой — недостающие элементы вы сможете разработать самостоятельно и интегрировать через предусмотренные точки встраивания новых функций в Систему.

SDK скоро станет доступным, а пока мы готовим релиз, у вас есть время подписаться на наши Facebook и Instagram. Отслеживайте новостной раздел на официальном сайте, ведь самые свежие новости о наших достижениях появляются там раньше всего.

На связи!

 

* * *

Предыдущие выпуски Дневников Разработчика:

Выпуск 1. Итоги 2020 года

Выпуск 2. Трекинг людей, животных и экомониторинг выбросов

Выпуск 3. Что такое Vmx продукты и с чем их едят. Бургерная аналогия

Выпуск 4. Как контролировать качество продукта. Брикет каучука

Выпуск 5. Как оценить количество посетителей

Выпуск 6. Жизненные сложности для нейронной сети, и Как повысить Vmx производительность на маломощном железе

Читайте также: