(57)【要約】【課題】キャリブレーション装置において、車両の前後方向に延びた直線が存在しない環境下であっても、カメラパラメータを補正することができるものとする。【解決手段】カメラＥＣＵ３０は、画像変換部３２と、パラメータ設定部３３と、パラメータ記録装置３４と、を備え、パラメータ設定部３３は、パラメータ記録装置３４に記憶された互いに異なる複数の車両姿勢パラメータのそれぞれと初期状態のカメラパラメータとを合成した、車両姿勢を加味した複数の合成カメラパラメータを生成し、複数の合成カメラパラメータに基づいて、前方俯瞰画像Ｐ１と右側方俯瞰画像Ｐ３との重複領域（右前方俯瞰画像Ｐ１３の領域）の類似度の評価値Ｓが最も小さい（類似度が最も高い）合成カメラパラメータの車両姿勢パラメータを特定し、その車両姿勢パラメータと各カメラ１１〜１４のカメラパラメータとの合成カメラパラメータを求める。【選択図】図１
2020060976.tif 000002
【特許請求の範囲】
【請求項１】
車両の異なる位置にそれぞれ設置された複数の撮像装置により、互いに重複した領域を撮影範囲に含んで撮影された画像をそれぞれ俯瞰画像に変換する画像変換部と、
前記複数の撮像装置ごとの、初期状態の車両姿勢における前記車両に対する姿勢に対応して予め設定されたカメラパラメータ及び前記車両の複数の姿勢にそれぞれ対応した複数の車両姿勢パラメータを記憶したパラメータ記憶部と、
複数の前記車両姿勢パラメータのそれぞれと前記カメラパラメータとを合成した、車両姿勢を加味した複数の合成カメラパラメータを生成し、複数の前記合成カメラパラメータに基づいて、前記重複した領域のうち１つの重複した領域を含む２つの画像を前記画像変換部によりそれぞれ俯瞰画像に変換したときの、前記１つの重複した領域の類似度をそれぞれ求め、複数の前記合成カメラパラメータに対応して得られた複数の前記類似度のうち最も高い類似度に対応した１つの前記車両姿勢パラメータを特定し、特定された１つの前記車両姿勢パラメータと複数の前記撮像装置にそれぞれ対応した前記カメラパラメータとをそれぞれ合成した前記合成カメラパラメータを、前記画像変換部による前記俯瞰画像に変換するカメラパラメータとして設定するパラメータ設定部と、を備えたキャリブレーション装置。
【請求項２】
前記車両姿勢パラメータは、前記車両のピッチ角、ロール角及び沈み込み量の組み合わせで特定される請求項１に記載のキャリブレーション装置。
【請求項３】
前記パラメータ記憶部は、前記ピッチ角、前記ロール角及び前記沈み込み量の組み合わせで特定される前記車両姿勢パラメータを、これら前記ピッチ角、前記ロール角及び前記沈み込み量のいずれか少なくとも１つが異なる組み合わせの前記車両姿勢パラメータを複数個、予め記憶している請求項２に記載のキャリブレーション装置。
【請求項４】
車両の異なる位置にそれぞれ設置された複数の撮像装置により、互いに重複した領域を撮影範囲に含んで撮影された画像をそれぞれ俯瞰画像に変換する、前記複数の撮像装置ごとのカメラパラメータを校正するに際して、
前記車両の複数の姿勢にそれぞれ対応した複数の車両姿勢パラメータのそれぞれと前記複数の撮像装置ごとの、初期状態の車両姿勢における前記車両に対する姿勢に対応して予め設定されたカメラパラメータとを合成した、車両姿勢を加味した複数の合成カメラパラメータを生成し、
複数の前記合成カメラパラメータに基づいて、前記重複した領域のうち１つの重複した領域を含む２つの画像を前記画像変換部によりそれぞれ俯瞰画像に変換したときの、前記１つの重複した領域の類似度をそれぞれ求め、
複数の前記合成カメラパラメータに対応して得られた複数の前記類似度のうち最も高い類似度に対応した１つの前記車両姿勢パラメータを特定し、
特定された１つの前記車両姿勢パラメータと複数の前記撮像装置にそれぞれ対応した前記カメラパラメータとをそれぞれ合成した前記合成カメラパラメータを、前記俯瞰画像に変換するカメラパラメータとして設定するキャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャリブレーション装置及びキャリブレーション方法に関する。
【背景技術】
【０００２】
車両に、車両の周囲を撮影する複数のカメラを設置し、各カメラで撮影された画像をそれぞれ、車両の上方から見下ろした画像である俯瞰画像に変換し、さらに、これら複数のカメラで撮影された複数の画像に基づく複数の俯瞰画像を１つに繋いだ合成俯瞰画像を生成することが行なわれている。このように形成された合成俯瞰画像は、１つの画像で、自車両の周囲全体の景色を表すことができる。
【０００３】
ここで、各カメラで撮影された画像を俯瞰画像を生成する場合、各カメラの取り付け姿勢（向き）を特定するカメラパラメータが必要になる。各カメラの姿勢は設計値に基づいて予め設定されているが、実際の車両においては、誤差等が生じる場合がある。このような誤差が生じたまま、設計値に基づいたカメラパラメータで合成俯瞰画像が生成された場合、その誤差に応じて、俯瞰画像同士の繋ぎの部分にズレが生じたり、本来前後方向に延びるべき直線が傾斜した直線になったりして、精度のよい合成俯瞰画像を生成することができない。
【０００４】
このような問題を解決するため、キャリブレーション（校正）と称される、カメラパラメータの補正が行われる。このキャリブレーションは、例えば、車両を製造した工場の生産ライン等において、車両に人が乗っていないか又は完成車の検査員が１人だけ運転席に乗っていて、かつ荷物を積載していない、という特定の積載状態で行われる。
【０００５】
しかし、実際にユーザが車両を使用する際には、乗車人数や乗員が座る位置、荷物の積載有無等によって、車両の積載状態は変化する。車両の姿勢は積載状態に依存するが、車両の姿勢が変化することにより、合成俯瞰画像の投影面である路面に対するカメラの姿勢が変化する。すなわち、車両姿勢が変化しても、車両に対するカメラパラメータは変化しないが、キャリブレーションを行ったときの車両姿勢とは異なる場合、合成俯瞰画像に上述したズレ等が生じ得る。
【０００６】
そこで、実際の車両の使用状態である車両の走行中に、カメラで撮影された画像に基づいて、キャリブレーションを行う技術が開示されている（例えば、特許文献１参照）。この技術によれば、実際の車両の使用状態に応じた車両姿勢でのキャリブレーションを行うため、その使用中の合成俯瞰画像にズレ等が生じるのを防止して、精度のよい合成俯瞰画像を得ることができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１６−０７０８１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述した特許文献１に記載の技術は、車両の周囲に、前後方向に直線状に延びる線（車線を区切る白線等）が存在し、車両の前後部に設けられた前部カメラの撮影領域と後部カメラの撮影領域にそれぞれ２本の直線の画像が写り、さらに、車両の各側部に設けられた右側部カメラの撮影領域と左側部カメラの撮影領域にそれぞれ１本の直線の画像が写ることが必要である。
【０００９】
したがって、特許文献１に記載のキャリブレーションは、そのような直線が撮影領域に存在しない状況で適用することができない。
【００１０】
本発明は上記事情に鑑みなされたものであり、車両の前後方向に延びた直線が存在しない環境下であっても、カメラパラメータを補正することができるキャリブレーション装置及びキャリブレーション方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１は、車両の異なる位置にそれぞれ設置された複数の撮像装置により、互いに重複した領域を撮影範囲に含んで撮影された画像をそれぞれ俯瞰画像に変換する画像変換部と、前記複数の撮像装置ごとの、初期状態の車両姿勢における前記車両に対する姿勢に対応して予め設定されたカメラパラメータ及び前記車両の複数の姿勢にそれぞれ対応した複数の車両姿勢パラメータを記憶したパラメータ記憶部と、複数の前記車両姿勢パラメータのそれぞれと前記カメラパラメータとを合成した、車両姿勢を加味した複数の合成カメラパラメータを生成し、複数の前記合成カメラパラメータに基づいて、前記重複した領域のうち１つの重複した領域を含む２つの画像を前記画像変換部によりそれぞれ俯瞰画像に変換したときの、前記１つの重複した領域の類似度をそれぞれ求め、複数の前記合成カメラパラメータに対応して得られた複数の前記類似度のうち最も高い類似度に対応した１つの前記車両姿勢パラメータを特定し、特定された１つの前記車両姿勢パラメータと複数の前記撮像装置にそれぞれ対応した前記カメラパラメータとをそれぞれ合成した前記合成カメラパラメータを、前記画像変換部による前記俯瞰画像に変換するカメラパラメータとして設定するパラメータ設定部と、を備えたキャリブレーション装置である。
【００１２】
本発明の第２は、車両の異なる位置にそれぞれ設置された複数の撮像装置により、互いに重複した領域を撮影範囲に含んで撮影された画像をそれぞれ俯瞰画像に変換する、前記複数の撮像装置ごとのカメラパラメータを校正するに際して、前記車両の複数の姿勢にそれぞれ対応した複数の車両姿勢パラメータのそれぞれと前記複数の撮像装置ごとの、初期状態の車両姿勢における前記車両に対する姿勢に対応して予め設定されたカメラパラメータとを合成した、車両姿勢を加味した複数の合成カメラパラメータを生成し、複数の前記合成カメラパラメータに基づいて、前記重複した領域のうち１つの重複した領域を含む２つの画像を前記画像変換部によりそれぞれ俯瞰画像に変換したときの、前記１つの重複した領域の類似度をそれぞれ求め、複数の前記合成カメラパラメータに対応して得られた複数の前記類似度のうち最も高い類似度に対応した１つの前記車両姿勢パラメータを特定し、特定された１つの前記車両姿勢パラメータと複数の前記撮像装置にそれぞれ対応した前記カメラパラメータとをそれぞれ合成した前記合成カメラパラメータを、前記俯瞰画像に変換するカメラパラメータとして設定するキャリブレーション方法である。
【発明の効果】
【００１３】
本発明に係るキャリブレーション装置及びキャリブレーション方法によれば、車両の前後方向に延びた直線が存在しない環境下であっても、カメラパラメータを補正することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明に係るキャリブレーション装置及びキャリブレーション方法を実施する一例であるカメラＥＣＵを含む車両周囲監視システムを示すブロック図である。
【図２】車載カメラを構成する各カメラの設置位置と撮影範囲を模式的に示した平面図である。
【図３】本実施形態の車両周囲監視システムにおいて用いる座標系を説明する図であり、世界座標系及び車両座標系を示す図である。
【図４】本実施形態の車両周囲監視システムにおいて用いる座標系を説明する図であり、カメラ座標系を示す図である。
【図５】カメラＥＣＵの具体的な処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明に係るキャリブレーション装置及びキャリブレーション方法の具体的な実施の形態について、図面を参照して説明する。
【００１６】
＜車両周囲監視システム＞
図１は、本発明に係るキャリブレーション装置及びキャリブレーション方法を実施する一例であるカメラＥＣＵ３０を含む車両周囲監視システムを示すブロック図、図２は車載カメラ１０を構成する各カメラ１１〜１４の設置位置と撮影範囲を模式的に示した平面図である。図１に示した車両周囲監視システムは、車両２００（以下、自車２００ともいう）に搭載された車載カメラ１０（前部カメラ１１、後部カメラ１２、右側部カメラ１３、左側部カメラ１４）、自車２００の走行速度を検出する車速センサ２０と、車載カメラ１０で撮影された画像に基づいて、自車２００の周囲を含む合成俯瞰画像ＡＰを生成するカメラＥＣＵ３０と、合成俯瞰画像ＡＰを表示する映像表示装置９０と、を備えている。
【００１７】
カメラ１１〜１４は、図２に示すように、自車２００の異なる位置に、それぞれ自車２００に対する姿勢（向き）に対応して予め設定されたカメラパラメータにしたがって設置されている。各カメラパラメータは、車両の初期状態の積載状態において設定されたものであり、ピッチ角αcam1（カメラ１０の光軸に直交する横軸回りの回転角度）、ロール角βcam1（カメラ１０の光軸回りの回転角度）、ヨー角γcam1（カメラ１０の光軸に直交する縦軸回りの回転角度）により規定されている。
【００１８】
車両の初期状態の積載状態は、例えば、車両２００が空車の積載状態（乗員０人で、かつ荷物を積載していない状態）であり、初期状態におけるカメラパラメータは、例えば、車両が製造された工場における完成検査の工程で行われたキャリブレーションにより設定され、後述するパラメータ記録装置３４に記憶されている。
【００１９】
前部カメラ１１は、具体的には自車２００の前端部に取り付けられていて自車２００の前方領域（Ｆ）を撮影範囲とする前方画像ＰＯ１を撮影する。後部カメラ１２は、具体的には自車２００の後端部に取り付けられていて自車２００の後方領域（Ｒ）を撮影範囲とする後方画像ＰＯ２を撮影する。右側部カメラ１３は、具体的には自車２００の右ドアミラー付近に取り付けられていて自車２００の右側方領域（ＳＲ）を撮影範囲とする右側方画像ＰＯ３を撮影する。左側部カメラ１４は、具体的には自車２００の左ドアミラー付近に取り付けられていて自車２００の左側方領域（ＳＬ）を撮影範囲とする左側方画像ＰＯ４を撮影する。
【００２０】
各カメラ１１〜１４はいずれも広角レンズを備えていて、略１８０［度］という広い画角の撮影範囲を有している。そして、図２に示すように、前方画像ＰＯ１と右側方画像ＰＯ３とは、自車２００の右前方の領域において重複した領域を含み、前方画像ＰＯ１と右側方画像ＰＯ３とはいずれも、その重複した領域の画像である右前方画像ＰＯ１３を含んでいる。同様に、前方画像ＰＯ１と左側方画像ＰＯ４とは、自車２００の左前方の領域において重複した領域を含み、前方画像ＰＯ１と左側方画像ＰＯ４とはいずれも、その重複した領域の画像である左前方画像ＰＯ１４を含んでいる。
【００２１】
自車２００の後方についても同様であり、後方画像ＰＯ２と右側方画像ＰＯ３とは、自車２００の右後方の領域において重複した領域を有し、後方画像ＰＯ２と右側方画像ＰＯ３とはいずれも、その重複した領域の画像である右後方画像ＰＯ２３を有している。後方画像ＰＯ２と左側方画像ＰＯ４とは、自車２００の左後方の領域において重複した領域を有し、後方画像ＰＯ２と左側方画像ＰＯ４とはいずれも、その重複した領域の画像である左後方画像ＰＯ２４を有している。
【００２２】
なお、図２は、自車２００の上方から見た平面視として俯瞰して得られる画像であるため、図２においては、前方画像ＰＯ１を俯瞰画像に変換して得られた前方俯瞰画像Ｐ１に対してカッコ書きで記載している。後方画像ＰＯ２、右側方画像ＰＯ３及び左側方画像ＰＯ４についても同様に、それぞれ対応する後方俯瞰画像Ｐ２、右側方俯瞰画像Ｐ３、左側方俯瞰画像Ｐ４に対してカッコ書きで記載している。実際の前方画像ＰＯ１、後方画像ＰＯ２、右側方画像ＰＯ３及び左側方画像ＰＯ４は、車載カメラ１０からの距離が長くなるにしたがって被写体の像が小さくなる歪を有している。
【００２３】
＜カメラＥＣＵ＞
カメラＥＣＵ３０は、演算処理装置３１と、パラメータ記録装置３４（パラメータ記憶部）と、Ｉ／Ｏポート３７，３８，３９と、を備えている。Ｉ／Ｏポート３７は、各カメラ１１〜１４から前方画像ＰＯ１を表す画像信号、後方画像ＰＯ２を表す画像信号、右側方画像ＰＯ３を表す画像信号及び左側方画像ＰＯ４を表す画像信号を、演算処理装置３１に入力する端子、Ｉ／Ｏポート３８は、車速センサ２０から自車２００の走行速度を表す車速信号を、演算処理装置３１に入力する端子、Ｉ／Ｏポート３９は、演算処理装置３１から演算処理装置３１で生成された合成俯瞰画像ＡＰを表す画像信号を、映像表示装置９０に出力する端子である。
【００２４】
パラメータ記録装置３４は、カメラ１１〜１４ごとに対応したカメラパラメータ（４つ）と、自車２００の複数の車両姿勢をそれぞれ特定する、予め設定された複数の車両姿勢パラメータと、を記憶している。
【００２５】
図３，４は本実施形態の車両周囲監視システムにおいて用いる座標系を説明する図であり、図３は世界座標系及び車両座標系を示す図であり、図４はカメラ座標系を示す図である。
【００２６】
世界座標系及び車両座標系は、左手系座標かつ左ねじ回転方向で定義され、図３に示すように、ｘ軸を左右方向（右を正方向）、ｙ軸を前後方向（後方を正方向）、ｚ軸を鉛直方向（上方を正方向）とし、原点Ｏを車両２００の前輪車軸の中心とする。車両のオイラー角定義において、回転順序は、車両２００のロール角→ピッチ角→ヨー角の順序（ｚ−ｘ−ｙ）である。
【００２７】
カメラ座標系は、左手系座標かつ左ねじ回転方向で定義され、図４に示すように、ｘ軸を左右方向（車載カメラ１０の設置状態での上面に向かって右方向を正方向）、ｙ軸を縦方向（上面を正方向）、ｚ軸をカメラ光軸方向（前方を負方向）とする。車載カメラ１０のオイラー角定義において、回転順序は、車両２００のロール角→ピッチ角→ヨー角の順序（ｚ−ｘ−ｙ）である。
【００２８】
ここで、車両姿勢パラメータは、車両２００が初期状態の積載状態（乗員０人で、かつ荷物を積載していない状態）で水平面上におかれているときを基準として、車両２００の車幅方向に延びたｘ軸回りの回転角度を表すピッチ角αcarと、車両２００の前後方向に延びたｙ軸回りの回転角度を表すロール角γcarと、車両２００の沈み込み量Ｚcar_szとの組み合わせによって特定される。
【００２９】
つまり、車両姿勢パラメータは、基準となる上記積載状態では、ピッチ角αcar、ロール角γcar及び沈み込み量Ｚcar_szのいずれも０（ゼロ）であり、基準となる上記積載状態からの変動したピッチ角αcar、ロール角γcar及び沈み込み量Ｚcar_szの組み合わせによって、車両姿勢パラメータが設定されている。
【００３０】
車両姿勢は、車両２００に乗車する乗員の人数、乗員の体重（大人、子供の別を含む）、各乗員の着席場所、積載する荷物の重量、積載場所などによって変化する。パラメータ記録装置３４が記憶している複数の車両姿勢パラメータは、これら乗員の人数等及び荷物の重量等などの想定される複数の積載状態にそれぞれ対応するピッチ角αcar、ロール角γcar及び沈み込み量Ｚcar_szの組み合わせにより設定されており、具体的には、パラメータ記録装置３４は、例えば５０個の車両姿勢パラメータを記憶している。
【００３１】
パラメータ記録装置３４に記憶されているカメラパラメータは、各カメラ１１〜１４にそれぞれ対応し、合計４つである。各カメラパラメータは、車両２００に対する相対的な姿勢であるため、車両姿勢が変化しても変化することはない。
【００３２】
演算処理装置３１は、画像変換部３２と、パラメータ設定部３３と、を備えている。画像変換部３２は、Ｉ／Ｏポート３７を介して各カメラ１１〜１４から入力された、各カメラ１１〜１４で撮影された前方画像ＰＯ１、後方画像ＰＯ２、右側方画像ＰＯ３、左側方画像ＰＯ４をそれぞれ、自車２００の上方から平面視として俯瞰して得られる前方俯瞰画像Ｐ１、後方俯瞰画像Ｐ２、右側方俯瞰画像Ｐ３、左側方俯瞰画像Ｐ４に変換する。
【００３３】
ここで、演算処理装置３１は、各画像ＰＯ１〜ＰＯ４から対応する俯瞰画像Ｐ１〜Ｐ４を生成するに際して、パラメータ記録装置３４に記憶されている、初期的に設定された各カメラパラメータに基づいて画像の変換処理を行うが、初期状態とは異なる積載状態に対応した車両姿勢でのキャリブレーションを行うときは、パラメータ記録装置３４に記憶されている、初期的に設定された各カメラパラメータと例えば５０個の互いに異なる車両姿勢パラメータとをそれぞれ合成した合成カメラパラメータに基づいて画像の変換処理を行うことで、車両姿勢に応じた新たなキャリブレーションを行う。
【００３４】
新たなキャリブレーションを行う場合、具体的には、パラメータ設定部３３が、パラメータ記録装置３４に記憶されている初期状態でのカメラパラメータと５０個の車両姿勢パラメータとをそれぞれ合成して、カメラ１１〜１４ごとに５０個の合成カメラパラメータを生成する。５０個の合成カメラパラメータは、車両２００の積載状態に応じて想定される５０個の車両姿勢を加味した画像変換のためのカメラパラメータである。
【００３５】
なお、本実施形態では、後述するように、前方俯瞰画像Ｐ１と右側方俯瞰画像Ｐ３のみを対象として類似度を評価する。したがって、パラメータ設定部３３は、前方画像ＰＯ１を撮像する前部カメラ１１のカメラパラメータと５０個の車両姿勢パラメータとをそれぞれ合成して、前部カメラ１１用として、５０個の合成カメラパラメータを生成し、右側方画像ＰＯ３を撮像する右側部カメラ１３のカメラパラメータと５０個の車両姿勢パラメータとをそれぞれ合成して、右側部カメラ１３用として、５０個の合成カメラパラメータを生成する。
【００３６】
次いで、画像変換部３２が、パラメータ設定部３３により生成された５０個の合成カメラパラメータに基づいて、４つの重複した領域（右前方画像ＰＯ１３の領域、左前方画像ＰＯ１４の領域、右後方画像ＰＯ２３の領域、左後方画像ＰＯ２４の領域）のうち１つの、例えば右前方画像ＰＯ１３の領域を含む２つの画像（前方画像ＰＯ１と右側方画像ＰＯ３）をそれぞれ前方俯瞰画像Ｐ１、右側方俯瞰画像Ｐ３に変換する。
【００３７】
そして、パラメータ設定部３３は、前部カメラ１１用に生成された合成カメラパラメータごとに得られた前方俯瞰画像Ｐ１における右前方俯瞰画像Ｐ１３と、右側部カメラ１３用に生成された合成カメラパラメータごとに得られた右側方俯瞰画像Ｐ３における右前方俯瞰画像Ｐ１３との類似度をそれぞれ求める。類似度を求めるときは、前方俯瞰画像Ｐ１と右側方俯瞰画像Ｐ３とで、同一の車両姿勢パラメータに対応した合成パラメータで形成されたものを対象とする。類似度は、画像の類似度であり、２つの右前方俯瞰画像Ｐ１３間での、画素値（信号値）の分布で形成されたパターンの類似している程度である。
【００３８】
なお、類似度は、右前方俯瞰画像Ｐ１３の全体を対象として求めてもよいが、例えば図２に示した右前方俯瞰画像Ｐ１３の一部分の領域Ｐ１３ａ（以下、一部領域Ｐ１３ａという）のみを対象として求めてもよい。このように、一部領域Ｐ１３ａのみを対象にして類似度を求めた方が、類似度の算出に要する演算の負荷を低減することができる。一部領域Ｐ１３ａは、図２に示した矩形の領域に限定されず、円形の領域や楕円形の領域であってもよいし、その他の多角形の領域であってもよい。
【００３９】
また、一部領域Ｐ１３ａは、例えば、自車２００の車幅方向に沿った寸法（画素数）と自車２００の前後方向に沿った寸法（画素数）とが同じ矩形領域であることが好ましいが、そのような矩形領域に限定されない。また、一部領域Ｐ１３ａは、その内部に少なくとも８個の画素を含むものであればよい。
【００４０】
また、パラメータ設定部３３は、例えば、前方俯瞰画像Ｐ１における一部領域Ｐ１３ａと右側方俯瞰画像Ｐ３における一部領域Ｐ１３ａとの間で対応する画素値（信号値）のＳＳＤ（Sum of Squared Difference：差の２乗和）又はＳＡＤ（Sum of Absolute Difference：差の絶対値和）を評価値Ｓとして、類似度を評価する。したがって、パラメータ設定部３３は、評価値Ｓが小さくなるにしたがって類似度が高く、評価値Ｓが大きくなるにしたがって類似度が低いと判定する。
【００４１】
そして、パラメータ設定部３３は、５０個の車両姿勢パラメータにそれぞれ対応した合成カメラパラメータごとに得られた類似度の評価値Ｓが最も小さい（類似度が最も高い）合成カメラパラメータに対応した１つの車両姿勢パラメータを特定する。この特定された車両姿勢パラメータが、そのときの車両２００の姿勢を表すものということができる。
【００４２】
パラメータ設定部３３は、この特定された車両姿勢パラメータを、各カメラ１１〜１４のカメラパラメータとそれぞれ合成して得られた４つの合成カメラパラメータを、パラメータ記録装置３４に記憶させる。演算処理装置３１は、その後に新たなキャリブレーションが行なわれるまでは、画像変換部３２による各画像ＰＯ１〜ＰＯ４を俯瞰画像Ｐ１〜Ｐ４に画像変換し合成俯瞰画像ＡＰを生成するに際して、パラメータ記録装置３４に記憶された合成カメラパラメータに基づいて行う。
【００４３】
本実施形態のカメラＥＣＵ３０は、車両姿勢が初期状態とは異なる車両姿勢となったときも、その車両姿勢に適切に対応したキャリブレーションにより、精度のよい合成俯瞰画像ＡＰを生成することができる。
【００４４】
なお、類似度を評価するに際して、上述した例では、右前方俯瞰画像Ｐ１３の領域を適用したが、本発明に係るキャリブレーション装置及びキャリブレーション方法は、類似度を評価する領域として、右前方俯瞰画像Ｐ１３の領域以外の他の重複領域（例えば、左前方俯瞰画像Ｐ１４の領域、右後方俯瞰画像Ｐ２３の領域、左後方俯瞰画像Ｐ２４の領域）を適用してもよい。
【００４５】
図５はカメラＥＣＵ３０の具体的な処理の流れを説明するフローチャートである。上述したカメラＥＣＵ３０の処理について、図５に示したフローチャートを参照して、より具体的に説明する。
【００４６】
まず、車両の製造時の工場における出荷前検査や、車両を販売する販売会社での納車前検査等により初期状態でのカメラ１１〜１４のキャリブレーションが行なわれる（ステップ１０１（Ｓ１０１））。この初期状態でのキャリブレーションは、空車でかつ荷物の積載が無い、という積載状態で行われる。パラメータ設定部３３は、初期状態での車両姿勢を基準にしたキャリブレーションによりカメラ１１〜１４ごとのカメラパラメータを設定し、パラメータ記録装置３４に、設定した４つのカメラパラメータを記憶させる。
【００４７】
ここで、車両姿勢の変動として、車両２００のピッチ角αcarの変動による回転行列Ｒcar_pitchは下記式（１）、車両２００のロール角γcarの変動による回転行列Ｒcar_rollは下記式（２）、車両２００の沈み込み量Ｚcar_szの変動による並進行列Ｔcar_szは下記式（３）によりそれぞれ定義される。
【００４８】
【数１】
2020060976.tif 000003
【００４９】
【数２】
2020060976.tif 000004
【００５０】
【数３】
2020060976.tif 000005
【００５１】
式（１），（２）より、車両２００のピッチ角αcar及びロール角γcarの変動による車両姿勢の変動を示す車両姿勢パラメータ回転行列Ｒcar_matは下記式（４）となる。車両姿勢パラメータ回転行列Ｒcar_mat及び車両２００の沈み込み量Ｚcar_szの並進行列Ｔcar_szは、パラメータ記録装置３４に記憶されている。
【００５２】
【数４】
2020060976.tif 000006
【００５３】
また、初期状態のキャリブレーションで設定された各カメラ１１〜１４のカメラパラメータをピッチ角αcam1、ロール角βcam1、ヨー角γcam1とすると、カメラパラメータの回転行列Ｒcam1は下記式（５）で定義される。このカメラパラメータの回転行列Ｒcam1も、パラメータ記録装置３４に記憶されている。
【００５４】
【数５】
2020060976.tif 000007
【００５５】
演算処理装置３１は、Ｉ／Ｏポート３７を介して各カメラ１１〜１４から入力された、各カメラ１１〜１４で撮影された前方画像ＰＯ１、後方画像ＰＯ２、右側方画像ＰＯ３、左側方画像ＰＯ４をそれぞれ、自車２００の上方から平面視として俯瞰して得られる前方俯瞰画像Ｐ１、後方俯瞰画像Ｐ２、右側方俯瞰画像Ｐ３、左側方俯瞰画像Ｐ４に変換する。ここで、演算処理装置３１は、各俯瞰画像Ｐ１〜Ｐ４を生成するに際して、パラメータ記録装置３４に記憶されているカメラパラメータと車両姿勢パラメータとを合成した合成カメラパラメータに基づいて画像の変換処理を行う。
【００５６】
ここで、初期状態である基準の積載状態（初期のキャリブレーションを行う状態）では、ピッチ角αcar及びロール角γcarはいずれも０であるから、式（１），（２）はいずれも単位行列となり、式（４）も単位行列となる。また、初期状態である基準の積載状態（初期のキャリブレーションを行う状態）では、車両２００の沈み込み量Ｚcar_szも０（ゼロ）であるから、式（３）の並進行列Ｔcar_szは零行列となる。したがって、初期状態でのキャリブレーションでは、カメラパラメータと車両姿勢パラメータとを合成した合成カメラパラメータは、結果的にカメラパラメータと同じになり、演算処理装置３１は、カメラパラメータにしたがった画像変換により、俯瞰画像を生成する。
【００５７】
自車２００の実際の使用状態では、少なくとも運転者が運転席に着席するため、空車状態の初期状態に対して車両姿勢が変動する（Ｓ１０２）。また、自車２００の実際の使用状態では、荷物等を積載することもあり、これによっても車両姿勢は変動する（Ｓ１０２）。車両姿勢の変動により、車載カメラ１０で撮影された画像を俯瞰画像に変換するに際して、車両姿勢の変動を加味した新たなキャリブレーションでカメラパラメータを補正して俯瞰変換を行う必要がある。
【００５８】
ここで、新たなキャリブレーションは、前述したように、カメラ１１，１３ごとに５０個の合成カメラパラメータによってそれぞれ俯瞰画像Ｐ１，Ｐ３を生成し、類似度の評価値Ｓの大小関係を比較するという処理を行う。この新たなキャリブレーションは、自車２００が停車している状態で行う。
【００５９】
そこで、カメラＥＣＵ３０は、車速センサ２０が検出した自車２００の車速を取得し（Ｓ１０３）、自車２００の車速が０（ゼロ）になるまで、すなわち、自車２００が停車するのを待つ（Ｓ１０４）。
【００６０】
自車２００が停車すると（Ｓ１０４にてＹＥＳ）、カメラＥＣＵ３０は、車載カメラ１０から画像を取得する（Ｓ１０５）。自車２００が停車するまでは、カメラＥＣＵ３０は、車載カメラ１０の画像を取得しない（Ｓ１０４にてＮＯ）。
【００６１】
自車２００が停車してカメラＥＣＵ３０が車載カメラ１０から画像を取得すると、カメラＥＣＵ３０は、パラメータ記録装置３４に格納されている、想定される例えば５０個の車両姿勢にそれぞれ対応した車両姿勢パラメータと各カメラパラメータとをそれぞれ合成した合成カメラパラメータを生成する。合成カメラパラメータは、車両姿勢パラメータの数に対応してカメラ１１，１３ごとに５０個である。
【００６２】
合成カメラパラメータの回転行列Ｒcam2は、下記式（６）で表される。
【００６３】
【数６】
2020060976.tif 000008
【００６４】
そして、カメラＥＣＵ３０の画像変換部３２は、ステップ１０５（Ｓ１０５）で取得した画像に対して、各合成カメラパラメータによる画像変換により俯瞰画像Ｐ１，Ｐ３を生成する（Ｓ１０６）。パラメータ設定部３３は、前方俯瞰画像Ｐ１における一部領域Ｐ１３ａを構成する画素の信号値及び右側方俯瞰画像Ｐ３における一部領域Ｐ１３ａを構成する画素の信号値をそれぞれ取得し（Ｓ１０７）、２つの一部領域Ｐ１３ａ，Ｐ１３ａの類似度の評価値Ｓを算出する（Ｓ１０８）。評価値Ｓとしては例えばＳＡＤを適用するが、前述したようにＳＳＤを適用してもよい。
【００６５】
パラメータ設定部３３は、５０個の車両姿勢パラメータにそれぞれ対応した合成カメラパラメータごとに得られた一部領域Ｐ１３ａについてそれぞれ類似度の評価値Ｓを算出して、評価値Ｓ同士を大小比較し、評価値Ｓが最も小さい値となる合成カメラパラメータを特定する（Ｓ１０９）。
【００６６】
そして、パラメータ設定部３３は、特定された合成カメラパラメータを構成している車両姿勢パラメータを特定し、特定された車両姿勢パラメータと、各カメラ１１〜１４の初期状態でのカメラパラメータとをそれぞれ合成して得られた合成カメラパラメータを、パラメータ記録装置３４に記憶させて（Ｓ１１０）、新たなキャリブレーションを終了する。
【００６７】
ここで、ステップ１０９（Ｓ１０９）における評価値Ｓが最も小さくなる車両姿勢パラメータの特定方法の一例を説明する。
【００６８】
演算処理装置３１は、式（６）で表された合成カメラパラメータの回転行列Ｒcam2を分解することにより、車両姿勢のピッチ角αcarとロール角γcarとが変動した後の合成カメラパラメータのピッチ角、ロール角、ヨー角という角度を算出することができる。この算出方法は公知のため、説明を省略する。
【００６９】
次に、車両姿勢パラメータの変化に伴って変化した合成カメラパラメータの並進成分の算出方法を示す。合成カメラパラメータの並進成分ｘ，ｙ，ｚのうち並進成分ｘと並進成分ｙは、車両姿勢が変動しても変動量は微小のため０（ゼロ）とする。一方、高さ方向の変動に対応した並進成分ｚについては微小とは言えないため算出対象とする。
【００７０】
車両姿勢が変動するときの回転中心の真値の座標は不明であるため、車両２００のピッチ角αcarの回転中心をＣcar_pitch（下記式（７））、ロール角γcarの回転中心をＣcar_roll（下記式（８））とする。これらの回転中心の座標は必ずしも真値である必要はなく、回転中心Ｃcar_rollは、例えば前部カメラ１１の位置又は車両２００の車幅方向の中央を仮に回転中心とした仮値でもよい。
【００７１】
また、車両姿勢の変動の並進行列をＴcar_sz（上記式（３））、車両姿勢の変動前のカメラパラメータの並進行列をＴcam1（下記式（９））、車両姿勢の変動後の合成カメラパラメータの並進行列をＴcam2（下記式（１０））、と定義すると、車両姿勢の変動後の合成カメラパラメータの並進行列Ｔcam2は、下記式（１１）により求められる。
【００７２】
【数７】
2020060976.tif 000009
【００７３】
【数８】
2020060976.tif 000010
【００７４】
【数９】
2020060976.tif 000011
【００７５】
【数１０】
2020060976.tif 000012
【００７６】
【数１１】
2020060976.tif 000013
【００７７】
式（１１）の右辺において、未知行列はＲcar_pitch，Ｒcar_roll，Ｔcar_szである。したがって、これらの３つの行列が既知となれば、左辺の車両姿勢の変動後の合成カメラパラメータの並進行列Ｔcam2を求めることができる。これらの３つの行列は、ピッチ角αcar、ロール角γcar、沈み込み量Ｚcar_szを求めることで既知となる。
【００７８】
以上をまとめると、「車両姿勢の変動後の合成カメラパラメータの角度成分」は、ピッチ角αcarとロール角γcarとが既知となれば一意に特定することができ、「車両姿勢の変動後の合成カメラパラメータの並進成分(zのみ)」は、ピッチ角αcar、ロール角γcar及び沈み込み量Ｚcar_szが既知となれば一意に特定することができる。
【００７９】
次に、類似度の評価値Ｓが最も小さい車両姿勢に対応したピッチ角αcar、ロール角γcar及び沈み込み量Ｚcar_szを特定する方法について説明する。これら３つの車両姿勢を表すパラメータは、最適化手法を用いて解を求める。
【００８０】
上述したように、類似度の評価値Ｓが最も小さくなる車両姿勢パラメータを求めるため、最適化の評価関数は評価値Ｓに設定する。この評価関数は多峰性関数であるため、多峰性関数の大域的最適解を得られる手法として、例えば下記の３つのうちいずれか１つの手法を適用することができるが、本実施形態においては、例えば（１）のＰＳＯの手法を適用した場合について説明する。
（１）ＰＳＯ(Particle Swarm Optimization)
（２）ＡＢＣ(Artificial Bee Colony)
（３）ＦＡ(Firefly Algorithm)
【００８１】
ＰＳＯは、多次元の評価空間内に評価用粒子を配置し、更新を指定回数繰り返して最適解を求める手法である。粒子は、自身や他の粒子の評価結果に基づいて更新方法を決定する。最適な粒子数や更新回数は評価対象によって異なる。ＰＳＯの更新方法は以下の式（１２），（１３）で定義される。
【００８２】
【数１２】
2020060976.tif 000014
【００８３】
【数１３】
2020060976.tif 000015
【００８４】
ここで、ｘは粒子の現在位置を示す。本実施形態においては、ピッチ角αcar、ロール角γcar及び沈み込み量Ｚcar_szがこの現在位置ｘに定義される。ｖは速度ベクトルであり、更新１回分の変化量が定義されている。ｉは粒子番号(※粒子数が１００個の場合、ｉ＝１〜１００とナンバリングされる）。ｋは繰り返し回数である。ｗは慣性項であり、一般的に１．０より少ない値が定義される。ｃ１，ｃ２は重み付け用係数であり、一般的に１．０付近の値が定義される。ｒ１，ｒ２は０〜１の間の乱数である。pbestは、その粒子個体がこれまで評価した中で最も最良な位置、gbestは、粒子全体がこれまで評価した中で最良の位置である。
【００８５】
一例として、ピッチ角αcarのみに着目し最適解を求める。粒子の数を５０個、更新回数を１００回、ピッチ角αcarの評価空間範囲を−５．０［ｄｅｇ］〜＋５．０［ｄｅｇ］とする。この角度範囲は、車両姿勢として想定される角度範囲である。
【００８６】
まず、−５．０［ｄｅｇ］〜＋５．０［ｄｅｇ］の角度範囲で、互いに異なるピッチ角αcarをランダムに定義した粒子（現在位置ｘ）を５０個定義する。また、互いに異なる速度ベクトルｖを０〜１の範囲でランダムに５０個定義する。
【００８７】
式（１２）と同様に、５０個の粒子（の現在位置ｘ）に５０個の速度ベクトルｖを加算する。加算済みの粒子の５０個のピッチ角αcarの全てに対応した評価値Ｓを求め、その評価値Ｓを各粒子の最良の値pbestとし、最も評価値Ｓが小さい粒子をgbestとする。これで、式（１３）により、ｋ＝０のときの速度ベクトルｖと現在位置ｘ１が求められる。
【００８８】
以後、ｋ＝０のときの速度ベクトルｖと現在位置ｘ１に基づいて、繰り返し回数ｋを１，２，…，５０と順次増やして、その都度、ｘの値を繰り返し求めると、５０個の粒子の全てが、特定のピッチ角αcar付近に集まり、その特定のピッチ角αcar付近に集まった粒子のうちで最も評価値Ｓが小さい粒子を最終的なgbestとし、これを採用する。採用された粒子のピッチ角αcarが、特定すべき車両姿勢を構成するピッチ角αcarとなる。
【００８９】
なお、繰り返し回数ｋを順次増やして、その都度、ｘの値を繰り返し求めたとき、５０個の粒子の全てが、特定のピッチ角αcar付近に集まる状況というのは、例えば、最終的に求められる最適解が１．０［ｄｅｇ］であったとすると、繰り返し回数が小さい初期においては、ピッチ角αcarがランダムな値を示すものの、繰り返し回数が増えるにしたがって、ピッチ角αcarが最適解である１．０［ｄｅｇ］付近（例えば、…，０．９９７，０．９９８，０．９９９８，１．０００１，１．０００３［ｄｅｇ］）に収束した状況である。
【００９０】
上述の説明は、現在位置ｘとしてピッチ角αcarのみを適用したものであるが、現在位置ｘとして、ロール角γcar及び沈み込み量Ｚcar_szを同時に適用することで、ピッチ角αcar、ロール角γcar及び沈み込み量Ｚcar_szの各最適解を求めることができ、これにより、車両姿勢を特定する３つのパラメータを同時に求めることができる。以上により、演算処理装置３１は、最も小さい評価値Ｓ（類似度が最も高い）に対応した車両姿勢パラメータを求めることができる。
【００９１】
そして、パラメータ設定部３３は、求められた車両姿勢パラメータを、各カメラ１１〜１４にそれぞれ対応した４つのカメラパラメータと合成して４つの合成カメラパラメータを求める。このとき、合成カメラパラメータの角度成分(ピッチ角、ロール角、ヨー角)については、式（４）で求めた値を採用すればよい。合成カメラパラメータの並進成分（ｘ，ｙ，ｚ）については、ｘ，ｙは設計値又は車両２００の製造工場若しくは販売会社での初期状態のキャリブレーションで設定された値をそのまま継続して採用し、ｚは式（１１）で求められた車両姿勢の変動後の合成カメラパラメータの並進行列Ｔcam2における沈み込み量Ｚcam2を採用すればよい。
【００９２】
以上、詳細に説明したように、本実施形態のカメラＥＣＵ３０によれば、車両２００の前後方向に延びた直線が存在しない環境下であっても、カメラパラメータを補正することができる。
【００９３】
また、本実施形態のカメラＥＣＵ３０によれば、合成俯瞰画像ＡＰにおいて重複する領域である４つの領域（右前方俯瞰画像Ｐ１３の領域、左前方俯瞰画像Ｐ１４の領域、右後方俯瞰画像Ｐ２３の領域、左後方俯瞰画像Ｐ２４）のうち１つの重複領域（例えば、右前方俯瞰画像Ｐ１３の領域）のみの画像の類似度に基づいて、車両姿勢パラメータを特定することができるため、４つの重複領域の全ての画像について類似度を評価する場合に比べて、演算負荷を低減させることができる。
【００９４】
また、本実施形態のカメラＥＣＵ３０によれば、パラメータ記録装置３４が、車両２００の複数（例えば５０個）の車両姿勢に対応した、ピッチ角αcar、ロール角γcar及び沈み込み量Ｚcar_szの組み合わせで特定される車両姿勢パラメータを、予め記憶しているため、新たなキャリブレーションの都度、これらの複数の車両姿勢パラメータを演算して設定する必要が無く、演算負荷を軽減することができる。なお、パラメータ記録装置３４が記憶している車両姿勢に対応した、ピッチ角αcar、ロール角γcar及び沈み込み量Ｚcar_szの組み合わせで特定される車両姿勢パラメータは、５０個に限定されず、５０個未満の数であっても５０個を超える数であってもよく、演算負荷や演算コストなどに応じて設定することができる。
【符号の説明】
【００９５】
１０      車載カメラ
２０      車速センサ
３０      カメラＥＣＵ
３１      演算処理装置
３２      画像変換部
３３      パラメータ設定部
３４      パラメータ記録装置
Ｐ１      前方俯瞰画像
Ｐ１３    右前方俯瞰画像
Ｐ１３ａ  一部領域
Ｐ３      右側方俯瞰画像
【図１】
2020060976.tif 000016
【図２】
2020060976.tif 000017
【図３】
2020060976.tif 000018
【図４】
2020060976.tif 000019
【図５】
2020060976.tif 000020