孫康寧,陳 麗
(三和數碼測繪地理信息技術有限公司,甘肅天水 741000)
農村房地一體化調查是按照《地籍調查規程》(TD/T 1001—2012)、《農村不動產權籍調查工作指南》等相關技術要求,進行宅基地使用權、房屋所有權調查,形成滿足不動產確權登記需要的房地一體的調查成果,為農村房地一體登記發證工作奠定堅實的基礎[1]。自然資源部于2020 年5 月14 日下發了《自然資源部關于加快宅基地和集體建設用地使用權確權登記工作的通知》(自然資發〔2020〕84號),指出宅基地和集體建設用地使用權確權登記工作是黨中央部署的一項重要任務,要求各地自然資源主管部門在2020 年年底基本完成[2]。 進行農村房地一體化調查時,以宗地為基本單元,詳細調查每宗土地的位置、范圍、面積、用途等土地利用現狀,并根據不動產登記的相關規定,調查家庭成員信息和宗地范圍內房屋的產權人、建筑年代、建筑結構、樓層、房屋用途和建筑面積、產權糾紛以及墻體歸屬等基本信息。在調查過程中,通過拍照、掃描的形式收集了戶口簿、身份證、土地證、建設用地許可證等權源材料[3]。這些權源材料數量極大且為非結構化數據,如果通過人工錄入不動產權籍數據庫,效率與質量都無法得到保證。為解決人工錄入權源材料的問題,使用了阿里云提供的人工智能(AI)識別功能,將非結構化的圖像數據轉為結構化的JSON 數據,并通過Python 編寫數據處理工具將識別后的結果自動保存到不動產權籍數據庫中。
阿里云AI 是阿里云開放平臺依托阿里云可靠和靈活的云計算基礎設施和平臺服務,使用阿里頂尖的AI 算法技術,集成了圖像識別、人臉識別、文字識別、商品識別等相關視覺技術的綜合類視覺AI能力服務平臺。在本次農村房地一體化調查項目中,主要使用了AI 識別中的卡證識別功能。
戶主頁是指居民戶口簿的首頁,套印了省、自治區、直轄市公安廳、公安局戶口專用章,內容有戶別、戶主姓名、戶號、住址等,并加蓋戶口登記機關的戶口專用章。通過POST 方法調用戶主頁識別接口,即可將上述信息以JSON 格式的數據返回,接口主要參數如表1 所示。

表1 戶主頁識別接口主要參數
戶主頁中的信息主要用于填寫地籍調查表、不動產登記申請書、不動產確權申請審核表等表中的家庭地址、戶籍所在地。
戶口頁是戶口簿中的常住人口登記卡,用于記錄家庭成員的姓名、性別、居民身份證件編號、出生地、籍貫等信息。通過POST 方法調用戶口頁識別接口,即可將上述信息以JSON 格式的數據返回,接口主要參數如表2 所示。

表2 戶口頁識別接口主要參數
戶口頁中的信息主要用于填寫家庭成員表及不動產申請基本信息表中的家庭成員情況。
在收集權源材料的過程中,還會收集到農戶有土地證、建設用地規劃許可證、準建證等其他材料,這些證件在阿里云AI 中沒有現成的識別接口,需要通過平臺提供的自定義模板識別接口來實現。使用自定義模板識別,需要提前根據證件的類型創建好模板,然后再通過POST 方法進行調用,主要參數如表3 所示。

表3 自定義模板識別接口主要參數
圖像識別的結果會直接用于發證不動產權證的發放,這關系到每個農戶的切身利益,為確保發證的正確率,在使用識別結果前,應進行全面的質量檢查。
目前我國居民身份證號碼主要為第二代18位,還有少量第一代15 位號碼。
15 位身份證號碼由6 位地址碼+6 位日期+2 位順序號+1 位性別碼組成。在某一個地址,6 位地址碼相對較少,可以枚舉,可以驗證識別結果是否在指定地址范圍內。6 位日期碼一般是省略了年的前2 位(19),可以將此信息與識別出來的出生日期進行比對。
18 位身份證號碼由6 位地址碼+8 位日期+2 位順序號+1 位性別碼+1 位檢驗碼組成。可以將前17位號碼根據身份證號碼檢驗公式計算出來的值與第18 位進行對比。詳細計算方法如下:式中:V為檢驗碼的算術值(余數);ai為身份證號碼左邊第1 位到第17 位的號碼值;Wi為第i 位的加權因子,從左邊起,第1 位到第17 位的加權因子分別為77、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2;mod為整除11 后取余計算。
通過式(1)計算出檢驗碼的算術值(余數)后,再將算術值代入檢驗碼字符值換算關系表中,即可得出身份證的第18 位,如表4 所示。

表4 算術值(余數)與檢驗碼字符值換算關系表
在作業過程中,將阿里云AI 識別的結果通過表格或者網頁的方式展示出來,作業人員在權源材料中隨機抽取約30% 進行人工檢查,對照權源材料,采用人機交互的方式,詳細核對智能識別的結果,如果發現錯誤,實時修改識別結果,這樣可以進一步提高成果的準確率。
阿里云AI 雖然提供了圖像識別功能,但只有基于WebService 的開發接口,沒有面向最終用戶。作業人員使用此功能時,還需要根據項目的數據標準做進一步開發。本次農村房地一體化調查項目中,使用Visual Basic.Net 及Python 完成了全部開發任務。
識別緩存服務是在本地部署的一個用于存儲、調用阿里云AI 識別結果的一個Web 服務。所有的識別數據保存于SQL Server 服務器中,通過IIS 以WebService 的形式對外提供服務。部署本地識別緩存服務可以起到提升識別效率、降低識別成本的作用。用戶使用作業工具識別圖片時,首先選計算圖片文件的MD5 值,通過此MD5 在本地緩存服務中先查找是否已經存在識別結果,如果存在則直接使用識別結果。如果在本地沒有找到識別結果,則先計算圖片Base64 位編碼,再調用阿里云AI 的相關識別接口進行識別,識別結束后,再將識別結果保存到本地緩存,以便下次調用,避免重復識別。
本地緩存服務基于.Net FrameWork 使用Visual Basic. Net 進行開發,對外主要提供QueryOCRResult 如表5 所示與InsertOCR 接口如表6 所示,同時支持GET 與POST 方法調用。

表5 QueryOCRResult 接口參數

表6 InsertOCR 接口參數
Python 是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。Python 具有豐富和強大的庫,常被稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地連接在一起,因此在科學計算、人工智能、網絡編輯等領域有著廣泛應用。本項目選擇Python 作為應用工具開發的編程語言。阿里云AI 識別提供的所有識別功能都是通過WebService 的方式對外提供服務的,因此需要開發一個調用WebService 的Python 模塊。調用WebService 返回的結果都是JSON 格式,因此識別模塊中需要實現3 個基本功能:服務調用、JSON 解析和數據庫讀寫。
3.2.1 服務調用
服務調用函數的形式為:CallService(url,method,namevalues),其中url 表示WebService 對外提供的地址,method 表示網絡請求方式(GET、POST等),namevalues 表示由參數名與參數值組成的列表。此功能借助于第三方開源工具包suds 實現了調用WebService 的功能。
3.2.2 JSON 解析
JSON 解析函數的形式為Parse(jvalue,name),其中,jvalue 表示調用WebSerice 返回的JOSN 格式的數據,name 表示某個屬性名。Python 標準庫中已經提供解析JSON 數據的相關模塊,使用時提前通過import json 語句引入即可調用[4]。
3.2.3 數據庫讀寫
在作業過程中,為作業方便,全部使用Microsoft Access 數據庫(mdb 文件)保存數據。從JSON 中解析出來的數據最終保存到mdb 文件中。使用Python 讀寫mdb 時,需要引用第三方模塊win32com,設置DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;',通過Jet 數據庫引擎來實現對mdb讀寫操作[5-6]。
農村房地一體化調查項目在全國各地已經開展,本單位承接了多個地區的農村房地一體化調查項目。為提高作業效率,降低作業人員的錄入工作,專門開發了識別權源材料的數據處理工具。作業人員在外業收集權源材料時,要求每張圖片不超過4 M,且要按照統一的方式進行組織。
以村(地籍子區)為單位進行組織,每一宗存放一個目錄,在每一宗內部,各種類別的圖片通過文件夾的方式分類存放。這種統一的數據組織方式可以為后期的自動識別工作帶來了很大便利。當某個村的權源材料收集完畢后,在系統命令行中運行權源材料處理工具(Python sdcOCR.py),即可將數據保存到mdb 數據庫文件中。
本文通過對阿里云AI 提供的圖片識別服務的接口參數、調用地址及返回結果進行分析,介紹了開發權源材料處理工具需要實現的主要功能及實現思路,并以Visual Basic.Net 及Python 作為編程語言,開發了專用的權源材料數據處理工具,降低了作業人員的錄入工作量,提升了作業效率及產品的質量,為加快推進宅基地和集體建設用地使用權確權登記工作提供了堅實的技術支撐。通過“互聯網+”模式,將阿里云成熟的AI 技術運用到具體的項目中,形成真正的生產力。文中關于調用阿里云AI 識別技術的相關設計思路和實現方法對開發其他基于云服務的應用也有一定的借鑒意義。