這學(xué)期的人工神經(jīng)網(wǎng)絡(luò)課程已經(jīng)進(jìn)行完了第三章內(nèi)容,關(guān)于經(jīng)典網(wǎng)絡(luò)重要的BP(誤差反向傳播網(wǎng)絡(luò))是所有學(xué)習(xí)人工神經(jīng)網(wǎng)絡(luò)最先接觸到的一個(gè)實(shí)用網(wǎng)絡(luò)。它的原理相對(duì)比較簡(jiǎn)單,在很多平臺(tái)中都非常容易實(shí)現(xiàn)。
學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的基本原理之后,更重要的是能夠通過一些應(yīng)用場(chǎng)合來應(yīng)用它,使他能夠幫助自己解決一些實(shí)際的工程問題。
近期購買到的 LC100-A[1] 電感電容測(cè)量模塊,用于測(cè)量一些實(shí)驗(yàn)中實(shí)驗(yàn)對(duì)象的電感、電容值隨著其他一些物理變量(工作電壓、距離、溫度等)所產(chǎn)生變化規(guī)律。為了便于實(shí)驗(yàn),需要能夠?qū)C100-A測(cè)量數(shù)值自動(dòng)記錄。
《《《 左右滑動(dòng)見更多 》》》
在開始的方式就是直接使用攝像頭獲取液晶顯示數(shù)據(jù),然后使用字符識(shí)別軟件來完成其中數(shù)字的識(shí)別。
測(cè)試一下CNOCR識(shí)別效果。它對(duì)于屏幕截圖中的文字識(shí)別效果還不錯(cuò):
▲ 屏幕截取的一段文字
識(shí)別時(shí)間:1.98。* 識(shí)別結(jié)果:
[[‘●’, ‘更’, ‘新’, ‘了’, ‘訓(xùn)’, ‘練’, ‘代’, ‘碼’, ‘,’, ‘使’, ‘用’, ‘m’, ‘x’, ‘n’, ‘e’, ‘t’, ‘的’, ‘r’, ‘e’, ‘c’, ‘o’, ‘r’, ‘d’, ‘i’, ‘o’, ‘首’, ‘先’, ‘把’, ‘?dāng)?shù)’, ‘據(jù)’, ‘轉(zhuǎn)’, ‘換’, ‘成’, ‘二’, ‘進(jìn)’, ‘制’, ‘格’, ‘式’, ‘,’, ‘提’, ‘升’, ‘后’, ‘續(xù)’, ‘的’], [‘訓(xùn)’, ‘練’, ‘效’, ‘率’, ‘。’, ‘訓(xùn)’, ‘練’, ‘時(shí)’, ‘支’, ‘持’, ‘對(duì)’, ‘圖’, ‘片’, ‘做’, ‘實(shí)’, ‘時(shí)’, ‘?dāng)?shù)’, ‘據(jù)’, ‘增’, ‘強(qiáng)’, ‘?!?‘也’, ‘加’, ‘入’, ‘了’, ‘更’, ‘多’, ‘可’, ‘傳’, ‘入’, ‘的’, ‘參’, ‘?dāng)?shù)’, ‘?!荩?[‘●’, ‘允’, ‘許’, ‘訓(xùn)’, ‘練’, ‘集’, ‘中’, ‘的’, ‘文’, ‘字’, ‘?dāng)?shù)’, ‘量’, ‘不’, ‘同’, ‘,’, ‘目’, ‘前’, ‘是’, ‘中’, ‘文’, ‘1’, ‘0’, ‘個(gè)’, ‘字’, ‘,’, ‘英’, ‘文’, ‘2’, ‘0’, ‘個(gè)’, ‘字’, ‘母’, ‘?!?, [‘?!?, ‘提’, ‘供’, ‘了’, ‘更’, ‘多’, ‘的’, ‘模’, ‘型’, ‘選’, ‘擇’, ‘,’, ‘允’, ‘許’, ‘大’, ‘家’, ‘按’, ‘需’, ‘訓(xùn)’, ‘練’, ‘多’, ‘種’, ‘不’, ‘同’, ‘大’, ‘小’, ‘的’, ‘識(shí)’, ‘別’, ‘?!?, ‘型’, ‘?!?, [‘●’, ‘ ’, ‘內(nèi)’, ‘置’, ‘了’, ‘各’, ‘種’, ‘訓(xùn)’, ‘練’, ‘好’, ‘的’, ‘模’, ‘型’, ‘,’, ‘最’, ‘小’, ‘的’, ‘?!?‘型’, ‘只’, ‘有’, ‘之’, ‘前’, ‘?!?, ‘型’, ‘的’, ‘1’, ‘/’, ‘5’, ‘大’, ‘小’, ‘?!?, ‘所’, ‘有’, ‘?!?, ‘型’, ‘都’, ‘可’, ‘免’, ‘費(fèi)’], [‘使’, ‘用’, ‘。’]]
那么對(duì)于前面液晶屏幕識(shí)別效果呢:
▲ 只是數(shù)字部分
識(shí)別結(jié)果:[[‘?!?, ‘?!?, ‘與’, ‘F’, ‘早’, ‘H’]]
好像驢唇不對(duì)馬嘴。
這主要原因還是原來網(wǎng)絡(luò)沒有針對(duì)上述液晶實(shí)現(xiàn)數(shù)字進(jìn)行訓(xùn)練過。由于液晶顯示圖片質(zhì)量非常好,實(shí)際上只需要最簡(jiǎn)單的BP網(wǎng)絡(luò)就可以達(dá)到很好的效果。
下面給出在MATLAB中構(gòu)建網(wǎng)絡(luò)并進(jìn)行實(shí)驗(yàn)的過程。
使用神經(jīng)網(wǎng)絡(luò)解決問題,一個(gè)重要的環(huán)節(jié)就是進(jìn)行訓(xùn)練數(shù)據(jù)的準(zhǔn)備。通過對(duì)采集到的一些圖片中的數(shù)字進(jìn)行提取并手工標(biāo)注,來完成對(duì)網(wǎng)絡(luò)的訓(xùn)練。
1.數(shù)字分割
下面是桌面攝像頭捕捉到的測(cè)量圖片,通過簡(jiǎn)單的圖片灰度投影,比較方便將顯示數(shù)字所在圖片中的位置定出。為了簡(jiǎn)單起見,也可以固定攝像頭與LCD相對(duì)位置,這樣手工定標(biāo)出結(jié)果字符位置也可以適用于后面測(cè)量結(jié)果。
▲ 液晶數(shù)字顯示以及數(shù)字部分
這個(gè)問題簡(jiǎn)單之處在于所有字符都是等寬,而且對(duì)比度非常好,簡(jiǎn)單的分離就可以將所有的字符單獨(dú)分離出來。由于攝像頭位置固定,所以簡(jiǎn)單分割之后的字符之后少量的上下左右平移,沒有旋轉(zhuǎn)。對(duì)于圖片位置、尺寸就不再進(jìn)行歸一化。這些差異最后有神經(jīng)網(wǎng)絡(luò)來彌補(bǔ)。
▲ 分割出的數(shù)字
液晶顯示字符的圖片對(duì)比度很好。但就是有一個(gè)問題,在攝像頭拍攝的時(shí)候,經(jīng)常會(huì)遇到字符變化過程,這就會(huì)使得圖片中字符呈現(xiàn)兩個(gè)字符疊加的情況。下面是一些示例:
▲ 數(shù)字變化過程的圖片
這些過程,說實(shí)在的,即使人工識(shí)別也會(huì)無法分辨。
后面通過人工輸入標(biāo)注了2000多個(gè)樣本。
2.圖片二值化
對(duì)于分割的圖片進(jìn)行二值化,可以消除環(huán)境光對(duì)于圖片亮度的影響。在一定程度上,也可以消除液晶字符在變化時(shí)所引起的模糊。
上面所有的字符的尺寸是23乘以38點(diǎn)陣。
1.構(gòu)建網(wǎng)絡(luò)和訓(xùn)練
簡(jiǎn)單的實(shí)驗(yàn),就用簡(jiǎn)單的方法。對(duì)于前面所得到的字符,不再人工定義它們的特征。僅僅將原來的彩色圖片變換成灰度圖像,然后排列成23×38=874維向量。然后增加一層中間隱層便組成了最簡(jiǎn)單的分類網(wǎng)絡(luò)。
net = patternnet(11)
▲ 構(gòu)造一個(gè)單隱層神經(jīng)網(wǎng)絡(luò)
將前面人工標(biāo)注的樣本一半用于訓(xùn)練,全部樣本用于測(cè)試。下面給出了測(cè)試的結(jié)果。
plotconfusion(xx, net(yy))
▲ 訓(xùn)練結(jié)果
2.訓(xùn)練結(jié)果與分析
整體的錯(cuò)誤率大約為:ERR= 2.99%。
下面是識(shí)別正確的字符。
▲ 識(shí)別正確的字符
下面給出了部分識(shí)別錯(cuò)誤字符的情況?;旧隙际且恍┡臄z到液晶字符在變化過程中的重疊字符情況。這些情況本身在人工標(biāo)注的時(shí)候就存在模糊。
《《《 左右滑動(dòng)見更多 》》》
3.網(wǎng)絡(luò)結(jié)構(gòu)與錯(cuò)誤率
下面給出了網(wǎng)絡(luò)的隱層節(jié)點(diǎn)個(gè)數(shù)與識(shí)別錯(cuò)誤樣本個(gè)數(shù)之間的關(guān)系??梢钥吹疆?dāng)中間隱層節(jié)點(diǎn)大于5之后,識(shí)別性能就不再有明顯的變化了。
隱層節(jié)點(diǎn)個(gè)數(shù)234567891011
錯(cuò)誤數(shù)量181065621677696665725868
▲ 隱層節(jié)點(diǎn)個(gè)數(shù)與錯(cuò)誤率
使用神經(jīng)網(wǎng)絡(luò)解決問題,不是尋找最強(qiáng)大的網(wǎng)絡(luò),而是需要最合適的網(wǎng)絡(luò)。
通過上面的測(cè)試結(jié)果來看,簡(jiǎn)單的單隱層網(wǎng)絡(luò)便可以很好的滿足液晶顯示數(shù)字識(shí)別。那么對(duì)于那些由于數(shù)字跳動(dòng)所引起的錯(cuò)誤該怎么處理呢?
這個(gè)問題如果僅僅依靠增加訓(xùn)練樣本和改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)是很難進(jìn)行徹底解決,規(guī)避這個(gè)錯(cuò)誤可以通過對(duì)連續(xù)識(shí)別結(jié)果進(jìn)行比對(duì)來解決。對(duì)顯示數(shù)字進(jìn)行連續(xù)快速采集5幀圖像,其中液晶跳動(dòng)往往只發(fā)生在其中一幀,或者兩幀。那么對(duì)于五個(gè)圖像識(shí)別出的數(shù)字進(jìn)行對(duì)比,找到相同次數(shù)最多的數(shù)字作為輸出結(jié)果。
責(zé)任編輯:haq
-
電容
+關(guān)注
關(guān)注
100文章
6096瀏覽量
151106 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4783瀏覽量
101239 -
BP神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
2文章
115瀏覽量
30615
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
BP網(wǎng)絡(luò)的基本概念和訓(xùn)練原理
BP神經(jīng)網(wǎng)絡(luò)樣本的獲取方法
BP神經(jīng)網(wǎng)絡(luò)最少要多少份樣本
BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)機(jī)制
BP神經(jīng)網(wǎng)絡(luò)在語言特征信號(hào)分類中的應(yīng)用
BP神經(jīng)網(wǎng)絡(luò)和人工神經(jīng)網(wǎng)絡(luò)的區(qū)別
BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)和訓(xùn)練過程
![<b class='flag-5'>BP</b>神經(jīng)<b class='flag-5'>網(wǎng)絡(luò)</b>的基本結(jié)構(gòu)和訓(xùn)練過程](https://file1.elecfans.com/web2/M00/FB/A4/wKgaomaOMoyAeFNiAACXB5oVBFo848.png)
評(píng)論