
這是用我的車載車牌辨識軟體,深夜時分在某路口監視器畫面中抓到的一個工程車的車牌照片。看起來就只是拍到了「一張」車牌照片而已,但是幕後的複雜工作是一般人很難想像的!看看這個案例背後的原始資料紀錄就知道了:

就是這輛車經過畫面的一個事件而已!從02:53:06.00到02:53:07.10只是1.1秒的時間內,我的軟體就完成了19次的車牌辨識!時序是由下而上的,最後一個欄位表示車牌字元的高度,從遠處的17畫素高到近處的29畫素,車牌越來越大!看車牌在畫面中的Y值位置也可以看出,Y越大表示越在畫面下方,也就是較近距離的位置!
所以僅僅是單一車次的辨識,其實幕後就有這麼大量的辨識工作!因為我們不能控制車牌是不是在好辨識的理想位置,所以就是盡量多抓畫面盡量多辨識,我們也知道未必每個辨識結果都會很理想正確,所以這些原始資料不會直接輸出見人,而是要經過動態的資料統計!
以此例來說,大家可以看到最終輸出的那張影像車牌字元高是19畫素,Y值位置大約是在418,估計就是原始辨識資料中被標記反白的那一個辨識結果!換言之,第一次得到其實已經是正確的KLM-2539車號時,不會馬上確定輸出,我會考慮資料是不是有重複出現?當然也會參考符合度是否夠高?
所以這19次辨識到大約第三到第五次之間時就已經被我的幕後AI確認,將當時的那張影像從記憶體存到實體的磁碟,變成正式的檔案紀錄了!在這之後我不知道會不會有其他車輛出現,當然會繼續辨識!也會繼續辨識到同一車號!此時就是要比對稍早確認的車號,譬如30秒鐘之內該車不可能繞過路口再出現一次,所以之後的14次KLM-2539辨識結果如果時間太近就會被忽略了!
以有辨識結果的19次除以1.1秒就是17.2Hz了,大致上就是我的每秒辨識頻率!通常我會控制這種道路車牌辨識軟體的辨識頻率在20Hz以上,如果沒這麼快就會頻頻漏掉快速通過的車輛了!但是當然不是每一張都有辨識結果的,而且在真的有車牌出現時運算量會稍大,辨識頻率就會略降幾個Hz,17.2就算是正常狀態了!
20Hz就是一秒辨識20次,平均每次辨識時間就是1/20=0.05秒,也就是50毫秒,我的百萬畫素影像全景辨識當然沒那麼快,以此例來說是一兩百個毫秒,那就是要靠多核心電腦的平行運算了!以我的辨識核心效率其實只需要四個核心就可以達標了!對於動輒八核心以上的現在電腦CPU來說運算負荷量很低的!所以當然完全不必GPU來幫忙!客戶就省很大了!輝達抱歉了!
所以說一將功成萬骨枯,表面上簡單的辨識結果,幕後卻是龐大忙碌的大工廠製造出來的!越是複雜的東西就越會有很多衝突出錯的可能,這些道路版的動態軟體要做到長時間運轉都不會當機?就已經是一件偉大的研發成果了!長時間在電腦前守候,等待軟體當機來找到故障點加以處理修復,非常辛苦的!
再看看此例中我的19次辨識是百分之百都全對的!這就是我的辨識核心非常強悍的意思!即使距離較遠較模糊的目標依然可以正確辨識!原始辨識率越高當然整體辨識率就越高,確認目標的速度越快!使用者的感覺就是我的軟體很靈敏,也很「積極」了!
限會員,要發表迴響,請先登入




