论文部分内容阅读
近年来,随着硬件水平的不断提高,机器视觉行业随之迅速发展。目前机器视觉的前沿技术已经成为科研、教育等很多领域不可缺失的一部分。其中作为该技术典型应用之一的缺陷检测也受到越来越多科研机构的关注。船舶作为传统行业的代表,它的建造水平在一定程度上也象征了国家的工业水平。在船舶建造过程中,涉及到船舶钢材处理、构架的加工、分段建造、船体焊接等过程。期间由于人工操作失误、机器故障、磨损、环境等原因,船体不可避免的出现裂纹、孔洞、蚀耗等缺陷,如果没有及时发现这些缺陷,将会给船舶带来极大的安全隐患。目前主要依靠人工配合仪器等进行缺陷检测,但是这种方法不仅会消耗大量的时间和精力,还会影响船舶建造效率和船舶经济效益。本文采用机器视觉技术检测船舶的常见缺陷。文章设计了基于点云匹配算法的缺陷检测方案和基于深度学习的缺陷检测方案。对基于点云匹配的缺陷检测方案,文章首先对相机模型以及坐标转换、相机畸变、立体匹配、相机标定等重要的基础知识进行了说明。接着文章以ZED双目相机和开源的ORB-SLAM项目为基础,实现了ZED相机的实时三维重建,同时用实验室船舶模型验证时发现虽然重建的点云精度稍微欠缺,但整体效果良好。为了将模型数据统一成PCL(PointCloud Library)的标准点云格式PCD以方便检测,文章以20cm x 20cm的正方形平面为例对常见3D模型格式STL,OBJ,PLY与PCD的储存方式进行了说明,同时利用三维视觉库VTK(visualization toolkit)编写了OBJ、STL、PLY格式与PCD格式之间的转换算法并进行了改进。为得到较好的点云匹配结果,文章将匹配分成两步,首先利用SAC-IA(Sample Consensus Initial Aligment)算法对点云进行粗匹配,粗匹配可以为下一步精细匹配提供较好的初始化结果,接着使用ICP(Iterative Cloest Point)算法实现点云的精细匹配。接着文章在精细匹配结果上使用基于Kdtree数据结构的快速近似近邻搜索算法找出缺陷位置。为验证算法的有效性,文章在实际船舶舱段的3D模型上制造了变形、孔洞、尺寸误差三种缺陷,实验结果表明算法能准确找出缺陷的位置。对基于深度学习的缺陷检测方案,文章采用了经典的Faster RCNN网络。由于实验室缺少必要的船舶模型,且无法去船厂实拍真实数据,因此文章在100块300mm x300mm厚度为1.5mm的船用钢板上制造了蚀耗、孔洞、划痕三种缺陷,其中每种缺陷各200个左右,并拍摄了500张图像数据。接着文章按照Pascal VOC格式制作了数据集。最后训练结果表明该模型能准确的识别出上述三种缺陷,具有一定的指导意义。