Extending IOU Based Multi-Object Tracking by Visual Information论文简读

V-IoU跟踪器

写在前面

这篇论文是在方法"High-speed tracking-by-detection without using image information"(IoU)基础上的改进版本,主要解决了前者在检测丢失的情况下,容易出现漏检和身份转换的问题。

贡献

  1. 利用一个视觉单目标跟踪器对IoU跟踪器进行扩展,在检测丢失时对跟踪在下一帧的位置进行预测。
  2. 提出了一种batch的跟踪方式,有效的减少了IoU跟踪器中的身份转换和跟踪碎片,从而提高IoU跟踪器的MOTA值。

跟踪流程

IoU跟踪流程

我们先回顾一下IoU跟踪器的跟踪流程:在这里插入图片描述

  1. 对于当前帧,首先利用阈值σl\sigma_lσl对检测进行过滤,得到输入检测集DDD
  2. 对于每个激活跟踪tit_iti,找到与其最后位置IoU最大的检测dbestd_{best}dbest,如果满足IOU(dbest,ti)≥σIOUIOU(d_{best},t_i)\geq\sigma_{IOU}IOU(dbest,ti)σIOU,将跟踪的最新位置更新为dbestd_{best}dbest,将dbestd_{best}dbest从检测集DDD中移除。如果不满足IOU(dbest,ti)≥σIOUIOU(d_{best},t_i)\geq\sigma_{IOU}IOU(dbest,ti)σIOU,则通过判断跟踪对应检测的最高检测得分是否大于阈值σh\sigma_hσh以及跟踪的长度是否大于tmint_{min}tmin,来衡量跟踪tit_iti是否为一个完整的跟踪。如果tit_iti是一个完整的跟踪,则将其添加到完整跟踪列表TfT_fTf,如果不是则将其终止。将跟踪从激活跟踪TaT_aTa中移除。
  3. 对于没有被匹配的检测,将其初始化为新跟踪并添加到激活跟踪TaT_aTa中。
  4. 在所有帧都按照上述步骤重复完毕后,通过判断激活跟踪TaT_aTa中每个跟踪对应检测的最高检测得分是否大于阈值σh\sigma_hσh以及跟踪的长度是否大于tmint_{min}tmin,来衡量tit_iti是否是一个完整的跟踪。如果是,则将其添加到完成跟踪TfT_fTf中。

V-IoU扩展

V-IoU跟踪器在IoU跟踪算法的跟踪流程上,添加了一个视觉单目标跟踪器。在主要的跟踪流程中添加一下补充:

  1. 在上述步骤2中,对于没有被匹配的跟踪,利用视觉单目标跟踪器进行预测。如果预测成功,利用预测位置作为跟踪在当前帧的位置,将该跟踪添加到激活跟踪中,如果预测失败,判断其是否为一个完整跟踪。在没有检测匹配的情况下,这样一个视觉单目标跟踪过程会持续最大ttlttlttl帧,如果期间与检测成功匹配,则终止视觉单目标跟踪,利用检测位置更新跟踪位置,直到下一次检测匹配失败。
  2. 在检测被初始化为新跟踪后,反向对其进行最大ttlttlttl帧的视觉单目标跟踪,如果该跟踪与之前的完成跟踪满足时空上的重叠标准,则将两个跟踪进行合并。
  3. 对于合并的两条跟踪,删除那些与跟踪距离较远的重叠视觉跟踪。

个人感想

V-IoU跟踪器,也遵循了tracking-by-detection范式,最大的特点是利用单目标跟踪器来进行没有匹配检测跟踪的跟踪预测,这也是未来的多目标跟踪的趋势,在该论文之后的一些多目标跟踪算法中,也都是遵循了这个范式。

在多目标优化(Multi-Objective Optimization, MOO)领域中,子问题的构建与求解是分解策略的核心组成部分。这类方法通常将原始的多目标问题转化为一组单目标或简化形式的子问题,并通过协同进化的方式优化这些子问题以获得Pareto前沿的近似解。 ### 分解方法概述 常见的分解方法包括权重求和法(Weighted Sum Method)、切比雪夫法(Tchebycheff Method)、边界交叉法(Normal Boundary Intersection, NBI)等。其中,MOEA/D(Multiobjective Evolutionary Algorithm Based on Decomposition)是基于分解思想的经典算法之一,其基本原理是将多目标优化问题分解为多个子问题,并使用邻域信息来更新每个子问题的解[^2]。 例如,切比雪夫分解方法的目标函数定义如下: ```math g^{te}(x|\lambda, z^*) = \max_{1 \le i \le m} \left\{ \lambda_i |f_i(x) - z_i^*| \right\} ``` 其中: - $ x $ 是决策变量; - $ \lambda $ 是权重向量; - $ z^* $ 是参考点; - $ m $ 是目标数量。 该方法能够更好地保持解的分布性,适用于非凸Pareto前沿的逼近。 ### 子问题求解算法 在MOEA/D框架下,每个子问题被视为一个单目标优化问题,可以采用不同的进化算子进行求解。此外,MOEA/DVA(MOEA/D with Variable Analysis)是一种改进的变体,它根据变量效用值动态调整优化策略。具体而言,在进化早期阶段,仅对收敛性变量进行优化;而在后期阶段,则对所有变量进行优化,以提升目标空间中的均匀性[^2]。 以下是MOEA/DVA中子问题优化的一个伪代码示例: ```python def moea_dva(population, utility_threshold): for gen in range(max_generations): for i in range(len(population)): # 计算当前个体的效用值 utility = calculate_utility(population[i]) if utility >= utility_threshold: # 仅优化收敛性变量 optimize_convergence_variables(population[i]) else: # 优化所有变量 optimize_all_variables(population[i]) # 更新种群并执行选择操作 population = update_population(population) def calculate_utility(individual): # 根据子组件优化的效用计算公式实现 pass def optimize_convergence_variables(individual): # 实现收敛性变量的优化逻辑 pass def optimize_all_variables(individual): # 实现所有变量的优化逻辑 pass def update_population(population): # 更新种群并执行选择操作 return population ``` ### 自适应分解策略 H. Jain 和 K. Deb 提出的一种基于参考点的非支配排序方法(NSGA-III)扩展了传统的NSGA-II,并引入了自适应机制来处理约束条件和增强算法性能。NSGA-III 使用一组预定义的参考方向,并在每一代中选择最接近这些方向的解,从而引导搜索朝向Pareto前沿的特定区域发展。这种方法特别适用于高维多目标优化问题,能够在保持多样性的同时提高收敛速度[^1]。 ### 相关问题 1. MOEA/D 中常用的分解方法有哪些?它们各自的特点是什么? 2. 如何在 MOEA/DVA 中动态调整变量优化策略? 3. NSGA-III 是如何利用参考方向来引导搜索过程的? 4. 多目标优化中如何平衡收敛性和多样性? 5. 切比雪夫分解方法在哪些场景下表现最佳? [^1]: H. Jain and K. Deb, An evolutionary many-objective optimization algorithm using reference-point based non-dominated sorting approach, part II: Handling constraints and extending to an adaptive approach, IEEE Transactions on Evolutionary Computation, 2014, 18(4): 602-622. [^2]: 论文研读-基于决策变量分析的大规模多目标进化算法。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值