Технология сжатия изображений с глубоким обучением

глубокое обучение Нейронные сети модульный тест WebP

В последние годы глубокое обучение заняло доминирующее положение в области компьютерного зрения. Будь то распознавание изображений или воспроизведение в сверхвысоком разрешении, глубокое обучение стало важной технологией в исследовании изображений; теперь технология глубокого обучения вошла в область сжатия изображений. .

В этой статье вы узнаете, как разрабатывать алгоритмы сжатия изображений с использованием технологии сверточных нейронных сетей с глубоким обучением.

Текущие алгоритмы сжатия основного изображения

Когда дело доходит до алгоритмов сжатия изображений, наиболее влиятельными технологиями сжатия изображений на рынке являются:WebP и BPG

WebP: формат файла изображения, запущенный Google в 2010 году, который может обеспечивать как сжатие с потерями, так и сжатие без потерь.VP8кодировать ядро,существуетВ ноябре 2011 года могут поддерживаться функции цветопередачи без потерь и прозрачного цвета. В настоящее время Facebook, Ebay и другие веб-сайты используют этот формат изображения.

BPG:Знатьпрограммист,Форматы изображений, представленные Фабрисом Белларом, автором таких проектов, как ffmpeg и QEMU,Он использует HEVC в качестве ядра кодирования., при том же объеме размер файла BPG вдвое меньше, чем у JPEG. Кроме того, BPG также поддерживает 8-битные и 16-битные каналы и так далее. Хотя BPG имеет хороший эффект сжатия,Да, патентные сборы HEVC очень высоки., поэтому текущее использование на рынке относительно невелико.

Что касается компрессионного эффекта,BPG лучше, чем WebP, но патентные сборы, связанные с ядром HEVC, используемым BPG, делают невозможным его широкое использование на рынке. В этом случае на свет появилось применение глубокого обучения для разработки алгоритмов сжатия изображений.

Как разработать алгоритмы сжатия изображений с использованием технологии глубокого обучения

Одной из целей разработки алгоритмов сжатия с помощью технологии глубокого обучения является:Разработайте коэффициент сжатия текущих коммерческих изображенийлучшеалгоритм сжатияВ то же время с помощью технологии глубокого обучения можно разработать более лаконичные сквозные алгоритмы..В области сжатия изображений и видео,в основном используетсяМетоды глубокого обучения — это сверточные нейронные сети.(CNN).Как показано1Как показано, подобно строительным блокам, сверточная нейронная сеть состоит из таких модулей, как свертка, объединение, нелинейные функции и уровни нормализации. Конечный результат зависит от приложения, например, в области распознавания лиц, мы можем использовать его для извлечения ряда функций для представления изображения лица.,Затем выполните распознавание лиц, сравнив сходства и различия черт.


рисунок1Принципиальная схема сверточной нейронной сети

(источникhttp://blog.CSDN.net/Household register/article/details/47323463)

Сжатие изображений, разработанное с использованием глубокого обучения

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


(рисунок2 Принципиальная схема сжатия изображений с глубоким обучением)

Как оценить алгоритмы сжатия изображений

Прежде чем углубляться в технические детали, давайте взглянем на то, как оцениваются алгоритмы сжатия. Важными показателями для оценки качества алгоритма сжатия являются:три:PSNR (отношение пикового сигнала к шуму), BPP (бит на пиксель) и MS-SSIM (многомасштабный индекс SSIM).


мы знаем,Любые данные хранятся в виде битов в компьютере, и чем больше требуется битов, тем больше места для хранения занимает.PSNR используется для оценки качества восстановления изображения после декодирования, BPP используется для представления количества битов, занимаемых каждым пикселем изображения, значение MS-SSIM используется для измерения субъективного качества изображения,Простойзав то жеPSNR по тарифу / BPPвыше,Чем выше качество восстановления,Чем выше MS-SSIM, тем лучше субъективный опыт.

Например, предположим, что длина и ширина равныРазмер изображения 768 * 512 составляет 1 М, и оно кодируется с помощью технологии глубокого обучения. После прохождения через сеть кодирования генерируются сжатые данные признаков, включая 96 * 64 * 192 единиц данных. Если это означает, что каждая единица данных должна потреблять в среднем 1 бит, тогда для кодирования всего изображения требуется 96*64*192 бита. После сжатия количество битов, необходимых для кодирования каждого пикселя, составляет (96*64*192)/(768*512)=3, поэтому значение BPP равно 3 бит/пиксель, а коэффициент сжатия равен 24:3=8: 1. Это означает, что изображение размером 1 МБ после сжатия должно занимать всего 0,125 М. Другими словами, место, где раньше можно было разместить только 1 фотографию, теперь можно разместить на 8.

Как сделать сжатие с помощью глубокого обучения

Когда дело доходит до того, как использовать глубокое обучение для сжатия, давайте прямо сейчас воспользуемся примером. один размерТрехканальное изображение размером 768*512 отправляется в сеть кодирования, и после прямой обработки будут получены признаки сжатия, занимающие 96*64*192 единицы данных. Читатели со знанием компьютера могут подумать, что в этот блок данных можно поместить число с плавающей запятой.,целое число,или двоичные числа. Итак, какой тип данных следует вводить? С точки зрения восстановления изображения и принципа нейронной сети, если все сжатые данные признаков представляют собой числа с плавающей запятой, качество восстановленного изображения будет самым высоким. но число с плавающей запятой занимает32 бита,в соответствии сКоличество битов, упомянутое ранееФормула расчетаза(96*64*192*32)/(768*512)=96, после сжатия количество бит, занимаемых каждым пикселем, меняется с 24 на 96. Вместо сжатия увеличивается, это плохой результат.
Очевидно, что числа с плавающей запятой — не лучший выбор.
.

Чтобы разработать надежный алгоритм, мы используем метод, называемый
количественно
Его цель состоит в том, чтобы преобразовать числа с плавающей запятой в целые или двоичные числа.Самая простая операция - удалить десятичные знаки после числа с плавающей запятой.После того, как число с плавающей запятой становится целым, оно занимает только8 бит, это означает, что каждый пиксель занимает 24 бита. Соответственно, на стороне декодирования можно использовать
обратное квантование
Технология восстанавливает преобразованные данные признаков в числа с плавающей запятой, например, добавляя случайное десятичное число к целому числу, что может в определенной степени уменьшить влияние квантования на точность нейронной сети, тем самым улучшая качество восстановленного изображения. .

Даже если все данные в сжатом объекте занимают1 бит, но степень сжатия 8:1 — не очень идеальный результат, на наш взгляд. Как еще оптимизировать алгоритм? Давайте посмотрим на формулу расчета BPP. Предполагая, что каждый сжатый элемент данных объекта занимает 1 бит, формула может быть записана как: (96*64*192*1)/(768*512)=3, а результат вычисления равен 3 бит/пиксель. сжатие, Чем меньше BPP, тем лучше. В этой формуле знаменатель определяется изображением, часть, которую можно настроить, находится в числителе, а три числа 96, 64 и 192 в числителе связаны со структурой сети. Очевидно, что когда мы разработаем лучшую структуру сети, эти три числа станут меньше.

Тот1 К каким модулям относятся?1 означает, что каждый сжатый блок данных признаков занимает в среднем 1 бит, квантование повлияет на это число, но это не единственный влияющий фактор, он также связан с контролем скорости и энтропийным кодированием. Целью управления скоростью является обеспечение качества восстановления изображения в соответствии с предпосылкой,Пусть распределение данных в блоке сжатых признаковых данных будет максимально концентрированным, а диапазон значений встречаемости должен быть как можно меньше, так что мы можем еще больше уменьшить значение 1 с помощью технологии энтропийного кодирования, а степень сжатия изображения будет еще больше улучшена.

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

Преимущества сжатия изображений с глубоким обучением

Сжатие изображений, разработанное Tuya Technology с помощью технологии глубокого обучения ——TNG превзошел WebP и BPG во внутренних тестах.На следующем рисунке показаны результаты оценки стандартного набора данных kodak24, которые представляют собой значение PSNR и значение MS-SSIM соответственно.



рисунок3рисунок4существуетРезультаты оценки стандартного набора данных kodak24, верхнее изображение — результат PSNR, а нижнее изображение — результат MS-SSIM.

Друзья, знакомые со сжатием изображений, могут напрямую передатьЗначения PSNR и MS-SSIM видны как:ТНГиз Значение PSNR и значение MS-SSIM значительно выше, чем WebP, jpeg2000 и jpeg, а TNG имеет более высокое значение PSNR, чем BPG в случае высокого кодового слова, а его значение MS-SSIM в основном выше, чем BPG.


Сравнение эффектов сжатия TNG и WebP в случае низких кодовых слов


рисунок5 Рисунок 6В случае младших кодовых словСравнение эффектов сжатия TNG и WebP,рисунок5 TNG, рис. 6 WebP

по сравнению с Хотя TNG и WebP сохраняют больше деталей, они имеют больше искажений, что не способствует пост-восстановлению.TNG использует метод фильтрации с сохранением границ, чтобы уменьшить искажения., общий эффект изображения лучше, чем WebP.


Сравнение TNG и BPG в случае старших кодовых слов


рисунок7 Рисунок 8высокийВ случае кодовых словТНГ иBPGСравнение эффекта сжатия,рисунок7 ТНГ Рисунок 8 БПГ

начальстводве стороныНа картинке случай со старшими кодовыми словами.появится BPGИскажение цвета, как показано выше;НапротивTNG в принципе не имеет такого рода искажений.Это потому чтоХотя BPG кодирует и сжимает картинкикогда этоКанал YUV кодируется и декодируется отдельно, что приводит к некоторой цветовой разнице..иTNG учитывает ситуацию всего изображения при кодировании и использует такое же кодирование, что позволяет избежать описанной выше ситуации.


Сравнение TNG и BPG в случае младших кодовых слов


Рисунок 9Рисунок 10НизкийВ случае кодовых словТНГ иBPGСравнение эффекта сжатия,рисунок9 ТНГ Рисунок 10 БПГ

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

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


Суммировать

В целом, разработка алгоритмов сжатия изображений с помощью глубокого обучения — очень перспективный, но и очень сложный метод.Технология глубокого обучения Сжатие изображенийМожетсделатьВсесуществуетвсестороннийHD-экранВремяпоколениеимеютЧетноевысокое качествоизВизуальный опыт,в то же времясуществуетигра,космосизображениеощущениеЖдатьполе,Технология сжатия изображений с глубоким обучением может помочь изображениям достичьЧетноевысокийразрешающая способность,Четноемаленькийместо хранениякосмос,Чтобы предоставить пользователям лучший визуальный опыт.

прикреплен здесьТестовая ссылка TNG: http://www.tucodec.com/picture/index Вы можете протестировать самостоятельно (рекомендуется тестировать на стороне ПК). Заинтересованные друзья также могут скачать сжатые картинки и бинарные файлы после теста, скачать и установить декодер для восстановления сжатых картинок.