(57)【要約】【課題】曲面を有するカバーの影響による誤差を効率よく補正する距離データ生成システム、距離データ生成方法、補正データ算出方法及びプログラムを提供する。【解決手段】  被写体をそれぞれ異なる視点から撮影する一対のカメラと被写体との間に設けられた曲面を有するカバーと、一対のカメラが出力する一対の画像データから第１距離データを生成する距離データ生成部と、第１距離データのカバーの影響による誤差を補正する補正データを記憶する記憶部と、第１距離データを補正データに基づいて補正して第２距離データを取得する補正部と、を備える距離データ生成システムによって上記課題を解決する。【選択図】図２
2019007830.tif 000002
【特許請求の範囲】
【請求項１】
被写体をそれぞれ異なる視点から撮影する一対のカメラと、
前記被写体と前記一対のカメラとの間に設けられた曲面を有するカバーと、
前記一対のカメラが出力する一対の画像データから画像データ上の複数の位置に対応した前記被写体の視差に関する第１距離データを生成する距離データ生成部と、
前記複数の第１距離データの前記カバーの影響による誤差をそれぞれ補正する前記画像データ上の複数の位置に対応した補正データを記憶する記憶部と、
前記複数の第１距離データを前記複数の補正データに基づいてそれぞれ補正して前記画像データ上の複数の位置に対応した第２距離データを取得する補正部と、
を備える距離データ生成システム。
【請求項２】
前記被写体に投光パターンを照射するパターン照射部を備えた請求項１に記載の距離データ生成システム。
【請求項３】
前記一対のカメラは赤外線カメラであり、
前記カバーは赤外線を透過し、
前記パターン照射部は赤外線により前記投光パターンを照射する請求項２に記載の距離データ生成システム。
【請求項４】
前記カバーは半球殻状である請求項１から３のいずれか１項に記載の距離データ生成システム。
【請求項５】
前記カバーは表面に複数の曲面による凹凸を有する請求項１から４のいずれか１項に記載の距離データ生成システム。
【請求項６】
前記補正データは、前記第１距離データを画素毎又は領域毎に補正する変換行列である請求項１から５のいずれか１項に記載の距離データ生成システム。
【請求項７】
前記一対のカメラの光軸が平行である請求項１から６のいずれか１項に記載の距離データ生成システム。
【請求項８】
被写体をそれぞれ異なる視点から撮影する一対のカメラと前記被写体との間に曲面を有するカバーを設け、前記一対のカメラが出力する一対の画像データから画像データ上の複数の位置に対応した前記被写体の視差に関する第１距離データを生成する距離データ生成工程と、
前記第１距離データの前記カバーの影響による誤差を補正する補正データを記憶部から取得し、前記第１距離データを前記補正データに基づいて補正して前記画像データ上の複数の位置に対応した第２距離データを取得する補正工程と、
を備える距離データ生成方法。
【請求項９】
被写体をそれぞれ異なる視点から撮影する一対のカメラと前記被写体との間に曲面を有するカバーを設け、前記一対のカメラが出力する一対の画像データから画像データ上の複数の位置に対応した前記被写体の視差に関する第１距離データを生成する距離データ生成機能と、
前記第１距離データの前記カバーの影響による誤差を補正する補正データを記憶部から取得し、前記第１距離データを前記補正データに基づいて補正して前記画像データ上の複数の位置に対応した第２距離データを取得する補正機能と、
をコンピュータに実行させるプログラム。
【請求項１０】
被写体をそれぞれ異なる視点から撮影する一対のカメラと前記被写体との間に曲面を有するカバーを配置し、前記一対のカメラが出力する一対の画像データから画像データ上の複数の位置に対応した前記被写体の視差に関する第１距離データを生成する第１距離データ生成工程と、
前記一対のカメラと前記被写体との間の距離である複数の第２距離データを取得する第２距離データ取得工程と、
前記複数の位置に対応した前記被写体の視差に関する第１距離データ及び前記複数の第２距離データに基づいて前記複数の位置に対応した前記被写体の視差に関する第１距離データの前記カバーの影響による誤差をそれぞれ補正する複数の補正データを算出する算出工程と、
前記算出した複数の補正データを記憶部に記憶させる記憶工程と、
を備える補正データ算出方法。
【請求項１１】
被写体をそれぞれ異なる視点から撮影する一対のカメラと前記被写体との間に曲面を有するカバーを配置し、前記一対のカメラが出力する一対の画像データから画像データ上の複数の位置に対応した前記被写体の視差に関する第１距離データを生成する第１距離データ生成機能と、
前記一対のカメラと前記被写体との間の距離である複数の第２距離データを取得する第２距離データ取得機能と、
前記複数の位置に対応した前記被写体の視差に関する第１距離データ及び前記複数の第２距離データに基づいて前記複数の位置に対応した前記被写体の視差に関する第１距離データの前記カバーの影響による誤差をそれぞれ補正する複数の補正データを算出する算出機能と、
前記算出した複数の補正データを記憶部に記憶させる記憶機能と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は距離データ生成システム、距離データ生成方法、補正データ算出方法及びプログラムに係り、特にカメラの前面に曲面を有するカバーが設けられた距離データ生成システム、距離データ生成方法、補正データ算出方法及びプログラムに関する。
【背景技術】
【０００２】
複数のカメラを使用したステレオ測距により、被写体の距離情報（距離画像）を取得する深度センサが知られている。このような深度センサにおける測距手法には、以下の２つが一般的である。
【０００３】
１つは、製造工程において予め測距キャリブレーションを行い、キャリブレーションデータに基づいて、使用環境下での距離を測定する手法である。もう１つは、使用環境下にて画像取得を行い、その場で距離を測定する手法である。
【０００４】
特許文献１には、複数のレンズを介して複数の画像情報を取得する撮像手段と、複数の画像情報に基づいて測距対象に対する測距を行う測距制御手段と、少なくとも一つの発光部を有し、任意の投光面に少なくとも一つのスポット光を形成可能な光源と、を備え、測距制御手段は、投光面に形成したスポットまでの距離に基づいて、測距対象に対する測距結果を校正することで、信頼性の高いキャリブレーションを行う測距装置が開示されている。
【０００５】
ここで、カメラの前面に、曲面を有する曲面カバーを配置した状況を考える。この曲面カバーの配置により、カメラに入射する光に光線歪みが発生し、カメラから取得される画像は、曲面カバーのない状態の画像から歪むことが想定される。
【０００６】
キャリブレーションデータに基づいて距離を測定する手法において、測距キャリブレーションは、曲面カバーが配置されていない状態で実施される。このため、任意の使用環境下における視差情報が、キャリブレーション測定時のデータと曲面カバー配置時のデータとにおいて異なるという状況が生じる。
【０００７】
また、使用環境下にて画像取得を行い、その場で距離を測定する手法においても、取得画像から距離を算出する処理過程は、曲面カバーの配置されていない状態で構築されている。このため、任意の使用環境下における視差情報からの測定距離が、曲面カバーの有無により異なるという状況が生じる。
【０００８】
このように、カメラの前面に曲面カバーを配置すると、測定距離に誤差が生じるという課題があった。
【０００９】
このような課題に対し、特許文献２には、撮像装置によって得られた画像データを記憶する画像メモリと、画像メモリに記憶された画像データのうち少なくとも小数点部のみの座標データを補正するための、座標に関する補正データを差分形式で記憶する補正データメモリと、画像メモリに記憶された画像データから補正対象となる画像データを抽出する抽出手段と、抽出手段によって抽出された画像データを補正データメモリに記憶された補正データに基づいて補正する補正手段とを備え、補正データメモリは、座標原点から補正対象となる画像データの座標までを差分データの形式で記憶すると共に、補正手段は、補正データメモリに記憶された差分データを座標軸別に加算して新しい座標データを算出することで、ＣＣＤ（Charge-Coupled Device）カメラの前面に曲面形状のガラス板等の光学系があって、前方画像が歪んで撮像されても、その補正が容易にできる技術が開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１５−１８５９４７号公報
【特許文献２】特開２０００−３２２５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献２に記載の技術のように、画像データの座標データを補正する処理は、処理に時間がかかり、煩雑で非効率であるという問題点があった。
【００１２】
本発明はこのような事情に鑑みてなされたもので、曲面を有するカバーの影響による誤差を効率よく補正する距離データ生成システム、距離データ生成方法、補正データ算出方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために距離データ生成システムの一の態様は、被写体をそれぞれ異なる視点から撮影する一対のカメラと、被写体と一対のカメラとの間に設けられた曲面を有するカバーと、一対のカメラが出力する一対の画像データから画像データ上の複数の位置に対応した被写体の視差に関する第１距離データを生成する距離データ生成部と、複数の第１距離データのカバーの影響による誤差をそれぞれ補正する画像データ上の複数の位置に対応した補正データを記憶する記憶部と、複数の第１距離データを複数の補正データに基づいてそれぞれ補正して画像データ上の複数の位置に対応した第２距離データを取得する補正部と、を備える。
【００１４】
本態様によれば、複数の第１距離データを複数の補正データに基づいてそれぞれ補正して画像データ上の複数の位置に対応した第２距離データを取得するようにしたので、曲面を有するカバーの影響による誤差を効率よく補正することができる。
【００１５】
被写体に投光パターンを照射するパターン照射部を備えることが好ましい。これにより、第１距離データを適切に生成することができる。
【００１６】
一対のカメラは赤外線カメラであり、カバーは赤外線を透過し、パターン照射部は赤外線により投光パターンを照射することが好ましい。これにより、使用者に視認させずに第１距離データを生成することができる。
【００１７】
カバーは半球殻状であることが好ましい。本実施形態は半球殻状のカバーに好適であり、半球殻状のカバーの影響による誤差を効率よく補正することができる。
【００１８】
カバーは表面に複数の曲面による凹凸を有してもよい。本実施形態は表面に複数の曲面による凹凸を有するカバーに好適であり、表面に複数の曲面による凹凸を有するカバーの影響による誤差を効率よく補正することができる。
【００１９】
補正データは、第１距離データを画素毎又は領域毎に補正する変換行列であることが好ましい。曲面を有するカバーの影響による誤差を画素毎又は領域毎に効率よく補正することができる。
【００２０】
一対のカメラの光軸が平行であることが好ましい。これにより、被写体の視差に関する第１距離データを適切に生成することができる。
【００２１】
上記目的を達成するために距離データ生成方法の一の態様は、被写体をそれぞれ異なる視点から撮影する一対のカメラと被写体との間に曲面を有するカバーを設け、一対のカメラが出力する一対の画像データから画像データ上の複数の位置に対応した被写体の視差に関する第１距離データを生成する距離データ生成工程と、第１距離データのカバーの影響による誤差を補正する補正データを記憶部から取得し、第１距離データを補正データに基づいて補正して画像データ上の複数の位置に対応した第２距離データを取得する補正工程と、を備える。
【００２２】
本態様によれば、複数の第１距離データを複数の補正データに基づいてそれぞれ補正して画像データ上の複数の位置に対応した第２距離データを取得するようにしたので、曲面を有するカバーの影響による誤差を効率よく補正することができる。
【００２３】
上記目的を達成するためにプログラムの一の態様は、被写体をそれぞれ異なる視点から撮影する一対のカメラと被写体との間に曲面を有するカバーを設け、一対のカメラが出力する一対の画像データから画像データ上の複数の位置に対応した被写体の視差に関する第１距離データを生成する距離データ生成機能と、第１距離データのカバーの影響による誤差を補正する補正データを記憶部から取得し、第１距離データを補正データに基づいて補正して画像データ上の複数の位置に対応した第２距離データを取得する補正機能と、をコンピュータに実行させる。
【００２４】
本態様によれば、複数の第１距離データを複数の補正データに基づいてそれぞれ補正して画像データ上の複数の位置に対応した第２距離データを取得するようにしたので、曲面を有するカバーの影響による誤差を効率よく補正することができる。
【００２５】
上記目的を達成するために補正データ算出方法の一の態様は、被写体をそれぞれ異なる視点から撮影する一対のカメラと被写体との間に曲面を有するカバーを配置し、一対のカメラが出力する一対の画像データから画像データ上の複数の位置に対応した被写体の視差に関する第１距離データを生成する第１距離データ生成工程と、一対のカメラと被写体との間の距離である複数の第２距離データを取得する第２距離データ取得工程と、複数の位置に対応した被写体の視差に関する第１距離データ及び複数の第２距離データに基づいて複数の位置に対応した被写体の視差に関する第１距離データのカバーの影響による誤差をそれぞれ補正する複数の補正データを算出する算出工程と、算出した複数の補正データを記憶部に記憶させる記憶工程と、を備える。
【００２６】
本態様によれば、一対のカメラと被写体との間に曲面を有するカバーを配置し、一対のカメラが出力する一対の画像データから画像データ上の複数の位置に対応した被写体の視差に関する第１距離データを生成し、一対のカメラと被写体との間の距離である複数の第２距離データを取得し、第１距離データのカバーの影響による誤差をそれぞれ補正する複数の補正データを算出して記憶部に記憶させるようにしたので、曲面を有するカバーの影響による誤差を補正する補正データを適切に算出することができる。
【００２７】
上記目的を達成するためにプログラムの一の態様は、被写体をそれぞれ異なる視点から撮影する一対のカメラと被写体との間に曲面を有するカバーを配置し、一対のカメラが出力する一対の画像データから画像データ上の複数の位置に対応した被写体の視差に関する第１距離データを生成する第１距離データ生成機能と、一対のカメラと被写体との間の距離である複数の第２距離データを取得する第２距離データ取得機能と、複数の位置に対応した被写体の視差に関する第１距離データ及び複数の第２距離データに基づいて複数の位置に対応した被写体の視差に関する第１距離データのカバーの影響による誤差をそれぞれ補正する複数の補正データを算出する算出機能と、算出した複数の補正データを記憶部に記憶させる記憶機能と、をコンピュータに実行させる。
【００２８】
本態様によれば、一対のカメラと被写体との間に曲面を有するカバーを配置し、一対のカメラが出力する一対の画像データから画像データ上の複数の位置に対応した被写体の視差に関する第１距離データを生成し、一対のカメラと被写体との間の距離である複数の第２距離データを取得し、第１距離データのカバーの影響による誤差をそれぞれ補正する複数の補正データを算出して記憶部に記憶させるようにしたので、曲面を有するカバーの影響による誤差を補正する補正データを適切に算出することができる。
【発明の効果】
【００２９】
本発明によれば、曲面を有するカバーの影響による誤差を効率よく補正することができる。
【図面の簡単な説明】
【００３０】
【図１】ステレオ測距を用いた深度センサの動作原理を示す図
【図２】左側カメラ及び右側カメラの前面に曲面カバーを備えた深度センサを示す図
【図３】深度センサの正面図
【図４】測定対象物に照射されたランダムパターンを左側カメラ及び右側カメラにおいてそれぞれ撮影した画像を示す図
【図５】深度センサの主要部の内部構成を示すブロック図
【図６】左側カメラ及び右側カメラでそれぞれ撮影した画像を示す図
【図７】特徴点の変位量を示す図
【図８】深度センサの変換行列を算出するための評価系を示す図
【図９】左側カメラ及び右側カメラでそれぞれ撮影した画像を示す図
【図１０】画像を分割した各領域を示す図
【図１１】変位量算出処理の結果を示すグラフ
【図１２】変位量算出処理の結果を示すグラフ
【図１３】変位量算出処理の結果を示すグラフ
【図１４】変位量算出処理の結果を示すグラフ
【図１５】撮影距離と変位量との関係を示すグラフ
【図１６】変位量算出処理の結果を示すグラフ
【図１７】変位量算出処理の結果を示すグラフ
【図１８】変位量算出処理の結果を示すグラフ
【図１９】変位量算出処理の結果を示すグラフ
【図２０】撮影距離と変位量との関係を示すグラフ
【図２１】図１５のグラフと図２０のグラフとを重ねて示したグラフ
【図２２】図２１に示したグラフに近似曲線を重ねて示したグラフ
【図２３】複数の凹凸面を有する曲面カバーの側面図
【図２４】左側カメラ及び右側カメラでそれぞれ撮影した画像とその重複領域を示す図
【発明を実施するための形態】
【００３１】
以下、添付図面に従って本発明の好ましい実施形態について詳説する。
【００３２】
＜深度センサの動作原理＞
図１は、ステレオ測距を用いた深度センサ１０の動作原理を示す図である。
【００３３】
深度センサ１０は、一対のカメラである左側カメラ１２及び右側カメラ１８を備えている。左側カメラ１２及び右側カメラ１８は、Ｘ方向に一定の距離だけ離して配置されており、測定対象物をそれぞれ異なる視点から撮影する。
【００３４】
左側カメラ１２は、レンズ１４及び撮像素子１６を有している。また、右側カメラ１８は、レンズ２０及び撮像素子２２を有している。左側カメラ１２及び右側カメラ１８は、光軸が平行に配置されている。
【００３５】
レンズ１４及びレンズ２０は、入射した被写体光を透過して撮像素子１６及び撮像素子２２にそれぞれ導く。撮像素子１６及び撮像素子２２は、ともに二次元的に複数の光電変換素子が配列されたイメージセンサである。撮像素子１６及び撮像素子２２は、レンズ１４及びレンズ２０を介して入射した被写体光をそれぞれ受光して、画像信号に変換する。
【００３６】
深度センサ１０において測定対象物Ｏ０と深度センサ１０との間の距離Ｚ０を測定するには、左側カメラ１２及び右側カメラ１８において測定対象物Ｏ０（被写体の一例）を撮影すればよい。ここでは、図１に示すように、測定対象物Ｏ０が撮像素子１６のＸ座標のＸ１に、撮像素子２２のＸ座標のＸ２に、それぞれ撮像されている。
【００３７】
深度センサ１０の左側カメラ１２及び右側カメラ１８の間の距離である基線長をｂ、左側カメラ１２及び右側カメラ１８の焦点距離をｆとすると、距離Ｚ０は、下記の式１で表すことができる。
【００３８】
Ｚ０＝ｂ×ｆ／（Ｘ１−Ｘ２）  …（式１）
ここで、左側カメラ１２及び右側カメラ１８の視差によって生じる測定対象物Ｏ０のＸ座標の差分（Ｘ１−Ｘ２）を、測定対象物Ｏ０の画像上の変位量と呼ぶ。
【００３９】
このように、左側カメラ１２及び右側カメラ１８において測定対象物Ｏ０を撮影し、測定対象物Ｏ０の画像上の変位量を算出することで、測定対象物Ｏ０と深度センサ１０との間の距離を測定することができる。
【００４０】
＜曲面カバーを有する深度センサ＞
図２は、左側カメラ１２及び右側カメラ１８の前面、すなわち測定対象物Ｏ０と左側カメラ１２及び右側カメラ１８との間に、曲面を有する曲面カバー２４を備えた深度センサ１０を示す図である。ここでは、曲面カバー２４は透明な材料で構成され、半球殻状を有している。
【００４１】
測定対象物Ｏ０から左側カメラ１２及び右側カメラ１８に入射する被写体光は、曲面カバー２４に入射する際に屈折する。この屈折の影響により、左側カメラ１２及び右側カメラ１８において測定対象物Ｏ０を撮影すると、図２に示すように、測定対象物Ｏ０が撮像素子１６のＸ座標のＸ３に、撮像素子２２のＸ座標のＸ４に、それぞれ撮像される。
【００４２】
したがって、測定対象物Ｏ０と深度センサ１０との間の距離Ｚ１は、下記の式２により算出される。
【００４３】
Ｚ１＝ｂ×ｆ／（Ｘ３−Ｘ４）  …（式２）
このように、左側カメラ１２及び右側カメラ１８の前面に曲面カバー２４を配置すると、曲面カバー２４の影響を受け、測定対象物Ｏ０の画像上の変位量が変化し、測定対象物Ｏ０との距離に誤差が生じる。この例では、測定対象物Ｏ０が深度センサ１０から距離Ｚ１だけ離れたＯ１の位置に誤認される。
【００４４】
＜深度センサの構成＞
本実施形態に係る深度センサ５０（距離データ生成システムの一例）について説明する。図３は、深度センサ５０の正面図である。ここでは、深度センサ５０として、インテル社製RealSense（登録商標）R200を用いている。
【００４５】
図３に示すように、深度センサ５０はＸ方向が１０２ｍｍ、Ｙ方向が９．５ｍｍの筐体５２を備えている。筐体５２の正面には、左側カメラ５４、右側カメラ５６、ＲＧＢ（Red Green Blue）カメラ５８、及び赤外線レーザープロジェクタ６０が設けられている。また、筐体５２の正面には、図３では図示されない曲面を有する曲面カバー７０（図５参照）が配置されている。
【００４６】
左側カメラ５４及び右側カメラ５６は、測定対象物の表面で反射された赤外波長域の光を受光し、赤外線画像を撮影する赤外線カメラである。左側カメラ５４及び右側カメラ５６は、Ｘ方向に一定の距離だけ離して配置されており、測定対象物をそれぞれ異なる視点から撮影する。
【００４７】
ＲＧＢカメラ５８は、測定対象物の表面で反射された可視光波長域の光を赤、緑、及び青の３領域に分割して受光し、赤、緑、及び青のカラー画像を撮影する可視光カメラである。
【００４８】
赤外線レーザープロジェクタ６０は、測定対象物に対して赤外線によるランダムパターン（投光パターンの一例）を照射するパターン照射部である。図４は、測定対象物に照射されたランダムパターンを左側カメラ５４で撮影した画像１００Ｌ、及び右側カメラ５６で撮影した画像１００Ｒを示す図である。図４に示すように、画像１００Ｌ及び画像１００Ｒは、ランダムパターンが視差を有して撮影された画像となる。
【００４９】
＜深度センサの内部構成＞
図５は、深度センサ５０の主要部の内部構成を示すブロック図である。深度センサ５０は、前述の左側カメラ５４、右側カメラ５６の他、曲面カバー７０、距離データ生成部７２、記憶部７４、補正部７６、及び入出力部７８を備えている。
【００５０】
左側カメラ５４は、レンズ６２及び撮像素子６４を有している。また、右側カメラ５６は、レンズ６６及び撮像素子６８を有している。左側カメラ５４及び右側カメラ５６の焦点距離はｆである。左側カメラ５４及び右側カメラ５６は、光軸が平行に配置されている。左側カメラ５４及び右側カメラ５６の基線長はｂである。
【００５１】
レンズ６２及びレンズ６６は、測定対象物から入射した被写体光を透過して撮像素子６４及び撮像素子６８にそれぞれ導く。撮像素子６４及び撮像素子６８は、二次元的に複数の赤外線光電変換素子が配列されたイメージセンサである。撮像素子６４及び撮像素子６８は、レンズ６２及びレンズ６６を介して入射した赤外波長域の光をそれぞれ受光して、画像信号に変換する。
【００５２】
曲面カバー７０は、赤外線を透過する材料で構成され、半球殻状を有する。曲面カバー７０は、レンズ６２及びレンズ６６と測定対象物との間に配置されている。測定対象物から入射した被写体光は、曲面カバー７０を介してレンズ６２及びレンズ６６に入射する。
【００５３】
撮像素子６４及び撮像素子６８から出力される画像信号は、それぞれ距離データ生成部７２に入力される。距離データ生成部７２は、一対のカメラが出力する一対の画像データから画像データ上の複数の位置に対応した被写体の視差に関する第１距離データを生成する。
【００５４】
第１距離データの生成のために、距離データ生成部７２は、まず撮像素子６４から出力される画像信号から左側画像を生成し、撮像素子６８から出力される画像信号から右側画像を生成する。さらに、距離データ生成部７２は、左側画像及び右側画像から測定対象物の画像上の変位量を算出する。
【００５５】
図６は、左側カメラ５４において撮影した画像１０２Ｌ及び右側カメラ５６において撮影した画像１０２Ｒを示す図である。ここでは、画像１０２Ｌから測定対象物の特徴点１０４Ｌが、画像１０２Ｒから特徴点１０４Ｌに対応する測定対象物の特徴点１０４Ｒが、それぞれ抽出されている。
【００５６】
距離データ生成部７２は、この特徴点同士の画像上での距離を求める。すなわち、画像１０２Ｌ及び画像１０２Ｒを重ねた際の特徴点１０４Ｌ及び１０４ＲのＸ位置座標間の距離を求める。このＸ位置座標間の距離が変位量である。
【００５７】
図７は、特徴点１０４Ｌ及び１０４ＲのＸ位置座標間の距離である変位量ΔＸを示す図である。距離データ生成部７２は、測定対象物の画像上の変位量に基づいて、画像上の複数の位置に対応した測定対象物の視差に関する第１距離データを生成する（距離データ生成工程の一例）。
【００５８】
図５の説明に戻り、記憶部７４は、距離データにおける曲面カバー７０の影響を補正するための画素毎又は領域毎の複数の補正データである変換行列を記憶している。変換行列の詳細については後述する。
【００５９】
補正部７６は、距離データ生成部７２が算出した複数の第１距離データを、記憶部７４から読み出した変換行列に基づいてそれぞれ補正し、画像上の複数の位置に対応した複数の第２距離データを取得する（補正工程の一例）。
【００６０】
入出力部７８は、液晶パネル等の図示されない表示部を備えている。補正部７６は、補正した第２距離データを、測定対象物から深度センサ５０までの距離として入出力部７８に出力する。入出力部７８は、表示部に距離を表示する。
【００６１】
また、入出力部７８は、コンピュータ８０等の外部機器と通信するための通信インターフェースを備えている。
【００６２】
＜補正データ算出方法＞
前述したように、本実施形態に係る深度センサ５０は、左側カメラ５４及び右側カメラ５６により取得される画像から生成された第１距離データに対して、任意の変換行列からなる補正データによる補正を行い、曲面カバー７０の影響を排除した第２距離データを算出する。
【００６３】
曲面カバー７０が配置されていない状態における測定対象物との距離Ｚ０は、式１を用いて取得することができる。距離Ｚ０は、深度センサの測定値ではなく、定規等の他の計測器によって取得することもできる。また、曲面カバー７０が配置された状態における撮影測定対象物との距離Ｚ１は、式２を用いて取得することができる。距離Ｚ０と距離Ｚ１とが、同じ測定対象物との距離を測定した結果であれば、曲面カバー７０による影響を補正する補正データをａ１とすると、
Ｚ０＝ａ１×Ｚ１  …（式３）
と表すことができる。
【００６４】
左側カメラ５４及び右側カメラ５６によって撮影した画像をＸ方向にｍ分割、Ｙ方向にｎ分割の計ｍ×ｎ領域にそれぞれ分割することで、式３により分割した領域毎の補正データａ１〜ａｍ×ｎを取得することができる。ここでは、分割した領域毎の補正データを要素とするｍ行ｎ列の対角行列の変換行列Ｈとして表す。すなわち、変換行列Ｈは、以下の式４で表すことができる。
【００６５】
【数１】
2019007830.tif 000003
【００６６】
曲面カバ−７０が配置された状態で測定したｍ×ｎの領域毎の測定対象物との距離を各要素とした一次元のベクトル行列をＺＢ、ｍ×ｎの領域毎の測定対象物との真の距離を各要素とした一次元のベクトル行列をＺＡとすると、変換行列Ｈにより、ベクトル行列ＺＡとベクトル行列ＺＢの転置行列ＺＢＴとの関係は、以下の式５で表すことができる。
【００６７】
ＺＡ＝Ｈ×ＺＢＴ  …（式５）
以下、曲面カバー７０による影響を補正するための変換行列Ｈの算出方法について説明する。本実施形態では、入出力部７８を介して接続されたコンピュータ８０（図５参照）において変換行列Ｈを算出する例を説明するが、変換行列Ｈは距離データ生成部７２等の深度センサ５０内部において算出してもよい。
【００６８】
図８は、深度センサ５０の変換行列Ｈを算出するための評価系を示す図である。図８に示すように、深度センサ５０を、ＸＹ平面に平行な壁面１０８に左側カメラ５４及び右側カメラ５６の光軸を向けて設置する。深度センサ５０とＸＺ平面に平行な床１１０との間の距離は、８０ｃｍである。
【００６９】
また、床１１０には、直方体物体１１２が設置されている。直方体物体１１２は、ＸＹ平面に平行な物体面１１２Ａが深度センサ５０に向けられている。直方体物体１１２は、背面が壁面１０８に接しており、直方体物体１１２のＺ方向長さは、６５ｃｍである。すなわち、物体面１１２Ａは、壁面１０８よりも６５ｃｍだけ深度センサ５０に近い位置に配置される。
【００７０】
ここでは、深度センサ５０との距離の均一性を保持する観点から、壁面１０８及び物体面１１２ＡをＸＹ平面に平行かつ平板としたが、ＸＹ平面に平行かつ平板に限定するものではない。
【００７１】
この評価系において、深度センサ５０の前面に曲面カバー７０を配置しない状態、及び配置した状態の対象物までの距離（撮影距離）と変位量との関係を取得し、それぞれの関係から変換行列Ｈを算出する。
【００７２】
まず、コンピュータ８０において、深度センサ５０の前面に曲面カバー７０を配置しない状態における撮影距離と変位量との関係を取得する。このために、深度センサ５０は、赤外線レーザープロジェクタ６０において、壁面１０８及び直方体物体１１２に対して赤外線によるランダムパターンを照射する。そして、左側カメラ５４及び右側カメラ５６において、この照射されたランダムパターンを撮影する。
【００７３】
図９は、壁面１０８と深度センサ５０との距離を１５０ｃｍに設定した場合に、左側カメラ５４で撮影した画像１１４Ｌと、右側カメラ５６で撮影した画像１１４Ｒとを示す図である。画像１１４Ｌ及び１１４Ｒは、ともに図中上側には壁面１０８に照射されたランダムパターンが、下側には物体面１１２Ａに照射されたランダムパターンが撮影されている。
【００７４】
図１０は、画像１１４Ｌ及び画像１１４Ｒをそれぞれ分割する各領域を示す図である。コンピュータ８０は、図１０に示すように、画像１１４Ｌ及び画像１１４Ｒを縦方向に４分割、横方向に４分割し、領域ｄｓｔ１１〜ｄｓｔ１４、ｄｓｔ２１〜ｄｓｔ２４、ｄｓｔ３１〜ｄｓｔ３４、及びｄｓｔ４１〜ｄｓｔ４４の計１６領域にそれぞれ分割する。さらに、コンピュータ８０は、画像１１４Ｌ及び画像１１４Ｒのそれぞれ対応する領域において特徴点抽出を行い、特徴点同士の変位量を算出する。特徴点の抽出には、公知のAKAZE（Accelerated KAZE）を用いた。
【００７５】
この領域毎の変位量算出処理を、補正精度を向上させる観点から、３点以上の設定距離について行うことが好ましい。ここでは、壁面１０８と深度センサ５０との距離を１００ｃｍ、１２５ｃｍ、１５０ｃｍ、１７５ｃｍ、及び２００ｃｍに設定して行う（第２距離データ取得工程の一例）。なお、それぞれの設定距離において、物体面１１２Ａと深度センサ５０の距離は、３５ｃｍ、６０ｃｍ、８５ｃｍ、１１０ｃｍ、及び１３５ｃｍである。
【００７６】
図１１〜図１４は、それぞれ図１０に示す領域ｄｓｔ１１、ｄｓｔ２２、ｄｓｔ３３、及びｄｓｔ４４におけるコンピュータ８０の変位量算出処理の結果を示すグラフである。図１１〜図１４において、横軸は特徴点の変位量、縦軸は特徴点の画像上のＹ座標（画像の縦方向位置）を示し、単位はそれぞれ画素である。
【００７７】
図１５は、図１１〜図１４に示す変位量算出処理の結果からコンピュータ８０において求めた、撮影距離と変位量との関係を示すグラフである。図１５において、横軸は撮影距離であり単位はｃｍ、縦軸は変位量であり単位は画素である。図１１〜図１４における任意の特徴点の変位量は、変位量軸に対してプロットが集中している値とした。多くのはずれ値は、AKAZEの感度が高いことから生じるものである。
【００７８】
なお、ここでは、図１０に示す４つの領域ｄｓｔ１１、ｄｓｔ２２、ｄｓｔ３３、及びｄｓｔ４４における変位量算出処理結果を用いて撮影距離と変位量との関係を求めたが、図１０に示す領域ｄｓｔ１１〜ｄｓｔ４４の全１６領域の変位量算出処理結果を用いて求めてもよい。
【００７９】
以上のように、コンピュータ８０によって、深度センサ５０の前面に曲面カバー７０を配置しない状態における撮影距離と変位量との関係を取得する。
【００８０】
次に、コンピュータ８０において、深度センサ５０の前面に曲面カバー７０を配置した状態における撮影距離と変位量との関係を取得する（第１距離データ生成工程の一例）。ここでは、曲面カバー７０として、透明アクリル樹脂からなる曲率半径１００ｍｍ、厚み２．３ｍｍの透明半球のものを使用した。
【００８１】
図１６〜図１９は、それぞれ図１０に示す領域ｄｓｔ１１、ｄｓｔ２２、ｄｓｔ３３、及びｄｓｔ４４におけるコンピュータ８０の変位量算出処理の結果を示すグラフである。図１６〜図１９において、横軸は特徴点の変位量、縦軸は特徴点の画像上のＹ座標（画像の縦方向位置）を示し、単位はそれぞれ画素である。図１６〜図１９における任意の特徴点の変位量は、変位量軸に対してプロットが集中している値とした。
【００８２】
図２０は、図１６〜図１９に示す変位量算出処理の結果からコンピュータ８０において求めた、撮影距離と変位量との関係を示すグラフである。図２０において、横軸は撮影距離であり単位はｃｍ、縦軸は変位量であり単位は画素である。
【００８３】
以上のように、コンピュータ８０によって、深度センサ５０の前面に曲面カバー７０を配置した状態における撮影距離と変位量との関係を取得する。
【００８４】
図２１は、図１５に示した深度センサ５０の前面に曲面カバー７０を配置しない状態における撮影距離と変位量との関係、及び図２０に示した曲面カバー７０を配置した状態における撮影距離と変位量との関係を重ねて示したグラフである。図２１に示すように、曲面カバー７０の影響により、両者の関係は同一にならない。
【００８５】
変換行列Ｈの算出は、まずコンピュータ８０において、２つの関係をそれぞれ表す近似曲線を求める。横軸をｘ軸、縦軸をｙ軸とすると、ここでは、曲面カバー７０を配置しない状態における関係の近似曲線の近似式はｙ＝９７８５．９ｘ−０．９７２、曲面カバー７０を配置した状態における関係の近似曲線の近似式はｙ＝６６６０．６ｘ−０．８６１、と表すことができる。
【００８６】
図２２は、図２１に示したグラフに、前述の２つの近似曲線を重ねて示したグラフである。続いて、コンピュータ８０において、この２つの近似曲線を用いて、曲面カバー７０を配置した状態の変位量から算出した距離を正しい距離に変換するための補正データを求める（算出工程の一例）。例えば、曲面カバー７０を配置した場合に変位量が１００画素であったとすると、近似曲線により距離は１２６ｃｍと算出されるが、実際には１１１ｃｍである。したがって、この場合の補正データａ０は、ａ０＝１１１／１２６である。補正データは、変位量毎に求めてもよい。
【００８７】
このように求めた補正データを各要素とした変換行列Ｈを生成し、記憶部７４（図５参照）に記憶させる（記憶工程の一例）。この変換行列Ｈを用いて、曲面カバー７０を配置した状態で測定した距離を補正することにより、曲面カバーの影響を排除した正しい距離を算出することができる。
【００８８】
ここでは、図１０に示す１６領域に共通する補正データを求めた。すなわち、この補正データをａ０とすると、式４及び式５において、ｍ＝４、ｎ＝４、ａ１＝ａ２＝…＝ａ１６＝ａ０である。分割領域毎に図２２に示すグラフ及び近似曲線を求めることで、分割領域毎の補正データ（ａ１、ａ２、…、ａｍ×ｎ）をそれぞれ求めることも可能である。
【００８９】
＜深度センサの他の態様＞
左側カメラ５４及び右側カメラ５６としては、画像を取得できるものであれば特に限定されない。例えば、可視光領域の画像を撮像できるカメラを用いることができる。赤外線パターンを投影する場合には、赤外線を撮像できるカメラであればよい。また、左側カメラ５４及び右側カメラ５６の光軸は、平行でなくてもよい。
【００９０】
深度センサ５０の設置条件としては、視差情報を取得できる構成であれば特に限定されない。深度センサとしては、インテル社製RealSense（登録商標）の他、マイクロソフト社製Kinect（登録商標）等を用いることも可能である。
【００９１】
曲面カバー７０の材料としては、視差情報を取得するために用いる波長帯の光が通過するものであれば特に限定されない。視差情報を取得するために用いる波長が近赤外領域である場合には、例えばアクリル、ポリカーボネート、又はＰＥＴ（polyethylene terephthalate：ポリエチレンテレフタレート）等を用いることができる。また、アクリル、ポリカーボネート、又はＰＥＴ等の赤外線を透過する材料を用いた際に、着色のために赤外線を透過する顔料を入れると、屈折率がさらに大きくなる。この屈折率の増大により、光線歪みの影響がさらに大きくなるため、補正の必要性がさらに向上する。
【００９２】
曲面カバー７０の形状は、単一の曲面による凹凸面のみ有する場合でもよいし、複数の曲面による凹凸面を有していてもよい。図２３は、複数の凹凸面を有する曲面カバー７０の側面図の一例である。図２３に示すように、この例では、曲面カバー７０の測定対象物側７０Ａ及びカメラ側７０Ｂの両方に、複数の曲面からなる凹凸面が形成されている。複数の凹凸面は、測定対象物側７０Ａ又はカメラ側７０Ｂのいずれか一方に形成されていてもよい。
【００９３】
変換行列Ｈの列数ｍ及び行数ｎは、図１０に示す画像のＸ方向及びＹ方向の分割数と等しく、任意の数を適宜選択することができる。変換行列Ｈの最小分割数は、１である。すなわち、ｍ＝ｎ＝１であり、画像全体の測定距離を均一に補正する場合に相当する。また、最大分割数は、左側カメラ５４及び右側カメラ５６の撮影画像の重複領域の画素数である。すなわち、測定距離を画素毎に補正する場合に相当する。画素毎の補正データは、全ての画素において変位量を演算するのではなく、隣接する画素の補正データを補間することによって求めてもよい。
【００９４】
図２４は、左側カメラ５４において撮影した画像１０６Ｌ及び右側カメラ５６において撮影した画像１０６Ｒと、画像１０６Ｌ及び画像１０６Ｒの重複した領域の画像である画像１０６Ｗを示す図である。
【００９５】
左側カメラ５４及び右側カメラ５６の２つのカメラを用いて撮影する場合、それぞれのカメラで撮影される領域のうち共通となる重複領域と一方のカメラでしか撮像できない非重複領域とが発生する。この重複領域が、距離情報を取得することができる距離情報取得領域となる。画像１０６ＷのＸ方向の画素数をｍ、Ｙ方向の画素数をｎとした場合が、変換行列Ｈの最大分割数である。
【００９６】
＜その他＞
上記の距離データ生成方法及び補正データ算出方法は、コンピュータに距離データ生成機能、補正機能、第１距離データ生成機能、第２距離データ取得機能、算出機能、及び記憶機能を実現させるためのプログラムとして構成し、このプログラムを記憶したＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）等の非一時的な記録媒体を構成することも可能である。
【００９７】
ここまで説明した実施形態において、例えば、距離データ生成部７２、及び補正部７６等の各種の処理を実行する処理部（processing unit）のハードウェア的な構造は、次に示すような各種のプロセッサ（processor）である。各種のプロセッサには、ソフトウェア（プログラム）を実行して各種の処理部として機能する汎用的なプロセッサであるＣＰＵ（Central Processing Unit）、ＦＰＧＡ（Field Programmable Gate Array）等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス（Programmable Logic Device：ＰＬＤ）、ＡＳＩＣ（Application Specific Integrated Circuit）等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
【００９８】
１つの処理部は、これら各種のプロセッサのうちの１つで構成されていてもよいし、同種又は異種の２つ以上のプロセッサ（例えば、複数のＦＰＧＡ、あるいはＣＰＵとＦＰＧＡの組み合わせ）で構成されてもよい。また、複数の処理部を１つのプロセッサで構成してもよい。複数の処理部を１つのプロセッサで構成する例としては、第１に、サーバ及びクライアント等のコンピュータに代表されるように、１つ以上のＣＰＵとソフトウェアの組合せで１つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第２に、システムオンチップ（System On Chip：ＳｏＣ）等に代表されるように、複数の処理部を含むシステム全体の機能を１つのＩＣ（Integrated Circuit）チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、各種のプロセッサを１つ以上用いて構成される。
【００９９】
さらに、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路（circuitry）である。
【０１００】
本発明の技術的範囲は、上記の実施形態に記載の範囲には限定されない。各実施形態における構成等は、本発明の趣旨を逸脱しない範囲で、各実施形態間で適宜組み合わせることができる。
【符号の説明】
【０１０１】
１０  深度センサ
１２  左側カメラ
１４  レンズ
１６  撮像素子
１８  右側カメラ
２０  レンズ
２２  撮像素子
２４  曲面カバー
５０  深度センサ
５２  筐体
５４  左側カメラ
５６  右側カメラ
５８  ＲＧＢカメラ
６０  赤外線レーザープロジェクタ
６２  レンズ
６４  撮像素子
６６  レンズ
６８  撮像素子
７０  曲面カバー
７０Ａ  測定対象物側
７０Ｂ  カメラ側
７２  距離データ生成部
７４  記憶部
７６  補正部
７８  入出力部
８０  コンピュータ
１００Ｌ  画像
１００Ｒ  画像
１０２Ｌ  画像
１０２Ｒ  画像
１０４Ｌ  特徴点
１０４Ｒ  特徴点
１０６Ｌ  画像
１０６Ｒ  画像
１０６Ｗ  画像
１０８  壁面
１１０  床
１１２  直方体物体
１１２Ａ  物体面
１１４Ｌ  画像
１１４Ｒ  画像
【図１】
2019007830.tif 000004
【図２】
2019007830.tif 000005
【図３】
2019007830.tif 000006
【図４】
2019007830.tif 000007
【図５】
2019007830.tif 000008
【図６】
2019007830.tif 000009
【図７】
2019007830.tif 000010
【図８】
2019007830.tif 000011
【図９】
2019007830.tif 000012
【図１０】
2019007830.tif 000013
【図１１】
2019007830.tif 000014
【図１２】
2019007830.tif 000015
【図１３】
2019007830.tif 000016
【図１４】
2019007830.tif 000017
【図１５】
2019007830.tif 000018
【図１６】
2019007830.tif 000019
【図１７】
2019007830.tif 000020
【図１８】
2019007830.tif 000021
【図１９】
2019007830.tif 000022
【図２０】
2019007830.tif 000023
【図２１】
2019007830.tif 000024
【図２２】
2019007830.tif 000025
【図２３】
2019007830.tif 000026
【図２４】
2019007830.tif 000027