Contents ...
udn網路城邦
乾脆設個禁航區吧!
2020/05/22 16:13
瀏覽773
迴響0
推薦11
引用0

很多人會問我的軟體辨識一個車牌需要多少時間?這是不好回答的問題,因為牽涉到的變因很多,一般人可以理解的就是影像越大,畫素越多,當然需要較長時間。但其實因為我們不會預先知道車牌在影像中的確定位置,所以會先用前處理程序找到「可能」是車牌字元的目標。如果影像背景較為單純,「像是車牌字元」的目標越少,或是目標對比度高很清楚,很快就被找到,那需要評估搜尋的次數當然就越少,辨識速度也就越快了!

最近有個地磅站的案子,需要辨識的影像是1920X1080,比一般停車場的影像大,一般停車場用640X480的大小拍一輛車子,車牌就夠清楚了。加上背景有樹叢,在日間陽光耀眼時樹叢會形成很多綠色的亮點,工程車的車牌字元也都有綠色成分,而且常常比那些樹叢形成的亮點還要黯淡!所以就產生悲劇了!

如上圖,正常來說,即使影像是兩百萬畫素,我的辨識時間也不會超過500毫秒,但是這個案例雖然還是可以辨識正確,花掉的時間卻是正常時間的兩倍(989毫秒)!原因是我們一定會從對比強的目標找起,但是樹叢亮點們當然無法組織出合理的車牌,我因此必須在找到真的車牌之前花好多時間作無效的搜尋。

對於追求效率很瘋狂的我來說,這實在難以忍受!我試著發明了好多方法想要事先排除那些樹叢造成的假目標,但是都難免有副作用,讓少數真的車牌字元也被排除了!就是會誤殺善良百姓的意思。辨識正確當然是最優先必須作到的事情,其次才能考慮速度的問題,所以那些演算法只能紛紛棄用!

最後我失去耐心了,反正攝影機的位置,拍出來的畫面是固定的,樹叢一定就在那裏不會亂跑,所以就設計了一個「禁航區」的機制,可以劃定哪一個區塊絕對不會出現車牌,那個區域內是完全不作任何辨識的!就這樣直接讓辨識速度回到了正常的500毫秒以下!

這樣算不算作弊呢?仔細想想在實務上或許這種功能還是有必要的!在此例中我是為了節省辨識時間,跳過高雜訊的區域辨識,但如果背景中就是有一個告示牌上的某些字元組,怎麼看都比車牌更清楚,更像車牌!你的辨識系統又預設只辨識最清楚的那個車牌,那就會總是辨識到那個「假車牌」了!

當然,可以的話我們會設法請業主直接移除這種太容易誤認的目標物,但如果不能的話,就必須用軟體設定去忽略它了!這種功能先寫好備用也不錯!這是今天的研發進度,祝大家周末愉快了!

有誰推薦more

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