3D点云学习
文章平均质量分 93
KaHoWong
五邑大学 人工智能研究生
展开
-
三维点云学习(9)5-实现RANSAC Registration配准-结果批量输出
三维点云学习(9)5-实现RANSAC Registration配准-结果批量输出本章因个人能力有限,大部分代码摘自github大神的code批量处理 点云配准只需修改三维点云学习(9)5-实现RANSAC Registration配准中的main.py 部分即可 ##批量读取 for i,r in progressbar.progressbar( list(registration_results.iterrows()) ): idx原创 2020-09-04 08:35:40 · 985 阅读 · 4 评论 -
三维点云学习(9)5-实现RANSAC Registration配准
三维点云学习(9)4-RANSAC Registration参考博客:机器视觉之 ICP算法和RANSAC算法三维点云配准ICP点云配准原理及优化本章因个人能力有限,大部分代码摘自github大神的code效果图:本次以 数据集 643.bin ; 456.bin为例蓝色和绿色分别为 source 点云图和 target 点云图;彩色为经过配准后拼接效果图,黑色为 特征点与特征点之间的连线编码思路:step1 读取数据step2 对点云进行降采样downsamplestep3原创 2020-08-30 22:05:19 · 6252 阅读 · 26 评论 -
三维点云学习(9)4-RANSAC Registration
三维点云学习(9)4-RANSAC Registration建立 Correspondences原创 2020-08-27 16:37:28 · 451 阅读 · 0 评论 -
三维点云学习(9)2-Registration ICP-part2
三维点云学习(9)2-Registration ICP-part2Point-to-PlaneSummary原创 2020-08-26 19:09:43 · 297 阅读 · 0 评论 -
三维点云学习(9)1-Registration ICP-part1
三维点云学习(9)1-Registration ICP-part1Registrationconsists ofRotation R :旋转 size [3,3]Translation t :平移 size [3,1]数值问题,找出correspondencesICP步骤原创 2020-08-25 15:40:33 · 335 阅读 · 0 评论 -
#三维点云学习(8)6-3D Feature Description numpy 向量点乘、叉乘、星乘 ; 矩阵点乘、星乘辨析(易混淆)
三维点云学习(8)6-3D Feature Description numpy 向量点乘、叉乘、星乘 ; 矩阵点乘、星乘辨析(易混淆)向量运算import numpy as np#向量a1 = np.asarray([1,1,1])b1 = np.asarray([1,1,1])向量点乘 np.dot##向量内积 点乘 ,结果是实数c1 = np.dot(a1,b1)print(c1)#out:3向量叉乘 np.crossd1 = np.cross(a1,b1)print(d原创 2020-08-23 23:29:06 · 514 阅读 · 0 评论 -
三维点云学习(8)5-3D Feature Description 实现FPFH
三维点云学习(8)5-3D Feature Description 实现FPFH本次python实现FPFH代码,大部分参考:大神的GitHub参考博客:【PCL学习笔记】之快速点特征直方图FPFH - pcl::FPFHSignature33本次使用的数据集是:modelNet40 的 airplane_0001.txtmodelNet40 数据集下载为40种物体的三维点云数据集链接:https://pan.baidu.com/s/1LX9xeiXJ0t-Fne8BCGSjlQ提取码:es1原创 2020-08-23 14:58:30 · 2653 阅读 · 6 评论 -
三维点云学习(8)4-3D Feature Description PPFNET & PPF-FoldNet
三维点云学习(8)4-3D Feature Description PPFNET & PPF-FoldNetPPFNET原创 2020-08-20 10:14:36 · 841 阅读 · 0 评论 -
三维点云学习(8)3-3D Feature Description 3DMatch & Perfect Match
三维点云学习(8)3-3D Feature Description 3DMatch & Perfect MatchFeature Descriptor -Deep Learning 的方法原创 2020-08-19 13:52:59 · 444 阅读 · 0 评论 -
三维点云学习(8)2-3D Feature Description Classical method-SHOT
三维点云学习(8)2-3D Feature Description Classical method-SHOTPFH/FPFH 不考虑点的绝对坐标,所以对镜像问题处理不好SHOT LRFBoundary Effect 软投票的实现原创 2020-08-18 16:03:13 · 279 阅读 · 0 评论 -
三维点云学习(8)1-3D Feature Description PFH & FPFH
三维点云学习(8)1-3D Feature Description PFH & FPFHDetection: 特征检测Description: 特征描述Matching: 配准Detection: 特征点提取方法Description : 特征点描述的传统方法PFH根据pair建立坐标系构建的坐标系,一定程度携带两个点之间的信息算特征,把特征放入直方图里PFH - Histogram,构建直方图PFH SummaryFPFHFPFH PFH原创 2020-08-17 16:30:28 · 490 阅读 · 0 评论 -
三维点云学习(7)6-SO-Net
三维点云学习(7)6-SO-NetSelf Organizing MapSelf-Organizing Map本质聚类方法,但是不同于K-means的是,类里的元素,类与类之间有一定的排列顺序,下图三所示,具有渐变的效果每次更新,是一个领域的更新,不断迭代(直到x,y,z不再变动)另类的神经网络SO-Net Grouping 分割问题K-Means 的方法:Node2Point KNN。会出现one point contact by few nodes,或者出现有些点没被连接的现象SO原创 2020-08-16 11:10:31 · 495 阅读 · 2 评论 -
三维点云学习(7)5-Feature 实现ISS
三维点云学习(7)5-Feature 实现ISS参考博客ISS思路参考图像跟踪与识别-NMS非极大值抑制学习笔记ISS笔记回顾:三维点云学习(7)3-Feature Detection-Intrinsic Shape Signatures(ISS)数据集下载为40种物体的三维点云数据集链接:https://pan.baidu.com/s/1LX9xeiXJ0t-Fne8BCGSjlQ提取码:es14效果图:airplane_0001红色圆圈为 提取的特征点主要coding思路:原创 2020-08-14 14:46:09 · 1421 阅读 · 2 评论 -
三维点云学习(7)4-Feature Detection-Deep 3D features - USIP
三维点云学习(7)4-Feature Detection-Deep 3D features - USIPUSIP核心思想1.一个点是特征点,无论从哪个角度去观察这个物体或场景,它都是一个特征点2.特征点的概念和尺度有关系 eg.车轮胎的花纹,在大场景下是噪声,在车体单独点云可视为一个特征点USIP框架USIP 参数 数学符号表达常规的 chamfer loss ,寻找每个点的 nearest点,缺点在于,每个点不是等价的,并且每个点的感知域都是有限的,都具有不确定性Solutio原创 2020-08-13 17:05:41 · 730 阅读 · 1 评论 -
三维点云学习(7)3-Feature Detection-Intrinsic Shape Signatures(ISS)
三维点云学习(7)2-Feature Detection-Intrinsic Shape Signatures(ISS)ISS方法,原生的提取特征点的方法trick1.加权协方差矩阵5.约束:要求 linda1 > linda2 > linda36.NMS 出来的 linda3都是比较大传统方法,在实际应用中的表现,传统方法对噪声十分敏感标准场景,传统方法效果很好加入高斯噪声后,传统方法效果不好...原创 2020-08-12 15:31:37 · 1111 阅读 · 2 评论 -
三维点云学习(7)2-Feature Detection-harris 3d & 6d
三维点云学习(7)2-Feature Detection-harris 3d & 6dharris 3d解决点云特征点提取问题:1.点云的点是离散的2.在点云里一个patch是怎么定义的3.怎样移动一个patch对一阶导数的优化优化后,能滤除噪声,得到更加平整的平面Respone:Without Intensitydist:点到一阶近似平面的距离两种情况: example1:光滑平面 example2:非光滑平面M 每个点上的法向量所组成协方差矩阵6原创 2020-08-12 14:55:03 · 542 阅读 · 0 评论 -
三维点云学习(7)1-Feature Detection-introduce
三维点云学习(7)1-特征点提取-introduceDetector: 怎么找到特征点Descriptior: 怎么描述特征点,及周边物体Image Features应用:全景图ORB-SLAM提取特征点的方法Harris寻找独特的点一个好的方块,会随着移动,里面的内容发生变动泰勒展开good patch:x方向上的一阶导数,y方向上的一阶导数都比较大点的分布情况Edge: 在x方向上分布的点,一阶导数较大Flat:点的分布集中在坐标原创 2020-08-12 12:42:42 · 346 阅读 · 0 评论 -
三维点云学习(6)6-3D Object Detection-KITTI object detection evaluation(3)-运行pointrcnn-detection
三维点云学习(6)6-3D Object Detection-KITTI object detection evaluation(3)-运行pointrcnn-detectiongithub源码关于文件的存放github里有文件目录的示意,kitti数据集下载解压参考上篇博客PointRCNN 3D框点云和图像可视化本次下载github的pre model进行demo测试运行quick_demopython eval_rcnn.py --cfg_file cfgs/default.yaml --原创 2020-08-11 11:07:22 · 932 阅读 · 2 评论 -
三维点云学习(6)7-3D Object Detection-KITTI object detection evaluation(2)-kitt 数据集文件分卷解压方式
三维点云学习(6)7-3D Object Detection-KITTI object detection evaluation(2)-kitt 数据集文件分卷解压(踩坑)ps:花了两天时间,疯狂下载,疯狂解压失败,得出本人的解决方法,用于下载解压kitti的压缩文件,如果觉有帮助,烦请点个赞,谢谢参考博客:ubuntu 解压zip分卷ubuntu–分卷压缩与解压kitti 的数据集,因为太大,所以存放于云盘中的方式为分卷存放方式以velodyne数据为例子:下载有关velodyne的所有文件原创 2020-08-11 10:18:48 · 1088 阅读 · 1 评论 -
Ubuntu18.04 安装NVIDIA显卡驱动(GTX1060)+CUDA10.1+CUDNNv8+Anaconda3+pytorch+pycharm (最全教程,踩坑)
Ubuntu18.04 安装NVIDIA显卡驱动(GTX1060)+CUDA10.1+CUDNNv8+pycharm+Anaconda3+pytorch (最全教程,踩坑)经历了一周的疯狂安装,卸载,凭借记忆与无奈写下过程安装NVIDIA驱动(GTX1060)参考博客Ubuntu下安装INVIDIA显卡驱动(避免循环登录问题)1.卸载之前安装的驱动sudo apt-get purge nvidia*2.禁用nouveau,禁用后,sudo gedit /etc/modprobe.d/bla原创 2020-08-09 21:48:25 · 1704 阅读 · 1 评论 -
三维点云学习(6)6-3D Object Detection-KITTI object detection evaluation(1)-result from the ground truth
三维点云学习(6)6-3D Object Detection-KITTI object detection evaluation(1)-result from the ground truth使用kitti检测物体检测评价标准,result数据为ground truth修改博客参考:jane_xueting的博客 —KITTI 3D objection detection results evaluationKITTI 3D目标检测离线评估工具包说明KITTI 3D Object Detect原创 2020-08-07 21:22:38 · 1678 阅读 · 2 评论 -
三维点云学习(6)5-3D Object Detection-Fusion
三维点云学习(6)5-3D Object Detection-FusionFrustum PointNetPointPainting原创 2020-08-06 16:12:52 · 332 阅读 · 0 评论 -
三维点云学习(6)4-3D Object Detection-PointRCNN
三维点云学习(6)4-3D Object Detection-PointRCNNPointRCNN - ArchitectureStage 12k:foreground or background ; 7k:proposal infofocal_loss处理前景分类不平衡问题Box Generation得出box的尺寸大小传统方法使用 直接回归(Direct regression for y,l,w,h);新方法,使用 分类+回归Stage 2step1.NMS,降低p原创 2020-08-06 15:53:31 · 323 阅读 · 0 评论 -
三维点云学习(6)3-3D Object Detection-VoxelNet,PointPillars
三维点云学习(6)2-3D Object Detection-VoxelNet,PointPillars处理三维点云的检测的方法MV3DVoxelNet原创 2020-08-06 11:44:33 · 432 阅读 · 0 评论 -
三维点云学习(6)2-3D Object Detection-image based object detection
三维点云学习(6)2-3D Object Detection-image based object detection物体检测 里程碑RCNN-Two_stageRCNN流程ROI(Localization) + CNN(classification)Fast RCNN因为传统的RCNN ROI提取出来,进行的CNN次数过多,所以,Fast RCNN提出先对图片进行一次CNN,再在feature map上进行处理Fast RCNN - ROI PoolingROI Pooling原创 2020-08-05 18:01:35 · 395 阅读 · 0 评论 -
三维点云学习(6)1-3D Object Detection-introduce
三维点云学习(6)1-3D Object Detection-introduce使用8个数值表达一个检测的长方体,heading为朝向(绕Z轴旋转)原创 2020-08-05 11:37:03 · 492 阅读 · 0 评论 -
三维点云学习(5)4-实现Deeplearning-PointNet-2-classfication
三维点云学习(5)4-实现Deeplearning-PointNet-2-classficationGithub PointNet源码数据集下载:为40种物体的三维点云数据集提取码:es14运行Epoch=50后的结果train_classification.py#train_classification.py from __future__ import print_functionimport argparseimport osimport randomimport to原创 2020-08-04 12:00:07 · 1055 阅读 · 6 评论 -
三维点云学习(5)4-实现Deeplearning-PointNet-1-数据集的批量读取
三维点云学习(5)4-实现Deeplearning-PointNet-1-数据集的批量读取Github PointNet源码数据集下载:为40种物体的三维点云数据集提取码:es14因为本人初次学习pytorch,所以在数据处理上比较吃力原github上dataset.py读取的ModelNet40数据集为ply格式,课堂给予的数据集为txt格式,需要对dataset进行修改,如下为我的 testdataset.py 调试文件,可以读取txt格式的点云文件读取txt数据集代码块eg:注意使原创 2020-08-04 11:48:23 · 1164 阅读 · 1 评论 -
三维点云学习(5)3-Deep learning for Point Cloud-PointNet++
三维点云学习(5)3-Deep learning for Point Cloud-PointNet++强烈推荐 PointNet的深刻理解PointNet++示意图可分为 Encoder、 Segmentation、Classification三部分EncoderPointNet++ 的核心部分在于 set abstractionstep1:FPS 最远采样step2: Grouping Radius Neighbos + random sampling 或者 KNN 确保每个簇里的点数相原创 2020-08-01 00:02:41 · 617 阅读 · 0 评论 -
三维点云学习(5)2-Deep learning for Point Cloud-PointNet
三维点云学习(5)2-Deep learning for Point Cloud三种使用深度学习处理三维点云的方法VoxNet问题:现实自动驾驶场景中,volex grid 的分辨率需要构建很大,计算量巨大,并不具备扩展性投影二维卷积法PointNet核心: share mlp +max pool证明PointNet可以模拟任何的函数PN的表达PN的鲁棒性Critical Points Set:useful pointsUpper Bound Shape: “u原创 2020-07-30 22:56:06 · 644 阅读 · 0 评论 -
三维点云学习(5)1-introduction on to Deep learning
三维点云学习(5)1-introduction on to Deep learning人工智能、机器学习、深度学习深度学习概述预测房价例子:计算Wt未知参数原创 2020-07-30 14:27:13 · 308 阅读 · 0 评论 -
三维点云学习(4)5-DBSCNA python 复现-3-kd-tree radius NN 三方库 scipy 与 sklearn速度比较
三维点云学习(4)5-DBSCNA python 复现-3-kd-tree radius NN 三方库 scipy 与 sklearn速度比较importfrom scipy.spatial import KDTreefrom sklearn.neighbors import KDTree # KDTree 进行搜索调用#建树#step2 通过判断,通过kd_tree radius NN找出所有核心点nearest_idx = tree.query_radius(data, eps) #原创 2020-07-27 18:45:05 · 841 阅读 · 0 评论 -
三维点云学习(4)7-ransac 地面分割+DBSCAN聚类
三维点云学习(4)7-ransac 地面分割+ DBSCAN聚类比较回顾:实现ransac地面分割DBSCNA python 复现-1- 距离矩阵法DBSCNA python 复现-2-kd-_tree加速效果图:自写dbscan聚类效果因为数据点比较多,运行了10min左右 (cpu:AMD 3700x)自写的聚类效果并不是很好iters = 31.320905生成的聚类个数:396sklearn 库 自带的dbscan聚类效果使用sklearn自带库 速度很快可以原创 2020-07-26 14:36:51 · 4597 阅读 · 1 评论 -
三维点云学习(4)6-ransac 地面分割
三维点云学习(4)6-ransac 地面分割ransac课堂笔记git大神参考代码ransac代码主要参考如下知乎大佬的ransac的线性拟合ransac的线性拟合使用ransac进行地面分割的原因:ransac模型的拟合的取决于物体的密度分布,在三维场景较为适合ransac地面分割效果图原点云图:分割出的地面:eg:因为ransac是个人复现,所以效果不是很理想,ransac具有随机性,所以每次运行的结果不尽相同红色为分割地面后的点云,蓝色为分割出的地面ransa原创 2020-07-26 13:58:31 · 4073 阅读 · 6 评论 -
三维点云学习(4)5-DBSCNA python 复现-2-kd-_tree加速
三维点云学习(4)5-DBSCNA python 复现-2-kd-_tree加速因为在上一章DBSCAN在构建距离矩阵时,需要构建一个N*N的距离矩阵,严重占用资源,古采用kd_tree搜索进行进一步的优化,使用kd_tree 的radius NN 进行近邻矩阵的构建,大大提高运算速率DBSCNA python 复现-1- 距离矩阵法使用DBSCAN聚类最终效果图原图:DBSCAN_fast聚类后结果使用kd_tree聚类效果大致和没有优化前效果一致优化前:生成的聚类个数:4dbsca原创 2020-07-26 12:02:10 · 1518 阅读 · 0 评论 -
三维点云学习(4)5-DBSCNA python 复现-1- 距离矩阵法
三维点云学习(4)5-DBSCNA python 复现-1- 距离矩阵法代码参考,及伪代码参考:DBSCAN 对点云障碍物聚类使用Kdtree加速的DBSCAN进行点云聚类DBSCAN 课程笔记回顾使用DBSCAN聚类最终效果图原图:DBSCAN 聚类后结果运行时间:生成的聚类个数:4dbscan time:19.526319Process finished with exit code 0DBSCAN-使用距离矩阵法-编写流程step1: 建立数据集中每个点两两点的距离矩原创 2020-07-26 11:22:28 · 1582 阅读 · 0 评论 -
三维点云学习(4)5-ransac
三维点云学习(4)5-ransacransac算法理解ransac在三维点云的处理中,霍夫变换的处理一般在参数为两个或者三个,选择ransac处理点云构建多参数模型较好ransac-Line Fittingransac不断算sample模型,直到最后inline的数量最多卡方分布得到Distance threshold法1:经验选取法2:卡方分布获得N sample的数量或者迭代的次数e:知道数据点里大概有多少 outlne ratios:结算一个模型至少需要多少原创 2020-07-23 21:30:13 · 1222 阅读 · 0 评论 -
三维点云学习(4)4-Hough Transform
三维点云学习(4)4-Hough Transform霍夫变换的理论通俗理解Hough Tansform 霍夫变换核心思想:a.原始空间中得点-》参数空间中的线b.原始空间得线-》原始空间的点a.b.常用求模型的例子Hough Tansform voteHough Tansform -Effect of NoiseHough Tansform 另一种表示模型三个参数情况Hough Tansform 优劣优点:1.能减少噪声的干扰(投票机制)2.即使点的模型不完整,也原创 2020-07-23 13:32:13 · 1251 阅读 · 0 评论 -
三维点云学习(4)3-Model Fitting Least Square
三维点云学习(4)3-Model Fitting Least Square最小二乘法B站视频Model Fitting 的选择Least Square Fitting普通的最小二乘法,对噪声的处理很差经典的损失函数:1.abs loss;噪声干扰一般2.square loss;噪声的干扰较大3.Cauchy loss;效果较好4.Huber loss ;效果较好NON-Linear LSQSummary最小二乘法主要用于 inline数据点较多,out line点较小的情原创 2020-07-21 18:06:03 · 594 阅读 · 0 评论 -
三维点云学习(4)2-mean shift & dbscan
三维点云学习(4)2-mean shift & dbscanmean shifthill climbing爬山算法1个圆包含的点尽可能最多:step1:随机选取一个点作为radius的圆的中心step2:把圆中的所有点加起来算meansstep3:把新的means作为新的圆的圆心step4:不断重复step2 to step3,直到圆的圆心不再变化优劣:如果点的分布是高斯分布,效果较好,如果分布较散取决于初始化的点mean shift步骤step1.先选一个圆step2-s原创 2020-07-21 15:30:26 · 1587 阅读 · 0 评论