LOGO指导教师:陈凤东论文题目CAD模型匹配背景本课题来自国家中长期科学和技术发展规划重大专项惯性约束聚变工程。意义对靶的姿态进行精确快速且非接触的测量,使靶丸内燃料受到均匀压缩实验的背景及意义理论基础:三维坐标的平移变换平移变换理论基础:三维坐标的平移变换旋转变换理论基础:三维坐标的平移变换坐标系旋转原坐标轴新坐标轴T1[1,0,0]wx,T1y[0,1,0]w和T1[0,0,1]wzT2[0,0,1]wx,T2y[0,1,0]w和T2[1,0,0]wz理论基础:三维坐标的平移变换齐次坐标变换通过一次矩阵乘法同时完成对点的平移变换和旋转变换原有的三维坐标用来表示,将其与齐次变换矩阵相乘,即可得到旋转与平移后的坐标值理论基础:姿态的表述姿态是三维空间中两个坐标系之间的相对旋转关系欧拉角表示姿态的缺陷:两组欧拉角理论基础:姿态的表述球坐标系下姿态的表述理论基础:姿态的表述常用坐标系世界坐标系世界坐标系是一个人为选定的空间坐标系,该坐标系用于描述物体坐标系、摄像机坐标系等坐标系之间的关系。世界坐标系是应用最广泛,最基础,全局性最强的坐标系,该坐标系用表示。物体坐标系物体坐标系是一个三维坐标系,用来表述物体在空间中的位置和姿态,空间中每一个物体都有自己的物体坐标系。摄像机坐标系摄像机坐标系代表摄像机在空间中的姿态,其中坐标系的原点在摄像机镜头的光心处,轴和轴与图像坐标系的轴和轴平行,轴与摄像机光轴重合,该坐标系用表示。成像坐标系成像平面坐标系是一个二维平面坐标系,其原点定义在摄像机光轴与摄像机镜头焦平面的交点处,其坐标轴用轴和表示,轴和与摄像机坐标系的轴和轴平行。图像坐标系图像坐标系与成像平面坐标系重合,但是该坐标系与图像传感器上的像元一一对应,坐标轴是离散的整数点理论基础:姿态的表述理论基础:姿态的表述图像坐标系与世界坐标系的联系像元尺寸,即图像传感器上每个像元的长度和宽度成像坐标系到图像坐标系理论基础:姿态的表述摄像机坐标系到成像坐标系摄像机坐标系到图像坐标系世界坐标系到图像坐标系理论基础:姿态的表述矩阵即为公式中所提到的矩阵,该矩阵包含了摄像机的内参数和外参数;所谓内参数,即与摄像机内部结构特征有关的参数,包含;所谓外参数,即摄像机在世界坐标系中的姿态,包含摄像机在世界坐标系中的平移和旋转两部分摄像机标定:确定摄像机中的内参数和畸变系数的过程三维模型匹配原理及其算法库匹配原理HALCON所提供的三维匹配算法的原理是将待测物的CAD模型三维线框经过针孔摄像机模型投影为二维图像,并将该二维图像与经过边缘提取的摄像机实物画面进行比对训练过程:将CAD模型置于一个假想球体的中心,令虚拟摄像机在包围CAD模型的球面上运动,保持其镜头始终对准模型中心,则在每一个角度均可生成一个CAD模型的二维线框。渲染三维模型匹配原理及其算法库算法库训练函数create_shape_model_3d姿态识别函数find_shape_model_3d为了提高匹配的速率,该函数在生成训练文件时,除了保存摄像机内参数所定义尺寸的图形外,还按照一定的降采样方式存储分辨率较低的图形方法:要从金字塔第i层生成第i+1层,我们先要用高斯核对第i层进行卷积,然后删除所有偶数行和偶数列。当然,新得到的图像面积会变为源图像的四分之一。按上述过程对输入图像循环执行操作就可产生整个金字塔三维模型匹配原理及其算法库HALCON中所使用的姿态增加了位置信息,其实质是一个包含三维平移量与三维旋转量的数组。在该数组中还包含一个旋转顺序信息,通常情况下,使用的旋转顺序为首先绕z轴旋转,然后绕y轴旋转,最后绕x轴旋转C#平台下的软件开发C#平台下的软件开发:HALCON算法库算法训练程序:用于根据用户指定的球面区域生成匹配训练文件以及训练文件的索引文件算法训练程序训练文件训练文件CAD模型区域划分脚本XML索引文件C#平台下的软件开发:HALCON算法库当需要在较大范围内运动时,可以采用将球面划分为若干个小区域,在每个小区域内单独生成训练文件等经纬度的方式:相同间隔的经纬度划分却有很大的面积差异用脚本语言的方式对区域及部分参数进行描述,用户按照指定的格式编写脚本,算法训练程序读取并解释执行该脚本,依照每一条指令逐个生成小区域内的训练文件C#平台下的软件开发:HALCON算法库最佳观测距离该观测距离的选择应使得被测物无论以何种姿态旋转,其所成的二维像都不能超过摄像机的视场范围C#平台下的软件开发:HALCON算法库当时可以得到最长的投影。在这种约束条件下,可以方便的求得最佳距离计算公式由于XML适合结构化存储数据的特性,所以在本课题中选择XML文件来存储训练文件的索引信息C#平台下的软件开发:姿态匹配程序姿态预测考虑到被测物体姿态运动的连续性,当识别速率(即测量的采样率)足够高时,前后两次测量结果之间的差值在一定范围内,因此每次进行匹配的范围可以缩减到上一匹配结果附近,而不必对每一个训练区域都进行搜索。C#平台下的软件开发:姿态匹配程序坐标变换摄像机保持在初始位置,将模型绕中心旋转至一个姿态,此时摄像机拍摄到的图像效果等价于被观测模型在空间中保持姿态不变,摄像机向相反方向沿球面移动到对应位置对模型进行成像所得的效果C#平台下的软件开发:数据处理模块剔除粗大误差:设置阈值,本次测量结果与上次测量结果差异过大时,系统将自动放弃该次测量卡尔曼滤波处理:卡尔曼滤波器的典型应用是在有高斯噪声的测量数据中追踪并预测物体运动的状态,实验结果表明匹配结果的误差均服从高斯分布,适合卡尔曼滤波器C#平台下的软件开发:CreoParametric在层次结构中,会话是整个层级结构的顶层,首先获对取被操作对象的引用,然后才可以对其或其下的对象进行操作;在会话之下是模型层,一个会话可以包含一个或多个模型;每个模型可以包含若干个定义自己细节的特征,每个特征的参数值通过其对应的属性来设置在装配模型中,每一个特征即为一个需要展示的零件实体,而零件需要被操作的属性就是其在三维空间中的姿位。C#平台下的软件开发:CreoParametric