(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022072444
(43)【公開日】2022-05-17
(54)【発明の名称】行動認識学習装置、行動認識装置、行動認識学習方法、行動認識方法、及び行動認識学習プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20220510BHJP
G06T 7/20 20170101ALI20220510BHJP
G06N 20/00 20190101ALI20220510BHJP
【FI】
G06T7/00 350B
G06T7/20 300
G06N20/00
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2020181885
(22)【出願日】2020-10-29
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】特許業務法人太陽国際特許事務所
(72)【発明者】
【氏名】細野 峻司
(72)【発明者】
【氏名】梅田 崇之
(72)【発明者】
【氏名】北原 正樹
(72)【発明者】
【氏名】島村 潤
(72)【発明者】
【氏名】澤田 清仁
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA04
5L096DA02
5L096GA34
5L096HA02
5L096HA11
5L096JA03
5L096JA13
5L096KA04
5L096MA07
(57)【要約】
【課題】動作対象物の行動種別を精度よく推定することを可能とする。
【解決手段】行動認識学習装置は、動作対象物の動作の各々を含む動作データと、前記動作の各々の行動種別に対応する行動ラベルとを学習データとして受け付ける。行動認識学習装置は、前記動作の各々の組合せについて、動作に関する類似度を算出する動作類似度算出部と、前記動作に関する類似度に基づいて、前記行動ラベルをクラスタリングし、前記行動ラベルの階層構造を生成する行動クラスタリング部と、前記動作データ及び前記階層構造を用いて算出された損失に基づいて、行動種別を推定するための行動認識モデルのパラメータを学習する階層的学習部と、を含む。
【選択図】
図4
【特許請求の範囲】
【請求項1】
動作対象物の動作の各々を含む動作データと、前記動作の各々の行動種別に対応する行動ラベルとを学習データとして受け付け、
前記動作の各々の組合せについて、動作に関する類似度を算出する動作類似度算出部と、
前記動作に関する類似度に基づいて、前記行動ラベルをクラスタリングし、前記行動ラベルの階層構造を生成する行動クラスタリング部と、
前記動作データ及び前記階層構造を用いて算出された損失に基づいて、行動種別を推定するための行動認識モデルのパラメータを学習する階層的学習部と、
を含む行動認識学習装置。
【請求項2】
動作対象物の動作の各々を含む動作データと、前記動作の各々の行動種別に対応する行動ラベルとを学習データとして受け付け、
前記行動ラベルの各々について、言語特徴を抽出する関数を用いて言語に関する類似度を算出する言語類似度算出部と、
前記言語に関する類似度に基づいて、前記行動ラベルをクラスタリングし、前記行動ラベルの階層構造を生成する行動クラスタリング部と、
前記動作データ及び前記階層構造を用いて算出された損失に基づいて、行動種別を推定するための行動認識モデルのパラメータを学習する階層的学習部と、
を含む行動認識学習装置。
【請求項3】
前記行動クラスタリング部は、前記類似度に応じた抽象度ごとにクラスタを階層化して、前記階層ごとに、抽象化された階層に対応する抽象ラベルと、最終的な階層に対応する最終行動ラベルとに分類することにより前記階層構造を生成し、
前記階層的学習部は、行動認識部と、損失計算部と、パラメータ最適化部と、を含み、
前記行動認識部は、前記階層構造に応じて階層ごとに識別を行う所定の手法を用いて、前記動作データを入力として、各階層の所定の畳み込みブロックから抽出された特徴量を連結して用いて、中間ブロックの識別として前記抽象ラベルの識別、及び最終ブロックの識別として前記最終行動ラベルの識別を識別結果として出力し、
前記損失計算部は、前記識別結果を用いて、前記階層構造の階層の各々についての、当該階層における前記抽象ラベル、及び当該階層の前記抽象ラベルに対する尤度を用いた第1値と、前記動作の各々に対する教師ラベル、及び最終ブロックの前記最終行動ラベルの推定結果を用いた第2値とによる誤差を求めることにより前記損失を計算し、
前記パラメータ最適化部は、前記損失に基づいて前記行動認識モデルのパラメータを最適化する、請求項1又は請求項2に記載の行動認識学習装置。
【請求項4】
請求項1~請求項3の何れか1項に記載の行動認識学習装置によって学習された、前記階層構造、及び前記行動認識モデルのパラメータを用いて、入力された映像又は骨格系列に含まれる動作の行動種別を推定する行動推定部、
を含む行動認識装置。
【請求項5】
動作対象物の動作の各々を含む動作データと、前記動作の各々の行動種別に対応する行動ラベルとを学習データとして受け付け、
前記動作の各々の組合せについて、動作に関する類似度を算出し、
前記動作に関する類似度に基づいて、前記行動ラベルをクラスタリングし、前記行動ラベルの階層構造を生成し、
前記動作データ及び前記階層構造を用いて算出された損失に基づいて、行動種別を推定するための行動認識モデルのパラメータを学習する、
処理をコンピュータに実行させる行動認識学習方法。
【請求項6】
動作対象物の動作の各々を含む動作データと、前記動作の各々の行動種別に対応する行動ラベルとを学習データとして受け付け、
前記行動ラベルの各々について、言語特徴を抽出する関数を用いて言語に関する類似度を算出し、
前記言語に関する類似度に基づいて、前記行動ラベルをクラスタリングし、前記行動ラベルの階層構造を生成し、
前記動作データ及び前記階層構造を用いて算出された損失に基づいて、行動種別を推定するための行動認識モデルのパラメータを学習する、
処理をコンピュータに実行させる行動認識学習方法。
【請求項7】
請求項5又は請求項6に記載の行動認識学習方法によって学習された、前記階層構造、及び前記行動認識モデルのパラメータを用いて、入力された映像又は骨格系列に含まれる動作の行動種別を推定する、
処理をコンピュータに実行させる行動認識方法。
【請求項8】
請求項1~請求項3の何れか1項に記載の行動認識学習装置の各部の処理をコンピュータに実行させる行動認識学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、行動認識学習装置、行動認識装置、行動認識学習方法、行動認識方法、及び行動認識学習プログラムに関する。
【背景技術】
【0002】
入力された映像(又は骨格系列)に含まれる動作対象物がどのような行動を取っているかを推定し、認識する行動認識技術がある。行動認識技術は、監視カメラ映像の解析、及びロボットの人間行動理解等、幅広い産業応用を持つ。実世界で人が取り得る行動は多岐に渡る。例えば、人の日常動作を認識対象としているNTU RGB+D120データセット(非特許文献1参照)では、120クラスの行動種別が定義されている。行動認識技術には、このような多くの種別の行動を正確に分類する能力が求められる。
【0003】
精度の高い公知の技術としては、映像からConvolutional Neural Network(CNN)を用いて特徴を抽出し分類する(非特許文献2参照)技術がある。また、骨格検出により取得された骨格情報からGraph Convolutional Networks(GCN)を用いて特徴を抽出し分類する技術(非特許文献3参照)がある。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】J. Liu, A. Shahroudy, M. Perez, G. Wang, L-Y. Duan and A. C. Kot, “NTU RGB+D 120: A Large-Scale Benchmark for 3D Human Activity Understanding,” IEEE Trans. on Pattern Analysis and Machine Intelligence, 2019.
【非特許文献2】J. Lin, C. Gan, S. Han, “TSM: Temporal Shift Module for Efficient Video Understanding,” in IEEE Int. Con. on Computer Vision, 2019.
【非特許文献3】S. Yan, Y. Xiong and D. Lin, “Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition,” in the Thirty-Second AAAI Conference on Artificial Intelligence, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0005】
分類すべき行動種別が増加するほど、クラス間で類似した動作が含まれることが多くなり、行動分類が困難になる。公知の技術では識別に有効な特徴抽出器の学習をend―to―endで行なっており、複数の畳み込み層で得るべき特徴を、学習過程における識別結果の正否のみにより学習している。このように、分類すべき行動の類似性を明示的に考慮しない従来法は、動作が類似した行動間での誤認識が発生し、精度向上の余地を残す。
【0006】
開示の技術は、上記の点に鑑みてなされたものであり、動作対象物の行動種別を精度よく推定することを可能とする行動認識学習装置、行動認識装置、行動認識学習方法、行動認識方法、及び行動認識学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の第1態様は、行動認識学習装置であって、動作対象物の動作の各々を含む動作データと、前記動作の各々の行動種別に対応する行動ラベルとを学習データとして受け付け、前記動作の各々の組合せについて、動作に関する類似度を算出する動作類似度算出部と、前記動作に関する類似度に基づいて、前記行動ラベルをクラスタリングし、前記行動ラベルの階層構造を生成する行動クラスタリング部と、前記動作データ及び前記階層構造を用いて算出された損失に基づいて、行動種別を推定するための行動認識モデルのパラメータを学習する階層的学習部と、を含む。
【0008】
本開示の第2態様は、行動認識学習装置であって、動作対象物の動作の各々を含む動作データと、前記動作の各々の行動種別に対応する行動ラベルとを学習データとして受け付け、前記行動ラベルの各々について、言語特徴を抽出する関数を用いて言語に関する類似度を算出する言語類似度算出部と、前記言語に関する類似度に基づいて、前記行動ラベルをクラスタリングし、前記行動ラベルの階層構造を生成する行動クラスタリング部と、前記動作データ及び前記階層構造を用いて算出された損失に基づいて、行動種別を推定するための行動認識モデルのパラメータを学習する階層的学習部と、を含む。
【0009】
本開示の第3態様は、行動認識学習方法であって、動作対象物の動作の各々を含む動作データと、前記動作の各々の行動種別に対応する行動ラベルとを学習データとして受け付け、前記動作の各々の組合せについて、動作に関する類似度を算出し、前記動作に関する類似度に基づいて、前記行動ラベルをクラスタリングし、前記行動ラベルの階層構造を生成し、前記動作データ及び前記階層構造を用いて算出された損失に基づいて、行動種別を推定するための行動認識モデルのパラメータを学習する、処理をコンピュータに実行させることを特徴とする。
【0010】
本開示の第4態様は、行動認識学習方法であって、動作対象物の動作の各々を含む動作データと、前記動作の各々の行動種別に対応する行動ラベルとを学習データとして受け付け、前記行動ラベルの各々について、言語特徴を抽出する関数を用いて言語に関する類似度を算出し、前記言語に関する類似度に基づいて、前記行動ラベルをクラスタリングし、前記行動ラベルの階層構造を生成し、前記動作データ及び前記階層構造を用いて算出された損失に基づいて、行動種別を推定するための行動認識モデルのパラメータを学習する、処理をコンピュータに実行させることを特徴とする。
【発明の効果】
【0011】
開示の技術によれば、動作対象物の行動種別を精度よく推定することを可能とする。
【図面の簡単な説明】
【0012】
【
図1】従来法によるCNN又はGCNベースの行動認識器の学習手法の一例を示す図である。
【
図2A】従来法による行動ラベルの正解と推定結果が異なってしまうケースの一例を示す図である。
【
図2B】従来法による行動ラベルの正解と推定結果が異なってしまうケースの一例を示す図である。
【
図3】行動認識学習装置及び行動認識装置のハードウェア構成を示すブロック図である。
【
図4】第1実施形態の行動認識学習装置の構成を示すブロック図である。
【
図5】各層における抽象ラベルの識別、及び最終的な最終行動ラベルの識別についての一例を示す図である。
【
図6】第1実施形態の行動認識装置の構成を示すブロック図である。
【
図7A】段階的に抽象ラベル及び最終行動ラベルの分類を行う場合の一例を示す図である。
【
図7B】段階的に抽象ラベル及び最終行動ラベルの分類を行う場合の一例を示す図である。
【
図8】第1実施形態の行動認識学習装置による行動認識学習処理の流れを示すフローチャートである。
【
図9】第1実施形態の行動認識装置による行動分類処理の流れを示すフローチャートである。
【
図10】第2実施形態の行動認識学習装置の構成を示すブロック図である。
【
図11】第2実施形態の行動認識学習装置による行動認識学習処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0014】
まず、本開示の概要について説明する。
図1は、従来法によるCNN又はGCNベースの行動認識器の学習手法の一例を示す図である。
図1の例は、水を飲む動作の映像と、当該動作の骨格系列を入力し、畳み込みを複数回行なう学習により、行動ラベルを推定する行動認識器を学習する態様のイメージ図である。このような行動認識器を用いた場合、上記課題において説明したように、分類すべき行動種別が増加するほど類似した動作での区別が困難になる。
図2A及び
図2Bは、従来法による行動ラベルの正解と推定結果が異なってしまうケースの一例を示す図である。
図2A及び
図2Bに示すように、正解と推定結果が異なってしまっており困難であることを示している。
図2Aの例では、Vサインの動作(make victory sign)と、OKサインの動作(make OK sign)とで正解と認識結果が異なってしまっている。
図2Bの例では、荷物を入れる動作(put object into bag)と、荷物を取り出す動作(take object out of bag)とで正解と認識結果が異なってしまっている。このように類似した動作の区別は困難なため推定の精度が低下する。行動種別の推定の精度、及び誤推定の一例を表1に示す。
【表1】
【0015】
本開示の手法では、複雑な分類問題を単純化する手段の一つとして、識別すべきクラスの粒度を段階的設定し、荒い粒度では大まかな分類を、細かい粒度では細かな動作の分類を行なう、階層的な分類を想定する。この階層的な分類を行動認識に適用することで、行動認識精度を向上させる。動作の類似性に基づいて階層構造を設定することができれば、荒い粒度の分類では大まかな動作の違いに着目し、細かい粒度の分類では細かな動作の違いに着目した分類器の学習が促進され、クラス間で類似した動作が含まれる場合でも精度よく行動認識できることが望める。
【0016】
本開示では、公知の技術の中でも高精度なCNN又はGCNベースの行動認識器(以降、行動認識モデルと記載する)に、上記階層的な分類を導入することを検討した。一般に行動認識の行動ラベルには階層構造は付与されていない。そのため、まず、識別すべきクラスの粒度を抽象化するために、認識対処となる行動の特徴を用いて、クラスを階層的にクラスタリングし、階層構造を生成する「行動クラスタリング部」を備える。更に、クラスタリングによって得られた階層構造に基づき、CNNに階層的な識別を学習させるための「階層的学習部」を備える。
【0017】
[実施形態の前提]
簡単のため、本開示の実施形態では、ベースとなる行動認識モデルにはGCNを用いる。一般に、GCNを用いた行動認識(非特許文献1等)では、学習時に映像から骨格検出器(参考文献1等)によって推定された人体の骨格系列情報と、その映像で発生している行動のラベル情報を入力とし、行動認識モデルを学習する。推定時には、映像から推定された骨格情報を入力とし、入力映像中で発生している行動ラベルを出力する。
[参考文献1]K. Sun, B. Xiao, D. Liu and J. Wang, “Deep High-Resolution Representation Learning for Human Pose Estimation,” in IEEE Conf. on Computer Vision and Pattern Recognition, 2019.
【0018】
本開示は上記行動認識方法だけでなく、映像から直接行動認識を行なう手法(例えば非特許文献2)等他の好適な行動認識手法にも適用可能である。
[参考文献2]J. Carreira and A. Zisserman, “Quo vadis, action recognition? a new model and the kinetics dataset,” in Int. Conf. on Computer Vision and Pattern Recognition, 2018.
【0019】
なお、動作対象物を人体とする場合を想定して説明するが、これに限定されるものではない。例えば、関節的な動きが変わる点が考慮できる対象物であれば分類が可能であり、人体に限らず工作機械、動物、及び接続点を関節に見立てた複数の物体等を動作対象物として想定してもよい。
【0020】
以降、本開示の第1実施形態として、学習データの骨格の動きの類似性(本開示の技術の「動作に関する類似度」)に基づき行動ラベルを階層化し、行動認識モデルを学習する方法について記す。また、第2実施形態として、行動ラベルの言語的類似性(本開示の技術の「言語に関する類似度」)に基づき行動ラベルを階層化し、行動認識モデルを学習する方法について記す。本開示において、階層構造の作成に用いることのできる行動の類似性の尺度は上記2種類だけでなく、映像特徴(例えば参考文献2の類似性等、有意な尺度)を用いることができる。
【0021】
[第1実施形態]
(第1実施形態の構成)
以下、第1実施形態の構成について説明する。行動認識学習装置、及び行動認識装置のそれぞれについて説明する。なお、同一の装置によって構成するようにしてもよい。
【0022】
図3は、行動認識学習装置100のハードウェア構成を示すブロック図である。
【0023】
図3に示すように、行動認識学習装置100は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16及び通信インタフェース(I/F)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。
【0024】
CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、行動認識学習プログラムが格納されている。
【0025】
ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶装置により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0026】
入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。
【0027】
表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能してもよい。
【0028】
通信インタフェース17は、端末等の他の機器と通信するためのインタフェースである。当該通信には、例えば、イーサネット(登録商標)若しくはFDDI等の有線通信の規格、又は、4G、5G、若しくはWi-Fi(登録商標)等の無線通信の規格が用いられる。行動認識装置150についても同様に、CPU21、ROM22、RAM23、ストレージ24、入力部25、表示部26及び通信I/F27を有する。各構成は、バス29を介して相互に通信可能に接続されている。ハードウェア構成の各部についての説明は、行動認識学習装置100と同様であるため省略する。なお、第2実施形態の行動認識学習装置についても同様のハードウェア構成とすることができる。
【0029】
次に、行動認識学習装置100の各機能構成について説明する。
図4は、第1実施形態の行動認識学習装置100の構成を示すブロック図である。各機能構成は、CPU11がROM12又はストレージ14に記憶された行動認識学習プログラムを読み出し、RAM13に展開して実行することにより実現される。
【0030】
図4に示すように、行動認識学習装置100は、階層構造生成部110と、階層構造記憶部116と、パラメータ記憶部118と、階層的学習部120とを含んで構成されている。階層構造生成部110は、動作類似度算出部112と、行動クラスタリング部114とを含む。階層的学習部120は、行動認識部122と、損失計算部124と、パラメータ最適化部126とを含む。
【0031】
行動認識学習装置100では、入力となる学習データとして、動作データ、及び行動ラベルを受け付ける。動作データは、映像の各々、及び当該映像の各々に対応した骨格系列である。映像の各々には、所定の動作をしている動作対象物を含む。骨格系列は、映像中の動作対象物の動作に対応した系列データである。行動ラベルは、動作データに含まれる動作の各々の行動種別に対応するクラスを示す。例えば、非特許文献1の120クラスを行動ラベルとして用いることができる。なお、動作データとして、骨格系列を受け付けずに、映像のみを用いるようにし、映像を解析して推定した骨格系列を用いるようにしてもよい。また、動作データとして、映像を受け付けずに、骨格系列のみを用いるようにしてもよい。
【0032】
行動認識学習装置100では、まず、学習データに対し、階層構造生成部110により行動ラベルの階層構造を生成する。階層構造生成部110では、動作類似度算出部112により、学習データ中の骨格系列を用いて、各行動種別間の動作に関する類似度を算出する。その後、行動クラスタリング部114により、算出された動作に関する類似度に基づいて行動種別をクラスタリングし、類似したクラスを階層的にまとめる。これにより得られた、各階層のクラスタを、行動クラスの抽象ラベルとすることで、階層構造を生成する。なお、行動認識学習装置100は、階層構造生成部110を含む構成とするのではなく、外部の装置で生成した階層構造を受け付けるようにしてもよい。
【0033】
行動認識学習装置100では、上記のようにして先に生成された行動種別の階層構造を用いて、階層的学習部120において行動認識モデルのパラメータを学習する。まず、行動認識部122において、学習データとして入力された骨格系列が、階層構造で定義されている、いずれの抽象ラベルに該当するのかを、各階層について推定する。次に、損失計算部124において、各階層における推定結果の正否から損失が計算される。そして、パラメータ最適化部126により、損失に基づきパラメータ記憶部118のパラメータを更新することで、行動認識モデルの学習を進める。
【0034】
動作類似度算出部112は、動作データの動作の各々の組合せについて、動作に関する類似度を算出する。動作類似度算出部112では、学習データの動作データに含まれる骨格系列を用いて、各行動種別間(つまり動作間)の動きの距離を算出し、当該動きの距離を用いて、動作に関する類似度を算出する。全ての動作間で距離を算出する場合、計算コストが高くなるため、まず、同一種別の行動間で距離計算を行ない、同一種別内で平均的な動作をしているデータ1つを代表行動として各行動種別から選出する。その後、代表行動間で距離を算出し、それを動作類似度とする。
【0035】
動作間の距離は、骨格のユークリッド距離によるDPマッチングにより以下の距離Fとして算出される。DPマッチングを用いることで、データ間の時系列順序関係を保持しつつ部分的な伸縮を考慮した類似度計算が可能となるため、データ間の動作の時刻ずれの影響を受けずに類似度(距離F)を計算することができる。具体的に、2つの骨格系列A={A
1,…,A
t,…,A
T}及びB={B
1,…,B
u,…,B
U}間の距離Fは、A
t及びB
u間の距離d(t,u)を累積の評価式とし、当該評価式を最小化する対応付けt
1,t
2,・・・,t
Uを決定する問題として下記(1)式により定義される。
【数1】
・・・(1)
【0036】
ここで、骨格系列のあるフレーム間での距離d(t,u)は、以下(2)式による骨格情報に含まれる各関節間のユークリッド距離の和として定義される。
【数2】
・・・(2)
【0037】
ここでA
t、j及びB
u、jは、各骨格系列中のj番目の関節座標を表す。代表行動の選出は、上記で定義された骨格系列間の距離Fを用いて、学習データに含まれる他の同種別の行動との距離を和が最も小さくなる行動を選択することにより行なわれる。具体的には、学習データ中のある行動種別cのn番目の骨格系列をA
c、k(k∈N)とすると、代表行動の骨格列A
c′は下記(3)式により算出される。
【数3】
・・・(3)
【0038】
その後、各行動の代表行動間の距離を用いて、ある二つの行動種別c
l及びc
mの行動種別間の類似度S(c
l,c
m)を下記(4)式で定義する。当該類似度Sが、本開示の技術の動作に関する類似度の一例である。
【数4】
・・・(4)
【0039】
行動クラスタリング部114は、行動種別間の各々について算出された動作に関する類似度Sに基づいて、行動ラベルをクラスタリングし、行動ラベルの階層構造を生成し、生成した階層構造は階層構造記憶部116に格納する。本実施形態では、クラスタ数を変化させながらクラスリングを複数回行ない、各クラスタに含まれる行動ラベルを抽象ラベル及び最終行動ラベルに分類することで、階層構造を生成する。言い換えれば、クラスタの階層ごとに、行動ラベルを、抽象化された階層に対応する抽象ラベルと、最終的な階層に対応する最終行動ラベルとに分類する。クラスタリングには有意な手法を用いることができるが、例えば、階層的クラスタリング手法(完全リンク法等)を用いると、各行動種別がクラスタ数を変化させた場合のクラスタ間において階層構造を持つことが保証される。これにより上位の階層は抽象度が高く、下位の階層は抽象度が低い階層構造が生成される。抽象度が高いということは、大まかな動作の行動種別に関するクラスタということである。抽象度が低いということは、細かな動作の行動種別に関するクラスタということである。行動クラスタリング部114はこのようにして学習した階層構造を階層構造記憶部116に保存する。
【0040】
階層構造記憶部116には、階層構造が格納される。パラメータ記憶部118には、行動認識モデルのパラメータが格納される。学習前にはパラメータの初期値を設定しておけばよい。
【0041】
階層的学習部120は、各処理を行うことにより、動作データ及び階層構造における階層ごとの行動ラベルを用いて算出された損失を用いて、行動種別を推定するための行動認識モデルのパラメータを学習する。以下、行動認識部122及び損失計算部124では、階層構造を考慮した処理が行われる。
【0042】
行動認識部122は、階層構造に応じて階層ごとに識別を行う所定の手法を用いて、動作データを入力として、識別結果を損失計算部124へ出力する。識別は、各階層の特徴量を連結して用いて、中間階層(以下、中間ブロックに対応)の識別として抽象ラベルの識別、及び最終階層(以下、最終ブロックに対応)の識別として最終行動ラベルの識別を行う。
【0043】
行動認識部122で用いる所定の手法について説明する。一般なGCNによる行動認識では、畳み込み層を一定個数まとめた畳み込みブロックを、抽出される特徴量の次元を増加させながら複数ブロック連ね、最終ブロックから抽出された特徴量に基づき識別を行なう。なお、畳み込みブロックとは、出力される特徴量の次元の数が同一の畳み込み層を複数層まとめたブロックであり、階層構造に対応している。行動認識部122では、最終ブロックだけでなく、中間ブロックにおいても識別を行なう。GCNの各畳み込みブロックが、階層構造の各階層に対応する。浅いブロックでは抽象度の高い抽象ラベルを、深いブロックでは抽象度の低い抽象ラベルを識別することで、階層的に行動種別の分類粒度を細かくしていき、最終ブロックでは、識別に必要な全行動種別の識別を行なう。
【0044】
図5は、各層における抽象ラベルの識別、及び最終的な最終行動ラベルの識別についての一例を示す図である。例えば、ST-GCN(非特許文献1参照)に本機構を加える場合、中間ブロックの出力に対し、global average pooling(GAP)を施し特徴抽出し、その後、最終ブロックにより識別を行なう。なお、
図5に示す「畳み込み」が畳み込みブロックに相当し、GAPの出力が抽出される特徴量である。この処理を複数の中間ブロックに加えることで、階層的に行動認識を行なう。更に、中間ブロックで抽出された特徴はそれ以降の中間ブロックにおける推定に有用な特徴であると考えられるため、ある層についてそれ以前の中間ブロックの特徴量と連結(concatenation:
図5中の+記号は連結を示す)した後に当該層による識別を行なってもよい。特徴量の抽出は映像又は骨格系列の何れかから行えばよい。
図5に示した例では、2階層目の識別において、1階層目の識別でGAPによる抽出した特徴量を次の2階層目の特徴量と連結させて識別を行なっている。そして最終ブロックでは、1階層目の特徴量及び2階層目の特徴量を最終ブロックの特徴量と連結させて識別を行うことにより、最終行動ラベルを分類している。以上の行動認識部122の処理により、階層ごとの抽象ラベル、及び最終的な最終行動ラベルについての識別結果が得られる。
【0045】
損失計算部124は、行動認識部122の識別結果を用いて、以下に説明する、第1値と第2値とによる誤差を求めることにより損失を計算する。損失計算部124では、識別された各抽象ラベル、及び最終行動ラベルとその真値(教師データ)とを比較することで、損失を計算する。例えば、ST―GCN(非特許文献1参照)に倣いクロスエントロピー誤差を用いる場合、下記(5)式により損失Lを算出する。
【数5】
・・・(5)
【0046】
ここで、sは階層、ksはある階層における抽象ラベル、qs(・)はある階層における抽象ラベルの教師、ps(・)はある階層における推定結果(各抽象ラベルに対する尤度)を表す。また、q(k)は教師ラベル、p(k)は最終ブロックの推定結果を表す。本開示の技術における対応については、階層sが「階層構造の階層の各々」、抽象ラベルksが「階層における抽象ラベル」、ある階層における推定結果ps(・)が「階層の抽象ラベルに対する尤度」に対応し、上記(5)式の第1項が第1値に対応する。また、教師ラベルq(k)が「動作の各々に対する教師ラベル」、及び最終ブロックのp(k)が「最終ブロックの最終行動ラベルの推定結果p(k)」に対応し、第2項が第2値に対応する。
【0047】
パラメータ最適化部126は、損失計算部124で階層構造を用いて算出された損失Lに基づいて、行動認識モデルのパラメータを最適化し、結果をパラメータ記憶部118に格納する。このとき、パラメータ最適化のアルゴリズムには、参考文献3に記載されている方法等、有為なアルゴリズムを用いることができる。
[参考文献3] D. Kingma, J. Ba, “Adam: A Method for Stochastic Optimization,” in Int. Conf. on Learning Representations, 2018.
【0048】
次に、行動認識装置150の各機能構成について説明する。行動認識装置150は、行動認識学習装置100で学習された行動認識モデルのパラメータを用いて行動種別の推定を行う。
図6は、第1実施形態の行動認識装置150の構成を示すブロック図である。各機能構成は、CPU21がROM22又はストレージ24に記憶された行動認識プログラムを読み出し、RAM23に展開して実行することにより実現される。
【0049】
図6に示すように、行動認識装置150は、階層構造記憶部116と、パラメータ記憶部118と、行動推定部152とを含んで構成されている。行動認識学習装置100の学習結果を格納した各記憶部については同一の符号を付して説明を省略する。
【0050】
行動推定部152は、推定対象の動作データ(映像又は骨格系列)を行動認識モデルへの入力として、階層構造、及び行動認識モデルのパラメータを用いて、動作データに含まれる動作の行動種別を推定する。行動認識モデルの処理は、上記行動認識学習装置100の行動認識部122と同様とすればよく、階層構造記憶部116に格納されている階層構造、及びパラメータ記憶部118に格納されている行動認識モデルのパラメータを用いて、行動種別を推定すればよい。また、行動推定部152では、推定の過程において、行動認識モデルの中間層の出力として抽象ラベルの識別結果が出力されるため、各中間層の抽象ラベルの各々と、最終的な最終行動ラベルとを出力するようにしてもよい。このように段階的に動作の分類を行うことにより、動作の捉え方の違いに着目した識別を行うことができる。
【0051】
図7A及び
図7Bは、段階的に抽象ラベル及び最終行動ラベルの分類を行う場合の一例を示す図である。
図7A及び
図7Bでは、第1段階では抽象ラベルで分類し、最終段階では最終行動ラベルで分類する2段階の場合を示している。
図7Aについて、第1段階の上の2つの動作では、どちらの動作も、抽象ラベルの「hand sign」で分類されていることを示している。最終段階の上の2つの動作では、左の動作は最終行動ラベルの「make victory sign」、右の動作は最終行動ラベルの「make OK sign」で分類されていることを示している。
図7Bについて、第1段階の下の2つの動作では、どちらの動作も抽象ラベルの「bag operation」で分類されていることを示している。最終段階の下の2つの動作では、左の動作は最終行動ラベルの「put object into bag」、右の動作は最終行動ラベルの「take object out of bag」で分類されていることを示している。
【0052】
(第1実施形態の作用)
次に、行動認識学習装置100の作用について説明する。
【0053】
図8は、第1実施形態の行動認識学習装置100による行動認識学習処理の流れを示すフローチャートである。CPU11がROM12又はストレージ14から行動認識学習プログラムを読み出して、RAM13に展開して実行することにより、行動認識学習処理が行なわれる。行動認識学習装置100は、入力として、学習データ(動作データ、及び行動ラベル)を受け付けて以下の処理を行う。
【0054】
ステップS100において、CPU11は、動作類似度算出部112として、動作データの動作の各々の組合せについて、上記(1)~(4)式に従って、動作に関する類似度を算出する。
【0055】
ステップS102において、CPU11は、行動クラスタリング部114として、行動種別間の各々について算出された動作に関する類似度Sに基づいて、行動ラベルをクラスタリングし、行動ラベル(抽象ラベル及び最終行動ラベル)の階層構造を生成し、階層構造記憶部116に格納する。
【0056】
ステップS104において、CPU11は、行動認識部122として、階層構造に応じて階層ごとに識別を行う所定の手法を用いて、動作データを入力として、識別結果を損失計算部124へ出力する。識別は、各階層の特徴量を連結して用いて、中間ブロックの識別として抽象ラベルの識別、及び最終ブロックの識別として最終行動ラベルの識別を行う。
【0057】
ステップS106において、CPU11は、損失計算部124として、行動認識部122の識別結果を用いて、(5)式に従って、第1値と第2値とによる誤差を求めることにより損失Lを計算する。
【0058】
ステップS108において、CPU11は、パラメータ最適化部126として、損失計算部124で階層構造を用いて算出された損失Lに基づいて、行動認識モデルのパラメータを最適化し、結果をパラメータ記憶部118に格納して処理を終了する。
【0059】
以上説明した第1実施形態の行動認識学習装置100によれば、動作対象物の行動種別を精度よく推定することを可能とするための行動認識モデルを学習することができる。
【0060】
図9は、第1実施形態の行動認識装置150による行動分類処理の流れを示すフローチャートである。CPU21がROM22又はストレージ24から行動分類プログラムを読み出して、RAM23に展開して実行することにより、行動分類処理が行なわれる。
【0061】
ステップS150において、CPU21は、行動推定部152として、推定対象の動作データを受け付ける。
【0062】
ステップS152において、CPU21は、行動推定部152として、階層構造記憶部116に格納されている階層構造、及びパラメータ記憶部118に格納されている行動分類モデルパラメータを取得する。
【0063】
ステップS154において、CPU21は、行動推定部152として、推定対象の動作データ(映像又は骨格系列)を行動認識モデルへの入力として、階層構造、及び行動認識モデルのパラメータを用いて、動作データに含まれる動作の行動種別を推定する。
【0064】
ステップS156において、CPU21は、行動推定部152として、行動種別の推定結果を出力し、処理を終了する。
【0065】
以上説明したように本実施形態の行動認識装置150によれば、動作対象物の行動種別を精度よく推定することができる。
【0066】
[第2実施形態]
次に、第2実施形態について説明する。
図10は、第2実施形態の行動認識学習装置200の構成を示すブロック図である。
図10に示すように、行動認識学習装置200は、階層構造生成部210と、階層構造記憶部116と、パラメータ記憶部118と、階層的学習部120とを含んで構成されている。階層構造生成部210は、言語類似度算出部212と、行動クラスタリング部114とを含む。階層的学習部120は、行動認識部122と、損失計算部124と、パラメータ最適化部126とを含む。第1実施形態と同様の箇所については同一の符号を付して説明を省略する。
【0067】
第2実施形態では、階層構造の生成において言語類似度算出部212を用いて言語に関する類似度を算出する点が第1実施形態と異なっている。一般に、行動認識の学習データの行動ラベルには、行動名(“jump”,“pick up”)等が付与されている。本実施形態では、これら行動名の意味的近さを行動の類似度として階層構造を生成する。
【0068】
第2実施形態の態様について説明する。行動認識学習装置200は、動作対象物の動作の各々を含む動作データと、前記動作の各々の行動種別に対応する行動ラベルとを学習データとして受け付ける。
【0069】
言語類似度算出部212は、動作データの動作の各々の組合せについて、行動ラベルから言語特徴を抽出する関数を用いて言語に関する類似度(言語類似度)を算出する。言語類似度算出部212では、行動ラベルから言語特徴を算出し、特徴空間上での距離を言語類似度とする。具体的には、ある行動ラベルから言語特徴を抽出する関数をW(・)とすると、本実施形態におけるS(c
l,c
m)は以下(6)式のように定義される。
【数6】
・・・(6)
【0070】
このとき、行動ラベルからの言語特徴抽出方法には、有意な方法を用いることができる。例えば、膨大な文章から学習された特徴抽出器を備えるGloVe(参考文献4参照)、又はBART(参考文献5参照)を用いることができる。ここで、GloVeは単語から特徴抽出を行なう手法であるため、“pick up”等の複数単語から成るラベルの場合は、各単語から抽出された特徴量の平均をそのラベルの特徴量として用いる。
[参考文献4] J. Pennington, R. Socher, C.D. Manning, “Glove: Global vectors for word representation,” in proc. of the 2014 conference on empirical methods in natural language processing, 2014.
[参考文献5] M. Lewis, Y. Liu, N. Goyal, M. Ghazvininejad, A. Mohamed, O. Levy, V. Stoyanov, L. Zettlemoyer, “BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension,” in Proc of the 58th Annual Meeting of the Association for Computational Linguistics, 2020.
【0071】
行動クラスタリング部214は、言語に関する類似度に基づいて、行動ラベルをクラスタリングし、行動ラベルの階層構造を生成する。階層的学習部120は、第1実施形態同様に、動作データ及び階層構造を用いて算出された損失に基づいて、行動種別を推定するための行動認識モデルのパラメータを学習する。学習に用いる階層構造が第1実施形態と異なっている。
【0072】
なお、第2実施形態の行動認識学習装置200のハードウェア構成については第1実施形態と同様の構成とすればよい。
【0073】
図11は、第2実施形態の行動認識学習装置200による行動認識学習処理の流れを示すフローチャートである。
図11に示すように、ステップS200において、CPU11は、言語類似度算出部212として、動作データの動作の各々の組合せについて、行動ラベルから言語特徴を抽出する関数を用いて言語に関する類似度(言語類似度)を算出する。以降の処理は第1実施形態と同様である。
【0074】
<<実験例>>
上記第2実施形態で説明した方法を用いた実験例について説明する。本実験例では、骨格系列を用いた行動認識のデータセットであるNTU RGB+D120(非特許文献1参照)を用いて行動認識精度を調査する。階層的に行動を認識する本開示の技術の有効性を調査するため、ベースライン手法をST-GCN(非特許文献3参照)とし、それに対し第2実施形態で記した方法を加えた2つの手法について、行動認識精度を比較した。本開示の手法における階層構造は2段階とし、前120クラスの行動種別を1回クラスタリングし、80クラスの抽象ラベルを作成した。
【0075】
実験の結果、表2に示す通り、平均精度(正解率)が階層構造を加えることにより約2ポイント向上することを確認できた。また、ST-GCNで認識精度が低かった下位5件の行動種別について、個別に精度を比較した表を表3に示す。表2及び表3より、階層的認識することにより、従来のベースライン手法が苦手としていた多くの行動で精度が向上することが確認できた。
【表2】
【表3】
【0076】
なお、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した行動認識学習処理又は行動分類処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、行動認識学習処理又は行動分類処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0077】
また、上記各実施形態では、行動認識学習プログラムがストレージ14に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。行動分類プログラムについても同様である。
【0078】
以上の実施形態に関し、更に以下の付記を開示する。
【0079】
(付記項1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
動作対象物の動作の各々を含む動作データと、前記動作の各々の行動種別に対応する行動ラベルとを学習データとして受け付け、
前記動作の各々の組合せについて、動作に関する類似度を算出し、
前記動作に関する類似度に基づいて、前記行動ラベルをクラスタリングし、前記行動ラベルの階層構造を生成し、
前記動作データ及び前記階層構造を用いて算出された損失に基づいて、行動種別を推定するための行動認識モデルのパラメータを学習する、
ように構成されている行動認識学習装置。
【0080】
(付記項2)
行動認識学習処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
動作対象物の動作の各々を含む動作データと、前記動作の各々の行動種別に対応する行動ラベルとを学習データとして受け付け、
前記動作の各々の組合せについて、動作に関する類似度を算出し、
前記動作に関する類似度に基づいて、前記行動ラベルをクラスタリングし、前記行動ラベルの階層構造を生成し、
前記動作データ及び前記階層構造を用いて算出された損失に基づいて、行動種別を推定するための行動認識モデルのパラメータを学習する、
非一時的記憶媒体。
【符号の説明】
【0081】
100、200 行動認識学習装置
110、210 階層構造生成部
112 動作類似度算出部
114、214 行動クラスタリング部
116 階層構造記憶部
118 パラメータ記憶部
120 階層的学習部
122 行動認識部
124 損失計算部
126 パラメータ最適化部
150 行動認識装置
152 行動推定部
212 言語類似度算出部