(57)【要約】      （修正有）【課題】プロジェクタのレンズ歪みの影響を好適に補正して、対象物の３次元点群情報をより精度高く生成する。【解決手段】少なくとも一方向の座標成分を特定可能なパターン光を投光する投光装置と、対象物を撮像してパターン画像を取得する撮像装置と、パターン光とパターン画像に基づいて、対象物上の少なくとも１点の３次元座標を算出する算出部を備える制御装置と、を備える画像処理システムであって、算出部はパターン画像上の第１の点を特定する手段と、第１の点のパターンに基づいて、パターン光の投光面において、第１の点に対応する第２の点を算出する手段と、投光面上の第２の点と、パターン画像を解析して算出される投光面上の非線形な線と、第１の点に基づいて算出される投光面上のエピポーラ線とに基づいて、第３の点を算出する補正手段と、第１の点と前記第３の点に基づいて、対象物上の点の３次元座標を算出する手段と、を備える。【選択図】図１
2019117120.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一方向の座標成分を特定可能なパターン光を投光する投光装置と、
前記パターン光が投光された対象物を撮像してパターン画像を取得する撮像装置と、
前記パターン光と前記パターン画像に基づいて、前記対象物上の少なくとも１点の３次元座標を算出する算出部を備える制御装置と、
を備える画像処理システムであって、
前記算出部は、
パターン画像上の第１の点を特定する手段と、
前記第１の点の位置に撮像されているパターンに基づいて、パターン光の投光面において、前記第１の点に対応する第２の点を算出する手段と、
前記投光面上の第２の点と、パターン画像を解析して算出される投光面上の非線形な線と、前記第１の点に基づいて算出される投光面上のエピポーラ線とに基づいて、第３の点を算出する補正手段と、
前記第１の点と前記第３の点に基づいて、前記対象物上の点の３次元座標を算出する手段と、
を備える画像処理システム。
【請求項２】
前記補正手段は、
前記第２の点を初期値の点Ａとして設定する手段と、
前記点Ａに座標の変換に関する第１の演算処理を実行して点Ｂを算出する手段と、
前記点Ｂに前記非線形の線に基づく第２の演算処理を実行して点Ｃを算出する手段と、
前記点Ｃに座標の変換に関する第３の演算処理を実行して点Ｄを算出する手段と、
前記点Ｄに前記エピポーラ線に基づく第４の演算処理を実行して点Ｅを算出する手段と、
を備える請求項１に記載の画像処理システム。
【請求項３】
前記補正手段はさらに、前記第４の演算処理を実行した後に、所定の終了条件を満たすか否かを判定する手段を備え、前記終了条件を満たすものと判定した場合、前記点Ｅを前記第３の点として設定し、前記終了条件を満たさないものと判定した場合、前記点Ｅを前記初期値の点Ａとして、前記第１から第４の演算処理を繰り返し実行する、請求項２に記載の画像処理システム。
【請求項４】
前記点Ａと前記点Ｅの座標が所定の範囲内であるか否かを前記終了条件とする、請求項３に記載の画像処理システム。
【請求項５】
前記第１から第４の演算処理を繰り返す回数を前記終了条件とする、請求項３に記載の画像処理システム。
【請求項６】
前記非線形な線は、前記パターン画像上で一方向の座標成分が第１の点と同じである直線を解析して算出される、請求項１から５のいずれか一項に記載の画像処理システム。
【請求項７】
少なくとも一方向の座標成分を特定可能なパターン光を投光する投光装置と、前記パターン光が投光された対象物を撮像してパターン画像を取得する撮像装置と、に接続され、前記パターン光と前記パターン画像に基づいて、前記対象物上の少なくとも１点の３次元座標を算出する算出部を備える制御装置であって、
前記算出部は、
パターン画像上の第１の点を特定する手段と、
前記第１の点の位置に撮像されているパターンに基づいて、パターン光の投光面において、前記第１の点に対応する第２の点を算出する手段と、
前記投光面上の第２の点と、パターン画像を解析して算出される投光面上の非線形な線と、前記第１の点に基づいて算出される投光面上のエピポーラ線とに基づいて、第３の点を算出する補正手段と、
前記第１の点と前記第３の点に基づいて、前記対象物上の点の３次元座標を算出する手段と、
を備える制御装置。
【請求項８】
少なくとも一方向の座標成分を特定可能なパターン光を投光する投光装置と、前記パターン光が投光された対象物を撮像してパターン画像を取得する撮像装置と、に接続される制御装置において、前記パターン光と前記パターン画像に基づいて、前記対象物上の少なくとも１点の３次元座標を算出する方法であって、
前記制御装置は、
パターン画像上の第１の点を特定することと、
前記第１の点の位置に撮像されているパターンに基づいて、パターン光の投光面において、前記第１の点に対応する第２の点を算出することと、
前記投光面上の第２の点と、パターン画像を解析して算出される投光面上の非線形な線と、前記第１の点に基づいて算出される投光面上のエピポーラ線とに基づいて、第３の点を算出することと、
前記第１の点と前記第３の点に基づいて、前記対象物上の点の３次元座標を算出することと、
を実行する方法。
【請求項９】
少なくとも一方向の座標成分を特定可能なパターン光を投光する投光装置と、前記パターン光が投光された対象物を撮像してパターン画像を取得する撮像装置と、に接続される制御装置において、前記パターン光と前記パターン画像に基づいて、前記対象物上の少なくとも１点の３次元座標を算出するよう機能させるプログラムであって、
前記制御装置を、
パターン画像上の第１の点を特定する手段、
前記第１の点の位置に撮像されているパターンに基づいて、パターン光の投光面において、前記第１の点に対応する第２の点を算出する手段、
前記投光面上の第２の点と、パターン画像を解析して算出される投光面上の非線形な線と、前記第１の点に基づいて算出される投光面上のエピポーラ線とに基づいて、第３の点を算出する手段、及び
前記第１の点と前記第３の点に基づいて、前記対象物上の点の３次元座標を算出する手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システム、画像処理方法、及びそのプログラムに関する。
【背景技術】
【０００２】
近年、対象物にコード化されたパターン光を投光し、当該投光時に当該対象物を撮像することにより得られる画像を解析することにより、当該対象物の３次元マップを生成するシステムが考えられている（例えば、特許文献１及び特許文献２参照）。このようなシステムでは、投光されるパターン光と、カメラで撮像されたパターン画像との間で対応する画素を特定して、３次元計測を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００９−５１１８９７号公報
【特許文献２】米国特許出願公開第２００８／０２４５０２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、現実には、パターン光を投光するプロジェクタのレンズに歪みがあるため、投光されたパターンにも歪みが生じてしまう。このため、特許文献１や２に記載されているような従来の技術を用いて３次元計測を行うと、レンズ歪みの影響により、対象物を精度よく３次元復元できないことがある。
【０００５】
本発明のいくつかの態様は、上述した事情を鑑みてなされたものであり、プロジェクタのレンズ歪みの影響を好適に補正して、対象物の３次元点群情報をより精度高く生成することを目的の１つとする。
【課題を解決するための手段】
【０００６】
本発明は、上述した課題を解決するために、以下の構成を採用する。
本発明の一側面に係る画像処理システムは、少なくとも一方向の座標成分を特定可能なパターン光を投光する投光装置と、パターン光が投光された対象物を撮像してパターン画像を取得する撮像装置と、パターン光とパターン画像に基づいて、対象物上の少なくとも１点の３次元座標を算出する算出部を備える制御装置と、を備える画像処理システムであって、算出部は、パターン画像上の第１の点を特定する手段と、第１の点の位置に撮像されているパターンに基づいて、パターン光の投光面において、第１の点に対応する第２の点を算出する手段と、投光面上の第２の点と、パターン画像を解析して算出される投光面上の非線形な線と、第１の点に基づいて算出される投光面上のエピポーラ線とに基づいて、第３の点を算出する補正手段と、第１の点と第３の点に基づいて、対象物上の点の３次元座標を算出する手段と、を備える。上記構成では、投光装置のレンズ歪みの影響を適切に補正することができる。
【０００７】
また、上記補正手段は、第２の点を初期値の点Ａとして設定する手段と、点Ａに座標の変換に関する第１の演算処理を実行して点Ｂを算出する手段と、点Ｂに非線形の線に基づく第２の演算処理を実行して点Ｃを算出する手段と、点Ｃに座標の変換に関する第３の演算処理を実行して点Ｄを算出する手段と、点Ｄにエピポーラ線に基づく第４の演算処理を実行して点Ｅを算出する手段と、を備えるように構成されてもよい。
【０００８】
また、補正手段はさらに、第４の演算処理を実行した後に、所定の終了条件を満たすか否かを判定する手段を備え、終了条件を満たすものと判定した場合、点Ｅを第３の点として設定し、終了条件を満たさないものと判定した場合、点Ｅを初期値の点Ａとして、第１から第４の演算処理を繰り返し実行するように構成されてもよい。さらに、点Ａと点Ｅの座標が所定の範囲内であるか否かを終了条件とするように構成されてもよい。また、第１から第４の演算処理を繰り返す回数を終了条件とするように構成されてもよい。上記構成では、終了条件を満たすものと判定されたときに演算を終えることにより、不必要な演算リソースの削減と処理の高速化を図ることができる。
【０００９】
また、本発明の一側面に係る制御装置は、少なくとも一方向の座標成分を特定可能なパターン光を投光する投光装置と、パターン光が投光された対象物を撮像してパターン画像を取得する撮像装置と、に接続され、パターン光とパターン画像に基づいて、対象物上の少なくとも１点の３次元座標を算出する算出部を備える制御装置であって、算出部は、パターン画像上の第１の点を特定する手段と、第１の点の位置に撮像されているパターンに基づいて、パターン光の投光面において、第１の点に対応する第２の点を算出する手段と、投光面上の第２の点と、パターン画像を解析して算出される投光面上の非線形な線と、第１の点に基づいて算出される投光面上のエピポーラ線とに基づいて、第３の点を算出する補正手段と、第１の点と第３の点に基づいて、対象物上の点の３次元座標を算出する手段と、を備える。
【００１０】
また、本発明の一側面に係る方法は、少なくとも一方向の座標成分を特定可能なパターン光を投光する投光装置と、パターン光が投光された対象物を撮像してパターン画像を取得する撮像装置と、に接続される制御装置において、パターン光とパターン画像に基づいて、対象物上の少なくとも１点の３次元座標を算出する方法であって、制御装置は、パターン画像上の第１の点を特定することと、第１の点の位置に撮像されているパターンに基づいて、パターン光の投光面において、第１の点に対応する第２の点を算出することと、投光面上の第２の点と、パターン画像を解析して算出される投光面上の非線形な線と、第１の点に基づいて算出される投光面上のエピポーラ線とに基づいて、第３の点を算出することと、第１の点と第３の点に基づいて、対象物上の点の３次元座標を算出することと、を実行する。
【００１１】
また、本発明の一側面に係るプログラムは、少なくとも一方向の座標成分を特定可能なパターン光を投光する投光装置と、パターン光が投光された対象物を撮像してパターン画像を取得する撮像装置と、に接続される制御装置において、パターン光とパターン画像に基づいて、対象物上の少なくとも１点の３次元座標を算出するよう機能させるプログラムであって、制御装置を、パターン画像上の第１の点を特定する手段、第１の点の位置に撮像されているパターンに基づいて、パターン光の投光面において、第１の点に対応する第２の点を算出する手段、投光面上の第２の点と、パターン画像を解析して算出される投光面上の非線形な線と、第１の点に基づいて算出される投光面上のエピポーラ線とに基づいて、第３の点を算出する手段、及び第１の点と第３の点に基づいて、対象物上の点の３次元座標を算出する手段、として機能させる。
【発明の効果】
【００１２】
本発明によれば、プロジェクタのレンズ歪みの影響を好適に補正して、対象物の３次元点群情報をより精度高く生成することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係る画像処理システムの概要を示す模式図である。
【図２】実施形態に係る画像処理システムの機能構成の一例を示すブロック図である。
【図３】実施形態に係る画像処理システムのハードウェア構成の一例を示す模式図である。
【図４】実施形態に係る画像処理システムの処理手順を示すフローチャートである。
【図５】実施形態に係る３次元位置算出部の処理を説明するためのフローチャートである。
【図６Ａ】実施形態に係る３次元位置算出部の処理を説明するための模式図である。
【図６Ｂ】実施形態に係る３次元位置算出部の処理を説明するための模式図である。
【図６Ｃ】実施形態に係る３次元位置算出部の処理を説明するための模式図である。
【図６Ｄ】実施形態に係る３次元位置算出部の処理を説明するための模式図である。
【図６Ｅ】実施形態に係る３次元位置算出部の処理を説明するための模式図である。
【図６Ｆ】実施形態に係る３次元位置算出部の処理を説明するための模式図である。
【図７】実施形態に係る３次元位置算出部の処理を説明するための模式図である。
【発明を実施するための形態】
【００１４】
以下、本発明の一側面に係る実施の形態（以下「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００１５】
＜１．適用例＞
まず、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本実施形態に係る画像処理システム１の適用場面の一例を示す模式図である。本実施形態に係る画像処理システム１は、制御装置１００と投光装置２００と撮像装置３００とによって構成される。なお、画像処理システム１は、本発明の「画像処理システム」の一例である。制御装置１００は、本発明の「制御装置」の一例である。投光装置２００は、本発明の「投光装置」の一例である。撮像装置３００は、本発明の「撮像装置」の一例である。
【００１６】
対象物の３次元計測を行う手法の１つとして、三角測距を基本原理として対象物に一定のパターンを持つパターン光を投光し、パターン光が投光された対象物を撮像して距離計算することにより３次元位置を算出する手法がある。この手法には、投光するパターン画像を複数枚用意し、それらを高速で時間的に切換えて投光する時間的な手法と、空間的にコード化された単一のパターン画像を投光する空間的な手法の大きく２つの手法がある。本発明は、いずれの手法であれ、撮像されたパターン画像の解析により投光されたパターン光の少なくとも一方向の座標成分を特定可能なパターンを用いて、パターン光の対応点座標を推定する方式であれば、適用することができる。
【００１７】
本実施形態において、投光装置２００は、空間的に所定のパターンを有するパターン光を対象物に投光するものとする。ここで投光されるパターンは、例えば、パターンを解析することにより、列方向（ｙ方向）の座標成分を特定できるように構造化されているものとする。すなわち、パターン光を撮像したパターン画像を解析することにより、パターン画像上の所定の点に対応するパターン光の列を特定することができる。
【００１８】
撮像装置３００は、パターン光が投光された対象物Ｗを撮像して、所定の撮像面におけるパターン画像を取得する。制御装置１００は、撮像装置３００で撮像されたパターン画像を解析することにより、上述した一方向の座標成分を特定し、撮像装置３００で撮像されたパターン画像と投光装置２００から投光されるパターン光との間で、対応付けを行う。例えば、撮像装置３００で撮像されたパターン画像において、対象物上の点Ｐ１が撮像されている特定の点Ｐ３を特定する。制御装置１００は、パターン画像を解析して、点Ｐ３の位置に撮像されているパターンに対応するパターン光の列ｕ’を特定する。制御装置１００は、投光面において、この列ｕ’と、点Ｐ３に関して投光装置２００と撮像装置３００の光学中心に基づいて定まるエピポーラ線との交点から、点Ｐ３に対応するパターン光上の点Ｐ２’の座標（ｕ’，ｖ’）、すなわち、パターン光を形成する投光面上における点Ｐ２’の座標（ｕ’，ｖ’）を求める。
【００１９】
その後、投光装置２００のレンズの歪みによる影響を補正する処理を行う。具体的には、レンズ歪みの影響がなかった場合（図１の一点鎖線）に、対象物上の点Ｐ１に投光する、パターン光上の点Ｐ２の座標（ｕ，ｖ）、すなわち、パターン光を形成する投光面上における点Ｐ２の座標（ｕ，ｖ）を求める。そして、パターン画像上の点Ｐ３の座標（ｍ，ｎ）と、補正処理によって得られたパターン光上の点Ｐ２の座標（ｕ，ｖ）とに基づいて、レンズ歪みの影響を適正に補正した点Ｐ１の３次元座標（Ｘ，Ｙ，Ｚ）を算出する。なお、図１において、投光装置から投影面を通り、対象物Ｗで反射して撮像面を介して撮像装置に入る実線矢印は、現実の光路の一例である。レンズ歪みの影響を補正しないと、点Ｐ１’の位置の３次元座標を算出してしまうため、計測誤差が生ずることになる。
【００２０】
レンズ歪みの影響を補正する処理、すなわち、補正前の点Ｐ２’から補正後の点Ｐ２を求める処理は、点Ｐ３に関して、パターン画像を解析して得られる投光面上の非線形なｘ座標（以下「歪みありｘ座標」ともいう。歪みありｘ座標のうち、特に点Ｐ３に関するものを「点Ｐ３に関する歪みありｘ座標」ともいう。）と、点Ｐ３に関する投光面上のエピポーラ線（以下「点Ｐ３に関するエピポーラ線」ともいう。）とを拘束条件とする特定の繰り返し演算処理を行うことにより、実現することができる。ここで、点Ｐ３に関する歪みありｘ座標とは、投光面上で点Ｐ２’を通る非線形な線として表されるものであり、パターン画像を解析することによって、パターン画像上で点Ｐ３を通る列（撮像面上でｘ＝ｍで表される直線）上の各々の点（ｍ，ｙ）（ｙは任意）に対応付けられるパターン光上の各々の点を特定することにより求めることができる。別の見方をすれば、現実の光路において、パターン光上の歪みありｘ座標が、パターン画像上で点Ｐ３を通る列として撮像されるのであり、そのような歪みありｘ座標は、パターン画像を解析することにより求めることができる。
【００２１】
詳細は図６Ａ乃至図６Ｆを参照して後述するが、レンズ歪みの補正処理における繰り返し演算処理は、以下の手順で行う。まず、投光面上の点Ｐ２’の座標を、繰り返し演算処理の初期値の点Ｐ２１の座標として設定する。そして、点Ｐ２１に第１の演算処理を行い、点Ｐ２２を求める。次に、点Ｐ２２に上述の歪みありｘ座標に基づく拘束条件を適用して、点Ｐ２３を求める。続いて、点Ｐ２３に第２の演算処理を行い、点Ｐ２４を求める。最後に、エピポーラ拘束条件に基づいて、点Ｐ２５を求める。この一連の演算処理の後、所定の終了条件を満たしたものと判定されたとき、補正処理を終え、満たしていないものと判定されたとき、点Ｐ２５の座標を新たな初期値の点Ｐ２１として設定し、上述の一連の演算処理を繰り返す。補正処理を終えるための終了条件としては、一連の演算処理の前後の点Ｐ２１の座標と点Ｐ２５の座標が一定の範囲内に収束した場合に、補正処理を終えるものとしてもよい。また、一連の演算処理を所定回数繰り返した後に、補正処理を終えるものとしてもよい。
【００２２】
このようにして得られた点Ｐ２５の座標を補正後の点Ｐ２の座標として、点Ｐ１の三次元座標を算出する。これにより、本実施形態に係る画像処理システム１では、投光装置２００のレンズ歪みの影響を適切に補正することができる。なお、点Ｐ３は、本発明の「第１の点」の一例である。点Ｐ２’は、本発明の「第２の点」の一例である。点Ｐ２は、本発明の「第３の点」の一例である。点Ｐ１は、本発明の「対象物上の点」の一例である。歪みありｘ座標は、本発明の「非線形の線」の一例である。
【００２３】
＜２．構成例＞
＜２−１．画像処理システム１の機能構成＞
図２は画像処理システム１の機能構成の一例を示す機能ブロック図である。以下、本実施形態に係る画像処理システム１の構成について詳細に説明する。図２を参照して、上述のとおり画像処理システム１は、制御装置１００と、投光装置２００と、撮像装置３００とによって構成される。
【００２４】
（Ａ）投光装置２００
投光装置２００は、制御装置１００の制御のもと、撮像されたパターン画像の解析により投光されたパターン光の少なくとも一方向の座標成分を特定可能な構造化されたパターン光を対象物に対して投光する。投光装置２００は、例えばプロジェクタ等によって実現することができる。投光装置２００は、光源２１０と、マスク２２０と、レンズ２３０とを含む。
【００２５】
光源２１０は、例えば例えばＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）、ＬＤ（Ｌａｓｅｒ  Ｄｉｏｄｅ）、ＶＣＳＥＬ（Ｖｅｒｔｉｃａｌ  Ｃａｖｉｔｙ  Ｓｕｒｆａｃｅ  Ｅｍｉｔｔｉｎｇ  Ｌａｓｅｒ）、又はランプ等により実現可能であり、光束を投光する。
【００２６】
マスク２２０は、パターンを有しており、光源２１０から投光された光束がマスク２２０を透過することで、パターン光が対象物に投光される。本実施形態において、パターン光は、列方向（ｘ軸方向）の座標成分を特定可能なパターンを有しているものとして説明するが、特定可能な座標成分は必ずしもこれに限定されるものではない。
【００２７】
レンズ２３０は、マスク２２０を透過した光束を拡大し、対象物へと投光する。
【００２８】
（Ｂ）撮像装置３００
撮像装置３００は、制御装置１００の制御のもと、パターン光が投光された対象物を撮像し、パターン画像を取得する。以下の説明では、撮像装置３００が撮像した画像を撮像画像ということもある。撮像装置３００は、例えばカメラ等によって実現することができる。
【００２９】
（Ｃ）制御装置１００
制御装置１００は、制御部１１０と、画像入力部１２０と、３次元位置算出部（算出部の一例である。）１４０と、パターン記憶部１３０とを有している。
【００３０】
制御部１１０は投光制御部１１１と撮像制御部１１２とを有している。投光制御部１１１は、投光装置２００によるパターン光の投光を制御する。また、撮像制御部１１２は、撮像装置３００を制御することにより、任意のタイミングで撮像装置３００による撮像を行う。例えば撮像制御部１１２は、投光装置２００によるパターン光の投光時に撮像を行うように撮像装置３００を制御する。
【００３１】
画像入力部１２０は、撮像装置３００により撮像されたパターン画像の入力を受ける。画像入力部１２０は入力されたパターン画像を、３次元位置算出部１４０や図示しない記憶部に出力する。
【００３２】
パターン記憶部１３０は、投光装置２００が投光するパターンを記憶している。パターン記憶部１３０は、記憶しているパターンを３次元位置算出部１４０に出力する。
【００３３】
３次元位置算出部１４０は、対象物上の特徴点の３次元座標を算出する処理を行う。詳細は後述するが、３次元位置算出部１４０は、レンズ歪みの補正処理と、投光面上の点Ｐ２の座標（ｕ，ｖ）と撮像面上の点Ｐ３の座標（ｍ，ｎ）に基づいて、対象物上の点Ｐ１の３次元座標（Ｘ，Ｙ，Ｚ）を算出する処理を実行する。なお、３次元位置算出部１４０は、本発明の「算出部」の一例である。
【００３４】
＜２−２．ハードウェア構成＞
以下、図３を参照しながら、画像処理システム１を実現可能なハードウェア構成を説明する。図３は、本実施形態に係る画像処理システム１のハードウェア構成の一例を模式的に例示する。
【００３５】
図３の例に示す画像処理システム１は、プロセッサ８０１、記憶部８０５、通信インタフェース（Ｉ／Ｆ）部８１１、入力部８１３、及び出力部８１５を含み、各部はバスライン８１７を介して相互に通信可能に接続され得る。
【００３６】
プロセッサ８０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８０３、ＲＯＭ（ＲＥＡＤＯｎｌｙ  Ｍｅｍｏｒｙ）等を含み、情報処理に応じて各構成要素の制御を行う。記憶部８０５は、例えばハード・ディスク・ドライブ（ＨＤＤ）、ソリッド・ステート・ドライブ（ＳＳＤ）等の補助記憶装置でありプロセッサ８０１で実行される画像処理プログラム８０７、及び、投光に用いるパターンや、撮像されるパターン画像等である画像データ８０９等を記憶する。
【００３７】
画像処理プログラム８０７は、上述の画像処理システム１の処理を実行させるためのプログラムである。特に、図２に示したプロセッサ１１０、画像入力部１２０及び３次元位置算出部１４０の各構成は、画像処理プログラム８０７として実現しうる。
【００３８】
通信インタフェース（Ｉ／Ｆ）部８１１は、例えば、有線又は無線により他の装置と通信するための通信モジュールである。通信Ｉ／Ｆ部８１１が他の装置との通信に用いる通信方式は任意であるが、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等が挙げられる。特に、投光装置２００、及び撮像装置３００は、通信Ｉ／Ｆ部８１１を介して、プロセッサ８０１等と通信可能に設けることが可能である。
【００３９】
入力部８１３は、例えば、マウスやキーボード、タッチパネル等で実現しうる、ユーザからの各種入力操作を受け付けるためのデバイスである。出力部８１５は、例えば、ディスプレイやスピーカ等、表示や音声等により、画像処理システム１を利用するユーザ等へ各種情報を報知するための装置である。
【００４０】
＜３．動作例＞
次に、本実施の形態に係る画像処理システム１における動作例について説明する。
＜３−１．全体の流れ＞
図４は、本実施の形態に係る画像処理システム１における３次元計測処理の処理手順を示すフローチャートである。図４に示す処理手順の各ステップは、典型的には、制御装置１００のプロセッサ８０１が画像処理プログラム１３２などを実行することで実現される。
【００４１】
図４を参照して、制御装置１００の投光制御部１１１からの制御により、投光装置２００が対象物に対してパターン光を投光する（Ｓ２０１）。次に、撮像制御部１１２からの制御により、撮像装置３００がパターン画像を撮像する（Ｓ２０２）。
【００４２】
画像入力部１２０が撮像装置３００の撮像したパターン画像を取得して、３次元位置算出部１４０に渡すと、３次元位置算出部１４０は、パターン画像から、３次元座標を算出する対象とする点を一以上抽出する（Ｓ２０３）。３次元座標の算出対象とする点としては、パターン画像のパターンを解析して得られる複数の特徴点が想定されるが、これに限られず、撮像された対象物のエッジなどを特徴点としてもよい。
【００４３】
そして３次元位置算出部１４０は、抽出された一以上の点の各々について、以下のステップＳ２０４からＳ２０６の処理を実行し、各点に対応する三次元座標を算出する。
【００４４】
まず、３次元位置算出部１４０は、抽出された複数の点のうちの１つの点Ｐ３に対応付けられるパターン光上の点Ｐ２’の位置を特定する（Ｓ２０４）。具体的には、まず、パターン画像の解析を行い、点Ｐ３（ｍ，ｎ）の位置に撮像されているパターンに対応するパターン光の列ｕ’を特定する。なお、本実施形態では、列方向の座標成分を特定可能なパターン光を用いているので、パターン画像を解析することにより、パターン画像上の任意の点におけるパターン光の列ｕ’を特定することができる。他の方向の座標成分を特定可能なパターン光を用いる場合は、列方向の座標成分の代わりに、当該他の方向の座標成分について特定すればよい。
【００４５】
そして、投光面において、特定された列ｕ’と、点Ｐ３に関するエピポーラ線との交点から、点Ｐ２’の座標（ｕ’，ｖ’）を算出する。なお、点Ｐ３に関するエピポーラ線は、投光装置２００の光学中心と撮像装置３００の光学中心と撮像面上の点Ｐ３とを通るエピポーラ平面と、投光面との交線として定められる線である。ここでは、投光装置２００と撮像装置３００の配置が既知であるから、撮像面における点Ｐ３の座標に基づいて、投光面上のエピポーラ線を求めることができる。
【００４６】
次に、３次元位置算出部１４０は、投光装置２００のレンズ歪みによる影響を補正するための補正処理を行う（Ｓ２０５）。具体的な処理は後述するが、この補正処理により、補正前の点Ｐ２’の座標（ｕ’，ｖ’）を基に、レンズ歪みの影響を補正した点Ｐ２の座標（ｕ，ｖ）を算出する。
【００４７】
そして、３次元位置算出部１４０は、補正処理によって算出した点Ｐ２の座標（ｕ，ｖ）と、パターン画像から抽出した点Ｐ３の座標（ｍ，ｎ）とに基づいて、対象物上の点Ｐ１の３次元座標（Ｘ，Ｙ，Ｚ）を算出する（Ｓ２０６）。この３次元位置復元処理の詳細も後述する。
【００４８】
画像処理システム１は、ステップＳ２０３で抽出した全ての点に対してＳ２０４〜Ｓ２０６の処理を繰り返し実行し（Ｓ２０７）、全ての点について、算出された３次元座標を記憶及び／又は出力する（Ｓ２０８）。
【００４９】
＜３−２．レンズ歪みの補正処理＞
次に、図５及び図６Ａ乃至図６Ｆを参照して、ステップＳ２０５の補正処理について、より詳細に説明する。図５は３次元位置算出部１４０の補正処理のフローチャートであり、図６Ａ乃至図６Ｆは、補正処理における各ステップの処理を模式的に表した図である。なお、図６Ａ乃至図６Ｆにおける、破線Ｘ１は、点Ｐ３に関する歪みありｘ座標であり、実線Ｅは、点Ｐ３に関するエピポーラ線である。
【００５０】
補正処理において、３次元位置算出部１４０は、まず初期値Ｐ２１（ｕ１，ｖ１）を設定する（図５のＳ１０１）。ここでは、ステップＳ２０４で算出した点Ｐ２’の座標（ｕ’，ｖ’）を初期値として設定する（図６Ａ）。そして、以下に示す第１から第４の演算処理を実行する。
【００５１】
まず、３次元位置算出部１４０は、点Ｐ２１（ｕ１，ｖ１）に対して座標の変換に関する第１の演算処理を適用して、点Ｐ２２（ｕ２，ｖ２）を算出する（図５のＳ１０２）。具体的には、３次元位置算出部１４０は、レンズの歪みのモデルパラメータｋ1，ｋ2，ｋ3，ｐ1，ｐ2とプロジェクタのx方向とy方向の焦点距離をｆx，ｆy、プロジェクタの主点座標をｃx，ｃyとして、以下の式（１）第１の演算に基づいて、点Ｐ２１の座標（ｕ１，ｖ１）から点Ｐ２２の座標（ｕ２，ｖ２）を算出する（図６Ｂ）。なお、これらのモデルパラメータは、投光装置２００のキャリブレーションにより求めることができる。また、図６Ｂは点Ｐ２１を一般化して表しているため、図６Ａの点Ｐ２’の位置とは異なる位置として図示している。
【数１】
2019117120.tif 000003
【００５２】
次に、３次元位置算出部１４０は、点Ｐ２２（ｕ２，ｖ２）に対して歪みありｘ座標に基づく第２の演算処理を適用して、点Ｐ２３（ｕ３，ｖ３）を算出する（図５のＳ１０３）。具体的には、３次元位置算出部１４０は、点Ｐ２２をｘ座標に沿って動かして、歪みありｘ座標Ｘ１上に位置する点Ｐ２３まで移動させる（図６Ｃ）。このとき、移動後の座標（ｕ３，ｖ２）を点Ｐ２３の座標とする。
【００５３】
続いて、３次元位置算出部１４０は、点Ｐ２３（ｕ３，ｖ３)に対して座標の変換に関する第３の演算処理を適用して、点Ｐ２４（ｕ４，ｖ４）を算出する（図５のＳ１０４）。具体的には、３次元位置算出部１４０は、以下の式（２）に示す第３の演算に基づいて、点Ｐ２３（ｕ３，ｖ３）の座標から点Ｐ２４の座標（ｕ４，ｖ４）を以下の算出する（図６Ｄ）。なお、第３の演算処理は、第１の演算処理の逆変換に相当する処理であり、モデルパラメータｆx，ｆy，ｃx，ｃy，ｋ1，ｋ2，ｋ3，ｐ1，ｐ2は、第１の演算におけるモデルパラメータと共通する。
【数２】
2019117120.tif 000004
【００５４】
その後、３次元位置算出部１４０は、点Ｐ２４（ｕ４，ｖ４）に対してエピポーラ線に基づく第４の演算処理を適用して、点Ｐ５（ｕ５，ｖ５）を算出する（図５のＳ１０５）。具体的には、３次元位置算出部１４０は、点Ｐ２４をｙ座標に沿って動かして、エピポーラ線Ｅ上に位置する点Ｐ２５まで移動させる（図６Ｅ）。このとき、移動後の座標（ｕ４，ｖ５）を点Ｐ２５の座標とする。より具体的には、ａｘ＋ｂｙ＋ｃ＝０によって表されるエピポーラ拘束式にｘ＝ｕ４を代入して求められるｙをｖ５の値とすればよい。
【００５５】
そして、３次元位置算出部１４０は、これら一連の第１から第４の演算処理（Ｓ１０２〜Ｓ１０５）を所定の終了条件を満たすまで繰り返し実行する（Ｓ１０６）。所定の終了条件は、例えば、前回のループと今回のループとの推定座標の差の絶対値が許容される視差誤差以内であること、ループを固定回数（例えば５回）実行したこと、等が挙げられるが、これに限定されない。３次元位置算出部１４０は、終了条件を満たしたときの点Ｐ２５の座標を点Ｐ２の座標として取得する（図６Ｆ）。
【００５６】
＜３−３．３次元座標の算出処理＞
次に、図７を参照して、ステップＳ２０６の３次元座標の算出処理について、より詳細に説明する。図７に示すように、投光面上の点Ｐ２の座標を（ｕ，ｖ）、撮像面上の点Ｐ３の座標を（ｍ，ｎ）、対象物上の点Ｐ１の３次元座標を（Ｘ，Ｙ，Ｚ）とする。また、点Ｐ２と投光装置２００の光学中心とを結ぶ直線をＬ２とし、点Ｐ３と撮像装置３００の光学中心とを結ぶ直線をＬ３とする。このとき、点Ｐ１は直線Ｌ２とＬ３の交点に対応するものとすると、点Ｐ１の３次元座標（Ｘ，Ｙ，Ｚ）は、以下の式（１）（２）を満たすＸ，Ｙ，Ｚを求めることで算出することができる。なお、以下の式（１）（２）において、Ｐcamはキャリブレーションで得られる３×４行列であり、Ｐprjはキャリブレーションで得られる３×４行列である。
【数３】
2019117120.tif 000005
【００５７】
ただし、実際にはノイズの影響により、直線Ｌ２とＬ３が交点を持つとは限らないため、例えば最小二乗法により、直線Ｌ２とＬ３に最も近い点を対象物上の点Ｐ１の３次元座標の推定値とすることができる。
【００５８】
本実施形態に係る画像処理システム１は、投光装置２００のレンズ歪みによる影響を補正して、３次元座標の算出を行う。レンズ歪みの影響を補正する処理を行うことで、対象物の３次元位置をより高精度に推定することができる。
【００５９】
[付記]
以上、本発明の実施の形態を詳細に説明してきたが、上述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）
少なくとも一方向の座標成分を特定可能なパターン光を投光する投光装置（２００）と、
前記パターン光が投光された対象物を撮像してパターン画像を取得する撮像装置（３００）と、
前記パターン光と前記パターン画像に基づいて、前記対象物上の少なくとも１点（Ｐ１）の３次元座標を算出する算出部を備える制御装置（１００）と、
を備える画像処理システム（１）であって、
前記算出部（１４０）は、
パターン画像上の第１の点（Ｐ３）を特定する手段と、
前記第１の点（Ｐ３）の位置に撮像されているパターンに基づいて、パターン光の投光面において、前記第１の点（Ｐ３）に対応する第２の点（Ｐ２’）を算出する手段と、
前記投光面上の第２の点（Ｐ２’）と、パターン画像を解析して算出される投光面上の非線形な線（Ｘ１）と、前記第１の点（Ｐ３）に基づいて算出される投光面上のエピポーラ線（Ｅ）とに基づいて、第３の点（Ｐ２）を算出する補正手段と、
前記第１の点（Ｐ３）と前記第３の点（Ｐ２）に基づいて、前記対象物上の点（Ｐ１）の３次元座標を算出する手段と、
を備える画像処理システム（１）。
（付記２）
前記補正手段は、
前記第２の点（Ｐ２’）を初期値の点Ａ（Ｐ２１）として設定する手段と、
前記点Ａ（Ｐ２１）に座標の変換に関する第１の演算処理を実行して点Ｂ（Ｐ２２）を算出する手段と、
前記点Ｂ（Ｐ２２）に前記非線形の線（Ｘ１）に基づく第２の演算処理を実行して点Ｃ（Ｐ２３）を算出する手段と、
前記点Ｃ（Ｐ２３）に座標の変換に関する第３の演算処理を実行して点Ｄ（Ｐ２４）を算出する手段と、
前記点Ｄ（Ｐ２４）に前記エピポーラ線（Ｅ）に基づく第４の演算処理を実行して点Ｅ（Ｐ２５）を算出する手段と、
を備える付記１に記載の画像処理システム（１）。
（付記３）
前記補正手段はさらに、前記第４の演算処理を実行した後に、所定の終了条件を満たすか否かを判定する手段を備え、前記終了条件を満たすものと判定した場合、前記点Ｅ（Ｐ２５）を前記第３の点（Ｐ２）として設定し、前記終了条件を満たさないものと判定した場合、前記点Ｅ（Ｐ２５）を前記初期値の点Ａ（Ｐ２１）として、前記第１から第４の演算処理を繰り返し実行する、
付記２に記載の画像処理システム（１）。
（付記４）
前記点Ａ（Ｐ２１）と前記点Ｅ（Ｐ２５）の座標が所定の範囲内であるか否かを前記終了条件とする、
付記３に記載の画像処理システム（１）。
(付記５）
前記第１から第４の演算処理を繰り返す回数を前記終了条件とする、
付記３に記載の画像処理システム（１）。
(付記６）
前記非線形な線（Ｘ１）は、前記パターン画像上で一方向の座標成分が第１の点と同じである直線を解析して算出される、
付記１から５のいずれか一項に記載の画像処理システム（１）。
（付記７）
少なくとも一方向の座標成分を特定可能なパターン光を投光する投光装置（２００）と、前記パターン光が投光された対象物を撮像してパターン画像を取得する撮像装置（３００）と、に接続され、前記パターン光と前記パターン画像に基づいて、前記対象物上の少なくとも１点（Ｐ１）の３次元座標を算出する算出部（１４０）を備える制御装置（１００）であって、
前記算出部（１４０）は、
パターン画像上の第１の点（Ｐ３）を特定することと、
前記第１の点（Ｐ３）の位置に撮像されているパターンに基づいて、パターン光の投光面において、前記第１の点（Ｐ３）に対応する第２の点（Ｐ２’）を算出することと、
前記投光面上の第２の点（Ｐ２’）と、パターン画像を解析して算出される投光面上の非線形な線（Ｘ１）と、前記第１の点（Ｐ３）に基づいて算出される投光面上のエピポーラ線（Ｅ）とに基づいて、第３の点（Ｐ２）を算出することと、
前記第１の点（Ｐ３）と前記第３の点（Ｐ２）に基づいて、前記対象物上の点（Ｐ１）の３次元座標を算出することと、
を特徴とする制御装置（１００）。
（付記８）
少なくとも一方向の座標成分を特定可能なパターン光を投光する投光装置（２００）と、前記パターン光が投光された対象物を撮像してパターン画像を取得する撮像装置（３００）と、に接続される制御装置（１００）において、前記パターン光と前記パターン画像に基づいて、前記対象物上の少なくとも１点（Ｐ１）の３次元座標を算出する方法であって、
前記第１の点（Ｐ３）の位置に撮像されているパターンに基づいて、パターン光の投光面において、前記第１の点（Ｐ３）に対応する第２の点（Ｐ２’）を算出するステップと、
前記投光面上の第２の点（Ｐ２’）と、パターン画像上で前記一方向の座標成分が前記第１の点と同じである直線を解析して算出される投光面上の非線形な線（Ｘ１）と、前記第１の点に基づいて算出される投光面上のエピポーラ線（Ｅ）とに基づいて、第３の点（Ｐ２）を算出するステップと、
前記第１の点（Ｐ３）と前記第３の点（Ｐ２）に基づいて、前記対象物上の点（Ｐ１）の３次元座標を算出するステップと、
を実行する方法。
（付記９）
少なくとも一方向の座標成分を特定可能なパターン光を投光する投光装置（２００）と、前記パターン光が投光された対象物を撮像してパターン画像を取得する撮像装置（３００）と、に接続される制御装置（１００）において、前記パターン光と前記パターン画像に基づいて、前記対象物上の少なくとも１点（Ｐ１）の３次元座標を算出するよう機能させるプログラムであって、
前記制御装置（１００）を、
パターン画像上の第１の点（Ｐ３）を特定する手段、
前記第１の点（Ｐ３）の位置に撮像されているパターンに基づいて、パターン光の投光面において、前記第１の点（Ｐ３）に対応する第２の点（Ｐ２’）を算出する手段、
前記投光面上の第２の点（Ｐ２’）と、パターン画像を解析して算出される投光面上の非線形な線（Ｘ１）と、前記第１の点（Ｐ３）に基づいて算出される投光面上のエピポーラ線（Ｅ）とに基づいて、第３の点（Ｐ２）を算出する手段、及び
前記第１の点（Ｐ３）と前記第３の点（Ｐ２）に基づいて、前記対象物上の点（Ｐ１）の３次元座標を算出する手段、
として機能させるプログラム。
【符号の説明】
【００６０】
１  画像処理システム
１００  制御装置
１１０  制御部
１１１  投光制御部
１１２  撮像制御部
１２０  画像入力部
１３０  パターン記憶部
１３２  画像処理プログラム
１４０  ３次元位置算出部
２００  投光装置
２１０  光源
２２０  マスク
２３０  レンズ
３００  撮像装置
８０１  プロセッサ
８０５  記憶部
８０７  画像処理プログラム
８０９  画像データ
８１１  通信インタフェース（Ｉ／Ｆ）部
８１３  入力部
８１５  出力部
８１７  バスライン
【図１】
2019117120.tif 000006
【図２】
2019117120.tif 000007
【図３】
2019117120.tif 000008
【図４】
2019117120.tif 000009
【図５】
2019117120.tif 000010
【図６Ａ】
2019117120.tif 000011
【図６Ｂ】
2019117120.tif 000012
【図６Ｃ】
2019117120.tif 000013
【図６Ｄ】
2019117120.tif 000014
【図６Ｅ】
2019117120.tif 000015
【図６Ｆ】
2019117120.tif 000016
【図７】
2019117120.tif 000017