Contents ...
udn網路城邦
JPG壓縮是影像辨識的殺手,給你看個具體例子!
2025/12/07 03:39
瀏覽267
迴響0
推薦11
引用0

影像的原始未壓縮格式是BMP,但是資料量龐大通常是一定會壓縮之後再存檔的!最常見常用的壓縮格式就是JPG了!JPG的壓縮原理摘要如下:

重點在於其中的離散餘弦變換(DCT)的過程,也稱為傅立葉轉換,就是用圓滑的三角函數曲線來描述取代顏色亮度的空間變化,用白話文說就是:會讓原本是明確轉折的亮暗變化變成圓滑的曲線!輪廓是會變得較模糊且扭曲的!

所以如上圖的8702-F7的那個車牌細看就會覺得怪怪的?為何08字內部應該均勻的白色區域會出現異常的較暗灰色區塊?每個字的外圍輪廓也會有反白變得特別亮的狀況?這就是所謂的「失真」了!影像經過壓縮之後再解壓縮呈現時已經無法完全正確的復原了!

這些因為壓縮過程產生的異常就是所謂的「假資訊」!對於影像辨識來說就是無端生成的「雜訊」!嚴重時就會讓辨識結果錯誤了!所以JPG雖然可以大比例的壓縮圖片,也可以讓人眼視覺傾向平滑處理的慣性不會覺得刺眼違和,但是對於需要最精準資訊的影像辨識來說,就是很負面的資料處理方式了!

同時間,上圖下方的8V-8200那個車牌影像是用PNG格式壓縮的!解壓縮後再呈現的影像就不會有JPG壓縮產生的雜訊了!所以如果客戶需要辨識的原始影像必須先存檔再辨識的話,我都會告訴他們這個差異!如果不是儲存空間的壓力太大,最好是選擇用PNG,避免用JPG

我的動態車牌辨識軟體都是從螢幕上拷貝影像來辨識的!可以說是從攝影機端傳來未做JPGPNG壓縮的較原始影像,辨識準確度是較高的!確認找到車牌的單一影像就會以JPG壓縮格式存成影像檔,之後再讀出來做單張辨識時常常與原始的辨識結果略有不同,原因就是JPG壓縮讓影像失真了!

事實上我所知道的更底層影像取得機制是:一般IPCAM攝影機會每秒拍攝約十幾張的完整單一影像,就像照相機一樣!以此最精準原始的影像資料為基礎,在攝影機內部就做了串流影像的壓縮,再將此串流資料流輸出攝影機!所以此時的資料就已經略為失真了!經過電腦的顯示卡解串流呈現在螢幕上的影像,真實度還是不如攝影機內取得的那十幾張True Frame的!

所以最嚴謹高精確的影像辨識,當然是盡可能使用未經任何壓縮處理的最原始影像!但是我們一般人只能經過便宜的攝影機或手機拍照取得影像,通常無法太干涉硬體預設的資料壓縮過程的!我做影像辨識生意也就只能配合成本考量,客戶有甚麼資料就盡量幫他們辨識了!如果因資料失真產生錯誤,也只能無奈解釋是非戰之罪了!資料不準確,辨識技術再好也可能錯的!

有誰推薦more

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