(57)【要約】【課題】画像から正確にシーンを判定することができるシステムおよび方法を提供する。【解決手段】本発明に係るシステムは、通信手段、オブジェクト検出手段、時間的パターン生成手段、およびシーン決定手段を含む。通信手段が、少なくとも１つのフレームを含む映像を取得する。その少なくとも１つのフレームはシーンを表す情報を含む。オブジェクト検出手段が、その少なくとも１つのフレーム内のオブジェクトの存在を検出し、その結果に少なくとも部分的に基づいて少なくとも１つの検出結果を生成する。時間的パターン生成手段が、その少なくとも１つの検出結果に少なくとも部分的に基づいてオブジェクトに関連する時間的パターンを生成する。そして、シーン決定手段が、その時間的パターンに少なくとも部分的に基づいてそのシーンの種類を決定する。【選択図】図１
2013164837.tif 000002
【特許請求の範囲】
【請求項１】
シーンを表す情報を含む、少なくとも一つのフレームを含む映像を取得する映像入力ステップと、
少なくとも一つのフレーム内のオブジェクトの存在を検出し、検出の結果に少なくとも部分的に基づいて、少なくとも一つのオブジェクト検出結果を生成するオブジェクト検出ステップと、
少なくとも前記一つのオブジェクト検出結果に少なくとも部分的に基づいて、オブジェクトに関連付いた時間的パターンを生成する時間的パターン生成ステップと、
前記時間的パターンに少なくとも部分的に基づいて、シーンの種類を決定するシーン決定ステップと、
を含む、シーン判定方法。
【請求項２】
前記時間的パターンは、複数のフレームにわたるオブジェクトの存在の分布を表す情報である、
請求項１に記載のシーン判定方法。
【請求項３】
前記オブジェクト検出結果は、対象フレームにおける、対象オブジェクトの存在を表す値であり、
前記時間的パターン生成ステップでは、複数のフレームにおける前記オブジェクト検出結果の集合に基づいて、前記時間的パターンを生成する、
請求項２に記載のシーン判定方法。
【請求項４】
前記オブジェクト検出ステップは、
一つ以上のフレームに含まれる一つ以上の画素に対して、赤色の検出結果を表す第一の値と、緑色の検出結果を表す第二の値と、青色の検出結果を表す第三の値と、を含むベクトル情報を生成するステップと、
オブジェクト検出ネットワークを確立するステップと、
前記ベクトル情報を前記オブジェクト検出ネットワークに入力するステップと、
前記オブジェクト検出ネットワークの出力から、少なくとも一つの検出結果を生成するステップと、
を含む、
請求項１から３のいずれかに記載のシーン判定方法。
【請求項５】
前記シーン決定ステップは、
シーン決定ネットワークを確立するステップと、
前記時間的パターンを前記シーン決定ネットワークに入力するステップと、
前記シーン決定ネットワークの出力から、一つ以上の確率を生成するステップと、
前記生成された一つ以上の確率に基づいて、シーンの種類を決定するステップと、
を含む、
請求項１から４のいずれかに記載のシーン判定方法。
【請求項６】
前記シーン決定ステップは、
道路情報およびセンサデータを取得するステップと、
前記時間的パターン、前記道路情報、前記センサデータの少なくともいずれかに部分的に基づいてシーンの種類を決定するステップと、
を含む、
請求項１から５のいずれかに記載のシーン判定方法。
【請求項７】
今後のシーンを予測するシーン予測モデルを確立するステップと、
前記シーン予測モデルに、前記時間的パターンを入力するステップと、
前記シーン予測モデルの出力に少なくとも部分的に基づいて、今後のシーンを予測するステップと、
をさらに含む、
請求項１から６のいずれかに記載のシーン判定方法。
【請求項８】
空模様を検出した結果である空模様検出結果を一つ以上生成することにより、少なくとも一つのフレームの空の状態を決定するステップと、
前記一つ以上の空模様検出結果に少なくとも部分的に基づいて、天候タイプを決定するステップと、
をさらに含む、
請求項１から７のいずれかに記載のシーン判定方法。
【請求項９】
前記シーンは、森林シーン、郊外シーン、都市シーン、高速道路シーンの少なくともいずれかを含む、
請求項１から８のいずれかに記載のシーン判定方法。
【請求項１０】
シーンを表す情報を含む、少なくとも一つのフレームを含む映像を取得する通信手段と、
前記通信手段に結合され、少なくとも一つのフレーム内のオブジェクトの存在を検出し、検出の結果に少なくとも部分的に基づいて、少なくとも一つのオブジェクト検出結果を生成するオブジェクト検出手段と、
前記通信手段および前記オブジェクト検出手段に結合され、少なくとも前記一つのオブジェクト検出結果に少なくとも部分的に基づいて、オブジェクトに関連付いた時間的パターンを生成する時間的パターン生成手段と、
前記通信手段、前記オブジェクト検出手段および前記時間的パターン生成手段に結合され、少なくとも前記時間的パターンに部分的に基づいて、シーンの種類を決定するシーン決定手段と、
を有する、シーン判定システム。
【請求項１１】
前記時間的パターンは、複数のフレームにわたるオブジェクトの存在の分布を表す情報である、
請求項１０に記載のシーン判定システム。
【請求項１２】
前記オブジェクト検出結果は、対象フレームにおける、対象オブジェクトの存在を表す値であり、
前記時間的パターン生成手段は、複数のフレームにおける前記オブジェクト検出結果の集合に基づいて、前記時間的パターンを生成する、
請求項１１に記載のシーン判定システム。
【請求項１３】
前記オブジェクト検出手段は、
一つ以上のフレームに含まれる一つ以上の画素に対して、赤色の検出結果を表す第一の値と、緑色の検出結果を表す第二の値と、青色の検出結果を表す第三の値と、を含むベクトル情報を生成する手段と、
前記ベクトル情報を入力とするオブジェクト検出ネットワークを確立し、前記オブジェクト検出ネットワークの出力から、少なくとも一つのオブジェクト検出結果を生成する手段と、
を含む、
請求項１０から１２のいずれかに記載のシーン判定システム。
【請求項１４】
前記シーン決定手段は、
前記時間的パターンを入力とするシーン決定ネットワークを確立し、前記シーン決定ネットワークの出力から、一つ以上の確率を生成する手段と、
前記生成された一つ以上の確率に基づいて、シーンの種類を決定する手段と、
を含む、
請求項１０から１３のいずれかに記載のシーン判定システム。
【請求項１５】
前記シーン決定手段は、
道路情報およびセンサデータを取得する手段と、
前記時間的パターン、前記道路情報、前記センサデータの少なくともいずれかに部分的に基づいてシーンの種類を決定する手段と、
を含む、
請求項１０から１４のいずれかに記載のシーン判定システム。
【請求項１６】
前記通信手段、前記オブジェクト検出手段および前記時間的パターン生成手段に結合され、
前記時間的パターンを入力とするシーン予測モデルを確立し、前記シーン予測モデルの出力に少なくとも部分的に基づいて、今後のシーンを予測するシーン予測手段
をさらに有する、
請求項１０から１５のいずれかに記載のシーン判定システム。
【請求項１７】
前記通信手段、前記オブジェクト検出手段および前記時間的パターン生成手段に結合され、空模様を検出した結果である空模様検出結果を一つ以上生成することにより、少なくとも一つのフレームの空の状態を決定する空模様検出手段と、
前記通信手段、前記オブジェクト検出手段、前記時間的パターン生成手段および前記空状態検出手段に結合され、前記一つ以上の空模様検出結果に少なくとも部分的に基づいて、天候タイプを決定する天候検出手段と、
をさらに有する、
請求項１０から１６のいずれかに記載のシーン判定システム。
【請求項１８】
前記シーンは、森林シーン、郊外シーン、都市シーン、高速道路シーンの少なくともいずれかを含む、
請求項１０から１７のいずれかに記載のシーン判定システム。
【請求項１９】
コンピュータに、
シーンを表す情報を含む、少なくとも一つのフレームを含む映像を取得する映像入力ステップと、
少なくとも一つのフレーム内のオブジェクトの存在を検出し、検出の結果に少なくとも部分的に基づいて、少なくとも一つのオブジェクト検出結果を生成するオブジェクト検出ステップと、
少なくとも前記一つのオブジェクト検出結果に少なくとも部分的に基づいて、オブジェクトに関連付いた時間的パターンを生成する時間的パターン生成ステップと、
前記時間的パターンに少なくとも部分的に基づいて、シーンの種類を決定するシーン決定ステップと、
を実行させることを特徴とする、シーン判定プログラム。
【請求項２０】
前記時間的パターンは、複数のフレームにわたるオブジェクトの存在の分布を表す情報である、
請求項１９に記載のシーン判定プログラム。
【請求項２１】
前記オブジェクト検出結果は、対象フレームにおける、対象オブジェクトの存在を表す値であり、
前記時間的パターン生成ステップでは、複数のフレームにおける前記オブジェクト検出結果の集合に基づいて、前記時間的パターンを生成する、
請求項２０に記載のシーン判定プログラム。
【請求項２２】
前記オブジェクト検出ステップは、
一つ以上のフレームに含まれる一つ以上の画素に対して、赤色の検出結果を表す第一の値と、緑色の検出結果を表す第二の値と、青色の検出結果を表す第三の値と、を含むベクトル情報を生成するステップと、
オブジェクト検出ネットワークを確立するステップと、
前記ベクトル情報を前記オブジェクト検出ネットワークに入力するステップと、
前記オブジェクト検出ネットワークの出力から、少なくとも一つのオブジェクト検出結果を生成するステップと、
を含む、
請求項１９から２１のいずれかに記載のシーン判定プログラム。
【請求項２３】
前記シーン決定ステップは、
シーン決定ネットワークを確立するステップと、
前記時間的パターンを前記シーン決定ネットワークに入力するステップと、
前記シーン決定ネットワークの出力から、一つ以上の確率を生成するステップと、
前記生成された一つ以上の確率に基づいて、シーンの種類を決定するステップと、
を含む、
請求項１９から２２のいずれかに記載のシーン判定プログラム。
【請求項２４】
前記シーン決定ステップは、
道路情報およびセンサデータを取得するステップと、
前記時間的パターン、前記道路情報、前記センサデータの少なくともいずれかに部分的に基づいてシーンの種類を決定するステップと、
を含む、
請求項１９から２３のいずれかに記載のシーン判定プログラム。
【請求項２５】
今後のシーンを予測するシーン予測モデルを確立するステップと、
前記シーン予測モデルに、時間的パターンを入力するステップと、
前記シーン予測モデルの出力に少なくとも部分的に基づいて、今後のシーンを予測するステップと、
をさらに含む、
請求項１９から２４のいずれかに記載のシーン判定プログラム。
【請求項２６】
空模様を検出した結果である空模様検出結果を一つ以上生成することにより、少なくとも一つのフレームの空の状態を決定するステップと、
前記一つ以上の空模様検出結果に少なくとも部分的に基づいて、天候タイプを決定するステップと、
をさらに含む、
請求項１９から２５のいずれかに記載のシーン判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、映像に関連するシーンを判定するためのシステムおよび方法に関する。
【背景技術】
【０００２】
（関連出願への相互参照）
本出願は、「SCENE DETERMINATION AND PREDICTION （シーンの決定および予測）」と
題され、２０１２年２月１３日に出願された米国特許出願第１３／３７１，７２３号の優先権を主張する。
【０００３】
道路を取り巻くシーンを判定するためのシステムは多くの意味で有益である。例えば当該システムは、運転者が森の中を運転していると判定した場合、道路を横断する動物に注意するように運転者に警告することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、あるシーンの中で取得した１つまたは複数の画像からシーンを分類することは、木や建物の存在、道路上の交通状況など、様々な要因の影響を受ける。同じカテゴリ内のシーンでさえ、いくつかのバリエーションがあり得る。例えば、第１の森林シーンでは、道路に沿って密集する木のみがあり、第２の森林シーンでは、それらの木の中に小屋が散在し、第３の森林シーンでは、道路から近い範囲に木がない可能性がある。シーンのバリエーションのせいで、シーンの分類を誤ることは非常に起こりやすい。
【０００５】
シーン判定に関する既存の技術には数多くの問題がある。第１に、既存の技術は、シーンの中で取得される個々の画像に対して空間分析しか行わない。例えば既存の技術は、個々の画像内の空間的に分布するオブジェクト（例えば木）の特徴を抽出し、その空間的に分布するオブジェクトに基づいてシーンを決定する。しかし、同じオブジェクトは様々なシーンに含まれる可能性があり、個々の画像内の空間的情報だけに基づくと、シーンの分類を誤ることが非常に起こりやすい。例えば、森林シーンにも郊外シーンにも木はあるため、個々の画像内で検出した木だけに基づいて森林シーンと郊外シーンとを区別するのは困難である。
【０００６】
第２に、既存の技術は、複数の画像にわたるオブジェクトの分布特性を用いていない。それらの画像は、運転者が自動車を運転している間の様々な瞬間に取得される時間領域情報と呼ばれる。既存の技術が時間領域情報を用いていないことは、シーン判定の精度を低下させる原因となる。例えば森林シーンの中で、木がない区間が一部にあるなど、瞬間的な変化がある場合、複数の画像による木の分布特性が、それが森林シーンであることを示している場合であっても、既存の技術では、その短い区間内に木がないことが原因で、そのシーンが森林シーンであると決定しそこなってしまう。
【０００７】
第３に、既存の技術は、シーンの予測を行うことができない。例えば既存の技術では、これから５分後において、運転者が同じシーンの中を運転しているのか、それとも別のシーンの中を運転しているのかを予測することができない。
【０００８】
本発明は、上記の問題点を考慮してなされたものであり、画像から正確にシーンを判定することができるシステムおよび方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るシーン判定方法は、シーンを表す情報を含む、少なくとも一つのフレームを含む映像を取得する映像入力ステップと、少なくとも一つのフレーム内のオブジェクトの存在を検出し、検出の結果に少なくとも部分的に基づいて、少なくとも一つのオブジェクト検出結果を生成するオブジェクト検出ステップと、少なくとも前記一つのオブジェクト検出結果に少なくとも部分的に基づいて、オブジェクトに関連付いた時間的パターンを生成する時間的パターン生成ステップと、前記時間的パターンに少なくとも部分的に基づいて、シーンの種類を決定するシーン決定ステップと、を含むことを特徴とする。
【００１０】
また、本発明に係るシーン判定システムは、シーンを表す情報を含む、少なくとも一つのフレームを含む映像を取得する通信手段と、前記通信手段に結合され、少なくとも一つのフレーム内のオブジェクトの存在を検出し、検出の結果に少なくとも部分的に基づいて、少なくとも一つのオブジェクト検出結果を生成するオブジェクト検出手段と、前記通信手段および前記オブジェクト検出手段に結合され、少なくとも前記一つのオブジェクト検出結果に少なくとも部分的に基づいて、オブジェクトに関連付いた時間的パターンを生成する時間的パターン生成手段と、前記通信手段、前記オブジェクト検出手段および前記時間的パターン生成手段に結合され、少なくとも前記時間的パターンに部分的に基づいて、シーンの種類を決定するシーン決定手段と、を有することを特徴とする。
を有する
【００１１】
また、本発明は、上記シーン判定方法をコンピュータに実行させるためのプログラムとして特定することもできる。
【発明の効果】
【００１２】
本発明によると、画像から正確にシーンを判定することができるシステムおよび方法を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態による、シーンを決定／予測するためのシステムを例示するハイレベルブロック図である。
【図２Ａ】一実施形態によるシーンモジュールを例示するブロック図である。
【図２Ｂ】一実施形態によるフレーム処理エンジンを例示するブロック図である。
【図３Ａ】一実施形態による、フレーム内の木を検出するための１つまたは複数のセクタを例示する図である。
【図３Ｂ】一実施形態による、フレーム内の壁を検出するためのスライドセクタを例示する図である。
【図３Ｃ】一実施形態による、空の状態を決定するためのスライドセクタを例示する図である。
【図４Ａ】一実施形態による、フレーム内のオブジェクトの存在を検出するためのオブジェクト検出ネットワークを例示する図である。
【図４Ｂ】一実施形態による、フレーム内の空の状態を決定するための空模様検出ネットワークを例示する図である。
【図５】一実施形態による、オブジェクトの時間的パターンを生成するためのプロセスを例示する図である。
【図６Ａ】一実施形態によるシーン決定ネットワークを例示する図である。
【図６Ｂ】一実施形態によるシーン予測モデルを例示する図である。
【図６Ｃ】一実施形態による天候検出ネットワークを例示する図である。
【図７】一実施形態による、フレーム内のオブジェクトの存在を検出するための方法を例示するフローチャート図である。
【図８】一実施形態による、オブジェクトの時間的パターンを生成するための方法を例示するフローチャート図である。
【図９】一実施形態による、シーンを決定／予測するための方法を例示するフローチャート図である。
【図１０Ａ】一実施形態による、シーンを決定するための方法を例示するフローチャート図である。
【図１０Ｂ】一実施形態による、シーンを決定するための方法を例示する第二のフローチャート図である。
【図１１Ａ】一実施形態による、シーンを予測するための方法を例示するフローチャート図である。
【図１１Ｂ】一実施形態による、シーンを予測するための方法を例示する第二のフローチャート図である。
【図１２】一実施形態による、天候を決定するための方法を例示するフローチャート図である。
【発明を実施するための形態】
【００１４】
シーンを決定し、予測するためのシステムおよび方法について以下に記載する。
以下の説明では、本発明を十分に理解できるように、多くの詳細について説明する。しかしながら、各実施形態はこれらの具体的な詳細無しでも良いことは当業者にとって明らかであろう。また、説明が不明瞭になることを避けるために、構造や装置をブロック図の形式で表すこともある。たとえば、一実施形態は、ユーザインタフェースおよび特定のハードウェアとともに説明される。しかし、ここでの説明は、データおよびコマンドを受信する任意のタイプの計算装置および任意の周辺機器について適用できる。
【００１５】
本明細書における「１つの実施形態」または「別の実施形態」等という用語は、その実施形態と関連づけて説明される特定の特徴・構造・性質が少なくとも本発明の一つの実施形態に含まれることを意味する。「１つの実施形態における」等という用語は本明細書内で複数用いられるが、これらは必ずしも同一の実施形態を示すものとは限らない。
【００１６】
以下の詳細な説明の一部は、非一時的（non-transitory）なコンピュータ可読記憶媒体に記憶されたデータビットに対する動作のアルゴリズムおよび記号的表現として提供される。これらのアルゴリズム的な説明および表現は、データ処理技術分野の当業者によって、他の当業者に対して自らの成果の本質を最も効果的に説明するために用いられるものである。なお、本明細書において（また一般に）アルゴリズムとは、所望の結果を得るための論理的な手順を意味する。処理のステップは、物理量を物理的に操作するものである。必ずしも必須ではないが、通常は、これらの量は記憶・伝送・結合・比較およびその他の処理が可能な電気的または磁気的信号の形式を取る。通例にしたがって、これらの信号をビット・値・要素・エレメント・シンボル・キャラクタ・項・数値などとして称することが簡便である
【００１７】
なお、これらの用語および類似する用語はいずれも、適切な物理量と関連付いているものであり、これら物理量に対する簡易的なラベルに過ぎないということに留意する必要がある。以下の説明から明らかなように、特に断らない限りは、本明細書において「処理」「計算」「コンピュータ計算（処理）」「判断」「表示」等の用語を用いた説明は、コンピュータシステムや類似の電子的計算装置の動作および処理であって、コンピュータシステムのレジスタやメモリ内の物理的（電子的）量を、他のメモリやレジスタまたは同様の情報ストレージや通信装置、表示装置内の物理量として表される他のデータへ操作および変形する動作および処理を意味する。
【００１８】
本発明は、本明細書で説明される動作を実行する装置にも関する。この装置は要求される目的のために特別に製造されるものであっても良いし、汎用コンピュータを用いて構成しコンピュータ内に格納されるプログラムによって選択的に実行されたり再構成されたり
するものであっても良い。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な、例えばフロッピー（登録商標）ディスク・光ディスク・ＣＤ−ＲＯＭ・ＭＯディスク・磁気ディスクなど任意のタイプのディスク、読み込み専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体などの、非一時的なコンピュータ可読記憶媒体に記憶される。
【００１９】
発明の具体的な実施形態は、完全にハードウェアによって実現されるものでも良いし、完全にソフトウェアによって実現されるものでも良いし、ハードウェアとソフトウェアの両方によって実現されるものでも良い。好ましい実施形態は、ソフトウェアによって実現される。ここでソフトウェアとは、ファームウェア、常駐ソフトウェア、マイクロコードやその他のソフトウェアを含むものである。
【００２０】
さらに、ある実施形態は、コンピュータが利用あるいは読み込み可能な記憶媒体からアクセス可能なコンピュータプログラムプロダクトの形態を取る。この記憶媒体は、コンピュータや任意の命令実行システムによってあるいはそれらと共に利用されるプログラムコードを提供する。コンピュータが利用あるいは読み込み可能な記憶媒体とは、命令実行システムや装置によってあるいはそれらと共に利用されるプログラムを、保持、格納、通信、伝搬および転送可能な任意の装置を指す。
【００２１】
プログラムコードを格納・実行するために適したデータ処理システムは、システムバスを介して記憶素子に直接または間接的に接続された少なくとも１つのプロセッサを有する。記憶素子は、プログラムコードの実際の実行に際して使われるローカルメモリや、大容量記憶装置や、実行中に大容量記憶装置からデータを取得する回数を減らすためにいくつかのプログラムコードを一時的に記憶するキャッシュメモリなどを含む。
【００２２】
入力／出力（Ｉ／Ｏ）装置は、例えばキーボード、ディスプレイ、ポインティング装置などであるが、これらはＩ／Ｏコントローラを介して直接あるいは間接的にシステムに接続される。
【００２３】
システムにはネットワークアダプタも接続されており、これにより、私的ネットワークや公共ネットワークを介して他のデータ処理システムやリモートにあるプリンタや記憶装置に接続される。モデム、ケーブルモデム、イーサネット（登録商標）は、現在利用可能なネットワークアダプタのほんの一例である。
【００２４】
最後に、本明細書において提示されるアルゴリズムおよび表示は特定のコンピュータや他の装置と本来的に関連するものではない。本明細書における説明にしたがったプログラムを有する種々の汎用システムを用いることができるし、また要求された処理ステップを実行するための特定用途の装置を製作することが適した場合もある。これら種々のシステムに要求される構成は、以下の説明において明らかにされる。さらに、本発明は、特定のプログラミング言語と関連づけられるものではない。本明細書で説明される本発明の内容を実装するために種々のプログラミング言語を利用できることは明らかであろう。
【００２５】
（システム概要）
図１は、一つの実施形態による、シーンを決定／予測するためのシステム１００を例示するハイレベルブロック図である。システム１００は、制御ユニット１０２、カメラ１１０、センサ１１２ａ…１１２ｎ、ディスプレイ１１４、および記憶装置１１６を含む。オプションとして、システム１００は外部システム１２０を含んでいてもよい。制御ユニット１０２が、ネットワーク１１８を介して外部システム１２０に通信可能に結合される。当業者であれば、ユーザが情報を入力するための入力装置、ユーザに音声メッセージを伝
えるためのスピーカなど、システム１００が他のコンポーネントを含んでもよいことを理解できるであろう。
【００２６】
カメラ１１０は、信号線１０５を介して制御ユニット１０２に通信可能に結合される。センサ１１２ａは、信号線１１５ａを介して制御ユニット１０２に通信可能に結合される。センサ１１２ｎは、信号線１１５ｎを介して制御ユニット１０２に通信可能に結合される。ディスプレイ１１４は、信号線１３５を介して制御ユニット１０２に通信可能に結合される。記憶装置１１６は、信号線１４５を介して制御ユニット１０２に通信可能に結合される。制御ユニット１０２は、通信リンク１５５を介してネットワーク１１８に通信可能に結合される。一実施形態では、通信リンク１５５は無線接続である。例えば通信リンク１５５は、双方向の無線接続である。外部システム１２０が、通信リンク１６５を介してネットワーク１１８に通信可能に結合される。一実施形態では、通信リンク１６５は無線接続である。別の実施形態では、通信リンク１６５はケーブル、陸線などによる有線接続である。
【００２７】
図１のセンサ１１２ａ…１１２ｎは例示である。図１では２つのセンサを示すが、この説明は、１つまたは複数のセンサを有するどんなシステムアーキテクチャにも当てはまる。さらに、制御ユニット１０２および外部システム１２０には１つのネットワーク１１８しか接続されていないが、実際は、これらは任意の数のネットワーク１１８を接続することができる。また、図１には、１つの制御ユニット１０２、１つのカメラ１１０、１つのディスプレイ１１４、および１つの記憶装置１１６しか示していないが、実際には任意の数の制御ユニット１０２、カメラ１１０、ディスプレイ１１４、および記憶装置１１６が本システムに含まれ得る。
【００２８】
制御ユニット１０２は、任意のプロセッサベースのコンピューティングデバイスである。例えば制御ユニット１０２は、自動車に埋め込まれる電子制御ユニット（ＥＣＵ）である。一実施形態では、制御ユニット１０２は、単一の集積回路チップを使用して実装される。例えば制御ユニット１０２は、システムオンチップ（ＳＯＣ）である。一実施形態では、制御ユニット１０２が、センサ１１２から信号を受け取り、１つまたは複数のアクチュエータ（不図示）を制御するための制御信号を生成するように構成される。アクチュエータとは、自動車内にて、力を発生させ、または制御するための装置である。例えばアクチュエータは、燃料噴射器、点火プラグ、スロットルレギュレータ、および／または制御ユニット１０２によって制御される、自動車の中の１つまたは複数の電子制御式バルブのうちの１つである。別の実施形態では、制御ユニット１０２が、シーンの種類を決定すること、未来のシーンを予測すること、天候の種類を決定することなど、以下に記載する機能を提供するためのコードおよびルーチンを含む。制御ユニット１０２は、ＣＰＵ１０４、シーンモジュール１０６、およびインタフェース１０８を含む。制御ユニット１０２のこれらのコンポーネントは、互いに通信可能に結合される。
【００２９】
ＣＰＵ１０４には、算術論理演算ユニット、マイクロプロセッサ、汎用コントローラ、または計算を実行し、メモリ（例えば記憶装置１１６）上に記憶されたデータを取得するための他の何らかのプロセッサアレイ等が含まれる。ＣＰＵ１０４はデータ信号を処理し、複合命令セットコンピュータ（ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（ＲＩＳＣ）アーキテクチャ、または命令セットの組合せを実装するアーキテクチャが含まれる様々なコンピューティングアーキテクチャを含むことができる。制御ユニット１０２内には単一のプロセッサしか図示していないが、複数のプロセッサを含めることもできる。処理能力は、画像を表示することおよび画像を取得して伝送することをサポートすることに限定され得る。処理能力は、様々な種類の特徴抽出およびサンプリングを含む、より複雑なタスクを実行するのに十分であり得る。他のプロセッサおよび物理的構成が可能であることは当業者には明らかであろう。
【００３０】
シーンモジュール１０６は、シーンの中の情報を取得する１つまたは複数のフレームを含む映像を処理するためのコードおよびルーチンである。シーンとは、道路を取り巻く環境である。例えばシーンは、森林シーン、郊外シーン、都市部シーン、および高速道路シーン等のうちの１つである。一実施形態では、運転者が道路上で自動車を運転する際、自動車の前部に装着されたカメラ１１０によって映像が取得される。カメラ１１０については以下でより詳しく説明する。そして、シーンモジュール１０６が、インタフェース１０８を介してその映像をカメラ１１０から受け取り、その映像から１つまたは複数のフレームを抽出する。例えばシーンモジュール１０６は、カメラ１１０が連続して取得した複数の連続フレームを抽出する。インタフェース１０８については以下でより詳しく説明する。
【００３１】
一実施形態では、シーンモジュール１０６はハードウェア（例えば書替え可能ゲートアレイ（ＦＰＧＡ）や、特定用途向け集積回路（ＡＳＩＣ）等）によって実装される。別の実施形態では、シーンモジュール１０６は、制御ユニット１０２のメモリ（例えばオンチップ記憶装置）内に記憶されるソフトウェアルーチンおよび命令を含む。他の実施形態では、シーンモジュール１０６は、ハードウェアとソフトウェアとの組合せとして実装される。
【００３２】
シーンモジュール１０６は、１つまたは複数のフレームの中の１つまたは複数のオブジェクト（例えば木、家屋、壁など）の存在を検出することにより、１つまたは複数のフレームのそれぞれに対して空間分析を行う。シーンモジュール１０６は、空間分析の結果に少なくとも部分的に基づいて、１つまたは複数のオブジェクトのそれぞれについて時間的パターンを生成することにより、１つまたは複数のフレームに対して時間的分析も行う。オブジェクトの時間的パターンとは、１つまたは複数のフレームにわたるオブジェクトの分布を表すパターンである。例えば時間的パターンは、カメラ１１０が連続して取得した複数のフレーム内のオブジェクトの分布を表す情報を含む。時間的パターンについては、図２Ａおよび図２Ｂを参照して、以下でより詳しく説明する。
【００３３】
一実施形態では、シーンモジュール１０６が、１つまたは複数のフレームの空間分析、および時間的分析に少なくとも部分的に基づいてシーンの種類を決定する。例えばシーンモジュール１０６は、１つまたは複数のフレームの空間分析および時間的分析によって生成される時間的パターンに少なくとも部分的に基づいて、運転者が森林の中を運転しているのか、それとも郊外を運転しているのかを判定する。異なるシーンはオブジェクトに関する異なる分布情報を有するので、ある種類のシーンを別の種類のシーンと区別するために、シーンモジュール１０６は時間的パターンに含まれるオブジェクトの分布情報を使用する。
【００３４】
別の実施形態では、シーンモジュール１０６が、１つまたは複数のフレームの空間分析、および時間的分析に少なくとも部分的に基づいて未来のシーンを予測する。未来のシーンとは、運転者が将来運転しているであろうシーンである。例えばシーンモジュール１０６は、未来のシーンが郊外シーンであることを示す分布情報を含む時間的パターンに少なくとも部分的に基づいて、これから２分後に運転者が郊外シーンの中を運転していると予測する。シーンモジュール１０６については、図２Ａおよび図２Ｂを参照して、以下でより詳しく説明する。
【００３５】
映像内に含まれるフレームに対して空間分析および時間的分析の両方を行うことは、とりわけ有利である。その理由は、何よりもそうすることでシーン判定の精度が改善し、シーンの予測を行えるようになるからである。図２Ａ〜図１２を参照して、以下でより詳しく説明するように、シーンモジュール１０６は、シーンの決定／予測を促進するために様
々な追加情報（例えば道路情報、センサデータ等）を取り込み可能にした、シーンを決定／予測するための全体的なフレームワークを提供する。
【００３６】
インタフェース１０８は、制御ユニット１０２のコンポーネントとシステム１００の他のエンティティとの間の通信を処理するインタフェースである。例えばインタフェース１０８は、カメラ１１０、センサ１１２、ディスプレイ１１４、および記憶装置１１６のうちの１つまたは複数に信号および／またはデータを送り、カメラ１１０、センサ１１２、ディスプレイ１１４、および記憶装置１１６のうちの１つまたは複数から信号および／またはデータを受け取る入出力インタフェースである。一実施形態では、インタフェース１０８は、電子回路を使用して実装される。
【００３７】
一実施形態では、インタフェース１０８は、制御ユニット１０２をネットワーク１１８に結合するネットワークアダプタを含む。例えばインタフェース１０８は、制御ユニット１０２を、通信リンク１５５を介してネットワーク１１８に接続するネットワークコントローラを含む。
【００３８】
カメラ１１０は、画像を撮像する装置である。例えばカメラ１１０は、映像を取得するビデオカメラである。映像の中の画像は、その映像のフレームと呼ばれる。一実施形態では、カメラ１１０は自動車の前部に装着される。他の実施形態では、カメラ１１０は自動車の他の位置に装着される。一実施形態では、カメラ１１０は、運転者が道路上で自動車を運転する間、道路を取り巻くシーンを表す連続フレームを含む映像を取得するように構成される。カメラ１１０は、撮像した映像をシーンモジュール１０６に送る。
【００３９】
センサ１１２ａ…１１２ｎは、物理量を測定し、その物理量を信号に変換する装置である。センサ１１２が測定する物理量の例には、これだけに限定されないが、温度、応力、圧力、力、光、音などが含まれる。例えばセンサ１１２ａ…１１２ｎは、感圧センサ、温度感知センサ、音感知センサ、力感知センサ、および感光センサ等のうちの１つである。当業者であれば、他の種類のセンサであってもよいことを理解できるであろう。一実施形態では、システム１００は、様々な種類のセンサ１１２ａ…１１２ｎの組合せを含む。例えばシステム１００は、数ある中でも、外部の温度を記録する温度感知センサ（例えば温度計）、ワイパの動きを検出する力感知センサ（例えばワイパ検知器）、および他の種類のセンサを含む。センサ１１２ａ…１１２ｎは、信号線１０５を介して信号をシーンモジュール１０６に送る。
【００４０】
ディスプレイ１１４は、液晶ディスプレイ（ＬＣＤ）や、同様に装備された他の任意のディスプレイ装置、画面、モニタなどである。ディスプレイ１１４は、本明細書に記載するように、電子画像およびデータを表示するように構成された任意の装置を表す。一実施形態では、ディスプレイ１１４がタッチスクリーンも含み、それによりユーザは、当該タッチスクリーンを介して制御ユニット１０２にデータを入力することができる。
【００４１】
記憶装置１１６は、センサデータ、道路情報、カメラ１１０が取得する映像など、任意のデータを記憶する持続性メモリである。センサデータは、センサ１１２が生成する信号から抽出されるデータである。センサデータについて、図２Ａに示すセンサモジュール２１４を参照して以下に説明する。道路情報については、図２Ａに示す道路状況モジュール２１６を参照して以下に説明する。記憶装置１１６は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）装置、スタティックランダムアクセスメモリ（ＳＲＡＭ）装置、フラッシュメモリ、または当技術分野で知られている他の何らかのメモリ装置である。一実施形態では、記憶装置１１６には、ハードディスクドライブ、フロッピディスクドライブ、コンパクトディスク読取専用メモリ（ＣＤ−ＲＯＭ）装置、デジタル多用途ディスク読取専用メモリ（ＤＶＤ−ＲＯＭ）装置、デジタル多用途ディスクランダムアクセスメモリ（Ｄ
ＶＤ−ＲＡＭ）装置、デジタル多用途ディスク書替え可能（ＤＶＤ−ＲＷ）装置、フラッシュメモリデバイス、当技術分野で知られている他の何らかの不揮発性記憶装置などの、不揮発性メモリまたは同様の永久記憶装置および媒体も含まれる。
【００４２】
一実施形態では、記憶装置１１６は、オブジェクト検出ネットワーク、空模様検出ネットワーク、シーン決定ネットワーク、シーン予測モデル、および天候検出ネットワークのうちの１つまたは複数を確立するためのアルゴリズムを表すデータを記憶する。記憶装置１１６は、オブジェクト検出ネットワーク、空模様検出ネットワーク、シーン決定ネットワーク、シーン予測モデル、および天候検出ネットワークのうちの１つまたは複数を学習させるための学習データも含む。これらのネットワークおよび／またはモデルについては、図２Ａおよび図２Ｂを参照して以下でより詳しく説明する。当業者であれば、記憶装置１１６が、本明細書に記載の機能を提供するための他の情報および／またはデータを記憶してもよいことを理解できるであろう。
【００４３】
ネットワーク１１８は、有線または無線の従来型のネットワークであり、スター構成、トークンリング構成、または当業者に知られている他の構成など、任意の構成を有することができる。一実施形態ではネットワーク１１８には、ローカルエリアネットワーク（ＬＡＮ）、インターネットなどの広域ネットワーク（ＷＡＮ）、および／または複数の装置がそれを介して通信する他の任意の相互接続データ経路のうちの１つもしくは複数が含まれる。別の実施形態では、ネットワーク１１８はピアツーピアネットワークである。ネットワーク１１８は、様々な異なる通信プロトコルでデータを送るための電気通信網に接続され、またはそのような電気通信網の一部を含む。例えば、このネットワークは３Ｇネットワークまたは４Ｇネットワークである。さらに別の実施形態では、ネットワーク１１８にはＢｌｕｅｔｏｏｔｈ（登録商標）通信ネットワーク、またはショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、無線アプリケーションプロトコル（ＷＡＰ）、電子メールなどによりデータを送受信するためのセルラ通信ネットワークが含まれる。さらに別の実施形態では、ネットワーク１１８内のリンクの全てまたは一部が、セキュアソケットレイヤ（ＳＳＬ）、セキュアＨＴＴＰ、および／または仮想私設ネットワーク（ＶＰＮ）などの従来の暗号化技術を使用して暗号化される。
【００４４】
外部システム１２０は、ネットワーク１１８を介して制御ユニット１０２と通信するシステムである。外部システム１２０は、シーンの種類、未来のシーンの種類、天候の種類などの情報をシーンモジュール１０６から受け取る。一実施形態では、外部システム１２０が、複数の自動車に埋め込まれる制御ユニット１０２から受け取る情報を記憶するデータベースを含む。別の実施形態では、外部システム１２０が、複数の自動車に埋め込まれる制御ユニット１０２に情報を送る。例えば外部システム１２０が、更新済みの学習データを制御ユニット１０２に送り、制御ユニット１０２が、その更新済みの学習データに少なくとも部分的に基づいて記憶装置１１６内に記憶される学習データを更新する。
【００４５】
（シーンモジュールの詳細）
次に図２Ａおよび図２Ｂを参照して、シーンモジュール１０６をより詳細に説明する。図２Ａは、一実施形態によるシーンモジュール１０６を例示するブロック図である。シーンモジュール１０６は、通信インタフェース２０２、フレーム処理エンジン２０４、シーン処理エンジン２０６、天候決定エンジン２１２、センサモジュール２１４、道路状況モジュール２１６、およびグラフィカルユーザインタフェース（ＧＵＩ）モジュール２１８を含む。シーンモジュール１０６のこれらのコンポーネントは、互いに通信するためにバス２４１に通信可能に結合される。
【００４６】
通信インタフェース２０２は、シーンモジュール１０６のコンポーネントと、システム
１００の他のコンポーネントとの間の通信を処理するためのコードおよびルーチンである。例えば通信インタフェース２０２は、インタフェース１０８を介してセンサ１１２ａ…１１２ｎから信号を受け取り、それらの信号をセンサモジュール２１４に送る。通信インタフェース２０２は、信号線２４３を介してバス２４１に通信可能に結合される。
【００４７】
一実施形態では、通信インタフェース２０２がインタフェース１０８を介してカメラ１１０から映像を取得し、その映像をフレーム処理エンジン２０４に送る。別の実施形態では、通信インタフェース２０２がＧＵＩモジュール２１８からグラフィカルデータを受け取り、インタフェース１０８を介してディスプレイ１１４にそのグラフィカルデータを送る。さらに別の実施形態では、通信インタフェース２０２がシーンモジュール１０６の他のコンポーネントから情報および／またはデータ（例えばセンサデータ等）を受け取り、インタフェース１０８を介して記憶装置１１６の中にその情報および／またはデータを記憶する。さらに別の実施形態では、通信インタフェース２０２が、インタフェース１０８を介して記憶装置１１６から情報および／またはデータ（例えば学習データ等）を取得し、シーンモジュール１０６の他のコンポーネントにその情報および／またはデータを送る。
【００４８】
フレーム処理エンジン２０４は、映像内に含まれる１つまたは複数のフレームを処理するためのコードおよびルーチンである。例えばフレーム処理エンジン２０４は、通信インタフェース２０２を介してカメラ１１０から映像を受け取り、その映像から１つまたは複数の連続フレームを抽出する。フレーム処理エンジン２０４は、以下に記載するように、１つまたは複数のフレーム内の１つまたは複数のオブジェクトの存在を検出することにより、１つまたは複数のフレームに対して空間分析を行う。また、フレーム処理エンジン２０４は、以下に記載するように１つまたは複数のオブジェクトのそれぞれについて時間的パターンを生成することにより、１つまたは複数のフレームに対して時間的分析も行う。フレーム処理エンジン２０４は、信号線２４５を介してバス２４１に通信可能に結合される。
【００４９】
各オブジェクトについて、フレーム処理エンジン２０４は、１つまたは複数のフレームのそれぞれの中のオブジェクトの存在を検出するための画像処理技法を用いる。例えばフレーム処理エンジン２０４は、フレームにパターン認識技法を適用することにより、そのフレーム内に木、家屋、壁などのオブジェクトがあるかどうかを判定する。フレーム処理エンジン２０４は、１つまたは複数のフレームのそれぞれについて検出結果を生成し、これにより、１つまたは複数のフレームについてオブジェクトに関連する１つまたは複数の検出結果が生成される。検出結果とは、あるオブジェクトがフレーム内で検出されるかどうかを示す結果である。検出結果は、「真」の状態、または「偽」の状態のいずれか一方を有する。「真」の状態を有する検出結果は、オブジェクトがフレーム内で検出されたこと（例えばオブジェクトがフレーム内にあること）を示す「１」の値を有する。あるいは、「偽」の状態を有する検出結果は、オブジェクトがフレーム内で検出されないこと（例えばオブジェクトがフレーム内にないこと）を示す「０」の値を有する。
【００５０】
フレーム処理エンジン２０４は、１つまたは複数の検出結果に少なくとも部分的に基づいてオブジェクトの時間的パターンを形成する。オブジェクトの時間的パターンは、１つまたは複数のフレームにわたるオブジェクトの存在の分布を表す１つまたは複数のビン（値）を含む。例えば木の存在に関する時間的パターンは、木の存在が第１のフレーム内で検出されたことを示す「１」の値を有する第１のビン、ならびに木の存在が第１のフレームおよび第２のフレームの両方で検出されたことを示す「２」の値を有する第２のビンを含む。当業者であれば、時間的パターンが任意の数のビンを含み得ることが理解できるであろう。時間的パターンの生成については、図２Ｂおよび図５を参照して以下でより詳しく説明する。一実施形態では、フレーム処理エンジン２０４がオブジェクトの時間的パタ
ーンをシーン処理エンジン２０６に送る。別の実施形態では、フレーム処理エンジン２０４がオブジェクトの時間的パターンを記憶装置１１６の中に記憶させる。
【００５１】
一実施形態では、フレーム処理エンジン２０４がフレームを処理し、そのフレーム内にある空の状態を決定する。空の状態とは、晴れた空、雨模様の空、曇り空、遮られた空などの空についての状態である。遮られた空とは、フレーム内にある空が、木や建物などによって遮られたときに生じる。フレーム処理エンジン２０４は、空の状態を天候決定エンジン２１２に送る。
【００５２】
別の実施形態では、フレーム処理エンジン２０４がフレームを分析し、そのフレームの画像分析結果を生成する。例えばフレーム処理エンジン２０４は、木の存在が検出されているフレームを分析し、木の存在に関する平均輝度を生成する。輝度とは、光を放射し、または反射するオブジェクトに関する視覚認知特質である。例えば輝度は、オブジェクトの発光によってもたらされる視覚的認知である。平均輝度は、オブジェクトの平均的な輝度である。フレーム処理エンジン２０４は、平均輝度を含む画像分析結果を天候決定エンジン２１２に送る。フレーム処理エンジン２０４については、図２Ｂを参照して以下でより詳しく説明する。
【００５３】
シーン処理エンジン２０６は、１つまたは複数のフレームから導かれるシーンの種類を決定し、その１つまたは複数のフレームから、未来のシーンの種類を予測するためのコードおよびルーチンである。例えばシーン処理エンジン２０６は、１つまたは複数のオブジェクトに関連する１つまたは複数の時間的パターンをフレーム処理エンジン２０４から受け取り、その１つまたは複数の時間的パターンに少なくとも部分的に基づいて運転者が森林の中を運転していると判断する。一実施形態では、シーン処理エンジン２０６が１つまたは複数の時間的パターンを記憶装置１１６から取得する。シーン処理エンジン２０６は、信号線２４７を介してバス２４１に通信可能に結合される。シーン処理エンジン２０６は、シーン決定モジュール２０８およびシーン予測モジュール２１０を含む。シーン処理エンジン２０６のコンポーネントは、互いに通信可能に結合される。
【００５４】
シーン決定モジュール２０８は、シーンの種類を決定するためのコードおよびルーチンである。例えばシーン決定モジュール２０８は、１つまたは複数のフレームの中の木の存在に関する時間的パターンに少なくとも部分的に基づいて、１つまたは複数のフレームによって取得されたシーンが森林シーンであると決定する。一実施形態では、シーン決定モジュール２０８が、１つまたは複数のオブジェクトの時間的パターンを時間的パターンモジュール２３６から受け取る。時間的パターンモジュール２３６については、図２Ｂを参照して以下に説明する。別の実施形態では、シーン決定モジュール２０８が、１つまたは複数のオブジェクトの時間的パターンを記憶装置１１６から取得する。
【００５５】
シーン決定モジュール２０８は、シーンの種類を決定するためのシーン決定ネットワークを確立する。シーン決定ネットワークとは、シーンを決定するためのモデルである。例えばシーン決定ネットワークは、ベイジアンネットワークである。シーン決定ネットワークの一例を図６Ａに示す。一実施形態では、シーン決定モジュール２０８が、シーン決定ネットワークを確立するためのアルゴリズムを表すデータを記憶装置１１６から取得し、そのアルゴリズムに少なくとも部分的に基づいてシーン決定ネットワークを確立する。
【００５６】
シーン決定モジュール２０８は、シーン決定ネットワークへの入力として、１つまたは複数のオブジェクトに関する１つまたは複数の時間的パターンを与える。例えばシーン決定エンジン２０８は、フレームの左マージン部における木の存在に関する時間的パターン（例えば木の存在に関する左マージン部の時間的パターン）、フレームの右マージン部における木の存在に関する時間的パターン（例えば木の存在に関する右マージン部の時間的
パターン）、家屋の存在に関する時間的パターン、壁の存在に関する時間的パターン等のうちの１つまたは複数をシーン決定ネットワークに入力する。
【００５７】
シーン決定ネットワークへの入力として様々なオブジェクト（例えば木、壁、家屋など）の時間的パターンを与えることは有利である。その理由は、数ある中でもオブジェクトが、様々なシーンを区別するための主要な要因だからである。例えば、木の存在は森林シーンを他の種類のシーンと区別するための主要な要因である。森林シーンだけが木が密集しているためである。また、シーンの決定を高速化するために、左マージン部の時間的パターンおよび右マージン部の時間的パターンの両方を使用することが有益である。例えば、木の存在に関する左マージン部の時間的パターンと木の存在に関する右マージン部の時間的パターンとを取り入れることは、シーンが森林シーンか、それとも郊外シーンかを決定するのを容易にする。木の存在に関する左マージン部の時間的パターンが、そのシーンの左側に木が密集していることを示し、木の存在に関する右マージン部の時間的パターンが、そのシーンの右側には散在的な木しかないことを示す場合、シーン決定モジュール２０８は、そのシーンが森林シーンではなく、郊外シーンであると決定する。
【００５８】
一実施形態では、シーン決定モジュール２０８が壁検出結果をオブジェクト検出器２３４から受け取り、その壁検出結果をシーン決定ネットワークへの入力として与える。オブジェクト検出器２３４については、図２Ｂを参照して以下に説明する。壁検出結果とは、フレーム内で壁が検出されたかどうかを示す検出結果である。一実施形態では、壁検出結果が、フレーム内で壁が検出されたことを示す「１」の値を有する。あるいは壁検出結果が、フレーム内で壁が検出されないことを示す「０」の値を有する。
【００５９】
別の実施形態では、シーン決定モジュール２０８が道路情報を道路状況モジュール２１６から受け取り、その道路情報をシーン決定ネットワークへの入力として与える。道路情報とは、シーンの中の道路に関連する情報である。例えば道路情報は、道路上で水平に並んだ車の数、道路上の車線の幅、および道路上の車の存在の時間的パターン等のうちの１つまたは複数を含む。
【００６０】
道路情報は、１つまたは複数の中間結果を生成するシーン決定ネットワークによって使用される。中間結果とは、シーン決定ネットワークによって生成され、シーン決定ネットワークへの入力としても用いられる結果である。例えばシーン決定ネットワークは、道路上で水平に並んだ車の数および道路の幅を入力として利用して、その道路の幅が広いか狭いかを表す中間結果を生成する。別の例として、シーン決定ネットワークは、道路上の車の存在の時間的パターンを入力として利用して道路交通を表す中間結果を生成する。生成される中間結果は、シーン決定ネットワークへの新たな入力となる。シーン決定ネットワーク内で中間結果を生成することは有益であり、その理由はとりわけ、そうすることがネットワークの構造を単純化し、ユーザが中間結果にアクセスすることを可能にするからである。例えば道路交通に関する情報が必要な場合、ユーザは、道路交通を表す中間結果を得るためにシーン決定ネットワークをクエリすることができる。
【００６１】
道路交通とは、道路に関連する交通情報である。一実施形態では、道路交通は、交通無し、中位の交通量、密集した交通、かなり密集した交通、および渋滞した交通の状態のうちの１つを含む。異なるシーンは異なる交通特性を有するので、道路交通情報はシーンの決定を助ける。例えば渋滞した交通または密集した交通は、そのシーンが都市部シーンまたは高速道路シーンである可能性が非常に高いことを示す。密集した交通または中位の交通量は、そのシーンが郊外シーンである可能性が非常に高いことを示す。交通が無いことは、そのシーンが森林シーンである可能性が非常に高いことを示す。
【００６２】
さらに別の実施形態では、シーン決定モジュール２０８がセンサモジュール２１４から
センサデータを受け取り、そのセンサデータをシーン決定ネットワークへの入力として与える。センサデータは、ワイパの動作を表すデータ、自動車の外の温度を表すデータ、およびセンサモジュール２１４によって生成される他のデータのうちの１つまたは複数を含む。
【００６３】
シーン決定モジュール２０８は、シーン決定ネットワークからの出力として、１つまたは複数のシーンに関する１つまたは複数の確率を生成する。例えばシーン決定モジュール２０８は、シーン決定ネットワークを適用して森林シーンに関する確率、郊外シーンに関する確率、および高速道路シーンに関する確率を生成する。あるシーンに関する確率は、そのシーンの可能性を示す。例えば、０．９の値を有する森林シーンに関する確率は、森林シーンである確率が９０％であることを示す。
【００６４】
シーン決定モジュール２０８は、１つまたは複数の確率に少なくとも部分的に基づいてシーンの種類を決定する。例えば、シーン決定モジュール２０８が、０．７の値を有する森林シーンに関する確率、０．２の値を有する郊外シーンに関する確率、および０．１の値を有する高速道路の確率をシーン決定ネットワークからの出力として生成すると仮定する。森林シーンに関する確率が郊外シーンおよび高速道路シーンに関する確率よりも高いので（例えば０．７＞０．２および０．７＞０．１）、シーン決定モジュール２０８はそのシーンが森林シーンであると決定する。
【００６５】
一実施形態では、シーン決定モジュール２０８が、シーンを決定するための１つまたは複数の確率を生成するためにシーン決定ネットワークを用いる前に、そのシーン決定ネットワークを学習させる。例えばシーン決定モジュール２０８は記憶装置１１６から学習データを取得し、その学習データを使用してシーン決定ネットワークを学習させる。シーン決定ネットワークの学習は、ネットワークを初期化するためのプロセスである。一実施形態では、ネットワークの学習は、シーン決定ネットワークがシーンを決定する準備ができているように、シーン決定ネットワークを構成するためのプロセスである。
【００６６】
学習データは、ネットワークまたはモデルを学習させるためのデータである。一実施形態では学習データは、シーン決定ネットワークへの入力データ（例えば１つまたは複数のオブジェクトの時間的パターン、道路情報、センサデータ等）、および入力データに対応する、既知の出力確率を含む。例えば学習データは、森林シーンに対応する入力データ、１の値を有する森林シーンに関する確率、および０の値を有する郊外シーンなどの他の種類のシーンに関する確率を含む。当業者であれば、学習データが他の入力データおよび他の種類のシーンに対応する、既知の出力確率を含み得ることを理解できるであろう。
【００６７】
シーンを決定するために、ベイジアンネットワークなどのシーン決定ネットワークを使用することはとりわけ有利であり、その理由は、数ある中でもシーン決定ネットワークが、コンピュータビジョン技法を使用して生成される情報（例えば時間的パターン等）や、自動車内にセンサを配置することによって生成される情報（例えばセンサデータ）などの様々な情報を取り入れて、シーンを決定することの精度および効率を改善することができるからである。シーン決定ネットワークは、シーンを決定するために様々な情報を取り入れることができるオープンな構造を有するモデルである。
【００６８】
シーン予測モジュール２１０は、未来のシーンを予測するためのコードおよびルーチンである。一実施形態では、シーン予測モジュール２１０が、１つまたは複数のオブジェクトに関連する１つまたは複数の時間的パターンに少なくとも部分的に基づいて未来のシーンを予測する。例えばシーン予測モジュール２１０は、時間的パターンに少なくとも部分的に基づいて１つまたは複数のシーン推移特性を取得し、そのシーン推移特性に少なくとも部分的に基づいて未来のシーンを予測する。シーン推移特性は、道路を取り巻くシーン
がどのように変化するのかを表す情報である。例えばシーン推移特性は、シーンの中で木の存在が減少していることを表す。
【００６９】
シーン予測モデルは、シーンの中の１つまたは複数のシーン推移特性を取得し、１つまたは複数の未来のシーンを予測するためのモデルである。一実施形態ではシーン予測モデルが、あるシーンの１つまたは複数の過去の状態、そのシーンの現在の状態、およびそのシーンの１つまたは複数の未来の状態を推定するように構成される。例えば森林シーンのためのシーン予測モデルは、森林シーンの過去の状態、森林シーンの現在の状態、および森林シーンの未来の状態を推定するための隠れマルコフモデルである。シーン予測モデルの一例を図６Ｂに示す。
【００７０】
現在時とは、カメラ１１０によって最新のフレームが取得される時間である。一実施形態では、現在時を記号「ｔ」によって表す。過去時とは、現在時よりも前の時間である。現在時の１タイムステップ前の過去時を「ｔ−１」によって表す。タイムステップとは、例えば映像内の２つの連続したフレーム間の時間間隔である。一実施形態では、タイムステップは映像内の任意の数のフレーム間の時間間隔である。同様に、現在時の「Ｎ」（例えばＮ＝１、２、３、４…）タイムステップ前の過去時を「ｔ−Ｎ」によって表す。未来時とは、現在時よりも後の時間である。現在時の「Ｎ」タイムステップ後の未来時を「ｔ＋Ｎ」によって表す。一実施形態では、最新のフレームがカメラ１１０により現在時「ｔ」において取得され、１つまたは複数のフレームがカメラ１１０により１つまたは複数の過去時（例えばｔ−１、ｔ−２…ｔ−Ｎ等）においてそれぞれ取得される。現在時に取得される最新のフレームおよび過去時に取得される１つまたは複数のフレームは、あるシーンの過去の状態および現在の状態を推定し、未来時ｔ＋１、ｔ＋２…ｔ＋Ｎ等におけるそのシーンの１つまたは複数の未来の状態を予測するために使用される。
【００７１】
シーンの現在の状態とは、現在時におけるシーンの状態（「真」または「偽」）である。例えば、森林シーンの「真」の現在の状態（「森林（ｔ）＝１」として表す）は、現在時「ｔ」におけるシーンが森林シーンであることを示す。森林シーンの「偽」の現在の状態（「森林（ｔ）＝０」として表す）は、現在時「ｔ」におけるシーンが森林シーンではないことを示す。シーンの過去の状態とは、過去におけるシーンの状態（「真」または「偽」）である。例えば、過去時ｔ−Ｎにおける森林シーンの「真」の過去の状態（「森林（ｔ−Ｎ）＝１」として表す）は、過去時ｔ−Ｎにおけるシーンが森林シーンであることを示す。過去時ｔ−Ｎにおける森林シーンの「偽」の過去の状態（「森林（ｔ−Ｎ）＝０」として表す）は、過去時ｔ−Ｎにおけるシーンが森林シーンではないことを示す。シーンの未来の状態とは、未来におけるシーンの状態（「真」または「偽」）である。例えば、未来時ｔ＋Ｎにおける森林シーンの「真」の未来の状態（「森林（ｔ＋Ｎ）＝１」として表す）は、未来時ｔ＋Ｎにおけるシーンが森林シーンであることを示す。未来時ｔ＋Ｎにおける森林シーンの「偽」の未来の状態（「森林（ｔ＋Ｎ）＝０」として表す）は、未来時ｔ＋Ｎにおけるシーンが森林シーンではないことを示す。
【００７２】
シーン予測モデルは、１組または複数組の観測ノードおよび１組の隠れノードを含む。観測ノードとは、その値が観測され知られている、シーン予測モデル内の変数である。例えば観測ノードは、時間的パターンモジュール２３６が生成する時間的パターン内のビンである。図６Ｂに示すように、１組の観測ノードは時間的パターン内の全てのビンに対応する。隠れノードとは、その状態が未知であり、シーン予測モデルによって推定される変数である。例えば隠れノードは、シーン（例えば森林シーン）の過去の状態、シーンの現在の状態、およびシーンの未来の状態のうちの１つである。図６Ｂに示すように、１組の隠れノードはシーンの過去の状態、シーンの現在の状態、およびシーンの未来の状態を含む。観測ノードおよび隠れノードの組は関連しており、シーン予測モデルの構造に応じて互いに相互作用する。一実施形態ではシーン予測モデルが、センサデータ、道路情報等を
シーン予測モデルに取り入れるためのノードなど、他の観測ノード（または変数）を含む。
【００７３】
一実施形態では、シーン予測モジュール２１０が森林シーンのためのシーン予測モデルを確立し、そのシーン予測モデルを適用して、森林シーンの過去の状態、現在の状態、および未来の状態のうちの１つまたは複数を推定する。例えばシーン予測モジュール２１０は、時間的パターンモジュール２３６から時間的パターンを受け取り、その時間的パターンをシーン予測モデルに入力し、シーン予測モデルからの出力として森林シーンの１つまたは複数の過去の状態、現在の状態、および１つまたは複数の未来の状態を生成する。一実施形態では、シーン予測モジュール２１０が、カルマンフィルタリング技法および／または時系列分析を適用して森林シーンの状態を推定する。森林シーンの現在の状態が真（「森林（ｔ）＝１」）の場合、シーン予測モジュール２１０は、シーンが現在は森林シーンであると決定する。森林シーンの現在の状態が偽（「森林（ｔ）＝０」）の場合、シーン予測モジュール２１０は、シーンが森林シーンではないと決定する。未来時ｔ＋Ｎにおける森林シーンの未来の状態が真（「森林（ｔ＋Ｎ）＝１」）の場合、シーン予測モジュール２１０は、未来時ｔ＋Ｎにおける未来のシーンが森林シーンであると予測する。未来時ｔ＋Ｎにおける森林シーンの未来の状態が偽（「森林（ｔ＋Ｎ）＝０」）の場合、シーン予測モジュール２１０は、未来時ｔ＋Ｎにおける未来のシーンが森林シーンではないと予測する。
【００７４】
同様に、シーン予測モジュール２１０は、他の種類のシーン（例えば郊外シーン、高速道路シーン等）についてもシーン予測モデルを確立して、他の種類のシーンに関する過去の状態、現在の状態、および未来の状態を推定する。シーンの未来の状態を推定することはとりわけ有益であり、その理由は、例えばそうすることが自動車を運転する運転者が同じシーン内に留まる期間を推定するためのメカニズムを提供するからである。例えば、未来時ｔ＋１から未来時ｔ＋Ｎまでの森林シーンの未来の状態が真の場合、運転者が森林シーン内に留まる期間は少なくとも未来時ｔ＋１から未来時ｔ＋Ｎまでである。
【００７５】
天候決定エンジン２１２は、シーンの中の天候の種類を決定するためのコードおよびルーチンである。例えば天候決定エンジン２１２は、シーンの中の天候が晴れた天候、曇りの天候、雨天、および不明のうちの１つであると決定する。不明とは、天候決定エンジン２１２が決定することができない天候である。天候決定エンジン２１２は、信号線２４９を介してバス２４１に通信可能に結合される。
【００７６】
一実施形態では、天候決定エンジン２１２が、天候の種類を決定するための天候検出ネットワークを確立する。天候検出ネットワークとは、天候を決定するためのモデルである。例えば天候検出ネットワークは、ベイジアンネットワークである。天候検出ネットワークの一例を図６Ｃに示す。一実施形態では、天候決定エンジン２１２が、天候検出ネットワークを確立するためのアルゴリズムを表すデータを記憶装置１１６から取得し、そのアルゴリズムに少なくとも部分的に基づいて天候検出ネットワークを確立する。
【００７７】
一実施形態では、天候決定エンジン２１２が、フレームの中の空の状態を表す１つまたは複数の空模様検出結果を上空状態検出器２３８から受け取り、その１つまたは複数の空模様検出結果を天候検出ネットワークへの入力として与える。上空状態検出器２３８については、図２Ｂを参照して以下に説明する。空模様検出結果とは、検出された空の状態を表す検出結果である。空模様検出結果は、空の状態についての状態（「真」または「偽」）を表す。空の状態についての「真」の空模様検出結果は、その状態の空が検出されたことを示す１の値を有する。例えば、「１」の値を有する晴れた空についての空模様検出結果は、空が晴れた状態であることを示す。空の状態についての「偽」の空模様検出結果は、その状態の空が検出されないことを示す「０」の値を有する。例えば、「０」の値を有
する晴れた空についての空模様検出結果は、空が晴れた状態ではないことを示す。
【００７８】
別の実施形態では、天候決定エンジン２１２が、フレームの中の木の存在に関する検出結果をオブジェクト検出器２３４から受け取り、その木の存在に関する検出結果を天候検出ネットワークへの入力として与える。さらに別の実施形態では、天候決定エンジン２１２が、フレームの画像分析結果（例えば木の平均輝度）を画像分析モジュール２４０から受け取り、その画像分析結果を天候検出ネットワークへの入力として与える。天候検出ネットワーク内で木の平均輝度などの画像分析結果を利用することは有益であり、その理由は、例えば、たとえフレームの中で晴れた空が遮られていても、木が受ける光の量を測定することにより、晴れた天候の決定をそれらの木の平均輝度によって推定できるからである。
【００７９】
さらに別の実施形態では、天候決定エンジン２１２が、ワイパの動作を表すセンサデータをセンサモジュール２１４から受け取り、そのセンサデータを天候検出ネットワークへの入力として与える。ワイパは雨天でしか作動されないので、このセンサデータは、天候検出ネットワークが雨天と曇りとを区別するために使用できる。
【００８０】
天候決定エンジン２１２は、天候検出ネットワークからの出力として、様々な種類の天候に関する１つまたは複数の確率を生成する。例えば天候決定エンジン２１２は、天候検出ネットワークからの出力として晴れた天候に関する確率、曇りの天候に関する確率、雨天に関する確率、および未決定の天候に関する確率を生成する。ある種類の天候に関する確率は、その種類の天候の可能性を示す。例えば、０．９の値を有する晴れた天候に関する確率は、晴れた天候の確率が９０％であることを示す。
【００８１】
天候決定エンジン２１２は、生成した１つまたは複数の確率に少なくとも部分的に基づいて天候の種類を決定する。例えば、天候決定エンジン２１２が、０．７の値を有する晴れた天候に関する確率、０．２の値を有する曇りの天候に関する確率、０．１の値を有する雨天に関する確率、および０の値を有する不明の天候に関する確率を生成すると仮定する。晴れた天候に関する確率が他の種類の天候に関する確率よりも高いので（例えば０．７＞０．２、０．７＞０．１、および０．７＞０）、天候決定エンジン２１２は天候が晴れであると決定する。
【００８２】
一実施形態では、天候決定エンジン２１２が、天候を決定するための１つまたは複数の確率を生成するために天候検出ネットワークを用いる前に、その天候検出ネットワークを学習させる。例えば天候決定エンジン２１２は記憶装置１１６から学習データを取得し、その学習データを使用して天候検出ネットワークを学習させる。学習データは、天候検出ネットワークへの入力データ（例えばフレームの中の空の状態を表す１つまたは複数の空模様検出結果、フレームの中の木の存在に関する検出結果、フレームの中の木の平均輝度、およびワイパの動作を表すセンサデータ等）、および入力データに対応する、既知の出力確率（例えば雨天に関する確率、晴れた天候に関する確率等）を含む。一実施形態では、天候検出ネットワークが天候を決定する準備が整うように、天候決定エンジン２１２が学習データに少なくとも部分的に基づいて天候検出ネットワークを構成する。
【００８３】
センサモジュール２１４は、センサデータを生成するためのコードおよびルーチンである。例えばセンサモジュール２１４は、温度感知センサ１１２（例えば温度計）から信号を受け取り、その信号が示す温度を表すセンサデータを生成する。センサモジュール２１４は、信号線２５１を介してバス２４１に通信可能に結合される。一実施形態では、センサモジュール２１４が、ワイパの動きを検出するように構成されたセンサ１１２から信号を受け取り、ワイパの動作を表すセンサデータを生成する。他の実施形態では、センサモジュール２１４が他のセンサ１１２から信号を受け取り、他の情報を含むセンサデータを
生成する。センサモジュール２１４は、センサデータをシーン決定モジュール２０８、シーン予測モジュール２１０、および天候決定エンジン２１２のうちの１つまたは複数に送る。一実施形態では、センサモジュール２１４がセンサデータを記憶装置１１６に記憶させる。
【００８４】
道路状況モジュール２１６は、道路情報を生成するためのコードおよびルーチンである。例えば道路状況モジュール２１６は、通信インタフェース２０２を介してカメラ１１０から１つまたは複数のフレームを取得し、その１つまたは複数のフレームを処理し、道路状況を表す道路情報を生成する。道路情報は、道路上で水平に並んだ車の数、道路上の車線の幅、および道路上の車の存在の時間的パターン等のうちの１つまたは複数を含む。一実施形態では、道路状況モジュール２１６が１つまたは複数のフレーム内の車の存在を検出し、その車の存在に関する１つまたは複数の検出結果を生成する。道路状況モジュール２１６は、この車の存在に関する１つまたは複数の検出結果に少なくとも部分的に基づいて車の存在に関する時間的パターンを生成する。道路状況モジュール２１６は、信号線２５３を介してバス２４１に通信可能に結合される。道路状況モジュール２１６は、道路情報をシーン決定モジュール２０８、シーン予測モジュール２１０、および天候決定エンジン２１２のうちの１つまたは複数に送る。一実施形態では、道路状況モジュール２１６が道路情報を記憶装置１１６に記憶させる。
【００８５】
ＧＵＩモジュール２１８は、ユーザインタフェースを描画するためのグラフィカルデータを生成するためのコードおよびルーチンである。ＧＵＩモジュール２１８は、信号線２５５を介してバス２４１に通信可能に結合される。一実施形態では、ＧＵＩモジュール２１８が、ユーザにメッセージを伝えるためのユーザインタフェースを描画するためのグラフィカルデータを生成する。例えばＧＵＩモジュール２１８は、ユーザが森林シーンを離れ、郊外シーンに入ることをそのユーザに知らせるためのユーザインタフェースを描画するためのグラフィカルデータを生成する。別の実施形態では、ＧＵＩモジュール２１８は、ユーザがシステム１００に情報を入力できるようにするためのユーザインタフェースを描画するためのグラフィカルデータを生成する。例えばＧＵＩモジュール２１８は、「開始」ボタンを有するユーザインタフェースを描画するためのグラフィカルデータを生成し、「開始」ボタンを押すことにより、ユーザがそのシーンを表す映像を撮影し始めることを可能にする。ＧＵＩモジュール２１８はグラフィカルデータをディスプレイ１１４に送り、ユーザに向けてユーザインタフェースを提示させる。
【００８６】
（フレーム処理エンジンの詳細）
次に、図２Ｂを参照してフレーム処理エンジン２０４をより詳細に示す。図２Ｂは、一実施形態によるフレーム処理エンジン２０４を例示するブロック図である。フレーム処理エンジン２０４は、ダウンサンプリングモジュール２３２、オブジェクト検出器２３４、時間的パターンモジュール２３６、上空状態検出器２３８、および画像分析モジュール２４０を含む。フレーム処理エンジン２０４のこれらのコンポーネントは、バス２４１に通信可能に結合される。
【００８７】
ダウンサンプリングモジュール２３２は、１つまたは複数のフレームをダウンサンプリングするためのコードおよびルーチンである。フレームのダウンサンプリングとは、フレームから画素を除去することにより、フレームのサイズを小さくする処理である。例えばダウンサンプリングモジュール２３２は、サイズが９６×１４２画素のフレームを、サイズが４８×７２画素の低解像度画像へとダウンサンプルする。ダウンサンプリングモジュール２３２は、通信インタフェース２０２を介してカメラ１１０から１つまたは複数のフレームを含む映像を取得し、その１つまたは複数のフレームを１つまたは複数の低解像度画像へとダウンサンプルする。一実施形態では、ダウンサンプリング後のフレームがユーザによって指定される解像度を有するように、ダウンサンプリングモジュール２３２がフ
レームをダウンサンプルする。例えばダウンサンプリング後のフレームが、ユーザによって指定された４８×７２画素のサイズとなる。ダウンサンプリングモジュール２３２は、ダウンサンプリング後のフレームをオブジェクト検出器２３４、上空状態検出器２３８、および画像分析モジュール２４０のうちの１つまたは複数に送る。
【００８８】
オブジェクト検出器２３４は、フレームの中のオブジェクトの存在を検出するためのコードおよびルーチンである。例えばオブジェクト検出器２３４は、ダウンサンプリングモジュール２３２から１つまたは複数のフレームを受け取り、その１つまたは複数のフレームの中に木があるかどうかを判定する。一実施形態では、オブジェクト検出器２３４が、１つまたは複数のフレームの中で検出すべき１つまたは複数のオブジェクトを決定する。例えばオブジェクト検出器２３４は、１つまたは複数のフレームの中の、木、壁、および家屋の存在を検出することを決定する。オブジェクト検出器２３４は、各オブジェクトの存在を別々に検出する。例えば、オブジェクト検出器２３４は、１つまたは複数のフレーム内の木の存在を検出するための第１の検出プロセス、１つまたは複数のフレーム内の壁の存在を検出するための第２の検出プロセス、および１つまたは複数のフレーム内の家屋の存在を検出するための第３の検出プロセスを実行する。
【００８９】
フレーム内のオブジェクトの存在を検出するために、オブジェクト検出器２３４は、オブジェクトを検出するためのフレーム内の１つまたは複数のセクタを決定する。セクタとは、フレームの一部分である。例えば、セクタはフレームの一部分であり、１０×１０画素のサイズを有する。一実施形態ではオブジェクト検出器２３４が、ヒューリスティックな方法に少なくとも部分的に基づいて、オブジェクトを検出するためのフレームの左マージン部および／または右マージン部内の１つまたは複数のセクタを選択する。ヒューリスティックな方法とは、問題を解決するためのプロセスを速める、経験に基づく技法を指す。例えばヒューリスティックな方法は、カメラ１１０が自動車の前部に装着され、道路に面しているとき、フレームの左マージン部および右マージン部がシーンの中の道路の左右両側に対応するので、フレームの左マージン部および右マージン部に木がある可能性が高いことを示す。
【００９０】
一実施形態では、オブジェクト検出器２３４が、様々なオブジェクトの存在を検出するために様々なセクタを選択する。例えばオブジェクト検出器２３４は、フレームの中の木の存在を検出する際、図３Ａに示すように左マージン部中の２つのセクタおよび右マージン部中の２つのセクタを選択する。別の例としてオブジェクト検出器２３４は、壁の存在を検出する際、図３Ｂに示すようにフレームの右マージン部上のセクタ（例えばスライドセクタ）を選択する。スライドセクタとは、フレームのマージン部に沿って上下にスライドするセクタである。スライドセクタの一例を図３Ｂに示す。
【００９１】
オブジェクト検出器２３４は、フレームの中の各セクタ内の画素ごとに、赤色、緑色、および青色の値を取得する。赤色、緑色、および青色の値はＲＧＢ値と呼ばれる。このＲＧＢ値は、画素の赤色、緑色、および青色の光強度を示す。オブジェクト検出器２３４は、１つまたは複数のセクタ内の各画素の全てのＲＧＢ値を含むベクトルを形成する。
【００９２】
オブジェクト検出器２３４は、フレームの中のオブジェクトの存在を検出するためのオブジェクト検出ネットワークを確立する。一実施形態では、オブジェクト検出器２３４が、オブジェクト検出ネットワークを確立するためのアルゴリズムを表すデータを記憶装置１１６から取得し、そのアルゴリズムに少なくとも部分的に基づいてオブジェクト検出ネットワークを確立する。オブジェクト検出ネットワークとは、オブジェクトの存在を検出するためのモデルである。例えばオブジェクト検出ネットワークは、フィードフォワードニューラルネットワークである。オブジェクトの存在を検出するためのオブジェクト検出ネットワークの一例を図４Ａに示す。
【００９３】
オブジェクト検出器２３４は、オブジェクト検出ネットワークへの入力としてＲＧＢ値を含むベクトルを与え、オブジェクト検出ネットワークを使用してフレーム内のオブジェクトの存在を検出する。オブジェクト検出器２３４は、オブジェクト検出ネットワークからの出力として検出結果を生成する。オブジェクト検出器２３４は、その検出結果に少なくとも部分的に基づいて、フレーム内に、あるオブジェクトがあるかどうかを判定する。例えば検出結果が「１」の場合、オブジェクト検出器２３４は、オブジェクトの存在がフレームの中で検出されたと判定する。検出結果が「０」の場合、オブジェクト検出器２３４は、オブジェクトの存在がフレームの中で検出されていないと判定する。
【００９４】
一実施形態では、オブジェクト検出器２３４がフレームの左マージン部中のオブジェクトの存在を検出し、そのフレームに関する左マージン部検出結果を生成する。例えばオブジェクト検出器２３４は、フレームの左マージン部中の１つまたは複数のセクタを選択し、そのフレームの左マージン部中の木の存在を検出する。オブジェクト検出器２３４は、フレーム内の木の存在に関する左マージン部検出結果を生成する。別の実施形態では、オブジェクト検出器２３４がフレームの右マージン部中のオブジェクトの存在を検出し、そのフレームに関する右マージン部検出結果を生成する。例えばオブジェクト検出器２３４は、フレームの右マージン部中の木の存在を検出し、そのフレーム内の木の存在に関する右マージン部検出結果を生成する。
【００９５】
一実施形態では、オブジェクト検出器２３４が、フレームの中のオブジェクト検出に関する検出結果を生成するためにオブジェクト検出ネットワークを用いる前に、そのオブジェクト検出ネットワークを学習させる。例えばオブジェクト検出器２３４は記憶装置１１６から学習データを取得し、その学習データを使用してオブジェクト検出ネットワークを学習させる。学習データは、オブジェクト検出ネットワークへの入力データ（例えばＲＧＢ値を含むベクトル等）、および入力データに対応する、既知の検出結果（例えば「１」または「０」の値を有する検出結果）を含む。一実施形態では、オブジェクト検出ネットワークがオブジェクトを検出する準備が整うように、オブジェクト検出器２３４が学習データに少なくとも部分的に基づいてオブジェクト検出ネットワークを構成する。
【００９６】
複数のフレームの中でオブジェクトの存在を検出するために、オブジェクト検出器２３４は、フレームの中のオブジェクトの存在を検出するための上述の操作を複数のフレームの各フレームに対して実行する。オブジェクト検出器２３４は、複数のフレームのそれぞれについて検出結果を生成し、それにより、複数の検出結果がオブジェクトについて生成される。複数のフレームの中で検出すべき２つ以上のオブジェクトがある場合、オブジェクト検出器２３４は、複数のフレームの中のオブジェクトそれぞれの存在を独立に検出し、オブジェクトのそれぞれについて複数の検出結果を生成する。オブジェクト検出器２３４は、検出結果を記憶装置１１６に記憶させる。一実施形態では、オブジェクト検出器２３４が検出結果を時間的パターンモジュール２３６に送る。
【００９７】
時間的パターンモジュール２３６は、１つまたは複数のオブジェクトに関する１つまたは複数の時間的パターンを生成するためのコードおよびルーチンである。一実施形態では、時間的パターンモジュール２３６が、オブジェクトに関する１つまたは複数の検出結果をオブジェクト検出器２３４から取得する。別の実施形態では、時間的パターンモジュール２３６が、オブジェクトに関する１つまたは複数の検出結果を記憶装置１１６から取得する。時間的パターンモジュール２３６は、その１つまたは複数の検出結果に少なくとも部分的に基づいて、オブジェクトに関する時間的パターンを生成する。例えば時間的パターンモジュール２３６は、１つまたは複数のフレームの中の壁の存在に関する１つまたは複数の検出結果に少なくとも部分的に基づいて、壁の存在に関する時間的パターンを生成する。
【００９８】
一実施形態では、時間的パターンモジュール２３６が、１つまたは複数のフレームの中のオブジェクトに関する１つまたは複数の左マージン部検出結果に少なくとも部分的に基づいて、そのオブジェクトに関する左マージン部の時間的パターンを生成する。例えば時間的パターンモジュール２３６は、木の存在に関する１つまたは複数の左マージン部検出結果を使用して、木の存在に関する左マージン部の時間的パターンを生成する。別の実施形態では、時間的パターンモジュール２３６が、１つまたは複数のフレームの中のオブジェクトに関する１つまたは複数の右マージン部検出結果に少なくとも部分的に基づいて、そのオブジェクトに関する右マージン部の時間的パターンを生成する。１つまたは複数の検出結果を使用して時間的パターンを生成することについては、以下でより詳しく説明する。時間的パターンを生成するためのプロセスの一例を図５にも示す。
【００９９】
時間的パターンは、１つまたは複数のフレームの中のオブジェクトの存在の分布を表す１つまたは複数のビンを含む。時間的パターンの第１のビンを「ビン（１）」として表す。時間的パターンの第２のビンを「ビン（２）」として表す。同様に、時間的パターンのＮ番目のビンを「ビン（Ｎ）」として表す。オブジェクトの第１の検出結果を「結果（１）」として表す。オブジェクトの第２の検出結果を「結果（２）」として表す。同様に、オブジェクトのＮ番目の検出結果を「結果（Ｎ）」として表す。時間的パターンモジュール２３６が、オブジェクトに関するＮ個の検出結果をオブジェクト検出器２３４から受け取ると仮定する。当業者であれば、Ｎが１０、２２、３０など、どんな数でもよいことを理解できるであろう。それに対応して、時間的パターンモジュール２３６がＮ個のビンを含む時間的パターンを生成する。Ｎ個の検出結果を、結果（１）、結果（２）…結果（Ｎ）として表し、Ｎ個のビンを、ビン（１）、ビン（２）…ビン（Ｎ）として表す。ビンの値は、検出結果に少なくとも部分的に基づいて計算される。第１のビンの値は、第１の検出結果と同じである（「ビン（１）＝結果（１）」として表す）。第２のビンの値は、第１のビンの値と第２の検出結果との和である（「ビン（２）＝ビン（１）＋結果（２）」として表す）。同様に、Ｎ番目のビンの値は、（Ｎ−１）番目のビンの値とＮ番目の検出結果との和である（「ビン（Ｎ）＝ビン（Ｎ−１）＋結果（Ｎ）」として表す）。以下の表１は、Ｎ個のビンを含む時間的パターンにおけるビンの値の計算プロセスを要約したものである。
【表１】
2013164837.tif 000003
【０１００】
上空状態検出器２３８は、フレームの中の空の状態を検出するためのコードおよびルーチンである。上空状態検出器２３８は、ダウンサンプリングモジュール２３２からフレームを取得し、そのフレームの中のセクタを選択する。一実施形態では、選択されるセクタは、１０×１０画素のサイズを有する。選択されるセクタの一例を図３Ｃに示す。上空状態検出器２３８は、当該セクタ内の各画素のＲＧＢ値を取得し、当該セクタ内の画素の全てのＲＧＢ値を含むベクトルを形成する。
【０１０１】
上空状態検出器２３８は、フレームの中の空の状態を検出するための空模様検出ネットワークを確立する。一実施形態では、上空状態検出器２３８が、空模様検出ネットワークを確立するためのアルゴリズムを表すデータを記憶装置１１６から取得し、そのアルゴリズムに少なくとも部分的に基づいて空模様検出ネットワークを確立する。空模様検出ネッ
トワークとは、フレームの中の空の状態を検出するためのモデルである。例えば空模様検出ネットワークは、フィードフォワードニューラルネットワークである。空模様検出ネットワークの一例を図４Ｂに示す。上空状態検出器２３８は、空模様検出ネットワークへの入力としてＲＧＢ値を含むベクトルを与え、空模様検出ネットワークからの出力により１つまたは複数の空模様検出結果を生成する。例えば上空状態検出器２３８は、「１」の値を有する晴れた空についての空模様検出結果、「０」の値を有する雨模様の空についての空模様検出結果、「０」の値を有する曇り空についての空模様検出結果、および「０」の値を有する遮られた空についての空模様検出結果を生成する。
【０１０２】
一実施形態では、上空状態検出器２３８が、１つまたは複数の空模様検出結果を生成するために空模様検出ネットワークを用いる前に、その空模様検出ネットワークを学習させる。例えば、上空状態検出器２３８は記憶装置１１６から学習データを取得し、その学習データを使用して空模様検出ネットワークを学習させる。学習データは、空模様検出ネットワークへの入力データ（例えばＲＧＢ値を含むベクトル等）、および入力データに対応する、１つまたは複数の既知の空模様検出結果を含む。空模様検出ネットワークが空の状態を検出する準備が整うように、上空状態検出器２３８は、学習データに少なくとも部分的に基づいて空模様検出ネットワークを構成する。
【０１０３】
画像分析モジュール２４０は、フレームを分析し、フレーム内のオブジェクトの平均輝度などの画像分析結果を生成するためのコードおよびルーチンである。例えば画像分析モジュール２４０は、フレームの中で検出される木の光量を測定し、そのフレームの中の木の存在に関する平均輝度を生成する。一実施形態では、画素のＲＧＢ値に少なくとも部分的に基づいて画素の輝度を求める。例えば画素の輝度は、画素の赤色の値、緑色の値、および青色の値の平均である。一実施形態では、画像分析モジュール２４０は、オブジェクトの存在（例えば木の存在）が検出されるフレームの中の全ての画素の平均輝度として、オブジェクト（例えば木）の平均輝度を決定する。
【０１０４】
（シーン判定処理の詳細）
次に図３Ａ〜図６Ｃを参照して、本明細書の様々な実施形態を示す。図３Ａは、一実施形態による、フレーム３１０内の木を検出するための１つまたは複数のセクタを例示する図である。図示の実施形態では、左マージン部の中の木の存在を検出するために、オブジェクト検出器２３４が、フレーム３１０の左マージン部中の第１のセクタ３１２ａおよび第２のセクタ３１２ｂを選択する。また、オブジェクト検出器２３４は、右マージン部の中の木の存在を検出するために、フレーム３１０の右マージン部中の第３のセクタ３１２ｃおよび第４のセクタ３１２ｄも選択する。一実施形態では、フレーム３１０は、ダウンサンプリングモジュール２３２によってダウンサンプルされた４８×７２画素のサイズを有する画像であり、セクタ３１２ａ、３１２ｂ、３１２ｃ、および３１２ｄは、それぞれが１０×１０画素のサイズを有するその画像の一部である。
【０１０５】
図３Ｂは、一実施形態による、フレーム３２０内の壁を検出するためのスライドセクタを例示する図である。オブジェクト検出器２３４は、壁の存在を検出するためにフレーム３２０の右マージン部の中のセクタ３２２を選択する。セクタ３２２を、スライドセクタと呼ぶ。矢印３２４は、一実施形態においてセクタ３２２がフレーム３２０の右マージン部に沿って所定の画素量（例えば５画素）だけ上にスライドすることを示す。矢印３２６は、別の実施形態においてセクタ３２２がフレーム３２０の右マージン部に沿って所定の画素量だけ下にスライドすることを示す。一実施形態では、フレーム３２０は、ダウンサンプリングモジュール２３２によってダウンサンプルされた４８×７２画素のサイズを有する画像であり、セクタ３２２は１０×１０画素のサイズを有するその画像の一部である。他の実施形態では、左マージン部の中の壁の存在を検出するために、もう１つのスライドセクタをフレーム３２０の左マージン部の中に配置できることが、当業者であれば理解
できるであろう。
【０１０６】
図３Ｃは、一実施形態による、フレーム３３０の中の空の状態を決定するためのスライドセクタを例示する図である。上空状態検出器２３８が、フレーム３３０の中の空の状態を検出するためのセクタ３３２を選択する。セクタ３３２は、スライドセクタと呼ぶ。矢印３３４は、一実施形態においてセクタ３３２がフレーム３３０のマージン部に沿って所定の画素量（例えば５画素）だけ左にスライドすることを示す。矢印３３６は、別の実施形態においてセクタ３３２がフレーム３３０のマージン部に沿って所定の画素量だけ右にスライドすることを示す。一実施形態では、フレーム３３０は、ダウンサンプリングモジュール２３２によってダウンサンプルされた４８×７２画素のサイズを有する画像であり、セクタ３３２は１０×１０画素のサイズを有するその画像の一部である。
【０１０７】
図４Ａは、一実施形態による、フレーム内のオブジェクトの存在を検出するためのオブジェクト検出ネットワーク４０２を例示する図（符号４００）である。一実施形態では、オブジェクト検出ネットワーク４０２はフィードフォワードニューラルネットワークである。オブジェクト検出ネットワーク４０２は、ＲＧＢ値を含むベクトル４０４を入力としてとり、出力としてオブジェクトの検出結果４０６を生成する。オブジェクトがフレームの中で検出された場合、検出結果４０６は「１」の値を有する。あるいは、オブジェクトがフレームの中で検出されない場合、検出結果４０６は「０」の値を有する。
【０１０８】
図４Ｂは、一実施形態による、フレーム内の空の状態を決定するための空模様検出ネットワーク４５０を例示する図（符号４４０）である。一実施形態では、空模様検出ネットワーク４５０はフィードフォワードニューラルネットワークである。空模様検出ネットワーク４５０は、ＲＧＢ値を含むベクトル４５２を入力として利用し、出力として１つまたは複数の空模様検出結果を生成する。１つまたは複数の空模様検出結果は、「真」の状態または「偽」の状態を有する。例えばフレーム内で晴れた空を検出した場合、空模様検出ネットワーク４５０は、「真」の状態を有する（または「１」の値を有する）晴れた空についての空模様検出結果４５４、「偽」の状態を有する（または「０」の値を有する）雨模様の空についての空模様検出結果４５６、「偽」の状態を有する曇り空についての空模様検出結果４５８、および「偽」の状態を有する遮られた空についての空模様検出結果４６０を生成する。
【０１０９】
図５は、一実施形態による、時間的パターンを生成するためのプロセスを例示する図（符号５００）である。図示の実施形態では、時間的パターンモジュール２３６が、木の存在に関する５個の検出結果をオブジェクト検出器２３４から受け取る。当業者であれば、時間的パターンモジュール２３６が任意の数の検出結果を受け取ることができ、その任意の数の検出結果について時間的パターンを生成することが理解できるであろう。５個の検出結果は、映像の中の５つのフレームに関連する。一実施形態では、これらの５つのフレームは、映像の中の５つの連続したフレームである。例えば時間的パターンモジュール２３６は、「結果（１）」として表す第１のフレームに関する第１の検出結果、「結果（２）」として表す第２のフレームに関する第２の検出結果、「結果（３）」として表す第３のフレームに関する第３の検出結果、「結果（４）」として表す第４のフレームに関する第４の検出結果、および「結果（５）」として表す第５のフレームに関する第５の検出結果を受け取る。「結果（１）」は、第１のフレームの中で木が検出されたことを示す「１」の値を有する。同様に、「結果（２）」、「結果（３）」、および「結果（５）」はそれぞれ「１」の値を有する。「結果（４）」は、第４のフレームの中で木が検出されないことを示す「０」の値を有する。
【０１１０】
時間的パターンモジュール２３６は、これらの検出結果に少なくとも部分的に基づいて木の存在に関する時間的パターンを生成する。図５に示すように、時間的パターンモジュ
ール２３６は、「ビン（１）」、「ビン（２）」、「ビン（３）」、「ビン（４）」、および「ビン（５）」としてそれぞれ表す５つのビンを含む時間的パターンを生成する。時間的パターンモジュール２３６は、「ビン（１）」の値を「結果（１）」と同じ値に設定する（例えばビン（１）＝結果（１））。時間的パターンモジュール２３６は、「ビン（２）」の値を、「ビン（１）」と「結果（２）」との和として計算する（例えばビン（２）＝ビン（１）＋結果（２））。同様に、時間的パターンモジュール２３６は、「ビン（３）」、「ビン（４）」、および「ビン（５）」の値を次のように計算する。
・ビン（３）＝ビン（２）＋結果（３）
・ビン（４）＝ビン（３）＋結果（４）
・ビン（５）＝ビン（４）＋結果（５）
当業者であれば、時間的パターンモジュール２３６が、上に記載したのと同じプロセスを使用して任意の数のビンを含む時間的パターンを生成し得ることが理解できるであろう。
【０１１１】
図６Ａは、一実施形態によるシーン決定ネットワークを例示する図（符号６００）である。一実施形態では、シーン決定ネットワークはベイジアンネットワークである。シーン決定ネットワークは、１つまたは複数の時間的パターン内のあらゆるビンをネットワークへの入力として利用する。例えばシーン決定ネットワークは、木の存在に関する左マージン部の時間的パターン内の各ビンをネットワークへの入力として用いる。さらに、シーン決定ネットワークは、木の存在に関する右マージン部の時間的パターン内の各ビンもネットワークへの入力として用いる。図示の実施形態では、シーン決定ネットワークは、壁の存在に関する検出結果もネットワークへの入力として利用する。他の実施形態では、シーン決定ネットワークが、壁の存在に関する時間的パターン内の各ビンをネットワークへの入力として利用する。
【０１１２】
シーン決定ネットワークは、水平に並んだ車の数や車線の幅などの道路情報もネットワークへの入力としてとり、その道路の幅が、広いか狭いかを表す中間結果を生成する。さらに、シーン決定ネットワークは、車の存在に関する時間的パターン内の各ビンをネットワークへの入力としてとり、道路交通を表す中間結果を生成する。生成される中間結果は、１つまたは複数のシーンに関する１つまたは複数の確率を生成するために、ネットワークへの新たな入力として使用される。当業者であれば、シーン決定ネットワークが、家屋の存在に関する時間的パターン、センサデータなどの他の入力を含んでもよいことが理解できるであろう。
【０１１３】
シーン決定ネットワークは、入力に少なくとも部分的に基づいて１つまたは複数のシーンに関する１つまたは複数の確率を生成する。例えばシーン決定ネットワークは、森林シーンに関する第１の確率、郊外シーンに関する第２の確率、および高速道路シーンに関する第３の確率を生成する。当業者であれば、シーン決定ネットワークが都市部シーンなどの他のシーンに関する確率を生成してもよいことが理解できるであろう。
【０１１４】
図６Ｂは、一実施形態による、森林シーンのためのシーン予測モデルを例示する図（符号６４０）である。一実施形態では、シーン予測モデルは隠れマルコフモデルである。現在時を「ｔ」で表す。記号「ｔ−Ｎ」は現在時のＮタイムステップ前を表し、記号「ｔ＋Ｎ」は現在時のＮタイムステップ後を表す。当業者であれば、Ｎが５、１０、２０など、どんな数でもよいことが理解できるであろう。このシーン予測モデルは、森林シーンの現在の状態（例えば森林（ｔ））、森林シーンの１つまたは複数の過去の状態（例えば森林（ｔ−Ｎ）、森林（ｔ−Ｎ＋１）…森林（ｔ−１））、および森林シーンの１つまたは複数の未来の状態（例えば森林（ｔ＋１）…森林（ｔ＋Ｎ−１）、森林（ｔ＋Ｎ））など、１組の隠れノードを含む。当業者であれば、このシーン予測モデルがセットの中で任意の数の隠れノードを含み得ることが理解できるであろう。
【０１１５】
このシーン予測モデルは、木の存在に関する左マージン部の時間的パターン内のビン（例えばビンＬ（ｔ−Ｎ）、ビンＬ（ｔ−Ｎ＋１）…ビンＬ（ｔ−１）、ビンＬ（ｔ）、ビンＬ（ｔ＋１）…ビンＬ（ｔ＋Ｎ−１）、ビンＬ（ｔ＋Ｎ））や、木の存在に関する右マージン部の時間的パターン内のビン（例えばビンＲ（ｔ−Ｎ）、ビンＲ（ｔ−Ｎ＋１）…ビンＲ（ｔ−１）、ビンＲ（ｔ）、ビンＲ（ｔ＋１）…ビンＲ（ｔ＋Ｎ−１）、ビンＲ（ｔ＋Ｎ））など、１組または複数組の観測ノードも含む。当業者であれば、このシーン予測モデルがセットの中で任意の数の観測ノードを含み得ることが理解できるであろう。他の実施形態では、壁の存在に関する時間的パターン内のビン、家屋の存在に関する時間的パターン内のビン、道路情報、センサデータなど、シーン決定ネットワークが他の種類の観測ノードも含む。
【０１１６】
シーン予測モデルは、１つまたは複数の観測ノードに少なくとも部分的に基づいて、１つまたは複数の隠れノードの状態を推定する。例えばシーン予測モジュール２１０は、シーン予測モデルを使用する際にカルマンフィルタリング技法および／または時系列分析を適用して、森林（ｔ）、森林（ｔ＋１）…森林（ｔ＋Ｎ−１）、森林（ｔ＋Ｎ）などの森林シーンの状態を推定する。当業者であれば、郊外シーン、高速道路シーンなどの他のシーンの状態を推定するために、同様のシーン予測モデルを確立し得ることが理解できるであろう。
【０１１７】
図６Ｃは、一実施形態による天候検出ネットワークを例示する図（符号６７０）である。一実施形態では、天候検出ネットワークはベイジアンネットワークである。天候検出ネットワークは、フレームの中の木の存在に関するオブジェクト検出器２３４からの検出結果、フレームの中の木に関する画像分析モジュール２４０からの平均輝度、空の状態に関する上空状態検出器２３８からの１つまたは複数の空模様検出結果（例えば晴れた空、曇り空、雨模様の空、空が遮られている等）、およびワイパの検出に関するセンサモジュール２１４からのセンサデータ等のうちの１つまたは複数をネットワークへの入力として用いる。天候検出ネットワークは、１つまたは複数の種類の天候に関する１つまたは複数の確率を出力として生成する。例えば天候検出ネットワークは、晴れた天候に関する第１の確率、曇りの天候に関する第２の確率、雨天に関する第３の確率、および未決定の天候に関する第４の確率を生成する。
【０１１８】
（処理フローチャート）
次に図７〜図１２を参照して、本明細書の方法の様々な実施形態を説明する。図７は、一実施形態による、フレーム内のオブジェクトの存在を検出するための方法７００を例示するフローチャートである。通信インタフェース２０２が、カメラ１１０からフレームを取得する（７０２）。一実施形態では、通信インタフェース２０２が、１つまたは複数のフレームを含む映像をカメラ１１０から取得し、その１つまたは複数のフレームのそれぞれに対し、以下に示す方法７００のステップ７０４〜７２０が別々に実行される。通信インタフェース２０２は、そのフレームをダウンサンプリングモジュール２３２に送る。ダウンサンプリングモジュール２３２がそのフレームをダウンサンプルし（７０４）、ダウンサンプリング後のフレームをオブジェクト検出器２３４に送る。
【０１１９】
一実施形態ではオブジェクト検出器２３４が、オブジェクトの存在を検出するためのフレームのマージン部を選択する（７０６）。例えばオブジェクト検出器２３４は、オブジェクトの存在を検出するためにフレームの左マージン部または右マージン部を選択する。ステップ７０６は、方法７００にとってオプションの特徴であることを示すために破線を使って示す。オブジェクト検出器２３４が、オブジェクトの存在を検出するための、フレームの中の１つまたは複数のセクタを決定する（７０８）。一実施形態ではオブジェクト検出器２３４が、オブジェクトの存在を検出するためのマージン部のうち、選択されたマ
ージン部の中の１つまたは複数のセクタを決定する。オブジェクト検出器２３４が、その１つまたは複数のセクタ内の画素ごとに赤色、緑色、および青色の値（ＲＧＢ値）を取得する（７１０）。オブジェクト検出器２３４が、その１つまたは複数のセクタ内の各画素のＲＧＢ値を含むベクトルを形成する（７１２）。
【０１２０】
オブジェクト検出器２３４が、オブジェクトの存在を検出するためのオブジェクト検出ネットワークを確立する（７１４）。例えばオブジェクト検出器２３４は、オブジェクトの存在を検出するためのフィードフォワードニューラルネットワークを確立する。オブジェクト検出器２３４が、オブジェクト検出ネットワーク用の学習データを記憶装置１１６から取得し、その学習データに少なくとも部分的に基づいてオブジェクト検出ネットワークを学習させる（７１６）。オブジェクト検出器２３４が、ＲＧＢ値を含むベクトルをオブジェクト検出ネットワークへの入力として与え、オブジェクト検出ネットワークを使用して検出結果を生成するために、オブジェクトの存在を検出する（７１８）。例えばオブジェクト検出器２３４は、検出結果が「１」の場合、オブジェクトがフレームの中にあると判定する。あるいはオブジェクト検出器２３４は、検出結果が「０」の場合、オブジェクトがフレームの中にないと判定する。
【０１２１】
オプションで、オブジェクト検出器２３４は、オブジェクトの存在を検出するための少なくとももう１つのマージン部があるかどうかを判定する（７２０）。オブジェクトを検出するための少なくとも１つのさらなるマージン部がある場合、方法７００はステップ７０６に移る。さもなければ、方法７００は終了する。
【０１２２】
図８は、一実施形態による、オブジェクトの時間的パターンを生成するための方法８００を例示するフローチャートである。通信インタフェース２０２が、１つまたは複数のフレームを含む映像をカメラ１１０から取得し（８０２）、その１つまたは複数のフレームをダウンサンプリングモジュール２３２に送る。ダウンサンプリングモジュール２３２が、その１つまたは複数のフレームをダウンサンプルする（８０４）。ダウンサンプリング後の１つまたは複数のフレームが、オブジェクト検出器２３４に送られる。
【０１２３】
一実施形態では、オブジェクト検出器２３４が、１つまたは複数のフレームの中の、オブジェクトの存在を検出するためのマージン部（例えば左マージン部または右マージン部）を選択する（８０６）。オブジェクト検出器２３４が、オブジェクトを検出するために１つまたは複数のフレームから１つのフレームを選択する（８０８）。例えばオブジェクト検出器２３４は、オブジェクトの存在についてまだ検出されていないフレームを１つまたは複数のフレームから選択する。オブジェクト検出器２３４が、選択されたフレームに関する検出結果を生成するために、選択されたフレームの中のオブジェクトの存在を検出する（８１０）。例えばオブジェクト検出器２３４は、選択されたフレームの中のオブジェクトの存在を検出するために、図７に関して上述したステップ７０８〜７１８に似たステップを実行する。オブジェクト検出器２３４が、検出結果を記憶装置１１６に記憶させる（８１２）。
【０１２４】
オブジェクト検出器２３４が、１つまたは複数のフレームの中にオブジェクトの存在について検出すべき少なくとももう１つのフレームがあるかどうかを判定する（８１４）。検出すべき少なくとももう１つのフレームがある場合、方法８００はステップ８０８に移る。さもなければ、方法８００はステップ８１６に移る。ステップ８１６で、オブジェクト検出器２３４が、オブジェクトの存在を検出するための少なくとももう１つのマージン部があるかどうかを判定する。オブジェクトを検出するための少なくとももう１つのマージン部がある場合、方法８００はステップ８０６に移る。さもなければ、方法８００はステップ８１８に移る。ステップ８１６は、方法８００にとってオプションであることを示すために破線を使って示す。
【０１２５】
ステップ８１８で、時間的パターンモジュール２３６が、１つまたは複数のフレームに関連する、オブジェクトの１つまたは複数の検出結果を記憶装置１１６から取得する。時間的パターンモジュール２３６が、その１つまたは複数の検出結果に少なくとも部分的に基づいてオブジェクトの時間的パターンを生成する（８２０）。一実施形態では時間的パターンモジュール２３６が、オブジェクトの左マージン部の時間的パターンおよび／または右マージン部の時間的パターンを生成する。
【０１２６】
図９は、一実施形態による、シーンを決定／予測するための方法９００を例示するフローチャートである。通信インタフェース２０２が、１つまたは複数のフレームを含む映像をカメラ１１０から取得し（９０２）、その１つまたは複数のフレームをダウンサンプリングモジュール２３２に送る。ダウンサンプリングモジュール２３２が、その１つまたは複数のフレームをダウンサンプルする（９０４）。ダウンサンプリング後の１つまたは複数のフレームが、オブジェクト検出器２３４に送られる。
【０１２７】
オブジェクト検出器２３４が、１つまたは複数のフレームの中で検出する１つまたは複数のオブジェクトを決定する（９０６）。例えばオブジェクト検出器２３４は、１つまたは複数のフレームの中の木、壁、家屋などの存在を検出することに決める。オブジェクト検出器２３４が、１つまたは複数のフレームの中で、その１つまたは複数のオブジェクトの存在を検出する（９０８）。例えばオブジェクト検出器２３４は、１つまたは複数のオブジェクトのそれぞれについて図８に関して上述したステップ８０６〜８１６に似たステップを実行し、１つまたは複数のオブジェクトのそれぞれについて１つまたは複数の検出結果を生成する。
【０１２８】
時間的パターンモジュール２３６が、１つまたは複数のオブジェクトに関する１つまたは複数の時間的パターンを生成する（９１０）。例えば時間的パターンモジュール２３６は、オブジェクトに関する１つまたは複数の検出結果に少なくとも部分的に基づいて、１つまたは複数のオブジェクトのそれぞれについて時間的パターンを生成する。シーン決定モジュール２０８が、オプションで道路状況モジュール２１６から道路情報を受け取る（９１２）。一実施形態では、シーン決定モジュール２０８が、センサモジュール２１４からセンサデータをさらに受け取る。一実施形態では、シーン決定モジュール２０８が、時間的パターン、道路情報、およびセンサデータのうちの１つまたは複数に少なくとも部分的に基づいてシーンの種類を決定する（９１４）。
【０１２９】
一実施形態では、シーン予測モジュール２１０が、時間的パターンモジュール２３６からの時間的パターン、道路状況モジュール２１６からの道路情報、およびセンサモジュール２１４からのセンサデータのうちの１つまたは複数を受け取る。シーン予測モジュール２１０が、時間的パターン、道路情報、およびセンサデータのうちの１つまたは複数に少なくとも部分的に基づいて未来のシーンを予測する（９１６）。
【０１３０】
図１０Ａ〜図１０Ｂは、一実施形態による、シーンを決定するための方法１０００を例示するフローチャートである。ここで、図１０Ａを参照する。通信インタフェース２０２が、１つまたは複数のフレームを含む映像をカメラ１１０から取得する（１００２）。通信インタフェース２０２が、その１つまたは複数のフレームをダウンサンプリングモジュール２３２に送る。ダウンサンプリングモジュール２３２が、その１つまたは複数のフレームをダウンサンプルする（１００４）。ダウンサンプリング後の１つまたは複数のフレームが、オブジェクト検出器２３４に送られる。
【０１３１】
オブジェクト検出器２３４が、１つまたは複数のフレームの中で検出する１つまたは複数のオブジェクトを決定する（１００６）。例えばオブジェクト検出器２３４は、１つま
たは複数のフレームの中の木、壁、家屋などの存在を検出することに決める。オブジェクト検出器２３４が、１つまたは複数のオブジェクトから、まだ検出されていないオブジェクトを選択する（１００８）。オプションで、オブジェクト検出器２３４は選択されたオブジェクトを検出するためのマージン部を選択する（１０１０）。例えばオブジェクト検出器２３４は、１つまたは複数のフレームの中のオブジェクトを検出するために左マージン部または右マージン部を選択する。オブジェクト検出器２３４が、オブジェクトを検出するために１つまたは複数のフレームから１つのフレームを選択する（１０１２）。例えばオブジェクト検出器２３４は、オブジェクトの存在についてまだ検出されていないフレームを１つまたは複数のフレームから選択する。
【０１３２】
オブジェクト検出器２３４が、選択されたフレームのオブジェクトに関連する検出結果を生成するために、選択されたフレームの中のオブジェクトの存在を検出する（１０１４）。例えばオブジェクト検出器２３４は、選択されたフレームの中のオブジェクトの存在を検出するために、図７に関して上述したステップ７０８〜７１８に似たステップを実行する。オブジェクト検出器２３４が、検出結果を記憶装置１１６に記憶させる（１０１６）。
【０１３３】
オブジェクト検出器２３４が、１つまたは複数のフレームの中にオブジェクトの存在について検出すべき少なくとももう１つのフレームがあるかどうかを判定する（１０１８）。検出すべき少なくとももう１つのフレームがある場合、方法１０００はステップ１０１２に移る。さもなければ、方法１０００はステップ１０２０に移る。ステップ１０２０で、オブジェクト検出器２３４が、オブジェクトの存在を検出するための少なくとももう１つのマージン部があるかどうかを判定する。オブジェクトを検出するための少なくとももう１つのマージン部がある場合、方法１０００はステップ１０１０に移る。さもなければ、方法１０００はステップ１０２２に移る。ステップ１０２０は、方法１０００にとってオプションであることを示すために破線を使って示す。次にステップ１０２２を見て、オブジェクト検出器２３４が、検出するための少なくとももう１つのオブジェクトがあるかどうかを判定する。検出するための少なくとももう１つのオブジェクトがある場合、方法１０００はステップ１００８に移る。さもなければ、方法１０００はステップ１０２４に移る。
【０１３４】
図１０Ｂを参照する。時間的パターンモジュール２３６が、時間的パターンを生成するために１つまたは複数のオブジェクトから１つのオブジェクトを選択する（１０２４）。例えば時間的パターンモジュール２３６は、時間的パターンがまだ生成されていないオブジェクトを１つまたは複数のオブジェクトから選択する。時間的パターンモジュール２３６が、１つまたは複数のフレームに関連する、オブジェクトの１つまたは複数の検出結果を記憶装置１１６から取得する（１０２６）。時間的パターンモジュール２３６が、その１つまたは複数の検出結果に少なくとも部分的に基づいてオブジェクトの時間的パターンを生成する（１０２８）。時間的パターンモジュール２３６が、オブジェクトの時間的パターンを記憶装置１１６に記憶させる（１０３０）。時間的パターンモジュール２３６は、時間的パターンがまだ生成されていない少なくとももう１つのオブジェクトが１つまたは複数のオブジェクトの中にあるかどうかを判定する（１０３２）。時間的パターンが生成されていない少なくとももう１つのオブジェクトがある場合、方法１０００はステップ１０２４に移る。さもなければ、方法１０００はステップ１０３４に移る。
【０１３５】
ステップ１０３４で、道路状況モジュール２１６が１つまたは複数のフレームから道路情報を求め、その道路情報をシーン決定モジュール２０８に送る。シーン決定モジュール２０８が、道路状況モジュール２１６から道路情報を受け取る（１０３６）。ステップ１０３４および１０３６は、方法１０００のオプションと同様である。
【０１３６】
次に、シーン決定モジュール２０８が、オプションでセンサモジュール２１４からセンサデータを受け取る（１０３８）。シーン決定モジュール２０８が、１つまたは複数のオブジェクトに関する１つまたは複数の時間的パターンを記憶装置１１６から取得する（１０４０）。シーン決定モジュール２０８が、シーン決定ネットワークを確立する（１０４２）。例えばシーン決定モジュール２０８は、シーンを決定するためにベイジアンネットワークを確立する。シーン決定モジュール２０８が、シーン決定ネットワークを学習させる（１０４４）。例えばシーン決定モジュール２０８は、記憶装置１１６から学習データを取得し、その学習データに少なくとも部分的に基づいてシーン決定ネットワークを学習させる。シーン決定モジュール２０８が、道路情報、センサデータ、および１つもしくは複数のオブジェクトに関する１つもしくは複数の時間的パターンのうちの１つまたは複数に少なくとも部分的に基づいてシーンの種類を決定する（１０４６）。例えばシーン決定モジュール２０８は、道路情報、センサデータ、木の存在に関する左マージン部の時間的パターン、および木の存在に関する右マージン部の時間的パターンのうちの１つまたは複数をシーン決定ネットワークへの入力として与え、シーン決定ネットワークからの出力として１つまたは複数のシーンに関する１つまたは複数の確率を生成する。シーン決定モジュール２０８は、その１つまたは複数の確率に少なくとも部分的に基づいてシーンの種類を決定する。
【０１３７】
図１１Ａ〜図１１Ｂは、一実施形態による、シーンを予測するための方法１１００を例示するフローチャートである。ステップ１１０２〜１１３２についての説明は、図１０Ａおよび図１０Ｂに関して上述したステップ１００２〜１０３２についての説明と似ており、したがって、これらの説明はここで繰り返さない。図１１Ｂのステップ１１３４では、道路状況モジュール２１６が１つまたは複数のフレームから道路情報を求め、その道路情報をシーン予測モジュール２１０に送る。シーン予測モジュール２１０が、道路状況モジュール２１６から道路情報を受け取る（１１３６）。
【０１３８】
次に、シーン予測モジュール２１０が、オプションでセンサモジュール２１４からセンサデータを受け取る（１１３８）。シーン予測モジュール２１０が、１つまたは複数のオブジェクトに関する１つまたは複数の時間的パターンを記憶装置１１６から取得する（１１４０）。シーン予測モジュール２１０が、シーン予測モデルを確立する（１１４２）。例えばシーン予測モジュール２１０は、未来のシーンを予測するための隠れマルコフモデルを確立する。シーン予測モジュール２１０が、シーン予測モデルに少なくとも部分的に基づいて未来のシーンを予測する（１１４４）。例えばシーン予測モジュール２１０は、森林シーンのためのシーン予測モデルを確立し、道路情報、センサデータ、および木の存在に関する１つまたは複数の時間的パターンのうちの１つまたは複数をシーン予測モデルへの入力として与え、シーン予測モデルからの出力として森林シーンの１つまたは複数の未来の状態を生成する。未来のシーンに対応する未来の状態が「真」の場合、シーン予測モジュール２１０は未来のシーンが森林シーンであると予測する。
【０１３９】
図１２は、一実施形態による、天候を決定するための方法１２００を例示するフローチャートである。通信インタフェース２０２がフレームをカメラ１１０から受け取り（１２０２）、そのフレームをダウンサンプリングモジュール２３２に送る。一実施形態では、通信インタフェース２０２が、１つまたは複数のフレームを含む映像をカメラ１１０から受け取り、その１つまたは複数のフレームのそれぞれに対し、以下に示す方法１２００のステップ１２０４〜１２３４が実行される。ダウンサンプリングモジュール２３２がそのフレームをダウンサンプルし（１２０４）、ダウンサンプリング後のフレームを上空状態検出器２３８に送る。
【０１４０】
上空状態検出器２３８が、空の状態を検出するための、フレーム内のセクタを選択する（１２０６）。上空状態検出器２３８が、そのセクタ内の画素ごとに赤色、緑色、および
青色の値（ＲＧＢ値）を取得し（１２０８）、そのセクタ内の各画素のＲＧＢ値を含むベクトルを形成する（１２１０）。上空状態検出器２３８が、空模様検出ネットワークを確立する（１２１２）。例えば上空状態検出器２３８は、空の状態を決定するためのフィードフォワードニューラルネットワークを確立する。上空状態検出器２３８が、空模様検出ネットワークを学習させる（１２１４）。例えば上空状態検出器２３８は、記憶装置１１６から学習データを取得し、その学習データに少なくとも部分的に基づいて空模様検出ネットワークを学習させる。上空状態検出器２３８が、空模様検出ネットワークに少なくとも部分的に基づいて空の状態を決定する（１２１６）。例えば上空状態検出器２３８は、ＲＧＢ値を含むベクトルを空模様検出ネットワークへの入力として与え、空模様検出ネットワークからの出力として１つまたは複数の空模様検出結果を生成する。上空状態検出器２３８は、この１つまたは複数の空模様検出結果に少なくとも部分的に基づいて空の状態を決定する。例えば、晴れた空についての空模様検出結果が「真」の場合、上空状態検出器２３８は空の状態が晴れた空であると決定する。
【０１４１】
センサモジュール２１４が、自動車のワイパの動作を検出する（１２１８）。例えばセンサモジュール２１４は、ワイパが動作しているかどうかを検出する。ワイパが動作している場合、センサモジュール２１４は、ワイパをモニタするセンサ１１２から信号を受け取る。センサモジュール２１４は、その信号に少なくとも部分的に基づいてワイパの動作を表すセンサデータを生成する。天候決定エンジン２１２が、そのワイパの動作を表すセンサデータをセンサモジュール２１４から受け取る（１２２０）。
【０１４２】
次に、オブジェクト検出器２３４が、検出結果を生成するためにフレーム内の木の存在を検出する（１２２２）。例えばオブジェクト検出器２３４は、フレーム内の木の存在を検出するために、上述した図７の中のステップ７０８〜７１８に似たステップを実行する。天候決定エンジン２１２が、木の存在に関する検出結果をオブジェクト検出器２３４から受け取る（１２２４）。一実施形態では、画像分析モジュール２４０がフレームの画像分析を行い（１２２６）、フレーム内で検出される木の平均輝度などの画像分析結果を生成する。画像分析モジュール２４０は、その画像分析結果を天候決定エンジン２１２に送る。
【０１４３】
天候決定エンジン２１２が、画像分析モジュール２４０から画像分析結果を受け取る（１２２８）。天候決定エンジン２１２が、天候を決定するための天候検出ネットワークを確立する（１２３０）。一実施形態では、天候検出ネットワークはベイジアンネットワークである。天候決定エンジン２１２が、天候検出ネットワークを学習させ（１２３２）、天候検出ネットワークを使用してそのフレームの天候の種類を決定する（１２３４）。例えば天候決定エンジン２１２は、１つまたは複数の空模様検出結果、ワイパの動作を表すセンサデータ、および画像分析結果を天候検出ネットワークへの入力として与え、天候検出ネットワークからの出力として様々な種類の天候に関する１つまたは複数の確率を生成する。天候決定エンジン２１２は、その１つまたは複数の確率に少なくとも部分的に基づいて天候の種類を決定する。
【０１４４】
実施形態の前述の説明は、例示と説明を目的として行われたものである。したがって、開示された実施形態が本発明の全てではないし、本発明を上記の実施形態に限定するものでもない。本発明は、上記の開示にしたがって、種々の変形が可能である。本発明の範囲は上述の実施形態に限定解釈されるべきではなく、特許請求の範囲にしたがって解釈されるべきである。本発明の技術に詳しい者であれば、本発明はその思想や本質的特徴から離れることなくその他の種々の形態で実現できることを理解できるであろう。同様に、モジュール・処理・特徴・属性・方法およびその他の本発明の態様に関する名前付けや分割方法は必須なものでものないし重要でもない。また、本発明やその特徴を実装する機構は異なる名前や分割方法や構成を備えていても構わない。さらに、当業者であれば、モジュー
ル・処理・特徴・属性・方法およびその他の本発明の態様は、ソフトウェア、ハードウェア、ファームウェアもしくはこれらの組合せとして実装できることを理解できるであろう。また、本発明をソフトウェアとして実装する場合には、モジュールなどの各要素は、どのような様式で実装されても良い。例えば、スタンドアローンのプログラム、大きなプログラムの一部、異なる複数のプログラム、静的あるいは動的なリンクライブラリー、カーネルローダブルモジュール、デバイスドライバー、その他コンピュータプログラミングの当業者にとって既知な方式として実装することができる。さらに、本発明の実装は特定のプログラミング言語に限定されるものではないし、特定のオペレーティングシステムや環境に限定されるものでもない。以上のように、上記の本発明の説明は限定的なものではなく例示的なものであり、本発明の範囲は添付の特許請求の範囲にしたがって定められる。
【符号の説明】
【０１４５】
１００・・・システム
１０２・・・制御ユニット
１０４・・・ＣＰＵ
１０６・・・シーンモジュール
１０８・・・インタフェース
１１０・・・カメラ
１１２・・・センサ
１１４・・・ディスプレイ
１１６・・・記憶装置
１１８・・・ネットワーク
１２０・・・外部システム
【図１】
2013164837.tif 000004
【図２Ａ】
2013164837.tif 000005
【図２Ｂ】
2013164837.tif 000006
【図３Ａ】
2013164837.tif 000007
【図３Ｂ】
2013164837.tif 000008
【図３Ｃ】
2013164837.tif 000009
【図４Ａ】
2013164837.tif 000010
【図４Ｂ】
2013164837.tif 000011
【図５】
2013164837.tif 000012
【図６Ａ】
2013164837.tif 000013
【図６Ｂ】
2013164837.tif 000014
【図６Ｃ】
2013164837.tif 000015
【図７】
2013164837.tif 000016
【図８】
2013164837.tif 000017
【図９】
2013164837.tif 000018
【図１０Ａ】
2013164837.tif 000019
【図１０Ｂ】
2013164837.tif 000020
【図１１Ａ】
2013164837.tif 000021
【図１１Ｂ】
2013164837.tif 000022
【図１２】
2013164837.tif 000023