光學字元識別(OCR技術)學習

首先OCR是模式識別的一個領域,所以整體過程也就是模式識別的過程。其過程整體來說可以分為以下幾個步驟:

預處理:對包含文字的圖像進行處理以便後續進行特徵提取、學習。這個過程的主要目的是減少圖像中的無用信息,以便方便後面的處理。在這個步驟通常有:灰度化(如果是彩色圖像)、降噪、二值化、字元切分以及歸一化這些子步驟。經過二值化后,圖像只剩下兩種顏色,即黑和白,其中一個是圖像背景,另一個顏色就是要識別的文字了。降噪在這個階段非常重要,降噪演算法的好壞對特徵提取的影響很大。字元切分則是將圖像中的文字分割成單個文字——識別的時候是一個字一個字識別的。如果文字行有傾斜的話往往還要進行傾斜校正。歸一化則是將單個的文字圖像規整到同樣的尺寸,在同一個規格下,才能應用統一的演算法。

Advertisements

特徵提取和降維:特徵是用來識別文字的關鍵信息,每個不同的文字都能通過特徵來和其他文字進行區分。對於數字和英文字母來說,這個特徵提取是比較容易的,因為數字只有10個,英文字母只有52個,都是小字符集。對於漢字來說,特徵提取比較困難,因為首先漢字是大字符集,國標中光是最常用的第一級漢字就有3755個;第二個漢字結構複雜,形近字多。在確定了使用何種特徵后,視情況而定,還有可能要進行特徵降維,這種情況就是如果特徵的維數太高(特徵一般用一個向量表示,維數即該向量的分量數),分類器的效率會受到很大的影響,為了提高識別速率,往往就要進行降維,這個過程也很重要,既要降低維數吧,又得使得減少維數后的特徵向量還保留了足夠的信息量(以區分不同的文字)。

Advertisements

分類器設計、訓練和實際識別:分類器是用來進行識別的,就是對於第二步,你對一個文字圖像,提取出特徵給,丟給分類器,分類器就對其進行分類,告訴你這個特徵該識別成哪個文字。在進行實際識別前,往往還要對分類器進行訓練,這是一個監督學習的案例。成熟的分類器也很多,什麼svm,kn,神經網路etc。

后處理:后處理是用來對分類結果進行優化的,第一個,分類器的分類有時候不一定是完全正確的(實際上也做不到完全正確),比如對漢字的識別,由於漢字中形近字的存在,很容易將一個字識別成其形近字。后處理中可以去解決這個問題,比如通過語言模型來進行校正——如果分類器將「在哪裡」識別成「存哪裡」,通過語言模型會發現「存哪裡」是錯誤的,然後進行校正。第二個,OCR的識別圖像往往是有大量文字的,而且這些文字存在排版、字體大小等複雜情況,后處理中可以嘗試去對識別結果進行格式化,比如按照圖像中的排版排列什麼的,舉個栗子,一張圖像,其左半部分的文字和右半部分的文字毫無關係,而在字元切分過程中,往往是按行切分的,那麼識別結果中左半部分的第一行後面會跟著右半部分的第一行諸如此類。

運營人員 謝常勝 微信[13829771132] 轉載前須與本人聯繫!

Advertisements

你可能會喜歡