大家都知道JPG是目前一般影像最常用的檔案格式,但是多數人可能會納悶:如果JPG影像品質看起來不錯,檔案又很小,為什麼還需要那麼多其他的檔案格式呢?像是PNG?BMP?TIF或GIF?等等。關鍵在於JPG其實是高度「失真」的壓縮!在細節上,影像品質真的被降低劣化了!它的影像品質看起來不錯,只是針對討好人類視覺的弱點而已!如果你是像我一樣做影像辨識的人,就常常會因JPG造成的問題很吐血了!
如上的影像是我的軟體辨識路邊監視器的即時畫面得到的車牌影像,我的軟體在現場毫無困難的辨識出這個車牌也「存檔」存證了!但是基於磁碟空間的考量,當然是把影像存成JPG格式了!大家不知道或不在意的是:其實JPG壓縮是會把影像細節變模糊的!
所以啦!當我事後想研究這個影像時,發現我用一樣的辨識核心程式,卻無法正確辨識這個「JPG檔案」?在現場的即時影像7這個字元是不會跟車牌邊沾連的!但是當你用JPG壓縮之後,影像細節變得模糊了,7字就跟背景沾連了!我的程式就必須啟動其他的補救措施了!或許可以成功,或許不行!
所以我早已習慣,事後驗證時辨識正確率一定會低於現場辨識!因為現場我辨識的是第一線最直接,從螢幕拷貝來的未壓縮原始影像,事後的辨識研究呢?影像其實已經被JPG壓縮毀掉很多細節了!而我的車牌辨識就是要辨識細節的字元筆畫啊?我讀出磁碟的JPG檔案事實上是比現場辨識的影像品質差很多的!
但是也好!較模糊的影像本來就可能自然發生,譬如攝影機失焦等因素。如果我面對事後已經被JPG損毀的影像可以設計出各種演算法加以補救,表示當我真的面對較模糊影像時,辨識能力也會提升了!有點像是在腳上綁鉛塊或沙袋來練輕功一樣的意思!
所以很搞笑的!如果你用我的道路車牌辨識軟體,現場錄一段影片,同步用我的軟體辨識車牌,目視辨識(回放影片隨時停格看清楚)有一百輛車,我的現場辨識正確率是90%,辨識到的車子(不論答案對錯)也都留存JPG檔案的影像。事後我用那些留存JPG檔案再次跑程式辨識時,一定會有很多辨識失敗不正確!原因就是JPG把影像搞壞變模糊了!
也因此我總是建議客戶盡量買我的「動態」辨識軟體!就是即時拷貝電腦螢幕進行辨識的軟體,尤其是實際影像快速易模糊時更是如此!因為等到你存檔成JPG之後再拿我的「靜態」辨識軟體辨識,那就是揮劍自宮之後還想大展雄風一樣,很艱難的!
那些不得已必須使用我的辨識引擎軟體辨識靜態影像的客戶呢?如果影像都夠清晰,解析度夠大就沒差,如果解析度低較模糊難辨識的影像,我都會建議不要存成JPG,理想的方案是PNG!BMP或GIF也可以,但是檔案空間會比PNG大很多。即使如此,PNG還是比JPG大好幾倍!客戶要不要聽?還是不一定!
我的動態軟體辨識目標都是以拷貝螢幕為主,這件事讓很多半吊子的客戶質疑很多年,困擾我很久了!但是考量所有現實狀況,我始終知道也堅持這是最好的方案!
如果「不」拷貝螢幕取得辨識標的,其他方式是甚麼呢?一是直接從攝影機取得影像!但是攝影機不是靈活到可以程式控制的電腦,你問他要一張影像,它通常只會回應一張已經壓縮的JPG檔案!即使是可以回應PNG檔案好了,也是壓縮過的影像,還是不如直接傳到電腦螢幕的影像更清晰原始!
當然另一個管道就是手拍相機,或手機拍照存下的影像檔案了!當然也都是被壓縮損毀後的JPG啦!所以不要再質疑我「拷貝螢幕」是偷懶不專業的方案了!即使你可以從攝影機直接取得原始未壓縮的影像,也必須要超高效率的網路與硬體設備配合的!我的方案是最簡單便宜也高效率的,不要再吵了!
限會員,要發表迴響,請先登入