本發(fā)明涉及機(jī)器視覺與模式識別領(lǐng)域,更具體地,涉及一種基于知識遷移的多模態(tài)循環(huán)神經(jīng)網(wǎng)絡(luò)的圖像文本描述方法。
背景技術(shù):
近年來,循環(huán)神經(jīng)網(wǎng)絡(luò)的自然語言處理以及基于卷積神經(jīng)網(wǎng)絡(luò)的圖像分類處理的快速發(fā)展,使得應(yīng)用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行的圖像理解技術(shù)廣泛被人們采用。自動生成圖像文本描述作為聯(lián)系著兩大人工智能領(lǐng)域的技術(shù)(計算機(jī)視覺以及自然語言處理),吸引了越來越多的人關(guān)注以及研究。
對于普通的圖像文本描述生成,目前已取得了較好的效果。如2015年,Junhua Mao等人提出了一種基于多模態(tài)循環(huán)神經(jīng)網(wǎng)絡(luò)(m-RNN)的圖像描述模型,這個網(wǎng)絡(luò)模型可以將圖像信息與語言模型的信息結(jié)合在一個多模態(tài)單元,使生成的句子語義能更符合圖像表達(dá)的信息,而且采用LSTM模型能改善句子的語法結(jié)構(gòu),增強(qiáng)句子的可讀性。
但由于該方法只能應(yīng)用于現(xiàn)有的圖像與文本描述成對匹配的數(shù)據(jù)集,對于一些圖像中的一些沒有在文本描述數(shù)據(jù)字中出現(xiàn)的新的對象,該方法無法識別出來,導(dǎo)致了生成的句子描述的信息可能與圖像呈現(xiàn)的信息不相關(guān)。而且由于圖像與文本描述成對匹配的數(shù)據(jù)集有限,無法覆蓋大部分圖像中的對象,并且此類數(shù)據(jù)集制作時,圖像信息要求與文本信息相匹配,需要人工的制作,因此制作此類數(shù)據(jù)集成本較高。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種基于知識遷移的多模態(tài)循環(huán)神經(jīng)網(wǎng)絡(luò)的圖像文本描述方法,該方法可滿足大部分成對匹配訓(xùn)練集外的新對象的識別。
為了達(dá)到上述技術(shù)效果,本發(fā)明的技術(shù)方案如下:
一種基于知識遷移的多模態(tài)循環(huán)神經(jīng)網(wǎng)絡(luò)的圖像文本描述方法,包括以下步驟:
S1:在服務(wù)器中訓(xùn)練圖像語義分類器;
S2:在服務(wù)器中訓(xùn)練語言模型;
S3:在服務(wù)器中預(yù)訓(xùn)練文本描述生成模型并生成描述句子。
進(jìn)一步地,所述步驟S1的具體過程如下:
S11:采集多種圖像數(shù)據(jù)集:下載現(xiàn)成的數(shù)據(jù)集,包括ImageNet和MSCOCO,由于MSCOCO是一種圖像與文本描述成對匹配的數(shù)據(jù)集,取其圖像部分;
S12:使用的卷積神經(jīng)網(wǎng)絡(luò),對采集的數(shù)據(jù)集中的每一張圖片提取相應(yīng)的圖像特征fI;
S13:制作標(biāo)簽集,選取1000個最常見的單詞即覆蓋了90%圖像與文本描述成對匹配的訓(xùn)練集中使用到的單詞,以及加上ImageNet圖像分類中沒有出現(xiàn)在成對匹配訓(xùn)練集中的對象的詞,將兩者組成需要用到的標(biāo)簽詞庫;
S14:利用上個步驟制作好的標(biāo)簽詞庫,對每張圖片采用多示例學(xué)習(xí)的方法為其添加上多個視覺概念標(biāo)簽:
多示例學(xué)習(xí)中將各種多示例的集合定義為“包”,正包指的是包中至少有一個正示例,否則定義為負(fù)包,在這里把每張圖片定義成一個包;
對于MSCOCO數(shù)據(jù)集中每一張圖片,根據(jù)其數(shù)據(jù)集中五個參考文本描述去給每個圖像設(shè)定相對應(yīng)的標(biāo)簽,如果一個圖像中對應(yīng)的五個參考文本描述中的任意一個提到了一個標(biāo)簽,則認(rèn)為對應(yīng)的圖片是一個正包,否則認(rèn)為該圖片是負(fù)包;對于ImageNet數(shù)據(jù)集中的每一張圖片,以其本來的標(biāo)簽作為單獨的標(biāo)簽。
進(jìn)一步地,所述步驟S2的具體過程如下:
S21:語言模型采用三種純文本數(shù)據(jù)集去訓(xùn)練即MSCOCO中的所有文本描述、Flicker1M,F(xiàn)licker30K,Pascal1K中的圖像文本描述、英國國家語料庫和維基百科中的文本數(shù)據(jù);
S22:將文本數(shù)據(jù)集中的單詞轉(zhuǎn)變成向量的形式;
S23:將文本的上一個單詞作為輸入,輸入到一個長短期記憶模型中,讓LSTM單元學(xué)習(xí)語言中的遞歸結(jié)構(gòu);
S24:同時將單詞向量以及LSTM的輸出組合起來,輸出模型需要的語言特征fL。
進(jìn)一步地,所述步驟S3的具體過程如下:
S31:用調(diào)整的卷積神經(jīng)網(wǎng)絡(luò)提取MSCOCO中的圖像特征;
S32:將獨立訓(xùn)練好的語言模型特征fL和S31的圖像特征整合嵌入到一個含有多模態(tài)單元的循環(huán)神經(jīng)網(wǎng)絡(luò)之中;
S33:把MSCOCO數(shù)據(jù)迭代輸入,預(yù)訓(xùn)練的文本描述生成模型;
S34:將圖像語義分類器中得到的圖像特征fI嵌入到多模態(tài)單元當(dāng)中;
S35:將成對匹配訓(xùn)練集中的一些對象的概率預(yù)測權(quán)重矩陣轉(zhuǎn)移到概念相似的非成對匹配訓(xùn)練集中的對象中即當(dāng)語義分類器判定非成對匹配數(shù)據(jù)集中的一個對象與成對匹配訓(xùn)練集中的某個對象相似時,令它們的預(yù)測權(quán)重矩陣相同;
S36:同時要令兩種相似對象預(yù)測的情況要獨立,此時增加一個判定條件,對于根據(jù)圖像特征的生成的權(quán)重矩陣要結(jié)合語義分類器來決定,類似bus和car,若語義分類器預(yù)測該圖像為bus,則根據(jù)圖像特征預(yù)測生成car的權(quán)重矩陣,使其為預(yù)測的概率為0,反之亦然;
S37:將驗證集中的圖片輸入到圖像文本描述生成模型當(dāng)中,通過訓(xùn)練好的模型參數(shù)得到一系列單詞向量以及它們對應(yīng)的概率;
S38:選取概率最高的單詞作為句子的首個單詞;
S39:將第一個單詞輸入到語言模型中,經(jīng)過語言模型中的LSTM計算得出的特征結(jié)合fL,再次生成一系列的單詞向量以及對應(yīng)的概率;
S310:選取概率最高的作為句子的第二個單詞;
S311:循環(huán)重復(fù)S39和S310的工作,直至模型輸出一個句子結(jié)束標(biāo)志。
進(jìn)一步地,所述步驟S13中制作的標(biāo)簽集是結(jié)合圖像與文本描述成對匹配訓(xùn)練集的詞和ImageNet圖像分類中沒有出現(xiàn)在成對匹配訓(xùn)練集中的對象的詞。
進(jìn)一步地,所述步驟S21中語言模型是通過純文本數(shù)據(jù)集去訓(xùn)練的,語言模型的單詞向量輸出可由下列式子表示:
Pv=Ws·fL+OLSTM+b
其中Pv為單詞向量的預(yù)測概率,fL為句子特征向量,OLSTM為LSTM輸出向量,b為偏移量。
進(jìn)一步地,所述步驟S35和S36中首先使兩個相似的對象的預(yù)測權(quán)重矩陣相同,再添加一個根據(jù)圖像特征的生成的權(quán)重矩陣要聯(lián)合語義分類器的判定條件決定最終的預(yù)測權(quán)重矩陣。
與現(xiàn)有技術(shù)相比,本發(fā)明技術(shù)方案的有益效果是:
本發(fā)明方法通過多模態(tài)單元中的知識轉(zhuǎn)移模型,很好地利用了現(xiàn)成圖像分類器對大多數(shù)對象的識別能力以及現(xiàn)成語料庫中的語法結(jié)構(gòu)和語義關(guān)聯(lián)性,能更準(zhǔn)確地描述出圖像中的目標(biāo)對象以及使生成的句子描述語法結(jié)構(gòu)更豐富,語義貼切,可讀性更強(qiáng)。
附圖說明
圖1為本發(fā)明方法的總體流程圖。
具體實施方式
附圖僅用于示例性說明,不能理解為對本專利的限制;
為了更好說明本實施例,附圖某些部件會有省略、放大或縮小,并不代表實際產(chǎn)品的尺寸;
對于本領(lǐng)域技術(shù)人員來說,附圖中某些公知結(jié)構(gòu)及其說明可能省略是可以理解的。
下面結(jié)合附圖和實施例對本發(fā)明的技術(shù)方案做進(jìn)一步的說明。
實施例1
如圖1所示,一種基于知識遷移的多模態(tài)循環(huán)神經(jīng)網(wǎng)絡(luò)的圖像文本描述方法,包括以下步驟:
S1:在服務(wù)器中訓(xùn)練圖像語義分類器;
S2:在服務(wù)器中訓(xùn)練語言模型;
S3:在服務(wù)器中預(yù)訓(xùn)練文本描述生成模型并生成描述句子。
步驟S1的具體過程如下:
S11:采集多種圖像數(shù)據(jù)集:下載現(xiàn)成的數(shù)據(jù)集,包括ImageNet和MSCOCO,由于MSCOCO是一種圖像與文本描述成對匹配的數(shù)據(jù)集,取其圖像部分;
S12:使用卷積神經(jīng)網(wǎng)絡(luò),對采集的數(shù)據(jù)集中的每一張圖片提取相應(yīng)的圖像特征fI;
S13:制作標(biāo)簽集,選取1000個最常見的單詞即覆蓋了90%圖像與文本描述成對匹配的訓(xùn)練集中使用到的單詞,以及加上ImageNet圖像分類中沒有出現(xiàn)在成對匹配訓(xùn)練集中的對象的詞,將兩者組成需要用到的標(biāo)簽詞庫;
S14:利用上個步驟制作好的標(biāo)簽詞庫,對每張圖片采用多示例學(xué)習(xí)的方法為其添加上多個視覺概念標(biāo)簽:
多示例學(xué)習(xí)中將各種多示例的集合定義為“包”,正包指的是包中至少有一個正示例,否則定義為負(fù)包,在這里把每張圖片定義成一個包;
對于MSCOCO數(shù)據(jù)集中每一張圖片,根據(jù)其數(shù)據(jù)集中五個參考文本描述去給每個圖像設(shè)定相對應(yīng)的標(biāo)簽,如果一個圖像中對應(yīng)的五個參考文本描述中的任意一個提到了一個標(biāo)簽,則認(rèn)為對應(yīng)的圖片是一個正包,否則認(rèn)為該圖片是負(fù)包;對于ImageNet數(shù)據(jù)集中的每一張圖片,以其本來的標(biāo)簽作為單獨的標(biāo)簽。
步驟S2的具體過程如下:
S21:語言模型采用三種純文本數(shù)據(jù)集去訓(xùn)練即MSCOCO中的所有文本描述、Flicker1M,F(xiàn)licker30K,Pascal1K中的圖像文本描述、英國國家語料庫和維基百科中的文本數(shù)據(jù);
S22:將文本數(shù)據(jù)集中的單詞轉(zhuǎn)變成向量的形式;
S23:將文本的上一個單詞作為輸入,輸入到一個長短期記憶模型中,讓LSTM單元學(xué)習(xí)語言中的遞歸結(jié)構(gòu);
S24:同時將單詞向量以及LSTM的輸出組合起來,輸出模型需要的語言特征fL。
步驟S3的具體過程如下:
S31:用調(diào)整的卷積神經(jīng)網(wǎng)絡(luò)提取MSCOCO中的圖像特征;
S32:將獨立訓(xùn)練好的語言模型特征fL和S31的圖像特征整合嵌入到一個含有多模態(tài)單元的循環(huán)神經(jīng)網(wǎng)絡(luò)之中;
S33:把MSCOCO數(shù)據(jù)迭代輸入,預(yù)訓(xùn)練的文本描述生成模型;
S34:將圖像語義分類器中得到的圖像特征fI嵌入到多模態(tài)單元當(dāng)中;
S35:將成對匹配訓(xùn)練集中的一些對象的概率預(yù)測權(quán)重矩陣轉(zhuǎn)移到概念相似的非成對匹配訓(xùn)練集中的對象中即當(dāng)語義分類器判定非成對匹配數(shù)據(jù)集中的一個對象與成對匹配訓(xùn)練集中的某個對象相似時,令它們的預(yù)測權(quán)重矩陣相同;
S36:同時要令兩種相似對象預(yù)測的情況要獨立,此時增加一個判定條件,對于根據(jù)圖像特征的生成的權(quán)重矩陣要結(jié)合語義分類器來決定,類似bus和car,若語義分類器預(yù)測該圖像為bus,則根據(jù)圖像特征預(yù)測生成car的權(quán)重矩陣,使其為預(yù)測的概率為0,反之亦然;
S37:將驗證集中的圖片輸入到圖像文本描述生成模型當(dāng)中,通過訓(xùn)練好的模型參數(shù)得到一系列單詞向量以及它們對應(yīng)的概率;
S38:選取概率最高的單詞作為句子的首個單詞;
S39:將第一個單詞輸入到語言模型中,經(jīng)過語言模型中的LSTM計算得出的特征結(jié)合fL,再次生成一系列的單詞向量以及對應(yīng)的概率;
S310:選取概率最高的作為句子的第二個單詞;
S311:循環(huán)重復(fù)S39和S310的工作,直至模型輸出一個句子結(jié)束標(biāo)志。
步驟S13中制作的標(biāo)簽集是結(jié)合圖像與文本描述成對匹配訓(xùn)練集的詞和ImageNet圖像分類中沒有出現(xiàn)在成對匹配訓(xùn)練集中的對象的詞。
步驟S21中語言模型是通過純文本數(shù)據(jù)集去訓(xùn)練的,語言模型的單詞向量輸出可由下列式子表示:
Pv=Ws·fL+OLSTM+b
其中Pv為單詞向量的預(yù)測概率,fL為句子特征向量,OLSTM為LSTM輸出向量,b為偏移量。
步驟S35和S36中首先使兩個相似的對象的預(yù)測權(quán)重矩陣相同,再添加一個根據(jù)圖像特征的生成的權(quán)重矩陣要聯(lián)合語義分類器的判定條件決定最終的預(yù)測權(quán)重矩陣。
相同或相似的標(biāo)號對應(yīng)相同或相似的部件;
附圖中描述位置關(guān)系的用于僅用于示例性說明,不能理解為對本專利的限制;
顯然,本發(fā)明的上述實施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對本發(fā)明的實施方式的限定。對于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。