淺談圖片檢測用於影像辨識,反光與模糊偵測

模糊與反光偵測

正所謂Garbage in Garbage Out,透過影像的模糊檢測與反光檢測,可以提升OCR的辨識效果,在使用者上傳過於模糊或反光的照片提醒使用者重新上傳圖片.

服用情境

通常我們在拍照的的時候最怕的就是拍了很糊或是反光的照片,這樣的照片失去觀看的意義,目前也很多研究是在做這方面的優化還原原本的照片.而當這種情況發生在要進行文字辨識的時候更為重要,現今很多狀況是透過手機對需要辨識的紙本進行拍照後做OCR(Optical Character Recognition),所以當發生這樣的情形考驗的就是OCR服務商的功力!

第一種狀況就是OCR辨識引擎是很強大的,可以處理模糊與反光,這種狀況下,可以減少對前端的依賴,通常就像人眼一樣,看一個模糊或反光的東西可以盡可能去猜測,而當圖片模糊反光到一個很大的程度就很難可以正確看出,同理機器也是一樣即便透過AI技術,底層還是需要進行圖像的優化處理,這時候就是考驗影像處理的功力,好的OCR辨識引擎會透過影像技術盡可能處理雜訊提取辨識目標,不過就像上述說的當圖片被破壞到一個程度的時候,就很難看出.

第二種狀況則是在使用者上傳圖片,就進行檢測,避免雜訊的輸入,降低辨識引擎的負擔,這樣的狀況又可以分為在前端直接偵測或是放到後端服務器進行偵測,所謂的前端就是在瀏覽器或是APP上進行檢測,後端則是放在Server進行處理,且又可以分為透過AI Deep Learning 或是傳統影像處理方式,這沒有好壞實務上也可以互相搭配,今天介紹的主要是放置在後端透過基礎影像方式進行圖片檢測,好處是不需要大量樣本進行訓練速度較快.

反光與模糊算法

相關的論文說多也不多說少也不少,手法繁多!僅說明一下T編知道有應用的.

模糊的基礎原理大概就是基於圖片的一些特徵如像素、灰度…等,然後採用傅立葉轉換、拉普拉斯計算等,都有人嘗試.

反光的基礎原理基本上也跟模糊差不多,做影像分析的基本上就是透過影像轉換成原始灰階等開始進行特徵尋找.

實際應用

這是一張模糊的圖片,並且在左上角比較亮,我們姑且把他認為是反光.

反光模糊測試圖片1
反光模糊測試圖片1

進行模糊偵測

偵測到模糊照片
偵測到模糊照片

進行反光偵測

偵測到反光照片1
偵測到反光照片1
反光模糊測試圖片2
反光模糊測試圖片2

進行模糊偵測

偵測到非模糊照片
偵測到非模糊照片

進行反光偵測

偵測到反光照片2
偵測到反光照片2

結論

透過上述的測試,可以看得出來,我們可以快速的偵測圖片是否過於模糊不利於辨識,提醒使用者可以重新上傳圖片,另外則是反光的部分,通常一張圖片的品質應該是非常均勻明暗度也是很平均,若差異過大就有可能是有反光,所以可以看到上述範例是將受試圖片中較亮的地方圈出提示,透過這樣可以判斷圖片是否過曝.

但是各位都知道透過影像處理方式會需要控制閥值,通常利用分數有沒過閥值決定受試照片是否模糊或反光,這部分就需要看應用場景適時去做調整,另外其實也可以用AI Deep Learning 方式進行,但就需要收集足夠的樣本以及良好的分類與標記,好處是目前也可以將輕量模型放置於前端網頁上(有機會T編再與各位分享如何將做好的模型放置於Web直接應用),就不一定要使用APP或是送到服務器進行判讀,降低圖片傳送時間.

以上就是淺談一下影像的偵測,事實上這樣的應用還可以包含圖片邊緣檢測、裁切、增強等,可以用於手機APP或後端服務器上.

ps上述受試圖片取至於網路

Loading

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *