(57)【特許請求の範囲】
【請求項１】
システムであって、
１又は複数のプロセッサと、
前記１又は複数のプロセッサに接続された、車両に搭載されたカメラと、
複数の物体の指定された寸法を示す第１の物体情報を記憶する１又は複数の非一時的コンピュータ可読媒体と、を備え、
前記１又は複数の非一時的コンピュータ可読媒体は、さらに、前記１又は複数のプロセッサによって実行されると、前記１又は複数のプロセッサを前記車両に搭載された前記カメラから少なくとも１つの第１の画像を受信し、
第１の物体を、前記受信された少なくとも１つの第１の画像内で認識し、
前記少なくとも１つの第１の画像に基づいて、第１の方向における前記カメラからの前記第１の物体の距離と、第２の方向における前記第１の物体の幅と、第３の方向における前記第１の物体の高さとを特定し、
前記記憶した第１の物体情報から、前記認識された第１の物体の指定された幅及び前記認識された第１の物体の指定された高さを含む前記認識された第１の物体の前記指定された寸法を受信し、
前記第１の物体の前記特定された幅と前記第１の物体の前記指定された幅とに基づいて前記第２の方向の測定誤差を特定し、前記第１の物体の前記特定された高さと前記第１の物体の前記指定された高さとに基づいて前記第３の方向の測定誤差を特定し、
前記第２の方向の前記特定した測定誤差と前記第３の方向の前記特定した測定誤差とに基づいて前記第１の方向の測定誤差を特定し、
前記第１と、第２と、第３の方向の前記特定した測定誤差に基づいて前記カメラの１又は複数のキャリブレーションパラメータを特定し、
前記１又は複数のキャリブレーションパラメータを使用して前記カメラから受信された少なくとも１つの第２の画像について、第２の物体の第１の方向に沿った距離、第２の方向に沿った幅、又は第３の方向に沿った高さのうち少なくとも１つを特定するように構成する実行可能命令を含むシステム。
【請求項２】
前記命令は、さらに、前記１又は複数のプロセッサが、前記少なくとも１つの第２の画像について、前記第２の物体の前記特定された距離、高さ、又は幅のうちの少なくとも１つに基づいて、１又は複数の制御信号を送信して車両駆動コンポーネントを制御するように構成する請求項１に記載のシステム。
【請求項３】
前記カメラは、ステレオカメラであり、
前記１又は複数のキャリブレーションパラメータは、前記ステレオカメラの焦点距離と、前記第２の方向の前記測定誤差に基づく前記第２の方向に対応するｕ座標キャリブレーションと、前記第３の方向の前記測定誤差に基づく前記第３の方向に対応するｖ座標キャリブレーションとを含む請求項１に記載のシステム。
【請求項４】
前記第１の物体は、交通標識であり、前記記憶された第１物体情報は、複数種類の第１物体それぞれに対する道路種別情報に関する前記複数の種類の異なる第１物体のそれぞれについて、指定された高さ及び指定された幅を含み、前記１又は複数のプロセッサは、さらに、
前記少なくとも１つの第１の画像内の前記第１の物体の標識タイプを認識し、
前記車両の地理的位置を示す地理的位置情報を受信し、
前記地理的位置情報に基づいて、前記認識された第１の物体の道路のタイプを特定し、
前記認識された第１の物体の前記標識のタイプと前記特定された道路のタイプに基づいて前記記憶した第１の物体情報から、前記第１の物体の前記指定された幅と前記認識された第１の物体の前記指定された高さとを含む前記第１の物体の前記指定された寸法を受信するように構成される請求項１に記載のシステム。
【請求項５】
前記１又は複数のプロセッサに接続された温度センサを備え、前記１又は複数の非一時的コンピュータ可読媒体は、複数の温度のそれぞれに対して、前記第２及び第３方向のそれぞれの測定誤差に関連する前記第１方向の測定誤差を記憶し、前記１又は複数のプロセッサは、さらに前記温度センサからの温度を示す情報を受信し、前記第１方向の前記測定誤差を、前記受信された温度情報のそれぞれに関する前記第１の方向の記憶した測定誤差と、前記第２及び第３の各方向それぞれの誤差に基づいて特定するように構成される請求項１に記載のシステム。
【請求項６】
前記１又は複数のプロセッサは、さらに、前記第１の方向における前記少なくとも１つのセンサから前記第１の物体の複数の距離を特定し、
前記第１の物体の特定した距離それぞれに対し、前記第１の方向の前記測定誤差、前記第２の方向の前記測定誤差、及び前記第３の方向の前記測定誤差を特定し、
前記カメラの前記１又は複数のキャリブレーションパラメータの１つである焦点距離キャリブレーションパラメータを特定して、前記第１の物体の前記測定された複数の距離のそれぞれについて前記第１の方向に沿った前記誤差を最小化するように構成される請求項１に記載のシステム。
【請求項７】
前記第１の物体は交通標識であり、前記記憶された第１の物体情報は、前記交通標識上の１又は複数の標示の指定された高さ及び指定された幅を示す情報を含み、前記１又は複数のプロセッサは、さらに、
第２の方向における前記交通標識上の１又は複数の標示の幅を特定し、前記少なくとも１つの第１の画像に基づいて第３の方向における前記交通標識上の前記１又は複数の標示の高さを測定し、
前記記憶された第１物体情報から前記交通標識上の前記１又は複数の標示の指定された幅と前記１又は複数の標示の指定された高さとを含む前記交通標識上の前記１又は複数の標示の指定された寸法を受信し、前記１又は複数の標示の前記測定された幅と、前記１又は複数の標示の指定された幅とに基づいて、前記第２方向の測定誤差を特定し、前記１又は複数の標示の前記測定された高さと、前記１又は複数の標示の前記指定された高さとに基づいて、前記第３の方向の測定誤差を特定するように構成される請求項１に記載のシステム。
【請求項８】
前記交通標識上の前記１又は複数の標示は、文字、数字、単語、記号、又は境界の少なくとも１つである請求項７に記載のシステム。
【請求項９】
前記第１の物体は道路標示であり、前記１又は複数の非一時的コンピュータ可読媒体は、さらに、前記第１の方向における前記道路標示の指定された距離を示す道路標示情報を記憶し、前記１又は複数のプロセッサは、さらに、
前記第１の方向における前記道路標示の距離を測定し、
前記第１の方向における前記道路標示の前記指定された距離を含む前記認識された道路標示の指定された寸法を受信し、
前記道路標示の前記測定された距離と前記第１の方向における前記標示の前記指定された距離との差と、前記第２の方向の前記特定された測定誤差と、前記第３の方向の前記特定された測定誤差とのいずれか１つに基づいて、前記第１の方向の測定誤差を特定するように構成される請求項１に記載のシステム。
【請求項１０】
前記第１の物体は、別の車両上に配置されたライセンスプレートである請求項１に記載のシステム。
【請求項１１】
さらに前記車両に搭載された、レーダ、レーザ、ＬＩＤＡＲ及び超音波の１つであるセンサを備え、前記カメラは単眼カメラであり、
前記第１の物体の前記距離は、前記センサによって測定される請求項１に記載のシステム。
【請求項１２】
前記１又は複数のプロセッサは、さらに、前記車両の速度、前記認識された交通標識のサイズ、及び地理的位置情報のうちの少なくとも１つに基づいて、前記車両が私道又は公共道路にあるどうかを特定し、
前記車両が私道上にあると特定されると、前記第１、第２の及び第３の方向の測定誤差を測定することなく、前記カメラから画像を連続的に受信するように構成される請求項１に記載のシステム。
【請求項１３】
車両を作動させる方法であって、
前記車両に搭載された１又は複数のプロセッサによって、複数の第１の物体の指定された高さ及び指定された幅寸法を示す第１の物体情報を記憶することと、
前記１又は複数のプロセッサによって、前記１又は複数のプロセッサに接続された、車両に搭載されたカメラからの少なくとも１つの第１の画像を受信することと、
前記１又は複数のプロセッサによって、前記受信した少なくとも１つの第１の画像内で第１の物体を認識することと、
前記１又は複数のプロセッサによって、前記少なくとも１つの第１の画像に基づいて、第１の方向における前記カメラから前記第１の物体までの距離を測定して、第２の方向における前記第１の物体の幅を測定し、第３の方向における前記第１の物体の高さを測定することと、
前記１又は複数のプロセッサによって、前記第１の物体の指定された幅及び前記認識された第１の物体の指定された高さを含む前記認識された第１の物体の指定された寸法を、記憶した第１の物体情報から特定することと、
前記１又は複数のプロセッサによって、前記第１の物体の前記測定された幅と前記第１の物体の前記指定された幅とに基づいて、前記第２の方向の測定誤差を特定することと、前記第１の物体の前記測定された高さと前記第１の物体の前記指定された高さとに基づいて前記第３の方向の測定誤差を特定することと、
前記１又は複数のプロセッサによって、前記第２の方向の前記特定された測定誤差と、前記第３方向の前記特定された測定誤差とに基づいて、前記第１方向の測定誤差を特定することと、
前記１又は複数のプロセッサによって、前記第１と、第２と、第３の方向の前記特定された測定誤差に基づいて前記カメラの１又は複数のキャリブレーションパラメータを特定することと、
前記１又は複数のプロセッサによって、前記計算した１又は複数のキャリブレーションパラメータを使用して、前記カメラから受信される少なくとも１つの第２の画像内の第２の物体の第１の方向に沿った距離、第２の方向に沿った幅、及び第３の方向に沿った高さを特定することと、
前記少なくとも１つの第２の画像に対して、前記測定した前記第２の物体の距離、高さ、及び幅の少なくとも１つに基づいて、車両駆動コンポーネントを制御するための１又は複数の制御信号を送信することと、を含む方法。
【請求項１４】
前記第１の物体は、交通標識又は道路標示のいずれかである請求項１３に記載の方法。
【請求項１５】
プロセッサ実行可能命令を記憶するコンピュータ可読媒体であって、１又は複数のプロセッサによって実行されると、前記１又は複数のプロセッサが、
車両に搭載されたカメラから少なくとも１つの第１の画像を受信し、
第１の物体を、前記受信された少なくとも１つの第１の画像内で認識し、
前記少なくとも１つの第１の画像に基づいて、第１の方向における前記カメラから前記第１の物体までの距離を測定し、第２の方向における前記第１の物体の幅を測定し、第３の方向における前記第１の物体の高さを測定し、
前記第１の物体の指定された幅及び前記認識された第１の物体の指定された高さを含む前記認識された第１の物体の指定された寸法を、前記記憶された第１の物体情報から特定し、
前記第１の物体の前記測定された幅と前記第１の物体の指定された幅とに基づいて前記第２の方向の測定誤差を特定し、前記第１の物体の前記測定された高さと前記第１の物体の前記指定された高さとに基づいて前記第３の方向の測定誤差を特定し、
前記第２の方向の前記特定した測定誤差と前記第３の方向の前記特定した測定誤差とに基づいて前記第１の方向の測定誤差を特定し、
前記第１、第２、及び第３の方向の前記特定された測定誤差に基づいて前記カメラの１又は複数のキャリブレーションパラメータを計算し、
前記計算した１又は複数のキャリブレーションパラメータを使用して前記カメラから受信される少なくとも１つの第２の画像内の第２の物体の、第１の方向に沿った距離と、第２の方向に沿った幅と、及び第３の方向に沿った高さを特定するように構成されるコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、車両に搭載された１又は複数のカメラの自動キャリブレーションの技術分野に関する。
【背景技術】
【０００２】
高度ドライバ支援システム（ＡＤＡＳ）及び自動運転、或いは自律及び半自律車両システムは、車両システムの自動化もしくは他の方法で安全性の強化、自動化された運転などを行う。これらのシステムは、改善された安全性、快適性、燃料経済性などを実現する。カメラ、レーダ、ＬＩＤＡＲ、全地球測位システム（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ：ＧＰＳ）、超音波センサなどのような多数の異なるセンサが、ＡＤＡＳ及び自律システムにおいて広く使用され、様々な情報源を取り込んで統合している。これらのセンサにより取り込んだ車両周囲の環境情報をコントローラへの入力情報として使用して、例えば衝突の機会を排除すること、燃料消費量を減少させること、及び乗客に対する利便性及び安全性を高めることによって、車両をインテリジェントに制御してもよい。
【０００３】
ＡＤＡＳシステムの各種センサの中で、視覚センサ、すなわち視覚センサシステムの１又は複数のカメラは、一般に、単眼及びステレオビジョンの２つのカテゴリに分類してもよい。ステレオビジョンシステムは、左画像と右画像との間の変位を使用して、ある直線上の異なる点を区別することを可能にする。一方、単眼視システムでは、単眼カメラを使用する場合、対応する点は１つの点にマッピングされる。したがって、ステレオカメラは、単眼視システム及び他のセンサと比較して、物体の３Ｄ（三次元）測定精度を向上させるＡＤＡＳ用途で広く使用されている。
【発明の概要】
【課題を解決するための手段】
【０００４】
いくつかの実施形態は、車両に搭載された視覚センサシステムのカメラのパラメータを自動的にキャリブレーションするための配置及び技法を含む。例えば、１又は複数のプロセッサは、車両に搭載されたカメラから少なくとも１つの第１の画像を受信し、受信された少なくとも１つの第１の画像内の第１の物体を認識してもよい。１又は複数のプロセッサは、少なくとも１つの第１の画像に基づいて、第１の方向におけるカメラから第１の物体までの距離、第２の方向における第１の物体の幅、及び第３の方向における第１の物体の高さを特定してもよい。また、１又は複数のプロセッサは、記憶した第１の物体情報から、認識された第１の物体の指定された幅及び認識された第１の物体の指定された高さを含む認識された第１の物体の特定された寸法を受信し、さらに、第１の物体の特定された幅及び第１の物体の指定された幅に基づいて第２の方向の測定誤差を特定し、第１の物体の特定された高さ及び第１の物体の指定された高さに基づいて第３の方向の測定誤差を特定してもよい。１又は複数のプロセッサは、第２の方向の特定した測定誤差及び第３の方向の特定した測定誤差に基づいて第１の方向の測定誤差を特定し、第１の、第２の及び第３の方向の特定した測定誤差に基づいてカメラの１又は複数のキャリブレーションパラメータを特定してもよい。その後、１又は複数のプロセッサは、１又は複数のキャリブレーションパラメータを使用してカメラから受信される少なくとも１つの第２の画像について、第２の物体の第１の方向に沿った距離、第２の方向に沿った幅、又は第３の方向に沿った高さの少なくとも１つを特定してもよい。
【図面の簡単な説明】
【０００５】
【図１】図１は、いくつかの実施形態による交通標識を検出する一例を示す。
【図２】図２は、いくつかの実施形態による車両に使用できる視覚センサシステム及び車両制御システムの例を示す。
【図３】図３は、いくつかの実施形態による速度制限標識についての管轄組織から得た仕様の例を示す。
【図４】図４は、いくつかの実施形態による道路標示用の管轄組織から得た仕様の例を示す。
【図５】図５は、いくつかの実施形態による標識情報を記憶するための例示的な標識情報データ構造を示す図である。
【図６】図６は、いくつかの実施形態による道路標示情報を記憶するための道路標示情報データ構造の例を示す。
【図７】図７は、いくつかの実施形態による、認識された交通標識の測定された距離ごとに、計算されたＸ方向及びＹ方向の誤差を記憶するためのデータ構造の例を示す。
【図８】図８は、いくつかの実施形態によるＸ方向の誤差、Ｙ方向の誤差、及びＺ方向の誤差の間の関係に関する情報を記憶するためのデータ構造の例を示す。
【図９】図９は、いくつかの実施形態による、カメラから交通標識までの測定された距離ごとに、Ｘ、Ｙ及びＺ方向のそれぞれについて計算された誤差についての情報を記憶するデータ構造の例を示す。
【図１０】図１０は、いくつかの実施形態によるカメラのパラメータをキャリブレーションするための例示的なプロセスを示すフロー図である。
【図１１】図１１は、いくつかの実施形態による交通標識を認識するための例示的なプロセスを示すフロー図である。
【図１２】図１２は、いくつかの実施形態による特定された画像座標の例を示す。
【図１３】図１３は、いくつかの実施形態による交通標識を認識する例を示す。
【発明を実施するための形態】
【０００６】
添付の図面を参照して詳細に説明する。図において、参照番号の最も左側の桁（複数可）が、参照番号が最初に出現する図を表す。異なる図において同一の参照番号を使用する場合は、類似又は同一の項目又は特徴を示す。
【０００７】
本明細書におけるいくつかの例は、物体サイズ（例えば、高さ及び幅）及びカメラから物体までの距離を正確に３Ｄ測定するために、車両に搭載された視覚センサシステムのカメラのパラメータを連続的かつ自動的にキャリブレーションするものである。本明細書における自動キャリブレーションは、車両から交通標識までの距離、交通標識の高さ、及び交通標識の幅を含み得る検出され認識された交通標識に対する測定値を特定することを含んでいてもよい。キャリブレーションプロセスは、特定された測定値を交通標識の１又は複数の実際の測定値と比較し、次いで、カメラをキャリブレーションするために使用されるキャリブレーションパラメータを計算してもよい。
【０００８】
ＡＤＡＳは、センサシステムを使用して、カメラ、レーダ、ＬＩＤＡＲ、ＧＰＳ、超音波などのセンサを使用して物体を検出し、ＡＤＡＳ情報は車両を制御するための車両コントローラへの入力として使用してもよい。本明細書におけるＡＤＡＳの１つの用途は、交通標識認識（ＴＳＲ）機能を含む。交通標識認識（ＴＳＲ）機能は、認識ロジックを使用して車両に搭載された視覚センサシステムの１又は複数のカメラによって取得された１又は複数の画像から１又は複数の交通標識を検出し認識することができる。１又は複数のカメラのキャリブレーションパラメータは、部分的には、認識ロジック、交通標識の実際の寸法、及び温度に基づいて、それぞれのＸ、Ｙ及びＺ方向における誤差の間の関係を示す情報を使用して、自動的にキャリブレーションされてもよい。例えば、認識された交通標識情報を使用して、車速、車両を停止させること、適応クルーズ制御システムの速度制限を設定することなどをインテリジェントに制御してもよい。
【０００９】
任意のＡＤＡＳアプリケーションの有効性は、視覚センサシステム内の１又は複数のステレオカメラの３Ｄ測定精度に大きく依存することがある。例えば、物体サイズ及び距離の精密な３Ｄ測定は、ステレオカメラの重要な関数である。さらに、視覚センサシステムの１又は複数のカメラのキャリブレーションパラメータを自動的かつ正確にキャリブレーションすることにより、例えば、物体のサイズ及び衝突回避のための距離の正確な３Ｄ測定に依存する可能性がある車両の正確かつ精密な制御ができるようになる。カメラキャリブレーションにより、２Ｄ画像から３Ｄ測定を実現できるようになる。本明細書における例では、カメラキャリブレーションは、幾何学的カメラキャリブレーションを示すことができ、これは、カメラリセクショニングとして知られていることもある。
【００１０】
カメラのキャリブレーションパラメータは、内因性パラメータ、外因性パラメータ、及び歪曲パラメータを含んでいてもよい。歪曲パラメータを使用して、歪みのない画像を実現してもよい。回転行列及び平行移動ベクトルを含み得る外部パラメータを使用して、ワールド座標をカメラ座標に変換してもよい。例えば、焦点距離、光学中心、及びスキュー係数を含み得る固有パラメータを使用して、カメラ座標を画像平面に変換してもよい。
【００１１】
本明細書におけるいくつかの例では、カメラは、車両内で実際に使用する前にキャリブレーションされてもよい。キャリブレーションパラメータは、工場でのキャリブレーション中にカメラ内に設定し、システム（例えば、カメラの処理ユニット）が規定されたキャリブレーションパラメータを使用して３Ｄ測定を行うことができるようにしてもよい。しかしながら、１又は複数の固有パラメータ、例えばカメラの焦点距離は温度に応じて変化することがある。したがって、工場でキャリブレーションされたカメラであっても、焦点距離は温度によって変化するので、３Ｄ測定における誤差が発生することがある。不正確な又はキャリブレーションされていない焦点距離は、物体の３Ｄ測定が不正確になる可能性がある。したがって、正確な３Ｄ測定のためにカメラの焦点距離を自動的にかつ連続的にキャリブレーションすることが望ましい。
【００１２】
一例として、車両が道路上を走行するとき、視覚センサシステムは、認識プログラムなどの認識ロジックを実行することができ、認識プログラムは、車両に搭載されたカメラ又は他のセンサの視野内の交通標識のタイプを認識する。視覚センサシステムは、データベース又は他のデータ構造内に交通標識情報を記憶する記憶装置にアクセスしてもよい。認識されると、視覚センサシステムの１又は複数のプロセッサは、認識された交通標識の実際の交通標識寸法の１又は複数を、認識された交通標識の１又は複数の測定された標識寸法と比較して、Ｘ方向、Ｙ方向及びＺ方向の誤差を計算してもよい。例えば、Ｚ方向の誤差は、温度に基づいて、Ｚ方向の誤差と計算されたＸ方向の誤差と計算されたＹ方向の誤差との関係を用いて計算してもよい。例えば、この関係に基づいて、Ｘ方向の誤差、Ｙ方向の誤差及び温度が既知であれば、Ｚ方向の誤差を特定してもよい。特定されたＺ方向の誤差から、焦点距離キャリブレーションパラメータを計算してもよい。したがって、計算されたＸ方向、Ｙ方向及びＺ方向の誤差に基づいたキャリブレーションパラメータは、物体のその後の３Ｄ測定において計算され、使用できる。
【００１３】
いくつかの例では、車両に搭載された１又は複数のカメラは、車両が道路を走行するときに、それぞれの視野内の交通標識の画像を受信してもよい。認識ロジックは、検出段階の間に受信された画像内の１又は複数の標識を最初に検出してもよい。その後、認識段階中に、検出された交通標識は、特定のタイプの交通標識として識別されてもよい。一例として、認識ステージは、標識の一連のその後のイメージを通して検出された標識を追跡することを含むことにより、標識の標識タイプの認識を行うための標識についての十分な視覚情報を得ることができる。例えば、検出された標識を、その後に取り込んだ複数のイメージを通じて追跡することは、認識のために同じ標識の複数の異なるイメージを提供することによって認識の精度を向上させることができる。さらに、一連の複数の画像を通る標識の追跡は、車両に対する標識の位置をより正確に特定することを可能とし、カメラシステムのキャリブレーションをより正確にし、カメラシステムによって検出された物体の測定及び検出をより正確にしてもよい。
【００１４】
様々な目的のために様々な異なる道路沿いで使用可能な多くの異なるタイプの交通標識が存在する。交通標識は、規制標識、警告標識、案内標識、サービス標識、建設標識、リクリエーション標識、歩行者／自転車標識、及びインシデント管理標識など、複数のグループに広く分類されてもよい。本明細書における認識ロジックは、標識タイプに従って１又は複数の取り込んだ画像内の標識を認識してもよい。さらに、特定の種類の道路に対する各タイプの交通標識のサイズ寸法（例えば、幅及び高さ）は、一般的に、車両が走行する地理的な管轄区域ごとに特定されてもよい。また、文字、数字、単語、記号などのレイアウト仕様や、その大きさ、位置などを指定することも可能である。さらに、管轄区域の仕様は、高さ及び幅寸法を有してもよい標識上に、境界標示のための寸法を含んでいてもよい。管轄区域は、例えば道路の舗道上の道路標示の寸法を指定してもよい。道路標示の一例は、自転車のレーン標示である。管轄区域は、車両上に配置されるナンバープレート又は他の識別要素の寸法（例えば、高さ及び幅）を指定してもよい。例えば、同一種類の交通標識の幅は、高速道路、幹線道路、又は従来の道路（居住道路、地方道路などを含むことができる）など交通標識が配置されている道路の種類によって変化してもよい。
【００１５】
一例として、米国において、アメリカ連邦高速道路局（ＦＨＷＡ）は、地方の道路、高速道路、又はビジネス、商業若しくは居住的な地域の道路など、特定のタイプの道路に関する様々な異なるタイプの交通標識の幅及び高さ寸法を一般的に指定してもよい管轄組織である。したがって、本明細書における実施形態は、米国内の様々な州、及び／又は、車両が配置され得る、欧州、アジア又は他の世界における様々な異なる国など、様々な異なる地理的管轄区域に対する様々な異なるタイプの交通標識について指定された高さ及び幅の寸法を記憶する１又は複数の標識情報データ構造を含んでいてもよい。いくつかの例では、データ構造は、文字、単語、数字、記号及び境界のサイズ及び位置を示す情報を含んでいてもよい。或いは、この情報は、標識のサイズに関する情報を記憶する別個のデータ構造に記憶されてもよい。本明細書における実施形態はまた、様々な異なる地理的管轄区域の様々な異なるタイプの道路標示について指定されたサイズ寸法を記憶する１又は複数の道路標示情報データ構造を含んでいてもよい。本明細書における実施形態は、例えば、様々な異なる管轄区域から、様々な異なるタイプのライセンスプレートに対して指定された１又は複数のライセンスプレート情報データ構造をさらに含んでいてもよい。このデータベースは、ＦＨＷＡ、州の自動車両管理局、他の国の交通機関など、様々な管轄区域から得られた情報を含んでもよい。一例として、米国の内部では、統一交通管制装置便覧  （ＭＵＴＣＤ）を使用して、標識配置、サイズ設定、レタリングなどのために、具体的な情報を特定してもよい。２０１７年１月１２日に更新された、改訂１及び２を有するＭＵＴＣＤ２００９版、現在のＭＵＴＣＤ版は、米国ＦＨＷＡから入手可能であり、参照により本明細書に援用される。さらに、場合によっては、データベースは、特定の地理的管轄のために得られる経験的情報などを含んでいてもよい。
【００１６】
本明細書におけるいくつかの例によれば、車両に搭載された視覚センサシステムにおける１又は複数のカメラのキャリブレーションパラメータを自動キャリブレーションするための技法は、カメラからの物体のサイズ及び距離の精密な寸法測定を可能とする。本発明は、交通標識認識システムを用いて、三次元測定精度を向上させることを目的とする。
【００１７】
図１は、いくつかの実施形態による、交通標識を検出する例を示す。図１に示すように、車両１０６に搭載されたカメラなどの１又は複数のセンサの視野１０２は、車両１０６の前方で道路１０４や、交通標識１０８などの物体を取り込むのに十分な幅を有する。図１において、Ｘ、Ｙ及びＺはカメラ座標に対応してもよい。また、距離Ｚ１  １１０は、交通標識１０８と、車両１０６に搭載された１又は複数のカメラ１１２との距離を示している。１又は複数のカメラ１１２は、画像を連続的に取り込み、画像が取り込まれた後、画像は、交通標識認識ロジックによって処理されてもよい。
【００１８】
一例として、キャリブレーションシステムが交通標識１０８を認識すると、交通標識１０８のタイプを認識した後にキャリブレーションシステムは、標識情報データ構造を参照して交通標識のタイプの実際の高さ及び実際の幅の少なくとも１つを特定してもよい。キャリブレーションシステムは、ＧＰＳ情報及び地図情報のような他の情報を使用して、標識タイプの実際の寸法を特定するために、車両の位置を特定してもよい。例えば、交通標識１０８の標識タイプがストップ標識である場合、ストップ標識の実際の寸法は、ストップ標識が従来の道路にあるか高速道路にあるかに依存する場合もある。ＧＰＳ情報及び地図情報を使用して、識別された標識が、例えば、従来の道路、幹線道路、又は高速道路上にあるかどうかを特定してもよい。交通標識１０８の実際の寸法の１又は複数が得られた後、１又は複数のＸ方向、Ｙ方向及びＺ方向の誤差を計算し、１又は複数のカメラのキャリブレーションパラメータを計算し、システムは、１又は複数のカメラ１１２の視野内で検出された３Ｄ物体をその後正確に測定するために計算されたパラメータを用いて１又は複数のカメラをキャリブレーションしてもよい。加えて、上述の例では、カメラによって取り込まれた画像に関連して説明しているが、他のタイプのセンサが、ＬＩＤＡＲ、レーダ、及び超音波センサのようなカメラに加えて、又はカメラに代えて使用されてもよい。
【００１９】
図２は、いくつかの実施形態による車両２０２に含まれ得る視覚センサシステム及び車両制御システム２００の一例を示す。システム２００は、複数の認識コンポーネント２０４と、複数の制御コンポーネント２０６とを含む。認識コンポーネント２０４を使用して、交通標識を検出及び認識し、車両カメラ２０８（１）〜２０８（Ｎ）のような１又は複数の車載センサのパラメータを自動的にキャリブレーションしてもよい。同時に、認識コンポーネント２０４及び制御コンポーネント２０６を車両２０２に使用して、物体の三次元サイズを精密に測定し、道路に沿って自律及び／又は半自律ナビゲーションを行って（例えば、衝突回避）、ＡＤＡＳ機能などを行ってもよい。さらに、認識コンポーネント２０４及び制御コンポーネント２０６は、この例では互いに別個に示されているが、他の例では、これらのコンポーネントのいくつかを組み合わせてもよく、異なる構成で提供してもよく、及び／又は機能のいくつかを異なるコンポーネントによって提供してもよい。したがって、本明細書における実施形態は、図示される特定のシステム及びハードウェア構成に限定されず、本明細書における開示の利益を享受する当業者には明らかなように、様々な他の構成へと拡張してもよい。
【００２０】
上述したように、認識コンポーネント２０４は、この例では、１又は複数の車両カメラ２０８（１）〜２０８（Ｎ）のような１又は複数のセンサを含んでいてもよい。例えば、車両カメラ（複数可）２０８は、単一カメラ、ステレオカメラ、及び／又は複数のカメラを含むことができ、これらは、１又は複数の位置で車両２０２上に搭載してもよい。車両カメラ２０８は、前方に面する方向、後方に面する方向、及び側方に面する方向など、車両の周囲の複数の画像２１０を連続的に取り込むことができる。例えば、各カメラ２０８は、毎秒指定された数の画像２１０を取り込むことができる。いくつかの例では、画像取り込みの速度は、車両又は他の変数の速度に関連することができ、一方、他の例では、画像取り込みの速度は一定でよい。
【００２１】
いくつかの実施形態では、カメラは、３Ｄ物体の測定を実行する１又は複数のプロセッサ２０７を含んでいてもよい。さらに、カメラ２０８のパラメータは、１又は複数のシステムプロセッサ２１８と伝達し、受信してキャリブレーションパラメータを更新してもよい。いくつかの例では、１又は複数のプロセッサ２１８は、検出された物体の３Ｄ測定のための計算を行う。キャリブレーションパラメータを計算し、物体のサイズを測定するために使用されるパラメータを更新した後、キャリブレーションされたパラメータは、その後の物体の精密な３Ｄ測定のために、１又は複数のプロセッサ２１８から、１又は複数のカメラ２０８内の１又は複数のプロセッサ２０７に伝達される。さらに、カメラパラメータ（複数可）は、記憶装置２２４に記憶される１又は複数のプロセッサ２１８に伝達されてもよく、記憶装置２２４に予め記憶されてもよい。いくつかの実施形態では、初期キャリブレーションパラメータ又は工場キャリブレーションパラメータは、ネットワーク２７８を介して情報サーバ２８０から取得してもよい。
【００２２】
さらに、認識コンポーネント２０４は、車両２０２の地理的位置に関するロケーション情報２１４を継続的に受信可能なＧＰＳ受信機２１２を含む。ＬＩＤＡＲ、レーダ、超音波などのような１又は複数のセンサ２０９が含まれていてもよい。さらに、認識コンポーネント２０４は、温度計のような温度センサ２１１を含んでいてもよい。カメラ２０８によって取り込まれた画像２１０、ＧＰＳ受信機２１２からの位置情報２１４、１又は複数のセンサ２０９からの情報、及び温度計センサ２１１からの情報は、ＲＡＭ（ランダムアクセスメモリ）２１２又は他のコンピュータ読み取り可能媒体（ＣＲＭ）に最初に記憶させてもよい。画像２１０及び位置情報２１４には、ここで認識機能を行うために、１又は複数のプロセッサ２１８がアクセスしてもよい。例えば、プログラムＲＯＭ（読み出し専用メモリ）２２２又は他のＣＲＭに記憶された、又はそうでなければ維持された認識プログラム２２０は、物体を検出し認識するために１又は複数のプロセッサ２１８によって実行され、カメラパラメータを自動的にキャリブレーションしてもよい。
【００２３】
認識プログラム２２０は、１又は複数のプロセッサ２１８によって実行される、本明細書に記載のような１又は複数のアルゴリズムを含んでいてもよい。さらに、認識プログラム２２０の実行中に、認識プログラム２２０は、認識プログラム２１２によって使用されるデータ及び／又はデータ構造を含むメモリ又は他のＣＲＭなどの記憶装置２２４にアクセスしてもよい。認識プログラム２２０によって使用されるデータ及びデータ構造の例は、マップ情報２２６、１又は複数の標識情報データ構造２２８、１又は複数の誤差関係情報データ構造２３０、ビジョンセンサシステムによって検出された１又は複数の物体の１又は複数の物体サイズ情報データ構造２３２、１又は複数の道路標示情報データ構造２３４、１又は複数のＸ方向及びＹ方向の誤差情報データ構造２３６、並びに１又は複数のＺ方向情報データ構造２３７を含む。
【００２４】
上述したように、認識プログラム２２０を、１又は複数のプロセッサ２１８によって実行して、例えば、交通標識の標識タイプを特定するなどして、道路交通標識を認識するようにしてもよい。その後、交通標識が認識され、場合によっては、カメラパラメータは、認識プログラム２２０によって特定された交通標識（例えば、幅及び／又は高さ）の測定された寸法、１又は複数の標識情報データ構造２２８に含まれる識別された交通標識に関する情報、１又は複数の誤差関係情報データ構造２３０内に含まれる情報、１又は複数の物体サイズ情報データ構造２３２に含まれる情報、１又は複数の道路標示情報データ構造２３４に含まれる情報、１又は複数のＸ方向及びＹ方向の誤差情報データ構造２３６に含まれる情報、及び１又は複数のＺ方向情報データ構造２３７に含まれる情報に基づいてキャリブレーションされる。いくつかの例では、地図情報２２６及び地理的位置情報２１４を使用して、車両２０２が走行中の道路のタイプを特定してもよく、これを使って、車両がどのタイプの道路を走行中であるかを特定してもよい。
【００２５】
物体の三次元サイズ情報が特定された後、この情報は、１又は複数の物体サイズ情報データ構造２３２に記憶され、制御コンポーネント２０６に利用可能とされてもよい。制御コンポーネント２０６は、１又は複数のプロセッサ２４０及びＲＡＭ２４２を含んでいてもよい。プログラムＲＯＭ２４６又は他のＣＲＭに記憶された、又は他の方法で維持された制御プログラム２４４を１又は複数のプロセッサ２４０によって実行して、制御機能を行ってもよい。例えば、制御プログラム２４４は、制御プログラム２４４が使用してもよい物体サイズ情報２３２を含む記憶装置２４８にアクセスして、１又は複数の制御機能を行うことができる。いくつかの例では、記憶装置２４８は、共有記憶装置、例えば共有メモリ又は他の共有ＣＲＭなど、記憶装置２２４と同じであってもよい。他の例では、記憶装置２４８は、記憶装置２２４とは別個のものであってもよい。
【００２６】
さらに、場合によっては、物体サイズ情報２３２は、プロセッサ（複数可）２１８からプロセッサ（複数可）２４０へ直接送信され、制御プログラム２４４による使用のためにＲＡＭ２４２に記憶されてもよい。また、記憶装置２４８は、制御プログラム２４４が使用する位置情報２１４及び他の各種データを記憶してもよい。物体の三次元サイズ情報２３２は、Ｘ方向、Ｙ方向及びＺ方向値を示してもよい。少なくとも物体サイズ情報２３２に基づいて、制御プログラム２４４は、制動、操舵、スロットルなどの１又は複数の車両駆動コンポーネント２５６へ送られる１又は複数の制御信号を含むことができる制御情報２５４を生成してもよい。さらに、制御情報２５４は、１又は複数の警告装置２６４に送られる警告信号、画像２１０とともにディスプレイ２６６上に提示される情報、又は他の情報を含んでいてもよい。
【００２７】
さらに、イグニッションスイッチ２７０の状態は、自動カメラキャリブレーションを行うかどうかの認識プログラム２２０及び／又は制御プログラム２４４へのインジケータであってもよい。例えば、イグニッションスイッチ２７０がオンされると一連の処理動作が開始され、イグニッションスイッチ２７０がオフされるまで繰り返し行われてもよい。場合によっては、一連の処理動作は、車両２０２が走行中であるか停止中であるかにかかわらず、行われてもよい。例えば、イグニッションスイッチ２７０がオンされると、認識プログラム２２０は、カメラ２０８を使用して画像２１０を取り込み、取り込んだ画像２１０を解析して交通標識又は他の物体を検出し、認識することなどによって、１又は複数の処理を実行することを開始できる。場合によっては、カメラ２０８を使用して、イグニッションスイッチがオン位置にある間に画像２１０を連続的に取り込んでもよい。
【００２８】
いくつかの例では、プロセッサ（複数可）２１８及び／又は２４０は、車両２０２内の電子制御ユニット（ＥＣＵ）の一つに含まれるプロセッサであってもよい。例えば、ＥＣＵは、車両内のシステム、サブシステム、又はコンポーネントの１又は複数を制御する任意の埋め込みシステムの一般的な用語である。各ＥＣＵは、１又は複数のプロセッサ、メモリ並びにデジタル及び／又はアナログ通信インタフェース（図２には示されていない）を含んでいてもよい。特定のＥＣＵで実行するための認識プログラム２２０及び制御プログラム２４４のようなソフトウェアは、それぞれのＥＣＵに関連するメモリ（例えば、プログラムＲＯＭ）の一部に記憶して、ＥＣＵが組み込まれたシステムとして動作可能としてもよい。ＥＣＵは、一般的には、車両バスプロトコルに従って、車両バス２７２を介して互いに通信してもよい。一例として、コントローラエリアネットワークバス（ＣＡＮバス）プロトコルは、ＥＣＵ及び他の装置がホストコンピュータなしで互いに通信できるようにする車両バスプロトコルである。ＣＡＮバスは、少なくとも２つの異なるタイプを含んでいてもよい。例えば、高速ＣＡＮは、バスが環境の一方の端から他方の端まで敷設されるアプリケーションで使用してもよく、一方、フォールトトレラントＣＡＮは、ノードのグループがまとめて接続される場合にしばしば使用される。或いは、いくつかの例では、プロセッサ２１８及び／又は２４０は、中央処理ユニット（ＣＰＵ）、グラフィックス処理ユニット（ＧＰＵ）、マイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、ステートマシン、ロジック回路などのような他のタイプのコンピューティングデバイスを含んでいてもよい。
【００２９】
さらに、記憶装置２２４及び２４８は、これらに限定されるものではないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、又は他のメモリ技術、光記憶装置、ソリッドステート記憶装置、磁気デバイス記憶装置、又は所望の情報を記憶するために使用することができ、コンピューティングデバイスによってアクセス可能な他の任意のメディアを含んでいてもよい。認識コンポーネント及び制御コンポーネントの構成によって、記憶装置２２４及び２４８は、コンピュータ可読記憶媒体のタイプであってもよく、及び／又は、言及された場合に、非一時的コンピュータ可読媒体が、エネルギー、キャリア信号、電磁波、及び／又は信号自体のような媒体を排除する程度まで、有形の非一時的媒体であってもよい。
【００３０】
さらに、いくつかの実施形態では、車両２０２で実行される認識プログラム２２０又は他のプログラムは、１又は複数のネットワーク２７８を介して１又は複数の情報サーバ２８０と通信するように構成されてもよい。情報サーバ（複数可）２８０は、１又は複数のプロセッサ２８２及び１又は複数のＣＲＭ２８４を含んでいてもよい。例えば、標識情報データ構造２２８、誤差関係情報データ構造２３０、及び道路標示情報データ構造２３４は、ＣＲＭ２８４内に記憶され、認識プログラム２２０によってネットワーク２７８を介してアクセス可能である。さらに、情報サーバ（複数可）２８０は、標識データベース２８６を維持することができ、標識情報データ２２８を認識コンポーネント２０４のプロセッサ２１８に送信してもよい。
【００３１】
車両２０２は、１又は複数のネットワーク２７８と無線で通信することができ、又は場合によっては有線接続を介して通信してもよい。１又は複数のネットワーク２７８は、インターネットなどのワイドエリアネットワーク（ＷＡＮ）、セルラネットワークなどの無線ネットワーク、Ｗｉ−Ｆｉなどのローカル無線ネットワーク、及び／又は短距離無線通信などを含む任意のタイプのネットワーク、光ファイバ、イーサネット（登録商標）、又は任意の他のそのようなネットワークを含む有線ネットワーク、直接有線接続、又はそれらの任意の組合せを含んでいてもよい。したがって、１又は複数のネットワーク２７８は、有線及び／又は無線通信技術の両方を含んでいてもよい。このような通信に使用するコンポーネントは、少なくとも部分的にはネットワークのタイプに依存し得る。このようなネットワークを介して通信するためのプロトコルは、周知であり、本明細書では詳細には説明しない。したがって、車両２０２及び情報サーバ（複数可）２８０は、無線接続と無線及び有線接続の組合せを介して、１又は複数のネットワーク２７８を介して通信してもよい。
【００３２】
いくつかの例では、１又は複数の情報サーバ２８０は、任意の数の方法で実施してもよい１又は複数のサーバ又は他のタイプのコンピューティングデバイスを含んでいてもよい。例えば、サーバの場合、機能コンポーネント及びデータ記憶装置は、単一のサーバ、サーバのクラスタ、サーバファーム又はデータセンタなどに実施されてもよいが、他のコンピュータアーキテクチャが、追加的に、又は代替的に、使用されてもよい。
【００３３】
各プロセッサ２８２は、単一の処理ユニット又は多数の処理ユニットであってもよく、単一又は複数の演算ユニット、或いは複数の処理コアを含んでもよい。プロセッサ（複数可）２８２は、１又は複数の中央処理ユニット、マイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、ステートマシン、論理回路、グラフィックス処理ユニット、及び／又は動作命令に基づいて信号を操作する任意のデバイスとして実施してもよい。例えば、プロセッサ（複数可）２８２は、本明細書において説明するアルゴリズム及びプロセスを実行するように特にプログラムされた、又は構成された任意の適切なタイプの１又は複数のハードウェアプロセッサ及び／又は論理回路としてもよい。プロセッサ（複数可）２８２は、ＣＲＭ２８４に記憶されたコンピュータ可読命令をフェッチし行うように構成することができ、この命令は、本明細書において説明する機能を行うようにプロセッサ（複数可）２８２をプログラムしてもよい。
【００３４】
ＣＲＭ２８４は、コンピュータ可読命令、データ構造、プログラム、又は他のデータなどの情報を記憶するための任意のタイプの技術で実施される揮発性及び不揮発性メモリ及び／又は取外し可能及び取外し不能媒体を含んでいてもよい。例えば、ＣＲＭ２８４は、限定されるものではないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ又は他のメモリ技術、光記憶装置、ソリッドステート記憶装置、磁気テープ記憶装置、磁気ディスク記憶装置、ＲＡＩＤ記憶装置システム、記憶装置アレイ、ネットワーク接続記憶装置、記憶装置エリアネットワーク、又は所望の情報を記憶するために使用し、コンピューティングデバイスによってアクセス可能な他の任意の媒体を含んでもよい。情報サーバ２８０の構成によって、ＣＲＭ２８４は、コンピュータ可読記憶媒体のタイプであってよく、及び／又は、言及された場合に、一時的でないコンピュータ可読媒体が、エネルギー、キャリア信号、電磁波及び／又は信号それ自体などの媒体を排除する程度まで、有形の非一時的媒体であってもよい。さらに、コンピューティングデバイス２８０は、多くの他の論理的、プログラム的、及び物理的構成要素を含んでもよく、これらの構成要素のうち、上述したものは、本明細書における議論に関連する一例にすぎない。
【００３５】
さらに、図２は、情報サーバ（複数可）２８０のコンポーネント及びデータを単一の場所に存在するものとして示しているが、これらのコンポーネント及びデータは、代替的に、異なるコンピューティングデバイス及び任意の方法での異なるロケーションに分散されてもよい。その結果、これらの機能は、１又は複数のコンピューティングデバイスによって実施されてもよく、上述の様々な機能性は、様々な方法で、様々なコンピューティングデバイスにわたって分散される。
【００３６】
図３及び図４は、いくつかの実施形態による管轄組織から利用可能な交通標識情報の例を示す。例えば、図２に関して上述したように、情報サーバ２８０は、様々な異なる管轄区域から情報を取得して、標識の幅及び高さに関する位置及び距離の仕様、標識における文字、数字、単語、記号又は境界の間隔、位置及び寸法などの標識寸法及び標識レイアウト仕様情報の標識データベース２８６をコンパイルしてもよい。そのような情報の１つの情報源は、ＦＨＷＡによって発行された「統一交通管制装置便覧」（ＭＵＴＣＤ）である。ＭＵＴＣＤは、米国におけるトラフィック制御装置のための推奨される構成を含む。
【００３７】
図３は、いくつかの実施形態による速度制限標識３０２についての管轄組織から得られた仕様の例３００を示している。この例では、数値はインチ単位である。例えば、速度制限標識の幅寸法３０４は、２４インチでよく、高さ寸法３０６は、３０インチでよい。幅寸法３０２は、Ｘ方向に対応し、高さ寸法３０６が、Ｙ方向に対応していてもよい。数字（例えば、「５」及び「０」）の高さを示す寸法３０８は、１０インチであってもよい。図示するように、中心線３１０は、標識の中心を示し、「ＳＰＥＥＤ」及び「ＬＩＭＩＴ」などの単語は、Ｘ方向の標識を中心とする。したがって、単語の総幅は、中心線３１０から単語の文字の外縁の測定を示す寸法３１８に基づいて特定してもよい。例えば、「ＳＰＥＥＤ」という語は、中心線３１０を中心とすることができ、文字「Ｓ」の左側端縁は、参照符号３１８で示すように、中心線３１０から９．５６３インチとしてもよい。したがって、単語「ＳＰＥＥＤ」の幅寸法は、１９．１２６インチとしてもよい。また、「ＳＰＥＥＤ」の高さ寸法３１４は、４インチであってもよい。「ＬＩＭＩＴ」の寸法は、寸法３１２及び３１６に基づいて同様に特定してもよい。また、交通標識の仕様は、高さ寸法又は幅寸法などの境界の寸法３２２や、高さ又はＹ方向の境界の外縁から交通標識の実際の縁までの寸法３２０を示す仕様などを含んでいてもよい。
【００３８】
図４は、いくつかの実施形態による道路標示４０４の管轄組織から得られた仕様４００の例を示す。この例では、道路標示４０４は、自転車の車線を示す。車両が道路４０２を走行すると、車両は道路標示４０４に接近し、最終的に道路標示４０４上を通過する。例えば、寸法４０８は７２インチであってもよく、Ｚ方向と対応していてもよい。さらに、幅寸法４０６は、４０インチであってもよく、Ｘ方向と対応していてもよい。したがって、認識プログラムによって認識されると、道路マーク４０４を使って、交通標識の幅及び高さの寸法を使用するのと同様の方法でカメラパラメータをキャリブレーションすることもできる。さらに、車両が車線標識４０４に接近すると、寸法４０８を測定してもよく、Ｚ方向の誤差をキャリブレーションするのに有用であり、以下により詳細に説明するように、これを使って、車両に搭載された１又は複数のカメラのキャリブレーションパラメータを計算してもよい。
【００３９】
図５は、いくつかの実施形態による標識情報を記憶するための例示的な標識情報データ構造２２８を示す図である。この例では、標識情報データ構造は、第１の管轄区域５０２及び第２の管轄区域５０４を含む、複数の地理的管轄区域に関する標識情報を含む。上述したように、標識サイズ（幅及び高さ寸法）、文字、単語、数字、記号及び境界レイアウト寸法及び間隔は、標識が配置される道路の種類によって、同じ標識タイプに対して異なっていてもよい。例えば、道路の種類は、従来の道路、高速道路又は幹線道路であってもよい。例えば、図５に示す寸法情報は、従来の道路についての情報である。例えば、データ構造２２８は、標識タイプ５０６、標識幅５０８、標識高さ５１０、番号高さ５１２、文字高さ５１４、第１の単語に対する中心線からの測定値を示す寸法５１６、及び第２の単語に対する中心線からの測定値を示す寸法５１８を含んでいてもよい。
【００４０】
標識情報を記憶するための例示的データ構造２２８において、寸法を示す情報は、インチ単位で表される。例えば、従来の道路における速度制限標識タイプは、幅が２４インチで高さが３０インチである。また、標識のレイアウト仕様情報は、速度制限数の個数高さが１０インチであり、１又は複数の単語の文字の文字高さが４インチであり、標識の中心線から第１の単語が９．５６３インチオフセットされ、標識の中心線から第２の単語が７．３１３インチオフセットされていることを示すことができる。管轄区域によって特定される交通標識の仕様は、標識の数字及び文字の外側周辺の境界の寸法５２０と、境界の外側と標識の実際の縁との間の距離を示す寸法５２２とを含んでいてもよい。境界寸法５２０と、境界の外側縁部から標識の縁までの寸法５２２は、幅及び高さ方向において等しくてもよい。データ構造２２８には示されていないが、仕様はまた、境界などの標識の特定領域に対する色を示すことができ、これは、ピクセル処理などに基づいて各文字、単語、数字、記号及び境界のエッジを特定する際に有用となりうる。
【００４１】
いくつかの例では、データ構造２２８に入力された情報は、米国のＦＨＷＡ若しくは州の自動車部門、又は他の国における類似のエンティティなどの管轄組織から最初に取得してもよい。その情報は、その後、補足され、変更され、又は更新されてもよい。さらに、図５は、標識情報を記憶するためのデータ構造２２８の一例を示しているが、本明細書における開示の利益を有する当業者にとっては、多数の他のデータ構造、データベース、記憶されたデータのタイプなどが明らかであろう。また、上述したように、標識情報を記憶するためのデータ構造２２８は、情報サーバ２８０から取得してもよい。さらに、場合によっては、データ構造２２８は、各管轄区域についてのライセンスプレート寸法情報をも含んでいてもよい。
【００４２】
図６は、いくつかの実施形態による道路標示情報を記憶するための道路標示情報データ構造２３４の一例を示す。この例では、道路標示情報データ構造２３４は、第１の管轄区域６０２及び第２の管轄区域６０４を含む、複数の地理的管轄区域に対する道路標示情報を含む。例えば、データ構造２３４は、道路標示タイプ６０６、及びＺ方向に対応する幅寸法及び深さ又は距離寸法などの道路標示６０８の寸法を含んでいてもよい。標識情報データ構造２２８と同様に、情報は、米国のＦＨＷＡ若しくは州の自動車部門、又は他の国における類似のエンティティなどの管轄組織から最初に取得してもよい。情報サーバ２８０から、さらなる情報を得てもよい。例えば、自転車標示の幅は４０インチであってもよく、Ｘ方向と対応していてもよい。さらに、深さ又は距離測定は、標示が車両の進行方向に道路上に何インチに及ぶかを示すことができる。さらに、図６は、データ構造２３４の一例を示しているが、本明細書における開示の利益を有する当業者にとっては、多数の他のデータ構造、データベース、記憶されたデータのタイプなどが明らかであろう。また、上述したように、データ構造２３４は、情報サーバ２８０から取得してもよい。
【００４３】
図７は、いくつかの実施形態による、認識された交通標識について測定された距離（例えば、Ｚ１）毎に計算されたＸ方向及びＹ方向の誤差を記憶するためのデータ構造２３６の一例を示す。例えば、車両に搭載されたカメラからの交通標識の所定の測定距離１０２に対して、Ｘ方向Δｘ７０４における誤差及びＹ方向Δｙ７０６における誤差が計算され、データ構造２３６に記憶される。さらに、Δｘ及びΔｙの関数であるパラメータｕ’７０８及びｖ’７１０は、それぞれ計算され、データ構造２３６に記憶される。いくつかの例では、データ構造はルックアップテーブルであってもよい。さらに、図７は、データ構造２３６の一例を示しているが、多数のその他のデータ構造、データベース、記憶されたデータのタイプなどは、本明細書における開示の利益を有する当業者には明らかであろう。
【００４４】
図８は、いくつかの実施形態による温度に基づいて特定したＺ方向の誤差、Ｘ方向の誤差及びＺ方向の誤差の間の関係に関する情報を記憶するための誤差関係情報データ構造２３０の一例を示す。誤差関係データ構造２３０は、例えば、従来の実験に基づいて、複数の温度８０２におけるＸ方向の誤差Δｘ８０４及びＹ方向の誤差Δｙ８０６のうち少なくとも１つに対応するＺ方向の誤差Δｚ８０８を含む。例えば、Ｚ方向の誤差情報Δｚ８０８は予め定義されていてもよく、例えば、Δｘ８０４及びΔｙ８０６を有するＺ方向Δｚ８０８に沿った誤差の間の関係が計算され、事前の実験によって特定されてもよい。例えば、Δｚの、Δｘ及びΔｙとの関係は、ＴｍｉｎからＴｎまでの所与の範囲内の複数の温度に対して評価してもよい。ある温度では、Ｚ方向の誤差は、Δｘ及びΔｙの関数としてもよい。したがって、データ構造２３０に記憶された実験前相関情報を使用して、計算して記憶されたＺ方向の誤差と、Ｘ方向に沿った誤差Δｘと、Ｙ方向に沿った誤差Δｙとの関係を用いて、Ｚ方向に沿った誤差Δｚを計算してもよい。すなわち、ΔｘとΔｙが計算されれば、誤差関係情報データ構造２３０に記憶された情報に基づいてΔｚを特定してもよい。
【００４５】
図９は、いくつかの実施形態による、カメラから交通標識への測定された距離（例えば、Ｚ１、Ｚ２など）ごとのＸ、Ｙ、及びＺ方向のそれぞれの計算された誤差についての情報を記憶するデータ構造２３７の一例を示す。例えば、データ構造２３７は、各距離７０２についてΔｘ９０４、Δｙ９０６、及びΔｚ９０８のそれぞれについての計算結果に基づいて生成される。図示されるように、更新Ｚ情報９１０は、誤差計算結果Δｚによって補正された測定距離を含む。さらに、図９は、データ構造２３７の一例を示しているが、多数のその他のデータ構造、データベース、記憶されたデータのタイプなどは、本明細書における開示の利益を有する当業者には明らかであろう。
【００４６】
図１０及び図１１は、いくつかの実施形態による例示的なプロセスを示している。プロセスは、一連のオペレーションを表す論理フロー図におけるブロックの集合として示され、そのいくつか又はすべては、ハードウェア、ソフトウェア、又はそれらの組合せで実施されてもよい。ソフトウェアの文脈では、ブロックは、１又は複数のプロセッサによって実行されると、列挙された動作を行うようにプロセッサをプログラムする、１又は複数のコンピュータ可読媒体上に記憶されたコンピュータ実行可能命令を表すことができる。一般に、コンピュータ実行可能命令には、特定の機能を行うか、又は特定のデータタイプを実施するルーチン、プログラム、物体、コンポーネント、データ構造などが含まれる。ブロックが記述される順序は、限定として解釈されるべきではない。任意の数の記載されたブロックは、任意の順序及び／又は並列に組み合わされて、プロセス又は別のプロセスを実装することができ、すべてのブロックが実行される必要はない。説明の目的で、プロセスは、本明細書における例に記載される環境、フレームワーク及びシステムを参照して記載されるが、プロセスは、広範な他の環境、フレームワーク及びシステムにおいて実装してもよい。
【００４７】
図１０は、いくつかの実施形態によるカメラのパラメータをキャリブレーションするための例示的なプロセス１０００を示すフロー図である。いくつかの例では、プロセス１０００は、認識プログラム及び制御プログラムを実行する１又は複数のプロセッサによって行ってもよい。画像が取り込まれた後、認識プログラムは、標識を検出し、その標識の種類を認識するために実行されてもよい。さらに、車両上のカメラから標識までのＺ方向距離を測定し、認識された標識の幅及び高さを測定する。一般的に、標識が検出され認識されると、標識情報データ構造にアクセスして、Ｘ方向及びＹ方向に沿った誤差を特定してＺ方向の誤差を計算し、以下により詳細に説明するように、カメラのパラメータをキャリブレーションできる。
【００４８】
さらに、本明細書における実施形態は、道路の両側の標識を検出し認識してもよい。例えば、交通標識の標識タイプは、一般的には、標識の形状によって認識されてもよい。さらに、交通標識の背面は、通常、テキスト若しくは記号の存在、又はその欠如、ポール若しくは他の支持体の位置などに基づいて、前方から区別できる。さらに、認識された標識から横方向距離を特定するいくつかの場合には、システムは、例えば、車両が既知の速度で移動するときに、例えば、ステレオカメラ、複数のカメラ、又は異なる時点で撮影された複数の画像を使用することなどによって、１又は複数のセンサによって取り込まれる１又は複数の画像から、及び／又は、異なる視点から得られる２つの画像間で特定される視差に基づいて、３Ｄ深度マップを生成してもよい。
【００４９】
１００２において、１又は複数のプロセッサは、１又は複数のセンサから１又は複数の画像を受信してもよい。例えば、センサが１又は複数のステレオカメラを含む場合、画像は、可視光、赤外光、又はその両方を用いて取得してもよい。さらに、１又は複数の画像は、追加的に、又は代替的に他のＬＩＤＡＲ、レーダ、超音波などの感知技術やその組み合わせを使用して取得してもよい。
【００５０】
１００４において、１又は複数のプロセッサは、１又は複数の画像を使用して標識認識を行ってもよい。標識認識アルゴリズム及びプロセスの例は、図１１に関して以下にさらに説明する。
【００５１】
１００６において、１又は複数のプロセッサは、標識が認識されたかどうかを判定してもよい。標識が認識される場合、プロセスはブロック１００８に進んでもよい。そうでない場合、プロセスはブロック１００２に戻り、１又は複数の追加画像を受信してもよい。
【００５２】
場合によっては、複数の標識が同じ標識ポストに取り付けられる場合など、複数の標識を、車両に搭載されたカメラから同じ距離に設けてもよい。この場合、１又は複数のプロセッサは、パラメータを測定するために１つの交通標識を選択することができ、その後、パラメータをキャリブレーションしてもよい。例えば、同一距離における複数の標識のうち、画素強度に基づいて検出がより容易なエッジを有する交通標識を使用する。一例として、キャリブレーションに使用する標識の種類の優先傾向や優先度を示す嗜好情報を記憶するデータ構造を参照してもよい。この場合、データ構造は、様々な交通標識タイプのエッジ検出の容易さ及び／又はエッジ検出の精度に基づいて、どの標識タイプが好ましいかを示すリストにしてもよい。したがって、同じ距離に複数の交通標識が存在する場合、このリストを参照して、本明細書におけるキャリブレーションプロセスのために１つの交通標識を選択してもよい。
【００５３】
場合によっては、カメラは、１又は複数の画像におけるカメラからの異なる距離で複数の交通標識を撮像してもよい。この場合、２以上の認識された交通標識を、本明細書におけるキャリブレーションプロセスに使用してもよく、以下に説明する各計算は、認識された交通標識ごとに独立して行われる。
【００５４】
１００８において、認識された標識の、１又は複数のカメラからの距離を特定する。例えば、車載のカメラと認識された交通標識との距離を示す距離Ｚ１を計算してもよい。距離測定技術は、以下のように実装できる。
【００５５】
例えば、図１２は、距離ｂ１２０６の開口（又は２つのカメラ、それぞれ距離ｂの開口を有する）を有するカメラの概略図１２００の図である。例えば、第１の画像（すなわち、左画像）１２０２は、第１のカメラによって、又はステレオカメラの第１の開口を介して撮像され、第２の画像（例えば、右画像）１２０４は、第２のカメラによって、又はステレオカメラの第２の開口を介して撮像される。図１２において、ｂ１２０６、及びｆ１２０８は、それぞれ、２つのレンズ（又は２つのカメラ）とカメラの焦点距離との間のベース距離を示す。点Ｐは、図示されるように、座標Ｘ、Ｙ及びＺによって定義される現実世界の点であってもよい。
【００５６】
左画像１１０４中の任意の点ｐ１２０３の画像座標は、次式を用いて計算してもよい。
【００５７】
【数１】
0006886079.tif 000002
【００５８】
式１において、ｘｌはＸ画像座標を示し、式２においてｙｌはＹ画像座標を示す。同様に、右側画像１１０６における任意の点ｐ１２０５の画像座標は、以下の式で計算してもよい。
【００５９】
【数２】
0006886079.tif 000003
【００６０】
式３において、ｘｒはＸ画像座標を示し、式４においてｙｒはＹ画像座標を示す。また、ステレオ視差ｄは、左画像９０４及び右画像９０６における点ＰのＸ軸に沿った座標の差分を参照してもよい。視差ｄは、以下の式を使用して計算してもよい。
【００６１】
【数３】
0006886079.tif 000004
【００６２】
１００８において、計算された視差を使用して、Ｚ方向に沿ったカメラから交通標識までの距離を測定してもよい。このように、認識された交通標識のカメラからの距離は、以下の式を使用して計算できる。
【００６３】
【数４】
0006886079.tif 000005
【００６４】
式６において、δは、イメージセンサの画素サイズを示す。
【００６５】
ブロック１００２−１００８を繰り返してもよく、認識された標識の測定された距離の各インスタンスが記録又は記憶される。したがって、計算された距離Ｚ１は記憶され、その後に計算された距離（例えば、Ｚ２，…Ｚｎ）は、計算されて記憶される。加えて、又は代替として、他のコンピュータ視覚技術を使用して、例えば、取り込んだ画像における標識の位置、画像の視野に対する標識のサイズ、車両が既知の速度で進むときの１つの画像から次の画像への視野における標識のサイズ及び位置における変化などに基づいて、車両の基準フレームに対する標識の位置を特定してもよい。
【００６６】
いくつかの例では、１又は複数のプロセッサは、交通標識を含む２つの画像の視差マップを計算し、視差マップの視差値を評価して、視差が距離を計算する際に使用するのに十分な信頼性を有するかどうかを判定してもよい。例えば、１又は複数の視差値が所定の閾値以上である場合、視差マップは信頼性がある可能性がある。視差マップに信頼性があると判定された場合、視差を使って、カメラから認識された交通標識の距離を計算する。また、視差マップが信頼できないと判定された場合には、認識された交通標識を含む２つの画像（例えば、左右画像）の各領域の視差が計算されて距離計算に用いられる。
【００６７】
１０１０において、認識された交通標識の高さｈ及び幅ｗが測定される。認識された交通標識の幅ｗ及び高さｈは、交通標識の境界画素の境界線及び色情報を検査することによって測定してもよい。標識、境界、及び／又は角点のエッジは、認識された標識及び隣接する画素の画素強度及び色情報を検査することによって測定してもよい。いくつかの管轄区域は、交通標識の１又は複数の境界の色及びサイズを指定してもよい。
【００６８】
いくつかの実施形態では、標識の１又は複数の文字、数字、単語、記号又は境界の１又は複数の寸法（例えば、高さ及び／又は幅）、又は位置が測定される。例えば、速度制限型交通標識の速度制限を示す数字の幅及び高さを測定してもよい。さらに、認識ロジックは、交通標識が損傷又は歪んでいることを特定してもよく、したがって、交通標識の高さ及び幅のうちの１又は複数を正確に測定することはできない。この場合、標識の１又は複数の文字、単語、記号、境界、又は番号の、サイズ、位置、又は他の位置情報を測定してもよい。
【００６９】
いくつかの実施形態では、道路標示の寸法（例えば、Ｚ方向及び幅）を測定してもよい。また、道路標示のＺ方向計測を用いてＺ方向計測を直接計算するようにしてもよい。したがって、道路標示の寸法を測定し、交通標識の測定された寸法と組み合わせて使用してもよい。さらに、ライセンスプレートの寸法（例えば、高さ及び幅）を測定して、本明細書において記載される技術を、これらの測定値に応じて適用してもよい。
【００７０】
例えば、図１３は、いくつかの実施形態による認識された交通標識１３０２を含む画像１３００を示す。上述の技術を使用して、交通標識１３０２の角は、（ｕ，ｖ）画像座標で認識してもよい。例えば、ｕ−ｖ座標系を、２Ｄ座標と３Ｄ座標との間のマッピングに使用してもよい。この例では、交通標識１３０２は四辺形であり、したがって、４つの角を有する。しかしながら、交通標識は、円形、三角形、八角形などのような他の形状であってもよく、本明細書において開示されるサイズ測定のための技術は、異なる形状の標識を測定することに適用されてもよい。４つの角は、Ｐ１（ｕ１、ｖ１）１３０４、Ｐ２（ｕ２、ｖ１）１３０６、Ｐ３（ｕ１、ｖ２）１３０８、及びＰ４（ｕ２、ｖ２）１３１０として示してもよい。画像座標（ｕ，ｖ）及び上記式（式１−６）を考慮すると、交通標識１００２の幅ｗ及び高さｈは、以下の式を用いて計算できる。
【００７１】
【数５】
0006886079.tif 000006
【００７２】
また、標識の距離（例えば、ＺＩ）、交通標識の高さｈ、交通標識の幅ｗを計算する計算は、以下の式に示すように、行列状に特定してもよい。
【００７３】
【数６】
0006886079.tif 000007
【００７４】
１０１２において、１又は複数のプロセッサは、認識された交通標識のタイプを特定してもよい。さらに、認識された交通標識のタイプは、ブロック１０１０の前に特定してもよい。
【００７５】
１０１４において、１又は複数のプロセッサは、ＧＰＳ受信機からＧＰＳ情報を受信してもよい。例えば、ＧＰＳ情報は、地図情報と共に使用されて、認識された車両の地理的位置と標識の地理的位置を特定してもよく、この地理的位置は、交通標識のタイプを識別してもよい（例えば、従来の道路における速度制限）。
【００７６】
いくつかの実施形態では、１又は複数のプロセッサは、車の速度及び地図情報を示す速度情報を受信してもよい。１又は複数のプロセッサは、速度情報、ＧＰＳ情報、及び地図情報に基づいて、現在車両が私道上に存在していると特定でき、したがって、認識された交通標識を無視してもよい。例えば、車両の現在速度が低い（例えば、１０ｍｐｈ）及び／又は車両が高速道路を走行していないＧＰＳ及び地図情報である場合、１又は複数のプロセッサは、車両が私道（たとえば駐車場、車道など）上にあると特定することができ、したがって、認識された標識を無視してもよい。この場合、処理はブロック１００２に戻ってもよい。１又は複数のプロセッサはまた、ブロック１００６において、車両が私道又は公共道路にあるかどうかを特定することができ、したがって、標識が認識されたかどうかを特定する際など、プロセスの前に、取得された画像中の交通標識を無視してもよい。
【００７７】
１０１６において、１又は複数のプロセッサは、記憶された標識情報のデータ構造から認識された標識タイプに関連する標識情報を取得してもよい。さらに、場合によっては、データ構造は、異なる州、異なる国など、異なる地理的管轄区域に基づいて異なる情報を含んでいてもよい。したがって、認識された標識タイプに関する情報は、認識された標識及び地理的位置情報の標識タイプに基づいてデータ構造から検索されてもよく、例えば、標識の高さｈ及び幅ｗや標識の境界の寸法など、情報を含んでいてもよい。
【００７８】
取得した情報は、文字、単語、数字、記号、境界などのサイズ寸法及び位置仕様も示してもよい。したがって、レイアウト情報仕様の実際の寸法に基づいて、１又は複数の寸法における誤差を計算してもよい。
【００７９】
道路標示の１又は複数の寸法が測定される場合、認識された道路標示の実際の寸法について情報を取得してもよい。したがって、Ｙ方向又はＺ方向の誤差を計算し、Ｚ方向のキャリブレーション演算を直接計算するようにしてもよい。
【００８０】
さらに、いくつかの実施形態では、ライセンスプレートのサイズは、ブロック１００２−１００８内の交通標識の代わりに、又は交通標識と組み合わせて測定される。この場合、管轄権限からライセンスプレートの実寸を示す情報を取得し、これを誤差特定計算に利用してもよい。
【００８１】
１０１８において、１又は複数のプロセッサは、カメラから取得された交通標識まで測定された各距離（例えばＺ１、Ｚ２など）について、以下の式、
【００８２】
【数７】
0006886079.tif 000008
【００８３】
を使用して、Ｘ方向Δｘに沿った誤差及びＹ方向Δｙに沿った誤差を計算してもよい。
【００８４】
式１２及び式１３において、Ｗは実際の幅を示し、Ｈは、記憶された標識情報に基づいて認識された交通標識の実際の高さを示す。これにより、Ｘ方向Δｘに沿った誤差と、Ｙ方向Δｙに沿った誤差とを、距離毎に計算してもよい。
【００８５】
１０２０において、１又は複数のプロセッサは、計算された誤差Δｘ及びΔｙに基づいてパラメータｕ’及びｖ’を計算する。パラメータｕ’及びｖ’は、Δｘ及びΔｙの関数であり、以下の式を用いて計算される。
【００８６】
【数８】
0006886079.tif 000009
【００８７】
パラメータｕ’及びｖ’は、カメラから交通標識までの測定された距離ごとに計算される。例えば、交通標識について測定された各距離において、Δｘ及びΔｙ誤差は上述したように計算され、対応するパラメータｕ’及びｖ’は、それぞれ、式１２及び式１３に示される、Δｘ及びΔｙを０に、すなわちＷ＝Ｗ及びＨ＝Ｈに設定することによって計算される。したがって、Ｗは、式７においてＷで置き換えてもよく、Ｈは、式８においてＨで置き換えてもよい。式１０及び式１１は、以下の式１６とともに使用して、任意の特定の状況についてパラメータｕ’及びｖ’の値を計算してもよい。
【００８８】
式１６に示されるように、計算されたｕ’及びｖ’パラメータを含むように、式９を更新してもよい。
【００８９】
【数９】
0006886079.tif 000010
【００９０】
いくつかの実施形態では、カメラは、製造時にキャリブレーションされ（すなわち、工場キャリブレーションされる）、誤差を補正するパラメータ（例えば、Δｕ及びΔｖ）を含んでいてもよい。この場合、式は、以下の式に示されるように、パラメータｕ’及びｖ’を含むように更新されてもよい。
【００９１】
【数１０】
0006886079.tif 000011
【００９２】
１０２２において、１又は複数のプロセッサは、データ構造（例えば、各距離２３６に対するＸ方向及びＹ方向の誤差）を生成して、認識された交通標識の各測定された距離について計算されたＸ方向の誤差Δｘ、Ｙ方向の誤差Δｙ、ｕ’及びｖ’パラメータを記憶する。
【００９３】
１０２４において、１又は複数のプロセッサは、計算されたＸ方向の誤差Δｘ、計算されたＹ方向の誤差Δｙ、及び誤差関係情報データ構造２３０に基づいて、測定された距離ごとにＺ方向の誤差Δｚを計算する。したがって、１又は複数のプロセッサは、温度を示す温度センサから温度情報を受信する。なお、受信した温度に基づいて、それぞれの測定した距離に関するΔｘ、Δｙ、Ｚ方向の誤差Δｚは、記憶したＺ方向の誤差とＸ方向の誤差及びＹ方向の誤差との関係情報を温度に基づき参照することによって特定することができる。また、距離毎に計算されたΔｘ、Δｙ、Δｚ値を含むＺ方向の誤差Δｚ計算を示すデータ構造２３７が生成される。
【００９４】
１０２６において、１又は複数のプロセッサは、新しいパラメータΔｆ及び更新式１６及び／又は式１７及び式６を計算する。例えば、パラメータΔｆは、ブロック１０２４で生成されたデータ構造２３７内のすべての距離についての値Δｚを最小にする。例えば、Δｆは、Δｚｎ（ｎ＝１，２，３…ｍ）値を最小にするように計算される。また、例えば、２つの交通標識を認識して本明細書におけるキャリブレーション処理に用いる場合、焦点距離パラメータΔｆに関しては、認識された２つの交通標識の焦点距離Δｆ１及びΔｆ２を平均化してもよい。さらに、式１６は、以下の式に示されるように、Ｚ方向に沿った誤差を最小にする計算されたパラメータΔｆを導入するように更新される。
【００９５】
【数１１】
0006886079.tif 000012
【００９６】
さらに、工場キャリブレーションカメラの場合には、式１７は、以下の式に示されるようにパラメータΔｆを含むように更新される。
【００９７】
【数１２】
0006886079.tif 000013
【００９８】
加えて、式６は、以下の式に示されるように、新たなパラメータΔｆで更新される。
【００９９】
【数１３】
0006886079.tif 000014
【０１００】
したがって、カメラのパラメータは、上述したようにキャリブレーションされる。式２０（更新式６）は、その後、物体を測定してその距離を特定するために使用される。車両が道路を走行するとき、例えば、標識が検出され認識されると（ステップ１００２−１００６のように、キャリブレーションパラメータは再計算されてもよい。このようにして、カメラパラメータは、車両が道路を走行するときに連続的にかつ自動的に計算される。さらに、式１８又は式１９を使用して、他の交通標識が認識されたときに起こり得る、次の再キャリブレーションが行われるまで、任意の物体を測定する。具体的には、車両が道路上を走行するときに更新された式１８又は式１９を用いて、物体（車両、自転車、歩行者など）の距離、高さ、幅を計算する。いくつかの実施形態では、キャリブレーションのために使用される１００６において識別され認識された交通標識を車両が通過する前に、ステップ１０１８は完了する。したがって、上記に従って検出され認識される交通標識を使用してカメラパラメータを連続的かつ自動的にキャリブレーションする結果として、物体の正確な三次元測定が達成される。
【０１０１】
いくつかの実施形態では、物体の測定された距離、高さ、及び幅は、物体サイズ情報データ構造２３７に記憶されてもよい。１又は複数のプロセッサは、１又は複数の制御信号を、データ構造２３７内の検出された物体の算出された距離、高さ、及び幅に基づいて、少なくとも１つの車両コンポーネントに送ってもよい。例えば、検出された物体のサイズ及び式１８又は式１９を用いて測定された検出された物体の距離に基づいて、１又は複数のプロセッサは、衝突を回避するために車両を制御すること、乗員に警告を発することなど、１又は複数の決定を行ってもよい。例えば、１又は複数のプロセッサは、制御信号を送って、車両のステアリングを調整しても、車両のブレーキを適用しても、エンジン又はモータを加速又は減速しても、或いは車両を制御するための他の機能を行ってもよい。付加的に、又は代替的に、ＡＤＡＳシステム又は半自律車両の場合のように、１又は複数のプロセッサは、検出された物体のサイズなどに基づいて、検出された状態をドライバに警告するように警告を発してもよい。さらに、１又は複数のプロセッサは、検出された物体のサイズの表示をディスプレイに送信して、対応するグラフィックスがリアルタイム又はほぼリアルタイムで道路の１又は複数の画像にオーバーレイされるようにしてもよい。
【０１０２】
本明細書において説明するキャリブレーションプロセスは、例えば図１０に記載されているように、単眼カメラを用いて行ってもよい。この場合、標識距離を検出するために、レーダ、レーザ、又はＬＩＤＡＲなどの追加センサをカメラと組み合わせて使用してもよい。次に、付加センサからの情報を座標変換して、標識距離を推定する。また、標識の高さと幅を測定し、距離を示す次の式、
【０１０３】
【数１４】
0006886079.tif 000015
【０１０４】
を用いて標識距離を測定してもよい。
【０１０５】
式２１において、ｆは、カメラの焦点距離であり、Ｗは、認識された交通標識の実際の幅であり、ｗは、交通標識の測定された幅である。
【０１０６】
図１１は、いくつかの実施形態による交通標識を認識するための例示的なプロセス１０００を示すフロー図である。いくつかの例では、プロセス１０００は、認識プログラムを実行する１又は複数のプロセッサによって行ってもよい。
【０１０７】
１１０２において、１又は複数のプロセッサは、１又は複数のセンサから１又は複数の画像を受信してもよい。例えば、センサが１又は複数のカメラを含む場合、画像は、可視光、赤外光、又はその両方を使用して取得してもよい。さらに、１又は複数の画像は、追加的に、又は代替的に他のＬＩＤＡＲ、レーダ、超音波などの感知技術やその組み合わせを使用して取得してもよい。
【０１０８】
１１０４において、１又は複数のプロセッサは、１又は複数の画像を前処理して画像中のノイズを低減してもよい。例えば、可視及び／又は赤外光を用いてカメラから画像を取得する場合、１又は複数のフィルタリング技法を用いて、画像から、ごま塩ノイズ、ガウスノイズなどのノイズを除去してもよい。使用してもよい技法としては、線形平滑化フィルタ、彩度及び輝度ノイズ分離、ウェーブレット変換、統計的方法、及び非線形フィルタが挙げられる。
【０１０９】
１１０６において、１又は複数のプロセッサは、受信された画像内の標識を検出してもよい。例えば、１又は複数のプロセッサは、画像の１つが交通標識を含むことを検出してもよいが、その標識は、その時点でまだ認識可能ではないこともある。さらに、本明細書における実施形態は、道路の両側の標識を検出し認識してもよい。
【０１１０】
１１０８において、１又は複数のプロセッサは、後続の受信された画像における検出された標識を追跡してもよい。１又は複数のプロセッサは、一連の画像中の標識を追跡することができ、車両が標識に近づくにつれて、追加の認識機能を行って標識の標識タイプを認識するように試みてもよい。さらに、複数の画像における標識を追跡することにより、１又は複数のプロセッサは、車両の基準フレームに対する標識の位置を特定することができ、それによって、車両に対する標識の距離を特定してもよい。
【０１１１】
１１１０において、１又は複数のプロセッサは、１又は複数の画像から検出された標識の標識タイプを認識してもよい。場合によっては、１又は複数のプロセッサは標識の様々な特徴を使用して、例えば、標識上のテキスト、標識の色、形状、サイズ、サポート構造を認識することによって、標識の標識タイプを認識してもよく、標識の前を標識の後から区別してもよい。一例として、認識プログラム３２０は、１又は複数のプロセッサ上で実行して、異なる角度、異なる距離、異なる気象条件、異なる光条件などから様々な異なる標識タイプを認識するために訓練データを使用して訓練された演算モデルを含むか、又は採用してもよい。場合によっては、演算モデルは、新しい訓練データに基づいて定期的に更新し、再訓練可能な演算モデルを最新まで維持してもよい。本明細書におけるいくつかの実施形態で使用してもよい演算モデルとしては、予測モデル、決定木、分類器、例えば線形回帰モデルのような回帰モデル、サポートベクトルマシン、及びマルコフモデル及び隠れマルコフモデルのような確率論的モデル、再帰的ニューラルネットワークのような人工ニューラルネットワーク、ロングショートタームメモリ（ＬＳＴＭ）ニューラルネットワークなどの確率モデルなどが挙げられる。標識タイプが認識されると、１又は複数のプロセッサは、例えば、図１０に関連して上述したように、カメラパラメータキャリブレーションを行ってもよい。
【０１１２】
本明細書において説明するプロセスの例は、議論目的のために提供されるプロセスの一例に過ぎない。本明細書における開示に照らして、当業者にとっては多数の他の変形形態が明らかであろう。さらに、本明細書における開示は、プロセスを実行するための適切なフレームワーク、アーキテクチャ及び環境のいくつかの例を示しているが、本明細書における実施形態は、図示及び議論された特別な例に限定されない。さらに、本開示は、説明し、図面に示した様に、様々な例示的な実施形態を提供する。しかしながら、本開示は、本明細書において説明及び図示する実施形態に限定されるものではなく、当業者に知られているように、又は当業者には知るであろうように、他の実施形態まで拡張できる。
【０１１３】
本明細書において説明される様々な命令、プロセス及び技法は、例えばコンピュータ可読媒体に記憶されたプログラムなどのコンピュータ実行可能命令の一般的な文脈で考え、本明細書中のプロセッサ（複数可）によって実行されてもよい。一般的に、プログラムは、特定のタスクを行うか、又は特定の抽象データ型を実装するためのルーチン、モジュール、物体、コンポーネント、データ構造、実行可能コードなどを含む。これらのプログラムなどは、ネイティブコードとして実行されてもよく、又は仮想マシン若しくは他のジャストインタイムコンパイル実行環境内などにダウンロードされて実行されてもよい。一般的には、プログラムの機能性は、様々な実施形態において、所望に応じて組み合わせる、又は分散することができる。これらのプログラム、アルゴリズム及び技法の実施は、コンピュータ記憶媒体に記憶されるか、又は何らかの形の通信媒体を介して送信されてもよい。
【０１１４】
主題は、構造的特徴及び／又は方法論的動作に特有の言語で記述されているが、添付の特許請求の範囲で定義される主題は、必ずしも記載された具体的な特徴又は動作に限定されるわけではないことを理解されたい。むしろ、具体的な特徴及び動作は、特許請求の範囲を実施する例示的な形態として開示されるものである。
【符号の説明】
【０１１５】
１０６、２０２  車両
２０８  車両カメラ
２０４  認識コンポーネント
２０６  制御コンポーネント
２０９  センサ
２１１  温度計センサ
２１２  ＧＰＳ受信機
２１８、２４０、２８２  プロセッサ
２２０  認識プログラム
２２４、２４８  記憶装置
２３７  データ構造
２４２  ＲＡＭ
２４４  制御プログラム
２７８  ネットワーク
２８０  情報サーバ
４０４  道路標示
【図１】
0006886079.tif 000016
【図２】
0006886079.tif 000017
【図３】
0006886079.tif 000018
【図４】
0006886079.tif 000019
【図５】
0006886079.tif 000020
【図６】
0006886079.tif 000021
【図７】
0006886079.tif 000022
【図８】
0006886079.tif 000023
【図９】
0006886079.tif 000024
【図１０】
0006886079.tif 000025
【図１１】
0006886079.tif 000026
【図１２】
0006886079.tif 000027
【図１３】
0006886079.tif 000028