(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022120004
(43)【公開日】2022-08-17
(54)【発明の名称】深度感知コンピュータビジョンシステム
(51)【国際特許分類】
G01S 7/497 20060101AFI20220809BHJP
G01S 17/894 20200101ALI20220809BHJP
G01C 3/06 20060101ALI20220809BHJP
【FI】
G01S7/497
G01S17/894
G01C3/06 120Q
G01C3/06 140
【審査請求】有
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022092173
(22)【出願日】2022-06-07
(62)【分割の表示】P 2021510934の分割
【原出願日】2019-08-28
(31)【優先権主張番号】62/724,941
(32)【優先日】2018-08-30
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
2.PYTHON
(71)【出願人】
【識別番号】519287459
【氏名又は名称】ヴェオ ロボティクス, インコーポレイテッド
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】スコット デネンバーグ
(72)【発明者】
【氏名】レヴ パーシツ
(72)【発明者】
【氏名】クララ ヴュ
(72)【発明者】
【氏名】ロバート クレッグ ランダル
(72)【発明者】
【氏名】パトリック ソバルヴァッロ
(72)【発明者】
【氏名】ヴァレンティーナ チャモロ
(72)【発明者】
【氏名】ジーン マルキン
(72)【発明者】
【氏名】アルバート モエル
(57)【要約】
【課題】好適な深度感知コンピュータビジョンシステムを提供すること。
【解決手段】種々の実施形態では、深度画像を入手するためのシステムおよび方法は、安全性評価用途に適したアーキテクチャを利用し、異なる光学経路に沿って動作する単なるセンサ以上のもの(例えば、飛行時間センサ)と、適切なセンサ動作を確実にするための比較モジュールとを含み得る。誤差メトリックが、不完全に把握された深度に基づく安全制御を可能にする目的のために、ピクセルレベル深度値と関連付けられ得る。
【選択図】
図1
【特許請求の範囲】
【請求項1】
画像処理システムであって、
複数の3Dセンサであって、各々、(i)前記センサの視野を照明し、(ii)前記照明された視野内のオブジェクトまでの距離を示すピクセル毎値の出力アレイを生成するためのものである、複数の3Dセンサと、
(i)他の3Dセンサがその視野を照明する間、順次、前記3Dセンサの各々に、出力アレイを生成させ、(ii)前記生成された出力アレイから干渉行列を作成するための較正ユニットであって、前記干渉行列は、前記3Dセンサ毎に、それと同時にアクティブである他の3Dセンサによる干渉度を示す、較正ユニットと
を備える、システム。
【請求項2】
前記干渉行列に従って前記3Dセンサを動作させるためのプロセッサをさらに備え、前記プロセッサは、前記3Dセンサのうちの1つの動作中、1つ以上の他の3Dセンサの同時動作を抑制する、請求項1に記載のシステム。
【請求項3】
前記干渉行列に従って前記3Dセンサを動作させるためのプロセッサをさらに備え、前記プロセッサは、1つ以上の他の3Dセンサの同時動作中、前記センサのうちの1つによって取得される前記値の補正を生じさせる、請求項1に記載のシステム。
【請求項4】
干渉を伴うことなく前記3Dセンサを個々に動作させるための外部同期をさらに備える、請求項1に記載のシステム。
【請求項5】
前記システムの総累積動作時間を記憶するためのタイマをさらに備え、前記較正ユニットは、前記総累積動作時間に応答して、それに基づいて、距離を示す前記ピクセル毎値を調節するように構成される、請求項1に記載のシステム。
【請求項6】
少なくとも1つの温度センサをさらに備え、前記較正ユニットは、前記少なくとも1つの温度センサに応答して、それに基づいて、距離を示す前記ピクセル毎値を調節するように構成される、請求項1に記載のシステム。
【請求項7】
少なくとも1つの湿度センサをさらに備え、前記較正ユニットは、前記少なくとも1つの湿度センサに応答して、それに基づいて、距離を示す前記ピクセル毎値を調節するように構成される、請求項1に記載のシステム。
【請求項8】
前記システムの全ての電圧レールの過電圧/電圧不足を監視し、障害条件の検出に応じてシステム電力を中断するための電圧モニタをさらに備える、請求項1に記載のシステム。
【請求項9】
3D深度感知のためにセンサアレイを較正する方法であって、前記方法は、
複数の3Dセンサを提供するステップであって、前記複数の3Dセンサは、各々、(i)前記センサの視野を照明し、(ii)前記照明された視野内のオブジェクトまでの距離を示すピクセル毎値の出力アレイを生成するためのものである、ステップと、
他の3Dセンサがその視野を照明する間、順次、前記3Dセンサの各々に出力アレイを生成させるステップと、
前記生成された出力アレイから干渉行列を作成するステップであって、前記干渉行列は、前記3Dセンサ毎に、それと同時にアクティブである他の3Dセンサによる干渉度を示す、ステップと
を含む、方法。
【請求項10】
前記干渉行列に従って前記3Dセンサを動作させ、前記3Dセンサのうちの1つの動作中、1つ以上の他の3Dセンサの同時動作を抑制するステップをさらに含む、請求項9に記載の方法。
【請求項11】
前記干渉行列に従って前記3Dセンサを動作させ、1つ以上の他の3Dセンサの同時動作中、前記センサのうちの1つによって取得される前記値の補正を生じさせるステップをさらに含む、請求項9に記載の方法。
【請求項12】
干渉を伴うことなく個々に動作させるように、前記3Dセンサを外部から同期させるステップをさらに含む、請求項9に記載の方法。
【請求項13】
前記方法は、システムによって実行され、
前記方法は、
前記システムの総累積動作時間を記憶し、それに基づいて、前記ピクセル毎値を調節するステップをさらに含む、請求項9に記載の方法。
【請求項14】
温度を感知し、それに基づいて、前記ピクセル毎値を調節するステップをさらに含む、請求項9に記載の方法。
【請求項15】
湿度を感知し、それに基づいて、前記ピクセル毎値を調節するステップをさらに含む、請求項9に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願に対する相互参照)
本願は、2018年8月30日に出願された米国仮特許出願第62/724,941号に対する優先権およびその利益を主張し、参照によりその全体を本明細書に援用する。
【0002】
(発明の分野)
本発明の分野は、概して、人間と機械類とが相互作用するまたは近接する産業環境の監視に関し、特に、監視される作業空間内の不安全条件を検出するためのシステムおよび方法に関する。
【背景技術】
【0003】
(背景)
産業機械類は、多くの場合、人間にとって危険である。ある機械類は、完全にシャットダウンされない限り、危険である一方で、他の機械類は、種々の動作状態を有し得、種々の動作状態のうちのいくつかは、危険であり、種々の動作状態のうちのいくつかは、そうではない。ある場合には、危険度は、機械類に対する人間の場所または距離に依存し得る。その結果、多くの「防護」アプローチが、人間および機械を分離し、機械類が人間に害を及ぼすことを防止するために開発されている。1つの非常に単純かつ一般的タイプの防護は、単に、機械類を安全状態に置くことをケージのドアの開放が電気回路に行わせるように構成される機械類を囲繞するケージである。ドアが、機械類から十分に離れて設置され、機械類がシャットダウンされる前に人間が機械類に到達することができないことを確実にする場合、これは、人間が、機械類の動作中、機械類に決して接近することができないことを確実にする。当然ながら、これは、人間と機械との間の全ての相互作用を防止し、作業空間の使用を著しく制約する。
【0004】
人間だけではなく機械類(例えば、ロボット)もまた、作業空間内で移動することができる場合、問題は、悪化させられる。両方とも、高速かつ非均一な方法で位置および構成を変化させ得る。典型的産業ロボットは、定常であるが、それでもなお、可能性として考えられる移動軌道の広「移動域(envelope)」にわたって傷害を引き起こすことができる強力なアームを有する。加えて、ロボットは、多くの場合、レール上または他のタイプの外部軸上に搭載され、付加的機械類が、多くの場合、ロボットのエンドエフェクタの中に組み込まれ、両方とも、ロボットの有効総移動域を増加させる。
【0005】
光カーテン等のセンサが、ケージまたは他の物理的障壁の代用とされることができ、人間および機械類が接触することを防止するための代替方法を提供する。2次元(2D)光検出および測距(LIDAR)センサ等のセンサは、産業機械類またはロボットが、侵入が外側ゾーン内で検出されると、減速することまたは警告を発することを可能にし、侵入が内側ゾーン内で検出されたときのみ、停止することを可能にする等、より高度な能力を提供することができる。加えて、2D LIDARを使用するシステムは、種々の形状における複数のゾーンを定義することができる。
【0006】
人間の安全性が危うくなるため、防護機器は、典型的には、機能安全性に関する厳しい産業規格(例えば、ISO13849、IEC61508、およびIEC62061)に準拠しなければならない。これらの規格は、ハードウェアコンポーネントの最大障害率を規定し、システムが産業設定において使用するために安全と見なされるために準拠されなければならないハードウェアおよびソフトウェアコンポーネントの両方のための厳格な展開実践を定義する。
【0007】
そのようなシステムは、危険条件およびシステム障害が、非常に高確率で検出され得ることと、システムが、制御されている機器を安全状態に遷移させることによって、そのようなイベントに応答することとを確実にしなければならない。例えば、ゾーン侵入を検出するシステムは、侵入を登録するようにバイアスされ得る(すなわち、検出漏れの危険な結果を回避するために、誤検出のリスクを犯す)。
【0008】
機械防護において使用するための有意な有望性を示すセンサの1つの新しいクラスは、3次元(3D)深度情報を提供する。そのようなセンサの実施例は、3D飛行時間カメラ、3D LIDAR、およびステレオビジョンカメラを含む。これらのセンサは、3Dにおいて、産業機械類を囲繞するエリアの中への侵入を検出および位置特定する能力をもたらし、これは、2Dシステムに優るいくつかの利点を有する。特に、複雑な作業セルに関して、監視目的のために、空間全体を事実上網羅する2D平面の組み合わせを判定することは、非常に困難であり得る。適切に構成される3Dセンサは、この問題点を緩和することができる。
【0009】
例えば、産業ロボットの床面積を防護する2D LIDARシステムは、侵入がある人物の脚部を表す場合にその人物の腕がはるかに近づいて2D LIDARシステムによって検出不能であるため、ロボットから腕の長さ分離れた距離(「保護分離距離」またはPSD)をはるかに越えて侵入が検出されるときに、ロボットを先制して停止させる必要がある。腕または手を検出することができないセンサに関して、PSDは、典型的には850mmに設定される侵入距離と呼ばれる余剰項を有する。3Dシステムは、対照的に、人物が実際にその腕をロボットに向かって伸展させるまで、ロボットが動作し続けることを可能にすることができる。これは、機械のアクションと人間のアクションとの間のはるかに緊密な連動を提供し、これは、早期または不必要なシャットダウンを回避し、多くの新しい安全用途および作業セル設計を促進し、(常時、高値である)工場の床上の空間を節約する。
【0010】
3D感知の別の用途は、人間および機械がともに協働することによって最良に達成されるタスクを伴う。人間および機械は、非常に異なる長所および短所を有する。典型的には、機械は、より強く、より高速で、より精密で、かつより優れた再現性をもたらし得る。人間は、最先端機械の能力をはるかに上回る、柔軟性、巧妙性、および判断力を有する。協働用途の実施例は、車内へのダッシュボードの配設である。ダッシュボードは、重く、人間が操縦することが困難であるが、それを取り付けることは、人間の巧妙性を要求する種々のコネクタおよび締結具を要求する。3D感知に基づく防護システムは、産業エンジニアが、安全性を保ちながらそれらの異なる能力を最良に活用するように、サブタスクを人間および機械に最適に配分するプロセスを設計することを可能にし得る。
【0011】
2Dおよび3D感知システムは、下層技術を共有してもよい。例えば、RGBカメラおよびステレオビジョンカメラは、レンズとセンサの組み合わせ(すなわち、カメラ)を利用して、場面の画像を捕捉し、これは、次いで、アルゴリズム的に分析される。カメラベースの感知システムは、典型的には、いくつかのキーコンポーネントを含む。光源は、点検または測定されているオブジェクトを照明する。この光源は、アクティブ感知システムにおけるように、カメラの一部であり得る、または、カメラの視野を照明するランプあるいはさらに周囲光等、カメラから独立してもよい。レンズは、オブジェクトから反射された光を集束し、広視野を提供する。画像センサ(通常、CCDまたはCMOSアレイ)は、光を電気信号に変換する。カメラモジュールは、通常、レンズ、画像センサ、および必要な電子機器を統合し、さらなる分析のための電気入力を提供する。
【0012】
カメラモジュールからの信号は、フレームグラバ等の画像捕捉システムにフィードされ、これは、2Dまたは3D画像信号を記憶およびさらに処理する。プロセッサは、捕捉された場面内のオブジェクトの識別、測定、および位置特定のために、画像分析ソフトウェアを起動する。システムの具体的設計に応じて、プロセッサは、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、または任意の数の他のアーキテクチャを使用することができ、これは、独立型コンピュータ内に展開されてもよい、または、カメラモジュール内に統合されてもよい。
【0013】
2Dカメラベースの方法は、縁検出またはテンプレートマッチング等の周知の画像処理技法を使用して、欠陥を検出するまたは測定を行うために非常に適している。2D感知は、非構造化環境において使用されており、高度画像処理アルゴリズムを用いて、変動する照明および陰影条件を補償し得る。しかしながら、3D情報を2D画像から導出するためのアルゴリズムは、その障害モードが特徴付けることが困難であるため、安全性重要用途のためのロバスト性および好適性を欠いている場合がある。
【0014】
典型的画像は、オブジェクトまたは空間の2D情報を提供するが、3Dカメラは、別の次元を追加し、場面内のオブジェクトおよび他の要素までの距離を推定する。3D感知は、したがって、オブジェクトまたは空間の3D輪郭を提供することができ、これ自体が、周囲環境の3Dマップを作成し、オブジェクトをこのマップに対して位置付けるために、使用されることができる。ロバストな3D視覚は、深度測定が前景を背景から容易に分離するために使用されることができるため、2D視覚の多くの問題を克服する。これは、特に、場面理解のために有用であり、第1のステップは、着目対象(前景)を画像の他の部分(背景)からセグメント化することである。
【0015】
広く使用されている3Dカメラベースの感知アプローチは、立体視、すなわち、ステレオビジョンである。ステレオビジョンは、概して、人間の眼に類似する物理的配列における2つの離間されたカメラを使用する。空間内の点状オブジェクトを前提として、カメラ分離は、2つのカメラ画像内のオブジェクト位置の測定可能不均衡につながる。単純ピンホールカメラ幾何学形状を使用して、3D内のオブジェクトの位置が、カメラの各々内の画像から計算されることができる。このアプローチは、直感的であるが、その実世界実装は、多くの場合、それほど単純ではない。例えば、2つの画像が三角測量のために比較されることができるように、標的の特徴が、最初に認識される必要があるが、特徴認識は、比較的に複雑な計算を伴い、実質的処理電力を消費し得る。
【0016】
さらに、3D立体視は、背景照明環境に大きく依存し、その有効性は、陰影、オクルージョン、低コントラスト、照明変化、またはオブジェクトあるいはセンサの予期しない移動によって、劣化される。したがって、多くの場合、標的の囲繞ビューを取得し、それによって、オクルージョンをハンドリングするために、または、冗長性を提供し、劣化された非制御環境によって生じる誤差を補償するために、2つより多いセンサが使用される。別の一般的代替は、特徴を検出するシステムの能力を向上させるための構造化された光パターンの使用である。
【0017】
3D結像の別のアプローチは、レーザまたは他のアクティブ光源および検出器を利用する。光源-検出器システムは、同様にレンズおよび画像センサを統合し、光学信号を電気信号に変換するという点で、カメラベースのシステムに類似するが、画像が捕捉されない。代わりに、画像センサは、緊密に集束された光ビーム(通常、レーザビーム)の位置および/または強度の変化を経時的に測定する。検出された光ビームの位置および/または強度のこの変化は、オブジェクト整列、スループット、反射角度、飛行時間、または他のパラメータを判定し、観察下の空間またはオブジェクトの画像またはマップを作成するために、使用される。光源-検出器の組み合わせは、アクティブ三角測量、構造化された光、LIDAR、および飛行時間センサを含む。
【0018】
アクティブ三角測量は、狭集束光源を用いて精査下のオブジェクトを先を見越して照明することによって、立体視3Dの環境限界を軽減させる。アクティブ照明の波長は、制御されることができ、センサは、他の波長における光を無視し、それによって、周囲光干渉を低減させるように、設計されることができる。さらに、光源の場所は、変化され、オブジェクトが点を横断して複数の角度から走査され、オブジェクトの完全3D写真を提供することを可能にすることができる。
【0019】
3D構造化光は、三角測量およびアクティブ光源に基づく別のアプローチである。このアプローチでは、事前に設計された光パターン(例えば、平行線、グリッド、またはスペックル)が、標的上に送られる。観察される反射されたパターンは、標的の輪郭によって歪曲され、輪郭ならびにオブジェクトまでの距離は、歪曲の分析によって復元されることができる。コーディングまたは位相偏移されたパターンの連続投影が、多くの場合、単一深度フレームを抽出するために要求され、これは、より低いフレームレートにつながり、これは、ひいては、投影シーケンスの間、ぼけを回避するために、対象が比較的に静止したままでなければならないことを意味する。
【0020】
単純アクティブ三角測量と比較して、構造化された光は、「特徴点」を標的に追加する。特徴点は、事前に判定され(すなわち、空間的にエンコーディングされ)、非常に認識可能であるため、構造化された光アプローチは、特徴認識をより容易にし、したがって、三角測量をより高速かつより信頼性があるものにする。この技術は、複雑性を受信機から源へ偏移させ、より高度な光源を要求するが、より単純なセンサおよびより低い計算強度を要求する。
【0021】
走査LIDARは、パルス状レーザビームを用いてそれを照明し、反射されたパルスをセンサで測定することによって、オブジェクトまたは空間までの距離を測定する。レーザビームを2Dおよび3Dにおいて走査することによって、レーザ戻り時間および波長における差異が、走査されるオブジェクトまたは空間の2Dもしく3D表現を作成するために使用されることができる。LIDARは、紫外線(UV)、可視、または近赤外線光を使用し、これは、典型的には、後方散乱を介して反射され、精査されている空間またはオブジェクトの画像またはマップを形成する。
【0022】
3D飛行時間(ToF)カメラは、変調された光源を用いて場面を照明し、反射された光を観察することによって機能する。照明と反射との間の位相偏移が、測定され、距離に変換される。LIDARと異なり、光源は、走査されない。代わりに、場面全体が、同時に照明され、より高いフレームレートをもたらす。典型的には、照明は、人間の眼に不可視の近赤外線範囲(約800~1,500nm)で動作するソリッドステートレーザまたはLEDからのものである。結像センサは、同一スペクトルに応答して、光を受け取り、光子エネルギーを電流、次いで、電荷、次いで、デジタル化された値に変換する。センサに入射する光は、周囲光に起因する成分と、変調された照明源からの成分とを有する。距離(深度)情報は、変調された照明から反射された成分内にのみ内蔵される。したがって、高周囲成分は、信号対雑音比(SNR)を低減させる。
【0023】
照明と反射との間の位相偏移を検出するために、3D ToFカメラ内の光源は、持続波源、典型的には、正弦または方形波によってパルス化または変調される。距離は、2Dアドレス指定可能なアレイ内のピクセル毎に測定され、深度マップ、すなわち、3D点の集合をもたらす。代替として、深度マップは、3D空間内に、点の集合(すなわち、点群)としてレンダリングされることができる。3D点は、数学的に接続され、メッシュを形成することができ、メッシュの上に、テクスチャ化された表面がマッピングされることができる。
【0024】
3D ToFカメラは、産業設定において使用されているが、今日まで、展開は、不安全性重要用途(例えば、ビンピッキングおよびパレット積載)を伴う傾向にあった。既存の既製の3D ToFカメラは、安全性評価されていないため、それらは、安全性重要用途(例えば、機械防護または協働ロボット用途)において使用されることができない。故に、ToFカメラを含む3Dカメラを、高度な安全性を要求して産業認識安全性規格に準拠する用途において有用にする、アーキテクチャおよび技法の必要性が存在する。
【発明の概要】
【課題を解決するための手段】
【0025】
本発明の実施形態は、1つ以上の3Dカメラ(例えば、ToFカメラ)を産業安全性用途において利用する。3Dカメラは、外部ハードウェアおよびソフトウェアによって使用され、オブジェクトを作業セル内で分類し、機械類のための制御信号を生成し得る、深度マップまたは点群を生成する。機能安全性規格を満たすことに加え、本発明の実施形態は、3D結像によって提供される豊富で複雑なデータをハンドリングし、これらのデータを処理し、産業機械類のための効果的かつ信頼性がある制御出力を生成することができる。
【0026】
故に、第1の側面では、本発明は、画像処理システムに関する。種々の実施形態では、本システムは、第1および第2の3Dセンサであって、各々、センサの視野内のオブジェクトまでの距離を示すピクセル毎値の出力アレイを生成するためのものであり、第1および第2の3Dセンサの視野は、別個の光学経路に沿って重複する、第1および第2の3Dセンサと、各3Dセンサから、複数の順次取得された出力アレイを単一の結果として生じる(すなわち、組み合わせられた)出力アレイに組み合わせるための少なくとも1つのプロセッサと、プロセッサによって実行可能である第1および第2の深度計算エンジンであって、第1および第2の深度計算エンジンは、それぞれ第1および第2の3Dセンサから生じる、連続した結果として生じる出力アレイを、深度値のピクセル毎アレイに処理するためのものである、第1および第2の深度計算エンジンと、プロセッサによって実行可能である比較ユニットであって、比較ユニットは、(i)第1および第2の3Dセンサから実質的に同時に生じる、対応する処理された結果として生じる出力アレイ間の深度のピクセル毎差異を検出し、(ii)深度の検出された差異が合計して雑音メトリックを超える場合、アラート信号を生成するためのものである、比較ユニットとを備える。深度計算エンジンは、以前の組み合わせられた出力アレイの処理の完了に先立って、新しい組み合わせられた出力アレイの処理を開始するように、パイプライン方式で動作する。
【0027】
いくつかの実施形態では、3Dセンサは、飛行時間(ToF)センサである。第1および第2の深度計算エンジンおよび比較ユニットは、例えば、フィールドプログラマブルゲートアレイによって実行されてもよい。
【0028】
種々の実施形態では、本システムは、少なくとも1つの温度センサをさらに備え、3Dセンサは、温度センサに応答して、それに従って、その個別の出力アレイを修正する。同様に、本システムは、少なくとも1つの湿度センサをさらに備えてもよく、その場合、3Dセンサは、湿度センサに応答して、それに従って、その個別の出力アレイを修正する。
【0029】
複数の順次取得された出力アレイは、無照明下で3Dセンサによって捕捉された暗フレームを使用して、単一の結果として生じる出力アレイに組み合わせられてもよい。ピクセル毎値の出力アレイはまた、センサ視野内のオブジェクトまでの推定される距離を示す値毎の光学強度値を含んでもよく、深度計算エンジンは、関連付けられる光学強度値に少なくとも部分的に基づいて、深度値毎に、誤差メトリックを計算してもよい。誤差メトリックは、センサ雑音、暗フレームデータ、および/または周囲光あるいは温度にさらに基づいてもよい。いくつかの実施形態では、深度計算エンジンの各々は、パイプライン方式で動作し、それによって、複数の計算処理ステップの各々の実行後、最も古い組み合わせられた出力アレイの処理は、完了され、最も新しい組み合わせられた出力アレイの処理が、開始される。
【0030】
いくつかの実施形態では、本システムは、システムの総累積動作時間を記憶するためのタイマをさらに備える。タイマは、所定の総累積動作時間を超えると、アラートを発するように構成される。本システムは、システムの全ての電圧レールの過電圧/電圧不足を監視するための、および障害条件の検出に応じてシステム電力を中断させるための電圧モニタを含んでもよい。
【0031】
別の側面では、本発明は、画像処理システムに関し、画像処理システムは、種々の実施形態では、複数の3Dセンサであって、各々、(i)センサの視野を照明し、(ii)照明された視野内のオブジェクトまでの距離を示すピクセル毎値の出力アレイを生成するためのものである、複数の3Dセンサと、(i)他の3Dセンサがその視野を照明する間、順次、3Dセンサの各々に、出力アレイを生成させ、(ii)生成された出力アレイから干渉行列を作成するための較正ユニットとを備える。干渉行列は、3Dセンサ毎に、それと同時にアクティブである他の3Dセンサによる干渉度を示す。
【0032】
本システムは、干渉行列に従って3Dセンサを動作させるためのプロセッサをさらに備えてもよい。プロセッサは、3Dセンサのうちの1つの動作中、1つ以上の他の3Dセンサの同時動作を抑制してもよい。プロセッサは、1つ以上の他の3Dセンサの同時動作中、センサのうちの1つによって取得される値の補正を生じさせてもよい。
【0033】
いくつかの実施形態では、本システムは、干渉を伴うことなく3Dセンサを個々に動作させるための外部同期をさらに備える。本システムは、システムの総累積動作時間を記憶するためのタイマをさらに備えてもよい。較正ユニットは、総累積動作時間に応答して、それに基づいて、距離を示すピクセル毎値を調節するように構成されてもよい。
【0034】
種々の実施形態では、本システムは、少なくとも1つの温度センサをさらに備え、較正ユニットは、温度センサに応答して、それに基づいて、距離を示すピクセル毎値を調節するように構成される。同様に、本システムは、少なくとも1つの湿度センサをさらに備えてもよく、その場合、較正ユニットは、湿度センサに応答して、それに基づいて、距離を示すピクセル毎値を調節するように構成される。本システムは、システムの全ての電圧レールの過電圧/電圧不足を監視するための、および障害条件の検出に応じてシステム電力を中断させるための電圧モニタを含んでもよい。
【0035】
本発明のさらに別の側面は、画像処理システムに関し、画像処理システムは、種々の実施形態では、ピクセル毎値の出力アレイを生成するための少なくとも1つの3Dセンサであって、値は、光学強度値およびセンサの視野内のオブジェクトまでの推定される距離を示す値を含む、少なくとも1つの3Dセンサと、プロセッサと、プロセッサによって実行可能である深度計算エンジンであって、深度計算エンジンは、少なくとも1つの3Dセンサから生じる連続した組み合わせられた出力アレイを深度値のピクセル毎アレイに処理するためのものである、深度計算エンジンとを備える。深度値の各々は、関連付けられる強度値に少なくとも部分的に基づく関連付けられる誤差メトリックを有する。誤差メトリックは、センサ雑音、暗フレームデータ、周囲光および/または温度にさらに基づいてもよい。
【0036】
いくつかの実施形態では、本システムは、安全移動域内で機械を動作させるためのコントローラをさらに備える。安全移動域は、センサによって感知されかつ機械に近接する人物に対応するピクセルの誤差メトリックに少なくとも部分的に基づいて判定される体積を有する。本システムは、システムの全ての電圧レールの過電圧/電圧不足を監視するための、および障害条件の検出に応じてシステム電力を中断させるための電圧モニタを含んでもよい。
【0037】
さらに別の側面では、本発明は、3D空間およびその中のオブジェクトのデジタル表現を生成し、表現内の異常を検出する方法に関する。種々の実施形態では、本方法は、第1および第2の3Dセンサを空間内または空間に近接して配置するステップと、センサの各々に、3D空間内およびセンサの視野内のオブジェクトまでの距離を示すピクセル毎値の出力アレイを生成させるステップであって、第1および第2の3Dセンサの視野は、別個の光学経路に沿って重複する、ステップと、各3Dセンサから、複数の順次取得された出力アレイを、単一の結果として生じる出力アレイに計算的に組み合わせるステップと、パイプライン方式において、それぞれ第1および第2の3Dセンサから生じる、連続した結果として生じる出力アレイを、深度値のピクセル毎アレイに計算的に処理するステップと、第1および第2の3Dセンサから実質的に同時に生じる、対応する処理された結果として生じる出力アレイ間の深度のピクセル毎差異を検出するステップと、深度の検出された差異が合計して雑音メトリックを超える場合、アラート信号を生成するステップとを含む。
【0038】
3Dセンサは、飛行時間(ToF)センサであってもよい。いくつかの実施形態では、本方法はまた、少なくとも1つの温度センサを提供し、温度センサの出力に応答して、出力アレイを修正させるステップを含む。同様に、いくつかの実施形態では、本方法は、少なくとも1つの湿度センサに提供し、湿度センサの出力に応答して、出力アレイを修正させるステップをさらに含む。
【0039】
複数の順次取得された出力アレイは、平均される、または他の態様で、無照明下で3Dセンサによって捕捉された暗フレームを使用して、単一の結果として生じる出力アレイに組み合わせられてもよい。ピクセル毎値の出力アレイはまた、センサのセンサ視野内のオブジェクトまでの推定される距離を示す値毎の光学強度値を含んでもよく、誤差メトリックは、関連付けられる光学強度値に少なくとも部分的に基づいてもよい。さらに、誤差メトリックは、センサ雑音、暗フレームデータ、周囲光および/または温度にさらに基づいてもよい。
【0040】
いくつかの実施形態では、本方法は、システムの総累積動作時間を記憶し、所定の総累積動作時間を超えると、アラートを発するステップをさらに含む。実行は、複数の計算処理ステップの各々の実行後、最も古い組み合わせられる出力アレイの処理が完了されるにつれて、最も新しい組み合わせられる出力アレイの処理が開始されるように、パイプライン式であってもよい。
【0041】
さらに別の側面では、本発明は、3D深度感知のためにセンサアレイを較正する方法に関する。種々の実施形態では、本方法は、複数の3Dセンサを提供するステップであって、複数の3Dセンサは、各々、(i)センサの視野を照明し、(ii)照明された視野内のオブジェクトまでの距離を示すピクセル毎値の出力アレイを生成するためのものである、ステップと、他の3Dセンサがその視野を照明する間、順次、3Dセンサの各々に、出力アレイを生成させるステップと、生成された出力アレイから干渉行列を作成するステップであって、干渉行列は、3Dセンサ毎に、それと同時にアクティブである他の3Dセンサによる干渉度を示す、ステップとを含む。
【0042】
3Dセンサは、3Dセンサのうちの1つの動作中、1つ以上の他の3Dセンサの同時動作が抑制され、および/または、1つ以上の他の3Dセンサの同時動作中、センサのうちの1つによって取得される値が補正されるように、干渉行列に従って動作されてもよい。3Dセンサは、干渉を伴うことなくそれらを個々に動作させるように、外部から同期されてもよい。
【0043】
種々の実施形態では、本方法は、システムの総累積動作時間を記憶し、それに基づいて、ピクセル毎値を調節するステップをさらに含む。本方法は、温度および/または湿度を感知し、それに基づいて、ピクセル毎値を調節するステップをさらに含んでもよい。
【0044】
本発明のさらに別の側面は、3D空間およびその中のオブジェクトのデジタル表現を生成する方法に関する。種々の実施形態では、本方法は、ピクセル毎値の出力アレイを生成するための少なくとも1つの3Dセンサを提供するステップであって、値は、光学強度値およびセンサの視野内のオブジェクトまでの推定される距離を示す値を含む、ステップと、3Dセンサから生じる連続した組み合わせられた出力アレイを深度値のピクセル毎アレイに処理するステップであって、深度値の各々は、関連付けられる強度値に少なくとも部分的に基づく関連付けられる誤差メトリックを有する、ステップとを含む。
【0045】
誤差メトリックは、センサ雑音、暗フレームデータ、周囲光および/または温度にさらに基づいてもよい。いくつかの実施形態では、本方法は、安全移動域内で機械を動作させるステップをさらに含み、安全移動域は、少なくとも1つのセンサによって感知されかつ機械に近接する人物に対応するピクセルの誤差メトリックに少なくとも部分的に基づいて判定される体積を有する。
【0046】
一般に、本明細書で使用されるように、用語「実質的に」は、±10%、いくつかの実施形態では、±5%を意味する。加えて、本明細書全体を通した「一実施例」、「ある実施例」、「一実施形態」、または「ある実施形態」の言及は、実施例と関連して説明される特定の特徴、構造、または特性が、本技術の少なくとも1つの実施例に含まれることを意味する。したがって、本明細書全体を通した種々の箇所における語句「一実施例では」、「ある実施例では」、「一実施形態」、または「ある実施形態」の出現は、全てが必ずしも同一の実施例を指すわけではない。さらに、特定の特徴、構造、ルーチン、ステップ、または特性は、本技術の1つ以上の実施例において任意の適した様式で組み合わせられてもよい。本明細書に提供される見出しは、便宜上のためだけのものであり、請求される技術の範囲または意味を限定または解釈することを意図していない。
本明細書は、例えば、以下の項目も提供する。
(項目1)
画像処理システムであって、
第1および第2の3Dセンサであって、各々、前記センサの視野内のオブジェクトまでの距離を示すピクセル毎値の出力アレイを生成するためのものであり、前記第1および第2の3Dセンサの視野は、別個の光学経路に沿って重複する、第1および第2の3Dセンサと、
各3Dセンサから、複数の順次取得された出力アレイを単一の結果として生じる出力アレイに組み合わせるための少なくとも1つのプロセッサと、
少なくとも1つのプロセッサによって実行可能である第1および第2の深度計算エンジンであって、それぞれ、前記第1および第2の3Dセンサから生じる、連続した結果として生じる出力アレイを、深度値のピクセル毎アレイに処理するためのものであり、前記深度計算エンジンは、以前の結果として生じる出力アレイの処理の完了に先立って、新しい結果として生じる出力アレイの処理を開始するように、パイプライン方式で動作する、深度計算エンジンと、
前記少なくとも1つのプロセッサによって実行可能である比較ユニットであって、(i)前記第1および第2の3Dセンサから実質的に同時に生じる、対応する処理された結果として生じる出力アレイ間の深度のピクセル毎差異を検出し、(ii)深度の前記検出された差異が合計して雑音メトリックを超える場合、アラート信号を生成するためのものである、比較ユニットと
を備える、システム。
(項目2)
前記3Dセンサは、飛行時間(ToF)センサである、項目1に記載のシステム。
(項目3)
前記第1および第2の深度計算エンジンおよび前記比較ユニットは、フィールドプログラマブルゲートアレイによって実行される、項目1に記載のシステム。
(項目4)
少なくとも1つの温度センサをさらに備え、前記3Dセンサは、前記少なくとも1つの温度センサに応答して、それに従って、その個別の出力アレイを修正する、項目1に記載のシステム。
(項目5)
少なくとも1つの湿度センサをさらに備え、前記3Dセンサは、前記少なくとも1つの湿度センサに応答して、それに従って、その個別の出力アレイを修正する、項目1に記載のシステム。
(項目6)
前記複数の順次取得された出力アレイは、無照明下で前記3Dセンサによって捕捉された暗フレームを使用して、単一出力アレイに組み合わせられる、項目1に記載のシステム。
(項目7)
前記ピクセル毎値の出力アレイはまた、前記センサの視野内のオブジェクトまでの推定される距離を示す値毎の光学強度値を含み、前記深度計算エンジンは、前記関連付けられる光学強度値に少なくとも部分的に基づいて、前記深度値毎に、誤差メトリックを計算する、項目1に記載のシステム。
(項目8)
前記誤差メトリックは、センサ雑音、暗フレームデータ、周囲光、または温度のうちの少なくとも1つにさらに基づく、項目7に記載のシステム。
(項目9)
前記システムの総累積動作時間を記憶するためのタイマをさらに備え、前記タイマは、所定の総累積動作時間を超えると、アラートを発するように構成される、項目1に記載のシステム。
(項目10)
前記深度計算エンジンの各々は、パイプライン方式で動作し、それによって、複数の計算処理ステップの各々の実行後、最も古い結果として生じる出力アレイの処理は、完了され、最も新しい結果として生じる出力アレイの処理が、開始される、項目1に記載のシステム。
(項目11)
前記システムの全ての電圧レールの過電圧/電圧不足を監視し、障害条件の検出に応じてシステム電力を中断するための電圧モニタをさらに備える、項目1に記載のシステム。
(項目12)
画像処理システムであって、
複数の3Dセンサであって、各々、(i)前記センサの視野を照明し、(ii)前記照明された視野内のオブジェクトまでの距離を示すピクセル毎値の出力アレイを生成するためのものである、複数の3Dセンサと、
(i)他の3Dセンサがその視野を照明する間、順次、前記3Dセンサの各々に、出力アレイを生成させ、(ii)前記生成された出力アレイから干渉行列を作成するための較正ユニットであって、前記干渉行列は、前記3Dセンサ毎に、それと同時にアクティブである他の3Dセンサによる干渉度を示す、較正ユニットと
を備える、システム。
(項目13)
前記干渉行列に従って前記3Dセンサを動作させるためのプロセッサをさらに備え、前記プロセッサは、前記3Dセンサのうちの1つの動作中、1つ以上の他の3Dセンサの同時動作を抑制する、項目12に記載のシステム。
(項目14)
前記干渉行列に従って前記3Dセンサを動作させるためのプロセッサをさらに備え、前記プロセッサは、1つ以上の他の3Dセンサの同時動作中、前記センサのうちの1つによって取得される前記値の補正を生じさせる、項目12に記載のシステム。
(項目15)
干渉を伴うことなく前記3Dセンサを個々に動作させるための外部同期をさらに備える、項目12に記載のシステム。
(項目16)
前記システムの総累積動作時間を記憶するためのタイマをさらに備え、前記較正ユニットは、前記総累積動作時間に応答して、それに基づいて、距離を示す前記ピクセル毎値を調節するように構成される、項目12に記載のシステム。
(項目17)
少なくとも1つの温度センサをさらに備え、前記較正ユニットは、前記少なくとも1つの温度センサに応答して、それに基づいて、距離を示す前記ピクセル毎値を調節するように構成される、項目12に記載のシステム。
(項目18)
少なくとも1つの湿度センサをさらに備え、前記較正ユニットは、前記少なくとも1つの湿度センサに応答して、それに基づいて、距離を示す前記ピクセル毎値を調節するように構成される、項目12に記載のシステム。
(項目19)
前記システムの全ての電圧レールの過電圧/電圧不足を監視し、障害条件の検出に応じてシステム電力を中断するための電圧モニタをさらに備える、項目12に記載のシステム。
(項目20)
画像処理システムであって、
ピクセル毎値の出力アレイを生成するための少なくとも1つの3Dセンサであって、前記値は、光学強度値および前記センサの視野内のオブジェクトまでの推定される距離を示す値を含む、少なくとも1つの3Dセンサと、
プロセッサと、
前記プロセッサによって実行可能である深度計算エンジンであって、前記深度計算エンジンは、前記少なくとも1つの3Dセンサから生じる連続した結果として生じる出力アレイを深度値のピクセル毎アレイに処理するためのものであり、前記深度値の各々は、前記関連付けられる強度値に少なくとも部分的に基づいて、関連付けられる誤差メトリックを有する、深度計算エンジンと
を備える、システム。
(項目21)
前記誤差メトリックは、センサ雑音、暗フレームデータ、周囲光、または温度のうちの少なくとも1つにさらに基づく、項目20に記載のシステム。
(項目22)
機械を安全移動域内で動作させるためのコントローラをさらに備え、前記安全移動域は、前記少なくとも1つのセンサによって感知されかつ前記機械に近接する人物に対応するピクセルの前記誤差メトリックに少なくとも部分的に基づいて判定される体積を有する、項目20に記載のシステム。
(項目23)
前記システムの全ての電圧レールの過電圧/電圧不足を監視し、障害条件の検出に応じてシステム電力を中断するための電圧モニタをさらに備える、項目20に記載のシステム。
(項目24)
3D空間およびその中のオブジェクトのデジタル表現を生成し、前記表現内の異常を検出する方法であって、前記方法は、
第1および第2の3Dセンサを前記空間内にまたは前記空間に近接して配置するステップと、
前記センサの各々に、前記3D空間内および前記センサの視野内のオブジェクトまでの距離を示すピクセル毎値の出力アレイを生成させるステップであって、前記第1および第2の3Dセンサの視野は、別個の光学経路に沿って重複する、ステップと、
各3Dセンサから、複数の順次取得された出力アレイを単一の結果として生じる出力アレイに計算的に組み合わせるステップと、
パイプライン方式において、それぞれ前記第1および第2の3Dセンサから生じる、連続した結果として生じる出力アレイを、深度値のピクセル毎アレイに計算的に処理するステップと、
前記第1および第2の3Dセンサから実質的に同時に生じる、対応する処理された結果として生じる出力アレイ間の深度のピクセル毎差異を検出するステップと、
深度の前記検出された差異が合計して雑音メトリックを超える場合、アラート信号を生成するステップと
を含む、方法。
(項目25)
前記3Dセンサは、飛行時間(ToF)センサである、項目24に記載の方法。
(項目26)
少なくとも1つの温度センサを提供し、前記少なくとも1つの温度センサの出力に応答して、前記出力アレイを修正させるステップをさらに含む、項目24に記載の方法。
(項目27)
少なくとも1つの湿度センサに提供し、前記少なくとも1つの湿度センサの出力に応答して、前記出力アレイを修正させるステップをさらに含む、項目24に記載の方法。
(項目28)
前記複数の順次取得された出力アレイは、無照明下で前記3Dセンサによって捕捉された暗フレームを使用して、単一の結果として生じる出力アレイに組み合わせられる、項目24に記載の方法。
(項目29)
前記ピクセル毎値の出力アレイはまた、センサのセンサ視野内のオブジェクトまでの推定される距離を示す値毎の光学強度値を含み、前記関連付けられる光学強度値に少なくとも部分的に基づいて、前記深度値毎に、誤差メトリックを計算するステップをさらに含む、項目24に記載の方法。
(項目30)
前記誤差メトリックは、センサ雑音、暗フレームデータ、周囲光、または温度のうちの少なくとも1つにさらに基づく、項目29に記載の方法。
(項目31)
前記システムの総累積動作時間を記憶するステップと、所定の総累積動作時間を超えると、アラートを発するステップとをさらに含む、項目24に記載の方法。
(項目32)
複数の計算処理ステップの各々の実行後、最も古い結果として生じる出力アレイの処理は、完了され、最も新しい結果として生じる出力アレイの処理が、開始される、項目24に記載の方法。
(項目33)
3D深度感知のためにセンサアレイを較正する方法であって、前記方法は、
複数の3Dセンサを提供するステップであって、前記複数の3Dセンサは、各々、(i)前記センサの視野を照明し、(ii)前記照明された視野内のオブジェクトまでの距離を示すピクセル毎値の出力アレイを生成するためのものである、ステップと、
他の3Dセンサがその視野を照明する間、順次、前記3Dセンサの各々に出力アレイを生成させるステップと、
前記生成された出力アレイから干渉行列を作成するステップであって、前記干渉行列は、前記3Dセンサ毎に、それと同時にアクティブである他の3Dセンサによる干渉度を示す、ステップと
を含む、方法。
(項目34)
前記干渉行列に従って前記3Dセンサを動作させ、前記3Dセンサのうちの1つの動作中、1つ以上の他の3Dセンサの同時動作を抑制するステップをさらに含む、項目33に記載の方法。
(項目35)
前記干渉行列に従って前記3Dセンサを動作させ、1つ以上の他の3Dセンサの同時動作中、前記センサのうちの1つによって取得される前記値の補正を生じさせるステップをさらに含む、項目33に記載の方法。
(項目36)
干渉を伴うことなく個々に動作させるように、前記3Dセンサを外部から同期させるステップをさらに含む、項目33に記載の方法。
(項目37)
前記システムの総累積動作時間を記憶し、それに基づいて、前記ピクセル毎値を調節するステップをさらに含む、項目33に記載の方法。
(項目38)
温度を感知し、それに基づいて、前記ピクセル毎値を調節するステップをさらに含む、項目33に記載の方法。
(項目39)
湿度を感知し、それに基づいて、前記ピクセル毎値を調節するステップをさらに含む、項目33に記載の方法。
(項目40)
3D空間およびその中のオブジェクトのデジタル表現を生成する方法であって、前記方法は、
ピクセル毎値の出力アレイを生成するための少なくとも1つの3Dセンサを提供するステップであって、前記値は、光学強度値および前記センサの視野内のオブジェクトまでの推定される距離を示す値を含む、ステップと、
前記少なくとも1つの3Dセンサから生じる連続出力アレイを深度値のピクセル毎アレイに処理するステップであって、前記深度値の各々は、前記関連付けられる強度値に少なくとも部分的に基づいて、関連付けられる誤差メトリックを有する、ステップと
を含む、方法。
(項目41)
前記誤差メトリックは、センサ雑音、暗フレームデータ、周囲光、または温度のうちの少なくとも1つにさらに基づく、項目40に記載の方法。
(項目42)
安全移動域内で機械を動作させるステップをさらに含み、前記安全移動域は、前記少なくとも1つのセンサによって感知されかつ前記機械に近接する人物に対応するピクセルの前記誤差メトリックに少なくとも部分的に基づいて判定される体積を有する、項目40に記載の方法。
【図面の簡単な説明】
【0047】
図面では、同様の参照文字が、概して、異なる図全体を通して同一の部分を指す。また、図面は、必ずしも縮尺通りではなく、代わりに、概して、本発明の原理を図示することに重点が置かれている。以下の説明では、本発明の種々の実施形態が、以下の図面を参照して説明される。
【0048】
【
図1】
図1は、本発明のある実施形態による、カメラアーキテクチャを図式的に図示する。
【0049】
【
図2】
図2は、
図1に図示される実施形態のデータフローを図式的に図示する。
【発明を実施するための形態】
【0050】
(詳細な説明)
続く議論は、ToFカメラを伴う実施形態を説明するが、本発明は、場面を記録して深度情報を(典型的には、ピクセル毎に)記録された場面に割り当てることが可能である任意の形態の3Dセンサを利用してもよいことを理解されたい。機能的に、3Dカメラは、外部ハードウェアおよびソフトウェアによって使用され、オブジェクトを作業セル内で分類し、機械類のための制御信号を生成し得る深度マップまたは点群を生成する。
【0051】
最初に、単一エンクロージャ内のカメラとしてまたは複数の別個のコンポーネントとして構成され得る代表的システム100を図示する
図1を参照する。カメラとして単一筐体内に実装され得るシステム100は、処理ユニット110と、一方(センサ115
M)がマスタとして動作して他方(センサ115
S)がスレーブとして動作する一対の3Dセンサ115とを含む。カメラ100(または、いくつかの実施形態では、センサ115の各々)はまた、光源(例えば、VCSELレーザ源)と、適したレンズと、光源に調整されるフィルタとを含む。光源から反射および後方散乱された光は、レンズによって捕捉され、センサ115によって記録される。光源は、拡散器120を含んでもよいが、低電力用途では、発光ダイオード(LED)が、レーザ源および拡散器の代わりに使用されてもよい。
【0052】
プロセッサ110は、任意の適したタイプのコンピューティングハードウェア(例えば、マイクロプロセッサ)であってもよいまたはそれを含んでもよいが、種々の実施形態では、マイクロコントローラ、周辺集積回路要素、CSIC(顧客特有の集積回路)、ASIC(特定用途向け集積回路)、論理回路、デジタル信号プロセッサ、プログラマブル論理デバイス、例えば、FPGA(フィールドプログラマブルゲートアレイ)、PLD(プログラマブル論理デバイス)、PLA(プログラマブル論理アレイ)、RFIDプロセッサ、グラフィック処理ユニット(GPU)、スマートチップ、または、本発明のプロセスのステップを実装することが可能である任意の他のデバイスまたはデバイスの配列であってもよい。
【0053】
図示される実施形態では、プロセッサ110は、FPGAを動作させ、有利なこととして、安全性評価動作(例えば、安全性分離設計フロー)をサポートし、設計の安全性重要部分のための場所およびルートを封鎖するための特徴と、クロックチェックと、単一イベントアップセットと、FPGA境界を越える種々のデータおよび通信経路のためのCRC機能と、個々のサブモジュールのための安全性評価機能の使用法とを提供し得る。プロセッサの統合されたメモリ内、および/または、別個の一次ランダムアクセスメモリ(RAM)125(典型的には、動的RAM、すなわち、DRAM)内には、プロセッサ110の動作と他のハードウェアコンポーネントとのその相互作用とを制御するモジュールのグループとして概念上図示される命令が、存在する。これらの命令は、任意の適したフレームワークおよびライブラリ(例えば、限定ではないが、TensorFlow、Keras、PyTorch、またはTheano)を利用する任意の適したプログラミング言語(限定ではないが、C、C++、C#、Java(登録商標)、Python、Ruby、Scala、およびLua等の高水準言語を含む)でコーディングされてもよい。加えて、ソフトウェアは、標的デバイス上に常駐するマイクロプロセッサを対象とするアセンブリ言語および/または機械言語で実装されることができる。オペレーティングシステム(図示せず)は、メモリ配分、ファイル管理、および大容量記憶デバイスの動作等の低レベルの基本システム機能の実行を指示する。より高いレベルでは、一対の従来の深度計算エンジン1301、1302が、未加工3Dセンサデータを受信し、記録された場面の各ピクセルに深度値を割り当てる。未加工データは、センサから生じる非較正データ(例えば、ピクセルあたり12ビット)を指す。
【0054】
2つの独立レンズおよび3Dセンサモジュール115の使用は、2つの別個の光学経路を作成する。この冗長性は、カメラモジュール115のうちの1つが動作中に障害を受ける場合、即座の検出を可能にする。また、正確に同一の画像を各レンズとセンサとの組み合わせから取り上げないことによって、付加的レベルの処理が、画像比較モジュール135によって実施されることができ、これは、一方の光学経路からのピクセルの応答を他方の光学経路の対応するピクセルの中に投影する。(この投影は、例えば、較正相の間、判定されてもよい。)この比較を通して検出されることができる障害モードは、複数の反射およびセンサ間干渉に起因する異常検出を含む。2つのセンサ115が、カメラの性能特性に基づいて、確立された雑音メトリック内で一致するとき、2つの独立画像はまた、雑音を低減させ、および/または分解能を増加させるために使用されることができる。二重チャネル結像のための冗長感知は、産業環境内で安全性重要動作のために要求される信頼性レベルが満たされ得ることを確実にする。
【0055】
比較モジュール135によって計算された比較メトリックが、許容範囲内である場合、マージされた出力が、ネットワーク通信プロトコルに従って、出力のために処理される。図示される実施形態では、出力は、従来の短待ち時間Ethernet(登録商標)通信層140によって提供される。この出力は、例えば、2019年2月27日に出願された米国仮出願第62/811,070号(その開示全体は、参照により本明細書に援用される)に説明されるように、制御される機械類のための安全性評価プロセッサシステムによって利用されてもよい。
【0056】
システム100は、温度および湿度等の条件を測定する1つ以上の環境センサ145を含み得る。一実施形態では、複数のオンボード温度センサ145が、システム生成熱および周囲温度変化またはドリフトがカメラの動作パラメータに影響を及ぼすにつれて、3D感知モジュールを較正および補正するために、センサ115を横断して複数の場所に(例えば、照明アレイの中心に、カメラエンクロージャ上に、およびカメラエンクロージャ内の内部に(1つをマスタセンサの近くに、1つをスレーブセンサの近くに))配置される。例えば、カメラ温度変動は、カメラのベースライン較正、正確度、および動作パラメータに影響を及ぼし得る。較正は、性能が維持される動作温度範囲を確立するために採用されてもよい。これらの範囲外の条件のセンサ検出は、シャットダウンを引き起こし、危険な障害を防止することができる。温度補正パラメータは、較正中、推定され得、次いで、動作中、リアルタイムで適用され得る。一実施形態では、システム100は、安定背景画像を識別し、これを使用して、較正の正確性および温度補正画像が経時的に安定したままであることを常に照合する。
【0057】
安全性評価システム内の深度センサの使用に関する基本問題は、各ピクセルからの深度結果が100%の確実性で把握されないことである。オブジェクトまでの実際の距離は、報告される深度と異なり得る。最適に照明されたオブジェクトに関して、この差異は、わずかであり、無視されることができる。しかしながら、準最適に照明されたオブジェクトに関して、報告される深度と実際の深度との間の誤差は、有意となり、オブジェクトの実際の場所と見掛け場所との間の不整合として露見し得、この不整合は、ピクセルベースでランダム化される。ピクセルレベル誤差は、例えば、未加工データ飽和またはクリッピング、異なる変調周波数によって算出されるような分解不能曖昧距離、異なる変調周波数間の大強度不整合、低SNRに起因したある閾値を上回る予測される測定誤差、あるいは、過剰な周囲光レベルから生じ得る。正確な距離を把握する必要がある安全性評価システムは、そのような誤差を許容することができない。典型的ToFカメラによってとられるアプローチは、受信された強度があるレベルを下回る場合、所与のピクセルに関するデータを完全に取り除くことである。中または低受信光学強度を伴うピクセルに関して、システムは、データを保守的に考慮せず、そのピクセルに関して完全に盲目的となり得るか、または、ある距離だけずれ得るカメラの報告される深度結果を承認し得るかのいずれかである。
【0058】
故に、出力内に提供される深度データは、未加工データ処理および統計的モデルに基づいて、ピクセルベースで、深度結果のある予測される測定誤差範囲を含み得る。例えば、ToFカメラは、ピクセルあたり2つの値(すなわち、深度および光学強度)を出力することが一般的である。強度は、データ信頼度の大まかなメトリック(すなわち、誤差の逆数)として使用されることができ、したがって、深度および強度を出力する代わりに、出力内に提供されるデータは、深度および誤差範囲となり得る。範囲誤差はまた、変数(例えば、センサ雑音、(下記に説明されるような)暗フレームデータ、および環境要因(例えば、周囲光および温度))に基づいて、ピクセルベースで予測されてもよい。
【0059】
したがって、このアプローチは、閾値を下回る信号対雑音比(SNR)を伴うピクセルに関する全ての深度データを無視する、上記に説明されるような単純合否基準に優る改良を表す。単純合否アプローチを用いることで、深度データは、ゼロ測定誤差が存在するかのように提示され、したがって、このデータの完全性に依拠する安全性重要プロセスは、実際の測定誤差がシステムレベルにおいて安全性に影響を及ぼさないように、SNR閾値を十分に高く設定しなければならない。中から低のSNRを伴うピクセルは、増加された測定誤差を有するにもかかわらず、依然として、有用な深度情報を含有し得、(高SNR閾値において)完全に無視されるか、または(低SNR閾値において)ゼロ測定誤差の正しくない仮定と併用されるかのいずれかである。ピクセルベースの測定誤差範囲を含むことは、より高いレベルの安全性重要プロセスが、低から中のSNRレベルを伴うピクセルからの情報を利用しながら、そのようなピクセルからの深度結果を適切に境界することを可能にする。これは、単純合否アプローチに優る全体的システム性能および可用時間を改良し得るが、非常に低SNRピクセルに関する合否基準も、依然として、このアプローチと併用されることができることに留意されたい。
【0060】
本明細書の実施形態によると、誤差検出は、最大許容可能誤差(または同等に最小要求強度)に関する閾値を単に設定することなく、ピクセルベースで、誤った深度結果がより高いレベル安全性重要プロセスに伝搬されることを防止する一般的客観性を伴う、異なる形態をとることができる。例えば、ピクセルの深度は、対応するピクセル誤差コードとともに、0として報告されることができる。代替として、深度計算エンジン130は、予期される範囲誤差とともに、深度報告を出力し、下流安全性評価システムが、ピクセルが使用されることを許容するために誤差が十分に低いかどうかを判定することを可能にすることができる。
【0061】
例えば、米国特許第10,099,372号(その開示全体は、参照により本明細書に援用される)に説明されるように、ロボット安全性プロトコルは、回避されるべきロボット上の任意の点と感知されるオブジェクトの関連セット内の任意の点との間の最小距離に比例して、ロボットの最大速度(それによって、ロボット自体またはその任意の付属物の速度が意図される)を変調させることを伴い得る。ロボットは、最も近いオブジェクトが、それを越えると衝突が懸念されないある閾値距離より遠く離れるとき、最大速さで動作することを可能にされ、ロボットは、ある最小距離内にオブジェクトがある場合、完全に休止される。十分な許容差が、規定された距離に追加され、ある最大現実的速度における関連オブジェクトまたはロボットに向かう人間の移動を考慮することができる。したがって、1つのアプローチでは、外側移動域または3Dゾーンが、ロボットの周囲に計算的に生成される。このゾーン外では、例えば、検出された人物の全ての移動は、動作サイクル内において、それらが、人物をロボットに十分に近づけ、危険に曝すことができないため、安全と見なされる。第1のゾーン内に計算的に定義される第2の3Dゾーン内の人物の身体の任意の部分の検出は、ロボットが全速力で動作し続けることを阻止しない。しかし、検出された人物の任意の部分が、第2のゾーンの閾値を超えるが、依然として、第2のゾーン内の第3の内部危険ゾーン外である場合、ロボットは、より低速で動作するようにシグナリングされる。検出された人物の任意の部分が、最内危険ゾーンの中に越える場合、または人間移動のモデルに基づいて、次のサイクルにおいてそうすることが予測される場合、ロボットの動作は、休止される。
【0062】
この場合、安全性ゾーンは、推定される深度誤差に基づいて、調節されてもよい(または検出された人物によって占有されると見なされる空間は、拡張されてもよい)。検出された誤差が大きいほど、検出された人物によって占有されると仮定される安全性ゾーンまたは空間の移動域は、より大きくなる。このように、ロボットは、あまりに多くのピクセルが合否基準を満たすわけではないため、シャットダウンの代わりに、誤差推定に基づいて、動作を継続し得る。
【0063】
場面の任意の単一画像は、微光および雑音を含有し得るため、動作時、場面の複数の画像が、両方のセンサ115によって、フレームトリガに従って、高速で連続して取得される。これらの「サブフレーム」は、次いで、平均され、または他の態様で組み合わせられ、センサ115毎に、単一最終フレームを生産する。フレームトリガに対するサブフレームパラメータおよびタイミングは、システムレベルでプログラム可能であることができ、センサ間のクロストークを低減させるために使用されることができる。プログラミングは、時間多重化およびキャリアの周波数変調を達成するために、サブフレームタイミングを含んでもよい。
【0064】
図1に示されるように、フレームレベル(ある場合には、サブフレームトリガ)のための外部同期150が、複数のカメラ100が、安全性保証を伴って、同一場面を網羅することを可能にし、カメラ出力がインタレースされることを可能にするために、提供されてもよい。フレームレベルおよびサブフレームトリガは、干渉を回避するために、時間シーケンス多重化を使用してもよい。1つのカメラ100は、カメラの全体的タイミングを制御し、一度に1つのみが場面を照明することを確実にするマスタとして指定されてもよい。このマスタは、トリガ信号を個々のカメラに提供し、それらが次のフレームまたはサブフレームを入手するときを示す。
【0065】
いくつかの実施形態は、周囲雑音およびセンサオフセットのリアルタイム補正のために、暗フレーム(すなわち、照明を伴わない場面の画像)を利用する。多くの場合、複数のサブフレーム測定を使用して雑音源をキャンセル除去する差動測定技法が、効果的である。しかしながら、周囲レベルの測定としてだけではなく、固有のカメラ雑音の測定としても暗サブフレームを使用することによって、要求されるサブフレームの数は、減少されることができ、これは、サブフレーム毎に利用可能な信号の量を増加させる。
【0066】
図2に図示されるように、パイプラインアーキテクチャが、次のサブフレームのセットが記録されるにつれて、効率的サブフレーム集約および処理を促進するために使用されてもよい。アーキテクチャ200は、代表的に、FPGA210と、一対のマスタ-スレーブToFセンサ215
M、215
Sと、捕捉されたフレームデータからのサブフレーム集約をサポートするための複数の外部DDRメモリバンク217
1、217
2とを含む。サブフレームが、センサ215
M、215
Sによって捕捉されるにつれて、それらは、それぞれ、データ経路221
1、222
2を辿り、サブフレーム捕捉および深度計算処理のレート間の差異を反映させるレートで、DDRメモリバンク217内に蓄積される。
【0067】
各データ経路221は、誤差補正コード(ECC)サポートとの複数のDDRインターフェースを有し、メモリの同時読取および書込を可能にしてもよいが、2つのデータ経路221は、独立している。深度計算パイプライン2301、2302の各々は、各処理ステップ後に新しいフレームが、より先のフレームが完了されて中間フレームが処理経路を通して段階的に前進されるにつれて、開始されることができるように、パイプライン方式で動作する。較正に関連するデータ(例えば、温度データ)は、環境センサ145からDDRバンク217内に蓄積され、各処理ステップにおいてフレームが入手されたときに深度計算が優勢環境条件に従って実施されるように、同時センサデータとともに、深度計算パイプライン230に通過されてもよい。
【0068】
深度計算パイプラインからの毎ステップ後に出現する、深度情報を伴う新しい画像は、上記に説明されるように、センサ比較処理ユニット235によって比較され、Ethernet(登録商標)データとして出力される。
図2は、Ethernet(登録商標)通信層240が、所望に応じて、FPGA210外に実装され得ることを示す。
【0069】
典型的展開では、複数の3D ToFカメラが、測定または結像されるべき作業空間またはオブジェクトの周囲の定位置に搭載および固定される。初期較正ステップは、各3D
ToFカメラにおける較正モジュール242(便宜上、システム200の一部として示されるが、より典型的には、例えば、独立型コンポーネントとして外部から実装される)によって実施され、カメラに特有の温度および光学歪曲を含む構造化された雑音効果を補正する。サブフレーム予期背景画像等の他のメタデータもまた、捕捉されてもよく、これは、カメラ測定安定性のリアルタイム監視のために使用されてもよい。各カメラ100は、無照明下でカメラによって捕捉された暗レベルを含む照明周波数および照明レベルを変動させることによって、露光をフレームまたはサブフレームトリガすることができる。外部サブフレーム外部同期150を通して、複数の3D ToFカメラが、異なる周波数および照明レベルでトリガされ、作業セル内の全ての3D ToFカメラの干渉を最小限にし、待ち時間を短縮することができる。(一度に1つのみが場面を照明することを確実にするために)カメラの全体的タイミングを制御するマスタを有することによって、全てのカメラの間の待ち時間は、短縮され、入手周波数は、増加されることができる。
【0070】
データは、各センサ215から、FPGA210内のデータ受信経路を通して、関連付けられるDDR217の中にフローする。データは、サブフレームレベルでDDR217内に記憶される。深度計算エンジン230が、関連付けられるDDR217内に完全サブフレームが蓄積されたことを認識すると、そこからのデータの引き出しを開始する。それらのピクセルは、深度計算エンジン230を通してフローし、関連付けられるDDR217内に戻って、単一周波数深度値として記憶される。これらは、比較を介してパイプライン内で後に解決される必要がある曖昧な深度結果を含有する。故に、第1の単一周波数結果を算出するために必要とされる最初の3つのサブフレームがDDR217内で利用可能になるとすぐに、関連付けられる深度計算エンジンは、それらの3つのサブフレームを使用して、ピクセル毎ベースで、曖昧な深度の算出を開始する。これが発生する間、第2の単一周波数結果のための続く3つのサブフレームが、センサ215からメモリの中にロードされ、サブフレーム待ち行列が空になるにつれて、それらは、処理サイクルがフェッチの際に無駄にされないように、以前にロードされたデータを受信する。第1の単一周波数結果が、算出され、メモリの中に完全にロードされると、深度計算エンジンは、類似方式で第2の単一周波数深度結果の算出を開始する。一方、第3のサブフレームのセットは、メモリの中にロードされる。
【0071】
しかしながら、算出されるにつれて、第2の単一周波数深度結果をメモリの中にロードするのではなく、ピクセル毎ベースで、第1の単一周波数深度結果とともに処理され、曖昧性のない深度結果を生産する。この結果は、次いで、第3の単一周波数深度結果および第4の単一周波数深度結果から取得される第2の曖昧性のない深度結果とさらに比較され得るまで、中間値としてメモリ内に記憶される。このプロセスは、全ての関連サブフレームが処理されるまで繰り返される。最後のステップとして、全ての中間結果が、DDRから読み取られ、最終深度および強度値が、算出される。
【0072】
較正は、カメラ特有の性能差異に関して調節するだけではなく、複数のカメラ構成内のカメラ間の干渉も特徴付けることができる。初期化の間、一度に1つのカメラが、場面を照明し、他のカメラは、受信された信号の量を判定する。このプロシージャは、干渉行列の作成を促進し、これは、DDR217内に記憶されてもよく、これは、同時に照明することができるカメラを判定する。代替として、このアプローチはまた、電子信号伝送のために使用されるクロストーク補正技法に類似するリアルタイム補正を作成するために使用されることができる。特に、複数のカメラのFPGA112は、(例えば、アドホックネットワーク内において、または、1つのカメラがマスタとして指定されかつその他がスレーブとして動作する状態において)相互に協働し、他のカメラがその視野を照明する間、順次、カメラの各々に、出力を生成させてもよく、結果として生じる情報を共有し、生成された出力から干渉行列を構築し、干渉行列を共有してもよい。代替として、これらのタスクは、全てのカメラを動作させる監督コントローラによって実施されてもよい。
【0073】
カメラパラメータ(例えば、温度、歪曲、および他のメタデータ)が、較正の間に捕捉され、DDR217内に記憶される。これらは、リアルタイム再較正およびカメラ動作の間に使用される。較正データは、センサの光学特性を含有する。深度計算パイプラインは、これらのデータを、ストリーミングフレームデータならびにセンサの固定雑音性質を特徴付けるデータとともに、上記に説明されるように深度および誤差を計算する際に、利用する。カメラ特有の較正データは、加工段階において収集され、カメラ始動時に、不揮発性PROM2451、2452からDDR3記憶装置にアップロードされる。ランタイムの間、深度計算エンジン230は、必要に応じて、DDR3メモリから較正データにリアルタイムでアクセスする。特に、リアルタイム再較正は、従来の方式において、動作の間、温度または照明レベル等の動作パラメータのドリフトを調節する。健全性およびステータス監視情報もまた、深度データの全フレーム後、送信されてもよく、リアルタイム再較正のために、必要に応じて、温度、パイプライン誤差コード、およびFPGA処理待ち時間許容差等の要素を含んでもよい。
【0074】
動作タイマ250(再び、便宜上、内部コンポーネントとして示されるが、これは、外部から実装されてもよい)は、カメラ動作の時間を追跡し続け、通信層240を介してこのデータをユーザに周期的に送信するために、含まれてもよい。較正ユニット242はまた、この情報を受信し、カメラ照明システムおよび他のコンポーネントが経年劣化するにつれて、動作パラメータを調節してもよい。さらに、VCSELに関する経年劣化限界に到達すると、タイマ250は、誤差条件を生産し、保守が要求されることをユーザにアラートしてもよい。
【0075】
上記に説明される特徴は、多重露光または一般的モード障害等の従来の3Dカメラまたは感知システムの種々の可能性として考えられる障害モードに対処し、安全性評価システムにおける動作を可能にする。本システムは、安全性評価動作のための付加的特徴を含んでもよい。1つのそのような特徴は、障害条件が検出される場合にカメラが直ちにオフにされ得るように、電圧モニタ160(
図1参照)による全電圧レールの過電圧/電圧不足の監視である。別のものは、外部同期を含む、3D ToFカメラの異なる要素と外部環境との間のデータ伝送のための安全性評価プロトコルの使用である。広義には、安全性評価プロトコルは、いくつかの誤差チェックを含み、不良データがシステムを通して伝搬されないことを確実にする。高帯域幅をサポートするが本質的には信頼性がないUDP等の一般的共通プロトコルの周囲に安全性評価プロトコルを作成することが可能である。これは、パケット列挙、CRC誤差検出、およびフレームIDタグ付け等の安全性特徴を追加することによって遂行される。これらは、フレームデータがカメラから出力された後、現在の深度フレームがさらなる下流処理のための正しい深度フレームであることを保証する。
【0076】
本発明のある実施形態が、上記に説明される。しかしながら、本発明は、それらの実施形態に限定されず、むしろ、本明細書に明確に説明されるものへの追加および修正もまた、本発明の範囲内に含まれることに明確に留意されたい。
【手続補正書】
【提出日】2022-06-07
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【外国語明細書】