(57)【要約】【課題】行動認識対象となる映像における撮影角度が映像ごとに変動しうる場合であっても高精度に行動認識が可能な行動認識装置を提供する。【解決手段】行動認識の対象となる映像から、スケルトンデータを抽出する抽出部31と、前記抽出したスケルトンデータに基づいて、前記映像において行動対象が撮影されている撮影角度を推定する推定部32と、前記推定された撮影角度に応じた撮影角度において予め構築されている学習済モデルを前記映像に対して適用することにより、前記映像における行動を認識する認識部33と、を備えて行動認識装置10を提供する。【選択図】図１
2019191981.tif 000002
【特許請求の範囲】
【請求項１】
行動認識の対象となる映像から、スケルトンデータを抽出する抽出部と、
前記抽出したスケルトンデータに基づいて、前記映像において行動対象が撮影されている撮影角度を推定する推定部と、
前記推定された撮影角度に応じた撮影角度において予め構築されている学習済モデルを前記映像に対して適用することにより、前記映像における行動を認識する認識部と、を備えることを特徴とする行動認識装置。
【請求項２】
前記推定部では、前記抽出したスケルトンデータにおける複数の所定関節の、当該抽出された際の信頼度に基づいて前記撮影角度を推定することを特徴とする請求項１に記載の行動認識装置。
【請求項３】
前記複数の所定関節のうちの少なくとも一部は、撮影角度の変動に応じて異なる態様でオクルージョンが発生するものとして設定されていることを特徴とする請求項２に記載の行動認識装置。
【請求項４】
前記推定部では、離散的に設定された所与の複数の候補撮影角度の中から前記映像において行動対象が撮影されている撮影角度を推定することを特徴とする請求項１ないし３のいずれかに記載の行動認識装置。
【請求項５】
前記認識部では、前記離散的に設定された所与の複数の候補撮影角度の各々において予め構築されている学習済モデルのうち、前記推定された撮影角度の近傍にあると判定される候補撮影角度に対応する学習済モデルを用いて、前記映像における行動を認識することを特徴とする請求項４に記載の行動認識装置。
【請求項６】
前記認識部では、前記推定された撮影角度の近傍にあると判定される候補撮影角度に対応する学習済モデルを用いることで、各学習済モデルにおいて得られる行動種別のスコア値の重みづけ和として前記映像における行動種別のスコア値を算出し、当該スコア値を最大化する行動種別を前記映像における行動の認識結果とすることを特徴とする請求項５に記載の行動認識装置。
【請求項７】
前記抽出部ではスケルトンデータにおける各関節の信頼度も抽出し、
前記推定部では前記抽出した各関節の信頼度に対して事前構築された分類器を適用することで、前記離散的に設定された所与の複数の候補撮影角度の尤度を算出し、当該尤度が最大となるものとして前記映像において行動対象が撮影されている撮影角度を推定し、
前記認識部では、前記重みづけ和としてスコア値を算出する際の重みとして、前記算出された候補撮影角度の尤度を用いることを特徴とする請求項６に記載の行動認識装置。
【請求項８】
コンピュータを請求項１ないし７のいずれかに記載の行動認識装置として機能させることを特徴とするプログラム。
【請求項９】
行動種別のラベルが事前付与された複数の学習用映像からそれぞれ、スケルトンデータを抽出する学習用抽出部と、
前記抽出したスケルトンデータに基づいて、学習用映像の各々において行動対象が撮影されている撮影角度を推定する学習用推定部と、
前記複数の学習用映像を前記推定された撮影角度ごとに学習して、撮影角度ごとの映像の行動認識モデルを構築する学習部と、を備えることを特徴とするモデル構築装置。
【請求項１０】
前記学習部では、前記複数の学習用映像の全部を用いて撮影角度に依存しない共通行動認識モデルを学習してから、当該共通行動認識モデルを初期値として、撮影角度ごとの学習用映像を用いて学習を行うことにより、前記撮影角度ごとの映像の行動認識モデルを構築することを特徴とする請求項９に記載のモデル構築装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、行動認識対象となる映像における撮影角度が映像ごとに変動しうる場合であっても高精度に行動認識が可能な行動認識装置、モデル構築装置及びプログラムに関する。
【背景技術】
【０００２】
近年、CNN（畳み込みニューラルネットワーク）等による深層学習技術を用いて映像から人物の行動を認識する技術が開発されてきた。非特許文献１では、空間方向のCNN(Spatial stream ConvNet)と時系列方向のCNN(Temporal stream ConvNet)により、アピアランスの特徴と動きの特徴の両方を抽出することで映像からの行動認識を実現している。時間方向のCNNでは、静止画像を入力とし、画像中の物体や背景のアピアランスの特徴を抽出する。一方、空間方向のCNNでは、オプティカルフローの水平方向成分と垂直成分の系列を入力とし、動きに関する特徴が抽出される。そして、当該時間方向及び空間方向の２つのCNNにより抽出されたそれぞれの特徴を統合することにより、高い性能で行動認識を実現している。このように、非特許文献１の特徴はアピアランスと動きからなる２つのストリーム（stream；連続データ）を利用することである。現時点、当該２ストリーム（Two-stream）方式は、非特許文献１の他にも例えば非特許文献２や非特許文献３等でも利用されており、現時点での主流の方式である。
【０００３】
また、非特許文献２では、64フレームのセグメントを処理単位にし、3D CNNで行動を認識する。非特許文献１より、更に時間軸の情報を利用するため、3D convolutionを導入した。また、より深い深層モデルを採用し、より多い学習データを使ったため、精度向上を実現した。また、非特許文献３では、ビデオをN（=３）等分にセグメント化して、それぞれのセグメントのスコアをのちに統合する。非特許文献２と同様に、非特許文献１より、より長い時間軸情報と深い深層モデル、多い学習データを利用することにより、認識精度を高めた。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Karen Simonyan and Andrew Zisserman, "Two-Stream Convolutional Networks for Action Recognition in Videos," in NIPS 2014
【非特許文献２】Joao Carreira, Andrew Zisserman. " Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset." CVPR2017(2017).
【非特許文献３】Wang, Limin, et al. "Temporal segment networks: Towards good practices for deep action recognition." European Conference on Computer Vision. Springer International Publishing, 2016.
【非特許文献４】Cao, Zhe, et al. "Realtime multi-person 2d pose estimation using part affinity fields." CVPR2017(2017).
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、以上のような従来技術は、映像データが理想的な環境において用意されていることを前提として、高精度な認識結果を得るものであった。具体的には、映像における人物等の動作対象の撮影角度が例えば正面である等の、予め既知の固定的な撮影角度となっているという理想的な環境が前提とされていた。このような理想的な環境における前提が成立しない実環境においては、得られる映像データの撮影角度は様々に変動しうる中のいずれかである未知のものとなるが、従来技術による行動認識をこのような撮影角度が未知の映像データに適用すると、認識精度が低下してしまうという課題があった。
【０００６】
本発明は、当該従来技術の課題に鑑み、映像における撮影角度が映像ごとに変動しうるものであっても高精度に行動認識が可能な行動認識装置及びプログラムを提供することを第一の目的とする。また、当該行動認識装置で用いるモデルを構築することができるモデル構築装置を提供することを第二の目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明は、行動認識装置であって、行動認識の対象となる映像から、スケルトンデータを抽出する抽出部と、前記抽出したスケルトンデータに基づいて、前記映像において行動対象が撮影されている撮影角度を推定する推定部と、前記推定された撮影角度に応じた撮影角度において予め構築されている学習済モデルを前記映像に対して適用することにより、前記映像における行動を認識する認識部と、を備えることを第一の特徴とする。また、コンピュータを当該行動認識装置として機能させるプログラムであることを第二の特徴とする。さらに、モデル構築装置であって、行動種別のラベルが事前付与された複数の学習用映像からそれぞれ、スケルトンデータを抽出する学習用抽出部と、前記抽出したスケルトンデータに基づいて、学習用映像の各々において行動対象が撮影されている撮影角度を推定する学習用推定部と、前記複数の学習用映像を前記推定された撮影角度ごとに学習して、撮影角度ごとの映像の行動認識モデルを構築する学習部と、を備えることを第三の特徴とする。
【発明の効果】
【０００８】
前記第一又は第二の特徴によれば、映像における撮影角度を推定したうえで当該撮影角度に応じた学習済モデルを適用して映像における行動認識をすることにより、映像における撮影角度が映像ごとに変動しうるものであっても高精度に行動認識が可能となり、前記第一の目的が達成される。また、前記第三の特徴によれば、前記第二の目的が達成される。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る行動認識装置の機能ブロック図である。
【図２】一実施形態に係る行動認識装置の動作のフローチャートである。
【図３】スケルトンデータの抽出の模式例を示す図である。
【図４】撮影角度推定処理の一例として所定の５種類の角度が推定対象となる場合の模式例を示す図である。
【図５】図４の5種類の角度を推定する場合を例として、撮影角度推定処理の概略的な原理を説明するための模式図である。
【図６】図４の5種類の撮影角度において図５の所定の5関節の組み合わせの各々が検出される信頼度を表形式で示すものである。
【図７】図４ないし図６の具体例において撮影角度に応じた信頼度の値の変化の挙動が異なる設定がなされていることを、3つの関節に関する信頼度グラフとして模式的に示す図である。
【図８】図４の5種類の推定角度に対する近傍として３つの近傍を選択することを表形式で示す図である。
【図９】推定角度を2次元的に設定する場合の角度を指定するパラメータの一例として球面座標を模式的に示す図である。
【発明を実施するための形態】
【００１０】
図１は、一実施形態に係る行動認識装置の機能ブロック図である。図示するように、行動認識装置10は、学習用抽出部11、学習用推定部12及び学習部13を含むモデル構築装置1と、記憶部2と、抽出部31、推定部32及び認識部33を含む認識処理部3と、を備える。
【００１１】
図２は、一実施形態に係る行動認識装置10の動作のフローチャートである。以下、図２の各ステップを説明しながら、図１の行動認識装置10の各部の動作の概略を説明する。ステップS1では、モデル構築装置1が複数の学習用映像を用いて撮影角度ごとの複数の学習済モデルを構築し、当該構築した学習済モデルを記憶部2において記憶してから、ステップS2へと進む。ステップS2では、ステップS1にて構築され記憶部2に記憶されている撮影角度ごとの学習済モデルを利用することにより、認識処理部3がテスト映像（行動認識の対象となる映像）における行動を認識して、当該フローは終了する。
【００１２】
ステップS1におけるモデル構築装置1による学習済モデルの構築は、その各部11,12,13によりこの順番で次のように構築することができる。
【００１３】
学習用抽出部11は、複数の学習用映像LM(i,t)からスケルトンデータ（2次元骨格間接データ）LSK(i,t)を抽出し、学習用推定部12及び学習部13へと出力する。ここで、インデクスi=1,2,…を複数の学習用映像のそれぞれを識別するインデクスとし、インデクスt=1,2,…をiで指定される各学習用映像における時刻を表すものとする。すなわち、「LM(i,t)」とはi番目の学習用映像における時刻tのフレーム（画像）を表現するものとし、「LSK(i,t)」とは当該フレームより抽出されたスケルトンデータを表現するものとする。このように、学習用抽出部11ではフレームの時系列データとしての学習用映像LM(i,t)より時系列データとしてのスケルトンデータLSK(i,t)を抽出する。なお、スケルトンデータ等の詳細については後述する。
【００１４】
学習用推定部12は、iで指定される各学習用映像LM(i,t)(時刻t=1,2,…)につき、抽出部11で抽出されたスケルトンデータLSK(i,t)(時刻t=1,2,…)を解析することによって、当該映像の撮影されている角度が予め定義しておく所定のn個の角度AG1,AG2,…,AGnのいずれに該当するかを推定し、当該推定結果を学習部13へと出力する。ここで、iで指定される学習用映像LM(i,t)(時刻t=1,2,…)に関して推定された角度がAGk(i)（k(i)は整数であり、1≦k(i)≦n）であるものとする。
【００１５】
学習部13は、iで指定される複数の学習用映像LM(i,t)(時刻t=1,2,…)及びこれに関して推定された角度AGk(i)を学習用データとして利用することにより、n個の所定の撮影角度AG1,AG2,…,AGnのそれぞれに対応する撮影角度ごとの行動認識のための学習済モデルM1,M2,…,Mnを構築し、当該構築した学習済モデルを記憶部2に記憶させる。
【００１６】
ステップS2における認識処理部3によるテスト映像の行動認識は、その各部31,32,33によりこの順番で次のように認識することができる。
【００１７】
抽出部31は、時系列データとしてのある１つのテスト映像TM(t)（時刻t=1,2,…）より時系列データとしてのスケルトンデータTSK(t)（時刻t=1,2,…）を抽出して推定部32及び認識部33へと出力する。ここで、学習用抽出部11での説明と同様に、「TM(t)」は当該テスト映像の時刻tのフレームを意味し、「TSK(t)」は当該フレームから抽出された時刻tのスケルトンデータを意味する。また、抽出部31におけるスケルトンデータの抽出処理は学習用抽出部11におけるスケルトンデータの抽出処理と同様であり、抽出対象となる映像のみが異なる。
【００１８】
推定部32は、抽出部31から得たスケルトンデータTSK(t)（時刻t=1,2,…）を解析することによって対応するテスト映像TM(t)（時刻t=1,2,…）における撮影角度を推定し、当該推定結果を認識部33へと出力する。ここで、推定部32における撮影角度の推定処理は学習用推定部12における撮影角度の推定処理と同一であり、推定対象となるデータのみが異なっている。すなわち、推定部32では、テスト映像TM(t)（時刻t=1,2,…）における撮影角度が、学習用推定部12と同様の予め定義しておく所定のn個の角度AG1,AG2,…AGnのいずれに該当するかを同様の処理によって推定する。ここで、推定部32での推定結果が角度AGK（Kは整数であり、1≦K≦n）であるものとする。
【００１９】
認識部33は、推定部32から得られる推定結果の角度AGKに基づいて、記憶部2で記憶されている撮影角度ごとの行動認識のための学習済モデルM1,M2,…,Mnから当該推定撮影角度AGKに対応角度が近いと判定される複数のモデル{Mk}[近傍]={Mk|角度AGkと角度AGKとが近いと判定される}を選択し、当該選択した複数のモデル{Mk}[近傍]を用いることによってテスト映像TM(t)（時刻t=1,2,…）において撮影されている行動の認識結果を得る。（なおここで、周知の数学表記としての「{X|Xが満たす条件A}」を、「当該条件Aを満たすようなXの集合」を意味するものとして利用しており、以下の説明でも同様とする。）
【００２０】
以下では、以上において概略説明した行動認識装置10の各部の処理の詳細を説明する。
【００２１】
＜学習用抽出部11及び抽出部31での抽出処理＞
既に説明した通り、学習用抽出部11及び抽出部31における映像データからのスケルトンデータの抽出処理は共通のものであり、具体的には例えば前掲の非特許文献４に開示の既存の人物ポーズ推定手法により映像データの各フレーム画像Pから、当該画像P内における2次元骨格関節位置としてのスケルトンデータSD及び各関節の信頼度（0以上1以下で規格化された信頼度）を求めるようにすればよい。なお、非特許文献４の人物ポーズ推定手法は、静止画フレームを対象として２本立てのCNNを適用するものであり、具体的には、画像内の各位置における体の部位としての信頼度を数値化した部位信頼度マップ（part confidence map）という特徴に基づくCNN（第一CNNとする）と、画像内の各位置における体の部位同士のつながり度合いを親和度ベクトルとして表現した部位親和度フィールド（part affinity field）という特徴に基づくCNN（第二CNNとする）と、の２つを用いるものである。
【００２２】
非特許文献４では予め画像認識用に構築されたCNN（VGG-19等）を用いてフレームから特徴マップを抽出し、複数ステージs=1, 2, …, Sに渡って共通の教師データで最適化しながら当該抽出した特徴マップを上記の第一CNN及び第二CNNに入力し、部位信頼度マップPCM(s)及び部位親和度フィールドPAF(s)を出力することを繰り返すことにより、最終的に得られた部位親和度フィールドに対して二部マッチング（Bipartite Matching）を適用することで各関節の検出結果を得ると共に、対応する部位信頼度マップよりその信頼度を得る。なお、学習用抽出部11及び抽出部31では非特許文献４の手法に限らず、2次元的な画像情報のみから各関節及びその信頼度を得る任意の既存手法を用いてよい。
【００２３】
図３は当該スケルトデータの抽出処理の模式例として、[1]に示されるようなフレーム画像Pから[2]に示されるようなスケルトンデータSDが得られることを示す図である。なお既に説明した通り、スケルトンデータは映像データに対応する時系列データとして得られるものであり、図３の模式例においてはある１つの時刻tにおいて映像データから切り出されたフレーム画像Pに対応するスケルトンデータSDが示されている。
【００２４】
図３の[1]の画像Pには行動認識の対象としての「椅子に座って携帯電話で通話中の人物」が撮影されており、[2]では当該人物から予め定義された所定フォーマットに即した骨格関節として抽出されたスケルトンデータSDが示されており、所定フォーマットとして18個の関節j0〜j17（鼻j0、首j1、右肩j2、右ひじj3、右手首j4、左肩j5、左ひじj6、左手首j7、右尻j8、右膝j9、右足首j10、左尻j11、左膝j12、左足首j13、右目j14、左目j15、右耳j16及び左目j17）がその画像P内での2次元画像座標位置及び信頼度と共に抽出される。
【００２５】
＜学習用推定部12及び推定部32での撮影角度推定処理＞
既に説明した通り、学習用推定部12及び推定部32でのスケルトンデータに基づく元の映像データ（当該スケルトンデータを抽出した元の映像データ）における撮影角度の推定処理は共通のものであり、具体的には次のようにして推定することができる。ここでは一実施形態として、前述の予め定義しておく所定のn個の角度AG1,AG2,…AGnにおける数n=5であり、図４に模式的に示すように当該5個の角度が具体的にはAG1=-90度、AG2=-45度、AG3=0度、AG4=45度、AG5=90度である場合を例として説明する。
【００２６】
図４では、地面などの平面PL上にその行動の認識対象となる人物OBが存在し、映像データを得るためのカメラ（当該平面PL上にて人物OBと同程度の高さに存在するカメラ）C1,C2,C3,C4,C5によりそれぞれ撮影される離散的な所定角度（被写体としての人物OBから見た撮影カメラの角度）の候補の例として、各角度AG1=-90度、AG2=-45度、AG3=0度、AG4=45度、AG5=90度が、当該人物OBを中心とし平面PL上にある円CL上に描かれている。（なお、円CLは手前側のみが描かれている。）角度AG1=-90度（図面上で右側）は人物OBから見てカメラC1が左側（真左）に該当し、角度AG3=0度（図面上で下側）は人物OBから見てカメラC3が正面に該当し、角度AG5=90度（図面上で左側）は人物OBから見てカメラC5が右側（真右）に該当する。図示される通り、角度AG2=-45度は角度AG1,AG3の中間角度（人物OBから見てカメラC2が正面左側）であり、AG4=45度は角度AG3,AG5の中間角度（人物OBから見てカメラC4が正面右側）である。
【００２７】
図５は、図４の5種類の角度を推定する場合を例として、撮影角度推定処理の概略的な原理を説明するための模式図である。当該原理は、スケルトンデータのうちの少なくとも一部又は全部の所定関節に関して、撮影角度に応じて見えたり見えなくなったりする（当該関節が人物のその他の部位に隠れるオクルージョンにより見えなくなる）挙動を有すること、また当該挙動が少なくとも一部の所定関節同士において相違することに基づいて、所定関節から求まる信頼度の値（各関節の信頼度をベクトルとして列挙した値）が撮影角度に応じて変化し、撮影角度ごとの特徴的なベクトル値を取るというものである。
【００２８】
当該模式図としての図５は、図３で説明した全身の18個の関節からなるスケルトンデータのうち、当該撮影角度ごとの特徴的なベクトル値を与えるような身体上の位置にある所定関節の組み合わせとして、顔における5つの関節の組み合わせ「右耳j16、右目j14、鼻j0、左目j15及び左耳j17」を設定する例を示すものである。図５にて上段側には見出し[A1]〜[A5]として図４の5つの角度「AG1=-90度、AG2=-45度、AG3=0度、AG4=45度、AG5=90度」の場合にそれぞれ撮影される行動人物の撮影画像から上半身周辺のみを切り出した画像P1〜P5が示されている。そして、図５にて下段側には見出し[B1]〜[B5]として当該上段側の画像P1〜P5における5つの関節の組み合わせ「右耳j16、右目j14、鼻j0、左目j15及び左耳j17」に関する検出結果R1〜R5が示されている。
【００２９】
例えば[B3]に示す角度AG3=0度（人物から見て正面が撮影カメラ）の場合の検出結果は「R3=j16,j14,j0,j15,j17」であり5つの関節が全て検出される。一方、[B2]の角度AG2=-45度（人物から見て左手前側が撮影カメラ）の場合、結果R3においては検出されていた右耳j16がカメラからは見えなくなることによって未検出となって検出結果「R2=j14,j0,j15,j17」となる。さらに、[B1]の角度AG1＝-90度（人物から見て真左が撮影カメラ）の場合、結果R2において検出されていた右目j14がカメラからは見えなくなることによって未検出となった検出結果「R1=j0,j15,j17」となる。同様に、これらとは逆側の[B4]では検出結果「R4=j16,j14,j0,j15」（結果R3から左耳j17が未検出）となり、[B5]では検出結果「R5=j16,j14,j0」（結果R4から左目j15が未検出）となる。
【００３０】
図６は、以上のような図４の5つの角度において図５に示されるような所定の5つの関節の組み合わせ「右耳j16、右目j14、鼻j0、左目j15及び左耳j17」の各々が検出される信頼度を「高、中、低」の3段階に分類したものとして表形式で示すものであり、図５に関して上記説明した通りの見え方に応じた信頼度が図６の表には示されている。
【００３１】
以上、撮影角度推定処理の原理を説明した。次に、当該撮影角度推定処理の具体的な内容としての手順１Ａ及び手順２Ａを、当該原理説明に用いた図４〜図６の場合を例として説明する。
【００３２】
（手順１Ａ）映像データ（学習用映像又はテスト映像の映像データ）の各時刻tのフレームF(t)に対応するスケルトンデータSK(t)に関して、その撮影角度が図４の5つの角度「AG1=-90度、AG2=-45度、AG3=0度、AG4=45度、AG5=90度」のいずれに該当するかを決定する。具体的に当該撮影角度の決定は、図５で説明した所定の5個の関節「右耳j16、右目j14、鼻j0、左目j15及び左耳j17」のそれぞれの信頼度（当該信頼度は学習用抽出部11及び抽出部31においてスケルトンデータを抽出した際に求まっている）を要素として列挙した5次元ベクトルV5(t)が、図６に示される各撮影角度に応じた信頼度（ベクトル）のいずれに該当するものかを特定することにより、決定することができる。例えばV5(t)の各値が「低、低、中、高、高」に該当するものであれば、図６を参照することにより当該時刻tの撮影角度が「AG1=-90度（真左）」であるものとして決定することができる。
【００３３】
ここで、当該5次元ベクトルV5(t)がいずれの撮影角度に該当するかを決定する図６のテーブル情報は、予め所与のものとして実験データ等を用いて手動等で用意しておき、当該テーブル情報を参照することによって撮影角度を決定することができる。「高、中、低」に関しても当該用意しておく際に所与の範囲として設定しておけばよい。例えば、0以上1以下に規格化された信頼度において0.8以上を「高」、0.4以上0.8未満を「中」、0.4未満を「低」と設定してよい。
【００３４】
また、具体的に図４の5つの角度「AG1=-90度、AG2=-45度、AG3=0度、AG4=45度、AG5=90度」のいずれに該当するかを図５で説明した所定の5個の関節「右耳j16、右目j14、鼻j0、左目j15及び左耳j17」の信頼度によって決定する場合に限らず、その他の一般の場合であっても全く同様に、図６のテーブル情報に対応するものを用意しておくことで時刻tのスケルトンデータSK(t)の撮影角度を決定することができる。ここで、「高、中、低」の3段階に限らず任意段階でテーブル情報を用意してもよい。また、当該テーブル情報は「高、中、低」のような3段階の範囲情報としてではなく、0以上1以下で規格化された信頼度ベクトルの基準値として与えておくようにしてもよい。例えば「AG1=-90度（真左）」に関して図６のように「低、低、中、高、高」として与えるのではなく、具体的な値として「0, 0.1, 0.5, 0.8, 0.8」等として与えるようにしてもよい。
【００３５】
すなわち、一般の場合は次のようにすればよい。ここで、推定される所定の撮影角度はn個のAG1, AG2, …, AGnであるものとし、スケルトンデータのうちの所定のm個の関節jg1, jg2, …, jgmの信頼度を各要素として列挙して得られるm次元の信頼度ベクトルVm(t)によって撮影角度を推定するものとする。この場合、n個の撮影角度AG1, AG2, …, AGnにおいて得られる基準値としてのm次元の信頼度ベクトルVm-1, Vm-2, …, Vm-nを予め所与の学習用スケルトンデータ等によって手動等で求めておき、当該基準値としての信頼度ベクトルを列挙したものVm-1, Vm-2, …, Vm-nを図６のテーブル情報に相当するものとして用意しておけばよい。当該時刻tの信頼度ベクトルVm(t)との距離が最も近い基準値の信頼度ベクトルがVm-1, Vm-2, …, Vm-nのいずれであるかを決定することで、これに対応する撮影角度（AG1, AG2, …, AGnのいずれか）として時刻tのスケルトンデータSK(t)の撮影角度を決定することができる。
【００３６】
なお、所与のn個の撮影角度AG1, AG2, …, AGnに関して、上記の基準値としての信頼度ベクトルVm-1, Vm-2, …, Vm-nとの間の距離判定を安定して実現可能なものとして、スケルトンデータのうちの所定のm個の関節jg1, jg2, …, jgmを信頼度ベクトルの計算対象として設定しておけばよい。これには一般に、少なくとも一部の異なる関節jgm1, jgm2(m1≠m2, 1≦m1, m2≦m)においては所与のn個の撮影角度AG1, AG2, …, AGnでの信頼度の値の変化の挙動が可能な限り異なるように、m個の関節jg1, jg2, …, jgmを設定しておけばよい。具体的には例えば、少なくとも一部の異なる関節jgm1, jgm2においてはオクルージョンが生じて見えなくなる撮影角度が異なるように設定しておけばよい。
【００３７】
図７は、図４ないし図６の具体例において当該信頼度の値の変化の挙動が異なる設定がなされていることを模式的に示す図である。ここでは所定の5個の関節「右耳j16、右目j14、鼻j0、左目j15及び左耳j17」のうち3つの関節「右耳j16、鼻j0及び左耳j17」に関する撮影角度360度範囲での信頼度変化挙動のグラフがそれぞれ「線L16、線L0及び線L17」として示されている。右耳j16の信頼度のグラフ線L16は-90度（真左）の近傍範囲において、鼻j0の信頼度のグラフ線L0は±180度（真後ろ）の近傍範囲において、左耳j17の信頼度のグラフ線L17は90度（真右）の近傍範囲において、それぞれオクルージョンを生じることにより信頼度が低下しており、当該低下する範囲は互いに異なっている。なお、図７には示されていない残りの2個の関節「右目j14及び左目j15」に関してもこれら図７の3個の中間的な挙動を示すことにより、信頼度の低下範囲が相違するものである。こうして、図６に示されるような各撮影角度での特徴的な信頼度ベクトルが得られることとなる。なお、図７での360度範囲とは明らかなように、図４で説明した人物の前方のみの180度の範囲をさらに人物後方の範囲も含むように拡張したものである。（図７では信頼度変化の挙動の相違がより明確化して示されるように、当該拡張した範囲を示している。）
【００３８】
（手順２Ａ）以上の手順１Ａにより映像データの各時刻t=1,2,…のフレームF(t)に対応するスケルトンデータSK(t)に基づく、フレームF(t)の撮影角度AG(t)が求まるので、これに基づき、手順２Ａでは当該映像データ全体での撮影角度を決定することで、学習用推定部12及び推定部32からの最終的な出力としての映像データにおける撮影角度を得る。具体的には、当該映像データ全体において手順１Ａによりフレーム単位で得られた撮影角度のうち最多数となった撮影角度を当該映像データの撮影角度として決定してよい。あるいは、映像データにおける重要な時間帯（例えば、真ん中の５０％フレームや人の向きに影響のあるスケルトンの変化が無かった時間など）を事前に決めておき、その重要な時間帯のみを評価対象として、最多数を得た撮影角度を当該映像データの撮影角度として決定してもよい。
【００３９】
＜学習部13＞
学習部13では、各々がインデクスiで指定される複数の学習用映像LM(i,t)に関して、学習用推定部12で得られたその撮影角度LAG(i)（n個の撮影角度AG1, AG2, …, AGnのいずれか）の情報を利用することにより、n個の撮影角度AG1, AG2, …, AGnごとの行動認識のための学習済モデルM1, M2, …, Mnを構築する。具体的には、以下の手順１Ｂ及び２Ｂによって構築することができる。
【００４０】
（手順１Ｂ）全ての学習用映像LM(i,t)（すなわち、n個の撮影角度AG1, AG2, …, AGnが映像ごとに様々に混じっているもの）を学習用データとして用いることで、全ての撮影角度に共通の（すなわち、撮影角度に非依存の）１つの学習済モデルM[共通]を得る。
【００４１】
（手順２Ｂ）当該学習した共通の学習済モデルM[共通]を初期値とし、１つの撮影角度AGk(k=1, 2, …, n)に該当する学習用映像（全ての学習用映像LM(i,t)のうちの一部分）を学習用データとして転移学習（fine tuning）することにより、当該撮影角度AGkに対応する学習済モデルMkを得る。
【００４２】
以上、手順１Ｂ及び手順２ＢはCNN学習における既存手法である転移学習を利用するものであり、個別の撮影角度AGkごとの学習用映像の数が少ない場合であっても、所定の認識精度を有した当該角度AGkに対応する学習済モデルMkを得ることができる。なお、手順１Ｂ及び手順２ＢでのCNNの学習に関しては、既に説明した非特許文献１ないし３等における2ストリーム法（空間方向CNN及び時間方向CNNを統合するもの）を利用すればよい。ここで、空間方向CNNを学習するために、（元の映像データのみではなく、または、元の映像データに代えて、）学習用抽出部11で抽出されたスケルトンデータ時系列を用いるようにしてもよい。なお、学習用映像LM(i,t)の各々に関しては当該CNN学習を可能とするために、当該映像内の行動種別をラベルとして事前に与えておくものとする。
【００４３】
＜認識部33＞
概略説明として既に説明した通り、認識部33では、記憶部2に記憶されている撮影角度AGk(k=1, 2, …, n)ごとのモデルMk(k=1, 2, …, n)のうち、推定部32で得られたテスト映像の撮影角度の推定結果AGK(1≦K≦n)に対応角度が近いと判定される複数のモデル{Mk}[近傍]={Mk|角度AGkと角度AGKとが近いと判定される}を選択し、当該選択した複数のモデル{Mk}[近傍]をテスト映像に対して適用することにより、当該モデルに予め定義されている行動種別ごとのスコア値を得て、当該スコア値を最大とするものを、テスト映像における行動認識結果として出力する。ここで、行動種別ごとのスコア値を得る際には、選択された複数のモデル{Mk}[近傍]のそれぞれのスコア値の所定の重みづけ和として得るようにする。
【００４４】
以下、認識部33による当該テスト映像の行動認識処理の詳細を、前述の図４ないし図６を参照して説明した5つの関節及びこれに基づいて推定される5つの角度（-90度、-45度、0度、45度、90度）の場合を例として説明するが、その他の一般の場合についても同様にして行動認識処理が可能である。当該行動認識処理は以下の手順１Ｃ及び２Ｃのようにすればよい。
【００４５】
（手順１Ｃ）まず、対応角度が近いと判定される複数のモデル{Mk}[近傍]の具体的な選択を行うが、当該5つの角度の場合、図８に表形式で示されるように、当該180度の範囲内で1次元的に変化する角度の自分自身を含む近傍として、3つの角度を選択するようにすればよい。
【００４６】
例えば、推定角度が-90度であれば、第1適用モデルとして自分自身の-90度のモデルと、第2適用モデルとして最近傍の隣接角度-45度のモデルと、第3適用モデルとして2番目の近傍の隣接角度0度のモデルと、の3つのモデルを選択する。推定角度が-45度であれば、第1適用モデルとして自分自身の-45度のモデルと、第2適用モデルとして最近傍の隣接角度-90度のモデルと、第3適用モデルとして同じく最近傍の隣接角度0度のモデルと、の3つのモデルを選択する。なお、当該推定角度が-45度の場合、第2適用モデルと第3適用モデルとは共に最近傍であるため、図８に示すのとは逆のものとして設定しておいてもよい。推定角度が0度、45度の場合も同様に第2適用モデルと第3適用モデルとは図８に示すものとは逆のものとして設定しておいてもよい。
【００４７】
なお、図８に示すように近傍の複数モデル{Mk}[近傍]として3つのモデルを選択する必要がある理由は次の通りである。すなわち、行動認識処理の対象となるテスト映像の推定角度（5段階での離散値）が真値と少しズレることがある状況下においても行動認識処理を安定させるためである。例えば、真値が-15度と+15度のテスト映像は0度に推定してしまう可能性が高い。-15度のテスト映像に最適なモデルは-45度のモデルと0度のモデルになるが、+15度のテスト映像に最適なモデルは+45度のモデルと0度のモデルになる。よって、このような離散値での角度推定に基づく行動認識の精度を安定させるために、例えば0度に推定したテスト映像であれば、自身（0度）を含む近傍の角度として-45度と0度、＋45度の三つのモデルを適用させることにする。
【００４８】
（手順２Ｃ）上記の手順１Ｃで選択した推定角度自身を含む近傍の3つの角度による第1適用モデル（推定角度自身のモデル）、第2適用モデル（推定角度の近傍角度のモデル）及び第3適用モデル（推定角度の近傍角度のモデル）からそれぞれ行動種別act(=1, 2, …)ごとに算出したスコアを重みづけ和として統合し、当該統合スコアを最大化するものとして最終的な行動種別の認識結果を得る。式で書けば統合スコアの算出は以下の(1)の通りである。
【００４９】
【数１】
2019191981.tif 000003
【００５０】
式(1)において、SA1(act)は第1適用モデルで行動種別actに関して算出したスコアであり、SA2(act)は第2適用モデルで行動種別actに関して算出したスコアであり、SA3(act)は第3適用モデルで行動種別actに関して算出したスコアであり、w1,w2及びw3は当該各モデルについての事前に設定しておく重みである。
【００５１】
そして、以下の式(2)のように当該式(1)のスコアの最大値を与えるものとして行動種別actの推定結果best_actを得ることができる。
【００５２】
【数２】
2019191981.tif 000004
【００５３】
なお、図４ないし図６の具体的な場合に限らない一般的な場合も同様に、近傍の複数モデル{Mk}[近傍]として推定角度自身を含むN個の近傍が選択されたものとし、k番目の近傍（1番目の近傍は推定角度自身とする）の角度における第k適用モデルのスコアSAk(act)及び所与の重みwkにより、以下の式(3)（重みづけ和の個数に関して式(1)を一般化したものに相当）で統合スコアを算出することができ、最終的な推定結果は上記と同じ式(2)で得るようにすることができる。
【００５４】
【数３】
2019191981.tif 000005
【００５５】
以上、本発明によれば、行動認識対象となるテスト映像における行動対象（人物などの行動主体）の撮影方向がテスト映像ごとに変動しうる未知のものであっても、撮影方向を推定したうえで、事前に用意しておく撮影方向ごとの行動認識モデルを利用して認識することにより、高精度な行動認識結果を得ることができる。以下、本発明における説明上の種々の補足を述べる。
【００５６】
（１）行動認識装置10の利用においては、以下の前提が満たされていることが望ましい。すなわち、第一の前提として、モデル構築装置1で学習用データとして読み込む複数の学習用映像と認識処理部3で行動認識対象として読み込むテスト映像との両方に関して、学習用推定部12及び推定部32で共通の撮影角度推定処理により撮影角度を推定するために用いるスケルトンデータのうちの複数の所定関節が形成する向きが、行動認識対象（人物等の行動主体）の全身向き（当該スケルトンデータ全体の向き）と一致している、という前提である。例えば、図５及び図６の例のように、図３に示した全身の18個の関節のうち顔部分の5個の関節を撮影角度推定処理に用いる場合であれば、顔の向きと全身の向きとが一致しているような映像である前提が満たされることが望ましい。例えば、首から下の身体部分はカメラに対して正面だが、顔だけはカメラに対して横を向いているような映像を扱うのは望ましくない。ただし、時系列としての映像内において当該向きが一致する前提が必ずしも常に成立していなくともよい。
【００５７】
また、第二の前提として、モデル構築装置1で学習用データとして読み込む複数の学習用映像と認識処理部3で行動認識対象として読み込むテスト映像との両方に関して、（行動認識が安定して実現可能なように、）撮影されている行動は1種類とみなせるものであることが望ましい。すなわち、映像はその途中から行動種別が変化しないものであることが望ましい。
【００５８】
（２）学習用推定部12及び推定部32において推定対象の離散的な角度として予め定義しておく所定のn個の角度AG1, AG2, …, AGnに関して、図４等の例では行動認識対象の人物等OBを囲む円CL上で一次元的に変化する範囲内で定義する場合を説明したが、全く同様にして人物等OBを囲む球面上で二次元的に変化する範囲内で定義するようにしてもよい。図９は、当該二次元的に変化する範囲内で所定のn個の角度AG1, AG2, …, AGnを離散的に設定するための指定パラメータの一例として、球面座標を模式的に示す図である。すなわち、直交座標xyzの原点に人物等OBが配置され、カメラCの位置Pは球面座標(r,θ,φ)にあり原点に存在する人物等OBを向いて撮影しているものとして、動径rの方向(θ,φ)を二次元的な撮影角度を指定するパラメータとして利用できる。すなわち、各撮影角度AGk(k=1, 2, …, n)をAGk=(θk,φk)として指定できる。推定撮影角度AGKに対応角度が近いと判定される複数のモデル{Mk}[近傍]を選択する際も、当該パラメータ(θk,φk)に基づいて、推定撮影角度AGK自身を含む所定近傍を選択すればよい。
【００５９】
（３）学習用推定部12及び推定部32での共通の撮影角度推定処理に関して、前述の図６のような各撮影角度における関節の信頼度ベクトルを所定のテーブル情報として用意しておくことによる実施形態に対する別の一実施形態として、事前に学習しておく分類器を利用して、当該分類器が出力する各撮影角度の尤度が最大となるような撮影角度を推定結果とする実施形態も可能である。
【００６０】
すなわち、当該分類器は、学習用抽出部11及び抽出部31で映像データの時刻tのフレームF(t)から抽出されたスケルトンデータSK(t)における各関節の信頼度を入力とし、当該スケルトンデータSK(t)における各撮影角度AGk(k=1, 2, …, n)の尤度L(k)を出力するものとして、事前に学習しておく。具体的には例えば、所定層数（3層など）の全結合（fully connected）ニューラルネットワークとして当該分類器を事前構築しておけばよい。ここで、多数の画像に関して各関節の信頼度を抽出すると共に、当該画像の撮影角度がAGk(k=1, 2, …, n)のいずれに該当するかをラベルとして付与しておいたものを学習データとして用意しておき、当該学習データにより当該分類器を構築すればよい。
【００６１】
そして、当該事前に学習しておく尤度L(k)を出力する分類器を映像データの全時刻t=1, 2, …に対応する全スケルトンデータSK(t)に適用し、尤度の映像全体での総和が最大となるような撮影角度を、当該映像の撮影角度として決定すればよい。
【００６２】
（４）認識部33において式(3)で用いるk番目の近傍（1番目の近傍は推定角度自身とする）の角度における第k適用モデルのスコアSAk(act)に対して用いる、前述の所与の重みwkの別の実施形態として、このように定数wkとして事前に与えておく代わりに、上記の尤度を出力する分類器（全結合ニューラルネットワークによるもの）で得られた当該撮影角度の尤度（映像の時間全体に渡る平均値）を用いるようにしてもよい。すなわち、推定部32は上記の尤度を出力する事前構築された分類器によって実現し、当該得られる尤度を対応する撮影角度の重みwkとして採用してよい。この場合、式(3)で用いる重みづけ和の係数の総和「Σwk」が1となるように尤度を規格化したものを、重みwkとして利用してよい。
【００６３】
（５）行動認識装置10は一般的な構成のコンピュータとして実現可能である。すなわち、CPU（中央演算装置）、当該CPUにワークエリアを提供する主記憶装置、ハードディスクやSSDその他で構成可能な補助記憶装置、キーボード、マウス、タッチパネルその他といったユーザからの入力を受け取る入力インタフェース、ネットワークに接続して通信を行うための通信インタフェース、表示を行うディスプレイ、カメラ及びこれらを接続するバスを備えるような、一般的なコンピュータによって行動認識装置10を構成することができる。行動認識装置10の一部であるモデル構築装置1に関しても同様に、当該一般的なコンピュータとして構成することができる。さらに、図１に示す行動認識装置10の各部の処理はそれぞれ、当該処理を実行させるプログラムを読み込んで実行するCPUによって実現することができるが、任意の一部の処理を別途の専用回路等（GPUを含む）において実現するようにしてもよい。
【符号の説明】
【００６４】
10…行動認識装置、31…抽出部、32…推定部、33…認識部
1…モデル構築装置、11…学習側抽出部、12…学習側推定部、13…学習部
【図１】
2019191981.tif 000006
【図２】
2019191981.tif 000007
【図３】
2019191981.tif 000008
【図４】
2019191981.tif 000009
【図５】
2019191981.tif 000010
【図６】
2019191981.tif 000011
【図７】
2019191981.tif 000012
【図８】
2019191981.tif 000013
【図９】
2019191981.tif 000014