什么是圖像質量
圖片和視頻作為信息載體已經變得越來越重要,于是圖像質量的評估變成了一個廣泛又基礎的問題。
對于圖像質量有兩種定義。
定義一:不同成像系統采集,處理,儲存,壓縮,傳輸信號的準確度。
定義二:符合人眼感知的角度評價圖像質量:圖像所有視覺上重要屬性的加權混合。
定義一是從信號處理的角度,關注成像系統中信號的準確性。
定義二是從人眼視覺的角度,關注觀測者的感受,審美水平不同的觀測者,反饋的結果也不同。
那么從圖像質量的定義上,就引申出了兩種圖像質量的評測方法,客觀評價和主觀評價。
與圖像質量相關的產品,評測方式都已經從單純的客觀評價轉化為主客觀相結合的評價算法。尤其是注重觀者感受的領域,主觀評價的權重已經超過客觀評價的權重。比如手機,無人機,美顏/濾鏡等算法……
其中在手機行業鼎鼎有名的DXO mark,也是通過主客觀結合的方式進行打分。
主觀評價以人作為觀測者,最重要的優勢是能夠真實的反映人的視覺感知,要知道人類的視覺感知系統相當復雜,一部分指標甚至涉及到心理學。
客觀評價方法借助于某種數學模型,給出基于數字計算的結果??芍貜?,可量化。缺點是場景相對固定,不易對復雜場景進行打分。另外有些指標與人類視覺感知不匹配,這也是制定行業標準的協會(IEEE/ISO)成員正在改進的方向。
*本文測試方法主要應用在對成像系統的整體或部分進行評價。
客觀評價
傳統的客觀評價方式比較固定,并且需要較為嚴苛的光源與測試環境。
測試流程基本可以概括為三個部分:
拍攝圖卡(特定光源)→輸入測試軟件→測試結果
可以看到除去拍攝圖卡部分,其余兩個過程是很容易實現自動化的。
所以客觀評價的目標是用計算的方式代替人類視覺系統去觀看和認知圖像。只要通過不同的測試卡和光源組合,就可以實驗室中模擬各種環境,并且得到可信的測試結果。
目前世界上主流的測試系統有三家:imatest,DXO和Image Engineering。
三個測試系統測試覆蓋的內容基本相同,測試方法和圖卡有各自的優勢。
下面介紹一些客觀評價中常用的維度和測試方法,幫大家快速了解客觀評價是怎么進行的。
清晰度
所有用戶拿到一張照片或者看到一段視頻的時候首先看到的是照片清楚不清楚,幾乎在所有成像系統中清晰度(解析力)都是第一重要的維度。如何評價一個成像系統的解析力也是大家一直在探討的問題。常見的清晰度指標有MTF,SFR,TVline。
MTF
MTF,Modulation Transfer Function。中文為調制傳遞函數。在各個攝像頭鏡頭中經常采用MTF描述鏡頭的MTF曲線,表明鏡頭的能力。這些曲線是通過理想的測試環境下盡量減少其它系統對鏡頭的解析力的衰減的情況下測試得出的。當然,MTF也可以涵蓋對整個成像系統的解析力評價。
為了讓大家快速感知MTF是什么,舉一個大家非常熟悉的例子。下圖是視力檢測的圖卡。清晰的圖像,黑白邊界分明,模糊的圖像,黑色白色混在一起,黑色似乎變淡了。如果我們把視力的測量對應到對鏡頭解析力的測量,視力表就變成了線對,最初的MTF測量就是通過測試不同頻率的線對實現的。
線對圖的上部分為理想圖像,下半部分為模擬的實拍的圖像。
其實這個線對大家都見過,每周二沒有電視節目的時候,都會用一張圖卡代替。而這張圖卡,就包含了MTF測試內容。
MTF是通過找線對中最大亮度點和最小亮度點的對比度來計算的。
計算公式為MTF=(最大亮度-最小亮度)/(最大亮度+最小亮度)。
所以MTF的計算不會出現大于1的情況。
當我們測試了很多不同頻率下的MTF值,通過將這些值和空間頻率進行一一的對照,也就知道了在什么頻率紋理下的解析能力如何。
對于MTF的概念,講到這里相信大家有了一個初步的概念。那么MTF通常的門限是什么呢?
視力表中,當我們將將能看清E開口方向的時候,會去查對應的視力數值來表示我們的視力。MTF也是類似,MTF“看清開口”的標準一般是跌落至50%或30%,此時去查對應頻率,這個頻率越高,表明清晰度越好。
通常,會以MTF50 or MTF30會作為清晰度的指標。
指標名稱 | 描述 | 評價 |
MTF50/30 | MTF50/30是當MTF數值下降至最大值的50%/30%時,對應的頻率。 | 隨著軟件銳化程度的提高而增加;可能會產生誤導。 |
MTF50P/30P | MTF50P/30P是當MTF從峰值(MTF>1)下降至的50%/30%時,對應的頻率。 | MTF怎么又能大于1了,這個我們在SFR里面講,MTF50p這個值主要是為了降低銳化帶來的影響。 |
另外這里需要補充一點。由于圖片分辨率的限制,一個黑白線對,最少也要兩個像素才能表示,所以一個像素為0.5周期。0.5cycles/pixel即為奈奎斯特頻率。如果MTF50的頻率大于了奈奎斯特頻率,那么在實際圖像中,這個頻率的細節會出現混疊,而不是真正達到MTF=50的清晰程度。
上圖是imatest測試出來的MTF結果,細心的同學可能發現了,這個MTF的結果是通過SFR圖卡得到的。說好的線對在哪里?其實由于線對圖卡的種種缺點,(個人感覺主因是圖卡精細度要求太高)。已經被其他計算方式代替了。既然這里用到了SFR圖卡,那么我們繼續來說SFR。
SFR
SFR(Spatial Frequency Response)空間頻率響應,是用于測量隨著空間頻率的線條增加對單一影像的所造成影響。簡而言之SFR就是MTF的另外一種測試方法。這種測試方法在很大程度上精簡了測試流程。SFR的最終計算是希望得到MTF曲線。SFR的計算方法和MTF雖然不同但是在結果上是基本一致的,也就是說得到了SFR的值,就有了MTF。
圖像清晰度國際測量標準中(ISO12233),給出了五種測試圖卡。第一張TVline 直接人眼讀取。另外四種均是通過計算SFR來獲得MTF。這五張圖卡如下:
1.斜邊法
上圖中第二到第四張圖卡,都是斜邊法的計算方式。它只需要一個黑白的斜邊即可換算出約略相等于所有空間頻率下的MTF。
計算過程在ISO-12233-2014(或者2000)中有詳細的計算。流程圖如下:
其中核心的計算步驟:
SFR是通過對斜邊進行超采樣,得到一條更加細膩的黑白變換的直線(ESF)。邊緣擴展函數ESF(Edge Spread Function)。大家可以把下面的圖想象成一條線。
之所以SFR的測試圖是一張斜邊,是希望通過斜邊中的多條線進行超采樣,得到一條灰度變換更加平滑的線。這樣減少在后面進行頻域轉換之后值上的誤差。
然后通過這條直線求導,得到變化率(LSF)。然后對將這個變化率進行傅里葉變換就能得到SFR。
這里回答一個問題,為什么用斜邊法測量的MTF會大于1。
因為圖像被銳化后,超采樣得到的ESF不是平滑的,圖像的邊界會有明顯的rining現象存在。正是由于過度銳化現象,使得MTF大于1。
左側為正常圖像,右側為過度銳化對應圖像(大概30%的過度銳化)。
2.西門星圖
這個圖卡的計算方式類似線對,ISO提供了對應的公式將星圖轉換為線對。從而推導出MTF 或SFR。
這種計算方式的好處是可以看到各個方向的MTF。
并且不易被銳化影響。
3.利用NPS(噪聲功率譜)計算MTF——枯葉圖:
枯葉圖MTF,有一種叫法叫texture MTF。
用枯葉圖計算出來的MTF,與其他模式(尤其是傾斜邊緣)相比,它們受邊緣銳化的影響較小,因此可以提供紋理細節的估計值,這些估計值與感知觀察的相關性更好。
*NPS為噪聲ACF的傅里葉變換
理論公式為SF =MTF^2 *SG
SG輸入信號的NPS
SF輸出信號的NPS
TVline
TVline 就比較易于理解了,可以肉眼就可以讀數得到,并且可以直接轉換成MTF。
由于無法自動化讀數,現在基本上已經被淘汰了。
ISO文檔里的圖例:虛線以上的認為是清晰的部分,虛線以下認為模糊。
acutance —— 由MTF衍生出來的計算方式
MTF已經能夠反映清晰度的情況。但仍然存在不符合人眼感知的情況。于是ISO和IEEE兩個組織均提出了新的指標:acutance。其公式中加入了人類視覺感知的參數。
簡單來說就是兩點。
1.觀測距離和顯示器參數。
2.人眼不同頻率的細節感受不一致,對比敏感度函數CSF()。
同時通過實驗表明,當acutance超過0.8851后,大眾將無法感知清晰度的提升(實際的觀測距離不一定和標準一致,)。
*the CPIQ document defines an “objective metric” (OM= 0.8851 –acutanceforacutance= 0.8851;OM= 0 otherwise) that increases with increasing blur. It claims that perceived quality does not improve for acutance greater than 0.8851. The result of a rather complicated equation shows that a change in OM of 0.02 (2%) corresponds roughly to 1 JND.
測量清晰度,通常有兩個目標。量化清晰度且符合人眼感知,量化因銳化導致的artifact。
所以在客觀評測中我們通常選用指標如下:
SFR:
acutance
MTF50/MTF50P
overshoot/undershoot
枯葉圖:
acutance
MTF50/MTF50P
同時會將枯葉圖和SFR的MTF曲線進行比較。
噪聲
噪聲的定義:成像系統中不想要的信號響應變化。
也就是說,不應該出現在圖像里的內容,我們統統可以成為噪聲。在大多數情況下,噪聲被認為是質量下降。
噪聲的分類維度很多。
按頻率分:high/mid/low frequency noise
按顏色分:luma noise / chroma noise
按時空分:spatial noise / temporal noise
*仔細想下,這些分類其實都是為了方便后處理噪聲。
還可以按噪聲的形狀:塊狀/椒鹽噪聲。按產生原因:sensor noise, power noise。
噪聲的數學表達
噪聲通常以RMS(標準差)噪聲來衡量。測量噪聲通常需要一些帶有灰階的圖卡。以24色卡舉例。
#19~#24為白到黑灰階可以計算出圖像不同intensity的噪聲水平。
假設在計算#22色塊噪聲水平,
那么計算首先會對#22色塊取均值,之后做標準差
取均值:
μ=1/n(∑Xi) ;i =1 ,n
標準差:
σ=((1/(n-1))*(Σ(μ-Xi)2);i=1,n
噪聲的指標
SNR信噪比
由于噪聲和信號總是混在一起,如果一張圖片去除噪聲的同時也消除了信號,那么也不是優質的圖像。所以為了評判圖像的好壞,經常用SNR信噪比來表示。
剛才說我們用均勻的灰塊圖卡來測量噪聲,也就是把灰塊的均值當做理想的信號。
噪聲就是該區域的標準差。
計算所選區域的SNR = 均值/標準差
我們一般用dB表示:
所以SNR(dB)= 20 log 10(S / N)。
SNR最顯著的缺點就是容易被降噪算法作弊。一張SNR很高的圖片可能涂抹嚴重。另外相同SNR的兩張圖,噪聲感受可能差別很大。
Visual noise
SNR不能反映出觀測者的噪聲感知。相同的SNR,人眼噪聲水平感受區別巨大。
為了解決這個問題。IE在ISO15739標準中提出了Visual noise來表示人眼對噪聲的感知。
加入了三個參數。
1.觀測距離和顯示器參數。
2.人眼不同頻率的噪聲感受不一致,對比敏感度函數CSF()。
3.人眼對彩噪和亮噪感受不一致,V = σL* + 0.852 σu* + 0.323 σv*
計算流程如下:
噪聲的頻譜
在噪聲的分類中講到,有按照噪聲形態進行區分。實際上,噪聲的形態也是非常重要的噪聲指標。細碎的噪聲更容易被人眼接受,甚至在一些膠片攝影玩家眼中適當的噪聲增加了照片的質感。
下圖是三種形態的噪聲,很明顯第一張圖的噪聲更容易被人眼接受。
imatest提供在噪聲的測試中提供了噪聲的頻譜圖。有助于我們分析噪聲的頻率,可能的情況下,高頻噪聲優于低頻噪聲。
色彩
除了印刷品/機器視覺/染色等嚴格依賴色彩準確性的領域。色彩的好壞已經無法單純靠客觀數值反應,而且還出現了調調飽和度,改改濾鏡這種影響色彩準確性,反而更討喜的現象。
于是在對成像系統的客觀評價中,色彩通常不會設置嚴格的指標。主要通過主觀感受來判斷色彩好壞。
*這里需要注意,如果評價對象為圖像算法或者成像系統中的某些模塊(比如銳化,降噪,tonemapping),色彩不應發生明顯變化。
我們一般描述一個顏色,除了用相近的自然景物代替(天藍色,番茄色,橘色),還會說深淺(飽和度),明暗(明度),偏紅還是偏綠(色調)。
飽和度,明度,色調也就構成了色彩的三要素。常見的色彩空間如HSV,HSL,每一個坐標軸也分別對應了一個色彩要素。
CIE Lab中的色差計算
建立色彩空間,是為了方便的表示色彩。那么有了兩個顏色的坐標,就可以開始進行色差計算。
這時我們遇到了第一個問題,應該如何選擇色彩空間。
標準的制定者考慮了兩點。
1.色彩空間必須符合人眼視覺,能夠比較線性的色彩。
2.要在設備無關的色彩空間中進行計算,不能因為換了個顯示方式,影響色差計算。
于是CIE Lab就在這樣的需求中誕生了。L表示亮度,ab分別表示色彩分量。
當時認為CIE Lab是一個如果均勻線性空間,于是初代的色差公式就是兩個顏色在色彩空間中的歐式距離:
delta_Eab = sqrt(delta_L.^2 + delta_a.^2 + delta_b.^2);
delta_Cab = sqrt(delta_a.^2 + delta_b.^2);
其中delta E為整體色彩,deltaC 排除了亮度的影響(不計算L值)
之后色差公式在應用中逐漸被認識到一些缺點仍然存在。CIE 2000年又再次更新了標準。這次的公式更加符合人眼感知。
公式如下:
中間變量的計算過程被我省略了,只展示了最終的公式。有興趣的同學可以到附錄下載CIE 2000色差公式matlab函數。
LCH中的色彩三要素
我們在CIE Lab中已經得到了色差,能夠表示色彩準確度。
如果再細分維度,要是能把色彩三要素都測量出來就好了。所以很方便的,我們把Lab轉到LCH色彩空間。L值表示亮度,C表示chroma 飽和度,H表示色相hue。
直接相減。就得到了對應的delta Luma/Chroma/hue。
sRGB轉換到CIE Lab /LCH
sRGB是設備相關的色彩空間,為能在顯示器上正確的顯示,sRGB經過了gamma的處理。所以要把sRGB轉換成Lab,首先要抵消gamma的影響,然后轉換到XYZ色彩空間,再由XYZ色彩空間轉換到Lab。
X = r_gamma * 0.4124564 + g_gamma * 0.3575761 + b_gamma * 0.1804375
Y = r_gamma * 0.2126729 + g_gamma * 0.7151522 + b_gamma * 0.0721750
Z = r_gamma * 0.0193339 + g_gamma * 0.1191920 + b_gamma * 0.9503041
Xn = 0.95047; %95.047;
Yn = 1.0; %100.0;
Zn = 1.08883; %108.883;
l = 116 * labfun(Y/Yn) - 16;
a = 500 * (labfun(X/Xn)-labfun(Y/Yn));
b = 200 * (labfun(Y/Yn)-labfun(Z/Zn));
Lab2LCH
這部分比較簡單。Lab中的L和LCH中的L值完全一樣。
c = math.sqrt(a ** 2 + b ** 2)
h = (math.atan2(b, a) * 180 / math.pi + 360) % 360
h = h * math.pi / 180
色差公式計算,RGB轉lab/LCH已經用excel做好了工具。后續文章會單獨講解并提供出來;
麥克亞當橢圓MacAdam Ellipsis
MacAdam建立了一個實驗,其中訓練有素的觀察者以大約48 cd / m 2的固定亮度觀察了兩種不同的顏色。一種顏色(“測試”顏色)是固定的,但另一種顏色可由觀察者調整,觀察者被要求調整該顏色,直到它與測試顏色匹配為止。當然,這種匹配并不是完美的,因為人眼像任何其他樂器一樣,準確性有限。MacAdam發現,觀察者進行的所有匹配在CIE 1931色度圖上都變成了橢圓形。在色度圖上的25個點進行測量,發現圖中橢圓的大小和方向根據測試顏色而有很大不同。下面的色度圖顯示了MacAdam為特定觀察者測量的這25個橢圓。
通過這個實驗,再次證明了detal E公式的一些缺點:不太符合人眼認知。
同時我們也得到了一些更重要的結論:
1.人眼對顏色的敏感性,不同顏色是不一樣的。
2.如果將這個范圍量化出來映射到Lab空間,全部以橢圓形呈現,且方向不一致。
那么如果我們想把顏色的誤差限制在一個范圍,那么這個范圍在Lab上應該是橢圓形的。下面我們一起看看DXO的客觀測試是怎么做的。
DXO色彩客觀標準
DXO的色彩測試分為三個部分,色彩準確性,白平衡,色彩均勻性。其中均勻性與硬件強相關(color shading)這里不做介紹。
色彩準確性:
在dxo測試中,色差依然被定義在Lab空間下計算。
其中整體色差為主要參考值。
Delta E<8 被認為色卡顏色與理論顏色相似
Delta E<15 被認為色卡顏色與理論顏色不同,但可接受,供應商有自己的選擇
Delta E>15 色彩還原效果很差,可能有曝光和白平衡問題
另外飽和度和色調的差異,DXO也在lab中進行表示計算。
彩度差:
色調差:
白平衡:
作為顏色保真的副產物,DxO的分析軟件提供了一種白平衡的度量方法,白平衡誤差的評估使用顏色保真度誤差平均值和最大值(灰色塊上的值),但是不包括黑色和白色。
Delta E<5 精確的白平衡
Delta E<8 正確的白平衡
Delta E<11 感知上存在錯誤,但是可以接受
Delta E >11錯誤的白平衡
另外除了delta E的標準,DXO也引入了類似麥克亞當橢圓的機制作為限制(門限沒有引用國際標準,是DXO內部經驗的積累總結)。限定了色差的方向。
報告色彩部分展示(數據為臺灣廠商2017年的旗艦機型)
曝光
曝光和色彩一樣,很難用客觀參數來定義正確的亮度。下面這兩張圖,亮度差別很大,左圖人像更優,但是白紙和衣服過曝。右圖動態范圍更好,但是人像稍暗。我們很難評價出哪幅圖片的亮度更好。亮度還原準確,不一定感受也好。
18%灰卡
首先我們來談談怎么去準確還原亮度。
假設一個物體100%漫反射可見光,那在人類的眼中該物體就應該是絕對的白色。
如果一個物體0%反射可見光,拿在人類眼中,就應該是絕對的黑色。
如果我們把絕對黑色和絕對白色還原到8bit的圖片里,那白色就是255,黑色就是0。
那中間亮度就是122。如果人眼對光線的感受也是線性的,那50%反射率的物體,就應該是中性灰。
不過通過實驗測定,18%反射率的物體,才是人眼感知上的中間亮度。
于是在客觀評價中,如果18%灰卡在圖像中正好達到顯示亮度范圍的中間值,就被認為是準確的曝光。
全局對比度和局部對比度
對比度一般能代表圖像中的明暗對比強弱。黑白對比強烈的圖片,看起來更加通透,有沖擊力。
Contrast ratio:
Global Contrast = (Lmax-Lmin)/(Lmax+Lmin)
下面兩張圖的全局對比度接近,但是感官上差異很大。是因為局部對比度的差異。
我們把一張圖分為很多小塊,分別計算每個小塊的對比度再求和平均,就是局部對比度。
動態范圍 dynamic range
通俗來講,動態范圍是用來里描述畫面中從最暗的陰影部分到最亮的高光部分的光量強度分布范圍。缺省情況下用分貝(db)表示,也可以用比特(bit)表示。例如描述一個場景說它的動態范圍很廣,意思就是說,這個場景中從陰影部分到高光部分之間的曝光數值相差很大,畫面的對比度高,層次豐富。當你拍攝一張照片的時候,實際上有兩個動態范圍是你需要考慮的:第一個是你要拍攝的場景的動態范圍,第二個是你的相機的感光元件的動態范圍。
動態范圍一般用透射式36階動態范圍卡測試。但是這張圖卡設計的太過理想,如果測試設備沒有對中性灰測光,或者一些hdr算法通過檢測過曝區域大小動態改變包圍曝光EV時,測試結果很難和主觀對應。
所以在DXO評測中,通常使用結合實景的客觀測試環境。
缺點不能量化圖片的DR,只能量化當前環境的DR。
客觀評價中,測試維度和測試方法仍然有很多局限待改進。
而且嚴重依賴實驗室場景,無法對線上視頻形成監控。只能應用在成像系統或者算法的評測中。
審核編輯 :李倩
-
成像系統
+關注
關注
2文章
195瀏覽量
13924 -
圖像質量
+關注
關注
0文章
35瀏覽量
10055
原文標題:詳解圖像質量如何評價
文章出處:【微信號:機器視覺沙龍,微信公眾號:機器視覺沙龍】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論