JP2019128804A - 特定システムおよび特定方法 - Google Patents
特定システムおよび特定方法 Download PDFInfo
- Publication number
- JP2019128804A JP2019128804A JP2018010096A JP2018010096A JP2019128804A JP 2019128804 A JP2019128804 A JP 2019128804A JP 2018010096 A JP2018010096 A JP 2018010096A JP 2018010096 A JP2018010096 A JP 2018010096A JP 2019128804 A JP2019128804 A JP 2019128804A
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- unit
- importance
- class
- storage unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Image Analysis (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
【課題】処理対象を高精度に特定し得る特定システムおよび特定方法を提供する。【解決手段】処理対象の各属性を示す各中間的表現を各次元とする中間的表現空間に処理対象を射影するためのパラメータを格納する第1格納部と、第1格納部に格納されるパラメータに基づいて、所定のセンサから得られる入力データまたは入力データに所定の前処理を施して得られる値を中間的表現空間に射影する計算部と、中間的表現空間において処理対象を特定する際に使用するパラメータを格納する第2格納部と、処理対象の各属性を示す各中間的表現の重要度を処理対象に対応付けて格納する第3格納部と、第2格納部に格納されているパラメータと、第3格納部に格納されている重要度と、計算部の出力とに基づいて、入力データにおける処理対象を特定する特定部と、を設けるようにした。【選択図】図1
Description
本発明は特定システムおよび特定方法に関し、例えばセンサから得られる入力データに含まれる処理対象を特定する特定システムおよび特定方法に適用して好適なものである。
行動認識、物体認識、音声認識など、種々のセンサデータを用いて、そのセンサデータが示す対象を認識、識別、検出したいという需要がある。
例えば、監視システム、ライフログなどのために、カメラなどから得られるセンサデータを分析し、人間の行動を自動認識したいという需要がある。
そのような需要を満たすため、これまでに数多くの認識技術が開発されている。中でも、代表的な方法としては、認識対象となるクラスごとに、学習データ(それぞれのクラスに対応するセンサデータとそのクラス名のラベルデータと)を収集し、ニューラルネットワーク、SVM(Support Vector Machine)などの手法を用いて、センサデータとクラスラベルとの対応付けを学習する方法が挙げられる。
例えば、特許文献1には、身体の動きを認識して装置の機能を制御するための動作認識方法が開示されている。より具体的には、特許文献1には、生体信号センサの出力信号からユーザの意図的動作による動きアーチファクトを検出し、検出された動きアーチファクトの信号パターンが基準信号パターンに対応する場合、基準信号パターンに対応するターゲット装置の機能を制御する制御信号を生成する方法が開示されている。
しかしながら、認識対象のクラスごとに学習データを予め収集し、その学習データを用いてセンサデータとクラスラベルとの対応付けを学習する手法では、予め定められた対象クラス(既存クラス)以外のクラス(新規クラス)を新たに認識対象に加えようとすると、新規クラスの学習データを収集し、認識モデルを再度構築する必要がある。
これに対し、非特許文献1、特許文献2などで、新規クラスの学習データが少量しかない場合、または全くない場合でも、認識を可能にする手法が提案されている。一般に、新たな認識対象の学習データが全くない場合は、Zero-shot learning、サンプルが1つしかない場合はOne-shot learning、少量しかない場合はFew-shot learningと呼ばれている。
これら以外の一般的な認識手法では、学習データの入力空間(または入力空間を変換した特徴空間)内での分布から、各クラスが入力空間(特徴空間)内でどのような位置に分布するかを予め学習し、新たなサンプルが与えられると、当該サンプルの入力空間(特徴空間)内での位置をもとに、クラス認識を行う。これに対し、Zero-shot learningでは、入力信号(または入力信号を変換した特徴量)を一度、中間的表現(これはしばしばAttributeと呼ばれ、本願でもこの用語を用いる。)へと変換し、このAttribute空間内で各サンプルの識別を行う。入力データと出力ラベルとの中間的表現であるAttributeは、識別対象の属性を表すものである。例えば、画像認識などで従来よく用いられているSIFT(Scale-Invariant Feature Transform)特徴量をはじめとする特徴量については、人間がその値を直感的に解釈することは困難であるが、Attributeについては、多くの場合、人間が解釈可能である。Attributeの具体的な例については後述する。入力空間XからAttribute空間Aへの射影f:X->Aは、既存の学習データを用いて学習する一方で、Attribute空間内で各クラスがどのような位置に分布するかは、学習データによらない方法で定義することで、学習データがない場合、即ち新たな認識対象(新規クラス)であっても認識が可能になる。
例えば、画像データを用いた物体認識のタスクにおいて、学習データの中に、犬、牛、人間、鶏などのデータが含まれていれば、「四本足かどうか」というAttributeを検出する識別器を構成することは可能である。同様に、シマダイ、ストライプシャツ、イルカ、無地のシャツなどのデータが含まれていれば「縞模様かどうか」というAttributeを検出する識別器を構成することは可能である。このようにして、入力からAttributeへの変換f:X->Aを既存の学習データから構築することができる。
ここで、認識対象、例えば「シマウマ」を検出したい場合、シマウマを「四本足」かつ「縞模様」のモノと定義すれば(この場合、Attribute空間内での「シマウマ」クラスの分布(点)の位置を手動で定義したことになる。)、シマウマの画像は、学習データに含まれていないにも関わらず、既存の学習データから学習した変換f:X->Aによって、シマウマの画像が与えられたとき、「四本足かどうか」および「縞模様かどうか」を判断することができ、両方ともYesである確率が高いとき、その画像がシマウマを表していると判断することができる。
なお、入力ベクトルから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によれば、新たな認識対象の学習データが(全く、1つしか、少量しか)ない場合でも、認識が可能になる。一方で、様々な対象を識別可能にするため、Attributeの数を増やす(Attribute空間の次元数を上げる)と、ある認識対象を識別するために有用であっても、別の認識対象を識別するためには重要でないようなAttributeが含まれ得る。
先の「シマウマ」の例では、例えば、「背景の空の色」は、当該画像に移っている場所の天気を分類するのには有用であると考えられるが、その画像の中にシマウマが映っているか否かを判断する上では重要ではない。
このように、重要でないAttributeが含まれる空間において、全てのAttribute(次元)を同等に扱ってnearest neighbor法などを適用すると、重要でないAttribute(次元)によって認識結果が影響を受けてしまい、認識精度が落ちるという問題が生じる。
本発明は以上の点を考慮してなされたもので、新規クラスの学習データが全くない、または少量しか入手できない場合でも、処理対象を高精度に特定し得る特定システムおよび特定方法を提案しようとするものである。
かかる課題を解決するため本発明においては、処理対象の各属性を示す各中間的表現を各次元とする中間的表現空間に前記処理対象を射影するためのパラメータを格納する第1格納部と、前記第1格納部に格納されるパラメータに基づいて、所定のセンサから得られる入力データまたは前記入力データに所定の前処理を施して得られる値を中間的表現空間に射影する計算部と、中間的表現空間において処理対象を特定する際に使用するパラメータを格納する第2格納部と、処理対象の各属性を示す各中間的表現の重要度を前記処理対象に対応付けて格納する第3格納部と、前記第2格納部に格納されているパラメータと、前記第3格納部に格納されている重要度と、前記計算部の出力とに基づいて、前記入力データにおける処理対象を特定する特定部と、を設けるようにした。
また本発明においては、処理対象の各属性を示す各中間的表現を各次元とする中間的表現空間に前記処理対象を射影するためのパラメータを格納する第1格納部と、中間的表現空間において処理対象を特定する際に使用するパラメータを格納する第2格納部と、処理対象の各属性を示す各中間的表現の重要度を前記処理対象に対応付けて格納する第3格納部と、を備える特定システムにおける特定方法であって、計算部が、前記第1格納部に格納されるパラメータに基づいて、所定のセンサから得られる入力データまたは前記入力データに所定の前処理を施して得られる値を中間的表現空間に射影する第1のステップと、特定部が、前記第2格納部に格納されているパラメータと、前記第3格納部に格納されている重要度と、前記計算部の出力とに基づいて、前記入力データにおける処理対象を特定する第2のステップと、を設けるようにした。
上記構成によれば、例えば、新規クラスの学習データが全くない、または少量しか入手できない場合でも、処理対象を高精度に特定することができる。
本発明によれば、処理対象を高精度に特定することができる。
上述した以外の課題、構成および効果は、以下の実施の形態の説明により明らかにされる。
以下図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
本実施の形態では、一般にZero-shot learning、One-shot learning、Few-shot learningと称される手法に対する改善手法を提供する。これら以外の機械学習手法を用いる際は、認識対象のクラスの事物のサンプルデータ(学習データ)を予め収集し、その学習データに基づいて認識モデルを構築する。そのため、学習データを(大量に)収集できたクラス(これを本明細書では既存クラスと称することがある。)の認識は可能であるが、学習データが全くない、または極めて少量しかないようなクラス(これを本明細書では新規クラスと称することがある。)の認識は不可能である。これに対し、Zero-shot learning、One-shot learning、およびFew-shot learningでは、それぞれ、認識対象のクラスの事物のサンプルデータが学習データに全く含まれていないような場合、1サンプルしか含まれていないような場合、少量しか含まれていないような場合でも、Attribute(中間的表現)を用いることで、当該クラスの認識を可能にする。本実施の形態では、Attributeを用いた認識を行う際の精度向上のための新規のシステムおよび方法を提供しており、以下では、具体的な構成を説明する。
本実施の形態では、一般にZero-shot learning、One-shot learning、Few-shot learningと称される手法に対する改善手法を提供する。これら以外の機械学習手法を用いる際は、認識対象のクラスの事物のサンプルデータ(学習データ)を予め収集し、その学習データに基づいて認識モデルを構築する。そのため、学習データを(大量に)収集できたクラス(これを本明細書では既存クラスと称することがある。)の認識は可能であるが、学習データが全くない、または極めて少量しかないようなクラス(これを本明細書では新規クラスと称することがある。)の認識は不可能である。これに対し、Zero-shot learning、One-shot learning、およびFew-shot learningでは、それぞれ、認識対象のクラスの事物のサンプルデータが学習データに全く含まれていないような場合、1サンプルしか含まれていないような場合、少量しか含まれていないような場合でも、Attribute(中間的表現)を用いることで、当該クラスの認識を可能にする。本実施の形態では、Attributeを用いた認識を行う際の精度向上のための新規のシステムおよび方法を提供しており、以下では、具体的な構成を説明する。
図1において、100は全体として第1の実施の形態による認識システムを示す。認識システム100は、入力データ101、Attribute計算用DB(database)102、Attribute計算部103、認識用DB104、Attribute重要度DB105、および認識部106を備える。
認識システム100に認識させる事物の例としては、人間の行動(行動認識システム)、画像、映像などに映る物体(オブジェクト認識システム)、音声(音声認識システム)、文字(文字認識システム)などがある。以下では、主に行動認識システムを例に挙げて具体的な処理(ステップ)を説明するが、認識システム100の認識対象は、行動認識システムに限定されるものではない。
入力データ101の取得には、カメラ、マイク、距離センサ、加速度センサ、ジャイロセンサ、筋電センサ、脈拍・心拍センサ、照度センサ、圧力センサなど種々のセンサを1つまたは複数組み合わせて用いることができ、センサの種類や数については限定をしない。また、センサの計測値を一度ハードディスクなどに格納してからAttribute計算部103に入力し、以後の処理を行うようにしてもよいし(オフライン処理)、センサから読み取った計測値を直接Attribute計算部103に入力して以後の処理を行うようにしてもよい(リアルタイム処理)。
機械学習の分野においては、「認識(recognition)」、「識別(classification)」、「検出(detection)」、「位置同定(localization)」などの用語が用いられることがある。本明細書中では、「認識」システムの例を記述するが、これを識別問題、検出問題、位置同定問題に応用することは容易であるため、本発明の適用範囲は認識問題に限定されない。なお、「認識」、「識別」、「検出」、「位置同定」などの用語の上位概念を示す用語として「特定」を適宜用いる。
例えば、本明細書においては「識別」とは、1つの入力データに対し、識別対象となるクラスが必ず1つ対応づくような場合に、そのクラスを同定することを指す。「認識」とは、1つの入力データに対し、認識対象となるクラスがあるかもしれないし、1つまたは複数あるかもしれないような場合に、認識対象となるクラスがあればそれがどこにあるかを同定することを指すものとする。
ここで、ウェアラブルセンサを用いた行動認識および行動識別の例では、一定時間のセンサの計測値全体が何らかの1つの対象行動に対応付いている場合に、その行動が何かを同定する問題が「識別」問題である。一定時間のセンサデータの中に0個以上の対象行動が対応付いている場合に、何らかの対象行動が含まれているとすれば、それはいつからいつまででどの行動かを同定する問題が「認識」問題である。
同様に、画像を用いたオブジェクト認識およびオブジェクト識別の例では、ある一枚の画像全体が何らかの1つの対象オブジェクトを表している場合に、そのオブジェクトが何かを同定する問題が「識別」問題である。その画像中に0個以上の対象オブジェクトがある場合に、何らかの対象オブジェクトが含まれているとすれば、それは画像中のどの位置でそのオブジェクトは何かを同定する問題が「認識」問題である。
まず、認識システム100の概要を説明する。認識システム100は、入力データ101の値を読み取る。そして、Attribute計算部103は、その値を用いて必要に応じて特徴抽出処理などを施し、Attribute計算用DB102に格納されたパラメータを用いて、入力データのAttribute空間への射影を行う。認識部106は、その出力を受け取ると共に、認識用DB104に格納されているAttribute空間内で認識処理を行うためのパラメータを読み取り、Attribute重要度DB105に格納されているAttributeごとの重要度(重要性)を加味して、入力データの認識処理を行う。各処理、各DB内に格納されるデータなどの詳細については後述する。
付言するならば、Attribute計算用DB102は、処理対象の各属性を示す各中間的表現を各次元とする中間的表現空間にこの処理対象を射影するためのパラメータを格納する第1格納部の一例である。Attribute計算部103は、第1格納部に格納されるパラメータに基づいて、所定のセンサから得られる入力データまたはこの入力データに所定の前処理を施して得られる値を中間的表現空間に射影する計算部の一例である。認識用DB104は、中間的表現空間において処理対象を特定する際に使用するパラメータを格納する第2格納部の一例である。Attribute重要度DB105は、処理対象の各属性を示す各中間的表現の重要度をこの処理対象に対応付けて格納する第3格納部の一例である。認識部106は、第2格納部に格納されているパラメータと、第3格納部に格納されている重要度と、計算部の出力とに基づいて、入力データにおける処理対象を特定する特定部の一例である。
図2は、認識システム100におけるハードウェア構成の一例を示す図である。認識システム100は、例えば、図2に示すようなハードウェア構成を備える計算機200を用いて実現することができる。計算機200は、ノートパソコン、タブレット端末などであり、入力装置201、中央演算処理装置202、主記憶装置203、補助記憶装置204、出力装置205、およびバス206を備える。入力装置201、中央演算処理装置202、主記憶装置203、補助記憶装置204、および出力装置205は、バス206を介してデータのやり取りが可能である。
入力装置201は、キーボード、マウス等であり、各種の情報を入力する。中央演算処理装置202は、例えばCPU(Central Processing Unit)であり、主記憶装置203に格納されたプログラムを実行する。主記憶装置203は、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶装置であり、オペレーティングシステム(OS)、アプリケーションプログラムなどを格納する。中央演算処理装置202がOSを実行することによって、計算機200の基本機能が実現され、アプリケーションプログラムを実行することによって、Attribute計算部103、認識部106(認識システム100の機能)が実現される。Attribute計算部103および認識部106の処理の詳細については後述する。
補助記憶装置204は、磁気記憶装置、フラッシュメモリ等の大容量かつ不揮発性の記憶装置であり、中央演算処理装置202によって実行されるプログラム、プログラム実行時に使用されるデータ等を格納する。例えば、中央演算処理装置202が実行するプログラムは、補助記憶装置204から読み出され、主記憶装置203にロードされ、中央演算処理装置202によって実行される。また、Attribute計算用DB102、認識用DB104、およびAttribute重要度DB105は、補助記憶装置204内に格納されている。
出力装置205は、液晶ディスプレイ、プロジェクタ、プリンタなどであり、認識結果を出力することができる。このほかに、Attribute計算部103、認識部106の演算の高速化のために、GPU(Graphics Processing Unit)を用いてもよい。
入力データ101については、USB(Universal Serial Bus)ケーブルなどを用いてセンサと計算機200を接続して計算機200に送信されてもよいし、ネットワークを経由して送信されてもよいし、CD(Compact Disc)、DVD(Digital Versatile Disc)などのメディアに一度書き出されてから、それを計算機200で読み込まれるようにしてもよい。
以下では、認識システム100が行動認識システムである場合を例に挙げて、各処理、データ形式などについてより詳細に説明する。複雑な行動を精度よく自動認識するためには、複雑な行動をより基本的な要素に分解して考え、段階的に認識を行うことで認識精度が向上することが知られている。すなわち、まず第1段階として入力データから各要素の認識を行い、第2段階でその各要素の認識結果をもとに行動認識を行う。
複雑な行動を構成する簡単な要素の例としては、動作が挙げられる。ここで、動作とは、「腕を上げる」、「しゃがむ」、「歩く」などの比較的単純な身体活動および物体の動きを指す。行動とは、「モノを移動させる」、「探し物をする」など、複数の動作やモノが関与してより高次の意味を持つ行為を指す。一例として、「モノを移動させる」という行動は、「つかむ」、「歩く」、「放す」といった3つの動作の組み合わせとして表現することができる。
なお、実際には「動作」と「行動」とを明確に区別することは困難であるが、認識システム100における主旨は、複雑な現象を、単純かつ基本的な現象の組み合わせとして表現する、ということであり、その意味においてここで言う「動作」と「行動」とを明確に定義することは、認識システム100を実施する上では必ずしも必要ではない。
例えば、必要に応じて、上記で動作の一例として説明した「歩く」を、行動と捉え、より細かな脚の動き、腕の動き等を動作として捉えてもよいし、また行動の一例として説明した「モノを移動させる」を、より複雑な「部屋の掃除をする」という行動に対する基本的な動作要素として捉えてもよい。
このように、行動を段階的に表現する際に、2段階以上に分けて考えることも可能である。例えば、認識部106が認識する対象(特定部が特定する処理対象)としては、人間の行動および/または人間の動作が挙げられる。また、行動を構成する基本的な要素としては、動作の他に、体の姿勢(ポーズ)、周囲に存在するオブジェクトなどを用いてもよい。
Attribute計算部103で計算されるAttributeとは、定性的には、この行動を構成する基本的な要素のことを指す。上述のように動作、姿勢、周囲のオブジェクトなどがAttributeの一例となる。換言するならば、処理対象の各属性を示す各中間的表現の1つとして、人間の行動を構成する基本的な要素である動作若しくは姿勢の発生有無、または発生確率が含まれる。また、処理対象の各属性を示す各中間的表現の1つとして、行動を特定したいユーザの周囲における既定のオブジェクトの存在有無または既定のオブジェクトの存在確率が含まれる。
例えば、「紙を移動させる」という行動は、「つかむ」、「歩く」、「放す」という動作と、「紙」というオブジェクトの組み合わせで表現することができる。そこで、Attribute空間を「つかむ」、「歩く」、「放す」、「紙」に相当する4次元空間と考え、後述するAttribute計算部103の処理の結果として入力データ中に各動作、オブジェクト等が認識された場合には「1」を、認識されなかった場合には「0」を割り当てるとすると、「紙を移動させる」という行動は、このAttribute空間上で、点(1,1,1,1)で表現できる。
実際には、他の行動も認識できるようにするため、別のAttribute(次元)も用いる場合もあり、仮にAttribute空間を「つかむ」、「歩く」、「放す」、「ジャンプする」、「紙」、「猫」と定義すると、「紙を移動させる」という行動は、点(1,1,1,0,1,0)となる。
ここでは、各Attributeが認識されたか否かを「0」か「1」か(存在有無、発生有無など)で表現する例を示したが、その認識確率(存在確率、発生確率など)を用いて「0」から「1」の間の実数で表現してもよいし、「1」より大きい値や負の値を用いるようにしてもよい。
ここで、Attributeの計算が、機械学習においてしばしば用いられる特徴抽出処理と異なるのは、Attribute空間内における対象事物の認識が、必ずしも学習データによらずにできる(Zero-shot learning)、または極めて少量の学習データによってできる(One-shot learning、Few-shot learning)点である。
一般の特徴抽出処理では、特徴抽出を行った後、特徴空間内で認識処理を行おうとすると、認識対象の各クラスがその特徴空間内でどのように分布するかの事前知識がないため、これを(大量の)学習データによってモデル化する必要がある。
しかしながら、Attribute空間においては、例えば先の例のように、「紙を移動させる」という行動が、「つかむ」、「歩く」、「放す」、「ジャンプする」、「紙」、「猫」という6次元のAttribute空間内で(1,1,1,0,1,0)という点で表されることは、「紙を移動させる」という行動の学習データを取得することなく判断可能である。なお、この場合は、Attribute空間上での対象クラスの定義をマニュアルで与えていることに相当する。後に、これを別の方法で与える方法についても説明する。
ただし、入力データからAttribute空間への射影については、学習データを用いて学習を行う必要がある。そのためのパラメータを格納しておくのが、Attribute計算用DB102である。また、Attribute計算部103がAttribute計算用DB102に格納されたパラメータを読み出し、入力データのAttribute空間への射影計算を行う。
Attribute計算用DB102に格納しておくパラメータは、既存クラスの学習データを用いて、いわゆる教師つき学習(supervised learning)の手法を用いて求めることができ、任意の既存の手法を用いてよい。
例えば、入力データとしてウェアラブルセンサから取得した加速度データ、ジャイロデータなどを用い、Attributeとして動作を用いる場合、LSTM(Long-Short Term Memory)などのRNN(Recurrent Neural Network)を用いてもよい。この場合、例えば、ウェアラブルセンサをつけて認識対象となる動作を行い、その動作の開始時間と終了時間と動作名のラベルとを学習データとして用意する。そして、LSTMを用いて、センサデータから動作を認識するためのパラメータを学習する。
なお、動作認識の手法については、LSTMに限定する必要はなく、HMM(Hidden Markov Model)、CRF(Conditional Random Field)などを用いてもよい。また、入力データやAttributeについては、ウェアラブルセンサのデータや動作に限定する必要はなく、例えば入力データとして画像を用い、Attributeとしてオブジェクトを用いる場合、CNN(Convolutional Neural Network)、SVM(Support Vector Machine)などを用いることができる。また、これらの学習処理を行う前に、必要に応じてスムージング、特徴抽出などの前処理を行ってもよいし、入力データを直接用いてもよい。Attribute計算用DB102の中には、これらの認識モデルに応じたパラメータを格納しておく。例えば、ニューラルネットワークであれば、ネットワーク構造、各ニューロン間の重みパラメータなどを格納するようにする。
未知のデータ(ユーザの一人称視点の画像、映像など)から動作認識を行う際には、Attribute計算部103は、まずAttribute計算用DB102に格納されたパラメータを読み出し、与えられたデータに対して必要に応じて所定の前処理を施した後、認識モデルの出力値を計算する。典型的な出力としては、各認識対象の動作、オブジェクトなどの有無、確率などである。
図3は、Attribute計算部103の出力データの一例を示す図である。図3の例の場合、Attribute空間の次元は、「4」であるため、出力は、4次元のベクトルとなっている。なお、入力xiは、一般には多次元のベクトル、またはそれらのベクトルを複数まとめたものである。
続いて、一般的なZero-shot learning、One-shot learning、Few-shot learningにおける認識部106の処理および認識用DB104に格納されるデータについて説明する。その後、本実施の形態の特徴であるAttribute重要度DB105およびAttribute重要度DB105に格納されているAttributeごとの重要度を用いた認識部106の処理について説明する。
一般的なZero-shot learningにおいて、Attribute空間内でクラス認識をする場合に最もよく用いられる手法の1つは最近傍(nearest neighbor)法である。認識を行う入力データを「x」とし、それをAttribute計算部103によってAttribute空間に射影したものを「a」とおくと、最近傍法では、射影aとAttribute空間内での各サンプルとの距離を計算し、最も近いサンプルのクラスラベルを入力データxのクラスラベルとして認識する。
図4(A)において、例えば、「△」が入力データxの射影aを表し、「○」および「×」が既存クラスのサンプルを表すとすると、最近傍のサンプルは、「△」と破線でつながっている「○」であるため、入力データxは、○クラスに分類される。なお、一定の閾値を設けて、最近傍のサンプルとの距離が当該閾値以上の場合は、「該当クラス無し」といった判断をしてもよい。
しかしながら、このままでは、新規クラス(例えば□クラス)についてはサンプルが存在しないため、入力データが新規クラスに分類されることはない(□クラスのデータが入力されても正しく認識されない)。
そこで、Attribute空間内での新規クラスのサンプルを学習データによらない方法で定義する。例えば、認識システム100において、「運ぶ」という新規クラスの行動を認識させたいとして、例えば図4(A)のAttribute a1およびAttribute a2がそれぞれ「歩いている」、「つかんでいる」という動作(状態)を表すとすると、「運ぶ」クラスは、図4(B)のように、Attribute空間内で(1,1)という点で表すことができる。このように、新規クラスについてもAttribute空間内で擬似サンプルを生成することによって、認識が可能になる。
認識用DB104には、この例では、既存クラスのサンプルおよび新規クラスの擬似サンプルの座標値を格納しておき、認識部106は、入力データxの射影aとそれらサンプルとの距離を計算し、最も距離の近いもののクラスラベルを出力する処理を行う。最近傍法以外の手法を用いる際は、それに応じたパラメータを認識用DB104に格納し、それに応じた処理を認識部106で行う。
なお、この例では、既存クラスのサンプルについては、学習データをそのまま用いたが、既存クラスについても新規クラスと同様に擬似サンプルを生成してこれらを合わせて用いてもよいし、擬似サンプルだけを用いてもよい。また、擬似サンプルについては、1点のみを生成する必要はなく、例えば上記の例では、点(1,1)を中心とする正規分布に従って、既存クラスと同数程度のサンプルをランダムに発生させてもよい。この際、正規分布の共分散行列は、ハイパーパラメータとなり、クロスバリデーションなどの方法により定めることが好適である。
また、この例では、擬似サンプル(擬似サンプルの代表点)をマニュアルで生成する方法を述べたが、これらを別の方法で生成してもよい。一例としては、公知文献(例えば、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)で紹介されているような手法を用いることができる。すなわち、まず既存クラスの学習データを用いて下記の(式1)で表される目的関数を最小化するようなパラメータθを求める。
Through Cross-Modal Transfer, Advances in Neural Information Processing Systems
(NIPS), 2013)で紹介されているような手法を用いることができる。すなわち、まず既存クラスの学習データを用いて下記の(式1)で表される目的関数を最小化するようなパラメータθを求める。
ここで、Ysは、既存クラスの集合である。Xyは、クラスyの入力データ、またはそれに所定の特徴抽出処理を施したものの集合である。wyは、word2vecなど既存の手法を用いてクラスyのラベル名を空間Wの元となるようベクトル化したものである。以下では、クラスのラベル名などの単語をベクトルで表現することを「単語の埋め込み」と称し、この結果生成される単語を表現するベクトルを「(単語の)埋め込みベクトル」と称する。また空間Wのような埋め込みベクトルが元となる空間を「(単語の)埋め込み空間」と称する。θ(1)およびθ(2)は、パラメータである。fは、例えばtanhなどの非線形活性化関数である。
定性的には、(式1)は、入力データ(入力データの特徴ベクトル)を空間Wに射影する際のパラメータを、既存クラスの学習データを用いて学習していることになり、この空間Wが本明細書で述べてきたAttribute空間に相当する。新規クラスのAttribute空間、すなわち空間W上でのサンプルは、先にwyを空間Wに射影する際に用いたword2vecなどの既存の手法を用いることで入手することができる。より詳しくは上記公知文献を参照されたい。
このようにして、Zero-shot learningの手法を用いれば、例えば最近傍法を用いて新規クラスのデータであってもAttribute空間内での認識処理を行うことが可能である。しかしながら、従来の手法では、全てのAttributeを対等に扱っているため、認識対象のクラスによってAttributeごとの重要度が異なるような場合に、認識精度が低下してしまうことがある。
図5のようなケースにおいて、認識処理を行うデータ(以下、テストデータと称する。)については、例えば、Attribute a1よりもAttribute a2の方が重要であり、×クラスへの分類が適切であるとする。しかしながら、最近傍法を適用すると、d1<d2であるため、テストデータは、○クラスに分類される。この分類(誤認識)は、このケースにおいてはAttribute a1よりもAttribute a2の方が重要であるにも関わらず、これらのAttributeを対等に扱って最近傍法を適用したことに起因する。
例えば、認識システム100において、「タイピングをする」という行動と、「コーヒーを飲む」という行動とを認識したい場合に、図6の表の1列目にあるようなオブジェクト、動作、および姿勢に関するAttributeを用いるとし、各クラスのAttribute空間での擬似サンプルを図6の表の2列目および3列目のようにマニュアルで定義するとする。
「0」または「1」が記入されている箇所は、それぞれ該当Attributeがない場合またはある場合に相当する。「?」が記入されている箇所は、当該行動に対する当該Attributeは、ある場合もあればない場合もあり、あまり重要でないと考えられる。例えば、コーヒーを飲む際に、着席しながら飲むこともあれば、立ちながら飲むこともあるため、「着席(しているか否か)」という姿勢に関するAttributeは、「コーヒーを飲む」という行動を認識するためには重要でない。
この重要でないAttributeに対しても、例えば「0」、「1」、「0.5」などその中間の値を無理に定義し、テストデータの認識の際に、Attribute空間内での距離計算を行うと、例えば「コーヒーカップ」などの他の重要なAttributeは「コーヒーを飲む」という行動の定義と一致しているにも関わらず、この「着席」というAttributeが(実際にはこのAttributeの値はどんな値でもよいにも関わらず)定義と異なるため、正しく認識されないという事態が生じてしまう。
そこで、本実施の形態では、Attribute重要度DB105は、各クラスに対する、各Attributeの重要度を保持し、認識部106は、これを加味して認識処理を行う。より具体的には、Attribute重要度DB105は、図7のような表を予め保持しておく。図7の例では、例えば、w13、w15、w21、w22、w24、w26は、「0」に、その他は「1」に設定するとよい。
認識部106は、テストデータの認識の際に、例えば下記の(式2)に従って、テストデータと各サンプルおよび擬似サンプルとの距離を計算し、その距離が最小のサンプルのクラスラベルをテストデータのクラスラベルとして出力する。
ここでd(k)は、テストサンプルとk番目のサンプルとの距離を示す。wykiは、図7の表にあるような、クラスykに対するAttribute iの重みを示す。ai (k)は、k番目のサンプルのAttriubte iの値を示す。xiは、テストデータのAttribute iの値を示す。このように計算することで、各クラスに対する、各Attributeの重要度に応じて距離計算の際の重み付けを行うことができ、認識精度を向上させることができる。
Attributeの重要度の利用方法については、ここに述べたような各Attributeの値に重み付けをするような例以外にも、所定の閾値より重要度が高いAttributeのみを使う、重要度の高い順に所定の数k個のAttributeのみを用いる、上記kを「1」から所定の数まで変化させてそれぞれ認識処理を行った上で結果をアンサンブルする、重要度に応じて識別器にデータを与える順序を変更する、などの方法が考えられ、その詳細な利用方法については、限定をしない。
図7のように、各クラスに対する各Attributeの重要度を設定する際には、例えばGUI(Graphical User Interface)を用意して、ユーザに各Attributeの重要度を設定させるようにしてもよい。この場合、認識システム100(図1に記載の構成)に対して、図8のようにAttribute重要度設定GUI801を加えた構成(認識システム800)にする。なお、中央演算処理装置202がアプリケーションプログラムを実行することによって、Attribute重要度設定GUI801が実現される。なお、Attribute重要度設定GUI801は、第3格納部に格納される重要度をユーザに設定させるためのユーザインタフェース部の一例である。
図9は、各クラスに対する各Attributeの重要度を設定するためのGUIの一例を示す図である。このようなGUIを有する認識システム800は、人間の各関節が曲がっているか否かをAttributeとし、行動を認識するものとする。
ユーザは、まずテキストボックス901にAttributeの重要度を設定する行動クラス名を入力する。テキストボックスに直接入力するような構成ではなく、ドロップダウンリストなどから選択するような構成にしてもよい。
次に、ユーザは、図中の○印で示される関節位置902の中から、テキストボックス901で入力した行動クラス名の行動を認識するのに重要であると考えられる関節位置902を選択し、クリックする。クリック後は○印の表示態様が変化し(例えば、斜線が入り)、当該関節位置902が選択済みであることを示す。選択済みの関節位置902をもう一度クリックすると、選択を解除することも可能である。
ユーザは、選択を終えると、Setボタン903をクリックする。これによって、例えば、Attribute重要度設定GUI801は、選択された関節位置902に相当するAttributeの重要度を「1」に、それ以外の重要度を「0」に設定し、それらをAttribute重要度DB105に格納する。なお、「0」または「1」の値だけでなく、中間的な値などを設定したい場合、例えば各関節の隣にテキストボックスを表示し、当該テキストボックスにユーザが任意の数値を用いて重要度を入力できるようにしてもよいし、スライドバーのようなものを用いて入力できるようにしてもよい。
以上のようにして、各クラスに対するAttributeごとの重要度を考慮することで、新規クラスの学習データが全くない場合、または極めて少量しかない場合でも、より精度の高い自動認識が可能になる。上述の構成によれば、例えば、ジェスチャー認識によって家電製品、産業機械などの機器を操作するような場合に、新たな操作コマンドとなるジェスチャーを任意のタイミングでユーザが自由に定義することができ、かつその新規に定義されたジェスチャーを高精度に認識できるようになるので、ユーザの利便性が著しく向上する。
(2)第2の実施の形態
第1の実施の形態で説明したシステムにより、ユーザは、学習データが全くない、または極めて少量しかないような新規クラスの認識を、各クラスに対するAttributeごとの重要度を考慮することで、精度よく認識できるようになる。しかしながら、ユーザが各クラスに対するAttributeごとの重要度を手動で設定することが難しい場合、可能であっても手間がかかってしまう場合もあると考えられる。
第1の実施の形態で説明したシステムにより、ユーザは、学習データが全くない、または極めて少量しかないような新規クラスの認識を、各クラスに対するAttributeごとの重要度を考慮することで、精度よく認識できるようになる。しかしながら、ユーザが各クラスに対するAttributeごとの重要度を手動で設定することが難しい場合、可能であっても手間がかかってしまう場合もあると考えられる。
そこで、本実施の形態では、システムが各クラスに対するAttributeごとの重要度を推定して自動的に重要度を設定できるAttribute重要度自動設定機能付認識システムについて説明する。なお、第1の実施の形態の構成と同じ構成については、同一の符号を用いてその説明を適宜省略する。
本実施の形態によれば、各クラスに対するAttributeごとの重要度をユーザに手動で設定させることなく、精度のよい認識ができるようになる。
図10は、本実施の形態に係るAttribute重要度自動設定機能付認識システム(認識システム1000)の構成の一例を示す図である。認識システム1000は、図1に記載の構成(認識システム100)に加えて、Attribute重要度自動設定部1001を備える。付言するならば、Attribute重要度自動設定部1001は、第3格納部に格納される重要度を推定して設定する設定部の一例である。なお、中央演算処理装置202がアプリケーションプログラムを実行することによって、Attribute重要度自動設定部1001が実現される。
以下、Attribute重要度自動設定部1001の処理について詳細に説明する。一例としては、word2vecなどの単語埋め込みを利用することができる。この場合、第1の実施の形態でも説明したようにAttribute空間として単語の埋め込み空間を用いることになる。例えば、ある認識対象のクラスcを、Attribute A={a1,a2,・・・,an}を用いて認識する場合を考える。まずクラスcのラベル名をword2vecなどの手法を用いて埋め込み空間に埋め込み、その結果得られる埋め込みベクトルをxcとする。更に、同様にして、a1、a2、・・・、anを表すAttribute名をそれぞれ埋め込み空間に埋め込み、その結果得られる埋め込みベクトルをX={x1、x2、・・・、xn}とする。
pの値としては、例えば「2」を用いる。特にスパースな解を得たい場合、すなわちWのうち少数の要素以外は「0」になるような解を得たい場合は、p=1などを用いてもよい。λは、ハイパーパラメータであり、クロスバリデーションなどの方法を用いて定める。
このようにして得られたWは、クラスラベルを表現するための各Attributeの重要度であると解釈することができるため、Attribute重要度自動設定部1001は、この値をAttribute重要度DB105に格納(記録)する。付言するならば、設定部は、中間的表現空間として単語の埋め込み空間を用い、この埋め込み空間において処理対象のクラスを表現する埋め込みベクトルを中間的表現の埋め込みベクトルの線形結合として表現した際の各ベクトルの係数を各中間的表現の重要度として推定してもよい。
Attribute重要度自動設定部1001の他の実現方法として、Attribute空間内での既存クラス、新規クラスのサンプル、および擬似サンプルを用いて、各クラスに対するAttributeごとの重要度を推定する方法も考えられる。一例として、単一のAttributeを用いた際に、どの程度各クラスを他のクラスから分離することができるかというクラス分離能を計算し、これをAttributeの重要度として用いることができる。付言するならば、設定部は、処理対象のクラスに対する各中間的表現のクラス分離率を各中間的表現の重要度として推定してもよい。
クラスkに対するAttribute jのクラス分離能は、例えば、サンプルおよび擬似サンプルX={x1,x2,・・・,xn}並びにそのラベルY={y1,y2,・・・,yn}を用いて、まず、下記の(式6)の最適化問題を解くことによってパラメータa(j),b(j)を決定する。
続いて、下記の(式7)によってクラス分離能を計算することができる。ここで、xi (j)は、i番目の(擬似)サンプルのj番目のAttributeの値である。yi (k)は、i番目のサンプルがクラスkのラベルを持つときに「1」、それ以外のときに「−1」となる二値変数である。Cは、ハイパーパラメータである。
以上のような処理により、各クラスに対するAttributeごとの重要度をユーザに手動で設定させることなく、精度のよい認識ができるようになる。
(3)第3の実施の形態
第1の実施の形態および第2の実施の形態で説明したシステムにより、学習データが全くない、または極めて少量しかないような新規クラスの認識を、各クラスに対するAttributeごとの重要度を考慮することで、精度よく認識できるようになる。しかしながら、既存のAttributeのみでは新規クラスに対してユーザの望む認識精度が得られないことがあり得る。例えば、行動認識システムにおいて、上半身のみが関与する行動のみを扱っており、Attributeとしても上半身の動作に関するものを用いていたが、新規クラスとして、下半身の動作も伴うような行動を扱う場合、この新規クラスは、既存の上半身の動作に関するAttributeのみでは十分な精度での認識が難しい。この点、従来のシステムでは、既存のAttributeが各クラスの認識にどの程度有効であるかということに関して明確な指標を持たないため、このような状況を客観的に判断することが困難である。
第1の実施の形態および第2の実施の形態で説明したシステムにより、学習データが全くない、または極めて少量しかないような新規クラスの認識を、各クラスに対するAttributeごとの重要度を考慮することで、精度よく認識できるようになる。しかしながら、既存のAttributeのみでは新規クラスに対してユーザの望む認識精度が得られないことがあり得る。例えば、行動認識システムにおいて、上半身のみが関与する行動のみを扱っており、Attributeとしても上半身の動作に関するものを用いていたが、新規クラスとして、下半身の動作も伴うような行動を扱う場合、この新規クラスは、既存の上半身の動作に関するAttributeのみでは十分な精度での認識が難しい。この点、従来のシステムでは、既存のAttributeが各クラスの認識にどの程度有効であるかということに関して明確な指標を持たないため、このような状況を客観的に判断することが困難である。
そこで、本実施の形態では、システムがAttributeごとの重要度を用いて上述のような状況を判断し、必要に応じて新たなAttributeを設定することで、認識精度を更に向上させることができるAttribute追加機能付認識システムについて説明する。なお、第1の実施の形態の構成と同じ構成については、同一の符号を用いてその説明を適宜省略する。
図11は、本実施の形態に係るAttribute追加機能付認識システム(認識システム1100)の構成の一例を示す図である。認識システム1100は、図1に記載の構成(認識システム100)に加えて、Attribute追加部1101を備える。なお、中央演算処理装置202がアプリケーションプログラムを実行することによって、Attribute追加部1101が実現される。
以下、Attribute追加部1101の処理について説明する。Attribute追加部1101は、第1の実施の形態および第2の実施の形態に記載の手法を用いて、新規クラスに対する各既存Attributeの重要度を計算する。そして、Attribute追加部1101は、例えば、計算した重要度の何れもが所定の閾値より低い場合、これら既存のAttributeでは当該新規クラスを精度よく認識することができないと判断し、新規Attributeの追加を行う。付言するならば、Attribute追加部1101は、新規のクラスに対する各中間的表現の重要度に基づいて中間的表現を追加する追加部の一例である。
新規Attributeの追加に際しては、ユーザがそれを手動で設定するためのインタフェースを用意してもよいし、新たなAttributeを自動で設定してもよい。
自動で設定する手法としては、例えば次のような方法が考えられる。即ち、Attribute追加部1101は、Attribute空間として単語埋め込み空間を用い、各Attributeの埋め込みベクトルを用いてPCA(Principal Component Analysis)を行い、最も小さな固有値に対する固有ベクトルを抽出する。この固有ベクトルは、既存のAttributeの埋め込みベクトルの分散が最も小さい方向であるから、既存のAttributeには含まれていない情報を含む方向であると考えることができる。
そこで、Attribute追加部1101は、予め設けられるAttributeの候補となる単語の中で、この固有ベクトルと最も近いものを新規Attributeとして用いる。これは、例えばAttributeの候補となる単語の埋め込みベクトルと当該固有ベクトルとのコサイン類似度を基準に判断することができる。なお、このようにして追加された新規Attributeを既存クラスの認識にも用いるようにしてもよいし、既存クラスに対する認識精度に影響を与えたくない場合は、新たに追加されたAttributeの重みを「0」としておけばよい。
以上のように、既存のAttribute空間において加味されていない方向にAttributeを追加することで、新規クラスが既存のAttributeのみでは精度よく認識できないような場合でも、追加された新たなAttributeを用いることができるようになり、精度の向上が見込める。
(4)第4の実施の形態
本実施の形態では、認識対象として人間の行動を考え、そのAttributeの1つとして、行動を認識したいユーザの周囲における既定のオブジェクトの存在確率を用いる場合について、オブジェクトに対する重要度の設定方法の例を特に詳細に述べる。オブジェクトの存在確率は、グラスタイプのカメラデバイスなどから取得できるユーザの一人称視点の画像または映像を用いて計算するものとする。また、本実施の形態では、新規クラスのAttribute空間上でのサンプルは、擬似サンプルではなく少量の実データから得られる(即ちOne-shot learningまたはFew-shot learningの設定)と仮定する。
本実施の形態では、認識対象として人間の行動を考え、そのAttributeの1つとして、行動を認識したいユーザの周囲における既定のオブジェクトの存在確率を用いる場合について、オブジェクトに対する重要度の設定方法の例を特に詳細に述べる。オブジェクトの存在確率は、グラスタイプのカメラデバイスなどから取得できるユーザの一人称視点の画像または映像を用いて計算するものとする。また、本実施の形態では、新規クラスのAttribute空間上でのサンプルは、擬似サンプルではなく少量の実データから得られる(即ちOne-shot learningまたはFew-shot learningの設定)と仮定する。
既往の研究により、行動認識をするに当たっては、その周囲に存在するオブジェクトが重要な情報を持っていることが明らかにされている。例えば、「本を読む」という行動を認識するためには、本を持つ手の形(姿勢)や比較的強度の低い身体動作と同時に、「本」というオブジェクトが存在するか否かという情報が重要であることは明らかである。同様に、「SMS(Short Message Service)を送る」という行動を認識するためには、指の動作に関する情報と共に、「携帯電話」というオブジェクトの存在が重要である。そこで、例えば、これらの行動を新規クラスとして定義する場合、「本」、「携帯電話」というオブジェクトの存在有無または存在確率をAttributeとして用いることは自然である。
しかしながら、これらの新規クラスの行動のサンプル(学習データ)を取得する際に、例えばオフィスのような環境でデータ収集を行ったとすると、「本を読む」という行動クラスのサンプルデータを収集する際に、「本」というオブジェクト以外にも「携帯電話」も画像フレーム中に入り込んでしまうことがあり得る。この場合、「本を読む」という行動は、「本」および「携帯電話」の両方のオブジェクトが存在している(その存在確率が高い)ものとして定義されてしまう。言い換えれば、その他のAttributeが全て「本を読む」という行動と一致していても、「携帯電話」が存在していなければ、「本を読む」という行動が認識されなくなることがあり得る。
これは、「本を読む」という行動に対して、「携帯電話」というAttributeの重要度は低いにも関わらず、それを考慮せずに認識処理を行っているために生じる問題である。
通常、ユーザは何らかの行動をする際、その行動に関連の強いオブジェクトに注視を向けると考えられる。例えば、「本を読む」場合は「本」に、「SMSを送る」場合は「携帯電話」に注視を向ける。そのため、行動にとって重要なオブジェクトには注視が集まりやすいと考えられる。
そこで、本実施の形態では、ユーザの注視情報(注視有無、注視確率など)を用いてオブジェクトの存在有無または存在確率、即ちAttributeの重要度を設定することができる注視情報利用Attribute重要度設定機能付認識システムについて説明する。なお、第1の実施の形態の構成と同じ構成については、同一の符号を用いてその説明を適宜省略する。
図12は、本実施の形態に係る注視情報利用Attribute重要度設定機能付認識システム(認識システム1200)の構成の一例を示す図である。認識システム1200は、図1に記載の構成(認識システム100)に加えて、注視情報利用Attribute重要度設定部1201を備える。付言するならば、注視情報利用Attribute重要度設定部1201は、オブジェクトに対するユーザの注視情報に基づいてこのオブジェクトに係る重要度を設定する設定部の一例である。なお、中央演算処理装置202がアプリケーションプログラムを実行することによって、注視情報利用Attribute重要度設定部1201が実現される。
以下、注視情報利用Attribute重要度設定部1201の処理について説明する。新規クラスの学習データを収集するに当たり、合計Fフレーム分の映像データを取得したとする。この場合、Fフレームで1つの行動データに対応すると考えてもよいし(One-shot learning)、数個の行動データで合計Fフレームの映像データを収集したと考えてもよい(Few-shot learning)。注視情報利用Attribute重要度設定部1201は、このFフレームのデータを用いて、下記の(式8)によって、Attribute jの重要度Ijを計算する。
ここで、f(oi (j))は、フレームiにおいて、オブジェクトjの上にユーザの注視点がある場合に「1」、それ以外の場合に「0」となる関数である。注視点の位置は、例えば視線追跡メガネ(Eye-tracking glasses)などの既製品を用いて得ることができる。また、必要に応じてIjを最大値が「1」、最小値が「0」になるように正規化してもよい。
次に、視線追跡メガネなどの注視点情報を取得するための特別な製品を用いることなく、より廉価な一人称視点の画像または映像が取得できる製品を用いて、一人称視点の画像または映像のみから注視点情報を抽出する手法について説明する。
図13は、本実施の形態に係る注視情報利用Attribute重要度設定機能付認識システム(認識システム1300)の構成の一例を示す図である。認識システム1300は、図13のように、注視推定部1301を備える構成となる。なお、中央演算処理装置202がアプリケーションプログラムを実行することによって、注視推定部1301が実現される。
図14は、注視推定部1301の構成の一例を示す図である。注視推定部1301は、例えば、CNNを用いてオブジェクト認識とのマルチタスク学習として注視推定を行う。付言するならば、注視推定部1301は、ユーザの一人称視点の画像または映像に基づいて、オブジェクトの特定と注視の推定とをマルチタスク学習し、このユーザの注視情報を推定する推定部の一例である。
注視推定部1301は、入力データである画像フレームの列を、オブジェクト認識および注視推定の両方の共通モジュールとなるベースネットワークで処理する。定性的には、ベースネットワークでは、低次の特徴抽出が行われると解釈することができる。その後、注視推定部1301は、ベースネットワークの出力である特徴マップ(feature map)をオブジェクト認識ネットワーク、注視推定ネットワークのそれぞれに入力として与える。
オブジェクト認識ネットワークでは、注視推定部1301は、各オブジェクトの存在確率と各オブジェクトの各フレーム中での存在位置とを推定結果として出力する。また、注視推定部1301は、注視推定ネットワークには、ベースネットワークの出力である特徴マップ以外に、オブジェクト認識ネットワークの出力(結果)である各オブジェクトの存在確率と各オブジェクトのフレーム中での存在位置とを入力する。定性的には、画像特徴に加え、注視を引きやすいオブジェクトの情報などを学習することができ、注視推定の精度が向上することが期待できる。
また、事前準備として、ベースネットワーク、オブジェクト認識ネットワーク、および注視推定ネットワークについて、パラメータの調整(チューニング)をまとめて行う方法について説明する。
オブジェクト認識ネットワークでは、注視推定部1301は、Lobj=Lclass+αLlocで表されるロス(正解値に対してどのくらい相違するかを示す値)の勾配を所定のアルゴリズム(例えば、誤差逆伝播法)によって求めることで、ネットワークの重み(オブジェクト認識ネットワークにおけるパラメータ)を更新することができる。注視推定ネットワークでは、注視推定部1301は、βLgazeで表されるロスの勾配を所定のアルゴリズム(例えば、誤差逆伝播法)によって求めることで、ネットワークの重み(注視推定ネットワークにおけるパラメータ)を更新することができる。
ここで、Lclassは、オブジェクトのクラス識別に関するロスであり、例えばソフトマックス関数(softmax function)を用いることができる。Llocは、オブジェクトの位置同定に関するロスであり、例えばオブジェクトの位置をバウンディングボックス(bounding box)の中心座標とその幅および高さで表すとき、それらの正解値(ground truth)との二乗誤差を用いることができる。Lgazeは、例えば、推定された注視位置と視線追跡メガネなどを用いて得た正解値の注視位置とのユークリッド距離などを用いることができる。α、βは、各ロスの重みを調整するパラメータであり、クロスバリデーションなどにより最適な値を決定できる。
ベースネットワークでは、注視推定部1301は、これらのロスの和L=Lclass+αLloc+βLgazeの勾配を所定のアルゴリズム(例えば、誤差逆伝播法)によって求めることで、ネットワークの重み(ベースネットワークにおけるパラメータ)の更新を行う。
なお、注視推定ネットワークの出力(注視情報)としては、フレーム中の各位置に注視点が存在する確率を示す確率マップとしてもよい。
また、何らかのオブジェクトを把持している際は、そのオブジェクトに注視が集まり易いことを考慮し、フレーム中に手が存在する場合にその位置を推定するネットワークを加えてもよい。この場合、図15に示すように、図14のネットワークに手推定ネットワークを追加し、この出力も注視推定ネットワークに入力するようにする。付言するならば、推定部は、ユーザの一人称視点の画像または映像における画像フレーム内の手の存在確率または手の有無、および手のフレーム内の位置の情報を更に用いて、オブジェクトの特定と注視の推定とをマルチタスク学習し、ユーザの注視情報を推定してもよい。
また、パラメータの調整に関しては、手推定ネットワークでは、注視推定部1301は、ロスγLhandの勾配を所定のアルゴリズム(例えば、誤差逆伝播法)によって求めることで、ネットワークの重み(手推定ネットワークにおけるパラメータ)の更新を行う。この場合、ベースネットワークでは、注視推定部1301は、L=Lclass+αLloc+βLgaze+γLhandの勾配を所定のアルゴリズム(例えば、誤差逆伝播法)によって求めることで、ネットワークの重み(ベースネットワークにおけるパラメータ)の更新を行う。
Lhandとしては、例えば、推定された手の位置を表すバウンディングボックスの中心座標とその幅および高さと、正解値のバウンディングボックスの中心座標とその幅および高さとの二乗誤差を用いることができる。γは、Lhandの重みを調整するパラメータである。
(5)他の実施の形態
なお上述の実施の形態においては、本発明を認識システム(100,800,1000,1100,1200,1300)に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の特定システムに広く適用することができる。
なお上述の実施の形態においては、本発明を認識システム(100,800,1000,1100,1200,1300)に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の特定システムに広く適用することができる。
また上述の実施の形態においては、認識システム100を一の計算機200で実現する場合について述べたが、本発明はこれに限らず、認識システム100を複数の計算機で実現するようにしてもよい。この場合、例えば、Attribute計算用DB102、Attribute計算部103、認識用DB104、Attribute重要度DB105、および認識部106の各々は、適宜の計算機に設けられる。
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更および同等の構成を含むものである。例えば、上述した実施例は、本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除および置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、記憶装置(メモリ)、ハードディスク、SSD (Solid State Drive)等の記憶装置、または、ICカード、SDカード、DVD等の非一時的な記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品に実装する上で必要な全ての制御線および情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
また上述した構成については、本発明の要旨を超えない範囲において、適宜に、変更したり、組み替えたり、組み合わせたり、省略したりしてもよい。
100……認識システム、101……入力データ、102……Attribute計算用DB、103……Attribute計算部、104……認識用DB、105……Attribute重要度DB、106……認識部。
Claims (14)
- 処理対象の各属性を示す各中間的表現を各次元とする中間的表現空間に前記処理対象を射影するためのパラメータを格納する第1格納部と、
前記第1格納部に格納されるパラメータに基づいて、所定のセンサから得られる入力データまたは前記入力データに所定の前処理を施して得られる値を中間的表現空間に射影する計算部と、
中間的表現空間において処理対象を特定する際に使用するパラメータを格納する第2格納部と、
処理対象の各属性を示す各中間的表現の重要度を前記処理対象に対応付けて格納する第3格納部と、
前記第2格納部に格納されているパラメータと、前記第3格納部に格納されている重要度と、前記計算部の出力とに基づいて、前記入力データにおける処理対象を特定する特定部と、
を備えることを特徴とする特定システム。 - 前記特定部が特定する処理対象は、人間の行動および/または人間の動作である、
ことを特徴とする請求項1に記載の特定システム。 - 処理対象の各属性を示す各中間的表現の1つとして、行動を特定したいユーザの周囲における既定のオブジェクトの存在有無または前記オブジェクトの存在確率が含まれる、
ことを特徴とする請求項2に記載の特定システム。 - 処理対象の各属性を示す各中間的表現の1つとして、人間の行動を構成する基本的な要素である動作若しくは姿勢の発生有無、または発生確率が含まれる、
ことを特徴とする請求項2に記載の特定システム。 - 前記ユーザの一人称視点の画像または映像に基づいて、前記オブジェクトの存在有無または前記オブジェクトの存在確率を計算する設定部を備える、
ことを特徴とする請求項3に記載の特定システム。 - 前記第3格納部に格納される重要度を、ユーザに設定させるためのユーザインタフェース部を備える、
ことを特徴とする請求項1に記載の特定システム。 - 前記第3格納部に格納される重要度を推定して設定する設定部を備える、
ことを特徴とする請求項1に記載の特定システム。 - 前記設定部は、中間的表現空間として単語の埋め込み空間を用い、前記埋め込み空間において処理対象のクラスを表現する埋め込みベクトルを、中間的表現の埋め込みベクトルの線形結合として表現した際の各ベクトルの係数を各中間的表現の重要度として推定する、
ことを特徴とする請求項7に記載の特定システム。 - 前記設定部は、処理対象のクラスに対する各中間的表現のクラス分離率を各中間的表現の重要度として推定する、
ことを特徴とする請求項7に記載の特定システム。 - 新規のクラスに対する各中間的表現の重要度に基づいて中間的表現を追加する追加部を備える、
ことを特徴とする請求項1に記載の特定システム。 - 前記設定部は、オブジェクトに対するユーザの注視情報に基づいて前記オブジェクトに係る重要度を設定する、
ことを特徴とする請求項5に記載の特定システム。 - 前記ユーザの一人称視点の画像または映像に基づいて、オブジェクトの特定と注視の推定とをマルチタスク学習し、前記ユーザの注視情報を推定する推定部を備える、
ことを特徴とする請求項11に記載の特定システム。 - 前記推定部は、前記ユーザの一人称視点の画像または映像における画像フレーム内の手の存在確率または手の有無、および手のフレーム内の位置の情報を更に用いて、オブジェクトの特定と注視の推定とをマルチタスク学習し、前記ユーザの注視情報を推定する、
ことを特徴とする請求項12に記載の特定システム。 - 処理対象の各属性を示す各中間的表現を各次元とする中間的表現空間に前記処理対象を射影するためのパラメータを格納する第1格納部と、中間的表現空間において処理対象を特定する際に使用するパラメータを格納する第2格納部と、処理対象の各属性を示す各中間的表現の重要度を前記処理対象に対応付けて格納する第3格納部と、を備える特定システムにおける特定方法であって、
計算部が、前記第1格納部に格納されるパラメータに基づいて、所定のセンサから得られる入力データまたは前記入力データに所定の前処理を施して得られる値を中間的表現空間に射影する第1のステップと、
特定部が、前記第2格納部に格納されているパラメータと、前記第3格納部に格納されている重要度と、前記計算部の出力とに基づいて、前記入力データにおける処理対象を特定する第2のステップと、
を備えることを特徴とする特定方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018010096A JP2019128804A (ja) | 2018-01-24 | 2018-01-24 | 特定システムおよび特定方法 |
CN201910065608.5A CN110069129B (zh) | 2018-01-24 | 2019-01-23 | 确定系统和确定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018010096A JP2019128804A (ja) | 2018-01-24 | 2018-01-24 | 特定システムおよび特定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019128804A true JP2019128804A (ja) | 2019-08-01 |
Family
ID=67365967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018010096A Pending JP2019128804A (ja) | 2018-01-24 | 2018-01-24 | 特定システムおよび特定方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2019128804A (ja) |
CN (1) | CN110069129B (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580500A (zh) * | 2019-08-20 | 2019-12-17 | 天津大学 | 一种面向人物交互的网络权重生成少样本图像分类方法 |
JP2021043930A (ja) * | 2019-09-10 | 2021-03-18 | 未來市股▲ふん▼有限公司 | 人間行動理解システム及び方法 |
WO2021145185A1 (ja) * | 2020-01-17 | 2021-07-22 | Necソリューションイノベータ株式会社 | 行動認識装置、行動認識方法、プログラム及び記録媒体 |
DE102021118734A1 (de) | 2020-07-22 | 2022-01-27 | Honda Motor Co., Ltd. | Bild-Identifikationsvorrichtung, Verfahren zum Durchführen einer semantischen Segregation und Programm |
US11562567B2 (en) | 2020-03-18 | 2023-01-24 | Hitachi, Ltd. | Observed-object recognition system and method |
US11797824B2 (en) | 2019-10-29 | 2023-10-24 | Samsung Electronics Co., Ltd. | Electronic apparatus and method for controlling thereof |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103400160B (zh) * | 2013-08-20 | 2017-03-01 | 中国科学院自动化研究所 | 一种零训练样本行为识别方法 |
JP2017219746A (ja) * | 2016-06-09 | 2017-12-14 | 三菱電機株式会社 | 音声出力制御装置および音声出力制御プログラム |
-
2018
- 2018-01-24 JP JP2018010096A patent/JP2019128804A/ja active Pending
-
2019
- 2019-01-23 CN CN201910065608.5A patent/CN110069129B/zh active Active
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580500A (zh) * | 2019-08-20 | 2019-12-17 | 天津大学 | 一种面向人物交互的网络权重生成少样本图像分类方法 |
CN110580500B (zh) * | 2019-08-20 | 2023-04-18 | 天津大学 | 一种面向人物交互的网络权重生成少样本图像分类方法 |
JP2021043930A (ja) * | 2019-09-10 | 2021-03-18 | 未來市股▲ふん▼有限公司 | 人間行動理解システム及び方法 |
US11797824B2 (en) | 2019-10-29 | 2023-10-24 | Samsung Electronics Co., Ltd. | Electronic apparatus and method for controlling thereof |
WO2021145185A1 (ja) * | 2020-01-17 | 2021-07-22 | Necソリューションイノベータ株式会社 | 行動認識装置、行動認識方法、プログラム及び記録媒体 |
JPWO2021145185A1 (ja) * | 2020-01-17 | 2021-07-22 | ||
JP7231286B2 (ja) | 2020-01-17 | 2023-03-01 | Necソリューションイノベータ株式会社 | 行動認識装置、行動認識方法、プログラム及び記録媒体 |
US11562567B2 (en) | 2020-03-18 | 2023-01-24 | Hitachi, Ltd. | Observed-object recognition system and method |
DE102021118734A1 (de) | 2020-07-22 | 2022-01-27 | Honda Motor Co., Ltd. | Bild-Identifikationsvorrichtung, Verfahren zum Durchführen einer semantischen Segregation und Programm |
US11587345B2 (en) | 2020-07-22 | 2023-02-21 | Honda Motor Co., Ltd. | Image identification device, method for performing semantic segmentation, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN110069129A (zh) | 2019-07-30 |
CN110069129B (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110069129B (zh) | 确定系统和确定方法 | |
Pereira et al. | SLEAP: Multi-animal pose tracking | |
US10796104B1 (en) | Systems and methods for constructing an artificially diverse corpus of training data samples for training a contextually-biased model for a machine learning-based dialogue system | |
KR102548732B1 (ko) | 신경망 학습 방법 및 이를 적용한 장치 | |
CN109919077B (zh) | 姿态识别方法、装置、介质和计算设备 | |
Nayak et al. | Hyper-parameter tuned light gradient boosting machine using memetic firefly algorithm for hand gesture recognition | |
CN110929802A (zh) | 基于信息熵的细分类识别模型训练、图像识别方法及装置 | |
Haggag et al. | Semantic body parts segmentation for quadrupedal animals | |
CN109447096B (zh) | 一种基于机器学习的扫视路径预测方法和装置 | |
JP2019049604A (ja) | 命令文推定システムおよび命令文推定方法 | |
EP4040320A1 (en) | On-device activity recognition | |
WO2022110158A1 (en) | Online learning method and system for action recongition | |
KR102331126B1 (ko) | 연상 메모리와 결합된 모션 감지 장치를 이용해서 움직임을 식별하기 위한 시스템 및 방법 | |
CN112668607A (zh) | 一种用于目标物体触觉属性识别的多标签学习方法 | |
KR20200080419A (ko) | 인공신경망 기반 손동작 인식 방법 및 장치 | |
CN115035367A (zh) | 图片识别方法、装置及电子设备 | |
Aksoy et al. | Detection of Turkish sign language using deep learning and image processing methods | |
CN112364912B (zh) | 信息分类方法、装置、设备及存储介质 | |
CN113869353A (zh) | 模型训练方法、老虎关键点检测方法及相关装置 | |
CN114255381A (zh) | 图像识别模型的训练方法、图像识别方法、装置及介质 | |
KR102616029B1 (ko) | 비주얼 로컬라이제이션을 효율적으로 수행하기 위한 방법 및 장치 | |
JP4771543B2 (ja) | 物体認識システム、物体認識方法及び物体認識ロボット | |
Shadiya Febin et al. | Hand Gesture Recognition for Disabled Person with Speech Using CNN | |
JP2022139742A (ja) | 命令記述支援システム、命令記述支援方法および命令記述支援プログラム | |
Yusoff et al. | Applied Computing 2023 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210402 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210601 |