Contents ...
udn網路城邦
為何我的動態辨識軟體比靜態辨識更準確!
2025/01/16 09:43
瀏覽578
迴響0
推薦6
引用0

我賣的車牌辨識軟體分為動態靜態兩種,動態軟體基本上就是連續拷貝螢幕上呈現的畫面做辨識。如果不考慮其他的動作,連續拷貝螢幕的頻率可以高達每秒三十多次,隨著顯示卡的效能提升還可以更快!但即使是面對高速行駛中的車輛,每秒辨識約20次就不太會漏車了!所以我的道路版車牌辨識軟體就是善用多核心電腦的平行運算能力,設定盡量達到每秒辨識20次以上的標準,而且效率很高完全不必使用到GPU幫忙算的!

這種螢幕拷貝是從記憶體中的整塊影像拷貝後,直接呼叫我的辨識核心做辨識的,沒有經過任何磁碟存檔或讀檔的動作,所以速度很快,也可以完全保持螢幕上呈現的解析度!但是所謂的「靜態」辨識軟體則是由客戶自行取得影像「存檔」之後,再呼叫我的軟體去讀取該磁碟檔案來做辨識的!

感覺上兩者好像辨識結果應該會完全一樣?但其實因為原始影像的資料量太大,需要存檔或經過網路傳遞時,幾乎一定會先以JPG格式壓縮之後再存檔或傳送!很不幸的,壓縮效率很高的JPG壓縮,同時也是會讓影像失真的殺手!會使需要完整細節資料的影像辨識品質降低!

如上的極端例子就可以充分說明這個現象!車牌角度斜成這樣,我當然希望影像越清晰越好,可能再差一兩個畫素的準度就無法辨識了!但是JPG壓縮是以人眼看得「自然」的前提來減少資料密度的!犧牲最大的就是眼睛看不到,但是影像辨識很需要的細節解析度,還會因為壓縮的處理過程產生很多原圖沒有的波紋雜訊!如果你曾嘗試將JPG影像放得很大就會看到這些雜訊!上圖的放大影像就很明顯!

所以如果上圖取得原始影像之後不做壓縮,或使用不會犧牲空間解析度的PNGGIF格式,都不會這樣變得模糊高雜訊,但壓縮比就不如JPG那麼好!檔案比較大啦!但是在需要較高解析度的模糊困難狀況下辨識率會提高!大家可以看到雖然上例我辨識成功了,但是過程很驚險,其實都是JPG害的!如果是PNG檔案要辨識成功把握度就會高很多!

所以通常我都比較建議客戶買我的動態軟體,如果你的電腦螢幕上有個影像,用我的動態軟體原本可以辨識的,你手動拷貝螢幕後傳個JPG檔案給我,可能就差那麼一點解析度與多一點的雜訊變成無法辨識了!這也常常造成我與客戶之間的溝通障礙!JPG影像其實已經不是原圖了!不像RAR壓縮可以完全復原。

現在我的高技術客戶變多了,故事情節又有些不同了!他們自己就可以寫程式製作他們需要的軟體,他們只需要我辨識力較佳的辨識核心而已,所以我也開始賣辨識核心的DLL檔案了!只要將我的DLL匯入他們的專案,就可以寫程式直接將取得的影像物件(Bitmap)丟進我的函數,車牌答案就出來了!應該也可以避免JPG壓縮造成的問題!

總之任何方式取得的原始影像一經過JPG壓縮就會降低品質,也間接降低影像辨識的成功率!這是一個必須注意到的影像辨識小科普知識!但是這種降低解析的傷害還遠遠不如CNN的處理程序CNN中所謂的Convolution其實就是一個直接降低解析度的運算!

所以如下的特徵矩陣運算或許可以找到你要的特徵,但該特徵的位置精度就變差了!產生的Feature Map一定比原圖粗糙很多,不確定性變高!也導致後續要精準辨識是甚麼字的時候會很麻煩!必須回頭找到未失真的原圖高解析的資訊做後續處理!所以他們鎖定目標是沒問題,要完成辨識時卻大有問題

影像辨識的辨識率要高,終究是必須依賴精準的資料與演算程序的!但是MLDLCNN其實都是統計學概念衍生出來的技術,他們先天上就不是追求精準的技術,用這些技術做影像辨識?真的是請鬼拿藥單了!不可能會有好結果的!除非你對影像辨識的需要只是「隨便看看」不準也沒關係的!即使如此,這些技術的產品還特別貴,也沒有必要使用它們的!

有誰推薦more

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