龍之冠
摘 要? 針對永州市經(jīng)濟技術(shù)開發(fā)區(qū)征地檔案數(shù)據(jù)整理建庫工作中界址點坐標電子數(shù)據(jù)缺失現(xiàn)象,當前主要通過人工識別檔案資料并且將坐標數(shù)據(jù)抄錄進入數(shù)據(jù)庫的方式,但是存在工作效率低下、審核成本高等問題。為提高征地檔案數(shù)據(jù)整理建庫工作效率,本文基于Tesseract訓(xùn)練機制,在此基礎(chǔ)上開發(fā)程序?qū)崿F(xiàn)征地紅線圖中界址點坐標的識別。實踐結(jié)果表明該方法能夠有效輔助征地檔案數(shù)據(jù)整理建庫工作,業(yè)務(wù)生產(chǎn)效率顯著提升。
關(guān)鍵詞? 征地檔案;界址點坐標;數(shù)字識別;Tesseract-OCR
中圖分類號:G270.7? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A
Abstract: In view of the absence of electronic data inland expropriation archives data collation and database construction in Yongzhou economic and technologicaldevelopment zone,it is mainly through manual identification of archival data and transcription of coordinate data into the database. there are some problems such as low efficiency and high audit cost.In order to simplify the work flow of land expropriation archives data and database construction,This paper develops a data recognition program for identifing the coordinates of boundary points in land expropriation red line map based on Tesseract-OCR engine.The experimental results show that the method can effectively assist the collection and construction of land expropriation archives data and improve the production efficiency of the business.
Keywords: land expropriation archives; boundary point coordinates; digital recognition; tesseract-OCR
界址點是征地范圍界線的節(jié)點,它是標定征地范圍界線以及權(quán)屬關(guān)系的重要標志[1]。在征地檔案數(shù)據(jù)整理建庫工作中發(fā)現(xiàn)諸多征地紅線圖缺失配套的電子坐標數(shù)據(jù),按照傳統(tǒng)人工方法,手動將界址點坐標抄錄進入Excel文件或文本文檔,然后通過AutoCAD或者南方CASS讀取坐標數(shù)據(jù)生成dwg文件,再導(dǎo)入ArcGIS中添加屬性數(shù)據(jù),最終以shp文件格式存入服務(wù)器進行存檔。但是實際工作量較大,其中需要進行抄錄的界址點坐標數(shù)據(jù)數(shù)以萬計,手動抄錄數(shù)據(jù)人力成本巨大,隨著項目量增加會徒增諸多問題包括數(shù)據(jù)遺漏、耗時費力、工作效率低下等[2-5]。
為解決上述問題,本文基于Google開源OCR引擎Tesseract,針對征地紅線圖紙實際情況,對于圖紙褶皺、等高線壓蓋、無關(guān)注記干擾等關(guān)鍵的識別問題進行研究?;赥esseract自帶的訓(xùn)練學(xué)習(xí)機制得到征地數(shù)據(jù)樣本字符庫,加入自帶的識別參考字符庫,以此提高數(shù)據(jù)識別率。
1? 數(shù)字識別研究
紙質(zhì)檔案數(shù)字識別研究依托永州市經(jīng)濟技術(shù)開發(fā)區(qū)征地檔案數(shù)據(jù)整理建庫項目開展。由于參與項目的第三方測繪單位較多且相互協(xié)調(diào)困難,數(shù)據(jù)整合過程中發(fā)現(xiàn)超過70%的檔案只有界址點紙質(zhì)數(shù)據(jù)而沒有電子數(shù)據(jù),存在大量電子坐標數(shù)據(jù)缺失現(xiàn)象。參照過往工作經(jīng)驗,需要通過人工識別抄錄數(shù)據(jù)入庫,過程費時耗力且效率低下、審核困難。
Tesseract由HP公司開發(fā),目前成為Google開源社區(qū)項目,是一個開源OCR引擎(Optical Character Recognition,光學(xué)字符識別),可以基于引擎開發(fā)用于識別多種格式的圖像文件并將其轉(zhuǎn)換成文本[6-10]。目前OCR技術(shù)相對成熟,但是其與征地圖紙相關(guān)測繪業(yè)務(wù)的結(jié)合很少,因為測繪業(yè)務(wù)對于數(shù)據(jù)精度要求極高、歷史存檔文件掃描效果差等現(xiàn)象。因此需要針對征地檔案內(nèi)界址點數(shù)據(jù)特征進行專門研究,通過對Tesseract訓(xùn)練字符庫來擴大識別范圍,提高程序識別精度,彌補因不同紙質(zhì)環(huán)境導(dǎo)致的識別效率不高等缺點。
1.1 研究思路
本文技術(shù)流程分為四個模塊:數(shù)據(jù)預(yù)處理、Tesseract字符庫訓(xùn)練、程序識別及質(zhì)量控制。數(shù)據(jù)預(yù)處理包括對圖紙數(shù)據(jù)部分進行數(shù)字化(掃描或拍照),圖像裁剪、增強等操作;Tesseract字符庫訓(xùn)練包括制作訓(xùn)練樣本、生成Box文件和tri文件、數(shù)據(jù)(字符)校正、定義字符庫及traineddata文件;程序識別通過調(diào)用Tesseract-OCR完成坐標識別;質(zhì)量控制包括識別結(jié)果格式轉(zhuǎn)換、數(shù)據(jù)去噪、建立質(zhì)檢規(guī)則庫并且人工核對、精度分析等。圖1為本文技術(shù)流程框架。
1.2 代碼實現(xiàn)
由于整個技術(shù)流程中有涉及圖像處理、Tesseract訓(xùn)練、數(shù)字識別、格式轉(zhuǎn)換等多個過程,代碼量較大,因此在此附上關(guān)鍵環(huán)節(jié)代碼:利用Python調(diào)用Tesseract-OCR引擎(經(jīng)過字符庫訓(xùn)練改進),對圖紙數(shù)據(jù)進行識別:
2? 實驗結(jié)果分析
2.1 數(shù)據(jù)預(yù)處理
利用高拍儀對圖紙數(shù)據(jù)進行掃描拍照。如圖2所示,該圖為掃描件原始圖片,通過圖像處理工具對圖片進行裁剪、二值化、亮度提升及圖像銳化等操作,如圖3所示,該圖為數(shù)據(jù)處理后圖片,通過對比可看出原始圖片中的干擾因素基本去除。
由于數(shù)據(jù)識別過程中同一項目的掃描件圖片過多,容易導(dǎo)致沒有唯一標識來區(qū)分識別得到的坐標數(shù)據(jù),因此需要對將通過數(shù)據(jù)預(yù)處理之后的圖片建立檔案序號,如“2012-0003號2012年永州市第八批次建設(shè)用地報批項目”中的征地紅線坐標表圖片標記為“2012-0003-001.jpg”至“2012-0003-017.jpg”,共計17張,識別結(jié)果輸出序號為“2012-0003-001.txt”至“2012-0003-017.txt”。
2.2 界址點數(shù)據(jù)識別
Tesseract本身擁有豐富的字符庫,但是對于特定測繪圖紙環(huán)境下的的字符識別率難以保證,鑒于Google開放給用戶自定義字符庫的訓(xùn)練方法,以此來提高OCR引擎的識別效率。因此訓(xùn)練得到適用于征地檔案紙質(zhì)環(huán)境下的數(shù)字字符庫尤為重要,這也是本文的工作重點[11]。
2.2.1 Tesseract訓(xùn)練字符庫
(1)訓(xùn)練初始化
在對字符庫進行訓(xùn)練之前需要搭建字符庫訓(xùn)練環(huán)境,本文采用Java 8.0 + jTessBoxEditor + FastStone Capture的訓(xùn)練框架,實驗硬件環(huán)境為Intel-Core i7-6770m+NVIDIA Geforce GTX960+16G RAM,以Java SE DK8.0版本作為基礎(chǔ)運行環(huán)境,jTessBoxEditor作為訓(xùn)練工具,F(xiàn)astStone Capture作為字符樣本采集工具。
(2)訓(xùn)練樣本采集
字符庫訓(xùn)練的首要環(huán)節(jié)是采集字符樣本。通過FastStone Capture按照50×80的矩陣窗口進行樣本采集,以8種字體為基準采集了254組數(shù)據(jù)樣本,建立各類字體下的訓(xùn)練數(shù)據(jù)集。樣本合并圖片如圖4所示:
(3)生成Box 文件
通過jTessBoxEditor將上述字符樣本數(shù)據(jù)生成 Box文件。合成指令為:“tesseract.exe num.font.exp0.tif num.font.exp0 batch.nochop makebox” [12]。生成的Box文件為num.font.exp0.box,Box文件為Tesseract識別出的文字和坐標。
(4)數(shù)據(jù)校正
通過jTessBoxEditor的Box Editor工具,導(dǎo)入生成的tif文件,工具自動標記數(shù)據(jù)并且寫入在Box Coordinates中。由于tif文件中存在噪點,導(dǎo)致下圖中11個字符,被標記出14個字符,并且11個字符里面錯誤識別4個,通過手動更改進行數(shù)據(jù)校正。數(shù)據(jù)字符校正操作如圖5所示:
(5)字體特征定義
在訓(xùn)練樣本所在目錄下創(chuàng)建font_properties文件,定義樣本的字體特征為“黑體0 0 0 0 0”表示訓(xùn)練樣本數(shù)據(jù)為黑體印刷,但不具備斜體、粗體及固定等特征[13]。針對特殊識別環(huán)境,圖紙數(shù)據(jù)進行加粗的情況,則需要根據(jù)實際情況來定義字體特征,不然會影響識別率。
(6)合成語言文件
根據(jù)下述指令生成批處理文件并通過批處理操作合成語言文件num.traineddata。指令如圖6所示:
將合成的語言文件num.traineddata導(dǎo)入Tesseract自帶的字符庫traindata文件夾中。在后續(xù)調(diào)用Tesseract-OCR工具的時候,引擎將會自動將語言文件作為字符識別參考庫。
2.2.2 調(diào)用Tesseract-OCR
字符庫訓(xùn)練完成之后,在Anaconda中利用Python調(diào)用Tesseract-OCR,在調(diào)用之前需要引入 pytesseract庫和PIL庫用于輔助識別[14-15]。調(diào)用過程也可以在cmd命令行中直接進行。
2.2.3 數(shù)據(jù)識別
這里以永州市經(jīng)濟技術(shù)開發(fā)區(qū)征地檔案資料中的“2011-0003-鳳凰園標準廠房(一期)項目”至“2015-0006-南甸路(零陵南路-獵豹路)項目”共計18本紙質(zhì)檔案資料中57個界址點坐標表(共計2283個坐標點數(shù)據(jù))為識別對象,圖7為部分數(shù)據(jù)情況:
因為拍攝環(huán)境及紙張完好程度不同,因此圖紙數(shù)據(jù)的預(yù)處理也得參照實際情況,本文預(yù)先人工將所有的圖紙數(shù)據(jù)分為幾類:易識別類、適中類、難識別類以及數(shù)據(jù)缺失類,后續(xù)分析不同OCR在識別復(fù)雜環(huán)境下的坐標數(shù)據(jù)的表現(xiàn)。通過數(shù)據(jù)預(yù)處理之后,以上圖片處理結(jié)果如圖8:
將上述處理后圖片導(dǎo)入識別程序中,依托訓(xùn)練好的字符庫調(diào)用程序開展識別過程,針對易識別類圖紙進行單次識別結(jié)果如圖9:
通過實驗結(jié)果統(tǒng)計可以看出,對于易識別類圖紙數(shù)據(jù),本文識別方法數(shù)字識別率以及單次識別可用率均在92%以上。但是對于圖紙褶皺嚴重導(dǎo)致數(shù)據(jù)缺失的圖紙,在識別率上則表現(xiàn)一般,識別過程仍然存在不少問題:小數(shù)點識別效果不佳、存在亂碼情況、部分數(shù)字因為字符結(jié)構(gòu)相似存在混淆識別情況、數(shù)據(jù)有效數(shù)字超過正常范圍等。后續(xù)對識別結(jié)果進行規(guī)則庫約束以及人工核對,從而完成質(zhì)量控制。
3? 規(guī)則庫與質(zhì)量控制
采用正則表達式技術(shù),即用事先定義好的一些特定字符、及這些特定字符的組合組成一個“規(guī)則字符串”,并用其對目標字符串進行內(nèi)容過濾。在數(shù)據(jù)整理過程中發(fā)現(xiàn),界址點坐標數(shù)據(jù)具有相對固定的格式。
(1)數(shù)據(jù)范圍規(guī)范
該項目中坐標數(shù)據(jù)基于WGS-84坐標系測量得出,因此坐標數(shù)據(jù)里面前幾位為固定值“292”、“375”、“55/56”,因此輸出數(shù)據(jù)在經(jīng)過規(guī)則庫匹配數(shù)據(jù)范圍的時候,前幾位數(shù)字與之匹配不上,則視為無效數(shù)據(jù)。
永州市經(jīng)開區(qū)實測數(shù)據(jù)范圍里X坐標為10位有效數(shù)字,小數(shù)點后3位有效數(shù)字;Y坐標為9位有效數(shù)字,小數(shù)點后3位有效數(shù)字。
(2)格式轉(zhuǎn)換
將識別出來的數(shù)據(jù)進行批量格式轉(zhuǎn)換,從txt文件寫入excel文件中,通過簡單數(shù)據(jù)整合后可直接使用于后續(xù)的圖形建庫流程。
(3)人工核對
鑒于業(yè)主單位對征地坐標數(shù)據(jù)精準性的要求,因此在數(shù)據(jù)識別結(jié)果輸出之后,需要通過人工質(zhì)檢成果來控制數(shù)據(jù)精確性,確保建庫數(shù)據(jù)零錯誤。質(zhì)檢過程中發(fā)現(xiàn)數(shù)據(jù)有誤,則通過人工修改記錄并且做好標記,以方便為后續(xù)改進識別工具提供信息。
4? 識別效率對比分析
本文將18本紙質(zhì)檔案資料中57個界址點坐標表(共計2283個坐標點數(shù)據(jù))進行識別,采集194個坐標數(shù)據(jù)的識別結(jié)果將本文工具與百度OCR工具識別的效率進行橫向?qū)Ρ取?/p>
表1為本文基于Tesseract-OCR改進的數(shù)字識別方法(以下簡稱“本文方法”)與百度商用OCR工具關(guān)于征地圖紙數(shù)據(jù)的識別精度對比情況。因為圖片環(huán)境的不同,所以在不同識別難度的圖紙數(shù)據(jù)識別上,各個OCR工具所表現(xiàn)的識別精度有所差異。
在圖紙質(zhì)量優(yōu)良、易于識別的圖片上,本文方法識別精度比百度OCR略高,并且精度很高,配合少許人工核對,即可將成果流轉(zhuǎn)至后續(xù)建庫環(huán)節(jié)。但是針對難識別、數(shù)據(jù)缺失等情況的圖紙數(shù)據(jù),不管是本文方法還是百度OCR識別結(jié)果均出現(xiàn)不同程度的大范圍失真,這是因為圖紙數(shù)據(jù)年久維護較差固有存在的問題,針對這部分圖紙則需要通過人工為主、工具為輔的工作方式。
表2為本文方法與人工抄錄工作方式的識別效率對比表。數(shù)字識別率計算對象為數(shù)字單位;單次識別可用率計算為僅通過一次識別即可將識別結(jié)果用于后續(xù)建庫環(huán)節(jié);拒識率為識別失效情況,該部分可能因為引擎自身算法原因,未能覆蓋全部圖片范圍導(dǎo)致少部分數(shù)據(jù)未能識別到位;規(guī)則處理后可用率為100%(考慮到數(shù)據(jù)準確度要求為100%);圖片返工處理率為通過單次識別后必須返工的圖片在全部圖片中占比;耗時計算為采集全部測試樣本所需要耗時。鑒于返工處理以及人工核對時間收集難度大,故耗時方面僅采集Anaconda內(nèi)代碼運行時間,以此反映識別性能,人工抄錄時間為參考單本檔案抄錄時間對全部測試樣本進行預(yù)估。
5? 結(jié)束語
隨著自然資源信息化的不斷推進,自然資源部門對業(yè)務(wù)數(shù)據(jù)的需求也從紙質(zhì)檔案逐漸往數(shù)字化轉(zhuǎn)變。在征地檔案數(shù)據(jù)整理建庫工作中存在大量的征地紅線圖數(shù)據(jù)需要從紙質(zhì)形式轉(zhuǎn)變?yōu)閿?shù)字形式。本文針對實際工作需要,在開源工具Tesseract基礎(chǔ)上訓(xùn)練得到契合本項目的字符庫,提高了數(shù)字識別精度,在圖紙質(zhì)量優(yōu)良的前提下,本研究的高識別率可以顯著提升業(yè)務(wù)工作效率。
本研究存在一些待解決的問題,包括過多研究訓(xùn)練過程對識別率提升意義不大,識別結(jié)果表明圖像質(zhì)量極大程度影響識別準確率,所以提高圖片質(zhì)量成為后續(xù)工作重點,因此將從圖像獲取和圖像增強角度繼續(xù)深入研究。
參考文獻/References
[1]李磊,李正品,李曦凌.宗地界址點自動化提取算法研究[J].測繪地理信息,2018,43(02):90-92+96.
[2]彭立波.勘測設(shè)計單位檔案信息化管理實踐與探索[J].黑龍江水利科技,2012,40(12):227-229.
[3]鄭清潔. 焦作市國土資源檔案數(shù)字化設(shè)計與實現(xiàn)[D].河南理工大學(xué),2012.
[4]孫羽菲. 低質(zhì)量文本圖像OCR技術(shù)的研究[D].中國科學(xué)院計算技術(shù)研究所,2005.
[5]顏建強,高新波.一種基于Google的OCR結(jié)果校對新方法[J].計算機學(xué)報,2014,37(06):1261-1267.
[6] Lee Sunjin,Lee Hyojin,Kim Ki-Tae. Optimization of experimental conditions and measurement of oxygen consumption rate (OCR) in zebrafish embryos exposed to organophosphate flame retardants (OPFRs).[J]. Ecotoxicology and environmental safety,2019,182.
[7] Haisong Ding,Kai Chen,Qiang Huo. Compressing CNN-DBLSTM models for OCR with teacher-student learning and Tucker decomposition[J]. Pattern Recognition,2019,96.
[8] Yan Wenqiang,Xu Guanghua,ChenLongting.Steady State Motion Visual Evoked Potential Enhancement Method Based on Time-Frequency Image Fusion.[J].Computational intelligence and neuroscience,2019.
[9]程育恒. 基于Tesseract開源OCR引擎的證件識別系統(tǒng)的設(shè)計與實現(xiàn)[D].東華大學(xué),2014.
[10]張淙悅,尹梓名,孫大運,戴維.基于Tesseract的醫(yī)學(xué)化驗單內(nèi)容識別技術(shù)[J].北京生物醫(yī)學(xué)工程,2019,38(03):283-289.
[11]唐濤,馬澤.基于OCR的空間坐標自動提取——以廣東省清遠市清新區(qū)不動產(chǎn)存量數(shù)據(jù)整合為例[J].江西科學(xué),2018,36(06):1024-1028+1038.
[12]中英文混排名片識別系統(tǒng)研究[D]. 金鑫.南京航空航天大學(xué) 2012.
[13]基于神經(jīng)網(wǎng)絡(luò)的手寫體數(shù)字識別關(guān)鍵技術(shù)研究[D]. 白天毅.西安工業(yè)大學(xué) 2014.
[14]楊恒杰,閆錚,鄔宗玲,方定邦,段放.基于循環(huán)神經(jīng)網(wǎng)絡(luò)的圖像特定文本抽取方法[J/OL].激光與光電子學(xué)進展:1-9[2019-08-16].