0 前言
匈牙利算法和KM算法是解決二部圖的最大(佳)比對的算法,一般認為匈牙利算法是針對無權值情形,KM算法針對有權情形。在MOT任務中,權值可以認為成模型計算出的置信度。
在學習的過程中,有權值的問題大緻有兩種方式,一種是部落格園部落格(主要思路參考,這個講得很好),另一種是從矩陣的角度去做B站,分上中下(但這種不常見)。
\space
1 匈牙利算法
先說明一個概念:增廣路徑
- 增廣路徑是指,在二部圖中由一個未比對的頂點開始,經過若幹個比對頂點,最後到達對面集合的一個未比對頂點的路徑,即這條路徑将兩個不同集合的兩個未比對頂點通過一系列比對頂點相連。
直接通過例子說明:
tips: 匈牙利算法的找到的比對結果并不一定是唯一結果,而且也可能會存在不能一一比對的情形。
2 KM算法
KM算法本質是權重的二部圖最佳比對,基于匈牙利算法。所謂最佳比對就是比對後目标函數(一般是比對邊的權值之和)最大或最小的問題。如果權值是模型預測出的置信度,那麼應該是最大化問題。
例子: