Contents ...
udn網路城邦
OCR如果用得夠聰明,就不需要CNN了!
2025/10/30 10:14
瀏覽704
迴響0
推薦12
引用0

上面的車牌辨識似乎並不困難?但事實上就是有些尷尬的巧合讓我的OCR很容易辨識錯誤,放大來看你就會知道了:

所謂的OCR,就是將影像二值化之後,將相連的黑色區塊切割出來,當作是一個字來處理!這個案例的字元之間的間隙還夠大沒有沾連,即使字元真的沾連了,我的辨識流程通常也可以處理至少兩字沾連的意外,但是此例中被沾連的是車牌下方的螺絲孔!所以多出一個錯誤尾巴的變形8C就很容易辨識錯了!我的舊程式中是沒有直接解決這種狀況的方法的!

事實上,如果我不管這個沾連現象,在車牌取出並做完幾何校正之後,我再用運算量大一點的類似CNN的嘗試錯誤掃描的方法也是可以正確找到這兩個字的!但是如果在目標切割時就可以直接「看出」不合理的沾連加以處理呢?當然是最上策了!這幾天就是在研究提前切割這類沾連目標的演算法,也頗有斬獲!上述的沾連現在都能拆解了!

實際做法就是在初步獲得的目標內做個嘗試切割脆弱點的動作!以上例來說,最初獲得的8C會略寬於其他正常字元,嘗試切割脆弱點之後的8C會更符合整體字寬,當然就接受切割結果了!後續也就不必再動用演算量更大的局部CNN掃描了!辨識速度會變快的!好像癌症越早治療會越好,越省資源!

從這裡也會看到舊型車牌設計上的缺點!舊型車牌是上下都有各兩個螺絲孔的,下方螺絲孔還與字元特別近,所以常常會與字元沾連變成強力雜訊!新型的七碼車牌就沒麼囉嗦了!只有上方兩個螺絲孔,要固定車牌這樣其實就夠了!

這裡也可以看出:解析度與角度也會影響辨識!如果上例車牌是以較水平的角度拍攝,或影像解析度高一點,都不會產生上述沾連的問題!但是我們做辨識軟體的人是在競爭甚麼呢?就是面對別人辨識不出來或容易辨識錯誤的影像,我們可以辨識得更好!更快!也更正確!簡單說,就是比誰的辨識軟體更AI啦!

具體的方向就是每一種異常現象我們都要有對策,甚至一種現象要有多種對策!A方案如果無解還有B方案,甚至C方案!讓各種辨識的障礙都可以被順利破解與排除!即使是我常常批評沒效率的MLDLCNN,必要時我也會毫不猶豫使用的!讓終極辨識最高才是主要目標嘛!

以此例來說,能在目標決定的階段先正確拆解掉雜訊就是A方案,解決不掉還是可以在稍後用局部區域的CNN找到正確答案的!演算方法與解決方案絕對不嫌多的!但是要優先使用最有效率的方案,其他的就是備援方案了!就像救災設備平時不會用到,災難來時可就非常重要了!

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

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