精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

卡爾曼濾波是如何解決目標跟蹤問題的?

冬至子 ? 來源:CV研習社 ? 作者:愛做菜的煉丹師 ? 2023-07-14 11:41 ? 次閱讀

初探卡爾曼濾波的廣泛應用

卡爾曼濾波是基于線性系統的基礎上,測量方差已知的前提下,在包含一系列噪聲的觀測數據中進行系統狀態的最優估計,得到誤差最小的估計值。

眾所周知該方法經久不衰幾十年,涉及領域包括機器人導航、運動控制、傳感器融合、圖像處理等。僅在無人駕駛中,我們就多處看到它的身影,比如:

  • 感知模塊
  • 融合模塊
  • 定位模塊
  • 控制模塊

以感知中目標跟蹤為例,卡爾曼濾波可以用來預測下一時刻行人運動的最優位置,不僅可以濾除檢測帶來的虛警,還可以彌補偶發的漏檢,使目標的運動過程更加平滑。如下圖所示:從T0到T7時刻,檢測器對行人A的觀測結果大部分是良好的,但是在T3時刻出現了虛警B,此時卡爾曼濾波器會根據T3的前后時刻來判斷行人B是一個新的對象還是噪聲;在T4時刻檢測器再次失效,行人A消失了,此時卡爾曼濾波器會根據T3時刻行人A的位置來估計T4時刻A可能運動到某處作為結果。

圖片

既然線性系統是卡爾曼濾波的前提,那么為何它還能如此廣泛應用?

以車輛運動模型為例,雖然在整個運動過程中很難擬合出其運動規律,但是如果把每次運動的時間間隔都縮的很小,那么就可以近似的將車輛的運動看成勻速、勻加速、均減速等。

入門卡爾曼濾波的基本原理

卡爾曼濾波器采用遞歸的方式來解決線性問題,只需上一個時刻的估計值和當前的測量值來進行狀態估計,并使估計均方誤差最小。作為初步理解,我們只需要看下面兩個方程:

預測方程如下所示:

圖片

其中A是狀態轉移矩陣,用來表達如何將上一時刻的狀態量通過某種關系轉換成當前狀態;B是控制輸入矩陣,但是在實際應用中這一項通常為0;w表示的過程噪聲,是期望為0,方程為Q的高斯白噪聲。

觀測方程如下所示:

圖片

很多初學者會對觀測方程產生疑問,為什么它可以由狀態值和觀測誤差來表示?觀測量不是指傳感器直接輸出嗎?

其實它是對傳感器測量的模擬仿真,用真值加上誤差來表征傳感器的測量值,而H可以看成是狀態量到觀測量的一種變換關系。我們將狀態變換過程和模擬的觀測過程合起來就是下面的流程圖:

圖片

因此使用卡爾曼濾波器解決實際問題,就需要滿足兩大基本假設:

  • 需要滿足線性系統
  • 需要符合高斯分布

進階卡爾曼濾波的公式推演

卡爾曼濾波過程有五大核心公式,手擼版本如下:公式(1)(2)屬于預測過程,公式(3)(4)(5)屬于狀態更新。我們一條條來解釋這幾個公式:

圖片

圖片

上式是先驗估計的求解過程:由上一時刻的最優估計值結合控制輸入和環境噪聲來預測當前的狀態估計值。在很多時候該公式會被簡化成當前估計值等于上一時刻最優估計+噪聲,在目標跟蹤任務中BU項是可以被忽略的,A表示的是狀態轉移矩陣或者說是運動模型,如何準確的構建狀態矩陣需要用戶結合自身場景來確定。所以像EKF,UKF等并非從算法上對KF做了什么優化,而是搭建更合適的運動模型來模擬實際場景。

圖片

上式是先驗估計的協方差求解過程:由上一時刻的先驗估計協方差P和過程噪聲Q決定(推導的過程可以對公式(1)的當前估計值求取協方差即可得到)。這里我們會發現先驗估計協方差P中是包含過程噪聲Q的,所以當P越小會導致卡爾曼增益K就越小(這里需要結合卡爾曼增益K的公式一起看)。

圖片

上式是更新卡爾曼增益的過程:它其實是一個中間變量,我們在說先驗估計協方差P的時候提到,P中是包括過程噪聲Q的,那么結合該式可以發現卡爾曼增益K的調節本質上就是調節Q和R兩個噪聲值。

  • K越小越相信模型的預測估計;
  • K越大越相信傳感器中的觀測;
  • 所以K的值和傳感器精度以及環境誤差有關;

圖片

上式是最優估計的修正過程:這里Z是我們的觀測值,X相當于我們的預測值,直接拿觀測值和預測值做差,用K來決定是相信觀測值Z多一些還是相信預測值X多一些。

圖片

上式是更新后驗估計的協方差過程:主要用于下一次迭代的輸入,屬于一個中間變量,一旦P0這個初始值確定后,該值會慢慢趨于收斂(通過調Q)。算法調優時可以不用特別關注該項。

深入卡爾曼濾波的參數調優

卡爾曼濾波是一個需要手動調參的算法,在上面的介紹中我們提到最優估計值是先驗估計和觀測值之間的權衡,而這個權重是通過卡爾曼增益K進行調節的。通過K的推導公式可以發現它的大小取決于超參數Q和R。

回顧一下上一節公式中的Q和R是什么?

在卡爾曼濾波的過程中有兩種噪聲,過程噪聲和觀測噪聲:

  • 過程噪聲:外界環境引入的誤差;
  • 觀測噪聲:傳感器自身的誤差;

它們均符合正態分布,Q就是過程噪聲的方差,Q值越小表示對預測值的信任度越高,但是過小的Q也會引起系統發散;Q值越大表示對測量值的信任度就會變高。

R是觀測噪聲的方差,R值越小表示系統的初始增益大,收斂快更快,但是在穩態情況下引入過多的噪聲容易出現震蕩不收斂的現象;R值越大表示對測量值的信任度降低,響應也會隨著變慢。

另一個超參數就是P的初始值,它決定了濾波器初始的工作狀態,更準確的說就是濾波器初始的收斂速度。調大P0能夠迭代出較大的初始增益,相應的使濾波器更快的響應輸入信號的變化。

所以卡爾曼濾波調參是在P0,Q,R之間追求系統和濾波之前的收斂平衡。對于初學者而言,通常不太關心P0,只需不為0即可;而Q和R需要一點點嘗試,適當的增加/減小參數,反復迭代才能逐步收斂于一個穩定值。

實踐卡爾曼濾波的目標跟蹤

多目標跟蹤有很多方法,可以使用當前幀和之前幀中的信息做當前時刻的目標跟蹤;也可以對每一幀的預測使用所有幀中的信息尋找全局最優。

這里我們基于卡爾曼濾波算法將運動模型看似線性勻速運動來估計幀間位移,并結合匈牙利算法進行預測的外接框和檢測的外接框做數據匹配,最終選擇合適的目標外接框作為最優跟蹤BBox。應用于圖像空間需要以下幾步:

  • IoU作為前后幀間目標關聯的衡量標準;
  • 卡爾曼濾波器預測目標的當前位置;
  • 匈牙利算法進行檢測框和預測框數據關聯;

估計模型

這里我們采用卡爾曼濾波對目標的軌跡進行預測,并且使用置信度較高的跟蹤結果進行預測的修正。

數據關聯

這里我們采用帶權重的匈牙利算法,使用IoU構建的權重作為成本矩陣,當然這里的權重還可以以不同維度的特征做加權。

實驗例子

下面是一個基于C++實現的檢測+跟蹤的例子,直接原生的算法未做任何優化,所以并非工程可用,但也更能暴露算法本身的缺陷,從而加以針對性的優化策略。從視頻中我們可以看到基于卡爾曼濾波+數據關聯的跟蹤算法對獨立目標具有穩定的輸出,但是當目標較遠時或者存在遮擋的情況下,id就會發生漂移。我們可以從以下三個方面來分析:

  • 檢測角度:基于檢測的跟蹤算法,必然檢測的穩定性是關鍵,與其把重心放在跟蹤算法的優化上,不如先把目標檢測弄穩定,好在當下圖像級別的目標檢測已經達到了很高的性能,具備了模型小,推理快,精度高的優勢。
  • 數據關聯:視頻中的車輛跟蹤失效,很大一部分原因出在當前幀的檢測框和基于上一幀的預測框之間外接框匹配算法上,這里僅使用了IoU來匹配兩個框的關聯性,但是此類形態上的重合度無法解決目標被遮擋后的匹配問題,而且在遠距離處外接框較小,當目標個數較多時,很容易造成混亂。至于如何優化數據關聯算法,小伙伴們可以考慮特征級別或者多維度級聯的方式!
  • 估計模型:這里說的就是卡爾曼濾波算法了,我們用的是均速模型表針車輛的運動模型,雖然極小的時間間隔中,這種模型帶來的誤差也能接受,但是為了更好的構建運動方程,也可以考慮采用擴展卡爾曼或者無跡卡爾曼來擬合車輛的非線性運行。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2548

    文章

    50678

    瀏覽量

    752010
  • 濾波器
    +關注

    關注

    160

    文章

    7728

    瀏覽量

    177684
  • 狀態機
    +關注

    關注

    2

    文章

    492

    瀏覽量

    27478
  • 卡爾曼濾波
    +關注

    關注

    3

    文章

    162

    瀏覽量

    24635
  • C++語言
    +關注

    關注

    0

    文章

    147

    瀏覽量

    6970
收藏 人收藏

    評論

    相關推薦

    圖書分享:卡爾濾波算法的幾何解

    網上搜到一篇關于卡爾濾波算法的論文,對低維卡爾濾波算法作了幾
    發表于 06-11 15:28

    卡爾濾波有哪些應用

    卡爾濾波風力發電機中的風速估計,轉速估計甚至扭矩估計都設計到卡爾濾波,如果只是單一傳感變量的
    發表于 07-12 06:00

    卡爾濾波在被動目標跟蹤系統中的應用

    建立了雙觀測站被動跟蹤系統的非線性濾波模型,通過擴展卡爾濾波方法在該非線性模型下的具體實現步驟。分析了
    發表于 04-18 15:32 ?50次下載
    <b class='flag-5'>卡爾</b><b class='flag-5'>曼</b><b class='flag-5'>濾波</b>在被動<b class='flag-5'>目標</b><b class='flag-5'>跟蹤</b>系統中的應用

    基于卡爾濾波與Mean Shift的運動車輛跟蹤

    針對Mean Shift算法不能跟蹤快速目標跟蹤過程中窗寬的大小保持不變的特點。首先,卡爾濾波
    發表于 04-08 09:21 ?25次下載

    基于霍夫-無跡卡爾濾波目標檢測與跟蹤

    采用霍夫變換法對雷達目標進行起始,解決了機動目標的非線性強的問題,得到精確的航跡起始初值信息,并將初值信息作為無跡卡爾濾波
    發表于 08-19 17:48 ?42次下載

    卡爾濾波算法

    卡爾濾波算法
    發表于 12-17 17:22 ?52次下載

    如何使用FPGA實現純方位目標跟蹤的偽線性卡爾濾波

    偽線性卡爾濾波器廣泛應用于純方位目標跟蹤中,其遞歸性非常適合于硬件實現。結合實際項目,在對數據流進行分析的基礎上,使用xilinx公司vi
    發表于 03-10 17:13 ?15次下載

    結合卡爾濾波等的四旋翼無人機目標跟蹤算法

    結合卡爾濾波等的四旋翼無人機目標跟蹤算法
    發表于 06-23 15:00 ?24次下載

    卡爾濾波在被動目標跟蹤系統中的應用

    簡述卡爾濾波在被動目標跟蹤系統中的應用
    發表于 10-18 10:11 ?0次下載

    基于擴展卡爾濾波的機動目標航跡跟蹤

    針對高速飛行目標航跡跟蹤問題,進行了擴展卡爾濾波的曲線擬和仿真試驗研究。首先建立目標
    發表于 02-15 17:25 ?1次下載

    卡爾濾波(KF)與擴展卡爾(EKF)

    卡爾濾波是一種高效率的遞歸濾波器(自回歸濾波器), 它能夠從一系列的不完全包含噪聲的測量(英文:measurement)中,估計動態系統的
    發表于 05-10 17:51 ?3次下載

    淺析卡爾濾波

    在 飛行器姿態計算 中,卡爾濾波是最常用的姿態計算方法之一。今天就以目前的理解講以下卡爾濾波
    的頭像 發表于 06-14 10:44 ?2001次閱讀

    什么是卡爾濾波?卡爾濾波的作用是什么

    一、什么是卡爾濾波? 你可以在任何含有不確定信息的動態系統中使用卡爾濾波,對系統下一步的走向
    的頭像 發表于 08-08 09:39 ?6900次閱讀
    什么是<b class='flag-5'>卡爾</b><b class='flag-5'>曼</b><b class='flag-5'>濾波</b>?<b class='flag-5'>卡爾</b><b class='flag-5'>曼</b><b class='flag-5'>濾波</b>的作用是什么

    卡爾濾波是什么 卡爾濾波目標追蹤技術分析

    卡爾濾波以及其擴展算法能夠應用于目標狀態估計,如果這個目標是行人,那么就是行人狀態估計(或者說行人追蹤),如果這個
    的頭像 發表于 04-29 09:46 ?823次閱讀
    <b class='flag-5'>卡爾</b><b class='flag-5'>曼</b><b class='flag-5'>濾波</b>是什么 <b class='flag-5'>卡爾</b><b class='flag-5'>曼</b><b class='flag-5'>濾波</b>與<b class='flag-5'>目標</b>追蹤技術分析

    卡爾濾波器的特性及仿真

    我們前一篇關于人物識別跟蹤的文章《視頻連續目標跟蹤實現的兩種方法和示例(更新)》里講到,視頻圖像中物體的識別和跟蹤用到了卡爾
    的頭像 發表于 11-04 11:36 ?210次閱讀
    <b class='flag-5'>卡爾</b><b class='flag-5'>曼</b><b class='flag-5'>濾波</b>器的特性及仿真