Назад в библиотеку

Распознавание дефектов на металлических сплавах с помощью алгоритмов компьютерного зрения OpenCV

Автор: Балеев И.А.

Научный руководитель: Земцов А.Н.
Источник: Балеев, И. А. Распознавание дефектов на металлических сплавах с помощью алгоритмов компьютерного зрения Opencv / И. А. Балеев // XXV Региональная конференция молодых ученых и исследователей Волгоградской области : Сборник материалов конференции, Волгоград, 24–27 ноября 2020 года. – Волгоград: Волгоградский государственный технический университет, 2021. – С. 177-178. – EDN PRTTRV.

Аннотация: В данной работе рассматривается задача определения дефектов с помощью алгоритмов компьютерного зрения. Описываются шаги по обработке изображения. При разборе алгоритма, для каждого шага было представлено описание с последующей программной реализацией. Заключительным этапом, после наложения методов алгоритма на изображение, является подсчет контуров дефектов. Для демонстрации работоспособности программного обеспечения были взяты случайные фотографии металлического тела в разрезе, где можно, непосредственно, наблюдать дефекты в виде газовых пор. Для написания программного обеспечения был использован язык программирования Python 3.7, а также, библиотека алгоритмов компьютерного зрения OpenCV.

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

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

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

Бинаризация изображения

Рис. 1. Бинаризация изображения

Алгоритм выделения границ или иначе обнаружения границ работает после того, как качество изображения улучшено перечисленными выше методами. При обнаружении краев мы находим границы или края объектов в изображении, определяя, где яркость в изображении резко меняется.

Определение контуров на изображении. В OpenCV используется алгоритм топологического структурного анализа бинарных изображений. Алгоритм предполагает нахождение контуров с учетом вложенности, то есть способен определить, когда в контур одного объекта вложен другой.

Результаты работы могут быть востребованы при диагностике дефектов на деталях на производстве для автоматизации рабочего процесса и оптимизации рабочего труда.

Литература

1. Хамулин А.В. Система тестирования алгоритмов компьютерного зрения / А.В. Хамулин // Актуальные проблемы современной науки. - Москва, 2014. - С. 170-174.
2. Воронин Ю.Ф. Примеры распознавания и ликвидации дефектов отливок / Ю.Ф. Воронин // Литейное производство. - Волгоград, 2016 - С. 5-9.
3. Игнатьев А.А. Автоматизация распознавания дефектов шлифованых деталей в системе мониторинга технологического процесса производства подшипников / А.А. Игнатьев, А.Р. Бахтеев // Вестник саратовского государственного технического университета. - Саратов, 2006. - С. 136-142.
4. Грибков И.В. Сравнительное исследование методов анализа изображений / А.В. Захаров, П.П. Кольцов, Н.В. Котович, А.А. Кравченко // Автоматика и радиоэлектроника, НИИСИ РАН-Москва, 2005. - С. 155.