(58)【調査した分野】(Int.Cl.,DB名)
前記第1の一次ベースラインまたは前記第2の一次ベースラインと、前記第1の二次ベースラインまたは前記第2の二次ベースラインとは、直交している、請求項2に記載の射影空間監視装置。
【発明を実施するための形態】
【0012】
図1は、射影空間監視装置10の例示的な実施形態を示し、射影空間監視装置10は、例えば、1つまたは複数個の危険機械装置(図示せず)を含有する3次元空間領域を備える一次監視領域12の画像ベース監視を提供する。射影空間監視装置10(以後、「装置10」と称する)は、画像ベース監視システムを作動させ、人または他の物体が一次監視領域12内に侵入することを防ぐ。
【0013】
領域12の限界範囲は、以下でより詳細に説明するが、関連したセンサ視野域14との共通の重複部分によって規定されることに留意されたい。概して、装置10は、画像処理および立体視技術を使用して、人または物体が防護対象の3次元(3D)領域内に侵入したことを検知するよう構成される。なお、防護対象の3次元(3D)領域は、防護対象の「エリア」と称する場合もある。典型的な用途は、これらに限定されるものではないが、エリア監視、および周辺防護である。エリア監視の例では、頻繁にアクセスされるエリアは、ライトカーテンもしくは他の機構によって防護される入口点を有する堅固な防護物によって部分的に囲まれ、装置10は、二次防護システムの役目を果たす。同様に、周辺防護の例では、装置10は、頻繁にアクセスされない非防護対象のエリアを監視する。
【0014】
当然、装置10は、両方の役割を同時に満たすか、または状況の変化に応じてモードを切り替えることが可能である。また、装置10は、関連した機械装置もしくはそれらの電源システムへの信号接続を備え得、および/または工場制御ネットワークなどに接続し得ることが理解されるであろう。
【0015】
意図した用途を広範囲に補完するために、装置10は、図示の例示的な実施形態において、1つまたは複数のセンサユニット16を備える。各センサユニット16はまた、「センサヘッド」と称され、複数の画像センサ18を備える。画像センサ18は、センサユニット16の本体またはハウジング内に固定され、それにより、視野域(FOV)14全体が、通常、重複し、一次監視領域12を3D区域として規定する。当然、以下で説明するように、1つまたは複数の実施形態における装置10により、利用者は、一次監視領域12内に複数の監視領域もしくは3D境界範囲を設定することができ、例えば、一次監視領域12内の3D範囲に基づいて危険領域ならびに/もしくは警告領域を設定することができる。
【0016】
センサユニット16のそれぞれは、制御ユニット20に、ケーブルまたは他のリンク22を介して接続される。一実施形態において、リンク22は、「PoE」(Power−over−Ethernet(登録商標))リンクであり、電力をセンサユニット16に供給し、センサユニット16と制御ユニット20との間の通信または他の信号伝達をもたらす。センサユニット16および制御ユニット20は協働し、領域12内の(または、領域12のいくつかの構築された小領域内の)物体を検知する。少なくとも1つの実施形態において、各センサユニット16は、他のセンサユニット16から独立して監視機能を実行し、安全なEthernet(登録商標)接続、もしくは他のリンク22を通じて、監視状態を制御ユニット20に通信する。次に、制御ユニット20は、各接続されたセンサユニット16からの監視状態を処理し、この情報を使用して、構成可能で安全な入力および出力に従って、機械装置を制御する。
【0017】
例えば、図示の実施形態では、制御ユニット20は、例えば、1つまたは複数のマイクロプロセッサ、DSP、ASIC、FPGA、もしくは他のデジタル処理回路である制御回路24を備える。少なくとも1つの実施形態において、制御回路24は、制御回路24内のデジタルプロセッサによって実行されるコンピュータプログラムを格納するメモリまたは別のコンピュータ可読媒体を備え、少なくとも部分的に、本明細書の教示に従って、制御ユニット20を構成する。
【0018】
さらに、制御ユニット20は、何らかの入力/出力(I/O)回路を備え、入力/出力(I/O)回路は、モジュール方式で、例えば、モジュール式I/Oユニット26で配置してもよい。I/Oユニット26は、回路状に備えてもよく、または、所与のI/Oユニット26は、所与の種類のインターフェース信号を対象とし、例えば、ネットワーク通信用、ある種の制御信号伝達用などとしてもよい。機械防護用途のため、少なくとも1つのI/Oユニット26は、機械安全制御のために構成され、I/O回路28を備え、I/O回路28は、安全リレー出力(OSSD A、OSSD B)を提供して、センサユニット16によって検知された物体侵入に応答して危険機械を無効にするか、そうでなければ停止する。同じ回路はまた、モード制御信号および起動信号(START、AUXなど)を提供可能である。さらに、制御ユニット自体は、通信、状態信号伝達などに対して、「グローバル」I/Oの範囲を提供可能である。
【0019】
物体検知機能の点から、装置10は、主として、立体視技術により、その(共通の)視野域に存在する物体の3D位置を発見する。この目的を達成するために、
図2は、4つの画像センサ18を備える例示的なセンサユニット16を示し、本明細書では、明瞭にするために、画像センサ18−1、18−2、18−3、18−4と個々に番号を付ける。センサユニット16内の個々の画像センサ18の視野域14は、すべて部分的に重複しており、すべての視野域14によって共通に重複される領域は、先に生じた一次監視領域12を規定する。
【0020】
本体もしくはハウジング30は、複数の「ベースライン」を規定する相隔たる配置で個々の画像センサ18を固定する。ここで、「ベースライン」という用語は、画像ペアを取得するために使用される画像センサ18のペアリング間の間隔を定義する。図示の構成において、2つの「長い」ベースラインと2つの「短い」ベースラインとが見られるが、本明細書では、「長い」および「短い」という用語は、相対的な意味で使用される。長いベースラインは、画像センサ18の第1のペアの間の間隔によって規定される第1の一次ベースライン32−1を備え、ここで、第1のペアは、画像センサ18−1、18−2を備え、長いベースラインは、さらに、画像センサ18の第2のペアの間の間隔によって規定される第2の一次ベースライン32−2を備え、ここで、第2のペアは、画像センサ18−3、18−4を備える。
【0021】
同様に、短いベースラインは、画像センサ18の第3のペアの間の間隔によって規定される第1の二次ベースライン34−1を備え、ここで、第3のペアは、画像センサ18−1、18−3を備え、短いベースラインは、さらに、画像センサ18の第4のペアの間の間隔によって規定される第2の二次ベースライン34−2を備え、ここで、第4のペアは、画像センサ18−2、18−4を備える。この点に関して、同じ組の4つの画像センサ18の組合せを変えることで、異なるペアリングの画像センサ18として動作し、それらのペアリングを、関連するベースラインおよび/またはそれらの使用方法によって変えてもよいことが理解されるであろう。
【0022】
第1および第2の一次ベースライン32−1、32−2は、同等でも、または、異なる長さでもよい。同様に、第1および第2の二次ベースライン34−1、34−2は、同等でも、または、異なる長さでもよい。限定するものではないが、例示では、最も短い一次ベースライン32は、最も長い二次ベースライン34の二倍以上の長さである。汎用性に関する他の点として、他の幾何学的配置を使用して、一次および二次ベースラインペアとして動作させるために、4つの画像センサ18の分布を得ることができる。
図3Aから
図3Cを参照して、所与のセンサユニット16における画像センサ18の例示的な幾何学的配置を示す。
【0023】
一次および二次ベースラインペアを確立するために必要とされる物理的構成とは別に、センサユニット16は、ベースラインペアリング定義に従い画像センサ18を論理的に動作させるようそれ自身が構成され、その結果、それら定義に従い画像ペアを処理することを理解すべきである。この点に関して、再び
図2に示す例を参照すると、センサユニット16は、1つまたは複数の画像処理回路36を備え、画像処理回路36は、画像センサ18のそれぞれから画像データを取得し、その画像データを処理し、そのような処理、例えば、物体の侵入を検知したことを制御ユニット20に知らせることなどの結果に応答するよう構成される。
【0024】
さらに、センサユニット16は、制御ユニットインターフェース回路38、電力供給/制御回路40、および、任意選択的に、テクスチャ付き光源42を備える。ここで、テクスチャ付き光源42は、パターン化された光を一次監視領域12に投射する、またはより一般的には、搭載した画像センサ18の視野域14に投射する、センサユニット16に対する機構を提供する。
【0025】
「テクスチャ」という用語は、本明細書では、任意の所与の画像センサ18の視野域内における画像コントラストの局所変化を意味する。テクスチャ付き光源42は、各センサユニット16と一体化してもよく、またはセンサユニット16と別々に電力供給され、センサユニット16と近接して設置してもよい。いずれの場合でも、人工的なテクスチャのソースを装置10に組み込むことは、合成テクスチャを、任意の所与の画像センサ18の視野域14内の低テクスチャ領域に加えるという利点をもたらす。すなわち、3D測距をサポートするための十分な自然テクスチャの無い領域を、テクスチャ光源42によってもたらされる合成追加されたシーンテクスチャで照らし、センサ視野域14内を正確および完全に3D測距することができる。
【0026】
画像処理回路36は、例えば、1つまたは複数のマイクロプロセッサ、DSP、FPGA、ASIC、または他のデジタル処理回路を備える。少なくとも1つの実施形態において、画像処理回路36は、コンピュータプログラム命令を格納するメモリもしくは他のコンピュータ可読媒体を備え、それらのコンピュータプログラム命令を実行することで、センサユニット16を、画像処理および本明細書で開示した他の動作を実行するよう少なくとも部分的に設定する。当然、他の構成も考慮され、例えば、画像処理および3D解析のある部分はハードウェア(例えば、FPGA)で実行され、ある他の部分は、1つまたは複数のマイクロプロセッサで実行される。
【0027】
上記のベースライン構成を考慮に入れ、装置10は、一次監視領域12といずれも重複する各センサ視野域14を有し、第1および第2の画像センサ18−1、18−2が、第1の一次ベースライン32−1を規定する間隔を有する第1の一次ベースラインペアを形成し、第3および第4の画像センサ18−3、18−4が、第2の一次ベースライン32−2を規定する間隔を有する第2の一次ベースラインペアを形成するよう配置された、(少なくとも)4つの画像センサ18を備える少なくとも1つのセンシングユニット16を備えることを理解されよう。
【0028】
図示のように、さらに、画像センサ18は、第1および第3の画像センサ18−1、18−3が、第1の二次ベースライン34−1を規定する間隔を有する第1の二次ベースラインペアを形成し、第2および第4の画像センサ18−2、18−4が、第2の二次ベースライン34−2を規定する間隔を有する第2の二次ベースラインペアを形成するよう配置される。一次ベースライン32は、二次ベースライン34よりも長い。
【0029】
さらに、センサユニット16は、一次ベースラインペアから取得した画像データを使用して一次監視領域12内で物体を重複して検知するよう構成され、二次ベースラインペアから取得された画像データを使用して遮蔽物体を検知するようさらに構成された画像処理回路36を備える。すなわち、センサユニット16の画像処理回路36は、第1の一次ベースラインペアによって取得された画像データの立体視画像処理を介して導出されたレンジデータ内に、または、第2の一次ベースラインペアによって取得された画像データの立体視画像処理を介して導出されたレンジデータ内に、そのような物体が存在することを検知することによって、一次監視領域12内の物体を重複して検知するよう構成される。
【0030】
したがって、物体は、画像センサ18−1、18−2から取得した画像ペアを立体視処理して取得した(3D)レンジデータを識別すること、および/または画像センサ18−3、18−4から取得した画像ペアを立体視処理して取得した(3D)レンジデータを識別することで検知される。その際、第1および第2の画像センサ18−1、18−2は、第1の「立体視ペア」とみなされ、第1および第2の画像センサ18−1、18−2から取得した画像ペアに適用される画像補正および立体視処理は、第1の立体視「チャネル」とみなされ得る。
【0031】
同様に、第3および第4の画像センサ18−3、18−4は、第2の立体視ペアとみなされ、第3および第4の画像センサ18−3、18−4から取得した画像ペアに適用される画像処理および立体視処理は、第1の立体視チャネルから独立した第2の立体視チャネルとみなされ得る。したがって、2つの立体視チャネルは、一次監視領域12内で、物体を重複して検知する。
【0032】
ここで、一次監視領域12は、センサユニット16が一次ベースラインペアを使用して物体を検知するセンサユニット16からの最小範囲を意味する最小検知距離で境界付けられることに留意されたい。さらなる利点として、一次ベースラインペアを使用して重複して物体を検知することの信頼性および安全性に加え、二次ベースラインペアを使用して遮蔽物体を検知する。すなわち、第1の二次ベースラインペアとしての画像センサ18−1、18−3からの画像データの論理的ペアリングならびに処理、および第2の二次ベースラインペアとしての画像センサ18−2、18−4からの画像データの論理的ペアリングならびに処理を使用して、最小検知距離内に有る、および/または4つすべてのセンサ視野域14内に無い物体を検知する。
【0033】
概して、「遮蔽物体」は、一次監視領域12に対し、1つまたは複数のセンサ視野域14を遮断する。少なくとも1つの実施形態において、センサユニット16の画像処理回路36は、各二次ベースラインペアに対して、二次ベースラインペアにおける画像センサ18によって取得された画像データ間の輝度を検知することによって、または、二次ベースラインペアにおける画像センサ18によって取得された画像データの立体視画像処理から生成したレンジデータを評価することによって、遮蔽物体を検知するよう構成される。
【0034】
遮蔽物体の検知は、多くの潜在的に危険な状況に対応し、それらの状況には以下のものが含まれる。すなわち、ZLDCもしくはZSS内の小物体が立体視によって検知されず、一次監視領域12内の物体を遮蔽する可能性のある人為的な侵入と、光学面の汚損が立体視によって検知されず、一次監視領域12内で物体を遮蔽する可能性のあるスポット汚損と、強力な指向性ライトにより画像センサ18上に複数の内部反射をもたらす可能性があり、コントラストを低下させ、検知能力の低下をもたらす可能性のあるゴーストと、画像センサ18の光学面にわずかな異物が混入し、指向性ライトがグレアをもたらす可能性があり、コントラストを低下させ、検知能力の低下をもたらす可能性のあるグレアと、画像センサ18内の個々の画素の感度が変化することにより、検知能力の低下がもたらされる可能性のある感度変化がある。
【0035】
一時的に
図8を参照すると、一次ベースラインペア内の左側および右側の画像センサ18の間で接角が存在することで、図示のような最終構成を設ける。これらの接角は、遮蔽物体検知の基礎を提供し、例示的構成では、所与の二次ベースラインペアにおける1つの画像センサ18から取得した画像間での輝度の著しい差を探すことに基づき、その同じ二次ベースラインペアにおける他の画像センサ18から取得した対応する画像と比較することで、画像処理回路36はZLDC内で遮蔽物体検知を実行する。著しい輝度差により、近接する物体の存在を報知する。というのも、そのような小さなベースラインの場合、より遠隔の物体が引き起こすのは非常に小さな差異となるためである。
【0036】
基本的な画像輝度差は、画像の関連ペアにおける一方の画像(画像1)の各画素を解析し、何らかの閾値(th)内で、他方の画像(画像2)の輝度整合に対し所与の検索窓全体を検索することによって計算される。整合しない場合、その差異が検索窓のサイズより大きく、画素が「異なるもの」としてフラグ付けされるため、画素は一定の範囲よりも近いものに属することを意味する。したがって、画像差は、2値である。
【0037】
遮蔽物体による画像差は、二次ベースライン34−1または34−2の一方を使用して取得した画像ペア内で生じた差異に基づくため、物体がベースラインと整列し、危険領域を貫通する場合、結果として差異は発見されない。準水平線検知に基づくさらなる貫通物体検知アルゴリズムを使用して、基本的な画像差アルゴリズムよって確実には検知されない角度、例えば、+/−15度内の物体を検知する。
【0038】
さらに、遮蔽物体が大きい、および/または非常に近接している場合(例えば、画像センサ18の視野域14を完全に覆っている場合)、検知可能な水平線をもたらさない可能性さえある。
【0039】
しかしながら、この状態は、基準マーカーベースの緩和策を使用して検知される。というのも、1つまたは複数の実施形態における装置構成要件は、少なくとも1つの基準マーカが、セットアップ/検証段階中、一次監視領域12内で視認可能でなければならないことを必要とするためである。
【0040】
ZLDCを越えているが、一次監視領域12の外側にある物体の検知に関し、画像センサ18の接角は、一次監視領域12のいずれかの側のZSSを実質的に削除するように設定可能である。さらに、またはあるいは、画像処理回路36は、物体検知のための短距離立体視手法を使用し、二次ベースラインペアを使用して、視野域の非常に限定された部分にわたって、適切な画像境界でのみ物体を検知する。
【0041】
また、上記のように、いくつかの実施形態において、各センサユニット16内の画像センサ18は、高露出画像フレームおよび低露出画像フレームを含む画像フレームを取得するよう構成される。例えば、画像処理回路36は、個々の画像センサ18の露出時間を動的に制御するよう構成され、その結果、画像取得は、より長い露出時間およびより短い露出時間の使用の間で変化する。さらに、画像処理回路36は、少なくとも一次ベースラインペアによって取得される画像フレームに対して、対応する高露出画像フレームおよび低露出画像フレームを融合して、高ダイナミックレンジ(HDR)画像を取得し、各一次ベースラインペアから前記HDR画像のストリームを立体視処理するよう構成され、一次監視領域内の物体を重複検知する。
【0042】
例えば、画像センサ18−1は、低露出画像フレームおよび後続の高露出画像フレームを生成するよう制御され、これら2つのフレームは、第1のHDR画像を取得するために組み合わされる。通常は、2つ以上の異なる露出フレームを、HDR画像を生成するために組み合わせることができる。この処理は、連続する取得間隔にわたって繰り返され、その結果、第1のHDR画像のストリームをもたらす。同じ取得間隔の間、画像センサ18−2は、第2のHDR画像のストリームを生成するために組み合わされる低露出画像フレームおよび高露出画像フレームを生成するよう制御される。任意の所与の取得間隔からの第1および第2のHDR画像は、(場合によっては、立体視処理の前にさらなる前処理をした後)立体視処理される、対応するHDR画像ペアを形成する。他の立体視チャネルにおけるHDR画像ペアの同様のストリームは、第2の一次ベースラインペア(すなわち、画像センサ18−3、18−4)を介して取得される。
【0043】
追加の画像前処理も行ってよい。例えば、いくつかの実施形態において、各立体視チャネルからのHDR画像ペアは平行化されており、その結果、一次ベースラインペアに含まれる画像センサにおける対応する光軸が平行であり、エピポーラ線が、平行化画像における対応する画像行であるエピポーラ幾何に対応する。
【0044】
両立体視チャネルからのHDR画像ペアは、平行化され、次いで、画像処理回路36に含まれるステレオ画像処理プロセッサ回路によって処理される。ステレオ画像処理プロセッサ回路は、立体視対応付けアルゴリズムを実行して、各立体視チャネルにおける画像センサ18によって取得された平行化画像内の対応するシーンポイント間の差異を計算し、前記差異に基づき、画像センサ18の位置に対するシーンポイントの3D位置を計算するよう構成される。
【0045】
より詳細には、例示的なセンサユニット16は、2つの立体視チャネルにまとめられた4つの画像センサ18を備え、画像センサ18−1、18−2を備える第1の一次ベースラインペアによって示される一方のチャネルでは、第1の一次ベースライン32−1と称される第1の距離によって隔てられ、画像センサ18−3、18−4を備える第2の一次ベースラインペアによって示される他方のチャネルでは、第2の一次ベースライン32−2と称される第2の距離によって隔てられる。
【0046】
各画像センサ18からの複数の未処理画像は、画像センサ18の視野域14によって取り込まれるシーンの高ダイナミックレンジ画像を生成するよう共に構成される。立体視チャネルごとの高ダイナミックレンジ画像は、対応する光軸が並列であり、エピポーラ線が対応する画像行であるエピポーラ幾何に対応するように平行化される。平行化画像は、立体視対応付けアルゴリズムを実行して、対応するシーンポイント間の差異を計算し、それにより、センサユニット16の所与の位置に対するこれらのポイントの3D位置を計算する上述のステレオ画像処理プロセッサ回路によって処理される。
【0047】
その際、一次監視領域12は、画像センサ18の共通の視野域(FOV)によって限定される3D射影空間である。差異検索窓の最大サイズは、立体視対応付けによって計測可能な最短距離を限定し、したがって、一次監視領域12の最短許容範囲を限定する。この距離はまた、「検知能力の限界領域(Zone of Limited Detection Capability)」(ZLDC)と称される。同様に、一次監視領域12内に含まれる最大距離は、装置10に対するエラー耐性によって限定される。
【0048】
一次ベースラインペアからの画像は、一次監視領域12内の物体の表面上の3Dポイントに対応する、一次監視領域12に対する3Dポイントのクラウドを生成するよう処理される。さらに、この3Dポイントクラウドは、データ圧縮、クラスタリングおよびセグメンテーションアルゴリズムにより解析され、定義された最小サイズの物体が、一次監視領域12に入ったかどうかを判断する。当然、一次監視領域12は、装置10の処理論理の構成により、異なるレベルの警告、および、安全性が重要ではない警告領域ならびに安全性が重要な危険領域を含む異なる数ならびに種類の監視領域を備えてもよい。
【0049】
図1に示す例示的な分散アーキテクチャにおいて、制御ユニット20は、1つまたは複数のセンサユニット16からの命令信号を処理し、それに対応して、1つまたは複数の機械、例えば、一次監視領域12における危険機械を制御するか、またはセンサユニット16によって検知された侵入に関する他の信号伝達もしくは状態情報をもたらす。制御ユニット20もまた、センサユニット16に、制御ユニット20とセンサユニット16との間の通信リンク22を介して電力を供給するが、センサユニット16もまた、例えば、利用者がPoE接続を使用することを望まない場合に、別個の電力入力を有してもよい。さらに、図示しないが、「エンドスパン」ユニットを、制御ユニット20とセンサユニット16の所与の1つとの間に中継ぎとして接続し、センサユニット16、I/O拡張などの局所的電力供給のために提供することが可能である。
【0050】
エンドスパンユニットが装置に組み込まれようとそうでなかろうと、制御ユニット20のいくつかの実施形態は、「領域選択」をサポートするよう構成され、制御ユニット20の“ZONE SELECT”入力のセットに適用されるデータまたは信号パターンは、装置10の実行時間中に、センサユニット16によって監視される3D境界を動的に制御する。監視領域は、装置10に対する設定処理の間にセットアップされる。特定のセンサユニット16によって監視するよう設定されたすべての領域は、同時に監視され、制御ユニット20は、侵入状態を、センサユニット16から、制御ユニット20内の選択されたI/Oユニット26に関連づける。センサユニット16ならびにそれらの領域および制御ユニット20内の特定のI/Oユニット26との間のマッピングは、設定処理中に規定される。さらに、制御ユニット20は、制御ユニットを故障状態から回復するための完全システムリセットを可能にするグローバルRESET信号入力をもたらし得る。
【0051】
安全性に直結する監視用途でそれらを使用するために、1つまたは複数の実施形態におけるセンサユニット16は、ある種の設計安全性を組み込む。例えば、IEC61496−3によるType3安全デバイスに対する基本要件は、以下の項目を含む。(1)単一の故障により、その製品が安全ではない方法で故障する可能性はない。なお、そのような欠陥は、システムの特定の検知応答時間内に防がれる、もしくは検知される、かつ対応されなければならない。(2)故障が蓄積されることにより、その製品が安全ではない方法で故障する可能性はない。なお、安全性に直結する欠陥につながる故障の蓄積を防ぐために、バックグラウンド試験が必要である。
【0052】
一次監視領域12内の物体を検知するために使用される二重立体視チャネルは、2つのチャネルからの処理結果が一致するかの比較に基づき、単一故障要件に対処する。2つのチャネルの間の差異は、一方または両方のチャネルにおける異常を示す。装置10の検知応答時間内でのそのような差異をチェックすることによって、装置10は、すぐに、安全エラー状態に移行することができる。あるいは、物体検知のためのより保守的な手法をとることもでき、いずれかの一次ベースラインペアからの検知結果が機械の停止を引き起こし、一次監視領域12を安全に保つことができる。2つの一次ベースラインペアの間の不一致が、より長い期間(例えば、数秒から数分)にわたって残る場合、異常を検知することができ、装置10は、安全エラー(故障)状態に移行することができる。
【0053】
追加の動的な欠陥検知および自己診断機能を装置10に組み込んでもよい。例えば、いくつかの実施形態において、センサユニット16の画像処理回路36は、両方の立体視チャネルから取得した画像ペア、すなわち、画像センサ18−1、18−2の第1の一次ベースラインペアから取得した画像ペア、および画像センサ18−3、18−4の第2の一次ベースラインペアから取得した画像ペアの立体視処理を実行するよう構成された単一の立体視処理回路を備える。立体視処理回路、すなわち「SVP」は、例えば、ASIC、または高速で立体視画像処理タスクを実行する他のデジタル信号プロセッサである。
【0054】
SVPにおける故障状態は、応答時間サイクルにつき一度、SVPに投入される、特別なテストフレームを使用して検知される。テスト入力に対応するSVP出力は、予期した結果と比較される。テストフレームは、SVPのすべての安全性に直結する内部機能をテストするために特別に構成される。
【0055】
SVPおよび/または画像処理回路36は、他の緩和策も組み込んでもよい。例えば、画像処理回路36は、未処理画像および平行化画像の両方を使用して、画像センサ18内の「不良」画素を識別する。画像処理回路36は、画像センサ18から取得したような未処理画像を使用して、雑音画素、スタック欠陥画素、もしくは低感度画素を識別し、バックグラウンドで関連した不良画素テストを実行する。テスト画像フレームは、不良画素検知に使用してもよく、3種類のテスト画像フレーム、すなわち、(a)センサユニット16が典型的な照明状態で動作する場合、暗雑音レベルに非常に近くなる平均画素輝度を生成する非常に低い露光時間に対応する画像取り込みである、低露光テストフレーム(LITF)、(B)少なくとも3つの異なる露出間隔の1つに対応する画像取り込みである、高露光テストフレーム(HITF)、(c)画像フレームを画像センサ18から取得するために使用される回路にテストパターンを投入する、デジタルテストパターンフレーム(DTPF)が考えられる。各種類における1つのテスト画像は、応答時間サイクルごとに取り込んでもよい。このようにして、各種類における多くのテスト画像を、指定されたバックグラウンドテストサイクル(数分から数時間)にわたって収集および解析してもよい。
【0056】
さらなる緩和策には、(a)多くのLITFのセットを使用する画素データの時系列変動を、最大閾値と比較する、雑音画素検知、(b)多くのLITFおよびHITFのセットを使用する画素データの同じ時系列変動を、最小閾値と比較する、スタック欠陥画素検知(高または低)、(c)画素輝度の応答を測定し、いくつかの露出レベルでHITFに対する予期した応答と比較する、低感度画素検知、(d)既知のデジタルテストパターンの画像処理を、予期した結果と比較し、画像処理回路の適切な動作をチェックする、不良画素対処検知、(e)白飛び画素、黒潰れ画素、および遮蔽画素、つまり、正確な相関のために不適切と見なされる画素がこの範疇に入り、そのようなテストは、ランタイム画像データを使用して、フレームごとに実行することができる、平行化画像からの不良画素識別、(f)画素を、画像センサ18の適切なダイナミックレンジに対応する高閾値および低閾値と比較する、ダイナミックレンジテスト、がある。
【0057】
上記の機能は、例えば、
図4に示すように、センサユニット16の画像処理回路36の一実施形態に対して、ハードウェアとソフトウェアとをベースとした回路構成を組み合わせたものを使用して実現される。上述のSVPは、複数の交差接続されたプロセッサ回路、例えば、画像プロセッサ回路402−1、402−2(画像プロセッサ)および制御プロセッサ回路404−1、404−2(制御プロセッサ)と共に、ここでは、SVP400とする。非限定の例において、画像プロセッサ402−1、402−2はFPGAであり、制御プロセッサ404−1、404−2は、マイクロプロセッサ/マイクロコントローラデバイス、例えば、TEXAS INSTRUMENTS AM3892マイクロプロセッサである。
【0058】
画像プロセッサ402−1、402−2は、メモリ、例えば、SDRAMデバイス406を備えるか、または関連づけられ、メモリは、画像センサ18からの画像フレームを処理するための作業メモリとして働く。これらは、各制御プロセッサ404−1、404−2によって起動もしくはリセットされるよう構成可能であり、各制御プロセッサ404−1、404−2は、作業メモリ(例えば、SDRAMデバイス408)を備えるか、もしくは関連づけられ、フラッシュデバイス410内に起動/構成データを備える。
【0059】
各画像プロセッサ402間および各制御プロセッサ404間に見られる交差接続は、画像センサ18の第1および第2の一次ベースラインペアを使用して、一次監視領域12の二重チャネル重複監視をもたらす。この点に関して、「左側」の画像センサ18−1、18−3が、画像プロセッサ402−1および画像プロセッサ402−2に結合されていることが分かる。同様に、「右側」の画像センサ18−2、18−4は、画像プロセッサ402の両方に結合される。
【0060】
さらに、機能タスクの分割の例において、画像プロセッサ402−1および制御プロセッサ404−1は、システムタイミングを確立し、Ethernet(登録商標)インターフェースであってもよい、制御ユニット20への物理(PHY)インターフェース38をサポートする。制御プロセッサ404−1はまた、SVP400を構成する役割を果たし、画像プロセッサ402−1は、SVPのホストインターフェースへのゲートウェイの役目を果たす。制御プロセッサ404−1はまた、画像センサ18を構成するバスインターフェースを制御する。さらに、画像プロセッサ402−1はまた、同じバスへの接続を含み、露出制御動作を実行する場合に、より高い精度を提供する。
【0061】
また、制御プロセッサ404−2および画像プロセッサ402−2は、上記の動作に対し、重複処理チャネルを形成する。この役割では、画像プロセッサ402−2は、画像プロセッサ402−1のクロック生成および画像データインターリーブを監視する。この理由により、両方の画像プロセッサ402は、すべての画像センサ18の画像データを出力するが、画像プロセッサ402−1だけは、画像センサクロックおよび同期信号を生成する。
【0062】
画像プロセッサ402−2は、スタック欠陥画素検知アルゴリズムおよび雑音画素検知アルゴリズムを重複して実行し、SVPホストインターフェースから取り込んだデプスデータを使用して危険領域違反を重複してクラスタ化する。最終的に、画像プロセッサ402−2および制御プロセッサ404−2からのエラー検知アルゴリズム、クラスタリング、および物体追跡結果は、画像プロセッサ402−1および制御プロセッサ404−1からのそれらを正確に反映しなければならず、または、画像処理回路36は、欠陥を宣言し、装置10全体を作動して、動作の欠陥状態を入力させる。
【0063】
各画像プロセッサ402は、SDRAMデバイス406と共に動作し、高ダイナミックレンジ融合、雑音画素統計、SVPテストフレーム、危険領域、および診断のために取り込んだビデオフレームなどの全画像フレームに対してバッファされたデータをサポートする。これらの外部メモリはまた、実装された場合、画像プロセッサ402に、画像平行化または多解像度解析を実行させる。
【0064】
各制御プロセッサ404とそのそれぞれの画像プロセッサ402との間のインターフェースは、PCI−expressまたはSATA型シリアルインターフェースなどの高速シリアルインターフェースである。
【0065】
あるいは、それらの間には、マルチビットパラレルインターフェースを使用することができる。どちらの手法でも、画像処理回路36は、SVP400の制御のため、およびデプスの出力ならびに平行化画像データへのアクセスのために、SVP400の「ホストインターフェース」を使用する。SVP400のホストインターフェースは、画像取り込み速度に対応した速度ですべての所望の出力を転送するのに十分速く動作するよう設計される。
【0066】
さらに、プロセッサ間連絡チャネルにより、2つの重複制御プロセッサ404は、互いの動作を同期し続ける。制御プロセッサ404−1は、PHYインターフェース38を制御するが、装置10の実行/停止状態の最終決定をすることはできない(例えば、一次監視領域12内の危険機械の実行/停止状態を制御する)。代わりに、制御プロセッサ404−2はまた、制御プロセッサ404−1が、PHYインターフェース38を介して制御ユニット20に転送する特定の機械実行アンロックコード(または、同様の値)を生成する必要がある。次いで、制御ユニット20は、センサユニット16の2つの重複チャネルが正しい機械状態に一致するかどうかの最終判断を行う。したがって、例えば、制御ユニット20は、センサユニット16の二重の重複チャネルからの状態指示に従い、適切な実行/停止状態へのOSSD出力の実行/停止状態を設定する。あるいは、センサユニット16は、他の例示的な実施形態において、センサユニット16の2つの重複チャネルが正しい機械状態に一致するかどうかの最終判断を自身で行うことができる。
【0067】
制御プロセッサ404−1、404−2の間のプロセッサ間インターフェースはまた、センサユニット構成および制御プロセッサ404−2に対するプログラムイメージを更新するための方法を提供する。代替の手法には、2つの制御プロセッサ404の間で単一のフラッシュデバイスを共有することがあるが、その構成は、2つのプロセッサ404の起動手順を適切にサポートするための追加回路が必要となる可能性がある。
【0068】
一般命題として、画素レベルの処理動作は、画像プロセッサ402に対してバイアスされ、画像プロセッサ402を実装するための高速でFPGAベースのハードウェアを使用することが、この構成を補完する。しかしながら、いくつかの実施形態において、制御プロセッサ404に、ある画素レベル処理動作を実行するよう要求する、何らかのエラー検知アルゴリズムが用いられる。
【0069】
しかしながら、ここでも、画像プロセッサ402は、単数または複数の所与の画像フレーム内の注目「窓」を示すことができ、注目窓に対応する画素データのみを制御プロセッサ404に送り、処理することができる。そのような手法もまた、画像プロセッサ402および制御プロセッサ404の間のインターフェース間のデータレートを減らす助けとなり、制御プロセッサ404に対する必要なアクセスおよびメモリ帯域幅要件を減らす。
【0070】
画像プロセッサ402−1がSVP400に対するインターリーブされた画像データを生成するので、テスト画像フレームをSVP400に投入し、適切に動作させるためにSVP400をテストするよう構成することも可能である。その場合、画像プロセッサ402−2は、テストフレームおよびSVP400からの結果の出力を監視する。画像プロセッサの設計を簡単にするために、画像プロセッサ402−2は、SVP400に投入されるテストフレームの独自の重複コピーを保持するのではなく、投入されたテストフレームのCRCをチェックするだけのために構成することが可能である。
【0071】
いくつかの実施形態において、画像処理回路36は、可能な限り、画像プロセッサ402が必要な画素ごとの演算を実行するよう構成され、一方、制御プロセッサ404は、高レベルな浮動小数点演算を扱う。処理機能の割り当てに関してさらに詳細には、以下の機能分割を使用する。
【0072】
画像センサのタイミング発生のために、1つの画像プロセッサ402がすべてのタイミングを発生し、他の画像プロセッサ402が、そのタイミングを検証する。制御プロセッサ404の1つが、タイミングパラメータを、タイミング発生画像プロセッサ402に送り、他の画像プロセッサ402のタイミング検証を実行する画像プロセッサ402によって生成されたタイミング測定値を検証する。
【0073】
HDR画像融合のために、画像プロセッサ402は、HDR融合機能を使用して、低および高センサ露出を使用して取得された画像ペアをバッファかつ組み合わせる。制御プロセッサ404は、画像プロセッサ402に、HDR融合機能のために必要なセットアップ/構成データ(例えば、トーンマッピングおよび重み付けアレイ)を提供する。あるいは、制御プロセッサ402は、画像フレームレジスタ構成を交互に入れ替え、短/長露出パターンを実現する。
【0074】
画像平行化機能のため、画像プロセッサ402は、画像センサ18から取得した未処理の画像データから生じたような、平行化された歪みのない画像データを補間する。それに対応して、制御プロセッサ404は、平行化された歪みのない画像データを取得するために使用される校正および平行化パラメータを生成する。
【0075】
画像プロセッサ402の1つは、SVP400に対して設定インターフェースを提供する。さらに、画像プロセッサ402は、平行化画像をSVP400に送り、対応するデプスマップ(画像画素に対する3Dレンジデータ)をSVP400から取り込む。代替の対応アルゴリズム、例えば、正規化相互相関(NCC)を使用して、画像プロセッサ402は、さらに、必要に応じて、副画素補間の精度を修正することが可能である。制御プロセッサ404は、画像プロセッサ402の1つによって提供されるゲートウェイを使用して、SVP400を設定する。
【0076】
クラスタリングに対し、画像プロセッサ402は、前景画素および「緩和」画素をクラスタ化し、そのような各クラスタに対する統計を生成する。それに対応して、制御プロセッサ404は、検知された物体が、侵入警告、安全直結シャットダウンなどを作動させるかどうかを評価するために使用される実際の3D範囲を規定する、例えば、警告境界、安全直結境界などの、一次監視領域12に対する保護境界を生成する。
【0077】
物体の残存に対し、制御プロセッサ404は、時間的フィルタリング、動き追跡、および物体スプリット−マージ機能を実行する。
【0078】
不良画素検知演算に対し、画像プロセッサ402は、不良画素に対する画素ごとの統計および補間データを維持する。制御プロセッサ404は、任意選択的に、工場出荷時の欠陥リストを画像プロセッサ402にロードする。工場出荷時の欠陥リストは、例えば、画像センサ18を製造中にテストすることを可能にし、その結果、不良画素を、マップもしくは他のデータ構造内で検知かつ記録することができ、その結果、画像プロセッサ402に、既知の不良画素について知らせることができる。
【0079】
露出制御演算に対し、画像センサ402は、グローバル輝度統計を収集し、露出タイミングを調整する。それに対応して、制御プロセッサ404は、露出制御パラメータを提供するか、または、任意選択的に、フレームごとの比例・積分・微分(PID)もしくは露出のための同様のフィードバック制御を実現する。
【0080】
ダイナミックレンジ演算に対し、画像プロセッサ402は、ダイナミックレンジ緩和ビットを生成する。それに対応して、制御プロセッサ404は、ダイナミックレンジ限界を、画像プロセッサ402にもたらす。
【0081】
遮蔽物体検知演算に対し、必要であれば、画像プロセッサ402は、追加の変換画像を作り出し、例えば、各二次ベースラインペアにおける2つの画像センサ18によって取得された画像データ間の画像差を検知するための画素マッチング検索を実施する。例えば、画素マッチング検索を使用して、画像センサ18−1によって取得された画像データと、画像センサ18−3によって取得された画像データとを比較する。ここで、それら2つのセンサ18−1、18−3は、第1の二次ベースラインペアを備える。同様の比較は、画像センサ18−2、18−4を備える、第2の二次ベースラインペアによって取得された画像データ間でも行われる。遮蔽物体検知演算のサポートのために、制御プロセッサ404は、限界および/または他のパラメータを、画像センサ402に提供する。
【0082】
基準マーカ検知アルゴリズムに対し、画像プロセッサ402は、歪みのない画像を作り出し、画像データ内の基準マーカ全体にNCC検索を実施し、ベストマッチを見出す。制御プロセッサ404は、NCCの結果を使用して、平行化画像に対する校正および焦点距離補正を計算する。制御プロセッサ404はまた、窓内画素エリアに(集中して)帯域幅チェックを実行してもよい。基準マーカ緩和アルゴリズムのいくつかの他の態様はまた、平行化画像を必要とする可能性がある。
【0083】
いくつかの実施形態において、SVP400は、画像平行化を実行してもよいが、画像処理回路402で画像平行化を実行することの利点もあるであろう。例えば、そのような処理は、画像プロセッサ402によって実行される他の演算を補完するので、画像プロセッサ402内に存在する方がより自然であるかもしれない。例えば、画像センサの不良画素マップ(スタック欠陥または雑音)は、画像データと同じ方法で平行化されなければならない。画像プロセッサ402が、すでに画像データに対する平行化を実施する必要がある場合、画像プロセッサ402が、不良画素マップを平行化し、画像および不良画素間での平行化に一貫性を保証することが意味をなす場合がある。
【0084】
さらに、基準マーカ追跡は、少なくともある例において、平行化されていない歪みのない画像で最も有効に機能する。歪みを除去するための補間理論は、平行化と同様であり、そのため、画像プロセッサ402が歪みのない画像を作り出す場合、平行化を実行するために同様に設定された追加リソースを備えることが可能である。
【0085】
さらに、遮蔽物体検知は、二次ベースライン34−1、34−2のそれぞれに対して少なくとも1つの追加画像変換を必要とする。SVP400は、これらの追加の平行化を行うためのスループットを有さない可能性があるが、画像プロセッサ402は、追加の処理を快適に対応することができる可能性がある。
【0086】
画像プロセッサ402における最も画素ベースの処理の統合に有利な他の態様は、ZLDCに関する。ZLDCを縮小するための1つの可能な方法は、画像データの多解像度解析を使用することである。例えば、長さ寸法の2分の1に縮小された画像を、対応する「通常の」画像が入力された後に、SVP400に入力する。この構成は、SVP400によって実現される最大差異を3倍にする。
【0087】
SVP400によって実行される立体相関処理(「立体視処理」と称する)の別の態様において、SVP400への入力は、未処理または平行化された画像ペアである。入力画像ペアに対するSVP400の出力は各画素に対する深度(または、差異)値、相関スコアならびに/もしくはインタレスト演算子ビット、および平行化された画像データである。相関スコアは、相関の質に対応する数値であり、したがって、出力の信頼性に関する測定値を提供する。インタレスト演算子ビットは、問題の画素が、その相関スコアの特定の態様とともに満たされる必要のある所定の基準を満たしているかどうかの結果を提供する。
【0088】
しかしながら、クラスタリング演算は、容易にパイプライン方式で実行され、したがって、画像プロセッサ402のFGPAベースの実施形態での実施に有利である。記載したように、クラスタリング処理は、前景画素を「クラスタ」に接続し、画像処理回路36によって実施されるより高いレベルの全体的な物体検知アルゴリズムは、クラスタの画素の数、サイズ、および画素密度によって価値のある追跡になるかどうかを判断する。
【0089】
画素グループがクラスタ化されると、データレートは、実質的に、全深度画像のストリームより少なくなる。この事実のため、および追跡物体の複雑さのため、物体の識別および追跡は、有利には、少なくとも、マイクロプロセッサまたはDSPを使用して、制御プロセッサ404を実現する実施形態において、制御プロセッサ404で実行される。
【0090】
不良画素検知の場合、画像処理回路36は、高および低統合テストフレームのシーケンスを使用して、スタック欠陥(高/低)画素および雑音画素をチェックする。スタック欠陥画素緩和からの不良画素は、装置10の検知応答時間内で更新され、一方、アルゴリズムは、雑音画素を検知するために複数のテストフレームを必要とする。これらのアルゴリズムは、画像センサ18からの未処理の画像データを処理する。
【0091】
スタック欠陥画素テストは、画像プロセッサ402において容易にサポートされる単純な検知アルゴリズムに基づくが、雑音画素テストは、アルゴリズムは単純であるが、画像フレーム全体に対する画素統計のバッファリングを必要とする。したがって、画像プロセッサ402がそのような処理を行う程度まで、画像プロセッサ402には、そのようなバッファリングのために適切なメモリが備わる。
【0092】
さらに広範には、例示的なアーキテクチャにおいて、画像センサ18からの未処理の画像データのみが、画像センサ18から画像プロセッサ402に流れる。未処理の画像データは、画像プロセッサ402から制御プロセッサ404に流れる必要はない。しかしながら、記載したように、不良画像センサ画素は、画像画素として同じ平行化変換を受けなければならず、その結果、クラスタリングアルゴリズムにより、正しく平行化された画像の座標にそれらを適用することができる。この点に関して、画像プロセッサ402は、不良画素に対して、SVP400によって実行された同じ平行化マッピングを反映することができなければならない。
【0093】
不良画素が識別された場合、それらの値は、隣接する「良」画素から補間された値と置き換えられる。この処理は、複数のスキャンラインの履歴を必要とするため、その処理は、パイプライン方式で実行することができ、画像プロセッサ402の任意のFPGAベースバージョンで実装するのに適切である。
【0094】
不良画素検知のある態様は、アルゴリズム的に単純であるが、遮蔽物体検知は、多数の関連機能を備える。そのような機能には、(a)各二次ベースラインペアにおける画像センサ18間の輝度比較、(b)誤検知を抑制するための画像形態などの後処理演算、(c)危険領域を越えて延在して上記の(a)を満たすまで続く均一な遮蔽物体を表すことができる水平線の検知がある。
【0095】
基準マーカーベースのエラー検知アルゴリズムは、焦点の損失、コントラストの損失、画像センサ配置の損失、世界(3D座標)登録の損失、および1つまたは複数の他の画像センサエラーを含む多数の状況を検知するよう設計される。
【0096】
図5は、上記の画像処理機能に関する「機能」回路または処理ブロックを示し、設定された境界に関連する情報などを任意選択的に有する、画像センサ18の視野域14に対応する出力映像を提供するための、映像出力回路412も任意選択的に含む。
図5の例で提供される図示の処理ブロックは、画像プロセッサ402および制御プロセッサ404の間で分配されることが理解されるだろう。
【0097】
そのことを念頭において、機能ブロックは、以下の要素を備えることが分かる。つまり、露出制御機能500、不良画素検知機能502、不良画素平行化機能504、HDR融合機能506、不良画素補間機能508、画像歪み補正および平行化機能510、立体相関およびNCC副画素補間機能512、ダイナミックレンジチェック機能514、遮蔽物体検知機能516、コントラストパターンチェック機能518、基準マーカ緩和機能520、領域ごとのクラスタリング機能522、物体残存および動きアルゴリズム機能524、ならびに欠陥/診断機能526を備える。これらの機能の1つまたは複数は、一次監視領域12の二重チャネル監視に基づく重複物体検知に合わせて、重複して実行してもよいことに留意されたい。
【0098】
画像取り込みは、「フレーム」と称する一連の連続的なタイムスライスで行われる。一例として、画像処理回路36は、60fpsのフレームレートで動作する。各ベースライン32または34は、画像センサ18の1ペア、例えば、画像センサ18−1、18−2を備える第1のペア、画像センサ18−3、18−4を備える第2のペア、画像センサ18−1、18−3を備える第3のペア、および画像センサ18−2、18−4を備える第4のペアに対応する。
【0099】
各ベースラインに対する未処理画像データは、同時に取り込まれる。雑音画素、スタック欠陥画素、または低感度画素は、未処理画像で検知され、不良画素マップを生成するために使用される。検知した欠陥画素信号は、通常の隣接画素を使用する補間方法を使用して補正される。この補正工程は、処理パイプラインのさらなる段階での欠陥画素への影響を最小にする。
【0100】
高および低露出画像は、各ベースラインペアに対するシーケンスで取得される。したがって、画像フレームの各シーケンスは、高および低露出画像を交互に含む。画像ストリーム間の応答時間サイクルごとの1つまたは2つのフレームは、テスト目的のために用いられるものであり、「画像ストリーム」は、画像センサ18の各ペアからの画像ごとのフレーム単位で流れる画像データに関する。
【0101】
各画像センサ18からの高および低露出フレームは、本明細書に記載されるHDR融合処理に従い、新しい画像に組み合わされる。結果としてのHDR画像は、拡張ダイナミックレンジを有し、高ダイナミックレンジ(HDR)フレームと呼ばれる。ここで、HDRフレームレートは、60Hzで、対応するHDR画像を作り出すために異なる露出で取得した2つの未処理画像を必要とするため、30Hzであることに留意されたい。イメージャごとに1つの30HzHDR画像ストリームがあるか、またはベースラインごとに30HzHDR画像ペアがある。
【0102】
さらに、画像は、光学的な歪みを補正するために前処理され、それらはまた、コンピュータビジョンにおいて「平行化」と称される変換を受ける。結果としての画像は、「平行化画像」または「平行化画像データ」と称される。参考として、機能ブロック510からのそのようなデータ出力が見られる。不良画素マップはまた、後に使用するために、平行化ブロック504で見られるように、同じ平行化変換を受ける。結果としての不良画素データは、クラスタリング処理の間に使用され得る画素重みを含む。
【0103】
機能ブロック510からの平行化された画像データを使用して、多数のチェックを実行する。そのようなチェックには、画素を飽和閾値および不飽和閾値と比較し、それらの閾値から外れる場合に不良であるとフラグをたてる、ダイナミックレンジチェック、ならびに、物体がZLDC内にあるかどうか、もしくは「側面遮蔽領域」(ZSS)内にあるかどうかを判断するために画像を解析する、遮蔽物体チェックがある。そのような物体は、もし存在する場合、1つまたは複数のセンサ視野域14内に影を落とす可能性があり、事実上、センサユニット16からその影の中にある可能性のある物体を見えなくする。遮蔽領域に対応する画素のグループは、「不良」としてフラグをたてられ、潜在的に危険な状態にあると識別される。
【0104】
そのような動作は、遮蔽物体検知機能516において実行される。さらなるチェックには、不良コントラストパターンチェックがあり、ここで、画像は、範囲測定の結果を信頼性のないものとする可能性のあるコントラストパターンに対して解析される。テスト基準に満たない画素は、「不良」としてフラグをたてられる。同時に、平行化画像は、
図5においてブロック512によって部分的に示された、SVP400に入力される。設計が単一のSVP400に基づく場合、各一次ベースライン32−1、32−2に対するHDR画像フレームは、総計入力レート60HzでSVP400に交互に入力される。そのため、一方のベースライン32−1または32−2に対するHDRフレームは、他方のベースライン32−1または32−2に対して対応するHDRフレームがSVP400によって処理される間にバッファされる。レンジデータは、後処理され、低品質レンジポイントを発見かつ除去し、精度を徐々に改善し、次いで、規定した検知境界と比較される。
【0105】
3Dレンジデータにより検知境界内に置かれる画素は、クラスタに分類される。不良画素も、直接識別されるか、もしくは画素重みの評価を通じて識別され、クラスタリング処理に含まれる。クラスタリング処理は、複数の検知境界に対して平行して実行することができる。検知されたクラスタのサイズは、最小物体サイズと比較され、最小物体サイズに合うもしくはそれを越えるクラスタは、多数のフレームにわたって追跡され、誤った検知失敗を抑制する。最小サイズの物体と合致する検知されたクラスタが、最小期間(すなわち、規定された数の連続フレーム)にわたって残る場合、その状況は、侵入として分類される。侵入情報は、他のテストから監視されたように、欠陥状態と一緒に、例えば、安全なEthernet(登録商標)プロトコルを使用して、制御ユニット20に送られる。
【0106】
基準マーカ監視は、ブロック520で実行されるように、および光学欠陥に対する自己テストとして必要とされるように、物体検知処理と並行して、平行化された画像データを使用して実行される。基準マーカ監視タスクは、光学欠陥に対する診断機能を提供するだけでなく、熱ドリフトによる感度の小さな変動に対応して画像平行化に使用されるパラメータを調整するための機構も提供する。
【0107】
さらに、背景テストおよび実行時間テストのセットは、センサユニット16の状態を制御ユニット20に通信するためにも使用される出力を提供する。さらなる処理には、ブロック500に見られる、上記処理機能から独立して実行される露出制御アルゴリズムがある。露出制御アルゴリズムは、感度を調整することでライティング状況がゆっくりと変化することを補償することができ、さらに、テストフレーム期間の間、座標特定テストを可能にする。
【0108】
上記の例示的なアルゴリズムが、堅実で安全なマシンビジョンシステムを生成するために有利に組み合わされるが、それらは、変更される可能性のある非限定的な例であると理解されるべきである。概して、一次監視領域12に対する物体検知処理は、立体画像処理技術を使用して、3Dユークリッド距離を計測する。
【0109】
したがって、二重ベースライン、遮蔽検知、および高ダイナミックレンジ作像の特徴は、すべて、基礎をなす立体画像処理技術をさらに向上させる。一次監視領域12に対する二重ベースライン32−1、32−2は、第1および第2の立体視チャネルからの重複物体検知情報を提供する。第1の立体視チャネルは、第1のベースライン物体検知情報を取得し、第2の立体視チャネルは、第2のベースライン物体検知情報を取得する。第1のベースラインからの物体検知情報は、第2のベースラインからの物体検知情報と比較される。比較における不一致は、異常、もしくは故障状態を示す。
【0110】
一次ベースライン32が、一次監視領域12における一次物体検知に使用される間、二次ベースライン34は、センサユニット16に近接する第1の物体が、センサユニット16からより離れた第2の物体を視覚的に遮らないもしくは遮蔽しないことを確実にするよう実行される、遮蔽物体検知に使用される。これには、1つの画像センサ18によって検知され、他の画像センサ18によって検知されない物体を検知するために必要とされる処理能力を含む。
【0111】
図6、
図7A、
図7Bは、遮蔽物体検知、ならびにZLDCおよびZSS区域に関する有用な図を提供する。1つまたは複数の実施形態において、特に
図6を参照すると、画像センサ18−1、18−2は、第1の立体視チャネルとして処理するための立体画像のペアをもたらす第1の立体視ペアとして動作し、画像センサ18−3、18−4は、第2の立体視チャネルとして処理するための立体画像のペアをもたらす第2の立体視ペアとして動作し、画像センサ18−1、18−3は、第3の立体視チャネルとして処理するための立体画像のペアをもたらす第3の立体視ペアとして動作し、画像センサ18−2、18−4は、第4の立体視チャネルとして処理するための立体画像のペアをもたらす第4の立体視ペアとして動作する。第1および第2のペアは、それぞれ、一次ベースライン32−1、32−2によって隔てられ、一方、第3および第4のペアは、それぞれ、二次ベースライン34−1、34−2によって隔てられる。
【0112】
本明細書で上記したように、センサユニット16の画像処理回路36によって使用される一次物体測距技術は、合致する画素に対するエピポーラ線を介して検索し、画素差異に基づいて範囲を計算する、2つの異なる位置に設置された2つの画像センサ18の間の立体相関である。
【0113】
この一次物体測距技術は、少なくとも一次監視領域12に適用され、
図6は、第1および第2の立体視チャネルを使用して、一次監視領域12内の物体を検知することを示す。すなわち、一次監視領域12内の物体は、第1の画像センサ18−1によって取り込まれた画像と第2の画像センサ18−2によって取り込まれた画像とを関連づけることによって検知され(第1の立体視チャネル)、さらに、第3の画像センサ18−3によって取り込まれた画像と第4の画像センサ18−4によって取り込まれた画像とを関連づけることによって検知される(第2の立体視チャネル)。したがって、第1および第2の立体視チャネルは、一次監視領域12内の物体に対して、重複した検知能力を提供する。
【0114】
第3および第4の立体視チャネルを使用して、(1)ZLDCの内側である、および/または、(2)一方のZSS内である、センサ視野域14を包囲する、二次監視領域を作像する。この点に関して、ZLDC内にある所与の最小サイズの物体は、二次ベースラインペアのそれぞれによって取得される画像ペアで動作する差異ベースの検知アルゴリズムを使用して検知されるのに十分近いことを理解すべきである。しかしながら、これらの差異ベースアルゴリズムは、(物体が、すべてのセンサ視野域14内に現れない)ZLDC限界を超えるが一方のZSS内にある物体を検知することができない場合がある。というのも、観測された画像の不一致が、物体距離が増すにつれて減少するためである。2つのリスク緩和策の一方または両方を使用して、ZSS内の遮蔽物体検知を扱うことが可能である。
【0115】
まず、
図8に示すように、センサユニット16は、画像センサ18の接角が、ZSSを最小にするように構成してもよい。次に、ZSS内の物体は、第1および第2の二次ベースラインペアによって取得された画像に対する立体相関処理を使用して検知することができる。すなわち、画像処理回路16は、第1の画像センサ18−1によって取り込まれた画像と第3の画像センサ18−3によって取り込まれた画像とを関連づけるよう構成してもよく(第3の立体視チャネル)、さらに、第2の画像センサ18−2によって取り込まれた画像と第4の画像センサ18−4によって取り込まれた画像とを関連づけるよう構成してもよい(第4の立体視チャネル)。したがって、画像処理回路36は、一次監視領域12における物体検知のために、第1および第2の立体視チャネル(画像センサ18の第1および第2の一次ベースラインペア)から取得した画像データに対して立体相関処理を使用し、ZLDCおよびZSSにおける物体検知のために、第3および第4の立体視チャネル(画像センサ18の第1および第2の二次ベースラインペア)から取得した画像データに対して輝度差ならびに立体相関処理のいずれかもしくは両方を使用する。
【0116】
図7A、
図7Bの例で示すように、第3および第4の立体視チャネルを使用して、一次監視領域12内で物体を遮蔽する可能性のある、二次監視領域内の物体を検知する。センサユニット16の直前にあり、さらに一次監視領域12のいずれかの側面にある区域は、一次ベースライン立体視チャネル、すなわち、一次ベースライン32−1、32−2に対応する第1および第2の立体視チャネルを使用する物体検知に使用することができない。
【0117】
例えば、
図7Bは、一次監視領域12とセンサユニット16との間にあり、すなわち、ZLDC内にあり、場合によっては、一次監視領域12内の物体を遮蔽する遮蔽物体“1”を示す。図において、一次監視領域12内にあるが、1つまたは複数の画像センサ18に対する遮蔽物体“1”によって遮蔽される一次監視領域12の区域内にあるために検知されない可能性がある物体“A”および“B”が見られる。
【0118】
さらに、
図7Bは、他の遮蔽例を示し、ここでは、物体“2”が、最小検知範囲を超えている(ZLDC境界を超えている)が、一次監視エリア12の一方の側面に位置する。言い換えると、物体“2”は、一方のZSS内にあり、したがって、同じ側の1つまたは複数の画像センサ18に対する一次監視領域12に影を落とす。したがって、一次監視領域12内にあるが、物体“2”から投影された影の中にある物体“C”は、確実には検知されない可能性がある。
【0119】
したがって、遮蔽物体が、一次監視領域12における物体検知をもたらすのと同じ範囲の分解能では必ずしも検知されない可能性があるが、センサユニット16が遮蔽物体を検知することは重要である。したがって、画像処理回路36は、一次監視領域12内の物体のフル分解能、重複検知のための一次物体検知機構と、ZLDC内部の物体の存在を検知するための二次物体検知機構と、ZSS区域内の物体の存在を検知するための三次物体検知機構とを有するとみなされ得る。
図8の例のように、左側と右側との間の接角の存在により、最終の画像センサ/FOV構成を設ける。接角は、一次監視領域12のいずれかの側面でのZSSを除去するか、または大幅に減らすように設定してよく、その結果、側面遮蔽の危険性を減らすか、もしくは除去する。
【0120】
ZLDC区域に対する物体検知は、センサユニット16の各側面に設置された隣接する画像センサ18の間に何らかの大きな差があるかどうかを検知することに基づく。例えば、そのような処理には、画像センサ18−1からの画像データと、画像センサ18−3の画像データとの比較が含まれる。(同様の処理において、画像センサ18−2と18−4との間の画像データを比較する)。センサユニット16の近くにあり、これらの近接配置された画像センサペアの1つから見えるところに物体がある場合、近傍内のそれぞれの画素輝度の単純な比較により、大きな差が明らかになる。そのような差は、他方の画像内の同じ位置に対応する所与の検索窓内部で輝度が一致しない一方の画像におけるそれらの点にフラグをたてることによって発見される。「一致」と判断する基準は、比較が各イメージャ内の平均ゲインおよび/または雑音レベルに影響されないようにするように設計される。
【0121】
他の例として、二次(短)および一次(長)ベースライン長の間の関係は、それぞれをtおよびTとして、t/T=D/dと表すことができる。ここで、Dは、一次ベースラインの最大差異検索範囲であり、dは、画像差アルゴリズムの検索窓サイズである。
【0122】
この方法は、ZLDC区域の内側にある、および、そこに近接する物体を検知するために設計される。ZLDC区域から離れた物体は、画像データ内の非常に小さな差異に対応し、したがって、近接配置されたセンサペアからの画像が比較された場合、そのような大きな差は生成されないだろう。ZLDC境界を越えるが一次監視領域12の1つの側面にある物体を可能な限り検知するために、近接配置されたセンサペアは、立体視ペアとして動作し、これらの対応する立体画像ペアは、対応するZSS区域内の物体のみを検索する方法で処理される。
【0123】
当然、上記の物体検知処理のすべてまたはいくつかにおいて、HDR画像の使用により、センサユニット16は、より幅広い周辺光状態で機能することが可能となる。HDR画像融合のための一実施形態の一例において、画像処理回路36は、多数の演算を実行する。例えば、校正処理は、特徴づけ工程として使用され、インバース画像センサ応答関数(CRF)を回復させ、g:Z→Rが製造段階で要求される。gの範囲は、(Zで表される)0から1023の範囲の10bit(イメージャデータ分解能)整数である。範囲は、実数の集合Rである。
【0124】
実行時間では、CRFを使用して、異なる(既知の)露出で取得された画像を組み合わせて、放射照度画像(irradiance image)Eを作り出す。ここから、回復した放射照度画像は、対数演算子を使用してトーンマッピングされ、次いで、SVP400によって処理するのに適切な、12bit輝度画像に再マッピングされる。
【0125】
CRFを回復するために、さまざまな異なる校正/特徴づけアルゴリズムが考えられる。例えば、P. DebevecとJ. Malikによる「Recovering High Dynamic Range Radiance Maps from Photographs」SIGGRAPH1998およびT. MitsunagaとS. Nayarによる「Radiometric Self Calibration」CVPR1999を参照されたい。
【0126】
いかなる場合でも、以下の擬似コードは、実行時間で実行されるような、例示的なHDR融合アルゴリズムの概要を示す。アルゴリズム入力は、CRF g、低露出フレームI
L、低露出時間t
L、高露出フレームI
H、および高露出時間t
Hを含む。対応するアルゴリズム出力は、12bit放射照度画像Eである。
【0127】
各画素pに対し、
lnE(p)=[w(I
L)(g(I
L)−lnt
L)]+[w(I
H)(g(I
H)−lnt
H)]/w(I
L)+w(I
H)
であり、ここで、w:Z→Rは、重み付け関数(例えば、Guassian、hatなど)である。本アルゴリズムは、lnE(p)→[0,4096]でマッピングを継続し、12bit放射照度画像Eを取得する。ここで、オフセット演算およびスケーリング演算を含むことが理解されよう。
【0128】
実行時間HDR融合アルゴリズムは、画素ごとに独立して動作し、提案するHDRスキームは、並列処理をサポートする本質的にはどんなプラットフォームへの実施にも適する。この理由により、画像プロセッサ402のFPGAベースの実施は、とりわけ有利となる。
【0129】
当然、これらおよび他の実施詳細は、少なくともある程度は、性能要件および用途詳細により変えることができる。概して、本明細書では、一次監視領域12といずれも重複する、それぞれのセンサ視野域を有する4つの画像センサ18から画像データを取得することを含む、射影空間監視の方法を使用することを教示する。画像センサ18は、第1および第2の画像センサ18−1、18−2が、第1の一次ベースラインを規定する間隔を有する第1の一次ベースラインペアを形成し、第3および第4の画像センサ18−3、18−4が、第2の一次ベースラインを規定する間隔を有する第2の一次ベースラインペアを形成するよう配置され、さらに、第1および第3の画像センサ18−1、18−3が、第1の二次ベースラインを規定する間隔を有する第1の二次ベースラインペアを形成し、第2および第4の画像センサ18−2、18−4が、第2の二次ベースラインを規定する間隔を有する第2の二次ベースラインペアを形成するよう配置され、ここで、一次ベースラインは、二次ベースラインよりも長い。
【0130】
例示的な構成において、4つの画像センサは、左側の2つの画像センサ18が第1の二次ベースラインの間隔で配置されて第1の二次ベースラインペアを形成し、右側の2つの画像センサ18が第2の二次ベースラインの間隔で配置されて第2の二次ベースラインペアを形成するよう配置される。さらに、4つの画像センサ18は、左側の一方の画像センサ18が、右側の一方の画像センサ18とペアにされて第1の一次ベースラインの間隔で配置される第1の一次ベースラインペアを形成し、一方、左側の他方の画像センサ18が、右側の他方の画像センサ18とペアにされて第2の一次ベースラインの間隔で配置される第2の一次ベースラインペアを形成するよう配置される。ここで、「左側」および「右側」は、相対的な用語であり、互いに比較的近接して配置される画像センサ18の各ペアが存在するが、同時に、それらの各ペアは、互いに対してより長い間隔で配置されることを意味する。したがって、垂直配置を使用することができ、ここで、「左」および「右」という用語は、「上部」および「底部」と同等である。
【0131】
図2に戻って参照すると、左側の一方の画像センサ18−1は、右側の一方の画像センサ18−2とペアとなり、第1の一次ベースライン32−1の間隔で配置される第1の一次ベースラインペアを形成する。同様に、左側の他方の画像センサ18−3は、右側の他方の画像センサ18−4とペアとなり、第2の一次ベースライン32−2の間隔で配置される第2の一次ベースラインペアを形成する。
【0132】
画像センサのこの有利な物理的配置および画像センサからの画像データの関連した機能的ペアリングに基づいて、本方法は、一次ベースラインペアのそれぞれからの画像データの立体視処理に基づき、一次監視領域内の物体を重複して検知することを備える。さらに、本方法は、二次ベースラインペアのそれぞれからの画像データを処理することに基づいて遮蔽物体を検知することによって、遮蔽物体を原因とするリスクの有利な緩和策を備える。
【0133】
とりわけ、開示した発明の変形例および他の実施形態が、前述の説明および関連した図面で提示した教示の利点を有することは、当業者には明らかである。したがって、本発明は、開示した特定の実施形態に限定されず、変形例および他の実施形態が、本開示の範囲に含まれることが意図されることが理解されよう。特定の用語を本明細書で使用したが、それらは、一般的で説明的な意味のみで使用され、限定する目的ではない。