玉山金控CRV 部門實習week 6

David
David
Sep 2, 2018 · 3 min read

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

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

文字辨識主要使用 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

爬格子的兔子

生活的雜事……這是一隻兔子的碎碎念

David

Written by

David

爬格子的兔子

生活的雜事……這是一隻兔子的碎碎念

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade