Contents ...
udn網路城邦
OCR辨識最困難的部分是「何謂字元?」的認知能力!
2022/07/08 04:48
瀏覽731
迴響0
推薦5
引用0

OCR(Optical Character Recognition)光學字元辨識,就是我們公司最熟悉也最先進的影像辨識技術核心了!如果你去上課或讀書學習這個議題,大概就是會看到全彩→灰階→二值化→影像切割→字模比對等等,以我的實務經驗來說,這些都不太困難,最關鍵也困難的處理步驟,其實是「何謂字元?」的認知能力!

如上的案例,要將影像處理到黑白分明不難,但是你怎麼知道那些黑黑的色塊,左邊的兩塊應該是個數字1?右邊的五塊其實是個3字的部件?這就是傳統的OCR書籍懶得講直接跳過,新潮的CNN則根本假裝沒這回事,故意忽略不講的議題了!

但是如果你想製作出商業軟體,這種字元認知的過程其實是非常必要,也最關鍵的技術!如果你不知道或組織不正確,是一定無法正確辨識出那幾個數字的!多數課本會假設一個字就是一個色塊,如下的案例就是,但如果碰到如上的狀況,或是中文字筆畫分開時,你怎麼辦?直接放棄就不必玩了!

所以OCR技術中會有ROI(Region of interested)的技術名詞,大家以為只是一個字串範圍的搜尋定義?譬如地址或身分證字號的區域範圍?事實上更重要的是:你如何操作定義知道哪些色塊屬於「同一個字」?

如上111.3的案例,你一定要先從原始資料中篩選出主角()!像是ODOkm等等配角要被認知擺在一邊!知道主角之後才能估計找出真正要辨識的字串中字元高大概是多少?再據以拼湊組合那些其實是分離狀態的色塊,如果字元組合不正確,當然辨識出來的字就絕對不正確了!

你怎麼知道左邊兩個黑色塊應該是同一個數字1的一部份呢?這就是一個「認知」的過程!我們可以用演算法推測:它們應該距離很接近,左右範圍重疊等等!此時如果影像高度傾斜呢?演算法就必須「」得更複雜周延,程式也就更複雜了!所以我的車牌辨識核心會多到五六千行,如上簡單的狀況,就可以簡化到一千行左右,就可以結案了!

我真的很納悶奇怪?這是我們做這種影像辨識絕對必要的過程!但是現在學影像辨識的人居然完全看不到這部分的教學資料?如果他們真要跨入這個業界時,誰會教他們跨過這個柵欄呢?都要像我一樣自行摸索很久嗎?你們以為呼攏你的AI科技,用大量資料「學習」一下就可以搞定了嗎?當然鐵定不行的!如果你想找資料看,似乎也只有我寫的這本書了!

有誰推薦more
全站分類:心情隨筆 工作職場
自訂分類:不分類

限會員,要發表迴響,請先登入