(57)【要約】  本発明はコンピューティング機器で実行されるオプティカルフロー計算方法を開示しており、ダイナミックビジョンセンサーから、被トリガーイベントの座標位置及びタイムスタンプを含む所定の期間におけるイベントデータストリームを取得するステップと、被トリガーイベントの座標位置及びタイムスタンプに応じてタイムスタンプ行列を生成するステップと、所定の走査方向に従ってタイムスタンプ行列中の要素を走査し、各要素の前記走査方向に沿った値及び勾配に応じて要素中の少なくとも１つの中継点を決定するステップと、隣接する中継点の距離及び勾配方向を計算し、算出した結果に応じてオプティカルフロー行列を生成するステップと、を含む。本発明は対応するコンピューティング機器をさらに開示している。
2021523440.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティング機器で実行されるオプティカルフロー計算方法であって、
ダイナミックビジョンセンサーから、被トリガーイベントの座標位置及びタイムスタンプを含む所定の期間におけるイベントデータストリームを取得するステップと、
被トリガーイベントの座標位置及びタイムスタンプに応じてタイムスタンプ行列を生成するステップと、
所定の走査方向に従って前記タイムスタンプ行列中の要素を走査し、各要素の前記走査方向に沿った値及び勾配に応じて前記要素中の少なくとも１つの中継点を決定するステップと、
隣接する中継点の距離及び勾配方向を計算し、算出した結果に応じてオプティカルフロー行列を生成するステップと、を含む方法。
【請求項２】
前記被トリガーイベントの座標位置及びタイムスタンプに応じてタイムスタンプ行列を生成するステップは、
前記ダイナミックビジョンセンサーの画素ユニットアレイのサイズに応じて決定される所定のサイズのタイムスタンプ行列を１つ構築するステップと、
ゼロ値を用いて前記タイムスタンプ行列を初期化し、初期化タイムスタンプ行列を得るステップと、
初期化タイムスタンプ行列中で被トリガーイベントの座標位置を検索するステップと、
検索した座標位置に、対応する被トリガーイベントのタイムスタンプを書き込み、タイムスタンプ行列を得るステップと、を含む請求項１に記載のオプティカルフロー計算方法。
【請求項３】
前記所定の走査方向は視野内の物体の移動方向に応じて決定され、
前記所定の走査方向は水平走査方向、垂直走査方向、透視走査方向及び回転走査方向を含む請求項１又は２に記載のオプティカルフロー計算方法。
【請求項４】
各要素の走査方向に沿った値及び勾配に応じて前記要素中の少なくとも１つの中継点を決定するステップは、
被走査要素の値に応じて走査方向に沿って被走査要素の勾配を点ごとに計算するステップと、
被走査要素の値及び／又は勾配が所定の条件を満たすと、該被走査要素を中継点として決定するステップと、を含む請求項１から３のいずれか一項に記載のオプティカルフロー計算方法。
【請求項５】
前記算出した結果に応じてオプティカルフロー行列を生成するステップは、
１つの前記所定のサイズのオプティカルフロー行列を構築するステップと、
ゼロ値を用いて前記オプティカルフロー行列を初期化し、初期化オプティカルフロー行列を得るステップと、
初期化オプティカルフロー行列中で中継点の座標位置を検索するステップと、
検索した座標位置に、対応する中継点の値を書き込み、オプティカルフロー行列を生成するステップと、を含む請求項１から４のいずれか一項に記載のオプティカルフロー計算方法。
【請求項６】
前記被走査要素の値及び／又は勾配が所定の条件を満たすと、該被走査要素を中継点として決定するステップは、
被走査要素の勾配とその隣接する要素の勾配との積がゼロよりも小さい場合、該被走査要素を第１中継点と決定するステップと、
被走査要素の値が０ではなく且つその隣接する要素の値が０である場合、該被走査要素を第２中継点と決定するステップと、
前記第１中継点及び第２中継点の両方を中継点としてマークするステップと、を含む請求項４に記載のオプティカルフロー計算方法。
【請求項７】
前記隣接する中継点の距離及び勾配方向を計算するステップは、
中間にゼロ点が含まない２つの隣接する中継点を順番に選択して中継点ペアとするステップと、
各中継点ペアに対して、２つの中継点の座標位置に応じて前記中継点ペアの距離を計算するステップと、
前記中継点ペアの勾配方向を計算し、前記勾配方向に応じて勾配シンボル値を決定するステップと、
前記中継点ペアの距離と勾配シンボル値との積の値を前記中継点ペア中の２つの中継点の値とするステップと、を含む請求項６に記載のオプティカルフロー計算方法。
【請求項８】
前記算出した結果に応じてオプティカルフロー行列を生成するステップは、
１つの前記所定のサイズのオプティカルフロー行列を構築するステップと、
ゼロ値を用いて前記オプティカルフロー行列を初期化し、初期化オプティカルフロー行列を得るステップと、
初期化オプティカルフロー行列中で中継点ペアの２つの中継点の座標位置を検索するステップと、
検索した２つの中継点の座標位置及びこれら２つの中継点の間の座標位置に、対応する２つの中継点の値を書き込むステップと、をさらに含む請求項７に記載のオプティカルフロー計算方法。
【請求項９】
検索した座標位置に、対応する被トリガーイベントのタイムスタンプを書き込むステップは、
イベントデータストリームでは、１つの座標位置が複数のタイムスタンプに対応する場合、前記複数のタイムスタンプから値が最も大きいタイムスタンプを選択して該座標位置に書き込むステップを含む請求項２から８のいずれか一項に記載のオプティカルフロー計算方法。
【請求項１０】
検索した座標位置に、対応する被トリガーイベントのタイムスタンプを書き込むステップは、
イベントデータストリームでは、１つの座標位置が複数のタイムスタンプに対応する場合、前記複数のタイムスタンプから値が最も小さいタイムスタンプを選択して該座標位置に書き込むステップを含む請求項２から８のいずれか一項に記載のオプティカルフロー計算方法。
【請求項１１】
勾配方向に応じて勾配シンボル値を決定するステップは、
前記勾配方向がゼロよりも大きい場合、勾配シンボル値を＋１と決定するステップと、
前記勾配方向がゼロよりも小さい場合、勾配シンボル値を−１と決定するステップと、を含む請求項７から１０のいずれか一項に記載のオプティカルフロー計算方法。
【請求項１２】
コンピューティング機器であって、
１つ又は複数のプロセッサと、
メモリと、
１つ又は複数のプログラムと、を備え、前記１つ又は複数のプログラムは前記メモリに記憶され、前記１つ又は複数のプロセッサにより実行されるように構成され、前記１つ又は複数のプログラムは請求項１から１１のいずれか一項に記載のオプティカルフロー計算方法のいずれかを実行するための命令を含むコンピューティング機器。
【請求項１３】
命令を含み、前記命令がコンピューティング機器により実行されると、前記コンピューティング機器に請求項１から１１のいずれか一項に記載のオプティカルフロー計算方法のいずれかを実行させる１または複数のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理の技術分野に関し、特にオプティカルフロー計算方法及びコンピューティング機器に関する。
【背景技術】
【０００２】
ダイナミックビジョンセンサー（Ｄｙｎａｍｉｃ  Ｖｉｓｉｏｎ  Ｓｅｎｓｏｒ、ＤＶＳ）は、パルストリガー式ニューロンに基づく人間の網膜をシミュレーションする生体模倣ビジョンセンサーである。該センサー内に画素ユニットアレイを有し、各画素ユニットは個別に自動で応答し、光強度が迅速に変化する領域を記録し、イベントトリガーの処理メカニズムを採用して、記録されたデータを出力するため、その出力は画像フレームではなく、非同期デジタルイベントストリームである。このようにして、ダイナミックビジョンセンサーの速度は従来の露光時間及びフレームレートに制限されず、数万フレーム／秒と高い速度で移動する高速物体を検出できるとともに、演算量を大幅に低減させ、将来性が期待できる。
【０００３】
現在、ダイナミックビジョンセンサーにより出力されるイベントデータストリームについて様々なオプティカルフロー計算方法が提案されており、これらの方法はイベントデータストリームにより時空座標空間内で形成される超平面をフィッティングすることによって、画素点の移動の大きさ及び方向を計算する。各画素点に対してその空間近傍及び時間近傍を探索し、且つ局所超平面のフィッティングを行う必要があり、現在のダイナミックビジョンセンサーのオプティカルフロー計算方法は計算の複雑度が高く、時間のオーバーヘッドが大きい課題を抱えており、リアルタイム性の応用ニーズを満たすことが困難である。
【０００４】
上記事情に鑑みて、リアルタイム性のニーズを満たすために、効果的なオプティカルフロー計算方法が望まれている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、以上の少なくとも１つの課題を解決又は少なくとも軽減するために、オプティカルフロー計算方法及びコンピューティング機器を提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様によれば、コンピューティング機器で実行されるオプティカルフロー計算方法を提供し、ダイナミックビジョンセンサーから、被トリガーイベントの座標位置及びタイムスタンプを含む所定の期間におけるイベントデータストリームを取得するステップと、被トリガーイベントの座標位置及びタイムスタンプに応じてタイムスタンプ行列を生成するステップと、所定の走査方向に従ってタイムスタンプ行列中の要素を走査し、各要素の前記走査方向に沿った値及び勾配に応じて要素中の少なくとも１つの中継点を決定するステップと、隣接する中継点の距離及び勾配方向を計算し、算出した結果に応じてオプティカルフロー行列を生成するステップと、を含む。
【０００７】
好ましくは、本発明に係るオプティカルフロー計算方法では、被トリガーイベントの座標位置及びタイムスタンプに応じてタイムスタンプ行列を生成するステップは、ダイナミックビジョンセンサーの画素ユニットアレイのサイズに応じて決定される所定のサイズのタイムスタンプ行列を１つ構築するステップと、ゼロ値を用いてタイムスタンプ行列を初期化し、初期化タイムスタンプ行列を得るステップと、初期化タイムスタンプ行列中で被トリガーイベントの座標位置を検索するステップと、検索した座標位置に、対応する被トリガーイベントのタイムスタンプを書き込み、タイムスタンプ行列を得るステップと、を含む。
【０００８】
好ましくは、本発明に係るオプティカルフロー計算方法では、所定の走査方向は視野内の物体の移動方向に応じて決定され、所定の走査方向は水平走査方向、垂直走査方向、透視走査方向及び回転走査方向を含む。
【０００９】
好ましくは、本発明に係るオプティカルフロー計算方法では、各要素の走査方向に沿った値及び勾配に応じて要素中の少なくとも１つの中継点を決定するステップは、被走査要素の値に応じて走査方向に沿って被走査要素の勾配を点ごとに計算するステップと、被走査要素の値及び／又は勾配が所定の条件を満たすと、該被走査要素を中継点として決定するステップと、を含む。
【００１０】
好ましくは、本発明に係るオプティカルフロー計算方法では、算出した結果に応じてオプティカルフロー行列を生成するステップは、１つの所定のサイズのオプティカルフロー行列を構築するステップと、ゼロ値を用いてオプティカルフロー行列を初期化し、初期化オプティカルフロー行列を得るステップと、初期化オプティカルフロー行列中で中継点の座標位置を検索するステップと、検索した座標位置に、対応する中継点の値を書き込み、オプティカルフロー行列を生成するステップと、を含む。
【００１１】
好ましくは、本発明に係るオプティカルフロー計算方法では、被走査要素の値及び／又は勾配が所定の条件を満たすと、該被走査要素を中継点として決定するステップは、被走査要素の勾配とその隣接する要素の勾配との積がゼロよりも小さい場合、該被走査要素を第１中継点と決定するステップと、被走査要素の値が０ではなく且つその隣接する要素の値が０である場合、該被走査要素を第２中継点と決定するステップと、第１中継点及び第２中継点の両方を中継点としてマークするステップと、を含む。
【００１２】
好ましくは、本発明に係るオプティカルフロー計算方法では、隣接する中継点の距離及び勾配方向を計算するステップは、中間にゼロ点が含まない２つの隣接する中継点を順番に選択して中継点ペアとするステップと、各中継点ペアに対して、２つの中継点の座標位置に応じて中継点ペアの距離を計算するステップと、中継点ペアの勾配方向を計算し、勾配方向に応じて勾配シンボル値を決定するステップと、中継点ペアの距離と勾配シンボル値との積の値を中継点ペアの２つの中継点の値とするステップと、を含む。
【００１３】
好ましくは、本発明に係るオプティカルフロー計算方法では、算出した結果に応じてオプティカルフロー行列を生成するステップは、１つの所定のサイズのオプティカルフロー行列を構築するステップと、ゼロ値を用いてオプティカルフロー行列を初期化し、初期化オプティカルフロー行列を得るステップと、初期化オプティカルフロー行列中で中継点ペアの２つの中継点の座標位置を検索するステップと、検索した２つの中継点の座標位置及びこれら２つの中継点の間の座標位置に、対応する２つの中継点の値を書き込むステップと、をさらに含む。
【００１４】
好ましくは、本発明に係るオプティカルフロー計算方法では、検索した座標位置に、対応する被トリガーイベントのタイムスタンプを書き込むステップは、イベントデータストリームでは、１つの座標位置が複数のタイムスタンプに対応する場合、複数のタイムスタンプから値が最も大きいタイムスタンプを選択して該座標位置に書き込むステップを含む。
【００１５】
好ましくは、本発明に係るオプティカルフロー計算方法では、検索した座標位置に、対応する被トリガーイベントのタイムスタンプを書き込むステップは、イベントデータストリームでは、１つの座標位置が複数のタイムスタンプに対応する場合、複数のタイムスタンプから値が最も小さいタイムスタンプを選択して該座標位置に書き込むステップを含む。
【００１６】
好ましくは、本発明に係るオプティカルフロー計算方法では、勾配方向に応じて勾配シンボル値を決定するステップは、勾配方向がゼロよりも大きい場合、勾配シンボル値を＋１と決定するステップと、勾配方向がゼロよりも小さい場合、勾配シンボル値を−１と決定するステップと、を含む。
【００１７】
本発明の別の態様によれば、コンピューティング機器を提供し、１つ又は複数のプロセッサと、メモリと、１つ又は複数のプログラムと、を備え、前記１つ又は複数のプログラムは前記メモリに記憶され、前記１つ又は複数のプロセッサにより実行されるように構成され、前記１つ又は複数のプログラムは前記オプティカルフロー計算方法のいずれかを実行するための命令を含む。
【００１８】
本発明のさらに別の態様によれば、１つ又は複数のプログラムを記憶するコンピュータ可読記憶媒体を提供し、前記１つ又は複数のプログラムは命令を含み、前記命令がコンピューティング機器により実行されると、コンピューティング機器に前記オプティカルフロー計算方法のいずれかを実行させる。
【発明の効果】
【００１９】
本発明のオプティカルフロー計算スキームによれば、まず、イベントデータストリームに応じてタイムスタンプ行列を生成し、所定の走査方向に沿ってタイムスタンプ行列に対してベクトル追跡を行い、その後、隣接する中継点の距離及び勾配方向を算出し、計算結果に応じてオプティカルフロー行列を生成する。つまり、タイムスタンプ行列中の要素に対してトラバーサル操作を行うだけで、オプティカルフロー行列を算出でき、それによって従来方法の画素の局所での高複雑度の平面フィッティング計算プロセスを回避し、より優れた操作性及びリアルタイム性を有する。
【図面の簡単な説明】
【００２０】
上記及び関連目的を実現するために、本明細書では、以下の説明及び図面を参照しながらいくつかの例示的な態様を説明し、これらの態様は本明細書に開示されている原理を実施できる様々な形態を示し、且つすべての態様及びその同等態様は請求された主題の範囲に属する。図面を参照しながら以下の詳細説明を読むことにより、本開示の上記及びほかの目的、特徴及び利点がさらに明らかになる。本開示を通して、同一符号は通常、同一部材又は要素を示す。
【００２１】
【図１】図１は本発明のいくつかの実施例に係るコンピューティング機器１００の模式図を示す。
【図２】図２は本発明のいくつかの実施例に係るオプティカルフロー計算方法２００のフローチャートを示す。
【図３】図３は本発明のいくつかの実施例に係るダイナミックビジョンセンサーがイベントデータストリームを出力する模式図を示す。
【図４Ａ】図４Ａは本発明の一実施例に係るタイムスタンプ行列の模式図を示す。
【図４Ｂ】図４Ｂは本発明の別の実施例に係るタイムスタンプ行列の模式図を示す。
【図５】図５は本発明の実施例に係るタイムスタンプ行列中のいくつかの所定の走査方向の模式図を示す。
【図６】図６は本発明の一実施例に係るタイムスタンプ行列中の中継点の模式図を示す。
【発明を実施するための形態】
【００２２】
以下、図面を参照しながら本開示の例示的な実施例をさらに詳細に説明する。図面には本開示の例示的な実施例が示されているが、ここで説明される実施例に限定されることなく、様々な形態で本開示を実施できると理解すべきである。その反面、これらの実施例は本開示をよりよく理解でき、且つ本開示の範囲を当業者に完全に伝えることができるために提供されている。
【００２３】
図１は例示的なコンピューティング機器１００のブロック図である。基本的な構成１０２では、コンピューティング機器１００は典型的には、システムメモリ１０６及び１つ又は複数のプロセッサ１０４を備える。メモリバス１０８はプロセッサ１０４とシステムメモリ１０６との通信に使用できる。
【００２４】
所望の構成によって、プロセッサ１０４は様々なタイプのプロセッサであってもよく、マイクロプロセッサ（μＰ）、マイクロコントローラ（μＣ）、デジタル情報プロセッサ（ＤＳＰ）又はそれらの任意の組み合わせを含むが、これらに限定されない。プロセッサ１０４は、例えば、一次高速バッファ１１０及び二次高速バッファ１１２のような１つ又は複数のレベルの高速バッファ、プロセッサカーネル１１４及びレジスタ１１６を備えてもよい。例示的なプロセッサカーネル１１４は演算論理ユニット（ＡＬＵ）、浮動小数点ユニット（ＦＰＵ）、デジタル信号処理カーネル（ＤＳＰカーネル）又はそれらの任意の組み合わせを備えてもよい。例示的なメモリコントローラ１１８はプロセッサ１０４と組み合わせて使用されてもよく、又は、いくつかの実現では、メモリコントローラ１１８はプロセッサ１０４の１つの内部部分であってもよい。
【００２５】
所望の構成によって、システムメモリ１０６は様々なタイプのメモリであってもよく、揮発性メモリ（例えば、ＲＡＭ）、不揮発性メモリ（例えば、ＲＯＭ、フラッシュメモリ等）、又はそれらの任意の組み合わせを含むが、これらに限定されない。システムメモリ１０６はオペレーティングシステム１２０、１つ又は複数のアプリケーション１２２、及びプログラムデータ１２４を備えてもよい。いくつかの実施形態では、アプリケーション１２２はオペレーティングシステム上でプログラムデータ１２４を利用して操作を行うように構成されてもよい。いくつかの実施例では、コンピューティング機器１００はオプティカルフロー計算方法２００を実行するように構成され、プログラムデータ１２４は方法２００を実行するための命令を含む。
【００２６】
コンピューティング機器１００はさらに、バス／インターフェースコントローラ１３０を経由する様々なインターフェース機器（例えば、出力機器１４２、ペリフェラルインターフェース１４４及び通信機器１４６）から基本的な構成１０２への通信に寄与するインターフェースバス１４０を備えてもよい。例示的な出力機器１４２はグラフィックス処理ユニット１４８及びオーディオ処理ユニット１５０を備える。それらは、１つ又は複数のＡ／Ｖポート１５２を経由して例えば、ディスプレイ又はスピーカーのような様々な外部機器と通信することに寄与するように構成されてもよい。例示的なペリフェラルインターフェース１４４はシリアルインターフェースコントローラ１５４及びパラレルインターフェースコントローラ１５６を備えてもよく、１つ又は複数のＩ／Ｏポート１５８を経由して例えば、入力機器（例えば、キーボード、マウス、ペン、音声入力機器、画像入力機器）又はほかのペリフェラル（例えば、プリンタ、スキャナー等）のような外部機器と通信することに寄与するように構成されてもよい。例示的な通信機器１４６は、１つ又は複数の通信ポート１６４を経由してネットワーク通信リンクによって１つ又は複数のほかのコンピューティング機器１６２と通信することに寄与するように構成されてもよいネットワークコントローラ１６０を備えてもよい。
【００２７】
ネットワーク通信リンクは通信媒体の一例であってもよい。通信媒体は通常、例えば、キャリア又はほかの伝送メカニズムのような変調データ信号中のコンピュータ可読命令、データ構造、プログラムモジュールとして具体化されてもよく、且つ任意の情報伝送媒体を含んでもよい。「変調データ信号」は、そのデータセット中の１つ又は複数又はその変更が信号内で情報を符号化することによって行われるような信号であってもよい。非限定的な例として、通信媒体は、例えば、有線ネットワーク又は専用ネットワークのような有線媒体、及び例えば、音、無線周波数（ＲＦ）、マイクロ波、赤外線（ＩＲ）又はほかの無線媒体のような様々な無線媒体を含んでもよい。ここで使用される用語のコンピュータ可読媒体は記憶媒体及び通信媒体の両方を含んでもよい。
【００２８】
コンピューティング機器１００はデスクトップコンピュータ及びノートコンピュータ構成を含むパーソナルコンピュータとして実現されてもよい。勿論、コンピューティング機器１００は、小型ポータブル（又は移動）電子機器の一部として実現されてもよく、これらの電子機器は例えば、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント（ＰＤＡ）、パーソナルメディアプレーヤー機器、無線ネットワークブラウジング機器、パーソナル頭部装着型機器、特定用途向け機器、又は上記の任意の機能を含むハイブリッド機器であってもよい。本発明の実施例ではそれを限定しない。
【００２９】
オプティカルフロー計算では、従来の画像センサーの代わりに常にモーションセンサーを採用し、それはモーションセンサーが相対輝度変化を示すイベントに応答できるからであり、従って、モーションセンサーの出力データは従来の画像センサーよりも移動情報をよく記録し表示することができる。一実施形態では、シーン内にダイナミックビジョンセンサーを配置し、シーン内に物体の移動がない場合、ダイナミックビジョンセンサーはなんの内容も表示しない。しかしながら、一旦シーン内に物体の移動が発生したと検出される場合（すなわち、光が変化した）、動的画素（すなわち、輝度が変化した画素）の時系列画素イベントデータストリームを出力する。つまり、該イベントデータストリームはイベントが発生した（すなわち、ダイナミックビジョンセンサー中の画素の輝度が変化した）画素情報を時系列で記録する。
【００３０】
本発明の実施形態によれば、ダイナミックビジョンセンサーからのイベントデータストリームを処理し、オプティカルフロー行列を算出する。図２は本発明の一実施例に係るオプティカルフロー計算方法２００のフローチャートを示す。
【００３１】
図２に示すように、方法２００はステップＳ２１０から開始し、ダイナミックビジョンセンサーから、被トリガーイベントの座標位置及びタイムスタンプを含む所定の期間におけるイベントデータストリームを取得する。図３はダイナミックビジョンセンサーがイベントデータストリームを出力する模式図を示す。図３に示すように、９×７行列でダイナミックビジョンセンサー中の画素ユニットアレイを示し（当業者であれば、図３は単に例であり、実際の応用では、ダイナミックビジョンセンサー中の画素アレイは図３に示すサイズに限らないと理解できる）、アレイ中のある画素ユニットの輝度が変化した場合、トリガーして１つの対応するイベントデータｅを生成し、被トリガーイベントの座標位置は該画素ユニットの座標位置であり、ｅｉで第ｉ回トリガーされたイベント（ｉは１，２，３，…である）を示し、図３に示すように、時間の経過とともに、ダイナミックビジョンセンサーはイベントデータｅ１，ｅ２，ｅ３，ｅ４，...を順番に連続して出力し、１つの時系列のイベントデータストリームを構成する。各イベントデータｅｉは被トリガーイベントの座標位置及び被トリガー時刻のタイムスタンプを含み、すなわち、イベントデータｅｉはｅｉ＝（ｘｉ，ｙｉ，ｔｉ）（（ｘｉ，ｙｉ）は第ｉ回のトリガーイベントの座標位置、ｔｉは第ｉ回のトリガーイベントのタイムスタンプである）で示されてもよい。且つ、後のトリガーイベントのタイムスタンプは必ず前のトリガーイベントのタイムスタンプよりも大きく、例えばｔ２＞ｔ１である。
【００３２】
図３はさらにダイナミックビジョンセンサーから取得される所定の期間におけるイベントデータストリームを示し、ｅｓｔａｒｔ及びｅｅｎｄはそれぞれ取得開始時刻及び取得終了時刻に対応するイベントを示し、図３では、ｅｓｔａｒｔ＝ｅ２、ｅｅｎｄ＝ｅ１０である。本発明の実施例では、所定の時間ごとに、所定の期間におけるイベントデータストリームを取得してもよいが、本発明の実施例では取得されるイベントデータストリームの期間を限定しない。
【００３３】
また、図３はさらに、ある座標位置で１つ以上のイベントデータ、例えばｅ６，ｅ１０が存在することを示し、すなわち、該座標位置はまず、ｔ６時刻にトリガーされて１つのイベントｅ６を生成し、その後、ｔ１０時刻に再びトリガーされて１つのイベントｅ１０を生成し、この場合、同一の座標位置は２つ又は３つさらに多数のタイムスタンプに対応する。
【００３４】
その後、ステップＳ２２０では、被トリガーイベントの座標位置及びタイムスタンプに応じてタイムスタンプ行列を生成する。具体的には、取得したイベントデータストリーム中の各イベントデータを、対応する座標位置に従って、被トリガー時間（すなわち、タイムスタンプ値）の順で、順番に充填して１つのタイムスタンプ行列を形成する。
【００３５】
以下、本発明の一実施形態に係るタイムスタンプ行列の生成の具体的なプロセスを示し、具体的なステップ１）−３）は以下の通りである。
【００３６】
１）まず、１つの所定のサイズのタイムスタンプ行列を構築し、タイムスタンプ行列の所定のサイズはダイナミックビジョンセンサーの画素ユニットアレイのサイズに応じて決定され、好ましくは、タイムスタンプ行列はセンサーのアレイ中のすべての画素ユニットを含むべきである。本発明の一実施例では、タイムスタンプ行列と画素ユニットアレイはサイズが同じであり、画素ユニットアレイのサイズを７６８×６４０とすると、構築されたタイムスタンプ行列のサイズは７６８×６４０である。
【００３７】
２）ゼロ値を用いて前記タイムスタンプ行列を初期化し、初期化タイムスタンプ行列を得る。
【００３８】
３）初期化タイムスタンプ行列中で、取得した所定の期間におけるイベントデータストリーム中の被トリガーイベントの座標位置を検索し、その後、検索した座標位置に、対応する被トリガーイベントのタイムスタンプを書き込み、タイムスタンプ行列を得る。簡単に言えば、イベントの被トリガー時間の順で、ステップＳ２１０で取得したイベントデータに対応するタイムスタンプ値を、座標位置に対応付けて、初期化タイムスタンプ行列に順番に充填する。
【００３９】
上記のように、同一の座標位置の画素ユニットは複数回トリガーされ、それに対応して複数のイベントを生成する。このようなシーンでタイムスタンプ行列を生成する場合、タイムスタンプ行列の同一の座標位置に１つ以上のタイムスタンプ値が対応し、この事情に鑑みて、本発明の実施例は２種のタイムスタンプ書き込み又はタイムスタンプ行列充填の方式を提供する。
【００４０】
一実施例では、イベントデータストリームにおいて、１つの座標位置が複数のタイムスタンプに対応する場合、タイムスタンプ書き込み時、これら複数のタイムスタンプから値が最も大きいタイムスタンプを選択して該座標位置に書き込む。すなわち、イベントｅｍとイベントｅｎに対応する座標位置が同じである場合、タイムスタンプ行列中に最新トリガーされたタイムスタンプ値を保留する。図４Ａは本発明の一実施例に係るタイムスタンプ行列の模式図を示し、対応するイベントデータストリームｅ２，ｅ３，...，ｅ１０は図３で生成されたイベントデータストリームであり、タイムスタンプ行列のサイズは依然として９×７である。
【００４１】
別の実施例では、イベントデータストリームにおいて、１つの座標位置が複数のタイムスタンプに対応する場合、タイムスタンプの書き込み時、これら複数のタイムスタンプから値が最も小さいタイムスタンプを選択して該座標位置書き込む。すなわち、イベントｅｍとイベントｅｎに対応する座標位置が同じである場合、タイムスタンプ行列中に、最も早くトリガーされたタイムスタンプ値を保留する。図４Ｂは本発明の別の実施例に係るタイムスタンプ行列の模式図を示し、対応するイベントデータストリームｅ２，ｅ３，...，ｅ１０は図３で生成されたイベントデータストリームであり、タイムスタンプ行列のサイズは依然として９×７である。
【００４２】
図４Ａと図４Ｂを比較して、図４Ａで生成されたタイムスタンプ行列では、座標位置（４，１）（すなわち、第５行第２列）で書き込まれるタイムスタンプ値はＴ１０であり、座標位置（４，５）（すなわち、第５行第６列）で書き込まれるタイムスタンプ値はＴ９であり、図４Ｂで生成されたタイムスタンプ行列では、座標位置（４，１）で書き込まれるタイムスタンプ値はＴ６であり、座標位置（４，５）で書き込まれるタイムスタンプ値はＴ４である。
【００４３】
以上、いくつかのタイムスタンプ行列生成の例を説明したが、実際の計算では、当業者は任意の方式を選択でき、本発明は、イベントの被トリガー時間順にタイムスタンプ行列を生成することを保護することを目的とし、タイムスタンプ書き込み方式を限定しない。
【００４４】
その後、ステップＳ２３０では、所定の走査方向に従ってタイムスタンプ行列中の要素を走査し、各要素の該走査方向に沿った値及び勾配に応じて要素中の少なくとも１つの中継点を決定する。
【００４５】
本発明の実施形態では、所定の走査方向は視野内の物体の移動方向に応じて決定され、所定の走査方向は水平走査方向、垂直走査方向、透視走査方向及び回転走査方向のうちの１種であってもよい。図５は本発明の実施例に係るタイムスタンプ行列中のいくつかの所定の走査方向の模式図を示す。図５中、（１）は透視走査方向、（２）は垂直走査方向、（３）は水平走査方向、（４）は回転走査方向を示す。（１）を例に、各矢印付きの線は１本の走査線を示し、矢印の方向に従って走査し、（１）に示される透視走査方向は中心点から四周へ走査する方向であり、勿論、（１）に示される場合を除き、透視走査方向は四周から中心点へ走査する方向であってもよい。同様に、（２）に示される垂直走査方向は上から下への垂直走査であり、下から上への垂直走査であってもよく、水平走査方向及び回転走査方向は同様であるため、ここでは詳細説明を省略する。図５に示される所定の走査方向は単にいくつかの例である。所定の走査方向は視野内の物体の略移動方向を推定することによって決定できる。例えば、視野内の物体が目標（目標は例えば、ダイナミックビジョンセンサーである）に接近して又は目標から離間して移動することが既知である場合、所定の走査方向を透視走査方向と決定でき、視野内の物体が水平移動することが既知である場合、所定の走査方向を水平走査方向と決定でき、視野内の物体が垂直方向に移動することが既知である場合、所定の走査方向を垂直走査方向と決定でき、視野内の物体が回転移動することが既知である場合（例えば、回る）、所定の走査方向を回転走査方向として決定する。所定の走査方向はさらに、応用ニーズに応じて決定でき、例えば、セキュリティにおける応用では、一般には水平走査方向を選択し、また例えば、自動運転における応用では、一般には透視走査方向を選択するなどである。
【００４６】
走査方向を決定した後、走査線を利用して、決定された所定の走査方向に従ってタイムスタンプ行列中の要素を走査すると同時に、被走査要素の値に応じて走査方向に沿って被走査要素の勾配を点ごとに計算し、被走査要素の値及び／又は勾配が所定の条件を満たすと、該被走査要素を中継点として決定する。本発明の実施例では、各走査線の開始走査要素から点ごとに追跡を開始し、各走査線上の被走査要素の勾配を計算し、被走査要素の勾配とその隣接する要素の勾配との積がゼロよりも小さい場合、該被走査要素を第１中継点と決定し（第１中継点は勾配変化点ともいう）、また、各被走査要素の値をさらに記録してもよく、被走査要素の値が０ではなく且つその隣接する要素の値が０である場合、該被走査要素を第２中継点と決定し（第２中継点は近似ゼロ点ともいう）、被走査要素が該走査線の最後の走査要素であると、走査が終了する。タイムスタンプ行列のすべての走査が完了するまで、すべての走査線に対して上記ステップを実行し、複数の第１中継点及び第２中継点を得て、第１中継点及び第２中継点の両方を中継点としてマークする。
【００４７】
上記被走査要素が所定の条件を満たすか否かを判断するプロセスは、以下の１組の式によって示されてもよい。
【００４８】
第ｋ個の被走査要素が以下の所定の条件のいずれかを満たすと、第ｋ個の被走査要素が中継点であると決定する。
【００４９】
ｇｒａｄｉｅｎｔｋ−１＊ｇｒａｄｉｅｎｔｋ＜０
Ａｍｐｌｉｔｕｄｅｋ−１≡０且Ａｍｐｌｉｔｕｄｅｋ≠０
Ａｍｐｌｉｔｕｄｅｋ−１≠０且Ａｍｐｌｉｔｕｄｅｋ≡０
式中、ｇｒａｄｉｅｎｔｋは第ｋ個の被走査要素の勾配、ｇｒａｄｉｅｎｔｋ−１は第ｋ−１個の被走査要素の勾配、Ａｍｐｌｉｔｕｄｅｋは第ｋ個の被走査要素の値、Ａｍｐｌｉｔｕｄｅｋ−１は第ｋ−１個の被走査要素の値を示す。本発明の一実施例では、被走査要素の勾配は前方差分又は後方差分の式によって算出され、被走査要素の値はタイムスタンプ行列中のタイムスタンプ値であり、勾配計算は当業者の公知技術に属し、本発明の実施例ではそれを限定せず、いずれの勾配計算方法も本発明の実施例と組み合わせて方法２００を実現することができる。
【００５０】
どのように中継点を決定するかをさらに説明するために、図６は本発明の一実施例に係るタイムスタンプ行列中の中継点の模式図を示す。図６は棒グラフの形式で走査線に沿った被走査要素を示し、各棒は１つの被走査要素、棒の高さは被走査要素の値を示し、高さが大きいほど、値が大きいことを示す。図６はタイムスタンプ行列の一部（１本の走査線上の走査結果）を示し、第１個の被走査要素の値は０であり、第２個の被走査要素は近似ゼロ点、すなわち中継点Ａであり、続いて、中継点Ｂは勾配変化点、中継点Ｃ及びＤは近似ゼロ点、中継点Ｅは勾配変化点、中継点Ｆは近似ゼロ点である。
【００５１】
その後、ステップＳ２４０では、隣接する中継点の距離及び勾配方向を計算し、算出した結果に応じてオプティカルフロー行列を生成する。
【００５２】
まず、隣接する中継点の距離及び勾配方向を計算することによって中継点の値を得る。
【００５３】
本発明の実施例では、走査線に沿って、中間にゼロ点（ゼロ点は、タイムスタンプ行列中の要素値が０の点である）が含まない２つの隣接する中継点を順番に選択して中継点ペアとする。その後、各中継点ペアに対して、２つの中継点の座標位置に応じて該中継点ペアの距離を計算し、中継点ペアの勾配方向を計算し、該勾配方向に応じて勾配シンボル値を決定する。本発明の一実施例では、勾配方向がゼロよりも大きい場合、勾配シンボル値を＋１と決定し、勾配方向がゼロよりも小さい場合、勾配シンボル値を−１と決定する。２つの座標の距離を計算すること及び勾配値に応じて勾配方向を決定することはいずれも本分野の公知技術に属するため、ここでは詳細説明を省略する。最後に、各中継点ペアの距離と勾配シンボル値との積の値をこの中継点ペア中の２つの第１中継点の値とする。
【００５４】
引き続き図６を例に、中継点Ａと中継点Ｂは１つの中継点ペアであり、該中継点ペアの距離ｄＡＢを計算し、中継点Ａの座標を（ｘａ，ｙａ）、中継点Ｂの座標を（ｘｂ，ｙｂ）とし、この場合、
【数１】
2021523440.tif 000003
であり、図６の例では、中継点Ａから中継点Ｂへ単調に逓増する傾向を示すため、ここでは簡単に中継点ペアの勾配シンボル値をｓＡＢ＝＋１とマークし、このようにして、ｄＡＢ＊ｓＡＢを計算することによって中継点Ａ（中継点Ｂ）の値νＡＢを得る。同様に、中継点Ｂと中継点Ｃの値、中継点Ｄと中継点Ｅの値、中継点Ｅと中継点Ｆの値を算出し、中継点Ｃと中継点Ｄとの間にゼロ点があるため、中継点Ｃと中継点Ｄは１つの中継点ペアではない。
【００５５】
その後、算出した中継点の値に応じてオプティカルフロー行列を生成する。
【００５６】
本発明の実施例では、ステップＳ２２０で生成されたタイムスタンプ行列のサイズに応じて、１つの同一サイズのオプティカルフロー行列を生成し（以上のように、オプティカルフロー行列のサイズは７６８×６４０であってもよい）、ゼロ値を用いて該オプティカルフロー行列を初期化し、初期化オプティカルフロー行列を得る。その後、初期化オプティカルフロー行列中で各中継点の座標位置を検索し、検索した座標位置に、対応する中継点の値を書き込み、オプティカルフロー行列を生成する。
【００５７】
以下、本発明の一実施形態に係るオプティカルフロー行列の生成の具体的なプロセスを示し、具体的には、ステップ（１）−（３）に示される。
【００５８】
（１）１つの所定のサイズのオプティカルフロー行列、及びタイムスタンプ行列を構築し、所定のサイズはダイナミックビジョンセンサーの画素ユニットアレイのサイズに応じて決定される。
【００５９】
（２）ゼロ値を用いてオプティカルフロー行列を初期化し、初期化オプティカルフロー行列を得る。
【００６０】
（３）初期化オプティカルフロー行列中で中継点ペアの２つの中継点の座標位置を検索し、その後、検索した２つの中継点の座標位置及びこれら２つの中継点の間の座標位置に、対応する２つの中継点の値を書き込む。引き続き図６中の中継点Ａ及び中継点Ｂを例に、初期化オプティカルフロー行列中で座標（ｘａ，ｙａ）及び（ｘｂ，ｙｂ）を検索し、座標（ｘａ，ｙａ）及び座標（ｘｂ，ｙｂ）の値をνＡＢにし、また、座標（ｘａ，ｙａ）と座標（ｘｂ，ｙｂ）との間の要素の値をすべてνＡＢにする。すべての中継点をトラバーサルし、最終的にオプティカルフロー行列を得る。本発明のいくつかの実施形態では、ある中継点は１つ以上の中継点ペアを構成することがあり、この場合、中継点ペアの計算結果に応じてオプティカルフロー行列を生成する時、該中継点に対応する座標位置に値を１回付するだけでよく、どの中継点ペアの計算結果を選択して値を付するかについて、本発明の実施例ではそれを限定しない。
【００６１】
タイムスタンプ行列からオプティカルフロー行列を生成するプロセスをより明瞭に説明するために、以下、表１は１つのタイムスタンプ行列の一部の模式図を示す。
【００６２】
【表１】
2021523440.tif 000004
【００６３】
水平走査方向を使用して、左から右への順で表１中のタイムスタンプ行列を走査し、複数の中継点を得て、走査された中継点を、要素値が２３、９、２７、２４、４、６、１４、３５、３３の要素（ここでは、エッジにある非ゼロ要素のすべてを中継点として処理するが、本発明ではそれを限定しない）とし、中継点の距離及び勾配方向を計算し、計算結果に応じてオプティカルフロー行列を生成する。ここでは、計算プロセスを簡素化するために、隣接する中継点の間に含まれる要素数で中継点の距離を示し、例えば、第１行第２個の要素「２３」と第３個の要素「９」との距離は２である。隣接する中継点の要素値の変化傾向は中継点の勾配シンボル値を示し（隣接する中継点間の要素の値が大きくなる傾向となると、勾配シンボル値が＋１であり、さもないと、−１である）、第１行第２個の要素「２３」と第３個の要素「９」の勾配シンボル値は−１である。このようにして、初期オプティカルフロー行列では、第１行第２個の要素と第３個の要素に対応して書き込まれる値はいずれも−２であり、表２に示される。第１行第４個の要素が「０」であるため、第１行第３個の要素「９」と第５個の要素「２７」は１つの中継点ペアではなく、従って、距離及び勾配シンボル値の計算が不要であり、そのオプティカルフロー行列中での対応する値も初期値の０に維持され（いくつかの実施例では、近似ゼロ点を区別するために、オプティカルフロー行列では第１行第５個の要素の値を１とし、表３に示すように、本発明ではそれを限定しない）。特に、第３行第３個の要素「３５」は、第３行第１個の要素「１４」とともに１つの中継点ペアを構成し、さらに第３行第５個の要素「３３」とともに１つの中継点ペアを構成し、所定の走査方向に従って、前の中継点ペアの算出された中継点値は３であり、後の中継点ペアの算出された中継点値は−２であり、このとき、前の中継点ペアの算出された値をオプティカルフロー行列中の対応する第３行第３個の要素に付するだけでよい。表２及び表３はそれぞれ最後に算出された２種のオプティカルフロー行列を示す。
【００６４】
【表２】
2021523440.tif 000005
【００６５】
【表３】
2021523440.tif 000006
【００６６】
なお、ここでは、タイムスタンプ行列中の各中継点の計算結果に応じてオプティカルフロー行列を生成するいくつかの方式を簡単に説明したが、本発明の実施例ではそれを特に限定しない。本発明は、所定の走査方向に沿ってタイムスタンプ行列に対してベクトル追跡を行い、それによってオプティカルフローベクトルを計算する方式を保護することを目的とする。
【００６７】
本発明のオプティカルフロー計算スキームによれば、まず、イベントデータストリームに応じてタイムスタンプ行列を生成し、所定の走査方向に沿ってタイムスタンプ行列を走査（ベクトル追跡）し、その後、隣接する中継点の距離及び勾配方向を算出し、計算結果に応じてオプティカルフロー行列を生成し、つまり、タイムスタンプ行列中の要素に対してトラバーサル操作を行うだけで、オプティカルフロー行列を算出でき、それによって従来方法の画素の局所での高複雑度の平面フィッティング計算プロセスを回避し、より優れた操作性及びリアルタイム性を有する。
【００６８】
ここで提供される明細書では、大量の詳細が説明されている。それにもかかわらず、本発明の実施例はこれらの詳細なしで実施されてもよいと理解できる。いくつかの例では、本明細書の理解の曖昧さを回避するために、公知の方法、構造及び技術は詳細説明されていない。
【００６９】
同様に、本開示を簡略化し各発明の態様の１つ又は複数を理解するのを助けるために、以上の本発明の例示的な実施例についての説明では、本発明の各特徴は単一の実施例、図、又はその説明にグループされてもよいと理解すべきである。それにもかかわらず、該開示されている方法は、主張する本発明は各請求項に明確に記載される特徴よりも多くの特徴を必要とすることを反映するものではないと理解すべきである。より正確には、以下の特許請求の範囲に反映されるように、発明の態様は前に開示された単一の実施例のすべての特徴よりも少ないことにある。従って、具体的な実施形態に準拠する特許請求の範囲は該具体的な実施形態に明確に組み込まれており、各請求項自体は本発明の単独な実施例である。
【００７０】
当業者であれば、本明細書に開示されている例における機器のモジュール又はユニット又はアセンブリは該実施例に説明されている機器に配置され、又は該例における機器と異なる１つ又は複数の機器に置換可能に位置決めされるようにしてよいと理解すべきである。上記例におけるモジュールを組み合わせて１つのモジュールを形成してもよく、さらに複数のサブモジュールに分けてもよい。
【００７１】
当業者であれば、実施例における機器のモジュールを適応的に変更し、該実施例と異なる１つ又は複数の機器に設置するようにしてもよいと理解できる。実施例におけるモジュール又はユニット又はアセンブリを組み合わせて１つのモジュール又はユニット又はアセンブリを形成してもよく、さらにそれらを複数のサブモジュール又はサブユニット又はサブアセンブリに分けてもよい。このような特徴及び／又はプロセス又はユニットの少なくとも一部が相互に矛盾する以外、本明細書（添付する特許請求の範囲、要約書及び図面を含む）に開示されるすべての特徴及びこのように開示されているいずれかの方法又は機器のすべてのプロセス又はユニットを任意に組み合わせることができる。特に断らない限り、本明細書（添付する特許請求の範囲、要約書及び図面を含む）に開示されている各特徴は同一、同等又は類似目的を提供する代替特徴によって代替されてもよい。
【００７２】
また、当業者であれば、ここに記載されるいくつかの実施例はほかの特徴ではなく、ほかの実施例に含まれるいくつかの特徴を含むにもかかわらず、異なる実施例の特徴の組み合わせは本発明の範囲内に属し且つ異なる実施例を形成すると理解できる。例えば、以下の特許請求の範囲では、主張する実施例のいずれかを任意な組み合わせ方式で使用してもよい。
【００７３】
また、前記実施例のうちのいくつかは、ここでは、コンピュータシステムのプロセッサ又は前記機能を実行するほかの装置に実施可能な方法又は方法の要素の組み合わせとして説明されている。従って、前記方法又は方法の要素を実施するための必要な命令を有するプロセッサは該方法又は方法の要素を実施するための装置を形成する。また、装置の実施例のここで記載される要素は、該発明の目的を実施するための要素によって実行される機能を実施するための装置の例である。
【００７４】
ここで使用されるように、特に断らない限り、「第１」、「第２」、「第３」等の序数詞を使用して普通の対象を説明する場合、単に係る類似対象の異なる例を示し、このように説明される対象が必ず時間、空間、ランキング又はほかの任意の方式での特定の順序を有することを暗示しない。
【００７５】
限られた実施例を参照しながら本発明を説明したが、以上の説明からわかるように、当業者は、ここで説明される本発明の範囲を逸脱せずに、ほかの実施例を想到し得ると理解できる。また、なお、本明細書に使用される言語は主に可読性及び教示の目的のために選択され、本発明の主題を説明又は限定するためのものではない。従って、添付特許請求の範囲の範囲及び精神を逸脱せずに、当業者には種々の修正や変更が明らかになる。本発明の範囲について、本発明は制限的ではなく例示的に開示されており、本発明の範囲は添付特許請求の範囲によって定められる。
【図１】
2021523440.tif 000007
【図２】
2021523440.tif 000008
【図３】
2021523440.tif 000009
【図４Ａ】
2021523440.tif 000010
【図４Ｂ】
2021523440.tif 000011
【図５】
2021523440.tif 000012
【図６】
2021523440.tif 000013
【国際調査報告】
2021523440.tif 000014
2021523440.tif 000015
2021523440.tif 000016
2021523440.tif 000017