(雷达数据处理中的)跟踪算法(3) – 可用于目标跟踪实践的数据集介绍解析
说明
本博文作为跟踪算法系列博文的第3篇,对可用于目标跟踪的一份数据集进行了介绍,本文介绍的这份数据集将用于后续博文的目标跟踪实践。读者在阅读本博文前,建议先看看本系列的第一篇博文[1]:(雷达数据处理中的)跟踪算法(1) --- 整体&目录-CSDN博客
Blog
20240724 本文第一次写作
目录
说明
目录
一、数据集基本情况介绍
二、数据集解析与图示
三、目标格式匹配(与跟踪算法)
四、总结
五、参考资料
六、数据和代码
一、数据集基本情况介绍
本数据集是一套以地物杂波下固定翼无人机为探测对象的雷达弱小目标检测跟踪标准数据集。数据集涵盖强杂波、低信噪比、高动态、强机动、目标数目变化等典型场景,共计15段数据,每段数据包含一定时长的雷达脉冲序列,以及与之对应的距离波门文件和标注真值文件,数据格式规范、信息标注准确。该数据集可从链接[2]和[3]中获取,关于该数据集的具体介绍和基本使用,还有一篇相应的论文[4]可供参考(不过论文内容也就是链接[1]的内容)。
该数据集使用的雷达参数等基本信息如下:
表1.1 数据集基本信息列表
| 参数 | 值 |
| 地理区域 | 中国 |
| 杂波背景 | 地面 |
| 雷达载频 | 35GHz |
| 波形体制 | 线性调频连续波 |
| 脉冲重复频率 | 35KHz |
| 距离采样单元间隔 | 1.875m(距离分辨率) |
| 单脉冲采样点数 | 319 (其采样的最小距离是大于0的) |
| 数据量 | 8.76GB (数据集由15个数据段组成,每个数据段包含3个部分:1.data.mat对应的是包含有目标的雷达原始回波序列;2.data_get.mat是雷达回波序列对应的距离波门信息序列; 3.data_value.txt是标记文件,对应数据段从0时刻开始每隔50ms下的目标数、目标编号、目标速度、目标距离) |
| 数据格式 | *.mat *.txt |

图2.1 15个数据段内实验场景说明
下载下来的第10段数据解压缩后所包含的数据文件如下图所示(在后续的跟踪实践博文中,我将使用该段数据进行实践):

图2.2 第10段数据所含内容示意
如前所述,Data.mat中包含的是雷达回波序列,读取该data10.mat,其大小为:319*192000,319为距离维的采样点数,192000对应慢时间(速度维)的脉冲数,该值在不同的数据段中可能不一样(因为各数据段的时间不一样),在做速度维的压缩时,可以选择不同长度的脉冲数做相参积累。
Data_gate.mat中包含的是目标所在的距离信息,是一个一维数组,读取该data10_gate.mat可以得到一个大小为1*6000的数组,该数组每个数据表示在当前时刻的目标距离,数据每32个脉冲更新一次,因为雷达的脉冲重复频率是32KHz,于是相邻两数据之间的间隔为1ms。该数组的大小和前面的慢时间维脉冲也能对应上:6000 = 192000/32。 【所以在做速度维压缩时,我们可以选取每32个脉冲做一次处理】
Data_val.txt中包含的是目标真值信息,包含了时间、当前时刻目标数量、目标ID、目标速度、目标距离,打开data10_val.txt,如下图所示:

图2.3 第10个数据段的目标信息(一共120行)
该文档中,数据50ms更新一次,即每1600个脉冲输出一次结果,数据量与前述脉冲数也能对应起来:120 = 192000/1600。
【关于本数据集的使用】
本数据集其实考察(用于竞赛)的重点在于目标检测的准确性,本数据集提供了原始数据和真值数据,正常或者说正确的使用方法应该是利用自编算法处理原始数据,完成目标检测和跟踪,并与真值进行比较以评估自编算法的正确性和准确性。 不过目标检测(比如CFAR处理)并不是本系列博文关注的方向,所以在后续基于该数据集的跟踪实践中,我直接使用了真值结果,并对该结果加入噪声后送入自编的跟踪模块,查看跟踪的效果。
二、数据集解析与图示
对第10段数据进行解析和图示。
对data10.mat的处理:该数据大小为:319*192000,选取其中一个脉冲下的回波进行查看:

图2.1 其中一个脉冲下的回波时域数据
在多普勒维度选取256个脉冲作为一帧,进行二维FFT处理,得到结果如下:

图2.2 二维FFT处理后的RD图(有误?)
对原始数据的二维压缩并不是用简单的2D-FFT处理?其论文中给出的说明是:按照脉冲时刻以及重复周期进行数字下变频处理、抽取滤波处理以及脉冲压缩处理,形成脉冲压缩后的时域脉冲序列。(但是数据集的说明中没有关于调频斜率、采样率等参数的说明)。 不过对时域数据的处理不是本数据集分析的重点,更深入的研究感兴趣的读者可自己进行。
对data10_gate.mat的处理:该数据中包含的是目标的距离随时间的变化信息,对其进行解析和画图,得到结果如下:

图2.3 目标距离随时间的变化
对data_val.txt的处理:该文档中包含了各时间点下的目标真值信息,具体到data10_val.txt文档,其中一共有120个时间点下的目标信息,其中目标2只存在了100帧,本文档中的目标将作为后续跟踪算法的输入,我将其解析成了一个目标结构体(包含帧数;每帧下的目标数;每帧下的各目标的ID、距离和速度):


图2.4 目标解析结果示意图
将其可视化,画图如下:

图2.5 该数据段下的目标真值信息
三、目标格式匹配(与跟踪算法)
为方便数据解析的结果可以直接给到后端的跟踪算法使用,需要与跟踪算法部分的输入需求对齐。第二章中对目标信息的解析部分已经完成了该工作,不过需要注意的是,这里的目标ID信息是不会给到后端跟踪算法的(是经过跟踪算法处理后,我们才给目标分配航迹以及ID)。
为评价跟踪算法的有效性,将这里的目标信息给到后端的跟踪算法前,还人为加入了噪声(具体见后续的实测数据实践博文)。
对于该数据集,在后端的跟踪算法中,我们只应用目标的距离和速度信息。(所以这里其实只能构建一个目标的一维匀速/匀加速运动模型!)
四、总结
本文对一份典型的可用于目标跟踪实践的数据集进行了较为详尽的介绍。本文的工作主要是为后续基于数据集的目标跟踪实践打基础。当然,读者也可以基于本文所介绍的数据集做其它有意思的研究。
五、参考资料
[1] (雷达数据处理中的)跟踪算法(1) --- 整体&目录-CSDN博客
[2] 雷达回波序列中弱小飞机目标检测跟踪数据集 (csdata.org)
[3] A dataset for dim target detection and tracking of aircraft in radar echo sequences (scidb.cn)
[4] 宋志勇,回丙伟,范红旗,等.雷达回波序列中弱小飞机目标检测跟踪数据集[J].中国科学数据:中英文网络版, 2020, 5(3):14.DOI:10.11922/csdata.2019.0075.zh.
六、数据和代码
本跟踪系列博文所有相关的数据和代码我一并打包在了第一篇博文的链接中,读者可以去第一篇博文[1]的文末查收。
相关文章:
(雷达数据处理中的)跟踪算法(3) – 可用于目标跟踪实践的数据集介绍解析
说明 本博文作为跟踪算法系列博文的第3篇,对可用于目标跟踪的一份数据集进行了介绍,本文介绍的这份数据集将用于后续博文的目标跟踪实践。读者在阅读本博文前,建议先看看本系列的第一篇博文[1]:(雷达数据处理中的)跟踪…...
【C语言报错已解决】Use of Uninitialized Variable
🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引言: 在编程中,未初始化的变量是一个常见的问题,它可能导致程序的行为变得不可预测。未初…...
3 Go语言的变量声明
本专栏将从基础开始,循序渐进,由浅入深讲解Go语言,希望大家都能够从中有所收获,也请大家多多支持。 查看相关资料与知识库 专栏地址:Go专栏 如果文章知识点有错误的地方,请指正!大家一起学习,…...
PyMySQL库的使用方法
过程和步骤: 安装 PyMySQL 首先,需要使用 pip 安装 PyMySQL 库: pip install pymysql连接数据库 使用 PyMySQL.connect() 方法可以建立到 MySQL 数据库的连接: import pymysql# 配置数据库连接参数 config {host: localhost…...
iOS 创建一个私有的 CocoaPods 库
创建一个私有的 CocoaPods 库(pod)涉及几个步骤,包括设置私有的 Git 仓库、创建 Podspec 文件、发布到私有仓库等等。以下是详细步骤: 设置私有 Git 仓库 首先,在 GitHub、GitLab 或 Bitbucket 上创建一个新的私有仓库…...
Linux_实现UDP网络通信
目录 1、实现服务器的逻辑 1.1 socket 1.2 bind 1.3 recvfrom 1.4 sendto 1.5 服务器代码 2、实现客户端的逻辑 2.1 客户端代码 3、实现通信 结语 前言: 在Linux下,实现传输层协议为UDP的套接字进行网络通信,网络层协议为IPv4&am…...
C# 代理模式
栏目总目录 概念 代理模式是一种结构型设计模式,它为其他对象提供一种代理以控制对这个对象的访问。在代理模式中,我们创建一个具有现有对象(称为“真实对象”或“被代理对象”)相同功能的代理对象。代理对象可以在客户端和目标对…...
【1】Python机器学习之基础概念
1、什么是机器学习 最早的机器学习应用——垃圾邮件分辨 传统的计算机解决问题思路: 编写规则,定义“垃圾邮件”,让计算机执行对于很多问题,规则很难定义规则不断变化 机器学习在图像识别领域的重要应用: 人脸识别…...
HashMap源码解析
目录 一:put方法流程 二:get方法 三:扩容机制 一:put方法流程 public V put(K key, V value) {return putVal(hash(key), key, value, false, true); }final V putVal(int hash, K key, V value, boolean onlyIfAbsent,boolean evict) {No…...
[Javascript】前端面试基础3【每日学习并更新10】
Web开发中会话跟踪的方法有那些 cookiesessionurl重写隐藏inputip地址 JS基本数据类型 String:用于表示文本数据。Number:用于表示数值,包括整数和浮点数。BigInt:用于表示任意精度的整数。Boolean:用于表示逻辑值…...
C++自定义字典树结构
代码 #include <iostream> using namespace std;class TrieNode { public:char data;TrieNode* children[26];bool isTerminal;TrieNode(char ch){data ch;for (int i 0; i < 26; i){children[i] NULL;}isTerminal false;} }; class Trie { public:TrieNode* ro…...
dockerfile部署wordpress
1.将容器直接提交成镜像 [rootlocalhost ~]# docker commit 8ecc7f6b9c12 nginx:1.1 sha256:9a2bb94ba6d8d952527df616febf3fbc8f842b3b9e28b7011b50c743cd7b233b [rootlocalhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx …...
CSS(二)——CSS 背景
CSS 背景 CSS 背景属性用于定义HTML元素的背景。 CSS 背景属性 Property描述background简写属性,作用是将背景属性设置在一个声明中。background-attachment背景图像是否固定或者随着页面的其余部分滚动。background-color设置元素的背景颜色。background-image把…...
开机出现grub无法进入系统_电脑开机出现grub解决方法
最近有小伙伴问我电脑开机出现grub无法进入系统怎么回事?电脑开机出grub的情况有很多,电脑上安装了Linux和Win10双系统,但是由于格式化删除了Linux之后,结果win10开机了之后,直接显示grub>,无法…...
uboot 设置bootargs配置内核网络挂载根文件系统
uboot 设置bootargs配置内核网络挂载根文件系统 uboot设置bootargs env set bootargs "mem256M consolettyAMA0,115200 root/dev/nfs init/linuxrc nfsrootnfs主机地址:nfs路径/busybox/rootfs_glibc_arm64,prototcp rw nfsvers3 rootwait ip板子地址:nfs主机地址:网关:2…...
Vue3+.NET6前后端分离式管理后台实战(三十一)
1,Vue3.NET6前后端分离式管理后台实战(三十一)...
22集 如何minimax密钥和groupid-《MCU嵌入式AI开发笔记》
22集 如何获取minimax密钥和groupid-《MCU嵌入式AI开发笔记》 minimax密钥获取 https://www.minimaxi.com/platform 进入minimax网站,注册登录后,进入“账户管理”, 然后再点击“接口密钥”,然后再点击“创建新的密钥”。 之…...
决策树的概念
决策树的概念 决策树是一种监督学习算法,主要用于分类任务。它通过构建一棵树结构模型来进行预测,其中每个内部节点表示一个特征属性上的判断条件,每条边代表一个判断结果对应的分支,而叶节点则代表最终的类别标签。 应用领域 …...
C++《类和对象》(中)
一、 类的默认成员函数介绍二、构造函数 构造函数名与类同名内置类型与自定义类型析构函数拷贝构造函数 C《类和对象》(中) 一、 类的默认成员函数介绍 默认成员函数就是⽤⼾没有显式实现,编译器会⾃动⽣成的成员函数称为默认成员函数。 那么我们主要学习的是1&…...
SpringBoot中JSR303校验
JSR是 Java EE 的一种标准,用于基于注解的对象数据验证。在Spring Boot应用中,你可以通过添加注解直接在POJO类中声明验证规则。这样可以确保在使用这些对象进行操作之前,它们满足业务规则。个人认为非常有用的,因为它减少了代码中…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
