本發(fā)明涉及圖像識(shí)別
技術(shù)領(lǐng)域:
,尤其涉及一種工業(yè)字符識(shí)別方法。
背景技術(shù):
:現(xiàn)有的字符識(shí)別技術(shù)一般采用基于模版匹配或基于結(jié)構(gòu)統(tǒng)計(jì)的算法。以字符圖像灰度作為匹配信息,通過計(jì)算字符模板圖像與目標(biāo)圖像子區(qū)域的灰度相關(guān)系數(shù)來度量匹配度;或利用字符本身的形態(tài)結(jié)構(gòu),如邊緣、拐點(diǎn)、連通域等特征進(jìn)行識(shí)別。還有一類是在建立字符圖像的特征后,通過有監(jiān)督的方式學(xué)習(xí)特征與目標(biāo)類別之間的關(guān)系,建立從輸入到預(yù)測(cè)輸出的函數(shù)關(guān)系。專利文獻(xiàn)1(中國專利公開號(hào)CN101436249A)公開了一種獲得字符粗分類及細(xì)分類匹配模版的方法,用于手寫字符識(shí)別系統(tǒng)。專利文獻(xiàn)2(中國專利公開號(hào)CN103049750A)公開了一種采用邊緣特征建立字符匹配模版的方法。專利文獻(xiàn)3(中國專利公開號(hào)CN104820827A)公開了一種通過二值化、預(yù)處理、區(qū)域粗提取和分割等各個(gè)操作獲取字符的單獨(dú)圖像與設(shè)定的模版進(jìn)行相似性度量的匹配算法,用于電線電纜表面的點(diǎn)狀字符識(shí)別。專利文獻(xiàn)4(中國專利公開號(hào)CN105761351A)公開了一種基于結(jié)構(gòu)特征的字符識(shí)別方法。專利文獻(xiàn)5(中國專利公開號(hào)CN104871180A)公開了一種使用相同文本的多個(gè)圖像改善文本辨識(shí)的方法用于改善文字識(shí)別效果。專利文獻(xiàn)6(中國專利公開號(hào)CN105608453A)公開了一種能夠?qū)Πú煌N類字符的復(fù)式記錄的票據(jù)進(jìn)行高精度識(shí)別的字符識(shí)別系統(tǒng)及字符識(shí)別方法。專利文獻(xiàn)7(中國專利公開號(hào)CN103902956A)公開了一種基于神經(jīng)網(wǎng)絡(luò)的車牌照字符識(shí)別方法,以字符圖像在X軸和Y軸上的投影為基本,對(duì)其做Fourier變換得到的K個(gè)變換系數(shù)中選出有代表性的M個(gè)特征作為神經(jīng)網(wǎng)絡(luò)的輸入,采用有監(jiān)督的方式訓(xùn)練得到特征和輸出類別間的關(guān)系。專利文獻(xiàn)8(中國專利公開號(hào)CN101408933A)公開了一種基于粗網(wǎng)格特征提取和BP神經(jīng)網(wǎng)絡(luò)的車牌字符識(shí)別方法。專利文獻(xiàn)9(中國專利公開號(hào)CN103927534A)公開了針對(duì)易拉罐底噴碼字符的在線視覺檢測(cè)方法,包括離線狀態(tài)下對(duì)圖像中的字符進(jìn)行分割,并歸類構(gòu)建字符庫,采用卷積神經(jīng)網(wǎng)絡(luò)算法進(jìn)行訓(xùn)練,形成字符分類器,在在線檢測(cè)時(shí)用同樣的過程對(duì)輸入圖像進(jìn)行識(shí)別。專利文獻(xiàn)10(中國專利公開號(hào)CN104463209A)公開了一種識(shí)別PCB板上數(shù)字代碼的方法,采用頻域法得到增強(qiáng)了特征值的圖像,歸一化特征值輸入BP神經(jīng)網(wǎng)絡(luò)完成訓(xùn)練和預(yù)測(cè)。專利文獻(xiàn)11(中國專利公開號(hào)CN104331688A)公開了一種雷管外殼點(diǎn)陣字符的識(shí)別方法,利用連通域?qū)蝹€(gè)字符區(qū)域進(jìn)行切分,將字符邊界到區(qū)域邊界的距離作為待識(shí)別的特征值,利用最小距離分類器和多級(jí)識(shí)別法獲得最終的識(shí)別結(jié)果。專利文獻(xiàn)12(中國專利公開號(hào)CN105678293A)、專利文獻(xiàn)13(中國專利公開號(hào)CN105678292A)公開了一種基于卷積及遞歸神經(jīng)網(wǎng)絡(luò)的文字序列識(shí)別系統(tǒng),采用CNN提取圖像文字序列特征并輸出到RNN中,依次實(shí)現(xiàn)漢字前、后部分、數(shù)字、字母、標(biāo)點(diǎn)符號(hào)或者空白的識(shí)別。王有旺等提出了基于深度學(xué)習(xí)的字符識(shí)別算法,分別應(yīng)用于手寫體漢字識(shí)別和自然場景英文文字識(shí)別(王有旺,深度學(xué)習(xí)及其在手寫漢字識(shí)別中的應(yīng)用研究,華南理工大學(xué),碩士學(xué)位論文,2014;廖威敏,面向自然場景的端對(duì)端英文文字識(shí)別研究,廈門大學(xué),碩士學(xué)位論文,2014)。周鳳香提出了一種基于字符混合特征的工業(yè)生產(chǎn)線標(biāo)簽識(shí)別系統(tǒng),通過提取字符的孔洞特征、統(tǒng)計(jì)特征、結(jié)構(gòu)特征和基于Gabor變換的紋理特征等構(gòu)建字符的混合特征,設(shè)計(jì)三層分類器進(jìn)行遞進(jìn)的識(shí)別分類(周鳳香,工業(yè)生產(chǎn)線標(biāo)簽字符識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),電子科技大學(xué),碩士學(xué)位論文,2013)。劉萌萌提出了一種基于神經(jīng)網(wǎng)絡(luò)的壓印字符識(shí)別系統(tǒng),其中研究了模版匹配定位算法和基于Ostu法的字符分割方法,然后結(jié)合BP神經(jīng)網(wǎng)絡(luò)和字符的結(jié)構(gòu)特征構(gòu)建了完整的字符識(shí)別方案(劉萌萌,基于神經(jīng)網(wǎng)絡(luò)的壓印字符識(shí)別系統(tǒng)研究,天津大學(xué),碩士學(xué)位論文,2013)。國外的機(jī)器視覺軟件例如美國康耐視的VisionPro、日本Keyence、德國MVtec的Halcon等都具有字符識(shí)別算法,一方面這些方法都是基于傳統(tǒng)的技術(shù)實(shí)現(xiàn),另一方面我們需要開發(fā)具有自主知識(shí)產(chǎn)權(quán)的核心技術(shù),隨著“中國制造2025”計(jì)劃的實(shí)施,亟需掌握高性能的機(jī)器視覺核心算法?;诨叶认嚓P(guān)的模板匹配算法以字符圖像灰度信息直接進(jìn)行相似度計(jì)算,如專利文獻(xiàn)1和專利文獻(xiàn)3中的方法,實(shí)現(xiàn)比較簡單,整體計(jì)算量相對(duì)較小,識(shí)別速度較快,但對(duì)字符圖像的預(yù)處理效果依賴較高,如光照不均勻劃痕等影響造成的字符粘連、斷裂等問題會(huì)使得到的字符圖像噪聲較大,影響到最終的識(shí)別效果;部分基于邊緣或孔洞特征的方法處理速度慢,需要根據(jù)字符本身結(jié)構(gòu)不同特點(diǎn)設(shè)計(jì)適用性不強(qiáng),精度也不夠高。專利文獻(xiàn)7、專利文獻(xiàn)8、專利文獻(xiàn)10等利用字符圖像中的結(jié)構(gòu)或統(tǒng)計(jì)信息,采用人工設(shè)計(jì)特征并提取特征的方式對(duì)神經(jīng)網(wǎng)絡(luò)的輸入進(jìn)行構(gòu)建,同樣面臨建立和篩選合適的特征的問題,技術(shù)的通用性較差,且專利文獻(xiàn)8按照自主劃分的粗網(wǎng)格提取字符點(diǎn)陣的像素級(jí)特征坑干擾能力較差,在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)還需要?jiǎng)澐譂h字網(wǎng)絡(luò)、字母網(wǎng)絡(luò)、數(shù)字網(wǎng)絡(luò)等不同的網(wǎng)絡(luò)進(jìn)行單獨(dú)訓(xùn)練,計(jì)算量大幅增加。專利文獻(xiàn)11公開的方法將字符邊界到區(qū)域邊界的距離作為識(shí)別特征值,識(shí)別精度較差,算法僅適用于其設(shè)定的雷管外殼點(diǎn)陣這種特定類型的字符。專利文獻(xiàn)5公開的方法重點(diǎn)在于改善文本辨識(shí)質(zhì)量,通過同一文本區(qū)域多個(gè)版本的圖像按照屬性限制值提供給OCR裝置提升識(shí)別效果。專利文獻(xiàn)12、專利文獻(xiàn)13等方法研究重點(diǎn)在于解決文字序列的識(shí)別問題,滑動(dòng)采樣模塊對(duì)待識(shí)別文本進(jìn)行滑動(dòng)采樣,CNN模塊進(jìn)行特征提取,RNN模塊進(jìn)行序列識(shí)別,該方法主要針對(duì)序列采樣可能產(chǎn)生的問題進(jìn)行了分析,解決了序列識(shí)別問題,但沒有對(duì)字符識(shí)別的準(zhǔn)確性進(jìn)行考慮。王有旺等提出的采用深度學(xué)習(xí)進(jìn)行手寫字符識(shí)別的方法雖然適用性較強(qiáng),但其處理的手寫字符問題都在干凈的背景下進(jìn)行,對(duì)于具有復(fù)雜背景的工業(yè)字符精度不高,且訓(xùn)練不夠高效。本發(fā)明提出了采用卷積神經(jīng)網(wǎng)絡(luò)算法進(jìn)行通用的工業(yè)字符識(shí)別,以及多種改善算法性能的方法和策略,使本發(fā)明的技術(shù)能夠達(dá)到實(shí)際工業(yè)應(yīng)用的要求。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于克服現(xiàn)有技術(shù)中的缺陷,提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的工業(yè)字符識(shí)別方法。為達(dá)上述目的,本發(fā)明通過以下技術(shù)方案實(shí)現(xiàn):一種基于卷積神經(jīng)網(wǎng)絡(luò)的工業(yè)字符識(shí)別方法,包括以下步驟:建立字符數(shù)據(jù)集,所述字符數(shù)據(jù)集包括混合場景字符數(shù)據(jù)集和單一場景字符數(shù)據(jù)集;對(duì)所述字符數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng)及預(yù)處理,其中,所述數(shù)據(jù)增強(qiáng)包括對(duì)字符圖像進(jìn)行一系列的變換和加干擾操作來進(jìn)一步擴(kuò)大數(shù)據(jù)集;建立CNN集成模型的核心思想是訓(xùn)練具有準(zhǔn)確性和多樣性的個(gè)體學(xué)習(xí)器,其中,個(gè)體學(xué)習(xí)器采用卷積神經(jīng)網(wǎng)絡(luò),所述CNN集成模型共包含三個(gè)CNN結(jié)構(gòu):Net-1、Net-2、Net-3,Net-1包含3個(gè)由卷積層和下采樣層重復(fù)堆疊的特征提取階段和2個(gè)全連接層,采用Softmax層作為特征分類器,采用了多級(jí)特征融合的方式,將每一個(gè)特征提取層或特定某幾個(gè)特征提取層的輸出進(jìn)行融合,共同輸入全連接層,這樣得到的集成特征向量傳入分類器作為最終的特征提取結(jié)果;Net-2也同樣包含3個(gè)特征提取階段,同樣采用了多級(jí)特征融合,在Net-2中所有的卷積層都采用3×3的卷積核;Net-3的結(jié)構(gòu)與Net-2較為相似,但沒有將多級(jí)特征共同輸入全鏈接層;在建立了三個(gè)網(wǎng)絡(luò)結(jié)構(gòu)作為個(gè)體學(xué)習(xí)器后,對(duì)CNN集成模型進(jìn)行訓(xùn)練,訓(xùn)練步驟如下:(1)從原始數(shù)據(jù)集中隨機(jī)采樣,產(chǎn)生三個(gè)隨機(jī)樣本空間,確保這些采樣空間與所涉及的原始數(shù)據(jù)集有微小差異;(2)輪流訓(xùn)練三個(gè)網(wǎng)絡(luò)模型。采用上一步得到的三個(gè)樣本空間分別訓(xùn)練Net-1,Net-2,Net-3,這樣就得到了三個(gè)有差異的分類器;(3)一輪訓(xùn)練結(jié)束,返回步驟(1)繼續(xù)執(zhí)行隨機(jī)采樣操作及訓(xùn)練操作,直到達(dá)到預(yù)設(shè)的迭代次數(shù)或三個(gè)結(jié)構(gòu)的誤差分別收斂到一定值。然后保存權(quán)重,得到三個(gè)個(gè)體分類器;其中,訓(xùn)練分為兩步完成,第一步為離線訓(xùn)練,獲取離線訓(xùn)練模型,第二步為在線訓(xùn)練,將離線訓(xùn)練模型用作初始化,進(jìn)行特定生產(chǎn)線字符數(shù)據(jù)集的訓(xùn)練,獲取在線訓(xùn)練模型;以及對(duì)目標(biāo)圖形進(jìn)行預(yù)處理、字符定位和單個(gè)字符圖像分割;將分割好的字符圖像送入已訓(xùn)練好的在線訓(xùn)練模型中,得到CNN集成模型中三個(gè)分類器將單個(gè)目標(biāo)圖像分類為每個(gè)類別的概率值;采用投票的方式進(jìn)行最終決策,得到測(cè)試數(shù)據(jù)的類別結(jié)果。本發(fā)明的有益效果是:本發(fā)明提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的工業(yè)字符識(shí)別方法,集成多場景、多類型的工業(yè)字符識(shí)別技術(shù),采用統(tǒng)一的網(wǎng)絡(luò)模型對(duì)不同生產(chǎn)線上的字符進(jìn)行快速、高效的識(shí)別。針對(duì)字符圖像本身及背景中出現(xiàn)的運(yùn)動(dòng)模糊、照明不足、物理損傷、劃痕等干擾都能實(shí)現(xiàn)快速、穩(wěn)定、高精度的識(shí)別。本發(fā)明可以應(yīng)用于需要通過機(jī)器視覺進(jìn)行字符識(shí)別的場合:如識(shí)別小型電子元器件、電路板、各類零件表面的字符噴碼和標(biāo)簽,通過噴碼和標(biāo)簽來辨認(rèn)追蹤產(chǎn)品信息等等。附圖說明圖1是本發(fā)明的模型訓(xùn)練系統(tǒng)流程圖;圖2是本發(fā)明的CNN集成模型分類器訓(xùn)練流程圖;圖3是本發(fā)明的在線識(shí)別系統(tǒng)流程圖;圖4是數(shù)據(jù)增強(qiáng)效果示意圖;圖5是Net-1,Net-2,Net-3的CNN結(jié)構(gòu)模型示意圖;圖6是類別決策流程示意圖;圖7(a)是金屬表面刻印字符示意圖;圖7(b)是金屬表面刻印字符帶明暗變化示意圖;圖7(c)是LCD屏表面液晶字符示意圖;圖7(d)是橡膠表面壓印字符示意圖;圖7(e)是塑料膜表面不連續(xù)的點(diǎn)印字符示意圖;圖7(f)是金屬表面凸起字符示意圖;圖7(g)是電纜表面字符示意圖;圖7(h)是易拉罐底點(diǎn)印字符示意圖。具體實(shí)施方案下面通過具體實(shí)施方式結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。相比于自然場景下的字符,工業(yè)生產(chǎn)線的場景更加復(fù)雜,例如存在低對(duì)比度的背景,較強(qiáng)的光照變化,失焦問題的影響,運(yùn)動(dòng)模糊,工件表面的物理損傷,劃痕等問題。特別是在某些金屬類零件的表面經(jīng)常會(huì)出現(xiàn)光照不均勻?qū)е旅靼底兓谏w了字符輪廓的情況。本發(fā)明的CNN集成模型能夠采用統(tǒng)一的網(wǎng)絡(luò)對(duì)不同類型的字符進(jìn)行識(shí)別。用混合場景字符數(shù)據(jù)集對(duì)CNN集成模型進(jìn)行了訓(xùn)練,得到了一個(gè)適用于多種場景的識(shí)別器,同時(shí)也顯示了CNN集成模型具有較高的識(shí)別精度和對(duì)不同復(fù)雜背景下的工業(yè)場景字符圖像識(shí)別的穩(wěn)定性。工業(yè)場景字符數(shù)據(jù)集本發(fā)明的字符數(shù)據(jù)集主要由可共享的自然場景字符集和從工業(yè)生產(chǎn)線圖片截取的字符兩部分建立,自然場景字符集的主要來源為ICDAR2003數(shù)據(jù)集,另外一部分工業(yè)生產(chǎn)線數(shù)據(jù)集的采集,除了從工業(yè)生產(chǎn)線直接獲取的字符圖像外,還需采用工業(yè)相機(jī)拍攝字符圖像來模擬真實(shí)的工業(yè)生產(chǎn)場景,從而建立字符數(shù)據(jù)集。數(shù)據(jù)集對(duì)于深度神經(jīng)網(wǎng)絡(luò)是非常重要的一個(gè)組成部分,本發(fā)明建立了兩種數(shù)據(jù)集:混合場景字符數(shù)據(jù)集①和單一場景字符數(shù)據(jù)集②?;旌蠄鼍白址麛?shù)據(jù)集包含從ICDAR-2003集合中獲取的數(shù)據(jù)和自主拍攝的多種工業(yè)字符數(shù)據(jù)集,數(shù)據(jù)集分為兩部分:訓(xùn)練子集(包含18120張字符圖像)和測(cè)試子集(包含1768張字符圖像),這些字符圖像有不同的字體、顏色并呈現(xiàn)不用的變形程度。單一場景字符數(shù)據(jù)集指從單一生產(chǎn)線圖像中獲得的一系列的字符圖像,它們有相似的外觀和背景條件。每個(gè)單一場景字符數(shù)據(jù)集也分為訓(xùn)練子集和測(cè)試子集兩部分。在在線識(shí)別過程中,僅采用某一目標(biāo)類型的字符數(shù)據(jù)完成訓(xùn)練以滿足特定生產(chǎn)線的識(shí)別要求。數(shù)據(jù)增強(qiáng)及預(yù)處理由于人工收集拍攝的數(shù)據(jù)量有限,需要對(duì)字符圖像進(jìn)行一系列的變化操作來進(jìn)一步擴(kuò)大數(shù)據(jù)集,也稱為數(shù)據(jù)增強(qiáng)。數(shù)據(jù)增強(qiáng)操作同時(shí)還有利于提高學(xué)習(xí)算法的泛化能力。步驟③和步驟④的采用的數(shù)據(jù)增強(qiáng)操作:首先,利用灰度反相變換處理字符圖像,將數(shù)據(jù)擴(kuò)大為原來的2倍;然后進(jìn)行旋轉(zhuǎn)變換,左右各旋轉(zhuǎn)3°,將數(shù)據(jù)繼續(xù)擴(kuò)大為原來的6倍;然后再進(jìn)行平移變換,上下左右分別平移1個(gè)像素,至此已將數(shù)據(jù)擴(kuò)大為原來的24倍;最后,采用隨機(jī)添加高斯模糊、高斯噪聲和模擬工業(yè)劃痕的方法進(jìn)一步擴(kuò)大數(shù)據(jù)集?;叶确聪?、旋轉(zhuǎn)、平移變換均為簡單的像素級(jí)處理方法,為基礎(chǔ)變換,即流程中的步驟⑤,其中旋轉(zhuǎn)和平移變換不改變字符結(jié)構(gòu),缺失邊緣以原圖像對(duì)應(yīng)位置像素值填充;添加模糊、噪聲和模擬劃痕為字符圖像添加了干擾,即流程中的步驟⑥。處理后的字符圖像如附圖4所示,添加的變化從左到右分別為原圖、反相、旋轉(zhuǎn)、平移、模糊、噪聲和劃痕。步驟⑦和步驟⑧為數(shù)據(jù)預(yù)處理操作,主要包含兩步,第一步,將全部圖像歸一化為32×32的灰度圖像;第二步,計(jì)算得到訓(xùn)練集中所有圖像的均值,并對(duì)數(shù)據(jù)集中的所有圖像進(jìn)行按位置減去對(duì)應(yīng)像素位置的均值的處理,計(jì)算公式如下:其中,I為字符灰度圖像,n為訓(xùn)練集全部圖像數(shù)量。進(jìn)行減去圖像均值的處理可以使字符圖像間的灰度差異更小,對(duì)白底黑字和黑底白字間的對(duì)比度過度更平緩。CNN集成模型結(jié)構(gòu)及訓(xùn)練方法步驟⑨和所采用的CNN集成模型訓(xùn)練流程由附圖2給出,附圖2中步驟的目標(biāo)數(shù)據(jù)集對(duì)應(yīng)步驟①,步驟②的混合場景字符數(shù)據(jù)集和單一場景字符數(shù)據(jù)集。本發(fā)明提出的CNN集成模型的核心思想是訓(xùn)練具有準(zhǔn)確性和多樣性的個(gè)體學(xué)習(xí)器,其中個(gè)體學(xué)習(xí)器采用卷積神經(jīng)網(wǎng)絡(luò),準(zhǔn)確性通過網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)加強(qiáng)實(shí)現(xiàn),多樣性通過和集成學(xué)習(xí)方法相結(jié)合實(shí)現(xiàn)。個(gè)體學(xué)習(xí)器的卷積神經(jīng)網(wǎng)絡(luò)分為前向傳播和反向傳播兩個(gè)階段。CNN的前向傳播過程首先將預(yù)處理后的二維字符圖像放入輸入層,通過卷積核對(duì)輸入層進(jìn)行卷積運(yùn)算,增加偏置,這部分計(jì)算過程可以表示為:xl=f(wlxl-1+bl)(2)其中,l為當(dāng)前層(卷積層),l層神經(jīng)元的輸入為l-1層(輸入層)的輸出xl-1,對(duì)應(yīng)的連接權(quán)值為wl,偏置為bl,這里以Sigmoid函數(shù)作為卷積神經(jīng)網(wǎng)絡(luò)的激活函數(shù)為例進(jìn)行說明,Sigmoid函數(shù)表示為f(x)=(1+exp(-x))-1。得到卷積層的特征圖后,對(duì)每個(gè)特征圖進(jìn)行下采樣,即分別對(duì)每個(gè)特征圖中2×2的領(lǐng)域采用最大池化或者平均池化等方法進(jìn)行處理(此處選擇最大池化表示),這部分計(jì)算過程可表示為:xl=f(βlg(xl-1)+bl)(3)其中,g(x)在此處選擇最大池化,最大池化函數(shù)表示為g(x)=max(x)。CNN中的卷積核,也就是連接層與層之間的權(quán)值矩陣,是通過反向傳播算法訓(xùn)練得到的。針對(duì)本發(fā)明62類分類問題的卷積神經(jīng)網(wǎng)絡(luò)模型,使用平方誤差代價(jià)函數(shù)來衡量誤差,設(shè)N為訓(xùn)練樣本個(gè)數(shù),則誤差EN為:其中,代表第n個(gè)樣本的目標(biāo)輸出的第k維,代表第n個(gè)樣本對(duì)應(yīng)的實(shí)際輸出的第k維。全部訓(xùn)練樣本的誤差即為每個(gè)訓(xùn)練樣本誤差累加和,這里先只考慮只有一個(gè)樣本的情況,則第n個(gè)樣本的誤差可以表示為:通過調(diào)整層間連接的權(quán)值,使誤差最小化,更新權(quán)值的過程一般采用梯度下降法。通過公式(6)不斷沿著梯度反方向迭代更新,使誤差逐漸下降,同時(shí)使卷積神經(jīng)網(wǎng)絡(luò)模型逐漸逼近目標(biāo)函數(shù)。式中,學(xué)習(xí)率η的取值一般隨迭代次數(shù)而減小,為誤差函數(shù)關(guān)于權(quán)值的偏導(dǎo)數(shù),這種誤差可以逐層傳遞。公式(2)計(jì)算過程也可表述為xl=f(ul),ul=wlxl-1+bl,則未知項(xiàng)可通過如下計(jì)算推導(dǎo)得到:又有稱δ為基的靈敏度,用于代表反向傳播回來的誤差,因?yàn)樗钥傻茫簩⑹?8)代入公式(6),可求得了權(quán)值更新的迭代公式。通過以上的公式推導(dǎo),對(duì)CNN前向傳播和反向傳播的權(quán)值更新有了較為清晰的了解。在得到最終的類別前,需要訓(xùn)練一個(gè)分類器用于將字符特征分類為最終的類別標(biāo)簽。由于在本發(fā)明中要進(jìn)行62類分類,而Softmax分類器由傳統(tǒng)的LogisticRegression分類器擴(kuò)展而來,區(qū)別于LogisticRegression分類器僅能做二分類,Softmax分類器能夠完成多分類,并得到分類為每個(gè)類別的概率值,所以這里采用Softmax分類器進(jìn)行多分類。CNN集成模型的每個(gè)網(wǎng)絡(luò)結(jié)構(gòu)中都采用Softmax層作為特征分類器。Softmax函數(shù)的系統(tǒng)方程為:其中,x(i)代表輸入的樣本,y(i)代表樣本x(i)對(duì)應(yīng)的類別,共62類因此i=1...62,θ為函數(shù)參數(shù)。求解出方程中的參數(shù),由Softmax的系統(tǒng)方程就可以求得每個(gè)樣本分類到每一類的概率值,表示為p(y=k|x;θ),即函數(shù)輸出為最終所求概率。參數(shù)θ求解可以通過梯度下降法,首先需要求出損失函數(shù)的偏導(dǎo)函數(shù),進(jìn)而通過參數(shù)迭代更新求解。Softmax損失函數(shù)方程下所示:其中,1{}是指示性函數(shù),表示當(dāng)大括號(hào)中的值為真時(shí),函數(shù)結(jié)果為1,否則結(jié)果為0。進(jìn)而求出損失函數(shù)的偏導(dǎo)數(shù)為:可以通過權(quán)值更新進(jìn)行參數(shù)的求解,如式(12)所示:其中,表示損失函數(shù)對(duì)第j個(gè)類別的第l個(gè)參數(shù)的偏導(dǎo)數(shù)。網(wǎng)絡(luò)模型中每個(gè)卷積層后采用ReLU函數(shù)作為激活函數(shù),用于增加網(wǎng)絡(luò)模型的非線性,ReLU函數(shù)表示為f(x)=max(0,x),其相比于一般的Sigmoid函數(shù),ReLU函數(shù)作為激活函數(shù)收斂速度更快,且其只需要一個(gè)閾值就可以得到激活值,不用去進(jìn)行過多復(fù)雜的運(yùn)算。CNN集成模型共包含三個(gè)CNN結(jié)構(gòu):Net-1、Net-2、Net-3,具體實(shí)現(xiàn)細(xì)節(jié)如圖5所示。Net-1對(duì)應(yīng)圖5中的第一個(gè)CNN結(jié)構(gòu)。Net-1包含3個(gè)由卷積層和下采樣層重復(fù)堆疊的特征提取階段和2個(gè)全連接層,采用Softmax層作為特征分類器。傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)通常是嚴(yán)格按照前向傳播的過程組織構(gòu)建的,也就是說每一層的輸入僅接受它上一層的輸出值,這種特征提取的方式是相對(duì)比較簡單的。而本發(fā)明采用了多級(jí)特征融合的方式,將每一個(gè)特征提取層或特定某幾個(gè)特征提取層的輸出進(jìn)行融合,共同輸入全連接層,這樣得到的集成特征向量傳入分類器作為最終的特征提取結(jié)果。如圖5所示,在Net-1中提取conv1層特征輸入一個(gè)由兩個(gè)卷積層構(gòu)成的簡單線性結(jié)構(gòu),選擇卷積層作為降低特征圖分辨率的方式,并且忽略每層之間的激活函數(shù)處理。由于Max-pooling函數(shù)僅傳遞當(dāng)前層的最強(qiáng)響應(yīng),使用卷積層代替下采樣層這一操作可以避免信息的丟失,同時(shí)提取和保留局部圖像更多的細(xì)節(jié)。另外,卷積層的應(yīng)用同樣可以達(dá)到降低分辨率的作用,改變特征圖的尺寸以使所提取的conv1的特征圖與conv3的特征圖都具有相同的大小。多級(jí)特征相比單個(gè)特征能夠?yàn)榉诸惼魈峁└鼮樨S富的特征表達(dá),和不同尺度的感受野大小,對(duì)工業(yè)字符的識(shí)別效果有很好的提升。Net-2也同樣包含3個(gè)特征提取階段,同樣采用了多級(jí)特征融合,如圖5中給出了具體的結(jié)構(gòu)細(xì)節(jié)。在Net-2中所有的卷積層都采用3×3的卷積核,這是能夠捕捉圖像左右、上下、中心信息的最小的感受野大小。另外卷積層步長設(shè)置為1個(gè)像素值,padding操作(特征圖的周圍補(bǔ)零操作)參數(shù)設(shè)置為1個(gè)像素值,用于保持卷積后圖像的空間分辨率。Net-3的結(jié)構(gòu)與Net-2較為相似,但沒有將多級(jí)特征共同輸入全鏈接層??紤]到Net-3有一個(gè)更深的網(wǎng)絡(luò)結(jié)構(gòu),它可以提取更高層次特征并建立更為復(fù)雜的特征表達(dá),若進(jìn)行多級(jí)特征融合訓(xùn)練時(shí)的時(shí)間開銷將更大。通過增加更多的卷積層加深了Net-3的網(wǎng)絡(luò)結(jié)構(gòu),具體實(shí)現(xiàn)如圖5中第三個(gè)結(jié)構(gòu)所示。在建立了三個(gè)網(wǎng)絡(luò)結(jié)構(gòu)作為個(gè)體學(xué)習(xí)器后,將采用圖2所示的訓(xùn)練流程對(duì)CNN(ConvolutionNeuralNetwork)集成模型進(jìn)行訓(xùn)練,步驟所述的數(shù)據(jù)集為網(wǎng)絡(luò)的輸入,步驟至步驟為具體的網(wǎng)絡(luò)訓(xùn)練過程。首先,按照步驟所述的有放回抽樣生成步驟中的三個(gè)有微小差異的樣本空間。給定一個(gè)包含m個(gè)樣本的基礎(chǔ)數(shù)據(jù)集D,對(duì)其進(jìn)行采樣產(chǎn)生數(shù)據(jù)集D':每次隨機(jī)從D中挑選一個(gè)樣本,將其拷貝放入D',然后再將該樣本放回初始數(shù)據(jù)集D中,使得該樣本在下次采樣時(shí)仍有可能被采到;這個(gè)過程重復(fù)執(zhí)行m次后,就得到了包含m個(gè)樣本的數(shù)據(jù)集D'。這樣生成樣本空間的方式對(duì)于后續(xù)的訓(xùn)練有很大好處,既解決了樣本空間的多樣性,又保證了樣本空間的差異性。用同樣的方式抽取三個(gè)有差異的采樣空間后,將其作為上述構(gòu)建的網(wǎng)絡(luò)的數(shù)據(jù)輸入,基于每個(gè)采樣空間分別訓(xùn)練一個(gè)分類器,最后結(jié)合多個(gè)學(xué)習(xí)器得到一個(gè)相對(duì)于單一網(wǎng)絡(luò)模型更為準(zhǔn)確的結(jié)果,即步驟和步驟設(shè)置在訓(xùn)練集上的迭代次數(shù)為30000次,參數(shù)Batch-size設(shè)置為64,學(xué)習(xí)率設(shè)置為0.001,decay設(shè)置為0.0005。CNN集成模型的訓(xùn)練步驟如下:(1)采用上述方式從原始數(shù)據(jù)集中隨機(jī)采樣,產(chǎn)生三個(gè)隨機(jī)樣本空間,確保這些采樣空間與所涉及的原始數(shù)據(jù)集有微小差異。(2)輪流訓(xùn)練三個(gè)網(wǎng)絡(luò)模型。采用上一步得到的三個(gè)樣本空間分別訓(xùn)練Net-1,Net-2,Net-3。這樣就得到了三個(gè)有差異的分類器。(3)一輪訓(xùn)練結(jié)束,返回步驟(1)繼續(xù)執(zhí)行隨機(jī)采樣操作及訓(xùn)練操作,直到達(dá)到預(yù)設(shè)的迭代次數(shù)或三個(gè)結(jié)構(gòu)的誤差分別收斂到一定值。然后保存權(quán)重,得到三個(gè)個(gè)體分類器。CNN集成模型通過降低個(gè)體分類器的方差來提升分類器的泛化能力。由于神經(jīng)網(wǎng)絡(luò)并不是一種穩(wěn)定的學(xué)習(xí)算法,而模型依賴于個(gè)體分類器的穩(wěn)定性,通過上述方式建立的CNN集成模型,即步驟有助于減少訓(xùn)練數(shù)據(jù)中隨機(jī)誤差的干擾。離線訓(xùn)練與在線訓(xùn)練相結(jié)合傳統(tǒng)的CNN訓(xùn)練方式是采用隨機(jī)初始化網(wǎng)絡(luò)權(quán)值,輸入訓(xùn)練數(shù)據(jù)進(jìn)行權(quán)值的迭代更新。這樣的訓(xùn)練方式未加入任何先驗(yàn)信息,在實(shí)際工業(yè)生產(chǎn)線的應(yīng)用中,每次都需要在隨機(jī)值的基礎(chǔ)上更新網(wǎng)絡(luò)模型參數(shù),迭代次數(shù)要求較高耗時(shí)較長。針對(duì)這一問題,本發(fā)明提出了一種訓(xùn)練方式的改進(jìn)方法,分為兩步完成,第一步為離線訓(xùn)練,獲取離線訓(xùn)練模型,即步驟第二步為在線訓(xùn)練,將離線訓(xùn)練模型用作初始化,進(jìn)行特定生產(chǎn)線字符數(shù)據(jù)集的訓(xùn)練,獲取在線訓(xùn)練模型,即步驟具體的訓(xùn)練流程如圖2所示。采用在線訓(xùn)練、離線訓(xùn)練相結(jié)合的方式,通過引入一個(gè)更大更豐富的數(shù)據(jù)集縮短特定生產(chǎn)線上特定數(shù)據(jù)集的收斂時(shí)間,減少迭代次數(shù)。在線識(shí)別流程步驟至步驟為工業(yè)生產(chǎn)線在線識(shí)別流程,通過上述的離線訓(xùn)練與在線訓(xùn)練相結(jié)合的方式訓(xùn)練CNN集成模型,得到在線訓(xùn)練模型用于后續(xù)工業(yè)生產(chǎn)線上的字符識(shí)別工作,即步驟至下面主要介紹在已獲得分類器后,針對(duì)工業(yè)生產(chǎn)線拍攝的實(shí)際字符圖像進(jìn)行識(shí)別的各個(gè)步驟的具體實(shí)現(xiàn)。步驟的目標(biāo)圖像預(yù)處理工作主要目的是對(duì)圖像上的字符進(jìn)行定位,由于所采用的CNN集成模型的個(gè)體分類器為卷積神經(jīng)網(wǎng)絡(luò),在特征提取方面具有旋轉(zhuǎn)、平移、尺度不變性,對(duì)不精確的定位分割有一定的容錯(cuò)能力,抗干擾能力較強(qiáng),因此本發(fā)明在前期的定位分割部分采用傳統(tǒng)的圖像處理方法進(jìn)行實(shí)現(xiàn):(1)實(shí)時(shí)獲取工業(yè)零件表面的字符圖像,調(diào)整好相機(jī)鏡頭光圈、焦距等機(jī)械參數(shù),在零件或工業(yè)產(chǎn)品上方安放光源,拍攝圖片,實(shí)時(shí)獲取待檢測(cè)產(chǎn)品表面圖像。(2)對(duì)于獲取的圖像首先采用直方圖均衡化進(jìn)行對(duì)比度和灰度色調(diào)的調(diào)整,使圖像更加清晰;然后利用Ostu二值化和形態(tài)學(xué)處理等操作凸顯字符區(qū)域,進(jìn)行字符定位。(3)將上述二值化后的字符區(qū)域按照豎直方向投影分割成單個(gè)字符。(4)將分割好的字符歸一化為32×32大小的字符圖像,送入已訓(xùn)練好的CNN集成模型(在線訓(xùn)練模型)中,得到CNN集成模型中三個(gè)分類器將單個(gè)目標(biāo)圖像分類為每個(gè)類別的概率值。下面將說明進(jìn)行最終類別決策的方式,即步驟假設(shè)訓(xùn)練得到的分類器為Ti(x),i=1,2,...,n,通過輸入數(shù)據(jù)x(指輸入的字符圖像)即可得到對(duì)應(yīng)的類別標(biāo)簽。對(duì)于個(gè)體分類器Ti(x)假設(shè)輸入x通過由隨機(jī)樣本空間訓(xùn)練得到的分類器,能夠獲得輸入對(duì)應(yīng)的最可能類別的概率值Pi(x),那么R(x)就是輸入x對(duì)應(yīng)的最終類別標(biāo)簽:其中MajorityVote{}表示“多少投票”,其對(duì)應(yīng)的具體測(cè)試過程如附圖6所示,得到各個(gè)分類器對(duì)每一類的概率值后,采用投票的方式進(jìn)行最終決策,即步驟得到測(cè)試數(shù)據(jù)的類別結(jié)果。至此,完成了從訓(xùn)練到最終決策的整個(gè)過程。結(jié)合下面的具體字符圖像上的識(shí)別結(jié)果進(jìn)一步闡述本發(fā)明的效果。附圖7(a)展示了在不同背景條件下金屬表面刻印字符的識(shí)別效果,分別有深色背景、淺色背景兩種;附圖7(b)給出了金屬表面有明暗對(duì)比變化的字符圖像識(shí)別效果;附圖7(c)為LCD屏上顯示的液晶字符;附圖7(d)為橡膠制品表面壓印的浮凸字符;附圖7(e)展示了塑料膜表面不連續(xù)的點(diǎn)印字符;附圖7(f)顯示了另一種金屬表面凸起字符識(shí)別效果;附圖7(g)為電纜表面字符;附圖7(h)為易拉罐底點(diǎn)印字符識(shí)別效果。(注意:上述實(shí)驗(yàn)中的不同材質(zhì)表面的不同字符識(shí)別都采用同一網(wǎng)絡(luò)模型和參數(shù)。)訓(xùn)練測(cè)試時(shí)間是進(jìn)行在線工業(yè)字符識(shí)別的另一個(gè)重要因素,然而高識(shí)別率通常意味著更長的訓(xùn)練時(shí)間。本發(fā)明中引入一個(gè)更大的混合場景字符數(shù)據(jù)集,對(duì)單一特定場景下使用的網(wǎng)絡(luò)模型進(jìn)行預(yù)訓(xùn)練即離線訓(xùn)練,初始化網(wǎng)絡(luò)模型權(quán)值,以加快網(wǎng)絡(luò)的訓(xùn)練誤差收斂速度,從而縮短訓(xùn)練時(shí)間。表1中列出了CNN集成模型中各個(gè)基學(xué)習(xí)器在單一場景字符數(shù)據(jù)集上的訓(xùn)練的時(shí)間以及整體測(cè)試時(shí)間。所有的實(shí)驗(yàn)的硬件條件為GTX970。在不同數(shù)據(jù)集上的識(shí)別準(zhǔn)確率統(tǒng)計(jì)如表2所示。表1訓(xùn)練及測(cè)試時(shí)間類別測(cè)試識(shí)別準(zhǔn)確率Net-1訓(xùn)練時(shí)間(分)26.25Net-2訓(xùn)練時(shí)間(分)26.00Net-3訓(xùn)練時(shí)間(分)20.12平均測(cè)試時(shí)間(毫秒)5.78識(shí)別準(zhǔn)確率99.07%表2不同數(shù)據(jù)集識(shí)別準(zhǔn)確率數(shù)據(jù)集Net-1Net-2Net-3CNN集成模型MD91.06%90.29%91.23%93.46%SD-197.18%98.12%97.20%99.07%SD-297.71%98.12%98.00%98.72%SD-394.51%93.59%93.60%96.33%本發(fā)明公開了一種在工業(yè)環(huán)境中字符識(shí)別方法,其特點(diǎn)在于采用同一個(gè)網(wǎng)絡(luò)實(shí)現(xiàn)了在多材質(zhì)表面、多種不同類型字符的穩(wěn)定高效識(shí)別,具有如下的特點(diǎn):1.穩(wěn)定可靠——由于選取的個(gè)體分類器在提取特征階段具有很好的抗干擾性,且采用了多種數(shù)據(jù)增強(qiáng)的方法對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行變換,使模型在訓(xùn)練過程中見過更多有差異的數(shù)據(jù),因此本發(fā)明公開的方法具有良好的魯棒性。2.訓(xùn)練速度快——采用了離線訓(xùn)練和在線訓(xùn)練相結(jié)合的疊加訓(xùn)練方式,加快了誤差的收斂速度,從而提高了在線訓(xùn)練測(cè)試的速度。3.高精度——通過訓(xùn)練多個(gè)個(gè)體學(xué)習(xí)器進(jìn)行共同決策,避免了單一模型的不穩(wěn)定性,同時(shí)增強(qiáng)了網(wǎng)絡(luò)決策的置信度,提高了識(shí)別準(zhǔn)確率。引入了一個(gè)更大的數(shù)據(jù)集為基礎(chǔ),不僅提升了在線識(shí)別的效果,而且提升了網(wǎng)絡(luò)模型的泛化能力。最終得到了在多種混合場景工業(yè)字符數(shù)據(jù)集上93%以上和單一場景工業(yè)字符數(shù)據(jù)集上99%以上的準(zhǔn)確率。以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對(duì)于本發(fā)明所屬
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。當(dāng)前第1頁1 2 3