![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
3D
文章平均质量分 75
VeraWin
算法工程师
展开
-
资料整理:传统线结构光标定
一种线结构光标定方法该文是天津大学微电子学院发表的论文线结构光系统标定的是线结构光平面在相机坐标系中的平面方程。文章思想首先使用棋盘格标定板标定相机的内参数KKK,然后固定相机和结构光的位置拍摄包含该条结构光的棋盘格的图片,通过特征点在图片中的位置(u,v)(u,v)(u,v)结合相机内参数KKK,可以获得该特征点在相机坐标系中的相对位置(该位置与zcz_czc成正比),于是该点与相机坐标系的原点可以确定一条直线。同时,通过棋盘格可以标定棋盘格与相机的相对位置,由于张氏标定法假定棋盘格所在的平面原创 2020-12-22 21:45:26 · 930 阅读 · 0 评论 -
Anytime Stereo Image Depth Estimation on Mobile Devices阅读与复现笔记(1)
最近对深度学习相关的视差求解方法比较感兴趣,并主要对这篇来自ICRA2019的文章进行了阅读和仿真。我习惯带着敬畏的心学习自己不会的知识,还请大佬们轻喷。AnyNet与PSMNet的视差计算结果比较在这里插入图片描述...原创 2020-08-05 10:03:31 · 884 阅读 · 4 评论 -
论文阅读:Disp R-CNN:Stereo 3D Object Detection via Shape Prior Guided Instance Disparity Estimation
Disp R-CNN: Stereo 3D Object Detection via Shape Prior Guided Instance Disparity Estimation摘要(理解)作者提出一种用于3D目标检测的名为disp R-CNN 的网络。该网络相较于一般的3D目标检测模型,不同点主要在:该网络仅估计感兴趣目标的视差;学习==类别特定的形状先验(category-specific shape prior )==以获得更精确的视差估计;可以不使用LiDAR提供的点云,而使用sta原创 2020-06-29 15:24:52 · 1459 阅读 · 1 评论 -
三维重构(13):SGM经典算法解读
Stereo Processing by Semi-Global Matching and Mutual InformationSemi-Global Matching Algorithm is proposed by “Stereo Processing by Semi-Global Matching and Mutual Information” published in 2008. Th...原创 2020-03-08 20:15:20 · 1285 阅读 · 0 评论 -
三维重构(12):BM算法流程(参考opencv源代码)
通过阅读源码与相应注释滑窗以图片的像素为中心,从上到下、从左到右依次滑动对每一个像素都计算出不同视差ddd对应的SAD上述计算完成后,计算出在一个滑窗范围内所有像素对应相同的ddd时SAD的和从中选择使SAD的和最小的视差ddd对最优ddd进行检验:检验该区域内纹理值是否大于阈值,否则无效;检验最优ddd是否唯一,否则无效;通过检验则视为当前像素的视差。滑动窗口,重复3-5完成对所有像...原创 2020-03-08 11:56:11 · 1063 阅读 · 2 评论 -
三维重构(7):双目立体视觉梳理(细节处理,算法理解)
三维重构学习笔记(7):双目立体视觉梳理(细节处理,算法理解)在上一篇博客中,遗留下来以下问题:视差图填充,视差图格式,深度范围限制(防止出现inf出现,导致视图显示不完整),视差图转色温图(为了显示好看)另外,在保存视差图的时候发现:视差图的精度会受格式的影响,有的博主说可以将视差图同意保存xml类型的数据。还有SGBM算法是怎么工作的?如何计算得到视差的,函数可以随意调用,但是参数设...原创 2020-01-03 21:27:07 · 1265 阅读 · 1 评论 -
三维重构(6):双目立体视觉梳理(主要与SFM对比理解)
三维重构学习笔记(6):双目立体视觉梳理前话可跳:学习笔记(6)之前的笔记都是基于单目的,比如SFM相关的。通过单目相机从不同的角度采集图片,然后通过增量式的SFM对每一张图片采集图片等。在做实验的过程中出现以下问题:特征点计算耗时增量式的SFM随着图片数量的增加,误差增加匹配点对较少,有时计算本征矩阵都会遇到麻烦(比如特征点太少,无法计算出本征矩阵,那么后续的图片就更计算不出来了)...原创 2019-11-15 10:16:48 · 2589 阅读 · 1 评论 -
三维重构学习笔记(3):坚实的后盾 OpenCV3
三维重构学习笔记(3):坚实的后盾+OpenCV3前面两篇笔记分别记录了关于三维重构中,有关相机标定、SFM流程的问题。除了公式的推倒和理解,仿真时始终仰仗OpenCV3大法,为了以后学习使用方便,把用到的函数总结一下。我的代码参考 aipiano的代码,连接都在他对应的博客下面1、相机标定函数 calibrateCamera()调用相机标定函数之前需要findChessboardCor...原创 2019-10-11 17:42:36 · 271 阅读 · 0 评论 -
VS2017编译QVTKWidget遇到错误
VS2017编译奇葩错误那些事儿QVTKWidget引发的错误场景:我需要在Qt上显示点云,所以配置了VS2017 +Qt+PCL库,并且下载更新了QVTKWidget。在向界面加入QVTKWidget之前,我的界面运行正常,界面中加入了QVTKWidget之后,编译+运行出现了各种奇葩错误,例如:在一个空界面中加入QVTKWidget,编译通过,但是运行时出现“未加载符号文件”的错误。...原创 2019-11-07 17:23:32 · 3460 阅读 · 7 评论 -
三维重构学习笔记(4):坚实的后盾OpenCV(ORB)
几个关于贝叶斯最优的问题原创 2019-10-22 15:27:15 · 283 阅读 · 0 评论 -
三维重构学习笔记(2):理解SFM
三维重构学习笔记(2):理解SFM在学习笔记(1)中,简略提及了SFM,本部分主要记述我在学习SFM过程中对于一些小问题的理解。本部分的学习主要参考了(“aipiano”关于SFM的系列文章),以及CVPR的文章“Structure-from-Motion Revisited”(以下简称Revisited)。1、SFM算法1.1 算法流程Revisited 中介绍的增量式的SFM的流程如下...原创 2019-10-11 14:56:29 · 1615 阅读 · 0 评论 -
三维重构学习笔记(1):相机标定
三维重构笔记(1):基础理解原创 2019-10-10 21:18:34 · 1356 阅读 · 0 评论 -
(结构光代码篇)相机标定+投影仪标定
主要关注操作相机标定利用OpenCV(单目)相机标定函数calibrateCamera(),仅需要已知角点的世界坐标、角点的图片坐标、图片的尺寸,代入函数即可得到相机的内外各类参数。世界坐标的获取以棋盘格所在平面作为世界坐标系的xoyxoyxoy平面,原点可以选择为棋盘格的第一个角点(随便选)。需要已知:棋盘格中含有内角点的个数Size board_size=Size(13,7)格...原创 2020-01-04 16:02:14 · 6803 阅读 · 26 评论 -
(结构光)单目+结构光三维重构总体结构
记录一次单目+结构光三维重构的历程博主是那种动手能力较差的人(超级容易踩坑,一个坑踩超级久),独自搭建一个单目+结构光系统是真的挺挑战的。在自己做的过程中,最让人心累的就是,我结果不好的话,会认为是投影仪不够好才标定出问题的bulabulabula…,基本上卡着我的点都是诸如“怎么从投影仪投射一张正常的图片”这种让大佬们感觉很低级的问题。其实我的确很容易被所谓“低级问题”卡住,这也是需要进步的...原创 2020-01-03 21:24:24 · 7942 阅读 · 25 评论 -
PCL1.8.1安装包(VS2019,x64)、点云库PCL学习教程+代码
链接:https://pan.baidu.com/s/1XDBLjyhoei3m93rK1yqoiw提取码:pc2y如果没有做QT界面的需求,安装教程参考这篇博文,不需要理会VTK的压缩包。如果需要在QT中界面中显示点云,则需要将上述VTK压缩包中的内容代替你安装好的PCL库中的VTK添加到VS的属性配置页内(VTK可以随便放置,只要配置路径不出错就行,我这里有配置好的release x64...原创 2020-02-27 10:36:52 · 3204 阅读 · 2 评论 -
PCL库使用过程中遇到的编译错误
pop_t找不到标识符参考这个typedef unsigned long long pop_t语句转移到#if __GNUC__之前“pcl::KdTreeFLANN::param_radius_”使用未定义的 struct“flann::SearchParams”这个是opencv库和pcl库两个库的flann库发生冲突导致的,网上推荐在包含目录中,先包含pcl库的flann然后再包含o...原创 2020-02-26 17:11:13 · 1088 阅读 · 3 评论 -
三维重构(10):PCL点云配准
点云配准主要针对点云的:不完整、旋转错位、平移错位。因此要得到完整点云就需要对局部点云进行配准。为了得到被测物体的完整数据模型,需要确定一个合适的坐标系变换,将从各个视角得到的点集合并到一个统一的坐标系下形成一个完整的数据点云,然后就可以方便地进行可视化,这就是点云数据的配准。点云配准技术通过计算机技术和统计学规律,通过计算机计算两个点云之间的错位,也就是把在不同的坐标系下的得到的点云进行坐标变...原创 2020-02-26 17:34:11 · 3168 阅读 · 1 评论 -
三维重构(9):PCL点云分割
点云分割是根据空间、几何和纹理特征对点云进行划分,使得同一划分内的点云拥有相似的特征。PCL实现的分割算法是鲁棒性比较好的聚类分割 和基于随机采样一致性的分割。聚类分割点云库PCL学习教程:在聚类方法中每个点都与一个特征向量相关联,特征向量又包含了若干个几何或者辐射度量值。然后在特征空间中通过聚类的方法(如K-means,最大似然或模糊聚类)分割点云数据。聚类分割基本原理:考察mmm个数据点,...原创 2020-02-25 18:10:23 · 1951 阅读 · 0 评论 -
三维重构(8):PCL点云滤波
通过双目立体视觉得到的重构点云,一般具有较多的噪声点。造成这一现象的原因主要是,算法匹配点错误导致视差计算错误。SGBM算法是传统双目立体视觉中效果较好的,但是仍然具有较多的噪声点。所以我们希望通过滤波去除部分噪声点(毕竟不可能完全去除)PCL滤波器PCL中有多种滤波器比如:直通滤波、双边滤波、体素格滤波等。而此次去除离群点则使用了statisticalOutlierRemoval滤波器。同样...原创 2020-02-21 16:19:41 · 791 阅读 · 0 评论 -
双目立体视觉三维重构总结
文章目录基本步骤相机标定图像采集立体校正匹配算法三维重构点云去噪点云显示总结前面多多少少记录一些相关知识,由于相关工作还在继续,加上网上的教程总不是十分完善。这里做一个总结,希望自己能够加深对这个过程的整体的理解与认识。基本步骤相机标定图片采集立体校正匹配算法三维重构点云去噪点云显示相机标定使用的Matlab标定工具箱,需要注意的点有:每个相机单独标定,之后再标定双目相机的位姿标定单目时需要选择畸变个数,一般如果不是鱼眼镜头,只需要标定两个径向畸变、两个切向畸变。图像采集,原创 2020-05-27 17:04:46 · 3182 阅读 · 0 评论 -
Matlab双目标定结果用于opencv(C++)
矩阵的对应关系没有对应好,导致我的计算结果相差很多,这里记录一下矩阵是如何对应的Matlab 的双目标定结果包括三部分:两个相机的内参数、畸变以及两个相机之间的旋转R、平移T。将matlab标定的结果写入xml文件参考了网上的代码function writeXML2(cameraParams,file)%writeXML(cameraParams,file)%功能:将相机校正的参数保存为xml文件%输入:%cameraParams:相机校正数据结构%file:xml文件名%说明在xml文原创 2020-05-25 12:11:24 · 1317 阅读 · 2 评论 -
双目相机标定精度测量:匹配点对(2D)的距离(3D)与实际距离的差
使用边长为25mm的12*9的标准棋盘格标定相机#include<opencv2/opencv.hpp>#include<iostream>using namespace cv;using namespace std;///双目相机,y方向存在误差Mat cameraMatrixL = (Mat_<float>(3, 3) << 23...原创 2020-04-22 20:41:26 · 4699 阅读 · 11 评论