簡介- 結構相似性指數 (SSIM)是一種感知指標,用於量化資料壓縮等處理過程或資料傳輸損耗造成的影像品質下降*。它是一種完全參考指標,需要來自同一影像擷取過程的兩張影像—一幅參考影像和一幅處理後的影像。處理後的影像通常是壓縮影像。例如,可以透過將參考影像儲存為 JPEG 格式(任意品質等級),然後再將其讀取回來獲得。 SSIM 在影片產業最為知名,但在靜態攝影領域也有廣泛的應用。任何影像均可用於 SSIM,包括Imatest測試圖案,例如「硬幣散落」或「對數 F 對比」圖案。
| *SSIM 實際上衡量的是兩張相似影像之間的感知差異 。它無法判斷哪幅影像更好:這必須透過知道哪幅是「原始」影像,哪幅影像經過了額外的處理(例如資料壓縮)來推斷。 |
與峰值訊號雜訊比 (PSNR)不同,結構相似性指數 (SSIM) 是基於影像中的可見結構。儘管 PSNR 已不再被視為影像品質下降的可靠指標,但它仍作為Imatest SSIM 模組中的一種替代測量方法。
Imatest SSIM 計算基於周旺、 Alan Bovik 、 HamidSheikh和Eero Simoncelli 的論文「影像品質評估:從誤差可見度到結構相似性」的Matlab 實現。
| Imatest影像處理模組也計算SSIM值,該模組具有SSIM模組所不具備的許多功能。例如,它可以對影像施加常見的劣化效果(雜訊、模糊、光暈等),然後應用常用的影像增強訊號處理技術(色調映射、銳利化掩模、雙邊濾波等)。 |
手術
開啟Imatest ,點選右側實用程式模組底部的SSIM按鈕,或點選實用程式(下拉式選單), SSIM 。這將開啟 SSIM 窗口,該窗口最初會顯示簡化的說明。

使用「讀取 1. 處理後的影像檔案」和「讀取 2. 參考影像檔案」按鈕讀取兩張影像進行比較。
- 它們應該源自同一來源(影像擷取),也就是說,它們應該具有相同的場景內容。但它們的處理方式可能不同。
- 必須具有相同的像素大小。
讀取兩張影像後,將顯示初始結果。此範例使用Imatest硬幣散落測試圖的圖像。您可以使用Imatest測試圖模組產生多個測試圖案的直接點陣圖影像,如下所述。

使用 Irfanview 處理後的影像以 20%(中等偏低)品質保存。
處理後的圖像檔案顯示在右上角。檔案名稱( 2.Crop_Irfan...)以深藍色顯示在影像下方偏中心的位置。該文件以 Irfanview 質量等級 20(滿分 100)保存——質量相對較低,壓縮率很高。
參考圖像檔案顯示在右上角。檔案名稱(1. Crop LX7... )以棕色 顯示在左側影像下方。請注意,SSIM 是一種對稱測量:如果將處理後的影像與參考影像互換,結果將完全相同。
SSIM 指數圖(SSIM 值隨位置變化的函數)顯示在右下角。視圖下拉選單中已選擇“顏色條(選項 II)” 。其他選項包括“無色條(灰階圖像)”和“灰階色條”。 Mathworks 對 SSIM 的描述中展示了一張灰階 SSIM 圖,但我發現它很難解讀。
處理後影像的壓縮比(以位元/像素為單位,本例為 0.126)顯示在檔案名稱下方左側。位元/像素取決於 JPEG 品質設定和影像內容(對於包含大量細節或雜訊的影像,壓縮率會降低,即壓縮比會更高)。本文件由Irfanview以 20% 的品質等級(相當低)保存,旨在說明 JPEG 的品質損失(實際上我很少使用這種壓縮等級;我通常對網站上的 JPEG 影像使用 90%)。
影像尺寸和平均 SSIM 值(針對整個影像)顯示在視窗中心附近。由於 SSIM 值可能不太為人所知,因此需要進行一些解釋。右側圖表展示了Wang、Bovik 等人論文中大量圖像的平均意見得分 (MOS) 與平均 SSIM 值 (MSSIM) 的關係。原始影像經過 2 倍下取樣以適應觀看條件。遺憾的是,作者並未詳細解釋 MOS 的含義(MOS 似乎基於大量意見,並歸一化至 100)。當 MSSIM 值低於其最大值 1 時,MOS 值會迅速下降,因此在 MSSIM = 0.9 時影像品質明顯下降。
通常需要放大才能看到影像劣化。
選項
最重要的選項是放大影像,以便更清楚地查看劣化情況。有幾種方法可以實現這一點。
縮放/裁剪
使用縮放/裁切區域(左下角淺藍色區域)中的按鈕。按鈕包括“放大 2 倍” 、 “縮小 1/2 倍”和“縮小” (查看完整圖像)。您可以使用四個方向鍵之一來設定縮放區域: < 、 > 、 ^或v 。這種方法可能略顯繁瑣:可能需要點擊多次才能精確定位到所需區域。
點擊並拖曳滑鼠選擇任意影像上的裁切區域。
| 選擇 ROI 後,您需要點擊視窗中間附近的「同步視圖」按鈕(在處理後的影像右下方)。 |
這將更新裁切後的 SSIM 計算結果。以下是一個裁剪後的圖像範例,處理後的圖像以品質 10(低品質;比上面的圖像略低)保存。
裁切後的 SSIM 結果。使用 Irfanview 處理後的影像以 10%(低)品質保存。
左側影像中可以清楚看到劣化偽影。 SSIM 在影像的平滑區域最高,這些區域的劣化程度很小;而在結構化特徵的邊界處,例如左側的Isolight LED,SSIM 值最大。
當影像放大(即裁切)時,放大區域顯示在左下角縮圖的紅色 矩形內,裁切區域的 SSIM 顯示在淺藍色縮放/裁切區域的右側。
峰值訊號雜訊比 (PSNR)
儘管我們不建議使用PSNR ( Wang-Bovik 的論文中有多個例子表明它與感知品質的相關性很差),但它仍然在某些行業領域被使用。您可以在 SSIM 模組中計算 PSNR(使用Matlab 的 PSNR 函數),只需在 SSIM 視窗底部的 SSIM/PSNR 下拉選單中進行對應的選擇即可。請注意,此選擇不會被儲存。 SSIM 模組始終預設選取 SSIM。選取 PSNR 後,右下角的影像會顯示像素差異(處理後的影像減去參考影像,並偏移中間灰階平均像素值 (127))。

請注意,PSNR 的單位是 dB(分貝)。選擇 PSNR 時, SSIM / PSN R 下拉選單會顯示為粉紅色,這樣您在需要(建議的)SSIM 計算時,就不會意外地將計算方式設為 PSNR。
直方圖
您可以使用 SSIM 視窗底部的「普通視圖/直方圖」下拉式選單,為 SSIM 或 PSNR 選擇直方圖顯示。直方圖顯示在右下角,取代 SSIM 或像素差異圖。直方圖顯示的是裁切區域(如果影像被裁切)。它會隨影像內容而變化,也就是說,裁切區域的直方圖不一定與整幅影像的直方圖相同。上圖顯示的是 Irfanview 質量為 10 的 JPEG 影像的直方圖。 JPEG 品質越低,直方圖分佈越分散。
SSIM 直方圖。與裁切後的 SSIM 結果(上圖)進行比較。
使用 Irfanview 處理後的影像以 10%(低)品質保存。
其他設定
左側「縮放/裁切」區域上方的「降採樣」下拉式選單可讓您在進行 SSIM 分析之前對影像進行降採樣(縮小尺寸)。影像降採樣後,結果更能代表低倍率下的感知劣化-例如小尺寸影像或遠距離觀看時的情況。降採樣後的影像的 SSIM 和 PSNR 值始終較高。與銳利度計算不同,SSIM 計算(目前的形式)沒有明確的觀看條件要求。添加此選單是因為Wang-Bovik在分析之前對部分影像進行了降採樣。
使用 Imatest 測試圖表建立測試圖像
您可以建立圖像,以便與 Imatest 測試圖表模組(位於「實用工具」功能表中)進行直接比較。以下是一個範例,以「散落硬幣」圖表為例,該圖表旨在測量訊號處理對紋理的影響。
區域圖是用於 SSIM 分析的幾個重要圖表設計之一。其他圖表設計包括對數頻率比較圖、西門子星圖和隨機 1/f拋擲硬幣圖。與其他圖表設計不同,區域圖沒有自己的分析模組。它之所以特別引人注目,是因為它是觀察訊號處理偽影(尤其是混疊偽影)的最壞情況影像(在上圖預覽中非常明顯,與最終影像有所不同)。
