吳恩達機器學習筆記 —— 19 應用舉例:照片OCR(光學字元識別)

xingoo發表於2018-07-26

本章講述的是一個複雜的機器學習系統,通過它可以看到機器學習的系統是如何組裝起來的;另外也說明了一個複雜的流水線系統如何定位瓶頸與分配資源。

更多內容參考 機器學習&深度學習

OCR的問題就是根據圖片識別圖片中的文字:

吳恩達機器學習筆記 —— 19 應用舉例:照片OCR(光學字元識別)
這種OCR識別的問題可以理解成三個步驟:

  1. 文字檢測
  2. 字元切分
  3. 字元識別
    吳恩達機器學習筆記 —— 19 應用舉例:照片OCR(光學字元識別)

文字檢測

文字的檢測可以用行人的檢測來做,思路差不多。

吳恩達機器學習筆記 —— 19 應用舉例:照片OCR(光學字元識別)

我們定義幾個固定大小尺寸的視窗,從照片的左上角開始掃描。掃描出來的影象做二分類,判斷是北京還是人物(文字)。然後根據影象處理的一些慣用手段做二值化、膨脹,使得文字區域連通。最終根據規則選擇文字框就可以了,過濾那些規則不規整、寬度比高度小的矩形框框,剩下的就是目標文字框了。
吳恩達機器學習筆記 —— 19 應用舉例:照片OCR(光學字元識別)

字元切分

字元切分也可以理解成二分類問題,不過這裡的滑動視窗是固定大小。根據視窗內的內容判斷目標是分隔,還是文字。
吳恩達機器學習筆記 —— 19 應用舉例:照片OCR(光學字元識別)

字元識別

最後的字元識別就很簡單了,找夠樣本,就可以做多分類了。跟手寫體識別一樣的玩法~
吳恩達機器學習筆記 —— 19 應用舉例:照片OCR(光學字元識別)

關於訓練的樣本

其實訓練的樣本可以根據已有的樣本進行成倍的擴充。比如在做文字識別的時候,根據現有的圖片做一些變形、噪聲、旋轉等,再比如針對一些文字替換背景等等。
吳恩達機器學習筆記 —— 19 應用舉例:照片OCR(光學字元識別)

關於系統的效能提升

針對系統準確性的提升可以把問題階段性的考慮,先判斷第一個環節的準確率,在判斷第二個環節。
吳恩達機器學習筆記 —— 19 應用舉例:照片OCR(光學字元識別)

選擇準確率影響最關鍵的節點進行優化。

相關文章