張明濤,劉恒超,徐兵峰,楊超然,高 天
(中鐵高新工業(yè)股份有限公司,北京 100070)
隨著CAD技術(shù)的廣泛應(yīng)用,電子圖紙已成為主要的存檔和瀏覽形式。為避免圖紙?jiān)诹鬓D(zhuǎn)中出現(xiàn)非許可修改,通常以像素圖像形式傳閱。由于在工程使用中從像素圖紙獲取準(zhǔn)確尺寸標(biāo)注信息非常困難,因此出現(xiàn)了大量圖像識(shí)別方法以及轉(zhuǎn)化應(yīng)用軟件,以實(shí)現(xiàn)從像素圖像到矢量圖形的轉(zhuǎn)化。然而在轉(zhuǎn)化后的矢量圖紙中,字符同樣被矢量化為圖形元素,失去了其字符屬性,這給圖紙的自動(dòng)化處理造成了很大阻礙。
目前,針對(duì)字符的識(shí)別主要是光學(xué)字符識(shí)別,方法分為統(tǒng)計(jì)特征字符識(shí)別、結(jié)構(gòu)字符特征識(shí)別、人工神經(jīng)網(wǎng)絡(luò)識(shí)別[1]?;诮y(tǒng)計(jì)特征字符識(shí)別雖能快速匹配,但對(duì)字符方向改變等變形字體無能為力,且對(duì)形近字區(qū)分能力較弱,通常用于字符的粗分類。結(jié)構(gòu)字符特征識(shí)別具有識(shí)別方便、對(duì)圖像畸變抗干擾能力強(qiáng)的特點(diǎn),但其需要較強(qiáng)的圖像分辨率,占用了大量的系統(tǒng)資源,從而影響了識(shí)別速度。人工神經(jīng)網(wǎng)絡(luò)的識(shí)別能有效地對(duì)各種模糊字符進(jìn)行正確判斷,但其學(xué)習(xí)速度慢,泛化能力很弱。針對(duì)矢量圖形識(shí)別的方法大致分為3類:基于統(tǒng)計(jì)的識(shí)別方法、基于結(jié)構(gòu)的識(shí)別方法、基于統(tǒng)計(jì)與結(jié)構(gòu)混合的識(shí)別方法?;诮y(tǒng)計(jì)的識(shí)別方法可直接應(yīng)用于矢量圖紙,但待識(shí)別圖紙中只能有一個(gè)符號(hào),局限性很大。基于結(jié)構(gòu)的識(shí)別方法能有效表達(dá)出符號(hào)特征,識(shí)別準(zhǔn)確度高,但通常計(jì)算量較大,識(shí)別效率較低?;诮y(tǒng)計(jì)與結(jié)構(gòu)混合的識(shí)別方法,繼承了統(tǒng)計(jì)和結(jié)構(gòu)兩類方法的優(yōu)點(diǎn),但由于快速篩選的矢量簽名容易受到噪聲和變形等的影響,可能漏掉一些目標(biāo)符號(hào)[2]。本文采用樹與鏈碼相結(jié)合的描述方式,在提高識(shí)別效率的同時(shí)也提高了識(shí)別的準(zhǔn)確率。
搜索策略是影響識(shí)別方法搜索效率的重要因素?,F(xiàn)有許多方法都是通過反復(fù)遍歷圖紙查找特征元素,搜索時(shí)間復(fù)雜度極高。文獻(xiàn)[3]~[6]都提到了關(guān)鍵圖元概念,其基本思想是:將符號(hào)某個(gè)組元作為關(guān)鍵圖元,識(shí)別時(shí)首先在目標(biāo)圖紙中快速定位關(guān)鍵圖元,再從關(guān)鍵圖元周圍區(qū)域逐個(gè)尋找符號(hào)的其他組元。對(duì)于矢量圖紙中數(shù)字字符通常為1~2個(gè)組元的情況則無法使用。
因此,本文采用基于伴隨圖元的漸進(jìn)搜索方法。工程圖中數(shù)字通常伴隨尺寸、標(biāo)注引線或表格存在,通過位置及屬性特征可快速搜索定位尺寸、標(biāo)注引線或表格,再從伴隨圖元周圍區(qū)域搜索數(shù)字圖元,能有效縮小搜索范圍,提高搜索效率。
目前像素圖紙轉(zhuǎn)換得到的工程圖紙中,字符通常為線段的集合。整理、總結(jié)多種轉(zhuǎn)化后工程圖紙中數(shù)字字符樣式,得到矢量數(shù)字字符線段形式有圖1所示幾種形式。每個(gè)數(shù)字字符由1~2條多段線組成。
圖1 數(shù)字字符樣式
以數(shù)字“2”為例,其由一條具有14個(gè)點(diǎn)的多段線l組成,用Pi(i=0,1,2,…,13)表示第i個(gè)點(diǎn),如圖2所示。由組成數(shù)字字符的多段線個(gè)數(shù)及屬性特點(diǎn),可知10個(gè)阿拉伯?dāng)?shù)字字符應(yīng)具有兩個(gè)屬性:線段條數(shù)Lnum,是否閉合Clbl。根據(jù)屬性特點(diǎn)分類如下。
圖2 數(shù)字“2”多段線 圖3 數(shù)字“1”
單條、非閉合:1 (圖3(a))、2、3、5、6、7、9。
多條、非閉合:1 (圖3(b))、4。
單條、閉合:8、0。
圖紙中的數(shù)字字符主要集中在尺寸標(biāo)注線、引線標(biāo)注線上和材料零件明細(xì)表中,如圖4、圖5所示。尺寸標(biāo)注線上的數(shù)字字符在尺寸線的中心位置,引線標(biāo)注線上的字符在引線的水平線上,材料零件明細(xì)表中的字符則在每個(gè)單元格中。
圖4 尺寸標(biāo)注線和引線標(biāo)注線
圖5 材料明細(xì)表
根據(jù)數(shù)字字符樣式特點(diǎn),用y=f(xi)表示數(shù)字多段線的線段方程,其中xi為字符多段線上第i點(diǎn)的x坐標(biāo),i=0,1,2,…。對(duì)字符多段線f(xi)計(jì)算其一階微分(式(1))得到圖形變化趨勢,進(jìn)而求得數(shù)字字符圖形的關(guān)鍵點(diǎn)。
(1)
式中:dy為點(diǎn)(i+1)與點(diǎn)i的y方向增量;dx為點(diǎn)(i+1)與點(diǎn)i的x方向增量。多段線f(xi)方向發(fā)生改變的點(diǎn)即為關(guān)鍵點(diǎn)。以數(shù)字“2”為例,如圖2所示,其多段線各點(diǎn)微分值見表1,可知數(shù)字“2”有5個(gè)關(guān)鍵點(diǎn),分別為P0,P5,P9,P12,P13。
表1 關(guān)鍵點(diǎn)計(jì)算
單條、非閉合多段線組成的數(shù)字“1”和“7”,以及多條、非閉合多段線組成的數(shù)字“1”和“4”,由于組成這4個(gè)數(shù)字的多段線點(diǎn)集個(gè)數(shù)有限,因此將多段線上全部點(diǎn)都作為關(guān)鍵點(diǎn)。其他數(shù)字關(guān)鍵點(diǎn)統(tǒng)計(jì)見表2。
表2 關(guān)鍵點(diǎn)統(tǒng)計(jì)
將組成數(shù)字字符多段線的關(guān)鍵點(diǎn)作為父節(jié)點(diǎn),與其相鄰的節(jié)點(diǎn)根據(jù)前后順序分別以鏈碼的形式作為子節(jié)點(diǎn),形成樹形鏈碼,描述如式(2):
(2)
式中:S為一條多段線;kpi為第i個(gè)父節(jié)點(diǎn);lf,lb分別為每個(gè)父節(jié)點(diǎn)下有兩個(gè)子節(jié)點(diǎn)的鏈碼。
由上述樹形鏈碼描述的多段線S,進(jìn)一步添加線段個(gè)數(shù)、線段屬性、關(guān)鍵點(diǎn)相對(duì)關(guān)系3個(gè)屬性,建立矢量數(shù)字字符特征模型N如下:
(3)
式中:S1,S2為組成數(shù)字字符的多段線;isClosed表示多段線是否閉合;KeyAngle表示關(guān)鍵點(diǎn)相對(duì)位置關(guān)系;Number表示組成數(shù)字字符的多段線個(gè)數(shù)。仍以數(shù)字“2”為例,其特征模型表示為:
(4)
由于是基于圖元自身特征信息及相對(duì)位置關(guān)系建立特征模型,因此該特征模型不受字符方向限制。無論數(shù)字在圖紙中書寫方向如何,均不會(huì)影響數(shù)字字符特征的識(shí)別,免去了字符方向判斷和使用空間變換矩陣進(jìn)行轉(zhuǎn)換的過程,在提高效率的同時(shí)也避免了由轉(zhuǎn)換引起的識(shí)別誤差。
根據(jù)圖紙中數(shù)字字符位置特點(diǎn),提取圖紙中標(biāo)注引線、尺寸界線、材料零件明細(xì)表單元格圖元。在圖元周圍搜索多段線圖元特征,并利用基于樹形鏈碼建立的數(shù)字字符特征模型,對(duì)多段線進(jìn)行匹配。首先建立多段線的樹形鏈碼模型,將樹形鏈碼中父節(jié)點(diǎn)與數(shù)字字符特征模型中的父節(jié)點(diǎn)進(jìn)行匹配,匹配合格后,再根據(jù)其他屬性特征進(jìn)一步確定識(shí)別結(jié)果,具體識(shí)別流程如圖6所示。
圖6 識(shí)別流程
將本方法應(yīng)用于轉(zhuǎn)化后的工程圖零件材料用量統(tǒng)計(jì)中,能快速高效地自動(dòng)統(tǒng)計(jì)出圖紙中零部件的尺寸信息。以圖7為例進(jìn)行圖紙信息提取,通過上述數(shù)字識(shí)別方法,能夠?qū)⒈砀裰谐叽纭⑿吞?hào)、數(shù)量、單重、總重中的數(shù)字字符準(zhǔn)確提取,結(jié)果見表3,分析可知計(jì)算速度與電腦性能呈正相關(guān),準(zhǔn)確率隨識(shí)別字符數(shù)量的增加略有降低。
表3 結(jié)果統(tǒng)計(jì)
圖7 算法應(yīng)用
查找未識(shí)別的原因有:轉(zhuǎn)化后的數(shù)字的矢量圖形線段組中存在多余或重合的多個(gè)線段,導(dǎo)致識(shí)別錯(cuò)誤或無法識(shí)別。
本文通過對(duì)轉(zhuǎn)換后矢量圖紙中數(shù)字字符圖形特征進(jìn)行分析,基于樹形鏈碼建立矢量數(shù)字字符特征模型,采用伴隨圖元的漸進(jìn)搜索策略,實(shí)現(xiàn)矢量圖形數(shù)字字符的識(shí)別。該方法能夠快速定位初選數(shù)字字符集,實(shí)現(xiàn)精準(zhǔn)、高效的識(shí)別,為工程圖紙信息提取、材料用量自動(dòng)統(tǒng)計(jì)等工作提供了高效、便捷的實(shí)用方法。