網路城邦
上一篇 回創作列表 下一篇  字體:
辨識外交使節的車牌?OK的啦!
2022/04/20 11:05:45瀏覽1601|回應0|推薦8

最近有位客戶說某標案要考試辨識軍車與外使車牌,軍車部份我是輕騎過關了!但是外使車的辨識因為可以研究資料樣本較少,本來就不敢說穩定,而且考試單位自己也找不到實際的車牌影像,居然是用作圖列印的方式製作假車牌來辨識的?

這個做法其實給我蠻大的困擾,因為字型格式與實際車牌不完全相同,最麻煩的是我必須參考那個中文字所在黃色或紅色區塊,來判定是否為外或使字車牌?但是印刷加上攝影環境影響,最終的影像紅色很暗,黃色又是偏紅的,很容易誤判!但這些都算可以調整適應的細節,經過兩天的努力,現在真假車牌都可以辨識正確了!

外使車牌之所以難辨識當然與前面那個中文字有關!基本上中文字筆劃多而密集,所以一樣大的字,當英數字可以清晰比對時,中文字是不可能穩定比對出正確筆畫的!加上紅黃底色讓目標字常常不太明顯或與背景沾連!所以即使建立出正確的外與使字的字模,其實也是無用武之地!

大家知道為什麼我的車牌辨識可以辨識出很傾斜的車牌嗎?多數車辨識廠商都會說水平傾斜不能超過10度!但是我的產品可以直接辨識至少 ±45度那麼大的範圍!原因就是我不是先在全圖中找到整個車牌,而是一個一個可能的字元目標!再用連連看打麻將的方式將字元串成車牌的!加一點容忍度,如果連成斜線就整個轉正就好了!

但是碰到要辨識只有三個數字以下的使字車牌就麻煩了!一張影像經過切割後可能會有幾百個目標,預設狀況是有四個目標成排我才會進一步處理,一張圖最多就是三四組吧?如果兩三個相連的目標都要處理,那辨識時間就會多出好幾倍,成本太高不能這樣玩的!如下的車牌只有一個字,不就是將軍死棋了嗎?

怎麼作呢?如上圖所示,我先用傳統OCR的方式找出可能為字元的目標,不作排列組合,直接縮放到標準大小比對字模,如果它真的是個數字,我就會知道他是個2字,且符合度分數是1000滿分!我只挑對比度高,大小長寬比合理的資優生比對,符合度低的也篩掉,最終需要耗費的時間就不會太多了!但是當然也就沒有抗傾斜的處理能力,目標必須相當水平才行!

這樣我可以很快找到真正是數字且相鄰的字組即使只有一個字也會被繼續處理。找到真的是相連數字的1-3字字組後,就是根據相對位置來看字組左邊是否有紅色區塊了!這些「巧合」的條件都符合了,當然就可以判斷是使字車牌了!中文字其實是沒有做完整字模比對的!

外字車牌就不需要使用上面的流程,正常流程本來就可以找到四個字以上的排列組合,有點麻煩的是前面的那個外字,可能會被辨識成兩個目標(夕跟卜),也可能因為距離稍遠變成一個相連的目標,我會檢視成排目標的第一個目標背景色是否為黃色?如果是黃色,後方的四個數字目標卻不是!那就是外字車牌了!

所以大家就知道,我的這些辨識還是跟一般人的常識認知完全一樣,你會怎麼辨認這些車牌?我的程式大概就是那麼做的!這一次也是因為剛好客戶有需求,重新整理演算法,很多細節效能穩定性又精進了一點!

但是老實說,外使車的辨識功能我的軟體是有開關的!通常我會關閉此功能,除非客戶有明確需要,原因是現實環境常常有很多顏色變化,碰巧有些目標極像或真的是數字,而且左邊剛好有一個黃或紅色的色塊,就會被誤認為外使車牌了!這個功能如果用在千奇百怪的街景上就常會出現幽靈外使車了!繼續加油中!

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

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