(57)【要約】【課題】カメラパラメータを柔軟に推定する。【解決手段】カメラパラメータ推定装置は、カメラ座標系におけるカメラの推定上の位置および姿勢を取得するカメラ位置姿勢取得部と、車両の直進時におけるカメラの推定上の位置の遷移に基づいて、車両の進行方向に対応した第１ベクトルを算出する第１ベクトル算出部と、車両の旋回時におけるカメラの推定上の位置の遷移に基づいて、車両が走行する路面に対応した平面の法線方向に対応した第２ベクトルを算出する第２ベクトル算出部と、第１ベクトルと第２ベクトルとに直交する第３ベクトルを算出する第３ベクトル算出部と、第１ベクトルと、第２ベクトルと、第３ベクトルと、第１ベクトルで示される方向に沿ってカメラの推定上の位置が移動する場合におけるカメラの推定上の姿勢と、に基づいて、車両におけるカメラの実際の設置姿勢を、カメラパラメータとして推定するカメラパラメータ推定部と、を備える。【選択図】図４
2020068477.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載される周辺監視用のカメラによって取得される撮像画像に基づいて推定される、前記カメラに対して設定されたカメラ座標系における前記カメラの推定上の位置および姿勢を取得するカメラ位置姿勢取得部と、
前記車両の直進時における前記カメラの推定上の位置の遷移に基づいて、前記カメラ座標系における前記車両の進行方向に対応した第１ベクトルを算出する第１ベクトル算出部と、
前記車両の旋回時における前記カメラの推定上の位置の遷移に基づいて、前記カメラ座標系における、前記車両が走行する路面に対応した平面の法線方向に対応した第２ベクトルを算出する第２ベクトル算出部と、
前記カメラ座標系において前記第１ベクトルと前記第２ベクトルとに直交する第３ベクトルを算出する第３ベクトル算出部と、
前記第１ベクトルと、前記第２ベクトルと、前記第３ベクトルと、前記第１ベクトルで示される方向に沿って前記カメラの推定上の位置が移動する場合における前記カメラの推定上の姿勢と、に基づいて、前記車両における前記カメラの実際の設置姿勢を、前記カメラのキャリブレーションのためのカメラパラメータとして推定するカメラパラメータ推定部と、
を備える、カメラパラメータ推定装置。
【請求項２】
前記カメラの推定上の位置の遷移が直線で近似される分布を示すか否かに基づいて、前記車両が直進したか否かを判定する第１判定部をさらに備え、
前記第１ベクトル算出部は、前記車両が直進したと前記第１判定部により判定された区間における前記カメラの推定上の位置の遷移を近似する前記直線に基づいて、前記第１ベクトルを算出する、
請求項１に記載のカメラパラメータ推定装置。
【請求項３】
前記第１判定部は、所定以上の長さを有する所定区間における前記カメラの推定上の位置の遷移が前記直線で近似される分布を示すか否かに基づいて、前記所定区間において前記車両が直進したか否かを判定する、
請求項２に記載のカメラパラメータ推定装置。
【請求項４】
前記車両の走行状態を検出するセンサの出力を含むセンサ情報を取得するセンサ情報取得部をさらに備え、
前記第１判定部は、前記カメラの推定上の位置の遷移が前記直線で近似される分布を示すか否かと、前記センサ情報と、のうち少なくとも一方に基づいて、前記車両が直進したか否かを判定する、
請求項２または３に記載のカメラパラメータ推定装置。
【請求項５】
前記カメラの推定上の位置の遷移が、互いに交差する方向に延びる２つの直線と、当該２つの直線の間で所定以上の曲率を有して延びる少なくとも１つの曲線と、で近似される分布を示すか否かに基づいて、前記車両が旋回したか否かを判定する第２判定部をさらに備え、
前記第２ベクトル算出部は、前記車両が旋回したと前記第２判定部により判定された区間における前記カメラの推定上の位置の遷移を近似する少なくとも前記２つの直線に基づいて、前記第２ベクトルを算出する、
請求項１〜４のうちいずれか１項に記載のカメラパラメータ推定装置。
【請求項６】
前記第２判定部は、さらに、前記カメラの推定上の位置の遷移が、少なくとも前記２つの直線に対応した１つの平面で近似される分布を示すか否かに基づいて、前記車両が旋回したか否かを判定し、
前記第２ベクトル算出部は、前記１つの平面の法線方向に対応したベクトルを、前記第２ベクトルとして算出する、
請求項５に記載のカメラパラメータ推定装置。
【請求項７】
前記第２判定部は、前記カメラの推定上の位置の遷移のうち、前記少なくとも１つの曲線に対応した第１部分を除外し、残りの部分のうち、前記２つの直線に対応した第２部分が、前記１つの平面で近似される分布を示すか否かに基づいて、前記車両が旋回したか否かを判定する、
請求項６に記載のカメラパラメータ推定装置。
【請求項８】
前記車両の走行状態を検出するセンサの出力を含むセンサ情報を取得するセンサ情報取得部をさらに備え、
前記第２判定部は、前記カメラの推定上の位置の遷移が前記２つの直線と前記少なくとも１つの曲線とで近似される分布を示すか否かと、前記センサ情報と、のうち少なくとも一方に基づいて、前記車両が旋回したか否かを判定する、
請求項５〜７のうちいずれか１項に記載のカメラパラメータ推定装置。
【請求項９】
前記車両の走行状態を検出するセンサの出力を含むセンサ情報を取得するセンサ情報取得部と、
前記撮像画像に基づいて推定される、前記カメラ座標系における、前記車両が走行する路面の推定上の三次元位置を含む、前記車両の周囲の状況を表す三次元情報を取得する三次元情報取得部と、
をさらに備え、
前記カメラパラメータ推定部は、前記センサ情報に基づいて特定される前記車両の走行距離と、当該走行距離に対応した区間における前記カメラの推定上の位置の遷移と、前記三次元情報に含まれる前記路面の推定上の三次元位置と、に基づいて、前記車両における前記カメラの実際の設置高さを、前記カメラパラメータとして推定する、
請求項１〜８のうちいずれか１項に記載のカメラパラメータ推定装置。
【請求項１０】
前記カメラパラメータ推定部により推定された前記カメラパラメータに基づいて、前記キャリブレーションを実行する補正部をさらに備える、
請求項１〜９のうちいずれか１項に記載のカメラパラメータ推定装置。
【請求項１１】
前記カメラパラメータ推定部により推定された前記カメラパラメータに基づいて、前記キャリブレーションを実行する必要性を通知する通知部をさらに備える、
請求項１〜９のうちいずれか１項に記載のカメラパラメータ推定装置。
【請求項１２】
車両に搭載される周辺監視用のカメラによって取得される撮像画像に基づいて推定される、前記カメラに対して設定されたカメラ座標系における前記カメラの推定上の位置および姿勢を取得するカメラ位置姿勢取得ステップと、
前記車両の直進時における前記カメラの推定上の位置の遷移に基づいて、前記カメラ座標系における前記車両の進行方向に対応した第１ベクトルを算出する第１ベクトル算出ステップと、
前記車両の旋回時における前記カメラの推定上の位置の遷移に基づいて、前記カメラ座標系における、前記車両が走行する路面に対応した平面の法線方向に対応した第２ベクトルを算出する第２ベクトル算出ステップと、
前記カメラ座標系において前記第１ベクトルと前記第２ベクトルとに直交する第３ベクトルを算出する第３ベクトル算出ステップと、
前記第１ベクトルと、前記第２ベクトルと、前記第３ベクトルと、前記第１ベクトルで示される方向に沿って前記カメラの推定上の位置が移動する場合における前記カメラの推定上の姿勢と、に基づいて、前記車両における前記カメラの実際の設置姿勢を、前記カメラのキャリブレーションのためのカメラパラメータとして推定するカメラパラメータ推定ステップと、
を備える、カメラパラメータ推定方法。
【請求項１３】
コンピュータに、
車両に搭載される周辺監視用のカメラによって取得される撮像画像に基づいて推定される、前記カメラに対して設定されたカメラ座標系における前記カメラの推定上の位置および姿勢を取得するカメラ位置姿勢取得ステップと、
前記車両の直進時における前記カメラの推定上の位置の遷移に基づいて、前記カメラ座標系における前記車両の進行方向に対応した第１ベクトルを算出する第１ベクトル算出ステップと、
前記車両の旋回時における前記カメラの推定上の位置の遷移に基づいて、前記カメラ座標系における、前記車両が走行する路面に対応した平面の法線方向に対応した第２ベクトルを算出する第２ベクトル算出ステップと、
前記カメラ座標系において前記第１ベクトルと前記第２ベクトルとに直交する第３ベクトルを算出する第３ベクトル算出ステップと、
前記第１ベクトルと、前記第２ベクトルと、前記第３ベクトルと、前記第１ベクトルで示される方向に沿って前記カメラの推定上の位置が移動する場合における前記カメラの推定上の姿勢と、に基づいて、前記車両における前記カメラの実際の設置姿勢を、前記カメラのキャリブレーションのためのカメラパラメータとして推定するカメラパラメータ推定ステップと、
を実行させる、カメラパラメータ推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、カメラパラメータ推定装置、カメラパラメータ推定方法、およびカメラパラメータ推定プログラムに関する。
【背景技術】
【０００２】
従来、車両に搭載される周辺監視用のカメラにより、路面に設けられる特定の路面標示を撮像することで得られる撮像画像に基づいて、当該特定の路面標示の図形的な特徴を検出し、検出結果に基づいて、車両におけるカメラの実際の設置姿勢を含むカメラパラメータを推定する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４８２０２２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のような従来の技術によってカメラパラメータを推定するためには、特定の路面標示を設けることと、当該特定の路面標示の図形的な特徴を表す正規のデータを撮像画像から検出される特徴との照合用に予め記憶しておくことと、が前提となるので、柔軟性に欠ける。
【０００５】
そこで、本開示の課題の一つは、特定の路面標示に依存することなく、カメラパラメータを柔軟に推定することが可能なカメラパラメータ推定装置、カメラパラメータ推定方法、およびカメラパラメータ推定プログラムを提供することである。
【課題を解決するための手段】
【０００６】
本開示の一例としてのカメラパラメータ推定装置は、車両に搭載される周辺監視用のカメラによって取得される撮像画像に基づいて推定される、カメラに対して設定されたカメラ座標系におけるカメラの推定上の位置および姿勢を取得するカメラ位置姿勢取得部と、車両の直進時におけるカメラの推定上の位置の遷移に基づいて、カメラ座標系における車両の進行方向に対応した第１ベクトルを算出する第１ベクトル算出部と、車両の旋回時におけるカメラの推定上の位置の遷移に基づいて、カメラ座標系における、車両が走行する路面に対応した平面の法線方向に対応した第２ベクトルを算出する第２ベクトル算出部と、カメラ座標系において第１ベクトルと第２ベクトルとに直交する第３ベクトルを算出する第３ベクトル算出部と、第１ベクトルと、第２ベクトルと、第３ベクトルと、第１ベクトルで示される方向に沿ってカメラの推定上の位置が移動する場合におけるカメラの推定上の姿勢と、に基づいて、車両におけるカメラの実際の設置姿勢を、カメラのキャリブレーションのためのカメラパラメータとして推定するカメラパラメータ推定部と、を備える。
【０００７】
上述したカメラパラメータ推定装置によれば、第１ベクトルと第２ベクトルと第３ベクトルとに基づいて、カメラ座標系におけるカメラの推定上の姿勢を、現実世界における車両の向きに整合するように変換することで、車両におけるカメラの実際の設置姿勢を、カメラパラメータとして推定することができる。これにより、特定の路面標示に依存することなく、カメラパラメータを柔軟に推定することができる。
【０００８】
上述したカメラパラメータ推定装置は、カメラの推定上の位置の遷移が直線で近似される分布を示すか否かに基づいて、車両が直進したか否かを判定する第１判定部をさらに備え、第１ベクトル算出部は、車両が直進したと第１判定部により判定された区間におけるカメラの推定上の位置の遷移を近似する直線に基づいて、第１ベクトルを算出する。このような構成によれば、直線近似の結果に基づいて、車両が直進したか否かの判定と、第１ベクトルの算出と、を容易に実行することができる。
【０００９】
この場合において、第１判定部は、所定以上の長さを有する所定区間におけるカメラの推定上の位置の遷移が直線で近似される分布を示すか否かに基づいて、所定区間において車両が直進したか否かを判定する。このような構成によれば、所定以上の長さの距離分の情報を利用して、車両が直進したか否かを精度良く判定することができる。
【００１０】
上述した第１判定部を備えたカメラパラメータ推定装置は、車両の走行状態を検出するセンサの出力を含むセンサ情報を取得するセンサ情報取得部をさらに備え、第１判定部は、カメラの推定上の位置の遷移が直線で近似される分布を示すか否かと、センサ情報と、のうち少なくとも一方に基づいて、車両が直進したか否かを判定する。このような構成によれば、直線近似の結果とセンサ情報とのうち少なくとも一方に基づいて、車両が直進したか否かを、容易にまたは精度良く判定することができる。
【００１１】
また、上述したカメラパラメータ推定装置は、カメラの推定上の位置の遷移が、互いに交差する方向に延びる２つの直線と、当該２つの直線の間で所定以上の曲率を有して延びる少なくとも１つの曲線と、で近似される分布を示すか否かに基づいて、車両が旋回したか否かを判定する第２判定部をさらに備え、第２ベクトル算出部は、車両が旋回したと第２判定部により判定された区間におけるカメラの推定上の位置の遷移を近似する少なくとも２つの直線に基づいて、第２ベクトルを算出する。このような構成によれば、直線近似および曲線近似の結果に基づいて、車両が旋回したか否かの判定と、第２ベクトルの算出と、を容易に実行することができる。
【００１２】
この場合において、第２判定部は、さらに、カメラの推定上の位置の遷移が、少なくとも２つの直線に対応した１つの平面で近似される分布を示すか否かに基づいて、車両が旋回したか否かを判定し、第２ベクトル算出部は、１つの平面の法線方向に対応したベクトルを、第２ベクトルとして算出する。このような構成によれば、平面近似の結果に基づいて、車両が走行する路面が勾配を含んでいる場合を除外し、車両が旋回したか否かの判定と、第２ベクトルの算出と、をより容易に実行することができる。
【００１３】
また、この場合において、第２判定部は、カメラの推定上の位置の遷移のうち、少なくとも１つの曲線に対応した第１部分を除外し、残りの部分のうち、２つの直線に対応した第２部分が、１つの平面で近似される分布を示すか否かに基づいて、車両が旋回したか否かを判定する。このような構成によれば、車両の進行方向が変化する際の縦Ｇなどの影響により信頼性が低下しやすい情報としての第１部分を除外することで、車両が旋回したか否かの判定の精度を高めることができる。
【００１４】
上述した第２判定部を備えたカメラパラメータ推定装置は、車両の走行状態を検出するセンサの出力を含むセンサ情報を取得するセンサ情報取得部をさらに備え、第２判定部は、カメラの推定上の位置の遷移が２つの直線と少なくとも１つの曲線とで近似される分布を示すか否かと、センサ情報と、のうち少なくとも一方に基づいて、車両が旋回したか否かを判定する。このような構成によれば、直線近似および曲線近似の結果とセンサ情報とのうち少なくとも一方に基づいて、車両が旋回したか否かを、容易にまたは精度良く判定することができる。
【００１５】
上述したカメラパラメータ推定装置は、車両の走行状態を検出するセンサの出力を含むセンサ情報を取得するセンサ情報取得部と、撮像画像に基づいて推定される、カメラ座標系における、車両が走行する路面の推定上の三次元位置を含む、車両の周囲の状況を表す三次元情報を取得する三次元情報取得部と、をさらに備え、カメラパラメータ推定部は、センサ情報に基づいて特定される車両の走行距離と、当該走行距離に対応した区間におけるカメラの推定上の位置の遷移と、三次元情報に含まれる路面の推定上の三次元位置と、に基づいて、車両におけるカメラの実際の設置高さを、カメラパラメータとして推定する。このような構成によれば、センサ情報と路面の推定上の三次元位置とカメラの推定上の位置の遷移とに基づいて、特定の路面標示に依存することなく、カメラの実際の設置高さを、カメラパラメータとして柔軟に推定することができる。
【００１６】
また、上述したカメラパラメータ推定装置は、カメラパラメータ推定部により推定されたカメラパラメータに基づいて、カメラのキャリブレーションを実行する補正部をさらに備える。このような構成によれば、補正部により、カメラのキャリブレーションを容易に（自動で）実行することができる。
【００１７】
また、上述したカメラパラメータ推定装置は、カメラパラメータ推定部により推定されたカメラパラメータに基づいて、カメラのキャリブレーションを実行する必要性を通知する通知部をさらに備える。このような構成によれば、通知部により、カメラのキャリブレーションを実行する必要性を容易に（自動で）通知することができる。
【００１８】
本開示の他の一例としてのカメラパラメータ推定方法は、車両に搭載される周辺監視用のカメラによって取得される撮像画像に基づいて推定される、カメラに対して設定されたカメラ座標系におけるカメラの推定上の位置および姿勢を取得するカメラ位置姿勢取得ステップと、車両の直進時におけるカメラの推定上の位置の遷移に基づいて、カメラ座標系における車両の進行方向に対応した第１ベクトルを算出する第１ベクトル算出ステップと、車両の旋回時におけるカメラの推定上の位置の遷移に基づいて、カメラ座標系における、車両が走行する路面に対応した平面の法線方向に対応した第２ベクトルを算出する第２ベクトル算出ステップと、カメラ座標系において第１ベクトルと第２ベクトルとに直交する第３ベクトルを算出する第３ベクトル算出ステップと、第１ベクトルと、第２ベクトルと、第３ベクトルと、第１ベクトルで示される方向に沿ってカメラの推定上の位置が移動する場合におけるカメラの推定上の姿勢と、に基づいて、車両におけるカメラの実際の設置姿勢を、カメラのキャリブレーションのためのカメラパラメータとして推定するカメラパラメータ推定ステップと、を備える。
【００１９】
上述したカメラパラメータ推定方法によれば、第１ベクトルと第２ベクトルと第３ベクトルとに基づいて、カメラ座標系におけるカメラの推定上の姿勢を、現実世界における車両の向きに整合するように変換することで、車両におけるカメラの実際の設置姿勢を、カメラパラメータとして推定することができる。これにより、特定の路面標示に依存することなく、カメラパラメータを柔軟に推定することができる。
【００２０】
本開示のさらに他の一例としてのカメラパラメータ推定プログラムは、コンピュータに、車両に搭載される周辺監視用のカメラによって取得される撮像画像に基づいて推定される、カメラに対して設定されたカメラ座標系におけるカメラの推定上の位置および姿勢を取得するカメラ位置姿勢取得ステップと、車両の直進時におけるカメラの推定上の位置の遷移に基づいて、カメラ座標系における車両の進行方向に対応した第１ベクトルを算出する第１ベクトル算出ステップと、車両の旋回時におけるカメラの推定上の位置の遷移に基づいて、カメラ座標系における、車両が走行する路面に対応した平面の法線方向に対応した第２ベクトルを算出する第２ベクトル算出ステップと、カメラ座標系において第１ベクトルと第２ベクトルとに直交する第３ベクトルを算出する第３ベクトル算出ステップと、第１ベクトルと、第２ベクトルと、第３ベクトルと、第１ベクトルで示される方向に沿ってカメラの推定上の位置が移動する場合におけるカメラの推定上の姿勢と、に基づいて、車両におけるカメラの実際の設置姿勢を、カメラのキャリブレーションのためのカメラパラメータとして推定するカメラパラメータ推定ステップと、を実行させる。
【００２１】
上述したカメラパラメータ推定プログラムによれば、第１ベクトルと第２ベクトルと第３ベクトルとに基づいて、カメラ座標系におけるカメラの推定上の姿勢を、現実世界における車両の向きに整合するように変換することで、車両におけるカメラの実際の設置姿勢を、カメラパラメータとして推定することができる。これにより、特定の路面標示に依存することなく、カメラパラメータを柔軟に推定することができる。
【図面の簡単な説明】
【００２２】
【図１】図１は、実施形態にかかる車両の車室内の構成を示した例示的かつ模式的な図である。
【図２】図２は、実施形態にかかる車両を上方から見た外観を示した例示的かつ模式的な図である。
【図３】図３は、実施形態にかかる車両のシステム構成を示した例示的かつ模式的なブロック図である。
【図４】図４は、実施形態にかかるカメラパラメータ推定装置の機能を示した例示的かつ模式的なブロック図である。
【図５】図５は、実施形態にかかるカメラ座標系および車両座標系の一例を示した例示的かつ模式的な図である。
【図６】図６は、実施形態にかかる直進ベクトルの算出方法を示した例示的かつ模式的な図である。
【図７】図７は、実施形態にかかる法線ベクトルの算出方法を示した例示的かつ模式的な図である。
【図８】図８は、実施形態にかかる直交ベクトルの算出方法を示した例示的かつ模式的な図である。
【図９】図９は、実施形態にかかるカメラパラメータ推定装置がカメラパラメータとして車載カメラの実際の設置姿勢を推定する際に実行する処理を示した例示的かつ模式的なフローチャートである。
【図１０】図１０は、実施形態にかかるカメラパラメータ推定装置がカメラパラメータとして車載カメラの実際の設置高さを推定する際に実行する処理を示した例示的かつ模式的なフローチャートである。
【図１１】図１１は、実施形態にかかるカメラパラメータ推定装置がキャリブレーションを実行する際に実行する処理を示した例示的かつ模式的なフローチャートである。
【図１２】図１２は、実施形態の変形例にかかるカメラパラメータ推定装置の機能を示した例示的かつ模式的なブロック図である。
【発明を実施するための形態】
【００２３】
以下、本開示の実施形態および変形例を図面に基づいて説明する。以下に記載する実施形態および変形例の構成、ならびに当該構成によってもたらされる作用および結果（効果）は、あくまで一例であって、以下の記載内容に限られるものではない。
【００２４】
＜実施形態＞
まず、図１および図２を用いて、実施形態にかかる車両１の概略的な構成について説明する。図１は、実施形態にかかる車両１の車室２ａ内の構成を示した例示的かつ模式的な図であり、図２は、実施形態にかかる車両１を上方から見た外観を示した例示的かつ模式的な図である。
【００２５】
図１に示されるように、実施形態にかかる車両１は、ユーザとしての運転者を含む乗員が乗車する車室２ａを有している。車室２ａ内には、ユーザが座席２ｂから操作可能な状態で、制動部（制動操作部）３０１ａや、加速部（加速操作部）３０２ａ、操舵部３０３ａ、変速部（変速操作部）３０４ａなどが設けられている。
【００２６】
制動部３０１ａは、たとえば、運転者の足下に設けられたブレーキペダルであり、加速部３０２ａは、たとえば、運転者の足下に設けられたアクセルペダルである。また、操舵部３０３ａは、たとえば、ダッシュボード（インストルメントパネル）から突出したステアリングホイールであり、変速部３０４ａは、たとえば、センターコンソールから突出したシフトレバーである。なお、操舵部３０３ａは、ハンドルであってもよい。
【００２７】
車室２ａ内には、各種の画像を出力可能な表示部８と、各種の音を出力可能な音声出力部９と、を有するモニタ装置１１が設けられている。モニタ装置１１は、たとえば、車室２ａ内のダッシュボードの幅方向（左右方向）の中央部に設けられる。なお、表示部８は、たとえばＬＣＤ（液晶ディスプレイ）やＯＥＬＤ（有機エレクトロルミネセンスディスプレイ）などで構成されている。
【００２８】
ここで、表示部８において画像が表示される領域としての表示画面には、操作入力部１０が設けられている。操作入力部１０は、たとえば、指やスタイラスなどの指示体が近接（接触を含む）した位置の座標を検出可能なタッチパネルとして構成されている。これにより、ユーザ（運転者）は、表示部８の表示画面に表示される画像を視認することができるとともに、操作入力部１０上で指示体を用いたタッチ（タップ）操作などを行うことで、各種の操作入力を実行することができる。
【００２９】
なお、実施形態では、操作入力部１０が、スイッチや、ダイヤル、ジョイスティック、押しボタンなどといった、各種の物理的なインターフェースであってもよい。また、実施形態では、車室２ａ内におけるモニタ装置１１の位置とは異なる位置に、他の音声出力装置が設けられていてもよい。この場合、音声出力部９および他の音声出力装置の両方から、各種の音情報を出力することができる。また、実施形態では、モニタ装置１１が、ナビゲーションシステムやオーディオシステムなどの各種システムに関する情報を表示可能に構成されていてもよい。
【００３０】
また、図１および図２に示されるように、実施形態にかかる車両１は、左右２つの前輪３Ｆと、左右２つの後輪３Ｒと、を有した四輪の自動車として構成されている。以下では、簡単化のため、前輪３Ｆおよび後輪３Ｒを、総称して車輪３と記載することがある。実施形態では、４つの車輪３の一部または全部の横滑り角が、操舵部３０３ａの操作などに応じて変化（転舵）する。
【００３１】
また、車両１には、周辺監視用の複数（図１および図２に示される例では４つ）の車載カメラ１５ａ〜１５ｄが搭載されている。車載カメラ１５ａは、車体２の後側の端部２ｅ（たとえば、リヤトランクのドア２ｈの下方）に設けられ、車両１の後方の領域を撮像する。また、車載カメラ１５ｂは、車体２の右側の端部２ｆのドアミラー２ｇに設けられ、車両１の右側方の領域を撮像する。また、車載カメラ１５ｃは、車体２の前側の端部２ｃ（たとえば、フロントバンパ）に設けられ、車両１の前方の領域を撮像する。また、車載カメラ１５ｄは、車体２の左側の端部２ｄのドアミラー２ｇに設けられ、車両１の左側方の領域を撮像する。以下では、簡単化のため、車載カメラ１５ａ〜１５ｄを、総称して車載カメラ１５と記載することがある。
【００３２】
車載カメラ１５は、たとえば、ＣＣＤ（電荷結合素子）やＣＩＳ（ＣＭＯＳ（相補性金属酸化膜半導体）イメージセンサ）などといった撮像素子を有したいわゆるデジタルカメラである。車載カメラ１５は、所定のフレームレートで車両１の周囲の撮像を行い、当該撮像によって得られた撮像画像の画像データを出力する。車載カメラ１５により得られる画像データは、フレーム画像として動画像を構成することが可能である。
【００３３】
なお、実施形態では、車両１の周囲の状況をセンシングするための構成として、上述した車載カメラ１５に加えて、車両１の周囲に存在する立体物までの距離を検出（算出、特定）する測距センサが設けられていてもよい。このような測距センサとしては、たとえば、音波を送信し、車両１の周囲に存在する物体から反射された音波を受信するソナーや、光などの電波を送信し、車両１の周囲に存在する物体から反射された電波を受信するレーザーレーダなどが用いられる。
【００３４】
次に、図３を用いて、実施形態にかかる車両１において各種の制御を実現するために設けられるシステム構成について説明する。なお、図３に示されるシステム構成は、あくまで一例であるので、様々に設定（変更）可能である。
【００３５】
図３は、実施形態にかかる車両１のシステム構成を示した例示的かつ模式的なブロック図である。図３に示されるように、実施形態にかかる車両１は、制動システム３０１と、加速システム３０２と、操舵システム３０３と、変速システム３０４と、障害物センサ３０５と、走行状態センサ３０６と、車載カメラ１５と、モニタ装置１１と、制御装置３１０と、車載ネットワーク３５０と、を有している。
【００３６】
制動システム３０１は、車両１の減速を制御する。制動システム３０１は、制動部３０１ａと、制動制御部３０１ｂと、制動部センサ３０１ｃと、を有している。
【００３７】
制動部３０１ａは、たとえば上述したブレーキペダルなどといった、車両１を減速させるための装置である。
【００３８】
制動制御部３０１ｂは、たとえば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などといったハードウェアプロセッサを有したマイクロコンピュータとして構成される。制動制御部３０１ｂは、たとえば車載ネットワーク３５０経由で入力される指示に基づいてアクチュエータ（不図示）を駆動し、制動部３０１ａを作動させることで、車両１の減速度合を制御する。
【００３９】
制動部センサ３０１ｃは、制動部３０１ａの状態を検出するための装置である。たとえば、制動部３０１ａがブレーキペダルとして構成される場合、制動部センサ３０１ｃは、制動部３０１ａの状態として、ブレーキペダルの位置または当該ブレーキペダルに作用している圧力を検出する。制動部センサ３０１ｃは、検出した制動部３０１ａの状態を車載ネットワーク３５０に出力する。
【００４０】
加速システム３０２は、車両１の加速を制御する。加速システム３０２は、加速部３０２ａと、加速制御部３０２ｂと、加速部センサ３０２ｃと、を有している。
【００４１】
加速部３０２ａは、たとえば上述したアクセルペダルなどといった、車両１を加速させるための装置である。
【００４２】
加速制御部３０２ｂは、たとえば、ＣＰＵなどといったハードウェアプロセッサを有したマイクロコンピュータとして構成される。加速制御部３０２ｂは、たとえば車載ネットワーク３５０経由で入力される指示に基づいてアクチュエータ（不図示）を駆動し、加速部３０２ａを作動させることで、車両１の加速度合を制御する。
【００４３】
加速部センサ３０２ｃは、加速部３０２ａの状態を検出するための装置である。たとえば、加速部３０２ａがアクセルペダルとして構成される場合、加速部センサ３０２ｃは、アクセルペダルの位置または当該アクセルペダルに作用している圧力を検出する。加速部センサ３０２ｃは、検出した加速部３０２ａの状態を車載ネットワーク３５０に出力する。
【００４４】
操舵システム３０３は、車両１の進行方向を制御する。操舵システム３０３は、操舵部３０３ａと、操舵制御部３０３ｂと、操舵部センサ３０３ｃと、を有している。
【００４５】
操舵部３０３ａは、たとえば上述したステアリングホイールやハンドルなどといった、車両１の転舵輪を転舵させる装置である。
【００４６】
操舵制御部３０３ｂは、たとえば、ＣＰＵなどといったハードウェアプロセッサを有したマイクロコンピュータとして構成される。操舵制御部３０３ｂは、たとえば車載ネットワーク３５０経由で入力される指示に基づいてアクチュエータ（不図示）を駆動し、操舵部３０３ａを作動させることで、車両１の進行方向を制御する。
【００４７】
操舵部センサ３０３ｃは、操舵部３０３ａの状態を検出するための装置である。たとえば、操舵部３０３ａがステアリングホイールとして構成される場合、操舵部センサ３０３ｃは、ステアリングホイールの位置または当該ステアリングホイールの回転角度を検出する。なお、操舵部３０３ａがハンドルとして構成される場合、操舵部センサ３０３ｃは、ハンドルの位置または当該ハンドルに作用している圧力を検出してもよい。操舵部センサ３０３ｃは、検出した操舵部３０３ａの状態を車載ネットワーク３５０に出力する。
【００４８】
変速システム３０４は、車両１の変速比を制御する。変速システム３０４は、変速部３０４ａと、変速制御部３０４ｂと、変速部センサ３０４ｃと、を有している。
【００４９】
変速部３０４ａは、たとえば上述したシフトレバーなどといった、車両１の変速比を変更するための装置である。
【００５０】
変速制御部３０４ｂは、たとえば、ＣＰＵなどといったハードウェアプロセッサを有したコンピュータとして構成される。変速制御部３０４ｂは、たとえば車載ネットワーク３５０経由で入力される指示に基づいてアクチュエータ（不図示）を駆動し、変速部３０４ａを作動させることで、車両１の変速比を制御する。
【００５１】
変速部センサ３０４ｃは、変速部３０４ａの状態を検出するための装置である。たとえば、変速部３０４ａがシフトレバーとして構成される場合、変速部センサ３０４ｃは、シフトレバーの位置または当該シフトレバーに作用している圧力を検出する。変速部センサ３０４ｃは、検出した変速部３０４ａの状態を車載ネットワーク３５０に出力する。
【００５２】
障害物センサ３０５は、車両１の周囲に存在しうる障害物に関する情報を検出するための装置である。障害物センサ３０５は、たとえば上述したソナーやレーザーレーダなどといった測距センサを含んでいる。障害物センサ３０５は、検出した情報を車載ネットワーク３５０に出力する。
【００５３】
走行状態センサ３０６は、車両１の走行状態を検出するための装置である。走行状態センサ３０６は、たとえば、車両１の車輪速を検出する車輪速センサや、車両１の前後方向または左右方向の加速度を検出する加速度センサや、車両１の旋回速度（角速度）を検出するジャイロセンサなどを含んでいる。走行状態センサ３０６は、検出した走行状態を車載ネットワーク３５０に出力する。
【００５４】
制御装置３１０は、車両１に設けられる各種のシステムを統括的に制御する装置である。詳細は後述するが、実施形態にかかる制御装置３１０は、車載カメラ１５によって得られる情報に基づいて、車両１における車載カメラ１５の実際の設置姿勢（および設置高さ）を含むカメラパラメータを推定し、推定結果に基づいて、車載カメラ１５の光軸補正を含むキャリブレーションを実行する機能を有している。
【００５５】
より具体的に、制御装置３１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１０ａと、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３１０ｂと、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３１０ｃと、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）３１０ｄと、表示制御部３１０ｅと、音声制御部３１０ｆと、を有したＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）として構成されている。
【００５６】
ＣＰＵ３１０ａは、制御装置３１０を統括的に制御するハードウェアプロセッサである。ＣＰＵ３１０ａは、ＲＯＭ３１０ｂなどに記憶された各種の制御プログラム（コンピュータプログラム）を読み出し、当該各種の制御プログラムに規定されたインストラクションにしたがって各種の機能を実現する。各種の制御プログラムには、乗員モニタリング処理を実現するための乗員モニタリングプログラムが含まれる。
【００５７】
ＲＯＭ３１０ｂは、上述した各種の制御プログラムの実行に必要なパラメータなどを記憶する不揮発性の主記憶装置である。
【００５８】
ＲＡＭ３１０ｃは、ＣＰＵ３１０ａの作業領域を提供する揮発性の主記憶装置である。
【００５９】
ＳＳＤ３１０ｄは、書き換え可能な不揮発性の補助記憶装置である。なお、実施形態にかかる制御装置３１０においては、補助記憶装置として、ＳＳＤ３１０ｄに替えて（またはＳＳＤ３１０ｄに加えて）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）が設けられてもよい。
【００６０】
表示制御部３１０ｅは、制御装置３１０で実行されうる各種の処理のうち、主として、車載カメラ１５から得られた撮像画像に対する画像処理や、モニタ装置１１の表示部８に出力する画像データの生成などを司る。
【００６１】
音声制御部３１０ｆは、制御装置３１０で実行されうる各種の処理のうち、主として、モニタ装置１１の音声出力部９に出力する音声データの生成などを司る。
【００６２】
車載ネットワーク３５０は、制動システム３０１と、加速システム３０２と、操舵システム３０３と、変速システム３０４と、障害物センサ３０５と、走行状態センサ３０６と、モニタ装置１１の操作入力部１０と、制御装置３１０と、を通信可能に接続する。
【００６３】
ところで、従来、上述した車載カメラ１５のような、車両に搭載される周辺監視用のカメラにより、路面に設けられる特定の路面標示を撮像することで得られる撮像画像に基づいて、当該特定の路面標示の図形的な特徴を検出し、検出結果に基づいて、車両におけるカメラの実際の設置姿勢を含むカメラパラメータを推定する技術が知られている。
【００６４】
しかしながら、上記のような従来の技術によってカメラパラメータを推定するためには、特定の路面標示を設けることと、当該特定の路面標示の図形的な特徴を表す正規のデータを撮像画像から検出される特徴との照合用に予め記憶しておくことと、が前提となるので、柔軟性に欠ける。
【００６５】
そこで、実施形態は、次の図４に示されるような機能を有したカメラパラメータ推定装置４００を制御装置３１０内に実現することで、特定の路面標示に依存することなく、カメラパラメータを柔軟に推定することを実現する。
【００６６】
図４は、実施形態にかかるカメラパラメータ推定装置４００の機能を示した例示的かつ模式的なブロック図である。図４に示される機能は、ソフトウェアとハードウェアとの協働によって制御装置３１０内に実現される。すなわち、図４に示される機能は、制御装置３１０のＣＰＵ３１０ａがＲＯＭ３１０ｂなどに記憶された所定の制御プログラム（カメラパラメータ推定プログラム）を読み出して実行した結果として実現される。なお、実施形態では、図４に示される機能の少なくとも一部が専用のハードウェア（回路）によって実現されてもよい。
【００６７】
図４に示されるように、実施形態にかかるカメラパラメータ推定装置４００は、センサ情報取得部４０１と、三次元情報取得部４０２と、カメラ位置姿勢取得部４０３と、直進判定部４０４と、直進ベクトル算出部４０５と、旋回判定部４０６と、法線ベクトル算出部４０７と、直交ベクトル算出部４０８と、カメラパラメータ推定部４０９と、補正部４１０と、を有している。
【００６８】
なお、直進判定部４０４は、「第１判定部」の一例であるとともに、直進ベクトル算出部４０５は、「第１ベクトル算出部」の一例である。また、旋回判定部４０６は、「第２判定部」の一例であるとともに、法線ベクトル算出部４０７は、「第２ベクトル算出部」の一例である。また、直交ベクトル算出部４０８は、「第３ベクトル算出部」の一例である。
【００６９】
センサ情報取得部４０１は、車両１の走行状態を検出する走行状態センサ３０６の出力を含むセンサ情報を取得する。このようなセンサ情報からは、たとえば、車両１の走行距離（移動距離）を算出することが可能である。
【００７０】
三次元情報取得部４０２は、車載カメラ１５によって取得される撮像画像に基づいて推定される、車両１の周囲の状況を表す三次元情報を取得する。三次元情報は、車両１が走行する路面の（推定上の）三次元位置を含んでいる。三次元情報は、たとえば、Ｓｔｒｕｃｔｕｒｅ  ｆｒｏｍ  ＭｏｔｉｏｎやＶｉｓｕａｌ  Ｓｌａｍ、Ｖｉｓｕａｌ  Ｏｄｏｍｅｔｒｙなどといった、複数の（連続したフレームの）撮像画像を利用した画像処理によって算出することが可能である。
【００７１】
なお、三次元情報を算出するための上記のような画像処理は、車両１の走行経路の周辺の地図を車両１が自律的に作成するための技術として利用されることがある。したがって、実施形態において、三次元情報取得部４０２は、上記のような画像処理を自分自身で実行することで三次元情報を算出してもよいし、カメラパラメータ推定装置４００とは別に構成される地図作成機能によって算出された三次元情報を通信などによって取得してもよい。
【００７２】
カメラ位置姿勢取得部４０３は、車載カメラ１５によって取得される撮像画像に基づいて推定される、車載カメラ１５の（推定上の）位置および姿勢を取得する。車載カメラ１５の推定上の位置および姿勢は、上述した三次元情報と同様に、複数の撮像画像を利用した画像処理によって算出することが可能である。したがって、車載カメラ１５の推定上の位置および姿勢は、上述した三次元情報と同様に、カメラ位置姿勢取得部４０３自身で算出されたものであってもよいし、カメラパラメータ推定装置４００とは別に構成される地図作成機能によって算出されたものであってもよい。
【００７３】
ところで、複数の撮像画像を利用した上記のような画像処理は、基本的には、車載カメラ１５と他の物体との相対的な位置関係を求めるための技術である。つまり、車載カメラ１５自身の絶対的な位置および姿勢は、上記のような画像処理だけでは求めることができない。したがって、カメラ位置姿勢取得部４０３によって取得される車載カメラ１５の推定上の位置および姿勢は、現実世界に対応した（絶対的な）情報ではなく、あくまで、車載カメラ１５に対して設定されたカメラ座標系（後述する図５参照）を基準とした情報である。
【００７４】
これに対して、車載カメラ１５のキャリブレーションにおいて着目すべき情報は、車両１における車載カメラ１５の実際の（つまり現実世界に対応した絶対的な）設置位置および設置姿勢を含むカメラパラメータである。したがって、実施形態では、カメラパラメータを求めるために、上記のような画像処理によって得られるカメラ座標系を基準とした情報を、現実世界に対応した座標系、たとえば車両１の向きと整合した車両座標系（後述する図５参照）を基準とした情報に変換する必要がある。
【００７５】
ここで、上述した２種類の座標系について簡単に説明する。図５は、実施形態にかかるカメラ座標系および車両座標系の一例を示した例示的かつ模式的な図である。図５に示される例では、便宜的に、車両１に設けられた車載カメラ１５が強調されてイラスト化されている。
【００７６】
図５に示される例においては、互いに直交する３本の軸Ａｘ１１〜Ａｘ１３を有する座標系ＣＳ１が、車載カメラ１５ａに設定されるカメラ座標系に該当する。車載カメラ１５ａから得られる複数の撮像画像に基づく上記のような画像処理によれば、座標系ＣＳ１における車載カメラ１５ａの位置および姿勢を推定することが可能である。なお、座標系ＣＳ１において、位置は、軸Ａｘ１１〜Ａｘ１３にそれぞれ対応した３つの成分で表すことが可能であり、姿勢は、軸Ａｘ１１〜Ａｘ１３周りの３つの回転角度として表すことが可能である。
【００７７】
たとえば、カメラ座標系としての座標系ＣＳ１の原点が、所定時刻における車載カメラ１５ａの存在位置として表される場合、軸Ａｘ１１は、当該所定時刻における車載カメラ１５ａの光軸として表され、軸Ａｘ１２は、光軸と垂直でかつ撮像画像の縦方向（上下方向）に対応した方向に延びる軸として表され、軸Ａｘ１３は、光軸と垂直でかつ撮像画像の横方向（左右方向）に対応した方向に延びる軸として表される。
【００７８】
なお、図５に示される例では、車載カメラ１５ａに設定されるカメラ座標系としての座標系ＣＳ１のみが図示されているが、他の車載カメラ１５ｂ〜１５ｄにもそれぞれ固有のカメラ座標系が設定されることは言うまでもない。他の車載カメラ１５ｂ〜１５ｄにそれぞれ設定されるカメラ座標系については、簡単化のため、図示が省略されている。
【００７９】
一方、図５に示される例においては、互いに直交する３本の軸Ａｘ１〜Ａｘ３を有する座標系ＣＳ０が、車両１を基準とした車両座標系に該当する。たとえば、軸Ａｘ１は、車両１の前後方向（進行方向）に対応し、軸Ａｘ２は、車両１の上下方向（鉛直方向）に対応し、軸Ａｘ３は、車両１の左右方向（幅方向）に対応する。
【００８０】
なお、図５に示される例では、座標系ＣＳ０の軸Ａｘ１の向きと座標系ＣＳ１の軸Ａｘ１１の向きとがそれぞれ逆になっており、かつ、座標系ＣＳ０の軸Ａｘ２およびＡｘ３の向きと座標系ＣＳ１の軸Ａｘ１２およびＡｘ１３の向きとがそれぞれ一致するように図示されているが、これはあくまで一例である。実施形態では、座標系ＣＳ０の軸Ａｘ１〜Ａｘ３と座標系ＣＳ１の軸Ａｘ１１〜Ａｘ１３との関係は、必ずしも図５に示されるような関係でなくてもよい。
【００８１】
このように、車両座標系とカメラ座標系とは、原点および座標軸が互いに異なる３次元座標系であるため、車載カメラ１５ａの位置および姿勢がずれる毎に、キャリブレーションが必要となる。
【００８２】
ここで、車両座標系としての座標系ＣＳ０の軸Ａｘ１〜Ａｘ３のそれぞれの向きを、カメラ座標系としての座標系ＣＳ１におけるベクトルとして求めることができれば、カメラ座標系における車載カメラ１５ａの姿勢を、車両座標系における車載カメラ１５ａの姿勢として変換することができる。したがって、実施形態は、以下に説明するような方法により、車両座標系としての座標系ＣＳ０の軸Ａｘ１〜Ａｘ３のそれぞれの向きを、カメラ座標系としての座標系ＣＳ１におけるベクトルとして求める。
【００８３】
なお、以下の説明において明らかになるが、実施形態の技術は、車両座標系の原点まで求める技術ではない。すなわち、実施形態の技術は、車両座標系の原点と３つの軸の向きとの全てを特定することなく、車両座標系の３つの軸の向きのみを特定することで、カメラパラメータとして、車両１における車載カメラ１５の実際の設置位置を求める技術である。
【００８４】
図４に戻り、直進判定部４０４は、車載カメラ１５の推定上の位置の遷移が直線で近似される分布を示すか否かに基づいて、車両１が直進したか否かを判定する。そして、直進ベクトル算出部４０５は、車両の直進時における車載カメラ１５の推定上の位置の遷移、すなわち、車両１が直進したと直進判定部４０４により判定された区間における車載カメラ１５の推定上の位置の遷移、を近似する直線に基づいて、カメラ座標系における車両１の進行方向に対応した直進ベクトルを算出する。直進ベクトルは、「第１ベクトル」の一例であり、図５に示される軸Ａｘ１の向きに対応する。
【００８５】
図６は、実施形態にかかる直進ベクトルの算出方法を示した例示的かつ模式的な図である。図６に示される例は、カメラ座標系における車載カメラ１５の推定上の位置が、位置Ｐ６１から、位置Ｐ６２〜Ｐ６４を経て、位置Ｐ６５に遷移した状況を表している。
【００８６】
図６に示される例において、位置Ｐ６１〜Ｐ６５までの遷移は、直線ＳＬ６０によく当てはまるので、直線ＳＬ６０で近似される分布を示すといえる。したがって、図６に示される例では、直線ＳＬ６０の延びる方向に対応したベクトルＶ６０が、直進ベクトルとして算出される。なお、直線ＳＬ６０の探索には、従来から知られている様々な探索方法を利用することが可能である。
【００８７】
ただし、直線近似の対象となるポイントの数が少ないと、求めた直線の正確性を担保することができない。つまり、車両１が直進したことを精度よく判定するためには、カメラ座標系における車載カメラ１５の推定上の位置の遷移を、一定以上の距離分、取得することが望ましい。したがって、実施形態において、直進判定部４０４は、所定以上の長さを有する所定区間における車載カメラ１５の推定上の位置の遷移が直線で近似される分布を示すか否かに基づいて、所定区間において車両１が直進したか否かを判定する。
【００８８】
また、実施形態では、センサ情報取得部４０１により取得されるセンサ情報も、車両１が直進したか否かの判定に有用である。したがって、実施形態において、直進判定部４０４は、車載カメラ５１の推定上の位置の遷移が直線で近似される分布を示すか否かと、センサ情報と、のうち少なくとも一方に基づいて、車両１が直進したか否かを判定することも可能である。なお、ここで用いられるセンサ情報は、たとえば、車輪３の舵角や、車両１のヨー角速度などである。
【００８９】
図４に戻り、旋回判定部４０６は、車載カメラ１５の推定上の位置の遷移が、互いに交差する方向に延びる２つの直線と、当該２つの直線の間で所定以上の曲率を有して延びる少なくとも１つの曲線と、で近似される分布を示すか否かに基づいて、車両１が旋回したか否かを判定する。なお、所定以上の曲率を要求する理由は、車両１の進行方向がある程度大きく変化した場合のみを車両１の旋回とみなすようにするためである。
【００９０】
そして、法線ベクトル算出部４０７は、車両１の旋回時における車載カメラ１５の推定上の位置の遷移、すなわち、車両１が旋回したと旋回判定部４０６により判定された区間における車載カメラ１５の推定上の位置の遷移、を近似する少なくとも２つの直線に基づいて、カメラ座標系における、車両１が走行する路面に対応した平面の法線方向に対応した法線ベクトルを算出する。法線ベクトルは、「第２ベクトル」の一例であり、図５に示される軸Ａｘ２の向きに対応する。
【００９１】
図７は、実施形態にかかる法線ベクトルの算出方法を示した例示的かつ模式的な図である。図７に示される例は、カメラ座標系における車載カメラ１５の推定上の位置が、平面Ｐ７０に略沿って、位置Ｐ７１１から、位置Ｐ７１２〜Ｐ７２４を経て、位置Ｐ７２５に遷移した状況を表している。
【００９２】
図７に示される例において、位置Ｐ７１１〜Ｐ７１６までの遷移は、直線ＳＬ７１によく当てはまり、位置Ｐ７１６〜Ｐ７２０までの遷移は、曲線ＣＬ７０によく当てはまり、位置Ｐ７２０〜Ｐ７２５までの遷移は、直線ＳＬ７２によく当てはまる。したがって、位置Ｐ７１１〜Ｐ７２５までの遷移は、互いに交差する方向に延びる２つの直線ＳＬ７１およびＳＬ７２と、当該２つの直線ＳＬ７１およびＳＬ７２の間で延びる曲線ＣＬ７０と、で近似される分布を示すといえる。
【００９３】
なお、図７に示される例において、直線ＳＬ７１およびＳＬ７２の探索と、曲線ＣＬ７０との探索とには、従来から知られている様々な方法を利用することが可能である。また、図７に示される例では、直線ＳＬ７１と曲線ＣＬ７０と直線ＳＬ７２とが連続的につながっているが、実施形態では、これら３つの線がつながっていない場合も想定される。さらに、図７に示される例では、説明の簡単化のため、曲線ＣＬ７０以外の曲線が存在していないが、実施形態では、曲線ＣＬ７０の他に１つ以上の曲線が存在する場合も想定される。
【００９４】
ここで、図７に示される例では、直線ＳＬ７１で近似される位置Ｐ７１１〜Ｐ７１６までの遷移と、直線ＳＬ７２で近似される位置Ｐ７１６〜Ｐ７２０までの遷移と、曲線ＣＬ７０で近似される位置Ｐ７１６〜Ｐ７２０までの遷移とが、同一の平面Ｐ７０によく当てはまる分布を示している。すなわち、図７に示される例では、少なくとも２つの直線ＳＬ７１およびＳＬ７２が、同一の平面Ｐ７０上に配置される。これは、車両１が旋回時に走行する路面が、勾配を含まない、平面Ｐ７０と略平行な平坦面であることを意味している。
【００９５】
したがって、図７に示される例では、少なくとも２つの直線ＳＬ７１およびＳＬ７２に基づいて特定される平面Ｐ７０の法線方向に対応したベクトルＶ７０が、法線ベクトルとして算出される。なお、２つの直線ＳＬ７１およびＳＬ７２が同一の平面Ｐ７０上に配置されることを前提とすれば、平面Ｐ７０そのものを特定しなくても、法線ベクトルは、直線ＳＬ７１の延びる方向に対応したベクトルＶ７１と、直線ＳＬ７２の延びる方向に対応したベクトルＶ７２と、に直交するベクトルＶ７０として容易に算出することが可能である。
【００９６】
なお、図示は省略するが、実施形態では、車載カメラ１５の推定上の位置の遷移が２つの直線と少なくとも１つの曲線とで近似される分布を示す場合であっても、車両１が走行する路面が勾配を含んでいる場合には、２つの直線（および少なくとも１つの曲線）が同一の平面上に配置されないような状況も発生する。このような状況では、車両１が走行する路面と略平行な平面を特定することが困難であるので、法線ベクトルを算出することが困難である。したがって、法線ベクトルを容易に算出するためには、車載カメラ１５の推定上の位置の遷移が２つの直線と少なくとも１つの曲線とで近似される分布を示すという条件に加えて、車両１が走行する路面が勾配を含んでいないという条件、すなわち、車載カメラ１５の位置の遷移が１つの平面で近似される分布を示すという条件も必要となる。
【００９７】
そこで、実施形態において、旋回判定部４０６は、車載カメラ１５の推定上の位置の遷移が２つの直線と少なくとも１つの曲線とで近似される分布を示すか否かに加えて、さらに、車載カメラ１５の推定上の位置の遷移が２つの直線に対応した１つの平面で近似される分布を示すか否かに基づいて、車両１が旋回したか否かを判定する。そして、法線ベクトル算出部４０７は、当該１つの平面の法線方向に対応したベクトルを、法線ベクトルとして算出する。
【００９８】
このようにして、実施形態では、現実世界における路面の法線ベクトルを、カメラ座標系基準の情報として算出することができる。換言すれば、カメラ座標系内で、車両座標系の軸Ａｘ２（車両１の上下方向）を特定することができる。
【００９９】
ここで、図７に示される例では、前述したように、車載カメラ１５の推定上の位置の遷移が、直線ＳＬ７１で近似される部分と、曲線ＣＬ７０で近似される部分と、直線ＳＬ７２で近似される部分と、の全てについて、同一の平面Ｐ７０によく当てはまる分布を示している。しかしながら、一般に、車両１の旋回時において、車両１の進行方向が変化している最中は、その前後の進行方向が変化していない時に比べて、縦Ｇなどの影響により、車載カメラ１５の推定上の位置の信頼性が低下しやすい。
【０１００】
したがって、図７に示される例では、曲線ＣＬ７０で近似される部分の情報は、直線ＳＬ７１およびＳＬ７２で近似される部分の情報に比べて、信頼性が低いことがある。このため、実施形態において、車両１が旋回したか否かの判定基準となる１つの平面を特定する際には、車両１の進行方向が変化している最中に取得される車載カメラ１５の推定上の位置を考慮から外した方が望ましい。
【０１０１】
そこで、実施形態において、旋回判定部４０６は、車載カメラ１５の推定上の位置の遷移のうち、車両１の進行方向が変化している最中に対応した第１部分を除外し、残りの部分のうち、車両１の進行方向が変化していない時に対応した第２部分が、１つの平面で近似されるか否かに基づいて、車両１が旋回したか否かを判定する。たとえば、図７に示される例において、第１部分は、曲線ＣＬ７０で近似される部分の情報であり、第２部分は、直線ＳＬ７１および直線ＳＬ７２で近似される部分の情報である。
【０１０２】
さらに、実施形態においては、車両１が直進したか否かの判定と同様、車両１が旋回したか否かの判定に、センサ情報取得部４０１により取得されるセンサ情報を利用することが可能である。したがって、実施形態において、旋回判定部４０６は、車載カメラ１５の推定上の位置の遷移が２つの直線と少なくとも１つの曲線とで近似される分布を示すか否かと、センサ情報と、のうち少なくとも一方に基づいて、車両１が旋回したか否かを判定することが可能である。
【０１０３】
図４に戻り、直交ベクトル算出部４０８は、カメラ座標系において、直進ベクトル算出部４０５により算出された直進ベクトルと、法線ベクトル算出部４０７により算出された法線ベクトルと、に直交する直交ベクトルを算出する。直交ベクトルは、「第３ベクトル」の一例であり、図５に示される軸Ａｘ３の向きに対応する。
【０１０４】
図８は、実施形態にかかる直交ベクトルの算出方法を示した例示的かつ模式的な図である。直交ベクトルは、直進ベクトルと法線ベクトルとに直交するベクトルであるので、直進ベクトルと法線ベクトルとを算出することができれば、ベクトル積などにより容易に算出することが可能である。たとえば、図８に示される例において、ベクトルＶ８１が直進ベクトルとして算出され、ベクトルＶ８２が法線ベクトルとして算出されたものとすると、直交ベクトルは、ベクトルＶ８３として算出される。
【０１０５】
以上のような３つのベクトル（直進ベクトル、法線ベクトル、および直交ベクトル）によれば、カメラ座標系における車載カメラ１５の推定上の姿勢を、車両１の向きを基準とした車両座標系における車載カメラ１５の実際の設置姿勢に変換することが可能である。
【０１０６】
すなわち、図４に戻り、カメラパラメータ推定部４０９は、直進ベクトル算出部４０５により算出された直進ベクトルと、法線ベクトル算出部４０７により算出された法線ベクトルと、直交ベクトル算出部４０８により算出された直交ベクトルと、直進ベクトルが算出された時点での車載カメラ１５の推定上の姿勢と、に基づいて、車両１におけるカメラの実際の設置姿勢を、キャリブレーションのためのカメラパラメータとして推定する。なお、ここで考慮される車載カメラ１５の推定上の姿勢は、直進ベクトルで示される方向に沿って車載カメラ１５の推定所の位置が移動する場合のものであれば、直進ベクトルが算出された時点でのものでなくてもよい。
【０１０７】
ところで、前述したように、車載カメラ１５のキャリブレーションにおいて着目すべきカメラパラメータは、車両１における車載カメラ１５の設置姿勢だけでなく、車載カメラ１５の設置位置も含んでいる。特に、車載カメラ１５の設置位置のうち設置高さは、撮像画像に写っている物体までの距離などの検出の精度に影響を及ぼすので、重要なパラメータである。
【０１０８】
したがって、実施形態において、カメラパラメータ推定部４０９は、以下に説明するような方法により、車両１における車載カメラ１５の実際の設置高さを、カメラパラメータとして推定する。
【０１０９】
より具体的に、カメラパラメータ推定部４０９は、まず、三次元情報取得部４０２により取得される三次元情報から、車両１が走行する路面の三次元位置を取得する。
【０１１０】
ここで、三次元情報は、前述したように、複数の撮像画像を利用した画像処理によって算出されるものであるので、路面の三次元位置は、カメラ座標系を基準とした情報である。したがって、この路面の三次元位置と、カメラ位置姿勢取得部４０３により取得される、カメラ座標系における車載カメラ１５の推定上を表す情報のうちの高さ成分と、を考慮すれば、路面に対する車載カメラ１５のカメラ座標系での設置高さを求めることが可能である。
【０１１１】
しかしながら、前述したように、カメラ座標系は、現実世界に対応した絶対的な情報ではないので、カメラ座標系でのスケールと、現実世界でのスケールとを、何らかの方法で対応付けることが求められる。
【０１１２】
そこで、実施形態は、センサ情報取得部４０１により取得されるセンサ情報に基づいて特定される車両１の走行距離と、当該走行距離に対応した区間における車載カメラ１５の推定上の位置の遷移と、の関係性に着目する。すなわち、前者は現実世界に対応した情報であり、後者はカメラ座標系に対応した情報であるが、両者は同等の内容の情報を示しているはずなので、両者の関係性に着目すれば、路面に対する車載カメラ１５のカメラ座標系での設置高さを、現実世界での車両１における車載カメラ１５の実際の設置高さに変換することが可能になる。
【０１１３】
したがって、実施形態において、カメラパラメータ推定部４０９は、センサ情報取得部４０１により取得されるセンサ情報に基づいて特定される車両１の走行距離と、当該走行距離に対応した区間における車載カメラ１５の推定上の位置の遷移と、三次元情報に含まれる路面の推定上の三次元位置と、に基づいて、車両１における車載カメラ１５の実際の設置高さをカメラパラメータとして推定する。
【０１１４】
なお、実施形態において、補正部４１０は、カメラパラメータ推定部４０９により推定されたカメラパラメータに基づいて、光軸補正などを含む車載カメラ１５のキャリブレーションを実行する。
【０１１５】
補正部４１０によるキャリブレーションは、カメラパラメータが新たに推定される毎に、最新のカメラパラメータに基づいて実行されてもよいし、所定の基準のもとでキャリブレーションが必要と判断された場合にのみ実行されてもよい。後者の場合、たとえば、補正部４１０は、複数回にわたって蓄積したカメラパラメータの推定結果のばらつきを分散などの統計量に基づいて算出し、当該ばらつきが所定未満のレベルであり、かつ、カメラパラメータの推定結果と現在のカメラパラメータとのズレが所定以上になっているか否かを基準として、キャリブレーションの実行の有無を切り替えてもよい。
【０１１６】
以下、図９〜図１１を参照して、実施形態にかかるカメラパラメータ推定装置４００が実行する処理について説明する。
【０１１７】
図９は、実施形態にかかるカメラパラメータ推定装置４００がカメラパラメータとして車載カメラ１５の設置姿勢を推定する際に実行する処理を示した例示的かつ模式的なフローチャートである。
【０１１８】
図９に示されるように、実施形態では、まず、Ｓ９０１において、センサ情報取得部４０１は、車両１の走行状態を検出する走行状態センサ３０６の出力を含むセンサ情報を取得する。
【０１１９】
そして、Ｓ９０２において、カメラ位置姿勢取得部４０３は、車載カメラ１５に設定されたカメラ座標系における、車載カメラ１５の推定上の位置および姿勢を取得する。
【０１２０】
そして、Ｓ９０３において、カメラパラメータ推定装置４００（たとえば旋回判定部４０６）は、直進ベクトルが既に算出済か否かを判断する。
【０１２１】
Ｓ９０３において、直進ベクトルが既に算出済でないと判断された場合、Ｓ９０４に処理が進む。そして、Ｓ９０４において、直進判定部４０４は、直進ベクトルを算出可能か否か、すなわち、Ｓ９０２で取得された車載カメラ１５の推定上の位置の遷移が直線で近似される分布を示すか否かを判断する。
【０１２２】
Ｓ９０４において、直進ベクトルを算出不可能であると判断された場合、Ｓ９０１に処理が戻る。しかしながら、Ｓ９０４において、直進ベクトルを算出可能であると判断された場合、Ｓ９０５に処理が進む。
【０１２３】
Ｓ９０５において、直進ベクトル算出部４０５は、車両１の前後方向（進行方向）に対応した直進ベクトルを算出する。より具体的に、直進ベクトル算出部４０５は、車載カメラ１５の推定上の位置の遷移を近似する直線の方向に対応したベクトルを、直進ベクトルとして算出する。そして、Ｓ９０１に処理が戻る。
【０１２４】
一方、Ｓ９０３において、直進ベクトルが既に算出済であると判断された場合、Ｓ９０６に処理が進む。そして、Ｓ９０６において、旋回判定部４０６は、法線ベクトルを算出可能か否か、すなわち、Ｓ９０２で取得された車載カメラ１５の推定上の位置の遷移が２つの直線と少なくとも１つの曲線とで近似され、かつ当該２つの直線に対応した１つの平面で近似される分布を示すか否かを判断する。
【０１２５】
Ｓ９０６において、法線ベクトルを算出不可能であると判断された場合、Ｓ９０１に処理が戻る。しかしながら、Ｓ９０６において、法線ベクトルを算出可能であると判断された場合、Ｓ９０７に処理が進む。
【０１２６】
Ｓ９０７において、法線ベクトル算出部４０７は、車両１の上下方向（鉛直方向）に対応した法線ベクトルを算出する。より具体的に、法線ベクトル算出部４０７は、車載カメラ１５の推定上の位置の遷移を近似する２つの直線に直交する方向に対応したベクトル、すなわち、車載カメラ１５の推定上の位置の遷移を近似する１つの平面の法線方向に対応したベクトルを、法線ベクトルとして算出する。
【０１２７】
そして、Ｓ９０８において、直交ベクトル算出部４０８は、車両１の左右方向（幅方向）に対応した直交ベクトルを算出する。より具体的に、直交ベクトル算出部４０８は、Ｓ９０５で算出された直進ベクトルと、Ｓ９０７で算出された法線ベクトルと、のベクトル積などに基づいて、直進ベクトルと法線ベクトルとに直交する直交ベクトルを算出する。
【０１２８】
そして、Ｓ９０９において、カメラパラメータ推定部４０９は、車載カメラ１５の実際の設置姿勢をカメラパラメータとして推定する。より具体的に、カメラパラメータ推定部４０９は、Ｓ９０５で算出された直進ベクトルと、Ｓ９０７で算出された法線ベクトルと、Ｓ９０８で算出された直交ベクトルと、に基づいて、カメラ座標系を基準とした情報としてＳ９０２で取得された車載カメラ１５の推定上の姿勢を、現実世界に対応した車両座標系を基準とした情報に変換する。そして、処理が終了する。
【０１２９】
図１０は、実施形態にかかるカメラパラメータ推定装置４００がカメラパラメータとして車載カメラ１５の設置高さを推定する際に実行する処理を示した例示的かつ模式的なフローチャートである。
【０１３０】
図１０に示されるように、実施形態では、まず、Ｓ１００１において、センサ情報取得部４０１は、車両１の走行状態を検出する走行状態センサ３０６の出力を含むセンサ情報を取得する。
【０１３１】
そして、Ｓ１００２において、カメラ位置姿勢取得部４０３は、車載カメラ１５に設定されたカメラ座標系における、車載カメラ１５の推定上の位置を取得する。
【０１３２】
そして、Ｓ１００３において、三次元情報取得部４０２は、車両１が走行する路面の（推定上の）三次元位置を含んだ、車両１の周囲の状況を表す三次元情報を取得する。前述したように、三次元情報は、Ｓ１００２で取得される車載カメラ１５の推定上の位置と同様、カメラ座標系を基準とした情報である。
【０１３３】
そして、Ｓ１００４において、カメラパラメータ推定部４０９は、車載カメラ１５の実際の設置高さをカメラパラメータとして推定する。より具体的に、カメラパラメータ推定部４０９は、Ｓ１００２で取得される車載カメラ１５の推定上の位置のうちの高さ成分と、Ｓ１００３で取得される三次元情報に含まれる路面の三次元位置と、に基づいて、路面に対する車載カメラ１５の設置高さを、カメラ座標系を基準とした情報として求める。そして、カメラパラメータ推定部４０９は、Ｓ１００１で取得されるセンサ情報のうちの車両１の走行距離と、Ｓ１００２で取得される車載カメラ１５の推定上の位置の遷移と、の関係性を求め、当該関係性に基づいて、路面に対する車載カメラ１５のカメラ座標系での設置高さを、現実世界での車両１における車載カメラ１５の実際の設置高さに変換する。そして、処理が終了する。
【０１３４】
図１１は、実施形態にかかるカメラパラメータ推定装置４００がキャリブレーションを実行する際に実行する処理を示した例示的かつ模式的なフローチャートである。この図１１に示されるフローチャートは、補正部４１０がキャリブレーションの要否を判定し、必要に応じてキャリブレーションを実行する例に対応する。
【０１３５】
図１１に示されるように、実施形態では、まず、Ｓ１１０１において、補正部４１０は、キャリブレーションが必要か否かを判断する。この判断は、たとえば、複数回にわたって蓄積したカメラパラメータの推定結果のばらつきを分散などの統計量に基づいて算出し、当該ばらつきが所定未満のレベルであり、かつ、直近のカメラパラメータの推定結果と現在のカメラパラメータとのズレが所定以上になっているか否か、を基準として実行される。
【０１３６】
Ｓ１１０１において、キャリブレーションが必要であると判断された場合、Ｓ１１０２に処理が進む。そして、Ｓ１１０２において、補正部４１０は、直近のカメラパラメータの推定結果に基づいて、車載カメラ１５のキャリブレーションを実行する。そして、処理が終了する。
【０１３７】
なお、Ｓ１１０１において、キャリブレーションが必要でないと判断された場合、キャリブレーションは実行されず、そのまま処理が終了する。
【０１３８】
以上説明したように、実施形態にかかるカメラパラメータ推定装置４００は、カメラ位置姿勢取得部４０３と、直進ベクトル算出部４０５と、法線ベクトル算出部４０７と、直交ベクトル算出部４０８と、カメラパラメータ推定部４０９と、を備えている。カメラ位置姿勢取得部４０３は、車両１に搭載される周辺監視用の車載カメラ１５によって取得される撮像画像に基づいて推定される、車載カメラ１５に対して設定されたカメラ座標系における車載カメラ１５の推定上の位置および姿勢を取得する。直進ベクトル算出部４０５は、車両１の直進時における車載カメラ１５の推定上の位置の遷移に基づいて、カメラ座標系における車両１の進行方向に対応した直進ベクトルを算出する。法線ベクトル算出部４０７は、車両１の旋回時における車載カメラ１５の推定上の位置の遷移に基づいて、カメラ座標系における、車両１が走行する路面に対応した平面の法線方向に対応した法線ベクトルを算出する。直交ベクトル算出部４０８は、カメラ座標系において直進ベクトルと法線ベクトルとに直交する直交ベクトルを算出する。カメラパラメータ推定部４０９は、直進ベクトルと、法線ベクトルと、直交ベクトルと、直進ベクトルで示される方向に沿って車載カメラ１５の推定上の位置が移動する場合における車載カメラ１５の推定上の姿勢と、に基づいて、車両１における車載カメラ１５の実際の設置姿勢を、車載カメラ１５のキャリブレーションのためのカメラパラメータとして推定する。
【０１３９】
実施形態にかかるカメラパラメータ推定装置４００によれば、直進ベクトルと法線ベクトルと直交ベクトルとに基づいて、カメラ座標系における車載カメラ１５の推定上の姿勢を、現実世界における車両１の向きと整合するように変換することで、車両１における車載カメラ１５の実際の設置姿勢を、カメラパラメータとして推定することができる。これにより、特定の路面標示に依存することなく、カメラパラメータを柔軟に推定することができる。
【０１４０】
上述した実施形態において、カメラパラメータ推定装置４００は、車載カメラ１５の推定上の位置の遷移が直線で近似される分布を示すか否かに基づいて、車両１が直進したか否かを判定する直進判定部４０４を有している。そして、直進ベクトル算出部４０５は、車両１が直進したと直進判定部４０４により判定された区間における車載カメラ１５の推定上の位置の遷移を近似する直線に基づいて、直進ベクトルを算出する。このような構成によれば、直線近似の結果に基づいて、車両１が直進したか否かの判定と、直進ベクトルの算出と、を容易に実行することができる。
【０１４１】
また、上述した実施形態において、直進判定部４０４は、所定以上の長さを有する所定区間における車載カメラ１５の推定上の位置の遷移が直線で近似される分布を示すか否かに基づいて、所定区間において車両１が直進したか否かを判定する。このような構成によれば、所定以上の長さの距離分の情報を利用して、車両１が直進したか否かを精度良く判定することができる。
【０１４２】
また、上述した実施形態において、カメラパラメータ推定装置４００は、車両１の走行状態を検出する走行状態センサ３０６の出力を含むセンサ情報を取得するセンサ情報取得部４０１を有している。そして、直進判定部４０４は、車載カメラ１５の推定上の位置の遷移が直線で近似される分布を示すか否かと、センサ情報と、のうち少なくとも一方に基づいて、車両１が直進したか否かを判定しうる。このような構成によれば、直線近似の結果とセンサ情報とのうち少なくとも一方に基づいて、車両１が直進したか否かを、容易にまたは精度良く判定することができる。
【０１４３】
また、上述した実施形態において、カメラパラメータ推定装置４００は、車載カメラ１５の推定上の位置の遷移が、互いに交差する方向に延びる２つの直線と、当該２つの直線の間で所定以上の曲率を有して延びる少なくとも１つの曲線と、で近似される分布を示すか否かに基づいて、車両１が旋回したか否かを判定する旋回判定部４０６を有している。そして、法線ベクトル算出部４０７は、車両１が旋回したと旋回判定部４０６により判定された区間におけるカメラの推定上の位置の遷移を近似する少なくとも２つの直線に基づいて、法線ベクトルを算出する。このような構成によれば、直線近似および曲線近似の結果に基づいて、車両１が旋回したか否かの判定と、法線ベクトルの算出と、を容易に実行することができる。
【０１４４】
また、上述した実施形態において、旋回判定部４０６は、さらに、車載カメラ１５の推定上の位置の遷移が、少なくとも２つの直線に対応した１つの平面で近似される分布を示すか否かに基づいて、車両１が旋回したか否かを判定する。そして、法線ベクトル算出部４０７は、１つの平面の法線方向に対応したベクトルを、法線ベクトルとして算出する。このような構成によれば、平面近似の結果に基づいて、車両１が走行する路面が勾配を含んでいる場合を除外し、車両１が旋回したか否かの判定と、法線ベクトルの算出と、をより容易に実行することができる。
【０１４５】
また、上述した実施形態において、旋回判定部４０６は、車載カメラ１５の推定上の位置の遷移のうち、少なくとも１つの曲線に対応した第１部分を除外し、残りの部分のうち、２つの直線に対応した第２部分が、１つの平面で近似される分布を示すか否かに基づいて、車両１が旋回したか否かを判定する。このような構成によれば、車両１の進行方向が変化する際の横Ｇなどの影響により信頼性が低下しやすい情報としての第１部分を除外することで、車両１が旋回したか否かの判定の精度を高めることができる。
【０１４６】
また、上述した実施形態において、旋回判定部４０６は、車載カメラ１５の推定上の位置の遷移が２つの直線と少なくとも１つの曲線とで近似される分布を示すか否かと、走行状態センサ３０６の出力を含むセンサ情報と、のうち少なくとも一方に基づいて、車両１が旋回したか否かを判定しうる。このような構成によれば、直線近似および曲線近似の結果とセンサ情報との少なくとも一方に基づいて、車両１が旋回したか否かを、容易にまたは精度良く判定することができる。
【０１４７】
また、上述した実施形態において、カメラパラメータ推定装置４００は、撮像画像に基づいて推定される、カメラ座標系における、車両１が走行する路面の推定上の三次元位置を含む、車両１の周囲の状況を表す三次元情報を取得する三次元情報取得部４０２を有している。そして、カメラパラメータ推定部４０９は、走行状態センサ３０６の出力を含むセンサ情報に基づいて特定される車両１の走行距離と、当該走行距離に対応した区間における車載カメラ１５の推定上の位置の遷移と、三次元情報に含まれる路面の推定上の三次元位置と、に基づいて、車両１における車載カメラ１５の実際の設置高さを、カメラパラメータとして推定する。このような構成によれば、センサ情報と路面の推定上の三次元位置と車載カメラ１５の推定上の位置の遷移とに基づいて、特定の路面標示に依存することなく、車載カメラ１５の実際の設置高さを、カメラパラメータとして柔軟に推定することができる。
【０１４８】
また、上述した実施形態において、カメラパラメータ推定装置４００は、カメラパラメータ推定部４０９により推定されたカメラパラメータに基づいて、車載カメラ１５のキャリブレーションを実行する補正部４１０を備えている。このような構成によれば、補正部４１０により、車載カメラ１５のキャリブレーションを容易に（自動で）実行することができる。
【０１４９】
なお、実施形態にかかる制御装置３１０において実行されるカメラパラメータ推定プログラムは、インターネットなどのネットワーク経由で提供または配布されてもよい。すなわち、実施形態にかかる制御装置３１０において実行されるカメラパラメータ推定プログラムは、インターネットなどのネットワークに接続されたコンピュータ上に格納された状態で、ネットワーク経由でのダウンロードを受け付ける、といった形で提供されてもよい。
【０１５０】
＜変形例＞
上述した実施形態では、カメラパラメータ推定装置が補正部によってキャリブレーションを自動で実行する構成が例示されている。しかしながら、補正部を有しない、カメラパラメータを推定するだけの構成も、上述した実施形態と同様に有益である。さらに、たとえば次の図１２に示される変形例のように、キャリブレーションを自動で実行することなく、キャリブレーションの必要性を通知してキャリブレーションの実行を促す構成も、上述した実施形態と同様に有益である。
【０１５１】
図１２は、実施形態の変形例にかかるカメラパラメータ推定装置１２００の機能を示した例示的かつ模式的なブロック図である。なお、図１２において、図４と同一の機能には同一の符号が付されている。
【０１５２】
図１２に示されるように、変形例にかかるカメラパラメータ推定装置１２００は、図４に示された実施形態にかかる補正部４１０に代えて、通知部１２１０を有している。この通知部１２１０は、カメラパラメータ推定部４０９により推定されたカメラパラメータに基づいて、キャリブレーションを実行する必要性を通知する。
【０１５３】
たとえば、通知部１２１０は、複数回にわたって蓄積したカメラパラメータの推定結果のばらつきを分散などの統計量に基づいて算出し、当該ばらつきが所定未満のレベルであり、かつ、カメラパラメータの推定結果と現在のカメラパラメータとのズレが所定以上になっている場合に、キャリブレーションが必要である旨を、モニタ装置１１（図３参照）などを介して通知する。そして、変形例では、通知部１２１０による通知を受け取った者が車両１の点検を業者などに依頼することで、業者によりキャリブレーションが実行される。
【０１５４】
以上説明したように、変形例にカメラパラメータ推定装置１２００は、カメラパラメータ推定部４０９により推定されたカメラパラメータに基づいて、車載カメラ１５のキャリブレーションを実行する必要性を通知する通知部１２１０を備えている。このような構成によれば、通知部１２１０により、車載カメラ１５のキャリブレーションを実行する必要性を容易に（自動で）通知することができる。
【０１５５】
以上、本開示の実施形態および変形例を説明したが、上述した実施形態および変形例はあくまで一例であって、発明の範囲を限定することは意図していない。上述した新規な実施形態および変形例は、様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上述した実施形態および変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１５６】
１  車両
１５  車載カメラ（カメラ）
３０６  走行状態センサ（センサ）
４００、１２００  カメラパラメータ推定装置
４０１  センサ情報取得部
４０２  三次元情報取得部
４０３  カメラ位置姿勢取得部
４０４  直進判定部（第１判定部）
４０５  直進ベクトル算出部（第１ベクトル算出部）
４０６  旋回判定部（第２判定部）
４０７  法線ベクトル算出部（第２ベクトル算出部）
４０８  直交ベクトル算出部（第３ベクトル算出部）
４０９  カメラパラメータ推定部
４１０  補正部
１２１０  通知部
【図１】
2020068477.tif 000003
【図２】
2020068477.tif 000004
【図３】
2020068477.tif 000005
【図４】
2020068477.tif 000006
【図５】
2020068477.tif 000007
【図６】
2020068477.tif 000008
【図７】
2020068477.tif 000009
【図８】
2020068477.tif 000010
【図９】
2020068477.tif 000011
【図１０】
2020068477.tif 000012
【図１１】
2020068477.tif 000013
【図１２】
2020068477.tif 000014