2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 ПО для повышения четкости. Ну или алгоритм
Сообщение07.02.2013, 15:12 
Аватара пользователя


14/08/12
309
Задача в том, чтобы по n одинаковым кадрам (фотоснимкам) получить более четкое изображение. Это уже сделано людьми, я только не в курсе как называются методы, алгоритмы, программы и т.д.
Поэтому опишу, как я это представляю, а если кто знает такое ПО, напишите пожалуйста.
Собственно, два варианта (и две немного разных задачи):

1) Делаем n снимков на которых ничто физически не движется. (Т.е. не облака, не животные, статическая картина) В каждом пикселе есть некий шум, поэтому усредняем и готово. И чтобы убрать возможный сдвиг из-за вибраций и т.д., сначала перебором смещений на указанное число пикселей по х и у находим смещение с максимальной корреляцией кадров, смещаем, далее снова усредняем шум. Этот метод дает возможность делать снимки, особенно ночные, более высокого качества (задача съесть шум, а если оптика фиговая и т д ясно что это другая тема)

2) Астрофотография: делается снимок удаленного объекта малого углового размера, получается размазанное пятно (набор пикселей с разрешением p угл.секунд/пикс.). Делаем $kn^2$ снимков со смещением на 1/n по x и y, затем каждую серию из k снимков усредняем по алгоритму 1, затем увеличиваем image в n раз (чтобы в каждом пикселе стало n x n пикселей), а затем исходя из того, что в каждом большом пикселе имеется усредненная сумма данных n x n маленьких пикселей (со смещением на m-ое кол-во пикселей по х и у, m=0..n), решаем систему уравнений и получаем изображение разрешением p/n угл.секунд/пикс.

Первый метод убирает шум, второй повышает разрешение.
Не отрицаю, что реально существующие методы могут как угодно отличаться, так что, если вы их знаете, ознакомьте меня с ними плиз.
А то придется писать своё ПО, а с графическими форматами возиться зело лень. ))

P.S. Да, всякого рода unsharp маски не предлагать, тут о другом речь.

----

Любопытства ради, поясню 2й метод на примере. Пусть фотографируемое изображение состоит из NxN пикселей (искомых, $A_{ij}$), а разрешение фотоприбора таково, что в каждый его пиксель, $B_{ij}$, попадает KxK пикселей исходного изображения. Пусть N=KM, т.е. MxM - это и есть размер сделанной фотографии.

(Каждое значение пусть это яркость, снимок ч/б или через фильтр, оцифрованная интенсивность пойманного излучения)

Делаем KxK снимков, получаем значения $B_{ij}^{pq}$, где p и q - индексы от 0 до K-1, обозначающие смещение поля (и номер снимка), i и j - индексы от 1 до M, означающие номера(координаты) пикселей фотографии.

Суммируем по индексам u и v от 1-K до K-1, потому что нужно охватить поле NxN полностью, выходя крайними большими пикселями за пределы поля в обе стороны по х и по у.

$$B_{ij}^{pq}=\frac{1}{(2K-1)^2}\sum^{K-1}_{u=1-K}\sum^{K-1}_{v=1-K}{A_{Ki+p+u,Kj+q+v}}$$

Получаем систему уравнений, $M^2K^2$ штук, а неизвестных сколько? Считаем: $N^2=M^2K^2$.

Поскольку поле обзора смещается, то для вычислений нужны значения маленьких пикселей $A_{ij}$ вне поля NxN, выбираем их произвольно, и пусть это 0 (а технически - это заслоняющая рамка), т.е. черный фон. При необходимости размер N увеличивается настолько, чтобы интересующее для обработки изображение (объект, звезда и т.д.) оказалось вне "тени", рождаемой вовлечением "заграничных" нулевых значений. Т.о. при вычислениях считаем при i,j<1 и при i,j>N $A_{ij}=0$

Здесь нужно сказать, что технически встает задача сместить поле обзора на величину кратную p/n угл.сек., что может оказаться также нетривиально, но это уже нужно решать инженерам, а не математикам. :-) Смещать на нанометры мы уже умеем, причем с большой скоростью, так что вполне возможна и ускоренная съемка этим методом, что позволит в сочетании с методом №1 снимать даже движущиеся объекты.

И ещё. Мы намеренно ставим условие, что более мелкие пиксели "хорошие" и оптика наша "хорошая" и каждый мелкий пиксель попадает только в один крупный пиксель. Хотя при учитывании механических особенностей смещения поля зрения с конкретными приборами всё становится сложнее, пиксели могут быть параллелограммами, и это в лучшем случае... задевать соседние большие пиксели... и т.д.

И ещё одно ещё. Строго говоря, коэффициент перед суммами не нужен, т.к. по факту интенсивность излучения суммируется в больших пикселях, а в каждом из маленьких она вот такая маленькая, какая есть. Это всё уже вопрос нормировки и пересчёта интенсивности под конкретную задачу. Больший светосбор более крупного пикселя, при хорошем алгоритме обработки и хорошей технологии съемки со смещением, может пойти только в плюс, особенно при съемках объектов дальнего космоса или очень слабой светимости.

---

UPD: к этой всей математике задача со звёздочкой :-) Для векторного представления системы уравнений, составить матрицу коэффициентов при неизвестных. Должно получиться интересно :-)

 Профиль  
                  
 
 Re: ПО для повышения четкости. Ну или алгоритм
Сообщение07.02.2013, 19:33 
Заслуженный участник
Аватара пользователя


30/01/09
7068
Alex_J в сообщении #681052 писал(а):
а если кто знает такое ПО, напишите пожалуйста

МатЛаб - Image Processing Toolbox.

 Профиль  
                  
 
 Re: ПО для повышения четкости. Ну или алгоритм
Сообщение12.02.2013, 07:44 


05/12/11
18
Если вам известны величины сдвигов, то это обычная деконволюция: посоветованный выше matlab image toolbox + функция pinv должны сработать. В условиях, когда шаги неизвестны, неточны или есть деформации, это называется super resolution или upsampling. Например вот:
http://mentat.za.net/supreme/

 Профиль  
                  
 
 Re: ПО для повышения четкости. Ну или алгоритм
Сообщение12.02.2013, 21:23 
Аватара пользователя


14/08/12
309
Спасибо, это то что нужно :)
Хотя как всегда собственноручная реализация представляет особый интерес )

 Профиль  
                  
 
 Re: ПО для повышения четкости. Ну или алгоритм
Сообщение14.02.2013, 04:02 


05/12/11
18
так и статьи там все в открытом виде

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group