Deblur с алгоритмом Люси-Ричардсона

Обзор

Используйте функцию deconvlucy для deblur изображение с помощью ускоренного, ослабленного, алгоритма Люси-Ричардсона. Алгоритм максимизирует вероятность, что получившееся изображение, когда применено операцию свертки с PSF, является экземпляром размытого изображения, принимая статистику Пуассоновского шума. Эта функция может быть эффективной, когда вы знаете PSF, но знаете мало об аддитивном шуме в изображении.

Функция deconvlucy реализует несколько адаптации к исходному алгоритму наибольшего правдоподобия Люси-Ричардсона, которая обращается к комплексным задачам восстановления изображений.

Сокращение эффекта шумового усиления

Шумовое усиление является типичной проблемой методов максимального правдоподобия, которые пытаются соответствовать данным максимально тесно. После многих итераций восстановленное изображение может иметь пестрый внешний вид, специально для сглаженного объекта, наблюдаемого в низких отношениях сигнал-шум. Эти веснушки не представляют действительной структуры в изображении, но являются артефактами приспосабливания шума в изображении слишком тесно.

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

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

Составление неоднородного качества изображения

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

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

Обработка шума считывания камеры

Ответственный шум связал устройство (CCD), детекторы имеют два первичных компонента:

  • Шум подсчета фотона с распределением Пуассона

  • Шум считывания с Распределением Гаусса

Итерации Люси-Ричардсона внутренне составляют первый тип шума. Необходимо объяснить второй тип шума; в противном случае это может заставить пиксели с низкими уровнями инцидентных фотонов иметь отрицательные величины.

Функция deconvlucy использует параметр входа READOUT, чтобы обработать шум считывания камеры. Значение этого параметра обычно является суммой отклонения шума считывания и фонового шума (например, количество количеств от фонового излучения). Значение параметра READOUT задает смещение, которое гарантирует, что все значения положительны.

Обработка субдискретизируемых изображений

Восстановление субдискретизируемых данных может быть значительно улучшено, если это сделано на более прекрасной сетке. Функция deconvlucy использует параметр SUBSMPL, чтобы задать уровень подвыборки, если PSF, как известно, имеет более высокое разрешение.

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

Пример: Используя функцию deconvlucy к Deblur изображение

Чтобы проиллюстрировать простое использование deconvlucy, этот пример моделирует размытое, шумное изображение путем свертки к Гауссову фильтру PSF с изображением (использующий imfilter) и затем добавляющий Гауссов шум отклонения V к размытому изображению (использующий imnoise):

  1. Считайте изображение в рабочую область MATLAB®. (Обрезка использования в качестве примера, чтобы уменьшать размер изображения, чтобы быть deblurred. Это не необходимый шаг в deblurring операциях.)

    I = imread('board.tif');
    I = I(50+[1:256],2+[1:256],:);
    figure, imshow(I)
    title('Original Image')
    

  2. Создайте PSF.

    PSF = fspecial('gaussian',5,5);
  3. Создайте моделируемую размытость в изображении и добавьте шум.

    Blurred = imfilter(I,PSF,'symmetric','conv');
    
    V = .002;
    BlurredNoisy = imnoise(Blurred,'gaussian',0,V);
    figure, imshow(BlurredNoisy)
    title('Blurred and Noisy Image')

  4. Используйте deconvlucy, чтобы восстановить размытое и шумное изображение, указывая, что PSF раньше создавал размытость, и ограничивая количество итераций к 5 (значение по умолчанию равняется 10).

    Примечание

    Функция deconvlucy может возвращаемые значения в выходном изображении, которые являются вне области значений входного изображения.

    luc1 = deconvlucy(BlurredNoisy,PSF,5);
    figure, imshow(luc1)
    title('Restored Image')

Уточнение результата

Функция deconvlucy, по умолчанию, выполняет несколько итераций deblurring процесса. Можно остановить обработку после определенного числа итераций, чтобы проверять результат, и затем перезапустить итерации от точки где остановленная обработка. Для этого передайте во входном изображении как массив ячеек, например, {BlurredNoisy}. Функция deconvlucy возвращает выходное изображение как массив ячеек, который можно затем передать как входной параметр deconvlucy, чтобы перезапустить развертку.

Выходной массив ячеек содержит эти четыре элемента:

Элемент

Описание

output{1}

Исходное входное изображение

output{2}

Изображение производится последней итерацией

output{3}

Изображение, произведенное рядом с последней итерацией

output{4}

Внутренняя информация, используемая deconvlucy, чтобы знать, где перезапустить процесс

Функция deconvlucy поддерживает несколько других дополнительных аргументов, которые можно использовать, чтобы достигнуть самого лучшего результата, такого как определение параметра затухания, чтобы обработать аддитивный шум в размытом изображении. Чтобы видеть влияние этих дополнительных аргументов, смотрите пример Изображения Deblurring Используя Алгоритм Люси-Ричардсона.

Смотрите также

| | |

Связанные примеры

Больше о