1. 程式人生 > >SAR變化檢測的效能指標(kappa係數)——簡化版

SAR變化檢測的效能指標(kappa係數)——簡化版

原來部落格中寫過比較複雜的一種計算kappa係數的方法,具體的細節可以看:http://blog.csdn.net/wyl1813240346/article/details/56843409。在這裡寫一下比較簡單的計算kappa係數的方法,並給出計算的程式碼。
對於變化檢測來說是一個二分類問題(變化類和非變化類),我們假設影象的總畫素為N,參考影象中未改變的畫素數量為Nu,改變的畫素的數量為Nc。於是我們將參考影象(ground truth)與用演算法產生的變化影象進行逐畫素比較。以這種方式:

  1. 若該畫素在參考影象中為變化的類別,而使用自己演算法得到變化影象中的類別為未變化類別,統計這樣的畫素個數,假設統計的數目總數為FN(有時候也用MA表示,代表漏檢數目);
  2. 若該畫素在參考影象中為未變化的類別,但是使用自己演算法得到變化影象中的類別為變化類別,統計這樣的畫素個數,假設統計的數目總數為FP(有時候也用FA表示,代表虛警數目);
  3. 若該畫素在參考影象中為變化的類別,同時使用自己演算法得到變化影象中的類別同樣為變化類別,統計這樣的畫素個數,假設統計的數目總數為TP;
  4. 若該畫素在參考影象中為未變化的類別,同樣使用自己演算法得到變化影象中的類別為未變化類別,統計這樣的畫素個數,假設統計的數目總數為TN。

於是四者的關係為:

Nu=FP+TN
Nc=FN+TP
為了進一步評估結果,總誤差(OE)用作顯示總體效能的標準。 其定義如等式所示:
OE=F
N+FP

但是使用總誤差OE來衡量整體的效能不是很精確。實際上,在分類域中,經常使用Kappa係數作為衡量指標。Kappa的值越高,結果越好。 Kappa係數可以由下式計算:
Kappa=PRAPRE1PRE
其中,
PRA=TP+TNN
PRE=(TP+FP)Nc+(FN+TN)NuN2
KC的值通常在0到1的範圍內。從式中可以看出KC取決於TP、TN、FN、FP四個相關的值,而OE僅取決於TP和TN總和的值。因此,KC更詳細的涉及了分類資訊,是一個更加精確的係數。

計算kappa係數的程式碼為:

function  [TN,TP,FN,FP,OE,KC]=Kappa(refImage,testImage)
% refImage:代表參考影象(即ground truth) % testImage:代表變化影象 %------------------------------------------------------------------------- if isempty(refImage) error('!!!Not exist reference map'); end %將影象轉化為列向量 RI=refImage(:);TI=testImage(:); [m,n]=size(testImage); %計算參考影象與測試影象不相同的畫素點的個數 TN = find(RI==0&TI==0);%參考影象為未變化畫素,檢測的結果也為未變化畫素,即真反例 TP = find(RI~=0&TI~=0);%參考影象為變化畫素,檢測的結果也為變化畫素,即真正例 FP = find(RI==0&TI~=0);%參考影象為未變化畫素,檢測的結果為變化畫素,即假正例 FN = find(RI~=0&TI==0);%參考影象為變化畫素,檢測結果為未變化畫素,即假反例 TN = numel(TN);TP = numel(TP);FP = numel(FP);FN = numel(FN); Nc = FN + TP;Nu = FP + TN; OE = FP + FN; PRA = (TP+TN)/(m*n); PRE = ((TP+FP)*Nc+(FN+TN)*Nu)/(m*n)^2; %計算相同的比率KC KC = (PRA-PRE)/(1-PRE);

參考文獻:
Unsupervised change detection in SAR images based on locally fitting model and semi-EM algorithm.

有什麼不對的地方歡迎指正,互相學習。

相關推薦

SAR變化檢測效能指標kappa係數——簡化

原來部落格中寫過比較複雜的一種計算kappa係數的方法,具體的細節可以看:http://blog.csdn.net/wyl1813240346/article/details/56843409。在這裡寫一下比較簡單的計算kappa係數的方法,並給出計算的程式碼。

效能指標模型評估之ROC與AUC

為什麼ROC 在前面已經介紹了mAP效能指標,用於評估模型的效能(查全&查準雙高)了。這裡為什麼還需要介紹ROC呢?他是何方妖孽? 通過前面的P-R曲線可以看出來,選取的top-N隨著N的不同,模型對查全和差準的重視程度各有不同,比如N較小時更看重“

效能指標模型評估之mAP

為什麼效能指標 用於評價模型的好壞,當然使用不同的效能指標對模型進行評價往往會有不同的結果,也就是說模型的好壞是“相對”的,什麼樣的模型好的,不僅取決於演算法和資料,還決定於任務需求。因此,選取一個合理的模型評價指標是非常有必要的。 錯誤率 &

機器學習效能指標ROC、AUC、

混淆矩陣 TP(真正樣本數): 預測是正樣本(positive),預測正確(ture)的個數,即實際是正樣本預測成正樣本的樣本數 FN(假負樣本數) TN(真負樣本數) FP(假正樣本數) ROC 橫軸:FPR(負正樣本率)=FP/(FP+TN) 即,預測錯的原本負樣本佔總體

伺服器效能指標——CPU利用率分析及問題排查

平常的工作中,在衡量伺服器的效能時,經常會涉及到幾個指標,load、cpu、mem、qps、rt等。每個指標都有其獨特的意義,很多時候在線上出現問題時,往往會伴隨著某些指標的異常。大部分情況下,在問題發生之前,某些指標就會提前有異常顯示。 在上一篇文章中,我們介紹了一個

效能測試各效能指標效能測試面試必問

一.系統吞度量要素:  一個系統的吞吐量(承壓能力)與request對CPU的消耗、外部介面、IO等等緊密關聯。單個reqeust 對CPU消耗越高,外部系統介面、IO影響速度越慢,系統吞吐能力越低,反之越高。系統吞吐量幾個重要引數:QPS(TPS)、併發數、響應時間    

伺服器效能指標——負載Load分析及問題排查

平常的工作中,在衡量伺服器的效能時,經常會涉及到幾個指標,load、cpu、mem、qps、rt等。每個指標都有其獨特的意義,很多時候在線上出現問題時,往往會伴隨著某些指標的異常。大部分情況下,在問題發生之前,某些指標就會提前有異常顯示。對於這些指標的理解和檢視、異常解決等,

【轉載】C++ 智慧指標shared_ptr/weak_ptr原始碼分析

發現一篇對C++11智慧指標分析很透徹的文章,特轉載備忘! 以下轉載自:https://blog.csdn.net/ithiker/article/details/51532484?utm_source=blogxgwz1   C++11目前已經引入了unique_ptr, shared_pt

Unity NavMesh尋路檢測的bug或者特性,爬坡卡住問題。(角色高度和網格高度不一致造成

Unity專案,由於人物移動時一般用搖桿或者方向鍵控制, 需要有八方向方式控制朝向,  所以沒有用 NavMesh Agent, 而是自己控制人物方向移動,然後貼合地面。 用了NavMesh.CalculatePath只是用於目標點的尋路, 尋找出路經後自己計算實現移動。

C程式設計--指標swap函式

swap()函式 方法一:指標法 實參:&a 形參:*x #include<stdio.h> void MySwap(int *x,int *y); int main(){ int a=5,b=9; printf("交換前:a=%d,b=

初夏小談:野指標隱形殺手:幹翻了多少英雄漢乾貨!!!

前言: 如果學習了C語言,沒有好好研究記憶體管理的話,恐怕C語言還是很模糊吧,當我跟著學校老師的步伐學完C語言之後,我可以說是和小白沒什麼兩樣。不是說老師教的不好,只是C語言真的太經典了。如果對它沒有精心的去好好研究,那真的入門都不算。當我第一次學完C語言時,感覺腦子很亂,傻傻地連指標

轉載準確率accuracy,精確率Precision,召回率Recall和綜合評價指標F1-Measure -絕對讓你完全搞懂這些概念

自然語言處理(ML),機器學習(NLP),資訊檢索(IR)等領域,評估(evaluation)是一個必要的工作,而其評價指標往往有如下幾點:準確率(accuracy),精確率(Precision),召回率(Recall)和F1-Measure。 本文將簡單介紹其中幾個概念。中文中這幾個評價指標翻譯各有不同,

SQL效能優化不斷總結

1.查詢的模糊匹配      儘量避免在一個複雜查詢裡面使用 LIKE '%parm1%'—— 紅色標識位置的百分號會導致相關列的索引無法使用,最好不要用. 解決辦法: 其實只需要對該指令碼略做改進,查詢速度便會提高近百倍。改進方法如下:  &nbs

Android ConstraintLayout完全解析和效能分析章節二

這篇文章是基於Android ConstraintLayout完全解析和效能分析(章節一)基礎上對屬性的深入詳解,如果之前對Android ConstraintLayout不瞭解或者不會使用的,請檢視章節一的內容。若是有一定的瞭解,想深入對ConstraintLayout屬性的瞭解及效能的分

Android ConstraintLayout完全解析和效能分析章節一

一、說在前面的話 在這裡預祝大家2019年:豬事順利,青春永豬,豬圓玉潤,豬籠入水—八面來財 對於這個已經出現了兩年的新佈局ConstraintLayout,之前只是作為知識瞭解並未在真正的使用它,今天讓我們來從幾個方面解讀ConstraintLayout並對它的效能做細緻化分析。

轉:讓opencv輸出人臉檢測的得分置信率

讓opencv輸出人臉檢測的得分(置信率) 最近專案略多,其中一個需要找出一些和臉比較像但是不是臉的負樣本,想用opencv的人臉檢測器檢測到的錯誤臉作為這樣的負樣本。 但是國內(包括國外)居然幾乎沒有相關的資料如何輸出detectMultiScale()

實現智慧指標Smart Pointer

#ifndef SMARTPTR_H_ #define SMARTPTR_H_ template<typename T> struct SmartPtr { explicit Smart

準確率Precision、召回率Recall以及綜合評價指標F1-Measure

在資訊檢索和自然語言處理中經常會使用這些引數,下面簡單介紹如下: 準確率與召回率(Precision & Recall) 我們先看下面這張圖來加深對概念的理解,然後再具體分析。其中,用P代表Precision,R代表Recall 一般來說,Pre

Yolo目標檢測和識別第二課

引用地址: 承接上一章 由於上一章修改Makefile中的OPENCV=1重新make卻一直報錯,因此一直在網上查詢解決方案。最後重灌了opencv,並且嘗試了這個網站給出的解決方案,依然不能重新得到darknet的檔案(因為只有得到了這個檔案才算是make成

C++拾趣——STL容器的插入、刪除、遍歷和查詢操作效能對比ubuntu g++——遍歷和查詢

遍歷 從前往後 元素個數>15000 traversal_begin_16384_highest         表現最差的是unordered_multiset。其在遍歷到1000個左右的元素時發生較高的延時操作,然後又穩定下來。         除了