# Учебный проект, посвященный сжатию изображений при помощи нейронных сетей
Учебный проект, посвященный сжатию изображений при помощи нейронных сетей
Данный простой кодек сжимает изображения размером 128x128 при помощи свёрточных нейронных сетей, квантования и адаптивного арифметического кодирования.
Данный простой кодек сжимает изображения размером 128x128 при помощи свёрточных нейронных сетей, квантования и адаптивного арифметического кодирования.
В папке ./train/ находятся изображения, которые были использованы для обучения сети, в папке ./test/ находятся изображения для демонстрации результатов.
В папке ./train/ находятся изображения, которые были использованы для обучения сети, в папке ./test/ находятся изображения для демонстрации результатов.
3. Слой 1. Принимает \hat y_3. Свёртка 3\times 3, ReLu. На выходе \hat y_2 размером 32x32x16.
3. Слой 1. Принимает \hat y_3. Свёртка 3\times 3, ReLu. На выходе \hat y_2 размером 32x32x16.
4. Слой 2. Принимает \hat y_2. Свёртка 5\times 5, ReLu. На выходе \hat y_3 размером 64x64x32.
4. Слой 2. Принимает \hat y_2. Свёртка 5\times 5, ReLu. На выходе \hat y_3 размером 64x64x32.
4. Слой 3. Принимает \hat y_3. Свёртка 5\times 5, ReLu. На выходе изображение \hat x размером 128x128x3.
4. Слой 3. Принимает \hat y_3. Свёртка 7\times 7, ReLu. На выходе изображение \hat x размером 128x128x3.
На следующем примере показан случай, когда при обучении к вектору y_3 не прибавляется шум, соразмерный квантованию с шагом 2^3. Как можно заметить, это приводит
На следующем примере показан случай, когда при обучении к вектору y_3 не прибавляется шум, соразмерный квантованию с шагом 2^3. Как можно заметить, это приводит
к появлению артефактов.
к появлению артефактов.
...
@@ -28,6 +26,8 @@
...
@@ -28,6 +26,8 @@
артефакты устранились, что привело к тому, что данная простейшая модель выигрывает у JPEG по качеству на высоких степенях сжатия.
артефакты устранились, что привело к тому, что данная простейшая модель выигрывает у JPEG по качеству на высоких степенях сжатия.


ААК из [1] реализован на языке Си и подключается к коду как библиотека. Для сборки модуля необходимо выполнить команды, которые находятся в файле
EntropyCompile.bat
[1] Ian H. Witten, Radford M. Neal, and John G. Cleary, “Arithmetic coding for data compression,” Commun. ACM, vol. 30, no. 6, pp. 520–540, jun
[1] Ian H. Witten, Radford M. Neal, and John G. Cleary, “Arithmetic coding for data compression,” Commun. ACM, vol. 30, no. 6, pp. 520–540, jun