В работе предложен алгоритм и программная реализация подсистемы обработки изображений в системе технического зрения робота для рекламного стенда кафедры в рамках профориентационной работы. Разработанная подсистема была применена к обработке изображений, на которых были изображены реальные гаечные ключи и отвертки под разными углами.
Ключевые слова: система технического зрения робота, предварительная обработка, сегментация, бинаризация, идентификация, классификация, геометрический признак.
Для автоматизации выполнения некоторых операций на производстве используются системы технического зрения (СТЗ), которые позволяют распознавать объекты и контролировать качество продукции. Типичными задачами для этих систем являются задачи зрительного контроля и управления процессами в машиностроении, в микроэлектронике, на конвейерах в промышленности, на операциях контроля деталей и надписей и т. д. Кроме того, начиная с 2000 года, активно начала развиваться разработка бытовых роботов, для которых должны быть решены задачи навигации, а так же распознавания предметов обстановки [2].
В состав СТЗ робота входят: видеокамеры, осветительно-фокусирующая установка (ОФУ), сетевое оборудование для синхронизации камер, компьютерная система. Компьютерная система включает подсистему обработки изображений, получаемых с камер. Функциональная схема СТЗ робота представлена на рисунке 1.
Рис. 1. Функциональная схема системы технического зрения для рекламного стенда кафедры
В работе решалась задача создания алгоритма и его программной реализации для СТЗ робота для рекламного стенда кафедры в рамках профориентационной работы, которая проводится для ознакомления абитуриентов с профильной деятельностью кафедры. Причем для разрабатываемой системы предполагалось, что распознаваемые объекты хорошо освещены, имеют простую форму и не перекрывают друг друга.
Обработка изображений включает блоки, выполняющие конкретные операции: блок предварительной обработки изображений, блок сегментации изображений, блок идентификации признаков, блок классификации объектов на изображении.
Обработка изображений в СТЗ робота для рекламного стенда кафедры выполнялась согласно функциональной схеме, представленной на рисунке 2.
Рис. 2. Функциональная схема обработки изображений в СТЗ робота для рекламного стенда кафедры
В качестве исходных рассматривались цветные изображения, содержащие два объекта: гаечный ключ и отвертку. Пример изображения приведен на рисунке 3, а.
На этапе предварительной обработки изображения применяются методы уменьшения уровня помех на изображении, а именно, метод медианной фильтрации. Данный метод обладает высоким быстродействием и позволяет снизить уровень импульсных помех на изображениях, при этом контуры объектов на изображении не размываются.
Результат применения медианной фильтрации показан на рисунке 3, б.
Рис. 3. Исходное цветное изображение (а) и результат применения медианной фильтрации к обрабатываемому изображению в СТЗ робота для рекламного стенда кафедры (б)
Для уменьшения количества информации, содержащейся на изображении, применяют бинаризацию, которая переводит полутоновое изображение в черно-белое, пиксели которого имеют только 2 значения: 0 и 1. Операция бинаризации связана с выбором порога. Если значение интенсивности пикселя меньше порога, то мы его относим к области объекта, в противном случае — к области фона:
где G' (х, у) — преобразованная интенсивность пикселя с координатами х, у; G(х, у) — исходная интенсивность того же пикселя; T — порог.
Наиболее известны такие алгоритмы бинаризации: обработка с глобальным порогом [1], обработка с адаптивным порогом [1], метод Отсу [1], методы кластеризации. В работе использовалась бинаризация с выбором глобального порога. При этом выбор порога основывался на визуальном изучении гистограммы изображения.
Рис. 4. Выбор порога на основе визуального анализа гистограммы
По результату анализа гистограммы (рис. 4) был выбран порог равный 0,92.
Для контурной сегментации использовался метод Канни [4], который состоит из следующих этапов: фильтрация гаусовским фильтром нижних частот; в каждой точке изображения вычисляется градиент, который характеризуется модулем и направлением; проводится анализ значений градиента — сравнивается значение интенсивности в двух соседних точках в одинаковом направлении градиента, в результате получаем контур — это тонкая линия, лежащая на гребне перепадов интенсивности; пороговая обработка с двумя порогами (сильные и слабые контуры); морфологическая операция добавляет к сильным контурам слабые, которые связанные с сильными, что создает хорошо прослеживаемый контур.
Рис. 5. Результат применения сегментации на основе пороговой обработки (а) и контурной сегментации методом Канни (б)
В результате процедуры контурной сегментации на изображении (рис. 5, б) были получены ложные контуры и разрывы контура. Для их устранения использовались морфологические операции эрозии и дилатации [3]. Операция эрозии убирает ложные контуры. Операция дилатации наращивает контур для устранения разрывов (рис. 6, а). Далее заполняется область внутри контура (рис. 6, б).
Рис. 6. Результат применения морфологической операции эрозии и дилатации (а) и операции заполнения областей внутри контура (б)
Далее производим выделение связанных областей, где объектам присваиваются маркеры в виде цифр (рис. 7).
Рис. 7. Пример бинарного изображения (а) и маркированного изображения (б)
Для идентификации объектов использовался геометрический признак компактности К, который рассчитывается как отношение квадрата периметра Р к площади S для каждого объекта на изображении и для каждого эталонного образа:
. (1)
Периметр рассчитывался как сумма граничных пикселей. Площадь — как сумма граничных пикселей и пикселей внутри контура.
При классификации учитывалось расстояние до эталонного образа. В качестве эталонного образа использовался образ изображения одиночного объекта (гаечного ключа или отвертки), полученного в условиях равной освещенности.
Рассчитывалось расстояние от классифицируемых изображений объектов до эталонных изображений. По минимальному расстоянию принималось решение о соответствии объекта на изображении эталонному изображению.
Структура программы представлена на рисунке 8. Программа состоит из интерфейса, информационного блока и расчетного блока.
Рис. 8. Структура программы для обработки изображений в СТЗ робота для рекламного стенда кафедры
Разработанная подсистема обработки изображений для СТЗ робота использовалась для обработки 20 изображений, на которых были изображены гаечные ключи и отвертки. На рисунке 9 показано исходное изображение, промежуточные результаты и результирующее изображение, где метками указано классификационное решение.
Рис. 9. Пример применения программы для обработки изображений в СТЗ робота для рекламного стенда кафедры
Объекты на рассматриваемых изображениях располагались под разными углами, что не влияло на достоверность распознавания (рис. 10). Ошибочное распознавание происходило только если объекты перекрывали друг друга или объекты были нестандартной формы (рис. 11). Вероятность правильного распознавания составила 0,9, при вероятности ложной тревоги 0,1.
Рис. 10. Пример правильного распознавания изображений в СТЗ робота для рекламного стенда кафедры
Рис. 11. Пример ошибочного распознавания изображений в СТЗ робота для рекламного стенда кафедры
Литература:
- Гонсалес Р. Цифровая обработка изображений / Р. Гонсалес, Р. Вудс — М.: Техносфера, 2005. — 1072 с.
- Мошкин В. И., Петров А. А., Титов В. С., Якушенков Ю. Г. Техническое зрение роботов. /Под общей редакцией Ю. Г. Якушенкова — М.:, Машиностроение, 1990. — 272 с.
- Полякова М. В., Крылов В. Н. Морфологический метод контурной сегментации на основе репагулярного вейвлет-преобразования / М. В. Полякова, В. Н. Крылов // Труды Одесского политехнического университета. — 2006. — Вып. 1 (25). — С. 98–103.
- Фурман Я. А. и др. Введение в контурный анализ; приложения к обработке изображений и сигналов/ Я. А. Фурман [и др]. — М.: Физматлит, 2003. — 592 с.