自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(183)
  • 资源 (1)
  • 收藏
  • 关注

原创 [视觉基础知识]: img to bev # include bev seg

为了解决这个问题,传统上一个常见的做法是IPM(inverse perspective mapping,逆透视映射),但这个方法会依赖这些假设:1. 固定的相加外参;2D图像本质上是3D空间在2D平面上的投影,如果反过来得到bev表示是一个 inherently ill-posed problem。有源传感器(lidar or radar)得到的数据,天然就是一种bev表示(x-y平面);但是当相机外参变化时,或者非平坦表面或崎岖不平的道路,该方法就逐渐失效了。收集标注数据是一个很难的问题。

2024-03-20 10:33:26 311

原创 [视觉基础知识]: 点云数据

PCD 不是第一种支持 3D 点云数据的文件类型。尤其是计算机图形学和计算几何学社区,已经创建了多种格式来描述使用激光扫描仪获取的任意多边形和点云。

2024-03-20 10:26:30 145

原创 [Open3d]: 知识记录

python api 官方手册:http://www.open3d.org/docs/release/可视化:http://www.open3d.org/docs/release/tutorial/visualization/visualization.htmlpython-vis 参考代码:https://github.com/isl-org/Open3D/tree/master/examples/python/visualization。

2024-03-20 10:18:05 346

原创 [python][高级语法]:知识记录

使用__slots__要注意,__slots__定义的属性仅对当前类起作用,对继承的子类是不起作用的。参考:https://www.liaoxuefeng.com/wiki/897692888725344/923030542875328。

2024-03-20 10:02:56 166

原创 [shell]: 知识点

【代码】[shell]: 知识点。

2024-03-20 09:58:38 402

原创 [pytorch][grid_sample]: 知识记录

torch中实现双线性插值或者双线性采样,参考:https://fesian.blog.csdn.net/article/details/108732249。grid shape为NHoutWout2,表示输出来源于输入哪个位置x,y,xy归一化到[-1,+1]之间了,

2024-03-20 09:55:31 233

原创 混合精度训练(AMP)

1、nn.Moudule的fp16_enabled属性,全局控制是否进行fp16的转换;2、apply_to参数,控制哪些forward参数进行fp16的转换;3、out_fp32控制,是否对输出转为fp32,默认不转。1、如果fp16_enabled没有,或者没开,不做任何操作;2、apply_to控制哪些参数需要转为fp32;3、out_fp16,控制是否将输出转为fp16,默认不转。注:递归要访问module.children(),而不是module.modules()。

2024-03-20 09:51:13 378

原创 [Python][分析import耗时][分析package依赖][包依赖管理]

【代码】[Python][分析import耗时][分析package依赖][包依赖管理]

2024-03-19 17:00:55 97

原创 快捷配置pypi源,alias操作

然后终端执行下面命令,即可上传whl到制定源。

2024-03-18 12:01:25 201

原创 torch.backends.cudnn.benchmark 作用

如果输出结果为True,则表示cuDNN已成功设置为PyTorch的后端。这意味着PyTorch将利用cuDNN加速深度神经网络的计算。

2024-03-13 17:10:13 504

原创 pytorch DDP模式下, 获取数据的的preftech + stream

torch/nn/parallel/_functions.py,默认tensor to gpu,已经有了stream的加持。结论:目前DDP模式下,已经有了preftech + stream的加持。

2024-03-13 17:02:55 349 1

原创 NVIDIA相关工具

nvvp,nvprof是cuda toolkit集成的工具,用于生成GPU timeline的工具。nvprof是命令行工具,我们的模型常常是运行在远端的服务器上,我们需要把输出的监测数据拷贝至本地查看,这个时候需要用到nvvp进行可视化分析。nsight是NVIDIA最新的用于监测kernel timeline的工具。

2024-03-13 12:13:35 141

原创 矩阵乘积知识

矩阵相乘最重要的方法是一般矩阵乘积。它只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有意义 [1]。要求相乘的两个矩阵A和B大小完全相同,即A,B大小都为M*N,对应元素相乘。外积:对于向量来说,相当于做了广播乘。别名:矩阵点乘,点积,又称哈达码积。

2024-03-13 12:08:38 439

原创 pre-commit 知识小记

【代码】pre-commit 知识小记。

2024-03-12 19:40:01 109

原创 GITLAB - CI 常用语法小记

【代码】GITLAB - CI 常用语法小记。

2024-03-12 11:14:16 417

原创 python setup.py develop 多进程编译,出现“Missing ‘Version:‘ header and/or PKG-INFO file“ 问题

时,会在相同的目录下进行Version文件的写读删操作,会导致多个进程之后,删除和读取出现冲突,导致读取失败。该问题是已知问题,setuptools 作者进行了修复,试着更新setuptools版本到。

2024-02-18 20:25:24 182 1

原创 软件领域 & 测试角度的测试认知。

协会不推荐这个词语, simply test 反而更好。

2024-02-02 14:56:38 137

原创 Vscode工具使用指南

配置好之后, 本地修改会同步到远程 # 配置好之后要重装一下插件(选择remote版本), 比如C/C++, GitLens之类的, 才能正常跳转。VSCode远程连接Linux服务器:https://www.cnblogs.com/zys2019/p/14810286.html。参考:https://blog.csdn.net/Mecaly/article/details/131286228。注:如果打开的C++工程,python貌似跳转不了了?比如:save as,gitlens 弹窗等。

2023-11-26 19:17:32 1274

原创 MOT学习 - SORT算法

paper:https://arxiv.org/abs/1602.00763code:https://github.com/open-mmlab/mmtrackinghttps://github.com/abewley/sort摘要SORT:Simple Online And Realtime Tracking,方法介绍online(只考虑利用利用历史帧信息)+ realtime(很快,260HZ)方法是对卡尔曼滤波+匈牙利匹配进行组合此外,提到了检测对于MOT的重要性,简单换一个检测器,

2022-05-09 19:54:14 1064

翻译 人体姿态估计 - Bottom-Up Human Pose Estimation Via Disentangled Keypoint Regression(DEKR)

B站:https://www.bilibili.com/video/BV1ky4y1s76X?spm_id_from=333.999.0.0人体姿态估计方法分类Top-Downpipeline:图片 -> 检测器 -> 多个行人 -> for person in detected persons,单独做关键点检测优点:精度高缺点:计算量大,耗时高Bottom-Uppipeline:图片 -> 关键点回归(heatmap估计) -> 关键点分组(keypoints

2022-05-09 19:42:00 1259

翻译 MOT学习 - 卡尔曼滤波

参考资料:https://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/What is it?使用场景:对于某个动态系统有不确定的信息,需要对系统接下来要做什么做出有根据的猜测。卡尔曼滤波器非常适合不断变化的系统。鲁棒性:即使混乱的现实出现并干扰了您猜测的清晰运动,卡尔曼滤波器通常也能很好地找出实际发生的情况。它可以利用您可能不会想到利用的疯狂现象之间的相关性!实时性:优点是内存占用少(除了以前的状态之外不需要保留任何历史记录),而

2022-05-07 12:24:58 950

原创 numpy - 线段插值

import numpy as npimport matplotlib.pyplot as pltline1 = np.array([[ 8.52961447, -78.20367063, 1.45 ], [ 8.56813782, -75.51640874, 1.45 ], [ 8.6251203 , -72.7974809 , 1.45 ], [ 8.68567765, -70.09587369, 1.

2022-03-25 20:02:46 1643

原创 相机去畸变学习

参考资料https://docs.opencv.org/4.x/d4/d94/tutorial_camera_calibration.html # 推荐背景介绍相机存在畸变,产生的图像会失真,但这些都是常数,通过校准和一些重新映射,我们可以纠正这个问题。畸变分为径向和切向径向畸变对于(x,y) 坐标处的未失真像素点,它在失真图像上的位置将是(x_distorted, y_distorted)x_{distorted} = x( 1 + k_1 r^2 + k_2 r^4 + k_3 r

2022-03-16 12:13:49 4344

原创 cmake学习

参考资料CMake Tutorial:https://cmake.org/cmake/help/latest/guide/tutorial/index.htmlCMake 社区:https://discourse.cmake.org/CMake wiki:https://gitlab.kitware.com/cmake/community/-/wikis/homeCMake 实践:http://file.ncnynl.com/ros/CMake%20Practice.pdfCMake 如何入门 知

2022-03-15 16:02:54 1347

原创 proto学习

介绍protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于通信协议、数据存储等。protocol buffers的接口: c++, java, pythonAPI doc link: https://developers.google.com/protocol-buffers/docs/reference/overview参考:https://www.jianshu.com/p/a24c88c0526a通俗点说,就是将要发送的消息,通过protobuf格

2022-03-10 18:42:40 1847

原创 git merge - 当前分支某些文件/文件夹不做merge

存在两个分支: dev和dev_xxx, dev_xxx上有些文件是和用户有关的不想更改, 但是dev分支这块已经更改了, 在merge过程中如何保证这些文件保持不变.step 1. git config --global merge.ours.driver truegit config --global -luser.name=xxxuser.email=xxxcore.editor=vimcore.filemode=falsecore.whitespace=cr-at-eolmerge

2021-12-15 14:44:53 1362

原创 pytorch学习之 - 跨卡收集结果

核心步骤:结果做序列化跨卡之间做all_gather操作将结果做反序列化序列化In [21]: import pickle ...: import torch ...: ...: result_part = [1, 2, 3, 4] ...: part_tensor = torch.tensor(bytearray(pickle.dumps(result_part)), dtype=torch.uint8) ...: recover_result =

2021-12-10 20:25:43 997

翻译 torch.nn.PixelShuffle

参考:https://pytorch.org/docs/stable/generated/torch.nn.PixelShuffle.htmlpixel_shuffle = nn.PixelShuffle(3)input = torch.randn(1, 9, 4, 4)output = pixel_shuffle(input)print(output.size()) # 1, 1,12,12In [10]: input.sum()Out[10]: tensor(-12.1099)In

2021-11-16 14:37:59 1334

翻译 How to stop tracking and ignore changes to a file in Git?

参考:https://stackoverflow.com/questions/936249/how-to-stop-tracking-and-ignore-changes-to-a-file-in-git有三种方式直接从.git删除git rm --cached <file-name> or git rm -r --cached <folder-name>.git不会再记录该文件,只有本地会保留。.git不再记录更改,pull会覆盖当前文件/目录git upda

2021-11-15 11:18:27 195 1

原创 3D视觉基础知识 - 坐标变化

参考:https://blog.csdn.net/chentravelling/article/details/53558096世界坐标系 -> 相机坐标系 -> 像素坐标系Zc是相机坐标系Z轴的长度,对应着物体的深度

2021-11-11 17:40:07 2715

原创 torch.as_tensor 修改原始ndarray的值

https://pytorch.org/docs/stable/generated/torch.as_tensor.html输入是ndarray时,如果device是cpu,对创建的tensor做修改,也会改变原ndarray的数值。>>> a = numpy.array([1, 2, 3])>>> t = torch.as_tensor(a)>>> ttensor([ 1, 2, 3])>>> t[0] = -1&g

2021-11-11 16:48:39 1440

原创 3D检测入门 - KITTI数据集

参考链接官网:http://www.cvlibs.net/datasets/kitti/index.php传感器介绍:http://www.cvlibs.net/datasets/kitti/setup.php相机内外参简介:https://www.cnblogs.com/wangguchangqing/p/8126333.htmlkitti可视化工具:https://github.com/kuixu/kitti_object_vismmdet3d可视化代码:mmdet3d/core/visual

2021-09-16 23:36:11 1747 1

原创 ubuntu上安装docker命令

参考:https://nixcp.com/docker-command-not-found/安装命令:sudo apt-get updatesudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-commonsudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

2021-08-11 11:17:05 182

原创 多任务一些难点 & 可做的点

1\ stride 4 > stride 4+8+16+32+64, bs from 10 > 6, 多尺度训练速度慢, 两阶段耗时两者对比: 1d17h vs 2d6h2\ 分割任务加stride=2做额外监督, 受显存限制, bs from 10 > 2, 太小了3\ 分割指标离驾驶还有较大差距, 和驾驶那边的细节差异目前还缺乏一个完整的调研4\ 多任务中, 各个检测单任务缺乏探索与调参(目前各个检测都共享一套超参)5\ 缺乏前后帧缺数据集, 从可视化结果来看, 和2.5D任务

2021-06-09 17:56:42 346

原创 注册构建机制的优势和劣势

优势:用户可以用一个config控制整个pipeline, 不用考虑类的具体实现和代码地址。抽象一些Registry, 比如模型可以抽象为: backbone, neck, head, output_module, loss, target, decoder。代码可读性更强。扩展方便, 用户只需通过一个Registry的装饰器即可添加新的类。劣势:config中不能进行代码补全, 不符合python的编程习惯。写Registry的时候, 容易出现重名冲突问题。比如resize这个trans

2021-06-09 17:43:01 211 2

原创 如何设置合适的anchor

写在前面基于anchor的检测方法,anchor的作用是作为GT框和分配到Feature Map(后面简称FM)的一个媒介,通过计算FM上每个grid对应的anchor和GT之间的IOU大小,如果IOU大于一个阈值,那么这个grid就被分为正样本,如果小于阈值,则被分为负样本。Anchor有两个属性,表示大小的scale,表示宽高比的ratio。对anchor的设置直接会影响到正负样本的生成。在具体实现代码中,anchor的大小通常由 anchor_base_sizes 和 anchor_scales决定

2021-06-07 11:56:44 1606

原创 git reset & checkout <file> 详解

参考:https://www.jianshu.com/p/c2ec5f06cf1ahttps://www.runoob.com/git/git-reset.htmlhttps://www.runoob.com/git/git-basic-operations.htmlgit resetgit reset 命令用于回退版本,可以指定退回某一次提交的版本。git reset 命令语法格式如下:git reset [--soft | --mixed | --hard] [HEAD]有三种模式

2021-05-09 14:59:29 465

原创 Python学习 - NamedTuple

NamedTuple, 中文名称为 具名元组, 使用此函数可以创建一个可读性更强的元组在使用普通元组的时候,我们只能通过index来访问元组中的某个数据, 使用NamedTuple的时候, 可以采用这两种方式进行访问:1. 通过索引index访问; 2. 通过.xx属性访问创建NamedTuple类, 用来构建NamedTuple的实例对象, 有以下两种方法方法1: 直接调用NamedTuplefrom torch import Tensorfrom typing import NamedTupl

2021-05-07 19:37:53 247

原创 Python中的Mixin模式

参考多重继承:https://www.liaoxuefeng.com/wiki/897692888725344/923030524000032多继承__init__与super介绍:https://blog.csdn.net/qq_26442553/article/details/81775449Mixin是什么概念?:https://www.zhihu.com/question/20778853wiki百科:https://zh.wikipedia.org/zh-hans/MixinMixin是

2021-05-07 18:00:15 316

原创 Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics 论文阅读笔记

论文地址:https://arxiv.org/abs/1705.07115code:https://github.com/yaringal/multi-task-learning-example摘要:讲了多任务的好处,多任务的性能很依赖每个单任务loss的权重。网格搜索很耗资源,本文提出了一个方法,在训练过程利用每个任务的同方差不确定性(homoscedastic uncertainty of each task)来确定loss-weight。本文实验的任务:深度估计,语义分割,实例分割。介绍:优化每

2021-04-26 19:42:46 423

ADS1118的MSP430实现代码

采用MSP430F169对AD芯片ADS1118进行编程,然后将采集到的电压数据显示在LCD4602上。

2016-10-26

空空如也

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

TA关注的人

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