Coursera機器學習week11 筆記

Application example:Photo OCR

Problem description and pipelinewindows

圖像文字識別應用所做的事是,從一張給定的圖片中識別文字。這比從一份掃描文檔中識別文字要複雜的多。機器學習

 

爲了完成這樣的工做,須要採起以下步驟:
1. 文字偵測(Text detection)——將圖片上的文字與其餘環境對象分離開來
2. 字符切分(Character segmentation)——將文字分割成一個個單一的字符
3. 字符分類(Character classification)——肯定每個字符是什麼 能夠用任務流程圖來表學習

達這個問題,每一項任務能夠由一個單獨的小隊來負責解決:
字體

Sliding windows

  滑動窗口是一項用來從圖像中抽取對象的技術。假使咱們須要在一張圖片中識別行人,首先要作的是用許多固定尺寸的圖片來訓練一個可以準確識別行人的模型。而後咱們用以前訓練識別行人的模型時所採用的圖片尺寸在咱們要進行行 人識別的圖片上進行剪裁,而後將剪裁獲得的切片交給模型,讓模型判斷是否爲行人,而後在圖片上滑動剪裁區域從新進行剪裁,將新剪裁的切片也交給模型進行判斷,如此循環直至將圖片所有檢測完。
  一旦完成後,咱們按比例放大剪裁的區域,再以新的尺寸對圖片進行剪裁,將新剪裁的切片按比例縮小至模型所採納的尺寸,交給模型進行判斷,如此循環。網站

以上即是文字偵測階段。 下一步是訓練一個模型來完成將文字分割成一個個字符的任務,須要的訓練集由單個字符的圖片和兩個相連字符之間的圖片來訓練模型。spa

 

GeIng lots of data:Artificial data synthesis

  以咱們的文字識別應用爲例,咱們能夠字體網站下載各類字體,而後利用這些不一樣的字體配上各類不一樣的隨機背景圖片創造出一些用於訓練的實例,這讓咱們可以得到一個無限大的訓練集。這是從零開始創造實例。
  另外一種方法是,利用已有的數據,而後對其進行修改,例如將已有的字符圖片進行一些扭曲、旋轉、模糊處理。只要咱們認爲實際數據有可能和通過這樣處理後的數據相似,咱們即可以用這樣的方法來創造大量的數據。對象

 

有關得到更多數據的幾種方法:
1. 人工數據合成
2. 手動收集、標記數據
3. 衆包 圖片

Ceiling analysis: What part of the pipeline to work on next

  在機器學習的應用中,咱們一般須要經過幾個步驟才能進行最終的預測,咱們如何可以知道哪一部分最值得咱們花時間和精力去改善呢?這個問題能夠經過上限分析來回答。回到咱們的文字識別應用中,咱們的流程圖以下: ip

  流程圖中每一部分的輸出都是下一部分的輸入,上限分析中,咱們選取一部分,手工提供 100%正確的輸出結果,而後看應用的總體效果提高了多少。假使咱們的例子中整體效果爲 72%的正確率。
  若是咱們令文字偵測部分輸出的結果 100%正確,發現系統的整體效果從 72%提升到了 89%。這意味着咱們極可能會但願投入時間精力來提升咱們的文字偵測部分。
  接着咱們手動選擇數據,讓字符切分輸出的結果 100%正確,發現系統的整體效果只提高了 1%,這意味着,咱們的字符切分部分可能已經足夠好了。
  最後咱們手工選擇數據,讓字符分類輸出的結果 100%正確,系統的整體效果又提高了 10%,這意味着咱們可能也會應該投入更多的時間和精力來提升應用的整體表現。
ci

相關文章
相關標籤/搜索