JP6079131B2 - 画像処理装置、方法、及びプログラム - Google Patents

画像処理装置、方法、及びプログラム Download PDF

Info

Publication number
JP6079131B2
JP6079131B2 JP2012235653A JP2012235653A JP6079131B2 JP 6079131 B2 JP6079131 B2 JP 6079131B2 JP 2012235653 A JP2012235653 A JP 2012235653A JP 2012235653 A JP2012235653 A JP 2012235653A JP 6079131 B2 JP6079131 B2 JP 6079131B2
Authority
JP
Japan
Prior art keywords
image
time
pixel
moving body
projection plane
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012235653A
Other languages
English (en)
Other versions
JP2014085925A (ja
Inventor
清水 誠也
誠也 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012235653A priority Critical patent/JP6079131B2/ja
Priority to US14/022,631 priority patent/US9478061B2/en
Priority to EP17192601.7A priority patent/EP3282419A1/en
Priority to EP13185301.2A priority patent/EP2725548A3/en
Publication of JP2014085925A publication Critical patent/JP2014085925A/ja
Priority to US15/273,075 priority patent/US9633266B2/en
Application granted granted Critical
Publication of JP6079131B2 publication Critical patent/JP6079131B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4038Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Description

開示の技術は、画像処理装置、画像処理方法、及び画像処理プログラムに関する。
車両に取り付けられた1つまたは複数台のカメラにより取得されたカメラ画像を合成することにより、仮想的な視点を任意に変更可能な車両周辺の全周囲画像を生成する技術が存在する。従来の全周囲画像の生成手法は、路面については少ない歪みで表示することができるが、路面に対して高さ情報を有する被写体、すなわち立体物については、大きく引き延ばされて表示されたり、歪んで表示されたりする。これは、カメラにより撮影された立体物の形状とは異なる投影面に投影されたカメラ画像に基づいて、全周囲画像を生成して表示することが原因である。
このような問題に対して、移動体周辺の環境情報を検出し、検出した環境情報に基づいて移動体周辺の3次元環境情報を構築し、構築した3次元環境情報に基づく投影面にカメラ画像を描画して表示画像を作成する技術が存在する。
国際公開第2000/07373号パンフレット 国際公開第2012/017560号パンフレット 特開2004−297808号公報
しかしながら、3次元環境情報に基づく投影面にカメラ画像を投影する場合には、路面を示す投影面と3次元環境情報に基づく投影面との両方に立体物像が描画されてしまい、立体物像が混在した画像となってしまう。3次元環境情報が存在する位置では、路面を示す投影面に立体物像を描画しないことで、立体物像の混在を解消することは可能である。しかし、路面を示す投影面に描画された立体物像が存在する部分は、カメラから見て立体物の裏側にあたる部分であり、カメラ画像中にその画像情報が存在しない部分である。このため、該当部分の画素値が欠損し、立体物の影のような領域が画面上に発生してしまう。
この立体物の影のような領域のように、画素値が欠損した領域は、合成画像に不自然さを生じさせる。また、この立体物の影のような領域は、車両の移動によるカメラと立体物との相対位置の変化によって大きく位置が変化し、ドライバの視線が不用意に誘導されてしまう。
開示の技術は、一つの側面として、立体物による画素値の欠損部分が解消された自然な合成画像を生成することが目的である。
開示の技術は、移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された3次元位置を示す3次元位置情報を取得する取得部を備えている。また、開示の技術は、第1時刻と第2時刻との間に移動した前記移動体の移動量を計測する移動量計測部を備えている。また、開示の技術は、前記取得部により取得された前記3次元位置情報に基づいて、前記第1時刻に撮影された第1画像中で立体物を示す画素を特定する特定部を備えている。また、開示の技術は、第1対応関係及び第2対応関係を仮想視点投影により生成する対応関係生成部を備えている。第1対応関係は、前記第1時刻における前記移動体に対応する立体投影面上の各点と前記第1画像の各画素の位置との対応を示すものである。対応関係生成部は、前記移動体を内部に含むように定めた立体投影面上の各点を、仮想視点位置を基準に、前記移動体の位置を原点とした無限半径の半球と前記移動体が存在する水平面とを組み合わせた形状の仮想視点投影面に投影する。そして、前記仮想視点投影面に投影された点から前記撮影装置への入射ベクトルを画像の座標系に変換することにより、前記第1対応関係を生成する。また、第2対応関係は、前記立体投影面上の各点と前記第2時刻に撮影された第2画像の各画素の位置との対応を示すものである。対応関係生成部は、計測された移動量に基づいて、前記第2時刻における前記移動体の位置を前記第1時刻における前記移動体座標系によって表す。また、対応関係生成部は、前記第1時刻における移動体に対応する立体投影面上の各点を、前記仮想視点位置を基準に前記仮想視点投影面に投影する。そして、前記仮想視点投影面に投影された点から、前記第1時刻における移動体座標系によって表された前記第2時刻における前記移動体の位置における前記撮影装置への入射ベクトルを、前記第2時刻における移動体座標系の入射ベクトルに変換する。これにより、対応関係生成部は、前記第2対応関係を生成する。また、開示の技術は、合成画像を合成する合成部を備えている。合成部は、所定の視点位置から見た前記立体投影面の各点に対応する合成画像上の各画素の画素値を、前記第1対応関係に基づいて前記第1画像の対応する画素の画素値とする。また、合成部は、前記第1画像において前記特定部により立体物を示す画素として特定された画素に対応する前記合成画像の各画素の画素値を、前記第2対応関係に基づいて前記第2画像の対応する画素の画素値とする。
開示の技術は、一つの側面として、立体物による画素値の欠損部分が解消された自然な合成画像を生成することができる、という効果を有する。
第1実施形態に係る画像処理装置の一例を示す機能ブロック図である。 カメラ及びレンジセンサの配置の一例を示す概略図である。 テクスチャ画像の一例を示すイメージ図である。 距離データをカメラ画像に対応させて画像化した一例を示すイメージ図である。 ΔT間の車両の移動量を示す概略図である。 立体物マスク画像の一例を示すイメージ図である。 立体投影面を説明するための概略側面図である。 立体投影面を説明するための概略正面図である。 投影面ポリゴンデータの一例を示すテーブルである。 仮想視点投影を説明するための概略図である。 仮想視点投影における現在と過去との対応点を説明するための概略図である。 立体物の投影像が大きく引き伸ばされた合成画像の一例を示すイメージ図である。 立体物の投影像が混在した合成画像の一例を示すイメージ図である。 立体物による画素値の欠損部分が生じている合成画像の一例を示すイメージ図である。 時刻(T−ΔT)の車両位置及びカメラ位置を説明するための概略図である。 車両座標系とカメラ座標系との関係を説明するための概略図である。 カメラ座標系とローカル画像座標系との関係を説明するための概略図である。 視点位置の一例を示す概略図である。 立体投影面と合成画像との関係を説明するための概略図である。 第1実施形態における欠損部分の補間を説明するためのイメージ図である。 画像処理装置として機能するコンピュータの一例を示す概略ブロック図である。 画像管理処理を示すフローチャートである。 第1実施形態における全周囲画像表示処理を示すフローチャートである。 現在時刻Tの画像合成処理を示すフローチャートである。 時刻(T−ΔT)の画像合成処理を示すフローチャートである。 3次元位置情報に基づく立体物形状及び車両形状の合成を説明するためのイメージ図である。 第2実施形態に係る画像処理装置の一例を示す機能ブロック図である。 第2実施形態における欠損部分の補間を説明するためのイメージ図である。 第2実施形態における全周囲画像表示処理を示すフローチャートである。
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。本実施形態では、車両周辺の全周囲画像を合成する画像処理装置に開示の技術を適用した場合について説明する。
〔第1実施形態〕
図1には、第1実施形態に係る画像処理装置10が示されている。画像処理装置10は、立体物による画素値の欠損部分に対し、現在位置とは異なる位置で過去に撮影された画像における該当位置の画素値を割り当てることで、自然な全周囲画像を合成する。
図1に示すように、画像処理装置10は、カメラ11F,11B,11L,11R、レンジセンサ12F,12B,12L,12R、車速センサ13、ジャイロセンサ14、舵角センサ15、ブレーキセンサ16、及びウインカセンサ17と接続される。
カメラ11F,11B,11L,11R、及びレンジセンサ12F,12B,12L,12Rの配置の一例を図2に示す。図2において、車両1は、画像処理装置10が搭載される車両である。図2に示すように、カメラ11F及びレンジセンサ12Fは、車両1の前方に設置されている。カメラ11B及びレンジセンサ12Bは、車両1の後方に設置されている。カメラ11L及びレンジセンサ12Lは、車両1の左側に設置されている。カメラ11R及びレンジセンサ12Rは、車両1の右側に設置されている。
カメラ11F,11B,11L,11Rは、例えば水平画角180度以上の魚眼レンズなどの広角レンズを持つカメラである。カメラ11F,11B,11L,11Rの各々は、一部視野を重ねながら車両の周囲360度を撮影できるように設置されている。カメラ11F,11B,11L,11Rの各々は、例えば30フレーム/秒(fps)の頻度で撮影範囲の画像を撮影し、撮影した画像データを画像処理装置10に出力する。なお、以下では、各カメラを区別なく説明する場合には、単に「カメラ11」と表記する。
レンジセンサ12F,12B,12L,12Rは、レンジセンサから対象物までの距離を計測する測距センサである。レンジセンサ12F,12B,12L,12Rとしては、近赤外線レーザパルスを発射し、物体に反射して戻ってくるレーザパルスを受信し、発射から受信までの飛行時間(TOF:Time of flight)を距離に換算するレーザスキャナ等を用いることができる。図2では、水平垂直検知角150度程度の2次元レーザスキャナをレンジセンサとして4台用いる場合の配置例を示す。4台のレンジセンサ12F,12B,12L,12Rは、各々の検知範囲を重ねながら車両の周囲360度の範囲に存在する物体までの距離データを計測できるように配置されている。レンジセンサ12F,12B,12L,12Rの各々は、例えば30fpsで車両周辺を計測し、計測した距離データ及びレーザパルスの発射角度を画像処理装置10に出力する。なお、以下では、各レンジセンサを区別なく説明する場合には、単に「レンジセンサ12」と表記する。
カメラ11によるカメラ画像の撮影タイミングと、レンジセンサ12による距離データの計測タイミングとは同期させる。
車速センサ13は、車両1の速度を検出するセンサである。ジャイロセンサ14は、車両1のヨーレートを検出するセンサである。舵角センサ15は、ステアリングの舵角を検出するセンサである。ブレーキセンサ16は、ブレーキペダルの踏み込み量を検出するセンサである。ウインカセンサ17は、ウインカの作動状態を検出するセンサである。各センサは、各々検出したセンサ値を画像処理装置10に出力する。
画像表示部18は、ディスプレイ等の表示デバイスであり、画像処理装置10で合成された全周囲画像などを表示する。なお、画像表示部18は、タッチパネルなどの入力デバイスを有し、ポインティングデバイス機能を実現してもよい。
また、画像処理装置10は、取得部20、車両移動量計測部21、立体物マスク画像作成部22、過去画像セット管理部23、投影面ポリゴンデータ生成部24、視点位置決定部25、及び画像合成部26を有する。さらに、画像処理装置10は、テクスチャ画像記憶部30、3次元位置記憶部31、立体物マスク画像記憶部32、過去画像セット記憶部33A,33B、及び合成画像記憶部34を有する。なお、取得部20は開示の技術の取得部の一例である。また、車両移動量計測部21は開示の技術の移動量計測部の一例である。また、立体物マスク画像作成部22は開示の技術の特定部の一例である。また、過去画像セット管理部23は開示の技術の管理部の一例である。また、投影面ポリゴンデータ生成部24は開示の技術の対応関係生成部の一例である。また、画像合成部26は開示の技術の合成部の一例である。
取得部20は、車速センサ13及びジャイロセンサ14から出力されたセンサ値を取得し、車両移動量計測部21へ出力する。
また、取得部20は、カメラ11の各々で撮影された各カメラ画像を取得し、取得した各カメラ画像でテクスチャ画像を構成して、各カメラ画像の撮影時刻と対応付けてテクスチャ画像記憶部30に記憶する。テクスチャ画像の一例を図3に示す。図3の例では、1枚の画像を4分割し、各分割領域にカメラ11F,11B,11L,11Rの各々で撮影されたカメラ画像を当て嵌めてテクスチャ画像が構成されている。また、図3中のS,Tは、テクスチャ画像の画像座標系(テクスチャ画像座標系)の各軸であり、テクスチャ画像座標系の画素の座標(テクスチャ座標値)を(S,T)とする。なお、テクスチャ画像の構成例は、図3のような4分割に限定されない。各カメラ画像を用いてテクスチャ画像をどのような構成にするかに応じて、テクスチャ画像座標系と各カメラ画像の座標系(ローカル画像座標系)との対応関係を予め定めておく。
また、取得部20は、レンジセンサ12の各々で計測された距離データ及びレーザパルスの発射角度を取得し、レーザパルスが反射した立体物上の複数の計測点の車両座標系における3次元位置を算出する。算出した各計測点の3次元位置を示す3次元位置情報と距離データの計測時刻とを対応付けて3次元位置記憶部31に記憶する。カメラ画像の撮影時刻と距離データの計測時刻とは同期しているため、テクスチャ画像記憶部30に記憶されるテクスチャ画像と、3次元位置記憶部31に記憶される3次元位置情報とに対応付けられる時刻は同一時刻となる。3次元位置情報をカメラ画像に対応させて画像化した一例を図4に示す。図4の例では、路面に相当する計測点の3次元位置を除去している。路面の計測点の除去は、算出された各計測点の車両座標系における3次元位置において、Z座標(高さ情報)が一定の閾値内(例えば±30mm)となる計測点を除去することで簡単に行うことができる。また、図4の例では、車両座標系のY軸方向における車両1からの距離が遠い計測点ほど濃い色で表示している。
なお、車両座標系とは、車両1に設定された座標系である。例えば、車両1の進行方向をY軸、車両1の垂直上方をZ軸、Y−Z軸と右手系をなす水平方向をX軸、車両1の中心から道路平面に向かう法線と道路平面との交点を原点とする座標系とすることができる。車両座標系における各点の座標を(X,Y,Z)で表す。
また、取得部20は、舵角センサ15、ブレーキセンサ16、及びウインカセンサ17で検出された各センサ値を取得し、視点位置決定部25に出力する。
車両移動量計測部21は、取得部20により取得された車速センサ13及びジャイロセンサ14のセンサ値に基づいて、車両1の移動量を連続して計測する。例えば、時刻(T−ΔT)と現在時刻Tとの間で、図5に示すように車両1が移動した場合を考える。ここで、図5中のX、Y、及びZは車両座標系の各軸を表す。車両移動量計測部21は、車速センサ13及びジャイロセンサ14のセンサ値である車速及びヨーレートに基づいて、ΔT間の車両1の並進移動量(T,T)、及びΔT間の車両1のヨー(Z軸まわりの回転移動)に関する回転移動量θを計算する。この並進移動量と回転移動量とを合わせて、ΔT間の車両1の移動量(T,T,θ)とする。
ΔTは、立体物による画素値の欠損部分、すなわち立体物の裏側を撮影するために十分な距離を車両1が移動する移動時間であり、可変である。例えば、時速6kmで車両1が後退している場合、欠損部分を撮影するために十分な移動距離を1mとするとΔT=0.6秒となる。
なお、車両1の移動量は、例えば、タイヤの回転角やステアリングの舵角から算出してもよいし、GPS(Global Positioning system)端末によって計測した自車両位置の変化から算出してもよい。また、レンジセンサ12が計測する車両1から周辺物体までの距離の変化に基づいて算出してもよい。
立体物マスク画像作成部22は、3次元位置記憶部31に記憶された3次元位置情報に基づいて、テクスチャ画像中で立体物を示す画素を特定するための立体物マスク画像を作成する。立体物マスク画像の一例を図6に示す。立体物マスク画像においてマスク値(画素値)が1の画素(図6中、黒い部分)は、画素位置が対応するテクスチャ画像の画素が立体物を示す画素であることを表している。一方、マスク値が0の画素(図6中、白い部分)は、画素位置が対応するテクスチャ画像の画素が立体物を示す画素ではないことを表している。
テクスチャ画像の画素が立体物を示す画素か否かの判断は、各計測点の3次元位置情報に基づいて、各計測点の3次元位置からカメラ11方向への入射光ベクトルを求める。そして、入射光ベクトルとカメラ画像の各画素の位置との関係を表す関数やテーブルを参照して行うことができる。立体物マスク画像作成部22は、作成した立体物マスク画像に、3次元位置情報に対応付けられた計測時刻と同一の時刻を作成時刻として対応付けて立体物マスク画像記憶部32に記憶する。
過去画像セット管理部23は、車両1の移動量に応じて、過去画像セットの保存及び廃棄を管理する。過去画像セットとは、車両1の現在位置とは異なる位置で過去の時刻に撮影されたカメラ画像で構成されたテクスチャ画像、及び対応する過去の時刻に作成された立体物マスク画像をいう。これは、現在の車両位置から一定距離離れた位置(例えば前方または後方に1m〜2mの位置)から撮影されたカメラ画像で構成されたテクスチャ画像及び対応する立体物マスク画像を、常に参照可能にするためである。
過去画像セットの保存及び廃棄の管理を実現する一例について説明する。画像処理装置10には、過去画像セットを記憶するための過去画像セット記憶部33A,33Bが設けられている。過去画像セット管理部23は、車両前進(または後進)時には、現在の車両位置から後方(または前方)0〜1mの位置における過去画像セットを過去画像セット記憶部33Aに記憶する。また、過去画像セット管理部23は、現在の車両位置から後方(または前方)1〜2mの位置における過去画像セットを過去画像セット記憶部33Bに記憶する。過去画像セット管理部23は、過去画像セット記憶部33Bに記憶されたテクスチャ画像を構成するカメラ画像の撮影位置が後方(前方)2mに達した時点で、過去画像セット記憶部33Bに記憶された過去画像セットを廃棄する。同時に、過去画像セット管理部23は、過去画像セット記憶部33Aに記憶された過去画像セットを過去画像セット記憶部33Bに移行する。さらに、テクスチャ画像記憶部30に記憶されているテクスチャ画像、及び立体物マスク画像記憶部32に記憶されている立体物マスク画像を、過去画像セット記憶部33Aにコピーする。これにより、過去画像セット記憶部33Bには、常に現在位置より1〜2m離れた位置で撮影されたカメラ画像で構成されたテクスチャ画像及び対応する立体物マスク画像が記憶されていることになる。
また、過去画像セット管理部23は、車両1の現在位置と過去画像セットに含まれるテクスチャ画像を構成するカメラ画像の撮影位置との距離を、車両移動量計測部21で計測された移動量(T,T,θ)に基づいて管理する。ここでは、過去画像セット記憶部33Aに記憶された過去画像セットに対応付けられた時刻(T−ΔT)と現在時刻Tとの間(ΔT)の車両1の移動量を(TAX,TAY,θ)とする。同様に、過去画像セット記憶部33Bに記憶された過去画像セットに対応付けられた時刻(T−ΔT)と現在時刻Tとの間(ΔT)の車両1の移動量を(TBX,TBY,θ)とする。なお、過去画像セットに対応付けられた時刻とは、該当の過去画像セットに含まれるテクスチャ画像がテクスチャ画像記憶部30に記憶される際に対応付けられた撮影時刻である。
上記の例の場合、過去画像セット管理部23は、|TBY|の値を監視することにより、過去画像セット記憶部33A,33Bへ記憶する過去画像セットを管理する。なお、ここでは、車両1の後方(または前方)への移動距離に基づいて、過去画像セットの記憶を管理するため、|TBY|の値を監視する場合について説明したが、移動量(T,T,θ)を総合的に用いて判断してもよい。
投影面ポリゴンデータ生成部24は、カメラ11の各々により撮影された各カメラ画像で構成されたテクスチャ画像から、車両1の全周囲を表示した3次元の全周囲画像を合成するための現在時刻Tの投影面ポリゴンデータを生成する。
まず、現在時刻Tにおける車両1を内部に含むように、テクスチャ画像を投影するための立体投影面8を設定する。図7及び図8に、立体投影面8の形状の一例を示す。図7は、立体投影面8を車両1の左側側面から見た場合の形状を表し、図8は、立体投影面8を車両1の前方から見た場合の形状を表す。立体投影面8は、車両1の位置を中心として、車両1周辺で道路平面に近似でき、かつ車両1から離れるにつれ勾配を増すような形状を有する立体面とすることができる。
この立体投影面8の形状は、曲面を予め平面で近似し、3次元ポリゴンデータとして所定の記憶領域に記憶しておく。例えば、1ポリゴン当たり4頂点が定義され、4頂点を結んだ4角形ポリゴンにより立体投影面8を構成することができる。立体投影面8を構成する各ポリゴンにはポリゴンIDが付与され、各ポリゴンを構成する頂点には頂点IDが付与されている。ポリゴンIDは、ポリゴンを一意に識別する情報であり、頂点IDは、ポリゴンの各頂点を識別する情報である。なお、以下では、1ポリゴンが四角形である場合について説明するが、1ポリゴンの形状は四角形に限定されず、他の多角形であってもよい。
投影面ポリゴンデータ生成部24は、上記の3次元ポリゴンデータの各頂点の車両座標系におけるポリゴン頂点座標値(X,Y,Z)と、時刻Tのテクスチャ画像のテクスチャ座標値(S(T),T(T))とを対応付けた時刻Tの投影面ポリゴンデータを生成する。時刻Tの投影面ポリゴンデータの一例を図9に示す。ポリゴン頂点座標値(X,Y,Z)とテクスチャ座標値(S(T),T(T))との対応付けは、各カメラ11の設置位置及び設置角度に基づいて、仮想視点投影により算出する。
仮想視点投影では、図10に示すように、仮想視点位置Vpを基準に、立体投影面8上の点を仮想視点投影面7に投影する。仮想視点投影面7は、車両座標系のZ軸が0以上となる範囲において、十分に大きい距離の半径R及び車両座標系の原点に中心を持つ半球と、道路平面とを組み合わせた形状の投影面である。図10では、点PがCへ、点PがCへそれぞれ投影される。そして、仮想視点投影面7に投影された点C,Cからカメラ11への車両座標系における入射ベクトルI,Iを、各カメラ画像のローカル画像座標系における入射ベクトルに変換する。さらに、ローカル画像座標系をテクスチャ画像座標系に変換することで、ポリゴン頂点座標値(X,Y,Z)とテクスチャ座標値(S(T),T(T))との対応付けを行うことができる。投影面ポリゴンデータのより具体的な生成方法は、後述の補間用の投影面ポリゴンデータの生成において詳述する。なお、現在時刻Tの投影面ポリゴンデータの生成は、ΔT間の移動量に基づく座標変換を行わない点が、後述の補間用の投影面ポリゴンデータの生成とは異なる。
ここで、現在時刻Tにおける立体投影面8において、現在時刻Tに撮影されたカメラ画像中での立体物Oに対応する領域を図11中のSで示す。この領域Sを含む立体投影面8に基づいて全周囲画像を合成した場合には、図12に示すように、立体物の投影像が大きく引き延ばされたり歪んだりした画像となってしまう。また、レンジセンサ12による計測結果による3次元位置情報に基づいて、立体物を投影するための部分的な投影面を、立体投影面8とは異なる位置に生成することもできる。しかし、この場合、図13に示すように、立体投影面8上に投影された立体物の投影像と、部分的な投影面に投影された立体物の投影像とが混在した画像となってしまう。さらに、部分的な投影面に投影された立体物については、立体投影面8へ投影しないようにすることもできる。しかし、この場合、立体投影面8の領域Sに対応するカメラ画像の画素は、カメラから見て立体物の裏側に相当するため、画素値が欠損している。そのため、図14に示すように、立体物の影のような領域が全周囲画像上に発生してしまう。
そこで、投影面ポリゴンデータ生成部24は、上記の仮想視点投影を用いることで、補間用の投影面ポリゴンデータを生成する。補間用の投影面ポリゴンデータとは、現在位置とは異なる位置で過去の時刻(T−ΔT)に撮影されたカメラ画像で構成されたテクスチャ画像を、現在時刻Tにおける立体投影面8に投影するための投影面ポリゴンデータである。この補間用の投影面ポリゴンデータを用いることで、現在時刻Tのテクスチャ画像により合成される全周囲画像中の立体物による画素値の欠損部分を、過去の時刻(T−ΔT)のテクスチャ画像の画素値を用いて補間することができる。以下に、補間用の投影面ポリゴンデータの生成について具体的に説明する。
図11において、現在時刻Tにおける立体物Oに対応する立体投影面8上の領域Sに含まれる点P,Pに対応するカメラ画像中の画素は、仮想視点投影面7に投影された点C,Cを撮影した画素のはずである。しかし、現在時刻Tにおけるカメラ画像中では、領域Sに対応する画素は立体物Oの裏側に当たる画素であるため、立体物Oの裏側を示す画素値を有さない。言い換えると、領域Sに対応する画素の画素値は、立体物Oを示す画素値となる。
一方、時刻(T−ΔT)における車両1の位置及びカメラ位置は、以下に示すように、車両移動量計測部21による計測結果により算出可能である。まず、道路を平面に近似して、車両挙動のうちピッチ(X軸まわりの回転運動)及びロール(Y軸まわりの回転運動)を無視し、ΔT間の車両1の移動量(T,T,θ)を用いて、下記(1)式に示す4×4の座標変換マトリクスMΔTを定義する。
マトリクスMΔTは、現在時刻Tの車両座標系の座標値を時刻(T−ΔT)における車両座標系の座標値に変換するマトリクスである。従って、図15に示すように、時刻(T−ΔT)における車両位置及びカメラの設置位置は、マトリクスMΔTの逆行列MΔT −1を用いて現在時刻Tの車両座標系に変換することができる。すなわち、現在時刻Tの車両座標系で表された時刻(T−ΔT)のカメラ位置を求めることができる。そして、点C,Cに対応する時刻(T−ΔT)に撮影されたカメラ画像中の画素の画素値で、現在時刻Tにおける全周囲画像の欠損部分中の点P,P4を補間する。
点C,Cに対応する時刻(T−ΔT)に撮影されたカメラ画像中の画素を求めるには、点C,Cからカメラ11への入射光ベクトルI,Iを用いる。上述のように、マトリクスMΔTの逆行列MΔT −1を用いることで、現在時刻Tの車両座標系で表された時刻(T−ΔT)のカメラ11の位置は既知となる。このため、図16に示すように、点C,Cから時刻(T−ΔT)の位置でのカメラ11への入射光ベクトルI,Iを算出することができる(図16中では点Cからカメラ11への入射光ベクトルIのみを図示)。なお、図16中のX,Y,Zは、点Cを撮影したカメラ11のカメラ座標系の各軸を表している。
この入射光ベクトルI,Iは、現在時刻Tにおける車両座標系によって定義されたものであるから、下記(2)式により、時刻(T−ΔT)の車両座標系で表された入射光ベクトルI ,I に変換する。
=MΔT (2)
車両座標系とカメラ座標系との間のベクトルの変換は4×4のマトリクスMで行うことができる。マトリクスMは、車両1に対するカメラ11の設置位置及び設置角度により決定することができ、事前の計測により求めておく。マトリクスMを用いると、カメラ座標系での入射光ベクトルI3C,I4Cは、下記(3)式により求めることができる。
nC=M =MΔT (3)
さらに、図17に示すように、入射光ベクトルI3C,I4Cに対応する時刻(T−ΔT)のテクスチャ画像を構成するカメラ画像の画素Q3(T−ΔT),Q4(T−ΔT)は、下記(4)式により求められる。
n(T−ΔT)=T(InC) (4)
ここで、Tはカメラ11毎に定められた入射光ベクトルとカメラ画像の各画素の位置との関係を表す関数やテーブルであり、カメラ11のレンズディストーションなどのパラメータにより事前に算出可能なものである。また、上記(2)式〜(4)式におけるnは、任意の正数であり、ここではn=3,4である。また、図17中のX,Yは、点C,Cを撮影したカメラ11のローカル画像座標系の各軸であり、(Q4X(T−ΔT),Q4Y(T−ΔT))は、ローカル画像座標系における時刻(T−ΔT)のカメラ画像の画素Q4(T−ΔT)の座標値である。このようにして求めたローカル画像座標系における座標値(QnX(T−ΔT),QnY(T−ΔT))を、ローカル画像座標系における座標値とテクスチャ画像座標値との対応関係により、テクスチャ座標値(sn(T−ΔT),tn(T−ΔT))に変換する。これにより、補間用の投影面ポリゴンデータを生成することができる。
投影面ポリゴンデータ生成部24は、生成した現在時刻Tの投影面ポリゴンデータ及び補間用の投影面ポリゴンデータを画像合成部26へ出力する。
視点位置決定部25は、図18に示すように、画像合成部26で全周囲画像を合成する際の視点位置を決定する。視点位置決定部25は、舵角センサ15、ブレーキセンサ16、及びウインカセンサ17で検出された各センサ値に基づいて、車両1の状態(前進、後退等)を特定し、予め登録された複数の視点位置から、車両1の状態に応じた視点位置を選択して決定する。視点位置決定部25は、決定した視点位置の情報を画像合成部26へ出力する。
画像合成部26は、テクスチャ画像記憶部30及び立体物マスク画像記憶部32を参照し、視点位置決定部25により決定された視点位置から、現在時刻Tのテクスチャ画像が投影された立体投影面8を見た場合の全周囲画像を合成する。合成した全周囲画像は、合成画像記憶部34に記憶する。次に、画像合成部26は、過去画像セット記憶部33Bに記憶されている過去画像セットを参照し、上述の視点位置から、過去の時刻(T−ΔT)のテクスチャ画像が投影された現在時刻Tの立体投影面8を見た場合の全周囲画像を合成する。この際、画像合成部26は、合成画像記憶部34に記憶されている合成画像上の立体物を示す画素に対して、時刻(T−ΔT)のテクスチャ画像の画素値を重畳描画する。なお、ここでの「描画」とは、合成画像上の各画素に画素値を書き込むことである。その後、3次元位置記憶部31に記憶された3次元位置情報に基づく立体物形状、及び予め登録しておいた車両形状を、合成画像記憶部34に記憶された合成画像上に重畳描画する。
画像合成部26の処理をより具体的に説明する。
立体投影面8に投影されたテクスチャ画像からの全周囲画像の合成は、任意の視点位置の下、立体投影面8を示す投影面ポリゴンデータを合成画像上に写像することにより実現することができる。この処理は、一般的な3次元コンピュータグラフィクス技術により容易に実装することができる。図19にp(i=1,2,3,4)の4頂点により表される4角形ポリゴンの合成画像上への写像を示す。各頂点pは、投影面ポリゴンデータ生成部24により生成された投影面ポリゴンデータに基づいて、車両座標系のポリゴン頂点座標値(3次元座標)及びテクスチャ画像のテクスチャ座標値(2次元座標)の5次元で定義されている。各頂点pは、視点位置決定部25により決定された視点位置の下、3次元コンピュータグラフィクスの基本的な幾何変換である視野変換、モデリング変換、透視変換、及びビューポート変換を経て、合成画像の画素q(i=1,2,3,4)に写像される。なお、図19中のV,Uは、合成画像の2次元座標系の各軸である。qは合成画像の座標系の2次元座標値及び対応するテクスチャ座標値(2次元座標)の4次元ベクトル量である。q,q,q,qの4頂点で囲まれた4角形の内部の1画素をq=(u,v,s,t)とすると、(u,v)は既知であるから、UV空間における線形補間により、4頂点qから(s,t)を算出することができる。
合成画像上の画素qの画素値は、テクスチャ画像及び立体物マスク画像に基づいて決定する。具体的には、まず、テクスチャ画像のテクスチャ座標値(s,t)の画素が立体物を示す画素か否かを、現在時刻Tの立体物マスク画像を用いて判定する。立体物を示す画素の場合は描画をスキップする。立体物を示す画素ではない場合には、合成画像上の画素qの画素値に、テクスチャ画像のテクスチャ座標値(s,t)の画素の画素値Pを書き込むことで、図20の上段に示すように、立体物像を投影しない全周囲画像を合成する。この段階で、描画をスキップした合成画像の画素は、画素値を有さない背景色の画素、すなわち画素値の欠損部分となる。
次に、過去の時刻(T−ΔT)のテクスチャ画像を立体投影面8に投影し、合成画像上に重畳描画する。この描画も現在時刻Tのテクスチャ画像の合成と同様に、投影面ポリゴンデータを合成画像上に写像することにより行うが、以下の点で現在時刻Tの場合と異なる。
(1)過去画像セット記憶部33Bに記憶された時刻(T−ΔT)のテクスチャ画像を用いる。
(2)補間用の投影面ポリゴンデータを用いる。
(3)合成画像上に現在時刻Tのテクスチャ画像の画素値が既に書き込まれている場合(背景色以外の場合)には重畳描画しない。
時刻(T−ΔT)のテクスチャ画像を補間用の投影面ポリゴンデータに基づいて描画した合成画像の一例を図20の中段に示す。なお、時刻(T−ΔT)の合成画像は、立体物による画素値の欠損部分にのみ適用するため、実際には描画されない。このように、過去の時刻(T−ΔT)のテクスチャ画像の画素値を、現在時刻Tの合成画像における画素値の欠損部分に重畳することで、図20の下段に示すように、欠損部分が補間された全周囲画像を合成することができる。
画像処理装置10は、例えば図21に示すコンピュータ40で実現することができる。コンピュータ40はCPU41、メモリ42、不揮発性の記憶部43、入出力インタフェース(IF)44、及び表示デバイスIF45を備えている。CPU41、メモリ42、記憶部43、入出力IF44、及び表示デバイスIF45は、バス46を介して互いに接続されている。
コンピュータ40は、入出力IF40を介して、カメラ11、レンジセンサ12、車速センサ13、ジャイロセンサ14、舵角センサ15、ブレーキセンサ16、及びウインカセンサ17と接続されている。また、コンピュータ40は、表示デバイスIF45を介して、画像表示部18と接続されている。
また、記憶部43はHDD(Hard Disk Drive)やフラッシュメモリ等によって実現できる。記録媒体としての記憶部43は、コンピュータ40を画像処理装置10として機能させるための画像処理プログラム50を記憶する。また、記憶部43には、テクスチャ画像記憶領域60、3次元位置記憶領域61、立体物マスク画像記憶領域62、過去画像セット記憶領域63A,63B、及び合成画像記憶領域64が設けられている。CPU41は、画像処理プログラム50を記憶部43から読み出してメモリ42に展開し、画像処理プログラム50が有するプロセスを順次実行する。
画像処理プログラム50は、取得プロセス51、車両移動量計測プロセス52、立体物マスク画像作成プロセス53、過去画像セット管理プロセス54、投影面ポリゴンデータ生成プロセス55、視点位置決定プロセス56、及び画像合成プロセス57を有する。CPU41は、取得プロセス51を実行することで、図1に示す取得部20として動作する。また、CPU41は、車両移動量計測プロセス52を実行することで、図1に示す車両移動量計測部21として動作する。また、CPU41は、立体物マスク画像作成プロセス53を実行することで、図1に示す立体物マスク画像作成部22として動作する。また、CPU41は、過去画像セット管理プロセス54を実行することで、図1に示す過去画像セット管理部23として動作する。また、CPU41は、投影面ポリゴンデータ生成プロセス55を実行することで、図1に示す投影面ポリゴンデータ生成部24として動作する。また、CPU41は、視点位置決定プロセス56を実行することで、図1に示す視点位置決定部25として動作する。また、CPU41は、画像合成プロセス57を実行することで、図1に示す画像合成部26として動作する。
画像処理装置10がコンピュータ40で実現される場合、テクスチャ画像記憶領域60は図1に示すテクスチャ画像記憶部30として機能する。また、3次元位置記憶領域61は図1に示す3次元位置記憶部31として機能する。また、立体物マスク画像記憶領域62は図1に示す立体物マスク画像記憶部32として機能する。また、過去画像セット記憶領域63A,63Bは図1に示す過去画像セット記憶領域33A,33Bとして機能する。また、合成画像記憶領域64は図1に示す合成画像記憶部34として機能する。これにより、画像処理プログラム50を実行したコンピュータ40が、画像処理装置10として機能することになる。
なお、画像処理装置10は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
次に、第1実施形態の作用を説明する。画像処理装置10が起動されると、画像処理装置10において、図22に示す画像管理処理が開始される。また、画像処理装置10において、画像管理処理と並行して、図23に示す全周囲画像表示処理が実行される。以下、各処理について詳述する。
まず、画像管理処理(図22)について説明する。ステップ150で、過去画像セット管理部23が、過去画像セット記憶部33A,33Bに記憶される過去画像セットに対応付ける車両1の移動量を初期化する。例えば、過去画像セット記憶部33Aに対応付ける移動量を(TAX,TAY,θ)=(0,1m,0)、過去画像セット記憶部33Bに対応付ける移動量を(TBX,TBY,θ)=(0,2m,0)とすることができる。
次に、ステップ152で、過去画像セット管理部23が、過去画像セット記憶部33A,33Bに記憶されているデータをクリアする。
次に、ステップ154で、取得部20が、カメラ11の各々で撮影された各カメラ画像を取得し、取得した各カメラ画像でテクスチャ画像を構成して、カメラ画像の撮影時刻と対応付けてテクスチャ画像記憶部30に記憶する。
次に、ステップ156で、取得部20が、レンジセンサ12の各々で計測された距離データ及びレーザパルスの発射角度を取得し、各計測点の3次元位置を算出する。算出した3次元位置を示す3次元位置情報と距離データの計測時刻とを対応付けて3次元位置記憶部31に記憶する。
次に、ステップ158で、立体物マスク画像作成部22が、3次元位置記憶部31に記憶された3次元位置情報に基づいて、テクスチャ画像中で立体物を示す画素を特定するための立体物マスク画像を作成する。立体物マスク画像の各マスク値Rは、画素位置が対応するテクスチャ画像の画素が立体物を示す画素の場合には1、立体物を示す画素ではない場合には0とする。立体物マスク画像作成部22は、作成した立体物マスク画像を立体物マスク画像記憶部32に記憶する。
次に、ステップ160で、取得部20が、車速センサ13及びジャイロセンサ14から出力されたセンサ値を取得して、車両移動量計測部21へ出力する。そして、車両移動量計測部21が、過去画像セット記憶部33Aに記憶された過去画像セットに対応付けられた時刻(T−ΔT)と現在時刻Tとの間(ΔT)の車両1の移動量(TAX,TAY,θ)を計測する。同様に、過去画像セット記憶部33Bに記憶された過去画像セットに対応付けられた時刻(T−ΔT)と現在時刻Tとの間(ΔT)の車両1の移動量(TBX,TBY,θ)を計測する。過去画像セット記憶部33A,33Bに過去画像セットが記憶されていない場合には、上記ステップ150で初期化した移動量を用いる。
次に、ステップ162で、上記ステップ160で計測された移動量のうち、|TBY|が2m以上となったか否かを判定する。|TBY|≧2mの場合には、ステップ164へ移行し、|TBY|<2mの場合には、ステップ154へ戻る。なお、「2m」は、過去画像セットの保存及び廃棄を管理するためのΔT間の車両1の移動量の一例であり、他の値としてもよい。
ステップ164では、過去画像セット管理部23が、過去画像セット記憶部33Bに記憶された過去画像セットを廃棄する。同時に、過去画像セット管理部23が、過去画像セット記憶部33Aに記憶された過去画像セットを過去画像セット記憶部33Bに移行する。次に、ステップ166で、過去画像セット管理部23が、テクスチャ画像記憶部30に記憶されているテクスチャ画像、及び立体物マスク画像記憶部32に記憶されている立体物マスク画像を、過去画像セット記憶部33Aにコピーする。
次に、ステップ168で、車両移動量計測部21が、過去画像セット記憶部33A,33Bに記憶された過去画像セットに対応付けられた撮影時刻と現在時刻との間の移動量を計測する。そして、過去画像セット管理部23が、計測した移動量を過去画像セット記憶部33A,33Bに記憶された過去画像セットの各々に対応付けて記憶し、ステップ154へ戻る。
次に、全周囲画像表示処理(図23)について説明する。ステップ100で、取得部20が、舵角センサ15、ブレーキセンサ16、及びウインカセンサ17で検出された各センサ値を取得し、視点位置決定部25に出力する。
次に、ステップ102で、視点位置決定部25が、上記ステップ100で取得された各センサ値に基づいて、車両1の状態(前進、後退等)を特定する。そして、視点位置決定部25が、特定された車両1の状態に基づいて、予め定めた全周囲画像を表示するタイミングか否かを判定する。全周囲画像を表示するタイミングの場合には、ステップ104へ移行し、全周囲画像を表示するタイミングではない場合には、ステップ100へ戻る。
次に、ステップ104で、視点位置決定部25が、上記ステップ102で特定した車両1の状態に基づいて、予め登録された複数の視点位置から、車両1の状態に応じた視点位置を選択して決定する。
次に、ステップ106で、投影面ポリゴンデータ生成部24が、現在時刻Tの車両1を内部に含む立体投影面8を示す3次元ポリゴンデータを所定の記憶領域から読み込む。そして、投影面ポリゴンデータ生成部24が、3次元ポリゴンデータの各ポリゴンのポリゴン頂点座標値(X,Y,Z)と、テクスチャ画像記憶部30に記憶された時刻Tのテクスチャ画像のテクスチャ座標値(S(T),T(T))とを対応付ける。これにより、現在時刻Tの投影面ポリゴンデータが生成される。
次に、ステップ108で、現在時刻Tの画像合成処理を実行する。ここで、図24を参照して、現在時刻Tの画像合成処理について説明する。
現在時刻Tの画像合成処理(図24)のステップ1080で、画像合成部26が、上記ステップ106で生成された現在時刻Tの投影面ポリゴンデータの各頂点pを、上記ステップ104で決定された視点位置の下、合成画像上の画素qに写像する。
次に、ステップ1082で、画像合成部26が、合成画像上の画素q,q,q,qの4頂点で囲まれた4角形の内部の1画素q=(u,v,sF(T),tF(T))を算出する。
次に、ステップ1084で、画像合成部26が、立体物マスク画像記憶部32に記憶された現在時刻Tの立体物マスク画像を参照して、q=(u,v,sF(T),tF(T))が示す画素(sF(T),tF(T))のマスク値RF(T)を取得する。
次に、ステップ1086で、画像合成部26が、上記ステップ1084で取得したマスク値RF(T)が0か否かを判定することにより、テクスチャ画像の画素(sF(T),tF(T))が立体物による画素値の欠損部分か否かを判定する。RF(T)=0の場合には、欠損部分ではないと判定して、ステップ1088へ移行する。
ステップ1088では、画像合成部26が、テクスチャ画像記憶部30に記憶されている現在時刻Tのテクスチャ画像の画素(sF(T),tF(T))の画素値PF(T)を取得する。そして、ステップ1090で、画像合成部26が、合成画像上の画素qの画素値に、上記ステップ1088で取得した画素値PF(T)を書き込む。
一方、上記ステップ1086で、RF(T)=1の場合には、テクスチャ画像の画素(sF(T),tF(T))が立体物による画素値の欠損部分であると判定して、ステップ1088及び1090をスキップする。この場合、合成画像上の該当画素は、画素値を有さない背景色の画素となる。
上記ステップ1084〜1090の処理を合成画像上の全画素に対して行った合成画像が合成画像記憶部34に記憶される。
全周囲画像表示処理(図23)に戻って、次に、ステップ110で、投影面ポリゴンデータ生成部24が、過去画像セット記憶部33Bに記憶された過去画像セットに対応付けられた車両1のΔT間の移動量を取得する。投影面ポリゴンデータ生成部24が、取得したΔT間の移動量を用いて、(1)式に示す4×4の座標変換マトリクスMΔTを定義する。そして、投影面ポリゴンデータ生成部24が、現在時刻Tの車両座標系で表された時刻(T−ΔT)のカメラ11の位置を、マトリクスMΔTの逆行列MΔT −1を用いて算出する。
次に、ステップ112で、投影面ポリゴンデータ生成部24が、上記ステップ106で読み込んだ3次元ポリゴンデータの各ポリゴンの各頂点の仮想視点投影面7上への各投影点Cからカメラ11への入射光ベクトルIを算出する。ここでのカメラ11の位置は、上記ステップ110で算出したカメラ11の位置となる。また、投影面ポリゴンデータ生成部24が、(2)式及び(3)式により、入射光ベクトルIからカメラ座標系での入射光ベクトルInCを算出する。さらに、投影面ポリゴンデータ生成部24が、(4)式により、入射光ベクトルInCに対応するカメラ画像のローカル画像座標系における位置Qを算出する。そして、投影面ポリゴンデータ生成部24が、ローカル画像座標系とテクスチャ画像の画像座標系との対応関係に基づいて、ローカル画像座標値である位置Qをテクスチャ座標値に変換する。このようにして、3次元ポリゴンデータの各ポリゴンのポリゴン頂点座標値(X,Y,Z)と、過去画像セット記憶部33Bに記憶されたテクスチャ画像のテクスチャ座標値(S(T−ΔT),T(T−ΔT))とを対応付ける。これにより、補間用の投影面ポリゴンデータが生成される。
次に、ステップ114で、時刻(T−ΔT)の画像合成処理を実行する。ここで、図25を参照して、時刻(T−ΔT)の画像合成処理について説明する。
時刻(T−ΔT)の画像合成処理(図25)のステップ1140で、画像合成部26が、合成画像記憶部34に記憶されている合成画像上の画素qの画素値が背景色か否かを判定する。画素qの画素値が背景色の場合には、ステップ1142へ移行する。ステップ1142では、画像合成部26が、合成画像上の画素q=(u,v,sF(T),tF(T))の(u,v)に対応する(sF(T−ΔT),tF(T−ΔT))を、上記ステップ112で生成された補間用の投影面ポリゴンデータから取得する。そして、画像合成部26が、過去画像セット記憶部33Bに記憶された時刻(T−ΔT)の立体物マスク画像を参照して、画素(sF(T−ΔT),tF(T−ΔT))のマスク値RF(T−ΔT)を取得する。
次に、ステップ1144で、画像合成部26が、上記ステップ1142で取得したマスク値RF(T−ΔT)が0か否かを判定する。これにより、時刻(T−ΔT)のテクスチャ画像の画素(sF(T−ΔT),tF(T−ΔT))が立体物による画素値の欠損部分か否かを判定する。RF(T−ΔT)=0の場合には、欠損部分ではないと判定して、ステップ1146へ移行する。
ステップ1146では、画像合成部26が、過去画像セット記憶部33Bに記憶されている時刻(T−ΔT)のテクスチャ画像の画素(sF(T−ΔT),tF(T−ΔT))の画素値PF(T−ΔT)を取得する。そして、ステップ1148で、画像合成部26が、合成画像上の画素qの画素値に、上記ステップ1146で取得した画素値PF(T−ΔT)を書き込む。
一方、RF(T−ΔT)=1の場合には、上記ステップ1144で、テクスチャ画像の画素(sF(T−ΔT),tF(T−ΔT))が立体物による欠損部分であると判定して、ステップ1146及び1148をスキップする。この場合、合成画像上の該当画素は、画素値を有さない背景色の画素となる。
また、上記ステップ1140で、画素qの画素値が背景色ではないと判定された場合には、画素qには既に現在時刻Tのテクスチャ画像から画素値が書き込まれているため、ステップ1142〜1148をスキップする。
上記ステップ1140〜1148の処理を合成画像上の全画素に対して行った合成画像が合成画像記憶部34に記憶される。
全周囲画像表示処理(図23)に戻る。ステップ116で、画像合成部26が、図26に示すように、3次元位置記憶部31に記憶された3次元位置情報に基づく立体物形状、及び予め登録しておいた車両形状を、合成画像記憶部34に記憶された合成画像上に重畳描画する。
次に、ステップ120で、画像合成部26が、合成画像記憶部34に記憶された合成画像である全周囲画像を画像表示部18に表示して、ステップ100に戻る。
以上説明したように、第1実施形態の画像処理装置10によれば、立体物の裏側に相当することにより、合成画像上で画素値を有さない欠損部分となる画素に対して、現在位置とは異なる位置で過去に撮影された画像から画素値を補間する。補間に用いられる過去の画像の画素を仮想視点投影により求めることにより、現在のカメラ位置と過去のカメラ位置との変化によるカメラ間の視差が軽減される。これにより、カメラ位置の違いによる白線や背景のズレが発生し難く、立体物による画素値の欠損部分が解消された自然な合成画像を生成することができる。また、立体物による画素値の欠損部分を効果的に補間することができるため、カメラが搭載された車両の移動などによるカメラ位置の変化に伴う欠損部分の画面上での大きな変動も抑制することができる。そのため、例えばドライバの視線が不用意に欠損部分に引き寄せられることを防止し、ドライバの安全運転に貢献する。
なお、第1実施形態では、補間用の投影面ポリゴンデータを生成する際に、3次元ポリゴンデータの全てのポリゴン頂点座標に対するテクスチャ座標値を求める場合について説明したが、補間用の投影面ポリゴンデータは部分的に生成してもよい。例えば、現在時刻Tのテクスチャ画像において、立体物による画素値の欠損部分であると判定された画素に対応するポリゴン頂点座標についてのみ、時刻(T−ΔT)のテクスチャ座標値と対応付けるようにするとよい。これにより、補間用の投影面ポリゴンデータを生成する処理量を大幅に削減することができる。
〔第2実施形態〕
次に開示の技術の第2実施形態について説明する。図27には、第2実施形態に係る画像処理装置210が示されている。なお、第2実施形態の画像処理装置210について、第1実施形態の画像処理装置10と同一の部分には、同一の符号を付して詳細な説明を省略する。
画像処理装置210は、取得部20、車両移動量計測部21、立体物マスク画像作成部22、過去画像セット管理部23、投影面ポリゴンデータ生成部224、視点位置決定部25、画像合成部226、及びテクスチャ画像補間部27を有する。さらに、画像処理装置210は、テクスチャ画像記憶部30、3次元位置記憶部31、立体物マスク画像記憶部32、過去画像セット記憶部33A,33B、及び合成画像記憶部34を有する。なお、投影面ポリゴンデータ生成部224は開示の技術の対応関係生成部の一例である。また、画像合成部226は開示の技術の合成部の一例である。また、テクスチャ画像補間部27は開示の技術の補間部の一例である。
テクスチャ画像補間部27は、テクスチャ画像記憶部30に記憶された現在時刻Tのテクスチャ画像における立体物による画素値の欠陥部分を、過去画像セット記憶部33Bに記憶された時刻(T−ΔT)のテクスチャ画像を用いて補間する。
具体的には、テクスチャ画像補間部27は、立体物マスク画像記憶部32に記憶された立体物マスク画像を参照して、現在時刻Tのテクスチャ画像中の画素値の欠損部分に該当する画素を判別し、その画素をローカル画像座系の画素QF(T)に変換する。また、テクスチャ画像補間部27は、画素QF(T)に対応する仮想視点投影面7上の点Cからカメラ11へのカメラ座標系での入射光ベクトルIFCを算出する。入射光ベクトルIFCは、カメラ11毎に定められた入射光ベクトルとカメラ画像上の位置との関係を表す関数やテーブルTを用いて、(4)式を逆算することにより算出することができる。さらに、テクスチャ画像補間部27は、車両座標系の入射光ベクトルIを算出する。入射光ベクトルIは、車両座標系とカメラ座標系とを変換するためのマトリクスMを用いて、(3)式を逆算することにより算出することができる。そして、テクスチャ画像補間部27は、車両座標系の入射光ベクトルIにより、仮想視点投影面7上の点Cを特定する。
一方、テクスチャ画像補間部27は、ΔT間の車両1の移動量(T,T,θ)を用いて(1)式で表されるマトリクスMΔTの逆行列MΔT −1を用いて、過去の時刻(T−ΔT)における車両1の位置を、現在時刻Tの車両座標系に変換する。これにより、現在時刻Tの車両座標系で表された時刻(T−ΔT)のカメラ位置を求める。以降は、第1実施形態と同様に、図16及び図17に示すように、(2)式〜(3)式に従って、点Cに対応する時刻(T−ΔT)のテクスチャ画像における画素QF(T−ΔT)を求めることができる。
また、テクスチャ画像補間部27は、時刻(T−ΔT)のテクスチャ画像における画素QF(T−ΔT)の画素値PF(T−ΔT)を取得し、現在時刻Tのテクスチャ画像の画素QF(T)の画素値として書き込む。これにより、図28に示すように、現在時刻Tのテクスチャ画像上で、欠損部分を補間することができる。
投影面ポリゴンデータ生成部224は、第1実施形態の投影面ポリゴンデータ生成部24と同様に、現在時刻Tの投影面ポリゴンデータを生成する。しかし、第1実施形態と異なり、立体物による画素値の欠損部分の補間は、テクスチャ画像上で行われているため、補間用の投影面ポリゴンデータを生成する必要はない。
画像合成部226は、投影面ポリゴンデータ生成部224で生成された現在時刻Tの投影面ポリゴンデータに基づいて、テクスチャ画像補間部27により欠損部分が補間された現在時刻Tのテクスチャ画像を合成画像上に写像する。これにより、全周囲画像を合成する。
画像処理装置210は、第1実施形態と同様に、例えば図21に示すコンピュータ240で実現することができる。記録媒体としての記憶部43は、コンピュータ240を画像処理装置210として機能させるための画像処理プログラム250を記憶する。CPU41は、画像処理プログラム250を記憶部43から読み出してメモリ42に展開し、画像処理プログラム250が有するプロセスを順次実行する。
画像処理プログラム250は、取得プロセス51、車両移動量計測プロセス52、過去画像セット管理プロセス53、立体物マスク画像作成プロセス54、投影面ポリゴンデータ生成プロセス255、及び視点位置決定プロセス56を有する。また、画像処理プログラム250は、画像合成プロセス257、及びテクスチャ画像補間プロセス58を有する。CPU41は、テクスチャ画像補間プロセス58を実行することで、図27に示すテクスチャ画像補間部27として動作する。また、CPU41は、投影面ポリゴンデータ生成プロセス255を実行することで、図27に示す投影面ポリゴンデータ生成部224として動作する。また、CPU41は、画像合成生成プロセス257を実行することで、図27に示す画像合成部226として動作する。その他のプロセス及び記憶領域については第1実施形態の画像処理プログラム50と同様である。これにより、画像処理プログラム250を実行したコンピュータ240が、画像処理装置210として機能することになる。
なお、画像処理装置210は、例えば半導体集積回路、より詳しくはASIC等で実現することも可能である。
次に、第2実施形態の作用を説明する。画像処理装置210が起動されると、画像処理装置210において、図22に示す画像管理処理が開始される。また、画像処理装置210において、画像管理処理と並行して、図29に示す全周囲画像表示処理が実行される。画像管理処理については第1実施形態と同様であるため、以下では、全周囲画像表示処理について説明する。なお、第2実施形態の全周囲画像表示処理において、第1実施形態の全周囲画像表示処理と同一の処理については、同一符号を付して詳細な説明を省略する。
全周囲画像表示処理(図29)のステップ100で、取得部20が、舵角センサ15、ブレーキセンサ16、及びウインカセンサ17で検出された各センサ値を取得し、視点位置決定部25に出力する。
次に、ステップ102で、視点位置決定部25が、上記ステップ100で取得された各センサ値に基づいて、全周囲画像を表示するタイミングか否かを判定する。全周囲画像を表示するタイミングの場合には、ステップ200へ移行し、全周囲画像を表示するタイミングではない場合には、ステップ100へ戻る。
ステップ200では、テクスチャ画像補間部27が、過去画像セット記憶部33Bに記憶された過去画像セットに対応付けられた車両1のΔT間の移動量を取得する。そして、テクスチャ画像補間部27が、取得したΔT間の移動量を用いて、(1)式に示す4×4の座標変換マトリクスMΔTを定義する。さらに、テクスチャ画像補間部27が、現在時刻Tの車両座標系で表された時刻(T−ΔT)のカメラ11の位置を、マトリクスMΔTの逆行列MΔT −1を用いて算出する。
次に、ステップ202で、テクスチャ画像補間部27が、立体物マスク画像記憶部32に記憶された立体物マスク画像を参照して、現在時刻Tのテクスチャ画像中の欠損部分に該当するローカル画像座系の画素QF(T)を求める。また、テクスチャ画像補間部27が、画素QF(T)に対応する車両座標系の入射光ベクトルIを算出し、仮想視点投影面7上の点Cを特定する。次に、テクスチャ画像補間部27が、上記ステップ200で求めた現在時刻Tの車両座標系で表された時刻(T−ΔT)のカメラ11の位置により、点Cに対応する時刻(T−ΔT)のテクスチャ画像における画素QF(T−ΔT)を求める。そして、テクスチャ画像補間部27が、時刻(T−ΔT)のテクスチャ画像における画素QF(T−ΔT)の画素値PF(T−ΔT)を、現在時刻Tのテクスチャ画像の画素QF(T)の画素値として書き込む。これにより、現在時刻Tのテクスチャ画像上で、欠損部分が補間される。
次に、ステップ104で、視点位置決定部25が視点位置を決定し、次のステップ106で、投影面ポリゴンデータ生成部24が、現在時刻Tの投影面ポリゴンデータを生成する。
次に、ステップ204で、画像合成部226が、上記ステップ106で生成された現在時刻Tの投影面ポリゴンデータに基づいて、上記ステップ202で補間された現在時刻Tのテクスチャ画像を合成画像上に写像することにより、全周囲画像を合成する。
次に、ステップ116で、画像合成部226が、3次元位置情報に基づく立体物形状及び車両形状を合成画像上に重畳描画し、次のステップ120で、画像合成部226が全周囲画像を画像表示部18に表示して、ステップ100に戻る。
以上説明したように、第2実施形態の画像処理装置210によれば、過去の時刻(T−ΔT)のテクスチャ画像を用いて、現在時刻Tのテクスチャ画像における立体物による画素値の欠損部分を補間する。これにより、現在時刻Tの投影面ポリゴンデータとは別に、過去の時刻(T−ΔT)の投影面ポリゴンデータを生成することなく、第1実施形態と同様に、立体物による画素値の欠損部分が解消された自然な合成画像を生成することができる。
なお、上記各実施形態では、車両の前後左右に設置した4台のカメラ及び4台のレンジセンサを用いて、車両周辺360度の全周囲画像を合成する場合について説明したが、この場合に限定されない。カメラ及びレンジセンサの数は3台以下でも5台以上でもよく、例えば、1台のカメラと1台または複数台のレンジセンサとを用いるようにしてもよい。また、合成される画像も全周囲画像に限定されず、特定の範囲を対象とした画像を合成するようにしてもよい。
また、上記各実施形態では、車両周辺の立体物上の各点の3次元位置の取得に測距センサであるレンジセンサを用いる場合について説明したが、ステレオカメラ等を用いてもよい。
また、上記各実施形態では、欠損部分の補間に用いる過去の時刻のテクスチャ画像として、時刻(T−ΔT)の1時刻分のテクスチャ画像のみを用いる場合について説明したが、複数時刻分の過去の時刻のテクスチャ画像を用いてもよい。この場合、第1実施形態では、複数の過去の時刻分に対応した複数の補間用の投影面ポリゴンデータを生成し、各補間用の投影面ポリゴンデータに基づいて、対応する過去の時刻のテクスチャ画像の画素値を欠損部分の画素に書き込むようにするとよい。また、第2実施形態では、テクスチャ画像補間部によるテクスチャ画像の補間を、複数の過去の時刻分繰り返し行うようにするとよい。これにより、欠損部分が補間される割合がより高まり、より自然な合成画像を生成することができる。
また、上記各実施形態では、過去の時刻のテクスチャ画像を用いて現在時刻の合成画像またはテクスチャ画像の欠損部分を補間する場合について説明した。開示の技術は、現在時刻のテクスチャ画像を用いて過去の時刻の合成画像またはテクスチャ画像の欠損部分を補間する場合にも適用することができる。これにより、合成画像の記録を目的とするような場合において、既に記録されている過去の時刻の合成画像の欠損部分を遡って補間することができる。
また、上記各実施形態では、開示の技術の画像処理装置が車両に搭載されている場合について説明したが、車両以外の移動体(例えば、ロボット等)に搭載してもよい。また、開示の技術の画像処理装置を移動体とは異なる場所に設置し、移動体に搭載されたカメラ、レンジセンサ、その他各種センサで検出されたデータを通信により取得するようにしてもよい。
また、上記では開示の技術における画像処理プログラムの一例である画像処理プログラム50、250が記憶部43に予め記憶(インストール)されている態様を説明した。しかし、開示の技術における画像処理プログラムは、CD−ROMやDVD−ROM等の記録媒体に記録されている形態で提供することも可能である。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された3次元位置を示す3次元位置情報を取得する取得部と、第1時刻と第2時刻との間に移動した前記移動体の移動量を計測する移動量計測部と、前記取得部により取得された前記3次元位置情報に基づいて、前記第1時刻に撮影された第1画像中で立体物を示す画素を特定する特定部と、前記第1時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第1画像の各画素の位置との対応を示す第1対応関係を仮想視点投影により生成すると共に、前記移動量計測部により計測された移動量に基づいて、前記第2時刻における前記移動体の位置を前記第1時刻における前記移動体座標系によって表し、前記立体投影面上の各点と前記第2時刻に撮影された第2画像の各画素の位置との対応を示す第2対応関係を仮想視点投影により生成する対応関係生成部と、所定の視点位置から見た前記立体投影面の各点に対応する合成画像上の各画素の画素値を、前記第1対応関係に基づいて前記第1画像の対応する画素の画素値とすると共に、前記第1画像において前記特定部により立体物を示す画素として特定された画素に対応する前記合成画像の各画素の画素値を、前記第2対応関係に基づいて前記第2画像の対応する画素の画素値とすることにより、前記合成画像を合成する合成部と、を含む画像処理装置。
(付記2)
移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された3次元位置を示す3次元位置情報を取得する取得部と、第1時刻と第2時刻との間に移動した前記移動体の移動量を計測する移動量計測部と、前記取得部により取得された前記3次元位置情報に基づいて、前記第1時刻に撮影された第1画像中で立体物を示す画素を特定する特定部と、前記移動量計測部により計測された移動量に基づいて、前記第2時刻における前記移動体の位置を前記第1時刻における前記移動体座標系によって表し、前記特定部により立体物を示す画素として特定された前記第1画像の画素の画素値を、対応する前記第2時刻に撮影された第2画像の画素の画素値で補間する補間部と、前記第1時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第1画像の各画素の位置との対応を示す第1対応関係を仮想視点投影により生成する対応関係生成部と、所定の視点位置から見た前記立体投影面の各点に対応する合成画像の各画素の画素値を、前記第1対応関係に基づいて前記補間部による補間後の第1画像の対応する画素の画素値とすることにより、前記合成画像を合成する合成部と、を含む画像処理装置。
(付記3)
前記移動量計測部により計測された前記第1時刻と前記第2時刻との間に移動した前記移動体の移動量に基づいて、前記第1時刻における前記移動体の位置と前記第2時刻における前記移動体の位置との差が、予め定めた所定範囲内となるように前記第2画像を管理する管理部を含む付記1または付記2記載の画像処理装置。
(付記4)
前記特定部は、前記第1画像中で立体物を示す画素を特定する立体物マスク画像を作成する付記1〜付記3のいずれか1つに記載の画像処理装置。
(付記5)
前記対応関係生成部は、撮影された画像を、前記移動体の位置を原点とした無限半径の半球と前記移動体が存在する水平面とを組み合わせた形状の仮想視点投影面に投影し、前記仮想視点投影面に投影された点を、仮想視点位置を基準に前記立体投影面に再投影する仮想視点投影を用いる付記1〜付記4のいずれか1つに記載の画像処理装置。
(付記6)
前記合成部は、前記取得部により取得した3次元位置情報に基づく立体物、及び予め登録された前記移動体の形状を前記合成画像に合成する付記1〜付記4のいずれか1つに記載の画像処理装置。
(付記7)
移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された3次元位置を示す3次元位置情報を取得し、第1時刻と第2時刻との間に移動した前記移動体の移動量を計測し、取得された前記3次元位置情報に基づいて、前記第1時刻に撮影された第1画像中で立体物を示す画素を特定し、前記第1時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第1画像の各画素の位置との対応を示す第1対応関係を仮想視点投影により生成すると共に、計測された移動量に基づいて、前記第2時刻における前記移動体の位置を前記第1時刻における前記移動体座標系によって表し、前記立体投影面上の各点と前記第2時刻に撮影された第2画像の各画素の位置との対応を示す第2対応関係を仮想視点投影により生成し、所定の視点位置から見た前記立体投影面の各点に対応する合成画像上の各画素の画素値を、前記第1対応関係に基づいて前記第1画像の対応する画素の画素値とすると共に、前記第1画像において立体物を示す画素として特定された画素に対応する前記合成画像の各画素の画素値を、前記第2対応関係に基づいて前記第2画像の対応する画素の画素値とすることにより、前記合成画像を合成することを含む画像処理方法。
(付記8)
移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された3次元位置を示す3次元位置情報を取得し、第1時刻と第2時刻との間に移動した前記移動体の移動量を計測し、取得された前記3次元位置情報に基づいて、前記第1時刻に撮影された第1画像中で立体物を示す画素を特定し、計測された移動量に基づいて、前記第2時刻における前記移動体の位置を前記第1時刻における前記移動体座標系によって表し、立体物を示す画素として特定された前記第1画像の画素の画素値を、対応する前記第2時刻に撮影された第2画像の画素の画素値で補間し、前記第1時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第1画像の各画素の位置との対応を示す第1対応関係を仮想視点投影により生成し、所定の視点位置から見た前記立体投影面の各点に対応する合成画像の各画素の画素値を、前記第1対応関係に基づいて、補間後の第1画像の対応する画素の画素値とすることにより、前記合成画像を合成することを含む画像処理方法。
(付記9)
計測された前記第1時刻と前記第2時刻との間に移動した前記移動体の移動量に基づいて、前記第1時刻における前記移動体の位置と前記第2時刻における前記移動体の位置との差が、予め定めた所定範囲内となるように前記第2画像を管理することをさらに含む付記7または付記8記載の画像処理方法。
(付記10)
前記第1時刻に撮影された第1画像中で立体物を示す画素を特定することは、前記第1画像中で立体物を示す画素を特定する立体物マスク画像を作成することである付記7〜付記9のいずれか1つに記載の画像処理方法。
(付記11)
第1対応関係及び第2対応関係を生成する際に、撮影された画像を、前記移動体の位置を原点とした無限半径の半球と前記移動体が存在する水平面とを組み合わせた形状の仮想視点投影面に投影し、前記仮想視点投影面に投影された点を、仮想視点位置を基準に前記立体投影面に再投影する仮想視点投影を用いる付記7〜付記10のいずれか1つに記載の画像処理方法。
(付記12)
前記取得部により取得した3次元位置情報に基づく立体物、及び予め登録された前記移動体の形状を前記合成画像に合成する付記7〜付記11のいずれか1つに記載の画像処理方法。
(付記13)
コンピュータに、移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された3次元位置を示す3次元位置情報を取得し、第1時刻と第2時刻との間に移動した前記移動体の移動量を計測し、取得された前記3次元位置情報に基づいて、前記第1時刻に撮影された第1画像中で立体物を示す画素を特定し、前記第1時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第1画像の各画素の位置との対応を示す第1対応関係を仮想視点投影により生成すると共に、計測された移動量に基づいて、前記第2時刻における前記移動体の位置を前記第1時刻における前記移動体座標系によって表し、前記立体投影面上の各点と前記第2時刻に撮影された第2画像の各画素の位置との対応を示す第2対応関係を仮想視点投影により生成し、所定の視点位置から見た前記立体投影面の各点に対応する合成画像上の各画素の画素値を、前記第1対応関係に基づいて前記第1画像の対応する画素の画素値とすると共に、前記第1画像において立体物を示す画素として特定された画素に対応する前記合成画像の各画素の画素値を、前記第2対応関係に基づいて前記第2画像の対応する画素の画素値とすることにより、前記合成画像を合成することを含む処理を実行させるための画像処理プログラム。
(付記14)
コンピュータに、移動体周辺を連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された3次元位置を示す3次元位置情報を取得し、第1時刻と第2時刻との間に移動した前記移動体の移動量を計測し、取得された前記3次元位置情報に基づいて、前記第1時刻に撮影された第1画像中で立体物を示す画素を特定し、計測された移動量に基づいて、前記第2時刻における前記移動体の位置を前記第1時刻における前記移動体座標系によって表し、立体物を示す画素として特定された前記第1画像の画素の画素値を、対応する前記第2時刻に撮影された第2画像の画素の画素値で補間し、前記第1時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第1画像の各画素の位置との対応を示す第1対応関係を仮想視点投影により生成し、所定の視点位置から見た前記立体投影面の各点に対応する合成画像の各画素の画素値を、前記第1対応関係に基づいて、補間後の第1画像の対応する画素の画素値とすることにより、前記合成画像を合成することを含む処理を実行させるための画像処理プログラム。
(付記15)
計測された前記第1時刻と前記第2時刻との間に移動した前記移動体の移動量に基づいて、前記第1時刻における前記移動体の位置と前記第2時刻における前記移動体の位置との差が、予め定めた所定範囲内となるように前記第2画像を管理することを含む処理をコンピュータに実行させるための付記13または付記14画像処理プログラム。
(付記16)
前記第1時刻に撮影された第1画像中で立体物を示す画素を特定することは、前記第1画像中で立体物を示す画素を特定する立体物マスク画像を作成することである付記13〜付記15のいずれか1つに記載の画像処理プログラム。
(付記17)
第1対応関係及び第2対応関係を生成する際に、撮影された画像を、前記移動体の位置を原点とした無限半径の半球と前記移動体が存在する水平面とを組み合わせた形状の仮想視点投影面に投影し、前記仮想視点投影面に投影された点を、仮想視点位置を基準に前記立体投影面に再投影する仮想視点投影を用いる付記13〜付記16のいずれか1つに記載の画像処理プログラム。
(付記18)
前記取得部により取得した3次元位置情報に基づく立体物、及び予め登録された前記移動体の形状を前記合成画像に合成する付記13〜付記17のいずれか1つに記載の画像処理プログラム。
10、210 画像処理装置
11F,11B,11L,11R カメラ
12F,12B,12L,12R レンジセンサ
20 取得部
21 車両移動量計測部
22 立体物マスク画像作成部
23 過去画像セット管理部
24、224 投影面ポリゴンデータ生成部
25 視点位置決定部
26、226 画像合成部
27 テクスチャ画像補間部
30 テクスチャ画像記憶部
31 3次元位置記憶部
32 立体物マスク画像記憶部
33A,33B 過去画像セット記憶部
34 合成画像記憶部
40、240 コンピュータ

Claims (9)

  1. 移動体周辺を撮影装置により連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された3次元位置を示す3次元位置情報を取得する取得部と、
    第1時刻と第2時刻との間に移動した前記移動体の移動量を計測する移動量計測部と、
    前記取得部により取得された前記3次元位置情報に基づいて、前記第1時刻に撮影された第1画像中で立体物を示す画素を特定する特定部と、
    前記移動体を内部に含むように定めた立体投影面上の各点を、仮想視点位置を基準に、前記移動体の位置を原点とした無限半径の半球と前記移動体が存在する水平面とを組み合わせた形状の仮想視点投影面に投影し、前記仮想視点投影面に投影された点から前記撮影装置への入射ベクトルを画像の座標系に変換することにより、前記第1時刻における移動体に対応する立体投影面上の各点と前記第1画像の各画素の位置との対応を示す第1対応関係を生成すると共に、前記移動量計測部により計測された移動量に基づいて、前記第2時刻における前記移動体の位置を前記第1時刻における前記移動体座標系によって表し、前記第1時刻における移動体に対応する立体投影面上の各点を、前記仮想視点位置を基準に前記仮想視点投影面に投影し、前記仮想視点投影面に投影された点から、前記第1時刻における移動体座標系によって表された前記第2時刻における前記移動体の位置における前記撮影装置への入射ベクトルを、前記第2時刻における移動体座標系の入射ベクトルに変換することにより、前記第1時刻における移動体に対応する立体投影面上の各点と前記第2時刻に撮影された第2画像の各画素の位置との対応を示す第2対応関係を生成する対応関係生成部と、
    所定の視点位置から見た前記立体投影面の各点に対応する合成画像上の各画素の画素値を、前記第1対応関係に基づいて前記第1画像の対応する画素の画素値とすると共に、前記第1画像において前記特定部により立体物を示す画素として特定された画素に対応する前記合成画像の各画素の画素値を、前記第2対応関係に基づいて前記第2画像の対応する画素の画素値とすることにより、前記合成画像を合成する合成部と、
    を含む画像処理装置。
  2. 移動体周辺を撮影装置により連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された3次元位置を示す3次元位置情報を取得する取得部と、
    第1時刻と第2時刻との間に移動した前記移動体の移動量を計測する移動量計測部と、
    前記取得部により取得された前記3次元位置情報に基づいて、前記第1時刻に撮影された第1画像中で立体物を示す画素を特定する特定部と、
    前記特定部により特定された画素に対応する前記撮影装置への入射ベクトルに基づいて、前記特定部により特定された画素を、仮想視点位置を基準に、前記移動体の位置を原点とした無限半径の半球と前記移動体が存在する水平面とを組み合わせた形状の仮想視点投影面に投影した点を特定し、前記移動量計測部により計測された移動量に基づいて、前記第2時刻における前記移動体の位置を前記第1時刻における前記移動体座標系によって表し、特定された前記仮想視点投影面上の点から、前記第1時刻における移動体座標系によって表された前記第2時刻における前記移動体の位置における前記撮影装置への入射ベクトルを、前記第2時刻における移動体座標系の入射ベクトルに変換することにより、前記特定部により立体物を示す画素として特定された前記第1画像の画素の画素値を、対応する前記第2時刻に撮影された第2画像の画素の画素値で補間する補間部と、
    前記第1時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第1画像の各画素の位置との対応を示す第1対応関係を仮想視点投影により生成する対応関係生成部と、
    所定の視点位置から見た前記立体投影面の各点に対応する合成画像の各画素の画素値を、前記第1対応関係に基づいて前記補間部による補間後の第1画像の対応する画素の画素値とすることにより、前記合成画像を合成する合成部と、
    を含む画像処理装置。
  3. 前記移動量計測部により計測された前記第1時刻と前記第2時刻との間に移動した前記移動体の移動量に基づいて、前記第1時刻における前記移動体の位置と前記第2時刻における前記移動体の位置との差が、予め定めた所定範囲内となるように前記第2画像を管理する管理部を含む請求項1または請求項2記載の画像処理装置。
  4. 前記特定部は、前記第1画像中で立体物を示す画素を特定する立体物マスク画像を作成する請求項1〜請求項3のいずれか1項記載の画像処理装置。
  5. 前記合成部は、前記取得部により取得した3次元位置情報に基づく立体物、及び予め登録された前記移動体の形状を前記合成画像に合成する請求項1〜請求項4のいずれか1項記載の画像処理装置。
  6. コンピュータに、
    移動体周辺を撮影装置により連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された3次元位置を示す3次元位置情報を取得し、
    第1時刻と第2時刻との間に移動した前記移動体の移動量を計測し、
    取得された前記3次元位置情報に基づいて、前記第1時刻に撮影された第1画像中で立体物を示す画素を特定し、
    特定された画素に対応する前記撮影装置への入射ベクトルに基づいて、前記特定された画素を、仮想視点位置を基準に、前記移動体の位置を原点とした無限半径の半球と前記移動体が存在する水平面とを組み合わせた形状の仮想視点投影面に投影した点を特定し、前記第1時刻における移動体に対応する立体投影面上の各点と前記第1画像の各画素の位置との対応を示す第1対応関係を生成すると共に、計測された移動量に基づいて、前記第2時刻における前記移動体の位置を前記第1時刻における前記移動体座標系によって表し、前記第1時刻における移動体に対応する立体投影面上の各点を、前記仮想視点位置を基準に前記仮想視点投影面に投影し、前記仮想視点投影面に投影された点から、前記第1時刻における移動体座標系によって表された前記第2時刻における前記移動体の位置における前記撮影装置への入射ベクトルを、前記第2時刻における移動体座標系の入射ベクトルに変換することにより、前記第1時刻における移動体に対応する立体投影面上の各点と前記第2時刻に撮影された第2画像の各画素の位置との対応を示す第2対応関係を生成し、
    所定の視点位置から見た前記立体投影面の各点に対応する合成画像上の各画素の画素値を、前記第1対応関係に基づいて前記第1画像の対応する画素の画素値とすると共に、前記第1画像において立体物を示す画素として特定された画素に対応する前記合成画像の各画素の画素値を、前記第2対応関係に基づいて前記第2画像の対応する画素の画素値とすることにより、前記合成画像を合成する
    ことを含む処理を実行させる画像処理方法。
  7. コンピュータに、
    移動体周辺を撮影装置により連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された3次元位置を示す3次元位置情報を取得し、
    第1時刻と第2時刻との間に移動した前記移動体の移動量を計測し、
    取得された前記3次元位置情報に基づいて、前記第1時刻に撮影された第1画像中で立体物を示す画素を特定し、
    特定された画素に対応する前記撮影装置への入射ベクトルに基づいて、前記特定された画素を、仮想視点位置を基準に、前記移動体の位置を原点とした無限半径の半球と前記移動体が存在する水平面とを組み合わせた形状の仮想視点投影面に投影した点を特定し、計測された移動量に基づいて、前記第2時刻における前記移動体の位置を前記第1時刻における前記移動体座標系によって表し、特定された前記仮想視点投影面上の点から、前記第1時刻における移動体座標系によって表された前記第2時刻における前記移動体の位置における前記撮影装置への入射ベクトルを、前記第2時刻における移動体座標系の入射ベクトルに変換することにより、立体物を示す画素として特定された前記第1画像の画素の画素値を、対応する前記第2時刻に撮影された第2画像の画素の画素値で補間し、
    前記第1時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第1画像の各画素の位置との対応を示す第1対応関係を仮想視点投影により生成し、
    所定の視点位置から見た前記立体投影面の各点に対応する合成画像の各画素の画素値を、前記第1対応関係に基づいて、補間後の第1画像の対応する画素の画素値とすることにより、前記合成画像を合成する
    ことを含む処理を実行させる画像処理方法。
  8. コンピュータに、
    移動体周辺を撮影装置により連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された3次元位置を示す3次元位置情報を取得し、
    第1時刻と第2時刻との間に移動した前記移動体の移動量を計測し、
    取得された前記3次元位置情報に基づいて、前記第1時刻に撮影された第1画像中で立体物を示す画素を特定し、
    特定された画素に対応する前記撮影装置への入射ベクトルに基づいて、前記特定された画素を、仮想視点位置を基準に、前記移動体の位置を原点とした無限半径の半球と前記移動体が存在する水平面とを組み合わせた形状の仮想視点投影面に投影した点を特定し、前記第1時刻における移動体に対応する立体投影面上の各点と前記第1画像の各画素の位置との対応を示す第1対応関係を生成すると共に、計測された移動量に基づいて、前記第2時刻における前記移動体の位置を前記第1時刻における前記移動体座標系によって表し、前記第1時刻における移動体に対応する立体投影面上の各点を、前記仮想視点位置を基準に前記仮想視点投影面に投影し、前記仮想視点投影面に投影された点から、前記第1時刻における移動体座標系によって表された前記第2時刻における前記移動体の位置における前記撮影装置への入射ベクトルを、前記第2時刻における移動体座標系の入射ベクトルに変換することにより、前記第1時刻における移動体に対応する立体投影面上の各点と前記第2時刻に撮影された第2画像の各画素の位置との対応を示す第2対応関係を生成し、
    所定の視点位置から見た前記立体投影面の各点に対応する合成画像上の各画素の画素値を、前記第1対応関係に基づいて前記第1画像の対応する画素の画素値とすると共に、前記第1画像において立体物を示す画素として特定された画素に対応する前記合成画像の各画素の画素値を、前記第2対応関係に基づいて前記第2画像の対応する画素の画素値とすることにより、前記合成画像を合成する
    ことを含む処理を実行させるための画像処理プログラム。
  9. コンピュータに、
    移動体周辺を撮影装置により連続して撮影した画像を示す画像情報、及び前記移動体周辺に存在する立体物上の複数の点の前記移動体に設定された移動体座標系で表された3次元位置を示す3次元位置情報を取得し、
    第1時刻と第2時刻との間に移動した前記移動体の移動量を計測し、
    取得された前記3次元位置情報に基づいて、前記第1時刻に撮影された第1画像中で立体物を示す画素を特定し、
    特定された画素に対応する前記撮影装置への入射ベクトルに基づいて、前記特定された画素を、仮想視点位置を基準に、前記移動体の位置を原点とした無限半径の半球と前記移動体が存在する水平面とを組み合わせた形状の仮想視点投影面に投影した点を特定し、計測された移動量に基づいて、前記第2時刻における前記移動体の位置を前記第1時刻における前記移動体座標系によって表し、特定された前記仮想視点投影面上の点から、前記第1時刻における移動体座標系によって表された前記第2時刻における前記移動体の位置における前記撮影装置への入射ベクトルを、前記第2時刻における移動体座標系の入射ベクトルに変換することにより、立体物を示す画素として特定された前記第1画像の画素の画素値を、対応する前記第2時刻に撮影された第2画像の画素の画素値で補間し、
    前記第1時刻における前記移動体を内部に含むように定めた立体投影面上の各点と前記第1画像の各画素の位置との対応を示す第1対応関係を仮想視点投影により生成し、
    所定の視点位置から見た前記立体投影面の各点に対応する合成画像の各画素の画素値を、前記第1対応関係に基づいて、補間後の第1画像の対応する画素の画素値とすることにより、前記合成画像を合成する
    ことを含む処理を実行させるための画像処理プログラム。
JP2012235653A 2012-10-25 2012-10-25 画像処理装置、方法、及びプログラム Expired - Fee Related JP6079131B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2012235653A JP6079131B2 (ja) 2012-10-25 2012-10-25 画像処理装置、方法、及びプログラム
US14/022,631 US9478061B2 (en) 2012-10-25 2013-09-10 Image processing apparatus and method that synthesizes an all-round image of a vehicle's surroundings
EP17192601.7A EP3282419A1 (en) 2012-10-25 2013-09-20 Image processing apparatus and method
EP13185301.2A EP2725548A3 (en) 2012-10-25 2013-09-20 Image processing apparatus and method
US15/273,075 US9633266B2 (en) 2012-10-25 2016-09-22 Image processing apparatus and method that synthesizes an all-round image of a vehicle's surroundings

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012235653A JP6079131B2 (ja) 2012-10-25 2012-10-25 画像処理装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2014085925A JP2014085925A (ja) 2014-05-12
JP6079131B2 true JP6079131B2 (ja) 2017-02-15

Family

ID=49212688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012235653A Expired - Fee Related JP6079131B2 (ja) 2012-10-25 2012-10-25 画像処理装置、方法、及びプログラム

Country Status (3)

Country Link
US (2) US9478061B2 (ja)
EP (2) EP2725548A3 (ja)
JP (1) JP6079131B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014204303A1 (de) * 2014-03-10 2015-09-10 Robert Bosch Gmbh Verfahren zum Zusammenfügen von Einzelbildern, die von einem Kamerasystem aus unterschiedlichen Positionen aufgenommen wurden, zu einem gemeinsamen Bild
CN105934774A (zh) * 2014-03-24 2016-09-07 株式会社日立制作所 物体检测装置、物体检测方法以及移动机器人
JP2016018295A (ja) * 2014-07-07 2016-02-01 日立オートモティブシステムズ株式会社 情報処理システム
DE102015209391A1 (de) * 2015-05-22 2016-11-24 Robert Bosch Gmbh Verfahren und Vorrichtung zum Erzeugen einer Maskierungsvorschrift sowie zum Maskieren einer Bildinformation einer Kamera
WO2017043190A1 (ja) * 2015-09-09 2017-03-16 株式会社リコー 制御システム、撮像装置、およびプログラム
JP6585006B2 (ja) * 2016-06-07 2019-10-02 株式会社東芝 撮影装置および車両
JP6816436B2 (ja) * 2016-10-04 2021-01-20 アイシン精機株式会社 周辺監視装置
DE112017006840B4 (de) * 2017-01-16 2023-11-02 Fujitsu Limited Informationsverarbeitungsprogramm, Informationsverarbeitungsverfahren und Informationsverarbeitungsvorrichtung
EP3658854B1 (en) * 2017-07-28 2022-09-14 Qualcomm Incorporated Image output adjustment in a robotic vehicle
JP7024539B2 (ja) * 2018-03-22 2022-02-24 カシオ計算機株式会社 画像編集装置、画像編集方法、及びプログラム
EP3776485B1 (en) * 2018-09-26 2022-01-26 Coherent Logix, Inc. Any world view generation
JP2019118103A (ja) * 2019-01-31 2019-07-18 パイオニア株式会社 情報処理装置、情報処理方法、情報処理プログラム及び情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP7133520B2 (ja) * 2019-08-06 2022-09-08 直之 村上 コンピユーターの目(pceye)
DE102019219017A1 (de) * 2019-12-05 2021-06-10 Robert Bosch Gmbh Anzeigeverfahren zur Darstellung eines Umgebungsmodells eines Fahrzeugs, Computerprogramm, Steuergerät und Fahrzeug
JP2020194570A (ja) * 2020-08-07 2020-12-03 パイオニア株式会社 情報処理装置、情報処理方法、情報処理プログラム及び情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体
US11910092B2 (en) * 2020-10-01 2024-02-20 Black Sesame Technologies Inc. Panoramic look-around view generation method, in-vehicle device and in-vehicle system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265547A (ja) * 1992-03-23 1993-10-15 Fuji Heavy Ind Ltd 車輌用車外監視装置
EP2259220A3 (en) * 1998-07-31 2012-09-26 Panasonic Corporation Method and apparatus for displaying image
CA2369648A1 (en) * 1999-04-16 2000-10-26 Matsushita Electric Industrial Co., Limited Image processing device and monitoring system
EP1158803A3 (en) * 2000-05-24 2003-12-10 Matsushita Electric Industrial Co., Ltd. Rendering device for generating a display image
JP2002083285A (ja) * 2000-07-07 2002-03-22 Matsushita Electric Ind Co Ltd 画像合成装置および画像合成方法
KR100866450B1 (ko) * 2001-10-15 2008-10-31 파나소닉 주식회사 차량 주위 감시 장치 및 그 조정 방법
FR2853121B1 (fr) 2003-03-25 2006-12-15 Imra Europe Sa Dispositif de surveillance des alentours d'un vehicule
JP4696691B2 (ja) 2005-05-27 2011-06-08 アイシン・エィ・ダブリュ株式会社 駐車支援方法及び駐車支援装置
JP5178454B2 (ja) * 2008-10-28 2013-04-10 パナソニック株式会社 車両周囲監視装置及び車両周囲監視方法
JP5182042B2 (ja) * 2008-11-28 2013-04-10 富士通株式会社 画像処理装置、画像処理方法及びコンピュータプログラム
JP5439890B2 (ja) * 2009-03-25 2014-03-12 富士通株式会社 画像処理方法、画像処理装置及びプログラム
JP5195592B2 (ja) * 2009-03-31 2013-05-08 富士通株式会社 映像処理装置
WO2010137265A1 (ja) * 2009-05-25 2010-12-02 パナソニック株式会社 車両周囲監視装置
JP5299296B2 (ja) 2010-01-26 2013-09-25 株式会社デンソーアイティーラボラトリ 車両周辺画像表示装置及び車両周辺画像表示方法
JP5500255B2 (ja) * 2010-08-06 2014-05-21 富士通株式会社 画像処理装置および画像処理プログラム
JP5124671B2 (ja) * 2011-06-07 2013-01-23 株式会社小松製作所 作業車両の周辺監視装置
EP2720458A4 (en) * 2011-06-09 2015-02-25 Aisin Seiki IMAGING DEVICE
WO2013016409A1 (en) * 2011-07-26 2013-01-31 Magna Electronics Inc. Vision system for vehicle
JP5682788B2 (ja) * 2011-09-27 2015-03-11 アイシン精機株式会社 車両周辺監視装置
DE102011084554A1 (de) * 2011-10-14 2013-04-18 Robert Bosch Gmbh Verfahren zur Darstellung eines Fahrzeugumfeldes

Also Published As

Publication number Publication date
JP2014085925A (ja) 2014-05-12
US9478061B2 (en) 2016-10-25
EP2725548A2 (en) 2014-04-30
EP3282419A1 (en) 2018-02-14
US20170011267A1 (en) 2017-01-12
EP2725548A3 (en) 2017-04-12
US20140118341A1 (en) 2014-05-01
US9633266B2 (en) 2017-04-25

Similar Documents

Publication Publication Date Title
JP6079131B2 (ja) 画像処理装置、方法、及びプログラム
JP5739584B2 (ja) 車両周辺視角化のための3次元映像合成装置およびその方法
JP5208203B2 (ja) 死角表示装置
JP6311020B2 (ja) 映像合成システムとそのための映像合成装置及び映像合成方法
JP6310652B2 (ja) 映像表示システム、映像合成装置及び映像合成方法
JP5500255B2 (ja) 画像処理装置および画像処理プログラム
JP5299296B2 (ja) 車両周辺画像表示装置及び車両周辺画像表示方法
KR20190034092A (ko) 화상처리 장치, 화상처리 방법, 화상처리 시스템 및 기억매체
JP2019503007A (ja) 事前定義されたビューポイントルックアップテーブルを用いるサラウンドビューのための3次元レンダリング
JP2008048266A (ja) 車載画像処理装置及びその視点変換情報生成方法
JP6276719B2 (ja) 画像生成装置、座標変換テーブル作成装置および作成方法
JP2015075966A (ja) 画像処理装置、画像処理方法、及び、プログラム
US11140364B2 (en) Sensor fusion based perceptually enhanced surround view
JP2006333009A (ja) 俯瞰画像表示装置及び俯瞰画像表示方法
JP6762570B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP2001256482A (ja) 視差画像生成装置および視差画像生成方法
JP7074546B2 (ja) 画像処理装置および方法
JP2005063041A (ja) 3次元モデリング装置、方法、及びプログラム
WO2018016274A1 (ja) 画像処理装置
JP4530214B2 (ja) 模擬視界発生装置
JP7196920B2 (ja) 運転支援装置および運転支援方法、プログラム
JP2020162089A (ja) 画像生成装置および画像生成方法
JP7261121B2 (ja) 情報端末装置及びプログラム
JP2005348307A (ja) 画像生成方法および画像生成装置
JP2024022212A (ja) 画像処理装置、画像処理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160707

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170102

R150 Certificate of patent or registration of utility model

Ref document number: 6079131

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees