(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024039875
(43)【公開日】2024-03-25
(54)【発明の名称】行動認識装置、行動認識方法、および行動認識プログラム
(51)【国際特許分類】
G06N 3/04 20230101AFI20240315BHJP
G06N 3/045 20230101ALI20240315BHJP
G06N 3/08 20230101ALI20240315BHJP
【FI】
G06N3/04
G06N3/04 154
G06N3/08
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022144573
(22)【出願日】2022-09-12
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】高木 基宏
(72)【発明者】
【氏名】塩田 宰
(72)【発明者】
【氏名】佐藤 洋一
(72)【発明者】
【氏名】菅野 裕介
(72)【発明者】
【氏名】古田 諒佑
(57)【要約】
【課題】行動特徴が似ているクラス同士の分類精度を高めること。
【解決手段】実施形態に係る行動認識装置であって、第1の動画像セグメントを含む入力データを取得するデータ取得部と、事前学習済み行動認識モデルおよびエンコーダを備える潜在特徴生成モデルに動画像セグメントを入力することにより潜在特徴ベクトルを生成する潜在特徴ベクトル生成部と、事前学習済み行動分類モデルに潜在特徴ベクトルを入力することにより行動ラベルを生成する行動ラベル生成部と、行動ラベルを出力する出力制御部と、を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
第1の動画像セグメントを含む入力データを取得するデータ取得部と、
事前学習済み行動認識モデルおよびエンコーダを備える潜在特徴生成モデルに前記動画像セグメントを入力することにより潜在特徴ベクトルを生成する潜在特徴ベクトル生成部と、
行動分類モデルに前記潜在特徴ベクトルを入力することにより行動ラベルを生成する行動ラベル生成部と、
前記行動ラベルを出力する出力制御部と、
を備える、行動認識装置。
【請求項2】
前記行動分類モデルの学習時、前記データ取得部は、第2の動画像セグメントと、前記第2の動画像セグメントにアノテーションされた行動ラベルおよび物体ラベルを含む学習データを取得し、
前記潜在特徴生成モデルは、デコーダおよび言語モデルをさらに備え、
前記事前学習済み行動認識モデルから得られる行動特徴ベクトルと、前記デコーダに前記潜在特徴ベクトルが入力されることにより生成される行動特徴ベクトルとの第1の損失を算出し、前記行動ラベルおよび前記物体ラベルが前記言語モデルに入力することにより生成される第1の言語特徴モデルと、前記デコーダに前記潜在特徴ベクトルが入力されることにより生成される第2の言語特徴モデルとの第2の損失を算出し、前記第1の損失および前記第2の損失を最小化するように前記エンコーダおよび前記デコーダを学習させる潜在特徴生成モデル構築部をさらに備える、
請求項1に記載の行動認識装置。
【請求項3】
前記行動分類モデルの学習時、前記データ取得部は、第2の動画像セグメントと、前記第2の動画像セグメントにアノテーションされた行動ラベルおよび物体ラベルを含む学習データを取得し、
前記行動分類モデルが使用するパラメータを記憶するモデル記憶部と、
前記動画像セグメントおよび前記学習データに基づいてエピソード集合を生成する学習データ生成部と、
前記モデル記憶部に記憶された前記パラメータを取得し、前記エピソード集合のうちの所定の条件を満たすバッチを抽出し、前記抽出されたバッチの行動ラベルを推定し、前記推定された行動ラベルと前記学習データに含まれる行動ラベルとの損失を算出し、前記算出された損失を逆伝搬することにより前記パラメータを更新する、モデル更新部と、
をさらに備える、請求項1に記載の行動認識装置。
【請求項4】
前記学習データ生成部は、前記学習データに含まれる前記第2の動画像セグメントおよび前記行動ラベルの集合からN-way K-shotのサポートデータとクエリデータのセットであるエピソードを抽出するセット抽出部と、
前記潜在特徴生成モデルに前記第2の動画像セグメントを入力することにより第2の潜在特徴ベクトルを生成する潜在特徴ベクトル生成部と、
前記第2の潜在特徴ベクトルを用いて分離度を算出する分離度算出部と、
前記分離度と前記エピソードを前記エピソード集合とするエピソード集合追加部と、
を備える、請求項3に記載の行動認識装置。
【請求項5】
前記分離度算出部は、前記第2の潜在特徴ベクトルに基づいて、前記サポートデータのクラス間分散とクラス内分散を算出し、前記クラス間分散と前記クラス内分散の比である分離度を算出する、請求項4に記載の行動認識装置。
【請求項6】
前記モデル更新部は、特定の回数のエピソードまでは分離度が閾値を超える場合、前記バッチを抽出して学習に用い、前記閾値を超えない場合、前記バッチを抽出しないで学習に用いず、前記特定の回数を超えたエピソードに対しては、前記閾値を小さくするように更新する、請求項4に記載の行動認識装置。
【請求項7】
第1の動画像セグメントを含む入力データを取得することと、
事前学習済み行動認識モデルおよびエンコーダを備える潜在特徴生成モデルに前記動画像セグメントを入力することにより潜在特徴ベクトルを生成することと、
事前学習済み行動分類モデルに前記潜在特徴ベクトルを入力することにより行動ラベルを生成することと、
前記行動ラベルを出力することと、
を備える、行動認識方法。
【請求項8】
第1の動画像セグメントを含む入力データを取得することと、
事前学習済み行動認識モデルおよびエンコーダを備える潜在特徴生成モデルに前記動画像セグメントを入力することにより潜在特徴ベクトルを生成することと、
事前学習済み行動分類モデルに前記潜在特徴ベクトルを入力することにより行動ラベルを生成することと、
前記行動ラベルを出力することと、
を行動認識装置のプロセッサによって実行させるための命令を備える行動認識プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、行動認識装置、行動認識方法、および行動認識プログラムに関する。
【背景技術】
【0002】
現在、労働力不足を背景に様々な業種で業務のデジタル化が求められている。業務のデジタル化にあたっては、デジタル化する業務がどのように行われているのかを把握する必要がある。しかしながら、業務を正確に把握することは困難である。例えば、業務を把握するために業務マニュアルが整備されていたとしても、業務マニュアルと実際の業務が乖離している等の場合があり、業務を正確に把握することが困難である。
【0003】
カメラ等を用いて人の行動を可視化する方法がある。例えば、非特許文献1では、人の行動をカメラから自動で取得するため、行動認識技術を用いて人物の実際の行動を可視化する技術が開示されている。
【0004】
また、非特許文献2では、複数の動画像からある行動のクラスを学習することが可能な技術が開示されている。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Christoph Feichtenhofer, Haoqi Fan, Jitendra Malik, Kaiming He, “SlowFast Networks for Video Recognition”, ICCV2019.
【非特許文献2】Jiahao Wang, Yunhong Wang, Sheng Liu, Annan Li, “Few-shot Fine-Grained Action Recognition via Bidirectional Attention and Contrastive Meta-Learning”, ACMMM2021.
【非特許文献3】Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding” NAACL, 2019.
【非特許文献4】石井健一郎, 上田修巧, 前田栄作, 村瀬洋, “わかりやすいパターン認識” オーム社.
【発明の概要】
【発明が解決しようとする課題】
【0006】
非特許文献1では、認識する行動の定義(行動ラベルの定義)にコストが掛かるという問題がある。
【0007】
また、非特許文献2に開示される技術では、行動特徴が似ているクラス同士の分類が困難となるという問題がある。
【0008】
この発明の課題は、上記事情に着目してなされたもので、その目的とするところは、行動特徴が似ているクラス同士を分類可能な行動特徴と言語特徴を考慮した特徴を生成し、エピソードでのサポートデータの選択方法を生成した特徴を用いた基準を適用することで、学習の安定性を向上でき、精度が向上することができる技術を提供することにある。
【課題を解決するための手段】
【0009】
実施形態に係る行動認識装置は、第1の動画像セグメントを含む入力データを取得するデータ取得部と、事前学習済み行動認識モデルおよびエンコーダを備える潜在特徴生成モデルに前記動画像セグメントを入力することにより潜在特徴ベクトルを生成する潜在特徴ベクトル生成部と、事前学習済み行動分類モデルに前記潜在特徴ベクトルを入力することにより行動ラベルを生成する行動ラベル生成部と、前記行動ラベルを出力する出力制御部と、を備えるものである。
【発明の効果】
【0010】
この発明の一態様によれば、最大遅延コストを最小化する経路を探索するという問題の最適解に近い解を求めることができる行動認識装置、行動認識方法、および行動認識プログラムを提供することができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施形態に係る行動認識装置のハードウェア構成の一例を示すブロック図である。
【
図2】
図2は、実施形態における行動認識装置のソフトウェア構成を、
図1に示したハードウェア構成に関連付けて示すブロック図である。
【
図3】
図3は、本実施形態における行動認識装置の学習手順の一例を示すフローチャートである。
【
図4】
図4は、潜在特徴生成モデル構築部のニューラルネットワークモデルの概念図の一例を示した図である。
【
図5】
図5は、ステップST103でエピソード集合を生成するための詳細な処理の一例を示すフローチャートである。
【
図6】
図6は、ステップST104で行動分類モデルを更新するための詳細な処理の一例を示すフローチャートである。
【
図7】
図7は、本実施形態における行動認識装置の行動ラベル推定手順の一例を示すフローチャートである。
【
図8】
図8は、行動分類部のニューラルネットワークモデルの概念図の一例を示した図である。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら行動認識装置、行動認識方法、および行動認識プログラムについて詳細に説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重複する説明を省略する。例えば、複数の同一または類似の要素が存在する場合に、各要素を区別せずに説明するために共通の符号を用いることがあるし、各要素を区別して説明するために当該共通の符号に加えて枝番号を用いることもある。
【0013】
[実施形態]
初めに、以下の説明において、「行動」とは、歩く、走る、持つ等の人の動作を表す動作であり、「行動ラベル」とは、歩く、走る、等の動作を表現する動詞である。
【0014】
非特許文献2では、「few-shot learning」とよばれる学習方式を用いている。Few-shot learningは、エピソードとよばれるタスクデータを大量に生成して学習データを構築する。具体的には、大量のクラスがある学習データがあったとして、そこから5クラスを抽出したとする。各クラスが3サンプルを学習データとして保持していた場合、「サポートデータ」は、5-way 3-shot(5クラス、3サンプル)の分類タスクとなる。そのとき「クエリデータ」が5クラス中の2クラスのテストデータをそれぞれ1サンプルずつ保持していた時に、サポートデータで学習して、その2クラスの各サンプルを正確に分類することがfew-shot learningのタスクである。ここで、このサポートデータとクエリデータの組み合わせを「エピソード」という。
【0015】
ただし、非特許文献2で用いられているFew-shot learningではエピソードを大量に生成して事前に大規模な学習データから学習したモデルをさらに学習させる。しかしながら、エピソードの構築方法はランダムサンプリングであり、クラスの選択方法が初期に誤った場合、ニューラルネットワークが局所解に陥り、汎化性能に影響が出て精度が低下する。特にクラス間分散とクラス内分散の比である分離度が小さいクラスが混在する場合、精度に対して影響が出るという問題がある。具体的には、非特許文献2で開示される技術では、行動特徴が似ているクラス同士の分類が困難となる。
【0016】
以下の説明においても非特許文献2と同様に、「エピソード」とは、上述したサポートデータとクエリデータの組み合わせを指す。
【0017】
さらに、以下の説明において、「動画像セグメント」とは、動画像の複数フレームが所定の数だけまとまった単位である。例えば、30フレームをひとまとまりとして1セグメントとしてよい。例えば、数百、数千フレームの長期の動画像フレームを考慮する場合、一定間隔でサンプリングしたフレームの集合を動画像セグメントとしてもよい。
【0018】
(構成)
図1は、実施形態に係る行動認識装置1のハードウェア構成の一例を示すブロック図である。
行動認識装置1は、入力されたデータを解析して、出力データを生成し出力する、コンピュータである。行動認識装置1は、任意の場所に設置されて良い。
【0019】
図1に示すように、行動認識装置1は、制御部10、プログラム記憶部20、データ記憶部30、通信インタフェース40、および入出力インタフェース50を備える。制御部10、プログラム記憶部20、データ記憶部30、通信インタフェース40、および入出力インタフェース50は、バスを介して互いに通信可能に接続されている。さらに通信インタフェース40は、ネットワークを介して外部装置と通信可能に接続されてよい。また、入出力インタフェース50は、入力装置51および出力装置52と通信可能に接続される。
【0020】
制御部10は、行動認識装置1を制御する。制御部10は、中央処理ユニット(CPU:Central Processing Unit)等のハードウェアプロセッサを備える。例えば、制御部10は、様々なプログラムを実行することが可能な集積回路であっても良い。
【0021】
プログラム記憶部20は、記憶媒体として、例えば、EPROM(Erasable Programmable Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の随時書込みおよび読出しが可能な不揮発性メモリと、ROM(Read Only Memory)等の不揮発性メモリとを組み合わせて使用することができる。プログラム記憶部20は、各種処理を実行するために必要なプログラムを格納している。すなわち、制御部10は、プログラム記憶部20に格納されたプログラムを読み出して実行することにより各種制御および動作を実現し得る。
【0022】
データ記憶部30は、記憶媒体として、例えば、HDD、メモリカード等の随時書込みおよび読出しが可能な不揮発性メモリと、RAM(Random Access Memory)等の揮発性メモリとを組み合わせて使用したストレージである。データ記憶部30は、制御部10がプログラムを実行して各種処理を行う過程で取得および生成されたデータを記憶するために用いられる。
【0023】
通信インタフェース40は、1つ以上の有線または無線の通信モジュールを含む。例えば、通信インタフェース40は、ネットワークを介して外部装置と有線または無線接続する通信モジュールを含む。通信インタフェース40は、Wi-Fiアクセスポイントおよび基地局等の外部装置と無線接続する無線通信モジュールを含んでも良い。さらに、通信インタフェース40は、近距離無線技術を利用して外部装置と無線接続するための無線通信モジュールを含んでも良い。すなわち、通信インタフェース40は、制御部10の制御の下、外部装置との間で通信を行い、過去の実績データを含む各種情報を送受信することができるものであれば一般的な通信インタフェースで良い。
【0024】
入出力インタフェース50は、入力装置51および出力装置52等と接続される。入出力インタフェース50は、入力装置51および出力装置52との間で情報の送受信を可能にするインタフェースである。入出力インタフェース50は、通信インタフェース40と一体であってもよい。例えば、行動認識装置1と、入力装置51、または出力装置52の少なくとも1つとは、近距離無線技術等を使用して無線接続されており、当該近距離無線技術を用いて情報の送受信を行ってもよい。
【0025】
入力装置51は、例えば、ユーザが行動認識装置1に対して各種データを入力するためのキーボードやポインティングデバイス等を含む。また、入力装置51は、プログラム記憶部20またはデータ記憶部30に格納するべきデータを、USBメモリ等のメモリ媒体から読み出すためのリーダや、そのようなデータをディスク媒体から読み出すためのディスク装置を含んでも良い。
【0026】
出力装置52は、行動認識装置1から行動認識装置1の管理者に表示すべき映像を表示するディスプレイ等を含む。
【0027】
図2は、実施形態における行動認識装置1のソフトウェア構成を、
図1に示したハードウェア構成に関連付けて示すブロック図である。
制御部10は、データ取得部101と、潜在特徴生成モデル構築部102と、学習データ生成部103と、モデル更新部104と、行動分類部105と、出力制御部106と、を備える。
【0028】
データ取得部101は、学習時、学習データを取得する。例えば、学習データは、動画像セグメント、行動ラベル、および物体ラベルの集合であって良い。ここで、行動ラベルは、上述したように、歩く、走る等の動作を表現する動詞である。物体ラベルは、物体検出などで用いられる一般的なラベルであって良い。また、データ取得部101は、行動推論時、入力データを取得する。入力データは、動画像セグメントを含んで良い。
【0029】
潜在特徴生成モデル構築部102は、潜在特徴生成モデルを構築する。潜在特徴生成モデル構築部102は、受信した学習データに含まれる動画像セグメントを入力とし、潜在特徴ベクトルを出力する潜在特徴生成モデルを構築する。潜在特徴生成モデル構築部102は、構築した潜在モデルのパラメータを学習データ生成部103に出力して良い。或いは、潜在特徴生成モデル構築部102は、潜在特徴生成モデルを学習データ生成部103で使用するための情報を学習データ生成部103に出力して良い。
【0030】
学習データ生成部103は、セット抽出部1031と、潜在特徴ベクトル生成部1032と、分離度算出部1033と、エピソード集合追加部1034と、判定部1035と、記憶制御部1036と、を備える。
【0031】
学習データ生成部103は、エピソード集合を生成する。学習データ生成部103は、動画像セグメント、潜在特徴生成モデルのパラメータ、行動ラベルの集合を入力として、学習に用いるためのエピソード集合を出力する。
【0032】
セット抽出部1031は、動画像セグメントと行動ラベルの集合からランダムにN-way K-shotのサポートデータとクエリデータのセットを抽出する。
【0033】
潜在特徴ベクトル生成部1032は、潜在特徴ベクトルを生成する。潜在特徴ベクトル生成部1032は、潜在特徴生成モデル構築部102から受信したパラメータから潜在特徴生成モデルを構築し、構築した潜在特徴生成モデルを用いてサポートデータの各動画像セグメントの潜在特徴ベクトルを生成する。
【0034】
分離度算出部1033は、潜在特徴ベクトルを用いて、分離度を算出する。なお、分離度の具体的な方法は後述する。
【0035】
エピソード集合追加部1034は、分離度と、エピソード(サポートデータおよびクエリデータの組み合わせ)と、をエピソード集合として追加する。
【0036】
判定部1035は、エピソード集合の数が所定の数より多いかどうかを判定する。
【0037】
記憶制御部1036は、エピソード集合を学習データ記憶部301に記憶させる。記憶制御部1036は、所定の数よりも多くなったエピソード集合を学習データ記憶部301に記憶させる。
【0038】
モデル更新部104は、バッチ抽出部1041と、損失算出部1042と、モデルパラメータ更新部1043と、分離度閾値更新部1044と、収束判定部1045と、記憶制御部1046と、を備える。
【0039】
モデル更新部104は、行動分類モデルを更新する。モデル更新部104は、学習時、行動分類部105が使用する行動分類モデルのパラメータを取得し、行動分類モデルの学習に必要なデータを取得する。ここで、行動分類モデルは、行動ラベルが分類可能であれ一般的なモデルであって良い。そして、モデル更新部104は、取得したデータから計算した損失に基づいてモデルパラメータを更新し、更新したパラメータをモデル記憶部302に記憶する。
【0040】
バッチ抽出部1041は、エピソード集合を学習データ記憶部301から取得する。バッチ抽出部1041は、取得したエピソード集合のうち、分離度が閾値以上のエピソードのバッチを抽出する。ここで、バッチは、ニューラルネットワークの学習単位であり、複数のエピソードである。
【0041】
損失算出部1042は、バッチの行動ラベルを推定し、損失を算出する。ここで、バッチの行動ラベルの推定方法および損失の算出方法の詳細は後述する。
【0042】
モデルパラメータ更新部1043は、損失を逆伝搬することにより、モデルパラメータを更新する。
【0043】
分離度閾値更新部1044は、分離度の閾値を更新する。ここで、分離度の閾値の更新方法の詳細は、後述する。
【0044】
収束判定部1045は、損失の値が閾値未満であるかどうか判定する。
【0045】
記憶制御部1046は、更新されたパラメータをモデル記憶部302に記憶させる。記憶制御部1046は、損失の値が閾値未満になった場合に、更新されたパラメータをモデル記憶部302に記憶させて良い。
【0046】
行動分類部105は、潜在特徴ベクトル生成部1051と、行動ラベル生成部1052と、を備える。
【0047】
潜在特徴ベクトル生成部1051は、潜在特徴生成モデルを用いて潜在特徴ベクトルを生成する。潜在特徴生成モデルは、潜在特徴生成モデル構築部102によって構築されたモデルであって良い。
【0048】
行動ラベル生成部1052は、行動ラベルを生成する。行動ラベル生成部1052は、モデル記憶部302に記憶された行動分類モデルのパラメータを取得し、行動分類モデルに潜在特徴ベクトルを入力することにより、行動ラベルを生成する。行動ラベル生成部1052は、生成した行動ラベルを出力制御部106に出力する。
【0049】
出力制御部106は、行動ラベルを出力する。出力制御部106は、入出力インタフェース50を通じて、出力装置52に行動ラベルを出力する。そして、出力制御部106は、出力装置52のディスプレイに行動ラベルを表示するように制御して良い。
【0050】
(学習動作)
最初に、学習動作について説明する。この学習動作において、行動分類部105で用いる行動分類モデルのパラメータは、モデル記憶部302に記憶されているものとする。
【0051】
図3は、本実施形態における行動認識装置1の学習手順の一例を示すフローチャートである。
行動認識装置1の制御部10がプログラム記憶部20に格納されたプログラムを読み出して実行することにより、このフローチャートの動作が実現される。この動作は、行動認識装置1のユーザが入力装置51に学習データを入力することにより開始する。ここで、学習データは、動画像セグメント、行動ラベル、および物体ラベルの集合であって良い。
【0052】
ステップST101で、データ取得部101は、学習データを取得する。学習データを受信した入力装置51は、データ取得部101に学習データを出力する。学習データを受信したデータ取得部101は、潜在特徴生成モデル構築部102に学習データを出力する。
【0053】
ステップST102で、潜在特徴生成モデル構築部102は、潜在特徴生成モデルを構築する。潜在特徴生成モデル構築部102は、受信した学習データに含まれる動画像セグメントを入力とし、潜在特徴ベクトルを出力する潜在特徴生成モデルを構築する。潜在特徴生成モデル構築部102は、構築した潜在モデルのパラメータを学習データ生成部103に出力して良い。或いは、潜在特徴生成モデル構築部102は、潜在特徴生成モデルを学習データ生成部103で使用するための情報を学習データ生成部103に出力して良い。
【0054】
図4は、潜在特徴生成モデル構築部102のニューラルネットワークモデルの概念図の一例を示した図である。
ニューラルネットワークモデルは、畳み込みニューラルネットワークやTransformerを用いたニューラルネットワークモデル等、入力と出力が定義できて、出力対象に対して有効なモデルであれば任意のニューラルネットワークモデルであってよい。例えば、
図2の例では、潜在特徴生成モデルは、事前学習済み行動認識モデル1021と、エンコーダ1022と、デコーダ1023と、言語モデル1024と、を備える。
【0055】
事前学習済み行動認識モデル1021は、非特許文献1に開示されるようなSlowFastモデル等の任意の行動認識モデルであって良い。
【0056】
エンコーダ1022およびデコーダ1023は、一般的なエンコーダ1022およびデコーダ1023であれば良く、ここでの詳細な説明は省略する。
【0057】
言語モデル1024は、非特許文献3に開示されるようなBERT等の事前学習済み言語モデル1024で良い。
【0058】
また、
図4に示される行動ラベルおよび物体ラベルは、学習データに含まれていて良く、事前に動画像セグメントにアノテーションされているとする。物体ラベルのアノテーションがない場合、潜在特徴生成モデル構築部102は、物体検出などの技術を用いて物体ラベルを抽出しても良い。
【0059】
図4を参照して、事前学習済み行動認識モデル1021は、動画像セグメントが入力されると、モデルの全結合層から行動特徴ベクトルを出力する。出力された行動特徴ベクトルは、エンコーダ1022に出力される。
【0060】
エンコーダ1022は、行動特徴ベクトルをエンコードすることにより、潜在特徴ベクトルを生成する。生成された潜在特徴ベクトルは、例えば、256次元のベクトル等であって良い。また、生成された潜在特徴ベクトルは、デコーダ1023に出力される。
【0061】
デコーダ1023は、潜在特徴ベクトルをデコードすることにより、行動特徴ベクトルを再構成するとともに、言語モデル1024から得られた言語特徴ベクトルを再構成する。ここで、言語特徴ベクトルは、行動ラベルとインタラクションしている物体ラベルの組み合わせ等から得られる言語特徴ベクトルである。
【0062】
行動特徴ベクトル、および言語特徴ベクトルを潜在特徴ベクトルから再構成するためにエンコーダ1022、デコーダ1023を学習する際、潜在特徴生成モデル構築部102は、事前学習済み行動認識モデル1021から得られる行動特徴ベクトルとデコーダ1023が潜在特徴ベクトルから生成する行動特徴ベクトルとの平均二乗誤差である、L2損失(第1の損失)を算出し、行動ラベルおよび物体ラベルの入力により言語モデル1024が出力した言語特徴ベクトルと、デコーダ1023が潜在特徴ベクトルから生成する言語特徴ベクトルとのL2損失(第2の損失)を算出する。そして、潜在特徴生成モデル構築部102は、これらL2損失を最小化するようにエンコーダ1022、デコーダ1023を学習することで所望の潜在特徴ベクトルをエンコード可能とする。損失は、平均絶対誤差である、L1損失等でもよい。
【0063】
このように行動特徴ベクトルを再構成すると同時に言語特徴ベクトルを生成することで、言語特徴ベクトルの違いを考慮した潜在特徴ベクトルが得られる。そのため、動作は似ているが意味は異なるような行動に対して識別能力の高い潜在特徴ベクトルを得ることができる。例えば、一般的な行動認識モデルは、「push」と「pull」の動作の区別が不得手である。しかしながら、「push」と「pull」のそれぞれの言語特徴ベクトルは異なる。そのため、行動特徴ベクトルが似通っていても言語特徴ベクトルが異なっているため、「push」と「pull」で異なる潜在特徴ベクトルを得ることができる。
【0064】
ここで、潜在特徴ベクトルの取得は、学習済みの潜在特徴生成モデルがあればよい。そのため、潜在特徴ベクトルを得るためにエンコーダ1022に対して一度学習させたら、新たな学習をしない限り、潜在特徴ベクトルの生成に対してデコーダ1023を用いない。すなわち、
図2の例であれば、潜在特徴生成モデルは、事前学習済み行動認識モデル1021およびエンコーダ1022を指す。
【0065】
すなわち、潜在特徴ベクトルは、事前学習済み行動認識モデル1021を用いて動画像セグメントから抽出できる行動特徴ベクトルを入力として、抽出した行動特徴ベクトルと動画像セグメントに対応する行動ラベル、インタラクションしている物体ラベルから抽出した言語特徴ベクトルを再構成するように潜在特徴生成モデル(エンコーダ1022)の学習を行うことにより得られるベクトルである。
【0066】
また、行動特徴ベクトルおよび言語特徴ベクトルを再構成する際に、再構成の損失として、元の行動特徴ベクトルと再構成した行動特徴ベクトルのL1ノルム、L2ノルムおよび元の言語特徴ベクトルと再構成した言語特徴ベクトルのL1ノルム、L2ノルム等の一般的に用いられる損失を用いることで、行動特徴ベクトルおよび言語特徴ベクトルの再構成が可能となる。実際の再構成を実行する際には、行動特徴ベクトルの再構成損失と言語特徴ベクトルの再構成損失の和を全体の損失として再構成を行って良い。例えば、行動特徴ベクトルの再構成損失と言語特徴ベクトルの再構成損失の重みづけ和を用いて、再構成を行っても良い。
【0067】
図3に戻り、ステップST103で、学習データ生成部103は、エピソード集合を生成する。学習データ生成部103は、動画像セグメント、潜在特徴生成モデルのパラメータ、行動ラベルの集合を入力として、学習に用いるためのエピソード集合を出力する。
【0068】
図5は、ステップST103でエピソード集合を生成するための詳細な処理の一例を示すフローチャートである。
ステップST201で、セット抽出部1031は、動画像セグメントと行動ラベルの集合からランダムにN-way K-shotのサポートデータとクエリデータのセットを抽出する。学習データ生成部103のセット抽出部1031は、入力されたデータのうち、動画像セグメントおよび行動ラベルの集合からN-way K-shotのサポートデータとクエリデータのセットを抽出する。すなわち、セット抽出部1031は、Nクラス、Kサンプルのサポートデータと抽出したNクラスと同じクラスの評価用のクエリデータのセットを抽出する。サポートデータ、クエリデータの組み合わせをいくつにするか、クエリデータをNクラスの各クラスに何サンプル用意するかは実験的に決定してよい。
【0069】
ステップST202で、潜在特徴ベクトル生成部1032は、潜在特徴ベクトルを生成する。潜在特徴ベクトル生成部1032は、潜在特徴生成モデル構築部102から受信したパラメータから潜在特徴生成モデルを構築し、構築した潜在特徴生成モデルを用いてサポートデータの各動画像セグメントの潜在特徴ベクトルを生成する。或いは、潜在特徴ベクトル生成部1032は、潜在特徴生成モデル構築部102の潜在特徴生成モデルを用いてサポートデータの各動画像セグメントの潜在特徴ベクトルを生成する。
【0070】
ステップST203で、分離度算出部1033は、潜在特徴ベクトルを用いて、分離度を算出する。分離度算出部1033は、潜在特徴ベクトルに基づいてサポートデータのクラス内分散およびクラス間分散を算出する。そして、分離度算出部1033は、クラス間分散とクラス内分散の比である分離度を算出する。
【0071】
ここで、クラス内分散をσw
2、クラス間分散をσb
2とし、クラスciに属するサンプル集合をXiとする。ここで、iは、1以上の正の整数である。また、クラスciに属するサンプル数をniとし、サンプルの平均ベクトルをmiとする。全サンプル数をNi、全サンプルの平均ベクトルをmとした場合、クラス内分散およびクラス間分散は、以下のように表される。
【0072】
【0073】
上記の式より、分離度は、σb
2/σw
2で表される。
【0074】
ステップST204で、エピソード集合追加部1034は、分離度と、エピソード(サポートデータおよびクエリデータの組み合わせ)と、をエピソード集合として追加する。
【0075】
ステップST205で、判定部1035は、エピソード集合の数が所定の数より多いかどうかを判定する。エピソード集合が所定の数以下である場合、処理は、ステップST201に戻る。一方、エピソード集合が所定の数より多い場合、処理は、ステップST206に進む。
【0076】
ステップST206で、記憶制御部1036は、エピソード集合を学習データ記憶部301に記憶させる。
【0077】
図3に戻り、ステップST104で、モデル更新部104は、行動分類モデルを更新する。モデル更新部104は、学習時、行動分類部105が使用する行動分類モデルのパラメータを取得し、行動分類モデルの学習に必要なデータを取得する。そして、モデル更新部104は、取得したデータから計算した損失に基づいてモデルパラメータを更新し、更新したパラメータをモデル記憶部302に記憶する。
【0078】
図6は、ステップST104で行動分類モデルを更新するための詳細な処理の一例を示すフローチャートである。
ステップST301で、バッチ抽出部1041は、エピソード集合を学習データ記憶部301から取得する。
【0079】
ステップST302で、バッチ抽出部1041は、取得したエピソード集合のうち、分離度が閾値以上のエピソードのバッチを抽出する。ここで、バッチは、ニューラルネットワークの学習単位であり、複数のエピソードである。
【0080】
ステップST303で、損失算出部1042は、バッチの行動ラベルを推定し、損失を算出する。損失算出部1042は、バッチの行動ラベルを推定する具体的には、損失算出部1042は、バッチとなっている複数のエピソード内のサポートデータを行動分類モデルに入力し、行動分類モデルが推定した結果より行動ラベルを得る。そして、損失算出部1042は、推定された行動ラベルと学習データに含まれる予め定義された行動ラベルに基づいて、損失を算出する。ここで、損失は、例えば、推定された行動ラベルと予め定義された行動ラベルに対する分類損失を計算するクロスエントロピー損失等であって良い。
【0081】
ステップST304で、モデルパラメータ更新部1043は、損失を逆伝搬することにより、モデルパラメータを更新する。モデルパラメータ更新部1043は、モデル記憶部302に記憶された行動分類モデルで使用するパラメータを取得する。そして、モデルパラメータ更新部1043は、勾配降下法等の一般的な方法を用いて、損失を逆伝搬することにより、パラメータを更新する。
【0082】
ステップST305で、分離度閾値更新部1044は、分離度の閾値を更新する。例えば、モデル更新部104は、分離度閾値更新部1044は、特定の回数のエピソードまでは、分離度(クラス間分散とクラス内分散の比)が閾値を越える場合、バッチを抽出して学習に用いる。一方、分離度が閾値を超えない場合、バッチを抽出しないので、学習に用いない。このようにすることにより、初期に学習したデータの忘却を防止する。ここで初期の学習したデータの忘却とは、学習の初期に学習したデータが異なるデータを学習するうちにモデルのパラメータが更新され、異なるデータに対してモデルが適合していくため、初期に学習したデータに対する分離性能を失うことを意味する。また、分離度閾値更新部1044は、特定の回数を超えたエピソードに対して、閾値を小さくするように分離度の閾値を更新する。このように、分離度の小さいエピソードもランダムサンプリングの対象として学習に用いることで、初期の忘却を防ぎつつ、サンプリングパターンが減少することを防ぐことができる。
【0083】
ステップST306で、収束判定部1045は、損失の値が閾値未満であるかどうか判定する。損失の値が閾値未満、すなわち、十分に学習できたと判定した場合、収束判定部1045は、損失の値が収束したとみなす。そして、処理は、ステップST307に進む。一方、損失の値が閾値以上である場合、収束判定部1045は、損失の値が収束していないと判定する。そして、処理は、ステップST302に戻る。
【0084】
ステップST307で、記憶制御部1046は、更新されたパラメータをモデル記憶部302に記憶させる。
【0085】
以上のようにして、行動認識装置1は学習により、行動分類モデルのパラメータを更新することができる。
【0086】
(推論動作)
次に制御部10における行動推論時の処理について説明する。
図7は、本実施形態における行動認識装置1の行動ラベル推定手順の一例を示すフローチャートである。
【0087】
行動認識装置1の制御部10がプログラム記憶部20に格納されたプログラムを読み出して実行することにより、このフローチャートの動作が実現される。この動作は、行動認識装置1のユーザが入力装置51に入力データを入力することにより開始する。ここで、入力データは、動画像セグメントを含んで良い。
【0088】
ステップST401で、データ取得部101は、入力データを取得する。入力データを受信した入力装置51は、データ取得部101に入力データを出力する。入力データを受信したデータ取得部101は、潜在特徴生成モデル構築部102に行動認識部に入力データを出力する。また、データ取得部101は、潜在特徴生成モデル構築部102に入力データを受信したことを示す信号を出力して良い。潜在特徴生成モデル構築部102は、当該信号の受信に応じて潜在特徴生成モデルで使用するパラメータまたは潜在特徴生成モデルを使用するための情報を行動分類部105に出力する。
【0089】
ステップST402で、潜在特徴ベクトル生成部1051は、潜在特徴生成モデルを用いて潜在特徴ベクトルを生成する。データ取得部101から入力データ、そして潜在特徴生成モデル構築部102から潜在特徴生成モデルで使用するパラメータを受信すると、潜在特徴ベクトル生成部1051は、潜在特徴生成モデルを構築し、入力データに含まれる動画像セグメントを潜在特徴生成モデルに入力して潜在特徴ベクトルを生成する。或いは、潜在特徴ベクトル生成部1051は、潜在特徴生成モデル構築部102の潜在特徴生成モデルを用いて潜在特徴ベクトルを生成する。
【0090】
ステップST403で、行動ラベル生成部1052は、行動ラベルを生成する。行動ラベル生成部1052は、モデル記憶部302に記憶された行動分類モデルのパラメータを取得し、行動分類モデルに潜在特徴ベクトルを入力することにより、行動ラベルを生成する。行動ラベル生成部1052は、生成した行動ラベルを出力制御部106に出力する。
【0091】
図8は、行動分類部105のニューラルネットワークモデルの概念図の一例を示した図である。
図8のニューラルネットワークモデルは、事前学習済み行動認識モデル1021と、エンコーダ1022と、行動分類モデル1053と、を備える。事前学習済み行動認識モデル1021およびエンコーダ1022は、潜在特徴生成モデルを構成する。すなわち、事前学習済み行動認識モデル1021およびエンコーダ1022を用いることで、ステップST401で説明した潜在特徴ベクトルが生成される。そして、行動分類モデル1053を用いることで、ステップST402で説明した行動ラベルが生成される。
【0092】
ステップST404で、出力制御部106は、行動ラベルを出力する。出力制御部106は、入出力インタフェース50を通じて、出力装置52に行動ラベルを出力する。そして、出力制御部106は、出力装置52のディスプレイに行動ラベルを表示するように制御して良い。
【0093】
このようにして、動画像セグメントを行動認識装置1に入力することにより、その動画像セグメントに対応する行動ラベルが生成され、生成された行動ラベルが出力装置52のディスプレイに表示されることになる。
【0094】
(実施形態の作用効果)
以上説明した実施形態によれば、行動認識装置1は、行動ラベルの行動特徴と言語特徴を考慮して学習をすることにより、行動ラベルを生成することが可能となる。また、行動認識装置1は、行動特徴が似ている行動ラベルも分類することが可能となる。
【0095】
[他の実施形態]
なお、この発明は上記実施形態に限定されるものではない。例えば、学習動作において、ステップST102におけるエンコーダ1022の学習は必ずしも実行しなくとも良い。例えばエンコーダ1022の学習を一度し終えた場合、必要に応じて実行すれば良い。
【0096】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0097】
1…行動認識装置
10…制御部
101…データ取得部
102…潜在特徴生成モデル構築部
1021…事前学習済み行動認識モデル
1022…エンコーダ
1023…デコーダ
1024…言語モデル
103…学習データ生成部
1031…セット抽出部
1032…潜在特徴ベクトル生成部
1033…分離度算出部
1034…エピソード集合追加部
1035…判定部
1036…記憶制御部
104…モデル更新部
1041…バッチ抽出部
1042…損失算出部
1043…モデルパラメータ更新部
1044…分離度閾値更新部
1045…収束判定部
1046…記憶制御部
105…行動分類部
1051…潜在特徴ベクトル生成部
1052…行動ラベル生成部
1053…行動分類モデル
106…出力制御部
20…プログラム記憶部
30…データ記憶部
301…学習データ記憶部
302…モデル記憶部
40…通信インタフェース
50…入出力インタフェース
51…入力装置
52…出力装置