Новости
Все новости...
User Menu
Задать вопрос

Ваше имя:

Ваш емайл:

Тема:

Сообщение:

verification image, type it in the box
Код вписать ниже:
Нейросетевое увеличение и фильтрация цифровых изображений

Нейросетевая обработка и фильтрация

Скрибцов П.В., Долгополов А.В., ООО “ПАВЛИН ТЕХНОЛОГИИ”
(Из доклада на конференции DSPA'07)
    Одной из распространенных операций с цифровыми изображениями, является увеличение их масштаба или увеличение фрагментов. При увеличении масштаба цифрового фотоизображения старая сетка пикселей преобразуется, появляются новые пиксели, цвета которых рассчитываются при помощи алгоритмов интерполяции. Интерполяция может выполняться различными способами, наиболее простые и распространённые из них:
· Nearest neighbor (метод ближайшего соседа) – самый быстрый и простой, применяется, когда изображение увеличивается на небольшую величину;
· Linear (билинейная интерполяция) – более точный метод, по сравнению с предыдущим;
· B-spline (или бикубическая интерполяция) - самый точный метод из выше перечисленных.
   
    Наиболее качественный результат достигается с применением бикубической интерполяции. Этот метод часто является эталонным при сравнении различных способов увеличения изображений и реализован в хорошо-известной программе обработки фотоизображений Adobe Photoshop.
Кроме проблемы поиска цвета «промежуточных пикселей» (интерполяции), присутствует проблема фильтрации шумов. При наличии в исходном изображении шумов, при увеличении масштаба они усиливаются. Из малозаметных на малом масштабе, шумы становятся хорошо заметными на увеличенном изображении. При субъективной зрительной оценке, «увеличение» шумов пропорционально коэффициенту увеличения самого изображения. Природа шумов на изображении может быть различной. Помимо физических погрешностей и дискретной природы цифровых фото-сенсоров, из-за широкого применения алгоритмов компрессии изображений с потерей качества (таких как JPEG, например), шумы в той или иной степени, как правило, присутствуют в большинстве цифровых изображений. Для сглаживания шумов изображение можно подвергнуть фильтрации, однако вследствие этого увеличенное изображение становится более размытым, чем оригинал или его увеличенная и зашумленная копия. Применение простых фильтров (таких как median filter, gauss blur) после процедуры увеличения позволяет уменьшить шумы, но неизбежно ведёт к потере чёткости. Из этого вытекает, что проблема увеличения изображений должна рассматриваться как совокупная проблема интерполяции и фильтрации изображения (интерполяция, устойчивая к шуму).
В настоящий момент различными исследователями ведутся работы по разработке «интеллектуальных» алгоритмов, улучшающих процесс увеличения изображений. На основе таких алгоритмов создаются коммерческие продукты и компоненты, такие как SmartScale, Genuine Fractals, востребованные на рынке ПО для обработки цифровых фотографий. Разработчики алгоритмов приводят примеры, на которых результаты увеличения изображений при помощи их алгоритмов превосходят по качеству результаты, получаемые при бикубической интерполяции. Однако, как показывают независимые обзоры, текущие решения не являются совершенными. Критерием работы подобных алгоритмов является как точность интерполяции, так и устойчивость к шумам. 
С учетом общепризнанного успеха применения нейронных сетей в задачах аппроксимации функций и фильтрации сигналов [3-7], в рамках данной работы была осуществлена попытка применить нейронные сети для интерполяции и фильтрации цифровых изображений. Существует ряд работ, в которых нейронные сети применяются для улучшения процесса увеличения изображения [8,9], но чаще всего, они используются как отдельные элементы более сложного эмпирического алгоритма, например, в качестве классификаторов пиксельных областей, которые используются для последующей настройки некоторых параметров системы. В данной работе исследовалась возможность использования нейронной сети «в лоб», то есть как устойчивого к шумам аппроксиматора значений соседних пикселей для получения значений промежуточных пикселей.
    В настоящем исследовании применялась нейронная сеть прямого распространения (FFNN). В теории использование нейронной сети прямого распространения сигнала крайне просто. Теория нейронных сетей говорит о возможности построения нейронной сети, решающей поставленную выше задачу с любой заданной точностью. Однако на практике таких решений пока не существует. Это можно объяснить исходя из следующих соображений. Для изображения размером 640x480 число примеров обучения составит 307200. Для точного запоминания всей информации в изображении, число весовых коэффициентов нейронной сети должно быть очень велико и сравнимо с числом обучающих примеров. Обучение таких огромных нейронных сетей методами первого порядка (градиентными методами) проблематично в связи с медленной скоростью сходимости (для данной задачи недопустимо медленной), а методами второго порядка - проблематично из-за высоких требований к памяти (пропорциональной квадрату от числа весовых коэффициентов). Однако даже если решить проблемы с быстродействием и памятью, возникнет следующая проблема – нейронная сеть, точно запоминающая обучающую последовательность при слишком большом числе весовых коэффициентов, имеет низкую способность к обобщению, то есть способность к выдаче «интуитивно-ожидаемого» результата для значений входного сигнала, не входящего в обучающую выборку, то есть для промежуточных пикселей. Для задачи нейросетевой интерполяции это является ключевым фактором качества работы системы увеличения фотоизображений.
    Ключ к решению данной проблемы лежит в специфике фотоизображений, как отдельного класса «не совсем случайных» наборов данных. Если каждое фотоизображение, в целом, уникально и непредсказуемо, то мелкие его детали обладают, как правило, более высокой степенью смысловой связанности. Из этого следует, что необходимо разбивать исходное изображение на блоки. Внутри каждого блока, как правило, изображение может иметь коррелированные данные, для точного представления которых нейронной сетью, будет достаточно небольшого числа весовых коэффициентов - намного меньшего, чем число пикселей в блоке, а, следовательно, при этом сохраняется высокая степень обобщающей способности нейросети. Для каждого блока, нейронная сеть как бы «угадывает» его относительно простую структуру и использует это для оценки значений промежуточных пикселей в процессе интерполяции. При этом автоматически происходит фильтрация шумов, "не вписавшихся" в гипотезу нейронной сети.
Анализируя полученные данные, можно сделать вывод, что применение нейронных сетей для интерполяции и фильтрации изображений является перспективным направлением. Однако возникает целый ряд проблем, решение которых позволяет добиться еще более высокого качества увеличения и фильтрации изображений. Дальнейшее развитие этого направления включает решение задачи адаптивного выбора размеров и положений блоков, в зависимости от конфигурации участков изображения, решение проблемы слияния данных с сигналов нейронных сетей относящихся к разным окнам, повышение быстродействия (например, использование с использованием кластеров или технологии GPGPU [10]).
    Сравнение результатов работы нашего алгоритма со станадартным алгоритмом бикубической интерполяции можно, скачав презентацию в формате PPT.
скачать
    Литература
3. Галушкин А.И., Теория нейронных сетей. // Радиотехника, Москва 2000
4. Галушкин А.И., Цыпкин Я.З. Нейронные сети: история развития теории. // Радиотехника, Москва. 2001
5. Галушкин А.И., О современных направлениях развития нейрокомпьютеров. // Нейрокомпьютер 1,2 , Радиотехника. 1997.
6. Галушкин А.И., Нейрокомпьютеры. // Радиотехника, Москва. 2002
7. Саймон Хайкин, Нейронные сети: полный курс // Издательский дом “Вильямс”, 2006
8. C. B. Atkins, C. A. Bouman, and J. P. Allebach., Optimal image scaling using pixel classification // In IEEE International Conference on Image Processing, volume 3, pages 864--867, September 2001.
9. Staelin, Carl; Greig, Darryl; Fischer, Mani; Maurer, Ron, Neural Network Image Scaling Using Spatial Errors, Technical Report HPL-2003-26R1 20031110

 

 
 
Наши продукты
Sample Image NNGPULIB 1.0

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

Sample Image PWNLIB 1.0

С++ Библиотека класса нейронных сетей типа “FeedForward”.

Подробнее...

Наши услуги

Распознавание и классификация

Способ распознавания и систематизации объектов с использованием нейронных сетей при на данный момент считается максимально эффективным.
Подробнее...

Системы контроля доступа

С 2009 г. посредством нашего партнера, компании УП "Техноэксклюзив" , Павлин Техно предлагает эффективные системы контроля доступа и учета рабочего времени для системных интеграторов и компаний-установщиков.
Подробнее...

Автоматизация и интеллектуальные системы

Услуге автоматизации производства и разработке интеллектуальных роботизированных систем: разработка стратегии автоматизации для Вашего предприятия, создание и внедрение разработанного по индивидуальному сценарию программного обеспечения с интеллектуальными компонентами.
Подробнее...

Программная реализация

Создание интеллектуального программного обеспечения на заказ, которое будет решать задачи именно Вашего бизнеса: начиная с выявления и формулировки задач, стоящих перед будущей программой и заканчивая обучением сотрудников, которые будут работать с ней.
Подробнее...

Вычислительные алгоритмы

Анализ ситуации, разработка математической модели, построение соответствующего вычислительного алгоритма, его тестирование и адаптация к архитектуре будущей системы, дальнейшая разработка программы для использования алгоритма.
Подробнее...
Все услуи »
Опрос
Скажите, пожалуйста, кто Вы, и почему Вы интересуетесь вопросами нейросетевых технологий и AI?