JP2016513842A - 異なる精度のソフトウェアアルゴリズム及びハードウェアアルゴリズムを実施する評価層を備えた画像プロセッサ - Google Patents
異なる精度のソフトウェアアルゴリズム及びハードウェアアルゴリズムを実施する評価層を備えた画像プロセッサ Download PDFInfo
- Publication number
- JP2016513842A JP2016513842A JP2016500090A JP2016500090A JP2016513842A JP 2016513842 A JP2016513842 A JP 2016513842A JP 2016500090 A JP2016500090 A JP 2016500090A JP 2016500090 A JP2016500090 A JP 2016500090A JP 2016513842 A JP2016513842 A JP 2016513842A
- Authority
- JP
- Japan
- Prior art keywords
- image
- subject data
- image processor
- layer
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000011156 evaluation Methods 0.000 title claims abstract description 70
- 238000012545 processing Methods 0.000 claims abstract description 138
- 230000005540 biological transmission Effects 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 46
- 230000008569 process Effects 0.000 claims description 38
- 238000007781 pre-processing Methods 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims description 8
- 230000033001 locomotion Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 238000003708 edge detection Methods 0.000 claims description 5
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 3
- 238000000105 evaporative light scattering detection Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 7
- 238000007689 inspection Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 235000012431 wafers Nutrition 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000008909 emotion recognition Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/02—Affine transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/403—Edge-driven scaling; Edge-based scaling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/181—Segmentation; Edge detection involving edge growing; involving edge linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
- G06V40/113—Recognition of static hand signs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/21—Indexing scheme for image data processing or generation, in general involving computational photography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20048—Transform domain processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20192—Edge enhancement; Edge preservation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
画像プロセッサは、少なくとも評価層及び認識層を含む複数の処理層を実施する画像処理回路を含む。評価層は、ソフトウェアで実施される部分及びハードウェアで実施される部分を含み、評価層のソフトウェアで実施される部分は、ソフトウェアアルゴリズムを使用して第1の精度レベルの第1の被写体データを生成するように構成され、評価層のハードウェアで実施される部分は、ハードウェアアルゴリズムを使用して第1の精度レベルよりも低い第2の精度レベルの第2の被写体データを生成するように構成される。評価層は、第1の被写体データと第2の被写体データとを結合し、認識層へ伝送するための出力被写体データを生成するように構成された信号結合器をさらに含む。単なる例として、評価層は、画像プロセッサのジェスチャー認識システムの評価サブシステムの形で実施される場合がある。
Description
分野は、概して、画像処理に関し、より具体的には、画像プロセッサにおける画像データの処理に関する。
画像処理は、広く様々な異なるアプリケーションにおいて重要であり、そのような処理は、二次元(2D)画像、三次元(3D)画像、又は、異なるタイプの複数の画像の組み合わせを含む場合がある。例えば、空間的シーンの3D画像は、画像プロセッサにおいて、各カメラがそのシーンの異なるビューを有するように配置された各々のカメラにより撮影された複数の2D画像に基づいて、三角測量を使用して生成される場合がある。あるいは、3D画像は、ストラクチャード・ライト(SL)カメラや、タイム・オブ・フライト(ToF)カメラのような奥行き撮像器を使用して、直接生成されることがある。本明細書において奥行き画像とも呼ばれるこれらの画像及び他の3D画像は、一般に、ジェスチャー認識のようなマシン・ビジョン・アプリケーションにおいて使用される。
一般的な従来の構成では、画像センサからの未加工データは通常、種々の事前加工処理を受ける。そのような事前加工処理には、例えば、とりわけ、一定の改良、ヒストグラム等化、ノイズ低減、エッジ強調、及び座標空間変換が含まれる。事前加工された画像データは、その後、ジェスチャー認識アプリケーション又は他のマシン・ビジョン・アプリケーションを実施するために必要とされるさらに別の処理を受ける。
一実施形態において、画像プロセッサは、少なくとも評価層及び認識層を含む複数の処理層を実施する画像処理回路を含む。評価層は、ソフトウェアで実施される部分及びハードウェアで実施される部分を含み、評価層のソフトウェアで実施される部分は、ソフトウェアアルゴリズムを使用して第1の精度レベルの第1の被写体データを生成するように構成され、評価層のハードウェアで実施される部分は、ハードウェアアルゴリズムを使用して第1の精度レベルよりも低い第2の精度レベルの第2の被写体データを生成するように構成される。評価層は、第1の被写体データと第2の被写体データとを結合し、認識層へ伝送するための出力被写体データを生成するように構成された信号結合器をさらに含む。
評価層は、例えば、画像プロセッサの事前処理層と認識層との間に結合される場合があり、事前処理層は、画像センサから未加工画像データを受信し、事前処理された画像データを評価層に提供する場合がある。ただし、多数の他の構成も可能である。
単なる例として、評価層は、画像プロセッサのジェスチャー認識システムの評価サブシステムの形で実施される場合がある。
本発明の他の実施形態は、限定はしないが、種々の方法、装置、システム、処理装置、集積回路、及び、コンピュータプログラムコードが内部に具現化されたコンピュータ読取可能記憶媒体を含む。
本明細書において、本発明の種々の実施形態は、複数の処理層を使用してジェスチャー認識機能を実施する画像プロセッサ、又は他のタイプの処理装置を含む、例示的画像処理システムに関連して説明される。ただし、本発明の種々の実施形態は、より一般的には、より効率的な画像処理から利益を受けることができる任意の画像処理システム、又は関連装置又は技術に適用可能であるものと解釈すべきである。
図1は、本発明の一実施形態における画像処理システム100を示している。画像処理システム100は、1以上の画像ソース105から画像を受信し、処理済み画像を1以上の画像宛先107へ提供する画像プロセッサ102を含む。画像プロセッサ102はさらに、ネットワーク104を介して複数の処理装置106と通信する。
図1には、画像ソース(複数可)105及び画像宛先(複数可)107が、処理装置106とは独立したものとして示されているが、そのような画像ソース及び画像宛先の少なくとも一部は、少なくとも部分的に、処理装置106のうちの1以上を使用して実施される場合がある。したがって、画像は、処理のために、処理装置106のうちの1以上からネットワーク104を介して画像プロセッサ102へ提供される場合がある。同様に、画像プロセッサ102は、処理済み画像を、ネットワーク104を介して処理装置106のうちの1以上へ伝送する場合がある。したがって、そのような処理装置は、画像ソース及び画像宛先の種々の例と見ることができる。
所与の画像ソースは、例えば、奥行き画像を生成するように構成されたSLカメラ又はToFカメラのような3D撮像器、あるいは、グレイスケール画像、カラー画像、赤外線画像又は他のタイプの2D画像を生成するように構成された2D撮像器を含む場合がある。また、単一の撮像器又は他の画像ソースが、奥行き画像と、グレイスケール画像、カラー画像又は赤外線画像のような対応する2D画像との両方を提供することも可能である。例えば、特定タイプの既存の3Dカメラは、所与のシーンの奥行きマップとともに、同じシーンの2D画像を生成することが可能である。あるいは、所与のシーンの奥行きマップを生成する3D撮像器は、実質的に同じシーンの2D画像を生成する独立した高解像度ビデオカメラ又は他の2D撮像器に近接して配置されることがある。
また、当然ながら、所与の画像ソースは、その用語が本明細書において広く使用されているように、画像プロセッサ102の少なくとも一部を含む撮像器の画像センサ部分を表す場合がある。例えば、1以上の画像ソース105のうちの少なくとも1つは、奥行きセンサを含む場合があり、奥行きセンサは、画像プロセッサ102を含むSLカメラ、ToFカメラ、又は他の奥行き撮像器の一部である場合がある。多数の代替構成が可能である。例えば、画像ソースの別の例は、画像を処理のために画像プロセッサ102に提供する記憶装置又はサーバである。
所与の画像宛先は、例えば、コンピュータ又は携帯電話のヒューマン・マシン・インタフェースの1以上の表示画面、又は、画像プロセッサ102からの処理済み画像を受信する少なくとも1つの記憶装置若しくはサーバを含む場合がある。
したがって、図1において、画像ソース(複数可)105及び画像宛先(複数可)107は、画像プロセッサ102とは独立したものとして示されているが、画像プロセッサ102は、少なくとも部分的に、共通の1つの処理装置上にある1以上の画像ソース及び1以上の画像宛先の少なくとも一部と結合される場合がある。したがって、例えば、所与の画像ソース及び画像プロセッサ102は、同じ処理装置上でまとめて実施される場合がある。同様に、所与の画像宛先及び画像プロセッサ102は、同じ処理装置上でまとめて実施される場合がある。
この実施形態では、画像プロセッサ102は、画像プロセッサ102の複数の処理層を使用して実施されるジェスチャー認識(GR)システム110を含む。これらの処理層は、本明細書において画像プロセッサ102の「画像処理回路」とより一般的に呼ばれるものの少なくとも一部を含む。この実施形態における種々の処理層は、図面において楕円形でそれぞれ示され、事前処理層112と、評価層114、認識層116及びアプリケーション層118を含む複数のより上位の処理層とを含む。
また、本明細書において、処理層112、114、116及び118は、GRシステム110のサブシステムと呼ばれることがある。ただし、本発明の実施形態がジェスチャー認識に限定されることはなく、本発明の実施形態はむしろ、広く様々な他のマシン・ビジョン・アプリケーションにおける使用に適合させることができ、他の実施形態では、異なる数、タイプ、及び構成の層を含む場合がある。
また、画像プロセッサ102の種々の処理層のうちのあるものは、実施形態によっては、少なくとも部分的に、他の装置上で実施される場合がある。例えば、事前処理層112は、少なくとも部分的に、奥行き撮像器又は他のタイプの撮像器を含む画像ソース105において実施される場合がある。また、アプリケーション層118は、処理装置106のうちの1つのような、評価層114及び認識層116とは違う独立した処理装置上で実施することも可能である。
さらに、当然ながら、画像プロセッサ102は、それ自体が複数の異なる処理装置を含む場合もあり、したがって、処理層112、114、116及び118は、2以上の処理装置を使用して実施される場合がある。本明細書において使用される用語「画像プロセッサ」は、そのような構成及び他の構成をも包含するように広く意味で解釈されることを意図している。
事前処理層112は、1以上の画像ソース105からの受信画像データに対して事前加工処理を実施する。この実施形態における受信画像データは、奥行きセンサから受信された未加工画像データを含むことを想定しているが、他の実施形態では、他のタイプの受信画像データが処理される場合もある。事前処理層112は、事前処理済み画像データを評価層114に提供する。
事前処理層112において奥行きセンサから受信された未加工画像データは、複数の個別の奥行き画像を含む複数のフレームのストリームを含み、そのような各奥行き画像は、複数の奥行き画像ピクセルを含む場合がある。例えば、所与の奥行き画像Dは、実数値のマトリクスの形で事前処理層112に渡される場合がある。そのような各実数値はそれぞれ、より具体的には、奥行き画像の特定のピクセルの奥行き値dijを提供する場合がある。ここで、i及びjは、ピクセルインデックスを表し、奥行き値は、撮影された被写体までの距離を表す。本明細書において、所与のそのような奥行き画像は、奥行きマップとも呼ばれる。
インデックスi,j及び奥行き値dijを有する所与のピクセルは、3D空間における(x,y,z)座標に変換することができる。また、所与のピクセルの奥行きが不明である場合、所定の値u(例えば、ゼロ)が、そのピクセルの奥行き値として使用される場合がある。他の実施形態では、広く様々な他のタイプの画像データが使用される場合がある。
実施形態によっては、ピクセルの奥行き値を生成するセンサが、それらのピクセルについての対応する信頼度値をさらに生成する場合がある。例えば、そのタイプのセンサにより供給される各ピクセル(i,j)は、ペア(dij,rij)を含む場合がある。ここで、0≦rij≦1は、奥行き画像ピクセル信頼度インジケータ、又は他のタイプの信頼度値である。あるいは、信頼度値は、特定タイプのセンサの既知の性質に基づいて、事前処理層112において推定され、又はその他決定される場合がある。信頼度値は、他の処理層のうちの1以上において使用される独立した信頼度マトリクスの一部であってもよい。
ここでも、上で説明した画像データタイプは、例示的なものに過ぎず、開示した技術は、高フレームレートのストリームを含む多数の異なるタイプの画像データストリームでの使用に適合させることができる。
図4及び図5に関連して以下で詳しく説明されるように、評価層114は、より具体的には、ソフトウェアで実施される部分及びハードウェアで実施される部分を含み、評価層のソフトウェアで実施される部分は、ソフトウェアアルゴリズムを使用して第1の精度レベルの第1の被写体データを生成するように構成され、評価層のハードウェアで実施される部分は、ハードウェアアルゴリズムを使用して第1の精度レベルよりも低い第2の精度レベルの第2の被写体データを生成するように構成される。評価層114は、第1の被写体データと第2の被写体データとを結合し、認識層116へ伝送するための出力被写体データを生成するように構成された信号結合器をさらに含む。被写体データは、不変部分及び可変部分のような、複数の部分を有する場合がある。
例えば、被写体データは、1以上の撮影された被写体を表すいわゆる「骨格」データを含む場合があり、骨格データの不変部分は、骨格サイズを含み、骨格データの可変部分は、骨格角度及び質量中心位置を含む。他の実施形態では、多数の他のタイプの被写体データが使用される場合があり、そのような被写体データは、独立した不変部分及び可変部分を必要としない場合がある。当業者には明らかであるように、被写体データ及びその種々の部分は、マトリクス形態又はベクトル形態のような、種々の形態をとる場合がある。したがって、本明細書において使用される用語「被写体データ」は、例えば、事前処理された画像データにおいて検出され又は事前処理された画像データに関連して検出された1以上の被写体に関連するデータを包含するように、広い意味で解釈されることを意図している。
この実施形態における認識層116は、評価層114により提供された被写体データを使用して、高レベルの特定用途向け画像処理を実施する。この高レベルの特定用途向け画像処理は、少なくとも1つのジェスチャー認識を含むことを想定しているが、行動認識、感情認識及び視線追跡のような、他のタイプの高レベル特定用途向け画像処理を、追加的又は代替的に含む場合がある。
この実施形態におけるアプリケーション層118は、撮影されたシーンのパラメタ表現のような認識層116のジェスチャー認識出力を使用する少なくとも1つのジェスチャー認識アプリケーションを含むことを想定している。他のタイプの処理済み画像データ出力が、画像プロセッサ102又は関連処理装置106又は宛先107の1以上のアプリケーション層に提供される場合もある。
上記の骨格データの事例の場合、このデータは、評価層114によって認識層116に提供され、認識層116は、現在の被写体状態を、特定のアプリケーション層118が要求する用語で分類する。例えば、アプリケーション層により実施されるジェスチャー認識アプリケーションが、特徴的な手のジェスチャーの検出に応答してコマンドを生成することを必要とする場合、認識層116は、そのようなジェスチャーを検出し、適当な分類出力をアプリケーション層に渡すように構成される。
処理層112、114、116及び118は、画像プロセッサ102の画像処理回路の種々の部分を含む場合があり、所与のそのような処理層は、ハードウェア、ファームウェア、及びソフトウェアの組み合わせとして実施される場合がある。したがって、本明細書において使用される用語「層」は、広い意味で解釈されることが意図され、例えば、特殊なハードウェア、プロセッシング・コア、ファームウェア・エンジン、及び関連ファームウェア、又は、汎用の処理リソース、及びそれらのリソース上で実行される関連ソフトウェア、並びに、それらのタイプ及び他のタイプの画像処理回路の種々の組み合わせを含む場合がある。本明細書において後者の用語が広く使用されているように、所与のGRシステムのサブシステムは、処理層の一例であることが想定される。
当業者には明らかであるように、通常の従来の画像処理処理集積回路又は他のタイプの画像処理回路は、画像処理プロセッサ102の処理層112、114、116及び118のうちの1以上の少なくとも一部を実施するように適宜改変される場合がある。本発明の1以上の実施形態において使用されることがある画像処理回路の1つの可能な例は、処理層112、114、116及び118のうちの1以上に関連する機能を実施するように適宜再構成された通常の従来のグラフィックスプロセッサである。
処理装置106は、例えば、種々のコンピュータ、携帯電話、サーバ、又は記憶装置を、任意の組み合わせで含む場合がある。1以上のそのような装置は、例えば、画像プロセッサ102により生成された画像を表示するために使用される表示画面又は他のユーザインタフェースをさらに含む場合がある。したがって、処理装置106は、例えば画像プロセッサ102から出力情報を受信する少なくとも1つのサーバ又は記憶装置のような、ネットワーク104を介して画像プロセッサ102から処理済み画像ストリーム又は他のタイプの出力情報を受信するように構成された広く様々な異なる宛先装置を含む場合がある。
「画像宛先」は、本明細書でその語が広く使用されるように、GRシステム110により生成されたジェスチャー認識出力を受信する装置のような、画像プロセッサ102により処理された1以上の画像から導出される情報を受信する任意の装置、又はその一部を包含することを意図している。したがって、画像宛先は、少なくとも1つの処理済み画像、少なくとも1つの処理済み画像の一部、又は少なくとも1つの処理済み画像の少なくとも一部から導出された情報を受信する場合がある。
この実施形態では処理装置106から独立したものとして示されているが、画像プロセッサ102は、少なくとも部分的に、処理装置106のうちの1以上と結合される場合がある。したがって、例えば、画像プロセッサ102は、少なくとも部分的に、処理装置106のうちの所与の1つを使用して実施される場合がある。例として、コンピュータ又は携帯電話は、画像プロセッサ102、及び場合によっては所与の光源を含むように構成される場合がある。したがって、光源(複数可)105は、コンピュータ、携帯電話、又は他の処理装置に関連するカメラ又は他の撮像器を含む場合がある。先に示したように、画像プロセッサ102は、少なくとも部分的に、共通の処理装置上にある1以上の画像ソース又は画像宛先と結合される場合がある。
この実施形態における画像プロセッサ102は、少なくとも1つの処理装置を使用して実施されることが想定され、メモリ122に結合されたプロセッサ120を含む。プロセッサ120は、画像加工処理の実施を制御するために、メモリ122に記憶されたソフトウェアコードを実行する。画像プロセッサ102は、ネットワーク104を介した通信をサポートするネットワークインタフェース124をさらに含む。
処理層112、114、116及び118、並びにプロセッサ120、メモリ122及びネットワークインタフェース124は、本明細書において画像プロセッサ102の画像処理回路とより一般的に呼ばれるものの種々の考察例である。
プロセッサ120は、例えば、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、中央演算処理装置(CPU)、算術論理ユニット(ALU)、デジタル・シグナル・プロセッサ(DSP)、又は他の類似の処理装置構成要素、並びに、他のタイプ及び構成の画像処理回路を、任意の組み合わせで含む場合がある。
メモリ122は、事前処理層112並びにより上位の処理層114、116及び118の種々の部分のような、画像プロセッサ102の機能の種々の部分を実施する際に、プロセッサ120により実行されるソフトウェアコードを記憶している。対応するプロセッサにより実行されるソフトウェアコードを記憶している所与のそのようなメモリは、本明細書において、コンピュータプログラムコードが内部に具現化されたコンピュータ読取可能媒体又は他のタイプのコンピュータプログラム製品とより一般的に呼ばれるものの一例であり、例えば、ランダム・アクセス・メモリ(RAM)若しくはリード・オンリー・メモリ(ROM)のような電子メモリ、磁気メモリ、光学メモリ、又は他のタイプの記憶装置を、任意の組み合わせで含む場合がある。上で示したように、プロセッサは、マイクロプロセッサ、ASIC、FPGA、CPU、ALU、DSP、又は他の画像処理回路の種々の部分又は組み合わせを含む場合がある。
上記の説明から明らかであるように、本発明の実施形態は、集積回路の形で実施される場合がある。所与のそのような集積回路実施形態では通常、同一のダイが、繰り返しパターンを成して、半導体ウェーハの表面上に形成される。各ダイは、本明細書に記載されるような画像プロセッサ又は他の画像処理回路を含み、さらに、他の構造又は回路を含む場合がある。個々のダイは、ウェーハから切り出され又は切り分けられ、その後、集積回路としてパッケージングされる。当業者は、ウェーハを切り分け、ダイをパッケージングし、集積回路を製造する方法を知っているであろう。そのようにして製造された集積回路が、本発明の検討される種々の実施形態である。
図1に示されるような画像処理システム100の特定の構成は、例示に過ぎず、他の実施形態におけるシステム100は、具体的に図示したものに加えて、又はその代わりとして、そのようなシステムの従来の実施形態において一般的に見られるタイプの1以上の要素を含む、他の要素を含む場合がある。
例えば、一部の実施形態では、画像処理システム100は、ユーザ・ジェスチャーを認識するために画像ストリームを処理するビデオゲームシステム、又は他のタイプのジェスチャーを利用したシステムとして実施される場合がある。開示する技術は、ジェスチャー
を利用したヒューマン・マシン・インタフェースを必要とする広く様々な他のシステムにおける使用にも同様に適合させることができ、また、ロボットその他の産業アプリケーションにおけるマシン・ビジョン・システムのような、ジェスチャー認識以外のアプリケーションにも適用することができる。
を利用したヒューマン・マシン・インタフェースを必要とする広く様々な他のシステムにおける使用にも同様に適合させることができ、また、ロボットその他の産業アプリケーションにおけるマシン・ビジョン・システムのような、ジェスチャー認識以外のアプリケーションにも適用することができる。
次に、図2から図8までを参照し、例示的実施形態における画像プロセッサ102の動作について、より詳細に説明する。当然ながら、これらの図面に関連して説明される例示的特徴及び機能は、他の実施形態では、存在しなくてもよい場合がある。
まず図2を参照すると、画像プロセッサ102の一部200は、認識層116に結合された評価層114を含む。評価層114は、その入力として、事前処理層112からの事前処理済み画像データ202を受信する。先に述べたように、そのような画像データは、1以上の事前処理済み奥行き画像を含むことを想定しているが、他のタイプの画像データを使用してもよい。
この実施形態では、評価層114は、被写体データを生成する際に、探索−描画−比較処理を実施する。これらの処理は、評価層114の探索モジュール、描画モジュール、及び比較モジュール204、206及び208によりそれぞれ実施され、図示したように、被写体データ210A、210B及び210C、並びに関連被写体データ変異の処理又は生成を含む。被写体データ210Aは、最良適合被写体データ210Bと結合され、認識層116へ伝送するための出力最良適合被写体データ210Bを生成する。この実施形態における被写体データ210Aは、不変部分及び可変部分を有する実数のベクトルを含むことを想定している。例えば、先に述べたように、被写体データは、骨格データを含む場合があり、骨格データは、骨格サイズを含む不変部分と、骨格角度及び質量中心位置のような他の可変データを含む可変部分とを有する場合がある。
この実施形態における評価層114は、較正モジュール212、動き予測モジュール214、及びヒューリスティック(経験的探索)モジュール216を含む。較正モジュール212は、本明細書において現在の入力フレームとも呼ばれる現在の入力奥行き画像を使用して、骨格データの不変部分を計算する。他の初期被写体パラメタは、比較モジュール208及びヒューリスティックモジュール216を使用して決定され、モジュール208及び216は両方とも、現在の入力奥行き画像に対する処理を行う。
探索−描画−比較処理は一般に、探索モジュール204により実施される特定の探索によって定義される形で種々の被写体パラメタを変化させることを含み、探索モジュール204は、勾配探索又は全探索である場合があり、その後、モジュール206及び208によって描画処理及び比較処理が実施される。全探索は、徹底調査とも呼ばれるタイプの探索であってもよい。勾配探索又は全探索は、動き予測モジュール214により提供される動き予測情報を使用して行われる場合がある。
この実施形態における描画処理は、現在の一組の被写体パラメタに対応する描画奥行き画像を生成する。探索目標は、ユークリット距離又はマンハッタン距離のような距離メトリックに基づく最小二乗のような指定された比較プリミティブを使用して、描画奥行き画像と、現在の入力奥行き画像との間の距離を最小化するものとして、特徴付けられる場合がある。換言すれば、探索処理は、比較プリミティブを使用し、対応する描画奥行き画像が入力奥行き画像に十分に近いものであると判断されるまで、被写体パラメタを変化させる。描画奥行き画像及び入力奥行き画像は通常、実数のマトリクスとして表されるが、他の画像データ構成が使用される場合もある。
探索−描画−比較プロセスの複雑度は通常、決定すべき被写体パラメタの数によって変わり、換言すれば、プロセスの自由度の数によって変わる。例えば、N度の自由度の場合、全探索は、描画及び比較のkN回の繰り返しを使用することになる。この文脈におけるkは、各自由度についての変異の数を意味する。これに対し、勾配探索は、描画及び比較の(N+1)・m回の繰り返しを使用することになる。ここで、mは、勾配の方向におけるステップの数である。勾配探索は、各sステップ勾配を再計算するように構成される場合があり、それによって、描画及び比較の繰り返しの回数を(N+1)・m/s+m回に低減する場合がある。
評価層114の所与の実施形態において使用される特定数の自由度及び繰り返しは、特定のジェスチャー認識アプリケーションによって変わる場合がある。例えば、頭部が硬い被写体(例えば、硬い体)であることを想定する頭部追跡アプリケーションは、6つの自由度(例えば、x、y、及びz次元、並びに3つのオイラー角)、及び遅い移動(すなわち、僅かな回数の繰り返し)を使用するように構成される場合がある。このタイプのアプリケーションの場合、たとえソフトウェアで実施される場合であっても、全探索及び勾配探索の両方をリアルタイムに実施することができる。別の例として、手追跡アプリケーションは、各手及び早い移動について25度の自由度(すなわち、多数の繰り返し)を使用するように構成される場合がある。このタイプのアプリケーションの場合、たとえハードウェアで実施される場合であっても、全探索をリアルタイムに実施することは、通常できない。ただし、勾配探索は、並列化を使用して、リアルタイムに実施することができる。
ただし、自由度の数、及び各度についての変異の数は、ヒューリスティックモジュール216を使用することによって、減らすことができる。これは、例えば、特定の被写体パラメタを計算することを含む場合がある。
図3は、評価層114において事前処理済み画像データ302に対して実施される種々の加工処理300のうちの特定のものを示している。この実施形態では、加工処理は、高レベル加工処理304及び低レベル画像処理プリミティブ306を含むものとして、概ね特徴付けられる。
図5に関連して以下でより詳細に説明されるように、高レベル加工処理304は一般に、評価層114のソフトウェアで実施される部分において実行され、低レベル画像処理プリミティブは一般に、評価層114のハードウェアで実施される部分において実行される。
この実施形態における高レベル加工処理304は、特異点検出及び追跡、前面検出及び追跡、エッジ検出及び追跡、並びに、質量中心検出のような高速なヒューリスティック(経験に基づく探索)を含む。これらの例示的処理の各々は、図面に示したように入力画像の異なる領域を使用し、それによって、処理の少なくとも一部が互いに並列に動作するように効率的に構成される場合がある。したがって、画像プロセッサ102の画像処理回路は、マルチプロセッサシステムを含む場合があり、その中に、複数の高レベルの加工処理が並列化される場合がある。
特異点検出及び追跡は、撮影された人物の頭部及び手のような被写体を識別するために使用される。これらの被写体は通常、認識層116にとって非常に重要な特徴と考えられる。
前面検出及び追跡は、異なるタイプの奥行き撮像器について、異なるレベルの信頼度を提供することができる。より具体的には、奥行き撮像器タイプに応じて、得られる奥行き画像の異なる部分は、異なるレベルのノイズを含む場合があり、したがって、ノイズレベルは、被写体の前面とそのエッジとの間で大きく変化する場合がある。SLカメラは一般に、前面においては、比較的低いノイズを有する奥行き画像を生成するが、エッジにおいては、比較高いノイズを有する奥行き画像を生成する。この場合、検出される前面は、検出されるエッジに比べてより高い信頼性を有する。
エッジ検出及び追跡は、異なるタイプの奥行き撮像器に対し、異なるレベルの信頼度をさらに提供する。例えば、ToFカメラは一般に、SLカメラに比べて、少ないノイズの被写体エッジを提供する。この場合、検出されるエッジは、検出される前面に比べてより高い信頼性を有する。
高速ヒューリスティックに関し、それらは一般に、比較的広い画像領域に対して実行され、したがって、画像データに対する比較的少数のアクセスしか必要としない。
低レベル画像処理プリミティブ306は、アフィン変換又は等長変換のような3Dプリミティブ、曲線追跡のような2Dプリミティブ、最小二乗比較のような比較プリミティブ、動き予測又は勾配探索のような探索プリミティブ、及び統計プリミティブを含み、場合によっては他のプリミティブをさらに含む。これらの低レベル処理プリミティブ306は、高レベル加工処理304のうちの1以上により使用される。一例として、エッジ検出及び追跡処理は、曲線追跡を使用する場合がある。
上に示したように、評価層114は、ソフトウェアで実施される部分、及びハードウェアで実施される部分を含むように構成される。次に、図4及び図5を参照し、そのような構成の種々の例について詳しく説明する。
まず図4を参照すると、評価層114は、精密ソフトウェア(SW)アルゴリズム401、及び概算ハードウェア(HW)アルゴリズム402を含み、これらはそれぞれ、評価層のソフトウェアで実施される部分及びハードウェアで実施される部分であることが想定される。アルゴリズム401及び402の文脈で使用されるような用語「精密」及び「概算」は、本明細書において精度レベルとより一般的に呼ばれるものの例であり、他の実施形態では、他のタイプの精度レベルが、ソフトウェアアルゴリズム及びハードウェアアルゴリズムにそれぞれ使用される場合がある。精密ソフトウェアアルゴリズム401及び概算ハードウェアアルゴリズム402は、比較的高レベルの精度及び比較的低レベルの精度において、それぞれ被写体データを生成する。
評価層114は、第1の被写体データと第2の被写体データとを結合し、認識層116へ伝送するための出力被写体データをを生成するように構成された信号結合器403をさらに含む。先に述べたように、被写体データは、不変部分及び可変部分のような、複数の部分を有する場合がある。図面において、要素405、406及び407は、以下でより詳しく説明される、異なる組の被写体データを表している。
精密ソフトウェアアルゴリズム401を使用して生成される第1の被写体データは、より具体的には、古いが正確なデータ406を含み、概算ハードウェアアルゴリズム402により生成される第2の被写体データは、実際の相対データ405を含む。第1の被写体データと第2の被写体データとが、信号結合器403において結合され、実際の正確なデータ407が生成され、実際の正確なデータ407は、認識層116に提供される。この実施形態における実際の正確なデータ407は、リアルタイムに生成され、認識層における後続の処理のための信頼できる精度を有する。より具体的には、この実施形態では、被写体データは、ソフトウェアアルゴリズム401により生成される正確な遅延したデータと、概算ハードウェアアルゴリズム402により生成される概算の相対データとの、合計又は他の関数として計算される。ソフトウェアアルゴリズムとハードウェアアルゴリズムは一般に、互いに並列に実行される。
ソフトウェアアルゴリズム401は、高レベルの精度を有することから、リアルタイムに実行することはできないが、代わりに、特定のレイテンシ(この例では、約5から10フレーム)をもって正確な被写体データを生成することができる。概算ハードウェアアルゴリズム402は、低レベルの精度で動作するので、小さなレイテンシ又はレイテンシなしで、リアルタイムに実行することができる。概算ハードウェアアルゴリズム402は、相対的な被写体状態を実際の相対データ405の形で算出する。この実際の相対データは、信号結合器403において、ソフトウェアアルゴリズム401により計算されるような古いが正確なデータ406の形で表された最新の既知の正確な被写体状態に追加される。その結果、現在の被写体状態が、実際の正確なデータ407の形で得られる。
上で示したように、ソフトウェアアルゴリズム401により生成される古いが正確なデータ406を含む第1の被写体データは、約5から10フレーム毎に一回の速度で更新される。この文脈における用語「古い」は、対応する被写体データが、現在のフレームに関連するのではなく、1以上の以前のフレームに関連することを示している。
なお、約5フレームから10フレーム毎に一回の更新速度は、ある種の最悪事例推定とみなされる場合もあり、画像プロセッサ102の能力及び構成に応じて、異なる更新速度が使用される場合がある。例えば、より強力な画像処理回路が使用され、又は、加工処理の複雑度が低減される場合、更新速度は増加される場合がある。ただし、それでも、ソフトウェアアルゴリズム401は、依然としてリアルタイムで動作しないであろうことが予測される。ソフトウェアアルゴリズム401の速度もまた、処理中の実際の画像データの特性のような、他の要因に応じて変わることがある。例えば、事例によっては、全探索は、その最初の段階で解決法を決定する場合がある。
この実施形態における実際の相対データ405を含む第2の被写体データは、第1の被写体データに比べて大幅に早い速度で更新されることが想定され、より具体的には、1入力フレーム毎に更新されることが想定される。したがって、この実施形態では、ソフトウェアアルゴリズム401を使用して生成される第1の被写体データは、1入力フレームあたり1回よりも小さい速度で更新され、ハードゥエアアルゴリズム402を使用して生成される第2の被写体データは、1入力フレームあたり1回の速度で更新される。他の実施形態では、異なる精度の被写体データに関連して、他の速度が使用される場合もある。
図5は、画像プロセッサ102の一部500のより詳細な図を示すものであり、事前処理された画像データ502が、評価層114において、精密ソフトウェアアルゴリズム401、概算ハードウェアアルゴリズム402、及び他の関連処理モジュールを使用して処理される様子を示している。ソフトウェアアルゴリズム401及びハードウェアアルゴリズム402は、評価層114のソフトウェアで実施される部分及びハードウェアで実施される部分504及び506として、それぞれ構成される。評価層114のソフトウェアで実施される部分及びハードウェアで実施される部分504及び506は、本明細書では、ソフトウェア部分及びハードウェア部分とそれぞれ呼ばれることがある。
図3に関連して説明した低レベル画像処理プリミティブは、評価層114の部分506においてハードウェアとして実施される。これらの低レベルプリミティブは、例えば、3Dプリミティブ508、2Dプリミティブ509、及び統計プリミティブ510、並びに、探索及び比較機能を含む。これによって低レベルプリミティブを、評価層114の部分504においてソフトウェアとして実施される種々の高レベル加工処理によって、効率的に共有することが可能となる。
3Dプリミティブ508は、描画モジュール206をサポートするための、シフト及び回転のようなアフィン変換処理又は等長変換処理を実施するために使用される。3Dプリミティブは、前面検出及び追跡のような他の高レベル加工処理をさらにサポートすることができる。
2Dプリミティブ509は、エッジ検出及び追跡のような高レベル加工処理をサポートするために使用される。
統計プリミティブ510は、ソフトウェアアルゴリズム401及びハードウェアアルゴリズム402の両方により使用される。例えば、統計プリミティブ510は、画像の異なる複数の部分について、誤差レベルを推定するために使用されることがある。
この実施形態では、探索−描画−比較処理は、評価層114のソフトウェア部分504とハードウェア部分506との間に、分離して配置される。より具体的には、図2の探索モジュール204の機能は、ソフトウェア部分及びハードウェア部分504及び506のそれぞれにおいて実施される2つの探索モジュール204A及び204Bに分離され、2つの探索モジュール204A及び204Bは、相対データ変異512を生成するために使用される。また、描画モジュール206は、ソフトウェア部分504において実施され、比較モジュール208は、ハードウェア部分506において実施される。
ソフトウェア部分504において実施されるさらに別の要素としては、信号結合器403、並びに、さらに別の信号結合器514、及び被写体モデル516が挙げられる。この実施形態における被写体モデル516は、描画モジュール206のためのデータの提供に使用される。
図5には明示的に示されていないが、ソフトウェア探索モジュール及びハードウェア探索モジュール204A及び204Bによる描画モジュール及び比較モジュール206及び208へのアクセスを制御するために、アービターがハードウェア部分506において実施される場合がある。そのようなアービターは、厳密な優先順位アプローチを使用することができ、それによって、ソフトウェア探索モジュール204Aからの種々のアクセス要求を、最大優先順位で処理することができる。
図6から図8までは、例えばGRシステムの頭部追跡アプリケーションのコンテキストで実施されることがある、評価層114において実施される場合がある加工処理の種々の組の3つの異なる実施形態を示している。これらの実施形態では、評価層は、少なくとも頭部検出及び追跡機能を実施することを想定しているが、もちろん、さらに別の又は代わりのタイプの高レベル加工処理が、同様の形で構成される場合もある。また、当然ながら、これらの例示的なプロセスの特定のステップ、データ、及び特徴は、例示的なものに過ぎず、他の実施形態では、さらに別の又は代わりのステップ、データ及び他の特徴が使用される場合もある。
図6の実施形態では、独立したソフトウェアアルゴリズム及びハードウェアアルゴリズム401及び402は使用されていない。代わりに、現在の入力フレームは、ソフトウェアアルゴリズム401のみを使用して処理され、ソフトウェアアルゴリズム401は、ステップ604において、3D頭部モデルとの比較により頭部位置を探し出す。図面に示したように、このプロセスは、1フレーム毎に更新され、正確な頭部位置及び向き606を生成する。ただし、勾配探索ではなく全探索を使用することが想定され、したがって、正確な頭部位置及び向き606は、kフレームのレイテンシをもって生成される。ここで、kは通常、k<5である。ここでも、レイテンシは一般に、使用される画像処理回路のタイプ、加工処理の複雑度、及び処理される実際の画像データの特性のような種々の要素の関数となる。なお、この文脈におけるkは、フレームの数で表されたレイテンシを意味しているが、もちろん、本明細書における他のコンテキストでは、同じ変数が異なる意味を持つ場合がある。
図7の実施形態では、ソフトウェアアルゴリズム及びハードウェアアルゴリズム401及び402は両方とも、現在の入力フレーム702を処理するために使用される。ステップ704は、図6のステップ604に概ね対応するが、各フレームについて実施されるのではなく、「基本」フレームとも呼ばれる毎5番目のフレームごとにのみ実施される。
ステップ704は、ソフトウェアアルゴリズム401によって実施されることが想定され、同じ全探索アプローチをステップ604として実施する。その結果得られる基本フレームについての正確な頭部位置及び向き706は、毎5番目のフレームごとに更新される。現在の入力フレーム702及び正確な頭部位置及び向き706は、ヒストリーバッファ710に記憶される。
ステップ712は、ハードウェアアルゴリズム402により実施されることがさらに想定される。ステップ712は、現在の入力フレーム702を含む各入力フレームに適用され、場合によっては高速ヒューリスティックを使用して、以前のフレームと現在の入力フレームとの間の最良適合等長変換を見つけ出すことを含む。以前のフレームは、ヒストリーバッファ710から得られる以前のフレームデータ714の一部である。その結果得られる等長変換は、以前のフレームから相対マッピング715を決定するために使用される。結合ステップ716により示されるように、相対マッピング715は、以前のフレームデータ714と結合され、正確な頭部位置及び向き情報718を生成する。
上記のように、図7の実施形態は、正確な頭部位置及び向き706を毎5フレームごとに、kフレームのレイテンシをもって更新する。誤差は、最大でも5+kフレームにわたって蓄積されるに過ぎないので、誤差の蓄積は、制限される。結合されたソフトウェアアルゴリズムとハードウェアアルゴリズムの処理の全体的なレイテンシは、1フレーム以下であり、これは、最良適合等長変換を決定し、現在の入力フレームに対して相対マッピングを適用するために必要な時間に概ね対応する。また、評価層114のこの構成によれば、ステップ704及び712を非同期に実施することができ、したがって、基本フレームデータ706が使用可能になったとき直ぐに、出力データ718を更新することが可能となる。
図8の実施形態は、図7の実施形態に類似するものであり、現在の入力フレーム802、ステップ804、812、816、ヒストリーバッファ810、及びデータ806、814、815、818は、現在の入力フレーム702、ステップ704、712、716、ヒストリーバッファ810、及びデータ706、714、715、718にそれぞれ対応する。ただし、図7におけるような、現在の入力フレームと以前のフレームとの間の最良適合等長変換を見つけ出す代わりに、図8の実施形態は、ステップ812において、基本フレームと現在のフレームとの間の等長変換を見つけ出し、基本フレームから相対マッピング815を生成し、ステップ816においてそれを基本フレームと結合する。基本フレームは、毎5番目のフレームごとに取得され、対応する正確な頭部及び向き806は、kフレームのレイテンシを有する。したがって、図8のプロセスの出力における正確な頭部向き及び位置818は、図7のプロセスにおいて生成される対応する出力被写体データのものと同様に、限られたレイテンシ及び誤差蓄積を有する。
図6から図8までに示した例示的処理の組み合わせは、並列に、又はその他互いに関連する形で実施される場合があり、どのプロセス出力が使用されるかを選択するために、出力信頼度インジケータが使用される場合がある。例えば、所与の基本フレームについて正確な頭部位置及び向きを生成するために使用される全探索プロセスが、大きな誤差を含む場合、基本フレームを使用する図8のプロセスの全ての出力もまた、大きな誤差を含むことになる。したがって、複数のプロセスを使用して生成された出力の信頼度を判定するとともに、現在の入力フレームに使用するための特定のプロセスからの出力を選択するために、出力検査モジュールが、評価層114に組み込まれる場合がある。
信頼度判定は、例えば、所与のプロセスから得られる頭部位置及び向きを使用して描かれる頭部と、所定のヘッドモデルから得られる頭部位置及び向きとの間の計算上の距離に基づいて行われる場合がある。そのような出力検査モジュールは、望ましくない誤差伝搬を防止するものであり、リアルタイムで動作するように構成される場合がある。
上記の出力検査手順の一つの可能な実施形態は、次のようなものである。
1.図7のプロセスを使用して、以前のフレームに基づいて出力を生成する。
2.ステップ1において生成された出力の信頼度を推定する。信頼度が所定の閾値未満であった場合、ステップ3へ進み、そうでなければ、ステップ1の出力を認識層116に送信し、この出力検査手順を終了する。
3.図8のプロセスを使用して、最新の基本フレームに基づいて出力を生成する。
4.ステップ3において生成された出力の信頼度を推定する。
5.最新の基本フレーム以外の基本フレームに基づいて出力を生成するが、それ以外は、図8のプロセスを使用する。
6.ステップ5において生成された出力の信頼度を推定する。
7.ステップ2、4及び6から得られた信頼度推定値を比較し、最大の信頼度を有する出力を認識層116へ伝送するものとして選択する。
1.図7のプロセスを使用して、以前のフレームに基づいて出力を生成する。
2.ステップ1において生成された出力の信頼度を推定する。信頼度が所定の閾値未満であった場合、ステップ3へ進み、そうでなければ、ステップ1の出力を認識層116に送信し、この出力検査手順を終了する。
3.図8のプロセスを使用して、最新の基本フレームに基づいて出力を生成する。
4.ステップ3において生成された出力の信頼度を推定する。
5.最新の基本フレーム以外の基本フレームに基づいて出力を生成するが、それ以外は、図8のプロセスを使用する。
6.ステップ5において生成された出力の信頼度を推定する。
7.ステップ2、4及び6から得られた信頼度推定値を比較し、最大の信頼度を有する出力を認識層116へ伝送するものとして選択する。
この例示的出力検査手順は、評価層114のレイテンシを大幅に増大させることはないが、この例示的出力検査手順によれば、被写体データ出力に関連する誤差率を大幅に低減することができる。
上で示したように、本発明の種々の実施形態は、ジェスチャー認識以外のマシン・ビジョン・アプリケーションを含む場合がある。例えば、本明細書に開示した技術は、被写体データパラメタを以前の状態及び相対オフセットの組み合わせとして計算することができる画像処理アプリケーションにも、処理アルゴリズムが異なる複雑度及びレイテンシを有する画像処理アプリケーションにも適用することができる。他の例としては、比較的単純なアルゴリズムを使用して、複数のフレームにわたって信頼できる精度で被写体データ増分を計算する画像処理アプリケーションが挙げられる。
ここでも、本明細書で説明した本発明の種々の実施形態が、例示的にすぎないものであることを意図していることは、強調されるべきである。例えば、本発明の他の実施形態は、本明細書に記載した特定の実施形態に使用されるものとは異なる、広く様々な異なるタイプ及び構成の画像処理回路、処理層、処理モジュール、及び加工処理を使用して実施することができる。また、本明細書において、特定の実施形態を説明する文脈でなされた特定の想定は、他の実施形態では、適用する必要がない場合がある。次の特許請求の範囲内に含まれるこれらの及び多数の他の代替実施形態は、当業者に直ちに明らかとなるであろう。
Claims (20)
- 画像プロセッサであって、
少なくとも評価層及び認識層を含む複数の処理層を含む画像処理回路と、
ソフトウェアで実施される部分及びハードウェアで実施される部分を含む前記評価層と、
ソフトウェアアルゴリズムを使用して第1の精度レベルの第1の被写体データを生成するように構成された、前記評価層の前記ソフトウェアで実施される部分と、
ハードウェアアルゴリズムを使用して前記第1の精度レベルよりも低い第2の精度レベルの第2の被写体データを生成するように構成された、前記評価層の前記ハードウェアで実施される部分と、
を含み、
前記評価層は、前記第1の被写体データと前記第2の被写体データとを結合し、前記認識層へ伝送するための出力被写体データを生成するように構成された信号結合器をさらに含む、画像プロセッサ。 - 前記評価層は、ジェスチャー認識システムの評価サブシステムを含む、請求項1に記載の画像プロセッサ。
- 前記複数の処理層は、未加工画像データを受信し、事前処理された画像データを前記評価層に提供する事前処理層をさらに含む、請求項1に記載の画像プロセッサ。
- 前記第1の被写体データは、第1の速度で更新され、前記第2の被写体データは、前記第1の速度よりも大きい第2の速度で更新される、請求項1に記載の画像プロセッサ。
- 前記第1の速度は、前記受信した画像データの1入力フレームあたり1回よりも小さく、前記第2の速度は、1入力フレームあたり1回である、請求項1に記載の画像プロセッサ。
- 前記第1の被写体データは、現在の入力フレームと、少なくとも1つの被写体モデルとの間の比較に基づいて生成される、請求項1に記載の画像プロセッサ。
- 前記第2の被写体データは、現在の入力フレームと、少なくとも1つの以前の入力フレームとの間の比較に基づいて生成される、請求項1に記載の画像プロセッサ。
- 前記評価層は、前記第1の被写体データ及び第2の被写体データを生成する際に、探索−描画−比較処理を実施する、請求項1に記載の画像プロセッサ。
- 前記探索−描画−比較処理に関連する独立した探索モジュールが、前記ソフトウェアで実施される部分及び前記ハードウェアで実施される部分の各々においてインスタンス化される、請求項8に記載の画像プロセッサ。
- 前記探索−描画−比較処理に関連する描画モジュールは、前記ソフトウェアで実施される部分においてのみインスタンス化され、前記探索−描画−比較処理に関連する比較モジュールは、前記ハードウェアで実施される部分においてのみインスタンス化される、請求項8に記載の画像プロセッサ。
- 前記評価層の前記ソフトウェアで実施される部分は、特異点検出及び追跡、前面検出及び追跡、エッジ検出及び追跡、並びに、質量中心検出のような高速ヒューリスティックのうちの1以上を含む、複数の高レベル加工処理を実施する、請求項1に記載の画像プロセッサ。
- 前記評価層の前記ハードウェアで実施される部分は、アフィン変換若しくは等長変換のような3Dプリミティブ、曲線追跡のような2Dプリミティブ、最小二乗比較のような比較プリミティブ、動き予測若しくは勾配探索のような探索プリミティブ、及び統計プリミティブのうちの1以上を含む、複数の低レベル画像処理プリミティブを実施する、請求項1に記載の画像プロセッサ。
- 前記画像処理回路は、少なくとも1つのグラフィックスプロセッサ集積回路を含む、請求項1に記載の画像プロセッサ。
- 請求項1に記載の画像プロセッサを含む集積回路。
- 少なくとも評価層及び認識層を含む画像プロセッサの複数の処理層を構成するステップと、
前記評価層のソフトウェアで実施される部分において、ソフトウェアアルゴリズムを使用して第1の精度レベルの第1の被写体データを生成するステップと、
前記評価層のハードウェアで実施される部分において、ハードウェアアルゴリズムを使用して前記第1の精度レベルよりも低い第2の精度レベルの第2の被写体データを生成するステップと、
前記第1の被写体データと前記第2の被写体データとを結合し、前記認識層へ伝送するための出力被写体データを生成するステップと
を含む方法。 - 第1及び第2の被写体データを生成するステップは、
現在の入力フレームと、少なくとも1つの被写体モデルとの間の比較に基づいて、前記第1の被写体データを生成するステップと、
現在の入力フレームと、少なくとも1つの以前の入力フレームとの間の比較に基づいて、前記第2の被写体データを生成するステップと
を含み、
前記第1の被写体データは、第1の速度で更新され、前記第2の被写体データは、前記第1の速度よりも大きい第2の速度で更新される、請求項15に記載の方法。 - コンピュータプログラムコードが内部に具現化されたコンピュータ読取可能記憶媒体であって、前記コンピュータプログラムコードが、処理装置において実行されたときに、前記処理装置に、請求項15に記載の方法を実施させる、コンピュータ読取可能記憶媒体。
- 画像処理システムであって、
画像データを提供する1以上の画像ソースと、
1以上の画像宛先と、
前記1以上の画像ソース、及び前記1以上の画像宛先に結合された画像プロセッサと
を含み、前記画像プロセッサは、
少なくとも評価層及び認識層を含む複数の処理層を実施する画像処理回路と、
ソフトウェアで実施される部分及びハードウェア実施される部分を含む前記評価層と、
ソフトウェアアルゴリズムを使用して第1の精度レベルの第1の被写体データを生成するように構成された、前記評価層の前記ソフトウェアで実施される部分と、
ハードウェアアルゴリズムを使用して前記第1の精度レベルよりも低い第2の精度レベルの第2の被写体データを生成するように構成された、前記評価層の前記ハードウェアで実施される部分と、
を含み、
前記評価層は、前記第1の被写体データと前記第2の被写体データとを結合し、前記認識層へ伝送するための出力被写体データを生成するように構成された信号結合器をさらに含む、画像処理システム。 - 前記1以上の画像ソースのうちの少なくとも1つが、奥行きセンサを含む、請求項18に記載のシステム。
- 前記奥行きセンサは、前記画像プロセッサを含む奥行きセンサの一部である、請求項19に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2013110494/08A RU2013110494A (ru) | 2013-03-11 | 2013-03-11 | Устройство обработки изображений с уровнем оценки, реализующим программный и аппаратный алгоритмы разной точности |
RU2013110494 | 2013-03-11 | ||
PCT/US2013/059704 WO2014143154A1 (en) | 2013-03-11 | 2013-09-13 | Image processor with evaluation layer implementing software and hardware algorithms of different precision |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016513842A true JP2016513842A (ja) | 2016-05-16 |
JP2016513842A5 JP2016513842A5 (ja) | 2016-10-20 |
Family
ID=51537424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016500090A Withdrawn JP2016513842A (ja) | 2013-03-11 | 2013-09-13 | 異なる精度のソフトウェアアルゴリズム及びハードウェアアルゴリズムを実施する評価層を備えた画像プロセッサ |
Country Status (8)
Country | Link |
---|---|
US (1) | US9323995B2 (ja) |
JP (1) | JP2016513842A (ja) |
KR (1) | KR20150123789A (ja) |
CN (1) | CN104160419A (ja) |
CA (1) | CA2847126A1 (ja) |
RU (1) | RU2013110494A (ja) |
TW (1) | TW201435800A (ja) |
WO (1) | WO2014143154A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2013110494A (ru) | 2013-03-11 | 2014-09-20 | ЭлЭсАй Корпорейшн | Устройство обработки изображений с уровнем оценки, реализующим программный и аппаратный алгоритмы разной точности |
KR102286174B1 (ko) | 2015-09-01 | 2021-08-06 | 주식회사 만도 | 운전 지원 장치 및 운전 지원 방법 |
CN110097533B (zh) * | 2019-02-12 | 2023-04-07 | 哈尔滨新光光电科技股份有限公司 | 一种光斑外形尺寸和位置的精确测试方法 |
US11847771B2 (en) | 2020-05-01 | 2023-12-19 | Samsung Electronics Co., Ltd. | Systems and methods for quantitative evaluation of optical map quality and for data augmentation automation |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5133020A (en) * | 1989-07-21 | 1992-07-21 | Arch Development Corporation | Automated method and system for the detection and classification of abnormal lesions and parenchymal distortions in digital medical images |
JPH1066036A (ja) * | 1996-08-15 | 1998-03-06 | Oki Electric Ind Co Ltd | Tv方式変換装置 |
US6904163B1 (en) * | 1999-03-19 | 2005-06-07 | Nippon Telegraph And Telephone Corporation | Tomographic image reading method, automatic alignment method, apparatus and computer readable medium |
KR100323678B1 (ko) * | 2000-02-28 | 2002-02-07 | 구자홍 | 화면비 변환 장치 |
JP3927353B2 (ja) * | 2000-06-15 | 2007-06-06 | 株式会社日立製作所 | 比較検査における画像の位置合せ方法、比較検査方法及び比較検査装置 |
JP4829408B2 (ja) | 2001-01-23 | 2011-12-07 | キヤノン株式会社 | 画像処理方法及び画像処理装置 |
US7027054B1 (en) * | 2002-08-14 | 2006-04-11 | Avaworks, Incorporated | Do-it-yourself photo realistic talking head creation system and method |
US7006110B2 (en) * | 2003-04-15 | 2006-02-28 | Nokia Corporation | Determining a coverage mask for a pixel |
FI114882B (fi) * | 2003-04-30 | 2005-01-14 | Nokia Corp | Kuvakehysten päivityksen synkronointi |
US7483583B2 (en) | 2003-12-16 | 2009-01-27 | Infocus Corporation | System and method for processing image data |
AU2006352758A1 (en) * | 2006-04-10 | 2008-12-24 | Avaworks Incorporated | Talking Head Creation System and Method |
EP1931150A1 (en) | 2006-12-04 | 2008-06-11 | Koninklijke Philips Electronics N.V. | Image processing system for processing combined image data and depth data |
US7973823B2 (en) * | 2006-12-29 | 2011-07-05 | Nokia Corporation | Method and system for image pre-processing |
US20100157079A1 (en) * | 2008-12-19 | 2010-06-24 | Qualcomm Incorporated | System and method to selectively combine images |
EP2474950B1 (en) | 2011-01-05 | 2013-08-21 | Softkinetic Software | Natural gesture based user interface methods and systems |
EP2538388B1 (en) | 2011-06-20 | 2015-04-01 | Alcatel Lucent | Method and arrangement for image model construction |
RU2013110494A (ru) | 2013-03-11 | 2014-09-20 | ЭлЭсАй Корпорейшн | Устройство обработки изображений с уровнем оценки, реализующим программный и аппаратный алгоритмы разной точности |
-
2013
- 2013-03-11 RU RU2013110494/08A patent/RU2013110494A/ru not_active Application Discontinuation
- 2013-09-13 US US14/238,522 patent/US9323995B2/en active Active
- 2013-09-13 CA CA2847126A patent/CA2847126A1/en not_active Abandoned
- 2013-09-13 WO PCT/US2013/059704 patent/WO2014143154A1/en active Application Filing
- 2013-09-13 KR KR1020157019532A patent/KR20150123789A/ko not_active Application Discontinuation
- 2013-09-13 JP JP2016500090A patent/JP2016513842A/ja not_active Withdrawn
- 2013-09-13 CN CN201380003686.3A patent/CN104160419A/zh active Pending
- 2013-10-03 TW TW102135896A patent/TW201435800A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CA2847126A1 (en) | 2014-09-11 |
US20160004919A1 (en) | 2016-01-07 |
TW201435800A (zh) | 2014-09-16 |
WO2014143154A1 (en) | 2014-09-18 |
US9323995B2 (en) | 2016-04-26 |
KR20150123789A (ko) | 2015-11-04 |
RU2013110494A (ru) | 2014-09-20 |
CN104160419A (zh) | 2014-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210190497A1 (en) | Simultaneous location and mapping (slam) using dual event cameras | |
US11557085B2 (en) | Neural network processing for multi-object 3D modeling | |
CN110348454B (zh) | 匹配局部图像特征描述符 | |
KR101922747B1 (ko) | 관절로 연결된 모델의 전자동 동적 교정 기법 | |
US20150253863A1 (en) | Image Processor Comprising Gesture Recognition System with Static Hand Pose Recognition Based on First and Second Sets of Features | |
CN115147558B (zh) | 三维重建模型的训练方法、三维重建方法及装置 | |
JP7280385B2 (ja) | 視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体 | |
EP3819869B1 (en) | Method and apparatus with depth image generation | |
US20150023607A1 (en) | Gesture recognition method and apparatus based on analysis of multiple candidate boundaries | |
JP2020067748A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
US20150161437A1 (en) | Image processor comprising gesture recognition system with computationally-efficient static hand pose recognition | |
US9323995B2 (en) | Image processor with evaluation layer implementing software and hardware algorithms of different precision | |
WO2021098576A1 (zh) | 手部姿态估计方法、装置及计算机存储介质 | |
US20150262362A1 (en) | Image Processor Comprising Gesture Recognition System with Hand Pose Matching Based on Contour Features | |
JP2020122754A (ja) | 3次元位置推定装置及びプログラム | |
JP2022132063A (ja) | 拡張現実提供装置のポーズ決定方法及び装置 | |
WO2015119657A1 (en) | Depth image generation utilizing depth information reconstructed from an amplitude image | |
US20230236219A1 (en) | Visual inertial odometry with machine learning depth | |
Buder | Dense real-time stereo matching using memory efficient semi-global-matching variant based on FPGAs | |
JP7477596B2 (ja) | 深度推定のための方法、深度推定システム、およびコンピュータプログラム | |
WO2021098666A1 (zh) | 手部姿态检测方法和装置、及计算机存储介质 | |
US20150146920A1 (en) | Gesture recognition method and apparatus utilizing asynchronous multithreaded processing | |
US10861174B2 (en) | Selective 3D registration | |
CN115082978A (zh) | 面部姿态的检测装置、方法、图像处理系统及存储介质 | |
US20180001821A1 (en) | Environment perception using a surrounding monitoring system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160810 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160810 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20160902 |