丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
智能駕駛 正文
發(fā)私信給新智駕
發(fā)送

1

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

本文作者: 新智駕 2017-06-24 20:31
導(dǎo)語:「用 MATLAB 設(shè)計和驗證多目標(biāo)跟蹤算法」。

雷鋒網(wǎng)按:2017 年 6 月 28 日至 6 月 29 日,「第四屆中國智能網(wǎng)聯(lián)汽車技術(shù)年會「(CICV 2017)將于上海舉辦。為提前引發(fā)行業(yè)對會議議題的思考和討論,雷鋒網(wǎng)新智駕與中國汽車工程學(xué)會合作組織公開課,邀請智能網(wǎng)聯(lián)汽車行業(yè)專家以及從業(yè)者分享相關(guān)成果和觀點。

MathWorks 今年推出自動駕駛系統(tǒng)工具箱(ADST),借助這個新的工具箱提供的一系列設(shè)計和驗證工具,能夠更快速地開發(fā)感知算法,并簡化算法的驗證工作。

本文內(nèi)容是 MathWorks 應(yīng)用工程師王鴻鈞在雷鋒網(wǎng)與中國汽車工程學(xué)會組織的公開課上的分享。由雷鋒網(wǎng)編輯與整理。

本期公開課要點:

  • 自動駕駛系統(tǒng)工具箱簡介

  • 多目標(biāo)跟蹤原理

  • 使用自動駕駛系統(tǒng)工具箱設(shè)計多目標(biāo)跟蹤算法

  • 使用基準(zhǔn)真值標(biāo)注工具分析計算結(jié)果

  • 算法的實時驗證技術(shù)

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

我們來回顧一下主動安全和自動駕駛系統(tǒng)的開發(fā)流程。

首先,我們會有一個系統(tǒng)的需求。然后,我們會在系統(tǒng)需求的基礎(chǔ)上進行感知算法與控制算法的設(shè)計。感知算法包括了圖象、雷達、GPS 以及一系列傳感器的采集、目標(biāo)檢測以及感知算法??刂扑惴ㄖ饕刂撇呗耘c控制執(zhí)行部分。

開發(fā)完算法之后,我們需要進行系統(tǒng)的集成、測試和驗證,然后自動生成代碼,最后進行代碼的測試和系統(tǒng)最終確認驗證。

傳感器融合與多目標(biāo)跟蹤的算法,其實是處于感知算法和控制算法中間的部分,對于控制工程師來說,我們需要對感知的傳感器信息進行處理,得到用于控制的輸入信息。這就是我們的工作。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

MathWorks 在最新的 2017A 版本中推出了一個全新的自動駕駛系統(tǒng)工具箱,它希望為從事自動駕駛以及主動安全系統(tǒng)設(shè)計的工程師提供一系列加速自動駕駛系統(tǒng)及主動安全系統(tǒng)開發(fā)的工具。

主要包括三方面:

第一,測試與驗證工具,包括真實值標(biāo)簽與場景生成;

第二,算法開發(fā)工具,包括傳感器融合與目標(biāo)跟蹤,和視覺系統(tǒng)設(shè)計工具;

第三,可視化工具,包括鳥瞰圖工具,以及雷達點云工具。

目標(biāo)跟蹤原理

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

什么是目標(biāo)跟蹤?要進行控制,首先必須從真實的世界采集到一定的信息,根據(jù)信息進行閉環(huán)控制。

我們要從真實的世界進行感知,感知部件包括一系列傳感器,比如雷達、視覺、激光雷達等等。然后,我們需要在感知的基礎(chǔ)上,對真實的世界進行估計。

這就是我們要介紹的目標(biāo)跟蹤等相關(guān)算法和傳感器融合。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

先介紹一些概念:

真實值指的是物體的實際運動。檢測指的是通過傳感器獲得的含有分類屬性的一系列目標(biāo)列表,檢測通常是根據(jù)時間的序列來完成的。

比如上圖右版部分 6 個時刻,我們分別檢測到了一系列目標(biāo):紅色和藍色代表車輛,綠色是行人。當(dāng)然,檢測的時候還可能出現(xiàn)一些問題,比如黑色的點就是我們沒有辦法對它進行分類的目標(biāo),黃色的點屬于虛景,但是我們在實際檢測的時候是不知道的,所以我們也把它歸類為沒有分類的目標(biāo)。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課其實從 T0 時刻一直到 T2、T3、T4、T5 時刻,我們對目標(biāo)檢測情況進行一系列分析,通過跟蹤算法對物體進行實際運動估計。

在 T0 時刻,我們成功檢測到了藍色的車輛與綠色的行人,那么我們就將它作為車輛與行人跟蹤。但是我們沒有檢測到紅色車輛,所以我們添加了兩個灰色的點進行試探性跟蹤。

在 T1 時刻,我們觀測到了紅色車輛,所以我們現(xiàn)在確認了灰色跟蹤當(dāng)中其中一個是車輛,但另一個沒有確認的跟蹤,我們把它刪除了。

T3 時刻,我們并沒有觀測到行人,但是我們通過預(yù)測,把被遮擋的行人目標(biāo)預(yù)測出來,也把它作為跟蹤的一部分。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

T4 時刻,紅色和藍色的車輛離開了觀測范圍,所以我們對離開的目標(biāo)位置也進行了預(yù)測。

最后,紅色和藍色的車輛都離開了觀測范圍,行人也穿過了馬路,于是我們完成了對這三個物體的跟蹤,我們將跟蹤從我們跟蹤的列表當(dāng)中刪除。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

如果以上介紹過于抽象,我們在 2017A 自動駕駛系統(tǒng)工具箱當(dāng)中提供了一個前向碰撞預(yù)警的 Demo。你們可以通過這個 Demo 來形象地了解到跟蹤器是如何工作的。

  

視頻當(dāng)中通過右側(cè)的鳥瞰圖可以發(fā)現(xiàn)藍色的是視覺目標(biāo),紅色是雷達目標(biāo),方塊形狀是我們跟蹤的目標(biāo)。

我們會對車輛進行檢測,然后將最近的最有可能發(fā)生碰撞的目標(biāo)作為 MIO(最重要目標(biāo)),防撞預(yù)警系統(tǒng)會對它進行監(jiān)測并進行告警。

多目標(biāo)跟蹤算法

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

現(xiàn)在我們看到的是前向碰撞預(yù)警系統(tǒng)算法的框圖,我們可以通過雷達目標(biāo)與視覺目標(biāo)進行傳感器的融合以及卡爾曼濾波完成跟蹤器的工作。

然后,我們會對跟蹤到的目標(biāo)進行威脅評估,最后得到 MIO,進行防撞預(yù)警。預(yù)警的結(jié)果還可以輸入給 AEB(自動剎車系統(tǒng))來進行控制處理。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

我們可以借助計算機視覺工具箱當(dāng)中代價矩陣的方法將雷達目標(biāo)與視覺目標(biāo)進行配對:根據(jù)配對的結(jié)果將匹配的雷達與視覺目標(biāo)進行融合。

我們可以通過以下的函數(shù)來實現(xiàn):

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

實際的跟蹤算法會通過卡爾曼濾波來實現(xiàn)??柭鼮V波的含義或者是公式可能有些人比較熟悉,它就是通過前狀態(tài)和協(xié)方差來對當(dāng)前的狀態(tài)進行預(yù)測,通過當(dāng)前的測量值去更新當(dāng)前的狀態(tài),將更新的狀態(tài)進行輸出。

在計算機視覺工具箱當(dāng)中同樣提供了卡爾曼濾波的函數(shù)。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

實際多目標(biāo)的跟蹤,遠遠比一個卡爾曼濾波器更為復(fù)雜,因為它涉及到了我們提到的傳感器融合,以及多目標(biāo)跟蹤管理,包括跟蹤的初始化、確認、預(yù)測。

比如,剛才提到的可能會有一些未確認的目標(biāo),但是我們同樣也要對這些目標(biāo)進行跟蹤。同時有些目標(biāo)會被遮擋,我們要對被遮擋的目標(biāo)進行預(yù)測。所以現(xiàn)在我們看到的就是一個完整的多目標(biāo)跟蹤器的邏輯。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

上圖,分別是目標(biāo)檢測數(shù)據(jù)需要包括的信息、目標(biāo)跟蹤數(shù)據(jù)能夠提供的信息。

這些信息包括了時間測量值、測量噪聲、傳感器編號、目標(biāo) ID、目標(biāo)屬性等等。我們最后得到的跟蹤數(shù)據(jù)包括了跟蹤的 ID、時間、年齡、狀態(tài)、協(xié)方差、確認標(biāo)志、遮擋標(biāo)志、目標(biāo)類別的 ID 以及目標(biāo)屬性(如果大家對以上的信息還有疑問的話,在我們的幫助文件里會有更詳細的描述)。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

介紹一下多目標(biāo)跟蹤器的層級,一共分為三個層級。

第一,頂層與用戶的交互界面,它同時負責(zé)分配多個檢測到多個跟蹤,進行這樣一個匹配,以及維護跟蹤的列表,進行新建或者是刪除跟蹤。

第二,對單個跟蹤來說,會處理對單個跟蹤的多個檢測,就是完成傳感器融合的算法,同時也會負責(zé)單個跟蹤的確認與刪除,以及維護跟蹤的 ID 分類等信息。

第三,跟蹤濾波器,用戶自定義的濾波器,負責(zé)處理測量產(chǎn)生的濾波器更新,以及維護濾波器的狀態(tài)和協(xié)方差。

對于非線性的擴展卡爾曼濾波或者無界卡爾曼濾波,用戶還需要定義這一時刻的狀態(tài)轉(zhuǎn)移函數(shù)與測量函數(shù),它取決于用戶對目標(biāo)模型的分析情況。

比如,目標(biāo)運動狀態(tài),是否是勻速、勻加速或者是其他運動狀態(tài)。

同時用戶還需要配置跟蹤器的其他屬性,包括確認跟蹤的閾值、被遮擋的更新次數(shù)、傳感器的數(shù)量以及最大數(shù)量的跟蹤數(shù)量等等。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

簡單介紹檢測到跟蹤的分配以及傳感器的融合是如何實現(xiàn)的。

圖一顯示的是目標(biāo)前一時刻的狀態(tài),圖二顯示的是跟蹤器對目標(biāo)當(dāng)前位置的預(yù)測,圖三是根據(jù)跟蹤器對目標(biāo)當(dāng)前位置的預(yù)測,將檢測到的一些目標(biāo)的信息分配到跟蹤的目標(biāo)。

比如,可能有雷達的測量數(shù)據(jù)、視覺的測量數(shù)據(jù),就是采用代駕矩陣的方法來進行分配的。

最后一步,進行傳感器融合的計算,獲得當(dāng)前目標(biāo)的位置,更新當(dāng)前的狀態(tài)。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

對于跟蹤的預(yù)測以及狀態(tài)更新,我們提供了三種濾波的算法,分別是:KF 線性卡爾曼濾波、EKF 擴展卡爾曼濾波、UKU 無界卡爾曼濾波。

我們預(yù)設(shè)了三種濾波器的初始化函數(shù),分別針對于勻速目標(biāo)、勻加速目標(biāo)和勻轉(zhuǎn)向速目標(biāo)。同時用戶也可以添加自定義的濾波器初始化函數(shù),這通常用于非線性的濾波器。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

對于 EKF 和 UKF 來說,用戶還需要定義它的運動函數(shù)和測量函數(shù)。同樣,我們預(yù)先設(shè)置了勻加速、勻速、勻轉(zhuǎn)向速度這三種情況,對于其他一些更復(fù)雜的情況,用戶可以根據(jù)公式添加自定義模型。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

單個跟蹤來說,有一個生命周期,一共分為三個步驟。

第一,跟蹤的初始化,我們會從從沒有分配到跟蹤的檢測創(chuàng)建一個新的跟蹤,這就說明我們檢測到了一個新的目標(biāo),同時我們會創(chuàng)建和初始化濾波器。

第二,跟蹤得到了確認,我們會將每個時刻的分配、檢測到跟蹤。通過檢測到的信息我們對跟蹤進行修正,同時跟蹤也會計算一個預(yù)測,這個就是典型的卡爾曼濾波算法。

第三,如果一段時間內(nèi)沒有觀測到跟蹤目標(biāo),那么我們會判斷是否刪除這個跟蹤,經(jīng)過一個閾值,如果在閾值的范圍之外,還是沒有觀測到跟蹤,那么我們將其刪除。

對于非線性濾波器來說,我們還會定期地修正它的測量函數(shù)與狀態(tài)轉(zhuǎn)移函數(shù)。

這是一個行人目標(biāo)跟蹤的案例,我們從案例中可以很清晰地看到一個跟蹤的生命周期:它是如何被初始化和如何確認的,在被遮擋的時候如何進行預(yù)測以及最后如何進行刪除。

真實值標(biāo)簽工具

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

我們在自動駕駛系統(tǒng)工具箱當(dāng)中還提供了很多其他的工具,包括了一系列的算法驗證工具,比如說真實值標(biāo)簽工具。

在 2012 版本的 Matlab2012B 之后,有一個 APP 的功能:提供了一系列的應(yīng)用程序,這包括了我們在自動駕駛系統(tǒng)工具箱當(dāng)中提供的真實值標(biāo)簽應(yīng)用程序。

如上述右圖所示,我們可以通過這個工具,在一段視頻當(dāng)中添加真實值的標(biāo)簽,將目標(biāo)通過標(biāo)簽的形式記錄下來,可以使用矩形的目標(biāo)或者是直線的目標(biāo)。

右圖中,我們使用真實值標(biāo)簽標(biāo)記了卡車、汽車、交通指示牌、車道線等等。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

按通常理解,真實值標(biāo)簽一般是用來訓(xùn)練目標(biāo)檢測的算法以及評估目標(biāo)檢測的算法。在這里,我們還可以通過真實值標(biāo)簽的工具,去驗證、跟蹤和控制算法。

我們可以通過真實值標(biāo)簽去對視頻進行處理,人工產(chǎn)生一些視覺目標(biāo),通過采集的記錄的或者是實驗室產(chǎn)生的雷達目標(biāo)對它進行融合,通過多目標(biāo)跟蹤器與控制算法對整個系統(tǒng)的功能進行一個仿真工作。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

使用真實值標(biāo)簽工具添加真實值標(biāo)簽的方法共分為五個步驟:

第一,載入視頻。

第二,定義標(biāo)簽的類型。比如,我們可以定義車輛、車道線等目標(biāo),定義環(huán)境,比如說天氣等全局的標(biāo)簽。

第三,通過時間軸的拖動,可以對每一幀進行標(biāo)簽的繪制。

第四,我們可以使用部分自動算法,為我們添加標(biāo)簽,包括中間幀的線性插補、KLT 目標(biāo)跟蹤以及 ACF 車輛檢測這些自動化算法,可以逐幀地繪制選定的標(biāo)簽。

第五,我們通過手動的微調(diào)得到最終結(jié)果,將數(shù)據(jù)導(dǎo)出到文件或者是工作空間。

算法的實時驗證

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

設(shè)計完成之后,就需要進行算法驗證,我們可能會通過一些實車的測試進行驗證,也可以在實驗室里通過模擬方式,在實驗室里進行可視化的驗證。

Matlab 當(dāng)中提供的一些數(shù)據(jù)導(dǎo)入的程序,以及一些可視化的應(yīng)用,為仿真系統(tǒng)的搭建提供了便利。

比如,我們可以通過這些數(shù)據(jù)接口的操作函數(shù),導(dǎo)入 excel 工作表、視頻文件、CAN 總線數(shù)據(jù),我們也可以通過自動駕駛系統(tǒng)工具箱當(dāng)中提供的函數(shù)來生成鳥瞰圖以及雷達點云圖。

上圖就是一個典型的仿真環(huán)境,上面是整個系統(tǒng)的架構(gòu),下面是仿真的硬件設(shè)備,我們采用一臺目標(biāo)機來運行車輛與環(huán)境的模型,然后另一臺運行感知與控制算法,完成一個硬件再回路的仿真工作。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

通過這個視頻,我們所有的算法都是能夠自動生成 C 語言代碼的,我們將生成的代碼下載到目標(biāo)計算機當(dāng)中,就可以很容易完成硬件再回路的仿真。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

對算法進行實車的測試,也是必不可少的一個環(huán)節(jié)。我們在各種不同的路況下,可以對車載系統(tǒng)進行實車測試,這個系統(tǒng)可以是一臺筆記本電腦,也可以是一臺實時的仿真計算機。

我們通過 USB、CAN 總線、以太網(wǎng)等等,將它與各個傳感器進行連接,就可以測試我們的目標(biāo)跟蹤,以及控制算法。

如何用自動駕駛系統(tǒng)工具箱設(shè)計和驗證多目標(biāo)跟蹤算法 | 硬創(chuàng)公開課

我們可以看到,在整個系統(tǒng)的設(shè)計與驗證的過程中,MATLAB、Simulink 提供了一個通用的軟件設(shè)計與硬件設(shè)施的平臺,其中就包括使用 MATLAB 設(shè)計感知算法和 Simulink 來設(shè)計控制算法,將這些算法自動生成 C 語言代碼,以及使用 Simulink Real-Time 完成算法的實時仿真工作,進行系統(tǒng)的驗證。

雷鋒網(wǎng)注:關(guān)于此次嘉賓演講的 PPT,請關(guān)注雷鋒網(wǎng)「新智駕」(公眾號:AI-Drive),在后臺回復(fù)「ADAS微課堂」即可下載。

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說