摘要:
最近在研究一个比较有意思的应用—车辆追踪算法。传统的车辆追踪算法是基于检测器检出车辆,之后使用卡尔曼滤波和匈牙利算法来进行位置预测与数据级联的。关于卡尔曼滤波,我之前已经写过一篇文章进行了详细的介绍;最近则是在研究匈牙利算法是如何工作的。这里简单的记录一下相关原理。
匈牙利算法是一种在多项式时间内求解任务分配问题的组合优化算法,广泛应用在运筹学领域。 美国数学家哈罗德·库恩于1955年提出该算法。之所以被称作匈牙利算法,是因为算法很大一部分是基于以前匈牙利数学家Dénes Kőnig(1884-1944)和Jenő Egerváry(1891-1958)的工作上创建起来的。
在车辆追踪中,匈牙利算法(Hungarian Algorithm)与KM算法(Kuhn-Munkres Algorithm)都是用来解决多目标跟踪中的数据关联问题,而数据关联问题,亦可转化为求解二分图的最大匹配问题。二分图的最大匹配问题听起来很绕口,这里如何理解呢?换句话说,就是求解任务分配问题,也叫指派问题,即n项任务,对应分配给n个人去做,应该由哪个人来完成哪项任务,能够使完成效率最高。
阅读全文