鄉下老師
原文網址:http://blog.udn.com/yccsonar/129296705
列印日期:2019/10/14
錯誤影像的辨識一次就夠了!
2019/09/12 15:00:21


上面是一段我的動態車牌辨識的原始辨識資料紀錄,某輛應該正確車牌是RBP-0183的車子,因為某種原因,中間有幾個隨機的辨識錯誤,可能是車牌短暫被異物遮蔽,影像震動模糊反光,或單純的網路傳輸隨機誤差,造成影格錯亂不完整,這在視訊傳播上是常有的事情。


我的軟體是抓螢幕的畫面辨識的,此時自然容易產生不正確的辨識,這是非戰之罪,但是一般來說這些異常影像都是一閃而逝,所以不會持續錯誤很多張,最終不太會影響我的統計結果,意思就是這些隨機錯誤會被我的軟體統計吸收掉,應該不會誤報一個8880-I8這種怪怪車牌給客戶!


但是有兩種意外狀況如果一起碰到,這種鬼影辨識就有可能闖關成功!一是IPCAM網路攝影機的影格數落差很大,有時候一秒鐘只有十幾個影格,甚至更少!而我的軟體是可以設定辨識頻率的,客戶求好心切設定得很高,譬如20Hz!那就會發生同一影像被辨識多次,答案當然是完全一樣的,如果剛好那是錯誤的影像就慘了!等於誤差被擴大,錯的車號被提出多次看起來就像是對的了!三人成虎嘛!


簡單說,這種錯誤的原因就是攝影機的實際影格數與我的取像辨識沒有直接同步,我的軟體有時候會重複辨識一樣的影像,造成資料意義上的誤會!這個狀況已經困擾了我一陣子,也不好意思太囉嗦的要求客戶要將攝影機的影格數目調高,或降低我的軟體辨識頻率設定等等,最好是我自己在演算法上將這個問題處理掉!這次改版終於給我想到簡單的辦法解決了!


其實說穿了很簡單,一樣的影像被一樣的程式辨識結果當然是一樣的,我每一個辨識結果除了車號也有很多相關的參數,譬如車牌的位置,只要發現這些參數前後兩個辨識完全一樣,就不要將它列為合理資料,所以一張錯誤影像就只會有一個錯誤的結果,不會產生過度汙染!


但是如果車子確實是停下來接受辨識,導致車牌位置參數也完全一樣呢?那時車牌其實是正確的,我們也希望它累積,那怎麼辦?那就設一個時限,譬如間隔0.3秒以上的重複資料確定不會來自同一個影格,還是照算合理資料!車子在原處停上一秒鐘也差不多可以確認出那個車號了!不算動作太慢。當然實務上正確車牌在停車待檢之前就應該有足夠累計資料了,不是很需要這個機制。


總之,我的新設計可以讓這種鬼影辨識闖關成功的機率大幅降低趨近於零,我之前曾因此被批評的「不穩定」負評應該會再有了!中秋節快樂!