1. 程式人生 > >關於手寫數字識別的一些調研

關於手寫數字識別的一些調研

    手寫數字識別,現在算是個比較成熟的應用,最初以為其是SDAE成功應用的一個領域,所以就仔細看了看,發現不是這麼回事,現將最近看的整理如下:

    手寫數字識別中識別方法現在流行的有3種:人工神經網路(ANN)、支援向量機(SVM)、隱馬爾科夫模型(HMM)。使用人工神經神經網路時,將特徵向量做為輸入,利用的是整個網路的“自學習”和“記憶”的功能。【注】並不使用上述3種方法進行特徵提取,僅僅是完成特徵分類。

除了上述3種,還有基於統計結構特徵的方法和基於結構特徵的方法。這些方法都對應於具體的特徵提取的方法,其特徵的設計和提取都是針對手寫數字的特有屬性。

    常用的數字識別系統:原始影象採集>預處理>特徵提取>分類識別>判別處理得結果

    預處理包括:濾波去噪、二值化、字元切分、影象校正、歸一化處理。特徵提取包括:筆畫、拓撲點、投影形狀等等,得到降維後的特徵空間。 分類識別,一般有基於神經網路的方法和基於模板匹配的方法。考慮到神經網路更能容忍字元形變、噪聲的特點,可將提取的特徵作為已訓練好的神經網路的輸入進行分類識別。判別處理,一般是系統對於是被結果進行分析,如果不能接受則需進行下一步調整工作,以達到最好的識別結果。

    其中,用神經網路進行分類識別,只是用了簡單的3層BP網路,網路設定:輸入神經元個數與特徵總維數等,輸出神經元個數為10個神經元(因為要分成10個類別),中間隱層單元個數可以任意調整,有一條經驗取值是:隱層神經元個數 約= sqrt(輸入神經元個數+輸出神經元個數)。

    以上資料多數內容參考:2012 南昌大學 胡迪雨 手寫數字識別方法的應用及研究

    更新:最近在學習CRBM(分類的玻爾茲曼機)時發現,其可以直接對預處理後的手寫數字完成特徵提取和分類識別的兩個過程(圖1:隱層學習的數字影象的特徵表示)。其中還涉及到直接對含噪音的數字影象通過神經網路的方式去噪,一改利用傳統的中值濾波、高斯濾波等去噪的方法,實驗效果還不錯(圖2:去噪結果)。

   

更多關於CRBM的內容請見文章“Classification using Discriminative Restricted Boltzmann Machines”.

對於CRBM就暫時這樣一筆帶過,後期做些實驗後會有更詳細的針對CRBM的分析。也請大神們,提供相應的好的學習資料,拜謝。