Contents ...
udn網路城邦
連體嬰不切割是活不成的!
2021/11/29 14:56
瀏覽702
迴響0
推薦4
引用0

以往碰到這種案例就會讓我相當心痛扼腕!對於以OCR為基礎的影像辨識來說,如果無法將目標正確切割,就表示無法辨識,如上的影像因為拍攝失焦模糊,即使字元看起來蠻大的,二值化之後還是這個死樣子:

7772四個數字是完全相連的!心痛的點就是人眼辨識這種狀況非常容易,所以面對客戶承認我無法辨識它時,感覺非常挫折!甚至是一種被羞辱的感覺!幾年前我就想到,其實我可以將可疑的沾連字元做切割,我稱之為破壞性的影像處理!書上多半不會教這個的。但是就像切割連體嬰,如果條件不好強行切割,或程式判斷錯誤切錯位置,可能結果更糟!

所以我之前是盡量不在原圖階段就逕行切割的!而是設法先框出整個車牌,進行幾何校正,讓車牌正規化成為標準大小,對於字元的寬高比較為確定的狀態時才大膽切割,出錯率就比較小了!

這種方式對於原圖上二字沾連的狀況多半還可以處理,但三或四字沾連時就是死棋了!上面影像中的7772四字沾連就是一個典型的狀況,如果不在原圖階段就逕行切割,根本無法進入後續的辨識程序,因為四字沾連的長扁形目標不可能被視為是「可能」的車牌字元目標,直接就被搜尋程式排除了!

最近收到一批因為失焦辨識失敗的手拍影像例,正好讓我研究我的原圖切割演算法,就像真正的連體嬰切割一樣,重點是事前要能仔細評估:該不該切?如果要切,應該切在哪裡?如果實在風險太大,就應該放棄切割,賭賭看後續程式能否如上圖一樣,到後面程序再做切割。

7772這個例子來說,雖然四連星很誇張,要很正確的切三刀,一刀切錯就毀了!但是經過檢查,四個字的三個可能連接點都不難估計,反正有把握的才下刀,切到不要有三字沾連應該就會辨識成功了!切割過的二值化圖是這樣的:

心情不錯,以後至少這種程度的模糊影像有機會辨識成功,對客戶比較好交代了!這也可以讓大家知道:人眼的抽象模糊判斷能力比多數的影像辨識軟體強很多!如果我堅持走OCR的路線,就必須有靈活地切割或合併目標的例外處理機制,如果以CNN的模式用大量的掃描特徵維原始資料來組織可能的目標,那你擷取特徵的門檻值就必須降低一點,因為特徵比較不銳利清晰嘛!

比較兩者,用CNN的方式最大的問題可能是計算量太大,我用OCR大致上只需要處理十幾二十個可能的字元目標,CNN的原始資料就不會那麼少了!我想總有一天我會嘗試用CNN+ML+DL做一個車牌辨識核心的!

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

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