№ | Слайд | Текст |
1 |
 |
Анализ информации, содержащейся в изображенииНа примере бинарных изображений Бинарное изображение – изображение, пиксели которого принимают всего два значения (0 и 1). |
2 |
 |
Бинарное изображениеПример изображения для обработки |
3 |
 |
Выделение связных областейОпределение связной области: Множество пикселей, у каждого пикселя которого есть хотя бы один сосед, принадлежащий данному множеству. Соседи пикселей: 4-связность 8-связность |
4 |
 |
Разметка связных областей1 1 2 2 2 1 1 2 2 2 3 4 4 5 4 4 4 6 6 6 6 6 7 Бинарное изображение Размеченное изображение |
5 |
 |
Рекурсивная разметка связных областей 1Void labeling(bit* img[], int* labels[]) { // labels должна быть обнулена L = 1; for(y = 0; y < H; y++) for(x = 0; x < W; x++) { fill(img, labels, x, y, L++); } } |
6 |
 |
Рекурсивная разметка связных областей 2void 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); } } |
7 |
 |
Разметка связных областей путем последовательного сканированияПоследовательно, сканируем бинарное изображение сверху вниз, слева направо: Постобработка - переразметка с учетом эквивалентностей областей 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 |
8 |
 |
Разметка связных областей путем последовательного сканированияСлучай конфликта: Постобработка - переразметка с учетом эквивалентностей областей |
9 |
 |
Анализ формы связных областейДля каждой области можно подсчитать некий набор простейших числовых характеристик: Площадь Периметр Компактность Ориентацию главной оси инерции Удлиненность (эксцентриситет) На основе этих характеристик можно классифицировать получаемые области. |
10 |
 |
Анализ формы связных областейПлощадь – количество пикселей в области; Периметр – количество пикселей принадлежащих границе области; Компактность – отношение квадрата периметра к площади; Наиболее компактная фигура – круг, . |
11 |
 |
Подсчет периметра областиПиксель лежит на границе области, если он сам принадлежит области и хотя бы один из его соседей области не принадлежит. (внутренняя граница) Пиксель лежит на границе области, если он сам не принадлежит области и хотя бы один из его соседей области принадлежит. (внешняя граница) Периметр зависит также от того 4-х или 8-ми связность используется для определения соседей. |
12 |
 |
Пример периметров областиОбласть Внутренняя граница Внешняя граница |
13 |
 |
Статистические моменты областиДискретный центральный момент mij области определяется следующим образом: N – общее количество пикселей в области |
14 |
 |
Инвариантные характеристики областиДля распознавания нас интересуют характеристики инвариантные по отношению к масштабированию, переносу, повороту: Удлиненность, нецентрированность (эксцентриситет) Компактность |
15 |
 |
Ориентация главной оси инерцииНе является инвариантной к повороту, но в ряде случаев предоставляет полезную информацию об ориентации объекта: |
16 |
 |
Пример изображения с подсчитанными характеристиками областей |
17 |
 |
Другие инвариантные характеристики области |
18 |
 |
Перевод изображения в бинарноеПростейший случай – выделение областей, яркость которых выше/ниже некоторого порога |
19 |
 |
Как автоматически вычислить порогСегментация изображения на области однородной яркости методом k-средних. Метод k-средних – метод кластеризации данных, строящий кластеры настолько различные, насколько это возможно. Целью задачи кластеризации является разбиение множества объектов на классы (кластеры) на основе некоторой меры сходства объектов (в нашем случае мера сходства это близость яркостей пикселей). |
20 |
 |
Алгоритм k-среднихДано: Набор векторов xi i=1,…,p; k – число кластеров, на которые нужно разбить набор xi; Найти: k средних векторов mj j=1,…,k (центров кластеров); отнести каждый из векторов xi к одному из k кластеров; |
21 |
 |
Алгоритм k-среднихСлучайным образом выбрать k средних mj j=1,…,k; Для каждого xi i=1,…,p подсчитать расстояние до каждого из mj j=1,…,k, Отнести (приписать) xi к кластеру j’, расстояние до центра которого mj’ минимально; Пересчитать средние mj j=1,…,k по всем кластерам; Повторять шаги 2, 3 пока кластеры не перестанут изменяться; |
22 |
 |
Пример кластеризации в 2DИсходные данные |
23 |
 |
Пример кластеризации в 2DСлучайная инициализация центров кластеров (шаг 1) |
24 |
 |
Пример кластеризации в 2DКластеры после первой итерации (шаг 2) |
25 |
 |
Пример кластеризации в 2DПересчет центров кластеров после первой итерации (шаг 3) |
26 |
 |
Пример кластеризации в 2DКластеры после второй итерации (шаг 2) |
27 |
 |
Пример кластеризации в 2DСтабильная конфигурация после четвертой итерации |
28 |
 |
Применение k-средних для сегментации изображений по яркостиРассматриваем одномерное пространство яркостей пикселей и производим в нем кластеризацию с помощью k-средних. Это дает автоматическое вычисление яркостных порогов. (Для получения бинарного изображения k=2) |
29 |
 |
Пример сегментацииk = 2 k = 3 |
30 |
 |
Сравнение k-средних с порогом по средней яркостиПосле лекции был задан вопрос: чем отличается сегментация с помощью k-средних на 2 кластера от простейшей пороговой бинаризации по средней яркости изображения? Пример: В причинах предлагается разобраться самостоятельно K-средних Порог по средней яркости |
31 |
 |
Преобразование Хафа (Hough)Преобразование Хафа позволяет находить на бинарном изображении плоские кривые, заданные параметрически, например: прямые, окружности, эллипсы, и т.д. Бинарное изображение – изображение, пиксели которого принимают всего два значения (0 и 1). Считаем 0 – точками фона, 1 – «точками интереса». Задача преобразования Хафа состоит в выделении кривых, образованных точками интереса. |
32 |
 |
Основная идея методаРассмотрим семейство кривых на плоскости, заданное параметрическим уравнением: F(a1, a2, …, an, x, y) = 0; где F - некоторая функция, a1, a2, ..., an - параметры семейства кривых, x, y - координаты на плоскости. Параметры семейства кривых образуют фазовое пространство, каждая точка которого (конкретные значения параметров a1, a2, ..., an) соответствует некоторой кривой. Идея преобразования Хафа состоит в поиске кривых (точек фазового пространства), которые проходят через достаточное количество точек интереса. |
33 |
 |
Машинное представлениеВвиду дискретности машинного представления и входных данных (изображения), требуется перевести непрерывное фазовое пространство в дискретное. Вводим сетку на фазовом пространстве Каждой ячейке сетки ставим в соответствие счетчик Значение счетчика каждой ячейки устанавливаем равным количеству точек интереса, через которые проходит хотя бы одна кривая, параметры которой принадлежат данной ячейке. Анализ счетчиков ячеек позволяет найти на изображении кривые, на которых лежит наибольшее количество точек интереса. |
34 |
 |
Выделение прямых на изображенииПрямую на плоскости можно задать следующим образом: x cos? + y sin? = R, R - длина перпендикуляра опущенного на прямую из начала координат, ? - угол между перпендикуляром к прямой и осью OX, ? изменяется в пределах от 0 до 2? , R ограничено размерами входного изображения. |
35 |
 |
Выделение прямых на изображенииТаким образом функция, задающая семейство прямых, имеет вид: F (R, ?, x, y) = x cos? + y sin? - R. Через каждую точку (x, y) изображения можно провести несколько прямых с разными R и ?, то есть каждой точке (x, y) изображения соответствует набор точек в фазовом пространстве (R, ?). В свою очередь каждой точке пространства (R, ?) соответствует набор точек (x, y) на изображении, образующий прямую. |
36 |
 |
Изображение и фазовое пространствоЧерез одну точку можно провести несколько прямых. Учитывая дискретность и введенную сетку, их будет конечное число. Каждой прямой пространства (x, y) соответствует точка фазового пространства (R, q). Прямые с левого рисунка образуют синусоиду. |
37 |
 |
Изображение и фазовое пространствоИзображение с пятью точками интереса. Кривые в фазовом пространстве, соответствующие множеству прямых проходящих через каждую из точек. Точки пересечения кривых в фазовом пространстве соответствуют параметрам прямых, проходящих более чем через одну точку интереса. |
38 |
 |
Дискретизация фазового пространстваПереводим непрерывное фазовое пространство в дискретное. Введем сетку на пространстве (R, ?), одной ячейке которой соответствует набор прямых с близкими значениями R и ?. Счетчик ставится в соответствие каждой ячейке сетки [Ri, Ri+1]x[?i,?i+1], равный числу точек интереса на изображении, удовлетворяющих уравнению: x cos? + y sin? = R, где ?i ? ? ? ?i+1, Ri ? R ? Ri+1. |
39 |
 |
Алгоритм выделения прямыхВ общем случае алгоритм поиска прямой на изображении при помощи преобразования Хафа выглядит так: Обнулить счетчики всех ячеек; для каждой точки интереса на изображении: для каждой прямой, проходящей через данную точку увеличить соответствующий счетчик; выбрать ячейки со значением счетчика, превышающим заданный порог; |
40 |
 |
Размер ячеек стоит выбирать аккуратноЕсли ячейки будут очень большими, то за «прямую» может приниматься разрозненный набор точек. Если же наоборот, ячейки будут слишком малы, есть вероятность, что ни одной прямой не найдется – все счетчики будут иметь небольшое значение. |
41 |
 |
Примеры работы |
42 |
 |
Примеры работы (с шумом) |
43 |
 |
Примеры работы (фрагменты прямых) |
«Анализ информации, содержащейся в изображении» |
http://900igr.net/prezentacija/informatika/analiz-informatsii-soderzhaschejsja-v-izobrazhenii-65863.html