2012-04-05 124 views
1

我看到有關OCR表單識別(數據提取)的不同文章,他們說他們使用神經網絡來進行表單識別,那麼人工神經網絡(ANN)和表單識別之間的關係是什麼?如果我想從BusinessCard中提取字段,是否需要使用ANN或者它是否可選?換句話說,我什麼時候需要使用ANN,什麼時候不需要?OCR和人工神經網絡之間的關係是什麼?

回答

1

它有點不同。 ANN只是所有OCR中的「專家」。但OCR引擎包含許多專家。當你學習人工神經網絡時,你將會使用人工神經網絡來構建一個簡單的OCR引擎,但是這與現代引擎不同,它們與三元數學,形態學,數據類型(對BCR和形式非常重要),詞典,連接組件算法等等。所以把它看作是提取高質量結果的一攬子技巧之一。一個好的引擎將納入ANN和所有其他引擎。在BCR中還有其他的考慮因素,它應該首先在連接的組件,詞典中佔據很重要的位置,然後使用ANN和模式匹配進行實際識別。

1

ANN是執行OCR的一種方法。還有其他人。因此,如果您想從BusinessCard中提取字段,則只能使用ANN。

+0

什麼是我可以用來從名片中提取字段的其他技術? – 2012-04-05 16:06:37

+1

對於OCR,您通常不僅需要一個用於字符識別的模塊(可能是ANN,SVM ...)。首先,你必須提取塊,線,列,並規範化,縮放,旋轉你的輸入圖像... – alfa 2012-04-05 19:35:13

+0

什麼是SVM,有什麼文章可以學習嗎?或者有關如何提取塊,行,列和規範化,縮放,旋轉輸入圖像的任何文章? – 2012-04-06 12:45:55

1

好問題。我最近花了一些時間玩OCRopus,這是一個OCR的Google項目,你可以免費得到它並自己玩。我很確定它有一個ANN作爲其背後的模塊之一。然而,光學字符識別的整個過程可以有很多步驟(許多不同的小模塊,每個模塊都會做某些事情並將結果傳遞給下一個模塊)。

因此,這裏有一些我記得在該項目的模塊正在做的事情:

  1. 有,它把圖像轉換成黑白模塊 - 這使得它更容易爲以後模塊處理。
  2. 消除斑點/斑點。
  3. 整理出文字的線條。
  4. 文本斷爲單個單詞的行(它已經有幾個星期,不知道這一個)

基本上,你可以做上面使用的代碼的小位不涉及神經網絡。所以使用這些小代碼來做這件事更簡單。

我認爲神經網絡僅用於識別單個字符 - 一組可能字符中的哪個字符是它。

在OCRopus中有一個訓練命令,我已經運行了一個多星期,並一直向地圖發送線樣本,緩慢地更改地圖。我認爲這是訓練ANN部分。