论文复现:Track to Detect and Segment: An Online Multi-Object Tracker

        论文下载链接:链接  

        简单介绍:大多数在线多目标跟踪器在神经网络中独立执行目标检测,无需任何跟踪输入。在本文中提出了一种新的在线联合检测和跟踪模型TraDeS(TRAck to DEtect and Segment),利用跟踪线索来辅助端到端的检测。TraDeS 将目标跟踪偏移量推断为成本量,该成本量用于传播先前的对象特征,以改进当前对象检测和分割。TraDeS 的有效性和优越性体现在 4 个数据集上,包括 MOT(2D 跟踪)、nuScenes(3D 跟踪)、MOTS 和 Youtube-VIS(实例分割跟踪)。

        本文的方法遵循联合检测和跟踪(JDT)范式。与大多数JDT方法不同,所提出的TraDeS跟踪器在一个端到端的统一框架中深度耦合跟踪和检测,其中利用跟踪的运动线索来增强检测或分割。不同在线MOT流水线的比较如下:

        TraDeS 概述如下所示,TraDeS 可以传播来自多个先前帧的特征以增强对象特征:

安装环境(基于Linux服务器)

①创建新的 conda 环境(不是3.6后面会出错)

conda create --name trades python=3.6

②激活环境

conda activate trades

③安装 PyTorch

conda install pytorch=1.3.1 torchvision=0.4.2 cudatoolkit=10.0.130 -c pytorch

④安装 COCOAPI

pip install cython; pip install -U 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'

⑤克隆此存储库

git clone https://github.com/JialianW/TraDeS.git

⑥安装requirements.txt

cd $TraDeS_ROOT
pip install -r requirements.txt

⑦编译可变形卷积(使用 gcc v5.4.0 和 v8.4.0 编译成功,gcc 版本应高于 v4.8)

cd $TraDeS_ROOT/src/lib/model/networks/DCNv2
. make.sh

数据集准备

切换到tools文件夹下,里面有一个脚本(get_mot_17.sh),执行它,这个脚本的作用是:

        ①从MOT数据集官网下载并解压缩数据集

        ②将其转换为 COCO 格式

        ③创建论文中描述的训练和验证集

在终端中运行:

cd $TraDeS_ROOT/src/tools/
sh get_mot_17.sh

执行中:

数据集准备成功:

数据格式如下:

${TraDeS_ROOT}
|-- data
`-- |-- mot17`-- |--- train|   |--- MOT17-02-FRCNN|   |    |--- img1|   |    |--- gt|   |    |   |--- gt.txt|   |    |   |--- gt_train_half.txt|   |    |   |--- gt_val_half.txt|   |    |--- det|   |    |   |--- det.txt|   |    |   |--- det_train_half.txt|   |    |   |--- det_val_half.txt|   |--- ...|--- test|   |--- MOT17-01-FRCNN|---|--- ...`---| annotations|--- train_half.json|--- val_half.json|--- train.json`--- test.json
训练

①将预训练权重放入到models文件夹下

②执行训练脚本

脚本如下:

cd src
# train
CUDA_VISIBLE_DEVICES=0,1,2,3 python main.py tracking --exp_id mot17_half --dataset mot --dataset_version 17halftrain --pre_hm --ltrb_amodal --same_aug --hm_disturb 0.05 --lost_disturb 0.4 --fp_disturb 0.1 --gpus 0,1,2,3 --load_model ../models/crowdhuman.pth  --save_point 40,50,60 --max_frame_dist 10  --batch_size 32 --clip_len 3 --trades
cd ..

开始执行:

sh experiments/mot17_train.sh

训练中:

结果保存成功:

使用测试视频进行测试:

python demo.py tracking --dataset mot --load_model ../models/mot_half.pth --demo ../videos/mot_mini.mp4 --pre_hm --ltrb_amodal --pre_thresh 0.5 --track_thresh 0.4 --inference --clip_len 3 --trades --save_video --resize_video --input_h 544 --input_w 960

测试结果保存results中:

后续将制作自己的数据集,应用到该框架中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/24978.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于协调过滤算法商品推荐系统的设计#计算机毕业设计

基于协调过滤算法商品推荐系统的设计#计算机毕业设计 管理员账户功能包括:系统首页,个人中心,商品管理,论坛管理,商品资讯管理 前台账户功能包括:系统首页,个人中心,论坛&#xf…

MySQL-二进制部署-配置systemctl管理脚本(一)

一 二进制部署MySQL 参考二进制部署mysql 二 MySQL启动&关闭命令 mysqld_sqfe 是 mysqld 父进程,用那个启动都可以 ##启动命令 /usr/local/mysql/bin/mysqld_safe --defaults-file/data/mysql/conf/my.cnf & /usr/local/mysql/bin/mysqld --defaults-fil…

数字校园的优势有哪些

数字化时代下,数字校园已成为教育领域一股显著趋势。数字校园旨在借助信息技术工具对传统校园进行改造,提供全新的教学、管理和服务方式。那么,数字校园究竟具备何种优势?现从三个方面为您详细介绍。 首先,数字校园为教…

STM32项目分享:智能家居(机智云)系统

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 2.PCB板及元器件图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片: 哔哩哔哩视频链接: https://www.bilibili.c…

如何使用ERC-20与Sui Coin标准创建Token

区块链使用tokens作为传递价值的基本手段。它们可以是区块链的原生交换单位,也可以是应用中的交换单位,甚至可以在游戏世界中用作货币。tokens还支持Sui和其他区块链上的强大DeFi活动。 以太坊使用ERC-20标准来创建tokens,借用智能合约&…

算法训练营day04

一、24. 两两交换链表中的节点 题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/description/ 文章讲解:https://programmercarl.com/0024.%E4%B8%A4%E4%B8%A4%E4%BA%A4%E6%8D%A2%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B9.h…

国产操作系统上Vim的详解03--使用Vundle插件管理器来安装和使用插件 _ 统信 _ 麒麟 _ 中科方德

原文链接:国产操作系统上Vim的详解03–使用Vundle插件管理器来安装和使用插件 | 统信 | 麒麟 | 中科方德 Hello,大家好啊!今天给大家带来一篇在国产操作系统上使用Vundle插件管理器来安装和使用Vim插件的详解文章。Vundle是Vim的一款强大的插…

【数据可视化系列】使用Python和Seaborn绘制相关性热力图

热力图(Heatmap)是一种数据可视化工具,它通过使用颜色的深浅来展示数据矩阵中数值的大小或密度。在热力图中,每种颜色的深浅代表数据的一个特定值或值的范围,通常使用红色、黄色和绿色等颜色渐变来表示数据的热度&…

【TB作品】MSP430F5529 单片机,数字时钟设计与实现,整点时通过蜂鸣器播放音乐进行报时

基于单片机的数字时钟设计与实现 作品名称 基于MSP430单片机的OLED显示数字时钟 作品功能 本作品实现了一个具有时间显示和整点报时功能的数字时钟。通过OLED屏幕显示当前时间,用户可以通过按键设置时间,并在整点时通过蜂鸣器播放音乐进行报时。 作…

MySQL JDBC编程

前言👀~ 上一章我们介绍了数据库的索引与事务,本章节我们介绍JDBC编程,使用java代码和数据库打交道 如果各位对文章的内容感兴趣的话,请点点小赞,关注一手不迷路,如果内容有什么问题的话,欢迎各…

双指针算法题笔记

1、移动零 class Solution {public void moveZeroes(int[] nums) {int left0;int right0;for(right0;right<nums.length;right){if(nums[right]!0){if(nums[left]0){int tempnums[left];nums[left]nums[right];nums[right]temp;}left;}}} } 两个指针将一个数组划分三个部分&…

使用OpenPCDet训练与测试多传感器融合模型BEVFusion,OPenPCdet代码架构介绍

引言 在自动驾驶领域&#xff0c;多传感器融合技术是一种常见的方法&#xff0c;用于提高感知系统的准确性和鲁棒性。其中&#xff0c;BevFusion是一种流行的融合方法&#xff0c;可以将来自不同传感器的数据进行融合&#xff0c;生成具有丰富信息的鸟瞰图&#xff08;BEV&…

探索800G数据中心的高速布线解决方案

随着技术的快速进步&#xff0c;数据中心正以前所未有的速度迅速发展。虽然100G和400G数据中心已经普及&#xff0c;但800G数据中心正逐渐流行并展现出增长趋势。由于对高速数据传输的需求呈指数级增长&#xff0c;因此需要高效、可靠的线缆连接解决方案。本文将介绍800G数据中…

Cell-在十字花科植物中年生和多次开花多年生开花行为的互相转化-文献精读21

Reciprocal conversion between annual and polycarpic perennial flowering behavior in the Brassicaceae 在十字花科植物中年生和多次开花多年生开花行为的互相转化 亮点 喜马拉雅须弥芥 和 内华达糖芥 是两个多年生植物模型 MADS-box 基因的剂量效应决定了一年生、二年生…

[图解]企业应用架构模式2024新译本讲解11-领域模型4

1 00:00:00,160 --> 00:00:01,870 好&#xff0c;到这里的话 2 00:00:02,620 --> 00:00:05,060 文字处理器的产品对象就生成了 3 00:00:06,880 --> 00:00:09,180 同样下面就是电子表格 4 00:00:10,490 --> 00:00:11,480 电子表格也同样的 5 00:00:11,490 -->…

用python编撰一个电脑清理程序

自制一个电脑清理程序&#xff0c;有啥用呢&#xff1f;在电脑不装有清理软件的时候&#xff0c;可以解决自己电脑内存不足的情况。 1、设想需要删除指定文件夹中的临时文件和缓存文件。以下是代码。 import os import shutil def clean_folder(folder_path): for root,…

11 IP协议 - IP协议头部

什么是 IP 协议 IP&#xff08;Internet Protocol&#xff09;是一种网络通信协议&#xff0c;它是互联网的核心协议之一&#xff0c;负责在计算机网络中路由数据包&#xff0c;使数据能够在不同设备之间进行有效的传输。IP协议的主要作用包括寻址、分组、路由和转发数据包&am…

计算机网络 期末复习(谢希仁版本)第4章

路由器&#xff1a;查找转发表&#xff0c;转发分组。 IP网的意义&#xff1a;当互联网上的主机进行通信时&#xff0c;就好像在一个网络上通信一样&#xff0c;看不见互连的各具体的网络异构细节。如果在这种覆盖全球的 IP 网的上层使用 TCP 协议&#xff0c;那么就…

2024 vite 静态 scp2 自动化部署

1、导入库 npm install scp2 // 自动化部署 npm install chalk // 控制台输出的语句 npm install ora2、核心代码 创建文件夹放在主目录下的 deploy/index.js 复制粘贴以下代码&#xff1a; import client from scp2; import chalk from chalk; import ora from ora;const s…

K8s速览

k8s的核心能力 ● 服务发现与负载均衡 ● 服务恢复 ● 服务伸缩 ● 自动发布与回滚 ● 批量执行 架构 server-client两层架构&#xff0c;Master作为中央管控节点&#xff0c;会和每一个Node进行一个连接&#xff1b; 所有UI层&#xff0c;client的操作&#xff0c;只会和Mat…