網路城邦
上一篇 回創作列表 下一篇   字體:
我是這樣使用CNN的!用CNN做全圖特徵的搜尋?太笨了!
2025/01/07 10:26:41瀏覽209|回應0|推薦4

越南的車牌辨識已經玩到摩托車了!因為機車的車身寬度有限,車牌也不能太寬,越南車牌的字數一般就是八九碼,最少的也有七碼,如果硬做成單排,不是字必須縮得太小,就是車牌太長會妨礙交通了!所以他們的汽車車牌多數是單排字,機車就全部都是雙排字了!而且機車可以傾斜的角度較大,所以雙排字還要做很準確的旋轉,難度不低!

目前處理的這一批影像比較討厭的是很多如上的局部反光,讓字元變得不完整,應該是車牌使用的材質問題,如果反光範圍太大我也只能認輸,但是如上只是某個字破碎缺損我就投降?那就很不服氣了!硬猜也要猜出一個合乎車牌格式的答案嘛!

如果只用OCR的作業方式,上圖的5字當然是無法辨識的!但是就像玩拼圖吧?如果只缺一個字,即使那個拼圖塊本身破碎了,比對剩餘的殘缺部分應該也可以猜個八九不離十的!這其實就是CNN說的Convolution操作了!在這個應該有完整字元的區域掃描比對所有字模,符合度最高的就應該是正確答案了!毫無懸念我可以猜對這個字是5!

所以我也不是完全不用CNN的!實在無計可施時,在確定有字的小區域用CNN做最後的猜測嘗試也是效果很好的!但我不會笨到CNN當作搜尋全圖特徵分布的前處理作業!想像一下你有數十個不同的字模特徵矩陣,都要掃描全圖,而且因為不知道字元的大小,還必須用不同尺度掃描很多次!在這個愚蠢架構之下,再怎麼優化都很浪費時間的!所以即使是最新版的YOLO速度效率還是遠不如OCR!這個事實各位知道嗎?而且他們的加速必須付出降低正確率的代價,OCR則完全不必!

為了提高準確率,如上圖我是先以整張車牌的尺度做幾何校正,就是把車牌轉正之後再找到缺字的區域做CNN掃描的!妄想可以直接掃瞄出各種傾斜角度的車牌與字元?當然是愚不可及的!會讓CNN全圖掃描的時間再乘上數十倍!這種運算浪費應該連輝達的超級電腦晶片也救不了的!所以目前的CNN(YOLO)找到車牌的速度或許夠快,但正確辨識內容的能力極差,所以無法挑戰OCR在車牌辨識軟體的地位,終究辨識率高才是軟體品質的關鍵前提

( 心情隨筆工作職場 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=yccsonar&aid=181617001