LAPJV算法学习笔记

举报
风吹稻花香 发表于 2022/01/13 22:32:51 2022/01/13
【摘要】 伪代码: LAPJV算法详解(ing_Sparse Direction的博客-CSDN博客_lap.lapjv from lapjv import lapjvimport 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 = lap...

伪代码:

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


  
  1. from lapjv import lapjv
  2. import numpy as np
  3. a = np.array([[0.1,0.6,0.3],[0.2,0.1,0.6],[0.5,0.2,0.9]])
  4. x,y,c = lapjv(a)
  5. 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行

1列,2行

2列,0行

cost就是求和最小。

bytetrack用到的lapjv算法:


  
  1. cost, x, y = lap.lapjv(cost_matrix, extend_cost=True, cost_limit=thresh)
  2. for ix, mx in enumerate(x):
  3. if mx >= 0:
  4. matches.append([ix, mx])

c++版:

参见博客:

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

在bytetrack的c++版本中。

网友实现的python3源码版:

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

文章来源: blog.csdn.net,作者:AI视觉网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/122478422

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。