路 通, 蔡士杰
(南京大学计算机软件新技术国家重点实验室,江苏 南京 210093)
作为体现设计意图的主要载体,工程图广泛流通于机械、电子、航空航天、建筑、化学工程、服装设计等在内的众多应用领域。据统计,1995年美国和加拿大大约有 35亿张各类工程图,并以每年超过 2000万的速度递增(包括纸质及CAD电子格式)[1]。工程图在数量及复杂性上迅速增加的同时,人工读图与解释的方式相对滞后,其效率低、数据一致性及可重复性较差,显然已无法满足各种实际应用的需求。为适应工程图信息自动提取与理解的需求,工程图的识别与理解技术应运而生。
工程图识别与理解的核心在于利用知识表示、图形匹配、符号识别、几何推理、语义表征及相关反馈等技术,以获取工程图中各种显式描述(如几何图元、工程符号等)及隐式信息(如设计语义、工程对象等)为目标,实现工程图中各种设计信息的有效提取与理解。在此基础上,工程图解释可进一步扩展至诸如工程图数据库管理、工程设计信息复用、各种工程数据的自动计算、工程设计一致性审核及错误检测、工程语义提取等具体应用。这种用于替代人工读图的智能化及自动化的计算机读图方式,无疑可极大地提高工程图在各环节的流通效率,从而大幅缩短设计及应用周期并降低相应成本。工程图的识别与理解的自动化、智能化已成为充分利用现存海量工程图的有效途径之一。
从20世纪70年代末至今,工程图的自动识别与理解一直是文档分析领域的研究热点之一,其研究范围包括最初将工程图纸扫描位图中转换为CAD平台可读取的矢量描述,到近年来进一步应用于面向内容的工程图解释、设计复用与检索、工程图数据库管理等。近年来先后提出了多种不同类型、适用于不同工程领域的工程图解释方法和原型系统,相关单位机构或系统包括法国LORIA研究所的Celesstin系统[2]、以色列工程技术大学的 MDUS系统[3-4]、美国伯克利大学[5]等。国内工程图理解的主要研究机构包括浙江大学 CAD&CG国家重点实验室[41,46-47,66]、南京大学软件新技术国家重点实验室[19,42,49,51,55,61,64-65,68]、中科院计算技术研究所和自动化研究所、清华大学CAD支撑软件工程研究中心等。
一般而言,完整的工程图识别与理解系统应包含如下3个阶段:扫描位图的矢量化与基本图元(直线段、圆、弧段、曲线、文字)识别;位图或矢量表示基础上的工程符号识别;矢量描述基础上的工程对象识别及工程语义提取。在此基础上结合各种工程应用的需求,完成面向内容的工程图检索、计算或管理,或通过三维重建进一步完成三维环境下的各种应用。由于实际工程图表示的复杂性与特殊性,上述3个阶段之间并没有严格的区分界限或次序,有时可相互作为验证或解释依据。
各类工程图以图形化方式为不同应用提供包括设计、施工等在内的产品生命周期内各种信息与数据,是表达设计意图、并在工程领域内各环节之间相互交流的主要媒体介质[6-10]。工程图解释的最终目标,则是从图形化描述的二维线条工程图(2D line engineering drawings)中,通过相应的识别与理解方法,自动提取其中各种几何表示所对应的语义、功能描述等高层信息,并在此基础上为各种不同应用提供数据。工程图的自动解释实际上是以图形学、CAD及模式识别为基础,以图像处理、人工智能、计算机视觉及知识工程为支撑,并以位图或矢量表示的线条工程图为特定研究对象的相对独立的研究体系。
二维工程图主要有位图与矢量图两种表示方式。早期工程制图一般以绘图板方式生成纸质工程图,经扫描后可得到其位图表示。近十年来随着CAD技术的发展与普及,在大部分工程领域中,电子格式的矢量图(如.dwg、.dxf等)已逐步取代了纸质图。据统计,现存的各类工程图中,纸质图与电子图比例大致为4:1。
无论以何种方式表示,典型的工程图一般具有如下特点。首先,工程图具有层次式的描述结构。工程图一般由直线段、圆、弧段、各种曲线、字符串等基本图元组成。基本图元又进一步组合成各类结构化成分,如箭头、点划线、阴影线等;相关结构化成分可进一步组合为独立于领域知识的各类工程符号(如尺寸线、轴线、对称轴、孔洞等),或领域知识基础上的各类工程实体对象。其次,工程图中除存在各类基本图元及其基础上的结构化成分、工程符号、工程实体对象外,还存在各类隐式约束成分,用以指定图元、结构化成分、工程符号、工程实体对象之间的各类隐式约束关系。如常见的尺寸线可用以指明工程对象的某种尺寸约束或比例关系,对称轴可用于表明其两侧图元及工程对象之间的映射关系等。其它常见的约束成分还包括距离约束(如距离靠近的不同成分之间可能存在匹配或组合关系)、引线约束(如标注字符串以一或多根连续引线引出,以远离被标识对象)、位置约束、几何约束等。第三,工程图之间往往存在各种关联关系,即单一工程图一般只能给出某工程对象的部分信息,而无法对其进行完整描述。因此解释某个工程对象时,必须充分发掘和利用该类关联关系。典型例子是工程对象的三视图表达方式,其中单一视图仅能给出该对象的某个侧面轮廓、尺寸及标注属性;要对该工程对象进行完整描述,必须首先建立三视图之间的几何及语义上的关联关系。
基于工程图的上述特点,工程图自动解释又可分为3个层次:以关键词检索为基础的图文档管理,基于形状匹配与几何推理的工程符号识别,以及在融合领域知识基础上、以语义提取为主要目标的面向内容的设计信息检索与复用。
关键词检索方法一般首先通过工程图的版面分析(layout analysis)方法,提取工程图中的图签描述框,再通过模板匹配等方法提取其中的工程图名、图类型、设计日期等关键字信息;在此基础上结合工程图中的特征字符串标注完成检索。如工程图为位图表示方式,则事先应进行位图去噪等预处理,并在此基础上完成字符识别。该方法已应用于一些图文档管理系统中,用以从各种工程图数据库中检索目标工程图,或快速定位其中特定类型的工程对象。其主要缺点是关键字的确定具有一定的主观性,难以实现通用的、基于工程图内容提取的智能化管理。
基于形状匹配与几何推理的工程符号识别侧重于从形状分析与匹配入手,在工程图基本图元几何关系分析基础上(如相交、平行、垂直等),从复杂工程图环境中提取各种特征信息,由此逐步完成工程符号识别。如 Yang[10]以统计约束直方图方法生成特征向量描述子(feature vector descriptor),以此作为符号比较依据;Llados等[11]在区域邻接图(region adjacency graphs)基础上以子图匹配(subgraph matching)方法来识别符号,Kumazawa[12]则使用形状特征匹配方法提取各类符号等。
融合领域知识基础上、以语义提取为主要目标的面向内容的设计信息检索与复用侧重于提取工程图所隐含的整体高层设计语义,在此基础上进一步用于三维重建、工程数据的自动计算、工程图关联性及一致性检查等,从而大幅提高工程图应用效率。如Luo等[13]通过图形知识推理以自动解释工程图,Prabhu等[14]利用结构化模式识别方法从 CADD工程图提取对象特征以进行解释,Zhi等[15]则从 CAD平面图出发,使用基于图的方法重建其中的拓扑关系,在此基础上自动提取工程对象数据。
上述不同解释层次可分别提取图元、符号及各类工程实体对象,以满足各种应用的需求。但总体上讲,目前仍缺乏一种有效及通用的、可适合于实际工程图解释的方法。工程图解释的复杂性主要体现在以下几个方面:首先,二维几何描述与其所表达的复杂工程语义之间存在距离。几何描述是表达工程语义信息的必要前提,但仅从几何表示入手,并不能实现其隐含的设计信息的提取。只有建立在适当的领域知识表示基础上、结合各种工程对象表示规则,才能实现面向内容的工程图自动解释;其次,从某种意义上讲,工程图可看作为工程性与艺术性的结合体,即工程图既表达工程中所需的精确性描述(如通过尺寸线限定对象轮廓及形状,以轴线指明其准确位置)。同时又使用大量的隐式表达方式(如常见的对称、省略、引用、示意性表示),以在尽可能简化工程图描述、缩短制图过程的前提下表达精确工程语义。但这类隐式表达往往给工程图自动解释带来困难;第三,由于实际工程的自动解释往往涉及一系列相关工程图,不同工程图之间、分布于各工程图内的各工程实体对象或符号之间往往有各种关联关系,如参考、引用、复制等。这种关联或约束关系要求工程图的自动解释必须遵从一定的次序,如解释复制对象之前,应该首先定位其源对象。而这种次序又随着工程图内容、乃至设计者的表达习惯而变化,并没有确定的规律,有时还会出现多次循环参照的情况,由此也给工程图的自动解释带来困难;最后,由于工程图类型的多样性,工程图解释在识别算法性能评测、基准库生成等方面也存在一定的困难。
如上所述,在扫描位图方式或CAD矢量绘制基础上的工程图解释涉及的主要技术包括工程位图的矢量化与图元识别、工程符号识别、工程对象语义理解几个部分。此外也涉及解释系统的界面设计及用户反馈基础上的解释优化等。图1给出了一个完整的工程图解释系统的框架。
图1 工程图解释系统框架
矢量化及基本图元识别所要解决的主要问题是将工程扫描位图中的基本图元转换为 CAD平台能够读取的各种矢量格式。作为最先提出的工程图解释技术之一,矢量化研究在国内外已开展了许多年,但由于工程图本身的复杂性、保存和扫描过程中各种噪音干扰,目前自动识别与转换算法的效率、准确性仍有诸多局限性,存在较大的研究与改进空间[16]。
现有矢量化与图元识别方法大体可分为 3类:基于全局统计特征的矢量化、基于局部特征匹配与像素跟踪的矢量化及基于整体化识别的矢量化。
基于全局统计特征的方法侧重于利用Hough函数、细化或骨架图、轮廓提取等方法,生成工程位图全局参数,以从其中提取完整的矢量信息,同时尽可能避免相交、粘连等的干扰。该方法可进一步分为两类:全局参数提取与结构特征简化。
全局参数提取方法侧重于提取与计算工程位图的参数描述或统计特征,并以此为依据,结合不同类型图元的几何约束来完成工程位图中基本图元的提取。全局参数提取方法中,基于霍夫变换(Hough Transform,HT)的图元识别方法应用较为广泛。如 Yang等[17]在线条连接分析基础上使用 Hough变换来检测位图中的短线条;Ching[18]则利用位图中线宽信息将交点转换为带(belts),然后应用Hough变换对各带进行测试,并迭代生成位图中的线段。但由于HT变换计算效率较低,其方法并不适用于数据量较大的工程图矢量化。对此Song等[19]提出一种融合参数空间与图像空间的 Hough变换方法,以解决传统Hough变换仅作用于其参数空间、从而导致计算效率低较的问题。该方法通过基于图像特征点的梯度预测(gradient prediction)来避免无关点干扰、从而加速Hough变换的累积过程,并引入边界记录器(boundary recorder)以消除线段识别的冗余校验;在此基础上进一步应用于检测大型工程位图中的直线段。除在二维空间中检测直线段外,Hough变换亦可进一步用于在多维空间中检测圆、椭圆等曲线[20-22]。Hough变换的其它改进包括随机Hough变换(RHT)[23]、概率Hough变换(PHT)[24]、动态Hough变换(DHT)[25]、参数空间分解[26]等。一般而言,充分利用图元的几何特性,可有效降低Hough变换的维度及计算量。
除Hough变换外,全局参数提取方法还可提取距离、斜率、面积等参数,以引导矢量化过程。如Ray等[27]及Teh等[28]使用曲线上的最大及最小曲率处的控制点作为构造矢量图元的依据;Leu等[29]则使用某像素处的最大垂直允许距离作为矢量化过程中是否生成新结点的依据。
相对于全局参数提取方法,结构特征简化方法侧重于通过细化(thinning)或轮廓生成等方法,提取其结构或拓扑特征,据此完成基本图元的识别。其中细化方法较早应用于矢量化系统。细化方法的基本思想是采用各种边界腐蚀操作逐层削去图像的外边界像素点,直到留下单像素宽的骨架(skeleton)并将其转化成链码表示,然后通过折线拟合将链码转化成低级矢量格式(直线段或折线段),最后用基于矢量的图形识别方法在短线段中识别出其中的图形对象[30-31]。此外,Zou等[32]在离散局部对称性(discrete local symmetry)基础上生成骨架描述,以充分利用识别对象的局部对称性提高精度。Chang等[33]在直线扫掠操作(line sweep operation)基础上给出了一个新的细化算法。该方法设定待识别对象为多边形(polygon),然后在位图中检测所有平行的边对(pairs of edges)并按距离等约束排序,最后在水平和垂直方向上将边对组合为规则多边形。Janssen等[34]则使用一种基于细化的自适应矢量化算法,该算法包括3个步骤:首先统计所有连接交点处包围盒对角线长度直方图(包围盒边分别与x轴及y轴平行),根据直方图删除过小对象并计算全局线宽,再以2倍全局线宽为长度阈值,通过骨架方法生成初步的粗糙矢量化结果;然后依次生成一系列锚点(anchor points),每个锚点定义为位图中的控制点(如端点、交点、拐角等);最后在两两锚点间进一步精细化矢量化描述。由于原始位图用作图元识别及验证依据,因此该方法可看作一个自适应过程。
除细化方法生成工程位图骨架描述外,Leymarie等[35]使用距离变换方法(distance transform)计算最小能量函数并得到其弹性边界,然后将其与曲率极值等特征整合,在此基础上生成Euclidean骨架表示(Euclidean skeleton representation),并以此作为二维对象的形状描述识别依据。最近Shang等[36]及Gu等[37]在脉冲耦合神经网络(pulse coupled neural networks, PCNNs)基础上生成位图的PCNN骨架描述,以便骨架信息中保留更多原始信息、提高识别准确度及鲁棒性。
一般而言,细化方法及骨架化方法可大幅减少图元识别过程中的计算开销、同时保留了形状的拓扑结构,且具有旋转无关性。此外,大部分算法还可维持图元之间的连接性和相交性。其主要缺点是容易受噪音干扰;由于细化过程丢失了线宽等形状信息,容易导致在各种相交交点处(如“T”形、“L”形、“X”形相交等)产生畸变。此外细化过程中需反复遍历像素点,并完成大量短线段合并,因而其速度较慢。
相对于骨架方法而言,轮廓方法[38-39]先提取出图像的轮廓,然后找出匹配的轮廓对,在每个轮廓对之间用对应轮廓点的中点可以拟合出该段图像的中心线,最后在所有中心线中搜索、拼接来恢复完整的图形对象。这种方法虽然可以避免遍历全部像素点并能保持线宽信息,但由于在相交、粘连处无法找到轮廓对,必然会将一个完整的图形对象分为多段,并且当线条位图退化时,轮廓之间的常常存在一对多的对应关系,给匹配带来困难。
行程编码方法(run length encoding)[40-42]先对图像进行行程编码(Run length encoding);然后分析行段生成各种形式的邻接图结构,由图像中的线状区域的行段中点拟合而成的线段作为邻接图中的边,非线状区域(相交或粘连处)作为邻接图中的节点连接相邻的边;最后在图结构上进行线段延伸、合并识别图形对象。这类方法难以处理实际图纸中的复杂情况,并且当图纸质量较差时对节点的分析(如出、入度计算)非常困难。此外,这类方法对行程编码的扫描方向的依赖性导致斜线矢量化的质量较差。有些方法通过水平、垂直双向行程编码对偏向水平、垂直的线段(以±45°角区分)分别进行处理,虽然提高了对接近水平、垂直的线段的处理能力,但却大大增加了算法的复杂度和处理时间[19]。
基于全局统计特征的矢量化方法从位图中各种特征描述、并以特征描述比较来完成工程位图中的图元识别,具有平移、旋转、缩放不变性,可同时结合图元几何特性以提高精度与计算效率,因而在矢量化系统中应用较为广泛。其主要缺点是难以正确处理各种图形对象相交与粘连情况、受噪音干扰较大。
基于局部特征匹配与像素跟踪的矢量化与图元识别侧重于从工程位图局部特征出发,以像素跟踪、参数匹配等方法追踪基本矢量形式,并将其逐步从工程图中剥离,完成图元识别。如Chai等[43]提出正交 Zig-Zag (Orthogonal Zig-Zag,OZZ)方法对工程位图稀疏取样与检测。该方法首先以水平扫描线每次间隔 10个像素从左到右扫描,若遇到一个黑像素,则进入该区域并开始一个 OZZ过程:若遇到区域边界,则记录该轮中间点像素,并继续在黑像素区域内按正交方向扫描;否则在 30个像素的预定义阈值内延伸。水平扫描结束后按类似方法完成垂直扫描。由于OZZ方法对图像稀疏采样,其效率较高。OZZ方法的缺点是对噪音敏感,且只能追踪直线段。Liu等[44]及Dori等[45]在此基础上提出了稀疏像素矢量化算法(sparse pixel vectorization,SPV)。该方法从任意可靠中点开始,按预定步长沿水平或垂直方向进行跟踪,获得每一步的中点(对斜线则用水平和垂直方向交替跟踪)。跟踪完整个图像后,对所得的中点序列加以折线化,以去除冗余点,最后在此基础上识别图元对象。相对于OZZ方法,SPV主要有以下几点改进:在一次跟踪过程中即可完成水平、垂直、倾斜扫描;对交点优化处理;充分利用中轴信息以提高跟踪可靠性。与OZZ类似,SPV通过跳跃采样减少了访问象素点的次数,但扫描次数更少,因此其矢量化速度、可靠性有所提高。SPV算法的缺点在于若交点或粘连尺寸大于跟踪步长阈值,跟踪就会停止,从而造成图元断裂。
一般而言,局部匹配与像素跟踪基础上的工程位图矢量化方法计算速度快、易于捕捉工程位图局部特征信息,可作为基于全局统计特征矢量化方法的必要补充。其主要缺点是缺乏整体信息引导,在追踪过程中容易生成各种短矢量,需要后期完成合并、优化等进一步处理,从而增加计算开销,同时也容易产生其它错误。
基于全局统计特征的方法侧重于模拟人的读图过程,利用图元的整体约束及连续性,从工程位图中提取完整的矢量信息;同时利用方向、线宽、长度、交点等约束信息,减少或避免相交、粘连及毛刺、噪音等的干扰,从而提高图元识别效率。基于整体化识别的工程位图矢量化是从工程位图中提取各种图元的有效方法之一。
Li等[46]将工程位图同一行/列中所有连通黑像素集合定义为扫描串,并利用扫描串之间的连通关系和轮廓信息完成图元矢量化。扫描串具有一定的整体特性,同时也可利用扫描串端点处的轮廓信息获取局部识别特征;但由于该方法首先将工程位图转换为短折线表示,矢量化后通过拟合生成基本图元,效率较低,且短折线拟合容易产生误差。Li等[47]将有重叠关系的扫描段定义为图段,并利用图段的延伸性与几何约束完成工程图整体矢量化,但其缺点在于无法识别工程位图中的短线条。Wang等[48]则首先检测工程位图中的线宽信息,然后按其宽度不同生成一系列梯形块组成的条块图,并对不同条块图分别进行整体识别。Song等[49-51]进一步提出了从工程位图中直接提取与识别各种图元的整体矢量化方法。该方法首先从线条无相交、粘连的部分测得特征段,然后以该特征段的初始方向为指导、线宽为约束进行定向跟踪,并在跟踪过程中动态调整初始参数以提高准确性,同时排除粘连及噪音干扰。在此基础上将工程位图中的整体识别范围从单一图形元素扩大到线条网,并在线条网基础上完成快速识别。
整体矢量化方法符合人的视觉认知原理,整体化过程中可利用已识别信息辅助判断相交、粘连等复杂情况并指导后续识别,对噪音等鲁棒性较好。整体矢量化方法较适合于识别工程位图中大量存在的各类线条信息(包括直线段和曲线),并以此为引导,进一步完成后继字符分割与识别。
矢量化研究是管理与复用现存的海量纸质工程图的有效方法。除一些研究原型系统及方法外,其它较典型的商品化工程图解释系统包括德国Softelec公司的VPStudio/VPRaster Pro、美国Able公司的 R2V、挪威 RasterEx公司的RxAutoImage、日本Ravtek公司的Crucible Vector Conversion Engine等。不过,由于工程图的复杂性和各种噪音、畸变等的影响,尚无任何一种系统可以实现准确、通用的矢量化识别。此外,工程位图中的文本识别也是难点之一,其字体、字号、字符之间的分割方法、与周围其它图元(如线条、工程符号等)的粘连等因素均使得其识别准确率较低,仍存在较大的改进空间。
工程图解释系统的最终目标是从所给二维图中得到设计及语义信息,并在全局整合基础上完成工程图中的错误检测、一致性校验、工程数据计算等应用。工程图理解一般包括工程符号识别及工程对象识别两个阶段。此处的工程符号一般专指具有特定形状和语义的图元组合,如箭头、尺寸线、标高符等领域无关的工程符号,或花洒、消防栓等领域相关的工程符号。工程对象一般指具有特定功能描述、领域相关的各类工程实体(engineering entities),如机械工程图中的各类零件、建筑工程图中的柱墙梁板结构构件的几何描述等。
工程符号识别大体可分为两类:结构化工程符号识别与基于统计特征的工程符号识别。结构化工程符号识别首先将各类符号转换为对应的几何图元(如直线段、弧、圆、矩形等)及其关系描述,然后从矢量表示的工程图中通过子图匹配、图元约束检测、可变形模板匹配(deformable template matching)等方法完成符号比较与识别。Seong等[52]首先将比较对象转换为属性关联图(attributed relational graphs)描述,然后通过比较图的顶点、边对于关联距离度量(relational distance metric)的权重来计算形状的相似度;比较过程中若某形状对应的属性关联图顶点数较多,则按子图同构(subgraph isomorphism)方法进行细化比较。该方法的主要缺点是其计算效率较低,且属性关联图的生成容易受噪音和变形干扰,使得精确比较(exact graph matching)相对困难。Lladós等[53]提出一种改进的容错子图同构(error-tolerant subgraph isomorphism)算法,用以在区域邻接图(region adjacency graphs)基础上实现非精确比较(inexact graph matching)。Fahmy等[54]则使用预定义的图语法(graph grammars)描述作为识别符号依据,并引入错误分析与检测以处理各种变形。该方法适合于形状可精确表示的各类符号的识别;类似方法还包括使用规则[55]或网络图[56]定义符号的几何约束等完成符号检测与识别。
基于统计特征的工程符号识别则一般从工程位图中提取各类统计特征,然后在特征空间中通过特征向量比较完成符号识别。根据分析对象层次的不同,基于统计特征的工程符号识别进一步可分为3个层次:工程位图像素分析、几何统计特征提取及函数变换。工程位图像素分析直接从位图像素特征分析入手生成特征向量,如Belongie等[57]首先计算两个形状位图中的对应点,然后对每个求解出的对应点分配一个形状上下文描述子(shape context descriptor),用以捕获其它对应点相对于其自身的分布情况;然后通过描述子的比较来计算形状的近似度。该方法还通过计算每个像素的切线分布来保证旋转不变性,但鲁棒性较差。Su[10]首先用细化方法得到待识别符号的骨架表示,然后分别以骨架中每个像素为基准点,与骨架中其它所有像素建立角度约束分布直方图;在此基础上将所有分布直方图整合为固定维的特征向量,作为符号检测与识别依据。该方法具有缩放及全局旋转不变性。几何统计特征提取方法提取工程图中的矩、曲率、对称轴、环形面积等几何特征,一般具有旋转、平移、缩放不变性,计算也相对简单;函数变换方法则利用函数变换(如Fourier变换、Fourier-Mellin变换等)生成特征向量,然后通过计算特征向量距离,或通过神经网络、决策树等方法完成工程符号识别与分类。
工程符号识别是工程图解释的重要组成之一。完成各类工程符号的分析与提取后,可从原始工程位图或工程矢量图中删除对应符号组成图元,以简化搜索空间;同时由于工程符号往往与某工程对象关联(如尺寸线用于指明工程对象某方向长度、标高符表明其高度),因此工程符号的识别也可用于引导后继的工程对象识别。
工程符号和工程对象的主要区别在于:工程符号几何描述相对固定,可通过显式约束、规则、符号模板等进行描述,因此工程符号的识别实质上可看作特征描述的匹配问题;而工程对象的几何形状、属性等一般依赖于具体的工程图设计环境而定,无法通过明确的几何描述预定义;此外,隐含在工程对象几何形状中的高层设计语义信息(如对称、复制、参考、索引等)均需要单独予以分析与提取。工程对象识别是工程图解释的最终目标之一,并可在此基础上进一步提取各种应用所需的工程数据。
工程对象识别与高层语义提取一直是工程图解释的难点[58-59]。现有方法一般侧重于从三方面完成对象识别:领域知识的表示;使用特征提取、几何结构分析等方法搜索工程对象可能的存在区域;在领域知识表示(结构化知识描述、规则库等)基础上,结合工程图类型、全局及局部环境分析,完成特定工程对象的搜索与识别。
由于工程对象的领域相关性,领域知识的表示是工程对象识别需首先解决的问题。Joseph等[60]较早提出了一个基于知识描述的机械工程图解释系统 Anon,该系统通过一组显式规则描述工程领域知识,并使用 LR(1)分析器完成规则读取与解析;同时结合工程对象的示意性描述,结合自底向上、自顶向下两种搜索策略完成工程图的自动解释。Wang等[55]使用类似的方法,首先生成一系列工程对象特征描述规则库,然后在相关规则的约束下搜索特定工程对象。Yang等[61]在此基础上进一步提出了基于特征提取与组合的识别规则自动生成与调整方法,在识别过程中动态扩充预定义识别规则库,从而提高对新类型工程图的识别适应能力。基于规则的工程图对象识别系统实现较为简单,但在实际应用中随着规则库的逐步扩充,规则间的关联与约束关系难以维护。一些工程图解释系统采用结构化的知识描述方法引导工程对象的识别,如 Dov等[7]开发了用于工程图解释的 MDUS系统,将各类工程对象及其内部关联关系组织为层次式结构,结构中包含特定的对象识别算法;输入工程图后,按该层次式结构依次搜索与识别。此外,Bimber等[62]使用BNF语法、Caetano等[63]使用模糊关系语法(fuzzy relational grammars)描述待识别对象的形状、结构等信息,并以此为引导,在工程图中完成搜索。
工程图全局及局部环境的分析同样对其中的工程对象识别起到关键作用。Lu等[64]首先利用符号识别方法从复杂工程图中搜索简单尺寸线,然后通过尺寸线组合、轴网生成、局部坐标系建立到全局坐标系整合,并在全局坐标基础上建立多工程图隐式关联关系,最后逐步以坐标系网格点为内点搜索封闭轮廓,以各闭合轮廓为约束,在工程图中完成各类工程对象的识别。Zhi等[15]使用基于图的方法,首先从建筑工程平面图中完成各闭合区域的识别,然后对各区域重建其拓扑关系,最后通过各区域间的位置、连接等关系完成单元划分,并在此基础上自动生成消防通道线路模拟。Prabhu等[14]则使用基于字符串的结构化模式识别方法从 CADD工程图中提取工程对象特征。
工程对象识别基础上的典型应用包括各类工程图的三维重建[65-67]、工程数据生成[15]、4D建模[68]等。但一般而言,工程对象的自动识别与理解较大程度上依赖于特定的领域知识,大多数现有方法通过硬编码、静态规则库等方法完成识别,通用性较差,扩充与维护相对困难。因此,对于各类实际复杂工程图,仍需在知识表示、隐式语义信息提取、识别方法通用性等方面进一步完善。
随着工程图识别与理解算法研究的深入及各商业系统的开发,由于各自测试数据集并不一致,如何对各类工程图解释系统进行客观、统一的性能评价,也逐步成为工程图解释中的重要内容之一。
Kong等[69]提出了虚线图元识别的性能评价方法,通过测试矢量线条和正确结果之间的夹角和距离,计算其匹配程度,据此测试识别算法性能。该方法覆盖了端点测试、线型测试、正确率、误识率等,但不包含线宽信息,也没有考虑线条分裂、合并等错误。Hori等[70]对机械工程图识别进行了性能评价,对线宽变化采用端点匹配阈值,提高了线宽变化的适应性;同时按线条长度加权匹配,部分消除了刚性匹配阈值的影响;但仍没有考虑线条分裂、合并等错误的情况。Phillips等[71]则对包含直线段、圆、弧、文本块的工程位图矢量化性能进行了系统评价,提出了各种图元匹配算法(包括线-线匹配、弧-弧匹配、弧-线匹配、弧-圆匹配、圆-圆匹配、字符-字符匹配 6种),并给出了漏识率、错识率、识别精度、交互开销等测试指标的计算方法,在此基础上对现有识别算法进行了测试与比较。该方法的主要缺点是要求工程图噪音干扰少,且不支持诸如多段线(polylines)等复杂图元及工程符号的识别性能评价。Liu等[72]进一步提出了对像素级和矢量级分别给出转换率和误识率的定义和检测方法,然后综合各个独立性能指标定义了反映光栅-矢量综合转换程度的整体性能指标[49]。此外,Song等[51]对矢量化中的弧识别性能进行了评测;Jaisimha等[73]则通过 Hausdorff距离计算矢量化后所得的单像素宽曲线与真实曲线之间的偏离值,以此作为矢量化算法性能评测依据;Wang等[74]对工程图中的表格识别进行了评测,Bodansky等[75]则对局部矢量化偏差给出了性能评测指标。
用户交互次数、时间也是的工程图识别与理解性能评测的另一个指标。一般而言,自动解释速度越快,所需完整交互的时间越少,识别率越高,所需人工交互工作量越小。Chhabra等[76]给出了一种基于用户修改工作量的自动化解释系统性能评价方法。
除上述各种性能评测方法与指标外,一些文档分析领域的国际会议提供了图元矢量化、各种类型与表示的工程符号识别的测试基准库、评测指标,并开展矢量化、符号识别等国际竞赛[77-78]。
由于工程图类型的多样性和工程图本身的复杂性,包括图元矢量化与识别、各类工程符号识别、语义理解在内的工程图解释,在知识表示、识别算法设计、性能评测及实际应用等多个环节仍有深入研究与改进的空间:
1)工程图中往往存在噪音干扰;如何有效消除各种噪音干扰、同时保证图元识别率和识别的鲁棒性,仍需进一步深入研究。此外,工程图中往往存在各种相交和粘连情况(如线线相交、字线相交、字字相交等),容易给工程图元识别带来困难,应进一步深入研究;
2)工程图高层语义信息的提取一直是工程图自动解释的难点之一。如何进一步借鉴人工读图方式、从工程图几何描述中提取其各种形式的隐式表达(如对称、省略、引用、示意性表示)和设计语义信息,仍需进一步研究;
3)用户交互与反馈是改进工程图自动解释系统的有效方法之一;应进一步深入研究适用于工程图解释的用户相关反馈技术,允许主动学习用户交互意图,以在理解其主观评价基础上实现智能学习与理解;
4)识别性能评测仍需进一步深入研究,以达到较完整地覆盖工程图中常见的各种几何图元及其相交情况,并建立较完整的、面向识别的各类工程符号及工程对象数据库;
5)领域知识的表示仍需改进,以适应工程图图元量大、工程符号或工程对象类型复杂、关联性强等特点;
6)自动识别过程中必需的各种长度、角度、距离等阈值计算方法仍需改进,以适应动态、自适应的识别过程;
7)工程位图中的字符识别算法受噪音、粘连等情况干扰较大,仍缺乏有效、通用的字符分割与识别算法;
8)工程图识别与理解仍需和各种实际应用进一步结合,并与现有各CAD、CAD系统整合,以切实解决行业自动化问题。
[1]Nagasamy V, Langrana N A. Autoamted restoration of engineering drawings into a CAD daba base [J].Engineering with Computers, 1988, 4(3): 165-171.
[2]Vaxivière P, Tombre K. CELESSTIN IV: Knowledgebased analysis of mechanical engineering drawings [C]//Proceedings of IEEE International Conference on Systems Engineering, Kobe, Japan, 1992: 242-245.
[3]Dov D, Liu Wenyin. Automated CAD conversion with the machine drawing understanding system: concepts,algorithms and performance [J]. IEEE Transactions on Systems, Man and Cybernetics. Part A: Systems and Humans, 1999, 29(4): 411-416.
[4]Dori D. Dimensioning analysis: toward automatic understanding of engineering drawings [J].Communications of the ACM, 1992, 35(10): 92-103.
[5]Lewist R, Séquin C. Generation of 3D building models from 2D architectural plans [J]. Computer- Aided Design, 1998, 30(10): 765-779.
[6]Cardone A, Gupta S K, Karnik M V. A survey of shape similarity assessment algorithms for product design and manufacturing applications [J]. Journal of Computing and Information Science in Engineering,2003, 3(2): 109-118.
[7]Tombre K. Ten years of research in the analysis of graphics documents: achievements and open problems [C]//Proceedings of the 10thPortuguese Conf.on Pattern Recogniton, Portugal, 1998: 11-17.
[8]Yu Yuhong, Samal A, Seth S C. A system for recognizing a large lcass of engineering drawings [J].IEEE Transactions on Patter Recognition and Machine Intelligence, 1997, 19(8): 868-890.
[9]Zheng Yefeng, Li Huiping, Doermann D. A parallelline detection algorithm based on HMM decoding [J].IEEE Transactions on Patter Recognition and Machine Intelligence, 2005, 27(5): 777-792.
[10]Yang Su. Symbol recognition via statistical integration of pixel-level constraint histograms: a new descriptor [J]. IEEE Transactions on Patter Recognition and Machine Intelligence, 2005, 27(2):278-281.
[11]Llados J, Marti E, Villanueva J J. Symbol recongnition by error tolerant subgraph matching between region adjacency graphs [J]. IEEE Transactions on Patter Recognition and Machine Intelligence, 2001, 23(10): 1137-1143.
[12]Kumazawa I. Compact and parametric shape representation by a tree of sigmoid functions for automatic shape modeling [J]. Pattern Recognition Letters, 2000, 21(6-7): 651-660.
[13]Luo Yan, Liu Wenyin. Engineering drawings recognition using a case-based approach [C]//Proceedings of International Conference on Document Analysis and Recognition, 2003: 190-194.
[14]Prabhu B S, Pande S S. Intelligent interpretation of CADD drawings [J]. Computers & Graphics, 1999,23(1): 24-44.
[15]Zhi G S, Lo S M, Fang Z. A graph-based algorithm for extracting units and loops from architectural floor plans for a building evacuation model [J].Computer-Aided Design, 2003, 35(1): 1-14.
[16]Hilarie X, Tombre K. Robust and accurate vectorization of line drawings [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2006,28(6): 890-904.
[17]Yang M, Lee J S, Lien C C, et al. Hough transform modified by line connectivity and line thickness [J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 1997, 19(8): 905-910.
[18]Ching Yutai. Detecting line segments in an image——a new implementation for hough transform [J].Pattern Recognition Letters, 2001, 22(3-4): 421- 429.
[19]Song Jiqiang, Lyu M. A hough transform based line recognition method utilizing both parameter space and image space [J]. Pattern Recognition, 2005,38(4): 539-552.
[20]Ho Chunta, Chen Ling. A fast ellipse/circle detector using geometric symmetry [J]. Pattern Recognition,1995, 28(1): 117-124.
[21]Raymond K K Y, Peter K S T, Dennis N K L.Modification of hough transform for circles and ellipses detection using a 2-dimensional array [J].Pattern Recognition, 1992, 25(9): 1007-1022.
[22]Ballard D H. Generalizing the hough transform to detect arbitrary shapes [J]. Pattern Recognition, 1981,13(2): 111-122.
[23]Xu Lei, Oja E. Randomized hough transform: basic mechanisms, algorithms and computational complexities [J]. CVGIP: Image Understanding, 1993,57(2): 131-154.
[24]Kiryati N, Eldar Y, Bruckstein A M. A probabilistic Hough transform [J]. Pattern Recognition, 1991,24(4): 303-316.
[25]Leavers V F. The dynamic generalized hough transform: its relationship to the probabilistic Hough transforms and an application to the concurrent detection of circles and ellipses [J]. CVGIP: Image Understanding, 1992, 56(3): 381-398.
[26]唐 珉, 胡占义. 参数空间分解法[J]. 计算机学报,1999, 22(9): 911- 917.
[27]Ray B K, Ray K S. Detection of significant points and polygonal approximation of digital curves [J].Pattern Recognition Letters, 1992, 13(6): 443-452.
[28]The C H, Chin R T. On the detection of dominant points on digital curves [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1989,11(8): 859-872.
[29]Leu J G, Chen L. Polygonal approximation of 2D shapes through boundary merging [J]. Pattern Recognition Letters, 1988, 7(4): 231-238.
[30]Lam L, Lee S W, Suen C Y. Thinning methodologies-a comprehensive survey [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992,14(9): 869-885.
[31]León J, Yánez C, Guzmán G. Thinning algorithm to generate k-connected skeletons [C]//Lecture Notes in Computer Science, 2004, 3287: 605-612.
[32]Zou Jujia, Chang H H, Yan Hong. Shape skeletonization by identifying discrete local sysmetries [J]. Patter Recogniton, 2001, 34(10):1895-1905.
[33]Chang F, Lu Y C, Pavlidis T. Feature analysis using line sweep thinning algorithm [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1998,21(2): 145-158.
[34]Janssen R D T, Vossepoel A M. Adaptive vectorization of line drawing images [J]. Computer Vision and Image Understandng, 1997, 65(1): 38-56.
[35]Leymarie F, Levine M D. Simulating the grassfire transform using an active contour model [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992, 14(1): 56-75.
[36]Shang Lifeng, Yi Zhang. A class of binary images thinning using two PCNNs [J]. Neurocomputing,2007, 70: 1096-1101.
[37]Gu Xiaodong, Yu Daoheng, Zhang Liming. Image thinning using pulse coupled neural network [J].Pattern Recognition Letters, 2004, 25(9): 1075-1084.
[38]Han C C, Fahn K C. Skeleton generation of engineering drawings via contour matching [J].Pattern Recognition, 1994, 27(2): 261-275.
[39]Fan Kuochin, Chen Denfong, Wen Minggang.Skeletonization of binary images with nonuniform width via block decomposition and contour vector matching [J]. Pattern Recognition, 1998, 31(7):823-838.
[40]Roseborough J B, Murase H. Partial eigenvalue decomposition for large image sets using run-length encoding [J]. Pattern Recognition, 1995, 28(3):421-430.
[41]谭建荣, 彭群生. 基于图形约束的工程图扫描图像直线整体识别方法[J]. 计算机学报, 1994, 17(8):561-569.
[42]邹荣金, 蔡士杰, 张福炎. 基于行程编码的直线拟合方法及其误差估计[J]. 软件学报, 1997, (S1):404-410.
[43]Chai I, Dori D. Orthogonal Zig-Zag: an efficient method for extracting lines from engineering drawings [C]// Visual Form, Plenum Press, New York, London, 1994: 127-136.
[44]Liu Wenyin, Dori D. Sparse pixel tracking: a fast vectorization algorithm applied to engineering drawings [C]//Proceedings of 13thICPR, Austria,1999: 808-811.
[45]Dori D, Liu Wenyin. Sparse pixel vectorization: an algorithm and its performance evaluation [J]. IEEE Transaction on Pattern Analysis and Machine Intelligence, 1999, 21(3): 202-215.
[46]李伟青, 谭建荣, 彭群生. 基于图段结构的整体识别方法的研究[J]. 计算机学报, 1998, 21(8):753-758.
[47]李 宾, 谭建荣, 彭群生. 一个基于扫描串的统一整体矢量化算法[J]. 软件学报, 1998, 9(6):426-431.
[48]王金鹤, 欧宗瑛, 夏晓东. 工程扫描图像的直线整体识别算法[J]. 中国图象图形学报,1998, 3(11):912-917.
[49]Song Jiqiang, Su Feng, Tai C L, el at. An object-oriented progressive-simplification-based vectorization system for engineering drawing: model,algorithm, and performance [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002,24(8): 1048-1060.
[50]Song Jiqiang, Su Feng, Chen Jibing, el at. A highly efficient global vectorization method for line drawings [C]//Proceedings of the 3rd LAPR International Workshop on Graphic Recognition(GREC’99), 1999: 32-37.
[51]Song Jiqiang, Su Feng, Tai C L, el at. Line net global vectorization: an algorithm and its performance evaluation [C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition(CVPR’00), South Carolina U.S.A., 2000, 1:383-388.
[52]Seong D S, Choi Y K, Park K H. An algorithm for optimal isomorphism between two random graphs [J].Pattern Recognition Letters, 1994, 15: 321-327.
[53]Lladós J, Martí E, Villanueva J. Symbol recognition by error-tolerant subgraph matching between region adjacency graphs [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2001, 23(10):1137-1143.
[54]Fahmy H, Blonstein D. A graph grammar programing style for recognition of music notation [J].Machine Vision and Applications, 1993, (6): 83-99.
[55]王姝华, 曹 阳, 杨若瑜, 等. 基于规则的建筑结构图钢筋用量自动识别系统[J]. 软件学报, 2002,13(4): 574-579.
[56]Ahsoon C, Tombre K. Architectural symbol recognition using a network of constraints [J].Pattern Recognition Letters, 2001, 22: 231-248.
[57]Belongie S, Malik J, Puzicha J. Shape matching and object recognition using shape contexts [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(24): 509-522.
[58]Tombre K, Haralick R M, Dori D. Understanding engineering drawings: a survey [C]//Proceedings of First IAPR Workshop on Graphic Recognition,University Park, P.A, 1995: 217-228.
[59]Tombre K. Analysis of engineering drawings: state of the art and challenges [C]//LNCS, 1998, 1389:257-264.
[60]Joseph S H, Pridmore T P. Konwledge-directed interpretation of mechanical engineering drawings [J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992, 14(9): 928-940.
[61]杨若瑜, 胡 笳, 蔡士杰. 工程图对象识别规则自动获取方法的研究[J]. 计算机学报, 2003, 26(10):1234-1240.
[62]Bimber O, Encarnao L M, Stork A. A multi-layered arthiecture for sketch-based interaction within virtual environments [J]. Computer & Graphics, 2000, 2(6):851-867.
[63]Caetano A, Goulart N, Fonseca M, el at. Javasketchit:issues in sketching the look of user interfaces [C]//Proceedings of AAAI Spring Symposium on Sketch Understanding, Palo Alto, CA, 2002: 9-14.
[64]Lu Tong, Tai C L, Su Feng, el at. A new recognition model for electronic architectural drawings [J].Computer-Aided Design, 2005, 37(10): 1053-1069.
[65]路 通, 杨若瑜, 杨华飞, 等. 三维结构构件渐进式整合与重组方法[J]. 计算机辅助设计与图形学学报, 2007, 19(4): 491-495.
[66]高 玮, 彭群生. 基于二维视图特征的三维重建[J].计算机学报, 1999, 22(5): 481-485.
[67]Chen Kezhang, Zhang Xiwen, Ou Zongying, el at.Holo-extraction of information from paper drawings for 3D reconstruction [J]. Computer-Aided Design,2002, 34(9): 665-677.
[68]蔡士杰, 徐福培, 高 晓. 计算机读图与数字建筑[J].系统仿真学报, 2002, 14(12): 1652-1654.
[69]Kong B, Phillips I T, Haralick R M, el at. A benchmark: performance evaluation of dashed-line detection algorithms [C]//Lecture Notes in Computer Science, 1996, 1072: 270-285.
[70]Hori O, Doermann D S. Quantitative measurement of the performance of raster-to-vector conversion algorithms [C]//Lecture Notes in Computer Science,1996, 1072: 57-68.
[71]Phillips I T, Chhabra A K. Empirical performance evaluation of graphics recognition systems [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1999, 21(9): 849-870.
[72]Liu Wenyin, Dov D. A protocol for performance evaluation of line detection algorithms [J]. Machine Vision and Applications, 1997, 9: 240-250.
[73]Jaisimha M Y, Dori D, Haralick R. A methodology for the characterization of the performance of thinning algorithms [C]//Proceedings of International Conference on Document Analysis and Recognition,Tsukuba, Japan, 1993: 282-286.
[74]Wang Yalin, Phillips I T, Haralick R M. Table structure understanding and its performance evaluation [J]. Patter Recognition, 2004, 37(7):1479-1497.
[75]Bodansky E, Pilouk M. Using local deviations of vectorization to enhance the performance of raster-to-vector conversion systems [J]. International Journal on Document Analysis and Recognition,2000, 3(2): 67-72.
[76]Chhabra A K, Phillips I T. The second international graphics recognition contest-raster to vector conversion: a report [C]//Lecture Notes in Computer Science, 1998, 1389: 1390-1410.
[77]http://www.iupr.org/arcseg2005
[78]http://www.iupr.org/arcseg2007