本章講述的是一個複雜的機器學習系統,通過它可以看到機器學習的系統是如何組裝起來的;另外也說明了一個複雜的流水線系統如何定位瓶頸與分配資源。
更多內容參考 機器學習&深度學習
OCR的問題就是根據圖片識別圖片中的文字:
這種OCR識別的問題可以理解成三個步驟:
- 文字檢測
- 字元切分
- 字元識別
文字檢測
文字的檢測可以用行人的檢測來做,思路差不多。
我們定義幾個固定大小尺寸的視窗,從照片的左上角開始掃描。掃描出來的影象做二分類,判斷是北京還是人物(文字)。然後根據影象處理的一些慣用手段做二值化、膨脹,使得文字區域連通。最終根據規則選擇文字框就可以了,過濾那些規則不規整、寬度比高度小的矩形框框,剩下的就是目標文字框了。
字元切分
字元切分也可以理解成二分類問題,不過這裡的滑動視窗是固定大小。根據視窗內的內容判斷目標是分隔,還是文字。
字元識別
最後的字元識別就很簡單了,找夠樣本,就可以做多分類了。跟手寫體識別一樣的玩法~
關於訓練的樣本
其實訓練的樣本可以根據已有的樣本進行成倍的擴充。比如在做文字識別的時候,根據現有的圖片做一些變形、噪聲、旋轉等,再比如針對一些文字替換背景等等。
關於系統的效能提升
針對系統準確性的提升可以把問題階段性的考慮,先判斷第一個環節的準確率,在判斷第二個環節。
選擇準確率影響最關鍵的節點進行優化。