gabrielphilipus/NIF-Neural-Image-Format

End-to-End Learned Image Compression Codec using Deep Convolutional Neural Networks

1

stars

39

commits

Python

primary language

Aug 22, 2026

updated

github.com/gabrielphilipus/NovoModeloImagem
codec
deep-learning
image-compression
neural-networks
python

README

NIF — Neural Image Format 🚀

Python Package Pylint License: MIT PyTorch

O NIF (Neural Image Format) é um formato e codec de compressão de imagens de ponta a ponta baseado em redes neurais profundas (Learned Image Compression). Desenvolvido para superar as limitações de artefatos em blocos dos codecs legados, o NIF combina modulação contínua de taxa (FiLM Conditioning), modelagem de entropia híbrida (Channel-wise + Spatial Checkerboard), DPCM Noise Shaping no espaço latente e decodificação altamente paralela.


Principais Inovações Tecnológicas

  1. Modulação Contínua de Taxa de Bits (FiLM-Conditioned):
    • Controle contínuo de qualidade ($q \in [0.1, 1.0]$) com um único conjunto de pesos treinado, eliminando a necessidade de múltiplos modelos para diferentes qualidades.
    • Restrição Sigmoid Latent Scaling garantindo estabilidade de variância zero (Zero NaNs em imagens uniformes/planas).
  2. Noise Shaping DPCM no Espaço Latente:
    • Algoritmo de realocação de resíduo de quantização entre fatias latentes (Slices), gerando +0.42 dB de PSNR e -2.86% de redução real de tamanho (free lunch de taxa-distorção).
  3. Decodificação Paralela em Checkerboard (202 ms):
    • Modelo de entropia híbrido com predição em xadrez espacial que reduz os passos de contexto autoregressivo para apenas 2 iterações paralelas por fatia (aceleração de 10.96x sobre o autoregressivo clássico).
  4. Perda Perceptual Mascarada por Fidelidade Estrutural (SFM):
    • Combinação dinâmica de MSE, MS-SSIM e LPIPS guiada por mapa de bordas para sintetizar texturas naturais sem distorcer caracteres ou estruturas críticas.

Resultados e Benchmark Rigoroso (Dataset Kodak24)

Todos os resultados foram medidos de forma pareada nas 24 imagens do dataset Kodak24, com avaliação interpolada no mesmo bitrate (Bitrate-Matched) contra codecs industriais consolidados:

Comparação no Ponto Central ($0.80\text{ bpp}$ no Kodak24)

Codec / VarianteBitratePSNR (dB)MS-SSIMLPIPS (menor = melhor)Latência DecodePosicionamento Técnico
NIF v4 (Perceptual)0.80 bpp28.15 dB0.97960.0828~202 ms+26.4% superior ao JPEG em LPIPS
NIF Config A (Balanced)0.80 bpp28.40 dB0.98040.0953~202 msFronteira de Pareto Ótima (+15.3% LPIPS & +0.0094 SSIM vs JPEG)
NIF Config D (High-PSNR)0.80 bpp29.76 dB0.97810.1453~202 msMáximo PSNR da CNN atual (+1.61 dB vs v4)
JPEG (Padrão)0.80 bpp31.45 dB0.97100.1125~15 msLinha de Base Clássica DCT
WebP (Google)0.80 bpp33.77 dB0.97740.0901~35 msLinha de Base WebP
AVIF (AOMedia AV1)0.80 bpp34.56 dB0.98380.0736~450 msEstado da Arte da Indústria

Diagnóstico: O NIF entrega qualidade visual perceptual e integridade estrutural substancialmente superiores ao JPEG (+15% a +26% de redução de distorção LPIPS, sem blocos 8x8 visíveis) com decodificação rápida (~202 ms). Codecs ultra-pesados como o AVIF alcançam maior PSNR em decorrência de intra-predição espacial de alta complexidade.


Latência & Custo Operacional em Nuvem (AWS EC2 g4dn.xlarge)

Medição empírica de latência e projeção de custo para processamento em larga escala (1 Milhão de Imagens) na instância de referência AWS EC2 g4dn.xlarge ($0.526/hora):

ResoluçãoHardwareTempo Encode (ms)Tempo Decode (ms)Tempo Total (ms)Custo / 1 Milhão Imagens (USD)
256x256CPU375.2 ms255.6 ms630.8 ms$92.16
512x512CPU1212.7 ms880.9 ms2093.6 ms$305.90
1024x1024CPU6461.8 ms5582.9 ms12044.8 ms$1759.87
256x256GPU (CUDA)104.1 ms202.8 ms306.8 ms$44.91
512x512GPU (CUDA)114.8 ms208.7 ms323.5 ms$47.36
1024x1024GPU (CUDA)104.1 ms202.8 ms306.8 ms$44.91 (11x mais barato que CPU!)

Instalação e Uso Rápido

1. Clonar e Instalar Dependências

git clone https://github.com/gabrielphilipus/NIF-Neural-Image-Format.git
cd NIF-Neural-Image-Format
pip install -r requirements.txt

2. Compactar Imagem (.png/.jpg $\to$ .nif)

python nif_tool.py compress --checkpoint checkpoints_v4_production/nif_epoch_300.pth --input foto.png --output foto.nif --quality 0.5

3. Descompactar Imagem (.nif $\to$ .png)

python nif_tool.py decompress --checkpoint checkpoints_v4_production/nif_epoch_300.pth --input foto.nif --output foto_reconstruida.png

4. Dashboard Web Interativo (Slide-to-Compare)

Para abrir o comparador visual lado a lado no navegador:

python scripts/dashboard.py

Acesse em seu navegador: http://localhost:5000


Model Zoo & Checkpoints Pré-Treinados

Os pesos treinados dos modelos estão disponíveis para download na aba de Releases:

ModeloArquivoDescriçãoCasos de Uso Recomendados
NIF-Perceptual (v4)nif_v4_perceptual_300ep.pthTreinado por 300 épocas com LPIPS e Discriminador PatchGANRedes sociais, web, fotografia móvel e thumbnails
NIF-Balanced (Config A)nif_config_A_balanced.pthOtimizado na fronteira de Pareto (40% MSE, 40% SSIM, 20% LPIPS)Uso geral, balanceamento entre nitidez e PSNR
NIF-Fidelity (Config D)nif_config_D_fidelity.pthTreinado por 50 épocas sob MSE puroImagens técnicas, satelitais e médicas

Testes Unitários e Integração Contínua (CI)

O repositório possui uma suite de testes unitários automatizados cobrindo a integridade do compressor, estabilidade de variância zero e serialização de cabeçalhos binários:

python -m unittest discover tests

📄 Licença

Este projeto é disponibilizado sob a licença MIT.

Contributors

gabrielphilipus

39 commits

gabrielphilipus/NIF-Neural-Image-Format

End-to-End Learned Image Compression Codec using Deep Convolutional Neural Networks

1

stars

39

commits

Python

primary language

Aug 22, 2026

updated

github.com/gabrielphilipus/NovoModeloImagem
codec
deep-learning
image-compression
neural-networks
python

README

NIF — Neural Image Format 🚀

Python Package Pylint License: MIT PyTorch

O NIF (Neural Image Format) é um formato e codec de compressão de imagens de ponta a ponta baseado em redes neurais profundas (Learned Image Compression). Desenvolvido para superar as limitações de artefatos em blocos dos codecs legados, o NIF combina modulação contínua de taxa (FiLM Conditioning), modelagem de entropia híbrida (Channel-wise + Spatial Checkerboard), DPCM Noise Shaping no espaço latente e decodificação altamente paralela.


Principais Inovações Tecnológicas

  1. Modulação Contínua de Taxa de Bits (FiLM-Conditioned):
    • Controle contínuo de qualidade ($q \in [0.1, 1.0]$) com um único conjunto de pesos treinado, eliminando a necessidade de múltiplos modelos para diferentes qualidades.
    • Restrição Sigmoid Latent Scaling garantindo estabilidade de variância zero (Zero NaNs em imagens uniformes/planas).
  2. Noise Shaping DPCM no Espaço Latente:
    • Algoritmo de realocação de resíduo de quantização entre fatias latentes (Slices), gerando +0.42 dB de PSNR e -2.86% de redução real de tamanho (free lunch de taxa-distorção).
  3. Decodificação Paralela em Checkerboard (202 ms):
    • Modelo de entropia híbrido com predição em xadrez espacial que reduz os passos de contexto autoregressivo para apenas 2 iterações paralelas por fatia (aceleração de 10.96x sobre o autoregressivo clássico).
  4. Perda Perceptual Mascarada por Fidelidade Estrutural (SFM):
    • Combinação dinâmica de MSE, MS-SSIM e LPIPS guiada por mapa de bordas para sintetizar texturas naturais sem distorcer caracteres ou estruturas críticas.

Resultados e Benchmark Rigoroso (Dataset Kodak24)

Todos os resultados foram medidos de forma pareada nas 24 imagens do dataset Kodak24, com avaliação interpolada no mesmo bitrate (Bitrate-Matched) contra codecs industriais consolidados:

Comparação no Ponto Central ($0.80\text{ bpp}$ no Kodak24)

Codec / VarianteBitratePSNR (dB)MS-SSIMLPIPS (menor = melhor)Latência DecodePosicionamento Técnico
NIF v4 (Perceptual)0.80 bpp28.15 dB0.97960.0828~202 ms+26.4% superior ao JPEG em LPIPS
NIF Config A (Balanced)0.80 bpp28.40 dB0.98040.0953~202 msFronteira de Pareto Ótima (+15.3% LPIPS & +0.0094 SSIM vs JPEG)
NIF Config D (High-PSNR)0.80 bpp29.76 dB0.97810.1453~202 msMáximo PSNR da CNN atual (+1.61 dB vs v4)
JPEG (Padrão)0.80 bpp31.45 dB0.97100.1125~15 msLinha de Base Clássica DCT
WebP (Google)0.80 bpp33.77 dB0.97740.0901~35 msLinha de Base WebP
AVIF (AOMedia AV1)0.80 bpp34.56 dB0.98380.0736~450 msEstado da Arte da Indústria

Diagnóstico: O NIF entrega qualidade visual perceptual e integridade estrutural substancialmente superiores ao JPEG (+15% a +26% de redução de distorção LPIPS, sem blocos 8x8 visíveis) com decodificação rápida (~202 ms). Codecs ultra-pesados como o AVIF alcançam maior PSNR em decorrência de intra-predição espacial de alta complexidade.


Latência & Custo Operacional em Nuvem (AWS EC2 g4dn.xlarge)

Medição empírica de latência e projeção de custo para processamento em larga escala (1 Milhão de Imagens) na instância de referência AWS EC2 g4dn.xlarge ($0.526/hora):

ResoluçãoHardwareTempo Encode (ms)Tempo Decode (ms)Tempo Total (ms)Custo / 1 Milhão Imagens (USD)
256x256CPU375.2 ms255.6 ms630.8 ms$92.16
512x512CPU1212.7 ms880.9 ms2093.6 ms$305.90
1024x1024CPU6461.8 ms5582.9 ms12044.8 ms$1759.87
256x256GPU (CUDA)104.1 ms202.8 ms306.8 ms$44.91
512x512GPU (CUDA)114.8 ms208.7 ms323.5 ms$47.36
1024x1024GPU (CUDA)104.1 ms202.8 ms306.8 ms$44.91 (11x mais barato que CPU!)

Instalação e Uso Rápido

1. Clonar e Instalar Dependências

git clone https://github.com/gabrielphilipus/NIF-Neural-Image-Format.git
cd NIF-Neural-Image-Format
pip install -r requirements.txt

2. Compactar Imagem (.png/.jpg $\to$ .nif)

python nif_tool.py compress --checkpoint checkpoints_v4_production/nif_epoch_300.pth --input foto.png --output foto.nif --quality 0.5

3. Descompactar Imagem (.nif $\to$ .png)

python nif_tool.py decompress --checkpoint checkpoints_v4_production/nif_epoch_300.pth --input foto.nif --output foto_reconstruida.png

4. Dashboard Web Interativo (Slide-to-Compare)

Para abrir o comparador visual lado a lado no navegador:

python scripts/dashboard.py

Acesse em seu navegador: http://localhost:5000


Model Zoo & Checkpoints Pré-Treinados

Os pesos treinados dos modelos estão disponíveis para download na aba de Releases:

ModeloArquivoDescriçãoCasos de Uso Recomendados
NIF-Perceptual (v4)nif_v4_perceptual_300ep.pthTreinado por 300 épocas com LPIPS e Discriminador PatchGANRedes sociais, web, fotografia móvel e thumbnails
NIF-Balanced (Config A)nif_config_A_balanced.pthOtimizado na fronteira de Pareto (40% MSE, 40% SSIM, 20% LPIPS)Uso geral, balanceamento entre nitidez e PSNR
NIF-Fidelity (Config D)nif_config_D_fidelity.pthTreinado por 50 épocas sob MSE puroImagens técnicas, satelitais e médicas

Testes Unitários e Integração Contínua (CI)

O repositório possui uma suite de testes unitários automatizados cobrindo a integridade do compressor, estabilidade de variância zero e serialização de cabeçalhos binários:

python -m unittest discover tests

📄 Licença

Este projeto é disponibilizado sob a licença MIT.

Contributors

gabrielphilipus

39 commits

Languages

Python

82.1%

HTML

17.9%