(57)【要約】【課題】処理対象を高精度に特定し得る特定システムおよび特定方法を提供する。【解決手段】処理対象の各属性を示す各中間的表現を各次元とする中間的表現空間に処理対象を射影するためのパラメータを格納する第１格納部と、第１格納部に格納されるパラメータに基づいて、所定のセンサから得られる入力データまたは入力データに所定の前処理を施して得られる値を中間的表現空間に射影する計算部と、中間的表現空間において処理対象を特定する際に使用するパラメータを格納する第２格納部と、処理対象の各属性を示す各中間的表現の重要度を処理対象に対応付けて格納する第３格納部と、第２格納部に格納されているパラメータと、第３格納部に格納されている重要度と、計算部の出力とに基づいて、入力データにおける処理対象を特定する特定部と、を設けるようにした。【選択図】図１
2019128804.tif 000002
【特許請求の範囲】
【請求項１】
処理対象の各属性を示す各中間的表現を各次元とする中間的表現空間に前記処理対象を射影するためのパラメータを格納する第１格納部と、
前記第１格納部に格納されるパラメータに基づいて、所定のセンサから得られる入力データまたは前記入力データに所定の前処理を施して得られる値を中間的表現空間に射影する計算部と、
中間的表現空間において処理対象を特定する際に使用するパラメータを格納する第２格納部と、
処理対象の各属性を示す各中間的表現の重要度を前記処理対象に対応付けて格納する第３格納部と、
前記第２格納部に格納されているパラメータと、前記第３格納部に格納されている重要度と、前記計算部の出力とに基づいて、前記入力データにおける処理対象を特定する特定部と、
を備えることを特徴とする特定システム。
【請求項２】
前記特定部が特定する処理対象は、人間の行動および／または人間の動作である、
ことを特徴とする請求項１に記載の特定システム。
【請求項３】
処理対象の各属性を示す各中間的表現の１つとして、行動を特定したいユーザの周囲における既定のオブジェクトの存在有無または前記オブジェクトの存在確率が含まれる、
ことを特徴とする請求項２に記載の特定システム。
【請求項４】
処理対象の各属性を示す各中間的表現の１つとして、人間の行動を構成する基本的な要素である動作若しくは姿勢の発生有無、または発生確率が含まれる、
ことを特徴とする請求項２に記載の特定システム。
【請求項５】
前記ユーザの一人称視点の画像または映像に基づいて、前記オブジェクトの存在有無または前記オブジェクトの存在確率を計算する設定部を備える、
ことを特徴とする請求項３に記載の特定システム。
【請求項６】
前記第３格納部に格納される重要度を、ユーザに設定させるためのユーザインタフェース部を備える、
ことを特徴とする請求項１に記載の特定システム。
【請求項７】
前記第３格納部に格納される重要度を推定して設定する設定部を備える、
ことを特徴とする請求項１に記載の特定システム。
【請求項８】
前記設定部は、中間的表現空間として単語の埋め込み空間を用い、前記埋め込み空間において処理対象のクラスを表現する埋め込みベクトルを、中間的表現の埋め込みベクトルの線形結合として表現した際の各ベクトルの係数を各中間的表現の重要度として推定する、
ことを特徴とする請求項７に記載の特定システム。
【請求項９】
前記設定部は、処理対象のクラスに対する各中間的表現のクラス分離率を各中間的表現の重要度として推定する、
ことを特徴とする請求項７に記載の特定システム。
【請求項１０】
新規のクラスに対する各中間的表現の重要度に基づいて中間的表現を追加する追加部を備える、
ことを特徴とする請求項１に記載の特定システム。
【請求項１１】
前記設定部は、オブジェクトに対するユーザの注視情報に基づいて前記オブジェクトに係る重要度を設定する、
ことを特徴とする請求項５に記載の特定システム。
【請求項１２】
前記ユーザの一人称視点の画像または映像に基づいて、オブジェクトの特定と注視の推定とをマルチタスク学習し、前記ユーザの注視情報を推定する推定部を備える、
ことを特徴とする請求項１１に記載の特定システム。
【請求項１３】
前記推定部は、前記ユーザの一人称視点の画像または映像における画像フレーム内の手の存在確率または手の有無、および手のフレーム内の位置の情報を更に用いて、オブジェクトの特定と注視の推定とをマルチタスク学習し、前記ユーザの注視情報を推定する、
ことを特徴とする請求項１２に記載の特定システム。
【請求項１４】
処理対象の各属性を示す各中間的表現を各次元とする中間的表現空間に前記処理対象を射影するためのパラメータを格納する第１格納部と、中間的表現空間において処理対象を特定する際に使用するパラメータを格納する第２格納部と、処理対象の各属性を示す各中間的表現の重要度を前記処理対象に対応付けて格納する第３格納部と、を備える特定システムにおける特定方法であって、
計算部が、前記第１格納部に格納されるパラメータに基づいて、所定のセンサから得られる入力データまたは前記入力データに所定の前処理を施して得られる値を中間的表現空間に射影する第１のステップと、
特定部が、前記第２格納部に格納されているパラメータと、前記第３格納部に格納されている重要度と、前記計算部の出力とに基づいて、前記入力データにおける処理対象を特定する第２のステップと、
を備えることを特徴とする特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は特定システムおよび特定方法に関し、例えばセンサから得られる入力データに含まれる処理対象を特定する特定システムおよび特定方法に適用して好適なものである。
【背景技術】
【０００２】
行動認識、物体認識、音声認識など、種々のセンサデータを用いて、そのセンサデータが示す対象を認識、識別、検出したいという需要がある。
【０００３】
例えば、監視システム、ライフログなどのために、カメラなどから得られるセンサデータを分析し、人間の行動を自動認識したいという需要がある。
【０００４】
そのような需要を満たすため、これまでに数多くの認識技術が開発されている。中でも、代表的な方法としては、認識対象となるクラスごとに、学習データ（それぞれのクラスに対応するセンサデータとそのクラス名のラベルデータと）を収集し、ニューラルネットワーク、ＳＶＭ（Support  Vector  Machine）などの手法を用いて、センサデータとクラスラベルとの対応付けを学習する方法が挙げられる。
【０００５】
例えば、特許文献１には、身体の動きを認識して装置の機能を制御するための動作認識方法が開示されている。より具体的には、特許文献１には、生体信号センサの出力信号からユーザの意図的動作による動きアーチファクトを検出し、検出された動きアーチファクトの信号パターンが基準信号パターンに対応する場合、基準信号パターンに対応するターゲット装置の機能を制御する制御信号を生成する方法が開示されている。
【０００６】
しかしながら、認識対象のクラスごとに学習データを予め収集し、その学習データを用いてセンサデータとクラスラベルとの対応付けを学習する手法では、予め定められた対象クラス（既存クラス）以外のクラス（新規クラス）を新たに認識対象に加えようとすると、新規クラスの学習データを収集し、認識モデルを再度構築する必要がある。
【０００７】
これに対し、非特許文献１、特許文献２などで、新規クラスの学習データが少量しかない場合、または全くない場合でも、認識を可能にする手法が提案されている。一般に、新たな認識対象の学習データが全くない場合は、Zero-shot  learning、サンプルが１つしかない場合はOne-shot  learning、少量しかない場合はFew-shot  learningと呼ばれている。
【０００８】
これら以外の一般的な認識手法では、学習データの入力空間（または入力空間を変換した特徴空間）内での分布から、各クラスが入力空間（特徴空間）内でどのような位置に分布するかを予め学習し、新たなサンプルが与えられると、当該サンプルの入力空間（特徴空間）内での位置をもとに、クラス認識を行う。これに対し、Zero-shot  learningでは、入力信号（または入力信号を変換した特徴量）を一度、中間的表現（これはしばしばAttributeと呼ばれ、本願でもこの用語を用いる。）へと変換し、このAttribute空間内で各サンプルの識別を行う。入力データと出力ラベルとの中間的表現であるAttributeは、識別対象の属性を表すものである。例えば、画像認識などで従来よく用いられているＳＩＦＴ（Scale-Invariant  Feature  Transform）特徴量をはじめとする特徴量については、人間がその値を直感的に解釈することは困難であるが、Attributeについては、多くの場合、人間が解釈可能である。Attributeの具体的な例については後述する。入力空間ＸからAttribute空間Ａへの射影ｆ：Ｘ->Ａは、既存の学習データを用いて学習する一方で、Attribute空間内で各クラスがどのような位置に分布するかは、学習データによらない方法で定義することで、学習データがない場合、即ち新たな認識対象（新規クラス）であっても認識が可能になる。
【０００９】
例えば、画像データを用いた物体認識のタスクにおいて、学習データの中に、犬、牛、人間、鶏などのデータが含まれていれば、「四本足かどうか」というAttributeを検出する識別器を構成することは可能である。同様に、シマダイ、ストライプシャツ、イルカ、無地のシャツなどのデータが含まれていれば「縞模様かどうか」というAttributeを検出する識別器を構成することは可能である。このようにして、入力からAttributeへの変換ｆ：Ｘ->Ａを既存の学習データから構築することができる。
【００１０】
ここで、認識対象、例えば「シマウマ」を検出したい場合、シマウマを「四本足」かつ「縞模様」のモノと定義すれば（この場合、Attribute空間内での「シマウマ」クラスの分布（点）の位置を手動で定義したことになる。）、シマウマの画像は、学習データに含まれていないにも関わらず、既存の学習データから学習した変換ｆ：Ｘ->Ａによって、シマウマの画像が与えられたとき、「四本足かどうか」および「縞模様かどうか」を判断することができ、両方ともＹｅｓである確率が高いとき、その画像がシマウマを表していると判断することができる。
【００１１】
なお、入力ベクトルからAttributeベクトルへの変換が、一般的な機械学習で用いられる特徴抽出と異なるのは、Attribute空間内での各クラスの分布、代表点などを学習データによらない方法で定義できる点である。
【００１２】
また、Attribute空間内でのクラス識別の代表的な手法としては、nearest  neighbor法などが用いられることが多い。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２０１７−９４０５５号公報
【特許文献２】特開２０１７−９１１９２号公報
【非特許文献】
【００１４】
【非特許文献１】Larochelle, H, Erhan, D and Bengio, Y; Zero-data Learning of NewTasks, Proceedings of the Twenty-Third AAAI Conference on ArtificialIntelligence, 2008
【発明の概要】
【発明が解決しようとする課題】
【００１５】
このようにして、Zero-shot/One-shot/Few-shot  learningによれば、新たな認識対象の学習データが（全く、１つしか、少量しか）ない場合でも、認識が可能になる。一方で、様々な対象を識別可能にするため、Attributeの数を増やす（Attribute空間の次元数を上げる）と、ある認識対象を識別するために有用であっても、別の認識対象を識別するためには重要でないようなAttributeが含まれ得る。
【００１６】
先の「シマウマ」の例では、例えば、「背景の空の色」は、当該画像に移っている場所の天気を分類するのには有用であると考えられるが、その画像の中にシマウマが映っているか否かを判断する上では重要ではない。
【００１７】
このように、重要でないAttributeが含まれる空間において、全てのAttribute（次元）を同等に扱ってnearest  neighbor法などを適用すると、重要でないAttribute（次元）によって認識結果が影響を受けてしまい、認識精度が落ちるという問題が生じる。
【００１８】
本発明は以上の点を考慮してなされたもので、新規クラスの学習データが全くない、または少量しか入手できない場合でも、処理対象を高精度に特定し得る特定システムおよび特定方法を提案しようとするものである。
【課題を解決するための手段】
【００１９】
かかる課題を解決するため本発明においては、処理対象の各属性を示す各中間的表現を各次元とする中間的表現空間に前記処理対象を射影するためのパラメータを格納する第１格納部と、前記第１格納部に格納されるパラメータに基づいて、所定のセンサから得られる入力データまたは前記入力データに所定の前処理を施して得られる値を中間的表現空間に射影する計算部と、中間的表現空間において処理対象を特定する際に使用するパラメータを格納する第２格納部と、処理対象の各属性を示す各中間的表現の重要度を前記処理対象に対応付けて格納する第３格納部と、前記第２格納部に格納されているパラメータと、前記第３格納部に格納されている重要度と、前記計算部の出力とに基づいて、前記入力データにおける処理対象を特定する特定部と、を設けるようにした。
【００２０】
また本発明においては、処理対象の各属性を示す各中間的表現を各次元とする中間的表現空間に前記処理対象を射影するためのパラメータを格納する第１格納部と、中間的表現空間において処理対象を特定する際に使用するパラメータを格納する第２格納部と、処理対象の各属性を示す各中間的表現の重要度を前記処理対象に対応付けて格納する第３格納部と、を備える特定システムにおける特定方法であって、計算部が、前記第１格納部に格納されるパラメータに基づいて、所定のセンサから得られる入力データまたは前記入力データに所定の前処理を施して得られる値を中間的表現空間に射影する第１のステップと、特定部が、前記第２格納部に格納されているパラメータと、前記第３格納部に格納されている重要度と、前記計算部の出力とに基づいて、前記入力データにおける処理対象を特定する第２のステップと、を設けるようにした。
【００２１】
上記構成によれば、例えば、新規クラスの学習データが全くない、または少量しか入手できない場合でも、処理対象を高精度に特定することができる。
【発明の効果】
【００２２】
本発明によれば、処理対象を高精度に特定することができる。
【００２３】
上述した以外の課題、構成および効果は、以下の実施の形態の説明により明らかにされる。
【図面の簡単な説明】
【００２４】
【図１】第１の実施の形態による認識システムの構成の一例を示す図である。
【図２】第１の実施の形態による認識システムにおけるハードウェア構成の一例を示す図である。
【図３】第１の実施の形態によるAttribute計算部の出力データの一例を示す図である。
【図４】第１の実施の形態によるAttribute空間内でのデータサンプルの分布の一例を示す図である。
【図５】従来手法による誤認識を説明するためのケースの一例を示す図である。
【図６】第１の実施の形態によるAttribute空間内での擬似サンプル点の一例を示す図である。
【図７】第１の実施の形態によるAttributeごとの重要度の一例を示す図である。
【図８】第１の実施の形態による認識システムの構成の一例を示す図である。
【図９】第１の実施の形態による各クラスに対する各Attributeの重要度を設定するためのＧＵＩの一例を示す図である。
【図１０】第２の実施の形態による認識システムの構成の一例を示す図である。
【図１１】第３の実施の形態による認識システムの構成の一例を示す図である。
【図１２】第４の実施の形態による認識システムの構成の一例を示す図である。
【図１３】第４の実施の形態による認識システムの構成の一例を示す図である。
【図１４】第４の実施の形態による注視推定部の構成の一例を示す図である。
【図１５】第４の実施の形態による注視推定部の構成の一例を示す図である。
【発明を実施するための形態】
【００２５】
以下図面について、本発明の一実施の形態を詳述する。
【００２６】
（１）第１の実施の形態
本実施の形態では、一般にZero-shot  learning、One-shot  learning、Few-shot  learningと称される手法に対する改善手法を提供する。これら以外の機械学習手法を用いる際は、認識対象のクラスの事物のサンプルデータ（学習データ）を予め収集し、その学習データに基づいて認識モデルを構築する。そのため、学習データを（大量に）収集できたクラス（これを本明細書では既存クラスと称することがある。）の認識は可能であるが、学習データが全くない、または極めて少量しかないようなクラス（これを本明細書では新規クラスと称することがある。）の認識は不可能である。これに対し、Zero-shot  learning、One-shot  learning、およびFew-shot  learningでは、それぞれ、認識対象のクラスの事物のサンプルデータが学習データに全く含まれていないような場合、１サンプルしか含まれていないような場合、少量しか含まれていないような場合でも、Attribute（中間的表現）を用いることで、当該クラスの認識を可能にする。本実施の形態では、Attributeを用いた認識を行う際の精度向上のための新規のシステムおよび方法を提供しており、以下では、具体的な構成を説明する。
【００２７】
図１において、１００は全体として第１の実施の形態による認識システムを示す。認識システム１００は、入力データ１０１、Attribute計算用ＤＢ（database）１０２、Attribute計算部１０３、認識用ＤＢ１０４、Attribute重要度ＤＢ１０５、および認識部１０６を備える。
【００２８】
認識システム１００に認識させる事物の例としては、人間の行動（行動認識システム）、画像、映像などに映る物体（オブジェクト認識システム）、音声（音声認識システム）、文字（文字認識システム）などがある。以下では、主に行動認識システムを例に挙げて具体的な処理（ステップ）を説明するが、認識システム１００の認識対象は、行動認識システムに限定されるものではない。
【００２９】
入力データ１０１の取得には、カメラ、マイク、距離センサ、加速度センサ、ジャイロセンサ、筋電センサ、脈拍・心拍センサ、照度センサ、圧力センサなど種々のセンサを１つまたは複数組み合わせて用いることができ、センサの種類や数については限定をしない。また、センサの計測値を一度ハードディスクなどに格納してからAttribute計算部１０３に入力し、以後の処理を行うようにしてもよいし（オフライン処理）、センサから読み取った計測値を直接Attribute計算部１０３に入力して以後の処理を行うようにしてもよい（リアルタイム処理）。
【００３０】
機械学習の分野においては、「認識（recognition）」、「識別(classification)」、「検出(detection)」、「位置同定（localization）」などの用語が用いられることがある。本明細書中では、「認識」システムの例を記述するが、これを識別問題、検出問題、位置同定問題に応用することは容易であるため、本発明の適用範囲は認識問題に限定されない。なお、「認識」、「識別」、「検出」、「位置同定」などの用語の上位概念を示す用語として「特定」を適宜用いる。
【００３１】
例えば、本明細書においては「識別」とは、１つの入力データに対し、識別対象となるクラスが必ず１つ対応づくような場合に、そのクラスを同定することを指す。「認識」とは、１つの入力データに対し、認識対象となるクラスがあるかもしれないし、１つまたは複数あるかもしれないような場合に、認識対象となるクラスがあればそれがどこにあるかを同定することを指すものとする。
【００３２】
ここで、ウェアラブルセンサを用いた行動認識および行動識別の例では、一定時間のセンサの計測値全体が何らかの１つの対象行動に対応付いている場合に、その行動が何かを同定する問題が「識別」問題である。一定時間のセンサデータの中に０個以上の対象行動が対応付いている場合に、何らかの対象行動が含まれているとすれば、それはいつからいつまででどの行動かを同定する問題が「認識」問題である。
【００３３】
同様に、画像を用いたオブジェクト認識およびオブジェクト識別の例では、ある一枚の画像全体が何らかの１つの対象オブジェクトを表している場合に、そのオブジェクトが何かを同定する問題が「識別」問題である。その画像中に０個以上の対象オブジェクトがある場合に、何らかの対象オブジェクトが含まれているとすれば、それは画像中のどの位置でそのオブジェクトは何かを同定する問題が「認識」問題である。
【００３４】
まず、認識システム１００の概要を説明する。認識システム１００は、入力データ１０１の値を読み取る。そして、Attribute計算部１０３は、その値を用いて必要に応じて特徴抽出処理などを施し、Attribute計算用ＤＢ１０２に格納されたパラメータを用いて、入力データのAttribute空間への射影を行う。認識部１０６は、その出力を受け取ると共に、認識用ＤＢ１０４に格納されているAttribute空間内で認識処理を行うためのパラメータを読み取り、Attribute重要度ＤＢ１０５に格納されているAttributeごとの重要度（重要性）を加味して、入力データの認識処理を行う。各処理、各ＤＢ内に格納されるデータなどの詳細については後述する。
【００３５】
付言するならば、Attribute計算用ＤＢ１０２は、処理対象の各属性を示す各中間的表現を各次元とする中間的表現空間にこの処理対象を射影するためのパラメータを格納する第１格納部の一例である。Attribute計算部１０３は、第１格納部に格納されるパラメータに基づいて、所定のセンサから得られる入力データまたはこの入力データに所定の前処理を施して得られる値を中間的表現空間に射影する計算部の一例である。認識用ＤＢ１０４は、中間的表現空間において処理対象を特定する際に使用するパラメータを格納する第２格納部の一例である。Attribute重要度ＤＢ１０５は、処理対象の各属性を示す各中間的表現の重要度をこの処理対象に対応付けて格納する第３格納部の一例である。認識部１０６は、第２格納部に格納されているパラメータと、第３格納部に格納されている重要度と、計算部の出力とに基づいて、入力データにおける処理対象を特定する特定部の一例である。
【００３６】
図２は、認識システム１００におけるハードウェア構成の一例を示す図である。認識システム１００は、例えば、図２に示すようなハードウェア構成を備える計算機２００を用いて実現することができる。計算機２００は、ノートパソコン、タブレット端末などであり、入力装置２０１、中央演算処理装置２０２、主記憶装置２０３、補助記憶装置２０４、出力装置２０５、およびバス２０６を備える。入力装置２０１、中央演算処理装置２０２、主記憶装置２０３、補助記憶装置２０４、および出力装置２０５は、バス２０６を介してデータのやり取りが可能である。
【００３７】
入力装置２０１は、キーボード、マウス等であり、各種の情報を入力する。中央演算処理装置２０２は、例えばＣＰＵ（Central  Processing  Unit）であり、主記憶装置２０３に格納されたプログラムを実行する。主記憶装置２０３は、ＤＲＡＭ（Dynamic  Random  Access  Memory）のような高速かつ揮発性の記憶装置であり、オペレーティングシステム（ＯＳ）、アプリケーションプログラムなどを格納する。中央演算処理装置２０２がＯＳを実行することによって、計算機２００の基本機能が実現され、アプリケーションプログラムを実行することによって、Attribute計算部１０３、認識部１０６（認識システム１００の機能）が実現される。Attribute計算部１０３および認識部１０６の処理の詳細については後述する。
【００３８】
補助記憶装置２０４は、磁気記憶装置、フラッシュメモリ等の大容量かつ不揮発性の記憶装置であり、中央演算処理装置２０２によって実行されるプログラム、プログラム実行時に使用されるデータ等を格納する。例えば、中央演算処理装置２０２が実行するプログラムは、補助記憶装置２０４から読み出され、主記憶装置２０３にロードされ、中央演算処理装置２０２によって実行される。また、Attribute計算用ＤＢ１０２、認識用ＤＢ１０４、およびAttribute重要度ＤＢ１０５は、補助記憶装置２０４内に格納されている。
【００３９】
出力装置２０５は、液晶ディスプレイ、プロジェクタ、プリンタなどであり、認識結果を出力することができる。このほかに、Attribute計算部１０３、認識部１０６の演算の高速化のために、ＧＰＵ（Graphics  Processing  Unit）を用いてもよい。
【００４０】
入力データ１０１については、ＵＳＢ（Universal  Serial  Bus）ケーブルなどを用いてセンサと計算機２００を接続して計算機２００に送信されてもよいし、ネットワークを経由して送信されてもよいし、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）などのメディアに一度書き出されてから、それを計算機２００で読み込まれるようにしてもよい。
【００４１】
以下では、認識システム１００が行動認識システムである場合を例に挙げて、各処理、データ形式などについてより詳細に説明する。複雑な行動を精度よく自動認識するためには、複雑な行動をより基本的な要素に分解して考え、段階的に認識を行うことで認識精度が向上することが知られている。すなわち、まず第１段階として入力データから各要素の認識を行い、第２段階でその各要素の認識結果をもとに行動認識を行う。
【００４２】
複雑な行動を構成する簡単な要素の例としては、動作が挙げられる。ここで、動作とは、「腕を上げる」、「しゃがむ」、「歩く」などの比較的単純な身体活動および物体の動きを指す。行動とは、「モノを移動させる」、「探し物をする」など、複数の動作やモノが関与してより高次の意味を持つ行為を指す。一例として、「モノを移動させる」という行動は、「つかむ」、「歩く」、「放す」といった３つの動作の組み合わせとして表現することができる。
【００４３】
なお、実際には「動作」と「行動」とを明確に区別することは困難であるが、認識システム１００における主旨は、複雑な現象を、単純かつ基本的な現象の組み合わせとして表現する、ということであり、その意味においてここで言う「動作」と「行動」とを明確に定義することは、認識システム１００を実施する上では必ずしも必要ではない。
【００４４】
例えば、必要に応じて、上記で動作の一例として説明した「歩く」を、行動と捉え、より細かな脚の動き、腕の動き等を動作として捉えてもよいし、また行動の一例として説明した「モノを移動させる」を、より複雑な「部屋の掃除をする」という行動に対する基本的な動作要素として捉えてもよい。
【００４５】
このように、行動を段階的に表現する際に、２段階以上に分けて考えることも可能である。例えば、認識部１０６が認識する対象（特定部が特定する処理対象）としては、人間の行動および／または人間の動作が挙げられる。また、行動を構成する基本的な要素としては、動作の他に、体の姿勢（ポーズ）、周囲に存在するオブジェクトなどを用いてもよい。
【００４６】
Attribute計算部１０３で計算されるAttributeとは、定性的には、この行動を構成する基本的な要素のことを指す。上述のように動作、姿勢、周囲のオブジェクトなどがAttributeの一例となる。換言するならば、処理対象の各属性を示す各中間的表現の１つとして、人間の行動を構成する基本的な要素である動作若しくは姿勢の発生有無、または発生確率が含まれる。また、処理対象の各属性を示す各中間的表現の１つとして、行動を特定したいユーザの周囲における既定のオブジェクトの存在有無または既定のオブジェクトの存在確率が含まれる。
【００４７】
例えば、「紙を移動させる」という行動は、「つかむ」、「歩く」、「放す」という動作と、「紙」というオブジェクトの組み合わせで表現することができる。そこで、Attribute空間を「つかむ」、「歩く」、「放す」、「紙」に相当する４次元空間と考え、後述するAttribute計算部１０３の処理の結果として入力データ中に各動作、オブジェクト等が認識された場合には「１」を、認識されなかった場合には「０」を割り当てるとすると、「紙を移動させる」という行動は、このAttribute空間上で、点（１，１，１，１）で表現できる。
【００４８】
実際には、他の行動も認識できるようにするため、別のAttribute（次元）も用いる場合もあり、仮にAttribute空間を「つかむ」、「歩く」、「放す」、「ジャンプする」、「紙」、「猫」と定義すると、「紙を移動させる」という行動は、点（１，１，１，０，１，０）となる。
【００４９】
ここでは、各Attributeが認識されたか否かを「０」か「１」か（存在有無、発生有無など）で表現する例を示したが、その認識確率（存在確率、発生確率など）を用いて「０」から「１」の間の実数で表現してもよいし、「１」より大きい値や負の値を用いるようにしてもよい。
【００５０】
ここで、Attributeの計算が、機械学習においてしばしば用いられる特徴抽出処理と異なるのは、Attribute空間内における対象事物の認識が、必ずしも学習データによらずにできる（Zero-shot  learning）、または極めて少量の学習データによってできる（One-shot  learning、Few-shot  learning）点である。
【００５１】
一般の特徴抽出処理では、特徴抽出を行った後、特徴空間内で認識処理を行おうとすると、認識対象の各クラスがその特徴空間内でどのように分布するかの事前知識がないため、これを（大量の）学習データによってモデル化する必要がある。
【００５２】
しかしながら、Attribute空間においては、例えば先の例のように、「紙を移動させる」という行動が、「つかむ」、「歩く」、「放す」、「ジャンプする」、「紙」、「猫」という６次元のAttribute空間内で（１，１，１，０，１，０）という点で表されることは、「紙を移動させる」という行動の学習データを取得することなく判断可能である。なお、この場合は、Attribute空間上での対象クラスの定義をマニュアルで与えていることに相当する。後に、これを別の方法で与える方法についても説明する。
【００５３】
ただし、入力データからAttribute空間への射影については、学習データを用いて学習を行う必要がある。そのためのパラメータを格納しておくのが、Attribute計算用ＤＢ１０２である。また、Attribute計算部１０３がAttribute計算用ＤＢ１０２に格納されたパラメータを読み出し、入力データのAttribute空間への射影計算を行う。
【００５４】
Attribute計算用ＤＢ１０２に格納しておくパラメータは、既存クラスの学習データを用いて、いわゆる教師つき学習（supervised  learning）の手法を用いて求めることができ、任意の既存の手法を用いてよい。
【００５５】
例えば、入力データとしてウェアラブルセンサから取得した加速度データ、ジャイロデータなどを用い、Attributeとして動作を用いる場合、ＬＳＴＭ（Long-Short  Term  Memory）などのＲＮＮ（Recurrent  Neural  Network）を用いてもよい。この場合、例えば、ウェアラブルセンサをつけて認識対象となる動作を行い、その動作の開始時間と終了時間と動作名のラベルとを学習データとして用意する。そして、ＬＳＴＭを用いて、センサデータから動作を認識するためのパラメータを学習する。
【００５６】
なお、動作認識の手法については、ＬＳＴＭに限定する必要はなく、ＨＭＭ（Hidden  Markov  Model）、ＣＲＦ（Conditional  Random  Field）などを用いてもよい。また、入力データやAttributeについては、ウェアラブルセンサのデータや動作に限定する必要はなく、例えば入力データとして画像を用い、Attributeとしてオブジェクトを用いる場合、ＣＮＮ（Convolutional  Neural  Network）、ＳＶＭ（Support Vector Machine）などを用いることができる。また、これらの学習処理を行う前に、必要に応じてスムージング、特徴抽出などの前処理を行ってもよいし、入力データを直接用いてもよい。Attribute計算用ＤＢ１０２の中には、これらの認識モデルに応じたパラメータを格納しておく。例えば、ニューラルネットワークであれば、ネットワーク構造、各ニューロン間の重みパラメータなどを格納するようにする。
【００５７】
未知のデータ（ユーザの一人称視点の画像、映像など）から動作認識を行う際には、Attribute計算部１０３は、まずAttribute計算用ＤＢ１０２に格納されたパラメータを読み出し、与えられたデータに対して必要に応じて所定の前処理を施した後、認識モデルの出力値を計算する。典型的な出力としては、各認識対象の動作、オブジェクトなどの有無、確率などである。
【００５８】
図３は、Attribute計算部１０３の出力データの一例を示す図である。図３の例の場合、Attribute空間の次元は、「４」であるため、出力は、４次元のベクトルとなっている。なお、入力xiは、一般には多次元のベクトル、またはそれらのベクトルを複数まとめたものである。
【００５９】
続いて、一般的なZero-shot  learning、One-shot  learning、Few-shot  learningにおける認識部１０６の処理および認識用ＤＢ１０４に格納されるデータについて説明する。その後、本実施の形態の特徴であるAttribute重要度ＤＢ１０５およびAttribute重要度ＤＢ１０５に格納されているAttributeごとの重要度を用いた認識部１０６の処理について説明する。
【００６０】
一般的なZero-shot  learningにおいて、Attribute空間内でクラス認識をする場合に最もよく用いられる手法の１つは最近傍（nearest  neighbor）法である。認識を行う入力データを「ｘ」とし、それをAttribute計算部１０３によってAttribute空間に射影したものを「ａ」とおくと、最近傍法では、射影ａとAttribute空間内での各サンプルとの距離を計算し、最も近いサンプルのクラスラベルを入力データｘのクラスラベルとして認識する。
【００６１】
図４（Ａ）において、例えば、「△」が入力データｘの射影ａを表し、「○」および「×」が既存クラスのサンプルを表すとすると、最近傍のサンプルは、「△」と破線でつながっている「○」であるため、入力データｘは、○クラスに分類される。なお、一定の閾値を設けて、最近傍のサンプルとの距離が当該閾値以上の場合は、「該当クラス無し」といった判断をしてもよい。
【００６２】
しかしながら、このままでは、新規クラス（例えば□クラス）についてはサンプルが存在しないため、入力データが新規クラスに分類されることはない（□クラスのデータが入力されても正しく認識されない）。
【００６３】
そこで、Attribute空間内での新規クラスのサンプルを学習データによらない方法で定義する。例えば、認識システム１００において、「運ぶ」という新規クラスの行動を認識させたいとして、例えば図４（Ａ）のAttribute  ａ１およびAttribute  ａ２がそれぞれ「歩いている」、「つかんでいる」という動作（状態）を表すとすると、「運ぶ」クラスは、図４（Ｂ）のように、Attribute空間内で（１，１）という点で表すことができる。このように、新規クラスについてもAttribute空間内で擬似サンプルを生成することによって、認識が可能になる。
【００６４】
認識用ＤＢ１０４には、この例では、既存クラスのサンプルおよび新規クラスの擬似サンプルの座標値を格納しておき、認識部１０６は、入力データｘの射影ａとそれらサンプルとの距離を計算し、最も距離の近いもののクラスラベルを出力する処理を行う。最近傍法以外の手法を用いる際は、それに応じたパラメータを認識用ＤＢ１０４に格納し、それに応じた処理を認識部１０６で行う。
【００６５】
なお、この例では、既存クラスのサンプルについては、学習データをそのまま用いたが、既存クラスについても新規クラスと同様に擬似サンプルを生成してこれらを合わせて用いてもよいし、擬似サンプルだけを用いてもよい。また、擬似サンプルについては、１点のみを生成する必要はなく、例えば上記の例では、点（１，１）を中心とする正規分布に従って、既存クラスと同数程度のサンプルをランダムに発生させてもよい。この際、正規分布の共分散行列は、ハイパーパラメータとなり、クロスバリデーションなどの方法により定めることが好適である。
【００６６】
また、この例では、擬似サンプル（擬似サンプルの代表点）をマニュアルで生成する方法を述べたが、これらを別の方法で生成してもよい。一例としては、公知文献（例えば、Socher, R, Ganjoo, M, Manning, C and Y.Ng, A; Zero-shot learning
Through Cross-Modal Transfer, Advances in Neural Information Processing Systems
(NIPS), 2013）で紹介されているような手法を用いることができる。すなわち、まず既存クラスの学習データを用いて下記の（式１）で表される目的関数を最小化するようなパラメータθを求める。
【数１】
2019128804.tif 000003
【００６７】
ここで、Ｙｓは、既存クラスの集合である。Ｘｙは、クラスｙの入力データ、またはそれに所定の特徴抽出処理を施したものの集合である。ｗｙは、word2vecなど既存の手法を用いてクラスｙのラベル名を空間Ｗの元となるようベクトル化したものである。以下では、クラスのラベル名などの単語をベクトルで表現することを「単語の埋め込み」と称し、この結果生成される単語を表現するベクトルを「（単語の）埋め込みベクトル」と称する。また空間Ｗのような埋め込みベクトルが元となる空間を「（単語の）埋め込み空間」と称する。θ（１）およびθ（２）は、パラメータである。ｆは、例えばtanhなどの非線形活性化関数である。
【００６８】
定性的には、（式１）は、入力データ（入力データの特徴ベクトル）を空間Ｗに射影する際のパラメータを、既存クラスの学習データを用いて学習していることになり、この空間Ｗが本明細書で述べてきたAttribute空間に相当する。新規クラスのAttribute空間、すなわち空間Ｗ上でのサンプルは、先にｗｙを空間Ｗに射影する際に用いたword2vecなどの既存の手法を用いることで入手することができる。より詳しくは上記公知文献を参照されたい。
【００６９】
このようにして、Zero-shot  learningの手法を用いれば、例えば最近傍法を用いて新規クラスのデータであってもAttribute空間内での認識処理を行うことが可能である。しかしながら、従来の手法では、全てのAttributeを対等に扱っているため、認識対象のクラスによってAttributeごとの重要度が異なるような場合に、認識精度が低下してしまうことがある。
【００７０】
図５のようなケースにおいて、認識処理を行うデータ（以下、テストデータと称する。）については、例えば、Attribute  ａ１よりもAttribute  ａ２の方が重要であり、×クラスへの分類が適切であるとする。しかしながら、最近傍法を適用すると、ｄ１＜ｄ２であるため、テストデータは、○クラスに分類される。この分類（誤認識）は、このケースにおいてはAttribute  ａ１よりもAttribute  ａ２の方が重要であるにも関わらず、これらのAttributeを対等に扱って最近傍法を適用したことに起因する。
【００７１】
例えば、認識システム１００において、「タイピングをする」という行動と、「コーヒーを飲む」という行動とを認識したい場合に、図６の表の１列目にあるようなオブジェクト、動作、および姿勢に関するAttributeを用いるとし、各クラスのAttribute空間での擬似サンプルを図６の表の２列目および３列目のようにマニュアルで定義するとする。
【００７２】
「０」または「１」が記入されている箇所は、それぞれ該当Attributeがない場合またはある場合に相当する。「？」が記入されている箇所は、当該行動に対する当該Attributeは、ある場合もあればない場合もあり、あまり重要でないと考えられる。例えば、コーヒーを飲む際に、着席しながら飲むこともあれば、立ちながら飲むこともあるため、「着席（しているか否か）」という姿勢に関するAttributeは、「コーヒーを飲む」という行動を認識するためには重要でない。
【００７３】
この重要でないAttributeに対しても、例えば「０」、「１」、「０．５」などその中間の値を無理に定義し、テストデータの認識の際に、Attribute空間内での距離計算を行うと、例えば「コーヒーカップ」などの他の重要なAttributeは「コーヒーを飲む」という行動の定義と一致しているにも関わらず、この「着席」というAttributeが（実際にはこのAttributeの値はどんな値でもよいにも関わらず）定義と異なるため、正しく認識されないという事態が生じてしまう。
【００７４】
そこで、本実施の形態では、Attribute重要度ＤＢ１０５は、各クラスに対する、各Attributeの重要度を保持し、認識部１０６は、これを加味して認識処理を行う。より具体的には、Attribute重要度ＤＢ１０５は、図７のような表を予め保持しておく。図７の例では、例えば、ｗ１３、ｗ１５、ｗ２１、ｗ２２、ｗ２４、ｗ２６は、「０」に、その他は「１」に設定するとよい。
【００７５】
認識部１０６は、テストデータの認識の際に、例えば下記の（式２）に従って、テストデータと各サンプルおよび擬似サンプルとの距離を計算し、その距離が最小のサンプルのクラスラベルをテストデータのクラスラベルとして出力する。
【数２】
2019128804.tif 000004
【００７６】
ここでｄ（ｋ）は、テストサンプルとｋ番目のサンプルとの距離を示す。ｗｙｋｉは、図７の表にあるような、クラスｙｋに対するAttribute  ｉの重みを示す。ａｉ（ｋ）は、ｋ番目のサンプルのAttriubte  ｉの値を示す。ｘｉは、テストデータのAttribute  ｉの値を示す。このように計算することで、各クラスに対する、各Attributeの重要度に応じて距離計算の際の重み付けを行うことができ、認識精度を向上させることができる。
【００７７】
Attributeの重要度の利用方法については、ここに述べたような各Attributeの値に重み付けをするような例以外にも、所定の閾値より重要度が高いAttributeのみを使う、重要度の高い順に所定の数ｋ個のAttributeのみを用いる、上記ｋを「１」から所定の数まで変化させてそれぞれ認識処理を行った上で結果をアンサンブルする、重要度に応じて識別器にデータを与える順序を変更する、などの方法が考えられ、その詳細な利用方法については、限定をしない。
【００７８】
図７のように、各クラスに対する各Attributeの重要度を設定する際には、例えばＧＵＩ（Graphical  User  Interface）を用意して、ユーザに各Attributeの重要度を設定させるようにしてもよい。この場合、認識システム１００（図１に記載の構成）に対して、図８のようにAttribute重要度設定ＧＵＩ８０１を加えた構成（認識システム８００）にする。なお、中央演算処理装置２０２がアプリケーションプログラムを実行することによって、Attribute重要度設定ＧＵＩ８０１が実現される。なお、Attribute重要度設定ＧＵＩ８０１は、第３格納部に格納される重要度をユーザに設定させるためのユーザインタフェース部の一例である。
【００７９】
図９は、各クラスに対する各Attributeの重要度を設定するためのＧＵＩの一例を示す図である。このようなＧＵＩを有する認識システム８００は、人間の各関節が曲がっているか否かをAttributeとし、行動を認識するものとする。
【００８０】
ユーザは、まずテキストボックス９０１にAttributeの重要度を設定する行動クラス名を入力する。テキストボックスに直接入力するような構成ではなく、ドロップダウンリストなどから選択するような構成にしてもよい。
【００８１】
次に、ユーザは、図中の○印で示される関節位置９０２の中から、テキストボックス９０１で入力した行動クラス名の行動を認識するのに重要であると考えられる関節位置９０２を選択し、クリックする。クリック後は○印の表示態様が変化し（例えば、斜線が入り）、当該関節位置９０２が選択済みであることを示す。選択済みの関節位置９０２をもう一度クリックすると、選択を解除することも可能である。
【００８２】
ユーザは、選択を終えると、Ｓｅｔボタン９０３をクリックする。これによって、例えば、Attribute重要度設定ＧＵＩ８０１は、選択された関節位置９０２に相当するAttributeの重要度を「１」に、それ以外の重要度を「０」に設定し、それらをAttribute重要度ＤＢ１０５に格納する。なお、「０」または「１」の値だけでなく、中間的な値などを設定したい場合、例えば各関節の隣にテキストボックスを表示し、当該テキストボックスにユーザが任意の数値を用いて重要度を入力できるようにしてもよいし、スライドバーのようなものを用いて入力できるようにしてもよい。
【００８３】
以上のようにして、各クラスに対するAttributeごとの重要度を考慮することで、新規クラスの学習データが全くない場合、または極めて少量しかない場合でも、より精度の高い自動認識が可能になる。上述の構成によれば、例えば、ジェスチャー認識によって家電製品、産業機械などの機器を操作するような場合に、新たな操作コマンドとなるジェスチャーを任意のタイミングでユーザが自由に定義することができ、かつその新規に定義されたジェスチャーを高精度に認識できるようになるので、ユーザの利便性が著しく向上する。
【００８４】
（２）第２の実施の形態
第１の実施の形態で説明したシステムにより、ユーザは、学習データが全くない、または極めて少量しかないような新規クラスの認識を、各クラスに対するAttributeごとの重要度を考慮することで、精度よく認識できるようになる。しかしながら、ユーザが各クラスに対するAttributeごとの重要度を手動で設定することが難しい場合、可能であっても手間がかかってしまう場合もあると考えられる。
【００８５】
そこで、本実施の形態では、システムが各クラスに対するAttributeごとの重要度を推定して自動的に重要度を設定できるAttribute重要度自動設定機能付認識システムについて説明する。なお、第１の実施の形態の構成と同じ構成については、同一の符号を用いてその説明を適宜省略する。
【００８６】
本実施の形態によれば、各クラスに対するAttributeごとの重要度をユーザに手動で設定させることなく、精度のよい認識ができるようになる。
【００８７】
図１０は、本実施の形態に係るAttribute重要度自動設定機能付認識システム（認識システム１０００）の構成の一例を示す図である。認識システム１０００は、図１に記載の構成（認識システム１００）に加えて、Attribute重要度自動設定部１００１を備える。付言するならば、Attribute重要度自動設定部１００１は、第３格納部に格納される重要度を推定して設定する設定部の一例である。なお、中央演算処理装置２０２がアプリケーションプログラムを実行することによって、Attribute重要度自動設定部１００１が実現される。
【００８８】
以下、Attribute重要度自動設定部１００１の処理について詳細に説明する。一例としては、word2vecなどの単語埋め込みを利用することができる。この場合、第１の実施の形態でも説明したようにAttribute空間として単語の埋め込み空間を用いることになる。例えば、ある認識対象のクラスｃを、Attribute  Ａ＝｛ａ１，ａ２，・・・，ａｎ｝を用いて認識する場合を考える。まずクラスｃのラベル名をword2vecなどの手法を用いて埋め込み空間に埋め込み、その結果得られる埋め込みベクトルをｘｃとする。更に、同様にして、ａ１、ａ２、・・・、ａｎを表すAttribute名をそれぞれ埋め込み空間に埋め込み、その結果得られる埋め込みベクトルをＸ＝｛ｘ１、ｘ２、・・・、ｘｎ｝とする。
【００８９】
ここで、ｘｃをＸの線形結合を用いて表現することを考える。これは、下記の（式３）で示される目的関数をＷ＝｛ｗ１、ｗ２、・・・、ｗｎ｝に関して最小化することで得られる。
【数３】
2019128804.tif 000005
【００９０】
ただし、（式３）の第２項目の||Ｗ||ｐは、下記の（式４）で表される正則化ノルムである。
【数４】
2019128804.tif 000006
【００９１】
ｐの値としては、例えば「２」を用いる。特にスパースな解を得たい場合、すなわちＷのうち少数の要素以外は「０」になるような解を得たい場合は、ｐ＝１などを用いてもよい。λは、ハイパーパラメータであり、クロスバリデーションなどの方法を用いて定める。
【００９２】
このようにして得られたＷは、クラスラベルを表現するための各Attributeの重要度であると解釈することができるため、Attribute重要度自動設定部１００１は、この値をAttribute重要度ＤＢ１０５に格納（記録）する。付言するならば、設定部は、中間的表現空間として単語の埋め込み空間を用い、この埋め込み空間において処理対象のクラスを表現する埋め込みベクトルを中間的表現の埋め込みベクトルの線形結合として表現した際の各ベクトルの係数を各中間的表現の重要度として推定してもよい。
【００９３】
また、必要に応じてＷの各要素が「０」から「１」の値になるように正規化を行ったり、（式３）の最小化問題を解く際に、下記の（式５）で表されるような制約条件を追加したりしてもよい。
【数５】
2019128804.tif 000007
【００９４】
Attribute重要度自動設定部１００１の他の実現方法として、Attribute空間内での既存クラス、新規クラスのサンプル、および擬似サンプルを用いて、各クラスに対するAttributeごとの重要度を推定する方法も考えられる。一例として、単一のAttributeを用いた際に、どの程度各クラスを他のクラスから分離することができるかというクラス分離能を計算し、これをAttributeの重要度として用いることができる。付言するならば、設定部は、処理対象のクラスに対する各中間的表現のクラス分離率を各中間的表現の重要度として推定してもよい。
【００９５】
クラスｋに対するAttribute  ｊのクラス分離能は、例えば、サンプルおよび擬似サンプルＸ＝｛ｘ１，ｘ２，・・・，ｘｎ｝並びにそのラベルＹ＝｛ｙ１，ｙ２，・・・，ｙｎ｝を用いて、まず、下記の（式６）の最適化問題を解くことによってパラメータａ（ｊ），ｂ（ｊ）を決定する。
【数６】
2019128804.tif 000008
【００９６】
続いて、下記の（式７）によってクラス分離能を計算することができる。ここで、ｘｉ（ｊ）は、ｉ番目の（擬似）サンプルのｊ番目のAttributeの値である。ｙｉ（ｋ）は、ｉ番目のサンプルがクラスｋのラベルを持つときに「１」、それ以外のときに「−１」となる二値変数である。Ｃは、ハイパーパラメータである。
【数７】
2019128804.tif 000009
【００９７】
以上のような処理により、各クラスに対するAttributeごとの重要度をユーザに手動で設定させることなく、精度のよい認識ができるようになる。
【００９８】
（３）第３の実施の形態
第１の実施の形態および第２の実施の形態で説明したシステムにより、学習データが全くない、または極めて少量しかないような新規クラスの認識を、各クラスに対するAttributeごとの重要度を考慮することで、精度よく認識できるようになる。しかしながら、既存のAttributeのみでは新規クラスに対してユーザの望む認識精度が得られないことがあり得る。例えば、行動認識システムにおいて、上半身のみが関与する行動のみを扱っており、Attributeとしても上半身の動作に関するものを用いていたが、新規クラスとして、下半身の動作も伴うような行動を扱う場合、この新規クラスは、既存の上半身の動作に関するAttributeのみでは十分な精度での認識が難しい。この点、従来のシステムでは、既存のAttributeが各クラスの認識にどの程度有効であるかということに関して明確な指標を持たないため、このような状況を客観的に判断することが困難である。
【００９９】
そこで、本実施の形態では、システムがAttributeごとの重要度を用いて上述のような状況を判断し、必要に応じて新たなAttributeを設定することで、認識精度を更に向上させることができるAttribute追加機能付認識システムについて説明する。なお、第１の実施の形態の構成と同じ構成については、同一の符号を用いてその説明を適宜省略する。
【０１００】
図１１は、本実施の形態に係るAttribute追加機能付認識システム（認識システム１１００）の構成の一例を示す図である。認識システム１１００は、図１に記載の構成（認識システム１００）に加えて、Attribute追加部１１０１を備える。なお、中央演算処理装置２０２がアプリケーションプログラムを実行することによって、Attribute追加部１１０１が実現される。
【０１０１】
以下、Attribute追加部１１０１の処理について説明する。Attribute追加部１１０１は、第１の実施の形態および第２の実施の形態に記載の手法を用いて、新規クラスに対する各既存Attributeの重要度を計算する。そして、Attribute追加部１１０１は、例えば、計算した重要度の何れもが所定の閾値より低い場合、これら既存のAttributeでは当該新規クラスを精度よく認識することができないと判断し、新規Attributeの追加を行う。付言するならば、Attribute追加部１１０１は、新規のクラスに対する各中間的表現の重要度に基づいて中間的表現を追加する追加部の一例である。
【０１０２】
新規Attributeの追加に際しては、ユーザがそれを手動で設定するためのインタフェースを用意してもよいし、新たなAttributeを自動で設定してもよい。
【０１０３】
自動で設定する手法としては、例えば次のような方法が考えられる。即ち、Attribute追加部１１０１は、Attribute空間として単語埋め込み空間を用い、各Attributeの埋め込みベクトルを用いてＰＣＡ（Principal  Component  Analysis）を行い、最も小さな固有値に対する固有ベクトルを抽出する。この固有ベクトルは、既存のAttributeの埋め込みベクトルの分散が最も小さい方向であるから、既存のAttributeには含まれていない情報を含む方向であると考えることができる。
【０１０４】
そこで、Attribute追加部１１０１は、予め設けられるAttributeの候補となる単語の中で、この固有ベクトルと最も近いものを新規Attributeとして用いる。これは、例えばAttributeの候補となる単語の埋め込みベクトルと当該固有ベクトルとのコサイン類似度を基準に判断することができる。なお、このようにして追加された新規Attributeを既存クラスの認識にも用いるようにしてもよいし、既存クラスに対する認識精度に影響を与えたくない場合は、新たに追加されたAttributeの重みを「０」としておけばよい。
【０１０５】
以上のように、既存のAttribute空間において加味されていない方向にAttributeを追加することで、新規クラスが既存のAttributeのみでは精度よく認識できないような場合でも、追加された新たなAttributeを用いることができるようになり、精度の向上が見込める。
【０１０６】
（４）第４の実施の形態
本実施の形態では、認識対象として人間の行動を考え、そのAttributeの１つとして、行動を認識したいユーザの周囲における既定のオブジェクトの存在確率を用いる場合について、オブジェクトに対する重要度の設定方法の例を特に詳細に述べる。オブジェクトの存在確率は、グラスタイプのカメラデバイスなどから取得できるユーザの一人称視点の画像または映像を用いて計算するものとする。また、本実施の形態では、新規クラスのAttribute空間上でのサンプルは、擬似サンプルではなく少量の実データから得られる（即ちOne-shot  learningまたはFew-shot  learningの設定）と仮定する。
【０１０７】
既往の研究により、行動認識をするに当たっては、その周囲に存在するオブジェクトが重要な情報を持っていることが明らかにされている。例えば、「本を読む」という行動を認識するためには、本を持つ手の形（姿勢）や比較的強度の低い身体動作と同時に、「本」というオブジェクトが存在するか否かという情報が重要であることは明らかである。同様に、「ＳＭＳ（Short  Message  Service）を送る」という行動を認識するためには、指の動作に関する情報と共に、「携帯電話」というオブジェクトの存在が重要である。そこで、例えば、これらの行動を新規クラスとして定義する場合、「本」、「携帯電話」というオブジェクトの存在有無または存在確率をAttributeとして用いることは自然である。
【０１０８】
しかしながら、これらの新規クラスの行動のサンプル（学習データ）を取得する際に、例えばオフィスのような環境でデータ収集を行ったとすると、「本を読む」という行動クラスのサンプルデータを収集する際に、「本」というオブジェクト以外にも「携帯電話」も画像フレーム中に入り込んでしまうことがあり得る。この場合、「本を読む」という行動は、「本」および「携帯電話」の両方のオブジェクトが存在している（その存在確率が高い）ものとして定義されてしまう。言い換えれば、その他のAttributeが全て「本を読む」という行動と一致していても、「携帯電話」が存在していなければ、「本を読む」という行動が認識されなくなることがあり得る。
【０１０９】
これは、「本を読む」という行動に対して、「携帯電話」というAttributeの重要度は低いにも関わらず、それを考慮せずに認識処理を行っているために生じる問題である。
【０１１０】
通常、ユーザは何らかの行動をする際、その行動に関連の強いオブジェクトに注視を向けると考えられる。例えば、「本を読む」場合は「本」に、「ＳＭＳを送る」場合は「携帯電話」に注視を向ける。そのため、行動にとって重要なオブジェクトには注視が集まりやすいと考えられる。
【０１１１】
そこで、本実施の形態では、ユーザの注視情報（注視有無、注視確率など）を用いてオブジェクトの存在有無または存在確率、即ちAttributeの重要度を設定することができる注視情報利用Attribute重要度設定機能付認識システムについて説明する。なお、第１の実施の形態の構成と同じ構成については、同一の符号を用いてその説明を適宜省略する。
【０１１２】
図１２は、本実施の形態に係る注視情報利用Attribute重要度設定機能付認識システム（認識システム１２００）の構成の一例を示す図である。認識システム１２００は、図１に記載の構成（認識システム１００）に加えて、注視情報利用Attribute重要度設定部１２０１を備える。付言するならば、注視情報利用Attribute重要度設定部１２０１は、オブジェクトに対するユーザの注視情報に基づいてこのオブジェクトに係る重要度を設定する設定部の一例である。なお、中央演算処理装置２０２がアプリケーションプログラムを実行することによって、注視情報利用Attribute重要度設定部１２０１が実現される。
【０１１３】
以下、注視情報利用Attribute重要度設定部１２０１の処理について説明する。新規クラスの学習データを収集するに当たり、合計Ｆフレーム分の映像データを取得したとする。この場合、Ｆフレームで１つの行動データに対応すると考えてもよいし（One-shot  learning）、数個の行動データで合計Ｆフレームの映像データを収集したと考えてもよい（Few-shot  learning）。注視情報利用Attribute重要度設定部１２０１は、このＦフレームのデータを用いて、下記の（式８）によって、Attribute  ｊの重要度Ｉｊを計算する。
【数８】
2019128804.tif 000010
【０１１４】
ここで、ｆ（ｏｉ（ｊ））は、フレームｉにおいて、オブジェクトｊの上にユーザの注視点がある場合に「１」、それ以外の場合に「０」となる関数である。注視点の位置は、例えば視線追跡メガネ（Eye-tracking  glasses）などの既製品を用いて得ることができる。また、必要に応じてＩｊを最大値が「１」、最小値が「０」になるように正規化してもよい。
【０１１５】
次に、視線追跡メガネなどの注視点情報を取得するための特別な製品を用いることなく、より廉価な一人称視点の画像または映像が取得できる製品を用いて、一人称視点の画像または映像のみから注視点情報を抽出する手法について説明する。
【０１１６】
図１３は、本実施の形態に係る注視情報利用Attribute重要度設定機能付認識システム（認識システム１３００）の構成の一例を示す図である。認識システム１３００は、図１３のように、注視推定部１３０１を備える構成となる。なお、中央演算処理装置２０２がアプリケーションプログラムを実行することによって、注視推定部１３０１が実現される。
【０１１７】
図１４は、注視推定部１３０１の構成の一例を示す図である。注視推定部１３０１は、例えば、ＣＮＮを用いてオブジェクト認識とのマルチタスク学習として注視推定を行う。付言するならば、注視推定部１３０１は、ユーザの一人称視点の画像または映像に基づいて、オブジェクトの特定と注視の推定とをマルチタスク学習し、このユーザの注視情報を推定する推定部の一例である。
【０１１８】
注視推定部１３０１は、入力データである画像フレームの列を、オブジェクト認識および注視推定の両方の共通モジュールとなるベースネットワークで処理する。定性的には、ベースネットワークでは、低次の特徴抽出が行われると解釈することができる。その後、注視推定部１３０１は、ベースネットワークの出力である特徴マップ（feature  map）をオブジェクト認識ネットワーク、注視推定ネットワークのそれぞれに入力として与える。
【０１１９】
オブジェクト認識ネットワークでは、注視推定部１３０１は、各オブジェクトの存在確率と各オブジェクトの各フレーム中での存在位置とを推定結果として出力する。また、注視推定部１３０１は、注視推定ネットワークには、ベースネットワークの出力である特徴マップ以外に、オブジェクト認識ネットワークの出力（結果）である各オブジェクトの存在確率と各オブジェクトのフレーム中での存在位置とを入力する。定性的には、画像特徴に加え、注視を引きやすいオブジェクトの情報などを学習することができ、注視推定の精度が向上することが期待できる。
【０１２０】
また、事前準備として、ベースネットワーク、オブジェクト認識ネットワーク、および注視推定ネットワークについて、パラメータの調整（チューニング）をまとめて行う方法について説明する。
【０１２１】
オブジェクト認識ネットワークでは、注視推定部１３０１は、Ｌｏｂｊ＝Ｌｃｌａｓｓ+αＬｌｏｃで表されるロス（正解値に対してどのくらい相違するかを示す値）の勾配を所定のアルゴリズム（例えば、誤差逆伝播法）によって求めることで、ネットワークの重み（オブジェクト認識ネットワークにおけるパラメータ）を更新することができる。注視推定ネットワークでは、注視推定部１３０１は、βＬｇａｚｅで表されるロスの勾配を所定のアルゴリズム（例えば、誤差逆伝播法）によって求めることで、ネットワークの重み（注視推定ネットワークにおけるパラメータ）を更新することができる。
【０１２２】
ここで、Ｌｃｌａｓｓは、オブジェクトのクラス識別に関するロスであり、例えばソフトマックス関数（softmax  function）を用いることができる。Ｌｌｏｃは、オブジェクトの位置同定に関するロスであり、例えばオブジェクトの位置をバウンディングボックス（bounding  box）の中心座標とその幅および高さで表すとき、それらの正解値（ground  truth）との二乗誤差を用いることができる。Ｌｇａｚｅは、例えば、推定された注視位置と視線追跡メガネなどを用いて得た正解値の注視位置とのユークリッド距離などを用いることができる。α、βは、各ロスの重みを調整するパラメータであり、クロスバリデーションなどにより最適な値を決定できる。
【０１２３】
ベースネットワークでは、注視推定部１３０１は、これらのロスの和Ｌ＝Ｌｃｌａｓｓ+αＬｌｏｃ＋βＬｇａｚｅの勾配を所定のアルゴリズム（例えば、誤差逆伝播法）によって求めることで、ネットワークの重み（ベースネットワークにおけるパラメータ）の更新を行う。
【０１２４】
なお、注視推定ネットワークの出力（注視情報）としては、フレーム中の各位置に注視点が存在する確率を示す確率マップとしてもよい。
【０１２５】
また、何らかのオブジェクトを把持している際は、そのオブジェクトに注視が集まり易いことを考慮し、フレーム中に手が存在する場合にその位置を推定するネットワークを加えてもよい。この場合、図１５に示すように、図１４のネットワークに手推定ネットワークを追加し、この出力も注視推定ネットワークに入力するようにする。付言するならば、推定部は、ユーザの一人称視点の画像または映像における画像フレーム内の手の存在確率または手の有無、および手のフレーム内の位置の情報を更に用いて、オブジェクトの特定と注視の推定とをマルチタスク学習し、ユーザの注視情報を推定してもよい。
【０１２６】
また、パラメータの調整に関しては、手推定ネットワークでは、注視推定部１３０１は、ロスγＬｈａｎｄの勾配を所定のアルゴリズム（例えば、誤差逆伝播法）によって求めることで、ネットワークの重み（手推定ネットワークにおけるパラメータ）の更新を行う。この場合、ベースネットワークでは、注視推定部１３０１は、Ｌ＝Ｌｃｌａｓｓ＋αＬｌｏｃ＋βＬｇａｚｅ＋γＬｈａｎｄの勾配を所定のアルゴリズム（例えば、誤差逆伝播法）によって求めることで、ネットワークの重み（ベースネットワークにおけるパラメータ）の更新を行う。
【０１２７】
Ｌｈａｎｄとしては、例えば、推定された手の位置を表すバウンディングボックスの中心座標とその幅および高さと、正解値のバウンディングボックスの中心座標とその幅および高さとの二乗誤差を用いることができる。γは、Ｌｈａｎｄの重みを調整するパラメータである。
【０１２８】
（５）他の実施の形態
なお上述の実施の形態においては、本発明を認識システム（１００，８００，１０００，１１００，１２００，１３００）に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の特定システムに広く適用することができる。
【０１２９】
また上述の実施の形態においては、認識システム１００を一の計算機２００で実現する場合について述べたが、本発明はこれに限らず、認識システム１００を複数の計算機で実現するようにしてもよい。この場合、例えば、Attribute計算用ＤＢ１０２、Attribute計算部１０３、認識用ＤＢ１０４、Attribute重要度ＤＢ１０５、および認識部１０６の各々は、適宜の計算機に設けられる。
【０１３０】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更および同等の構成を含むものである。例えば、上述した実施例は、本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除および置換をすることが可能である。
【０１３１】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、記憶装置（メモリ）、ハードディスク、ＳＳＤ  （Solid  State  Drive）等の記憶装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の非一時的な記録媒体に格納することができる。
【０１３２】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品に実装する上で必要な全ての制御線および情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【０１３３】
また上述した構成については、本発明の要旨を超えない範囲において、適宜に、変更したり、組み替えたり、組み合わせたり、省略したりしてもよい。
【符号の説明】
【０１３４】
１００……認識システム、１０１……入力データ、１０２……Attribute計算用ＤＢ、１０３……Attribute計算部、１０４……認識用ＤＢ、１０５……Attribute重要度ＤＢ、１０６……認識部。
【図１】
2019128804.tif 000011
【図２】
2019128804.tif 000012
【図３】
2019128804.tif 000013
【図４】
2019128804.tif 000014
【図５】
2019128804.tif 000015
【図６】
2019128804.tif 000016
【図７】
2019128804.tif 000017
【図８】
2019128804.tif 000018
【図９】
2019128804.tif 000019
【図１０】
2019128804.tif 000020
【図１１】
2019128804.tif 000021
【図１２】
2019128804.tif 000022
【図１３】
2019128804.tif 000023
【図１４】
2019128804.tif 000024
【図１５】
2019128804.tif 000025