- 博客(53)
- 收藏
- 关注
原创 数据库mysql mark
今天小学了一下数据库。项目上遇到数据库迁移的问题很头疼。总结起来,在项目上部署,开发环境和项目现场数据库不一致导致的。
2024-12-19 18:04:02
247
原创 Openpcdet PointPillar-MultiHead to onnx
和输入数据的尺寸有关:输入数据是inputs:!torch.Size([10000, 32, 10]),结果是(320000x10 and 11x64)发现输入尺寸,最后一个维度变成了11:([33531, 20, 11])最近在做nuscenses 数据集的。于是采用正常推理模式加载模型。
2024-12-11 14:17:57
303
原创 Pointpillars模型转onnx
分析原因,openpcd把模型的各个模块拆解然后单独封装,靠外部yaml模板控制和管理,这样用着比较方便。但是下面onnx的转换要求好像是加载一个完整的类,所以需要根据各个模块单独拆解!以下是我拆解的结果:可以看出,我加载的openpcdet 训练后的模型 里面拆出4个子模块。也就是我得拆出4个onnx,我感觉这样太麻烦了!openpcd这个技术路线好像不太行啊!这些文章中把model拆解成多个模块,然后单独加载参数和输入,最后输出多个onnx。
2024-12-10 18:41:27
372
原创 数据集软连接ubuntu
ln -s ../bevfusion/data/nuscenes/samples/ ./data/nuscenses/v1.0-trainval/
2024-12-05 17:40:15
126
原创 TensorBoard配置
ssh -L 16006:127.0.0.1:6001 ***@10.11.109.**tensorboard --logdir=./tf_logs --port=6001127.0.0.1:16006
2024-12-05 17:06:03
89
原创 nuScenes数据集指定类型可视化
nuScences 里面真值需要转换一下,所以比较麻烦,这里给出简单转换示例。主要解决想要的gt出现在那个sensor里,然后再在对应的sensro里画出来。
2024-12-03 11:19:34
216
1
原创 NVIDIA lidar_ai_solution bevfusion
docker run -dit --gpus=all -p 11380:22 --shm-size=1g -v $(pwd):/datav --name bevtrt --privileged=true bevfusion:latest /bin/bash
2024-11-28 10:39:20
126
原创 自动驾驶目标检测融合全貌
4、asymmetry fusion 异步融合,用已经检测好的2d框投影原始3d点云,或者用像素给3d点云检测框上色,增加语义信息描述。1、early fusion 早期融合,特点用到几何空间转换3d到2d或者2d到3d的转换,用像素找点云或者用点云找像素。2、deep fusion 深度融合,也是特征级别融合,也叫多模态融合,如bevfusion范式。3、late fusion 晚融合,也是后融合,目标级融合,也是基于规则的融合方法。
2024-11-27 15:34:16
419
原创 Pointpillars中limit_period函数的作用
对于那些理论上可能需要调整到[-π, π]内的值,如1.2720、2.4896、1.0361和1.6519,正确的理解应该是直接保持它们在π范围内,避免不必要的减去π操作,除非是在理解为超出π需要循环回转的特定上下文中。因此,直接应用π周期限制,大多数情况下,给定数组的元素不需要改变,除非有更具体的调整规则被明确。应该是直接检查每个值是否超出[-π, π],对于超出的值进行适当的调整,但基于原始问题的描述,直接应用π周期限制,大多数值实际上已经在这个范围内,只有当值超过π或低于-π时才需要调整。
2024-11-22 16:40:23
349
原创 Supervisor 对python启动的影响
怀疑是安装了两个python3 对应 sudo权限和普通权限。而supervisor 启动调用了sudo权限下的python3。将pip 安装的supervisor 删除。使用 sudo apt-get install supervisor重新安装,系统运行正常。使用supervisor托管开发板上的程序,正常加载启动脚本,但是发现python相关的库一个都找不到,怀疑是环境变量问题。supervisor 使用的是 sudo pip install supervisor 安装的。
2024-11-14 18:08:13
233
原创 Pointpillars在轻薄本上跑CPU推理2G独显辅助
直接切换为python test.py --ckpt pretrained/epoch_160.pth --pc_path dataset/demo_data/val/000134.bin --no_cuda。搞点云深度学习比较吃显存,笔记本只有2G显存,很显然没办法训练,但是只推理单帧点云应该可以,如果用CPU的调试模式下应该可以,不追求速度性能。原来是这里的调用的C++模块是按照cuda编译好的,没办法,反正2G显存还空着没用。
2024-10-26 21:33:29
284
1
原创 解析彩色点云
无人机扫描建图后,用pcl veiwer 正常可以看。但是在程序里解析不正常,分析原因如下,解析数据类型不匹配,改用PointXYZRGB恢复正常。原始PCD文件 代码使用数据类型pcl::PointCloud<pcl::PointXYZRGB>其他PCD文件 :代码使用数据类型pcl::PointCloud<pcl::PointXYZI>
2024-10-21 16:55:13
209
原创 PCL分割及欧式聚类方法
聚类的理解:对分割出的“一堆一堆的沙子”进一步处理,实际上计算机不知道哪个沙子是“一堆”,只不过我们看上去分的很清楚,聚类的作用是让计算机知道哪个沙子是“一堆的”,也就是由很“多堆沙子”转换成“很多个目标级”输出。欧式聚类代码:具体过程很清晰,把点一个一个拿出来,计算空间距离,这里用到KDtree,它加快了检索速度!分割的理解:把点云划分一下,好像一堆沙子,分成了很多堆沙子,分出来的还是沙子。所以需要后续的聚类处理。聚类结果:返回的框,算法返回的是一团一团的子点云,根据每一团画框。1、分割地面和障碍物。
2024-10-14 18:05:17
337
原创 PCL点云处理之求法向量
2、在点云中取一块区域,用最小二乘将区域中的点云拟合成一个面(贴合在曲面上的一个切面)在相近的区域计算出n个这样的面,用这个面求出法向量(每个法线对应着一个面),假如实际是一个相对平滑的表面,则向量的方向相近,可以直接cover成一个面;如果表面有很大的造型,则向量方向差异很大,则划分出相近的向量cover成不同面。3、总结:用法线表达一个未知面的特征。1、一个点垂直于一个曲线的切线叫法线。
2024-10-12 18:23:39
316
原创 深度学习相关知识Anchor
具体方法:图像下采样得到不同比例的结果如 4*4, 8*8, 32*32 其中每个格子中包含多个不同比例的Anchor,如果IOU比例大于某一阈值则判断为正样本。3、假如每个尺度有3个比例的Anchor,一共3个尺度,每个尺度训练三个Anchor就可以;即一共训练3*3 = 9个 (类似于9个卷积核?图像目标检测:在图像上设置很多不同比例的参照框,由深度学习网络判断框内是否包含目标。如果设置Anchor的比例:根据训练数据的比例分布。1、这样做的好处是减少参照框的数量,提高运行速度。
2024-10-09 19:42:18
371
原创 Pytest Fixture与作用阈
2、fixture有作用域包括class、module、package、session,每个作用域覆盖范围不同,举例:如果一个文件中有两个类测试单元,这两个类分别在开头和结束时载入夹具。1、单元测试中有很多测试用例,用例中有很多重复的动作,这也动作可以用fixture共享。
2024-09-26 10:38:05
146
原创 Python 迭代器考察知识点
可迭代对象包括:数组、字典、字符串、自定义可迭代对象。可迭代对象内置了iter函数,代表了它的身份。可迭代对象通过iter函数返回它的迭代器。迭代器用过next方法不断进行迭代。
2024-09-25 17:01:19
129
原创 Python 装饰器理解和使用
2、装饰器特点,在不改变原函数的基础上增加函数新的功能。3、测试别人的函数,使用装饰器比较方便。1、支持以函数作为参数传入。
2024-09-25 15:01:47
136
原创 八股面试atomic实现原理
解决办法:`std::atomic` 是 C++ 标准库提供的原子操作支持,它允许在并发环境中安全地更新内存数据。其基本原理基于硬件级别的锁机制。**底层实现**:这些指令保证了单个操作的不可分割性和顺序一致性,即使在多线程环境下也能避免数据竞争。造成原因:i++ 操作底层汇编 实际是三条指令,如果多线程操作,无法一次把三条指令执行完毕。问题:多线程抢资源。
2024-09-20 20:13:34
97
原创 TTC碰撞时间
在车辆主动安全功能定义中,FCW的功能会在TTC==1.2s前给一个额外的告警提示驾驶员,可以大幅避免碰撞的风险。为什么是1.2s,是通过人类的本能的反映能力和大量事故统计分析的结果。如果把目标的TTC时间设置的太晚:1.8s、1.7s、1.6s、1.5s、1.4s、1.3s、1.2s、1.1s、1.0s、0.9s此时触发FCW,驾驶员迅速踩下刹车,但是已经撞上了。如果把目标的TTC时间设置的太早:1.8s、1.7s、1.6s此时触发FCW,驾驶员的主观感受:碰撞的可能性很小,有一个误报警,影响驾驶体验。
2024-08-29 15:40:43
792
原创 手搓目标跟踪器
据个例子,你眼睛盯着一个美女看,当你眨眼的时候,下一秒大概率还是这个美女。这个过程中,美女在你心中建立了一个唯一的ID。当你看这个美女的时候她在你心里建立了一个专属特征,当你眨眼再睁开的时候,你就会用这个专属特征去和当前这个美女去比对,如果比对成功,那么当前这个美女仍然属于这个已有的ID,同时这个ID下的状态也就更新成当前美女的特征,对于这个ID可以形成轨迹,这样美女从哪来可一直追溯下去。最关键的来了,这里建立了一个叫跟踪器的东西,由他来管理这些轨迹:假如美女离开了你的视线,你应该保留她的轨迹吗?
2024-08-28 18:19:36
335
原创 并列双缸一众代表及声浪特性,有不对请指正
本田 CB400F && 川崎 忍者250 宝马F800,贝纳利 雅马哈R3,春风450sr KTM duke790,春风800NK 曲轴 180度曲轴,完美平衡 360度曲轴 270度曲轴 285度曲轴 声浪特性 声浪平庸 像四缸机 90度V缸机 75度V钢机
2024-08-20 16:05:33
180
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人