(57)【特許請求の範囲】
【請求項１】
コンピュータが物体の認識を行う方法であって、
画像データを受信する受信ステップと、
前記画像データから距離画像および色画像を抽出する抽出ステップと、
前記距離画像を複数の領域にセグメント化することによってマスク画像を作成するマスクステップと、
前記マスク画像の複数の領域に含まれる物体を識別する識別ステップと、
階層型分類器を用いて前記距離画像およびマスク画像から第１の尤度スコアを決定する第１のスコア決定ステップと、
深層畳み込みニューラルネットワーク（ＣＮＮ）を用いて前記色画像およびマスク画像から第２の尤度スコアを決定する第２のスコア決定ステップと、
前記第１の尤度スコアおよび第２の尤度スコアに基づいて、前記画像データの少なくとも一部分についてのクラスを決定する決定ステップと、
を含む方法。
【請求項２】
コンピュータが物体の認識を行う方法であって、
画像データを受信する受信ステップと、
前記画像データを複数の領域にセグメント化することによってマスク画像を作成するマスクステップと、
階層型分類器を用いて前記画像データおよびマスク画像から第１の尤度スコアを決定する第１のスコア決定ステップと、
深層畳み込みニューラルネットワーク（ＣＮＮ）を用いて前記画像データおよびマスク画像から第２の尤度スコアを決定する第２のスコア決定ステップと、
前記第１の尤度スコアおよび第２の尤度スコアに基づいて、前記画像データの少なくとも一部分についてのクラスを決定する決定ステップと、
を含む方法。
【請求項３】
前記第２のスコア決定ステップは、
前記画像データから第１の画像を抽出するステップと、
前記マスク画像内の領域の前記第１の画像からピクセルをコピーすることによって物体画像を生成するステップと、
前記深層ＣＮＮを用いて前記物体画像を分類するステップと、
前記物体画像が前記深層ＣＮＮの異なる複数のクラスにそれぞれ属する確率を示す分類尤度スコアを生成するステップと、
前記分類尤度スコアに基づいて前記第２の尤度スコアを生成するステップと、
を含む、請求項２に記載の方法。
【請求項４】
前記第１の画像は、色画像、距離画像、色画像と距離画像の組合せ、のうちの１つである、
請求項３に記載の方法。
【請求項５】
前記決定ステップでは、
前記第１の尤度スコアおよび第２の尤度スコアを全体尤度スコアに融合し、前記全体尤度スコアが所定のしきい値を満たす場合に、前記全体尤度スコアを用いて、前記画像データの少なくとも一部分が人物を表すものとして分類を行う、
請求項２に記載の方法。
【請求項６】
前記画像データから距離画像および色画像を抽出する抽出ステップをさらに含み、
前記第１のスコア決定ステップでは、前記階層型分類器を用いて前記距離画像およびマ
スク画像から前記第１の尤度スコアを決定し、
前記第２のスコア決定ステップでは、前記深層ＣＮＮを用いて前記色画像およびマスク画像から前記第２の尤度スコアを決定する、
請求項２に記載の方法。
【請求項７】
前記深層ＣＮＮが最終レイヤとしてソフトマックスレイヤを有し、前記画像データの少なくとも一部分が人物を表す前記第２の尤度スコアを生成する、
請求項２に記載の方法。
【請求項８】
前記第１の尤度スコアおよび第２の尤度スコアを第１の対数尤度値および第２の対数尤度値に変換する変換ステップと、
前記第１の対数尤度値および第２の対数尤度値の加重合計を用いることにより複合尤度スコアを計算する計算ステップと、
をさらに含む、請求項２に記載の方法。
【請求項９】
前記クラスは人に対応するクラスである、
請求項２に記載の方法。
【請求項１０】
前記第２のスコア決定ステップは、
前記画像データおよび前記階層型分類器によって得られた前記第１の尤度スコアを用いて前記第２の尤度スコアを決定するステップをさらに含む、
請求項２に記載の方法。
【請求項１１】
画像データを複数の領域にセグメント化することによってマスク画像を作成するマスク手段と、
階層型分類器を用いて前記画像データおよびマスク画像から第１の尤度スコアを決定する第１のスコア決定手段と、
深層畳み込みニューラルネットワーク（ＣＮＮ）を用いて前記画像データおよびマスク画像から第２の尤度スコアを決定する第２のスコア決定手段と、
前記第１の尤度スコアおよび第２の尤度スコアに基づいて、前記画像データの少なくとも一部分についてのクラスを決定する決定手段と、
を有するシステム。
【請求項１２】
前記第２のスコア決定手段は、
前記画像データから第１の画像を抽出する手段と、
前記マスク画像内の領域の前記第１の画像からピクセルをコピーすることによって物体画像を生成する手段と、
前記深層ＣＮＮを用いて前記物体画像を分類する手段と、
前記物体画像が前記深層ＣＮＮの異なる複数のクラスにそれぞれ属する確率を示す分類尤度スコアを生成する手段と、
前記分類尤度スコアに基づいて前記第２の尤度スコアを生成する手段と、
を有する、請求項１１に記載のシステム。
【請求項１３】
前記第１の画像は、色画像、距離画像、色画像と距離画像の組合せ、のうちの１つである、
請求項１２に記載のシステム。
【請求項１４】
前記決定手段は、
前記第１の尤度スコアおよび第２の尤度スコアを全体尤度スコアに融合し、前記全体尤度スコアが所定のしきい値を満たす場合に、前記全体尤度スコアを用いて、前記画像デー
タの少なくとも一部分が人物を表すものとして分類を行う、
請求項１１に記載のシステム。
【請求項１５】
前記画像データから距離画像および色画像を抽出する抽出手段をさらに含み、
前記第１のスコア決定手段は、前記階層型分類器を用いて前記距離画像およびマスク画像から前記第１の尤度スコアを決定し、
前記第２のスコア決定手段は、前記深層ＣＮＮを用いて前記色画像およびマスク画像から前記第２の尤度スコアを決定する、
請求項１１に記載のシステム。
【請求項１６】
前記深層ＣＮＮが最終レイヤとしてソフトマックスレイヤを有し、前記画像データの少なくとも一部分が人物を表す前記第２の尤度スコアを生成する、
請求項１１に記載のシステム。
【請求項１７】
前記第１の尤度スコアおよび第２の尤度スコアを第１の対数尤度値および第２の対数尤度値に変換する変換手段と、
前記第１の対数尤度値および第２の対数尤度値の加重合計を用いることにより複合尤度スコアを計算する計算手段と、
をさらに有する、請求項１１に記載のシステム。
【請求項１８】
前記クラスは人に対応するクラスである、
請求項１１に記載のシステム。
【請求項１９】
前記第２のスコア決定手段は、
前記階層型分類器を用いて前記マスク画像を事前フィルタする手段と、
前記画像データと事前フィルタされた前記マスク画像を用いて前記第２の尤度スコアを決定する手段と、
を含む、請求項１１に記載のシステム。
【請求項２０】
前記階層型分類器は、ガウス型混合モデルを用いて前記第１の尤度スコアを決定する、
請求項１１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、深層畳み込みニューラルネットワークによるレイヤベースの物体検出を使用する物体認識に関する。
【背景技術】
【０００２】
（関連出願への相互参照）
本出願は、"AUGMENTING LAYER-BASED OBJECT DETECTION WITH DEEP CONVOLUTIONAL NEURAL NETWORKS"と題し、２０１６年２月１９日に出願された米国特許出願第１５／０４８
，７５７号の優先権を主張する。当該出願は、その全体が本明細書中に参照として組み込まれる。
【０００３】
今日、多くのコンピュータシステムおよびマシンが、様々な異なるアプリケーションのための人物認識技法に依存している。いくつかの例示的なアプリケーションでは、マシンおよびコンピュータシステムは、特定のプログラムをオン／オフまたはアクティブ化するために、特定の位置に人が存在するかどうか（または誰が存在するか）を知る必要がある。人物認識は、特に、人間とロボット間の相互作用において基本的な技術であることが多い。ロボットは一般的に、人間と対話するために、人間がどこにいるかを知る必要がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】P.F.Felzenszwalb, R.B.Girshick, D.McAllester, D.Ramanan, "Object Detection with Discriminatively Trained Part Based Models",IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.32, No.9, pp. 1627-1645, 2010
【非特許文献２】T.LinderArras K.O., "People Detection, Tracking and Visualization using ROS on a Mobile Service Robot", Robot Operating System(ROS):The Complete Reference, Springer, 2016
【非特許文献３】A.Krizhevsky, I.Sutskever, G.Hinton, "ImageNet Classification with Deep Convolutional Neural Networks", Neural Information Processing(NIPS), 2012
【非特許文献４】R.Girshick, J.Donahue, T.Darrell, J.Malik, "Rich feature hierarchies for accurate object detection and semantic segmentation", Computer Vision and Pattern Recognition, 2014
【非特許文献５】C.Couprie, C.Farabet, L.Najman, Y.LeCun, "Convolutional Nets and Watershed Cuts for Real-Time Semantic Labeling of RGBD Videos", Journal of Machine Learning Research, Vol.15(October), pp.3489-3511, 2014
【非特許文献６】S.Gupta, R.Girshick, P.Arbelaez, J.Malik, "Learning Rich Features from RGB-D Images for Object Detection and Segmentation", European Conference on Computer Vision, 2014
【非特許文献７】E.Martinson, "Detecting Occluded People for Robotic Guidance",  Robots and Human Interactive Communication(RO-MAN), 2014
【非特許文献８】L.Spinello, K.Arras, R.Triebel, R.Siewart, "A Layered Approach to People Detection in 3D Range Data", Proc. of the AAAI Conf. on Artificial Intelligence:Physically Grounded AI Track, 2010
【非特許文献９】N.Kirchner, A.Alempijevic, A.Virgona, X.Dai, P.Ploger, R.Venkat, "A Robust People Detection. Tracking and Counting System", Australian Conf. on Robotics and Automation, 2014
【非特許文献１０】L.SpinelloK.Arras, "People Detection in RGB-D Data", Int. Conf. on Intelligent Robots and Systems(IROS), 2011
【非特許文献１１】M.Munaro, F.Basso, E.Menegatti, "Tracking people within groups with RGB-D data", International Conference on Intelligent Robots and Systems(IROS)2012, 2012
【非特許文献１２】W.Choi, C.Pantofaru, S.Savarese, "Detecting and Tracking People using an RGB-D Camera via Multiple Detector Fusion", Workshop on Challenges and Opportunities in Robot Perception (in conjunction with ICCV-11), 2011
【発明の概要】
【発明が解決しようとする課題】
【０００５】
公共の場所で人物を検出することについて若干の進歩があった（非特許文献１および２参照）。しかし、家庭環境などの他の領域においては、特に困難な課題がある。
【０００６】
物体認識を改善するために開発された１つの解決策は、レイヤベースの分類／物体検出システムを使用して物体のクラスを識別することである。レイヤベースの分類は、セグメント化された距離画像を使用して、人物の２つ以上のクラスを区別する。しかしながら、距離画像を使用するレイヤベースの分類、特に、離れた角度（たとえば、４５度）にある正方形の物体に近づくときの（ロボットなどの）移動物体検出システムに存在する１つのよくある誤りは、その物体が距離画像において曲がって見えることであり、人物と区別することが困難になる。移動物体検出システムにおいて、ロボットが普通でない角度で物体に近づくときに発生する誤分類は、ロボットの立ち往生を引き起こしうる。
【０００７】
物体認識を改善するために開発された別の解決策は、深層畳み込みニューラルネットワークを使用して物体や画像を分類することである。深層畳み込みニューラルネットワークを使用して物体や画像を分類することは、比較的最近の試みである。アルゴリズム自体は数十年前から存在するが、これらのアルゴリズムを大きいデータセット向けに最適化し、それらの速度および精度を向上することにおいて、重要な最近の研究が行われた。中でも注目すべきは、トロント大学においてKrizhevsky、Sutskever、およびHintonによって公
開された研究が、大きい物体認識の課題であるImageNetに対して良好に実行される、「AlexNet」と呼ばれる特定のネットワークアーキテクチャを明らかにしたことである（非特
許文献３）。
【０００８】
深層畳み込みニューラルネットワークは、ＲＧＢ画像を利用して物体や画像を分類することが多い。深層畳み込みニューラルネットワークに対する最近の改善は、大きい物体画像の認識、ならびにトレーニングセットおよびノイズの許容値のサイズの増大において成功を示したが、深層畳み込みニューラルネットワークは重大な弱点を抱えている。
深層畳み込みニューラルネットワークは、単一の送信モダリティ（たとえば、ＲＧＢ画像データ）に過度に依存するという点である。ＲＧＢ内のセグメント化がはるかに困難かつ計算コストが高いだけでなく、分類器自体は、エッジおよびテクスチャに基づく決定境界、唯一でなく、または最良でさえない特徴、検知モダリティに依存する選択、および認識される物体を知ることを重要視する。
【０００９】
加えて、AlexNetは、しかしながら、色画像に限定されたときのセグメント化問題を解
決せず、グラフカットのような他のアルゴリズムが、物体境界ボックスを抽出するために使用され、次いで分類される（非特許文献４）。
この代替として、距離を組み込むことによって単一のモダリティ制限を乗り越える重要な取組みがあった（非特許文献５）。
【００１０】
Couprieらは、ＲＧＢ分類より前に画像セグメント化用の距離画像に流域カットを適用
することによって、評価するべき境界ボックスの数を指数関数的に減少させた。また、Guptaらは、セグメント化および分類のステップに距離データを含めることで、さらに一歩
先を行く（非特許文献６）。
しかしながら、彼らの研究は、AlexNetとともに使用するための画像内のあらゆるピク
セルについて、地上高と引力方向との角度の両方を推定するために、カメラの方向付けの知識を必要とする。
【００１１】
人物検出の領域内に、ＲＧＢと距離情報の組合せを使用して特定の分類器を改善することに焦点を当てたマルチモーダル融合研究も存在する。階層人物検出(Layered person detection)および輪郭推定における前の研究によって実証されたように、人物は距離データのみにおいて検出することができ、ならびに、それらは、単眼カメラのデータ、色画像またはグレースケール画像のいずれかにおいて検出することができる（非特許文献７，８，９）。
【００１２】
しかし、２つのモダリティを使用することの利点は、距離ベースの認識についての障害点が、色ベースの認識についての障害点と同じではないことである。登録された色画像および距離画像を考えると、いくつかのシステムは、これら２つのモダリティの融合を利用するように開発されている。
【００１３】
SpinelloおよびArras（フライブルグ大学）によって公開された方法は、各領域内で同
様の分類器を適用することによって、これら２つのモダリティを融合するものである（非特許文献１０）。
距離画像は、隣接ピクセルのグループに基づいて、対象の領域を最初に識別するために使用される。次いで、当初ＲＧＢ画像内の物体認識用に開発され、色ベースの人物認識において広く使用される配向勾配ヒストグラムが、色画像内の対象の領域について計算される。次いで、第２の関連アルゴリズムである配向距離ヒストグラムが距離画像オブジェクトに適用され、結果として生じる複合ベクトルがサポートベクタマシンを使用して分類される。また、フライブルグより最近の研究は、ポイントクラウドライブラリとともに含まれる検出器を含む、他の公的に利用可能な検出器を融合する（非特許文献１１）。
【００１４】
別の関連するＲＧＢ−Ｄ分類システムがミシガン大学によって公開され、それにより、動作の合図、肌の色、および検出された顔などのさらなるモダリティも複合分類システムに追加される（非特許文献１２）。
これらの方法は両方とも、ＲＧＢ領域と距離領域の両方からの分類器を使用するが、どちらも畳み込みニューラルネットワークが可能にすることができる精度の向上を利用しない。一番目の方法は、２つのまったく同様の分類器（ＨＯＧ対ＨＯＤ）を使用して領域間融合を処理するが、システムは、同じ決定境界を学習しており、その決定境界が識別することが困難である場合において失敗する。対照的に、二番目の方法は、異なる領域にまたがる様々な異なる検出器を利用する。しかしながら、畳み込みニューラルネットワークとは対照的に、大部分（たとえば、動作の合図、肌の色、および顔の検出）は、一般的な検出問題における非常に弱い分類器である。
【００１５】
したがって、畳み込みニューラルネットワークのプロセス時間の増加および計算の難度の高さを伴わずに、双方が距離画像を分類する際のエラーを低減する解決策が必要である。
【課題を解決するための手段】
【００１６】
本明細書に記載される主題の１つの発明的態様に係るシステムは、
画像データを受信する受信手段と、前記画像データから距離画像および色画像を抽出する抽出手段と、前記距離画像を複数の領域にセグメント化することによってマスク画像を作成するマスク手段と、階層型分類器を用いて前記距離画像およびマスク画像から第１の尤度スコアを決定する第１のスコア決定手段と、深層畳み込みニューラルネットワーク（ＣＮＮ）を用いて前記色画像およびマスク画像から第２の尤度スコアを決定する第２のスコア決定手段と、前記第１の尤度スコアおよび第２の尤度スコアに基づいて、前記画像データの少なくとも一部分についてのクラスを決定する決定手段と、を有する。
【００１７】
一般に、本明細書に記載される主題の別の発明的態様に係る方法は、
画像データを受信する受信ステップと、前記画像データを複数の領域にセグメント化することによってマスク画像を作成するマスクステップと、階層型分類器を用いて前記画像データおよびマスク画像から第１の尤度スコアを決定する第１のスコア決定ステップと、深層畳み込みニューラルネットワーク（ＣＮＮ）を用いて前記画像データおよびマスク画像から第２の尤度スコアを決定する第２のスコア決定ステップと、前記第１の尤度スコアおよび第２の尤度スコアに基づいて、前記画像データの少なくとも一部分についてのクラスを決定する決定ステップと、を含む。
【００１８】
他の態様は、上記その他の発明的態様のための対応する方法、システム、装置、およびコンピュータプログラム製品を含む。上記その他の実装形態は、各々、場合によっては、以下の特徴および／または動作のうちの１つまたは複数を含む場合がある。
たとえば、前記第２のスコア決定ステップは、前記画像データから第１の画像を抽出するステップと、前記マスク画像内の領域の前記第１の画像からピクセルをコピーすることによって物体画像を生成するステップと、前記深層ＣＮＮを用いて前記物体画像を分類するステップと、前記物体画像が前記深層ＣＮＮの異なる複数のクラスにそれぞれ属する確率を示す分類尤度スコアを生成するステップと、前記分類尤度スコアに基づいて前記第２の尤度スコアを生成するステップと、を含んでもよい。
また、前記第１の画像は、色画像、距離画像、色画像と距離画像の組合せ、のうちの１つであることを特徴としてもよい。
また、前記決定ステップでは、前記第１の尤度スコアおよび第２の尤度スコアを全体尤度スコアに融合し、前記全体尤度スコアが所定のしきい値を満たす場合に、前記全体尤度スコアを用いて、前記画像データの少なくとも一部分が人物を表すものとして分類を行うことを特徴としてもよい。
また、前記画像データから距離画像および色画像を抽出する抽出ステップをさらに含み、前記第１のスコア決定ステップでは、前記階層型分類器を用いて前記距離画像およびマスク画像から前記第１の尤度スコアを決定し、前記第２のスコア決定ステップでは、前記深層ＣＮＮを用いて前記色画像およびマスク画像から前記第２の尤度スコアを決定することを特徴としてもよい。
また、前記深層ＣＮＮが最終レイヤとしてソフトマックスレイヤを有し、前記画像データの少なくとも一部分が人物を表す前記第２の尤度スコアを生成することを特徴としてもよい。
また、前記第１の尤度スコアおよび第２の尤度スコアを第１の対数尤度値および第２の対数尤度値に変換する変換ステップと、前記第１の対数尤度値および第２の対数尤度値の加重合計を用いることにより複合尤度スコアを計算する計算ステップとをさらに含むことを特徴としてもよい。
また、前記クラスは人に対応するクラスであることを特徴としてもよい。
【００１９】
本開示において提示された新規の検出技術は、いくつかの点で特に有利である。たとえば、本明細書に記載される技術は、再現率を犠牲にすることなく、様々な環境にわたって様々なセンサの精度を向上することができる。個々の分類器が特に強力であると実証された領域内でも、階層型分類器と畳み込みニューラルネットワークの融合はパフォーマンス
を改善する。さらに、本明細書に記載される技術は、階層型分類器および畳み込みニューラルネットワークによって知らされる様々なタイプの決定境界(decision boundaries)を
使用することによって、精度を向上することができる。階層システムが画像データ内のピクセルのレイヤの幾何形状に焦点を当てる場合、ニューラルネットワークは、境界および輪郭を重要視する。さらに、開示される技術は、背景技術において説明された解決策と同様に、誤検出を発生させることなく、より広い様々な環境において精度および識別の向上を達成することができる。
【００２０】
本開示は、添付図面の図において限定ではなく例として示され、添付図面では、同様の構成要素を参照するために同様の参照番号が使用される。
【発明の効果】
【００２１】
本発明によれば、画像を分類する際のエラーを低減することができる。
【図面の簡単な説明】
【００２２】
【図１】画像オブジェクトを認識するための例示的なシステムのブロック図である。
【図２Ａ】例示的なコンピューティングデバイスのブロック図である。
【図２Ｂ】例示的な検出モジュールのブロック図である。
【図３】画像オブジェクトを認識するための例示的な方法のフローチャートである。
【図４Ａ】画像オブジェクトを認識するためのさらなる例示的な方法のフローチャートである。
【図４Ｂ】画像オブジェクトを認識するためのさらなる例示的な方法のフローチャートである。
【図５】人物ブロブを検出し、人物ブロブをレイヤでスライスし、レイヤを既存のユーザモデルと比較することで人物ブロブに関連付いた人物を認識するための例示的な方法の図である。
【図６】例示的な距離画像から抽出される例示的なブロブを描写する図である。
【図７】人物ブロブの複数のレイヤへの例示的なセグメント化を示す図である。
【図８】本明細書で開示される新規のレイヤベースの検出技術の様々な非限定的な利点を記載する表である。
【図９】距離画像から処理されたまっすぐに立った人物ブロブから抽出される例示的なレイヤを描写する図である。
【図１０Ａ】２つの異なるタイプのセンサ間の例示的な比較を示すグラフである。
【図１０Ｂ】２つの異なるタイプのセンサ間の例示的な比較を示すグラフである。
【図１０Ｃ】本明細書に記載される新規の技術と別の代替技術との間のブロブレベルの比較を示すグラフである。
【図１１】検出技術の例示的な適用例を示す図である。
【図１２Ａ】センサによって取り込まれた例示的な画像の表現を描写する図である。
【図１２Ｂ】センサによって取り込まれた例示的な画像の表現を描写する図である。
【図１２Ｃ】センサによって取り込まれた例示的な画像の表現を描写する図である。
【図１３】画像オブジェクトを認識するためのさらなる例示的な方法のフローチャートである。
【図１４Ａ】画像オブジェクトを認識するためのさらなる例示的な方法のフローチャートである。
【図１４Ｂ】画像オブジェクトを認識するためのさらなる例示的な方法のフローチャートである。
【図１５】ブロブをセグメント化し、分類し、スコアを生成するための例示的な方法の図である。
【図１６】例示的な画像分類システムのブロック図である。
【図１７Ａ】分類器の様々な組合せを使用した評価を示すグラフおよびデータの図である。
【図１７Ｂ】分類器の様々な組合せを使用した評価を示すグラフおよびデータの図である。
【図１７Ｃ】分類器の様々な組合せを使用した評価を示すグラフおよびデータの図である。
【図１８】事前フィルタリングされた階層型分類器を使用する例示的な画像分類システムのブロック図である。
【図１９】事前フィルタリングされた階層型分類器を使用する評価を示すグラフデータの図である。
【発明を実施するための形態】
【００２３】
本明細書に記載される検出技術は、距離画像、色画像などの画像データから、人物および人物以外の一意の物体を効率的かつ効果的に検出および認識することができる。例示的な実施形態では、本技術は、階層型分類器（Layered Classifier）および畳み込みニューラルネットワーク（ＣＮＮ）分類器を使用して、距離画像と色画像の両方に関係する情報を単一の尤度スコアに融合させる。本技術は、物体（たとえば人物）の重要な部分（たとえば、人物の頭または肩）が遮蔽されているときでも、距離画像内でそれらの物体を認識することができるという利点を有する。遮蔽とは、本質的に、記録されているシーン内の物体の一部（たとえば、人体の一部分）が視界から（たとえば、カメラの視点から）ブロックされていることを意味する。遮蔽は、いくつかの要素によって引き起こされる場合がある。遮蔽は、例えば（１）人物の一部を視界からブロックするフレーム内の物体、（２）カメラの画像平面の縁部、および、（３）撮影時に発生する、照明、焦点、ノイズなどの、画像内の物体を見えないようにブロックまたは被覆する可能性がある他のアーティファクトによって引き起こされる場合があるが、これらに限られない。
【００２４】
非限定的な例では、本検出技術は、（レイヤとも呼ばれる）物体のセグメントを基準面（たとえば、凸形放物線および直線）と比較することによって、距離画像内の物体を認識するコンピュータ実装アルゴリズムを含む。本検出技術は、最小のパラメータが物体の２Ｄセグメントごとに推定されることを必要とする場合があり、物体の２Ｄセグメントから、物体から人物を分離するように分類器を迅速に学習させることができる。２Ｄスキャンを組み合わせると、認識精度が９０％を超える結果になり得る。
【００２５】
本検出技術は、実際の環境において人物検出を探求すること、物体を運んでいる人物に認識を拡張すること、および、横たわるか屈んでいるなど、まっすぐに立っていないポーズにおける動作など、多くの領域において適用可能である。一般に、人間がインテリジェントコンピューティングデバイスと対話することを望むことは、あらゆる環境において検出を機能させることである。
【００２６】
図１は、物体を認識するための例示的なシステム１００のブロック図である。図示されたように、システム１００は、計算サーバ１０１、ならびに／または、（信号線１１８で示したように）ユーザ１２５によってアクセスおよび／もしくは対話され得る、検出システム１０３を含む。なお、実装形態に応じて、システムから計算サーバ１０１を除外してもよい。システムに計算サーバ１０１が含まれる実施形態では、検出システム１０３および計算サーバ１０１は、それぞれ信号線１０６および１０８を介して、ネットワーク１０５と通信可能に結合する。たとえば、検出システム１０３および計算サーバ１０１は、センサデータ、認識データなどのデータを交換するために、ネットワーク１０５を介して互いに通信可能に結合する。図１の信号線１０６および１０８は、１つまたは複数の有線接続および／またはワイヤレス接続の代表であり得る。さらなる例として、検出システム１０３は、処理用に計算サーバ１０１にセンサデータを送信することができ、計算サーバ１０１は、本明細書に記載されるようにデータを処理して物体を検出および認識し、認識さ
れた物体を記述するデータおよび／または結果を、動作中に検出システム１０３が使用するために、検出システム１０３に送ることができる。システムに計算サーバ１０１が含まれない実施形態では、検出システム１０３は、自律的に、または他の検出システム１０３（図示せず）と連携して動作して、物体を検出および認識することができる。たとえば、検出システム１０３は、本明細書において説明される計算を実行するために、他の同様の検出システム１０３とコンピュータネットワークを介してネットワーク接続されてもよい。
【００２７】
なお、図１では単一の検出システム１０３および計算サーバ１０１を示しているが、様々な異なるシステム環境およびシステム構成が可能であり、考察でき、本開示の範囲内であることを理解されたい。たとえば、いくつかの実施形態は、追加の、または、より少ないコンピューティングデバイス、サービス、および／またはネットワークを含む場合があり、他のコンピューティングデバイス上にローカルまたはリモートに様々な機能を実装する場合がある。さらに、様々なエンティティは、単一のコンピューティングデバイスもしくはシステムに統合されるか、または追加のコンピューティングデバイスもしくはシステムなどにわたって分散される場合がある。たとえば、検出モジュール１３５は、コンピューティングデバイスおよび／もしくはシステムの組合せにわたって、または１つのコンピューティングデバイスおよび／もしくはシステムの中に記憶され、それらによって実行可能であり、分散される場合がある。
【００２８】
ネットワーク１０５は、従来のタイプのネットワーク、有線ネットワーク、または無線ネットワークであってもよく、また、スター型、トークンリング型、または他の既知の構成を含む、任意の構成を取ることができる。さらに、ネットワーク１０５は、１つもしくは複数のローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）（たとえば、インターネット）、仮想プライベートネットワーク（ＶＰＮ）、ピアツーピアネットワーク、近距離無線通信（たとえば、Ｂｌｕｅｔｏｏｔｈ（登録商標））、セルラーネットワーク（たとえば、３Ｇ、４Ｇ、他の世代）、および／または、それを介して複数のコンピューティングノードが通信することができる任意の他の相互接続されたデータパスを含んでもよい。データは、たとえば、様々なインターネットレイヤ、トランスポートレイヤ、またはアプリケーションレイヤのプロトコルを含む、様々な異なる通信プロトコルを使用して、ネットワーク１０５のノード間で、暗号化または非暗号化された形態で送信されてもよい。たとえば、データは、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、伝送制御プロトコル（ＴＣＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、セキュアハイパーテキスト転送プロトコル（ＨＴＴＰＳ）、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ）、リアルタイムストリーミングプロトコル（ＲＴＳＰ）、リアルタイム転送プロトコル（ＲＴＰ）およびリアルタイム転送制御プロトコル（ＲＴＣＰ）、ボイスオーバーインターネットプロトコル（ＶＯＩＰ）、ファイル転送プロトコル（ＦＴＰ）、ウェブソケット（ＷＳ）、ワイヤレスアクセスプロトコル（ＷＡＰ）、様々なメッセージングプロトコル（ＳＭＳ、ＭＭＳ、ＸＭＳ、ＩＭＡＰ、ＳＭＴＰ、ＰＯＰ、ＷｅｂＤＡＶなど）、または他の既知のプロトコルを使用して、ネットワークを介して送信されてもよい。
【００２９】
検出システム１０３は、環境内の物体の有意性を知覚、認識、および解釈して、アクションを実行することが可能な自律コンピューティングシステムの代表であってもよいし、またはそれに含まれたものであってもよい。たとえば、検出システム１０３は、車の内部の特定のドライバまたは同乗者を認識する能力を有するインテリジェントカーを代表するシステムであってもよく、その中に組み込まれたシステムであってもよい。さらなる例では、検出システム１０３は、人間および／もしくは他のロボットと協働して、様々なタスクを実行することができるソーシャルロボット、または人口が密集した環境内で動作する自律システムの代表であってもよく、またはその中に組み込まれたものであってもよい。
いくつかの実施形態では、検出システム１０３は、物体を検出および認識するための構成要素として、他のシステムに組み込まれる場合がある。たとえば、検出システム１０３は、ゲーミングシステム、テレビジョン、モバイルフォン、タブレット、ラップトップ、ワークステーション、サーバなどのクライアントデバイスの中に組み込まれたものであってもよい。たとえば、検出システム１０３は、ある特定の１人または複数の人物が特定の位置に存在するかどうかを判定するために、マシンまたはコンピュータシステムの中に組み込まれる場合があり、マシンまたはコンピュータシステムは、その特定の１人または複数の人物が特定の位置に存在する場合、特定のプログラムをオン／オフまたは実行する。
【００３０】
いくつかの実施形態では、検出システム１０３は、センサ１５５、プロセッサ１９５および検出モジュールのインスタンス１３５ａを含む計算ユニット１１５、オブジェクトモデルのセット１２８を記憶する記憶装置１９７、ならびに／またはインターフェース１７５を含む。
図に示したように、センサ１５５は、信号線１２２を介して計算ユニット１１５に通信可能に結合される。記憶装置１９７は、信号線１２４を介して計算ユニット１１５に通信可能に結合される。インターフェース１７５は、信号線１２６を介して計算ユニット１１５に通信可能に結合される。
いくつかの実施形態では、検出モジュールのインスタンス１３５ｂ、またはそれの様々な構成要素は、本明細書で説明するように、計算サーバ１０１に記憶され、実行可能である。検出モジュールのインスタンス１３５ａおよび１３５ｂは、本明細書では個別に呼ばれるか、または総称して検出モジュール１３５と呼ばれる。
【００３１】
図１では、計算ユニット１１５、センサ１５５、記憶装置１９７、およびインターフェース１７５の各々の単一のインスタンスを示しているが、検出システム１０３は、任意の数の計算ユニット１１５、センサ１５５、記憶装置１９７、および／またはインターフェース１７５を含むことができる。さらに、構成に応じて、検出システム１０３は、オペレーティングシステム、プログラム、様々な追加センサ、モーター、ムーブメントアセンブリ、スピーカ、ディスプレイデバイスなどの入力／出力デバイス、ネットワーク１０５に通信可能に結合された他のデバイス（たとえば、計算サーバ１０１、他の検出システム１０３（図示せず）、任意の他の適切なシステム（図示せず））とのワイヤレス通信用のトランシーバユニットおよびアンテナなどの、図１に示されていない他の構成要素を含んでいてもよい。
【００３２】
センサ１５５は、周辺環境から光および他の信号を取り込み、距離データなどのセンサデータを生成および／または処理するように構成された、１つまたは複数のセンサを含む。たとえば、センサ１５５は、例えば、ＲＧＢ−Ｄカメラ、立体カメラ、構造化光カメラ／スキャナ、飛行時間（Time of Flight）カメラ、干渉計、変調イメージャ、レーザー測距器、明視野カメラ、強化ＣＣＤカメラなどのレンジカメラを含む場合があるが、これらに限られない。例えば、超音波センサ、カラーカメラ、赤外線カメラなどの他のタイプのセンサが使用されてもよい。いくつかの実施形態では、センサ１５５および／または検出システム１０３は、加速度計、ジャイロスコープ、温度計、気圧計、熱電対、または他の従来の検知デバイスなどの、様々なタイプのセンサの組合せを含む。MESA ImagingによるSwiss Rangerセンサ、MicrosoftによるKinectセンサ、様々な立体視システムなどは、セ
ンサ１５５が含む場合があるカメラのさらなる非限定的な例である。センサ１５５は計算ユニット１１５の中に組み込まれていてもよい。また、ワイヤレス接続もしくは有線接続を介して計算ユニット１１５に結合される異種デバイスであってもよい。
【００３３】
様々な実施形態では、センサ１５５は、本明細書内の他の場所に記載されるように、センサ１５５によって取り込まれた物体に関連する距離を記述する距離データを生成し、処理用に、計算ユニット１１５および／または計算サーバ１０１に送信する。
【００３４】
計算ユニット１１５は、図２Ａに示したコンピューティングデバイス２００などの、任意のプロセッサベースのコンピューティングデバイスである。一実施形態では、計算ユニット１１５は、本明細書内の他の場所に記載されるように、センサ１５５からセンサデータを受信し、センサデータを処理し、処理に基づいてインターフェース１７５を介して提示用の結果を生成および／または供給し、処理に基づいて様々なプログラムをトリガし、処理に基づいて検出システム１０３または関連システムの挙動および／または運動を制御し、計算サーバ１０１と協働してセンサデータを処理するなどを行う。
いくつかの実施形態では、計算ユニット１１５は、処理されたセンサデータおよび／またはそこから処理された結果を記憶装置１９７に記憶させることができる。プロセッサ１９５および検出モジュール１３５については、図２Ａ〜図１９を参照して後ほど詳細に説明する。
【００３５】
インターフェース１７５は、ユーザ１２５と計算ユニット１１５との間の通信を処理するように構成されたデバイスである。たとえば、インターフェース１７５は、ユーザ１２５に検出情報を表示するための表示装置、ユーザ１２５に音声情報を出力するためのスピーカ、音声および／またはボイスコマンドを取り込むためのマイクロフォン、ならびに、ユーザ１２５との通信を容易にする任意の他の入力／出力構成要素のうちの１つまたは複数を含む。いくつかの実施形態では、インターフェース１７５は、計算ユニット１１５からユーザ１２５に出力を送信するように構成される。たとえば、インターフェース１７５は、計算ユニット１１５が、ユーザ１２５が近傍内にいることを検出した場合に、ユーザ１２５に音声の挨拶を再生するオーディオシステムを含む。インターフェース１７５は、本明細書に記載される機能を提供するための他のタイプのデバイスを含んでもよいことを理解されたい。
【００３６】
ユーザ１２５は人間のユーザである。一実施形態では、ユーザ１２５は、道路上の車両の中に座っているドライバまたは同乗者である。別の実施形態では、ユーザ１２５は、ロボットと対話する人間である。さらなる実施形態では、ユーザは、コンピューティングデバイスの従来のユーザである。ユーザ１２５は、計算ユニット１１５との間で様々なタイプのデータを送受信するインターフェース１７５と対話するか、または場合によっては、それに入力を供給し、かつ／もしくはそれから出力を受信する。
【００３７】
記憶装置１９７は、データを記憶する非一時的記憶媒体である。たとえば、記憶装置１９７は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス、フラッシュメモリ、ハードディスクドライブ、フロッピーディスクドライブ、ディスクベースのメモリデバイス（たとえば、ＣＤ、ＤＶＤ、Ｂｌｕｅ−ｒａｙ（登録商標）など）、フラッシュメモリデバイス、または他の何らかの既知の不揮発性記憶装置のうちの１つまたは複数を含む。記憶装置１９７は、検出システム１０３、または、検出システム１０３とは別個であるが、それに結合されるか、もしくはそれによってアクセス可能な別のコンピューティングデバイスおよび／もしくはストレージシステムに含まれていてもよい。いくつかの実施形態では、記憶装置１９７は、検出システム１０３および／または計算サーバ１０１によって動作可能なデータベース管理システム（ＤＢＭＳ）に関連するデータを記憶することができる。たとえば、ＤＢＭＳは、構造化照会言語（ＳＱＬ）のＤＢＭＳ、非ＳＱＬのＤＢＭＳなどを含んでいてもよい。場合によっては、ＤＢＭＳは、行と列から構成される多次元テーブルにデータを記憶し、プログラムに基づいた動作を使用して、データの行を操作、すなわち、挿入、照会、更新、および／または削除することができる。
【００３８】
計算サーバ１０１は、検出システム１０３が物体を検出および認識することを容易にするための、プロセッサ（図示せず）と、コンピュータ可読記憶媒体（たとえばメモリ。図
示せず）を有する、任意のコンピューティングデバイスである。いくつかの実施形態では、計算サーバ１０１は、検出モジュールのインスタンス１３５ｂを含む。ネットワークベースの実施形態では、計算サーバ１０１は、検出システム１０３からセンサデータ（たとえば距離データ）を受信し、センサデータを処理したうえで、任意の処理結果を検出システム１０３に送る。
【００３９】
図２Ａは、検出モジュール１３５と、プロセッサ１９５と、メモリ２３７と、通信ユニット２４５と、センサ１５５と、記憶装置１９７とを含む、本実施形態に係るコンピューティングデバイス２００のブロック図である。コンピューティングデバイス２００の構成要素は、バス２２０によって通信可能に結合される。いくつかの実施形態では、コンピューティングデバイス２００は、検出システム１０３および／または計算サーバ１０１のアーキテクチャの代表である。
【００４０】
メモリ２３７は、データを記憶し、コンピューティングデバイス２００の他の構成要素にデータへのアクセスを提供する手段である。いくつかの実装形態では、メモリ２３７は、プロセッサ１９５によって実行され得る命令および／またはデータを記憶する。たとえば、メモリ２３７は、検出モジュール１３５および／またはその構成要素を記憶する。メモリ２３７はまた、たとえば、オペレーティングシステム、ハードウェアドライバ、他のソフトウェアアプリケーション、データベースなどを含む、他の命令およびデータを記憶してもよい。メモリ２３７は、プロセッサ１９５およびコンピューティングデバイス２００の他の構成要素との通信のために、バス２２０に結合する。
【００４１】
メモリ２３７は、プロセッサ１９５によって処理される、または関連した命令、データ、コンピュータプログラム、ソフトウェア、コード、ルーチンなどを、含有、記憶、通信、伝搬、または搬送することができる装置またはデバイスを含むことができる、１つまたは複数の非一時的コンピュータ使用可能（たとえば、読取り可能、書込み可能などの）媒体である。いくつかの実装形態では、メモリ２３７は、揮発性メモリおよび不揮発性メモリのうちの１つまたは複数を含む。たとえば、メモリ２３７は、限定はしないが、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス、ディスクリートメモリデバイス（たとえば、ＰＲＯＭ、ＦＰＲＯＭ、ＲＯＭ）、ハードディスクドライブ、光ディスクドライブ（ＣＤ、ＤＶＤ、Ｂｌｕｅ−ｒａｙ（登録商標）など）のうちの１つまたは複数を含む。メモリ２３７は単一のデバイスであり得るか、または複数のタイプのデバイスおよび構成を含んでもよいことを理解されたい。
【００４２】
通信ユニット２４５は、通信ユニット２４５がワイヤレス接続および／または有線接続を使用して通信可能に結合された他のコンピューティングデバイスにデータを送信し、それらからデータを受信する手段である。通信ユニット２４５は、データを送受信するための１つまたは複数の有線インターフェースおよび／またはワイヤレストランシーバを含む。また、通信ユニット２４５は、ネットワーク１０５に結合し、（構成に応じて）検出システム１０３および／または計算サーバ１０１などの他のコンピューティングノードと通信する。通信ユニット２４５は、ネットワーク１０５に関して上記で説明された通信方法などの標準の通信方法を使用して、他のコンピューティングノードとデータを交換することができる。
【００４３】
検出モジュール１３５は、センサデータを受信するためにセンサ１５５に結合することができる。いくつかの実施形態では、センサ１５５から受信されるセンサデータは、距離画像を表す距離データ、色画像を表すデータ、他のタイプの画像を表す画像データを含んでいてもよい。画像データは、１つまたは複数の物体を含むシーンを描写する画像である。物体は、生物または非生物、生命体または非生命体などである。例示的な物体として、
人間、動物、家具、備品、車、器具などが挙げられるが、これらに限られない。検出モジュール１３５は、物体に関連付けられたブロブを抽出し、ブロブをレイヤにセグメント化し、尤度を生成し、レイヤおよび尤度を用いてブロブに関連付けられた物体を分類することなどによって、物体を効率的に認識することができる。
なお、本明細書では、画像中に存在する各物体に対応する塊（すなわち、タイプが特定される前の物体）をブロブ(Blob)と称する。
【００４４】
様々な実施形態では、検出モジュール１３５は、画像データから得られる距離データから１つまたは複数の物体を表す、１つまたは複数のブロブを抽出し、人物および非人物の物体を記述するものとしてブロブを分類する。また、ブロブをレイヤにセグメント化し、各ブロブのレイヤを、オブジェクトモデルのセットと比較して、ブロブに関連付けられた物体の識別情報を決定する（たとえば、人物ブロブに関連付けられた特定の個人を認識する）。さらなる実施形態では、検出モジュール１３５は、さらに、画像データから色画像（たとえば、ＲＧＢ画像）を抽出し、深層畳み込みニューラルネットワークを使用して色画像内のエッジおよび境界を決定し、エッジおよび境界を使用して色画像内のブロブを決定し、色画像に対応する尤度である分類スコアを生成する。ブロブは人物、またはいくつかの実施形態では特定の個人でありうる。本明細書内のさらに他の場所で説明されるように、多数のさらなる動作も可能である。
【００４５】
図２Ｂにおいて例示的な検出モジュール１３５として示されたように、検出モジュール１３５は、画像プロセッサ２０２と、レイヤセグメント化モジュール２０６と、階層型分類器モジュール２１０とＣＮＮモジュール２１２の両方を含む分類モジュール２０８と、融合モジュール２１４とを含みうるが、検出モジュール１３５は、登録モジュール、トレーニングモジュールなどの追加の構成要素を含んでいてもよく、かつ／または、様々な構成要素が単一のモジュールに組み合わされるか、もしくはさらなるモジュールに分割されてもよいことを理解されたい。
【００４６】
画像プロセッサ２０２、レイヤセグメント化モジュール２０６、および／または分類モジュール２０８は、ソフトウェア、ハードウェア、または上記の組合せとして実装することができる。いくつかの実装形態では、画像プロセッサ２０２、レイヤセグメント化モジュール２０６、および／または分類モジュール２０８は、バス２２０および／またはプロセッサ１９５により、互いに、かつ／またはコンピューティングデバイス２００の他の構成要素と通信可能に結合することができる。いくつかの実装形態では、構成要素１３５、２０２、２０６、および／または２０８のうちの１つまたは複数は、それらの機能を実現するためにプロセッサ１９５によって実行可能な命令のセットである。さらなる実装形態では、構成要素１３５、２０２、２０６、および／または２０８のうちの１つまたは複数は、メモリ２３７に記憶され、それらの機能を実現するためにプロセッサ１９５によってアクセス可能かつ実行可能である。上記の実装形態のいずれにおいても、これらの構成要素１３５、２０２、２０６、および／または２０８は、プロセッサ１９５およびコンピューティングデバイス２００の他の構成要素との協働および通信に適合することができる。
【００４７】
画像プロセッサ２０２は、センサデータを受信するためにセンサ１５５に通信可能に結合することができ、センサデータを処理して距離データおよび色データなどの画像データを抽出することができる。いくつかの実施形態では、画像プロセッサ２０２は、画像によって描写される物体のブロブを抽出する。いくつかの実施形態では、センサデータは、基準点に対する物体の位置を記述する距離画像データである。たとえば、センサ１５５は、センサ１５５によって取り込まれた物体を含む距離画像を記述する多次元（たとえば、３Ｄ）データを生成する多次元深度センサを含む。いくつかの実施形態では、センサデータは、ＲＧＢ画像などの画像内の様々なピクセルの色を表す色データを含む。色画像データは、画像内の物体を形成するピクセルについてのＲＧＢ値を含む。場合によっては、距離
画像データは、トリプレットまたは空間座標のアレイの形態の多次元（たとえば、３Ｄ）深度ポイントクラウドなどの、物体に関連付けられた位置情報を含んでもよい。また、場合によっては、距離画像データは、そのＸ座標とＹ座標を表す各ピクセルの列番号と行番号、ならびにそのＺ座標を表すピクセルの値を含んでいてもよい。
【００４８】
画像プロセッサ２０２は、センサ１５５によって取り込まれた距離画像を表す距離画像データを用いて、距離画像に含まれる個別の物体を特定する。距離画像を使用すると、物体のセグメント化を簡略化することをはじめとする様々な利点が得られる。距離画像内で、物体は、しばしば、それらの相対距離により画像内で互いに分離することができる。たとえば、（センサ１５５の位置などの所与の基準点から測定された）同じ相対距離を有する２つの隣接するピクセルは、同じ物体に属する可能性があるが、基準点に対してかなり異なる距離を有する２つのピクセルは、画像内の異なる物体に属する可能性がある。これは、独立して立っている物体を互いからより容易に区別することに役立つ。
【００４９】
図６は、例示的な距離画像６０２から抽出される例示的な物体ブロブ６００の例である。具体的には、距離画像６０２は、フレームの中央部分にいる男性を描写し、別の人物がフレームの左にあるテーブルに身を乗り出し、フレームの右部分には椅子がある。画像プロセッサ２０２は、距離画像を表すデータを処理して、テーブルを表すブロブ６０４、テーブルに身を乗り出す人物を表すブロブ６０６ａ、中央フレームにいる人物を表すブロブ６０６ｂ、および椅子を表すブロブ６０８などの、物体を表すブロブを抽出する。
【００５０】
いくつかの実施形態では、距離画像からブロブを抽出するために、画像プロセッサ２０２は、距離画像内のピクセルに関連付けられた距離データを使用してそれらのピクセルについての位置を推定し、対応する距離を有する隣接／接続ピクセルに塗りつぶしアルゴリズムを適用して、ピクセルによって形成される物体用のブロブを決定する。いくつかの実施形態では、画像プロセッサ２０２は、位置データを推定するより前に、ピクセルに関連付けられたいずれの距離データも持たない距離画像内の任意のピクセルを除去して、必要な処理量を低減することができる。追加または代替として、ブロブを決定した後、画像プロセッサ２０２は、ある特定のサイズ（たとえば、５００ピクセル）よりも小さいブロブを除去して、重要ではない可能性があるブロブの処理を軽減することができる。
【００５１】
いくつかのさらなるブロブ抽出の実施形態では、カメラ（たとえば、センサ１５５）の焦点距離および距離画像を使用して、画像プロセッサ２０２は、（たとえば、フィート、メートルなどで測定された）Ｚ座標、Ｘ座標、およびＹ座標を抽出することができる。次いで、画像プロセッサ２０２は、距離画像をフィルタリングすることができる。詳細には、画像プロセッサ２０２は、距離情報を有し、ある特定の範囲（たとえば、０．５〜６．０メートル）に入らないすべてのピクセルを削除することができる。基準点（たとえば、床に平行なカメラが取り付けられた平坦面）を仮定すると、画像プロセッサ２０２は、以下の式を使用して各ピクセルのＸ座標とＹ座標を推定することができる。
【数１】
0006288221.tif 000002
ここで、focal_lengthはカメラの焦点距離である。次いで、画像プロセッサ２０２は、いくつかのピクセルのＸ、Ｙ位置に基づいてそれらを削除することができる。
【００５２】
次いで、画像プロセッサ２０２は、距離画像に含まれる、ある特定の距離しきい値（たとえば５ｃｍ）以内にある連続したピクセルに塗りつぶしアルゴリズムを適用して、距離
画像内の１つまたは複数の物体を表すブロブを生成する。画像プロセッサ２０２は、ある特定のサイズ（たとえば、５００ピクセル）よりも小さいブロブを削除してもよい。次いで、残りのブロブは、本明細書においてさらに詳細に説明されるように、分析（たとえば、分類、レイヤにセグメント化、およびオブジェクトモデルと照合）することができる。
【００５３】
いくつかの実施形態では、画像プロセッサ２０２は、ブロブの形状に基づいてブロブを事前に分類して、最終的にセグメント化および分類される必要があるブロブの数を低減することができる。これにより、いくつかのタイプのブロブが処理される必要がない可能性があるときの処理時間が低減され得る。たとえば、場合によっては、人物ブロブのみが検出モジュール１３５によって認識される必要がある場合があり、画像プロセッサ２０２は、人物でない物体に関連付けられたいずれのブロブも取り除くことができる。また、画像プロセッサ２０２は、物体ブロブの全体形状に基づいて物体を事前に分類することができる。たとえば、人物ブロブは、一般に、頭と肩の領域、脚領域、腕領域、胴領域などの、人物でないブロブから区別するいくつかの人間固有の特徴を有する。画像プロセッサ２０２は、ブロブを分析して、それらの輪郭／形状がこれらの人間の特徴のうちの１つまたは複数を含むかどうか判定し、そうである場合、それらを人間に対応する物体タイプとして分類することができる。
【００５４】
レイヤセグメント化モジュール２０６は、センサデータから検出された１つまたは複数のブロブを記述するデータを受信するために、画像プロセッサ２０２、メモリ２３７、通信ユニット２４５、または他の構成要素に結合される。また、各ブロブを複数のレイヤにセグメント化し、各レイヤに関連付けられた１つまたは複数の特性を計算し、データのマスク画像を生成して分類モジュール２０８に供給する。
マスク画像は、セグメント内の様々なピクセルが一緒にグループ化され（たとえば、ブロブ）、ラベル付けされたデータである。
ある特定の人物などの特定の物体は、レイヤの集合（たとえば、水平スライス）によって一意に表すことができる。レイヤセグメント化モジュール２０６によって実行されるセグメント化は、本明細書では、様々な場所においてスライシングまたは変換とも呼ばれる。レイヤのセットは、ブロブの片側から別の側に延在する一連の連続セグメントであり得る。レイヤのセットは、ブロブの様々な部分のサンプリングを表すことができる。これにより、ブロブ全体を処理しないことによって計算効率を上げながら、非常に正確な認識率を維持するという利点が得られる。いくつかの実施形態では、セグメントは実質的に平行であり、あらかじめ決められた厚さを有する。セグメント間の間隔は、実施形態に応じて、実際は均一、不均一、またはランダムであってもよい。いくつかの実施形態では、レイヤは水平レイヤである。他の実施形態では、レイヤは垂直レイヤまたは対角レイヤである。また、レイヤは実質的に平坦であるように描写されているが、平坦でないレイヤを使用してもよいことを理解されたい。
【００５５】
さらなる例として、ブロブが人物である場合、レイヤセグメント化モジュール２０６は、最も関連すると推定される位置においてブロブをセグメント化することができる。たとえば、人物ブロブは、図７に示したように、かつ下記でより詳細に説明されるように、様々な目立つ身体の部分に対応する位置においてセグメント化することができる。レイヤセグメント化モジュール２０６は、場合によっては、ある特定の最小長（たとえば、長さ５ピクセル）を満たさない長さを有するレイヤを除去し、残りのレイヤ／セグメントの各々を処理してそのレイヤについての幾何特性を決定してもよい。いくつかの実施形態では、レイヤセグメント化モジュール２０６は、画像プロセッサ２０２によって事前分類された物体タイプに、適用されるセグメント化方式の基礎を置くことができる。物体タイプは、画像プロセッサ２０２、メモリ２３７、通信ユニット２４５、または別の構成要素から受信することができる。
【００５６】
図７は、人物ブロブ７００の、複数のレイヤ７０１への例示的なセグメント化を示す図である。いくつかの実施形態では、レイヤセグメント化モジュール２０６は、目立つ身体部分に対応する複数の領域に人物ブロブ７００をセグメント化することができる。たとえば、レイヤセグメント化モジュール２０６によって決定されるレイヤのセット７０１は、頭レイヤ７０２、顔レイヤ７０４、首レイヤ７０６、胸レイヤ７０８、腕レイヤ７１０、腹レイヤ７１２、骨盤レイヤ７１４、腿レイヤ７１６、膝レイヤ７１８、および足レイヤ７２０のうちの１つまたは複数を含む。レイヤ７０２〜７２０の各々について、レイヤセグメント化モジュール２０６は、１つまたは複数の特性を決定することができる。いくつかの実施形態では、特性は、本明細書内の他の場所に記載されるように、レイヤに関連付けられたサイズ、曲率、曲線適合、形状適合などとして記述することができる。
【００５７】
人が暮らす人工の環境は、都市の内部であれ外部であれ、人物よりもさらに多くの平坦な表面、または少なくともさらに少ない曲線状の表面を含む。対照的に、人物は、一般に、全体にわたって曲線状である。たとえば、人物の頭、腕、脚、胸などは、一般に、すべてがそれらに対するいくらかの曲率を有する。結果として、人物の一部分のみが見える場合であっても、その部分はいくらかの曲率を有する可能性がある。したがって、レイヤセグメント化モジュール２０６は、所与のブロブからモジュール自体によってセグメント化されたレイヤを処理して、それらの一意の曲率特性を決定することができ、次いで、当該曲率特性は分類モジュール２０８によりブロブを識別するために使用される。場合によっては、わずか６つの特性により、近距離にあるブロブに関連付けられた曲率を正確に特徴付けることができる。
【００５８】
いくつかの実施形態では、レイヤセグメント化モジュール２０６は、Ｘ座標およびＺ座標においてレイヤに関連付けられたデータポイントに直線および放物線を適合させることによって、レイヤ曲率を決定することができる。図９は、距離画像から処理された、まっすぐに立った人物ブロブ９０２から抽出されたレイヤの例である。図示されたように、それぞれ、頭スライスグラフ９００および胴スライスグラフ９０４の中の放物線９０３および９０５は、かなりの曲率を示す。頭スライスグラフ９００および胴スライスグラフ９０４とは異なり、かかと（図示せず）に関連付けられたブロブから取られたレイヤに基づくかかとスライスグラフ９０６は、実際は実質的に平坦であり、直線により密接に適合する放物線９０７を含む。いくつかの実装形態では、レイヤセグメント化モジュール２０６は、倍精度浮動小数点に拡張されたポリフィットアルゴリズムを使用して、データを記述する最良線（Ｌ）および放物線（Ｐ）の式を見つけることができるが、他の適切な多項式適合アルゴリズムも使用することができる。
【００５９】
次いで、レイヤセグメント化モジュール２０６は、各レイヤに関連付けられたＬおよびＰの式を使用して、そのレイヤに関連付けられた幾何特性のセットを決定する。いくつかの実施形態では、幾何特性のセットは、以下の構成要素を含む６次元ベクトルとして表される。
１．凹面の測定値としてのセグメントの中央での直線距離マイナス中央の放物線距離Ｌ（ｘμ）−Ｐ（ｘμ）である、Δｃ
２．適合された線形方程式の２乗平均誤差である、ＲＭＳＥＬ
３．適合された線形方程式の標準偏差である、σＬ
４．適合された放物線方程式の２乗平均誤差である、ＲＭＳＥＰ
５．適合された放物線方程式の標準偏差である、σＰ
６．曲率の推定値である、ｋ
【００６０】
分類モジュール２０８は、いくつかの実施形態では、階層型分類器モジュール２１０および／またはＣＮＮモジュール２１２を含む。分類モジュール２０８は、レイヤのセットに基づいて、距離画像内の物体を一意に識別することができる。いくつかの実施形態では
、分類モジュール２０８は、各物体に関連付けられたレイヤを記憶されたオブジェクトモデルのセットと比較して、一致を判定する。たとえば、一致するオブジェクトモデルを特定するために、分類モジュール２０８は、レイヤの幾何特性をモデルの各々と比較する。さらなる例として、ブロブの１つまたは複数の水平スライスに関連付けられた１つまたは複数の曲率を使用して、分類モジュール２０８は、どの人物または他の物体にブロブが対応するかを特定する。前の情報から編集されたモデルの例示的なタイプには、限定はしないが、画像ギャラリー、ガウス型混合モデル、隠れマルコフモデル、およびサポートベクトルマシンが含まれる。
【００６１】
いくつかの実施形態では、分類モジュール２０８は、記憶装置１９７に記憶されたオブジェクトモデル１２８ごとに、セットのすべてのレイヤの出力を表す複合値を計算することができる。複合値は、検出された人物がそのオブジェクトモデルに属する尤度を表す。複合値は、特定の個人または物体を識別するために使用される認識スコアを表す。
【００６２】
分類モジュール２０８は、所与の距離画像に関連付けられたセグメント化されたレイヤのセット、およびレイヤの各々に関連付けられた幾何特性を受信するために、レイヤセグメント化モジュール２０６、メモリ２３７、通信ユニット２４５、および／または他の構成要素に結合される。分類モジュール２０８は、オブジェクトモデル１２８を取り出すために、記憶装置１９７に結合される。オブジェクトモデル１２８は、学習、登録、および／または場合によっては事前決定され、検出モジュール１３５によって検出可能および認識可能な物体を表すことができる。オブジェクトモデルは、たとえば、ユーザ、管理者などの適用可能な利害関係者によって手動で入力される場合があり、かつ／または、確率的グラフィカルモデル（たとえば、ガウス型混合モデル）などの様々な機械学習技法を使用して、機械学習されてもよい。いくつかの実施形態では、様々な数の混合物（たとえば、５０以上）を有するガウス型混合モデル（ＧＭＭ）は、様々な距離画像から手動で分類された物体を使用して学習することができる。
【００６３】
階層型分類器とは、画像内に存在する複数のセグメントのそれぞれについて尤度スコアを求めるための分類器である。
階層型分類器モジュール２１０は、分類モジュール２０８に関して上述された動作または機能のうちの多くを実行するモジュールである。具体的には、階層型分類器モジュール２１０は、距離画像およびマスク画像などの画像データを受信し、画像内のセグメント化された物体ごとに尤度スコアを決定する。図１５は、階層型分類器モジュール２１０を使用して尤度スコアを決定するプロセス１５００の例である。ステップ１５０２において、図７を参照して説明したレイヤセグメント化モジュール２０６により、画像データがセグメント化される。各セグメント１５０８は、レイヤセグメント化モジュール２０６を参照して説明したように計算される、複数（たとえば、６つ）の幾何次元ベクトルを有する場合がある。また、ステップ１５０４において、階層型分類器モジュール２１０は、セグメント内で提供される情報を使用して、人物ＧＭＭまたは非人物ＧＭＭとして各セグメントを分類する。また、ステップ１５０６において、階層型分類器モジュール２１０は、セグメントごとに人物（Ｐｉ）および非人物（Ｉｉ）についての対数尤度スコアを合計して、距離画像の一部分についての尤度スコアを生成する。
【００６４】
ＣＮＮモジュール２１２は、画像プロセッサから、色画像および／または距離画像などの画像データを受信する。色画像は、ＲＧＢ色ベース、ＣＭＹＫ色ベース、または画像プロセッサによって実行される他の適切なタイプの画像であってもよい。ＣＮＮモジュール２１２はまた、レイヤセグメント化モジュール２０６用のマスク画像も受信することができる。マスク画像は、セグメント内の様々なピクセルグループ（ブロブ）を含む。ＣＮＮモジュール２１２は、色画像、距離画像、両方の画像の組合せ、または別の適切な画像タイプ（マスク画像のピクセルグループ領域（部分領域）に対応する位置を有するコピーさ
れたピクセル）からピクセルをコピーすることによって、個別の画像または色画像の修正バージョンなどの画像を構築することができる。
【００６５】
ＣＮＮモジュール２１２は、いくつかの実施形態では、深層ＣＮＮネットワークを使用する。深層ＣＮＮネットワークの典型的な例は、Krizheveskyによって最初に開発されたAlexNetであるがこれに限られない。ＣＮＮモジュール２１２は、限定はしないが、Caffe
などの深層学習アーキテクチャを使用して、将来の処理のためにニューラルネットワークを学習および評価することができる。
【００６６】
いくつかの実施形態では、ＣＮＮモジュール２１２は、畳み込みレイヤ、プーリングレイヤ、および完全接続レイヤを含む、ネットワークアーキテクチャを有する。限定はしないが、たとえば、ＣＮＮは、５つの畳み込みレイヤ、３つのプーリングレイヤ、および３つの完全接続レイヤを含む。
【００６７】
いくつかの実施形態では、レイヤは、ある特定の結果を生み出すように最適化される。ＣＮＮモジュール２１２は、（本明細書で説明された構築画像などの）画像またはその部分が人物を描写するかどうかの尤度を生成するように構成される場合がある。さらなる例として、ＣＮＮモジュール２１２内の畳み込みニューラルネットワークの最終レイヤは、物体が人物を表す尤度を生成するように構成されたある特定のレイヤタイプを備えることができる。これの１つの非限定的な例は、分類されている構築画像が人物画像である尤度をAlexNet分類器が生成することを可能にする、ソフトマックスレイヤである。
【００６８】
ＣＮＮモジュール２１２は、画像データベース内の多数の異なるカテゴリの物体を分類することができる。たとえば、非限定的な実施形態では、AlexNetは、ImageNetデータベ
ース内の１０００個の異なるカテゴリの物体を分類するように設計される場合がある。他の適切なおよび／または互換性があるニューラルネットワークアーキテクチャがＣＮＮモジュール２１２によって実装される場合があることを理解されたい。
【００６９】
融合モジュール２１４は、階層型分類器モジュール２１０およびＣＮＮモジュール２１２から尤度スコアを受信し、２つの異なる分類を使用して全体尤度スコアを計算する。融合モジュール２１４によって実行されるスコアレベルの融合の例示的な一実施形態は、人物を検出するためのバイナリ分類器を含む。スコアレベルの融合方法は、たとえば、尤度を対数尤度に変換し、加重合計を使用して全体尤度スコアを計算する。
Ｃｏｂｊ＝ｋｌＬｏｂｊ＋ＫＣＮＮＣＮＮｏｂｊ
【００７０】
対数尤度の合計は、２つのスコアを合算する１つの可能な方法であり、対数尤度の合計の他に全体尤度スコアを計算する他の変形形態も可能である。
【００７１】
場合によっては、検出モジュール１３５は、検出モジュール１３５とともに新しい物体を登録および／または学習するための登録モジュールおよび／またはトレーニングモジュール（図示せず）を含んでもよい。登録の間、登録モジュールは、物体の１つまたは複数の距離画像を取り込むことができ、トレーニングモジュールは、たとえば、物体の曲率を含む、物体の様々な特徴を記述するオブジェクトモデルを生成または更新することができる。物体を登録するユーザは、物体用の一意の名称（たとえば、人物の名前）を入力すること、物体を分類すること、物体についての属性（たとえば、サイズ、重さ、色など）を入力することなどの、関連するユーザインターフェースを介して、物体について自動的に決定される情報（たとえば、曲率情報）を入力および／または調整することによって、オブジェクトモデルを最適化することができる。場合によっては、オブジェクトモデルは、最新の信頼できるモデルにより定期的に更新することができる。たとえば、検出システム１０３および／またはユーザは、新しいオブジェクトモデルを計算サーバにアップロード
することができ、計算サーバは、ネットワーク１０５に結合された様々な他の検出システム１０３が使用するために、それらにモデルを送ることができる。
【００７２】
ガウス型混合モデルを利用して所与のブロブを分類する実施形態では、分類モジュール２０８は、以下の式を使用して、あらかじめ決められたガウス型混合人物モデルＭに属するベクトルの尤度を決定することができる。
【数２】
0006288221.tif 000003
【００７３】
所与のオブジェクトモデルＯＭに属する新しいセグメントｖの対数尤度は、以下の式によって決定することができる。
【数３】
0006288221.tif 000004
ここで、オブジェクトモデルＯＭは、１つまたは複数の一般または特定の人物を表すことができる。
【００７４】
各々がそれ自体の尤度を有する、オブジェクトシーケンスＳ内のＮ個のセグメントを仮定すると、分類モジュール２０８は、対数尤度を合計し、あらかじめ決められたしきい値を適用することによって、ブロブ／物体を分類することができる。最大累積スコアは、レイヤのセット／シーケンスが所与のオブジェクトモデルに対応するか否かの信頼できるインジケータであり得る。たとえば、物体がモデルに一致する有効最小尤度として検証されたあらかじめ決められたしきい値をスコアが満たす（たとえば、それよりも大きい）場合、物体が人物に対応するものとして分類することができる。これは、誤って分類されたセグメントが集まって正しい分類に悪影響を及ぼす可能性がある場合の助けになる。たとえば、人物ブロブは、地面に平行に伸ばされた腕、ドレス、および／または、それが実際に対応する特定のオブジェクトモデルに物体が関連付けられる尤度スコアを落とすように否定的に集まる可能性がある物体に関連付けられたレイヤを含む場合がある。場合によっては、そのようなレイヤの否定的な集まりの後に所与のブロブが終了する場合、物体クラウドは、潜在的に分類モジュール２０８によって誤って分類される可能性があり、その場合、分類モジュール２０８は、対数尤度スコアの累積和を考慮することができる。
【００７５】
本明細書で説明された新規のレイヤベースの手法の１つの重要な利点は、遮蔽に対して耐性があることである。たとえば、距離画像内で物体の一部分のみが見え、結果として、いくつかのレイヤをブロブから（たとえば、物体の上、下、右、左、および／または中央から）抽出することができず、欠落する場合でも、物体（たとえば、人物）は、レイヤの集合／セットとしてその対応するオブジェクトモデルにおいてモデル化されるので、多くの場合、分類モジュール２０８によってまだ認識することができる。
たとえば、人物を認識するの場合、画像をモデルと位置合わせするために他の顔および頭の認識手法によって通常必要とされる、眼、鼻、または頭の上部は、分類モジュール２０８が人物を正確に認識するために距離画像内で見える必要はない。他の手法に比べて本明細書に記載されたレイヤベースの認識手法のさらなる利点は、図８の表８００において要約されている。
【００７６】
図３は、画像オブジェクトを検出および認識するための例示的な方法３００のフローチャートである。
ステップ３０２において、画像プロセッサ２０２が距離画像を決定する。いくつかの実施形態では、画像プロセッサ２０２は、センサ１５５（たとえば、立体カメラ、構造化光
カメラ、飛行時間カメラなど）から距離画像を受信することによって、距離画像を決定することができる。
ステップ３０４において、画像プロセッサ２０２が距離画像内の物体ブロブを検出する。
ステップ３０６において、レイヤセグメント化モジュール２０６が物体ブロブをレイヤのセットにセグメント化する。
ステップ３０８において、分類モジュール２０８が、物体ブロブに関連付けられたレイヤのセットを、オブジェクトモデルのセットと比較して一致を判定する。
【００７７】
いくつかの実施形態では、レイヤのセットを決定することに関連して、レイヤセグメント化モジュール２０６は、レイヤのセットに関連付けられた曲率を決定し、分類モジュール２０８は、レイヤのセットをオブジェクトモデルと比較して一致を判定する際に、オブジェクトモデルを使用して曲率を評価する。
さらに、いくつかの実施形態では、分類モジュール２０８は、オブジェクトモデルの各々に属するものとして物体ブロブの尤度を決定することによって、レイヤのセットをオブジェクトモデルのセットと比較し、尤度に基づいて物体ブロブが特定のオブジェクトモデルに一致すると判定する。
【００７８】
次に、ステップ３１０において、分類モジュール２０８が、一致結果に基づいて物体ブロブに関連付けられた物体を認識する。たとえば、分類モジュール２０８は、（たとえば、一致するオブジェクトモデル１２８に関連して記憶された、物体についての識別情報を記憶装置１９７から受信することによって）物体の識別情報を決定する。物体を識別することに応答して、検出モジュール１３５は、物体に関連する情報の取出しや、物体と対話する（たとえば、ユーザの名前を使用してユーザに挨拶する）ための１つまたは複数の出力デバイス（たとえば、ディスプレイ、スピーカ、センサ、モーチベータなど）の制御、物体（たとえば、特定の人物／ユーザ）に関連するアカウント情報の引出しなどの、物体の識別情報に基づく動作を実行するプログラムの動作をトリガすることができる。
【００７９】
図４Ａおよび図４Ｂは、画像オブジェクトを検出および認識するためのさらなる例示的な方法４００のフローチャートである。
ステップ４０２において、画像プロセッサ２０２が、センサ１５５から距離画像を抽出し、次いで、ステップ４０４において、距離画像から１つまたは複数のブロブを抽出する。場合によっては、画像プロセッサ２０２は、抽出されたブロブを人間／人物または他の物体タイプ（たとえば、動物、家具、車両など）に分類することができる。たとえば、画像プロセッサ２０２は、距離画像によって描写された複数の物体に関連付けられた複数のブロブを検出することができ、ステップ４０６において示されたように、ブロブの形状に基づいて、人物または他のタイプの物体としてそれらのブロブの各々を分類することができる。いくつかの実施形態では、所与のブロブが１つまたは複数のブロブタイプの要件を満たすタイプに分類されない場合、画像プロセッサ２０２は、そのブロブをさらなる処理（たとえば、レイヤ抽出、ブロブ認識など）から除くことができる。たとえば、ステップ４０８において示されたように、ブロブのうちのいずれも人物に該当しない場合、方法は、最初に戻り、人物ブロブが見つかるまで繰り返すようにしてもよい。他の実施形態では、方法４００は、ステップ４０６および４０８における分類動作およびフィルタリング動作を省略することができる。
【００８０】
次に、ステップ４０９において、レイヤセグメント化モジュール２０６が、画像プロセッサ２０２によって供給されたブロブごとに、当該ブロブをレイヤのセットに変換し、セットのレイヤごとに１つまたは複数の幾何特性を抽出する（ステップ４１０）。
次いで、ステップ４１２において、分類モジュール２０８が、レイヤのセットに含まれる各レイヤに関連付けられた１つまたは複数の幾何特性を、記憶装置１９７からの１つま
たは複数のオブジェクトモデルと比較する。本明細書内の他の場所で説明されたように、１つまたは複数の幾何特性は、そのレイヤのサイズ、曲率、曲線適合、および形状適合のうちの１つまたは複数を反映することができる。たとえば、１つまたは複数の幾何特性は、本明細書内の他の場所で説明されたように、レイヤ曲率に関連する特徴を含んでいる多次元ベクトル（たとえば、６Ｄ）を含む。
【００８１】
いくつかの実施形態では、方法４００は、分類モジュール２０８により、オブジェクトモデルごとに、レイヤのセットの各レイヤについて認識スコアを計算するステップ（ステップ４１４）、および、レイヤ認識スコアを集約すること（たとえば、合計すること）によって、ブロブがオブジェクトモデルに属する尤度（たとえば、値）を決定するステップ（ステップ４１６）に進むことができる。
方法は、ステップ４１８において示されたように、各ブロブのレイヤのセットを比較して最良の一致を見つけるステップに進むことができる。例えば、尤度値のすべてに基づいて、分類モジュール２０８は、ブロブが属するオブジェクトモデルを特定することによってブロブを認識することができる。
たとえば、物体ブロブは、人物ブロブとして分類される場合があり、分類モジュール２０８は、一致するオブジェクトモデルに基づいて人物ブロブに関連付けられた人物を認識することができる。場合によっては、最も高い尤度に関連付けられたオブジェクトモデルを、一致するオブジェクトモデルとして特定することができる。この特定は、場合によっては、最小尤度しきい値を満たす尤度値に依存する場合がある。
【００８２】
図５は、人物ブロブを検出し、人物ブロブをレイヤにスライスし、レイヤを既存のユーザモデルと比較して、人物ブロブに関連付けられた人物を認識するための例示的な方法５００の図である。本質的に、図５は、距離画像から認識スコアへの情報の流れを記載する。
ステップ５０２において、センサ（たとえば、立体カメラ、構造化光カメラ、飛行時間カメラなど）から距離画像が抽出される。ステップ５０４において、ブロブが画像から抽出され、人物または他のタイプの物体として分類される。ステップ５０６において、各ブロブが特定の物体タイプ（この場合は人物）として分類され、そのブロブが水平レイヤ／スライスにスライスされ、レイヤごとの１つまたは複数の幾何特性が計算される。ステップ５０８において、ブロブごとに、人物ブロブが特定のモデルに属するかどうかを判定するために、選ばれたまたはすべてのレイヤからの特徴が既存の（例えば、学習済みや未学習の）オブジェクトモデルと比較される。
【００８３】
図１１は、検出技術の例示的な適用例を示す。図示されたように、検出技術は、目が見えない人にナビゲーション支援を提供することができる。たとえば、検出モジュール１３５を備えるロボットは、視覚障害の人々が、困難かつ混雑した環境内を移動することを助けるだけでなく、それらの人々の周りの世界を表すことを支援することができる。ロボットコンパニオンは、それらの人間のパートナーを検出、認識、および追跡し、ならびに、周囲の他の人々を検出および認識し、積極的に移動し、障害物のまわりを誘導し、目的地への経路を再計算しながら、それを行うことができる。ロボットコンパニオンは、内部および外部、あらゆる種類の照明条件の下、および、人物が辿ろうと試みる多くの異なる範囲内で動作することもできる。図１１は、詳細には、（たとえば、椅子やテーブルなどの検出された障害物周辺の）屋内オフィス環境を通る人間のパートナー１１００を先導する盲導ロボット１１０２の例を表したものである。ロボットは、人々を追跡し、環境を調査するように構成される。たとえば、ロボットは、テーブルおよび椅子を検出し、人間のパートナーにその存在、および人間のパートナーが座りたい場合その位置を知らせることができる。いくつかの実施形態では、ロボットは、個人のウエストのまわりの触覚ベルトなどの物理通信媒体を介して、人間に動作方向を常に通信するように構成される。動作方向１１０８は、人物の検出された位置に基づいて、ロボットによって計算される。
【００８４】
さらなる例として、図１１に描写された例示的なシナリオでは、人間のパートナー１１００が、検出システム１０３（ロボット）の背後から動き始め、（描写されていない右側の）大きい柱と、ウエスト高さにあるカウンタ天板１１０４との間を通るカーブ１１０８に沿ってロボットを追うことを想定している。平均して、人間のパートナー１１００はロボットから約１．５ｍの距離を維持した。時々、この距離は、ロボットがカーブをまわり、道を外れなければならないときに、３ｍまで増えた。人物を追跡するために、センサ１５５が後ろ向きに胸の高さに取り付けられている。このセンサは、３０ＨｚでＲＧＢ画像および距離画像を記録した。取り込まれた最初の１０００枚の画像は、以下の特性を有していた。
・人物の一部を含んだ画像（８９０枚）
・肩および／または眼が見える画像（７１９枚）
・眼および少なくとも１つの肩が欠落し、人物が部分的にしか見えない（たとえば、画像の端で切れている）画像（１７１枚）
・２人の人物が見えるか、または部分的に見える画像（３３１枚）
【００８５】
これらの画像の例が図１２Ａ〜Ｃに描写される。詳細には、図１２Ａは、人間のパートナーの通常の近距離ビューを表している。センサ１５５はその近距離ですべてを取り込むのに十分な角度を有していないため、頭および脚が欠落している。図１２Ｂの画像も非常に多かった。人間のパートナーの顔が部分的に画面から外れていることに加えて、人間のパートナーが経路の側面から外れているので１つの肩しか見えず、これは、柱、壁の隅、およびドアのような様々な他の垂直障害物によってブロックされていることも示す。図１２Ｃの画像は、フレーム内の２人の人物を描写している。
【００８６】
以下の表は、例示的なロボット誘導シナリオにおいて収集された例示的な統計値を示す。
【表１】
0006288221.tif 000005
【００８７】
このシナリオでは、人間のパートナーが、あらゆる真正面を向いたフレームにおいて検出され、水平遮蔽を有するブロブの２５％のみで欠落した。同様にフレームに現れる第２の人物は、４１％の時間において検出され、フォルスポジティブ率における著しい増加はない。このシナリオのために使用されたトレーニングデータが下記に記載される。
【００８８】
本シナリオにおいて、本検出技術と並んで、他の人物検出アルゴリズムが、以下の２つの大きなデータセットについて評価された。
（１）動いている人物やロボット − Microsoft Kinectおよび立体視システムを用いて評価
（２）相対的に異なる向きに回転している人物 − 屋内および屋外の２つの場所で立体視システムを用いて評価
【００８９】
（１）の場合、ロボット上の背面Kinectセンサを使用して、合計１４，３７５個の画像が収集された。それらは、２分から１５分までの継続時間にわたる、７回の様々な動作を介して収集された。２回の最も短い動作は、カメラの前面で単に動き回ることに関するものである。残りの動作は、人物が環境を通ってロボットを追ったシナリオに関するもので
ある。１回を除き、すべての動作が少なくとも２人の人物を含んでいた。検出システムを学習させるために、人間のトレーナは、画像セットに人物および他の物体の例を手動で入力した。物体は、トレーナからの必要な入力を制限するために、ブロブ類似度スコアを集計することによって、連続フレーム間で追跡された。Kinectデータセットを使用するこの方式で、５７３６個の肯定的な例および９１９７個の否定的な例が識別された。
【００９０】
Kinectの代わりに取り付けられた立体画像システム（Point Gray XB3）を使用して、追加データが収集された。計算効率を求めて、フレーム間の視差を識別するために、１１×１１のピクセルウィンドウサイズと一致するブロックが利用された。屋内のロボットをテストすることに加えて、ロボットは、太陽光下および日陰の両方のエリアの屋外にも連れ出された。５回の試行を介して、合計７７７８個の立体画像が収集された。このようにして、５１８１個の肯定的な例および２２７３個の否定的な例が識別された。立体データにおける雑音の増加のために、人物認識用に考慮されるべき５００ピクセルの例示的な最小しきい値を超える物体は少なかった。
【００９１】
上記のシナリオでは、垂直遮蔽についてのフォルスネガティブ率を増やすことなく、または速度を下げることなく、本検出技術は、フォルスネガティブ率を水平遮蔽付きで０％に減らした。２人以上の人物が移動する、より困難で大きいシナリオでは、５％を超えるパフォーマンス向上が達成された。このパフォーマンスの差は、屋内と屋外の両方の様々なシナリオを用いて実証された。連続フレームにわたって追跡する距離ベースのブロブを追加すると、人物がロボットによって検出される時間の割合がなお一層向上され得る。
【００９２】
図１０Ａおよび図１０Ｂは、２つの異なるタイプのセンサ間の例示的な比較を示すグラフである。詳細には、図１０Ａは、Microsoft Kinectを使用する人物検出についての行レベルの確度(Row level accuracy)を示し、図１０Ｂは、立体視システムを使用する人物検出についての行レベルの確度を示す。図１０Ａは、３つの異なるアルゴリズム：（１）Spinelloアルゴリズム、（２）線形分類器による特性のセット（Polyfit-Linear）、および（３）ＧＭＭによる特性のセット（Polyfit-GMM）についてのパフォーマンス推定値であ
る。また、図１０Ｂは、２つの異なるアルゴリズム：（１）Spinelloアルゴリズム、および（３）ＧＭＭによる特性のセット（Polyfit-GMM）についてのパフォーマンス推定値で
ある。
【００９３】
図１０Ａを参照し、セグメントごと、または行レベルに基づいて見ると、Polyfit-Linear曲線とSpinello曲線との間にＲＯＣにおける少しの差が存在する。新規のより小さいセットの幾何特性（たとえば、６Ｄベクトル）を使用することは、さらなる計算オーバーヘッドなしに比較可能である。しかしながら、新しい特性にＧＭＭを追加すると、本明細書に記載された検出技術は、推定３％のフォルスポジティブ率でかなり良好に実行し、トゥルーポジティブ率において３．６％の改善をもたらす。ＲＯＣ曲線全体にわたって、それは２．５％の領域増加をもたらす。
【００９４】
図１０Ｂを参照すると、特性セットの間に少しの差しか存在しない。これは、ブロブ抽出中にエッジを丸め、穴を広げることができる、ブロックマッチング視差計算に固有のフィルタリングに部分的に起因する可能性がある。
一方、図１０Ｃは、本明細書に記載された新規の技術と別の代替技術との間のブロブレベルの比較を示すグラフである。この図において、Polyfit-GMMとSpinelloアルゴリズム
についてのＲＯＣ曲線のブロブレベルの比較は、本明細書に記載される検出技術を使用する立体視システムによるより顕著なパフォーマンス向上を実証する。詳細には、幾何特性のセットでPolyfit-GMMを使用すると、０〜１０％のフォルスポジティブ率からの危険領
域(Critical region)におけるパフォーマンスが上がる。３％のフォルスポジティブ率に
おいて、Spinelloアルゴリズムの７７．８％に対して、新しいアルゴリズムは８３．４％
のトゥルーポジティブ率を達成する。
【００９５】
上記の例示的なシナリオでは、認識中において、環境内を人物オブジェクトが移動しているか、ロボットが移動しているか、または両者が移動しており、結果として、検出される人物の大部分は、カメラを向いており、全体的にある程度まで遮蔽されていた。
第２の例示的なシナリオでは、例示的なデータの以下のセットは、カメラに対する様々な相対的な向きにおける人物検出の有効性を実証し、これは、一般に、人間ロボット相互作用の重要な態様である。
【００９６】
この第２のシナリオでは、２９人の様々な人物のグループが、画像を取得している間、センサ１５５の前面において、定位置に立ち、回転していた。グループ内の２０人の人物（１５人の男性および５人の女性）は、窓がない室内において評価され、グループ内の２４人の人物（１７人の男性および７人の女性）は、日当たりがよい、床から天井まである窓の前において評価された。１４人の人物は両方の環境に参加した。この実験に使用されたセンサ１５５は、立体視システムを含んでいた。合計６人の人物、全員男性がトレーニングデータセット内に存在した、本明細書に記載された誘導シナリオからのデータセットを使用して検出モデルが学習された。以下の表は、第２のシナリオの結果を要約している。
【表２】
0006288221.tif 000006
【００９７】
立体視差計算に対する日当たりの影響に起因する可能性がある、２つのタイプの照明条件についての検出率の間に差が存在する。しかし、検出技術は、９５％を超える時間（たとえば、屋内で９９．９％および窓の近くで９５．２％）、男性の人物を正しく識別した。なお、トレーニングデータに女性が存在しないため、女性を正しく識別する率は低かった。しかしながら、トレーニングなしでも、室内では８４．６％の女性が正しく識別され、窓の近くでは７４．７％の女性が正しく識別された。フォルスネガティブ識別情報は、細身および／または長髪の（すなわち、曲率がより小さい）女性において高く、これは、トレーニングセットを広げることによって改善される可能性がある。
【００９８】
図１３は、画像オブジェクトを認識するための例示的な方法１３００のフローチャートである。ステップ１３０２において、画像プロセッサ２０２が画像データを受信する。画像データは、センサ１５５によって取り込まれた様々な画像および情報を含む。たとえば、一実施形態では、ロボットは、オフィス空間内を移動している場合があり、カメラセンサ１５５は、ロボットが空間を通って移動している間、距離画像および色画像を取り込む。
ステップ１３０４において、レイヤセグメント化モジュール２０６が、たとえば、図５、図７、および図１５を参照して上述されたように、画像データを複数の領域にセグメント化することによって、画像データのマスク画像を作成する。
【００９９】
ステップ１３０６において、階層型分類器モジュール２１０が、画像プロセッサ２０２から受信された画像データ、およびレイヤセグメント化モジュール２０６から受信されたマスク画像データから、尤度スコアを決定する。階層型分類器モジュール２１０によって計算される尤度スコアは、距離画像とマスク画像の両方に基づく。
ステップ１３０８において、ＣＮＮモジュール２１２が、画像プロセッサ２０２から受信した画像データ、およびレイヤセグメント化モジュール２０６から受信したマスク画像データから、尤度スコアを決定する。ＣＮＮモジュール２１２によって計算される尤度ス
コアは、色画像とマスク画像の両方、距離画像およびマスク画像、両方の組合せなどに基づいてもよい。いくつかの実施形態では、ＣＮＮモジュール２１２は、マスク画像内の領域の第１の画像からピクセルをコピーすることによって物体画像を生成し、ＣＮＮモジュール２１２内の深層畳み込みニューラルネットワークを使用して物体画像を分類する。
ステップ１３１０において、融合モジュール２１４が、階層型分類器モジュール２１０からの尤度スコアおよびＣＮＮモジュール２１２の尤度スコアに基づいて、画像プロセッサ２０２によって受信された画像データの少なくとも一部分についてのクラス（たとえば、人物クラスまたは非人物クラス）を決定する。
【０１００】
たとえば、図６を参照してこの方法を使用すると、オフィスを通って移動するロボットが、２人の人物６０６、テーブル６０４、および椅子６０８の画像を取り込むことができる。画像データは、色データおよび距離データを含む場合があり、情報は、セグメント化され、分類用に検出モジュール１３５に供給される。色データを使用することによって、ブロブは、様々なピクセル色を使用して様々な特徴をグループ化する画像プロセッサ２０２によってグループ化することができる。画像６０２内の物体の暗画像は、画像プロセッサ２０２によって認識される。レイヤセグメント化モジュール２０６は、画像をセグメント化し、様々なブロブセグメントを分類モジュール２０８に送る。レイヤセグメント化モジュール２０６によって作成されたマスク画像と距離データおよび色データの両方を使用すると、融合モジュール２１４からの複合スコアを使用して、画像６０２をより正確に分類することができる。
【０１０１】
図１４Ａは、画像オブジェクトを認識するさらなる例示的な方法のフローチャート１４００である。
ステップ１４０２において、画像プロセッサ２０２が画像データを受信する。画像データは、センサ１５５によって取り込まれた様々な画像および情報を含んでいてもよい。たとえば、一実施形態では、ロボットは、オフィス空間内を移動している場合があり、カメラセンサ１５５は、ロボットが空間を通って移動している間、距離画像および色画像を取り込む。
ステップ１４０４において、画像プロセッサ２０２が、画像データから距離画像および色画像を抽出する。たとえば、センサ１５５が、環境の距離情報および／または色情報を取り込み、画像プロセッサ２０２が、センサ１５５によって取り込まれた関連する画像データを抽出する。
【０１０２】
ステップ１４０６において、レイヤセグメント化モジュール２０６が、図５、図７、および図１５を参照して上述されたように、画像データを複数の領域にセグメント化することによって、画像データのマスク画像を作成する。
ステップ１４０８において、階層型分類器モジュール２１０が、画像プロセッサ２０２から受信された距離画像データ、およびレイヤセグメント化モジュール２０６から受信されたマスク画像データから、尤度スコアを決定する。階層型分類器モジュール２１０によって計算される尤度スコアは、距離画像とマスク画像の両方に基づいてもよい。
ステップ１４１０において、ＣＮＮモジュール２１２が、画像プロセッサ２０２から受信された色画像、およびレイヤセグメント化モジュール２０６から受信されたマスク画像データから、尤度スコアを決定する。ＣＮＮモジュール２１２によって計算される尤度スコアは、色画像とマスク画像の両方に基づいてもよい。代替の実施形態では、ＣＮＮモジュール２１２が、距離画像およびマスク画像を受信し、それらの画像を使用して第２の尤度スコアを計算する。
ステップ１４１２において、融合モジュール２１４が、階層型分類器モジュール２１０からの尤度スコアおよびＣＮＮモジュール２１２の尤度スコアに基づいて、画像データの少なくとも一部分についてのクラス（すなわち、人物クラスまたは非人物クラス）を決定する。
【０１０３】
図１４Ｂは、第２の尤度スコアを決定するさらなる例のフローチャート１４１０である。
ステップ１４１６において、階層型分類器モジュール２１０が、マスク画像を含む画像データを受信し、階層型分類器モジュール２１０を使用してマスク画像を事前フィルタリングする。いくつかの実施形態では、階層型分類器モジュール２１０からの尤度スコア（すなわち、分類）は、事前フィルタリングされたマスク画像を作成するために使用することができる。いくつかの実施形態では、マスク画像は、階層型分類器モジュール２１０がステップ１４０２においてマスク画像を受信するより事前に、レイヤセグメント化モジュール２０６によって生成することができる。
ステップ１４１８において、ＣＮＮモジュール２１２が、色画像、およびステップ１４１６において階層型分類器モジュール２１０によって生成された、事前フィルタリングされたマスク画像から、尤度スコアを決定する。この実施形態では、階層型分類器モジュール２１０は、ＣＮＮモジュール２１２にマスク画像を送る前に、マスク画像を事前フィルタリングする。マスク画像を事前フィルタリングすると、図１９を参照して示されるように、深層畳み込みニューラルネットワークの処理時間が減少する。
ステップ１４１４において、ＣＮＮモジュール２１２が、色画像および（事前フィルタリングされていない）マスク画像を受信し、階層型分類器モジュール２１０が第１の尤度スコアを決定することと並行して、第２の尤度スコアを決定する。
【０１０４】
図１６は、例示的な画像分類システム１６００のブロック図である。
まず、カメラノード１６０２がデータを受信し、距離画像および色画像を抽出する。データは、カメラノード１６０２の一部であり得るセンサ１５５によって取り込まれてもよいし、または事前に取り込まれ、カメラノード１６０２に送られてもよい。また、検出モジュール１３５の画像プロセッサ２０２は、カメラノード１６０２に含まれていてもよい。
【０１０５】
セグメント化ノード１６０４は、レイヤセグメント化モジュール２０６を含んでいてもよく、レイヤセグメント化モジュール２０６を使用して、カメラノード１６０２から受信された距離画像からマスク画像を作成してもよい。
階層型分類器１６０６は、階層型分類器モジュール２１０を含む場合があり、距離画像およびマスク画像を使用して、画像データ内の物体が人物であるクラス尤度を計算する。
【０１０６】
いくつかの実施形態では、階層型分類器１６０６はまた、セグメント化ノード１６０４から得たマスク画像を事前にフィルタリングして、ＣＮＮ分類器１６０８内の深層畳み込みニューラルネットワークの処理時間を減少させることができる。
ＣＮＮ分類器１６０８は、ＣＮＮモジュール２１２を含む場合がある。いくつかの実施形態では、ＣＮＮ分類器１６０８は、セグメント化ノード１６０４からマスク画像を受信し、代替実施形態では、ＣＮＮ分類器１６０８は、処理時間を減少させるために、階層型分類器１６０６から事前フィルタリングされたマスク画像を受信する。ＣＮＮ分類器１６０８は、色画像、およびマスク画像または事前フィルタリングされたマスク画像のいずれかを使用して、画像データ内の物体が人物であるクラス尤度を計算する。
【０１０７】
さらなる実施形態では、ＣＮＮ分類器１６０８は、距離画像、または、色画像の代わりの／色画像に加えて他の適切な画像タイプを受信し、マスク画像とともに、色画像の代わりの／色画像に加えてその画像データに対して深層畳み込みニューラルネットワークアルゴリズムを実行する。
融合ノード１６１０は、融合モジュール２１４を含む場合があり、階層型分類器１６０６およびＣＮＮ分類器１６０８から、クラス尤度スコアを受信する。融合ノード１６１０は、尤度スコアを組み合わせて、全体尤度スコアを作成することができる。いくつかの実
施形態では、融合ノード１６１０は、さらなる処理用にセグメント化ノード１６０４からマスク画像をさらに受信することができる。
【０１０８】
図１７は、３つの異なる環境、３つの異なるセンサタイプ、４つの異なる評価セットについての曲線の形でデータを示す。
図１７Ａにおいて、グラフ１７０２は、図１３に記載された方法を使用して作成された、ＣＮＮカラー＋階層アルゴリズムによって生成された全体スコアを含む、画像認識用の７つの異なるアルゴリズムのパフォーマンスを表したものである。
図に示されたように、オープンラボ空間において構造化光センサを使用した場合において、階層＋ＣＮＮ−ＲＧＢは、６つの他の通常の認識アルゴリズムと比較して、物体認識についての最も高い複合スコアを有する。
次に、家庭内環境において構造化光センサを使用して、７つのアルゴリズムがテストされた（グラフ１７０４）。このテストでは、階層＋ＣＮＮ−ＲＧＢが最も高いスコアを示した。距離画像に基づく複合ニューラルネットワークスコアと組み合わされた階層スコアはまた、これらのテストでは、他の方法に比べて全体的に良好に実行された。
【０１０９】
図１７Ｂにおいて、表１７０６は、４つの異なるセンサを使用する７つのアルゴリズムのテストについてのデータを示す。４つの異なるテストでは、階層型分類器とＣＮＮ分類器の両方を使用したアルゴリズムの物体認識についての融合スコアが、複合全体スコアを含まない他のアルゴリズムよりも良好に実行された。構造化光センサテストおよび立体センサテストでは、色画像（ＲＧＢ）のＣＮＮ分類器と組み合わされた階層型分類器が、最も高い物体認識スコアを示した。飛行時間カメラセンサテストでは、距離画像のＣＮＮ分類器と組み合わされた階層型分類器が、最も高い物体認識スコアを示した。
【０１１０】
図１７Ｃにおいて、グラフ１７０６は、オフィス環境において立体カメラセンサを使用する７つの異なるアルゴリズムのテストデータを示す。階層＋ＣＮＮ  ＲＧＢアルゴリズムは、このテスト環境においても最も高いパフォーマンスを示した。
グラフ１７０８において、家庭環境において飛行時間カメラを使用して、７つの異なるアルゴリズムがテストされた。このテストでは、階層型分類器とＣＮＮ分類器の融合が他のアルゴリズムより優れていた。
【０１１１】
図１８は、事前フィルタリングされた階層型分類器を使用する画像分類デバイスのブロック図１８００である。
カメラノード１８０２は、データを取り込むためのセンサ１５５を含む。カメラノード１８０２は、取り込まれるか、または受信された画像データを処理するための画像プロセッサ２０２を含んでいてもよい。画像プロセッサ２０２は、画像データを処理して、距離画像および／または色画像を抽出することができる。距離画像は、セグメント化／トラッキング＋階層型分類器ノード１８０４に送られる。
【０１１２】
セグメント化／トラッキング＋階層型分類器ノード１８０４は、レイヤセグメント化モジュール２０６および／または階層型分類器モジュール２１０を含んでいてもよい。セグメント化／トラッキング＋階層型分類器ノード１８０４は、距離画像をセグメント化し、融合ノードに送られ得る階層分類結果に物体を分類する。セグメント化／トラッキング＋階層型分類器ノード１８０４はまた、マスク画像を生成し、マスク画像は、次いで事前フィルタリングされ、深層畳み込みニューラルネットワークを使用する分類のためにＣＮＮ分類器ノード１８０６に送られる。
【０１１３】
セグメント化／トラッキング＋階層型分類器ノード１８０４はまた、様々なセクションにおいてブロブの位置を追跡し、ブロブ位置情報を融合ノード１８０８に供給する。
ＣＮＮ分類器ノード１８０６は、画像データ内の物体を分類する際に使用するための事
前フィルタリングされたマスク画像および色画像を受信する。いくつかの実施形態では、ＣＮＮ分類器ノード１８０６は、代替として、カメラノード１８０２から距離画像を受信し、距離画像および事前フィルタリングされたマスク画像を使用して、画像データ内の物体を分類する。
融合ノード１８０８は、ＣＮＮ分類結果および階層分類結果を受信し、画像データ内の物体が人物であることを示す全体複合尤度を計算する。いくつかの実施形態では、融合ノード１８０８はまた、さらなる処理用に、または複合尤度スコアの計算に含めるために、追跡されたブロブ位置を受信する。
【０１１４】
図１９は、３つの異なる状況における適合率対再現率曲線のデータを、グラフ形式で表したものである。使用されたアルゴリズムは、事前フィルタリングされたＣＮＮ（AlexNet）＋階層型分類器、事前フィルタリングなしのＣＮＮ＋階層型分類器、ならびに、２つ
の組み合わされた分類器の融合なしの様々なＣＮＮ分類器および階層型分類器を含む。
グラフ１９０２において、テストは、倒れる人に関するものであり、物体を人として分類する際の認識の適合率と再現率時間に関するものである。このシステムでは、事前フィルタリングされたアルゴリズムは、中央のいずれかであり、時間は事前フィルタリングなしの階層システムよりもかなり大きかった。
グラフ１９０４において、テストは、ベッドに座っている人に関するものである。事前フィルタリングされたアルゴリズムは、場合によっては、融合システムと比較して、改善された計算速度のために精度を犠牲にする場合がある。
グラフ１９０６において、テストは、オフィスを動き回るロボットに対して行われ、このテストでは、事前フィルタリングされたアルゴリズムは、他のアルゴリズムよりも、曲線上で高い精度および高い再現速度を示した。
【０１１５】
上記の説明では、本発明を十分に理解できるように、多くの詳細について説明する。しかしながら、各実施形態はこれらの具体的な詳細無しでも良いことは当業者にとって明らかであろう。また、説明が不明瞭になることを避けるために、構造や装置をブロック図の形式で表すこともある。たとえば、一実施形態は、ユーザインタフェースおよび特定のハードウェアとともに説明される。しかし、ここでの説明は、データおよびコマンドを受信する任意のタイプの計算装置および任意の周辺機器について適用できる。
【０１１６】
以上の詳細な説明の一部は、非一時的（non-transitory）なコンピュータ可読記憶媒体に記憶されたデータビットに対する動作のアルゴリズムおよび記号的表現として提供される。これらのアルゴリズム的な説明および表現は、データ処理技術分野の当業者によって、他の当業者に対して自らの成果の本質を最も効果的に説明するために用いられるものである。なお、本明細書において（また一般に）アルゴリズムとは、所望の結果を得るための論理的な手順を意味する。処理のステップは、物理量を物理的に操作するものである。必ずしも必須ではないが、通常は、これらの量は記憶・伝送・結合・比較およびその他の処理が可能な電気的または磁気的信号の形式を取る。通例にしたがって、これらの信号をビット・値・要素・エレメント・シンボル・キャラクタ・項・数値などとして称することが簡便である。
【０１１７】
なお、これらの用語および類似する用語はいずれも、適切な物理量と関連付いているものであり、これら物理量に対する簡易的なラベルに過ぎないということに留意する必要がある。以下の説明から明らかなように、特に断らない限りは、本明細書において「処理」「計算」「コンピュータ計算（処理）」「判断」「表示」等の用語を用いた説明は、コンピュータシステムや類似の電子的計算装置の動作および処理であって、コンピュータシステムのレジスタやメモリ内の物理的（電子的）量を、他のメモリやレジスタまたは同様の情報ストレージや通信装置、表示装置内の物理量として表される他のデータへ操作および変形する動作および処理を意味する。
【０１１８】
本発明は、本明細書で説明される動作を実行する装置にも関する。この装置は要求される目的のために特別に製造されるものであっても良いし、汎用コンピュータを用いて構成しコンピュータ内に格納されるプログラムによって選択的に実行されたり再構成されたりするものであっても良い。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な、例えばフロッピー（登録商標）ディスク・光ディスク・ＣＤ−ＲＯＭ・ＭＯディスク・磁気ディスクなど任意のタイプのディスク、読み込み専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体などの、非一時的なコンピュータ可読記憶媒体に記憶される。
【０１１９】
発明の具体的な実施形態は、完全にハードウェアによって実現されるものでも良いし、完全にソフトウェアによって実現されるものでも良いし、ハードウェアとソフトウェアの両方によって実現されるものでも良い。好ましい実施形態は、ソフトウェアによって実現される。ここでソフトウェアとは、ファームウェア、常駐ソフトウェア、マイクロコードやその他のソフトウェアを含むものである。
【０１２０】
さらに、ある実施形態は、コンピュータが利用あるいは読み込み可能な記憶媒体からアクセス可能なコンピュータプログラムプロダクトの形態を取る。この記憶媒体は、コンピュータや任意の命令実行システムによってあるいはそれらと共に利用されるプログラムコードを提供する。コンピュータが利用あるいは読み込み可能な記憶媒体とは、命令実行システムや装置によってあるいはそれらと共に利用されるプログラムを、保持、格納、通信、伝搬および転送可能な任意の装置を指す。
【０１２１】
プログラムコードを格納・実行するために適したデータ処理システムは、システムバスを介して記憶素子に直接または間接的に接続された少なくとも１つのプロセッサを有する。記憶素子は、プログラムコードの実際の実行に際して使われるローカルメモリや、大容量記憶装置や、実行中に大容量記憶装置からデータを取得する回数を減らすためにいくつかのプログラムコードを一時的に記憶するキャッシュメモリなどを含む。
【０１２２】
入力／出力（Ｉ／Ｏ）装置は、例えばキーボード、ディスプレイ、ポインティング装置などであるが、これらはＩ／Ｏコントローラを介して直接あるいは間接的にシステムに接続される。
【０１２３】
システムにはネットワークアダプタも接続されており、これにより、私的ネットワークや公共ネットワークを介して他のデータ処理システムやリモートにあるプリンタや記憶装置に接続される。モデム、ケーブルモデム、イーサネット（登録商標）は、現在利用可能なネットワークアダプタのほんの一例である。
【０１２４】
最後に、本明細書において提示されるアルゴリズムおよび表示は特定のコンピュータや他の装置と本来的に関連するものではない。本明細書における説明にしたがったプログラムを有する種々の汎用システムを用いることができるし、また要求された処理ステップを実行するための特定用途の装置を製作することが適した場合もある。これら種々のシステムに要求される構成は、以下の説明において明らかにされる。さらに、本発明は、特定のプログラミング言語と関連づけられるものではない。本明細書で説明される本発明の内容を実装するために種々のプログラミング言語を利用できることは明らかであろう。
【０１２５】
実施形態の前述の説明は、例示と説明を目的として行われたものである。したがって、開示された実施形態が本発明の全てではないし、本発明を上記の実施形態に限定するものでもない。本発明は、上記の開示にしたがって、種々の変形が可能である。本発明の範囲
は上述の実施形態に限定解釈されるべきではなく、特許請求の範囲にしたがって解釈されるべきである。本発明の技術に詳しい者であれば、本発明はその思想や本質的特徴から離れることなくその他の種々の形態で実現できることを理解できるであろう。同様に、モジュール・処理・特徴・属性・方法およびその他の本発明の態様に関する名前付けや分割方法は必須なものでものないし重要でもない。また、本発明やその特徴を実装する機構は異なる名前や分割方法や構成を備えていても構わない。
【０１２６】
さらに、当業者であれば、モジュール・処理・特徴・属性・方法およびその他の本発明の態様は、ソフトウェア、ハードウェア、ファームウェアもしくはこれらの組合せとして実装できることを理解できるであろう。また、本発明をソフトウェアとして実装する場合には、モジュールなどの各要素は、どのような様式で実装されても良い。例えば、スタンドアローンのプログラム、大きなプログラムの一部、異なる複数のプログラム、静的あるいは動的なリンクライブラリー、カーネルローダブルモジュール、デバイスドライバー、その他コンピュータプログラミングの当業者にとって既知な方式として実装することができる。さらに、本発明の実装は特定のプログラミング言語に限定されるものではないし、特定のオペレーティングシステムや環境に限定されるものでもない。以上のように、上記の本発明の説明は限定的なものではなく例示的なものであり、本発明の範囲は添付の特許請求の範囲にしたがって定められる。
【符号の説明】
【０１２７】
１００  システム
１０１  計算サーバ
１０３  検出システム
１０５  ネットワーク
１０６  信号線
１０８  信号線
１１５  計算ユニット
１１８  信号線
１２２  信号線
１２４  信号線
１２５  ユーザ
１２６  信号線
１２８  オブジェクトモデル
１３５  検出モジュール
１３５ａ  検出モジュール
１３５ｂ  検出モジュール
１５５  センサ
１７５  インターフェース
１９５  プロセッサ
１９７  記憶装置
２００  コンピューティングデバイス
２０２  画像プロセッサ
２０６  レイヤセグメント化モジュール
２０８  分類モジュール
２１０  階層型分類器モジュール
２１２  畳み込みニューラルネットワーク（ＣＮＮ）モジュール
２１４  融合モジュール
２２０  バス
２３７  メモリ
２４３  入力／出力
２４５  通信ユニット
３００  方法
４００  方法
５００  方法
６００  物体ブロブ
６０２  距離画像
６０４  ブロブ
６０６ａ  ブロブ
６０６ｂ  ブロブ
６０８  ブロブ
７００  人物ブロブ
７０１  レイヤのセット
７０２  頭レイヤ
７０４  顔レイヤ
７０６  首レイヤ
７０８  胸レイヤ
７１０  腕レイヤ
７１２  腹レイヤ
７１４  骨盤レイヤ
７１６  腿レイヤ
７１８  膝レイヤ
７２０  足レイヤ
８００  表
９００  頭スライスグラフ
９０２  人物ブロブ
９０３  放物線
９０４  胴スライスグラフ
９０５  放物線
９０６  かかとスライスグラフ
９０７  放物線
１１００  人間のパートナー
１１０２  盲導ロボット
１１０４  カウンタ天板
１１０６  椅子
１１０８  カーブ
１３００  方法
１４００  フローチャート
１４１０  フローチャート
１５００  プロセス
１５０８  セグメント
１６００  画像分類システム
１６０２  カメラノード
１６０４  セグメント化ノード
１６０６  階層型分類器
１６０８  ＣＮＮ分類器
１６１０  融合ノード
１７０２  グラフ
１７０４  グラフ
１７０６  表
１７０６  グラフ
１７０８  グラフ
１８００  画像分類デバイス
１８０２  カメラノード
１８０４  セグメント化／トラッキング＋階層型分類器ノード
１８０６  ＣＮＮ分類器
１８０８  融合ノード
１９０２  グラフ
１９０４  グラフ
１９０６  グラフ
【図１】
0006288221.tif 000007
【図２Ａ】
0006288221.tif 000008
【図２Ｂ】
0006288221.tif 000009
【図３】
0006288221.tif 000010
【図４Ａ】
0006288221.tif 000011
【図４Ｂ】
0006288221.tif 000012
【図５】
0006288221.tif 000013
【図６】
0006288221.tif 000014
【図７】
0006288221.tif 000015
【図８】
0006288221.tif 000016
【図９】
0006288221.tif 000017
【図１０Ａ】
0006288221.tif 000018
【図１０Ｂ】
0006288221.tif 000019
【図１０Ｃ】
0006288221.tif 000020
【図１１】
0006288221.tif 000021
【図１２Ａ】
0006288221.tif 000022
【図１２Ｂ】
0006288221.tif 000023
【図１２Ｃ】
0006288221.tif 000024
【図１３】
0006288221.tif 000025
【図１４Ａ】
0006288221.tif 000026
【図１４Ｂ】
0006288221.tif 000027
【図１５】
0006288221.tif 000028
【図１６】
0006288221.tif 000029
【図１７Ａ】
0006288221.tif 000030
【図１７Ｂ】
0006288221.tif 000031
【図１７Ｃ】
0006288221.tif 000032
【図１８】
0006288221.tif 000033
【図１９】
0006288221.tif 000034