Alpha-Refine:Boosting Tracking Performance by Precise Bouding Box Estimation

好久没有写博客了,今天分享一篇新的目标跟踪论文。最后更新日期:2020.08.03

论文链接:https://arxiv.org/abs/2007.02024

代码链接:https://github.com/MasterBin-IIAU/AlphaRefine   2020.08.03作者目前还没发布

摘要:目前的目标跟踪算法大多采用多阶段(multiple-stage)的策略,即先对目标进行粗定位,再利用refinement modules对目标进行精细定位。作者认为现有的refinement modules的可移植性和准确性较差,因此作者提出了一种更为准确灵活的refinement module——Alpha-Refine,也就是本文的主角啦。Alpha-Refine利用pixel-wise correlation和spatial-aware non-local层来融合特征,并且可以预测出三种输出:bounding box、corners和mask。那么利用哪个输出结果作为最终的跟踪结果呢?作者在此提出了一个轻量的branch selector module进行选择。作者在现在大热的DiMP、ATOM、SiamRPN++、RTMDNet和ECO算法上进行了大量的实验,表明了所提模块的有效性。

引言:准确的目标尺度估计对于目标跟踪是十分重要的,早期的跟踪器通过多尺度搜索(multi-scale search,如SiameseFC、UPDT、ECO)或先抽样后回归的方法进行尺度估计,这些方法准确度不够高。近些年,有很多表现很好的新尺度估计方法,如DiMP和ATOM中的IoUNet、SiamMask等。

           作者所提出的回归模块是单独训练好的,因此可以即插即用!!即插即用!!即插即用!!

不想了解相关工作的可以跳过这段,直接看方法!

相关工作:

  1. 现在的尺度估计:现有的高性能尺度估计方法包括RPN-based、Mask-based、IoU-based和Anchor-free-based四类。RPN-based方法学习region proposal网络,该网络判断当前anchor是否为目标,并对anchor回归。相比之下,Mask-based类方法更为准确。IoU-based类方法学习一个能够预测候选bbox和groundtruth之间重叠度的网络。Anchor-free-based类方法。。。
  2. 回归模块:DiMP和ATOM中的IoU-Net是可以单独训练的,可移植性较好,但精度有待提升。SiamMask方法也可以和任何跟踪器结合。

Alpha-Refine:单目标跟踪任务可以被分解为目标定位尺度估计两部分。在本文的工作中,基准跟踪器用于定位目标,Alpha-Refine用于准确的尺度估计。当基准跟踪器获得粗略的跟踪结果后,裁剪跟踪结果的两倍大小作为搜索区域,并输入Alpha-Refine,然后Alpha-Refine输出更为准确的bbox作为最终跟踪的结果。下一帧将基于上一帧的结果剪裁搜索区域。

网络结构:Alpha-Refine有两个输入分支:reference分支和test分支。这两个分支分别以第一帧和当前帧中的搜索区域为输入,主干网络为参数共享(啥意思?)的ResNet-50。特征提取后,利用PrRoI Pooling层获得reference分支的目标特征。现有的方法大多采用correlation或depth-wise correlation来融合特征,Alpha-Refine则利用pixel-wise correlation和spatial-aware non-local层来整合特征,从而获得由reference引导的目标特征。此外,跟踪结果有三种输出类型:bounding box、corners和mask,利用branch selector进行选择。网络结构如Figure1所示。

特征聚合:

1、准确的Pixel-wise Correlation:K\in \mathbb{R}^{^{C\times H_{0}\times W_{0}}}S\in \mathbb{R}^{^{C\times H\times W}}分别为模板(template)和搜索区域

### SELF-REFINE 方法概述 SELF-REFINE 是一种基于单一大型语言模型 (LLM) 的技术框架,其核心在于利用自我反馈机制来实现任务的迭代优化。这种方法的特点包括单模型架构、无需额外训练以及强大的提示工程支持[^1]。通过精心设计的提示模板,SELF-REFINE 能够引导 LLM 执行自我评估、生成反馈并不断优化内容。 #### 迭代精化与自反馈机制原理 SELF-REFINE 的工作流程可以分为以下几个方面: 1. **初始输出阶段** 在接收到输入后,模型会生成初步的结果。这一阶段的目标是提供一个基线版本的内容作为后续优化的基础[^2]。 2. **自我评估与反馈生成** 基于生成的初步结果,模型会对自身的输出进行评价,并识别可能存在的问题或不足之处。这种自我评估的能力使得模型能够发现潜在缺陷,例如逻辑不一致、语法错误或其他不符合预期的情况[^3]。 3. **迭代优化** 利用前一阶段产生的反馈信息,模型重新调整参数设置或者修改提示策略,从而生成经过改进的新版本输出。此过程可能会被多次执行直到达到满意的质量标准为止[^4]。 4. **历史感知能力** 每次迭代过程中所产生的所有中间状态都会被记录下来形成历史数据集。这些数据可以帮助模型更好地理解和纠正过去的失误,在未来遇到相似情境时避免重蹈覆辙。 #### 应用场景 SELF-REFINE 技术因其高度灵活性和广泛适用性而适用于众多领域内的具体任务: - **缩略词生成**: 自动生成既简洁又具代表性的术语简称。 - **对话响应生成**: 提升聊天机器人回复的真实感及时效性。 - **代码可读性改进**: 改善程序源码结构以便于阅读维护。 - **数学问题求解(GSM-8K)**: 准确高效地处理复杂的算数题目。 - **情感分析(Yelp)**: 更精确地区分正面负面评论倾向。 - **程序理解与增强(PIE Task)**: 对现有软件进行全面审查进而提出改进建议。 - **自动文摘与创意写作**: 创建高质量的文章概要或是虚构故事叙述。 - **教育辅助工具开发**: 构建智能化教学平台帮助学生掌握知识点。 - **图形生成与设计**: 设计美观实用的数据可视化作品. ```python # 示例:使用 Self-Refine 生成缩写 import subprocess def generate_acronym(input_text): command = f'python -u src/acronym/run.py "{input_text}"' result = subprocess.run(command, shell=True, capture_output=True, text=True) return result.stdout.strip() if __name__ == "__main__": input_sentence = "Using language models of code for few-shot commonsense" acronym_result = generate_acronym(input_sentence) print(f"Generated Acronym: {acronym_result}") ```
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值