(57)【要約】【課題】仮想視点画像における物体の歪みをさらに抑制できる画像生成装置を提供することを課題とする。【解決手段】画像生成装置１０において、車高取得部１１は、車両１の前方車高３１Ｆ及び後方車高３１Ｒを取得する。直線算出部１２は、前方車高３１Ｆ及び後方車高３１Ｒに基づいて、現在路面直線３２を算出する。初期直線取得部１３は、車両１の初期状態における路面を示す初期路面直線４５を取得する。補正部１４は、現在路面直線３２と初期直線取得部４５とがなす角と、現在路面直線３２と初期路面直線４５との交点とに基づいて、カメラの位置及び光軸を補正する。画像生成部は、補正されたカメラの位置及び光軸を用いて、生成された複数の画像から俯瞰画像２５を生成する。【選択図】図５
2020129768.tif 000002
【特許請求の範囲】
【請求項１】
移動体に搭載されたカメラにより生成された画像から視点変換画像を生成する画像生成装置であって、
路面から移動体の第１位置までの高さである第１高さを、前記第１位置に対応する第１ハイトセンサの出力に基づいて取得し、前記路面から前記移動体の第２位置までの高さである第２高さを、前記第２位置に対応する第２ハイトセンサの出力に基づいて取得する車高取得部と、
前記車高取得部により取得された第１高さ及び第２高さに基づいて、前記移動体と路面との関係を示す現在路面直線を算出する直線算出部と、
前記移動体の初期状態において前記移動体から見た路面を示す初期路面直線を取得する初期直線取得部と、
前記直線算出部により算出された現在路面直線と前記初期直線取得部により取得された初期路面直線とがなす角と、前記算出された現在路面直線と前記取得された初期路面直線との交点とに基づいて、前記カメラに関するパラメータを補正する補正部と、
前記補正部により補正されたパラメータを用いて、前記生成された画像から視点変換画像を生成する画像生成部と、を備える画像生成装置。
【請求項２】
請求項１に記載の画像生成装置であって、
前記補正部は、前記カメラの取付位置を前記パラメータとして補正する、画像生成装置。
【請求項３】
請求項２に記載の画像生成装置であって、
前記補正部は、
前記算出された現在路面直線と前記取得された初期路面直線とがなす角である姿勢変化角を算出する角度算出部と、
前記算出された現在路面直線と前記取得された初期路面直線との交点を、前記移動体を基準にした移動体座標系の座標で算出する交点算出部と、
前記交点算出部により算出された交点の座標を、前記路面を基準にした路面座標系の座標に変換する座標変換部と、
前記座標変換部により変換された座標を中心として前記カメラの取付位置を前記姿勢変化角回転させる回転部と、を含む画像生成装置。
【請求項４】
請求項１〜３のいずれか１項に記載の画像生成装置であって、
前記補正部は、前記カメラの光軸を前記パラメータとして補正する、画像生成装置。
【請求項５】
請求項４に記載の画像生成装置であって、
前記補正部は、
前記算出された現在路面直線と前記取得された初期路面直線とがなす角である姿勢変化角を算出する角度算出部と、
前記算出された現在路面直線と前記取得された初期路面直線との交点を、前記移動体を基準にした移動体座標系の座標で算出する交点算出部と、
前記交点算出部により算出された交点の座標を、前記路面を基準にした路面座標系の座標に変換する座標変換部と、
前記座標変換部により変換された座標を中心として前記カメラの光軸を前記姿勢変化角回転させる回転部と、を含む画像生成装置。
【請求項６】
路面からの高さを変更可能な移動体に搭載されたカメラから画像を取得し、取得した画像から視点変換画像を生成する画像生成装置であって、
前記移動体に予め設定された複数の車高モードの中から現在の移動体の車高モードを特定するモード特定部と、
前記カメラに関するパラメータを記録するパラメータデータを前記複数のモードの各々に対応付けて記憶する記憶装置から、前記モード特定部により特定された車高モードに対応するパラメータデータを取得するデータ取得部と、
前記データ取得部により取得されたパラメータデータを用いて、前記カメラにより生成された画像から前記視点変換画像を生成する画像生成部と、を備える画像生成装置。
【請求項７】
移動体に搭載されたカメラにより生成された画像から視点変換画像を生成する画像生成方法であって、
路面から移動体の第１位置までの高さである第１高さを、前記第１位置に対応する第１ハイトセンサの出力に基づいて取得し、前記路面から前記移動体の第２位置までの高さである第２高さを、前記第２位置に対応する第２ハイトセンサの出力に基づいて取得するステップと、
前記取得された第１高さ及び第２高さに基づいて、前記移動体と路面との関係を示す現在路面直線を算出するステップと、
前記移動体の初期状態において前記移動体から見た路面を示す初期路面直線を取得するステップと、
前記算出された現在路面直線と前記取得された初期路面直線とがなす角と、前記算出された現在路面直線と前記取得された初期路面直線との交点とに基づいて、前記カメラに関するパラメータを補正するステップと、
前記補正されたパラメータを用いて、前記生成された画像から視点変換画像を生成するステップと、を備える画像生成方法。
【請求項８】
路面からの高さを変更可能な移動体に搭載されたカメラから画像を取得し、取得した画像から視点変換画像を生成する画像生成方法であって、
前記移動体に予め設定された複数の車高モードの中から現在の移動体の車高モードを特定するステップと、
前記カメラに関するパラメータを記録するパラメータデータを前記複数のモードの各々に対応付けて記憶する記憶装置から、前記特定された車高モードに対応するパラメータデータを取得するステップと、
前記取得されたパラメータデータを用いて、前記カメラにより生成された画像から前記視点変換画像を生成するステップと、を備える画像生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体に搭載されたカメラにより生成された撮影画像から視点変換画像を生成する画像生成装置に関する。
【背景技術】
【０００２】
車両等の移動体に搭載されたカメラにより生成された撮影画像を用いて、予め設定された仮想視点から見た視点変換画像を生成する画像生成装置が知られている。例えば、仮想視点が車両よりも上の位置に設定された場合、視点変換画像は、車両を上から見た俯瞰画像である。
【０００３】
車両が複数のカメラを搭載する場合、画像生成装置は、複数のカメラによって生成された複数の撮影画像を仮想視点から見た画像に変換する。画像生成装置は、変換された複数の撮影画像を繋ぎ合わせて、俯瞰画像を生成する。車両におけるカメラの取付位置が、撮影画像を変換するためのパラメータとして画像生成装置に予め設定されている。
【０００４】
カメラの取付位置を示す位置情報は、車両の出荷時に調整される。俯瞰画像における物体の歪みを抑制するためである。しかし、運転者が車両に搭乗した場合、車両の姿勢が変化する。カメラの取付位置は、車両の姿勢変化に応じて変化する。特許文献１は、カメラの取付位置が変化した場合であっても、仮想視点から見た画像において物体が歪むことを抑制する技術を開示している。
【０００５】
特許文献１に係る映像生成装置は、車両に取り付けられた複数のハイトセンサの検出結果に基づいて車両の姿勢変化を検出し、検出した車両の姿勢変化に基づいてマッピングテーブルを補正する。特許文献１に係る映像生成装置は、補正されたマッピングテーブルを用いて、撮影画像から視点変換画像を生成する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２５３５７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に係る映像生成装置は、カメラが車両の後方に設置されている場合、車両の後輪の沈み込み量をカメラの高さの変化量として使用する。しかし、カメラが後輪よりもさらに車両の後方に位置する場合、カメラの実際の高さの変化量は、車両の後輪の沈み込み量と一致しない。この結果、各カメラが撮影した画像の境界において、視点変換画像に含まれる物体が歪むという問題が発生する。
【０００８】
上記問題点に鑑み、本発明は、移動体の姿勢が変化した場合であっても、仮想視点画像における物体の歪みをさらに抑制できる画像生成装置を提供することを課題とする。
【課題を解決するための手段】
【０００９】
第１の発明は、移動体に搭載されたカメラにより生成された画像から視点変換画像を生成する画像生成装置であって、車高取得部と、直線算出部と、初期直線取得部と、補正部と、画像生成部と、を備える。車高取得部は、路面から移動体の第１位置までの高さである第１高さを、第１位置に対応する第１ハイトセンサの出力に基づいて取得し、路面から移動体の第２位置までの高さである第２高さを、第２位置に対応する第２ハイトセンサの出力に基づいて取得する。直線算出部は、車高取得部により取得された第１高さ及び第２高さに基づいて、移動体と路面との関係を示す現在路面直線を算出する。初期直線取得部は、移動体の初期状態において移動体から見た路面を示す初期路面直線を取得する。補正部は、直線算出部により算出された現在路面直線と初期直線取得部により取得された初期路面直線とがなす角と、算出された現在路面直線と取得された初期路面直線との交点とに基づいて、カメラに関するパラメータを補正する。画像生成部は、補正部により補正されたパラメータを用いて、生成された画像から視点変換画像を生成する。
【００１０】
第１の発明によれば、直線算出部により算出された現在路面直線と、移動体の初期状態における路面を特定する初期路面直線とに基づいて、視点変換画像の生成に用いられるパラメータが変換される。移動体の姿勢変化に伴うカメラに関するパラメータの変化を高精度で特定できるため、仮想視点画像における物体の歪みを抑制できる。
【００１１】
第２の発明は、第１の発明であって、補正部は、カメラの取付位置をパラメータとして補正する。
【００１２】
第２の発明によれば、カメラの取付位置を移動体の姿勢変化に応じて補正できるため、視点変換画像に含まれる物体の歪みを抑制できる。
【００１３】
第３の発明は、第２の発明であって、補正部は、角度算出部と、交点算出部と、座標変換部と、回転部と、を含む。角度算出部は、算出された現在路面直線と取得された初期路面直線とがなす角である姿勢変化角を算出する。交点算出部は、算出された現在路面直線と取得された初期路面直線との交点を、移動体を基準にした移動体座標系の座標で算出する。座標変換部は、交点算出部により算出された交点の座標を、路面を基準にした路面座標系の座標に変換する。回転部は、座標変換部により変換された座標を中心としてカメラの取付位置を姿勢変化角回転させる。
【００１４】
第３の発明によれば、現在路面直線と初期姿勢直線との交点を中心として、カメラの取付位置を回転させる。移動体の姿勢が変化した場合におけるカメラの取付位置を高精度で特定できる。この結果、視点変換画像に含まれる物体の歪みをさらに抑制できる。
【００１５】
第４の発明は、第１〜第３の発明のいずれかであって、補正部は、カメラの光軸をパラメータとして補正する。
【００１６】
第４の発明によれば、カメラの光軸を移動体の姿勢変化に応じて補正できるため、視点変換画像に含まれる物体の歪みを抑制できる。
【００１７】
第５の発明は、第４の発明であって、補正部は、角度算出部と、交点算出部と、座標変換部と、回転部と、を含む。角度算出部は、算出された現在路面直線と取得された初期路面直線とがなす角である姿勢変化角を算出する。交点算出部は、算出された現在路面直線と取得された初期路面直線との交点を、移動体を基準にした移動体座標系の座標で算出する。座標変換部は、交点算出部により算出された交点の座標を、路面を基準にした路面座標系の座標に変換する。回転部は、座標変換部により変換された座標を中心としてカメラの光軸を姿勢変化角回転させる。
【００１８】
第５の発明によれば、現在路面直線と初期姿勢直線との交点を中心として、カメラの光軸を回転させる。移動体の姿勢が変化した場合におけるカメラの光軸を高精度で特定できる。この結果、視点変換画像に含まれる物体の歪みをさらに抑制できる。
【００１９】
第６の発明は、路面からの高さを変更可能な移動体に搭載されたカメラから画像を取得し、取得した画像から視点変換画像を生成する画像生成装置であって、モード特定部と、データ取得部と、画像生成部とを備える。モード特定部は、移動体に予め設定された複数の車高モードの中から現在の移動体の車高モードを特定する。データ取得部は、カメラに関するパラメータを記録するパラメータデータを複数のモードの各々に対応付けて記憶する記憶装置から、モード特定部により特定された車高モードに対応するパラメータデータを取得する。画像生成部は、データ取得部により取得されたパラメータデータを用いて、カメラにより生成された画像から視点変換画像を生成する。
【００２０】
第７の発明は、移動体に搭載されたカメラにより生成された画像から視点変換画像を生成する画像生成方法であって、ａ）ステップと、ｂ）ステップと、ｃ）ステップと、ｄ）ステップと、ｅ）ステップとを備える。ａ）ステップは、路面から移動体の第１位置までの高さである第１高さを、第１位置に対応する第１ハイトセンサの出力に基づいて取得し、路面から移動体の第２位置までの高さである第２高さを、第２位置に対応する第２ハイトセンサの出力に基づいて取得する。ｂ）ステップは、取得された第１高さ及び第２高さに基づいて、移動体と路面との関係を示す現在路面直線を算出する。ｃ）ステップは、移動体の初期状態において移動体から見た路面を示す初期路面直線を取得する。ｄ）ステップは、算出された現在路面直線と取得された初期路面直線とがなす角と、算出された現在路面直線と取得された初期路面直線との交点とに基づいて、カメラに関するパラメータを補正する。ｅ）ステップは、補正されたパラメータを用いて、生成された画像から視点変換画像を生成する。
【００２１】
第７の発明は、第１の発明に用いられる。
【００２２】
第８の発明は、路面からの高さを変更可能な移動体に搭載されたカメラから画像を取得し、取得した画像から視点変換画像を生成する画像生成方法であって、ａ）ステップと、ｂ）ステップと、ｃ）ステップとを備える。ａ）ステップは、移動体に予め設定された複数の車高モードの中から現在の移動体の車高モードを特定する。ｂ）ステップは、カメラに関するパラメータを記録するパラメータデータを複数のモードの各々に対応付けて記憶する記憶装置から、特定された車高モードに対応するパラメータデータを取得する。ｃ）ステップは、取得されたパラメータデータを用いて、カメラにより生成された画像から視点変換画像を生成する。
【００２３】
第８の発明は、第６の発明に用いられる。
【発明の効果】
【００２４】
本発明は、移動体の姿勢が変化した場合であっても、仮想視点画像における物体の歪みをさらに抑制できる画像生成装置を提供できる。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施の形態に係る画像生成装置を搭載した車両の構成を示す機能ブロック図である。
【図２】図１に示す車両に搭載されたカメラの配置を示す図である。
【図３】図１に示す車体に基づいて定義される車体座標系を示す図である。
【図４】図１に示す車両が走行する路面に基づいて定義される路面座標系を示す図である。
【図５】図１に示す画像生成装置の構成を示す機能ブロック図である。
【図６】図５に示す補正部の構成を示す機能ブロック図である。
【図７】図１に示す画像生成装置の動作概略を説明する図である。
【図８】図１に示す画像生成装置の動作を示すフローチャートである。
【図９】図９は、図５に示す直線算出部により算出される現在路面直線の算出方法を説明する図である。
【図１０】図６に示す交点算出部により算出される交点の一例を示す図である。
【図１１】本発明の第２の実施の形態に係る画像生成装置を搭載する車両の構成を示す機能ブロック図である。
【図１２】図１１に示す画像生成装置の構成を示す機能ブロック図である。
【図１３】図１１に示す画像生成装置の動作を示すフローチャートである。
【図１４】ＣＰＵバス構成を示す図である。
【発明を実施するための形態】
【００２６】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００２７】
（第１の実施の形態）
［１．構成］
［１．１．車両１の構成］
図１は、本発明の実施の形態に係る画像生成装置１０を搭載した車両１の構成を示す機能ブロック図である。図１を参照して、画像生成装置１０は、車両１に搭載された複数のカメラにより生成された複数の撮影画像から、視点変換画像を生成する。本実施の形態では、視点変換画像は、車両１の上方に設定された仮想視点から車両１を見下ろした俯瞰画像２５である。
【００２８】
図１において、俯瞰画像２５の生成に関する構成以外の車両１の構成の表示を省略している。
【００２９】
車両１は、車体１Ｄと、左前輪１ＦＬと、右前輪１ＦＲと、左後輪１ＲＬと、右後輪１ＲＲと、フロントシャフト１ＳＦと、リアシャフト１ＳＲとを備える。
【００３０】
左前輪１ＦＬは、車体１Ｄの左前方に配置される。右前輪１ＦＲは、車体１Ｄの右前方に配置される。左前輪１ＦＬ及び右前輪１ＦＲは、車体１Ｄの前方に配置されたフロントシャフト１ＳＦを回転軸として回転する。フロントシャフト１ＳＦは、図示しないエンジンの出力を左前輪１ＦＬ及び右前輪１ＦＲに伝える。左前輪１ＦＬ及び右前輪１ＦＲは、車両１の操舵輪であり、図示しないステアリングホイールの回転に応じて回転する。
【００３１】
左後輪１ＲＬは、車体１Ｄの左後方に配置される。右後輪１ＲＲは、車体１Ｄの右後方に配置される。左後輪１ＲＬ及び右後輪１ＲＲは、車体１Ｄの後方に配置されたリアシャフト１ＳＲを回転軸として回転する。リアシャフト１ＳＲは、図示しないエンジンの出力を左後輪１ＲＬ及び右後輪１ＲＲに伝える。
【００３２】
車両１は、さらに、フロントカメラ２Ｆと、左サイドカメラ２Ｌと、右サイドカメラ２Ｒと、リアカメラ２Ｂとを備える。
【００３３】
フロントカメラ２Ｆは、車両１の前方を撮影して前方撮影画像３Ｆを生成する。左サイドカメラ２Ｌは、車両１の左方を撮影して左方撮影画像３Ｌを生成する。右サイドカメラ２Ｒは、車両１の右方を撮影して右方撮影画像３Ｒを生成する。リアカメラ２Ｂは、車両１の後方を撮影して後方撮影画像３Ｂを生成する。生成された撮影画像３Ｆ、３Ｌ、３Ｒ及び３Ｂの各々は、画像生成装置１０に出力される。
【００３４】
本実施の形態において、前方撮影画像３Ｆ、左方撮影画像３Ｌ、右方撮影画像３Ｒ及び後方撮影画像３Ｂの各々は、動画像を構成するフレームである。例えば、フロントカメラ２Ｆは、フレームである前方撮影画像３Ｆを生成するたびに、その生成した前方撮影画像３Ｆを画像生成装置１０に出力する。
【００３５】
車両１は、さらに、ハイトセンサ４ＦＬ、４ＦＲ、４ＲＬ及び４ＲＲを備える。ハイトセンサ４ＦＬ、４ＦＲ、４ＲＬ及び４ＲＲは、シャフトから車体１Ｄまでの相対変位を検出する。ハイトセンサ４ＦＬ、４ＦＲ、４ＲＬ及び４ＲＲは、変位検出信号５ＦＬ、５ＦＲ、５ＲＬ及び５ＲＲを画像生成装置１０に出力する。
【００３６】
ハイトセンサ４ＦＬは、車体１Ｄからフロントシャフト１ＦＳの左端部までの相対変位を検出する。ハイトセンサ４ＦＲは、車体１Ｄからフロントシャフト１ＦＳの右端部までの相対変位を検出する。ハイトセンサ４ＲＬは、車体１Ｄからリアシャフト１ＲＳの左端部までの相対変位を検出する。ハイトセンサ４ＲＲは、車体１Ｄからリアシャフト１ＲＳの右端部までの相対変位を検出する。
【００３７】
車両１は、さらに、画像生成装置１０と、表示装置２３とを備える。画像生成装置１０は、変位検出信号５ＦＬ、５ＦＲ、５ＲＬ及び５ＲＲをハイトセンサ４ＦＬ、４ＦＲ、４ＲＬ及び４ＲＲから受ける。画像生成装置１０は、その受けた変位検出信号５ＦＬ、５ＦＲ、５ＲＬ及び５ＲＲに基づいて、画像生成装置１０に予め設定されたたカメラの位置及び光軸を補正する。画像生成装置１は、補正したカメラの位置及び光軸を用いて、車両１に搭載されたカメラにより生成された撮影画像から俯瞰画像２５を生成する。
【００３８】
表示装置２３は、俯瞰画像２５を画像生成装置１０から受け、その受けた俯瞰画像２５を表示する。車両１の運転者は、表示装置２３に表示された俯瞰画像２５を参照して、車両１の周囲の状況を容易に確認できる。
【００３９】
［１．２．カメラの配置］
図２は、図１に示すカメラの取付位置を示す図であり、図１に示す車両１を上から見た平面図に相当する。
【００４０】
図２を参照して、フロントカメラ２Ｆは、車両１の前端にあるナンバープレート取付位置の近傍に設けられ、その光軸２Ｆａは車両１の前方に向けられている。リアカメラ２Ｂは、車両１の後端にあるナンバープレート取付位置の近傍に設けられ、その光軸２Ｂａは、車両１の後方に向けられている。
【００４１】
左サイドカメラ２Ｌは左のドアミラー９３に設けられ、その光軸２Ｌａは車両１の左方に向けられている。右サイドカメラ２Ｒは右のドアミラー９３に設けられ、その光軸２Ｒａは車両１の右方に向けられている。
【００４２】
車両１に搭載される各カメラのレンズは、１８０°以上の画角を有する広角レンズである。フロントカメラ２Ｆ、左サイドカメラ２Ｌ、右サイドカメラ２Ｒ及びリアカメラ２Ｂを用いることにより、車両１の全周囲を撮影できる。フロントカメラ２Ｆ及びリアカメラ２Ｂの取付位置は、車両１の左右中央であることが望ましいが、左右中央から多少ずれた位置であってもよい。
【００４３】
［１．３．座標系の定義］
［１．３．１．車体座標系］
図３は、図１に示す車体１Ｄに基づいて定義される車体座標系を示す図である。図３を参照して、車体座標系は、Ｌ軸と、Ｗ軸と、Ｈ軸とを有する３次元直交座標系である。本実施の形態において、路面１００は水平な平面である。
【００４４】
Ｌ軸は、車体１Ｄの前後方向に延びる。Ｌ軸の正方向は、車体１Ｄの後方である。車体１Ｄの前後方向は、車体１Ｄに設定された２つの基準点３Ｆ及び３Ｒを結ぶ線分４１Ａが伸びる方向である。
【００４５】
図２を参照して、基準点３Ｆは、ハイトセンサ４ＦＬとハイトセンサ４ＦＲとを結ぶ線分４１Ｆの中点である。基準点３Ｒは、ハイトセンサ４ＲＬとハイトセンサ４ＲＲとを結ぶ線分４１Ｒの中点である。基準点３Ｆ及び３Ｒは、車体１に固定されている。
【００４６】
図３を参照して、Ｗ軸は、車体１Ｄの左右方向に延びる。つまり、Ｗ軸は、図２に示す線分４１Ｆの方向に延びる。Ｗ軸の正方向は、車体１Ｄの右方である。Ｈ軸は、車体１Ｄの鉛直方向に延びる。つまり、Ｈ軸は、図２に示す線分４１Ａ及び４１Ｂの両者に垂直な直線の方向に延びる。Ｈ軸の正方向は、車体１Ｄの上方である。
【００４７】
本実施の形態において、車体座標系の原点は、以下の３つの条件を満たす点である。第１の条件は、原点が車両１の左右方向の中心であることである。第２条件は、原点が車体１Ｄの前端面に一致することである。第３の条件は、車両１の初期状態において、原点が路面１００上に位置することである。車両１の初期状態とは、乗員が車両１に搭乗しておらず、かつ、荷物が車両１に積載されていない状態である。
【００４８】
車両１が初期状態である場合、線分４１Ａ、４２Ｆ及び４１Ｒは路面１００に平行である。この場合、車体座標系のＬＷ平面は、路面１００に一致し、後述する路面座標系のＸＹ平面と一致する。しかし、車体１Ｄが路面１００に対して傾いた場合、車体座標系の原点は路面１００から移動し、ＬＷ平面は路面１００に対して傾く。車体１Ｄの姿勢変化と車体座標系の変化との関係については、後述する。
【００４９】
［１．３．２．路面座標系］
図４は、図３に示す路面１００に基づいて定義される路面座標系を示す図である。図４を参照して、路面座標系は、Ｘ軸、Ｙ軸及びＺ軸を有する３次元直交座標系である。路面座標系の原点は、車両１の前後方向及び左右方向の両者の中心であり、かつ、路面１００上に位置する。路面座標系において、ＸＹ平面は、路面１００に一致する。つまり、路面座標系は、車体１Ｄの傾斜に関係なく、路面１００に対して固定される。
【００５０】
Ｙ軸は、路面１００上にあり、車両１の前後方向に延びる。Ｙ軸の正方向は、車両１の前方である。Ｘ軸は、路面１００上にあり、車両１の左右方向に延びる。Ｘ軸の正方向は、車両１の右方である。Ｚ軸は、路面１００に対して垂直な方向に延びる。Ｚ軸の正方向は、車両１の上方である。
【００５１】
［１．４．画像生成装置１０の構成］
図５は、図１に示す画像生成装置１０の構成を示す機能ブロック図である。図３を参照して、前方撮影画像３Ｆ、左方撮影画像３Ｌ、右方撮影画像３Ｒ及び後方撮影画像３Ｂを総称して、「撮影画像３」と記載する場合がある。変位検出信号５ＦＬ、５ＦＲ、５ＲＬ及び５ＲＲを総称して、「変位検出信号５」と記載する場合がある。
【００５２】
画像生成装置１０は、車高取得部１１と、直線算出部１２と、初期直線取得部１３と、補正部１４と、画像生成部１５と、記憶部１６とを備える。
【００５３】
車高取得部１１は、ハイトセンサ４ＦＬ及び４ＦＲから受けた変位検出信号５ＦＬ及び５ＦＲに基づいて、前方車高３１Ｆを取得する。車高取得部１１は、ハイトセンサ４ＲＬ及び４ＲＲから受けた変位検出信号５ＲＬ及び５ＲＲに基づいて、後方車高３１Ｒを取得する。高さ取得部４１は、取得した前方車高３１Ｆ及び後方車高３１Ｒを直線算出部１２に出力する。
【００５４】
図３を参照して、前方車高３１Ｆは、路面１００から基準点３Ｆまでの垂直距離である。後方車高３１Ｒは、路面１００から基準点３Ｒまでの垂直距離である。前方車高３１Ｆ及び後方車高３１Ｒは、カメラの位置及び光軸方向の補正に用いられる。
【００５５】
直線算出部１２は、前方車高３１Ｆ及び後方車高３１Ｒを車高取得部１１から受け、その受けた前方車高３１Ｆ及び後方車高３１Ｒに基づいて現在路面直線３２を算出する。現在路面直線３２は、車両１の姿勢が変化した後における車体１Ｄと路面１００との関係を示す。現在路面直線３２は、車体座標系で記述され、車体１Ｄから見た路面１００を特定する。直線算出部１２は、算出した現在路面直線３２を補正部１４に出力する。
【００５６】
初期直線取得部１３は、記憶部１６に記録された初期状態データ４１から初期路面直線４５を取得する。初期路面直線４５は、車両１の初期状態における車体１Ｄと路面１００との関係を示す。初期路面直線４５は、車体座標系で記述され、車両１に初期状態において車体１Ｄから見た路面１００を特定する。初期直線取得部１３は、取得した現在路面直線４５を補正部１４に出力する。
【００５７】
補正部１４は、現在路面直線３２を直線算出部１２から受け、初期路面直線４５を初期直線取得部１３から受ける。補正部１４は、その受けた現在路面直線３２とその受けた初期路面直線４５との交点を算出し、その受けた現在路面直線３２とその受けた初期路面直線４５とがなす角である姿勢変化角を算出する。補正部１４は、算出した交点と、算出した姿勢変化角とに基づいて、記憶部１６に記録されたカメラ位置データ４２及び光軸データ４３を補正する。補正部１４は、補正されたカメラ位置データ４２及び光軸データ４３を画像生成部１５に出力する。
【００５８】
画像生成部１５は、補正されたカメラ位置データ４２及び光軸データ４３を補正部１４から受け、撮影画像３を車両１に搭載された各カメラから受ける。補正されたカメラ位置データ４２及び光軸データ４３を用いて、撮影画像３から俯瞰画像２５を生成する。画像生成部１５は、生成した俯瞰画像２５を表示装置２３に出力する。
【００５９】
記憶部１６は、不揮発性の記憶装置であり、例えば、フラッシュメモリである。記憶部１６は、初期状態データ４１とカメラ位置データ４２と光軸データ４３とを記憶する。
【００６０】
初期状態データ４１は、初期状態における車両１の各種データを記録する。初期状態データ４１は、初期路面直線４５と、基準点３Ｆ及び３Ｒとを記録する。また、初期状態データ４１は、フロントシャフト１ＦＳから路面１００までの距離と、リアシャフト１ＦＲから路面１００までの距離とを記録する。
【００６１】
カメラ位置データ４２は、初期状態におけるフロントカメラ２Ｆ、左サイドカメラ２Ｌ、右サイドカメラ２Ｒ及びリアカメラ２Ｂの位置を記録する。車両１に搭載される各カメラの位置は、路面座標系で記述される。
【００６２】
光軸データ４３は、初期状態におけるフロントカメラ２Ｆ、左サイドカメラ２Ｌ、右サイドカメラ２Ｒ及びリアカメラ２Ｂの光軸を記録する。各カメラの光軸は、各カメラのパン角、チルト角及びロール角によって定義される。パン角、チルト角及びロール角は、路面座標系に基づいて記述される。パン角は、路面座標系のＹ軸を基準にして決定される。チルト角は、路面座標系のＸＹ平面と平行であり、かつ、カメラの取付位置を含む面を基準として決定される。ロール角は、後述するカメラ座標系のｚ軸を基準にして決定される。
【００６３】
［１．５．補正部１４の構成］
図６は、図５に示す補正部１４の構成を示す機能ブロック図である。図６を参照して、補正部１４は、交点算出部１４１と、角度算出部１４２と、座標変換部１４３と、回転部１４４とを含む。
【００６４】
交点算出部１４１は、現在路面直線３２を直線算出部１２から取得し、初期路面直線４５を初期直線取得部４５から取得する。交点算出部１４１は、取得した現在路面直線３２と、取得した初期直線取得部４５との交点Ｃ１を算出する。交点Ｃ１の座標は、車体座標系で記述される。現在路面直線３２及び初期路面直線４５は、車体座標系で記述されるためである。交点算出部１４１は、算出した交点Ｃ１を座標変換部１４３に出力する。
【００６５】
角度算出部１４２は、現在路面直線３２を直線算出部１２から取得し、初期路面直線４５を初期直線取得部４５から取得する。角度算出部１４２は、取得した現在路面直線３２と取得した初期直線取得部４５とのなす角である姿勢変化角αを算出する。車体座標系及び路面座標系の両者が直交座標系であるため、姿勢変化角αは、これら２つの座標系で共通である。交点算出部１４１は、算出した姿勢変化角αを座標変換部１４３に出力する。
【００６６】
座標変換部１４３は、交点Ｃ１を交点算出部１４１から取得し、取得した交点Ｃ１の座標を路面座標系の座標に変換することにより、交点Ｃ２を取得する。座標変換部１４３は、取得した交点Ｃ２を回転部１４４に出力する。
【００６７】
回転部１４４は、姿勢変化角αを角度算出部１４２から取得し、交点Ｃ２を座標変換部１４３から取得する。また、回転部１４４は、カメラ位置データ４２及び光軸データ４３を記憶部１６から取得する。
【００６８】
回転部１４４は、取得したカメラ位置データ４２に記録された各カメラの位置を、取得した交点Ｃ２を中心として回転させる。これにより、カメラ位置データ４２記録された各カメラの位置が補正される。回転角は、取得した姿勢変化角αである。
【００６９】
回転部１４４は、取得した光軸データ４３に記録された各カメラの光軸を、取得した交点Ｃ２を中心として回転させる。これにより、光軸データ４３２記録された各カメラの光軸が補正される。回転角は、取得した姿勢変化角αである。
【００７０】
［２．動作概略］
図７は、画像生成装置１０の動作概略を説明する図である。図７において、車体１Ｄの姿勢が変化した場合における車体１Ｄの傾きを誇張して表現している。図７において、車両１に搭載されるカメラの表示を省略している。
【００７１】
運転者が車両１に搭乗したり、荷物が車両１に積載されたりすることにより、車体１Ｄの姿勢は、初期状態から変化する。図７に示す例では、車体１Ｄが、車体１Ｄの前方が車体１Ｄの後方よりも低くなるように傾いている。各カメラと路面座標系の原点との相対位置は、車両１が傾くことにより初期状態から変化する。また、各カメラの光軸は、路面座標系で記述されているため、車体１Ｄが傾くことにより初期状態から変化する。
【００７２】
俯瞰画像２５は、撮影画像３を路面１００に投影することにより生成される。各カメラの位置及び光軸は、俯瞰画像２５の生成パラメータとして予め画像生成装置１０に設定されている。車体１Ｄが傾いた場合、画像生成装置１０に予め設定された各カメラの位置及び光軸を補正する必要がある。
【００７３】
画像生成装置１０は、車体１Ｄの姿勢が変化した場合、前方車高３１Ｆ及び後方車高３１Ｒを取得する。画像生成装置１０は、取得した前方車高３１Ｆ及び後方車高３１Ｒを用いて、姿勢変化後における路面１００を特定する現在路面直線３２を算出する。画像生成装置１０は、車両１の初期状態における路面１００を特定する直線である初期路面直線４５を取得する。変化姿勢直線３２及び初期路面直線４５は、車体座標系で記述される。
【００７４】
画像生成装置１０は、算出した現在路面直線３２と取得した初期路面直線４５との交点Ｃ１を算出する。画像生成装置１０は、算出した現在路面直線３２と取得した初期路面直線４５とのなす角を姿勢変化角αとして算出する。交点Ｃ１は、車体座標系で記述される画像生成装置１０は、算出した交点Ｃ１の座標を路面座標系の座標に変換することにより、交点Ｃ２を算出する。
【００７５】
画像生成装置１０は、アフィン変換を用いて、カメラ位置データ４２を補正する。具体的には、画像生成装置１０は、カメラ位置データ４２に記録された各カメラの位置を、交点Ｃ２を中心として回転させる。回転角は、姿勢変化角αである。図７は、フロントカメラ２Ｆの位置補正を模式的に示している。
【００７６】
図７に示していないが、画像生成装置１０は、アフィン変換を用いて、光軸データ４３を補正する。具体的には、画像生成装置１０は、光軸データ４３に記録された各カメラの光軸を、各カメラの位置の補正と同様に、交点Ｃ２を中心として回転させる。
【００７７】
画像生成装置１０は、補正されたカメラ位置データ４２及び光軸データ４３を用いて、撮影画像３から俯瞰画像２５を生成する。これにより、画像生成装置１０は、車両の姿勢が変化した場合であっても、俯瞰画像２５における物体の歪みを抑制できる。
【００７８】
［３．動作詳細］
図８は、図１に示す画像生成装置１０の動作を示すフローチャートである。図示しない車両１のシフトレバーの位置がリバースとなった場合、画像生成装置１０は、図８に示す処理を開始する。車両１が後退を開始する場合、少なくとも、運転者が車両１に搭乗しているため、車体１Ｄの姿勢は、初期状態から変化している。あるいは、運転者以外の搭乗者が車両１に乗車している場合や、荷物が車両１に積載されている場合が考えられる。これらの場合においても、車体１Ｄの姿勢は、初期状態から変化している。画像生成装置１０は、俯瞰画像２５の生成を開始する前に、車両１Ｄの姿勢変化に応じて、各カメラの位置及び光軸を補正する。
【００７９】
本実施の形態では、車体１Ｄが車両１の前後方向に傾く場合を例に説明する。このため、以下の説明では、車体座標系におけるＬＨ平面及び路面座標系におけるＹＺ平面を使用する。
【００８０】
［３．１．前方車高及び後方車高の取得（ステップＳ１）］
図８を参照して、車高取得部１１は、前方車高３１Ｆ及び後方車高３１Ｒを取得する（ステップＳ１）。前方車高３１Ｆの生成を例にして、ステップＳ１を詳しく説明する。
【００８１】
図１を参照して、車高取得部１１は、変位検出信号５ＦＬをハイトセンサ４ＦＬから受け、その受けたハイトセンサ４ＦＬに基づいて、路面１００からハイトセンサ４ＦＬまでの垂直距離を算出する。垂直距離は、路面１００からハイトセンサ４ＦＬまでの最短距離であり、最短距離に対応するベクトルは、路面１００に垂直である。
【００８２】
変位検出信号５ＦＬは、フロントシャフト１ＦＳからハイトセンサ４ＦＬまでの距離を示す。フロントシャフト１ＦＳから路面１００までの距離は、初期状態データ４１に記録されている。車高取得部１１は、変位検出信号５ＦＬが示す距離と、フロントシャフト１ＦＳから路面１００までの距離との加算値を、路面１００からハイトセンサ４ＦＬまでの垂直距離として算出する。
【００８３】
車高取得部１１は、上記と同様に、路面１００からハイトセンサ４ＦＲまでの垂直距離を算出する。車高取得部１１は、路面１００からハイトセンサ４ＦＬまでの垂直距離と、路面１００からハイトセンサ４ＦＲまでの距離との平均を算出する。車高取得部１１は、その算出した平均を前方車高３１Ｆとして取得する。
【００８４】
車高取得部１１は、前方車高３１Ｆの取得と同様に、ハイトセンサ４ＲＬから受けた変位検出信号５ＲＬと、ハイトセンサ４ＲＲから受けた変位検出信号５ＲＲとに基づいて、後方車高３１Ｒを取得する。
【００８５】
［３．２．現在路面直線の算出（ステップＳ２）］
図８を参照して、直線算出部１２は、ステップＳ１で取得された前方車高３１Ｆ及び後方車高３１Ｒに基づいて、現在路面直線３２を算出する（ステップＳ２）。
【００８６】
図９は、現在路面直線３２の算出方法を説明する図である。図９を参照しながら、現在路面直線３２の算出（ステップＳ２）を詳しく説明する。
【００８７】
直線算出部１２は、車体座標系における基準点３Ｆを基準として、前方車高３１Ｆに相当する距離をＨ軸下方に移動した点を特定する。直線算出部１２は、基準点３Ｆ及び前方車高３１Ｆに基づいて特定した点を、車両１の前輪が路面１００に接する接地点ＦＰ２に決定する。基準点３Ｆの車体座標系における位置は、初期状態データ４１に予め記録されている。基準点３Ｆと接地点ＦＰ２との関係を分かりやすく示すために、基準点３Ｆを通り、かつ、Ｈ軸に平行な直線である直線ＤＦを図９に示している。
【００８８】
直線算出部１２は、車体座標系における基準点３Ｒを基準として、後方車高３１Ｒに相当する距離をＨ軸下方に移動した点を特定する。直線算出部１２は、基準点３Ｒ及び後方車高３１Ｒに基づいて特定した点を、車両１の後輪が路面１００に接する接地点ＲＰ２に決定する。基準点３Ｒの車体座標系における位置は、初期状態データ４１に予め記録されている。基準点３Ｒと接地点ＲＰ２との関係を分かりやすく示すために、基準点３Ｒを通り、かつ、Ｈ軸に平行な直線である直線ＤＲを図９に示している。
【００８９】
点ＦＰ２及びＲＰ２の位置は、車体座標系で記述される。実際には、車体１Ｄの傾斜角が０°に極めて近い値であるため、直線ＤＦは、実際の前輪の接地点を通過するとみなすことができ、直線ＤＲは、実際の後輪の接地点を通過するとみなすことができる。直線算出部１２は、接地点ＦＰ２及びＲＰ２の両者を結ぶ直線を現在路面直線３２として算出する。図９に示すように、車体１Ｄが傾斜しているため、路面１００は、Ｌ軸から見て傾斜している。従って、現在路面直線３２の傾きは、０と異なる数値である。
【００９０】
［３．３．初期路面直線の取得（ステップＳ３）］
図８を参照して、初期直線取得部１３は、初期状態データ４１を記憶部１６から読み出し、その読み出した初期状態データ４１から初期路面直線４５を取得する（ステップＳ３）。初期路面直線４５は、車両１の初期状態における路面１００を示すため、車体座標系におけるＬ軸に一致する。つまり、初期路面直線４５を示す式は、Ｈ＝０である。
【００９１】
［３．４．姿勢変化角の算出（ステップＳ４）］
補正部１４は、ステップＳ２で算出された現在路面直線３２を直線算出部１２から受け、ステップＳ３で取得された初期路面直線４５を初期直線取得部１３から受ける。補正部１４において、角度算出部１４２は、受けた現在路面直線３２と受けた初期路面直線４５とに基づいて、姿勢変化角αを算出する（ステップＳ４）。姿勢変化角αは、現在路面直線３２を示すベクトルと現在路面直線３２を示すベクトルとの内積から算出される。２つの直線がなす角の算出方法は、周知であるため、その詳細な説明を省略する。
【００９２】
［３．５．交点の算出（ステップＳ５）］
補正部１４において、交点算出部１４１は、ステップＳ２で算出された現在路面直線３２とステップＳ３で取得された初期路面直線４５との交点Ｃ１を算出する（ステップＳ５）。
【００９３】
図１０は、交点算出部１４１により算出される交点Ｃ１の一例を示す図である。図１０において、初期路面直線４５を分かりやすく示すために、初期路面直線４５をＬ軸からずらして示している。図１０を参照して、初期路面直線４５は、Ｌ軸に一致する。交点算出部１４１は、Ｈ＝０を、ステップＳ３で算出された現在路面直線３２を示す式に代入することにより、交点Ｃ１のＬ軸の座標ＣＬ１を算出する。この結果、ＬＨ平面における交点Ｃ１の座標は、（ＣＬ１、０）である。
【００９４】
座標変換部１４３は、算出した交点Ｃ１を路面座標系の座標に変換して、交点Ｃ２を算出する。つまり、交点Ｃ２は、路面座標系で記述される。座標変換部１４３は、初期状態における交点Ｃ２と、姿勢変化時における交点Ｃ２とを算出する。以下、２種類の交点Ｃ２を算出する理由を説明する。
【００９５】
図７を参照して、初期状態における前輪の接地点ＦＰ１は、Ｌ軸上に位置する。図９を参照して、姿勢変化後における前輪の接地点ＦＰ２は、Ｌ軸上に位置しない。これらのことから、交点Ｃ１から接地点ＦＰ１までの距離Ｅ１は、交点Ｃ１から接地点ＦＰ２までの距離Ｅ２と異なる。姿勢変化後における交点Ｃ２の位置は、見かけ上、初期状態における交点Ｃ２の位置と異なる。このため、補正部１４は、２種類の交点を算出する。２種類の交点は、後述するアフィン変換で用いられる。
【００９６】
初期状態における交点Ｃ１の算出について説明する。図１０を参照して、座標変換部１４３は、交点Ｃ１から接地点ＦＰ１までの距離Ｅ１を算出する。補正部１４は、路面座標系における接地点ＦＰ１のＹ座標を、算出した距離Ｅ１に加算することにより、初期状態における交点Ｃ２のＹ座標を算出する。初期状態における交点Ｃ２のＺ座標は、０である。路面座標系のＹ軸は、路面１００に含まれるためである。これにより、初期状態における交点Ｃ２の座標が決定される。
【００９７】
姿勢変化後における交点Ｃ２の算出について説明する。座標変換部１４３は、交点Ｃ１から接地点ＦＰ２までの距離Ｅ２を算出する。補正部１４は、路面座標系における接地点ＦＰ２のＹ座標を、算出した距離Ｅ２に加算することにより、姿勢変化後における交点Ｃ２のＹ座標を算出する。姿勢変化後における交点Ｃ２のＺ座標は、０である。これにより、姿勢変化後における交点Ｃ２の座標が決定される。
【００９８】
［３．６．カメラ位置の補正（ステップＳ６）］
図８を参照して、補正部１４は、ステップＳ４で算出された姿勢変化角αとステップＳ５で算出された交点Ｃ２とに基づいて、カメラ位置データ４２に記録された各カメラの位置を、変化した車体１Ｄの姿勢に合わせて補正する（ステップＳ６）。ステップＳ６では、アフィン変換が用いられる。
【００９９】
フロントカメラ２Ｆの位置補正を例にして、ステップＳ６を詳しく説明する。回転部１４４は、カメラ位置データ４２に記録されたフロントカメラ２Ｆの位置を、初期状態における交点Ｃ２を中心にして回転させる。回転角は、姿勢変化角αである。アフィン変換が、フロントカメラ２Ｆの位置の回転に用いられる。
【０１００】
具体的には、回転部１４４は、ステップＳ６において下記の第１〜第３の処理を実行する。第１の処理は、初期状態における交点Ｃ２が路面座標系の原点に一致するように、カメラ位置データ４２に記録されたフロントカメラ２Ｆの位置と初期状態における交点Ｃ２とを移動させる。第１の処理において、初期状態における交点Ｃ２を基準としたフロントカメラ２Ｆの相対位置は、維持される。
【０１０１】
第２の処理は、第１の処理によって移動したフロントカメラ２Ｆの位置を路面座標系の原点を中心にして、姿勢変化角α回転させる。第３の処理は、路面座標系の原点が姿勢変化後の交点Ｃ２に一致するように、回転後のフロントカメラ２Ｆの位置を移動させる。姿勢変化後の交点Ｃ２を基準とした２回目の移動後のフロントカメラ２Ｆの相対位置は、路面座標系の原点を基準とした回転後のフロントカメラ２Ｆの相対位置と同じである。
【０１０２】
第３の処理によって取得されたフロントカメラ２Ｆの位置が、補正されたフロントカメラ２Ｆの位置として用いられる。同様に、補正部１４は、第１〜第３の処理を実行して、左サイドカメラ２Ｌ、右サイドカメラ２Ｒ及びリアカメラ２Ｂの位置を補正する。
【０１０３】
このように、路面座標系で記述されたカメラの位置を交点Ｃ２を中心として回転させることにより、車両１の姿勢が変化した後におけるカメラの位置を高い精度で特定できる。
【０１０４】
［３．７．パン角及びチルト角の補正（ステップＳ７）］
回転部１４４は、光軸データ４３に記録された各カメラの光軸を定義するパン角、チルト角及びロール角のうち、パン角及びチルト角を補正する（ステップＳ７）。
【０１０５】
ここで、各カメラに固定されたカメラ座標を定義する。カメラ座標は、３次元直交座標系である。本実施の形態では、カメラ座標の原点は、カメラが備えるレンズの中心である。カメラ座標系は、ｘ軸、ｙ軸及びｚ軸を有する。ｘ軸は、カメラの左右方向であり、ｘ軸の正方向は、カメラの右方である。ｙ軸は、カメラの高さ方向であり、ｙ軸の正方向は、カメラの上方である。ｚ軸は、カメラの光軸方向に延びる。ｚ軸の正方向は、カメラのレンズから被写体に向かう方向の逆方向である。
【０１０６】
パン角及びチルト角は、上述のように、路面座標系を基準にして決定される。このため、回転部１４４は、フロントカメラ２Ｆのパン角及びチルトを一括して補正する。
【０１０７】
フロントカメラ２Ｆのパン角の補正を例にして、ステップＳ７を詳しく説明する。フロントカメラ２Ｆのチルト角と、他のカメラのパン角及びチルト角とを補正する方法は、フロントカメラ２Ｆのパン角の補正と同じであるため、その説明を省略する。
【０１０８】
補正部１４は、光軸データ４３を記憶部１６から読み出し、フロントカメラ２Ｆのパン角、チルト角及びロール角を、その読み出した光軸データ４３から取得する。補正部１４は、フロントカメラ２Ｆの光軸ベクトルを、取得したパン角、チルト角及びロール角に従って回転させる。フロントカメラ２Ｆの光軸ベクトルは、カメラ座標系において、ｚ軸の方向に延びる単位ベクトルである。フロントカメラ２Ｆの光軸ベクトルの向きは、ｚ軸の負方向である。補正部１４は、回転された光軸ベクトルの始点及び終点の座標を算出する。算出される始点及び終点の座標は、路面座標系である。
【０１０９】
回転部１４は、算出された光軸ベクトルの始点及び終点の各々を、ステップＳ５で算出された交点Ｃ２を中心にして、ステップＳ４で算出された姿勢変化角α回転させる。アフィン変換が、算出された光軸ベクトルの始点及び終点の回転に用いられる。つまり、回転部１４４は、ステップＳ６で説明した第１〜第３の処理を実行して、光軸ベクトルの始点及び終点を回転させる。アフィン変換された始点及び終点に基づいて、補正された光軸ベクトルが定義される。
【０１１０】
補正部１４は、補正された光軸ベクトルを、ＸＹ平面における成分を示す第１ベクトルと、ＹＺ平面における成分を示す第２ベクトルとに分解する。補正部１４は、第１ベクトルと路面座標系におけるＹ軸とがなす角を、補正されたパン角として算出する。補正部１４は、第２ベクトルと路面座標系におけるＹ軸とがなす角を、補正されたチルト角として算出する。
【０１１１】
［３．８．ロール角の補正（ステップＳ８）］
補正部１４は、光軸データ４３に記録された各カメラの光軸を定義するパン角、チルト角及びロール角のうち、ロール角を補正する（ステップＳ８）。フロントカメラ２Ｆのロール角の補正を例にして、ステップＳ８を詳しく説明する。他のカメラのロール角を補正する処理は、フロントカメラ２Ｆのロール角の補正と同じであるため、その説明を省略する。
【０１１２】
フロントカメラ２Ｆのカメラ座標におけるｘ軸の単位ベクトルが、フロントカメラ２Ｆのロール角の補正に用いられる。フロントカメラ２Ｆのロール角が、路面座標系のＺ軸となす角によって定義されるためである。
【０１１３】
回転部１４４は、光軸データ４３を記憶部１６から読み出し、フロントカメラ２Ｆのパン角、チルト角及びロール角を、その読み出した光軸データ４３から取得する。回転部１４４は、フロントカメラ２Ｆのカメラ座標におけるｘ軸の単位ベクトルを、取得したパン角、チルト角及びロール角に従って回転させる。回転部１４４は、回転されたｘ軸の単位ベクトルの始点及び終点の座標を算出する。算出される始点及び終点の座標は、路面座標系である。
【０１１４】
回転部１４４は、算出されたｘ軸の単位ベクトルの始点及び終点の各々を、ステップＳ５で算出された交点Ｃ２を中心にして、ステップＳ４で算出された姿勢変化角α回転させる。アフィン変換が、ｘ軸の単位ベクトルの始点及び終点の回転に用いられる。
【０１１５】
回転部１４４は、ステップＳ６におけるアフィン変換で用いられる第１〜第３の処理を、算出された光軸ベクトルの始点及び終点のアフィン変換に適用する。このため、ステップＳ７で実行されるアフィン変換の詳細な説明を省略する。補正部１４は、補正されたｘ軸の単位ベクトルと、路面座標系におけるＺ軸とがなす角を、補正されたロール角として算出する。
【０１１６】
このように、路面座標系で記述されたカメラの光軸を交点Ｃ２を中心として回転させることにより、車両１の姿勢が変化した後におけるカメラの光軸を高い精度で特定できる。
【０１１７】
補正部１４は、ステップＳ６で補正された各カメラの位置と、ステップＳ７で補正された各カメラのパン角及びチルト角と、ステップＳ８で補正された各カメラのロール角とを、画像生成部１５に出力する（ステップＳ９）。
【０１１８】
画像生成部１５は、補正部１４から受けた各カメラの位置、ロール角、チルト角及びロール角を用いて、車両１に搭載された各カメラから取得した撮影画像３から俯瞰画像２５を生成する（ステップＳ１０）。俯瞰画像２５の生成（ステップＳ１０）は、図示しないシフトレバーの位置がリバースから他のシフトに移行するまで継続される。俯瞰画像２５の生成が終了した場合、画像生成装置１０は、図８に示す処理を終了する。
【０１１９】
以上説明したように、画像生成装置１０は、前方車高３１Ｆ及び後方車高３２Ｒを取得し、その取得した前方車高３１Ｆ及び後方車高３２Ｒに基づいて、現在路面直線３２を算出する。画像生成装置１０は、算出した現在路面直線３２と、初期状態における路面を示す初期路面直線４５との交点Ｃ２を算出し、現在路面直線３２と初期路面直線４５とのなす角である姿勢変化角αを算出する。画像生成装置１０は、算出した交点Ｃ２及び姿勢変化角αに基づいて、車両１に搭載されたカメラの位置及び姿勢を特定するデータを補正する。これにより、画像生成装置１０は、車両１の姿勢が変化した場合であっても、歪みがより抑制された俯瞰画像２５を生成することができる。
【０１２０】
（第２の実施の形態）
［１．構成］
［１．１．車両１Ａの構成］
図１１は、本発明の第２の実施の形態に係る画像生成装置５０を搭載する車両１Ａの構成を示す機能ブロック図である。図１１において、俯瞰画像の生成に関する構成外の車両１Ａの構成の表示を省略している。図１１を参照して、車両１Ａは、運転者の操作に応じて、車両１Ａの車高を調整する。
【０１２１】
車両１Ａは、画像生成装置１０に代えて、画像生成装置２０を備える。車両１Ａは、図１に示す構成に加えて、車高調整部６ＦＬ、６ＦＲ、６ＲＬ及び６ＲＲと、車高指示スイッチ２１と、車高制御装置２２とを備える。車両１Ａは、図１に示すハイトセンサ４ＦＬ、４ＦＲ、４ＲＬ及び４ＲＲを備えない。
【０１２２】
車高指示スイッチ２１は、運転者が車両１Ｄの車高を指示するために使用する。運転者は、車高指示スイッチ２１を操作して、ノーマルモード、ハイモード及びローモードのうち、いずれか１つの車高モードを選択する。車高指示スイッチ２１は、運転者により選択されたモードを示すモード選択信号２１ａを車高制御装置２２及び画像生成装置５０に出力する。
【０１２３】
ノーマルモードが選択された場合、車両１は、舗装路の走行に適した車高に調整される。ハイモードが選択された場合、車両１は、未舗装路など、走行条件が良くない路面の走行に適した車高に調整される。ローモードが選択された場合、車両１は、搭乗者の乗降に適した車高に調整される。ノーマルモードにおける車高は、ハイモードにおける車高よりも低く、かつ、ローモードにおける車高よりも高い。
【０１２４】
車高制御装置２２は、モード選択信号２１ａを車高指示スイッチ２１から受ける。車高制御装置２２は、その受けたモード選択信号２１ａに基づいて、選択されたモードに対応する制御信号７ＦＬ、７ＦＲ、７ＲＬ及び７ＲＲを、車高調整部６ＦＬ、６ＦＲ、６ＲＬ及び６ＲＲに出力する。
【０１２５】
車高調整部６ＦＬ、６ＦＲ、６ＲＬ及び６ＲＲは、サスペンションであり、車高制御装置２２からの制御信号７ＦＬ、７ＦＲ、７ＲＬ及び７ＲＲに応じて、シャフトから車体１Ｄまでの鉛直方向の距離を調整する。
【０１２６】
車高調整部６ＦＬは、左前輪１ＦＬが路面から受ける衝撃を緩和する。車高調整部６ＦＬは、車高制御装置２２からの制御信号７ＦＬに基づいて、車体１Ｄとフロントシャフト１ＦＳの左端部との相対距離を調整する。
【０１２７】
車高調整部６ＦＲは、右前輪１ＦＲが路面から受ける衝撃を緩和する。車高調整部６ＦＲは、車高制御装置２２からの制御信号７ＦＲに基づいて、車体１Ｄとフロントシャフト１ＦＳの右端部との相対距離を調整する。
【０１２８】
車高調整部６ＲＬは、左後輪１ＲＬが路面から受ける衝撃を緩和する。車高調整部６ＲＬは、車高制御装置２２からの制御信号７ＲＬに基づいて、車体１Ｄとリアシャフト１ＦＲの左端部との相対距離を調整する。
【０１２９】
車高調整部６ＲＲは、右後輪１ＲＲが路面から受ける衝撃を緩和する。車高調整部６ＲＲは、車高制御装置２２からの制御信号７ＲＲに基づいて、車体１Ｄとリアシャフト１ＦＲの右端部との相対距離を調整する。
【０１３０】
車両１Ａは、ノーマルモード、ハイモード及びローモードのいずれかに対応する姿勢に調整される。従って、搭乗者の数が変化した場合、あるいは、荷物が車両１Ａに積載された場合であっても、車両１Ａは、選択されたモードに対応する姿勢を維持する。つまり、運転者が車高モードを変更しない限り、車両１Ａの姿勢は変化しない。
【０１３１】
［１．２．画像生成装置５０の構成］
図１２は、図１０に示す画像生成装置５０の構成を示す機能ブロック図である。図１２を参照して、画像生成装置５０は、モード特定部５１と、データ取得部５２と、画像生成部５３と、記憶部５４とを備える。
【０１３２】
モード特定部５１は、モード選択信号２１ａを車高指示スイッチ２１から受ける。テーブル取得部５１は、その受けたモード選択信号２１ａに基づいて、現在の車高モードを特定する。モード特定部５１は、特定した現在の車高モードをデータ取得部５２に通知する。
【０１３３】
データ取得部５２は、現在の車高モードをモード特定部５１から受け、その受けた車高モードに対応するパラメータデータを記憶部５４から取得する。データ取得部５２は、取得したパラメータデータを画像生成部５３に出力する。
【０１３４】
画像生成部５３は、パラメータデータをデータ取得部５２から受け、撮影画像３を車両１Ａに搭載された各カメラから受ける。画像生成部５２は、データ取得部５２から受けたパラメータデータを用いて、各カメラから受けた撮影画像３から俯瞰画像２５を生成する。
【０１３５】
記憶部５３は、不揮発性の記憶装置であり、例えば、フラッシュメモリである。記憶部５３は、パラメータデータ６１〜６３を記憶する。
【０１３６】
パラメータデータ６１は、車両１Ａがノーマルモードである場合における、カメラに関するパラメータを記録する。パラメータデータ６１は、カメラ位置データ６１１と、光軸データ６１２とを含む。カメラ位置データ６１１は、車両１Ａがノーマルモードである場合における各カメラの位置を路面座標系で記録する。光軸データ６１２は、車両１Ａがノーマルモードである場合における各カメラの光軸を路面座標系で記録する。
【０１３７】
パラメータデータ６２は、車両１Ａがハイモードである場合において、カメラに関するパラメータを記録する。パラメータデータ６２は、カメラ位置データ６２１と、光軸データ６２２とを含む。カメラ位置データ６２１は、車両１Ａがハイモードである場合における各カメラの位置を路面座標系で記録する。光軸データ６２２は、車両１Ａがハイモードである場合における各カメラの光軸を路面座標系で記録する。
【０１３８】
パラメータデータ６３は、車両１Ａがローモードである場合において、カメラに関するパラメータを記録する。パラメータデータ６３は、カメラ位置データ６３１と、光軸データ６３２とを含む。カメラ位置データ６３１は、車両１Ａがハイモードである場合における各カメラの位置を路面座標系で記録する。光軸データ６３２は、車両１Ａがハイモードである場合における各カメラの光軸を路面座標系で記録する。
【０１３９】
３つの車高モードのうち、ノーマルモードが車両１Ａの初期状態に相当する。パラメータデータ６２において、カメラ位置データ６２１に記録された各カメラの位置は、上記第１の実施の形態で説明したカメラ位置の補正と同じ処理により取得される。光軸データ６２２に記録された各カメラの光軸は、上記第１の実施の形態で説明したカメラ光軸の補正と同じ処理により取得される。つまり、ノーマルモードにおいて路面１００を特定する直線が、上記第１の実施の形態における初期路面直線４５に相当する。ハイモードにおいて路面１００を特定する直線が、上記第１の実施の形態における現在路面直線３２に相当する。
【０１４０】
パラメータデータ６３において、カメラ位置データ６３１に記録された各カメラの位置は、上記第１の実施の形態で説明したカメラ位置の補正と同じ処理により取得される。光軸データ６３２に記録された各カメラの光軸は、上記第１の実施の形態で説明したカメラ光軸の補正と同じ処理により取得される。
【０１４１】
［２．画像生成装置５０の動作］
図１３は、図１０に示す画像生成装置５０の動作を示すフローチャートである。図１３を参照して、図示しない車両１のシフトレバーの位置がリバースとなった場合、画像生成装置５０は、図１２に示す処理を開始する。
【０１４２】
モード特定部５１は、車両１Ａの現在の車高モードを特定する（ステップＳ５１）。具体的には、モード特定部５１は、モード選択信号２１ａを車高指示スイッチ２１から継続的に受信している。モード選択信号２１ａは、ノーマルモード、ハイモード及びローモードの各々に応じたレベルで変化する。テーブル取得部５１は、モード選択信号２１ａのレベルにも基づいて、車両１Ａの現在の車高モードを特定する。
【０１４３】
データ取得部５２は、ステップＳ５１で特定された現在の車高モードに対応するパラメータデータを、記憶部５４から取得する（ステップＳ５２）。データ取得部５２は、ステップＳ５２で取得したパラメータデータを、画像生成部５３に出力する。
【０１４４】
現在の車高モードがノーマルモードである場合、データ取得部５２は、パラメータデータ６１を、記憶部５４から読み出す。現在の車高モードがハイモードである場合、データ取得部５２は、パラメータデータ６２を、記憶部５４から読み出す。特定された車高モードがローモードである場合、データ取得部５２は、パラメータデータ６３を、記憶部５４から読み出す。
【０１４５】
画像生成部５３は、ステップＳ５２で取得されたパラメータデータをデータ取得部５２から受ける。画像生成部５３は、その受けたパラメータデータを用いて、車両１Ａに搭載された各カメラから取得した撮影画像３から俯瞰画像２５を生成する（ステップＳ５３）。俯瞰画像２５の生成（ステップＳ５３）は、図示しないシフトレバーの位置がリバースから他のシフトに移行するまで継続される。俯瞰画像２５の生成が終了した場合、画像生成装置５０は、図１２に示す処理を終了する。
【０１４６】
以上説明したように、画像生成装置５０は、車両１Ａの車高モードに応じたカメラデータを取得し、取得したカメラデータを用いて俯瞰画像２５を生成する。ハイモード及びローモードにおけるカメラの位置及び光軸は、初期状態に相当するノーマルモードのカメラの位置及び光軸を補正することにより決定される。従って、画像生成装置５０は、画像生成装置１０と同様に、俯瞰画像における物体の歪みを抑制できる。また、画像生成装置５０は、俯瞰画像２５の生成を開始する際に、カメラの位置及び光軸を補正しなくてもよいため、俯瞰画像２５を速やかに生成できる。
【０１４７】
［変形例］
上記実施の形態において、画像生成装置１０が、車体１Ｄの前後方向の傾きに基づいて、カメラの位置及び光軸を補正する例を説明したが、これに限られない。画像生成装置１０は、車体１Ｄの左右方向の傾きに基づいて、カメラの位置及び光軸を補正してもよい。この場合、ハイトセンサ４ＦＬとハイトセンサ４ＲＬとを結ぶ線分の中点と、ハイトセンサ４ＲＬとハイトセンサ４ＲＲとを結ぶ線分の中点とを基準点に設定すればよい。
【０１４８】
上記実施の形態において、画像生成装置が、カメラの位置及び光軸の両者を補正する例を説明したが、これに限られない。画像生成装置は、カメラの位置及び光軸の少なくとも一方を補正すればよい。これにより、俯瞰画像25に含まれる物体の歪みを抑制できる。画像生成装置は、姿勢変化角αと、現在路面直線３２と初期路面直線との交点とに基づいて、俯瞰画像２５の生成に用いられるパラメータを補正すればよい。
【０１４９】
上記実施の形態において、画像生成装置が、俯瞰画像２５を生成する場合を例に説明したが、これに限られない。画像生成装置１０は、任意の仮想視点から見た車両の画像を撮影画像３から生成すればよい。また、車両に搭載されるカメラの数は、１台以上であればよい。
【０１５０】
上記第２の実施の形態において、車両１Ａがハイトセンサを備えない例を説明したが、これに限られない。車両１Ａは、ハイトセンサを備えてもよい。この場合、画像生成装置５０は、画像生成装置１０と同様に、カメラの位置及び光軸をリアルタイムに補正できる。
【０１５１】
また、上記実施の形態において、画像生成装置１０及び５０の各機能ブロックは、ＬＳＩなどの半導体装置により個別に１チップ化されてもよいし、一部又は全部を含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１５２】
集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１５３】
また、画像生成装置１０及び５０により実行される処理の一部または全部は、プログラムにより実現されてもよい。そして、上記各実施の形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置（ＣＰＵ）により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ＲＯＭなどの記憶装置に格納されており、ＲＯＭにおいて、あるいはＲＡＭに読み出されて実行される。
【０１５４】
また、上記実施の形態の各処理をハードウェアにより実現してもよいし、ソフトウェア（ＯＳ（オペレーティングシステム）、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。）により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
【０１５５】
例えば、画像生成装置１０及び５０の各機能ブロックを、ソフトウェアにより実現する場合、図１５に示したハードウェア構成（例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、入力部、出力部等をバスＢｕｓにより接続したハードウェア構成）を用いて、各機能部をソフトウェア処理により実現するようにしてもよい。
【０１５６】
また、上記実施の形態における処理方法の実行順序は、上記実施の形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で実行順序を入れ替えてもよい。
【０１５７】
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、大容量ＤＶＤ、次世代ＤＶＤ、半導体メモリを挙げることができる。
【０１５８】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【符号の説明】
【０１５９】
１，１Ａ  車両
２Ｆ，２Ｌ，２Ｒ，２Ｂ  カメラ
４ＦＬ，４ＦＲ，４ＲＬ，４ＲＲ  ハイトセンサ
１０、５０  画像生成装置
１１  車高取得部
１２  直線算出部
１３  初期直線取得部
１４  補正部
１５、５３  画像生成部
１６，５４  記憶部
５１  モード特定部
５２  データ取得部
１４１  交点算出部
１４２  角度算出部
１４３  座標変換部
１４４  回転部
【図１】
2020129768.tif 000003
【図２】
2020129768.tif 000004
【図３】
2020129768.tif 000005
【図４】
2020129768.tif 000006
【図５】
2020129768.tif 000007
【図６】
2020129768.tif 000008
【図７】
2020129768.tif 000009
【図８】
2020129768.tif 000010
【図９】
2020129768.tif 000011
【図１０】
2020129768.tif 000012
【図１１】
2020129768.tif 000013
【図１２】
2020129768.tif 000014
【図１３】
2020129768.tif 000015
【図１４】
2020129768.tif 000016