SSIM(Structural Similarity Index)算法是一種用於衡量圖像之間相似度的指標,它基於人類視覺系統的特性,特別是在觀察自然圖像時對結構信息的敏感度。SSIM 算法通過比較亮度、對比度和結構三個方面來評估圖像之間的相似性。該算法的計算結果在0到1之間,其中1表示兩幅圖像完全相同,而0表示它們完全不同。
SSIM 算法的計算包括以下幾個關鍵點:
亮度對比:用於衡量圖像的亮度變化。
對比度對比:用於評估圖像對比度變化的影響。
結構對比:用於度量圖像的結構相似性。
SSIM 函式具有對稱性、有界性(不超過1)和最大值唯一性(若且唯若x=y時,S=1,表示兩幅圖一樣)。在簡化的情況下,SSIM 函式可以表示為C3=C2/2。
此外,SSIM 算法還發展出了一些改進版本,如Fast SSIM和Multi-scale SSIM,這些改進版本考慮了多尺度圖像處理的需求。
在圖像處理領域,SSIM 算法不僅用於評估圖像質量,還可以用於圖像壓縮質量的判斷。例如,MS-SSIM(Multi-Scale Structural Similarity)是一種基於多尺度的SSIM 算法,它考慮了不同尺寸圖像之間的相似性。
在實現方面,Paddle 提供了基於PyTorch的快速、可微分的SSIM 和 MS-SSIM 的實現,可以通過安裝並調用 paddle_msssim 包快速實現 SSIM 和 MS-SSIM 的計算。此外,還有基於Pytorch的MS-SSIM實現,以及與SKImage、TensorFlow 和 Pytorch MS-SSIM 實現的測試對比結果。