專利名稱:基于層次時(shí)間記憶算法的圖像理解系統(tǒng)及其圖像理解方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像語義理解,特別是一種基于層次時(shí)間記憶算法的圖像理解系統(tǒng)及圖像理解方法,具體是指ー種基于層次時(shí)間記憶算法,對圖像的多個(gè)屬性進(jìn)行識(shí)別,根據(jù)識(shí)別結(jié)果添加語義標(biāo)簽,將圖像內(nèi)容信息轉(zhuǎn)化成自然語言描述的圖像理解的方法。
背景技術(shù):
圖像理解(Image Understanding, IU)就是對圖像的語義理解。它是以圖像為對象,知識(shí)為核心,研究圖像中有什么目標(biāo)、目標(biāo)之間的相互關(guān)系、圖像是什么場景以及如何應(yīng)用場景的ー門學(xué)科。圖像理解屬于數(shù)字圖像處理的研究內(nèi)容之一,屬于高層操作。其重點(diǎn)是在圖像分析的基礎(chǔ)上進(jìn)一歩研究圖像中各目標(biāo)的性質(zhì)及其相互關(guān)系,并得出對圖像內(nèi)容含義的理解以及對原來客觀場景的解釋,進(jìn)而指導(dǎo)和規(guī)劃行為。圖像理解所操作的對象是從描述中抽象出來的符號(hào),其處理過程和方法與人類的思維推理有許多相似之處。目前常用的圖像理解方法主要是先使用ー些圖像處理算法對圖像進(jìn)行特征提取,然后再使用圖像識(shí)別算法和推理算法對提取出的特征進(jìn)行分類識(shí)別,常用的圖像處理算法包括快速傅利葉變換、邊緣提取等算法,常用的圖像識(shí)別和推理算法包括支持向量機(jī)(SVM)、隱藏馬爾科夫模型(Hidden Markov Models, HMM)和矩特征Zernike矩等,從算法的實(shí)現(xiàn)上來看,目前常用的圖像處理算法普遍存在著計(jì)算量大的缺點(diǎn),隱藏馬爾科夫模型中已有的ニ維Markov模型存在著局部依賴性強(qiáng)、計(jì)算過程復(fù)雜難以編程實(shí)現(xiàn)的缺點(diǎn),矩特征Zernike矩對圖像的識(shí)別效果容易受參數(shù)的影響,識(shí)別波動(dòng)率大。層次時(shí)間記憶是ー種新型的算法模型,模仿了人類新大腦皮層的結(jié)構(gòu)和信息處理方式,應(yīng)用了貝葉斯網(wǎng)絡(luò)中的節(jié)點(diǎn)間信息持續(xù)共享原理和信度傳播原理。層次時(shí)間記憶網(wǎng)絡(luò)是ー個(gè)樹形多層的節(jié)點(diǎn)層次結(jié)構(gòu),包括輸入層、中間層和輸出節(jié)點(diǎn),其中輸入層中包含有多個(gè)輸入層節(jié)點(diǎn),中間層中包含有多個(gè)中間層節(jié)點(diǎn),而且層次時(shí)間記憶網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)均包含ー個(gè)具有計(jì)算功能的計(jì)算單元和ー個(gè)具有存儲(chǔ)功能的存儲(chǔ)單元,并且接收到的信息在垂直的范圍內(nèi)可以循環(huán)傳遞。作為ー種新的算法模型,層次時(shí)間記憶算法模型以其抗噪聲、容錯(cuò)、自適應(yīng)、自學(xué)能力強(qiáng)和識(shí)別于一體等特點(diǎn)受到研究人員的重視,在模式識(shí)別領(lǐng)域中得到探索性的應(yīng)用。本發(fā)明提出的基于層次時(shí)間記憶算法的圖像理解系統(tǒng)和圖像理解方法,針對圖像理解的需求,應(yīng)用了ー種新的、運(yùn)算量更小的層次時(shí)間記憶算法,并結(jié)合了數(shù)據(jù)庫技術(shù),使得圖像理解系統(tǒng)更容易實(shí)現(xiàn),而且具有更強(qiáng)的靈活性,并克服了采用傳統(tǒng)的圖像理解方法計(jì)算量大、實(shí)現(xiàn)困難等缺點(diǎn),可以廣泛的應(yīng)用在非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)、個(gè)性化網(wǎng)絡(luò)服務(wù)和安防監(jiān)控等多種領(lǐng)域。
發(fā)明內(nèi)容
本發(fā)明公布了一種基于層次時(shí)間記憶算法的圖像理解系統(tǒng)及其圖像理解方法,根據(jù)本發(fā)明所述的圖像理解系統(tǒng)和圖像理解方法,可以有效的將圖像內(nèi)容信息轉(zhuǎn)化為自然語言描述,實(shí)現(xiàn)對圖像內(nèi)容的深度理解。本發(fā)明的技術(shù)解決方案如下一種基于層次時(shí)間記憶算法的圖像理解系統(tǒng),其特點(diǎn)在于包括依次連接層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊、層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫和圖像理解模塊,所述的層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊包括圖像存儲(chǔ)子模塊和訓(xùn)練實(shí)施子模塊,所述的圖像理解模塊包括讀取子模塊和理解實(shí)施子模塊,其連接關(guān)系是所述的圖像存儲(chǔ)子模塊的輸入端即層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊的輸入端,所述的圖像存儲(chǔ)子模塊的輸出端與所述的訓(xùn)練實(shí)施子模塊的輸入端相連,所述的訓(xùn)練實(shí)施子模塊的輸出端與所述的層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫的輸入端相連,所述的讀取子模塊的第一輸入端供接收外部待理解目標(biāo)圖像,該讀取子模塊的第二輸入端與所述的層次時(shí)間記憶網(wǎng)絡(luò)數(shù) 據(jù)庫的輸出端相連,讀取子模塊的輸出端與所述的理解實(shí)施子模塊的輸入端相連,該理解實(shí)施子模塊的輸出端即為本系統(tǒng)的輸出端。利用上述的圖像理解系統(tǒng)的圖像理解方法,其特征在于該方法包括以下步驟a)所述的層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊的輸入端接收訓(xùn)練圖像,構(gòu)建訓(xùn)練圖像集P并存入所述的圖像存儲(chǔ)子模塊;b)所述的訓(xùn)練實(shí)施子模塊利用訓(xùn)練圖像集P對層次時(shí)間記憶網(wǎng)絡(luò)進(jìn)行訓(xùn)練;c)將訓(xùn)練好的層次時(shí)間記憶網(wǎng)絡(luò)存入所述的層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫;d)所述的圖像理解模塊接收外部待理解的目標(biāo)圖像op,利用層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫中存儲(chǔ)的各層次時(shí)間記憶網(wǎng)絡(luò)對所述的目標(biāo)圖像op進(jìn)行理解。所述的構(gòu)建訓(xùn)練圖像集P的過程如下根據(jù)實(shí)際需求,用戶有目的地選取具有代表性的分屬n個(gè)類別的若干圖像組成訓(xùn)練圖像集P,并且將所述的圖像按類別存放在不同的圖像組中,并為每個(gè)圖像組設(shè)置語義標(biāo)簽,即P = {(SP1, Iabel1), (SP2, Iabel2), ... (SPi, Iabeli), ... (SPn, labeln)},n ^ I其中SPi為第i個(gè)圖像組,Iabeli為第i個(gè)圖像組的語義標(biāo)簽,Iabeli是SPi所屬類別的自然語言描述,每ー個(gè)圖像組中又包含若干圖像,為圖像組中每個(gè)圖像進(jìn)行編號(hào),第i個(gè)圖像組SPi表示為SPi = {pia, pij2,…Pi,」,上式表示圖像組SPi中的每ー個(gè)圖像Pu的第一個(gè)下標(biāo)i代表此圖像所在的圖像組,并且Pm也有相應(yīng)的語義標(biāo)簽Iabeli,然后用戶將訓(xùn)練圖像集P輸入到層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊的輸入端,將所述的訓(xùn)練圖像集P的圖像按圖像組和語義標(biāo)簽分別存儲(chǔ)在圖像存儲(chǔ)子模塊(1-1)。所述的訓(xùn)練實(shí)施子模塊對層次時(shí)間記憶網(wǎng)絡(luò)進(jìn)行訓(xùn)練,包括以下步驟b-1)所述的訓(xùn)練實(shí)施子模塊創(chuàng)建ー個(gè)未經(jīng)訓(xùn)練的層次時(shí)間記憶網(wǎng)絡(luò)uHTM,以下簡稱為uHTM,uHTM是ー個(gè)樹形多層的節(jié)點(diǎn)層次結(jié)構(gòu),包括輸入層、中間層和ー個(gè)輸出節(jié)點(diǎn),所述的輸入層包含NXM個(gè)輸入層節(jié)點(diǎn),所述的中間層包含eXf個(gè)中間層節(jié)點(diǎn),每個(gè)中間層
節(jié)點(diǎn)與所述的輸入層中IxmClマ’ m ニア)個(gè)輸入層節(jié)點(diǎn)相連,所述的N,M,且e和f可分別整除N和M,所述的輸出節(jié)點(diǎn)與所述的中間層的e X f個(gè)中間層節(jié)點(diǎn)相連,所有的節(jié)點(diǎn)都包含一個(gè)計(jì)算單元和ー個(gè)存儲(chǔ)單元;b-2)所述的訓(xùn)練實(shí)施子模塊對存儲(chǔ)在圖像存儲(chǔ)子模塊的訓(xùn)練圖像集P中的每個(gè)圖像Pi, p采用分量法、最大值法或加權(quán) 平均法等圖像灰度化處理方法,提取其ニ維灰度信息,得到ニ維矩陣Ai, j ;b-3)所述的訓(xùn)練實(shí)施子模塊采用最鄰近插值、雙線性插值或三次卷積法等常用圖像縮放算法將所述的ニ維矩陣Ai, j轉(zhuǎn)換成大小為NXM的ニ維矩陣Bi, j,并且Bi, j與訓(xùn)練圖像集P中的每個(gè)圖像Pu對應(yīng)著相同的圖像組,所述的ニ維矩陣集B =…
R R }
Di,j,Di,j+l J ,b-4)空間模式集的學(xué)習(xí),包括下列步驟①設(shè)定訓(xùn)練初始值所述的訓(xùn)練實(shí)施子模塊設(shè)定歐氏距離參數(shù)D和歐氏距離參數(shù)增量AD,并將uHTM的中間層中每ー個(gè)中間層節(jié)點(diǎn)的空間模式集Y和uHTM的輸出節(jié)點(diǎn)的空間模式集Z初始化為空集,將uHTM的輸出節(jié)點(diǎn)的時(shí)間模式集Time初始化為空集,并設(shè)定uHTM的輸出節(jié)點(diǎn)的空間模式集Z中所能包含的聚類矩陣的個(gè)數(shù)最大值為N。,并保存在相應(yīng)節(jié)點(diǎn)的存儲(chǔ)單元中;②所述的ー個(gè)輸入層節(jié)點(diǎn)按B1,いB1,…ん彳,BiJ1…的順序讀取所述的ニ維矩陣集B = {Bia,…Bi,」.,Bij J+1-}中的ニ維矩陣Bi,j保存在相應(yīng)節(jié)點(diǎn)的存儲(chǔ)單元;③將該ニ維矩陣傳遞給與此輸入層節(jié)點(diǎn)相連的uHTM的中間層節(jié)點(diǎn);④所述的中間層節(jié)點(diǎn),將從與其相連的I Xm個(gè)輸入層節(jié)點(diǎn)接收到的ニ維矩陣
組成ー個(gè)IXm的矩陣Ma,并保存到該中間層節(jié)點(diǎn)的存儲(chǔ)單元中,然后該中間層節(jié)點(diǎn)的計(jì)算単元對該中間層節(jié)點(diǎn)的空間模式集Y進(jìn)行判斷并進(jìn)行處理當(dāng)空間模式集Y為空集,則直接將該IXm的矩陣Ma作為ー個(gè)聚類矩陣加入到該中間層節(jié)點(diǎn)的空間模式集Y中;當(dāng)空間模式集Y不為空集,則此中間層節(jié)點(diǎn)的計(jì)算單元按下列公式計(jì)算出矩陣Ma與空間模式集Y中各聚類矩陣的歐氏距離d(Ma,0)d (Ma, 0) = H (Ma(x, y) - 0(x, y))2
\ X=I タ=1其中0為空間模式集Y中的一個(gè)聚類矩陣,Ma (X,y)和0(x,y)分別代表矩陣Ma與矩陣0中坐標(biāo)為(x,y)的值;當(dāng)所述的歐氏距離d(Ma,0) > D,則保持空間模式集Y不變,當(dāng)所述的d(Ma,0)彡D,則將該IXm的矩陣Ma作為ー個(gè)新的聚類矩陣加入到空間模式集Y中,⑤所有的中間層節(jié)點(diǎn)按步驟④處理后,然后計(jì)算出中間層節(jié)點(diǎn)的空間模式集Y中的各聚類矩陣的平均值矩陣Me,然后將該平均值矩陣Me傳遞給uHTM的輸出節(jié)點(diǎn);⑥所述的輸出節(jié)點(diǎn)從各個(gè)中間層節(jié)點(diǎn)接收到的eXf個(gè)平均值矩陣Me正好可以組成ー個(gè)NXM的矩陣Mt,并將該Mt存儲(chǔ)在所述的輸出節(jié)點(diǎn)的存儲(chǔ)單元中,然后所述的輸出節(jié)點(diǎn)的計(jì)算單元檢查該輸出節(jié)點(diǎn)的存儲(chǔ)單元所存儲(chǔ)的空間模式集Z并作如下處理當(dāng)所述的空間模式集Z為空集,則將輸入矩陣Bi,j作為ー個(gè)聚類矩陣加入空間模式集Z中;當(dāng)空間模式集Z不為空,則計(jì)算矩陣Mt與空間模式集Z中各聚類矩陣的歐氏距離,當(dāng)所述的歐氏距離大于或等于所述的歐氏距離參數(shù)D,維持現(xiàn)狀,若所述的歐氏距離小于歐氏距離參數(shù)D,則將所述的輸入的ニ維矩陣作為ー個(gè)新的聚類矩陣加入到所述的空間模式集Z,聚類矩陣數(shù)N+1 ;⑦當(dāng)聚類矩陣數(shù)=Nc吋,則轉(zhuǎn)入步驟⑧,Nc為本輸出節(jié)點(diǎn)的空間模式集Z中聚類矩陣的個(gè)數(shù)的最大值N。;當(dāng)聚類矩陣數(shù)< N。,且ニ維矩陣集B中所有的ニ維矩陣未被讀取完,則返回步驟②,繼續(xù)進(jìn)行空間模式集的學(xué)習(xí); 當(dāng)聚類矩陣數(shù)< N。,且ニ維矩陣集B中所有的ニ維矩陣已被讀完,則令歐氏距離參數(shù)D = D+A D,返回步驟②重新進(jìn)行空間模式集的學(xué)習(xí);⑧空間模式集的學(xué)習(xí)結(jié)束,將空間模式集Z =,…CaJ保存在輸出節(jié)點(diǎn)的存儲(chǔ)單元中,其中Cg代表ー個(gè)聚類矩陣,即輸入的ニ維矩陣集B中的ー個(gè)NXM的ニ維矩陣
Bi,j°b-5)時(shí)間模式集的學(xué)習(xí)①所述的uHTM的輸出節(jié)點(diǎn)的計(jì)算單元將所述的空間模式集Z = Ic1,…,cg,
中的聚類矩陣分成n組,分組方法為,由空間模式集的學(xué)習(xí)過程可知,空間模式集Z = Jc1,…,cg,中的姆ー個(gè)聚類矩陣都是ニ維矩陣集B = {Bia, Blj2-^Bijl,…も丨Bi,j+1...}中的一個(gè)ニ維矩陣,當(dāng)ニ維矩陣Cg的第一個(gè)下標(biāo)為i,則將Cg歸入分組Gi中,分組之后,就得到一個(gè)時(shí)間模式集Time = (G1,…Gi,…Gj,其中分組Gi中包含qi個(gè)聚類矩陣;②uHTM的輸出節(jié)點(diǎn)的計(jì)算單元根據(jù)ニ維矩陣集B中不同ニ維矩陣輸入的前后關(guān)系計(jì)算出時(shí)間鄰接矩陣T,為了計(jì)算時(shí)間鄰接矩陣,首先要計(jì)算出時(shí)間模式集Time =(G1,…Gi, -GJ中各分組中聚類矩陣的平均值矩陣E1,…Ei,…En,其中平均值矩陣Ei是分組Gi中包含的qi個(gè)聚類矩陣的平均值矩陣,由以上計(jì)算過程可知,平均值矩陣Ei的大小也為NXM,然后利用以下公式計(jì)算出時(shí)間鄰接矩陣T :
I n-\T = -Yj(Em-E1)
n !=1其中n為時(shí)間模式集Time = (G1, -Gi, ".Gj中分組的個(gè)數(shù),得到的時(shí)間鄰接矩陣T也是ー個(gè)NXM的ニ維矩陣,并將時(shí)間鄰接矩陣T保存在uHTM的輸出節(jié)點(diǎn)的存儲(chǔ)單元中;③uHTM的輸出節(jié)點(diǎn)的計(jì)算單元依據(jù)以下公式計(jì)算時(shí)間模式集Time中姆ー個(gè)分組Gi對應(yīng)的時(shí)間鄰接量h ^ Z Zr(^v)
qt u=i v=i其中 是分組Gi中聚類矩陣的數(shù)量,T (u,v)為時(shí)間鄰接矩陣T中坐標(biāo)為(U,v)的元素;④uHTM中的輸出節(jié)點(diǎn)將所述的空間模式集Z、時(shí)間模式集Time以及時(shí)間模式集Time中各分組Gi對應(yīng)的時(shí)間鄰接量h存儲(chǔ)在輸出節(jié)點(diǎn)的存儲(chǔ)單元中,獲得訓(xùn)練好的層次時(shí)間記憶網(wǎng)絡(luò)tHTM ;b-5)訓(xùn)練實(shí)施子模塊(1-2)將訓(xùn)練后的層次時(shí)間記憶網(wǎng)絡(luò)tHTM用可擴(kuò)展標(biāo)記語言(XML)保存成XML文件,將此XML文件的文件名XMLname、存儲(chǔ)路徑XMLpath、層次時(shí)間記憶網(wǎng)絡(luò)輸入端的大小InputSize、可識(shí)別語義標(biāo)簽的數(shù)量LabelNum和語義標(biāo)簽集Labels組成數(shù)據(jù)幀HTMInfo,其中Labels的表示方法為Labels = " Iabelflabel2+...+Iabeli+...+Iabeln"即各語義標(biāo)簽Iabeli按其下標(biāo)i的大小依次排列,中間用字符“ + ”相連,作為分割各語義標(biāo)簽的標(biāo)志位,然后將HTMInfo通過層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊的輸出端發(fā)送到層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫進(jìn)行存儲(chǔ)。所述的將訓(xùn)練好的層次時(shí)間記憶網(wǎng)絡(luò)存入所述的層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫的具體過程是在層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)表trainedHTM,表的結(jié)構(gòu)如以下SQL語言所述CREATE TABLE IF NOT EXISTS trainedHTM(XMLname CHAR (255) NOT NULL,XMLpath CHAR (255) NOT NULL,InputSize CHAR(255) NOT NULL,LabelNum INT NOT NULL,Labels CHAR(255) NOT NULL)其中XMLname為保存有訓(xùn)練好的層次時(shí)間記憶網(wǎng)絡(luò)的XML文件的文件名,XMLname為上述XML文件的存儲(chǔ)路徑,InputSize為輸入層大小,LabelNum為可識(shí)別的語義標(biāo)簽的數(shù)目,Labels為語義標(biāo)簽集,CHAR表示此字段為字符格式,INT表示此字段為整數(shù)格式,NOT NULL表示此字段不能為空,然后依照上述數(shù)據(jù)表trainedHTM的數(shù)據(jù)結(jié)構(gòu),將從層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊的輸出端接收到的數(shù)據(jù)幀HTMInfo存入層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫的數(shù)據(jù)表trainedHTM中;所述的對所述的目標(biāo)圖像op進(jìn)行理解,包括以下步驟I)所述的讀取子模塊的第一輸入端接收待理解的目標(biāo)圖像op存儲(chǔ)在讀取子模塊(3-1);2)所述的讀取子模塊的第二輸入端從層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫中輸出端讀取數(shù)據(jù)表trainedHTM中的讀取與待理解的目標(biāo)圖像op相關(guān)的數(shù)據(jù)項(xiàng)HTMdatak,并將其發(fā)送給理解實(shí)施子模塊;3)理解實(shí)施子模塊從所述的數(shù)據(jù)項(xiàng)HTMdatak中解析出訓(xùn)練好的層次時(shí)間記憶網(wǎng)絡(luò)tHTMk的XML文件的文件名XMLnamek, XML文件的存儲(chǔ)路徑XMLpathk,層次時(shí)間記憶網(wǎng)絡(luò)輸入層大小InputSizek,可識(shí)別的語義標(biāo)簽的數(shù)量LabelNumk和語義標(biāo)簽集Labelsk,并根據(jù)存儲(chǔ)路徑XMLpathk加載XML文件,解析出訓(xùn)練好的層次時(shí)間記憶網(wǎng)絡(luò)tHTMk,并設(shè)定判定閾值th ;4)理解實(shí)施子模塊采用分量法、最大值法或加權(quán)平均法等圖像灰度化處理方法,對所述的目標(biāo)圖像OP的ニ維灰度信息,得到ニ維矩陣A2 ;采用最鄰近插值、雙線性插值或三次卷積法等常用圖像縮放算法對ニ維矩陣A2進(jìn)行大小變換,得到目標(biāo)矩陣B2,使目標(biāo)矩陣B2的大小與所述的層次時(shí)間記憶網(wǎng)絡(luò)tHTMk的輸入層的大小InputSizek —致;5)所述的tHTMi的輸入層節(jié)點(diǎn)讀入目標(biāo)矩陣B2對應(yīng)元素的數(shù)值;6)理解實(shí)施子模塊計(jì)算目標(biāo)矩陣B2與tHTMk中輸出節(jié)點(diǎn)的空間模式集Z = h,…,中各聚類矩陣的歐氏距離,并依據(jù)空間模式集Z = h,…,Cg,'"CaJ中各聚類矩陣Cg在輸出節(jié)點(diǎn)的時(shí)間模式集Time = (G1, -Gi,…Gj中的分組確定Dg對應(yīng)的分組Gi,即如果Cg位于分組Gi中,則Dg就對應(yīng)著分組Gi ;7)理解實(shí)施子模塊利用下式計(jì)算目標(biāo)圖像op與各語義標(biāo)簽Iabeli相匹配程度的中間概率值tprc^ tProl =tl — ^_,Dg
其中Ai為tHTMi的輸出節(jié)點(diǎn)保存的時(shí)間鄰接量,Dg為目標(biāo)矩陣B2與屬于分組Gi中各聚類矩陣Ci的歐氏距離,Qi為Gi中聚類矩陣的數(shù)量;8)計(jì)算歸一化概率值Proi
toro. pr°l ^tpr0j
i=\其中n為輸出節(jié)點(diǎn)的時(shí)間模式集Time = {Gp -Gi,…Gj中的分組的個(gè)數(shù),依上述歸ー化公式,可以保證Proi位于0和I之間;9)將歸ー化概率值Proi與事先設(shè)定好的判定閾值th進(jìn)行比較,當(dāng)Proi ^ th,則將語義標(biāo)簽Iabeli添加到所述的目標(biāo)圖像op的語義描述字段S中,轉(zhuǎn)入步驟10)當(dāng)pr0i <th,則不將語義標(biāo)簽Iabeli添加到此目標(biāo)圖像op的語義描述字段S中,并轉(zhuǎn)到步驟2),所述的讀取子模塊從層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫中讀取其他數(shù)據(jù)項(xiàng);當(dāng)Pr0i < th,且遍歷層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫中的所有數(shù)據(jù)項(xiàng),則轉(zhuǎn)入步驟11);10)圖像理解模塊通過其輸出端將目標(biāo)圖像op的語義描述字段S輸出,實(shí)現(xiàn)了對目標(biāo)圖像op的自然語言理解;11)圖像理解模塊通過其輸出端輸出Err,表示對目標(biāo)圖像op理解失敗。與現(xiàn)在技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)本發(fā)明中提出的基于層次時(shí)間記憶算法的圖像理解系統(tǒng)及其圖像理解方法,應(yīng)用了ー種新的、運(yùn)算量更小的層次時(shí)間記憶算法和數(shù)據(jù)庫技術(shù),利用本發(fā)明中所述的圖像理解系統(tǒng)和圖像理解方法可以有效的將圖像內(nèi)容信息轉(zhuǎn)化為自然語義描述,實(shí)現(xiàn)對圖像內(nèi)容的深度理解,由于運(yùn)用了數(shù)據(jù)庫技術(shù),用戶可以靈活的對其需要理解的圖像內(nèi)容信息進(jìn)行配置,具有極高的靈活性和通用性。與傳統(tǒng)的圖像理解方法相比,本發(fā)明中提出的圖像理解系統(tǒng)和圖像理解方法較大程度的減少了運(yùn)算時(shí)間,克服了傳統(tǒng)圖像方法計(jì)算量大、靈活性和通用性差等缺點(diǎn)。
圖I基于層次時(shí)間記憶算法的圖像理解系統(tǒng)的結(jié)構(gòu)框圖
圖2時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊I的結(jié)構(gòu)框3圖像理解模塊3的結(jié)構(gòu)框4層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練流程5空間模式集的學(xué)習(xí)流程6時(shí)間模式集的學(xué)習(xí)流程7外部待理解的目標(biāo)圖像op圖8對輸入的目標(biāo)圖像op進(jìn)行理解的流程9用層次時(shí)間記憶網(wǎng)絡(luò)tHTM對B2實(shí)施理解的流程10輸出的語義描述字段S
具體實(shí)施例方式以下結(jié)合附圖和實(shí)施例對本發(fā)明做進(jìn)ー步說明,但不應(yīng)以此限制本發(fā)明的保護(hù)范圍。請參照圖1,圖I是本發(fā)明中基于層次時(shí)間記憶算法的圖像理解系統(tǒng)的結(jié)構(gòu)框圖,由圖I可見,本發(fā)明中所述的基于層次時(shí)間記憶算法的圖像理解系統(tǒng),包括依次連接層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊I、層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫2和圖像理解模塊3,所述的層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊I包括圖像存儲(chǔ)子模塊1-1和訓(xùn)練實(shí)施子模塊1-2,所述的圖像存儲(chǔ)子模塊1-1的輸入端即層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊I的輸入端,圖像存儲(chǔ)子模塊1-1的輸出端與訓(xùn)練實(shí)施子模塊1-2的輸入端相連,訓(xùn)練實(shí)施子模塊1-2的輸出端(即層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊I的輸出端)與層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫2的輸入端相連,所述的圖像理解模塊3包括讀取子模塊3-1和理解實(shí)施子模塊3-2,所述的讀取子模塊3-1的第一輸入端(即圖像理解模塊3的第一輸入端)接收外部待理解目標(biāo)圖像,讀取子模塊3-1的第二輸入端與層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫2的輸出端相連,讀取子模塊3-1的輸出端與理解實(shí)施子模塊3-2的輸入端相連,理解實(shí)施子模塊3-2的輸出端即為圖像理解模塊3的輸出端。所述的圖像理解系統(tǒng)的圖像理解方法,該方法包括以下步驟a)所述的層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊I的輸入端接收訓(xùn)練圖像集P,構(gòu)建訓(xùn)練圖像集P ;b)所述的層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊I利用訓(xùn)練圖像集P對層次時(shí)間記憶網(wǎng)絡(luò)進(jìn)行訓(xùn)練;c)將訓(xùn)練好的層次時(shí)間記憶網(wǎng)絡(luò)存入所述的層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫2 ;d)所述的圖像理解模塊3接收外部待理解的目標(biāo)圖像op,利用層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫2中存儲(chǔ)的各層次時(shí)間記憶網(wǎng)絡(luò)對所述的目標(biāo)圖像op進(jìn)行理解。以下結(jié)合本發(fā)明實(shí)施例在場景理解中的具體應(yīng)用對上述步驟進(jìn)行詳細(xì)闡述
所述的層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊I的輸入端接收訓(xùn)練圖像,構(gòu)建訓(xùn)練圖像集P,包括以下步驟根據(jù)場景理解的實(shí)際需求,用戶有目的選取具有代表性的分屬于“人”和“車”兩個(gè)不同類別的圖像組SP1和SP2,共100張圖像組成訓(xùn)練圖像集P,井分別為代表“人”和“車”的兩個(gè)圖像組SP1和SP2設(shè)定語義標(biāo)簽people和car,表示為P= {(SP1, people), (SP2, car)}
其中圖像組SP1和圖像組SP2所對應(yīng)的語義標(biāo)簽分別為people和car, people和car是對圖像組SP1和SP2中的圖像所屬類別“人”和“車”的自然語言描述,在本實(shí)施例中,圖像組SP1中包含45張圖像,圖像組SP2中包含55張圖像,對圖像組SP1和圖像組SP2中的圖像進(jìn)行編號(hào),記為SP1 = {pia, Plj2, ...P2,45]SP2 = {p2jl, P2,2, ...P2,55];上式表示如果圖像的第一個(gè)下標(biāo)i為1,則代表此圖像所在的圖像組為SP1JP么其語義標(biāo)簽為people,如果圖像Pi, j的第一個(gè)下標(biāo)i為2,則代表此圖像所在的圖像組為SP2,其語義標(biāo)簽為car,然后用戶將訓(xùn)練圖像集P輸入到層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊I的輸入端,所述的層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊I將從其輸入端接收到的訓(xùn)練圖像集P以及其中的各圖像組和語義標(biāo)簽存儲(chǔ)在圖像存儲(chǔ)子模塊1-1中;請參照圖4,圖4是層次時(shí)間記網(wǎng)絡(luò)的訓(xùn)練流程圖,從圖中可見,利用本發(fā)明中提出的圖像理解方法中的步驟b,對層次時(shí)間記憶網(wǎng)絡(luò)進(jìn)行訓(xùn)練的步驟如下b-1)所述的訓(xùn)練實(shí)施子模塊1-2創(chuàng)建ー個(gè)未經(jīng)訓(xùn)練的層次時(shí)間記憶網(wǎng)絡(luò)uHTM,以下簡稱為uHTM,uHTM是ー個(gè)樹形多層的節(jié)點(diǎn)層次結(jié)構(gòu),包括輸入層、中間層和ー個(gè)輸出節(jié)點(diǎn),將所述的輸入層的大小設(shè)為160X 210,即uHTM包含160X 210個(gè)輸入層節(jié)點(diǎn),將uHTM的中間層的大小設(shè)為16X21 (此處16 ( 160,21 ( 210,且16和21可分別整除160和210),所述的中間層包含16X21個(gè)中間層節(jié)點(diǎn),所述的中間層中每個(gè)中間層節(jié)點(diǎn)與uHTM的輸入
層中10 XlO (此處,10 = F,10 = | )個(gè)輸入層節(jié)點(diǎn)相連,uHTM的輸出節(jié)點(diǎn)與uHTM的中
間層中所有的16X21個(gè)中間層節(jié)點(diǎn)相連,以上所述的uHTM中所有的節(jié)點(diǎn)都包含一個(gè)計(jì)算単元和一個(gè)存儲(chǔ)単元;b-2)在本實(shí)施例中所述的訓(xùn)練實(shí)施子模塊1-2對所述的訓(xùn)練圖像集P的每個(gè)圖像Pm,采用分量法這種最為典型的圖像灰度化處理方法,提取出圖像的8階ニ維灰度矩陣,得到8階ニ維灰度ニ維矩陣Ay ;b-3)在本實(shí)施例中所述的訓(xùn)練實(shí)施子模塊1-2采用常用圖像縮放算法中的最鄰近插值法將所述的ニ維矩陣Ai, j轉(zhuǎn)換成大小為160X210的ニ維矩陣Bi, j,并且Bi, j與訓(xùn)練圖像集P中的每個(gè)圖像Pu—一對應(yīng),在本實(shí)施例中得到的ニ維矩陣集為B = {Bia, Blj2-
Bi,I,…Bi, j,Bi,刊…B2,55];b-4)請參照圖5,圖5是空間模式集的學(xué)習(xí)流程圖,由圖5可見,時(shí)間模式集的學(xué)習(xí),包括下列步驟 ①設(shè)定訓(xùn)練初始值所述的訓(xùn)練實(shí)施子模塊(1-2)設(shè)定歐氏距離參數(shù)D = 25和歐氏距離參數(shù)增量AD = I. 5,并將uHTM的中間層中每ー個(gè)中間層節(jié)點(diǎn)的空間模式集Y和uHTM的輸出節(jié)點(diǎn)的空間模式集Z初始化為空集,將uHTM的輸出節(jié)點(diǎn)的時(shí)間模式集Time初始化為空集,并設(shè)定uHTM的輸出節(jié)點(diǎn)的空間模式集Z中所能包含的聚類矩陣的個(gè)數(shù)最大值為N。= 20,并保存在相應(yīng)節(jié)點(diǎn)的存儲(chǔ)單元中;②所述的ー個(gè)輸入層節(jié)點(diǎn)按B1,p …By,…Bi^ BmV"B2,55的順序讀取所述的ニ維矩陣集B = {Bia, B1,…も,」.,BmvU中的ニ維矩陣Bi,彳保存在相應(yīng)節(jié)點(diǎn)的存儲(chǔ)單元;
③將該ニ維矩陣傳遞給與此輸入層節(jié)點(diǎn)相連的uHTM的中間層節(jié)點(diǎn);④所述的中間層節(jié)點(diǎn),將從與其相連的10X10個(gè)輸入層節(jié)點(diǎn)接收到的ニ維矩陣Bijj組成ー個(gè)10X10的矩陣Ma,并保存到該中間層節(jié)點(diǎn)的存儲(chǔ)單元中,然后該中間層節(jié)點(diǎn)的計(jì)算單元對該中間層節(jié)點(diǎn)的空間模式集Y進(jìn)行判斷并進(jìn)行處理當(dāng)空間模式集Y為空集,則直接將該IOX 10的矩陣Ma作為ー個(gè)聚類矩陣加入到該中間層節(jié)點(diǎn)的空間模式集Y中;當(dāng)空間模式集Y不為空集,則此中間層節(jié)點(diǎn)的計(jì)算單元按下列公式計(jì)算出矩陣Ma與空間模式集Y中各聚類矩陣的歐氏距離d(Ma,0)
權(quán)利要求
1.一種基于層次時(shí)間記憶算法的圖像理解系統(tǒng),其特征在于包括依次連接層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊(I)、層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫(2)和圖像理解模塊(3),所述的層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊⑴包括圖像存儲(chǔ)子模塊(1-1)和訓(xùn)練實(shí)施子模塊(1-2),所述的圖像理解模塊(3)包括讀取子模塊(3-1)和理解實(shí)施子模塊(3-2),其連接關(guān)系是 所述的圖像存儲(chǔ)子模塊(1-1)的輸入端即層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊(I)的輸入端,所述的圖像存儲(chǔ)子模塊(1-1)的輸出端與所述的訓(xùn)練實(shí)施子模塊(1-2)的輸入端相連,所述的訓(xùn)練實(shí)施子模塊(1-2)的輸出端與所述的層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫(2)的輸入端相連,所述的讀取子模塊(3-1)的第一輸入端供接收外部待理解目標(biāo)圖像,該讀取子模塊(3-1)的第二輸入端與所述的層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫(2)的輸出端相連,讀取子模塊(3-1)的輸出端與所述的理解實(shí)施子模塊(3-2)的輸入端相連,該理解實(shí)施子模塊(3-2)的輸出端即為本系統(tǒng)的輸出端。
2.利用權(quán)利要求I所述的圖像理解系統(tǒng)的圖像理解方法,其特征在于該方法包括以下步驟 a)所述的層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊(I)的輸入端接收訓(xùn)練圖像,構(gòu)建訓(xùn)練圖像集P并存入所述的圖像存儲(chǔ)子模塊(1-1); b)所述的訓(xùn)練實(shí)施子模塊(1-2)利用訓(xùn)練圖像集P對層次時(shí)間記憶網(wǎng)絡(luò)進(jìn)行訓(xùn)練; c)將訓(xùn)練好的層次時(shí)間記憶網(wǎng)絡(luò)存入所述的層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫(2); d)所述的圖像理解模塊(3)接收外部待理解的目標(biāo)圖像op,利用層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫(2)中存儲(chǔ)的各層次時(shí)間記憶網(wǎng)絡(luò)對所述的目標(biāo)圖像op進(jìn)行理解。
3.根據(jù)權(quán)利要求2所述的圖像理解方法,其特征在于,所述的構(gòu)建訓(xùn)練圖像集P的過程如下 根據(jù)實(shí)際需求,用戶有目的地選取具有代表性的分屬η個(gè)類別的若干圖像組成訓(xùn)練圖像集P,并且將所述的圖像按類別存放在不同的圖像組中,并為每個(gè)圖像組設(shè)置語義標(biāo)簽,即P = {(SP1, Iabel1), (SP2, Iabel2), ... (SPi, Iabeli), ... (SPn, Iabeln)}, n ^ I 其中=SPi為第i個(gè)圖像組,Iabeli為第i個(gè)圖像組的語義標(biāo)簽,Iabeli是SPi所屬類別的自然語言描述,每一個(gè)圖像組中又包含若干圖像,為圖像組中每個(gè)圖像進(jìn)行編號(hào),第i個(gè)圖像組SPi表示為SPi = {pia,Pij2,…Pi’j,…} 上式表示圖像組SPi中的每一個(gè)圖像?“的第一個(gè)下標(biāo)i代表此圖像所在的圖像組,并且Pi, j也有相應(yīng)的語義標(biāo)簽Iabeli,然后用戶將訓(xùn)練圖像集P輸入到層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊(I)的輸入端,將所述的訓(xùn)練圖像集P的圖像按圖像組和語義標(biāo)簽分別存儲(chǔ)在圖像存儲(chǔ)子模塊(ι-i)中。
4.根據(jù)權(quán)利要求2所述的圖像理解方法,其特征在于,所述的訓(xùn)練實(shí)施子模塊(1-2)對層次時(shí)間記憶網(wǎng)絡(luò)進(jìn)行訓(xùn)練,包括以下步驟 b-Ι)所述的訓(xùn)練實(shí)施子模塊(1-2)創(chuàng)建一個(gè)未經(jīng)訓(xùn)練的層次時(shí)間記憶網(wǎng)絡(luò)uHTM,以下簡稱為uHTM,uHTM是一個(gè)樹形多層的節(jié)點(diǎn)層次結(jié)構(gòu),包括輸入層、中間層和一個(gè)輸出節(jié)點(diǎn),所述的輸入層包含NXM個(gè)輸入層節(jié)點(diǎn),所述的中間層包含eXf個(gè)中間層節(jié)點(diǎn),每個(gè)中間層節(jié)點(diǎn)與所述的輸入層中
5.根據(jù)權(quán)利要求2所述的所述的圖像理解方法,其特征在于,所述的將訓(xùn)練好的層次時(shí)間記憶網(wǎng)絡(luò)存入所述的層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫(2)的具體過程是在層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫(2)中創(chuàng)建數(shù)據(jù)表trainedHTM,表的結(jié)構(gòu)如以下SQL語言所述CREATE TABLE IF NOT EXISTS trainedHTM(XMLname CHAR(255) NOT NULL,XMLpath CHAR(255) NOT NULL,InputSize CHAR(255) NOT NULL,LabelNum INT NOT NULL,Labels CHAR(255) NOT NULL) 其中XMLname為保存有訓(xùn)練好的層次時(shí)間記憶網(wǎng)絡(luò)的XML文件的文件名,XMLname為上述XML文件的存儲(chǔ)路徑,InputSize為輸入層大小,LabelNum為可識(shí)別的語義標(biāo)簽的數(shù)目,Labels為語義標(biāo)簽集,CHAR表示此字段為字符格式,INT表示此字段為整數(shù)格式,NOTNULL表示此字段不能為空,然后依照上述數(shù)據(jù)表trainedHTM的數(shù)據(jù)結(jié)構(gòu),將從層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊(I)的輸出端接收到的數(shù)據(jù)幀HTMInfo存入層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫(2)的數(shù)據(jù)表trainedHTM中。
6.根據(jù)權(quán)利要求2所述的所述的圖像理解方法,其特征在于,所述的對所述的目標(biāo)圖像op進(jìn)行理解包括以下步驟 1)所述的讀取子模塊(3-1)的第一輸入端接收待理解的目標(biāo)圖像(op)存儲(chǔ)在讀取子模塊(3-1)中; 2)所述的讀取子模塊(3-1)的第二輸入端從層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫(2)中輸出端讀取數(shù)據(jù)表trainedHTM中的讀取與待理解的目標(biāo)圖像op相關(guān)的數(shù)據(jù)項(xiàng)HTMdatak,并將其發(fā)送給理解實(shí)施子模塊(3-2); 3)理解實(shí)施子模塊(3-2)從所述的數(shù)據(jù)項(xiàng)HTMdatak中解析出訓(xùn)練好的層次時(shí)間記憶網(wǎng)絡(luò)tHTMk的XML文件的文件名XMLnamek, XML文件的存儲(chǔ)路徑XMLpathk,層次時(shí)間記憶網(wǎng)絡(luò)輸入層大小InputSizek,可識(shí)別的語義標(biāo)簽的數(shù)量LabelNumk和語義標(biāo)簽集Labelsk,并根據(jù)存儲(chǔ)路徑XMLpathk加載XML文件,解析出訓(xùn)練好的層次時(shí)間記憶網(wǎng)絡(luò)tHTMk,并設(shè)定判定閾值th ; 4)理解實(shí)施子模塊(3-2)采用分量法、最大值法或加權(quán)平均法等圖像灰度化處理方法,對所述的目標(biāo)圖像op的二維灰度信息,得到二維矩陣A2 ;采用最鄰近插值、雙線性插值或三次卷積法等常用圖像縮放算法對二維矩陣A2進(jìn)行大小變換,得到目標(biāo)矩陣B2,使目標(biāo)矩陣B2的大小與所述的層次時(shí)間記憶網(wǎng)絡(luò)tHTMk的輸入層的大小InputSizek —致; 5)所述的tHTMi的輸入層節(jié)點(diǎn)讀入目標(biāo)矩陣B2對應(yīng)元素的數(shù)值; 6)理解實(shí)施子模塊(3-2)計(jì)算目標(biāo)矩陣B2與tHTMk中輸出節(jié)點(diǎn)的空間模式集
全文摘要
一種基于層次時(shí)間記憶算法的圖像理解系統(tǒng)及其圖像理解方法,該圖像理解系統(tǒng)由層次時(shí)間記憶網(wǎng)絡(luò)訓(xùn)練模塊、層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫和圖像理解模塊組成,其圖像理解方法包括構(gòu)建訓(xùn)練圖像集P、利用訓(xùn)練圖像集P訓(xùn)練層次時(shí)間記憶網(wǎng)絡(luò)、將訓(xùn)練好的層次時(shí)間記憶網(wǎng)絡(luò)存入層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫中和利用層次時(shí)間記憶網(wǎng)絡(luò)數(shù)據(jù)庫中存儲(chǔ)的各層次時(shí)間記憶網(wǎng)絡(luò)對目標(biāo)圖像進(jìn)行理解四個(gè)步驟,本發(fā)明應(yīng)用了新的時(shí)間模式集學(xué)習(xí)方法和數(shù)據(jù)庫技術(shù),可以快速的將多項(xiàng)圖像內(nèi)容屬性轉(zhuǎn)化為自然語義描述,實(shí)現(xiàn)對圖像的深度理解,與傳統(tǒng)的圖像理解方法相比,此方法簡單實(shí)用,具有很高的實(shí)用性和靈活性。
文檔編號(hào)G06K9/64GK102663445SQ20121008803
公開日2012年9月12日 申請日期2012年3月29日 優(yōu)先權(quán)日2012年3月29日
發(fā)明者夏知拓, 王昊, 阮昊 申請人:中國科學(xué)院上海光學(xué)精密機(jī)械研究所