基于遞歸神經(jīng)網(wǎng)絡(luò)和人體骨架運(yùn)動(dòng)序列的行為識(shí)別方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)視覺、模式識(shí)別和神經(jīng)網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種利用遞歸 神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)端到端的基于人體骨架運(yùn)動(dòng)序列的行為識(shí)別方法。
【背景技術(shù)】
[0002] 隨著人工智能技術(shù)的發(fā)展,智能機(jī)器人,如谷歌的無(wú)人駕駛汽車、百度的無(wú)人駕駛 自行車等,即將走入人們的生活,以及智慧城市、智能交通及智能監(jiān)控領(lǐng)域等,這些都需要 計(jì)算機(jī)對(duì)人的行為進(jìn)行自動(dòng)分析。近年來,深度攝像技術(shù)結(jié)合高精度的人體骨架估計(jì)算法, 可以提供人體運(yùn)動(dòng)過程對(duì)應(yīng)的骨架運(yùn)動(dòng)信息,基于骨架運(yùn)動(dòng)序列可以進(jìn)行精確的行為識(shí) 別。
[0003] 當(dāng)前基于骨架節(jié)點(diǎn)的行為識(shí)別算法主要是在手工特征提取的基礎(chǔ)上設(shè)計(jì)分類器 來實(shí)現(xiàn)行為識(shí)別,其中運(yùn)動(dòng)動(dòng)態(tài)信息的手工提取非常麻煩,不利于實(shí)際應(yīng)用。而且,傳統(tǒng)方 法的訓(xùn)練及測(cè)試多是在小數(shù)據(jù)集上進(jìn)行,當(dāng)數(shù)據(jù)量增大時(shí),其整體計(jì)算復(fù)雜度對(duì)于一般的 硬件條件將難以承受,難以發(fā)揮基于骨架的行為識(shí)別在實(shí)際應(yīng)用中的價(jià)值。
【發(fā)明內(nèi)容】
[0004] 為了解決上述現(xiàn)有技術(shù)中存在的問題,本發(fā)明的目的是提供一種端到端的基于遞 歸神經(jīng)網(wǎng)絡(luò)和人體骨架運(yùn)動(dòng)序列的行為識(shí)別方法,不需要復(fù)雜的處理,即可根據(jù)人體骨架 運(yùn)動(dòng)序列對(duì)其行為進(jìn)行識(shí)別。
[0005] 本發(fā)明提出的一種利用遞歸神經(jīng)網(wǎng)絡(luò)解決基于骨架節(jié)點(diǎn)的行為識(shí)別方法包括以 下步驟:
[0006] 步驟S1,從訓(xùn)練深度視頻中估計(jì)得到人體運(yùn)動(dòng)對(duì)應(yīng)的人體骨架運(yùn)動(dòng)序列;
[0007] 步驟S2,對(duì)于所述人體骨架運(yùn)動(dòng)序列進(jìn)行歸一化;
[0008] 步驟S3,對(duì)于歸一化后的人體骨架運(yùn)動(dòng)序列進(jìn)行濾波;
[0009] 步驟S4,將所述人體骨架運(yùn)動(dòng)序列數(shù)據(jù)劃分為M個(gè)部分,并將其分別送入相應(yīng)數(shù) 量的并行的單隱含層雙向遞歸神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征提?。?br>[0010] 步驟S5,對(duì)于M個(gè)單隱含層雙向遞歸神經(jīng)網(wǎng)絡(luò)在同一時(shí)刻的輸出進(jìn)行局部融合, 得到N個(gè)序列值,輸入到下一層N個(gè)并行的單隱含層雙向遞歸神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征提取,提 取得到的特征即為N個(gè)單隱含層雙向遞歸神經(jīng)網(wǎng)絡(luò)的輸出,其中,N〈M;
[0011] 步驟S6,對(duì)于得到的新的特征重復(fù)步驟S5進(jìn)行局部融合,直至得到一個(gè)關(guān)于整個(gè) 人體運(yùn)動(dòng)的序列值,并將其送入一個(gè)由LSTM神經(jīng)元構(gòu)成的雙向遞歸神經(jīng)網(wǎng)絡(luò),以得到對(duì)于 人體運(yùn)動(dòng)動(dòng)態(tài)的表達(dá);
[0012] 步驟S7,將所述步驟S6得到的網(wǎng)絡(luò)輸出送入全連接層,并根據(jù)所述全連接層的輸 出得到類屬概率;
[0013] 步驟S8,根據(jù)所述步驟S7中得到的類屬概率的最大值來判定輸入序列所述的類 別;
[0014] 步驟S9 :如所述步驟S1-S3所述,得到待識(shí)別深度視頻的人體骨架運(yùn)動(dòng)序列,并對(duì) 其進(jìn)行歸一化和濾波;
[0015] 步驟S10 :如所述步驟S4-S8所述,將歸一化和濾波后的人體骨架運(yùn)動(dòng)序列送入層 次化雙向遞歸神經(jīng)網(wǎng)絡(luò),得到所述人體骨架運(yùn)動(dòng)序列的類屬概率;
[0016] 步驟S11 :根據(jù)所述步驟10得到的類屬概率最大值判定所述待識(shí)別深度視頻所屬 的行為類別。
[0017] 本發(fā)明方法的主要優(yōu)點(diǎn)是根據(jù)人體結(jié)構(gòu)特征及運(yùn)動(dòng)的相對(duì)性,設(shè)計(jì)端到端的分析 模式,在實(shí)現(xiàn)高精度識(shí)別率的同時(shí)避免復(fù)雜的計(jì)算,便于實(shí)際應(yīng)用。近年來隨著深度攝像技 術(shù)的發(fā)展,可以很容易地獲取人體運(yùn)動(dòng)的深度圖像序列,同時(shí)結(jié)合高精度的骨架估計(jì)算法, 可以輕易獲取人體骨架運(yùn)動(dòng)序列,基于這些序列,可以實(shí)現(xiàn)高精度的行為識(shí)別,對(duì)智能視頻 監(jiān)控、智能交通管理及智慧城市建設(shè)等具有重要意義。
【附圖說明】
[0018] 圖1是本發(fā)明基于遞歸神經(jīng)網(wǎng)絡(luò)和人體骨架運(yùn)動(dòng)序列的行為識(shí)別方法流程圖。
[0019] 圖2是利用一種常用的人體骨架估計(jì)算法得到的骨架節(jié)點(diǎn)含義及其所對(duì)應(yīng)的人 體位置示意圖。
[0020] 圖3是本發(fā)明基于遞歸神經(jīng)網(wǎng)絡(luò)和人體骨架運(yùn)動(dòng)序列的行為識(shí)別方法的模型框 架示意圖。
[0021] 圖4是本發(fā)明一實(shí)施例采用的一種特殊神經(jīng)元一長(zhǎng)短時(shí)記憶神經(jīng)元(Long-Short TermMemory)的結(jié)構(gòu)不意圖。
[0022] 圖5是本發(fā)明一實(shí)施例采用的雙向遞歸神經(jīng)網(wǎng)絡(luò)(BidirectionalRecurrent NeuralNetwork,BRNN)的結(jié)構(gòu)不意圖。
[0023] 圖6是用于證明本發(fā)明有效性的三個(gè)數(shù)據(jù)庫(kù)所提供的人體骨架節(jié)點(diǎn)及四肢和軀 干劃分示意圖,三個(gè)數(shù)據(jù)庫(kù)為MSRAction3D、BerkeleyMHAD和HDM05。
【具體實(shí)施方式】
[0024] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照 附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
[0025] 圖1是本發(fā)明基于遞歸神經(jīng)網(wǎng)絡(luò)和人體骨架運(yùn)動(dòng)序列的行為識(shí)別方法流程圖, 如圖1所示,所述行為識(shí)別方法包括訓(xùn)練和識(shí)別兩個(gè)過程,整個(gè)行為識(shí)別模型包含9個(gè)網(wǎng) 絡(luò)層,其中包括4個(gè)BRNN層個(gè)特征融合層(fl「fl3),一個(gè)全連接層和一個(gè) Softmax層,另外,將其中的雙向遞歸神經(jīng)網(wǎng)絡(luò)(BRNN)替換為單向遞歸神經(jīng)網(wǎng)絡(luò),便構(gòu)成單 向?qū)哟位f歸神經(jīng)網(wǎng)絡(luò),其可用于基于人體骨架運(yùn)動(dòng)序列的實(shí)時(shí)在線行為識(shí)別。
[0026] 所述訓(xùn)練過程可以描述為:對(duì)于已經(jīng)提取得到的人體骨架序列進(jìn)行適當(dāng)降采樣, 再經(jīng)節(jié)點(diǎn)坐標(biāo)歸一化和濾波之后,送入層次化遞歸神經(jīng)網(wǎng)絡(luò)進(jìn)行模型訓(xùn)練,使網(wǎng)絡(luò)在有監(jiān) 督情況下自主學(xué)習(xí)人體行為骨架運(yùn)動(dòng)特征的層次化表達(dá)。所述識(shí)別過程可以描述為:對(duì)于 新的人體骨架運(yùn)動(dòng)序列,對(duì)其進(jìn)行坐標(biāo)歸一化和濾波(當(dāng)原始數(shù)據(jù)精度較高時(shí)無(wú)需平滑濾 波處理)之后,送入所述層次化遞歸神經(jīng)網(wǎng)絡(luò)進(jìn)行分析,即可得到新的人體骨架運(yùn)動(dòng)序列 所屬的行為類別。
[0027] 具體地,所述訓(xùn)練過程進(jìn)一步包括以下步驟:
[0028]步驟S1,從訓(xùn)練深度視頻中估計(jì)得到人體運(yùn)動(dòng)對(duì)應(yīng)的人體骨架運(yùn)動(dòng)序列,其中,所 述人體骨架運(yùn)動(dòng)序列由不同時(shí)刻的人體骨架節(jié)點(diǎn)坐標(biāo)值組成,這些骨架節(jié)點(diǎn)運(yùn)動(dòng)信息可以 由運(yùn)動(dòng)捕獲系統(tǒng)從訓(xùn)練深度視頻中直接獲取,也可以利用人體骨架估計(jì)算法從訓(xùn)練深度視 頻中提取得到。當(dāng)采用人體骨架估計(jì)算法獲取人體骨架節(jié)點(diǎn)坐標(biāo)時(shí),算法的設(shè)置不同,估計(jì) 得到的人體骨架所包含的節(jié)點(diǎn)數(shù)目也不盡相同,其中一種常用的設(shè)置包含20個(gè)節(jié)點(diǎn),即: 頭部,左右肩膀,左右肩膀中心點(diǎn),左右肘關(guān)節(jié),左右腕關(guān)節(jié),左右手掌,脊柱中心點(diǎn),脊柱下 端點(diǎn),左右散關(guān)節(jié),左右膝關(guān)節(jié),左右踩關(guān)節(jié),以及左右腳掌,如圖2所不。也就是說,人體骨 架運(yùn)動(dòng)序列的獲取屬于現(xiàn)有技術(shù),本發(fā)明對(duì)其不再贅述。但需要注意的一點(diǎn)是,訓(xùn)練樣本越 多,最終訓(xùn)練得到的模型性能也就越強(qiáng)。
[0029] 在本發(fā)明一實(shí)施例中,為了在不影響識(shí)別算法正確率的情況下減少運(yùn)算量,所述 步驟1還對(duì)于所述人體骨架運(yùn)動(dòng)序列進(jìn)行降采樣,需要注意的是,經(jīng)過降采樣后的幀率最 好不低于15幀每秒。另外,所述人體骨架運(yùn)動(dòng)序列的序列長(zhǎng)度需要保證能夠準(zhǔn)確地反映對(duì) 應(yīng)運(yùn)動(dòng)的特征信息。
[0030] 步驟S2,對(duì)于所述人體骨架運(yùn)動(dòng)序列進(jìn)行歸一化,以消除人體所處絕對(duì)空間位置 變動(dòng)對(duì)識(shí)別結(jié)果的影響;
[0031] 考慮到通常得到的人體骨架節(jié)點(diǎn)坐標(biāo)采用的是屏幕坐標(biāo)系或是數(shù)據(jù)提供者自行 設(shè)定的空間坐標(biāo)系,而人的行為獨(dú)立于其所處的絕對(duì)空間位置,因此,為了消除人所處屏幕