特定人體動作的自動訓練和識別系統的制作方法
【專利摘要】本發明公開了一種特定人體動作的自動訓練和識別系統,包括訓練信息采集單元、訓練信息處理單元和動作信息識別單元,其中,所述的訓練信息采集單元使用多個深度信息幀和骨骼信息幀按照設定的存儲格式來保存采集器傳輸過來的原始動作信息,做為原始動作的樣本數據;所述的訓練信息處理單元對訓練信息采集單元傳輸過來的樣本數據進行正則化處理;所述的動作信息識別單元先通過特征三維向量集進行模糊識別,縮小搜索范圍后,再進一步進行精確識別,從而認定待識別動作為當前候選動作。該系統采用降精度離散化坐標算法以簡化運動信息表示和減少特征提取算法的計算量,同時采用多層次特征匹配算法以加快識別速度。
【專利說明】特定人體動作的自動訓練和識別系統
【技術領域】
[0001]本發明屬于計算機工程【技術領域】,涉及了一種基于機器學習的、用于產生特定人體動作識別器的訓練系統。
【背景技術】
[0002]動作識別是近年來非常熱門的研究領域,通過圖像捕捉設備,在較短的時間內完成對人體動作的識別過程,并轉換為計算機等設備的操作指令;從而被作為一種有效的輸入手段被應用到游戲、電影制作等廣泛的應用領域中。
[0003]動作識別首先要解決的問題是找到人體動作的部位,人體動作的部位是動作識別的依據,一般稱為“關注位置”。因為通常關注位置為人臉、手等裸露的部位,其顏色跟環境、衣服有比較大的區別,所以可以從顏色上把關注位置與非關注位置區分開,對于關注位置的確定,一般采用基于顏色分布統計的色彩直方圖為依據,具體來說,是將人體動作捕捉為靜態的待識別圖像,根據圖像不同區域(兩區域中心位置、大小有任意一項不同則這兩個區域為不同區域)的顏色統計出色彩直方圖,然后把各區域的統計直方圖與預設的直方圖做比較,尋找最相似的區域作為最后的關注位置。
[0004]但這種方法對顏色要求很高,人穿著與膚色相近的衣服、周圍環境與膚色相近、環境光色調單一等等因素都會導致識別率大幅下降,且該方法只能獲得所關注位置在圖像的哪個位置,而無法獲得關注位置的具體表達含義。
[0005]為消除顏色對圖像識別的影響,現有的識別技術通常先把待識別圖像轉化為灰度圖,然后對得到的灰度圖進行識別。待識別圖像被轉化為灰度圖后,需要用經過神經網絡等人工智能技術訓練的識別系統從整體中根據輪廓線條走向、各部分位置關系等特征尋找到關注位置,例如從人的全身像里找到臉或者手。
[0006]目前,在開源計算機視覺庫項目中,采用了一種基于簡單特征級聯的圖像識別算法,采用該算法的動作識別過程大致可分為兩部分,首先要通過訓練過程生成特征文件,之后通過識別過程根據生成的特征文件對捕獲的圖像進行識別,得到識別結果。該算法取得了較好的效果,但是其還是存在著一些不足,如特征文件的計算量比較大、識別速度比較慢等。因此,市場上仍需一種計算量少、識別速度快的圖像訓練識別系統。
【發明內容】
[0007]本發明的目的在于針對現有技術的不足,提供了一種降精度離散化坐標算法以簡化運動信息表示和減少特征提取算法的計算量,同時采用多層次特征匹配算法以加快識別速度的特定人體動作的自動訓練和識別系統。
[0008]為了實現上述目的,本發明采用了以下技術方案:
一種特定人體動作的自動訓練和識別系統,包括訓練信息采集單元、訓練信息處理單元和動作信息識別單元,其中:
所述的訓練信息采集單元使用多個深度信息幀和骨骼信息幀按照設定的存儲格式來保存采集器傳輸過來的原始動作信息,做為原始動作的樣本數據; 所述的訓練信息處理單元對訓練信息采集單元傳輸過來的樣本數據進行正則化處理,即先通過離散化骨骼點坐標,將樣本數據離散化為動作的樣本三維向量集,然后再通過特征提取算法獲取特征三維向量集;
所述的動作信息識別單元先通過特征三維向量集進行模糊識別,縮小搜索范圍后,再進一步進行精確識別,從而認定待識別動作為當前候選動作。
[0009]作為本發明的系統進一步說明,以上所述設定的存儲格式包括以下字段:動作ID、動作名稱、動作信息幀的對數、深度信息幀和骨骼信息幀。
[0010]作為本發明的系統進一步說明,以上所述的采集器包括深度探測攝像頭和第三方SDK。
[0011]該系統生成的樣本數據中每個單位立方體均包含向量信息。
[0012]該系統根據一個動作的所有樣本數據(樣本三維向量集)生成一個特征樣本(特征三維向量集),特征樣本(特征三維向量集)可以加快動作識別速度。
[0013]該系統的特征樣本(特征三維向量集)生成方法為選取在所有樣本中出現比率大于50%的三維坐標點。
[0014]在該系統中,先計算待識別動作的三維向量集與各候選動作的特征樣本(特征三維向量集)之間的相似度,通過預設閥值過濾掉不匹配的動作。
[0015]該系統采用了特征三維向量集之間的幾何距離作為相似度計算方法。
[0016]該系統的特征數據
該特定人體動作的自動訓練和識別系統的實現方法(處理流程)具體包括以下步驟:
(1)訓練信息的采集:
通過深度探測攝像頭及第三方SDK采集需要被識別的各種動作樣本,并且在將采集到的樣本數據進行存儲時,其存儲格式包括以下字段:動作ID(Action ID:1nt32)、動作名稱(Action Name: String)、動作信息幀的對數(Frame Count:1nteger)、深度信息幀(DepthFrame #n:1nteger Array)和骨豁信息中貞(Skeleton Frame #n:1nteger Array);
(2)樣本數據正則化處理:
a.統一坐標系,即對每幀的深度信息數據和骨骼信息數據進行坐標變換,將它們統一到同一世界坐標系中;
b.離散化骨骼點坐標,即對當前幀中每個骨骼信息數據點坐標進行離散化處理,離散化的步驟為:
i)根據前后相鄰的各一幀中的同一骨骼點坐標,計算該骨骼點的運動向量;
?)查找該骨骼點對應的目標離散坐標系中的單位立方體;
iii)把該骨骼點的運動向量合成到單位立方體的當前運動向量中;
c.離散化深度信息數據坐標,即在離散化骨骼點坐標時,如果該骨骼點為手部點,則將該骨骼點附近的深度數據點也進行離散化,離散化后的對應于深度信息數據的單位立方體擁有與該骨骼點相同的運動向量;
d.對每一幀重復上述a、b、c步驟,對每一個待識別動作生成一個對應的樣本三維向量
集;
(3)特征三維向量集的提取: 通過訓練樣本數據結構中的動作ID,獲知正則化后的樣本三維向量集所對應的人體動作,對于該動作所有的訓練樣本生成的所有三維向量集,都將作為該動作對應的樣本三維向量集;對樣本三維向量集進行特征提取,獲取該動作的特征三維向量集,具體提取算法如下:
a.計算每個三維坐標點在全部三維向量集中出現的次數;
b.根據其出現次數計算其特征系數,即,特征系數=三維坐標點出現次數/該動作三維向量集的個數;
c.如果特征系數大于50%,則認為該點的三維向量集屬于特征三維向量集;
(4)動作識別及認定:
對于任意一個待識別的動作,通過步驟(1)、(2)得到它的三維向量集,然后采用以下算法進行識別:
a.快速進行識別
計算該三維向量集與當前系統中所有的特征三維向量的距離,如果該距離小于該特征三維向量所對應的閥值,那么將此特征三維向量對應的動作作為一個候選動作;
b.精細識別
對所有候選動作,根據距離由小到大進行排序,然后依次對每個候選動作中的樣本三維向量集,計算它與待識別動作的三維向量集的距離,如果其中最小距離小于預設的閥值,那么系統自動認定待識別動作為當前候選動作。
[0017]上述方法中進一步補充說明,所述的深度信息幀中的每個元素都是其對應坐標上的深度信息。
[0018]上述方法中進一步補充說明,所述的骨骼信息幀有人體骨骼點坐標數據組成。
[0019]上述方法中進一步補充說明,所述的動作信息幀的對數是指一個動作中有多少對深度信息幀和骨骼信息幀。
[0020]SDK, Software Development Kit的縮寫,中文即“軟件開發工具包”。廣義上指輔助開發某一類軟件的相關文檔、范例和工具的集合。SDK是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統等創建應用軟件的開發工具的集合,一般而言SDK即開發Windows平臺下的應用程序所使用的SDK。它可以簡單的為某個程序設計語言提供應用程序接口 API的一些文件,但也可能包括能與某種嵌入式系統通訊的復雜的硬件。一般的工具包括用于調試和其他用途的實用工具。SDK還經常包括示例代碼、支持性的技術注解或者其他的為基本參考資料澄清疑點的支持文檔。
[0021]本發明是基于由特定的硬件采集的多幀深度圖像數據與人體骨骼數據,通過本發明中針對動作識別領域而專門設計的算法,實現一個人體動作訓練與識別系統。
[0022]該系統為所有需要對各種人體動作識別的應用提供了一個通用的設計與基礎平臺。
[0023]本發明的優點:
1.在本發明的系統中,對原始數據進行降精度離散化處理,這樣不僅能夠減少原始數據的噪聲還可以降低運算量,以加快識別速度。
[0024]2.在本發明的系統中,采用了多層次特征匹配算法,進一步加快了動作訓練識別速度。[0025]3.本發明的系統的邏輯設計及算法簡單合理,可行可靠、易實現。
【專利附圖】
【附圖說明】
[0026]圖1是本發明中樣本數據存儲結構示意圖。
[0027]圖2是本發明中坐標離散化示意圖。
[0028]圖3是本發明中動作三維向量集示意圖。
[0029]在圖2、圖3中:A-單位立方體;B-原始坐標中不同的高精度點,經過離散化后,可能會被映射到同一單位立方體中;C-動作離散化后的三維向量集。
【具體實施方式】
[0030]下面結合實施例和附圖對本發明進一步說明。
[0031]實施例1:
一種特定人體動作的自動訓練和識別系統,包括訓練信息采集單元、訓練信息處理單元和動作信息識別單元,其中,所述的訓練信息采集單元使用多個深度信息幀和骨骼信息幀按照設定的存儲格式來保存采集器傳輸過來的原始動作信息,做為原始動作的樣本數據;所述的訓練信息處理單元對訓練信息采集單元傳輸過來的樣本數據進行正則化處理,即先通過離散化骨骼點坐標,將樣本數據離散化為動作的樣本三維向量集,然后再通過特征提取算法獲取特征三維向量集;所述的動作信息識別單元先通過特征三維向量集進行模糊識別,縮小搜索范圍后,再進一步進行精確識別,從而認定待識別動作為當前候選動作。
[0032]實施例2:
一種特定人體動作的自動訓練和識別系統,包括訓練信息采集單元、訓練信息處理單元和動作信息識別單元,其中,所述的訓練信息采集單元使用多個深度信息幀和骨骼信息幀按照設定的存儲格式來保存采集器傳輸過來的原始動作信息,做為原始動作的樣本數據;所述的訓練信息處理單元對訓練信息采集單元傳輸過來的樣本數據進行正則化處理,即先通過離散化骨骼點坐標,將樣本數據離散化為動作的樣本三維向量集,然后再通過特征提取算法獲取特征三維向量集;所述的動作信息識別單元先通過特征三維向量集進行模糊識別,縮小搜索范圍后,再進一步進行精確識別,從而認定待識別動作為當前候選動作。所述設定的存儲格式包括以下字段:動作ID、動作名稱、動作信息幀的對數、深度信息幀和骨骼信息幀。所述的深度信息幀中的每個元素都是其對應坐標上的深度信息;所述的骨骼信息幀有人體骨骼點坐標數據組成;所述的動作信息幀的對數是指一個動作中有多少對深度信息幀和骨骼信息幀。所述的采集器包括深度探測攝像頭和第三方SDK。
[0033]實施例3:
一種特定人體動作的自動訓練和識別系統,包括訓練信息采集單元、訓練信息處理單元和動作信息識別單元,其中,所述的訓練信息采集單元使用多個深度信息幀和骨骼信息幀按照設定的存儲格式來保存采集器傳輸過來的原始動作信息,做為原始動作的樣本數據;所述的訓練信息處理單元對訓練信息采集單元傳輸過來的樣本數據進行正則化處理,即先通過離散化骨骼點坐標,將樣本數據離散化為動作的樣本三維向量集,然后再通過特征提取算法獲取特征三維向量集;所述的動作信息識別單元先通過特征三維向量集進行模糊識別,縮小搜索范圍后,再進一步進行精確識別,從而認定待識別動作為當前候選動作。所述設定的存儲格式包括以下字段:動作ID、動作名稱、動作信息幀的對數、深度信息幀和骨骼信息幀。所述的深度信息幀中的每個元素都是其對應坐標上的深度信息;所述的骨骼信息幀有人體骨骼點坐標數據組成;所述的動作信息幀的對數是指一個動作中有多少對深度信息幀和骨骼信息幀。所述的采集器包括深度探測攝像頭和第三方SDK。[0034]所述的“通過離散化骨骼點坐標,將樣本數據離散化為動作的樣本三維向量集”包括以下處理步驟: a.統一坐標系,即對每幀的深度信息數據和骨骼信息數據進行坐標變換,將它們統一到同一世界坐標系中; b.離散化骨骼點坐標,即對當前幀中每個骨骼信息數據點坐標進行離散化處理,離散化的步驟為: i)根據前后相鄰的各一幀中的同一骨骼點坐標,計算該骨骼點的運動向量; ?)查找該骨骼點對應的目標離散坐標系中的單位立方體; iii)把該骨骼點的運動向量合成到單位立方體的當前運動向量中; c.離散化深度信息數據坐標,即在離散化骨骼點坐標時,如果該骨骼點為手部點,則將該骨骼點附近的深度數據點也進行離散化,離散化后的對應于深度信息數據的單位立方體擁有與該骨骼點相同的運動向量; d.對每一幀重復上述a、b、c步驟,對每一個待識別動作生成一個對應的樣本三維向量集。[0035]所述的“特征提取算法”具體為: a.計算每個三維坐標點在全部三維向量集中出現的次數; b.根據其出現次數計算其特征系數,即,特征系數=三維坐標點出現次數/該動作三維向量集的個數; c.如果特征系數大于50%,則認為該點的三維向量集屬于特征三維向量集。[0036]所述的“模糊識別”具體為:計算該三維向量集與當前系統中所有的特征三維向量的距離,如果該距離小于該特征三維向量所對應的閥值,那么將此特征三維向量對應的動作作為一個候選動作。[0037]所述的“精確識別”具體為:對所有候選動作,根據距離由小到大進行排序,然后依次對每個候選動作中的樣本三維向量集,計算它與待識別動作的三維向量集的距離,如果其中最小距離小于預設的閥值,那么系統自動認定待識別動作為當前候選動作。[0038]上述實施例1-3的系統對原始數據進行降精度離散化處理,這樣不僅能夠減少原始數據的噪聲還可以降低運算量;同時,采用了多層次特征匹配算法,進一步加快了動作訓練識別速度。
【權利要求】
1.一種特定人體動作的自動訓練和識別系統,包括訓練信息采集單元、訓練信息處理單元和動作信息識別單元,其特征在于: 所述的訓練信息采集單元使用多個深度信息幀和骨骼信息幀按照設定的存儲格式來保存采集器傳輸過來的原始動作信息,做為原始動作的樣本數據; 所述的訓練信息處理單元對訓練信息采集單元傳輸過來的樣本數據進行正則化處理,即先通過離散化骨骼點坐標,將樣本數據離散化為動作的樣本三維向量集,然后再通過特征提取算法獲取特征三維向量集; 所述的動作信息識別單元先通過特征三維向量集進行模糊識別,縮小搜索范圍后,再進一步進行精確識別,從而認定待識別動作為當前候選動作。
2.根據權利要求1所述的特定人體動作的自動訓練和識別系統,其特征在于:所述設定的存儲格式包括以下字段:動作ID、動作名稱、動作信息幀的對數、深度信息幀和骨骼信息中貞。
3.根據權利要求1所述的特定人體動作的自動訓練和識別系統,其特征在于:所述的“通過離散化骨骼點坐標,將樣本數據離散化為動作的樣本三維向量集”包括以下處理步驟: a.統一坐標系,即對每幀的深度信息數據和骨骼信息數據進行坐標變換,將它們統一到同一世界坐標系中; b.離散化骨骼點坐標,即對當前幀中每個骨骼信息數據點坐標進行離散化處理,離散化的步驟為:. i)根據前后相鄰的各一幀中的同一骨骼點坐標,計算該骨骼點的運動向量; ii)查找該骨骼點對應的目標離散坐標系中的單位立方體; iii)把該骨骼點的運動向量合成到單位立方體的當前運動向量中; c.離散化深度信息數據坐標,即在離散化骨骼點坐標時,如果該骨骼點為手部點,則將該骨骼點附近的深度數據點也進行離散化,離散化后的對應于深度信息數據的單位立方體擁有與該骨骼點相同的運動向量; d.對每一幀重復上述a、b、c步驟,對每一個待識別動作生成一個對應的樣本三維向量集。
4.根據權利要求1或3所述的特定人體動作的自動訓練和識別系統,其特征在于:所述的“特征提取算法”具體為: a.計算每個三維坐標點在全部三維向量集中出現的次數; b.根據其出現次數計算其特征系數,即,特征系數=三維坐標點出現次數/該動作三維向量集的個數; c.如果特征系數大于50%,則認為該點的三維向量集屬于特征三維向量集。
5.根據權利要求4所述的特定人體動作的自動訓練和識別系統,其特征在于:所述的“模糊識別”具體為:計算該三維向量集與當前系統中所有的特征三維向量的距離,如果該距離小于該特征三維向量所對應的閥值,那么將此特征三維向量對應的動作作為一個候選動作。
6.根據權利要求5所述的特定人體動作的自動訓練和識別系統,其特征在于:所述的“精確識別”具體為:對所有候選動作,根據距離由小到大進行排序,然后依次對每個候選動作中的樣本三維向量集,計算它與待識別動作的三維向量集的距離,如果其中最小距離小于預設的閥值,那么系統自動認定待識別動作為當前候選動作。
7.根據權利要求1-3,5-6任一所述的特定人體動作的自動訓練和識別系統,其特征在于:所述的深度信息幀中的每個元素都是其對應坐標上的深度信息;所述的骨骼信息幀有人體骨骼點坐標數據組成。
8.根據權利要求2所述的特定人體動作的自動訓練和識別系統,其特征在于:所述的動作信息幀的對數是指一個動作中有多少對深度信息幀和骨骼信息幀。
9.根據權利要求1-3,5-6,8任一所述的特定人體動作的自動訓練和識別系統,其特征在于:所述的采集器包 括深度探測攝像頭和第三方SDK。
【文檔編號】G06K9/46GK103473562SQ201310428326
【公開日】2013年12月25日 申請日期:2013年9月18日 優先權日:2013年9月18日
【發明者】覃祖茂, 劉為, 袁增偉, 杜怡曼, 何佳, 李東娥, 劉曉, 黃益農, 黃華峰 申請人:柳州市博源環科科技有限公司