- Распечатать
Обнаружение дефектов с помощью системы Lookout for Vision
Обнаружение дефектов с помощью Lookout for Vision
Реализация автоматического визуального контроля дефектов с помощью Tulip Vision и AWS Lookout for Vision
Визуальный контроль является одним из ключевых аспектов поддержания качества продукции, однако его трудно реализовать, оставаясь при этом бережливым, поскольку затраты на выделенные человеческие ресурсы для контроля высоки. Ручной визуальный контроль также является высокопроизводительной операцией; он очень повторяется и может быть визуально сложным.
Автоматический визуальный контроль с помощью камер и машинного обучения полностью меняет ситуацию. Алгоритмы визуального контроля, основанные на машинном обучении, достигли такого уровня развития, что превосходят человеческую производительность как по времени, так и по точности.
С помощью Tulip можно реализовать автоматический визуальный контроль, подключив выходы камер Vision к первоклассному облачному сервису визуального обнаружения аномалий. Одним из таких сервисов является Lookout for Vision от Amazon, который предлагает мощный алгоритм в простой конечной точке REST API, легко интегрируемой в Tulip.
В этой статье мы покажем, как быстро настроить все на AWS с помощью Cloud Formation, а также внутри Tulip с помощью готового библиотечного приложения. В следующем видеоролике вы можете увидеть живое руководство по этому процессу.
Предварительные условия
Перед началом работы убедитесь, что у вас есть следующие ресурсы:
- USB-камера, подключенная к ПК с проигрывателем Tulip Player (см. руководство по рекомендациям для оборудования Tulip Vision).
- Конфигурация камеры Tulip Vision для подключенной камеры и проверенный рабочий видеопоток (см. руководство по началу работы с системой технического зрения).
- Собранные данные с аннотацией "норма-аномалия" в таблице Tulip Table (см. приложение для сбора данных)
- Учетная запись AWS с пользователем, которому разрешено создавать такие ресурсы, как Lookout for Vision и API Gateway (см. руководство по началу работы от Amazon).
:::(Info) (ПРИМЕЧАНИЕ) В настоящее время Lookout for Vision доступен только в определенных регионах AWS. :::
Настройка Lookout for Vision в консоли AWS
Для помощи в настройке необходимой облачной инфраструктуры в консоли AWS мы предоставляем шаблон Cloud Formation Template(скачать). CFT - это короткий скрипт, который создает на облаке AWS все необходимое для обучения и запуска моделей обнаружения из Lookout for Vision (LfV) с помощью Tulip. Он создаст проект LfV, несколько функций AWS Lambda для активации модели LfV и шлюз AWS API для взаимодействия с этими функциями. Tulip будет вызывать конечные точки AWS API Gateway и, таким образом, выполнять команды для модели LfV из приложения Tulip Apps, в котором осуществляется визуальный контроль.
- Загрузите CFT.
- Перейдите в раздел Cloud Formation на консоли AWS.
- Создайте стек и загрузите файл CFT.
- Запустите скрипт создания стека CloudFormation.
- Обратите внимание на выходные данные.
- Запишите или запишите значение apiGatewayInvokeURL, так как мы будем использовать его в ближайшее время для настройки функций коннектора.
Также запишите API-ключ с вкладки Resources. Вам нужно будет щелкнуть на нем и найти это значение.
Теперь, когда AWS была предоставлена Cloud Formation, мы можем приступить к обучению модели визуального машинного обучения с помощью Lookout for Vision. Для этого нам необходимо иметь аннотированный набор изображений. Хотя набор данных можно создать вручную, мы предлагаем простой способ сбора данных с помощью Tulip, используя наше приложение Data Collection [ссылка]. Данные хранятся в таблице Tulip и легко экспортируются из нее. На следующих шагах мы будем считать, что набор данных был собран в Tulip.
- Экспорт набора данных из таблицы Tulip.
- Загрузите набор данных в S3-хранилище, созданное Lookout for Vision.
- Создайте набор данных в Lookout for Vision и выберите ведро S3 в качестве источника.
Убедитесь, что выбран параметр Автоматически прикреплять метки:
Теперь, когда набор данных в Lookout for Vision готов, можно приступать к обучению модели. Этот процесс занимает примерно 45 минут и является простым процессом на консоли AWS.
- Нажмите Train Model (Обучение модели).
- Проверьте статус обучения.
- Просмотреть результаты обучения.
После завершения обучения модели нам больше ничего не нужно делать на стороне AWS. Все соединения были выполнены за нас Cloud Formation, и мы можем подключить Tulip к Lookout for Vision.
Настройка Tulip для вызова моделей Lookout for Vision
Tulip обладает широкими возможностями интеграции с внешними сервисами через API, поэтому его легко интегрировать с AWS Lookout for Vision. Мы будем использовать конечную точку REST API из предыдущего раздела для управления моделью LfV через функции Tulip Connector Functions. Однако вместо того, чтобы создавать функции с нуля, мы предоставляем их уже готовыми в нашем библиотечном приложении "Defect Detection with Lookout for Vision". Это позволит вам сэкономить время и обеспечить правильное построение коннекторов. Однако сначала нам необходимо заполнить функцию коннектора нужными данными из вашей учетной записи AWS.
- Найдите в Tulip функцию Connector Functions.
- Для коннектора задайте правильный URL конечной точки из AWS, который вы ранее скопировали из Cloud Formation:
- Для каждой функции задайте API KEY от AWS.
Убедитесь, что вы сделали это для всех 4 функций.
Использование Lookout for Vision в приложениях Tulip
В приложении "Обнаружение дефектов" из библиотеки мы создали очень простой процесс для проведения визуального контроля. Вы можете модифицировать это приложение или скопировать его части в другие приложения в соответствии со своими потребностями. Чтобы использовать приложение, необходимо внести небольшие изменения для работы с конкретной настройкой Tulip Vision. Необходимо указать триггер захвата на конфигурацию камеры Vision, а также виджет предварительного просмотра камеры для визуальной обратной связи.
- Настройте виджет камеры Tulip App с нужной конфигурацией камеры.
- Настройте триггер "Обнаружение аномалий" на правильную конфигурацию камеры.
Теперь все готово для запуска модели на Tulip. Прежде чем модель будет доступна для вывода (оценки изображения), ее необходимо "разместить", что означает, что она будет занимать некоторый облачный вычислительный ресурс, например облачную виртуальную машину, для обслуживания модели в вашем приложении. Для этого мы создали кнопку на предоставленном приложении Tulip App.
:::(Info) (ПРИМЕЧАНИЕ) После того как модель размещена на хостинге, она потребляет ресурсы, которые имеют определенную стоимость. Не забывайте отключать модели, когда они не используются, иначе вы рискуете потратить деньги без отдачи. О ценах AWS LfV можно узнать здесь. Следует помнить, что AWS также предлагает бесплатный уровень для LfV. Компания Tulip не несет ответственности за ресурсы, размещенные в частном порядке на AWS, но вы можете обращаться к нам с вопросами:
Запустите приложение "Обнаружение дефектов" на компьютере с подключенной инспекционной камерой. На запущенном приложении выполняются следующие действия:
- Включение модели ("Хостинг").
:::(Info) (ПРИМЕЧАНИЕ) После запуска модели она начнет нести расходы. Не забудьте выключить ее:
- Проверьте статус размещения модели.
Ищите статус "HOSTED". Если статус не "HOSTED", то модель не будет принимать запросы.
- Выполните запрос на вывод модели.
Теперь модель должна делать прогнозы о том, является ли объект дефектом или нормальной деталью. Мы добавили кнопки для обратной связи с точностью определения в случае, если модель сделала неверный прогноз. Эти кнопки добавят больше данных в таблицу Tulip Table и в ваш набор данных. Периодически проводите переобучение модели, предоставляя ей больше образцов изображений, чтобы повысить надежность модели.
Заключение
Мы рассмотрели простой процесс начала работы с автоматической визуальной инспекцией на основе машинного обучения в Tulip. Этот процесс позволяет сэкономить на ручных ресурсах для визуального контроля, выполняемого человеком. Применение этого процесса также позволяет получить визуальный набор данных обо всех дефектах, возникающих в изделии, который можно использовать не только для проверки, но и для других целей.
Вы можете легко применять и реализовывать машинное обучение с помощью Tulip, используя его возможности подключения. Аналогичным образом можно использовать и другие облачные ML-сервисы.