(57)【要約】【課題】  車両と校正用指標の相対的な設置精度を求めず、且つ校正用指標の敷設準備を簡略化可能とする。【解決手段】  車両が設置された路面上に、予め設けられた校正用指標を含む前記車両の周辺領域を、車両に設置された複数のカメラで撮像された複数の画像からカメラのキャリブレーションをするカメラのキャリブレーション方法であって、校正用指標は、少なくとも２本の第１の平行直線と２本の平行直線と垂直な２本の第２の平行直線とが交わる複数の交点であって、複数の画像の各々の画像を予め記憶された第１のカメラパラメータに基づいて視点変換して俯瞰映像を生成し、生成された俯瞰映像から複数の交点を認識し、認識された複数の交点と複数のカメラの位置及び姿勢の情報とに基づいて、ずれのない俯瞰映像を生成可能な第２のカメラパラメータを算出する。【選択図】  図４
2014064224.tif 000002
【特許請求の範囲】
【請求項１】
車両が設置された路面上に、予め設けられた校正用指標を含む前記車両の周辺領域を、前記車両に設置された複数のカメラで撮像された複数の画像からカメラのキャリブレーションをするカメラのキャリブレーション方法であって、
前記校正用指標は、少なくとも、２本の第１の平行直線と、前記２本の平行直線と垂直な２本の第２の平行直線と、が交わる複数の交点であって、
前記複数の画像の各々の画像を予め記憶された第１のカメラパラメータに基づいて視点変換して俯瞰映像を生成し、
生成された前記俯瞰映像から前記複数の交点を認識し、
認識された前記複数の交点と前記複数のカメラの位置及び姿勢の情報とに基づいて、ずれのない俯瞰映像を生成可能な第２のカメラパラメータを算出するカメラのキャリブレーション方法。
【請求項２】
請求項１記載のカメラのキャリブレーション方法において、
認識された前記複数の交点が正しいか否かを判定し、
判定した結果、前記複数の交点が間違っていると判定された場合、前記俯瞰映像を表示装置に出力し、
正しい複数の交点が入力された場合、入力された前記複数の交点と予め記憶された前記複数のカメラの位置及び姿勢の情報とに基づいて、ずれのない俯瞰映像を生成可能な第２のカメラパラメータを算出するカメラのキャリブレーション方法。
【請求項３】
請求項１記載のカメラのキャリブレーション方法において、
前記俯瞰映像は、前記第１のカメラパラメータに基づいて生成されたマップを用いて生成されるカメラのキャリブレーション方法。
【請求項４】
請求項２記載のカメラのキャリブレーション方法において、
認識された前記複数の交点から複数の直線を生成し、
生成された前記複数の直線が平行となる前記複数のカメラのピッチ角及びヨー角を算出し、
前記複数の直線の間隔が予め定めた間隔になる前記複数のカメラの高さを算出し、
算出された前記ピッチ角、前記ヨー角、前記高さに基づいて、認識された前記複数の交点が正しいか否かを判定するカメラのキャリブレーション方法。
【請求項５】
請求項１記載のカメラのキャリブレーション方法において、
認識された前記複数の交点から複数の直線を生成し、
生成された前記複数の直線が平行となる前記複数のカメラのピッチ角及びヨー角を算出し、
前記複数の直線の間隔が予め定めた間隔になる前記複数のカメラの高さを算出し、
前記複数の直線の傾きから前記複数のカメラのロール角をキャリブレーションし、
前記俯瞰映像中の前記複数の直線のずれが最小となる並進成分を算出し、
前記複数のカメラの位置及び姿勢の前記情報である、算出された前記ピッチ角、前記ヨー角、前記高さ、前記ロール角、前記並進成分と、認識された前記複数の交点と、に基づいて、ずれのない俯瞰映像を生成可能な第２のカメラパラメータを算出するカメラのキャリブレーション方法。
【請求項６】
請求項１記載のカメラのキャリブレーション方法において、
前記校正用指標は、少なくとも、２本の第１の平行直線と、前記２本の平行直線と垂直な２本の第２の平行直線と、前記２本の平行直線と平行な２本の第３の平行直線と、が交わる複数の交点であるカメラのキャリブレーション方法。
【請求項７】
請求項１記載のカメラのキャリブレーション方法において、
前記校正用指標は、２本の第１の平行直線と、前記２本の平行直線と垂直な２本の第２の平行直線と、前記２本の平行直線と平行な２本の第３の平行直線と、前記２本の第２の平行直線と平行な２本の第４の平行直線と、が交わる複数の交点であるカメラのキャリブレーション方法。
【請求項８】
車両が設置された路面上に、予め設けられた校正用指標を含む前記車両の周辺領域を、前記車両に設置された複数のカメラで撮像された複数の画像からカメラのキャリブレーションをするカメラのキャリブレーション装置であって、
前記校正用指標は、少なくとも、２本の第１の平行直線と、前記２本の平行直線と垂直な２本の第２の平行直線と、が交わる複数の交点であって、
前記複数の画像の各々の画像を予め記憶された第１のカメラパラメータに基づいて視点変換して俯瞰映像を生成する俯瞰映像生成部と、
生成された前記俯瞰映像から前記複数の交点を認識する特徴点認識部と、
認識された前記複数の交点と前記複数のカメラの位置及び姿勢の情報とに基づいて、ずれのない俯瞰映像を生成可能な第２のカメラパラメータを算出するキャリブレーション部と、を有するキャリブレーション装置。
【請求項９】
請求項８記載のカメラのキャリブレーション装置において、
認識された前記複数の交点が正しいか否かを判定する認識判定部と、
判定した結果、前記複数の交点が間違っていると判定された場合、前記俯瞰映像を表示装置に出力する表示部と、
正しい複数の交点が入力される入力部と、を有し、
前記キャリブレーション部は、前記入力部から入力された前記複数の交点と予め記憶された前記複数のカメラの位置及び姿勢の情報とに基づいて、ずれのない俯瞰映像を生成可能な第２のカメラパラメータを算出するカメラのキャリブレーション装置。
【請求項１０】
請求項８記載のカメラのキャリブレーション装置において、
前記第１のカメラパラメータに基づいて、前記複数の画像を前記俯瞰映像に変換するためのマップを生成するマップ生成部を有するカメラのキャリブレーション装置。
【請求項１１】
請求項９記載のカメラのキャリブレーション装置において、
前記認識判定部は、
認識された前記複数の交点から複数の直線を生成する仮想直線生成部と、
生成された前記複数の直線が平行となる前記複数のカメラのピッチ角を算出するピッチ補正部と、
生成された前記複数の直線が平行となる前記複数のカメラのヨー角を算出するヨー補正部と、
前記複数の直線の間隔が予め定めた間隔になる前記複数のカメラの高さを算出する高さ補正部と、を有し、
算出された前記ピッチ角、前記ヨー角、前記高さに基づいて、認識された前記複数の交点が正しいか否かを判定するカメラのキャリブレーション装置。
【請求項１２】
請求項８記載のカメラのキャリブレーション装置において、
前記キャリブレーション部は、
認識された前記複数の交点から複数の直線を生成する仮想直線生成部と、
生成された前記複数の直線が平行となる前記複数のカメラのピッチ角を算出するピッチ補正部と、
生成された前記複数の直線が平行となる前記複数のカメラのヨー角を算出するヨー補正部と、
前記複数の直線の間隔が予め定めた間隔になる前記複数のカメラの高さを算出する高さ補正部と、
前記複数の直線の傾きから前記複数のカメラのロール角をキャリブレーションするロール補正部と、
前記俯瞰映像中の前記複数の直線のずれが最小となる並進成分を算出する並進補正部と、を有し、
前記複数のカメラの位置及び姿勢の前記情報である、算出された前記ピッチ角、前記ヨー角、前記高さ、前記ロール角、前記並進成分と、認識された前記複数の交点と、に基づいて、ずれのない俯瞰映像を生成可能な第２のカメラパラメータを算出するカメラのキャリブレーション装置。
【請求項１３】
請求項８記載のカメラのキャリブレーション装置において、
前記校正用指標は、少なくとも、２本の第１の平行直線と、前記２本の平行直線と垂直な２本の第２の平行直線と、前記２本の平行直線と平行な２本の第３の平行直線と、が交わる複数の交点であるカメラのキャリブレーション装置。
【請求項１４】
請求項８記載のカメラのキャリブレーション装置において、
前記校正用指標は、２本の第１の平行直線と、前記２本の平行直線と垂直な２本の第２の平行直線と、前記２本の平行直線と平行な２本の第３の平行直線と、前記２本の第２の平行直線と平行な２本の第４の平行直線と、が交わる複数の交点であるカメラのキャリブレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラのキャリブレーション方法及び装置に関する。
【背景技術】
【０００２】
車載カメラで撮影された車両後方の画像を車載モニタに表示することで、運転者から死角になる車両後方直近の状況を、車載モニタに表示された画像として視認し、車両後退時の視認性を向上させることが行われている。
【０００３】
このような車載カメラの画像を車載モニタに表示するに際しては、車載カメラの車両への取付け状態を校正するために、車両の後方に校正用の指標を設置し、車載モニタに映った校正用指標の像を見ながら、その校正用指標の像が適正に映るように、車載カメラの取付け状態を調整することが行われる。
【０００４】
また、車載カメラで得られた画像に対して、校正用指標の像に基づいた所定の演算処理を施すことで、車載モニタに映る画像を適正に校正することが行われている。
【０００５】
また、車両の全周囲を複数の車載カメラで撮影し、各車載カメラで得られた複数の画像をそれぞれ、車両の真上から見下ろしたような画像（俯瞰画像）に変換するとともに、各画像間での位置を調整したマッピングを行うことで、単一の視点変換合成画像を得ることも行われている（特許文献１）。
【０００６】
このような場合は、隣接する２つの画像間で精度よく位置合わせを行う必要があるため、高精度のキャリブレーションが求められる。
【０００７】
しかし、従来のキャリブレーション方法は、校正用指標と車両との相対的な位置関係を厳密に定める必要があり、車両を設置した後に、その車両に対して精度よく校正用指標を設置するか、または校正用指標を設置した後に、その校正用指標に対して精度よく車両を設置する必要があった。
【０００８】
このため、車両生産ラインでは、費用を掛けて設備を改造し、車両と校正用指標との位置合わせ精度を向上させる工夫がなされている。さらに、生産現場から一旦出荷された後に販売・サービス会社の整備部門でキャリブレーションをし直す場合（修理等の場合や車載カメラ等を後付けする場合等）は、校正用指標をその都度、精度良く設置する必要があるため、作業の手間が一層掛かるものとなっている。
【０００９】
このような状況から、車両と校正用指標の相対的な設置精度を求めないキャリブレーション方法が求められている。
【００１０】
車両と校正用指標の相対的な設置精度を求めないキャリブレーション方法として、特許文献２がある。特許文献２は、白線格子の直線性、平行性、直交性、間隔といった車両の停車状態とは無関係な特徴を利用して、複数カメラの内部/歪みパラメータ、および外部パラメータをキャリブレーションする。車両の位置決めが不要で、内部/歪みパラメータもキャリブレーションできるため、簡易かつ高精度なキャリブレーションが可能である。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】国際公開第００／０７３７３号公報
【特許文献２】特開２０１２−１５５７６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、校正用の白線格子は、車両下の平面に直接描画、あるいは敷設して利用するため、大型の建設用機械など、車両が巨大な場合には、大きな校正用チャートが必要になり、校正用チャートの作成、運搬、敷設などの校正に必要な準備に手間がかかる。
【００１３】
本発明は、上記事情に鑑みて、車両と校正用指標の相対的な設置精度を求めず、且つ校正用指標の敷設準備を簡略化可能とすることを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明は、車両が設置された路面上に、予め設けられた校正用指標を含む前記車両の周辺領域を、車両に設置された複数のカメラで撮像された複数の画像からカメラのキャリブレーションをするカメラのキャリブレーション方法であって、校正用指標は、少なくとも２本の第１の平行直線と２本の平行直線と垂直な２本の第２の平行直線とが交わる複数の交点であって、複数の画像の各々の画像を予め記憶された第１のカメラパラメータに基づいて視点変換して俯瞰映像を生成し、生成された俯瞰映像から複数の交点を認識し、認識された複数の交点と複数のカメラの位置及び姿勢の情報とに基づいて、ずれのない俯瞰映像を生成可能な第２のカメラパラメータを算出する構成とする。
【００１５】
また、車両が設置された路面上に、予め設けられた校正用指標を含む車両の周辺領域を、車両に設置された複数のカメラで撮像された複数の画像からカメラのキャリブレーションをするカメラのキャリブレーション装置であって、校正用指標は、少なくとも２本の第１の平行直線と２本の平行直線と垂直な２本の第２の平行直線とが交わる複数の交点であって、複数の画像の各々の画像を予め記憶された第１のカメラパラメータに基づいて視点変換して俯瞰映像を生成する俯瞰映像生成部と、生成された俯瞰映像から複数の交点を認識する特徴点認識部と、認識された複数の交点と複数のカメラの位置及び姿勢の情報とに基づいて、ずれのない俯瞰映像を生成可能な第２のカメラパラメータを算出するキャリブレーション部と、を有する構成とする。
【発明の効果】
【００１６】
本発明は、車両と校正用指標の相対的な設置精度を求めず、且つ校正用指標の敷設準備を簡略化できる。
【図面の簡単な説明】
【００１７】
【図１】本発明に係るカメラのキャリブレーション装置の一構成例を示す図である。
【図２】本発明のキャリブレーションターゲットの一例を示す図である。
【図３】本発明のキャリブレーションターゲットに対する車両の設置状態を示す図である。
【図４】本発明のキャリブレーション装置のフローチャートの一例を示す図である。
【図５】本発明の認識判定部のフローチャートの一例を示す図である。
【図６】本発明のキャリブレーション部のフローチャートの一例を示す図である。
【発明を実施するための形態】
【００１８】
本発明に係るキャリブレーション装置の一例を以下説明する。
【００１９】
図１は、本実施例のキャリブレーション装置の一例を示す図である。
【００２０】
車両が設置された路面上に、予め設けられた校正用指標を含む車両の周辺領域を、車両に設置された複数のカメラで撮像された複数の画像からカメラのキャリブレーションをするキャリブレーション装置１００は、キャリブレーションターゲット１０１と、撮像部であるカメラ１、カメラ２、カメラ３、カメラ４と、カメラインターフェース１０２と、演算装置１０３と、記憶部であるＲＡＭ１０４と、記憶部であるＲＯＭ１０５と、入力装置１０６と、表示装置１０７と、を備える。
【００２１】
校正用指標であるキャリブレーションターゲット１０１は、本発明において実施されるキャリブレーションに必要な情報を有する。カメラ１、カメラ２、カメラ３、カメラ４の各カメラによって撮影され、キャリブレーションに利用される。キャリブレーションに必要な情報に関しては、後述する図２の説明のなかで示す。
【００２２】
カメラ１、カメラ２、カメラ３、カメラ４の各カメラは、例えば、図３のように車両の前後左右に設置される。校正時にはキャリブレーションターゲット１０１を撮影し、撮影した映像をキャリブレーションに用いる。キャリブレーション後は、カメラ１、カメラ２、カメラ３、カメラ４の各カメラの映像を演算装置１０３で視点変換・合成し、表示装置１０７を介して、ユーザに車両の真上から見下ろした俯瞰映像を提示する。
【００２３】
カメラインターフェース１０２は、撮像部であるカメラ１、カメラ２、カメラ３、カメラ４の各カメラから送り出された映像信号を正しくサンプリングし、サンプリングされた各カメラからの映像信号を演算装置１０３に送り込む。
【００２４】
演算装置１０３は、カメラインターフェース１０２、ＲＡＭ１０４、ＲＯＭ１０５、入力装置１０６、表示装置１０７と連携し、キャリブレーション演算を含む種々の演算を実施する。具体的には、カメラインターフェース１０２から送られてきた映像信号を取得し、ＲＡＭ１０４に格納したり、ＲＯＭ１０５に格納されている第１のカメラパラメータであるカメラパラメータ初期値４１１を読み出して、ＲＡＭ１０４に格納された映像信号を視点変換及び合成をしたり、視点変換及び合成された映像信号を表示装置１０７に表示させる処理を行う。また、俯瞰映像が真上から見下ろした映像になるように、カメラの設置位置やカメラ姿勢を算出するキャリブレーション演算を実施したり、入力装置１０６において受け付けたユーザの入力情報を受け取り、キャリブレーション演算に活用したりする。詳細の手順に関しては、後述の図４、図５の説明とあわせて説明する。
【００２５】
ＲＡＭ１０４には、カメラ１、カメラ２、カメラ３、カメラ４によって撮影され、カメラインターフェース１０２から取得した映像信号が格納される。また、演算装置１０３で得られる計算結果も格納される。
【００２６】
ＲＯＭ１０５には、キャリブレーション装置１００において必要となる事前の情報が書き込まれ、格納される。例えば、カメラの設置位置や姿勢の設計値、カメラの焦点距離、画素サイズ、光軸中心、歪み関数などのカメラパラメータが格納される。
【００２７】
入力装置１０６は、ユーザからキャリブレーションに必要な情報などの入力を受け付け、その入力情報を演算装置１０３に送り込む。
【００２８】
表示装置１０７は、演算装置１０３の指示に基づき、カメラ１、カメラ２、カメラ３、カメラ４の各映像信号を変換して表示する。演算装置１０３からの指示によっては、カメラ２のみの映像を変換せずに表示したり、カメラ１、カメラ２、カメラ３、カメラ４の各映像信号を視点変換、合成して、俯瞰映像に変換して表示したりする。
【００２９】
図２は、本実施例において利用される校正用指標であるキャリブレーションターゲット１０１の一例である。
【００３０】
キャリブレーションターゲット１０１は、特徴点２０１〜特徴点２１６の１６個の特徴点から構成される。特徴点２０１〜特徴点２１６は一つの平面上に設置されている。特徴点２０１〜特徴点２１６は、各平行直線の交点である。
【００３１】
ここでは、校正用指標であるキャリブレーションターゲット１０１は、例えば、少なくとも２本の第１の平行直線（Ｌ１、Ｌ２）と２本の平行直線と垂直な２本の第２の平行直線（Ｌ５、Ｌ６、又はＬ７、Ｌ８）とが交わる複数の交点（特徴点２０１、特徴点２０２、特徴点２０５、特徴点２０６、又は特徴点２０９、特徴点２１０、特徴点２１３、特徴点２１４）である。但し、図２に記載のように、校正用指標であるキャリブレーションターゲット１０１は、４本の平行直線（第１の平行直線：Ｌ１、Ｌ２、第３の平行直線：Ｌ３、Ｌ４）と、４本の平行直線と垂直な４本の平行直線（第２の平行直線：Ｌ５、Ｌ６、第４の平行直線：Ｌ７、Ｌ８）と、が交わる複数の交点（特徴点２０１〜特徴点２１６）であっても良い。また、４本の平行直線（第１の平行直線：Ｌ１、Ｌ２、第３の平行直線：Ｌ３、Ｌ４）と、４本の平行直線と垂直な２本の平行直線（第２の平行直線：Ｌ５、Ｌ６、又は、第４の平行直線：Ｌ７、Ｌ８）と、が交わる複数の交点（特徴点２０１〜２０８と特徴点２０９と特徴点２１０と特徴点２１３と特徴点２１４、又は、特徴点２０１〜２０８と特徴点２１１と特徴点２１２と特徴点２１５と特徴点２１６）であっても良い。
【００３２】
例えば、特徴点２０１と特徴点２１３を結ぶ直線Ｌ１と、特徴点２０２と特徴点２１４を結ぶ直線Ｌ２と、特徴点２０３と特徴点２１５を結ぶ直線Ｌ３と、特徴点２０４と特徴点２１６を結ぶ直線Ｌ４は、互いに平行である。また、特徴点２０１と特徴点２０４を結ぶ直線Ｌ５と、特徴点２０５と特徴点２０８を結ぶ直線Ｌ６と、特徴点２０９と特徴点２１２を結ぶ直線Ｌ７と、特徴点２１３と特徴点２１６を結ぶ直線Ｌ８は、互いに平行である。
【００３３】
さらに、特徴点２０１と特徴点２１３を結ぶ直線Ｌ１上に、特徴点２０５と特徴点２０９は存在し、特徴点２０２と特徴点２１４を結ぶ直線Ｌ２上に、特徴点２０６と特徴点２１０が存在し、特徴点２０３と特徴点２１５を結ぶ直線Ｌ３上に特徴点２０７と特徴点２１１が存在し、特徴点２０４と特徴点２１６を結ぶ直線Ｌ４上に特徴点２０８と特徴点２１２は存在する。
【００３４】
さらに、特徴点２０１と特徴点２０４を結ぶ直線Ｌ５上に特徴点２０２と特徴点２０３が存在し、特徴点２０５と特徴点２０８を結ぶ直線Ｌ６上に特徴点２０６と特徴点２０７が存在し、特徴点２０９と特徴点２１２を結ぶ直線Ｌ７上に特徴点２１０と特徴点２１１が存在し、特徴点２１３と特徴点２１６を結ぶ直線Ｌ８上に特徴点２１４と特徴点２１５が存在する。
【００３５】
また、特徴点２０１と特徴点２０５の間隔はＷ１、特徴点２０５と特徴点２０９の間隔はＷ２、特徴点２０９と特徴点２１３の間隔はＷ３と定められた値になっている。
【００３６】
また、特徴点２０１と特徴点２０２の間隔はＷ４、特徴点２０２と特徴点２０３の間隔はＷ５、特徴点２０３と特徴点２０４の間隔はＷ６と定められた値になっている。
【００３７】
図１の説明の冒頭部で述べた「キャリブレーションに必要な情報」とは、上記特徴点の平面性と、特徴点が作る直線Ｌ１〜Ｌ４とＬ５〜Ｌ８の平行性と、Ｌ１上に特徴点２０１、特徴点２０５、特徴点２０９、特徴点２１３が存在するなどの直線性と、特徴点の間隔Ｗ１〜Ｗ６である。直線Ｌ１〜Ｌ８は、キャリブレーションターゲット１０１上に実際に描画されている必要はない。
【００３８】
ここで示したキャリブレーションターゲット１０１は一例であり、この限りではない。
例えば、平行性、直線性を満たす限り、特徴点の数を増加させてもよい。また、特徴点２０１と特徴点２０４を結ぶ直線Ｌ５と、特徴点２０１と特徴点２１３を結ぶ直線Ｌ１と、の直交性は必須ではない。
【００３９】
また、特徴点そのものに関しては形状を問わない。交点座標ができるだけ精度よく判読できるものが望ましい。
【００４０】
図３は、キャリブレーションターゲット１０１に対する車両３０１の設置状態を示す。
車両３０１の前側にカメラ１、後ろ側にカメラ２、左側にカメラ３、右側にカメラ４がそれぞれ取り付けられている。車両３０１は、キャリブレーションターゲット１０１の内側に停車される。この際、車両３０１の理想的な停車位置は、車両中心とターゲットの中心が一致する位置であるが、図３のように車両３０１が斜めになったり、車両３０１の停車位置が前後左右にずれたりしてもかまわない。
【００４１】
ただし、カメラ１の撮影範囲内に特徴点２０１、特徴点２０２、特徴点２０３、特徴点２０４、特徴点２０５、特徴点２０６、特徴点２０７、特徴点２０８が配置されている必要がある。
【００４２】
また、カメラ２の撮影範囲内に、特徴点２０９、特徴点２１０、特徴点２１１、特徴点２１２、特徴点２１３、特徴点２１４、特徴点２１５、特徴点２１６が撮影されている必要がある。
【００４３】
また、カメラ３の撮影範囲内に、特徴点２０１、特徴点２０２、特徴点２０５、特徴点２０６、特徴点２０９、特徴点２１０、特徴点２１３、特徴点２１４が撮影されている必要がある。
【００４４】
また、カメラ４の撮影範囲内に、特徴点２０３、特徴点２０４、特徴点２０７、特徴点２０８、特徴点２１１、特徴点２１２、特徴点２１５、特徴点２１６が撮影されている必要がある。
【００４５】
図４は、キャリブレーション装置１００の演算装置１０３のフローチャートの一例である。
【００４６】
以下で、各処理に関して説明する。
【００４７】
映像取得部４０１では、キャリブレーションターゲット１０１をカメラ１、カメラ２、カメラ３、カメラ４の各カメラで撮影した各映像信号を、カメラインターフェース１０２から取得する。その映像信号は、演算装置１０３を介して、ＲＡＭ１０４に保存する。
【００４８】
マップ生成部４０２では、記憶部であるＲＯＭ１０５からカメラパラメータ初期値４１１を読み出し、カメラパラメータ初期値４１１に基づいて、記憶部であるＲＡＭ１０４に保存されたカメラ１、カメラ２、カメラ３、カメラ４の各映像信号を、俯瞰映像に変換するマップを生成する。マップは、俯瞰映像中のある画素に対応する画素は、カメラ１で撮影された映像のこの画素である、という情報の集合体から成り立っている。マップは、カメラ１、カメラ２、カメラ３、カメラ４の各映像信号を視点変換・合成する際に利用するものである。俯瞰映像のある画素と各カメラ映像の画素の対応関係は、カメラの初期姿勢と俯瞰視点の姿勢がわかれば、カメラの幾何変換式から容易に求めることができる。
【００４９】
俯瞰映像生成部４０３では、マップ生成部４０２で生成されたマップと、カメラ１、カメラ２、カメラ３、カメラ４の各カメラで撮影され、ＲＡＭ１０４に格納されている各映像信号を用いて、それぞれの映像信号を視点変換し、各俯瞰映像を生成する。この際，カメラ映像の合成はしない。カメラ１、カメラ２、カメラ３、カメラ４の各映像信号を俯瞰視点に変換したものに対応する４つの俯瞰映像は、ＲＡＭ１０４に再び格納される。
【００５０】
ここで生成される俯瞰映像は完全に真上から見た映像にならない。なぜなら，取り付け時に微妙に位置がずれたり、姿勢がずれたりして、実際に取り付けられたカメラの状態はカメラパラメータ初期値４１１とは異なるためである。カメラの取り付けがカメラパラメータ初期値４１１と全く同じときだけは、完全に真上から見た映像になるが、少しでもずれがあれば、俯瞰映像にもずれが生じる。そのため、正確なカメラ位置や姿勢を求めるキャリブレーションが必要になる。
【００５１】
特徴点認識部４０４では、ＲＡＭ１０４に保存されているカメラ１、カメラ２、カメラ３、カメラ４の４つの俯瞰映像に映っている特徴点を認識する。
【００５２】
カメラ１の俯瞰映像には、特徴点２０１、特徴点２０２、特徴点２０３、特徴点２０４、特徴点２０５、特徴点２０６、特徴点２０７、特徴点２０８の８つの特徴点が映っている。
【００５３】
カメラ２の俯瞰映像には、特徴点２０９、特徴点２１０、特徴点２１１、特徴点２１２、特徴点２１３、特徴点２１４、特徴点２１５、特徴点２１６の８つの特徴点が映っている。
【００５４】
カメラ３の俯瞰映像には、特徴点２０１、特徴点２０２、特徴点２０５、特徴点２０６、特徴点２０９、特徴点２１０、特徴点２１３、特徴点２１４の８つの特徴点が映っている。
【００５５】
カメラ４の俯瞰映像には、特徴点２０３、特徴点２０４、特徴点２０７、特徴点２０８、特徴点２１１、特徴点２１２、特徴点２１５、特徴点２１６の８つの特徴点が映っている。
【００５６】
上記、各カメラに映っている特徴点を画像認識によって自動認識し、各特徴点の画像上の座標を取得する。取得方法は、テンプレートマッチングやハフ変換など、既存の画像認識手法によって実施する。
【００５７】
認識判定部４０５では、特徴点認識部４０４で認識された特徴点が正しいか、間違っているかを判定する。判定方法は、図５の説明の部分で述べる。
【００５８】
認識判定部４０５でＮＧだった場合、すなわち認識された特徴点が間違っていると判定された場合、ユーザによる特徴点入力モードに移行する。まず、モニタ表示部４０６に、ＲＡＭ１０４に保存されているカメラ１の俯瞰映像を表示する。ユーザは、モニタ映像を参照しながら、入力装置１０６を利用してカメラ１に映っている特徴点の座標を手入力する。この際、表示装置１０７は、例えば、ＰＣのモニタで、入力装置１０６はマウスカーソルなどを利用する。また、特徴点は、直線Ｌ５の端の点２つ、直線Ｌ６の端の点２つ、直線Ｌ１上の点２つ、直線Ｌ２上の点２つ、直線Ｌ３上の点２つ、直線Ｌ４上の点２つをそれぞれペアとして入力する。
【００５９】
これをカメラ２、カメラ３、カメラ４の俯瞰映像で実施する。
【００６０】
カメラ２では、特徴点は、直線Ｌ７の端の点２つ、直線Ｌ８の端の点２つ、直線Ｌ１上の点２つ、直線Ｌ２上の点２つ、直線Ｌ３上の点２つ、直線Ｌ４上の点２つをそれぞれペアとして入力する。
【００６１】
カメラ３では、特徴点は、直線Ｌ１の端の点２つ、直線Ｌ２の端の点２つ、直線Ｌ５上の点２つ、直線Ｌ６上の点２つ、直線Ｌ７上の点２つ、直線Ｌ８上の点２つをそれぞれペアとして入力する。
【００６２】
カメラ４では、特徴点は、直線Ｌ３の端の点２つ、直線Ｌ４の端の点２つ、直線Ｌ１上の点２つ、直線Ｌ２上の点２つ、直線Ｌ３上の点２つ、直線Ｌ４上の点２つをそれぞれペアとして入力する。
【００６３】
ここで入力した特徴点座標を用いて、キャリブレーション部４０８を実施する。
【００６４】
なお、認識判定部４０５でＯＫだった場合、すなわち認識された特徴点が正しい場合は、その認識された特徴点を用いて、キャリブレーション部４０８を実施する。
【００６５】
キャリブレーション部４０８では、カメラ１、カメラ２、カメラ３、カメラ４の各カメラの位置および姿勢の設計値からの誤差を修正し、ずれのない理想的な俯瞰映像が得られるようにする。位置とは、三次元空間座標（ｘ，ｙ，ｚ）、姿勢とは、ロール、ピッチ、ヨーを指す。詳細な処理は、図６のキャリブレーション部４０８の処理をフローチャートにて述べる。ここでは、各カメラの設計値からの誤差を含んだ位置および姿勢、すなわち、第２のカメラパラメータであるキャリブレーション済みパラメータ４１２が得られる。
【００６６】
マップ生成部４０９は、処理内容としてはマップ生成部４０３と同一のものである。マップとはカメラ１、カメラ２、カメラ３、カメラ４の映像における各画素を、変換後の俯瞰視点におけるカメラ映像の画素に対応付けるものになっており，この対応関係にしたがって俯瞰映像を生成することで合成が行われる。視点変換は４０３の俯瞰映像生成の時点で行われているが、合成はこの時点ではじめて実施される。４０２のマップは、カメラ１、カメラ２、カメラ３、カメラ４の映像を合成せずに、それぞれの映像を俯瞰視点に変換するだけのものとなっている。このマップを生成する際には、キャリブレーション済みパラメータ４１２を利用しているため、カメラ１、カメラ２、カメラ３、カメラ４の姿勢が正しくわかっている状態となっている。この正しい姿勢から計算された画素の対応関係に基づいてマップが生成されるため、このマップを使って映像を俯瞰変換すると、ずれのない正しい俯瞰映像が得られる。
【００６７】
モニタ表示部４１０では、マップ生成部４０９で生成された取り付け位置と姿勢の誤差を考慮したマップを用いて俯瞰映像を生成し、生成された俯瞰映像をモニタに出力する。
出力された俯瞰映像は、表示装置１０７に表示される。
【００６８】
調整機能４１１は、モニタ表示４１０の結果をユーザが見ながら、表示映像を調整できる機能である。例えば、モニタに俯瞰映像と一緒に調整用のスライドバーのようなものを表示させる。表示させるスライドバーはカメラパラメータに対応している。入力装置１０６を介して、スライドバーを左右に動かし、カメラパラメータを変化させる。パラメータを変化させると、そのパラメータの値に応じて、俯瞰映像の表示が切り替わる。この機能によって、ユーザは映像をみながら、カメラパラメータを調整することができる。校正精度が不十分で少しずれが残っているような場合でも、この調整機能によりずれのない正しい俯瞰映像を得ることができる。ずれの大きい段階では、ユーザにこのような調整をさせることは難しいが、ほとんど調整が正しくできており、少しだけずれがあるような場合には、ユーザに経験や知識がなくても簡単に補正することができる。俯瞰映像にずれがなく、キャリブレーション精度が十分と判断した場合にはこの機能を使う必要がない。
【００６９】
上記、映像取得部４０１からモニタ表示部４１０の処理を通じて、ずれのない正しい俯瞰映像を表示することができる。
【００７０】
図５は、認識判定部４０５の詳細処理を示すフローチャートである。
【００７１】
認識判定部４０５では、特徴点認識部４０４で認識された特徴点が正しいか、間違っているかを判定する。判定は、一部のキャリブレーションを実施することによって行う。
【００７２】
仮想直線生成部５０１では、ペアとなっている特徴点を結ぶ直線を生成する。この直線の平行性を満たすように、また間隔が一定になるように調整することでキャリブレーションを実施する。
【００７３】
ピッチ補正部５０２では、カメラピッチ角のキャリブレーションを行う。ここでは、キャリブレーションターゲット１０１上で平行をなしている直線、すなわち、Ｌ１、Ｌ２、Ｌ３、Ｌ４およびＬ５、Ｌ６、Ｌ７、Ｌ８の直線が平行になるカメラ１、カメラ２、カメラ３、カメラ４の各カメラのピッチ角を算出する。キャリブレーションされていない状態では、カメラの設置誤差、姿勢誤差がある。そのため、本来、平行に見える直線が、平行に見えず「ハの字」状になっている。この「ハの字」が平行に見えるようなカメラのピッチ角を算出する。カメラ１、カメラ２に関しては、直線Ｌ１、Ｌ２、Ｌ３、Ｌ４の平行性、カメラ３、カメラ４に関しては、直線Ｌ５、Ｌ６、Ｌ７、Ｌ８の平行性を満たすピッチ角を算出する。
【００７４】
なお算出方法は、例えば、カメラ１、カメラ２の場合、直線Ｌ１、Ｌ２、Ｌ３、Ｌ４から構成できる全てのペアのなす角度が０度になるとき最小、０度からずれるほど大きな値をとる誤差関数を設計し、その誤差関数が最小となるように、最適化手法を用いてカメラのピッチ角を反復的に変化させることで、Ｌ１、Ｌ２、Ｌ３、Ｌ４が平行になるピッチ角、すなわち、俯瞰視点に変更する理想的なピッチ角を得ることができる。俯瞰視点に変更する理想的なピッチ角がわかれば、逆に考えれば、誤差を含むカメラのピッチ角（現在の取り付け状態）を求めたことになる。カメラ３、カメラ４の場合は、直線Ｌ５、Ｌ６、Ｌ７、Ｌ８を用いて同様の処理を実施する。
【００７５】
平行性判定部５０３では、ピッチ補正部５０２で求めたピッチ角によって変換した俯瞰映像における仮想直線の平行性を判定する。平行性は、例えば、カメラ１、カメラ２の場合、直線Ｌ１、Ｌ２、Ｌ３、Ｌ４から構成できる全てのペアのなす角度のうち最大のものとし、最大のものが、設計者が環境によって定める一定値以上（例えば１度以上）ずれている場合はＮＧ、すなわち特徴点の認識が正しく行われていない、一定値以内の場合はＯＫと判断する。ピッチ補正部５０２で得られたピッチ角は，各直線ができる限り平行になるように俯瞰変換できるものである。それにも関らず、平行から角度がずれているというのは、特徴点の認識そのものが正しく行われていないとみなすことができる。ＮＧの場合は、モニタ表示部４０６、手動入力部４０７に遷移する。すなわち、ユーザに特徴点を入力させる。ＯＫの場合は、もう一段の判定を実施する。
【００７６】
ヨー補正部５０４では、カメラのヨー角のキャリブレーションを行う。この処理は、認識判定部４０５においては、後段の高さ補正部５０５の前処理としての意味あいとなる。
ピッチ角とヨー角を補正すると、真上から見た俯瞰映像を作ることができ、後段の高さ補正部５０５を実施可能になる。キャリブレーションの考え方はピッチ補正５０２と全く同じである。直線が平行になるように最適化手法を用いてヨー角を算出する。ただし、参照する直線が異なる。ピッチ角はカメラの縦方向の首ふりであり、ヨー角は横方向の首ふりに対応する。
【００７７】
そのため、各カメラにおいて、横線に対応する直線が平行になるように角度を調整する。カメラ１の場合、直線Ｌ５とＬ６が平行になるように、カメラ２の場合、直線Ｌ７とＬ８が平行になるように、カメラ３の場合、直線Ｌ１とＬ２が平行になるように、カメラ４の場合、直線Ｌ３とＬ４が平行になるようなヨー角を求める。ここでは、直線が２本しか見えていないため、特徴点座標に誤差があっても必ず平行となるヨー角が得られてしまうため、ＯＫ、ＮＧの判定はできない。ただし、直線の本数が異なるキャリブレーションターゲット１０１を用いている場合はこの限りでなく、ここでピッチ角と同様にＯＫ、ＮＧの判定を実施してもよい。
【００７８】
高さ補正部５０５では、カメラ高さのキャリブレーションを行う。カメラ高さのキャリブレーションでは、直線の間隔が規定の間隔（すなわち、キャリブレーションターゲット１０１上での間隔）と同じになるカメラ高さを求める。カメラ１の場合、直線Ｌ１、Ｌ２、Ｌ３、Ｌ４、Ｌ５、Ｌ６が映っている。直線Ｌ１とＬ２の間隔はＷ４、直線Ｌ２とＬ３の間隔はＷ５、直線Ｌ３とＬ４の間隔はＷ６、直線Ｌ５とＬ６の間隔はＷ１である。これらの俯瞰映像上での間隔は幾何計算から容易に計算することができる。それらの間隔と、特徴点が形作る仮想直線の間隔が等しくなるカメラ高さを求める。
【００７９】
算出方法は、ピッチ補正の場合と同様に、仮想直線の間隔が規定の間隔になった場合に最小となる誤差関数を設計し、その誤差関数が最小となるように最適化手法を用いてカメラ高さを反復的に変化させる方式をとる。ここで得られた誤差が最小となるカメラ高さが、誤差を含むカメラ高さ（現在の取り付け状態）を表す。カメラ２、カメラ３、カメラ４の場合も同様に撮影されている特徴点が形作る仮想直線に対して実施する。
【００８０】
間隔判定部５０６では、高さ補正部５０５で求めたカメラ高さで俯瞰映像を生成した場合の仮想直線の間隔を判定する。仮想直線の間隔のずれが、設計者が環境によって定める一定値以上ずれている場合はＮＧ、すなわち特徴点の認識が正しく行われていない、一定値いないの場合はＯＫ、すなわち特徴点の認識が正しく行われていると判断する。高さ補正部５０５で得られたカメラ高さは、各仮想直線の間隔ができる限り規定の間隔になるような俯瞰映像をつくるものである。もし、特徴点の認識が正しければ、全ての直線の間隔が一致するカメラ高さが見つかるはずである。逆に、間隔がずれているということは、特徴点の認識がうまくいっていないとみなすことができる。
【００８１】
間隔判定部５０６でＮＧだった場合は、モニタ表示部４０６、手動入力部４０７に遷移する。すなわちユーザに特徴点を入力させる。ＯＫの場合は、キャリブレーション部４０８に遷移する。
【００８２】
図６は、キャリブレーション部４０８の処理詳細を表すフローチャートである。
【００８３】
キャリブレーション部４０８は、仮想直線生成部５０１、ピッチ補正部５０２、ヨー補正部５０４、高さ補正部５０５、ロール補正部６０１、並進補正部６０２からなる。ピッチ補正部５０２でピッチ角、ヨー補正でヨー角、高さ補正でカメラ高さ、ロール補正でロール角、並進補正でカメラ並進位置、と３つのカメラ姿勢パラメータと、三次元空間座標に対応するカメラ位置パラメータを順に求めていく方式となっている。
【００８４】
ピッチ補正部５０２、ヨー補正部５０４で真上から見下ろした俯瞰映像を生成するピッチ角とヨー角が得られ、高さ補正部５０５でキャリブレーションターゲット１０１と一致した直線間隔となる俯瞰映像を生成するカメラ高さが得られ、ロール補正部６０１で車両の斜め停車成分とカメラロール角を考慮したロール角が得られ、並進補正部６０２でカメラの並進位置が得られる。
【００８５】
仮想直線生成部５０１、ピッチ補正部５０２、ヨー補正部５０４、高さ補正部５０５は、図５の認識判定部４０５で説明したものと全く同じため、処理の説明は省略する。
【００８６】
ロール補正部６０１では、カメラのロール角をキャリブレーションする。ロール角のキャリブレーションは、カメラ１、カメラ２、カメラ３、カメラ４に映っている縦の直線Ｌ１、Ｌ２、Ｌ３、Ｌ４の傾きを一度全部同じ方向に揃え、その後、カメラ１、カメラ２、カメラ３、カメラ４のロール角を全部同じ量だけ変化させる中で、俯瞰映像中の各カメラのつなぎ目部分における直線Ｌ１、Ｌ２、Ｌ３、Ｌ４の誤差が最小になるロール角を求める。直線の傾きを一度同じ方向に揃えてから、ロール角を同じ量だけ変更するのは、直線の傾きが同じになる解のなかに、真のロール角が存在するからであり、解候補を限定するためである。また、つなぎ目部分の誤差が最小になるロール角を解とするのは、次の理由からである。
【００８７】
まず、カメラの位置誤差は小さい（〜１ｃｍ程度）とみなしてよく、その場合には、カメラ俯瞰映像上で表れる位置ずれは小さい。位置ずれが小さければ、その他の誤差（ピッチ角、ヨー角、高さ）は全て修正ずみであるため、俯瞰映像が自然につながるように補正することで、実際の姿勢誤差に対応するロール角を求めることができる。算出方法は他と同様で、目的関数を設計し、最小化する角度を求める。目的関数は、つなぎ目部分の直線のずれ誤差が小さいときに最小となるものを設計する。この処理は、ピッチ補正５０２、ヨー補正５０４、高さ補正５０５と異なり、カメラ一つ分の情報で実施するものではなく、カメラ１、カメラ２、カメラ３、カメラ４の情報を使って実施する。
【００８８】
並進補正部６０２では、各カメラの並進成分をキャリブレーションする。三次元座標をｘ、ｙ、ｚとし、ｚを高さとすると、ｘ、ｙにあたる成分のキャリブレーションである。
カメラの並進成分のキャリブレーションでは、俯瞰映像中の直線のずれが最小となるような並進成分を求める。ロール補正６０１と異なるのは、変化させるパラメータで、ロール補正６０１ではロール角、並進補正６０２、では並進成分である。
【００８９】
すなわち、映像を上下左右にずらして、ずれを最小化するように求める。ロール補正部６０１ではロール角のみで調整するため、並進成分の誤差を除去しきれないが、並進補正部６０２によってこの誤差を除去し、ずれのない俯瞰映像を生成することができる。並進成分の算出方法は他と同じで、誤差関数を設計し、それを最小化するような並進成分を求める。誤差関数は、つなぎ目部分の直線のずれ誤差が小さいときに最小となるものを設計する。最適化法によって誤差を最小化する並進成分を求める。これが、実際のカメラの設置ずれ量に対応する並進成分である。
【００９０】
上記で得られたパラメータは、設計値からの誤差を含むカメラ設置・姿勢からずれのない俯瞰図を生成するものとなっている。
【００９１】
また、本実施例では、カメラは４台用いた場合で説明している。つまり、特徴点２０１〜特徴２１６があれば、４台のカメラが補正できるというもの。しかし、４台のカメラを補正するためには、少なくとも特徴点２０１〜２０８と特徴点２０９と特徴点２１０と特徴点２１３と特徴点２１４、又は、特徴点２０１〜２０８と特徴点２１１と特徴点２１２と特徴点２１５と特徴点２１６、があれば良い。また、本発明は、少なくともカメラ２台、３台の場合でも適用可能である。例えば、特徴点２０１、特徴点２０２、特徴点２０５、特徴点２０６があれば、カメラ１とカメラ３を補正でき、特徴点２０３、特徴点２０４、特徴点２０７、特徴点２０８があれば、カメラ１とカメラ４を補正でき、特徴点２０１〜特徴点２０８があれば、カメラ１とカメラ３とカメラ４を補正できる。
【００９２】
以上、説明しましたキャリブレーション方法により、車両と校正用指標の相対的な設置精度を求めず、且つ校正用指標の敷設準備を簡略化できる。
【符号の説明】
【００９３】
１、２、３、４  カメラ
１００  キャリブレーション装置
１０１  キャリブレーションターゲット
１０２  カメラインターフェース
１０３  演算装置
１０４  ＲＡＭ
１０５  ＲＯＭ
１０６  入力装置
１０７  表示装置
【図１】
2014064224.tif 000003
【図２】
2014064224.tif 000004
【図３】
2014064224.tif 000005
【図４】
2014064224.tif 000006
【図５】
2014064224.tif 000007
【図６】
2014064224.tif 000008