
3D感知技术
人生体验
多体验人生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
3D感知(kdtree)
对于代码这一块:class Node: def __init__(self, left, right, point_indices): self.left = left self.right = right self.point_indices = point_indices节点的数据结构为 左右节点 以及分割点。# 构造树# 按照某一个维度轮流切,切的位置取决于某个维度如(x)的排序后的中值def make_kdtree(p原创 2020-05-15 12:18:42 · 428 阅读 · 1 评论 -
Pangolin(使用)
一款基于opengl 开发的三维显示工具:https://blog.youkuaiyun.com/c602273091/article/details/65441315原创 2020-03-25 08:33:54 · 611 阅读 · 0 评论 -
3D感知(体素和点云神经网络)
体素神经网络:区别多通道2D卷积 和3D卷积,主要区别体现在卷积核滑动的方向;代表的有voxnet,它的基本架构如下:githubhttps://github.com/Vectorized/VoxNet-Tensorflowtensorflow版本点云神经网络:点云对应的物体识别的特点• 无序点云是点坐标的集合,集合内的元素没有次序• 刚体运动不变性对旋转、平...原创 2020-03-22 09:14:53 · 3119 阅读 · 1 评论 -
3D感知(人体动作识别)
两种动作识别的途径:1.直接法-----有点云获得动作2.间接法---从点云得到骨架,再通过骨架得到动作!实现方案:1.基于RGB和神经网络的方法典型的如: openpose2.基于深度图/3D点云优点有:人体骨架提取:主要有:前后景分离、识别人体部件、识别人关节、形成骨架;对于识别人体部件的方法:对每个前景像素,估算其属于人体各个“部件”的概率;...原创 2020-03-21 19:12:08 · 3432 阅读 · 0 评论 -
3D感知(几何形状识别)
基于“剪影”轮廓的几何体识别为什么不直接从3D的角度去识别呢?主要是考虑到通过剪影的方式计算量小;主要的流程是:以手势识别为例子,介绍整个2D深度图识别的过程。通常由两种几乎路径来识别手势,分别是基于骨架模型和基于剪影的方法;重点说一下后者。关于基于剪影的手势识别的流程如下:其中,关键是手部的分割,这是最关键的!我们假设这一步我们已经解决了。对提取的手势还要进行...原创 2020-03-20 14:51:21 · 1828 阅读 · 0 评论 -
3D感知(背景前景分离)
1.采用RANSAC算法提取平面缺点:地面非平整的话,会检测出非地面的点; 如果地面(平面上)物体较多时,RANSAC可能会失效。2.PCA检测(主要是依赖特征值)具体操作:计算大邻域的点云PCA(和物体大小相似的邻域),保留符合条件的点; 该方法,主要用于,检测人、非规则物体;缺点:对于规则的大件物体,如大的正方体,上平...原创 2020-03-20 09:18:40 · 952 阅读 · 0 评论 -
3D感知(特征提取与检测)
特征提取和检测,采用两种不同的方式,分别是基于深度图的方法,以及基于点云的方法。把深度图看作强度图来做处理,使用边缘检测算子/局部方差来计算边缘。由于使用边缘算子对深度图检测边缘,是检测深度发生突变的地方,故提取的边界主要是正方形在相应视角下,深度突变的地方。如何检测处正方体的棱边呢?这里的主要的操作,是旋转点云,在重投影回深度图。在使用深度检测,最后的边缘处理棱边和...原创 2020-03-19 16:43:35 · 1190 阅读 · 0 评论 -
3D感知(作业4 、5)
作业4是要求实现半径滤波:k近邻寻找:(这里没有使用数据结构)def find_knn(p,pc,k=10): pc_diff=pc-p.reshape(1,3) dist=np_lin.norm(pc_diff,axis=1) idx=np.argsort(dist)[:k] return idx,dist[idx]半径滤波:for i in ...原创 2020-03-19 10:04:37 · 272 阅读 · 0 评论 -
3D感知(3D特征提取)
有关点云刚体变换的操作(这个就不介绍了);基于PCA的点云的形状参数获取:将点云整体看作一个椭球体,利用PCA分解获取椭球体的3个轴的方向;这样有什么应用?排列成直线的点云方向获取:最长轴方向 点云排列成平面时,计算平面法向量:最短轴方向 计算方法:1. 计算“协方差矩阵” 在面对这么多点云,可能有的点云的是噪点,那么这就涉及到权重...原创 2020-03-17 10:20:27 · 2548 阅读 · 0 评论 -
3D感知(数据处理)
数据滤波与过滤:滤波:叠加噪声数据的值进行修正,不去出噪声过滤:去除噪声3D数据滤波的方式:基于深度图的滤波:这里主要应用的是2D的CV算法,但是深度图对物体表面的采样是非均匀的(这是深度图的缺陷),所以传统的2D滤波对他们是不均匀的,并且在前后交界处失真会对后续处理带来影响(在深度图滤波是针对相邻像素的,像素映射到点云空间中,会有距离不均匀的问题,所以说物体采样是非...原创 2020-03-16 16:27:16 · 691 阅读 · 0 评论 -
3D感知(第三次作业)
点云到深度图的变换。# dep_rot=np.zeros((480,640),float)# #对于求得的u,v如何把他搞成范围固定的,相机的参数# # for k in range(pc.shape[0]):# # u=int(CAM_CX+(pc[k,0]*CAM_FX)/pc[k,2])# # v=int(CAM_CY+(pc[k,1]*CAM_FY)/pc[k...原创 2020-03-12 15:07:57 · 441 阅读 · 0 评论 -
3D感知(3D数据表示和转换)
TOF 3D相机数据中距离Z的计算关系:问题:得到的距离,是俩点之间的距离,并不是深度,所以要做一下变换。 这里是将光源和相机重合在一起计算得到的,正常情况下,相机和光源是不重合在一起的。可以结合针孔相机的数学模型: 点云重投影到深度图好不容易得到点云...原创 2020-03-12 14:47:23 · 526 阅读 · 0 评论 -
3D感知(3D测量方法概述)
首先是深度图转化为点云,然后是双目的原理,以及对应的作业!关于结构光相机的介绍:之前介绍过最简单的 点结构光模型,回顾一下; 其中 d 和 a 是已知的(由安装位置决定)至于b的角度是要结合相机的参数来计算的。 关于结构光 结构光编码(线结构光...原创 2020-03-11 17:18:03 · 1763 阅读 · 0 评论 -
3D感知(第二次作业)
作业1:深度图转化为点云图X=np.zeros((480*680,1),float)Y=np.zeros((480*680,1),float)Z=np.zeros((480*680,1),float)for v in range(0,CAM_HGT): for u in range(0,CAM_WID): n=v*CAM_WID+u X[n,0...原创 2020-03-11 16:14:07 · 331 阅读 · 0 评论 -
深度相机的技术方案
目前市场上深度相机主要有:双目相机、TOF、结构光方案。双目相机:原理:基于视差原理并利用成像设备 从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息。优点:便宜;分辨率高;帧率高;缺点:对立体匹配算法要求高,需要很大的计算量;不适合纹理少的场景;TOF:原理:TOF 系统实际是一种激光雷达系统,可从发射器向对象发射光脉冲,接收...原创 2020-03-10 17:59:10 · 602 阅读 · 0 评论 -
3D感知技术与实践(1)
首先我们为什么使用3D技术。这里主要和2D技术做一个对比!1快速实现视觉对象的分割 从2D图像中,如果要分割出那个小男孩,难度不小,原因的是,图像目标和环境混合!换个角度,换成3D该如何。3D可以从距离的维度直接分割出目标,看来这是多一个维度信息带来的好处。2.不受光照/颜色干扰2D图像的识别多对光照的鲁棒性有较高要求,这一点在3D上倒是...原创 2020-03-10 17:32:07 · 1246 阅读 · 0 评论