(57)【要約】  画像処理装置は、座標変換部と描画部を有する。座標変換部は、立体物の接地点ＰＲＧおよび仮想視点位置ＶＰを結ぶ直線と、立体投影面５との交点ＰＶＧの座標を求め、交点ＰＶＧから上方に伸ばした直線と立体物の点ＰＲおよび仮想視点位置ＶＰとを結ぶ直線との交点ＰＶの座標を求める。描画部は、ＰＶＧの座標の位置に立体物の接地点ＰＲＧの画像を投影し、ＰＶの座標の位置に立体物のＰＲの画像を投影する。
2013018173.tif 000002
【特許請求の範囲】
【請求項１】
物体の位置から下方向に伸ばした直線と平面との交点および仮想視点を結ぶ直線と立体投影面との交点を示す第１の交点の座標と、該第１の交点から上方向に伸ばした直線と前記物体の位置および前記仮想視点を結ぶ直線との交点を示す第２の交点の座標を算出する座標変換部と、  前記座標変換部が算出した前記第２の交点に前記物体の画像を投影する描画部と  を有することを特徴とする画像処理装置。
【請求項２】
前記描画部は、更に、カメラ画像上の座標と前記立体投影面上の座標との対応関係を含む情報に基づいて、カメラ画像を前記立体投影面に描画することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記座標変換部は、所定の範囲内の角度で、前記物体上の点から下ろした線分と接地面との交点を接地点とし、所定の範囲内の角度で、前記第１の交点から上方向に伸ばした直線と前記物体の接地点の反対側の点および前記仮想視点を結ぶ直線との交点を示す第２の交点の座標を算出することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
仮想的な立体モデルを生成する立体モデル生成部を更に有し、前記座標変換部は、前記立体モデルに対する第１の交点および第２の交点を算出し、前記描画部は、前記立体モデルに対する第１の交点および第２の交点を基にして、前記立体モデルを立体投影面に投影することを特徴とする請求項１、２または３に記載の画像処理装置。
【請求項５】
コンピュータが実行する画像処理方法であって、  物体の位置から下方向に伸ばした直線と平面との交点および仮想視点を結ぶ直線と立体投影面との交点を示す第１の交点の座標と、該第１の交点から上方向に伸ばした直線と前記物体の位置および前記仮想視点を結ぶ直線との交点を示す第２の交点の座標を算出し、  算出した前記第２の交点に前記物体の画像を投影する  各処理を実行することを特徴とする画像処理方法。
【請求項６】
コンピュータに、  物体の位置から下方向に伸ばした直線と平面との交点および仮想視点を結ぶ直線と立体投影面との交点を示す第１の交点の座標と、該第１の交点から上方向に伸ばした直線と前記物体の位置および前記仮想視点を結ぶ直線との交点を示す第２の交点の座標を算出し、  算出した前記第２の交点に前記物体の画像を投影する  各処理を実行することを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、画像処理装置等に関する。
【背景技術】
【０００２】  車両の周囲に搭載した複数のカメラで撮影した画像を合成し、車両の上方から車両方向を眺めたような俯瞰画像を生成する技術がある。【０００３】  例えば、従来技術１は、カメラが撮影した物体が全て路面上に存在すると仮定して、平面にカメラの画像をマッピングすることで俯瞰画像を生成する。図１７は、従来技術１によって作成された俯瞰画像の一例を示す図である。しかし、図１７に示すように、従来技術１では、路面から上方に高さ成分を持つ立体物に関しては、大きくゆがんでしまうという問題がある。この問題を解消するものとして、例えば、従来技術２、３がある。【０００４】  従来技術２では、車両を囲む楕円体の立体投影面を設定し、かかる楕円体の立体投影面にカメラ画像を線形写像で投影することで、俯瞰画像を生成する。図１８は、従来技術２によって作成された俯瞰画像の一例を示す図である。図１８に示すように、立体投影面は高さ成分を持つため、従来技術１のものよりも、立体物のゆがみを抑えることができる。【０００５】  従来技術３は、レンジセンサ等で車両周辺の立体物の形状を計測する。そして、従来技術３は、計測した結果に基づいて、実際に立体物がある位置に高さ成分を持つ部分的な投影面を設置し、この投影面にカメラ画像を非線形で投影することで俯瞰画像を生成する。図１９は、従来技術３によって作成された俯瞰画像の一例を示す図である。図１９に示すように、高さ成分を持つ投影面にカメラの画像が投影されるため、立体物のゆがみを抑えることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３２８６３０６号公報
【特許文献２】特開２００３−１３２３４９号公報
【特許文献３】特開平７−１７３２８号公報
【特許文献４】特開２００２−３５９８３８号公報
【特許文献５】特開２００９−２９８１７８号公報
【特許文献６】特開２００６−２５３８７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】  しかしながら、上述した従来技術では、立体物を適切に俯瞰画像に表示することができないという問題があった。【０００８】  例えば、従来技術２では、線形写像により立体投影面にカメラ画像を投影しているため、立体物の位置によっては、立体投影面の外に立体物が写像されてしまう場合がある。図２０は、従来技術の問題点を説明するための図である。カメラが撮影する実空間１に、人物１ａ〜１ｇが存在していても、写像した仮想空間２では、範囲２ｂに含まれる人物１ｃ〜１ｇが、立体投影面２ａに写像されず、立体投影面２ａの範囲外にはみ出てしまう。上記の図１８においても、領域３において、立体投影面からはみ出た立体物が表示されている。【０００９】  また、従来技術３では、部分的な投影面を設置することは開示されているものの、この投影面にいかにして、カメラ画像を投影するのかが開示されていないため、立体物を精度良く俯瞰画像に表示できるとはいえない。【００１０】  開示の技術は、上記に鑑みてなされたものであって、立体物を適切に俯瞰画像に表示することができる画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】  開示の画像処理装置は、座標変換部および描画部を有する。座標変換部は、物体の位置から下方向に伸ばした直線と道路平面との交点および仮想視点を結ぶ直線と立体投影面との交点を示す第１の交点の座標と、該該第１の交点から上方向に伸ばした直線と物体の位置および仮想視点を結ぶ直線との交点を示す第２の交点の座標を算出する。描画部は、交点算出部が算出した第２の交点に物体の画像を投影する。
【発明の効果】
【００１２】  開示の画像処理装置によれば、立体物を適切に俯瞰画像に表示することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、本実施例にかかる画像処理装置の構成を示す図である。
【図２】図２は、カメラおよびレンジセンサの設置位置の一例を示す図である。
【図３】図３は、立体投影面ポリゴンデータのデータ構造の一例を示す図である。
【図４】図４は、周辺立体物ポイントデータのデータ構造の一例を示す図である。
【図５Ａ】図５Ａは、立体投影面を車両１の側面から見た場合の形状を示す図である。
【図５Ｂ】図５Ｂは、立体投影面を車両１の前方から見た場合の形状を示す図である。
【図６】図６は、座標変換部の処理を説明するための図である。
【図７】図７は、実空間の物体と仮想空間の物体との関係を示す図である。
【図８Ａ】図８Ａは、画像座標算出部の処理を説明するための図（１）である。
【図８Ｂ】図８Ｂは、画像座標算出部の処理を説明するための図（２）である。
【図９Ａ】図９Ａは、各カメラ１０により撮影された画像の一例を示す図である。
【図９Ｂ】図９Ｂは、立体形状面、立体投影面ポリゴンデータ、周辺立体物ポイントデータによって特定される面である。
【図９Ｃ】図９Ｃは、俯瞰画像の一例を示す図である。
【図１０】図１０は、立体投影面ポリゴンデータ生成装置の構成を示す図である。
【図１１】図１１は、仮想視点投影を説明するための図である。
【図１２】図１２は、ポリゴンの頂点座標と画像座標系との関係の算出方法の説明に用いる図である。
【図１３】図１３は、カメラパラメータの一例を示す図（１）である。
【図１４】図１４は、カメラパラメータの一例を示す図（２）である。
【図１５】図１５は、本実施例にかかる画像処理装置の処理手順を示すフローチャートである。
【図１６】図１６は、画像処理プログラムを実行するコンピュータの一例を示す図である。
【図１７】図１７は、従来技術１によって作成された俯瞰画像の一例を示す図である。
【図１８】図１８は、従来技術２によって作成された俯瞰画像の一例を示す図である。
【図１９】図１９は、従来技術３によって作成された俯瞰画像の一例を示す図である。
【図２０】図２０は、従来技術の問題点を説明するための図である。
【発明を実施するための形態】
【００１４】  以下に、本願の開示する画像処理装置、画像処理方法および画像処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１５】  本実施例にかかる画像処理装置の構成について説明する。画像処理装置は、車両などの移動体に搭載されているものとする。図１は、本実施例にかかる画像処理装置の構成を示す図である。図１に示すように、この画像処理装置１００は、カメラ１０ｆ，１０ｂ，１０ｌ，１０ｒに接続される。また、画像処理装置１００は、レンジセンサ２０ｆ，２０ｂ，２０ｌ，２０ｒに接続される。【００１６】  カメラ１０ｆ，１０ｂ，１０ｌ，１０ｒは、魚眼レンズなどの広角レンズを持つカメラである。広角レンズは、例えば、魚眼レンズであってもよい。カメラ１０ｆ，１０ｂ，１０ｌ，１０ｒは、撮影範囲の画像を撮影し、撮影した画像データを画像処理装置１００に出力する。レンジセンサ２０ｆ，２０ｂ，２０ｌ，２０ｒは、例えば、レンジセンサから対象物までの距離を計測する装置である。レンジセンサ２０ｆ，２０ｂ，２０ｌ，２０ｒは、計測した距離データを画像処理装置１００に出力する。【００１７】  ここで、カメラ１０ｆ，１０ｂ，１０ｌ，１０ｒの設置位置およびレンジセンサ２０ｆ，２０ｂ，２０ｌ，２０ｒの設置位置の一例について説明する。図２は、カメラおよびレンジセンサの設置位置の一例を示す図である。【００１８】  図２において、車両１は、画像処理装置１００を搭載する車両である。図２に示すように、カメラ１０ｆおよびレンジセンサ２０ｆは、車両１の前方に設置されている。カメラ１０ｂおよびレンジセンサ２０ｂは、車両１の後方に設置されている。カメラ１０ｌおよびレンジセンサ２０ｌは、車両１の左側に設置されている。カメラ１０ｒおよびレンジセンサ２０ｒは、車両１の右側に設置されている。【００１９】  図１の説明に戻る。画像処理装置１００は、記憶部１１０、インターフェース部１２０、距離データ格納部１３０、座標変換部１４０、画像座標算出部１５０、周辺立体物ポイントデータ生成部１６０を有する。また、画像処理装置１００は、フレームバッファ１７０、視点決定部１８０、描画部１９０、画像表示部２００を有する。【００２０】  記憶部１１０は、立体投影面ポリゴンデータ１１０ａ、周辺立体物ポイントデータ１１０ｂ、立体投影面形状データ１１０ｃ、カメラ内部パラメータ１１０ｄ、カメラ配置データ１１０ｅを有する。【００２１】  立体投影面ポリゴンデータ１１０ａは、ポリゴンで構成される立体投影面上の３次元座標値と、カメラ画像上の画素の座標値とを対応付けたデータである。以下の説明において、ポリゴンの要素が四角形であるとするが、四角形に限定されず、他の多角形であってもよい。また、以下の説明において、カメラ画像上の画素の座標値を、画像座標値と表記する。【００２２】  図３は、立体投影面ポリゴンデータのデータ構造の一例を示す図である。図３に示すように、この立体投影面ポリゴンデータ１１０ａは、ポリゴンＩＤ、頂点ＩＤ、ポリゴン頂点座標値、画像座標値を対応付ける。ポリゴンＩＤは、ポリゴンを一意に識別する情報である。頂点ＩＤは、ポリゴンの各頂点を識別する情報である。ポリゴン頂点座標値は、ポリゴンの頂点に対応する３次元座標値である。この立体投影面ポリゴンデータ１１０ａは、後述の立体投影面ポリゴンデータ生成装置により生成される。【０��２３】  周辺立体物ポイントデータ１１０ｂは、車両周辺に存在する立体物の頂点の３次元座標値と、画像座標値とを対応付けるデータである。図４は、周辺立体物ポイントデータのデータ構造の一例を示す図である。図４に示すように、この周辺立体物ポリゴンデータ１１０ｂは、頂点ＩＤ、頂点座標値、画像座標値を対応付ける。頂点ＩＤは、立体物の頂点を一意に識別する情報である。頂点座標値は、立体物の頂点の座標値である。画像座標値は、上記のように、カメラ画像上の画素の画素値である。この周辺立体物ポイントデータ１１０ｂは、後述の周辺立体物ポイントデータ生成部１６０により生成される。【００２４】  立体投影面形状データ１１０ｃは、立体投影面の形状データである。図５Ａは、立体投影面を車両１の側面から見た場合の形状を示す図である。図５Ｂは、立体投影面を車両１の前方から見た場合の形状を示す図である。例えば、立体投影面データ１１０ｃの底面は、車両周辺の道路平面に近似できる。また、立体投影面データ１１０ｃの側面は、車両から離れるにつれて勾配を増す。【００２５】  なお、図５Ａ、図５Ｂに示した立体投影面の形状は、一例に過ぎない。立体投影面の形状は、車両１を囲む形状であればどのような形状でもよい。例えば、半球、楕円半球、ｎ角柱、ｍ角錐であってもよい。ｎ、ｍは３以上の自然数に対応する。さらに、半円、楕円球、ｎ角柱、ｍ角錐を組み合わせて立体投影面の形状としてもよい。【００２６】  カメラ内部パラメータ１１０ｄは、例えば、各カメラ１０ｆ，１０ｂ，１０ｌ，１０ｒのレンズディストーションの情報を含む。レンズディストーションは、レンズ収差による歪みである。【００２７】  カメラ配置データ１１０ｅは、カメラ１０ｆ，１０ｂ，１０ｌ，１０ｒが設置された位置を示す３次元座標値を含む。また、カメラ配置データ１１０ｅは、カメラ１０ｆ，１０ｂ，１０ｌ，１０ｒのロール角、ピッチ角、ヨー角を含む。【００２８】  インターフェース部１２０は、外部装置に接続し、外部装置との間でデータを送受信する処理部である。例えば、インターフェース部１２０は、後述の立体投影面ポリゴンデータ生成装置３００から、立体投影面ポリゴンデータ１１０ａを受け付け、記憶部１１０に記憶させる。例えば、インターフェース部１２０は、入出力インターフェース装置に対応する。【００２９】  距離データ格納部１３０は、レンジセンサ２０ｆ，２０ｂ，２０ｌ，２０ｒが計測した立体物までの距離を格納する記憶装置である。例えば、各レンジセンサ２０は、例えば１／３０秒毎に立体物までの距測を測定し、距離データ格納部１３０に格納される測定結果を更新する。【００３０】  座標変換部１４０は、実空間での立体物の３次元座標値を、仮想空間での３次元座標値に変換する処理部である。座標変換部１４０は、実空間での立体物の３次元座標値と、仮想空間での３次元座標値とを対応付けて、周辺立体物ポイントデータ生成部１６０に出力する。なお、座標変換部１４０は、距離データ格納部１３０に格納された立体物と車両１との距離を基にして、実空間上の立体物の座標を算出する。座標変換部１４０は、どのような従来技術を用いて、立体物の座標を算出してもよい。【００３１】  座標変換部１４��の処理を具体的に説明する。図６は、座標変換部の処理を説明するための図である。図６では、座標変換部１４０は、実空間での３次元座標値ＰＲ（ＰＲＸ，ＰＲＹ，ＰＲＺ）を、仮想空間の３次元座標値ＰＶに変換する場合について説明する。例えば、ＰＲを、ある立体物の頂点の３次元座標とする。仮想視点位置ＶＰは、全周囲画像を作成するための基準となる位置である。座標変換部１４０は、仮想視点位置ＶＰの情報を、視点決定部１８０から取得する。５は、立体投影面に対応する。座標変換部１４０は、立体投影面５の形状を、立体投影面形状データ１１０ｃから取得する。なお、図６の座標系は、車両１の中心位置を原点とする車両座標系とする。【００３２】  座標変換部１４０は、座標値ＰＲに対応する路面５ｂ上の座標値ＰＲＧを求める。座標値ＰＲＧは、座標値ＰＲと仮想視点位置ＶＰとを含み路面５ｂに垂直な平面上の点である。座標値ＰＲＧは、ＰＲから垂直下方向の線５ｃとθの角をもって路面方向に向かう線分５ａと路面５ｂとの交点である。座標値ＰＲＧは、式（１）によって表すことができる。【００３３】
【数１】
2013018173.tif 000003
【００３４】  ここで、θの符号は、線分５ｃから仮想視点位置ＶＰへ向かう方向を正とする。θは、−９０〜９０度の範囲を取り得るが、実質的には、−４５〜４５度の範囲の値を用いることが好ましい。座標変換部１４０は、式（１）を用いて、座標値ＰＲＧを算出する。【００３５】  座標値ＰＲＧは、路面上の点であるため、仮想視点投影により、この点の位置の画像は、立体投影面５上の座標値ＰＶＧに投影される。座標値ＰＶＧは、線分５ｄと立体投影面５との交点である。線分５ｄは、仮想視点位置ＶＰと座標値ＰＲＧとを結ぶ線分である。立体投影面５が道路平面と接触する部分に関しては、ＰＶＧとＰＲＧとは同一の座標値となり一致する。道路平面のｚ軸の座標値は０である。【００３６】  座標値ＰＶＧは、全周囲画像における立体物に対応する路面の座標である。このため、座標値ＰＶＧを基準として、上方に座標値ＰＶが存在する。座標値ＰＶは、座標値ＰＶＧと仮想視点位置ＶＰを含み路面５ｂに垂直な平面上の座標である。座標値ＰＶは、座標値ＰＶＧと仮想視点位置ＶＰとを結ぶ線分５ｅと、座標ＰＶＧを通りかつ路面５ｂに対して垂直な線分５ｆとφの角度をなす線分５ｇとの交点として定義する。【００３７】  ここで、φの符号は、線分５ｆから座標ＰＲへ向かう方向を正とする。φは、理論上は有限の範囲内で、線分５ｇと線分５ｅとが交点をもつ角度であればよい。本実施例では一例として、φの角度と、θの角度とが等しいものとする。【００３８】  φの角度と、θの角度とが等しいとすると、三角形ＶＰＰＶＧＰＶと三角形ＶＰＰＲＧＰＲは、相似形となる。このため、座標値ＰＶは、式（２）で表すことができる。座標変換部１４０は、式（２）を用いて、座標値ＰＶを算出する。【００３９】
【数２】
2013018173.tif 000004
【００４０】  以上のように、座標変換部１４０は、式（１）、（２）を利用して、実空間での３次元座標値ＰＲを、仮想空間の３次元座標値ＰＶに変換する。このような座標変換を行うことで、実空間中の物体は、仮想空間内で立体投影面を大きく外れない範囲に写像されるようになる。図７は、実空間の物体と仮想空間の物体との関係を示す図である。図７に示すように、実空間１に人物１ａ〜１ｇが存在している。座標変換部１４０が、この実空間１の人物１ａ〜１ｇを仮想空間６に写像すると、人物１ａ〜１ｇは、立体投影面５上に写像される。なお、座標変換部１４０は、距離データ格納部１３０の距離データが更新される度に、上記処理を繰り返し実行する。【００４１】  図１の説明に戻る。画像座標算出部１５０は、カメラ内部パラメータ１１０ｄおよびカメラ配置データ１１０ｅを基にして、実空間での３次元座標値と、画像座標値とを対応付ける処理部である。画像座標算出部１５０は、実空間での３次元座標と画像座標値との関係を、周辺立体物ポイントデータ生成部１６０に出力する。【００４２】  画像座標算出部１５０の処理を具体的に説明する。図８Ａおよび図８Ｂは、画像座標算出部の処理を説明するための図である。図８Ａにおいて、３次元座標値ＰＲは、レンジセンサ２０ｆ，２０ｂ，２０ｌ，２０ｒにより計測されてものであるため、車両座標系の座標値となる。まず、画像座標算出部１５０は、車両座標系の座標値ＰＲを、カメラ座標系の座標値ＰＲＣに変換する。カメラ座標系のＸ軸、Ｙ軸、Ｚ軸をそれぞれ、ＸＣ、ＹＣ、ＺＣとする。なお、図８ＡのＶは、座標値からカメラ中心に向かう入射光ベクトルである。【００４３】  例えば、画像座標算出部１５０は、式（３）を利用して、車両座標系の座標値ＰＲを、カメラ座標系の座標値ＰＲＣに変換する。式（３）において、Ｍは４×４の座標変換マトリクスであり、カメラ配置データ１１０ｅにより一意に定まる値である。【００４４】
【数３】
2013018173.tif 000005
【００４５】  図８Ｂの説明に移行する。図８Ｂにおいて、画像座標系のＸ軸、Ｙ軸を、ＸＱ、ＹＱとする。画像座標算出部１５０は、座標値ＰＲＣを求めた後に、カメラ座標系の入射光ベクトルＶｉｎを算出する。Ｖｉｎは、式（４）によって定義される。【００４６】
【数４】
2013018173.tif 000006
【００４７】  画像座標算出部１５０は、入射光ベクトルＶｉｎを算出した後に、この入射光ベクトルＶｉｎが撮像される画面座標上の位置Ｑを算出する。この位置Ｑは、画像座標値に対応する。入射光ベクトルＶｉｎと位置Ｑとの関係は、式（５）によって定義される。式（５）において、Ｔは、カメラ毎に定められた入射光ベクトルと撮像位置との関係を示す関数やテーブルであり、カメラ内部パラメータ１１０ｄにより一意に定まる。【００４８】
【数５】
2013018173.tif 000007
【００４９】  以上のように、画像座標算出部１５０は、式（３）〜（５）を利用して、実空間での３次元座標値ＰＲと、画像座標系の画像座標値Ｑとを対応付ける。画像座標算出部１５０は、３次元座標ＰＲと画像座標値Ｑとの関係を、周辺立体物ポイントデータ生成部１６０に出力する。なお、画像座標算出部１５０は、距離データ格納部１３０の距離データが更新される度に、上記処理を繰り返し実行する。【００５０】  周辺立体物ポイントデータ生成部１６０は、座標変換部１４０および画像座標算出部１５０の算出結果を基にして、周辺立体物ポイントデータ１１０ｂを生成する処理部である。例えば、周辺立体物ポイントデータ生成部１６０は、実空間の３次元座標値ＰＲおよび仮想空間での３次元座標値ＰＶの組と、実空間での３次元座標値ＰＲおよび画像座標値Ｑとの組を比較する。そして、３次元座標値ＰＲをキーにして、仮想空間での３次元座標値ＰＶと、画像座標値Ｑとを対応付けることで、周辺立体物ポイントデータ１１０ｂを生成する。【００５１】  フレームバッファ１７０は、カメラ１０ｆ，１０ｂ，１０ｌ，１０ｒが撮影した画像データを記憶する記憶装置である。例えば、各カメラ１０は、３０ｆｐｓのフレームレートで動作し、フレームバッファ１７０は、１／３０秒で新しい画像に置き換えられる。【００５２】  視点決定部１８０は、仮想視点位置ＶＰを決定する処理部である。例えば、視点決定部１８０は、仮想視点位置ＶＰを予め固定で指定しておいても良いし、車両１に搭載された各種センサの情報から仮想視点位置Ｖｐを動的に決定してもよい。視点決定部１８０は、仮想視点位置ＶPの情報を、座標変換部１４０、描画部１９０に出力する。【００５３】  描画部１９０は、俯瞰画像を描画して、俯瞰画像を画像表示部２００に表示させる処理部である。例えば、描画部１９０は、仮想視点位置を基準として、立体投影面のポリゴン形状を描画する。そして、描画部１９０は、フレームバッファ１７０の画像データをテクスチャとして取得し、立体投影面ポリゴンデータ１１０ａに基づいて、立体投影面のポリゴン形状にカメラの画像を描画する。また、描画部１９０は、周辺立体物ポイントデータ１１０ｂに基づいて、立体投影面のポリゴン形状に、画像データを描画する。なお、描画部１９０は、立体投影面のポリゴン形状上において、同一の座標上に、立体投影面ポリゴンデータ１１０ａの座標と周辺立体物ポイントデータ１１０ｂの座標とが対応している場合には、重畳して画像を描画する。例えば、描画部１９０は、１／３０秒毎に繰り返し描画を実行する。【００５４】  描画部１９０は、描画結果の情報を、画像表示部２００に出力し、俯瞰画像を表示させる。描画部１９０は、標準的な３ＤグラフィクスＬＳＩによりハードウエアで実装することができ、標準的な３ＤグラフィクスライブラリであるＯｐｅｎＧＬなどによりソフトウエアとして実装することもできる。【００５５】  図９Ａは、各カメラ１０により撮影された画像の一例を示す図である。図９Ｂは、立体形状面、立体投影面ポリゴンデータ、周辺立体物ポイントデータによって特定される面である。図９Ｃは、俯瞰画像の一例を示す図である。描画部１９０は、図９Ａの画像データを切り取って、図９Ｂの面に貼り付けることで、図９Ｃの俯瞰画像を生成する。【００５６】  画像表示部２００は、描画結果の情報を取得し、俯瞰画像を表示する表示装置である。【００５７】  次に、立体投影面ポリゴンデータ１１０ａを生成する立体投影面ポリゴンデータ生成装置の構成について説明する。図１０は、立体投影面ポリゴンデータ生成装置の構成を示す図である。図１０に示すように、立体投影面ポリゴンデータ生成装置３００は、記憶部３１０、インターフェース部３２０、投影処理部３３０を有する。【００５８】  記憶部３１０は、カメラ内部パラメータ３１０ａ、カメラ配置データ３１０ｂ、立体投影面形状データ３１０ｃ、立体投影面ポリゴンデータ３１０ｄを有する。【００５９】  このうち、カメラ内部パラメータ３１０ａは、各カメラ１０ｆ，１０ｂ，１０ｌ，１０ｒのレンズディストーションの情報を含む。カメラ配置データ３１０ｂは、各カメラ１０ｆ，１０ｂ，１０ｌ，１０ｒの設置された３次元座標値を含む。また、カメラ配置データ３１０ｂは、カメラ１０ｆ，１０ｂ，１０ｌ，１０ｒのロール角、ピッチ角、ヨー角を含む。【００６０】  立体投影面形状データ３１０ｃは、立体投影面の形状データである。例えば、立体投影面形状データは、図５Ａ、図５Ｂに示すものと同様である。【００６１】  立体投影面ポリゴンデータ３１０ｄは、ポリゴンで構成される立体投影面上の３次元座標値と、画像座標値とを対応付けるデータである。立体投影面形状データ３１０ｃのデータ構造は、図３に示したものと同様である。【００６２】  インターフェース部３２０は、外部装置に接続し、外部装置との間でデータを送受信する処理部である。例えば、インターフェース部３２０は、立体投影面ポリゴンデータ３１０ｄを、画像処理装置１００に出力する。例えば、インターフェース部３２０は、入出力インターフェース装置に対応する。【００６３】  投影処理部３３０は、カメラ内部データ３１０ａ、カメラ配置データ３１０ｂ、立体投影面形状データ３２０ｃを基にして、立体投影面ポリゴンデータ３１０ｄを生成する処理部である。【００６４】  ここで、仮想視点投影について説明する。図１１は、仮想視点投影を説明するための図である。図１１において、７は仮想視点投影面に対応する。仮想視点投影面７は、Ｚ軸の０以上となる範囲において、十分に大きい距離の半径Ｒを持ち車両座標系の原点に中心を持つ半円と、道路平面とを組み合わせた形状を持つ。半径Ｒの距離は、各カメラ間の距離が誤差と見なせる程度であれば有限の数値であってもよい。例えば、仮想視点投影面７の半径Ｒを１０ｋｍとする。図１１の８は、立体投影面を示す。【００６５】  図１２は、ポリゴンの頂点座標と画像座標系との関係の算出方法の説明に用いる図である。図１２において、カメラ座標系のＸ軸、Ｙ軸、Ｚ軸をそれぞれ、ＸＣ、ＹＣ、ＺＣとする。また、画像座標系のＸ軸、Ｙ軸を、ＸＱ、ＹＱとする。【００６６】  投影処理部３３０は、図１１に示すように、車両１の周辺に全周囲画像を作成するための基準となる仮想視点位置ＶＰを１点定める。投影処理部３３０は、仮想視点位置ＶＰの位置と、立体投影面８上のポリゴン頂点Ｐ１とを結ぶ線分を延長して、仮想視点投影面７との交点Ｃ１��求める。交点Ｃ１は、仮想視点投影面の道路平面部分に位置する。【００６７】  同様に、投影処理部３３０は、図１１に示すように、仮想視点位置ＶＰの位置と、立体投影面８上のポリゴン頂点Ｐ２とを結ぶ線分を延長して、仮想視点投影面７との交点Ｃ２を求める。交点Ｃ２は、仮想視点投影面７の半球部分に位置する。【００６８】  投影処理部３３０は、図１１に示すように、交点Ｃ１からカメラ１０ｂに向かう車両座標形の入射光ベクトルＩ１を求める。投影処理部３３０は、交点Ｃ２からカメラ１０ｂに向かう車両座標系の入射光ベクトルＩ２を求める。【００６９】  投影処理部３３０は、車両座標系の入射光ベクトルＩ１およびＩ２を、カメラ座標系の入射光ベクトルＩ１＊、Ｉ２＊にそれぞれ変換する。以下に、入射光ベクトルの車両座標系からカメラ座標系への変換方法について説明する。【００７０】  図１３、図１４は、カメラパラメータの一例を示す図である。図１３は、車両１を上方から鉛直に見下ろした状態を示す。また、図１４は、車両１を左側側面から見た状態を示す。図１３および図１４の座標系は、車両座標系である。車両座標系のＸ軸、Ｙ軸、Ｚ軸をそれぞれ、ＸＷ、ＹＷ、ＺＷとする。また、図１３に示すθＦ、θＢ、図１４に示すψＦ、ψＢ、φＬは、車両座標系におけるカメラの取り付け角度に由来する角度パラメータを表す。なお、図１３および図１４に示していないが、車両座標系におけるカメラの取り付け位置に由来する位置パラメータは、例えば、（Ｘ座標：ｘｗ、Ｙ座標：ｙｗ、Ｚ座標：ｚｗ）からなる３次元の座標で表される。カメラの位置パラメータおよび角度パラメータは、図１のカメラ配置データ１１０ｅ、図１０のカメラ配置データ３１０ｂに対応する。【００７１】  投影処理部３３０は、車両座標系で求められた交点Ｃ１の座標を「Ｃ１＝（Ｃ１ｘ、Ｃ１ｙ、Ｃ１ｚ）」とする。そして、投影処理部３３０は、下記の式（６）〜（１５）を用いて、交点Ｃ１の座標「Ｃ１＝（Ｃ１ｘ、Ｃ１ｙ、Ｃ１ｚ）」に対応するカメラ座標系の位置Ｃ１＊の座標「Ｃ１＝（Ｃ１＊ｘ、Ｃ１＊ｙ、Ｃ１＊ｚ）」を求める。【００７２】  なお、式（６）において、ｃｐ＝ｃｏｓθ、ｓｐ＝ｓｉｎθとなる。また、ｃｔ＝ｃｏｓΨ、ｓｔ＝ｓｉｎΨとなる。また、ｃｒ＝ｃｏｓφ、ｓｒ＝ｓｉｎφとなる。また、ＣＣＡＭは、「Ｃ＊ｘ、Ｃ＊ｙ、Ｃ＊ｚ、１」に対応し、ＣＣＡＲは、「Ｃｘ、Ｃｙ、Ｃｚ、１」に対応する。【００７３】
【数６】
2013018173.tif 000008
【００７４】
【数７】
2013018173.tif 000009
【００７５】
【数８】
2013018173.tif 000010
【００７６】
【数９】
2013018173.tif 000011
【００７７】
【数１０】
2013018173.tif 000012
【００７８】
【数１１】
2013018173.tif 000013
【００７９】
【数１２】
2013018173.tif 000014
【００８０】
【数１３】
2013018173.tif 000015
【００８１】
【数１４】
2013018173.tif 000016
【００８２】
【数１５】
2013018173.tif 000017
【００８３】  同様にして、投影処理部３３０は、車両座標系で求められた交点Ｃ２の座標を「Ｃ２＝（Ｃ２ｘ、Ｃ２ｙ、Ｃ２ｚ）」とする。そして、投影処理部３３０は、交点Ｃ２に対応するカメラ座標系の位置Ｃ２＊の座標「Ｃ２＝（Ｃ２＊ｘ、Ｃ２＊ｙ、Ｃ２＊ｚ）」を求める。【００８４】  投影処理部３３０は、カメラ座標系の位置Ｃ１＊を用いて、車両座標系で求めたカメラ１０ｂに向かう入射光ベクトルＩ１を、カメラ座標系の入射光ベクトルＩ１＊に変換する。また、投影処理部３３０は、カメラ座標系の位置Ｃ２＊を用いて、車両座標系で求めたカメラ１０ｂに向かう入射光ベクトルＩ２を、カメラ座標系の入射光ベクトルＩ２＊に変換する。【００８５】  投影処理部３３０は、式（１６）を用いて、カメラ座標系の入射光ベクトルＩ１＊を、画像座標系の画像座標Ｑ１を求める。また、投影処理部３３０は、式（１７）を用いて、カメラ座標系の入射光ベクトルＩ２＊を、画像座標系の画像座標Ｑ２を求める。式（１６）および式（１７）のＴは、カメラ毎に定められた入射光ベクトルと撮像位置との関係を示す関数やテーブルであり、カメラ内部パラメータ３１０ａにより一意に定まる。【００８６】
【数１６】
2013018173.tif 000018
【００８７】
【数１７】
2013018173.tif 000019
【００８８】  投影処理部３３０は、車両座標系における立体投影面上の各ポリゴンの頂点の座標値と、画像座標系における各カメラ画像の座標値とを対応付けることで、立体投影面ポリゴンデータ３１０ｄを生成する。立体投影面ポリゴンデータ３１０ｄは、図１の画像処理装置１００に利用される。図１０の立体投影面ポリゴンデータ３１０ｄは、図１の立体投影面ポリゴンデータ１１０ａに対応する。【００８９】  次に、本実施例にかかる画像処理装置１００の処理手順について説明する。図１５は、本実施例にかかる画像処理装置の処理手順を示すフローチャートである。例えば、図１５に示す処理は、カメラ１０ｆ〜１０ｒから画像データを取得し、レンジセンサ２０ｆ〜２０ｒから距離データを取得したことを契機にして実行される。【００９０】  図１５に示すように、画像処理装置１００は、カメラ１０ｆ〜１０ｒから画像データを取得し、レンジセンサ２０ｆ〜２０ｒから距離データを取得する（ステップＳ１０１）。画像処理装置１００は、実空間で３次元座標ＰＲを、仮想空間での３次元座標ＰＶに変換する（ステップＳ１０２）。【００９１】  画像処理装置１００は、実空間での３次元座標ＰＲを、画面座標Ｑに変換する（ステップＳ１０３）。画像処理装置１００は、３次元座標ＰＲおよびＰＶの関係と、３次元座標ＰＲおよび画像座標Ｑの関係とを基にして、周辺立体物ポイントデータを生成する（ステップＳ１０４）。【００９２】  画像処理装置１００は、立体投影ポリゴンデータ１１０ａおよび周辺立体物ポイントデータ１１０ｂを基にして、ポリゴンデータに画像データを貼り付けることで、全周囲画像の描画処理を実行する（ステップＳ１０５）。画像処理装置１００は、描画結果を表示する（ステップＳ１０６）。【００９３】  次に、本実施例にかかる画像処理装置１００の効果について説明する。本実施例にかかる画像処理装置１００は、立体物の接地点ＰＲＧおよび仮想視点位置ＶＰを結ぶ直線と、立体投影面との交点ＰＶＧの座標を求め、交点ＰＶＧから上方に伸ばした直線と立体物の点ＰＲおよび仮想視点位置ＶＰとを結ぶ直線との交点ＰＶの座標を求める。そして、画像処理装置１００は、ＰＶの座標の位置に立体物のＰＲの画像を投影する。このような処理を画像処理装置１００が実行することで、立体投影面５内部に高さ成分を持つ立体物を投影することができ、立体物を適切に俯瞰画像に表示することができる。【００９４】  また、画像処理装置１００は、画像座標系の座標値と、立体投影面上の座標値との対応関係を含む周辺立体ポイントデータ１１０ｂを基にして、カメラ画像を立体投影面に描画するので、各フレームの画像データを、適切に立体投影面に描画することができる。【００９５】  また、画像処理装置１００は、所定の範囲内の角度で、立体物上のＰＲ点から下ろした線分と接地面との交点を接地点ＰＲＧとし、所定の範囲内の角度で、交点ＰＶＧから上方向に伸ばした直線と立体物の交点ＰＲおよび前記仮想視点を結ぶ直線との交点ＰＶの座標を算出する。このような処理を画像処理装置１００が実行することで、仮想空間上の立体物の立つ角度を調整することができる。【００９６】  ところで、図１に示した画像処理装置１００の構成は一例であり、その他の処理部を有していても構わない。例えば、画像処理装置１００は、立体モデル生成部を有していてもよい。【００９７】  立体モデル生成部は、例えば、仮想的な立体モデルを生成する。仮想的な立体モデルは、例えば、ポール、パイロン、ガイド線などの立体物に対応し、仮想的な立体モデルは、車両１から所定の距離離れた位置の座標を有する。立体モデル生成部は、仮想的な立体モデルの座標情報を、座標変換部１４０に出力する。仮想的な立体モデルは、仮想空間の座標に変換され、描画部１９０によって、俯瞰画像上に表示される。なお、仮想的な立体モデルには、カメラ画像中に対応する画素が存在しないため、予め定めた色属性を割り当てることで、仮想的な立体モデルを俯瞰画像に重畳表示することができる。このような仮想的な立体モデルを俯瞰画像に表示させることで、例えば、運転者の運転を補助することができる。【００９８】  また、座標変換部１４０の処理は、上記のものに限定されるものではない。ここで、座標変換部１４０のその他の処理について説明する。座標変換部１４０は、図６に示したθの値を、立体物との距離に応じて変更し、実空間の３次元座標値ＰＲから仮想空間の３次元座標値ＰＶに変換してもよい。例えば、座標変換部１４０は、立体物と車両との距離が離れるにしたがって、立体物の３次元座標ＰＲからの線分２ｃと２ａとの間のθを、大きくし、３次元座標ＰＶを求めてもよい。このように、θの値を調整することで、立体投影面に描画される立体物の歪みを少なくすることができる。【００９９】  次に、図１に示した画像処理装置１００と同様の機能を実現する画像処理プログラムを実行するコンピュータの一例を説明する。図１６は、画像処理プログラムを実行するコンピュータの一例を示す図である。【０１００】  図１６に示すように、コンピュータ４００は、各種演算処理を実行するＣＰＵ４０１と、ユーザからのデータの入力を受け付ける入力装置４０２と、ディスプレイ４０３を有する。また、コンピュータ４００は、記憶媒体からプログラム等を読取る読み取り装置４０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置４０５とを有する。また、コンピュータ４００は、複数のレンジセンサ４０６と、複数のカメラ４０７を有する。また、コンピュータ４００は、各種情報を一時記憶するＲＡＭ４０８と、ハードディスク装置４０９を有する。そして、各装置４０１〜４０９は、バス４０８に接続される。【０１０１】  ハードディスク装置４０９は、例えば、座標変換プログラム４０９ａ、画像座標算出プログラム４０９ｂ、周辺立体ポイントデータ生成プログラム４０９ｃ、描画プログラム４０９ｄを記憶する。ＣＰＵ４０１は、各プログラム４０９ａ〜４０９ｄを読み出して、ＲＡＭ４０８に展開する。座標変換プログラム４０９ａは、座標変換プロセス４０８ａとして機能する。画像座標算出プログラム４０９ｂは、画像座標算出プロセス４０８ｂとして機能する。周辺立体物ポイントデータ生成プログラム４０９ｃは、周辺立体物ポイントデータ生成プロセス４０８ｃとして機能する。描画プログラム４０９ｄは、描画プロセス４０８ｄとして機能する。【０１０２】  例えば、座標変換プロセス４０８ａは、座標変換部１４０に対応する。画像座標算出プロセス４０８ｂは、画像座標算出部１５０に対応する。周辺立体物ポイントデータ生成プロセス４０８ｃは、周辺立体物ポイントデータ生成部１６０に対応する。描画プロセス４０８ｄは、描画部１９０に対応する。【０１０３】  なお、各プログラム４０９ａ〜４０９ｄについては、必ずしも最初からハードディスク装置４０９に記憶させておかなくてもよい。例えば、コンピュータ４００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ４００がこれらから各プログラム４０９ａ〜４０９ｄを読み出して実行するようにしてもよい。【０１０４】  ところで、図１、図１０に示した各処理部１４０〜１６０，１８０，１９０，３２０、３３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）などの集積装置に対応する。また、各処理部は、例えば、ＣＰＵやＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。【０１０５】  また、図１、図１０に示した記憶部１１０，３１０は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
【符号の説明】
【０１０６】  １００    画像処理装置  １１０    記憶部  １２０    インターフェース部  １３０    距離データ格納部  １４０    座標変換部  １５０    画像座標算出部  １６０    周辺立体物ポイントデータ生成部  １７０    フレームバッファ  １８０    視点決定部  １９０    描画部  ２００    画像表示部
【図１】
2013018173.tif 000020
【図２】
2013018173.tif 000021
【図３】
2013018173.tif 000022
【図４】
2013018173.tif 000023
【図５Ａ】
2013018173.tif 000024
【図５Ｂ】
2013018173.tif 000025
【図６】
2013018173.tif 000026
【図７】
2013018173.tif 000027
【図８Ａ】
2013018173.tif 000028
【図８Ｂ】
2013018173.tif 000029
【図９Ａ】
2013018173.tif 000030
【図９Ｂ】
2013018173.tif 000031
【図９Ｃ】
2013018173.tif 000032
【図１０】
2013018173.tif 000033
【図１１】
2013018173.tif 000034
【図１２】
2013018173.tif 000035
【図１３】
2013018173.tif 000036
【図１４】
2013018173.tif 000037
【図１５】
2013018173.tif 000038
【図１６】
2013018173.tif 000039
【図１７】
2013018173.tif 000040
【図１８】
2013018173.tif 000041
【図１９】
2013018173.tif 000042
【図２０】
2013018173.tif 000043
【国際調査報告】
2013018173.tif 000044
2013018173.tif 000045
2013018173.tif 000046
2013018173.tif 000047