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

2021-07-05 21:42:23 字數 1651 閱讀 9665

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

運動目標檢測 光流法

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!1950年gibson首先提出了光流的概念,光流 optical flow 法是空間運動物體在觀測成像面上的畫素運動的瞬時速度。物體在運動的時候,它在影象上對應點的亮度模式也在做相應的運動,這種影象亮度模式的表觀運動就是光流。光流的研究就是利用影象...

目標檢測入門 幀差法,光流法和背景減法

運動目標檢測的方法有很多種。根據背景是否複雜 攝像機是否運動等環境的不同,演算法之間也有很大的差別。其中最常用的三類方法是 幀間差分法 背景減法 光流場法。下面對這三類方法進行介紹,通過實驗結果,對它們各自的演算法效能進行分析,為進一步的目標檢測演算法研究建立良好的基礎。幀間差分法 temporal...