以下、実施形態を図面に基づいて説明する。
〔システムの概要〕
図1は、例示的に開示された実施形態によるシステム100のブロック図表現である。システム100は、特定の実装の要件に応じて、様々な構成要素を含むことができる。いくつかの実施形態では、システム100は、処理ユニット110、画像取得ユニット120、位置センサ130、1つまたは複数のメモリ140、150、地図データベース160、ユーザインタフェース170、および無線トランシーバ172を含むことができる。処理ユニット110は、1つまたは複数の処理デバイスを含んでもよい。いくつかの実施形態では、処理ユニット110は、アプリケーションプロセッサ180、画像プロセッサ190、または任意の他の適切な処理デバイスを含んでもよい。同様に、画像取得ユニット120は、特定のアプリケーションの要件に応じて、任意の数の画像取得デバイスおよび構成要素を含んでもよい。いくつかの実施形態では、画像取得ユニット120は、画像取得デバイス122、画像取得デバイス124、および画像取得デバイス126などの1つまたは複数の画像取得デバイスを含んでもよい。画像取得デバイスは、例えば、カメラである。システム100はまた、処理ユニット110を画像取得ユニット120に通信可能に接続するデータインタフェース128を含んでもよい。例えば、データインタフェース128は、画像取得ユニット120によって取得された画像データを処理ユニット110に送信するための任意の有線および/または無線のリンクまたはリンクを含んでもよい。
無線トランシーバ172は、無線周波数、赤外線周波数、磁界、または電界を使用して、1つまたは複数のネットワーク(例えば、セルラーネットワーク、インターネットなど)への無線インターフェースを介して送信を交換するように構成された1つまたは複数のデバイスを含んでもよい。無線トランシーバ172は、データを送信および/または受信するために任意の既知の規格を使用することができる。
アプリケーションプロセッサ180と画像プロセッサ190の両方は、様々なタイプの処理装置を含んでもよい。例えば、アプリケーションプロセッサ180および画像プロセッサ190のいずれかまたは両方は、マイクロプロセッサ、プリプロセッサ(画像プリプロセッサなど)、グラフィックプロセッサ、中央処理装置(CPU)、サポート回路、デジタル信号プロセッサ、集積回路、メモリ、またはアプリケーションの実行や画像処理および分析に適した任意の他のタイプのデバイスを含んでもよい。いくつかの実施形態では、アプリケーションプロセッサ180および/または画像プロセッサ190は、任意のタイプのシングルコアまたはマルチコアプロセッサ、モバイルデバイスマイクロコントローラ、CPUなどを含んでもよい。様々な処理装置を使用してもよく、様々なアーキテクチャを含んでもよい。
いくつかの実施形態では、アプリケーションプロセッサ180および/または画像プロセッサ190は、ローカルメモリおよび命令セットを有する複数の処理ユニットを含んでいてもよい。このようなプロセッサは、複数の画像センサから画像データを受信するためのビデオ入力を含み、また、ビデオ出力機能を含んでいてもよい。一例として、プロセッサは、332MHzで動作する90nmのミクロン技術を使用できる。アーキテクチャは、2つの浮動小数点ハイパースレッド32ビットRISC CPU、5つのビジョン計算エンジン(VCE)、3つのベクトルマイクロコードプロセッサ、64ビットモバイルDDRコントローラ、128ビット内部音響相互接続、デュアル16ビットビデオ入力および18ビットビデオ出力コントローラ、16チャネルのDMAおよび複数のペリフェラルで構成される。1つのCPUは、5つのVCE、3つのベクトルマイクロコードプロセッサ、2つ目のCPUとマルチチャネルのDMA、その他のペリフェラルを管理する。5つのVCE、3つのベクトルマイクロコードプロセッサ、2つ目のCPUは、多機能バンドルアプリケーションが必要とする集中的なビジョン計算を行うことができる。
本明細書に開示された処理装置のいずれも、特定の機能を実行するように構成されてもよい。特定の機能を実行するために、プロセッサまたは他のコントローラまたはマイクロプロセッサのいずれかなどの処理装置を構成することは、コンピュータ実行可能な命令をプログラミングし、処理装置の動作中にそれらの命令を実行するために処理装置に利用可能にすることを含むことができる。いくつかの実施形態では、処理装置を構成することは、アーキテクチャ命令で処理装置を直接プログラミングすることを含んでもよい。他の実施形態では、処理装置を構成することは、動作中に処理装置がアクセス可能なメモリに実行可能な命令を格納することを含んでもよい。例えば、処理装置は、動作中にメモリにアクセスして、格納された命令を取得して実行することができる。
図1では、処理ユニット110に含まれる2つの別個の処理デバイスが描かれているが、より多くのまたは少ない処理デバイスが使用されてもよい。例えば、いくつかの実施形態では、単一の処理デバイスを使用して、アプリケーションプロセッサ180および画像プロセッサ190のタスクを達成してもよい。他の実施形態では、これらのタスクは、2つ以上の処理デバイスによって実行されてもよい。さらに、いくつかの実施形態では、システム100は、画像取得ユニット120などの他の構成要素を含むことなく、処理ユニット110の1つ以上を含んでもよい。
処理ユニット110は、様々な種類のデバイスで構成されてもよい。例えば、処理ユニット110は、コントローラ、画像前処理装置、CPU、サポート回路、デジタル信号プロセッサ、集積回路、メモリ、または画像処理および分析のための他の任意のタイプのデバイスなど、様々なデバイスを含んでもよい。画像前処理装置は、イメージセンサからの画像を取り込み、デジタル化し、処理するためのビデオプロセッサを含んでいてもよい。CPUは、任意の数のマイクロコントローラまたはマイクロプロセッサで構成されていてもよい。サポート回路は、キャッシュ回路、電源回路、クロック回路、入出力回路など、当技術分野で一般的によく知られている任意の数の回路であってよい。メモリは、プロセッサによって実行されると、システムの動作を制御するソフトウェアを格納してもよい。メモリは、データベースや画像処理ソフトウェアを含んでいてもよい。メモリは、任意の数のランダムアクセスメモリ、読み取り専用メモリ、フラッシュメモリ、ディスクドライブ、光学ストレージ、テープストレージ、リムーバブルストレージ、および他のタイプのストレージで構成されていてもよい。ある例では、メモリは、処理ユニット110とは別個のものであってもよい。別の実施例では、メモリは処理ユニット110に統合されていてもよい。
各メモリ140、150は、プロセッサ(例えば、アプリケーションプロセッサ180および/または画像プロセッサ190)によって実行されると、システム100の様々な側面の動作を制御することができるソフトウェア命令を含んでもよい。これらのメモリは、様々なデータベースおよび画像処理ソフトウェアを含んでもよい。メモリは、ランダムアクセスメモリ、読み取り専用メモリ、フラッシュメモリ、ディスクドライブ、光学式ストレージ、テープストレージ、リムーバブルストレージ、および/または他の任意のタイプのストレージを含んでもよい。いくつかの実施形態では、メモリ140、150は、アプリケーションプロセッサ180および/または画像プロセッサ190とは別個であってもよい。他の実施形態では、これらのメモリは、アプリケーションプロセッサ180および/または画像プロセッサ190に統合されていてもよい。
位置センサ130は、システム100の少なくとも1つの構成要素に関連する位置を決定するのに適した任意のタイプのデバイスを含んでもよい。いくつかの実施形態では、位置センサ130は、GPS受信機を含んでもよい。そのような受信機は、全地球測位システム衛星によってブロードキャストされた信号を処理することによって、ユーザの位置および速度を決定することができる。位置センサ130からの位置情報は、アプリケーションプロセッサ180および/または画像プロセッサ190が利用できるようにしてもよい。
いくつかの実施形態では、システム100は、車両200の速度を測定するための速度センサ(例えば、タコメータ)および/または車両200の加速度を測定するための加速度センサなどの構成要素を含んでもよい。
ユーザインタフェース170は、システム100が1人以上のユーザに情報を提供するため、または1人以上のユーザから入力を受け取るために適した任意のデバイスを含んでもよい。いくつかの実施形態では、ユーザインタフェース170は、例えば、タッチスクリーン、マイク、キーボード、ポインタデバイス、トラックホイール、カメラ、ノブ、ボタンなどを含むユーザ入力デバイスを含んでもよい。そのような入力デバイスを使用して、ユーザは、命令または情報を入力すること、音声コマンドを提供すること、ボタン、ポインター、または視線追跡機能を使用して画面上のメニューオプションを選択すること、またはシステム100に情報を通信するための任意の他の適切な技術を介して、システム100に情報入力またはコマンドを提供することができる場合がある。
ユーザインタフェース170は、ユーザに情報を提供したり、ユーザから情報を受け取ったり、その情報を例えばアプリケーションプロセッサ180が使用するために処理するように構成された1つ以上の処理デバイスを備えていてもよい。いくつかの実施形態では、そのような処理デバイスは、目の動きを認識および追跡すること、音声コマンドを受信および解釈すること、タッチスクリーン上で行われたタッチおよび/またはジェスチャーを認識および解釈すること、キーボード入力またはメニュー選択に応答することなどのための命令を実行してもよい。いくつかの実施形態では、ユーザインタフェース170は、ユーザに出力情報を提供するためのディスプレイ、スピーカ、触覚デバイス、および/または任意の他のデバイスを含んでもよい。
地図データベース160は、システム100に有用な地図データを格納するための任意のタイプのデータベースを含んでもよい。いくつかの実施形態では、地図データベース160は、道路、水の特徴、地理的特徴、ビジネス、ポイントオブインタレスト、レストラン、ガソリンスタンドなどを含む様々なアイテムの、基準座標系での位置に関連するデータを含んでもよい。地図データベース160は、そのようなアイテムの位置だけでなく、例えば、格納された特徴のいずれかに関連する名前を含む、それらのアイテムに関連する記述子を格納してもよい。いくつかの実施形態では、地図データベース160は、システム100の他の構成要素と共に物理的に配置されてもよい。代替的または追加的に、地図データベース160またはその一部は、システム100の他の構成要素(例えば、処理ユニット110)に関して遠隔地に配置されてもよい。そのような実施形態では、地図データベース160からの情報は、ネットワークへの有線または無線のデータ接続を介して(例えば、セルラーネットワークおよび/またはインターネットなどを介して)ダウンロードされてもよい。
画像取得デバイス122、124、および126はそれぞれ、環境から少なくとも1つの画像をキャプチャするのに適した任意のタイプのデバイスを含んでもよい。さらに、任意の数の画像取得デバイスが、画像プロセッサへの入力用の画像を取得するために使用されてもよい。いくつかの実施形態では、単一の画像取得デバイスのみを含んでいてもよく、他の実施形態では、2つ、3つ、あるいは4つ以上の画像取得デバイスを含んでいてもよい。画像取得デバイス122、124、および126は、以下、図2~6を参照してさらに説明される。
システム100またはその様々な構成要素は、様々な異なるプラットフォームに組み込まれてもよい。いくつかの実施形態では、システム100は、図2に示すように、車両200に含まれてもよい。例えば、車両200は、図1に関連して上述したように、処理ユニット110およびシステム100の他の構成要素のいずれかを備えてもよい。いくつかの実施形態では、車両200は、単一の画像取得デバイス(例えば、カメラ)のみを備えていてもよいが、図3~図20に関連して説明したような他の実施形態では、複数の画像取得デバイスが使用されてもよい。例えば、図2に示されるように、車両200の画像取得デバイス122および124のいずれかが、ADAS(Advanced Driver Assistance Systems)イメージングセットの一部であってもよい。
画像取得ユニット120の一部として車両200に含まれる画像取得デバイスは、任意の適切な場所に配置されてもよい。いくつかの実施形態では、図2~図19および図8~図10に示すように、画像取得デバイス122は、バックミラー310の近傍に配置されてもよい。この位置は、車両200の運転者と同様の視線を提供してもよく、これは、運転者に何が見えていて、何が見えていないかを判断するのに役立ち得る。画像取得デバイス122は、バックミラー310の近くの任意の位置に配置されてもよいが、ミラーの運転者側に画像取得デバイス122を配置することは、運転者の視野および/または視線を代表する画像の取得をさらに支援することができる。
画像取得ユニット120の画像取得デバイスは、他の場所を使用してもよい。例えば、画像取得デバイス124は、車両200のバンパ上またはバンパ内に配置されてもよい。このような場所は、広い視野を有する画像取得デバイスに特に適している。バンパに配置された画像取得デバイスの視線は、運転者の視線とは異なる可能性があり、したがって、バンパの画像取得デバイスと運転者は、常に同じオブジェクトを見るとは限らない。また、画像取得デバイス(例えば、画像取得デバイス122、124、および126)は、他の場所に配置されてもよい。例えば、画像取得デバイスは、車両200のサイドミラーの一方または両方、車両200のルーフ、車両200のボンネット、車両200のトランク、車両200の側面に配置することができ、車両200の窓のいずれかに取り付けられたり、車両200の後ろ、または前に配置されたり、車両200の前面および/または後部のライトまたはその近くに取り付けられたりする。
画像取得デバイスに加えて、車両200は、システム100の様々な他の構成要素を含んでもよい。例えば、処理ユニット110は、車両のエンジン制御ユニット(ECU)と統合されているか、またはそれとは別に、車両200に含まれていてもよい。また、車両200は、GPS受信機などの位置センサ130を備えていてもよく、また、地図データベース160やメモリ140、150を含んでいてもよい。
前述したように、無線トランシーバ172は、1つまたは複数のネットワークを介してデータを受信してもよい。例えば、無線トランシーバ172は、システム100によって収集されたデータを1つまたは複数のサーバにアップロードしてもよく、1つまたは複数のサーバからデータをダウンロードしてもよい。無線トランシーバ172を介して、システム100は、例えば、地図データベース160、メモリ140、および/またはメモリ150に格納されたデータの定期的またはオンデマンドの更新を受信してもよい。同様に、無線トランシーバ172は、システム100による任意のデータ(例えば、画像取得ユニット120によって撮影された画像、位置センサ130または他のセンサ、車両制御システムなどによって受信されたデータ)、および/または処理ユニット110によって処理された任意のデータを、1つ以上のサーバにアップロードしてもよい。
システム100は、プライバシーレベル設定に基づいて、データをサーバに(例えば、クラウドに)アップロードしてもよい。例えば、システム100は、車両およびまたは車両の運転者/所有者を一意に識別することができる、サーバに送信されるデータ(メタデータを含む)の種類を規制または制限するために、プライバシーレベル設定を実装してもよい。そのような設定は、例えば、無線トランシーバ172を介してユーザによって設定されてもよいし、工場出荷時のデフォルト設定によって初期化されてもよいし、無線トランシーバ172によって受信されたデータによって設定されてもよい。
いくつかの実施形態では、システム100は、「高」プライバシーレベルに従ってデータをアップロードしてもよく、設定の下で、システム100は、特定の車両および/または運転者/所有者に関する詳細を含まないデータ(例えば、ルートに関連する位置情報、キャプチャ画像など)を送信してもよい。例えば、「高」プライバシー設定に従ってデータをアップロードする場合、システム100は、車両識別番号(VIN)または車両の運転者または所有者の名前を含まず、代わりに、キャプチャされた画像および/またはルートに関連する限定された位置情報などのデータを送信してもよい。
他のプライバシーレベルも意図されている。例えば、システム100は、「中」プライバシーレベルに従ってサーバにデータを送信し、車両のメーカーおよび/またはモデル、および/または車両タイプ(例えば、乗用車、スポーツユーティリティビークル、トラックなど)など、「高」プライバシーレベルの下では含まれない追加情報を含んでもよい。いくつかの実施形態では、システム100は、「低」プライバシーレベルに従ってデータをアップロードすることができる。「低」プライバシーレベルの設定では、システム100は、データをアップロードして、特定の車両、所有者/運転者、および/または車両が走行したルートの一部または全部を一意に識別するのに十分な情報を含んでもよい。このような「低」プライバシーレベルのデータは、例えば、VIN、運転者/所有者の名前、出発前の車両の起点、車両の意図する目的地、車両のメーカーおよび/またはモデル、車両のタイプなどの1つ以上を含むことができる。
図2は、開示された実施形態による例示的なシステム100の図式的な側面図表現である。図3は、図2に示される実施形態の上面の説明図である。図3に示されるように、開示された実施形態は、バックミラーの近傍および/または車両200の運転者の近傍に配置された第1の画像取得デバイス122と、車両200のバンパ領域(例えば、バンパ領域210の1つ)上またはバンパ領域内に配置された第2の画像取得デバイス124と、処理ユニット110とを有するシステム100をその本体に含む車両200を含むことができる。
図4に示されているように、画像取得デバイス122および124は、両方とも、バックミラーの近傍および/または車両200の運転者の近傍に配置されてもよい。さらに、2つの画像取得デバイス122および124が図3および図4に示されているが、他の実施形態は3つ以上の画像取得デバイスを含んでもよいことを理解すべきである。例えば、図5および図6に示す実施形態では、第1の画像取得デバイス122、第2の画像取得デバイス124および第3の画像取得デバイス126が、システム100に含まれる。
図5に示されるように、画像取得デバイス122は、バックミラーの近傍および/または車両200の運転者の近傍に配置されてもよく、画像取得デバイス124および126は、車両200のバンパ領域(例えば、バンパ領域210の1つ)上またはバンパ領域内に配置されてもよい。また、図6に示すように、画像取得デバイス122、124、および126は、バックミラーの近傍および/または車両200の運転席の近傍に配置されてもよい。開示された実施形態は、画像取得デバイスの特定の数および構成に限定されず、画像取得デバイスは、車両200内および/または車両200上の任意の適切な場所に配置されてもよい。
開示された実施形態は、車両に限定されるものではなく、他の状況でも適用可能であることを理解されたい。また、開示された実施形態は、特定のタイプの車両200に限定されるものではなく、自動車、トラック、トレーラー、および他のタイプの車両を含むすべてのタイプの車両に適用可能であることが理解されるべきである。
第1の画像取得デバイス122は、任意の適切なタイプの画像取得デバイスを含んでもよい。画像取得デバイス122は、光軸を含んでもよい。一例では、画像取得デバイス122は、グローバルシャッタを有するWVGAセンサを含んでもよい。他の実施形態では、画像取得デバイス122は、1280×960ピクセルの解像度を提供してもよく、ローリングシャッタを含んでもよい。画像取得デバイス122は、様々な光学素子を含んでもよい。いくつかの実施形態では、例えば、画像取得デバイスに所望の焦点距離および視野を提供するために、1つまたは複数のレンズが含まれてもよい。いくつかの実施形態では、画像取得デバイス122は、6mmレンズまたは12mmレンズと関連付けられてもよい。いくつかの実施形態では、画像取得デバイス122は、図5に示されているように、所望の視野(FOV)202を有する画像をキャプチャするように構成されてもよい。例えば、画像取得デバイス122は、46度のFOV、50度のFOV、52度のFOV、またはそれ以上を含む、40度から56度の範囲内のような、規則的なFOVを有するように構成されてもよい。代わりに、画像取得デバイス122は、28度のFOVまたは36度のFOVなど、23度から40度の範囲内の狭いFOVを有するように構成されてもよい。さらに、画像取得デバイス122は、100~180度の範囲の広いFOVを有するように構成されてもよい。いくつかの実施形態では、画像取得デバイス122は、広角バンパカメラまたは最大180度のFOVを有するものを含んでもよい。いくつかの実施形態では、画像取得デバイス122は、約100度の水平FOVを有する、約2:1のアスペクト比(例えば、H×V=3800×1900ピクセル)を有する7.2Mピクセルの画像取得デバイスであってもよい。このような画像取得デバイスは、3つの画像取得デバイスの構成の代わりに使用することができる。レンズの歪みが大きいため、画像取得デバイスが半径方向に対称なレンズを使用する実装では、そのような画像取得デバイスの垂直方向のFOVは、50度よりも大幅に小さくなる可能性がある。例えば、そのようなレンズは、100度の水平方向のFOVで50度よりも大きい垂直方向のFOVを可能にするような半径方向の対称性を持たない可能性がある。
第1の画像取得デバイス122は、車両200に関連するシーンに対する複数の第1の画像を取得してもよい。複数の第1の画像の各々は、一連の画像スキャンラインとして取得されてもよく、グローバルシャッタを用いて撮影されてもよい。各スキャンラインは、複数のピクセルを含んでもよい。
第1の画像取得デバイス122は、第1の一連の画像スキャンラインのそれぞれの取得に関連するスキャンレートを有してもよい。スキャンレートは、イメージセンサが、特定のスキャンラインに含まれる各画素に関連する画像データを取得することができるレートを指すことがある。
画像取得デバイス122、124、126は、例えば、CCDセンサまたはCMOSセンサを含む、任意の適切なタイプおよび数のイメージセンサを含むことができる。一実施形態では、CMOSイメージセンサは、ローリングシャッタとともに採用されてもよく、行内の各画素が一度に1つずつ読み取られ、画像フレーム全体がキャプチャされるまで、行内の走査が行ごとに進行する。いくつかの実施形態では、行はフレームに対して上から下に向かって順次取り込まれる。
いくつかの実施形態では、本明細書に開示された画像取得デバイス(例えば、画像取得デバイス122、124、および126)の1つまたは複数は、高解像度イメージャを構成してもよく、5Mピクセル、7Mピクセル、10Mピクセル、またはそれ以上の解像度を有してもよい。
ローリングシャッタを使用すると、異なる列の画素が異なる時間に露光されて撮影されることになり、撮影された画像フレームにスキューやその他の画像アーチファクトが発生する可能性がある。一方、画像取得デバイス122がグローバルシャッタまたは同期シャッタで動作するように構成されている場合には、すべての画素が同じ時間、共通の露光期間中に露光され得る。その結果、グローバルシャッタを採用したシステムから収集されたフレーム内の画像データは、特定の時間におけるFOV(FOV202など)全体のスナップショットを表す。一方、ローリングシャッタを採用したシステムでは、フレーム内の各列が露光され、データが異なるタイミングで取得される。そのため、ローリングシャッタを有する画像取得デバイスでは、動く物体が歪んで見えることがある。この現象については、以下で詳しく説明する。
第2の画像取得デバイス124および第3の画像取得デバイス126は、任意のタイプの画像取得デバイスであってもよい。第1の画像取得デバイス122と同様に、画像取得デバイス124および126のそれぞれは、光軸を含んでいてもよい。一実施形態では、画像取得デバイス124および126のそれぞれは、グローバルシャッタを備えたWVGAセンサを含んでもよい。あるいは、画像取得デバイス124および126のそれぞれは、ローリングシャッタを含んでもよい。画像取得デバイス122と同様に、画像取得デバイス124および126は、様々なレンズおよび光学素子を含むように構成されてもよい。いくつかの実施形態では、画像取得デバイス124および126に関連するレンズは、画像取得デバイス122に関連付けられたFOV(FOV202など)と同じであるか、またはそれよりも狭いFOV(FOV204および206など)を提供してもよい。例えば、画像取得デバイス124および126は、40度、30度、26度、23度、20度、またはそれ以下のFOVを有してもよい。
画像取得デバイス124および126は、車両200に関連するシーンに関連する複数の第2および第3の画像を取得してもよい。複数の第2および第3の画像の各々は、ローリングシャッタを使用してキャプチャされてもよい、画像スキャンラインの第2および第3のシリーズとして取得されてもよい。各スキャンラインまたは行は、複数の画素を有していてもよい。画像取得デバイス124および126は、第2および第3のシリーズに含まれる画像スキャンラインの各々の取得に関連する第2および第3のスキャンレートを有してもよい。
各画像取得デバイス122、124、および126は、車両200に対する任意の適切な位置および方向に配置されてもよい。画像取得デバイス122、124、および126の相対的な位置関係は、画像取得デバイスから取得した情報を融合するのを支援するように選択されてもよい。例えば、いくつかの実施形態では、画像取得デバイス124に関連するFOV(FOV204など)は、画像取得デバイス122に関連するFOV(FOV202など)および画像取得デバイス126に関連するFOV(FOV206など)と部分的または完全に重なってもよい。
画像取得デバイス122、124、および126は、任意の適切な相対的高さで車両200上に配置されてもよい。一例では、画像取得デバイス122、124、および126の間に高さの差があってもよく、これにより、ステレオ分析を可能にするための十分な視差情報を提供することができる。例えば、図2に示すように、2つの画像取得デバイス122および124は、異なる高さにある。また、画像取得デバイス122、124、126の間に横方向の変位の差があってもよく、例えば、処理ユニット110によるステレオ解析のための追加の視差情報を与える。横方向の変位の差は、図4および図5に示すように、dxで示されてもよい。いくつかの実施形態では、前部または後部変位(例えば、範囲変位)が、画像取得デバイス122、124、および126の間に存在してもよい。例えば、画像取得デバイス122は、画像取得デバイス124および/または画像取得デバイス126よりも0.5~2メートル以上後方に位置していてもよい。この種の変位は、画像取得デバイスの1つが、他の画像取得デバイス(複数可)の潜在的な死角をカバーすることを可能にする場合がある。
画像取得デバイス122は、任意の適切な解像度能力(例えば、画像センサに関連付けられたピクセルの数)を有してもよく、画像取得デバイス122に関連付けられた画像センサ(複数可)の解像度は、画像取得デバイス124および126に関連付けられた画像センサの解像度よりも高くても低くても同じでもよい。いくつかの実施形態では、画像取得デバイス122および/または画像取得デバイス124および126に関連する画像センサは、640×480、1024×768、1280×960、または他の任意の適切な解像度を有してもよい。
フレームレートは、制御可能であってもよい。フレームレートは、例えば、画像取得デバイスが1つの画像フレームのピクセルデータのセットを取得してから、次の画像フレームに関連するピクセルデータの取得に移るレートである。画像取得デバイス122に関連するフレームレートは、画像取得デバイス124および126に関連するフレームレートより高くても、低くても、同じでもよい。画像取得デバイス122、124、および126に関連するフレームレートは、フレームレートのタイミングに影響を与える様々な要因に依存してもよい。例えば、画像取得デバイス122、124、および126のうちの1つまたは複数は、画像取得デバイス122、124、および/または126内のイメージセンサの1つまたは複数のピクセルに関連する画像データの取得の前または後に課される選択可能なピクセル遅延期間を含んでもよい。一般に、各ピクセルに対応する画像データは、デバイスのクロックレート(例えば、クロックサイクルあたり1ピクセル)に従って取得され得る。さらに、ローリングシャッタを含む実施形態では、画像取得デバイス122、124、および126のうちの1つまたは複数は、画像取得デバイス122、124、および/または126内のイメージセンサのピクセルの列に関連する画像データの取得の前または後に課される選択可能な水平ブランキング期間を含んでもよい。さらに、画像取得デバイス122、124、および/または126のうちの1つまたは複数は、画像取得デバイス122、124、および126の画像フレームに関連する画像データの取得の前または後に課される選択可能な垂直ブランキング期間を含んでもよい。
これらのタイミング制御は、それぞれのラインスキャンレートが異なる場合であっても、画像取得デバイス122、124、および126に関連するフレームレートの同期を可能にすることができる。さらに、以下でより詳細に説明するように、これらの選択可能なタイミング制御は、他の要因(例えば、イメージセンサの解像度、最大ラインスキャンレートなど)の中でも、画像取得デバイス122の視野が画像取得デバイス124および126のFOVと異なる場合でも、画像取得デバイス122のFOVが画像取得デバイス124および126の1つまたは複数のFOVと重なる領域からのイメージキャプチャの同期を可能にすることができる。
画像取得デバイス122、124、126におけるフレームレートのタイミングは、関連するイメージセンサの解像度に依存する場合がある。例えば、両方のデバイスで同様のラインスキャンレートを仮定すると、あるデバイスが640×480の解像度を有するイメージセンサを含み、別のデバイスが1280×960の解像度を有するイメージセンサを含む場合、より高い解像度を有するセンサから1フレームの画像データを取得するために、より多くの時間が必要となる。
画像取得デバイス122、124、126における画像データの取得タイミングに影響を与える可能性のある別の要因は、最大ラインスキャンレートである。例えば、画像取得デバイス122、124、126に含まれるイメージセンサから一列の画像データを取得するには、ある最小量の時間が必要となる。画素遅延期間が追加されないと仮定すると、画像データの行の取得のためのこの最小量の時間は、特定のデバイスの最大ラインスキャンレートに関連することになる。高い最大ラインスキャンレートを提供するデバイスは、低い最大ラインスキャンレートを提供するデバイスよりも高いフレームレートを提供できる可能性がある。いくつかの実施形態では、画像取得デバイス124および126の1つまたは複数は、画像取得デバイス122に関連する最大ラインスキャンレートよりも高い最大ラインスキャンレートを有してもよい。いくつかの実施形態では、画像取得デバイス124および/または126の最大ラインスキャンレートは、画像取得デバイス122の最大ラインスキャンレートの1.25倍、1.5倍、1.75倍、または2倍以上であってもよい。
別の実施形態では、画像取得デバイス122、124、および126は、同じ最大ラインスキャンレートを有してもよいが、画像取得デバイス122は、その最大スキャンレート以下のスキャンレートで動作してもよい。システムは、画像取得デバイス124および126のうちの1つまたは複数が、画像取得デバイス122のラインスキャンレートと等しいラインスキャンレートで動作するように構成されてもよい。他の実施形態では、システムは、画像取得デバイス124および/または画像取得デバイス126のラインスキャンレートが、画像取得デバイス122のラインスキャンレートの1.25、1.5、1.75、または2倍以上であるように構成されてもよい。
いくつかの実施形態では、画像取得デバイス122、124、および126は、非対称であってもよい。すなわち、これらは、異なる視野(FOV)および焦点距離を有するカメラを含んでもよい。画像取得デバイス122、124、および126の視野は、例えば、車両200の環境に対する任意の所望の領域を含んでもよい。いくつかの実施形態では、画像取得デバイス122、124、および126の1つまたは複数は、車両200の前方、車両200の後方、車両200の側方、またはそれらの組み合わせの環境から画像データを取得するように構成されてもよい。
さらに、各画像取得デバイス122、124、および/または126に関連する焦点距離は、各デバイスが車両200に対して所望の距離範囲にある物体の画像を取得するように、(例えば、適切なレンズなどを含めることによって)選択可能であってもよい。例えば、いくつかの実施形態では、画像取得デバイス122、124、および126は、車両から数メートル以内の近接物体の画像を取得してもよい。画像取得デバイス122、124、および126はまた、車両からより遠くの範囲(例えば、25m、50m、100m、150m、またはそれ以上)にある物体の画像を取得するように構成されてもよい。さらに、画像取得デバイス122、124、126の焦点距離は、1つの画像取得デバイス(例えば、画像取得デバイス122)が車両に比較的近い(例えば、10m以内または20m以内)オブジェクトの画像を取得できる一方で、他の画像取得デバイス(例えば、画像取得デバイス124および126)が車両200からより遠い(例えば、20m、50m、100m、150m以上など)オブジェクトの画像を取得できるように選択されてもよい。
いくつかの実施形態によれば、1つ以上の画像取得デバイス122、124、126のFOVは、広角であってもよい。例えば、特に、車両200の近傍の領域の画像を撮像するために使用され得る画像取得デバイス122、124、126のFOVは、140度であることが有利であり得る。例えば、画像取得デバイス122は、車両200の右または左の領域の画像をキャプチャするために使用されてもよく、そのような実施形態では、画像取得デバイス122は、広いFOV(例えば、少なくとも140度)を有することが望ましいことがある。
画像取得デバイス122、124、126のそれぞれに関連する視野は、それぞれの焦点距離に依存してもよい。例えば、焦点距離が長くなると、対応する視野が狭くなる。
画像取得デバイス122、124、および126は、任意の適切な視野を有するように構成されてもよい。ある特定の例では、画像取得デバイス122は、46度の水平FOVを有してもよく、画像取得デバイス124は、23度の水平FOVを有してもよく、画像取得デバイス126は、23度と46度の間の水平FOVを有してもよい。別の例では、画像取得デバイス122は52度の水平FOVを有してもよく、画像取得デバイス124は26度の水平FOVを有してもよく、画像取得デバイス126は26度と52度の間に水平FOVを有してもよい。いくつかの実施形態では、画像取得デバイス122のFOVと、画像取得デバイス124および/または画像取得デバイス126のFOVとの比は、1.5から2.0まで変化してもよい。他の実施形態では、この比は、1.25から2.25の間で変化してもよい。
システム100は、画像取得デバイス122の視野が、画像取得デバイス124および/または画像取得デバイス126の視野と、少なくとも部分的または完全に重なるように構成されてもよい。いくつかの実施形態では、システム100は、例えば、画像取得デバイス124および126の視野が、画像取得デバイス122の視野内に収まり(例えば、より狭く)、画像取得デバイス122の視野と共通の中心を共有するように構成されてもよい。他の実施形態では、画像取得デバイス122、124、および126は、隣接するFOVをキャプチャしてもよく、またはそれらのFOVに部分的な重複があってもよい。いくつかの実施形態では、画像取得デバイス122、124、および126の視野は、より狭いFOVの画像取得デバイス124および/または126の中心が、より広いFOVの画像取得デバイス122の視野の下半分に位置するように位置合わせされてもよい。
図7は、開示された実施形態による例示的な車両制御システムの図式である。図7に示されるように、車両200は、スロットルシステム220、ブレーキシステム230、およびステアリングシステム240を含んでもよい。システム100は、1つまたは複数のデータリンク(例えば、任意の有線および/または無線リンクまたはデータを送信するためのリンク)を介して、スロットルシステム220、ブレーキシステム230、およびステアリングシステム240のうちの1つまたは複数に入力(例えば、制御信号)を提供してもよい。例えば、画像取得デバイス122、124、および/または126によって取得された画像の分析に基づいて、システム100は、スロットルシステム220、ブレーキシステム230、およびステアリングシステム240のうちの1つまたは複数に制御信号を提供し、例えば、加速、旋回、レーンシフトなどを行わせることにより、車両200をナビゲートしてもよい。さらに、システム100は、スロットルシステム220、ブレーキシステム230、およびステアリングシステム240のうちの1つまたは複数から、車両200の動作状態(例えば、速度、車両200が制動および/または旋回しているかどうか、など)を示す入力を受信してもよい。さらなる詳細は、以下の図12~図20に関連して提供される。
図8に示すように、車両200は、車両200の運転者または乗員と対話するためのユーザインタフェース170を含んでもよい。例えば、車両アプリケーションにおけるユーザインタフェース170は、タッチスクリーン320、ノブ330、ボタン340、およびマイク350を含んでもよい。また、車両200の運転者または乗員は、ハンドル、ボタンなどを使用して、システム100と対話してもよい。ハンドルは、例えば、車両200のステアリングコラム上または近傍に配置されているターンシグナルハンドルを含む。ボタンは、例えば、車両200のステアリングホイール上に配置されている。いくつかの実施形態では、マイク350は、バックミラー310に隣接して配置されてもよい。同様に、いくつかの実施形態では、画像取得デバイス122は、バックミラー310の近くに配置されてもよい。いくつかの実施形態では、ユーザインタフェース170は、1つ以上のスピーカ360(例えば、車両オーディオシステムのスピーカ)を含んでもよい。システム100は、スピーカ360を介して様々な通知(例えば、アラート)を提供してもよい。
図9~図11は、開示された実施形態によるバックミラー(例えば、バックミラー310)の後ろに、車両のフロントガラスに対向して配置されるように構成された、例示的なカメラマウント370の図である。図9に示すように、カメラマウント370は、画像取得デバイス122、124、および126を含んでもよい。画像取得デバイス124および126は、グレアシールド380の背後に配置されてもよく、このグレアシールド380は、車両のフロントガラスに対して同じ高さであってもよく、フィルムおよび/または反射防止材料の組成物を含む。例えば、グレアシールド380は、一致する傾斜を有する車両のフロントガラスに対向して位置合わせされて配置されてもよい。いくつかの実施形態では、画像取得デバイス122、124、126のそれぞれは、例えば図11に描かれているように、グレアシールド380の後ろに配置されてもよい。開示された実施形態は、画像取得デバイス122、124、および126、カメラマウント370、およびグレアシールド380のいかなる特定の構成にも限定されない。図10は、図9に示すカメラマウント370を正面から見た説明図である。
本開示の恩恵を受ける当業者により理解されるように、前述の開示された実施形態に多数の変形および/または変更を加えることができる。例えば、全ての構成要素がシステム100の動作に必須ではない。さらに、任意の構成要素は、システム100の任意の適切な部分に配置されてもよく、構成要素は、開示された実施形態の機能を提供しながら、様々な構成に再配置されてもよい。したがって、前述の構成は例示であり、上述の構成にかかわらず、システム100は、車両200の周囲を分析し、分析に応じて車両200をナビゲートするための広範な機能を提供することができる。
以下にさらに詳細に後述するように、開示された様々な実施形態により、システム100は、自律走行および/または運転支援技術に関連する様々な機能を提供してもよい。例えば、システム100は、画像データ、位置データ(例えば、GPS位置情報)、地図データ、速度データ、および/または、車両200に含まれるセンサからのデータを分析してもよい。システム100は、例えば、画像取得ユニット120、位置センサ130、およびその他のセンサから解析用データを収集してもよい。さらに、システム100は、収集したデータを解析して、車両200がある行動をとるべきか否かを判断し、人間の介入なしに、判断した行動を自動的にとることができる。例えば、車両200が人間の介入なしにナビゲートする場合、システム100は、例えば、スロットルシステム220、ブレーキシステム230、およびステアリングシステム240の1つ以上に制御信号を送信することによって車両200の制動、加速、および/またはステアリングを自動的に制御してもよい。さらに、システム100は、収集されたデータを分析し、収集されたデータの分析に基づいて、車両の乗員に警告および/または警報を発してもよい。システム100によって提供される様々な実施形態に関する追加の詳細は、以下で提供される。
前向きマルチイメージングシステム
上述したように、システム100は、マルチカメラシステムを使用するドライブアシスト機能を提供してもよい。マルチカメラシステムは、車両の前方方向を向いた1つまたは複数のカメラを使用してもよい。他の実施形態では、マルチカメラシステムは、車両の側方または車両の後方に向いた1つまたは複数のカメラを含んでもよい。一実施形態では、例えば、システム100は、2つのカメラ撮像システムを使用してもよく、ここでは、第1のカメラおよび第2のカメラ(例えば、画像取得デバイス122および124)が、車両(例えば、車両200)の前方および/または側方に配置されてもよい。第1のカメラは、第2のカメラの視野よりも大きい、小さい、または部分的に重なる視野を有していてもよい。さらに、第1のカメラは、第1のカメラによって提供される画像の単眼画像解析を実行するために、第1の画像プロセッサに接続されてもよく、第2のカメラは、第2のカメラによって提供される画像の単眼画像解析を実行するために、第2の画像プロセッサに接続されてもよい。第1および第2の画像プロセッサの出力(例えば、処理された情報)は、結合されてもよい。いくつかの実施形態では、第2の画像プロセッサは、第1のカメラおよび第2のカメラの両方から画像を受信して、ステレオ解析を実行してもよい。別の実施形態では、システム100は、カメラの各々が異なる視野を有する3つのカメラ撮像システムを使用してもよい。このようなシステムでは、車両の前方および側方の様々な距離に位置する物体から得られる情報に基づいて判断することができる。単眼画像解析とは、単一の視点(例えば、単一のカメラ)から撮影された画像に基づいて画像解析が行われる場合を指す。ステレオ画像解析とは、1つ以上の画像撮影パラメータを用いて撮影された2つ以上の画像に基づいて画像解析を行うことをいう。例えば、ステレオ画像解析に適した撮影画像には、2つ以上の異なる位置から撮影した画像、異なる視野から撮影した画像、異なる焦点距離を用いて撮影した画像、視差情報を伴って撮影した画像などがある。
例えば、一実施形態では、システム100は、画像取得デバイス122、124、126を使用して、3つのカメラ構成を実装してもよい。そのような構成において、画像取得デバイス122は、狭い視野(例えば、34度、または約20度から約45度の範囲から選択された他の値など)を提供してもよい。画像取得デバイス124は、広い視野(例えば、150度、または約100度から約180度の範囲から選択された他の値など)を提供してもよい。画像取得デバイス126は、中間の視野(例えば、46度、または約35度から約60度の範囲から選択された他の値など)を提供してもよい。いくつかの実施形態では、画像取得デバイス126は、メインカメラまたはプライマリカメラとして機能してもよい。画像取得デバイス122、124、126は、バックミラー310の後ろに配置され、実質的に横に並んで(例えば、6cm離れて)配置されてもよい。さらに、いくつかの実施形態では、上述したように、画像取得デバイス122、124、126のうちの1つまたは複数は、車両200のフロントガラスと同一平面にあるグレアシールド380の後ろに取り付けられてもよい。そのような遮蔽物は、車内からのあらゆる反射が画像取得デバイス122、124、126に与える影響を最小化するように作用し得る。
別の実施形態では、図9および図10に関連して上述したように、広視野カメラ(例えば、上記の例では画像取得デバイス124)は、狭視野カメラおよび主視野カメラ(例えば、上記の例では画像取得デバイス122および126)よりも低く取り付けられてもよい。この構成は、広視野カメラからの自由な視線を提供してもよい。反射を低減するために、カメラは、車両200のフロントガラスの近くに取り付けられてもよく、反射光を減衰させるためにカメラに偏光子を含んでもよい。
3つのカメラシステムは、特定の性能特性を提供することができる。例えば、いくつかの実施形態では、別のカメラからの検出結果に基づいて、あるカメラによる物体の検出を検証する機能を含んでもよい。上述した3つのカメラ構成では、処理ユニット110は、例えば、3つの処理デバイスを含んでもよい。各処理デバイスは、画像取得デバイス122、124、126のうちの1つ以上によってキャプチャされた画像を処理することに特化している。
3つのカメラシステムにおいて、第1の処理装置は、メインカメラと狭視野カメラの両方から画像を受信し、狭視野カメラのビジョン処理を実行して、例えば、他の車両、歩行者、レーンマーク、交通標識、信号機、および他の道路オブジェクトを検出してもよい。さらに、第1処理装置は、メインカメラからの画像と狭視野カメラからの画像との間の画素の視差を計算し、車両200の環境の3D再構成を作成してもよい。そして、第1処理装置は、3D再構築物を、3D地図データや、他のカメラからの情報に基づいて算出した3D情報と組み合わせてもよい。
第2の処理装置は、メインカメラからの画像を受信し、視覚処理を行って、他の車両、歩行者、レーンマーク、交通標識、信号機、その他の道路物体を検出してもよい。さらに、第2の処理装置は、カメラの変位を計算し、その変位に基づいて、連続する画像間のピクセルの視差を計算し、シーンの3D再構成(例えば、ストラクチャーフロムモーション)を作成してもよい。第2の処理装置は、ストラクチャーフロムモーションに基づく3D再構成を第1の処理装置に送り、ステレオ3D画像と合成してもよい。
第3の処理装置は、広角カメラから画像を受け取り、画像を処理して、車両、歩行者、レーンマーク、交通標識、信号機などの道路上の物体を検出してもよい。また、第3の処理装置は、さらに追加の処理命令を実行して画像を解析し、車線変更する車両や歩行者など、画像内で移動するオブジェクトを識別してもよい。
いくつかの実施形態では、画像ベースの情報のストリームを独立して取り込み、処理することで、システムに冗長性を持たせることができる。このような冗長性には、例えば、第1の画像取得デバイスおよびそのデバイスから処理された画像を使用して、少なくとも第2の画像取得デバイスから画像情報をキャプチャおよび処理して得られた情報を検証および/または補足することが含まれる。
いくつかの実施形態では、システム100は、車両200のナビゲーション支援を行う際に2つの画像取得デバイス(例えば、画像取得デバイス122および124)を使用し、第3の画像取得デバイス(例えば、画像取得デバイス126)を使用して、冗長性を提供し、他の2つの画像取得デバイスから受信したデータの分析を検証してもよい。例えば、そのような構成では、画像取得デバイス122および124は、車両200をナビゲートするためのシステム100によるステレオ分析のための画像を提供し得る。一方、画像取得デバイス126は、画像取得デバイス122および/または画像取得デバイス124からキャプチャされた画像に基づいて得られた情報の冗長性および検証を提供するために、システム100による単眼分析のための画像を提供してもよい。すなわち、画像取得デバイス126(および対応する処理デバイス)は、画像取得デバイス122および124から得られた分析に対するチェックを提供するための(例えば、自動緊急ブレーキ(AEB)システムを提供するための)冗長サブシステムを提供すると見なし得る。
当業者であれば、上記のカメラ構成、カメラの配置、カメラの数、カメラの位置などは例示に過ぎないことを認識するであろう。システム全体に関連して記載されたこれらの構成要素およびその他の構成要素は、開示された実施形態の範囲から逸脱することなく、様々な異なる構成で組み立てられ、使用される得る。運転支援および/または自律走行車の機能を提供するためのマルチカメラシステムの使用に関する詳細は以下の通りである。
図4は、開示された実施形態により1つまたは複数の動作を実行するための命令を格納/プログラムすることができるメモリ140および/または150の例示的な機能ブロック図である。以下では、メモリ140を参照するが、当業者であれば、命令がメモリ140および/または150に格納されてもよいことを認識するであろう。
図4に示すように、メモリ140は、単眼画像解析モジュール402、ステレオ画像解析モジュール404、速度および加速度モジュール406、およびナビゲーション応答モジュール408を格納してもよい。開示された実施形態は、メモリ140のいかなる特定の構成にも限定されない。さらに、アプリケーションプロセッサ180および/または画像プロセッサ190は、メモリ140に含まれるモジュール402、404、406、408のいずれかに格納された命令を実行してもよい。当業者であれば、以下の議論における処理ユニット110への言及は、アプリケーションプロセッサ180および画像プロセッサ190を個別にまたはまとめて参照することができることを理解するであろう。したがって、以下の処理のいずれかのステップは、1つまたは複数の処理装置によって実行されてもよい。
一実施形態では、単眼画像解析モジュール402は、処理ユニット110によって実行されると、画像取得デバイス122、124、および126のうちの1つによって取得された画像のセットの単眼画像解析を実行する命令(コンピュータビジョンソフトウェアなど)を格納してもよい。いくつかの実施形態では、処理ユニット110は、一組の画像からの情報を追加のセンサ情報(例えば、レーダからの情報)と組み合わせて、単眼画像解析を実行してもよい。以下の図13~図16に関連して説明するように、単眼画像解析モジュール402は、レーンマーキング、車両、歩行者、道路標識、高速道路の出口ランプ、信号機、危険物、および車両の環境に関連する他の特徴など、一組の画像内の一組の特徴を検出するための命令を含んでもよい。分析に基づいて、システム100は、例えば、処理ユニット110を介して、ナビゲーション応答モジュール408に関連して後述するように、旋回、レーンシフト、加速度の変化などの1つ以上のナビゲーション応答を車両200に生じさせてもよい。
一実施形態では、ステレオ画像解析モジュール404は、処理ユニット110によって実行されると、画像取得デバイス122、124、および126のいずれかから選択された画像取得デバイスの組み合わせによって取得された第1および第2のセットの画像のステレオ画像解析を実行する命令(コンピュータビジョンソフトウェアなど)を格納してもよい。いくつかの実施形態では、処理ユニット110は、第1および第2の画像セットからの情報を、追加のセンサ情報(例えば、レーダからの情報)と組み合わせて、ステレオ画像解析を実行してもよい。例えば、ステレオ画像解析モジュール404は、画像取得デバイス124によって取得された第1のセットの画像と、画像取得デバイス126によって取得された第2のセットの画像とに基づいて、ステレオ画像解析を実行するための命令を含んでもよい。後述の図19に関連して説明するように、ステレオ画像解析モジュール404は、レーンマーキング、車両、歩行者、道路標識、高速道路の出口ランプ、信号機、危険物など、第1および第2の画像セット内の一組の特徴を検出するための命令を含んでもよい。分析に基づいて、処理ユニット110は、ナビゲーション応答モジュール408に関連して後述するように、旋回、レーンシフト、加速度の変化などの1つ以上のナビゲーション応答を車両200に生じさせてもよい。
一実施形態では、速度および加速度モジュール406は、車両200の速度および/または加速度の変化を生じさせるように構成された、車両200内の1つまたは複数のコンピューティングデバイスおよび電気機械デバイスから受信したデータを分析するように構成されたソフトウェアを格納してもよい。例えば、処理ユニット110は、速度および加速度モジュール406に関連する命令を実行して、単眼画像解析モジュール402および/またはステレオ画像解析モジュール404の実行から得られたデータに基づいて、車両200の目標速度を計算してもよい。そのようなデータは、例えば、目標位置、速度、および/または加速度、近くの車両、歩行者、または道路物体に対する車両200の位置および/または速度、道路のレーンマーキングに対する車両200の位置情報などを含んでもよい。さらに、処理ユニット110は、センサ入力(例えば、レーダからの情報)と、車両200のスロットルシステム220、ブレーキシステム230、および/または車両200のステアリングシステム240など、車両200の他のシステムからの入力とに基づいて、車両200の目標速度を計算してもよい。計算された目標速度に基づいて、処理ユニット110は、例えば、車両200のブレーキを物理的に踏み込んだり、アクセルを緩めたりすることによって、速度および/または加速度の変化を誘発するために、車両200のスロットルシステム220、ブレーキシステム230、および/またはステアリングシステム240に電子信号を送信してもよい。
一実施形態では、ナビゲーション応答モジュール408は、単眼画像解析モジュール402および/またはステレオ画像解析モジュール404の実行から得られたデータに基づいて、所望のナビゲーション応答を決定するために、処理ユニット110によって実行可能なソフトウェアを格納してもよい。そのようなデータは、近くの車両、歩行者、および道路オブジェクトに関連する位置および速度情報、車両200の目標位置情報などを含んでもよい。さらに、いくつかの実施形態では、ナビゲーション応答は、地図データ、車両200の所定の位置、および/または、単眼画像解析モジュール402および/またはステレオ画像解析モジュール404の実行から検出された車両200と1つ以上の物体との間の相対速度または相対加速度に(部分的または完全に)基づいてもよい。ナビゲーション応答モジュール408はまた、センサ入力(例えば、レーダからの情報)および車両200のスロットルシステム220、ブレーキシステム230、および車両200のステアリングシステム240などの車両200の他のシステムからの入力に基づいて、所望のナビゲーション応答を決定してもよい。所望のナビゲーション応答に基づいて、処理ユニット110は、例えば、車両200のステアリングホイールを回転させて所定の角度の回転を実現することによって所望のナビゲーション応答をトリガするために、車両200のスロットルシステム220、ブレーキシステム230、およびステアリングシステム240に電子信号を送信してもよい。いくつかの実施形態において、処理ユニット110は、ナビゲーション応答モジュール408の出力(例えば、所望のナビゲーション応答)を、車両200の速度の変化を計算するための速度および加速度モジュール406の実行への入力として使用してもよい。
図13は、開示された実施形態による、単眼画像分析に基づいて1つまたは複数のナビゲーション応答を生じさせるための例示的なプロセス500Aを示すフローチャートである。ステップ510において、処理ユニット110は、処理ユニット110と画像取得ユニット120との間のデータインタフェース128を介して複数の画像を受信してもよい。例えば、画像取得ユニット120に含まれるカメラ(視野202を有する画像取得デバイス122など)は、車両200の前方(または、例えば車両の側面または背面)の領域の複数の画像をキャプチャし、データ接続を介して処理ユニット110に送信してもよい。データ接続の手法は、有線接続でも、無線接続でもよい。処理ユニット110は、以下の図14~図16に関連してさらに詳細に説明するように、ステップ520において、単眼画像解析モジュール402を実行して、複数の画像を解析してもよい。解析を実行することにより、処理ユニット110は、レーンマーキング、車両、歩行者、道路標識、高速道路の出口ランプ、信号機などの、一連の画像内の一連の特徴を検出してもよい。
処理ユニット110はまた、単眼画像解析モジュール402を実行して、ステップ520で、例えば、トラックのタイヤの一部、倒れた道路標識、緩んだ貨物、小動物など、様々な道路危険を検出してもよい。道路危険は、構造、形状、サイズ、および色が異なる場合があり、そのような危険の検出をより困難にする可能性がある。いくつかの実施形態では、処理ユニット110は、単眼画像解析モジュール402を実行して、複数の画像に対してマルチフレーム解析を行い、道路ハザードを検出してもよい。例えば、処理ユニット110は、連続する画像フレーム間のカメラの動きを推定し、フレーム間のピクセルの視差を計算して、道路の3Dマップを構築してもよい。その後、処理ユニット110は、3Dマップを使用して、路面と、路面の上に存在する危険を検出してもよい。
ステップ530において、処理ユニット110は、ステップ520で実行された分析と、図12に関連して上述したような技術とに基づいて、車両200に1つ以上のナビゲーション応答を生じさせるために、ナビゲーション応答モジュール408を実行してもよい。ナビゲーション応答は、例えば、ターン、レーンシフト、加速度の変化などを含んでもよい。いくつかの実施形態では、処理ユニット110は、速度および加速度モジュール406の実行から得られたデータを使用して、1つまたは複数のナビゲーション応答を生じさせてもよい。さらに、複数のナビゲーション応答は、同時に、順番に、またはそれらの任意の組み合わせで発生してもよい。例えば、処理ユニット110は、例えば、車両200のステアリングシステム240およびスロットルシステム220に制御信号を順次送信することによって、車両200に1つの車線を越えてシフトさせた後、加速させてもよい。あるいは、処理ユニット110は、例えば、車両200のブレーキシステム230およびステアリングシステム240に制御信号を同時に送信することにより、車両200にブレーキをかけさせ、同時に車線をシフトさせてもよい。
図14は、開示された実施形態による、一連の画像内の1つ以上の車両および/または歩行者を検出するための例示的なプロセス500Bを示すフローチャートである。処理ユニット110は、プロセス500Bを実施するために単眼画像解析モジュール402を実行してもよい。ステップ540において、処理ユニット110は、可能性のある車両および/または歩行者を表す候補オブジェクトのセットを決定してもよい。例えば、処理ユニット110は、1つまたは複数の画像をスキャンし、画像を1つまたは複数の所定のパターンと比較し、関心対象のオブジェクト(例えば、車両、歩行者、またはその一部)を含む可能性のある場所を各画像内で特定してもよい。あらかじめ決められたパターンは「偽のヒット」の割合が高く、「見逃し」の割合が低くなるように設計されていてもよい。例えば、処理ユニット110は、候補となるオブジェクトを車両や歩行者の可能性があるものとして識別するために、所定のパターンとの類似性の低い閾値を使用してもよい。そうすることで、処理ユニット110は、車両または歩行者を表す候補オブジェクトを見逃す(例えば、識別しない)確率を低減することができる。
ステップ542で、処理ユニット110は、分類基準に基づいて、特定の候補(例えば、無関係または関連性の低いオブジェクト)を除外するために、候補オブジェクトのセットをフィルタリングしてもよい。そのような基準は、データベース(例えば、メモリ140に格納されたデータベース)に格納されたオブジェクトタイプに関連する様々な特性から導出されてもよい。特性は、オブジェクトの形状、寸法、テクスチャ、位置(例えば、車両200との相対的な位置)などを含んでもよい。したがって、処理ユニット110は、1つまたは複数の基準のセットを使用して、オブジェクト候補のセットから偽の候補を拒絶してもよい。
ステップ544において、処理ユニット110は、画像の複数のフレームを分析して、候補オブジェクトのセット内のオブジェクトが車両および/または歩行者を表しているかどうかを判断してもよい。例えば、処理ユニット110は、連続するフレームにわたって検出された候補オブジェクトを追跡し、検出されたオブジェクトに関連するフレームごとのデータ(例えば、サイズ、車両200に対する位置など)を蓄積してもよい。さらに、処理ユニット110は、検出された物体のパラメータを推定し、物体のフレームごとの位置データを予測された位置と比較してもよい。
ステップ546で、処理ユニット110は、検出されたオブジェクトの測定値のセットを構築してもよい。そのような測定値は、例えば、検出された物体に関連する(車両200に対する)位置、速度、および加速度の値を含んでもよい。いくつかの実施形態では、処理ユニット110は、カルマンフィルタまたは線形二次推定(LQE)などの一連の時間ベースの観測値を使用する推定技術に基づいて、および/または、異なるオブジェクトタイプ(例えば、自動車、トラック、歩行者、自転車、道路標識など)についての利用可能なモデリングデータに基づいて、測定値を構築してもよい。カルマンフィルタは、物体のスケールの測定値に基づいてもよく、スケールの測定値は、衝突までの時間(例えば、車両200が物体に到達するまでの時間)に比例している。したがって、ステップ540~546を実行することにより、処理ユニット110は、一連の撮影画像内に現れる車両および歩行者を識別し、車両および歩行者に関連する情報(例えば、位置、速度、サイズ)を導出してもよい。識別および導出された情報に基づいて、処理ユニット110は、上述の図13に関連して説明したように、車両200に1つまたは複数のナビゲーション応答を生じさせてもよい。
ステップ548において、処理ユニット110は、「偽のヒット」を検出して、車両または歩行者を表す候補オブジェクトを見逃す確率を低減するために、1つまたは複数の画像のオプティカルフロー分析を実行してもよい。オプティカルフロー分析は、例えば、他の車両や歩行者に関連する1つ以上の画像の中で、路面の動きとは異なる、車両200に対する動きのパターンを分析することを指してもよい。処理ユニット110は、異なる時間に撮影された複数の画像フレームにわたるオブジェクトの異なる位置を観察することによって、候補オブジェクトの動きを計算してもよい。処理ユニット110は、位置および時間の値を、候補オブジェクトの動きを計算するための数学的モデルへの入力として使用してもよい。このように、オプティカルフロー分析は、車両200の近くにいる車両や歩行者を検出する別の方法を提供することができる。処理ユニット110は、車両および歩行者を検出するための冗長性を提供し、システム100の信頼性を高めるために、ステップ540~546と組み合わせてオプティカルフロー分析を実行してもよい。
図15は、開示された実施形態による、一組の画像において道路マークおよび/または車線ジオメトリ情報を検出するための例示的なプロセス500Cを示すフローチャートである。処理ユニット110は、プロセス500Cを実施するために単眼画像解析モジュール402を実行してもよい。ステップ550において、処理ユニット110は、1つまたは複数の画像をスキャンすることによって、一連のオブジェクトを検出してもよい。車線マーキングのセグメント、車線ジオメトリ情報、および他の適切な道路マークを検出するために、処理ユニット110は、一連のオブジェクトをフィルタリングして、無関係であると判断されたもの(例えば、小さな穴、小さな岩など)を除外してもよい。ステップ552で、処理ユニット110は、同じ道路マークまたは車線マークに属するステップ550で検出されたセグメントをグループ化してもよい。グループ化に基づいて、処理ユニット110は、数学モデルなど、検出されたセグメントを表現するモデルを開発してもよい。
ステップ554において、処理ユニット110は、検出されたセグメントに関連する測定値のセットを構築してもよい。いくつかの実施形態では、処理ユニット110は、画像平面から実世界平面への検出されたセグメントの投影を作成してもよい。投影は、検出された道路の位置、傾斜、曲率、曲率微分などの物理的特性に対応する係数を有する3次多項式を用いて特徴付けられてもよく、投影を生成する際に、処理ユニット110は、路面の変化、ならびに車両200に関連するピッチレートおよびロールレートを考慮してもよい。さらに、処理ユニット110は、路面上に存在する位置および動きの手掛かりを分析することによって、道路の高さをモデル化してもよい。さらに、処理ユニット110は、1つまたは複数の画像内の特徴点のセットを追跡することによって、車両200に関連するピッチおよびロールレートを推定してもよい。
ステップ556において、処理ユニット110は、例えば、連続する画像フレームにわたって検出されたセグメントを追跡し、検出されたセグメントに関連するフレームごとのデータを蓄積することによって、マルチフレーム分析を実行してもよい。処理ユニット110がマルチフレーム分析を実行すると、ステップ554で構築された測定値のセットは、より信頼性が高くなり得、ますます高い信頼レベルに関連付けられてもよい。したがって、ステップ550~556を実行することにより、処理ユニット110は、キャプチャされた画像のセット内に現れる道路マークを識別し、車線ジオメトリ情報を導出してもよい。識別情報および導出された情報に基づいて、処理ユニット110は、上述の図13に関連して説明したように、車両200に1つまたは複数のナビゲーション応答を生じさせてもよい。
ステップ558において、処理ユニット110は、周囲の状況における車両200の安全モデルをさらに開発するために、追加の情報源を考慮してもよい。処理ユニット110は、安全モデルを使用して、システム100が車両200の自律制御を安全な方法で実行することができる状況を定義してもよい。安全モデルを開発するために、いくつかの実施形態では、処理ユニット110は、他の車両の位置および動き、検出された道路の縁および障壁、および/または地図データ(地図データベース160からのデータなど)から抽出された一般的な道路形状の記述を考慮してもよい。追加の情報源を考慮することにより、処理ユニット110は、道路マークおよび車線形状を検出するための冗長性を提供し、システム100の信頼性を高めてもよい。
図16は、開示された実施形態による、一連の画像の中で交通信号を検出するための例示的なプロセス500Dを示すフローチャートである。処理ユニット110は、プロセス500Dを実施するために、単眼画像解析モジュール402を実行して、プロセス500Dを実施することができる。ステップ560において、処理ユニット110は、一連の画像をスキャンし、交通信号を含む可能性が高い画像内の位置に現れるオブジェクトを識別してもよい。例えば、処理ユニット110は、識別されたオブジェクトをフィルタリングして、交通信号機に対応する可能性が低いオブジェクトを除外して、候補オブジェクトのセットを構築してもよい。フィルタリングは、形状、寸法、テクスチャ、位置(例えば、車両200との相対的な位置)など、交通信号機に関連する様々な特性に基づいて行われてもよい。このような特性は、交通信号や交通制御信号の複数の例に基づいて、データベースに格納されていてもよい。いくつかの実施形態では、処理ユニット110は、可能性のある交通信号を反映する候補オブジェクトのセットに対して、マルチフレーム解析を実行してもよい。例えば、処理ユニット110は、連続する画像フレームにわたって候補オブジェクトを追跡し、候補オブジェクトの現実世界での位置を推定し、動いているオブジェクト(交通信号である可能性が低い)をフィルタリングしてもよい。いくつかの実施形態では、処理ユニット110は、候補オブジェクトの色分析を実行し、可能性のある信号機の内部に現れる検出された色の相対的な位置を識別してもよい。
ステップ562において、処理ユニット110は、交差点の形状を分析してもよい。分析は、以下の任意の組み合わせに基づいてもよい。(i)車両200の両側で検出された車線の数、(ii)道路上で検出されたマーキング(矢印マークなど)、および(iii)地図データ(地図データベース160からのデータなど)から抽出された交差点の記述、の任意の組み合わせに基づいて、分析を行ってもよい。処理ユニット110は、単眼画像解析モジュール402の実行から得られる情報を用いて解析を行ってもよい。さらに、処理ユニット110は、ステップ560で検出された信号機と、車両200の近傍に現れる車線との対応関係を判定してもよい。
車両200がジャンクションに近づくと、ステップ564において、処理ユニット110は、解析された交差点ジオメトリおよび検出された信号機に関連する信頼度を更新してもよい。例えば、交差点に出現すると推定される交通信号の数と、実際に交差点に出現した数とを比較すると、信頼度に影響を与える可能性がある。したがって、信頼度に基づいて、処理ユニット110は、安全状態を改善するために、車両200の運転者に制御を委ねてもよい。ステップ560~564を実行することにより、処理ユニット110は、キャプチャされた画像のセット内に出現する信号機を識別し、交差点ジオメトリ情報を分析してもよい。識別および分析に基づいて、処理ユニット110は、上述の図13に関連して説明したように、車両200に1つまたは複数のナビゲーション応答を生じさせてもよい。
図17は、開示された実施形態による、車両経路に基づいて車両200に1つまたは複数のナビゲーション応答を生じさせるための例示的なプロセス500Eを示すフローチャートである。ステップ570において、処理ユニット110は、車両200に関連する初期の車両経路を構築してもよい。車両経路は、座標(x,z)で表される点の集合を用いて表されてもよく、点の集合内の2つの点の間の距離dは、1~5メートルの範囲に入ってもよい。一実施形態では、処理ユニット110は、左道路多項式および右道路多項式などの2つの多項式を用いて初期車両経路を構築してもよい。処理ユニット110は、2つの多項式の間の幾何学的中点を計算し、結果として得られる車両経路に含まれる各点を、もしあれば、所定のオフセット(例えば、スマートレーンオフセット)でオフセットしてもよい。オフセットがゼロであれば、車線の中央を走行することに対応してもよい。オフセットは、車両経路内の任意の2点間のセグメントに垂直な方向であってもよい。別の実施形態では、処理ユニット110は、1つの多項式と推定レーン幅を使用して、推定レーン幅の半分に所定のオフセット(例えば、スマートレーンオフセット)を加えて車両経路の各点をオフセットしてもよい。
ステップ572において、処理ユニット110は、ステップ570で構築された車両経路を更新してもよい。処理ユニット110は、車両経路を表す点の集合における2つの点の間の距離dkが上述の距離diよりも小さくなるように、より高い解像度を使用して、ステップ570で構築された車両経路を再構築してもよい。例えば、距離dkは、0.1~0.3メートルの範囲に入ってもよい。処理ユニット110は、放物線スプラインアルゴリズムを用いて車両経路を再構築してもよく、これにより、車両経路の全長に対応する(すなわち、車両経路を表す点の集合に基づく)累積距離ベクトルSが得られてもよい。
ステップ574において、処理ユニット110は、ステップ572で構築された更新車両経路に基づいて、先読み点(座標で(x1,z1)と表される)を決定してもよい。処理ユニット110は、累積距離ベクトルSから先読み点を抽出してもよく、先読み点は、先読み距離および先読み時間に関連付けられてもよい。先読み距離は、10~20mの範囲を下限として、車両200の速度と先読み時間との積として算出されてもよい。例えば、車両200の速度が低下すると、先読み距離も(例えば、下限値に達するまで)低下してもよい。0.5秒から1.5秒の範囲である先読み時間は、ヘディングエラー追跡制御ループなど、車両200にナビゲーション応答を生じさせることに関連する1つ以上の制御ループのゲインに反比例してもよい。例えば、ヘディングエラー追跡制御ループのゲインは、ヨーレートループ、ステアリングアクチュエータループ、車の横方向のダイナミクスなどの帯域幅に依存してもよい。そのため、ヘディングエラー追跡制御ループのゲインが高いほど、先読み時間が短くなる。
ステップ576で、処理ユニット110は、ステップ574で決定された先読み点に基づいて、ヘディングエラーおよびヨーレートコマンドを決定してもよい。処理ユニット110は、先読み点のアークタンジェント、例えば、arctan(x1/z1)を計算することによって、ヘディングエラーを決定してもよい。処理ユニット110は、ヨーレートコマンドを、方位誤差とハイレベル制御ゲインとの積として決定してもよい。ハイレベル制御ゲインは、先読み距離が下限値でない場合は、(2/先読み時間)に等しくてもよい。先読み距離が下限値である場合は、ハイレベル制御ゲインは(2×車両200の速度/先読み距離)とすることができる。
図18は、開示された実施形態による、先行車両が車線変更しているかどうかを判断するための例示的なプロセス500Fを示すフローチャートである。ステップ580において、処理ユニット110は、先行車両(例えば、車両200の前方を走行する車両)に関連するナビゲーション情報を決定してもよい。例えば、処理ユニット110は、上述の図13および図14に関連して説明した技術を使用して、先行車両の位置、速度(例えば、方向および速度)、および/または加速度を決定してもよい。また、処理ユニット110は、上述の図17に関連して説明した技術を用いて、1つまたは複数の道路多項式、車両200に関連する先読み点、および/または、スネイルトレイル(例えば、先行車両が通った経路を記述する点の集合)を決定してもよい。
ステップ582において、処理ユニット110は、ステップ580で決定されたナビゲーション情報を分析してもよい。一実施形態では、処理ユニット110は、スネイルトレイルと道路多項式の間の(例えば、道に沿った)距離を計算してもよい。トレイルに沿ったこの距離の相違が所定の閾値(例えば、直線道路では0.1~0.2メートル、適度にカーブした道路では0.3~0.4メートル、急カーブの道路では0.5~0.6メートル)を超えた場合、処理ユニット110は、先行車両が車線変更している可能性が高いと判断してもよい。車両200の前方を走行する複数の車両が検出された場合、処理ユニット110は、各車両に関連するスネイルトレイルを比較してもよい。処理ユニット110は、比較に基づいて、スネイルトレイルが他の車両のスネイルトレイルと一致しない車両が車線変更している可能性が高いと判断してもよい。処理ユニット110は、さらに、(先頭車両に関連する)スネイルトレイルの曲率を、先頭車両が走行している道路セグメントの予想される曲率と比較してもよい。予想される曲率は、地図データ(例えば、地図データベース160からのデータ)から、道路の多項式、他の車両のスネイルトレイル、道路に関する事前の知識などから、抽出されてもよい。スネイルトレイルの曲率と道路セグメントの予想曲率の差が所定の閾値を超えた場合、処理ユニット110は、先行車両が車線変更している可能性が高いと判断してもよい。
別の実施形態では、処理ユニット110は、特定の期間(例えば、0.5~1.5秒)にわたって、先行車両の瞬間的な位置と(車両200に関連する)先読み点とを比較してもよい。先行車両の瞬間位置と先読み点との間の距離が特定期間中に変動し、変動の累積和が所定の閾値(例えば、直線道路では0.3~0.4メートル、適度にカーブした道路では0.7~0.8メートル、急カーブの道路では1.3~1.7メートル)を超えた場合、処理ユニット110は、先行車両が車線変更をしている可能性が高いと判断してもよい。別の実施形態では、処理ユニット110は、トレイルに沿って移動した横方向の距離と、スネイルトレイルの予想される曲率とを比較することによって、スネイルトレイルのジオメトリを分析してもよい。予想される曲率半径は、計算:
(δz
2+δx
2)/2/(δx)
に従って決定されてもよい。ここで、δxは横方向の移動距離、δzは縦方向の移動距離を表す。横方向の移動距離と予想される曲率との差が所定の閾値(例えば、500~700メートル)を超えた場合、処理ユニット110は、先行車両が車線変更している可能性が高いと判断してもよい。別の実施形態では、処理ユニット110は、先行車両の位置を分析してもよい。先行車両の位置が道路多項式を曖昧にしている(例えば、先行車両が道路多項式の上に重ねられている)場合、処理ユニット110は、先行車両が車線変更している可能性が高いと判定してもよい。また、先行車両の位置が、先行車両の前方に別の車両が検出され、2つの車両のスネイルトレイルが平行でないような場合には、処理ユニット110は、(より近い)先行車両が車線変更している可能性が高いと判断してもよい。
ステップ584において、処理ユニット110は、ステップ582で実行された分析に基づいて、先行車両である車両200が車線変更しているか否かを判定してもよい。例えば、処理ユニット110は、ステップ582で実行された個々の分析の加重平均に基づいて判定を行ってもよい。このような方式では、例えば、特定のタイプの分析に基づいて先行車両が車線変更している可能性が高いという処理ユニット110の判断には、「1」の値が割り当てられてもよい。先行車両が車線変更している可能性が低いという判断には「0」が割り当てられる。ステップ582で実行される異なる分析は、異なる重みを割り当てられてもよく、開示された実施形態は、分析および重みのいかなる特定の組み合わせに限定されない。
図19は、開示された実施形態による、ステレオ画像解析に基づいて1つまたは複数のナビゲーション応答を生じさせるための例示的なプロセス600を示すフローチャートである。ステップ610において、処理ユニット110は、データインタフェース128を介して、第1および第2の複数の画像を受信してもよい。例えば、画像取得ユニット120に含まれるカメラ(視野202および204を有する画像取得デバイス122および124など)は、車両200の前方の領域の第1および第2の複数の画像をキャプチャして、デジタル接続を介して処理ユニット110に送信してもよい。デジタル接続の手法は、有線接続でも無線接続でもよい。いくつかの実施形態では、処理ユニット110は、2つ以上のデータインタフェースを介して、第1および第2の複数の画像を受信してもよい。開示された実施形態は、いかなる特定のデータインタフェース構成またはプロトコルにも限定されない。
ステップ620において、処理ユニット110は、ステレオ画像解析モジュール404を実行して、第1および第2の複数の画像のステレオ画像解析を行い、車両前方の道路の3Dマップを作成し、車線標識、車両、歩行者、道路標識、高速道路の出口ランプ、信号機、道路の危険性などの画像内の特徴を検出してもよい。ステレオ画像解析は、上述の図13~図16に関連して説明したステップと同様の方法で実行されてもよい。例えば、処理ユニット110は、ステレオ画像解析モジュール404を実行して、第1及び第2の複数の画像内の候補オブジェクト(例えば、車両、歩行者、ロードマーク、交通信号、道路ハザードなど)を検出し、様々な基準に基づいて候補オブジェクトのサブセットをフィルタリングし、残りの候補オブジェクトについてマルチフレーム解析を行い、測定値を構築し、信頼度を決定してもよい。上記のステップを実行する際に、処理ユニット110は、一組の画像のみからの情報ではなく、第1および第2の複数の画像の両方からの情報を考慮してもよい。例えば、処理ユニット110は、第1および第2の複数の画像の両方に現れる候補オブジェクトについて、ピクセルレベルのデータ(または、撮影された画像の2つのストリームのうちからの他のデータサブセット)の違いを分析してもよい。別の例として、処理ユニット110は、複数の画像の一方には現れるが他方には現れないことを観察することにより、または、2つの画像ストリームの場合に現れるオブジェクトに関連して存在し得る他の差異に関連して、候補オブジェクトの(例えば、車両200に対する)位置および/または速度を推定してもよい。例えば、車両200に対する相対的な位置、速度、および/または加速度は、画像ストリームの一方または両方に現れる物体に関連する特徴の軌跡、位置、移動特性などに基づいて決定されてもよい。
ステップ630において、処理ユニット110は、ステップ620で実行された分析および図4に関連して上述したような技術に基づいて、車両200に1つまたは複数のナビゲーション応答を生じさせるために、ナビゲーション応答モジュール408を実行してもよい。ナビゲーション応答は、例えば、ターン、レーンシフト、加速度の変化、速度の変化、ブレーキなどを含んでもよい。いくつかの実施形態では、処理ユニット110は、速度および加速度モジュール406の実行から得られたデータを使用してもよい。モジュール406の実行から得られたデータを使用して、1つまたは複数のナビゲーション応答を生じさせることができる。さらに、複数のナビゲーション応答は、同時に、順番に、またはそれらの任意の組み合わせで発生してもよい。
図19は、開示された実施形態による、3組の画像の分析に基づいて1つまたは複数のナビゲーション応答を生じさせるための例示的なプロセス700を示すフローチャートである。ステップ710において、処理ユニット110は、データインタフェース128を介して、第1、第2、および第3の複数の画像を受信してもよい。例えば、画像取得ユニット120に含まれるカメラ(視野202、204、206を有する画像取得デバイス122、124、126など)は、車両200の前方および/または側方の領域の第1、第2、および第3の複数の画像を取り込み、デジタル接続を介して処理ユニット110に送信してもよい。いくつかの実施形態では、処理ユニット110は、3つ以上のデータインタフェースを介して、第1、第2、および第3の複数の画像を受信してもよい。例えば、画像取得デバイス122、124、126のそれぞれは、処理ユニット110にデータを通信するための関連するデータインタフェースを有してもよい。開示された実施形態は、いかなる特定のデータインタフェース構成またはプロトコルにも限定されない。
ステップ720において、処理ユニット110は、第1、第2、および第3の複数の画像を解析して、車線標識、車両、歩行者、道路標識、高速道路の出口ランプ、信号機、道路の危険性などの画像内の特徴を検出してもよい。分析は、上述の図13~図16、および図19に関連して説明したステップと同様の方法で実行されてもよい。例えば、処理ユニット110は、第1、第2、および第3の複数の画像のそれぞれについて、単眼画像解析を(例えば、単眼画像解析モジュール402の実行を介して、上述の図13~図16に関連して説明したステップに基づいて)実行してもよい。あるいは、処理ユニット110は、第1及び第2の複数の画像、第2及び第3の複数の画像、及び/又は第1及び第3の複数の画像について、ステレオ画像解析を(例えば、ステレオ画像解析モジュール404の実行を介して、上述の図19に関連して説明したステップに基づいて)実行してもよい。第1、第2、および/または第3の複数の画像の分析に対応する処理済みの情報は、結合されてもよい。いくつかの実施形態では、処理ユニット110は、単眼およびステレオ画像解析の組み合わせを実行してもよい。例えば、処理ユニット110は、第1の複数の画像に対して単眼画像解析(例えば、単眼画像解析モジュール402の実行を介して)を実行し、第2及び第3の複数の画像に対してステレオ画像解析(例えば、ステレオ画像解析モジュール404の実行を介して)を実行してもよい。画像取得デバイス122、124、126のそれぞれの位置と視野202、204、206を含む構成は、第1、第2、および第3の複数の画像に対して行われる解析の種類に影響を与える可能性がある。開示された実施形態は、画像取得デバイス122、124、および126の特定の構成、または、第1、第2、および第3の複数の画像に対して実施される分析の種類に限定されない。
いくつかの実施形態では、処理ユニット110は、ステップ710および720で取得および分析した画像に基づいて、システム100のテストを実行してもよい。そのようなテストは、画像取得デバイス122、124、および126の特定の構成に対するシステム100の全体的な性能の指標を提供してもよい。例えば、処理ユニット110は、“偽のヒット”(例えば、システム100が車両または歩行者の存在を誤って決定した場合)および“ミス”の割合を決定してもよい。
ステップ730において、処理ユニット110は、第1、第2、第3の複数の画像から得られた情報に基づいて、車両第1、第2、および第3の複数の画像のうちの2つから得られる情報に基づいて、車両200に1つ以上のナビゲーション応答を起こさせてもよい。第1、第2、および第3の複数の画像のうちの2つの選択は、例えば、複数の画像のそれぞれで検出されたオブジェクトの数、種類、およびサイズなど、様々な要因に依存してもよい。また、処理ユニット110は、画質や解像度、画像に反映される有効視野、撮影されたフレームの数、1つ以上の関心対象のオブジェクトがフレームに実際に現れる程度(例えば、オブジェクトが現れるフレームの割合、そのようなフレームごとに現れるオブジェクトの割合など)などに基づいて選択を行ってもよい。
いくつかの実施形態では、処理ユニット110は、1つの画像ソースから導出された情報が他の画像ソースから導出された情報と一致する程度を決定することによって、第1、第2、および第3の複数の画像のうちの2つから導出された情報を選択してもよい。例えば、処理ユニット110は、画像取得デバイス122、124、および126のそれぞれから導出された処理済みの情報を組み合わせて(単眼解析、ステレオ解析、またはその2つの任意の組み合わせによるかどうかに関わらず)、画像取得デバイス122、124、および126のそれぞれからキャプチャされた画像間で一貫している視覚的インジケータ(例えば、レーンマーキング、検出された車両とその位置および/または経路、検出された信号機など)を決定してもよい。また、処理ユニット110は、撮影された画像間で一貫性のない情報(例えば、車線変更する車両、車両200に近すぎる車両を示す車線モデルなど)を除外してもよい。このように、処理ユニット110は、一貫性のある情報と一貫性のない情報の判定に基づいて、第1、第2、および第3の複数の画像のうちの2つの画像に由来する情報を選択してもよい。
ナビゲーション応答は、例えば、ターン、レーンシフト、加速度の変化などを含んでもよい。処理ユニット110は、ステップ720で実行された分析および図4に関連して上述したような技術に基づいて、1つまたは複数のナビゲーション応答を生じさせてもよい。処理ユニット110はまた、速度および加速度モジュール406の実行から得られるデータを使用して、1つまたは複数のナビゲーション応答を生じさせてもよい。いくつかの実施形態では、処理ユニット110は、車両200と、第1、第2、および第3の複数の画像のいずれかで検出された物体との間の相対位置、相対速度、および/または相対加速度に基づいて、1つまたは複数のナビゲーション応答を生じさせてもよい。複数のナビゲーション応答は、同時に、順番に、またはそれらの任意の組み合わせで発生してもよい。
図21は、画像取得デバイスとして使用することができる例示的な撮像装置2500の構成要素の概略図である。例示の撮像装置2500は、イメージャシステムである画像センサ2100に結合されたレンズシステム1200を含む。レンズシステム1200は、フロントカバーガラス1204とリアカバーガラス1218とを有するレンズ鏡筒1202に収容されている。例示のレンズシステム1200は、第1の両凸レンズ1206と、第2の両凸レンズ1208と、正メニスカスレンズ1210と両凸レンズ1212とを含む合成レンズと、第2の正メニスカスレンズ1214とを含む。また、レンズシステム1200は、レンズシステム1200から画像センサ2100に投影されるIRおよびUVのスペクトル範囲の光を減衰させるカットフィルタ1216を含む。レンズシステム1200は、赤から緑のスペクトル範囲の光に対して比較的大きなMTFを提供するように構成されているので、カットフィルタ1216は、IRおよびUVスペクトル範囲の光を減衰させることに加えて、青のスペクトル範囲の光の少なくとも一部を減衰させるように構成されていてもよい。レンズ素子である両凸レンズ1206、1208、1212、正メニスカスレンズ1210、正メニスカスレンズ1214のいずれか少なくとも1つは、球形または非球形の素子であってもよい。構成されたレンズを形成するレンズ素子すなわち正メニスカスレンズ1210、両凸レンズ1212は、光学セメントによって接合されていても、空気によって分離されていてもよい。このレンズ構成は可能な構成の一つである。表1、表2、表3を参照して以下に説明する設計ルールを満たす他の構成が、レンズシステム1200の代わりに用いられてもよい。
撮像装置2500は、ハウジング1222と、カラーフィルタアレイ2300と、CMOSセンサであってもよいAPSイメージセンサ(以下、イメージセンサ)1226とを含む。カラーフィルタアレイ2300とイメージセンサ1226の相対的な大きさは、撮像装置2500の説明を助けるために誇張されている。イメージセンサ1226は、シーンからの画像がカラーフィルタアレイ2300を介してイメージセンサ1226の上面に集束されるように、ハウジング1222内のレンズシステム1200に対する相対的な位置に配置される。イメージセンサ1226によってキャプチャされたピクセルデータは、処理回路2400に提供され、処理回路2400は、イメージセンサ1226の動作を制御することもできる。
自動車用途では、青色のスペクトル範囲の画像データは、赤色から緑色のスペクトル範囲の画像データよりも重要度が低い場合がある。レンズの開口数を増やすことなくイメージャの量子効率を向上させる1つの方法は、青のスペクトル範囲よりも赤から緑のスペクトル範囲でより鮮明な画像を生成するように構成されたレンズを設計し、そのレンズに適合したカラーフィルタを提供することである。ただし、このようにレンズを設計することでイメージャの量子効率を向上させる手法は、必ずしも採用する必要はない。青色のスペクトル範囲の画像データの重要度が、赤色から緑色のスペクトル範囲の画像データの重要度よりも低くしない場合には、カットフィルタ1216は、青のスペクトル範囲の光を減衰させないように構成されていてもよい。
図21に示すレンズシステム1200のような例示的なレンズシステムは、図22に示す表1、図23に示す表2、図24に示す表3に表された設計ルールに従って設計することができる。表1は、レンズ設計のための波長の重み付けを示す。表2は、表1に示す波長の重み付けを有するレンズ設計のためのポリクロマティックMTFを示し、表3は、410nmと395nmとの間の範囲であり得るカットオフ波長未満の波長を有するUV光を減衰させ、690nmと705nmとの間の範囲であり得るカットオフ波長よりも大きい波長を有するIR光を減衰させるように構成されたカットフィルタ1216のパラメータを示す。上述したように、いくつかの実施形態では、カットフィルタ1216は、約500nm未満の波長を有する光を減衰させて、青から紫のスペクトル範囲の光だけでなく、UVスペクトル範囲の光も減衰させるように構成されてもよい。
この設計ルールでは、60度の視野の中で、赤から緑のスペクトル領域の光の焦点が強調されるようなレンズシステムを規定している。また、表1の重み付け設計ルールでは、黄色の波長を、赤や青の波長よりも重視している。このように、表1~3に示す視野設計ルールは、レンズシステムの視野全体において、少なくとも赤から緑のスペクトル範囲の光に対して比較的高いMTFを規定している。このようなレンズシステムは、撮像装置2500の処理回路2400によって使用され、撮像装置2500の視野全体で関心のあるアイテムを識別することができる。
図25は、ピクセルアレイ2105、このピクセルアレイ2105に結合された読み出し回路2170、及びピクセルアレイ2105に結合された制御回路2120を含む画像センサ2100の実施形態を示す。ピクセルアレイ2105は、Xピクセル列及びYピクセル行を有する個々の画像センサ又はピクセル(例えば、ピクセルP1、P2、・・・Pn)の二次元(2D)アレイである。ピクセルアレイ2105は、図26に示す前側照明の画像センサとして、又は図27に示す後側照明の画像センサとして具現化される。図示されたように、アレイの各ピクセルPは、個人、場所又は物体の画像データを取得するために行(例えば、行R1ないしRy)及び列(例えば、列C1ないしCx)に配列され、その画像データを使用して、個人、場所又は物体の2D画像をレンダリングする。ピクセルアレイ2105は、以下に更に述べるように、ピクセルアレイ2105に結合されたカラーフィルタアレイ2300を使用して各ピクセルPにカラーを指定する。1ピクセルは、点の集合により構成されるカラー画像の1つの点を意味する。後述する単位カラーフィルタは、1ピクセルに対応したカラーフィルタを意味する。
ピクセルアレイ2105の各ピクセルがその画像データ又は画像電荷を取得した後に、その画像データは、読み出し回路2170により読み出され、そして記憶、追加処理、等のために処理回路2400へ転送される。読み出し回路2170は、増幅回路、アナログ/デジタル変換(ADC)変換回路、又は他の回路を含む。読み出し回路2170には処理回路2400が結合されている。処理回路2400は、機能ロジックを実行する部分である。処理回路2400は、画像データを記憶し、及び/又は後画像作用を適用することにより画像データを操作する(例えば、クロップ、回転、赤目除去、輝度調整、コントラスト調整、等)。又、処理回路2400は、ある実施形態において、画像データを処理して固定パターンノイズを修正(即ち、減少又は除去)するのにも使用される。制御回路2120は、ピクセルアレイ2105の動作特性を制御するためにピクセルアレイ2105に結合される。例えば、制御回路2120は、画像取得を制御するためのシャッタ信号を発生する。
図26は、CMOS画像センサにおける一対の前側照明ピクセル(以下、FSIピクセル)2200の実施形態の断面図である。FSIピクセル2200の前側とは、光感知領域となる光電変換素子2204及び関連ピクセル回路が配置され、その上に、信号を再分配する金属スタック2206が形成される基板2202の側である。金属スタック2206は、金属層M1及びM2を含み、これらの層は、光学的通路を形成するようにパターン化され、この通路を通して、FSIピクセル2200に入射する光が光電変換素子2204に到達する。カラー画像センサを実施するために、前側は、カラーフィルタアレイ2300を含む。カラーフィルタアレイ2300が備える原色系単位カラーフィルタ2303(この特定の断面図には2つの原色系単位カラーフィルタ2303しか示されていない)は、入射光を光電変換素子2204に収束する上で役立つマイクロレンズ2207の下に配置される。カラーフィルタアレイ2300は、以下に述べる最小反復単位2302を備えている。
図27は、CMOS画像センサにおける一対の後側照明ピクセル(以下、BSIピクセル)2250の実施形態の断面図である。FSIピクセル2200と同様に、BSIピクセル2250の前側とは、光電変換素子2204及び関連ピクセル回路が配置され、その上に、信号を再分配する金属スタック2206が形成される基板2202の側である。カラー画像センサを具現化するために、その後側は、カラーフィルタアレイ2300を含む。カラーフィルタアレイ2300が備える原色系単位カラーフィルタ2303(この特定の断面図には2つの原色系単位カラーフィルタ2303しか示されていない)は、マイクロレンズ2207の下に配置される。カラーフィルタアレイ2300は、以下に述べる最小反復単位のいずれかで形成されるカラーフィルタアレイである。マイクロレンズ2207は、入射光を光電変換素子2204に収束する上で役立つ。BSIピクセル2250の後側照明は、金属スタック2206の金属相互接続線が、像形成される物体と光電変換素子2204との間の経路を妨げることがなく、その結果、光電変換素子2204により大きな信号が発生されることを意味する。
図28は、カラーフィルタアレイ2300と、カラーフィルタアレイ2300を形成するようにタイル化される1組の最小反復単位2302とを示す。カラーフィルタアレイ2300は、そのカラーフィルタアレイ2300が結合されているか又は結合されるであろうピクセルアレイ2105における個々のピクセルPの数に実質的に対応する数の個々の原色系単位カラーフィルタ2303を含む。個々の原色系単位カラーフィルタ2303は、ピクセルアレイ2105内の対応する個々のピクセルPに光学的に結合され、そして1組のスペクトル光応答から選択された特定のスペクトル光応答を有する。特定のスペクトル光応答は、電磁スペクトルのある部分に対しては高い感度を有するが、スペクトルの他の部分に対しては低い感度を有する。ピクセルPそれ自体は、カラーではないが、ピクセルP上に原色系単位カラーフィルタ2303を配置することによりカラーフィルタアレイ2300が各ピクセルPに個別の光応答を指定するので、ピクセルPをその特定の光応答のピクセルPと称するのが一般的である。従って、ピクセルPは、青フィルタに結合される場合には「青ピクセル」と称され、緑フィルタに結合される場合には「緑ピクセル」と称され、又は赤フィルタに結合される場合には「赤ピクセル」と称される。
カラーフィルタアレイ2300の個々の原色系単位カラーフィルタ2303は、最小反復単位2302へグループ化される。原色系単位カラーフィルタ2303は、1つの光電変換素子2204に対応して配置されているカラーフィルタを意味する。最小反復単位2302は、矢印で示すように垂直及び水平にタイル化されて、カラーフィルタアレイ2300を形成する。最小反復単位2302とは、それより少ない個々のフィルタをもつ他の反復単位がないような反復単位である。カラーフィルタアレイ2300は、多数の異なる反復単位を含むことができるが、反復単位は、より少ない個々のフィルタを伴うアレイに別の反復単位がある場合には最小反復単位ではない。カラーフィルタアレイ2300の他の実施形態において、最小反復単位は、本実施形態の最小反復単位2302に対して示されたものより多いか又は少ない数でもよい。
図29は、最小反復単位2302のカラーフィルタ構成を示す。図29に示す最小反復単位2302は、互いに独立した4つの原色系単位カラーフィルタ2303を備える。詳しくは、最小反復単位2302は、1つの赤色系単位カラーフィルタ2303Rと、1つの青色系単位カラーフィルタ2303Bと、2つの緑色系単位カラーフィルタ2303Gとを備えている。
各原色系単位カラーフィルタ2303の形状は正方形であり、4つの原色系単位カラーフィルタ2303が2行2列に配置されている。したがって、最小反復単位2302は正方形になっている。ただし、原色系単位カラーフィルタ2303の形状、および、最小反復単位2302の形状は、必ずしも正方形である必要はない。
図29に示す最小反復単位2302は、ベイヤ配列で赤色系単位カラーフィルタ2303R、緑色系単位カラーフィルタ2303G、青色系単位カラーフィルタ2303Bが配列されている。
赤色系単位カラーフィルタ2303Rの色は、3原色の1つである赤色を透過させる。加えて、赤色系単位カラーフィルタ2303Rは、対応する原色である赤色とは別の原色も、赤色ほどではないが透過させるようになっている。
図30は、赤色系単位カラーフィルタ2303Rの透過率と波長との関係を概念的に示す図である。図30において、実線が赤色系単位カラーフィルタ2303Rの透過率を示す。破線は、比較のために示している一般的な赤色フィルタの透過率である。赤色は、定義にもよるが、650nm付近である。赤色系単位カラーフィルタ2303Rは、赤色の透過率が約100%であり、赤色を透過させる。100%は一例であり、赤色系単位カラーフィルタ2303Rは、赤色の透過率が他の原色の透過率よりも高ければよい。
緑色の波長は540nm付近であり、青色の波長は400nm付近である。比較のために破線で示している一般的な赤色フィルタは、他の原色は、ほとんど透過させない。これに対して、赤色系単位カラーフィルタ2303Rは、赤色以外の原色も、赤色ほどではないが透過させるようになっている。赤色系単位カラーフィルタ2303Rは、図30の例では他の原色の透過率が約30%である。30%は下限有効透過率以上の透過率の一例である。下限有効透過率は、画像センサ2100の感度を向上させるために有効となる透過率の下限値である。下限有効透過率は、画像センサ2100の要求仕様などにより適宜決定されてもよい。下限有効透過率は、少なくともノイズレベルとは区別できる透過率である。例えば下限有効透過率は、10%とされてもよい。例えば下限有効透過率は、15%とされてもよい。例えば下限有効透過率は、20%とされてもよい。例えば、下限有効透過率は、25%とされてもよい。
本実施形態の赤色系単位カラーフィルタ2303Rは、赤色以外の波長に着目すると、青色の波長付近および緑色の波長付近だけではなく、赤色以外の波長の透過率が略一様になっている。一般的な赤色フィルタであれば透過させない波長域における透過率が、略一様になっている。
図31には、緑色系単位カラーフィルタ2303Gの透過率と波長との関係を概念的に示している。図31において、実線が緑色系単位カラーフィルタ2303Gの透過率を示す。破線は、比較のために示している一般的な緑色フィルタの透過率である。緑色系単位カラーフィルタ2303Gは、緑色の透過率が約100%であり、緑色を透過させる。100%は一例であり、緑色系単位カラーフィルタ2303Gは、緑色の透過率が他の原色の透過率よりも高ければよい。
緑色系単位カラーフィルタ2303Gは、図31の例では他の原色の透過率を含め、緑色以外の色の透過率が約30%である。よって、緑色系単位カラーフィルタ2303Gも、他の原色の透過率が下限有効透過率よりも高い。
図32には、青色系単位カラーフィルタ2303Bの透過率と波長との関係を概念的に示している。図32において、実線が青色系単位カラーフィルタ2303Bの透過率を示す。破線は、比較のために示している一般的な青色フィルタの透過率である。青色系単位カラーフィルタ2303Bは、青色の透過率が約100%であり、青色を透過させる。100%は一例であり、青色系単位カラーフィルタ2303Bは、青色の透過率が他の原色の透過率よりも高ければよい。
青色系単位カラーフィルタ2303Bは、図32の例では他の原色の透過率を含め、青色以外の色の透過率が約30%である。よって、青色系単位カラーフィルタ2303Bも、他の原色の透過率が下限有効透過率よりも高い。また、赤色系単位カラーフィルタ2303R、緑色系単位カラーフィルタ2303G、青色系単位カラーフィルタ2303Bは、いずれも、対応する原色とは異なる色の透過率が、ほぼ等しくなっている。
赤色系単位カラーフィルタ2303R、青色系単位カラーフィルタ2303B、緑色系単位カラーフィルタ2303Gは、いずれも、可視領域全体の透過率を、下限有効透過率よりも高くしつつ、1つの原色の透過率を特に高くしたフィルタであると言える。画像センサ2100は、赤色系単位カラーフィルタ2303R、青色系単位カラーフィルタ2303B、緑色系単位カラーフィルタ2303Gを備える。これにより、画像センサ2100は、対応する原色とは別の原色を透過しないカラーフィルタを用いる場合に比較して、画像センサの感度が向上する。
加えて、対応する原色とは別の原色の透過率が有効透過率よりも高いフィルタとすることで感度を向上させる。よって、単位カラーフィルタとして、対応する他の原色を透過しない原色カラーフィルタ、および、それとは別に、クリアフィルタを備える構成に比較して、信号レベル差を少なくできる。
<第2実施形態>
次に、第2実施形態を説明する。この第2実施形態以下の説明において、それまでに使用した符号と同一番号の符号を有する要素は、特に言及する場合を除き、それ以前の実施形態における同一符号の要素と同一である。また、構成の一部のみを説明している場合、構成の他の部分については先に説明した実施形態を適用できる。
図33に示す最小反復単位3302は、第1実施形態で説明した最小反復単位2302に代えて採用できるものである。最小反復単位3302は、第1実施形態で説明したものと同じ特性を持つ赤色系単位カラーフィルタ2303R、緑色系単位カラーフィルタ2303G、青色系単位カラーフィルタ2303Bを備えている。ただし、第2実施形態では、これらの形状は長方形である。最小反復単位3302に、いずれも長方形状の赤色サブ原色フィルタ部3304R、緑色サブ原色フィルタ部3304G、青色サブ原色フィルタ部3304Bが含まれるようにするためである。原色系単位カラーフィルタ2303、サブ原色フィルタ部3304を上記形状とすることで、最小反復単位3302は、正方形になっている。なお、最小反復単位3302の形状は正方形に限られない。原色系単位カラーフィルタ2303、サブ原色フィルタ部3304の形状も一例であり、他の種々の形状に変更可能である。
サブ原色フィルタ部3304は、同じ色系統の原色系単位カラーフィルタ2303とセットになるフィルタである。サブ原色フィルタ部3304は、原色フィルタ部6304よりも小さい。したがって、サブ原色フィルタ部3304は、サブ原色フィルタ部3304と原色フィルタ部6304を合わせた面積の半分以下である。さらに、サブ原色フィルタ部3304は、原色フィルタ部6304の面積の半分以下である。
赤色サブ原色フィルタ部3304Rは、赤色系単位カラーフィルタ2303Rとセットになるフィルタである。緑色サブ原色フィルタ部3304Gは、緑色系単位カラーフィルタ2303Gとセットになる。青色サブ原色フィルタ部3304Bは青色系単位カラーフィルタ2303Bとセットになる。セットになる一組の原色系単位カラーフィルタ2303とサブ原色フィルタ部3304とにより、1つの単位カラーフィルタが構成される。
サブ原色フィルタ部3304は対応する原色とは別の原色の透過率が原色系単位カラーフィルタ2303よりも低い。サブ原色フィルタ部3304の波長と透過率との関係の一例は、図30、図31、図32に破線で示した一般的な原色フィルタと同じとすることができる。
各サブ原色フィルタ部3304は、セットになる原色系単位カラーフィルタ2303に隣接して配置されている。ただし、セットになるとは、色の系統が同じであることを意味している。サブ原色フィルタ部3304は、必ずしも、セットになる原色系単位カラーフィルタ2303に隣接して配置されている必要はない。
図34に、第2実施形態における撮像装置2500の構成の一部を示す。図34に示されるように、撮像装置2500は、原色系単位カラーフィルタ2303に対応した光電変換素子2204と、サブ原色フィルタ部3304に対応した光電変換素子2204を別々に備える。
読み出し回路2170は、原色系単位カラーフィルタ2303に対応した光電変換素子2204が出力した信号と、サブ原色フィルタ部3304に対応した光電変換素子2204が出力した信号を区別して処理回路2400に出力する。
原色系単位カラーフィルタ2303は、サブ原色フィルタ部3304に比べて光の透過率が高い。そのため、原色系単位カラーフィルタ2303に対応した光電変換素子2204は、サブ原色フィルタ部3304に対応した光電変換素子2204よりも感度が高い。以下、原色系単位カラーフィルタ2303に対応した光電変換素子2204を高感度画素2204H、サブ原色フィルタ部3304に対応した光電変換素子2204を低感度画素2204Lと記載することもある。
処理回路2400は、高感度画素2204Hが出力した信号と、低感度画素2204Lが出力した信号のうちの一方のみを用いてカラー画像の1ピクセル分の色を生成することができる。また、それら2種類の信号を両方とも用いてカラー画像の1ピクセル分の色を生成することもできる。
低感度画素2204Lは、高感度画素2204Hに比べて飽和しにくい画素であると言える。画像センサ2100は、高感度画素2204Hと低感度画素2204Lとを備えるので、高感度画素2204Hのみを備える場合に比較して、ダイナミックレンジを広くすることができる。
処理回路2400は、高感度画素2204Hが出力した信号を用いてカラー画像を生成する場合と、低感度画素2204Lが出力した信号を用いてカラー画像を生成する場合とで、補正係数を異ならせる。補正係数の一例は、ホワイトバランスの設定値、カラーマトリクスの設定値である。ホワイトバランスの設定値は、プリセットホワイトバランスと言うこともできる。補正係数の他の例は、輝度値を計算する場合の補正係数である。ホワイトバランスの設定値は、低感度画素2204Lが出力する信号を、高感度画素2204Hが出力する信号よりも大きく補正する値になる。カラーマトリクスの設定値は、高感度画素2204Hが出力する信号を、低感度画素2204Lが出力する信号よりも大きく補正する係数になる。輝度値を計算する補正係数は、低感度画素2204Lが出力する信号を高感度画素2204Hが出力する信号よりも大きく補正する係数になる。補正係数を、ユーザが調整可能になっている場合、補正係数をユーザが任意に調整するのであるから、低感度画素2204Lと高感度画素2204Hとで補正係数を別々に調整できるようになっていればよい。
<第3実施形態>
図35に、第3実施形態におけるカラーフィルタアレイ4300の最小反復単位4302を示す。最小反復単位4302の大きさは、第1実施形態の最小反復単位2302と同じとすることができる。最小反復単位4302は、4つの原色系単位カラーフィルタ4303が2行2列に配置された形状である。カラーフィルタアレイ4300以外の構成は第1実施形態と同じであるので、各原色系単位カラーフィルタ4303に対応して1つの光電変換素子2204が配置されている。
原色系単位カラーフィルタ4303は、詳しくは、赤色系単位カラーフィルタ4303R、緑色系単位カラーフィルタ4303G、青色系単位カラーフィルタ4303Bである。最小反復単位4302は、1つの赤色系単位カラーフィルタ4303Rと、2つの緑色系単位カラーフィルタ4303Gと、1つの青色系単位カラーフィルタ4303Bが、ベイヤ配列になっている構成である。
各原色系単位カラーフィルタ4303は、原色フィルタ部4304とクリアフィルタ部4305とを備えている。本実施形態では、正方形である原色系単位カラーフィルタ4303を、長方形状に2等分した一方が原色フィルタ部4304、他方がクリアフィルタ部4305となっている。
赤色系単位カラーフィルタ4303Rは、原色フィルタ部4304として赤色フィルタ部4304Rを備える。緑色系単位カラーフィルタ4303Gは、原色フィルタ部4304として緑色フィルタ部4304Gを備える。青色系単位カラーフィルタ4303Bは、原色フィルタ部4304として青色フィルタ部4304Bを備える。赤色フィルタ部4304Rの特性は、赤色サブ原色フィルタ部3304Rと同じである。緑色フィルタ部4304Gの特性は、緑色サブ原色フィルタ部3304Gと同じである。青色フィルタ部4304Bの特性は、青色サブ原色フィルタ部3304Bと同じである。
クリアフィルタ部4305は、無色透明のフィルタである。無色透明であることから、原色フィルタ部4304よりも高感度なフィルタである。原色フィルタ部4304よりも高感度なフィルタとは、同じ光電変換素子2204でも感度を高くできるフィルタ、あるいは、原色フィルタ部4304よりも光の透過率が高いフィルタである。
第3実施形態では、最小反復単位4302は、4つの原色系単位カラーフィルタ4303を備えている。原色系単位カラーフィルタ4303は、原色フィルタ部4304とクリアフィルタ部4305とを備えている。よって、原色系単位カラーフィルタ4303の全部が原色フィルタ部4304であるよりも感度が向上する。加えて、クリアフィルタ部4305を備えることで感度を向上させることから、単位カラーフィルタとして原色フィルタとは別にクリアフィルタを備える場合に比較して、ピクセルP間の信号レベル差を少なくできる。
<第4実施形態>
図36では、最小反復単位5302を構成する各原色系単位カラーフィルタ5303が、4つの小さな正方形に分割されている。4つの小さな正方形のうち、互いに縦横にずれている一対の正方形がサブ原色フィルタ部5304sであり、4つの小さな正方形のうち、残りの2つがサブクリアフィルタ部5305sである。クリアフィルタ部5305は、1つの原色系単位カラーフィルタ5303において2つ(すなわち複数)のサブクリアフィルタ部5305sに分割されていることになる。サブクリアフィルタ部5305sはサブ高感度フィルタ部の一例である。
図36では、原色フィルタ部5304が複数のサブ原色フィルタ部5304sに分かれている。各原色系単位カラーフィルタ5303が、図36のようになっていても、各原色系単位カラーフィルタ5303において、原色フィルタ部5304とクリアフィルタ部5305の割合は、図35に示したものと同じである。したがって、図35に示したものと同様に、原色系単位カラーフィルタ5303の全部が原色フィルタ部5304であるよりも感度が向上し、かつ、単位カラーフィルタとして原色フィルタとは別にクリアフィルタを備える場合に比較して、ピクセルP間の信号レベル差を少なくできる。
<第5実施形態>
図37に示す最小反復単位6302は、第3実施形態で説明したものと同じ特性を持つ原色系単位カラーフィルタ6303を備えている。詳しくは、最小反復単位6302は、第3実施形態で説明したものと同じ特性を持つ赤色フィルタ部6303R、緑色系単位カラーフィルタ6303G、青色系単位カラーフィルタ6303Bを備えている。ただし、第5実施形態では、これらの形状は長方形である。最小反復単位6302に、サブ原色フィルタ部3304と同一形状の赤色サブ原色フィルタ部6306R、緑色サブ原色フィルタ部6306G、青色サブ原色フィルタ部6306Bが含まれるようにするためである。なお、原色系単位カラーフィルタ6303、サブ原色フィルタ部6306の形状は一例であり、他の種々の形状に変更可能である。
各原色系単位カラーフィルタ6303は、原色フィルタ部6304とクリアフィルタ部6305を備える。赤色フィルタ部6303Rは、原色フィルタ部6304として赤色フィルタ部6304Rと赤色サブ原色フィルタ部6306Rを備える。緑色系単位カラーフィルタ6303Gは、原色フィルタ部6304として緑色フィルタ部6304Gと緑色サブ原色フィルタ部6306Gを備える。青色系単位カラーフィルタ6303Bは、原色フィルタ部6304として青色フィルタ部6304Bと青色サブ原色フィルタ部6306Bとを備える。
赤色フィルタ部6304R、赤色サブ原色フィルタ部6306Rの特性は、赤色サブ原色フィルタ部3304Rと同じである。緑色フィルタ部6304G、緑色サブ原色フィルタ部6306Gの特性は、緑色サブ原色フィルタ部3304Gと同じである。青色フィルタ部6304B、青色サブ原色フィルタ部6306Bの特性は、青色サブ原色フィルタ部3304Bと同じである。
図38に、第5実施形態における撮像装置6500の構成の一部を示す。図38に示されるように、撮像装置6500は、原色系単位カラーフィルタ6303に対応した光電変換素子2204と、サブ原色フィルタ部6306に対応した光電変換素子2204を別々に備える。
読み出し回路2170は、原色系単位カラーフィルタ6303に対応した光電変換素子2204が出力した信号と、サブ原色フィルタ部6306に対応した光電変換素子2204が出力した信号を区別して処理回路6400に出力する。
原色系単位カラーフィルタ6303は、サブ原色フィルタ部6306に比べて光の透過率が高い。原色系単位カラーフィルタ6303に対応した光電変換素子2204は高感度画素2204H、サブ原色フィルタ部3304に対応した光電変換素子2204は低感度画素2204Lである。
処理回路6400は、処理回路2400と同様、高感度画素2204Hと低感度画素2204Lとを、一方または両方用いてカラー画像を生成することができる。処理回路6400は、高感度画素2204Hが出力した信号に対する補正係数と、低感度画素2204Lが出力した信号に対する補正係数に、異なる補正係数を用いる。
補正係数には、ホワイトバランスの設定値、カラーマトリクスの設定値、輝度値を計算する場合の補正係数の1つ以上が含まれる。高感度画素2204Hに対する補正係数と低感度画素2204Lに対する補正係数の大小関係は、第2実施形態で説明した高感度画素2204Hに対する補正係数と低感度画素2204Lに対する補正係数の大小関係と同じである。
<第6実施形態>
図39に、第6実施形態における撮像装置6500の構成の一部を示す。第6実施形態の画像センサ2100は、図36に示したカラーフィルタアレイ5300を備える。したがって、1つのピクセルPは、2つのサブ原色フィルタ部5304sと、2つのサブクリアフィルタ部5305sとを備える。
第6実施形態における画像センサ2100は、2つのサブクリアフィルタ部5305sにそれぞれ対応した2つの光電変換素子2204を備える。また、2つのサブ原色フィルタ部5304sに対応した2つの光電変換素子2204も備える。
処理回路7400は、読み出し回路2170を制御することで、各光電変換素子2204が出力する信号を別々に取得できる。処理回路7400は、カラー画像を生成するために画像処理方法を実行する。この画像処理方法において、処理回路7400は、2つのサブクリアフィルタ部5305sに対応した2つの光電変換素子2204のうち、1つのピクセルPについての色を生成するために用いる光電変換素子2204の数を、撮像装置7500の周囲の明るさに応じて調整する。
サブクリアフィルタ部5305sが2つあるので、1つのピクセルPについて見ると、サブクリアフィルタ部5305sに対応した光電変換素子2204の数は、0、1、2の3通りが可能である。撮像装置7500の周囲の明るさを区分する閾値が、予め1つあるいは2つ用意されることで、撮像装置7500の周囲の明るさを2つ、あるいは、3つに区分することができる。
処理回路7400は、撮像装置7500の周囲の明るさが暗いほど、1つのピクセルPについての色を生成するために用いる、サブクリアフィルタ部5305sに対応した光電変換素子2204の数を多くする。なお、処理回路7400は、撮像装置7500の周囲に設置された照度センサ7600の検出信号をもとに、撮像装置7500の周囲の明るさを検出する。処理回路7400は、照度センサ7600から検出信号を取得するようになっていてもよい。また、処理回路7400は、他の処理装置が照度センサ7600からの検出信号をもとに決定した明るさを示す値を取得するようになっていてもよい。
さらに、処理回路7400は、光電変換素子2204が出力する信号を補正する補正係数を、1つのピクセルPについての色を生成するために用いる光電変換素子2204の数に応じて変更する。補正係数には、ホワイトバランスの設定値、カラーマトリクスの設定値、輝度値に対する補正係数の1種類以上が含まれる。
処理回路7400は、サブクリアフィルタ部5305sに対応した光電変換素子2204の数を多くするほど、補正係数を、補正前の色が薄くなることに対応した値にする。具体的には以下に例示する通りである。
ホワイトバランスの設定値は、サブクリアフィルタ部5305sに対応した光電変換素子2204の数を多くするほど、補正量が少なくなる設定値にする。カラーマトリクスの設定値は、サブクリアフィルタ部5305sに対応した光電変換素子2204の数を多くするほど、大きく補正する設定値にする。サブクリアフィルタ部5305sに対応した光電変換素子2204の数を多くするほど、補正前の色は薄くなるからである。輝度値を補正する補正係数は、サブクリアフィルタ部5305sに対応した光電変換素子2204の数を多くするほど、補正量を少なくする値にする。サブクリアフィルタ部5305sに対応した光電変換素子2204の数を多くするほど、補正前の信号の輝度が高いからである。撮像装置7500の周囲の明るさに応じた補正係数は、事前に、実際の測定に基づいて設定する。ホワイトバランスの設定値は、周囲が十分に明るい場所において、白被写体が白になるように補正係数を設定する。過補正を防止するためである。周囲が十分に明るい場所の一例は、車両200のヘッドライトにより照明される明るさである。
この第6実施形態の撮像装置7500は、複数のサブクリアフィルタ部5305sにそれぞれ対応した複数の低感度画素2204Lのうち、1つのピクセルPについての色を生成するために用いる低感度画素2204Lの数を、撮像装置7500の周囲の明るさに応じて調整する。このようにすることで、撮像装置7500の周囲の明るさが変化しても、各ピクセルPに対応する光電変換素子2204が出力する信号の信号レベル差を少なくできる。
以上、実施形態を説明したが、開示した技術は上述の実施形態に限定されるものではなく、次の変形例も開示した範囲に含まれ、さらに、下記以外にも要旨を逸脱しない範囲内で種々変更して実施できる。
<変形例1>
実施形態では、最小反復単位2302、3302、4302、6302は、いずれも、原色系単位カラーフィルタ2303、4303、5303、6303がベイヤ配列に配列されていた。しかし、最小反復単位における原色系単位カラーフィルタ2303、4303、5303、6303は、ベイヤ配列に限られない。斜めベイヤ配列、クアッドベイヤ配列など、種々の配列を採用できる。
<変形例2>
最小反復単位には、少なくとも1つの原色系単位カラーフィルタ2303、4303、5303、6303が含まれていればよい。最小反復単位には、原色系単位カラーフィルタ2303、4303、5303、6303以外の単位カラーフィルタが含まれていてもよい。原色系単位カラーフィルタ以外の単位カラーフィルタとして、無色透明の単位カラーフィルタであるクリア単位フィルタ、黄色を透過させる単位カラーフィルタであるイエロー単位カラーフィルタを例示できる。さらに、単位カラーフィルタとして、補色系単位カラーフィルタを用いてもよい。補色の一例は、シアン、マゼンダである。
ここで、赤色系単位カラーフィルタをR、緑色系単位カラーフィルタをG、青色系単位カラーフィルタをB、クリア単位カラーフィルタをC、イエロー単位カラーフィルタをYe、シアン単位カラーフィルタをCyとする。最小反復単位としては、次の態様を例示できる。すなわち、最小反復単位としては、RGCB、RYeYeB、RYeYeCy、RYeYeG、RYeYeC、RYeYeYe、RCCB、RCCCy、RCCG、RCCC、RCCYeを例示できる。
<変形例3>
実施形態では、高感度フィルタ部として、無色透明のフィルタであるクリアフィルタ部4305、5305、6305を開示した。しかし、高感度フィルタ部に使うフィルタは、無色透明でなくても、原色フィルタ部4304、5304、6304よりも高感度であれば、無色透明である必要はない。たとえば、高感度フィルタ部に黄色フィルタを使うこともできる。
<変形例4>
第5実施形態において、最小反復単位6302に代えて、最小反復単位5302を用いてもよい。この場合、低感度画素2204Lは、2つのサブ原色フィルタ部5304sのうちの一方を透過した光を受光する位置に配置する。高感度画素2204Hは、原色系単位カラーフィルタ5303のうちの残りの部分を透過した光を受光する位置に配置する。なお、原色系単位カラーフィルタ5303のうちの残りの部分の形状を考慮して、複数の高感度画素2204Hを備えるようにしてもよい。
<変形例5>
実施形態の撮像装置2500、6500、7500は、車両200にナビゲーション応答を生じさせるために用いられていた。しかし、撮像装置2500、6500、7500を他の用途に用いてもよい。他の用途の一例は、ドライブレコーダである。撮像装置2500、6500、7500は、複数の用途に用いてもよい。たとえば、撮像装置2500、6500、7500を、車両200にナビゲーション応答を生じさせるため、および、ドライブレコーダとして用いてもよい。
<変形例6>
本開示に記載の処理ユニット110、制御回路2120、処理回路2400、6400、7400およびその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサを構成する専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の処理ユニット110、処理回路2400、6400、7400およびその手法は、専用ハードウエア論理回路により、実現されてもよい。もしくは、本開示に記載の処理ユニット110、処理回路2400、6400、7400およびその手法は、コンピュータプログラムを実行するプロセッサと一つ以上のハードウエア論理回路との組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。ハードウエア論理回路は、たとえば、ASIC、FPGAである。
また、コンピュータプログラムを記憶する記憶媒体はROMに限られず、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていればよい。たとえば、フラッシュメモリに上記プログラムが記憶されていてもよい。