自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 【目标跟踪】ByteTrack详解与代码细节

ByteTrack 在是在 2021 年 10 月公开发布的,在ECCV 2022中获奖。它以一种简单的设计方式击败了当时各路“魔改”跟踪器,在 MOT17 数据上首次突破了80 MOTA,并且在单张 V100 中推理速度高达 30FPS。 我把 ByteTrack 核心思想概括为:1. 当目标逐渐被遮挡时,跟踪目标与低置信度检测目标匹配。2. 当目标遮挡逐渐重现时,跟踪目标与高置信度检测目标匹配。另外,要慎重考虑并处理检测的假阳性,无目标检测出低置信度框的情况。网上常常把DeepSort与

2024-04-19 13:35:42 16305 13

原创 【目标跟踪】相机运动补偿

然后,使用矩阵的每个元素中的最小值作为我们的成本矩阵 C 的最终值。M ∈ R2×2 是包含仿射矩阵 a 的尺度和旋转部分的矩阵,并且 T 包含平移部分。在许多复杂的场景中,预测边界框的正确位置可能会由于相机运动而失败,这导致2个相关边界框之间的重叠率低,最终导致跟踪器性能低下。实际测试发现步骤 2 的提升是很大的,尤其是对突然发生抖动场景(如车子过减速带,急刹车等)。在经过上述式子更新过后,我们可以得到计算相机运动补偿后的目标状态与增益,此时把相应的 X,P 进行卡尔曼滤波的更新步骤。

2024-02-04 15:28:11 3910 1

原创 【目标跟踪】点云3D跟踪

一、前言。

2024-02-01 16:04:57 2254 6

原创 【目标跟踪】解决多目标跟踪遮挡问题

目标跟踪在发生遮挡时,极其容易发生Id Switch。网上许多算法忽视跟踪遮挡问题,同时网上相关资料也很少。博主为了解决跟踪遮挡,翻阅大量论文。分享其中一篇论文。论文介绍了一种思路,但是未提供代码,博主根据论文思路编写了相关代码。验证后发现,效果好得出乎意料。阅读本文需要一定跟踪的基础。

2023-12-26 11:38:34 4390 11

原创 【传感器标定】相机与雷达外参标定(理论与代码)

1、相机外参标定需要提前已知相机内参,相机内参标定这里不细谈, 推荐一篇博客计算机视觉(相机标定;内参;外参;畸变系数2、外参标定转化数学问题:计算一个三维坐标系到另一个三维坐标系的旋转与平移。3、标定方案参考论文地址。实际标定对比,此方法精度高、操作方便。4、标靶:贴一张虚拟的标靶图片:(实际标靶要根据需求自行制作)

2023-08-04 15:37:34 2647 5

原创 docker安装与镜像打包

想必大家都遇到过类似的困扰,拿到git上的一套代码,想在本机上运行,又缺少环境。配制环境,不是遇到缺少库,就是版本不兼容各种问题。大家共同开发一套代码,如果有共同的服务器,配置一次环境大家都可以用,如果没有,就需要每个人都需要配置环境,又费时又费力。这时候就需要我们的docker。docker是什么,Docker 是一个开源的容器化平台,用于开发、运输和运行应用程序。它将应用程序及其依赖项打包到一个可移植的容器中,确保在任何环境中都能一致地运行。

2024-10-21 15:34:28 5623

原创 【ros】结果实时在线可视化

1. 感知与规划控制是无人驾驶算法重要算法,在交付测试阶段也最容易引起摩擦,这也是司空见惯的现象。有时候可能是接口对齐问题、有时候可能是版本管理问题、有时候可能是第三方如云平台问题、有时候车子硬件自身问题。2. 当然有时候也可能是**感知算法**与**规控算法**自身问题,所以拥有"自证清白"的能力是十分必要的。比如今天博主分享的感知结果实时可视化。具体实现可见下文。3. ros 订阅 perception 结果进行在线可视化。发布 sensor_msgs::Image 结果,通过 rviz 实时在线观

2024-04-10 14:30:49 1308 7

原创 【目标跟踪】红绿灯跟踪

1. 红绿灯场景对当前无人驾驶来说是个灾难性的挑战。暂且不说复杂的十字路口,譬如简单的人行道红绿灯也算挑战。2. 这里简述下一般的处理方式:建图定位告知前方是个人行道路口,此时车子在经过红绿灯前应先停止,此时规划接受感知发送的信号,如果接收到红灯or黄灯,则车子停止。直到接受到绿灯则进行。3. 本篇会初略分享红绿灯感知包括但不限于检测+跟踪+分类。重点讲解如何稳定跟踪。1. 检测用的 yolo 系列模型,这部分已经很成熟了,主要内容是标注数据与训练。由于当前训练数据不够,可以看出除了正前方,左右两方的

2024-03-29 18:29:33 1509 4

原创 【目标跟踪】奇葩需求如何处理(二)

一、前言。

2024-03-21 15:17:27 908 3

原创 【目标跟踪】奇葩需求如何处理(一)

在低级别无人驾驶中,一般就是辅助倒车,辅助驾驶,辅助避让。或者说多数情况无人驾驶都是在特定的场景,如常说的高速场景。而在高级别无人驾驶中如L4级别,要考虑的需求会大很多。当然,在 2024 年的今天,想在乘用车上实现无人驾驶还是有段距离,但在市场与政策双重刺激下,相信在不久的将来会实现。今天给大家分享下一些在高级别无人驾驶过程中遇到的一些奇葩需求,遇到这些需求有哪些处理方法。

2024-03-14 16:39:02 1095 1

原创 git代码上库流程(一篇就够了)

多人协同开发一个项目,为了方便管理代码,每个人代码提交不冲突。git代码仓库管理是不可或缺的。对于新手来说,既不懂git原理又不懂底层逻辑,还经常错误提交代码。这篇博客手把手教你如何轻松提交代码,这个流程记住应付大部分情况都是绰绰有余的。对于大佬,偶尔忘了也可以拿出来看看。

2024-03-02 17:11:03 1053

原创 【目标跟踪】提供一种简单跟踪测距方法(c++)

1. 在许多目标检测应用场景中,完完全全依赖目标检测对下游是很难做出有效判断,如漏检。2. 检测后都会加入跟踪进行一些判断或者说补偿。而在智能驾驶中,还需要目标位置信息,所以还需要测距。3. 往期博客介绍了许多处理复杂问题的,而大部分时候我们算力有限(内存、耗时),所以很多时候只需要提供一种检测适用的方法。4. 本篇提供一种检测跟踪测距方法,根据博主提供的 c++ 代码来进行讲解。

2024-02-18 16:09:59 1519

原创 【目标跟踪】多相机环视跟踪

一、前言。

2024-01-24 18:15:38 2037 4

原创 【单目测距】3D检测框测距

如果是2D检测框,可以估算出目标离自身的距离。函数 four_point_sort 获取对应点排序,如图 0 1 2 3 4 5 6 7 确定每个点最终顺序。get_3D_distance 计算框中心点、长、框、框朝向角。如下图id = 0目标白车,如果是2D检测框测距,会误认为车尾在点 A 处,而实际应该在图像最左侧外部。函数 read_yaml 与函数 get_r_t_mtx 是读取相机标定文件,然后获取相机内参、外参。(3) 底边四个点结果得出,根据x像素一致,得出对应的顶边四个顶点。

2024-01-22 16:14:18 1674 3

原创 【单目测距】提供一种迭代测距的思路

已知像素 (u, v) 的情况下,我们只需要知道目标离相机的深度 Zcamera ,我们就可以求出目标的相机坐标系下坐标 (Xcamera, Ycamera, Zcamera)已知 (Xcamera, Ycamera, Zcamera),又已知外参标定结果,那么很容易求出目标离我们车体 ego_car 的坐标(Xcar, Ycar, Zcar)。做为数学系出身的直觉告诉我,当 α 小于某个值时,Zcamera 收敛,当 α 大于某个值时,Zcamera 发散。"清风徐来,水波不兴,举酒。

2024-01-17 18:55:12 1191

原创 【目标跟踪】跨相机如何匹配像素

其中Zcamera 可以近似求出。看过之前博客的朋友应该可以明白,具体计算方式,代码会全部给出。问:相机 A 检测出目标1 box位置,如何计算得出目标1在相机 B 中像素的位置?第2点与第3点中像素坐标转化到相机坐标。第3点就是一个三维坐标系旋转平移变化。同一时刻相机A与相机B的图。

2024-01-11 11:32:20 1405 2

原创 【解析rosbag可视化】二维图像可视化点云

整体代码很简单,直接上代码。

2023-12-19 15:56:19 709

原创 【目标跟踪】光流跟踪(python、c++代码)

3. criteria:指定迭代搜索算法的终止条件,在指定的最大迭代次数 10 之后或搜索窗口移动小于 0.03。我们这里是从圆周轨迹16个点,当9个满足条件,此判定圆心像素点为特征点。1. threshold:边缘轨迹点和中心点的差值阈值。1. preImgGray:前一帧图片灰度图。我们这里只对检测框里的像素做特征点检测。3. prePt:前一帧图片的特征点。2. gray:当前帧图片灰度图。Optical.cpp 文件。Optical.h 文件。二、python 代码。二、python 代码。

2023-11-29 15:43:22 1510 8

原创 【目标测距】雷达投影测距

雷达点云投影相机。图片目标检测,通过检测框约束等等对目标赋予距离。计算消耗较大,适合离线验证操作。在线操作可以只投影雷达检测框。

2023-11-20 15:02:22 378 2

原创 【python】9个python进阶技巧(实用)

输出对应顺序的索引2、单引号双引号想打印字符串 “123” 但是 print 只输出 123只需要灵活运用单引号双引号,在外层嵌套单引号就可以啦3、字典键值对转换4、统计列表元素个数利用 colletions 库,经常会用到当然字符串也可以用5、列表字符串相互转换字符串转列表列表转字符串6、反转字符串判断字符串是否为回文字符串7、字符串去重利用集合的唯一性。判断元素是否有重复8、print 输出分隔符字符串可以利用乘法 不要傻傻的 print (“**********

2023-11-13 15:03:51 485 2

原创 【单目测距】已知地面坡度如何测距

上篇博客【单目测距】已知相机角度如何测距有讲到当相机不是理想状态,实际情况如相机安装时候有角度偏差,需要对相机进行标定。同时也分析影响测距误差的多个因素以及各个因素影响权重。上述都是基于地面与自身平行,当地面存在坡度尤其是上下坡度的时候。此时测距误差会非常之大。如果有 1° 坡度,那么目标在 10 m 处测距就有 20 cm 误差。如果我们提前已知到地面的坡度 sigma ,我们可以实时去修正相机外参去弥补这个角度带来的误差。下面我会提供实时修正相机外参的代码与旋转原理。

2023-11-07 17:25:56 1139 5

原创 【python】python进阶技巧

输出对应顺序的索引2、单引号双引号想打印字符串 “123” 但是 print 只输出 123只需要灵活运用单引号双引号,在外层嵌套单引号就可以啦3、字典键值对转换4、统计列表元素个数利用 colletions 库,经常会用到当然字符串也可以用5、列表字符串相互转换字符串转列表列表转字符串

2023-11-07 17:22:26 119

原创 【目标跟踪】多目标跟踪测距

先放效果图。目标框内左上角,显示的是目标距离相机的纵向距离。目标横向距离、速度已求出,没在图片展示。这里不仅仅实现对目标检测框的跟踪,且可以实现单相机进行对目标进行测距跟踪。【目标跟踪】多目标跟踪sort (python 代码)。这里不过多赘述,直接上代码,如有疑问,欢迎私信交流。运行 main.py ,结果会保存视频。博主在本地是跑通的,如果有什么疑问,可以私信交流。关于数据,我是在网上找的开源数据跑的。相机的参数是模拟的。

2023-10-24 17:08:14 1640 6

原创 【目标跟踪】多目标跟踪sort (python 代码)

多目标跟踪 sort(Simple Online Realtime Tracking)是一种基于目标检测的跟踪。根据我自己的理解把它分为个5步骤。初始化航迹。当第一帧检测结果输入时,此时航迹(trackers)为空,此时航迹保存检测结果。等待下一帧检测结果输入。预测。如果航迹不为空,航迹会预测一个 predict_box。匹配。预测的一个predict_box 与此时进来的检测结果 detect_box 匈牙利匹配(代码计算的iou)。更新。

2023-10-24 10:34:55 2155 4

原创 【传感器标定】图片校正(c++、python代码)

上一遍给出了相机标定的代码【传感器标定】相机内参标定(c++、python代码)本文章给出图片校正的代码,python 代码、c++ 代码。普通相机与鱼眼相机校正代码在细微之处有所不同,普通相机与鱼眼相机校正代码本文都会给出。

2023-10-08 14:23:22 687 3

原创 【传感器标定】相机内参标定(c++、python代码)

文章主要给出利用棋盘格标定的代码, python 与 c++ 标定代码都会给出。普通相机与鱼眼相机标定代码细微之处有所不同,普通相机与鱼眼相机标定代码本文都会还会。

2023-10-08 14:14:36 1135

原创 【单目测距】已知相机角度如何测距

承接上篇博客【单目测距】单目相机测距上篇博客告诉你基本思路,现在我们结合实际情况做个测距分析,比如相机存在角度如何测距。对此方法测距做误差分析,分析影响误差因素。

2023-09-26 14:14:33 967 8

原创 【单目测距】单目相机测距

单目相机测距是个非常具有挑战性的问题传统方法基本是两种目标尺度已知。譬如,已知目标高度或者宽度目标尺度未知本篇主要对第ii种算法进行讨论。

2023-09-19 17:16:02 2520

原创 【目标跟踪】匈牙利算法

匈牙利算法是一种在多项式时间内求解任务分配问题的组合优化算法,并推动了后来的原始对偶方法。1955 年,库恩 W.W.Kuhn 利用匈牙利数学家康尼格 D.Kőnig 的一个定理构造了这个解法,故称为匈牙利法。在多目标跟踪 Multiple Object Tracking 中,其目的主要是为了进行帧与帧之间的多个目标的匹配,其中包括新目标的出现,旧目标的消失,以及前一帧与当前帧的目标 id 匹配。

2023-09-06 16:47:59 1554 6

原创 【python】处理实时数据

实时语音识别、实时监控检测状态等等。你是不是在处理离线数据时得心应手,而在面对实时的数据处理的时候会不知所措?时序在智能制造领域是个非常重要的指标,在线实时检测是优势与趋势。python如何处理在线数据?简单说下,利用queue、threading多线程处理。(实际情况要比这复杂多得多)拿到数据后的处理要根据实际想情况而定,下面我会举个简单的例子说明。

2023-08-31 14:49:29 1573 3

原创 【linux基础】三分钟学会linux运行c++程序(cmake编译)

今天我们组来了位某985计算机学院研二实习生,问我如何在linux跑windows的代码。在此,不禁感叹:现在工业与学术研究差距如此之大!废话不多说,三分钟你就可以学会。

2023-08-29 10:39:40 3465 2

原创 【创作纪念日】512天

由于不是计算机专业,刚开始出来工作都是从csdn博客学习,配置环境,安装教程都是参考各位大佬们的博客。通过博客提升了自己的语言组织能力,熟悉了markdown编辑,排版。发布了12篇原创文章,收获了14871访问量,总排名6w+,周排名8k+,粉丝37。在工作中,想到好的点子,都会记录下来,在空闲时间写成博客分享。

2023-08-18 18:05:09 200

原创 【目标跟踪】卡尔曼滤波(公式推导与代码)

​ 1、卡尔曼滤波(Kalman filtering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波)过程。​ 2、在跟踪中卡尔曼滤波可以基于目标前一时刻的位置,来预测当前时刻的位置,并且可以比传感器更准确的估计目标的位置。​ 3、卡尔曼滤波不需要前面的历史数据,只需要前一时刻的状态数据就可以进行预测。

2023-08-18 16:37:27 2836 6

原创 【python】numpy常用方法总结

numpy是python一个库,无论数据分析还是做视觉算法,甚至写一些脚本运算都需要运用到numpy这个库。99%的人都是学了忘,忘了学。本文针对numpy常用的方法做一些总结。

2023-08-09 14:51:23 575 1

原创 【python】动态可视化+爬虫(超燃超简单)

这个爬起来很简单,信息全在界面上面,也不需要验证登录啥的,直接request+正则表达爬取信息,爬取到信息保存到csv文件。这里推荐个动态可视化库pynimate,2023年还在持续更新中。调用他们动态可视化方法,实现起来不要太简单。会了可视化,但是没有数据怎么办?去网上爬取点数据过来。从这个网站爬取近20年编程语言热度占比。首先看下他们官方例子。

2023-07-26 16:41:45 5236 18

原创 【目标跟踪】co-tracker本地环境配置

昨天有人给我发co-tracker开源,秉持着一贯好奇与好学的心态。尝试自己搭建环境跑跑demo看看效果。git链接:https://github.com/facebookresearch/co-tracker本机环境:ubuntu 18.04 cuda 11.7。

2023-07-21 15:30:57 1088 3

原创 【python】可迭代对象与迭代器

无论你是刚入门python的新兵,还是久经沙场的python老兵。相信在看完这篇本人呕心沥血完成的博客(误人子弟),大家会有新的认识和发现。1、方法一:isinstance() 既可以判断可迭代对象又可判断迭代器如果是返回True不是返回False2、方法二:iter() 仅可判断是否为可迭代对象是可迭代对象 不抛出异常不是可迭代对象 抛出异常二、魔法方法先看代码分别自定义两个类先说结论:只要对象定义了方法,那这个对象就是可迭代对象只要对象定义了与方法,那这个对象就是迭代器可迭代对象:迭代器:

2023-07-06 17:27:45 586

原创 【python】函数参数传递

在c++中,我们知道函数参数可以传值,也可以传引用。在python中函数参数到底如何传递的呢?在python函数中,为什么我们传入一个列表会导致原来一个列表也发生改变呢?参数传递时,只是让新变量与原变量指向相同的对象。可以理解为是对象的引用传递。要解决上述问题,我们需要先复习下面的一些知识。我们现在回过头来看文章开头的问题。

2023-06-28 17:30:05 390 1

原创 【深度学习】梯度下降(通俗易懂)

1、前言最近有朋友问我,损失函数与激活函数的问题,由于有段时间没接触深度学习,一下子还有点蒙。最近也是复习了下。浅讲下自己对深度学习的理解。2、梯度相信大家对导数的概念都比较清楚,...

2022-04-03 19:11:17 2489 1

原创 【机器学习】决策树(理论与代码)

一、理论部分理论部分没什么好讲的了。具体公式可以参考周志华西瓜书。计算信息熵Ent(D)与信息增益Gain(D)。原理的话就是选取信息增益最大的为根,以此类推。观察公式可以看到信息增益Gain(D)= 根节点信息熵(X) - 权重*分支节点信息熵和(Y)= X-Y由于根节点确定后 X不变,要选取最大Gain(D),就是选择最小Y。又因为Y计算过程会取负数,所以选择节点时只需取 乘积和的 最大值就行了。二、代码实现...

2022-03-29 21:19:52 3161 5

智能驾驶环视跟踪 C++代码

提供环视跟踪C++ 完整代码 具体参考文章:https://blog.youkuaiyun.com/qq_49560248/article/details/135826568

2024-01-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除