自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (33)
  • 收藏
  • 关注

原创 读自动驾驶激光雷达物体检测技术(Lidar Obstacle Detection)(4):Clustering(欧式聚类)

在第(3)实现了地面点与障碍物的分离,此部分要实现的是聚类,聚类是指把不同物体的点云分别组合聚集起来, 从而能让你跟踪汽车, 行人等多个目标. 其中一种对点云数据进行分组和聚类的方法称为欧氏聚类。欧式聚类是指将距离紧密度高的点云聚合起来. 为了有效地进行最近邻搜索, 可以使用 KD-Tree 数据结构, 这种结构平均可以加快从 o (n)到 o (log (n))的查找时间. 这是因为Kd-Tree允许你更好地分割你的搜索空间. 通过将点分组到 KD-Tree 中的区域中, 您可以避免计算可能有数千..

2020-05-31 14:53:11 1815

原创 读自动驾驶激光雷达物体检测技术(Lidar Obstacle Detection)(1):Stream PCD流式载入激光点云数据

首先贴一下大佬的github链接:https://github.com/williamhyin/SFND_Lidar_Obstacle_Detection知乎专栏:https://www.zhihu.com/people/william.hyinCSDN博客:https://blog.csdn.net/williamhyin/article/details/105159842

2020-05-31 14:52:51 1381 6

原创 深度学习中的一些英文解释

A:BCDEFG:(1)ground truth:真实标签HI:(1)intersection over union( IOU):交并比JKLMNOPQRSTUVWXYZ

2020-05-31 14:52:09 1638 1

原创 使用system语句出现不明确问题

使用system("pause")出现不明确问题,很简单直接加上头文件#include<cstdlib>OK

2020-05-28 23:23:17 5524 1

原创 读自动驾驶激光雷达物体检测技术(Lidar Obstacle Detection)(3):Segmentation

Segmentation的任务是将属于道路的点和属于场景的点分开。基于Manual RANSAC Segmentation实现的分割效果展示:代码涉及到的知识:下图代表的是输入,是在上个博客处理过的滤波后的点云:输入滤波后的点云数据下图表示的是分割的效果。提取的点云数据代码展示:...

2020-05-28 23:20:37 961

原创 读自动驾驶激光雷达物体检测技术(Lidar Obstacle Detection)(2):点云滤波FilterCloud()函数

原始函数声明在processPointCloud.h原始函数定义在processPointCloud.cpp函数调用在environment.cpp中的cityBlock()函数中本部分涉及到的知识:Eigen是可以用来进行线性代数、矩阵、向量操作等运算的C++库,它里面包含了很多算法。Eigen:矩阵(Matrix)类的介绍及使用(在Eigen中,所有矩阵和向量均为Matrix模板类的对象,向量是矩阵的行(或列)为1是的特殊情况。)1、矩阵的三参数模板Matrix类有

2020-05-28 11:01:28 1497 10

转载 boost--文件、目录操作

filesystem库是文件系统操作库,可以使用其中的basic_path类用来操作目录、文件,使用需要包含编译好的system库和filesystem库,我们一般不直接使用basic_path,而是使用typedef : path和wpath。使用它需要包含"boost/filesystem.hpp"。boost::filesystem::path p1("D:\\dir"); //windows下既可使用斜杠也可使用反斜杠(资源管理器地址栏中使用的就是反斜杠),又因为在c++中反斜杠是转义..

2020-05-27 16:42:26 1092

转载 HOG特征

本篇博客转载于http://shartoo.github.io/HOG-feature/图像hog特征计算:https://zhuanlan.zhihu.com/p/40960756图像gamma校正:https://blog.csdn.net/akadiao/article/details/79679306梯度计算:https://www.learnopencv.com/his...

2020-05-26 14:38:37 498

原创 Paper1:HoPE: Horizontal Plane Extractor for Cluttered

摘要:在杂乱的三维场景中提取水平面是许多机器人应用的基本步骤。针对一般平面分割方法在这一问题上的局限性,我们提出了一种新的平面提取的算法,它能够在杂乱的有序点云或者是无序点云数据中高效的提取平面。通过预校准或惯性测量单元获得的传感器方向将源点云转换为参考坐标系,提出了一种改进的区域增长算法与Z轴聚类算法结合,一种基于主成分分析(PCA)的点云聚类和分割的方法。此外,我们还提出了一种最近邻平面匹配(NNPM)策略来保持连续序列中提取平面的稳定性。对真实场景和合成场景的定性和定量评估表明,我们的方法在对有噪声的

2020-05-26 14:32:00 387 3

原创 高斯混合模型Gaussian Mixture Model (GMM)算法从基础详解

高斯混合模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,它是一个将事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。高斯模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,将一个事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。 对图像背景建立高斯模型的原理及过程:图像灰度直方图反映的是图像中某个灰度值出现的频次,也可以以为是图像灰度概率密度的估计。如果图像所包含的目标区域和背景区域相差比较大,且背景区域和目标区域在灰度上有一定的差异,那么该图像的灰度直方图呈

2020-05-26 14:30:23 5014 1

原创 点云标注工具:1.PCAT

原作者在优酷上发布了PCAT软件的使用教程视频:视频1:https://v.youku.com/v_show/id_XNDYxNjY4MDExMg==.html?spm=a2h0k.11417342.soresults.dtitle视频2:https://v.youku.com/v_show/id_XNDYxNjY4MDI5Mg==.html?spm=a2hzp.8244740.0.0-----------PCAT在github上的链接:https://github.com/halostorm/

2020-05-25 15:27:52 3191 6

原创 霍夫变换(Hough Transform):霍夫变化在图像处理以及点云处理中的直线检测应用

霍夫变换(Hough Transfrom)是图像处理中的一种特征提取技术,它通过一种投票算法检测具有特定形状的物体,该过程在一个参数空间中通过计算累计结果的局部最大值得到一个符合该特定形状的集合作为霍夫变换的结果。最初的霍夫变换是设计用来检测直线和曲线的,起初的方法要求知道物体边界线的解析方程,但不需要有关区域位置的先验知识,这种方法的一个突出优点是分割结果的鲁棒性,即对数据的不完全或者噪声不是非常的敏感,然而要获得描述边界的解析表达常常是不可能的;后经过推广,经典霍夫变换用来检测图像中的直线,再后来霍

2020-05-25 14:20:34 5076 8

转载 C++:vector中使用.clear()函数

vector.clear()函数并不会把所有元素清零。vector有两个参数,一个是size,表示当前vector容器内存储的元素个数,一个是capacity,表示当前vector在内存中申请的这片区域所能容纳的元素个数。通常capacity会比size大,如果往vector中push_back数据,这样就不用重新申请内存和拷贝元素到新内存区域了,便于节省时间。所以vector.clear()的真正作用是:把size设置成0,capacity不变。#include<iostream&

2020-05-25 09:38:52 49248 2

原创 C++:rand()函数和srand()函数解读

(1)srand(unsigned int t)这个是设定种子。因为电脑取随机数是伪随机,只要种子一样,则取出来的数一定一样。这里用time(0)这个内函数,copy则是返回了当前的时间值。这个值是按照时间而变化的,所以,srand(unsigned(time(NULL)))这个函数的作用,就是一个简单的设定随机数的种子方法。通过这个函数,可以得到每次都不容一样zd的随机数。time(0)或者time(1)指c++中的一种函数。其作用是返回一特定时间的小数值。time(0)指函数返回当前

2020-05-25 09:25:50 694

原创 RANSAC算法(2):(拟合平面)本文以地面为基础以及源码分布解读

---------------基于ransac算法直线检测:(1)从样本集N中,随机选n个点作为初始子集(但是所选取的这n个点点必须能够表达待拟合的模型,比如拟合直线的话最少需要2个点,所以n=2(这是正常求解方式),但是基于最小二乘的思想的化最少需要大于2个点,所以n>2(必须))。(2)根据(1)中拟合的模型,遍历N集合中的数据,如果在设置的距离阈值范围之内,则将其视为内点,将所有的内点称为一致集。(3)如果一致集中的内点个数大于设置的阈值个数T,则用内点重新拟合模型算法结束。(4

2020-05-23 23:27:51 3497

原创 双系统安装的流程记录

首先本人平时用得是windows10,但是为了其它实验需要在linux下实现,为了保存自己原来熟悉的win以及自己平时安装使用的软件和资料就想知道了装一个双系统吧。------------首先准备的东西:(1)首先下载Ubuntu的18.04,放到桌面就行。下载链接:http://mirror.hust.edu.cn/ubuntu-releases/18.04.4/ubuntu-18.04.4-desktop-amd64.iso(3)百度下载一个rufus(这是一个制作U盘的工具)。PS:下载的

2020-05-23 16:41:32 260 1

转载 Anaconda:虚拟环境

什么是虚拟环境、为什么使用虚拟环境、Anaconda创建、激活、退出、删除虚拟环境一、虚拟环境 virtual environment它是一个虚拟化,从电脑独立开辟出来的环境。通俗的来讲,虚拟环境就是借助虚拟机docker来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,各个容器之间互相隔离,互不影响。譬如,本次学习需要用到Django,我们可以做一个Django的虚拟环境,里面只需要安装Django相关包就可以了,需要Scrapy库,就在

2020-05-23 12:21:51 2204 1

原创 PCL:拟合平面直线和曲线以及空间曲线的原理到算法实现

使用两种思路进行直线拟合:1.利用逆矩阵思想--------------进行下列公式的推导需要理解逆矩阵(求A矩阵的逆矩阵,则A矩阵必须是方阵)的知识:(1)为什么要引入逆矩阵呢?逆矩阵可以类比成数字的倒数,比如数字5的倒数是1/5,矩阵A的“倒数”是A的逆矩阵。5*(1/5)=1, A*(A的逆矩阵) = I,I是单位矩阵。引入逆矩阵的原因之一是用来实现矩阵的除法。比如有矩阵X,A,B,其中X*A = B,我们要求X矩阵的值。本能来说,我们只需要将B/A就可以得到X矩阵了。但是对于矩阵来说

2020-05-20 16:26:21 6877 16

转载 C++:构造函数作用及用法

PS:写在前面就是构造函数的作用可以这样理解,如果没有构造函数就是类里边只是声明了成员变量,成员函数,还有最后的对象,这样你在对该对象进行初始化赋值时就比较麻烦就得先调用成员函数对成员变量赋值,成员变量进而作用到对象上,之后有了构造函数,在构建构造函数时直接可以带参数对对象进行初始化,相当于省略了步骤,可以这样简单的理解。PS:但是构造函数远远不止只有赋值这一条作用(此处不要陷入误区以为他就是给成员变量赋值的这一个作用,不是这样的或者说不完全是这样,给成员变量赋值只是构造函数的作用之一,他还有其

2020-05-18 17:45:55 5700 1

原创 PCL:不同 r 半径邻域下最大邻近点数目(1)

#include <pcl/point_cloud.h>#include <pcl/kdtree/kdtree_flann.h>#include <iostream>#include <vector>#include <ctime>#include <pcl/io/io.h> #include <pcl/...

2020-05-18 15:40:14 686

原创 PCL:不同 r 半径邻域下最大邻近点数目(2)+加可视化显示

#include <pcl/point_cloud.h>#include <pcl/kdtree/kdtree_flann.h>#include <iostream>#include <vector>#include <ctime>#include <pcl/io/io.h> #include <pcl/...

2020-05-18 15:39:49 534

原创 计算点云之间的平均距离,方差,标准差

Tips:看公式,可以推断出计算标准差分为几步:计算平均值u=(x1+x2+...+xn)/n 计算方差s²=((x1-u)^2 +(x2-u)^2 +...+(xn-u)^2)/n 计算标准差σ=sqrt(s²)//求平均值double average(double *x, int len){ double sum = 0; for (int i = 0; ...

2020-05-18 15:39:02 7922 7

原创 PCL:法向夹角计算

#include <iostream>#include<cstdlib>#include <pcl/point_cloud.h>#include <pcl/kdtree/kdtree_flann.h>#include <vector>#include <pcl/io/pcd_io.h>#include &...

2020-05-18 15:38:13 3863 2

转载 CloudCompare 的简单的使用说明

Fileopen:打开 save:保存 Global Shift settings:设置最大绝对坐标,最大实体对角线 Primitive Factory:对点云进行原始加工,改变原始点云的形状 3D mouse:对3D鼠标(如3Dconnexion)的支持 Close all:关闭所有打开的实体 Quit:退出Edit:Clone:克隆选中的点云 Merge:合并两个或者多个实体。可以合并点云(原始云会被删除);可以合并网格(原始网不会修改,CC会创建一个新的网格结构) Subsa

2020-05-11 16:28:13 2175

原创 隐马尔可夫(HIdden Markov Model)1:隐马尔可夫模型(HMM)背景介绍

首先引入两个概念:1.频率派(后来逐渐发展称为统计机器学习,其核心问题就是优化问题,把他的loss function定义出来,求解) 2.贝叶斯派(后来发展为概率图模型,最终是要做推断,实际上就是求后验概率,围绕拿到后验概率怎么去求解他的期望方差等。进而把他隐身为积分问题,最重要的是一个积分问题,进行数值积分(MCMC))个人认为接下来所表述的HMM从根本上来讲他其实是一个概率图模型。概...

2020-05-08 09:26:39 741

转载 C++:map用法示例

#include <iostream>#include <map>using namespace std;int main(){ /************************************************************************/ /* map的常用方法示例 ...

2020-05-03 21:22:22 669

原创 PCL:超详细的基于法向量和曲率的区域生长算法原理以及源码解读

以下是分步代码解读:1.就是读取数据(略)2.基于kd-tree搜索求法线,求的的法线保存在normal_里边(略)3.邻域//3.邻域************************************************************************************ int point_num = cloud->points.size...

2020-05-03 16:23:38 5353 6

Sick雷达+港口输油输油臂应用场景

Sick的具体数据采集与预处理操作,以及项目落地详细代码操作

2024-04-13

张量分解-张量CP分解-张量Tucker分解

张量入门级PPT,内部包括张量介绍,从基础入门到分解进阶,超级详细的PPT模板

2022-12-04

使用VFH描述符进行聚类识别和6自由度姿态估计(大场景下点云数据的管道识别)

使用VFH描述符进行聚类识别和6自由度姿态估计(大场景下点云数据的管道识别)

2022-07-03

(9)与安川控制器P3000通信模块代码

根据安川控制器协议,手写通信代码;项目已落地,自己将激光雷达数据,发送给上位机,通过modbus协议;看不懂的请私信,互相学习

2022-07-03

自己实地项目,关于通信:与安川控制器P3000通信模块代码

根据安川控制器协议,手写通信代码;项目已落地,自己将激光雷达数据,发送给上位机,通过modbus协议;看不懂的请私信,互相学习

2022-07-03

QT下配置ZhiSensor.docx

在QT下配置知维3D相机

2021-10-20

深度学习中的超参数+指标.doc

深度学习中的参数以及评价指标解读

2021-10-11

Python.xmind

python入门的四维导图,超级详细

2021-09-12

解析波士顿Handle机器人背后的技术 - 硬创公开课-超清720P(2893481).mp4

李超,浙江大学控制学院机器人实验室博士,“赤兔”四足机器人运动控制负责人,波士顿动力的忠实拥趸,足式机器人实用化方向的创业者。李超大佬公开课视频--解析波士顿Handle机器人背后的技术,

2021-09-06

11.1_Camera_matrix.pdf

准确的描述了相机坐标系与世界坐标系等之间的关系

2021-08-12

基于圆形检测以及QT界面搭建

内部有完整的代码注释比较适合初学者

2021-08-03

鼠标滚轮事件代码.txt

基于鼠标滚轮完成OQ界面图形的放大和缩小

2021-07-28

QT界面绘制图形演示结果

基于halcon和QT的界面绘制

2021-07-26

FindCircleLocation.rar

瓶盖检测以及QT界面搭建

2021-07-25

基于halcon实现的铝板识别与定位以及QT的联合编程

初学者,有代码注释

2021-07-23

采集标定板数据集.rar

基于3D相机采集的标定板数据集(内部包含点云图,灰度图,深度图)

2021-06-16

simple_cnn_model.npz

基于卷积神经网络(CNN)手写数字识别的训练模型

2021-03-12

numbercnn.ipynb

基于卷积神经网络CNN的手写数字识别,经测试是完全可以跑的通的

2021-03-12

numberrecognitionFCNN.ipynb

基于FCNN的手写数字识别,以及详细的代码解读。完全可以跑的通

2021-03-10

CloudCompare v2_translate_20190506110821.rar

CC软件的使用说明中文手册,与上一个英文的是对应的

2021-01-06

CC软件的使用说明英文手册.zip

CC软件功能十分强大,用于以后学习使用

2021-01-06

MP3000系列通信功能用户手册.pdf

PC与安川MP3000系列通信的协议手册,PC与控制器通信协议手册

2020-12-21

散乱点云格网建立.docx

基于散乱点云数据的格网建立理论,最后有一个别人的二维xy网格建立的程序说明,可以依据这个实现一下理论部分。

2020-12-02

基于三点来查找找圆心

平面内三个点可以确定一个圆,基于这三个点怎么用C++实现圆心的查找,以下是一个函数的实现,可以提供参考

2020-12-02

基于三维点云数据的直线检测

基于3维点云数据的直线检测,用于记录怕忘记啦,经实验测试是可以跑的通的,代码运行时间也是挺快的,但是效果根据不同的实验场景是不同的。

2020-11-27

PCL-Principal-Curvature-CAN-master.zip

PCL中实现主曲率计算的pcl::PrincipalCurvaturesEstimation其实就是基于这个代码来实现的,存起来怕忘记啦。原来一直理解的PCL是通过拟合平面再找曲率是错误的,是通过这个利用相邻点的法向量估计一点的主曲率

2020-11-27

基于coco格式的MaskRCNN完整训练过程

基于coco格式来训练,此种数据格式训练不需要自动提出mask,mask会根据label标记的多边形自动生成instance,故该种模式只需要原图片文件,整合的.json文件。

2020-11-27

Curvature Estimation

PCL点云库中的PrincipalCurvaturesEstimation计算曲率的内部原理实现。并不是我们传统意义上理解的拟合二次曲面,我们在表述原理时都是二次曲面拟合,但人家PCL用的不是曲面拟合方法

2020-10-12

Point Feature Extraction on 3D Range Scans Taking into Account

PCL中关键点查找:在本文中,我们处理的主题特征提取在三维点云数据中进行对象识别和姿态识别识别。提出了一种新的兴趣点提取方法方法的操作范围图像产生的任意三维点云,明确考虑的边界由从前景到背景的转换所标识的对象。此外,我们还提供了一个特征描述符同样的信息。我们已经实现了方法和提出严格的实验,我们分析各个部件的可重复性以及匹配能力和评价点的有用性基于特征的目标检测方法。

2020-09-05

HOUGH_LINE.cpp

对于霍夫直线一直是应用在图片中,因此此种方法可以应用在点云数据中。具体原理以及依赖的头文件和主函数见链接:https://mp.csdn.net/console/editor/html/106173138 数据部分见链接:

2020-06-29

HOUGH_LINE.pcd

用于霍夫直线检测的实验数据,上传一下是为了保存以免丢失。方便以后学习回顾。这个数据格式是pcd格式的。类似于电线之类的数据。

2020-06-29

Fast 3D Line Segment Detection From Unorganized Point Cloud.pdf

本篇文章是有关于点云线段分割的,里边使用的算法非常值得学习,最主要原作者是开源的代码,特意发到这里供大家学习,方便没有下载资源的同学阅读也算保存一下哈。

2020-06-22

LMS511-10100中文操作手册.pdf

西克激光雷达LMS511系列中文操作手册,包含原理,内部结构图,通信连接,数据采集分析处理等信息,对于新手使用该雷达有很大的帮助。

2020-04-09

空空如也

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

TA关注的人

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