Contents ...
udn網路城邦
模糊辨識不容易啊!怕頭痛的別看!
2017/10/12 07:00
瀏覽724
迴響0
推薦7
引用0

最近在作的這個考卷辨識專案真的整死人了!終於大致搞定,想將後續的調整測試工作請RD幫忙,光是解說所有的辨識流程就花了超過一小時,講到需要下課休息十分鐘再戰!她還是非常熟悉本們武功的高手咧!要是當正課來上,不是要上幾個禮拜才上得完?抱怨歸抱怨,但是只要能作出來,其實還是蠻高興的!

讓大家欣賞一下漫畫,首先是原始的灰階影像,因為是測試嘛!有點惡搞的意味,後面50題有刻意亂畫,演算法就必須盡量克服各種人為或環境造成的影像模糊,努力追上人眼加上大腦的判斷囉!

二值化就是將圖簡化為黑白兩色,希望目標變成黑的,背景變成白色,考慮到拍照時的光線與印刷顏色的變化,這就是很難的步驟了!絕對不是選擇一個亮度門檻值,以上為白色,以下為黑色就搞定的!門檻值在全圖上都是動態變化的,暗區要低一點,亮區要高一點,才會變成下面的圖:

接下來就是盡量辨識出互不相連的目標!這個過程為了篩選掉塗選框格子以外的雜訊,大小形狀的限制是比較嚴格的,所以很多被塗黑的目標反而被篩選掉了!有些非塗選框的中文字因為是方形的,又會被抓進來,結果就是蠻亂的!如下圖:

前面這些動作,對於已經作了好多年影像辨識的我來說,算是基本動作,不太難的!真正困難的工作現在才開始。我的目標是:100個題目500個答案塗選框畫出街道圖,就是它們分布的經緯線啦!先找出比較整齊的水平線,就是穿過最多目標的Y值們,這些算是「緯線」,接著依此將各個目標分類,看它們屬於第幾個橫列?

在此,「緯線」可以勉強視為互相平行的水平線,「經線」可就不行了!因為拍照角度讓它們變成上窄下寬的梯形了!怎麼辦?事實上是要先找到整個答案格分布區的左右邊線,其他的線就要用內插的,這部分的數學過程很類似地理學的座標轉換,好家在!我是作海洋測量的專家,這個我會!

簡單說,就是直角坐標要和一組上窄下寬的座標互相轉換,因為每一個格子的「X」座標如果用畫素(直角坐標)計算就無法歸類為20個欄位,必須轉換成以答案區邊線為基準的相對座標系統,譬如第六個欄位的格子都在答案區的左邊算來30%的位置附近等等。更詳細的作法就只說給要來我的公司上班的人聽了!

經緯線搞定了才算作到一半!接下來我們要以此為依據,精確地替所有的格子,包括被塗到變形而被篩選掉的目標定位。如果某兩條經緯線交會處沒有目標(塗選框)我們就「作出一個」標準大小的目標給他!補齊目標之後看起來就很美麗了!

最後當然是要辨識哪個格子有被塗選啦!表面上就是計算目標區內的黑點數,黑點覆蓋率高的就是被塗選了!但是覆蓋多少才算是「塗選」了呢?這是需要作統計的!因為即使是空的格子裡面也有ABC的文字,不是全白的哦!而且有些塗選並未真的塗得很滿,我們還是希望盡量可以辨識它們「被塗過了!

不騙你!要讓電腦的判斷接近你的視覺判斷很不容易的!甚至必須對每個目標重作一次二值化!目前我的演算法除了對只是打勾的選取方式無法辨識,多數隨便畫幾筆的塗選也能被辨認出來。最後一張圖就像這樣!剩下的工作只是整理哪個格子屬於哪一題等等,算是簡單的部分,就不多說了!

這樣介紹大家對於專業的影像辨識工作應該有點感覺了吧?仔細分析起來真的很多工作,還必須隨機應變,沒有太多套公式就能搞定的程序,如果不能掌握好每一個案例的特性,只知道照著課本或論文的說法去作,你幾乎每次都會失敗!就是辨識成功率很低的意思!像這類的案子,如果最終產品正常拍攝後辨識成功率不到九成就會被嫌,不到八成就會被退貨了!

有誰推薦more

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