Изображения высокого разрешения очень распространены в современном мире: от спутниковых изображений до дронов и камер DLSR. С помощью этих изображений мы можем зафиксировать ущерб, вызванный стихийными бедствиями, аномалиями в производственном оборудовании или очень небольшими дефектами, такими как дефекты на печатных платах (PCB) или полупроводниках. Построение моделей обнаружения аномалий с использованием изображений с высоким разрешением может быть сложной задачей, поскольку современные модели компьютерного зрения обычно изменяют размер изображений до более низкого разрешения, чтобы они помещались в память для обучения и выполнения выводов. Значительное снижение разрешения изображения означает, что визуальная информация о дефекте ухудшается или полностью теряется.
Одним из подходов к преодолению этих проблем является построение двухэтапных моделей. Модели этапа 1 обнаруживают интересующую область, а модели этапа 2 обнаруживают дефекты в обрезанной области интереса, тем самым поддерживая достаточное разрешение для небольших обнаружений.
В этом посте мы рассмотрим, как создать эффективную двухэтапную систему обнаружения дефектов с использованием пользовательских меток Amazon Rekognition, и сравним результаты для этого конкретного варианта использования с одноэтапными моделями. Обратите внимание, что некоторые одноэтапные модели эффективны даже при более низком разрешении или изменении размера изображения, а другие могут обрабатывать большие изображения меньшими партиями.
Обзор решения
Для нашего варианта использования мы используем набор данных изображений печатных плат с синтетически сгенерированными отсутствующими штифтами отверстий, как показано в следующем примере.
Мы используем этот набор данных, чтобы продемонстрировать, что одноэтапный подход с использованием обнаружения объектов приводит к неудовлетворительной производительности обнаружения дефектов отсутствующих отверстий. Предпочтительна двухэтапная модель, в которой мы сначала используем пользовательские метки Rekognition для обнаружения объектов и идентификации контактов, а затем модель второго этапа для классификации обрезанных изображений контактов на контакты с отсутствующими отверстиями или нормальные контакты.
Процесс обучения модели пользовательских меток Rekognition состоит из нескольких этапов, как показано на следующей диаграмме.
Сначала мы используем Amazon Simple Storage Service (Amazon S3) для хранения данных изображения. Данные принимаются в блокноты Amazon Sagemaker Jupyter, где обычно специалист по обработке данных проверяет изображения и предварительно обрабатывает их, удаляя любые изображения низкого качества, такие как размытые изображения или плохие условия освещения, а также изменяет размер или обрезает изображения. Затем данные разделяются на обучающий и тестовый наборы, и выполняются задания по маркировке Amazon SageMaker Ground Truth для маркировки наборов изображений и вывода файла манифеста обучения и тестирования. Файлы манифеста используются Rekognition Custom Labels для обучения.
Одноэтапный модельный подход
Первый подход, который мы используем для выявления недостающих отверстий на печатной плате, — это пометить недостающие отверстия и обучить модель обнаружения объектов идентифицировать недостающие отверстия. Ниже приведен пример изображения из набора данных.
Мы обучаем модель с помощью набора данных, состоящего из 95 изображений, используемых в качестве обучения, и 20 изображений, используемых для тестирования. В следующей таблице суммированы наши результаты.
Результаты оценки | |||||
Оценка F1 | Средняя точность | Общий отзыв | |||
0,468 | 0,750 | 0,340 | |||
Время обучения | Набор обучающих данных | Набор данных тестирования | |||
Обучено за 1791 час. | 1 этикетка, 95 изображений | 1 этикетка, 20 изображений | |||
Производительность по этикетке | |||||
Название этикетки | Оценка F1 | Тестовые изображения | Точность | Отзывать | Предполагаемый порог |
missing_hole |
0,468 | 20 | 0,750 | 0,340 | 0,053 |
Полученная модель имеет высокую точность, но низкую полноту, а это означает, что когда мы локализуем область для отсутствующего отверстия, мы обычно правы, но мы пропускаем много недостающих отверстий, присутствующих на печатной плате. Чтобы построить эффективную систему обнаружения дефектов, нам необходимо улучшить отзыв. Низкая производительность этой модели может быть связана с небольшими дефектами на этом изображении печатной платы с высоким разрешением, поэтому модель не имеет ссылки на исправный вывод.
Далее мы рассмотрим разделение изображения на четыре или шесть фрагментов в зависимости от размера печатной платы и маркировку как исправных, так и отсутствующих отверстий. Ниже приведен пример полученного обрезанного изображения.
Мы обучаем модель, используя 524 изображения, используемые в качестве обучения, и 106 изображений, используемых для тестирования. Мы используем те же печатные платы, которые используются при обучении и тестировании, что и полноплатная модель. Результаты для обрезанных здоровых штифтов по сравнению с отсутствующими отверстиями показаны в следующей таблице.
Результаты оценки | |||||
Оценка F1 | Средняя точность | Общий отзыв | |||
0,967 | 0,989 | 0,945 | |||
Время обучения | Набор обучающих данных | Набор данных тестирования | |||
Обучено за 2.118 часов | 2 этикетки, 524 изображения | 2 этикетки, 106 изображений | |||
Производительность по этикетке | |||||
Название этикетки | Оценка F1 | Тестовые изображения | Точность | Отзывать | Предполагаемый порог |
missing_hole |
0,949 | 42 | 0,980 | 0,920 | 0,536 |
pin |
0,984 | 106 | 0,998 | 0,970 | 0,696 |
И точность, и отзыв значительно улучшились. Помогло обучение модели с помощью увеличенных обрезанных изображений и ссылки на модель для здоровых булавок. Однако уровень отзыва по-прежнему составляет 92 %, а это означает, что мы все равно пропустим 8 % недостающих дыр и оставим дефекты незамеченными.
Далее мы исследуем двухэтапный подход к модели, с помощью которого мы можем еще больше улучшить производительность модели.
Двухэтапный модельный подход
Для двухэтапной модели мы обучаем две модели: одну для обнаружения булавок и одну для определения того, отсутствует ли булавка или нет на увеличенных обрезанных изображениях булавки. Ниже приведено изображение из набора данных обнаружения булавок.
Данные аналогичны нашему предыдущему эксперименту, в котором мы обрезали печатную плату на четыре или шесть обрезанных изображений. На этот раз мы маркируем все штифты и не делаем никаких различий, есть ли у штифта отсутствующее отверстие или нет. Мы обучаем эту модель на 522 изображениях и тестируем на 108 изображениях, сохраняя то же разделение обучение/тест, что и в предыдущих экспериментах. Результаты показаны в следующей таблице.
Результаты оценки | |||||
Оценка F1 | Средняя точность | Общий отзыв | |||
1.000 | 0,999 | 1.000 | |||
Время обучения | Набор обучающих данных | Набор данных тестирования | |||
Обучено за 1581 час. | 1 этикетка, 522 изображения | 1 этикетка, 108 изображений | |||
Производительность по этикетке | |||||
Название этикетки | Оценка F1 | Тестовые изображения | Точность | Отзывать | Предполагаемый порог |
pin |
1.000 | 108 | 0,999 | 1.000 | 0,617 |
Модель идеально определяет контакты в этом синтетическом наборе данных.
Затем мы строим модель, чтобы выявить недостающие дыры. Мы используем обрезанные изображения отверстий для обучения второго этапа модели, как показано в следующих примерах. Эта модель отличается от предыдущих моделей, поскольку она является моделью классификации и будет ориентирована на узкую задачу определения того, есть ли в штифте недостающее отверстие.
Мы обучаем эту модель второго этапа на 16 624 изображениях и тестируем на 3266, сохраняя то же разделение обучения/теста, что и в предыдущих экспериментах. В следующей таблице суммированы наши результаты.
Результаты оценки | |||||
Оценка F1 | Средняя точность | Общий отзыв | |||
1.000 | 1.000 | 1.000 | |||
Время обучения | Набор обучающих данных | Набор данных тестирования | |||
Обучено 6.660 часов | 2 этикетки, 16 624 изображения | 2 этикетки, 3266 изображений | |||
Производительность по этикетке | |||||
Название этикетки | Оценка F1 | Тестовые изображения | Точность | Отзывать | Предполагаемый порог |
anomaly |
1.000 | 88 | 1.000 | 1.000 | 0,960 |
normal |
1.000 | 3178 | 1.000 | 1.000 | 0,996 |
И снова мы получаем идеальную точность и полноту этого синтетического набора данных. Объединив предыдущую модель обнаружения штифтов с этой моделью классификации отсутствующих отверстий на втором этапе, мы можем построить модель, которая превосходит любую одноэтапную модель.
В следующей таблице суммированы проведенные нами эксперименты.
Эксперимент | Тип | Описание | Оценка F1 | Точность | Отзывать |
1 | Одноступенчатая модель | Модель обнаружения объектов для обнаружения недостающих отверстий на полных изображениях | 0,468 | 0,75 | 0,34 |
2 | Одноступенчатая модель | Модель обнаружения объектов для обнаружения исправных штифтов и отсутствующих отверстий на обрезанных изображениях | 0,967 | 0,989 | 0,945 |
3 | Двухступенчатая модель | Этап 1: Обнаружение объектов на всех контактах | 1.000 | 0,999 | 1.000 |
Этап 2: Классификация изображений здорового штифта или отсутствующих отверстий | 1.000 | 1.000 | 1.000 | ||
Сквозное среднее значение | 1.000 | 0,9995 | 1.000 |
Конвейер вывода
Вы можете использовать следующую архитектуру для развертывания одноэтапной и двухэтапной моделей, которые мы описали в этом посте. В работе задействованы следующие основные компоненты:
Для одноэтапных моделей вы можете отправить входное изображение в конечную точку шлюза API, а затем Lambda для любой базовой предварительной обработки изображения и направить к конечной точке обученной модели Rekognition Custom Labels. В наших экспериментах мы исследовали одноэтапные модели, которые могут обнаруживать только отсутствующие отверстия, а также недостающие отверстия и исправные штифты.
Для двухэтапных моделей вы можете аналогичным образом отправить изображение в конечную точку шлюза API, а затем в Lambda. Lambda действует как оркестратор, который сначала вызывает модель обнаружения объектов (обученную с помощью пользовательских меток Rekognition), которая генерирует интересующую область. Затем исходное изображение обрезается с помощью функции Lambda и отправляется в другую модель классификации Rekognition Custom Labels для обнаружения дефектов в каждом обрезанном изображении.
Заключение
В этом посте мы обучили одно- и двухэтапные модели обнаружению недостающих отверстий в печатных платах с помощью пользовательских меток Rekognition. Мы сообщили о результатах для различных моделей; в нашем случае двухступенчатые модели превзошли другие варианты. Мы рекомендуем клиентам, у которых есть изображения с высоким разрешением из других областей, протестировать производительность модели с помощью одно- и двухэтапных моделей. Кроме того, рассмотрите следующие способы расширения решения:
- Скользящие окна обрезки для ваших реальных наборов данных
- Повторное использование моделей обнаружения объектов в одном конвейере
- Рабочие процессы предварительной маркировки с использованием прогнозов ограничивающей рамки
Об авторах
Андреас Карагунис является менеджером по науке о данных в Accenture. Он получил степень магистра компьютерных наук в Университете Брауна. Он имеет опыт работы в области компьютерного зрения и работает с клиентами над решением их бизнес-задач, используя науку о данных и машинное обучение.
Йогеш Чатурведи — главный архитектор решений в AWS, специализирующийся на компьютерном зрении. Он работает с клиентами над решением их бизнес-задач с использованием облачных технологий. Вне работы он любит пешие походы, путешествия и просмотр спортивных состязаний.
Шрейас Субраманиан является главным специалистом по данным и помогает клиентам, используя машинное обучение, решать их бизнес-задачи с помощью платформы AWS. Шреяс имеет опыт крупномасштабной оптимизации и машинного обучения, а также использования машинного обучения и обучения с подкреплением для ускорения задач оптимизации.
Селимкан «Кан» Сакар — разработчик облачных технологий и архитектор решений в бизнес-группе AWS Accenture, специализирующийся на новых технологиях, таких как GenAI, машинное обучение и блокчейн. Когда он не смотрит, как сходятся модели, его можно увидеть катающимся на велосипеде или играющим на кларнете.