日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

智慧交通day02-车流量检测实现09:SORT/deepSORT

發(fā)布時(shí)間:2024/7/5 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 智慧交通day02-车流量检测实现09:SORT/deepSORT 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SORT和DeepSORT是多目標(biāo)跟蹤中兩個(gè)知名度比較高的算法。DeepSORT是原團(tuán)隊(duì)對(duì)SORT的改進(jìn)版本?,F(xiàn)在來(lái)解析一下SORT和DeepSORT的基本思路。

1.SORT

SORT核心是卡爾曼濾波匈牙利匹配兩個(gè)算法。流程圖如下所示,可以看到整體可以拆分為兩個(gè)部分,分別是匹配過(guò)程卡爾曼預(yù)測(cè)加更新過(guò)程,都用灰色框標(biāo)出來(lái)了。

關(guān)鍵步驟:軌跡卡爾曼濾波預(yù)測(cè)→ 使用匈牙利算法將預(yù)測(cè)后的tracks和當(dāng)前幀中的detecions進(jìn)行匹配(IOU匹配) → 卡爾曼濾波更新

卡爾曼濾波分為兩個(gè)過(guò)程:預(yù)測(cè)更新。SORT引入了線(xiàn)性速度模型與卡爾曼濾波來(lái)進(jìn)行位置預(yù)測(cè),先進(jìn)行位置預(yù)測(cè)然后再進(jìn)行匹配。運(yùn)動(dòng)模型的結(jié)果可以用來(lái)預(yù)測(cè)物體的位置。

匈牙利算法解決的是一個(gè)分配問(wèn)題,用IOU距離作為權(quán)重(也叫cost矩陣),并且當(dāng)IOU小于一定數(shù)值時(shí),不認(rèn)為是同一個(gè)目標(biāo),理論基礎(chǔ)是視頻中兩幀之間物體移動(dòng)不會(huì)過(guò)多。在代碼中選取的閾值是0.3。scipy庫(kù)的linear_sum_assignment都實(shí)現(xiàn)了這一算法,只需要輸入cost_matrix即代價(jià)矩陣就能得到最優(yōu)匹配。

2.DeepSort

DeepSORT是SORT的續(xù)作,整體框架沒(méi)有大改,還是延續(xù)了卡爾曼濾波加匈牙利算法的思路,在這個(gè)基礎(chǔ)上增加了鑒別網(wǎng)絡(luò)Deep Association Metric。

下圖是deepSORT流程圖,和SORT基本一樣,就多了級(jí)聯(lián)匹配(Matching Cascade)和新軌跡的確認(rèn)(confirmed)。

關(guān)鍵步驟:軌跡卡爾曼濾波預(yù)測(cè)→ 使用匈牙利算法將預(yù)測(cè)后的tracks和當(dāng)前幀中的detecions進(jìn)行匹配(級(jí)聯(lián)匹配IOU匹配) → 卡爾曼濾波更新

級(jí)聯(lián)匹配流程圖如下所示:

其中上半部分就是相似度估計(jì),也就是算這個(gè)分配問(wèn)題的代價(jià)函數(shù)。下半部分依舊使用匈牙利算法進(jìn)行檢測(cè)框和跟蹤框的匹配。


總結(jié):

1.SORT算法

SORT是利用強(qiáng)大的CNN檢測(cè)器的檢測(cè)結(jié)果來(lái)進(jìn)行多目標(biāo)跟蹤使用基于卡爾曼濾波(Kalman filter)與匈牙利算法(Hungarian algorithm)的方法來(lái)進(jìn)行跟蹤。

2.deepSORT算法

DeepSORT是在SORT基礎(chǔ)上進(jìn)行的修改,增加了級(jí)聯(lián)匹配和目標(biāo)的確認(rèn),還是使用卡爾曼濾波加匈牙利算法進(jìn)行目標(biāo)跟蹤。


1.SORT核心是卡爾曼濾波和匈牙利算法。流程圖如下所示,可以看到整體可以拆分為兩個(gè)部分,分別是匈牙利匹配過(guò)程和卡爾曼預(yù)測(cè)加更新過(guò)程,都用灰色框標(biāo)出來(lái)了。關(guān)鍵步驟:--> 卡爾曼濾波預(yù)測(cè)出預(yù)測(cè)框--> 使用匈牙利算法將卡爾曼濾波的預(yù)測(cè)框和yolo的檢測(cè)框進(jìn)行IOU匹配來(lái)計(jì)算相似度 --> 卡爾曼濾波使用yolo的檢測(cè)框更新卡爾曼濾波的預(yù)測(cè)框2.卡爾曼濾波分為兩個(gè)過(guò)程:預(yù)測(cè)過(guò)程和更新過(guò)程。SORT引入了線(xiàn)性速度模型與卡爾曼濾波來(lái)進(jìn)行位置預(yù)測(cè),先進(jìn)行位置預(yù)測(cè)然后再進(jìn)行匹配。運(yùn)動(dòng)模型的結(jié)果可以用來(lái)預(yù)測(cè)物體的位置。匈牙利算法解決的是一個(gè)分配問(wèn)題,用IOU距離作為權(quán)重(也即cost代價(jià)矩陣),并且當(dāng)IOU小于一定數(shù)值(IOU閾值)時(shí),不認(rèn)為是同一個(gè)目標(biāo),理論基礎(chǔ)是視頻中兩幀之間物體移動(dòng)不會(huì)過(guò)多。在代碼中選取的IOU閾值是0.3。scipy庫(kù)的linear_sum_assignment實(shí)現(xiàn)了匈牙利算法,只需要輸入cost_matrix代價(jià)矩陣(全部預(yù)測(cè)框和全部檢測(cè)框兩兩IOU計(jì)算結(jié)果)到linear_sum_assignment中就能得到預(yù)測(cè)框和檢測(cè)框兩兩最優(yōu)匹配的組合。

?

1.跟蹤器鏈(列表):實(shí)際就是多個(gè)的卡爾曼濾波KalmanBoxTracker自定義類(lèi)的實(shí)例對(duì)象組成的列表。每個(gè)目標(biāo)框都有對(duì)應(yīng)的一個(gè)卡爾曼濾波器(KalmanBoxTracker實(shí)例對(duì)象),KalmanBoxTracker類(lèi)中的實(shí)例屬性專(zhuān)門(mén)負(fù)責(zé)記錄其對(duì)應(yīng)的一個(gè)目標(biāo)框中各種統(tǒng)計(jì)參數(shù),并且使用類(lèi)屬性負(fù)責(zé)記錄卡爾曼濾波器的創(chuàng)建個(gè)數(shù),增加一個(gè)目標(biāo)框就增加一個(gè)卡爾曼濾波器(KalmanBoxTracker實(shí)例對(duì)象)。把每個(gè)卡爾曼濾波器(KalmanBoxTracker實(shí)例對(duì)象)都存儲(chǔ)到跟蹤器鏈(列表)中。2.unmatched_detections(列表):檢測(cè)框中出現(xiàn)新目標(biāo),但此時(shí)預(yù)測(cè)框(跟蹤框)中仍不不存在該目標(biāo),那么就需要在創(chuàng)建新目標(biāo)對(duì)應(yīng)的預(yù)測(cè)框/跟蹤框(KalmanBoxTracker類(lèi)的實(shí)例對(duì)象),然后把新目標(biāo)對(duì)應(yīng)的KalmanBoxTracker類(lèi)的實(shí)例對(duì)象放到跟蹤器鏈(列表)中。3.unmatched_trackers(列表):當(dāng)跟蹤目標(biāo)失敗或目標(biāo)離開(kāi)了畫(huà)面時(shí),也即目標(biāo)從檢測(cè)框中消失了,就應(yīng)把目標(biāo)對(duì)應(yīng)的跟蹤框(預(yù)測(cè)框)從跟蹤器鏈中刪除。unmatched_trackers列表中保存的正是跟蹤失敗即離開(kāi)畫(huà)面的目標(biāo),但該目標(biāo)對(duì)應(yīng)的預(yù)測(cè)框/跟蹤框(KalmanBoxTracker類(lèi)的實(shí)例對(duì)象)此時(shí)仍然存在于跟蹤器鏈(列表)中,因此就需要把該目標(biāo)對(duì)應(yīng)的預(yù)測(cè)框/跟蹤框(KalmanBoxTracker類(lèi)的實(shí)例對(duì)象)從跟蹤器鏈(列表)中刪除出去。

DeepSORT是SORT的續(xù)作,整體框架沒(méi)有大改,還是延續(xù)了卡爾曼濾波加匈牙利算法的思路,并且在這個(gè)基礎(chǔ)上增加了鑒別網(wǎng)絡(luò)Deep Association Metric。 下圖是deepSORT流程圖,和SORT基本一樣,就多了級(jí)聯(lián)匹配(Matching Cascade)和新軌跡的確認(rèn)(confirmed)。

關(guān)鍵步驟:--> 卡爾曼濾波預(yù)測(cè)出預(yù)測(cè)框--> 使用匈牙利算法將卡爾曼濾波的預(yù)測(cè)框和yolo的檢測(cè)框進(jìn)行級(jí)聯(lián)匹配加IOU匹配兩者分別來(lái)計(jì)算相似度 --> 卡爾曼濾波使用yolo的檢測(cè)框更新卡爾曼濾波的預(yù)測(cè)框級(jí)聯(lián)匹配計(jì)算相似度的流程圖如下所示:上半部分為相似度估計(jì),也就是計(jì)算這個(gè)分配問(wèn)題的代價(jià)矩陣。下半部分依舊是使用匈牙利算法進(jìn)行檢測(cè)框和預(yù)測(cè)框的匹配。

總結(jié)

以上是生活随笔為你收集整理的智慧交通day02-车流量检测实现09:SORT/deepSORT的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。