玉山金控CRV 部門實習week 6

David
爬格子的兔子
Published in
3 min readSep 2, 2018

時序邁入八月,結束在登峰大樓的期中報告,在玉山的日子也過了一半多了……剩下兩個專案,分別是支票圖像辨識與金控全產品推薦系統,都算是未曾接觸過的領域,在實作前需要花費較多的時間進行研究。

各分行會在收到支票後,清點與檢查支票的金額是否正確,再進行電腦歸檔,過往以上的工作都是人工處理,不僅耗費時間與人力,淡旺季之間工作量的差異也使人力的調節更加困難,目前是以在旺季聘請臨時工讀生的方式解決。因此分行提出了支票金額自動化辨識的專案需求,希望可以透過圖像辨識的技術,節省部分的人力,甚至能降低人為因素導致的金額錯誤等。

文字辨識主要使用 CNN(卷積神經網絡(Convolutional Neural Network))進行,CNN model 在影像辨識的功能非常強大,後來也衍伸出了許多相關的圖像辨識模型,一開始先參考 Yeh James 大神的這篇文章實作簡單的阿拉伯數字辨識模型:[資料分析&機器學習] 第5.1講: 卷積神經網絡介紹(Convolutional Neural Network)

以 Mnist 的測試資料可以達到 95% 以上的辨識率,但接下來的問題是,如何取得中文正體數字的測試資料?網路上大部分都是辨識阿拉伯數字為主,鮮少有中文正體數字的資料集。做了一點研究後,決定參考 CSDN 上的這篇:【OCR技术】大批量构造中文文字训练集,收集不同的中文字體(楷書、草書、印刷體、手寫體……甚至還找到了這種奇怪的字體:李国夫董事长的手写字体),並使用 opencv 的功能,針對需要辨識的字體(壹貳參肆伍陸柒捌玖拾…)隨機進行字體的侵蝕、膨脹、旋轉、平移與雜訊增加等方式,以產生測試資料集。

但畢竟是以電腦字體生成的資料集,此資料集以 80/20 進行測試時,準確率可以達到 99% 以上,但實際辨識支票的手寫字體時,卻只有約 37% 的準確率。

在研究的過程中,學長提到了 object detection 的相關模型,從 CNN model 延伸出一系列可以在圖像中偵測特定物體的模型,透過事先在圖像中標籤好物體作為訓練資料,模型可以學習以序列的方式辨識圖像中的物體,相關的演算法可以參考這篇 post: 關於影像辨識,所有你應該知道的深度學習模型

資料來源是分行提供去識別化的支票圖檔,經過 labelImg 人工標籤後,使用 RCNN model 進行 training。

初步可以辨識出一些結果,後續可能可以嘗試一些新的 model,例如 Facebook 的 Detectron

--

--