СПОСОБ СУПЕРРАЗРЕШЕНИЯ ИЗОБРАЖЕНИЙ И НЕЛИНЕЙНЫЙ ЦИФРОВОЙ ФИЛЬТР ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ
IMAGE SUPER-RESOLUTION METHOD AND NONLINEAR DIGITAL FILTER FOR REALISING SAID METHOD

Изобретение относится к области фото- и видеоизображений и может быть использовано, например, для получения высококачественных изображений визуально приближенных объектов фотоаппаратом или видеокамерой, снабженных сенсорами с электронным затвором.
Современные мобильные устройства, как правило, оборудованы фото- и видеокамерами, позволяющими получать изображения неплохого качества. Однако для получения изображений визуально приближенных, требование мобильности этих устройств не позволяет использовать в них оптические системы (объективы) с переменным фокусным расстоянием (трансфокатор, зум, вариообъектив) в виду их большого размера. Поэтому в таких мобильных устройствах используется цифровой зум.
Известны следующие технические решения, являющиеся аналогами первого объекта заявляемой группы изобретений:
Известен способ получения увеличенного изображения с низким разрешением с применением цифрового зума. При использовании этого способа визуального приближения для получения изображения используется лишь центральная часть сенсора. Затем для получения изображения с количеством пикселей, равным полному количеству пикселей сенсора полученное уменьшенное изображение с центральной части сенсора интерполируется с помощью одного из известных способов двумерной интерполяции (билинейной или бикубической) [en.wikipedia.org/wiki/Digital_zoom].
Недостатки цифрового зума:
- при интерполяции происходит пропорциональное увеличение смазанности изображения, вызываемого движением рук во время экспонирования. Использование же традиционных систем стабилизации [David Sachs, Steven Nasiri, Daniel Goehl "Image Stabilization Technology Overview",
http://invensense.com/mems/gyro/documents/whitepapers/ImageStabilizationWhitepaper 05160 6.pdf] затруднено в связи с требованием мобильности;
- в интерполированном сигнале не содержатся высокочастотные компоненты, в результате грани выглядят нечеткими, мелкие детали отсутствуют.
Известен способ улучшения изображений [Michal Irani, Shmuel Peleg "Super Resolution From Image Sequences", ICPR, 2:115-120, June 1990], использующий несколько кадров и наличие небольших пространственных сдвигов между ними для увеличения разрешения или получения суперразрешения. В данном способе итеративным образом происходит приближение (схождение) к оптимальному изображению высокого разрешения. Начинаются итерации с создания первичной (грубой) версии изображения высокого разрешения. Такая первичная версия создается, как правило, путем простого суммирования интерполированных изображений низкого разрешения. Второй этап итерации - обратное получение изображений низкого разрешения из данной версии высокого разрешения, сравнение их с исходными изображениями низкого разрешения и вычисление поправки. Последующие итерации вычисляют новые версии изображения высокого разрешения с учетом поправки на предыдущей итерации.
Недостатком данного способа является чрезвычайно низкая скорость получения результата вследствие большого количества итераций. Кроме того, непредсказуемо необходимое количество итераций.
Известен способ улучшения изображений путем повышения разрешения [А.В.Насонов, А.С.Крылов "Быстрое суперразрешение изображений с использованием смешанной медианной фильтрации", труды 12 Международной конференции и выставки "Цифровая обработка сигналов и ее применение" (DSPA' 2010), т.2, стр.101-104], при котором применяют метод регуляризации Тихонова для обеспечения сходимости итеративных приближений к результату с высоким разрешением. Этот способ эффективен при съемке нескольких кадров изображения для получения визуально приближенного изображения с улучшенным разрешением.
Недостатком его является то, что ввиду неизбежных пауз, возникающих между снимками при съемке традиционным способом, движущиеся (нестационарные) объекты в кадре будут запечатлены смазанными либо с многократным двоением контуров. Данный способ не имеет возможности корректировать искажения (размытие/нечеткость) оптической системы камеры. Кроме того, примененная в данном способе медианная фильтрация сохраняет четкость граней, однако уничтожает мелкие детали изображения, выявление которых и является одной из целей суперразрешения.
Наиболее близким к первому объекту заявляемой группы изобретений является способ улучшения разрешения последовательностей изображений [Jung-Hyun Hwang, Hweihn Chung, Sung-Ii Su, Yong-Chul Park, Chul-Ho Lee "High resolution digital zoom using temporal IIR filter", IEEE Transactions on Consumer Electronics, Vol.42, No.3, August 1996], которые несут больший объем информации, чем одно двумерное изображение. Предлагается определение движения на субпиксельном уровне и IIR фильтрация по временной оси для визуального увеличения изображений с получением высокого разрешения, а также для цифровой стабилизации изображений. Продемонстрированы экспериментальные результаты на реальных последовательностях изображений.
Осуществляют способ следующим образом: производят сбор данных с сенсора, выравнивание, увеличение изображения, объединение/фильтрацию увеличенного изображения линейным фильтром, при этом очередной пришедший кадр суммируется с предыдущим результатом с использованием различных весов. После увеличения изображения, но перед объединением, производят дополнительную свертку с прямоугольным окном, т.е. дополнительную фильтрацию, чтобы субпиксельно сдвинутое изображение можно было напрямую суммировать (фильтровать IIR фильтром) с пикселями предыдущего результата.
Недостатки прототипа заключаются, во-первых, в том, что простота применяемого на выходе фильтра не позволяет получать оптимально четкое результирующее изображение. Кроме того, фильтр не использует область примыкающих, соседних пикселей изображения, что не дает возможности корректировать искажения (размытие/нечеткость) оптической системы камеры. Сбор данных с сенсора производят стандартным, низкоскоростным, способом, что приводит к смазыванию изображения, а также к двоению нестационарных объектов.
Аналогами второго объекта заявляемого технического решения являются следующие.
Известен способ повышения четкости изображения [Masaaki Hayashi, "Neurofilter, and method of training same to operate on image data such as to discriminate between text and picture regions jf an image which is expressed by image data" United States Patent 6,301,381], где один нелинейный фильтр, реализованный с помощью нейросети, используется для разделения изображения на области, содержащие текст, и области, содержащие иллюстрации, а другой нелинейный фильтр, реализованный с помощью нейросети, используется для повышения четкости изображения. Оба фильтра сконструированы следующим образом:
- из области изображения, содержащей пиксель, для которого производится фильтрация, выбираются данные этого пикселя, а также соседних с ним пикселей;
- значения выбранных пикселей передаются на вход предварительно натренированной нейросети;
- в случае фильтра, повышающего четкость, нейросеть выдает непосредственно значение пикселя для формирования четкого изображения;
- в случае фильтра, используемого для отделения текста от иллюстраций, нейросеть выдает сигнал с уровнем, пропорциональным вероятности наличия текста в данной области изображения.
Недостатки такого способа:
- в качестве исходного используется лишь один кадр, что не позволяет уменьшить уровень шума в результирующем изображении по сравнению с исходным;
- большой динамический диапазон значений пикселей препятствует эффективной работе нейросети;
- в результате обработки повышается четкость изображения, однако не происходит повышения разрешения изображения.
Наиболее близким ко второму объекту заявляемого технического решения является способ повышения разрешения изображения [Lin, et al. "Method for image resolution enhancement" United States Patent 7,187,811], в котором в качестве исходного используется один кадр изображения. При использовании данного способа участки исходного изображения классифицируются на две группы: участки изображения, имеющие грани, и участки изображения без граней. Участки изображения без граней интерполируются с помощью обычной билинейной интерполяции. Участки с гранями интерполируются с использованием нейросети. Такое разделение изображения на две категории и раздельная их интерполяция позволяет избежать определенных недостатков, свойственных обычным способам интерполяции (билинейной и бикубической), таких, как появление эффекта 'лестницы' на наклонных гранях изображения.
При таком способе используют нелинейный цифровой фильтр (интерполятор) для участков изображения с наличием граней, сконструированный с использованием нейросети. Нейросеть предварительно натренирована с использованием 'полевых', естественных изображений. Входными данными для интерполятора служат координаты области, 'качество' грани, наклон грани, значение обрабатываемого пикселя и соседних с ним пикселей. 'Качество' грани и наклон грани вычисляются на основе данных пикселей входящих в область. Эти данные передаются на входы нейросети. Нейросеть перемножает входные данные на веса, определенные на этапе предварительной тренировки нейросети, и применяет заранее определенные нелинейные передаточные функции. Результатом работы нейросети является значение интерполированного пикселя. В данном способе нейросеть выступает нелинейным фильтром, непосредственно на входы которой передаются координаты области, 'качество' грани, наклон грани, значение обрабатываемого пикселя и соседних с ним пикселей. Нейросеть непосредственно выдает значение интерполированного пикселя.
Недостатки такого способа:
- в качестве исходного используется лишь один кадр, что не позволяет уменьшить уровень шума в результирующем изображении по сравнению с исходным;
- нейросеть натренировывается на распознавание предопределенного, ограниченного набора паттернов (вариантов ориентации грани), что влечет за собой неправильную интерполяцию изображений, непохожих на изображения из естественного набора;
- большой динамический диапазон значений пикселей препятствует эффективной работе нейросети;
- в процессе обработки есть необходимость деления изображения на две группы, что требует дополнительных вычислительных ресурсов.
При анализе всего объема доступной для ознакомления информации автором заявляемого изобретения не было обнаружено технических решений, которые бы решали задачу получения изображений высокого разрешения при их визуальном приближении способом, описанном в заявляемом.
Целью изобретения является создание способа, который позволил бы получать визуально приближенные изображения высокого качества и разрешения при фото- и видеосъемке как неподвижных, так и движущихся объектов.
Предлагаемое техническое решение основано на применении способа повышения разрешения изображения, использующего несколько кадров низкого разрешения для получения одного кадра высокого разрешения (т.е. суперразрешения), а также на возможности высокоскоростной съемки нескольких кадров изображения при сканировании лишь части сенсора. При этом решение поставленной задачи, т.е. достижение необходимого технического эффекта, достигается благодаря применению сконструированного для этой цели нелинейного фильтра.
Сущность заявляемого изобретения заключается в том, что для суперразрешения изображений в известном способе улучшения изображений, включающем экспонирование нескольких кадров, получение исходных изображений путем считывания с сенсора, выравнивание их, формирование увеличенного изображения, его фильтрацию фильтром, исходное изображение получают с цифрового сенсора в виде непрерывной последовательности кадров высокоскоростной съемкой, при которой частота кадров обратно пропорциональна величине сканируемой части светочувствительной области сенсора. При этом увеличенное изображение формируют путем объединения исходных изображений низкого разрешения, выявляя наиболее четкие кадры, а повышение разрешения осуществляют нелинейным фильтром, применяя его к увеличенному изображению. Для фильтрации изображений, с целью получения суперразрешения, используют нелинейный цифровой фильтр, входными данным для которого являются пиксели обрабатываемого изображения, включающий нейросеть, предварительно натренированную с использованием тестового изображения. На нейросеть подают модифицированные оцифрованные данные, при этом их модификация включает: выделение низкочастотной компоненты, поэлементную компоновку пикселей, вычитание низкочастотной компоненты из скомпонованных пикселей, и последующее их нормирование. Затем данные на выходе нейросети подвергают обратному нормированию, а низкочастотную компоненту прибавляют к значению на выходе нейросети. Кроме того, для получения значения фильтра используют только данные пикселя, подлежащего фильтрации и пикселей, отстоящих не более чем на 3 точки в горизонтальном и вертикальном направлениях из увеличенного изображения.
На фиг.1 изображен стандартный случай съемки кадров в режиме видео с использованием сенсора с электронным затвором. Между экспозициями кадров имеются паузы. Вертикальные линии 1; 2; 3 на шкале времени отмечают время начала экспозиции кадра, при этом расстояние между ними соответствует частоте кадров. Заштрихованные области - фактическое время экспозиции строк сенсора (т.к. используется сенсор с электронным затвором, то фактическое время начала и конца экспозиции отдельных строк несколько смещено во времени).
Фиг.2 - съемка кадров без пауз с использованием сенсора с электронным затвором. Вертикальные линии 1; 2; 3; 4 на шкале времени отмечают время начала экспозиции кадра. Экспозиция следующего кадра начинается сразу после считывания данных строки текущего кадра и паузы отсутствуют.
На фиг.3 - схема сенсора, где 301 - светочувствительная область сенсора; 302 - его центральная часть, используемая для получения визуально приближенного изображения.
На фиг.4 показано выравнивание нескольких кадров и их объединение в одно изображение увеличенного размера с последующим повышением разрешения (блок-схема), где:
401 (верхний ряд) - исходные снимки;
402 (второй ряд) - выровненные снимки;
403 - блок объединения кадров, который принимает на входе выровненные снимки и выдает объединенный кадр увеличенного размера;
404 - исходное 'размытое' изображение;
405 - нелинейный фильтр;
406 - увеличенное изображение с суперразрешением.
На фиг.5 показано применение нелинейного фильтра для повышения разрешения, где:
501 - исходный увеличенный снимок,
502 - схема фильтра, включающего предварительную подготовку данных (503); нейросеть(504) и суммирование(505);
506 - финальное изображение с суперразрешением.
Фиг.6 - тестовое изображение, используемое на этапе предварительной тренировки нейросети.
Съемку предлагаемым способом производят следующим образом: т.к. максимальная скорость получения данных с сенсора в современных мобильных устройствах ограничивается максимальной возможной скоростью интерфейса передачи данных, а при съемке визуально приближенных изображений нет необходимости сканирования всей поверхности сенсора, то при сканировании лишь части сенсора возможно пропорционально увеличить частоту получения кадров. Экспонируют несколько кадров при фиксированных частоте и выдержке, с частотой кадров, позволяющей исключить паузы между экспозициями. В случае слабой освещенности объекта возможно либо увеличить выдержку каждого кадра, либо, что предпочтительнее, увеличить количество экспонируемых кадров.
Так, при трехкратном визуальном приближении объекта съемки сканируют лишь 1/9 поверхности сенсора, соответственно, максимальную частота кадров возможно увеличить в 9 раз, а значит, съемка, например, девяти кадров занимает то же самое время, что и съемка одного кадра при использовании стандартного способа. При такой съемке как стационарные, так и движущиеся объекты в каждом из кадров будут четкими, а уровень шума ниже, чем при съемке аналогичными известными способами, т.к. амплитуда шумовой компоненты отдельных кадров при объединении растет пропорционально квадратному корню из общего количества кадров, а амплитуда полезной компоненты (собственно изображения) - пропорционально количеству кадров.
В полученной таким образом серии кадров некоторые из них несколько сдвинуты друг относительно друга за счет неизбежной тряски камеры при съемке с рук. Кроме того, изображение на некоторых кадрах может быть менее четким, чем на других. Поэтому следующим этапом обработки является выявление наиболее четких кадров, а также выравнивание их относительно друг друга. Существует множество способов оценки четкости кадра, например, способ описанный в [Xin Wang, Baofeng Tian, Chao Liang, Dongcheng Shi "Blind Image Quality Assessment tor Measuring Image Blur", Congress on Image and Signal Processing, 2008. CISP '08. Volume: 1, ISBN: 978-0-7695-3119-9], где для определения четкости кадра отбирают подмножество наиболее четких граней, определяют среднюю четкость отобранных граней и усредненное значение используют в качестве метрики четкости всего кадра.
В предлагаемом способе суперразрешения изображения при визуальном приближении используют один кадр увеличенного размера (404), полученный путем выравнивания и объединения кадров предыдущего этапа (фиг.4). Увеличение кадра осуществляют путем интерполяции (например, бикубической). Объединение кадров производят либо простым усреднением значений совпадающих пикселей увеличенных кадров, либо более сложным суммированием с использованием весовых коэффициентов. Например, в случае наличия движущихся объектов производят выборочное усреднение кадров с отбором данных из тех кадров, в которых позиция (расположение) движущихся объектов совпадает. В случае различий в уровне шума в отдельных кадрах, объединение производят с приданием большего веса тем кадрам, в которых уровень шума ниже, чтобы понизить общий уровень шума в объединенном кадре.
Изображение с суперразрешением получают путем применения, последовательно к каждому пикселю, увеличенного кадра, нелинейного фильтра. При этом фильтр использует область пикселей, расположенных в непосредственной близости от пикселя, для которого повышается разрешение (фиг.5).
Нелинейный фильтр с фиксированными параметрами предварительно конструируют под конкретную систему объектив-сенсор. Это обеспечивает максимальное повышение разрешения для данной конкретной системы, а также оптимальное шумоподавление. Фильтр конструируется с использованием искусственной нейросети. Для целей суперразрешения возможно использование различных типов нейросетей. В заявленном решении был использован нелинейный многослойный персептрон [Медведев B.C., Потемкин В.Г, "Нейронные сети. MATLAB 6", - М: Диалог-МИФИ, 2002, глава 4]. Экспериментально установлено, что наиболее оптимальной архитектурой нейросети для поставленной задачи является персептрон с одним скрытым слоем, сигмоидальными или тангенциальными функциями активации во всех слоях, четырьмя нейронами во входном слое, четырьмя нейронами в скрытом слое. В случае применения фильтра к монохроматическому изображению или лишь к яркостной составляющей изображения, в выходном слое используется один нейрон. В случае применения фильтра к многоцветному изображению выходной слой может содержать количество нейронов, равное количеству цветовых слоев изображения, или же отдельный фильтр может применяться к каждому цветовому слою независимо.
Нелинейный фильтр включает:
- модификацию оцифрованных данных изображения,
- подачу их на вход предварительно натренированной нейросети,
- обратное нормирование,
- последующее суммирование результатов работы нейросети с низкочастотными данными, полученными на этапе предварительной модификации оцифрованных данных.
Предварительная модификация оцифрованных данных состоит из следующих этапов:
1. Выделение компонент для фильтрации. В случае использования фильтра для фильтрации лишь яркостной компоненты изображения или отдельного цветового слоя выделяют эту компоненту из изображения.
2. Отделение низких частот. Производят с помощью обычного линейного фильтра (например, вычисления усредненного значения всех пикселей в радиусе 8 пикселей от данного). Отделение низких частот позволяет снизить динамический диапазон входных данных.
3. Поэлементная компоновка пикселей, соседних с пикселем, для которого происходит нелинейная фильтрация в массивы. Так, если используются все пиксели, отстоящие от данного не более чем на три пикселя по горизонтали/вертикали, то массив будет состоять из 7×7=49 элементов.
4. Вычитание значения низкочастотной составляющей из всех элементов массива. Для этого из отделенной на этапе 2 низкочастотной составляющей выбирается значение с координатой, соответствующей пикселю, для которого производится фильтрация.
5. Нормирование. Нейросеть работает в наиболее благоприятном режиме, если динамический диапазон входных значений невелик, нормирование же позволяет дополнительно снизить динамический диапазон. Все массивы пикселей нормируются таким образом, чтобы значения пикселей попадали в определенный диапазон (например, [0…1]).
Модифицированные таким образом данные передаются на вход нейросети. Их используют как при тренировке нейросети, так и при использовании нейросети в составе нелинейного фильтра.
Для тренировки нейросети используют тестовое изображение (фиг.6), специально подготовленное для этой цели, отснятое системой объектив-сенсор, для которой фильтр будет использован.
Требования к тестовому изображению
Т.к. нейронные сети обладают способностью к 'генерализации' (т.е. к выводу неких общих правил и зависимостей на основании ограниченного набора данных), то нет необходимости использовать на этапе тренировки нейросети все возможные варианты изображений. Однако изображение, используемое при тренировке, должно отвечать минимальным требованиям для того, чтобы в результате тренировки получить сеть, работающую достаточно хорошо для всех изображений. На изображении должны присутствовать:
- плавные изменения яркости различной направленности и значений градиента яркости,
- резкие изменения яркости (грани) различной ориентации,
- при тренировке сети, обрабатывающей цветовые компоненты - плавные и резкие изменения цветовых компонент, с различной ориентацией и значениями градиента.
- темные и светлые штрихи различной толщины и направленности,
- радиальные и синусоидальные миры,
- реперные точки, с целью облегчения последующего выравнивания отснятого изображения.
Съемку кадров тестового изображения а также их выравнивание и объединение производят заявленным способом с использованием реперных точек (перекрестий) для упрощения выравнивания кадров отснятого изображения. Например, сетки из 5×5 реперных точек, как показано на тестовом изображении, на фиг.6. В качестве целевых данных при тренировке нейросети используют соответствующие по координатам, нормированные пиксели тестового изображения, из которого предварительно отфильтрованы высокие и низкие частоты. Частоту среза высоких частот выбирают экспериментально, исходя из требований к четкости конечного изображения и допустимого уровня шумов/искажений в нем. Частоту среза низких частот выбирают равной частоте фильтра низких частот, используемого для модификации входных оцифрованных данных. Для тренировки нейросети используют алгоритм Левенберга-Марквардта [7], который дает наилучшие результаты для нейросетей среднего и малого размера.
После получения данных на выходе нейросети производят их обратное нормирование. Например, если на этапе 5 предварительной модификации нормирование было осуществлено простым домножением на константу, то обратное нормирование производится путем деления данных полученных с выхода нейросети на ту же константу.
Таким образом, процедура обработки данных нелинейным фильтром состоит из:
1. Предварительной модификации оцифрованных данных.
2. Обработки данных предварительно натренированной нейросетью.
3. Процедуры, обратной нормированию на этапе 5 предварительной модификации оцифрованных данных.
4. Прибавления к результату, вычисленному с помощью нейросети, низкочастотных данных, отфильтрованных на этапе 2 предварительной модификации оцифрованных данных.
Предлагаемый способ суперразрешения визуально приближенных изображений с сенсора с электронным затвором дает возможность получения качественных изображений с высоким разрешением и применим при использовании различного рода мобильных устройств, выпускаемых промышленностью в настоящее время. Необходимая для получения высокого разрешения пост-обработка данных, полученных с сенсора, предъявляет невысокие требования к вычислительным ресурсам устройства и может быть произведена непосредственно на мобильном устройстве. Он обладает следующими преимуществами перед уже известными:
- происходит экспонирование множества кадров, однако выдержка для каждого кадра существенно ниже выдержки, используемой для цифрового зума, в результате смазанность изображения уменьшается;
- наличие большого количества кадров, изображающих одну и ту же сцену, позволяет эффективно отфильтровать различные шумы;
- метод суперразрешения позволяет воспроизвести четкие грани, мелкие детали на изображении;
- высокоскоростная работа предлагаемого метода суперразрешения позволяет использовать его в мобильных устройствах, где одним из требований является немедленное получение результата съемки;
- в отличие от других способов, комбинирующих несколько кадров для получения одного качественного изображения, отсутствуют проблемы передачи движущихся объектов.