(57)【要約】【課題】搭乗者が車両に乗車して移動体の姿勢が変化した場合であっても、仮想視点画像において繋ぎ合わせた画像間のずれの発生を抑制することができる画像生成装置を提供することを課題とする。【解決手段】画像生成装置１０において、第１距離検出部１１１は、移動体１に搭乗者が乗車する前に、移動体１の左方向または右方向に存在する物体と移動体１との距離を、第１距離として検出する。第２距離検出部１１２は、移動体１に搭乗者が乗車した後に、移動体１の左方向または右方向に存在する物体と移動体との距離を、第２距離として検出する。傾斜角算出部１２は、第１距離および第２距離に基づき、搭乗者が移動体に搭乗する前後における移動体１の横方向の傾斜角の変化量である傾斜角変化量を算出する。補正部１３は、傾斜角変化量、第１距離および第２距離に基づきカメラの姿勢データを補正する。画像生成部１４は、補正された姿勢データを用いて、生成された複数の画像から視点変換画像を生成する。【選択図】図５
2020162020.tif 000002
【特許請求の範囲】
【請求項１】
移動体に搭載された複数のカメラにより生成された複数の撮影画像から前記カメラの姿勢データを用いて視点変換画像を生成する画像生成装置であって、
前記移動体に搭乗者が乗車する前に、前記移動体の左方向または右方向に存在する物体と前記移動体との距離を、第１距離として検出する第１距離検出部と、
前記移動体に搭乗者が乗車した後に、前記移動体の左方向または右方向に存在する物体と前記移動体との距離を、第２距離として検出する第２距離検出部と、
前記第１距離および前記第２距離に基づき、前記搭乗者が前記移動体に搭乗する前後における前記移動体の横方向の傾斜角の変化量である傾斜角変化量を算出する傾斜角算出部と、
前記傾斜角変化量、前記第１距離および前記第２距離に基づき前記姿勢データを補正する補正部と、
前記補正された前記姿勢データを用いて、前記生成された複数の撮影画像から前記視点変換画像を生成する画像生成部と、を備える画像生成装置。
【請求項２】
請求項１に記載の画像生成装置であって、
前記カメラは、前記移動体の左側に搭載された左サイドカメラと前記移動体の右側に搭載された右サイドカメラを備え、
前記傾斜角算出部は、前記移動体の左方向と右方向の両方に物体が存在する場合、前記移動体と前記左方向の物体との前記第１距離および前記第２距離に基づき前記傾斜角変化量を左方傾斜角変化量として算出し、前記移動体と前記右方向の物体との前記第１距離および前記第２距離に基づき前記傾斜角変化量を右方傾斜角変化量として算出し、
前記補正部は、前記左サイドカメラの前記姿勢データを前記左方傾斜角変化量に基づき補正し、前記右サイドカメラの前記姿勢データを前記右方傾斜角変化量に基づき補正する、画像生成装置。
【請求項３】
請求項１に記載の画像生成装置であって、
前記カメラは、前記移動体の左側に搭載された左サイドカメラと前記移動体の右側に搭載された右サイドカメラを備え、
前記傾斜角算出部は、前記移動体の左方向と右方向のいずれか一方に物体が存在する場合、前記移動体と前記存在する物体との前記第１距離および前記第２距離に基づき前記傾斜角変化量を共通の傾斜角変化量として算出し、
前記補正部は、前記左サイドカメラと右サイドカメラのうち、前記物体が存在しない側に搭載されたサイドカメラの前記姿勢データを前記共通の傾斜角変化量に基づき補正する、画像生成装置。
【請求項４】
請求項１に記載の画像生成装置であって、
前記補正部は、前記移動体の左方向と右方向のどちらにも物体が存在しない場合、前記姿勢データの補正を禁止する、画像生成装置。
【請求項５】
移動体に搭載された複数のカメラにより生成された複数の撮影画像から前記カメラの姿勢データを用いて視点変換画像を生成する画像生成方法であって、
前記移動体に搭乗者が乗車する前に、前記移動体の左方向または右方向に存在する物体と前記移動体との距離を、第１距離として検出するステップと、
前記移動体に搭乗者が乗車した後に、前記移動体の左方向または右方向に存在する物体と前記移動体との距離を、第２距離として検出するステップと、
前記第１距離および前記第２距離に基づき、前記搭乗者が前記移動体に搭乗する前後における前記移動体の横方向の傾斜角の変化量である傾斜角変化量を算出するステップと、
前記傾斜角変化量、前記第１距離および前記第２距離に基づき前記姿勢データを補正するステップと、
前記補正された前記姿勢データを用いて、前記生成された複数の撮影画像から前記視点変換画像を生成するステップと、を備える画像生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体に搭載されたカメラにより生成された撮影画像から視点変換画像を生成する画像生成装置に関する。
【背景技術】
【０００２】
車両等の移動体に搭載されたカメラにより生成された撮影画像を用いて、予め設定された仮想視点から見た視点変換画像を生成する画像生成装置が知られている。例えば、仮想視点が車両よりも上の位置に設定された場合、視点変換画像は、車両を上から見た俯瞰画像である。
【０００３】
車両が複数のカメラを搭載する場合、画像生成装置は、複数のカメラによって生成された複数の撮影画像を仮想視点から見た画像に変換する。画像生成装置は、変換された複数の撮影画像を繋ぎ合わせて、視点変換画像を生成する。車両におけるカメラの取付位置や光軸データを含むカメラ姿勢データが、撮影画像を変換するためのパラメータとして画像生成装置に予め設定されている。カメラ姿勢データは、視点変換画像において複数の撮影画像を繋ぎ合わせた際に生じる画像間のずれをなくすよう、車両の出荷時に調整される。この調整作業をカメラキャリブレーションといい、例えば、特許文献１が知られている
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−０８９９８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、運転者等の搭乗者が車両に乗車した場合、車両の姿勢が変化する。カメラの姿勢は、車両の姿勢変化に応じて変化する。そのため、搭乗者が車両に乗車すると、視点変換画像において繋ぎ合わせた画像間にずれが生じてしまう。
【０００６】
上記問題点に鑑み、本発明は、搭乗者が車両に乗車して移動体の姿勢が変化した場合であっても、仮想視点画像において繋ぎ合わせた画像間のずれの発生を抑制することができる画像生成装置を提供することを課題とする。
【課題を解決するための手段】
【０００７】
第１の発明は、移動体に搭載された複数のカメラにより生成された複数の撮影画像からカメラの姿勢データを用いて視点変換画像を生成する画像生成装置であって、第１距離検出部と、第２距離検出部と、傾斜角算出部と、補正部と、画像生成部と、を備える。第１距離検出部は、移動体に搭乗者が乗車する前に、移動体の左方向または右方向に存在する物体と移動体との距離を、第１距離として検出する。第２距離検出部は、移動体に搭乗者が乗車した後に、移動体の左方向または右方向に存在する物体と移動体との距離を、第２距離として検出する。傾斜角算出部は、第１距離および第２距離に基づき、搭乗者が移動体に搭乗する前後における移動体の横方向の傾斜角の変化量である傾斜角変化量を算出する。補正部は、傾斜角変化量、第１距離および第２距離に基づき姿勢データを補正する。画像生成部は、補正された姿勢データを用いて、生成された複数の画像から視点変換画像を生成する。
【発明の効果】
【０００８】
本発明は、搭乗者が車両に乗車して移動体の姿勢が変化した場合であっても、仮想視点画像において繋ぎ合わせた画像間のずれの発生を抑制することができる画像生成装置を提供できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係る画像生成装置を搭載した車両の構成を示す機能ブロック図である。
【図２】図１に示す車両に搭載されたカメラの配置を示す図である。
【図３】カメラの姿勢データの定義を示す図である。
【図４】カメラの姿勢データの定義を示す図である。
【図５】図１に示す画像生成装置の構成を示す機能ブロック図である。
【図６】傾斜角変化量の算出方法を説明する図である。
【図７】図１に示す画像生成装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００１１】
［１．構成］
［１．１．車両１の構成］
図１は、本発明の実施の形態に係る画像生成装置１０を搭載した車両１の構成を示す機能ブロック図である。図１を参照して、画像生成装置１０は、移動体である車両１に搭載された複数のカメラにより生成された複数の撮影画像から、カメラの姿勢データを用いて視点変換画像を生成する。本実施の形態では、視点変換画像は、車両１の上方に設定された仮想視点から車両１を見下ろした俯瞰画像２５である。図１において、俯瞰画像２５の生成に関する構成以外の車両１の構成の表示を省略している。
【００１２】
車両１は、車体１Ｄと、左前輪１ＦＬと、右前輪１ＦＲと、左後輪１ＲＬと、右後輪１ＲＲと、フロントシャフト１ＳＦと、リアシャフト１ＳＲとを備える。
【００１３】
左前輪１ＦＬは、車体１Ｄの左前方に配置される。右前輪１ＦＲは、車体１Ｄの右前方に配置される。左前輪１ＦＬ及び右前輪１ＦＲは、車体１Ｄの前方に配置されたフロントシャフト１ＳＦを回転軸として回転する。フロントシャフト１ＳＦは、図示しないエンジンの出力を左前輪１ＦＬ及び右前輪１ＦＲに伝える。左前輪１ＦＬ及び右前輪１ＦＲは、車両１の操舵輪であり、図示しないステアリングホイールの回転に応じて回転する。
【００１４】
左後輪１ＲＬは、車体１Ｄの左後方に配置される。右後輪１ＲＲは、車体１Ｄの右後方に配置される。左後輪１ＲＬ及び右後輪１ＲＲは、車体１Ｄの後方に配置されたリアシャフト１ＳＲを回転軸として回転する。リアシャフト１ＳＲは、図示しないエンジンの出力を左後輪１ＲＬ及び右後輪１ＲＲに伝える。
【００１５】
車両１は、さらに、フロントカメラ２Ｆと、左サイドカメラ２Ｌと、右サイドカメラ２Ｒと、リアカメラ２Ｂとを備える。
【００１６】
フロントカメラ２Ｆは、車両１の前方を撮影して前方撮影画像３Ｆを生成する。左サイドカメラ２Ｌは、車両１の左方を撮影して左方撮影画像３Ｌを生成する。右サイドカメラ２Ｒは、車両１の右方を撮影して右方撮影画像３Ｒを生成する。リアカメラ２Ｂは、車両１の後方を撮影して後方撮影画像３Ｂを生成する。生成された撮影画像３Ｆ、３Ｌ、３Ｒ及び３Ｂの各々は、画像生成装置１０に出力される。
【００１７】
本実施の形態において、前方撮影画像３Ｆ、左方撮影画像３Ｌ、右方撮影画像３Ｒおよび後方撮影画像３Ｂの各々は、動画像を構成するフレームである。例えば、フロントカメラ２Ｆは、フレームである前方撮影画像３Ｆを生成するたびに、その生成した前方撮影画像３Ｆを画像生成装置１０に出力する。
【００１８】
車両１は、さらに、測距センサ４Ｌ、４Ｒを備える。測距センサ４Ｌ、４Ｒは、それぞれ左サイドカメラ２Ｌ、右サイドカメラ２Ｒの近傍に設置される。測距センサ４Ｌ、４Ｒは、超音波、電波、光等を用いた公知のレーダ装置とすることができる。測距センサ４Ｌは、車両１の左方に存在する隣接車両等の物体との距離を検出する。測距センサ４Ｒは、車両１の右方に存在する隣接車両等の物体との距離を検出する。測距センサ４Ｌ、４Ｒは、距離検出信号５Ｌ、５Ｒを画像生成装置１０に出力する。なお、測距センサ４Ｌ、４Ｒは、物体を検出できない場合は距離検出信号５Ｌ、５Ｒを画像生成装置１０に出力しない。
【００１９】
車両１は、さらに、ロックスイッチ６Ｌ、６Ｒを備える。ロックスイッチ６Ｌは、車両１の助手席側ドアの施錠状態を検出する。ロックスイッチ６Ｌは、助手席側ドアがロック状態からアンロック状態に変化したときにアンロック信号７Ｌを画像生成装置１０に出力する。ロックスイッチ６Ｒは、車両１の運転席側ドアの施錠状態を検出する。ロックスイッチ６Ｒは、運転席側ドアがロック状態からアンロック状態に変化したときにアンロック信号７Ｒを画像生成装置１０に出力する。
【００２０】
車両１は、さらに、イグニッションスイッチ８（以下、「ＩＧスイッチ８」という）を備える。ＩＧスイッチ８は、オンになると画像生成装置１０を含む車両各部に配置される制御装置（図示せず）にバッテリ（図示せず）からの電力を供給する。それにより画像生成装置１０は動作を開始する。ＩＧスイッチ８は、オンになるとオンになったことを示すイグニッション信号９（以下、「ＩＧ信号９」という）を画像生成装置１０に出力する。
【００２１】
車両１は、さらに、画像生成装置１０と、表示装置２３とを備える。画像生成装置１０は、距離検出信号５Ｌ、５Ｒを測距センサ４Ｌ、４Ｒから受ける。また、画像生成装置１０は、アンロック信号７Ｌ、７Ｒをロックスイッチ６Ｌ、６Ｒから受ける。さらに、画像生成装置１０は、ＩＧ信号９をＩＧスイッチ８から受ける。画像生成装置１０は、その受けた距離検出信号５Ｌ、５Ｒ、アンロック信号７Ｌ、７Ｒ、ＩＧ信号９等に基づいて、画像生成装置１０に予め設定されたカメラの姿勢データを補正する。カメラの姿勢データは、カメラの位置データ及び光軸データを含む。画像生成装置１は、補正したカメラの姿勢データを用いて、車両１に搭載されたカメラにより生成された複数の撮影画像から俯瞰画像２５を生成する。
【００２２】
表示装置２３は、俯瞰画像２５を画像生成装置１０から受け、その受けた俯瞰画像２５を表示する。車両１の運転者は、表示装置２３に表示された俯瞰画像２５を参照して、車両１の周囲の状況を容易に確認できる。
【００２３】
なお、本実施の形態において、フロントカメラ２Ｆ、左サイドカメラ２Ｌ、右サイドカメラ２Ｒ及びリアカメラ２Ｂを総称して「カメラ２」と記載する場合がある。また、本実施の形態において、前方撮影画像３Ｆ、左方撮影画像３Ｌ、右方撮影画像３Ｒ及び後方撮影画像３Ｂを総称して「撮影画像３」と記載する場合がある。また、本実施の形態において、測距センサ４Ｌおよび測距センサ４Ｒを総称して「測距センサ４」と記載する場合がある。また、本実施の形態において、距離検出信号５Ｌおよび距離検出信号５Ｒを総称して「距離検出信号５」と記載する場合がある。また、本実施の形態において、ロックスイッチ６Ｌおよびロックスイッチ６Ｒを総称して「ロックスイッチ６」と記載する場合がある。また、本実施の形態において、アンロック信号７Ｌおよびアンロック信号７Ｒを総称して「アンロック信号７」と記載する場合がある。
【００２４】
［１．２．カメラの配置］
図２は、図１に示すカメラの取付位置を示す図であり、図１に示す車両１を上から見た平面図に相当する。
【００２５】
図２を参照して、フロントカメラ２Ｆは、車両１の前端にあるナンバープレート取付位置の近傍に設けられ、その光軸２Ｆａは車両１の前方に向けられている。リアカメラ２Ｂは、車両１の後端にあるナンバープレート取付位置の近傍に設けられ、その光軸２Ｂａは、車両１の後方に向けられている。
【００２６】
左サイドカメラ２Ｌは左のドアミラー９３に設けられ、その光軸２Ｌａは車両１の左方に向けられている。右サイドカメラ２Ｒは右のドアミラー９３に設けられ、その光軸２Ｒａは車両１の右方に向けられている。
【００２７】
車両１に搭載される各カメラのレンズは、１８０°以上の画角を有する広角レンズである。フロントカメラ２Ｆ、左サイドカメラ２Ｌ、右サイドカメラ２Ｒ及びリアカメラ２Ｂを用いることにより、車両１の全周囲を撮影できる。フロントカメラ２Ｆ及びリアカメラ２Ｂの取付位置は、車両１の左右中央であることが望ましいが、左右中央から多少ずれた位置であってもよい。
【００２８】
なお、図２では図示を省略しているが、測距センサ４Ｌは左サイドカメラ２Ｌの近傍に設けられ、その光軸は、左サイドカメラ２Ｌの光軸２Ｌａと平行であり車両１の左方に向けられている。また、測距センサ４Ｒは右サイドカメラ２Ｒの近傍に設けられ、その光軸は、右サイドカメラ２Ｒの光軸２Ｒａと平行であり車両１の右方に向けられている。
【００２９】
［１．３．カメラ姿勢データの定義］
次に、カメラ２の姿勢データの定義について、図３および図４を用いて説明する。図３および図４は、カメラ２の姿勢データの定義を示す図である。カメラ２の姿勢データは、カメラ２の位置データと光軸データを含む。カメラ２の位置データ、および光軸データは、路面を基準とした路面座標系で表される。本実施の形態において、路面座標系は、Ｘ軸と、Ｙ軸と、Ｚ軸とを有する３次元直交座標系である。
【００３０】
図３および図４に示すように、路面座標系の原点Ｏは、車両１の重心を路面１００に対して鉛直方向に投影した路面上の点Ｏである。Ｘ軸は、原点Ｏを通り車両１の横方向に伸び、Ｙ軸は、原点Ｏを通り車両１の前後方向に伸びる。Ｚ軸は、原点Ｏを通り路面１００から車両１の高さ方向に伸びる。
【００３１】
カメラ２の位置データは、原点Ｏを基準とした各カメラの設置位置を示し、（Ｘ、Ｙ、Ｚ）で表される。カメラ２の位置データのＸは、原点Ｏを基準とした車両１の横方向の位置（距離）を示す。カメラ２の位置データのＹは、原点Ｏを基準とした車両１の前後方向の位置（距離）を示す。カメラ２の位置データのＺは、原点Ｏを基準とした車両１の高さ方向の位置（距離）を示す。
【００３２】
図３、および図４（ａ）に示す例では、左サイドカメラ２Ｌの横方向の位置はＸＬであり、前後方向の位置はＹＬであり、高さ方向の位置はＺＬであることを示している。したがって、左サイドカメラ２Ｌの位置データは、（ＸＬ、ＹＬ、ＺＬ）となる。同様に、右サイドカメラ２Ｒの位置データは、（ＸＲ、ＹＲ、ＺＲ）となる。図示していないが、フロントカメラ２Ｆの位置データは、（ＸＦ、ＹＦ、ＺＦ）となり、リアカメラ２Ｂの位置データは、（ＸＢ、ＹＢ、ＺＢ）となる。本実施の形態において、各カメラ２Ｆ、２Ｌ、２Ｒ及び２Ｂの位置データを総称して（Ｘ、Ｙ、Ｚ）と記載する場合がある。また、位置データを位置座標と記載する場合がある。
【００３３】
カメラ２の光軸データは、カメラ２の光軸の角度やカメラの取付角度を示し、Ｐａｎ（パン）角Ｐ、Ｒｏｌｌ（ロール）角Ｒ、およびＴｉｌｔ（チルト）角Ｔからなる。
【００３４】
パン角Ｐは、カメラ２の光軸が基準線に対して旋回方向になす角度を示す。図３を参照して左サイドカメラ２Ｌを例にとり説明する。左サイドカメラ２Ｌの位置座標（ＸＬ、ＹＬ、ＺＬ）を通り、Ｙ軸と平行に前方向に伸びる基準線６１Ｌを０°とする。左サイドカメラの位置座標（ＸＬ、ＹＬ、ＺＬ）を通り、Ｚ軸と平行に鉛直方向に伸びる基準線（図示せず）を回転軸とする。左サイドカメラ２Ｌのパン角は、この回転軸回りに光軸２Ｌａが基準線６１Ｌとなす角度ＰＬで表される。
【００３５】
右サイドカメラ２Ｒのパン角も同様であり、右サイドカメラ２Ｒの位置座標（ＸＲ、ＹＲ、ＺＲ）を通り、前方向に伸びる基準線６１Ｒを０°とし、鉛直方向に伸びる基準線（図示せず）を回転軸とする。右サイドカメラ２Ｒのパン角は、この回転軸回りに光軸２Ｒａが基準線６１Ｒとなす角度ＰＲで表される。フロントカメラ２Ｆおよびリアカメラ２Ｂのパン角も同様であり、フロントカメラ２Ｆのパン角はＰＦで表され、リアカメラ２Ｂのパン角はＰＢで表される。
【００３６】
ロール角Ｒは、カメラ２が基準線に対して回転する角度を示す。ロール角Ｒは、カメラ２が基準線に対して傾いている角度であるともいえる。図４（ａ）を参照して左サイドカメラ２Ｌを例にとり説明する。左サイドカメラ２Ｌの位置座標（ＸＬ、ＹＬ、ＺＬ）を通り、Ｚ軸と平行に上方向に伸びる基準線６２Ｌを０°とする。左サイドカメラ２Ｌの位置座標（ＸＬ、ＹＬ、ＺＬ）を通り、Ｘ軸と平行に横方向に伸びる基準線（図示せず）を回転軸とする。左サイドカメラ２Ｌのロール角は、この回転軸回りに左サイドカメラ２Ｌが基準線６２Ｌから回転している角度ＲＬで表される。同様に、右サイドカメラ２Ｒのロール角はＲＲ、フロントカメラ２Ｆのロール角はＲＦ、リアカメラ２Ｂのロール角はＲＢで表される。なお、フロントカメラ２Ｆとリアカメラ２Ｂのロール角の回転軸は、Ｙ軸と平行に前後方向に伸びる基準線である。
【００３７】
チルト角Ｔは、カメラ２の光軸が基準線に対して高さ方向になす角度を示す。図４（ｂ）を参照して左サイドカメラ２Ｌを例にとり説明する。左サイドカメラ２Ｌの位置座標（ＸＬ、ＹＬ、ＺＬ）を通り、Ｘ軸と平行に横方向に伸びる基準線６３Ｌを０°とする。左サイドカメラの位置座標（ＸＬ、ＹＬ、ＺＬ）を通り、Ｙ軸と平行に前後方向に伸びる基準線（図示せず）を回転軸とする。左サイドカメラ２Ｌのチルト角は、この回転軸回りに光軸２Ｌａが基準線６３Ｌとなす角度ＴＬで表される。
【００３８】
右サイドカメラ２Ｒのチルト角も同様であり、右サイドカメラ２Ｒの位置座標（ＸＲ、ＹＲ、ＺＲ）を通り、横方向に伸びる基準線６３Ｒを０°とし、前後方向に伸びる基準線（図示せず）を回転軸とする。右サイドカメラ２Ｒのチルト角は、この回転軸回りに光軸２Ｒａが基準線６３Ｒとなす角度ＴＲで表される。同様に、フロントカメラ２Ｆのチルト角はＴＦ、リアカメラ２Ｂのチルト角はＴＢで表される。なお、フロントカメラ２Ｆとリアカメラ２Ｂのチルト角の回転軸は、Ｘ軸と平行に横方向に伸びる基準線である。本実施の形態において、各カメラ２Ｆ、２Ｌ、２Ｒ及び２Ｂのパン角、ロール角、チルト角を総称して（Ｐ、Ｒ、Ｔ）と記載する場合がある。
【００３９】
以上のように、左サイドカメラ２Ｌの姿勢データは、位置データとして横方向位置ＸＬ、前後方向位置ＹＬ、高さ方向位置ＺＬを有し、光軸データとしてパン角ＰＬ、ロール角ＲＬ、チルト角ＴＬを有する。同様に、右サイドカメラ２Ｒの姿勢データは、位置データとして横方向位置ＸＲ、前後方向位置ＹＲ、高さ方向位置ＺＲを有し、光軸データとしてパン角ＰＲ、ロール角ＲＲ、チルト角ＴＲを有する。フロントカメラ２Ｆおよびリアカメラ２Ｂも同様である。
【００４０】
かかる、カメラ２の姿勢データは、車両１の出荷前に公知のカメラキャリブレーションによって調整されて画像生成装置１０の記憶部１５（図５）に記憶される。カメラ２の姿勢データは、各カメラ２の撮影画像を繋ぎ合わせて俯瞰画像を生成する際に、隣接するカメラ２の撮影画像間にずれが生じないように設定されたデータである。なお、本実施の形態において、車両１の出荷前に調整されたカメラ２の姿勢データを「初期カメラ姿勢データ」という。
【００４１】
［１．４．画像生成装置１０の構成］
図５は、図１に示す画像生成装置１０の構成を示す機能ブロック図である。画像生成装置１０は、距離検出部１１と、傾斜角算出部１２と、補正部１３と、画像生成部１４と、記憶部１５とを備える。
【００４２】
距離検出部１１は、車両１に搭乗者が乗車する前と乗車した後に、車両１の左方に存在する物体（以下、「左方物体」という）および右方に存在する物体（以下、「右方物体」という）と車両１との距離をそれぞれ検出する。距離検出部１１は、第１距離検出部１１１と第２距離検出部１１２を備える。なお、本実施の形態において、左方物体と右方物体を総称して、「隣接物体」という場合がある。
【００４３】
第１距離検出部１１１は、車両１に搭乗者が乗車する前に、左方物体および右方物体と車両１との距離を、第１距離Ｘａとして検出する。具体的には、第１距離検出部１１１は、車両１に搭乗者が乗車する前の所定時点Ｔ１で、測距センサ４Ｌを起動し、測距センサ４Ｌから距離検出信号５Ｌを取得する。第１距離検出部１１１は、取得した距離検出信号５Ｌに基づき、左方物体と車両１との距離を左方第１距離ＬＸａとして検出する。この左方第１距離ＬＸａは、車両１に搭乗者が乗車する前における左サイドカメラ２Ｌと左方物体との距離として用いられる。
【００４４】
また、第１距離検出部１１１は、車両１に搭乗者が乗車する前の前記所定時点Ｔ１で、測距センサ４Ｒを起動し、測距センサ４Ｒから距離検出信号５Ｒを取得する。第１距離検出部１１１は、取得した距離検出信号５Ｒに基づき、右方物体と車両１との距離を右方第１距離ＲＸａとして検出する。この右方第１距離ＲＸａは、車両１に搭乗者が乗車する前における右サイドカメラ２Ｒと右方物体との距離として用いられる。なお、本実施の形態において、左方第１距離ＬＸａと右方第１距離ＲＸａを総称して、第１距離Ｘａと記載する場合がある。
【００４５】
第１距離検出部１１１は、検出した第１距離Ｘａを傾斜角算出部１２に出力する。ただし、第１距離検出部１１１は、測距センサ４から距離検出信号５を取得できない場合は、その方向に物体は存在しないと判断する。その場合、第１距離検出部１１１は、その方向の第１距離Ｘａを傾斜角算出部１２に出力しない。
【００４６】
第１距離検出部１１１は、ロックスイッチ６からアンロック信号７を取得する。第１距離検出部１１１は、アンロック信号７を取得したとき、車両１に搭乗者が乗車する前の所定時点Ｔ１であると判断する。具体的には、第１距離検出部１１１は、助手席側ドアのアンロック信号７Ｌおよび運転席側ドアのアンロック信号７Ｒを取得する。第１距離検出部１１１は、アンロック信号７Ｌまたは７Ｒのどちらかを先に取得した時点を所定時点Ｔ１であると判断する。運転席側ドアまたは助手席側ドアのアンロックは、搭乗者が車両１に搭乗する直前に行われるためである。
【００４７】
このように、第１距離検出部１１１は、アンロック信号７を取得すると、車両１に搭乗者が乗車する直前であると判断し、測距センサ４を起動して測距センサ４から距離検出信号５を取得する。第１距離検出部１１１は、取得した距離検出信号５を基に第１距離Ｘａを検出する。
【００４８】
第２距離検出部１１２は、車両１に搭乗者が乗車した後に、左方物体または右方物体と車両１との距離を、第２距離Ｘｂとして検出する。具体的には、第２距離検出部１１２は、車両１に搭乗者が乗車した後の所定時点Ｔ２で、測距センサ４Ｌから距離検出信号５Ｌを取得する。第２距離検出部１１２は、取得した距離検出信号５Ｌに基づき、左方物体と車両１との距離を左方第２距離ＬＸｂとして検出する。この左方第２距離ＬＸｂは、車両１に搭乗者が乗車した後における左サイドカメラ２Ｌと左方物体との距離として用いられる。
【００４９】
また、第２距離検出部１１２は、車両１に搭乗者が乗車した後の前記所定時点Ｔ２で、測距センサ４Ｒから距離検出信号５Ｒを取得する。第２距離検出部１１２は、取得した距離検出信号５Ｒに基づき、右方物体と車両１との距離を右方第２距離ＲＸｂとして検出する。この右方第２距離ＲＸｂは、車両１に搭乗者が乗車した後における右サイドカメラ２Ｌと右方物体との距離として用いられる。なお、左方第２距離ＬＸｂと右方第２距離ＲＸｂを総称して、第２距離Ｘｂと記載する場合がある。
【００５０】
第２距離検出部１１２は、検出した第２距離Ｘｂを傾斜角算出部１２に出力する。ただし、第２距離検出部１１２は、測距センサ４から距離検出信号５を取得できない場合は、その方向に物体は存在しないと判断する。その場合、第２距離検出部１１２は、その方向の第２距離Ｘｂを傾斜角算出部１２に出力しない。
【００５１】
第２距離検出部１１２は、ＩＧスイッチ８からＩＧ信号９を取得する。第２距離検出部１１２は、ＩＧ信号９を取得したとき、車両１に搭乗者が乗車した後の所定時点Ｔ２であると判断する。ＩＧスイッチ８のオン操作は、搭乗者が車両１に搭乗した後に行われるためである。
【００５２】
このように、第２距離検出部１１２は、ＩＧ信号９を取得すると、車両１に搭乗者が乗車した後であると判断し、測距センサ４から距離検出信号５を取得する。第２距離検出部１１２は、取得した距離検出信号５を基に第２距離Ｘｂを検出する。
【００５３】
傾斜角算出部１２は、第１距離検出部１１１で検出された第１距離Ｘａと、第２距離検出部１１２で検出された第２距離Ｘｂに基づき、搭乗者が車両１に搭乗する前後における車両１の横方向の傾斜角の変化量である傾斜角変化量θを算出する。
【００５４】
具体的には、運転席側ドアまたは助手席側ドアがアンロックされた時点Ｔ１では、車両１に搭乗者は乗車していないため、車両１に姿勢変化はない。すなわち、時点Ｔ１において、車両１は搭乗者が乗車していない初期状態である。第１距離Ｘａは、車両１の初期状態における隣接物体と車両１との距離を示す。
【００５５】
その後、ＩＧスイッチ８がオンされた時点Ｔ２では、車両１に搭乗者が乗車しているため、車両１に姿勢変化が生じる。すなわち、車両１が初期状態から横方向に傾斜角θだけ傾く。傾斜角θは、搭乗者が車両１に搭乗する前後における車両１の横方向の傾斜角の変化量である。第２距離Ｘｂは、車両１が初期状態から横方向に傾斜角変化量θだけ傾いた状態における隣接物体と車両１との距離を示す。第１距離Ｘａと第２距離Ｘｂの差は、傾斜角変化量θとして表れる。第１距離Ｘａと第２距離Ｘｂの差が大きくなるほど傾斜角変化量θも大きくなる。
【００５６】
かかる事実に基づき、傾斜角算出部１２は、第１距離Ｘａと第２距離Ｘｂの差を求め、その差を基に傾斜角変化量θを算出する。傾斜角変化量θの具体的な算出方法は後述する。傾斜角算出部１２は、算出した傾斜角変化量θを補正部１３に出力する。傾斜角算出部１２は、また、第１距離Ｘａおよび第２距離Ｘｂを補正部１３に出力する。
【００５７】
補正部１３は、傾斜角変化量θ、第１距離Ｘａおよび第２距離Ｘｂに基づき、カメラの姿勢データを補正する。具体的には、補正部１３は、傾斜角変化量θに基づき記憶部１５に記憶されている初期カメラ姿勢データ４１を補正する。初期カメラ姿勢データ４１は、カメラキャリブレーションにより得られたカメラ２の位置データＸ、Ｙ、Ｚからなる初期位置データ４２と、光軸データＰ、Ｒ、Ｔからなる初期光軸データ４３である。
【００５８】
補正部１３は、補正した初期カメラ姿勢データ４１を補正カメラ姿勢データ５１として記憶部１５に記憶する。補正部１３は、記憶部１５に記憶した補正カメラ姿勢データ５１、すなわち、補正位置データ５２と補正光軸データ５３を画像生成部１４に出力する。なお、補正部１３は、初期カメラ姿勢データ４１を補正していない場合は、初期カメラ姿勢データ４１を補正カメラ姿勢データ５１として画像生成部１４に出力する。初期カメラ姿勢データ４１の具体的な補正方法は後述する。
【００５９】
画像生成部１４は、補正カメラ姿勢データ５１を用いて、生成された複数の撮影画像３から視点変換画像を生成する。具体的には、画像生成部１４は、補正位置データ５２と補正光軸データ５３を補正部１３から受け、撮影画像３を車両１に搭載された各カメラ２から受ける。画像生成部１４は、補正位置データ５２と補正光軸データ５３を用いて、撮影画像３から俯瞰画像２５を生成する。画像生成部１４は、生成した俯瞰画像２５を表示装置２３に出力する。
【００６０】
記憶部１５は、初期カメラ姿勢データ４１と補正カメラ姿勢データ５１を記憶する。初期カメラ姿勢データ４１は、車両１の出荷前にカメラキャリブレーションによって調整されたカメラ２の姿勢データである。初期カメラ姿勢データ４１は、初期位置データ４２と初期光軸データ４３を含む。
【００６１】
初期位置データ４２は、前述したように、カメラキャリブレーションによって得られたカメラ２の横方向位置Ｘ、前後方向位置Ｙ、および高さ方向位置Ｚを有する。具体的には、初期位置データ４２は、左サイドカメラ２Ｌ、右サイドカメラ２Ｒ、フロントカメラ２Ｆ、およびリアカメラ２Ｂのそれぞれの横方向位置ＸＬ、ＸＲ、ＸＦ、ＸＢ、前後方向位置ＹＬ、ＹＲ、ＹＦ、ＹＢ、および高さ方向位置ＺＬ、ＺＲ、ＺＦ、ＺＢを有する。
【００６２】
初期光軸データ４３は、前述したように、カメラキャリブレーションによって得られたカメラ２のパン角Ｐ、ロール角Ｒ、チルト角Ｔを有する。具体的には、初期光軸データ４３は、左サイドカメラ２Ｌ、右サイドカメラ２Ｒ、フロントカメラ２Ｆ、およびリアカメラ２Ｂのそれぞれのパン角ＰＬ、ＰＲ、ＰＦ、ＰＢ、ロール角ＲＬ、ＲＲ、ＲＦ、ＲＢ、およびチルト角ＴＬ、ＴＲ、ＴＦ、ＴＢを有する。
【００６３】
補正カメラ姿勢データ５１は、補正部１３により補正された初期カメラ姿勢データ４１である。補正カメラ姿勢データ５１は、補正位置データ５２と補正光軸データ５３を含む。
【００６４】
本実施の形態において、初期カメラ姿勢データ４１と補正カメラ姿勢データ５１を区別するために、初期カメラ姿勢データ４１に含まれる各データはａ付きで表示し、補正カメラ姿勢データ５１に含まれる各データはｂ付きで表示することがある。例えば、左サイドカメラ２Ｌの初期高さ方向位置はＺＬａと表記し、補正された高さ方向位置はＺＬｂと表記する。
【００６５】
［２．傾斜角変化量θの算出方法］
以下、図６を用いて、傾斜角変化量θの具体的な算出方法について説明する。図６は、傾斜角変化量θの算出方法を説明する図である。図６（ａ）は、車両１の左右両隣に隣接物体である隣接車両１Ｌ、１Ｒが駐車枠１１０内に駐車している状態を上面視で示している。図６（ｂ）は、車両１に搭乗者が搭乗する前の時点Ｔ１における各車両１、１Ｌ、１Ｒの状態を後面視で示している。図６（ｃ）は、車両１に搭乗者が乗車した後の時点Ｔ２における各車両１、１Ｌ、１Ｒの状態を後面視で示している。なお、図６（ｂ）（ｃ）において、車両１、１Ｌ、１Ｒを直方体の剛体として表現している。図６（ｄ）は、車両１に搭乗者が乗車する前後の車両１の姿勢変化、および車両１の左方の隣接車両１Ｌと車両１との距離関係を示している。なお、図６（ｃ）（ｄ）において、車両１の姿勢が変化した後の車両１と同じ車両部分については、「’」付きで表記している。
【００６６】
図６（ｂ）を参照して、運転席側ドアまたは助手席側ドアがアンロックされた時点Ｔ１では、車両１は搭乗者が乗車していない初期状態である。このときの車両１と左方隣接車両１Ｌとの距離である左方第1距離はＬＸａであり、車両１と右方の隣接車両１Ｒとの右方第1距離はＲＸａであるとする。その後、搭乗者が車両１に乗車し、ＩＧスイッチ８をオンした時点Ｔ２では、図６（ｃ）に示すように、搭乗者の乗車により車両１の姿勢が変化する。図６（ｃ）では車両１が右側に傾斜角θＬだけ初期状態から傾斜していることを示している。すなわち、車両１の左方の傾斜角変化量θはθＬ（以下、「左方傾斜角変化量θＬ」という）である。このときの車両１’と左方隣接車両１Ｌとの距離である左方第２距離はＬＸｂであり、車両１’と右方隣接車両１Ｒとの右方第２距離はＲＸｂであるとする。なお、図６では、時点Ｔ１と時点Ｔ２で車両１の前後方向の傾斜角変化量は０であるとしている。
【００６７】
図６（ｄ）を参照して、車両１の左側面１Ｓには左サイドカメラ２Ｌが取り付けられている。測距センサ４Ｌは図６（ｄ）に図示していないが、左サイドカメラ２Ｌの近傍でほぼ同じ位置に設置されている。時点Ｔ１では車両１は初期状態であり、このときの左サイドカメラ２Ｌの路面に対する高さは、初期位置データ４２における左サイドカメラ２Ｌの高さ方向位置ＺＬａに対応する長さである。また、時点Ｔ１において、左サイドカメラ２Ｌと左方隣接車両１Ｌの右側面１ＬＳとの左方第１距離はＬＸａである。
【００６８】
時点Ｔ２において、車両１’が回転中心Ａを中心として左方傾斜角変化量θＬだけ傾く。このとき、左サイドカメラ２Ｌ’と左方隣接車両１Ｌの右側面１ＬＳとの左方第２距離はＬＸｂである。よって、傾斜後の左サイドカメラ２Ｌ’と初期状態における車両１の左側面１Ｓとの距離は、ＬＸｂ−ＬＸａとなる。時点Ｔ２において、左サイドカメラ２Ｌ’と回転中心Ａとの距離は、初期状態における左サイドカメラ２Ｌの高さと同じであるため、高さ方向位置ＺＬａに対応する長さである。したがって、左方傾斜角変化量θＬは、下記の式（１）を用いて算出することができる。
θＬ＝ｓｉｎ-１（（ＬＸｂ−ＬＸａ）／ＺＬａ）  ・・・（１）
【００６９】
左方隣接車両１Ｌに対して左方傾斜角変化量θＬを算出したのと同様に、右方隣接車両１Ｒに対しても、車両１の右方の傾斜角変化量θである傾斜角変化量θＲ（以下、「右方傾斜角変化量θＲ」という）を算出することができる。この場合、高さ方向位置ＺＬａの代わりに、右サイドカメラ２Ｒの高さ方向位置ＺＲａを使用し、右方第１距離はＲＸａを使用し、右方第２距離はＲＸｂを使用する。右方傾斜角変化量θＲは、下記の式（２）を用いて算出することができる。
θＲ＝ｓｉｎ-１（（ＲＸｂ−ＲＸａ）／ＺＲａ）  ・・・（２）
なお、本実施の形態において、左方傾斜角変化量θＬと右方傾斜角変化量θＲを総称して、傾斜角変化量θと記載する場合がある。
【００７０】
傾斜角算出部１２（図５）は、第１距離検出部１１１から左方第１距離ＬＸａおよび右方第１距離ＲＸａを取得する。傾斜角算出部１２は、第２距離検出部１１２から左方第２距離ＬＸｂおよび右方第２距離ＲＸｂを取得する。さらに、傾斜角算出部１２は、記憶部１５から初期カメラ姿勢データ４１におけるカメラ位置データ４２のうち、左サイドカメラ２Ｌの高さ方向位置データＺＬａおよび右サイドカメラ２Ｒの高さ方向位置データＺＲａを読み出す。傾斜角算出部１２は、取得した左方第１距離ＬＸａ、左方第２距離ＬＸｂ、および高さ方向位置データＺＬａに基づき、前記式（１）により左方傾斜角変化量θＬを算出する。
【００７１】
また、傾斜角算出部１２は、取得した右方第１距離ＲＸａ、右方第２距離ＲＸｂ、および高さ方向位置データＺＲａに基づき、前記式（２）により右方傾斜角変化量θＲを算出する。傾斜角算出部１２は、算出した左方傾斜角変化量θＬと右方傾斜角変化量θＲを補正部１３に出力する。また、傾斜角算出部１２は、検出した左方第１距離ＬＸａ、左方第２距離ＬＸｂ、および右方第１距離ＲＸａ、右方第２距離ＲＸｂを補正部１３に出力する。
【００７２】
［３．カメラ姿勢データの補正方法］
次に、初期カメラ姿勢データ４１の補正方法について図６（ｄ）を用いて説明する。車両１が左方傾斜角変化量θＬだけ横方向に傾斜することにより、左サイドカメラ２Ｌの初期カメラ姿勢データ４１が変化する。具体的には、横方向位置ＸＬは、初期横方向位置ＸＬａに対しＬＸｂ−ＬＸａだけ小さくなる。高さ方向位置ＺＬは、初期高さ方向位置ＺＬａに対し、ＺＬａ−（ＬＸｂ−ＬＸａ）／ｔａｎθＬだけ小さくなる。チルト角ＴＬａは、初期チルト角ＴＬａに対し、左方傾斜角変化量θＬだけ大きくなる。一方、前後方向位置ＹＬ、パン角ＰＬ、およびロール角ＲＬは、車両１の姿勢変化後も初期値から変化しない。
【００７３】
したがって、補正後の左サイドカメラ２Ｌの補正カメラ姿勢データ５１は、式（３）から式（８）のようになる。
補正横方向位置ＸＬｂ＝ＸＬａ−（ＬＸｂ−ＬＸａ）  ・・・（３）
補正前後方向位置ＹＬｂ＝ＹＬａ  ・・・（４）
補正高さ方向位置ＺＬｂ＝（ＬＸｂ−ＬＸａ）／ｔａｎθＬ  ・・・（５）
補正パン角ＰＬｂ＝ＰＬａ  ・・・（６）
補正ロール角ＲＬｂ＝ＲＬａ  ・・・（７）
補正チルト角ＴＬｂ＝ＴＬａ＋θＬ  ・・・（８）
【００７４】
右サイドカメラ２Ｒについても同様であり、補正後の右サイドカメラ２Ｒの補正カメラ姿勢データ５１は、式（９）から式（１４）のようになる。
補正横方向位置ＸＲｂ＝ＸＲａ−（ＲＸｂ−ＲＸａ）  ・・・（９）
補正前後方向位置ＹＲｂ＝ＹＲａ  ・・・（１０）
補正高さ方向位置ＺＲｂ＝（ＲＸｂ−ＲＸａ）／ｔａｎθＲ  ・・・（１１）
補正パン角ＰＲｂ＝ＰＲａ  ・・・（１２）
補正ロール角ＲＲｂ＝ＲＲａ  ・・・（１３）
補正チルト角ＴＲｂ＝ＴＲａ＋θＲ  ・・・（１４）
【００７５】
フロントカメラ２Ｆの場合、左右のサイドカメラ２Ｌ、２Ｒと若干異なり、横方向位置ＸＦおよび高さ方向位置ＺＦの変化量は、左方傾斜角変化量θＬと初期高さ方向位置ＺＦａによって定まる。また、フロントカメラ２Ｆの場合、ロール角ＲＦが左方傾斜角変化量θＬだけ変化する。したがって、フロントカメラ２Ｆの補正後の補正カメラ姿勢データ５１は、式（１５）から式（２０）のようになる。
補正横方向位置ＸＦｂ＝ＸＦａ−ｓｉｎθＬ×ＺＦａ  ・・・（１５）
補正前後方向位置ＹＦｂ＝ＹＦａ  ・・・（１６）
補正高さ方向位置ＺＦｂ＝ｃｏｓθＬ×ＺＦａ  ・・・（１７）
補正パン角ＰＦｂ＝ＰＦａ  ・・・（１８）
補正ロール角ＲＦｂ＝ＲＦａ＋θＬ  ・・・（１９）
補正チルト角ＴＦｂ＝ＴＦａ  ・・・（２０）
【００７６】
リアカメラ２Ｂについては、フロントカメラ２Ｆと同様であり、補正後の補正カメラ姿勢データ５１は、式（２１）から式（２６）のようになる。
補正横方向位置ＸＢｂ＝ＸＢａ−ｓｉｎθＬ×ＺＢａ  ・・・（２１）
補正前後方向位置ＹＢｂ＝ＹＢａ  ・・・（２２）
補正高さ方向位置ＺＢｂ＝ｃｏｓθＬ×ＺＢａ  ・・・（２３）
補正パン角ＰＢｂ＝ＰＢａ  ・・・（２４）
補正ロール角ＲＢｂ＝ＲＢａ＋θＬ  ・・・（２５）
補正チルト角ＴＢｂ＝ＴＢａ  ・・・（２６）
【００７７】
なお、フロントカメラ２Ｆおよびリアカメラ２Ｂの補正カメラ姿勢データ５１は、傾斜角変化量θとして左方傾斜角変化量θＬを使用しているが、これに限らない。例えば、補正カメラ姿勢データ５１は、傾斜角変化量θとして右方傾斜角変化量θＲを使用してもよい。補正カメラ姿勢データ５１は、左方傾斜角変化量θＬと右方傾斜角変化量θＲの平均値を使用してもよい。
【００７８】
補正部１３（図５）は、傾斜角算出部１２から左方傾斜角変化量θＬ、左方第１距離ＬＸａおよび左方第２距離ＬＸｂを取得する。補正部１３は、前記式（３）から式（８）により左サイドカメラ２Ｌの補正カメラ姿勢データ５１を算出する。
【００７９】
補正部１３は、傾斜角算出部１２から右方傾斜角変化量θＲ、右方第１距離ＲＸａおよび右方第２距離ＲＸｂを取得する。補正部１３は、前記式（９）から式（１４）により右サイドカメラ２Ｒの補正カメラ姿勢データ５１を算出する。
【００８０】
補正部１３は、傾斜角算出部１２から取得した左方傾斜角変化量θＬまたは右方傾斜角変化量θＲを用いて、前記式（１５）から式（２６）によりフロントサイドカメラ２Ｆ、およびリアカメラ２Ｂの補正カメラ姿勢データ５１を算出する。
【００８１】
補正部１３は、補正カメラ姿勢データ５１を算出すると、算出した補正カメラ姿勢データ５１を記憶部１５に記憶し、画像生成部１４に出力する。これにより、画像生成部１４は、補正カメラ姿勢データ５１を用いて撮影画像３から俯瞰画像２５を生成する。これにより、搭乗者が車両１に乗車して車両１の姿勢が変化しても、仮想視点画像において繋ぎ合わせた画像間にずれが生じなくなる。
【００８２】
なお、車両１の左右方向に、左方隣接車両１Ｌと右方隣接車両１Ｒのどちらか一方のみが存在する場合、補正部１３は、その一方の隣接車両に対する傾斜角変化量θと第１距離Ｘａ、第２距離Ｘｂしか得られない。その場合、補正部１３は、取得した一方の傾斜角変化量θを共通の傾斜角変化量θとし、取得した一方の第１距離Ｘａ、第２距離Ｘｂを共通の第１距離Ｘａ、第２距離Ｘｂとする。補正部１３は、隣接車両が存在しない側に対応する他方の傾斜角変化量θとして、共通の傾斜角変化量θを使用する。また補正部１３は、隣接車両が存在しない側に対応する他方の第１距離Ｘａ、第２距離Ｘｂとして共通の第１距離Ｘａ、第２距離Ｘｂを使用する。
【００８３】
例えば、車両１の隣に左方隣接車両１Ｌが駐車しており、右方隣接車両１Ｒが駐車していないとする。その場合、補正部１３は、左方傾斜角変化量θＬ、左方第１距離ＬＸａ、左方第２距離ＬＸｂしか取得できない。補正部１３は、右サイドカメラ２Ｒの補正カメラ姿勢データ５１を算出するにあたり、前記式（９）から式（１４）において、右方傾斜角変化量θＲ、右方第１距離ＲＸａ、右方第２距離ＲＸｂの代わりに、左方傾斜角変化量θＬ、左方第１距離ＬＸａ、左方第２距離ＬＸｂを使用する。
【００８４】
また、車両１の左右方向に、左方隣接車両１Ｌと右方隣接車両１Ｒのどちらも存在しない場合、補正部１３は、傾斜角変化量θと第１距離Ｘａ、第２距離Ｘｂを得られない。その場合、補正部１３は初期カメラ姿勢データ４１の補正を禁止する。
【００８５】
［４．動作詳細］
図７は、図１に示す画像生成装置１０の動作を示すフローチャートである。画像生成装置１０は、ＩＧスイッチ８がオフの間はスリープモードとなり、動作を停止している。助手席側ドアのアンロック信号７Ｌ、または運転席側ドアのアンロック信号７Ｒのどちらかが画像生成装置１０に入力されると、画像生成装置１０は、スリープモードからアクティブモードになり図７に示す処理を開始する。このタイミングが、車両１に搭乗者が乗車する前の時点Ｔ１となる。
【００８６】
第１距離検出部１１１は、測距センサ４Ｌを起動し、測距センサ４Ｌから左方隣接物体との距離検出信号５Ｌを取得する。第１距離検出部１１１は、取得した距離検出信号５Ｌを左方第１距離ＬＸａとして検出し、傾斜角算出部１２に出力する（ステップＳ１）。次いで、第１距離検出部１１１は、測距センサ４Ｒを起動し、測距センサ４Ｒから右方隣接物体との距離検出信号５Ｒを取得する。第１距離検出部１１１は、取得した距離検出信号５Ｒを右方第１距離ＲＸａとして検出し、傾斜角算出部１２に出力する（ステップＳ２）。
【００８７】
第２距離検出部１１２は、ＩＧ信号９に基づきＩＧスイッチ８がオンされたか否かを判断する（ステップＳ３）。ＩＧスイッチ８がオンされていなければ（ステップＳ３  ＮＯ）、第２距離検出部１１２は、ステップＳ３を繰り返し、ＩＧスイッチ８がオンされるのを待つ。ＩＧスイッチ８がオンされると、そのタイミングが、車両１に搭乗者が乗車した後の時点Ｔ２となる。
【００８８】
第２距離検出部１１２は、ＩＧスイッチ８がオンされたと判断すると（ステップＳ３  ＹＥＳ）、測距センサ４Ｌから左方隣接物体との距離検出信号５Ｌを取得する。第２距離検出部１１２は、取得した距離検出信号５Ｌを左方第２距離ＬＸｂとして検出し、傾斜角算出部１２に出力する（ステップＳ４）。次いで、第２距離検出部１１２は、測距センサ４Ｒから右方隣接物体との距離検出信号５Ｒを取得する。第２距離検出部１１２は、取得した距離検出信号５Ｒを右方第２距離ＲＸｂとして検出し、傾斜角算出部１２に出力する（ステップＳ５）。
【００８９】
傾斜角算出部１２は、記憶部１５から読み出した初期カメラ姿勢データ４１と、距離検出部１１から取得した第１距離Ｘａおよび第２距離Ｘｂに基づき、車両１の傾斜角変化量θを算出する（ステップＳ６）。傾斜角算出部１２は、算出した傾斜角変化量θを第１距離Ｘａおよび第２距離Ｘｂと共に補正部１３に出力する。具体的には、傾斜角算出部１２は、記憶部１５から初期カメラ姿勢データ４１のうち、左右のサイドカメラ２Ｌ、２Ｒの初期高さ方向位置ＺＬａ、ＺＲａを読み出す。傾斜角算出部１２は、記憶部１５から読み出した左サイドカメラ２Ｌの初期高さ方向位置ＺＬａ、および傾斜角算出部１２から取得した左方第１距離ＬＸａと左方第２距離ＬＸｂに基づき、前記式（１）により左方傾斜角変化量θＬを算出する。また、傾斜角算出部１２は、記憶部１５から読み出した右サイドカメラ２Ｒの初期高さ方向位置ＺＲａ、および傾斜角算出部１２から取得した右方第１距離ＲＸａと右方第２距離ＲＸｂに基づき、前記式（２）により右方傾斜角変化量θＲを算出する。傾斜角算出部１２は、算出した左方傾斜角変化量θＬと右方傾斜角変化量θＲ、を補正部１３に出力する。また、傾斜角算出部１２は、距離検出部１１から取得した左方第１距離ＬＸａ、左方第２距離ＬＸｂ、右方第１距離ＲＸａ、および右方第２距離ＲＸｂを補正部１３に出力する。
【００９０】
補正部１３は、記憶部１５から初期カメラ姿勢データ４１を読み出し、初期カメラ姿勢データ４１と傾斜角変化量θ、第１距離Ｘａ、第２距離Ｘｂに基づき、初期カメラ姿勢データ４１を補正する（ステップＳ７）。具体的には、補正部１３は、前記式（３）から式（２６）により各カメラ２の補正カメラ姿勢データ５１を算出し、記憶部１５に記憶する。補正部１３は、記憶部１５に記憶した補正カメラ姿勢データ５１を画像生成部１４に出力する。
【００９１】
画像生成部１４は、カメラ２から取得した撮影画像３と、補正部１３から取得した補正カメラ姿勢データ５１に基づき俯瞰画像２５を生成する。画像生成部１４は、生成した俯瞰画像２５を表示装置２３に出力する。
【００９２】
以上、詳細に説明したように、本実施の形態に係る画像生成装置は、移動体に搭載された複数のカメラにより生成された複数の撮影画像からカメラの姿勢データを用いて視点変換画像を生成する画像生成装置であって、第１距離検出部と、第２距離検出部と、傾斜角算出部と、補正部と、画像生成部と、を備える。第１距離検出部は、移動体に搭乗者が乗車する前に、移動体の左方向または右方向に存在する物体と移動体との距離を、第１距離として検出する。第２距離検出部は、移動体に搭乗者が乗車した後に、移動体の左方向または右方向に存在する物体と移動体との距離を、第２距離として検出する。傾斜角算出部は、第１距離および第２距離に基づき、搭乗者が移動体に搭乗する前後における移動体の横方向の傾斜角の変化量である傾斜角変化量を算出する。補正部は、傾斜角変化量、第１距離および第２距離に基づき姿勢データを補正する。画像生成部は、補正された姿勢データを用いて、生成された複数の画像から視点変換画像を生成する。
【００９３】
これにより、移動体の姿勢が変化した場合であっても、仮想視点画像において繋ぎ合わせた画像間のずれの発生を抑制することができる。
【００９４】
また、本実施の形態に係る画像生成装置では、カメラは、移動体の左側に搭載された左サイドカメラと移動体の右側に搭載された右サイドカメラを備え、傾斜角算出部は、移動体の左方向と右方向の両方に物体が存在する場合、移動体と左方向の物体との第１距離および第２距離に基づき傾斜角変化量を左方傾斜角変化量として算出し、移動体と前記右方向の物体との第１距離および第２距離に基づき傾斜角変化量を右方傾斜角変化量として算出し、補正部は、左サイドカメラの姿勢データを左方傾斜角変化量に基づき補正し、右サイドカメラの姿勢データを右方傾斜角変化量に基づき補正する。
【００９５】
これにより、移動体の姿勢が変化した場合であっても、左右カメラの姿勢データをそれぞれ補正でき、仮想視点画像において繋ぎ合わせた画像間のずれの発生を抑制することができる。
【００９６】
また、本実施の形態に係る画像生成装置では、カメラは、移動体の左側に搭載された左サイドカメラと移動体の右側に搭載された右サイドカメラを備え、傾斜角算出部は、移動体の左方向と右方向のいずれか一方に物体が存在する場合、移動体と存在する物体との第１距離および第２距離に基づき傾斜角変化量を共通の傾斜角変化量として算出し、補正部は、左サイドカメラと右サイドカメラのうち、物体が存在しない側に搭載されたサイドカメラの姿勢データを共通の傾斜角変化量に基づき補正する。
【００９７】
これによれば、移動体の左右いずれかに物体が存在しない場合であっても、物体の存在しない側に搭載されたサイドカメラの姿勢データを補正できるため、仮想視点画像において繋ぎ合わせた画像間のずれの発生を抑制することができる。
【００９８】
また、本実施の形態に係る画像生成装置では、補正部は、移動体の左方向と右方向のどちらにも物体が存在しない場合、姿勢データの補正を禁止する。
【００９９】
これによれば、姿勢データが間違って補正されてしまうことを防止できる。
【０１００】
［変形例］
上記実施の形態において、距離検出部１１は、レーダ装置を例とする測距センサ４により第１距離および第２距離を検出したが、これに限らない。距離検出部１１は、画像認識により第１距離と第２距離を検出してもよい。その場合、測距センサ４の代わりにカメラ２を用いることができる。具体的には、第１距離検出部１１１は、時点Ｔ１でカメラ２を起動し、撮影画像３を取得して記憶する。第１距離検出部１１１は、撮影画像３に映る物体の路面との接地点を検出する。例えば、物体が隣接車両である場合、第１距離検出部１１１は、撮影画像３において隣接車両のタイヤを検出し、撮影画像３におけるタイヤの最下点のピクセル位置より第１距離を検出する。第２距離検出部１１２も同様に、時点Ｔ２における撮影画像３より第２距離を検出する。これにより、測距センサ４をカメラ２と兼用することができるため、コストダウンになる。
【０１０１】
上記実施の形態において、距離検出部１１は、移動体に搭乗者が乗車する前の時点Ｔ１をアンロック信号７により検出したが、これに限らない。距離検出部１１は、移動体に搭乗者が乗車する前であることを検出できれば、いかなる信号を使用してもよい。例えば、距離検出部１１は、ドア開閉スイッチにより車両１のいずれかのドアが開いたことを検出した時点を時点Ｔ１としてもよい。
【０１０２】
上記実施の形態において、距離検出部１１は、移動体に搭乗者が乗車した後の時点Ｔ２をＩＧスイッチ８により検出したが、これに限らない。距離検出部１１は、移動体に搭乗者が乗車したことを検出できればいかなる信号を使用してもよい。例えば、距離検出部１１は、ＡＣＣスイッチのオン信号、シートに設けられる着座センサ、ブレーキのオン信号、シフト位置センサによるシフト位置の切換などにより、移動体に搭乗者が乗車したことを検出してもよい。
【０１０３】
上記実施の形態において、時点Ｔ１で検出した第１距離Ｘａと、時点Ｔ２で検出した第２距離Ｘｂとは、同じ隣接物体と車両１との距離であると見做している。搭乗者がドアをアンロックしてからＩＧスイッチ８をオンするまでの時間は短時間であるため、その間に隣接物体が別の物体と入れ替わる可能性が低いためである。しかしながら、時点Ｔ１から時点Ｔ２までの時間が長い場合は、その間に隣接物体が他の物体と入れ替わっている可能性が高くなる。隣接物体が入れ替わると、第１距離Ｘａと第２距離Ｘｂは、異なる物体との距離になるため、傾斜角算出部１２は間違った傾斜角変化量θを算出してしまう。それにより、補正部１３は、初期カメラ姿勢データ４１を間違った値に補正してしまう。そこで、補正部１３は、時点Ｔ１から時点Ｔ２までの経過時間を計測し、その経過時間が所定時間を超えた場合は、初期カメラ姿勢データ４１の補正を禁止するようにしてもよい。これにより、補正部１３が、初期カメラ姿勢データ４１を間違った値に補正することを防止できる。
【０１０４】
また、上記実施の形態において、画像生成装置１０の各機能ブロックは、ＬＳＩなどの半導体装置により個別に１チップ化されてもよいし、一部又は全部を含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１０５】
集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Fi eld Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１０６】
また、画像生成装置１０により実行される処理の一部または全部は、プログラムにより実現されてもよい。そして、上記各実施の形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置（ＣＰＵ）により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ＲＯＭなどの記憶装置に格納されており、ＲＯＭにおいて、あるいはＲＡＭに読み出されて実行される。
【０１０７】
また、上記実施の形態の各処理をハードウェアにより実現してもよいし、ソフトウェア（ＯＳ（オペレーティングシステム）、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。）により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
【０１０８】
また、上記実施の形態における処理方法の実行順序は、上記実施の形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で実行順序を入れ替えてもよい。
【０１０９】
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、大容量ＤＶＤ、次世代ＤＶＤ、半導体メモリを挙げることができる。
【０１１０】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【符号の説明】
【０１１１】
１  車両
２Ｆ、２Ｌ、２Ｒ、２Ｂ  カメラ
４Ｌ、４Ｒ  測距センサ
１０  画像生成装置
１１  距離検出部
１２  傾斜角算出部
１３  補正部
１４  画像生成部
１５  記憶部
【図１】
2020162020.tif 000003
【図２】
2020162020.tif 000004
【図３】
2020162020.tif 000005
【図４】
2020162020.tif 000006
【図５】
2020162020.tif 000007
【図６】
2020162020.tif 000008
【図７】
2020162020.tif 000009