您好, 访客   登录/注册

基于投影图与直方图的机械零件模型检索

来源:用户上传      作者:

  摘 要:为实现资源重复利用与产品创新,通过检索出数据库中的相似零件为设计者提供帮助。首先对机械零件模型进行方位归一化与预处理,以起始点为圆心作最大内切圆,划分连通区,在连通区内根据距离变换值判定邻域像素,进而确定新的骨架点,迭代生成完整骨架。将骨架转换成直方图曲线,划分网格生成骨架点数矩阵,根据矩阵特征值和之间的差计算两模型间的差异度,从而判定机械零件相似度。通过实例验证以及与D2形状分布算法及递归分割算法比较,发现该方法检索速度高于递归分割算法,准确性高于D2形状分布算法和递归分割算法。
  关键词:机械零件;模型检索;骨架提取;距离变换;直方图;差异度
  DOI:10. 11907/rjdk. 192110 开放科学(资源服务)标识码(OSID):
  中图分类号:TP319 文献标识码:A 文章编号:1672-7800(2020)005-0107-05
  0 引言
  随着企业的发展与信息数字化应用的逐步深入,零件生产与创新可从许多现有零件模型中获取灵感,并在原有基础上进行部分创新,以重用企业资源,避免重复劳动。因此,如何在众多现有案例中快速、准确地找出所需零件,是目前亟待解决的问题,很多学者也对该问题进行了大量研究。如Liu等[1]提出基于视图的三维模型检索方法,该方法利用聚类对模型进行视图提取,采用游走算法对每个代表视图进行权重更新,通过图匹配解决模型相似性度量问题,但检索过程较为复杂;Zhang等[2]提出从模型外部轮廓和内在结构中提取填充描述符,并采用二分图匹配算法完成模型检索,但计算量大,实际应用有一定困难;Wai等[3]提出基于带次序的欧氏距离图提取连接良好的骨架,给出一种连通性准则,可用于独立确定给定像素是否为骨架点,但提取的骨架冗余分支较多;Cheng等[4-5]将模型分解成集合基本体的树结构,并根据不同类别比较两个模型的相似性,但对于结构复杂的模型,分解的树结构将会有不同方案,使得最终的相似度差异较大;万雅娟等[6]设计一种由骨架种子点开始对邻域进行判定选出下一轮预备骨架点,迭代生长出完整三维模型骨架的提取算法,但提取的骨架不够简化,存在多面结构;刘玉杰等[7]提出一种基于手绘图像融合信息嫡与CNN的三维模型检索方法,先计算得到模型的代表性视图,再与手绘草图进行特征匹配,但手绘草图差异度较大,失误率高,且模型具有一定局限性。
  针对上述方法存在的问题,本文提出的骨架生成方法能够消除冗余分支骨架,基于距离变换生成机械零件骨架,并运用判定方法迭代生成骨架,保证了骨架的连续性,且避免了多面结构,有利于后续相似度计算。骨架检索过程清晰、简洁,计算方式简单,计算量不大,将骨架转换成直方图曲线,并生成骨架点数矩阵,计算矩阵特征值和之间的差,随之得出机械零件三维模型的相似程度。
  1 机械零件三维模型预处理
  1.1 模型归一化及简化
  首先计算出机械零件三维模型的几何中心,并将该几何中心作为原点建立坐标系。之后将三维模型用最小凸包围盒[8],即最小包围长方体完全包围起来,过几何中心作与最小凸包围盒最长边平行的直线,即为X轴;X轴线与最小凸包围盒两面交于两点,比较几何中心到两点的距离,距离长的一侧定义为正方向。利用笛卡尔坐标系建立原则,即可确定Y轴和Z轴,完成三维模型的方位归一化处理,如图1(a)所示。
  在完成模型的方位归一化后,对机械三维模型上的诸如倒角、倒圆、锪平沉孔等附加特征进行去除。机械模型相似度主要取决于模型主要特征与主干结构[9],故通过电脑自动过滤掉这些附加特征。模型简化后如圖1(b)所示。
  1.2 投影与像素化处理
  将模型分别投影到坐标平面XOZ、平面XOY与平面YOZ上,得到模型的主视图、俯视图和左视图,保留各视图外轮廓线及所有通孔的圆形视图,去除其它图线。如图2所示为与图1模型对应的处理后投影图。
  随后对处理后投影图进行像素化。像素是指由数字序列表示数字图像中的最小单位[10],根据投影图尺寸,选取一个最小包络长方形边框[11],并在该边框内将图形划分为若干个等面积的小正方形。正方形边长越小,后续提取出的骨架精度越高,但计算量也随之增大。综合考虑精度与计算量之间的关系,取投影图长宽中较短边的1/2 000左右较为适宜。故针对图1所示模型处理后的投影图,取边长为0.1mm进行划分,如图3(a)所示为处理后主视图的像素划分图。
  1.3 采用距离变换赋值内部像素
  最小距离值的计算方法采用欧氏距离[12]方法。图3(b)为图3(a)圆圈处的局部放大图,图中数字为像素值,填充部分为边界像素,未填充且标有像素值的方格为内部像素。
  2 骨架提取算法
  本文提取骨架的方法是针对处理后的投影图,由骨架起始点开始,对其相邻像素进行判断,生成新的骨架点并迭代生成骨架。根据骨架和距离变换的定义[13],由于骨架中间部位的特征是内部像素值较大,且利于骨架向周围扩散,故本文选择具有最大值的内部像素作为骨架起始点。
  利用参考文献[6]中的方法对模型主视图的迭代过程如图4(a)所示,粗实线为骨架。同理,对模型俯、左两个视图进行骨架提取,完成所有迭代后,骨架如图4(b)、(c)所示。
  3 相似度计算
  通过将骨架表示为二维曲线直方图,再将曲线图用矩阵形式予以表现,计算两个矩阵之间的差异度,并判定两个机械零件模型之间的相似度。
  3.1 骨架直方图描述
  设骨架起始点为[P0],骨架点集合为[Pi(i=1,2,?,][K)],设[ske(P0,Pi)]为横坐标,表示从[P0]沿骨架到[Pi]的最短路径长度[14],纵坐标[R(Pi)]为[Pi]点的内切圆半径。图4(a)中完成迭代的主视图骨架直方图见图5(a)。同理可得该模型俯、左两个视图的骨架直方图见图5(b)、图5(c)。   3.2 骨架点数矩阵生成
  为了将直方图转换成骨架点数矩阵,首先对骨架直方图进行网格划分,网格划分得越密集,矩阵数据表示则越细致,但计算量也随之陡增。综合考虑计算量与精准度[15],选取横向划分网格数量在5~15之间,并将每个网格长宽比控制在1~3之间较为合理。按原则划分后结果如图5所示。
  生成网格之后,依次计算每个网格中的骨架点数量,生成骨架点数矩阵。将网格横坐标划分为m等分,纵坐标n等分,每一网格中骨架点数量记为[hij],生成骨架点数矩阵[H]为:
  由于矩阵方阵才有特征值[16],为便于后续匹配,若[m≠n],则将行列中较少的一方添0补齐,使列数与行数相等。由于[H]矩阵表示骨架点落在指定区域内的个数,故添0操作相当于在已划分好的网格右侧或上方再添加新的网格,使网格的行与列相等,最后得出的数据矩阵与式(1)意义相同[17]。将图5(a)按照上述方法生成数据矩阵[H(a)],添0后为[H(a)']。
  3.3 骨架点数矩阵匹配
  通过将模型骨架转换成直方图,再根据直方图生成数据矩阵,模型匹配转换成两个矩阵之间的匹配。两个矩阵差异度可以用矩阵特征值之和的差表示。如图6所示为模型二及完成归一化与简化后的模型。
  将处理后的投影三视图用第2节所述方法生成骨架,如图7(a)中粗实线所示。将3个骨架依次用直方图进行描述,并用网格划分好,如图7(b)所示。
  3.2节中[H(a)']特征值之和为4.41,[H(1)']特征值之和为7.260 1,[H(a)']与[H(1)']矩阵特征值和之间的差为:|4.41- 7.260 1|= 2.850 1,即为两个视图之间的差异度。
  3.4 零件模型匹配
  模型骨架直方图与其骨架点数矩阵特征值之和是互相对应的,故比较两个模型骨架的相似度,可比较矩阵特征值之和的差。分别比较处理后主、俯、左视图骨架点数矩阵特征值和的差,取加权值,即为两个零件模型之间的差异度值[Dif],如式(2)所示。
  4 实例应用
  为检验本文方法的可行性,将图1模型数据上传到自行开发的机械零件检索系统中,见图8。
  系统运行结果显示,排序前三的依次为编号0028、0126、0033的零件,即这3个零件差异度值较小,与图1模型在形状上很相似[18],可以参考这几个模型的设计方案。
  5 实验分析
  将本文算法与D2形状分布算法[19]及递归分割算法[20]进行对比分析,以验证本文算法的可行性与准确性。
  首先对计算量进行比较,本文的骨架提取算法是对邻域像素距离变换值大小的比较,计算量较小,且矩阵特征值计算简便易行。本文以第4节所述机械零件库作为测试数据库,在保证其它细节相同的情况下,依次用3种算法对同一零件模型进行检索,检索耗时如表2所示。本文方法计算量不大,耗时比D2形状分布算法略多0.31s,少于递归分割算法。
  综合比较计算量和查准率—查全率后可以得出,本文算法计算量及检索耗时略高于D2算法,但查准率—查全率优于D2算法;本文算法查准率在查全率大于0.18后,优于递归分割算法,且计算量明显减小。综合两方面,本文算法具有很强的实用性。
  6 结语
  (1)本文的骨架生成方法通过迭代将新生成的骨架点重设为起始点,由起始点出发对邻域像素进行判定,生成的骨架点相互邻接,骨架具有连续性,有效避免了现有基于距离变换方法的骨架中断现象。
  (2)将处理后的投影图像素化,并一次性地赋予像素值,骨架點判定是通过对邻域像素值大小进行比较,故本文骨架生成算法计算量较小;骨架匹配是将骨架直方图转换为骨架点数矩阵,根据矩阵特征值和之间的差计算两模型间的差异度,数据矩阵特征值计算简便、快速,因此本文检索方法效率较高。
  (3)本文提出的模型骨架提取方法也适用于有通孔结构分布的机械零件,目前已在自行开发的检索原型系统中得到应用。然而,如果零件上有盲孔,则处理后的骨架与通孔类零件相同。因此,针对本文的骨架提取部分,对于该情况还需作进一步研究。
  参考文献:
  [1] LIU A,WANG Z,NIE W,et al. Graph-based characteristic view set extraction and matching for 3D model retrieval[J]. Information Sciences, 2015, 320: 429-442.
  [2] ZHANG Y,JIANG F,RHO S,et al. 3D object retrieval with multi-feature collaboration and bipartite graph matching[J]. Neurocomputing, 2016,195(C):40-49.
  [3] CHOI W P,LAM K M,SIU W C. Extraction of the euclidean skeleton based on a connectivity criterion[J]. Pattern Recognition,2003,36(3):721-729.
  [4] CHENG H C,LO C H,et al. Shape similarity measurement for 3D mechanical part using D2 shape distribution and negative feature decomposition[J]. Computers in Industry,2011,62:269-280.
  [5] 徐敬华,张树有. 基于递归分割的机械零件三维形状结构检索方法[J]. 机械工程学报,2009,45(11):176-183.   [6] 万雅娟,李海生,刘漩,等. 基于距离变换的三维连通骨架提取算法[J]. 计算机仿真,2014,31(6):256-260.
  [7] 刘玉杰,宋阳,李宗民,等. 融合信息熵和CNN的基于手绘的三维模型检索[J]. 图学学报,2018,39(4):735-741.
  [8] 刘云,戴光明,王茂才. 基于遗传算法的封闭轮廓最小面积凸包围盒生成算法[J]. 湖北工程学院学报,2007,27(3):63-66.
  [9] 周围,徐庆华,徐赐军. 面向机械结构形态的三维模型信息处理[J]. 湖北理工学院学报,2018,142(2):7-10.
  [10] 陈永常. 印刷制版工艺原理[M]. 北京:化学工业出版社,2014.
  [11] 叶刚. 城市环境基于三维激光雷达的自动驾驶车辆多目标检测及跟踪算法研究[D]. 北京:北京理工大学,2016.
  [12] MISHCHENKO Y. A fast algorithm for computation of discrete Euclidean distance transform in three or more dimensions on vector processing architectures[J]. Signal,Image and Video Processing,2015, 9(1): 19-27.
  [13] LUO S,GUIBAS L J,ZHAO H K. Euclidean skeletons using closest points[J]. Inverse Problems & Imaging, 2017, 5(1): 95-113.
  [14] 張超,芦勤,罗述谦. 基于距离变换与路径规划的骨架提取算法[J]. 北京生物医学工程,2012,31(6):551-555.
  [15] 张桂梅,郑加宽,储珺. 基于骨架和统计直方图的形状匹配算法[J]. 计算机工程与应用,2015,51(16):183-188.
  [16] 陈宇祺. 基于矩阵填充理论的R-D算法[J]. 软件导刊,2019,18(1):92-96.
  [17] DEMMEL J W. Applied numerical linear algebra[M]. Beijing: Tsinghua University Press,2011.
  [18] 林娴. 实心皮带轮参数化的设计与实现[J]. 福建电脑,2015,31(1):108-109.
  [19] 赵鹏飞. 针对三维模型检索中D2形状分布算法的改进[J]. 煤炭技术,2013,32(7):150-152.
  [20] 吴延海,潘晨,吴楠. 改进的Otsu递归分割单幅图像去雾算法研究[J].  西安科技大学学报,2017,37(3):438-444.
  (责任编辑:黄 健)
转载注明来源:https://www.xzbu.com/8/view-15252224.htm