如何训练一个100FPS的深度跟踪网络模型---GOTURN(附代码)

深度学习Tracking(1)——Learning to Track at 100 FPS with Deep Regression Networks(代码理解) 工程地址:【http://davheld.github.io/GOTURN/GOTURN.html】第一次看深度学习网络实现的工程代码,有很多内容和结构不理解,并且在Linux下跑网络工程代码没有IDE,无法调试,我也不知道在查看函数的时候如何跳转,因此看整个工程文件十分麻烦。因此自己也是边看边查边学。下面开始解析该工程代码,可能存在一些偏差和错误,将会不断学习和修正。一、工程结构工程主目录下有6个 阅读详情

阅读更多,欢迎关注公众号:论文收割机(paper_reader)

原文链接:如何训练一个100FPS的深度跟踪模型(附代码)

Held, David, Sebastian Thrun, and Silvio Savarese. "Learning to track at 100 fps with deep regression networks." European Conference on Computer Vision. Springer, Cham, 2016.

 1 引言

目标跟踪是计算机视觉中的一个经典任务,通过跟踪一个目标时序场景下的移动,一方面是跟踪到关键目标,另一方面能够利用跟踪产生的结果来消除其他任务产生的错误信息,例如使用跟踪来抑制误检。

本篇将介绍如何使用深度回归网络来训练一个100FPS速度的跟踪器。之前大多数的跟踪算法是基于所需要跟踪目标的特征来定位关键bounding box,直接使用特征来识别速度快,但是准确率不高,而且随着时间的推移,容易跟丢。另一种思路是使用检测来进行跟踪,每一帧的图片都进行一次检测[1],使用检测来产生bounding box,时序上对同一个检测目标连续的bounding box,可以产生对该目标的跟踪。

本篇介绍的方法与前面的思路均不相同,本篇的思路是通过在连续帧之间的相关性,以及需要跟踪的目标的特征来训练一个深度回归跟踪网络,GOTURN模型。这个文章的方法,笔者也在真实数据集上进行了训练测试,跟踪的效果非常好,按照IOU作为阈值,在IOU=0.5的时候,能够达到0.95的准确率。Github代码:https://github.com/tangyuhao/GOTURN-Tensorflow

2 模型介绍

图1 模型框架
图1 模型框架

整体的模型框架如图所示,输入是连续的两帧图片,上分支的当前帧,下分支是上一帧。上一帧的图片是有bounding box的,通过给定的bounding box来得到需要跟踪目标的特征,之后在当前帧上回归出来一个bounding box。Crop的含义是指使用bounding box来得到局部的特征,从而使特征能够更加丰富,类似于一个attention模型!(注:对当前帧的crop往往是直接在上一帧的bounding box之上外扩两倍,存在一个先验假设,跟踪目标不会移动太快)。

之后,在上一帧以及当前帧上crop出来的特征通过一个两路卷积神经网络,最后通过全连接层学习出当前帧的bounding box。该bounding box一方面是直接通过回归模型回归出来的,只有四个值,另一方面是连续帧之间的相关性得到的数值,具有很强的时序特性,所以可以作为很好的跟踪模型。该模型很小,而且深度较浅,再加上输入网络的是crop之后的图片特征,数据量较少,所以最终的计算速率很快,能够达到100FPS。

3 实验结果

图2 GOTURN对比试验效果图

 

最终GOTURN模型的实验效果是比较好的,在保证了健壮性的同时又能够保证跟踪的准确率,能够很好的跟住目标。

 

另外一组实验反映了使用了连续两帧图片来跟踪目标能够减少误差,同时,也反映了在不同条件改变下,会产生不同程度的误差。

4 总结

该论文的idea其实比较简单,通过连续两帧图片之间的关联性,加上crop的信息来只将局部的信息输入到神经网络中,从而能够更好的训练神经一个跟踪神经网络。一般跟踪,还有检测模型,往往会忽略时序特征,所以丢失了很强的关联信息。通过连续两帧的关联信息,既是很好的跟踪模型训练方法,也能够引用到其他的检测或者识别模型中来。

代码:

https://github.com/tangyuhao/GOTURN-Tensorflow

参考文献:

[1] SSD: Single Shot MultiBox Detector

[2] Learning to Track at 100 FPS with DeepRegression Networks

[3] https://github.com/tangyuhao/GOTURN-Tensorflow

阅读更多,欢迎关注公众号:论文收割机(paper_reader)

深度学习Tracking(1)——Learning to Track at 100 FPS with Deep Regression Networks 发生了一些很奇葩的事情,因此我可能要开始学习深度学习了。研究生开始这么久了才开始做深度学习,我真的要担心自己的毕业问题了。好的吧,加油吧。虽然不懂,现在开始吧。原文地址:【http://davheld.github.io/GOTURN/GOTURN.pdf】 项目地址:【http://davheld.github.io/GOTURN/GOTURN.html】本文介绍的算法利用深度回归网络,输入为视 阅读详情

相关推荐

Goturn模型:基于OpenCV的目标跟踪实战教程

Goturn模型,全称为Generic Object Tracking with Regional Proposal Network,是一种针对视频序列中物体跟踪的深度学习模型。它通过学习物体在连续帧中的运动模式来预测物体的未来位置,这使得它在实时视频分析和监控系统中有着广泛的应用。该模型的基础原理基于深度回归网络,它通过时间连续的帧来学习物体的运动轨迹。

weixin_29317963的博客 789

Object Tracking using OpenCV (C++/Python)(使用OpenCV进行目标跟踪)

本博客翻译搬运自https://www.learnopencv.com/object-tracking-using-opencv-cpp-python,用于初入目标跟踪的新手学习,转贴请注明! 使用OpenCV进行目标跟踪(C++/Python) 在本教程里,我们将学习OpenCV3.0中引入的OpenCV跟踪API。我们将学习如何以及何时使用OpenCV3.4.1中提供的7中不同的跟踪器—...

weixin_30408309的博客 432

goturn-pytorch:在PyTorch中实现了GOTURN跟踪

GOTURN-PyTorch PyTorch实施“通过深度回归网络学习以100 FPS进行跟踪” · 目录 关于该项目 该存储库包含PyTorch中GOTURN的重新实现。 如果您对以下内容感兴趣,则应考虑使用此存储库 通过代码独立地理解GOTURN算法的不同运动部分。 即插即用,可以处理管道的不同部分,例如数据,网络,优化器,成本函数。 使用以下框架构建: 与作者的原始类似,您将能够在一天内训练模型 追踪演示 脸 冲浪者 脸 自行车 熊 入门 代码设置 # Clone the repository $ git clone https://github.com/nrupatunga/goturn-pytorch # install all the required repositories $ cd goturn-pytorch/src $ pip install -r r

RT-MDNet深度跟踪网络

论文全名:Real-Time MDNet(RT-MDNet) 论文摘自ECCV 2018,由Ilchae Jung(Github网址)、Jeany Son、Mooyeol Baek、Bohyung Han撰写, 作者(与MDNet作者属同一个导师)来自韩国浦项理工大学。 摘要 提出基于MDNet的快速且准确跟踪算法 (1)通过感受野的高分辨特征图来区分目标和背景,通过改进RoIAlign...

weixin_39467358的博客 6644

GOTURN模型文件

goturn追踪算法的caffe模型文件,官网下载速度过慢,所以放过来备用。

GOTURN模型实现视频对象跟踪.txt

包含agoturn.caffemodel、goturn.prototxt文件和GOTURN模型实现视频对象跟踪源码、视频素材 具体实现效果见优快云博客“DNN系列7_GOTURN模型实现视频对象跟踪”查看效果

人脸跟踪:Goturn代码解读

这个礼拜把GOTURN源码扫了一遍,特此总结一下。先附上文章以及源码地址:  Abstract:http://davheld.github.io/GOTURN/GOTURN.html  Github源码:https://github.com/davheld/GOTURN 下面开始漫长的总结 BoundingBox Class(help目录下) Draw(): 调用opencv的绘制方法  ...

BigCowPeking 1079

终端运行脚本报: 因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fw link/?LinkID=135170 中的 about_Execution_

PowerShell 执行策略是一种安全机制,用于控制哪些脚本可以在系统上运行。默认情况下,Windows 系统会设置较为严格的执行策略,以防止恶意脚本的执行。执行策略有以下几种常见级别:Restricted(限制):不允许运行任何脚本。AllSigned(全部签名):仅允许运行经过数字签名的脚本。RemoteSigned(远程签名):允许运行本地脚本,但远程下载的脚本需要数字签名。Unrestricted(无限制):允许运行所有脚本,但会警告未签名的脚本。

欢迎来到我的技术博客!这里是一个专注于软件开发的地方,我将分享关于 Java、Python、C++ 和易语言等多种编程语言的教程、技巧、最佳实践以及开发经验。 5083

GOTURN-Tensorflow:高效目标跟踪的深度回归网络实现

GOTURN-Tensorflow:高效目标跟踪的深度回归网络实现 随着计算机视觉领域的不断进步,目标跟踪技术已成为视频分析的关键组成部分。今天,我们向您推荐一个基于Tensorflow的开源项目——GOTURN-Tensorflow,这是对原始Caffe版本的Goturn(Learning to Track at 100 FPS with Deep Regression Networks)的重...

gitblog_00099的博客 967

大数据Alluxio面试题及参考答案

Alluxio 在大数据生态里的定位是作为数据编排层,能在不同计算框架和存储系统之间起到桥梁的作用。它的核心功能在于加速数据访问,让大数据应用能够更高效地使用数据。Alluxio 把数据存储和数据处理分离开来,使计算框架可以在不考虑底层存储细节的情况下访问数据,这样就提高了系统的灵活性和可扩展性。Alluxio 和 HDFS 既存在关联又有区别。从关联方面来看,HDFS 是一种广泛使用的分布式文件系统,很多大数据应用都将其作为主要的数据存储系统。Alluxio 可以和 HDFS 集成,把 HDFS 当作底层

大模型大数据攻城狮的专栏 862

MC_SetOverride指令详细应用介绍(基恩士PLC)

基恩士KV系列PLC和松下总线绝对值伺服运动控制(详细配置+轴控完整ST源代码)

RXXW_Dor的博客 335

【目标跟踪】Learning to Track at 100 FPS with Deep Regression Networks 学习

这篇文章是斯坦福大学2016年4月发的,文中提出了一种通过离线训练带标签的视频来更有效跟踪目标物体的方法。以前的深度学习用来做跟踪的算法都比较慢,这一论文的跟踪器使用了简单的前向传播而无需在线训练,测试时的跟踪帧率达到了100fps.由于在训练网络时既使用了带标签的视频,也使用了大量的图片,可以防止过拟合。跟踪器学习了泛化的运动特征,所以可以去跟踪训练集中没有出现的新物体。传统通用目标跟踪器(相对于特定目标跟踪器)

书侠 8261

立项书8分钟定生死?手把手教你用ChatGPT辅助打造高水平申报书,让评审专家一看就想打高分!

宏大叙事、空话堆砌只会让评审绕晕,不如聚焦一个具体问题,拿出清晰的研究路径、扎实的设计方案,把“我想做什么、为什么做、打算怎么做”讲明白。对评审来说,关键不在你读了多少,而在你能否看清领域的共识、争议和空白,GPT的作用就在于帮你理清研究脉络,发现问题结构,聚焦那些还没被充分讨论的变量或方法,去提升综述的深度。之前要用到ProcessOn、Draw.io等工具画流程图,现在有了ai虽然方便了,但也需要多次调教,如果嫌麻烦,七哥给大家准备了课题申报常用的流程图,技术路线图,方便大家直接拿来编辑填空使用。

智能AI让学术科研更容易 291

7.3 GOTURN

7.3 GOTURN 学习目标 目标 说明GOTURN的算法结构 掌握GOTURN的训练过程 应用 无 7.3.1 GOTURN介绍 7.3.1.1 背景 传统通用目标跟踪器(相对于特定目标跟踪器)完全是通过在线抓取来训练,而没有离线训练。这种跟踪器性能不好的原因是获取的信息太少,仅仅在线训练不能利用大量视频的优势。而这些视频有可能帮助跟踪器处理旋转,视点改变,光线改变等问题,进而提高跟踪性能。而机器学习已经能够从大量的离线数据中学习

qq_40066957的博客 592

Android 12,通过JNI写framebuff实现白板书写加速

Android 书写加速

448313096@qq.com 1203

华为OD机试 - 压缩日志查询(Python/JS/C/C++ 双机位C卷 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。某设备需要记录每分钟检测到的指标值。为了节约存储空间,将连续相同指标值的记录合并。压缩之前:202411231000,11 202411231001,11 202411231002,12 202411231003,12 202411231004,

学Java,找哪吒 1880

人脸跟踪:GoTurn算法目标跟踪

使用深度回归网络做目标跟踪 原始论文:Learning to Track at 100 FPS with Deep Regression Networks  Computer Science Department, Stanford University  下载链接:http://arxiv.org/abs/1604.01802  算法主页:http://davheld.github.io/GO...

云中寻雾的博客 2374

XCP详解「3.1·ASAP2新建A2L文件」

后面是ASAP2新建A2L的操作步骤,如果是APE中新建的A2L就无需以下操作,APE只需要导入现成的A2L即可。退出点击保存时会提示保存A2L文件,是因为前面导出的是1.70版本,工程最低1.71,可以另外起个名字即可。导入elf文件,elf路径建议直接索引编译生成的Debug下的,防止编译后忘记更新。导出V1.70格式A2L文件,APE17支持V1.70。通过ASAP2生成需要A2L文件更常用些。同一个信号可以创建不同属性量。ASAP2中新建A2L文件。设置标定信号数量最大值。XCP详解「总目录」

光明磊学习&积累的地方 3060

GOTURN 网络理解

GOTURN 网络理解作者采用完全离线的方式进行训练,然后对目标进行跟踪,将追踪能做到100fps(是指在gtx 680上),当使用泰坦x 时能到160+fps ,数度确实很快,这样的离线训练,以及能在680上实现100fps,在目前,有着一定的商业应用价值。在以前的深度跟踪的工作中大多数都是不能满足实时性的要求: 在这之前的cnn做到7fps穿插一下,这篇文章是2016年的,目前深度追踪发展迅速...

zc的csdn 5938

[DDR5] 模式寄存器 Mode Register MRR/MRW

模式寄存器用于定义各种操作模式。在初始化过程中,可以通过重新执行MRS命令来更改模式寄存器的内容。

串起点滴 1639

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

快速目标检测--Object detection at 200 Frames Per Second

Object detection at 200 Frames Per Second 本文在 Tiny Yolo 的基础上设计了一个目标检测网络,在 Nvidia 1080ti 上可以达到 100帧每秒。 本文主要成果有三点:1)网络结构上的设计改进;2) Distillation loss for Training,使用 teacher network 辅助训练;3)Effectiveness...

AI小作坊 的博客 1332

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

目标跟踪(2)GOTURN:基于深度学习的目标跟踪

在这篇文章中,我们将了解一种名为 GOTURN 的基于深度学习的对象跟踪算法。 GOTURN 的原始实现是在 Caffe 中,但它已被移植到 OpenCV 跟踪 API,我们将使用这个 API 在 C++ 和 Python 中演示 GOTURN。 1. 什么是目标跟踪? 对象跟踪的目标是跟踪视频序列中的对象。使用视频序列的帧和边界框来初始化跟踪算法,以指示我们感兴趣跟踪的对象的位置。跟踪算法为所有后续帧输出一个边界框。 2. 什么是GOTURN? GOTURN 是 Generic Object Tracki

weixin_43229348的博客 3104

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

[OpenCV实战]15 基于深度学习的目标跟踪算法GOTURN

目录 1 什么是对象跟踪和GOTURN 2 在OpenCV中使用GOTURN 3 GOTURN优缺点 4 参考 在这篇文章中,我们将学习一种基于深度学习的目标跟踪算法GOTURN。GOTURN在Caffe中搭建,现在已移植到OpenCV Tracking API,我们将使用此API在C ++和Python中使用GOTURN。 1 什么是对象跟踪和GOTURN 对象跟踪的目标是跟踪视频...

You and Me 9685

【python】OpenCV—Tracking(10.3)—GOTURN

(1)发表来自(2)基本原理(3)模型大小(4)模型结构。

bryant_meng 1061

python实现目标跟踪(opencv)

 1.单目标跟踪 import cv2 import sys (major_ver, minor_ver, subminor_ver) = (cv2.__version__).split('.') print(major_ver, minor_ver, subminor_ver) if __name__ == '__main__': # 创建跟踪器 tracker_type...

Gentleman_ZH 1万+
上一篇: 图结构数据上的对抗训练方法
下一篇: 基于记忆优先级的短序列推荐(Session-based Recommendation)
paper_reader
博客等级 码龄8年 157粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值