Вкратце: протестируйте приложение для распознавания объектов здесь.

Принятие и внедрение приложений с низким кодом удешевило и ускорило разработку приложений, а также сделало их более доступными для широкой аудитории. OutSystems, один из лидеров рынка в отрасли, ищет инновационное сотрудничество, чтобы помочь своим клиентам приносить все больше и больше пользы. Одним из таких проектов является сотрудничество с UbiOps, голландской компанией-разработчиком программного обеспечения, которая позволяет специалистам по обработке и анализу данных запускать свои сценарии Python и R в производство, обеспечивая масштабируемость, надежность и безопасность. По данным The Next Web, 9 из 10 моделей не попадают в производство (TNW, 2021). Объединение OutSystems с UbiOps позволяет легко создавать приложения, основанные на обработке данных.

Расширенная аналитика + минимум кода

Если вы хотите создать приложение, взаимодействующее с моделью машинного обучения в фоновом режиме, вам нужно где-то запустить эту модель. Однако часто код Python и R невозможно запустить в среде разработки приложений с низким кодом, и вы склонны искать что-то еще. Настройка или даже создание вашей обслуживающей среды для запуска вашего кода требует совсем других навыков (программной инженерии), чем те, которые необходимы для разработки приложений с низким кодом или построения моделей обработки данных. Об этом позаботится UbiOps. Используя UbiOps в сочетании с OutSystems, приложения для прогнозирования оттока, обнаружения мошенничества, рекомендации продуктов или любого другого приложения, использующего аналитику, создаются за долю времени, которое обычно требуется.

Пример использования распознавания объектов

Чтобы продемонстрировать наше предложение, мы разработали простое мобильное приложение, которое можно использовать для обнаружения объектов. Для этого приложения нам нужно было создать

  1. Учетная запись UbiOps;
  2. Пакет развертывания (скачать здесь);
  3. Учетная запись OutSystems;
  4. Собственно приложение (скачать здесь).

Архитектура высокого уровня выглядит так:

Развертывание модели распознавания объектов YOLOv4 на UbiOps

В мире обнаружения объектов алгоритм вы смотрите только один раз (YOLO) является одним из самых надежных и проверенных алгоритмов. Мы не собираемся объяснять внутреннюю работу алгоритма. Вместо этого мы сосредоточимся на:

  1. Как развернуть предварительно обученную версию (YOLOv4) на UbiOps;
  2. Как создать токен для этого развертывания, чтобы мы могли использовать его в нашем приложении OutSystems.

Шаг 1. Разверните предварительно обученную версию

Чтобы добавить алгоритм в UbiOps, вам нужно сделать несколько вещей. Самое главное, вам нужно определить входы и выходы и добавить код вашего алгоритма. Однако сегодня мы собираемся пропустить это, используя полностью готовый пакет, который мы можем импортировать. Вы можете сделать это, перейдя в меню импорта/экспорта, а затем нажав на импорт.

Вы увидите экран, похожий на изображение выше. Загрузите ZIP-файл, который вы скачали ранее, и нажмите «Далее». После этого можно сразу нажать кнопку подтверждения. Все должно быть правильно. После этого вы увидите новое развертывание в своем списке развертываний. Вам нужно будет найти конечную точку API этого развертывания. Вы можете найти это здесь:

Он будет в формате: https://api.ubiops.com/v2.1/projects/‹ВАШ_ИМЯ_ПРОЕКТА›/deployments/yolov4-object-detection

Шаг 2. Создайте токен аутентификации

Теперь у нас есть конечная точка API, и мы можем использовать ее в приложении OutSystems. Но нам нужно что-то еще от UbiOps. Нам нужен безопасный метод аутентификации. Так что не каждое приложение может использовать наше развертывание.

Создайте новый токен, перейдя в меню токенов в разделе разрешений. Если вы нажмете «добавить токен», вы увидите что-то похожее на скриншот ниже:

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

Нажмите «назначить», а затем «Далее». Теперь вы увидите свою строку токена. Скопируйте это и сохраните, потому что вы не сможете получить его снова.

Возьмите строку токена и конечную точку API и продолжите настройку OutSystems.

Дизайн мобильного приложения с OutSystems

Чтобы разработать мобильное приложение для захвата изображения и отправки его в UbiOps для обработки его данных и возврата обнаруженных объектов, мы используем IDE OutSystems под названием ServiceStudio. Мы должны:

  1. Использовать конечную точку UbiOps;
  2. Создайте страницу для получения изображения и отображения результатов;
  3. Опубликуйте приложение.

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

Шаг 1. Используйте конечную точку UbiOps.

Оттуда мы сразу начинаем использовать конечную точку UbiOps REST для модели Yolo4. Мы используем предоставленный URL-адрес, выбираем Post для метода, поскольку мы собираемся отправить изображение, и определяем запрос и ответ в соответствии со спецификациями UbiOps:

На вкладке «Заголовки и аутентификация» мы добавляем заголовок «Авторизация», чтобы мы могли указать токен безопасности в запросе.

Шаг 2. Создайте страницу для получения изображения и отображения результатов.

Поскольку пустая домашняя страница уже создана, мы используем ее для добавления функциональности. Сначала мы добавляем плагин камеры из библиотеки компонентов с открытым исходным кодом Forge, OutSystems и выбираем действие TakePicture. Затем мы добавляем на страницу значок камеры и создаем за ним функционал, так называемый «обработчик». В этом обработчике мы сначала вызываем действие TakePicture, затем сохраняем изображение в виде большого двоичного объекта и, наконец, вызываем UbiOps Yolo с идентификатором этого большого двоичного объекта. Вывод этого сервиса можно использовать на странице для отображения изображения и списка обнаруженных объектов:

Шаг 3. Опубликуйте приложение

В качестве последнего шага нам нужно опубликовать наше приложение, чтобы мы могли начать его использовать. Публикация так же проста, как нажатие зеленой кнопки вверху (если она красная, OutSystems обнаружила, что в вашем приложении все еще есть ошибки) и ожидание завершения работы OutSystems. Мы можем протестировать его в браузере, но, поскольку мы разработали мобильное приложение, мы можем сразу запустить его как Progressive Web App на нашем мобильном телефоне, отсканировав QR-код:

И вот он, результат:

Вы можете скачать это приложение OutSystems из Forge, чтобы попробовать его самостоятельно:

Вы увидите, что мы добавили еще несколько функций, которые мы не описали в этой статье.

Подведение итогов

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

Хотели бы вы построить что-то подобное? Не стесняйтесь создавать бесплатную учетную запись с OutSystems и UbiOps. В случае возникновения каких-либо вопросов, дайте нам знать в комментариях или просто свяжитесь с нами. Мы надеемся, что вам понравилось это чтение, и надеемся, что мы вдохновили вас на ваш собственный проект!

О OutSystems

Компания OutSystems была основана в 2001 году с целью дать каждой организации возможность внедрять инновации с помощью программного обеспечения. Современная платформа приложений OutSystems с высокой производительностью, подключенными инструментами и средствами искусственного интеллекта помогает разработчикам быстро создавать и развертывать полный спектр приложений в любом месте, где это необходимо организации. С более чем 500 000 членов сообщества, примерно 1600 сотрудниками, более чем 400 партнерами и активными клиентами в 87 странах и 22 отраслях, OutSystems достигла глобального масштаба, помогая организациям изменить способ разработки приложений. Посетите нас на www.outsystems.com или подпишитесь на нас в Twitter @OutSystems или LinkedIn на https://www.linkedin.com/company/outsystems.

Об УбиОпс

Миссия UbiOps состоит в том, чтобы позволить каждому человеку и организации работать и делиться своими интеллектуальными данными. UbiOps — это платформа для развертывания, управления и обслуживания алгоритмов обработки данных и машинного обучения/ИИ, которую вы можете легко подключить к OutSystems. С UbiOps вы можете легко превратить свои модели, функции и скрипты Python и R в масштабируемые интерактивные сервисы без дорогостоящей разработки ИТ и программного обеспечения. UbiOps делает возможным быстрое внедрение ML и AI в реальных условиях для организаций, что приводит к более высокой рентабельности проектов по науке о данных. UbiOps доступен в версии SaaS, частной управляемой версии (размещается и управляется командой UbiOps, предназначенной для одного клиента) или частной версии OnPremise (устанавливается и управляется клиентом). UbiOps имеет сертификат ISO 27001 (информационная безопасность). Следите за нами в LinkedIn по адресу https://www.linkedin.com/company/ubiops.