【三维重建实战】手把手搭建自己的3D扫描仪
三维重建之旅
编辑于 2023年12月10日 19:13
收录于文集
共3篇

一、概述

    在过去的十年里,3D扫描逐渐火热起来了,廉价的微型相机经常被纳入消费电子产品中。数字投影也将产生类似的影响,各种供应商都提供小尺寸、低成本的投影仪。因此,三维重建是计算机图形学界中重点关注的一个话题。特别是低成本的自制3D扫描仪在预算适中的学生和业余爱好者手中触手可及。本教程主要为大家讲解结构光三维成像技术,提供必要的数学、软件和实践细节,以利用相机、投影仪或线激光构建自己的桌面3D扫描仪。

图1 3D扫描仪及其扫描效果

二、光学三维重建技术    

    计算机视觉中的光学三维重建技术根据是否需要额外投射光源分成被动成像和主动成像两类。被动成像主要是指双目视觉,其完全依赖于环境光,立体视觉是基于对人类视觉系统的研究,从多幅图像中获取物体的3维几何信息。主动成像利用可控制光源进行三维成像,主要有结构光成像法和飞行时间法。结构光可分成线结构光和面结构光,线结构光发射扇形激光,在机械结构的带动下扫描被测物体从而进行三维重建,面结构光通过向被测物体投影可控制光源(激光散斑或者投影图案),通过相机与投影光源之间的位置关系和投影图案形变的程度可以确定出被测物体的三维形貌。飞行时间法估计从单个投影中心到表面的距离,发射单个光脉冲,通过发射和接收脉冲之间经过的时间用于恢复物体距离(因为光速已知)。

图2 常见的光学三维重建方法

三、项目计划

    项目计划搭建三种3D扫描仪,分别是双目视觉3D扫描仪、线结构光3D扫描仪、面结构光3D扫描仪。

图3 项目计划

  四、三种3D扫描仪介绍  

    双目视觉3D扫描仪如图4所示,双目视觉系统的硬件仅由两个相机组成,系统简单,十分适合新手入门。

图4 双目3D扫描仪

    线结构光3D扫描仪原理图如图5所示,由于线结构光3D扫描仪单次测量只能得到激光条纹处的物体表面轮廓信息,要想对物体表面进行三维重建,必须为线结构光3D扫描仪添加一个动平台,沿光条垂线方向移动从而扫描被测物体表面,或者利用旋转台移动被测物体,使其表面全部被扫描。

图5 线结构光3D扫描仪

    面结构光3D扫描仪如图6所示,面结构光3D扫描仪硬件有投影仪和相机。面结构光3D扫描仪可以对投影图案照射到部位进行三维重建,无法对照射不到的位置进行重建,可以使用旋转台挪动被测物体,从而使被测物体表面全部被照射到。

图6 面结构光3D扫描仪

五、项目/Demo计划

    项目目前计划出双目3D扫描仪和线结构光3D扫描仪的Demo,面结构光3D扫描仪的Demo视情况而定。

图7 项目计划

六、项目情况说明

    项目使用低成本的硬件设备,精度无法媲美现有产品请谅解!

    项目会提供可执行文件(含数据)给大家免费使用,但是源码需要付费,收费的原因是项目所需的部分硬件设备比较贵,比如工业相机、投影仪、滑台等,我也在探索一种新的模式,靠用户支持来购买硬件,进而推进项目的运行。

    项目代码也分两种,普通版进阶版,普通版适合教学(视频中会展示全部源码),进阶版使用了Qt,拥有可视化界面。

七、项目分享初衷

一、锻炼自己的代码能力

二、学习嵌入式相关知识

三、锻炼自己的语言组织能力

四、锻炼自己的语言表达能力

五、…