用大津法進行omr識別

這是前年年底我做過的一個項目,項目中我用到了大津法來處理omr識別的自動閾值問題,經過測試,該算法可以對不規範的塗寫答題卡進行高效識別(比如以打對勾進行塗寫的),而且是僅僅是幾十行代碼就實現了這樣的功能。

看如果對如下這樣的調查問卷進行識別:


在用大津法之前會有很多圖像預處理及複雜的識別過程,這裏略去,感興趣的讀者可以參看相關的文章。

我們這裏假設成功的完成以上的步驟,成功的分割了卡片,分離出若干的基於二值或者灰度的答題框(這裏,爲表達方便,對答題框簡寫爲CM,下文將均採用CM來代表分離出的答題框位圖),如下:


塗了的CM,黑像素的比率自然就大些,我們下面要做的就是要在這些若干個CM中選出塗改了的CM。這裏先簡單介紹一下大津法。

大津法是由日本學者大津(Nobuyuki Otsu)1979年提出的,是一種自適應的閾值確定的方法,又叫最大類間方差法,簡稱OTSU。它是用來對圖像閾值化的。我們說大津法實際上是對集合的一個二分類,大津法是作用於某覆範空間M,如果M有進行二分類的需求。可以用大津法進行集合的兩分類。

再回到omr識別上來,像素比率是實數域上的覆範空間,定義範數爲其絕對值,而且我們這裏的識別是否塗寫就是二分類(塗寫了和沒有塗寫),所以說完全的符合大津法的要求。

我們簡述一下大津法的過程:

對於圖像I(x,y),塗改的和未塗改的黑像素比率的分割閾值記作,屬於已經塗寫的CM個數佔CM的總數比例記爲,其平均黑像素比率;未塗寫的CM個數佔CM的總數的比例爲,其平均黑像素比率爲。圖像的總平均黑像素比率記爲,類間方差記爲

圖像的大小爲,圖像中黑像素比率大於閾值CM個數記作,黑像素比率小於閾值CM個數記作,則有:


將式(1.5)代入式(1.6),得到等價公式:


採用遍歷的方法得到使類間方差最大的閾值,即爲所求。

我們對答題卡塗寫一般是用2B鉛筆全塗(要儘可能的適用於不規範的情況),對調查問卷則可能打對勾等,我們要適用於各種情況,所以絕不能用固定閾值來處理。大津法恰恰能動態的對目標和背景進行區分,最大限度的保證它的穩定性。



參考資料:

[1] 大津法原理 

發佈了31 篇原創文章 · 獲贊 57 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章