(本開示の基礎となった知見)
近年、ニューラルネットワーク型の認識モデルが利用され始めている。ニューラルネットワークは生物の神経が模擬された数理モデルであり、この数理モデルは複数の層を有し得る。そして、ニューラルネットワーク型の認識モデルは、ニューラルネットワークで構成されるモデルであって、認識処理を行うためのモデルである。例えば、ニューラルネットワーク型の認識モデルに画像が入力され、ニューラルネットワーク型の認識モデルによって画像内のオブジェクトが認識される。
特許文献1及び非特許文献1に記載の技術は、このようなニューラルネットワーク型の認識モデルに関連する。
例えば、特許文献1において、画像の一般的な特徴に対してのみならず特定の特徴に対しても、特徴を保持しながら適切な処理を実現するための技術が提案されている。
具体的には、特許文献1の情報処理装置は、第1の階層型ニューラルネットワークの入力層に第2の階層型ニューラルネットワークのM層目からの出力を入力する。そして、情報処理装置は、第1の階層型ニューラルネットワークの注目ニューロンからの出力を用いて第1の階層型ニューラルネットワークの出力層からの出力を重み付けする。そして、情報処理装置は、重み付けの結果と、第2の階層型ニューラルネットワークのM層目からの出力とを統合して第2の階層型ニューラルネットワークの(M+1)層目に入力する。
これにより、情報処理装置は、特定の特徴に対応する注目ニューロンからの出力に基づいて、第1の階層型ニューラルネットワークの出力層からの出力と、第2の階層型ニューラルネットワークのM層目からの出力とを統合することができる。すなわち、情報処理装置は、特定の特徴に基づいて、第1の階層型ニューラルネットワークの出力層からの出力と、第2の階層型ニューラルネットワークのM層目からの出力とを統合することができる。したがって、情報処理装置は、特定の特徴に対応する処理を行うことができる。
また、非特許文献1において、画像の全体の認識結果と、画像の一部の認識結果とを統合することが提案されている。具体的には、入力画像から、注目領域が切り出される。そして、入力画像の全体がニューラルネットワークによって認識されると共に、注目領域がより細かく別のニューラルネットワークによって認識される。そして、入力画像の全体の認識結果と、画像の一部の認識結果とが統合される。
これにより、画像の全体の認識結果と、画像の一部のより細かい認識結果とが組み合わされた最終的な認識結果が得られる。そして、これにより、画像の一部において、複数の小さいオブジェクトが密集し、その他の部分において、複数の大きいオブジェクトが散在している場合でも、各オブジェクトが効率的に認識され得る。
しかしながら、画像等のセンサデータに関する認識処理が効率的に行わなければ、処理量が増大する。
例えば、特許文献1の情報処理装置では、第1の階層型ニューラルネットワークのM層からの出力がそのまま第2の階層型ニューラルネットワークの入力となっているため、第2の階層型ニューラルネットワークの処理はM層からの出力全体について行われる。M層からの出力の一部しか認識処理に貢献しない場合、当該情報処理装置の認識処理の向上は限定的となる。他方で、当該情報処理装置では、第1の階層型ニューラルネットワークの処理と第2の階層型ニューラルネットワークの処理とが実質的にシーケンシャルに行われる。そのため、追加された第2の階層型ニューラルネットワークの処理分だけ計算時間及び計算量が増大する。そのため、認識性能を向上させながら、計算リソースの増大を抑制することが困難である。
また、非特許文献1では、上述した通り、画像の全体の認識結果と、画像の一部の認識結果とが統合されている。具体的には、センサデータの全体に対する認識処理と、センサデータの一部に対する認識処理とが別々に行われた後、センサデータの全体に対する認識処理の結果と、センサデータの一部に対する認識処理の結果とが統合されている。すなわち、2つの認識処理が別々に行われている。そのため、認識性能は向上するものの、1つの認識処理が行われる場合と比べて処理量が2倍となる。
そこで、本開示の一態様に係る情報処理装置は、センサからセンサデータを取得する取得部と、前記センサデータのうちの一部のデータを決定する決定部と、前記センサデータをニューラルネットワーク型の第1認識モデルの入力層に入力する第1認識モデル制御部と、前記一部のデータをニューラルネットワーク型の第2認識モデルの入力層に入力する第2認識モデル制御部と、前記第1認識モデルの第1中間層からの第1中間出力データに対する、前記第2認識モデルの第2中間層からの第2中間出力データの位置合わせを行う位置合わせ処理部と、前記第1中間出力データ、及び、前記位置合わせが行われた前記第2中間出力データから、中間入力データを生成する生成部と、を備え、前記第1認識モデル制御部は、前記中間入力データを前記第1認識モデルの前記第1中間層に後続する第3中間層に入力する。
これにより、情報処理装置は、第1中間出力データ、及び、位置合わせが行われた第2中間出力データから、中間入力データを適切に生成することができる。すなわち、情報処理装置は、センサデータの全体に対する認識処理における第1中間出力データと、センサデータの一部に対する認識処理における第2中間出力データとを適切に統合することができる。そのため、適切な統合により得られた中間入力データを第1認識モデルの認識処理の第3中間層の入力とすることができ、認識性能を向上させることができる。また、第2認識モデルの認識処理を途中で終了させることができ、計算量又はメモリ使用量などの計算リソースの増大を抑制することができる。
例えば、前記センサは、イメージセンサであり、前記センサデータは、画像であってもよい。
これにより、情報処理装置は、画像の全体に対する認識処理における第1中間出力データと、画像の一部に対する認識処理における第2中間出力データとを適切に統合することができる。認識モデルを用いた画像認識処理では、入力画像の解像度又はサイズが圧縮されることが多い。圧縮により画像に映る物体が歪んだり潰れたりする。他方で、入力画像が圧縮されない場合、計算量及びメモリ使用量が増大する。そこで、当該情報処理装置が画像認識処理に適用されることにより、画像認識性能を向上させながら計算リソースの増大を抑制することができる。
また、例えば、前記位置合わせ処理部は、前記第1中間出力データにおける一部の領域である第1領域に、前記第2中間出力データの位置又は大きさを合わせることにより、前記位置合わせを行ってもよい。
これにより、情報処理装置は、第1中間出力データにおける一部の領域に従って、第2中間出力データの位置合わせを適切に行うことができる。
また、例えば、前記位置合わせ処理部は、前記センサデータにおける前記一部のデータの領域に従って、前記第1領域を決定し、決定された前記第1領域に前記第2中間出力データの位置又は大きさを合わせることにより、前記位置合わせを行ってもよい。
これにより、情報処理装置は、センサデータにおける一部のデータの領域に対応した第1中間出力データにおける一部の領域を決定することができる。したがって、当該一部のデータを入力とする第2認識モデルの第2中間出力データの位置合わせを適切に行うことができる。
また、例えば、前記情報処理装置は、さらに、前記第1認識モデルの複数の層の中から前記第1中間層を選択する選択部を備えてもよい。
これにより、情報処理装置は、センサデータの全体に対する認識処理の中間データと、センサデータの一部に対する認識処理の中間データとを統合するための第1中間層を適応的に選択することができる。
また、例えば、前記選択部は、前記第1認識モデル及び前記第2認識モデルの学習の際に学習された情報に従って前記第1中間層を選択してもよい。
これにより、情報処理装置は、第1認識モデル及び第2認識モデルに適した第1中間層を選択することができる。
また、例えば、前記選択部は、前記情報処理装置の計算リソースに関する計算リソース情報に従って前記第1中間層を選択してもよい。
これにより、情報処理装置は、使用可能な計算リソースに適した第1中間層を選択することができる。
また、例えば、前記決定部は、前記センサのパラメータに従って、前記センサデータのうちの前記一部のデータを決定してもよい。
これにより、情報処理装置は、センサのパラメータから認識性能の向上に貢献すると見込まれる、センサデータの全体とは別に認識処理が行われる一部のデータを決定することができる。
また、例えば、前記決定部は、前記センサが搭載される移動体の動作又は操作の情報に従って、前記センサデータのうちの前記一部のデータを決定してもよい。
これにより、情報処理装置は、センサが搭載された移動体の動作又は操作から認識性能の向上に貢献すると見込まれる、センサデータの全体とは別に認識処理が行われる一部のデータを決定することができる。
また、例えば、本開示の一態様に係る情報処理方法は、センサからセンサデータを取得するステップと、前記センサデータのうちの一部のデータを決定するステップと、前記センサデータをニューラルネットワーク型の第1認識モデルの入力層に入力するステップと、前記一部のデータをニューラルネットワーク型の第2認識モデルの入力層に入力するステップと、前記第1認識モデルの第1中間層からの第1中間出力データに対する、前記第2認識モデルの第2中間層からの第2中間出力データの位置合わせを行うステップと、前記第1中間出力データ、及び、前記位置合わせが行われた前記第2中間出力データから、中間入力データを生成するステップと、前記中間入力データを前記第1認識モデルの前記第1中間層に後続する第3中間層に入力するステップと、を含む情報処理方法であってもよい。
これにより、第1中間出力データ、及び、位置合わせが行われた第2中間出力データから、中間入力データが適切に生成され得る。すなわち、センサデータの全体に対する認識処理における第1中間出力データと、センサデータの一部に対する認識処理における第2中間出力データとが適切に統合され得る。そのため、適切な統合により得られた中間入力データを第1認識モデルの認識処理の第3中間層の入力とすることができ、認識性能を向上させることができる。また、第2認識モデルの認識処理を途中で終了させることができ、計算量又はメモリ使用量などの計算リソースの増大を抑制することができる。
また、例えば、本開示の一態様に係るプログラムは、上記の情報処理方法をコンピュータに実行させるためのプログラムであってもよい。
これにより、コンピュータが、プログラムに従って、上記の情報処理方法を実行することができる。
さらに、これらの包括的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム、又は、コンピュータ読み取り可能なCD−ROMなどの非一時的な記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム、及び、記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、請求の範囲を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
また、以下の説明において、第1、第2及び第3等の序数が要素に付けられている場合がある。これらの序数は、要素を識別するため、要素に付けられており、意味のある順序に必ずしも対応しない。これらの序数は、適宜、入れ替えられてもよいし、新たに付与されてもよいし、取り除かれてもよい。
(実施の形態)
図1は、本実施の形態における情報処理装置の構成を示すブロック図である。図1において、センサ100及び情報処理装置110が示されている。
センサ100は、検知を行う装置であって、電気回路で構成され得る。例えば、センサ100は、温度、圧力、磁気、音、光、ガス、超音波及び電磁波等を検知して、検知結果を示すセンサデータを出力する。センサ100は、イメージセンサであってもよい。この場合、センサ100は、光を検知し、検知結果を示す画像をセンサデータとして出力する。
情報処理装置110は、情報処理を行う装置である。例えば、情報処理装置110は、コンピュータであって、センサ100からセンサデータを取得し、センサデータに関する認識処理を行う。この認識処理は、予測処理、推定処理、推論処理又は識別処理とも表現され得る。認識処理によって、センサデータが分類されてもよいし、センサデータにおけるオブジェクトが検出されてもよいし、センサデータが特性毎に分割されてもよい。
具体的には、センサ100がイメージセンサであって、センサデータが画像である場合、情報処理装置110は、画像に関する認識処理を行う。認識処理によって、画像が分類されてもよいし、画像におけるオブジェクトが検出されてもよいし、画像が特性毎に分割されてもよいし、画像に関する自然言語の説明文が出力されてもよい。
また、例えば、上記の認識処理は、車両等の移動体の制御にも有用である。例えば、センサ100及び情報処理装置110は、移動体に搭載されてもよい。そして、情報処理装置110は、センサ100から取得されるセンサデータに対して認識処理を行って、認識処理の結果を自動運転に適用してもよい。また、上記の認識処理は、自動運転に限らず、個人認証又は防犯システム等にも適用され得る。そして、情報処理装置110は、このような認識処理を行うための構成要素を備える。
具体的には、情報処理装置110は、取得部111、決定部112、第1認識モデル制御部113、第2認識モデル制御部114、位置合わせ処理部115、生成部116及び選択部117を備える。なお、これらの構成要素のうちの一部は、情報処理装置110とは異なる外部の装置によって実装されてもよいし、存在しなくてもよい。特に、選択部117は、存在しなくてもよい。また、情報処理装置110は、センサ100を備えていてもよい。
取得部111は、情報を取得する情報処理部であって、電気回路で構成され得る。具体的には、取得部111は、センサ100からセンサデータを取得する。例えば、センサ100がイメージセンサであって、センサデータが画像である場合、取得部111は、センサ100から画像をセンサデータとして取得する。
また、取得部111は、センサ100から有線通信でセンサデータを取得してもよいし、センサ100から無線通信でセンサデータを取得してもよい。例えば、センサ100と情報処理装置110とが、通信線を介して互いに接続されていてもよい。そして、取得部111は、センサ100から通信線を介して有線通信でセンサデータを取得してもよい。あるいは、取得部111は、センサ100からアンテナを介して無線通信でセンサデータを取得してもよい。
また、取得部111は、センサ100から直接的にセンサデータを取得してもよいし、センサ100から間接的にセンサデータを取得してもよい。例えば、センサ100から出力されるセンサデータが記録媒体に格納されてもよい。そして、取得部111は、記録媒体からセンサデータを取得してもよい。
また、取得部111は、情報を取得するための通信端子、アンテナ又は入力端子等のインタフェースを有していてもよい。
決定部112は、センサデータのうちの一部のデータを決定する情報処理部であって、電気回路で構成され得る。例えば、決定部112によって決定される一部のデータに対して、より高精度に認証処理が行われる。決定部112は、ユーザの指示に従って、センサデータのうちの一部のデータを決定してもよい。具体的には、決定部112は、ユーザから取得部111を介して取得される指示に従って、センサデータのうちの一部のデータを決定してもよい。
あるいは、決定部112は、センサ100のパラメータに従って、センサデータのうちの一部のデータを決定してもよい。ここで、センサ100のパラメータは、センサ100の位置、姿勢及び性能等である。決定部112は、取得部111を介して、センサ100のパラメータを取得してもよい。そして、例えば、決定部112は、センサデータのうち、センサ100の位置、姿勢及び性能等に従って検知精度が低いと想定される一部のデータを、より高精度に認証処理が行われる一部のデータとして決定してもよい。
あるいは、決定部112は、センサ100が移動体に搭載される場合、移動体の動作の情報、又は、移動体に対する操作の情報に従って、センサデータのうちの一部のデータを決定してもよい。決定部112は、取得部111を介して、移動体の動作の情報、又は、移動体に対する操作の情報を取得してもよい。
そして、例えば、決定部112は、センサデータのうち、移動体の動作の情報、又は、移動体に対する操作の情報に従って動作又は操作に関連する一部のデータを、より高精度に認証処理が行われる一部のデータとして決定してもよい。
あるいは、決定部112は、センサデータに従って、センサデータのうちの一部のデータを決定してもよい。例えば、決定部112は、センサデータのうち、センサデータに従って検知精度が低いと想定される一部のデータを、より高精度に認証処理が行われる一部のデータとして決定してもよい。
また、センサデータが画像である場合、決定部112は、取得部111で取得された画像のうちの一部の画像を決定する。例えば、この一部の画像に対して、より高精度に認証処理が行われる。したがって、この一部の画像は、画像の注目領域に対応し得る。決定部112は、画像において消失点を推定し、画像のうち推定された消失点を含む一部の画像を、より高精度に認証処理が行われる一部の画像として決定してもよい。
第1認識モデル制御部113は、第1認識モデルに対する処理を制御する情報処理部であって、電気回路で構成され得る。第1認識モデルは、複数の層を有するニューラルネットワーク型の数理モデルであって、認識処理を行うための数理モデルである。
基本的に、第1認識モデルは、入力層、中間層及び出力層で構成される複数の処理層を有する。入力層には、認識処理の処理対象データが入力データとして入力される。そして、出力層から、認識処理の処理結果データが出力データとして出力される。入力層と出力層とは異なる処理層であって、入力層と出力層と間の処理層は、中間層と呼ばれる。第1認識モデルは、複数の中間層を有していてもよい。
例えば、第1認識モデル制御部113の内部に、学習データを用いて学習された第1認識モデルが実装される。具体的には、情報処理装置110とは別の装置で学習された第1認識モデルが、第1認識モデル制御部113の内部に実装されてもよい。あるいは、第1認識モデル制御部113が第1認識モデル制御部113の内部に実装された第1認識モデルを学習させることにより、学習された第1認識モデルが第1認識モデル制御部113の内部に実装されてもよい。
具体的には、学習データには、入力データと、入力データに対して正しい出力データとが含まれる。そして、第1認識モデルの学習において、第1認識モデルの入力層に、学習データに含まれる入力データが入力される。そして、第1認識モデルの出力層からの出力データが、学習データに含まれる出力データに等しくなるように、第1認識モデルが更新されることにより、第1認識モデルが学習される。
また、例えば、第1認識モデル制御部113は、取得部111で取得されたセンサデータを第1認識モデルの入力層に入力する。そして、第1認識モデル制御部113は、第1認識モデルの第1中間層までの処理を行う。第1中間層は、予め定められていてもよいし、選択部117によって第1認識モデルの複数の層から選択されてもよい。
そして、第1認識モデル制御部113は、第1認識モデルの第1中間層からの第1中間出力データ等から生成される中間入力データを第1中間層に後続する層に入力する。第1中間層に後続する層は、具体的には、第1中間層の次の層である。そして、第1認識モデル制御部113は、第1認識モデルの出力層までの処理を行う。
そして、第1認識モデル制御部113は、第1認識モデルの出力層からの出力データを外部に出力してもよいし、第1認識モデルの出力層からの出力データに従って情報処理装置110を動作させてもよい。例えば、センサ100及び情報処理装置110が移動体に搭載され、情報処理装置110は、第1認識モデルの出力層からの出力データに従って移動体の動作を制御してもよい。
また、第1認識モデルは、他の装置に実装されてもよい。第1認識モデル制御部113は、第1認識モデルの入出力を制御し、第1認識モデルの実質的な処理は、他の装置によって行われてもよい。
第2認識モデル制御部114は、第1認識モデル制御部113と同様に、第2認識モデルに対する処理を制御する情報処理部であって、電気回路で構成され得る。第2認識モデルは、第1認識モデルと同様に、複数の層を有するニューラルネットワーク型の数理モデルであって、認識処理を行うための数理モデルである。
基本的に、第2認識モデルは、入力層、中間層及び出力層で構成される複数の処理層を有する。入力層には、認識処理の処理対象データが入力データとして入力される。そして、出力層から、認識処理の処理結果データが出力データとして出力される。入力層と出力層とは異なる処理層であって、入力層と出力層と間の処理層は、中間層と呼ばれる。第2認識モデルは、複数の中間層を有していてもよい。
例えば、第2認識モデル制御部114の内部に、学習データを用いて学習された第2認識モデルが実装される。具体的には、情報処理装置110とは別の装置で学習された第2認識モデルが、第2認識モデル制御部114の内部に実装されてもよい。あるいは、第2認識モデル制御部114が第2認識モデル制御部114の内部に実装された第2認識モデルを学習させることにより、学習された第2認識モデルが第2認識モデル制御部114の内部に実装されてもよい。
具体的には、上述したように、学習データには、入力データと、入力データに対して正しい出力データとが含まれる。そして、第2認識モデルの学習において、第2認識モデルの入力層に、学習データに含まれる入力データが入力される。そして、第2認識モデルの出力層からの出力データが、学習データに含まれる出力データに等しくなるように、第2認識モデルが更新されることにより、第2認識モデルが学習される。
また、第1認識モデルと第2認識モデルとは、互いに等しくてもよいし、互いに異なっていてもよい。例えば、第1認識モデルと第2認識モデルとは、共通の学習データで学習されてもよいし、個別の学習データで学習されてもよい。
また、例えば、第2認識モデル制御部114は、決定部112で取得された一部のデータを第2認識モデルの入力層に入力する。そして、第2認識モデル制御部114は、第2認識モデルの第2中間層までの処理を行う。そして、第2中間層からの第2中間出力データの位置合わせが行われ、位置合わせ後の第2中間出力データが、第1認識モデルに対する中間入力データの生成に用いられる。
上記の第2中間層は、予め定められていてもよいし、選択部117によって第2認識モデルの複数の層から選択されてもよい。また、第2中間層は、第1中間層によって定められてもよいし、第1中間層によらず定められてもよい。具体的には、第2認識モデルの複数の層における第2中間層の順番が、第1認識モデルの複数の層における第1中間層の順番と同じであってもよい。あるいは、第2中間層は、第2認識モデルの複数の層における最後の中間層であってもよい。
また、上記の第2中間層が予め定められている場合、第2認識モデルの入力層から第2中間層までが、第2認識モデル制御部114の内部に実装され、第2中間層の次の層から出力層までは、第2認識モデル制御部114の内部に実装されなくてもよい。
また、例えば、第2認識モデル制御部114は、第1認識モデルの入力層に入力されるセンサデータよりも解像度が高い一部のデータを第2認識モデルの入力層に入力する。これにより、第2認識モデル制御部114は、一部のデータの認識処理を高精度に行うことができる。
具体的には、第1認識モデルの入力層には、処理量の削減のため、低解像度化されたセンサデータが入力され、第2認識モデルの入力層には、高精度な認識処理のため、低解像度化されずに一部のデータが入力されてもよい。あるいは、第1認識モデルの入力層には、センサデータがそのまま入力され、第2認識モデルの入力層には、超解像処理によって高解像度化された一部のデータが入力されてもよい。
また、第2認識モデルは、他の装置に実装されてもよい。第2認識モデル制御部114は、第2認識モデルの入出力を制御し、第2認識モデルの実質的な処理は、他の装置によって行われてもよい。
位置合わせ処理部115は、データの位置合わせを行う情報処理部であって、電気回路で構成され得る。具体的には、位置合わせ処理部115は、第1認識モデルの第1中間層からの第1中間出力データに対する、第2認識モデルの第2中間層からの第2中間出力データの位置合わせを行う。
例えば、位置合わせ処理部115は、第1中間出力データにおける一部の領域に、第2中間出力データの位置又は大きさを合わせることにより、位置合わせを行ってもよい。つまり、第1中間出力データに対する第2中間出力データの位置合わせは、第1中間出力データにおける一部の領域に、第2中間出力データの位置又は大きさを合わせることであってもよい。
具体的には、位置合わせ処理部115は、まず、センサデータにおける一部のデータの領域に従って、第1中間出力データにおける一部の領域を決定してもよい。
センサデータにおける一部のデータは、センサデータのうち決定部112によって決定された一部のデータである。例えば、位置合わせ処理部115は、センサデータにおける一部のデータの領域の相対的な位置及び大きさに、第1中間出力データにおける一部の領域の相対的な位置及び大きさが等しくなるように、第1中間出力データにおける一部の領域を決定してもよい。
そして、位置合わせ処理部115は、位置合わせにおいて、第1中間出力データにおいて決定された一部の領域に、第2中間出力データを対応付けてもよい。つまり、位置合わせ処理部115は、第1中間出力データにおいて決定された一部の領域に、第2中間出力データをマッピングしてもよい。そして、位置合わせ処理部115は、第1中間出力データにおいて決定された一部の領域に、第2中間出力データの位置又は大きさを合わせることにより、位置合わせを行ってもよい。
ここで、第1中間出力データにおける一部の領域は、第1中間出力データのデータ配列における一部のデータ配列に対応する。また、センサデータにおける一部のデータの領域は、センサデータのデータ配列における一部のデータのデータ配列に対応する。データ配列は、1次元の配列でもよいし、2次元の配列でもよいし、3次元の配列でもよいし、その他の配列でもよい。
例えば、位置合わせ処理部115は、データ配列における実質的なデータ要素の位置を調整することにより、第2中間出力データの位置を調整してもよい。また、位置合わせ処理部115は、データ要素の補間又は統合等によって、第2中間出力データの大きさを調整してもよい。
生成部116は、データを生成する情報処理部であって、電気回路で構成され得る。具体的には、生成部116は、第1中間出力データ、及び、位置合わせが行われた第2中間出力データから、中間入力データを生成する。中間入力データは、第1認識モデルの第1中間層に後続する層に入力される。
例えば、生成部116は、第1中間出力データと、位置合わせ後の第2中間出力データとを統合することにより、中間入力データを生成してもよい。その際、生成部116は、第1中間出力データと、位置合わせ後の第2中間出力データとを合成することにより統合してもよい。また、その際、生成部116は、第1中間出力データにおける一部の領域を、位置合わせ後の第2中間出力データに置き換えてもよい。あるいは、生成部116は、第1中間出力データと、位置合わせ後の第2中間出力データとを連結することにより統合してもよい。
選択部117は、第1認識モデルの第1中間層を選択する情報処理部であって、電気回路で構成され得る。具体的には、選択部117は、第1認識モデルの複数の層の中から、センサデータの全体に対する認識処理と、センサデータの一部に対する認識処理とを統合するための第1中間層を選択する。
例えば、選択部117は、ユーザの指示に従って、第1中間層を選択してもよい。具体的には、選択部117は、ユーザから取得部111を介して取得される指示に従って、第1中間層を選択してもよい。
あるいは、選択部117は、第1認識モデル及び第2認識モデルの学習の際に学習された情報に従って、第1中間層を選択してもよい。例えば、第1認識モデルと第2認識モデルとは、2つに認識モデルが組み合わされた1つの認識モデルとして学習され得る。
このような学習のため、例えば、第1認識モデルの入力層に、学習データに含まれる入力データが入力され、第2認識モデルの入力層に、学習データに含まれる入力データのうちの一部のデータが入力される。そして、2つの認識処理が統合され、第1認識モデルの出力層からの出力データが、学習データに含まれる出力データに等しくなるように、第1認識モデル及び第2認識モデルが更新される。これにより、第1認識モデル及び第2認識モデルが学習される。
上記の学習において、第1認識モデルの複数の層のうち、どの層を第1中間層として選択するかがパラメータとして学習されてもよい。そして、選択部117は、その学習結果に従って、第1中間層を選択してもよい。
あるいは、選択部117は、情報処理装置110の計算リソースに関する計算リソース情報に従って、第1中間層を選択してもよい。例えば、計算リソース情報は、情報処理装置110の計算リソースの使用許容量を示す。具体的には、計算リソース情報は、計算リソースの性能を示していてもよいし、ユーザから計算リソースに対して認識処理の演算量として指定される要求演算量を示していてもよい。
そして、例えば、選択部117は、情報処理装置110の計算リソースの使用許容量が小さいほど、入力層により近い中間層を第1中間層として選択してもよい。これにより、早期に統合が行われるため、演算量が削減される。また、選択部117は、情報処理装置110の計算リソースの使用許容量が大きいほど、出力層により近い中間層を第1中間層として選択してもよい。これにより、2種類の認識処理が個別に行われる割合が大きくなるため、認識精度の向上が期待される。
また、選択部117は、第1中間層と同様に、第2中間層を選択してもよい。あるいは、選択部117は、第1中間層に従って、第1中間層に順番が対応する第2中間層を選択してもよい。あるいは、選択部117は、第1中間層のみを選択し、第2中間層を選択しなくてもよい。すなわち、第2中間層は、予め定められていてもよい。あるいは、選択部117は、第1中間層を選択せずに、第2中間層のみを選択してもよい。すなわち、第1中間層は、予め定められていてもよい。
なお、第1中間層及び第2中間層が予め定められている場合、情報処理装置110は、選択部117を備えていなくてもよい。
図2は、図1に示された情報処理装置110の動作を示すフローチャートである。例えば、図1に示された情報処理装置110における複数の構成要素が連携して図2に示された動作を行う。
まず、選択部117は、第1認識モデルの複数の層の中から第1中間層を選択する(S101)。例えば、選択部117は、ユーザの指示、学習された情報、又は、計算リソース情報に従って、第1中間層を選択する。また、選択部117は、第1中間層と同様に、第2認識モデルの複数の層の中から第2中間層を選択してもよい。なお、第1中間層及び第2中間層が予め定められている場合、この処理は行われなくてもよい。
次に、取得部111は、センサ100からセンサデータを取得する(S102)。例えば、センサ100がイメージセンサであって、センサデータが画像である場合、取得部111は、センサ100から画像をセンサデータとして取得する。取得部111は、センサ100から有線通信でセンサデータを取得してもよいし、センサ100から無線通信でセンサデータを取得してもよい。また、取得部111は、センサ100から直接的にセンサデータを取得してもよいし、センサ100から間接的にセンサデータを取得してもよい。
次に、決定部112は、センサデータのうちの一部のデータを決定する(S103)。例えば、決定部112は、ユーザの指示、センサ100のパラメータ、センサ100が搭載された移動体に関する情報、又は、センサデータに従って、センサデータのうちの一部のデータを決定する。また、センサデータが画像である場合、決定部112は、画像の一部をセンサデータのうちの一部のデータとして決定する。
次に、第1認識モデル制御部113は、第1認識モデルの入力層にセンサデータを入力する(S104)。そして、第1認識モデル制御部113は、第1認識モデルの第1中間層までの処理を行う(S105)。一方、第2認識モデル制御部114は、第2認識モデルの入力層にセンサデータを入力する(S106)。そして、第2認識モデル制御部114は、第2認識モデルの第2中間層までの処理を行う(S107)。
この例では、第1認識モデルの処理(S104及びS105)と、第2認識モデルの処理(S106及びS107)とは、並列に行われる。
次に、位置合わせ処理部115は、第1認識モデルの第1中間層からの第1中間出力データに対する、第2認識モデルの第2中間層からの第2中間出力データの位置合わせを行う(S108)。例えば、位置合わせ処理部115は、第1中間出力データにおける一部の領域に、第2中間出力データの位置又は大きさを合わせることにより、位置合わせを行う。第1中間出力データにおける一部の領域は、センサデータにおける一部のデータの領域に従って決定されてもよい。
次に、生成部116は、第1中間出力データ、及び、位置合わせが行われた第2中間出力データから、中間入力データを生成する(S109)。例えば、生成部116は、第1中間出力データと、位置合わせ後の第2中間出力データとを統合することにより、中間入力データを生成する。その際、生成部116は、第1中間出力データと、位置合わせ後の第2中間出力データとを合成することにより統合してもよいし、第1中間出力データと、位置合わせ後の第2中間出力データとを連結することにより統合してもよい。
次に、第1認識モデル制御部113は、第1認識モデルの第1中間層に後続する層に中間入力データを入力する(S110)。例えば、第1認識モデル制御部113は、第1認識モデルの第1中間層の次の中間層に対して、第1認識モデルの第1中間層からの第1中間出力データの代わりに、中間入力データを入力する。そして、第1認識モデル制御部113は、第1認識モデルの出力層までの処理を行う(S111)。
上記の動作によって、情報処理装置110は、センサデータに対する認識処理を行う。例えば、上記の動作において、情報処理装置110は、第1中間出力データ、及び、位置合わせが行われた第2中間出力データから、中間入力データを適切に生成することができる。すなわち、情報処理装置110は、センサデータの全体に対する認識処理における第1中間出力データと、センサデータの一部に対する認識処理における第2中間出力データとを適切に統合することができる。そのため、適切な統合により得られた中間入力データを第1認識モデルの認識処理の中間層の入力とすることができ、認識性能を向上させることができる。また、第2認識モデルの認識処理を途中で終了させることができ、計算量又はメモリ使用量などの計算リソースの増大を抑制することができる。
なお、上記の動作は、一例であって、適宜変更され得る。例えば、一部のデータの決定(S103)が、第2認識モデルの処理(S106及びS107)の前に、第1認識モデルの処理(S104及びS105)に対して並列に行われてもよい。また、位置合わせ(S108)が、第2認識モデルの処理(S106及びS107)の後に、第1認識モデルの処理(S104及びS105)に対して並列に行われてもよい。さらに、その後、中間入力データの生成(S109)が、並列に行われてもよい。
あるいは、複数の処理(S104〜S107等)が、並列に行われることなく、順次行われてもよい。
また、第1認識モデルは、メイン認識モデルと表現され、第2認識モデルは、サブ認識モデルと表現されてもよい。上記の構成及び動作では、1つのメイン認識モデルと、1つのサブ認識モデルとが用いられている。しかしながら、1つのメイン認識モデルと、複数のサブ認識モデルとが用いられてもよい。例えば、センサデータの全体に対する認識処理と、センサデータのうちの複数の部分の各々に対する高精度な認識処理とが組み合わされてもよい。
そして、第2認識モデル制御部114が、複数の部分に対する高精度な認識処理を行ってもよい。あるいは、情報処理装置110は、複数の部分に対する高精度な認識処理を行う複数の認識モデル制御部を備えてもよい。
(具体例)
以下において、上述された情報処理装置110の構成及び動作等のより具体的な例を説明する。なお、情報処理装置110の構成及び動作等は、以下の例に限定されない。
図3Aは、図1に示された情報処理装置110において用いられる第1認識モデル及び第2認識モデルを示す模式図である。具体的には、センサデータ201、一部のデータ202、第1認識モデル210、第2認識モデル220、出力データ203及び204等が示されている。
センサデータ201は、センサ100から取得されるセンサデータである。具体的には、情報処理装置110の取得部111がセンサ100からセンサデータ201を取得する。例えば、センサデータ201は、画像である。
一部のデータ202は、センサデータ201のうちの一部のデータである。決定部112が、センサデータ201のうちの一部のデータ202を決定する。センサデータ201が画像である場合、一部のデータ202は、センサデータ201に対応する画像のうちの一部の画像である。
第1認識モデル210は、第1認識モデル制御部113によって制御される第1認識モデルである。例えば、第1認識モデル210は、第1認識モデル制御部113の内部に実装される。第1認識モデル210は、入力層211、中間層212〜214、及び、出力層215を複数の処理層として含む。
入力層211は、第1認識モデル210の入力層である。入力層211には、第1認識モデル制御部113によってセンサデータ201が入力される。そして、入力層211に入力されたセンサデータ201に従って中間データが入力層211から出力される。なお、センサデータ201は、圧縮等により所定の解像度又はサイズに処理される。
中間層212〜214の各々は、第1認識モデル210の中間層である。中間層212〜214の各々には、中間データが入力される。そして、入力された中間データに従って、中間層212〜214の各々から新たな中間データが出力される。
出力層215は、第1認識モデル210の出力層である。出力層215には、中間データが入力される。そして、出力層215に入力された中間データに従って、出力層215から出力データ203が出力される。
出力データ203は、第1認識モデル210によって行われた認識処理の結果を示すデータである。基本的には、出力データ203は、認識処理の結果をユーザに理解可能な形式で示す。
第2認識モデル220は、第2認識モデル制御部114によって制御される第2認識モデルである。例えば、第2認識モデル220は、第2認識モデル制御部114の内部に実装される。第2認識モデル220は、入力層221、中間層222〜224、及び、出力層225を複数の処理層として含む。
入力層221は、第2認識モデル220の入力層である。入力層221には、第2認識モデル制御部114によって一部のデータ202が入力される。そして、入力層221に入力された一部のデータ202に従って中間データが入力層221から出力される。なお、一部のデータ202は、圧縮されなくてもよいし、センサデータ201と同様に圧縮されてもよい。
中間層222〜224の各々は、第2認識モデル220の中間層である。中間層222〜224の各々には、中間データが入力される。そして、入力された中間データに従って、中間層222〜224の各々から新たな中間データが出力される。
出力層225は、第2認識モデル220の出力層である。出力層225には、中間データが入力される。そして、出力層225に入力された中間データに従って、出力層225から出力データ204が出力される。
出力データ204は、第2認識モデル220によって行われた認識処理の結果を示すデータである。基本的には、出力データ204は、認識処理の結果をユーザに理解可能な形式で示す。
また、第2認識モデル220の入力層221に入力される一部のデータ202は、第1認識モデル210の入力層211に入力されるセンサデータ201よりも細かい。具体的には、センサデータ201が画像である場合、第2認識モデル220の入力層221に入力される一部のデータ202の解像度は、第1認識モデル210の入力層211に入力されるセンサデータ201の解像度よりも高い。
例えば、センサデータ201は、処理量の削減のため、低解像度化されて第1認識モデル210の入力層211に入力される。一方、一部のデータ202は、認識精度の劣化の抑制のため、低解像度化されずに第2認識モデル220の入力層221に入力される。あるいは、センサデータ201は、そのまま、第1認識モデル210の入力層211に入力され、一部のデータ202は、超解像処理によって高解像度化されて第2認識モデル220の入力層221に入力されてもよい。
また、センサデータ201が画像でない場合でも、センサデータ201の量子化等によって、データ精度が変更され得る。
さらに、図3Aの通り、第1認識モデル210の中間層213から出力される中間データである第1中間出力データと、第2認識モデル220の中間層223から出力される中間データである第2中間出力データとが統合されて、第1認識モデル210の中間層214に入力される。その際、第1中間出力データに対する第2中間出力データの位置合わせが行われる。そして、第1中間出力データと、位置合わせが行われた第2中間出力データとが統合されて中間層214に入力される。これにより、2つの認識処理が適切に統合される。
なお、第1認識モデル210の中間層212〜214のうち統合のための中間層213は、予め定められていてもよいし、中間層212〜214の中から選択部117によって選択されてもよい。同様に、第2認識モデル220の中間層222〜224のうち統合のための中間層223も、予め定められていてもよいし、中間層222〜224の中から選択部117によって選択されてもよい。
また、出力層225は、第2認識モデル制御部114に実装されていなくてもよく、出力データ204は、出力されなくてもよい。さらに、第2認識モデル220の中間層222〜224のうち統合のための中間層223が予め定められている場合、中間層223に後続する中間層224が第2認識モデル制御部114に実装されていなくてもよい。
また、この例では、第1認識モデル210は、3つの中間層212〜214を有するが、第1認識モデル210は、2つ以下の中間層を有していてもよいし、4つ以上の中間層を有していてもよい。同様に、第2認識モデル220は、3つの中間層222〜224を有するが、第2認識モデル220は、2つ以下の中間層を有していてもよいし、4つ以上の中間層を有していてもよい。
図3Bは、図3Aに示されたセンサデータ201及び一部のデータ202を示す模式図である。例えば、センサデータ201は、圧縮等により所定の解像度又はサイズに処理されて、第1認識モデル210の入力層211に入力される。また、例えば、センサデータ201における一部のデータ202は、圧縮されずに、第2認識モデル220の入力層221に入力される。
図4は、図3Aに示された入力層211の入出力を示す模式図である。入力層211には、センサデータ201が入力され、入力層211から中間データ301が出力される。中間データ301は、特徴マップとも呼ばれ、3次元のデータ配列で表現されてもよい。そして、中間データ301は、データ配列の各データ要素として特徴量を有していてもよい。3次元は、一例であり、中間データ301は、その他の次元で表現されてもよい。
例えば、中間データ301は、センサデータ201から導出される特徴を示す。また、基本的に、中間データ301における一部の領域の位置が、センサデータ201における一部の領域の位置に相対的に等しい場合、中間データ301における一部の領域は、センサデータ201における一部の領域から導出される特徴を示す。
図4では、第1認識モデル210の入力層211の入出力が示されているが、第2認識モデル220の入力層221の入出力も、第1認識モデル210の入力層211の入出力と同様である。ただし、第2認識モデル220の入力層221には、センサデータ201のうちの一部のデータ202が入力される。そして、例えば、入力層221から、一部のデータ202に対応する特徴を示す中間データが出力される。
図5は、図3Aに示された中間層212の入出力を示す模式図である。中間層212には、中間データ301が入力され、中間層212から中間データ302が出力される。中間層212に入力される中間データ301は、中間入力データとも表現され得る。また、中間層212から出力される中間データ302は、中間出力データとも表現される。
中間層212から出力される中間データ302は、中間層212に入力される中間データ301と同様の形式を有し得る。ただし、中間層212から出力される中間データ302は、中間層212に入力される中間データ301と異なる形式であってもよい。例えば、中間データ301と中間データ302とは、互いに異なる要素数を有する3次元のデータ配列で表現されてもよい。
また、例えば、中間データ302は、中間データ301から導出される特徴を示す。また、基本的に、中間データ302における一部の領域の位置が、中間データ301における一部の領域の位置に相対的に等しい場合、中間データ302における一部の領域は、中間データ301における一部の領域から導出される特徴を示す。
図5では、第1認識モデル210の中間層212の入出力が示されているが、他の中間層213、214、222〜224の入出力も、第1認識モデル210の中間層212の入出力と同様である。例えば、他の中間層213、214、222〜224では、中間データ301及び302と同様の形式で、中間データ301及び302とは異なるデータ内容の入出力が行われる。
図6は、図3Aに示された出力層215の入出力を示す模式図である。出力層215には、中間データ303が入力され、出力層215から出力データ203が出力される。出力層215に入力される中間データ303は、中間入力データとも表現され得る。また、出力層215から出力される出力データ203は、最終出力データとも表現される。
出力層215に入力される中間データ303は、中間層212に入力される中間データ301と同様の形式を有し得る。ただし、出力層215に入力される中間データ303は、中間層212に入力される中間データ301と異なる形式であってもよい。例えば、中間データ301と中間データ303とは、互いに異なる要素数を有する3次元のデータ配列で表現されてもよい。中間データ302と中間データ303との間の関係も同様である。
また、例えば、出力データ203は、中間データ303から導出され、第1認識モデル210の認識処理の結果を示す。
図6では、第1認識モデル210の出力層215の入出力が示されているが、第2認識モデル220の出力層225の入出力も、第1認識モデル210の出力層215の入出力と同様である。ただし、第2認識モデル220の出力層225には、センサデータ201のうちの一部のデータ202から入力層221及び中間層222〜224を介して導出される中間データが入力される。そして、例えば、出力層225から、第2認識モデル220の認識処理の結果を示す出力データ204が出力される。
図7は、図1に示された情報処理装置110において行われる位置合わせを示す模式図である。例えば、第1認識モデル制御部113によって、第1認識モデル210の中間層213から中間データ304が出力される。また、第2認識モデル制御部114によって、第2認識モデル220の中間層223から中間データ305が出力される。そして、位置合わせ処理部115は、中間データ304に対する中間データ305の位置合わせを行って、位置合わせが行われた中間データ305を中間データ306として生成する。
例えば、位置合わせ処理部115は、中間データ304における一部の領域に、中間データ305の位置又は大きさを合わせることにより、位置合わせを行う。
具体的には、位置合わせ処理部115は、センサデータ201における一部のデータ202の領域に従って、中間データ304における一部の領域を決定してもよい。より具体的には、位置合わせ処理部115は、センサデータ201における一部のデータ202の領域の相対的な範囲に、中間データ304における一部の領域の相対的な範囲が等しくなるように、中間データ304における一部の領域を決定してもよい。
ここで、中間データ304における一部の領域は、中間データ304のデータ配列における一部のデータ配列に対応する。また、センサデータ201における一部のデータ202の領域は、センサデータ201のデータ配列における一部のデータ202のデータ配列に対応する。
例えば、位置合わせ処理部115は、データ配列におけるデータ要素の位置を調整することにより、中間データ305の位置を調整してもよい。また、位置合わせ処理部115は、データ要素の補間又は統合等によって、中間データ305の大きさを調整してもよい。
そして、中間データ304と、中間データ305の位置合わせによって得られる中間データ306とが統合されて中間層214に入力される。情報処理装置110は、位置合わせによって、中間データ304と中間データ306とを適切に統合することができる。
なお、中間データ304に対する中間データ305の位置合わせによって、中間データ305は、中間データ304に対応する中間データ306における一部の領域にまとめられる。中間データ306における他の領域は、空であってもよいし、ゼロ埋めされてもよい。
また、位置合わせ処理部115は、中間データ304をデータ要素の補間等によって拡大し、拡大された中間データ304に対する中間データ305の位置合わせを行ってもよい。これにより、中間データ305の位置合わせにおいて、中間データ305に含まれる特徴が減少せずに維持される。
図8は、図1に示された情報処理装置110において行われる合成処理に基づく統合処理を示す模式図である。例えば、生成部116は、中間データ304と中間データ306とを合成することにより、中間データ304と中間データ306とを統合する。そして、生成部116は、中間データ304と中間データ306とが統合された中間データ307を生成する。
より具体的には、生成部116は、中間データ304と中間データ306とをデータ配列の要素毎に足し合わせてもよいし平均化してもよい。また、生成部116は、中間データ304と中間データ306とをデータ配列の要素毎に重み付けして足し合わせてもよい。あるいは、生成部116は、中間データ304における一部の領域を中間データ306に置き換えることにより、中間データ304と中間データ306とを合成してもよい。
これにより、情報処理装置110は、センサデータ201から得られる特徴と、一部のデータ202から得られる特徴とを適切に混ぜ合わせて中間層214に入力することができる。
図9は、図1に示された情報処理装置110において行われる連結処理に基づく統合処理を示す模式図である。例えば、生成部116は、中間データ304と中間データ306とを連結することにより、中間データ304と中間データ306とを統合する。そして、生成部116は、中間データ304と中間データ306とが統合された中間データ308を生成する。
より具体的には、生成部116は、中間データ304のデータ配列と中間データ306のデータ配列とを繋ぎ合わせる。そして、例えば、生成部116は、中間データ304のデータ配列の要素数に比べて、2倍の要素数を有する中間データ308を生成する。
これにより、情報処理装置110は、センサデータ201から得られる特徴と、一部のデータ202から得られる特徴とをほぼ維持して中間層214に入力することができる。なお、生成部116は、中間データ308のデータ配列における近傍の複数のデータ要素を統合して、中間データ308のデータ配列の形式を中間データ304のデータ配列と同じ形式にしてもよい。
本具体例において、情報処理装置110は、中間データ304、及び、位置合わせが行われた中間データ305から、中間データ307又は308等を適切に生成することができる。すなわち、情報処理装置110は、センサデータ201の全体に対する認識処理における中間データ304と、センサデータ201の一部に対する認識処理における中間データ305とを適切に統合することができる。
つまり、情報処理装置110は、センサデータ201の全体に対する認識処理と、センサデータ201の一部に対する認識処理とを適切に統合することができる。したがって、情報処理装置110は、センサデータ201に関する認識処理を効率的に行うことができる。
例えば、センサ100がイメージセンサであって、センサデータ201が画像である場合において、画像から大きさが異なる様々なオブジェクトを効率的に認識することは容易ではない。例えば、小さいオブジェクトが認識されるような高精度な認識処理では、処理量が大きく、処理遅延が発生する。一方、処理量の小さい認識処理では、認識精度が低下する。
情報処理装置110は、画像の全体に対する認識処理と、画像の一部に対する認識処理とを組み合わせることにより、画像の全体から大きいオブジェクトを認識し、画像の一部から小さいオブジェクトを認識することができる。すなわち、情報処理装置110は、画像から大きさが異なる様々なオブジェクトを効率的に認識することができる。また、情報処理装置110は、2種類の認識処理を適切に統合することができるため、処理量をさらに抑制することができる。
センサ100がイメージセンサでなく、センサデータ201が画像でない場合でも、同様に、情報処理装置110は、センサデータ201に関する認識処理を効率的に行うことができる。
なお、上述した通り、情報処理装置110の構成及び動作等は、本具体例に限定されない。例えば、入力層211及び221、中間層212〜214及び222〜224、並びに、出力層215及び225に関して、上述された形式とは異なる形式のデータの入出力が行われてもよい。例えば、入力層211及び221は、それぞれ、入力データをそのまま中間層212及び222に出力してもよい。また、中間層214及び224は、それぞれ、最終的な特徴を示す値を出力層215及び225に出力してもよい。
(適用例)
以下において、図1に示された情報処理装置110が移動体の制御に用いられる例を適用例として示す。
図10は、図1に示された情報処理装置110の適用例を示す模式図である。本適用例において、車両である移動体400に、センサ100及び情報処理装置110が搭載される。また、センサ100は、イメージセンサであって、移動体400の外部の画像を出力する。情報処理装置110は、画像の全体に対する認識処理、及び、画像の一部に対する認識処理を統合して、画像に対する認識処理を適切に行う。そして、情報処理装置110は、認識処理の結果を移動体400の制御に反映させる。
例えば、情報処理装置110は、認識される道路に沿って、移動体400を移動させてもよい。あるいは、情報処理装置110は、前方に物体が認識された場合、移動体400の移動を停止させてもよい。
画像の認識処理において、情報処理装置110の決定部112は、移動体400の動作の情報、又は、移動体400に対する操作の情報に従って、画像のうちより高精度に認識処理が行われる一部の画像を決定してもよい。例えば、移動体400が左折する場合、又は、移動体400が左折するように操作された場合、決定部112は、画像のうちの左側をより高精度に認識処理が行われる一部の画像として決定してもよい。
また、情報処理装置110の決定部112は、センサ100の位置及び姿勢をセンサ100のパラメータとして用いて、画像のうちより高精度に認識処理が行われる一部の画像を決定してもよい。例えば、移動体400におけるセンサ100の位置及び姿勢に従って、画像のうち道路が映る可能性が高い部分をより高精度に認識処理が行われる一部の画像として決定してもよい。
なお、本適用例において、移動体400は車両であるが、移動体400は車両に限られない。例えば、移動体400は飛行体であってもよい。また、情報処理装置110は、移動体400に搭載されなくてもよい。移動体400の外部において、情報処理装置110は、センサ100からセンサデータを取得し、センサデータに関する認識処理の結果に従って、移動体400の遠隔制御を行ってもよい。
以上、情報処理装置110の態様を実施の形態等に基づいて説明したが、情報処理装置110の態様は、実施の形態等に限定されない。実施の形態等に対して当業者が思いつく変形が施されてもよいし、実施の形態等における複数の構成要素が任意に組み合わされてもよい。例えば、実施の形態等において特定の構成要素によって実行される処理を特定の構成要素の代わりに別の構成要素が実行してもよい。また、複数の処理の順序が変更されてもよいし、複数の処理が並行して実行されてもよい。
また、情報処理装置110の各構成要素が行うステップを含む情報処理方法が任意の装置又はシステムによって実行されてもよい。例えば、情報処理方法は、プロセッサ、メモリおよび入出力回路等を備えるコンピュータによって実行されてもよい。その際、コンピュータに情報処理方法を実行させるためのプログラムがコンピュータによって実行されることにより、情報処理方法が実行されてもよい。また、非一時的なコンピュータ読み取り可能な記録媒体に、プログラムが記録されていてもよい。
例えば、上記のプログラムは、コンピュータに、センサからセンサデータを取得するステップと、前記センサデータのうちの一部のデータを決定するステップと、前記センサデータをニューラルネットワーク型の第1認識モデルの入力層に入力するステップと、前記一部のデータをニューラルネットワーク型の第2認識モデルの入力層に入力するステップと、前記第1認識モデルの第1中間層からの第1中間出力データに対する、前記第2認識モデルの第2中間層からの第2中間出力データの位置合わせを行うステップと、前記第1中間出力データ、及び、前記位置合わせが行われた前記第2中間出力データから、中間入力データを生成するステップと、前記中間入力データを前記第1認識モデルの前記第1中間層に後続する第3中間層に入力するステップと、を含む情報処理方法を実行させる。
また、情報処理装置110の複数の構成要素は、専用のハードウェアで構成されてもよいし、上記のプログラム等を実行する汎用のハードウェアで構成されてもよいし、これらの組み合わせで構成されてもよい。また、汎用のハードウェアは、プログラムが記憶されたメモリ、及び、メモリからプログラムを読み出して実行する汎用のプロセッサ等で構成されてもよい。ここで、メモリは、半導体メモリ又はハードディスク等でもよいし、汎用のプロセッサは、CPU等でもよい。
また、専用のハードウェアが、メモリ及び専用のプロセッサ等で構成されてもよい。例えば、専用のプロセッサが、第1認識モデル及び第2認識モデルの情報が記憶されたメモリを参照して、上記の情報処理方法を実行してもよい。
また、情報処理装置110の各構成要素は、実施の形態等で示した通り、電気回路であってもよい。これらの電気回路は、全体として1つの電気回路を構成してもよいし、それぞれ別々の電気回路であってもよい。また、これらの電気回路は、専用のハードウェアに対応していてもよいし、上記のプログラム等を実行する汎用のハードウェアに対応していてもよい。
以下、本開示の一態様における情報処理装置110の基本的な構成及び代表的な変形例等を示す。これらは、互いに組み合わされてもよいし、上記の実施の形態等の一部と組み合わされてもよい。
(1)本開示の一態様における情報処理装置110は、取得部111と、決定部112と、第1認識モデル制御部113と、第2認識モデル制御部114と、位置合わせ処理部115と、生成部116とを備える。
取得部111は、センサ100からセンサデータを取得する。決定部112は、センサデータのうちの一部のデータを決定する。第1認識モデル制御部113は、センサデータをニューラルネットワーク型の第1認識モデルの入力層に入力する。第2認識モデル制御部114は、一部のデータをニューラルネットワーク型の第2認識モデルの入力層に入力する。
位置合わせ処理部115は、第1認識モデルの第1中間層からの第1中間出力データに対する、第2認識モデルの第2中間層からの第2中間出力データの位置合わせを行う。生成部116は、第1中間出力データ、及び、位置合わせが行われた第2中間出力データから、中間入力データを生成する。そして、第1認識モデル制御部113は、中間入力データを第1認識モデルの第1中間層に後続する第3中間層に入力する。
これにより、情報処理装置110は、第1中間出力データ、及び、位置合わせが行われた第2中間出力データから、中間入力データを適切に生成することができる。すなわち、情報処理装置110は、センサデータの全体に対する認識処理における第1中間出力データと、センサデータの一部に対する認識処理における第2中間出力データとを適切に統合することができる。そのため、適切な統合により得られた中間入力データを第1認識モデルの認識処理の第3中間層の入力とすることができ、認識性能を向上させることができる。また、第2認識モデルの認識処理を途中で終了させることができ、計算量又はメモリ使用量などの計算リソースの増大を抑制することができる。
(2)例えば、センサ100は、イメージセンサであり、センサデータは、画像である。これにより、情報処理装置110は、画像の全体に対する認識処理における第1中間出力データと、画像の一部に対する認識処理における第2中間出力データとを適切に統合することができる。認識モデルを用いた画像認識処理では、入力画像の解像度又はサイズが圧縮されることが多い。圧縮により画像に映る物体が歪んだり潰れたりする。他方で、入力画像が圧縮されない場合、計算量及びメモリ使用量が増大する。そこで、情報処理装置110が画像認識処理に適用されることにより、画像認識性能を向上させながら計算リソースの増大を抑制することができる。
(3)例えば、位置合わせ処理部115は、第1中間出力データにおける一部の領域である第1領域に、第2中間出力データの位置又は大きさを合わせることにより、位置合わせを行う。これにより、情報処理装置110は、第1中間出力データにおける一部の領域に従って、第2中間出力データの位置合わせを適切に行うことができる。
(4)例えば、位置合わせ処理部115は、センサデータにおける一部のデータの領域に従って、第1領域を決定し、決定された第1領域に第2中間出力データの位置又は大きさを合わせることにより、位置合わせを行う。これにより、情報処理装置110は、センサデータにおける一部のデータの領域に対応した第1中間出力データにおける一部の領域を決定することができる。したがって、当該一部のデータを入力とする第2認識モデルの第2中間出力データの位置合わせを適切に行うことができる。
(5)例えば、情報処理装置110は、さらに、第1認識モデルの複数の層の中から第1中間層を選択する選択部117を備える。これにより、情報処理装置110は、センサデータの全体に対する認識処理の中間データと、センサデータの一部に対する認識処理の中間データとを統合するための第1中間層を適応的に選択することができる。
(6)例えば、選択部117は、第1認識モデル及び第2認識モデルの学習の際に学習された情報に従って第1中間層を選択する。これにより、情報処理装置110は、第1認識モデル及び第2認識モデルに適した第1中間層を選択することができる。
(7)例えば、選択部117は、情報処理装置110の計算リソースに関する計算リソース情報に従って第1中間層を選択する。これにより、情報処理装置110は、使用可能な計算リソースに適した第1中間層を選択することができる。
(8)例えば、決定部112は、センサ100のパラメータに従って、センサデータのうちの一部のデータを決定する。これにより、情報処理装置110は、センサ100のパラメータから認識性能の向上に貢献すると見込まれる、センサデータの全体とは別に認識処理が行われる一部のデータを決定することができる。
(9)例えば、決定部112は、センサ100が搭載される移動体の動作又は操作の情報に従って、センサデータのうちの一部のデータを決定する。これにより、情報処理装置110は、センサ100が搭載された移動体の動作又は操作から認識性能の向上に貢献すると見込まれる、センサデータの全体とは別に認識処理が行われる一部のデータを決定することができる。
(10)本開示の一態様における情報処理方法では、センサ100からセンサデータが取得される(S102)。そして、センサデータのうちの一部のデータが決定される(S103)。そして、センサデータがニューラルネットワーク型の第1認識モデルの入力層に入力される(S104)。そして、一部のデータがニューラルネットワーク型の第2認識モデルの入力層に入力される(S106)。
そして、第1認識モデルの第1中間層からの第1中間出力データに対する、第2認識モデルの第2中間層からの第2中間出力データの位置合わせが行われる(S108)。そして、第1中間出力データ、及び、位置合わせが行われた第2中間出力データから、中間入力データが生成される(S109)。そして、中間入力データが第1認識モデルの第1中間層に後続する第3中間層に入力される(S110)。
これにより、第1中間出力データ、及び、位置合わせが行われた第2中間出力データから、中間入力データが適切に生成され得る。すなわち、センサデータの全体に対する認識処理における第1中間出力データと、センサデータの一部に対する認識処理における第2中間出力データとが適切に統合され得る。そのため、適切な統合により得られた中間入力データを第1認識モデルの認識処理の第3中間層の入力とすることができ、認識性能を向上させることができる。また、第2認識モデルの認識処理を途中で終了させることができ、計算量又はメモリ使用量などの計算リソースの増大を抑制することができる。
(11)本開示の一態様におけるプログラムは、上記の情報処理方法をコンピュータに実行させるためのプログラムである。これにより、コンピュータが、プログラムに従って、上記の情報処理方法を実行することができる。