(57)【要約】【課題】複数台のTime-of-Flightセンサまたは鏡を併用している１台のTime-of-Flightセンサからの入力信号に基づき干渉前の複数の反射光の信号に分離することができる信号補正装置を提供する。【解決手段】被写体からの複数の反射光からなる合成波を入力する入力部と、合成波から元の複数の反射光の信号を分離して出力する信号分離部とを備え、設定したモデルに基づくエネルギー関数の最小化により反射光の信号の分離を行う信号補正装置である。【選択図】図１
2018004507.tif 000002
【特許請求の範囲】
【請求項１】
被写体からの複数の反射光からなる合成波を入力する入力部と、
前記合成波から元の複数の反射光の信号を分離して出力する信号分離部と
を備える信号補正装置。
【請求項２】
前記信号分離部は、設定したモデルに基づくエネルギー関数の最小化により前記反射光の信号の分離を行う請求項１に記載の信号補正装置。
【請求項３】
前記信号分離部は、それぞれの反射波の振幅が、前記被写体とセンサとの間の距離の二乗比に比例する前記モデルを設定する請求項２に記載の信号補正装置。
【請求項４】
前記信号分離部は、それぞれの反射波の振幅が、前記被写体の表面の法線と反射光の方向ベクトルのなす角θによるｃｏｓθに比例する前記モデルを設定する請求項２に記載の信号補正装置。
【請求項５】
前記信号分離部は、それぞれの反射波の振幅が、前記被写体の表面の法線と反射光の方向ベクトルのなす角θによるｃｏｓθに比例し、かつ、それぞれの反射波の振幅が、前記被写体とセンサとの間の距離の二乗比に比例する前記モデルを設定する請求項２に記載の信号補正装置。
【請求項６】
被写体からの複数の反射光からなる合成波を入力する入力ステップと、
前記合成波から元の複数の反射光の信号を分離して出力する信号分離ステップと
を有する信号補正方法。
【請求項７】
コンピュータを、請求項１から５のいずれか一項に記載の信号補正装置として機能させるための信号補正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所望のデプス画像を信号処理によって生成するための信号分離を行う信号補正装置、信号補正方法及び信号補正プログラムに関する。
【背景技術】
【０００２】
映像表現および画像処理技術分野において、三次元形状を取得するためのデバイスとして測距センサは古くから研究開発が進められ、今なお重要な研究要素の一つとして広く認識されている。測距センサの代表的な方式として、Time-of-Flightと呼ばれる方式が提案されており、現在では手軽に３次元形状を観測することができるセンサとして広く普及が始まっている。Time-of-Flightセンサを用いた三次元形状情報を用いることで、人物の精確な動作認識が可能となり、これを応用したゲームコントローラが登場するなど、コンシューマ市場に置いてもTime-of-Flightセンサは重要なセンサのひとつであると考えられている。
【０００３】
Time-of-Flight方式においては、人間にとって不可視である近赤外光を被写体に対し照射しつつ、被写体表面での反射光を観測することにより、照射光と反射光の位相差成分等から、センサから被写体までの距離を算出することにより、測距を行っている。その為、複数台のTime-of-Flightセンサを同時に使用して共通物体を観測する際には、被写体表面において各センサからの照射光が足しあわされてしまい、反射光が複数光の合成波となってしまうため、正しい計測を行うことができない。このような問題は、センサ光の干渉問題として古くから知られている。
【０００４】
複数台のTime-of-Flightセンサを同時に使用する以外に、１台のTime-of-Flightセンサと鏡を併用する場合においても同様の干渉問題が発生することが知られている。１台のTime-of-Flightセンサと、被写体を囲うように配置された鏡を併用することにより、１台のTime-of-Flightセンサで被写体の全周囲の三次元形状を取得する方法を撮ることが考えらえるが、干渉問題が発生する為このような方法をとることは難しいとされている。
【０００５】
Time-of-Flightセンサの干渉問題を回避する方法として、照射光を照射するタイミングを時間的に互いにずらす方法が一般的に用いられている（例えば、非特許文献１参照）。被写体表面では常にひとつのセンサからの照射光による反射しか起こらないように、複数センサ間で照射タイミングをずらすことにより、複数センサから測距を行うことができる。
【０００６】
一方で、複数のTime-of-Flightセンサにモータ等を取り付けて微細に振動させて干渉を補償する方法が提案されている（例えば、非特許文献２参照）。反射光の位相差を計測することにより測距を行うのではなく、近赤外光を用いてStructured Lightと呼ばれる二次元テクスチャパタンを被写体に照射して測距を行う方式のTime-of-Flightセンサにのみ適用することができる。微細に繊細を振動させることにより、被写体表面でのテクスチャパタンに動きボケが生じることを利用して干渉を補償している。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Berger, Kai, et al. "Markerless Motion Capture using multiple Color-Depth Sensors." VMV. 2011.
【非特許文献２】Maimone, Andrew, and Henry Fuchs. "Reducing interference between multiple structured light depth sensors using motion." Virtual Reality Short Papers and Posters (VRW), 2012 IEEE. IEEE, 2012.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献１に記載の方法のように、照射光のタイミングをずらす方法を用いた場合、複数センサの観測時刻が異なるため、複数センサが取得する三次元形状の取得時刻は厳密には同期していないことになる。そのため、静止物体に対しての複数センサ利用は可能となる一方で、動物体に対して本手法を利用しても、厳密に同期された三次元形状データを取得することはできないという問題がある。  
【０００９】
また、非特許文献２に記載の方法にあっては、当然ながら、位相差を用いて測距を行うより一般的なTime-of-Flightセンサに対しては適用することができないという問題がある。
【００１０】
本発明は、このような事情に鑑みてなされたもので、複数台のTime-of-Flightセンサまたは鏡を併用している１台のTime-of-Flightセンサからの入力信号に基づき干渉前の複数の反射光の信号に分離することができる信号補正装置、信号補正方法及び信号補正プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一態様は、被写体からの複数の反射光からなる合成波を入力する入力部と、前記合成波から元の複数の反射光の信号を分離して出力する信号分離部とを備える信号補正装置である。
【００１２】
本発明の一態様は、前記信号補正装置であって、前記信号分離部は、設定したモデルに基づくエネルギー関数の最小化により前記反射光の信号の分離を行う。
【００１３】
本発明の一態様は、前記信号補正装置であって、前記信号分離部は、それぞれの反射波の振幅が前記被写体とセンサとの間の距離の二乗比に比例する前記モデルを設定する。
【００１４】
本発明の一態様は、前記信号補正装置であって、前記信号分離部は、それぞれの反射波の振幅が、前記被写体の表面の法線と反射光の方向ベクトルのなす角θによるｃｏｓθに比例する前記モデルを設定する。
【００１５】
本発明の一態様は、前記信号補正装置であって、前記信号分離部は、それぞれの反射波の振幅が、前記被写体の表面の法線と反射光の方向ベクトルのなす角θによるｃｏｓθに比例し、かつ、それぞれの反射波の振幅が、前記被写体の表面の法線と反射光の方向ベクトルのなす角θによるｃｏｓθに比例する前記モデルを設定する。
【００１６】
本発明の一態様は、被写体からの複数の反射光からなる合成波を入力する入力ステップと、前記合成波から元の複数の反射光の信号を分離して出力する信号分離ステップとを有する信号補正方法である。
【００１７】
本発明の一態様は、コンピュータを、前記信号補正装置として機能させるための信号補正プログラムである。
【発明の効果】
【００１８】
本発明によれば、干渉前の複数の反射波の信号を得ることができるため、分離されたそれぞれの信号から干渉前のデプス画像の生成に利用することができるようになるという効果が得られる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態による信号補正装置の第１の構成を示すブロック図である。
【図２】図１に示す信号補正装置１００の動作を示すフローチャートである。
【図３】図１に示す入力部１０１の概要を示す図である。
【図４】図１に示す干渉信号分離部１０２の動作を示すフローチャートである。
【図５】図１に示す干渉信号分離部１０２の制約条件を示す図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照して、本発明の一施形態による信号補正装置を説明する。図１は本実施形態における信号補正装置１００の構成を示すブロック図である。信号補正装置１００は、コンピュータ装置によって構成し、図１に示すように、入力部１０１および干渉信号分離部１０２を備えている。
【００２１】
入力部１０１は、コンピュータ装置と、コンピュータ装置と接続され、信号を受光する受光部１０１１と信号を発光する発光部１０１２によって構成されている。また、入力部１０１は、別機器に接続された受光部と発光部を用いて記録された信号値を読み出す機構で構成されていてもよい。入力部１０１は、また、設定された各種パラメータを入力情報として取得し、取得した入力情報を干渉信号分離部１０２へと出力する。ここでは、入力部１０１に受光部１０１１と発光部１０１２とが備えられているものとして説明する。
【００２２】
受光部１０１１と発光部１０１２とは任意に設定された変調周波数ｆに基づいて、発光と受光を繰り返し、受光部１０１１にて観測された信号値を、干渉信号分離部１０２へと出力する。受光部１０１１と発光部１０１２との組み合わせについては、発光部１０１２が出した光の波長を観測することができる受光素子を有する受光部１０１１である必要がある。一般的にTime-of-Flightセンサで用いられている近赤外波長により観測を行う場合であれば、例えば、発光部１０１２として近赤外光を一定間隔で照射することのできる近赤外光ライトを用いる。また、受光部１０１１として近赤外光を観測することのできる近赤外光カメラを用いる。
【００２３】
一方で例えば可視光を用いた計測を行う場合は、発光部１０１２として一般的なプロジェクタ、受光部１０１１として一般的なカラーカメラを用いることもできる。受光部１０１１の解像度は、任意のサイズを用いても構わない。なお、本明細書においては、画素ひとつの処理について説明を行うが、各部において、一部もしくは全ての画素を並行して処理しても構わない。
【００２４】
干渉信号分離部１０２は、入力部１０１から出力される光電変換された信号値を入力とし、干渉モデルの制約の設定を行った後、信号を分離する計算を行い、結果を出力または保存する。以下では、入力部１０１からの信号のことを観測信号、干渉信号分離部１０２へ入力する既知のパラメータのことを既知情報、干渉信号分離部１０２から出力される信号のことを分離信号と称する。
【００２５】
次に、図２を参照して、図１に示す信号補正装置１００の動作を説明する。図２は、図１に示す信号補正装置１００の動作を示すフローチャートである。         
【００２６】
まず、入力部１０１は、パラメータの設定を行う（ステップＳ１）。はじめに、入力部１０１は、変調周波数ｆの設定を行う。これは発光部１０１２および受光部１０１１が発光および受光を行う周波数を表し、ｆの値はいかなる値を用いてもよいが、例えば１０ＭＨｚ程度を設定すればよい。次に、受光部１０１１が観測を行う４つのサンプリング周期としてθ０，θ１，θ２，θ３の設定を行う。θ０，θ１，θ２，θ３の値は例えばπ／２間隔でθ０＝０，θ１＝π／２，θ２＝π，θ３＝３π／２と設定することができる。
【００２７】
ここで、図３を参照して、入力部１０１で定義する変数等について、鏡を介した反射波の干渉を例に説明する。なお、複数台のTime-of-Flightセンサを用いたり、複数枚の鏡を用いて起こる多重干渉については、以下の２つの干渉の例を複数台の干渉へと拡張すればよいため、ここでは説明の簡単化のため２つの反射波の干渉について説明する。
【００２８】
発光部１０１２の照射光は、被写体２００に反射して受光部１０１１で観測されるものと、鏡３００で反射してさらに被写体２００で反射し受光部１０１１で観測されるものとの２つがある。前者の光路長をｄ１、後者の光路長をｄ２とする。
【００２９】
前述の通り、説明の簡単化のため、２つの反射波について説明を行っているが、Ｎ枚の鏡を置いた場合はｄ１を被写体２００において反射して受光部１０１１で観測されるものと、ｄ２からｄＮ−１ｍまでを反射してさらに被写体２００で反射し受光部１０１１で観測されるものとのそれぞれの光路長として表現することができる。
【００３０】
さらに、光がｄ１，ｄ２の距離を進むのに要した時間をτ１，τ２とする。光の速さをｃとし、受光部１０１１と発光部１０１２との距離に比べ、ｄ１，ｄ２が十分に大きい場合、（１）式が得られ、変数ｘを用いて、（２）式を設定する。さらに、照射光を（３）式、反射光を（４）式とする。ここで、ａは照射光の振幅を、Ａ１，Ａ２は光路の異なる反射光のそれぞれの振幅を、Ｂはそれぞれ環境に起因するバイアス成分を表す。ａは任意の値を設定して構わない。
【００３１】
【数１】
2018004507.tif 000003
【数２】
2018004507.tif 000004
【数３】
2018004507.tif 000005
【数４】
2018004507.tif 000006
【００３２】
次に、入力部１０１は入力情報の取得を行う（ステップＳ２）。入力情報として、照射光と反射光の相互相関値の取得を行う。相互相関値を算出するための式を（５）式に示す。（５）式で表される相互相関関数は連続関数であり、これをすべての時刻で取得することはできないため、先に設定したサンプリング周期θ０，θ１，θ２，θ３において、観測を行う。観測された信号は（６）式として定義することができる。各θ０，θ１，θ２，θ３における相互相関関数値として（７）式、（８）式、（９）式、（１０）式の算出を行い、これら４つの値Ｃ１，Ｃ２，Ｃ３，Ｃ４を観測信号として干渉信号分離部１０２へと出力する。ただし、ここでは既に記録された（７）式、（８）式、（９）式、（１０）式の値を読み込んで出力してもよい。
【００３３】
【数５】
2018004507.tif 000007
【数６】
2018004507.tif 000008
【数７】
2018004507.tif 000009
【数８】
2018004507.tif 000010
【数９】
2018004507.tif 000011
【数１０】
2018004507.tif 000012
【００３４】
次に、干渉信号分離部１０２は、干渉モデルの制約条件に基づき観測信号を分離する（ステップＳ３）。観測信号の分離の動作は後述する。そして、干渉信号分離部１０２は、分離信号を出力する、または記憶装置等に保存する（ステップＳ４）。
【００３５】
次に、図４を参照して、図１に示す干渉信号分離部１０２の動作を説明する。図４は、図１に示す干渉信号分離部１０２の動作を示すフローチャートである。まず、干渉信号分離部１０２は、入力部１０１から観測情報としてＣ１，Ｃ２，Ｃ３，Ｃ４を受け取る。次に、干渉信号分離部１０２は、複数台のTime-of-Flightセンサを用いている場合、既知情報としてそれぞれのTime-of-Flightセンサの位置を入力する。また、干渉信号分離部１０２は、複数枚の鏡を用いている場合は、鏡像に写るTime-of-Flightセンサの位置を入力する（ステップＳ１１）。
【００３６】
Time-of-Flightセンサの位置については、いかなる方法で求めても構わないが、例えば、文献「Zhang, Zhengyou. "A flexible new technique for camera calibration." Pattern Analysis and Machine Intelligence, IEEE Transactions on 22.11 (2000): 1330-1334.」に記載されているように、チェスパターンを用いて位置推定を行う方法が一般的に知られている。
【００３７】
また、鏡を用いた場合も、文献「高橋康輔，延原章平，ａｎｄ松山隆司．”参照物体の鏡像を用いた線形外部キャリブレーション法．”研究報告コンピュータビジョンとイメージメディア（ＣＶＩＭ）  ２０１２．２５（２０１２）：１−８．」にチェスパターンを用いて位置推定を行う方法が一般的に知られている。
【００３８】
次に、干渉信号分離部１０２は、後述するαの更新を行う（ステップＳ１２）。干渉信号分離部１０２は、既知情報を基に、Ａ１およびＡ２の事前の仮定を行う。ここでは、Ａ２＝αＡ１であるという仮定を置く。このαの値の決定方法については、（１１）式の光路長ｄ１，ｄ２の二乗に比例するモデルや、反射角の比に比例するモデル、もしくはその両方を合わせたモデルを用いることができる。両方を合わせたモデルの具体的なαの決定方法を（１２）式に示す。図５は、（１２）式の各パラメータを示す図である。
【００３９】
【数１１】
2018004507.tif 000013
【００４０】
αは繰り返し処理の中で逐次求めていくため、最初に初期値を設定する必要があるが、例えば、センサどうしの距離の中間値にあるとして、αを設定することができる。
【００４１】
【数１２】
2018004507.tif 000014
【００４２】
次に、（１３）式の行列演算の形になるように  Ｃ０，Ｃ１，Ｃ２，Ｃ３を行列化する。（１３）式から、φ１，φ２，Ａ１，Ａ２，Ｂを求めることを目的とするが、解析解が存在しないため、（１５）式で表されるエネルギー関数Ｊに対する最小化問題を解くことにより、φ１，φ２，Ａ１，Ａ２，Ｂを得る（ステップＳ１３）。
【００４３】
（１５）式におけるＫ（φ１，φ２），Ｘ，Ｃについては（１４）式に示す。しかし、何の制約条件もなければ、ランク不足により一意の解を得ることができないため、前記の制約条件Ａ２＝αＡ１を用いる。一般的なエネルギー関数Ｊの最小化問題として解くことができるため、どのような解法を用いてもよい。例えば、φ１，φ２，Ａ１，Ａ２，Ｂを更新し、（１１）式によりｄ１，ｄ２を更新し（ステップＳ１４）求め、αを更新し、再度φ１，φ２，Ａ１，Ａ２，Ｂ更新することを繰り返す方法を用いることができる。
【００４４】
【数１３】
2018004507.tif 000015
【数１４】
2018004507.tif 000016
【数１５】
2018004507.tif 000017
【００４５】
次に、干渉信号分離部１０２は終了条件を満たしたか否かを判定する（ステップＳ１５）。終了条件を満たしていなければ、ステップＳ１２に戻り処理を繰り返す。一方、終了条件を満たした時点で、干渉信号分離部１０２は、前述の繰り返し演算を終了し、φ１，φ２，Ａ１，Ａ２，Ｂを出力し、処理を終了する。
【００４６】
ここでは終了条件として、いかなる条件を用いても構わないが、例えば、‖Ｋ（φ１，φ２）Ｘ−Ｃ‖の値が閾値以下の値に収束することや、事前に設定した繰り返し演算回数が完了したことなどを用いることができる。
【００４７】
以上説明したように、複数台のTime-of-Flightセンサまたは鏡を併用している１台のTime-of-Flightセンサからの干渉が起きている入力信号から、干渉モデルの仮定を行って信号の分離を行うことで、干渉前の複数の反射光の信号を得ることができる。そのため、分離されたそれぞれの信号から干渉前のデプス画像の取得ができるようになる。
【００４８】
前述した実施形態における信号補正装置１００の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されるものであってもよい。
【００４９】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【産業上の利用可能性】
【００５０】
複数台のTime-of-Flightセンサもしくは鏡を併用している１台のTime-of-Flightセンサからの入力信号から、干渉モデルの設定を行うことで干渉成分の分離を行い、干渉前の複数の反射波の信号に分離することが不可欠な用途にも適用できる。
【符号の説明】
【００５１】
１００・・・信号補正装置、１０１・・・入力部、１０１１・・・受光部、１０１２・・・発光部、１０２・・・干渉信号分離部、２００・・・被写体、３００・・・鏡
【図１】
2018004507.tif 000018
【図２】
2018004507.tif 000019
【図３】
2018004507.tif 000020
【図４】
2018004507.tif 000021
【図５】
2018004507.tif 000022