(57)【特許請求の範囲】
【請求項１】
車両からのオブジェクトの距離を決定する計算デバイスであって、
魚眼画像を取得する魚眼カメラと、
（ｉ）前記魚眼画像に取得されたオブジェクトを識別し、（ｉｉ）前記車両の外にあり、前記車両に対する識別されたオブジェクトの位置に基づいて、所定の仮想平面のセットから選択される仮想平面上に、識別されたオブジェクトの輪郭を投影するオブジェクト投影モジュールと、
（ｉ）選択された仮想平面上の投影された輪郭の底部のうち所定の一点を識別し、（ｉｉ）投影された輪郭の識別された底部のうち所定の一点と前記魚眼カメラのうち所定の一点の各々を通る仮想線の、前記車両が位置する平面と一致する地平面との交点を決定し、（ｉｉｉ）決定された交点と投影された輪郭の識別された底部とに基づいて、前記車両に対する識別されたオブジェクトの位置を決定する位置決定モジュールとを有する、
計算デバイス。
【請求項２】
前記車両に対する識別されたオブジェクトの位置を決定することは、決定された交点と投影された輪郭の識別された底部とに基づきカルマンフィルタを適用することを含む、
請求項１に記載の計算デバイス。
【請求項３】
前記カルマンフィルタを適用することは、
【数１】
0006453449.tif 000032
により前記カルマンフィルタの状態ベクトルを決定することと、
【数２】
0006453449.tif 000033
により前記カルマンフィルタの測定ベクトルを決定することと、
決定された状態ベクトルと決定された測定ベクトルとに基づいて前記カルマンフィルタを適用することとを含み、
ｘｐ、ｙｐ及びｚｐは前記交点の３次元座標であり、
ｘｂ、ｙｂ及びｚｂは識別されたオブジェクトの底部の３次元座標である、
請求項２に記載の計算デバイス。
【請求項４】
前記カルマンフィルタを適用することは、
【数３】
0006453449.tif 000034
によりヤコビ行列を決定することと、
決定された状態ベクトル、決定された測定ベクトル、及び決定されたヤコビ行列に基づいて、拡張されたカルマンフィルタを適用することとを含み、
ｘａ、ｙａ及びｚａは前記魚眼カメラの３次元座標である、
請求項３に記載の計算デバイス。
【請求項５】
識別されたオブジェクトの輪郭を投影することは、識別されたオブジェクトに最も近く、識別されたオブジェクトの輪郭を投影する仮想平面を選択することを含む、
請求項１に記載の計算デバイス。
【請求項６】
識別されたオブジェクトの輪郭を投影することは、
前記魚眼カメラと識別されたオブジェクトの位置とを通る基準線を決定することと、
識別されたオブジェクトの輪郭を、前記基準線が通る仮想平面に投影することとを含む、
請求項１に記載の計算デバイス。
【請求項７】
投影された輪郭の底部を識別することは、
前記仮想平面上に投影された輪郭のバウンディングボックスを決定することと、
前記バウンディングボックスの底部の中点を識別することとを含む、
請求項１に記載の計算デバイス。
【請求項８】
前記交点は、前記魚眼カメラの中心の、前記バウンディングボックスの底部の中点との交点である、
請求項７に記載の計算デバイス。
【請求項９】
前記バウンディングボックスは投影された輪郭の境界を示す最小の四角形のボックスである、
請求項７に記載の計算デバイス。
【請求項１０】
前記仮想線の前記地平面との交点を決定することは、
【数４】
0006453449.tif 000035
により前記交点を決定することを含み、
ｘｐ、ｙｐ及びｚｐは前記交点の３次元座標であり、
ｘａ、ｙａ及びｚａは前記魚眼カメラの３次元座標であり、
ｘｂ、ｙｂ及びｚｂは識別されたオブジェクトの底部の３次元座標である、
請求項１に記載の計算デバイス。
【請求項１１】
所定の仮想平面のセットは、前記車両の魚眼カメラの少なくとも２倍の仮想平面を含む、
請求項１ないし１０いずれか一項に記載の計算デバイス。
【請求項１２】
所定の仮想平面のセットの各仮想平面は地平面に対して直交する、
請求項１ないし１０いずれか一項に記載の計算デバイス。
【請求項１３】
所定の仮想平面のセットは８つの仮想平面よりなり、
８つの仮想平面のうち第１と第２の仮想平面は前記車両の側面に対して平行であり、
８つの仮想平面のうち第３と第４の仮想平面は、前記車両の後面に対して平行であり、前記車両の側面に対して直交し、
８つの仮想平面のうち第５と第６の仮想平面は、互いに平行であり、前記第１と第３の仮想平面に対して４５°の角度をなし、
８つの仮想平面のうち第７と第８の仮想平面は、互いに平行であり、前記第５と第６の仮想平面に対して直交し、前記第１と第３の仮想平面に対して４５°の角度をなし、
所定の仮想平面のセットの各仮想平面は地平面に対して直交する、
請求項１ないし１０いずれか一項に記載の計算デバイス。
【請求項１４】
前記計算デバイスは車載計算システムとして実施される、
請求項１ないし１０いずれか一項に記載の計算デバイス。
【請求項１５】
車両の計算デバイスにより、オブジェクトの前記車両からの距離を決定する方法であって、
前記計算デバイスが、前記車両の魚眼カメラにより生成される魚眼画像に取得されたオブジェクトを識別するステップと、
前記計算デバイスが、前記車両に対する識別されたオブジェクトの位置に基づいて、前記車両の外にあり、所定の仮想平面のセットから選択された仮想平面に、識別されたオブジェクトの輪郭を投影するステップと、
前記計算デバイスが、選択された仮想平面に投影された輪郭の底部のうち所定の一点を識別するステップと、
前記計算デバイスが、前記車両が配置された平面と一致する地平面との仮想線の交点を決定するステップであって、前記仮想線は、投影された輪郭の識別された底部のうち所定の一点と前記魚眼カメラのうち所定の一点とを通るステップと、
前記計算デバイスが、決定された交点と、投影された輪郭の識別された底部とに基づき、識別されたオブジェクトの前記車両に対する位置を決定するステップとを含む、
方法。
【請求項１６】
前記車両に対する識別されたオブジェクトの位置を決定するステップは、決定された交点と投影された輪郭の識別された底部とに基づきカルマンフィルタを適用するステップを含む、
請求項１５に記載の方法。
【請求項１７】
前記カルマンフィルタを適用するステップは、
【数５】
0006453449.tif 000036
により前記カルマンフィルタの状態ベクトルを決定するステップと、
【数６】
0006453449.tif 000037
により前記カルマンフィルタの測定ベクトルを決定するステップと、
決定された状態ベクトルと決定された測定ベクトルとに基づいて前記カルマンフィルタを適用するステップとを含み、
ｘｐ、ｙｐ及びｚｐは前記交点の３次元座標であり、
ｘｂ、ｙｂ及びｚｂは識別されたオブジェクトの底部の３次元座標である、
請求項１６に記載の方法。
【請求項１８】
前記カルマンフィルタを適用するステップは、さらに、
【数７】
0006453449.tif 000038
によりヤコビ行列を決定するステップと、
決定された状態ベクトル、決定された測定ベクトル、及び決定されたヤコビ行列とに基づいて、拡張されたカルマンフィルタを適用するステップとを含み、
ｘａ、ｙａ及びｚａは前記魚眼カメラの３次元座標である、
請求項１７に記載の方法。
【請求項１９】
識別されたオブジェクトの輪郭を投影するステップは、識別されたオブジェクトに最も近く、識別されたオブジェクトの輪郭を投影する仮想平面を選択するステップを含む、
請求項１５に記載の方法。
【請求項２０】
識別されたオブジェクトの輪郭を投影するステップは、
前記魚眼カメラと識別されたオブジェクトの位置とを結ぶ基準線を決定するステップと、
識別されたオブジェクトの輪郭を、前記基準線が通る仮想平面に投影するステップとを含む、
請求項１５に記載の方法。
【請求項２１】
投影された輪郭の底部を識別するステップは、
前記仮想平面上に投影された輪郭のバウンディングボックスを決定するステップと、
前記バウンディングボックスの底部の中点を識別するステップとを含む、
請求項１５に記載の方法。
【請求項２２】
前記仮想線の、前記地平面との交点を決定するステップは、前記魚眼カメラの中心の、前記バウンディングボックスの底部の中点との交点を決定するステップを含む、
請求項２１に記載の方法。
【請求項２３】
前記仮想線の、前記地平面との交点を決定するステップは、
【数８】
0006453449.tif 000039
により前記交点を決定するステップを含み、
ｘｐ、ｙｐ及びｚｐは前記交点の３次元座標であり、
ｘａ、ｙａ及びｚａは前記魚眼カメラの３次元座標であり、
ｘｂ、ｙｂ及びｚｂは識別されたオブジェクトの底部の３次元座標である、
請求項１５に記載の方法。
【請求項２４】
識別されたオブジェクトの輪郭を選択された仮想平面に投影するステップは、前記車両の魚眼カメラの少なくとも２倍の仮想平面を含む所定の仮想平面のセットから化麻生平面を選択するステップを含み、
所定の仮想平面のセットの各仮想平面は地平面に対して直交する、
請求項１５に記載の方法。
【請求項２５】
実行されると、計算デバイスに請求項１５−２４いずれか一項に記載の方法を実行させる複数の命令を含むコンピュータプログラム。
【請求項２６】
請求項２５に記載のコンピュータプログラムを格納した一以上の機械読み取り可能記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
［関連米国特許出願への相互参照］
本願は、２０１４年９月１８日出願の米国特許出願第１４／４９０，３６９号（発明の名称「ＴＲＡＣＫＩＮＧ  ＯＢＪＥＣＴＳ  ＩＮ  ＢＯＷＬ−ＳＨＡＰＥＤ  ＩＭＡＧＩＮＧ  ＳＹＳＴＥＭＳ」）の優先権を主張するものである。
【０００２】
リアビューカメラなどの車載カメラシステムは、高級車や一部のローエンド車でも主流になっている。具体的な実装に応じて、車載カメラシステムは、視覚の改善、自動並列駐車、および／または他の目的のために使用されてもよい。例えば、車両に搭載されたカメラによって取得された画像は、車両のナビゲーションシステムの表示画面に表示され、運転者に、車両の遮られない後方ビュー（すなわち、バックミラーより良いもの）、または車両のオーバーヘッドビュー（すなわち、車両の周囲を示すもの）を提供する。一部の車載カメラシステムでは、いくつかのカメラを車両に搭載して、車両の周囲のすべてを取得することができる（すなわち、３６０°全体）。このような車載カメラシステムは、車両の周囲を取得するのに必要なカメラの数を最小にするために、魚眼レンズなどを有する広角カメラ（すなわち、魚眼カメラ）を使用することがある。
【０００３】
幾つかの環境では、車両ベースの安全メカニズムが、あるオブジェクトの車両に対する距離を決定することは利益がある。例えば、車載バックアップセンサが、車載コンピューティングシステムによって利用され、オブジェクトが閾値距離内にあるときに運転者に警告し、または車両を自動的に停止させてもよい。オブジェクトの、車両のような特定の基準点までの距離を決定する様々な技術およびメカニズムが存在する。例えば、車載コンピューティングシステムは、レーダ、フォトニックミキサーデバイス（ＰＭＤ）、ステレオカメラ、近接／動きセンサ、および／またはオブジェクトの、車両からの距離を決定する他のセンサを利用することができる。
【図面の簡単な説明】
【０００４】
ここで説明するコンセプトを、添付した図面において、限定ではなく実施例により説明する。説明を単純かつ明確にするため、図に示した要素は必ずしもスケール通りには描いていない。適当であれば、対応または類似する要素を示すため、複数の図面で同じ参照レベルを用いた。
【０００５】
【図１】車両周囲の物理的環境を表示し、車両からのオブジェクトの距離を決定する、車両の車載コンピューティングシステムの少なくとも１つの実施形態の簡略化したブロック図である。
【０００６】
【図２】図１の車両の少なくとも１つの実施形態の簡略図である。
【０００７】
【図３】図１の車載コンピューティングシステムによって確立された環境の少なくとも１つの実施形態の簡略ブロック図である。
【０００８】
【図４】仮想ボウル形状投影面の少なくとも１つの実施形態の簡略図である。
【０００９】
【図５】図１の車載コンピューティングシステムによる車両からのオブジェクトの距離を決定する方法の少なくとも一実施形態を示す簡略化したフロー図である。
【図６】図１の車載コンピューティングシステムによる車両からのオブジェクトの距離を決定する方法の少なくとも一実施形態を示す簡略化したフロー図である。
【００１０】
【図７】図１の車載コンピューティングシステムでカルマンフィルタを適用することにより、車両に対するオブジェクトの位置を決定する方法の少なくとも一実施形態を示す簡略化したフロー図である。
【００１１】
【図８】図２の車両を取り囲む仮想面の構成を示す簡略図である。
【００１２】
【図９】図８の仮想面の１つに投影された、識別されたオブジェクトの輪郭を示す簡略図である。
【００１３】
【図１０】カルマンフィルタの少なくとも一実施形態を示す簡略化したブロック図である。
【００１４】
【図１１】車両に対するオブジェクトの決定された位置を示す簡略図である。
【発明を実施するための形態】
【００１５】
本開示のコンセプトはいろいろな修正を施したり代替的形式を取ったりすることもできるが、その具体的な実施形態を図面において実施例で示し、ここに詳細に説明する。しかし、言うまでもなく、開示した具体的な形式に本開示を限定する意図ではなく、逆に、本発明は本開示と添付した特許請求の範囲に沿ったすべての修正、等価物及び代替物をカバーするものである。
【００１６】
本明細書において「ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ」、「ａｎ  ｅｍｂｏｄｉｍｅｎｔ」、「ａｎ  ｉｌｌｕｓｔｒａｔｉｖｅ  ｅｍｂｏｄｉｍｅｎｔ」などと言う場合、記載した実施形態が、ある機能、構造、または特徴を含むが、かならずしもすべての実施形態がその機能、構造、または特徴を含んでも含まなくてもよい。さらに、かかる文言は必ずしも同じ実施形態を参照しているとは限らない。さらに、ある機能、構造、または特徴をある実施形態について説明した場合、明示的に記載していようがいまいが、他の実施形態に関するそれらの機能、構造、または特徴に影響が及ぶことは、当業者には自明である。また、言うまでもなく、「少なくとも１つのＡ、Ｂ及びＣ」は、（Ａ）、（Ｂ）、（Ｃ）、（Ａ及びＢ）、（Ｂ及びＣ）、（Ａ及びＣ）又は（Ａ、Ｂ、及びＣ）を意味し得る。同様に、「Ａ、Ｂ又はＣのうちの少なくとも１つ」との形式のリストに含まれるアイテムは、（Ａ）、（Ｂ）、（Ｃ）、（Ａ及びＢ）、（Ｂ及びＣ）、（Ａ及びＣ）、又は（Ａ、Ｂ、及びＣ）を意味し得る。
【００１７】
開示した実施形態は、幾つかの場合には、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組み合わせで実装できる。開示の実施形態は、一以上の一時的又は非一時的な機械読み取り可能（例えば、コンピュータ読み取り可能）記憶媒体により担われ、又はそれに格納された（一以上のプロセッサにより読み取られ実行され得る）命令として実装することもできる。機械読み取り可能記憶媒体は、機械により読み取り可能な形式で情報を格納又は送信する任意のストレージデバイス、メカニズム、又はその他の物理的構造（例えば、揮発性又は不揮発性メモリ、メディアディスク、又はその他のメディアデバイス）として実施できる。
【００１８】
図中、幾つかの構造的又は方法フィーチャを具体的な構成及び／又は順序で示すかも知れない。しかし、言うまでもなく、かかる具体的な構成及び／又は順序は必須ではない場合がある。むしろ、幾つかの場合には、かかるフィーチャは、例示した図面に示したのとは異なる方法及び／又は順序で構成することもできる。また、ある図面に構造的又は方法フィーチャを含めることは、かかるフィーチャがすべての実施形態において必要であることを意味するのではなく、幾つかの実施形態では、含まれなくてもよいし、他のフィーチャと組み合わされてもよい。
【００１９】
ここで図１を参照する。図１に示すように、例示的な実施形態では、車両１００は、本明細書で説明される機能を実行することができる任意のタイプのコンピューティングシステムとして具体化され得る車載コンピューティングシステム１０２を含む。例示的な実施形態では、車両１００は、車輪付き乗用車（例えば、自動車、トラック、トラックトラクター、バスなど）として具体化される。しかしながら、言うまでもなく、他の実施形態では、車両１００は、別のタイプの車両（例えば、レール駆動トロリー、無人車両、または説明される技術および機構の適用に適した別の車両）として実施されてもよく、または他の可動装置として実施されてもよい。本明細書で説明されるように、車載コンピューティングシステム１０２は、魚眼画像を取得し、その魚眼画像を仮想ボウル形状投影面（ｖｉｒｔｕａｌ  ｂｏｗｌ−ｓｈａｐｅｄ  ｐｒｏｊｅｃｔｉｏｎ  ｓｕｒｆａｃｅ）に投影して、運転者が見るための対応するボウル形状画像（ｂｏｗｌ−ｓｈａｐｅｄ  ｉｍａｇｅ）を生成するように構成される。
【００２０】
さらに、車載コンピューティングシステム１０２は、車両１００を取り囲む周辺のオブジェクトを識別し、車両１００に対するそのオブジェクトの距離および／または位置を決定する。特に、例示的な実施形態では、車載コンピューティングシステム１０２は、識別されたオブジェクトの輪郭を仮想平面に投影する（図８及び図９を参照）。車載コンピューティングシステム１０２は、さらに、仮想平面上の投影された輪郭の底部（例えば、輪郭を囲むボックスの下の中点）を特定し、仮想的な線（すなわち、投影された輪郭の底部および対応する魚眼画像を取得した魚眼カメラを通る線）の地平面との交点を決定する。このように、言うまでもなく、車載コンピューティングシステム１０２は、例示的な実施形態では、オブジェクト（例えば、歩行者）が地平面に立っているか地上に配置されていると仮定する。以下でより詳細に説明するように、車載コンピューティングシステム１０２は、決定された交点および投影された輪郭の底部に基づいて、（例えば、それらのパラメータに基づいてカルマンフィルタを適用することによって）車両１００に対する識別されたオブジェクトの位置を決定する。このように、言うまでもなく、車載コンピューティングシステム１０２は、レーダ、フォトニックミキサーデバイス（ＰＭＤ）、ステレオカメラ、近接／動きセンサ、および／または従来からオブジェクトの距離を決定するために使用される他のセンサを使用することなく、車両１００からのオブジェクトの距離および相対位置を決定する。むしろ、車載コンピューティングシステム１０２は、本明細書に記載の周辺車両監視システムを使用する。
【００２１】
いくつかの実施形態では、車載コンピューティングシステム１０２は、車載インフォテインメントシステム、ナビゲーションシステム、および／または他の車両ベースのコンピューティングシステムとして実施されてもよく、またはそれらの一部を構成してもよい。他の実施形態では、車載コンピューティングシステム１０２は、スタンドアロンコンピューティングデバイスまたはコンピューティングシステムとして実施されてもよいさらに、いくつかの実施形態では、遠隔コンピューティングデバイスが、車載コンピューティングシステム１０２と通信可能に結合され、本明細書で説明される機能の１つまたは複数を（例えば、遠隔から）実行し、結果を車載コンピューティングシステム１０２に、ネットワーク（例えば、有線または無線の通信ネットワーク）を介して通信するように構成されてもよい。そのような実施形態では、リモートコンピューティングデバイスは、車載コンピューティングシステム１０２と通信し、本明細書に記載の機能を実行できる任意のタイプのコンピューティングシステム（例えば、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ノートブック、ネットブック、ウルトラブック（商標）、セルラフォン、スマートフォン、パーソナルデジタルアシスタント、モバイルインターネットデバイス、ウェアラブルコンピューティングデバイス、ハイブリッドデバイス、および／または任意の他のコンピューティング／通信デバイス）として実施してもよい。
【００２２】
図１に示したように、例示の車載コンピューティングシステム１０２は、プロセッサ１１０、入出力（Ｉ／Ｏ）サブシステム１１２、メモリ１１４、データストレージ１１６、ディスプレイ１１８、カメラシステム１２０、ユーザインターフェース１２２、及び、幾つかの実施形態では、一以上の周辺デバイス１２４を含む。また、カメラシステム１２０は一以上のカメラ１２６を含み、ユーザインターフェース１２２は仮想カメラコントロール１２８を含む。もちろん、車載コンピューティングシステム１０２は、他の一実施形態では、典型的なコンピューティングデバイスに一般的に見つかるようなその他の又は追加的なコンポーネント（例えば、通信回路、様々な入出力デバイス、及び／又はその他のコンポーネントなど）を含み得る。また、幾つかの実施形態では、例示したコンポーネントのうち一以上は、他のコンポーネントに組み込まれていても良く、又はその一部を構成していても良い。例えば、メモリ１１４又はその部分は、幾つかの実施形態では、プロセッサ１１０に組み込まれても良い。
【００２３】
プロセッサ１１０は、ここに説明する機能を実行できる任意のタイプのプロセッサとして実施できる。例えば、このプロセッサは、シングル又はマルチコアプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラ、又はその他のプロセッサ又は処理／制御回路として実施できる。同様に、メモリ１１４は、ここに説明する機能を実行できる、任意のタイプの揮発性又は不揮発性メモリ又はデータストレージとして実施できる。動作中、メモリ１１４は、オペレーティングシステム、アプリケーション、プログラム、ライブラリ、及びドライバなど、車載コンピューティングシステム１０２の動作中に用いられる様々なデータとソフトウェアを記憶できる。メモリ１１４は、Ｉ／Ｏサブシステム１１２を介してプロセッサ１１０に通信可能に結合している。Ｉ／Ｏサブシステム１１２は、プロセッサ１１０、メモリ１１４、及び車載コンピューティングシステム１０２のその他のコンポーネントとの入出力動作を容易にする回路及び／又はコンポーネントとして実施できる。例えば、Ｉ／Ｏサブシステム１１２は、メモリコントローラハブ、入出力制御ハブ、ファームウェアデバイス、通信リンク（すなわち、ポイント・ツー・ポイントリンク、バスリンク、ワイヤ、ケーブル、光ガイド、プリント回路板トレースなど）及び／又は入出力動作を容易にするその他のコンポーネント及びサブシステムとして、又はこれらを含むものとして実施できる。幾つかの実施形態では、Ｉ／Ｏサブシステム１１２は、システム・オン・チップ（ＳｏＣ）の一部を形成でき、単一の集積回路チップ上にプロセッサ１１０、メモリ１１４、及び車載コンピューティングシステム１０２のその他のコンポーネントとともに、組み込むことができる。
【００２４】
データストレージ１１６は、例えば、メモリデバイスと回路、メモリカード、ハードディスクドライブ、固体ドライブ、その他の記憶デバイスなどの、データを短期又は長期にわたり格納するように構成された任意のタイプのデバイスとして実施できる。データストレージ１１６および／またはメモリ１１４は、例えば、取得され処理された画像、画像フィルタ、構成要素パラメータ（例えば、カメラ１２６の固有パラメータ）、カメラシステム１２０のジオメトリに関するデータ、および／または後述の車載コンピューティングシステム１０２の動作に有用な他のデータなど、様々なデータを、車載コンピューティングシステム１０２の動作中に格納してもよい。
【００２５】
車載コンピューティングシステム１０２のディスプレイ１１８は、車載コンピューティングシステム１０２のユーザ（例えば、車両１００の運転者または乗客）に情報を表示することができる任意の１つまたは複数の表示画面として実施することができる。ディスプレイ１１８は、例えば、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）ディスプレイ、陰極線管（ＣＲＴ）ディスプレイ、プラズマディスプレイ、ホログラフィックまたは他の三次元（３Ｄ）ディスプレイ、および／または他のディスプレイ技術などを含む任意の適切なディスプレイ技術として実施され、又はそれらを使用してもよい。図１には、単一のディスプレイ１１８のみが示されているが、言うまでもなく、車載コンピューティングシステム１０２は、同じまたは異なるコンテンツが互いに同時にまたは順次に表示される複数のディスプレイまたはディスプレイ画面を含むことができる。ディスプレイ１１８は、様々な車両動作パラメータおよび／または車載インフォテイメント情報（例えば、ラジオ局、温度制御など）が表示される汎用ディスプレイとして実施されてもよい。あるいは、ディスプレイ１１８は、後述するように、カメラシステム１２０によって生成された画像を表示するための特定用途ディスプレイとして実施されてもよい。
【００２６】
カメラシステム１２０は、１つ以上のカメラ１２６を含み、これは車両１００の周囲環境、より具体的には車載コンピューティングシステム１０２の周囲環境の画像を取得するために使用され得る。言うまでもなく、例示的な実施形態では、カメラシステム１２０のカメラ１２６は、車両１００の３６０°全体の周囲またはその大部分を取得するように適切に離間されている。さらに、いくつかの実施形態では、カメラ１２６相互の配置、および／または車両１００に対するカメラ１２６の配置に関連するジオメトリ（ｇｅｏｍｅｔｒｙ）は、既知であるか、または決定することができる。
【００２７】
カメラ１２６の各々は、スチルカメラ、ビデオカメラ、ウェブカメラ、またはビデオおよび／または画像を取り込むことができる他の装置のような、画像を取り込むのに適した任意の周辺装置または一体化装置として実施することができる。例示的な実施形態では、カメラ１２６の各々は、車両１００の完全な、またはほぼ完全な周囲の取得を容易にする魚眼カメラとして実施される。もちろん、他の実施形態では、他のタイプの広角カメラ又は狭角カメラが、例えば、車両１００のタイプ、使用されるカメラ１２６のタイプ、使用されるカメラ１２６の数、および／または他の基準に応じて使用されてもよい。さらに、カメラシステム１２０は、そのような様々な基準に応じて車両１００の周囲を取得する２つ以上のカメラ１２６を含むことができる。例示的な実施形態では、カメラシステム１２０は、車両１００の全周囲を取得するために、車両１００に取り付けられた、または一体化された４つの魚眼カメラ１２６（すなわち、魚眼レンズを有するカメラ１２６）を含み、そうするために必要なカメラ１２６の数を最小限に抑えている。例えば、図２の例示的な実施形態に示されるように、車両１００の四辺（前後、運転席側、助手席側）のそれぞれにカメラ１２６を搭載してもよい。もちろん、他の実施形態では、車載コンピューティングシステム１０２は、異なる数、タイプ、および／または相対的な位置のカメラ１２６を利用してもよい。例えば、別の実施形態では、カメラ１２６は、車両１００の他の場所（例えば、車両１００の隅部）に配置してもよい。具体的な実施形態に応じて、カメラシステム１２０のカメラ１２６は、同じタイプであってもよいし、異なるタイプであってもよい。例えば、いくつかの実施形態では、カメラシステム１２０の１つまたは複数のカメラ１２６が魚眼レンズを有し、１つまたは複数のカメラ１２６が従来のレンズを有することができる。
【００２８】
ユーザインターフェース１２２は、車載コンピューティングシステム１０２のユーザが車載コンピューティングシステム１０２と対話することを可能にする。例えば、以下に説明するように、ユーザは、車載コンピューティングシステム１０２と対話して、車両１００の周囲をディスプレイ１１８上に表示することができる。このように、いくつかの実施形態では、ユーザインターフェース１２２は、Ｉ／Ｏ機能を可能にする１つ以上の仮想的および／または物理的ボタン、ノブ、スイッチ、キーパッド、タッチスクリーン、および／または他の機構を含む。例えば、いくつかの実施形態では、ユーザインターフェース１２２は、車両１００のナビゲーションシステムまたはインフォテイメントシステムと一体化されてもよい。上述したように、ユーザインターフェース１２２は、例示的な実施形態では仮想カメラ制御１２８を含む。仮想カメラ制御１２８は、車載コンピューティングシステム１０２のユーザが、車載コンピューティングシステム１０２の仮想カメラ２０２（図２参照）の視野を（例えば、仮想カメラを「動かして」）修正できるようにする。以下で詳細に説明するように、仮想カメラ２０２は、ディスプレイ１１８上にレンダリングされる画像を「取得」する。これは、カメラ１２６の１つによって取得される単一の画像または複数のカメラ１２６（例えば、隣接するカメラ１２６）によって取得された画像の組み合わせに対応してもよい。したがって、仮想カメラ２０２を回転させるかまたは移動させ、それによって仮想カメラ２０２の視野を変更することによって、表示される画像は、車載コンピューティングシステム１０２のユーザによって調整され得る。以下でさらに詳細に説明するように、ボウル形状画像は、カメラ１２６によって取得され、車載コンピューティングシステム１０２によって処理される車両１００の周囲の画像に基づいて生成される。このように、いくつかの実施形態では、複数のカメラ１２６からの視野の組み合わせを含んでもよい仮想カメラ２０２の視野に基づいて、ボウル形状画像（ｂｏｗｌ  ｓｈａｐｅｄ  ｉｍａｇｅ）をディスプレイ１１８上にレンダリングすることができる。例えば、ボウル形状画像は、そのボウル形状画像が仮想カメラ２０２によって（例えば、ボウル形状画像の上／下から、遠く／近くから、内側／外側から）「取得」される視点に基づいて表示されてもよい。
【００２９】
幾つかの実施形態では、車載コンピューティングシステム１０２は、一以上の周辺デバイス１２４を含んでいても良い。周辺装置１２４は、スピーカ、マイクロホン、追加の記憶装置などの任意の数の追加の周辺装置またはインタフェース装置を含むことができる。周辺デバイス１２４に含まれる具体的なデバイスは、例えば、車載コンピューティングシステム１０２のタイプおよび／または意図された使用（例えば、車載コンピューティングシステム１０２がスタンドアロンシステムであるか、より大型の車載インフォテインメントシステムに組み込まれているか）に依存する。言うまでもなく、具体的な実施形態に応じて、車載コンピューティングシステム１０２の１つ以上のコンポーネント（例えば、仮想カメラコントロール１２８および／または周辺デバイス１２４）を省略することができる。
【００３０】
ここで図３を参照して、使用中、車載コンピューティングシステム１０２は、車両１００を取り囲む物理的環境を表示し、車両１００からのオブジェクトの距離を決定する環境３００を確立する。上述し、以下により詳しく説明するように、車載コンピューティングシステム１０２は、外部センサを用いることなく、車両１００からのオブジェクトの距離を決定する。代わりに、車載コンピューティングシステム１０２は、オブジェクトの輪郭を仮想平面に投影し、仮想平面内の投影された輪郭の底部に基づいてカルマンフィルタを適用して、オブジェクトの位置を決定する。
【００３１】
車載コンピューティングシステム１０２の例示的な環境３００は、画像取得モジュール３０２、ボウル生成モジュール３０４、表示モジュール３０６、カメラ制御モジュール３０８、オブジェクト投影モジュール３１０、及び位置決定モジュール３１２を含む。さらに、オブジェクト投影モジュール３１０は、オブジェクト識別モジュール３１４、輪郭決定モジュール３１６、および仮想平面決定モジュール３１８を含む。例示的な位置決定モジュール３１２は、ジオメトリ決定モジュール３２０およびカルマンフィルタモジュール３２２を含む。環境３００のモジュールは、それぞれ、ハードウェア、ファームウェア、ソフトウェア、またはこれらの組み合わせとして実施されてもよい。例えば、環境３００のモジュール、ロジック、および他のコンポーネントのそれぞれは、プロセッサ１１０または車載コンピューティングシステム１０２の他のハードウェアコンポーネントの一部を形成するか、そうでなければ確立または実行されてもよい。また、幾つかの実施形態では、例示のモジュールのうち１つ以上は、他のモジュールの一部を構成してもよく、及び／又は例示のモジュールのうち１つ以上は、スタンドアロンまたは独立なモジュールとして実施されてもよい。言うまでもなく、いくつかの実施形態では、２０１３年１２月１９日に出願された国際特許出願ＰＣＴ／ＵＳ２０１３／０７６６４４号に記載されている技術および／またはモジュールの１つまたは複数を、車載コンピューティングシステム１０２により利用されても、および／または本明細書に記載の環境３００に含まれてもよい。同様に、本明細書に記載の技術および／またはモジュールは、国際特許出願ＰＣＴ／ＵＳ２０１３／０７６６４４号に記載されている車載コンピューティングシステムのいくつかの実施形態で利用することができる。
【００３２】
画像取得モジュール３０２は、カメラシステム１２０のカメラ１２６を制御して、各カメラ１２６の視野内のシーンの画像／ビデオを取得する。具体的な実施形態に応じて、画像取得モジュール３０２が、（例えば、ビデオストリームとして）連続的に、定期的に、時間的または条件的入力に応じて、それらの組み合わせとして、または別の方式に基づいて、画像を取り込むよう、各カメラ１２６に命令してもよい。例えば、カメラ１２６は、車両１００のトランスミッション（ｔｒａｎｓｍｉｓｓｉｏｎ）が反転モード（ｒｅｖｅｒｓｅ  ｍｏｄｅ）にあるとき、および／または車両１００がある閾値速度より遅く動いているときに、画像を取り込むことができる。
【００３３】
ボウル生成モジュール３０４は、カメラシステム１２０のカメラ１２６により取得された画像が、またはその処理されたバージョン（例えば、結合された画像）が、車載コンピューティングシステム１０２のユーザ（例えば、車両１００の運転者）が見るよう投影される仮想ボウル形状投影面４０２（図４参照）を生成する。ほとんどの車載撮像システムでは、車載カメラによって取得された画像の視覚化は、車両がある地平面４０４（図４参照）に位置していないそれらのオブジェクトの著しい歪みをもたらす。例示的な実施形態では、仮想ボウル形状投影面４０２は、例えば、仮想ボウル形状投影面４０２の滑らかさ、仮想ボウル形状投影面４０２と地平面４０４の間のスムースな移行、および地平面４０４におけるボウル形状投影面４０２の平坦度などのはっきりと規定されたジオメトリ的特徴を有する。例示的な実施形態では、車両１００のサイズに関するさまざまなパラメータ（例えば、長さ、幅、高さなど）および／またはその他の特徴（例えば、ボウルの高さ、水平オフセット、適応比（ａｄａｐｔｉｖｅ  ｒａｔｉｏｓ）など）に基づき、ボウル生成モジュール３０４は、仮想ボウル形状の投影面４０２の所望の形状（ｇｅｏｍｅｔｒｙ）を決定し、（例えば、仮想ボウル形状投影面４０２の各水平スライス４０６を構成することにより）仮想ボウル形状の投影面４０２を構成する。いくつかの実施形態では、各水平スライスは、具体的な実施形態に依存する幅（例えば、不均一な幅）を有することができる。
【００３４】
言うまでもなく、例示的な実施形態では、仮想ボウル形状投影面４０２は、車両１００またはその仮想表示が、地平面４０４上のボウル形状の投影面４０２の内側に配置されるように形成される。詳細に後述するように、ボウル生成モジュール３０４は、その情報に基づいて、車両１００の長さに沿ってボウル形状投影面４０２の垂直スライス４０８（図４参照）の主および副の半軸（ｍａｊｏｒ  ａｎｄ  ｍｉｎｏｒ  ｓｅｍｉ−ａｘｅｓ）を決定する。さらに、ボウル生成モジュール３０４は、仮想ボウル形状投影面４０２の（例えば、ボトム４１０からトップ４１２までの）各水平スライスに対して、垂直スライス４０８の主半軸及び副半軸に基づいて、対応する水平スライスの主半軸を決定し、対応する水平スライスの主半軸と副半軸との間の適応比に基づいて、対応する水平軸の副半軸を決定する。以下に説明するように、例示的な実施形態では、適応比は直線的に変化し、ボウル形状投影面４０２の頂部４１２において約１（すなわち１．０）であり、ボウル形状投影面４０２のボトム４１０において、車両１００の長さを車両１００の幅で割った比（すなわち、
【数１】
0006453449.tif 000002
）に等しい。したがって、ボウル形状投影面４０２の一番上の水平スライスは、円形ジオメトリ形状（ｃｉｒｃｕｌａｒ  ｇｅｏｍｅｔｒｙ  ｓｈａｐｅ）を有し、一番下の水平スライスは、非円形楕円ジオメトリ形状（ｎｏｎ−ｃｉｒｃｕｌａｒ  ｅｌｌｉｐｔｉｃａｌ  ｇｅｏｍｅｔｒｉｃ  ｓｈａｐｅ）を有する（すなわち、一番下の水平スライスは、その長軸が短軸と等しくない楕円を確定する）。ボウル形状投影面４０２の最も大きな水平スライスは、面４０２の垂直方向の中央に向かっている。
【００３５】
ボウル生成モジュール３０４はさらに、水平スライスを結合して仮想ボウル形状投影面４０２を生成する。例えば、ボウル生成モジュール３０４は、ボウル形状投影面４０２の水平スライスを積み重ね、これらのスライスをマージ（ｍｅｒｇｅ）して、ボウル形状投影面４０２を形成することができる。さらに、ボウル生成モジュール３０４は、平らな地平面４０４（または、より具体的には部分平面）であるボウルのボトム４１０を生成してマージすることができる。言うまでもなく、ボウル形状投影面４０２の頂部４１２は部分的に開いており、車両１００の上方の環境の部分はボウル形状投影面４０２の頂部に投影することができる。例示的な実施形態では、地平面４０４に隣接して生成された仮想ボウル形状投影面４０２のセクションがフィルタリングされるか、さもなければ平滑化される。すなわち、ボウル形状投影面４０２の底部は、ボウル形状投影面４０２の頂部が、ボウル形状投影面４０２の頂４１２に接近するよりも遅い速度で、ボウル形状の投影面４０２の底４１０（即ち、地平面４０４）に接近する。
【００３６】
言うまでもなく、この例示的な実施形態では、ボウル形状投影面４０２に投影される画像（本明細書では「ボウル形状画像」と呼ぶ）は、ボウル形状投影面に関して上述した特徴を含むことになる（すなわち、ボウル形状画像は、頂部の導関数の絶対値よりも小さい絶対値を有する導関数を有する底部を含むことになる）。さらに、ボウル形状投影面４０２の底部は、ボウル形状投影面４０２の地平面４０４とマージ（ｍｅｒｇｅ）して、任意の場所における表面の微分を確定する（すなわち、特異点が存在しない）ようにする。言うまでもなく、ボウル生成モジュール３０４は、任意の適切な画像フィルタ、アルゴリズム、技術、および／または機構を使用して、仮想ボウル形状投影面およびボウル形状画像を生成してもよい。もちろん、いくつかの実施形態では、ボウル生成モジュール３０４は、本明細書で説明する図４の仮想ボウル形状投影面４０２とは異なる特徴を有する仮想ボウル形状投影面を生成してもよい。
【００３７】
表示モジュール３０６は、車載コンピューティングシステム１０２のユーザが見る画像を、ディスプレイ１１８上にレンダリングする。例えば、表示モジュール３０６は、ボウル生成モジュール３０４によって生成された仮想ボウル形状投影面４０２上に１つ以上の魚眼画像、処理された画像、および／または他のタイプの画像を「投影」して、ボウル形状画像を生成し、ディスプレイ１１８上にボウル形状画像またはその一部を表示することができる。当然のことながら、言うまでもなく、いくつかの実施形態では、生成された画像または結合された画像は、従来の意味でボウル形状投影面４０２に「投影」されるのではなく、むしろ、生成された画像は、あたかも画像がボウル形状投影面４０２上に投影されたかのように、上述した特徴を含むボウル形状を有するように修正されてもよい。
【００３８】
上述したように、いくつかの実施形態では、表示モジュール３０６は、車載コンピューティングシステム１０２の仮想カメラ２０２の視野内にボウル形状画像の部分のみをレンダリングすることができる。したがって、ボウル形状画像は、３次元表面上に「投影」された画像として実施されてもよいが、ディスプレイ１１８は、いくつかの実施形態において、ボウル形状画像の２次元パースペクティブ（ｔｗｏ−ｄｉｍｅｎｓｉｏｎａｌ  ｐｅｒｓｐｅｃｔｉｖｅ）をレンダリングすることができる。例示的な実施形態では、カメラ制御モジュール３０８は、仮想カメラ２０２の視点を決定し、仮想カメラ制御１２８と共に、車載コンピューティングシステム１０２のユーザが仮想カメラ２０２の視野を修正することを許可する。
【００３９】
オブジェクト投影モジュール３１０は、識別されたオブジェクト（例えば、その輪郭）を複数の仮想平面から選択された仮想平面に投影するように構成される。上記の通り、例示の実施形態では、オブジェクト投影モジュール３１０は、オブジェクト識別モジュール３１４、輪郭決定モジュール３１６、および仮想平面決定モジュール３１８を含む。
【００４０】
オブジェクト識別モジュール３１４は、車両１００を取り囲む近傍のオブジェクトを識別する。特に、例示的な実施形態では、オブジェクト識別モジュール３１４は、魚眼カメラ１２６のうちの１つによって取得された魚眼画像内のオブジェクトを識別する。言うまでもなく、オブジェクト識別モジュール３１４は、任意の適切な技術、アルゴリズム、および／またはそのためのメカニズムを利用してもよい。例えば、いくつかの実施形態では、オブジェクトは、２０１３年１２月１９日に出願された国際特許出願ＰＣＴ／ＵＳ２０１３／０７６６４４号に記載されているオプティカルフロー、セグメンテーション、および／または分類技術の１つまたは複数を用いて識別することができる。幾つかの実施形態では、車載コンピューティングシステム１０２は、車両１００までの移動オブジェクトの距離のみを決定するので、オブジェクト識別モジュール３１４は、車両１００に対して動いているオブジェクト（例えば、歩行者）を識別する。上述したように、例示的な実施形態では、車載コンピューティングシステム１０２は、オブジェクトが、車両１００からのオブジェクトの距離を決定する際に、地平面に配置されているものと仮定する。したがって、いくつかの実施形態では、オブジェクト識別モジュール３１４は、識別されたオブジェクトが実際に地平面に配置されているか、または近似的に地平面に配置されるか（例えば、オブジェクトの距離を決定する前に）決定してもよい。勿論、ここでは車両１００からの１つのオブジェクトの距離を決定することを参照して技術とアルゴリズムを説明するが、いくつかの実施形態では、車載コンピューティングシステム１０２は、車両１００からの複数のオブジェクトおよび／またはオブジェクトのコレクション／セットの距離を決定することができる。
【００４１】
輪郭決定モジュール３１６は、仮想平面に投影するために、取得された魚眼画像において識別されたオブジェクトの輪郭を決定する。言うまでもなく、輪郭決定モジュール３１６は、任意の適切な技術、アルゴリズム、および／またはメカニズムを用いて、オブジェクトの輪郭を決定してもよい。例えば、輪郭決定モジュール３１６は、エッジ検出アルゴリズム（例えば、Ｃａｎｎｙエッジ検出、Ｓｏｂｅｌフィルタなど）、画像セグメンテーションアルゴリズム（例えば、流域セグメンテーション、ピラミッドセグメンテーションなど）、および／または識別されたオブジェクトの輪郭を決定するその他の画像フィルタ／アルゴリズムを利用してもよい。もちろん、いくつかの実施形態では、車載コンピューティングシステム１０２は、オブジェクトの識別によってオブジェクトの輪郭を決定することができる。すなわち、魚眼画像内のオブジェクトを識別する、車載コンピューティングシステム１０２によって使用される技術、アルゴリズム、および／またはメカニズムは、同時にオブジェクトの輪郭（例えば、一定のエッジ検出アルゴリズムおよびセグメンテーションアルゴリズム）を決定することができる。
【００４２】
言うまでもなく、いくつかの実施態様では、魚眼画像内のオブジェクトの識別された輪郭の周りにバウンディングボックス（ｂｏｕｎｄｉｎｇ  ｂｏｘ）を配置し、それを利用して、車両１００からのオブジェクトの距離および／またはオブジェクトの寸法を推定できる。しかしながら、カメラ１２６の傾斜角および魚眼画像の魚眼の歪みは、例えば、オブジェクトの実際の寸法よりもはるかに大きなバウンディングボックスをもたらす可能性がある。換言すれば、そのような実装は、状況によっては不正確および／または信頼できない結果を与える可能性がある。したがって、例示的な実施形態では、オブジェクトの輪郭は仮想平面に投影され、それらの誤差を最小化または減少させる。具体的には、仮想平面決定モジュール３１８は、複数の仮想平面８０２から、オブジェクトの輪郭を投影する仮想平面８０２（図８参照）を選択する。以下により詳細に説明するように、仮想平面８０２は特定の構成で構成することができ、投影のために選択される仮想平面８０２は、例えば、識別されたオブジェクトのおよその位置および／またはオブジェクトを取得した魚眼カメラ１２６の位置に基づいて選ばれてもよい。オブジェクト投影モジュール３１０は、図９に示すように、オブジェクトの輪郭を選択された仮想平面に投影する。
【００４３】
位置決定モジュール３１２は、車両１００に対するオブジェクトの位置を決定する。上述のように、例示的な実施形態では、位置決定モジュール３１２は、ジオメトリ決定モジュール３２０およびカルマンフィルタモジュール３２２を含む。ジオメトリ決定モジュール３２０は、例えば、オブジェクトの投影された輪郭の幾何学的特徴及び／又は投影された輪郭と他の構成要素との関係及び／又は車載コンピューティングシステム１０２により生成又は決定された仮想構造体などの様々な幾何学的特徴及び関係を決定するように構成される。ジオメトリ決定モジュール３２０は、図９に示すように、選択された仮想平面に投影されたオブジェクトの輪郭の底を決定する。特に、例示的な実施形態では、ジオメトリ決定モジュール３２０は、仮想平面８０２に投影されたオブジェクトの輪郭９０４のバウンディングボックス９０２を決定し、そのバウンディングボックス９０２の底部中点（ｂｏｔｔｏｍ  ｍｉｄｄｌｅ  ｐｏｉｎｔ）９０６を決定する。さらに、ジオメトリ決定モジュール３２０は、オブジェクトの輪郭の底部（例えば、底部中点９０６）およびオブジェクトの輪郭が投影された魚眼画像を取得した魚眼カメラ１２６（例えば、そのカメラ１２６の中心）の両方を通る（すなわち、交差する）線を決定する。さらに、ジオメトリ決定モジュール３２０は、その線の、地平面（例えば地平面４０４を含む平面）との交点を決定する。
【００４４】
位置決定モジュール３１２は、決定された交点およびオブジェクトの輪郭の底部（例えば、バウンディングボックス９０２の底部中点９０６）に基づいて、車両１００に対するオブジェクトの位置を決定する。具体的には、例示的な実施形態では、カルマンフィルタモジュール３２２は、カルマンフィルタ（例えば、拡張カルマンフィルタ）を適用して、交点およびオブジェクトの輪郭の底部に基づいて、車両１００に対するオブジェクトの位置を決定する。言うまでもなく、カルマンフィルタは、例えば、確定された状態ベクトル、状態遷移行列、および測定ベクトルに基づいて状態を推定するために適用されてもよい。図７に関して以下により詳細に説明するように、例示的な実施形態では、交点に対応する状態ベクトル、オブジェクトの輪郭の底部に対応する測定ベクトル、およびブラウン運動に対応する状態遷移行列を使用してカルマンフィルタが適用される例えば、以下に説明するように、車載コンピューティングシステム１０２は、上述した地平面を通る線の交点を確定する解析的式を決定し（または読み出し）、カルマンフィルタを再帰的に適用して、状態ベクトル（例えば、交点）を再帰的に推定する。ヤコビ行列は、ベクトル関係の非線形性に起因する共分散を扱うためにも利用される。
【００４５】
ここで図５ないし図６を参照すると、使用中、車載コンピューティングシステム１０は、車両１００からのオブジェクトの距離を決定する方法５００を実行することができる。上述したように、本明細書で説明する方法は、一般に、魚眼カメラ１２６およびそのようなカメラ１２６によって生成される魚眼画像に関して説明される。しかし、これらの方法は、他のタイプのカメラ１２６および／または画像にも適用可能である。例示的な方法５００は、図５のブロック５０２から始まり、車載コンピューティングシステム１０２は、魚眼カメラ１２６の１つから魚眼画像を受信する。上述のように、例示的な実施形態では、車両１００は、例えば車両１００の３６０°周囲全体を取得するように戦略的に配置された４つの魚眼カメラ１２６を含む。したがって、車載コンピューティングシステム１０２は、取得された魚眼画像の１つを選択して、選択された魚眼画像１２６を撮像した魚眼カメラ１２６の視野に対応する、車両１００の周りの付近にオブジェクトがあるか決定し、もしあれば、識別されたオブジェクトの距離を決定する。
【００４６】
ブロック５０４において、車載コンピューティングシステム１０２は、受け取った／選択された魚眼画像のオブジェクトを識別する。上述の通り、車載コンピューティングシステム１０２は、そうするために、任意の適切な技術、アルゴリズム、および／またはメカニズムを利用することができる。例えば、いくつかの実施形態では、車載コンピューティングシステム１０２は、エッジ検出、画像セグメンテーション、オプティカルフロー、オブジェクト分類、および／または魚眼画像内のオブジェクトを識別する他の技術を利用することができる。特に、いくつかの実施形態では、車載コンピューティングシステム１０２は、２０１３年１２月１９日に出願された国際特許出願ＰＣＴ／ＵＳ２０１３／０７６６４４号に記載された１つ以上の技術を利用してもよい。上記の通り、幾つかの実施形態では、車載コンピューティングシステム１０２は、魚眼画像に取得された移動オブジェクト（例えば、歩行者）が存在するか否かを決定する。もちろん、いくつかの実施形態では、車載コンピューティングシステム１０２は、魚眼画像内の複数のオブジェクトを識別することができ、その場合、車載コンピューティングシステム１０２は、車載コンピューティングシステム１０２からの距離を決定する識別されたオブジェクトの１つを選択する。
【００４７】
ブロック５０６において、車載コンピューティングシステム１０２は、オブジェクトが、取得された魚眼画像に識別されたか決定する。そうでない場合、方法５００は、ブロック５０２に戻り、車載コンピューティングシステム１０２が別の魚眼画像を受信する。例えば、いくつかの実施形態では、車載コンピューティングシステム１０２は、他の魚眼カメラ１２６のうちの１つによって取得された魚眼画像を選択して、その魚眼カメラ１２６の視野内にオブジェクトが存在するか否かを決定する。しかしながら、オブジェクトが識別された場合、ブロック５０８において、車載コンピューティングシステム１０２は、識別されたオブジェクトの輪郭を決定する。上記の通り、そうする時、車載コンピューティングシステム１０２は、例えば、エッジ検出アルゴリズム（例えば、Ｃａｎｎｙエッジ検出、Ｓｏｂｅｌフィルタなど）、画像セグメンテーションアルゴリズム（例えば、流域（ｗａｔｅｒｓｈｅｄ）セグメンテーション、ピラミッドセグメンテーションなど）、および／またはその他の画像フィルタ／アルゴリズムを利用してもよい。さらに、具体的な実施形態および利用されるアルゴリズムに応じて、車載コンピューティングシステム１０２は、魚眼画像内のオブジェクトを識別し、魚眼画像内のオブジェクトの輪郭を同時に決定することができる。
【００４８】
ブロック５１０において、車載コンピューティングシステム１０２は、オブジェクトの輪郭を仮想平面に投影する。そうすることで、車載コンピューティングシステム１０２は、ブロック５１２においてオブジェクトの輪郭を投影する複数の仮想平面８０２から１つの仮想平面８０２（図８参照）を選択する。例示的な実施形態では、車載コンピューティングシステム１０２は、図８に示す構成において、８つの仮想平面８０２（すなわち、仮想平面８０４、８０６、８０８、８１０、８１２、８１４、８１６、８１８）のセットを生成するか、決定する。特に、図８の例示的な実施形態では、仮想平面８０４、８１２は、車両１００の側面８２０に平行である。さらに、仮想平面８０８、８１６は、車両１００の後部８２２に平行であり、車両１００の側面８２０に直交する。仮想平面８０６、８１４は、互いに平行であり、仮想平面８０４、８０８に対して４５度の角度である。さらに、仮想平面８１０、８１８は互いに平行であり、仮想平面８０６、８１４に対して直交し、仮想平面８０８、８１２に対して４５度の角度である。さらに、例示的な実施形態では、仮想平面８０４、８０６、８０８、８１０、８１２、８１４、８１６、８１８の各々は、地平面（ｇｒｏｕｎｄ  ｐｌａｎｅ）（すなわち、車両１００が配置される平面と一致する平面）に対して直交する。
【００４９】
言うまでもなく、いくつかの実施形態では、８つの仮想平面８０２が存在する例示的な実施形態とは異なる数の仮想平面８０２が存在し得る。さらに、いくつかの実施形態では、車載コンピューティングシステム１０２により生成／決定される複数の仮想平面８０２は、車両１００のカメラシステム１２０内にある魚眼カメラ１２６の少なくとも２倍の仮想平面８０２を含む。例えば、いくつかの実施形態では、仮想平面８０２は、各魚眼カメラ１２６の光軸に対して直交して配置され、仮想平面８０２は、直交配置された仮想平面８０２の「間に」角度をなして配置されてもよい。上述したように、車載コンピューティングシステム１０２が、オブジェクトの輪郭を投影する仮想平面８０２を選択する方法は、その実施形態に応じて変化し得る。いくつかの実施形態では、車載コンピューティングシステム１０２は、識別されたオブジェクトに最も近い（例えば、仮想ボウル形状投影面４０２上へのオブジェクトの投影に最も近い）仮想平面８０２を選択する。例えば、例示的な実施形態では、魚眼画像がフロントカメラ１２６によって取得された場合、車載コンピューティングシステム１０２は、オブジェクトの輪郭の投影のために仮想平面８０６、８０８、８１０のうちの１つを選択することができる。別の実施形態では、車載コンピューティングシステム１０２は、魚眼カメラ１２６（すなわち、オブジェクトの輪郭が識別された魚眼画像を取得したカメラ１２６）と、識別されたオブジェクトの近似的位置（例えば、投影面４０２上の）を通る線を決定してもよい。そのような実施形態では、車載コンピューティングシステム１０２は、その線が交わる仮想平面８０２（例えば、線がカメラ１２６の方向から最初に交差する仮想平面８０２）を決定し、その仮想平面にオブジェクトの輪郭を投影することができる。言い換えれば、車載コンピューティングシステム１０２は、概してオブジェクトの方向にある仮想平面８０２上にオブジェクトの輪郭を投影することができる。
【００５０】
ブロック５１４において、車載コンピューティングシステム１０２は、投影されたオブジェクトの輪郭の底を識別する。言うまでもなく、車載コンピューティングシステム１０２は、任意の適切な技術、アルゴリズム、および／またはそのためのメカニズムを利用してもよい。例示的な実施形態では、車載コンピューティングシステム１０２は、ブロック５１６において、仮想平面８０２上のオブジェクトの輪郭９０４のバウンディングボックス（ｂｏｕｎｄｉｎｇ  ｂｏｘ）９０２を決定する。図９に示すように、バウンディングボックス９０２は、オブジェクトの輪郭９０４を仮想平面８０２に投影したときに境界を定める最小の四角形のボックスである。もちろん、他の実施形態では、バウンディングボックス９０２は、例えば、異なるサイズ、形状、および／または他の特性を有するように構成されてもよい。ブロック５１８において、車載コンピューティングシステム１０２は、バウンディングボックス９０２の底部中点（ｂｏｔｔｏｍ  ｍｉｄｄｌｅ  ｐｏｉｎｔ）９０６を識別する。上述したように、いくつかの実施形態では、車載コンピューティングシステム１０２は、識別されたオブジェクトが地平面（ｇｒｏｕｎｄ  ｐｌａｎｅ）に配置されていると仮定する。したがって、言うまでもなく、いくつかの実施形態では、底部中点９０６は、オブジェクトが地平面に接触する点（例えば、歩行者の足）の仮想平面８０２への投影として扱われてもよい。
【００５１】
ここで図６を参照する。図６に示すように、ブロック５２０において、車載コンピューティングシステム１０２は、投影されたオブジェクトの輪郭の底部と、オブジェクトの輪郭が投影された魚眼画像を取得する魚眼カメラ１２６との両方を通る（すなわち、交わる）仮想線を生成するか又は決定する。具体的には、ブロック５２２において、車載コンピューティングシステム１０２は、例示的な実施形態において、底部中点９０６およびカメラ１２６の中心を通過する線を決定する。ブロック５２４において、車載コンピューティングシステム１０２は、その決定された線と地平面との交点を決定する。
【００５２】
上述したように、いくつかの実施形態では、カメラシステム１２０および／または車載コンピューティングシステム１０２の他のコンポーネントのジオメトリ（ｇｅｏｍｅｔｒｙ）は、既知であるか、または決定可能である。したがって、車載コンピューティングシステム１０２は、座標系を確立し、車載コンピューティングシステム１０２の様々な構成要素、および／または仮想構造表現（例えば、仮想平面８０２、線、交点、底部中点９０６、地平面等）の位置を座標系内に表示する。例えば、地平面（ｇｒｏｕｎｄ  ｐｌａｎｅ）をベクトル
【数２】
0006453449.tif 000003
で座標系に定義することができる。また、投影されたオブジェクトの輪郭の底部（例えば、底部中点９０６）を
【数３】
0006453449.tif 000004
で表しても良く、カメラ１２６（例えば中点）を
【数４】
0006453449.tif 000005
と表してもよく、線の地平面との交点を
【数５】
0006453449.tif 000006
と表してもよい。言うまでもなく、本明細書に記載されている既知のジオメトリ及び／又は計算により、投影されたオブジェクトの輪郭の底部及びカメラ１２６の位置の座標値は、例示的な実施形態では既知であるか又は決定可能である。したがって、ブロック５２６において、車載コンピューティングシステム１０２は、
【数６】
0006453449.tif 000007
に従って交点の座標値を確定する解析的式を決定することができる。言うまでもなく、いくつかの実施形態では、解析的式は、車載コンピューティングシステム１０２または他のコンピューティングデバイスによって事前に計算されてもよく、後の使用のために、車載コンピューティングシステム１１２のメモリ１１４および／またはデータストレージ１１６に格納されてもよい。したがって、経路５３０に示すように、分析的式は、いくつかの実施形態では一度しか計算しなくてもよく、方程式自体の再計算なしに、その後に繰り返し利用（して、例えば、カルマンフィルタなどのフィルタによる再帰的推定のため、または他の適切な目的のために、ある点の座標値を評価）することができる。
【００５３】
ブロック５２８において、車載コンピューティングシステム１０２は、決定された交点およびオブジェクトの輪郭の底部（例えば、底部中点９０６）に基づいて、車両１００に対するオブジェクトの位置を決定する。上に示したように、いくつかの実施形態では、車載コンピューティングシステム１０２は、カルマンフィルタを適用して（例えば、交点およびオブジェクトの輪郭の底部に基づいて）車両１００に対するオブジェクトの位置を決定することができる。そうするために、車載コンピューティングシステム１０２は、図７に示す方法７００を実行することができる。例示的な方法７００は、ブロック７０２から始まり、車載コンピューティングシステム１０２がカルマンフィルタの状態ベクトルを決定する。具体的には、ブロック７０４において、車載コンピューティングシステム１０２は、
【数７】
0006453449.tif 000008
に従ってカルマンフィルタの状態ベクトルを決定する。換言すれば、カルマンフィルタの状態ベクトルは、上述した交点に基づいている。
【００５４】
ブロック７０６において、車載コンピューティングシステム１０２は、カルマンフィルタの測定ベクトル（ｍｅａｓｕｒｅｍｅｎｔ  ｖｅｃｔｏｒ）を決定する。例示的な実施形態では、ブロック７０８において、車載コンピューティングシステム１０２は、
【数８】
0006453449.tif 000009
に従ってカルマンフィルタの測定ベクトルを決定する。すなわち、カルマンフィルタの測定ベクトルは、仮想平面８０２上のオブジェクトの底部（ｂｏｔｔｏｍ）を確定する点（例えば、下部中点９０６）である。言うまでもなく、例示的な実施形態の状態ベクトルおよび測定ベクトルは、
【数９】
0006453449.tif 000010
を有し、非線形である。したがって、例示的な実施形態では、標準的な線形カルマンフィルタではなく、拡張カルマンフィルタが使用される。さらに、非線形性のために、例示的な実施形態では、共分散を直接使用するのではなく、ヤコビ行列（Ｊａｃｏｂｅａｎ）が利用される。このように、ブロック７１０において、車載コンピューティングシステム１０２は、オブジェクトの位置を決定する際にカルマンフィルタと共に使用するヤコビ行列を決定する。具体的には、ブロック７１２において、車載コンピューティングシステム１０２は、
【数１０】
0006453449.tif 000011
に従ってヤコビ行列を決定する。
【００５５】
ブロック７１４において、車載コンピューティングシステム１０２は、カルマンフィルタの状態遷移行列（ｓｔａｔｅ  ｔｒａｎｓｉｔｉｏｎ  ｍａｔｒｉｘ）を決定する。言うまでもなく、例示的な実施形態では、オブジェクト（例えば、歩行者）がどのように動くことができるかに関する先験的な知識はない。すなわち、オブジェクトが歩行者であると仮定しても、歩行者はどの時点にでも任意の方向に移動することができる。したがって、ブロック７１６において、車載コンピューティングシステム１０２は、ブラウン運動を表すために、
【数１１】
0006453449.tif 000012
に従って、例示的な実施形態における状態遷移行列を決定する。換言すれば、例示的な実施形態では、状態遷移行列は一定値の行列である。言うまでもなく、かかる実施形態では、状態遷移行列を決定することは、車載コンピューティングシステム１０２のメモリ１１４および／またはデータストレージ１１６から行列または対応するデータ値を読み出すことを構成することができる。もちろん、他の実施形態では、状態遷移行列は、（例えば、オブジェクトの動きに関する情報が分かっているときに）決定することができる。
【００５６】
ブロック７１８において、車載コンピューティングシステム１０２は、決定された状態ベクトル、測定ベクトル、状態遷移行列、およびヤコビ行列に基づいて、拡張カルマンフィルタ（ｅｘｔｅｎｄｅｄ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）を適用して、オブジェクトの位置を決定する。上で説明し、パス７２０で示すように、いくつかの実施形態では、拡張カルマンフィルタ（または他の適切なフィルタ）を反復的に適用して、上述の交点を推定し、車両１００に対するオブジェクトの位置を推定してもよい。したがって、拡張カルマンフィルタが、状態ベクトル、測定ベクトル、ヤコビ行列、および／または状態遷移行列について決定された解析的式に基づいて再帰的に適用され、状態ベクトルを推定してもよい。
【００５７】
ここで図１０を参照する。本明細書に記載の車載コンピューティングシステム１０２によって利用され得るカルマンフィルタ１０００の例示的な実施形態が示されている。言うまでもなく、例示的なカルマンフィルタ１０００は、４つの再帰的に適用されるステージを含み、入力を受け取り、出力を生成する。具体的には、カルマンフィルタ１０００のステージ１００２は、状態ベクトル
【数１２】
0006453449.tif 000013
及び対応する誤差共分散行列
【数１３】
0006453449.tif 000014
の１つ以上の事前推定値を入力として受け取り、
【数１４】
0006453449.tif 000015
により、カルマンゲインＫｋを決定する。カルマンフィルタ１０００のステージ１００４は、上記の測定ベクトルの値ｚ０およびｚ１に加えてカルマンゲイン（Ｋａｌｍａｎ  ｇａｉｎ）を入力として受け取り、
【数１５】
0006453449.tif 000016
により状態ベクトルの推定値
【数１６】
0006453449.tif 000017
を測定値ｚｋで更新し、状態ベクトルの出力ｘ０とｘ１を生成する。例示的な実施形態では、言うまでもなく、上記の交点を確定する解析的式を用いて状態ベクトルからｚｋ＿ｅｓｔｉｍａｔｅが決定される（図６のブロック５２６参照）。カルマンフィルタ１０００のステージ１００６は、
【数１７】
0006453449.tif 000018
に従って誤差共分散の更新された推定値を計算する。さらに、カルマンフィルタ１０００のステージ１００８は、
【数１８】
0006453449.tif 000019
に従って状態ベクトルと誤差共分散の推定値を投影（ｐｒｏｊｅｃｔｓ）する。この段落の方程式で説明したように、言うまでもなく、ｘは状態ベクトルを示し、ｚは測定ベクトルを示し、Ｐは状態ベクトル推定値の誤差共分散行列を示し、Ｋはカルマンゲインを示し、Ｒは測定誤差共分散行列を示し、Ｑはプロセス雑音共分散行列を示し、Ｈは上記のヤコビ行列を示し、φは状態遷移行列を示し、Ｉは単位行列を示し、ｋは特定の反復を示し、「ハット」記号は推定を示す。
【００５８】
上述したように、実施形態に応じて、方法５００は、車載コンピューティングシステム１０２によって実行され、カルマンフィルタの適用の有無にかかわらず、識別されたオブジェクトの位置を決定する。図１１に示すように、車載コンピューティングシステム１０２は、カルマンフィルタが適用されるかどうかに応じて、オブジェクトの決定された位置について異なる結果を得る（ｏｂｓｅｒｖｅｓ）。特に、カルマンフィルタを適用せずに決定されたオブジェクトの位置１１０２と、上述のようなカルマンフィルタの適用によって決定されたオブジェクトの位置１１０４が、図１１に示されている。言うまでもなく、オブジェクトの決定された位置１１０４は、オブジェクトの実際の位置を、位置１１０２よりも正確に推定する。すなわち、直接的な推定は、カルマンフィルタの適用を含む本明細書に記載された技術より、一貫性がなく不正確な結果となる。
例示
【００５９】
本明細書に開示の技術の例を以下に記載する。本技術の実施形態は、以下に記載の一以上の例、及びそれらの組み合わせを含み得る。
【００６０】
例１は、車両からのオブジェクトの距離を決定する計算デバイスであって、魚眼画像を取得する魚眼カメラと、（ｉ）前記魚眼画像に取得されたオブジェクトを識別し、（ｉｉ）前記車両の外にあり、前記車両に対する識別されたオブジェクトの位置に基づいて、所定の仮想平面のセットから選択される仮想平面上に、識別されたオブジェクトの輪郭を投影するオブジェクト投影モジュールと、（ｉ）選択された仮想平面上の投影された輪郭の底部を識別し、（ｉｉ）投影された輪郭の識別された底部と前記魚眼カメラの各々を通る仮想線の、前記車両が位置する平面と一致する地平面との交点を決定し、（ｉｉｉ）決定された交点と投影された輪郭の識別された底部とに基づいて、前記車両に対する識別されたオブジェクトの位置を決定する位置決定モジュールとを有する。
【００６１】
例２は例１の主題を含み、前記車両に対する識別されたオブジェクトの位置を決定することは、決定された交点と投影された輪郭の識別された底部とに基づきカルマンフィルタを適用することを含む。
【００６２】
例３は例１及び２のいずれかの主題を含み、前記カルマンフィルタを適用することは、
【数１９】
0006453449.tif 000020
により前記カルマンフィルタの状態ベクトルを決定すること、
【数２０】
0006453449.tif 000021
により前記カルマンフィルタの測定ベクトルを決定することと、決定された状態ベクトルと決定された測定ベクトルとに基づいて前記カルマンフィルタを適用することとを含み、ｘｐ、ｙｐ及びｚｐは前記交点の３次元座標であり、ｘｂ、ｙｂ及びｚｂは識別されたオブジェクトの底部の３次元座標である。
【００６３】
例４は例１−３のいずれかの主題を含み、前記カルマンフィルタを適用することは、
【数２１】
0006453449.tif 000022
によりヤコビ行列を決定することと、決定された状態ベクトル、決定された測定ベクトル、及び決定されたヤコビ行列とに基づいて、拡張されたカルマンフィルタを適用することとを含み、ｘａ、ｙａ及びｚａは前記魚眼カメラの３次元座標である。
【００６４】
例５は例１−４のいずれかの主題を含み、識別されたオブジェクトの輪郭を投影することは、識別されたオブジェクトに最も近く、識別されたオブジェクトの輪郭を投影する仮想平面を選択することを含む。
【００６５】
実施例６は実施例１−５のいずれかの主題を含み、識別されたオブジェクトの輪郭を投影することは、前記魚眼カメラと識別されたオブジェクトの位置とを結ぶ基準線を決定することと、識別されたオブジェクトの輪郭を、前記基準線が通る仮想平面に投影することとを含む。
【００６６】
例７は例１−６のいずれかの主題を含み、投影された輪郭の底部を識別することは、前記仮想平面上に投影された輪郭のバウンディングボックスを決定することと、前記バウンディングボックスの底部の中点を識別することとを含む。
【００６７】
例８は例１−７のいずれかの主題を含み、前記交点は、前記魚眼カメラの中心の、前記バウンディングボックスの底部の中点との交点である。
【００６８】
例９は例１−８のいずれかの主題を含み、前記バウンディングボックスは投影された輪郭の境界を示す最小の四角形のボックスである。
【００６９】
例１０は例１−９のいずれかの主題を含み、前記線の、前記地平面との交点を決定することは、
【数２２】
0006453449.tif 000023
により前記交点を決定することを含み、ｘｐ、ｙｐ及びｚｐは前記交点の３次元座標であり、ｘａ、ｙａ及びｚａは前記魚眼カメラの３次元座標であり、ｘｂ、ｙｂ及びｚｂは識別されたオブジェクトの底部の３次元座標である。
【００７０】
例１１は例１−１０のいずれかの主題を含み、所定の仮想平面のセットは、前記車両の魚眼カメラの少なくとも２倍の仮想平面を含む。
【００７１】
実施例１２は実施例１−１１のいずれかの主題を含み、所定の仮想平面のセットの各仮想平面は地平面に対して直交する。
【００７２】
実施例１３は実施例１−１２のいずれかの主題を含み、所定の仮想平面のセットは８つの仮想平面よりなり、８つの仮想平面のうち第１と第２の仮想平面は前記車両の側面に対して平行であり、８つの仮想平面のうち第３と第４の仮想平面は、前記車両の後面に対して平行であり、前記車両の側面に対して直交し、８つの仮想平面のうち第５と第６の仮想平面は、互いに平行であり、前記第１と第３の仮想平面に対して４５ーの角度をなし、８つの仮想平面のうち第７と第８の仮想平面は、互いに平行であり、前記第５と第６の仮想平面に対して直交し、前記第１と第３の仮想平面に対して４５ーの角度をなし、所定の仮想平面のセットの各仮想平面は地平面に対して直交する。
【００７３】
実施例１４は実施例１−１３のいずれかの主題を含み、前記オブジェクト投影モジュールは、さらに、取得された魚眼画像中の識別されたオブジェクトの輪郭を決定する。
【００７４】
例１５は例１−１４のいずれかの主題を含み、前記計算デバイスは車載計算システムとして実施される。
【００７５】
例１６は、車両の計算デバイスにより、オブジェクトの前記車両からの距離を決定する方法であって、前記計算デバイスが、前記車両の魚眼カメラにより生成される魚眼画像に取得されたオブジェクトを識別するステップと、前記計算デバイスが、前記車両に対する識別されたオブジェクトの位置に基づいて、前記車両の外にあり、所定の仮想平面のセットから選択された仮想平面に、識別されたオブジェクトの輪郭を投影するステップと、前記計算デバイスが、選択された仮想平面に投影された輪郭の底部を識別するステップと、前記計算デバイスが、前記車両が配置された平面と一致する地平面との仮想線の交点を決定するステップであって、前記仮想線は、投影された輪郭の識別された底部の各々と前記魚眼カメラとを通るステップと、前記計算デバイスが、決定された交点と、投影された輪郭の識別された底部とに基づき、識別されたオブジェクトの前記車両に対する位置を決定するステップとを含む。
【００７６】
例１７は例１６の主題を含み、前記車両に対する識別されたオブジェクトの位置を決定するステップは、決定された交点と投影された輪郭の識別された底部とに基づきカルマンフィルタを適用するステップを含む。
【００７７】
例１８は例１６及び１７のいずれかの主題を含み、前記カルマンフィルタを適用するステップは、
【数２３】
0006453449.tif 000024
により前記カルマンフィルタの状態ベクトルを決定するステップと、
【数２４】
0006453449.tif 000025
により前記カルマンフィルタの測定ベクトルを決定するステップと、決定された状態ベクトルと決定された測定ベクトルとに基づいて前記カルマンフィルタを適用するステップとを含み、ｘｐ、ｙｐ及びｚｐは前記交点の３次元座標であり、ｘｂ、ｙｂ及びｚｂは識別されたオブジェクトの底部の３次元座標である。
【００７８】
例１９は例１６−１８のいずれかの主題を含み、前記カルマンフィルタを適用するステップは、さらに、
【数２５】
0006453449.tif 000026
によりヤコビ行列を決定するステップと、決定された状態ベクトル、決定された測定ベクトル、及び決定されたヤコビ行列とに基づいて、拡張されたカルマンフィルタを適用するステップとを含み、ｘａ、ｙａ及びｚａは前記魚眼カメラの３次元座標である。
【００７９】
例２０は例１６−１９のいずれかの主題を含み、識別されたオブジェクトの輪郭を投影するステップは、識別されたオブジェクトに最も近く、識別されたオブジェクトの輪郭を投影する仮想平面を選択するステップを含む。
【００８０】
実施例２１は実施例１６−２０のいずれかの主題を含み、識別されたオブジェクトの輪郭を投影するステップは、前記魚眼カメラと識別されたオブジェクトの位置とを結ぶ基準線を決定するステップと、識別されたオブジェクトの輪郭を、前記基準線が通る仮想平面に投影するステップとを含む。
【００８１】
例２２は例１６−２１のいずれかの主題を含み、投影された輪郭の底部を識別するステップは、前記仮想平面上に投影された輪郭のバウンディングボックスを決定するステップと、前記バウンディングボックスの底部の中点を識別するステップとを含む。
【００８２】
実施例２３は実施例１６−２２のいずれかの主題を含み、前記線の、前記地平面との交点を決定するステップは、前記魚眼カメラの中心の、前記バウンディングボックスの底部の中点との交点を決定するステップを含む。
【００８３】
実施例２４は実施例１６−２３のいずれかの主題を含み、前記バウンディングボックスは投影された輪郭の境界を示す最小の四角形のボックスである。
【００８４】
実施例２５は実施例１６−２４のいずれかの主題を含み、前記線の、前記地平面との交点を決定するステップは、
【数２６】
0006453449.tif 000027
により前記交点を決定するステップを含み、ｘｐ、ｙｐ及びｚｐは前記交点の３次元座標であり、ｘａ、ｙａ及びｚａは前記魚眼カメラの３次元座標であり、ｘｂ、ｙｂ及びｚｂは識別されたオブジェクトの底部の３次元座標である。
【００８５】
実施例２６は実施例１６−２５のいずれかの主題を含み、識別されたオブジェクトの輪郭を選択された仮想平面に投影するステップは、前記車両の魚眼カメラの少なくとも２倍の仮想平面を含む所定の仮想平面のセットから化麻生平面を選択するステップを含む。
【００８６】
実施例２７は実施例１６−２６のいずれかの主題を含み、所定の仮想平面のセットの各仮想平面は地平面に対して直交する。
【００８７】
例２８は例１６−２７のいずれかの主題を含み、識別されたオブジェクトの輪郭を選択された仮想平面に投影するステップは、８つの仮想面よりなる所定の仮想平面のセットから仮想平面を選択するステップを含み、８つの仮想平面のうち第１と第２の仮想平面は前記車両の側面に対して平行であり、８つの仮想平面のうち第３と第４の仮想平面は、前記車両の後面に対して平行であり、前記車両の側面に対して直交し、８つの仮想平面のうち第５と第６の仮想平面は、互いに平行であり、前記第１と第３の仮想平面に対して４５ーの角度をなし、８つの仮想平面のうち第７と第８の仮想平面は、互いに平行であり、前記第５と第６の仮想平面に対して直交し、前記第１と第３の仮想平面に対して４５ーの角度をなし、所定の仮想平面のセットの各仮想平面は地平面に対して直交する。
【００８８】
例２９は例１６−２８のいずれかの主題を含み、前記計算デバイスが、取得された魚眼画像の識別されたオブジェクトの輪郭を決定するステップをさらに含む。
【００８９】
例３０は例１６−２９のいずれかの主題を含み、前記計算デバイスは車載計算システムとして実施される。
【００９０】
例３１は、計算デバイスであって、プロセッサと、前記プロセッサにより実行されたとき、前記プロセッサに、実施例１６−３０いずれかに記載の方法を実行させる複数の命令を格納したメモリとを有する。
【００９１】
例３２は、実行されると、計算デバイスに請求項１６−３０いずれか一項に記載の方法を実行させる複数の命令を格納した一以上の機械読み取り可能記憶媒体である。
【００９２】
例３３は、車両からのオブジェクトの距離を決定する計算デバイスであって、前記車両の魚眼カメラにより生成される魚眼画像に取得されたオブジェクトを識別する手段と、前記車両に対する識別されたオブジェクトの位置に基づいて、前記車両の外にあり、所定の仮想平面のセットから選択された仮想平面に、識別されたオブジェクトの輪郭を投影する手段と、選択された仮想平面に投影された輪郭の底部を識別する手段と、前記車両が配置された平面と一致する地平面との仮想線の交点を決定する手段であって、前記仮想線は、投影された輪郭の識別された底部の各々と前記魚眼カメラとを通る手段と、決定された交点と、投影された輪郭の識別された底部とに基づき、識別されたオブジェクトの前記車両に対する位置を決定する手段とを有する。
【００９３】
例３４は例３３の主題を含み、前記車両に対する識別されたオブジェクトの位置を決定する手段は、決定された交点と投影された輪郭の識別された底部とに基づきカルマンフィルタを適用する手段を含む。
【００９４】
例３５は例３３及び３４のいずれかの主題を含み、前記カルマンフィルタを適用する手段は、
【数２７】
0006453449.tif 000028
により前記カルマンフィルタの状態ベクトルを決定する手段と、
【数２８】
0006453449.tif 000029
により前記カルマンフィルタの測定ベクトルを決定する手段と、決定された状態ベクトルと決定された測定ベクトルとに基づいて前記カルマンフィルタを適用する手段とを含み、ｘｐ、ｙｐ及びｚｐは前記交点の３次元座標であり、ｘｂ、ｙｂ及びｚｂは識別されたオブジェクトの底部の３次元座標である。
【００９５】
実施例３６は実施例３３−３５のいずれかの主題を含み、前記カルマンフィルタを適用する手段は、さらに、
【数２９】
0006453449.tif 000030
によりヤコビ行列を決定する手段と、決定された状態ベクトル、決定された測定ベクトル、及び決定されたヤコビ行列とに基づいて、拡張されたカルマンフィルタを適用する手段とを含み、ｘａ、ｙａ及びｚａは前記魚眼カメラの３次元座標である。
【００９６】
実施例３７は実施例３３−３６のいずれかの主題を含み、識別されたオブジェクトの輪郭を投影する手段は、識別されたオブジェクトに最も近く、識別されたオブジェクトの輪郭を投影する仮想平面を選択する手段を含む。
【００９７】
実施例３８は実施例３３−３７のいずれかの主題を含み、識別されたオブジェクトの輪郭を投影する手段は、前記魚眼カメラと識別されたオブジェクトの位置とを結ぶ基準線を決定する手段と、識別されたオブジェクトの輪郭を、前記基準線が通る仮想平面に投影する手段とを含む。
【００９８】
実施例３９は実施例３３−３８のいずれかの主題を含み、投影された輪郭の底部を識別する手段は、前記仮想平面上に投影された輪郭のバウンディングボックスを決定する手段と、前記バウンディングボックスの底部の中点を識別する手段とを含む。
【００９９】
実施例４０は実施例３３−３９のいずれかの主題を含み、前記線の、前記地平面との交点を決定する手段は、前記魚眼カメラの中心の、前記バウンディングボックスの底部の中点との交点を決定する手段を含む。
【０１００】
実施例４１は実施例３３−４０のいずれかの主題を含み、前記バウンディングボックスは投影された輪郭の境界を示す最小の四角形のボックスである。
【０１０１】
例４２は例３３−４１のいずれかの主題を含み、前記線の、前記地平面との交点を決定する手段は、
【数３０】
0006453449.tif 000031
により前記交点を決定する手段を含み、ｘｐ、ｙｐ及びｚｐは前記交点の３次元座標であり、ｘａ、ｙａ及びｚａは前記魚眼カメラの３次元座標であり、ｘｂ、ｙｂ及びｚｂは識別されたオブジェクトの底部の３次元座標である。
【０１０２】
実施例４３は実施例３３−４２のいずれかの主題を含み、識別されたオブジェクトの輪郭を選択された仮想平面に投影する手段は、前記車両の魚眼カメラの少なくとも２倍の仮想平面を含む所定の仮想平面のセットから化麻生平面を選択する手段を含む。
【０１０３】
実施例４４は実施例３３−４３のいずれかの主題を含み、所定の仮想平面のセットの各仮想平面は地平面に対して直交する。
【０１０４】
実施例４５は実施例３３−４４のいずれかの主題を含み、識別されたオブジェクトの輪郭を選択された仮想平面に投影する手段は、８つの仮想平面よりなる所定の仮想平面のセットから仮想平面を選択する手段を含み、８つの仮想平面のうち第１と第２の仮想平面は前記車両の側面に対して平行であり、８つの仮想平面のうち第３と第４の仮想平面は、前記車両の後面に対して平行であり、前記車両の側面に対して直交し、８つの仮想平面のうち第５と第６の仮想平面は、互いに平行であり、前記第１と第３の仮想平面に対して４５ーの角度をなし、８つの仮想平面のうち第７と第８の仮想平面は、互いに平行であり、前記第５と第６の仮想平面に対して直交し、前記第１と第３の仮想平面に対して４５ーの角度をなし、所定の仮想平面のセットの各仮想平面は地平面に対して直交する。
【０１０５】
実施例４６は実施例３３−４５のいずれかの主題を含み、取得された魚眼画像の識別されたオブジェクトの輪郭を決定する手段をさらに含む。
【０１０６】
実施例４７は実施例３３−４６のいずれかの主題を含み、前記計算デバイスは車載計算システムとして実施される。
【図１】
0006453449.tif 000040
【図２】
0006453449.tif 000041
【図３】
0006453449.tif 000042
【図４】
0006453449.tif 000043
【図５】
0006453449.tif 000044
【図６】
0006453449.tif 000045
【図７】
0006453449.tif 000046
【図８】
0006453449.tif 000047
【図９】
0006453449.tif 000048
【図１０】
0006453449.tif 000049
【図１１】
0006453449.tif 000050