(57)【要約】      （修正有）【課題】車両カメラの高精度かつリアルタイムの較正を可能にする方法を提供する。【解決手段】方法は、第１列、第２列、および第３列を備えるカメラ較正行列を生成することを含む。カメラ較正行列の第１列は、得られた拡張点の焦点に基づいて取得され、カメラ較正行列の第３列は、得られた平面法線ベクトルに基づいて取得され、カメラ較正行列の第２列は、カメラ較正行列の第１列と第３列との外積に対応する。次いで、カメラは、得られたカメラ較正行列を用いて較正される。【選択図】図３
2019169942.tif 000002
【特許請求の範囲】
【請求項１】
車両のカメラを較正する方法であって、
−前記車両が動いている間に前記カメラからビデオストリーム内の１つ以上の画像フレームであって画像面を画定する前記画像フレームを得ること、
−前記画像フレーム内の２つ以上の画像点を選択すること、
−前記画像フレーム内の各選択された前記画像点の運動軌跡を追跡すること、
−追跡された前記運動軌跡に基づいて複数のフローベクトルを得ること、
−前記画像面内の前記フローベクトルについて拡張点の１つ以上の焦点であって各々がｘ，ｙ座標によって定義される前記１つ以上の焦点を決定すること、
−前記画像面内の接地面マスクを識別すること、
−前記接地面マスク内に位置する得られた前記フローベクトルのうちの３つ以上の前記フローベクトルを識別すること、
−前記接地面マスクに配置された前記フローベクトルのうちの１つのフローベクトルの２つの画像点の同次座標を関連付けるように構成されたホモグラフィ行列を決定すること、
−前記ホモグラフィ行列を使用して１つ以上の平面法線ベクトルを得ること、
−第１列、第２列、および第３列を備えるカメラ較正行列を、
・得られた前記拡張点の焦点に基づいて前記カメラ較正行列の前記第１列を決定すること、
・得られた前記平面法線ベクトルに基づいて前記カメラ較正行列の前記第３列を決定すること、および
・前記カメラ較正行列の前記第１列と前記第３列との外積に対応する前記カメラ較正行列の前記第２列を決定すること、
によって生成すること、および
−得られた前記カメラ較正行列を用いて前記カメラを較正すること、
を含む方法。
【請求項２】
追跡された前記運動軌跡に基づいて複数の前記フローベクトルを得ることは、
−ミラーリングされていない画像フレームに対応するフローベクトルが得られるように前記フローベクトルを反転すること、
を含む、請求項１に記載の方法。
【請求項３】
前記フローベクトルを得ることは、
−前記フローベクトルをフィルタリングすること、
を含む、請求項１又は２に記載の方法。
【請求項４】
前記フローベクトルをフィルタリングすることは、以下の基準、
−マッチングベースのコスト、
−フローベクトル長さ、
−画像フレーム間の角度、および
−拡張点の初期焦点に対する角度、
のうちの少なくとも１つの基準に基づいて実行される、請求項３に記載の方法。
【請求項５】
前記拡張点の前記１つ以上の焦点を決定することは、
−拡張点の平均焦点（ｖｐ）が得られるように前記拡張点の前記焦点の平均を計算することによって前記拡張点の前記焦点をフィルタリングすること、
を含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記拡張点の前記焦点に基づいて前記カメラ較正行列の前記第１列を決定することは、
−拡張点の正規化された焦点（ｎｖｐ）であって、前記カメラの主点（ｐｐ）、前記カメラの焦点距離（ｆｌ）、および前記拡張点の前記平均焦点（ｖｐ）によって以下の式で表される前記拡張点の前記正規化された焦点（ｎｖｐ）を得ること、
【数１】
2019169942.tif 000025
−拡張点の３Ｄ焦点（ＶＰ＿３Ｄ）であって以下の式に従って表される前記拡張点の前記３Ｄ焦点（ＶＰ＿３Ｄ）が得られるように、前記拡張点の前記正規化された焦点（ｎｖｐ）にｚ座標を追加すること、
【数２】
2019169942.tif 000026
−以下の式のように決定される、拡張点の正規化された３Ｄ焦点（Ｖｐ＿３Ｄ＿ｎｏｒｍ）を得ること、および
【数３】
2019169942.tif 000027
−前記カメラ較正行列の前記第１の列に、前記拡張点の前記正規化された３Ｄ焦点（Ｖｐ＿３Ｄ＿ｎｏｒｍ）を追加すること、
を含む、請求項５に記載の方法。
【請求項７】
前記接地面マスクを識別することは、
−前記画像面内の関心領域（ＲＯＩ）を示すこと、
を含む、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記接地面内に位置する前記フローベクトルの２つの前記画像点の同次座標を関連付けるように構成されたホモグラフィ行列は、以下の式のように、単位行列（ｌ）、前記カメラの並進移動（ｔ）、前記平面法線ベクトル（ｎ）、および前記カメラ中心までの前記画像面の距離（ｄ）によって表される、請求項１〜７のいずれか一項に記載の方法。
【数４】
2019169942.tif 000028
【請求項９】
前記１つ以上の平面法線ベクトルを得ることは、
−前記平均平面法線ベクトルが得られるように前記平面法線ベクトルの平均を計算することによって前記平面法線ベクトルをフィルタリングすること、
を含む、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記１つ以上の画像フレームを得る前に、
−前記車両の操舵角を受信すること、および
−前記操舵角が所定の操舵角範囲内にあるかどうかを確認すること、
をさらに含む請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
請求項１〜１０のいずれか一項に記載の車両のカメラを較正する方法をコンピュータシステムに実行させるためのプログラム命令を
含むコンピュータプログラム。
【請求項１２】
記憶媒体に具現化された、請求項１１に記載のコンピュータプログラム。
【請求項１３】
キャリア信号で搬送される、請求項１１又は１２に記載のコンピュータプログラム。
【請求項１４】
車両のカメラを較正するシステムであって、
前記車両が動いている間に前記カメラから前記ビデオストリーム内の１つ以上の画像フレームであって画像面を画定する前記画像フレームを得る手段と、
前記カメラによって得られた前記画像フレーム内の２つ以上の前記画像点を選択する手段と、
前記画像フレーム内の各選択された前記画像点の運動軌跡を追跡する手段と、
追跡された前記運動軌跡に基づいて複数のフローベクトルを得る手段と、
拡張点の焦点モジュールであって、
・前記画像面内の得られた前記フローベクトルについて１つ以上の拡張点の焦点を決定するために構成される、
前記拡張点の焦点モジュールと、
接地面モジュールであって、
・前記画像面内の接地面マスクを識別し、
・前記接地面マスクに配置された得られた前記フローベクトルのうちの３つ以上の前記フローベクトルを識別し、
・前記接地面マスク内に位置する前記フローベクトルのうちの１つのフローベクトルの２つの画像点の同次座標を関連付けるように構成されたホモグラフィ行列を決定し、且つ
・前記ホモグラフィ行列を用いて１つ以上の平面法線ベクトルを得るために構成される、
前記接地面モジュールと、
前記拡張点の焦点モジュールおよび前記接地面モジュールに接続されたカメラ較正行列モジュールであって、前記カメラ較正行列モジュールは、
・第１列、第２列および第３列を備えるカメラ較正行列を
・得られた前記拡張点の焦点に基づいて前記カメラ較正行列の前記第１列を決定すること、
・得られた前記平面法線ベクトルに基づいて前記カメラ較正行列の前記第３列を決定すること、および
・前記カメラ較正行列の前記第１列と前記第３列との外積に対応する前記カメラ較正行列の前記第２列を決定すること、により生成し、
・前記カメラ較正行列を使用して前記カメラを較正するために構成される、
前記カメラ較正行列モジュールと、
を備えるシステム。
【請求項１５】
メモリと、
プロセッサと、
を備え、
前記メモリに記憶され、且つ、前記プロセッサによって実行可能な命令であって、請求項１〜１１のいずれか一項に記載の車両のカメラを較正する方法を実行する機能を備える前記命令を具現化するコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、車両のカメラを較正する方法およびシステムに関する。さらに、本発明は、そのような方法を実行するのに適したコンピュータプログラムおよびシステムに関する。
【背景技術】
【０００２】
（背景）
自動車においては、例えば、道路の車線標示および道路の境界、障害物、他の道路利用者などを検出するか、または、例えば、駐車時に自動車の正面および／または後部の領域を調査および／または表示するために、例えば、自動車の前部および／または後部に配置された単一のビデオカメラまたは複数のビデオカメラによってキャプチャされたビデオ画像を使用する、アシスタントと呼ばれる場合が多い、いわゆる運転支援システムが知られている。
【０００３】
しかしながら、カメラの位置が絶対的に固定されていないという事実に関して問題が生じる。カメラの製造および車両への組み立て中には公差がある。加えて、さらに重要なことには、カメラが駆動され現実世界の厳しさにさらされるにつれて、カメラの位置決めは、車両の寿命にわたって変化し得る。でこぼこの道路やドアのスラムからの振動、洗車の効果、さまざまな部品の修理や交換、さらには旋回するサイドミラーハウジングの移動も、すべてカメラの位置（角度の向きを含む）に影響を与え得る。これにより、カメラの較正が解除される可能性がある。
【０００４】
この点に関して、実際の使用中に生じるカメラの較正が解除される上記の技術的問題は、車両に対するカメラの不正確な位置または誤った位置をもたらし、それによって、例えば、運転支援システム（ＡＤＡＳ）に対する不正確なまたは誤った入力データをもたらす場合がある。
【０００５】
車両が工場の生産ラインを出るときにカメラを較正することは可能である。組立ラインエンドテスタを使用して、制御された環境において車両から既知の距離で所定のターゲットを投影することができる。さまざまなマーカの実際の物理的位置を知っていると、カメラのピクセル位置を実際の位置にマッピングする伝達関数を定義し、これからカメラのポーズへのオフセットを決定することができる。しかしながら、このラインエンドテスト方法は、予め指定されたマーカが既知の位置に配置されている制御環境が存在しない現場でカメラを独立して較正することができるという問題を解決しない。簡単に言えば、現場で車両用カメラを較正するために、制御された環境において所定のターゲットに基づくラインエンド組立ライン較正を使用することは不可能である。
【０００６】
オンライン較正のための既存の方法は、道路標示の検出に基づくか、または道路上の特徴の検出に基づくかのいずれかである。最初に述べた方法は較正に適した環境の強い制限をもたらすが、特定の画像領域における平坦な道路の仮定が常に満たされるわけではないので、後者の方法は誤りがちである。
【０００７】
本開示の例は、前述の問題のうちの１つ以上を少なくとも部分的に軽減することを目的としている。
【発明の概要】
【０００８】
（概要）
第１態様では、車両のカメラを較正する方法が提供される。方法は、車両が動いている間にカメラによってビデオストリーム内の１つ以上の画像フレームを得ることを含み、画像フレームは画像面を画定する。方法は、画像フレーム内の２つ以上の画像点を選択すること、画像フレーム内の各選択された画像点の運動軌跡を追跡することと、をさらに含む。そして、追跡された運動軌跡に基づく複数のフローベクトルが得られる。さらに、画像面内のフローベクトルに対する１つ以上の拡張点の焦点が得られ、各拡張点の焦点はｘ、ｙ座標によって定義される。さらに、画像面内の接地面マスクが識別される。次に、接地面マスク内に位置する３つ以上のフローベクトルが識別される。得られた接地面内に位置する接地面フローベクトルのうちの１つの２つの画像点の同次座標を関連付けるように構成されたホモグラフィ行列が決定される。ホモグラフィ行列を用いて１つ以上の平面法線ベクトルが得られる。次に、第１、第２、および第３列を備えるカメラ較正行列が生成され、カメラ較正行列の第１列は、得られた拡張点の焦点に基づいて取得され、カメラ較正行列の第３列は、得られた平面法線ベクトルに基づいて取得され、カメラ較正行列の第１と第３列の外積に対応するカメラ較正行列の第２列が取得される。そして、得られたカメラ較正行列を用いてカメラを較正する。
【０００９】
この第１態様によれば、車両カメラの高精度かつリアルタイムの較正を可能にする方法が提供される。
【００１０】
従来技術とは異なり、本方法の較正は、道路標示または道路上の特定の特徴、例えば、車線またはその他の縦方向の道路の特徴の検出には基づいていない。さらに、カメラを較正するためにカメラの初期位置決めに関する事前の知識は必要とされない。さらに、本方法は、単一の車両カメラのみを必要とし、例えば、他のカメラやＬＩＤＡＲは必要ない。
【００１１】
別の態様では、コンピュータプログラム製品が開示されている。コンピュータプログラム製品は、コンピューティングシステムに、第１態様による車両のカメラを較正する方法を実行させるためのプログラム命令を含むことができる。
【００１２】
コンピュータプログラム製品は、記憶媒体（例えば、コンピュータメモリ、または読み取り専用メモリ上のＣＤ−ＯＭ、ＤＶＤ、ＵＳＢドライブ）上に具現化されるか、またはキャリア信号（例えば、電気または光キャリア信号）で搬送され得る。
【００１３】
コンピュータプログラムは、部分的にコンパイルされた形式など、ソースコード、オブジェクトコード、コード中間ソース、およびオブジェクトコードの形式、またはプロセスの実行で使用するのに適した他の任意の形式であり得る。キャリアは、コンピュータプログラムを担持することができる任意のエンティティまたは装置であり得る。
【００１４】
例えば、キャリアは、ＲＯＭ、例えば、ＣＤＲＯＭもしくは半導体ＲＯＭ、または磁気記録媒体、例えば、ハードディスクなどの記憶媒体を備え得る。さらに、キャリアは、電気または光ケーブルを介して、あるいは無線または他の手段によって伝達され得る、電気信号または光信号などの伝送可能なキャリアであり得る。
【００１５】
コンピュータプログラムがケーブルまたは他の装置あるいは手段によって直接伝達され得る信号で具現化されるとき、キャリアはそのようなケーブルあるいは他の装置または手段によって構成されてもよい。
【００１６】
あるいは、キャリアは、コンピュータプログラムが埋め込まれている集積回路であってもよく、集積回路は、関連する方法を実行するために、またはその実行において使用するために適合されている。
【００１７】
さらに別の態様では、コンピューティングシステムが開示されている。システムは、メモリと、プロセッサと、を備え得る。メモリは、プロセッサによって実行可能なコンピュータプログラム命令を記憶することができる。前記命令は、車両のカメラを較正する方法を実行する機能を備え得る。
【００１８】
別の態様では、車両のカメラを較正するシステムが開示されている。システムは、車両が動いている間にカメラからビデオストリーム内の１つ以上の画像フレームを得る手段を含み、画像フレームは画像面を画定し、そして、カメラによって得られた画像フレーム内の２つ以上の画像点を選択する手段と、画像フレーム内の各選択された画像点の運動軌跡を追跡する手段と、追跡された運動軌跡に基づいて複数のフローベクトルを得る手段と、を含む。システムはさらに、較正されるカメラに接続された拡張点の焦点モジュールを備え、拡張点の焦点モジュールは、画像面内の得られたフローベクトルについて１つ以上の拡張点の焦点を決定するために構成される。さらに、このシステムは、カメラに接続された接地面モジュールを備え、接地面モジュールは、画像面内の接地面マスクを識別し、接地面マスク内に位置する３つ以上のフローベクトルを識別し、接地面に配置された接地面フローベクトルのうちの１つの２つの画像点の同次座標を関連付けるように構成されたホモグラフィ行列を決定し、ホモグラフィ行列を使用して１つ以上の平面法線ベクトルを得るために構成される。さらに、システムは、拡張点の焦点モジュールおよび接地面モジュールに接続されたカメラ較正行列モジュールを備え、カメラ較正行列モジュールは、得られた拡張点の焦点に基づいてカメラ較正行列の第１列を決定し、得られた平面法線ベクトルに基づいてカメラ較正行列の第３列を決定し、カメラ較正行列の第１と第３列の外積に対応するカメラ較正行列の第２列を決定し、カメラ較正行列を使用してカメラを較正することにより、第１、第２および第３列を備えるカメラ較正行列を得るために構成される。
【図面の簡単な説明】
【００１９】
（図面の簡単な説明）
本開示の非限定的な例は、添付の図面を参照しながら以下に説明される。
【図１】車両のカメラを較正するシステムの一例を説明するブロック図の説明図である。
【図２】車両の座標系（ＶＣＳ）およびカメラの座標系（ＣＣＳ）の一例を概略的に示す。
【図３】車両のカメラを較正する方法の一例を説明するフローチャートの図である。
【図４ａ】図４ａ〜図４ｃは、カメラによって提供されるビデオストリーム内の連続する画像フレームにわたる画像点の対応する運動軌跡を示す図を概略的に示す。
【図４ｂ】図４ａ〜図４ｃは、カメラによって提供されるビデオストリーム内の連続する画像フレームにわたる画像点の対応する運動軌跡を示す図を概略的に示す。
【図４ｃ】図４ａ〜図４ｃは、カメラによって提供されるビデオストリーム内の連続する画像フレームにわたる画像点の対応する運動軌跡を示す図を概略的に示す。
【図５】運動軌跡および拡張点の焦点から導出された画像面内のフローベクトルを示す図を概略的に示す。
【図６ａ】図６ａ〜６ｂは、接地面マスクおよび法線接地面ベクトルの一例を概略的に示す。
【図６ｂ】図６ａ〜６ｂは、接地面マスクおよび法線接地面ベクトルの一例を概略的に示す。
【図７】車両のカメラを較正する方法の別の例を説明するフローチャートの図である。
【発明を実施するための形態】
【００２０】
（実際例の詳細な説明）
本明細書および特許請求の範囲を通して、「画像面」は、実際の三次元空間を視認するカメラの出力として提供される二次元空間として理解されるべきである。
【００２１】
本明細書および特許請求の範囲を通して、「拡張点の焦点」という用語は、例えば、道路に平行な実平面内の平行線は、画像面内で収束しているように見える点として理解されるべきである。さらに、「拡張点の焦点」および「消失点」という用語は互換的である。
【００２２】
図１は、車両のカメラを較正するシステムの一例を説明するブロック図の説明図である。このシステムは、カメラ１０１を備える。カメラ１０１は、画像センサ１０４に結合された広角レンズ１０２、メモリ１０６および送信機１０８をさらに備えることができる。
【００２３】
カメラ１０１は、拡張点の焦点モジュール１１２上で送信機１０８を介して受信機１１０に結合されてもよい。受信機１１０は、カメラビデオストリーム（各ストリームは、例えば、毎秒２５〜３０フレームの速度でカメラによってキャプチャされた連続画像フレームを備える）をマイクロコントローラ１２２に提供することができる。マイクロコントローラ１２２は、選択されたカメラビデオストリームを処理し、後で説明されるように拡張点の焦点の計算を実行する。
【００２４】
マイクロコントローラ１２２は、ＣＡＮトランシーバ１３０を介して車両コマンドエリアネットワーク（ＣＡＮ）に接続することができ、したがって、車両の操舵角などの情報について主車両コントローラ（図示せず）に問い合わせることができる。
【００２５】
カメラ１０１は、接地面モジュール１４０の受信機１４１にさらに結合することができる。受信機１４１は、カメラビデオストリームをマイクロコントローラ１４２に提供し、マイクロコントローラ１４２は、選択されたカメラビデオストリームを処理し、後で説明するように１つ以上の接地面法線ベクトルの計算を実行する。
【００２６】
以前と同様に、マイクロコントローラ１４２は、ＣＡＮトランシーバ１４３を介して車両コマンドエリアネットワーク（ＣＡＮ）に接続することができ、したがって、車両の操舵角などの情報について主車両コントローラ（図示せず）に問い合わせることができる。
【００２７】
接地面モジュール１４０および拡張点の焦点モジュール１１２は、カメラ較正行列モジュール１５０の受信機１５１に結合することができる。受信機１５１は、得られた拡張点（複数可）の焦点および得られた接地面法線ベクトル（複数可）をマイクロコントローラ１５２に提供してもよく、マイクロコントローラ１５２は、法線ベクトル（複数可）および拡張点（複数可）の焦点を処理し、後により詳細に説明されるように、カメラ較正行列の計算を実行する。
【００２８】
マイクロコントローラ１５２はさらに、得られたカメラ較正行列を使用して車両カメラの較正を実行することができる。
【００２９】
図２は、車両の座標系（ＶＣＳ）およびカメラの座標系（ＣＣＳ）の一例を概略的に示す。車両のＸ軸は、車両の縦軸に沿っていてもよい。車両のＹ軸は、車両の横方向軸または横軸に沿っていてもよい。車両のＺ軸は、車両のアップ（up）軸であり得る。車両に関連するカメラは、カメラＸ軸、カメラＹ軸、およびカメラＺ軸を備えるそれ自体のカメラ座標系を有してもよい。カメラＸ軸は、カメラの右を向いてもよく、カメラＹ軸は、下を向いてもよく、カメラＺ軸は、カメラから離れて向いてもよい。カメラの較正は、回転行列が得られるように実行され得て、したがって車両の座標系（ＶＣＳ）からの点をカメラの座標系（ＣＣＳ）に回転させることができる。
【００３０】
図３は、車両のカメラを較正する方法の一例を説明するフローチャートの図である。図３は特定のシーケンスを示しているが、他のシーケンスに従うことができることを理解すべきである。
【００３１】
ブロック２００において、ビデオストリーム内の１つ以上の画像フレームが、車両が動いている間にカメラによって得られてもよく、画像フレームは画像面を画定する。ブロック２００における画像フレームの処理は、例えば、ＣＡＮバスによって提供される操舵角によって調整され得る。この点に関して、操舵角情報は、カメラによってキャプチャされた画像フレームごとに分析されて記録される。操舵角が、例えば、−３度［degree］〜＋３度の所定の範囲内にある場合、アルゴリズムが起動され得て、したがって、カメラは、ビデオストリーム内の画像フレームを得ることができ、カメラビデオストリームは、アルゴリズムによって処理される。しかしながら、操舵角が所定の範囲内にない場合（したがって、車両の車輪が車両の本体に対して誤った角度にある場合）、アルゴリズムは、カメラによってキャプチャされた画像フレームの処理を停止することがある。したがって、操舵角が所定の操舵角範囲内にあるときにのみアルゴリズムが起動され得ることは明らかである。
【００３２】
ブロック２０１で、画像フレーム内の１つ以上の画像点が選択される。さらに、ブロック２０２において、画像フレーム内の各選択された画像点の運動軌跡が追跡される。加えて、ブロック２０３において、複数のフローベクトルが得られてもよく、特に２つ以上の拡張点の焦点フローベクトルおよび３つ以上の接地面フローベクトルが得られる。一旦、１つ以上の画像点が選択されると、車両が移動するにつれてカメラビデオストリームから得られた１組の画像フレームにおけるこれらの点の後続位置が追跡される。したがって、例えば、図４ａ〜４ｃに概略的に示されるように、画像点ｐおよび画像点ｊは、後続の画像フレーム９００、９０１、９０２において追跡され得る。この特徴点のピクセル位置は、後続の画像フレームにわたって変化して、例えば、特徴点ｐに関して、点（ｘ０，ｙ０），（ｘ１，ｙ１），・・・（ｘｎ，ｙｎ）を備えるベクトルＰを産出できる。同様に、この特徴点ｊのピクセル位置は、後続の画像フレームにわたって変化して、例えば、特徴点ｊに関して、点（ｘ０，ｙ０），（ｘ１，ｙ１），・・・（ｘｎ，ｙｎ）を備えるベクトルＪを産出できる。このようにして、選択された各画像点に対する、例えば、ベクトルＰおよびＪのフローベクトルが得られ得る。
【００３３】
明らかに、さらなるフローベクトルが同様の方法で得られてもよい。
【００３４】
得られたフローベクトルは、拡張点の焦点フローベクトルまたは接地面フローベクトルのいずれかとして識別することができる。後に説明するように、拡張点の焦点フローベクトルを使用して１つ以上の拡張点の焦点を得ることができる。接地面フローベクトルは、後でまた説明されるように、接地面の１つ以上の平面法線ベクトルを得るために使用され得る。
【００３５】
典型的には、得られた拡張点の焦点フローベクトルはノイズが多く、しばしば信頼できない可能性がある。したがって、拡張点の焦点フローベクトルをフィルタリングすることができる。フィルタリングは、以下の基準のうちの少なくとも１つに基づいて実行されてもよい。マッチングベースのコスト、フローベクトルの長さ、画像フレーム間の角度および拡張点の初期焦点に対する角度である。したがって、「良好な」フローベクトルは複数のフレームにわたって得ることができる。
【００３６】
マッチングベースのコスト基準では、２つのベクトルを対にするコストは対関数の結果によって与えられる。特に、上述のコストは、対の類似性および頑健性の尺度であり得る。したがって、この尺度は、ベクトル間の最も強い対を選択し、ベクトル間の最も弱い対を無視するために使用され得る。
【００３７】
フローベクトルの長さの基準では、ベクトルの長さは、２つの連続した画像の２つの一致した点がどの程度離れているかを示す。長さが非常に短い場合、ベクトルは任意の情報を提供しないので無視される可能性がある（拡張焦点に向かって線を投影するには最小長さが必要である）。さらに、オプティカルフローの長さが長すぎると、対エラーと見なされる可能性がある。
【００３８】
フレーム間の角度の基準では、最適なフローベクトルの角度はほぼ一定でなければならない。この角度は、起こり得る誤ったベクトルを無視するために使用され得る。
【００３９】
拡張点の初期焦点基準に対する角度において、初期カメラの向きが誤差、例えば、±３度の範囲内であると仮定し、この前提は、オプティカルフローベクトルの角度の偏差を初期の拡張点の焦点に制限するために使用することができる。
【００４０】
いくつかの例では、カメラはミラーの代わりとして機能することができる。したがって、カメラによってキャプチャされた画像フレームは、実際のカメラ画像のミラーリングされたバージョンであり得る。このためフローベクトルは、ミラーリングされていない画像フレームに対応するフローベクトルが得られるように反転させることができる。
【００４１】
ブロック２０４で、拡張点の１つ以上の焦点、すなわち画像平面内の拡張点の焦点フローベクトルの消失点が決定され、拡張点の各焦点はｘ、ｙ座標によって定義される。このブロックの主な目的は、利用可能な入力データに基づいて拡張点の焦点を生成することである。この例に続いて、図５に概略的に示されるように、拡張点の焦点ＶＰは、フローベクトルＰおよびＪ（以前にブロック２０３で得られた）に基づいて得られ得る。
【００４２】
特に、フローベクトルの「最良の」交点が計算されて、拡張点の焦点が決定される。この目的を達成するために、全ての２Ｄ線（フローベクトルによって与えられる）に最も近い点ｖｐ∈Ｒ２が計算されてもよい。特に、始点ａ、単位法線ベクトルｎ、および拡張点の焦点ｖｐを有する線（フローベクトルによって与えられる）の絶対距離は、次のように表すことができる。
【数１】
2019169942.tif 000003
ここで、Ｔは、転置行列を表し、特に、Ｔは、対角線で成分を折り返させる演算子であり、行要素と列要素とを入れ替えた行列を作ることができる。
【００４３】
また、以下の式に従って、次の（二次）コスト関数Ｅを最小化することができる。
【数２】
2019169942.tif 000004
ここで、Ｎは、線の数を表し、ｖｐは、拡張点の焦点であり、ａは、始点であり、ｎは、単位法線ベクトルであり、Ｔは、転置行列を表す。
【００４４】
この問題に対する解決策は、以下の方程式に従って決定することができる。
【数３】
2019169942.tif 000005
【００４５】
いくつかの例では、拡張点の焦点は、ＲＡＮＳＡＣアルゴリズムによって推定することができる。ランダムサンプルコンセンサス（ＲＡＮＳＡＣ）は、外れ値が推定値に影響を与えない場合、外れ値を含む一連の観測データから数学モデルのパラメータを推定するための反復法である。ＲＡＮＳＡＣの利点は、モデルパラメータを頑強に推定できることであり、すなわち、それはパラメータを高い精度で推定できる。
【００４６】
明らかに、さらなるフローベクトルに対応するさらなる拡張点の焦点が実質的に同様の方法で得られる。いくつかの拡張点の焦点が得られる例では、得られた拡張点の焦点をフィルタリングすることができる。フィルタリングは、得られた拡張点の平均焦点を計算することによって実行することができる。したがって、単一の拡張点の平均焦点が得られ得る。
【００４７】
ブロック２０５において、画像面内の接地面マスクが識別され得る。接地面マスクの識別は、画像面内の関心領域（ＲＯＩ）を示すことによって実行することができる。ＲＯＩ３５０が図６ａに概略的に示されている。したがって、対応する接地面マスクを選択することができる。
【００４８】
ブロック２０６において、接地面マスクに配置された３つ以上のフローベクトル、すなわち接地面フローベクトルを識別することができる。３つ以上のフローベクトルを選択する理由は、３Ｄ平面を得るために少なくとも３つのフローベクトルが必要とされるからである。接地面フローベクトルは、ブロック２０３で前述したように得られてもよい。以前と同様に、識別された接地面フローベクトルは、ノイズが多く信頼性がない可能性がある。したがって、フィルタリングは、以下の基準のうちの少なくとも１つに基づいて実行され得る。マッチングベースのコスト、フローベクトルの長さ、画像フレーム間の角度および拡張点の初期焦点に対する角度である。これらのフィルタは、前述したものと同じまたは類似のものでよい。したがって、接地面マスク内で識別された「良好な」接地面フローベクトルは、いくつかのフレームにわたって取得され得る。
【００４９】
ブロック２０７において、得られた接地面マスク内に配置された接地面フローベクトルのうちの１つの一部を形成する２つの点の同次座標を関連付けるように構成されたホモグラフィ行列を決定することができる。さらに、ブロック２０８で、ホモグラフィ行列を使用して１つ以上の平面法線ベクトルを得ることができる。ホモグラフィ行列Ｈ∈Ｒ３×３は、１つの接地面フローベクトルの一部を形成する２つの点（２つのフレーム間）の２つの同次座標をマッピングすることができる。ホモグラフィ行列は次のように表すことができる。
【数４】
2019169942.tif 000006
ここで、Ｉ∈Ｒ３×３は、単位行列であり、ｔ∈Ｒ３は、カメラの並進移動であり、ｎ∈Ｒ３は、平面法線ベクトルであり、ｄ∈Ｒは、カメラ中心までの平面の距離である。このようにして、１つの接地面フローベクトルの一部を形成する２つの点（２つのフレーム間）の２つの同次座標ｐ１およびｐ２は、以下の式に従って関連付けることができる。
【数５】
2019169942.tif 000007
ここで、λは、未知のスカラーであり、Ｉは、単位行列であり、ｔは、カメラの並進移動であり、ｎは、平面法線ベクトルであり、ｄは、カメラ中心までの平面の距離であり、Ｔは、転置行列を表し、ｍ＝ｎ／ｄである。この点で、画像座標の点ｐ２（ｐ２ｘ，ｐ２ｙ）に戻り、同次座標の第３要素で除算すると、次の２つの制約が生じる。
【数６】
2019169942.tif 000008
ここで、ｐ１ｘ，ｐ１ｙは、点ｐ１のｘ，ｙ座標であり、ｔｘ，ｔｙ，ｔｚは、カメラｔの並進移動のｘ，ｙ，ｚ座標であり、ｍ＝ｎ／ｄであり、Ｔは、転置行列を表し、ｐ１は、上述の同次座標である。
【００５０】
小さな再定式化は次の方程式を導くことができる：
【数７】
2019169942.tif 000009
ここで、ｐ２ｘ，ｐ２ｙは、点ｐ２のｘ，ｙ座標であり、ｐ１ｘ，ｐ１ｙは、点ｐ１のｘ，ｙ座標であり、ｔｘ，ｔｙ，ｔｚは、カメラｔの並進移動のｘ，ｙ，ｚ座標であり、ｍ＝ｎ／ｄであり、Ｔは、転置行列を表し、ｐ１は、上述の同次座標であり、ｍ＝ｎ／ｄである。
【００５１】
例に従い、ｍは、以下の方程式によりコスト関数Ｅを最小化することによって計算することができる。
【数８】
2019169942.tif 000010
ここで、ｎは、対応の数である。このコスト関数は、以下の方程式に従って再公式化することができる。
【数９】
2019169942.tif 000011
項ｍは、以下の式に従って計算することができる。
【数１０】
2019169942.tif 000012
ここで、
【数１１】
2019169942.tif 000013
そして
【数１２】
2019169942.tif 000014
【００５２】
平面法線ベクトルは、ｎ＝ｄ＊ｍによって与えられ、ここで、ｄ＝１／｜ｍ｜は、カメラの中心までの計算された距離である。平面法線ベクトルの一例が図６ｂに概略的に示されている。
【００５３】
いくつかの例では、平面法線ベクトルｎは、ＲＡＮＳＡＣアルゴリズムによって推定され得る。ＲＡＮＳＡＣを使用することの利点は、上記と同じであり得る。
【００５４】
明らかに、さらなる平面法線ベクトルが実質的に同様の方法で得られ得る。さらなる平面法線ベクトルが得られる例では、平面法線ベクトルをフィルタリングすることができる。フィルタリングは、得られた平面法線ベクトルの平均を計算することによって実行されてもよい。このようにして単一平面法線ベクトルが得られ得る。
【００５５】
ブロック２０９において、カメラ較正行列、例えば、第１列ｒ１、第２列ｒ２、および第３列ｒ３を備える回転行列が得られてもよい。カメラ較正行列は、次の式に従って表すことができる。
【数１３】
2019169942.tif 000015
【００５６】
特に、ブロック２１０において、得られた拡張点の焦点に基づくカメラ較正行列の第１列が決定される。この点に関して、車両の座標系から車両カメラの座標系へのｘ軸の変換は、以下に従って決定され得る。
【数１４】
2019169942.tif 000016
ここで、ｒ１は、カメラ較正行列の第１列である。拡張点の平均焦点（ａｖｐ）は前述のように既に得られている。拡張点の平均焦点は、ｘ、ｙ座標によって定義される。拡張点の焦点は正規化することができる。このようにして、拡張点の正規化された焦点（ｎｖｐ）が得られ得る。拡張点の正規化された焦点（ｎｖｐ）は、次のように表すことができる。
【数１５】
2019169942.tif 000017
ここで、拡張点の正規化された焦点は、カメラの主点（ｐｐ）、カメラの焦点距離（ｆｌ）および拡張点の平均焦点（ｖｐ）によって表される。ｚ座標（ｎ＿ｖｐ．ｚ）は、拡張点の２Ｄ正規化された焦点に追加されてもよい。ｚ座標は、例えば、１であってもよい。このようにして、拡張点の３Ｄ焦点が得られ得る。拡張点の３Ｄ焦点（ＶＰ＿３Ｄ）は、次式に従って表すことができる。
【数１６】
2019169942.tif 000018
【００５７】
次いで、更なる拡張点の正規化された３Ｄ焦点は、拡張点の３Ｄ焦点に基づいて得られてもよい。拡張点の正規化された３Ｄ焦点（ＶＰ＿３Ｄ＿ｎｏｒｍ）は、以下に従って得られ得る。
【数１７】
2019169942.tif 000019
【００５８】
拡張点の正規化された３Ｄ焦点（ＶＰ＿３Ｄ＿ｎｏｒｍ）は、カメラ較正行列の第１列ｒ１に追加されてもよい。
【００５９】
ブロック２１１において、得られた平面法線ベクトルに基づいてカメラ較正行列の第３列ｒ３を決定することができる。車両の座標系から車両カメラの座標系へのｚ軸の変換は、以下に従って決定され得る。
【数１８】
2019169942.tif 000020
ここで、ｒ３は、カメラ較正行列の第３列であり、Ｒは、カメラ較正行列である。法線ベクトル、例えば、平均平面法線ベクトルは、前述のように既に得られている。したがって、法線ベクトルｒ３は、カメラ較正行列の第３列ｒ３に追加されてもよい。
【００６０】
ブロック２１２において、カメラ較正行列の第１列ｒ１と第３列ｒ３との外積に対応するカメラ較正行列の第２列ｒ２が得られてもよい。さらに、ベクトルｒ２をカメラ較正行列の第２列に加えることができる。
【００６１】
その結果、カメラ較正行列Ｒ＝（ｒ１，ｒ２，ｒ３）が形成され得る。いくつかの例では、計算は、垂直ではないベクトルｒ１およびｒ３をもたらし得る。この特定の例では、ベクトルｒ３は法線ベクトルｒ１を有する平面に投影されてもよい。これにより、カメラの較正行列の直交性が保証され得る。
【００６２】
ブロック２１３において、得られたカメラ較正行列を用いてカメラを較正することができる。一旦、較正行列が得られると、カメラの対応するピッチ、ロールおよびヨーもまた得られ得る。例えば、得られた較正行列が以下に従って決定されると、
【数１９】
2019169942.tif 000021
【００６３】
ロールは、以下の式に従って計算することができる。
【数２０】
2019169942.tif 000022
【００６４】
ピッチは以下の式に従って計算することができる。
【数２１】
2019169942.tif 000023
【００６５】
ヨーは、以下の式に従って計算することができる。
【数２２】
2019169942.tif 000024
【００６６】
図７は、カメラを較正する方法の他の例のフローチャートを示す。本発明の基本動作は以下の通りである。
【００６７】
方法はブロック８００で開始することができる。ブロック８０１で、拡張点の焦点の計算を初期化することができる。初期化は、バッファの初期化および歪み行列の計算を含み得る。次に、ブロック８０２で、フローベクトルを収集し生成することができる。フローベクトルは前述のように生成されてもよい。
【００６８】
フローベクトルは、前述のようにフィルタリングされてもよい。特に、操舵速度が所定の操舵範囲内にない場合、フローベクトルの収集は停止されてもよい。
【００６９】
ブロック８０２で、１つ以上の拡張点の焦点をフローベクトルに基づいて推定することができる。上記のように、拡張点の焦点、すなわち、消失点は、ＲＡＭＳＡＣアルゴリズムによって推定することができる。ＲＡＭＳＡＣ計算は、いくつかのフレームにわたって分散させることができる。そのため、実行時の要件を満たすことができる。さらに、拡張点の十分な焦点が収集されたかどうか、および／または所定の時間が経過したかどうかがチェックされる。チェックにおいて肯定的な結果が得られた場合、拡張点の焦点のフィルタリング８０４は、前述のように実行することができる。フィルタリングは、得られたフローベクトルの平均を実行することを含み得る。このようにして、拡張点の平均焦点が得られ得る。チェックで否定的な結果が得られた場合、ブロック８０２でより多くのフローベクトルを収集することができる。
【００７０】
ブロック８０５で、接地面計算を初期化することができる。点８０６で、接地面フローベクトルを収集することができる。接地面フローベクトルは、前述のようにフィルタリングされてもよい。特に、操舵速度が所定の操舵範囲内にない場合には、接地面フローベクトルの収集を停止することができる。点８０７において、収集された接地面フローベクトルを用いてホモグラフィが計算され得る。次いで、１つ以上の接地面法線ベクトルを得ることができる。接地面法線ベクトルは、ＲＡＭＳＡＣアルゴリズムによって推定することができる。さらに、十分な接地面法線ベクトルが収集されたかどうか、および／または所定の時間を超えたかどうかがチェックされる。チェックにおいて肯定的な結果が得られた場合、法線ベクトルのフィルタリング８０８が前述のように実行されてもよい。こうして平均法線ベクトルを得ることができる。チェックにおいて否定的な結果が得られた場合、ブロック８０６において、より多くの接地面フローベクトルを収集することができる。
【００７１】
ブロック８０９で、カメラ較正行列が前述のように計算される。その後、方法はブロック８１０で終了することができる。
【００７２】
カメラ較正行列は、カメラを較正するために使用され得る。
【００７３】
いくつかの例のみが本明細書に開示されているが、他の代替物、修正物、使用および／またはそれらの均等物が可能である。さらに、記載された例の全ての可能な組み合わせもまた包含される。したがって、本開示の範囲は特定の例によって限定されるべきではないが、以下の特許請求の範囲を公正に読むことによってのみ決定されるべきである。図面に関連する参照符号が請求項の括弧内に置かれる場合、それらは単に請求項の了解度を高めることを試みるためのものであり、請求項の範囲を限定するものとして解釈されてはならない。
【図１】
2019169942.tif 000029
【図２】
2019169942.tif 000030
【図３】
2019169942.tif 000031
【図４ａ】
2019169942.tif 000032
【図４ｂ】
2019169942.tif 000033
【図４ｃ】
2019169942.tif 000034
【図５】
2019169942.tif 000035
【図６ａ】
2019169942.tif 000036
【図６ｂ】
2019169942.tif 000037
【図７】
2019169942.tif 000038
【外国語明細書】
2019169942000001.pdf