您好, 访客   登录/注册

基于ZYNQ的线激光三维扫描仪

来源:用户上传      作者:

  摘要:三维扫描技术在工业上应用十分广泛,但局限于普通芯片对图像处理能力的不足,三维扫描的精度往往达不到要求。推出了基于ZYNQ的线激光三维扫描仪,主要原理是基于激光三角法测距。首先该仪器在步进电机的带动下匀速转动,同时CCD会获取包含线激光的空间图像,将数据传输到ZYNQ开发板上,利用高性能的FPGA模块对CCD采集到的图像数据进行处理,最后,利用ZYNQ开发板上的以太网串口将得到的数据传输给PC上位机,上位机进而根据标定参数作空间转换并生成点云数据,可以实时输出三维图像。软件部分由QT配置PCL库开发上位机软件构成,能够调用PCL库实现点云数据的三维可视化。
  关键词:三维扫描;点云数据;CCD;ZYNQ;FPGA
  中图分类号:TP334.2 文献标识码:A 文章编号:1007-9416(2020)08-0146-05
  0 引言
  近年来,计算机技术及电子技术的不断进步及CCD等光电器件的完善和发展,推动了计算机视觉技术的快速发展。目前,计算机视觉技术已被广泛地应用于航空航天、生物医疗、物体识别、工业自动检测等领域。激光三角法是一种传统的非接触性三维轮廓测量方法,在物体的轮廓测量领域中有着其独特的优势,激光扫描三维轮廓测量技术对于静态物体的测量是目前应用最广的方法。目前,市场上对三维扫描技术的研究开发已经形成了较大规模的产业。但其产品在精度、操作便捷性、稳定性、以及功耗等方面仍有较大提升空间。
  目前国内市场上的三维扫描仪基本都是非接触式、面向工业级的高精度三维扫描仪,价格相对高昂。因此迫于较高的成本,三维扫描技术难以在普通消费级层面普及开来,如果可以在保证较高的精度的同时把成本降至较低,三维扫描技术将会得到更广泛的应用,且具有较高的商业价值。
  1 系统概述
  1.1 扫描原理
  三维扫描仪是基于三角测距法的一种能够获取三维物体空间坐标信息的仪器。一般分为直射式与斜射式两种,这里我们介绍直射式的原理,如图1所示。
  图1中竖直向下的箭头代表激光器发出的线激光,Δb为激光光斑到CCD中心轴线的距离,由于机械结构是固定的,可以认为θ是定值。由上述公式可知Δb与Δz呈线性关系。K的值我们可以通过上位机软件对激光器标定求得。
  1.2 系统方案
  本设计是基于转台式的三维扫描仪。机械部分上端中心点有一个线激光器,CCD位于机械臂左端且固定,其下是转台,转台中心和线激光器处于同一竖直线上,机械臂固定在转台上方,通过步进电机控制进行匀速转动。本设计机械结构如图2所示。硬件部分,为了确保精度,转台为我们自行设计的高精度转台,步进电机选用型号为11HS04的单出轴4引线步进电机,通过2PH驱动板及Arduino控制机械臂的转动方向及转动速度,CCD采用为普通红外夜视150度广角监控摄像头。
  软件部分,在PC端,我们通过下位机软件Arduino IDE在窗口中输入相关代码来控制电机[1]。点云数据处理部分由VS2019+QT5.9+PCL1.8编写的上位机软件构成,其中VS是编辑环境,QT插件的使用方便了上位机GUI的设计,调用开源C++编程库PCL进行点云相关的通用算法和高效数据结构的移植,从而进行高效的点云可视化。软件结构逻辑框图如图3所示。
  1.3 系统结构
  本设计中的三维扫描仪由软硬件共同组成,硬件部分主要由CCD、线激光器、步进电机和单片机构成。软件部分主要由上、下位机软件共同完成,前者负责标定校准,后者负责步进电机和线激光器的驅动。硬件通过软件来控并优化,最终得到目标物体PCD格式的模型扫描文件,并在上位机端的PCL可视化软件上进行实时显示。系统结构示意图如图4所示。
  2 标定与校准
  在科学测量中,标定[2]是一个不容忽视的重要步骤。标定的主要作用有三个方面:确定仪器或测量系统的输入—输出关系,赋予仪器或测量系统分度值;确定仪器或测量系统的静态特性指标;消除系统误差,改善仪器或系统的正确度。
  本设计的系统参数标定包含三个部分,分别是CCD的内参和外参的标定;三角法计算深度数学模型的参数标定;深度图到点云空间坐标的数学模型的参数标定。
  目前三维测量系统的标定方法大都采用标准模板法,即通过标准模板上三维坐标己知的被测点将传感器坐标系和测量基准坐标系联系起来,进而求得两个坐标系问的变换方程。而深度图到点云空间坐标的标定可以通过数学运算在软件层面进行标定。
  2.1 标定数据的采集
  通过卷尺在地面标记从墙面往房间内的深度,根据以标记好的深度移动激光扫描仪,移动过程中将线激光发射口对准刻度,依次移动6个不同的深度,每个深度对应一段视频,将所采集的标定视频的每帧图片进行线激光中心条纹提取,其中深度为2.2m和深度为1.6m的处理图5所示。
  2.2 标定数据拟合
  对深度数据对应x轴坐标值进行最小二乘法拟合,得到拟合曲线如图6标定数据拟合直线图,最终计算得到对应拟合方程。
  2.3 扫描数据的采集与误差分析
  对于如图7所示的扫描场景,我们在对相机进行标定后对物体进行扫描,得到其深度图以及经可视化后的点云图,分别如图8和图9。最终在pc端得到物体1、2、3、4、5、6对应的高度,并将数据与用游标卡尺测得的实际物体高度进行对比和误差分析。数据及误差分析结果如表1。通过数据分析可知,本设计的精度在96%以上,但是由于在此次扫描时环境光照过强且桌面为不规则白色底面,若能在墙面和桌面都为平整的白色漫反射平面且在黑暗的环境中进行扫描,其精度可稳定达到99%以上。
  3 系统特色
  本设计中,优势有以下几方面:一是机械结构的部分组成部分是由AutoCAD等制图软件绘图后经3D打印而来,使用者可以根据自己的喜好对部分机械结构进行调整。二是可替代性,本设计的硬件部分大部分都可以进行更换,如对测量精度或成本有更多的要求,使用者可以根据自身需求选择更好的或者廉价的转台、CCD等硬件。三是性能强大,高性能FPGA模块能够更好处理采集到的图像信息,从而提高系统的效率与精度。四是数据传输能力强,本设计使用以太网的方式实现与上位机的数据沟通,比传统传递数据的方式效率更高,保证了设备运行时的精度与稳定性。
  本设计面向的是对精度有较高要求的工业级扫描仪或高端民用扫描仪,ZYNQ模块虽然价格不低,但内含的FPGA模块具有很好的图像处理能力,这有助于对采集到的图像数据进行高效的实时处理,进而保证了系统的精度。同时,本设计采用以太网的连接方式实现与上位机的数据沟通也是为了保证数据传输的高效性与实时性,这样可以进一步保证系统的精度。当然,本设计的部分硬件可以自行更换,使用者可以根据自身需求来调整系统的整体精度。需要注意的是,对于表面强反光的物体以及表面轮廓模糊的物体该扫描仪不能提供较为准确的建模。扫描范例如图7所示。
  4 结论
  本论文的基本工作是如何在现有三维扫描仪的基础上进一步提高精度,实现对现实物体的三维坐标信息的获取。
  三维扫描仪虽然能够成功获取到三维物体的空间坐标信息并且还能保证较高的精度,但用到的硬件其成本较高,这也导致适用范围与普及性不佳,接下来考虑使用较低成本的硬件通过优化算法来达到更高的精度。同时,在面对不同的环境时标定环节较为繁琐,需要专业人士进行辅助操作,今后考虑做一个数据库,内含不同环境下的标定参数,需要时直接调用即可。
  5 致谢
  本研究得到了北京信息科技大学勤信学者支持计划(QXTCP A201701)和2019年促进高校内涵发展-大学生科研训练项目(5101923200)的支持,在此表示感谢。
  参考文献
  [1] 赵洪河,陆宏谦.基于Arduino的步进电机分析与设计[J].智能机器人,2016(6):42-45.
  [2] 郭连朋,陈向,宁刘彬.Kinect传感器的彩色和深度相机标定[J].中国图像图形学报,2014(7):23-26.
转载注明来源:https://www.xzbu.com/8/view-15321451.htm