国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于筆跡坐標(biāo)序列的手寫(xiě)識(shí)別方法與流程

      文檔序號(hào):11134604閱讀:944來(lái)源:國(guó)知局
      基于筆跡坐標(biāo)序列的手寫(xiě)識(shí)別方法與制造工藝

      本發(fā)明涉及手寫(xiě)識(shí)別領(lǐng)域,尤其涉及一種針對(duì)手寫(xiě)輸入筆跡的時(shí)間序列的手寫(xiě)識(shí)別方法。



      背景技術(shù):

      手寫(xiě)識(shí)別(Hand Writing Recognition)是指在手寫(xiě)設(shè)備上對(duì)手寫(xiě)的有序軌跡進(jìn)行識(shí)別,轉(zhuǎn)化為有效的文字信息的過(guò)程。隨著移動(dòng)設(shè)備,智能設(shè)備的普及,手寫(xiě)輸入作為人機(jī)交互最有效的手段之一,正被越來(lái)越大規(guī)模的使用。

      目前,手寫(xiě)輸入識(shí)別算法類(lèi)似于手勢(shì)識(shí)別算法。它針對(duì)手寫(xiě)設(shè)備的輸入進(jìn)行采樣,將手寫(xiě)軌跡轉(zhuǎn)換為有序向量集合,然后過(guò)濾噪聲,對(duì)有序向量集合進(jìn)行分類(lèi)。對(duì)于英文等字母,由于單個(gè)字符較為簡(jiǎn)單,識(shí)別率較高。而對(duì)于漢字等筆跡較為復(fù)雜的字符,通過(guò)向量集合進(jìn)行分類(lèi)的錯(cuò)誤率仍然較高。另外,K聚類(lèi)分析,貝葉斯分類(lèi),卷積神經(jīng)網(wǎng)絡(luò)等識(shí)別算法也在手寫(xiě)識(shí)別領(lǐng)域大規(guī)模運(yùn)用,它們都通過(guò)提取手寫(xiě)文字的結(jié)構(gòu)特征信息進(jìn)行文字識(shí)別。

      然而現(xiàn)有的通過(guò)結(jié)構(gòu)特征信息進(jìn)行文字識(shí)別的算法,會(huì)忽略手寫(xiě)過(guò)程中筆跡坐標(biāo)序列的時(shí)間特性,而缺失的時(shí)間特性中實(shí)際包含有大量的手寫(xiě)識(shí)別特征。

      本發(fā)明針對(duì)手寫(xiě)過(guò)程中的筆跡坐標(biāo)的時(shí)間序列進(jìn)行分析,提取出用戶(hù)手寫(xiě)筆跡的時(shí)間信息,識(shí)別結(jié)果貼合用戶(hù)手寫(xiě)速度習(xí)慣,提高識(shí)別率。本發(fā)明采用的方法可以在手寫(xiě)過(guò)程中進(jìn)行識(shí)別,記錄用戶(hù)筆跡書(shū)寫(xiě)時(shí)間上的特征,具有反饋學(xué)習(xí)能力,經(jīng)過(guò)大量訓(xùn)練后可以形成專(zhuān)屬于個(gè)人手寫(xiě)習(xí)慣的識(shí)別模型。在實(shí)際運(yùn)用中可以先行采集大量手寫(xiě)筆跡序列的數(shù)據(jù),使得識(shí)別更具普適性,識(shí)別率更高。



      技術(shù)實(shí)現(xiàn)要素:

      發(fā)明目的:本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)無(wú)法充分利用手寫(xiě)過(guò)程中的時(shí)間特征,無(wú)法在手寫(xiě)過(guò)程中進(jìn)行文字識(shí)別的不足,提供一種對(duì)手寫(xiě)輸入筆跡坐標(biāo)的時(shí)間序列進(jìn)行識(shí)別的方法。

      技術(shù)方案:本發(fā)明提供了一種對(duì)手寫(xiě)輸入的筆跡坐標(biāo)序列進(jìn)行識(shí)別的方法。本方法先對(duì)手寫(xiě)輸入設(shè)備進(jìn)行初始化,然后通過(guò)產(chǎn)品生產(chǎn)過(guò)程中的監(jiān)督訓(xùn)練階段完對(duì)手寫(xiě)筆跡的監(jiān)督訓(xùn)練,最后在實(shí)際使用階段完成對(duì)用戶(hù)手寫(xiě)筆跡的識(shí)別。

      第1步,初始化。根據(jù)待識(shí)別文字范圍選擇相應(yīng)的文字編碼方式,根據(jù)手寫(xiě)輸入設(shè)備的分辨率設(shè)置筆跡坐標(biāo)范圍,并設(shè)定手寫(xiě)輸入設(shè)備輸入?yún)^(qū)域的左下角為原點(diǎn),手寫(xiě)輸入設(shè)備輸入坐標(biāo)的區(qū)域?yàn)閺脑c(diǎn)向右延伸X個(gè)像素、從原點(diǎn)向上延伸Y個(gè)像素的矩形區(qū)域,同時(shí)設(shè)定手寫(xiě)輸入設(shè)備的采樣頻率;

      文字編碼方式:在使用本方法的設(shè)備設(shè)計(jì)之初就需要根據(jù)實(shí)際產(chǎn)品需要識(shí)別的文字類(lèi)型決定文字編碼方式。例如,針對(duì)英文識(shí)別的產(chǎn)品,在設(shè)計(jì)的時(shí)候就已經(jīng)定下來(lái)采用ASCII(American Standard Code for Information Interchange,美國(guó)標(biāo)準(zhǔn)信息交換代碼)編碼,對(duì)于漢字可以采用GB2312編碼形式,也可以根據(jù)實(shí)際需要自定義編碼方式。編碼采用二進(jìn)制格式,對(duì)在需要識(shí)別范圍內(nèi)所有文字進(jìn)行編碼,每個(gè)文字擁有一個(gè)唯一與之對(duì)應(yīng)的編碼。后面,由遞歸神經(jīng)網(wǎng)絡(luò)對(duì)歸一化的筆跡坐標(biāo)序列進(jìn)行訓(xùn)練,得到識(shí)別后的文字編碼結(jié)果。

      采樣時(shí),手寫(xiě)輸入設(shè)備按照設(shè)置的采樣頻率采集手寫(xiě)設(shè)備接觸位置的坐標(biāo),將所采集到的坐標(biāo)按照時(shí)間順序排列為筆跡坐標(biāo)的原始時(shí)間序列。

      第2步,監(jiān)督訓(xùn)練過(guò)程。監(jiān)督訓(xùn)練過(guò)程中,產(chǎn)品設(shè)計(jì)人員預(yù)先給出真實(shí)的輸入字符,再手寫(xiě)輸入對(duì)應(yīng)的筆跡,通過(guò)比較手寫(xiě)輸入設(shè)備計(jì)算出的手寫(xiě)輸入的文字編碼值和實(shí)際輸入文字的編碼之間的編碼間誤差來(lái)調(diào)整計(jì)算參數(shù),在對(duì)大量的字符進(jìn)行監(jiān)督訓(xùn)練后,得到識(shí)別模型。

      監(jiān)督訓(xùn)練過(guò)程按照步驟201-205依次進(jìn)行;

      步驟201,選定待訓(xùn)練字符,然后通過(guò)手寫(xiě)輸入設(shè)備進(jìn)行輸入,并對(duì)輸入的筆跡按照采樣頻率進(jìn)行采樣,采樣后得到待訓(xùn)練字符的筆跡坐標(biāo)序列;

      步驟202,對(duì)筆跡坐標(biāo)序列進(jìn)行歸一化處理,歸一化處理后將歸一化的筆跡坐標(biāo)序列輸入至遞歸神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練;

      步驟203,遞歸神經(jīng)網(wǎng)絡(luò)根據(jù)筆跡坐標(biāo)序列的順序?qū)ζ渲械淖鴺?biāo)進(jìn)行遞歸計(jì)算,并將計(jì)算結(jié)果與待訓(xùn)練字符的編碼值比較,根據(jù)損失函數(shù)計(jì)算出編碼間誤差;

      步驟204,將編碼間誤差反饋回遞歸神經(jīng)網(wǎng)絡(luò)中,通過(guò)梯度下降函數(shù)調(diào)節(jié)下一個(gè)坐標(biāo)進(jìn)行遞歸計(jì)算時(shí)的計(jì)算參數(shù),并根據(jù)步驟203繼續(xù)對(duì)下一個(gè)坐標(biāo)進(jìn)行遞歸計(jì)算,直至筆跡坐標(biāo)序列中的最后一個(gè)坐標(biāo)完成遞歸計(jì)算,即通過(guò)訓(xùn)練到對(duì)應(yīng)的待訓(xùn)練字符的編碼值,本次訓(xùn)練結(jié)束;

      步驟205,依次重復(fù)步驟201至步驟204,直至完成所選文字編碼方式中字符的監(jiān)督訓(xùn)練??紤]到中文文字庫(kù)很大,而常用字僅幾千個(gè),一般,僅完成常用漢字的訓(xùn)練即可滿(mǎn)足日常文字識(shí)別的需要。

      第3步,實(shí)際使用階段。實(shí)際使用階段中,不會(huì)預(yù)先知道真實(shí)的輸入字符,而是由用戶(hù)判斷識(shí)別結(jié)果是否正確。若識(shí)別錯(cuò)誤,則先保存本次識(shí)別錯(cuò)誤的筆跡,再通知使用者重新輸入待識(shí)別字符,重新進(jìn)行文字識(shí)別;若識(shí)別結(jié)果正確,則查詢(xún)之前是否存儲(chǔ)了識(shí)別錯(cuò)誤的筆跡,若存儲(chǔ)了識(shí)別錯(cuò)誤的筆跡則通過(guò)比較手寫(xiě)輸入設(shè)備計(jì)算出的手寫(xiě)輸入的文字編碼值和正確的識(shí)別結(jié)果所對(duì)應(yīng)的文字的編碼值之間的編碼間誤差來(lái)調(diào)整計(jì)算參數(shù),重新進(jìn)行訓(xùn)練;若沒(méi)有存儲(chǔ)識(shí)別錯(cuò)誤的筆跡則進(jìn)清空之前存儲(chǔ)的筆跡坐標(biāo)序列,輸出本次識(shí)別結(jié)果。在用戶(hù)的使用過(guò)程中,根據(jù)識(shí)別錯(cuò)誤的筆跡更新識(shí)別模型。因?yàn)?,識(shí)別錯(cuò)誤的筆跡更符合用戶(hù)手寫(xiě)習(xí)慣而本次沒(méi)識(shí)別成功,在獲得正確識(shí)別結(jié)果后如果用識(shí)別錯(cuò)誤的筆跡調(diào)整識(shí)別模型,就可以使識(shí)別模型更加符合用戶(hù)的手寫(xiě)習(xí)慣,從而提高識(shí)別的準(zhǔn)確性。

      實(shí)際使用階段具體按照如下步驟進(jìn)行文字識(shí)別:

      步驟301,對(duì)手寫(xiě)輸入設(shè)備輸入的待識(shí)別字符的筆跡按照采樣頻率進(jìn)行采樣,采樣后得到待訓(xùn)練字符的筆跡坐標(biāo)序列;

      考慮到手寫(xiě)輸入時(shí)筆跡的停頓,優(yōu)選在對(duì)手寫(xiě)輸入設(shè)備輸入的待識(shí)別字符的筆跡進(jìn)行采樣時(shí)設(shè)置采樣閾值。若超過(guò)采樣閾值而沒(méi)有檢測(cè)到筆跡輸入則認(rèn)為本次輸入結(jié)束,停止對(duì)筆跡坐標(biāo)進(jìn)行采樣。

      步驟302,對(duì)筆跡坐標(biāo)序列進(jìn)行歸一化處理,歸一化處理后將歸一化的筆跡坐標(biāo)序列輸入至遞歸神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練;

      步驟303,遞歸神經(jīng)網(wǎng)絡(luò)根據(jù)對(duì)筆跡坐標(biāo)序列的順序?qū)ζ渲械拿恳粋€(gè)坐標(biāo)進(jìn)行遞歸計(jì)算,直至完成筆跡坐標(biāo)序列中的最后一個(gè)坐標(biāo)的遞歸計(jì)算,最后一個(gè)坐標(biāo)進(jìn)行遞歸計(jì)算的結(jié)果即本次識(shí)別得到的待識(shí)別字符的字符編碼;

      步驟304,顯示本次識(shí)別得到的字符編碼所對(duì)應(yīng)的字符,對(duì)比本次識(shí)別得到的字符編碼所對(duì)應(yīng)的字符與實(shí)際輸入的待識(shí)別字符,若不同,則表示本次識(shí)別結(jié)果錯(cuò)誤,先保存本次識(shí)別錯(cuò)誤的筆跡坐標(biāo)序列,再重新輸入待識(shí)別字符,回到步驟301重新進(jìn)行文字識(shí)別;若相同,則查詢(xún)之前是否存儲(chǔ)了識(shí)別錯(cuò)誤的筆跡坐標(biāo)序列,若存儲(chǔ)了識(shí)別錯(cuò)誤的筆跡坐標(biāo)序列,則依次進(jìn)行步驟305至步驟306的計(jì)算,若沒(méi)有存儲(chǔ)識(shí)別錯(cuò)誤的筆跡坐標(biāo)序列,則進(jìn)入步驟307;

      步驟305,遞歸神經(jīng)網(wǎng)絡(luò)根據(jù)存儲(chǔ)的識(shí)別錯(cuò)誤的筆跡坐標(biāo)序列的順序?qū)ζ渲械淖鴺?biāo)進(jìn)行遞歸計(jì)算,并將計(jì)算結(jié)果與步驟304中正確的識(shí)別結(jié)果比較,根據(jù)損失函數(shù)計(jì)算出編碼間誤差;

      步驟306,將編碼間誤差反饋回遞歸神經(jīng)網(wǎng)絡(luò)中,通過(guò)梯度下降函數(shù)調(diào)節(jié)下一個(gè)坐標(biāo)進(jìn)行遞歸計(jì)算時(shí)的計(jì)算參數(shù),并根據(jù)步驟305繼續(xù)對(duì)下一個(gè)坐標(biāo)進(jìn)行遞歸計(jì)算,直至存儲(chǔ)的筆跡坐標(biāo)序列中的最后一個(gè)坐標(biāo)完成遞歸計(jì)算,即得到待識(shí)別字符的編碼值,本次計(jì)算結(jié)束;

      計(jì)算筆跡坐標(biāo)序列中每個(gè)坐標(biāo),并計(jì)算每次輸出的編碼間誤差,然后根據(jù)編碼間誤差調(diào)整計(jì)算參數(shù),再計(jì)算下一個(gè)坐標(biāo)。在這個(gè)序列中所有坐標(biāo)運(yùn)算完成之后仍可能存在誤差,但是由于每次調(diào)整參數(shù)后這個(gè)誤差就會(huì)越來(lái)越小。訓(xùn)練樣本足夠,這個(gè)誤差就會(huì)逐漸小甚至消失。大量數(shù)據(jù)進(jìn)行梯度下降計(jì)算就可以將誤差減小到最低,逼近實(shí)際的編碼值。

      步驟307,清空之前存儲(chǔ)的筆跡坐標(biāo)序列,輸出本次識(shí)別結(jié)果。

      本發(fā)明中通過(guò)遞歸神經(jīng)網(wǎng)絡(luò)對(duì)筆跡坐標(biāo)序列進(jìn)行計(jì)算。遞歸神經(jīng)網(wǎng)絡(luò)是一種常用的用來(lái)進(jìn)行文字識(shí)別的計(jì)算方法。本發(fā)明優(yōu)選使用LSTM模型,即Long-Short Term Memory,長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)對(duì)筆跡坐標(biāo)序列進(jìn)行計(jì)算。這是一種采用特殊隱式單元的遞歸神經(jīng)網(wǎng)絡(luò)模型。

      LSTM模型分為三層,即輸入層,隱藏層和輸出層;其中輸入層接收筆跡坐標(biāo)序列中的坐標(biāo),隱藏層計(jì)算從輸入層傳遞給隱藏層的數(shù)據(jù),保存計(jì)算結(jié)果并將計(jì)算結(jié)果傳遞給輸出層,輸出層每次輸出對(duì)應(yīng)的筆跡坐標(biāo)序列中一個(gè)坐標(biāo)的計(jì)算結(jié)果。

      LSTM模型是遞歸神經(jīng)網(wǎng)絡(luò)模型中的一種,在LSTM模型中,本次隱藏層的計(jì)算結(jié)果會(huì)傳遞到下一次隱藏層的計(jì)算中去,即隱藏層本次計(jì)算結(jié)果依賴(lài)于輸入層本次傳遞的數(shù)據(jù)和隱藏層前幾次計(jì)算的結(jié)果。而普通的遞歸神經(jīng)網(wǎng)絡(luò)中,隱藏層的計(jì)算結(jié)果受時(shí)間影響嚴(yán)重,即時(shí)間越久遠(yuǎn)的計(jì)算結(jié)果對(duì)當(dāng)前的計(jì)算影響越小。LSTM模型引入cell機(jī)制,可以長(zhǎng)期的存儲(chǔ)隱藏層的計(jì)算結(jié)果,因此降低了之前的計(jì)算結(jié)果影響力下降的問(wèn)題。

      設(shè)輸入層輸入變量為it,隱藏層的輸入門(mén)參數(shù)為Wi和bi。輸入門(mén)用于確定保留于記憶細(xì)胞單元狀態(tài)中的信息。需要隱藏層上一步計(jì)算結(jié)果ht-1和當(dāng)前輸入it決定。輸入門(mén)按照如下公式進(jìn)行計(jì)算:

      C‘t為更新記憶細(xì)胞單元狀態(tài)的中間變量,更新記憶細(xì)胞單元狀態(tài)的運(yùn)算公式為:

      Ct=ft·Ct-1+It·C‘t

      隱藏層的記憶細(xì)胞單元參數(shù)為WC和bc,隱藏層的遺忘門(mén)參數(shù)為Wf和bf

      遺忘門(mén)用于確定記憶細(xì)胞單元狀態(tài)丟棄信息量。需要隱藏層上一步計(jì)算結(jié)果ht-1和當(dāng)前輸入it決定。遺忘門(mén)按照如下公式進(jìn)行計(jì)算:

      隱藏層的輸出門(mén)參數(shù)為Wo和bo。輸出門(mén)用于確定隱藏層的輸出值。需要根據(jù)已經(jīng)更新的記憶細(xì)胞單元狀態(tài)值按照如下公式進(jìn)行計(jì)算:

      ht=ot·Tanh(Ct)

      計(jì)算后將隱藏層計(jì)算結(jié)果ht傳遞給輸出層;

      輸出層的參數(shù)為Wh和bh,本次隱藏層計(jì)算結(jié)果ht和記憶細(xì)胞單元狀態(tài)Ct傳遞給下一次計(jì)算,輸出層輸出結(jié)果為Ht,Ht=f(Wh·ht+bh);f函數(shù)為映射函數(shù),即將隱藏層參數(shù)與參數(shù)乘積映射至字符編碼。由于所選擇的字符編碼方式不同,映射函數(shù)也各不同。

      其中下標(biāo)t表示當(dāng)前輸出,t-1表示前一次輸出,it,Wf,Wi,Wo,,bi,bo,Ct,WC均為向量形式。

      在監(jiān)督訓(xùn)練過(guò)程中的步驟203和實(shí)際使用階段中的步驟305中所述的通過(guò)損失函數(shù)計(jì)算編碼間誤差的具體計(jì)算過(guò)程如下:將計(jì)算結(jié)果的編碼值對(duì)應(yīng)至十進(jìn)制數(shù)值Ht,將步驟203中待訓(xùn)練字符的編碼值或者步驟305中正確的識(shí)別結(jié)果的編碼值對(duì)應(yīng)至十進(jìn)制數(shù)值則編碼間誤差θt可以通過(guò)損失函數(shù)計(jì)算,計(jì)算公式為

      從而,在監(jiān)督訓(xùn)練過(guò)程步驟203隨后對(duì)應(yīng)的步驟204和實(shí)際使用階段步驟305隨后對(duì)應(yīng)的步驟306中,所述的將上面計(jì)算出的編碼間誤差反饋回遞歸神經(jīng)網(wǎng)絡(luò),再通過(guò)梯度下降函數(shù)調(diào)節(jié)下一個(gè)坐標(biāo)進(jìn)行遞歸計(jì)算時(shí)的計(jì)算參數(shù),使遞歸神經(jīng)網(wǎng)絡(luò)通過(guò)訓(xùn)練器輸出的文字編碼值逼近真實(shí)輸入文字的編碼值。具體調(diào)整方式如下:

      輸出層參數(shù)調(diào)整為:

      其中,Wh′,bh′為更新后的輸出層參數(shù),Wh,bh為當(dāng)前輸出層參數(shù);

      隱藏層的輸出門(mén)參數(shù)調(diào)整為

      其中,Wo′,bo′為更新后的隱藏層的輸出門(mén)參數(shù),Wo,bo為當(dāng)前隱藏層的輸出門(mén)參數(shù);

      隱藏層的輸入門(mén)參數(shù)調(diào)整為

      其中,Wi′,bi′為更新后的隱藏層的輸入門(mén)參數(shù),Wi,bi為當(dāng)前輸入層的輸入門(mén)參數(shù);

      隱藏層的記憶細(xì)胞單元參數(shù)調(diào)整為

      其中,Wc′,bc′為更新后的隱藏層的記憶細(xì)胞單元參數(shù),Wc,bc為當(dāng)前輸出層的記憶細(xì)胞單元參數(shù);

      隱藏層的遺忘門(mén)參數(shù)調(diào)整為

      其中,Wf′,bf′為更新后的隱藏層的遺忘門(mén)參數(shù),Wf,bf為當(dāng)前隱藏層的遺忘門(mén)參數(shù);

      以上參數(shù)都是對(duì)編碼間誤差θt求偏導(dǎo)獲得的,其中α為梯度下降速度。α越大梯度下降越快。根據(jù)實(shí)際調(diào)整α,如果訓(xùn)練的數(shù)據(jù)量很大,應(yīng)使α盡可能的小以避免過(guò)擬合現(xiàn)象。

      監(jiān)督訓(xùn)練過(guò)程中步驟202中以及實(shí)際使用階段中步驟302中對(duì)筆跡坐標(biāo)序列進(jìn)行歸一化處理的具體步驟如下:

      設(shè)手寫(xiě)輸入設(shè)備的左下角的頂點(diǎn)為原點(diǎn),手寫(xiě)輸入設(shè)備的輸入坐標(biāo)范圍為從原點(diǎn)向右延伸X個(gè)像素,從原點(diǎn)向上延伸Y個(gè)像素的矩形區(qū)域。即手寫(xiě)輸入設(shè)備的輸入坐標(biāo)范圍為對(duì)角線從原點(diǎn)延伸到到(X,Y)這一點(diǎn)的矩形區(qū)域。

      假定筆跡坐標(biāo)的原始時(shí)間序列中的一個(gè)坐標(biāo)點(diǎn)為(Xt,Yt),將坐標(biāo)點(diǎn)(Xt,Yt)歸一化處理替換為(Xt’,Yt’),替換值計(jì)算公式為

      將筆跡坐標(biāo)的原始時(shí)間序列中的每一個(gè)坐標(biāo)點(diǎn)都進(jìn)行上述的歸一化處理,即得到歸一化的筆跡坐標(biāo)序列。

      神經(jīng)網(wǎng)絡(luò)中,通常采用非線性激活函數(shù)用于計(jì)算信息的流通傳遞能力,這些非線性激活函數(shù)要求計(jì)算結(jié)果在[0,1]區(qū)間內(nèi),0代表完全沒(méi)有信息流通,1代表信息完全流通。LSTM模型通常采用sigmoid函數(shù)作為激活函數(shù)。我們假定使用Sig(m)代表對(duì)括號(hào)內(nèi)表達(dá)式m做sigmoid函數(shù)計(jì)算。sigmoid函數(shù)的表達(dá)式為:

      符號(hào)m僅代表表達(dá)式,實(shí)際使用中被替換真實(shí)表達(dá)式替換。

      在遞歸神經(jīng)網(wǎng)絡(luò)中重復(fù)神經(jīng)網(wǎng)絡(luò)模塊通常采用tanh函數(shù)計(jì)算,簡(jiǎn)單的遞歸神經(jīng)網(wǎng)絡(luò)直接使用tanh函數(shù)作為隱藏層,tanh函數(shù)計(jì)算結(jié)果區(qū)間為[-1,+1]。我們假定使用Tanh(m)代表對(duì)括號(hào)內(nèi)表達(dá)式m做tanh函數(shù)計(jì)算。tanh函數(shù)表達(dá)式為:

      符號(hào)m僅代表表達(dá)式,實(shí)際使用中被替換真實(shí)表達(dá)式替換。

      LSTM模型每次遞歸過(guò)程計(jì)算筆跡序列中一個(gè)坐標(biāo),筆跡序列中存在多少個(gè)坐標(biāo)就遞歸多少次。對(duì)于一次遞歸過(guò)程,如圖3)輸入向量it與坐標(biāo)的對(duì)應(yīng)關(guān)系為:

      筆跡坐標(biāo)序列中的每一個(gè)坐標(biāo)計(jì)算后都會(huì)對(duì)應(yīng)一個(gè)輸出結(jié)果。最終識(shí)別結(jié)果則是所有筆跡時(shí)間序列中每個(gè)坐標(biāo)的識(shí)別結(jié)果的累積。因此需要對(duì)序列中的每一個(gè)坐標(biāo)都進(jìn)行計(jì)算,通過(guò)記憶細(xì)胞單元狀態(tài)保存之前計(jì)算的累積值,直至序列中最后一個(gè)坐標(biāo)計(jì)算完畢,則這個(gè)結(jié)果就包含了前面所有坐標(biāo)計(jì)算的累計(jì)量和自身的坐標(biāo)計(jì)算量。最后一個(gè)坐標(biāo)的計(jì)算結(jié)果就是序列的輸出結(jié)果,即模型的識(shí)別結(jié)果。

      有益效果

      本發(fā)明在實(shí)際運(yùn)用之前先行采集大量手寫(xiě)筆跡序列的數(shù)據(jù)進(jìn)行訓(xùn)練,使得識(shí)別更具普適性,識(shí)別率更高。而同時(shí),由于監(jiān)督訓(xùn)練訓(xùn)練出的模型參數(shù)實(shí)際上是根據(jù)訓(xùn)練人員的筆跡訓(xùn)練的。用戶(hù)使用時(shí)可能由于手寫(xiě)習(xí)慣的不同,導(dǎo)致部分筆跡識(shí)別不了。因而,用戶(hù)使用階段針中,本方法會(huì)對(duì)用戶(hù)的手寫(xiě)習(xí)慣提取特征,尤其考慮筆跡中的書(shū)寫(xiě)速度與筆跡停頓的特征,借助遞歸神經(jīng)網(wǎng)絡(luò)的反饋學(xué)習(xí)能力,將計(jì)算得到的文字編碼值和實(shí)際輸入文字的編碼的差值進(jìn)行比較,并以編碼間誤差的形式返回至遞歸神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型中,根據(jù)編碼間誤差調(diào)整模型各層的參數(shù)值,進(jìn)行遞歸運(yùn)算,經(jīng)過(guò)大量訓(xùn)練后可以形成適用于使用者個(gè)人手寫(xiě)習(xí)慣的識(shí)別模型,不會(huì)忽略筆跡書(shū)寫(xiě)中的停頓、書(shū)寫(xiě)速度等時(shí)間信息。一旦模型符合用戶(hù)的特點(diǎn),那么對(duì)于用戶(hù)而言,識(shí)別精度就高了。

      同時(shí),相對(duì)于一般的筆跡向量識(shí)別方法,一般的筆跡向量識(shí)別方法通常將筆跡坐標(biāo)統(tǒng)一成向量形式,實(shí)際輸入為向量的集合。統(tǒng)一過(guò)程中需要過(guò)濾無(wú)效的坐標(biāo)點(diǎn),將筆跡中轉(zhuǎn)折較大的坐標(biāo)點(diǎn)保留,然后保留的坐標(biāo)兩兩形成向量。過(guò)濾時(shí)可能丟棄有效的坐標(biāo),一些轉(zhuǎn)折不明顯或者手寫(xiě)不明顯的筆畫(huà)被過(guò)濾丟棄。同時(shí),有的向量方法只使用了時(shí)間信息中手寫(xiě)筆跡順序的信息,而忽略了書(shū)寫(xiě)時(shí)速度,停頓等時(shí)間信息。一般的筆跡向量識(shí)別方法無(wú)法形成適應(yīng)使用者書(shū)寫(xiě)習(xí)慣的書(shū)寫(xiě)模型,因而識(shí)別精度無(wú)法達(dá)到本發(fā)明的標(biāo)準(zhǔn)。而本發(fā)明實(shí)施例處理的輸入為筆跡坐標(biāo)的時(shí)間序列,與現(xiàn)有的針對(duì)筆跡向量的識(shí)別方法相比,不僅對(duì)輸入坐標(biāo)的位置結(jié)構(gòu)有很高的識(shí)別率,而且對(duì)于輸入過(guò)程的時(shí)間信息有很好的記錄能力,對(duì)信息的保留能力更高,因而識(shí)別率也更高。用戶(hù)長(zhǎng)期使用本實(shí)施例,實(shí)際使用階段中,LSTM模型的記錄細(xì)胞單元會(huì)保留識(shí)別錯(cuò)誤的用戶(hù)手寫(xiě)筆跡的時(shí)間特征和位置特征,將前幾次未成功識(shí)別的序列重新輸入LSTM模型,采用梯度下降方法,調(diào)整模型參數(shù)。使用時(shí)間越長(zhǎng)這些特征就提取得越充分,識(shí)別時(shí)匹配輸入信息和記錄的特征信息,可以針對(duì)用戶(hù)的手寫(xiě)習(xí)慣與手寫(xiě)速度調(diào)整到更高的準(zhǔn)確度。

      本發(fā)明可以通過(guò)改變手寫(xiě)輸入設(shè)備的采樣頻率,改變筆跡坐標(biāo)序列的數(shù)據(jù)量,以根據(jù)不同手寫(xiě)速度來(lái)調(diào)整訓(xùn)練模型計(jì)算速度。

      本發(fā)明所采用的方法在手寫(xiě)過(guò)程中即可記錄用戶(hù)書(shū)寫(xiě)筆跡在時(shí)間上的特征,如筆跡中的停頓等。由于遞歸神經(jīng)網(wǎng)絡(luò)計(jì)算時(shí)針對(duì)的是一個(gè)一個(gè)的坐標(biāo)點(diǎn),因而在在手寫(xiě)過(guò)程中就可以進(jìn)行相應(yīng)計(jì)算,在手寫(xiě)過(guò)程中進(jìn)行識(shí)別。因而識(shí)別效率更高。

      而且本發(fā)明通過(guò)選擇性地改變LSTM模型中各層的參數(shù)數(shù)目,調(diào)整模型參數(shù)結(jié)構(gòu),在計(jì)算量和計(jì)算時(shí)間中取得平衡。具體而言,本方法中,隱藏層存在多個(gè)門(mén),每個(gè)門(mén)都有參數(shù)。如果要求結(jié)果精確可以對(duì)每個(gè)參數(shù)都調(diào)整;如果追求速度,那么可以固定部分參數(shù)不調(diào)整。從而獲得很高的靈活性。

      附圖說(shuō)明

      圖1為本發(fā)明實(shí)施例一的系統(tǒng)結(jié)構(gòu)框圖;

      圖2為本發(fā)明的手寫(xiě)筆跡坐標(biāo)采樣序列圖;

      圖3為本發(fā)明的LSTM模型訓(xùn)練原理示意圖;

      圖4為本發(fā)明的LSTM模型各層結(jié)構(gòu)示意圖;

      圖5為本發(fā)明實(shí)例一的手寫(xiě)字符‘A’筆跡采樣示意圖;

      具體實(shí)施方式

      下面對(duì)本發(fā)明技術(shù)方案進(jìn)行詳細(xì)說(shuō)明,但是本發(fā)明的保護(hù)范圍不局限于所述實(shí)施例。

      實(shí)施例1:

      如圖1所示,本實(shí)施例的系統(tǒng)結(jié)構(gòu)框圖分為手寫(xiě)輸入采集,輸入數(shù)據(jù)坐標(biāo)處理和訓(xùn)練器三個(gè)部分。

      具體給出系統(tǒng)的工作步驟如下:

      步驟1)考慮需要處理的文字范圍,選擇相應(yīng)的文字編碼方式??梢赃x擇使用已有廣泛使用的通用字符集,也可以針對(duì)所需識(shí)別的文字編寫(xiě)特定的編碼集。編碼集預(yù)置于系統(tǒng)中,系統(tǒng)輸出將從編碼集中選取。不同的編碼方式會(huì)影響LSTM模型輸出層的映射函數(shù),映射函數(shù)需要將隱藏層輸出結(jié)果映射為文字編碼,越復(fù)雜的文字編碼方式映射函數(shù)越復(fù)雜。本實(shí)例識(shí)別的是英文字符,因而采用ASCII編碼方式,映射函數(shù)直接原樣映射,隱藏層輸出結(jié)果與輸出層結(jié)果一致。

      步驟2)根據(jù)手寫(xiě)輸入設(shè)備的分辨率獲得手寫(xiě)觸點(diǎn)的坐標(biāo)范圍。本實(shí)施例中手寫(xiě)設(shè)備的分辨率為640*480像素,輸入坐標(biāo)范圍就是640*480。規(guī)定輸入設(shè)備左下角的頂點(diǎn)為原點(diǎn),手寫(xiě)輸入設(shè)備的輸入坐標(biāo)范圍為從原點(diǎn)向右延伸640像素,從原點(diǎn)向上延伸480像素的矩形區(qū)域。即手寫(xiě)輸入設(shè)備的輸入坐標(biāo)范圍為對(duì)角線從原點(diǎn)延伸到到(640,480)這一點(diǎn)的矩形區(qū)域。這個(gè)矩形區(qū)域即可確定觸點(diǎn)坐標(biāo)。

      步驟3)設(shè)定手寫(xiě)輸入設(shè)備的采樣頻率。采樣頻率和手寫(xiě)輸入的速度,處理數(shù)據(jù)能力,采樣數(shù)據(jù)能力有關(guān)。應(yīng)該盡可能選擇較高的采樣頻率以提高識(shí)別精度。然而,對(duì)于處理能力不高(如CPU計(jì)算量過(guò)小)的設(shè)備,采樣頻率過(guò)高,所采集的筆跡坐標(biāo)序列中的坐標(biāo)點(diǎn)也就越多,因而需要更長(zhǎng)時(shí)間處理數(shù)據(jù),識(shí)別的延時(shí)過(guò)長(zhǎng)。這種情況下,應(yīng)適當(dāng)降低采樣頻率。而性能較差的手寫(xiě)輸入設(shè)備,設(shè)備本身的采樣的能力不夠,采樣極限頻率過(guò)低,而實(shí)際采樣頻率不能超過(guò)設(shè)備本身的極限頻率,因而會(huì)對(duì)手寫(xiě)筆跡的識(shí)別帶來(lái)不利影響。

      若書(shū)寫(xiě)者手寫(xiě)速度很快則應(yīng)采用高采樣頻率。否則采樣點(diǎn)過(guò)少,不易計(jì)算出文字編碼值。書(shū)寫(xiě)者手寫(xiě)速度很慢則應(yīng)采用低采樣頻率,否則采樣點(diǎn)過(guò)多。實(shí)際產(chǎn)品可以根據(jù)產(chǎn)品面向的人群,在普通人手寫(xiě)速度上,針對(duì)寫(xiě)字較慢的老人或者特殊人群做調(diào)整。本實(shí)施例選擇100Hz的采樣頻率。

      說(shuō)明書(shū)中的監(jiān)督訓(xùn)練過(guò)程發(fā)生在手寫(xiě)輸入設(shè)備的生產(chǎn)過(guò)程中。由于監(jiān)督訓(xùn)練過(guò)程中根據(jù)編碼間誤差調(diào)整遞歸計(jì)算中參數(shù)的過(guò)程與實(shí)際使用過(guò)程中的類(lèi)似,此處,僅以監(jiān)督訓(xùn)練階段為例進(jìn)行說(shuō)明。

      步驟4)輸入者在手寫(xiě)輸入設(shè)備上書(shū)寫(xiě),如圖2所示,手寫(xiě)輸入設(shè)備根據(jù)步驟3)預(yù)先設(shè)置的采樣頻率,對(duì)接觸點(diǎn)的軌跡進(jìn)行采樣,得到采樣點(diǎn)的位置坐標(biāo)。連續(xù)采樣得到的一系列筆跡坐標(biāo)組合成筆跡坐標(biāo)的原始時(shí)間序列。當(dāng)設(shè)備在一定閾值時(shí)間仍然采集不到觸點(diǎn),則認(rèn)為本次手寫(xiě)已經(jīng)結(jié)束,之前的觸點(diǎn)坐標(biāo)序列即為訓(xùn)練和識(shí)別的筆跡序列。閾值時(shí)間應(yīng)該避免過(guò)長(zhǎng)或者過(guò)短,防止用戶(hù)等待時(shí)間過(guò)長(zhǎng)或者用戶(hù)在書(shū)寫(xiě)中有長(zhǎng)時(shí)間手寫(xiě)停頓的習(xí)慣。這里選擇1秒作為閾值時(shí)間。

      步驟5)將筆跡坐標(biāo)的原始序列輸入至筆跡處理設(shè)備,根據(jù)步驟2)中獲得的輸入設(shè)備接觸點(diǎn)的坐標(biāo)范圍(X,Y),把筆跡坐標(biāo)的原始序列中的每一個(gè)坐標(biāo)歸一化為一對(duì)小數(shù)值(Xt’,Yt’)。對(duì)于小數(shù)精度不高的系統(tǒng),可以乘以相應(yīng)的數(shù)值,將歸一化的坐標(biāo)序列變?yōu)橄鄬?duì)坐標(biāo)序列。如圖5所示,輸入字符為A,采樣歸一化后得到歸一化的坐標(biāo)序列。

      步驟6)將步驟5)處理得到的歸一化的對(duì)坐標(biāo)序列輸入LSTM訓(xùn)練器中,LSTM訓(xùn)練器輸出識(shí)別后的文字編碼。這里使用的訓(xùn)練器為L(zhǎng)STM(Long-Short Term Memory)模型。應(yīng)說(shuō)明的是,訓(xùn)練器使用的模型包括但不限于LSTM模型,遞歸神經(jīng)網(wǎng)絡(luò)均可以用于本方法對(duì)于手寫(xiě)過(guò)程識(shí)別,只是LSTM識(shí)別性能更好。本實(shí)例中LSTM訓(xùn)練器采用python深度學(xué)習(xí)theano庫(kù)編寫(xiě)。

      步驟7)將文字編碼值反饋回LSTM訓(xùn)練器。在監(jiān)督訓(xùn)練中輸入者確定實(shí)際輸入文字,比較實(shí)際輸入文字的編碼值與LSTM訓(xùn)練器輸出的識(shí)別后的文字編碼值,計(jì)算出編碼間誤差,將編碼間誤差反饋到LSTM訓(xùn)練器中,訓(xùn)練器通過(guò)梯度下降函數(shù)調(diào)整LSTM訓(xùn)練器內(nèi)部參數(shù)。本實(shí)施例經(jīng)過(guò)多次訓(xùn)練后,識(shí)別模型內(nèi)部計(jì)算得到一個(gè)數(shù)值,如圖5所示的字符識(shí)別輸出為65(十進(jìn)制),65的二進(jìn)制值在ASCII碼中對(duì)應(yīng)即為A。

      本發(fā)明實(shí)施例的訓(xùn)練模型為L(zhǎng)STM模型。LSTM模型相比其他遞歸神經(jīng)網(wǎng)絡(luò)模型,引入了記憶細(xì)胞單元,解決了其他模型中后節(jié)點(diǎn)對(duì)前節(jié)點(diǎn)感知力下降的問(wèn)題。其他模型中,從輸入的數(shù)據(jù)上來(lái)看,對(duì)本次結(jié)果影響最大的是本次輸入,接著是上次輸入,再次是上上次輸入。影響程度隨著距離愈遠(yuǎn)而愈來(lái)愈小,最初的輸入幾乎對(duì)本次結(jié)果無(wú)影響。而LSTM模型中,在序列中坐標(biāo)過(guò)多時(shí),前面坐標(biāo)的計(jì)算結(jié)果反饋至后面與后面坐標(biāo)一并計(jì)算時(shí),前面坐標(biāo)計(jì)算結(jié)果的影響不會(huì)衰減。因而本發(fā)明所述的識(shí)別方法不至于忽略最初計(jì)算的筆跡坐標(biāo),而是考慮了本次輸入的筆跡坐標(biāo)序列中的每一個(gè)坐標(biāo)值,因而具有很高的識(shí)別精度。

      而且本發(fā)明通過(guò)選擇性地改變LSTM模型中各層的參數(shù)數(shù)目,調(diào)整模型參數(shù)結(jié)構(gòu),在計(jì)算量和計(jì)算時(shí)間中取得平衡。具體而言,本方法中,隱藏層存在多個(gè)門(mén),每個(gè)門(mén)都有參數(shù)。如果要求結(jié)果精確可以對(duì)每個(gè)參數(shù)都調(diào)整;如果追求速度,那么可以固定部分參數(shù)不調(diào)整。從而獲得很高的靈活性。

      一般的筆跡向量識(shí)別方法是將筆跡坐標(biāo)統(tǒng)一成向量形式,實(shí)際輸入為向量的集合。統(tǒng)一過(guò)程中需要過(guò)濾無(wú)效的坐標(biāo)點(diǎn),將筆跡中轉(zhuǎn)折較大的坐標(biāo)點(diǎn)保留,然后保留的坐標(biāo)兩兩形成向量。過(guò)濾時(shí)可能丟棄有效的坐標(biāo),一些轉(zhuǎn)折不明顯或者手寫(xiě)不明顯的筆畫(huà)被過(guò)濾丟棄。同時(shí),有的向量方法只使用了時(shí)間信息中手寫(xiě)筆跡順序的信息,而忽略了書(shū)寫(xiě)時(shí)速度,停頓等時(shí)間信息。而本發(fā)明所記錄的這些時(shí)間信息可以針對(duì)用戶(hù)的手寫(xiě)習(xí)慣提取特征,提高識(shí)別率,而且使得識(shí)別模型更貼合于個(gè)人的書(shū)寫(xiě)習(xí)慣。本發(fā)明實(shí)施例處理的輸入為筆跡坐標(biāo)的時(shí)間序列,與現(xiàn)有的針對(duì)筆跡向量的識(shí)別方法相比,不僅對(duì)輸入坐標(biāo)的位置結(jié)構(gòu)有很高的識(shí)別率,而且對(duì)于輸入過(guò)程的時(shí)間信息有很好的記錄能力,對(duì)信息的保留能力更高,因而識(shí)別率也更高。監(jiān)督訓(xùn)練訓(xùn)練出的模型參數(shù)實(shí)際上是根據(jù)訓(xùn)練人員的筆跡訓(xùn)練的。用戶(hù)使用時(shí)可能由于手寫(xiě)方式,部分筆跡識(shí)別不了。在實(shí)際使用階段中,LSTM模型的記錄細(xì)胞單元會(huì)保留識(shí)別錯(cuò)誤的用戶(hù)手寫(xiě)筆跡的時(shí)間特征和位置特征,將前幾次未成功識(shí)別的序列重新輸入LSTM模型,采用梯度下降方法,調(diào)整模型參數(shù)。這種訓(xùn)練使模型符合用戶(hù)的筆跡特點(diǎn)。一旦模型符合用戶(hù)的特點(diǎn),那么對(duì)于用戶(hù)而言,識(shí)別精度就高了。使用時(shí)間越長(zhǎng),用戶(hù)書(shū)寫(xiě)的特征就提取得越充分,識(shí)別時(shí)匹配輸入信息和記錄的特征信息,可以針對(duì)用戶(hù)的手寫(xiě)習(xí)慣與手寫(xiě)速度調(diào)整到更高的準(zhǔn)確度。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1