Пошаговое руководство о том, как внедрить процесс автоматизации ИИ без кода с помощью DeepStack и Node-RED

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

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

Мы рассмотрим следующее

  • Платформы без кода и с низким кодом (введение)
  • Node-RED (платформа без кода и с минимальным кодом )
  • DeepStack (открытый исходный код и бесплатный сервер AI API)
  • Автоматическое обнаружение объектов на статическом изображении
  • Автоматическое обнаружение объектов в прямой трансляции с IP-камеры
  • Автоматическое распознавание лиц

Платформы без кода и с низким кодом

Платформа Без кода – это платформа для разработки, на которой прикладное программное обеспечение или рабочие процессы создаются без написания кода или с очень небольшим количеством кода (т.н. с низким кодом). Платформы разработки — это, прежде всего, визуальные среды разработки программного обеспечения, которые позволяют разработчикам предприятий и гражданским разработчикам перетаскивать компоненты приложений, соединять/связывать их вместе для создания мобильных, веб-приложений и консольных приложений.

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

В этой статье мы познакомим вас с платформой No-code и Low-code под названием Node-red.

Введение в NODE-RED

Node-RED — это инструмент программирования, который предоставляет потоковый редактор на основе веб-браузера для визуального программирования, изначально разработанный IBM для связывания аппаратных устройств, API-интерфейсов и онлайн-сервисов в рамках Интернета вещей (IoT), который можно развернуть в среде выполнения. в один клик. Node-RED — это веб-платформа, построенная на Node.js, которая позволяет вам легко представлять поток приложения с помощью холста перетаскивания и соединять их. Чтобы создать любой рабочий процесс приложения в Node-red, каждый узел должен быть связан вместе и развернут.

Узел-красный Установка

Node-RED можно установить любым способом локально, на такое устройство, как ноутбук, Raspberry Pi и на облачную машину.

Локальная установка Node-RED

Для локальной установки Node-RED вам понадобится поддерживаемая версия Node.js.

Вариант 1. Установка с помощью NPM
Затем используйте команду npm, поставляемую с node.js, для установки Node-RED:

  • В Windows
npm install -g --unsafe-perm node-red
  • В Linux
sudo npm install -g node-red

Эта команда установит Node-RED как глобальный модуль вместе со своими зависимостями. После установки запустите Node-RED, выполнив команду ниже

node-red

После выполнения вышеуказанной команды Node-RED доступен, как показано ниже, по адресу http://localhost:1880.

Вариант 2. Установка с помощью Docker
Чтобы использовать с Docker, выполните следующую команду:

docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red

Для получения дополнительной информации посетите страницу документации.



Узел-красный интерфейс

Представление Node-red по умолчанию — это рабочая область с тремя столбцами с узлами слева, рабочим пространством потоков посередине и третьим столбцом справа.

Третий столбец или панель вывода содержит от 4 до 5 вкладок (информация, отладка, конфигурация , контекст и контекст). >панель управления).

Его пользовательский интерфейс состоит из трех макетов:
1. Палитра узлов: в этом разделе доступны все типы перетаскиваемых узлов, используемых для создания потока. существует 5 типов хранилищ: узлы, синтаксический анализатор, последовательность, сеть, функции и общие узлы
2. Рабочее пространство: это пространство, где узлы связаны вместе для создания потока.
3. Информационная боковая панель. В этом разделе представлена ​​информация о компоненте рабочей области потока. Сюда входит схематическое представление всех потоков и узлов, а также сведения о текущем выборе.

Введение в DeepStack

DeepStack – это сервер API ИИ с открытым исходным кодом, который позволяет разработчикам и экспертам в области Интернета вещей легко развертывать системы ИИ как локально, так и в облаке. DeepStack не зависит от устройства и языка программирования и доступен в Docker для нескольких операционных систем, таких как Windows, Mac OS, Linux, Raspberry PI. (+ все устройства ARM) и устройства NVIDIA Jetson с ускорением ЦП и ГП. Он в основном используется для обнаружения и распознавания лиц, объектов и распознавания сцен.

Для получения подробной информации о его функциях и установках перейдите по этой ссылке:



Установка DeepStack

DeepStack можно установить на процессоры Docker, графические процессоры Docker, ОС Windows, NVIDIA Jetson, Raspberry Pi и другие устройства ARM. Проверьте эту ссылку для руководства по установке.



DeepStack предоставляет различные варианты установки в зависимости от установленной версии и задачи, которую вы хотите выполнить: распознавание лиц или обнаружение объектов. В этой статье мы покажем, как настроить распознавание лиц и обнаружение объектов на ЦП Docker и ОС Windows. Следуйте приведенным ниже инструкциям по установке.

  • Установите Докер на свой компьютер с версией, соответствующей вашей операционной системе.
  • Установите DeepStack на свой компьютер, соответствующий вашему оборудованию и операционной системе, по ссылке ниже.

https://docs.deepstack.cc/index.html#installation

Установка DeepStack Face Recognition и Object Detection

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

  • ЦП докера
sudo docker run -e VISION-FACE=True -e VISION-DETECTION=True -v localstorage:/datastore -p 80:5000 deepquestai/deepstack
  • Оконная ОС
deepstack --VISION-FACE True --VISION-DETECTION True --PORT 80

Теперь зайдите на localhost:80 или https://127.0.0.1:80 в веб-браузере.

Учебное пособие по автоматизации искусственного интеллекта без кода

В этом руководстве мы покажем, как выполнять обнаружение объектов, регистрацию и распознавание лиц с помощью Deepstack и пакета Node-RED под названием Node-red-contrib-Deepstack.

Что такое Node-red-contrib-DeepStack?

Node-red-contrib-DeepStack — это простая и невероятная нода Node-RED, разработанная и поддерживаемая Joakim Lundin для взаимодействия с API Deepstack. Это приложение позволяет вам легко представить процесс обнаружения объектов, распознавания лиц и приложения регистрации лиц с помощью перетаскиваемых узлов Deepstack, которые являются deepstack-object-detection, deepstack -face-registration и deepstack-face-recognition.



Установка Node-red-contrib-DeepStack

В основном есть два способа установить node-red-contrib-deepstack.

Вариант 1

Чтобы установить node-red-contrib-deepstack, выполните эту команду

npm install node-red-contrib-deepstack

Вариант 2

Установка node-red-contrib-deepstack через веб-интерфейс node-RED

Для простого руководства сделайте следующее:

Гамбургер-меню -›Управление палитрой -›Установить-› поиск "node-red-contrib- deepstack»-› Установить

Теперь Node-red-contrib-Deepstack успешно установлен на вашем node-red, так как его узлы отображаются в разделе палитры Nodes.

Node-red-contrib-Deepstack Nodes

Для обнаружения объектов, распознавания лиц и регистрации лиц в Node-red мы используем четыре узла:

  • inject: используется для запуска потока при нажатии его кнопки и может быть настроен для запуска потока в фиксированное время или через регулярные промежутки времени.
  • File In: считывает содержимое файла из пути в виде строки или двоичного буфера, над которым можно выполнять дальнейшие действия.
  • deepstack-node: узел для запроса API Deepstack.
  • Отладка: для отображения результатов обнаружения на боковой панели «Отладка».

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

Обнаружение объектов глубокого стека

Обнаружение объектов реализовано с помощью Deepstack с использованием узла Deepstack-object-detection, которыйпозволяет идентифицировать общие объекты на изображении. Он имеет четыре свойства, которые можно просмотреть, дважды щелкнув узел:

  • Сервер: указывает URL-адрес конечной точки DeepStack.
  • Надежность . Число от 0 до 100, используемое для установки порога достоверности предсказания каждого объекта в процентах.
  • Цвет контура: используется для указания цвета ограничивающей рамки объекта.
  • Вывод фильтра: используется для дополнительной фильтрации объектов, таких как собака, сумка и т. д.

Мы выполним обнаружение объектов на изображении ниже.

Демонстрация автоматизации обнаружения (пример изображения)

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

Демонстрация автоматизации обнаружения (прямая трансляция с IP-камеры)

Эта демонстрация покажет вам, как выполнять обнаружение объектов в реальном времени на видео с камеры с IP-камеры. В этом уроке мы будем использовать приложение для Android, которое превращает ваш смартфон в IP-камеру. Рабочий процесс автоматизации будет работать, как показано ниже.

  • запускает рабочий процесс каждые 5 секунд, используя узел timestamp
  • захватывает кадр с IP-камеры Android с помощью узла request
  • отправляет кадр изображения в этот момент в API обнаружения DeepStack с помощью узла deepstack-object-detection
  • DeepStack обнаруживает объект на изображении и отправляет узел debug для просмотра результата.

Следуйте инструкциям ниже

  • Установите приложение IP-камера на свой телефон Android.
  • Подключите свой ноутбук и телефон Android к одной и той же сети Wi-Fi.
  • Откройте приложение, прокрутите страницу вниз и нажмите кнопку Запустить сервер.
  • Откройте веб-браузер и посетите http://‹ip_shown_on_app›:‹port_shown_on_app›/video
    Например http://192.168.1.145:8080/video
    Когда вы посетите указанный ниже URL-адрес в браузере, вы увидите прямую трансляцию с камеры вашего телефона.

  • Чтобы просмотреть кадр статического изображения с текущей точки передачи IP-камеры, посетите http://‹ip_shown_on_app›:‹port_shown_on_app›/photo.jpg
    Например, http://192.168.1.145:8080/photo. jpg

Теперь мы обновим наш рабочий процесс, как показано в демо ниже, с помощью

  • удаление соединения узла timestamp с узлом файл и удаление соединения узла файл с узлом обнаружения объектов
  • Добавьте новый узел http-запроса, установите URL-адрес узла запроса на http://‹ip_shown_on_app›:‹port_shown_on_app›/photo.jpg и установите тип возвращаемого значения как двоичный буфер
  • Соедините узел timestamp с узлом http-запроса, а узел http-запроса — с узлом Обнаружение объектов.
  • Разверните новый поток и просмотрите результат обнаружения, запускаемого каждые 5 секунд.
  • Обнаружение обрабатывает кадр изображения из прямой трансляции IP-камеры.

Мы можем сделать гораздо больше, чтобы расширить этот поток автоматизации, например

  • один узел метки времени, подключенный к 2,3 или даже 10 узлам запроса HTTP, подключенный к 2,3–10 IP-камерам, в то время как все узлы запроса HTTP подключиться к одному из нескольких узлов Обнаружение объектов.
  • Добавьте больше узлов для подключения к удаленному серверу, чтобы сбрасывать результаты для дальнейшей обработки, инициировать уведомления по телефону/электронной почте, запускать машины, открывать дверь с питанием от IoT, выключать/включать лампочку и т. д.

Deepstack-face-registration

Чтобы зарегистрировать лицо с помощью Deepstack, мы используем Deepstack-face-registration, которыйпозволяет вам зарегистрировать лицо с определенным идентификатором, который вы можете использовать для распознавания в будущем. . Он имеет два свойства, которые можно просмотреть, дважды щелкнув узел:

  • Сервер: указывает URL-адрес конечной точки DeepStack.
  • UserId: Это означает имя человека для регистрации, например: Анна, Моисей и т. д.

Мы проведем регистрацию лиц на изображениях двух популярных футболистов; Лионель Месси и Криштиану Роналду, но покажите, как зарегистрировать лицо Месси.

Демонстрация образца регистрации лиц

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

Глубокое распознавание лиц

Чтобы зарегистрировать лицо с помощью Deepstack, мы используем Deepstack-face-recognition, которыйпозволяет выполнять распознавание лица на ранее зарегистрированном лице. Он имеет четыре свойства, которые можно просмотреть, дважды щелкнув узел:

  • Сервер: указывает URL-адрес конечной точки DeepStack.
  • Надежность : число от 0 до 100, используемое для установки порогового значения процента предсказания каждого объекта.
  • Цвет контура. Используется для указания цвета ограничивающей рамки объекта.
  • Вывод фильтра: используется для дополнительной фильтрации по идентификатору пользователя.

Мы выполним распознавание лиц на изображении ниже

Демонстрация примера распознавания лиц

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

Вам понравилась эта статья ? Дайте ему хлопки и поделитесь с вашей сетью.



Чтобы узнать больше о DeepStack AI Server, посетите наш блог по ссылке ниже.