Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Визначте розташування аномалій за допомогою Amazon Lookout for Vision на краю без використання GPU

Автоматизоване виявлення дефектів за допомогою комп’ютерного зору допомагає підвищити якість і знизити вартість перевірки. Виявлення дефектів передбачає визначення наявності дефекту, класифікацію типів дефектів і визначення місця розташування дефектів. Багато виробничих процесів вимагають виявлення з низькою затримкою, обмеженими обчислювальними ресурсами та обмеженим підключенням.

Amazon Lookout for Vision – це служба машинного навчання (ML), яка допомагає виявляти дефекти продукту за допомогою комп’ютерного зору для автоматизації процесу перевірки якості на ваших виробничих лініях, не потребуючи досвіду ML. Lookout for Vision тепер включає можливість надавати розташування та тип аномалій за допомогою моделей ML семантичної сегментації. Ці індивідуальні моделі ML можна розгорнути в хмарі AWS за допомогою хмарні API або використовувати спеціальне апаратне забезпечення AWS IoT Greengrass. Lookout for Vision тепер підтримує висновок на обчислювальній платформі x86 під управлінням Linux з прискорювачем графічного процесора NVIDIA або без нього, а також на будь-якому периферійному пристрої на базі NVIDIA Jetson. Ця гнучкість дозволяє виявляти дефекти на існуючому або новому обладнанні.

У цій публікації ми покажемо вам, як виявити дефектні частини за допомогою моделей Lookout for Vision ML, які працюють на крайньому пристрої, який ми імітуємо за допомогою Обчислювальна хмара Amazon Elastic (Amazon EC2). Ми вивчаємо нові моделі семантичної сегментації, експортуємо їх як компоненти AWS IoT Greengrass і запускаємо висновок у режимі лише для ЦП із прикладом коду Python.

Огляд рішення

У цій публікації ми використовуємо набір зображень іграшкові прибульці складається з нормальних і дефектних зображень, таких як відсутні кінцівки, очі чи інші частини. Ми навчаємо модель Lookout for Vision у хмарі ідентифікувати несправних іграшкових прибульців. Ми компілюємо модель для цільового ЦП X86, упаковуємо навчену модель Lookout for Vision як компонент AWS IoT Greengrass і розгортаємо модель на примірнику EC2 без графічного процесора за допомогою консолі AWS IoT Greengrass. Нарешті, ми демонструємо приклад програми на основі Python, що працює на екземплярі EC2 (C5a.2xl), який отримує зображення іграшок-прибульців із файлової системи периферійного пристрою, виконує висновок на моделі Lookout for Vision за допомогою gRPC інтерфейс і надсилає дані висновків до an MQTT тему в AWS Cloud. Сценарій виводить зображення, яке містить колір і розташування дефектів на аномальному зображенні.

Наведена нижче схема ілюструє архітектуру рішення. Важливо зауважити, що для кожного типу дефекту, який ви хочете виявити під час локалізації, ви повинні мати 10 позначених зображень аномалії в навчанні та 10 у тестових даних, щоб загалом було 20 зображень цього типу. Для цієї публікації ми шукаємо відсутні кінцівки на іграшці.

Рішення має такий робочий процес:

  1. Завантажте навчальний набір даних і тестовий набір даних у Служба простого зберігання Amazon (Amazon S3).
  2. Використовуйте новий інтерфейс користувача Lookout for Vision, щоб додати тип аномалії та позначити, де ці аномалії знаходяться на тренувальних і тестових зображеннях.
  3. Навчіть модель Lookout for Vision у хмарі.
  4. Скомпілюйте модель до цільової архітектури (X86) і розгорніть модель до екземпляра EC2 (C5a.2xl) за допомогою консолі AWS IoT Greengrass.
  5. Вихідні зображення з локального диска.
  6. Виконайте висновки щодо розгорнутої моделі через інтерфейс gRPC і отримайте зображення масок аномалій, накладених на вихідне зображення.
  7. Опублікуйте результати висновків до клієнта MQTT, який працює на крайньому екземплярі.
  8. Отримайте повідомлення MQTT на тему в Ядро AWS IoT у хмарі AWS для подальшого моніторингу та візуалізації.

Кроки 5, 6 і 7 узгоджені зі зразком програми Python.

Передумови

Перш ніж почати, виконайте наступні попередні умови. Для цієї публікації ми використовуємо екземпляр EC2 c5.2xl і встановлюємо на нього AWS IoT Greengrass V2, щоб випробувати нові функції. Якщо ви хочете працювати на NVIDIA Jetson, виконайте дії, наведені в нашій попередній публікації, Amazon Lookout for Vision тепер підтримує візуальну перевірку дефектів продукту на краю.

  1. Створіть обліковий запис AWS.
  2. Запустіть екземпляр EC2, на який ми можемо встановити AWS IoT Greengrass, і використовуйте новий режим висновку лише для ЦП. Ви також можете використовувати 86-розрядну машину Intel X64 із 8 гігабайтами оперативної пам’яті або більше (ми використовуємо c5a.2xl, але все, що має більше 8 гігабайт на платформі x86 має працювати) під керуванням Ubuntu 20.04.
  3. Встановіть AWS IoT Greengrass V2:
    git clone https://github.com/aws-samples/amazon-lookout-for-vision.git
    cd edge
    # be sure to edit the installation script to match your region, also adjust any device names and groups!
    vi install_greengrass.sh

  4. Встановіть необхідну систему та залежності Python 3 (Ubuntu 20.04):
    # install Ubuntu dependencies on the EC2 instance
    ./install-ec2-ubuntu-deps.sh
    pip3 install -r requirements.txt
    # Replace ENDPOINT variable in sample-client-file-mqtt.py with the value on the AWS console AWS IoT->Things->l4JetsonXavierNX->Interact.  
    # Under HTTPS. It will be of type <name>-ats.iot.<region>.amazon.com 

Завантажте набір даних і навчіть модель

Ми використовуємо набір даних іграшкових прибульців щоб продемонструвати рішення. Набір даних містить нормальні та аномальні зображення. Ось кілька прикладів зображень із набору даних.

На наступному зображенні показаний звичайний іграшковий прибулець.

Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

На наступному зображенні зображений іграшковий прибулець без ноги.

Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

На наступному зображенні зображений іграшковий прибулець без голови.

Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

У цій публікації ми шукаємо втрачені кінцівки. Ми використовуємо новий інтерфейс користувача, щоб намалювати маску навколо дефектів у наших даних навчання та тестів. Це підкаже моделям семантичної сегментації, як визначити цей тип дефекту.

  1. Почніть із завантаження набору даних через Amazon S3 або з комп’ютера.
  2. Розсортуйте їх у папках із заголовками normal та anomaly.
  3. Під час створення набору даних виберіть Автоматично додавати мітки до зображень на основі назви папки.Це дозволяє нам пізніше відсортувати аномальні зображення та намалювати області, які будуть позначені дефектом.
    Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  4. Спробуйте затримати кілька зображень, щоб пізніше перевірити обидва normal та anomaly.
  5. Після додавання всіх зображень до набору даних виберіть Додайте мітки аномалій.
  6. Почніть маркування даних з вибору Почніть маркування.
  7. Щоб пришвидшити процес, ви можете вибрати кілька зображень і класифікувати їх як Normal or Anomaly.
    Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
    Якщо ви хочете виділити аномалії на додаток до їх класифікації, вам потрібно виділити, де розташовані аномалії.
  8. Виберіть зображення, до якого потрібно додати анотацію.
  9. Використовуйте інструменти малювання, щоб показати область, де відсутня частина об’єкта, або намалюйте маску поверх дефекту.
  10. Вибирати Надішліть і закрийте зберегти ці зміни.
    Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  11. Повторіть цей процес для всіх ваших зображень.
  12. Коли закінчите, вибирайте зберегти щоб зберегти ваші зміни. Тепер ви готові тренувати свою модель.
    Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  13. Вибирати Модель потяга.

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

Перенавчити модель з виправленими зображеннями

Іноді позначення аномалії може бути не зовсім правильним. У вас є шанс допомогти своїй моделі краще вивчити ваші аномалії. Наприклад, наступне зображення визначено як аномалія, але не показує її missing_limbs бирка.

Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Давайте відкриємо редактор і виправимо це.

Перегляньте будь-які подібні зображення, які знайдете. Якщо ви виявите, що на ньому неправильно позначено аномалію, ви можете скористатися інструментом ластик, щоб видалити неправильний тег.

Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Тепер ви можете знову навчити свою модель і досягти кращої точності.

Скомпілюйте та запакуйте модель як компонент AWS IoT Greengrass

У цьому розділі ми розглянемо кроки для компіляції моделі іграшкового прибульця на наш цільовий крайовий пристрій і запакуємо модель як компонент AWS IoT Greengrass.

  1. На консолі Lookout for Vision виберіть свій проект.
  2. На панелі навігації виберіть Пакети моделей Edge.
  3. Вибирати Створення завдання пакування моделі.
  4. для Назва роботи, введіть ім'я.
  5. для Описання роботи, введіть необов’язковий опис.
  6. Вибирати Огляд моделей.
  7. Виберіть версію моделі (модель іграшкового прибульця, побудовану в попередньому розділі).
  8. Вибирати Вибирати.
    Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  9. Якщо ви використовуєте це на пристрої Amazon EC2 або X86-64, виберіть Цільова платформа І вибирай Linux, X86 та центральний процесор.
    Якщо ви використовуєте центральний процесор, ви можете залишити параметри компілятора порожніми, якщо ви не впевнені та не маєте графічного процесора NVIDIA. Якщо у вас є платформа на основі Intel, яка підтримує AVX512, ви можете додати ці параметри компілятора для оптимізації для кращої продуктивності: {"mcpu": "skylake-avx512"}.
    Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Ви можете побачити назву вашої роботи та статус, який відображається як In progress. Виконання завдання пакування моделі може тривати кілька хвилин. Коли завдання пакування моделі завершено, статус відображається як Success.
  10. Виберіть назву вашої роботи (у нашому випадку це aliensblogcpux86), щоб переглянути деталі роботи.
    Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  11. Вибирати Створення завдання пакування моделі.
    Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  12. Введіть дані для Назва компонента, Опис компонента (необов'язково), Компонентна версія та Розташування компонента.Lookout for Vision зберігає рецепти компонентів і артефакти в цьому місці Amazon S3.
  13. Вибирати Продовжити розгортання в Грінграссі щоб розгорнути компонент на цільовому периферійному пристрої.
    Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Компонент AWS IoT Greengrass і артефакти моделі створено у вашому обліковому записі AWS.

Розгортання моделі

Перш ніж продовжити, переконайтеся, що на цільовому пристрої вашого облікового запису встановлено AWS IoT Greengrass V2. Інструкції див Встановіть програмне забезпечення AWS IoT Greengrass Core.

У цьому розділі ми розглянемо кроки для розгортання моделі іграшкового прибульця на крайньому пристрої за допомогою консолі AWS IoT Greengrass.

Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

  1. На консолі AWS IoT Greengrass перейдіть до свого периферійного пристрою.
  2. Вибирати Розгортання щоб розпочати кроки розгортання.
  3. Select Основний пристрій (оскільки розгортання здійснюється на одному пристрої) і введіть назву для Назва ціліЦільове ім’я – це те саме ім’я, яке ви використовували для назви основного пристрою під час процесу встановлення AWS IoT Greengrass V2.
  4. Виберіть свій компонент. У нашому випадку це ім’я компонента aliensblogcpux86, який містить модель іграшкового прибульця.
  5. Вибирати МАЙБУТНІ.
  6. Налаштувати компонент (необов’язково).
  7. Вибирати МАЙБУТНІ.
  8. Розширювати Політики розгортання.
  9. для Політика оновлення компонентіввиберіть Повідомити компонентиЦе дозволяє вже розгорнутому компоненту (попередній версії компонента) відкласти оновлення, доки ви не будете готові до оновлення.
  10. для Політика усунення несправностейвиберіть Не відкочуйся.У разі невдачі ця опція дозволяє нам досліджувати помилки під час розгортання.
  11. Вибирати МАЙБУТНІ.
  12. Перегляньте список компонентів, які будуть розгорнуті на цільовому (граничному) пристрої.
  13. Вибирати МАЙБУТНІ.Ви повинні побачити повідомлення Deployment successfully created.
  14. Щоб перевірити успішність розгортання моделі, виконайте таку команду на своєму периферійному пристрої:
    sudo /greengrass/v2/bin/greengrass-cli component list

Ви повинні побачити подібний вихід під час запуску aliensblogcpux86 сценарій запуску життєвого циклу:

Компоненти, які зараз працюють у Greengrass:

Components currently running in Greengrass:
 
Component Name: aws.iot.lookoutvision.EdgeAgent
    Version: 0.1.34
    State: RUNNING
    Configuration: {"Socket":"unix:///tmp/aws.iot.lookoutvision.EdgeAgent.sock"}
 Component Name: aliensblogcpux86
    Version: 1.0.0
    State: RUNNING
    Configuration: {"Autostart":false}

Виконайте висновки на моделі

примітки: якщо ви використовуєте Greengrass як інший користувач, ніж той, під яким ви ввійшли, вам потрібно буде змінити права доступу до файлу /tmp/aws.iot.lookoutvision.EdgeAgent.sock:

chmod 666 /tmp/aws.iot.lookoutvision.EdgeAgent.sock

Тепер ми готові робити висновки щодо моделі. На своєму периферійному пристрої виконайте таку команду, щоб завантажити модель (replace з назвою моделі, що використовується у вашому компоненті):

# run command to load the model# This will load the model into running state pass
# the name of the model component as a parameter.
python3 warmup-model.py <modelName>

Щоб згенерувати висновки, виконайте таку команду з іменем вихідного файлу (replace із шляхом і назвою файлу зображення, яке потрібно перевірити та замінити з назвою моделі, яка використовується для вашого компонента):

python3 sample-client-file-mqtt.py </path/to/images> <modelName>

start client ['sample-client-file.py', 'aliens-dataset/anomaly/1.png', 'aliensblogcpux86']
channel set
shape=(380, 550, 3)
Image is anomalous, (90.05860090255737 % confidence) contains defects with total area over .1%: {'missing_limbs': '#FFFFFF'}

Модель правильно прогнозує зображення як аномальне (missing_limbs) з достовірністю 0.9996867775917053. Він повідомляє нам маску тегу аномалії missing_limbs і відсоткова площа. Відповідь також містить растрові дані, які можна декодувати.

Завантажте та відкрийте файл blended.png, який виглядає як наведене нижче зображення. Зверніть увагу на виділену дефектом ділянку навколо ніг.

Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Історії клієнтів

Завдяки AWS IoT Greengrass і Lookout for Vision тепер ви можете автоматизувати візуальний огляд за допомогою комп’ютерного бачення для таких процесів, як контроль якості та оцінка дефектів — усе це на межі та в режимі реального часу. Ви можете завчасно виявити такі проблеми, як пошкодження деталей (наприклад, вм’ятини, подряпини або погане зварювання), відсутні компоненти продукту або дефекти з повторюваними візерунками на самій виробничій лінії, заощаджуючи ваш час і гроші. Такі клієнти, як Tyson і Baxter, відкривають для себе силу Lookout for Vision для підвищення якості та зниження операційних витрат шляхом автоматизації візуального контролю.

«Операційна досконалість є ключовим пріоритетом Tyson Foods. Прогнозне технічне обслуговування є важливим активом для досягнення цієї мети шляхом постійного підвищення загальної ефективності обладнання (OEE). У 2021 році компанія Tyson Foods запустила проект комп’ютерного зору на основі машинного навчання, щоб виявляти несправні носії продукції під час виробництва, щоб запобігти їхньому впливу на безпеку членів команди, роботу або якість продукції. Моделі, навчені за допомогою Amazon Lookout for Vision, показали хороші результати. Модель виявлення шпильок досягла 95% точності в обох класах. Модель Amazon Lookout for Vision була налаштована на роботу з точністю 99.1% для невдалого виявлення шпильки. Безумовно, найцікавішим результатом цього проекту стало прискорення часу розробки. Незважаючи на те, що в цьому проекті використовуються дві моделі та складніший код додатка, для його завершення розробнику знадобилося на 12% менше часу. Цей проект із моніторингу стану носіїв продуктів у Tyson Foods було завершено в рекордні терміни за допомогою керованих сервісів AWS, таких як Amazon Lookout for Vision».

— Одрі Тіммерман, старший розробник додатків, Tyson Foods.

«Швидкість затримки та інференції є критично важливою для оцінки в реальному часі та критичних перевірок якості наших виробничих процесів. Amazon Lookout for Vision edge на пристрої ЦП дає нам можливість досягти цього на обладнанні виробничого класу, дозволяючи нам запропонувати економічно ефективні рішення для бачення штучного інтелекту в масштабі».

— А. К. Каран, глобальний старший директор із цифрової трансформації, інтегрований ланцюг поставок, Baxter International Inc.

Прибирати

Виконайте наведені нижче дії, щоб видалити створені вами активи зі свого облікового запису та уникнути будь-яких поточних платежів:

  1. На консолі Lookout for Vision перейдіть до свого проекту.
  2. на Дії меню, видаліть свої набори даних.
    Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  3. Видаліть свої моделі.
    Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  4. На консолі Amazon S3 очистіть створені вами відра, а потім видаліть їх.
  5. На консолі Amazon EC2 видаліть екземпляр, який ви почали запускати AWS IoT Greengrass.
  6. Виберіть на консолі AWS IoT Greengrass Розгортання у навігаційній панелі.
  7. Видаліть версії компонентів.
    Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  8. На консолі AWS IoT Greengrass видаліть речі, групи та пристрої AWS IoT.

Висновок

У цьому дописі ми описали типовий сценарій виявлення промислових дефектів на межі за допомогою локалізації дефектів і розгортання на пристрої, що працює лише з процесором. Ми розглянули ключові компоненти хмари та життєвого циклу периферії на наскрізному прикладі за допомогою Lookout for Vision та AWS IoT Greengrass. З Lookout for Vision ми навчили модель виявлення аномалій у хмарі за допомогою набір даних іграшкових прибульцівскомпілювали модель до цільової архітектури та запакували модель як компонент AWS IoT Greengrass. З AWS IoT Greengrass ми розгорнули модель на крайньому пристрої. Ми продемонстрували зразок програми на основі Python, яка отримує зображення іграшок-прибульців із локальної файлової системи периферійного пристрою, виконує висновки на моделі Lookout for Vision на межі за допомогою інтерфейсу gRPC і надсилає дані висновків до теми MQTT в AWS. Хмара.

У наступній публікації ми покажемо, як виконувати висновки щодо потоку зображень у реальному часі за допомогою медіа-конвеєра GStreamer.

Почніть свій шлях до виявлення та ідентифікації промислових аномалій, відвідавши веб -сайт Amazon Lookout for Vision та AWS IoT Greengrass сторінки ресурсу.


Про авторів

Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Маніш Талреджа є старшим менеджером практики промислового машинного навчання в AWS Professional Services. Він допомагає клієнтам AWS досягати їхніх бізнес-цілей, розробляючи та створюючи інноваційні рішення, які використовують сервіси AWS ML та IoT у хмарі AWS.

Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Райан Вандерверф є партнером-архітектором рішень Amazon Web Services. Раніше він надавав консультації, орієнтовані на віртуальну машину Java, і розробляв проекти як інженер-програміст у OCI у команді Grails і Micronaut. Він був головним архітектором/директором продуктів у ReachForce, зосереджуючись на програмному забезпеченні та архітектурі системи для рішень AWS Cloud SaaS для управління маркетинговими даними. З 1996 року Райан розробив кілька рішень SaaS у таких сферах, як фінанси, медіа, телекомунікації та компанії електронного навчання.

Визначте розташування аномалій за допомогою Amazon Lookout for Vision на межі без використання GPU PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Пракаш Крішнан є старшим менеджером з розробки програмного забезпечення в Amazon Web Services. Він керує групами інженерів, які створюють великомасштабні розподілені системи для застосування швидких, ефективних і високомасштабованих алгоритмів до проблем розпізнавання зображень і відео на основі глибокого навчання.

Часова мітка:

Більше від AWS Машинне навчання