一個深度學習模型在各種任務中的表現都須要定量的指標進行評估,纔可以進行橫向的對比比較,包含了分類、迴歸、質量評估、生成模型中經常使用的指標。算法
1 分類評測指標數據庫
圖像分類是計算機視覺中最基礎的一個任務,也是幾乎全部的基準模型進行比較的任務,從最開始比較簡單的10分類的灰度圖像手寫數字識別mnist,到後來更大一點的10分類的cifar10和100分類的cifar100,到後來的imagenet,圖像分類任務伴隨着數據庫的增加,一步一步提高到了今天的水平。如今在Imagenet這樣的超過1000萬圖像,2萬類的數據集中,計算機的圖像分類水準已經超過了人類。app
圖像分類,顧名思義就是一個模式分類問題,它的目標是將不一樣的圖像,劃分到不一樣的類別,實現最小的分類偏差,這裏只考慮單標籤分類問題,即每個圖片都有惟一的類別。ide
對於單個標籤分類的問題,評價指標主要有Accuracy,Precision,Recall,F-score,PR曲線,ROC和AUC。函數
在計算這些指標以前,先計算幾個基本指標,這些指標是基於二分類的任務,也能夠拓展到多分類:性能
標籤爲正樣本,分類爲正樣本的數目爲True Positive,簡稱TP;學習
標籤爲正樣本,分類爲負樣本的數目爲False Negative,簡稱FN;測試
標籤爲負樣本,分類爲正樣本的數目爲False Positive,簡稱FP;google
標籤爲負樣本,分類爲負樣本的數目爲True Negative,簡稱TN。3d
判別是否爲正例只須要設一個機率閾值T,預測機率大於閾值T的爲正類,小於閾值T的爲負類,默認就是0.5。若是咱們減少這個閥值T,更多的樣本會被識別爲正類,這樣能夠提升正類的召回率,但同時也會帶來更多的負類被錯分爲正類。若是增長閾值T,則正類的召回率下降,精度增長。若是是多類,好比ImageNet1000分類比賽中的1000類,預測類別就是預測機率最大的那一類。
1. 準確率Accuracy
單標籤分類任務中每個樣本都只有一個肯定的類別,預測到該類別就是分類正確,沒有預測到就是分類錯誤,所以最直觀的指標就是Accuracy,也就是準確率。
Accuracy=(TP+TN)/(TP+FP+TN+FN),表示的就是全部樣本都正確分類的機率,可使用不一樣的閾值T。
在ImageNet中使用的Accuracy指標包括Top_1 Accuracy和Top_5 Accuracy,Top_1 Accuracy就是前面計算的Accuracy。
記樣本xi的類別爲yi,類別種類爲(0,1,…,C),預測類別函數爲f,則Top-1的計算方法以下:
若是給出機率最大的5個預測類別,只要包含了真實的類別,則斷定預測正確,計算出來的指標就是Top-5。目前在ImageNet上,Top-5的指標已經超過95%,而Top-1的指標還在80%左右。
2. 精確度Precision和召回率Recall
若是隻考慮正樣本的指標,有兩個很經常使用的指標,精確度和召回率。
正樣本精確率爲:Precision=TP/(TP+FP),表示的是召回爲正樣本的樣本中,到底有多少是真正的正樣本。
正樣本召回率爲:Recall=TP/(TP+FN),表示的是有多少樣本被召回類。固然,若是對負樣本感興趣的,也能夠計算對應的精確率和召回率,這裏記得區分精確率和準確率的分別。
一般召回率越高,精確度越低,根據不一樣的值能夠繪製Recall-Precision曲線,以下圖:
橫軸就是recall,縱軸就是precision,曲線越接近右上角,說明其性能越好,能夠用該曲線與座標軸包圍的面積來定量評估,值在0~1之間。
3. F1 score
有的時候關注的不只僅是正樣本的準確率,也關心其召回率,可是又不想用Accuracy來進行衡量,一個折中的指標是採用F-score。
F1 score=2·Precision·Recall/(Precision+Recall),只有在召回率Recall和精確率Precision都高的狀況下,F1 score纔會很高,所以F1 score是一個綜合性能的指標。
4.混淆矩陣
若是對於每一類,若想知道類別之間相互誤分的狀況,查看是否有特定的類別之間相互混淆,就能夠用混淆矩陣畫出分類的詳細預測結果。對於包含多個類別的任務,混淆矩陣很清晰的反映出各種別之間的錯分機率,以下圖:
上圖表述的是一個包含20個類別的分類任務,混淆矩陣爲20*20的矩陣,其中第i行第j列,表示第i類目標被分類爲第j類的機率,越好的分類器對角線上的值更大,其餘地方應該越小。
5.ROC曲線與AUC指標
以上的準確率Accuracy,精確度Precision,召回率Recall,F1 score,混淆矩陣都只是一個單一的數值指標,若是想觀察分類算法在不一樣的參數下的表現狀況,就可使用一條曲線,即ROC曲線,全稱爲receiver operating characteristic。
ROC曲線能夠用於評價一個分類器在不一樣閾值下的表現狀況。在ROC曲線中,每一個點的橫座標是false positive rate(FPR),縱座標是true positive rate(TPR),描繪了分類器在True Positive和False Positive間的平衡,兩個指標的計算以下:
TPR=TP/(TP+FN),表明分類器預測的正類中實際正實例佔全部正實例的比例。
FPR=FP/(FP+TN),表明分類器預測的正類中實際負實例佔全部負實例的比例,FPR越大,預測正類中實際負類越多。
ROC曲線一般以下:
其中有4個關鍵的點:
點(0,0):FPR=TPR=0,分類器預測全部的樣本都爲負樣本;
點(1,1):FPR=TPR=1,分類器預測全部的樣本都爲正樣本;
點(0,1):FPR=0, TPR=1,此時FN=0且FP=0,全部的樣本都正確分類;
點(1,0):FPR=1,TPR=0,此時TP=0且TN=0,最差分類器,避開了全部正確答案。
ROC曲線相對於PR曲線有個很好的特性:
當測試集中的正負樣本的分佈變化的時候,ROC曲線可以保持不變,即對正負樣本不均衡問題不敏感。好比負樣本的數量增長到原來的10倍,TPR不受影響,FPR的各項也是成比例的增長,並不會有太大的變化。因此不均衡樣本問題一般選用ROC做爲評價標準。
ROC曲線越接近左上角,該分類器的性能越好,若一個分類器的ROC曲線徹底包住另外一個分類器,那麼能夠判斷前者的性能更好。
若是想經過兩條ROC曲線來定量評估兩個分類器的性能,就可使用AUC指標。
AUC(Area Under Curve)爲ROC曲線下的面積,它表示的就是一個機率,這個面積的數值不會大於1。隨機挑選一個正樣本以及一個負樣本,AUC表徵的就是有多大的機率,分類器會對正樣本給出的預測值高於負樣本,固然前提是正樣本的預測值的確應該高於負樣本。
6. TAR,FRR,FAR
這幾個指標在人臉驗證中被普遍使用,人臉驗證即匹配兩我的是不是同一我的,一般用特徵向量的類似度進行描述,若是類似度機率大於閾值T,則被認爲是同一我的。
TAR(True Accept Rate)表示正確接受的比例,屢次取同一我的的兩張圖像,統計該類似度值超過閾值T的比例。FRR(False Reject Rate)就是錯誤拒絕率,把相同的人的圖像當作不一樣人的了,它等於1-TAR。
與之相似,FAR(False Accept Rate)表示錯誤接受的比例,屢次取不一樣人的兩張圖像,統計該類似度值超過T的比例。
增大類似度閾值T,FAR和TAR都減少,意味着正確接受和錯誤接受的比例都下降,錯誤拒絕率FRR會增長。減少類似度閾值T,FAR和TAR都增大,正確接受的比例和錯誤接受的比例都增長,錯誤拒絕率FRR下降。
2 檢索與迴歸指標
1.IoU
IoU全稱Intersection-over-Union,即交併比,在目標檢測領域中,定義爲兩個矩形框面積的交集和並集的比值,IoU=A∩B/A∪B。
若是徹底重疊,則IoU等於1,是最理想的狀況。通常在檢測任務中,IoU大於等於0.5就認爲召回,若是設置更高的IoU閾值,則召回率降低,同時定位框也越更加精確。
在圖像分割中也會常用IoU,此時就沒必要限定爲兩個矩形框的面積。好比對於二分類的前背景分割,那麼IoU=(真實前景像素面積∩預測前景像素面積)/(真實前景像素面積∪預測前景像素面積),這一個指標,一般比直接計算每個像素的分類正確機率要低,也對錯誤分類更加敏感。
2.AP和mAP
Average Precision簡稱AP,這是一個在檢索任務和迴歸任務中常用的指標,實際等於Precision-Recall曲線下的面積,這個曲線在上一小節已經說過,下面針對目標檢測中舉出一個例子進行計算,這一個例子在網上也是普遍流傳。
假如一幅圖像,有10我的臉,檢索出來了20個目標框,每個目標框的機率以及真實的標籤以下,真實標籤的計算就用檢測框與真實標註框的IoU是否大於0.5來計算。
第一步,就是根據模型獲得機率,計算IoU獲得下面的表:
第二步,將上面的表按照機率進行排序
Precision的計算以下,以返回的top-5結果爲例:
在這個例子中,true positives就是真正的人臉,從Label一欄能夠看出,指的是id = 4,2,7,9,16,20的樣本。
前5個機率值最大的id中13,19,6是false positives。因此此時的Precision=2/5=40%,即選定了5我的臉,可是隻有兩個是對的。recall=2/6=33.3%,即總共有6我的臉,可是隻召回了2個。
在一個實際的目標檢測任務中,目標的數量不必定是5個,因此不能只經過top-5來來衡量一個模型的好壞,選定的id越多,recall就越高,precision總體上則會呈現出降低趨勢,由於排在前面的機率高的,通常更有多是真實的樣本,然後面機率低的更有多是負樣本。
令N是全部id,若是從top-1到top-N都統計一遍,獲得了對應的precision和recall,以recall爲橫座標,precision爲縱座標,則獲得了檢測中使用的precision-recall曲線,雖然總體趨勢和意義與分類任務中的precision-recall曲線相同,計算方法卻有很大差異。
PASCAL VOC 2010年提出了一個更好的指標mAP,對於樣本不均衡的類的計算更加有效。假設有N個id,其中有M個label,則取M個recall節點,從0到1按照1/M的等間距,對於每一個recall值,計算出大於該recall值的最大precision,而後對這M個precision值取平均獲得最後的AP值,mAP的計算方法不變。
AP衡量的是學出來的模型在一個類別上的好壞,mAP衡量的是學出的模型在全部類別上的好壞。
3 圖像質量評價指標
圖像在獲取,壓縮,存儲,傳輸,解壓縮,顯示,甚至打印的過程當中,都有可能受到環境的干擾形成質量降低。圖像的質量,一般跟圖像噪聲,模糊,對比度,美學等有關係。
在圖像質量評估的指標中,根據對原始無損圖像的要求,一般分爲三大類,分別是Full Reference Image Quality Assessment(FR-IQA)全參考圖像評價,Reduced Reference Image Quality Assessment(FR-IQA)半參考圖像評價,No Reference Image Quality Assessment(FR-IQA)無參考圖像評價。
Full Reference Image Quality Assessment(FR-IQA)全參考圖像評價,須要原始的高質量的圖像。常見的(FR-IQA)包括峯值信噪比PSNR,結構一致性類似因子structural similarity index measurement(SSIM),視覺信息保真度 (Visual information fidelity, VIF),視覺信噪比 (Visual signal-to-noise ratio, VSPR),最顯著失真 (Most apparent distortion, MAD)等。
Reduced Reference Image Quality Assessment(RR-IQA)半參考圖像評價,不須要原始圖像自己,可是須要一些特徵,在衛星和遙感圖像中被使用的較多。RR-IQA類方法經常在不一樣的特徵空間中使用,主要思路是對FR-IQA類評價指標進行近似。
No Reference Image Quality Assessment(NR-IQA)無參考圖像評價,徹底基於圖像自己,再也不須要原始圖。不過因爲沒有原始的圖像,須要對原始的圖像進行統計建模,同時還要兼顧人眼的視覺特徵,原本這就有必定的主觀和不肯定性。雖然研究人員提出了數十個NR-IQA指標,可是真正普遍使用的沒有幾個。另外無參考的美學質量評估也是當前比較開放的一個問題,它須要更多考慮攝影學等因素。
質量評價因子很是的多,限於篇幅僅介紹其中4個:
1.信噪比SNR與峯值信噪比PSNR
信噪比,即SNR(SIGNAL-NOISE RATIO),是信號處理領域普遍使用的定量描述指標。它原是指一個電子設備或者電子系統中信號與噪聲的比例,計量單位是dB,其計算方法是10*lg(Ps/Pn),其中Ps和Pn分別表明信號和噪聲的有效功率,也能夠換算成電壓幅值的比率關係:20*lg(Vs/Vn),Vs和Vn分別表明信號和噪聲電壓的「有效值」。
在圖像處理領域,更多的是採用峯值信噪比PSNR (Peak Signal to NoiseRatio),它是原圖像與處理圖像之間均方偏差(Mean Square Error)相對於(2^n-1)^2 的對數值,其中n是每一個採樣值的比特數,8位圖像即爲256。
PSNR越大表示失真越小,均方偏差的計算以下:
其中M,N爲圖像的行與列數,μi,j是像素灰度平均值,fi,j即像素灰度值。
下面展現了JPEG和JPEG2000算法在不一樣壓縮率下的PSNR,一般PSNR大於35的圖像質量會比較好。
2.結構一致性類似因子SSIM
PSNR從底層信噪的角度來評估圖像的質量,可是人眼對質量的評價關注的層次其實更高。根據Human visual system model,人眼觀察圖像有幾個特色:
(1)低經過濾器特性,即人眼對於太高的頻率難以分辨。(2)人眼對亮度的敏感大於對顏色的敏感。(3)對亮度的響應不是線性變換的,在平均亮度大的區域,人眼對灰度偏差不敏感。(4)邊緣和紋理敏感,有很強的局部觀察能力。
structural similarity index measurement(SSIM)是一種創建在人眼的視覺特徵基礎上的用於衡量兩幅圖像類似度的指標,結果在0~1之間。
結構類似性理論認爲天然圖像信號是高度結構化的,空域像素間有很強的相關性並蘊含着物體結構的重要信息。它沒有試圖經過累加與心理物理學簡單認知模式有關的偏差來估計圖像質量,而是直接估計兩個複雜結構信號的結構改變,並將失真建模爲亮度、對比度和結構三個不一樣因素的組合。用均值做爲亮度的估計,標準差做爲對比度的估計,協方差做爲結構類似程度的度量。
PSNR忽略了人眼對圖像不一樣區域的敏感度差別,在不一樣程度上下降了圖像質量評價結果的可靠性,而SSIM能突顯輪廓和細節等特徵信息。
SSIM具體的計算以下:首先結構信息不該該受到照明的影響,所以在計算結構信息時須要去掉亮度信息,即須要減掉圖像的均值;其次結構信息不該該受到圖像對比度的影響,所以計算結構信息時須要歸一化圖像的方差。
一般使用的計算方法以下,其中C1,C2,C3用來增長計算結果的穩定性,光度L,對比度C,結構對比度S計算以下:
ux,uy爲圖像的均值
dx,dy爲圖像的方差
d(x,y)爲圖像x,y的協方差。而圖像質量SSIM = L(x,y)^aC(x,y)^bS(x,y)^c,其中a,b,c分別用來控制三個要素的重要性,爲了計算方即可以均選擇爲1,C1,C2,C3爲比較小的數值,一般C1=(K1×L)^2, C2=(K2×L)^2,C3 = C2/2, K1 << 1, K2 << 1,L爲像素的最大值(一般爲255)。當a,b,c都等於1,C3=C2/2時,SSIM的定義式就爲:
SSIM發展出了許多的改進版本,其中較好的包括Fast SSIM,Multi-scale SSIM。
3.無參考銳化因子CPBD
上面說的這兩個,都是須要參考圖像才能進行評價的,而CPBD即cumulative probability of blur detection (CPBD),是一種無參考的圖像銳化定量指標評價因子。它是基於模糊檢測的累積機率來進行定義,是基於分類的方法。
首先要說Just-noticeable-distortion-model,簡稱JND模型,即恰可察覺失真模型,它建模人眼可以察覺的圖像底層特徵,只有超過必定的閾值纔會被察覺爲失真圖像。若是在空間域計算,通常會綜合考慮亮度,紋理等因素,好比用像素點處局部平均背景亮度值做爲亮度對比度閾值,用各個方向的梯度做爲紋理閾值。若是在變換域計算,則可使用小波係數等,這裏對其計算方法就再也不詳述。
在給定一個對比度高於JND (Just Noticeable Difference)參考的狀況下,定義JNB (Just-noticeable-blue)指標爲感知到的模糊像素的最小數目,邊緣處像素的模糊機率定義以下:
其中分子是基於局部對比度的JNB邊緣寬度,而分母是計算出的邊緣寬度。對於每一幅圖像,取子塊大小爲64×64,而後將其分爲邊緣塊與非邊緣塊,非邊緣塊不作處理。對於每個邊緣塊,計算出塊內每一個邊緣像素的寬度。當pblur<63%,該像素即做爲有效的像素,用於計算CPBD指標,定義以下:
CPBD的做者採用了高斯模糊的圖像與JPEG壓縮圖像進行實驗,代表CPBD是符合人類視覺特性的圖像質量指標,值越大,所反映出的細節越清晰,模糊性越弱。所以,能夠將此指標用於定量評判濾波後的圖像的銳化質量。
4 圖像生成評價指標
當須要評估一個生成模型的性能的時候,有2個最重要的衡量指標。
(1) 肯定性:生成模型生成的樣本必定屬於特定的類別,也就是真實的圖像,並且必需要是所訓練的圖片集,不能用人臉圖像訓練獲得了手寫數字。
(2) 多樣性:樣本應該各式各樣,若是用mnist進行訓練,在沒有條件限制的條件下,應該生成0,1,2,3…,而不是都是0,生成的各個數字也應該具備不一樣的筆觸,大小等。除此以外,還會考慮分辨率等。
1.inception score
inception score是最先的用於GAN生成的圖像多樣性評估的指標,它利用了google的inception模型來進行評估,背後的思想就完美知足上面的兩個衡量指標。
Inception圖像分類模型預測結果是一個softmax後的向量,即機率分佈p(y|x)。一個好的分類模型,該向量分佈的熵應該儘量地小,也就是樣本必須明確符合某一個類,其中的一個值很大,剩下的值很小。另外,若是把softmax後的向量組合並在一塊兒造成另外一個機率分佈p(y),爲了知足多樣性,這個分佈的熵應該是越大越好,也就是各類類別的樣本都有。
具體實現就是讓p(y|x)和p(y)之間的KL散度越大越好,連續形式的表達以下:
實際的計算就是將積分換成求和:
Inception Score是一個很是好的評價指標,它同時評估生成圖像的質量和多樣性,前段時間大火的BigGAN,就是將Inception Score提高爲原來最好模型的3倍不止。
不過Inception Score也有缺陷,由於它僅評估圖像生成模型,沒有評估生成的圖像與原始訓練圖像之間的類似度,所以雖然鼓勵模型學習了質量好,多樣性好的圖像,可是卻不能保證是咱們想要的圖像。Mode分數對其進行了改進,增長了KL散度來度量真實分佈P_r與生成分佈P_g之間的差別。
2.Kernel MMD
最大平均差別maximum mean discrepancy Kernel也是一個用於判斷兩個分佈p和q是否相同的指標。它的基本假設就是若是兩個樣本分佈類似,那麼經過尋找在樣本空間上的連續函數f,求不一樣分佈的樣本f函數的均值,計算均值的差做爲兩個分佈在f函數下的平均差別,選擇其中最大值就是MMD。
對於深度學習任務來講,能夠選擇各類預訓練模型的特徵空間,好比性能很好的ResNet。MMD方法的樣本複雜度和計算複雜度都比較低,不過是有偏的,關鍵就在於用於選擇的函數空間是否足夠豐富。
除了以上指標外,還有Wasserstein距離,Fréchet Inception距離等。