Компьютерное зрение Астана. Лекция 5
На прошлой лекции Цифровая обработка сигналов Сигналы и системы Свертка Преобразование Фурье –Спектр, высокие и низкие частоты Масштабирование изображений
На лекции Информация в изображении Предобработка изображения –Удаление шума в цветных изображениях –Удаление шума в бинарных изображениях Математическая морфология Анализ информации, содержащейся в изображении
Обработка и анализ изображений Обработка изображений –Image processing Компьютерное (машинное) зрение –Computer (machine) vision Компьютерная графика –Computer graphics
Изображение Изображение оптическое – картина, получаемая в результате прохождения через оптическую систему лучей, распространяющихся от объекта, и воспроизводящая его контуры и детали. Физический энциклопедический словарь. Компьютерное представление изображения: Функция от двух переменных Используется дискретное представление
Компьютерное зрение Цель –Принятие решений о реальных физических объектах и сценах, основываясь на воспринимаемых изображениях. Метод –Получение информации из изображений –Анализ и интерпретация полученной информации
Информация, содержащаяся в изображении Полезная информация –Информация низкого уровня Области однородные по некому признаку Границы однородных областей Цвет, форма области –Информация высокого уровня Объекты, содержащиеся на изображении Ошибочная информация (шум)
Предобработка изображения Подготовка изображения к анализу –Подавление и устранение шума –Упрощение изображения например, бинаризация –Усиление и выделение полезной информации
Предобработка изображения Подавление и устранение шума Причины возникновения шума: –Несовершенство измерительных приборов –Хранение и передача изображений с потерей данных
Устранение шума в полутоновых и цветных изображениях Пример: изображение с равномерным шумом. noise(i,j) – нормально распределенная случайная величина.
Усреднение
Гауссиан (sigma=32)
Размытие
Свертка - дифференцирование
Маски дифференцирования
Градиент
Попикселная обработка Out[x, y] = f (In[x,y])
Усиление и выделение полезной информации Коррекция яркости изображения. Простое линейное преобразование:
gout = f(gin)
Выравнивание гистограмм Используются все n уровней серого цвета На каждый уровень попадает примерно одинаковое количество пикселей: q=(R*C)/n
Выравнивание гистограмм
БИНАРИЗАЦИЯ ИЗОБРАЖЕНИЯ (1)
ПРИМЕРЫ ПОРОГОВОЙ БИНАРИЗАЦИИ
Подавление и устранение шума Устранение шума в бинарных изображениях Широко известный способ - устранение шума с помощью операций математической морфологии: Сужение (erosion) Расширение (dilation) Закрытие (closing) Раскрытие (opening)
Устранение шума типа «соль и перец» Задача – избавиться от одиночных темных пикселей в светлых областях и одиночных светлых пикселей в темных областях. Применение масок к изображению С учетом 8ми соседей С учетом 4х соседей
МОРФОЛОГИЧЕСКИЕ ФИЛЬТРЫ Сужение (Эрозия, Erosion) Расширение (Dilation) Закрытие (Closing) Раскрытие (Opening)
Морфологические операции
Расширение & Сужение
ПРИМЕР МОРФОЛОГИЧЕСКОГО РАСКРЫТИЯ Aopen(A)
ПРИМЕР МОРФОЛОГИЧЕСКОГО ЗАКРЫТИЯ Aclose(A)
Морфологические операции
Устранение шума в бинарных изображениях Пример бинарного изображению с сильным шумом
Применения сужения к бинарному изображению с сильным шумом
Устранение шума в бинарных изображениях Пример бинарного изображению с дефектами распознаваемых объектов
Не лучший пример для морфологии Не во всех случаях математическая морфология так легко убирает дефекты, как хотелось бы…
Применения операции открытия
Выделение границ В\(B (-) S) –внутренняя граница (В S)\B- внешняя граница
ПРИМЕР ОКОНТУРИВАНИЯ ОБЪЕКТА
МОРФОЛОГИЧЕСКАЯ СКЕЛЕТИЗАЦИЯ Операция скелетонизации Операция де-скелетонизации
МОРФОЛОГИЧЕСКАЯ СКЕЛЕТИЗАЦИЯ
ПРИМЕРЫ МОРФОЛОГИЧЕСКОЙ СКЕЛЕТИЗАЦИИ (1)
ПРИМЕРЫ МОРФОЛОГИЧЕСКОЙ СКЕЛЕТИЗАЦИИ (2)
Медианный фильтр Выбор медианы среди значений яркости пикселов в некоторой окрестности. Определение медианы: Медианный фильтр радиусом r – выбор медианы среди пикселей в окрестности [-r,r].
Применение медианного фильтра Результат применения медианного фильтра с радиусом 5 пикселов Результат применения медианного фильтра с радиусом в 7 пикселов к изображению с шумом и артефактами в виде тонких светлых окружностей.
Очистка изображения с помощью медианного фильтра Фильтр с радиусом 3x3
Очистка изображения с помощью медианного фильтра Фильтр с радиусом 3x3
Быстрая реализация медианного фильтра Медианный фильтр считается дольше, чем операция свертки, поскольку требует частичной сортировки массива яркостей окрестных пикселей. Возможности ускорения: Делать несколько шагов быстрой сортировки до получения медианы Конкретная реализация для каждого радиуса (3x3, 5x5)
Анализ информации, содержащейся в изображении Нас интересуют области однородные по некоторому признаку - например по яркости. Простейший случай – области, яркость который выше/ниже некоторого порога
Выделение связных областей Определение связной области: Область, каждый пиксель которой связан с одним из других пикселей, принадлежащих данной области. Связность пикселей: 4-связность8-связность
Разметка связных областей Бинарное изображениеРазмеченное изображение
Рекурсивная разметка связных областей (1) void Labeling(BIT* img[], int* labels[]) { // labels должна быть обнулена L = 1; for(y = 0; y < H; y++) for(x = 0; x < W; x++) if( (img[x][y] = = 1) && (labes[x][y] = = 0) ) { Fill(img, labels, x, y, L++); }
Рекурсивная разметка связных областей (2) void Fill(BIT* img[], int* labels[], int x, int y, int L) { if( (labels[x][y] = = 0) && (img[x][y] = = 1) ) { labels[x][y] = L; if( x > 0 ) Fill(img, labels, x – 1, y, L); if( x < W - 1 ) Fill(img, labels, x + 1, y, L); if( y > 0 ) Fill(img, labels, x, y - 1, L); if( y < H - 1 ) Fill(img, labels, x, y + 1, L); }
Разметка связных областей путем последовательного сканирования Последовательно, сканируем бинарное изображение сверху вниз, слева направо: if A = O do nothing else if (not B labeled) and (not C labeled) increment label numbering and label A else if B xor C labeled copy label to A else if B and C labeled if B label = C label copy label to A else copy either B label or C label to A record equivalence of labels Постобработка - переразметка с учетом эквивалентностей областей
Разметка связных областей путем последовательного сканирования Случай конфликта: Постобработка - переразметка с учетом эквивалентностей областей
Анализ формы связных областей Для каждой области можно подсчитать некий набор простейших числовых характеристик: Площадь Периметр Компактность Ориентацию главной оси инерции Удлиненность (эксцентриситет) На основе этих характеристик можно классифицировать получаемые области.
Анализ формы связных областей Площадь – количество пикселей в области; Периметр – количество пикселей принадлежащих границе области; Компактность – отношение квадрата периметра к площади; Наиболее компактная фигура – круг,.
Подсчет периметра области 1.Пиксель лежит на границе области, если он сам принадлежит области и хотя бы один из его соседей области не принадлежит. (внутренняя граница) 2.Пиксель лежит на границе области, если он сам не принадлежит области и хотя бы один из его соседей области принадлежит. (внешняя граница) Периметр зависит также от того 4-х или 8-ми связность используется для определения соседей.
Пример периметров области Область Внутренняя границаВнешняя граница
Статистические моменты области Дискретный центральный момент m ij области определяется следующим образом: n – общее количество пикселей в области
Инвариантные характеристики области Для распознавания нас интересуют характеристики инвариантные по отношению к масштабированию, переносу, повороту: Удлиненность, нецентрированность (эксцентриситет) Компактность
Ориентация главной оси инерции Не является инвариантной к повороту, но в ряде случаев предоставляет полезную информацию об ориентации объекта:
Пример изображения с подсчитанными характеристиками областей
Другие инвариантные характеристики области
Пример изображения для обработки
Литература library/cv/cv_intro.html courses/cg2000b/notes/lect_1.doc
Задания cg02b/assigns/hw-3/hw3.html cg01b/hw4/hw-4.htm 000b/hw2/hw-2.htm