【解決手段】車両に設けられた複数のカメラと接続可能な複数のカメラI/F23を備え、複数のカメラによって撮影された複数の撮影画像に基づいて、車両の周囲の俯瞰画像を生成する画像生成装置であって、車両1の移動、及び車両1の移動方向を検出する移動検出部201と、撮影画像から特徴点を抽出する抽出部2021と、抽出部2021が抽出した特徴点を撮影画像において追跡する追跡部2022と、移動検出部201が車両の移動を検出した際、移動検出部201が検出した車両の移動方向と追跡部2022が追跡した特徴点の移動方向とに基づいて、カメラの設置位置を特定する特定部2023と、特定部2023が特定したカメラの設置位置に応じて、俯瞰画像を生成する際のパラメーターを設定する設定部203とを備える。
車両に設けられた複数のカメラと接続可能な複数の接続部を備え、複数の前記接続部に接続する複数の前記カメラによって撮影された複数の撮影画像に基づいて、前記車両の周囲の俯瞰画像を生成する画像生成装置であって、
前記車両の移動、及び、前記車両の移動方向を検出する移動検出部と、
前記撮影画像から特徴点を抽出する抽出部と、
前記抽出部が抽出した前記特徴点を前記撮影画像において追跡する追跡部と、
前記移動検出部が前記車両の移動を検出した際、前記移動検出部が検出した前記車両の移動方向と前記追跡部が追跡した前記特徴点の移動方向とに基づいて、前記カメラの設置位置を特定する特定部と、
前記特定部が特定した前記カメラの設置位置に応じて、前記俯瞰画像を生成する際のパラメーターを設定する設定部と、を備える、
ことを特徴とする画像生成装置。
複数の前記撮影画像のそれぞれを上方の仮想視点から見下ろした画像に変換し、変換した複数の変換画像を繋ぎ合わせるように配して前記俯瞰画像を生成する生成部と、を備え、
前記設定部は、前記特定部が特定した前記カメラの設置位置に応じて、前記接続部ごとに、前記接続部と前記俯瞰画像の画像領域において前記変換画像が配される領域との対応関係を設定する、
ことを特徴とする請求項1に記載の画像生成装置。
車両に設けられた複数のカメラと接続可能な複数の接続部を備え、複数の前記接続部に接続する複数の前記カメラによって撮影された複数の撮影画像に基づいて、前記車両の俯瞰画像を生成する画像生成装置の制御方法であって、
前記車両の移動、及び、前記車両の移動方向を検出し、
前記撮影画像から特徴点を抽出し、
抽出した前記特徴点を前記撮影画像において追跡し、
前記車両の移動を検出した際、検出した前記車両の移動方向と追跡した前記特徴点の移動方向とに基づいて、前記カメラの設置位置を特定し、
特定した前記カメラの設置位置に応じて、前記俯瞰画像を生成する際のパラメーターを設定する、
ことを特徴とする画像生成装置の制御方法。
【発明を実施するための形態】
【0014】
以下、本発明の好適な実施形態について、図面を用いて詳細に説明する。なお、以下に説明する実施形態は、特許請求の範囲に記載された本発明の内容を限定するものではない。また、以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【0015】
図1は、画像生成装置2を搭載する車両1の構成を示す図である。
車両1は、運転者を含む乗員が搭乗し、運転者が運転可能な車両である。車両1は、運転者が運転に関する操作を行うことで走行する車両でもよいし、運転者が運転に関する操作を行うことなく自動的に走行する車両でもよい。また、車両1は、例えばエンジン駆動の四輪車両や、モーター駆動式の電動車両、モーター及びエンジンを搭載したハイブリット車両等の車両である。なお、車両1は、四輪車両以外の車両でもよい。
【0016】
画像生成装置2は、後述するタッチパネル7が表示する画像を生成する装置である。なお、タッチパネル7は、各種情報を表示する表示部の一態様である。本実施形態の画像生成装置2が生成する画像は、車両1の周囲を俯瞰した様子の画像である俯瞰画像FG(
図4参照)である。画像生成装置2は、専用装置でもよく、ナビゲーション機能を有するナビゲーション装置の機能の一部として構成されてもよい。
【0017】
まず、画像生成装置2を説明する前に、画像生成装置2に接続する各部について説明する。
画像生成装置2には、GPS受信部3と、車速センサー4、相対方位検出部5、記憶装置6、タッチパネル7、カメラ81、82、83、84が接続される。
【0018】
以下の説明において、カメラ81、82、83、84のそれぞれを区別することなく総称する場合、「カメラ8」という。
【0019】
GPS受信部3は、GPSアンテナ3aを介してGPS衛星から送信されるGPS信号を周期的に受信する。そして、GPS受信部3は、受信したGPS信号に基づいて、車両1とGPS衛星間の距離及び距離の変化率を所定数以上の衛星に対して測定することにより、車両1の現在位置(緯度、経度)を算出する。GPS受信部3は、車両1の現在位置を示す現在位置情報を画像生成装置2に出力する。また、GPS受信部3は、車両1の移動方向の方角(以下、「方位」という)を算出し、車両1の方位を示す方位情報を画像生成装置2に出力する。
【0020】
車速センサー4は、車軸の単位時間当たりの回転数を検出し、検出した回転数に基づいて車両1の車速を周期的に取得する。車速センサー4は、検出した車両1の車速を示す車速情報を画像生成装置2に出力する。
【0021】
相対方位検出部5は、加速度センサー51と、ジャイロセンサー52とを備える。加速度センサー51は、車両1に作用する加速度(例えば、進行方向に対する自車両1の傾き)を検出する。ジャイロセンサー52は、例えば振動ジャイロにより構成され、車両1の相対的な方位(例えば、ヨー軸方向の旋回量)を検出する。相対方位検出部5は、検出した加速度、及び相対的な方位を示す相対方位情報を画像生成装置2に出力する。
【0022】
記憶装置6は、ハードディスクや、EEPROM、SSD等の不揮発性メモリーを備え、データを書き換え可能に記憶する。記憶装置6は、地図データ61を記憶する。
【0023】
地図データ61は、道路地図情報や、各種施設等の施設情報、マップマッチング用のデータ等を格納するデータである。道路地図情報は、地図上の道路を線で表現した道路ネットワークからなり、交差点や分岐点等をノードとして複数の部分に分割し、各ノード間の部分をリンクとして規定したリンク情報を含む。
【0024】
タッチパネル7は、各種情報を表示する表示パネル71、及び、この表示パネル71に重ねて、或いは一体に設けられたタッチセンサー72により構成される。
【0025】
図2は、カメラ8を説明するための図である。
カメラ8は、車両1のおける設置位置によって、前方カメラ、右側方カメラ、左側方カメラ、及び後方カメラのいずれかとして機能する。
【0026】
前方カメラは、車両1の車外前方を撮影する。カメラ8は、例えばフロントガラスやヘッドライトが設けられる前面等の、車両1において前方の位置(以下、「車両前方位置」という)に設けられることで前方カメラとして機能する。
図2では、カメラ81が前方カメラとして機能している。
右側方カメラは、車両1の車外右側方を撮影する。カメラ8は、例えば右側のドアや、右側のサイドミラー等の、車両1において右側方の位置(以下、「車両右側方位置」という)に設けられることで右側方カメラとして機能する。
図2では、カメラ82が右側方カメラとして機能している。
左側方カメラは、車両1の車外左側方を撮影する。カメラ8は、例えば左側のドアや、左側のサイドミラー等の、車両1において左側方の位置(以下、「車両左側方位置」という)に設けられることで左側方カメラとして機能する。
図2では、カメラ83が左側方カメラとして機能している。
後方カメラは、車両1の車外後方を撮影する。カメラ8は、例えばリアガラスや、ハザードランプが設けられる後面等の、車両1において後方の位置(以下、「車両後方位置」という)に設けられることで後方カメラとして機能する。
図2では、カメラ84が後方カメラとして機能していることを示している。
【0027】
図2のように設置された場合、4台のカメラ8のそれぞれは、例えば4台のカメラ8で車両1を中心に360°の範囲を撮影できるように画角が調整される。
【0028】
図1を参照して、カメラ81は、カメラ8が接続可能な接続部として機能するカメラインターフェース(以下、「カメラI/F」と表記する。)231と接続する。また、カメラ82は、カメラI/F232と接続する。また、カメラ83は、カメラI/F233と接続する。また、カメラ84は、カメラI/F234と接続する。
【0029】
以下の説明では、カメラI/F231、232、233、234のそれぞれを区別することなく総称する場合、「カメラI/F23」という。
【0030】
なお、
図2は、カメラ8が車両1のどの位置に設けられるかを便宜的に示した図であり、実際にカメラ8が車体外部に設けられていることを示す図ではない。
【0031】
カメラ8は、所定の撮影周期で撮影を実行し、撮影結果に基づいて撮影画像データSGD(
図4参照)を生成する。そして、カメラ8は、生成した撮影画像データSGDを、対応するカメラI/F23を介して画像生成装置2に出力する。
【0032】
次に、画像生成装置2について説明する。
画像生成装置2は、制御部20と、記憶部21と、複数のカメラI/F23と、出力I/F24とを備える。
【0033】
カメラI/F23は、所定の規格に従ったコネクターやインターフェース回路等のハードウェアを備え、ケーブル等を介して接続する1のカメラ8と通信する。また、出力I/F24は、所定の規格に従ったコネクターやインターフェース回路等のハードウェアを備え、ケーブル等を介して接続するタッチパネル7と通信する。
【0034】
制御部20は、ハードウェアとしてCPU20A、ROM20B、及びRAM20Cを備え、画像生成装置2の各部を制御する。CPU20Aは、演算処理を実行するプロセッサーであり、ROM20BやRAM20C等により構成される記憶部21が記憶する制御プログラム21Aに従って演算処理を実行する。ROM20Bは、不揮発性のメモリーであり、制御プログラム21Aや演算データ等の各種データを記憶する。RAM20Cは、プロセッサーが実行する制御プログラム21Aや演算データを一時記憶するワークエリアとして使用される。
【0035】
次に、制御部20の機能ブロックについて説明する。
図3は、制御部20の機能ブロックを示す図である。
図3では、説明の便宜上、カメラI/F231、232、233、234と、タッチパネル7とを制御部20と併せて図示している。
【0036】
制御部20は、機能ブロックとして、画像入力部200、移動検出部201、画像解析部202、設定部203、生成部204、及び表示制御部205を備える。また、画像解析部202は、機能ブロックとして、抽出部2021、追跡部2022、及び特定部2023を備える。また、設定部203は、機能ブロックとして、対応関係設定部2031、及び範囲設定部2032を備える。制御部20、画像解析部202、及び設定部203の各機能ブロックは、CPUが制御プログラム21Aに従って演算処理を実行することで実現される機能をブロックとして便宜的に示したものであり、特定のアプリケーションソフトウェアやハードウェアを示すものではない。
【0037】
画像入力部200は、カメラI/F231、232、233、234のそれぞれから、接続する1のカメラ8によって撮影された撮影画像SG(
図4等参照)を示す撮影画像データSGD(
図4等参照)が入力される。画像入力部200は、入力された複数の撮影画像データSGDを、生成部204に出力する。
【0038】
移動検出部201は、車両1の移動の有無、及び、車両1の移動方向を検出する。
例えば、移動検出部201は、GPS受信部3から入力される現在位置情報、及び方位情報、車速センサー4から入力された車速情報、及び、相対方位検出部5から入力される相対方位情報に基づいて、車両1の現在位置を特定し、特定した車両1の現在位置が変化した場合に、車両1の移動が有ると検出する。なお、この検出方法は、一例であって、いずれの方法を採用できる。例えば、移動検出部201は、車両情報が示す車速が0km/hである場合に車両1の移動が無いと検出し、車両情報が示す車速が0km/h以外である場合に車両1の移動が有ると検出してもよい。
また、移動検出部201は、例えば、GPS受信部3から入力される方位情報や、相対方位検出部5から入力される相対方位情報等に基づいて、車両1の移動方向を検出する。また、シフト(ギア)情報によって移動方向を検出することもできる。
移動検出部201は、車両1の移動の有無、及び、車両1の移動方向を検出すると、検出結果を画像解析部202に出力する。
【0039】
画像解析部202は、画像入力部200に入力された複数の撮影画像データSGDのそれぞれに対して、抽出部2021、追跡部2022、及び特定部2023による画像解析を実行する。
【0040】
抽出部2021は、1のカメラI/F23が画像入力部200に入力した撮影画像データSGDごとに、撮影画像データSGDが示す撮影画像SGから、撮影画像SGの特徴点を既存の技術により抽出する。撮影画像SGの特徴点は、撮影画像SGに写る被写体を特徴付ける線や点等を構成する点である。撮影画像SGの特徴点としては、例えば、バンパー等の車両1の車体の輪郭や、白線の輪郭、道路標識やガードレール等の車両1以外の被写体の輪郭等を構成する点が一例として挙げられる。
【0041】
追跡部2022は、抽出部2021が抽出した特徴点ごとに、所定の撮影周期で変わる撮影画像SGにおいて特徴点が画像領域をどの方向に向かって移動しているのかを追跡する。より詳細に、追跡部2022は、ある撮影画像SGとある撮影画像SGの次に撮影された撮影画像SGとを比較していくことによって、特徴点が画像領域をどの方向に向かって移動しているのか追跡する。追跡部2022は、追跡に際し、特徴点の移動をベクトル表現したオプティカルフローを算出する。追跡部2022は、算出したオプティカルフローを特定部2023に出力する。
【0042】
特定部2023は、移動検出部201から入力される検出結果が車両1の移動が有ることを示す場合、移動検出部201が検出した車両1の移動方向と、追跡部2022が算出したオプティカルフローが示す撮影画像SGの画像領域における特徴点の移動方向と、に基づいて、カメラ8の車両1における設置位置を特定する。具体的な特定については、後に詳述する。
【0043】
設定部203は、生成部204が俯瞰画像FGを生成する際のパラメーターを設定する。設定部203が設定するパラメーターとは、生成部204の俯瞰画像FGの生成におけるパラメーターであり、少なくとも、対応関係設定部2031が設定する対応関係、及び範囲設定部2032が設定する使用画像SYG(
図4参照)の切り出し範囲である。
ここで、設定部203の詳細な設定について説明する前に、生成部204よる俯瞰画像FGの生成について説明する。
【0044】
図4は、俯瞰画像FGの生成を説明するための図である。
【0045】
図4に示す俯瞰画像FGの画像領域は、車両1の画像である車両画像SRGが配された車両画像領域A0と、領域A1、A2、A3、A4とを含む。領域A1、A2、A3、A4は、俯瞰画像FGの画像領域において、車両画像領域A0の周囲に設けられる。領域A1は、俯瞰画像FGにおいて、車両画像SRGが示す車両1の車外前方の領域である。また、領域A2は、俯瞰画像FGにおいて、車両画像SRGが示す車両1の車外左側方の領域である。また、領域A3は、俯瞰画像FGにおいて、車両画像SRGが示す車両1の車外右側方の領域である。また、領域A4は、俯瞰画像FGにおいて、車両画像SRGが示す車両1の車外後方の領域である。
【0046】
以下の説明で、領域A1、A2、A3、A4を区別しない場合、「領域AA」と表記する。
【0047】
生成部204は、各領域AAのそれぞれに後述する使用画像SYGを配して複数の使用画像SYGを繋ぎ合わせて、俯瞰画像FGを生成する。
【0048】
図4の説明では、カメラI/F231から出力された撮影画像SGに基づく画像が領域A1に配され、カメラI/F232から出力された撮影画像SGに基づく画像が領域A2に配され、カメラI/F233から出力された撮影画像SGに基づく画像が領域A3に配され、カメラI/F234から出力された撮影画像SGに基づく画像が領域A4に配されるものとする。
また、
図4の説明では、カメラI/F231に前方カメラとして機能するカメラ81が接続し、カメラI/F232に左側方カメラとして機能するカメラ82が接続し、カメラI/F233に右側方カメラとして機能するカメラ83が接続し、カメラI/F234に後方カメラとして機能するカメラ84が接続している場合を例示する。
【0049】
生成部204は、カメラI/F23ごとに、以下の各処理を実行する。すなわち、生成部204は、カメラI/F23から出力される撮影画像データSGDが示す撮影画像SGを、所定のアルゴリズムによって、撮影画像SGに写る被写体を鉛直方向上側(上方)の仮想視点から見下ろした画像に変換する。そして、生成部204は、この仮想視点から見下ろした画像に変換した変換画像HGから、俯瞰画像FGの生成に使用する使用画像SYGを切り出す。そして、生成部204は、切り出した使用画像SYGを、領域A1、A2、A3、A4のうち対応する領域に配することで、俯瞰画像FGを生成する。なお、使用画像SYGを配して俯瞰画像FGを生成することは、変換画像HGを配して俯瞰画像FGを生成することに相当する。
【0050】
使用画像SYGを切り出す範囲は、領域A1、A2、A3、A4のそれぞれに応じた範囲であり、事前のテストやシミュレーション等によって予め定められている。
例えば、領域A1、及び領域A4に配する使用画像SYGを切り出す範囲は、変換画像HGが長矩形である場合、長手方向においていずれの方向に偏らない矩形の範囲である。また、例えば、領域A2に配置する使用画像SYGを切り出す範囲は、変換画像HGが長矩形である場合、長手方向においていずれかの方向に偏る矩形の範囲である。また、例えば、領域A3に配置する使用画像SYGを切り出す範囲は、変換画像HGが長矩形である場合、領域A2に配置する使用画像SYGを切り出す範囲と逆の方向に偏る矩形の範囲である。なお、切り出し範囲の短手方向については、カメラ8の設置位置やカメラ8の仰俯角等に応じて異なる。このように使用画像SYGを切り出す範囲を領域A1、A2、A3、A4のそれぞれに応じた範囲とすることで、生成される俯瞰画像FGが、重複した画像を含まないようにできる。したがって、生成部204は、実際の車両1の周囲を俯瞰した様子に即した俯瞰画像FGを生成できる。
【0051】
以下の説明では、領域A1に配する使用画像SYGを切り出す範囲を、「A1切出範囲」という。また、領域A2に配する使用画像SYGを切り出す範囲を、「A2切出範囲」という。また、領域A3に配する使用画像SYGを切り出す範囲を、「A3切出範囲」という。また、領域A4に配する使用画像SYGを切り出す範囲を、「A4切出範囲」という。
【0052】
図4を参照してより詳細に説明すると、生成部204は、カメラI/F231から出力された撮影画像データSGD1が示す撮影画像SG1を変換画像HG1に変換し、変換画像HG1からA1切出範囲で使用画像SYG1を切り出す。生成部204は、使用画像SYG1を切り出すと、使用画像SYG1を領域A1の形状に合うように加工して領域A1に配置する。
【0053】
同様に、生成部204は、カメラI/F232から出力された撮影画像データSGD2が示す撮影画像SG2を変換画像HG2に変換し、変換画像HG2からA2切出範囲で使用画像SYG2を切り出す。生成部204は、使用画像SYG2を切り出すと、使用画像SYG2を領域A2の形状に合うように加工して領域A2に配する。
【0054】
また、同様に、生成部204は、カメラI/F233から出力された撮影画像データSGD3が示す撮影画像SG3を変換画像HG3に変換し、変換画像HG3からA3切出範囲で使用画像SYG3を切り出す。生成部204は、使用画像SYG3を切り出すと、使用画像SYG3を領域A3の形状に合うように加工して領域A3に配する。
【0055】
また、同様に、生成部204は、カメラI/F234から出力された撮影画像データSGD4が示す撮影画像SG4を変換画像HG4に変換し、変換画像HG4からA4切出範囲で使用画像SYG4を切り出す。生成部204は、使用画像SYG4を切り出すと、使用画像SYG4を領域A4の形状に合うように加工して領域A4に配する。
【0056】
この生成方法によって、生成部204は、車両1を鉛直方向上側の仮想視点から見下ろした、すなわち車両1の周囲を俯瞰した俯瞰画像FGを生成する。
【0057】
図3を参照して、設定部203は、対応関係設定部2031と、範囲設定部2032とを備える。
対応関係設定部2031は、特定部2023が特定したカメラ8の設置位置に基づいて、カメラI/F23ごとに、カメラI/F23と1の領域AAとの対応関係を設定する。
図4では、対応関係設定部2031は、カメラI/F231と領域A1とを対応させ、カメラI/F232と領域A2とを対応させ、カメラI/F233と領域A3とを対応させ、カメラI/F234と領域A4とを対応させる対応関係を設定している。これにより、生成部204は、
図4を参照して説明した俯瞰画像FGを生成する。
【0058】
範囲設定部2032は、特定部2023が特定したカメラ8の設置位置に基づいて、カメラI/F23ごとに、変換画像HGから使用画像SYGを切り出す範囲を設定する。
図4では、カメラI/F231に接続するカメラ8が前方カメラとして機能し、カメラI/F232に接続するカメラ8が左側方カメラとして機能し、カメラI/F233に接続するカメラ8が右側方カメラとして機能し、カメラI/F234に接続するカメラ8が後方カメラとして機能する場合を例示している。そのため、
図4では、範囲設定部2032は、カメラI/F231に対してA1切出範囲を設定し、カメラI/F232に対してA2切出範囲を設定し、カメラI/F233に対してA3切出範囲を設定し、カメラI/F234に対してA4切出範囲を設定する。
【0059】
表示制御部205は、生成部204が生成した俯瞰画像FGを示す俯瞰画像データを出力I/F24を介してタッチパネル7に出力し、俯瞰画像FGをタッチパネル7に表示させる。
【0060】
以上の構成の下、画像生成装置2は、以下に示す動作を実行する。
【0061】
図5は、画像生成装置2の動作を示すフローチャートである。
画像生成装置2の制御部20は、車両1のイグニッションがオンになったことや、車両1のアクセサリ電源がオンになったこと等をトリガーとして、画像生成装置2のシステムを起動する(ステップSA1)。
【0062】
次いで、制御部20は、画像生成装置2のシステムを起動すると、カメラI/F23を介して制御信号を各カメラ8に送信し、カメラ8のそれぞれに撮影を開始させる(ステップSA2)。これにより、制御部20の画像入力部200には、4つのカメラ8から、所定の撮影周期で撮影画像SGを示す撮影画像データSGDが入力される。
【0063】
次いで、制御部20の移動検出部201は、車両1の移動の有無を判別する(ステップSA3)。移動検出部201は、車両1の移動が無いと判別した場合(ステップSA3:NO)、処理をステップSA3に戻し、車両1の移動の有無の監視を継続する。一方で、移動検出部201が、車両1の移動が有ったと判別した場合(ステップSA3:YES)、制御部20の画像解析部202は、車両1におけるカメラ8の設置位置を特定する設置位置特定処理を実行する。
【0064】
図6は、設置位置特定処理における画像生成装置2の動作を示すフローチャートである。
図6を参照した設置位置特定処理の説明では、車両1の移動方向が前方であることを前提とする。
【0065】
制御部20の画像解析部202は、複数のカメラI/F23のうち、画像解析の解析対象とする撮影画像SGを撮影するカメラ8と接続するカメラI/F23を1つ特定する(ステップSB1)。
【0066】
次いで、画像解析部202の抽出部2021は、ステップSB1で特定した1のカメラI/F23と接続するカメラ8が撮影した撮影画像SGから、複数の特徴点を抽出する(ステップSB2)。
【0067】
次いで、画像解析部202の追跡部2022は、抽出部2021が抽出した複数の特徴点のそれぞれについて、特徴点を追跡して、オプティカルフローを算出する(ステップSB3)。
【0068】
次いで、画像解析部202の特定部2023は、追跡部2022が算出したオプティカルフローに基づいて、撮影画像SGから車両1の車体の画像である車体画像STG(
図7参照)と、車両1以外の被写体の画像である非車両画像HSG(
図7参照)とを判別する(ステップSB4)。なお、ここでいう車体画像は、車両1の全体の画像ではなく、バンパーの一部や、サイドミラーの一部等の車体の一部の画像である。カメラ8の撮影範囲に車両1の車体の一部と車両1以外の被写体とが含まれる場合、カメラ8が撮影する撮影画像SGには、車体画像STGと非車両画像HSGとが写る。非車両画像HSGは、車両1の移動に伴って撮影画像SGの画像領域を移動する一方で、車体画像STGは、車両1が移動しても撮影画像SGの画像領域をほとんど移動しない。したがって、車体画像STGの特徴点と、非車両画像HSGの特徴点とでは、算出されるオプティカルフローが異なる。特定部2023は、追跡部2022が算出したオプティカルフローに基づいて、特徴点の移動を表現したベクトルの大きさの異なりを利用して、撮影画像SGから車体画像STGと非車両画像HSGとを判別する。
【0069】
次いで、特定部2023は、追跡部2022が算出したオプティカルフローに基づいて、撮影画像SGの画像領域における非車両画像HSGの特徴点の移動方向が、車体画像STGに近づく方向であるか否かを判別する(ステップSB5)。
【0070】
図7は、オプティカルフローを説明するための図である。
【0071】
図7において、図中で上へ向かう方向を「上方」とし、図中で下へ向かう方向を「下方」とし、図中で左に向かう方向を「左方」とし、図中で右に向かう方向を「右方」とする。
また、
図7に示す撮影画像SG5は、下方が重力方向である車外の撮影画像であるとする。つまり、
図7に示す撮影画像SG5は、重力方向が上下逆さまになっていない撮影画像である。
【0072】
図7で例示する撮影画像SG5には、車体画像STGと、2つの非車両画像HSGとが写っている。なお、
図7では、非車両画像HSGの特徴点として、特徴点T1、T2を代表して図示する。
【0073】
車両1が前方に移動している場合、前方カメラとして機能するカメラ8が撮影する撮影画像SGの画像領域では、車両1の移動に伴って非車両画像HSGが下方に移動する。そのため、前方カメラとして機能するカメラ8が撮影する撮影画像SGの画像領域では、車両1の移動に伴って特徴点T1、T2が車体画像STGに近づく方向に移動する。
【0074】
また、車両1が前方に移動している場合、後方カメラとして機能するカメラ8が撮影する撮影画像SGの画像領域では、車両1の移動に伴って非車両画像HSGが上方に移動する。そのため、後方カメラとして機能するカメラ8が撮影する撮影画像SGの画像領域では、特徴点T1、T2が車体画像STGから遠ざかる方向に移動する。
【0075】
また、車両1が前方に移動している場合、右側方カメラとして機能するカメラ8が撮影する撮影画像SGの画像領域では、車両1の移動に伴って非車両画像HSGが右方に移動する。そのため、右側方カメラとして機能するカメラ8が撮影する撮影画像SGの画像領域では、特徴点T1、T2が右方に移動する。
【0076】
また、車両1が前方に移動している場合、左側方カメラとして機能するカメラ8が撮影する撮影画像SGの画像領域では、車両1の移動に伴って非車両画像HSGが左方に移動する。そのため、左側方カメラとして機能するカメラ8が撮影する撮影画像SGでは、特徴点T1、T2が左方に移動する。
【0077】
図6を参照して、特定部2023は、非車両画像HSGの特徴点の移動方向が、車体画像STGに近づく方向であると判別した場合(ステップSB5:YES)、ステップSB1で特定したカメラI/F23に接続するカメラ8の設置位置が、車両前方位置であると特定する(ステップSB9)。そして、特定部2023は、ステップSB1で特定したカメラI/F23に接続するカメラ8が前方カメラとして機能すると判定する(ステップSB10)。
【0078】
一方で、特定部2023は、非車両画像HSGの特徴点の移動方向が、車体画像STGに近づく方向でないと判別した場合(ステップSB5:NO)、非車両画像HSGの特徴点の移動方向が、車体画像STGから遠ざかる方向であるか否かを判別する(ステップSB6)。特定部2023は、非車両画像HSGの特徴点の移動方向が、車体画像STGから遠ざかる方向であると判別した場合(ステップSB6:YES)、ステップSB1で特定したカメラI/F23に接続するカメラ8の設置位置が、車両後方位置であると特定する(ステップSB11)。そして、特定部2023は、ステップSB1で特定したカメラI/F23に接続するカメラ8が後方カメラとして機能すると判定する(ステップSB12)。
【0079】
一方で、特定部2023は、非車両画像HSGの特徴点の移動方向が、車体画像STGから遠ざかる方向でないと判別した場合(ステップSB6:NO)、非車両画像HSGの特徴点の移動方向が、撮影画像SGの画像領域において右方向であるか否かを判別する(ステップSB7)。特定部2023は、非車両画像HSGの特徴点の移動方向が、右方向であると判別した場合(ステップSB7:YES)、ステップSB1で特定したカメラI/F23に接続するカメラ8の設置位置が、車両右側方位置であると特定する(ステップSB13)。そして、特定部2023は、ステップSB1で特定したカメラI/F23に接続するカメラ8が右側方カメラとして機能すると判定する(ステップSB14)。
【0080】
一方で、特定部2023は、非車両画像HSGの特徴点の移動方向が、右方向でないと判別した場合(ステップSB7:NO)、非車両画像HSGの特徴点の移動方向が、撮影画像SGの画像領域において左方向であるか否かを判別する(ステップSB8)。特定部2023は、非車両画像HSGの特徴点の移動方向が、左方向であると判別した場合(ステップSB8:YES)、ステップSB1で特定したカメラI/F23に接続するカメラ8の設置位置が、車両左側方位置であると特定する(ステップSB15)。そして、特定部2023は、ステップSB1で特定したカメラI/F23に接続するカメラ8が左側方カメラとして機能すると判定する(ステップSB16)。
【0081】
一方で、特定部2023は、非車両画像HSGの特徴点の移動方向が、左方向でないと判別した場合(ステップSB8:NO)、ステップSB1で特定したカメラI/F23に接続するカメラ8の設置位置が特定できないと判定する(ステップSB17)。
【0082】
特定部2023は、ステップSB1で特定したカメラI/F23に接続するカメラ8の設置位置を特定すると、或いは、ステップSB1で特定したカメラI/F23に接続するカメラ8の設置位置が特定できないと判定すると、全てのカメラI/F23を処理対象としたか否かを判別する(ステップSB18)。
【0083】
特定部2023は、全てのカメラI/F23を処理対象としていないと判別した場合(ステップSB18:NO)、処理をステップSB1に戻して、処理対象にしていない1のカメラI/F23を特定する。一方で、特定部2023は、全てのカメラI/F23を処理対象としたと判別した場合(ステップSB18:YES)、設定部203に各カメラ8の設置位置を示す情報を出力する(ステップSB19)。
【0084】
以上のように、追跡部2022は、抽出部2021が抽出したオプティカルフローを算出する。前述した通り、オプティカルフローは、移動をベクトル表記したものである。そのため、特定部2023は、算出されたオプティカルフローから容易に撮影画像SGの画像領域における特徴点の移動方向を取得できる。そのため、特徴点の移動方向に基づくカメラ8の設置位置の特定において、特定部2023は、カメラ8の設置位置を容易に特定できる。
【0085】
また、特定部2023は、追跡部2022が追跡したオプティカルフローに基づいて、ステップSB1で特定した1のカメラI/F23に接続するカメラ8が撮影した撮影画像SGから、非車両画像HSGを判別する。そして、特定部2023は、非車両画像HSGの特徴点の移動方向に基づいて、カメラ8の設置位置を特定する。これにより、特定部2023は、車両1の移動に伴って非車両画像HSGが撮影画像SGの画像領域を移動するため、非車両画像HSGの特徴点の移動方向に基づいて特定することで精度よくカメラ8の設置位置を特定できる。また、特定部2023は、抽出した特徴点のうち、非車両画像HSGの特徴点のみに基づいてカメラ8の設置位置を特定できるため、多くの特徴点を加味して特定する必要がなく、速やかにカメラ8の設置位置を特定できる。
【0086】
図5を参照して、設置位置特定処理を実行すると、制御部20の設定部203の対応関係設定部2031は、特定部2023が出力した各カメラ8の設置位置を示す情報に基づいて、カメラI/F23ごとに、カメラI/F23と1の領域AAとの対応関係を設定する(ステップSA5)。
【0087】
図8は、対応関係設定部2031が設定する対応関係を模式的に示す図である。
図8では、カメラI/F231に左側方カメラとして機能するカメラ81が接続し、カメラI/F232に右側方カメラとして機能するカメラ82が接続し、カメラI/F233に左側方カメラとして機能するカメラ83が接続し、カメラI/F234に後方カメラとして機能するカメラ84が接続している場合を例示する。
【0088】
図8の場合、特定部2023は、設置位置特定処理の処理結果として、カメラ81の設置位置が車両左側方位置であること、カメラ82の設置位置が車両右側方位置であること、カメラ83の設置位置が車両前方位置であること、及び、カメラ84の設置位置が車両後方位置であることを示す情報を設定部203に出力する。
【0089】
設定部203の対応関係設定部2031は、この設置位置を示す情報を取得すると、
図8に示すような対応関係を設定する。
すなわち、対応関係設定部2031は、カメラI/F231から出力された撮影画像データSGDが示す撮影画像SGに基づく使用画像SYGが領域A2に配置されるように、カメラI/F231と領域A2とを対応付ける。また、対応関係設定部2031は、カメラI/F232から出力された撮影画像データSGDが示す撮影画像SGに基づく使用画像SYGが領域A3に配置されるように、カメラI/F232と領域A3とを対応付ける。また、対応関係設定部2031は、カメラI/F233から出力された撮影画像データSGDが示す撮影画像SGに基づく使用画像SYGが領域A1に配置されるように、カメラI/F233と領域A1とを対応付ける。また、対応関係設定部2031は、カメラI/F234から出力された撮影画像データSGDが示す撮影画像SGに基づく使用画像SYGが領域A4に配置されるように、カメラI/F234と領域A4とを対応付ける。
【0090】
図5を参照して、対応関係設定部2031は、カメラI/F23ごとに、カメラI/F23と1の領域AAとの対応関係を設定すると、設定した対応関係を示す情報を記憶部21に記憶させる(ステップSA6)。
【0091】
次いで、設定部203の範囲設定部2032は、特定部2023が出力した各カメラ8の設置位置を示す情報に基づいて、カメラI/F23ごとに、変換画像HGから使用画像SYGを切り出す範囲を設定する(ステップSA7)。
【0092】
図8の場合、範囲設定部2032は、カメラI/F231にA2切出範囲を設定する。また、範囲設定部2032は、カメラI/F232にA3切出範囲を設定する。また、範囲設定部2032は、カメラI/F233にA1切出範囲を設定する。また、範囲設定部2032は、カメラI/F234にA4切出範囲を設定する。
【0093】
次いで、範囲設定部2032は、カメラI/F23ごとに使用画像SYGを切り出す範囲を設定すると、設定した範囲とカメラI/F23と対応関係を示す情報を、記憶部21に記憶させる(ステップSA8)。
【0094】
次いで、制御部20の生成部204は、記憶部21が記憶する情報を参照して、対応関係設定部2031が設定した対応関係と、範囲設定部2032が設定した使用画像SYGの切り出し範囲とに基づいて、俯瞰画像FGを生成する(ステップSA9)。
【0095】
図8に示す対応関係を対応関係設定部2031が設定した場合、生成部204は、カメラ83が撮影した撮影画像SGに基づく使用画像SYGを領域A1に配し、カメラ81が撮影した撮影画像SGに基づく使用画像SYGを領域A2に配し、カメラ82が撮影した撮影画像SGに基づく使用画像SYGを領域A3に配し、カメラ82が撮影した撮影画像SGに基づく使用画像SYGを領域A4に配する。
図8では、カメラ83が前方カメラとして機能し、また、カメラ81が左側方カメラとして機能し、また、カメラ82が右側方カメラとして機能し、また、カメラ84が後方カメラとして機能する場合を例示している。したがって、生成部204が生成する俯瞰画像FGは、領域A1の画像が前方カメラの撮影画像SGに基づく使用画像SYGとなり、領域A2の画像が左側方カメラの撮影画像SGに基づく使用画像SYGとなり、領域A3の画像が右側方カメラの撮影画像SGに基づく使用画像SYGとなり、領域A4の画像が後方カメラの撮影画像SGに基づく使用画像SYGとなる。つまり、生成部204は、領域A1、A2、A3、A4のそれぞれに対し、俯瞰画像FGにおける車両画像SRGが示す車両1からみた方向と対応する撮影方向を撮影するカメラ8の撮影画像SGに基づく使用画像SYGを配した、適切な俯瞰画像FGを生成する。
【0096】
このように、設定部203の対応関係設定部2031は、特定部2023が特定したカメラ8の設置位置に応じて、カメラI/F23ごとに、カメラI/F23と1の領域AAとの対応関係を設定する。これにより、以下の効果を奏する。
【0097】
例えば、カメラI/F231と領域A1とが対応関係にあり、また、カメラI/F232と領域A2とが対応関係にあり、また、カメラI/F233と領域A3とが対応関係にあり、また、カメラI/F234と領域A4とが対応関係にあるとする。また、カメラI/F231には左側方カメラとして機能するカメラ81が接続し、カメラI/F232には右側方カメラとして機能するカメラ81が接続し、カメラI/F233には前方カメラとして機能するカメラ83が接続し、カメラI/F234には後方カメラとして機能するカメラ84が接続しているものとする。
この対応関係に基づいて生成部204により生成される俯瞰画像FGは、領域A1に左側方カメラの撮影画像SGに基づく使用画像SYGが配され、領域A2に右側方カメラの撮影画像SGに基づく使用画像SYGが配され、領域A3に前方カメラの撮影画像SGに基づく使用画像SYGが配された俯瞰画像FGである。つまり、生成部204は、各領域AAに対し、車両画像SRGからみた方向と対応しない撮影方向を撮影するカメラ8の撮影画像SGに基づく使用画像SYGを配した、俯瞰画像FGを生成することになる。そこで、対応関係設定部2031は、上述したように特定部2023が特定したカメラ8の設置位置に応じて、対応関係設定部2031が対応関係を設定する。そのため、生成部204は、各領域AAに対し、俯瞰画像FGにおける車両画像SRGが示す車両1からみた方向と対応する撮影方向を撮影するカメラ8の撮影画像SGに基づく使用画像SYGを配した、適切な俯瞰画像FGを生成できる。したがって、カメラ8がどのカメラI/F23に接続しても、生成部204は、適切な俯瞰画像FGを生成できる。また、カメラ8がどのカメラI/F23に接続しても適切な俯瞰画像FGが生成されるため、カメラ8と画像生成装置2とを接続する際に、ユーザーが、カメラ8とカメラI/F23との対応関係を意識して接続する必要がなく、利便性が向上する。
【0098】
また、設定部203の範囲設定部2032は、特定部2023が特定したカメラ8の設置位置に基づいて、カメラI/F23ごとに、変換画像HGから使用画像SYGを切り出す範囲を設定する。これにより、俯瞰画像FGの各領域AAに配される使用画像SYGを、カメラ8の設置位置に応じた使用画像SYGにできる。したがって、生成部204は、カメラ8がどのカメラI/F23に接続しても、実際の車両1の周囲を俯瞰した様子に即した俯瞰画像FGを生成できる。
【0099】
生成部204は、俯瞰画像FGを生成すると、生成した俯瞰画像FGを示す俯瞰画像データを表示制御部205に出力する。
【0100】
制御部20の表示制御部205は、生成部204から取得した俯瞰画像データに基づく俯瞰画像FGを、タッチパネル7に表示させる(ステップSA10)。これにより、表示制御部205は、カメラ8がどのカメラI/F23に接続しても、適切な俯瞰画像FGを表示できる。
【0101】
図6を用いた設置位置特定処理の説明では、車両1の移動方向が前方であることを前提とした。しかしながら、車両1の移動方向が後方でも、特定部2023は、カメラ8の設置位置を特定できる。この場合、ステップSB5では、非車両画像HSGの特徴点の移動方向が車体画像STGから遠ざかる方向か否かを判別する。また、ステップSB6では、非車両画像HSGの特徴点の移動方向が車体画像STGに近づく方向か否かを判別する。また、ステップSB7では、非車両画像HSGの特徴点の移動方向が右方向か否かを判別する。また、ステップSB8では、非車両画像HSGの特徴点の移動方向が左方向か否かを判別する。
【0102】
また、以上では、
図8に示すように下方が重力方向である撮影画像SGを前提とした俯瞰画像FGの生成について説明した。しかしながら、カメラ8が上下逆さまに取り付けられており、撮影画像SGの重力方向が上下逆さまになっていても、生成部204は、適切な俯瞰画像FGを生成できる。この場合、特定部2023は、撮影画像SGに写る車体画像STGが、撮影画像SGの画像領域において上方に位置するか否かを判別する。特定部2023は、車体画像STGが撮影画像SGの画像領域において上方に位置すると判別した場合、この撮影画像SGを撮影するカメラ8が設置位置において上下逆さまであると判定する。この判定をした場合、特定部2023は、車両1の移動方向が前方である場合、ステップSB5、ステップSB6については
図6と同様に判別し、ステップSB7については右方向か否かを判別して、ステップSB8については左方向か否かを判別する。これにより、特定部2023は、カメラ8が上下逆さまで設置されていても、カメラ8の設置位置を特定できる。設定部203では、特定部2023が上下逆さまであると判定したカメラ8に接続するカメラI/F23が、上下方向反転した撮影画像データSGDを生成部204に出力するように設定する。なお、この撮影画像データSGDの上下方向反転の有無は、俯瞰画像FGを生成する際のパラメーターの一つである。これにより、生成部204は、カメラ8が上下逆さまに設置位置に設けられていても、適切な俯瞰画像FGを生成できる。
【0103】
以上、説明したように、画像生成装置2は、車両1に設けられた複数のカメラ8と接続し、複数のカメラ8によって撮影された複数の撮影画像SGに基づいて、車両1の周囲の俯瞰画像FGを生成する。画像生成装置2は、車両1の移動、及び車両1の移動方向を検出する移動検出部201と、撮影画像SGから特徴点を抽出する抽出部2021と、抽出部2021が抽出した特徴点を撮影画像SGにおいて追跡する追跡部2022と、移動検出部201が車両1の移動を検出した際、移動検出部201が検出した車両1の移動方向と追跡部2022が追跡した特徴点の移動方向とに基づいて、カメラ8の設置位置を特定する特定部2023と、特定部2023が特定したカメラ8の設置位置に応じて、俯瞰画像FGを生成する際のパラメーターを設定する設定部203と、を備える。
【0104】
この構成によれば、カメラ8の設置位置を特定して、特定した設置位置に応じて俯瞰画像FGを生成する際のパラメーターを設定するため、カメラ8がどの接続先に接続しても、適切な俯瞰画像FGを生成できる。
【0105】
また、画像生成装置2は、複数の撮影画像SGのそれぞれを鉛直方向上側の仮想視点から見下ろした画像に変換し、変換した複数の変換画像HGを繋ぎ合わせるように配して俯瞰画像FGを生成する生成部204と、カメラ8と接続可能な複数のカメラI/F23と、を備える。設定部203は、特定部2023が特定したカメラ8の設置位置に応じて、カメラI/F23ごとに、カメラI/F23と俯瞰画像FGの画像領域において変換画像HGが配される領域AAとの対応関係を設定する。
【0106】
この構成によれば、生成部204は、各領域AAに対し、俯瞰画像FGにおける車両画像SRGが示す車両1からみた方向と対応する撮影方向を撮影するカメラ8の撮影画像SGに基づく画像を配した、適切な俯瞰画像FGを生成できる。
【0107】
また、生成部204は、変換画像HGから俯瞰画像FGの生成に使用する使用画像SYGを切り出し、複数の使用画像SYGを繋ぎ合わせるように配して俯瞰画像FGを生成する。設定部203は、特定部2023が特定したカメラ8の設置位置に応じて、カメラI/F23ごとに、変換画像HGから使用画像SYGを切り出す範囲を設定する。
【0108】
この構成によれば、俯瞰画像FGの各領域AAに配される使用画像SYGを、カメラ8の設置位置に応じた使用画像SYGにできる。したがって、生成部204は、カメラ8がどのカメラI/F23に接続しても、実際の車両1の周囲を俯瞰した様子に即した俯瞰画像FGを生成できる。
【0109】
また、追跡部2022は、抽出部2021が抽出した特徴点のオプティカルフローを算出する。
【0110】
この構成によれば、特定部2023は、算出されたオプティカルフローから容易に撮影画像SGの画像領域における特徴点の移動方向を取得できる。そのため、特徴点の移動方向に基づくカメラ8の設置位置の特定において、特定部2023は、カメラ8の設置位置を容易に特定できる。
【0111】
また、特定部2023は、オプティカルフローに基づいて、撮影画像SGから車両1以外の被写体の画像である非車両画像HSGを判別し、非車両画像HSGの特徴点の移動方向に基づいて、カメラ8の設置位置を特定する。
【0112】
この構成によれば、特定部2023は、車両1の移動に伴って非車両画像HSGが撮影画像SGの画像領域を移動するため、非車両画像HSGの特徴点の移動方向に基づいて特定することで精度よくカメラ8の設置位置を特定できる。また、特定部2023は、抽出した特徴点のうち、非車両画像HSGの特徴点のみに基づいてカメラ8の設置位置を特定できるため、多くの特徴点を加味して特定する必要がなく、速やかにカメラ8の設置位置を特定できる。
【0113】
車両1には、タッチパネル7が設けられる。画像生成装置2は、生成した俯瞰画像FGをタッチパネル7に表示させる表示制御部205を備える。
【0114】
この構成によれば、カメラ8がどのカメラI/F23に接続しても、適切な俯瞰画像FGを表示できる。
【0115】
上述した実施形態は、あくまでも本発明の一態様を例示するものであって、本発明の趣旨を逸脱しない範囲で任意に変形、及び、応用が可能である。
【0116】
例えば、上述した実施形態では、車両1に設けられるカメラの台数を4台として説明したが、車両1に設けられるカメラの台数は、更に多くてもよく、少なくてもよい。例えば、車両1には、前方、右前方、右側方、右後方、後方、左後方、左側方、及び左前方を撮影する8台のカメラが設けられていてもよい。この場合、生成部204は、8つの使用画像SYGを繋ぎ合わせて配することで俯瞰画像FGを生成する。
【0117】
また、例えば、設定部204は、特定部204が特定したカメラ8の設置位置に応じて、対応関係、及び使用画像SGの切り取り範囲以外のパラメーターを設定してもよい。例えば、設定部204は、特定部204が特定したカメラ8の設置位置に応じて、画像の明るさを一定に保つための自動露光制御を行うための測定範囲や、ホワイトバランスを調整するための測定範囲等の測定範囲をパラメーターとして設定してもよい。例えば、この測定範囲は、使用画像SYGの範囲内となるように予め設定され、使用画像SYGの切り出し範囲と同様に、領域AAに応じた範囲である。生成部204は、俯瞰画像FGを生成する際に、測定範囲で自動露光制御やホワイトバランスの調整等に必要な測定を行う。そして、生成部204は、測定に応じて使用画像SYGに画像処理を施し、適切な明るさであって、適切な色合いの画像を取得する。これにより、生成部204は、カメラ8がどの接続先に接続しても、実際の車両1の周囲を俯瞰した様子に即した俯瞰画像FGを自動で生成できる。
【0118】
また、例えば、上述した画像生成装置2の制御方法が、画像生成装置2が備えるコンピューターを用いて実現される場合、本発明を、上記通信方法を実現するためにコンピューターが実行するプログラム、このプログラムを前記コンピューターで読み取り可能に記録した記録媒体、或いは、このプログラムを伝送する伝送媒体の態様で構成することも可能である。
【0119】
また、例えば、本実施形態は、制御部20が一つのプロセッサー(CPU)を備え、このプロセッサーが制御プログラムに従った処理を実行することで制御部20の機能を実現するが、複数のプロセッサー又は半導体チップにより制御部20の機能を実現してもよい。例えば、制御部20が、SoC(System-on-a-Chip)やMCU(Micro Control Unit)、FPGA(Field-Programmable Gate Array)等の副処理装置(co-processor)をさらに備える構成であってもよい。また、制御部20は、CPU及び副処理装置の双方を協働させるか、あるいは双方のうちの一方を選択的に用いて各種の制御を行ってもよい。
【0120】
また、例えば、
図1は、本願発明を理解容易にするために、画像生成装置2、及び車両1の構成を主な処理内容に応じて分類して示した概略図であり、画像生成装置2、及び車両1の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。
図3に示す制御部20の構成についても同様である。
【0121】
また、例えば、
図5、及び
図6のフローチャートの処理単位は、画像生成装置2の処理を理解容易にするために、主な処理内容に応じて分割したものであり、処理単位の分割の仕方や名称によって、本発明が限定されることはない。画像生成装置2の処理は、処理内容に応じて、さらに多くの処理単位に分割してもよい。また、1つの処理単位がさらに多くの処理を含むように分割してもよい。