Обнаружение дефектов на изображениях высокого разрешения с использованием двухэтапных моделей Amazon Rekognition Custom Labels.

Выявление дефектов на изображениях высокого разрешения с помощью моделей Amazon Rekognition Custom Labels из двухэтапного процесса.

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

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

В этой статье мы рассмотрим, как построить эффективную систему обнаружения дефектов с использованием Amazon Rekognition Custom Labels и сравним результаты этого конкретного случая использования с моделями одного этапа. Обратите внимание, что некоторые модели одного этапа эффективны даже при более низком или измененном разрешении изображения, а другие могут работать с большими изображениями в более малых пакетах.

Обзор решения

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

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

Обучение модели Rekognition Custom Labels состоит из нескольких шагов, как показано на следующей схеме.

Сначала мы используем Amazon Simple Storage Service (Amazon S3) для хранения данных изображения. Данные загружаются в блокноты Jupyter Amazon Sagemaker, где обычно исследователь данных осматривает изображения, предварительно обрабатывает их, удаляет изображения плохого качества, такие как размытые изображения или плохие условия освещения, и изменяет размер или обрезает изображения. Затем данные разделяются на тренировочную и тестовую выборки, и выполняются рабочие задания по разметке Amazon SageMaker Ground Truth, чтобы разметить наборы изображений и создать файлы обучения и тестирования. Файлы манифеста используются Rekognition Custom Labels для обучения.

Подход модели одного этапа

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

Мы обучаем модель с набором данных, включающим 95 изображений для обучения и 20 изображений для тестирования. Далее приведена таблица, в которой суммируются наши результаты.

Результаты оценки
Оценка F1 Средняя точность Общая полнота
0.468 0.750 0.340
Время обучения Обучающий набор данных Тестовый набор данных
Обучено за 1.791 часов 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
Время обучения Обучающий набор данных Тестовый набор данных
Обучение заняло 1,581 часов 1 метка, 522 изображения 1 метка, 108 изображений
Производительность по меткам
Имя метки Оценка F1 Тестовые изображения Точность Полнота Выбранный порог
контакт 1.000 108 0.999 1.000 0.617

Модель идеально обнаруживает контактные пины на этом синтетическом наборе данных.

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

Мы обучаем эту модель второго этапа на 16 624 изображениях и тестируем на 3 266 изображениях, сохраняя ту же разбивку на обучающую и тестовую выборки, что и в предыдущих экспериментах. Ниже приведена сводная таблица с нашими результатами.

Результаты оценки
Показатель F1 Средняя точность Общая полнота
1.000 1.000 1.000
Время обучения Набор данных для обучения Набор данных для тестирования
Обучено за 6.660 часов 2 метки, 16,624 изображений 2 метки, 3,266 изображений
Производительность по меткам
Название метки Показатель F1 Тестовые изображения Точность Полнота Threshold
аномалия 1.000 88 1.000 1.000 0.960
нормальный 1.000 3,178 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
Среднее значение end-to-end 1.000 0.9995 1.000

Процесс инференции

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

Для одноэтапных моделей вы можете отправить входное изображение на конечную точку API Gateway, а затем использовать Lambda для какой-либо базовой предобработки изображения и передачи его в конечную точку обученной модели Rekognition Custom Labels. В наших экспериментах мы исследовали одноэтапные модели, которые могут обнаруживать только отсутствующие отверстия и отсутствующие отверстия и целые контакты.

Для двухэтапных моделей вы также можете отправить изображение на конечную точку API Gateway, а затем использовать Lambda. Lambda действует как оркестратор, который сначала вызывает модель обнаружения объектов (обученную с помощью Rekognition Custom Labels), генерирующую регионы интереса. Затем исходное изображение обрезается в функции Lambda и отправляется в модель классификации Rekognition Custom Labels для обнаружения дефектов в каждом обрезанном изображении.

Вывод

В этом сообщении мы обучили одноэтапные и двухэтапные модели для обнаружения отсутствующих отверстий на печатных платах с использованием Rekognition Custom Labels. Мы представили результаты для различных моделей; в нашем случае, двухэтапные модели показали лучшие результаты по сравнению с другими вариантами. Мы рекомендуем клиентам с высококачественными изображениями из других областей проверить производительность моделей с одноэтапными и двухэтапными моделями. Кроме того, рассмотрите следующие способы расширения решения:

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