LAPJV算法学习笔记

网友投稿 1227 2022-05-30

伪代码:

LAPJV算法详解(ing_Sparse Direction的博客-CSDN博客_lap.lapjv

from lapjv import lapjv

import numpy as np

a = np.array([[0.1,0.6,0.3],[0.2,0.1,0.6],[0.5,0.2,0.9]])

x,y,c = lapjv(a)

print(x,y,c)

out: [2 0 1] [1 2 0] (0.699999988079071, array([0. , 0.3, 0.4], dtype=float32), array([-0.10000002, -0.2 , 0.3 ], dtype=float32))

其中x,y分别是按照 行列来计算的

行索引分配[2,0,1]: cost = 0.3+0.2 +0.2 = 0.7

0行,2列

1行,0列

2行,1列

列索引分配 [1,2,0]:cost = 0.2 + 0.2 +0.3 =0.7

0列,1行

LAPJV算法学习笔记

1列,2行

2列,0行

cost就是求和最小。

bytetrack用到的lapjv算法:

cost, x, y = lap.lapjv(cost_matrix, extend_cost=True, cost_limit=thresh)

for ix, mx in enumerate(x):

if mx >= 0:

matches.append([ix, mx])

c++版:

参见博客:

ByteTrack 多目标跟踪 测试笔记_jacke121的专栏-CSDN博客

在bytetrack的c++版本中。

网友实现的python3源码版:

LAPJV-线性分配问题的Jonker-Volgenant算法V3.0:解决LAP的Jonker-Volgenant算法的Matlab实现。-matlab开发_-互联网文档类资源-CSDN下载

MATLAB

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【FluidSynth】FluidSynth 简介 ( 相关资源链接 | 简介 | 特征 )
下一篇:2021-08-16 CTFer成长之路-SSRF漏洞
相关文章