目录
写在前面
1、此文意在记录3d视觉常用资源、教程,目前主要更新点云处理算法以及三维重建相关资源
2、文中所有资源、参考已给出来源链接,如有侵权请联系删除
3、转载本文请注明出处,本文链接:https://blog.csdn.net/qq_41102371/article/details/121445383
使用建议
算法:
- 一个新的算法可以先找个demo跑起来,建立一个感性认知,同时判断算法是否对自己有用
- 结合文章以及源代码能帮助理解算法
利用资源: - 遇到问题第一时间找开源库或者框架的官方文档、github readme、github issue(你遇到的问题别人也会遇到,通常在github issue能找到答案),比如open3d、pcl、opencv、openmvg、colmap,都有自己的官方文档/手册(不要抗拒读英文原版文档,这才是一手资料),还有比较出名的深度学习算法,一般都在github有开源并且很多issue
- 多尝试自己配置开源算法并记录问题
视频课程
三维重建
北邮鲁鹏老师的三维重建SFM课程,讲得非常好,该ID的其它视频也有计算机视觉基础以及深度学习的相关内容:
https://www.bilibili.com/video/BV1nz4y197Qv
点云
Datasets
点云数据集
著名的stanford bunny
http://graphics.stanford.edu/data/3Dscanrep/
下载bunny:
http://graphics.stanford.edu/pub/3Dscanrep/bunny.tar.gz
3D match数据集
常用于点云配准、分割
数据集官网:https://3dmatch.cs.princeton.edu/
数据集介绍:https://blog.csdn.net/zhulf0804/article/details/110259055
modelnet40 数据集
常用于点云配准、分割、分类
http://modelnet.cs.princeton.edu/
三维重建数据集
https://blog.csdn.net/qq_15642411/article/details/119390920
资料
电子文档
下载地址:
链接:https://pan.baidu.com/s/1Qkge7DNxn18nxG6ckop90Q
提取码:1111
三维重建
计算机视觉中的多视图几何 及其英文原版 Multiple View Geometry in Computer Vision.2nd Edition(3d视觉的基础,非常重要的一本书)
计算机视觉中的数学方法
PhotogrammetricComputerVision(摄影测量中的计算机视觉)
点云处理
点云库 PCL 从入门到精通
点云算法
点云滤波
问题:
为什么要点云滤波:
1、 降采样算法可减少数据量,后续算法才能高效运行
2、 使点云更均匀,解决比如激光扫描点云不同地方密度不一致问题(离设备近密远疏)
3、 去噪,噪声会对配准、分割等算法产生影响
需要掌握的内容:
各种降采样原理
https://blog.csdn.net/qq_43049432/article/details/99293071
降采样
pcl 中的RandomSample、UniformSampling、VoxelGrid采样
https://blog.csdn.net/qq_41102371/article/details/119799224
直通滤波
https://pcl.readthedocs.io/projects/tutorials/en/master/passthrough.html#passthrough
统计滤波
半径滤波
https://pcl.readthedocs.io/projects/tutorials/en/master/remove_outliers.html#remove-outliers
点云配准(Point Cloud Registration, PCR)
问题:
1、 点云配准能做什么
2、 点云配准的基本算法、各自优缺点
算法
ICP Tricp 3d-ndt :
https://blog.csdn.net/qq_41102371/category_10584807.html
Generalized-icp
Segal A, Haehnel D, Thrun S. Generalized-icp[C]//Robotics: science and systems. 2009, 2(4): 435.
原文下载:
share_noel/papers/point cloud registration/reg-Generalized_ICP.pdf
https://pan.baidu.com/s/1IsN2Ze2FNts-3v4ZH1m-9A 提取码: mack
算法介绍:
算法源码:
pcl:
https://github.com/PointCloudLibrary/pcl/blob/master/registration/include/pcl/registration/impl/gicp.hpp
open3d:
https://github.com/isl-org/Open3D/blob/master/cpp/open3d/pipelines/registration/GeneralizedICP.cpp
fpfh
Rusu R B , Blodow N , Beetz M . Fast Point Feature Histograms (FPFH) for 3D registration[C]// IEEE International Conference on Robotics & Automation. IEEE, 2009.
fpfh在实际点云配准应用上还是有比较好的表现的
算法介绍及实现:
1、 PCL
https://pcl.readthedocs.io/projects/tutorials/en/master/fpfh_estimation.html#fpfh-estimation
2、 open3d
http://www.open3d.org/docs/release/tutorial/pipelines/global_registration.html#Extract-geometric-feature
下载:
share_noel/papers/point cloud registration
code
好的开源库可以让我们快速地学习和了解一些算法,点云领域一些比较好的算法会写进pcl和open3d这种开源库。比如你想知道点云配准有哪些常用算法,不妨去pcl和open3d里面看看对应配准部分都实现了哪些源码,运行官方给出的一些demo,如果觉得对自己的工作有帮助,那就看看源码以及对应的论文深入学习一下。
PCR in PCL:
https://pcl.readthedocs.io/projects/tutorials/en/latest/#registration
PCR in Open3D:
http://www.open3d.org/docs/release/tutorial/pipelines/index.html#
http://www.open3d.org/docs/release/python_api/open3d.pipelines.registration.html
点云特征
fpfh
ISS(intrinsic shape signature):
下载地址:
share_noel/papers/point cloud features/
介绍及实现:
http://www.open3d.org/docs/release/tutorial/geometry/iss_keypoint_detector.html
点云分割
传统方法:
ransac、dbscan
RANSAC
ransac可以做很多事情,在平面、圆、圆柱直线拟合上应用特别多,在特征匹配上也会使用,比如点云配准的fpfh特征误匹配剔除(见open3d pcl源码),图像配准的homograph矩阵的计算的误匹配剔除(opencv源码)
算法原文
share_noel/papers/RANSAC原文-Random sample consensus–a paradigm for model fitting with applications to image analysis and automated cartography.pdf
https://pan.baidu.com/s/1IsN2Ze2FNts-3v4ZH1m-9A 提取码: mack
算法介绍:
https://blog.csdn.net/qq_41102371/article/details/117036613
pcl ransac:
https://pcl.readthedocs.io/projects/tutorials/en/master/random_sample_consensus.html#random-sample-consensus
wiki ransac:
https://en.wikipedia.org/wiki/Random_sample_consensus
RANSAC平面拟合
open3d官方文档:
http://www.open3d.org/docs/release/tutorial/geometry/pointcloud.html#Plane-segmentation
pcl官方文档:
https://pcl.readthedocs.io/projects/tutorials/en/master/index.html#segmentation
其实拟合出来模型,也就相当于做了分割
RANSAC圆柱拟合
PCL官方文档
https://pcl.readthedocs.io/projects/tutorials/en/master/index.html#segmentation
RANSAC直线拟合:
https://blog.csdn.net/hongge_smile/article/details/104052070
https://pcl.readthedocs.io/projects/tutorials/en/master/random_sample_consensus.html#wikipediaransac
DBSCAN
算法介绍:
算大实现:
dbscan将进行空间聚类,分割成多个cluster
oepn3d 实现:
http://www.open3d.org/docs/release/tutorial/geometry/pointcloud.html#DBSCAN-clustering
点云压缩(Point Cloud Compression, PCC)
papers:
tools:
pcl 点云压缩
https://pcl.readthedocs.io/projects/tutorials/en/master/compression.html#octree-compression
点云深度学习(Deep Learning for 3D Point Clouds)
目前点云深度学习也是一个比较好的探索方向,可以做点云配准、分割、识别等任务
papers
pointnet
pointnet对于点云深度学习是具有里程碑意义的,在modelnet40上实现了点云的分类分割任务
文章:
https://arxiv.org/abs/1612.00593
代码:
https://github.com/charlesq34/pointnet
pointnet++
pointnet++是对pointnet的进一步改进
https://arxiv.org/abs/1706.02413
https://zhuanlan.zhihu.com/p/88238420
https://github.com/charlesq34/pointnet2
pcrnet–point cloud registration
https://arxiv.org/abs/1908.07906
https://github.com/vinits5/pcrnet
rmpnet–point cloud registration
https://arxiv.org/abs/2003.13479
https://github.com/yewzijian/RPMNet
dcp–point cloud registration
https://arxiv.org/abs/1905.03304
https://github.com/WangYueFt/dcp
DGR–point cloud registration
https://arxiv.org/abs/2004.11540
https://github.com/chrischoy/DeepGlobalRegistration
Predator–point cloud registration
https://arxiv.org/abs/2011.13005
https://github.com/overlappredator/OverlapPredator
FCGF–point cloud features
https://node1.chrischoy.org/data/publications/fcgf/fcgf.pdf
https://github.com/chrischoy/FCGF
https://blog.csdn.net/zhulf0804/article/details/110258923
更多点云深度学习算法:配准、分类、分割、目标检测
https://github.com/Yochengliu/awesome-point-cloud-analysis
https://github.com/zhulf0804/3D-PointCloud
图像算法
papers
三维重建(3D Reconstruction)
papers
share_noel/papers/3d reconstruction/
https://pan.baidu.com/s/1IsN2Ze2FNts-3v4ZH1m-9A 提取码: mack
sfm-Photo Tourism Exploring Photo Collections in 3D.pdf
sfm-Open Source Structure-from-Motion for Aerial Video.pdf
sfm-changchangwu-Towards Linear-time Incremental Structure from Motion.pdf
著名的sift:
SIFT-Lowe2004-Distinctive Image Features from Scale-Invariant Keypoints.pdf
clomap:
Structure-from-Motion Revisited.pdf
openmvg:
https://openmvg.readthedocs.io/en/latest/bibliography/#bibliography
awesome_3DReconstruction_list
https://github.com/openMVG/awesome_3DReconstruction_list
开源算法框架
三维重建开源和商业软件对比:
https://blog.csdn.net/qq_15642411/article/details/107966247
Colmap和OpenMVG对比:
https://blog.csdn.net/rs_lys/article/details/118004259
入门demo:
https://blog.csdn.net/qq_41102371/article/details/108727224
openmvg
openmvg是三维重建里面最为熟知的开源框架
源码:
https://github.com/openMVG/openMVG
官方文档:
https://openmvg.readthedocs.io/en/latest/
配置使用:
https://blog.csdn.net/qq_39615622/article/details/80967378
https://blog.csdn.net/weixin_41109672/article/details/107906212
https://blog.csdn.net/mitsubishisony/article/details/52332470
https://blog.csdn.net/baidu_40840693/article/details/84754035
https://blog.csdn.net/baidu_40840693/article/details/84777589
(备忘:有时间在csdn完整记录自己配置的openmvg)
colmap
colmap也是个很棒的开源重建框架
文章:
https://ieeexplore.ieee.org/document/7780814
源码:
https://github.com/colmap/colmap
官方文档:
https://colmap.github.io/
https://demuc.de/colmap/
配置使用:
https://blog.csdn.net/qq_41102371/article/details/115288530
开源库
PCL
PCL Official website:https://pointclouds.org/
PCL Github:https://github.com/PointCloudLibrary/pcl (pcl source code)
PCL Tutorials:https://pcl.readthedocs.io/projects/tutorials/en/latest/ (Tutorials for using PCL)
Open3D
Open3D Official website:http://www.open3d.org/
Open3D Github: https://github.com/isl-org/Open3D
Open3D Documentation: http://www.open3d.org/docs/release/
关于pcl和open3d使用的教程
https://blog.csdn.net/qq_41102371/category_11187715.html
https://blog.csdn.net/qq_41102371/category_10016171.html
3D视觉
比较有用的公众号:
3d视觉工坊
计算机视觉life
点云pcl
常用资源:
https://blog.csdn.net/qq_41102371/article/details/121013716(一直更新)
完
如有错漏,敬请指正
--------------------------------------------------------------------------------------------诺有缸的高飞鸟202111