国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于視頻和文本的機(jī)器人技能指令生成方法研究

2023-09-04 09:22:46黃可思陳俊洪林大潤王思涵劉文印
關(guān)鍵詞:指令物體機(jī)器人

黃可思 陳俊洪 林大潤 王思涵 劉文印

(廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院 廣東 廣州 510006)

0 引 言

隨著科技的迅速發(fā)展,機(jī)器人的智能化水平有了大幅度的提高,其功能也愈加復(fù)雜,例如可以通過深度攝像頭進(jìn)行目標(biāo)的識(shí)別與抓取[1]、可以利用激光雷達(dá)進(jìn)行巡檢導(dǎo)航[2]等。然而現(xiàn)有的機(jī)器人大多是執(zhí)行預(yù)先編寫好的程序,在遇到新的場(chǎng)景時(shí)需要重新進(jìn)行編程,降低了部署效率。為了解決該問題,近些年來人們提出通過新的學(xué)習(xí)方式讓機(jī)器人學(xué)會(huì)新的技能。Akgun等[3]介紹了一種結(jié)合視頻關(guān)鍵幀和動(dòng)覺示教的機(jī)器人技能學(xué)習(xí)方法,該方法一方面抽取操作視頻中的動(dòng)作關(guān)鍵幀作為動(dòng)作特征,另一方面通過讓操作者拽動(dòng)機(jī)器人進(jìn)行運(yùn)動(dòng)記錄操作軌跡作為運(yùn)動(dòng)特征,最后作者將兩種特征進(jìn)行結(jié)合識(shí)別并最終應(yīng)用到機(jī)器人身上。Garcia-Hernando等[4]提出了一種結(jié)合RGB-D視頻和3D手勢(shì)標(biāo)注的方法來識(shí)別人類動(dòng)作,該方法利用多傳感器對(duì)人體手勢(shì)進(jìn)行識(shí)別,并取得不錯(cuò)的效果。雖然以上方法都可以生成相應(yīng)的技能指令,但是卻需要操作者進(jìn)行操作或者昂貴的傳感器進(jìn)行采集,限制了機(jī)器人的應(yīng)用場(chǎng)景。對(duì)此,Yang等[5]建立了一個(gè)可以讓機(jī)器人觀看互聯(lián)網(wǎng)視頻從而學(xué)習(xí)動(dòng)作的系統(tǒng),該系統(tǒng)首先從視頻中提取物體和動(dòng)作,然后根據(jù)語義語法規(guī)則建立語法樹,最終找出最接近視頻的操作指令。該方法雖然通過視覺輸入進(jìn)行操作指令的組合,但是當(dāng)識(shí)別出現(xiàn)錯(cuò)誤時(shí),其生成的操作指令也必定是錯(cuò)的。

為了解決該問題,本文提出一種結(jié)合視覺和文本知識(shí)的多模態(tài)視頻轉(zhuǎn)譯技能方法框架。該框架包含兩個(gè)模塊,其中第一個(gè)模塊主要從視頻中提取語義信息,該模塊首先使用I3D網(wǎng)絡(luò)對(duì)視頻中操作者的動(dòng)作進(jìn)行識(shí)別,其次利用Mask R-CNN網(wǎng)絡(luò)和XGBoost分類器對(duì)物體進(jìn)行識(shí)別分類,最后將識(shí)別所得的元語義組合成機(jī)器人指令。由于得到的指令是基于視覺輸入進(jìn)行生成,所以當(dāng)識(shí)別算法發(fā)生錯(cuò)誤時(shí),將產(chǎn)生不符合邏輯的指令。為了解決該問題,我們提出基于BERT-GRU模型的文本的操作指令學(xué)習(xí)模塊,該模塊首先在大型文本數(shù)據(jù)集Recipe1M+上進(jìn)行預(yù)訓(xùn)練,然后在生成指令上進(jìn)行微調(diào)和測(cè)試,并最終輸出修改過的機(jī)器指令。通過在MPII Cooking 2數(shù)據(jù)集上進(jìn)行測(cè)試,我們發(fā)現(xiàn)本文所提出的框架相比于單模態(tài)情況下的操作指令生成的框架具有較大的提升,有效地驗(yàn)證了本文方法。

1 相關(guān)研究

1.1 機(jī)器人視覺轉(zhuǎn)譯指令

為了從視頻中提取人的動(dòng)作并轉(zhuǎn)化成操作指令,Mici等[6]提出了一種自組織神經(jīng)網(wǎng)絡(luò)模型,用于從RGB-D視頻中學(xué)習(xí)如何識(shí)別人和物體互動(dòng)的動(dòng)作。該模型由GrowWhen-Required(GWR)神經(jīng)網(wǎng)絡(luò)的層次結(jié)構(gòu)組成,可以學(xué)習(xí)動(dòng)作和物體的原始表征,并以無監(jiān)督的方式生成動(dòng)作-物體的映射;Nguyen等[7]提出使用RNN和CNN模型直接將視頻轉(zhuǎn)譯成操作指令,他們首先利用CNN對(duì)視頻進(jìn)行特征的提取,再使用具有編碼器-解碼器(encoder-decoder)結(jié)構(gòu)的兩個(gè)RNN層來對(duì)視覺特征進(jìn)行編解碼,最終根據(jù)指令模板順序生成操作指令;Welschehold等[8]為了讓機(jī)器人直接模仿操作動(dòng)作,從RGBD視頻中分別提取出手和物體軌跡,并輸入網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,最終實(shí)現(xiàn)讓機(jī)器人可以通過觀看人的演示進(jìn)行開門等復(fù)雜的任務(wù)。在本文中,我們利用I3D網(wǎng)絡(luò)抽取動(dòng)作特征并進(jìn)行識(shí)別,再把動(dòng)作特征與Mask R-CNN抽取的物體特征進(jìn)行融合,并將融合特征輸入XGBoost分類器中計(jì)算得出操作物體,最后組合成操作指令。

1.2 語義指令組合

機(jī)器人指令組合是機(jī)器人實(shí)現(xiàn)學(xué)習(xí)模仿的關(guān)鍵環(huán)節(jié)[9],在早期的研究中,Chomsky[10]提出一種類似于人類語言的極簡生成語法,該語法定義了描述人類動(dòng)作所需要的最基本元素;基于Chomsky的研究,Yang等[11]定義了一組描述操作技能的語義上下文無關(guān)語法規(guī)則,該規(guī)則分別定義了動(dòng)作與物體之間的關(guān)系,并使用樹形結(jié)構(gòu)將這兩者關(guān)系進(jìn)行組合,最終形成技能指令;與Yang等不同的是,Kjellstrom等[12]則提出一種基于上下文識(shí)別操作的物體和人類操作動(dòng)作的方法,該方法能夠同時(shí)對(duì)手部動(dòng)作進(jìn)行分割和分類,并對(duì)動(dòng)作中涉及的物體進(jìn)行檢測(cè)和分類。實(shí)驗(yàn)表明上下文信息可以有效地改善物體和動(dòng)作的分類結(jié)果。然而以上方法只考慮了從視頻中提取元語義進(jìn)行組合,忽略了語義組合上的邏輯關(guān)系。為了解決該問題,本文提出利用BERT-GRU文本模型來學(xué)習(xí)文本數(shù)據(jù)集中隱藏的操作指令,提高指令的生成準(zhǔn)確率。

2 方法研究

本文總體框架如圖1所示??梢钥吹?本文所提出的框架一共分為兩個(gè)模塊,其中:第一個(gè)模塊為機(jī)器人視覺轉(zhuǎn)譯指令模塊;第二個(gè)模塊為基于BERT-GRU模型的文本操作指令學(xué)習(xí)模塊。接下來我們將具體介紹每個(gè)模塊的實(shí)現(xiàn)方法。

圖1 基于視頻和文本的機(jī)器人技能指令生成框架

2.1 動(dòng)作特征提取

在提取動(dòng)作特征之前,我們首先對(duì)輸入視頻進(jìn)行預(yù)處理,具體來說,我們將視頻尺寸大小裁剪為224×224×3,并且為了降低計(jì)算代價(jià),我們對(duì)輸入視頻進(jìn)行下采樣處理,采樣率大小設(shè)置為5,即每五幅圖片中我們只選取中間的圖片進(jìn)行計(jì)算,其余的圖片將直接舍棄。由于動(dòng)作特征包含了時(shí)間和空間兩個(gè)維度信息,所以我們使用了具有雙流結(jié)構(gòu)的I3D(Two-Stream Inflated 3D ConvNet)[13]網(wǎng)絡(luò)進(jìn)行特征的提取。具體來說,對(duì)于空間流的特征提取,我們使用下采樣后的RGB視頻進(jìn)行輸入,然后使用Ioffe等[14]所提出的改進(jìn)Inception-V1模塊進(jìn)行特征的抽取,其結(jié)構(gòu)如圖2所示。

圖2 Inception-V1模型

可以看出,改進(jìn)后的Inflated Inception模塊主要將原有的2D卷積核以及2D池化替換成3D卷積核和3D池化,其中3D卷積核是由2D卷積核在時(shí)間維度上復(fù)制N次所得,該做法使原來2D網(wǎng)絡(luò)參數(shù)可以直接應(yīng)用到3D網(wǎng)絡(luò)上,降低了重新訓(xùn)練所需要的時(shí)間和計(jì)算成本,提高識(shí)別效果。除此之外,為了保留更多的時(shí)間信息,改進(jìn)后的Inflated Inception模塊將前兩個(gè)最大池化層維度替換為(1,2,2),將最后兩層均值池化層替換為(2,7,7)。與空間流處理方式相似,時(shí)間流使用相同的網(wǎng)絡(luò)配置,但其輸入則使用光流堆疊圖進(jìn)行計(jì)算。在訓(xùn)練過程中,兩個(gè)流的權(quán)重并不互相共享。

本文將I3D網(wǎng)絡(luò)在Kinetics數(shù)據(jù)集[13]上進(jìn)行預(yù)訓(xùn)練,然后再使用MPII Cooking 2數(shù)據(jù)集進(jìn)行微調(diào)。在模型設(shè)置方面,我們使用隨機(jī)梯度下降作為網(wǎng)絡(luò)優(yōu)化器,將網(wǎng)絡(luò)的學(xué)習(xí)率設(shè)置為0.1,網(wǎng)絡(luò)的權(quán)重衰減值設(shè)置為0.5,并使用Dropout方法防止模型過擬合。最終,我們將分別輸出2×1 024的動(dòng)作特征以及動(dòng)作分類結(jié)果進(jìn)行進(jìn)一步的使用。

2.2 操作物體識(shí)別

對(duì)于操作物體識(shí)別,我們將下采樣后的RGB視頻輸入到Mask R-CNN模型[15]中進(jìn)行物體特征的提取,其中Mask R-CNN模型分為兩個(gè)步驟,首先是通過Region Proposal Network(RPN)[16]生成大量的物體候選邊框,然后再將這些候選框通過卷積網(wǎng)絡(luò)輸出標(biāo)簽和置信度。本文將Mask R-CNN在MS-COCO數(shù)據(jù)集[17]上進(jìn)行預(yù)訓(xùn)練,然后再將模型應(yīng)用到MPII Cooking 2數(shù)據(jù)集上進(jìn)行微調(diào),最后輸出操作物體的特征。值得一提的是,為了讓操作物體與操作動(dòng)作能有效地結(jié)合起來,我們將輸出的物體特征與動(dòng)作特征進(jìn)行拼接融合,并輸入到XGBoost分類器[18]中進(jìn)行操作物體的分類,最終輸出操作物體的類別。

2.3 文本指令學(xué)習(xí)

雖然從視頻中識(shí)別所得到的動(dòng)作和物體可以組合成二元組指令給機(jī)器人進(jìn)行操作,但是由于識(shí)別過程中可能發(fā)生動(dòng)作和物體的誤識(shí)別,從而導(dǎo)致生成的指令信息無法讓機(jī)器人進(jìn)行操作。對(duì)此,我們提出通過從文本數(shù)據(jù)集中進(jìn)行指令的學(xué)習(xí)來提高指令生成的準(zhǔn)確率,其模型如圖3所示。

圖3 文本學(xué)習(xí)模塊

我們首先使用了BERT模型進(jìn)行訓(xùn)練,其中BERT模型[19]采用了Multi-Headed Attention機(jī)制,該模型一共由12層Transformer Encoder[20]組成,每一層的隱藏層狀態(tài)數(shù)量為768,整個(gè)網(wǎng)絡(luò)參數(shù)規(guī)模達(dá)到1.1×108。并且為了進(jìn)一步提高網(wǎng)絡(luò)的精度并獲取時(shí)序上的特征,我們提出在BERT最后一層FC層前接入兩層GRU[21]網(wǎng)絡(luò)。該做法使得由Multi-Headed Attention所提取的不同層級(jí)特征可以通過更新門和重置門進(jìn)行融合,從而提高識(shí)別效果。本文將GRU的輸入節(jié)點(diǎn)數(shù)設(shè)置為768,與BERT所輸出的特征保持一致。最終通過特征的提取和分類,模型將分別輸出2個(gè)Onehot矩陣代表動(dòng)作概率和物體概率,并根據(jù)概率最高的概率結(jié)果分別輸出最終的動(dòng)作和物體組合成機(jī)器人指令給機(jī)器人執(zhí)行。

本文首先把視頻輸出的二元組放入與文本訓(xùn)練集相似的句式中進(jìn)行填充,例如(action) the (object)、use (object) to (action)等,使得測(cè)試的輸入與訓(xùn)練的輸入格式一致。緊接著我們將測(cè)試的短句輸入進(jìn)BERT模型中進(jìn)行編碼和提取特征,其中embedding是通過BERT預(yù)訓(xùn)練模型fine-tune得到,在通過BERT模型訓(xùn)練學(xué)習(xí)后,模型將輸出特征給GRU進(jìn)行進(jìn)一步的特征提取,最終分別輸出操作指令二元組給機(jī)器人執(zhí)行。

3 實(shí) 驗(yàn)

3.1 數(shù)據(jù)集介紹

MPII Cooking 2 數(shù)據(jù)集[22]:MPII Cooking 2數(shù)據(jù)集一共包含了273個(gè)做菜視頻,它是由不同的操作者從真實(shí)環(huán)境中進(jìn)行采集,視頻幀數(shù)長達(dá)2 881 616幀,時(shí)長超過27 h。特別地,MPII Cooking 2 數(shù)據(jù)集中包含了有三十多種菜譜,但操作者并不限定于某種固定的順序來制作菜肴,這使得數(shù)據(jù)集包含的信息量更大,識(shí)別難度更大。在本文中,我們挑選了7種動(dòng)作和48類常見物體進(jìn)行識(shí)別,數(shù)據(jù)情況如表1所示。對(duì)于數(shù)據(jù)集的劃分,我們選擇了包含指定動(dòng)作和物體的3 168段視頻作為數(shù)據(jù)集,其中我們隨機(jī)抽取2 852段視頻(90%)作為訓(xùn)練集,316段視頻(10%)作為測(cè)試集。

表1 物體和動(dòng)作類別數(shù)據(jù)

Recipe1M+數(shù)據(jù)集[23]:Recipe1M+數(shù)據(jù)集包含了超過一百萬種菜譜和一千三百萬幅食物圖片,菜譜種類涵蓋主食、配菜、小吃等,每種菜譜標(biāo)記了標(biāo)題、食材清單和制作菜肴的方法介紹。然而由于文本沒有對(duì)指令進(jìn)行標(biāo)記,所以我們基于Recipe1M+數(shù)據(jù)集制作了符合本框架的文本二元組數(shù)據(jù)集。具體來說,每條數(shù)據(jù)集將存儲(chǔ)為字典形式,如:{"text": "peel and thinly slice yukon gold and sweet potatoes", "tuple":[["peel", "potato"], ["slice", "potato"]]}。為了讓BERT-GRU模型能夠更好地學(xué)習(xí)指令,我們?cè)跀?shù)據(jù)集中添加了負(fù)樣本,即text文本中可能有不合理的地方,但二元組中仍輸出該句子正確含義的結(jié)果。最終我們選取了2 152條文本作為我們的數(shù)據(jù)集,其中1 506條(70%)數(shù)據(jù)作為訓(xùn)練集進(jìn)行訓(xùn)練,剩下的646條(30%)作為測(cè)試集進(jìn)行測(cè)試。表2統(tǒng)計(jì)了每個(gè)動(dòng)作的分布情況。

表2 文本數(shù)據(jù)集分布情況

3.2 評(píng)測(cè)指標(biāo)

為了更好地對(duì)各種模型進(jìn)行評(píng)估,我們采用了以下評(píng)測(cè)指標(biāo)。

準(zhǔn)確率(Accuracy):輸入樣本中預(yù)測(cè)正確的個(gè)數(shù)占總個(gè)數(shù)的大小,公式如下:

(1)

精確率(Precision):輸入樣本中預(yù)測(cè)正確的個(gè)數(shù)占正樣本的總個(gè)數(shù)大小,公式如下:

(2)

召回率(Recall):實(shí)際中正樣本中預(yù)測(cè)為正樣本的數(shù)量大小,公式如下:

(3)

F1值:兼顧了Precision和Recall的綜合評(píng)測(cè)指標(biāo):

(4)

3.3 動(dòng)作識(shí)別結(jié)果

為了證明I3D模型的長視頻分割效果比經(jīng)典模型要好,本文通過與Stack Flow、CNN、CNN3D[24]、LSTM[25]和Two-Stream模型在相同的條件下進(jìn)行對(duì)比實(shí)驗(yàn),得出各個(gè)模型的準(zhǔn)確率、精確率、召回率和F1的評(píng)測(cè)結(jié)果如表3所示。

表3 動(dòng)作識(shí)別結(jié)果(%)

可以看出I3D在準(zhǔn)確率、精確率、召回率和F1的評(píng)測(cè)結(jié)果皆優(yōu)于對(duì)比實(shí)驗(yàn)中的其他模型。并且通過對(duì)比可知,使用雙流結(jié)構(gòu)的網(wǎng)絡(luò)模型要比使用單流的網(wǎng)絡(luò)模型具有更高的識(shí)別率,這表明了雙流網(wǎng)絡(luò)可以從視頻中有效地提取時(shí)間和空間特征,提高了識(shí)別效果;而通過對(duì)比I3D網(wǎng)絡(luò)和Two-Stream網(wǎng)絡(luò)可知,通過增加時(shí)間維度后的3D卷積核可以從視頻中提取更多有效的特征,其準(zhǔn)確率提高了1.91百分點(diǎn),有效地驗(yàn)證了3D卷積核的有效性。

3.4 物體識(shí)別結(jié)果

對(duì)于物體識(shí)別,我們將Mask R-CNN所提取到的物體特征輸入到與I3D網(wǎng)絡(luò)所提取到的動(dòng)作特征進(jìn)行融合并輸入到XGBoost進(jìn)行分類,為了對(duì)比不同分類算法的分類效果,我們采用了SVM、Decision Tree、Logistic Regression、Random Forest和Gradient Boosting這五個(gè)分類算法進(jìn)行分類,分類結(jié)果如表4所示。

表4 操作物體識(shí)別效果(%)

可以看出,對(duì)比于其他五個(gè)分類算法,XGBoost的準(zhǔn)確率為83.28%,相比于其他算法最大提高了32.02百分點(diǎn)的準(zhǔn)確率,有效地驗(yàn)證了本文算法的有效性。

3.5 二元組指令生成效果

為了提高視覺轉(zhuǎn)譯指令模塊的準(zhǔn)確率,我們把視覺生成的二元組指令與隨機(jī)生成的句子模板進(jìn)行結(jié)合輸入到文本指令學(xué)習(xí)模塊中,同樣地,我們用不同的分類器,如SVM、Decision Tree和BERT等模型做對(duì)比實(shí)驗(yàn),評(píng)測(cè)結(jié)果如表5所示。

表5 二元組指令生成效果(%)

可以看出,當(dāng)融合了視覺跟文本特征后,二元組指令生成效果得到了提高,其最終準(zhǔn)確率高達(dá)84.49%,比單個(gè)視覺模塊提高了3.79百分點(diǎn),有效驗(yàn)證了本文方法。從BERT和BERT-GRU實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比,我們發(fā)現(xiàn)當(dāng)BERT模型接入GRU模型后,能夠更好地處理從BERT提取到的文本數(shù)據(jù)集的特征,從而提高了準(zhǔn)確率。除此之外,從表5我們發(fā)現(xiàn)在使用SVM和Decision Tree算法后,二元組的精度相比于原來單視覺模塊的精度有所降低,造成該結(jié)果的原因主要分為兩點(diǎn):一是這兩個(gè)模型對(duì)訓(xùn)練數(shù)據(jù)過擬合,導(dǎo)致測(cè)試結(jié)果較差;二是由于文本學(xué)習(xí)模塊是根據(jù)語料庫知識(shí)進(jìn)行推薦,其目的是對(duì)不符合邏輯的二元組進(jìn)行替換,這導(dǎo)致了相關(guān)正確的指令可能會(huì)被錯(cuò)誤替換,其中本文所提出的BERT+GRU算法錯(cuò)誤替換了4.75%的測(cè)試結(jié)果,正確替換了8.54%測(cè)試結(jié)果。為了進(jìn)一步地展示文本學(xué)習(xí)的有效性,我們對(duì)部分指令結(jié)果進(jìn)行了可視化展示,效果如表6所示。

表6 動(dòng)作指令組的可視化效果

3.6 機(jī)器人執(zhí)行指令

本文的出發(fā)點(diǎn)是打造一個(gè)可以從視頻中學(xué)習(xí)指令的機(jī)器人系統(tǒng),對(duì)此我們將本文所提出來的系統(tǒng)應(yīng)用到一個(gè)人形機(jī)器人Baxter上進(jìn)行驗(yàn)證,效果如圖4所示。

圖4 機(jī)器人執(zhí)行預(yù)測(cè)指令

實(shí)驗(yàn)結(jié)果表明,機(jī)器人可以成功地執(zhí)行本系統(tǒng)所生成的機(jī)器人指令,例如執(zhí)行攪拌、倒油等動(dòng)作,驗(yàn)證了本文方法的有效性。

4 結(jié) 語

本文提出一個(gè)結(jié)合視覺和文本信息的機(jī)器人技能指令生成框架,該框架分別從視頻和文本提取元語義信息并進(jìn)行融合,最后生成機(jī)器人指令給機(jī)器人執(zhí)行。大量實(shí)驗(yàn)表明,本文方法不僅可以從視頻和文本中生成機(jī)器人指令,還可以部署到真實(shí)的機(jī)器人上進(jìn)行操作,驗(yàn)證了本文方法的有效性。

在未來的工作中,我們將有兩個(gè)方面的拓展:(1) 使用更高級(jí)的語法規(guī)則將指令與指令之間進(jìn)行鏈接,從而完成更加復(fù)雜的動(dòng)作;(2) 考慮多人協(xié)作時(shí)的語法規(guī)則表示。

猜你喜歡
指令物體機(jī)器人
聽我指令:大催眠術(shù)
深刻理解物體的平衡
ARINC661顯控指令快速驗(yàn)證方法
我們是怎樣看到物體的
LED照明產(chǎn)品歐盟ErP指令要求解讀
機(jī)器人來幫你
認(rèn)識(shí)機(jī)器人
機(jī)器人來啦
認(rèn)識(shí)機(jī)器人
為什么同一物體在世界各地重量不一樣?
固始县| 义马市| 巧家县| 凤城市| 红原县| 永嘉县| 尚义县| 安乡县| 兴城市| 虞城县| 大理市| 台中县| 阜城县| 含山县| 夏邑县| 海丰县| 屯昌县| 安岳县| 梧州市| 舟曲县| 金塔县| 若尔盖县| 岚皋县| 榆林市| 西乡县| 济南市| 昆山市| 镇巴县| 林甸县| 二手房| 东莞市| 化德县| 日土县| 喀喇沁旗| 三台县| 淳安县| 平塘县| 应用必备| 大名县| 河北区| 临沧市|