(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024119276
(43)【公開日】2024-09-03
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
G06T 7/70 20170101AFI20240827BHJP
G06T 7/00 20170101ALI20240827BHJP
【FI】
G06T7/70 Z
G06T7/00 660B
G06T7/00 660A
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023026061
(22)【出願日】2023-02-22
(71)【出願人】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100126664
【弁理士】
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100154852
【弁理士】
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100194087
【弁理士】
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】ゴメス ランディ
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA13
5L096CA05
5L096JA13
(57)【要約】
【課題】複数のカメラのキャリブレーションを容易にすることができる情報処理装置、情報処理方法、およびプログラムを提供することを目的とする。
【解決手段】情報処理装置は、人間の情報処理装置であって、人間の複数部位の情報を撮影された画像から取得する撮影部と人間の複数部位の情報を加算し、キャリブレーションされていない複数の撮影部について人間の3次元と2次元の時間的な位置に対して損失関数を求めて、求めた損失関数を最適化して、PnP(Perspective-n-Point)を解いて複数の撮影部間のキャリブレーションを行って複数部位の複合情報を作成する複合情報生成部と、備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
人間の複数部位の情報を撮影された画像から取得する撮影部と
前記人間の複数部位の情報を加算し、キャリブレーションされていない複数の前記撮影部について前記人間の3次元と2次元の時間的な位置に対して損失関数を求めて、求めた前記損失関数を最適化して、PnP(Perspective-n-Point)を解いて複数の前記撮影部間のキャリブレーションを行って前記複数部位の複合情報を作成する複合情報生成部と、
備える情報処理装置。
【請求項2】
幾何学的なキューと他のキューを使用する融合フィルタのカスケードを使用して、前記人間の複数部位の情報を加算して関連付ける、
請求項1に記載の情報処理装置。
【請求項3】
前記撮影部は、撮影された画像から前記人間の複数部位の情報として前記人間の骨格情報を取得し、撮影された画像から前記人間の複数部位の第1の情報を取得し、
前記複合情報生成部は、前記骨格情報に前記人間の第1の情報を結合して、前記人間の複数部位の情報を加算する、
請求項1または請求項2に記載の情報処理装置。
【請求項4】
前記人間の複数部位の情報は、骨格情報と、手に関する情報と、顔に関する情報と、赤外線で殺意された画像に基づく情報である、
請求項1または請求項2に記載の情報処理装置。
【請求項5】
前記撮影部は、赤外線を用いて撮影した画像に基づいて、識別すべき対象人物が存在しているか否かを判別する、
請求項1または請求項2に記載の情報処理装置。
【請求項6】
撮影部が、人間の複数部位の情報を撮影された画像から取得し、
複合情報生成部が、前記人間の複数部位の情報を加算し、
前記複合情報生成部が、キャリブレーションされていない複数の前記撮影部について前記人間の3次元と2次元の時間的な位置に対して損失関数を求めて、求めた前記損失関数を最適化して、PnP(Perspective-n-Point)を解いて複数の前記撮影部間のキャリブレーションを行って前記複数部位の複合情報を作成する、
情報処理方法。
【請求項7】
情報処理装置のコンピュータに、
人間の複数部位の情報を撮影された画像から取得させ、
前記人間の複数部位の情報を加算させ、
キャリブレーションされていない複数の前記撮影部について前記人間の3次元と2次元の時間的な位置に対して損失関数を求めさせ、求められた前記損失関数を最適化して、PnP(Perspective-n-Point)を解いて複数の前記撮影部間のキャリブレーションを行って前記複数部位の複合情報を作成させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
人間と機械の相互作用には、機械が相互作用する相手を適切かつ強固に認識することが必要である。主要なモダリティの1つは視覚である。視覚によって、多くの異なる特徴(体の部位、ジェスチャー、顔の特徴など)を抽出することができる。なお、人物に関するすべての情報は、統一された首尾一貫した方法で提供される必要がある。ロバスト性を実現する手法の1つは、複数のカメラを組み合わせることである。これにより、全視野を拡大し、手前にある物体が後ろにある物体を隠す状態であるオクルージョン(occlusion)を処理し、異なる解像度を考慮することができる。
【0003】
例えば、赤外線画像はHMI/HRIに関連する情報を提供することが示されている(例えば非特許文献1参照)。
上述した異なるソースを組み合わせることは容易ではなく、システムの適切なキャリブレーションとデータフュージョン技術が必要である。現在の技術では、通常、校正を行うために独自のセンサ(非汎用)を使用する必要がある。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Mohamed, Y., Ballardini, G., Parreira, M. T., Lemaignan, S., & Leite, I. (2022, March),” Automatic Frustration Detection Using Thermal Imaging”, In Proceedings of the 2022 ACM/IEEE International Conference on Human-Robot Interaction (pp. 451-460).
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、アプリケーションで使用される様々なセンサを利用することが困難である。これは、アプリケーションが複数の汎用センサを使用する場合に問題となる傾向がある。キャリブレーションは、一般的に非常に困難である。
【0006】
本発明は、上記の問題点に鑑みてなされたものであって、複数のカメラのキャリブレーションを容易にすることができる情報処理装置、情報処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
(1)上記目的を達成するため、本発明の一態様に係る情報処理装置は、人間の複数部位の情報を撮影された画像から取得する撮影部と前記人間の複数部位の情報を加算し、キャリブレーションされていない複数の前記撮影部について前記人間の3次元と2次元の時間的な位置に対して損失関数を求めて、求めた前記損失関数を最適化して、PnP(Perspective-n-Point)を解いて複数の前記撮影部間のキャリブレーションを行って前記複数部位の複合情報を作成する複合情報生成部と、備える情報処理装置である。
【0008】
(2)(1)の情報処理装置において、幾何学的なキューと他のキューを使用する融合フィルタのカスケードを使用して、前記人間の複数部位の情報を加算して関連付けるようにしてもよい。
【0009】
(3)(1)または(2)の情報処理装置において、前記撮影部は、撮影された画像から前記人間の複数部位の情報として前記人間の骨格情報を取得し、撮影された画像から前記人間の複数部位の第1の情報を取得し、前記複合情報生成部は、前記骨格情報に前記人間の第1の情報を結合して、前記人間の複数部位の情報を加算するようにしてもよい。
【0010】
(4)(1)から(3)のうちのいずれか1つの情報処理装置において、前記人間の複数部位の情報は、骨格情報と、手に関する情報と、顔に関する情報と、赤外線で殺意された画像に基づく情報であるようにしてもよい。
【0011】
(5)(1)から(4)のうちのいずれか1つの情報処理装置において、前記撮影部は、赤外線を用いて撮影した画像に基づいて、識別すべき対象人物が存在しているか否かを判別するようにしてもよい。
【0012】
(6)上記目的を達成するため、本発明の一態様に係る情報処理方法は、撮影部が、人間の複数部位の情報を撮影された画像から取得し、複合情報生成部が、前記人間の複数部位の情報を加算し、前記複合情報生成部が、キャリブレーションされていない複数の前記撮影部について前記人間の3次元と2次元の時間的な位置に対して損失関数を求めて、求めた前記損失関数を最適化して、PnP(Perspective-n-Point)を解いて複数の前記撮影部間のキャリブレーションを行って前記複数部位の複合情報を作成する、情報処理方法である。
【0013】
(7)上記目的を達成するため、本発明の一態様に係るプログラムは、情報処理装置のコンピュータに、人間の複数部位の情報を撮影された画像から取得させ、前記人間の複数部位の情報を加算させ、キャリブレーションされていない複数の前記撮影部について前記人間の3次元と2次元の時間的な位置に対して損失関数を求めさせ、求められた前記損失関数を最適化して、PnP(Perspective-n-Point)を解いて複数の前記撮影部間のキャリブレーションを行って前記複数部位の複合情報を作成させる、プログラムである。
【発明の効果】
【0014】
(1)~(7)によれば、複数のカメラのキャリブレーションを容易にすることができる。
【図面の簡単な説明】
【0015】
【
図1】実施形態に係る情報処理装置の構成例を示す図である。
【
図2】実施形態に係るスケルトン・アッセンブラー部が行う処理を説明するための図である。
【
図3】実施形態に係るスケルトン・アッセンブラー部が行う処理を説明するための図である。
【
図4】実施形態の複合情報生成部が行う統合プロセスを説明するための図である。
【
図6】実施形態に係るキャリブレーションとフュージョンを説明するための図である。
【
図7】実施形態に係るキャリブレーションとフュージョンの処理手順例を示す図である。
【
図8】PnPを解く方法例を説明するための図である。
【
図9】PnPを解く方法例を説明するための図である。
【
図10】実施形態に係る情報処理装置をコミュニケーションロボットに適用した場合の識別結果例を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の説明に用いる図面では、各部材を認識可能な大きさとするため、各部材の縮尺を適宜変更している。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「XXに基づいて」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づいて」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
【0017】
(情報処理装置の概要)
例えば、椅子がある場合、椅子に人が座っているのか否かの検出が難しい場合もある。このため、本実施形態の情報処理装置は、複数のセンサを用いて人物を識別する。情報処理装置は、人物の識別の際、顔の特徴だけではなく、例えば、その人物特有の動き(ジェスチャー)などの情報を用いて識別する。このような処理を行うためには、複数のカメラを用いて対象人物を撮影する。複数のカメラを用いる場合は、複数のカメラについて座標等をキャリブレーションする必要がある。複数のカメラに対するキャリブレーションが従来技術ではコストや手間等がかかるため、本実施形態では、複数のカメラについてのキャリブレーションを複数の汎用センサを活用し、人間の存在感(体の骨格(skeletons))を推定し、さらに機械学習アプローチとキャリブレーションを組み合わせることで行う。
【0018】
(情報処理装置の構成例)
図1は、本実施形態に係る情報処理装置の構成例を示す図である。
図1のように、情報処理装置1は、例えばセンサ2と、複合情報生成部4を備える。
【0019】
情報処理装置1は、環境に存在する人物毎に、例えば、体の姿勢、顔のID、音の位置、発した言葉などの統一的なデータ構造を提供する。人物データフュージョンでは、音声とカメラから抽出された特徴量のセットを想定しているが、カメラから抽出された特徴量のみでもよい。また、データには、音の位置、発した言葉は含まれていなくてもよい。
【0020】
センサ2は、例えば、第1カメラ21(撮影部)と、第2カメラ22(撮影部)と、第Nカメラ23(撮影部)と、赤外線カメラ24と、収音部25を備える。
【0021】
第1カメラ21は、例えば深度情報も取得でき三次元情報を抽出できるRGBD(赤緑青深度)撮影装置である。第1カメラ21は、対象人物を含む範囲を撮影する。第1カメラ21は、撮影した第1画像(Images)を顔認識部32とハンド抽出部33に出力する。第1カメラ21は、深度情報を用いて撮影した画像から、例えばテンプレートを用いて対象人物に関するスケルトン情報を抽出し、抽出した第1スケルトン情報をスケルトン・アッセンブラー部31に出力する。なお、対象人物に関するスケルトン情報とは、例えば、予め人間の所定の位置(例えば関節、顔、手、足等)に設定されている位置毎の位置情報、識別情報である。なお、撮影された画像には撮影された時間データが付加されている。
【0022】
第2カメラ22は、例えば深度情報も取得でき三次元情報を抽出できるRGBD撮影装置である。第2カメラ22は、対象人物を含む範囲を撮影する。第2カメラ22は、撮影した第2画像(Images)を顔認識部32とハンド抽出部33に出力する。第2カメラ22は、深度情報を用いて撮影した画像から、例えばテンプレートを対象人物に関するスケルトン情報を抽出し、抽出した第2スケルトン情報をスケルトン・アッセンブラー部31に出力する。なお、撮影された画像には撮影された時間データが付加されている。
なお、第1カメラ21と第2カメラ22は、異なる位置に配置され、対象人物を異なるアングルから撮影する。
【0023】
第Nカメラ23(Nは2以上の整数)は、例えば、深度情報も取得でき三次元情報を抽出できるRGBD撮影装置である。第Nカメラ23は、撮影した第2N画像(Images)を顔認識部32とハンド抽出部33に出力する。なお、撮影された画像には撮影された時間データが付加されている。
【0024】
赤外線カメラ24は、赤外線を用いて撮影する撮影装置である。赤外線カメラ24は、撮影した赤外線画像(IR Imeges)を顔の特徴量抽出部34に出力する。なお、情報処理装置1は、赤外線カメラ24が撮影した画像に基づいて、人間が存在しているのか否かの検出を行う。なお、撮影された画像には撮影された時間データが付加されている。
【0025】
収音部25は、例えば、複数のマイクロホンで構成されるマイクロホンアレイである。なお、収音された音響信号には収音された時間データが付加されている。
【0026】
複合情報生成部4は、例えば、スケルトン・アッセンブラー部31と、顔認識部32と、ハンド抽出部33と、顔の特徴量抽出部34と、第1モジュール41と、第2モジュール42と、第3モジュール43と、第4モジュール44と、音声認識部5と、キャリブレーション部6を備える。なお、各モジュールの構成例、機能等については後述する。
【0027】
複合情報生成部4は、センサ2と音声認識部5が出力する情報を統合する。複合情報生成部4は、統合した情報を外部装置に出力する。外部装置は、例えば、パーソナルコンピュータ、スマートフォン、タブレット端末、携帯端末、専用装置等である。なお、複合情報の生成処理については、後述する。
【0028】
スケルトン・アッセンブラー部31は、複数のカメラと、スケルトン抽出ライブラリから得られたスケルトン特徴を関連付けることで結合し、統合したスケルトン情報を複合情報生成部4に出力する。スケルトン抽出ライブラリは、例えば、骨格毎に異なるライブラリ(基本的な機能を実行する汎用的なソフトウェアコード)を備えている。なお、スケルトン抽出ライブラリは、例えば、一般的な人間の各骨格の位置を示す情報、身長に対する比を表す情報等を有している。骨格の位置は、後述する
図2のように、頭、顔、首、手、ボディ、股関節、脚、足などの各関節等の位置であり、さらにボディの前方向と後方向からの位置である。なお、スケルトン・アッセンブラー部31は、複合情報生成部4の一部でもある。
このように、本実施形態では、従来のように対象者の体にセンサや反射板などの装着無しに、複数のカメラが撮影した画像とスケルトン抽出ライブラリを用いて、対象者の骨格情報を統合する。なお、骨格情報は、例えば、対象人物の体の動き(ジェスチャー)、歩いている状態、立っている状態との特徴を示す情報である。
【0029】
顔認識部32は、取得した画像に対して、周知の画像処理手法を用いて、撮影された画像に含まれる人物の顔情報を抽出し、抽出した顔情報を複合情報生成部4に出力する。なお、顔情報とは、例えば、対象人物の顔の特徴量、例えば、顔の形状、各パーツの位置、各パーツの大きさ、髪の毛の色、目の色、皮膚の色、しわ等に基づく性別や対象人物を識別するための識別子等を識別できる情報である。
【0030】
ハンド抽出部33は、取得した画像に対して、周知の画像処理手法を用いて、撮影された画像に含まれる人物毎にハンド情報を抽出し、抽出したハンド情報を複合情報生成部4に出力する。なお、ハンド情報とは、例えば、対象人物の手の動き(ジェスチャー)、指さし、拍手、手話等を識別できる情報である。
【0031】
顔の特徴量抽出部34は、取得した赤外線画像に対して、周知の画像処理手法を用いて、撮影された画像に含まれる人物毎に赤外線顔情報を抽出し、抽出した赤外線顔情報を複合情報生成部4に出力する。
【0032】
音声認識部5は、収音されたMチャンネルの音声信号に対して、周知の手法を用いて、雑音抑圧処理、音源分離処理、音源方向推定処理、発話区間検出処理、音声認識等の処理を行う。
【0033】
キャリブレーション部6は、機械学習(ML;Machine Learning)を用いてセンサ間のキャリブレーションを行う。なお、キャリブレーションについては、後述する。
【0034】
なお、
図1に示した構成例では、カメラが3つ(第1カメラ21、第2カメラ22、第Nカメラ23)の例を説明したが、カメラの数は4つ以上であってもよい。
【0035】
(スケルトン・アッセンブラー部)
次に、スケルトン・アッセンブラー部31が行う処理を、
図2、
図3を用いて説明する。
図2、
図3は、本実施形態に係るスケルトン・アッセンブラー部が行う処理を説明するための図である。
図2は、3つのカメラによって撮影された1人の対象人物に関する体の各位置等の情報例である。
図3は、
図2の画像をキャリブレーション無しで統合した場合の例である。なお、本実施形態では、各カメラが撮影した情報において、体の位置情報をグループ化して、例えば身体のテンプレートに合成することで3Dモデルを生成する。この場合、所定の範囲内で検出される人のモデルは同一人物のデータであると判別し、所定の範囲外の人のモデルは複数の人物であると判別する。
【0036】
(統合プロセス)
次に、複合情報生成部4が行う統合プロセスについて説明する。
図4は、本実施形態の複合情報生成部が行う統合プロセスを説明するための図である。左から右に、第1モジュール41、第2モジュール42、第3モジュール、第4モジュールに対応する。
図4において、各モジュールはカスケード接続されており、処理は左から右に行われる。
また、以下の処理は、撮影された画像に複数の人が検出され場合、1人毎に行われる。なお、キャリブレーションは、情報が統合された後に行われる。
【0037】
第1モジュール41は、キャッシュ411と、Mean Filter412と、To Peple部413と、前処理部414を備える。なお、第1モジュール41は、スケルトン・アッセンブラー部31に相当する。
第1モジュール41には、スケルトン情報が入力される。入力されたスケルトン情報は、キャッシュ411にキャッシュされた後、Mean Filter412によってノイズ成分が除去される。次に、To Peple部413は、人毎に情報に分類する。さらに、前処理部414は、例えば、位置情報に基づいて、対象人物の外形情報を生成したりして骨格情報を生成する。第1モジュール41によって出力される骨格情報は、例えば、ボディによるジェスチャー、歩いている状態、座っている状態に関する情報を含んでいることになる。第1モジュール41は、対象人物の骨格情報を第2モジュール42に出力する。
【0038】
第2モジュール42は、キャッシュ421と、Mean Filter422と、コンバイナ423と、フュージョン部424を備える。
第2モジュール42には、ハンド情報が入力される。入力されたハンド情報は、キャッシュ421にキャッシュされた後、Mean Filter422によってノイズ成分が除去される。次に、コンバイナ423には、Mean Filter422が出力する情報と、第1モジュール41が出力する情報とが入力される。コンバイナ423は、各カメラの画像情報の入力タイミングや画像ファイルの大きさによる入力タイミングのズレと第1モジュール41からの情報入力タイミングのズレを吸収するために、所定時間データを保持して、異なる情報源(ハンド、スケルトン)からの情報をタイミング情報のみに基づいて関連付ける。コンバイナ423の出力は、時間的に一致しているため、関連付けることができるすべてのハンドとスケルトンを提供する。続けて、フュージョン部424は、幾何学的情報(画像平面上の交点)に基づいて、各ハンドのデータに、与えられたスケルトンのデータを関連付ける。フュージョン部424の出力は、与えられた各人物について結合された情報である。第2モジュール42によって出力されるHand情報は、例えば、手によるジェスチャー、指さし、拍手、手話等に関する情報を含んでいることになる。第2モジュール42は、対象人物毎の骨格情報とHand情報を第3モジュール43に出力する。
【0039】
第3モジュール43は、キャッシュ431と、Mean Filter432と、コンバイナ433と、フュージョン部434を備える。
第3モジュール43には、顔情報が入力される。入力された顔情報は、キャッシュ431にキャッシュされた後、Mean Filter432によってノイズ成分が除去される。次に、コンバイナ433には、Mean Filter432が出力する情報と、第2モジュール42が出力する情報とが入力される。コンバイナ433は、各カメラの画像情報の入力タイミングや画像ファイルの大きさによる入力タイミングのズレと第2モジュール42からの情報入力タイミングのズレを吸収するために、所定時間データを保持して、入力された情報を結合する。続けて、フュージョン部434は、結合された情報を関連付けて、対象人物毎の骨格情報とHand情報とFace情報を生成する。第3モジュール43によって出力されるFace情報は、例えば、性別、名前等に関する情報を含んでいることになる。第3モジュール43は、対象人物毎の骨格情報とHand情報とFace情報を第4モジュール44に出力する。
【0040】
第4モジュール44は、キャッシュ441と、Mean Filter442と、コンバイナ443と、フュージョン部444を備える。
第4モジュール44には、赤外線顔情報が入力される。入力された赤外線顔情報は、キャッシュ441にキャッシュされた後、Mean Filter442によってノイズ成分が除去される。次に、コンバイナ443には、Mean Filter442が出力する情報と、第3モジュール43が出力する情報とが入力される。コンバイナ443は、赤外線カメラ24の画像情報の入力タイミングと第3モジュール43からの情報入力タイミングのズレを吸収するために、所定時間データを保持して、入力された情報を結合する。続けて、フュージョン部444は、結合された情報を関連付けて、対象人物毎の骨格情報とHand情報とFace情報と赤外線顔情報に基づく赤外線Face情報を生成する。第4モジュール44は、対象人物毎の骨格情報とHand情報とFace情報と赤外線顔情報に基づく赤外線Face情報を出力する。
【0041】
なお、骨格情報を一番先に処理する理由は、骨格情報を基準にして、手や顔や赤外線情報を統合しているためである。
このように、本実施形態では、幾何学的なキューと他のキューを使用する融合フィルタのカスケードを使用して、前記人間の複数部位の情報を加算して関連付ける。
【0042】
(キャリブレーション方法)
フュージョン処理では、異なるセンサの基準フレームを適切に外部較正する必要がある。このため、本実施形態では、キャリブレーション例を説明する。
図5は、座標系の例を示す図である。
図5において、符号g101は、ハンドを認識するカメラ、例えば第1カメラ21の座標系を示す。符号g102は、顔を認識するカメラ、例えば第2カメラ22の座標系を示す。符号g103は、ワールド座標系を示す。符号g111は、ワールド座標系とハンドを認識するカメラの座標系の変換を示している。符号g112は、ワールド座標系と顔を認識するカメラの座標系の変換を示している。
【0043】
図6は、本実施形態に係るキャリブレーションとフュージョンを説明するための図である。符号g201は、例えば第1カメラ21の座標系と撮影された画像における対象人物の骨格情報等である。符号g202は、例えば第2カメラ22の座標系と撮影された画像における対象人物の骨格情報等である。符号g203は、対象人物にいける時間情報のイメージ図である。
【0044】
複数カメラによる校正(固有・外来)はコストがかかり、手間がかかる。このため、本実施形態では、観測データによる自動共同キャリブレーションと、フュージョン処理を行う。観測データによる自動共同キャリブレーションと、フュージョン処理では、機械学習と最適化を行う。さらに、機械学習と最適化では、時空間的にコヒーレントなデータ列を求める、未校正のカメラによるPnP(Perspective-n-Point)問題について、機械学習による初期解を求める等の処理を行う。
【0045】
図7は、本実施形態に係るキャリブレーションとフュージョンの処理手順例を示す図である。
符号g251は、例えば第1カメラ21による対象人物の二次元軌道例である。符号g252は、例えば第1カメラ21とは別アングルの第2カメラ22による対象人物の二次元軌道例である。符号g253は、例えば第Nカメラ23による対象人物の三次元軌道例である。なお、符号g251~g253、およびその右横の鎖線は、軌道を示している。
符号g261は、キャリブレーション処理を示している。
符号g271は、キャリブレーションされた軌跡と損失関数を求めて出力することを示している。
なお、本実施形態では、カメラの内部パラメータが既知であり、基準となる座標系(ワールド座標系)が定義されており撮影する物体(の各点)のワールド座標系での位置が既知または得られているとする。
【0046】
(ステップS1)情報処理装置1は、時空間的にまとまったデータのシーケンス処理を行う。この処理では、人の存在を「校正パターン」として利用する。また、情報処理装置1は、人物とカメラごとに2次元と3次元の位置データと時間データを抽出する。これにより、情報処理装置1は、空間-時間データを作成する。
【0047】
(ステップS2)情報処理装置1は、機械学習を用いてキャリブレーションとフュージョン問題の初期解を求める。なお、情報処理装置1は、処理において、関連付け、キャリブレーション、フュージョンのために追加的な特徴を使用する。
【0048】
(ステップS3)情報処理装置1は、初期解と、人の3次元と2次元の時間的な位置に対して最適化し、PnP(Perspective-n-Point)を解いてカメラ間のキャリブレーションを行う。なお、情報処理装置1は、ローカルミニマムと悪いデータの関連付けの影響を避けるために、機械学習で求めた初期解を使用する。
【0049】
ここで、初期解と、時間的な位置を用いて、最適化してPnPを解く方法例を、
図8、
図9を用いて説明する。
図8、
図9は、PnPを解く方法例を説明するための図である。
【0050】
初期値は、機械学習から得た
CR
W、
Ct
W、f、u
0、v
0、およびΔtである(
図8の符号g281)。なお、
CR
Wと
Ct
Wは外部キャリブレーション(External calibration)、fとu
0とv
0は内部キャリブレーション(Internal calibration)、Δtはクロックオフセットである。3Dのリファレンスのスケルトン情報を
WP
i(t)とする(
図8の符号g282)。初期値と3Dのリファレンスのスケルトン情報を関連付けて投影(Projection)したものをu
~
i(t)とする(
図8の符号g283)。また、抽出された2Dスケルトン情報をu
i(t+Δt)とする(
図8の符号g284)。
初期値と3Dのリファレンスのスケルトン情報を関連付けて投影と、抽出された2Dスケルトン情報との差は、||u
~
i(t)-u
i(t+Δt)||である(
図9の符号g291)。これらの情報を用いて、PnP問題は、次式(1)のように表される(g285)。
【0051】
【0052】
なお、初期値と3Dのリファレンスのスケルトン情報を関連付けて投影(Projection)したものu~
i(t)は、3Dのリファレンスのスケルトン情報WPi(t)を用いて次式(2)のように表される。
【0053】
【0054】
式(2)において、左辺がu~
i(t)であり、右辺の第1項が内部キャリブレーション行列であり、右辺の第2項が投影変換行列であり、右辺の第3項が外部キャリブレーション行列であり、右辺の第4項が3Dのリファレンスのスケルトン情報WPi(t)である。
【0055】
情報処理装置1は、式(1)を解いて求めたcRW、ctW、f、uo、vo、およびΔtを更新する(g286)。情報処理装置1は、この求めた値を初期値の代わりに用いて、投影以下の処理を例えば所定回数繰り返す。
【0056】
次に、損失関数について説明する。本実施形態において損失関数は、再構成された軌道と実軌道の間の例えば平均二乗誤差(MSE)である。そして、損出関数を、標準的な機械学習の勾配ベースの最適化手法(例えばSDG、Adamなど)(参考文献1、2参照)を用いて最適化する。
【0057】
参考文献1;Bock, S., & Weiss, M. (2019, July), “A proof of local convergence for the Adam optimizer”, In 2019 International Joint Conference on Neural Networks (IJCNN) (pp. 1-8). IEEE.
参考文献2;Choi, D., Shallue, C. J., Nado, Z., Lee, J., Maddison, C. J., & Dahl, G. E. (2019), “On empirical comparisons of optimizers for deep learning’, arXiv preprint arXiv:1910.05446.
【0058】
なお、ローカルミニマムを回避するため、本実施形態では、以下のように2段階の最適化を行うようにした。
第1段階:ネットワークが初期解を提供。
第2段階:グローバルな収束特性を持つPnPとRANSAC(RANdom SAmple Consensus)を用いた2段階目の最適化(例えば参考文献3、4参照)。
【0059】
参考文献3;G. Nakano, “Globally optimal DLS method for PnP problem with Cayley parameterization,” in British Machine Vision Conference, 2015, pp. 78.1-78.11
参考文献4;G. Terzakis and M. Lourakis, “A consistently fast and globally optimal solution to the perspective-n-point problem,” in European Conference on Computer Vision. Springer Nature Switzerland, 2020, pp. 1-17.
【0060】
(モジュールのトレーニングとタイミング)
ジオメトリ(geometry)の他に、カメラ間のキャリブレーションが必要な側面の1つは、タイミングである。各カメラが採用するタイムスタンプは、ローカルクロックのオフセットがあるため、異なる場合がある。フュージョンには、タイムスタンプが重要であるため、キャリブレーションプロセス全体の一部として、このオフセットもキャリブレーションする必要がある。
機械学習モデルは、学習するためのデータを必要とする。このシステムでは、自己監視を使用してカメラのオフセットのキャリブレーションの学習を行う。人の存在をラベルとして、「キャリブレーションパターン」として使用する。学習されたモデルは、あるカメラで撮影された人物の骨格が、別のカメラでどのように見えるかを予測する。本実施形態では、このカメラでの予測値と実際の骨格データとの誤差を学習監視信号として用いる。
また、シミュレーションは、監視付きシステムの事前トレーニングに使用可能(固有および外部キャリブレーションが既知のシミュレーションカメラ)である。なお、シミュレーションは、検証に用いた。
【0061】
また、キャリブレーションでは、タイムスタンプのオフセットのキャリブレーションを行う。この理由は、キャリブレーションの一環としてタイミングの違いを最適化する(時間情報は軌跡の一部であるため)。
また、カメラ間のサンプリング時間の違いについては、例えば損失関数としてDynamic Time Warping(DWT)の類似性を利用する(例えば参考文献5、6、7参照)。
【0062】
参考文献5;Donald J Berndt and James Clifford, “Using dynamic time warping to find patterns in time series”, In KDD workshop, volume 10, pages 359-370. Seattle, WA, 1994.
参考文献6;Cai, X., Xu, T., Yi, J., Huang, J., & Rajasekaran, S. (2019), “Dtwnet: a dynamic time warping network”, Advances in neural information processing systems, 32.
参考文献7;Mohammadzade, H., Hosseini, S., Rezaei-Dastjerdehei, M. R., & Tabejamaat, M. (2021), “Dynamic time warping-based features with class-specific joint importance maps for action recognition using Kinect depth sensor”, IEEE Sensors Journal, 21(7), 9300-9313.
【0063】
(適用例)
次に、情報処理装置1をコミュニケーションロボットに適用した場合の識別結果例を説明する。
図10は、本実施形態に係る情報処理装置をコミュニケーションロボットに適用した場合の識別結果例を示す図である。
符号g300は、コミュニケーションロボットg301と、2人の対象人物がいる環境を撮影した画像であり、顔と手を認識した結果を重ねて示している。符号g302は、第1対象者の顔を認識した結果である。符号g303は、第2対象者の顔を認識した結果である、符号g304は、第1対象者の手を認識した結果である。
【0064】
符号g310は、各対象者の認識結果を統合して識別情報として提示している例である。符号g311は、第1対象者の識別結果であり、「マスクをしている」、性別は「女性」、状態は「通常」、名前は「Elena」であると識別されたことを示している。符号g312は、第2対象者の識別結果であり、「Come on」と発話している事が認識され、「マスクをしている」、性別は「男性」、状態は「通常」、名前は不明であると識別されたことを示している。なお、符号g310の対象者の状態は、例えばコミュニケーションロボットg301から見た状態である。この理由は、コミュニケーションロボットg301が、カメラを備えているためである。
【0065】
なお、
図8に示した識別結果等は一例であり、これに限らない。
【0066】
以上のように、本実施形態では、複数のカメラによって得られた情報を統合し、統合した後にカメラに対してキャリブレーションを行うようにした。これにより、本実施形態によれば、特別なセンサ等を用いずに、複数のカメラのキャリブレーションを行うことができる。
【0067】
なお、上述した例では、撮影された画像から対象人物の手を認識して、Hand情報を生成し、生成したHand情報を識別するための情報に統合する例を説明したが、これに限らない。検出する情報は、例えば脚や足の情報であってもよい。例えば対象人物が歩き方に特徴がある場合は、このような情報を用いることで識別できる場合もあるためである。
【0068】
なお、本発明における情報処理装置1の機能の全てまたは一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより情報処理装置1が行う処理の全てまたは一部を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0069】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0070】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
【符号の説明】
【0071】
1…情報処理装置、2…センサ、4…複合情報生成部、5…音声認識部、6…キャリブレーション部、21…第1カメラ、22…第2カメラ、23…第Nカメラ、24…赤外線カメラ、25…収音部、31…スケルトン・アッセンブラー部、32…顔認識部、33…ハンド抽出部、34…顔の特徴量抽出部、41…第1モジュール、42…第2モジュール、43…第3モジュール、44…第4モジュール