(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024089440
(43)【公開日】2024-07-03
(54)【発明の名称】固体撮像装置、情報処理システム、プログラム及び情報処理装置
(51)【国際特許分類】
H04N 23/60 20230101AFI20240626BHJP
G06T 7/80 20170101ALI20240626BHJP
G03B 35/08 20210101ALI20240626BHJP
【FI】
H04N23/60
G06T7/80
G03B35/08
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022204800
(22)【出願日】2022-12-21
(71)【出願人】
【識別番号】522496356
【氏名又は名称】トゥファン ジルダス
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100202429
【弁理士】
【氏名又は名称】石原 信人
(72)【発明者】
【氏名】トゥファン ジルダス
【テーマコード(参考)】
2H059
5C122
5L096
【Fターム(参考)】
2H059AA10
2H059AA18
2H059AC04
5C122DA30
5C122EA06
5C122FA18
5C122FH04
5C122FH11
5C122FH14
5C122GA01
5C122GA23
5C122GE26
5C122GE27
5C122HA46
5C122HA88
5C122HB01
5C122HB10
5L096AA09
5L096CA05
5L096DA02
5L096FA02
5L096FA09
5L096FA69
5L096GA51
5L096HA01
5L096HA11
5L096JA11
(57)【要約】
【課題】複数カメラにおける外部キャリブレーションを自動的に実行する。
【解決手段】固体撮像装置は、撮像部と、記憶部と、処理回路と、を備える。前記撮像部は、第1画像情報及び第1深度情報を取得する。前記処理回路は、前記第1深度情報に基づいて、第1非剛体モデルを生成し、生成された前記第1非剛体モデルと、他の固体撮像装置により取得された第2深度情報に基づいた第2非剛体モデルと、をフィッティングし、フィッティングの結果に基づいて、前記他の固体撮像装置に関する外部パラメータを取得する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1画像情報及び第1深度情報を取得する、撮像部と、
記憶部と、
処理回路と、
を備え、
前記処理回路は、
前記第1深度情報に基づいて、第1非剛体モデルを生成し、
生成された前記第1非剛体モデルと、他の固体撮像装置により取得された第2深度情報に基づいた第2非剛体モデルと、をフィッティングし、
フィッティングの結果に基づいて、前記他の固体撮像装置に関する外部パラメータを取得する、
固体撮像装置。
【請求項2】
前記処理回路は、
前記他の固体撮像装置から前記第2非剛体モデルを取得する、
請求項1に記載の固体撮像装置。
【請求項3】
前記処理回路は、
前記他の固体撮像装置から前記第2深度情報を取得し、前記第2非剛体モデルを生成する、
請求項1に記載の固体撮像装置。
【請求項4】
前記処理回路は、
前記他の固体撮像装置におけるカメラ座標系から、自固体撮像装置におけるカメラ座標系へ変換する外部パラメータを取得する、
請求項1に記載の固体撮像装置。
【請求項5】
前記処理回路は、
任意のタイミングにおいて取得した前記第1非剛体モデルと、前記第2非剛体モデルと、をフィッティングして前記外部パラメータを取得し、
前記外部パラメータを前記記憶部に格納する、
請求項4に記載の固体撮像装置。
【請求項6】
前記処理回路は、
前記第1深度情報を学習済みモデルに入力し、前記第1非剛体モデルを生成する、
請求項1に記載の固体撮像装置。
【請求項7】
請求項1に記載の複数の固体撮像装置を備え、
前記複数の固体撮像装置の少なくとも1つの固体撮像装置において、他の固体撮像装置に関する外部パラメータを取得する、
情報処理システム。
【請求項8】
処理回路に、
第1撮像系により取得した第1深度情報に基づいて、第1非剛体モデルを生成し、
生成された前記第1非剛体モデルと、第2撮像系により取得された第2深度情報に基づいた第2非剛体モデルと、をフィッティングし、
フィッティングの結果に基づいて、前記第2撮像系に対する前記第1撮像系の外部パラメータを取得する、
情報処理方法を実行させる、プログラム。
【請求項9】
記憶部と、
処理回路と、
を備え、
前記処理回路は、
第1カメラにおいて取得された第1深度情報に基づいた第1非剛体モデルと、第2カメラにおいて取得された第2深度情報に基づいた第2非剛体モデルと、をフィッティングし、
フィッティングの結果に基づいて、前記第1カメラにおける第1カメラ座標に対する前記第2カメラにおける第2カメラ座標の外部パラメータを取得する、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、情報処理システム、プログラム及び情報処理装置に関する。
【背景技術】
【0002】
ある対象のリアルタイムの3次元ホログラムを実現するには、複数のカメラを調整し、対象とは異なるビューをキャプチャする必要がある。この処理においては、全てのカメラの正確な位置と方向を相互に把握することが重要となる。これは、1つのカメラで表示される対象のある面を他のカメラからの他の面に対して適切に配置する必要があるためである。
【0003】
全てのカメラの相互の正確な位置、姿勢は、外部キャリブレーションにより達成される。この外部キャリブレーションは、それぞれのカメラの固有なキャリブレーションの後に実行されるため、それぞれのカメラの光学精度 (RGB + デプス) が保証される。通常、これら2つのキャリブレーションは、ホログラム生成の前提条件として実行される。しかしながら、これらのデータを正確に取得するのは困難であり、精度の高いホログラムを生成することにおける課題となる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願公開第2021/0295559号明細書
【非特許文献】
【0005】
【非特許文献1】W. Gao, et. al., “SurfelWrap: Efficient Non-Volumetric Single View Dynamic Reconstruction”, 2019年4月30日, arXiv:1904.13073v1, https://arxiv.org/abs/1904.13073v1
【非特許文献2】S. Saito, et. al., “PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization”, 2019年12月3日, arXiv:1905.05172v3, https://arxiv.org/abas/1905.05172v3
【非特許文献3】S. Saito, et. al., “PIFuHD: Multi-Level Pixel-Aligned Implicit Function for High-Resolution 3D Human Digitization”, 2020年4月1日, arXiv:2004.00452v1, https://arxiv.org/abs/2004.00452v1
【発明の概要】
【発明が解決しようとする課題】
【0006】
そこで、実施形態が解決しようとする限定されない課題の一つは、複数カメラにおける外部キャリブレーションを自動的に実行することである。実施形態により解決しようとする課題は、さらに限定されないいくつかの例として、以下の説明において記載した効果に対応する課題、とすることもできる。すなわち、実施形態の説明において記載された効果のうち任意の少なくとも1つに対応する課題を実施形態が解決しようとする課題とすることができる。
【課題を解決するための手段】
【0007】
一実施形態によれば、固体撮像装置は、撮像部と、記憶部と、処理回路と、を備える。前記撮像部は、第1画像情報及び第1深度情報を取得する。前記処理回路は、前記第1深度情報に基づいて、第1非剛体モデルを生成し、生成された前記第1非剛体モデルと、他の固体撮像装置により取得された第2深度情報に基づいた第2非剛体モデルと、をフィッティングし、フィッティングの結果に基づいて、前記他の固体撮像装置に関する外部パラメータを取得する。
【図面の簡単な説明】
【0008】
【
図1】一実施形態に係る情報処理システムの一例を模式的に示すブロック図。
【
図2】一実施形態に係る情報処理システムの処理の一例を示すフローチャート。
【
図3】一実施形態に係る情報処理システムの一例を模式的に示すブロック図。
【
図4】一実施形態に係る情報処理システムの処理の一例を示すフローチャート。
【
図5】一実施形態に係る情報処理システムの一例を模式的に示すブロック図。
【
図6】一実施形態に係る情報処理システムの処理の一例を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、図面を参照して実施形態について説明する。
【0010】
(第1実施形態)
図1は、一実施形態に係る情報処理システムの一例を模式的に示すブロック図である。情報処理システム 1 は、2つのカメラを用いて所定の処理、SLAM (Simultaneous Localization and Mapping) 、又は、SLAMの結果を用いた任意の処理、例えば、ホログラムの生成処理を実行するシステムである。情報処理システム 1 は、情報処理装置 10 と、第1カメラ 20A と、第2カメラ 20B と、を備える。
【0011】
情報処理装置 10 は、入出力インタフェース (以下、入出力I/F 100 と記載する。)と、記憶部 102 と、処理回路 104 と、を備える。情報処理装置 10 は、2つの異なる撮像系から取得されるデータに基づいて、撮像系間における外部パラメータを自動的に取得する装置である。また、情報処理装置 10 は、この外部パラメータに基づいて、2つの撮像系から取得された画像を処理することもできる。
【0012】
入出力I/F 100 は、情報処理装置 10 の内部と外部との間で必要なデータを入出力するインタフェースの集合であり、必要なデータを入出力するための有線又は無線の任意のインタフェースを備える。また、情報処理装置 10 は、入出力I/F 100 としてユーザがデータを直接的に入出力できるユーザインタフェースを備えていてもよい。
【0013】
記憶部 102 は、情報処理装置 10 における処理に必要となるデータを格納する。また、記憶部 102 は、情報処理装置 10 において処理されたデータを格納してもよい。記憶部 102 は、一時的又は非一時的な任意の形態の記憶回路を有することができる。記憶部 102 の少なくとも一部は、情報処理装置 10 の外部に備えられ、入出力I/F 100 を介して情報処理装置 10 とデータを入出力できる形態であってもよい。
【0014】
処理回路 104 は、情報処理装置 10 における処理を実行する回路である。処理回路04 は、例えば、専用の処理が可能なASIC (Application Specified Integrated Circuit) といったデジタル回路若しくはアナログ回路、FPGA (Field Programmable Gate Array) といったプログラマブルな回路、又は、汎用の処理を実行可能なCPU (Central Processing Unit) といった任意のプロセッサを備えることができる。また、処理回路 104 の一部としてアクセラレータが備えら得ていてもよい。情報処理装置 10 は、複数の処理回路を処理回路 104 として備えてもよい。
【0015】
ソフトウェアによる情報処理がハードウェアである処理回路 104 により具体的に実現できる形態であってもよい。この場合、処理回路 104 は、記憶部 102 に格納されている処理を実行するためのプログラム、実行ファイル等を読み出すことにより、具体的な処理を実現してもよい。
【0016】
処理回路 104 は、例えば、2つのカメラから取得したデータに基づいて、カメラ間における外部パラメータを取得する。処理回路 104 は、また、取得した外部パラメータに基づいて、SLAMを用いた処理等を実行してもよい。
【0017】
第1カメラ 20A 及び第2カメラ 20B は、情報処理装置 10 の外部の状態を取得する撮像装置である。第1カメラ 20A 及び第2カメラ 20B は、例えば、同一の対象を異なる位置及び姿勢から撮影し、撮影したデータを情報処理装置 10 へと出力する。
【0018】
別の形態として、第1カメラ 20A 又は第2カメラ 20B のいずれかに情報処理装置 10 が備えられる形態であってもよい。例えば、第1カメラ 20A が情報処理装置 10 をその内部に備え、第2カメラ 20B が撮影したデータを取得する形態であってもよい。第1カメラ 20A 及び第2カメラ 20B は、限定されない一例として、それぞれが異なる位置、姿勢に配置されるRGB-Dカメラであってもよい。
【0019】
それぞれのカメラは、上記の特徴を有する固体撮像装置である。
【0020】
外部パラメータは、撮影の対象が存在する世界座標を、カメラ固有の座標であるカメラ座標に変換するパラメータのことである。世界座標系の点を [xw, yw, zx] で表す場合、カメラ座標系の点 [xc, yc, zc] は、以下の式(1)のように表すことができる。
【数1】
【0021】
このa11、・・・、a34が外部パラメータと呼ばれる。代表的には、a11 ~ a33は、回転を表す行列を示し、a14 ~ a34 は、並進を表すベクトルを示し、式全体としては世界座標系からカメラ座標系へのアフィン変換を示す。本開示においては、例えば、式(1)において示される外部パラメータを任意の手法を用いて取得する。
【0022】
図2は、本実施形態に係る処理を示すフローチャートである。
【0023】
まず、第1カメラ 20A と第2カメラ 20B を同期させる (S100) 。この同期は、例えば、第1カメラ 20A 及び第2カメラ 20B 内部に備えられる処理回路によりタイミング信号を送受信することで実行することができる。また、情報処理装置 10 が2つのカメラを同期させてもよいし、情報処理装置 10 において2つのカメラの撮像タイミングに基づいてデータ同士を同期させる形態であってもよい。
【0024】
同期完了後、第1カメラ 20A 及び第2カメラ 20B は、あるタイミングで撮像したデータを情報処理装置 10 に送信する (S102) 。情報処理装置 10 は、入出力I/F 100 を介して2つのカメラからのデータを取得する。必要に応じて、情報処理装置 10 は、取得したデータを記憶部 102 に格納してもよい。第1カメラ 20A 及び第2カメラ 20B はそれぞれ、例えば、RGBデータと、深度データと、を同じタイミングで取得する。
【0025】
処理回路 104 は、それぞれのカメラから取得した深度データに基づいて、それぞれのカメラにおける非剛体モデルを生成する (S104) 。非剛体モデルは、任意の手法で生成することができる。
【0026】
処理回路 104 は、生成した非剛体モデルをフィッティングする (S106) 。処理回路 104 は、例えば、生成した非剛体モデルにおけるそれぞれの特徴点同士を紐付けるようにフィッティングを実行する。
【0027】
処理回路 104 は、例えば、既知の参照情報である第1カメラ 20A により撮影された情報から取得された非剛体モデルに対して、第2カメラ 20B により撮影された情報から取得された非剛体モデルを用いてフィッティングを実行する。それぞれのカメラにおける深度情報を用いて、処理回路 104 は、それぞれのカメラにおける非剛体モデルを生成する。
【0028】
処理回路 104 は、それぞれのカメラが取得した情報から生成された非剛体モデルにおいて、特徴点を比較することで、非剛体モデルをフィッティングする。処理回路 104 は、例えば、それぞれの非剛体モデルにおける同一点を示す特徴点同士を紐付けて、それぞれのカメラにおけるカメラ座標系における座標を紐付ける。特徴点の抽出は、任意の手法を用いることができる。
【0029】
処理回路 104 は、 S106 において取得したフィッティングのデータに基づいて、外部パラメータを取得する (S108) 。処理回路 104 は、例えば、第1カメラ 20A のレンズの方向及び原点を基準とした第1座標、すなわち、第1カメラ 20A のカメラ座標に対する第2カメラ 20B の外部パラメータを取得する。処理回路 104 はさらに、第2カメラ 20B のカメラ座標である第2座標を基準とした第1カメラ 20A の外部パラメータを併せて取得してもよい。
【0030】
S106及びS108の処理は、例えば、それぞれのカメラにより取得した深度情報から生成された非剛体モデルの局所的な微小表面に着目し、これらの微小表面をフィッティングすることで連続した処理として実行することもできる (例えば、arXiv:1904.13073v1に紹介されているSurfelWrapの手法を用いる) 。この手法において、フィッティングエラーの値がしきい値よりも小さくなるように2台のカメラ間の変換行列 (例えば、第1カメラ 20A に対する第2カメラ 20B の外部パラメータ) を生成することができる。
【0031】
処理回路 104 は、取得した外部パラメータを記憶部 102 に格納し、必要となるタイミングで読み出すことができる。
【0032】
また、一般的な処理と同様に、世界座標が設定されていてもよく、処理回路 104 は、第1カメラ 20A と、第2カメラ 20B との関係性に基づいて、第1カメラ 20A の外部パラメータから、上記のフィッティング結果に基づいた第2カメラ 20B の外部パラメータを取得することもできる。これは、例えば、第1カメラ 20A が固定されている場合に、固定された第1カメラ 20A の外部パラメータに基づいて、第1カメラ 20A のカメラ座標系に対する第2カメラ 20B の外部パラメータを求めることで、共通した世界座標の外部パラメータを取得できることを意味する。
【0033】
この外部パラメータにより、処理回路 104 は、一方のカメラを基準とした他方のカメラにより撮像されたRGBデータの変換データを取得することができる。すなわち、処理回路 104 は、外部パラメータを用いた任意の処理を実行することができる (S110) 。処理回路 104 は、例えば、この外部パラメータを用いることによりSLAMを用いた処理を実行することもできる。
【0034】
処理回路 104 は、それぞれのカメラにおける画像座標系への変換を、撮影されたRGB画像に対して実現することもできる。この変換は、あらかじめ取得されているそれぞれのカメラの内部パラメータを用いることで実装することができる。
【0035】
以上のように、本実施形態に係る情報処理システム 1 によれば、2つのカメラからのデータを取得することで、情報処理装置 10 が複数のカメラの相対的な外部パラメータを自動的に算出することが可能となる。この外部パラメータは、撮影された深度情報に基づいて生成されるため、リアルタイムに処理することも可能である。また、1つのカメラのカメラ座標を世界座標と一致させて考えることも可能であり、この場合、他のカメラは、この1つのカメラに対する外部パラメータを算出することで、計算コストを向上させることが可能となる。
【0036】
(第2実施形態)
図3は、一実施形態に係る情報処理システムの一例を模式的に示すブロック図である。情報処理システム 1 は、第1カメラ 20A と、第2カメラ 20B と、を備える。一方で、情報処理システム 1 は、前述の第1実施形態とは異なり、情報処理装置 10 を備えることを必要としない。
【0037】
第1カメラ 20A は、例えば、撮像部 200A と、入出力I/F 100A と、記憶部 102A と、処理回路 104A と、を備える。撮像部 200A は、例えば、レンズ等の光学系と、撮像素子と、を備え、第1カメラ 20A の位置、姿勢に基づいた対象の画像を取得する。撮像部 200A は、取得した画像情報を記憶部 102A に格納し、また、必要であれば、処理回路 104A において取得した画像に処理が施される。
【0038】
入出力I/F 100A 、記憶部 102A 及び処理回路 104A は、前述の実施形態における情報処理装置 10 の同じ符号が付された構成と同様のものであってもよい。
【0039】
第2カメラ 20B についても同様に、撮像部 200B と、入出力I/F 100B と、記憶部 102B と、処理回路 104B と、を備え、第1カメラ 20A と同様の機能を有する。
【0040】
第1カメラ 20A 及び第2カメラ 20B は、それぞれの外部パラメータの情報 (内部パラメータの情報があってもよい) が記憶部 102A 、 102B に格納されている。
【0041】
第1カメラ 20A と、第2カメラ 20B は、それぞれの入出力I/F 100A 、 100B を介して相互に接続される。接続は、例えば、Bluetooth (登録商標) 、Bluetooth Low Energy: BLE (登録商標) 、 Wi-Fi 等の無線であってもよいし、その経路の一部が有線を含む手法であってもよい。
【0042】
図4は、一実施形態に係る情報処理システム 1 の処理の一例を示すフローチャートである。
【0043】
まず、第1カメラ 20A 及び第2カメラ 20B は、同期動作を実行し、同じタイミングで画像を取得できるようにする (S200) 。
【0044】
次に、処理回路 104A 及び処理回路 104B は、それぞれ撮像部 200A 及び撮像部 200B が撮像した画像情報から非剛体モデルを生成する (S202) 。それぞれの処理回路は、例えば、前述した実施形態と同様にそれぞれの撮像部が取得した深度情報に基づいて非剛体モデルを生成してもよい。
【0045】
非剛体モデルを生成した後、処理回路 104A 及び処理回路 104B は、それぞれが取得した非剛体モデルを入出力I/Fを介して共有する (S204) 。具体的には、第1カメラ 20A の処理回路 104A は、入出力I/F 100A を介して生成した非剛体モデルを送信するとともに、第2カメラ 20B から送信される非剛体モデルを取得する。同様に、第2カメラ 20B の処理回路 104B は、入出力I/F 100B を介して生成した非剛体モデルを送信するとともに、第1カメラ 20A から送信される非剛体モデルを取得する。このように、2つのカメラは、生成した非剛体モデルを送信し、他のカメラが生成した非剛体モデルを受信することで、非剛体モデルを共有する。
【0046】
それぞれのカメラの処理回路は、自らが生成した非剛体モデルと、受信した非剛体モデルとをフィッティングする (S206) 。
【0047】
それぞれのカメラの処理回路 104A 、 104B は、 S206 においてフィッティングを行った結果に基づいて、外部パラメータを取得する (S208) 。
【0048】
限定されない一例として、第1カメラ 20A は、生成した自らの非剛体モデルと第2カメラ 20B から取得した非剛体モデルのフィッティング結果に基づいて、第2カメラ 20B に対する第1カメラ 20A の外部パラメータを取得してもよい。同様に、第2カメラ 20B はさらに、第1カメラ 20A に対する第2カメラ 20B の外部パラメータを取得してもよい。双方のカメラにおいて他方のカメラの外部パラメータを取得する必要はなく、いずれか一方のカメラにおいて基準となる他方のカメラに対する外部パラメータが取得できる形態であればよい。
【0049】
限定されない別の例として、第1カメラ 20A の位置、姿勢を基準とした世界座標系を定義し、第2カメラ 20B は、非剛体モデルのフィッティング結果に基づいて、世界座標系に対する外部パラメータを取得してもよい。このように、いずれかのカメラを基準とした座標系に基づいた外部パラメータを用いることもできる。
【0050】
それぞれの処理回路 104A 、 104B は、それぞれが取得した外部パラメータに基づいて、必要な処理を実行する (S210) 。例えば、それぞれの処理回路は、外部パラメータと、自らが取得した画像情報と、に基づいて3次元ホログラムを作成することができる。
【0051】
以上のように、本実施形態によれば、計算機としての情報処理装置 10 が別途備えられない状態で、複数のカメラ及びカメラの処理を実現するための処理回路を用いて第1実施形態と同様の処理を実現することができる。このような形態とすることで、2つのデジタルカメラ、2つのスマートフォン又はタブレット端末等の処理回路と撮像系とを備えるシステムを用いて、リアルタイムな外部パラメータの設定をし、3次元ホログラム等を生成することが可能となる。
【0052】
図5は、一実施形態に係る情報処理システムの一例を模式的に示すブロック図である。この
図5に示すように、カメラは、2個である必要はなく、さらに多くのカメラが備えられてもよい。
【0053】
例えば、情報処理システム 1 は、n個のカメラである第1カメラ 20A 、第2カメラ 20B 、・・・、第nカメラ 20X を備え、それぞれが対象の非剛体モデルを生成し、生成した非剛体モデルを共有することで、世界座標系に対する外部パラメータを取得することができる。
【0054】
この場合、1つのカメラは、全てのカメラと非剛体モデルを共有してもよい。また、カメラごとに非剛体モデルを共有するカメラを決定しておき、この決定されたカメラとの間の外部パラメータを取得してもよい。この場合、全てのカメラは、基準となる世界座標系と、直接的に、又は、いずれかの他のカメラを介して間接的つながっている外部パラメータを取得することが望ましい。
【0055】
一例として、第1カメラ 20A を基準とし、全てのカメラが第1カメラ 20A が算出した非剛体モデルを共有し、この第1カメラ 20A との間の外部パラメータを取得して、この外部パラメータを用いてその後の処理を実行してもよい。
【0056】
限定されない別の例として、第2カメラ 20B は、第1カメラ 20A を基準とした外部パラメータを取得し、第3カメラ 20C は、第2カメラ 20B を基準とした外部パラメータを取得するといった、異なるカメラを基準とする外部パラメータを、それぞれのカメラが生成してもよい。
【0057】
この場合、複数のカメラの全てが1つのカメラからの参照又は1つのカメラへの参照をすることで1つのグループとして成立することが望ましい。すなわち、相対的な外部パラメータにより対象となる全てのカメラが1つの接続されたグループを形成することが望ましい。例えばこのように外部パラメータを介して全てのカメラが参照/被参照される場合、第1カメラ 20A から取得した画像において対象物の裏面 (第1カメラ 20A から取得できない情報) についても、第1カメラ 20A の撮影している面と、裏面にあるカメラの撮影している面との双方の少なくとも一部の情報を撮影しているカメラを、外部パラメータを介して経由することで適切なSLAMの情報を取得することが可能となる。
【0058】
一例として、上記の場合、第1カメラ 20A が固定されていてもよい。
【0059】
一例として、第1カメラ 20A 及び第2カメラ 20B の双方が固定されていてもよい。
【0060】
一例として、上記の場合、第1カメラ 20A が世界座標系に対する自己位置を算出しておくことで、全てのカメラにおいて、世界座標系に対する第1カメラ 20A の外部パラメータを共有することで、全てのカメラが世界座標系に対する外部パラメータを取得する形態であってもよい。
【0061】
この
図5は、第1実施形態における情報処理装置 10 を少なくとも1つを備えていてもよい。情報処理装置 10 は、全てのカメラの外部パラメータを取得してもよいし、1又は複数の所定のカメラの外部パラメータを取得する形態であってもよい。
【0062】
後者の場合、情報処理装置 10 が外部パラメータを取得したカメラとの関係に基づいて、他のカメラが当該情報処理装置 10 により外部パラメータが取得されたカメラとの間において外部パラメータを取得し、情報処理装置 10 が取得した外部パラメータに基づいて自らの外部パラメータを補正してもよい。
【0063】
3以上のカメラを用いることで、例えば、第1カメラ 20A からは感知することができない情報に基づいた3次元ホログラムを精度よく形成することも可能となる。
【0064】
(第3実施形態)
前述の各実施形態においては、処理回路を用いて複数のカメラ間の外部パラメータを取得する形態について説明した。本実施形態においては、さらに、取得した外部パラメータを更新することについて説明する。
【0065】
図6は、一実施形態に係る情報処理システム 1 の処理の一例を示すフローチャートである。
【0066】
情報処理システム 1 は、複数のカメラにおける外部パラメータを取得する (S300) 。この処理は、前述の各実施形態における外部パラメータの取得と同様の処理である。
【0067】
続いて、情報処理システム 1 は、取得したパラメータに基づいた処理を実行する (S302) 。この処理も前述の各実施形態における処理と同様の処理である。
【0068】
次に、処理回路 104 は、外部パラメータの更新が必要であるか否かを判定する (S304) 。外部パラメータの更新が必要である場合には (S304: YES) 、処理回路は、外部パラメータを取得し、外部パラメータを更新する (S300) 。外部パラメータの更新が必要ではない場合 (S304: NO) 、処理回路 104 は、外部パラメータを用いた処理を継続して実行する (S302) 。
【0069】
処理回路 104 は、例えば、3次元ホログラムの作成を開始したいタイミングにおいて、外部パラメータを取得する操作を繰り返してもよい。処理回路 104 は、例えば、3次元ホログラムを作成したい対象が異なる対象となったタイミングで外部パラメータを更新してもよい。
【0070】
また、処理回路 104 は、その後の任意のタイミングで外部パラメータを更新することもできる。処理回路 104 は、例えば、所定の期間ごとに外部パラメータを取得してもよいし、3次元ホログラムを生成する際に取得できるなんらかの指標 (例えば、他のカメラとの整合性度合いを示す誤差値等) を用いて外部パラメータを再生成してもよい。
【0071】
また、処理回路 104 は、例えば、フィッティング誤差の算出までの処理を繰り返し実行し、この誤差が所定誤差より大きくなったタイミングで外部パラメータを再取得してもよい。
【0072】
さらに別の例として、処理回路 104 は、SLAMによる自己位置及び姿勢を取得し、ここの位置及び姿勢がそれよりも前に外部パラメータを取得したタイミングよりも所定値以上ずれたタイミングで外部パラメータを取得し直してもよい。処理回路 104 は、SLAMではなく、例えば、6軸センサ、ジャイロセンサの感知結果、又は、カメラが取得した画像を解析した結果により、位置、姿勢がずれたタイミングで、外部パラメータを再生成してもよい。
【0073】
上記のいずれの外部パラメータの更新においても、情報処理システム 1 は、全てのカメラにおける外部パラメータを同じタイミングで更新してもよいし、外部パラメータの更新が必要となる条件を満たしたカメラにおける外部パラメータだけを更新してもよい。
【0074】
以上のように、外部パラメータを任意のタイミングで更新することで、情報処理システム 1 は、精度の高い外部パラメータの取得、及び、この外部パラメータを用いた精度の高い情報処理を実現することができる。
【0075】
(第4実施形態)
上記の構成に加え、処理回路 104 は、学習済みモデルを用いて非剛体モデルを改善することができる。記憶部 102 は、例えば、あらかじめ機械学習により訓練された人の動きから非剛体モデルを生成する学習済みモデルに関するパラメータを格納しておき、処理回路 104 は、非剛体モデルを形成するタイミングにおいて、この学習済みモデルを用いて撮影した深度情報から非剛体モデルを生成してもよい。
【0076】
このような学習済みモデルを用いることで、例えば、第1カメラ 20A において撮影された画像からは取得できない対象となる人物の裏面の情報を推定することで、2つのカメラから、より精度の高いSLAMの情報を取得することが可能となる。
【0077】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0078】
以上の実施形態は、以下のようにまとめることもできる。
【0079】
(1)
第1画像情報及び第1深度情報を取得する、撮像部と、
記憶部と、
処理回路と、
を備え、
前記処理回路は、
前記第1深度情報に基づいて、第1非剛体モデルを生成し、
生成された前記第1非剛体モデルと、他の固体撮像装置により取得された第2深度情報に基づいた第2非剛体モデルと、をフィッティングし、
フィッティングの結果に基づいて、前記他の固体撮像装置に関する外部パラメータを取得する、
固体撮像装置。
例えば、第1カメラ 20A は、RGB画像である第1画像情報及び深度情報である第1深度情報を撮像部により取得し、第1深度情報に基づいた非剛体モデルと、第2カメラ 20B が取得した第2深度情報に基づいた非剛体モデルと、をフィッティングして第2カメラ 20B に対する第1カメラ 20A の外部パラメータを取得することができる。
【0080】
(2)
前記処理回路は、
前記他の固体撮像装置から前記第2非剛体モデルを取得する、
(1)に記載の固体撮像装置。
例えば、第1カメラ 20A は、第2カメラ 20B から、第2カメラ 20B において生成された第2非剛体モデルの情報を取得してもよい。
【0081】
(3)
前記処理回路は、
前記他の固体撮像装置から前記第2深度情報を取得し、前記第2非剛体モデルを生成する、
(1)に記載の固体撮像装置。
例えば、第1カメラ 20A は、第2カメラ 20B から、第2深度情報を取得して、第2非剛体モデルを生成してもよい。
【0082】
(4)
前記処理回路は、
前記他の固体撮像装置におけるカメラ座標系から、自固体撮像装置におけるカメラ座標系へ変換する外部パラメータを取得する、
(1)から(3)のいずれかに記載の固体撮像装置。
例えば、第1カメラ 20A は、第2カメラ 20B の第2カメラ座標系を基準とする、第1カメラ 20A の第1カメラ座標系へと変換するための外部パラメータを取得ストができる。また、取得する情報は、逆の変換に関する情報でもよく、すなわち、第1カメラ 20A は、第1カメラ座標系から第2カメラ座標系へと変換する外部パラメータを取得することもできる。
【0083】
(5)
前記処理回路は、
任意のタイミングにおいて取得した前記第1非剛体モデルと、前記第2非剛体モデルと、をフィッティングして前記外部パラメータを取得し、
前記外部パラメータを前記記憶部に格納する、
(4)に記載の固体撮像装置。
第1カメラ 20A は、限定されない一例の手法であるSurfel等の実装に基づいて外部パラメータを取得することができる。
【0084】
(6)
前記処理回路は、
前記第1深度情報を学習済みモデルに入力し、前記第1非剛体モデルを生成する、
(1)から(5)のいずれかに記載の固体撮像装置。
処理回路は、深度情報から非剛体モデルを生成する学習済みモデルを用いて非剛体モデルを推論して取得することもできる。
【0085】
(7)
(1)から(6)のいずれかに記載の複数の固体撮像装置を備え、
前記複数の固体撮像装置の少なくとも1つの固体撮像装置において、他の固体撮像装置に関する外部パラメータを取得する、
情報処理システム。
例えば、2つのカメラを用いて上記の外部パラメータを取得してもよいし、3以上のカメラを用いて上記の外部パラメータを取得してもよい。
【0086】
(8)
処理回路に、
第1撮像系により取得した第1深度情報に基づいて、第1非剛体モデルを生成し、
生成された前記第1非剛体モデルと、第2撮像系により取得された第2深度情報に基づいた第2非剛体モデルと、をフィッティングし、
フィッティングの結果に基づいて、前記第2撮像系に対する前記第1撮像系の外部パラメータを取得する、
情報処理方法を実行させる、プログラム。
このように、上記の実装は、プログラムで記述されていてもよい。
【0087】
(9)
記憶部と、
処理回路と、
を備え、
前記処理回路は、
第1カメラにおいて取得された第1深度情報に基づいた第1非剛体モデルと、第2カメラにおいて取得された第2深度情報に基づいた第2非剛体モデルと、をフィッティングし、
フィッティングの結果に基づいて、前記第1カメラにおける第1カメラ座標に対する前記第2カメラにおける第2カメラ座標の外部パラメータを取得する、
情報処理装置。
上記においては、カメラに処理回路が備えられるとしたが、これには限定されず、複数のカメラと直接的又は間接的に接続される情報処理装置において、上記のいずれかと同様の処理を実現することも可能である。
【符号の説明】
【0088】
1: 情報処理システム、
10: 情報処理装置、
100: 入出力I/F、
102: 記憶部、
104: 処理回路、
20: カメラ、
200: 撮像部、