[發明專利]一種基于運動軌跡的3D卷積神經網絡的行為識別方法有效
| 申請號: | 201810748903.6 | 申請日: | 2018-07-10 |
| 公開(公告)號: | CN109255284B | 公開(公告)日: | 2021-02-12 |
| 發明(設計)人: | 趙凡;吉璐;藺廣逢;陳亞軍 | 申請(專利權)人: | 西安理工大學 |
| 主分類號: | G06K9/00 | 分類號: | G06K9/00;G06K9/62 |
| 代理公司: | 西安弘理專利事務所 61214 | 代理人: | 杜娟 |
| 地址: | 710048*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 運動 軌跡 卷積 神經網絡 行為 識別 方法 | ||
1.一種基于運動軌跡的3D卷積神經網絡的行為識別方法,其特征在于,具體按照以下步驟實施:
步驟一,行為識別網絡模型訓練,具體按照以下步驟實施:
步驟1,建立行為識別數據集,數據集包含N種行為類別,第n種行為的視頻個數記為Vnumn,0≤n≤N-1,在第n種行為視頻中按順序抽取前Kn個視頻作為訓練視頻,Kn=round(3/4×Vnumn),把所有抽取的訓練視頻作為訓練數據集Vtrain,其中表示在訓練數據集中第n種行為類別下的第k個視頻;測試數據集表示測試數據集中第n種行為類別下的第s個視頻;
步驟2,創建訓練標簽Labeltrain與測試標簽Labeltest,在訓練數據集Vtrain中,第n種行為類別下的第k個視頻的視頻幀數為以互不重疊的連續16幀圖像為一個視頻段,提取的視頻段個數為表示第n種行為類別下的第k個視頻的第m個視頻段;
訓練標簽Labeltrain的格式為:其中為視頻路徑VideoPath/Vtrainn下的視頻文件名(m-1)×16為每個視頻段起始幀號,n為行為類別編號;
在測試數據集Vtest中,第n種行為類別下的第s個視頻的視頻幀數為以互不重疊的連續16幀圖像為一個視頻段,提取的視頻段個數為表示第n種行為類別下的第s個視頻的第w個視頻段;
測試標簽Labeltest格式為:
其中為視頻路徑VideoPath/Vtestn下的視頻文件名(w-1)×16為每個視頻段起始幀號,n為行為類別編號;
步驟3,雙向光流計算,獲取前向、后向運動軌跡列表,對輸入的視頻段數據進行雙向光流場計算,獲取視頻前向運動軌跡列表pos_pre={pos_pre[i][j]},pos_pre[i][j]表示第i幀視頻圖像第j個像素在前一幀視頻圖像中的對應像素點位置,其中,1≤j≤w′×h,w′、h分別表示視頻圖像的寬和高,1<i≤16;后向運動軌跡列表pos_back={pos_back[i][j]},pos_back[i][j]表示第i幀視頻圖像第j個像素在后一幀視頻圖像中的對應像素點位置,其中,1≤j≤w′×h,1≤i<16;具體按照以下步驟實施:
步驟3.1,將輸入的視頻段數據轉化為灰度圖像集{img_gray[i]|1≤i≤16};
步驟3.2,采用光流計算方法進行視頻灰度圖像img_gray[i]的前向和后向運動軌跡提取;步驟3.2具體按照以下步驟實施:
步驟(1),當前視頻幀圖像img_gray[i]的像素坐標表示為:其中和分別為img_gray[i]中第j像素在圖像中的橫坐標和縱坐標;
步驟(2),獲取當前視頻幀圖像img_gray[i]的前一幀圖像img_pre與后一幀圖像img_back,其中img_pre=img_gray[i-1],img_back=img_gray[i+1];若當i=1時,表示當前幀沒有前一幀圖像,則把img_pre置為空;若當i=16時,表示當前幀沒有后一幀圖像,則把img_back置為空;
步驟(3),計算相鄰兩幀圖像的光流場,采用光流場計算方法分別計算img_gray[i]與img_pre、img_back之間的前向光流場和后向光流場ω_pre[i],ω_back[i],分別對應img_gray[i]中第j個像素相對img_pre的水平和垂直運動位移量,分別對應img_gray[i]中第j個像素相對img_back的水平和垂直運動位移量;
步驟(4),根據光流場生成img_gray[i]的前向運動軌跡列表Pfij是img_gray[i]中第j個像素在img_pre中的對應像素點位置,
步驟(5),根據光流場生成img_gray[i]的后向運動軌跡列表是img_gray[i]中第j個像素在img_back中的對應像素點位置,
步驟4,根據步驟3得到的運動軌跡列表,把視頻段數據轉換成N1×N2大小的數據矩陣N1=81,N2=16×w′×h,c表示顏色通道,取值為1,2和3,imgc[i]中第j個像素點位置是根據i和j的取值在前向軌跡列表pos_pre中得到前向匹配像素點位置Pfij,Pfij=pos_pre[i][j],在后向軌跡列表pos_back中得到后向匹配像素點位置在imgc[i-1]、imgc[i]和imgc[i+1]圖像中分別提取和Pfij這三個位置的像素點在各個通道上的3×3鄰域像素值,將三個通道上的各鄰域像素值串行合并,將合并后數據放在矩陣中的第(i-1)×(w′×h)+j列;步驟4具體按照以下步驟實施:
步驟4.1,根據imgc[i]中第j個像素點位置獲取以為中心的3×3大小在c通道上的鄰域像素值
步驟4.2,在前向運動軌跡列表pos_pre中得到前向匹配像素點位置步驟4.2具體為:
①判斷i是否為1;
②若i=1,該像素點所在圖像沒有前向列表,則該像素點在前一幀圖像中對應的像素點位置把以Pfij為中心的3×3大小在c通道上的鄰域像素值均置為0;
③若i≠1,在前向運動軌跡列表pos_pre中得到前向匹配像素點位置獲取以Pfij為中心的3×3大小在c通道中的鄰域像素值
步驟4.3,在后向運動軌跡列表pos_back中得到后向匹配像素點位置具體按照以下步驟實施:
①判斷i是否為16;
②若i=16,該像素點所在圖像沒有后向列表,則該像素點在后一幀圖像中對應的像素點位置把以為中心的3×3大小在c通道上的鄰域像素值置為0;
③若i≠16,在后向運動軌跡列表pos_back中得到后向匹配像素點位置獲取以為中心的3×3大小在c通道上的鄰域像素值
步驟4.4,將逐通道進行串行合并,將合并后數據放置在矩陣中的第(i-1)×(w′×h)+j列;
步驟5,建立基于運動軌跡的3D卷積神經網絡結構Track_3D,該網絡的輸入為訓練數據集Vtrain,大小為C×16×w′×h,其中C=3為通道個數,16為連續視頻幀數,w′×h為視頻圖像的分辨率,網絡結構的總層數為30層,包括依次連接的:數據層、Track_3D卷積層conv1a、激活層relu1a、3D池化層pool1、3D卷積層conv2a、激活層relu2a、3D池化層pool2、3D卷積層conv3a、激活層relu3a、3D卷積層conv3b、激活層relu3b、3D池化層pool3、3D卷積層conv4a、激活層relu4a、3D卷積層conv4b、激活層relu4b、3D池化層pool4、3D卷積層conv5a、激活層relu5a、3D卷積層conv5b、激活層relu5b、3D池化層pool5、全連接層fc6、激活層relu6、drop層drop6、全連接層fc7、激活層relu7、drop層drop8、全連接層fc8以及softmax層;
步驟6,對步驟5建立的基于運動軌跡的3D卷積神經網絡結構進行訓練,具體為:打開訓練樣本標簽Labeltrain文件,按行讀取視頻路徑、視頻名稱和視頻段起始幀號,在視頻名稱對應的視頻中以起始幀號為首幀連續讀取16幀視頻段作為一個樣本,將所有的樣本依次送入到步驟5建立的基于運動軌跡的3D卷積神經網絡結構中進行訓練,當滿足最大迭代次數或收斂條件時結束訓練,得到基于運動軌跡的3D卷積神經網絡結構Track3DModel;
步驟二,行為識別網絡模型測試,具體為:讀取測試標簽Labeltest中的視頻路徑、視頻名稱以及起始幀號,將測試數據集中的視頻按照以起始幀號為第一幀的連續16幀視頻段輸入到經過訓練的基于運動軌跡的3D卷積神經網絡模型中,輸出各個視頻段的行為分類信息,最后將輸出的行為分類信息與測試視頻對應的測試標簽Labeltest文件信息作比較,統計分類正確個數,計算得到準確率;
步驟三,若步驟二得到的準確率大于等于95%,則認為步驟一的步驟6訓練的基于運動軌跡的3D卷積神經網絡結構為最終的需求,若準確率小于95%,則需要調整基于運動軌跡的3D卷積神經網絡結構的內置參數,然后重復步驟一的步驟6和步驟二,直到準確率滿足要求。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安理工大學,未經西安理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810748903.6/1.html,轉載請聲明來源鉆瓜專利網。





