以改進的端點誤差評估光流
端點誤差(End Point Errer,簡稱EPE)是一種常見的評估光流演算法表現如何的方式,它雖然簡單、有效,有時也會有無法準確描述誤差的情況,因此多年來時不時有研究者提出改良的誤差計算方式,這次要介紹的就是來自南昌航空大學於2016年發表的一篇研究,他們提出了改進的EPE計算方式並建立了一套與之搭配的benchmark用於評估光流。
關於EPE的定義及計算方式在之前的文章中介紹過了,而為了更好的理解本期要跟各位讀者介紹的論文,還需要先簡介benchmark的概念。若想評估光流,僅有誤差計算方式是不夠的,以程式碼來比喻的話,誤差計算方式就是一個函數,benchmark則代表著要如何使用這個函數,像是在呼叫函數時要填入哪些參數,這都是benchmark要決定的事。
Benchmark通常由幾個到十幾個不等的項目組成,藉由觀察演算法在各地項目的表現得出它有什麼優缺點。其中還可能包含不只一種誤差計算方式,比如EPE、標準化的EPE、AAE(Average Angular Error,平均角度誤差)可以同時被使用。Benchmark也時常包含各種不同的統計方式,比如「有多少比例的像素其光流誤差小於0.1」、「有多少比例的像素其光流誤差小於0.5」都是benchmark中常見的項目。
這篇論文中,研究者除了大家耳熟能詳的EPE外,還介紹了另一種更早以前由McCane提出的誤差計算方式,它是其中一種對EPE標準化的方式,具體如(式一):
式一 |
在式一中,下標E代表算出的光流,下標GT代表正確答案,T則是一個固定的數值。將誤差向量的長度除以答案的長度,可以得到誤差與答案之間的比例,也就是標準化。此外,還要依靠T作條件判斷,避免因為分母過小導致整個數字變超大的情況。
至於本篇的研究者則是專注於長度的部分,提出了專門評估長度方面誤差的計算方式,並建立配套的benchmark。誤差計算方式如(式二):
式二 |
NEE是Normalized Euclidean Error的縮寫,計算上相當簡單,只要把算出光流的長度和答案的長度的差除以答案的長度(做標準化)就能得到。這種方法雖然忽略了角度的誤差,不過在已知角度誤差不大的情況下,能更好的描述長度方面的誤差。
然後研究者把他們設計的benchmark與Middlebury(一種常見的benchmark)相比較,兩者皆以他們的Euclidean Error為核心,評測了五種演算法,以比較benchmark的表現,並製成(表一):(僅供參考,本文讀者可不必知道細節)
表一 |
表一中紅字標示的部分是展現出較高靈敏度的項目,可以看出兩種benchmark有相似也有相異的地方。最後他們做結論說,他們提出的方法在些情況下有著更高的靈敏度,其他情況則沒有,故無法完全取代既有的EPE和benchmark。
撰稿人:劉徹
參考資料
1. Zhang, Cong-xuan, et al. "An Improved Evaluation Method for Optical Flow of Endpoint Error." International Conference on Computer Networks and Communication Technology (CNCT 2016). Atlantis Press, 2016.
2. McCane, Brendan, et al. "On benchmarking optical flow." Computer Vision and Image Understanding 84.1 (2001): 126-143.
留言
張貼留言