- 博客(66)
- 资源 (2)
- 收藏
- 关注
原创 一文搞懂PCL中自定义点云类型的构建与函数使用
上周猛男快乐开发时遇到个bug,要用pcl的函数对自定义的点云进行处理。一起解决问题时遇到了很多问题,解决后整理出来分享给各位参考,以免踩一样的坑。
2024-03-16 22:42:58
2266
2
原创 利用Pybind11封装Python版的WiringPi!
原版的WiringPi是一个用于树莓派的GPIO库,用C语言开发。该库允许用户以编程方式访问和控制树莓派的GPIO引脚。而随着Python在嵌入式设备上的快速发展,其对底层引脚的操作也变得越来越多,因此将WiringPi中的API接口封装出对应的Python接口显得格外重要了。本文利用Pybind11对WiringPi进行了封装,并从开发者的角度对使用体验进行了大量优化
2024-02-09 22:37:52
1239
9
原创 高成本帖子——RDK X3模组快速体验&载板辅助选型
还记得22年6月自己第一次体验X3开发板。至今还记得拿到手的新奇与兴奋,还记得第一次玩BPU就遇到了大坑,第一次发帖就把论坛搞崩。如今,当初对我来说很难的BPU也结束了,在开发交流的这段时间,也认识了壮哥、Arui、Rex等很多朋友。
2023-08-07 01:01:04
2133
原创 PCL使用VoxelGrid出现Segmentation fault (core dumped)的解决办法
终于修复VoxelGrid的Segmentation fault问题了,请叫我铲B官
2023-06-28 22:04:10
1078
3
原创 [BPU部署教程] 万字长文!通透解读模型部署端到端大流程——以终为始,以行为知
去年6月份拿到开发板到现在,转眼已经过去大半年了,这个博客11月初就在写,断断续续写到现在。C++部署需要考虑的问题很多,如果只给个简单部署教程的话,就算整理出来,感觉帮助也不大,各位开发时候我遇到的坑,你们也会重新踩一遍。这段时间我一直在思考作为开发者需要的是什么,应该如何安全的使用一套工具,要以何种方式呈现出来,要如何将一件事情清晰的说清楚。草稿改改变变,最后决定以大流程的形式,从量化到C++部署,进行一遍完整的梳理,**整理一套流程,让各位安全、稳定**地操作BPU。
2023-06-23 19:08:29
4410
16
原创 体验极速——在旭日X3派上使用双频1300M USB无线网卡
wifi通信一直是项目的核心,新的USB WiFi模块1300M,支持2.4g和5gWiFi,这下这个部分的坑应该算是基本都填了,可以开心整别的啦~~。
2022-11-27 02:33:09
2121
7
原创 [首发] 多方位玩转“地平线新发布AIoT开发板——旭日X3派(Sunrise x3 Pi)” 插电!开机!轻松秒杀!
地平线新发布的开发板:旭日X3派,加油!!!!
2022-06-15 19:24:36
7656
5
原创 论文阅读 2021 —— Pixel-Perfect Structure-from-Motion with Featuremetric Refinement
三维重建的基础就是在多个视图中寻找属于同一个三维点对应的二维图像坐标,也就是关键点。经典算法是一次性检测所有关键点,对于误差较大的特征,会影响最终重建的结果。作者通过直接对齐来自多个视图的低级图像信息,refine SfM的两个关键步骤:在进行几何估计之前,首先调整初始关键点位置。随后优化点和相机pose作为后处理。这种改进对大的检测噪声和外观变化具有鲁棒性,因为它优化了基于神经网络预测的密集特征的特征度量误差。这显著提高了各种关键点检测器算法、具有挑战性的观察条件和现成深度特征的相机pose和场景几何体的
2021-09-06 10:34:44
2607
7
原创 论文阅读2021——Motion Basis Learning for Unsupervised Deep Homography Estimation with Subspace Projection
2 算法2.1 网络结构网络结构如下所示,输入两个图片Ia,IbI_a,I_bIa,Ib,经过特征提取和单应估计网络,输出8个参数,这8个参数不是单应矩阵的8个参数,输出的这8个参数与8个预计算好的单应流加权平均才是最后的结果。单应流和它的基本形式。单应矩阵有8个自由度,可以利用4对对应点直接通过直接馅饼变换计算得到。...
2021-08-26 17:42:02
904
原创 论文阅读 2020 —— VDO-SLAM: A Visual Dynamic Object-aware SLAM System
2 方法2.1 背景和符号下面给出一些符号的定义,配着图看可能更容易理解。0Xk,0Lk^0X_k,^0L_k0Xk,0Lk表示本体到全局坐标系的变换矩阵,分别代表相机和目标3D的位姿。kkk表示第几帧数据。0mki=[mxi,myi,mzi,1]T^0m_k^i=[m^i_x,m^i_y, m^i_z,1]^T0mki=[mxi,myi,mzi,1]T表示第k时刻,第i个点在全局坐标系下的齐次坐标,那么这个点在相机坐标系下的表示就为Xkmki=0Xk−10mki^{X_k}m^i_k
2021-08-25 16:47:06
653
原创 论文阅读 2018 —— CodeSLAM - Learning a Compact, Optimisable Representation for Dense Visual SLAM
阅读一篇论文,学习一个稠密的可优化的用于稠密视觉SLAM的表达。在3D感知系统中,几何表达仍然是一个关键研究课题。稠密的map能够捕获完整的曲面形状,而且能够用语义标签增强,但是它们的高纬度特性使得存储和计算变得非常庞大,而且不适合严格的概率推理。基于稀疏特征的表达能够避免这些问题,但是只能采集部分场景信息,而且仅仅主要用来定位。作者提出了一个稠密(compact but dense)的场景几何表达,输入一个强度图。方法适用于一个基于关键帧单目稠密SLAM系统。尽管每个带有code的关键帧能够产生一个密
2021-08-17 16:48:57
663
1
原创 论文阅读 2021 —— DnD: Dense Depth Estimation in Crowded Dynamic Indoor Scenes
论文阅读,在拥挤的动态室内场景下的稠密深度预测。作者提出了一个方法来估计深度,相机在复杂且拥挤的室内环境中移动,比如一个百货商店 或一个地铁站。通过在一个动态场景中训练,算法能够预测整个场景中绝对尺度的深度信息,包括一个静态的背景和多个移动人群。因为从拥挤的室内环境中采集稠密深度图是困难的,因此作者设计了一个训练框架,这个框架不需要从深度传感器采集到的深度信息。作者提出的网络使用了RGB图像和由传统3D重建方法得到的稀疏深度。不显著跟踪非刚性移动的人群,作者使用了两个约束来处理深度。在包含复杂且拥挤场景数
2021-08-17 13:42:27
496
原创 论文阅读 2021 —— CodeMapping: Real-Time Dense Mapping for Sparse SLAM using Compact Scene
我读啥了自己看标题(今天头疼的厉害,呜呜呜/(ㄒoㄒ)/~~)1 介绍之前研究标定SLAM精度的关键是信息点的选择(典型地,角点或边缘点)和相机Pose与地标位置的联合优化。与将地图构建和相机姿态估计分离的密集方法相比,稀疏 SLAM 产生更准确的结果。在实际应用中,稀疏 SLAM 通常与其他传感器融合以提高鲁棒性。然而,稀疏特征图没有视觉信息,不能直接用于无碰撞运动规划或表面感知 AR 等任务。许多方法都尝试同时实现密度映射(dense mapping)和相机自主定位,但是不如稀疏方法效果好,有两点原
2021-08-13 18:48:32
1134
1
原创 论文阅读 2021——SUNet: Symmetric Undistortion Network for Rolling Shutter Correction
今天看一篇论文《SUNet: Symmetric Undistortion Network for Rolling Shutter Correction》用于卷帘快门的对称不失真网络SUNet。现在的消费级相机采用的卷帘快门机制,当相机快速移动的时候,采集到的图像是有扭曲的。这个论文就提出了一个网络使用一对连续帧解决这个问题。网络用于预测这两帧中间时刻的图像。这个对别的现有方法是比较困难的,因为这些算法需要两个姿态差异比较大的图像。1 介绍2 方法方法输入两张连续的图像,最后输出一个在两个图像中间时
2021-08-12 15:19:03
1484
原创 论文阅读 2021 —— DRO: Deep Recurrent Optimizer for Structure-from-Motion
阅读一个关于预测深度图和相机姿态的一篇论文《DRO: Deep Recurrent Optimizer for Structure-from-Motion》用于SFM的深度循环优化器。通过机器学习的方法研究SFM问题越来越多了,早期的风法是直接从图像中得到一个深度图和相机姿态,现在出现很多通过在网络中嵌入优化器用多视角提高精度。这个论文展示了一个基于循环网络的优化方法来进一步探索SFM网络中的潜力。优化器通过迭代来最小化feature-metric cost来更新深度和相机位姿。该方法作为一个零次优化器,
2021-08-10 14:30:37
858
2
原创 [开源工具] 串口转wifi —— 两个串口之间通过网络进行通信
之前有个项目,要求无人机与地面站直接的通信由之前的数传改为wifi,搜了一圈,很多都属于手工调试,而且包含复杂的界面。然而实际上需求要求稳定,具有自动化。因此为了满足这个需求只能是自己开发一个软件。在当前项目背景下,要实现的需求如下图所示#mermaid-svg-UMR35zsrF6edIpoQ .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:
2021-07-16 16:48:03
4473
2
原创 论文阅读 2017 —— Sensor Fusion for Fiducial Tags: Highly Robust Pose Estimation from Single Frame RGBD
这是一篇发表在IROS的一篇论文,用RGBD相机提升码标(Aruco)的位姿精度。尽管在增强现实和计算机视觉中可以应用多种码标,但是在机器人应用中,从这些码标中获得准确的位姿目前仍然是个挑战。难点很清晰:这些码标仅用了RGB相机,而且机器人上的相机的分辨率通常受到限制。换句话说,码标在图像上成像越大或越清晰,精度才能越高。位姿根据码标矩形框的4个点,通过PnP的方法获得,因此,位姿精度直接与点的精度相关。该论文,基于RGBD相机来测量码标的位姿,通过RGB图像保留了码标的高精度,同时利用深度图使其
2021-05-01 20:28:56
368
原创 是科研人就要快!加速你的算法!
在科研中,大多数论文其实还是看精度和效果的,对于速度其实没有那么高的追求,很多人用速度评价自己算法的复杂度很低,但实际上这是不准确的,当然在精度占优的情况下,能够提高速度,就相当于如虎添翼,6上加6。关于算法程序的加速,在动手前先要按照如下流程进行思考,以决定从哪里入手加速。#mermaid-svg-Zhdutw0Vve7C9JqP .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-fam
2021-04-16 20:26:37
9091
13
原创 论文阅读 2013 — EDCircles: A real-time circle detector with a false detection control
这个文章是2013年圆检测的论文,发表在Pattern Recognition上,代码地址https://github.com/CihanTopal/ED_Lib,这个作者很有意思,除了一系列ED算法,检测直线,检测三角,检测圆等等。我为什么要读这篇论文,这篇论文应用了LSD和ELSD,基于NFA的算法基本能够很好的去除虚假椭圆,而目前椭圆检测难点也确实在虚假椭圆的去除上,因此这个博客,仅分析方法和实验,介绍和相关结论就不说了。1 摘要作者提出了一个实时、无参数的圆检测算法,算法能够有效控制虚假圆的个
2021-03-09 16:37:54
3981
4
原创 MATLAB调用C++开发——尝试写一个套着C++皮的Matlab函数
在之前的工作中《MATLAB调用C++开发——函数大全》,我们已经介绍了Matlab调用C++的一些基本函数,下面我们将开始写我们的第一个Matlab C++混编代码。在开始之前,我们要明确在Matlab调用c++代码的几种情况。拿到的代码只有C++版本。自己写的算法for循环过多,速度慢,需要加速。装杯 ε=ε=ε=┏(゜ロ゜;)┛(奇怪的知识增加了)1 配置你的C++编译器编译C++时候,系统里面一定要有编译器,比如MSVC, MinGW, GCC等等,输入mex -setup根据向
2021-03-06 21:46:22
1237
2
原创 求你们了,以后按照我的办法配置OpenCV好么 (*╹▽╹*)
今天,一个学弟编译项目时候,出现找不到opencv的bug,我看控制台输出的库信息,连接了opencv_world341d.lib, opencv_world341.lib,好家伙,无论release还是Debug都这么调用库。以前当OpenCV助教时候,告诉所有人最标准的配置OpenCV的方法,没人去做,现在一大堆人看了错误的博客弄了个乱七八糟的配置,然后问我怎么改。明确告诉各位,按照这个博客《VS2017配置opencv教程(超详细!!!)》第五步配置出来的opencv都是错误的!!!!!!
2021-01-05 15:07:52
1279
6
原创 关于使用SDKManager刷机出现No SDKs are available for your account的解决办法
今天刷机出现“No SDKs are available for your account”这个错误,所以连第一步都进不去。(下图是用别人的错误图)最后在GG上找到了一个解决方案,https://forums.developer.nvidia.com/t/no-sdks-are-available-for-your-account-issue/115319似乎是因为某个文件repository.json搜不到,所以会出现这个问题,在命令行输入sudo updatedb,在进入就好了。好像出现这种错误
2020-09-27 17:03:28
3637
4
原创 克罗内克张量积 Kron 的 OpenCV C++实现
写代码时候需要用到kron这个函数,matlab中有,但搜了一圈竟然OpenCV没有,而且复现的很一般,因此,我尽可能用最标准的方法,也就是兼容各种数据格式,实现了这个函数,复现之后,在我的研究中测试,无误。下面就放上这个函数的声明,m1,m2为输入的二维矩阵, mkron为输出的对应矩阵。void kron(cv::InputArray m1, cv::InputArray m2, cv::OutputArray mkron);在matlab中的实例m1 = [1,2,3;2,3,4];m2
2020-09-14 20:34:40
1333
原创 Airsim Python API文档整理(1.3.1版本)
AirSim公开了API,可以调用API与仿真器进行交互(核心就是通过RPC向仿真器发消息,进行模拟),可以通过API获取图像、状态和控制车辆等。API有Python版本和C++版本的,Python更容易上手,方便后续的C++学习。1 Python安装pip install msgpack-rpc-python如果没有编译源码,使用pip install airsim安装airsim,如果从官网下载的代码,可以进入PythonClient文件夹下,输入下述代码进行安装,Python的许多API在开
2020-08-17 01:10:40
6075
9
原创 Airsim(1.3.1版本)setting.json帮助文档解析
setting.json是airsim的核心配置文件,下面对官方文档进行解读文章目录1 json存储位置2 如何在车辆Car和旋翼无人机Multirotor之间进行选择3 可用的设置和对应默认值SimModeViewModeTimeOfDayOriginGeopointSubWindowsRecordingClockSpeedSegmentation SettingsCamera SettingsNote on ImageType elementCaptureSettingsNoiseSettingsRa
2020-08-13 16:22:53
6296
11
原创 Windows下编译Airsim 1.3.1版本一些问题的解决办法
做研究需要个仿真,从0写OpenGL即浪费时间又不好看,就想使用Airsim做仿真,编译过程中遇到了好多问题,花了很多时间解决,最终终于解决了。这些问题存在的主要原因就是存在多个版本的VS和多个版本的虚幻引擎。切记,在Windows下编译airsim需要的是VS2019,最低Windows 10 SDK 10.0.18362,最低虚幻4.24。这几个条件不能换,用了VS2017就失败,o(╥﹏╥)o。下面对我编译过程中遇到的几个问题进行说明。1 build.cmd下载慢build.cmd下载慢的主
2020-08-10 23:47:55
1714
7
原创 OpenCV Aruco 参数源码完整解析理解!
针对Aruco的检测代码分析,我不会一行一行分析,我主要是把关键步骤,流程解释清楚。0 参数设置参数定义参数含义参数值adaptiveThreshWinSizeMin自适应二值化最小窗口大小3adaptiveThreshWinSizeMax自适应二值化最大窗口大小23adaptiveThreshWinSizeStep二值化窗口大小步长10adaptiveThreshConstant自适应二值化函数所需要的一个常数阈值7minMarkerPer
2020-06-21 12:20:24
7418
8
原创 爷青回!我竟然在OpenCV 4.x中使用了LSD算法!
记上一个博客爷青没!OpenCV 4.x之后竟然没了LSD算法!中,分析了OpenCV4.0之后不能使用LSD的原因。直到现在,我难受的无法入睡,一直在想怎么解决,我分析了好久想了几个路线。从github上找LSD作者源码,花点时间移植,修复部分细节bug。从OpenCV3.1上找到LSD算法,把其中的类提取出来,单独做个hpp和cpp文件,以后直接添加到工程里面在OpenCV4.1版本里面单独创建一个LSD类,稍微修改CMake重新编译下。每个路线都特别痛苦,相当浪费我时间了。为了一劳永逸
2020-06-19 00:34:52
4205
21
原创 爷青没!OpenCV 4.x之后竟然没了LSD算法!
在使用OpenCV 4.x系列的版本时,想利用LSD算法检测图像中的直线段,结果给我出来个这么玩意。这个错误基本上是dll内部的问题,毕竟错误发生在OpenCV内部,一般遇到这个问题,我基本上是这样↓没办法,只能看OpenCV源码来研究发生了啥,突然发现2010年经典的LSD算法没了!!!!!这可是大事啊,但是OpenCV为了弥补这个问题,在opencv contrib扩展中的ximgproc模块中给出了一个LineSegmentDetector类,来替代LSD算法。该算法来自于2014年IC
2020-06-18 23:23:24
2521
12
原创 读博之路——开题那些事
今年博四,今天终于开题了,开题之前搜了好多资料,发现针对博士开题的内容特别少(大多数是本科开题,研究生开题),今天开完题之后,我打算把我从准备开始到答辩结束这个阶段需要的资料内容做一个整体的总结。文章目录1 开题之编故事2 开题之与老师PK3 开题之撰写《文献综述》4 开题之撰写《开题报告》5 开题之准备答辩PPT6 开题之答辩现场1 开题之编故事每个人其实开提前都有大方向,但是细节方向是不清楚的,这个时候就要根据你自己的大方向寻找可能做的小方向,比如我做的大方向是无人机下的视觉,在我做项目中,经常
2020-06-05 11:24:46
6002
4
原创 OpenCV实验(二):基于圆和深度信息的位姿测量
数据集下载地址:链接:https://pan.baidu.com/s/1F9xHO2vzBSYe3NWlFgQTLg提取码:006a
2020-05-12 12:35:42
1099
原创 椭圆检测 Arc Adjacency Matrix-Based Fast Ellipse Detection 代码和数据集使用教程
在之前博客椭圆检测 2020:Arc Adjacency Matrix-Based Fast Ellipse Detection介绍的基础上,我们针对其公开的源代码进行说明,介绍如何使用其提供的数据集和源代码。文章目录1 编译源码1.1 在Windows上编译1.2 编译可在Python上运行的代码1.3 编译可在MATLAB上运行的代码2 椭圆标记工具3 AAMED 数据可视化工具4 9个公开...
2020-04-24 19:08:39
4782
56
原创 Pytorch学习(6) —— 加载模型部分参数的用法
上一节,我们给出了模型加载和保存的简要示例,但是,我们有时候会用别人的参数,他们的层参数名和我们的名称很容易不同,因此这里将会对源码进入深入剖析,分析参数提取和保存是如何实现的。1 模型文件分析我们使用pytorch的VGG16预训练模型,加载,返回其类型。可以发现,是OrderedDict类型,也就是字典类型,既然是字典,每个层的参数就是用了一个键值对保存起来了。model = torch...
2020-04-06 14:28:18
3009
1
原创 Pytorch学习(5) —— 简单模型构建,损失函数,训练方法等
前4个博客,已经介绍了什么是Tensor,构建模型所需的基本类有哪些,这些类有哪些工作。下面,结合这些内容,通过简单的例子进行使用说明。文章目录1 构造模块化的神经网络2 损失函数3 训练方法3.1 SGD方法3.2 Adam方法3.3 简单用法4 网络模型库 torchvision.models5 模型加载与保存5.1 模型加载5.1.1 加载自带的预训练模型5.1.2 加载本地的训练模型5...
2020-04-05 13:37:05
1695
Arc Adjacency Matrix-Based Fast Ellipse Detection
2020-03-30
源码:Robust ellipse detection with Gaussian mixture models
2019-01-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人