【実施例1】
【0013】
以下、地図データ生成装置として構成した場合の実施例について説明する。地図データ生成装置は、車載のカメラで撮影した画像を解析することで、標識・案内板・信号機などの実寸および位置を特定し、特定結果に基づいてこれらの3次元モデルを生成する装置である。この画像解析により標識等の実寸および位置を特定する部分が、本発明の画像解析装置に相当する。以下の実施例では、画像解析の対象となる標識等を対象物と呼ぶこともある。
【0014】
A.システム構成:
図1は、実施例における地図データ生成システムの構成を示す説明図である。地図データ生成システムは、動画像を撮影するための画像データ取得装置100と、動画像を処理するための画像データ処理装置200とから構成される。本実施例では、両者を別体の構成としたが、単一の装置として構成してもよい。また、画像データ処理装置200を多数の装置からなる分散処理システムとして構成してもよい。
【0015】
実施例の画像データ取得装置100は、車両上に種々の装置を搭載して構成されている。車両にはビデオカメラ120が搭載されている。ビデオカメラ120は、車両に対して一定の姿勢角を保持可能な状態で固定されている。広範囲・高精細の画像を効率的に取得するため、ビデオカメラ120は、ハイビジョンの広角カメラを利用することが好ましい。
ビデオカメラ120の画像は、後述する通り、対象物の画像解析処理に利用される。
【0016】
車両には、取得されたデータをディジタルの画像データとして保存するためのハードディスク114およびこの保存等を制御するための制御部110が用意されている。制御部110は、例えば、汎用のコンピュータに、画像データ等を取得・管理するためのコンピュータプログラムをインストールすることで構成可能である。
【0017】
GPS(Global Positioning System)102は撮影時の車両の位置情報、即ち緯度経度を周期的に検出し、検出時刻と共に出力する。このデータは、画像データと併せて種々のハードディスク114に記録される。車速センサ104は、車両が一定距離移動する度に車速パルスと呼ばれる信号を出力する。車速パルスも、画像データと併せてハードディスク114に記録される。
【0018】
本実施例では、制御部110および基準位置入力部112を、コンピュータプログラムのインストールによってソフトウェア的に実現するものとしたが、これらは専用の回路によってハードウェア的に構成することも可能である。
【0019】
次に、画像データ処理装置200の構成について説明する。画像データ処理装置200は、汎用のコンピュータに、画像データ処理用のコンピュータプログラムをインストールして構成されている。画像データ取得装置100から画像データ処理装置200へのデータの転送は、リムーバブルハードディスク114aを用いるものとした。かかる方法に限らず、DVDその他の記録媒体を用いても良いし、ネットワーク経由で転送するようにしてもよい。
【0020】
上述のコンピュータプログラムのインストールにより、画像データ処理装置200には、図示する種々の機能ブロックが構成される。もっとも、これらの機能ブロックの少なくとも一部は、ASICなどによってハードウェア的に構成することも可能である。
【0021】
データ入力部206は画像データ取得装置100で生成された画像データを入力する。先に説明した通り、画像データと併せてGPS102で検出された緯度経度、車速パルスも入力する。入力される画像データは、多数の連続するフレームからなる動画像である。
コマンド入力部202は、オペレータの操作に基づいて、画像解析に必要な条件、指示等のコマンドを入力する。
【0022】
標識・案内板データベース222は、対象物の外観を表す2次元画像、および3次元モデルのデータベースである。本実施例では、種々の標識や、案内板、信号機などを正面から見た状態の2次元画像データがパターンデータとして格納され、これらの基本形状を表す3次元モデルが格納されている。
対象物サイズ測定部208は、動画像を構成する画像内における対象物のサイズを測定する。画像内で対象物が写っている部分の特定は、上述のパターンデータを用いたパターンマッチングにより行う。
フレーム選択部204は、動画を構成する多数のフレームから、対象物の実寸や基準点からの距離の解析に適したフレームを所定数選択する。
距離関数決定部210は、選択されたフレームに写った対象物を解析して、フレームごとに、対象物の距離関数を求める。距離「関数」となっているのは、基準点からの距離は、対象物の実寸(撮影時には未知である)の関数となるからである。
距離・実寸算出部212は、得られた距離関数を統計的に処理することにより、対象物の基準点からの距離および実寸を求める。
【0023】
標識・案内板モデル生成部214は、対象物の距離および実寸の算出結果に基づき、対象物の3次元モデルを生成する。3次元モデルは、標識・案内板データベース222に記憶されているため、これらを算出された実寸に基づいて拡大縮小し、求められた位置に配置する。
こうして生成された対象物の3次元モデルは、データベース管理部224を介して、3次元地図データベース220に格納される。
【0024】
B.データ構造:
図2は、画像データ等の構造を示す説明図である。ビデオカメラ120で撮影された動画像を構成するフレームデータ、および車速パルスの関係を示した。図の上方のデータ群Tには、これらの各種データを時間−基準で配置した状態を示した。
【0025】
データ群Tに示す通り、フレームデータFr1〜Fr10は、一定の時間間隔で取得されている。本実施例では30Hzである。もっとも、フレームデータは、任意の時刻に撮影された静止画の集合を用いることもできる。この場合、時間間隔は不定であっても良い。
【0026】
車速パルスP1〜P6は、車両が一定距離移動するたびに取得される。本実施例では、約0.39m移動するごとに取得されている。データ群Tは時間基準で並べたものであるため、車速パルスの間隔は車両の移動速度に応じて変化する。例えば、パルスP1、P2の間が狭いのは移動速度が比較的高かったからである。逆に、パルスP2、P3の間が広いのは移動速度が遅かったからである。
【0027】
下方のデータ群Rには、データ群Tに示した各データを撮影時の移動距離基準で並べた状態を示した。移動距離基準であるため、図示する通り、車速パルスP1〜P6が等間隔で並べられることになる。フレームデータFr1〜Fr8は、それぞれの車速パルス間では車両が等速で移動しているという仮定の下で並べられる。この結果、例えば、フレームデータFr2は、次の規則の下で並べられることになる。
t1:t2=r1:r2;
t1…データ群Tにおける車速パルスP1とフレームFr2との間の時間
t2…データ群Tにおける車速パルスP2とフレームFr2との間の時間
r1…データ群Rにおける車速パルスP1とフレームFr2との間の距離
r2…データ群Rにおける車速パルスP2とフレームFr2との間の距離
他の各フレームデータおよび基準位置パルスも同様である。こうすることにより、データ群Rに示すように、各フレームデータを撮影時の軌跡に沿って配置すること、即ち軌跡に沿う方向の位置を特定することが可能となる。
【0028】
フレームデータの配置は、図示した方法に依らず、種々の方法を採ることができる。例えば、車速パルスに比較してフレームデータが十分に高い頻度で取得されている場合には、これらのフレームデータから、車速パルスと同期しているものを抽出するようにしてもよい。こうすることにより、等距離間隔で取得されたフレームデータ群を生成することが可能となる。車速パルスと同期しているフレームデータを抽出する場合、撮影位置の解析に要求される精度を考慮し、両者の時刻間に所定範囲内の誤差を許容してもよい。
【0029】
C.距離関数:
図3は、対象物のサイズおよび距離の関係を算出する方法を示す説明図である。図の上方に撮影画像を示した。この中に写っている標識を認識する場合を例にとって説明する。
図の中段に、車両の走行軌跡を示した。車両は、車線を走行しているが、その走行軌跡は基準線から、いくらかのずれもある。図中で曲線状に走行軌跡を描いているのは、基準線からのずれを表している。
【0030】
図の下段には、走行軌跡上の点P1〜P4における撮影画像に写された対象物の画像IMG1〜IMG4を示した。画像IMG1〜IMG4は、撮影画像から、画像処理によって抽出することができる。本実施例では、パターンマッチングを用いた。つまり、予め認識対象部物の画像(この例では、速度標識の画像となる)をパターンデータとして標識・案内板データベース222(
図1参照)に記憶させておき、このパターンデータと一致する画像を撮影画像から抽出するのである。対象物の画像は、パターンマッチングの他、円形と判断される画像を抽出する方法など、種々の方法で行うことができる。
【0031】
図示する通り、対象物までの距離が近づくにつれて、対象物の画像のサイズは大きくなる。画像のサイズは、対象物の実寸、撮影時の画角、撮影位置から対象物までの距離によって決まる。撮影時の画角は既知であるから、対象物の実寸を仮定すれば、対象物の画像のサイズに基づいて、撮影位置から対象物までの距離が求まることになる。
【0032】
本実施例では、一例として、対象物の画像のサイズを、その対角線で表す。例えば、点P1における画像IMG1のサイズは、図中に示す対角線S1で表される。同様に、対象物の実寸も、その対角線Xで表すものとする。このとき、点P1から対象物までの距離は、対象物の実寸Xと、画像中の対角線S1との関数で求められる。この関数は、比較的単純なモデルとして、一次関数で表すことができる。
他の点P2〜P4においても、同様にして、各点から対象物までの距離を求めることができる。また、その結果を用いて、基準点としての点P1から対象物までの距離を算出することもできる。
【0033】
図中に点P3での撮影画像に基づいて基準点としての点P1から認識対象部までの距離L(3)を算出する方法を示した。距離L(3)は、点P3から対象物までの距離Li(3)と、点P1から点P3までの距離Lp(3)との和で表される。距離Li(3)は、画像IMG3の対角線に基づいて得ることができる。距離Lp(3)は、各点間の移動距離に、基準線からのずれを考慮することで次式により求めることができる。
Lp(3)=d12・cos(ψ12)+d23・cos(ψ23);
d12…点P1、P2間の距離;
d23…点P2、P3間の距離;
ψ12…点P1から点P2方向の基準線からのずれ角;
ψ23…点P2から点P3方向の基準線からのずれ角;
【0034】
このように、点P1から対象物までの距離は、点P1〜P4において撮影された各画像を用いて求めることができる。誤差が全く含まれていなければ、これらの各方法によって得られる距離は、一致するはずである。しかし、実際には、種々の誤差が含まれるため、これらは一致しない。
【0035】
図4は、距離関数と対象物の実寸との関係を示すグラフである。距離関数とは、
図3で説明した基準点P1から対象物までの距離のことである。対象物の実寸を変数Xとすると、各画像IMG1、IMG2…から求まる対象物までの距離Lは、関数F1、F2…のように、それぞれXの関数として求まる。これらの関数F1,F2…を見れば明らかな通り、対象物の実寸Xの値によって、得られる距離Lは関数ごとに異なっている。この関数によって得られる距離Lのばらつき、即ち分散を実寸Xごとに求めると、図中に示す距離分散関数の曲線が得られる。
何らの誤差もなければ、各フレームから得られた対象物の実寸および距離は一致するはずである。逆に、各フレームから得られた値のばらつきが少ない状態、即ち分散が最小となるときの実寸、距離が、対象物の正しい実寸および距離であると言える。
かかる観点から、
図4の例では、対象物実寸は、横軸の分散最小値となる値XFとなる。また、距離関数において、これに対する値LFが対象物までの距離と求まる。こうして得られた実寸および距離が、標識・案内板モデルの生成に用いられる。
【0036】
D.標識・案内板モデル生成処理:
図5は、標識・案内板モデル生成処理のフローチャートである。撮影した画像から対象物の実寸および距離を求め、標識等の3次元地図データを生成する処理である。
処理を開始すると、画像データ処理装置200は、オペレータから、生成する対象物の指定を受け付ける(ステップS510)。そして、距離・実寸距離算出処理を行う(ステップS12)。距離・実寸算出処理は、
図3、4で説明した方法によって、対象物の実寸および基準点からの距離を求める処理である。具体的処理内容は、後述する。
次に画像データ処理装置200は、基準フレームの撮影位置、基準線、距離に基づき対象物の位置を設定する(ステップS14)。図中に位置の特定方法を示した。基準フレームとは、距離を計測する基準となったフレームの撮影位置、即ち基準点である。基準フレームの撮影位置から、基準線の方向に対して距離LFだけ進んだところが対象物の位置となる。
【0037】
画像データ処理装置200は、対象物の基本3次元モデルを読込み(ステップS16)、これを対象物のサイズXFに合わせて変形して、ステップS14で求められた位置に配置する(ステップS18)。
【0038】
D1.距離・実寸算出処理:
図6は、距離・実寸算出処理のフローチャートである。標識・案内板モデル生成処理(
図5)のステップS12に相当する処理である。
処理を開始すると、画像データ処理装置200は、フレームの画像データおよび撮影位置データを読み込む(ステップS50)。そして、各フレーム画像内の対象物サイズSを測定する(ステップS52)。
また、距離の算出基準となるフレームを選択する(ステップS54)。本実施例では、対象物サイズが所定値以上となること、および対象物が写ったフレーム数が所定数以上という2つの条件に合致するようフレームを選択するものとした(ステップS54)。
【0039】
次に、画像データ処理装置200は、選択された各フレームについて
図3で説明した考え方に基づき、距離関数を決定する(ステップS56)。本実施例では、距離Lは、対象物の実寸Xの一次関数となり、「距離L=C1×X+C2」の式で表される。図中に示すように、フレームごとに、係数C1、C2が定められることになる。
距離関数が求まると、画像データ処理装置200は、距離分散関数を求め、この値が最小となる実寸XFを算出する(ステップS58)。また、得られた実寸XFを、ステップS56で得られたいずれかの距離関数に代入することにより、対象物までの距離LFを算出する(ステップS60)。
得られた実寸XF、および距離LFは、標識・案内板モデル生成処理(
図5)に用いられる。
【0040】
E.効果:
以上で説明した実施例によれば、対象物の実寸および位置を、複数のフレームに基づく統計的な処理によって精度良く求めることができる。
実施例では、対象物の位置を、基準撮影フレームからの距離で一次元的に表した例を示したが、対象物の位置を2次元座標で表すものとしてもよい。
また、実施例では、標識を対象物とする例を示したが、本発明は、位置が不変の対象物であり、撮影可能なサイズのものであれば、種々の対象物に対して適用可能である。