IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クロノカムの特許一覧

特許7536023イベントベースセンサからの情報を処理する方法
<>
  • 特許-イベントベースセンサからの情報を処理する方法 図1
  • 特許-イベントベースセンサからの情報を処理する方法 図2
  • 特許-イベントベースセンサからの情報を処理する方法 図3a
  • 特許-イベントベースセンサからの情報を処理する方法 図3b
  • 特許-イベントベースセンサからの情報を処理する方法 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-08
(45)【発行日】2024-08-19
(54)【発明の名称】イベントベースセンサからの情報を処理する方法
(51)【国際特許分類】
   G06T 7/246 20170101AFI20240809BHJP
   G06V 10/44 20220101ALI20240809BHJP
   G06V 20/70 20220101ALI20240809BHJP
【FI】
G06T7/246
G06V10/44
G06V20/70
【請求項の数】 11
(21)【出願番号】P 2021544388
(86)(22)【出願日】2020-01-29
(65)【公表番号】
(43)【公表日】2022-04-25
(86)【国際出願番号】 EP2020052200
(87)【国際公開番号】W WO2020157157
(87)【国際公開日】2020-08-06
【審査請求日】2022-09-07
(31)【優先権主張番号】19154401.4
(32)【優先日】2019-01-30
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】516077769
【氏名又は名称】プロフジー
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】グザヴィエ・ラゴルス
【審査官】小池 正彦
(56)【参考文献】
【文献】米国特許出願公開第2017/0223332(US,A1)
【文献】特表2017-521746(JP,A)
【文献】特開2017-130185(JP,A)
【文献】Delbruck, T,Frame-free dynamic digital vision,International Symposium on Secure-Life Electronics,2008年03月06日,p21-26,https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=92754e0f56fadae8e0508f06209f98a43506d60a
【文献】Drazen,D ET AL,Toward real-time particle tracking using an event-based dynamic vision sensor,Experiments in Fluids,2011年09月30日,https://www.zora.uzh.ch/id/eprint/60624/1/Drazen_EIF_2011.pdf
【文献】Jesus Armando Garcia Franco ET AL,Event-based image processing using a neuromorphic vision sensor,2013 IEEE International Autumn Meeting on Power Electronics and Computing (ROPEC),IEEE,2013年11月13日,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6702715
【文献】Ryad Benosman ET AL,Event-Based Visual Flow,IEEE Transactions on Neural Networks and Learning Systems,IEEE,2013年09月05日,Volume: 25, Issue: 2,p407-417,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6589170
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/246
G06V 10/44
G06V 20/70
(57)【特許請求の範囲】
【請求項1】
イベントベースセンサからの情報を処理する方法であって、前記イベントベースセンサ(10)が、シーンに面する画素のアレイを有し、前記方法が、
前記アレイの画素セットに関するデータ構造を格納する(S1)ステップであって、前記データ構造が、前記画素セットの各画素について、前記画素から生じた直近のイベントの極性と、前記画素から生じた直近のイベントのタイムスタンプとを含む、ステップと、
前記アレイの現在の画素(A)から現在のイベント(E)を受領する(S2)と、
前記現在の画素および前記アレイ内で前記現在の画素に隣接する複数の画素を含む画素グループについて、前記データ構造内に含まれた極性およびタイムスタンプを取り出す(S3)ステップと、
前記現在のイベント(E)と前記画素グループから生じた前記少なくとも直近のイベントとの間の連結性基準に基づいて、前記現在のイベントにラベリングする(S4)ステップと
を含み、
前記連結性基準は、以下の条件:
前記現在のイベントの前記極性と、前記画素グループから生じた前記直近のイベントの極性が等しいこと、
前記現在のイベントと前記画素グループから生じた前記直近のイベントとの間のタイムスタンプの差が閾値以下であること、
の両方が満たされる場合に真となることを特徴とする方法。
【請求項2】
前記現在のイベントが、前記画素グループの画素から生じた直近のイベントである任意のイベントとの間で前記連結性基準を満たさない場合、前記現在のイベントにラベリングするステップが、
前記現在のイベントに新たなクラスタIDを割り振るステップと、
前記割り振られた新たなクラスタIDを、前記現在の画素(A)の前記データ構造内に含めるステップと
を含む、請求項1に記載の方法。
【請求項3】
前記現在のイベントが、前記画素グループの画素から生じた直近のイベントであるただ1つのイベントとの間で前記連結性基準を満たす場合、前記現在のイベントにラベリングするステップが、
前記現在のイベントに、前記1つのイベントに以前に割り振られたクラスタIDを割り振るステップと、
前記割り振られたクラスタIDを、前記現在の画素(A)の前記データ構造内に含めるステップと
を含む、請求項1から2のいずれか一項に記載の方法。
【請求項4】
前記現在のイベントが、前記画素グループのそれぞれの画素から生じた直近のイベントである複数のイベントとの間で前記連結性基準を満たすとともに、前記複数のイベントに同一クラスタIDが割り振られている場合、前記現在のイベントにラベリングするステップが、
前記現在のイベントに前記同一クラスタIDを割り振るステップと、
前記割り振られた同一クラスタIDを、前記現在の画素(A)の前記データ構造内に含めるステップと
を含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記現在のイベントが、前記画素グループのそれぞれの画素から生じた直近イベントである複数のイベントとの間で前記連結性基準を満たすとともに、前記複数のイベントに別々のクラスタIDが割り振られている場合、前記現在のイベントにラベリングするステップが、
前記別々のクラスタIDを、マージクラスタIDにマージするステップと、
前記現在のイベントに前記マージクラスタIDを割り振るステップと、
前記割り振られたマージクラスタIDを、前記現在の画素(A)の前記データ構造内に含めるステップと
を含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記画素グループの前記隣接する複数の画素が、画素の前記アレイ内で前記現在の画素(A)を直接取り囲む4個または8個の画素を含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
同一クラスタIDをラベリングされたイベント同士をグループ化し、それによってクラスタを形成するステップと、前記クラスタから特徴を抽出するステップとをさらに含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記抽出された特徴に基づいて、前記クラスタの中心の位置および前記クラスタの速度を推定する推定器によって前記クラスタを追跡するステップをさらに含む、請求項7に記載の方法。
【請求項9】
前記抽出された特徴が、エッジ、関心点、関心点領域、またはリッジを含む、請求項7または請求項8のいずれか一項に記載の方法。
【請求項10】
イベントベースセンサと結合されたプロセッサによって実行されるプログラムコードを含む、コンピュータプログラムであって、前記プログラムコードが、前記プロセッサによって実行されると、請求項1から9のいずれか一項に記載の方法を実施するように適合されている、コンピュータプログラム。
【請求項11】
前記連結性基準は、前記データ構造に格納された情報に基づく以下の条件:
前記現在のイベントについて推定された明滅周波数と、前記画素グループから生じた前記直近のイベントについて推定された明滅周波数とを含む条件と、
前記現在のイベントについて推定されたビジュアルフローデータと、前記画素グループから生じた前記直近のイベントについて推定されたビジュアルフローデータとを含む条件と、
前記現在のイベントについて推定された深度値またはステレオ視差値、および前記画素グループから生じた前記直近のイベントについて推定された深度値またはステレオ視差値を含む条件と、
前記現在のイベントと、前記画素グループから生じた前記直近のイベントとの間の輝度の差を含む条件と、
前記現在のイベントのセマンティックIDと、前記画素グループから生じた前記直近のイベントのセマンティックIDとを含む条件と、
の少なくとも他の1つが真である場合にのみ真であることを特徴とする、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マシンビジョンに関し、特に、イベントベースセンサからの情報を処理する方法に関する。
【背景技術】
【0002】
マシンビジョンは、画像を、例えばセキュリティ用途(例えば監視、侵入検出、物体検出、顔認識など)、環境使用用途(例えば照明制御)、物体検出および追跡用途、自動検査、プロセス制御、ならびにロボット誘導などの幅広いタイプの用途で用いるために取得し、処理し、解析し、理解するための方法を含む分野である。したがって、マシンビジョンを、多くの異なるシステムと統合することができる。
【0003】
これらの用途、特に物体検出および追跡を達成するには、マシンビジョンにおいて、画像またはシーン内の関心のある物体を抽出し、セグメント化することが必要である。
【0004】
当技術分野では、上述した検出および追跡のために、物体追跡、同時位置推定地図構築(SLAM)、およびビジュアルフロー(visual flow)など、多くの標準的なコンピュータビジョンアルゴリズムが開発されてきた。しかし、それらのアルゴリズムは、画像またはシーンの関心部分である、エッジ、関心点、ブロブ(blob)、およびリッジなどの特徴に基づいている。これらの特徴は、コンピュータビジョンアルゴリズムによってさらに処理される前に検出され、抽出されなければならない。
【0005】
多くの特徴抽出器が開発されてきており、それらは、検出される特徴の種類、計算複雑度、および再現性の点で異なる。これらの中で、グラフ理論のアルゴリズム的応用である連結成分ラベリング(CCL)が、関連点に対してそれらの連結性に基づいてラベリングおよびクラスタリングするために幅広く使用されている。
【0006】
CCLアルゴリズムが、シードフィルアルゴリズムおよび2パスアルゴリズムなどのために画像全体を少なくとも1回または複数回走査するとき、それは主としてフレームベースイメージセンサに対して使用され、フレームベースイメージセンサは、シーンから視覚情報を、センサ素子(画素)ごと、もしくは画素ライン/カラムごとに逐次取得するか、または画素並列であるが、何らかの限定された、たいていは固定のフレームレートで常に時間サンプリングされるさまざまなパターンにおいて取得する。
【0007】
しかし、フレームドベースイメージセンサは、多くの用途において限界がある。それらは、固定数のフレームを捕捉して送信し、したがって、フレームドベースイメージセンサによって出力されるデータには、連続するフレーム間の物体のオクルージョン/ディスオクルージョンを含む、高速の動きをレンダリングする上での問題がある。これが、特徴の抽出および追跡に困難をもたらしている。加えて、フレームドベースイメージセンサは、その性質のため、限定された動的解像度を有し、それが、複雑な物体および/または高速移動物体の追跡を複雑にしている。そのような物体を、フレームドベースイメージセンサを用いて追跡するには、非常に高いフレームレートが必要となり、その結果、処理すべきフレームが多いため非常に計算集約的な実装となり、または非常に複雑な追跡アルゴリズムが必要となり、それもまた本質的に非常に計算集約的である。さらに、フレームドベースイメージセンサはまた、シーンの変化がない場合の冗長フレームなど、多くの不必要なオーバーヘッドを生成し、それによって、計算能力の不必要な使用を招く。
【0008】
フレームドベースイメージセンサの限界を克服するために、イベントベースセンサが開発されてきた。全ての画素を同時に用いて画像を捕捉し、アーチファクトを補償し情報を抑制しようと試みる代わりに、イベントベースイメージセンサは、センサによって観視されたシーンから、各画素によって感知された一時的な輝度プロファイルを取得する。イベントベースセンサは、画素によって個々に取得される情報の時間分解能が高いため、視覚シーン内の急速に変化する情報を捕捉することができる。そのようなイベントベースマシンビジョン技術のさらなる詳細は、次の文献、Posch, C.、Serrano-Gotarredona, T.、Linares-Barranco, B.、およびDelbruck, T. (2014年)、「Retinomorphic event-based vision sensors: bioinspired cameras with spiking output」、Proceedings of the IEEE、102(10)、1470~1484の中で論じられている。
【0009】
実際のところ、イベントベースセンサによって出力されるデータにより、コンピュータビジョンアルゴリズムが高ダイナミックレンジ(HDR)状態で動作し、照明状態に対してよりロバストになることが可能である。
【0010】
しかし、既存のCCLアルゴリズムは、イベントベースセンサの出力データへの適用には適していない。
【0011】
コンピュータビジョンアルゴリズムで使用される特徴を抽出する目的で、イベントベースデータについてはこれまでのところ解決策はほとんど開発されていない。
【先行技術文献】
【特許文献】
【0012】
【文献】米国特許出願公開第2008/0135731A1号
【文献】欧州特許出願第18305063.2号
【文献】国際公開第2013/093378A1号
【文献】国際公開第2016/146938A1号
【文献】米国特許出願公開第2016/0086334A1号
【非特許文献】
【0013】
【文献】Posch, C.、Serrano-Gotarredona, T.、Linares-Barranco, B.、およびDelbruck, T. (2014年)、「Retinomorphic event-based vision sensors: bioinspired cameras with spiking output」、Proceedings of the IEEE、102(10)、1470~1484
【文献】「A 128×128 120 dB 15μs Latency Asynchronous Temporal Contrast Vision Sensor」、P. Lichtsteinerら、IEEE Journal of Solid-State Circuits、43巻、2号、2008年2月、566~576頁
【文献】「A QVGA 143 dB Dynamic Range Frame-Free PWM Image Sensor With Lossless Pixel-Level Video Compression and Time-Domain CDS」、C. Poschら、IEEE Journal of Solid-State Circuits、46巻、1号、2011年1月、259~275頁
【発明の概要】
【発明が解決しようとする課題】
【0014】
イベントベースデータを、コンピュータビジョンアルゴリズムで用いるために、異なるイベントをクラスタリングし分類を実施するように処理するための、新たな手法が必要とされている。
【課題を解決するための手段】
【0015】
イベントベースセンサからのイベントベースデータを処理する方法が提案される。イベントベースセンサは、シーンに面する画素のアレイを有し、処理すべき情報は、シーンからの入射光の変化に応じて画素から生じたイベントを含む。方法は、
アレイの画素セットに関するデータ構造を格納することであって、データ構造が、セットの各画素について、前記画素から生じた少なくとも1つの一番最近のイベントに関連するイベントデータを含む、格納することと、
アレイの第1の画素から現在のイベントを受領することと、
データ構造内に含まれた、第1の画素およびアレイ内で第1の画素に隣接する複数の第2の画素を含む画素グループに関する任意のイベントデータを取り出すことと、
現在のイベントと前記グループの画素から生じた一番最近のイベントとの間の少なくとも1つの連結性基準に基づいて、現在のイベントにラベリングすることと
を含む。
【0016】
現在のイベントが、グループの画素から生じた一番最近のイベントである任意のイベントとの間で少なくとも1つの連結性基準を満たさない場合、現在のイベントにラベリングすることが、
現在のイベントに新たなクラスタIDを割り振ることと、
割り振られた新たなクラスタIDを、データ構造内に含まれた、第1の画素に関するイベントデータに含めることと
を含んでよい。
【0017】
現在のイベントが、グループの画素から生じた一番最近のイベントであるただ1つのイベントとの間で少なくとも1つの連結性基準を満たす場合、現在のイベントにラベリングすることが、
現在のイベントに、前記1つのイベントに以前に割り振られたクラスタIDを割り振ることと、
割り振られたクラスタIDを、データ構造内に含まれた、第1の画素に関するイベントデータに含めることと
を含んでよい。
【0018】
現在のイベントが、グループのそれぞれの画素から生じた一番最近のイベントである複数のイベントとの間で少なくとも1つの連結性基準を満たすとともに、前記複数のイベントに同一クラスタIDが割り振られている場合、現在のイベントにラベリングすることが、
現在のイベントに同一クラスタIDを割り振ることと、
割り振られた同一クラスタIDを、データ構造内に含まれた、第1の画素に関するイベントデータに含めることと
を含んでよい。
【0019】
現在のイベントが、グループのそれぞれの画素から生じた一番最近のイベントである複数のイベントとの間で少なくとも1つの連結性基準を満たすとともに、前記複数のイベントに別々のクラスタIDが割り振られている場合、現在のイベントにラベリングすることが、
別々のクラスタIDを、マージクラスタIDにマージすることと、
現在のイベントにマージクラスタIDを割り振ることと、
割り振られたマージクラスタIDを、データ構造内に含まれた、第1の画素に関するイベントデータに含めることと
を含んでよい。
【0020】
一実施形態では、複数の第2の画素が、画素のアレイ内で第1の画素を直接取り囲む4個または8個の画素を含む。例えば、4個の画素の場合、それらの4個の画素は、第1の画素のすぐ左、右、上、および下に位置する第2の画素であってよい。加えて、複数の第2の画素は、より大きな半径で近傍に位置する画素、例えば8個の直接近傍画素、および8個の直接近傍画素に隣接する別の16個の画素などを含んでもよい。
【0021】
画素セットから最近生じたイベントに関連するイベントデータの内容に関して、下でリストするものなどのさまざまな可能性があり、それらの全てまたは一部は、一緒に組み合わせることができる。
【0022】
1つの可能性は、データ構造内に含まれた、画素に関するイベントデータが、前記画素から生じた一番最近のイベントのタイムスタンプを含むものである。そのような一実施形態では、現在のイベントと前記グループの画素から生じた一番最近のイベントとの間の少なくとも1つの連結性基準が、現在のイベントとグループの前記画素から生じた一番最近のイベントとの間のタイムスタンプの差に適用される基準を含んでよい。
【0023】
別の可能性は、データ構造内に含まれた、画素に関するイベントデータが、前記画素から生じた一番最近のイベントの極性を含むものである。そのような一実施形態では、現在のイベントと前記グループの画素から生じた一番最近のイベントとの間の少なくとも1つの連結性基準が、現在のイベントおよびグループの前記画素から生じた一番最近のイベントのそれぞれの極性に適用される基準を含んでよい。
【0024】
別の可能性は、データ構造内に含まれた、画素に関するイベントデータが、前記画素から生じた一番最近のイベントについて推定された明滅周波数を含むものである。そのような一実施形態では、現在のイベントと前記グループの画素から生じた一番最近のイベントとの間の少なくとも1つの連結性基準が、現在のイベントについて、またグループの前記画素から生じた一番最近のイベントについて推定されたそれぞれの明滅周波数に適用される基準を含んでよい。
【0025】
別の可能性は、データ構造内に含まれた、画素に関するイベントデータが、前記画素から生じた一番最近のイベントについて推定されたビジュアルフローデータを含むものである。そのような一実施形態では、現在のイベントと前記グループの画素から生じた一番最近のイベントとの間の少なくとも1つの連結性基準が、現在のイベントについて、またグループの前記画素から生じた一番最近のイベントについて推定されたそれぞれのビジュアルフローデータに適用される基準を含んでよい。
【0026】
さらに別の可能性は、データ構造内に含まれた、画素に関するイベントデータが、前記画素から生じた一番最近のイベントについて推定された深度値またはステレオ視差値を含むものである。そのような一実施形態では、現在のイベントと前記グループの画素から生じた一番最近のイベントとの間の少なくとも1つの連結性基準が、現在のイベントについて、またグループの前記画素から生じた一番最近のイベントについて推定されたそれぞれの深度値またはステレオ視差値に適用される基準を含んでよい。
【0027】
さらに別の可能性は、データ構造内に含まれた、画素に関するイベントデータが、前記画素から生じた一番最近のイベントの輝度値を含むものである。そのような一実施形態では、現在のイベントと前記グループの画素から生じた一番最近のイベントとの間の少なくとも1つの連結性基準が、現在のイベントとグループの前記画素から生じた一番最近のイベントとの間の輝度の差に適用される基準を含む。
【0028】
さらに別の可能性は、データ構造内に含まれた、画素に関するイベントデータが、前記画素から生じた一番最近のイベントのシーン内の物体のタイプを示すセマンティックIDを含むものである。セマンティックIDは、他のアルゴリズムによって、車、歩行者、道路、木、建物、マーキング、交通標識など、イベントが属する物体のタイプに基づいて生成される。そのような一実施形態では、現在のイベントと前記グループの画素から生じた一番最近のイベントとの間の少なくとも1つの連結性基準が、現在のイベント(E)およびグループの前記画素から生じた一番最近のイベントのそれぞれのセマンティックIDに適用される基準を含む。
【0029】
一実施形態では、方法は、同一クラスタIDをラベリングされたイベント同士をグループ化し、それによってクラスタを形成することと、クラスタから特徴を抽出することとをさらに含む。抽出された特徴は、例えば、エッジ、関心点、関心点領域、またはリッジを含んでよい。クラスタは、抽出された特徴に基づいて、クラスタの中心の位置およびクラスタの速度を推定する推定器によって追跡され得る。
【0030】
本発明の別の態様は、イベントベースセンサと結合されたプロセッサによって実行されるプログラムコードを含む、コンピュータプログラムに関する。プログラムコードは、プロセッサによって実行されると、上で定めた方法を実施するように適合されている。
【0031】
本発明の他の特徴および利点は、添付図面を参照した以後の説明において明らかとなろう。
【図面の簡単な説明】
【0032】
図1】本発明の実装に適合されたデバイスのブロック図である。
図2】本発明による例示的な一方法のフローチャートである。
図3a】第1の画素および第1の画素を取り囲む4個の第2の画素を含む画素グループのパターンを示す図である。
図3b】第1の画素および第1の画素を取り囲む8個の第2の画素を含む画素グループのパターンを示す図である。
図4】現在のイベントにラベリングするステップの例示的な一実施形態のフローチャートである。
【発明を実施するための形態】
【0033】
図1に示す装置は、シーンに面して配置され、シーンの光フロー(light flow)を1つまたは複数のレンズを備えた取得用光学系15を通じて受領する、イベントベース非同期ビジョンセンサ10を備える。センサ10は、取得用光学系15の像面内に配置される。センサ10は、画素マトリックスに編成された感光性素子などの感知素子のアレイを備える。画素に対応する各感知素子が、シーン内の光の変化に応じて、連続するイベントを生成する。
【0034】
プロセッサ12は、センサ10から生じた情報、すなわち、さまざまな画素から例えば非同期に受領したイベント系列を処理する。プロセッサ12は、適切なプログラミング言語を使用したプログラミングによって実装することができる。センサ10と結合される専用論理回路(ASIC、FPGA、...)またはチップを使用した、プロセッサ12のハードウェア実装も可能である。
【0035】
さらに、図1に示すプロセッサ12は、イベントベースセンサ10とは別に具現化される。代替アーキテクチャが可能である。具体的には、図2に示す処理の一部または全てを、オンチップアーキテクチャでイベントベースセンサ10と同じコンポーネントにおいて実施することができる。逐次または並列に動作する2つ以上のプロセッサ間でタスクを分割することも可能である。
【0036】
各感知素子、すなわち画素について、センサ10は、センサの視野内に出現したシーンからその画素によって受領された光の変化に応じて、イベントベース信号系列を生成する。
【0037】
非同期センサ10は、取得を実行して信号を出力し、この信号は、各画素について、活性化しきい値Qに到達する一連の瞬間tk(k=0、1、2、...)の形をとってよい。この輝度が、時間tkにおける輝度から開始して活性化しきい値Qに等しい量だけ増加するたびに、新たな瞬間tk+1が識別され、この瞬間tk+1にスパイクが放出される。対称的に、画素によって観測される輝度が、時間tkにおける輝度から開始して量Qだけ減少するたびに、新たな瞬間tk+1が識別され、この瞬間tk+1にスパイクが放出される。画素に関する信号系列は、画素に対する光プロファイルに応じて時間にわたって瞬間tkに位置付けられた一連のスパイクを含む。限定はしないが、その場合、センサ10の出力はアドレス-イベント表現(AER)の形をとる。加えて、信号系列は、典型的には、入射光の変化に対応する輝度属性を含む。
【0038】
活性化しきい値Qは、固定とすることもでき、あるいは輝度の関数として適合させることもできる。例えば、しきい値は、超過されたときにイベントが生成されるように、輝度の対数の変化と比較することができる。
【0039】
例として、センサ10は、「A 128×128 120 dB 15μs Latency Asynchronous Temporal Contrast Vision Sensor」、P. Lichtsteinerら、IEEE Journal of Solid-State Circuits、43巻、2号、2008年2月、566~576頁または米国特許出願公開第2008/0135731Al号に記載されているタイプのダイナミックビジョンセンサ(DVS)とすることができる。このタイプのDVSを用いて、網膜のダイナミクス(活動電位間の最小持続時間)に迫ることができる。この動的挙動は、現実的なサンプリング周波数を有する従来のビデオカメラの動的挙動を凌ぐ。DVSがイベントベースセンサ10として使用されるとき、画素から生じたイベントに関するデータは、画素のアドレスと、イベントの発生時間と、イベントの極性、例えば輝度が増加する場合の+1および輝度が減少する場合の-1に対応する輝度属性とを含む。
【0040】
本発明のコンテキストにおいて有利に使用することのできる非同期センサ10の別の例が、非同期時間ベースイメージセンサ(ATIS)であり、その説明は、次の文献「A QVGA 143 dB Dynamic Range Frame-Free PWM Image Sensor With Lossless Pixel-Level Video Compression and Time-Domain CDS」、C. Poschら、IEEE Journal of Solid-State Circuits、46巻、1号、2011年1月、259~275頁の中でなされている。ATISがイベントベースセンサ10として使用されるとき、画素から生じたイベントに関するデータは、画素のアドレスと、イベントの発生時間と、絶対輝度の推定値に対応する輝度属性とを含む。
【0041】
イベントベース非同期ビジョンセンサ10によって生成されたイベントベースデータは、多くの用途に使用することができ、その中から、シーン内の物体から特徴を抽出し、これらの抽出された特徴を、物体追跡、SLAM、およびビジュアルフローなど、多くの標準的なコンピュータビジョンアルゴリズムにおいて使用することがある。
【0042】
通常、これらの標準的なコンピュータビジョンアルゴリズムは、顕著点(salient point)/関心点、エッジ、関心点領域、およびリッジなどの特徴に基づいており、それらは、シーン内の物体の画像内の物体の、フレームベースセンサから直接取得されたかまたはイベントベースデータから合成された関心部分である。したがって、特徴抽出は、後続のコンピュータビジョンアルゴリズムにとっての開始点かつ主要な基本要素である。
【0043】
すでに述べたように、特徴は、カメラなどのフレームベースセンサから検出および抽出され、その場合、フレームベースセンサ内のあらゆる画素が、スキャンされ、特徴が存在するかどうかを調べられる。フレームベースセンサが、高解像度画像用などのあまりにも多くの画素を収容しているとき、または画像がHDR状態にあるとき、フレームベースセンサによって生成されたデータストリームには、高解像度画像および高ダイナミック画像(high dynamic image)にとって特に問題となるオーバーフロー状態を取り扱うために、メモリおよびプロセッサを含む下流の高性能コンポーネントが必要となる。
【0044】
一方、イベントベースセンサによって生成されたイベントからの特徴の抽出は、この問題をより高い時間分解能で回避することができ、それによって、より高いレベルの最適化プロセスが、より近い以前の最適解から開始することが可能になり、そのため、最適化プロセスのより高速な収束と、より高いスループットが可能になり得る。
【0045】
しかし、特にCCLによる特徴抽出はフレームベースセンサで幅広く使用されているが、イベントベースデータからの特徴抽出は、当技術分野において依然として問題である。
【0046】
イベントベースデータに対して使用される方法はほとんど提案されておらず、イベントベースデータに対してCCLなどの通常の方法を使用することは、より困難である。これらの方法は、フレームベースセンサによって取得されたフレームまたは画像に直接基づくものであり、連結性を見いだすために画像内の全ての画素を少なくとも1回スキャンする。しかし、イベントベースセンサは、その生出力データ、すなわちイベントベースデータにおいて画像全体を生成しないので、これらの方法をもはや適用することはできず、ただし画像がイベントから生成される場合は別であるが、それにより、イベントベースセンサを使用する利点が減少する。
【0047】
連結成分にラベリングし、次いでクラスタをマージし、特徴を抽出するために、画像を少なくとも1回スキャンする必要のあるフレームベースCCLとは対照的に、本明細書において提案する方法は、CCLにおいて使用されるもののように、データを走査してクラスタ間の連結性を見いだした後でクラスタをマージするのではなく、イベント同士を連結性基準に従ってオンラインでグループ化しようとするものである。
【0048】
一例では、図2は、上述したイベントベースセンサ10から生成されたイベントベースデータを処理する方法のフローチャートを示す。
【0049】
図2に示すように、ステップS1において、イベントベースセンサ10に面するシーンからの入射光の変化に応答して、センサのアレイ内の画素によってイベントが生成された後、アレイの画素セットに関するデータ構造が確立され、格納される。データ構造は、セットの各画素について、その画素から生じた少なくとも1つの一番最近のイベントに関連するイベントデータを含む。
【0050】
例として、前述の画素セットは、アレイの、持続時間Tを有し現在の瞬間に終了するスライディングウィンドウ内で1つまたは複数のイベントを生成した画素から成ることができる。したがって、セットは、アレイの、現在非アクティブである領域内の画素を含まない。パラメータTは、固定とすることもでき(例示として例えばT=10ミリ秒)、あるいはアレイによって生成されたイベントの関数として局所的または大域的に適応可能とすることもできる。パラメータTは、アレイにわたる画素によって感知された入射光の関数として変化するように、画素アレイのさまざまな領域について異なることができる。あるいは、「画素セット」は、センサアレイの全ての画素を含むこともでき、すなわちT=∞である。
【0051】
データ構造は動的なものである。それは、最初に、プロセスを開始するためにステップS1において格納され、その後、イベントベースセンサからイベントが受領されるときに実行される後続のステップにおいて更新される。
【0052】
データ構造は、インデックスiとして表現されるアドレスとアレイ内の座標(xi, yi)とを有する画素に関するイベントデータを成す、以下の項目のうちの1つまたは複数を収容してよい。
- アレイ内のアドレスiから受領された一番最近のイベントev(i, ti)のタイムスタンプti。画素iから時間tiに新たなイベントが受領されるたびに、新たなタイムスタンプtiが、画素iについてデータ構造内に以前に格納されたタイムスタンプを置き換える。
- アドレスiにある画素に関連する輝度値Li。ATISタイプのセンサなどの場合、輝度値Liはイベントev(i, ti)とともに、センサから到来する信号フロー内で入手可能である。
- アドレスiにある画素から生じた一番最近のイベントev(i, ti)の極性pi。極性piは一般に、イベントev(i, ti)とともに、センサから到来する信号フロー内で入手可能である。
- アドレスiにある画素から生じた一番最近のイベントev(i, ti)について推定された明滅周波数。そのような周波数情報は、例えば、欧州特許出願第18305063.2号に開示された方法を使用して推定することができる。
- アドレスiにある画素から生じた一番最近のイベントev(i, ti)について位置(xi, yi)において推定されたビジュアルフローデータ。そのようなビジュアルフローデータは、例えば、国際公開第2013/093378A1号に開示された方法を使用して推定することができる。
- アドレスiにある画素から生じた一番最近のイベントev(i, ti)について推定された深度値。深度値は、ステレオ視差値として表現することもできる。それは、シーンを異なる角度から観視する2つ以上のイベントベースセンサからの信号フローから取得することができる。そのような深度値またはステレオ視差値は、例えば、国際公開第2016/146938A1号に開示された方法を使用して推定することができる。
- 下でさらに説明するステップS4~S5に従って、アドレスiにある画素から生じた一番最近のイベントev(i, ti)がそれに属していると見なされるイベントのクラスタに関連するクラスタID。
- アドレスiにある画素からイベントev(i, ti)が受領されたときにその間にわたって比較が実施されることになる時間ウィンドウの持続時間を表す上述したパラメータT(このパラメータTがアレイの画素ごとに変化することが許されている場合)。
【0053】
イベントベースセンサ自体によって提供される機能および/またはイベントベース信号フローに対して実施される処理に応じて、データ構造に他の種類の情報を含めることができることが理解されよう。データ構造の内容は、本方法が分類データを提供する先の用途に応じて適合されてもよい。
【0054】
実際的な一実装形態では、イベントが受領されるたびに格納および維持されるデータ構造が、上述した画素セットの全ての画素についてのみならず、アレイの全ての画素について、情報(すなわち上でリストした項目の一部または全て)を有することができることも理解されよう。そのような一実装形態では、その一番最近のイベントがti-Tより以前のタイムスタンプtjを有するアレイ内のアドレスjにある画素(すなわち時間tiにおいて「セット」に属さない画素)は、時間tiにおけるイベントの受領時に実施される処理において無視されることになる。
【0055】
動的データ構造内に含まれた、所与の画素iに関するイベントデータの一部であり得る上記の可能な項目リストは、その画素iから受領した一番最近のイベントのみに言及しているが、その画素iから一番最近受領した2つ以上のイベントに関連するイベントデータを含めることも可能である。例えば、タイムスタンプおよびイベント極性を、画素iから受領したN個の一番最近のイベント(ただしNは事前定義の整数である)に関する、または時間ウィンドウT(もしくはいくらかより短いウィンドウ)の間に受領した任意のイベントに関する、イベントデータの一部として格納することができる。輝度、明滅周波数、深度値またはステレオ視差値、クラスタIDなどの他のイベントデータは、データ構造へと考慮に入れられる1つまたは複数の一番最近のイベントについて組み合わせて確定することができる。
【0056】
データ構造内に格納された情報は、到来する現在のイベント内に含まれるかまたはそのイベントの受領から得られたイベント属性とともに、現在のイベントが、現在のイベントの空間的近傍内で最近生成された1つまたは複数の他の先行イベントに連結するものと見なすべきかどうかを動的に判定するための連結性基準を評価するのに使用される。
【0057】
本明細書において提案する方法では、必要に応じて、イベントが受領されるとすぐに、連結性に関するそのような判定を行うことが可能である。
【0058】
ステップS2において、他のイベントとのその連結性がステップ3および4においてチェックされることになっている、アレイの第1の画素Aからの現在のイベントEが受領される。
【0059】
続くステップS3では、データ構造内に含まれた、画素グループからのイベントデータが取り出され、ステップS4では、1つの連結性基準またはより多くのいくつかの連結性基準の組合せに基づいて、現在のイベントEにクラスタIDがラベリングされる。
【0060】
ここで、「画素グループ」とは、現在のイベントの空間的近傍を指す。換言すれば、それは、第1の画素Aおよびアレイ内で第1の画素の近傍にある複数の第2の画素から成る。図3(a)に示す例では、位置(xi, yi)にある画素Aの周りの画素グループは、位置(xi+1, yi)、(xi-1, yi)、(xi, yi+1)、(xi, yi-1)にある4個の第2の画素から構成される。あるいは、図3(b)に示すように、位置(xi+1, yi)、(xi-1, yi)、(xi, yi+1)、(xi, yi-1)、(xi+1, yi+1)、(xi-1, yi+1)、(xi+1, yi-1)、(xi-1, yi-1)にある8個の第2の画素がグループ内にあってもよい。さらに別の可能性は、先に述べたようにより大きな半径内の近傍、または画素グループ内の第2の近傍から成る別の層、またはより多くの層を含むというものである。
【0061】
位置(xi, yi)にある第1の画素Aから生じた現在のイベントEが時間tにおいて受領されたときに、データ構造内に、該当する近傍画素グループに関係するイベントデータがない(またはグループの全ての近傍画素がt-Tより以前のタイムスタンプを有する)ことがあり得る。そうである場合、ステップS4において、現在のイベントEに新たなクラスタIDがラベリングされ、これについては図4に詳細に示されている。ステップS41において、現在のイベントEが、グループの画素から生じた一番最近のイベントである任意のイベントとの間で少なくとも1つの連結性基準をそれが満足するかどうかをチェックされる。1つの連結性基準も満足されない、すなわち現在のイベントEがデータ構造のどのイベントとも連結しないとき、ステップS42において、現在のイベントEに新たなクラスタIDが割り振られ、割り振られた新たなクラスタIDが、画素Aに関係するイベントデータに含められ、現在のイベントに関連付けられる。
【0062】
そうでない場合、現在のイベントは、グループの画素から生じた一番最近のイベントである任意のイベントとの間で1つまたは複数の連結性基準をそれが満たすかどうかをチェックされる。例えば、現在のイベントがグループの画素からのただ1つの一番最近のイベントとの間で連結性基準を満たすかどうかをチェックする、さらなるステップS43が行われる。現在のイベントEが、ただ1つのイベント、例えば、図3aまたは図3bの位置(xi+1, yi)にある近傍画素から生じた一番最近のイベントev(i+1, ti)との間で連結性基準を満たすとき、ステップS44において、現在のイベントEに、イベントev(i+1, ti)に以前に割り振られたクラスタIDがラベリングされる。
【0063】
ステップS43において、現在のイベントEが、データ構造内の、それぞれの画素からそれぞれ生じた複数の一番最近のイベントとの間で1つまたは複数の連結性基準を満たすことが見いされた場合、ステップS45において、その複数のイベントのクラスタIDが、同一クラスタIDをそれらが共有しているかどうかをチェックされる。これは、現在のイベントEが、例えばイベントev(i+1, ti)に連結することに加えて、位置(xi, yi+1)にあるさらなる近傍画素から生じた別のイベントev(i+2, ti)にも連結する場合に起こる。
【0064】
ステップS45において、複数のイベントに以前に割り振られたクラスタIDが同一である、例えばイベントev(i+1, ti)とイベントev(i+2, ti)が1つの同一クラスタIDを共有する場合、ステップS46において、現在のイベントEにこの同一クラスタIDが割り振られ、そのIDが次いで、画素Aに関係するイベントデータに含められる。
【0065】
ステップS45において、複数のイベントに以前に割り振られたクラスタIDが異なる、例えばイベントev(i+1, ti)とイベントev(i+2, ti)が異なるIDを有する場合、ステップS47において、これらの異なるIDが新たなクラスタIDにマージされ、それは、例えばev(i+1, ti)とev(i+2, ti)のIDの一方とすることもでき、あるいは、最小もしくは最大のID、または過去に大多数のイベントを獲得したIDなど、予め設定されたルールによる別のIDとすることもできる。そのようなIDマージは、例えば、別の利用先に通知し、それによって、以前に受領したそれらのIDが同一クラスタに対応し、現在はマージクラスタIDによって表されることを、その利用先が知るようにすることができる。
【0066】
この場合、次いで現在のイベントEには、ステップS48において、マージクラスタIDが割り振られることによってラベリングされ、そのIDは、現在のイベントに関連するイベントデータに含められる。加えて、イベントにマージクラスタIDを関連付けるとき、データ構造内でマージIDを置き換えるためにデータ構造全体を書き換えるわけではないように、等価テーブルを使用することもできる。
【0067】
さらに、例として、ステップS4において、以下の基準のうちの少なくとも1つによって連結性を確定することができ、ただし同様に、現在のイベントEは位置(xi, yi)にある画素Aから生じ、一番最近のイベントev(i+1, ti)は、図3aおよび図3bの(xi+1, yi)に位置付けられた画素から生じる。
【0068】
タイムスタンプt1をもつ現在のイベントEと、データ構造内に格納されており、タイムスタンプt2をもつ一番最近のイベントev(i+1, t2)との間の連結性基準を、現在のイベントEと一番最近のイベントev(i+1, t2)との間のタイムスタンプの差t1-t2に適用することができる。例えば、タイムスタンプの差t1-t2が、所与のしきい値よりも小さい場合、イベントEとイベントev(i+1, ti)との間の連結性が判定される。その値は、連結成分解析を利用する用途に基づいて設定されてよい。限定はしないが、しきい値の例示的な値は、0.1msから20msの範囲内とすることができる。しきい値は、局所的なイベントのダイナミクスに基づいて適応可能なものにすることができる。あるいは、タイムスタンプの差t1-t2がある範囲に入る場合に、連結性を確定することもできる。
【0069】
データ構造内に含まれた、画素に関するイベントデータが、その画素から生じた一番最近のイベントの極性pを含むとき、現在のイベントEとデータ構造上の一番最近のイベントev(i+1, ti)との間の連結性基準には、現在のイベントの極性および一番最近のイベントev(i+1, ti)の極性が関与してよい。例えば、極性が同一である場合、イベントEとイベントev(i+1, ti)との間の連結性が確定される。
【0070】
データ構造内に含まれた、画素に関するイベントデータが、その画素からの一番最近のイベントについて推定された明滅周波数を含むとき、現在のイベントEとデータ構造上の一番最近のイベントev(i+1, ti)との間の連結性基準には、現在のイベントEについて、また一番最近のイベントev(i+1, ti)について推定された明滅周波数が関与してよい。例えば、それらの明滅周波数が同一であるかまたは所定のマージン内にある場合、イベントEとイベントev(i+1, ti)との間の連結性が確定される。
【0071】
データ構造内に含まれた、画素に関するイベントデータが、その画素から生じた一番最近のイベントについて推定されたビジュアルフローデータを含むとき、現在のイベントEと一番最近のイベントev(i+1, ti)との間の連結性基準には、現在のイベントEについて、また一番最近のイベントev(i+1, ti)について推定されたビジュアルフローデータが関与してよい。例えば、フローの向きおよび/または大きさが同一であるかまたは所定のマージン内にある場合、イベントEとイベントev(i+1, ti)との間の連結性が確定される。
【0072】
データ構造内に含まれた、画素に関するイベントデータが、その画素から生じた一番最近のイベントについて推定された深度値またはステレオ視差値を含むとき、現在のイベントEと一番最近のイベントev(i+1, ti)との間の連結性基準には、現在のイベントEについて、また一番最近のイベントev(i+1, ti)について推定された深度値またはステレオ視差値が関与してよい。例えば、深度または視差が同一であるかまたは所定のマージン内にある場合、イベントEとイベントev(i+1, ti)との間の連結性が確定される。
【0073】
ステップS4においてラベリングされた後、現在のイベントEを、例えば、ステップS5に示すように、例えば同一IDを有する他のイベントとグループ化し、それによって同一IDをもつイベントを含むクラスタを形成することができる。あるいは、グループ化は、番号順にランク付けされた異なるIDなど、ある特定の基準による異なるIDに基づくこともできる。その後、クラスタの状態を、クラスタリスト内に格納することができ、このクラスタリストは、ハッシュテーブルまたはベクトルと間接テーブルなど、程度の差はあれ効率的な別の実装を有することができる。
【0074】
その後、ステップS6において、例えば時空間相関(spatio-temporal coherency)を有するクラスタを抽出して、シーン内の物体、例えば交通道路内の車両に対応する、またはシーン内の小さなカンターレット(contourlet)にさえ対応する特徴を取得することができる。これらの特徴は、それらに限定されないが物体のエッジ、関心点、関心点領域、またはリッジを含む。これらの特徴を用いて、例えばそれらのカンターレットに対応するクラスタを、安定した幾何学的制約(stable geometrical constraint)によって画定し、それによって、安定した精密な観測および追跡を可能にすることができる。クラスタの形成後に視覚物体を検出および追跡する例示的な一実施形態が、米国特許出願公開第2016/0086334A1号の、例えばクラスタに関連する情報を更新するステップならびに更新された情報に応じて物体のサイズおよび向きを計算するステップに記載されている。
【0075】
さらに、クラスタ同士をグループ化し、クラスタから特徴を抽出した後で、クラスタの位置および速度を、イベントベースブロブトラッカまたは、LuenbergerもしくはKalman推定器のようなより標準的なものなどの推定器を用いて、追跡または予測することが可能である。例えば、木などの障害物を通り過ぎていく車両をイベントベースセンサが観測しているシーンでは、その間、障害物のため車両の少なくとも一部をセンサによって観測することができない。推定器によって、車両は、より効果的に継続的に追跡されることが可能である。
【0076】
ステレオ視による深度(depth from stereo)のような他のソースからの情報を、以前に受領したイベントからクラスタ内で使用して、例として、クラスタ状態をイベントの深度を用いて強化し、それによって、クラスタの中心の3D位置のようなより多くの状態が取得および追跡されることを可能にすることもできる。3D再構築の例示的な一実施形態については、国際公開第2016/146938号に論じられている。
【0077】
本発明による方法によって抽出された連結成分特徴のまさにその使い方に応じて、例えば交通信号灯を抽出および追跡するための、他のいくつかの実装形態を引き出すことができる。
【0078】
有利には、本発明による方法は、極めて局所的なデータのみを使用し、というのも本方法では、輪郭があらゆる画素を通過し、それと同時にセンサによってサンプリングされると仮定しており、したがって本方法は、比較的小さなメモリ帯域幅要件を有するためである。これと同じ特性が、一部の特定のアーキテクチャに対する高度な並列化を可能にすることもできる。したがって、その実装は比較的単純である。上述したいくつかの基準の下での連結性の確定に必要な情報を収容したデータ構造を格納するには、画素アレイのサイズをもつ限られたメモリが使用されればよい。この点に関して、本発明による方法は、ラップトップ、モバイルデバイス、もしくは処理能力が比較的低い他のデバイス上に、または一般的なデバイス内のイベントベースセンサと関連付けられたプロセッサ内に、実装することができる。
【0079】
上述した方法は、コンピュータによって実施され得るさまざまな動作を実装するために、非一時的コンピュータ可読媒体内に記録されたプログラム命令を使用して実装されてよい。媒体は、単独で、またはプログラム命令と組み合わせて、データファイル、データ構造などを含んでもよい。媒体上に記録されたプログラム命令は、例示的な実施形態を目的として特別に設計および構築されたものであってもよく、それらは、コンピュータソフトウェア技術分野の当業者にとってよく知られた種類の、それらの当業者にとって利用可能なものであってもよい。非一時的コンピュータ可読媒体の例としては、ハードディスク、フロッピーディスク、および磁気テープなどの磁気媒体;CD ROMディスクおよびDVDなどの光媒体;光ディスクなどの光磁気媒体;ならびに読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、フラッシュメモリなど、プログラム命令を格納し、実施するように特別に構成されたハードウェアデバイスがある。プログラム命令の例としては、コンパイラによって生成されるコードなどのマシンコードと、コンピュータによってインタープリタを使用して実行され得る、より上位レベルのコードを含んだファイルの両方がある。説明したハードウェアデバイスは、一体として働くように構成されてよい。
【0080】
応用の一例では、イベントベースセンサ10およびプロセッサ12を含む装置が、自動車において、交通信号灯、移動物体など、道路上の物体を検出および追跡し、それによって、これらの動的情報を自律運転システムに提供するために使用される。
【0081】
より一般には、本発明は、限定はしないが、自律車両、補装具、(製造ロボット、軍事または医療ロボットデバイスなどの)自律ロボット装置を含む、多様なデバイスにおいて有用となり得る。
【0082】
本発明の実装形態は、コンピュータと人間との対話(例えばジェスチャ、音声、姿勢、顔の認識、および/または他の用途)、プロセス制御(例えば工業用ロボット、自律車両および他の車両)、視覚シーン内でのかつ像面に関する関心点セットまたは物体(例えば車両または人間)の移動の追従、拡張現実用途、仮想現実用途、アクセス制御(例えばジェスチャに基づくドアの開放、許可された人物の検出に基づく入出路の開放)、(例えば視覚監視または人物または動物のための)イベントの検出、計数、追跡などを含む、多くの用途において使用することができる。無数の他の用途が存在し、それらは、本開示を与えられた当業者によって認識されよう。
【0083】
上で説明した実施形態は、本発明の例示である。添付の特許請求の範囲に由来する本発明の範囲から離れることなく、それらの実施形態にさまざまな修正を行うことができる。
【符号の説明】
【0084】
10 イベントベース非同期ビジョンセンサ、イベントベースセンサ、非同期センサ
12 プロセッサ
15 取得用光学系
A 第1の画素
E 現在のイベント
i インデックス、アドレス、画素
j アドレス
Li 輝度値
pi 極性
T 持続時間、パラメータ、時間ウィンドウ
t 時間
ti タイムスタンプ、時間
tj タイムスタンプ
tk 瞬間、時間
tk+1 瞬間
t1 タイムスタンプ
t2 タイムスタンプ
Q 活性化しきい値、量
図1
図2
図3a
図3b
図4