1、3D视觉系统概述:什么是3D视觉、3D视觉的应用领域、课程整体架构与学习路径
1.1 到底什么是3D视觉?
先问大家一个问题:你每天用两只眼睛看世界,为什么能准确判断「杯子离我多远」、「前面这堵墙能不能绕过去」?
说白了,人眼天生就是一套3D视觉系统。左右眼看到的画面有细微差异,大脑一算,深度信息就出来了。
那机器呢?机器只有摄像头,拍出来的是一张2D图片。它不知道物体离它多远,也不知道物体的真实尺寸。3D视觉要做的,就是让机器「长出立体感」——从二维图像里还原出三维空间信息。
我刚开始接触这个领域时,也犯过迷糊。有一次项目里,客户说「你们不是有深度相机吗?直接给我一个物体的长宽高不就行了?」嗯,哪有那么简单。深度相机拿到的是点云,但点云里有噪声、有缺失、有离群点,你得做滤波、配准、分割……这一套下来,才算真正「看懂」了三维场景。
1.2 3D视觉的应用领域
说实话,3D视觉这几年火得不行。我参与过的项目横跨好几个行业,每个场景对3D视觉的要求都不一样。下面挑三个典型领域聊聊。
1.2.1 自动驾驶
自动驾驶是3D视觉最「出圈」的应用。你想想看,一辆车在高速上跑,它必须知道:前面那辆车离我多远?路沿在哪里?行人会不会突然横穿?
这里常用的传感器有激光雷达(LiDAR)、双目摄像头、毫米波雷达。我个人习惯是「激光雷达为主,摄像头为辅」。为什么?因为激光雷达直接输出点云,精度高,不受光照影响。但摄像头便宜,能提供颜色和纹理信息。
1.2.2 机器人
机器人领域,3D视觉主要解决两个问题:我在哪 和 我要去哪。
比如仓储机器人,它要在货架间穿梭,得知道自己当前的位置(定位),还得知道前方有没有障碍物(建图)。这就是经典的SLAM问题——Simultaneous Localization and Mapping。
我做过一个AGV(自动导引车)项目,用的是RGB-D相机。一开始直接拿原始点云做匹配,结果地面反光导致大量噪点,机器人动不动就「迷路」。后来加了体素滤波和离群点去除,才算稳定下来。
1.2.3 工业检测
工业场景对精度的要求最高。比如手机屏幕的平整度检测、汽车零部件的尺寸测量,误差得控制在0.1毫米以内。
这里常用的是结构光相机和线激光轮廓仪。结构光相机投射编码图案,通过变形量计算深度。线激光轮廓仪则是一行一行扫描,生成高精度轮廓点云。
我记得有一次做轴承滚珠的缺陷检测,客户要求检测出0.05mm的划痕。用2D视觉根本看不出来,换成3D点云后,通过曲率分析,划痕处点云的法向量会发生突变,一下子就抓到了。
| 应用领域 | 常用传感器 | 核心挑战 | 典型精度 |
|---|---|---|---|
| 自动驾驶 | 激光雷达、双目相机 | 动态场景、光照变化 | 厘米级 |
| 机器人 | RGB-D、激光雷达 | 实时性、环境适应性 | 毫米~厘米级 |
| 工业检测 | 结构光、线激光 | 高精度、抗干扰 | 亚毫米级 |
1.3 课程整体架构与学习路径
这套课程一共30章,我把它分成四个阶段。每个阶段解决一个核心问题。
第一阶段:传感器与数据获取(第1~8章)
你得先知道数据从哪来。这一阶段会讲透:
- 相机成像原理(针孔模型、畸变校正)
- 深度传感器(双目、结构光、ToF、激光雷达)
- 传感器标定(内参、外参、手眼标定)
我建议初学者先把标定搞明白。标定不准,后面所有算法都是白搭。我曾经见过一个团队,花了三个月做点云配准,结果发现是相机内参标错了——白忙一场。
第二阶段:点云处理基础(第9~16章)
拿到点云之后,怎么「清洗」它?这一阶段包括:
- 点云滤波(体素、统计、半径滤波)
- 点云配准(ICP、NDT)
- 点云分割(RANSAC、区域生长)
- 特征提取(FPFH、SHOT)
第三阶段:3D视觉核心算法(第17~24章)
这是硬核部分。我们会深入:
- SLAM前端(特征匹配、光流法)
- SLAM后端(图优化、BA)
- 三维重建(TSDF、泊松重建)
- 深度学习在3D视觉中的应用(PointNet、3D卷积)
第四阶段:工程落地与实战(第25~30章)
算法再好,跑不起来等于零。这一阶段我会分享:
- 性能优化(多线程、GPU加速)
- 嵌入式部署(Jetson、RK3588)
- 完整项目实战(从传感器选型到点云输出)
1.4 本章知识体系总览
下面这张图,是我自己梳理的3D视觉知识框架。你可以把它当作整个课程的地图。
这张图其实就概括了整套课程的核心逻辑:传感器获取数据 → 预处理清洗数据 → 算法提取信息 → 工程落地应用。每个环节都环环相扣,缺一不可。
1.5 学习建议
最后,我想给几点实在的建议:
- 动手,动手,再动手。 光看书是学不会3D视觉的。我建议你每学完一章,都跑一遍配套的代码示例。
- 准备好工具链。 提前装好PCL、Open3D、OpenCV、Eigen这些库。别等到要用的时候才装,那会打断学习节奏。
- 多问为什么。 比如「为什么ICP算法容易陷入局部最优?」、「为什么体素滤波能降噪?」——搞懂原理,比背代码重要得多。
- 别怕踩坑。 我做了十年3D视觉,踩过的坑比走过的路还多。每个坑都是学习的机会。
好了,第一章就到这里。从下一章开始,我们会正式进入传感器部分,先聊聊相机成像的数学模型。准备好了吗?