自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

持之以恒

算法软件工程师成长之路

  • 博客(92)
  • 资源 (2)
  • 收藏
  • 关注

原创 【计算机视觉】单应模型与单应矩阵

单应模型、Homography矩阵在SfM或三维重建、VSLAM的初始化过程有着普遍的应用单应模型矩阵的推导设给定同一平面结构两幅图像,相机的内参分别为K1K1K_1、K2K2K_2,以第一幅图的相机坐标系为参考,则两个相机的投影矩阵分别为 P1=K[I0]P1=K[I0]\begin{equation*}P_1=K\left[\begin{arra...

2020-07-19 17:16:59 702 1

原创 3D激光雷达与图像传感器的外参标定

外参标定采用长方形模板进行标定,分别获得相机的外参数和激光雷达的外参数;一种基于任意三面体的雷达-相机系统外部参数标定方法:利用环境的三面体,以其设世界坐标系,将激光点云拟合三个平面,求得平面参数,并求得两帧间的雷达的相对位姿,同时,利用射极几何模型,获得图像传感器的相对位姿运动,AX=XB。...

2020-04-02 23:36:34 1694

原创 C++内存管理与智能指针用法小结

C++ 智能指针shared_ptr,unique_ptrstd::shared_ptr<double> db_ptr(new double(0.0));//先声明,后初始化std::shared_ptr<double> db_ptr;db_ptr = std::shared_ptr<double&

2018-06-03 16:43:18 201

原创 Linux 工程开发常用命令小结

1 查看设备$lsusb #查看usb$dmesg #查看状态$depmod #depend module 用于分析可加载模块相依性,供modprobe使用$sudo -i #获取root$2 搜索3 文件操作#zip 文件的生成、解压$unzip#tar格式$tar -xvf #解压$tar -cvf #压缩4 VIM5 Git...

2018-05-14 09:13:05 224

原创 OpenMVG源码笔记

数据结构landmark 点云与相关特征点template<typename Key, typename Value>using Hash_Map = std::unordered_map<Key, Value>;using Index_T = uint32_t;struct Observation{ Observation():id_feat(Und...

2018-05-05 23:12:28 1338

原创 GoogleTest gtest 新手快速入门

15~30min完成入门 GoogleTest(gtest)是一套便捷的测试工具,适合测试算法、类(如构造过程)、功能模块等。以Ubuntu为例简介安装与使用例程。。1 快速安装Gtest:Ubuntu打开terminalwget https://github.com/google/googletest/archive/release-1.7.0.tar.gzcd goog...

2018-03-30 10:07:11 622

原创 相机标定技术原理(1):张氏标定算法详解

相机标定的三种方法1. 基于标定板的辅助标定2. 基于世界属性的半自动标定3. 自标定1. 辅助标定典型方法即标定板标定(立体标定板与平面标定板)张正友提出的标定方法应用广发,基于单应模型实现求解相机内外参数。2. 半自动标定通过利用观察到属性,如平行线、垂直关系,实现标定内参数。3. 自标定通过先验约束条件,如相机的skew因数为零,估计相机的内参数。...

2018-03-17 23:24:48 1310

原创 【OJ】LRU缓存、LFU缓存

Leetcode LRU LFU

2024-05-23 16:30:18 319

原创 【计算几何】两条线段是否相交

【代码】【计算几何】两条线段是否相交。

2024-05-22 12:02:36 157 1

原创 【算法】链表算法题子集:链表翻转、K个一组翻转、有无环、环形入口节点

应届生校招、社招软件、算法工程师面试必备算法题目,系统总结,高效刷题参考。

2024-03-13 19:26:46 639

原创 【OJ】猫狗队列

用两个队列分别保存猫、狗,用各个的入队计数判断任一出队时选择哪一种,指定类别出队则直接从相应队列出队。

2024-03-13 19:11:06 362

原创 【OJ】任意日期是星期几

【代码】【OJ】任意日期是星期几。

2024-03-12 18:22:19 483

原创 【图论】最小生成树与Prim、Kruskal算法

最小生成树

2024-03-12 18:20:28 937

原创 【计算机算法】【图论】【最优匹配与点云对准问题】最(极)大团算法

自动驾驶地图与感知匹配算法的业界最佳实践,原理详细解释,有代码参考。

2024-03-12 16:43:54 1406

原创 【SLAM】Soomthing And Mapping技术参考

参考的实验结果通过结果可视化直观验证了该方法在建图一致性方面的优势,并且量化对比了LOAM、SegMatch、IE与使用submap建图的精度,其中基于submap的建图精度最高,多个场景的上述方法的RMSE均值为85.4cm 89.0cm 14.5cm 5.3cm。Tectonic SAM,采用因子图模型,优化方法估计状态(地图与位姿参数),本文将submap类比于大陆板块(Tectonic),对submap内部节点改变不明显,submap之间可大幅度调整。求解最小二乘问题,由于使用矩阵的平方根,称为。

2024-03-11 18:26:10 1035

原创 【点云】激光点云建图评测

解决:相机与INS的外参Tci中的Z轴加0.3度,平移量z轴减去0.1m,使得某设备某次的建图重投影OK;建议LiDAR与INS的标定方法与相机和INS的标定在原理保持一致。验证方法:LiDAR与INS采用连续时间系统标定,与依靠INS定位的标定参数比对;最大厚度、90%最大厚度、厚度标准差与RMS等,类似标志牌的点云厚度评测。基本过程描述:某一时刻图像,查询INS位姿,利用Tci计算相机位姿,分析:LiDAR与INS的外参或INS与相机的外参误差过大。点云从世界坐标转换到相机坐标,利用齐次坐标表达,

2024-03-11 18:09:34 929

原创 【视觉三维重建】【论文笔记】高清3D高斯泼溅(Deblurring 3D Gaussian Splatting)

比经典高斯泼溅更佳高精

2024-03-10 17:36:12 1042

原创 【自动驾驶】Submap总结

大规模点云地图的点云数量一般为10的6+次方量级,直接而全部加载对内存大小要求高, 空间尺度大,不便于快速变换视角,为便于可视化,提高查看效率,可将原始点云按网格分组,如以20m见方将点云分划为不同的submap,可视化“缩略地图”,每个submap以单个点显示,一瞥全貌,同时可选中感兴趣的区域,“放大”,可显示选中区域的原始点云细节。为相机坐标系下B相应局部坐标系的姿态变换矩阵;陆标点在待投影相机的坐标系下表示为。为相机坐标系下B相应局部坐标系的原点坐标,则在相机坐标系下的表达,,投影方程表达如下,

2024-03-08 17:31:56 1153

原创 【设计模式】设计模式概论

软件设计的核心目标是高内聚、低耦合,概念是抽象的,需要不断的具体实践体会与总结。正交四原则与SOLID原则。

2024-03-08 17:26:25 553

原创 【论文笔记】On the Principles of Parismony and Self-Consistency for the Emergence of Intelligence

人类由于生物体的遗传约束,尤其是神经系统的低耗能、高能效比的特点,情绪与本能往往超越理智与良知,而群体(社会)的动态演变,复杂性远超越自然,致使个体与群体在某些场景、阶段表现不尽人意,同时个体也在不断学习历史经验与教训,群体演变中有一个迟滞的反馈。植物、动物的生化机理,和动物的先天遗传或本能,这都是生物进化、学习的结果,并被记录到DNA作遗传;我想动物的智能包含潜意识、情绪、感情、本能等,人类则在动物智能的基础上,进化出来理智、想象力、良知与道德感、信念与意志等等,我认为这些都可以称为模型。

2024-03-07 18:44:17 785

原创 【设计模式】工厂模式与抽象工厂模式

另一个场景,读者查、借还书都需要管理系统从数据库查询书籍、读者账户系统,同时考虑系统未来用不同的第三方数据库,如何设计呢?现在增加一个需求,增加文学书籍类,专业类、文学类都要支持按语种检索,工厂模式便于对新增需求的扩展,以图书馆管理系统为例,需要API提供查询不同专业分类的书目列表,一般实现,用统一的工厂接口提供获取数据的功能,可以把构建返回对象,提取到工厂类,

2024-03-07 17:49:01 783

原创 【设计模式】外观模式

以图书馆管理系统为背景,还书流程包含更新书的借阅状态、计算读者账户的逾期费、支付费用等,希望提供函数实现一键式处理。暴露了内部实现,客户不必知道内部知识,同时考虑未来新需求,可以把这些封装到一个类,新类提供接口,

2024-03-06 20:40:06 405

原创 【深度学习】COCO API源码解读

到Cython封装实现 pycocotools._mask。实现语义分割标注mask的解析,从具体实现。

2024-03-06 20:20:57 564

原创 【深度学习】目标检测神经网络1/2

将图像划分GxG个网格对每一个网格图像做CNN预测对重叠的框运行NMS本篇主要介绍RCNN系列。

2024-03-05 18:00:15 1004

原创 【深度学习】Pytorch基础

对图像预处理:https://pytorch.org/vision/stable/transforms.html。典型维度为N X C X H X W,N为图像张数,C为图像通道数,HW为图高宽。transforms.Compose()设置图像预处理模式组合,例如。fiftyone下载数据集在/home//fiftyone,sequeeze()将长度为1的维度抹除,数据不会减少。程序参数 忘记加–cuda,导致训练数据是在cpu上。,输入全连接层,需要变形为。模型输出取mean()。

2024-03-05 17:52:05 1039 1

原创 【深度学习】TensorFlow基础介绍

Int64存储bool、Enum、uint32、int32、int64、uint64,Bytes存储字符串、二进制,Float存储float(float32)和double(float64)。tensorflow定义的数据格式,一种二进制文件格式,用于保存和读取图像和文本数据。tfrecord文件包含了tf.train.Example protobuf数据。不同点:变量可被TensorFlow的自动求导机制求导,常被用于机器学习模型的参数。采用tfrecord的数据协议,Dataset结构需参考。

2024-03-05 17:40:09 636

原创 《模式识别与机器学习》第一章

有限训练数据,一交叉验证方法,S-fold cross-validation:数据分成S份,每次S-1份训练,余下1份验证,S种组合训练与验证。观测数据的多少,影响曲线拟合情况:同样的模型,如较少的数据会导致严重过拟合,较多的数据会使得拟合更接近理想模型。相对熵:用分布q近似未知分布p,发送信息编码时所谓最优编码方法,则为使得信息无失真,需要额外的信息量,称为相对熵。用变量表示事件,离散变量的熵的最大值为lnM,M为离散变量的取值的个数。:向量,曲线拟合问题中的待估计的参数,即M阶多项式的各阶系数。

2024-03-05 17:29:55 820

原创 Focal Loss介绍

样本少的类别较难分类,Focal loss有助于提高样本少类别的准确率;但难分样本不局限于样本数少的类别。Focal loss从分类难易程度加权loss,使得loss聚焦于难分样本。正负样本个数不均,导致训练反馈偏重于样本多的类别。采用加权,平衡交叉熵。

2024-03-04 17:39:46 705

原创 NERF论文笔记(1/2)

辐射神经场NeRF论文原理总结,与原作者对话,原论文的精华浓缩,一句顶十句。

2024-03-04 17:36:18 1705 1

原创 【生活】军事博物馆游记

最近我在看的电视剧《绝密543》讲述了我国人民解放军导弹部队实现了人类历史上第一次实战地空导弹击落高空侦察机,对我很有启发:全营一杆枪,把事情做到极致。今日一起父亲去看了军博的红旗2导弹和打下来的4架飞机,历史是真实的。

2024-03-03 23:08:08 152

原创 【生活】《美国城市社会的历史演变》读后感

2024-03-02 23:42:50 119

原创 【生活】读《邻居与敌人》片段有感

开篇介绍了《阿拉伯偶像》冠军是一位巴勒斯坦小伙,他的服饰\流行歌曲纪念其祖国、民族英雄的故事;类似地,英国以恐的名字处死的以色列人至今受到以色列的纪念。我认为作者的说法是唯心论的,人类历史会被当事者、利益相关者及其记录者装饰,利益无关、独立的群体则给出较客观地评价,前提是要后者强大的分析与思考本质的能力。巴以两方描述自己的叙事主题是完全不同的,对斗争性质的观点也是不同的;“对于那些抵抗自己民族最大仇敌的人来说,用词总是具有偏向性,最后结果总会证明他们使用的手段正当合理”。

2024-03-02 23:20:58 255

原创 【SLAM论文笔记】PL-EVIO笔记(下)

首先VINS-Mono、ORB-SLAM3、PL-VINS、Ultimate SLAM EIO、Ultimate SLAMEVIO与论文不同配置的方法在自采测试数据上比较,PL-EVIO多个场景下平均相对精度最高,0.36%;尽管PL-EVIO多数条件下精度最高,但在弱光照下,PL-EIO胜过PL-EVIO;寻迹实验,使用VICON测量位姿真值,PL-EVIO的位置误差绝对值x&y在0.1m内,z在0.05m内,姿态滚转、俯仰角误差绝对值1度,航向角误差0-6度,显示线性发散过程。480)的精度反而高。

2024-03-01 18:07:12 1339

原创 【SLAM论文笔记】PL-EVIO笔记(中)

优化的状态参数包括事件点与图像点的逆深度、事件线特征的4参数正交表达(下一小节描述),各个关键帧IMU的加计和陀螺的零偏、世界坐标系下的位置p、速度v与姿态四元数q,IMU与相机的外参,IMU与事件相机的外参;比VINS多了事件点线特征的参数、事件相机与IMU的外参等。是各关键帧事件相机图像恢复出空间直线的4参数表达。分别是事件相机、普通相机的图像特征点的逆深度,是各关键帧的位姿参数包含加计、陀螺零偏,窗口由10个关键帧组成。

2024-03-01 17:07:04 720

原创 【自动驾驶】自动驾驶地图构建方法与工具小结

制作流程主要利用定位与建图算法(组合导航,视觉、激光SLAM等),融合多种传感器数据,构建高精度、高分辨率的三维语义地图,将要素矢量化,构建要素间的关联关系,通过质检确保质量可靠,形成地图引擎(服务、API)以满足自动驾驶系统的需求。

2024-02-29 18:14:07 1076

原创 【编程】Rust语言入门第6篇——模式匹配

在 Rust 中,模式匹配最常用的就是 match 和 if let,本文是对两者及相关概念的总结。

2024-02-29 18:05:53 591

原创 【自动驾驶地图】OpenDrive协议总结(上)

用户有责任确保从包含文件中读取而来的内容与包含开始时的上下文一致:一个文件可包含另一个文件,语法类似于ROS launch 文件。辅助数据包含OpenDRIVE中还未描述或出于特殊原因为某一应用所 用的数据,如不同的道路纹理。可在OpenDRIVE中对用户生成的元素布局(如路标或标志)进行集成。层级大于零(0)的元素是上一层级的子级,层级等于一(1)的元素则为主元素。包含数据用元素来表示,可(may)被存储在OpenDRIVE里任意位置。它们可(may)存储在OpenDRIVE中的任意位置。

2024-02-28 17:16:39 944

原创 【算法】C++实现常量时间查询相邻关系的无向图

算法导论》原书第3版介绍图的两种表达方法,邻接链表和邻接矩阵;邻接链表由V个链表构成的数组;但是链表形式无法在常量时间复杂度查询两个结点是否相邻。用unordered_set代替链表,用unordered_map代替数组,实现常量时间查询两个结点是否相邻。

2024-02-28 17:10:29 388

原创 【算法】【编程】C++实现线程池

线程池主要包含一个线程数组、一个任务队列,接口添加任务,分发给线程;通过条件变量和flag唤醒线程。

2024-02-27 18:30:58 275

原创 【编程】C++语言编程规范-3

如何表达错误与处理错误

2024-02-27 15:43:00 295

开发平台 说明书

无人机开发平台说明,机电安装与初步设置,具有参考价值。

2016-03-23

开源 飞控

开源 飞控 Firmware-master

2013-07-27

空空如也

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

TA关注的人

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