0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

簡單的BP網(wǎng)絡(luò)識別液晶字符

工程師 ? 來源:TsinghuaJoking ? 作者:TsinghuaJoking ? 2020-10-19 15:11 ? 次閱讀

這學(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ò)最先接觸到的一個實用網(wǎng)絡(luò)。它的原理相對比較簡單,在很多平臺中都非常容易實現(xiàn)。

學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的基本原理之后,更重要的是能夠通過一些應(yīng)用場合來應(yīng)用它,使他能夠幫助自己解決一些實際的工程問題。

近期購買到的 LC100-A[1] 電感電容測量模塊,用于測量一些實驗中實驗對象的電感、電容值隨著其他一些物理變量(工作電壓、距離、溫度等)所產(chǎn)生變化規(guī)律。為了便于實驗,需要能夠?qū)C100-A測量數(shù)值自動記錄。

《《《 左右滑動見更多 》》》

在開始的方式就是直接使用攝像頭獲取液晶顯示數(shù)據(jù),然后使用字符識別軟件來完成其中數(shù)字的識別。

測試一下CNOCR識別效果。它對于屏幕截圖中的文字識別效果還不錯:

▲ 屏幕截取的一段文字

識別時間:1.98。* 識別結(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)’, ‘練’, ‘時’, ‘支’, ‘持’, ‘對’, ‘圖’, ‘片’, ‘做’, ‘實’, ‘時’, ‘?dāng)?shù)’, ‘據(jù)’, ‘增’, ‘強’, ‘?!?‘也’, ‘加’, ‘入’, ‘了’, ‘更’, ‘多’, ‘可’, ‘傳’, ‘入’, ‘的’, ‘參’, ‘?dāng)?shù)’, ‘?!荩?[‘●’, ‘允’, ‘許’, ‘訓(xùn)’, ‘練’, ‘集’, ‘中’, ‘的’, ‘文’, ‘字’, ‘?dāng)?shù)’, ‘量’, ‘不’, ‘同’, ‘,’, ‘目’, ‘前’, ‘是’, ‘中’, ‘文’, ‘1’, ‘0’, ‘個’, ‘字’, ‘,’, ‘英’, ‘文’, ‘2’, ‘0’, ‘個’, ‘字’, ‘母’, ‘?!?, [‘?!?, ‘提’, ‘供’, ‘了’, ‘更’, ‘多’, ‘的’, ‘模’, ‘型’, ‘選’, ‘擇’, ‘,’, ‘允’, ‘許’, ‘大’, ‘家’, ‘按’, ‘需’, ‘訓(xùn)’, ‘練’, ‘多’, ‘種’, ‘不’, ‘同’, ‘大’, ‘小’, ‘的’, ‘識’, ‘別’, ‘?!?‘型’, ‘。’], [‘●’, ‘ ’, ‘內(nèi)’, ‘置’, ‘了’, ‘各’, ‘種’, ‘訓(xùn)’, ‘練’, ‘好’, ‘的’, ‘?!?, ‘型’, ‘,’, ‘最’, ‘小’, ‘的’, ‘模’, ‘型’, ‘只’, ‘有’, ‘之’, ‘前’, ‘?!?‘型’, ‘的’, ‘1’, ‘/’, ‘5’, ‘大’, ‘小’, ‘?!?, ‘所’, ‘有’, ‘模’, ‘型’, ‘都’, ‘可’, ‘免’, ‘費’], [‘使’, ‘用’, ‘?!荩?/p>

那么對于前面液晶屏幕識別效果呢:

▲ 只是數(shù)字部分

識別結(jié)果:[[‘?!?‘?!?, ‘與’, ‘F’, ‘早’, ‘H’]]

好像驢唇不對馬嘴。

這主要原因還是原來網(wǎng)絡(luò)沒有針對上述液晶實現(xiàn)數(shù)字進(jìn)行訓(xùn)練過。由于液晶顯示圖片質(zhì)量非常好,實際上只需要最簡單的BP網(wǎng)絡(luò)就可以達(dá)到很好的效果。

下面給出在MATLAB中構(gòu)建網(wǎng)絡(luò)并進(jìn)行實驗的過程。

使用神經(jīng)網(wǎng)絡(luò)解決問題,一個重要的環(huán)節(jié)就是進(jìn)行訓(xùn)練數(shù)據(jù)的準(zhǔn)備。通過對采集到的一些圖片中的數(shù)字進(jìn)行提取并手工標(biāo)注,來完成對網(wǎng)絡(luò)的訓(xùn)練。

1.數(shù)字分割

下面是桌面攝像頭捕捉到的測量圖片,通過簡單的圖片灰度投影,比較方便將顯示數(shù)字所在圖片中的位置定出。為了簡單起見,也可以固定攝像頭與LCD相對位置,這樣手工定標(biāo)出結(jié)果字符位置也可以適用于后面測量結(jié)果。

▲ 液晶數(shù)字顯示以及數(shù)字部分

這個問題簡單之處在于所有字符都是等寬,而且對比度非常好,簡單的分離就可以將所有的字符單獨分離出來。由于攝像頭位置固定,所以簡單分割之后的字符之后少量的上下左右平移,沒有旋轉(zhuǎn)。對于圖片位置、尺寸就不再進(jìn)行歸一化。這些差異最后有神經(jīng)網(wǎng)絡(luò)來彌補。

▲ 分割出的數(shù)字

液晶顯示字符的圖片對比度很好。但就是有一個問題,在攝像頭拍攝的時候,經(jīng)常會遇到字符變化過程,這就會使得圖片中字符呈現(xiàn)兩個字符疊加的情況。下面是一些示例:

▲ 數(shù)字變化過程的圖片

這些過程,說實在的,即使人工識別也會無法分辨。

后面通過人工輸入標(biāo)注了2000多個樣本。

2.圖片二值化

對于分割的圖片進(jìn)行二值化,可以消除環(huán)境光對于圖片亮度的影響。在一定程度上,也可以消除液晶字符在變化時所引起的模糊。

上面所有的字符的尺寸是23乘以38點陣。

1.構(gòu)建網(wǎng)絡(luò)和訓(xùn)練

簡單的實驗,就用簡單的方法。對于前面所得到的字符,不再人工定義它們的特征。僅僅將原來的彩色圖片變換成灰度圖像,然后排列成23×38=874維向量。然后增加一層中間隱層便組成了最簡單的分類網(wǎng)絡(luò)。

net = patternnet(11)

▲ 構(gòu)造一個單隱層神經(jīng)網(wǎng)絡(luò)

將前面人工標(biāo)注的樣本一半用于訓(xùn)練,全部樣本用于測試。下面給出了測試的結(jié)果。

plotconfusion(xx, net(yy))

▲ 訓(xùn)練結(jié)果

2.訓(xùn)練結(jié)果與分析

整體的錯誤率大約為:ERR= 2.99%。

下面是識別正確的字符。

▲ 識別正確的字符

下面給出了部分識別錯誤字符的情況?;旧隙际且恍┡臄z到液晶字符在變化過程中的重疊字符情況。這些情況本身在人工標(biāo)注的時候就存在模糊。

《《《 左右滑動見更多 》》》

3.網(wǎng)絡(luò)結(jié)構(gòu)與錯誤率

下面給出了網(wǎng)絡(luò)的隱層節(jié)點個數(shù)與識別錯誤樣本個數(shù)之間的關(guān)系。可以看到當(dāng)中間隱層節(jié)點大于5之后,識別性能就不再有明顯的變化了。

隱層節(jié)點個數(shù)234567891011

錯誤數(shù)量181065621677696665725868

▲ 隱層節(jié)點個數(shù)與錯誤率

使用神經(jīng)網(wǎng)絡(luò)解決問題,不是尋找最強大的網(wǎng)絡(luò),而是需要最合適的網(wǎng)絡(luò)。

通過上面的測試結(jié)果來看,簡單的單隱層網(wǎng)絡(luò)便可以很好的滿足液晶顯示數(shù)字識別。那么對于那些由于數(shù)字跳動所引起的錯誤該怎么處理呢?

這個問題如果僅僅依靠增加訓(xùn)練樣本和改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)是很難進(jìn)行徹底解決,規(guī)避這個錯誤可以通過對連續(xù)識別結(jié)果進(jìn)行比對來解決。對顯示數(shù)字進(jìn)行連續(xù)快速采集5幀圖像,其中液晶跳動往往只發(fā)生在其中一幀,或者兩幀。那么對于五個圖像識別出的數(shù)字進(jìn)行對比,找到相同次數(shù)最多的數(shù)字作為輸出結(jié)果。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    BP網(wǎng)絡(luò)的基本概念和訓(xùn)練原理

    )的多層前饋神經(jīng)網(wǎng)絡(luò)BP網(wǎng)絡(luò)自1985年提出以來,因其強大的學(xué)習(xí)和適應(yīng)能力,在機器學(xué)習(xí)、數(shù)據(jù)挖掘、模式識別等領(lǐng)域得到了廣泛應(yīng)用。以下將對BP
    的頭像 發(fā)表于 07-19 17:24 ?1750次閱讀

    BP神經(jīng)網(wǎng)絡(luò)樣本的獲取方法

    BP神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Network)是一種基于誤差反向傳播算法的多層前饋神經(jīng)網(wǎng)絡(luò),廣泛應(yīng)用于模式識別、分類、預(yù)測等領(lǐng)域。在構(gòu)建
    的頭像 發(fā)表于 07-11 10:50 ?644次閱讀

    BP神經(jīng)網(wǎng)絡(luò)最少要多少份樣本

    BP神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Network)是一種多層前饋神經(jīng)網(wǎng)絡(luò),通過反向傳播算法進(jìn)行訓(xùn)練。BP神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-11 10:31 ?688次閱讀

    BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)機制

    BP神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Network),即反向傳播神經(jīng)網(wǎng)絡(luò),是一種基于梯度下降算法的多層前饋神經(jīng)網(wǎng)絡(luò),其學(xué)習(xí)機制的核心在于通過反向傳播算法
    的頭像 發(fā)表于 07-10 15:49 ?676次閱讀

    BP神經(jīng)網(wǎng)絡(luò)在語言特征信號分類中的應(yīng)用

    隨著人工智能技術(shù)的飛速發(fā)展,語言特征信號分類作為語音識別、語種識別及語音情感分析等領(lǐng)域的重要基礎(chǔ),正逐漸受到研究者的廣泛關(guān)注。BP神經(jīng)網(wǎng)絡(luò)(Back Propagation Neura
    的頭像 發(fā)表于 07-10 15:44 ?440次閱讀

    BP神經(jīng)網(wǎng)絡(luò)和人工神經(jīng)網(wǎng)絡(luò)的區(qū)別

    BP神經(jīng)網(wǎng)絡(luò)和人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,簡稱ANNs)之間的關(guān)系與區(qū)別,是神經(jīng)網(wǎng)絡(luò)領(lǐng)域中一個基礎(chǔ)且重要的話題。本文將從定義、結(jié)構(gòu)、算法、應(yīng)用及
    的頭像 發(fā)表于 07-10 15:20 ?1202次閱讀

    BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)和訓(xùn)練過程

    BP神經(jīng)網(wǎng)絡(luò),全稱為反向傳播神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Network),是一種在機器學(xué)習(xí)、數(shù)據(jù)挖掘和模式識別等領(lǐng)域廣泛應(yīng)用的人工神經(jīng)
    的頭像 發(fā)表于 07-10 15:07 ?4918次閱讀
    <b class='flag-5'>BP</b>神經(jīng)<b class='flag-5'>網(wǎng)絡(luò)</b>的基本結(jié)構(gòu)和訓(xùn)練過程

    bp神經(jīng)網(wǎng)絡(luò)和反向傳播神經(jīng)網(wǎng)絡(luò)區(qū)別在哪

    神經(jīng)網(wǎng)絡(luò)在許多領(lǐng)域都有廣泛的應(yīng)用,如語音識別、圖像識別、自然語言處理等。然而,BP神經(jīng)網(wǎng)絡(luò)也存在一些問題,如容易陷入局部最優(yōu)解、訓(xùn)練時間長、
    的頭像 發(fā)表于 07-04 09:51 ?481次閱讀

    bp神經(jīng)網(wǎng)絡(luò)算法的基本流程包括哪些

    BP神經(jīng)網(wǎng)絡(luò)算法,即反向傳播神經(jīng)網(wǎng)絡(luò)算法,是一種常用的多層前饋神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法。它通過反向傳播誤差來調(diào)整網(wǎng)絡(luò)的權(quán)重和偏置,從而實現(xiàn)對輸入數(shù)據(jù)
    的頭像 發(fā)表于 07-04 09:47 ?702次閱讀

    bp神經(jīng)網(wǎng)絡(luò)算法過程包括

    BP神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Network)是一種多層前饋神經(jīng)網(wǎng)絡(luò),具有強大的非線性映射能力,廣泛應(yīng)用于模式識別、信號處理、預(yù)測等領(lǐng)域。本文將詳細(xì)介紹
    的頭像 發(fā)表于 07-04 09:45 ?512次閱讀

    反向傳播神經(jīng)網(wǎng)絡(luò)bp神經(jīng)網(wǎng)絡(luò)的區(qū)別

    神經(jīng)網(wǎng)絡(luò)在許多領(lǐng)域都有廣泛的應(yīng)用,如語音識別、圖像識別、自然語言處理等。然而,BP神經(jīng)網(wǎng)絡(luò)也存在一些問題,如容易陷入局部最優(yōu)解、訓(xùn)練時間長、
    的頭像 發(fā)表于 07-03 11:00 ?843次閱讀

    bp神經(jīng)網(wǎng)絡(luò)是深度神經(jīng)網(wǎng)絡(luò)

    BP神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Network)是一種常見的前饋神經(jīng)網(wǎng)絡(luò),它使用反向傳播算法來訓(xùn)練網(wǎng)絡(luò)。雖然BP
    的頭像 發(fā)表于 07-03 10:14 ?896次閱讀

    BP神經(jīng)網(wǎng)絡(luò)激活函數(shù)怎么選擇

    BP神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Network)是一種多層前饋神經(jīng)網(wǎng)絡(luò),其核心思想是通過反向傳播算法來調(diào)整網(wǎng)絡(luò)中的權(quán)重和偏置,以實現(xiàn)對輸入數(shù)據(jù)的分類或回歸。
    的頭像 發(fā)表于 07-03 10:02 ?753次閱讀

    bp神經(jīng)網(wǎng)絡(luò)模型怎么算預(yù)測值

    BP神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Network,簡稱BP網(wǎng)絡(luò))是一種多層前饋神經(jīng)網(wǎng)絡(luò),它通過反向傳播算法來調(diào)整
    的頭像 發(fā)表于 07-03 09:59 ?818次閱讀

    BP神經(jīng)網(wǎng)絡(luò)算法的基本流程包括

    BP神經(jīng)網(wǎng)絡(luò)算法,即反向傳播(Backpropagation)神經(jīng)網(wǎng)絡(luò)算法,是一種多層前饋神經(jīng)網(wǎng)絡(luò),通過反向傳播誤差來訓(xùn)練網(wǎng)絡(luò)權(quán)重。
    的頭像 發(fā)表于 07-03 09:52 ?549次閱讀