CN109034748B - 基于ar技术的模具拆装工程训练***的搭建方法 - Google Patents
基于ar技术的模具拆装工程训练***的搭建方法 Download PDFInfo
- Publication number
- CN109034748B CN109034748B CN201810904293.4A CN201810904293A CN109034748B CN 109034748 B CN109034748 B CN 109034748B CN 201810904293 A CN201810904293 A CN 201810904293A CN 109034748 B CN109034748 B CN 109034748B
- Authority
- CN
- China
- Prior art keywords
- image
- network camera
- coordinate system
- assembly
- disassembly
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 100
- 238000012549 training Methods 0.000 title claims abstract description 31
- 238000005516 engineering process Methods 0.000 title claims abstract description 28
- 230000000007 visual effect Effects 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims description 81
- 230000006870 function Effects 0.000 claims description 30
- 239000011159 matrix material Substances 0.000 claims description 21
- 238000011161 development Methods 0.000 claims description 15
- 238000000605 extraction Methods 0.000 claims description 13
- 238000012937 correction Methods 0.000 claims description 12
- 230000000750 progressive effect Effects 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 8
- 230000003287 optical effect Effects 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 8
- 238000013461 design Methods 0.000 claims description 7
- 238000013519 translation Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 6
- 238000009432 framing Methods 0.000 claims description 4
- 238000009877 rendering Methods 0.000 claims description 4
- 238000005452 bending Methods 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 238000005259 measurement Methods 0.000 claims description 2
- 230000036544 posture Effects 0.000 claims description 2
- 238000007639 printing Methods 0.000 claims description 2
- 238000004080 punching Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003638 chemical reducing agent Substances 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Tourism & Hospitality (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Educational Administration (AREA)
- Economics (AREA)
- Marketing (AREA)
- Educational Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Human Computer Interaction (AREA)
- Image Processing (AREA)
Abstract
基于AR技术的模具拆装工程训练***的搭建方法,本发明涉及机械产品拆装训练领域。本发明的目的是为解决虚拟现实技术不能够对现实场景进行完整描绘的问题。本发明利用AR技术将虚拟的装配引导信息叠加至实际的装配操作环境,利用网络摄像机和投影仪构建虚实结合的场景,同时利用投影仪投射引导信息、摄像机实时获取实际操作图像与匹配模板图像匹配,能够对现实场景100%描绘,引导信息通过显示设备显示在用户视野中,对实际操作起到很好的引导效果,提高了受训者的学习自主性,应用ORB算子对图像特征点快速识别,做到延时低、***流畅性好,ORB算子运算速度大约为SURF算子的10倍、SIFT算子的40倍,明显加快程序运行流程。本发明用于机械产品拆装训练领域。
Description
技术领域
本发明属于机械产品拆装训练领域,具体涉及一种基于AR技术的模具拆装工程训练***的搭建方法。
背景技术
在传统的机械产品拆装训练教学过程中,学生面对的是实际的装配环境,因此,传统的机械产品拆装训练教学过程的特点是真实感强,但是不能够有效提升学生的学习兴趣。应用虚拟现实技术进行虚拟仿真教学过程在提高场地利用率,节约实验成本,提升学生学习兴趣等方面优势十分明显,例如:上海第二工业大学朱文华教授等人利用虚拟现实技术,基于Unity3D软件在Zspace桌面虚拟现实设备上完成圆柱齿轮减速器拆装教学***,提高了拆装过程的交互性和沉浸感,虽然虚拟现实技术在提高学生的学习兴趣方面取得了一定的进步,但是对实际操作的引导效果却十分有限,而且虚拟现实技术不能够对现实场景进行完整描绘,真实感有限。
发明内容
本发明的目的是为解决虚拟现实技术不能够对现实场景进行完整的描绘的问题。
本发明为解决上述技术问题采取的技术方案是:
步骤一:设计模具拆装过程中的引导信息;
引导信息包括:每一步拆装过程所需零件模型的信息、拆装过程的动画演示和拆装完成后的模型展示;
步骤二:使用VS2015中C++语言的MFC类库,搭建模具拆装工程训练***的图形化界面,根据设计需要添加Button、Slider和Tab控件;
步骤三:下载OpenCV3.4.1、HCNet和ZBarSDK,OpenCV3.4.1用于实现计算机视觉功能、HCNet作为网络摄像机、ZBarSDK用于实现条形码识别功能,将OpenCV3.4.1、HCNet和ZBarSDK导入VS2015,并配置开发环境;
步骤四:调用网络摄像机,对网络摄像机进行标定和畸变校正;
步骤五:构建网络摄像机和投影仪的位置关系,利用Excel软件的开发工具功能生成添加验证的Code39条形码,并利用ZBar对条形码进行条形码识别;
步骤六:利用网络摄像机的抓图功能拍摄每一步拆装过程中零件盒所得部件的匹配模板图像;
步骤七:根据全部拆装过程,设计程序逻辑,实现对引导信息、匹配模板图像的读取,同时利用投影仪投射引导信息,根据引导信息,网络摄像机实时获取每一步拆装过程的实际操作图像,将实际的操作图像与匹配模板图像进行特征点匹配,并对匹配成功的特征点进行筛选;
步骤八:记录筛选后的特征点匹配对数,若网络摄像机获取的实际的操作图像与匹配模板图像特征点匹配数量达到匹配模板图像自匹配特征点数量的70%,则认定匹配成功,继续执行步骤七设计的程序逻辑,直至完成全部拆装过程;
否则认定匹配未成功,则对零部件位置进行调整后,继续对网络摄像机获取的实际的操作图像与匹配模板图像进行特征点匹配,直至认定匹配成功;继续执行步骤七设计的程序逻辑,直至完成全部拆装过程。
本发明的有益效果是:本发明利用AR技术将虚拟的装配引导信息叠加至实际的装配操作环境,利用网络摄像机和投影仪构建出虚实结合的场景,同时利用投影仪投射引导信息和应用摄像机实时获取实际操作图片,并与匹配模板图像匹配,能够对现实场景进行100%描绘,引导信息通过显示设备显示在用户视野中,对实际操作起到很好的引导效果,也提高了受训者的学习自主性,本发明应用ORB算子实现了对图像特征点的快速识别,具有延时低、***流畅性好的特点,ORB算子运算速度大约为SURF算子的10倍、SIFT算子的40倍,在实时的特征点提取的过程中,能够明显加快程序运行流程。
附图说明
图1为本发明方法的流程图;
图2为内角点提取后,在原图像上绘制出角点的图像;
图3为像素坐标系和图像坐标系的关系图;
图4为相机坐标系和图像坐标系关系图;
其中:P为相机坐标系下的任一点,p为P投影到图像坐标系下的点;
图5为完成畸变校正后的图像;
图6为下模板特征点提取结果图;
图7为网络摄像机获取的棋盘格图像与匹配模板图像进行特征点匹配的结果图;
图8为筛选完成后的特征点匹配结果图;
图9为凹模装配过程的示意图。
具体实施方式
下面结合附图对本发明的技术方案作进一步的说明,但并不局限于此,凡是对本发明技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的保护范围中。
具体实施方式一:结合图1说明本实施方式。本实施方式所述的基于AR技术的模具拆装工程训练***的搭建方法,该方法包括以下步骤:
步骤一:设计模具拆装过程中的引导信息;
引导信息包括:每一步拆装过程所需零件模型的信息、拆装过程的动画演示和拆装完成后的模型展示;
步骤二:使用VS2015中C++语言的MFC类库,搭建模具拆装工程训练***的图形化界面,根据设计需要添加Button、Slider和Tab控件;
步骤三:下载OpenCV3.4.1、HCNet和ZBarSDK,OpenCV3.4.1用于实现计算机视觉功能、HCNet作为网络摄像机、ZBarSDK用于实现条形码识别功能,将OpenCV3.4.1、HCNet和ZBarSDK导入VS2015,并配置开发环境;
步骤四:调用网络摄像机,对网络摄像机进行标定和畸变校正;
步骤五:构建网络摄像机和投影仪的位置关系,利用Excel软件的开发工具功能生成添加验证的Code39条形码,并利用ZBar对条形码进行条形码识别;
步骤六:利用网络摄像机的抓图功能拍摄每一步拆装过程中零件盒所得部件的匹配模板图像;
步骤七:根据全部拆装过程,设计程序逻辑,实现对引导信息、匹配模板图像的读取,同时利用投影仪投射引导信息,根据引导信息,网络摄像机实时获取每一步拆装过程的实际操作图像,将实际的操作图像与匹配模板图像进行特征点匹配,并对匹配成功的特征点进行筛选;
步骤八:记录筛选后的特征点匹配对数,若网络摄像机获取的实际的操作图像与匹配模板图像特征点匹配数量达到匹配模板图像自匹配特征点数量的70%,则认定匹配成功,继续执行步骤七设计的程序逻辑,直至完成全部拆装过程;
否则认定匹配未成功,则对零部件位置进行调整后,继续对网络摄像机获取的实际的操作图像与匹配模板图像进行特征点匹配,直至认定匹配成功;继续执行步骤七设计的程序逻辑,直至完成全部拆装过程。
步骤七中将第一步拆装过程的实际的操作图像与匹配模板图像进行特征点匹配后,通过匹配特征点数量判断该步拆装过程是否匹配成功,若匹配成功,则继续执行步骤七设计的程序,来完成下一步拆装过程,在完成下一步拆装过程时,拍摄当前实际的操作图像,用于与匹配模板图像匹配。
若匹配未成功,则对零部件位置进行调整后,继续对网络摄像机获取的实际的操作图像与匹配模板图像进行特征点匹配,直至第一步的拆装过程匹配成功后,再继续执行步骤七设计的程序,进行下一步拆装过程;即每一步的拆装过程均需要通过特征点匹配后,才能继续进行下一步的拆装过程,直至完成全部拆装过程。
为解决传统拆装训练过程和虚拟现实技术拆装教学***在实际教学中存在的问题,本发明利用增强现实技术渲染生成虚实结合的场景,在生成虚实结合的场景中完成对拆装操作的引导,综合了传统拆装训练真实感强和虚拟现实技术拆装教学***实时交互性好的优点,具有良好而广泛的应用前景。
使用基于自然特征的识别和匹配技术,实现了拆装过程中零部件的识别。与现在成熟且广泛采用的基于标志物的识别方法相比,具有不需要附加额外的特征信息,受装配环境影响小,稳定性与灵活性高等优点,可明显降低准备过程中的工作量。
具体实施方式二:本实施方式对实施方式一所述的基于AR技术的模具拆装工程训练***的搭建方法进行进一步的限定,所述步骤一设计模具拆装过程中的引导信息的具体过程为:
步骤一一、模具拆装过程所需零件模型的建立:模具拆装工程训练***中使用的模具为多工位级进模,多工位级进模依次实现冲孔和折弯的工序,将实际的多工位级进模进行拆卸,通过实际测量获取拆卸后所得零件的具体尺寸,应用三维可视化实体模拟软件的零件来创建二维和三维对象功能,完成零件三维模型的建立;
模具拆装工程训练***的零件模型包括下模板、盖板、凹模固定板、螺钉(型号GB/T 70.1M5×9)、销(型号GB/T 199.2 5×30)、冲头、螺钉(型号GB/T 70.1M6×20)、螺钉(型号GB/T 70.1M5×20)、红弹簧、弹簧(型号顶件快、塞打、刀口、折弯冲头、螺钉(型号GB/T 70.1M5×14)、螺钉(型号GB/T 70.1M6×25)、销(型号GB/T 199.2 5×26)、弹簧(型号)、上模板、卸料板、顶针和螺钉M8。每个零件盒内包含一种零件模型。
步骤一二、模具拆装工程训练***零件模型的装配:应用三维可视化实体模拟软件的约束功能,依照装配过程的位置要求固定零件模型之间的相对位置,完成多工位级进模的装配;
步骤一三、装配视频渲染输出:将完成装配的多工位级进模导入三维可视化实体模拟软件的InventorStudio动画制作环境,在动画时间轴中,驱动约束来控制零件模型移动,通过调整透明度来控制零件模型显隐,完成装配视频渲染过程。
本实施方式中的三维可视化实体模拟软件可以是Autodesk InventorProfessional(AIP)、Solidworks、CATIA、UG等。
具体实施方式三:本实施方式对实施方式二所述的基于AR技术的模具拆装工程训练***的搭建方法进行进一步的限定,本实施方式的步骤四中调用网络摄像机,对网络摄像机进行标定和畸变矫正,其具体过程为:
步骤四一:初始化网络摄像机的SDK,设置登录参数注册网络摄像机,设置的登录参数包括网络摄像机的IP地址、用户名和密码信息,并开启实时预览,完成摄像机调用;
本次使用海康威视H265 400W像素半球型网络摄像机,应用海康威视SDK进行二次开发,完成摄像机的调用操作。根据开发手册,预览流程为:开始、初始化SDK,用户注册设备、启动预览、实时数据回调、停止预览、注销设备、释放SDK、结束;
步骤四二:利用网络摄像机的云台控制功能,使用滑动条调节速度,完成云台位置、焦距大小、焦点前后和光圈大小的调节;设置预制点,保证每次调用时网络摄像机均在调整好的位置;
摄像机云台控制流程为:开始、初始化SDK,用户注册设备、云台控制、停止预览、注销设备、释放SDK、结束;
步骤四三:将标定板(购买的标定板效果比较好)以不同姿态放置于工作平台,应用网络摄像机的抓图功能拍摄15~20张棋盘格图像,并保存到硬盘中;
摄像机抓图流程为:开始、初始化SDK,用户注册设备、启动预览、实时数据回调、预览抓图、停止预览、注销设备、释放SDK、结束;
步骤四四:读取网络摄像机所拍摄的棋盘格图像,对棋盘格内角点进行粗提取后,对粗提取的内角点进行精确化得到亚像素内角点,完成内角点提取;
步骤四五:对网络摄像机进行标定和畸变矫正,标定和畸变矫正的具体过程为:
由于标定板位于水平的操作平台,且标定板棋盘格尺寸已知,以标定板棋盘格中的一个顶点为原点,棋盘格的两边为坐标轴建立空间直角坐标系,即可确定平面棋盘格的实际三维坐标。根据提取的角点和平面棋盘格的实际三维坐标,利用张正友标定法完成摄像机标定过程,并求解畸变系数,并完成图片的校正。
世界坐标系(world coordinate)是描述网络摄像机和待测物体的空间位置的坐标系,世界坐标系下,坐标为(xw,yw,zw)的点的齐次坐标为(xw,yw,zw,1)T;(xw,yw,zw,1)T代表(xw,yw,zw,1)的转置;
世界坐标系下,坐标为(xw,yw,zw)的点的齐次坐标为(xw,yw,zw,1)T;
以网络摄像机镜头光心为原点o′,镜头光轴为z轴,像面的两边平行线为x、y轴,建立相机坐标系;世界坐标系下的点(xw,yw,zw)在相机坐标系下对应的齐次坐标为(xc,yc,zc,1)T,(xc,yc,zc)为世界坐标系下的点(xw,yw,zw)在相机坐标系下的坐标;
世界坐标系和相机坐标系的转换关系如公式(1)所示:
式中:R为3×3维的旋转矩阵;T为3×1维的平移矢量;
像素坐标系(pixel coordinate)是以棋盘格图像的左上角为原点o,以像面的两边平行线为u,v轴,建立像素坐标系;像素坐标系反映了网络摄像机感光元件中像素的排列情况,坐标轴以像素为单位。
世界坐标系下的点(xw,yw,zw)在像素坐标系下对应的齐次坐标为(u,v,1)T,(u,v)为世界坐标系下的点(xw,yw,zw)在像素坐标系下的坐标;
图像坐标系是以棋盘格图像的中心为原点,即以网络摄像机的光轴与像面的交点为原点O,以u轴和v轴的平行线分别为X轴和Y轴的坐标系;(坐标轴一般以毫米为单位。该坐标系易于坐标变换。)
世界坐标系下的点(xw,yw,zw)在图像坐标系下对应的齐次坐标设为(X,Y,1)T;(X,Y)为世界坐标系下的点(xw,yw,zw)在图像坐标系下的坐标;
像素坐标系和图像坐标系的转换关系如公式(2)所示:
式中:dX为像素在X轴方向的物理尺寸,dY为像素在Y轴方向的物理尺寸,u0为图像坐标系原点的横坐标,v0为图像坐标系原点的纵坐标;
相机坐标系和图像坐标系的转换关系如公式(3)所示:
式中:s为比例因子,f为网络摄像头有效焦距;
世界坐标系与像素坐标系的转换关系如公式(4)所示:
理想的摄像机模型是针孔模型,但是实际的镜头不符合这种假设。另外,相机的构造以及制造、安装、工艺等因素也会造成误差,导致相机通常会存在多种非线性畸变,为了使相机标定结果更加准确,在进行相机标定时应该将相机的非线性畸变考虑进来,修正理想投影模型。
网络摄像机的畸变包括径向非线性畸变和切向非线性畸变,其中:径向非线性畸变的模型为:
x2=x(1+k1r2+k2r4+k3r6) (5)
y2=y(1+k1r2+k2r4+k3r6) (6)
其中:(x,y)是网络摄像机的正常位置坐标,(x2,y2)是网络摄像机的径向非线性畸变位置坐标;r为网络摄像机的正常位置坐标到镜头光心的距离,即k1为2阶径向畸变系数,k2为4阶径向畸变系数,k3为6阶径向畸变系数;
切向非线性畸变的模型为:
x1=x+[2p1y+p2(r2+2x2)] (7)
y1=y+[2p2x+p1(r2+2y2)] (8)
其中:(x,y)是网络摄像机的正常位置坐标,(x1,y1)是网络摄像机的切向非线性畸变位置坐标;p1为垂向切向畸变系数,p2为水平向切向畸变系数;
则网络摄像机的非线性畸变公式为:
x0=x(1+k1r2+k2r4+k3r6)+[2p1y+p2(r2+2x2)]
y0=y(1+k1r2+k2r4+k3r6)+[2p2x+p1(r2+2y2)]
畸变矩阵即为包括k1,k2,k3,p1和p2的五维向量(k1,k2,k3,p1,p2);
求解出网络摄像机的内参矩阵、畸变矩阵、旋转矩阵和平移矢量,即完成网络摄像机的标定和畸变校正。
本实施方式的主程序如下://Feature2D.cpp:实现文件
具体实施方式四:本实施方式对实施方式三所述的基于AR技术的模具拆装工程训练***的搭建方法进行进一步的限定,本实施方式中的步骤五构建网络摄像机和投影仪的位置关系,利用Excel软件的开发工具功能生成添加验证的Code39条形码,并利用ZBar对条形码进行条形码识别,其具体过程为:
步骤五一:利用OpenCV3.4.1生成一张与电脑分辨率相同的黑色图像,在黑色图像中设置识别区域,并将识别区域内部的颜色改成白色,利用投影仪将整个黑色图像投射至工作平台上,记录识别区域在整个黑色图像中的位置;
步骤五二:利用网络摄像机的抓图功能拍摄步骤五一投射完成后的工作平台的图像,利用网络摄像机的内参矩阵和畸变矩阵对拍摄的图像进行校正;
步骤五三:应用OpenCV3.4.1显示校正后的图像,设置鼠标回调函数,在校正后的图像上手动框选投影仪投射图像所在位置,完成摄像机和投影仪位置关系构建;
步骤五四:利用Excel软件的开发工具功能,生成内容为AR01至AR28的共28个添加验证的Code39条形码;
步骤五五:将条形码粘贴到零件盒上,对条形码位置区域进行框选,应用ZBar对所框选的条形码位置区域进行条形码识别。
具体实施方式五:本实施方式对实施方式四所述的基于AR技术的模具拆装工程训练***的搭建方法进行进一步的限定,本实施方式中生成Code39条形码的具体过程为:
步骤1、点击"开发工具"选项卡,"***"-"其他控件";
步骤2、弹出"Microsoft BarCode控件14.0对象"对话框,选择Code39样式;
步骤3、鼠标右击条形码对象,弹出快捷菜单,点击"属性"命令项;
步骤4、在"Linked Cell"处输入A1,在A1单元格中输入AR01字符;
步骤5、点击"开发工具"选项卡下的"设计模式"来结束设计,即可生成内容为AR01的Code39条形码;
步骤6、重复步骤1-5,完成AR01至AR28条形码的生成,并打印输出。
具体实施方式六:本实施方式对实施方式五所述的基于AR技术的模具拆装工程训练***的搭建方法进行进一步的限定,本实施方式中步骤六根据步骤五一中设置的识别区域位置,将每一步拆装过程中零件和所得部件放入识别区域内,利用网络摄像机的抓图功能拍摄图像,并分别截取识别区域的图像作为每一步拆装过程的匹配模板图像。
具体实施方式七:本实施方式对实施方式六所述的基于AR技术的模具拆装工程训练***的搭建方法进行进一步的限定,本实施方式中步骤七根据全部拆装过程,设计程序逻辑,实现对引导信息、匹配模板图像的读取,同时利用投影仪投射引导信息,根据引导信息,网络摄像机实时获取实际的操作图像,将实际的操作图像与匹配模板图像进行特征点匹配,并对匹配成功的特征点进行筛选,其具体过程为:
步骤七一:根据全部拆装过程,设计程序逻辑;将每一步拆装过程的引导信息和匹配模板图像相关联;
步骤七二:利用投影仪投射引导信息,并利用网络摄像机实时获取实际操作过程的图像;
步骤七三:截取步骤七二获取的图像中的识别区域部分,应用ORB特征点提取算子;
步骤七四:使用FLANN匹配算子,将步骤七三截取得到的图像与匹配模板图像进行特征点匹配;
步骤七五:根据劳氏算法对匹配成功的特征点进行筛选。
利用投影仪投射引导信息(即步骤一设计的拆装过程动画演示)后,操作者即可根据动画演示进行实际拆装操作,实际拆装操作过程中,实时利用网络摄像机获取实际操作图像,获取实际操作图像后将识别区域部图像截取出来,再将截取出来的图像与匹配模板图像进行特征点匹配。
实施例
本发明步骤四三的关键程序代码为:
//提取棋盘格内角点
findChessboardCorners(imageInput,board_size,image_points,CV_CALIB_CB_ADAPTIVE_THRESH|CV_CALIB_CB_NORMALIZE_IMAGE);
//对粗提取的内角点进行精确化
find4QuadCornerSubpix(view_gray,image_points,Size(5,5));
//保存亚像素内角点
image_points_seq.push_back(image_points);
完成内角点提取,绘制的图像如图2所示。
本发明步骤四四中像素坐标系和图像坐标系的关系如图3所示。
由针孔成像原理,相机坐标系和图像坐标系具有简单透视变换关系,关系如图4所示:
求解出网络摄像机的内参矩阵、畸变矩阵、旋转矩阵和平移矢量,即完成网络摄像机的标定和畸变校正的关键程序代码为:
//求解摄像机内参矩阵、畸变矩阵、旋转矩阵和平移矢量
calibrateCamera(object_points_seq,image_points_seq,image_size,cameraMatrix,distCoeffs,rvecsMat,tvecsMat,CV_CALIB_FIX_K3);
//图片校正
undistort(camera,camera_clone,cameraMatrix,distCoeffs);
完成校正的图片如图5所示。
构建网络摄像机和投影仪的位置关系的关键程序代码为:
//创建窗口
cvNamedWindow("Capture image",WINDOW_NORMAL);
//在所创建窗口上显示校正完成的图片并设置鼠标回调函数
setMouseCallback("Capture image",on_MouseBarHandle,
(void*)&scrImage);
对条形码进行识别的关键程序代码为:
//初始化扫描器
ImageScanner scanner;
//设置扫描范围
Image imageZbar(width,height,"Y800",raw,width*height);
//扫描条码
scanner.scan(imageZbar);
//保存条形码内容
Bar.push_back(barname);
//保存条形码位置
BarPosition.push_back(g_rectangle);
应用ORB特征点提取算子,与匹配模板图像进行特征点匹配的关键程序代码如下://将从摄像机截取图像和从文件夹中读取图像转为灰度图像;
cvtColor(captureImage,d_srcR,COLOR_BGR2GRAY);
cvtColor(trainImage,d_srcL,COLOR_BGR2GRAY);
//提取图像的特征点
d_orb->detectAndCompute(d_srcR,Mat(),keyPoints_2,d_descriptorsR);
d_orb->detectAndCompute(d_srcL,Mat(),keyPoints_1,d_descriptorsL);
其中下模板特征点提取结果如图6所示。
//匹配两张图像中的特征点
d_matcher->match(d_descriptorsL,d_descriptorsR,matches);
特征点匹配结果如图7所示。
//对匹配成功的特征点进行筛选
if(matches[i].distance<=0.6*max_dist)
{
good_matches.push_back(matches[i]);
GoodMatchNumber++;
}
筛选完成后的特征点匹配结果如图8所示。
多工位级进模零件装配过程如下:
1、程序确定本步装配所需要的零件,在放置该零件的零件盒的条形码位置,用投影仪投射标记光点,在工作平台投射零件的匹配模板;
2、从零件盒中取出零件,置于识别区中,等待***识别;
3、完成识别后,在工作平台投射本步装配过程视频;
4、按视频引导进行装配操作;
5、将装配完成部件置入置于识别区中,等待***识别;
6、完成识别后,重复1-5步操作直至完成部件装配。
如图9所示,为凹模装配过程的示意图。
Claims (6)
1.基于AR技术的模具拆装工程训练***的搭建方法,其特征在于,该方法包括以下步骤:
步骤一:设计模具拆装过程中的引导信息;
引导信息包括:每一步拆装过程所需零件模型的信息、拆装过程的动画演示和拆装完成后的模型展示;
所述设计模具拆装过程中的引导信息的具体过程为:
步骤一一、模具拆装过程所需零件模型的建立:模具拆装工程训练***中使用的模具为多工位级进模,多工位级进模依次实现冲孔和折弯的工序,将实际的多工位级进模进行拆卸,通过实际测量获取拆卸后所得零件的具体尺寸,应用三维可视化实体模拟软件的零件来创建二维和三维对象功能,完成零件三维模型的建立;
步骤一二、模具拆装工程训练***零件模型的装配:应用三维可视化实体模拟软件的约束功能,依照装配过程的位置要求固定零件模型之间的相对位置,完成多工位级进模的装配;
步骤一三、装配视频渲染输出:将完成装配的多工位级进模导入三维可视化实体模拟软件的InventorStudio动画制作环境,在动画时间轴中,驱动约束来控制零件模型移动,通过调整透明度来控制零件模型显隐,完成装配视频渲染过程;
步骤二:使用VS2015中C++语言的MFC类库,搭建模具拆装工程训练***的图形化界面,根据设计需要添加Button、Slider和Tab控件;
步骤三:下载OpenCV3.4.1、HCNet和ZBarSDK,OpenCV3.4.1用于实现计算机视觉功能、HCNet作为网络摄像机、ZBarSDK用于实现条形码识别功能,将OpenCV3.4.1、HCNet和ZBarSDK导入VS2015,并配置开发环境;
步骤四:调用网络摄像机,对网络摄像机进行标定和畸变校正;
步骤五:构建网络摄像机和投影仪的位置关系,利用Excel软件的开发工具功能生成添加验证的Code39条形码,并利用ZBar对条形码进行条形码识别;
步骤六:利用网络摄像机的抓图功能拍摄每一步拆装过程中零件盒所得部件的匹配模板图像;
步骤七:根据全部拆装过程,设计程序逻辑,实现对引导信息、匹配模板图像的读取,同时利用投影仪投射引导信息,根据引导信息,网络摄像机实时获取每一步拆装过程的实际操作图像,将实际的操作图像与匹配模板图像进行特征点匹配,并对匹配成功的特征点进行筛选;
步骤八:记录筛选后的特征点匹配对数,若网络摄像机获取的实际的操作图像与匹配模板图像特征点匹配数量达到匹配模板图像自匹配特征点数量的70%,则认定匹配成功,继续执行步骤七设计的程序逻辑,直至完成全部拆装过程;
否则认定匹配未成功,则对零部件位置进行调整后,继续对网络摄像机获取的实际的操作图像与匹配模板图像进行特征点匹配,直至认定匹配成功;继续执行步骤七设计的程序逻辑,直至完成全部拆装过程。
2.根据权利要求1所述的基于AR技术的模具拆装工程训练***的搭建方法,其特征在于,所述步骤四中调用网络摄像机,对网络摄像机进行标定和畸变校正,其具体过程为:
步骤四一:初始化网络摄像机的SDK,设置登录参数注册网络摄像机,设置的登录参数包括网络摄像机的IP地址、用户名和密码信息,并开启实时预览,完成摄像机调用;
步骤四二:利用网络摄像机的云台控制功能,使用滑动条调节速度,完成云台位置、焦距大小、焦点前后和光圈大小的调节;设置预制点,保证每次调用时网络摄像机均在调整好的位置;
步骤四三:将标定板以不同姿态放置于工作平台,应用网络摄像机的抓图功能拍摄15~20张棋盘格图像,并保存到硬盘中;
步骤四四:读取网络摄像机所拍摄的棋盘格图像,对棋盘格内角点进行粗提取后,对粗提取的内角点进行精确化得到亚像素内角点,完成内角点提取;
步骤四五:对网络摄像机进行标定和畸变校正,标定和畸变校正的具体过程为:
世界坐标系下,坐标为(xw,yw,zw)的点的齐次坐标为(xw,yw,zw,1)T;
以网络摄像机镜头光心为原点o′,镜头光轴为z轴,像面的两边平行线为x、y轴,建立相机坐标系;世界坐标系下的点(xw,yw,zw)在相机坐标系下对应的齐次坐标为(xc,yc,zc,1)T,(xc,yc,zc)为世界坐标系下的点(xw,yw,zw)在相机坐标系下的坐标;
世界坐标系和相机坐标系的转换关系如公式(1)所示:
式中:R为3×3维的旋转矩阵;T为3×1维的平移矢量;
像素坐标系是以棋盘格图像的左上角为原点o,以像面的两边平行线为u,v轴,建立像素坐标系;
世界坐标系下的点(xw,yw,zw)在像素坐标系下对应的齐次坐标为(u,v,1)T,(u,v)为世界坐标系下的点(xw,yw,zw)在像素坐标系下的坐标;
图像坐标系是以棋盘格图像的中心为原点,即以网络摄像机的光轴与像面的交点为原点O,以u轴和v轴的平行线分别为X轴和Y轴的坐标系;
世界坐标系下的点(xw,yw,zw)在图像坐标系下对应的齐次坐标设为(X,Y,1)T;(X,Y)为世界坐标系下的点(xw,yw,zw)在图像坐标系下的坐标;
像素坐标系和图像坐标系的转换关系如公式(2)所示:
式中:dX为像素在X轴方向的物理尺寸,dY为像素在Y轴方向的物理尺寸,u0为图像坐标系原点的横坐标,v0为图像坐标系原点的纵坐标;
相机坐标系和图像坐标系的转换关系如公式(3)所示:
式中:s为比例因子,f为网络摄像头有效焦距;
世界坐标系与像素坐标系的转换关系如公式(4)所示:
网络摄像机的畸变包括径向非线性畸变和切向非线性畸变,其中:径向非线性畸变的模型为:
x2=x(1+k1r2+k2r4+k3r6) (5)
y2=y(1+k1r2+k2r4+k3r6) (6)
其中:(x,y)是网络摄像机的正常位置坐标,(x2,y2)是网络摄像机的径向非线性畸变位置坐标;r为网络摄像机的正常位置坐标到镜头光心的距离,即k1为2阶径向畸变系数,k2为4阶径向畸变系数,k3为6阶径向畸变系数;
切向非线性畸变的模型为:
x1=x+[2p1y+p2(r2+2x2)] (7)
y1=y+[2p2x+p1(r2+2y2)] (8)
其中:(x,y)是网络摄像机的正常位置坐标,(x1,y1)是网络摄像机的切向非线性畸变位置坐标;p1为垂向切向畸变系数,p2为水平向切向畸变系数;
则网络摄像机的非线性畸变公式为:
x0=x(1+k1r2+k2r4+k3r6)+[2p1y+p2(r2+2x2)]
y0=y(1+k1r2+k2r4+k3r6)+[2p2x+p1(r2+2y2)]
畸变矩阵即为包括k1,k2,k3,p1和p2的五维向量(k1,k2,k3,p1,p2);
求解出网络摄像机的内参矩阵、畸变矩阵、旋转矩阵和平移矢量,即完成网络摄像机的标定和畸变校正。
3.根据权利要求2所述的基于AR技术的模具拆装工程训练***的搭建方法,其特征在于,所述步骤五的具体过程为:
步骤五一:利用OpenCV3.4.1生成一张与电脑分辨率相同的黑色图像,在黑色图像中设置识别区域,并将识别区域内部的颜色改成白色,利用投影仪将整个黑色图像投射至工作平台上,记录识别区域在整个黑色图像中的位置;
步骤五二:利用网络摄像机的抓图功能拍摄步骤五一投射完成后的工作平台的图像,利用网络摄像机的内参矩阵和畸变矩阵对拍摄的图像进行校正;
步骤五三:应用OpenCV3.4.1显示校正后的图像,设置鼠标回调函数,在校正后的图像上手动框选投影仪投射图像所在位置,完成摄像机和投影仪位置关系构建;
步骤五四:利用Excel软件的开发工具功能,生成内容为AR01至AR28的共28个添加验证的Code39条形码;
步骤五五:将条形码粘贴到零件盒上,对条形码位置区域进行框选,应用ZBar对所框选的条形码位置区域进行条形码识别。
4.根据权利要求3所述的基于AR技术的模具拆装工程训练***的搭建方法,其特征在于,生成Code39条形码的具体过程为:
步骤1、点击"开发工具"选项卡,***"-"其他控件;
步骤2、弹出"Microsoft BarCode控件14.0对象"对话框,选择Code39样式;
步骤3、鼠标右击条形码对象,弹出快捷菜单,点击"属性"命令项;
步骤4、在"Linked Cell"处输入A1,在A1单元格中输入AR01字符;
步骤5、点击"开发工具"选项卡下的"设计模式"来结束设计,即可生成内容为AR01的Code39条形码;
步骤6、重复步骤1-5,完成AR01至AR28条形码的生成,并打印输出。
5.根据权利要求4所述的基于AR技术的模具拆装工程训练***的搭建方法,其特征在于,所述步骤六根据步骤五一中设置的识别区域位置,将每一步拆装过程中零件和所得部件放入识别区域内,利用网络摄像机的抓图功能拍摄图像,并分别截取识别区域的图像作为每一步拆装过程的匹配模板图像。
6.根据权利要求5所述的基于AR技术的模具拆装工程训练***的搭建方法,其特征在于,所述步骤七的具体过程为:
步骤七一:根据全部拆装过程,设计程序逻辑;将每一步拆装过程的引导信息和匹配模板图像相关联;
步骤七二:利用投影仪投射引导信息,并利用网络摄像机实时获取实际操作过程的图像;
步骤七三:截取步骤七二获取的图像中的识别区域部分,应用ORB特征点提取算子;
步骤七四:将步骤七三截取得到的图像与匹配模板图像进行特征点匹配;
步骤七五:根据劳氏算法对匹配成功的特征点进行筛选。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810904293.4A CN109034748B (zh) | 2018-08-09 | 2018-08-09 | 基于ar技术的模具拆装工程训练***的搭建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810904293.4A CN109034748B (zh) | 2018-08-09 | 2018-08-09 | 基于ar技术的模具拆装工程训练***的搭建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109034748A CN109034748A (zh) | 2018-12-18 |
CN109034748B true CN109034748B (zh) | 2021-08-31 |
Family
ID=64632559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810904293.4A Active CN109034748B (zh) | 2018-08-09 | 2018-08-09 | 基于ar技术的模具拆装工程训练***的搭建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109034748B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109685912A (zh) * | 2018-12-20 | 2019-04-26 | 深圳瑞和建筑装饰股份有限公司 | 基于ar的演示方法及*** |
CN109697918B (zh) * | 2018-12-29 | 2021-04-27 | 深圳市掌网科技股份有限公司 | 一种基于增强现实的打击乐器体验*** |
CN109920062A (zh) * | 2019-02-01 | 2019-06-21 | 谷东科技有限公司 | 一种基于ar眼镜的零件动态组装指导方法及*** |
CN111658142A (zh) * | 2019-03-07 | 2020-09-15 | 重庆高新技术产业开发区瑞晟医疗科技有限公司 | 一种基于mr的病灶全息导航方法及*** |
CN110264818B (zh) * | 2019-06-18 | 2021-08-24 | 国家电网有限公司 | 一种基于增强现实的机组进水阀拆装训练方法 |
WO2022036634A1 (zh) * | 2020-08-20 | 2022-02-24 | 青岛理工大学 | 一种面向拆装作业的增强现实诱导与远程协作开发*** |
CN113191841B (zh) * | 2021-04-28 | 2024-06-14 | 张鹏 | 基于增强现实技术的科技创新与文化共享智能平台 |
CN114648305A (zh) * | 2022-03-25 | 2022-06-21 | 成都飞机工业(集团)有限责任公司 | 零件制造过程数据的关联***及方法 |
CN115797608B (zh) * | 2022-06-09 | 2024-05-10 | 广州中鸣数码科技有限公司 | 一种积木搭建方法、智能终端 |
CN117690331B (zh) * | 2024-02-04 | 2024-05-14 | 西南医科大学附属医院 | 一种***穿刺手术训练***及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3952717B2 (ja) * | 2001-09-19 | 2007-08-01 | 日産自動車株式会社 | インストルメントパネルの解体用治具 |
CN108039093A (zh) * | 2013-03-11 | 2018-05-15 | 林肯环球股份有限公司 | 使用虚拟现实焊接***导入和分析外部数据 |
CN107833503B (zh) * | 2017-11-10 | 2019-10-29 | 广东电网有限责任公司教育培训评价中心 | 配网核心作业增强现实仿真培训*** |
-
2018
- 2018-08-09 CN CN201810904293.4A patent/CN109034748B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109034748A (zh) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109034748B (zh) | 基于ar技术的模具拆装工程训练***的搭建方法 | |
CN109509226B (zh) | 三维点云数据配准方法、装置、设备及可读存储介质 | |
CN107484428B (zh) | 用于显示对象的方法 | |
CN100377171C (zh) | 生成劣化字符图像的方法和装置 | |
Ibáñez et al. | An experimental study on the applicability of evolutionary algorithms to craniofacial superimposition in forensic identification | |
JPWO2018235163A1 (ja) | キャリブレーション装置、キャリブレーション用チャート、チャートパターン生成装置、およびキャリブレーション方法 | |
CN104169941A (zh) | 自动跟踪抠像区*** | |
CN111292408B (zh) | 一种基于注意力机制的阴影生成方法 | |
CN107155341A (zh) | 三维扫描***和框架 | |
CN101669146A (zh) | 使用摄像机和电视监视器的三维物体扫描 | |
US10169891B2 (en) | Producing three-dimensional representation based on images of a person | |
CN108550157B (zh) | 一种教学板书的无遮挡处理方法 | |
CN110648274B (zh) | 鱼眼图像的生成方法及装置 | |
CN111062869A (zh) | 一种面向曲面幕的多通道校正拼接的方法 | |
CN111951333A (zh) | 六维姿态数据集自动生成方法、***、终端以及存储介质 | |
TWI672639B (zh) | 使用模擬物件影像之物件辨識系統及其方法 | |
CN114913308A (zh) | 摄像机跟踪方法、装置、设备及存储介质 | |
WO2010109994A1 (ja) | 縞模様画像鑑定装置、縞模様画像鑑定方法及びプログラム | |
CN112365589B (zh) | 一种虚拟三维场景展示方法、装置及*** | |
RU2735066C1 (ru) | Способ отображения широкоформатного объекта дополненной реальности | |
US20230353702A1 (en) | Processing device, system and method for board writing display | |
JP7380661B2 (ja) | 投射方法、及び投射システム | |
CN110728743B (zh) | 结合云端全局光照渲染的vr三维场景立体画面生成方法 | |
CN118015246B (zh) | 一种基于人工智能的图像数据分析处理***及方法 | |
CN115033998B (zh) | 一种面向机械零部件的个性化2d数据集构建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |