# Similaridade estrutural

O índice de medida da similaridade estrutural (SSIM) é um método para prever a qualidade percebida de imagens digitais de televisão e cinema, bem como outros tipos de imagens e vídeos digitais. O SSIM é usado para medir a semelhança entre duas imagens. O índice SSIM é uma métrica de referência completa; em outras palavras, a medição ou previsão da qualidade de imagem é baseada em uma imagem inicial não comprimida ou livre de distorções como referência.
O SSIM é um modelo baseado na percepção que considera a degradação da imagem como uma "mudança percebida na informação estrutural", incorporando também fenômenos perceptuais importantes, incluindo termos de máscara de luminância e máscara de contraste. A diferença em relação a outras técnicas, como o MSE ou o PSNR, é que essas abordagens estimam "erros absolutos". A informação estrutural é a ideia de que os pixels têm fortes interdependências, especialmente quando estão espacialmente próximos. Essas dependências carregam informações importantes sobre a estrutura dos objetos na cena visual. A máscara de luminância é um fenômeno pelo qual as distorções da imagem tendem a ser menos visíveis em regiões brilhantes, enquanto a máscara de contraste é um fenômeno pelo qual as distorções se tornam menos visíveis onde há atividade significativa ou "textura" na imagem.

## História

O precursor do SSIM era chamado de Índice de Qualidade Universal (UQI), ou Índice Wang–Bovik, que foi desenvolvido por Zhou Wang e Alan Bovik em 2001. Isso evoluiu, por meio de sua colaboração com Hamid Sheikh e Eero Simoncelli, para a versão atual do SSIM, que foi publicada em abril de 2004 na IEEE Transactions on Image Processing. Além de definir o índice de qualidade SSIM, o artigo fornece um contexto geral para desenvolver e avaliar medidas de qualidade perceptual, incluindo conexões com a neurobiologia e percepção visual humana, e validação direta do índice em relação às avaliações de sujeitos humanos.
O modelo básico foi desenvolvido no Laboratório de Engenharia de Imagens e Vídeo (LIVE) na Universidade do Texas em Austin e foi posteriormente desenvolvido em conjunto com o Laboratório de Visão Computacional (LCV) na Universidade de Nova York. Variantes adicionais do modelo foram desenvolvidas no Laboratório de Computação Visual e de Imagens na Universidade de Waterloo e foram comercializadas. O SSIM posteriormente encontrou uma forte adoção na comunidade de processamento de imagem e nas indústrias de televisão e mídia social. O artigo SSIM de 2004 foi citado mais de 40.000 vezes, segundo o Google Scholar, tornando-o um dos artigos mais citados nos campos de processamento de imagem e engenharia de vídeo. Foi reconhecido com o prêmio de Melhor Artigo da IEEE Signal Processing Society em 2009. Também recebeu o Prêmio de Impacto Sustentado da IEEE Signal Processing Society em 2016, indicando um impacto incomumente alto por pelo menos 10 anos após sua publicação. Devido à sua alta adoção pela indústria de televisão, os autores do artigo original do SSIM receberam cada um um Prêmio Primetime Engineering Emmy em 2015 da Academia de Televisão.

## Algoritmo

O índice SSIM é calculado em várias janelas de uma imagem. A medida entre duas janelas $x$ e $y$ de tamanho comum $N\times N$ é: ${\hbox{SSIM}}(x,y)={\frac {(2\mu _{x}\mu _{y}+c_{1})(2\sigma _{xy}+c_{2})}{(\mu _{x}^{2}+\mu _{y}^{2}+c_{1})(\sigma _{x}^{2}+\sigma _{y}^{2}+c_{2})}}$ com:
* $\mu _{x}$ a média de amostra de pixel de $x$;
* $\mu _{y}$ a média de amostra de pixel de $y$;
* $\sigma _{x}^{2}$ a variância de $x$;
* $\sigma _{y}^{2}$ a variância de $y$;
* $\sigma _{xy}$ a covariância de $x$ e $y$;
* $c_{1}=(k_{1}L)^{2}$, $c_{2}=(k_{2}L)^{2}$ duas variáveis para estabilizar a divisão com denominador fraco;
* $L$ a faixa dinâmica dos valores de pixel (tipicamente ${\displaystyle 2^{\#bits\ per\ pixel}-1});$
* $k_{1}=0.01$ e $k_{2}=0.03$ por padrão.

### Componentes da fórmula

A fórmula SSIM é baseada em três medidas de comparação entre as amostras de $x$ e $y$: luminância ($l$), contraste ($c$) e estrutura ($s$). As funções individuais de comparação são: $l(x,y)={\frac {2\mu _{x}\mu _{y}+c_{1}}{\mu _{x}^{2}+\mu _{y}^{2}+c_{1}}}$ $c(x,y)={\frac {2\sigma _{x}\sigma _{y}+c_{2}}{\sigma _{x}^{2}+\sigma _{y}^{2}+c_{2}}}$ $s(x,y)={\frac {\sigma _{xy}+c_{3}}{\sigma _{x}\sigma _{y}+c_{3}}}$ com, além das definições acima:
* $c_{3}=c_{2}/2$
SSIM é então uma combinação ponderada dessas medidas comparativas:${\text{SSIM}}(x,y)=l(x,y)^{\alpha }\cdot c(x,y)^{\beta }\cdot s(x,y)^{\gamma }$
Definindo os pesos $\alpha ,\beta ,\gamma$ como 1, a fórmula pode ser reduzida à forma mostrada acima.

### Propriedades matemáticas

SSIM satisfaz a identidade dos indiscerníveis e propriedades de simetria, mas não a desigualdade triangular ou não-negatividade, e assim não é um espaço métrico. No entanto, sob certas condições, SSIM pode ser convertido em uma medida normalizada de erro quadrático médio, que é uma função de distância. O quadrado de tal função não é convexo, mas é localmente convexo e quase convexa, tornando SSIM um alvo viável para otimização.

### Aplicação da fórmula

Para avaliar a qualidade da imagem, esta fórmula é geralmente aplicada apenas na luma (brilho), embora também possa ser aplicada em valores de cor (por exemplo, RGB) ou valores cromáticos (por exemplo, YCbCr). O índice SSIM resultante é um valor decimal entre -1 e 1, onde 1 indica perfeita semelhança, 0 indica nenhuma semelhança e -1 indica perfeita anticorrelação. Para uma imagem, é tipicamente calculado usando uma janela gaussiana deslizante de tamanho 11x11 ou uma janela de bloco de tamanho 8×8. A janela pode ser deslocada pixel a pixel na imagem para criar um mapa de qualidade SSIM da imagem. No caso da avaliação de qualidade de vídeo, os autores propõem usar apenas um subgrupo das janelas possíveis para reduzir a complexidade do cálculo.

### Variantes
#### SSIM multiescala

Uma forma mais avançada de SSIM, chamada SSIM Multiescala (MS-SSIM) é conduzida ao longo de várias escalas por meio de um processo de múltiplos estágios de subamostragem, lembrando o processamento em múltiplas escalas no sistema de visão inicial. Foi demonstrado que ela se sai igualmente bem ou melhor que o SSIM em diferentes bancos de dados subjetivos de imagem e vídeo.

#### SSIM multi-componente

SSIM de três componentes (3-SSIM) é uma forma de SSIM que leva em consideração o fato de que o olho humano pode perceber diferenças de maneira mais precisa em regiões texturizadas ou de borda do que em regiões suaves. A métrica resultante é calculada como uma média ponderada de SSIM para três categorias de regiões: bordas, texturas e regiões suaves. O peso proposto é 0,5 para bordas, 0,25 para regiões texturizadas e suaves. Os autores mencionam que um peso de 1/0/0 (ignorando qualquer coisa além de distorções de borda) leva a resultados mais próximos das classificações subjetivas. Isso sugere que as regiões de borda desempenham um papel dominante na percepção da qualidade da imagem. Os autores do 3-SSIM também estenderam o modelo para SSIM de quatro componentes (4-SSIM). Os tipos de borda são subdivididos em bordas preservadas e alteradas por seu status de distorção. O peso proposto é 0,25 para todas as quatro componentes.

#### Dissimilaridade estrutural

A dissimilaridade estrutural (DSSIM) pode ser derivada do SSIM, embora não constitua uma função de distância, pois a desigualdade triangular nem sempre é satisfeita. ${\hbox{DSSIM}}(x,y)={\frac {1-{\hbox{SSIM}}(x,y)}{2}}$

#### Métricas de qualidade de vídeo e variantes temporais

A versão original do SSIM foi projetada para medir a qualidade de imagens estáticas. Não contém parâmetros diretamente relacionados aos efeitos temporais da percepção humana e ao julgamento humano. Uma prática comum é calcular o valor médio de SSIM sobre todos os quadros na sequência de vídeo. No entanto, foram desenvolvidas diversas variantes temporais do SSIM.

#### SSIM complexo com wavelets

A variante de transformada de wavelets complexa do SSIM (CW-SSIM) é projetada para lidar com problemas de escala, translação e rotação de imagens. Em vez de atribuir baixas pontuações a imagens nessas condições, o CW-SSIM aproveita a transformada de wavelets complexa e, portanto, fornece pontuações mais altas para tais imagens. O CW-SSIM é definido da seguinte forma: ${\text{CW-SSIM}}(c_{x},c_{y})={\bigg{\frac {2\sum _{i=1}^{N}|c_{x,i}||c_{y,i}|+K}{\sum _{i=1}^{N}|c_{x,i}|^{2}+\sum _{i=1}^{N}|c_{y,i}|^{2}+K}}{\bigg )}{\bigg{\frac {2|\sum _{i=1}^{N}c_{x,i}c_{y,i}^{|}+K}{2\sum _{i=1}^{N}|c_{x,i}c_{y,i}^{|}+K}}{\bigg )}$ Onde $c_{x}$ é a transformada de wavelets complexa do sinal $x$ e $c_{y}$ é a transformada de wavelets complexa para o sinal $y$. Além disso, $K$ é um pequeno número positivo usado para fins de estabilidade da função. Idealmente, deveria ser zero. Assim como o SSIM, o CW-SSIM tem um valor máximo de 1. O valor máximo de 1 indica que os dois sinais são perfeitamente estruturalmente semelhantes, enquanto um valor de 0 indica nenhuma semelhança estrutural.

#### SSIMPLUS

O índice SSIMPLUS é baseado no SSIM e é uma ferramenta comercialmente disponível. Ele estende as capacidades do SSIM, principalmente para aplicações de vídeo. Fornece pontuações na faixa de 0 a 100, linearmente correspondentes às classificações subjetivas humanas. Também permite adaptar as pontuações ao dispositivo de visualização pretendido, comparando vídeos em diferentes resoluções e conteúdos.
Segundo seus autores, o SSIMPLUS alcança maior precisão e maior velocidade do que outras métricas de qualidade de imagem e vídeo. No entanto, nenhuma avaliação independente do SSIMPLUS foi realizada, pois o algoritmo em si não está publicamente disponível.

#### cSSIM

Para investigar ainda mais o SSIM "discreto" padrão de uma perspectiva teórica, o SSIM "contínuo" (cSSIM) foi introduzido e estudado no contexto da interpolação por função de base radial.

### SSIMULACRA

SSIMULACRA e SSIMULACRA2 são variantes do SSIM desenvolvidas pela Cloudinary com o objetivo de se adequarem a dados de opinião subjetiva. As variantes operam no espaço de cor XYB e combinam MS-SSIM com dois tipos de mapas de erro assimétricos para blocagem/sino e suavização/desfoque, artefatos comuns de compressão. SSIMULACRA2 faz parte do libjxl, a implementação de referência do JPEG XL.

#### Outras modificações simples

A métrica de correlação cruzada r* é baseada nas métricas de variância do SSIM. É definida como r(x, y) = σ$_{xy}$σ$_x$σ$_y$ quando σ$_x$σ$_y$ ≠ 0, 1 quando ambos os desvios padrão são zero, e 0 quando apenas um é zero. Tem sido usado para analisar a resposta humana a fantasmas de contraste-detalhe. O SSIM também foi usado no gradiente de imagens, tornando-se "G-SSIM". G-SSIM é especialmente útil em imagens desfocadas. As modificações acima podem ser combinadas. Por exemplo, 4-G-r* é uma combinação de 4-SSIM, G-SSIM e r*. Isso consegue refletir a preferência de radiologistas por imagens muito melhor do que outras variantes de SSIM testadas.

## Aplicação

O SSIM tem aplicações em diversos problemas. Alguns exemplos são:
* Compressão de imagem: na compressão de imagem, informações são deliberadamente descartadas para diminuir o espaço de armazenamento de imagens e vídeos. O MSE é tipicamente usado em tais esquemas de compressão. Segundo seus autores, o uso do SSIM em vez do MSE é sugerido para produzir melhores resultados para as imagens descomprimidas.
* Restauração de imagem: a restauração de imagem concentra-se em resolver o problema $y=h*x+n$, onde $y$ é a imagem borrada que deve ser restaurada, $h$ é o kernel de desfoque, $n$ é o ruído aditivo e $x$ é a imagem original que desejamos recuperar. O filtro tradicional usado para resolver esse problema é o Filtro de Wiener. No entanto, o design do filtro de Wiener é baseado no MSE. Usar uma variante de SSIM, especificamente Stat-SSIM, é afirmado produzir resultados visuais melhores, de acordo com os autores do algoritmo.
* Reconhecimento de padrões: como o SSIM imita aspectos da percepção humana, ele pode ser usado para reconhecer padrões. Ao lidar com problemas como escalonamento, translação e rotação de imagem, os autores do algoritmo afirmam que é melhor usar CW-SSIM, que é insensível a essas variações e pode ser aplicado diretamente por correspondência de modelo sem o uso de qualquer amostra de treinamento. Como abordagens de reconhecimento de padrões baseadas em dados podem produzir melhor desempenho quando uma grande quantidade de dados está disponível para treinamento, os autores sugerem o uso de CW-SSIM em abordagens baseadas em dados.

## Comparação de desempenho

Devido à sua popularidade, o SSIM é frequentemente comparado a outras métricas, incluindo métricas mais simples como MSE e PSNR, e outras métricas de qualidade de imagem e qualidade de vídeo. O SSIM tem sido repetidamente demonstrado superar significativamente o MSE e suas derivadas em precisão, incluindo pesquisas realizadas pelos próprios autores e outros.
Um artigo de Dosselmann e Yang afirma que o desempenho do SSIM está "muito mais próximo do MSE" do que geralmente se assume. Embora eles não contestem a vantagem do SSIM sobre o MSE, afirmam uma dependência analítica e funcional entre as duas métricas. De acordo com sua pesquisa, o SSIM foi encontrado para se correlacionar tão bem quanto os métodos baseados em MSE em bancos de dados subjetivos diferentes dos bancos de dados dos criadores do SSIM. Como exemplo, eles citam Reibman e Poole, que descobriram que o MSE superou o SSIM em um banco de dados contendo vídeo com perda de pacotes. Em outro artigo, foi identificada uma ligação analítica entre PSNR e SSIM.