基于智能手机单目视觉三维重建的小型金属件测量方法

2020-10-09 11:01何文韬熊刚董西松
软件 2020年8期
关键词:机器视觉三维重建螺纹

何文韬 熊刚 董西松

摘  要: 金属件广泛应用于各行各业,螺纹是金属件之间最常见的连接形式,外螺纹测量是金属件接头加工完成后质量检测的重要内容。目前,大部分外螺纹参数测量方法对于检测设备及检测環境的要求较高,无法在常规环境下进行螺纹测量。本文描述了一种基于单目视觉的三维重建方法,利用标定件对智能手机进行标定后,在常规环境下随时随地就可测量任何物品,提高了测量的便捷性。本文选择螺丝作为测量对象,用智能手机对螺纹外径、螺距、螺纹长度三个参数进行测量实验,螺纹外径测量精度为0.02 mm,螺距测量精度为0.01 mm,螺纹长度测量精度为0.02 mm。

关键词: 测量;机器视觉;三维重建;单目视觉;螺纹

中图分类号: TP3    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2020.08.002

本文著录格式:何文韬,熊刚,董西松,等. 基于智能手机单目视觉三维重建的小型金属件测量方法[J]. 软件,2020,41(08):0509+20

【Abstract】: Metal parts are widely used in many fields, and the thread is their typical connection type. The threads parameters measurement including external diameter is the important part of the quality inspection after the metal thread joint is produced. Most current measurement methods for the threads parameters require very professional equipment and strict environment. For the threads parameters, there are few measurement methods with normal tool and in nature environment. This paper describes a 3D reconstruction method based on monocular vision of smart phones. After being calibrated with the standard calibrator, the smart phone can measure any product anytime anywhere, which improves the convenience of the measurement. In the experiment, the smart phone is used to measure thread parameters including external diameter, thread pitch and thread length. The measurement accuracy of the external diameter is 0.02mm. The measurement accuracy of the pitch is 0.01 mm. The measurement accuracy of the length of the thread is 0.02 mm.

【Key words】: Measurement; Machine vision; 3D Reconstruction; Monocular vision; Thread

0  引言

测量是以确定量值为目的的一组操作,也就是为确定被测对象的量值而进行的实验过程。工业测量是在工业生产的各个环节中,为工件的设计、生产、质量检测等环节提供测量技术支撑的一门学科,为工业应用奠定基础。

在工业应用中,螺丝是制造业中最常见的连接形式之一,外螺纹的检测更是螺丝接口加工的一道重要环节。中华人民共和国国家标准--螺纹术语[S]中定义了螺纹的基本参数[1](图1)。目前在工厂普遍使用的直接接触式螺纹检测法,存在人工效率较低,可测参数受限,会磨损被测工件,通用性较差等不足。而为了克服这些不足,非接触式测量法,特别是光学法应运而生。光学法通过激光扫描仪、工具显微镜等设备可以达到更高的测量精度,但是这类方法存在检测速度较慢,自动化程度低等弊端,无法满足现代工业快速高效的检测需求。于是,国内外越来越多的学者们基于如何在保持测量精度的情况下提高测量的效率和自动化程度进行了相关研究。近年来随着计算机理论的发展,基于机器视觉的螺纹几何参数测量方法被提出[2],它相对于传统的光学测量法,可进一步提高检测速度。但是,这些方法往往对环境和设备有较高的要求,缺少一种在常规环境下使用手机等便捷设备就能实现测量的方法。

本文基于智能手机的单目视觉三维重建,构建了一个便捷、可以随时随地进行测量的系统。

1  相关研究

国内外对于如何实现非接触式螺丝参数测量的研究一直在进行。2000年,余愚等提出了一种利用平行光投影—线阵CCD成像的外螺纹自动检测法实现了非接触测量[3],但这个方法对光源平行度要求较高。2011年,卜晨等提出了一种可以快速分选螺纹的方法,但是仪器精度还不够高[4]。2014年,姜籍翔等基于机器视觉提出了针对螺纹图像进行轮廓提取,然后测量的方法,精度较高,但是实验结果会受到机械安装误差、光学系统的误差的影响,需要专业的精密设备支持[2]。2014年,龚立雄提出了基于二维小波亚像素图像处理的螺纹尺寸测量方法[5],在精密的进口工业相机和工业镜头的帮助下,实现了精度为0.01 mm的测量。2016年,E.S. Gadelmawla等设计出一种结合机器视觉的螺纹测量系统[6],在辅助支架设备和配套的软件下,螺纹参数测量精度可达到5.4 mm,同时还可减少测量成本,提高测量效率。2018年,吴智峰等人设计出了一个硬件部分由光源、镜头、工业计算机、伺服电机、工装治具等组成,结合软件实现螺纹参数实时测量的系统[7]。2018年,Min等提出了一种使用67.5°和112.5°改进的Sobel模板来提取螺纹图像边缘的新测量方法,依靠专业的工业显微镜和光源系统,测量精度可达到10 mm[8]。2019年,王喜华使用PTOP-200型三维扫描仪收集螺纹的三维点云,利用点云实现测量[9]。

受新型冠状病毒等意外事件的影响,许多工厂关厂停工,螺纹等物品的测量工作无法在工厂里进行。受这类非正常情况影响,亟需研发基于智能手机等随身设备,随时随地可对物品进行检测的手段。目前,基于機器视觉的非接触式螺纹测量方法,大多需要依靠专业辅助设备,对测量设备和环境要求较高。为了进一步减少螺纹等产品测量对硬件和环境的要求,本文研究基于运动结构(SFM: Structure From Motion)的单目视觉三维重建测量方法,并使用常用智能手机、小型标定件以及普通电脑建立起这一新型测量系统。在本文中,我们选取具有代表性的螺纹外径、螺距、螺纹长度等测量参数做实验验证。

本文方法核心是三维重建。1963年,Roberts首先提出了使用计算机视觉的方法从二维图像获取物体三维信息的可能性[10]。自此以后,基于视觉的三维重建快速发展,涌现出了许多新方法。1995年,Kiyasu[11]等利用物体反射的 M-array coded光源影像对物体表面进行三维重建。微软研究院在ISMAR 2015会议上公布了Mobile Fusion项目[12],这个项目使用智能手机作为一台3D扫描仪,可以拍摄出各种3D场景图像。如今,基于视觉的三维重建具有速度快、实时性好等优点,已广泛应用于人工智能、即时定位与地图构建(SLAM: Simultaneous Localization and Mapping)、虚拟现实、医疗卫生等领域,本文从三维重建应用到螺纹测量的角度来展开研究,挖掘三维重建在工业测量中的潜力[13-17]。

三维重建主要步骤包括:1)图像预处理。相机获取的图像不能够直接使用,需要对图像进行预处理。图像预处理方法很多,常见图像滤波有中值滤波、自适应加权滤波、双边滤波等[18];2)特征点检测与匹配。在对图片进行预处理后,再对图片提取特征点。主要的特征点检测算法有基于Harris算子的特征提取,有光照存在时,该算子比较稳定,抵抗环境变化能力也较强[19]。尺度不变特征变换SIFT(Scale-Invariant Feature Transform)算子的特征提取算法,已被广泛应用,它通过寻找图像空间尺度中的极值点来确定特征点[20]。基于加速稳健特征SURF(Speeded-Up Robust Features)算子的特征提取算法[21]。主要特征点匹配算法有:归一化互相关图像匹配(NCC: Normalized Cross Correlation),SIFT特征匹配,SURF特征匹配;3)相机标定。相机图像多会产生畸变,因此需要对相机进行标定,标定主要目的就是求出相机内部参数,最终得到内参数矩阵;4)计算本质矩阵与基础矩阵,基础矩阵F用来描述图像中点的几何约束关系,本质矩阵E则用来确定点的具体位置;5)稠密点云的网格化,三维重建所得到的点云是离散的,为了形象地表示模型,可以用到三角剖分技术进行点云的网格化。

2  基于单目视觉三维重建测量螺丝部分参数

三维重建方式有很多种,大致可以分为接触式与非接触式。在非接触式中又可以分为主动视觉法和被动视觉法。被动视觉法,按照相机数目可以分为单目视觉法、双目视觉法和多目视觉法。被动视觉法,按照应用方法又可以分为机器学习法、运动结构法等。我们选用基于单目视觉的SFM为基础来实现三维重建。大体过程如图2所示:使用单目相机,例如智能手机摄像头来获取有重叠的多角度的关于螺丝的照片。我们在实验中采用IPHONE7 PLUS相机拍了80张照片;根据相机标定的相关知识对图像进行处理,求出相机的相机参数;使用SFM对螺丝图像进行特征点的提取,重建出稀疏的点云;使用多视图立体视觉的聚类视图CMVS(Clustering Views for Multi-View Stereo)对得到的点云模型经过进一步处理,导入MeshLab后进行测量。

实验所用的设备以及环境要求:所用电脑为DELL Inspiron 13,手机为IPHONE 7 PLUS,光照设备为家庭所用的普通吊灯,被测对象是未知尺寸的螺丝。选取螺纹外径、螺距、螺纹长度这些常用参数作为待测参数。为了便于研究,本文也测量了螺丝底部直径。

2.1  用智能手机拍取多角度的图像

通过智能手机作为相机,来对目标物体螺丝来进行多角度的拍摄,拍摄条件如图3所示。

所使用的智能手机相机的分辨率为4032?3024。对于相机与螺丝之间的距离和相机放大倍数,不做具体的数值要求,同时也不要求物体与相机之间的距离保持固定,但是希望待测物体在照片中是清晰可见的。也不需要专用的辅助设备来支撑相机,这意味着实验结果对抖动并不太敏感,在拍摄过程中的微小抖动是可以容忍的。实验也不需要专业的光源,普通的照明灯即可,这意味着实验方法具有较好的环境适应性。实验并不关注螺丝底部的花纹,所以使用俯视的拍摄角度。为了使重建后的结果尽量能够体现螺丝实际的几何特征,需要对螺丝的各个方向进行拍摄,并且在拍摄图片时,需要保证按照顺序先后拍摄的两张图片中螺丝的重复信息多一些,即重叠部分多一点。在本实验中手机距离螺丝距离约为15 cm,图像放大倍数为3倍,在实验中使用的拍摄方式是以螺丝为中心,使用手机对螺丝件围绕一圈大致每隔4~5度拍摄一张照片,共拍摄了80张照片。同时也可以选择对螺丝进行视频的拍摄,使用Adobe Premiere将视频转换成序列图来使用。这里需要注意的是,由于使用的螺丝在几何上是非常对称的,需要保证拍摄背景的不对称,这对特征点提取有利。如果使用白纸作为背景板,将会使各个角度得到的拍摄图片类似,大概率导致特征点提取和匹配的失败。实验照片在图4中可见。

2.2  相机模型

对于相机模型,需要通过相机标定来知道它的内部参数矩阵K。在简化版的参数矩阵下,有如下关系:

其中x是图像坐标系中的坐标,X是世界坐标系中的坐标,K是相机内部参数矩阵,R是左右相机间的旋转参数,t是左右相机间的平移参数。[R|t]代表相机外部参数矩阵。P是K与[R|t]的乘积。相机标定即需要在已知x和X的情况下求得K,R,t。

2.3  运动结构(SFM)

基于对极几何(Epipolar Geometry)的知识,可以知道图5中的x1和x2点遵循以下的限制关系:

其中F是基本矩陣,体现了x1和x2之间的约束关系。已知对应两视图中的八组对应点,可以通过求出系数矩阵SVD分解后最小的奇异值对应的奇异向量,即八点法[22]求得F。当K1、K2通过相机标定而已知时,E=R[t]x被称为本质矩阵,可以通过五点法[23]求得。可以通过将E本质矩阵进行SVD分解得到R和t。在获得K、R、t后,通过三角化计算空间点X。然后可以得到螺丝的稀疏点云。

关于SFM,先利用SIFT算子进行每对图片之间的特征点提取,然后计算两张图片特征点之间的欧式距离,筛选特征点匹配个数符合要求的配对图像。对于每一组配对的图像,求得F矩阵。通过随机抽样一致RANSAC(Random Sample Consensus)[24]算法去除无效的数据点。然后把得到的特征点在匹配对中链式传递下去,最终形成Track。

然后,初始化选择两幅图片,并对它们进行第一次光束平差法BA(Bundle Adjustment)优化,目的是最小化重投影误差。循环添加新的图片进行新的优化,最后直到没有可以继续添加的合适的图片,优化结束,得到了螺丝的稀疏3D点云,图6是所得结果。

2.4  CMVS密集重建

使用CMVS来实现稠密点云重建。CMVS的算法流程大致如下:第一步,进行SFM过滤,获得部分SFM特征点构成的点集;第二步,进行图像选取,删去不符合覆盖约束的一部分图像;第三步,进行聚簇,增强其大小约束;第四步,添加更多照片,增强覆盖范围的约束;反复进行第三、四步,直到结果满足约束大小。最后得到了螺丝的稠密点云(图7)。

2.5  基于稠密点云的测量

把重建后的稠密点云导入到MeshLab中,在经过初步的去噪后,采取手动的方式对其进行测量。MeshLab提供了测量工具,以网格为单位返回所测量的尺寸。通过利用辅助面,对模型进行边框提取,求得了工件的主要尺寸大小。魏占玉等人采取选择地面显著控制点(GCP: Ground Control Point),利用实际尺寸将所得到的点云模型的坐标转换成世界坐标[25]。本文也采取类似方法,把螺丝和某个已知尺寸的标定件一起建模,通过标定物的实际尺寸和3D模型中标定物的尺寸之间的转换关系求得3D坐标系和世界坐标系之间的转换关系。

我们用的标定件(图8)是生活中常见的矩形便签纸(已知宽12.30 mm),矩形便签纸在三维模型中宽度为0.288545网格。由此得到我们的模型在MeshLab中1网格的长度相当于世界坐标系中的42.6277 mm。

在MeshLab中利用辅助线和辅助面求得螺丝三维模型的外径、螺纹长度、螺距和底部直径,如图9、图10所示。然后利用标定信息,把在MeshLab内测得的以网格为单位的参数转换成现实世界中以毫米为单位的参数。再利用千分尺测量螺纹的所需参数作为标定值,将3D模型中的转换值和标称值进行比较,得到测量误差。

3  实验结果

本文得到了在3D坐标系以网格为单位的螺丝尺寸参数:螺纹长度0.140192,螺丝底部直径0.129505,螺纹外径0.070937,螺纹螺距0.0139227。先前通过标定得到了3D坐标系中长度为1的网格在世界坐标系中长度为42.6277 mm,然后可以将3D相似模型的尺寸转换成为实际尺寸。使用千分尺测得所需参数作为标称值。最后得到:3D模型中的螺丝底部直径为5.52 mm,标称值为5.50 mm,误差为0.02 mm;螺丝螺纹直径为3.02 mm,标称值为3.00 mm,误差为0.02 mm;螺距为0.59 mm,标称值为0.60 mm,误差为0.01 mm;螺纹长度为5.98 mm,标称值为6.00 mm,误差为0.02 mm。由此可以看出,我们的实验精度较高。

本方法还可以用于测量非金属不规则物体的参数。以生活中常见的耳机套为例,采用本方法得到耳机套的密集点云(图11),根据需要还可以在耳机套点云的基础上进一步完成参数测量。

4  结束语

本文采用智能手机来对螺丝进行多角度拍摄,通过三维重建获得了螺丝的3D模型,然后经过测量得到了螺丝的螺纹外径、螺丝长度和螺距等参数。通过把所测得参数值和标称值进行比较,发现螺丝螺距的测量误差为0.01 mm,螺纹外径的测量误差为0.02 mm,螺纹长度的测量误差为0.02 mm,由此可以看出本实验方法的测量精度较高。与传统的直接接触式方法相比,本文方法不会对工件造成接触损害。与传统光学测量法、基于机器视觉的现有方法相比,本方法不需要专用辅助设备或者专用相机。这种便捷的非直接接触测量方法,可以作为现有检测方法的有益补充,用于在野外等较为艰苦的环境中测量所需的金属件的参数。本文还可以用于不规则非金属测量参数的测量。

后续,我们将继续改进稠密点云的测量方式,进一步提高测量精度。再将软件集成到手机APP后,可以实现只用手机就能进行测量,便捷程度还将进一步提高。我们将不同测量方式进行了对比分析(表2),可以看出:本方法实现简便、对设备和环境要求较低,有较大的研究价值和应用前景。

参考文献

[1] 中华人民共和国国家技术监督局. GB/T14791-1993. 中华人民共和国国家标准--螺纹术语[S]. 北京: 中国标准出版社, 2006年04月30日.

[2] 姜籍翔. 基于机器视觉的外螺纹几何参数检测算法研究[D]. 成都: 电子科技大学, 2014.

[3] 余愚, 戴跃洪, 唐其林. 用线阵CCD装置自动检测外螺纹几何形状参数的方法[J]. 振动、测试与诊断, 2000, 6(20): 196-199.

[4] 卜晨. 基于机器视觉的外螺纹检测方法及实验研究[D]. 广州: 华南理工大学, 2011, 7-9.

[5] 龚立雄. 基于二维小波亚像素图像处理的螺纹尺寸测量[J]. 计算机应用与软件, 2014, 31(08): 136-140.

[6] Gadelmawla E S. Computer vision algorithms for measurement and inspection of external screw threads[J]. Measurement, 2017, 100: 36-49.

[7] 吴智峰, 柴鑫, 王亚波, 等. 基于机器视觉非接触测量外螺纹尺寸系统[J]. 煤矿机械, 2018, 39(08): 171-172.

[8] Jing M. Measurement method of screw thread geometric error based on machine vision[J]. Measurement and Control. 2018, 51(7-8): 304-310.

[9] 王喜华. 基于三维点云数据非接触测量外螺纹尺寸实践[J]. 计算机产品与流通, 2019(04): 127.

[10] Roberts L G. Machine perception of three-dimensional solids[D]. Boston: Massachusetts Institute of Technology, 1963.

[11] Kiyasu S, Hoshino H, Yano K and Fujimura S. Measurement of the 3-D shape of specular polyhedrons using an M-array coded light source[J]. IEEE Transactions on Instrumentation and Measurement. 1995, 44(3): 775-778.

[12] Ond?ǔska P, Kohli P, Izadi S. Mobile fusion: Real-time volumetric surface reconstruction and dense tracking on mobile phones[J]. IEEE Transactions on Visualization and Computer Graphics, 2015, 21(11): 1251-1258.

[13] Shen S. Accurate multiple view 3D reconstruction using patch-based stereo for large-scale scenes[J]. IEEE Transactions on Image Processing, 2013, 22(5): 1901-1914.

[14] Qu Y, Huang J, Zhang X. Rapid 3D Reconstruction for Image Sequence Acquired from UAV Camera[J]. Sensors, 2018, 18(1): 225-244.

[15] Lee D Y, Park S A, Lee S J, et al. Segmental tracheal reconstruction by 3D-printed scaffold: Pivotal role of asymmetrically porous membrane[J]. The Laryngoscope, 2016, 126(9): 304-309.

[16] 董默, 趙若晗, 周志尊, 等. 医学图像三维重建系统设计与应用[J]. 软件, 2018, 39(01): 87-90.

[17] 戴志颖, 郭金兴, 于曦, 等. 基于两例CTA图像的颈动脉分叉段三维重建及CFD数值模拟分析[J]. 软件, 2018, 39(03): 41-44.

[18] Gonzalez R C, Woods R E. Digital Image Processing[M] 4th Edition. NY: Pearson, 2017.

[19] 翁松露, 张秋菊, 吴静静. 基于方向可调滤波器的改进Harris算子[J]. 包装工程, 2016, 37(09): 68-73.

[20] Grabner M, Grabner H, Bischof H. Fast Approximated SIFT[C]//Proceedings of the 7th Asian Conference on Computer Vision, Hyderabad, India, 2006, Part I: 918-927.

[21] Bay H, Ess A, Tuytelaars T, et al. Speeded-up Robust Fea-tures (SURF)[J]. Computer Vision and Image Under-standing, 2008, 110(3): 346-359.

[22] Hartley R I. In defense of the eight-point algorithm[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1997, 19(6): 580-593.

[23] Nistér D. An Efficient Solution to the Five-Point Relative Pose Problem[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2004, 26(6): 756-770.

[24] Fischler M A, Bolles R C. Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography[J]. Communications of the ACM, 1981, 24(6): 381-395.

[25] 魏占玉, Arrowsmith R, 何宏林, 等. 基于SfM方法的高密度点云数据生成及精度分析[J]. 地震地质, 2015, 37(02): 636-648.

[26] 王文琪. 基于万能工具显微镜及CCD的外螺纹参数测量方法研究[D]. 哈尔滨: 哈尔滨工业大学, 2012.

[27] Dorenwendt K, 张乾恩, 侯尔志. 用衍射光学法测量小直径外螺纹的螺纹参数[J]. 国外计量, 1977(02): 8-10.

猜你喜欢
机器视觉三维重建螺纹
螺纹铣刀
螺纹升角
大场景三维激光扫描仪在研究生实践教学培养中的应用
基于关系图的无人机影像三维重建
三维重建结合3D打印技术在腔镜甲状腺手术中的临床应用
连接管自动脱螺纹注塑模具设计
多排螺旋CT三维重建在颌面部美容中的应用
异型螺纹的数控车削编程方法