(57)【要約】【課題】チェッカーパタンの交点の検出精度を向上することができる交点検出装置を提供する。【解決手段】交点検出装置１０１は、メモリ１０３と、撮影画像のうちの少なくとも一部の画像を矩形画像としてメモリ１０３から読み出し、その矩形画像に映し出された、チェッカーパタンにおける２つの境界線の交点を検出する交点検出部１０６とを備え、交点検出部１０６は、２次元画像座標を変数とする関数モデルによって表現される各画素値と、矩形画像の各画素値との差分に基づく評価値を最適化するための、関数モデルの複数のパラメータを決定し、決定された複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、交点をサブピクセル精度で検出し、上述の関数モデルは、黒領域と白領域との境界にある２次元座標系上の各位置の画素値を、少なくとも１回微分可能な曲面で表す。【選択図】図１
2018088228.tif 000002
【特許請求の範囲】
【請求項１】
チェッカーパタンの撮影によって得られた撮影画像を保持するメモリと、
前記撮影画像のうちの少なくとも一部の画像を処理対象画像として前記メモリから読み出し、前記処理対象画像に映し出された、前記チェッカーパタンにおける２つの境界線の交点を検出するプロセッサとを備え、
前記２つの境界線はそれぞれ、前記処理対象画像における、第１の画素値を有する複数の画素からなる第１の領域と、前記第１の画素値よりも大きい第２の画素値を有する複数の画素からなる第２の領域との境界線であり、
前記プロセッサは、
２次元画像座標を変数とする関数モデルによって表現される各画素値と、前記処理対象画像の各画素値との差分に基づく評価値を最適化するための、前記関数モデルの複数のパラメータを決定し、
決定された前記複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、前記処理対象画像内にある前記２つの境界線の交点をサブピクセル精度で検出し、
前記関数モデルは、
２次元座標系上において前記第１の領域と前記第２の領域とを表し、かつ、前記第１の領域と前記第２の領域との境界にある前記２次元座標系上の各位置の画素値を、少なくとも１回微分可能な曲面で表す
交点検出装置。
【請求項２】
前記関数モデルは、２次元に拡張されたロジスティック関数からなる
請求項１に記載の交点検出装置。
【請求項３】
前記関数モデルの複数のパラメータは、
角度θおよびφと、画素値ａおよびｄと、距離ｂおよびｃと、像のぼけ具合σとからなり、
前記関数モデルは、
ｘ軸およびｙ軸からなる前記２次元座標系上の前記２つの直線である、（ｘｃｏｓθ＋ｙｓｉｎθ＋ｂ）＝０および（ｘｓｉｎφ−ｙｃｏｓφ＋ｃ）＝０を用いて、
前記２次元座標系上の位置（ｘ，ｙ）における画素値Ｍ（ｘ，ｙ）を、
【数１】
2018088228.tif 000014
によって表す
請求項２に記載の交点検出装置。
【請求項４】
チェッカーパタンの撮影によって得られた撮影画像を保持するメモリと、
前記撮影画像のうちの少なくとも一部の画像を処理対象画像として前記メモリから読み出し、前記処理対象画像に映し出された、前記チェッカーパタンにおける２つの境界線の交点を検出するプロセッサとを備え、
前記２つの境界線はそれぞれ、前記処理対象画像における、第１の画素値を有する複数の画素からなる第１の領域と、前記第１の画素値よりも大きい第２の画素値を有する複数の画素からなる第２の領域との境界線であり、
前記プロセッサは、
数値モデルによって表現される各画素値と、前記処理対象画像の各画素値との差分に基づく評価値を最適化するための、前記数値モデルの複数のパラメータを決定し、
決定された前記複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、前記処理対象画像内にある前記２つの境界線の交点をサブピクセル精度で検出し、
前記数値モデルは、
直線によって分割される画素内の各領域に画素値を与え、前記画素全体の画素値を決定することによって、ステップエッジ撮影時の画素の積分効果を模擬的に表すモデルである
交点検出装置。
【請求項５】
前記プロセッサは、
前記数値モデルの複数のパラメータの決定では、
画素に対してオーバーサンプリングを行うことによって複数のサブピクセルを生成し、
前記複数のパラメータによって表現される直線によって前記画素を複数の領域に分割し、
前記複数の領域のそれぞれに含まれる各サブピクセルに対して、前記複数のパラメータによって表現されるサブピクセル値を与え、
前記画素の範囲でサブピクセル値の数値積分を行うことによって、前記数値モデルによって表現される画素値を算出する
請求項４に記載の交点検出装置。
【請求項６】
前記プロセッサは、さらに、
２次元画像座標を変数とする関数モデルによって表現される各画素値と、前記処理対象画像の各画素値との差分に基づく評価値を最適化するための、前記関数モデルの複数のパラメータを決定し、
決定された前記複数のパラメータによって表現される２つの直線の交点の位置を第１の初期位置として算出し、
前記関数モデルは、
２次元座標系上において前記第１の領域と前記第２の領域とを表し、かつ、前記第１の領域と前記第２の領域との境界にある前記２次元座標系上の各位置の画素値を、少なくとも１回微分可能な曲面で表し、
前記プロセッサは、
前記数値モデルの複数のパラメータの決定では、
前記数値モデルの複数のパラメータによって表現される前記２つ直線の交点の位置を、前記第１の初期位置から変更しながら前記評価値を最適化する
請求項４または５に記載の交点検出装置。
【請求項７】
前記交点検出装置は、さらに、
前記撮影画像を表示する表示部を備え、
前記プロセッサは、
オペレータによる操作に応じて、表示されている前記撮影画像中の位置を第２の初期位置として取得し、
前記撮影画像のうち、前記第２の初期位置を含む領域を前記処理対象画像として前記メモリから読み出す
請求項１〜６の何れか１項に記載の交点検出装置。
【請求項８】
前記プロセッサは、さらに、
予め定められた複数の初期交点を生成し、
前記複数の初期交点のうちの１つの初期交点を選択初期交点として順次選択し、
前記処理対象画像の読み出しでは、
前記選択初期交点が選択されるごとに、当該選択初期交点の位置を含む処理対象画像を読み出し、
前記交点のサブピクセル精度での検出では、
最適化された前記評価値が閾値よりも小さい場合に、前記複数のパラメータに基づいて、前記処理対象画像内にある前記２つの境界線の交点をサブピクセル精度で検出する
請求項１〜６の何れか１項に記載の交点検出装置。
【請求項９】
請求項１または４に記載の交点検出装置と、
前記交点検出装置によって検出された交点を用いて、前記チェッカーパタンの撮影に用いられたカメラのカメラパラメータを算出する算出部とを備える
カメラ校正システム。
【請求項１０】
チェッカーパタンの撮影によって得られた撮影画像を保持しているメモリから、前記撮影画像のうちの少なくとも一部の画像を処理対象画像として読み出し、
前記処理対象画像に映し出された、前記チェッカーパタンにおける２つの境界線の交点を検出し、
前記２つの境界線はそれぞれ、前記処理対象画像における、第１の画素値を有する複数の画素からなる第１の領域と、前記第１の画素値よりも大きい第２の画素値を有する複数の画素からなる第２の領域との境界線であり、
前記交点の検出では、
２次元画像座標を変数とする関数モデルによって表現される各画素値と、前記処理対象画像の各画素値との差分に基づく評価値を最適化するための、前記関数モデルの複数のパラメータを決定し、
決定された前記複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、前記処理対象画像内にある前記２つの境界線の交点をサブピクセル精度で検出し、
前記関数モデルは、
２次元座標系上において前記第１の領域と前記第２の領域とを表し、かつ、前記第１の領域と前記第２の領域との境界にある前記２次元座標系上の各位置の画素値を、少なくとも１回微分可能な曲面で表す
交点検出方法。
【請求項１１】
前記関数モデルは、２次元に拡張されたロジスティック関数からなる
請求項１０に記載の交点検出方法。
【請求項１２】
前記関数モデルの複数のパラメータは、
角度θおよびφと、画素値ａおよびｄと、距離ｂおよびｃと、像のぼけ具合σとからなり、
前記関数モデルは、
ｘ軸およびｙ軸からなる前記２次元座標系上の前記２つの直線である、（ｘｃｏｓθ＋ｙｓｉｎθ＋ｂ）＝０および（ｘｓｉｎφ−ｙｃｏｓφ＋ｃ）＝０を用いて、
前記２次元座標系上の位置（ｘ，ｙ）における画素値Ｍ（ｘ，ｙ）を、
【数２】
2018088228.tif 000015
によって表す
請求項１１に記載の交点検出方法。
【請求項１３】
チェッカーパタンの撮影によって得られた撮影画像を保持するメモリから、前記撮影画像のうちの少なくとも一部の画像を処理対象画像として読み出し、
前記処理対象画像に映し出された、前記チェッカーパタンにおける２つの境界線の交点を検出し、
前記２つの境界線はそれぞれ、前記処理対象画像における、第１の画素値を有する複数の画素からなる第１の領域と、前記第１の画素値よりも大きい第２の画素値を有する複数の画素からなる第２の領域との境界線であり、
前記交点の検出では、
数値モデルによって表現される各画素値と、前記処理対象画像の各画素値との差分に基づく評価値を最適化するための、前記数値モデルの複数のパラメータを決定し、
決定された前記複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、前記処理対象画像内にある前記２つの境界線の交点をサブピクセル精度で検出し、
前記数値モデルは、
直線によって分割される画素内の各領域に画素値を与え、前記画素全体の画素値を決定することによって、ステップエッジ撮影時の画素の積分効果を模擬的に表すモデルである
交点検出方法。
【請求項１４】
前記数値モデルの複数のパラメータの決定では、
画素に対してオーバーサンプリングを行うことによって複数のサブピクセルを生成し、
前記複数のパラメータによって表現される直線によって前記画素を複数の領域に分割し、
前記複数の領域のそれぞれに含まれる各サブピクセルに対して、前記複数のパラメータによって表現されるサブピクセル値を与え、
前記画素の範囲でサブピクセル値の数値積分を行うことによって、前記数値モデルによって表現される画素値を算出する
請求項１３に記載の交点検出方法。
【請求項１５】
前記交点検出方法では、さらに、
２次元画像座標を変数とする関数モデルによって表現される各画素値と、前記処理対象画像の各画素値との差分に基づく評価値を最適化するための、前記関数モデルの複数のパラメータを決定し、
決定された前記複数のパラメータによって表現される２つの直線の交点の位置を第１の初期位置として算出し、
前記関数モデルは、
２次元座標系上において前記第１の領域と前記第２の領域とを表し、かつ、前記第１の領域と前記第２の領域との境界にある前記２次元座標系上の各位置の画素値を、少なくとも１回微分可能な曲面で表し、
前記数値モデルの複数のパラメータの決定では、
前記数値モデルの複数のパラメータによって表現される前記２つ直線の交点の位置を、前記第１の初期位置から変更しながら前記評価値を最適化する
請求項１３または１４に記載の交点検出方法。
【請求項１６】
前記交点検出方法では、さらに、
前記撮影画像を表示し、
オペレータによる操作に応じて、表示されている前記撮影画像中の位置を第２の初期位置として取得し、
前記撮影画像のうち、前記第２の初期位置を含む領域を前記処理対象画像として前記メモリから読み出す
請求項１０〜１５の何れか１項に記載の交点検出方法。
【請求項１７】
前記交点検出方法では、さらに、
予め定められた複数の初期交点を生成し、
前記複数の初期交点のうちの１つの初期交点を選択初期交点として順次選択し、
前記処理対象画像の読み出しでは、
前記選択初期交点が選択されるごとに、当該選択初期交点の位置を含む処理対象画像を読み出し、
前記交点のサブピクセル精度での検出では、
最適化された前記評価値が閾値よりも小さい場合に、前記複数のパラメータに基づいて、前記処理対象画像内にある前記２つの境界線の交点をサブピクセル精度で検出する
請求項１０〜１５の何れか１項に記載の交点検出方法。
【請求項１８】
請求項１０または１３に記載の交点検出方法によって交点を検出し、
前記交点検出方法によって検出された交点を用いて、前記チェッカーパタンの撮影に用いられたカメラのカメラパラメータを算出する
カメラ校正方法。
【請求項１９】
チェッカーパタンの撮影によって得られた撮影画像を保持しているメモリから、前記撮影画像のうちの少なくとも一部の画像を処理対象画像として読み出し、
前記処理対象画像に映し出された、前記チェッカーパタンにおける２つの境界線の交点を検出することを、コンピュータに実行させ、
前記２つの境界線はそれぞれ、前記処理対象画像における、第１の画素値を有する複数の画素からなる第１の領域と、前記第１の画素値よりも大きい第２の画素値を有する複数の画素からなる第２の領域との境界線であり、
前記交点の検出では、
２次元画像座標を変数とする関数モデルによって表現される各画素値と、前記処理対象画像の各画素値との差分に基づく評価値を最適化するための、前記関数モデルの複数のパラメータを決定し、
決定された前記複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、前記処理対象画像内にある前記２つの境界線の交点をサブピクセル精度で検出し、
前記関数モデルは、
２次元座標系上において前記第１の領域と前記第２の領域とを表し、かつ、前記第１の領域と前記第２の領域との境界にある前記２次元座標系上の各位置の画素値を、少なくとも１回微分可能な曲面で表す
プログラム。
【請求項２０】
チェッカーパタンの撮影によって得られた撮影画像を保持するメモリから、前記撮影画像のうちの少なくとも一部の画像を処理対象画像として読み出し、
前記処理対象画像に映し出された、前記チェッカーパタンにおける２つの境界線の交点を検出することを、コンピュータに実行させ、
前記２つの境界線はそれぞれ、前記処理対象画像における、第１の画素値を有する複数の画素からなる第１の領域と、前記第１の画素値よりも大きい第２の画素値を有する複数の画素からなる第２の領域との境界線であり、
前記交点の検出では、
数値モデルによって表現される各画素値と、前記処理対象画像の各画素値との差分に基づく評価値を最適化するための、前記数値モデルの複数のパラメータを決定し、
決定された前記複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、前記処理対象画像内にある前記２つの境界線の交点をサブピクセル精度で検出し、
前記数値モデルは、
直線によって分割される画素内の各領域に画素値を与え、前記画素全体の画素値を決定することによって、ステップエッジ撮影時の画素の積分効果を模擬的に表すモデルである
プログラム。
【請求項２１】
前記プログラムは、さらに、
検出された前記交点を用いて、前記チェッカーパタンの撮影に用いられたカメラのカメラパラメータを算出することを、前記コンピュータに実行させる
請求項１９または２０に記載のプログラム。
【請求項２２】
プログラムを記録しているコンピュータ読み取り可能な非一時的な記録媒体であって、
前記プログラムは、
チェッカーパタンの撮影によって得られた撮影画像を保持しているメモリから、前記撮影画像のうちの少なくとも一部の画像を処理対象画像として読み出し、
前記処理対象画像に映し出された、前記チェッカーパタンにおける２つの境界線の交点を検出することを、コンピュータに実行させ、
前記２つの境界線はそれぞれ、前記処理対象画像における、第１の画素値を有する複数の画素からなる第１の領域と、前記第１の画素値よりも大きい第２の画素値を有する複数の画素からなる第２の領域との境界線であり、
前記交点の検出では、
２次元画像座標を変数とする関数モデルによって表現される各画素値と、前記処理対象画像の各画素値との差分に基づく評価値を最適化するための、前記関数モデルの複数のパラメータを決定し、
決定された前記複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、前記処理対象画像内にある前記２つの境界線の交点をサブピクセル精度で検出し、
前記関数モデルは、
２次元座標系上において前記第１の領域と前記第２の領域とを表し、かつ、前記第１の領域と前記第２の領域との境界にある前記２次元座標系上の各位置の画素値を、少なくとも１回微分可能な曲面で表す
記録媒体。
【請求項２３】
プログラムを記録しているコンピュータ読み取り可能な非一時的な記録媒体であって、
前記プログラムは、
チェッカーパタンの撮影によって得られた撮影画像を保持するメモリから、前記撮影画像のうちの少なくとも一部の画像を処理対象画像として読み出し、
前記処理対象画像に映し出された、前記チェッカーパタンにおける２つの境界線の交点を検出することを、コンピュータに実行させ、
前記２つの境界線はそれぞれ、前記処理対象画像における、第１の画素値を有する複数の画素からなる第１の領域と、前記第１の画素値よりも大きい第２の画素値を有する複数の画素からなる第２の領域との境界線であり、
前記交点の検出では、
数値モデルによって表現される各画素値と、前記処理対象画像の各画素値との差分に基づく評価値を最適化するための、前記数値モデルの複数のパラメータを決定し、
決定された前記複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、前記処理対象画像内にある前記２つの境界線の交点をサブピクセル精度で検出し、
前記数値モデルは、
直線によって分割される画素内の各領域に画素値を与え、前記画素全体の画素値を決定することによって、ステップエッジ撮影時の画素の積分効果を模擬的に表すモデルである
記録媒体。
【請求項２４】
前記プログラムは、さらに、
検出された前記交点を用いて、前記チェッカーパタンの撮影に用いられたカメラのカメラパラメータを算出することを、前記コンピュータに実行させる
請求項２２または２３に記載の記録媒体。 
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、チェッカーパタンが映し出された撮影画像から、そのチェッカーパタンの交点を検出する交点検出装置およびカメラ校正方法などに関する。
【背景技術】
【０００２】
車載カメラなどのカメラのキャリブレーションを行うために、３次元空間中の位置、すなわち３次元座標系における位置と、カメラによる撮影によって得られた撮影画像中の画素位置とを対応づける必要がある。この目的のために、従来、交点検出装置は、形状が既知のチェッカーパタンをカメラで撮影する。そして、交点検出装置は、撮影画像に映し出されたチェッカーパタンの交点を検出することで、３次元座標系における位置と、撮影画像中の画素位置とを対応付けている（例えば、特許文献１〜７および非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１８８０８３号公報
【特許文献２】特開２０１５−００７８６６号公報
【特許文献３】特開２０１４−２３０２１５号公報
【特許文献４】特開２０１４−０３５１９６号公報
【特許文献５】特開平１０−１５５０９１号公報
【特許文献６】特許第５４３２８３５号公報
【特許文献７】特許第４８２５９８０号公報
【非特許文献】
【０００４】
【非特許文献１】Roger Y. Tsai. A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses. IEEE Journal of Robotics and Automation. Vol. 3, pp.323-344, 1987
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１〜７および非特許文献１の技術では、チェッカーパタンの交点の検出精度が低いという問題がある。
【０００６】
そこで、本開示の非限定的で例示的な一態様は、チェッカーパタンの交点の検出精度を向上することができる交点検出装置を提供する。
【課題を解決するための手段】
【０００７】
本開示の一態様に係る交点検出装置は、チェッカーパタンの撮影によって得られた撮影画像を保持するメモリと、前記撮影画像のうちの少なくとも一部の画像を処理対象画像として前記メモリから読み出し、前記処理対象画像に映し出された、前記チェッカーパタンにおける２つの境界線の交点を検出するプロセッサとを備え、前記２つの境界線はそれぞれ、前記処理対象画像における、第１の画素値を有する複数の画素からなる第１の領域と、前記第１の画素値よりも大きい第２の画素値を有する複数の画素からなる第２の領域との境界線であり、前記プロセッサは、２次元画像座標を変数とする関数モデルによって表現される各画素値と、前記処理対象画像の各画素値との差分に基づく評価値を最適化するための、前記関数モデルの複数のパラメータを決定し、決定された前記複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、前記処理対象画像内にある前記２つの境界線の交点をサブピクセル精度で検出し、前記関数モデルは、２次元座標系上において前記第１の領域と前記第２の領域とを表し、かつ、前記第１の領域と前記第２の領域との境界にある前記２次元座標系上の各位置の画素値を、少なくとも１回微分可能な曲面で表す。
【０００８】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能な記録媒体で実現されてもよく、装置、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。コンピュータ読み取り可能な記録媒体は、例えばＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ Ｄｉｓｃ−Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）などの不揮発性の記録媒体を含む。
【発明の効果】
【０００９】
本開示によれば、チェッカーパタンの交点の検出精度を向上することができる。本開示の一態様の付加的な恩恵及び有利な点は本明細書及び図面から明らかとなる。この恩恵及び／又は有利な点は、本明細書及び図面に開示した様々な態様及び特徴により個別に提供され得るものであり、その１以上を得るために全てが必要ではない。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態１における交点検出装置のブロック図である。
【図２】図２は、実施の形態１におけるチェッカーパタンの撮影画像の一例を示す図である。
【図３】図３は、実施の形態１における交点検出部の動作を示すフローチャートである。
【図４】図４は、実施の形態１における関数モデルの概形を示す図である。
【図５】図５は、ＣＧデータによって構成される撮影画像の一例を示す図である。
【図６】図６は、オペレータのマニュアルによるピクセル精度での交点の検出精度を示す図である。
【図７】図７は、実施の形態１における関数モデルを用いた交点検出装置による交点の検出精度を示す図である。
【図８】図８は、オペレータのマニュアルによるピクセル精度で検出された交点の位置と、実際の交点の位置との誤差を示す誤差分布図である。
【図９】図９は、実施の形態１における関数モデルを用いた交点検出装置によって検出された交点の位置と、実際の交点の位置との誤差を示す誤差分布図である。
【図１０Ａ】図１０Ａは、本開示の第１の態様に係る交点検出装置の構成を示すブロック図である。
【図１０Ｂ】図１０Ｂは、本開示の第１の態様に係る交点検出方法のフローチャートである。
【図１１】図１１は、画素の積分効果の例を示す図である。
【図１２】図１２は、関数モデルの誤差の原因を説明するための図である。
【図１３】図１３は、実施の形態２における交点検出装置のブロック図である。
【図１４】図１４は、実施の形態２における交点検出部の動作を示すフローチャートである。
【図１５】図１５は、実施の形態２における数値モデルの概形を示す図である。
【図１６】図１６は、図１４のステップＳ１２０３における評価値の算出の詳細を示すフローチャートである。
【図１７】図１７は、矩形画像における各領域のサブピクセル値を示す図である。
【図１８】図１８は、数値モデルの画素値Ｍ（ｘｋ，ｙｋ）の一例を示す図である。
【図１９】図１９は、数値モデルの画素値Ｍ（ｘｋ，ｙｋ）の他の例を示す図である。
【図２０】図２０は、実施の形態２における数値モデルを用いた交点検出装置による交点の検出精度を示す図である。
【図２１】図２１は、実施の形態２における数値モデルを用いた交点検出装置によって検出された交点の位置と、実際の交点の位置との誤差を示す誤差分布図である。
【図２２Ａ】図２２Ａは、本開示の第２の態様に係る交点検出装置の構成を示すブロック図である。
【図２２Ｂ】図２２Ｂは、本開示の第２の態様に係る交点検出方法のフローチャートである。
【図２３】図２３は、実施の形態３における交点検出部の動作を示すフローチャートである。
【図２４】図２４は、実施の形態４における交点検出装置のブロック図である。
【図２５】図２５は、実施の形態５におけるカメラ校正システムのブロック図である。
【図２６Ａ】図２６Ａは、関数モデルの一例を示す図である。
【図２６Ｂ】図２６Ｂは、関数モデルの他の例を示す図である。
【図２６Ｃ】図２６Ｃは、関数モデルのさらに他の例を示す図である。
【発明を実施するための形態】
【００１１】
（本開示の基礎となった知見）
本発明者は、「背景技術」の欄において記載した特許文献１〜７に関し、以下の問題が生じることを見出した。
【００１２】
例えば、オペレータは、撮影画像に映し出されているチェッカーパタンの交点の位置、すなわち、その撮影画像の左上を原点とした画像座標系における交点の位置を読み取る。そして、オペレータは、その交点に対応する３次元座標系における位置を、撮影に使用したチェッカーパタンから得る。ここで、チェッカーパタンは、箱状の物体の内側に描画されている。チェッカーパタンには、例えば黒色の正方形の領域（以下、黒領域という）と、例えば白色の正方形の領域（以下、白領域という）とが、水平方向および垂直方向に沿って、交互に配列されている。このようなチェッカーパタンには、黒領域と白領域との境界線が複数あり、それらの境界線のうちの２つの境界線は交点で交わっている。ここで、特定の位置に、世界座標系（すなわち３次元座標系）の原点と、Ｘ軸、Ｙ軸およびＺ軸の３軸とを定める。これにより、着目している交点が、原点から何番目の交点になっているかによって、その着目している交点の３次元座標系における位置を同定することができる。
【００１３】
しかし、オペレータによって読み取られる交点の位置の精度は低いため、特許文献１〜７では、その精度を高めるための交点検出装置が提案されている。
【００１４】
特許文献１の交点検出装置では、正弦波状の曲面を表す関数を用いて、チェッカーパタンの交点の高精度検出を試みている。しかし、チェッカーパタンの撮影画像上での周期（黒領域と白領域とが交互に配置されている格子パタンの周期）が既知である必要がある。また、関数形状と格子パタンとの差異、および、周期の誤差の両方が交点の検出精度に影響する。また、水平方向および垂直方向以外の方向に沿うエッジ（すなわち境界線）を含むチェッカーパタンに対し、特許文献１の交点検出装置を適用することができない。
【００１５】
特許文献２の交点検出装置では、グレイコードパターンのポジ画像およびネガ画像を撮影し、撮影画像から２つの空間コード画像を作成し、ポジ画像およびネガ画像において輝度プロファイルの交差点を境界座標として取得する。しかし、この交点検出装置は、チェッカーパタンの撮影画像中の輝度勾配ベクトルから交点を算出するため、エッジの画素に生じるエイリアシングの影響を受ける。
【００１６】
特許文献３の交点検出装置では、市松模様の直線の傾きに応じた二値テンプレートを用いて交点を検出する。しかし、二値テンプレートによる交点の検出は、ノイズおよびエイリアシングの影響を受ける。また、サブピクセル精度で交点の検出を行うには大量のテンプレートが必要になる。
【００１７】
特許文献４と特許文献５の交点検出装置では、Ｈоｕｇｈ変換による直線の検出結果を用いてチェッカーパタンの交点を検出する。しかし、Ｈоｕｇｈ変換による交点の検出は、チェッカーパタンの境界線が斜めであるときには、エイリアシングの影響を受ける。
【００１８】
特許文献６の交点検出装置では、ハリスのコーナーディテクタによるチェッカーパタンの交点の検出結果に基づいてカメラキャリブレーションを行う。このハリスのコーナーディテクタは、微分（数値差分）オペレータにより交点を検出するため、ノイズの影響を受け、エイリアシングの影響に弱い。
【００１９】
特許文献７の交点検出装置では、ＬＫオペレータがチェッカーパタンから交点を検出し、ステレオ魚眼カメラのキャリブレーションを行っている。しかし、微分（数値差分）オペレータの交点の検出はノイズの影響を受け、エイリアシングの影響に弱い。
【００２０】
一方、測距に用いられるステレオカメラまたは多眼カメラを、車またはドローン等の移動体に搭載するには、その多眼カメラなどの装置全体を小型化することが望まれる。その小型化には、多眼カメラに含まれる互いに隣り合う２つのカメラのレンズの中心を結ぶ線分である基線の長さ、またはその隣り合う２つのカメラの間隔を短くする必要がある。しかし、基線の長さまたはカメラの間隔を短くすることは、測距精度の低下につながるため、キャリブレーションを高精度化する必要がある。
【００２１】
また、これらのステレオカメラまたは多眼カメラでは、魚眼レンズ等により広視野角の撮影画像を取得する。その結果、キャリブレーションに用いられるその撮影画像に映し出されている、３次元座標系の位置が既知のチェッカーパタンが、視野周辺（すなわち撮影画像の周辺）で斜めに傾く。したがって、水平方向および垂直方向以外の方向に沿うエッジを含むチェッカーパタンからも、エイリアシング等のノイズの影響を極力受けずに、その交点を正確に検出する必要がある。
【００２２】
しかしながら、上記特許文献１〜７の何れの交点検出装置であっても、このようなエイリアシングの影響によって、チェッカーパタンの交点を高精度に検出することができないという課題がある。したがって、このように検出された交点を上記非特許文献１のカメラ校正方法に用いても、カメラパラメータを高精度に校正することができないという課題がある。
【００２３】
このような課題を解決するために、本開示の一態様に係る交点検出装置は、キャリブレーションの高精度化のために、水平方向および垂直方向以外の方向に沿うエッジを含むチェッカーパタンからも交点を高精度に検出することを目的とする。
【００２４】
すなわち、本開示の一態様に係る交点検出装置は、チェッカーパタンの撮影によって得られた撮影画像を保持するメモリと、前記撮影画像のうちの少なくとも一部の画像を処理対象画像として前記メモリから読み出し、前記処理対象画像に映し出された、前記チェッカーパタンにおける２つの境界線の交点を検出するプロセッサとを備え、前記２つの境界線はそれぞれ、前記処理対象画像における、第１の画素値を有する複数の画素からなる第１の領域と、前記第１の画素値よりも大きい第２の画素値を有する複数の画素からなる第２の領域との境界線であり、前記プロセッサは、２次元画像座標を変数とする関数モデルによって表現される各画素値と、前記処理対象画像の各画素値との差分に基づく評価値を最適化するための、前記関数モデルの複数のパラメータを決定し、決定された前記複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、前記処理対象画像内にある前記２つの境界線の交点をサブピクセル精度で検出し、前記関数モデルは、２次元座標系上において前記第１の領域と前記第２の領域とを表し、かつ、前記第１の領域と前記第２の領域との境界にある前記２次元座標系上の各位置の画素値を、少なくとも１回微分可能な曲面で表す。
【００２５】
これにより、２次元画像座標を変数とする関数モデルによって表現される各画素値と、処理対象画像の各画素値との差分に基づく評価値を最適化するための、関数モデルの複数のパラメータが決定され、その複数のパラメータに基づいて交点が算出される。したがって、評価値の最適化によって、２次元画像座標を変数とする関数モデルを、処理対象画像に映し出されているパタンにマッチングすることができる。その結果、チェッカーパタンが回転していても、すなわち、処理対象画像に映し出されているチェッカーパタンの境界線が傾斜しても、その傾斜された境界線を適切に表す関数モデルを生成することができる。このように生成される関数モデルの複数のパラメータによってその境界線が適切に表されるため、２つの境界線の交点を高精度に検出することができる。
【００２６】
また、関数モデルは、例えば黒領域である第１の領域と、例えば白領域である第２の領域との境界にある２次元座標系上の各位置の画素値を、少なくとも１回微分可能な曲面で表すため、エイリアシングを適切に表現することができる。したがって、水平方向および垂直方向以外の方向に沿うエッジを含むチェッカーパタンからも交点を高精度に検出することができる。
【００２７】
さらに、少なくとも１回微分可能な曲面によって画素値が表現されるため、勾配法を用いて評価値を簡単に最適化することができ、計算コストの低減を図ることができる。
【００２８】
さらに、チェッカーパタンの交点を高精度に検出することができるため、３次元座標系におけるチェッカーパタンの交点の位置と、撮影画像におけるその交点の位置とを対応付けるキャリブレーションの高精度化を図ることができる。
【００２９】
例えば、前記関数モデルは、２次元に拡張されたロジスティック関数からなっていてもよい。具体的には、前記関数モデルの複数のパラメータは、角度θおよびφと、画素値ａおよびｄと、距離ｂおよびｃと、像のぼけ具合σとからなり、前記関数モデルは、ｘ軸およびｙ軸からなる前記２次元座標系上の前記２つの直線である、（ｘｃｏｓθ＋ｙｓｉｎθ＋ｂ）＝０および（ｘｓｉｎφ−ｙｃｏｓφ＋ｃ）＝０を用いて、前記２次元座標系上の位置（ｘ，ｙ）における画素値Ｍ（ｘ，ｙ）を、
【００３０】
【数１】
2018088228.tif 000003
によって表してもよい。
【００３１】
これにより、ロジスティック関数は、上述の曲面に含まれる、第１の領域と第２の領域との境界を横切る方向に沿う曲線を、点対称の曲線として表すため、エイリアシングをより適切に表現することができる。したがって、水平方向および垂直方向以外の方向に沿うエッジを含むチェッカーパタンからも交点をより高精度に検出することができる。
【００３２】
また、本開示の一態様に係る交点検出装置は、チェッカーパタンの撮影によって得られた撮影画像を保持するメモリと、前記撮影画像のうちの少なくとも一部の画像を処理対象画像として前記メモリから読み出し、前記処理対象画像に映し出された、前記チェッカーパタンにおける２つの境界線の交点を検出するプロセッサとを備え、前記２つの境界線はそれぞれ、前記処理対象画像における、第１の画素値を有する複数の画素からなる第１の領域と、前記第１の画素値よりも大きい第２の画素値を有する複数の画素からなる第２の領域との境界線であり、前記プロセッサは、数値モデルによって表現される各画素値と、前記処理対象画像の各画素値との差分に基づく評価値を最適化するための、前記数値モデルの複数のパラメータを決定し、決定された前記複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、前記処理対象画像内にある前記２つの境界線の交点をサブピクセル精度で検出し、前記数値モデルは、直線によって分割される画素内の各領域に画素値を与え、前記画素全体の画素値を決定することによって、ステップエッジ撮影時の画素の積分効果を模擬的に表すモデルである。例えば、前記プロセッサは、前記数値モデルの複数のパラメータの決定では、画素に対してオーバーサンプリングを行うことによって複数のサブピクセルを生成し、前記複数のパラメータによって表現される直線によって前記画素を複数の領域に分割し、前記複数の領域のそれぞれに含まれる各サブピクセルに対して、前記複数のパラメータによって表現されるサブピクセル値を与え、前記画素の範囲でサブピクセル値の数値積分を行うことによって、前記数値モデルによって表現される画素値を算出してもよい。
【００３３】
これにより、数値モデルによって表現される各画素値と、処理対象画像の各画素値との差分に基づく評価値を最適化するための、数値モデルの複数のパラメータが決定され、その複数のパラメータに基づいて交点が算出される。したがって、評価値の最適化によって、数値モデルを、処理対象画像に映し出されているパタンにマッチングすることができる。その結果、チェッカーパタンが回転していても、すなわち、処理対象画像に映し出されているチェッカーパタンの境界線が傾斜しても、その傾斜された境界線を適切に表す数値モデルを生成することができる。このように生成される数値モデルの複数のパラメータによってその境界線が適切に表されるため、２つの境界線の交点を高精度に検出することができる。
【００３４】
また、数値モデルは、直線によって分割される画素内の各領域に画素値を与え、前記画素全体の画素値を決定することによって、ステップエッジ撮影時の画素の積分効果を模擬的に表すモデルであるため、エイリアシングをより適切に再現することができる。したがって、水平方向および垂直方向以外の方向に沿うエッジを含むチェッカーパタンからも交点をより高精度に検出することができる。
【００３５】
さらに、チェッカーパタンの交点をより高精度に検出することができるため、３次元座標系におけるチェッカーパタンの交点の位置と、撮影画像におけるその交点の位置とを対応付けるキャリブレーションのさらなる高精度化を図ることができる。
【００３６】
また、前記プロセッサは、さらに、２次元画像座標を変数とする関数モデルによって表現される各画素値と、前記処理対象画像の各画素値との差分に基づく評価値を最適化するための、前記関数モデルの複数のパラメータを決定し、決定された前記複数のパラメータによって表現される２つの直線の交点の位置を第１の初期位置として算出し、前記関数モデルは、２次元座標系上において前記第１の領域と前記第２の領域とを表し、かつ、前記第１の領域と前記第２の領域との境界にある前記２次元座標系上の各位置の画素値を、少なくとも１回微分可能な曲面で表し、前記プロセッサは、前記数値モデルの複数のパラメータの決定では、前記数値モデルの複数のパラメータによって表現される前記２つ直線の交点の位置を、前記第１の初期位置から変更しながら前記評価値を最適化してもよい。
【００３７】
これにより、チェッカーパタンの交点の粗密探索を行うことができる。つまり、関数モデルを用いて交点の大まかな位置を第１の初期位置として検出し、さらに、その第１の初期位置から、数値モデルを用いて交点を探索することによって、チェッカーパタンの交点を検出することができる。関数モデルを用いた交点の検出では、計算コストは小さいが、交点の検出精度は、数値モデルを用いた交点の検出よりも低い。一方、数値モデルを用いた交点の検出では、計算コストは大きいが、交点の検出精度は、関数モデルを用いた交点の検出よりも高い。したがって、上述の粗密探索を行うことによって、計算コストの低減と検出精度の向上とをバランスよく実現することができる。
【００３８】
また、前記交点検出装置は、さらに、前記撮影画像を表示する表示部を備え、前記プロセッサは、オペレータによる操作に応じて、表示されている前記撮影画像中の位置を第２の初期位置として取得し、前記撮影画像のうち、前記第２の初期位置を含む領域を前記処理対象画像として前記メモリから読み出してもよい。
【００３９】
これにより、オペレータによる操作によって、そのオペレータによって読み取られた交点の位置が第２の初期位置として取得される場合には、その第２の初期位置を含む処理対象画像には、交点が含まれている。したがって、処理対象画像に交点がないにもかかわらず、誤って交点を検出してしまうという誤検出の発生を抑えることができる。
【００４０】
また、前記プロセッサは、さらに、予め定められた複数の初期交点を生成し、前記複数の初期交点のうちの１つの初期交点を選択初期交点として順次選択し、前記処理対象画像の読み出しでは、前記選択初期交点が選択されるごとに、当該選択初期交点の位置を含む処理対象画像を読み出し、前記交点のサブピクセル精度での検出では、最適化された前記評価値が閾値よりも小さい場合に、前記複数のパラメータに基づいて、前記処理対象画像内にある前記２つの境界線の交点をサブピクセル精度で検出してもよい。
【００４１】
これにより、オペレータによる操作を必要とせず、自動的に、処理対象画像を順次読み出して、その処理対象画像に交点があれば、その交点を高精度に検出することができる。
【００４２】
また、本開示の一態様に係るカメラ校正システムは、上述の交点検出装置と、前記交点検出装置によって検出された交点を用いて、前記チェッカーパタンの撮影に用いられたカメラのカメラパラメータを算出する算出部とを備える。
【００４３】
これにより、カメラパラメータを高精度に算出して校正することができる。
【００４４】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００４５】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００４６】
また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、同じ構成部材については同じ符号を付している。
【００４７】
（実施の形態１）
［関数モデル］
図１は、実施の形態１における交点検出装置のブロック図である。図１に示すように、本実施の形態における交点検出装置１０１は、カメラ１０２、メモリ１０３、モニター１０４、初期交点入力部１０５、交点検出部１０６、および交点座標格納部１０７を備える。なお、本実施の形態では、交点検出装置１０１は、カメラ１０２、モニター１０４、初期交点入力部１０５および交点座標格納部１０７を備えるが、これらの構成要素を備えていなくてもよい。また、本実施の形態における交点検出部１０６は、例えば少なくとも１つのプロセッサからなる。
【００４８】
以下、交点検出装置１０１に含まれる各構成要素の動作について説明する。
【００４９】
カメラ１０２は、チェッカーパタンを有する被写体を撮影する。
【００５０】
メモリ１０３は、そのチェッカーパタンの撮影によって得られた撮影画像を保持する。つまり、メモリ１０３は、カメラ１０２によって撮影された画像を記憶する。
【００５１】
モニター１０４は、撮影によって得られた撮影画像を表示する表示部である。撮影画像が表示されているときに、オペレータは、その撮影画像中の交点の座標をピクセル精度で読み取る。この交点は、撮影画像に映し出されたチェッカーパタンにおける２つの境界線の交点である。
【００５２】
初期交点入力部１０５は、オペレータによる操作に応じて、そのオペレータによって読み取られた交点の座標を初期交点の座標として受け付けて、交点検出部１０６に出力する。
【００５３】
交点検出部１０６は、撮影画像のうちの少なくとも一部の画像を処理対象画像としてメモリ１０３から読み出し、その処理対象画像に映し出された、チェッカーパタンにおける２つの境界線の交点を検出する。なお、２つの境界線はそれぞれ、処理対象画像における、第１の画素値を有する複数の画素からなる第１の領域と、第１の画素値よりも大きい第２の画素値を有する複数の画素からなる第２の領域との境界線である。第１の領域は、例えば黒色の領域であり、第２の領域は、例えば白色の領域である。
【００５４】
具体的には、交点検出部１０６は、２次元画像座標を変数とする関数モデルによって表現される各画素値と、処理対象画像の各画素値との差分に基づく評価値を最適化するための、その関数モデルの複数のパラメータを決定する。そして、交点検出部１０６は、その決定された複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、処理対象画像内にある２つの境界線の交点をサブピクセル精度で検出する。ここで、上述の関数モデルは、２次元座標系上において第１の領域と第２の領域とを表し、かつ、第１の領域と第２の領域との境界にある２次元座標系上の各位置の画素値を、少なくとも１回微分可能な曲面で表す。また、関数モデルは、例えば、２次元に拡張されたロジスティック関数からなる。なお、本実施の形態では、処理対象画像は、例えば矩形画像である。
【００５５】
すなわち、交点検出部１０６は、メモリ１０３から読み出した処理対象画像である矩形画像に映し出されているチェッカーパタンに、関数モデルをあてはめる。この関数モデルのあてはめによって、水平方向および垂直方向以外の方向に沿うエッジを含むチェッカーパタンからもサブピクセル精度で交点の位置を検出することができる。なお、関数モデルをあてはめるとは、上述の評価値を最適化するための関数モデルの複数のパラメータを決定することである。交点検出部１０６は、関数モデルの複数のパラメータを変更しながら、すなわち、上述の２つの直線の交点の位置を、初期交点の位置（すなわち座標）から変更しながら、評価値を最適化するための関数モデルの複数のパラメータを決定する。
【００５６】
また、交点検出部１０６は、メモリ１０３から矩形画像を読み出すときには、まず、初期交点入力部１０５から出力された初期交点の座標（すなわち第２の初期位置）を取得する。つまり、交点検出部１０６は、オペレータによる操作に応じて、表示されている撮影画像中の位置を第２の初期位置として取得する。そして、交点検出部１０６は、撮影画像のうち、第２の初期位置を含む領域を矩形画像（すなわち処理対象画像）としてメモリ１０３から読み出す。具体的には、交点検出部１０６は、初期交点の位置を中心とする矩形画像をメモリ１０３から読み出す。
【００５７】
交点座標格納部１０７は、交点検出部１０６によって検出された交点の位置（ｘｎ，ｙｎ）を、その検出された交点に対応する、３次元座標系におけるチェッカーパタンの既知の交点の位置（Ｘｎ，Ｙｎ，Ｚｎ）に関連付けて格納する。
【００５８】
図２は、チェッカーパタンの撮影画像の一例を示す図である。
【００５９】
カメラ１０２は、魚眼レンズによってチェッカーパタンを撮影する。モニター１０４は、その撮影によって得られた撮影画像を、図２に示すように表示する。チェッカーパタンは、箱状の物体の内側に描画されたパタンである。このチェッカーパタンでは、それぞれ同じ大きさの黒色の正方形の領域（すなわち黒領域）と白色の正方形の領域（すなわち白領域）とが、水平方向および垂直方向に沿って、交互に配列されている。したがって、チェッカーパタンには、黒領域と白領域との境界線が複数あり、これらの境界線のうちの２つは交点で交わる。そこで、空間上の特定の位置に世界座標系の原点を定め、Ｘ軸、Ｙ軸およびＺ軸の３軸を定めることにより、その交点の世界座標系（すなわち３次元座標系）における位置を同定することができる。
【００６０】
オペレータは、表示されている撮影画像中の交点の位置を、左上を原点とした画像座標系（２次元座標系ともいう）における座標として読み取る。そして、初期交点入力部１０５は、オペレータによる操作に応じて、その読み取られた交点の位置を初期交点の位置として受け付ける。つまり、オペレータは、初期交点入力部１０５を介して交点検出装置１０１に対して初期交点の位置を与える。さらに、初期交点入力部１０５は、オペレータによる操作に応じて、その読み取られた交点に対応する、３次元座標系におけるチェッカーパタンの既知の交点の位置を受け付ける。そして、初期交点入力部１０５は、その読み取られた交点の位置と、３次元座標系における既知の交点の位置とを交点検出部１０６に出力する。
【００６１】
図３は、本実施の形態における交点検出部１０６の動作を示すフローチャートである。
【００６２】
交点検出部１０６は、オペレータが与える初期交点の位置を中心とする矩形画像を取得する（ステップＳ１０１）。次に、交点検出部１０６は、その初期交点の位置に基づいて、交点の検出に必要な関数モデルの複数のパラメータ（ａ，ｂ，ｃ，ｄ，θ，φ，σ）の初期値を設定する（ステップＳ１０２）。次に、交点検出部１０６は、矩形画像をオーバーサンプリングし、ガウシアンフィルタを適用する（ステップＳ１０３）。例えば、交点検出部１０６は、矩形画像における画像座標系の位置（ｘ，ｙ）の画素値Ｉ（ｘ，ｙ）にガウシアンフィルタを適用する。これにより、交点検出部１０６は、以下の（式１）に示すように、その画素値Ｉ（ｘ，ｙ）を、ガウシアンフィルタ適用後の画素値Ｉ’（ｘ，ｙ）に変換する。なお、図３に示す例では、オーバーサンプリングおよびガウシアンフィルタを適用するが、これらの適用は任意であって、適用しなくてもよい。
【００６３】
【数２】
2018088228.tif 000004
【００６４】
ここで、上記（式１）のガウシアンフィルタにおいて、＊はコンボリューション（畳み込み積分）を表し、σＧは像のぼけ具合を表す。
【００６５】
次に、交点検出部１０６は、矩形画像と関数モデルとのマッチングを評価する（ステップＳ１０４）。すなわち、交点検出部１０６は上述の評価値を算出する。この関数モデルは、例えば、以下の（式２）に示すように、２次元画像座標（ｘ，ｙ）を変数とする関数モデルであって、ロジスティック関数の指数部を２次元拡張した関数Ｍ（ｘ，ｙ）である。
【００６６】
【数３】
2018088228.tif 000005
【００６７】
ここで、（ａ＋ｄ）は白レベルを表し、ｄは黒レベルを表す。ｘｃｏｓθ＋ｙｓｉｎθ＋ｂ（＝０）とｘｓｉｎφ−ｙｃｏｓφ＋ｃ（＝０）は２本の直線を表し、σは像のぼけ具合をそれぞれ表す。
【００６８】
つまり、本実施の形態では、関数モデルの複数のパラメータは、角度θおよびφと、画素値ａおよびｄと、距離ｂおよびｃと、像のぼけ具合σとからなる。そして、関数モデルは、ｘ軸およびｙ軸からなる前記２次元座標系上の前記２つの直線である、（ｘｃｏｓθ＋ｙｓｉｎθ＋ｂ）＝０および（ｘｓｉｎφ−ｙｃｏｓφ＋ｃ）＝０を用いて、２次元座標系上の位置（ｘ，ｙ）における画素値Ｍ（ｘ，ｙ）を、上記（式２）によって表す。
【００６９】
図４は、関数Ｍ（ｘ，ｙ）の概形を示す図である。
【００７０】
関数Ｍ（ｘ，ｙ）は、図４に示すように、２次元座標系上において黒レベルを示す第１の領域と白レベルを示す第２の領域とを表し、かつ、その第１の領域と第２の領域との境界にある２次元座標系上の各位置の画素値を、少なくとも１回微分可能な曲面で表す。
【００７１】
交点検出部１０６は、矩形画像の画素値と、関数Ｍ（ｘ，ｙ）の画素値とを比較し、矩形画像のチェッカーパタンに対する関数モデルのあてはめ具合（マッチング）を二乗残差の総和で評価する。すなわち、交点検出部１０６は、以下の（式３）に示す評価値Ｊによって、関数モデルのあてはめ具合を評価する。
【００７２】
【数４】
2018088228.tif 000006
【００７３】
ここで、上記（式３）において、Ｎは、比較される画素の数を表し、Ｉ（ｘｋ，ｙｋ）は、矩形画像におけるｋ番目の画素（すなわち座標（ｘｋ，ｙｋ）にある画素）の画素値を表す。ガウシアンフィルタを適用した場合、画素値Ｉ（ｘｋ，ｙｋ）の代わりに、ガウシアンフィルタ適用後の画素値Ｉ’（ｘｋ，ｙｋ）が使用される。また、これらの画素値は、例えばＲＧＢ値または輝度値である。
【００７４】
交点検出部１０６は、評価値が算出されると、その算出の終了条件が満たされたか否かを判定する（ステップＳ１０５）。例えば、交点検出部１０６は、算出された評価値Ｊが閾値より小さい場合に、終了条件が満たされたと判定し（ステップＳ１０５の終了）、評価値Ｊが閾値以上の場合に、終了条件が満たされていないと判定する（ステップＳ１０５の継続）。なお、このような閾値は、画像のノイズに応じて経験的に決定される。あるいは、交点検出部１０６は、評価値Ｊの算出の繰り返し回数が閾値より大きい場合に、終了条件が満たされたと判定し（ステップＳ１０５の終了）、繰り返し回数が閾値以下の場合に、終了条件が満たされていないと判定する（ステップＳ１０５の継続）。なお、このような繰り返し回数の閾値は、例えば１００回などである。
【００７５】
ここで、交点検出部１０６は、終了条件が満たされていないとステップＳ１０５で判定した場合（ステップＳ１０５の継続）、関数Ｍ（ｘ，ｙ）の複数のパラメータｂ、ｃ、θ、φ、およびσのうちの少なくとも１つの値を変更する（ステップＳ１０６）。このとき、交点検出部１０６は、それらのパラメータによって表される２つの直線の交点の位置を変更してもよい。なお、この交点の位置の初期値は、上述の初期交点の位置（すなわち第２の初期位置）である。そして、交点検出部１０６は、変更された複数のパラメータに基づく関数Ｍ（ｘ，ｙ）の評価値Ｊを繰り返し算出する（ステップＳ１０４）。
【００７６】
また、パラメータｂ、ｃ、θ、φおよびσが与えられた場合、評価値Ｊを最小化するａとｄは、以下の（式４）の連立方程式の解として解析的に求められる。
【００７７】
【数５】
2018088228.tif 000007
【００７８】
また、ステップＳ１０５において、終了条件が満たされたと判定された場合、評価値Ｊは最適化された状態となる。この最適化された評価値Ｊは、実質的に最小化されているとも言える。つまり、交点検出部１０６は、ステップＳ１０４〜Ｓ１０６の処理によって、最適化された評価値Ｊ、すなわち実質的に最小の評価値Ｊが得られる、関数モデルの複数のパラメータを探索している。
【００７９】
ステップＳ１０４の反復計算において、矩形画像の横方向（水平方向）と縦方向（垂直方向）のそれぞれの画素数をＷｘとＷｙとする場合、ｂとｃの初期値は、それぞれ−Ｗｘ／２とＷｙ／２である。また、２直線ｘｃｏｓθ＋ｙｓｉｎθ＋ｂ＝０によって表される直線と、ｘｓｉｎφ−ｙｃｏｓφ＋ｃ＝０によって表される直線とは、θ＝φの場合に直交する。このため、θとφの初期値は、θ＝φ＝０°である。そして、ぼけを表すσの初期値は１程度の正の値とすれば良い。つまり、交点検出部１０６は、ステップＳ１０２において、パラメータ（ｂ，ｃ，θ，φ，σ）の初期値として、（−Ｗｘ／２，Ｗｙ／２，０，０，１）を設定する。そして、ステップＳ１０４の反復計算において、交点検出部１０６は、θとφともに±４５°の範囲で、最小の評価値Ｊを探索する。
【００８０】
また、交点検出部１０６は、ステップＳ１０４では、上記複数のパラメータの予め定められた数値範囲において、公知技術である最急降下法等の勾配法により、最小の評価値Ｊを求めてもよい。この場合、ステップＳ１０６では、交点検出部１０６は、複数のパラメータの数値範囲を変更する。
【００８１】
交点検出部１０６は、評価値Ｊが最小となる各パラメータを用いて、上記２つの直線の交点の座標Ｐ（ｘ、ｙ）を、以下の（式５）によって算出する（ステップＳ１０７）。これにより、矩形画像に映し出されたチェッカーパタンの交点がサブピクセル精度で検出される。
【００８２】
【数６】
2018088228.tif 000008
【００８３】
［交点の検出精度］
本実施の形態における関数モデルを用いた、ＣＧ（computer graphics）データに対す
る交点の検出精度について、以下に説明する。
【００８４】
図５は、ＣＧデータによって構成される撮影画像の一例を示す図である。
【００８５】
例えば、視野角水平垂直１８０°の魚眼カメラで世界座標系上にあるチェッカーパタンを撮影することによって得られる、水平方向および垂直方向以外の方向に沿うエッジを含む撮影画像を、ＣＧによって生成する。以下、ＣＧによって生成された撮影画像であるＣＧデータをＣＧ撮影画像という。なお、チェッカーパタンが描かれた物体は、世界座標系において水平方向の幅および垂直方向の高さがともに１００ｃｍであって、奥行きが４０ｃｍの直方体からなる。そして、その直方体の内部に、それぞれ一辺１０ｃｍの複数の白色の正方形（上述の白領域）と、一辺１０ｃｍの複数の黒色の正方形（上述の黒領域）とからなるチェッカーパタンが描かれている。このＣＧ撮影画像中には、画像端部の交点および直方体の辺上の交点を除き、１６９点の交点がある。
【００８６】
ＣＧ撮影画像における交点の位置は、小数精度で既知であり、この既知の位置と、本実施の形態における交点検出装置１０１によって検出された交点の位置との間の画像上での距離を誤差と定義する。
【００８７】
まず、オペレータは、ＣＧ撮影画像上の交点の位置を読み取る。初期交点入力部１０５は、オペレータによる操作によって、その読み取られた位置を受け付け、その位置を交点検出部１０６に出力する。交点検出部１０６は、その位置を、関数モデルに使用する初期交点の位置として取得する。さらに、交点検出部１０６は、この初期交点の位置を中心とする一辺が所定の画素数の矩形画像（すなわち正方形領域）をＣＧ撮影画像から抽出し、上述の関数モデルを用いてその矩形画像に含まれる交点を検出する。交点検出部１０６は、ＣＧ撮影画像に含まれる上述の１６９点の全ての交点の位置を上述の関数モデルを用いて検出する。このとき、交点検出部１０６は、水平方向および垂直方向に所定倍（例えば、１０倍）のオーバーサンプリングとガウシアンフィルタを矩形画像に適用する。
【００８８】
図６は、オペレータのマニュアルによるピクセル精度での交点の検出精度を示す図である。図７は、本実施の形態における関数モデルを用いた交点検出装置１０１による交点の検出精度を示す図である。また、図８は、オペレータのマニュアルによるピクセル精度で検出された交点の位置と、実際の交点の位置との誤差を高さとして示す等高線図である。図９は、本実施の形態における関数モデルを用いた交点検出装置１０１によって検出された交点の位置と、実際の交点の位置との誤差を高さとして示す等高線図である。つまり、これらの等高線図は、交点の位置の誤差分布を示す。
【００８９】
図６および図８に示すように、オペレータによって読み取られた交点の位置は整数値となるため、その位置の量子化誤差は０．５画素ある。また、オペレータは、それぞれ水平方向および垂直方向以外の方向に沿う２つのエッジの交点の位置を正確に選ぶことができない。したがって、根二乗平均誤差は、量子化誤差より大きい０．８１画素となっている。
【００９０】
一方、本実施の形態における関数モデルを用いた交点検出装置１０１では、サブピクセル精度で交点を検出することが可能である。したがって、図７および図９に示すように、本実施の形態では、根二乗平均誤差は０．１０画素であり、上記量子化誤差である０．５画素よりもさらに小さく、高精度に交点を検出することができる。
【００９１】
［実施の形態１のまとめ］
以上、実施の形態１における交点検出装置１０１および交点検出方法について説明したが、これらを纏めると、交点検出装置１０１は、図１０Ａに示す構成を有し、交点検出方法は、図１０Ｂに示すフローによって表される。
【００９２】
図１０Ａは、本開示の第１の態様に係る交点検出装置１０１の構成を示すブロック図である。
【００９３】
交点検出装置１０１は、メモリ１０３とプロセッサ１０６とを備える。メモリ１０３は、チェッカーパタンの撮影によって得られた撮影画像を保持する。プロセッサ１０６は、その撮影画像のうちの少なくとも一部の画像を処理対象画像としてメモリ１０３から読み出す。そして、プロセッサ１０６は、その処理対象画像に映し出された、チェッカーパタンにおける２つの境界線の交点を検出する。
【００９４】
ここで、２つの境界線はそれぞれ、処理対象画像における、第１の画素値を有する複数の画素からなる第１の領域と、第１の画素値よりも大きい第２の画素値を有する複数の画素からなる第２の領域との境界線である。この境界線は、エッジまたはステップエッジである。
【００９５】
また、プロセッサ１０６は、２次元画像座標を変数とする関数モデルによって表現される各画素値と、処理対象画像の各画素値との差分に基づく評価値を最適化するための、その関数モデルの複数のパラメータを決定する。そして、プロセッサ１０６は、決定された複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、処理対象画像内にある２つの境界線の交点をサブピクセル精度で検出する。
【００９６】
ここで、関数モデルは、２次元座標系上において第１の領域と第２の領域とを表し、かつ、第１の領域と第２の領域との境界にある２次元座標系上の各位置の画素値を、少なくとも１回微分可能な曲面で表す。
【００９７】
図１０Ｂは、本開示の第１の態様に係る交点検出方法を示すフローチャートである。
【００９８】
まず、プロセッサ１０６は、チェッカーパタンの撮影によって得られた撮影画像を保持しているメモリ１０３から、その撮影画像のうちの少なくとも一部の画像を処理対象画像として読み出す（ステップＳ１１）。そして、プロセッサ１０６は、その処理対象画像に映し出された、チェッカーパタンにおける２つの境界線の交点を検出する（ステップＳ１２）。
【００９９】
ステップＳ１２では、プロセッサ１０６は、まず、２次元画像座標を変数とする関数モデルによって表現される各画素値と、処理対象画像の各画素値との差分に基づく評価値を最適化するための、その関数モデルの複数のパラメータを決定する（ステップＳ１２ａ）。そして、プロセッサ１０６は、決定された複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、処理対象画像内にある２つの境界線の交点をサブピクセル精度で検出する（ステップＳ１２ｂ）。
【０１００】
これにより、２次元画像座標を変数とする関数モデルによって表現される各画素値と、処理対象画像の各画素値との差分に基づく評価値を最適化するための、関数モデルの複数のパラメータが決定され、その複数のパラメータに基づいて交点が算出される。したがって、評価値の最適化によって、２次元画像座標を変数とする関数モデルを、処理対象画像に映し出されているパタンにマッチングすることができる。その結果、チェッカーパタンが回転していても、すなわち、処理対象画像に映し出されているチェッカーパタンの境界線（すなわちエッジ）が傾斜しても、その傾斜された境界線を適切に表す関数モデルを生成することができる。このように生成される関数モデルの複数のパラメータによってその境界線が適切に表されるため、２つの境界線の交点を高精度に検出することができる。
【０１０１】
また、関数モデルは、図４に示すように、例えば黒領域である第１の領域と、白領域である第２の領域との境界にある２次元座標系上の各位置の画素値を、少なくとも１回微分可能な曲面で表すため、エイリアシングを適切に表現することができる。したがって、水平方向および垂直方向以外の方向に沿うエッジを含むチェッカーパタンからも交点を高精度に検出することができる。
【０１０２】
さらに、少なくとも１回微分可能な曲面によって画素値が表現されるため、勾配法を用いて評価値を簡単に最適化することができ、計算コストの低減を図ることができる。
【０１０３】
さらに、チェッカーパタンの交点を高精度に検出することができるため、３次元座標系におけるチェッカーパタンの交点の位置と、撮影画像におけるその交点の位置とを対応付けるキャリブレーションの高精度化を図ることができる。
【０１０４】
（実施の形態２）
ここで、上記実施の形態１における関数モデルで生じる０．１０画素の根二乗平均誤差は、関数モデルと実際の画素値の空間分布との違いによって生じている。この誤差の原因を以下に説明する。
【０１０５】
矩形画像における黒領域と白領域との境界であるステップエッジがカメラ１０２によって撮影されるときには、画素の積分効果によって、画素値が決まる。
【０１０６】
図１１は、画素の積分効果の一例を示す図であり、図１２は、関数モデルの誤差の原因を説明するための図である。
【０１０７】
例えば、図１１に示すように、イメージセンサの画素がそれぞれ等面積の２つの領域に分けられ、一方の領域に、単位面積あたり画素値ａ＋ｄに相当する光が入射し、他方の領域に、単位面積あたり画素値ｄに相当する光が入射する。この場合、その画素から出力される画素値は、ａ／２＋ｄとなる。一方、図１２に示すように、ロジスティック関数のサブピクセル位置の画素値（サブピクセル値）は、画素の積分効果によって決まる画素値と異なる。図１２において、画素値２００を有する画素の座標は、ロジスティック関数では０．１３画素に対し、画素の積分効果では０．２８画素となる。したがって、実施の形態１における関数モデルを用いた交点検出装置１０１では、高精度に交点を検出することができるが、さらなる高精度化の余地がある。
【０１０８】
［数値モデル］
実施の形態２における交点検出装置は、関数モデルではなく、数値モデルを用いることによって、実施の形態１の交点検出装置よりも高精度に交点を検出する。
【０１０９】
図１３は、実施の形態２における交点検出装置のブロック図である。図１３に示すように、本実施の形態における交点検出装置１１０１は、カメラ１０２、メモリ１０３、モニター１０４、初期交点入力部１０５、交点検出部１１０２、および交点座標格納部１０７を備える。なお、本実施の形態では、交点検出装置１１０１は、カメラ１０２、モニター１０４、初期交点入力部１０５および交点座標格納部１０７を備えるが、これらの構成要素を備えていなくてもよい。また、本実施の形態における交点検出部１１０２は、例えば少なくとも１つのプロセッサからなる。また、本実施の形態において、実施の形態１と同一の構成要素には、実施の形態１と同一の符号を付し、その詳細な説明を省略する。
【０１１０】
以下に、数値モデルによって交点を検出する交点検出部１１０２の動作について説明する。
【０１１１】
交点検出部１１０２は、撮影画像のうちの少なくとも一部の画像を処理対象画像としてメモリ１０３から読み出し、処理対象画像に映し出された、チェッカーパタンにおける２つの境界線の交点を検出する。なお、２つの境界線はそれぞれ、処理対象画像における、第１の画素値を有する複数の画素からなる第１の領域と、前記第１の画素値よりも大きい第２の画素値を有する複数の画素からなる第２の領域との境界線である。
【０１１２】
具体的には、交点検出部１１０２は、数値モデルによって表現される各画素値と、処理対象画像の各画素値との差分に基づく評価値を最適化するための、数値モデルの複数のパラメータを決定する。そして、交点検出部１１０２は、その決定された複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、処理対象画像内にある２つの境界線の交点をサブピクセル精度で検出する。ここで、数値モデルは、直線によって分割される画素内の各領域に画素値を与え、その画素全体の画素値を決定することによって、ステップエッジ撮影時の画素の積分効果を模擬的に表すモデルである。具体的には、交点検出部１１０２は、数値モデルの複数のパラメータの決定では、まず、画素に対してオーバーサンプリングを行うことによって複数のサブピクセルを生成し、複数のパラメータによって表現される直線によってその画素を複数の領域に分割する。次に、交点検出部１１０２は、その複数の領域のそれぞれに含まれる各サブピクセルに対して、複数のパラメータによって表現されるサブピクセル値を与える。そして、交点検出部１１０２は、その画素の範囲でサブピクセル値の数値積分を行うことによって、数値モデルによって表現される画素値を算出する。
【０１１３】
すなわち、交点検出部１１０２は、メモリ１０３から読み出した処理対象画像である矩形画像に映し出されているチェッカーパタンに、数値モデルをあてはめる。この数値モデルのあてはめによって、水平方向および垂直方向以外の方向に沿うエッジを含むチェッカーパタンからもサブピクセル精度で交点の位置を検出することができる。なお、数値モデルをあてはめるとは、上述の評価値を最適化するための数値モデルの複数のパラメータを決定することである。交点検出部１１０２は、数値モデルの複数のパラメータを変更しながら、すなわち、上述の２つの直線の交点の位置を、初期交点の位置（すなわち座標）から変更しながら、評価値を最適化するための数値モデルの複数のパラメータを決定する。
【０１１４】
また、数値モデルでは、撮影画像におけるステップエッジ撮影時の画素の積分効果がモデル化されているため、検出精度を向上することができる。つまり、数値モデルでは、画素に対するオーバーサンプリングによって得られる複数のサブピクセルにサブピクセル値が与えられ、もとの１画素の範囲内でそれらのサブピクセル値が数値積分または平均化される。これにより、エイリアシングの発生を高精度にモデル化できる。このような画素の積分効果は、サブピクセル精度でチェッカーパタンの交点をより高精度に検出する場合に必要である。
【０１１５】
なお、交点検出部１１０２は、実施の形態１と同様、メモリ１０３から矩形画像を読み出すときには、まず、初期交点入力部１０５から出力された初期交点の座標（すなわち第２の初期位置）を取得する。つまり、交点検出部１１０２は、オペレータによる操作に応じて、表示されている撮影画像中の位置を第２の初期位置として取得する。そして、交点検出部１１０２は、撮影画像のうち、第２の初期位置を含む領域を矩形画像（すなわち処理対象画像）としてメモリ１０３から読み出す。具体的には、交点検出部１１０２は、初期交点の位置を中心とする矩形画像をメモリ１０３から読み出す。
【０１１６】
図１４は、本実施の形態における交点検出部１１０２の動作を示すフローチャートである。なお、図１４に示すフローチャートにおいて、実施の形態１の図３に示すフローチャートと同一のステップには、図３に示すフローチャートと同一の符号を付し、その詳細な説明を省略する。
【０１１７】
交点検出部１１０２は、オペレータが与える初期交点の位置を中心とする矩形画像を取得する（ステップＳ１０１）。次に、交点検出部１０６は、その初期交点の位置に基づいて、交点の検出に必要な数値モデルの複数のパラメータ（ａ，ｂ，ｃ，ｄ，θ，φ）の初期値を設定する（ステップＳ１２０１）。
【０１１８】
さらに、交点検出部１１０２は、矩形画像の各画素に対して、ｘ軸方向にＮｘ倍とｙ軸方向にＮｙ倍のオーバーサンプリングを行う（ステップＳ１２０２）。これにより、１画素はＮｘ×Ｎｙ個のサブピクセルに分割される。２倍以上のオーバーサンプリングを行った場合、数値モデルによってエイリアシングを再現することができる。
【０１１９】
次に、交点検出部１１０２は、数値モデルによる評価値を算出する（ステップＳ１２０３）。そして、交点検出部１１０２は、実施の形態１の交点検出部１０６と同様、ステップＳ１０５〜Ｓ１０７の処理を実行することによって、交点の位置を検出する。
【０１２０】
図１５は、数値モデルの概形を示す図である。
【０１２１】
交点検出部１１０２は、図１５に示す数値モデルが、矩形画像のチェッカーパタンにあてはまるように、評価値を最適化（実質的には最小化）するための、その数値モデルの複数のパラメータを決定する。この数値モデルでは、画素値に相当するｚ値が変化する領域において、ｘ軸方向またはｙ軸方向に沿う位置の変化に対してｚ値が直線的に変化する。つまり、この数値モデルは、画素の積分効果を数値的に表す。
【０１２２】
図１６は、図１４のステップＳ１２０３における評価値の算出の詳細を示すフローチャートである。交点検出部１１０２は、この図１６に示すように数値モデルを作成し、矩形画像とのあてはまりを評価する。
【０１２３】
まず、交点検出部１１０２は、矩形画像内に、２本の直線（ｘｃｏｓθ＋ｙｓｉｎθ＋ｂ＝０）と（ｘｓｉｎφ−ｙｃｏｓφ＋ｃ＝０）を引く（ステップＳ１４０１）。次に、交点検出部１１０２は、矩形画像内の画素（ｘｋ，ｙｋ）に対するオーバーサンプリングにより生じたサブピクセルに対し、サブピクセル値Ｓｋ（ｘｉ，ｙｉ）を算出（ステップＳ１４０２）。
【０１２４】
図１７は、矩形画像における各領域のサブピクセル値を示す図である。
【０１２５】
交点検出部１１０２は、ステップＳ１４０２では、２本の直線によって区分けされた矩形画像内の各領域に対して、以下の（式６）に示すように、サブピクセル値ｄまたは（ａ＋ｄ）を与える。
【０１２６】
【数７】
2018088228.tif 000009
【０１２７】
ここで、上記（式６）において、ｉは、Ｎｘ×Ｎｙ個のサブピクセルのインデックスを示し、（ａ＋ｄ）は白レベルを表し、ｄは黒レベルを表す。
【０１２８】
次に、交点検出部１１０２は、ぼけの程度を表すパラメータσを用いたガウシアンフィルタを、矩形画像内の全てのサブピクセルに適用する（ステップＳ１４０３）。つまり、交点検出部１１０２は、（式１）の画素値Ｉ（ｘ，ｙ）をサブピクセル値Ｓｋ（ｘｉ，ｙｉ）に置き換えることにより、サブピクセル値Ｓｋ（ｘｉ，ｙｉ）に対し、ガウシアンフィルタ適用後のサブピクセル値Ｓ’ｋ（ｘｉ，ｙｉ）を得る。なお、本実施の形態では、サブピクセル値に対してガウシアンフィルタを適用するが、その適用は必須ではなく、ガウシアンフィルタを適用しなくてもよい。
【０１２９】
次に、交点検出部１１０２は、以下の（式７）に示すように、数値モデルの画素値Ｍ（ｘｋ，ｙｋ）を、ガウシアンフィルタ適用後のサブピクセル値Ｓ’ｋ（ｘｉ，ｙｉ）の平均値として算出する（ステップＳ１４０４）。
【０１３０】
【数８】
2018088228.tif 000010
【０１３１】
図１８は、数値モデルの画素値Ｍ（ｘｋ，ｙｋ）の一例を示す図である。図１９は、数値モデルの画素値Ｍ（ｘｋ，ｙｋ）の他の例を示す図である。具体的には、図１８および図１９は、Ｎｘ倍およびＮｙ倍のそれぞれが３倍であるオーバーサンプリングによって得られた９つのサブピクセルから画素値Ｍ（ｘｋ，ｙｋ）を算出する場合の例を示す。
【０１３２】
図１８に示すように、１つの直線（ｘｃｏｓθ＋ｙｓｉｎθ＋ｂ＝０）が画素を横切る場合、交点検出部１１０２は、上記（式６）にしたがって、画素に含まれる９個のサブピクセルに対して、サブピクセル値（ａ＋ｄ）またはａを与える。そして、交点検出部１１０２は、上記（式７）にしたがって、それらのサブピクセル値の平均値を数値モデルの画素値Ｍ（ｘｋ，ｙｋ）として算出する。
【０１３３】
図１９に示すように、２つの直線（ｘｃｏｓθ＋ｙｓｉｎθ＋ｂ＝０）および（ｘｃｏｓφ＋ｙｓｉｎφ＋ｃ＝０）が画素を横切る場合も、交点検出部１１０２は、サブピクセル値を算出する。つまり、交点検出部１１０２は、上記（式６）にしたがって、画素に含まれる９個のサブピクセルに対して、サブピクセル値（ａ＋ｄ）またはａを与える。そして、交点検出部１１０２は、上記（式７）にしたがって、それらのサブピクセル値の平均値を数値モデルの画素値Ｍ（ｘｋ，ｙｋ）として算出する。
【０１３４】
このように、本実施の形態における交点検出部１１０２は、オーバーサンプリングによって得られた複数のサブピクセルのそれぞれのサブピクセル値を、上記（式７）で示すように、オーバーサンプリングが行われる前の１画素の範囲内で数値積分または平均化する。これにより、ステップエッジ撮影時に各画素で生じるエイリアシングを精度良く再現することができ、その結果、交点の位置の検出精度を高めることが可能となる。
【０１３５】
交点検出部１１０２は、矩形画像のチェッカーパタンに対する数値モデルのあてはめの状態を評価値Ｊとして算出し、その評価値Ｊを図１４に示す処理に返す（ステップＳ１４０５）。つまり、交点検出部１１０２は、以下の（式８）に示すように、数値モデルの画素値Ｍ（ｘｋ，ｙｋ）と矩形画像の画素値Ｉ（ｘｋ，ｙｋ）との二乗残差の総和を、評価値Ｊとして算出する。
【０１３６】
【数９】
2018088228.tif 000011
【０１３７】
数値モデルでは微分ができないため、図１４に示すステップＳ１２０３、Ｓ１０５およびＳ１０６からなる反復計算では、関数モデルにおける反復計算とは異なり、最急降下法などの勾配法が使用できない。そのため、交点検出部１１０２は、数値モデルの複数のパラメータのそれぞれを初期値から特定の範囲内で変化させ、評価値Ｊが実質的に最小となる複数のパラメータを求める。これにより、評価値Ｊを最適化するための、数値モデルの複数のパラメータが決定される。
【０１３８】
図２０は、本実施の形態における数値モデルを用いた交点検出装置１１０１による交点の検出精度を示す図である。この検出精度は、実施の形態１における関数モデルの検出精度と同様、ＣＧ撮影画像に対する数値モデルの検出精度である。根二乗平均誤差は、実施の形態１における関数モデルより小さい０．０４画素である。したがって、本実施の形態では、より精度の高い交点の位置を検出することができる。
【０１３９】
図２１は、本実施の形態における数値モデルを用いた交点検出装置１１０１によって検出された交点の位置と、実際の交点の位置との誤差を高さとして示す等高線図である。図２１に示すように、本実施の形態では、ＣＧ撮影画像のあるチェッカーパタンの歪みが大きい領域であっても、交点の位置をより高い精度で検出することができる。
【０１４０】
［実施の形態２のまとめ］
以上、実施の形態２における交点検出装置１１０１および交点検出方法について説明したが、これらを纏めると、交点検出装置１１０１は、図２２Ａに示す構成を有し、交点検出方法は、図２２Ｂに示すフローによって表される。
【０１４１】
図２２Ａは、本開示の第２の態様に係る交点検出装置１１０１の構成を示すブロック図である。
【０１４２】
交点検出装置１０１は、メモリ１０３とプロセッサ１１０２とを備える。メモリ１０３は、チェッカーパタンの撮影によって得られた撮影画像を保持する。プロセッサ１１０２は、その撮影画像のうちの少なくとも一部の画像を処理対象画像としてメモリ１０３から読み出す。そして、プロセッサ１１０２は、その処理対象画像に映し出された、チェッカーパタンにおける２つの境界線の交点を検出する。
【０１４３】
ここで、２つの境界線はそれぞれ、処理対象画像における、第１の画素値を有する複数の画素からなる第１の領域と、第１の画素値よりも大きい第２の画素値を有する複数の画素からなる第２の領域との境界線である。
【０１４４】
また、プロセッサ１１０２は、数値モデルによって表現される各画素値と、処理対象画像の各画素値との差分に基づく評価値を最適化するための、その数値モデルの複数のパラメータを決定する。そして、プロセッサ１１０２は、決定された複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、処理対象画像内にある２つの境界線の交点をサブピクセル精度で検出する。
【０１４５】
ここで、数値モデルは、直線によって分割される画素内の各領域に画素値を与え、その画素全体の画素値を決定することによって、ステップエッジ撮影時の画素の積分効果を模擬的に表すモデルである。
【０１４６】
図２２Ｂは、本開示の第２の態様に係る交点検出方法を示すフローチャートである。
【０１４７】
まず、プロセッサ１１０２は、チェッカーパタンの撮影によって得られた撮影画像を保持しているメモリ１０３から、その撮影画像のうちの少なくとも一部の画像を処理対象画像として読み出す（ステップＳ２１）。そして、プロセッサ１１０２は、その処理対象画像に映し出された、チェッカーパタンにおける２つの境界線の交点を検出する（ステップＳ２２）。
【０１４８】
ステップＳ２２では、プロセッサ１１０２は、まず、数値モデルによって表現される各画素値と、処理対象画像の各画素値との差分に基づく評価値を最適化するための、その数値モデルの複数のパラメータを決定する（ステップＳ２２ａ）。そして、プロセッサ１１０２は、決定された複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、処理対象画像内にある２つの境界線の交点をサブピクセル精度で検出する（ステップＳ２２ｂ）。
【０１４９】
これにより、数値モデルによって表現される各画素値と、処理対象画像の各画素値との差分に基づく評価値を最適化するための、数値モデルの複数のパラメータが決定され、その複数のパラメータに基づいて交点が算出される。したがって、評価値の最適化によって、数値モデルを、処理対象画像に映し出されているパタンにマッチングすることができる。その結果、チェッカーパタンが回転していても、すなわち、処理対象画像に映し出されているチェッカーパタンの境界線（すなわちエッジ）が傾斜しても、その傾斜された境界線を適切に表す数値モデルを生成することができる。このように生成される数値モデルの複数のパラメータによってその境界線が適切に表されるため、２つの境界線の交点を高精度に検出することができる。
【０１５０】
また、数値モデルは、直線によって分割される画素内の各領域に画素値を与え、その画素全体の画素値を決定することによって、ステップエッジ撮影時の画素の積分効果を模擬的に表すモデルであるため、エイリアシングをより適切に再現することができる。したがって、水平方向および垂直方向以外の方向に沿うエッジを含むチェッカーパタンからも交点をより高精度に検出することができる。
【０１５１】
さらに、チェッカーパタンの交点をより高精度に検出することができるため、３次元座標系におけるチェッカーパタンの交点の位置と、撮影画像におけるその交点の位置とを対応付けるキャリブレーションのさらなる高精度化を図ることができる。
【０１５２】
（実施の形態３）
［交点検出の粗密探索］
上述のように、関数モデルによって交点を検出する場合には、勾配法が使えるため、計算コストが小さい。一方、数値モデルによって交点を検出する場合には、勾配法が使えないため、計算コストが大きいが、より高精度に交点を検出することができる。
【０１５３】
そこで、本実施の形態における交点検出装置１１０１は、実施の形態２における交点検出装置１１０１と同様の構成を有するが、本実施の形態における交点検出部１１０２は、実施の形態１の交点検出部１０６の機能も兼ね備える。つまり、本実施の形態における交点検出部１１０２は、実施の形態１と同様に、関数モデルによって交点の位置を第１の初期位置として算出する。次に、交点検出部１１０２は、数値モデルの複数のパラメータによって表現される２つの直線の交点の位置を、その第１の初期位置から変更しながら、評価値Ｊを最適化する。これによって、交点の粗密探索を行うことができ、計算コストを抑えて高精度に交点を検出することができる。
【０１５４】
図２３は、本実施の形態における交点検出部１１０２の動作を示すフローチャートである。なお、この図２３に示すフローチャートは、チェッカーパタンの交点を効率的に計算するための粗密探索手順である。
【０１５５】
まず、交点検出部１１０２は、オペレータが与える初期交点の位置を中心とする矩形画像を取得する（ステップＳ１９０１）。そして、交点検出部１１０２は、関数モデルに必要なパラメータの初期値を設定する（ステップＳ１９０２）。
【０１５６】
次に、交点検出部１１０２は、この初期値を使用し、実施の形態１と同様、関数モデルによって交点の位置を第１の初期位置として検出する（ステップＳ１９０３）。そして、交点検出部１１０２は、この関数モデルによって検出された第１の初期位置を、初期交点の位置（上述の第２の初期位置）として用いる。すなわち、交点検出部１１０２は、数値モデルの複数のパラメータによって表現される２つの直線の交点の位置を、その第１の初期位置から変更しながら、上記（式８）に示す評価値Ｊを最適化する。これにより、数値モデルによって最終的な交点が検出される（ステップＳ１９０４）。
【０１５７】
ここで、上述のように、関数モデルによる交点の検出では勾配法が使えるため、関数モデルによる交点の検出にかかる計算コストは、数値モデルによる交点の検出にかかる計算コストよりも小さい。具体的には、関数モデルによる検出の計算コストは、数値モデルによる検出の計算コストの１／１００程度である。一方、数値モデルによる交点の検出では、画素の積分効果とエイリアシングを再現することができるため、数値モデルによる交点の位置の検出精度は、関数モデルによる交点の位置の検出精度よりも高い。このため、関数モデルによる交点の検出を粗探索とて用い、数値モデルによる交点の検出を密探索として用いる、本実施の形態における粗密探索手法は、低計算コストで高精度に交点を検出することができる。
【０１５８】
つまり、本実施の形態における交点検出部１１０２は、実施の形態２に対して、さらに、２次元画像座標を変数とする関数モデルによって表現される各画素値と、処理対象画像の各画素値との差分に基づく評価値を最適化するための、関数モデルの複数のパラメータを決定する。そして、交点検出部１１０２は、決定された複数のパラメータによって表現される２つの直線の交点の位置を第１の初期位置として算出する。交点検出部１１０２は、数値モデルの複数のパラメータの決定では、その数値モデルの複数のパラメータによって表現される２つ直線の交点の位置を、第１の初期位置から変更しながら上記（式８に示す）評価値Ｊを最適化する。この最適化によって、数値モデルの複数のパラメータが決定される。したがって、交点検出部１１０２は、決定されたその複数のパラメータによって表現される２つの直線の交点の位置を算出することによって、処理対象画像内にある２つの境界線の交点をサブピクセル精度で最終的に検出する。
【０１５９】
これにより、チェッカーパタンの交点の粗密探索を行うことができる。つまり、関数モデルを用いて交点の大まかな位置を第１の初期位置として検出し、さらに、その第１の初期位置から、数値モデルを用いて交点を探索することによって、チェッカーパタンの交点を検出することができる。関数モデルを用いた交点の検出では、計算コストは小さいが、交点の検出精度は、数値モデルを用いた交点の検出よりも低い。一方、数値モデルを用いた交点の検出では、計算コストは大きいが、交点の検出精度は、関数モデルを用いた交点の検出よりも高い。したがって、上述の粗密探索を行うことによって、計算コストの低減と検出精度の向上とをバランスよく実現することができる。
【０１６０】
（実施の形態４）
上記実施の形態１〜３では、オペレータによる操作によって初期交点を受け付け、その初期交点の近傍に対し、関数モデルおよび数値モデルのうちの少なくとも一方を使用することにより、半自動的に交点を検出した。一方、本実施の形態では、オペレータによる操作を受け付けることなく、自動的に初期交点を生成して交点を検出する。
【０１６１】
図２４は、本実施の形態における交点検出装置のブロック図である。図２４に示すように、本実施の形態における交点検出装置２００１は、カメラ１０２、メモリ１０３、初期交点生成部２００２、交点検出部２００３、交点判定部２００４、および交点座標格納部１０７を備える。なお、本実施の形態では、交点検出装置２００１は、カメラ１０２および交点座標格納部１０７を備えるが、これらの構成要素を備えていなくてもよい。また、本実施の形態における初期交点生成部２００２、交点検出部２００３および交点判定部２００４を含む構成要素群は、例えば少なくとも１つのプロセッサからなる。また、実施の形態において、実施の形態１または実施の形態２と同一の構成要素には、実施の形態１または実施の形態２と同一の符号を付し、その詳細な説明を省略する。
【０１６２】
以下に、初期交点生成部２００２、交点検出部２００３および交点判定部２００４のそれぞれについて説明する。
【０１６３】
初期交点生成部２００２は、水平方向および垂直方向のそれぞれに沿って配列する複数の初期交点を生成する。これらの初期交点は、矩形画像内に格子状に配列され、隣の初期交点とは予め定められた間隔だけ離れている。
【０１６４】
交点検出部２００３は、実施の形態１〜３の交点検出部と同様、撮影画像のうちの一部の画像であって、初期交点を中心とする処理対象画像（具体的には、矩形画像）をメモリ１０３から読み出す。そして、交点検出部２００３は、関数モデルまたは数値モデルに用いられる交点の位置を変更しながら、評価値Ｊを最適化するためのチェッカーパタンの交点をその矩形画像から探索する。
【０１６５】
ここで、本実施の形態では、初期交点生成部２００２によって複数の初期交点が生成される。そこで、交点検出部２００３は、初期交点生成部２００２によって生成された複数の初期交点から１つの初期交点を選択初期交点として順に選択する。そして、交点検出部２００３は、選択初期交点を選択するごとに、その選択初期交点を中心とする矩形画像をメモリ１０３から読み出す。さらに、交点検出部２００３は、その選択初期交点の位置から、上記各モデルに用いられる交点の位置を変更しながら、チェッカーパタンの交点を矩形画像から探索する。
【０１６６】
しかし、選択初期交点を中心とする矩形画像には、交点が映し出されていない場合がある。実施の形態の１〜３では、オペレータが初期交点を選択している。したがって、その初期交点を中心とする矩形画像には、チェッカーパタンの交点が映し出されている。ところが、本実施の形態では、矩形画像の内容に関わらず複数の初期交点が生成されるため、それらの初期交点を中心とする矩形画像には、チェッカーパタンの交点が映し出されていない場合がある。
【０１６７】
したがって、交点検出部２００３は、矩形画像に対して交点でない位置を、交点の位置として検出してしまうことがある。そこで、交点検出部２００３は、検出された交点の位置とともに、最適化された評価値Ｊを交点判定部２００４に出力する。
【０１６８】
交点判定部２００４は、交点検出部２００３によって検出された交点の信頼性を評価するために、評価値Ｊが閾値よりも小さいか否かを判定する。つまり、評価値Ｊが閾値よりも小さい場合には、交点判定部２００４は、矩形画像に映し出されているチェッカーパタンの交点が適切に検出されていると判定する。例えば、交点判定部２００４は、評価値Ｊが０に近い値の場合に、交点が適切に検出されていると判定する。そして、交点判定部２００４は、検出された交点の位置（ｘｋ，ｙｋ）を交点座標格納部１０７に格納する。一方、評価値Ｊが閾値以上の場合には、交点判定部２００４は、矩形画像に交点が映し出されていないにもかかわらず、交点でない位置が交点の位置として検出されていると判定する。例えば、矩形画像が２５６階調で表されている場合、交点判定部２００４は、評価値Ｊが１２８以上の場合に、交点でない位置が交点の位置として検出されていると判定する。その結果、交点判定部２００４は、その検出された交点の位置を交点座標格納部１０７に格納することなく破棄する。
【０１６９】
なお、本実施の形態では、図３に示すステップＳ１０５および図１４に示すステップＳ１０５の終了条件が、反復計算の繰り返し回数によって判定される場合に、検出された交点の信頼性を評価値Ｊによって評価することができる。
【０１７０】
このように、本実施の形態におけるプロセッサは、予め定められた複数の初期交点を生成し、それらの複数の初期交点のうちの１つの初期交点を選択初期交点として順次選択する。そして、プロセッサは、処理対象画像の読み出しでは、選択初期交点が選択されるごとに、その選択初期交点の位置を含む処理対象画像を読み出す。また、交点のサブピクセル精度の検出では、プロセッサは、最適化された評価値Ｊが閾値よりも小さい場合に、複数のパラメータに基づいて、処理対象画像内にある２つの境界線の交点をサブピクセル精度で検出する。
【０１７１】
これにより、オペレータによる操作を必要とせず、自動的に、処理対象画像を順次読み出して、その処理対象画像に交点があれば、その交点を高精度に検出することができる。
【０１７２】
（実施の形態５）
本実施の形態におけるカメラ校正システムは、実施の形態１〜４の何れかの交点検出装置によって検出された交点を用いて、チェッカーパタンの撮影に用いられたカメラのカメラパラメータを算出することによって、そのカメラパラメータを校正する。
【０１７３】
図２５は、本実施の形態におけるカメラ校正システムのブロック図である。図２５に示すように、本実施の形態におけるカメラ校正システム３００は、交点検出装置３０１と、３次元座標取得部３０２と、カメラパラメータ算出部３０３と、カメラパラメータ出力部３０４とを備える。なお、本実施の形態における交点検出装置３０１、３次元座標取得部３０２、カメラパラメータ算出部３０３、およびカメラパラメータ出力部３０４を含む構成要素群は、例えば少なくとも１つのプロセッサからなる。
【０１７４】
交点検出装置３０１は、実施の形態１〜４の何れかの交点検出装置である。
【０１７５】
３次元座標取得部３０２は、実施の形態１〜４における交点座標格納部１０７に格納される３次元座標系における位置（Ｘｎ，Ｙｎ，Ｚｎ）を取得する。この３次元座標系における位置は、カメラ１０２によって撮影されるチェッカーパタンの交点の世界座標系での位置である。チェッカーパタンは、図２に示す箱状の物体の内側に描画されたパタンである。このような３次元座標取得部３０２は、空間上の特定の位置に世界座標系の原点を定め、Ｘ軸、Ｙ軸およびＺ軸の３軸を定めることにより、その交点の世界座標系（すなわち３次元座標系）における位置を同定する。３次元座標取得部３０２は、例えばレンジファインダである。
【０１７６】
カメラパラメータ算出部３０３は、交点検出装置３０１で検出された交点の画像座標系における位置と、３次元座標取得部３０２で取得した３次元座標系における位置とに基づき、交点検出装置３０１のカメラ１０２のカメラパラメータを算出する。
【０１７７】
カメラパラメータの算出方法の一例として、Ｔｓａｉの方式（非特許文献１参照）がある。このＴｓａｉの方式では、再投影誤差の総和を最小化することによってカメラパラメータが算出される。再投影誤差は、３次元座標系における点を、カメラパラメータによって画像上に投影することによって得られる点（以下、再投影点ともいう）と、その３次元座標系における点に対応する画像上の点との距離である。なお、３次元座標系における点は、３次元座標取得部３０２によって取得された位置にある点である。また、３次元座標系における点に対応する画像上の点は、交点検出装置３０１によって検出される交点である。Ｔｓａｉの方式では、それぞれ再投影点と交点とからなる複数の組の再投影誤差の総和が最小化されるようにカメラパラメータを算出する。
【０１７８】
例えば、ピンホールカメラを用いるモデルでは、カメラパラメータを用いた３次元座標から画像座標への投影式は、以下の数式によって表される。このような投影式によって、上述の再投影点の位置を算出することができる。
【０１７９】
【数１０】
2018088228.tif 000012
【０１８０】
このピンホールカメラのモデルのカメラパラメータは、カメラ画像の中心のｘ座標成分Ｃｘ及びｙ座標成分Ｃｙと、焦点距離ｆと、カメラの撮像素子の１画素におけるｘ軸方向長さｄ’ｘ及びｙ軸方向長さｄ’ｙと、３次元座標の基準に対するカメラの回転を示す３行３列の回転行列Ｒの成分Ｒｉｊと、３次元座標の基準に対するカメラの並進距離を示す並進ベクトルのＸ座標成分ＴＸ、Ｙ座標成分ＴＹ及び、Ｚ座標成分ＴＺと、自由度のない媒介変数ｈとを、要素として含む。回転行列Ｒの要素Ｒｉｊにおいて、添え字ｉは回転行列Ｒの行番号を表し、添え字ｊは回転行列Ｒの列番号を表す。例えば、カメラの内部パラメータであるＣｘ、Ｃｙ、ｆ、ｄ’ｘ及びｄ’ｙは、設計値を有し設計値通りに規定され得る。カメラの外部パラメータである回転行列Ｒ及び並進ベクトルＴは、カメラの姿勢及び位置に関するパラメータであり、設計値を有しても設計値通りに規定できない場合がある。このため、カメラの内部パラメータには設計値が使用され、カメラの外部パラメータが算出されてもよい。
【０１８１】
カメラパラメータ出力部３０４は、カメラパラメータ算出部３０３によって算出されたカメラパラメータを出力する。例えば、カメラパラメータ出力部３０４は、そのカメラパラメータを示す信号を、カメラ校正システム３００の外部の装置に出力してもよく、そのカメラパラメータを表示してもよい。
【０１８２】
なお、カメラ校正システム３００の各構成要素間は、通信回線またはネットワークで接続されていてもよい。例えば、交点検出装置３０１とカメラパラメータ算出部３０３との間のデータの受け渡しと、３次元座標取得部３０２とカメラパラメータ算出部３０３との間のデータの受け渡しとは、通信回線またはネットワークを介して行われもよい。
【０１８３】
このような本実施の形態におけるカメラ校正システム３００では、交点検出装置３０１によって得られた高精度な交点座標を用いることによって、カメラパラメータを高精度に校正することができる。
【０１８４】
（その他の実施の形態）
以上、本開示の幾つかの態様に係る交点検出装置および交点検出方法について、上記各実施の形態に基づいて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を上記各実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の範囲内に含まれてもよい。
【０１８５】
例えば、実施の形態１では、関数モデルとして、２次元に拡張されたロジスティック関数を用いたが、このロジスティック関数以外の関数を用いてもよい。具体的には、逆正接関数であってもよい。
【０１８６】
図２６Ａは、関数モデルに用いられる逆正接関数を示す図である。
【０１８７】
実施の形態１における交点検出部１０６は、この図２６Ａに示す逆正接関数を２次元に拡張した関数モデルによって表現される各画素値と、矩形画像の各画素値との差分に基づく評価値Ｊを最適化するための、関数モデルの複数のパラメータを決定してもよい。
【０１８８】
図２６Ｂは、関数モデルに用いられる正規分布Ｎ（μ，σ２）の累積分布関数を示す図である。なお、μは平均であり、σ２は分散である。
【０１８９】
実施の形態１における交点検出部１０６は、この図２６Ｂに示す正規分布Ｎ（μ，σ２）の累積分布関数を２次元に拡張した関数モデルによって表現される各画素値と、矩形画像の各画素値との差分に基づく評価値Ｊを最適化するための、関数モデルの複数のパラメータを決定してもよい。
【０１９０】
図２６Ｃは、関数モデルに用いられるｋ次アーラン分布の累積分布関数を示す図である。
【０１９１】
実施の形態１における交点検出部１０６は、この図２６Ｃに示すｋ次アーラン分布の累積分布関数を２次元に拡張した関数モデルによって表現される各画素値と、矩形画像の各画素値との差分に基づく評価値Ｊを最適化するための、関数モデルの複数のパラメータを決定してもよい。
【０１９２】
また、実施の形態１における交点検出部１０６は、以下の（式９）に示す多項式関数を２次元に拡張した関数モデルによって表現される各画素値と、矩形画像の各画素値との差分に基づく評価値Ｊを最適化するための、関数モデルの複数のパラメータを決定してもよい。なお、（式９）において、変域は［−∞，∞］であり、値域は［０，１］である。
【０１９３】
【数１１】
2018088228.tif 000013
【０１９４】
また、本開示において、ユニット、デバイスの全部又は一部、又は図１、図１０Ａ、図１３、図２２Ａ、図２４および図２５に示されるブロック図の機能ブロックの全部又は一部は、半導体装置、半導体集積回路（ＩＣ）、又はＬＳＩ（large scale integration）を含む一つ又は一つ以上の電子回路によって実行されてもよい。ＬＳＩ又はＩＣは、一つのチップに集積されてもよいし、複数のチップを組み合わせて構成されてもよい。例えば、記憶素子以外の機能ブロックは、一つのチップに集積されてもよい。ここでは、ＬＳＩまたはＩＣと呼んでいるが、集積の度合いによって呼び方が変わり、システムＬＳＩ、ＶＬＳＩ(very large scale integration)、若しくはＵＬＳＩ(ultra large scale integration)と呼ばれるかもしれない。ＬＳＩの製造後にプログラムされる、Field Programmable Gate Array(FPGA)、又はＬＳＩ内部の接合関係の再構成又はＬＳＩ内部の回路区画のセットアップができるreconfigurable logic deviceも同じ目的で使うことができる。
【０１９５】
さらに、ユニット、装置、又は装置の一部の、全部又は一部の機能又は操作は、ソフトウエア処理によって実行することが可能である。この場合、ソフトウエアは一つ又は一つ以上のＲＯＭ、光学ディスク、ハードディスクドライブ、などの非一時的記録媒体に記録され、ソフトウエアが、処理装置（processor）によって実行された場合に、ソフトウエ
アは、ソフトウエア内の特定の機能を、処理装置（processor）と周辺のデバイスに実行
させる。システム又は装置は、ソフトウエアが記録されている一つ又は一つ以上の非一時的記録媒体、処理装置（processor）、及び必要とされるハードウエアデバイス、例えば
インターフェース、を備えていても良い。
【０１９６】
つまり、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の交点検出装置などを実現するソフトウエアは、例えば、図３、図１０Ｂ、図１４、図１６、図２２Ｂまたは図２３に示すフローチャートに含まれる各ステップをコンピュータに実行させるプログラムである。
【産業上の利用可能性】
【０１９７】
本開示は、チェッカーパタンの交点の検出精度を向上することができるという効果を奏し、例えば、車載カメラまたは魚眼レンズ等の広視野角のレンズを備えたカメラにおけるキャリブレーションの高精度化を行うための交点検出装置として有用である。
【符号の説明】
【０１９８】
１０１、３０１、１１０１、２００１    交点検出装置
１０２    カメラ
１０３    メモリ
１０４    モニター
１０５    初期交点入力部
１０６、１１０２、２００３    交点検出部
１０７    交点座標格納部
３００    カメラ校正システム
３０２    ３次元座標取得部
３０３    カメラパラメータ算出部
３０４    カメラパラメータ出力部
２００２    初期交点生成部
２００４    交点判定部
【図１】
2018088228.tif 000016
【図２】
2018088228.tif 000017
【図３】
2018088228.tif 000018
【図４】
2018088228.tif 000019
【図５】
2018088228.tif 000020
【図６】
2018088228.tif 000021
【図７】
2018088228.tif 000022
【図８】
2018088228.tif 000023
【図９】
2018088228.tif 000024
【図１０Ａ】
2018088228.tif 000025
【図１０Ｂ】
2018088228.tif 000026
【図１１】
2018088228.tif 000027
【図１２】
2018088228.tif 000028
【図１３】
2018088228.tif 000029
【図１４】
2018088228.tif 000030
【図１５】
2018088228.tif 000031
【図１６】
2018088228.tif 000032
【図１７】
2018088228.tif 000033
【図１８】
2018088228.tif 000034
【図１９】
2018088228.tif 000035
【図２０】
2018088228.tif 000036
【図２１】
2018088228.tif 000037
【図２２Ａ】
2018088228.tif 000038
【図２２Ｂ】
2018088228.tif 000039
【図２３】
2018088228.tif 000040
【図２４】
2018088228.tif 000041
【図２５】
2018088228.tif 000042
【図２６Ａ】
2018088228.tif 000043
【図２６Ｂ】
2018088228.tif 000044
【図２６Ｃ】
2018088228.tif 000045