提取文字的原理?使用者72727428189832021-06-06 13:22:18

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

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

· 分類器設計、訓練和實際識別:分類器是用來進行識別的,就是對於第二步,對一個文字影象,提取出特徵給,丟給分類器,分類器就對其進行分類,告訴你這個特徵該識別成哪個文字。

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