汽車行業自誕生之日起,就始終與「安全」二字緊密相連。而今自動駕駛技術蓬勃發展,讓越來越多人關注行車安全。核心傳感器之一——毫米波雷達,在自動駕駛技術中扮演著舉足輕重的作用。毫米波雷達在實際應用中,當在對目標進行距離、角度測量時,往往會受到多因素影響,一旦處理不好,就會產生漏警或虛警等結果,其後果是相當嚴重的!所以,卡爾曼濾波在毫米波雷達的應用上,就扮演著至關重要的角色。
卡爾曼&卡爾曼濾波
什麼是卡爾曼濾波?卡爾曼濾波和傅立葉變換、泰勒級數一樣,都是以其發明人命名。稍微不同的是,卡爾曼是個現代人!卡爾曼是匈牙利數學家,1930年出生於匈牙利首都布達佩斯。1953和1954年於麻省理工學院分別獲得電機工程學士及碩士學位。1957年於哥倫比亞大學獲得博士學位。我們現在要了解的卡爾曼濾波器,正是源於他的論文《線性濾波與預測問題的新方法》。
講完卡爾曼,再講講濾波。本質上,濾波就是一個信號處理與變換(去除或減弱不想要的成分,增強所需成分)的過程,這個過程既可以通過硬體來實現,也可以通過軟體來實現。卡爾曼濾波屬於一種軟體濾波方法,其基本思想是以最小均方誤差為最佳估計準則,採用信號與噪聲的狀態空間模型,利用前一時刻的估計值和當前時刻的觀測值來更新對狀態變量的估計,求出當前時刻的估計值,算法根據建立的系統方程和觀測方程對需要處理的信號做出滿足最小均方誤差的估計。
卡爾曼濾波的作用,用上圖可以效果直觀體現。原本波動厲害的曲線,經過卡爾曼濾波後,我們可以得到一條平滑的曲線。卡爾曼濾波器可以估計信號的過去和當前狀態,甚至能估計將來的狀態,即使並不知道模型的確切性質。所以簡單來說,卡爾曼濾波器是一個最優化自回歸數據處理算法,而這種應用適用範圍極廣,從機器人導航、控制、各類傳感器數據融合,乃至軍事方面雷達系統及飛彈追蹤等。近年來更被應用於計算機圖像處理,例如人臉識別、圖像分割、圖像邊緣檢測等等,是一種適用範圍廣、功能強大的軟體算法!
卡爾曼濾波+車載毫米波雷達
簡單點說,卡爾曼濾波可以用於提高車載毫米波雷達目標的位置跟蹤準確性。雷達在探測到目標並記錄目標位置數據後,對數據(我們稱它為「點跡」)進行處理,將會自動形成一條航跡,並對目標下一時刻的位置進行預測。
但實際上,在對目標距離、角度進行測量時,由於地形、多徑、漫反射等等因素導致了噪聲擾動」,這種擾動就會導致點跡波動、斷點、雜點較多等情況。一旦出現這樣的情況,就會使得雷達無法準確判別目標的距離及車道信息,從而產生漏警或者虛警。這對於車載毫米波雷達來說是個嚴重的失誤,如果用於自動駕駛上技術上,將導致災難發生。
因此,卡爾曼濾波就是利用目標的動態信息,設法去掉這種擾動,得到一個關於目標位置比較準確的估計。而這個估計可以是對當前目標位置的估計(濾波),也可以是對將來位置的估計(預測),也可以是對過去位置的估計(插值或平滑)。
比如,車輛實際的運動軌跡是這樣子:
而實際車載毫米波雷達不加卡爾曼濾波算法的話,得到的數據很有可能是這個樣子:
而採用卡爾曼濾波後,將會出現如下效果:
綠色點為經過卡爾曼濾波處理後的點跡,相比較有很大改善。
結語:
看到這,是不是覺得卡爾曼濾波很神奇呢?其實,正如文章開頭所講,卡爾曼濾波應用的場景很多,車載毫米波雷達目標跟蹤只是其中一項應用場景罷了。在採用卡爾曼濾波後,可以使得目標航跡得到良好的改善,在自動駕駛技術浪潮發展越來越猛的今天,這可算得上是大大的福音了。