(57)【特許請求の範囲】
【請求項１】
カメラ姿勢角値記憶部と画像記憶部とカメラ座標値記憶部と点群データ記憶部と指定点入力部と指定点算出部と参照画像表示部とカメラ姿勢角値修正部とを備えるカメラキャリブレーション装置を用いて実行するカメラキャリブレーション方法において、
前記カメラ姿勢角値記憶部は、移動体に取り付けられたカメラの取り付け角度を示すカメラ姿勢角値を記憶する記憶部であり、
前記画像記憶部は、前記移動体に取り付けられた前記カメラによって、直線が記された地面を撮像して得られる第一画像と、前記移動体が前記第一画像の撮像時とは異なる位置にいるときに前記カメラによって前記地面を撮像して得られる第二画像とを記憶する記憶部であり、
前記カメラ座標値記憶部は、前記第一画像の撮像時の前記カメラの座標値を示す第一のカメラ座標値と、前記第二画像の撮像時の前記カメラの座標値を示す第二のカメラ座標値とを記憶する記憶部であり、
前記点群データ記憶部は、前記地面の複数地点を示す複数の座標値を含むデータとして点群データを記憶する記憶部であり、
前記指定点入力部が、前記第一画像を表示し、表示した前記第一画像内の前記直線に沿って指定される前記第一画像内の複数点を複数の指定点として利用者から入力し、
前記指定点算出部が、前記第一のカメラ座標値と前記カメラ姿勢角値と前記点群データに含まれる前記複数の座標値とに基づいて前記地面の前記複数地点を示す点群を前記第一画像に投影し、前記第一画像に投影した前記点群に基づいて前記複数の指定点それぞれの座標値を算出し、
前記参照画像表示部が、前記指定点算出部によって算出された前記複数の指定点それぞれの座標値と前記第二のカメラ座標値と前記カメラ姿勢角値とに基づいて前記複数の指定点を前記第二画像に投影し、前記複数の指定点を投影した前記第二画像を参照画像として表示し、
前記カメラ姿勢角値修正部が、前記カメラ姿勢角値記憶部に記憶された前記カメラ姿勢角値を修正するために指定される姿勢角値修正情報を利用者から入力し、前記姿勢角値修正情報に基づいて前記カメラ姿勢角値記憶部に記憶された前記カメラ姿勢角値を修正することを特徴とするカメラキャリブレーション方法。
【請求項２】
前記第一画像および前記第二画像は、向きが異なる２本の直線として第一直線と第二直線とが映った画像であり、
前記指定点入力部は、前記第一画像を表示し、前記第一画像内の前記第一直線に沿って指定される前記第一画像内の第一の複数点を第一の複数の指定点として利用者から入力すると共に、前記第一画像内の前記第二直線に沿って指定される前記第一画像内の第二の複数点を第二の複数の指定点として利用者から入力し、
前記指定点算出部は、前記第一画像に投影した前記点群に基づいて前記第一の複数の指定点それぞれの座標値と前記第二の複数の指定点それぞれの座標値とを算出し、
前記参照画像表示部は、前記第一の複数の指定点と前記第二の複数の指定点とを前記第二画像に投影し、前記第一の複数の指定点と前記第二の複数の指定点とを投影した前記第二画像を前記参照画像として表示する
ことを特徴とする請求項１記載のカメラキャリブレーション方法。
【請求項３】
前記第一直線は前記第一画像の横方向に伸びた直線であり、前記第二直線は前記第一画像の縦方向に伸びた直線であり、
前記指定点入力部は、前記第一画像内の前記第一直線に沿って前記第一画像内の右側部分と左側部分とに指定される複数点を前記第一の複数の指定点として利用者から入力し、前記第一画像内の前記第二直線に沿って指定される複数点を前記第二の複数の指定点として利用者から入力する
ことを特徴とする請求項２記載のカメラキャリブレーション方法。
【請求項４】
前記カメラ姿勢角値はロール角の角度を含み、
前記カメラ姿勢角値修正部は、前記第一の複数の指定点が前記第二画像内の右側部分と左側部分とで前記第一直線の上下異なる方にずれて、前記第二の複数の指定点が前記第二直線の左右いずれか一方にずれている場合、前記カメラ姿勢角値に含まれるロール角の角度を修正するための情報が前記姿勢角値修正情報として利用者から入力される
ことを特徴とする請求項３記載のカメラキャリブレーション方法。
【請求項５】
前記カメラ姿勢角値はピッチ角の角度を含み、
前記カメラ姿勢角値修正部は、前記第一の複数の指定点が前記第一直線の上下いずれか一方にずれている場合、前記カメラ姿勢角値に含まれるピッチ角の角度を修正するための情報が前記姿勢角値修正情報として利用者から入力される
ことを特徴とする請求項３記載のカメラキャリブレーション方法。
【請求項６】
前記カメラ姿勢角値はヨー角の角度を含み、
前記カメラ姿勢角値修正部は、前記第一の複数の指定点と前記第一直線とのずれが小さく、前記第二の複数の指定点が前記第二直線の左右いずれか一方にずれている場合、前記カメラ姿勢角値に含まれるヨー角の角度を修正するための情報が前記姿勢角値修正情報として利用者から入力される
ことを特徴とする請求項３記載のカメラキャリブレーション方法。
【請求項７】
請求項１から請求項６いずれかに記載のカメラキャリブレーション方法をコンピュータに実行させるためのカメラキャリブレーションプログラム。
【請求項８】
移動体に取り付けられたカメラの取り付け角度を示すカメラ姿勢角値を記憶するカメラ姿勢角値記憶部と、
前記移動体に取り付けられた前記カメラによって、直線が記された地面を撮像して得られる第一画像と、前記移動体が前記第一画像の撮像時とは異なる位置にいるときに前記カメラによって前記地面を撮像して得られる第二画像とを記憶する画像記憶部と、
前記第一画像の撮像時の前記カメラの座標値を示す第一のカメラ座標値と、前記第二画像の撮像時の前記カメラの座標値を示す第二のカメラ座標値とを記憶するカメラ座標値記憶部と、
前記地面の複数地点を示す複数の座標値を含むデータとして点群データを記憶する点群データ記憶部と、
前記第一画像を表示し、表示した前記第一画像内の前記直線に沿って指定される前記第一画像内の複数点を複数の指定点として入力する指定点入力部と、
前記第一のカメラ座標値と前記カメラ姿勢角値と前記点群データに含まれる前記複数の座標値とに基づいて前記地面の前記複数地点を示す点群を前記第一画像に投影し、前記第一画像に投影した前記点群に基づいて前記複数の指定点それぞれの座標値を算出する指定点算出部と、
前記指定点算出部によって算出された前記複数の指定点それぞれの座標値と前記第二のカメラ座標値と前記カメラ姿勢角値とに基づいて前記複数の指定点を前記第二画像に投影し、前記複数の指定点を投影した前記第二画像を参照画像として表示する参照画像表示部と、
前記カメラ姿勢角値を修正するために指定される姿勢角値修正情報を入力し、入力した前記姿勢角値修正情報に基づいて前記カメラ姿勢角値記憶部に記憶された前記カメラ姿勢角値を修正するカメラ姿勢角値修正部と
を備えることを特徴とするカメラキャリブレーション装置。
【請求項９】
移動体に取り付けられたカメラの取り付け角度を示すカメラ姿勢角値を記憶するカメラ姿勢角値記憶部と、
前記移動体に取り付けられた前記カメラによって、直線が記された地面を撮像して得られる第一画像と、前記移動体が前記第一画像の撮像時とは異なる位置にいるときに前記カメラによって前記地面を撮像して得られる第二画像とを記憶する画像記憶部と、
前記第一画像の撮像時の前記カメラの座標値を示す第一のカメラ座標値と、前記第二画像の撮像時の前記カメラの座標値を示す第二のカメラ座標値とを記憶するカメラ座標値記憶部と、
前記地面の複数地点を示す複数の座標値を含むデータとして点群データを記憶する点群データ記憶部と、
前記第一画像内の前記直線に沿って前記第一画像内の複数点を複数の指定点として取得する指定点取得部と、
前記第一のカメラ座標値と前記カメラ姿勢角値と前記点群データに含まれる前記複数の座標値とに基づいて前記地面の前記複数地点を示す点群を前記第一画像に投影し、前記第一画像に投影した前記点群に基づいて前記複数の指定点それぞれの座標値を算出する指定点算出部と、
前記指定点算出部によって算出された前記複数の指定点それぞれの座標値と前記第二のカメラ座標値と前記カメラ姿勢角値とに基づいて前記複数の指定点を前記第二画像に投影し、前記複数の指定点を投影した前記第二画像を参照画像として生成する参照画像生成部と、
前記参照画像内の前記直線と前記複数の指定点とのずれに応じて、前記カメラ姿勢角値記憶部に記憶された前記カメラ姿勢角値を修正するカメラ姿勢角値修正部と
を備えることを特徴とするカメラキャリブレーション装置。
【請求項１０】
カメラ姿勢角値記憶部と画像記憶部とカメラ座標値記憶部と点群データ記憶部と指定点取得部と指定点算出部と参照画像生成部とカメラ姿勢角値修正部とを備えるカメラキャリブレーション装置を用いて実行するカメラキャリブレーション方法において、
前記カメラ姿勢角値記憶部は、移動体に取り付けられたカメラの取り付け角度を示すカメラ姿勢角値を記憶する記憶部であり、
前記画像記憶部は、前記移動体に取り付けられた前記カメラによって、直線が記された地面を撮像して得られる第一画像と、前記移動体が前記第一画像の撮像時とは異なる位置にいるときに前記カメラによって前記地面を撮像して得られる第二画像とを記憶する記憶部であり、
前記カメラ座標値記憶部は、前記第一画像の撮像時の前記カメラの座標値を示す第一のカメラ座標値と、前記第二画像の撮像時の前記カメラの座標値を示す第二のカメラ座標値とを記憶する記憶部であり、
前記点群データ記憶部は、前記地面の複数地点を示す複数の座標値を含むデータとして点群データを記憶する記憶部であり、
前記指定点取得部が、前記第一画像内の前記直線に沿って前記第一画像内の複数点を複数の指定点として取得し、
前記指定点算出部が、前記第一のカメラ座標値と前記カメラ姿勢角値と前記点群データに含まれる前記複数の座標値とに基づいて前記地面の前記複数地点を示す点群を前記第一画像に投影し、前記第一画像に投影した前記点群に基づいて前記複数の指定点それぞれの座標値を算出し、
前記参照画像生成部が、前記指定点算出部によって算出された前記複数の指定点それぞれの座標値と前記第二のカメラ座標値と前記カメラ姿勢角値とに基づいて前記複数の指定点を前記第二画像に投影し、前記複数の指定点を投影した前記第二画像を参照画像として生成し、
前記カメラ姿勢角値修正部が、前記参照画像内の前記直線と前記複数の指定点とのずれに応じて、前記カメラ姿勢角値記憶部に記憶された前記カメラ姿勢角値を修正する
ことを特徴とするカメラキャリブレーション方法。
【請求項１１】
移動体に取り付けられたカメラの取り付け角度を示すカメラ姿勢角値を記憶するカメラ姿勢角値記憶部と、
前記移動体に取り付けられた前記カメラによって、直線が記された地面を撮像して得られる第一画像と、前記移動体が前記第一画像の撮像時とは異なる位置にいるときに前記カメラによって前記地面を撮像して得られる第二画像とを記憶する画像記憶部と、
前記第一画像の撮像時の前記カメラの座標値を示す第一のカメラ座標値と、前記第二画像の撮像時の前記カメラの座標値を示す第二のカメラ座標値とを記憶するカメラ座標値記憶部と、
前記地面の複数地点を示す複数の座標値を含むデータとして点群データを記憶する点群データ記憶部と、
前記第一画像内の前記直線に沿って前記第一画像内の複数点を複数の指定点として取得する指定点取得部と、
前記第一のカメラ座標値と前記カメラ姿勢角値と前記点群データに含まれる前記複数の座標値とに基づいて前記地面の前記複数地点を示す点群を前記第一画像に投影し、前記第一画像に投影した前記点群に基づいて前記複数の指定点それぞれの座標値を算出する指定点算出部と、
前記指定点算出部によって算出された前記複数の指定点それぞれの座標値と前記第二のカメラ座標値と前記カメラ姿勢角値とに基づいて前記複数の指定点を前記第二画像に投影し、前記複数の指定点を投影した前記第二画像を参照画像として生成する参照画像生成部と、
前記参照画像内の前記直線と前記複数の指定点とのずれ量を算出し、算出したずれ量がずれ量閾値より大きい場合、前記カメラ姿勢角値記憶部に記憶された前記カメラ姿勢角値に誤差が含まれると判定するカメラ姿勢角値修正部と
を備えることを特徴とするカメラキャリブレーション装置。
【請求項１２】
カメラ姿勢角値記憶部と画像記憶部とカメラ座標値記憶部と点群データ記憶部と指定点取得部と指定点算出部と参照画像生成部とカメラ姿勢角値修正部とを備えるカメラキャリブレーション装置を用いて実行するカメラキャリブレーション方法において、
前記カメラ姿勢角値記憶部は、移動体に取り付けられたカメラの取り付け角度を示すカメラ姿勢角値を記憶する記憶部であり、
前記画像記憶部は、前記移動体に取り付けられた前記カメラによって、直線が記された地面を撮像して得られる第一画像と、前記移動体が前記第一画像の撮像時とは異なる位置にいるときに前記カメラによって前記地面を撮像して得られる第二画像とを記憶する記憶部であり、
前記カメラ座標値記憶部は、前記第一画像の撮像時の前記カメラの座標値を示す第一のカメラ座標値と、前記第二画像の撮像時の前記カメラの座標値を示す第二のカメラ座標値とを記憶する記憶部であり、
前記点群データ記憶部は、前記地面の複数地点を示す複数の座標値を含むデータとして点群データを記憶する記憶部であり、
前記指定点取得部が、前記第一画像内の前記直線に沿って前記第一画像内の複数点を複数の指定点として取得し、
前記指定点算出部が、前記第一のカメラ座標値と前記カメラ姿勢角値と前記点群データに含まれる前記複数の座標値とに基づいて前記地面の前記複数地点を示す点群を前記第一画像に投影し、前記第一画像に投影した前記点群に基づいて前記複数の指定点それぞれの座標値を算出し、
前記参照画像生成部が、前記指定点算出部によって算出された前記複数の指定点それぞれの座標値と前記第二のカメラ座標値と前記カメラ姿勢角値とに基づいて前記複数の指定点を前記第二画像に投影し、前記複数の指定点を投影した前記第二画像を参照画像として生成し、
前記カメラ姿勢角値修正部が、前記参照画像内の前記直線と前記複数の指定点とのずれ量を算出し、算出したずれ量がずれ量閾値より大きい場合、前記カメラ姿勢角値記憶部に記憶された前記カメラ姿勢角値に誤差が含まれると判定する
ことを特徴とするカメラキャリブレーション方法。
【請求項１３】
請求項１０または請求項１２に記載のカメラキャリブレーション方法をコンピュータに実行させるためのカメラキャリブレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、モービルマッピングシステム（ＭＭＳ）のカメラの姿勢角値をキャリブレーションするためのカメラキャリブレーション方法、カメラキャリブレーションプログラムおよびカメラキャリブレーション装置に関するものである。
【背景技術】
【０００２】
レーザスキャナ、カメラ、測位装置などの計測機器を取り付けた計測車両で道路を走行し、計測車両を走行させて取得したデータに基づいて道路および道路周辺を測量し、また三次元地図を生成するモービルマッピングシステム（ＭＭＳ）がある（例えば、特許文献１から３参照）。【０００３】
モービルマッピングシステムにおいて、道路および道路周辺の測量や三次元地図の生成を高い精度に行うためには、レーザスキャナやカメラを取り付けた位置および姿勢角を高い精度で計測する必要がある。
そこで、レーザスキャナやカメラの取り付け位置および姿勢角を容易に高い精度で算出する方法が提案されている（特許文献４参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開２００８／０９９９１５号パンフレット
【特許文献２】国際公開２０１０／０２４２１２号パンフレット
【特許文献３】特開２００９−０５３０５９号公報
【特許文献４】特開２０１０−１７５４２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、例えば、カメラの姿勢角値をより高い精度で容易に算出できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明のカメラキャリブレーション方法は、
カメラ姿勢角値記憶部と画像記憶部とカメラ座標値記憶部と点群データ記憶部と指定点入力部と指定点算出部と参照画像表示部とカメラ姿勢角値修正部とを備えるカメラキャリブレーション装置を用いて実行する。
前記カメラキャリブレーション方法において、
前記カメラ姿勢角値記憶部は、移動体に取り付けられたカメラの取り付け角度を示すカメラ姿勢角値を記憶する記憶部であり、
前記画像記憶部は、前記移動体に取り付けられた前記カメラによって、直線が記された地面を撮像して得られる第一画像と、前記移動体が前記第一画像の撮像時とは異なる位置にいるときに前記カメラによって前記地面を撮像して得られる第二画像とを記憶する記憶部であり、
前記カメラ座標値記憶部は、前記第一画像の撮像時の前記カメラの座標値を示す第一のカメラ座標値と、前記第二画像の撮像時の前記カメラの座標値を示す第二のカメラ座標値とを記憶する記憶部であり、
前記点群データ記憶部は、前記地面の複数地点を示す複数の座標値を含むデータとして点群データを記憶する記憶部である。
前記カメラキャリブレーション方法において、
前記指定点入力部が、前記第一画像を表示し、表示した前記第一画像内の前記直線に沿って指定される前記第一画像内の複数点を複数の指定点として利用者から入力し、
前記指定点算出部が、前記第一のカメラ座標値と前記カメラ姿勢角値と前記点群データに含まれる前記複数の座標値とに基づいて前記地面の前記複数地点を示す点群を前記第一画像に投影し、前記第一画像に投影した前記点群に基づいて前記複数の指定点それぞれの座標値を算出し、
前記参照画像表示部が、前記指定点算出部によって算出された前記複数の指定点それぞれの座標値と前記第二のカメラ座標値と前記カメラ姿勢角値とに基づいて前記複数の指定点を前記第二画像に投影し、前記複数の指定点を投影した前記第二画像を参照画像として表示し、
前記カメラ姿勢角値修正部が、前記カメラ姿勢角値記憶部に記憶された前記カメラ姿勢角値を修正するために指定される姿勢角値修正情報を利用者から入力し、前記姿勢角値修正情報に基づいて前記カメラ姿勢角値記憶部に記憶された前記カメラ姿勢角値を修正する。
【発明の効果】
【０００７】
本発明によれば、例えば、カメラの姿勢角値をより高い精度で容易に算出することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１におけるモービルマッピングシステムの計測車両１００を示す外観図。
【図２】実施の形態１におけるキャリブレーション装置２００を示す機能構成図。
【図３】実施の形態１におけるキャリブレーション装置２００のキャリブレーション方法の概要を示す図。
【図４】実施の形態１におけるキャリブレーション装置２００のキャリブレーション方法の概要を示す図。
【図５】実施の形態１におけるキャリブレーション装置２００のキャリブレーション方法の概要を示す図。
【図６】実施の形態１におけるキャリブレーション装置２００のキャリブレーション方法を示すフローチャート。
【図７】実施の形態１における指定線入力処理（Ｓ１１０）の概要図。
【図８】実施の形態１における点群の投影処理を示す概要図。
【図９】実施の形態１における第一の路面画像２９１ａに投影した点群を表す図。
【図１０】実施の形態１における参照画像３２１（ロール角のずれ）の一例を示す図。
【図１１】実施の形態１における参照画像３２１（ロール角のずれ）の一例を示す図。
【図１２】実施の形態１における参照画像３２１（ピッチ角のずれ）の一例を示す図。
【図１３】実施の形態１における参照画像３２１（ピッチ角のずれ）の一例を示す図。
【図１４】実施の形態１における参照画像３２１（ヨー角のずれ）の一例を示す図。
【図１５】実施の形態１における参照画像３２１（ヨー角のずれ）の一例を示す図。
【図１６】実施の形態１におけるカメラ１１１Ａの姿勢角値の修正条件の一例を示す表。
【図１７】実施の形態１におけるキャリブレーション装置２００のハードウェア資源の一例を示す図。
【発明を実施するための形態】
【０００９】
実施の形態１．
モービルマッピングシステム（ＭＭＳ）の計測車両に取り付けたカメラの姿勢角値をキャリブレーション（算出、修正または調整）する方法について説明する。
但し、実施の形態１で説明する方法は、モービルマッピングシステムの計測車両以外の車両に取り付けられたカメラの姿勢角値をキャリブレーションするために用いても構わない。
【００１０】
モービルマッピングシステムとは、レーザスキャナ、カメラ、測位装置などの計測機器を取り付けた計測車両で道路を走行し、計測車両を走行させて取得したデータに基づいて道路および道路周辺を測量し、また三次元地図を生成するシステムである（例えば、特許文献１から３参照）。
【００１１】
図１は、実施の形態１におけるモービルマッピングシステムの計測車両１００を示す外観図である。
実施の形態１におけるモービルマッピングシステムの計測車両１００について、図１に基づいて説明する。
【００１２】
計測車両１００（移動体の一例）は、計測ユニット１１０やオドメータ１２０を装備した車両（台車）である。
計測ユニット１１０は計測車両１００の天板の上に設置され、オドメータ１２０は計測車両１００の車軸に設置されている。
【００１３】
計測ユニット１１０は、６台のカメラ１１１Ａ−Ｆと、４台のレーザスキャナ１１２Ａ−Ｄと、３台のＧＰＳ受信機１１３Ａ−Ｃ（ＧＰＳ：Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）と、１台のＩＭＵ１１４（Ｉｎｅｒｔｉａｌ  Ｍｅａｓｕｒｅｍｅｎｔ  Ｕｎｉｔ）とを計測機器として備える。
但し、計測ユニット１１０は、図１と異なる台数の計測機器を異なる配置で備えてもよい。
【００１４】
カメラ１１１Ａ−Ｆは、計測車両１００の周囲を撮像する装置である。
カメラ１１１Ａは計測車両１００の右前方を撮像し、カメラ１１１Ｂは計測車両１００の左前方を撮像する。
カメラ１１１Ｃは計測車両１００の右側方を撮像し、カメラ１１１Ｄは計測車両１００の左側方を撮像する。
カメラ１１１Ｅは計測車両１００の右後方を撮像し、カメラ１１１Ｆは計測車両１００の左後方を撮像する。
【００１５】
レーザスキャナ１１２Ａ−Ｄはレーザ光を照射し、レーザ光を照射した地点（計測地点）までの距離および方位を計測する装置である。
レーザスキャナ１１２Ａは計測車両１００の前側下方を計測し、レーザスキャナ１１２Ｂは計測車両１００の後ろ側上方を計測する。
レーザスキャナ１１２Ｃは計測車両１００の前側上方を計測し、レーザスキャナ１１２Ｄは計測車両１００の後ろ側下方を計測する。
【００１６】
ＧＰＳ受信機１１３Ａ−Ｃは、測位衛星から測位信号を受信するアンテナおよび受信結果に基づいて測位する装置である。
但し、ＧＰＳは測位システム（ＧＮＳＳ：Ｇｌｏｂａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍｓ）の一例である。ＧＰＳ受信機１１３Ａ−Ｃは、ＧＰＳ以外の測位システム（ＧＬＯＮＡＳＳ：Ｇｌｏｂａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍ、Ｇａｌｉｌｅｏ、準天頂衛星システムなど）を利用する受信機であっても構わない。
【００１７】
ＩＭＵ１１４は、３軸方向（Ｘ，Ｙ，Ｚ）の角速度を計測する装置（ジャイロセンサおよび加速度センサ）である。
【００１８】
オドメータ１２０は、計測車両１００の走行速度を計測する装置である。
【００１９】
図１において、Ｘ軸は計測車両１００の進行方向を表し、Ｙ軸は計測車両１００の高さ方向を表し、Ｚ軸は計測車両１００の幅方向を表す。
また、「φ」はＸ軸回りの回転角（ロール角）を表し、「θ」はＹ軸回りの回転角（ヨー角または方位角）を表し、「ψ」はＺ軸周りの回転角（ピッチ角または仰角）を表している。
「Ｏ」は計測車両１００の座標軸の原点を表す。つまり、計測車両１００の座標値は原点Ｏの座標値を意味する。
【００２０】
カメラ１１１Ａ−Ｆの姿勢角値（ロール角、ヨー角、ピッチ角）は、道路および道路周辺を測量し、また三次元地図を生成するためにマッピング装置に設定される。
マッピング装置に設定するカメラ１１１Ａ−Ｆの姿勢角値をキャリブレーションする場合、直線が記された路面（地面）を計測車両１００で走行し、計測ユニット１１０に備わる各計測機器によってデータを収集する。
以降で説明するキャリブレーション装置は、計測ユニット１１０の各計測機器によって収集されるデータを用いて、カメラ１１１Ａ−Ｆの姿勢角値をキャリブレーションする。
【００２１】
図２は、実施の形態１におけるキャリブレーション装置２００を示す機能構成図である。
実施の形態１におけるキャリブレーション装置２００の機能構成について、図２に基づいて説明する。
【００２２】
キャリブレーション装置２００（カメラキャリブレーション装置の一例）は、計測車両１００（図１参照）に搭載しても構わない。
【００２３】
キャリブレーション装置２００は、指定線入力部２１０、指定線算出部２２０、参照画像表示部２３０、カメラ姿勢角値修正部２４０およびキャリブレーション記憶部２９０を備える。
【００２４】
キャリブレーション記憶部２９０（カメラ姿勢角値記憶部、画像記憶部、カメラ座標値記憶部、点群データ記憶部の一例）は、キャリブレーション装置２００で使用するデータを記憶する。
例えば、キャリブレーション記憶部２９０は、複数の路面画像２９１、カメラ座標値データ２９２、三次元点群データ２９３およびカメラ姿勢角値データ２９９を記憶する。
【００２５】
複数の路面画像２９１（第一画像、第二画像の一例）は、計測車両１００が異なる位置にいるときにカメラ１１１Ａ−Ｆによって撮像して得られたデータであり、直線が記された道路（地面）を映している。
カメラ１１１Ａによって得られた複数の路面画像２９１は、撮像時刻と共にキャリブレーション記憶部２９０に記憶する。同様に、カメラ１１１Ｂ−Ｆそれぞれによって得られた複数の路面画像２９１も撮像時刻と共にキャリブレーション記憶部２９０に記憶する。
【００２６】
カメラ座標値データ２９２（第一のカメラ座標値、第二のカメラ座標値の一例）は、複数の路面画像２９１が撮像されたときのカメラ１１１Ａ−Ｆの三次元座標値を含んだデータである。カメラ１１１Ａ−Ｆの三次元座標値は時刻に対応付けてカメラ座標値データ２９２に設定されている。
カメラ１１１Ａ−Ｆの三次元座標値は、計測車両１００の三次元座標値（座標原点の座標値）に座標原点からカメラ１１１Ａ−Ｆの取り付け位置までの三次元ベクトル（距離）を加算して得られる値である。例えば、計測車両１００の三次元座標値は、ＧＰＳ受信機１１３の測位結果およびＩＭＵ１１４またはオドメータ１２０の計測データを用いた慣性航法（ストラップダウン演算、デッドレコニング演算）によって得られる。
カメラ１１１Ａ−Ｆの取り付け位置（ｘｃａｍ，ｙｃａｍ，ｚｃａｍ）は、特許文献４に開示されている方法によって高い精度で容易に算出することができる。
カメラ座標値データ２９２は予め生成されてキャリブレーション記憶部２９０に記憶してあるものとする。
【００２７】
三次元点群データ２９３（点群データの一例）は、レーザスキャナ１１２Ａ−Ｄが計測した複数の計測地点（例えば、路面の複数地点）それぞれの三次元座標値を含んだデータである。
各計測地点の三次元座標値は、レーザスキャナ１１２Ａ−Ｄの三次元座標値にレーザスキャナ１１２Ａ−Ｄの計測値（距離および方位）が表す三次元ベクトルを加算して得られる値である。レーザスキャナ１１２Ａ−Ｄの三次元座標値は、カメラ１１１Ａ−Ｆの三次元座標値と同様に、計測車両１００の三次元座標値に座標原点からレーザスキャナ１１２Ａ−Ｄの取り付け位置までの三次元ベクトル（距離）を加算して得られる。
レーザスキャナ１１２Ａ−Ｄの取り付け位置（ｘｌｒｆ，ｙｌｒｆ，ｚｌｒｆ）および取り付け角度（φｌｒｆ，θｌｒｆ，ψｌｒｆ）は、特許文献４に開示されている方法によって高い精度で容易に算出することができる。
三次元点群データ２９３は、予め生成されてキャリブレーション記憶部２９０に記憶してあるものとする。
【００２８】
カメラ姿勢角値データ２９９は、カメラ１１１Ａ−Ｆそれぞれの取り付け角度（ロール角φｃａｍ，ヨー角θｃａｍ，ピッチ角ψｃａｍ）の値を含んだデータである。以下、取り付け角度の値を「姿勢角値」という（カメラ姿勢角値の一例）。
例えば、カメラ姿勢角値データ２９９には、計測ユニット１１０の設計値（カメラ１１１Ａ−Ｆの取り付け角度）をカメラ１１１Ａ−Ｆの姿勢角値として設定する。但し、カメラ１１１Ａ−Ｆを設計値通りに正確に取り付けることは困難であるため、カメラ姿勢角値データ２９９に設定されたカメラ１１１Ａ−Ｆの姿勢角値はカメラ１１１Ａ−Ｆの実際の姿勢角に対して誤差を含む。カメラ姿勢角値データ２９９に設定されたカメラ１１１Ａ−Ｆの姿勢角値は、キャリブレーション装置２００によって調整される。
カメラ姿勢角値データ２９９は、予め生成されてキャリブレーション記憶部２９０に記憶してあるものとする。但し、カメラ姿勢角値データ２９９が示すカメラ１１１Ａ−Ｆの姿勢角値は正確な値ではなく、誤差を含んでいる。
【００２９】
指定線入力部２１０、指定線算出部２２０、参照画像表示部２３０およびカメラ姿勢角値修正部２４０は、キャリブレーション記憶部２９０に記憶されているデータを用いてカメラ１１１Ａの姿勢角値を以下のように調整する。また、各構成要素は、他のカメラ１１１Ｂ−Ｆの姿勢角値も同様に調整する。
【００３０】
指定線入力部２１０（指定点入力部、指定点取得部の一例）は、カメラ１１１Ａによって得られた第一の路面画像２９１ａを表示し、利用者が路面画像２９１内の直線に沿って指定する直線の情報（複数の指定点の一例）を指定線として入力する。
指定線入力部２１０の処理の詳細については後述する。
【００３１】
指定線算出部２２０は、第一の路面画像２９１ａが撮像されたときのカメラ１１１Ａの三次元座標値と、カメラ姿勢角値データ２９９が示すカメラ１１１Ａの姿勢角値と、三次元点群データ２９３に含まれる三次元座標値とに基づいて、レーザスキャナ１１２Ａ−Ｄが計測した複数の計測地点を示す点群を第一の路面画像２９１ａに投影する。
指定線算出部２２０は、第一の路面画像２９１ａに投影した点群に基づいて指定線の三次元座標値を算出する。
指定線算出部２２０の処理の詳細については後述する。
【００３２】
参照画像表示部２３０（参照画像生成部の一例）は、指定線算出部２２０によって算出された指定線の三次元座標値と、カメラ１１１Ａによって得られた第二の路面画像２９１ｂが撮像されたときのカメラ１１１Ａの三次元座標値と、カメラ姿勢角値データ２９９が示すカメラ１１１Ａの姿勢角値とに基づいて、指定線を第二の路面画像２９１ｂに投影する。
参照画像表示部２３０は、指定線を投影した第二の路面画像２９１ｂを参照画像として表示する。
参照画像表示部２３０の処理の詳細については後述する。
【００３３】
カメラ姿勢角値修正部２４０は、利用者がカメラ１１１Ａの姿勢角値を修正するために指定する姿勢角値修正情報を入力する。
カメラ姿勢角値修正部２４０は、姿勢角値修正情報に基づいてカメラ１１１Ａの姿勢角値を修正する。
カメラ姿勢角値修正部２４０の処理の詳細については後述する。
【００３４】
図３、図４、図５は、実施の形態１におけるキャリブレーション装置２００のキャリブレーション方法の概要を示す図である。
実施の形態１におけるキャリブレーション装置２００のキャリブレーション方法の概要について、図３から図５に基づいて説明する。
【００３５】
図３において、キャリブレーション装置２００は、横線３０１と縦線３０２とが記された路面を撮像して得られた第一の路面画像２９１ａをディスプレイ９１１（表示装置）に表示する。利用者は、入力装置（キーボード、マウスなど）を用いて第一の路面画像２９１ａの横線３０１および縦線３０２に沿って線（横指定線３０３、縦指定線３０４）を引く。
キャリブレーション装置２００は、カメラ１１１の姿勢角値と第一の路面画像２９１ａを撮像時のカメラ１１１の三次元座標値と三次元点群データ２９３とに基づいて横指定線３０３および縦指定線３０４の三次元座標値（点群）を算出する。
図４または図５において、キャリブレーション装置２００は、計測車両１００が横線３０１および縦線３０２に対して前進または後退したときの画像（第二の路面画像２９１ｂ）をディスプレイ９１１に表示する。また、キャリブレーション装置２００は横指定線３０３および縦指定線３０４の三次元座標値（点群）に基づいて横指定線３０３および縦指定線３０４（後述する複数の参照点３１１）を第二の路面画像２９１ｂに記す。横指定線３０３および縦指定線３０４が横線３０１および縦線３０２からずれている場合（図４）、利用者はキャリブレーション装置２００に対してカメラ１１１の姿勢角値の修正を指示し、キャリブレーション装置２００はカメラ１１１の姿勢角値を修正する。横指定線３０３および縦指定線３０４が横線３０１および縦線３０２からずれていない場合（図５）、カメラ１１１の姿勢角値は正しく調整されている。
【００３６】
図６は、実施の形態１におけるキャリブレーション装置２００のキャリブレーション方法を示すフローチャートである。
カメラ姿勢角値データ２９９が示すカメラ１１１Ａの姿勢角値をキャリブレーションするキャリブレーション装置２００のキャリブレーション方法について、図６に基づいて説明する。但し、キャリブレーション装置２００は、他のカメラ１１１Ｂ−Ｆの姿勢角値も同様にキャリブレーションする。
【００３７】
指定線入力処理（Ｓ１１０）において、指定線入力部２１０は、カメラ１１１Ａによって得られた一つの路面画像２９１をキャリブレーション記憶部２９０から取得し、取得した路面画像２９１をディスプレイ９１１に表示する。
以下、Ｓ１１０で表示する一つの路面画像２９１を「第一の路面画像２９１ａ」という。但し、第一の路面画像２９１ａは、直線（例えば、白線）が記された路面を映した画像である。
【００３８】
例えば、指定線入力部２１０は、以下のように第一の路面画像２９１ａを表示する。
（１）キャリブレーション装置２００は計測車両１００に搭載され、指定線入力部２１０はキャリブレーションが実行されるときにカメラ１１１Ａによって最初に得られた路面画像２９１を第一の路面画像２９１ａとしてディスプレイに表示する。
（２）指定線入力部２１０は、カメラ１１１Ａによって得られた複数の路面画像２９１をキャリブレーション記憶部２９０から取得し、取得した複数の路面画像２９１をサムネイルでディスプレイ９１１に表示する。そして、利用者は入力装置を用いて一つの路面画像２９１を選択し、指定線入力部２１０は選択された路面画像２９１を第一の路面画像２９１ａとしてディスプレイ９１１に表示する。
（３）指定線入力部２１０は、カメラ１１１Ａによって得られた複数の路面画像２９１からランダムに一つの路面画像２９１を選択し、選択した路面画像２９１を第一の路面画像２９１ａとしてディスプレイに表示する。
【００３９】
図７は、実施の形態１における指定線入力処理（Ｓ１１０）の概要図である。
指定線入力処理（Ｓ１１０）の続きを図７に基づいて説明する。
【００４０】
第一の路面画像２９１ａは向きが異なる２つの白線（横線３０１、縦線３０２）を含んでいる。横線３０１（第一直線の一例）は画像の縦方向よりも横方向に伸びている白線であり、縦線３０２（第二直線の一例）は画像の横方向よりも縦方向に伸びている白線である。但し、横線３０１および縦線３０２は道路に記された白線以外の直線（例えば、キャリブレーションのために地面に引いた線）であっても構わない。
【００４１】
利用者は、ディスプレイ９１１に表示された第一の路面画像２９１ａを参照し、第一の路面画像２９１ａに映っている横線３０１に沿って横指定線３０３を入力装置を用いて指定し、第一の路面画像２９１ａに映っている縦線３０２に沿って縦指定線３０４を入力装置を用いて指定する。横指定線３０３は横線３０１に沿って指定する複数点の一例であり、縦指定線３０４は縦線３０２に沿って指定する複数点の一例である。
指定線入力部２１０は、指定された横指定線３０３と縦指定線３０４とを入力装置から入力する。例えば、横指定線３０３および縦指定線３０４は指定された画素の座標値として表される。
【００４２】
図６に戻り、キャリブレーション方法の説明を続ける。
Ｓ１１０の後、処理はＳ１２０に進む。
【００４３】
指定線算出処理（Ｓ１２０）において、指定線算出部２２０は、カメラ姿勢角値データ２９９からカメラ１１１Ａの姿勢角値を取得し、カメラ座標値データ２９２から第一の路面画像２９１ａの撮像時刻と同じ時刻のカメラ１１１Ａの三次元座標値を取得する。また、指定線算出部２２０は、カメラ１１１Ａの焦点距離ｆをキャリブレーション記憶部２９０から取得する。カメラ１１１Ａの焦点距離ｆはキャリブレーション記憶部２９０に予め記憶しておく。
指定線算出部２２０は、キャリブレーション記憶部２９０から三次元点群データ２９３を取得する。
指定線算出部２２０は、取得したカメラ１１１Ａの姿勢角値と三次元座標値と焦点距離ｆと、取得した三次元点群データ２９３に含まれる複数の三次元座標値とを用いて、レーザスキャナ１１２Ａ−Ｄが計測した複数の計測地点を示す点群を第一の路面画像２９１ａに投影する。
【００４４】
図８は、実施の形態１における点群の投影処理を示す概要図である。
第一の路面画像２９１ａに点群を投影する処理について、図８に基づいて説明する。
【００４５】
指定線算出部２２０は、カメラ１１１Ａの三次元座標値が示すカメラ中心点Ｏから焦点距離ｆだけ離れてカメラ１１１Ａの姿勢角値が示す姿勢角ベクトルＶＡと直交する画像平面Ｉを算出する。画像平面Ｉは第一の路面画像２９１ａに相当する平面である。
指定線算出部２２０は、カメラ中心点Ｏから三次元点群データ２９３の三次元座標値が示す計測地点Ｍへの視線ベクトルＶＬを算出し、視線ベクトルＶＬと画像平面Ｉとが交差する点Ｍ’を計測地点Ｍの投影点として算出する。
【００４６】
投影処理は、路面画像２９１の画素と三次元点群データ２９３の三次元座標値が示す計測地点とを対応付けるための処理である。
【００４７】
点群の投影処理の詳細については、特許文献１（図２４参照）や特許文献３（図１０参照）に開示されている。
【００４８】
図９は、実施の形態１における第一の路面画像２９１ａに投影した点群を表す図である。
但し、指定線算出部２２０は、図９のように第一の路面画像２９１ａに投影した点群を表示してもよいし、表示しなくてもよい。
図６に戻り、指定線算出処理（Ｓ１２０）の説明を続ける。
【００４９】
指定線算出部２２０は、第一の路面画像２９１ａに投影した点群の三次元座標値に基づいて横指定線３０３の三次元座標値を算出する。
指定線算出部２２０は、縦指定線３０４の三次元座標値を横指定線３０３の三次元座標値と同様に算出する。
【００５０】
例えば、指定線算出部２２０は、以下のようにして横指定線３０３の三次元座標値を算出する。
指定線算出部２２０は、横指定線３０３から複数点を選択する。
指定線算出部２２０は、第一の路面画像２９１ａに投影した点群から、横指定線３０３の第一の選択点の近傍に投影された複数の近傍点（例えば、第一の選択点を囲む三つの近傍点）を抽出する。
指定線算出部２２０は、抽出した複数の近傍点の中間点の三次元座標値を横指定線３０３の第一の選択点の三次元座標値として算出する。
指定線算出部２２０は、横指定線３０３の他の選択点についても同様に三次元座標値を算出する。これら選択点の三次元座標値は横指定線３０３の三次元座標値を表す。
【００５１】
カメラ１１１Ａの姿勢角値に誤差が含まれる場合、カメラ１１１Ａの姿勢角値を用いて第一の路面画像２９１ａに投影した点群は第一の路面画像２９１ａに対して正しい位置に投影されていない。
このため、第一の路面画像２９１ａに投影した点群に基づいて算出した横指定線３０３および縦指定線３０４を他の路面画像２９１に投影した場合、横指定線３０３および縦指定線３０４は他の路面画像２９１に映る横線３０１および縦線３０２からずれた部分に投影される。
Ｓ１２０の後、処理はＳ１３０に進む。
【００５２】
参照画像表示処理（Ｓ１３０）において、参照画像表示部２３０は、カメラ１１１Ａによって得られた一つの路面画像２９１（但し、第一の路面画像２９１ａを除く）をキャリブレーション記憶部２９０から取得する。
以下、Ｓ１３０で取得する一つの路面画像２９１を「第二の路面画像２９１ｂ」という。但し、第二の路面画像２９１ｂは、第一の路面画像２９１ａに映った直線（横線３０１、縦線３０２）と同じ直線を映した画像である。
【００５３】
例えば、参照画像表示部２３０は、以下のように第二の路面画像２９１ｂを取得する。
（１）キャリブレーション装置２００を搭載した計測車両１００を横線３０１および縦線３０２に対して前進（または後退）させる。そして、参照画像表示部２３０は計測車両１００が横線３０１および縦線３０２に対して前進（または後退）したときにカメラ１１１Ａによって得られた路面画像２９１を第二の路面画像２９１ｂとして取得する。
（２）参照画像表示部２３０は、各路面画像２９１の撮像時刻に基づいて第一の路面画像２９１ａの前（例えば、一つ前）に得られた路面画像２９１または第一の路面画像２９１ａの後（例えば、一つ後）に得られた路面画像２９１を第二の路面画像２９１ｂとして取得する。
（３）Ｓ１１０の（２）と同様に、利用者は路面画像２９１を選択し、参照画像表示部２３０は選択された路面画像２９１を第二の路面画像２９１ｂとして取得する。
【００５４】
参照画像表示部２３０は、カメラ姿勢角値データ２９９からカメラ１１１Ａの姿勢角値を取得し、カメラ座標値データ２９２から第二の路面画像２９１ｂの撮像時刻と同じ時刻のカメラ１１１Ａの三次元座標値を取得する。また、参照画像表示部２３０は、カメラ１１１Ａの焦点距離ｆをキャリブレーション記憶部２９０から取得する。
参照画像表示部２３０は、取得したカメラ１１１Ａの姿勢角値と三次元座標値と焦点距離ｆと、Ｓ１２０で複数の参照点３１１として投影された各計測地点の三次元座標値とを用いて、横指定線３０３および縦指定線３０４を第二の路面画像２９１ｂに投影する。横指定線３０３および縦指定線３０４の投影方法はＳ１２０と同様である。
参照画像表示部２３０は、横指定線３０３および縦指定線３０４を投影した第二の路面画像２９１ｂをディスプレイ９１１に表示する。以下、横指定線３０３および縦指定線３０４を投影した第二の路面画像２９１ｂを「参照画像３２１」という。
【００５５】
図１０、図１１は、実施の形態１における参照画像３２１（ロール角のずれ）の一例を示す図である。
カメラ姿勢角値データ２９９が示すカメラ１１１Ａのロール角の角度（姿勢角値の一つ）に誤差が含まれている場合、参照画像３２１の横指定線３０３および縦指定線３０４は横線３０１および縦線３０２からロール角の方向にずれた部分に表示される（図１０、図１１参照）。
つまり、横指定線３０３は参照画像３２１の右側部分と左側部分とで横線３０１に対して上下異なる方向にずれる。さらに、縦指定線３０４は縦線３０２に対して左右いずれか一方にずれる。
【００５６】
図１２、図１３は、実施の形態１における参照画像３２１（ピッチ角のずれ）の一例を示す図である。
カメラ姿勢角値データ２９９が示すカメラ１１１Ａのピッチ角の角度（姿勢角値の一つ）に誤差が含まれている場合、参照画像３２１の横指定線３０３および縦指定線３０４は横線３０１および縦線３０２からピッチ角の方向にずれた部分に表示される（図１２、図１３参照）。
つまり、横指定線３０３および縦指定線３０４は横線３０１および縦線３０２に対して上下いずれか一方にずれる。
【００５７】
図１４、図１５は、実施の形態１における参照画像３２１（ヨー角のずれ）の一例を示す図である。
カメラ姿勢角値データ２９９が示すカメラ１１１Ａのヨー角の角度（姿勢角値の一つ）に誤差が含まれている場合、参照画像３２１の横指定線３０３は横線３０１に対してずれずに表示され（または横線３０１に対するずれが小さく）、参照画像３２１の縦指定線３０４は縦線３０２に対して左右いずれか一方にずれて表示される。
【００５８】
図６に戻り、キャリブレーション方法の説明を続ける。
Ｓ１３０の後、処理はＳ１４０に進む。
【００５９】
修正要否判定処理（Ｓ１４０）において、利用者は、Ｓ１３０（または後述するＳ１６０）で表示された参照画像３２１（図１０から図１５参照）を参照し、横指定線３０３および縦指定線３０４が横線３０１および縦線３０２に対してずれているか否かを判定し、入力装置を用いて判定結果を指定する。カメラ姿勢角値修正部２４０は、指定された判定結果を入力装置から入力する。
横指定線３０３および縦指定線３０４が横線３０１および縦線３０２に対してずれていることを示す判定結果が入力された場合（ＹＥＳ）、処理はＳ１５０に進む。
横指定線３０３および縦指定線３０４が横線３０１および縦線３０２に対してずれていないことを示す判定結果が入力された場合（ＮＯ）、キャリブレーション方法の処理は終了する。
【００６０】
カメラ姿勢角値修正処理（Ｓ１５０）において、利用者は、カメラ姿勢角値データ２９９に含まれるカメラ１１１Ａの姿勢角値を修正するための姿勢角値修正量（姿勢角値修正情報の一例）を入力装置を用いて指定する。姿勢角値修正量は、カメラ１１１Ａのロール角、ピッチ角およびヨー角のいずれかに加算（または減算）する角度を示す。但し、姿勢角値修正量にロール角、ピッチ角およびヨー角のうち複数の角度に加算（または減算）する複数の角度を含んでもよい。
カメラ姿勢角値修正部２４０は指定された姿勢角値修正量を入力装置から入力し、入力した姿勢角値修正量をカメラ姿勢角値データ２９９に含まれるカメラ１１１Ａの姿勢角値に加算（または減算）する。これにより、カメラ１１１Ａの姿勢角値は修正（更新）される。
但し、利用者は修正後のカメラ１１１Ａの姿勢角値（姿勢角値修正情報の一例）を指定し、カメラ姿勢角値修正部２４０は指定されたカメラ１１１Ａの姿勢角値をカメラ姿勢角値データ２９９に上書きしてもよい。
【００６１】
このとき、利用者は、Ｓ１３０（または後述するＳ１６０）で表示された参照画像３２１（図１０から図１５参照）が示す横指定線３０３および縦指定線３０４と横線３０１および縦線３０２とのずれに基づいて姿勢角値修正量（または修正後の姿勢角値）を判断する。
【００６２】
図１６は、実施の形態１におけるカメラ１１１Ａの姿勢角値の修正条件の一例を示す表である。
例えば、利用者は、姿勢角値（ロール角、ピッチ角またはヨー角）を修正する向きを図１６に示す表に従って判断する。また、利用者は、ずれ量が大きいほど大きな修正量を指定する。
但し、図１６に示すずれ及び修正の向きは、計測車両１００が横線１０１および縦線３０２に近づいたときに右前向きのカメラ１１１Ａで第一の路面画像２９１ａを撮像し、計測車両１００が横線１０１および縦線３０２から遠ざかったときにカメラ１１１Ａで第二の路面画像２９１ｂ（参照画像３２１）を撮像した場合のずれ及び修正の向きである。
左前向きのカメラ１１１Ｂや後ろ向きのカメラ１１１Ｅ・１１１Ｆで第一の路面画像２９１ａおよび第二の路面画像２９１ｂを撮像した場合、ずれまたは修正の向きが異なる。
また、計測車両１００が横線１０１および縦線３０２から遠ざかったときに撮像した画像を第一の路面画像２９１ａとして用い、計測車両１００が横線１０１および縦線３０２に近づいたときに撮像した画像を第二の路面画像２９２ｂとして用いる場合、ずれまたは修正の向きが異なる。例えば、ずれまたは修正の向きが図１６に示す向きに対して逆向きになる。
【００６３】
（１）参照画像３２１の右側で横指定線３０３が横線３０１に対して下側にずれ、参照画像３２１の左側で横指定線３０３が横線３０１に対して上側にずれ、縦指定線３０４が縦線３０２に対して右側にずれている場合（図１０参照）、利用者は、カメラ１１１Ａのロール角の角度を右回転の方向に修正するための姿勢角値修正量を指定する。
（２）参照画像３２１の右側で横指定線３０３が横線３０１に対して上側にずれ、参照画像３２１の左側で横指定線３０３が横線３０１に対して下側にずれ、縦指定線３０４が縦線３０２に対して左側にずれている場合（図１１参照）、利用者は、カメラ１１１Ａのロール角の角度を左回転の方向に修正する姿勢角値修正量を指定する。
【００６４】
（３）参照画像３２１の横指定線３０３および縦指定線３０４が横線３０１および縦線３０２に対して上側にずれている場合（図１２参照）、利用者は、カメラ１１１Ａのピッチ角の角度を上方向に修正するための姿勢角値修正量を指定する。
（４）参照画像３２１の横指定線３０３および縦指定線３０４が横線３０１および縦線３０２に対して下側にずれている場合（図１３参照）、利用者は、カメラ１１１Ａのピッチ角の角度を下方向に修正するための姿勢角値修正量を指定する。
【００６５】
（５）参照画像３２１の横指定線３０３が横線３０１に対してずれてなく（またはずれが小さく）、縦指定線３０４が縦線３０２に対して左側にずれている場合（図１４参照）、利用者は、カメラ１１１Ａのヨー角の角度を左方向に修正するための姿勢角値修正量を指定する。
（６）参照画像３２１の横指定線３０３が横線３０１に対してずれてなく（またはずれが小さく）、縦指定線３０４が縦線３０２に対して右側にずれている場合（図１５参照）、利用者は、カメラ１１１Ａのヨー角の角度を右方向に修正するための姿勢角値修正量を指定する。
【００６６】
また、利用者は、以下のようにカメラ１１１Ａのロール角とピッチ角とのいずれを修正するか判断して姿勢角値修正量を指定してもよい。
横指定線３０３の横線３０１に対するずれと縦指定線３０４の縦線３０２に対するずれとが同程度の大きさである場合（図１０、図１１参照）、利用者は、カメラ１１１Ａのヨー角の角度ではなくロール角の角度を修正するための姿勢角値修正量を指定する。
参照画像３２１の左右両側で横指定線３０３が横線３０１に対して上下いずれか一方にずれている場合（図１４、図１５参照）、利用者は、カメラ１１１Ａのロール角の角度ではなくヨー角の角度を修正するための姿勢角値修正量を指定する。
【００６７】
図６に戻り、キャリブレーション方法の説明を続ける。
Ｓ１５０の後、処理はＳ１６０に進む。
【００６８】
カメラ姿勢角値確認処理（Ｓ１６０）において、参照画像表示部２３０は、Ｓ１５０で修正されたカメラ１１１Ａの姿勢角値を用いて、第一の路面画像２９１ａ、第二の路面画像２９１ｂまたはカメラ１１１Ａによって得られた第三の路面画像２９１ｃに複数の参照点３１１を投影する。これにより、参照画像３２１が新たに生成される。投影方法はＳ１２０およびＳ１３０と同様である。
参照画像表示部２３０は、新たに生成した参照画像３２１をディスプレイに表示する。
Ｓ１６０の後、処理はＳ１４０に戻る。
【００６９】
図６に基づいて説明したキャリブレーション方法により、カメラ１１１Ａの姿勢角値を修正し、カメラ１１１Ａの正しい姿勢角値を算出することができる。
キャリブレーション装置２００は、カメラ１１１Ａの姿勢角値と同様にカメラ１１１Ｂ−Ｆそれぞれの姿勢角値を修正し、カメラ１１１Ｂ−Ｆそれぞれの正しい姿勢角値を算出する。
【００７０】
図１７は、実施の形態１におけるキャリブレーション装置２００のハードウェア資源の一例を示す図である。
図１７において、キャリブレーション装置２００（コンピュータの一例）は、ＣＰＵ９０１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。ＣＰＵ９０１は、バス９０２を介してＲＯＭ９０３、ＲＡＭ９０４、通信ボード９０５（通信装置）、ディスプレイ９１１（表示装置）、キーボード９１２、マウス９１３、ドライブ９１４、磁気ディスク装置９２０などのハードウェアデバイスと接続され、これらのハードウェアデバイスを制御する。ドライブ９１４は、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などの記憶媒体を読み書きする装置である。
ＲＯＭ９０３、ＲＡＭ９０４、磁気ディスク装置９２０およびドライブ９１４は記憶装置の一例である。キーボード９１２、マウス９１３および通信ボード９０５は入力装置の一例である。ディスプレイ９１１および通信ボード９０５は出力装置の一例である。
【００７１】
通信ボード９０５は、有線または無線で、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、電話回線などの通信網に接続している。
【００７２】
磁気ディスク装置９２０には、ＯＳ９２１（オペレーティングシステム）、プログラム群９２２、ファイル群９２３が記憶されている。
【００７３】
プログラム群９２２には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラム（例えば、カメラキャリブレーションプログラム）は、ＣＰＵ９０１により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
【００７４】
ファイル群９２３には、実施の形態において説明する「〜部」で使用される各種データ（入力、出力、判定結果、計算結果、処理結果など）が含まれる。
【００７５】
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
フローチャートなどに基づいて説明する実施の形態の処理はＣＰＵ９０１、記憶装置、入力装置、出力装置などのハードウェアを用いて実行される。
【００７６】
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
【００７７】
実施の形態１により、カメラ１１１の姿勢角値を高い精度で容易にキャリブレーションすることができる。
【００７８】
以下に実施の形態１の補足説明を行う。
【００７９】
図３で説明したキャリブレーション方法の処理は以下のように実施してもよい。
指定線入力処理（Ｓ１１０）において、利用者は、横指定線３０３や縦指定線３０４を指定する代わりに、横線３０１と縦線３０２とのそれぞれに沿って複数点を指定してもよい。横線３０１に沿って複数点を指定するとき、利用者は第一の路面画像２９１ａの右側部分と左側部分とのそれぞれに点を指定する。
この場合、指定線入力部２１０は、横線３０１に沿って指定された複数点を含む直線を横指定線３０３として算出し、縦線３０２に沿って指定された複数点を含む直線を縦指定線３０４として算出する。
また、キャリブレーション装置２００は、横指定線３０３と縦指定線３０４とを横線３０１に沿って指定された複数点と縦線３０２に沿って指定された複数点とに置き換えてキャリブレーション方法の処理を実行しても構わない。
【００８０】
指定線入力処理（Ｓ１１０）において、利用者は横指定線３０３のみを指定してもよい。カメラ姿勢角値修正処理（Ｓ１５０）において横指定線３０３が横線３０１からずれている場合、利用者はカメラ１１１のロール角の値またはピッチ角の値を修正するための姿勢角値修正量を指定する。
指定線入力処理（Ｓ１１０）において、利用者は縦指定線３０４のみを指定してもよい。カメラ姿勢角値修正処理（Ｓ１５０）において縦指定線３０４が縦線３０２からずれている場合、利用者はカメラ１１１のロール角の値、ピッチ角の値またはヨー角の値を修正するための姿勢角値修正量を指定する。
【００８１】
指定線入力処理（Ｓ１１０）において、利用者が横指定線３０３および縦指定線３０４を指定する代わりに、キャリブレーション装置２００が横指定線３０３および縦指定線３０４を算出してもよい。この場合、指定線入力部２１０は第一の路面画像２９１ａを表示しなくてもよい。
例えば、指定線入力部２１０は、第一の路面画像２９１ａを画像処理し、第一の路面画像２９１ａの画素値に基づいて第一の路面画像２９１ａに映った直線（例えば、白線）のエッジ部分を横指定線３０３および縦指定線３０４として算出する。
【００８２】
修正要否判定処理（Ｓ１４０）において、横指定線３０３および縦指定線３０４が横線３０１および縦線３０２に対してずれているか否かを利用者が判断する代わりにキャリブレーション装置２００が判定してもよい。この場合、参照画像表示部２３０は参照画像３２１を表示しなくてもよい。
例えば、カメラ姿勢角値修正部２４０は、参照画像３２１を画像処理し、参照画像３２１の画素値に基づいて直線（例えば、白線）が映った部分を横線３０１および縦線３０２として算出する。カメラ姿勢角値修正部２４０は、参照画像３２１に投影された横指定線３０３および縦指定線３０４と参照画像３２１に映った横線３０１および縦線３０２とを比較する。そして、横指定線３０３および縦指定線３０４が横線３０１および縦線３０２に対して所定のずれ量閾値以上ずれている場合、カメラ姿勢角値修正部２４０は、横指定線３０３および縦指定線３０４が横線３０１および縦線３０２に対してずれていると判定する。
【００８３】
カメラ姿勢角値修正処理（Ｓ１５０）において、利用者が姿勢角値修正量を指定する代わりにキャリブレーション装置２００が姿勢角値修正量を算出してもよい。
例えば、カメラ姿勢角値修正部２４０は、上記の修正要否判定処理（Ｓ１４０）と同様に、横指定線３０３および縦指定線３０４と横線３０１および縦線３０２とを比較し、横指定線３０３および縦指定線３０４が横線３０１および縦線３０２に対してずれている方向およびずれ量を算出する。そして、カメラ姿勢角値修正部２４０は、図１６で説明した修正条件に従って姿勢角値修正量を算出する。カメラ姿勢角値修正部２４０は、ずれが大きいか否かをずれ量が所定のずれ量閾値より大きいか否かで判定する。
【符号の説明】
【００８４】
１００  計測車両、１１０  計測ユニット、１１１  カメラ、１１２  レーザスキャナ、１１３  ＧＰＳ受信機、１１４  ＩＭＵ、１２０  オドメータ、２００  キャリブレーション装置、２１０  指定線入力部、２２０  指定線算出部、２３０  参照画像表示部、２４０  カメラ姿勢角値修正部、２９０  キャリブレーション記憶部、２９１  路面画像、２９２  カメラ座標値データ、２９３  三次元点群データ、２９９  カメラ姿勢角値データ、３０１  横線、３０２  縦線、３０３  横指定線、３０４  縦指定線、３２１  参照画像、９０１  ＣＰＵ、９０２  バス、９０３  ＲＯＭ、９０４  ＲＡＭ、９０５  通信ボード、９１１  ディスプレイ、９１２  キーボード、９１３  マウス、９１４  ドライブ、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  プログラム群、９２３  ファイル群。
【図１】
0005844454.tif 000002
【図２】
0005844454.tif 000003
【図３】
0005844454.tif 000004
【図４】
0005844454.tif 000005
【図５】
0005844454.tif 000006
【図６】
0005844454.tif 000007
【図７】
0005844454.tif 000008
【図８】
0005844454.tif 000009
【図９】
0005844454.tif 000010
【図１０】
0005844454.tif 000011
【図１１】
0005844454.tif 000012
【図１２】
0005844454.tif 000013
【図１３】
0005844454.tif 000014
【図１４】
0005844454.tif 000015
【図１５】
0005844454.tif 000016
【図１６】
0005844454.tif 000017
【図１７】
0005844454.tif 000018