孫康寧,陳 麗
(三和數(shù)碼測繪地理信息技術(shù)有限公司,甘肅天水 741000)
農(nóng)村房地一體化調(diào)查是按照《地籍調(diào)查規(guī)程》(TD/T 1001—2012)、《農(nóng)村不動產(chǎn)權(quán)籍調(diào)查工作指南》等相關(guān)技術(shù)要求,進行宅基地使用權(quán)、房屋所有權(quán)調(diào)查,形成滿足不動產(chǎn)確權(quán)登記需要的房地一體的調(diào)查成果,為農(nóng)村房地一體登記發(fā)證工作奠定堅實的基礎(chǔ)[1]。自然資源部于2020 年5 月14 日下發(fā)了《自然資源部關(guān)于加快宅基地和集體建設(shè)用地使用權(quán)確權(quán)登記工作的通知》(自然資發(fā)〔2020〕84號),指出宅基地和集體建設(shè)用地使用權(quán)確權(quán)登記工作是黨中央部署的一項重要任務(wù),要求各地自然資源主管部門在2020 年年底基本完成[2]。 進行農(nóng)村房地一體化調(diào)查時,以宗地為基本單元,詳細調(diào)查每宗土地的位置、范圍、面積、用途等土地利用現(xiàn)狀,并根據(jù)不動產(chǎn)登記的相關(guān)規(guī)定,調(diào)查家庭成員信息和宗地范圍內(nèi)房屋的產(chǎn)權(quán)人、建筑年代、建筑結(jié)構(gòu)、樓層、房屋用途和建筑面積、產(chǎn)權(quán)糾紛以及墻體歸屬等基本信息。在調(diào)查過程中,通過拍照、掃描的形式收集了戶口簿、身份證、土地證、建設(shè)用地許可證等權(quán)源材料[3]。這些權(quán)源材料數(shù)量極大且為非結(jié)構(gòu)化數(shù)據(jù),如果通過人工錄入不動產(chǎn)權(quán)籍數(shù)據(jù)庫,效率與質(zhì)量都無法得到保證。為解決人工錄入權(quán)源材料的問題,使用了阿里云提供的人工智能(AI)識別功能,將非結(jié)構(gòu)化的圖像數(shù)據(jù)轉(zhuǎn)為結(jié)構(gòu)化的JSON 數(shù)據(jù),并通過Python 編寫數(shù)據(jù)處理工具將識別后的結(jié)果自動保存到不動產(chǎn)權(quán)籍數(shù)據(jù)庫中。
阿里云AI 是阿里云開放平臺依托阿里云可靠和靈活的云計算基礎(chǔ)設(shè)施和平臺服務(wù),使用阿里頂尖的AI 算法技術(shù),集成了圖像識別、人臉識別、文字識別、商品識別等相關(guān)視覺技術(shù)的綜合類視覺AI能力服務(wù)平臺。在本次農(nóng)村房地一體化調(diào)查項目中,主要使用了AI 識別中的卡證識別功能。
戶主頁是指居民戶口簿的首頁,套印了省、自治區(qū)、直轄市公安廳、公安局戶口專用章,內(nèi)容有戶別、戶主姓名、戶號、住址等,并加蓋戶口登記機關(guān)的戶口專用章。通過POST 方法調(diào)用戶主頁識別接口,即可將上述信息以JSON 格式的數(shù)據(jù)返回,接口主要參數(shù)如表1 所示。
表1 戶主頁識別接口主要參數(shù)
戶主頁中的信息主要用于填寫地籍調(diào)查表、不動產(chǎn)登記申請書、不動產(chǎn)確權(quán)申請審核表等表中的家庭地址、戶籍所在地。
戶口頁是戶口簿中的常住人口登記卡,用于記錄家庭成員的姓名、性別、居民身份證件編號、出生地、籍貫等信息。通過POST 方法調(diào)用戶口頁識別接口,即可將上述信息以JSON 格式的數(shù)據(jù)返回,接口主要參數(shù)如表2 所示。
表2 戶口頁識別接口主要參數(shù)
戶口頁中的信息主要用于填寫家庭成員表及不動產(chǎn)申請基本信息表中的家庭成員情況。
在收集權(quán)源材料的過程中,還會收集到農(nóng)戶有土地證、建設(shè)用地規(guī)劃許可證、準建證等其他材料,這些證件在阿里云AI 中沒有現(xiàn)成的識別接口,需要通過平臺提供的自定義模板識別接口來實現(xiàn)。使用自定義模板識別,需要提前根據(jù)證件的類型創(chuàng)建好模板,然后再通過POST 方法進行調(diào)用,主要參數(shù)如表3 所示。
表3 自定義模板識別接口主要參數(shù)
圖像識別的結(jié)果會直接用于發(fā)證不動產(chǎn)權(quán)證的發(fā)放,這關(guān)系到每個農(nóng)戶的切身利益,為確保發(fā)證的正確率,在使用識別結(jié)果前,應(yīng)進行全面的質(zhì)量檢查。
目前我國居民身份證號碼主要為第二代18位,還有少量第一代15 位號碼。
15 位身份證號碼由6 位地址碼+6 位日期+2 位順序號+1 位性別碼組成。在某一個地址,6 位地址碼相對較少,可以枚舉,可以驗證識別結(jié)果是否在指定地址范圍內(nèi)。6 位日期碼一般是省略了年的前2 位(19),可以將此信息與識別出來的出生日期進行比對。
18 位身份證號碼由6 位地址碼+8 位日期+2 位順序號+1 位性別碼+1 位檢驗碼組成??梢詫⑶?7位號碼根據(jù)身份證號碼檢驗公式計算出來的值與第18 位進行對比。詳細計算方法如下:式中:V為檢驗碼的算術(shù)值(余數(shù));ai為身份證號碼左邊第1 位到第17 位的號碼值;Wi為第i 位的加權(quán)因子,從左邊起,第1 位到第17 位的加權(quán)因子分別為77、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2;mod為整除11 后取余計算。
通過式(1)計算出檢驗碼的算術(shù)值(余數(shù))后,再將算術(shù)值代入檢驗碼字符值換算關(guān)系表中,即可得出身份證的第18 位,如表4 所示。
表4 算術(shù)值(余數(shù))與檢驗碼字符值換算關(guān)系表
在作業(yè)過程中,將阿里云AI 識別的結(jié)果通過表格或者網(wǎng)頁的方式展示出來,作業(yè)人員在權(quán)源材料中隨機抽取約30% 進行人工檢查,對照權(quán)源材料,采用人機交互的方式,詳細核對智能識別的結(jié)果,如果發(fā)現(xiàn)錯誤,實時修改識別結(jié)果,這樣可以進一步提高成果的準確率。
阿里云AI 雖然提供了圖像識別功能,但只有基于WebService 的開發(fā)接口,沒有面向最終用戶。作業(yè)人員使用此功能時,還需要根據(jù)項目的數(shù)據(jù)標準做進一步開發(fā)。本次農(nóng)村房地一體化調(diào)查項目中,使用Visual Basic.Net 及Python 完成了全部開發(fā)任務(wù)。
識別緩存服務(wù)是在本地部署的一個用于存儲、調(diào)用阿里云AI 識別結(jié)果的一個Web 服務(wù)。所有的識別數(shù)據(jù)保存于SQL Server 服務(wù)器中,通過IIS 以WebService 的形式對外提供服務(wù)。部署本地識別緩存服務(wù)可以起到提升識別效率、降低識別成本的作用。用戶使用作業(yè)工具識別圖片時,首先選計算圖片文件的MD5 值,通過此MD5 在本地緩存服務(wù)中先查找是否已經(jīng)存在識別結(jié)果,如果存在則直接使用識別結(jié)果。如果在本地沒有找到識別結(jié)果,則先計算圖片Base64 位編碼,再調(diào)用阿里云AI 的相關(guān)識別接口進行識別,識別結(jié)束后,再將識別結(jié)果保存到本地緩存,以便下次調(diào)用,避免重復識別。
本地緩存服務(wù)基于.Net FrameWork 使用Visual Basic. Net 進行開發(fā),對外主要提供QueryOCRResult 如表5 所示與InsertOCR 接口如表6 所示,同時支持GET 與POST 方法調(diào)用。
表5 QueryOCRResult 接口參數(shù)
表6 InsertOCR 接口參數(shù)
Python 是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言。Python 具有豐富和強大的庫,常被稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地連接在一起,因此在科學計算、人工智能、網(wǎng)絡(luò)編輯等領(lǐng)域有著廣泛應(yīng)用。本項目選擇Python 作為應(yīng)用工具開發(fā)的編程語言。阿里云AI 識別提供的所有識別功能都是通過WebService 的方式對外提供服務(wù)的,因此需要開發(fā)一個調(diào)用WebService 的Python 模塊。調(diào)用WebService 返回的結(jié)果都是JSON 格式,因此識別模塊中需要實現(xiàn)3 個基本功能:服務(wù)調(diào)用、JSON 解析和數(shù)據(jù)庫讀寫。
3.2.1 服務(wù)調(diào)用
服務(wù)調(diào)用函數(shù)的形式為:CallService(url,method,namevalues),其中url 表示W(wǎng)ebService 對外提供的地址,method 表示網(wǎng)絡(luò)請求方式(GET、POST等),namevalues 表示由參數(shù)名與參數(shù)值組成的列表。此功能借助于第三方開源工具包suds 實現(xiàn)了調(diào)用WebService 的功能。
3.2.2 JSON 解析
JSON 解析函數(shù)的形式為Parse(jvalue,name),其中,jvalue 表示調(diào)用WebSerice 返回的JOSN 格式的數(shù)據(jù),name 表示某個屬性名。Python 標準庫中已經(jīng)提供解析JSON 數(shù)據(jù)的相關(guān)模塊,使用時提前通過import json 語句引入即可調(diào)用[4]。
3.2.3 數(shù)據(jù)庫讀寫
在作業(yè)過程中,為作業(yè)方便,全部使用Microsoft Access 數(shù)據(jù)庫(mdb 文件)保存數(shù)據(jù)。從JSON 中解析出來的數(shù)據(jù)最終保存到mdb 文件中。使用Python 讀寫mdb 時,需要引用第三方模塊win32com,設(shè)置DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;',通過Jet 數(shù)據(jù)庫引擎來實現(xiàn)對mdb讀寫操作[5-6]。
農(nóng)村房地一體化調(diào)查項目在全國各地已經(jīng)開展,本單位承接了多個地區(qū)的農(nóng)村房地一體化調(diào)查項目。為提高作業(yè)效率,降低作業(yè)人員的錄入工作,專門開發(fā)了識別權(quán)源材料的數(shù)據(jù)處理工具。作業(yè)人員在外業(yè)收集權(quán)源材料時,要求每張圖片不超過4 M,且要按照統(tǒng)一的方式進行組織。
以村(地籍子區(qū))為單位進行組織,每一宗存放一個目錄,在每一宗內(nèi)部,各種類別的圖片通過文件夾的方式分類存放。這種統(tǒng)一的數(shù)據(jù)組織方式可以為后期的自動識別工作帶來了很大便利。當某個村的權(quán)源材料收集完畢后,在系統(tǒng)命令行中運行權(quán)源材料處理工具(Python sdcOCR.py),即可將數(shù)據(jù)保存到mdb 數(shù)據(jù)庫文件中。
本文通過對阿里云AI 提供的圖片識別服務(wù)的接口參數(shù)、調(diào)用地址及返回結(jié)果進行分析,介紹了開發(fā)權(quán)源材料處理工具需要實現(xiàn)的主要功能及實現(xiàn)思路,并以Visual Basic.Net 及Python 作為編程語言,開發(fā)了專用的權(quán)源材料數(shù)據(jù)處理工具,降低了作業(yè)人員的錄入工作量,提升了作業(yè)效率及產(chǎn)品的質(zhì)量,為加快推進宅基地和集體建設(shè)用地使用權(quán)確權(quán)登記工作提供了堅實的技術(shù)支撐。通過“互聯(lián)網(wǎng)+”模式,將阿里云成熟的AI 技術(shù)運用到具體的項目中,形成真正的生產(chǎn)力。文中關(guān)于調(diào)用阿里云AI 識別技術(shù)的相關(guān)設(shè)計思路和實現(xiàn)方法對開發(fā)其他基于云服務(wù)的應(yīng)用也有一定的借鑒意義。