МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ (национальный исследовательский университет) (национальный исследовательский университет) Факультет прикладной математики и физики Кафедра вычислительной математики и программирования Выполнил: Семенов С.А. Руководитель: Ревизников Д.Л. Лекция 16 «Обработка изображений»
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 2 Содержание Шумы в изображениях Ранговые фильтры Гаусово размытие Фильтр Bilateral Артефакты при масштабировании Фильтр Ланцоша Фильтр NEDI
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 3 Image Denoising Шумы в изображении –Импульсный Salt & pepper –Аддитивный Uniform Gaussian
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 4 Ранговые фильтры Алгоритм Р.Ф. ранга N: –Для каждого отсчета сигнала i –Выбор окрестности вокруг отсчета i Сортируем по значению Выбираем N-ое значение как результат
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 5 Медиана Ранговый фильтр N=0.5 Сортировка не обязательна для 8bit значений –Строим гистограмму for(int i<-R; i<R; i++) h[ signal[i] ]++; –Сканируем Гистограмму: int sum = 0; int targetSum = N*rank; for(int i<0; i<256; i++) { sum += h[i]; if (sum > targetSum) return i; }
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 6 Медиана Построение гистограммы сигнал Сигнал + фартук в Smem
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 7 Фильтрация (Аддитивный шум) Размытие – это low-pass фильтр Каким должен быть фильтр? –Подавлять шум –Сохранять детальность noise E(noise) = 0
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 8 Gaussian Blur Blur (размытие) изображение Свертка с ядром:
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 9 Адаптивное размытие Свертка с ядром: ClrSpaceDist – это фотометрическая близость
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 10 Bilateral
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 11 Bilateral
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 12 Bilateral Оптимизации Bilateral не сепарабельный фильтр –Но можно его разделить Смешивать исходное изображение с фильтрованным –Если в блоке много ненулевых коэффф., то с большой вероятностью в этом блоке шум был подавлен успешно –Если в блоке много нулевых коэффф., то с большой вероятностью в блоке много деталей (границы, текстура и т.д.)
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 13 Non Local Means ClrSpaceDist – оценивать по блокам пикселей
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 14 Non Local Means На вычисление одного веса: – N b xN b вычислений, N размер блока На фильтрацию одного пиксела: –N b xN b x RxR, R размер окна
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 15 Сравнение изображение шум
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 16 Сравнение изображение Bilateral
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 17 Сравнение изображение NLM
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 18 Масштабирование Артефакты Алиасинг –При увеличении – ступенчатость –При уменьшении - муар Ringing Потеря четкости Субпиксельный сдвиг –Влияет на формальные метрики
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 19 Простые методы Билинейная интерполяция –Сепарабельная –Очень быстрая –Поддерживается в HW Точность фильтрации
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 20 Простые методы Билинейная интерполяция P1 P7 P3 P9 P4?P4? P2? P5?P6? P8?
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 21 Простые методы Бикубическая интерполяция –Сепарабельная –Лучше качество t=0 t=1 t=0.5
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 22 Билинейная Сравнение Бикубическая Ближним цветом
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 23 Lanczos
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 24 Gradient interpolation P1 P7 P3 P9 P7? P2? P5?P6? P8? Dxd = abs(P3 – P5) Dyd = abs(P1 – P9) If (Dxd > Dyd) //граница P1P5P9 P5 = (P1 + P9) * 0.5f; If (Dyd > Dxd) //граница P3P5P7 P5 = (P1 + P9) * 0.5f; If (Dyd ~= Dxd) //граница не определена P5 = (P1 + P3 + P7 + P9) * 0.25f;
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 25 NEDI (New Edge-Directed Interpolation)
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 26 NEDI α1α1 α2α2 α3α3 α4α4 χ 2i 2j X = F(2i+1,2j+1) = α 1 *F(2i,2j)+ α 2 *F(2i+2,2j)+ α 3 *F(2i,2j+2)+ α 4 *F(2i+2,2j+2); α = {α 1, α 2, α 3, α 4 } ?
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 27 NEDI α1α1 P 2,2 α4α4 α2α2 P 4,2 α3α3 P 2,4 P 6,2 P 8,2 P 6,4 P 8,4 P 2,6 P 4,8 P 4,6 P 2,8 P 6,6 P 8,6 P 6,8 P 8,8 X i,j = α 1 *F(i-2,j-2) + α 2 *F(i+2,j-2) + α 3 *F(i-2,j+2) + α 4 *F(i+2,j+2); For i = 2,4,6,8 | For j = 2,4,6,8 E i,j = P j,j – X i,j – Approximation Error SSE = ΣΣ sqr( E i,j ); α = Arg min(SSE); α P = {P ij } Cα = P (SSE) / α = 0.0 α = (C T C) -1 C T P …
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 28 NEDI (improvement) …
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 29 NEDI (improvement) …
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 30 NEDI (improvement) …
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 31 NEDI: Pros and Cons Pros: NEDI –Четкие тонкие края Cons: Очень медленно на CPU –Умножение матриц 4 х 16 –Обращение матрицы –Рингинг CUDA: –Большой объем данных на тред –Много регистров –Сложно использовать Smem –Много ветвлений
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 32 Сравнение ближайший соседний билинейная бикубическая nedi масштабировали
Московский авиационный институт (национальный исследовательский университет ) Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования 33