本發(fā)明是關(guān)于三維模型技術(shù),特別是關(guān)于一種物體識(shí)別方法及裝置。
背景技術(shù):
當(dāng)前機(jī)器人對(duì)場(chǎng)景中的物體進(jìn)行識(shí)別和操作主要是基于視覺(jué)的方法,但是隨著三維感知技術(shù)和三維模型數(shù)據(jù)庫(kù)的飛速發(fā)展,使得自主機(jī)器人識(shí)別系統(tǒng)得到爆發(fā)式的增長(zhǎng),三維模型在機(jī)器視覺(jué)中扮演者越來(lái)越重要的角色。
一般地,比較粗糙的物體識(shí)別,比如區(qū)分桌子和椅子,只需要一個(gè)視角就可以區(qū)分清楚,然而,在一個(gè)大型三維模型數(shù)據(jù)庫(kù)中,一個(gè)物體的細(xì)粒度的識(shí)別就非常有挑戰(zhàn)性,這種情況下,一個(gè)單一視角已經(jīng)不足夠區(qū)分。
對(duì)于高效地完成機(jī)器人自主識(shí)別的過(guò)程,能夠計(jì)算出物體的一系列視角就變得極其重要。該問(wèn)題可以稱(chēng)為下一最優(yōu)視點(diǎn)問(wèn)題,即next-best-view問(wèn)題,簡(jiǎn)稱(chēng)NBV估計(jì)問(wèn)題,NBV的估計(jì)和物體的分類(lèi)是分不開(kāi)的,目的是盡可能的減小分類(lèi)的不確定性,同時(shí)最小化觀測(cè)所需的能量。細(xì)粒度的物體識(shí)別既需要對(duì)物體進(jìn)行分類(lèi),也需要計(jì)算出最好的下一最優(yōu)視點(diǎn)。一個(gè)最直接的解決辦法是對(duì)整個(gè)模型數(shù)據(jù)庫(kù)訓(xùn)練實(shí)例級(jí)的分類(lèi)器。然而,眾所周知地,當(dāng)需要分類(lèi)的種類(lèi)太多時(shí),細(xì)粒度分類(lèi)的方法表現(xiàn)不佳,因此基于所有預(yù)定視角下的靜態(tài)信息的預(yù)測(cè)方法和計(jì)算視點(diǎn)間的順序就需要額外的工作。
為了解決上述問(wèn)題,現(xiàn)有技術(shù)中通常使用體積的方式表示三維模型,并訓(xùn)練了一個(gè)卷積深度置信網(wǎng)絡(luò)(Convolutional Deep Belief Network,簡(jiǎn)稱(chēng)CDBN)來(lái)對(duì)空間容積信息和種類(lèi)進(jìn)行建模,并作為形狀的分類(lèi)器。通過(guò)對(duì)分布的采樣,能夠基于深度圖對(duì)形狀進(jìn)行完善和補(bǔ)全,并使用虛擬掃描來(lái)估計(jì)視角的信息增益。但是該方法不能夠預(yù)測(cè)下一最優(yōu)視點(diǎn),并且該方法是對(duì)通過(guò)物體的空間容積信息來(lái)進(jìn)行分類(lèi),因此沒(méi)有層次化的結(jié)構(gòu),不能夠處理不同粒度的分類(lèi)問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種物體識(shí)別方法及裝置,以進(jìn)行物體的識(shí)別,解決了下一個(gè)視點(diǎn)的規(guī)劃問(wèn)題。
為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供了一種物體識(shí)別方法,該物體識(shí)別方法包括:
S1:將待識(shí)別物體當(dāng)前最優(yōu)視角的一深度圖輸入特征提取器進(jìn)行特征提取,得到第一特征向量;
S2:將所述第一特征向量通過(guò)第一隱含層得到池化層結(jié)果,將所述池化層結(jié)果輸入層次化分類(lèi)器得到分類(lèi)結(jié)果;
S3:根據(jù)所述池化層結(jié)果及視角觀測(cè)參數(shù)的觀測(cè)向量生成當(dāng)前聚焦的局部區(qū)域;
S4:將所述局部區(qū)域輸入第二隱含層得到第二特征向量,所述第二特征向量包括所述池化層結(jié)果及當(dāng)前局部觀測(cè)視角的信息;
S5:利用一全連接層及所述第二特征向量生成下一最優(yōu)視角;
S6:重復(fù)所述S1至S5,直至所述分類(lèi)結(jié)果遍歷到所述層次化分類(lèi)器葉子節(jié)點(diǎn)。
一實(shí)施例中,所述第一隱含層為最大池化層,用于將各個(gè)視角的信息進(jìn)行集成。
一實(shí)施例中,該物體識(shí)別方法還包括:將視角觀測(cè)參數(shù)通過(guò)非線性函數(shù)編碼成所述觀測(cè)向量。
一實(shí)施例中,該物體識(shí)別方法還包括:
對(duì)于每一個(gè)非根節(jié)點(diǎn),利用高斯混合模型對(duì)形狀進(jìn)行聚類(lèi);
基于聚類(lèi)結(jié)果訓(xùn)練所述層次化分類(lèi)器。
一實(shí)施例中,如果所述深度圖存在遮擋,物體識(shí)別方法還包括:
提取所述深度圖的一系列局部圖像,在所述層次化分類(lèi)器的每個(gè)節(jié)點(diǎn)訓(xùn)練一個(gè)局部級(jí)別的卷積神經(jīng)網(wǎng)絡(luò)。
為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例還提供了一種物體識(shí)別裝置,該物體識(shí)別裝置包括:
特征提取單元,用于將待識(shí)別物體當(dāng)前最優(yōu)視角的一深度圖輸入特征提取器進(jìn)行特征提取,得到第一特征向量;
分類(lèi)單元,用于將所述第一特征向量通過(guò)第一隱含層得到池化層結(jié)果,將所述池化層結(jié)果輸入層次化分類(lèi)器得到分類(lèi)結(jié)果;
區(qū)域生成單元,用于根據(jù)所述池化層結(jié)果及視角觀測(cè)參數(shù)的觀測(cè)向量生成當(dāng)前聚焦的局部區(qū)域;
向量生成單元,用于將所述局部區(qū)域輸入第二隱含層得到第二特征向量,所述第二特征向量包括所述池化層結(jié)果及當(dāng)前局部觀測(cè)視角的信息;
最優(yōu)視角生成單元,用于利用一全連接層及所述第二特征向量生成下一最優(yōu)視角。
一實(shí)施例中,所述第一隱含層為最大池化層,用于將各個(gè)視角的信息進(jìn)行集成。
一實(shí)施例中,物體識(shí)別方法還包括:編碼單元,用于將視角觀測(cè)參數(shù)通過(guò)非線性函數(shù)編碼成所述觀測(cè)向量。
一實(shí)施例中,物體識(shí)別方法還包括:
聚類(lèi)單元,用于對(duì)于每一個(gè)非根節(jié)點(diǎn),利用高斯混合模型對(duì)形狀進(jìn)行聚類(lèi);
分類(lèi)單元,用于基于聚類(lèi)結(jié)果訓(xùn)練所述層次化分類(lèi)器。
一實(shí)施例中,物體識(shí)別方法還包括:
遮擋容錯(cuò)單元,用于提取所述深度圖的一系列局部圖像,在所述層次化分類(lèi)器的每個(gè)節(jié)點(diǎn)訓(xùn)練一個(gè)局部級(jí)別的卷積神經(jīng)網(wǎng)絡(luò)。
本發(fā)明通過(guò)對(duì)未知場(chǎng)景進(jìn)行掃描和識(shí)別,不僅解決了物體的識(shí)別問(wèn)題,還解決了下一個(gè)視點(diǎn)的規(guī)劃問(wèn)題,同時(shí)還對(duì)遮擋具有容錯(cuò)性,能較好的處理遮擋的情況。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例的物體識(shí)別方法流程圖;
圖2為本發(fā)明實(shí)施例的三維增強(qiáng)模型示意圖;
圖3為本發(fā)明實(shí)施例的MV-RNN示意圖;
圖4示出了本發(fā)明實(shí)施例的聚類(lèi)分類(lèi)和重疊情況示意圖;
圖5示出了本發(fā)明實(shí)施例的NBV訓(xùn)練示意圖;
圖6為本發(fā)明實(shí)施的物體識(shí)別裝置的結(jié)構(gòu)示意圖;
圖7為本發(fā)明實(shí)施的設(shè)備的結(jié)構(gòu)示意圖;
圖8A至圖8C為本發(fā)明實(shí)施的注意驅(qū)動(dòng)的特征編碼流程示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
機(jī)器人自動(dòng)場(chǎng)景建模有著很多的應(yīng)用,從服務(wù)機(jī)器人對(duì)物體的操作,到虛擬和增強(qiáng)現(xiàn)實(shí)?;谌S感知技術(shù)和三維模型數(shù)據(jù)庫(kù),本申請(qǐng)利用深度圖和數(shù)據(jù)驅(qū)動(dòng)的方法,進(jìn)行在線的室內(nèi)場(chǎng)景建模。給定一系列主動(dòng)獲取到的深度圖像(如2.5D深度圖像),主要工作在于:提取出潛在的物體,然后對(duì)于每個(gè)物體在三維數(shù)據(jù)庫(kù)中找到與之最匹配的模型并識(shí)別,來(lái)對(duì)場(chǎng)景進(jìn)行重建。識(shí)別的過(guò)程中,需要指導(dǎo)機(jī)器人獲取下一最優(yōu)視角。
圖1為本發(fā)明實(shí)施例的物體識(shí)別方法流程圖,如圖1所示,該物體識(shí)別方法包括:
S101:將待識(shí)別物體當(dāng)前最優(yōu)視角的一深度圖輸入特征提取器進(jìn)行特征提取,得到第一特征向量;
S102:將所述第一特征向量通過(guò)第一隱含層得到池化層結(jié)果,將所述池化層結(jié)果輸入層次化分類(lèi)器得到分類(lèi)結(jié)果;
S103:根據(jù)所述池化層結(jié)果及視角觀測(cè)參數(shù)的觀測(cè)向量生成當(dāng)前聚焦的局部區(qū)域;
S104:將所述局部區(qū)域輸入第二隱含層得到第二特征向量,所述第二特征向量包括所述池化層結(jié)果及當(dāng)前局部觀測(cè)視角的信息;
S105:利用一全連接層及所述第二特征向量生成下一最優(yōu)視角(Next Best View簡(jiǎn)稱(chēng)NVB);
S106:判定分類(lèi)結(jié)果是否遍歷到所述層次化分類(lèi)器葉子節(jié)點(diǎn),如果否充分執(zhí)行S101至S105,直至分類(lèi)結(jié)果遍歷到所述層次化分類(lèi)器葉子節(jié)點(diǎn)。
由圖1所示的流程可知,本申請(qǐng)首先對(duì)未知場(chǎng)景物體的深度圖像進(jìn)行特征提取,通過(guò)第一隱含層將各個(gè)視角的信息進(jìn)行集成后通過(guò)層次化分類(lèi)器得到分類(lèi)結(jié)果,將池化層結(jié)果及視角觀測(cè)參數(shù)的觀測(cè)向量生成當(dāng)前聚焦的局部區(qū)域,然后輸入第二隱含層得到第二特征向量,最后利用一全連接層及所述第二特征向量生成下一最優(yōu)視角。通過(guò)對(duì)未知場(chǎng)景進(jìn)行掃描和識(shí)別,不僅解決了物體的識(shí)別問(wèn)題,還解決了下一個(gè)視點(diǎn)的規(guī)劃問(wèn)題。
為了實(shí)現(xiàn)三維物體識(shí)別的目的,本申請(qǐng)?zhí)岢隽搜h(huán)的三維增強(qiáng)模型,該三維增強(qiáng)模型不僅實(shí)現(xiàn)了實(shí)例級(jí)的物體分類(lèi),還實(shí)現(xiàn)了NBV序列的回歸,如圖2所示。在圖2所示的三維增強(qiáng)模型的每一步(圖3中每一列對(duì)應(yīng)一步)中,機(jī)器人手持獲取一個(gè)深度圖,將獲取的深度圖與之前所有的深度圖信息進(jìn)行融合(例如將圖2中深度圖與之前的深度圖d0及d1進(jìn)行融合),并更新三維增強(qiáng)模型的內(nèi)部狀態(tài)?;谝暯侨诤虾投嘁暯蔷矸e神經(jīng)網(wǎng)絡(luò),本發(fā)明移植了多視角卷積神經(jīng)網(wǎng)絡(luò)(Multi-View Convolutional Neutral Network,簡(jiǎn)稱(chēng)MV-CNN)到本申請(qǐng)的循環(huán)網(wǎng)絡(luò)(三維增強(qiáng)模型)中,得到了多視角循環(huán)神經(jīng)網(wǎng)絡(luò)(Multi-View Recurrent Neutral Network,簡(jiǎn)稱(chēng)MV-RNN),使得三維增強(qiáng)模型訓(xùn)練和推理更有效率,MV-RNN如圖3所示。
本申請(qǐng)的層次化分類(lèi)器如圖3所示的CNN2,為了通過(guò)層次化分類(lèi)器得到分類(lèi)結(jié)果,本申請(qǐng)需要首先訓(xùn)練出層次化分類(lèi)器。一實(shí)施例中,可以對(duì)每一個(gè)非根節(jié)點(diǎn),利用高斯混合模型對(duì)形狀進(jìn)行聚類(lèi),基于聚類(lèi)結(jié)果訓(xùn)練出所述層次化分類(lèi)器。
根節(jié)點(diǎn)包含所有數(shù)據(jù)庫(kù)(數(shù)據(jù)庫(kù)可以使用ShapeNet)中的形狀,由于根節(jié)點(diǎn)是最粗糙的分類(lèi)器,需要對(duì)類(lèi)別進(jìn)行分類(lèi),可選地,本申請(qǐng)使用MV-CNN進(jìn)行分類(lèi)。在每個(gè)節(jié)點(diǎn),本申請(qǐng)使用與該節(jié)點(diǎn)有關(guān)的形狀訓(xùn)練一個(gè)提升過(guò)的MV-CNN。這些更細(xì)粒度的分類(lèi)器是松弛的,一個(gè)三維模型可以被分到多個(gè)類(lèi)中,一旦節(jié)點(diǎn)中包含的數(shù)目少于50個(gè)就被認(rèn)為是葉子節(jié)點(diǎn)。
具體實(shí)施層次化分類(lèi)器訓(xùn)練時(shí),在每一個(gè)非根節(jié)點(diǎn),將當(dāng)前節(jié)點(diǎn)中的形狀聚類(lèi)成k個(gè)相互重疊的組。本申請(qǐng)可以使用高斯混合模型(Gaussian Mixture Model,簡(jiǎn)稱(chēng)GMM)對(duì)形狀特征進(jìn)行聚類(lèi),并對(duì)每個(gè)形狀給出屬于k個(gè)類(lèi)別的概率,一旦概率大于設(shè)定閾值則聚類(lèi)到該類(lèi)中。需要注意的是,由于分類(lèi)器是松弛的,一個(gè)形狀可以被聚類(lèi)到多個(gè)類(lèi)別中。
在分類(lèi)的步驟中,基于上述聚類(lèi)的結(jié)果,本申請(qǐng)訓(xùn)練一個(gè)松弛的分類(lèi)器。例如訓(xùn)練(K+1)個(gè)類(lèi),其中包含一個(gè)空類(lèi),對(duì)應(yīng)于重疊的區(qū)域。一旦某個(gè)形狀屬于第k類(lèi)的概率大于閾值,則將標(biāo)簽設(shè)定為第k類(lèi)用于訓(xùn)練,其他形狀被標(biāo)注為空的類(lèi)中。由于訓(xùn)練數(shù)據(jù)都是改善過(guò)的,所以這些特征對(duì)區(qū)分這些訓(xùn)練數(shù)據(jù)更加有效,下一次迭代的聚類(lèi)也更好。
持續(xù)上述聚類(lèi)和分類(lèi)的過(guò)程,直到聚類(lèi)的結(jié)果穩(wěn)定為止。如果一個(gè)形狀是空類(lèi)別,那么本申請(qǐng)使用高斯混合模型來(lái)確定它到底屬于哪個(gè)類(lèi)別,圖4示出了聚類(lèi)分類(lèi)和重疊情況示意圖,圖4(a)為最初嵌入的分屬8類(lèi)的280個(gè)椅子模型,圖4(b)為經(jīng)過(guò)6次迭代的結(jié)果。
如圖3所示,進(jìn)行3D物體識(shí)別時(shí),輸入深度圖(depth)到特征提取器CNN1進(jìn)行共享權(quán)重,輸出一個(gè)特征地圖(feature map,即上述的第一特征向量,對(duì)應(yīng)圖1的Ct-1),將特征地圖輸入到第一隱含層fh1,得到各個(gè)視角的信息進(jìn)行集成的結(jié)果,將該結(jié)構(gòu)輸入到訓(xùn)練好的層次化分類(lèi)器中CNN2。第一隱含層fh1可以為view pooling(視角池化層),較佳地,可以使用max pooling(最大池化層)。
本發(fā)明的關(guān)鍵在預(yù)先的特征提取及對(duì)視角特征的融合,在特征提取器CNN1和層次化分類(lèi)器CNN2之間插入一個(gè)視角池化層實(shí)現(xiàn)。視角的深度圖被送進(jìn)多視角的通道,每一個(gè)通道由共享權(quán)重的卷積層代表。多視角的特征地圖通過(guò)最大池化(max pooling)操作進(jìn)行融合,然后送到剩余的層(第二隱含層fh2(θh))中進(jìn)行分類(lèi)。本發(fā)明將預(yù)先訓(xùn)練好的MV-CNN放到三維增強(qiáng)模型中,作為三維增強(qiáng)模型的一個(gè)子網(wǎng)絡(luò),進(jìn)行三維物體的識(shí)別。
為了實(shí)現(xiàn)連續(xù)的視角規(guī)劃(即得到下一最優(yōu)視角NBV),本申請(qǐng)將整個(gè)觀測(cè)空間進(jìn)行球形區(qū)域的參數(shù)化,對(duì)于給定的一個(gè)視角,以獲取到或者渲染出的深度圖作為輸入,同時(shí),將NBV估計(jì)問(wèn)題轉(zhuǎn)化成了基于觀測(cè)參數(shù)的視點(diǎn)回歸問(wèn)題。將一系列過(guò)去的觀測(cè)點(diǎn)作為輸入,訓(xùn)練好的NBV回歸器vt會(huì)估測(cè)出下一最優(yōu)視角的參數(shù)??蛇x地,下一最優(yōu)視角可以被參數(shù)化為球坐標(biāo),如圖5所示,v0代表初始視點(diǎn),vn+1是估算出的下一最優(yōu)視角。
下面詳細(xì)說(shuō)明圖3所示的MV-RNN(即三維增強(qiáng)模型),本發(fā)明使用循環(huán)卷積網(wǎng)絡(luò)(Recurrent Neutral Network,簡(jiǎn)稱(chēng)RNN)得到三維的基于視角的增強(qiáng)模型。RNN可以看做是離散時(shí)間動(dòng)態(tài)系統(tǒng),每一個(gè)時(shí)間步(圖3中的一行)處理一個(gè)觀測(cè)的深度圖,并集成之前的觀測(cè)的信息,并生成下一最優(yōu)視角。
為了設(shè)計(jì)三維增強(qiáng)模型,本發(fā)明使用了MV-CNN用于物體的識(shí)別和三維循環(huán)增強(qiáng)模型3D-RAM(循環(huán)增強(qiáng)網(wǎng)絡(luò)Recurrent Attention Model),本發(fā)明稱(chēng)其為MV-RNN,如圖3所示。本發(fā)明的循環(huán)增強(qiáng)網(wǎng)絡(luò)由以下幾個(gè)子網(wǎng)絡(luò)構(gòu)成。
1)視角集成網(wǎng)絡(luò)
給定一個(gè)深度圖,使用CNN1提取特征地圖,使用視角池化層將提取出的特征地圖與之前所有的視角的信息進(jìn)行集成,視角池化層儲(chǔ)存了所有視角的特征地圖。
2)視角觀測(cè)網(wǎng)絡(luò)
這個(gè)網(wǎng)絡(luò)結(jié)合了視角集成網(wǎng)絡(luò)觀測(cè)到的所有視點(diǎn)信息和上一個(gè)視點(diǎn)的參數(shù),輸出一個(gè)描述當(dāng)前觀測(cè)的特征向量。其中視角觀測(cè)參數(shù)vt-1由非線性函數(shù)(fg(θg))編碼成觀測(cè)向量。最后的觀測(cè)向量gt由視角集成網(wǎng)絡(luò)的輸出和觀測(cè)視角的參數(shù)st相乘得到:
3)局部觀測(cè)集成網(wǎng)絡(luò)
為了集成所有之前的局部觀測(cè)的信息,我們使用了第二個(gè)隱含層fh2(θh),在包含上一個(gè)隱含層(fh1)的信息的基礎(chǔ)上加入了當(dāng)前局部觀測(cè)的信息。
4)Nbv回歸網(wǎng)絡(luò):
為了得到下一最優(yōu)視角,在該子網(wǎng)絡(luò)使用局部觀測(cè)集成網(wǎng)絡(luò)的輸出作為輸入并產(chǎn)生了一個(gè)NBV的參數(shù)向量vt。這個(gè)過(guò)程是由一個(gè)全連接層fv(θv)連接第二個(gè)隱含層fh2(θh)和視點(diǎn)參數(shù)vt。
5)分類(lèi)網(wǎng)絡(luò):
在每一個(gè)時(shí)間步中,本申請(qǐng)都對(duì)感興趣的物體進(jìn)行了預(yù)測(cè),本申請(qǐng)想要在視角信息集成之后就得到分類(lèi),而不是在局部觀測(cè)集成網(wǎng)絡(luò)之后才得出,因?yàn)橐暯切畔⒓芍髮?duì)于分類(lèi)已經(jīng)足夠。本申請(qǐng)把CNN2放在第一個(gè)隱含層之后,得出一個(gè)分類(lèi)概率的向量代表著該物體屬于各個(gè)種類(lèi)的概率值。CNN2是獨(dú)立于MV-RNN的,而且是之前就訓(xùn)練好的。
如果所述深度圖存在遮擋,需要進(jìn)行遮擋容錯(cuò)處理,提取所述深度圖的一系列局部圖像,在所述層次化分類(lèi)器的每個(gè)節(jié)點(diǎn)訓(xùn)練一個(gè)局部級(jí)別的卷積神經(jīng)網(wǎng)絡(luò)。對(duì)于給定的一個(gè)視角,如果存在遮擋,關(guān)鍵在于找出能夠識(shí)別出的最重要的局部,然后基于這個(gè)信息最大的局部進(jìn)行識(shí)別。本發(fā)明的最基本的想法是訓(xùn)練一個(gè)局部級(jí)別的卷積神經(jīng)網(wǎng)絡(luò)CNN,在層次化分類(lèi)器中的每一個(gè)節(jié)點(diǎn)都訓(xùn)練一個(gè)局部級(jí)別CNN,圖8A至圖8C為本發(fā)明實(shí)施的注意驅(qū)動(dòng)的特征編碼流程示意圖。
具體實(shí)施,通過(guò)如下兩個(gè)步驟實(shí)施:
1、注意力提?。?/p>
對(duì)于每一個(gè)節(jié)點(diǎn),本發(fā)明對(duì)其所包含的所有的模型,都提取所有采樣點(diǎn)的深度圖,對(duì)每個(gè)深度圖提取一系列局部,這些局部的圖像被用來(lái)訓(xùn)練局部級(jí)別的CNN(part-level CNN),如圖8A所示。根據(jù)經(jīng)驗(yàn),隱含層的神經(jīng)元對(duì)某些部分非常敏感,受此啟發(fā),本發(fā)明從中間的卷積層中提取出了卷積過(guò)濾器,這些過(guò)濾器對(duì)應(yīng)于聚類(lèi)中心,如圖8B所示。
2、注意力驅(qū)動(dòng)的特征編碼:
對(duì)于局部的識(shí)別和基于局部的物體的識(shí)別,本發(fā)明都想要特征編碼信息。對(duì)于局部的識(shí)別,可以使用卷積操作,使用訓(xùn)練好的注意力過(guò)濾器(learned focus filter)對(duì)滑動(dòng)的小窗對(duì)輸入的深度圖進(jìn)行處理,那些與注意力過(guò)濾器相關(guān)的部分會(huì)返回一個(gè)較高的值。對(duì)于基于部分的特征,可以通過(guò)鏈接所有最大池化操作后的過(guò)濾器的響應(yīng)值得到。為了使特征便于分類(lèi),本申請(qǐng)對(duì)每一個(gè)注意力過(guò)濾器訓(xùn)練了一個(gè)識(shí)別模型,把分類(lèi)的信息添加到特征中去。
假定對(duì)一個(gè)節(jié)點(diǎn)有兩個(gè)類(lèi),對(duì)于每一個(gè)注意力過(guò)濾器,本發(fā)明對(duì)之前所有局部圖像訓(xùn)練一個(gè)激活值加權(quán)的支持向量機(jī)(Support Vector Machine,簡(jiǎn)稱(chēng)SVM),如圖8B所示。同時(shí)最小化下列損失函數(shù):
其中,n為深度圖的數(shù)量,yi為標(biāo)簽,σi是SVM的決策函數(shù),權(quán)重ωij代表局部圖像xj的激活值與卷積過(guò)濾器fi相乘。為了完成卷積操作,局部圖像需要縮放到過(guò)濾器的大小。兩個(gè)局部圖像的距離,使用對(duì)應(yīng)的特征的歐氏距離來(lái)度量。當(dāng)有超過(guò)兩類(lèi)的時(shí)候,把SVM替換成多權(quán)重的一對(duì)多SVMs,再加上一個(gè)soft-max分類(lèi)器,得到所有類(lèi)的概率分布值。
最后的特征結(jié)合了過(guò)濾器的響應(yīng)和分類(lèi)的預(yù)測(cè)。特別的,給定一個(gè)深度圖,本發(fā)明使用每一個(gè)注意力驅(qū)動(dòng)過(guò)濾器進(jìn)行滑動(dòng)窗進(jìn)行操作。對(duì)每一個(gè)窗體部分xl,本發(fā)明計(jì)算卷積激活值a和分類(lèi)的概率值pi,因此對(duì)應(yīng)于過(guò)濾器fi和類(lèi)別k的特征入口如下:
因此對(duì)于這個(gè)深度圖的特征是KxF維的向量,其中,yl為標(biāo)簽,k是類(lèi)別數(shù),F(xiàn)是注意力分類(lèi)器,如圖8C所示。
本發(fā)明的注意力驅(qū)動(dòng)的特征編碼通過(guò)替換CNN1的方式來(lái)提高M(jìn)V-RNN。與那些對(duì)整幅圖像信息進(jìn)行編碼的特征相反,本發(fā)明基于注意力的特征會(huì)重點(diǎn)關(guān)注局部的區(qū)域,每一個(gè)都與形狀的特征有關(guān),解決了遮擋的問(wèn)題。具體實(shí)施過(guò)程中,可以使用兩個(gè)部分的大小進(jìn)行注意力學(xué)習(xí)和特征編碼,來(lái)達(dá)到尺度不變性。
下面結(jié)合具體的例子說(shuō)明本發(fā)明。
本申請(qǐng)的主動(dòng)式物體識(shí)別方式可以集成在標(biāo)準(zhǔn)在線場(chǎng)景重建流程中。首先使用PR2機(jī)器人手持Kinect二代掃描儀對(duì)一個(gè)場(chǎng)景進(jìn)行粗略的重建。主要目的有三個(gè):
1)加速對(duì)提取出的物體的分割和背景去除;
2)提供一個(gè)場(chǎng)景建模的基準(zhǔn);
3)支持物理限制的測(cè)試。
物體的識(shí)別完全依賴于深度圖,而不是獲取的重建后的幾何形狀。
本申請(qǐng)首先讓機(jī)器人對(duì)場(chǎng)景進(jìn)行粗略的掃描并通過(guò)移除主要的平面等操作,從不完整的點(diǎn)云中提取出物體,完成前景的分割。聚焦于提取出的物體,機(jī)器人不斷是獲取深度圖并進(jìn)行掃描。本申請(qǐng)使用提取出的前景來(lái)移除背景,從而得到一個(gè)更好的識(shí)別效果。一旦物體被識(shí)別,三維增強(qiáng)模型就可以替換掉原有的場(chǎng)景中的物體。
基于部分重建出的場(chǎng)景幾何,本發(fā)明可以檢查當(dāng)前這個(gè)NBV最優(yōu)視點(diǎn)是否是可以達(dá)到的,如果不能達(dá)到,則對(duì)我們的MV-RNN返回一個(gè)空。特別的,我們對(duì)部分重建的場(chǎng)景進(jìn)行測(cè)試。這是由機(jī)器人操作系統(tǒng)ROS的碰撞檢測(cè)包來(lái)實(shí)現(xiàn)的。如果NBV可行性測(cè)試連續(xù)失敗10次,則可以控制該識(shí)別過(guò)程掛起并報(bào)錯(cuò)。
本發(fā)明的物體識(shí)別方法,可以在識(shí)別過(guò)程中不斷判斷是否成功識(shí)別,如果不能夠識(shí)別,還能預(yù)測(cè)下一個(gè)最好的視角,并指導(dǎo)機(jī)器人移動(dòng)到下以最優(yōu)視點(diǎn)進(jìn)行掃描,對(duì)于復(fù)雜場(chǎng)景的物體識(shí)別問(wèn)題很有效。同時(shí),本申請(qǐng)?zhí)岢隽巳S增強(qiáng)模型,對(duì)有遮擋的情況具有較高的包容性,如果下以最優(yōu)視角不可達(dá)到,或者存在遮擋,增強(qiáng)模型則會(huì)選取當(dāng)前最有信息量的局部細(xì)節(jié)特征來(lái)幫助進(jìn)行識(shí)別。該方法可針對(duì)機(jī)器人對(duì)未知場(chǎng)景進(jìn)行掃描和識(shí)別,不僅解決的識(shí)別的問(wèn)題,解決了下一個(gè)視角的規(guī)劃問(wèn)題,同時(shí)還對(duì)遮擋具有容錯(cuò)性,能較好的處理遮擋的情況。
基于與上述物體識(shí)別方法相同的發(fā)明構(gòu)思,本申請(qǐng)?zhí)峁┮环N物體識(shí)別裝置,如下面實(shí)施例所述。由于該物體識(shí)別裝置解決問(wèn)題的原理與物體識(shí)別方法相似,因此該物體識(shí)別裝置的實(shí)施可以參見(jiàn)物體識(shí)別方法的實(shí)施,重復(fù)之處不再贅述。
圖6為本發(fā)明實(shí)施的物體識(shí)別裝置的結(jié)構(gòu)示意圖,如圖6所示,該物體識(shí)別裝置包括:
特征提取單元601,用于將待識(shí)別物體當(dāng)前最優(yōu)視角的一深度圖輸入特征提取器進(jìn)行特征提取,得到第一特征向量;
分類(lèi)單元602,用于將所述第一特征向量通過(guò)第一隱含層得到池化層結(jié)果,將所述池化層結(jié)果輸入層次化分類(lèi)器得到分類(lèi)結(jié)果;
區(qū)域生成單元603,用于根據(jù)所述池化層結(jié)果及視角觀測(cè)參數(shù)的觀測(cè)向量生成當(dāng)前聚焦的局部區(qū)域;
向量生成單元604,用于將所述局部區(qū)域輸入第二隱含層得到第二特征向量,所述第二特征向量包括所述池化層結(jié)果及當(dāng)前局部觀測(cè)視角的信息;
最優(yōu)視角生成單元605,用于利用一全連接層及所述第二特征向量生成下一最優(yōu)視角。
一實(shí)施例中,所述第一隱含層為最大池化層,用于將各個(gè)視角的信息進(jìn)行集成。
一實(shí)施例中,所述的物體識(shí)別裝置還包括:編碼單元,用于將視角觀測(cè)參數(shù)通過(guò)非線性函數(shù)編碼成所述觀測(cè)向量。
一實(shí)施例中,所述的物體識(shí)別裝置還包括:
聚類(lèi)單元,用于對(duì)于每一個(gè)非根節(jié)點(diǎn),利用高斯混合模型對(duì)形狀進(jìn)行聚類(lèi);
分類(lèi)單元,用于基于聚類(lèi)結(jié)果訓(xùn)練所述層次化分類(lèi)器。
一實(shí)施例中,所述的物體識(shí)別裝置還包括:
遮擋容錯(cuò)單元,用于提取所述深度圖的一系列局部圖像,在所述層次化分類(lèi)器的每個(gè)節(jié)點(diǎn)訓(xùn)練一個(gè)局部級(jí)別的卷積神經(jīng)網(wǎng)絡(luò)。
本發(fā)明實(shí)施例提供一種包括計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀指令在被執(zhí)行時(shí)使處理器至少執(zhí)行如下步驟:
S1:將待識(shí)別物體當(dāng)前最優(yōu)視角的一深度圖輸入特征提取器進(jìn)行特征提取,得到第一特征向量;
S2:將所述第一特征向量通過(guò)第一隱含層得到池化層結(jié)果,將所述池化層結(jié)果輸入層次化分類(lèi)器得到分類(lèi)結(jié)果;
S3:根據(jù)所述池化層結(jié)果及視角觀測(cè)參數(shù)的觀測(cè)向量生成當(dāng)前聚焦的局部區(qū)域;
S4:將所述局部區(qū)域輸入第二隱含層得到第二特征向量,所述第二特征向量包括所述池化層結(jié)果及當(dāng)前局部觀測(cè)視角的信息;
S5:利用一全連接層及所述第二特征向量生成下一最優(yōu)視角;
S6:重復(fù)所述S1至S5,直至所述分類(lèi)結(jié)果遍歷到所述層次化分類(lèi)器葉子節(jié)點(diǎn)。
如圖7所示,本發(fā)明實(shí)施例提供一種設(shè)備,該設(shè)備包括:
處理器701;和
包括計(jì)算機(jī)可讀指令的存儲(chǔ)器702,所述計(jì)算機(jī)可讀指令在被執(zhí)行時(shí)使所述處理器執(zhí)行如下步驟:
S1:將待識(shí)別物體當(dāng)前最優(yōu)視角的一深度圖輸入特征提取器進(jìn)行特征提取,得到第一特征向量;
S2:將所述第一特征向量通過(guò)第一隱含層得到池化層結(jié)果,將所述池化層結(jié)果輸入層次化分類(lèi)器得到分類(lèi)結(jié)果;
S3:根據(jù)所述池化層結(jié)果及視角觀測(cè)參數(shù)的觀測(cè)向量生成當(dāng)前聚焦的局部區(qū)域;
S4:將所述局部區(qū)域輸入第二隱含層得到第二特征向量,所述第二特征向量包括所述池化層結(jié)果及當(dāng)前局部觀測(cè)視角的信息;
S5:利用一全連接層及所述第二特征向量生成下一最優(yōu)視角;
S6:重復(fù)所述S1至S5,直至所述分類(lèi)結(jié)果遍歷到所述層次化分類(lèi)器葉子節(jié)點(diǎn)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
本發(fā)明中應(yīng)用了具體實(shí)施例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。