(57)【特許請求の範囲】
【請求項１】
２つの視点画像とカメラパラメータとに基づいて、２つの校正画像を生成する画像校正部と、
前記カメラパラメータに誤差が生じているか否かを判定する判定部と、を備えており、
前記２つの校正画像は、回転ずれと並進ずれのうち、回転ずれのみが校正された画像であり、
前記判定部は、前記２つの校正画像間の並進ずれ量に基づいて、前記カメラパラメータに誤差が生じているか否かを判定する、ことを特徴とする画像処理装置。
【請求項２】
前記カメラパラメータに誤差が生じていると前記判定部が判定した場合には、前記カメラパラメータの誤差に応じた通知を行う、ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定部による判定結果に応じた表示画像を生成する表示画像生成部を更に備えている、ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記判定部は、前記２つの校正画像間の短手方向の並進ずれ量に基づいて、前記カメラパラメータに誤差が生じているか否かを判定する、ことを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
画像処理装置による誤差判定方法であって、
２つの視点画像とカメラパラメータに基づいて、２つの校正画像を生成する画像校正ステップと、
前記２つの校正画像間の並進ずれ量に基づいて、カメラパラメータに誤差が生じているか否かを判定するステップと、を含んでおり、
前記２つの校正画像は、回転ずれと並進ずれのうち、回転ずれのみが校正された画像であることを特徴とする誤差判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、精度の高い三次元計測を可能にするための画像処理を行う画像処理装置、及び、そのような画像処理装置による、三次元計測のために参照されるパラメータの誤差を判定する方法に関する。
【背景技術】
【０００２】
被写体の三次元位置を計測するシステムの一例として、２台のカメラを備えたステレオカメラシステムを用いた三次元計測システムがある。このような計測システムは、上記２台のカメラを通じて撮影された２枚の画像間の対応点を検出することで視差を算出し、三角測量の原理を利用して、上記２台のカメラが捉えた被写体の三次元位置を算出する。ピンホールカメラにモデル化された上記２台のカメラを平行配置したステレオカメラシステムの場合、被写体の三次元位置は、次の式（式１）によって算出することができる。
【０００３】
【数１】
0006599685.tif 000002
【０００４】
ここで、Ｘ、Ｙ、及び、Ｚは、それぞれ、基準カメラ（２台のカメラのうちの一方のカメラ）が設置されている位置を原点とする世界座標系における被写体の位置のＸ座標値、Ｙ座標値、及び、Ｚ座標値を示している。また、ｘ、ｙは基準カメラの撮像センサ上の投影座標、ｆは焦点距離、Ｂはカメラ間基線長、Ｄはカメラ間視差である。
【０００５】
しかしながら、実際には、Ｘ、Ｙ、及び、Ｚの値は、「カメラ固定具への設置誤差、カメラ内部の撮像センサ取り付け位置のずれ、レンズ歪など」の影響による誤差のため、あまり正確な値にはならない。そのため、これらの影響を考慮して上記式の右辺の各パラメータを補正した後に、補正後の各パラメータを用いて上記式による演算を行うことで三次元計測を行うことが一般的である。
【０００６】
上記のような誤差を考慮した場合、世界座標系における任意の点（Ｘｗ、Ｙｗ、Ｚｗ）と、その任意の点が投影される画像座標（ｕ、ｖ）の関係式は、例えば、次の式（式２）のようにモデル化することができる。
【０００７】
【数２】
0006599685.tif 000003
【０００８】
ここで、ｒij（ｉ＝１、２、３、ｊ＝１、２、３）は世界座標系とカメラ座標系との回転変換を示す回転パラメータであり、ｔx、ｔy、ｔzは世界座標系とカメラ座標系との並進パラメータである。これらのパラメータは外部パラメータと呼ばれる。
【０００９】
また、ｋi（ｉ＝１、２、３）およびｐi（ｉ＝１、２）は、カメラのレンズ歪に関するパラメータであり、ｆｘ、ｆｙは２台のカメラの焦点距離であり、ｃｘ、ｃｙは２台のカメラの主点位置であり、これらのパラメータは内部パラメータと呼ばれる。ここで、主点とは、レンズの焦点からレンズに向かって焦点距離だけ移動した位置のことを指している。
【００１０】
これらのパラメータは一般に未知であるが、既知の世界座標系の点（Ｘｗ、Ｙｗ、Ｚｗ）と画像上の投影点（ｕ、ｖ）との間の複数の対応関係を基に、非線形解法などを用いてこれらのパラメータを推定することができる。この推定手法の一例としては非特許文献１に開示されている方法がある。このように、カメラパラメータ（レンズ歪パラメータ、内部パラメータ、外部パラメータ）を推定する処理はキャリブレーションと呼ばれる。レンズ歪パラメータおよび内部パラメータによって、カメラの光学経路に関わる固有のずれ等の影響により生じる誤差を小さくすることで、画像をピンホールカメラモデルとして扱うことができるようになる。
【００１１】
ステレオカメラにおいて、外部パラメータは、共通の世界座標系と各カメラ座標系との並進・回転の関係を示すパラメータであることから、それぞれ推定された外部パラメータに基づき、一方のカメラ座標系から他方のカメラ座標系への並進・回転パラメータが算出できる。カメラ間の並進・回転関係が既知となるため、光軸方向を平行化するように画像を校正することが可能となる。
【００１２】
以上のように２枚の画像を校正・平行化し、２枚の画像間の視差を算出することで、式１に基づいた三次元計測を行うことができる。また、以上のようなステレオカメラによる三次元計測は、校正・平行化した画像に基づいて行われるため、三次元計測の計測精度は、キャリブレーションによって推定されるカメラパラメータの推定精度により変化する。
【００１３】
しかしながら、ステレオカメラによる三次元計測システムの実際の運用を考えた場合、カメラ固定具の経年劣化や振動等の影響を受けることによって、適切なカメラパラメータの値が、キャリブレーションを行った時点のカメラパラメータの値（もしくは、計測システムで利用している（補正後の）カメラパラメータの値）から変化してしまっている可能性がある。
【００１４】
上記の影響を受けた後のある時点において、キャリブレーションを行った時点のカメラパラメータの値（もしくは、計測システムで利用している（補正後の）カメラパラメータの値）に基づいて三次元計測を行った場合、誤った三次元計測結果が算出されてしまうこととなる。そのため、カメラパラメータの値が適切な値ではなくなった（カメラパラメータの値に誤差が生じた）ことを検出し、カメラパラメータの値を正しい値に補正する機能が必要である。
【００１５】
このようなカメラパラメータの値の誤差を低減する技術が特許文献１に開示されている。
【００１６】
特許文献１に記載の校正装置は、まず、ステレオカメラの撮影画像（一方のカメラ画像）の中から、ナンバープレートのように予め大きさが既知である平面状の対象物を認識し、更にその対象物の特徴点座標を検出する。
【００１７】
続いて、一方のカメラ画像の前記特徴点座標が他方のカメラ画像に投影された投影点の座標位置と、他方のカメラ画像における、前記特徴点座標に対応する特徴点の座標位置と、を比較することによって、新たなカメラパラメータを推定する。
【００１８】
最後に、新たなカメラパラメータと元のカメラパラメータを比較することで、カメラパラメータを補正する。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特開２０１４−７４６３２号公報（２０１４年４月２４日公開）
【非特許文献】
【００２０】
【非特許文献１】Ｚ．Ｚｈａｎｇ、“Ａ  Ｆｌｅｘｉｂｌｅ  Ｎｅｗ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｃａｍｅｒａ  Ｃａｌｉｂｒａｔｉｏｎ”、[online]、２００９年１１月５日、[２０１５年５月２７日検索]、インターネット<http://research.microsoft.com/en-us/um/people/zhang/Papers/TR98-71.pdf>
【発明の概要】
【発明が解決しようとする課題】
【００２１】
前述の通り、カメラパラメータの正確さは三次元計測において重要であり、キャリブレーション時に求めた現在のカメラパラメータ（もしくは、その後に補正された現在のカメラパラメータ）の値に振動等の影響による誤差が生じた場合には、正確な三次元計測を行うことができない。そのため、カメラパラメータの値に誤差が生じた場合には、速やかに誤差を低減することが必要である。
【００２２】
しかしながら、特許文献１に記載の校正装置は、ステレオカメラの撮影画像にサイズが既知の対象物が映り込んでいない場合には、カメラパラメータの値の誤差を低減することができない。
【００２３】
そのため、例えば、特許文献１に記載の校正装置およびステレオカメラを含む計測システムを用いて、サイズが未知の対象物である「人物」の三次元位置を計測する場合、以下の２つの条件が重なったときには、「人物」の三次元位置を正確に計測することができない。
（条件１）「人物」の三次元位置を計測するまでにステレオカメラのカメラパラメータの値に誤差が生じた。
（条件２）ステレオカメラの撮影範囲内に、「人物」とともに他の対象物（具体的には、サイズが既知の対象物（例えば、ナンバープレート））が含まれていない。
【００２４】
本発明は、以上の課題を鑑みてなされたものであり、その主な目的は、撮影画像にサイズが既知の対象物が映り込んでいるか否かに関わらず、カメラパラメータの値に誤差が生じたことを検知できる画像処理装置および誤差判定方法を実現することにある。
【課題を解決するための手段】
【００２５】
上記の課題を解決するために、本発明の一態様に係る画像処理装置は、少なくとも２つの視点画像を取得する画像取得部と、並進パラメータと回転パラメータとを含むカメラパラメータに基づいて、２つの前記視点画像から２つの校正画像を生成する画像校正部と、前記カメラパラメータに誤差が生じているか否かを判定する判定部とを備え、前記画像校正部は、前記並進パラメータに応じた、長手方向および短手方向の少なくとも一方の方向の並進ずれが校正されておらず、前記回転パラメータに応じた回転ずれが校正された前記２つの校正画像を生成し、前記判定部は、前記カメラパラメータに基づいて、前記２つの校正画像における、前記少なくとも一方の方向のずれ範囲を算出し、前記２つの校正画像のうちの一方の校正画像における任意の基準点に対する、他方の校正画像における前記基準点に対応する対応点の、前記少なくとも一方の方向のずれ量を算出し、前記ずれ範囲と前記ずれ量を比較することで、前記カメラパラメータに誤差が生じているか否かを判定する。
【００２６】
上記の課題を解決するために、本発明の一態様に係る誤差判定方法は、画像処理装置による誤差判定方法であって、少なくとも２つの視点画像を取得する画像取得ステップと、並進パラメータと回転パラメータとを含むカメラパラメータに基づいて、２つの前記視点画像から２つの校正画像を生成する画像校正ステップと、前記カメラパラメータに誤差が生じているか否かを判定する判定ステップとを含み、前記画像校正ステップにて、前記並進パラメータに応じた、長手方向および短手方向の少なくとも一方の方向の並進ずれが校正されておらず、前記回転パラメータに応じた回転ずれが校正された前記２つの校正画像を生成し、前記判定ステップは、前記カメラパラメータに基づいて、前記２つの校正画像における、長手方向および短手方向の少なくとも一方の方向のずれ範囲を算出するステップと、前記２つの校正画像のうちの一方の校正画像における任意の基準点に対する、他方の校正画像における前記基準点に対応する対応点の、前記少なくとも一方の方向のずれ量を算出するステップと、前記ずれ範囲と前記ずれ量を比較することで、前記カメラパラメータに誤差が生じているか否かを判定するステップとを含んでいる。
【発明の効果】
【００２７】
本発明の一態様に係る画像処理装置及び誤差判定方法は、撮影画像にサイズが既知の対象物が映り込んでいるか否かに関わらず、カメラパラメータの値に誤差が生じたことを検知できる、という効果を奏する。
【図面の簡単な説明】
【００２８】
【図１】第１の実施形態に係る画像処理装置の構成例を示す図である。
【図２】第１の実施形態に係る画像処理装置の処理フローを示す図である。
【図３】回転校正部が生成する生成画像の概念を示す図である。
【図４】カメラパラメータに基づく、ずれ範囲の概念を示す図である。
【図５】第１の実施形態に係る画像処理装置の異なる構成例を示す図である。
【図６】第１の実施形態に係る画像撮像装置の一構成例を示す図である。
【図７】第２の実施形態に係る画像処理装置の構成例を示す図である。
【図８】第２の実施形態に係る画像処理装置の処理フローを示す図である。
【図９】情報提示部に提示される画像の一例を示す図である。
【図１０】第３の実施形態に係る三次元計測処理部の構成例を示す図である。
【図１１】第３の実施形態に係る三次元計測処理部の処理フローを示す図である。
【図１２】第４の実施形態に係る車載システムの構成例を示す図である。
【図１３】第４の実施形態に係る車載システムの処理フローを示す図である。
【図１４】第５の実施形態に係る三次元画像表示システムの構成例を示す図である。
【発明を実施するための形態】
【００２９】
以下、本発明の各実施形態について、図面を参照して説明する。
【００３０】
（第１の実施形態）
本発明の一実施形態に係る画像処理装置の基本的な構成について説明する。図１は、本実施形態に係る画像処理装置の一構成例を示す図である。
【００３１】
（画像処理装置１００の構成）
図１に示すように、画像処理装置１００は、画像取得部１０１、パラメータ取得部１０２、回転校正部１０３、ずれ範囲算出部１０４、及び、ずれ量算出部１０５、及び、判定部１０６を備えている。
【００３２】
画像取得部１０１は、少なくとも２枚の視点画像を取得する。該少なくとも２枚の視点画像は、例えば、ステレオカメラシステムを構成する２台のカメラによって略同時に撮影された２枚の視点画像であってもよい。
【００３３】
パラメータ取得部１０２は、カメラパラメータ等（カメラパラメータ、及び、撮像距離に関するパラメータ）を取得する。
【００３４】
回転校正部１０３は、前記少なくとも２枚の画像をカメラパラメータに基づいて回転補正する。
【００３５】
ずれ範囲算出部１０４は、カメラパラメータに基づき、２枚の画像の並進ずれ範囲を算出する。
【００３６】
ずれ量算出部１０５は、前記少なくとも２枚の画像間の対応点に基づき、並進ずれ量を算出するずれ量算出部１０５と、
判定部１０６は、前記ずれ範囲と前記ずれ量を比較することで、カメラパラメータのずれ判定（カメラパラメータに誤差が生じているか否かの判定）を行う。
【００３７】
なお、前記並進ずれ範囲は、「前記カメラパラメータに基づく三次元測定を一定以上の精度で行うことが可能な前記並進ずれ量の範囲」を示している。
【００３８】
画像処理装置１００の各部の処理は、例えば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）やＤＳＰ（Ｄｉｓｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、などの電子回路によって実装されてもよい。もしくは、画像処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサがプログラムを実行することにより、上記各部の処理を行ってもよい。
【００３９】
（画像処理装置１００の動作）
次に、画像処理装置１００の動作について図２を参照しながら説明する。図２は、画像処理装置１００の処理の流れを示す図である。
【００４０】
ステップＳ１０１において、画像取得部１０１は、複数（２つ以上）の異なる視点から撮影された複数の視点画像を含む多視点画像データを取得する。
【００４１】
画像取得部１０１が取得する多視点画像データとしては、例えば、以下のような多視点画像データが挙げられる。
・ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）やＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）などの撮像素子と、レンズなどの光学部品と、から構成される１つの撮像装置が、平行移動台に乗った状態で平行移動しながら対象物を複数回撮影することによって得る複数の視点画像を含む多視点画像データ
・前記撮像装置を複数具備するように構成した多眼撮像システムが撮影した複数の視点画像を含む多視点画像データ
・１つの撮像素子に対して複数の光学経路を有するように構成されたレンズシステムを取り付けることで多視点画像を撮影できる多眼撮像システムにより撮影された複数の視点画像を含む多視点画像データ
・サイドバイサイドやフレームパッキングなどの多視点画像の保存フォーマットで保存された多視点画像データ
以降では、画像取得部１０１が取得する多視点画像データが、左右に並べて配置した２台のカメラを備えたステレオカメラシステムにより得られる視点画像データである例を挙げながら、画像処理装置１００の動作を説明する。
【００４２】
また、以降では、２台のカメラのうちの左カメラを基準カメラ、２台のカメラのうちの右カメラを参照カメラと呼び、左カメラによって撮影された視点画像のデータを基準画像データ、右カメラによって撮影された視点画像のデータを参照画像データと呼ぶ。また、２台のカメラが並んでいる左右方向を長手方向と呼び、２台のカメラの上下方向を短手方向と呼びながら、画像処理装置１００の動作を説明する。
【００４３】
また、左右方向をＸ軸方向、上下方向をＹ軸方向、前後方向をＺ軸方向として定義づけて説明を行う。ここで、本説明においては、世界座標系の原点および座標軸方向は、基準カメラにおける座標の原点および座標軸系と一致するものとして説明する。
【００４４】
なお、画像取得部１０１が取得する多視点画像データが、上下に並べて配置した２台のカメラを備えたステレオカメラシステムにより得られる視点画像データである場合における、画像処理装置１００の動作については、当業者であれば、以降の説明文における「Ｘ軸方向」を「Ｙ軸方向」と、「Ｙ軸方向」を「Ｘ軸方向」と読み替えることによって、理解できるであろう。
【００４５】
また、画像取得部１０１が取得する多視点画像データが３枚以上の視点画像を含む多視点画像データである場合、画像処理装置１０は、上記３枚以上の視点画像のうちの１つの視点画像のデータを基準画像データとして取扱い、上記３枚以上の視点画像のうちの残りの各視点画像のデータを参照画像データとして取り扱うことによって、以降で説明する動作と同様の動作を行うことが可能である。
【００４６】
画像取得部１０１が取得する基準画像データおよび参照画像データは、予めレンズ歪パラメータと内部パラメータが校正された多視点画像撮影システムにより撮影された校正済みの画像（校正画像）のデータであってもよいし、これらのパラメータが校正されていない多視点画像撮影システムにより撮影された校正前の画像のデータであってもよい。
【００４７】
後者の場合においては、画像取得部１０１または図示していない画像データ処理部が、パラメータ取得部１０２からレンズ歪パラメータと内部パラメータを受け取り、各パラメータに基づいて基準画像データおよび参照画像データに校正処理を施した後、校正後の各画像データを回転校正部１０３に送信するようにしても良い。
【００４８】
なお、例えば、上記画像データ処理部は、レンズ歪パラメータと内部パラメータを校正した画像を利用した画像処理を行う場合においては、前者のような校正済みの画像データを読み込むようにすることで、少ない処理負荷で上記画像処理を行うことができる。
【００４９】
ステップＳ１０２において、パラメータ取得部１０２は、カメラパラメータおよび撮像距離に関するパラメータを読み込む。
【００５０】
前記カメラパラメータは、例えば、カメラキャリブレーションによって算出したカメラパラメータ（レンズ歪パラメータ、内部パラメータ、外部パラメータ）、もしくは、計測システムで利用している（補正後の）カメラパラメータ、等である。
【００５１】
前記撮像距離に関するパラメータは、例えば、焦点位置、被写界深度、画像中心の仮距離（仮に算出した距離）、カメラから被写体までの推定距離、前記カメラキャリブレーションを行った距離、等である。
【００５２】
ここで、画像中心の仮距離とは、〔背景技術〕に記載の三次元計測処理によって算出される、画像中心画素における被写体の距離（Ｚ方向の距離）である。なお、画像中心画素は、画像の中心の１画素であっても良い。あるいは、上記仮距離は、画像中心領域における被写体の距離であってもよい。即ち、上記仮距離は、画像の中心と同じ位置を中心とする所定の領域（例えば、縦５画素ｘ横５画素の画像中心領域）に関する計測結果の平均距離でも良い。
【００５３】
また、「前記カメラキャリブレーションを行った距離」は、例えば、前記カメラキャリブレーションにおいて、キャリブレーション用の参照ボードを設置した際のカメラから参照ボードまでの距離であってもよいし、カメラのピント距離であってもよい。
【００５４】
なお、前記多視点画像データおよび前記カメラパラメータは、特定のフォーマットのファイルに含まれていてもよい。例えば、カメラパラメータは、多視点画像の画像ファイルのヘッダ情報として画像ファイル内に含まれていてもよい。画像処理装置１００は、図示しないデコード部がこのフォーマットのファイルをデコードし、それぞれのデータを画像取得部１０１およびパラメータ取得部１０２が受け取るように構成することができる。
【００５５】
ステップＳ１０３において、回転校正部１０３は、パラメータ取得部１０２からカメラパラメータを受け取り、このカメラパラメータに基づいて、画像取得部１０１から受け取った画像データを校正する。
【００５６】
回転校正部１０３が受け取るカメラパラメータの詳細について説明する。カメラパラメータは、レンズ歪パラメータ、内部パラメータ、外部パラメータに分類することができる。更に、外部パラメータは、回転パラメータと並進パラメータとに分類することができる。回転校正部１０３は、カメラパラメータの内、外部パラメータ、特に、回転パラメータを受け取る。回転パラメータＲ、ＲY、ＲL、ＲRは、次の式（式３）によって示される。
【００５７】
【数３】
0006599685.tif 000004
【００５８】
Ｒは、基準カメラのカメラ座標系における座標（基準カメラ座標）から参照カメラのカメラ座標系における座標（参照カメラ座標）への回転変換行列に相当する。ＲYは、基準カメラのカメラ座標系のＸＹ平面と参照カメラのカメラ座標系のＸＹ平面とを互いに平行にするための回転パラメータであって、参照カメラのカメラ座標系のＸＹ平面をＹ軸方向にαラジアン回転させることを示す。ＲLおよびＲRは、それぞれ基準画像データに対する回転パラメータ、参照画像データに対する回転パラメータである。回転校正前の座標データ（回転校正前の画像上のある位置を示す座標データ）と回転校正後の座標データ（回転校正後の画像上の同じ位置を示す座標データ）との関係を示す式（式４）を以下に示す。
【００５９】
【数４】
0006599685.tif 000005
【００６０】
（ＸL、ＹL、ＺL）は、校正前の基準カメラ座標、（ＸL’、ＹL’、ＺL’）は、校正後の基準カメラ座標、（ＸR、ＹR、ＺR）は、校正前の参照カメラ座標、（ＸR’、ＹR’、ＺR’）は、校正後の参照カメラ座標をそれぞれ示している。回転校正部１０３は、上記の式（式４）を用いて画像変換処理を実行することによって、回転校正した画像を得ることができる。
【００６１】
なお、Ｙ軸方向の回転ずれを無視できる場合、式３においてα＝０となるため、基準カメラ座標値は、（ＸＬ’、ＹＬ’、ＺＬ’）＝（ＸＬ、ＹＬ、ＺＬ）となり、行列計算を省略することができる。
【００６２】
回転校正した画像の概念について、図３に基づいて説明する。
【００６３】
図３の（ａ）は、校正前の基準画像および参照画像の関係を示す一例である。図３の（ｂ）は、従来行われている一般的な平行化処理後の基準画像と参照画像との関係を示す一例である。図３の（ｃ）は、回転校正部１０３によって生成される基準画像と参照画像との関係を示す一例である。
【００６４】
一般的なステレオカメラを用いた計測システムにおいては、画像間のブロックマッチング処理における計算量削減を図るため、図３の（ｂ）に示すように、基準画像と参照画像とに平行化処理を施す。平行化処理後においては、基準画像と参照画像との間の回転ずれおよび並進ずれが校正される。即ち、ステレオカメラシステムが左右に配置された２つのカメラを備えている場合、平行化処理後の２つの画像は、Ｙ軸方向の回転ずれがない状態の２つのカメラであってＸ軸方向に基線長分（距離Ｂだけ）だけ離れている２つのカメラによって撮影された２つの画像に相当する。これにより、視差算出のためのブロックマッチング処理における探索方向はＸ軸方向に限定することができる。
【００６５】
一方、本実施形態においては、回転校正部１０３は、図３の（ｃ）に示すように、回転パラメータのみを校正するので、回転校正部１０３が生成する２つの画像は、Ｙ軸方向の回転ずれがない状態の２つのカメラであって、Ｘ軸方向にＢｘだけ離れ、Ｙ軸方向にＢｙだけ離れた２つのカメラによって撮影された２つの画像に相当する。即ち、回転校正部１０３は、回転パラメータに応じた回転ずれが校正され、並進パラメータに応じたずれ量（Ｂｘ、Ｂｙ）の並進ずれが校正されていない２つの校正画像を生成する。ここで、Ｂｘは上記２つのカメラの長手方向の並進ずれ量（長基線長）を示し、Ｂｙは、上記２つのカメラの短手方向の並進ずれ量（短基線長）を示す。ＢｘおよびＢｙは、並進パラメータ（ｔｘ、ｔｙ、ｔｚ）に基づき、以下の式（式５）によって算出される。
【００６６】
【数５】
0006599685.tif 000006
【００６７】
ステップＳ１０４において、ずれ範囲算出部１０４は、パラメータ取得部１０２から、カメラパラメータと撮像距離に関するパラメータと、を受け取り、これらのパラメータを参照して、２つの画像における並進ずれ範囲を算出する。
【００６８】
ずれ範囲Ｓｘ１＿ｎｅａｒ、Ｓｘ１＿ｆａｒ、Ｓｙ１＿ｎｅａｒ、Ｓｙ１＿ｆａｒ、は、以下の式（式６）によって算出される。
【００６９】
【数６】
0006599685.tif 000007
【００７０】
ここで、ｆは内部パラメータとして算出される焦点距離、Ｌnearは基準撮影範囲の近点距離、Ｌfarは基準撮影範囲の遠点距離、Ｂｘ、Ｂｙは式５によって算出される並進ずれ量である。式６における各パラメータの関係は図４に示す通りである。基準カメラの座標中心１０７から参照カメラの座標中心１０８のＸ軸方向の距離がＢｘ、同Ｙ軸方向の距離がＢｙとなる。基準撮影距離ＬnearおよびＬfarは、基準カメラ座標から、それぞれ基準撮影距離近点１０９、基準撮影距離遠点１１０までのＺ軸方向の距離であって、前記撮像距離に関するパラメータから設定される。以上のように、パラメータの相似関係を利用することで、ずれ範囲Ｓｘ１＿ｎｅａｒ、Ｓｘ１＿ｆａｒ、Ｓｙ１＿ｎｅａｒ、Ｓｙ１＿ｆａｒは算出される。ずれ範囲は、Ｘ軸方向のずれ範囲と、Ｙ軸方向のずれ範囲と、に分解される。Ｓｘ１＿ｎｅａｒからＳｘ１＿ｆａｒまでの範囲がＸ軸方向のずれ範囲、Ｓｙ１＿ｎｅａｒからＳｙ１＿ｆａｒまでの範囲がＹ軸方向のずれ範囲となる。
【００７１】
前述の通り、ＬnearよびＬfarは、前記撮像距離に関するパラメータであって、例えば、被写界深度、画像中心の仮距離（仮に算出した距離）、カメラから被写体までの推定距離、前記カメラキャリブレーション距離の各パラメータが、近点に関するパラメータと遠点に関するパラメータとの２つのパラメータから構成されていてもよい。ずれ範囲算出部１０４は、前記撮像距離に関するパラメータとして、上記の全ての対について、当該対を成す２つのパラメータを読み込んでもよいし、上記のうちの任意の対について、当該対を成す２つのパラメータを読み込んでもよい。
【００７２】
以上の説明においては、近点に関するパラメータと遠点に関するパラメータとの２つのパラメータを読み込む構成について説明したが、例えば、ずれ範囲算出部１０４は、基準撮影距離Ｌ＝Ｌnear＝Ｌfarと見做して、前記撮像距離に関するパラメータ群の中からただ１つのパラメータを読み込むように構成されていてもよい。また、後述するずれ量算出部１０５によって算出されるずれ量Ｓｘ２を用いて、基準撮影距離Ｌ＝Ｓｘとすることもできる。このようにただ１つのパラメータを読み込む場合、ずれ範囲算出部１０４は、式６の代わりに以下の式（式７）を用いて、ずれ範囲の代わりに、ずれ距離を求めてもよい。
【００７３】
【数７】
0006599685.tif 000008
【００７４】
ここで、Ｓｘ１、Ｓｙ１は、ずれ距離である。
【００７５】
ステップＳ１０５において、ずれ量算出部１０５は、回転校正処理が施された基準画像データおよび参照画像データを受け取り、長手方向および短手方向の位置ずれの量を検出し、検出したずれ量を判定部１０６に送る。
【００７６】
ずれ量算出部１０５は、基準画像上の任意の基準点に対する、参照画像上の「当該基準点に対応する対応点」のＸ軸方向およびＹ軸方向のずれ量（Ｓｘ２，Ｓｙ２）を検出する。ここで、Ｓｘ２は画像上のＸ軸方向へのずれ量、Ｓｙ２は画像上のＹ軸方向へのずれ量を示す。すなわち、これらのずれ量は、上下方向の視差量および左右方向の視差量として検出される。ずれ量は、一般的なステレオ画像における視差算出手段と同様に、例えばブロックマッチングを利用した方法で算出される。ブロックマッチングでは、前記基準画像における基準点とその周辺画素からなるテンプレートを生成し、もう一方の参照画像上でマッチング位置の探索を行うことによって、それぞれの方向に対するずれを算出する。マッチングの評価には、例えば、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）やＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）、ＺＮＣＣ（Ｚｅｒｏ−ｍｅａｎ  Ｎｏｒｍａｌｉｚｅｄ  Ｃｒｏｓｓ−Ｃｏｒｒｅｌａｔｉｏｎ）などを利用してもよい。なお、ブロックマッチングにおいては２つの画像間のずれ量が算出される。そのため、前述の式２に基づいて、２つの画像間のずれ量（画像座標系におけるずれ量）をカメラ座標系におけるずれ量に変換する。
【００７７】
ここで、基準点について説明する。任意の基準点は少なくとも１点以上が選択される。例えば、基準画像の中心領域に属し、かつ、基準画像上で予め決められた領域に属する範囲内の、エッジ強度が所定の閾値よりも大きい１以上の点、などが基準点として選択される。なお、エッジ強度は、例えば、Ｓｏｂｅｌフィルタ、Ｐｒｅｗｉｔフィルタ、ＤｏＧ（Ｄｉｆｆｅｒｅｎｃｅ  ｏｆ  Ｇａｕｓｓｉａｎ）の出力値等を利用して算出されてもよい。
【００７８】
任意の基準点の他の指定方法として、例えば、ステレオカメラシステムを備えた画像処理装置１００を固定して使用する場合には、予め撮影された背景画像（背景の像を含み、被写体の像を含まない画像）と、基準画像（当該背景の像の一部と被写体の像とを含む画像）とから定まる特定の領域（２つの画像間の画素値の差分が０ではない領域）内における、エッジ強度が所定の閾値よりも大きい１以上の点を設定することもできる。この方法は、背景がエッジを検出できないような平面であるような画像上の基準点や、全体が被写体の像に覆われるような画像上の基準点を決める場合などに有用である。さらに、このような画像処理装置１００を計測装置として使用する場合には、計測する点を基準点とすることができる。もしくは、画像処理装置１００は、カメラパラメータの誤差を検出する動作をユーザ操作に従って実行する場合には、画像内の特定のマーカーパターン（市松模様や任意の色）を検出し、該マーカーパターンが存在する領域内の任意の点を基準点として利用してもよいし、ユーザによって指定された画像上の任意の点を、基準点として利用してもよい。
【００７９】
任意の基準点として複数点選択した場合は、ずれ量算出部１０５は、複数の基準点の各々について、当該基準点に対する、前述の「当該基準点に対応する対応点」のずれ量を算出してもよい。そして、ずれ量算出部１０５は、算出した複数のずれ量に基づいて、ずれ量の代表値を決定してもよい。例えば、ずれ量算出部１０５は、ずれ量の代表値として、前記複数のずれ量の平均値や中央値などの統計値を利用するようにしても良いし、前記複数のずれ量のうちの、最もエッジ強度の大きい基準点に対する、「当該基準点に対応する対応点」のずれ量を、ずれ量の代表値に決定してもよい。
【００８０】
ここで、画像処理装置１００は、ＬnearおよびＬfarを、カメラからＺ軸方向にＬnearおよびＬfarだけ進んだ位置が画像撮像装置の被写界深度の範囲内に含まれるように、設定することが望ましい。エッジ強度に基づいて基準点を検出すると、基準撮影距離の範囲内の計測点を検出する確率が高まるからである。なお、例えば、全ての基準点におけるエッジ強度が所定の閾値を超えなかった場合、基準点が基準撮影距離の範囲内において検出できなかったと判定し、後段の判定処理を行わないようにしても良い。
【００８１】
また、ステレオカメラシステムを用いた計測システムに画像処理装置１００を利用する場合、ＬnearおよびＬfarの値を、それぞれ、カメラから計測システムが想定する計測範囲の近点までの距離を示す値、および、カメラから該計測範囲の遠点までの距離を示す値とし、任意の計測点を基準点として利用するように画像処理装置１００を構成することもできる。
【００８２】
撮影範囲が限られる場合（例えば、カメラからの距離が１〜５ｍの範囲しか画角内に収まらない場合）においては、Ｌnearの値を１ｍに設定するとともに、Ｌfarの値を５ｍに設定し（即ち、ＬnearおよびＬfarに、それぞれ、カメラから撮影範囲の近点までの距離を示す値、および、カメラから撮影範囲の遠点までの距離を示す値を割り当て）、撮影された被写体上の任意の点を基準点として設定するように構成することもできる。
【００８３】
更には、工場などのライン検査システムに画像処理装置１００を利用する場合、画像内のおける、部品などの動被写体の映り込む範囲が分かるため、ＬnearとＬfarの設定値を限定できる。たとえば、検査システムをラインの４００ｍｍ上方に設置し、ライン上を通過する部品のサイズが１０ｍｍである場合、Ｌnearを３９０ｍｍ、Ｌfarを４００ｍｍのように設定し、部品上の点を基準点として設定するように構成することもできる。
【００８４】
このように、ＬnearおよびＬfarの値を対象物の大きさに応じた値とすることにより、算出されるずれ範囲が実際の対象物の大きさを元にした範囲となる。そのため、このような基準点の設定方法は、カメラパラメータの誤差を小さくすることができる好適な設定方法であると言える。
【００８５】
以上の通り、ステップＳ１０３およびステップＳ１０４によって、カメラパラメータによって推定されるずれ範囲と、回転校正後の２つの撮影画像に関するずれ量と、が算出されることとなる。
【００８６】
ステップＳ１０６において、判定部１０６は、ずれ範囲算出部１０４からずれ範囲を受け取るとともに、ずれ量算出部１０５からずれ量を受け取り、ずれ判定を行う。具体的には、判定部１０６は、以下の各式（式８および式９）に示す判定式に基づいて、ずれ判定を行う。
【００８７】
【数８】
0006599685.tif 000009
【００８８】
【数９】
0006599685.tif 000010
【００８９】
ここで、Ｓｘ１＿ｎｅａｒ、Ｓｘ１＿ｆａｒ、Ｓｙ１＿ｎｅａｒ、及び、Ｓｙ１＿ｆａｒは、ステップＳ１０４において算出されたＸ軸方向およびＹ軸方向のずれ範囲を示す値であり、Ｓｘ２、及び、Ｓｙ２は、ステップＳ１０５において検出されたＸ軸方向およびＹ軸方向のずれ量を示す値であり、ＴＨｘ＿ｆａｒ、ＴＨｘ＿ｎｅａｒ、ＴＨｙ＿ｆａｒ、ＴＨｙ＿ｎｅａｒは、任意の閾値である。
【００９０】
すなわち、基準撮影距離範囲のずれ量（Ｓｘ１＿ｎｅａｒ、Ｓｘ１＿ｆａｒ、Ｓｙ１＿ｎｅａｒ、Ｓｙ１＿ｆａｒ）と任意の閾値（ＴＨｘ＿ｆａｒ、ＴＨｘ＿ｎｅａｒ、ＴＨｙ＿ｆａｒ、ＴＨｙ＿ｎｅａｒ）に基づいて、画像に基づくずれ量Ｓｘ２、Ｓｙ２の判定を行う。なお、任意の閾値（ＴＨｘ＿ｆａｒ、ＴＨｘ＿ｎｅａｒ、ＴＨｙ＿ｆａｒ、ＴＨｙ＿ｎｅａｒ）は、ＴＨｘ＿ｆａｒとＴＨｘ＿ｎｅａｒとが異なり、且つ、ＴＨｙ＿ｆａｒとＴＨｙ＿ｎｅａｒとが異なるように設定しても、ＴＨｘ＿ｆａｒ＝ＴＨｘ＿ｎｅａｒ、ＴＨｙ＿ｆａｒ＝ＴＨｙ＿ｎｅａｒとなるように設定しても良い。
【００９１】
上記の式８および式９の何れも成り立つ場合において、判定部１０６は、「カメラパラメータに誤差が生じていない」と判定する。一方、そうでない場合において、判定部１０６は、「カメラパラメータに誤差が生じている」と判定し、判定結果を示す値を出力する。なお、例えば、「カメラパラメータに誤差が生じていない」との判定結果を示す値はフラグ値０であり、「カメラパラメータがずれている」との判定結果を示す値はフラグ値１であってもよい。フラグ値は、例えば、他の処理部で処理を行うためのバイナリデータとして出力しても良い。
【００９２】
あるいは、判定部１０６は、「カメラパラメータに誤差が生じていない」と判定した場合には電子回路（判定部１０６）の出力電圧のレベルがＨｉｇｈになり、「カメラパラメータに誤差が生じている」と判定した場合には電子回路（判定部１０６）の出力電圧のレベルがＬｏｗとなるように構成されていてもよい。
【００９３】
あるいは、ステップＳ１０６において、判定部１０６は、ずれ範囲算出部１０４から式７によって算出されるずれ距離を受け取った場合においては、以下の各式（式１０および式１１）に示す判定式に基づいて、ずれ判定を行ってもよい。
【００９４】
【数１０】
0006599685.tif 000011
【００９５】
【数１１】
0006599685.tif 000012
【００９６】
ここで、Ｓｘ１及びＳｙ１は、それぞれ、ステップＳ１０４において算出されたＸ軸方向およびＹ軸方向のずれ距離を示す値、Ｓｘ２及びＳｙ２は、それぞれ、ステップＳ１０５において検出されたＸ軸方向およびＹ軸方向のずれ量を示す値である。また、ＴＨｘ＿ｆａｒ、ＴＨｘ＿ｎｅａｒ、ＴＨｙ＿ｆａｒ、ＴＨｙ＿ｎｅａｒは、任意の閾値である。すなわち、式７によって算出されたずれ距離（Ｓｘ１、Ｓｙ１）と任意の閾値（ＴＨｘ＿ｆａｒ、ＴＨｘ＿ｎｅａｒ、ＴＨｙ＿ｆａｒ、ＴＨｙ＿ｎｅａｒ）に基づいて、画像に基づくずれ量Ｓｘ２、Ｓｙ２の判定を行う。
【００９７】
式１０および式１１の何れも成り立つ場合において、判定部１０６は、「カメラパラメータに誤差が生じていない」と判定する。一方、そうでない場合において、判定部１０６は、「カメラパラメータに誤差が生じている」と判定し、判定結果を示す値を出力する。なお、例えば、「カメラパラメータに誤差が生じていない」との判定結果を示す値はフラグ値０であり、「カメラパラメータがずれている」との判定結果を示す値はフラグ値１であってもよい。
【００９８】
ずれ範囲算出部１０４と、ずれ量算出部１０５と、判定部１０６とは、図１に示すように、それぞれ別個の処理部として画像処理装置１００に設けられていてもよいが、図５に示すように、以上の３つの処理部を１つのずれ判定部１１１として構成することもできる。ずれ判定部１１１は、ずれ範囲算出部１０４と同様の処理によってずれ範囲を算出し、当該ずれ範囲についてずれ量算出部１０５と同様にブロックマッチングを行い、ブロックマッチングによって算出される類似度の最大値が所定の値を超えなかった場合において、パラメータがずれていると判定する。
【００９９】
以上の処理によって、画像処理装置１００は、ずれ範囲算出部１０４およびずれ量算出部１０５のずれ算出結果や、判定部１０６のフラグ値を外部に出力することができる。
【０１００】
また、図６に示すように、画像処理装置１００は、画像撮像装置１１２の一部として構成することができる。
【０１０１】
画像撮像装置１１２は、図６に示すように、前記画像処理装置１００と、少なくとも２つの画像を撮像する撮像部１１３と、カメラパラメータや画像処理結果などを保持するデータ保持部１１４と、前記画像処理結果などをユーザに提示する情報提示部１１５と、各ユニット間でやりとりされるデータが通過するデータバス１１６と、を備える。
【０１０２】
撮像部１１３は、複数（２つ以上）の異なる視点から見た様子を示す複数の視野画像を撮像する撮像装置である。撮像部１１３は、例えば、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）やＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）などの撮像素子と、レンズなどの光学部品と、から構成される撮像装置であってもよい。
【０１０３】
この場合、撮像部１１３は、平行移動台に乗った状態で平行移動しながら対象物を複数回撮影してもよい。
【０１０４】
あるいは、撮像部１１３は、前記撮像装置を複数具備するように構成した多眼撮像システムであってもよい。
【０１０５】
あるいは、撮像部１１３は、１つの撮像素子に対して複数の光学経路を有するように構成されたレンズシステムを取り付けることで多視点画像を撮影できる多眼撮像システムであってもよい。
【０１０６】
データ保持部１１４は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（ＳｏｌｉｄＳｔａｔｅ  Ｄｒｉｖｅ）、などの記憶装置によって構成される。
【０１０７】
データ保持部１１４は、画像処理装置１００により読み込まれる、カメラパラメータ、撮像距離に関するパラメータ、画像処理装置１００による画像処理の結果を示すデータ（フラグ値等）、撮像部１１３によって撮影された画像などのデータを保持する。
【０１０８】
情報提示部１１５は、例えば、ＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）などの発光部であって、判定部１０６による判定結果に応じた発光制御を行う発光部である。情報提示部１１５は、例えば、判定部１０６がフラグ値０を出力した場合には発光せず、判定部１０６がフラグ値１を出力した場合には発光することにより、ユーザに判定結果を通知できる。あるいは、情報提示部１１５は、例えば、ＬＣＤ（Ｌｉｇｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）やＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）などの表示部に、前記フラグ値に応じた、テキストや画像による警告メッセージを表示することもできる。また、情報提示部１１５は、例えば、スピーカであって、フラグ値が１の場合（カメラパラメータに誤差が生じている場合）に、警告音を出力することも可能である。
【０１０９】
データバス１１６は、例えば、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）などのコンピュータ用のバスである。もしくは、各ユニットをイーサネット（登録商標）規格に基づいて接続するための電子線である。
【０１１０】
以上のように構成された画像撮像装置１１２は、カメラパラメータに誤差が生じたことを検出し、ユーザに検出結果を提示することができる。なお、画像撮像装置１１２は、ずれ判定処理を必ずしも全ての撮影に対して実施する必要はなく、ユーザによって指定された場合にのみ、ずれ判定処理を実施するようにしても良い。
【０１１１】
また、本実施形態の誤差検出方法では、既知の対象物だけでなく任意の対象物の撮影時において誤差を検出すること、そして選択する基準点を最小限に抑えることができるという効果がある。
【０１１２】
即ち、従来（特許文献１など）の既知の対象物間利用する方法では新たなカメラパラメータを推定するためには、カメラパラメータ推定における未知の変数が８点であるため、２つのカメラ画像間で共通する特徴点を少なくとも４点以上検出しておく必要がある。これに対し、本実施形態の方法では少なくとも１点の基準点を定めるだけで、カメラパラメータの誤差を検出することが可能である。更に、既知の対象物を検出するためには、２つの画像に対して物体認識の処理を施すことが必須となるため、計算量が増大していたが、本実施形態では１つの画像に対して物体認識の処理を施すだけでよく、計算量を抑えることができる。
【０１１３】
（付記事項）
回転校正部１０３は、回転パラメータに応じた回転ずれが校正され、並進パラメータに応じた、長手方向及び短手方向のうちの一方の方向のずれ量の並進ずれが校正され、他方の方向のずれ量（ＢｘまたはＢｙ）が校正されていない２つの校正画像を生成してもよい。
【０１１４】
長手方向のずれ量（Ｂｘ）が校正されていない２つの校正画像が生成された場合、ずれ範囲算出部１０４は、式６を用いてずれ範囲Ｓｘ１＿ｎｅａｒおよびＳｘ１＿ｆａｒを算出し、判定部１０６は、式８の判定式に従って、ずれ判定を行ってもよい。
【０１１５】
あるいは、短手方向のずれ量（Ｂｙ）が校正されていない２つの校正画像が生成された場合、ずれ範囲算出部１０４は、式６を用いてずれ範囲Ｓｙ１＿ｎｅａｒおよびＳｙ１＿ｆａｒを算出し、判定部１０６は、式９の判定式に従って、ずれ判定を行ってもよい。
【０１１６】
（第２の実施形態）
第２の実施形態においては、ステレオカメラシステムによる三次元計測処理に、画像処理装置１００を適用した例について説明する。なお、本実施形態の説明においては、既述の実施形態と共通する各部の詳細な説明は省略する。
【０１１７】
図７は、本実施形態における画像処理装置１００が三次元計測処理部２００を備えた構成例である。
【０１１８】
三次元計測処理部２００は、カメラパラメータを補正するカメラパラメータ補正部２０１と、取得した２つの視野画像を平行化する画像平行化部２０２と、平行化した２つの視野画像に基づき、視差を算出する視差算出部２０３と、算出した視差とカメラパラメータとから計測点の三次元座標を算出する三次元座標算出部２０４と、を備える。
【０１１９】
カメラパラメータ補正部２０１と、画像平行化部２０２と、視差算出部２０３と、三次元座標算出部２０４と、は、例えば、ＦＰＧＡやＤＳＰ、ＧＰＵ、ＡＳＩＣなどの電子回路によって実装されてもよい。もしくは、三次元計測処理部２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサがプログラムを実行することにより、上記各部の処理を行ってもよい。
【０１２０】
（三次元計測処理部２００の動作）
次に、三次元計測処理部２００の動作について図８を参照しながら説明する。図８は、三次元計測処理部２００の処理の流れを示す図である。
【０１２１】
ステップＳ２０１において、カメラパラメータ補正部２０１は、判定部１０６からのフラグ値情報を受け取り、判定処理を行う。フラグ値が０の場合、すなわち、カメラパラメータに誤差が生じていない場合（Ｓ２０１：Ｙｅｓ）、ステップＳ２０２に進む。フラグ値が１の場合、すなわち、カメラパラメータに誤差が生じている場合（Ｓ２０１：Ｎｏ）、ステップＳ２０３に進む。
【０１２２】
ステップＳ２０２において、カメラパラメータ補正部２０１は、パラメータ取得部１０２が取得したカメラパラメータに誤差が生じていないと判断する。図７には示していないデータ保持部から、パラメータ取得部１０２が取得したカメラパラメータをそのまま読み込み、カメラパラメータを画像平行化部２０２に送る。
【０１２３】
ステップＳ２０３において、カメラパラメータ補正部２０１は、カメラパラメータに誤差が生じていると判断し、カメラパラメータを補正する処理を行い、補正したカメラパラメータを画像平行化部２０２に送る。カメラパラメータ補正部２０１は、以下の各式（式１２および式１３）に基づき、Ｘ軸方向の補正量とＹ軸方向の補正量を算出する。
【０１２４】
【数１２】
0006599685.tif 000013
【０１２５】
【数１３】
0006599685.tif 000014
【０１２６】
ここで、ＣｏｒＸおよびＣｏｒＹは、それぞれＸ軸方向のカメラパラメータ補正量、Ｙ軸方向のカメラパラメータ補正量である。なお、その他の変数（前述の式８および式９でも用いられている変数）については既に説明済であるので、ここでは、その他の変数についての説明を省略する。
【０１２７】
カメラパラメータ補正部２０１は、データ保持部１１４から補正前のカメラパラメータを読み込み、パラメータの補正を行う。カメラパラメータ補正部２０１は、例えば、以下の式（式１４）からわかるように、並進パラメータを補正する。
【０１２８】
【数１４】
0006599685.tif 000015
【０１２９】
ここで、（ｔｘ’、ｔｙ’、ｔｚ’）は補正後の並進パラメータであり、（ｔｘ、ｔｙ、ｔｘ）は補正前の並進パラメータである。
【０１３０】
カメラパラメータ補正部２０１は、補正後のカメラパラメータと、補正量（補正前の並進パラメータのＸ成分値ｔｘからの補正量であるＣｏｒＸ、及び、補正前の並進パラメータのＹ成分値ｔｙからの補正量であるＣｏｒＹ）をデータ保持部１１４に保存する。
【０１３１】
カメラパラメータ補正部２０１は、例えば、補正前のカメラパラメータを補正後のカメラパラメータで上書きしても良いし、補正後のカメラパラメータを、補正前のカメラパラメータとは別に保存するようにしても良い。カメラパラメータ補正部２０１は、カメラパラメータを上書き保存する場合、補正量（ＣｏｒＸ、ＣｏｒＹ）の累計量を保存することで、初期のカメラパラメータからの累積のずれ量を確認することができる。
【０１３２】
また、カメラパラメータ補正部２０１は、補正回数を示す値をデータ保持部１１４に記憶しても良い。即ち、カメラパラメータ補正部２０１は、カメラパラメータが補正されるごとに補正回数を示す値をインクリメントすることにより、カメラパラメータが補正された回数を示す値を保持してもよい。
【０１３３】
なお、カメラキャリブレーションが再度実施された場合（即ち、カメラパラメータが最新のパラメータに更新された場合）には、カメラパラメータ補正部２０１は、累積ずれ量を示す値、および、補正回数を示す値を０にリセットしてもよい。累積ずれ量を示す値や補正回数を示す値は、情報提示部１１５を介して、ユーザに提示されてもよい。これにより、ユーザは、提示された情報を通じて、再キャリブレーションの必要性の有無や、補正後のカメラパラメータによって算出された三次元計測結果の信頼性を判断できる。
【０１３４】
ステップＳ２０４において、画像平行化部２０２は、画像取得部１０１から基準画像データおよび参照画像データを受け取るとともに、カメラパラメータ補正部２０１からカメラパラメータを受け取り、カメラパラメータと基準画像と参照画像とから、２枚の平行化画像を生成する。２枚の平行化画像とは、図３の（ｂ）に示したような、互いに平行化された基準画像および参照画像からなる２枚の画像である。
【０１３５】
ステップＳ２０５において、視差算出部２０３は、三次元計測を行う計測点が設定する。視差算出部２０３は、例えば、基準画像における、参照画像に対応点が存在するような全ての画素からなる範囲（特定範囲）内の全ての点、上記特定範囲内のエッジとして検出される複数の点、上記基準画像における、上記基準画像内に被写体として映っているマーカーを指し示す点などを、計測点として自動的に設定してもよい。
【０１３６】
もしくは、三次元計測処理部２００がユーザ指定部（図示せず）を備え、ユーザ指定部が、ユーザが指定した任意の点を計測点に設定してもよい。
【０１３７】
ステップＳ２０６において、視差算出部２０３は、上記選択された計測点の視差を算出する。視差は例えば、ブロックマッチングによって、算出される。
【０１３８】
ステップＳ２０７において、三次元座標算出部２０４は、各計測点の三次元座標を前述の式１に基づいて算出する。ここで算出される三次元座標は、カメラ座標系に基づく三次元座標である。ただし、三次元座標算出部２０４は、カメラ座標系から他の座標系への座標変換行列を用いることで、カメラ座標系に基づく三次元座標を、他の座標系の三次元計測値に変換することができる。
【０１３９】
また、三次元座標算出部２０４は、他の計測結果と比較するために、計測した三次元計測値は、データ保持部１１４に保持してもよい。ユーザが、２つの計測点間の距離や対象物の体積を求めたり、対象物に関する現在の計測結果と、当該対象物に関する過去の計測結果とを比較したりすることができるからである。
【０１４０】
以上の処理によって、三次元計測処理部２００は、各計測点の三次元座標を得ることができる。三次元計測処理部２００は、算出した三次元座標およびカメラパラメータの補正情報を、例えば、図９に示すように、情報提示部１１５に表示する。なお、この場合における情報提示部１１５は、ＬＣＤ、ＯＬＥＤなどのディスプレイ装置である。
【０１４１】
情報提示部１１５に表示される画像２０５には、撮影画像領域２０６と、計測結果表示領域２０７と、カメラパラメータ警告領域２０８とが、含まれている。なお、図９の例は、三次元計測処理部２００が、撮影画像領域２０６と、計測結果表示領域２０７と、カメラパラメータ警告領域２０８を、異なる位置に表示する例を示しているが、三次元計測処理部２００は、撮影画像領域２０６に対して、計測結果表示領域２０７と、カメラパラメータ警告領域２０８とを重畳して表示するようにしても良い。
【０１４２】
三次元計測処理部２００は、撮影画像領域２０６に、任意の計測対象２０９が映っている画像を表示する。
【０１４３】
三次元計測処理部２００は、計測結果表示領域２０７に、任意の計測対象２０９の領域のうち計測点となった位置を示す三次元位置情報を表示する。例えば、三次元計測処理部２００は、計測結果表示領域２０７に、カメラから任意の計測対象２０９までの距離を示す情報を表示する。
【０１４４】
三次元計測処理部２００は、カメラパラメータ警告領域２０８に、ステップＳ２０３においてデータ保持部１１４に保存した、補正回数や累積ずれ量等の情報を表示する。
【０１４５】
三次元計測処理部２００は、補正回数や累積ずれ量を示す数値ではなく、補正回数や累積ずれ量に応じた図形（警告マークなどの図形など）を表示してもよい。例えば、三次元計測処理部２００は、補正回数及び／又は累積ずれ量が所定の閾値以上である場合、上記図形を点滅表示（強調表示）してもよい。これにより、ユーザへの注意喚起が成される。
【０１４６】
なお、カメラパラメータ警告領域２０８は、補正回数が０の場合においては、カメラパラメータ警告領域２０８を表示しないようにしてもよい。
【０１４７】
以上の構成によって、三次元計測処理部２００は、カメラパラメータに誤差が生じている場合において、補正した（誤差が低減された）カメラパラメータを用いて計測した三次元計測結果を表示するとともに、カメラパラメータを補正した旨を示す情報をユーザに提示することができる。
【０１４８】
（第３の実施形態）
第１および第２の実施形態に係る画像処理装置１００は、カメラパラメータに誤差が生じていないにも関わらずカメラパラメータのずれ判定処理を行うケースがあり、これらの画像処理装置１００には、無駄な処理の量を削減する余地が残っている。
【０１４９】
第３の実施形態に係る画像処理装置１００は、カメラパラメータのずれ判定処理を実行すべきタイミングを自動で判定して、そのようなタイミングにおいてずれ判定処理を行うようになっている。なお、本実施形態の説明においては、既述の実施形態と共通する各部の詳細な説明は省略する。
【０１５０】
図１０は、本実施形態に係る画像処理装置が備える三次元計測処理部３００の一例である。なお、図１０には示していないが、本実施形態に係る画像処理装置は、実施形態２に係る画像処理装置が備える各部を備えている。
【０１５１】
三次元計測処理部３００は、第２の実施形態に係る三次元計測処理部２００と同様に、カメラパラメータ補正部２０１と、画像平行化部２０２と、視差算出部２０３と、三次元座標算出部２０４と、を備えるとともに、新たに異常値判定部３０１を備えるように構成されている。
【０１５２】
（三次元計測処理部３００の動作）
次に、三次元計測処理部３００の動作について図１１を参照しながら説明する。図１１は、三次元計測処理部３００の処理の流れを示す図である。
【０１５３】
ステップＳ３０１において、三次元計測処理部３００は、第２の実施形態と同様の工程（Ｓ２０１〜Ｓ２０７）を実行することによって、三次元座標を算出し、算出した三次元座標値を異常値判定部３０１に送る。
【０１５４】
ステップＳ３０２において、異常値判定部３０１は、三次元座標算出部２０４から受け取った計測結果を示す値と、データ保持部１１４に記録されている過去の計測結果とを参照し、異常値判定を行う。異常値判定とは、三次元座標算出部２０４から受け取った計測結果を示す値（測定点の三次元座標値）が異常値であるか否かの判定を意味している。
【０１５５】
または、予め形状の分かっている被写体を撮影する場合においては、上記被写体のＣＡＤ（Ｃｏｎｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）データなどの正解データを受け取り、三次元座標算出部２０４から受け取った計測結果と正解データとを比較するように、異常値判定をおこなってもよい。
【０１５６】
例えば、本実施形態に係る画像処理装置が、工場のライン検査に用いられる場合であって、ラインを流れてくるパーツのサイズなどが既知である場合、異常値判定部３０１は、当該の既知のサイズと、計測結果が示すサイズと、の差分値を算出し、その差分値が閾値以上になる場合において、異常値判定フラグをＯＮとしてもよい。あるいは、異常値判定部３０１は、パーツの既知の設置傾きと当該パーツの計測結果が示す設置傾きとの差分値を算出し、その差分値が閾値以上になる場合において、異常値判定フラグをＯＮとするように構成してもよい。
【０１５７】
一方、異常値判定部３０１は、計測結果を示す値が異常値でない場合（差分値が閾値を超えない場合）には、異常値フラグをＯＦＦとしてもよい。
【０１５８】
ステップＳ３０３において、異常値判定部３０１は、異常値判定フラグがＯＮであるか否かを判定する。異常値判定部３０１は、異常値判定フラグがＯＮであると判定した場合（Ｓ３０３：Ｙｅｓ）、ステップＳ３０４に進む。異常値判定部３０１は、異常値判定フラグがＯＦＦであると判定した場合（Ｓ３０３：Ｎｏ）、Ｓ３０６に進む。なお、異常値判定部３０１は、異常値判定がＯＮであると判定した場合、異常値判定回数を示す値として“１”をデータ保持部１１４に保持しておく。
【０１５９】
ステップＳ３０４において、異常値判定部３０１は、異常値判定フラグがＯＦＦであると判定するか、異常値判定フラグがＯＮであるとの判定回数が所定の回数を超えるまで、判定異常値判定の繰り返し判定を行う。なお、異常値判定部３０１は、異常値判定フラグがＯＮであると判定する度に、データ保持部１１４に記録されている、異常値判定回数を示す値をインクリメントする。
【０１６０】
異常値判定部３０１は、上記判定回数が所定の回数を超えた場合（Ｓ３０４：Ｙｅｓ）においては、カメラパラメータの誤差が補正できないほどの大きさになっていると判断し、情報提示部１１５にエラーメッセージを出力する（ステップＳ３０７）。上記判定回数が所定の回数を超える前に異常値判定フラグがＯＦＦであると判定した場合（Ｓ３０４：Ｎｏ）、ステップＳ３０５に進む。
【０１６１】
ステップＳ３０５において、画像処理装置１００は、第１の実施形態と同様の工程（Ｓ１０２〜Ｓ１０５）を実行することによって、カメラパラメータのずれ判定処理を行う。
【０１６２】
以上のように、異常値判定部３０１は、計測結果の値として異常値が検出された場合にのみ、ずれ判定処理を行うことになる。
【０１６３】
ステップＳ３０６において、第２の実施形態と同様に、計測結果を情報提示部１１５に表示する。
【０１６４】
以上で説明した本実施形態に係る画像処理装置は、カメラパラメータの誤差の判定を、計測結果を受けて実行するようになっている。そのため、本実施形態に係る画像処理装置は、実施形態１、２に係る画像処理装置と比べて、カメラパラメータに誤差が生じていないときの処理量が低減されていると言える。
【０１６５】
（第４の実施形態）
第４の実施形態においては、画像処理装置１００を車載システムに応用した一例について説明する。なお、本実施形態の説明においては、既述の実施形態と共通する各部の詳細な説明は省略する。
【０１６６】
本実施形態に係る車載システム４０１は、図１２に示すように、車両４００の前方もしくは後方を撮影するためのステレオカメラ４０２と、各種制御処理を行う制御部４０３と、車両の制動を行う制動部４０４と、各種情報を提示できるマルチメディアユニット４０５と、を備える。なお、図１２には示していないが、本実施形態に係る車載システム４０１は、実施形態２に係る画像処理装置が備える各部を備えている。
【０１６７】
本実施形態に係る車載システム４０１は、ステレオカメラ４０２が捉えた対象物（車両４００の前方もしくは後方の他車両、人物、構造物等）と車両４００との距離に基づいて、ブレーキ制御を行うシステム（衝突防止システム）である。車載システム４０１は、カメラパラメータの誤差に関する情報をユーザに提示するようになっている。
【０１６８】
ステレオカメラ４０２は、実施形態１に係る画像処理装置１００の各部の処理を実行するように構成されている。即ち、ステレオカメラ４０２は、上記各部の処理を実行するプログラムが組み込まれた組み込み機器である。
【０１６９】
制御部４０３は、ＦＰＧＡやＣＰＵ等の各種処理装置によって構成され、車載システム４０１の全体のシステム制御を行う。
【０１７０】
制動部４０４は、例えば、油圧式ブレーキ装置であって、制御部４０３からの指示に応じて、車両速度を減少させるように制動動作を行う。
【０１７１】
マルチメディアユニット４０５は、例えば、カーナビゲーションシステムなどであって、ＬＣＤやＯＬＥＤなどのディスプレイ装置と、スピーカシステムなどの音声提示装置を有する。
【０１７２】
（車載システム４０１の動作）
次に、車載システム４０１の動作について図１３を参照しながら説明する。図１３は、車載システム４０１の処理の流れを示す図である。
【０１７３】
ステップＳ４０１において、ステレオカメラ４０２は、前述の実施形態２に係る画像処理装置１００と同様の処理によって、計測点の三次元座標値とカメラパラメータのずれ判定に関する情報を算出する。なお、本実施形態においては、例えば、ステレオカメラ４０２によって撮影された基準画像における、第２の実施形態で説明した特定範囲内の複数のエッジ点（計測対象物と背景との境界に対応する点）を、計測点として利用する。また、ステレオカメラ４０２は、算出したエッジ上の各計測点の三次元座標値のうち、一部の計測点の三次元座標値（例えば、Ｓｍｉｒｎｏｖ−Ｇｒｕｂｂｓ検定などによって外れ値と判断された三次元座標値）を除く、残りの計測点の三次元座標値をデータ保持部１１４に保存する。また、ステレオカメラ４０２は、上記残りの計測点の各々について、当該計測点までの距離を示す距離データを、当該測定点のデータとして、データ保持部１１４に保存する。
【０１７４】
ステップＳ４０２において、制御部４０３は、データ保持部１１４に保持されたカメラパラメータに基づくフラグ値が０であるか否かを判定する。制御部４０３は、フラグ値が１であると判定した場合（カメラパラメータに誤差が生じている場合、Ｓ４０２：Ｙｅｓ）にはステップＳ４０３に進み、フラグ値が０で有ると判定した場合（カメラパラメータがずれていない場合、Ｓ４０２：Ｎｏ）にはステップＳ４０４に進む。
【０１７５】
ステップＳ４０３において、制御部４０３は、ステップＳ４０１において距離算出された計測点のデータのうちの、車両４００に最も距離が近い計測点までの距離を示す距離データを参照し、当該距離と所定の距離閾値Ａとの比較を行う。
【０１７６】
制御部４０３は、最も距離が近い計測点までの距離が所定の距離閾値Ａよりも小さい場合（Ｓ４０３：Ｙｅｓ）、ステップＳ４０６に進む。制御部４０３は、そうでない場合（Ｓ４０３：Ｎｏ）、ステップＳ４０５に進む。
【０１７７】
ステップＳ４０４において、制御部４０３は、ステップＳ４０１において距離算出された計測点のデータのうちの、車両４００に最も距離が近い計測点までの距離を示す距離データを参照し、当該距離と、所定の距離閾値Ｂとの比較を行う。
【０１７８】
制御部４０３は、最も距離が近い計測点までの距離が所定の距離閾値Ｂよりも小さい場合（Ｓ４０４：Ｙｅｓ）、ステップＳ４０６に進む。制御部４０３は、そうでない場合（Ｓ４０４：Ｎｏ）、ステップＳ４０５に進む。
【０１７９】
ステップＳ４０５において、制動部４０４は、ブレーキ制御を行わないことを決定する。
【０１８０】
ステップＳ４０６において、制動部４０４は、制御部４０３からのブレーキ指示に従ってブレーキ制御を行う。
【０１８１】
ここで、ステップＳ４０３およびステップＳ４０４における距離閾値Ａと距離閾値Ｂは、Ａ≧Ｂの関係となるように設定される。カメラパラメータに誤差が生じた場合、計測点までの距離の測定値が実際の距離値よりも大きくなってしまう可能性があるため、上記のように、カメラパラメータに誤差が生じた場合に参照する距離閾値Ａを、そうでない場合に参照する距離閾値Ｂよりも大きい値に設定する。
【０１８２】
なお、距離閾値Ａと距離閾値Ｂとを等しい値に設定してもよい。この場合においては、制御部４０３は、カメラパラメータに誤差が生じていることが検出されたときは、カメラパラメータに誤差が生じていることが検出されていないときよりも、強い制動をかけるように、制動部４０４に指示してもよい。
【０１８３】
また、制御部４０３は、カメラパラメータに誤差が生じた場合には、マルチメディアユニット４０５の表示装置に対して、カメラパラメータに誤差が生じたことを示す警告を提示してもよい。また、制御部４０３は、マルチメディアユニット４０５のスピーカシステムを介して、ユーザに音声で警告してもよい。あるいは、制御部４０３は、ステレオカメラ４０１の筺体につけられたＬＥＤを点滅させることで、ユーザに警告を提示するように構成することもできる。
【０１８４】
制御部４０３は、これらの警告を常時提示してもよいが、例えば、エンジン始動直後における、車載システム４０１への通電が開始された時点にのみ、これらの警告を提示してもよい。あるいは、車両４００がオートマティックトランスミッション車両である場合、シフトレバーが「パーキング」を指し示す位置から他の位置に変更された時点などに、警告を提示してもよい。
【０１８５】
なお、以上の説明において、画像処理装置１００の各種処理をステレオカメラ４０２が実行するものとしたが、画像処理装置１００の各種処理を制御部４０３が実行するようにしてもよい。
【０１８６】
（第５の実施形態）
第５の実施形態においては、三次元画像表示システムの一例について説明する。なお、本実施形態の説明においては、既述の実施形態と共通する各部の詳細な説明は省略する。
【０１８７】
本実施形態に係る画像処理装置５００の構成例を図１４に示す。画像処理装置５００は、第１の実施形態における画像処理装置１００と同様に、画像取得部１０１と、パラメータ取得部１０２と、回転校正部１０３と、ずれ範囲算出部１０４と、ずれ量算出部１０５と、判定部１０６と、を備え、画像平行化部５０１と、表示画像生成部５０２と、を更に備える。また、画像処理装置５００は、データバス１１６を介して、外部の表示装置（表示部５０３）と接続される。
【０１８８】
表示部５０３は、以下の（ａ）〜（ｃ）に例示される表示装置である。
（ａ）アナグリフ、偏光メガネ、液晶シャッターメガネなどによって、三次元画像として表示できるメガネ式の三次元表示装置
（ｂ）パララックスバリア方式やレンチキュラー方式などの裸眼式の三次元表示装置
（ｃ）左右の目に異なる映像を提示することができるヘッドマウントディスプレイ装置
画像平行化部５０１は、画像取得部１０１から基準画像データおよび参照画像データを受け取るとともに、パラメータ取得部１０２からカメラパラメータを受け取る。画像平行化部５０１は、カメラパラメータと基準画像と参照画像とから、２枚の平行化画像を生成する。２枚の平行化画像とは、図３の（ｂ）に示したような、互いに平行化された基準画像および参照画像からなる２枚の画像である。
【０１８９】
表示画像生成部５０２は、画像平行化部５０１から２枚の平行化画像を受け取るとともに、判定部１０６からフラグ値を受け取り、２枚の平行化画像とフラグ値とを用いて、表示部５０３に表示するための三次元画像を生成する。
【０１９０】
判定部１０６から受け取ったフラグ値が０の場合、すなわち、「カメラパラメータに誤差が生じていない」と判定された場合、表示画像生成部５０２は、平行化された基準画像データのデータと平行化された参照画像のデータとの組を、表示部５０３で表示するための三次元画像フォーマットのデータに変換し、変換後のデータを表示部５０３に送る。
【０１９１】
一方、判定部１０６から受け取ったフラグ値が１の場合、すなわち、「カメラパラメータに誤差が生じている」と判定された場合、表示画像生成部５０２は、平行化された基準画像のデータもしくは平行化された参照画像のデータのいずれかのデータを複製する。そして、表示画像生成部５０２は、同じ内容の２つの画像（基準画像又は参照画像）のデータの組を、表示部５０３で表示するための三次元画像フォーマットに変換し、変換後のデータを表示部５０３に送る。このため、表示部５０３に表示される画像は、実質的に二次元画像となる。
【０１９２】
以上の構成によって、本実施形態に係る三次元画像表示システムは、カメラパラメータに誤差が生じていない場合には三次元表示を行い、カメラパラメータに誤差が生じている場合には二次元表示を行うことができる。
【０１９３】
＜第１乃至第５の実施形態について＞
上記の各実施形態において、添付図面に図示されている構成等については、あくまで一例であり、本発明は、これらに限定されるものではない。各実施形態の構成は、本発明の効果を発揮する範囲内で適宜変更することが可能である。その他、本発明の目的の範囲を逸脱しない限りにおいて各実施形態の構成を適宜変更して実施することが可能である。
【０１９４】
〔ソフトウェアによる実現例〕
画像処理装置１００の制御ブロック（特に画像取得部１０１、パラメータ取得部１０２、回転校正部１０３、ずれ範囲算出部１０４、ずれ量算出部１０５、判定部１０６、情報提示部１１５、カメラパラメータ補正部２０１、視差算出部２０３、及び、三次元座標算出部２０４）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０１９５】
後者の場合、画像処理装置１００は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１９６】
〔まとめ〕
本発明の態様１に係る画像処理装置（画像処理装置１００、画像撮像装置１１２）は、少なくとも２つの視点画像（基準画像、参照画像）を取得する画像取得部と、並進パラメータと回転パラメータとを含むカメラパラメータに基づいて、２つの前記視点画像から２つの校正画像を生成する画像校正部（回転校正部１０３）と、前記カメラパラメータに誤差が生じているか否かを判定する判定部（判定部１０６）とを備え、前記画像校正部は、前記並進パラメータに応じた、長手方向および短手方向の少なくとも一方の方向の並進ずれが校正されておらず、前記回転パラメータに応じた回転ずれが校正された前記２つの校正画像を生成し、前記判定部は、前記カメラパラメータに基づいて、前記２つの校正画像における、前記少なくとも一方の方向のずれ範囲を算出し、前記２つの校正画像のうちの一方の校正画像における任意の基準点に対する、他方の校正画像における前記基準点に対応する対応点の、前記少なくとも一方の方向のずれ量を算出し、前記ずれ範囲と前記ずれ量を比較することで、前記カメラパラメータに誤差が生じているか否かを判定する。
【０１９７】
上記の構成によれば、前記画像処理装置は、撮影画像（視点画像）にサイズが既知の対象物が映り込んでいるか否かに関わらず、カメラパラメータの値に誤差が生じたことを検知できる、という効果を奏する。
【０１９８】
本発明の態様２に係る画像処理装置（画像撮像装置１１２）は、前記態様１において、前記判定部による判定結果を示す情報を提示する情報提示部（情報提示部１１５）を備えていてもよい。
【０１９９】
上記の構成によれば、前記画像処理装置は、カメラパラメータの値に誤差が生じているか否かをユーザに認識させることができる、という更なる効果を奏する。
【０２００】
本発明の態様３に係る画像処理装置（画像処理装置１００）は、前記態様１または２において、前記カメラパラメータに誤差が生じていると前記判定部が判定した場合に、前記ずれ範囲と前記ずれ量に基づいて前記並進パラメータの補正量を算出するパラメータ更新処理部（カメラパラメータ補正部２０１）を備え、前記パラメータ更新処理部は、前記補正量の補正を前記並進パラメータに施すようになっていてもよい。
【０２０１】
上記の構成によれば、前記画像処理装置は、カメラパラメータに誤差が生じている場合に、カメラパラメータの誤差を自動的に低減することができる、という更なる効果を奏する。
【０２０２】
本発明の態様４に係る画像処理装置（画像処理装置１００）は、前記態様１から３のいずれかの態様において、前記２つの校正画像間の視差を算出する視差算出部（視差算出部２０３）と、前記視差算出部による算出結果に基づき、測定点の三次元座標値を算出する三次元座標値算出部（三次元座標算出部２０４）と、を更に備え、前記判定部は、前記三次元座標値が異常値であるか否かを判定し、前記三次元座標値が異常値であると判定した場合に、前記カメラパラメータに誤差が生じているか否かの判定を行ってもよい。
【０２０３】
上記の構成によれば、前記画像処理装置が前記カメラパラメータに誤差が生じているか否かの判定を行うのは、前記三次元座標値が異常値であると前記画像処理装置が判定した場合である。
【０２０４】
即ち、前記画像処理装置は、前記カメラパラメータに誤差が生じている可能性が高い場合に、前記カメラパラメータに誤差が生じているか否かの判定を行う。
【０２０５】
従って、前記画像処理装置には、前記カメラパラメータに誤差が生じているか否かを判定する処理（負荷のかかる処理）を無駄に実行しない、という更なる利点がある、と言える。
【０２０６】
本発明の態様５に係る誤差判定方法は、画像処理装置による誤差判定方法であって、少なくとも２つの視点画像を取得する画像取得ステップと、並進パラメータと回転パラメータとを含むカメラパラメータに基づいて、２つの前記視点画像から２つの校正画像を生成する画像校正ステップと、前記カメラパラメータに誤差が生じているか否かを判定する判定ステップとを含み、前記画像校正ステップにて、前記並進パラメータに応じた、長手方向および短手方向の少なくとも一方の方向の並進ずれが校正されておらず、前記回転パラメータに応じた回転ずれが校正された前記２つの校正画像を生成し、前記判定ステップは、前記カメラパラメータに基づいて、前記２つの校正画像における、長手方向および短手方向の少なくとも一方の方向のずれ範囲を算出するステップと、前記２つの校正画像のうちの一方の校正画像における任意の基準点に対する、他方の校正画像における前記基準点に対応する対応点の、前記少なくとも一方の方向のずれ量を算出するステップと、前記ずれ範囲と前記ずれ量を比較することで、前記カメラパラメータに誤差が生じているか否かを判定するステップとを含んでいる。
【０２０７】
上記の構成によれば、上記態様５に係る誤差判定方法は、上記態様１に係る画像処理装置と同様の作用効果を奏する。
【符号の説明】
【０２０８】
１００      画像処理装置
１０１        画像取得部
１０３        回転校正部（画像校正部）
１０６        判定部
１１２      画像撮像装置（画像処理装置）
１１５        情報提示部
２００        三次元計測処理部
２０１          カメラパラメータ補正部（パラメータ更新処理部）
２０３          視差算出部
２０４          三次元座標算出部（三次元座標値算出部）
【図１】
0006599685.tif 000016
【図２】
0006599685.tif 000017
【図３】
0006599685.tif 000018
【図４】
0006599685.tif 000019
【図５】
0006599685.tif 000020
【図６】
0006599685.tif 000021
【図７】
0006599685.tif 000022
【図８】
0006599685.tif 000023
【図９】
0006599685.tif 000024
【図１０】
0006599685.tif 000025
【図１１】
0006599685.tif 000026
【図１２】
0006599685.tif 000027
【図１３】
0006599685.tif 000028
【図１４】
0006599685.tif 000029