(57)【要約】【課題】ステレオカメラにおけるステレオカメラキャリブレーションの精度向上が可能な画像認識装置を提供する。【解決手段】第１カメラである左カメラ１１と左カメラ１１と基線長Ｗを隔てて配置される第２カメラである右カメラ１２を備えたステレオカメラ１０と、ステレオカメラ１０のキャリブレーションを実行するキャリブレーション部２０と、基線長Ｗの長さを調整するアクチュエータ部３０と、キャリブレーション後における視差により基線長Ｗの理論値との誤差Δを求め、誤差Δに基づいてアクチュエータ部３０を駆動する制御部４０と、を有して画像認識装置を構成する。【選択図】図１
2018204950.tif 000002
【特許請求の範囲】
【請求項１】
第１カメラと前記第１カメラと基線長を隔てて配置される第２カメラを備えたステレオカメラと、
前記ステレオカメラのキャリブレーションを実行するキャリブレーション部と、
前記基線長の長さを調整するアクチュエータ部と、
前記キャリブレーション後における視差により前記基線長の理論値との誤差を求め、前記誤差に基づいて前記アクチュエータ部を駆動する制御部と、
を有することを特徴とする画像認識装置。
【請求項２】
前記キャリブレーションは、既知の距離に配置したキャリブレーションパターンの撮影に基づいて実行され、
前記制御部は、前記撮影された前記キャリブレーションパターンの視差に基づいて前記基線長の理論値との誤差を求めることを特徴とする請求項１に記載の画像認識装置。
【請求項３】
前記キャリブレーションは、前記ステレオカメラのレンズ歪み補正と前記第１、２カメラ相互の平行化であることを特徴とする請求項１又は２に記載の画像認識装置。
【請求項４】
前記制御部は、前記誤差が所定の範囲内となるまで前記アクチュエータ部の駆動を実行することを特徴とする請求項１から３のいずれか１項に記載の画像認識装置。
【請求項５】
前記制御部は、前記誤差が所定の範囲内であれば、補正パラメータと前記アクチュエータ部の変位量を記憶して、前記キャリブレーションの実行を終了することを特徴とする請求項１から４のいずれか１項に記載の画像認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像認識装置に関し、特に、ステレオカメラを用いた画像認識装置に関する。
【背景技術】
【０００２】
従来の技術として、ステレオカメラを用いた距離測定装置において、ステレオカメラの視差検出誤差の補正精度を高め、距離測定精度を向上させる画像認識装置が知られている（例えば、特許文献１参照）。
【０００３】
この画像認識装置は、２つ１組のカメラからなるステレオカメラの視差検出誤差を補正するための補正値を生成するステレオカメラキャリブレーション装置であって、複数の設計視差値に対応する複数の実視差値毎に、実視差値と水平座標値に対応する実視差値の補正値を生成するように構成されている。すなわち、取り得る複数の設計視差値に応じて、ステレオカメラと補正用被写体との距離を設定し、各距離にて、ステレオカメラで補正用被写体を撮影して、各水平座標値毎の実視差値を検出する。そして、複数の設計視差値毎に、該設計視差値と水平座標値に対応する実視差値を示す実視差測定値テーブルを生成し、該実視差測定値テーブルから、複数の設計視差値に対応する複数の実視差値毎に、該実視差値と水平座標値に対応する視差補正量を示す視差補正テーブルを生成する。これにより、ステレオカメラの視差検出誤差の補正精度を高め、距離測定精度を向上させる画像認識装置が可能になるとされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−６１７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の画像認識装置では、ステレオカメラの左右のカメラの間隔である基線長が固定であるので、カメラの組み付け誤差により、距離算出精度が低下するという問題があった。
【０００６】
したがって、本発明の目的は、ステレオカメラにおけるステレオカメラキャリブレーションの精度向上が可能な画像認識装置を提供することにある。
【課題を解決するための手段】
【０００７】
［１］上記目的を達成するため、第１カメラと前記第１カメラと基線長を隔てて配置される第２カメラを備えたステレオカメラと、前記ステレオカメラのキャリブレーションを実行するキャリブレーション部と、前記基線長の長さを調整するアクチュエータ部と、前記キャリブレーション後における視差により前記基線長の理論値との誤差を求め、前記誤差に基づいて前記アクチュエータ部を駆動する制御部と、を有することを特徴とする画像認識装置を提供する。
【０００８】
［２］前記キャリブレーションは、既知の距離に配置したキャリブレーションパターンの撮影に基づいて実行され、前記制御部は、前記撮影された前記キャリブレーションパターンの視差に基づいて前記基線長の理論値との誤差を求めることを特徴とする上記［１］に記載の画像認識装置であってもよい。
【０００９】
［３］また、前記キャリブレーションは、前記ステレオカメラのレンズ歪み補正と前記第１、２カメラ相互の平行化であることを特徴とする上記［１］又は［２］に記載の画像認識装置であってもよい。
【００１０】
［４］また、前記制御部は、前記誤差が所定の範囲内となるまで前記アクチュエータ部の駆動を実行することを特徴とする上記［１］から［３］までのいずれか１に記載の画像認識装置であってもよい。
【００１１】
［５］また、前記制御部は、前記誤差が所定の範囲内であれば、補正パラメータと前記アクチュエータ部の変位量を記憶して、前記キャリブレーションの実行を終了することを特徴とする上記［１］から［４］までのいずれか１に記載の画像認識装置であってもよい。
【発明の効果】
【００１２】
本発明の画像認識装置によれば、ステレオカメラにおけるステレオカメラキャリブレーションの精度向上が可能となる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施の形態に係る画像認識装置のブロック構成図の一例を示している。
【図２】図２は、ステレオカメラでキャリブレーションパターンを撮像する場合の構成の一例を示す概略斜視図である。
【図３】図３（ａ）は、左カメラによりキャリブレーションパターンを撮像した場合の取得画像であり、図３（ｂ）は、右カメラによりキャリブレーションパターンを撮像した場合の取得画像である。
【図４】図４（ａ）は、キャリブレーションによりレンズ歪み補正、平行化補正された左カメラ画像であり、図４（ｂ）は、キャリブレーションによりレンズ歪み補正、平行化補正された右カメラ画像である。
【図５】図５は、本発明の実施の形態に係る画像認識装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
（本発明の実施の形態）
本発明の実施の形態に係る画像認識装置１は、第１カメラである左カメラ１１と左カメラ１１と基線長Ｗを隔てて配置される第２カメラである右カメラ１２を備えたステレオカメラ１０と、ステレオカメラ１０のキャリブレーションを実行するキャリブレーション部２０と、基線長Ｗの長さを調整するアクチュエータ部３０と、キャリブレーション後における視差により基線長Ｗの理論値との誤差Δを求め、誤差Δに基づいてアクチュエータ部３０を駆動する制御部４０と、を有して構成されている。ここで、誤差Δは、後述するステレオカメラ１０の左カメラ１１と右カメラ１２のカメラ間距離の組み付け誤差である。
【００１５】
図１は、本発明の実施の形態に係る画像認識装置のブロック構成図の一例を示している。図１に示すように、画像認識装置１は、撮像手段としてステレオカメラ１０を備えている。
【００１６】
（ステレオカメラ１０）
ステレオカメラ１０は、第１カメラである左カメラ１１と第２カメラである右カメラ１２で構成され、対象物をステレオ撮像するものである。図１に示すように、左カメラ１１と右カメラ１２のカメラ間距離である基線長Ｗだけ隔てて平行に装着されている。左カメラ１１及び右カメラ１２は、例えば、ＣＣＤ（Charge Coupled Device）、ＣＭＯＳ（Complementary Metal-Oxide Semiconductor）などの半導体撮像素子を備えている。左カメラ１１及び右カメラ１２の焦点距離はｆである。
【００１７】
左カメラ１１、右カメラ１２は、所定の周期Ｔでほぼ同一対象を撮像して、左フレーム画像ＳＬ、右フレーム画像ＳＲを画像処理部３へ出力する。この左フレーム画像ＳＬ、右フレーム画像ＳＲは、左カメラ１１と右カメラ１２のカメラ間距離である基線長Ｗに対応した視差を有する、輝度画像である。
【００１８】
（画像処理部３）
画像処理部３は、画像取得部５、キャリブレーション部２０等から概略構成されている。画像処理部３は、例えば、記憶されたプログラムに従って、取得したデータに演算、加工などを行うＣＰＵ（Central Processing Unit）、半導体メモリであるＲＡＭ（Random Access Memory）及びＲＯＭ（Read Only Memory）などから構成されるマイクロコンピュータである。このＲＯＭには、例えば、画像処理部３が動作するためのプログラム等が格納されている。ＲＡＭは、例えば、複数の画像情報や一時的に演算結果などを格納する記憶領域として用いられる。また画像処理部３は、その内部にクロック信号を生成する手段を有し、このクロック信号に基づいて処理を実行する。
【００１９】
（画像取得部５）
画像取得部５は、左カメラ１１、右カメラ１２をそれぞれ駆動して画像信号を取得することにより、左フレーム画像ＳＬ、右フレーム画像ＳＲをそれぞれ取得する。
【００２０】
（キャリブレーション部２０）
キャリブレーション部２０は、ステレオカメラ１０から入力された左フレーム画像ＳＬ、右フレーム画像ＳＲに基づいて、レンズの歪みを補正し、また、左カメラ１１、右カメラ１２相互の平行化を行なう。キャリブレーション部２０は、レンズの歪みを補正する歪み補正部２１、平行化を行なう平行化部２２から構成されている。
【００２１】
（歪み補正部２１の動作）
歪み補正部２１によるレンズの歪み補正は、例えば、一般的に使用されるＺｈａｎｇのカメラキャリブレーション手法により実行可能である。このＺｈａｎｇのカメラキャリブレーション手法は、ＯｐｅｎＣＶ（オープンソースのコンピュータビジョン向けライブラリ）に実装されている公知のキャリブレーション手法である。
【００２２】
ステレオカメラ１０で最低２方向から撮像された画像から特徴点（直線の交点等）を抽出し、画像座標系での特徴点の座標を求める。この特徴点の座標を用いて、カメラの内部パラメータの初期値を求める。この時点では、レンズの歪収差係数はゼロである。内部パラメータは、ｘ方向の焦点距離、ｙ方向の焦点距離、せん断係数（画像の傾き）、ｘ方向の光軸方向からのずれ、ｙ方向の光軸方向からのずれ、である。バンドル調整と呼ばれる公知の非線形最適化処理で、カメラの内部パラメータ、外部パラメータ、歪収差係数を求める。求めた内部パラメータ、歪収差係数を用いて、レンズによる歪みを補正した画像が得られる。
【００２３】
（平行化部２２の動作）
平行化部２２は、レクティフィケーションと呼ばれる手法によって位置合わせを行う。上記説明した手法により求められた外部パラメータ（回転、並進パラメータ）により、例えば、画素毎の変換テーブルを作成し、remap処理により、平行化された画像に補正することができる。
【００２４】
上記説明した歪み補正部２１、平行化部２２によるキャリブレーションにより、カメラレンズの歪みを補正し、また、等価的に光軸を平行化した画像を生成することができる。
【００２５】
（アクチュエータ部３０）
アクチュエータ部３０は、図１に示すように、左カメラ１１と右カメラ１２が基線長Ｗだけ隔てて装着される間に設けられている。アクチュエータ部３０は、基線長Ｗの方向に対してその距離を変化させて、基線長を調整することができる。アクチュエータ部３０は、基線長Ｗの方向に可変できる構成とされ、例えば、ピエゾ素子を使用することができる。アクチュエータ部３０は、印加する電圧を変化させることによって、基線長Ｗを変化させることができる。ピエゾ素子（電歪素子）としては、例えば、積層型、バイモルフ型のものが使用可能である。
【００２６】
上記のアクチュエータ部３０は、ピエゾ素子には限られず、例えば、モータ、ソレノイド等の駆動素子でも使用可能である。また、アクチュエータ部３０は、左カメラ１１側に設けてもよく、また、右カメラ１２側に設けてもよく、両方に設ける構成としてもよい。
【００２７】
（制御部４０）
制御部４０は、誤差検証部４１とアクチュエータ制御部４２とから概略構成されている。制御部４０は、誤差検証部４１において、既知の距離に配置したキャリブレーションパターンの撮影に基づいて、キャリブレーションパターンの視差ｄを算出し、これに基づいて基線長の理論値との誤差Δを求める。また、制御部４０は、アクチュエータ制御部４２により、上記の誤差Δが所定の範囲内となるまでアクチュエータ部３０の駆動を実行する。
【００２８】
上記説明した誤差検証部４１、アクチュエータ制御部４２の画像処理、信号処理、演算処理用は、前述の画像処理部３で使用するマイクロコンピュータと共通に使用することが可能である。
【００２９】
（誤差検証部４１）
誤差検証部４１は、既知の距離に配置したキャリブレーションパターンを撮影した左フレーム画像ＳＬ、右フレーム画像ＳＲからキャリブレーションにより補正した画像を生成し、これに基づいて視差ｄを算出する。視差ｄの算出は、例えば、ステレオマッチング手法(左右カメラでの対応点を探索し視差を算出)として、ブロックマッチングにより行なうことができる。なお、その他の手法として、ダイナミックプログラミング、セミグローバルブロックマッチング、グラフカット等を用いることができる。
【００３０】
（アクチュエータ制御部４２）
アクチュエータ制御部４２は、誤差検証部４１の出力に基づいてアクチュエータ部３０を駆動制御する。アクチュエータ制御部４２は、誤差検証部２５が算出する視差と理論値との差分に基づいて、アクチュエータ部３０を駆動する。アクチュエータ制御部４２は、駆動回路部を備えており、アクチュエータ部３０がピエゾ素子の場合は、例えば、昇圧回路等を介して電圧制御を行なう。また、モータ、ソレノイド等の場合は電流ドライバを介してアクチュエータ部３０を駆動する。
【００３１】
（記憶部５０）
記憶部５０は、画像の補正パラメータ（内部パラメータ、外部パラメータ等）、アクチュエータ部３０の変位量を記憶するものである。記憶部５０は、画像処理部３の内部に設けられたＲＡＭ（Random Access Memory）等のメモリを使用することができ、また、外部メモリを使用することも可能である。画像の補正パラメータ（内部パラメータ、外部パラメータ等）、アクチュエータ部３０の変位量を記憶部５０に記憶しておくことにより、画像認識装置１を次回立ち上げたときにこれらの値を初期値として使用することができる。また、これらの初期値を基準とすることにより、キャリブレーション実行時において、理論値との誤差をより早く収束させることができる。
【００３２】
（画像認識装置１の動作）
図５は、本発明の実施の形態に係る画像認識装置の動作を示すフローチャートである。以下、図５のフローチャートに従って画像認識装置１の動作を説明する。
【００３３】
図２は、ステレオカメラでキャリブレーションパターンを撮像する場合の構成の一例を示す概略斜視図である。図２に示すように、ステレオカメラ１０により、規定距離Ｌに配置されたキャリブレーションパターン１００を２方向から撮影する（Ｓｔｅｐ１）。ステレオカメラ１０、キャリブレーションパターン１００は、ベース２００上に載置されている。キャリブレーションパターン１００は、例えば、チェスパターンである。
【００３４】
キャリブレーション部２０は、キャリブレーションを実行する（Ｓｔｅｐ２）。図３（ａ）は、左カメラによりキャリブレーションパターンを撮像した場合の取得画像であり、図３（ｂ）は、右カメラによりキャリブレーションパターンを撮像した場合の取得画像である。キャリブレーション部２０は、ステレオカメラ１０から入力された左フレーム画像ＳＬ、右フレーム画像ＳＲに基づいて、公知のキャリブレーション手法により、カメラの内部パラメータ、外部パラメータ、歪収差係数を求める。
【００３５】
図４（ａ）は、キャリブレーションによりレンズ歪み補正、平行化補正された左カメラ画像であり、図４（ｂ）は、キャリブレーションによりレンズ歪み補正、平行化補正された右カメラ画像である。キャリブレーション部２０は、上記求められたパラメータ、係数により、レンズによる歪みを補正した画像、また、平行化された画像を生成する。
【００３６】
誤差検証部４１は、キャリブレーションにより補正した画像に基づいて、視差ｄを算出する（Ｓｔｅｐ３）。例えば、ブロックマッチングにより、図４（ａ）、図４（ｂ）から、チェスパターンのずれを、視差ｄ＝Ｘ１−Ｘ２として算出する。
【００３７】
誤差検証部４１は、誤差Δを算出する（Ｓｔｅｐ４）。誤差Δは、ステレオカメラ１０の左カメラ１１と右カメラ１２のカメラ間距離の組み付け誤差である。
【００３８】
ここで、視差＝基線長×カメラの焦点距離／距離で計算される。焦点距離ｆ、距離Ｌは、既知の値である。キャリブレーション後の補正された画像から算出された視差ｄにより、上記の式から、基線長Ｗ´が算出される。
【００３９】
理論値（設計値）の基線長Ｗと、上記の計算により算出された基線長Ｗ´との差分が誤差Δとなる。
【００４０】
制御部４０は、誤差Δは誤差範囲内かどうかを判断する（Ｓｔｅｐ５）。この判断基準は、所定の値に設定された誤差閾値Δthとの大小判断で行なうことができる。誤差Δが誤差範囲内である場合は、Ｓｔｅｐ７へ進む（Ｓｔｅｐ５：Ｙｅｓ）。誤差Δが誤差範囲を超える場合は、Ｓｔｅｐ６へ進む（Ｓｔｅｐ５：Ｎｏ）。
【００４１】
Ｓｔｅｐ６において、制御部４０は、誤差Δに基づいて、アクチュエータ制御部４２によりアクチュエータ部３０を駆動制御して、基線長を変位させる（Ｓｔｅｐ６）。基線長の調整後に、Ｓｔｅｐ２へ戻って、キャリブレーションを繰り返して実行する。
【００４２】
Ｓｔｅｐ７において、制御部４０は、Ｓｔｅｐ２で求められたパラメータ、また、Ｓｔｅｐ６で駆動した基線長の変位量を記憶部５０に記憶する。
【００４３】
上記一連のステップにより、画像認識装置の動作が終了する。この動作は、必要に応じて実行することができ、また、連続して実行することもできる。
【００４４】
（実施の形態の効果）
本発明の実施の形態によれば、以下のような効果を有する。
（１）本実施の形態に係る画像認識装置１は、第１カメラである左カメラ１１と左カメラ１１と基線長Ｗを隔てて配置される第２カメラである右カメラ１２を備えたステレオカメラ１０と、ステレオカメラ１０のキャリブレーションを実行するキャリブレーション部２０と、基線長Ｗの長さを調整するアクチュエータ部３０と、キャリブレーション後における視差により基線長Ｗの理論値との誤差Δを求め、誤差Δに基づいてアクチュエータ部３０を駆動する制御部４０と、を有して構成されている。すなわち、基線長Ｗの長さを調整するアクチュエータ部３０を備えているので、ステレオカメラの基線長を可変とすることができ、キャリブレーション実施結果をもとに基線長を調整(組み付け誤差を補正)し、再度キャリブレーションすることで距離算出精度を向上させることが可能となる。
（２）求めた設計値からの差分だけアクチュエータを用いて基線長を調整し、再度キャリブレーション処理を行うので、キャリブレーション精度を向上させることが可能となる。
（３）求めた誤差（視差）が設定した誤差範囲肉であれば補正パラメータとアクチュエータの変位量を記憶して終了する。これにより、画像認識装置１を次回立ち上げたときにこれらの値を初期値として使用することができる。また、これらの初期値を基準とすることにより、キャリブレーション実行時において、誤差をより早く収束させることができる。
【００４５】
以上、本発明のいくつかの実施の形態を説明したが、これらの実施の形態は、一例に過ぎず、特許請求の範囲に係る発明を限定するものではない。また、これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、本発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更等を行うことができる。また、これら実施の形態の中で説明した特徴の組合せの全てが発明の課題を解決するための手段に必須であるとは限らない。さらに、これら実施の形態は、発明の範囲及び要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４６】
１…画像認識装置、３…画像処理部、５…画像取得部、１０…ステレオカメラ、１１…左カメラ、１２…右カメラ、２０…キャリブレーション部、２１…補正部、２２…平行化部、２５…誤差検証部、３０…アクチュエータ部、４０…制御部、４１…誤差検証部、４２…アクチュエータ制御部、５０…記憶部、１００…キャリブレーションパターン、２００…ベース、ＳＬ…左フレーム画像、ＳＲ…右フレーム画像、Δ…誤差、ｄ…視差、ｆ…焦点距離、Ｌ…距離、Ｗ…基線長
【図１】
2018204950.tif 000003
【図２】
2018204950.tif 000004
【図３】
2018204950.tif 000005
【図４】
2018204950.tif 000006
【図５】
2018204950.tif 000007