光流法 特徵點選擇

2021-08-10 05:14:40 字數 1652 閱讀 3076

klt角點檢測方法最初是用於滿足lucas-kanade光流法選擇合適特徵點的需求,lucas-kanade光流法是通過先在前後兩幀影象裡分別建立乙個固定大小視窗,然後找到讓兩個視窗間畫素強度差的平方和最小的位移。然後將視窗內畫素的移動近似為這樣的位移向量,然後實際上,一方面畫素移動並不會那麼簡單,另一方面視窗內畫素並不都是同樣的移動方式,因為這樣的近似必然會帶來誤差。而現在的問題就是如何去選擇合適的視窗,或者特徵點,從而獲得最為精確的跟蹤。klt角點檢測方法就是為了選擇乙個適合跟蹤的特徵點,它認為乙個好的特徵點的定義應當就是能被好的跟蹤。

klt角點檢測思路:

(1)畫素點的光強度函式可以由其泰勒展開式表示,g指強度梯度,d指畫素位移

(2)選擇d使視窗內偏差能量最小,即使其導數為0

故由上式,我們就可以估計出位移向量d,顯然這個估計是建立在視窗內的畫素的是平滑的,即其強度是一致的,而實際上這會在視窗內一些變化較大(如角點)的位置,造成其位移估計d偏差較大。然而可以通過迭代的方式,不斷的應用新的d值,而影象塊每次迭代都可以採用雙線性插值(獲得子畫素精確度)得到新位置。

(3)下面最為重要的是這個角點的選擇問題,這個角點是根據g矩陣的兩個特徵值來選擇的,一方面兩個特徵值不能太小,排除雜訊影響,另一方面兩個特徵值不能差別太大,說明這是角點。這裡提出了下面的公式:

這裡的閾值是為區分目標前景同背景的,在實際操作中,可以選擇影象上大約一致亮度區域的特徵值為閾值下限,而將角點或高紋理區域的特徵值視為上限,一般情況下我們取上下限的一半左右。

下圖左指影象各區域最小特徵值的直方圖,右指選擇閾值為10情況下所選擇區域。

(4)特徵點的選擇:首先將最小特徵值降序排列,優先選擇最小特徵值大的。為了防止視窗重疊,如果發生選擇的特徵點在先前選擇特徵點的視窗內,就刪除。通過上圖,我們可以發現乙個現象,在視窗內,如圖中紅色所框,角點附近,白色區域要遠比黑色區域大。

這個現象雖然對於跟蹤沒有影響,但會影響對於興趣點(角點)的定位,其主要因為是畫素在明亮區域的變化要比在黑暗區域的變化要大。

(5)通過設定實際的能量偏差函式的閾值來排除,被阻擋的點,如下圖所示,12、17等點其能量偏差函式太大,排除在特徵點序列外。

總結:klt角點檢測方法,實際上同harris方法一樣,都是計算梯度矩陣的特徵值,都認為特徵值都較大且接近的點是我們要尋找特徵點,然而klt不同的是,乙個它計算的是視窗內所以點梯度矩陣的權值和,而harris是乙個畫素點。二個就是它需要分別計算最小特徵值大小,將比較其大小來選擇特徵點,而harris並不需要具體計算特徵值,而通過矩陣跡與行列式的比值來獲得特徵值比的。

KLT光流法及其特徵點檢測方法

klt角點檢測方法最初是用於滿足lucas kanade光流法選擇合適特徵點的需求,lucas kanade光流法是通過先在前後兩幀影象裡分別建立乙個固定大小視窗,然後找到讓兩個視窗間畫素強度差的平方和最小的位移。然後將視窗內畫素的移動近似為這樣的位移向量,然後實際上,一方面畫素移動並不會那麼簡單,...

光流法詳解之一 LK光流)

lucas kanade光流演算法是一種兩幀差分的光流估計演算法。它由bruce d.lucas 和 takeo kanade提出 1 lk光流法有三個假設條件 1.亮度恆定 乙個畫素點隨著時間的變化,其亮度值 畫素灰度值 是恆定不變的。這是光流法的基本設定。所有光流法都必須滿足。2.小運動 時間的...

光流法的學習

光流法是比較經典的運動估計方法。在空間中,運動可以用運動場描述。而在乙個影象平面上,物體的運動往往是通過影象序列中不同圖象灰度分布的不同體現的。從而,空間中的運動場轉移到影象上就表示為光流場,光流場反映了影象上每一點灰度的變化趨勢。光流可以看作帶有灰度的畫素點在影象平面運動產生的瞬時速度場。下面我們...