Перейти к содержимому


Восстановление расфокусированных и смазанных изображений


Сообщений в теме: 25

#1 Maksim Byelokon

  • Пользователь
  • 579 сообщений
  • Город:Одесса

Отправлено 04 October 2012 - 16:38

Восстановление искаженных изображений является одной из наиболее интересных и важных проблем в задачах обработки изображений – как с теоретической, так и с практической точек зрения. Частными случаями являются размытие из-за неправильного фокуса и смаз – эти дефекты, с которым каждый из вас хорошо знаком, очень сложны в исправлении – именно они и выбраны темой статьи. С остальными искажениями (шум, неправильная экспозиция, дисторсия) человечество научилось эффективно бороться, соответствующие инструменты есть в каждом уважающем себя фоторедакторе.

Почему же для устранения смаза и расфокусировки практически ничего нету (unsharp mask не в счет) – может быть это в принципе невозможно? На самом деле возможно – соответствующий математический аппарат начал разрабатываться примерно 70 лет назад, но, как и для многих других алгоритмов обработки изображений, все это нашло широкое применение только в недавнее время.
Изображение
http://habrahabr.ru/post/136853/

#2 The sea on a sunny day

  • Пользователь
  • 4684 сообщений

Отправлено 04 October 2012 - 21:18

Любопытно, хотя в технические подробности не смог вникнуть )
Но ведь детали все равно не проявятся, которых не было изначально?

#3 Epigon

  • Пользователь
  • 13504 сообщений
  • Город:Новосибирск Академ

Отправлено 04 October 2012 - 21:29

проявятся все абсолютно.... и не 70 лет этому а больше.. все началось с ренгеноструктурного анализа...
если точно знать характер рассеяния тог восстановить можно всё... и фокусировка это лишнее но расчеты ох как долгие реально долгие

ps размытое ппо гауссу изображение лмчно восстанавливал 15 лет назад... правда оно было 16 битное чб

#4 The sea on a sunny day

  • Пользователь
  • 4684 сообщений

Отправлено 04 October 2012 - 21:31

то есть восстановление строго зависит от объектива, при помощи которого было размыто? (если не брать в расчет смаз)

#5 Vlad_Biker

  • Пользователь
  • 14225 сообщений
  • Город:Владивосток

Отправлено 04 October 2012 - 21:40

Просмотр сообщенияEpigon (04 October 2012 - 21:29) писал:

проявятся все абсолютно.... и не 70 лет этому а больше.. все началось с ренгеноструктурного анализа...
если точно знать характер рассеяния тог восстановить можно всё... и фокусировка это лишнее но расчеты ох как долгие реально долгие

ps размытое ппо гауссу изображение лмчно восстанавливал 15 лет назад... правда оно было 16 битное чб
Все же в зоне нерезкости имеет место потеря части информации о снимке. Думаю, что при небольших промахах кадр исправить можно, но после определенного предела программа будет больше придумывать, т. е. просто по контурам рисовать все заново... Там мелких деталей/широкого ДД не будет.

#6 Epigon

  • Пользователь
  • 13504 сообщений
  • Город:Новосибирск Академ

Отправлено 04 October 2012 - 21:56

никуда информация не пропала просто она рассеялась по многим точкам надо просто решить систму увы нелинейных уравнений числом равных числу точеек изображения...
a(i)* =F(i)(a(1)...a(n);
a(i)* то что видим в итой точку изображения
а(k) яркость k-той точки изображения
F(i) функция искажения, которая вычисляет a(i)* из значения всех точек изображения
F(i) по счастью известна для каждой линзы и дистанции фокусмравки
бывает частный случай когда F(i) постоянна то есть не зависит от i, это банальный случай и действительно легко решается
мы же имеем a* и F(i), и надо восчстановить a

#7 Vlad_Biker

  • Пользователь
  • 14225 сообщений
  • Город:Владивосток

Отправлено 04 October 2012 - 22:19

Это в идеале (с идеальным светоприемником типа фовеон, только лучше (когда каждый пиксель воспринимает длину и амплитуду волны не подвергшейся Байеризации, а как есть). В реальности часть информации из боке наложится друг на друга а суммированный световой пучок на плоскости матрицы еще и подвергается Байеризации + АА фильтр свое дело делает. В итоге часть информации восстановить можно и чем ближе человек к зоне резко изображенного пространства, тем проще его "пересчитать", но артефакты все равно повылазят, мелких деталей не будет, ну и порисовать всё же придется. Но в целом - это того стоит.

#8 Epigon

  • Пользователь
  • 13504 сообщений
  • Город:Новосибирск Академ

Отправлено 04 October 2012 - 22:21

все это байеры антиалиасы итд всего лишь функция рассеивания и только...котораа кстати легко табулирема если уж рассчитать трудно

#9 Vladimir P

    Сельский фотограф-теоретик

  • Пользователь
  • 5189 сообщений
  • Город:Сибирь, однако

Отправлено 05 October 2012 - 03:44

Просмотр сообщенияEpigon (04 October 2012 - 21:56) писал:

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

P.S. По поводу того, когда это родилось. Довольно давно. Мудрёное ругательство "деконволюция" математики знают уйму лет. Применялось ранее много где в научном мире, напр., при восстановлении истинной формы сигнала с учётом известной аппаратной функции прибора. Здесь отличие только в деталях: картинка двумерна, а аппаратная функция заранее неизвестна.

#10 Epigon

  • Пользователь
  • 13504 сообщений
  • Город:Новосибирск Академ

Отправлено 05 October 2012 - 08:40

с учетом шумов да некорректно но приблизительно можно... а вот насколько приблизительно зависит уже от шумов

#11 Emacs

  • Пользователь
  • 2727 сообщений
  • Город:Москва

Отправлено 05 October 2012 - 12:19

К сожалению, восстановление полностью невозможно и базируется на некоторых допущениях. Обычно это требования определённой гладкости картинки, которую нужно получить: предполагается, что в каждой точке она приближается многочленом какой-то ограниченной степени. На контрастных границах это допущение работает плохо, лезут артефакты.

Пляшут от следующего: в идеале предполагается, что есть некоторая нужная картинка I(x), но в результате размытия A была получена J(x)=(A∙I)(x), где A— оператор размытия. Для любого объектива этот оператор можно получить и затем попытаться обратить и задача как-бы решена. Но на самом деле всё гораздо печальнее, поскольку для восстановления после размытия приходится экстраполировать картинку немного за границы, а задача с оператором построенным с помощью PSF (PSF это функция рассеяния точки) — неустойчивая, т.е. небольшие отличия в начальных данных (появляющиеся в результате этой экстраполяции) могут привести к сильно отличающемуся решению, что и происходит на практике. Хотя в некоторых частных случаях, например с очень чёрным фоном и каком-то выделящемся размытом объекте в центре, восстановление должно быть очень хорошим в широких пределах.
Ещё, теоретически, возможно восстановление с качественным центром и сильно ухудшающимися краями.

#12 Vladimir P

    Сельский фотограф-теоретик

  • Пользователь
  • 5189 сообщений
  • Город:Сибирь, однако

Отправлено 06 October 2012 - 06:18

Просмотр сообщенияEmacs (05 October 2012 - 12:19) писал:

Ещё, теоретически, возможно восстановление с качественным центром и сильно ухудшающимися краями.
Ну почему теоретически. Это вполне часто используемая процедура применительно к цифровой обработке сигналов, напр., сглаживании и подавлении шумов. Самый край остаётся как есть, в качестве как раз дополнительного набора данных для работы над нужной серединкой. Ширина "плохой" границы зависит от того, насколько кривые руки велико ядро А. Обычно край менее важен, но придумывать лишние точки экстраполяцией - чревато в силу некорректности задачи.

#13 Imperator

  • Пользователь
  • 451 сообщений
  • Город:2:5020

Отправлено 06 October 2012 - 10:35

Просмотр сообщенияEpigon сказал:

фокусировка это лишнее но расчеты ох как долгие реально долгие
Насколько долгие при современном состоянии вычислительной техники? А то ведь раньше и фурье-спектрометры всё больше в теории существовали, а как появилась персоналка, так практически вытеснили все остальные.

#14 Epigon

  • Пользователь
  • 13504 сообщений
  • Город:Новосибирск Академ

Отправлено 06 October 2012 - 11:58

настоящие суперкопюьтеры за неделю справлялись в 2000 году..
как известно что с тех пор особого прогресса не произошло..

#15 Maksim Byelokon

  • Пользователь
  • 579 сообщений
  • Город:Одесса

Отправлено 07 October 2012 - 11:15

Просмотр сообщенияEpigon (06 October 2012 - 11:58) писал:

настоящие суперкопюьтеры за неделю справлялись в 2000 году..
как известно что с тех пор особого прогресса не произошло..
шутить изволите?:)

#16 Epigon

  • Пользователь
  • 13504 сообщений
  • Город:Новосибирск Академ

Отправлено 07 October 2012 - 13:31

увы нет, именно из личной практики....

#17 Schwanz

  • Пользователь
  • 10839 сообщений
  • Город:Москва

Отправлено 07 October 2012 - 13:49

Просмотр сообщенияEpigon сказал:

особого прогресса не произошло

э? кхм...

2000
2011

#18 Epigon

  • Пользователь
  • 13504 сообщений
  • Город:Новосибирск Академ

Отправлено 07 October 2012 - 14:20

а вы про это.... ну тогда были гигогерцовые частоты и сейчас гигогерцовые.... это в домашних процессорах прогрессс наблюдался... а не в топовых...

#19 Schwanz

  • Пользователь
  • 10839 сообщений
  • Город:Москва

Отправлено 07 October 2012 - 17:24

Просмотр сообщенияEpigon сказал:

а вы про это
дорогой эпигон, я не "про это", я про суперкомпьтеры.
представлены сводные таблицы за 2000 и 2011 года. что не так?

#20 Epigon

  • Пользователь
  • 13504 сообщений
  • Город:Новосибирск Академ

Отправлено 07 October 2012 - 23:37

все не так корес нодо было порядка 1000
важнол быстродействие каждого и оно не увеличилось почти...

#21 Schwanz

  • Пользователь
  • 10839 сообщений
  • Город:Москва

Отправлено 07 October 2012 - 23:53

Просмотр сообщенияEpigon сказал:

важнол быстродействие каждого
важен только конечный результат. точка.
как он достигается — неважно.

#22 Epigon

  • Пользователь
  • 13504 сообщений
  • Город:Новосибирск Академ

Отправлено 08 October 2012 - 11:27

ну не все задачи паралелятся на бесконечное число частей...
в данном конкретном случае прогресса и нет

#23 Epigon

  • Пользователь
  • 13504 сообщений
  • Город:Новосибирск Академ

Отправлено 08 October 2012 - 11:37

и кстати хрень какая-то в таблице...
лично видел компьтер и поиощнее в мае, 2000, 1200 процессоров каждый процессор 960 Мгц (бывший DEC)
в Sanger Center UK, как раз на нем это и считали

а до этого в 1996 в хьстоне видал компьютер SM2, ровно 65536 процессоров, а каких не знаю... и чтото я их не вижу в рейтингах... странно да?

Сообщение отредактировал Epigon: 08 October 2012 - 11:38


#24 NiOl

  • Пользователь
  • 4046 сообщений
  • Город:Московия

Отправлено 08 October 2012 - 12:22

SmartDeBlur

#25 Schwanz

  • Пользователь
  • 10839 сообщений
  • Город:Москва

Отправлено 08 October 2012 - 12:27

Просмотр сообщенияEpigon сказал:

странно да?
воистину

#26 trurl

  • Пользователь
  • 1726 сообщений
  • Город:Брянск

Отправлено 08 October 2012 - 16:00

Просмотр сообщенияVlad_Biker сказал:

Это в идеале (с идеальным светоприемником типа фовеон, только лучше (когда каждый пиксель воспринимает длину и амплитуду волны не подвергшейся Байеризации, а как есть).
А ещё каждый пиксель должен фиксировать информацию с неограниченной точностью.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных