ОБРАБОТКА ДАННЫХ ИЗОБРАЖЕНИЯ, СОДЕРЖАЩИХ ЭФФЕКТ ТУРБУЛЕНТНОСТИ В ЖИДКОЙ СРЕДЕ
DATA PROCESSING OF IMAGES INCLUDING TURBULENCE EFFECT IN FLUID

Настоящее изобретение относится к обработке цифровых данных изображения.
Оно, в частности, направлено на обработку последовательных изображений (обычно последовательности в виде фильма). Такие изображения получают с помощью камеры и, в частности, камера погружена в жидкость, в которой присутствует турбулентность. Например, такие эффекты турбулентности могут возникать, из-за неоднородностей в жидкой среде, таких, как локальные разности температуры. Такие явления турбулентности вызывают эффект видимого смещения пикселей изображений. Например, локальное различие в температуре в области, соответствующей кромке изображения, приводит к явлениям турбулентности, влияние которых на снятые на пленку изображения проявляет себя, как нарушение порядка пикселей на кромке изображения с видимым смещением (относительно исходного положения) некоторых из этих пикселей, такое смещение изменяется с течением времени (случайным образом).
Случайная природа таких изменений приводит к трудностям (или даже невозможности) при обработке изображений, для удаления эффектов турбулентности из них.
Настоящее изобретение направлено на улучшение ситуации.
С этой целью, в нем предложен способ для обработки данных изображения упомянутого выше типа, содержащий, в частности этапы, на которых:
- моделируют эффект турбулентности на пикселях изображений, и
- выполняют обращение свертки с помощью упомянутого моделирования для усредненного по времени изображения.
Предпочтительно, действительно наблюдалось, что возможно идеально смоделировать эффект турбулентности, но в течение относительно длительного периода. Таким образом, усреднение пикселей изображения с течением времени позволяет "подавить" влияние турбулентности. При этом получают усредненное, размытое изображение. Для того чтобы придать этому изображению резкость, к нему применяют обращенную свертку с использованием модели, представляющей эффекты турбулентности.
Конечно, предполагается, что снимаемая с помощью камеры сцена является фиксированной, хотя представленный ниже один вариант осуществления настоящего описания относится к случаю камеры, которая поступательно перемещается относительно статической сцены.
В одном предпочтительном варианте осуществления упомянутое выше моделирование эффектов турбулентности содержит оценку модели h(u) плотности вероятности для вектора u смещения, относящегося к эффекту турбулентности. В частности, наблюдалось, что, особенно предпочтительно, вероятностное моделирование влияния турбулентности на пикселях изображений позволяло идеально решать проблему моделирования прежде случайной турбулентности.
Один пример предпочтительной модели представляет собой экспоненциально уменьшающийся тип и может быть выражен, как функция вектора u с помощью уравнения следующего типа:
<mrow><msub><mi>h</mi><mi>σ</mi></msub><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mi>A</mi><mrow><msup><mi>σ</mi><mn>2</mn></msup></mrow></mfrac><mi>exp</mi><mrow><mo>{</mo><mrow><mo>−</mo><mfrac><mrow><mi>B</mi><mrow><mo>‖</mo><mi>u</mi><mo>‖</mo></mrow></mrow><mi>σ</mi></mfrac></mrow><mo>}</mo></mrow></mrow>
где:
σ представляет среднеквадратичное отклонение от нормы вектора u,
<mrow><mi>B</mi><mo>=</mo><msqrt><mn>6</mn></msqrt></mrow>
A и B представляют собой положительные вещественные константы, такие, что, например A=3/π и
.
Другие варианты осуществления возможны и будут описаны ниже.
В том, что касается оценки усредненного по времени изображения, в одном возможном варианте осуществления, включено среднее взвешивание на степени фактора забывания (ниже обозначен, как α), с соответствующим уменьшением функции по времени.
α
Усредненное изображение I(x,n), оценка которого была выполнена во время n для пикселя с координатами x вектора, может быть задано следующим образом:
<mrow><msub><mi>I</mi><mi>α</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mrow><mn>1</mn><mo>−</mo><mi>α</mi></mrow><mrow><mn>1</mn><mo>−</mo><msup><mi>α</mi><mi>n</mi></msup></mrow></mfrac><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></munderover><mrow><msup><mi>α</mi><mi>k</mi></msup><mi>I</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo>−</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></mstyle></mrow>
член α представляет собой вещественное число, соответствующее фактору забывания.
На практике усредненное по времени изображение может быть оценено, используя рекурсивную временную фильтрацию.
f
α
Таким образом, n-тый выход временного фильтра для времени n, обозначенный, как I(x,n), и усредненное изображение I(x,n) связаны между собой уравнениями:
<mrow><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mi>α</mi><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo><mo>+</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>α</mi><mo stretchy="false">)</mo><mi>I</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow>
<mrow><msub><mi>I</mi><mi>α</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>−</mo><msup><mi>α</mi><mi>n</mi></msup></mrow></mfrac><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow>
Выполненные тесты показали, что фактор α забывания был наилучшим, если он был близок к 1, но при этом все еще меньше 1. Выбранное значение, равное 0,99, давало хорошие результаты.
Далее, что касается обращенной свертки, выполняемой при моделировании, применение линейной пространственной фильтрации, предпочтительно, включено с выражением, соответствующим упомянутому выше моделированию.
Пространственная фильтрация, предпочтительно, может представлять собой фильтрацию типа Винера, хотя возможны другие варианты осуществления.
Пространственный фильтр задан, например, в спектральном домене выражением следующего типа:
<mrow><msub><mi>W</mi><mi>σ</mi></msub><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mrow><msubsup><mi>H</mi><mi>σ</mi><mo>*</mo></msubsup><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo></mrow><mrow><msup><mrow><mrow><mo>‖</mo><mrow><msub><mi>H</mi><mi>σ</mi></msub><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo></mrow><mo>‖</mo></mrow></mrow><mn>2</mn></msup><mo>+</mo><mfrac><mrow><msub><mi>S</mi><mi>b</mi></msub><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo></mrow><mrow><msub><mi>S</mi><mrow><mi>s</mi><mi>h</mi><mi>a</mi><mi>r</mi><mi>p</mi></mrow></msub><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo></mrow></mfrac></mrow></mfrac></mrow>
<mrow><mrow><mo>‖</mo><mi>f</mi><mo>‖</mo></mrow><mo>≤</mo><msub><mi>f</mi><mi>c</mi></msub></mrow>
, if
если
σ
<mrow><mrow><mo>‖</mo><mi>f</mi><mo>‖</mo></mrow><mo>></mo><msub><mi>f</mi><mi>c</mi></msub></mrow>
W(f)=0, if
если
где:
- f представляет собой двумерный вектор двух частот, нормированный после двумерного преобразования Фурье,
c
- f представляет собой частоту отсечки фильтра для устранения любой потенциальной спектральной ступенчатости,
b
sharp
- S(f) and S(f), соответственно, представляют собой спектральные плотности мощности шумов и резкого изображения, подлежащего определению, и
σ
- H(f) представляет собой двумерное преобразование Фурье плотности вероятности эффекта турбулентности h(u).
Упрощение этого выражения означало учет пространственного фильтра в соответствии с выражением следующего типа:
<mrow><msub><mi>W</mi><mi>σ</mi></msub><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mrow><msub><mi>H</mi><mi>σ</mi></msub><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo></mrow><mrow><msubsup><mi>H</mi><mi>σ</mi><mn>2</mn></msubsup><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo>+</mo><mi>R</mi><mi>B</mi><mi>S</mi></mrow></mfrac></mrow>
-2
-4
где член RBS выражен как функция параметров, выбранных таким образом, что член RBS находится в диапазоне от 10 до 10.
Для соотношения упомянутого выше типа:
<mrow><msub><mi>h</mi><mi>σ</mi></msub><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mi>A</mi><mrow><msup><mi>σ</mi><mn>2</mn></msup></mrow></mfrac><mi>exp</mi><mrow><mo>{</mo><mrow><mo>−</mo><mfrac><mrow><mi>B</mi><mrow><mo>‖</mo><mi>u</mi><mo>‖</mo></mrow></mrow><mi>σ</mi></mfrac></mrow><mo>}</mo></mrow></mrow>
,
σ
σ
двумерное преобразование Фурье H(f) плотности вероятности влияния турбулентности h(u), задано следующим образом:
<mrow><msub><mi>H</mi><mi>σ</mi></msub><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo>=</mo><msup><mrow><mrow><mo>(</mo><mrow><mn>1</mn><mo>+</mo><mi>C</mi><msup><mrow><mo stretchy="false">(</mo><mi>σ</mi><mo>⋅</mo><mrow><mo>‖</mo><mi>f</mi><mo>‖</mo></mrow><mo stretchy="false">)</mo></mrow><mn>2</mn></msup></mrow><mo>)</mo></mrow></mrow><mrow><mo>−</mo><mfrac><mn>3</mn><mn>2</mn></mfrac></mrow></msup></mrow>
где C представляет собой положительную вещественную константу, а σ представляет собой положительное вещественное число, подсчитываемое количеством пикселей.
σ
Используя значения констант A и B, заданных ранее и полностью определяющих двумерное преобразование Фурье H(f), это может быть затем представлено следующим образом:
<mrow><msub><mi>H</mi><mi>σ</mi></msub><mrow><mo>(</mo><mi>f</mi><mo>)</mo></mrow><mo>=</mo><msup><mrow><mrow><mo>(</mo><mrow><mn>1</mn><mo>+</mo><mfrac><mn>2</mn><mn>3</mn></mfrac><msup><mrow><mrow><mo>(</mo><mrow><mi>π</mi><mi>σ</mi><mo>⋅</mo><mrow><mo>‖</mo><mi>f</mi><mo>‖</mo></mrow></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup></mrow><mo>)</mo></mrow></mrow><mrow><mfrac><mn>3</mn><mn>2</mn></mfrac></mrow></msup></mrow>
В частности, выполненные тесты показали, что член σ предпочтительно выбирать в диапазоне от 0 до 30 пикселей.
Как упомянуто выше, настоящее изобретение предоставляет вариант осуществления, в котором камера может быть смещена и может поступательно перемещаться относительно статической сцены. В таком случае представленная выше обработка может быть сохранена, однако, требуется выполнить меры по применению смены положения пикселей изображения в момент времени n-1 к следующему изображению в момент времени n, с последующим учетом скорости смещения камеры.
Таким образом, в данном варианте осуществления, изменение положения предыдущего изображения относительно текущего изображения выполняют для оценки усредненного изображения.
Рекурсивную временную фильтрацию затем выполняют при изменении положения и нормировании и, в одном примерном варианте осуществления, общая обработка содержит следующие этапы:
- для сброса при:
f
I(x,1)=0 N(x,1)=0,
- для рекурсивной временной фильтрации при:
<mrow><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>α</mi><mo stretchy="false">)</mo><mi>I</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>+</mo><mi>α</mi><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>+</mo><mrow><mo>⌊</mo><mrow><msub><mi>δ</mi><mrow><mi>n</mi><mo>,</mo><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow><mo>⌋</mo></mrow><mo>,</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow>
,
где
n,n-1
n,n-1
n,n-1
[δ]=([δx],[δy])
соответствует вектору для сдвига x в ряду, и/или сдвига у в столбце, округленных до ближайших целых чисел, между текущим изображением n и предыдущим изображением n-1, вследствие поступательного перемещения камеры,
- для обновления матрицы N нормирования при:
<mrow><mi>N</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>α</mi><mo stretchy="false">)</mo><mo>×</mo><mn>1</mn><mo>+</mo><mi>α</mi><mi>N</mi><mo stretchy="false">(</mo><mi>x</mi><mo>+</mo><mrow><mo>⌊</mo><mrow><msub><mi>δ</mi><mrow><mi>n</mi><mo>,</mo><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow><mo>⌋</mo></mrow><mo>,</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow>
- и для нормирования выхода временного фильтра, при:
<mrow><msub><mi>I</mi><mi>m</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mrow><mi>N</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow></mfrac><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow>
Настоящее изобретение также направлено на компьютерную программу, содержащую команды для реализации способа, представленного выше, когда эта программа выполняется с помощью процессора. Один пример блок-схемы последовательности операций общего алгоритма такой программы показан на фиг.3, которая будет подробно описана ниже.
Настоящее изобретение также направлено на устройство для обработки данных изображения, содержащее вход для обработки последовательных цифровых данных изображения, полученных камерой, погруженной в жидкость, содержащую явления турбулентности, вызывающие эффект видимого смещения пикселей изображений. В частности, такое устройство дополнительно содержит средство вычисления, предназначенное для реализации способа, представленного выше. Такое средство расчета может включать в себя процессор и рабочее средство хранения данных для выполнения, например, инструкций упомянутой выше компьютерной программы.
Настоящее изобретение, предпочтительно, применимо, но не ограничено этим, к обработке данных изображения, получаемых камерой, погруженной в воду в ядерных установках, для съемки сборок топливных элементов. Такое применение способа по изобретению, в этом контексте, может затем содержать по меньшей мере следующий этап:
- определяют на основе полученных и обработанных изображений состояние сборок топливных элементов.
Например, в полученных и обработанных изображениях может быть определен, по меньшей мере, один идентификатор сборки топливного элемента.
Вариант осуществления предпочтительно представляет компоновку сборок внутри активной зоны ядерного реактора, которую требуется отслеживать и проверять.
Применение способа, в смысле изобретения, может, кроме того, содержать этап, на котором:
- измеряют на упомянутых изображениях промежуток между сборками топливных элементов.
Такой вариант осуществления, предпочтительно, обеспечивает возможность точного отслеживания и проверки соответствующих положений сборок внутри активной зоны.
В конечном итоге, следует понимать, что осуществление способа настоящего изобретения в рамках такого применения позволяет выполнять общую инспекцию состояния сборок, как в воде резервуара реактора, так и в зале реактора или в бассейне выдержки топливного зала.
Настоящее изобретение также направлено на установку для реализации такого применения, содержащую по меньшей мере одну камеру, предпочтительно, водонепроницаемую и устойчивую к воздействию излучения, соединенную с устройством упомянутого выше типа для реализации изобретения.
Другие преимущества и свойства изобретения будут понятны при чтении подробного описания представленных ниже неограничительных примерных вариантов осуществления и также при просмотре приложенных чертежей, на которых:
- на фиг.1 схематично показана зона реактора в рамках одной реализации в соответствии с изобретением, вместе с установкой, содержащей камеру и устройство для осуществления изобретения;
- на фиг.2 схематично показаны этапы способа в одном варианте осуществления изобретения, с поддержкой изображений, как необработанных, так и обработанных, с использованием варианта осуществления изобретения;
- на фиг.3 показана блок-схема последовательности операций этапов способа в одном варианте осуществления, где камера выполняет поступательное перемещение;
- на фиг.4 показано резкое изображение, полученное после использования способа, этапы которого представлены на фиг.3.
Прежде всего, будет сделана ссылка на фиг.1, на которой активная зона реактора в резервуаре ENC, заполненном водой, содержит множество сборок ASS ядерных топливных элементов (каждая из которых, например, обычно содержит множество топливных стержней). Каждая сборка ASS содержит идентификатор ID (окруженный белым кругом в виде на фиг.4), и сборки расположены через промежуток с использованием разделителей ЕС между сборками.
Затем предусмотрена камера САМ, которая снимает сборки ASS и, в частности, область, называемую "S отверстиями" между такими сборками (не показаны на фиг.1) и/или, по меньшей мере, один идентификатор ID сборки. Изображения, полученные с помощью камеры, затем позволяют:
- например, для S отверстий, идентифицировать деформацию отверстия в пределах времени использования, для уменьшения риска захвата сборок топливных узлов на штифтах, используемых для стабилизации сборок, и
- считывать идентификатор сборки для обеспечения того, что каждая сборка топливных элементов находится в местоположении, указанном в заданном плане активной зоны.
Такие изображения снимают с помощью камеры САМ, погруженной в воду, в которую погружены сборки. Вследствие разности температур в воде на месте (в результате локальных вариаций показателя преломления воды), может возникать явление TUR оптической турбулентности. Настоящее изобретение обеспечивает моделирование турбулентности, влияющей на изображение, и использует эту модель турбулентности, для обработки полученных изображений. Один предпочтительный вариант осуществления позволяет поступательно перемещать камеру, которая снимает эти изображения для обработки, в частности, используя технологию для смены положения изображения, которое адаптировано к скорости поступательного перемещения.
И снова, со ссылкой на фиг.1, камера САМ соединена с устройством DIS для обработки получаемых изображений, обычно содержащим:
- интерфейс INT, предназначенный для приема полученных данных изображения,
- процессор PROC и рабочий накопитель MEM для обработки этих данных изображения,
- выходной интерфейс OUT для предварительной обработки и передачи сигнала изображения на экран ECR, с последующим отображением обработанных изображений IMT (один пример обработанного изображения показан на фиг.4).
Таким образом, использование способа, в соответствии с данным изобретением, является предпочтительным в контексте дистанционной видеоинспекции, в частности, в конце перезагрузки топливных элементов, которая в настоящее время составляет важный этап при операциях остановки реактора для атомных электростанций, генерирующих электричество. Такие дистанционные видеоинспекции выполняются для проверки плана активной зоны (путем идентификации номеров сборок) и для точного определения местоположения этих сборок (например, путем измерения зазоров между сборками). Дистанционные видео инспекции, кроме того, например, позволяют проверять установку положения сборок.
Способ также предпочтительно применяться при обработке последовательности изображений (фотографий) для помощи, в частности, при расчете мест положения всех или части элементов сборок, но также и для инспекции состояния этих сборок, например, в топливном зале.
Интерпретация таких дистанционных видеоинспекций часто связана с трудностями, вследствие высвобождения тепла из топливных элементов, что вызывает явление турбулентности в воде. Для устранения таких трудностей была разработана технология для обработки снятых последовательностей изображения. Алгоритмы для такой обработки были разработаны для работы в режиме реального времени (следовательно, так, чтобы они позволяли обрабатывать непосредственно снимаемый поток видеоданных, кадр за кадром).
В глобальном смысле такая обработка основана на вероятностном моделировании воздействия турбулентности на пиксели изображений. Такая модель турбулентности позволяет определить алгоритм обработки восстановления на двух этапах:
- вначале временная фильтрация позволяет получить стабильное, но размытое изображение (было показано, что такое размытое изображение соответствует свертке исходного резкого изображения (неизвестно) с использованием линейного пространственного фильтра, выражение которого точно равно плотности вероятности вектора турбулентности);
- вторая фильтрация, которая выполняется пространственно, например, по типу Винера, позволяет сделать исходное изображение резким (которое, таким образом, получают, используя линейную обращенную свертку).
Обработка на этих двух этапах, описанных выше, применима, когда камера неподвижна. Из-за времени конвергенции временного фильтра, предпочтительно, обездвижить камеру на несколько секунд перед получением удовлетворительного восстановленного изображения. В одном предпочтительном варианте осуществления затем предусмотрена технология обработки изображений, когда камера движется (обычно в виде поступательного движения, соответствующего наиболее частому случаю).
В случае камеры, выполняющей поступательное движение, предусматривают этап (не обязательный, но предпочтительный) изменения положения изображения для того, чтобы обеспечить адаптацию временного фильтра к вариациям камеры. Такое изменение положения изображения выполняют путем предварительной оценки движения камеры. Рабочие характеристики являются удовлетворительными, предпочтительно, без потери качества относительно обработки с использованием статичной камеры.
Далее, в качестве первого этапа, будет описан один пример модели деградации, из-за турбулентности.
Ниже, I(x,n,c) обозначает значение пикселя с координатами x=(x,y) в n-том ряду полученного изображения, для компонента с (c=1, 2, 3, соответственно, для красного, зеленого, синего компонентов). Поскольку операции обработки идентичны для всех трех компонентов, обозначения упрощены так, что обрабатываемые компоненты не упоминаются, и I(x,n,c) просто записывают, как I(x,n).
sharp
sharp
В идеальных условиях (отсутствие турбулентности, статичная камера, постоянная сцена), изображения I(x,n), снимаемой последовательности кадров получают в результате выборки одного и того же резкого, оригинального и непрерывного изображения, обозначенного, как I(x), при I(x,n)=I(x).
x,n
Затем считается, что в присутствии турбулентности каждый пиксель изображения смещается от его исходного положения. Обозначая, как u, вектор, соответствующий сдвигу пикселя x на изображении n, может быть записано следующее:
sharp
x,n
I(x,n)=I(x+u)
x,n
Смещения, из-за турбулентности, кроме того, являются случайными. Поиск аналитического выражения для вектора u смещения, кажется чем-то, что не может быть представлено.
x,n
Затем предоставляют вероятностное описание этих смещений. Вектор u турбулентности рассматривают, как случайный вектор, в соответствии с определенной плотностью вероятности, обозначенной следующим образом:
x,n
h(u)
На основе предположения, что явления турбулентности являются стационарными, как по времени, так и в пространстве (в случае жидкой среды, такой как вода), можно рассматривать, что плотность вероятности не зависит ни от x, ни от n, и может быть записано следующее:
x,n
h(u)=h(u)
где h(u) представляет собой плотность вероятности турбулентности для любого заданного изображения n и для любого заданного пикселя x.
m
Представленные ниже операции обработки основаны на этой гипотезе стационарности явлений турбулентности. Реально, при обозначении, как I(x,n), усредненное изображение за время n определяется следующим образом:
<mrow><msub><mi>I</mi><mi>m</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mi>I</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></mstyle></mrow>
,
stable
при этом было показано, что это усредненное изображение сходится в направлении стабильного изображения I(x), которое равно свертке исходного резкого изображения (неизвестно) со следующей плотностью вероятности турбулентности:
<mrow><msub><mi>I</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>b</mi><mi>l</mi><mi>e</mi></mrow></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><munder><mrow><mi>lim</mi></mrow><mrow><mi>n</mi><mo>→</mo><mi>∞</mi></mrow></munder><msub><mi>I</mi><mi>m</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mrow><mo>[</mo><mrow><msub><mi>I</mi><mrow><mi>s</mi><mi>h</mi><mi>a</mi><mi>r</mi><mi>p</mi></mrow></msub><mo>⊗</mo><mi>h</mi></mrow><mo>]</mo></mrow><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow>
Таким образом, для восстановления неизвестного резкого изображения, усредненное изображение должно быть подвергнуто только обращенной свертке по плотности вероятности турбулентности h(u). Поскольку такая плотность вероятности не известна, ниже представлена эмпирическая модель для описания вариаций плотности вероятности на основе двух следующих физических особенностей:
- явления турбулентности, в общем, являются изотропными, и плотность вероятности должна быть независимой от угла вектора u
- малые смещения пикселей проявляются более часто, чем значительные смещения пикселей: таким образом, когда норма вектора u уменьшается, значение h(u) должно уменьшиться.
Другие факторы, конечно, могут быть рассмотрены при выборе модели. Например, может быть практичным разместить аналитическое выражение, параметры которого регулируются для h(u), и, в частности, для его преобразования Фурье. Простая модель, которая проверяет все такие гипотезы, является моделью экспоненциально снижающегося типа, такой как, например:
<mrow><msub><mi>h</mi><mi>σ</mi></msub><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>3</mn><mrow><mi>π</mi><msup><mi>σ</mi><mn>2</mn></msup></mrow></mfrac><mi>exp</mi><mrow><mo>{</mo><mrow><mo>−</mo><mfrac><mrow><msqrt><mn>6</mn></msqrt><mrow><mo>‖</mo><mi>u</mi><mo>‖</mo></mrow></mrow><mi>σ</mi></mfrac></mrow><mo>}</mo></mrow></mrow>
В этой формуле σ представляет среднеквадратичное отклонение (среднее отклонение) нормы вектора турбулентности. Этот параметр позволяет учитывать различия уровня турбулентности, в соответствии со снятыми последовательностями кадров.
В качестве варианта, можно использовать Гауссову модель. Однако, тесты с экспоненциальной моделью показали хорошие результаты. Другие типы моделей, проявляющие меньшее снижение, чем Гауссово, или экспоненциальные модели, конечно, могут быть рассмотрены, как дополнительные варианты.
stable
Затем возможно выполнить оценку оригинального изображения на двух этапах обработки. На первом этапе, последовательность необработанных изображений усредняют по времени. Такое усредненное изображение сходится к стабильному изображению I(x), которое равно свертке неизвестного резкого изображения (которое могло бы наблюдаться при отсутствии явлений турбулентности) с плотностью вероятности турбулентности, при:
<mrow><msub><mi>I</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>b</mi><mi>l</mi><mi>e</mi></mrow></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><munder><mrow><mi>lim</mi></mrow><mrow><mi>n</mi><mo>→</mo><mi>∞</mi></mrow></munder><msub><mi>I</mi><mi>m</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mrow><mo>[</mo><mrow><msub><mi>I</mi><mrow><mi>s</mi><mi>h</mi><mi>a</mi><mi>r</mi><mi>p</mi></mrow></msub><mo>⊗</mo><mi>h</mi></mrow><mo>]</mo></mrow><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow>
Обращенная свертка усредненного изображения по плотности вероятности турбулентности затем, на втором этапе, позволяет выполнить оценку оригинального резкого изображения.
n
n-1
На фиг.2 иллюстрируются два основных этапа обработки реальных изображений сборок. Первый (временной) фильтр F1 позволяет получить усредненное, стабильное, но размытое изображение ISF, начиная с последовательности изображений IM, IM и т.д.
Второй (обращенной пространственной свертки) фильтр F2, позволяет восстановить исходное резкое изображение IN, начиная с размытого изображения ISF.
Временная фильтрация F1 будет описана ниже.
Если снятая сцена является постоянной (игнорируя эффекты турбулентности), в частности, в том, что касается освещения, коэффициента увеличения и т.д., n-тое усредненное изображение получают по следующей формуле:
<mrow><msub><mi>I</mi><mi>m</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mi>I</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></mstyle></mrow>
α
В этой формуле один и тот же вес назначают для каждого изображения. Для обработки любых потенциальных вариаций сцены (освещения и других), предпочтительно назначать, для усредненного изображения, больший вес для последних изображений, чем для прошлых изображений. Для среднего изображения в момент времени n, изображение I(x,n) снимают на основе следующего:
<mrow><msub><mi>I</mi><mi>α</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mrow><mn>1</mn><mo>−</mo><mi>α</mi></mrow><mrow><mn>1</mn><mo>−</mo><msup><mi>α</mi><mi>n</mi></msup></mrow></mfrac><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></munderover><mrow><msup><mi>α</mi><mi>k</mi></msup><mi>I</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo>−</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></mstyle></mrow>
Член α представляет собой фактор забывания, который позволяет назначать большую или меньшую степень важности для прошлых изображений (как память предыстории фильтра). Нормализация по члену
<mrow><mfrac><mrow><mn>1</mn><mo>−</mo><mi>α</mi></mrow><mrow><mn>1</mn><mo>−</mo><msup><mi>α</mi><mi>n</mi></msup></mrow></mfrac></mrow>
k
позволяет получить геометрическую сумму весов α, равную 1, поскольку:
<mrow><mfrac><mrow><mn>1</mn><mo>−</mo><mi>α</mi></mrow><mrow><mn>1</mn><mo>−</mo><msup><mi>α</mi><mi>n</mi></msup></mrow></mfrac><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></munderover><mrow><msup><mi>α</mi><mi>k</mi></msup><mo>=</mo><mn>1</mn></mrow></mstyle></mrow>
α
α
Формула I(x,n) может принимать форму рекурсивной временной фильтрации, после которой следует этап нормализации. N-тый выход временного фильтра, обозначенный, как I(x,n), и нормализованного выходного изображения, обозначенного, как I(x,n), затем связывают следующим:
<mrow><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mi>α</mi><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo><mo>+</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>α</mi><mo stretchy="false">)</mo><mi>I</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow>
<mrow><msub><mi>I</mi><mi>α</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>−</mo><msup><mi>α</mi><mi>n</mi></msup></mrow></mfrac><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow>
Значение, выбранное для фактора α забывания, определяет рабочие характеристики временного фильтра. Для оценки таких рабочих характеристик, определяют среднюю квадратичную разность между пикселем x n-ого изображения и пикселем x целевого стабильного изображения следующим образом:
<mrow><msubsup><mi>Г</mi><mi>α</mi><mn>2</mn></msubsup><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mi>E</mi><mrow><mo>{</mo><mrow><msup><mrow><mo stretchy="false">(</mo><msub><mi>I</mi><mi>α</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>−</mo><msub><mi>I</mi><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>b</mi><mi>l</mi><mi>e</mi></mrow></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow><mn>2</mn></msup></mrow><mo>}</mo></mrow></mrow>
Затем возможно определить среднеквадратичную разность для всего изображения n:
<mrow><msubsup><mi>Г</mi><mi>α</mi><mn>2</mn></msubsup><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mrow><msub><mi>N</mi><mrow><mi>p</mi><mi>i</mi><mi>x</mi><mi>e</mi><mi>l</mi><mi>s</mi></mrow></msub></mrow></mfrac><mstyle displaystyle="true"><munder><mo>∑</mo><mi>x</mi></munder><mrow><msubsup><mi>Г</mi><mi>α</mi><mn>2</mn></msubsup><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow></mstyle></mrow>
В случае постоянной сцены, игнорируя эффекты турбулентности, было показано следующее:
<mrow><msubsup><mi>Г</mi><mi>α</mi><mn>2</mn></msubsup><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mrow><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><msup><mi>α</mi><mrow><mn>2</mn><mi>n</mi></mrow></msup><mo stretchy="false">)</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>α</mi><mo stretchy="false">)</mo></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><msup><mi>α</mi><mi>n</mi></msup><mo stretchy="false">)</mo></mrow><mn>2</mn></msup><mo stretchy="false">(</mo><mn>1</mn><mo>+</mo><mi>α</mi><mo stretchy="false">)</mo></mrow></mfrac><mstyle displaystyle="true"><mo>∑</mo><mrow><msup><mrow /><mn>2</mn></msup></mrow></mstyle></mrow>
2
где Σ представляет собой среднее отклонение пикселей n в необработанном изображении. После конвергенции (когда n стремится к бесконечности), остаточная квадратичная разность нормализованного выхода временного фильтра определяется следующим образом:
<mrow><msubsup><mi>Г</mi><mi>α</mi><mn>2</mn></msubsup><mo stretchy="false">(</mo><mi>∞</mi><mo stretchy="false">)</mo><mo>=</mo><mrow><mo>(</mo><mrow><mfrac><mrow><mn>1</mn><mo>−</mo><mi>α</mi></mrow><mrow><mn>1</mn><mo>+</mo><mi>α</mi></mrow></mfrac></mrow><mo>)</mo></mrow><mstyle displaystyle="true"><mo>∑</mo><mrow><msup><mrow /><mn>2</mn></msup></mrow></mstyle></mrow>
0
Расчеты свертки среднеквадратичного отклонения, как функции количества обработанных изображений, для различных значений фактора α забывания, показывают, что в случае статической сцены, предпочтительно, выбрать α, как можно большим. Однако, в случае переменной сцены, выбор фактора α забывания выполняют на основе компромисса между коротким временем для адаптации к изменению сцены (малое значение α) и малым остаточным среднеквадратичным отклонением (большое значение α). Если, например, возникает резкое изменение сцены (например, изменение освещения) в момент времени n, в то время как для временного фильтра было выполнено схождение, было показано, что среднеквадратичное отклонение между выходом фильтра в момент времени n и стабильным изображением становится:
<mrow><msubsup><mi>Г</mi><mi>α</mi><mn>2</mn></msubsup><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mrow><mo>(</mo><mrow><mfrac><mrow><mn>1</mn><mo>−</mo><mi>α</mi></mrow><mrow><mn>1</mn><mo>+</mo><mi>α</mi></mrow></mfrac></mrow><mo>)</mo></mrow><mstyle displaystyle="true"><mo>∑</mo><mrow><msup><mrow /><mn>2</mn></msup></mrow></mstyle><mo>+</mo><msup><mi>α</mi><mrow><mn>2</mn><mo stretchy="false">(</mo><mi>n</mi><mo>−</mo><msub><mi>n</mi><mn>0</mn></msub><mo stretchy="false">)</mo></mrow></msup><msup><mi>Δ</mi><mn>2</mn></msup></mrow>
где Δ представляет среднее отклонение уровня, вызванное изменением сцены.
Таким образом, чем больше значение фактора α забывания, тем большее время конвергенции будет получено (приблизительно 300 изображений или 12 секунд для α=0,99), но остаточное среднеквадратичное отклонение при этом является достаточно малым (0,07 для α=0,99) для выходного изображения, которое должно обладать возможностью стабилизации. При уменьшении выбранного значения α повышается скорость схождения (приблизительно 50 изображений, или 2 секунды, для α=0,95), но остаточное среднеквадратичное отклонение также увеличивается (0,16 для α=0,95). Выходное изображение не будет полностью стабилизировано, даже после схождения.
В одном текущем варианте осуществления фактор забывания, предпочтительно, установлен, как 0,99, что представляет собой оптимальное значение, в случае постоянной сцены (игнорируя эффекты турбулентности). Однако, представленная здесь обработка, является достаточно гибкой для адаптации к частым изменениям снимаемой сцены (обычно изменению освещения).
В частности, в случае движущейся камеры (представленной ниже), каждый элемент сцены является видимым только на уменьшенном количестве изображений. При этом предпочтительно уменьшить фактор забывания для того, чтобы назначить большую значимость для времени конвергенции, чем для остаточного расхождения.
Пространственная фильтрация, используемая на втором этапе способа, будет описана ниже в одном примерном варианте осуществления.
α
stable
В соответствии с моделью деградации, описанной выше, нормализованный выход, I(x,n) становится равным стабильному изображению I(x) (свертка неизвестного резкого изображения с плотностью вероятности, соответствующей турбулентности), для которого добавляют шум b(x,n) со средним отклонением, заданным по:
<mrow><msubsup><mi>Г</mi><mi>α</mi><mn>2</mn></msubsup><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mrow><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><msup><mi>α</mi><mrow><mn>2</mn><mi>n</mi></mrow></msup><mo stretchy="false">)</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>α</mi><mo stretchy="false">)</mo></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><msup><mi>α</mi><mi>n</mi></msup><mo stretchy="false">)</mo></mrow><mn>2</mn></msup><mo stretchy="false">(</mo><mn>1</mn><mo>+</mo><mi>α</mi><mo stretchy="false">)</mo></mrow></mfrac><mstyle displaystyle="true"><mo>∑</mo><mrow><msup><mrow /><mn>2</mn></msup></mrow></mstyle></mrow>
которое может быть записано, как:
α
sharp
σ
I(x,n)=[I⊗h](x)+b(x,n)
α
Оценка резкого изображения, начинающегося с вывода I(x,n), поэтому, сводится к проблеме линейной пространственной обращенной свертки. Оптимальный фильтр восстановления задан по формуле Винера, которая в спектральном домене представляет собой:
<mrow><msub><mi>W</mi><mi>σ</mi></msub><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mrow><msubsup><mi>H</mi><mi>σ</mi><mo>*</mo></msubsup><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo></mrow><mrow><msup><mrow><mrow><mo>‖</mo><mrow><msub><mi>H</mi><mi>σ</mi></msub><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo></mrow><mo>‖</mo></mrow></mrow><mn>2</mn></msup><mo>+</mo><mfrac><mrow><msub><mi>S</mi><mi>b</mi></msub><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo></mrow><mrow><msub><mi>S</mi><mrow><mi>s</mi><mi>h</mi><mi>a</mi><mi>r</mi><mi>p</mi></mrow></msub><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo></mrow></mfrac></mrow></mfrac></mrow>
<mrow><mrow><mo>‖</mo><mi>f</mi><mo>‖</mo></mrow><mo>≤</mo><msub><mi>f</mi><mi>c</mi></msub><mtext> </mtext></mrow>
, if
σ
<mrow><mrow><mo>‖</mo><mi>f</mi><mo>‖</mo></mrow><mo>></mo><msub><mi>f</mi><mi>c</mi></msub></mrow>
W(f)=0, if
где:
- f представляет собой двумерный вектор (f=(f,g)) двух нормализованных частот после 2-D преобразования Фурье,
c
- f представляет собой частоту среза фильтра, позволяющую исключить любой потенциальный спектральный анализ входных изображений,
b
sharp
- S(f) и S(f), соответственно, представляют собой спектральные плотности мощности шумов и резкого изображения, которое должно быть восстановлено, и
σ
- H(f) представляет собой 2-D преобразование Фурье от h(u).
В экспоненциальной модели, выбранной для h(u), тогда:
<mrow><msub><mi>H</mi><mi>σ</mi></msub><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo>=</mo><mi>T</mi><msub><mi>F</mi><mrow><mn>2</mn><mi>D</mi></mrow></msub><mrow><mo>{</mo><mrow><msub><mi>h</mi><mi>σ</mi></msub><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo></mrow><mo>}</mo></mrow><mo>=</mo><msup><mrow><mrow><mo>(</mo><mrow><mn>1</mn><mo>+</mo><mfrac><mn>2</mn><mn>3</mn></mfrac><msup><mrow><mo stretchy="false">(</mo><mi>π</mi><mi>σ</mi><mrow><mo>‖</mo><mi>f</mi><mo>‖</mo></mrow><mo stretchy="false">)</mo></mrow><mn>2</mn></msup></mrow><mo>)</mo></mrow></mrow><mrow><mo>−</mo><mfrac><mn>3</mn><mn>2</mn></mfrac></mrow></msup></mrow>
b
sharp
На первом этапе сделано предположение, что шумы и изображения имеют постоянную спектральную плотность мощности (изображения и белого шума, S(f) и S(f) представляют собой константы). Учитывая, что преобразование Фурье плотности вероятности является вещественным, оптимальный фильтр для восстановления изображений может быть определен по следующей формуле:
<mrow><msub><mi>W</mi><mi>σ</mi></msub><mrow><mo>(</mo><mi>f</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>H</mi><mi>σ</mi></msub><mrow><mo>(</mo><mi>f</mi><mo>)</mo></mrow></mrow><mrow><msubsup><mi>H</mi><mi>σ</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>f</mi><mo>)</mo></mrow><mo>+</mo><mi>R</mi><mi>B</mi><mi>C</mi></mrow></mfrac></mrow>
2
2
2
Здесь член RBS, обозначающий "Отношение сигнал-шум", соответствует отношению между мощностью шумов на выходе временного фильтра и мощностью резкого изображения (неизвестно). Такой фильтр восстановления содержит два параметра: RBS и σ. Эти два параметра оказывают влияние на частотный отклик фильтра. Для получения порядка магнитуды для RBS можно рассмотреть, что резкое изображение (неизвестно) имеет значения пикселей, относительно равномерно распределенные в диапазоне P. Показано, что дисперсия значений, принятых по пикселям, составляет затем P/12. После конвергенции временного фильтра остаточная дисперсия на выходе равна (1-α)/(1+α)·Σ, где Σ представляет собой дисперсию шумов необработанных изображений, и α представляет собой фактор забывания фильтра. Таким образом, для отношения RBS:
<mrow><mi>R</mi><mi>B</mi><mi>S</mi><mo>=</mo><mfrac><mrow><mrow><mo>(</mo><mrow><mfrac><mrow><mn>1</mn><mo>−</mo><mi>α</mi></mrow><mrow><mn>1</mn><mo>+</mo><mi>α</mi></mrow></mfrac></mrow><mo>)</mo></mrow><msup><mi>Σ</mi><mn>2</mn></msup></mrow><mrow><mrow><mo>(</mo><mrow><mfrac><mrow><msup><mi>P</mi><mn>2</mn></msup></mrow><mrow><mn>12</mn></mrow></mfrac></mrow><mo>)</mo></mrow></mrow></mfrac><mo>=</mo><mn>12</mn><mo>⋅</mo><mrow><mo>(</mo><mrow><mfrac><mrow><mn>1</mn><mo>−</mo><mi>α</mi></mrow><mrow><mn>1</mn><mo>+</mo><mi>α</mi></mrow></mfrac></mrow><mo>)</mo></mrow><mo>⋅</mo><msup><mrow><mrow><mo>(</mo><mrow><mfrac><mi>Σ</mi><mi>P</mi></mfrac></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup></mrow>
-4
Например, для отношения "шумы/диапазон изображений", перед обработкой, Σ/P=0,1, и при факторе забывания α=0,99, получают значение RBS, равное 6,10. Этот результат представляет порядок магнитуды оптимального значения RBS.
σ
σ
-4
-2
-3
Отношение RBS может быть фиксировано эмпирически, в соответствии с различными тестами над обрабатываемыми изображениями. Как правило, оказывается, что, когда RBS стремится к 0, фильтр обращения свертки проявляет тенденцию превращения в инверсный фильтр 1/H(f), пропускающий верхние частоты и чувствительный к шуму. Значение, которое слишком мало для RBS поэтому, дает зашумленные восстановленные изображения ("зернистый" шум, наблюдаемый в обработанных изображениях). Если RBS стремится к бесконечности, фильтр обращения свертки стремится к фильтру H(f) размытости. Слишком высокое значение для RBS, поэтому, приводит к размытому восстановленному изображению. Оптимальное значение для RBS находится, в соответствии с тестами, между 10 и 10, таким образом, что было выбрано принятое по умолчанию значение 10.
Параметр σ позволяет принять параметры фильтра восстановления, как среднеквадратичное отклонение (среднее отклонение) эффектов турбулентности. Как правило, если σ меньше, чем реальное среднеквадратичное отклонение эффектов турбулентности, размытость изображения после фильтрации по времени (на входе пространственного фильтра) не будет полностью устранена. Если σ больше, чем реальное среднеквадратичное отклонение эффектов турбулентности, высокие частоты изображения будут слишком сильно усилены, и качество изображение будет ухудшено. Оптимальное значение σ строго зависит от уровня эффекта турбулентности и коэффициента увеличения (эффект турбулентности, ухудшающий последовательность видеоизображений в большей степени, когда коэффициент увеличения является большим). Один пример оптимального значения для σ находится в области 8 пикселей для низких уровней турбулентности. В отличие от этого, для высоких уровней турбулентности при большом коэффициенте увеличения оптимальное значение для σ составляет приблизительно 30 пикселей. Затем следует понимать, что значение σ может быть выбрано между 0 и 30 пикселями. Этот параметр может обновляться, по мере получения изображения, во время операций по обработке и в зависимости от качества получаемых изображений.
Ниже будет описан один вариант осуществления, в котором учитывается перемещение камеры, снимающей изображения.
Представленная выше обработка состояла в обращенной свертке нормализованных выходных данных из временного фильтра, заданной по следующей формуле:
<mrow><msub><mi>I</mi><mi>α</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mrow><mn>1</mn><mo>−</mo><mi>α</mi></mrow><mrow><mn>1</mn><mo>−</mo><msup><mi>α</mi><mi>n</mi></msup></mrow></mfrac><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><msup><mi>α</mi><mrow><mi>n</mi><mo>−</mo><mi>k</mi></mrow></msup><mi>I</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></mstyle></mrow>
n,k
Однако, такое среднее значение, представленное выше, больше не имеет смысла, если камера движется, и если необработанные изображения сдвигаются относительно друг друга. В случае линейно перемещающейся камеры, каждое изображение к сдвигается на определенный вектор δ относительно текущего изображения n. Если положение каждого изображения будет изменено, как функция его перемещения, представленная выше формула принимает следующую форму:
<mrow><msub><mi>I</mi><mi>α</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mrow><mn>1</mn><mo>−</mo><mi>α</mi></mrow><mrow><mn>1</mn><mo>−</mo><msup><mi>α</mi><mrow><mi>n</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow></msup></mrow></mfrac><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mi>n</mi><mo>−</mo><mi>n</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>+</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><msup><mi>α</mi><mrow><mi>n</mi><mo>−</mo><mi>k</mi></mrow></msup><mover accent="true"><mi>I</mi><mo>˜</mo></mover><mo stretchy="false">(</mo><mi>x</mi><mo>+</mo><msub><mi>δ</mi><mrow><mi>n</mi><mi>k</mi></mrow></msub><mo>,</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></mstyle></mrow>
nk
nk
nk
δ=(δx,δy) представляет собой вектор для сдвига столбца (вдоль x) и ряда (вдоль y) между изображением k и изображением n, и n(x) обозначает количество последовательных изображений, содержащих пиксель x после изменения положения.
Выражение:
<mrow><mover accent="true"><mi>I</mi><mo>˜</mo></mover><mo stretchy="false">(</mo><mi>x</mi><mo>+</mo><msub><mi>δ</mi><mrow><mi>n</mi><mi>k</mi></mrow></msub><mo>,</mo><mi>k</mi><mo stretchy="false">)</mo></mrow>
nk
представляет собой интерполяцию необработанного изображения в x+δ.
Как и в случае восстановления статичной камеры, среднее изображение может принимать форму рекурсивного фильтра, после которого следует нормализация. Нормализация здесь выполняется более сложно, чем в случае статичной камеры, поскольку количество доступных изображений зависит от области рассматриваемого изображения (нормализация по пикселю). Тем не менее, показано, что она может быть выражена следующим образом:
<mrow><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>α</mi><mo stretchy="false">)</mo><mi>I</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>+</mo><mi>α</mi><msub><mover accent="true"><mi>I</mi><mo>˜</mo></mover><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>+</mo><mrow><mo>[</mo><mrow><msub><mi>δ</mi><mrow><mi>n</mi><mo>,</mo><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow><mo>]</mo></mrow><mo>,</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow>
,
<mrow><msub><mi>I</mi><mi>α</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>−</mo><msup><mi>α</mi><mrow><mi>n</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow></msup></mrow></mfrac><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow>
.
Эти выражения, поэтому, подразумевают использование интерполяции предыдущих выходных данных фильтра (время n-1).
Для исключения операций интерполяции, которые являются дорогостоящими в смысле мощности обработки, выбирают следующее упрощение уравнения фильтрации:
<mrow><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>α</mi><mo stretchy="false">)</mo><mi>I</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>+</mo><mi>α</mi><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>+</mo><mrow><mo>[</mo><mrow><msub><mi>δ</mi><mrow><mi>n</mi><mo>,</mo><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow><mo>]</mo></mrow><mo>,</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow>
,
<mrow><msub><mi>I</mi><mi>α</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>−</mo><msup><mi>α</mi><mrow><mi>n</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow></msup></mrow></mfrac><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow>
В этом выражении, вектор сдвига в строке и в столбце, округленный до ближайших целых чисел, между текущим изображением n и предыдущим изображением n-1, обозначен следующим образом:
n,n-1
n,n-1
n,n-1
[δ]=([δx],[δy]).
При этом показано, что рассчитывают только одну матрицу нормализации для каждого пикселя:
n(x)
N(x,n)=1-α
путем расчета выхода временного фильтра с измененным положением, когда постоянное изображение, равное 1, устанавливают на входе поверх всех пикселей.
Полная операция временной фильтрации с изменением положения и нормализацией в конечном итоге может быть записана в соответствии с четырьмя этапами:
- сброс:
f
I(x,l)=0 N(x,l)=0,
- временная фильтрация:
<mrow><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>α</mi><mo stretchy="false">)</mo><mi>I</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>+</mo><mi>α</mi><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>+</mo><mrow><mo>[</mo><mrow><msub><mi>δ</mi><mrow><mi>n</mi><mo>,</mo><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow><mo>]</mo></mrow><mo>,</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow>
,
- обновление нормализованной матрицы:
<mrow><mi>N</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>α</mi><mo stretchy="false">)</mo><mo>⋅</mo><mn>1</mn><mo>+</mo><mi>α</mi><mi>N</mi><mo stretchy="false">(</mo><mi>x</mi><mo>+</mo><mrow><mo>[</mo><mrow><msub><mi>δ</mi><mrow><mi>n</mi><mo>,</mo><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow><mo>]</mo></mrow><mo>,</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow>
- нормализация выхода временного фильтра:
<mrow><msub><mi>I</mi><mi>m</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mrow><mi>N</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow></mfrac><msub><mi>I</mi><mi>f</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow>
Таким образом, по мере приема каждого изображения:
n
n-1
- на первом этапе оценивают сдвиг δ,  между текущим изображением n и предыдущим изображением n-1,
- этот сдвиг используют для изменения положения временного фильтра и
- для расчета матрицы нормализации для каждого пикселя,
- затем нормализованный выход из временного фильтра подвергают обращенной свертке, используя пространственный фильтр.
Способ обращенной свертки является таким, как, описано выше для случая статичной камеры.
Ниже описана оценка последовательного перемещения между двумя изображениями. Несколько типов подходов существуют для оценки сдвига между различными изображениями. Простые технологии являются здесь предпочтительными, таким образом, чтобы обеспечить возможность выполнения операции обработки в режиме реального времени. Самый простой подход состоит в поиске максимальной взаимной корреляции между изображениями. С тем, чтобы исключить чувствительность к шумам, к эффектам турбулентности и вариациям освещении, предпочтительно работать не с самими изображениями, но с контурами изображения. Оценка сдвига между двумя изображениями, таким образом, состоит из двух этапов. На первом этапе два "контурных" изображения получают путем фильтрации исходных изображений. На втором этапе рассчитывают матрицу взаимной корреляции между двумя изображениями. Координаты максимума взаимной корреляции обозначают сдвиг строки и столбца между этими двумя изображениями.
Фильтр, обеспечивающий возможность получения изображения контуров, представляет собой фильтр Собеля, определенный следующим образом:
Sobel
Sobel
<mrow><mi>S</mi><mi>o</mi><mi>b</mi><mi>e</mi><mi>l</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mrow><mo>−</mo><mi>x</mi></mrow><mrow><msqrt><mrow><mn>2</mn><mi>π</mi><mo>⋅</mo></mrow></msqrt><msubsup><mi>σ</mi><mrow><mi>S</mi><mi>o</mi><mi>b</mi><mi>e</mi><mi>l</mi></mrow><mn>3</mn></msubsup></mrow></mfrac><mi>exp</mi><mrow><mo>{</mo><mrow><mfrac><mrow><mo>−</mo><msup><mi>x</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><msubsup><mi>σ</mi><mrow><mi>S</mi><mi>o</mi><mi>b</mi><mi>e</mi><mi>l</mi></mrow><mn>2</mn></msubsup></mrow></mfrac></mrow><mo>}</mo></mrow></mrow>
x∈[-M M]:
Sobel
Sobel
Sobel
Sobel
Sobel
где σ управляет полосой пропускания фильтра, и M представляет собой размер окна фильтрации. Предпочтительные значения этих параметров представляют собой σ=0,9 пикселей, M=5·σ.
contour
Один и тот же фильтр используется для фильтрации рядов и столбцов изображения I(x,y), с тем, чтобы получить контурное изображение, обозначенное, как I(x,y):
<mrow><msub><mi>I</mi><mrow><mi>t</mi><mi>e</mi><mi>m</mi><mi>p</mi></mrow></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo><mo>=</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mo>−</mo><msub><mi>M</mi><mrow><mi>S</mi><mi>o</mi><mi>b</mi><mi>e</mi><mi>l</mi></mrow></msub></mrow><mrow><msub><mi>M</mi><mrow><mi>S</mi><mi>o</mi><mi>b</mi><mi>e</mi><mi>l</mi></mrow></msub></mrow></munderover><mrow><mi>S</mi><mi>o</mi><mi>b</mi><mi>e</mi><mi>l</mi><mo stretchy="false">(</mo><mi>k</mi><mo stretchy="false">)</mo><mo>⋅</mo><mi>I</mi><mo stretchy="false">(</mo><mi>x</mi><mo>−</mo><mi>k</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow></mstyle></mrow>
<mrow><msub><mi>I</mi><mrow><mi>c</mi><mi>o</mi><mi>n</mi><mi>t</mi><mi>o</mi><mi>u</mi><mi>r</mi></mrow></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo><mo>=</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mo>−</mo><msub><mi>M</mi><mrow><mi>S</mi><mi>o</mi><mi>b</mi><mi>e</mi><mi>l</mi></mrow></msub></mrow><mrow><msub><mi>M</mi><mrow><mi>S</mi><mi>o</mi><mi>b</mi><mi>e</mi><mi>l</mi></mrow></msub></mrow></munderover><mrow><mi>S</mi><mi>o</mi><mi>b</mi><mi>e</mi><mi>l</mi><mo stretchy="false">(</mo><mi>k</mi><mo stretchy="false">)</mo><mo>⋅</mo><msub><mi>I</mi><mrow><mi>t</mi><mi>e</mi><mi>m</mi><mi>p</mi></mrow></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>−</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></mstyle></mrow>
<mrow><msubsup><mi>I</mi><mrow><mi>c</mi><mi>o</mi><mi>n</mi><mi>t</mi><mi>o</mi><mi>u</mi><mi>r</mi></mrow><mn>1</mn></msubsup><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow>
<mrow><msubsup><mi>I</mi><mrow><mi>c</mi><mi>o</mi><mi>n</mi><mi>t</mi><mi>o</mi><mi>u</mi><mi>r</mi></mrow><mn>2</mn></msubsup><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow>
Взаимная корреляция между двумя контурными изображениями
и
затем определяется по следующей формуле:
<mrow><mi>γ</mi><mo stretchy="false">(</mo><mi>δ</mi><mi>x</mi><mo>,</mo><mi>δ</mi><mi>y</mi><mo stretchy="false">)</mo><mo>=</mo><mstyle displaystyle="true"><munder><mo>∑</mo><mi>x</mi></munder><mrow><mstyle displaystyle="true"><munder><mo>∑</mo><mi>y</mi></munder><mrow><msubsup><mi>I</mi><mrow><mi>c</mi><mi>o</mi><mi>n</mi><mi>t</mi><mi>o</mi><mi>u</mi><mi>r</mi></mrow><mn>1</mn></msubsup><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo><msubsup><mi>I</mi><mrow><mi>c</mi><mi>o</mi><mi>n</mi><mi>t</mi><mi>o</mi><mi>u</mi><mi>r</mi></mrow><mn>2</mn></msubsup><mo stretchy="false">(</mo><mi>x</mi><mo>+</mo><mi>δ</mi><mi>x</mi><mo>,</mo><mi>y</mi><mo>+</mo><mi>δ</mi><mi>y</mi><mo stretchy="false">)</mo></mrow></mstyle></mrow></mstyle></mrow>
Для существенного уменьшения времени расчета, член:
γ(δx,δy)
может быть получен путем использования быстрого преобразования Фурье:
<mrow><mi>γ</mi><mo stretchy="false">(</mo><mi>δ</mi><mi>x</mi><mo>,</mo><mi>δ</mi><mi>y</mi><mo stretchy="false">)</mo><mo>=</mo><mi>I</mi><mi>F</mi><mi>F</mi><mi>T</mi><mrow><mo>{</mo><mrow><mi>F</mi><mi>F</mi><mi>T</mi><mrow><mo>{</mo><mrow><msubsup><mi>I</mi><mrow><mi>c</mi><mi>o</mi><mi>n</mi><mi>t</mi><mi>o</mi><mi>u</mi><mi>r</mi></mrow><mn>1</mn></msubsup><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><mo>}</mo></mrow><mo>⋅</mo><mi>F</mi><mi>F</mi><mi>T</mi><mrow><mo>{</mo><mrow><msubsup><mi>I</mi><mrow><mi>c</mi><mi>o</mi><mi>n</mi><mi>t</mi><mi>o</mi><mi>u</mi><mi>r</mi></mrow><mn>2</mn></msubsup><mo stretchy="false">(</mo><msub><mi>N</mi><mrow><mi>c</mi><mi>o</mi><mi>l</mi><mi>u</mi><mi>m</mi><mi>n</mi><mi>s</mi></mrow></msub><mo>−</mo><mi>x</mi><mo>,</mo><msub><mi>N</mi><mrow><mi>r</mi><mi>o</mi><mi>w</mi><mi>s</mi></mrow></msub><mo>−</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><mo>}</mo></mrow></mrow><mo>}</mo></mrow></mrow>
,
Для дальнейшего уменьшения времени расчета, оценку движения выполняют только для одного канала изображения. Может возникнуть случай, в котором ряды необработанных принятых изображений подвергают обработке перемежения. При этом предпочтительно, в данном случае, сохранять только каждый второй ряд (например, четные ряды) в изображениях с взаимной корреляцией. Наконец, в определенных случаях, последовательность видеоизображений содержит перезаписанные данные (обычно дату и время, название реактора, координаты снимаемой сборки). При этом, конечно, рекомендуется не использовать эту область изображения для оценки сдвига.
Далее будет описан расчет изменения положения.
n, n-1
n, n-1
Для изменения положения последовательных выходов временного фильтра между двумя изображениями, первое решение состоит в расчете, в каждый момент времени n, величины сдвига δ между текущим изображением n и предыдущим изображением n-1. Однако, тесты показали, что данный подход нельзя применять в случае (часто возникающем) медленного движения камеры. Это можно пояснить следующим образом: предположим, например, что движение камеры приводит к смещению на 0,3 ряда для каждого изображения и к нулевому смещению вниз по столбцу, при этом матрица корреляции между двумя последовательными изображениями, в общем, становится максимальной при δ=([0], [0,3])=(0,0). Таким образом, смещение не может быть детектировано, и изменение положения изображения не выполняется, в то время как движение камеры, однако, требует реального изменения положения приблизительно на 3 ряда для каждых десяти изображений.
n,ref
Для того чтобы иметь возможность отслеживать медленные смещения (обычно меньше, чем 0,5 рядов или столбцов на изображение), ниже представлен другой подход. Величину сдвига оценивают не между текущим изображением n и предыдущим изображением n-1, но между текущим изображением n и опорным изображением δ.
n, n-1
Член δ затем просто определяют следующим образом:
n,n-1
n,ref
n-1,ref
δ=δ-δ
В таблице 1, представленной ниже, иллюстрируется такая обработка для случая скорости изменения 0,3 ряда на изображение. В этом примере реально оценивают среднее из трех изображений со сдвигом для каждых 10 изображений. Опорное изображение обновляют, когда текущее изображение получило существенный сдвиг. Пороговое значение 20 пикселей максимального сдвига было фиксировано, что позволяет управлять любым движением камеры со скоростью выше, чем 1/20 (или 0,05 рядов/столбцов на изображение), что, в свою очередь, оказывается достаточным для случая рассматриваемых вариантов приложений.
Таблица 1
Индекс изображения
n<sub>ref</sub>
n<sub>ref</sub>+1
n<sub>ref</sub>+2
n<sub>ref</sub>+3
n<sub>ref</sub>+4
n<sub>ref</sub>+5
n<sub>ref</sub>+6
n<sub>ref</sub>+7
n<sub>ref</sub>+8
n<sub>ref</sub>+9
n<sub>ref</sub>+10
Реальный сдвиг текущего изображения/опорного изображения δy<sub>n, ref</sub>
0
0,3
0,6
0,9
1,2
1,5
1,8
2,1
2,4
2,7
3
Оценка сдвига текущего изображения/опорного изображения [δy<sub>n, ref</sub>]
0
0
1
1
1
2
2
2
2
3
3
Оценка сдвига текущего изображения/опорного изображения δy<sub>n, n-1</sub>=[δy<sub>n, ref</sub>]-[δy<sub>n-1, ref</sub>]
-
0
1
0
0
1
0
0
0
1
0
На фиг.3 обобщены различные этапы обработки изображений в ситуации с движением, в которой:
n
- при использовании текущего изображения IM (время n), на этапе S1, выполняют оценку сдвига, и, в случае, когда оценка сдвига на этапе S1 превышает пороговое значение (тест S6), выполняют обновление порогового значения на этапе S7,
- на этапе S2 рассчитывают изменение положения,
- временная фильтрация на этапе S3 и нормализация по пикселю на этапе S4, и
- пространственная фильтрация в этапе S5 для получения резкого изображения IN.
Рабочие характеристики обработки являются удовлетворительными, при этом отсутствует потеря качества относительно обработки, в которой используется статичная камера. Некоторые искусственные искажения изображения, однако, могут появляться, когда камера начинает движение после ее пребывания в состоянии покоя в течение нескольких секунд. Эти искусственные искажения, однако, не являются функционально проблематичными. Как показано на фиг.4, такие искусственные искажения (ряд, обозначенный черной стрелкой на данной фигуре), не препятствуют ни считыванию номера сборки (внутри белого круга, в котором записан номер "2D EL"), ни расчету промежутка между сборками (двойная белая стрелка). Кроме того, эти искусственные искажения могут быть уменьшены, используя простые технологии обработки изображений.
Само собой разумеется, что настоящее изобретение не ограничено описанными выше, в качестве примера, вариантами осуществления; оно может быть расширено на другие варианты.
В представленном выше примере, временный фильтр выполняет простое усреднение последовательных изображений видеопоследовательности. При таком усреднении может быть включено назначение большего веса (или соответственно, меньшего веса) для изображений с хорошим (относительно плохим) качеством. В более общем случае, временный фильтр может быть заменен операциями по обработке для комбинирования более соответствующих изображений. Такие подходы подразумевают, однако определение одного или больше индикаторов качества, рассчитанных по области, представляющей интерес, для изображений (области, содержащих номер сборки).
Пространственный фильтр, представленный выше, работает по всему изображению. В качестве варианта, может быть предусмотрена возможность концентрации обработки в области, представляющей интерес. В частности, "предварительно известная" информация, такая как двоичная природа области, содержащей число, может учитываться при обработке восстановления.
Кроме того, текущий пространственный фильтр выполняет обращение свертки Винера для всего изображения. Другие технологии обработки обращения свертки, используя, например, вейвлет-преобразование, могут использоваться в равной степени.
Кроме того, следует отметить, что технологии для улучшения контраста путем локального выравнивания гистограмм для выравнивания контраста могут быть предпочтительными.