1.一種基于CNN和SVM的動作識別方法,其特征在于,包括以下步驟:
(1)選擇CNN訓(xùn)練數(shù)據(jù)集,進(jìn)行卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練,得到人體識別模型,能夠在視頻中識別出人體;
(2)選擇SVM訓(xùn)練數(shù)據(jù)集,進(jìn)行支持向量機(jī)訓(xùn)練,得到動作識別模型,能夠?qū)θ梭w動作進(jìn)行分類;
(3)將待識別的視頻輸入步驟(1)得到的人體識別模型,從而識別出視頻中的目標(biāo),即人體,并保存目標(biāo)的位置坐標(biāo);
(4)讀取步驟(3)保存的目標(biāo)位置坐標(biāo),從待識別的視頻各幀中截取對應(yīng)位置區(qū)域的圖片,并將其中的連續(xù)幀圖片歸為一類;
(5)構(gòu)建有效幀提選取方法,使用有效幀提取方法從連續(xù)幀圖片中選取有效信息集中的有效幀作為一個(gè)數(shù)據(jù)組;
(6)將步驟(5)得到的數(shù)據(jù)組輸入卷積神經(jīng)網(wǎng)絡(luò),提取fc7特征向量;
(7)構(gòu)建金字塔特征優(yōu)化模型,對步驟(6)得到的fc7特征向量進(jìn)行優(yōu)化;
(8)將優(yōu)化后的特征向量進(jìn)行整合,再輸入步驟(2)得到的動作識別模型中進(jìn)行分類,得到動作識別結(jié)果。
2.根據(jù)權(quán)利要求1所述基于CNN和SVM的動作識別方法,其特征在于:步驟(1)的具體過程如下:
采用PASCAL VOC數(shù)據(jù)集作為CNN訓(xùn)練數(shù)據(jù)集,將人體圖片轉(zhuǎn)化成lmdb格式數(shù)據(jù),將lmdb格式的人體圖片和圖片中人體的坐標(biāo)輸入卷積神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,得到人體識別模型。
3.根據(jù)權(quán)利要求1所述基于CNN和SVM的動作識別方法,其特征在于:步驟(2)的具體過程如下:
采用UCF sports數(shù)據(jù)集作為SVM訓(xùn)練集,在該數(shù)據(jù)集的每個(gè)動作中給定了人的圖片和圖片中相應(yīng)的動作及相應(yīng)的坐標(biāo),采用OPENCV中的cvSetImageROI函數(shù)截取感興趣區(qū)域,將視頻中截取的連續(xù)幀歸為一類,采用有效幀提取方法從連續(xù)幀中提取出有效幀,將有效幀輸入金字塔特征優(yōu)化模型中得到特征向量,按照數(shù)據(jù)集中給定的動作對特征向量中的每個(gè)特征進(jìn)行唯一標(biāo)號,將帶有標(biāo)號的特征向量輸入支持向量機(jī)中進(jìn)行訓(xùn)練,得到動作識別模型。
4.根據(jù)權(quán)利要求1所述基于CNN和SVM的動作識別方法,其特征在于:在步驟(5)中,所述有效幀提取方法的過程如下:
采用局部敏感哈希算法對連續(xù)的n幀圖片的fc7特征向量進(jìn)行hash映射,得到n個(gè)二進(jìn)制特征空間,若當(dāng)前幀的二進(jìn)制特征空間中的特征與前一幀不同,則將當(dāng)前幀作為有效幀,并把當(dāng)前幀到下一個(gè)有效幀的前一幀作為一個(gè)有效幀片段。
5.根據(jù)權(quán)利要求4所述基于CNN和SVM的動作識別方法,其特征在于:步驟(7)的具體過程如下:
將步驟(5)得到的有效幀片段作為金字塔的塔尖,提取每一幀圖片的fc7層特征,將h1=fM-f1作為金字塔頂層的CNN流;在金字塔中間層,將有效幀片段均分為兩份,將h2=f(M/2)-f1和h3=fM-f(M/2)+1作為金字塔中間層的兩個(gè)CNN流;在金字塔底層,將金字塔中間層均分的兩份有效幀片段各自再均分為兩份,將h4=fM/4-f1,h5=f(M/2)+1-f(M/4)+1,h6=f(3M/4)-f(M/2)+1,h7=fM-f(3M/4)+1作為金字塔底層的CNN流,一共得到7個(gè)CNN流h1-h7,使用這7個(gè)CNN流作為某一個(gè)連續(xù)動作的特征向量;其中,fi為有效幀片段中第i幀的fc7層特征,i=1,2,…,M,M為有效幀片段的長度。