(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023182085
(43)【公開日】2023-12-26
(54)【発明の名称】行動認識装置、学習装置、および行動認識方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20231219BHJP
【FI】
G06T7/00 660Z
G06T7/00 350B
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022095486
(22)【出願日】2022-06-14
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】根尾 敦
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096CA04
5L096EA13
5L096EA33
5L096EA39
5L096FA33
5L096FA60
5L096FA66
5L096FA67
5L096FA69
5L096GA30
5L096GA51
5L096HA11
5L096KA04
5L096MA07
(57)【要約】
【課題】形状の一部が欠損した認識対象の複数種類の行動を高精度に認識する場合に、記憶容量の低減および行動認識の高速化を図ること。
【解決手段】行動認識装置は、多変量解析で統計的な成分を生成する成分分析により学習対象の形状から得られる学習対象に関する成分群と、学習対象の行動と、を用いて学習された行動分類モデルにアクセス可能であり、解析対象データから認識対象の形状を検出し、認識対象の形状のうち欠損箇所の位置を示す欠損位置情報を生成し、非欠損情報から欠損箇所を補間し、補間後の非欠損情報を認識対象の形状として更新し、成分分析により、補間された認識対象の形状に基づいて、学習対象に関する成分群と同数の認識対象に関する成分群を生成し、行動分類モデルに、生成された認識対象に関する成分群と、欠損位置情報と、を入力することにより、認識対象の行動を示す認識結果を出力する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する行動認識装置であって、
多変量解析で統計的な成分を生成する成分分析により学習対象の形状から得られる前記学習対象に関する成分群と、前記学習対象の行動と、を用いて学習された行動分類モデルにアクセス可能であり、
前記プロセッサは、
解析対象データから認識対象の形状を検出する検出処理と、
前記検出処理によって検出された前記認識対象の形状のうち欠損箇所の位置を示す欠損位置情報を生成する欠損位置情報生成処理と、
前記欠損箇所を含む前記認識対象の形状のうち前記欠損箇所以外の箇所である非欠損情報から前記欠損箇所を補間し、補間後の前記非欠損情報を前記認識対象の形状として更新する補間処理と、
前記成分分析により、前記補間処理によって補間された前記認識対象の形状に基づいて、前記学習対象に関する成分群と同数の前記認識対象に関する成分群を生成する成分分析処理と、
前記行動分類モデルに、前記成分分析処理によって生成された前記認識対象に関する成分群と、前記欠損位置情報と、を入力することにより、前記認識対象の行動を示す認識結果を出力する行動認識処理と、
を実行することを特徴とする行動認識装置。
【請求項2】
請求項1に記載の行動認識装置であって、
前記行動認識処理では、前記プロセッサは、前記解析対象データの取得元の環境を示す環境情報と、前記認識対象に関する成分群と、前記学習対象の行動と、前記欠損位置情報とを、前記行動分類モデルに入力することにより、前記認識対象の行動を示す認識結果を出力する、
ことを特徴とする行動認識装置。
【請求項3】
請求項1に記載の行動認識装置であって、
前記行動分類モデルは、多変量解析で統計的な成分を生成する次元削減により前記学習対象の形状から得られる前記学習対象に関する第1変数からの昇順の成分群と、前記学習対象の行動と、を用いて学習されており、
前記成分分析処理では、前記プロセッサは、前記次元削減により、前記補間処理によって補間された前記認識対象の形状に基づいて、前記学習対象に関する第1変数からの昇順の成分群と同数の前記認識対象に関する第1変数からの昇順の成分群を生成する、
ことを特徴とする行動認識装置。
【請求項4】
請求項1に記載の行動認識装置であって、
前記行動分類モデルは、前記学習対象の形状および前記形状を構成する複数の頂点の角度から得られる前記学習対象に関する成分群と、前記学習対象の行動と、を用いて学習されており、
前記プロセッサは、
前記認識対象の形状に基づいて、前記認識対象の形状を構成する複数の頂点の角度を算出する算出処理を実行し、
前記成分分析処理では、前記プロセッサは、前記認識対象の形状と、前記算出処理によって算出された前記認識対象の頂点の角度と、に基づいて、前記認識対象に関する成分群を生成する、
ことを特徴とする行動認識装置。
【請求項5】
請求項1に記載の行動認識装置であって、
前記行動分類モデルは、前記学習対象の形状および前記学習対象の移動量から得られる前記学習対象に関する成分群と、前記学習対象の行動と、を用いて学習されており、
前記プロセッサは、
前記認識対象の異なる時点の複数の形状に基づいて、前記認識対象の移動量を算出する算出処理を実行し、
前記成分分析処理では、前記プロセッサは、前記認識対象の形状と、前記算出処理によって算出された前記認識対象の移動量と、に基づいて、前記認識対象に関する成分群を生成する、
ことを特徴とする行動認識装置。
【請求項6】
請求項1に記載の行動認識装置であって、
前記プロセッサは、
前記認識対象の形状の大きさを正規化する第1正規化処理を実行し、
前記成分分析処理では、前記プロセッサは、前記第1正規化処理による正規化後の前記認識対象の形状に基づいて、前記認識対象に関する成分群を生成する、
ことを特徴とする行動認識装置。
【請求項7】
請求項1に記載の行動認識装置であって、
前記プロセッサは、前記認識対象の形状および頂点の角度が取りうる値域を正規化する第2正規化処理を実行し、
前記成分分析処理では、前記プロセッサは、前記第2正規化処理による第2正規化後の前記認識対象の形状および頂点の角度に基づいて、前記認識対象に関する成分群を生成する、
ことを特徴とする行動認識装置。
【請求項8】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する学習装置であって、
前記プロセッサは、
学習対象の形状および行動を含む教師データを取得する取得処理と、
前記取得処理によって取得された前記学習対象の形状を欠損させる欠損処理と、
前記欠損処理によって前記学習対象の形状から欠損させた欠損箇所の位置を示す欠損位置情報を生成する欠損位置情報生成処理と、
前記学習対象の形状のうち前記欠損処理によって欠損させた前記欠損箇所以外の箇所である非欠損情報から補間し、補間後の前記非欠損情報を前記学習対象の形状として更新する補間処理と、
多変量解析で統計的な成分を生成する成分分析により、前記補間処理によって補間された前記学習対象の形状に基づいて、前記学習対象に関する成分群を生成する成分分析処理と、
前記成分分析処理によって生成された前記学習対象に関する成分群と、前記学習対象の行動と、前記欠損位置情報と、に基づいて、前記学習対象の行動を学習して、前記学習対象の行動を分類する行動分類モデルを生成する行動学習処理と、
を実行することを特徴とする学習装置。
【請求項9】
請求項8に記載の学習装置であって、
前記プロセッサは、前記学習対象の形状に基づいて、前記学習対象の形状を構成する複数の頂点の角度を算出する算出処理を実行し、
前記成分分析処理では、前記プロセッサは、前記学習対象の形状と、前記算出処理によって算出された前記学習対象の頂点の角度と、に基づいて、前記学習対象に関する成分群を生成する、
ことを特徴とする学習装置。
【請求項10】
請求項8に記載の学習装置であって、
前記プロセッサは、前記学習対象の異なる時点の複数の形状に基づいて、前記学習対象の移動量を算出する算出処理を実行し、前記成分分析処理では、前記プロセッサは、前記学習対象の形状と、前記算出処理によって算出された前記学習対象の移動量と、に基づいて、前記学習対象に関する成分群を生成する、
ことを特徴とする学習装置。
【請求項11】
請求項8に記載の学習装置であって、
前記プロセッサは、前記学習対象の形状の大きさを正規化する第1正規化処理を実行し、前記成分分析処理では、前記プロセッサは、前記第1正規化処理による第1正規化後の前記学習対象の形状に基づいて、前記学習対象に関する成分群を生成する、
ことを特徴とする学習装置。
【請求項12】
請求項9に記載の学習装置であって、
前記プロセッサは、前記学習対象の形状および頂点の角度が取りうる値域を正規化する第2正規化処理を実行し、前記成分分析処理では、前記プロセッサは、前記第2正規化処理による第2正規化後の前記学習対象の形状および頂点の角度に基づいて、前記学習対象に関する成分群を生成する、
ことを特徴とする学習装置。
【請求項13】
請求項8に記載の学習装置であって、
前記欠損処理では、前記プロセッサは、前記学習対象の形状のうち特定の箇所を欠損させる、
ことを特徴とする学習装置。
【請求項14】
請求項8に記載の学習装置であって、
前記取得処理では、前記プロセッサは、前記学習対象の形状を取得した際の環境情報を取得し、
前記行動学習処理では、前記プロセッサは、前記学習対象に関する成分群と、前記学習対象の行動と、前記欠損位置情報と、前記環境情報と、に基づいて、前記学習対象の行動を学習して、前記学習対象の行動を分類する行動分類モデルを生成する、
ことを特徴とする学習装置。
【請求項15】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する行動認識装置が実行する行動認識方法であって、
多変量解析で統計的な成分を生成する成分分析により学習対象の形状から得られる前記学習対象に関する成分群と、前記学習対象の行動と、を用いて学習された行動分類モデルにアクセス可能であり、
前記プロセッサは、
解析対象データから認識対象の形状を検出する検出処理と、
前記検出処理によって検出された前記認識対象の形状のうち欠損箇所の位置を示す欠損位置情報を生成する欠損位置情報生成処理と、
前記欠損箇所を含む前記認識対象の形状のうち前記欠損箇所以外の箇所である非欠損情報から前記欠損箇所を補間し、補間後の前記非欠損情報を前記認識対象の形状として更新する補間処理と、
前記成分分析により、前記補間処理によって補間された前記認識対象の形状に基づいて、前記学習対象に関する成分群と同数の前記認識対象に関する成分群を生成する成分分析処理と、
前記行動分類モデルに、前記成分分析処理によって生成された前記認識対象に関する成分群と、前記欠損位置情報と、を入力することにより、前記認識対象の行動を示す認識結果を出力する行動認識処理と、
を実行することを特徴とする行動認識方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、行動認識装置、学習装置、および行動認識方法に関する。
【背景技術】
【0002】
本技術分野の背景技術として、特許文献1は、認識対象の複数種類の行動を高精度に認識する行動認識装置を開示する。この行動認識装置は、多変量解析で統計的な成分を生成する成分分析により学習対象の形状から得られる成分群と、学習対象の行動と、を用いて、成分群ごとに学習された行動分類モデル群にアクセス可能であり、解析対象データから認識対象の形状を検出し、成分分析により、認識対象の形状に基づいて、1以上の成分と、成分の各々の寄与率と、を生成し、各々の寄与率から得られる累積寄与率に基づいて、1以上の成分の各々の次元を示す序数を決定し、決定された次元を示す序数の成分を1以上含む特定の成分群と同じ成分群で学習された特定の行動分類モデルを、行動分類モデル群から選択し、特定の行動分類モデルに特定の成分群を入力することにより、認識対象の行動を示す認識結果を出力する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した特許文献1は、行動分類モデル群から特定の行動分類モデルを選択して行動認識する技術であり、1つの行動分類モデルを駆使して行動認識する点については、考慮されていない。
【0005】
本発明は、形状の一部が欠損した認識対象の複数種類の行動を高精度に認識する場合に、記憶容量の低減および行動認識の高速化を図ることを目的とする。
【課題を解決するための手段】
【0006】
本願において開示される発明の一側面となる行動認識装置は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する行動認識装置であって、多変量解析で統計的な成分を生成する成分分析により学習対象の形状から得られる前記学習対象に関する成分群と、前記学習対象の行動と、を用いて学習された行動分類モデルにアクセス可能であり、前記プロセッサは、解析対象データから認識対象の形状を検出する検出処理と、前記検出処理によって検出された前記認識対象の形状のうち欠損箇所の位置を示す欠損位置情報を生成する欠損位置情報生成処理と、前記欠損箇所を含む前記認識対象の形状のうち前記欠損箇所以外の箇所である非欠損情報から前記欠損箇所を補間し、補間後の前記非欠損情報を前記認識対象の形状として更新する補間処理と、前記成分分析により、前記補間処理によって補間された前記認識対象の形状に基づいて、前記学習対象に関する成分群と同数の前記認識対象に関する成分群を生成する成分分析処理と、前記行動分類モデルに、前記成分分析処理によって生成された前記認識対象に関する成分群と、前記欠損位置情報と、を入力することにより、前記認識対象の行動を示す認識結果を出力する行動認識処理と、を実行することを特徴とする。
【0007】
本願において開示される発明の一側面となる学習装置は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する学習装置であって、前記プロセッサは、学習対象の形状および行動を含む教師データを取得する取得処理と、前記取得処理によって取得された前記学習対象の形状を欠損させる欠損処理と、前記欠損処理によって前記学習対象の形状から欠損させた欠損箇所の位置を示す欠損位置情報を生成する欠損位置情報生成処理と、前記学習対象の形状のうち前記欠損処理によって欠損させた前記欠損箇所以外の箇所である非欠損情報から補間し、補間後の前記非欠損情報を前記学習対象の形状として更新する補間処理と、多変量解析で統計的な成分を生成する成分分析により、前記補間処理によって補間された前記学習対象の形状に基づいて、前記学習対象に関する成分群を生成する成分分析処理と、前記成分分析処理によって生成された前記学習対象に関する成分群と、前記学習対象の行動と、前記欠損位置情報と、に基づいて、前記学習対象の行動を学習して、前記学習対象の行動を分類する行動分類モデルを生成する行動学習処理と、を実行することを特徴とする。
【発明の効果】
【0008】
本発明の代表的な実施の形態によれば、形状の一部が欠損した認識対象の複数種類の行動を高精度に認識する場合に、記憶容量の低減および行動認識の高速化を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施例1にかかる行動認識システムのシステム構成例を示す説明図である。
【
図2】
図2は、コンピュータのハードウェア構成例を示すブロック図である。
【
図3】
図3は、学習データの一例を示す説明図である。
【
図4】
図4は、実施例1にかかる行動認識システムの機能的構成例を示すブロック図である。
【
図5】
図5は、骨格情報処理部の詳細な機能的構成例を示すブロック図である。
【
図6】
図6は、関節角度算出部が実行する関節角度の詳細な算出方法を示す説明図である。
【
図7】
図7は、移動量算出部が実行するフレーム間の移動量の詳細な算出方法の例を示す説明図である。
【
図8】
図8は、正規化部が実行する骨格情報の正規化の詳細な手法を示す説明図である。
【
図9】
図9は、教師信号DBが保持する教師信号の詳細な例を示す説明図である。
【
図10】
図10は、教師信号を入力データとして主成分分析部が生成した主成分を、主成分空間上にプロットした例を示す説明図である。
【
図11】
図11は、主成分分析部および欠損位置情報生成部が、行動学習部に出力するデータを示す説明図である。
【
図12】
図12は、行動学習部が行動を学習し、行動認識部が行動を分類するための詳細な手法を示す説明図である。
【
図13】
図13は、主成分分析部が次元数決定の際に用いる累積寄与率の推移を示すグラフである。
【
図14】
図14は、実施例1にかかるサーバ(学習装置)による学習処理の詳細な処理手順例を示すフローチャートである。
【
図15】
図15は、実施例1にかかる骨格情報処理の詳細な処理手順例を示すフローチャートである。
【
図16】
図16は、実施例1にかかるクライアント(行動認識装置)による行動認識処理手順例を示すフローチャートである。
【
図17】
図17は、実施例2にかかる行動認識システムの機能的構成例を示すブロック図である。
【
図18】
図18は、実施例3にかかる教師信号DBが保持する教師信号の詳細な例を示す説明図である。
【
図19】
図19は、実施例3にかかる主成分分析部および欠損位置情報生成部が、行動学習部に出力するデータを示す説明図である。
【
図20】
図20は、実施例3にかかる行動認識システムの機能的構成例を示すブロック図である。
【
図21】
図21は、実施例3にかかるクライアント(行動認識装置)による行動認識処理手順例を示すフローチャートである。
【
図22】
図22は、実施例4にかかる骨格情報処理部の機能的構成例を示すブロック図である。
【
図23】
図23は、実施例4にかかる骨格情報処理部の詳細な処理手順例を示すフローチャートである。
【
図24】
図24は、実施例5にかかる行動認識システムの機能的構成例を示すブロック図である。
【
図25】
図25は、実施例6にかかる行動認識システムの機能的構成例を示すブロック図である。
【
図26】
図26は、行動学習部および行動認識部が行動を分類するための基礎となる手法である決定木を示す説明図である。
【
図27】
図27は、決定木による分類の詳細な展開方法を示す説明図である。
【
図28】
図28は、アンサンブル学習と、行動学習部と行動認識部が行動を分類するために用いる手法を示す説明図である。
【
図29】
図29は、実施例7にかかる行動認識システムの機能的構成例を示すブロック図である。
【
図30】
図30は、実施例7にかかるサーバ(学習装置)による学習処理の詳細な処理手順例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明に係る実施の形態を図面に基づいて説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。また、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。また、「Aからなる」、「Aよりなる」、「Aを有する」、「Aを含む」と言うときは、特にその要素のみである旨明示した場合等を除き、それ以外の要素を排除するものでないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。
【0011】
本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【0012】
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
【実施例0013】
<行動認識システム>
図1は、実施例1にかかる行動認識システムのシステム構成例を示す説明図である。行動認識システム100は、サーバ101と、1台以上のクライアント102と、を有する。サーバとクライアントとは、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などのネットワーク105を介して通信可能に接続される。サーバ101は、クライアント102を管理するコンピュータである。クライアント102は、センサ103に接続され、センサ103からのデータを取得するコンピュータである。
【0014】
センサ103は、解析環境から解析対象データを検出する。センサ103は、たとえば、静止画または動画を撮像するカメラである。また、センサ103は、音声や匂いを検出してもよい。教師信号DB104は、学習データ(人の骨格情報)と行動情報(たとえば、「立つ」、「倒れる」といった人の姿勢や動作)との組み合わせを教師信号として保持するデータベースである。教師信号DB104は、サーバ101に記憶されていてもよく、サーバ101またはクライアント102とネットワーク105を介して通信可能なコンピュータに接続されていてもよい。
【0015】
行動認識システム100は、教師信号DB104を用いた学習機能と、学習機能により得られた行動分類モデルを用いた行動認識機能と、を有する。行動分類モデルとは、人や動物などの認識対象の行動を分類するための学習モデルである。学習機能および行動認識機能は、行動認識システム100に実装されていれば、サーバ101およびクライアント102のいずれに実装されていてもよい。たとえば、サーバ101が学習機能を実装し、クライアント102が行動認識機能を実装してもよい。また、サーバ101が学習機能および行動認識機能を実装し、クライアント102は、センサ103からのデータをサーバ101に送信したり、サーバ101からの行動認識機能による行動認識結果を受け付けたりしてもよい。
【0016】
また、クライアント102が学習機能および行動認識機能を実装し、サーバ101は、クライアント102からの行動分類モデルや行動認識結果を管理してもよい。なお、学習機能を実装するコンピュータを学習装置と称し、学習機能および行動認識機能のうち少なくとも行動認識機能を実装するコンピュータを行動認識装置と称す。また、
図1では、クライアントサーバ型の行動認識システム100を例に挙げたが、スタンドアロン型の行動認識装置でもよい。実施例1では、説明の便宜上、サーバ101が学習機能を実装し(学習装置)、クライアント102が行動認識機能を実装した(行動認識装置)行動認識システム100を例に挙げて説明する。
【0017】
<コンピュータのハードウェア構成例>
図2は、コンピュータ(サーバ101、クライアント102)のハードウェア構成例を示すブロック図である。コンピュータ200は、プロセッサ201と、記憶デバイス202と、入力デバイス203と、出力デバイス204と、通信インターフェース(通信IF)205と、を有する。プロセッサ201、記憶デバイス202、入力デバイス203、出力デバイス204、および通信IF205は、バス206により接続される。プロセッサ201は、コンピュータ200を制御する。記憶デバイス202は、プロセッサ201の作業エリアとなる。また、記憶デバイス202は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス202としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス203は、データを入力する。入力デバイス203としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス204は、データを出力する。出力デバイス204としては、たとえば、ディスプレイ、プリンタ、スピーカがある。通信IF205は、ネットワーク105と接続し、データを送受信する。
【0018】
<学習データ>
図3は、学習データの一例を示す説明図である。学習データ380は、対象者ごとに骨格情報320と、関節角度370と、により構成される。骨格情報320は、センサ103から取得した解析対象データを基に検出される。関節角度370は、骨格情報320を基に算出される。対象者一人分の学習データ380は、たとえば、その対象者が被写体となる複数の時系列なフレームの各々から得られる骨格情報320および関節角度370の組み合わせにより構成される。
【0019】
骨格情報320は、複数(本例では18個)の骨格点300~317の各々について、名前321と、x軸におけるx座標値322と、x軸に直交するy軸におけるy座標値323と、を有する。関節角度370も、複数(本例では18個)の骨格点300~317の各々について、名前371を有する。なお、名前371において、∠a-b-c(a,b,cは骨格点の名前321)は、線分abと線分bcとのなす骨格点bの関節角度370である。なお、骨格情報320は、たとえば、指の関節を含んでもよい。また、関節角度370も、これら以外の関節角度370を含んでもよい。
【0020】
なお、
図3では、骨格点300~317の座標値を2次元の位置情報(x座標値およびy座標値の組み合わせ)としたが、3次元の位置情報としてもよい。具体的には、たとえば、x軸およびy軸に直交するz軸(たとえば、奥行き方向)におけるz座標値が追加されてもよい。
【0021】
<行動認識システム100の機能的構成例>
図4は、実施例1にかかる行動認識システム100の機能的構成例を示すブロック図である。サーバ101は、教師信号取得部401と、欠損発生部402と、欠損制御部421と、欠損位置情報生成部422と、欠損情報補間部423と、骨格情報処理部403と、主成分分析部404と、行動学習部406と、を有する。クライアント102は、骨格検出部451と、欠損位置情報生成部462と、欠損情報補間部461と、骨格情報処理部453と、主成分分析部454と、行動認識部457と、を有する。
【0022】
これらは、具体的には、たとえば、
図2に示した記憶デバイス202に記憶されたプログラムをプロセッサ201に実行させることにより実現される。まず、サーバ101側の機能的構成例について説明する。
【0023】
教師信号取得部401は、教師信号DB104から取得した教師信号について学習に用いる教師信号を単数、または複数取得して、選択した教師信号を欠損発生部402に出力する。教師信号における骨格情報320は、骨格点の欠損が1つもない非欠損情報である。
【0024】
欠損制御部421は、乱数、または予め定めた数に従って、欠損させる骨格点を設定し、欠損発生情報として、欠損発生部402と、欠損位置情報生成部422と、に出力する。欠損させる骨格点の数は、単数、複数、または欠損させないことを示す0の場合もある。ここで予め定めた数とは、たとえば、後述する骨格検出部451が、センサ103から取得した解析対象データに映る人の骨格情報320を検出する際に検出漏れの可能性が高い骨格位置を示す数とする。
【0025】
欠損発生部402は、教師信号取得部401から取得した教師信号の内、骨格情報320に対して欠損発生情報に従い骨格点を欠損させる。欠損発生部402は、欠損後(欠損させる骨格点が0個の場合も含む)の骨格情報320を教師信号内の骨格情報320として更新する。またノイズ耐性を強くするため、骨格点を欠損させる際に骨格情報320に対して、欠損させない骨格点の位置をずらすようなノイズを加えて、骨格情報320を更新してもよい。欠損した単数または複数の骨格情報320を「欠損情報」と表記する。
【0026】
そして、欠損発生部402は、欠損させた骨格点の名前321および位置情報(x座標値322、y座標値323)である欠損情報を含む教師信号を、欠損情報補間部423に出力する。
【0027】
欠損情報補間部423は、欠損情報を、欠損していない骨格情報320から補間する。欠損していない単数または複数の骨格情報320を非欠損情報と表記する。
【0028】
具体的には、たとえば、欠損情報補間部423は、非欠損情報の内、欠損情報の骨格点と連結されていた骨格点または欠損情報の骨格点に近い位置にある骨格点から、欠損情報を補間してもよい。
【0029】
また、欠損情報補間部423は、欠損情報に対して予め定めた位置情報を代入してもよい。また、欠損情報補間部423は、これまでに取得した別のフレームの骨格情報320について欠損情報を含むと判断された骨格情報320の欠損情報を用いて補間してもよい。このように、欠損情報の補間手法は限定されない。欠損情報補間部423は、補間した骨格情報320を骨格情報処理部403に出力する。
【0030】
欠損位置情報生成部422は、欠損制御部421からの欠損発生情報より、欠損させた骨格点の位置情報を欠損位置情報として、行動学習部406に出力する。
【0031】
骨格情報処理部403は、欠損情報補間部423による補間後の骨格情報320を処理する。具体的には、たとえば、骨格情報処理部403は、取得した補間後の教師信号の内、骨格情報320から関節角度370とフレーム間の移動量とを算出する。また、骨格情報処理部403は、骨格情報320に対して絶対的な位置情報を除外し、骨格情報320の大きさが一定となる正規化を実行する。そして、骨格情報処理部403は、関節角度370と、フレーム間の移動量と、正規化した骨格情報320と、を主成分分析部404に出力する。
【0032】
図5は、骨格情報処理部403,453の詳細な機能的構成例を示すブロック図である。骨格情報処理部403,453は、関節角度算出部501と、移動量算出部502と、正規化部503と、を有する。
【0033】
関節角度算出部501は、取得した教師信号の内、補間後の骨格情報320から関節角度370を算出し、移動量算出部502と正規化部503を介して主成分分析部404に出力する。
【0034】
移動量算出部502は、取得した教師信号の内、補間後の骨格情報320からフレーム間の移動量を算出し、正規化部503を介して主成分分析部404に出力する。
【0035】
正規化部503は、取得した教師信号の内、補間後の骨格情報320に対して絶対的な位置情報を除外し、補間後の骨格情報320の大きさが一定となる正規化を実行して主成分分析部404に出力する。
【0036】
図4に戻り、主成分分析部404は、骨格情報処理部403から取得した教師信号の内、正規化した骨格情報320と、関節角度370と、フレーム間の移動量と、を入力データとして、主成分分析を実行して単数または複数の主成分を生成し、行動学習部406に出力する。なお、骨格情報320、関節角度370、およびフレーム間の移動量のうち、少なくとも正規化した骨格情報320が入力データであればよい。
【0037】
主成分分析では下記式(1)に示す通り、入力データxiに係数wijを各々乗算し、加算することで主成分yiを生成する。主成分分析の一般式を下記式(2)に示す。係数wijは、下記式(3)に示す通り、yiの分散をV(yi)として定義した場合、分散V(yi)が最大となるように定める。
【0038】
ただし、係数wijに制約を持たせない場合、分散V(yi)の絶対量は無限に大きく取ることができ、係数wijは一意に決定することができないため、下記式(4)の制約を付すことが望ましい。また、情報の重複を無くすため、新たに生成する主成分ykとこれまでに生成した主成分ykの共分散は0となる下記式(5)の制約を付すことが望ましい。
【0039】
【0040】
ただし、制約として付す上記式(4)と上記式(5)は、これに限らず別の制約条件を付したり、または制約を外したりして係数wijを算出しても問題ない。こうして生成した新たな主成分yjの分散V(yj)について下記式(6)に示す通りλjとして別途定義した場合、下記式(7)に示す通り入力データxjの分散V(xj)の合計とλjの合計は等しい。
【0041】
【0042】
ここでpは入力データxjの数とする。新たに生成した主成分yjの分散V(yj)は高い方が元の情報をより多く反映しており、分散値が高い主成分から順に第1、第2、…、第m主成分という。新たに生成した変数yjの分散と元のデータの分散の比を寄与率といい、下記式(8)で示される。また、第1主成分の寄与率から分散値の降順(主成分の序数mの昇順)に寄与率を加算した結果を累積寄与率といい、下記式(9)で示される。
【0043】
【0044】
寄与率と累積寄与率は、新たに生成した主成分yjや生成した複数の主成分が元のデータの情報量をどの程度表しているかといった尺度となり、主成分と共に生成される。なお、多変量解析で統計的な成分を生成する成分分析の一例として、主成分分析を適用したが、主成分分析の替わりに、同じく成分分析の一例である独立成分分析を実行してもよい。
【0045】
独立成分分析の場合、主成分は独立成分となる。この独立成分が入力データxiにどのくらい影響を与えているのかを示す指標として、寄与率を用いてもよい。独立成分分析では、独立成分ごとの独立成分分析における混合係数行列の2乗和が、各独立成分の強度となる。
【0046】
独立成分の強度は独立成分の入力データxiにおける分散を示す。すなわち、独立成分分析によって得られた独立成分はいずれも分散が1に統一されるため、混合係数の2乗和をとれば入力データxiの分散になる。そして、独立成分の強度を、全独立成分の強度の総和で割った値を、その独立変数の寄与率とすればよい。
【0047】
主成分分析部404は、1以上の成分の各々の次元を示す序数kを制御する。具体的には、たとえば、主成分分析部404は、生成した主成分の内、行動学習部406で学習に用いる主成分を分散値の高い順に何次元まで使用するかを決定し、第1主成分から、決定した次元k(kは1以上の整数)を序数とする第k主成分までの主成分を、分散値の高い順に行動学習部406に出力する。具体的には、たとえば、主成分分析部404は、累積寄与率のしきい値以上でかつ当該しきい値に最も近い主成分の次元kを採用する。もしくは、主成分分析部404は、累積寄与率のしきい値以下でかつ当該しきい値に最も近い主成分の次元kを採用する。
【0048】
行動学習部406は、主成分分析部404から取得した主成分と、欠損位置情報生成部422から取得した欠損位置情報と、教師信号DB104から取得した教師信号内の行動情報とを、関連付けて学習する。具体的には、たとえば、行動学習部406は、主成分分析部404から取得した第1主成分から第k主成分までの主成分群と欠損位置情報とを連結したデータを説明変数とし、教師信号DB104から取得した教師信号内の行動情報を目的変数として、機械学習により、行動分類モデルを生成する。行動学習部406は、学習の結果生成した行動分類モデルを、行動認識部457に出力する。
【0049】
つぎに、クライアント102側の機能的構成例について説明する。骨格検出部451は、センサ103から取得した解析対象データに映る人の骨格情報320を検出し、欠損情報補間部461と欠損位置情報生成部462とに出力する。骨格情報320の検出には機械学習により生成した人の骨格情報320を推定可能なNN(neural network)を用いてもよいし、検出したい人の骨格点にマーカーを付与して、画像に映るマーカー位置から骨格情報320を検出してもよく、骨格情報320を検出する方法は限定されない。骨格情報320のうちx座標値322およびy座標値323が検出されずに不定値となった骨格点が欠損情報であり、骨格情報320のうち欠損情報を除く骨格点が非欠損情報である。たとえば、骨格点300~317のうち骨格点310のx座標値322およびy座標値323のみが不定値であれば、骨格点310が欠損情報であり、骨格点300~309、311~317が非欠損情報である。
【0050】
欠損情報補間部461は、欠損情報補間部423と同様の機能を有する。欠損情報補間部461は、骨格検出部451からの骨格情報320に対して、欠損情報補間部423と同様の処理を実行して、欠損情報(上記の例では骨格点310)を、非欠損情報(上記の例では骨格点300~309、311~317)から補間し、補間した骨格情報320を骨格情報処理部453に出力する。
【0051】
欠損位置情報生成部462は、欠損位置情報生成部422と同様の機能を有する。欠損位置情報生成部462は、骨格検出部451からの骨格情報320に対して、欠損位置情報生成部422と同様の処理を実行して、骨格検出部451で検出した骨格情報320の内、オクルージョンなどにより取得できない骨格点があるか否かを判断し、取得できなかった骨格点があれば、その骨格点を欠損箇所としてその位置を示す欠損位置情報を生成し、行動認識部457に出力する。
【0052】
骨格情報処理部453は、骨格情報処理部403と同様の機能を有する。骨格情報処理部453は、骨格検出部451で検出した骨格情報320に対して骨格情報処理部403と同様の処理を実行して、関節角度370と、フレーム間の移動量と、正規化した骨格情報320と、を主成分分析部454に出力する。
【0053】
主成分分析部454は、主成分分析部404と同様の機能を有する。主成分分析部454は、骨格情報処理部453からの出力データに対して主成分分析部404と同様の処理を実行して、単数または複数の主成分を生成し、行動認識部457に出力する。
【0054】
主成分分析部454は、各々の寄与率から得られる累積寄与率に基づいて、1以上の成分の各々の次元を示す序数kを決定する。具体的には、たとえば、主成分分析部454は、取得した寄与率および累積寄与率から、取得した主成分の内、分散の高い順に何次元までの主成分を行動認識部457に出力するかを示す次元数kを決定する。次元数kとは、主成分の次元を示す序数kである。たとえば、第1主成分であれば、次元数(序数)k=1であり、第2主成分であれば、次元数(序数)k=2である。主成分分析部454は、分散の高い順に第1主成分から第k主成分までの主成分群を行動認識部457に出力する。
【0055】
行動認識部457は、行動学習部406で生成した行動分類モデルと、第1主成分から第k主成分までの主成分群と、欠損位置情報と、に基づいて、センサ103から取得した解析対象データに映る人の行動を認識する。具体的には、たとえば、行動認識部457は、解析対象データから得らえた主成分群(第1主成分~第k主成分)と欠損位置情報とを、選択した行動分類モデルに入力することにより、解析対象データに映る人の行動を示す予測値を認識結果として出力する。
【0056】
<関節角度算出の例>
図6は、関節角度算出部501が実行する関節角度370の詳細な算出方法を示す説明図である。関節角度算出部501は、連結する3点の骨格点600~602において関節角度θを算出する。骨格点600~602の骨格情報620について、原点630を基準とする位置ベクトルO、A、Bのように各々定義する。関節角度算出部501は、骨格点600を原点とする相対ベクトルを下記式(10),(11)に示す通り算出し、算出したベクトルから下記式(12)が成立し、下記式(13)に示す通り逆余弦を算出することで関節角度θを算出する。
【0057】
【0058】
<フレーム間の移動量算出の例>
図7は、移動量算出部502が実行するフレーム間の移動量の詳細な算出方法の例を示す説明図である。移動量算出部502は、フレーム間の移動量の算出において、同一被写体についての第Nフレーム目の骨格情報701と第N-Mフレーム目の骨格情報702とを用いる。N、Mは1以上の整数であり、N>Mである。Mの値は任意に設定可能である。下記式(14)~(16)に示す通り、移動量算出部502は、各フレーム間で示される同一人物の同一骨格点300~317の距離を各々算出する。18個の骨格点300~317のフレーム間の移動量が、当該人物についてのフレーム間の移動量となる。
【0059】
【0060】
ただ、移動量算出部502が実行するフレーム間の移動量はこれに限定されるものではなく、下記式(17)に示す通り、移動量算出部502は、各フレーム間で示される同一人物の同一骨格点300~317の距離を各々算出し、全18個の骨格点300~317のフレーム間の移動量を合算した値を、当該人物についてのフレーム間の移動量としてもよい。
【数6】
【0061】
また、移動量算出部502は、第nフレームの骨格情報701と第n-mフレームの骨格情報702の内、重心となる重心骨格情報711と重心骨格情報712を用いてもよい。具体的には、たとえば、移動量算出部502は、下記式(18)~(19)に示す通り、人物ごとに重心を算出し、下記式(20)に示す通り、算出した重心に対して、当該人物についてのフレーム間の移動量を算出してもよい。
【0062】
【0063】
<正規化の例>
図8は、正規化部503が実行する骨格情報320の正規化の詳細な手法を示す説明図である。まず、正規化部503は、(a)すべてまたは一部の骨格情報320から重心を算出し、(b)重心を原点とする相対座標に変換する。その後、正規化部503は、(c)18個の骨格点300~317を囲う最小の長方形の対角線の長さLで、(d)骨格情報320の各骨格点の位置情報を割る。(d)で得られた骨格情報320を教師信号とした場合、割り算後の骨格点300~317の位置情報も組み込まれることとなる。
【0064】
たとえば、正規化部503が実行されないと「180cmの人が地点Aで座る」といった行動について骨格検出および行動分類のための学習が実行されると、「地点A以外では座らない」、「180cm以外の人は座らない」といった判定が下される可能性がある。こうした限定を除外し、行動分類に汎用性を持たせるため、画像内の絶対的な位置情報と、骨格の大きさに関する情報について除去するため、正規化部503が骨格情報320の正規化を実行する。
【0065】
<教師信号DB104が保持する教師信号>
図9は、教師信号DB104が保持する教師信号の詳細な例を示す説明図である。解析対象データとなる(a)画像900に映る人において、(b)骨格情報320Aと、関節角度370(不図示)と、骨格情報320Aに関連付けられる(c)行動情報901(「立つ」)と、の組み合わせが、教師信号となる。同様に、解析対象データとなる(a)画像910に映る人において、(b)骨格情報320Bと、関節角度370(不図示)と、骨格情報320Bに関連付けられる(c)行動情報911(「倒れる」)と、の組み合わせが、教師信号となる。
【0066】
<主成分分析部404による次元削減>
図10は、教師信号を入力データとして主成分分析部404が生成した主成分を、主成分空間上にプロットした例を示す説明図である。凡例は教師信号に含まれる行動情報1000~1004を示す。
【0067】
図10において、(a)はX軸に第1主成分を、Y軸に第2主成分をとり、第2主成分までの情報を2次元平面上にプロットした例を示す。(b)はX軸に第1主成分を、Y軸に第2主成分をとり、Z軸に第3主成分をとり、第3主成分までの情報を3次元空間上にプロットした例を示す。
【0068】
(a)において、立つ1000と、座る1001と、倒れる1004は、第2主成分までの2次元平面上でも分離可能な様子が伺えるが、歩く1002と、しゃがむ1003は第2主成分までの2次元平面上では分離困難な様子が伺える。ここで、(b)において、第3主成分までを含めた3次元空間上で、歩く1002としゃがむ1003をプロットした場合、分離の可能性が拡大する場合がある。
【0069】
このため、主成分分析部404が生成した主成分を多く用いれば高精度な行動分類の可能性がある。ただし、主成分の次元を示す序数kを多くすると計算量は増加するため、精度と計算量からどこまでの主成分を考慮し、どのくらいの次元の空間で行動を表すかを判断する必要がある。
【0070】
したがって、主成分分析部404は、行動学習部406で学習に用いる主成分の最大序数を変化させ、第1主成分~最大序数の主成分までの主成分群を行動学習部406に出力する。具体的には、たとえば、上述した行動分類の要求精度(たとえば、最低限必要な主成分の次元を示す序数)または/および許容計算量をあらかじめ設定しておき、主成分分析部404が、行動学習部406で学習に用いる主成分の最大序数を変化させ、要求精度または/および許容計算量を最大限充足する序数を決定する。
【0071】
たとえば、要求精度が次元を示す序数「3」(第3主成分)という条件の場合、主成分分析部404は、最大序数を「3」に決定し、第1主成分~第3主成分までの主成分群を行動学習部406に出力する。
【0072】
また、許容計算量が条件に設定されている場合、主成分分析部404は、第1主成分から昇順に計算量を順次取得し、最大序数を、許容計算量をはじめて超えたときの序数(たとえば、「5」)より1つ少ない序数(たとえば、「4」)に決定し、第1主成分から最大序数k=4の第4主成分までの主成分群を行動学習部406に出力する。
【0073】
また、要求精度が次元を示す序数「3」(第3主成分)以上という条件で、かつ、許容計算量が条件に設定されている場合、第3主成分までの累積計算量が許容計算量以下であれば、主成分分析部404は、最大序数を「3」から「4」に変化させる。そして、第4主成分までの累積計算量が許容計算量を超えれば、主成分分析部404は、最大序数kを「3」に決定し、第1主成分~第3主成分までの主成分群を行動学習部406に出力する。
【0074】
一方、第3主成分までの累積計算量が許容計算量を超えれば、主成分分析部404は、最大序数を「3」から「2」に変化させる。そして、第2主成分までの累積計算量が許容計算量以下であれば、主成分分析部404は、最大序数kを「2」に決定し、第1主成分~第2主成分までの主成分群を行動学習部406に出力する。
【0075】
なお、行動学習部406に出力する主成分群は、第1主成分から昇順に限定する必要はない。たとえば、主成分分析部404は、予め定めた主成分群を特定の数だけ取り出してもよい。また、主成分分析部404は、特定の主成分群を除外した上で行動学習部406に出力する主成分群を決定してもよい。このように、行動学習部406に出力する主成分群は第1主成分から昇順の主成分群に限定されない。
【0076】
また、この場合においても、許容計算量が条件に設定されている場合、主成分分析部404は、上述した第1主成分からの昇順に限定していない主成分群について、序数の昇順に計算量を順次取得し、許容計算量をはじめて超えたときの序数より1つ前の序数までの主成分群を行動学習部406に出力する。たとえば、主成分群が第2主成分、第3主成分、第5主成分からなる場合、第2主成分では許容計算量を超えず、第2主成分および第3主成分でも許容計算量を超えず、第2主成分、第3主成分、および第5主成分ではじめて許容計算量を超えた場合、主成分分析部404は、第2主成分から第5主成分の1つ前の第3主成分までを、行動学習部406に出力する主成分群に決定してもよい。
【0077】
<行動学習部406に出力するデータ>
図11は、主成分分析部404および欠損位置情報生成部422が、行動学習部406に出力するデータを示す説明図である。主成分分析部404は、補間後の骨格情報320と、関節角度370と、フレーム間の移動量と、を入力データとして、主成分分析を実行して単数または複数の主成分1101を生成する。
【0078】
欠損位置情報生成部422は、欠損位置情報1100を生成する。欠損位置情報1100は、たとえば、骨格情報320の内、各々の骨格が欠損しているか、否かを示すフラグ情報として骨格の数だけ用意される変数で示す。たとえば、骨格情報320が18個の骨格点で構成される場合、フラグ情報は18個の変数で用意され、各骨格点について、欠損せずに骨格点の座標情報があれば「1」を、欠損していれば「0」のフラグ情報として、欠損位置情報1100を生成する。
【0079】
また、欠損位置情報1100は、多値の変数として、各値がどの骨格点が欠損しているかを示す情報として生成してもよく、欠損位置情報1100のデータフォーマットは限定されない。このように行動学習部406には、主成分分析部404が生成する主成分1101と、欠損位置情報生成部422が生成する欠損位置情報1100と、をまとめたデータ1102が出力される。なお、主成分分析部454および欠損位置情報生成部462が行動認識部457に出力するデータもデータ1102同様のデータとなる。
【0080】
行動学習部406は、データ1102を用いて学習を行い、行動分類モデルを生成し、行動認識部457に出力する。
【0081】
図12は、行動学習部406が行動を学習し、行動認識部457が行動を分類するための詳細な手法を示す説明図である。
図12において、(a)は、次元削減後の第2変数までの行動のプロット点の分布を示し、(b)は、欠損位置情報1100を加味した行動分類結果を示す。主成分空間上での各行動について、行動学習部406は、各行動を領域毎に分類するため、境界線1210や境界平面1220を生成する。行動を学習し分類する際の手法は、k平均法や、サポートベクトルマシン、決定木や、ランダムフォレストなどいずれを採用してもよく、行動学習方法は限定されない。
【0082】
行動学習部406の行動学習時の欠損位置情報1100は、主成分空間上にプロットされ、各行動情報に付与される。行動情報(立つ、座る、歩く、倒れる、挙手する、しゃがむ)ごとにプロットされた点をプロット点1200~1205とする。ここでは簡単のため、骨格点の欠損が発生していない場合の行動のプロット点1200~1203は白い点とし、骨格点の欠損が発生した場合の行動のプロット点1204,1205は塗潰すことで表現する。
【0083】
骨格点の欠損が発生している行動のプロット点1204は、行動「挙手する」が付与されており、骨格点の欠損が発生している行動のプロット点1205は、行動情報「しゃがむ」が付与されている。なお、同一形状のプロット点(1200、1204)、(1201,1205)は、補間後の骨格情報320を主成分分析にかけた場合に同様の数値情報を示すことを表す。
【0084】
欠損がある骨格情報320は欠損情報補間部423によって、骨格点が補間される。しかし、補間された骨格点は検出された骨格点に比較して誤差量を多く含む場合があるため、欠損を含まない行動と同一次元で行動を分類した際には行動分類精度を劣化させる可能性がある。そこで、骨格情報320について、補間された情報か、検出された情報かを区分けして分類することで、行動分類精度の向上につなげることができる。すなわち、補間した誤差を含む主成分に欠損位置情報1100を付加することで、主成分に別次元の情報が加わり、新たな次元上に分類のための境界平面1220を設けられることで行動分類の精度は向上する。
【0085】
なお、
図12における欠損位置情報1100は、プロット点1204,1205の塗潰しで表現したため、1bitの情報として扱われているが、たとえば、欠損位置情報1100は骨格点の数だけ用意される変数で表現され、この場合は多値の情報として取り扱われる。この場合、各行動は多次元空間上にプロットされるようになり、欠損位置情報1100によって、より詳細な行動分類が実現可能となる。
【0086】
なお、行動は、教師信号DB104において、学習データ(人の骨格情報320および関節角度370)と行動の組み合わせとして保持されており、欠損制御部421および欠損位置情報生成部422の処理により変更されるものではない。欠損制御部421および欠損発生部402により故意に欠損を発生させ、発生させた欠損の欠損位置情報1100を欠損位置情報生成部422により生成するのは、欠損して補間した誤差を含む主成分においても、欠損位置情報1100を加味した新たな軸で正しく行動分類を実行するためである。
【0087】
行動認識部457は、行動学習部406が学習して生成した行動分類モデルを用いて、行動を認識する。具体的には、たとえば、クライアント102は、新たに入力された骨格情報320について、欠損情報補間部461に欠損情報があれば欠損情報を補間する。行動認識部457は、補間後の骨格情報320について、主成分分析を適用し、新たに生成された主成分および欠損位置情報1100を行動分類モデルに入力する。これにより、行動認識部457は、行動分類モデルが設定する境界線1210や境界平面1220に従って、新たに入力された骨格情報320がどの領域に属するかを判定し、判定された領域に従って行動を認識する。
【0088】
図13は、主成分分析部404が次元数決定の際に用いる累積寄与率の推移を示すグラフである。累積寄与率は、新たに生成した複数の主成分が元のデータの情報量をどの程度表しているかといったことを示す尺度となる。このため、主成分の数を増やして、行動分類の際の次元数を増やしても、累積寄与率に大きな変化が見られない場合は、大きな精度向上は見込めない。
【0089】
そこで、主成分分析部404は、予め定めた累積寄与率の閾値を超えるのに必要な数だけ主成分を使用することとし、次元数を決定する。たとえば、予め定めた累積寄与率の閾値を「0.8」とする場合、第2主成分まであれば条件を満たすため、ここでの次元数kは「2」として、第1主成分と第2主成分とを行動学習部406に出力する。
【0090】
なお、行動学習部406に出力する主成分群は、第1主成分から昇順に限定する必要はない。たとえば、主成分分析部404は、予め定めた累積寄与率の閾値を超えずかつ累積寄与率が最大となる主成分の序数kの組み合わせを決定してもよい。また、主成分分析部404は、このような主成分の序数kの組み合わせを、行動分類モデルに適用される主成分群から選択してもよい。このように、行動学習部406に出力する主成分群は第1主成分から昇順の主成分群に限定されない。
【0091】
なお、主成分分析部454が行動認識部457に出力する単数または複数の主成分群の選択方法は主成分分析部404と同様の方法とする。
【0092】
<学習処理>
図14は、実施例1にかかるサーバ101(学習装置)による学習処理の詳細な処理手順例を示すフローチャートである。サーバ101は、教師信号取得部401により、教師信号DB104から取得した教師信号について学習に用いる教師信号を単数、または複数取得する(ステップS1400)。
【0093】
サーバ101は、欠損制御部421は、乱数、または予め定めた数に従って、欠損させる骨格点を設定し、欠損発生部402により、設定結果に従って、ステップS1400で取得した教師信号内の骨格情報320に対して骨格点を欠損させ、欠損させた骨格情報320を教師信号内の骨格情報320として更新する(ステップS1401)。
【0094】
サーバ101は、欠損位置情報生成部422により、欠損制御部421が設定した欠損させる骨格点の位置情報を、欠損位置情報として生成する(ステップS1410)。
【0095】
サーバ101は、欠損情報補間部423により、欠損情報(欠損した単数または複数の骨格情報320)を、非欠損情報から補間する(ステップS1411)。欠損情報補間部423が実行された教師信号を、更新教師信号と称す。
【0096】
サーバ101は、骨格情報処理部403により、更新教師信号ごとに骨格情報処理を実行する(ステップS1402)。具体的には、たとえば、サーバ101は、関節角度算出部501、移動量算出部502、および正規化部503による処理を実行する。
【0097】
図15は、実施例1にかかる骨格情報処理の詳細な処理手順例を示すフローチャートである。サーバ101は、関節角度算出部501により、更新教師信号ごとに、更新教師信号内の骨格情報320から関節角度370を算出する(ステップS1501)。つぎに、サーバ101は、移動量算出部502により、更新教師信号ごとに、更新教師信号内の骨格情報320からフレーム間の移動量を算出する(ステップS1501)。
【0098】
そして、サーバ101は、正規化部により、更新教師信号ごとに、骨格情報320に対して絶対的な位置情報を除外し、骨格情報320の大きさが一定となる正規化を実行する(ステップS1403)。これにより、更新教師信号について、関節角度370と、フレーム間の移動量と、正規化した骨格情報320と、が得られる。そして、
図13のステップS1403に移行する。
【0099】
図14に戻り、サーバ101は、主成分分析部404により、正規化した骨格情報320と、関節角度370と、フレーム間の移動量と、を入力データとして、主成分分析を実行して、単数または複数の主成分を生成する。生成した主成分の内、学習に用いる主成分を分散値の高い順に何次元使用するか決定し、決定したk次元までの主成分(第1主成分~第k主成分)を分散値の高い順に選択する(ステップS1403)。
【0100】
ステップS1407では、ステップS1401で欠損させた骨格情報320について、まだ欠損させていない骨格情報320があれば(ステップS1407:No)、ステップS1401の処理に戻り、サーバ101は、これまでに欠損させていない骨格点を欠損させる(ステップS1401)。
【0101】
一方、すべての骨格情報320について欠損させた場合(ステップS1407:Yes)、ステップS1408の処理に進む。ただステップS1407の処理の判断はこれに限らず、サーバ101は、予め定めた繰返し回数に従ってステップS1401に戻るか、ステップS1408に進むかを判断してもよい。また、欠損させる骨格を予め定めておき、サーバ101は、予め定めた骨格をすべて欠損させたか否かでステップS1401に戻るか、ステップS1408に進むか判断してもよい。
【0102】
ステップS1408では、ステップS1400で選択した教師信号について、まだ選択していない教師信号があれば(ステップS1408:No)、サーバ101は、これまでに選択していない教師信号を選択する(ステップS1400)。一方、すべての教師信号について選択した場合は(ステップS1408:Yes)、ステップS1405の処理に進む。ただステップS1408の処理の判断はこれに限らず、サーバ101は、予め定めた繰返し回数に従ってステップS1400に戻るか、ステップS1405の処理に進むかを判断してもよい。
【0103】
なお、ステップS1407とステップS1408との処理によって繰り返し処理が発生し、繰返し回数だけステップS1403の主成分分析の処理が発生するが、各回で処理された主成分分析の結果は追加して保持され、すべての値を主成分分析部404にて保持する。すべての繰り返し処理が終了した際には、主成分分析部404にて保持するすべての値が行動学習部406に出力される。
【0104】
サーバ101は、行動学習部406により、主成分分析部404から入力した主成分と欠損位置情報生成部422から入力した欠損位置情報とを説明変数とし、更新教師信号内の行動情報を目的変数として、学習を行い、学習の結果、行動分類モデルを生成する(ステップS1405)。
【0105】
<行動認識処理>
図16は、実施例1にかかるクライアント102(行動認識装置)による行動認識処理手順例を示すフローチャートである。クライアント102は、骨格検出部451により、センサ103から取得した解析対象データに映る人の骨格情報320を検出する(ステップS1600)。つぎに、クライアント102は、欠損位置情報生成部462により、検出した骨格情報320の内、オクルージョンなどにより検出できなかった骨格点の位置情報を欠損位置情報として生成する(ステップS1601)。
【0106】
クライアント102は、欠損情報補間部423により、欠損情報を、非欠損情報から補間する(ステップS1610)。
【0107】
つぎに、クライアント102は、骨格情報処理部453により、ステップS1610で欠損情報を補間した骨格情報320について、ステップS1402の処理と同様に、骨格情報処理を実行する(ステップS1602)。具体的には、たとえば、クライアント102は、
図15に示したように、関節角度算出部501、移動量算出部502、および正規化部503による処理(ステップS1501~S1503)を実行する。
【0108】
つぎに、クライアント102は、主成分分析部454により、ステップS1602で正規化した骨格情報320と関節角度370とフレーム間の移動量とを入力データとして、主成分分析を実行して、単数または複数の主成分を生成する。主成分分析部454は、生成した主成分について、ステップS1403で決定された序数kにより、第1主成分~第k主成分を、行動認識(ステップS1606)で使用する主成分に決定する。(ステップS1603)。
【0109】
つぎに、クライアント102は、行動認識部457により、ステップS1305で学習した行動分類モデルと、ステップS1603で生成した主成分と、ステップS1601で生成した欠損位置情報と、に基づいて、センサ103から取得した解析対象データに映る人の行動を認識する(ステップS1606)。クライアント102は、ステップS1606の認識結果をサーバ101に送信してもよく、また、認識結果を用いて、クライアント102に接続されている機器を制御してもよい。
【0110】
たとえば、センサ103が配備されている解析環境が工場である場合、行動認識システム100は、認識結果を用いて、工場内での作業員の作業監視や、製品の欠陥検査などに適用可能である。解析環境が電車である場合、行動認識システム100は、認識結果を用いて、電車内での乗客の監視や車内設備の監視、火災などの災害検知などに適用可能である。
【0111】
このように、実施例1によれば、認識対象の複数種類の行動を高精度に認識することができる。また、一部欠損した形状においても精度良く行動認識を行うために複数の行動分類モデルを生成する必要はない。これにより、学習期間の短縮化や行動分類モデルの保存領域の縮小化を図ることができる。特に、オクルージョンになどにより骨格点300~317が一部欠損した場合においても、行動分類モデルを増やすことなく、欠損した骨格点に応じた複数種類の行動を高精度に認識することができる。
骨格検出部451がセンサ103から取得した解析対象データに映る人の骨格情報320を検出する際に検出漏れする可能性は、骨格や解析対象データの特性による。たとえば、手首や、足首などの人体の末端の骨格点ほど検出漏れを起こす可能性が高い。また、たとえば、解析対象データがハイアングルである場合は、上半身に隠れて下半身の骨格点の検出漏れの発生確率が高くなるし、通路を横から水平方向のアングルから撮影した場合には、右半身や、左半身の骨格点の検出漏れが発生しやすくなる。
こうした特徴が予め分かっている場合にはそうした欠損を発生させて重点的に学習させた方が行動認識精度の向上が望める。このため、教師信号DB104には欠損制御部421により欠損させる骨格点の位置情報を保有させておく。この欠損制御部421により欠損させる骨格点の位置情報を、欠損示唆情報と称す。欠損制御部421は、欠損示唆情報を教師信号DB104から取得して欠損発生部402に出力する。欠損発生部402は、欠損させる骨格点の位置情報により、骨格点を欠損させる。これにより、予め特定の欠損が発生しやすい状況においても精度よく行動認識を図ることができる。
このように、実施例2によれば、予め特定の欠損が発生しやすい状況においてはその情報を教師信号DB104に保有し、保有した情報を用いて、故意に欠損を発生させて学習を行うことにより、精度よく行動認識を図ることができる。