(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-10
(45)【発行日】2024-01-18
(54)【発明の名称】人体ポーズ分析システム及び方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20240111BHJP
【FI】
G06T7/00 660B
G06T7/00 350C
(21)【出願番号】P 2020572672
(86)(22)【出願日】2019-06-27
(86)【国際出願番号】 CA2019050887
(87)【国際公開番号】W WO2020000096
(87)【国際公開日】2020-01-02
【審査請求日】2022-05-11
(32)【優先日】2018-06-29
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】520505397
【氏名又は名称】レンチ インク.
【氏名又は名称原語表記】WRNCH INC.
(74)【代理人】
【識別番号】230130074
【氏名又は名称】藤河家 知美
(72)【発明者】
【氏名】チョ,ドンウク
(72)【発明者】
【氏名】ジャン,マギー
(72)【発明者】
【氏名】クルスゼウスキー,ポール
【審査官】佐田 宏史
(56)【参考文献】
【文献】特開2008-204384(JP,A)
【文献】特開2017-157138(JP,A)
【文献】米国特許出願公開第2018/0150681(US,A1)
【文献】Sijin LI et al.,"Heterogeneous Multi-task Learning for Human Pose Estimation with Deep Convolutional Neural Network",2014 IEEE Conference on Computer Vision and Pattern Recognition Workshops,米国,IEEE,2014年06月23日,pp.488-495
【文献】Rajeev Ranjan et al.,"HyperFace: A Deep Multi-Task Learning Framework for Face Detection, Landmark Localization, Pose Estimation, and Gender Recognition",IEEE Transactions on Pattern Analysis and Machine Intelligence,米国,IEEE,2017年12月08日,Vol.41, No.1,pp.121-135
【文献】Keze Wang et al.,"Human Pose Estimation from Depth Images via Inference Embedded Multi-task Learning",MM '16: Proceedings of the 24th ACM international conference on Multimedia,米国,ACM,2016年10月01日,pp.1227-1236
【文献】Alexander Toshev et al.,"DeepPose: Human Pose Estimation via Deep Neural Networks",2014 IEEE Conference on Computer Vision and Pattern Recognition,米国,IEEE,2014年06月23日,pp.1653-1660
【文献】Shih-En Wei et al.,"Convolutional Pose Machines",2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),米国,IEEE,2016年06月27日,pp.4724-4732
【文献】一原 賢吾、外3名,“姿勢推定技術に基づく機械学習を活用した人物の不審動作認識手法の精度評価”,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2018年03月01日,Vol.117, No.485,pp.89-94
【文献】Jinyoung Choi et al.,"Human Body Orientation Estimation using Convolutional Neural Network",arXiv,米国,Cornell University,2016年09月07日,pp.1-5,https://arxiv.org/abs/1609.01984
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00,7/00-7/90
G06V 10/00-10/98
(57)【特許請求の範囲】
【請求項1】
画像から人体関連画像特徴を抽出する特徴抽出器であって、基準画像のデータセットを含み、複数の第1CNN層を含む第1CNNアーキテクチャを備えたデータベースに接続可能であり、各CNN層が、トレーニングされたカーネル重み、及び以下のモジュールのうち少なくとも1つ、すなわち、
人体関連画像特徴から2D人体骨格情報を特定する2D人体骨格検出器、
人体関連画像特徴から人体輪郭情報を特定する人体輪郭検出器、
人体関連画像特徴から手の輪郭を特定する手の輪郭検出器、
人体関連画像特徴から3D人体骨格
情報を特定する3D人体骨格検出器、のうち少なくとも1つを使用して、その入力データに畳込み演算を適用し、前記各CNN層はテンソルの形態で出力を生成し、前記第1CNNアーキテクチャは、複数の第1のテンソルを出力し、
2D人体骨格検出器、人体輪郭検出器、手の輪郭検出器、及び3D人体骨格検出器の各々は、複数の第2CNN層を含む第2CNNアーキテクチャを備え、前記第2CNNアーキテクチャは入力として前記複数の第1のテンソルを受け取
り、
前記複数の前記第1CNN層の数は、画像のサイズと画像内で識別されるべき対象オブジェクトとに基づいて調整される
ことを特徴とする、画像から人体ポーズ情報を抽出するシステム。
【請求項2】
前記特徴抽出器は、
前記画像を受け取り前記画像から低レベル特徴を抽出する
ように構成された低レベル特徴抽出器であって、前記低レベル特徴は前記画像内の局所領域の基本特性を表し、前記基本特性は、強度、エッジ、勾配、曲率、点、物体形状、またはそれらの任意の組み合わせを含む、低レベル特徴抽出器と、
前記低レベル特徴量を受け取り中間特徴を抽出する
ように構成された中間特徴抽出器であって、前記中間特徴量は人体部分の形状および/または関係を表す、中間特徴抽出器と
、を備え、
前記低レベル特徴及び
前記中間特徴は
、入力として前記第2CNNアーキテクチャに提供される人体関連画像特徴を形成する、
ことを特徴とする請求項1に記載のシステム。
【請求項3】
前記第1CNNアーキテクチャ及び前記第2CNNアーキテクチャのうちの少なくとも1つが、ディープCNNアーキテクチャを備えることを特徴とする請求項1又は2に記載のシステム。
【請求項4】
複数の前記第1CNN層及び複数の前記第2CNN層のうちの1つが軽量層を含むことを特徴とする請求項1から3までのいずれか1項に記載のシステム。
【請求項5】
画像を受け取るステップ、
特徴抽出器を使用して画像から人体関連画像特徴を抽出し、該特徴抽出器は、基準画像のデータセットを含み、複数の第1CNN層を含む第1畳込みニューラルネットワーク(CNN)アーキテクチャを備えたデータベースに接続可能であり、各CNN層が、トレーニングされたカーネル重みを使用してその入力データに畳込み演算を適用し、前記各CNN層はテンソルの形態で出力を生成し、前記第1CNNアーキテクチャは、複数の第1のテンソルを出力するステップ、
以下のモジュールのうち少なくとも1つ、すなわち、
人体関連画像特徴から2D人体骨格情報を特定する2D人体骨格検出器、
人体関連画像特徴から人体輪郭情報を特定する人体輪郭検出器、
人体関連画像特徴から手の輪郭を特定する手の輪郭検出器、
人体関連画像特徴から手の骨格を特定する手の骨格検出器、
人体関連画像特徴から3D人体骨格
情報を特定する3D人体骨格検出器、
人体関連画像特徴から顔面キーポイントを特定する顔面キーポイント検出器、
のうちの少なくとも1つを使用して人体ポーズ情報を特定するステップから構成され、
2D人体骨格検出器、人体輪郭検出器、手の輪郭検出器、手骨格検出器、3D人体骨格検出器及び顔面キーポイント検出器の各々は、複数の第2CNN層を含む第2CNNアーキテクチャを備え、前記第2CNNアーキテクチャは入力として、(i)前記複数の第1のテンソル、または(ii)トリミングした画像のいずれかを受け取
り、
前記複数の前記第1CNN層の数は、画像のサイズと画像内で識別されるべき対象オブジェクトとに基づいて調整されることを特徴とする、
画像から人体ポーズ情報を抽出する、前記特徴抽出器が実行する、方法。
【請求項6】
前記特徴抽出器は、
前記画像を受け取り前記画像から低レベル特徴を抽出する
ように構成された低レベル特徴抽出器であって、前記低レベル特徴は前記画像内の局所領域の基本特性を表し、前記基本特性は、強度、エッジ、勾配、曲率、点、物体形状、またはそれらの任意の組み合わせを含む、低レベル特徴抽出器と、
前記低レベル特徴量を受け取り中間特徴を抽出する
ように構成された中間特徴抽出器であって、前記中間特徴量は人体部分の形状および/または関係を表す、中間特徴抽出器と
、を備え、
前記低レベル特徴及び
前記中間特徴は
、入力として前記第2CNNアーキテクチャに提供される人体関連画像特徴を形成する、
ことを特徴とする請求項5に記載の方法。
【請求項7】
前記第1CNNアーキテクチャ及び前記第2CNNアーキテクチャのうちの少なくとも1つが、ディープCNNアーキテクチャを備えることを特徴とする請求項5又は6に記載の方法。
【請求項8】
複数の前記第1CNN層及び複数の前記第2CNN層のうちの1つが軽量層を含むことを特徴とする請求項5から7までのいずれか1項に記載の方法。
【請求項9】
前記軽量層の各々は、カーネルの数を減らすこと、カーネルのサイズを小さくすること、またはダウンサンプリングを適用することによって、対応する前記CNN層から導出される請求項8に記載の方法。
【請求項10】
前記複数の第1CNN層又は前記複数の第2CNN層のいずれかの各CNN層は、前記畳み込み演算を適用する前に入力データに非線形活性化機能を適用するように構成される請求項5に記載の方法。
【請求項11】
前記非線形活性化機能が整流された線形ユニット(ReLU)である請求項
10に記載の方法。
【請求項12】
前記第1CNN層及び前記第2CNN層は少なくとも3つのCNN層を含む請求項5記載の方法。
【請求項13】
前記2D人体骨格検出器は、前記人体関連画像特徴を入力として受け取り、2D関節ヒートマップを出力として生成するように構成される請求項5に記載の方法。
【請求項14】
前記人体関連画像特徴は、人体の関節及び形状に関連する顕著な特徴を保有する前記複数の第1CNN層の異なるCNN層の出力特徴テンソルの組み合わせからなる請求項5に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人体ポーズ分析の分野に関する、より具体的には、軽量畳込みニューラルネットワーク(CNN)を使用した人体ポーズ分析システム及び方法に関する。
【背景技術】
【0002】
人体ポーズ分析に対する初期のアプローチは、人体に取り付けた可視マーカーを使用してカメラでこれを認識するか、又は深度センサーで取り込んだ画像を使用して人の形状を判断し、又は人体各部の位置を把握するものである。画像特徴検出アプローチ又は構造分析などの古典的なコンピュータビジョン技術を使用して、一般に入手可能なカラー画像を分析する試みがなされてきた。これらの方法は、様々な自然画像の処理を適切に行うには十分なロバスト性がなかった。
【0003】
ごく最近になって、人体の関節の位置を特定し、2D画像空間において人体骨格を描くロバストな方法が提案された。これらの方法は、大規模な画像データベースを用いてトレーニングされるディープニューラルネットワークモデルを用いて実施される。
【0004】
画像内の人体骨格、人体輪郭、3D人体骨格、手などの各人体部位の詳細なポーズなど、画像内の人物について、多面的な分析を行うことができる。既存の方法の多くは、人物の一つの側面の分析に焦点を当てている。いくつかの方法は、人物の位置を特定し、画像内の人体の輪郭をセグメント化する。他には、人の手及び関節のみの位置を特定する方法もある。人物の画像を統一的に分析することにより、人体ポーズの理解をより深めることができる。
【0005】
また、ロバストな方法の多くは、リアルタイム分析に大量の計算を必要とするため、家庭用電子機器やモバイルデバイスなどの安価なデバイスへの実装の妨げとなる。
【0006】
したがって、人体ポーズ分析の方法及びシステムの改善が必要とされている。
【発明の概要】
【0007】
第1の広義の態様によれば、画像から人体ポーズ情報を抽出するシステムが提供され、該システムは、画像から人体関連画像特徴を抽出し、基準画像のデータセットからなるデータベースに接続することができ、複数の第1 CNN層を含む第1 CNNアーキテクチャが設けられており、各畳込み層が、トレーニングされたカーネル重みを使用してその入力データに畳込み演算を適用する特徴抽出器と、以下のモジュールのうち少なくとも1つ、すなわち、人体関連画像特徴から2D人体骨格情報を特定する2D人体骨格検出器、人体関連画像特徴から人体輪郭情報を特定する人体輪郭検出器、人体関連画像特徴から手の輪郭を特定する手の輪郭検出器、人体関連画像特徴から手骨格を特定する手骨格検出器、人体関連画像特徴から3D人体骨格を特定する3D人体骨格検出器、及び人体関連画像特徴から顔面キーポイントを特定する顔面キーポイント検出器のうち少なくとも1つを備え、2D人体骨格検出器、人体輪郭検出器、手の輪郭検出器、手骨格検出器、3D人体骨格検出器及び顔面キーポイント検出器は各々、複数の第2 CNN層を含む第2畳込みニューラルネットワーク(CNN)アーキテクチャが設けられていることを特徴とする。
【0008】
該システムの一実施形態において、該特徴抽出器は、画像から低レベル特徴を抽出する低レベル特徴抽出器と、中レベル特徴を抽出する中レベル特徴抽出器とを備え、低レベル特徴及び中レベル特徴は共に、人体関連画像特徴を形成する。
【0009】
該システムの一実施形態では、第1及び第2アーキテクチャのうち少なくとも1つはディープCNNアーキテクチャを備える。
【0010】
該システムの一実施形態において、第1及び第2 CNN層のうちの1つは軽量層を含む。
【0011】
別の広義の態様によれば、画像から人体ポーズ情報を抽出する方法が提供され、該方法は、画像を受信するステップと、基準画像のデータセットからなるデータベースに接続することができ、複数の第1 CNN層を含む第1 CNNアーキテクチャが設けられており、各畳込み層が、トレーニングされたカーネル重みを使用してその入力データに畳込み演算を適用する特徴抽出器を使用して画像から人体関連画像特徴を抽出するステップと、以下のモジュールのうち少なくとも1つ、すなわち、人体関連画像特徴から2D人体骨格情報を特定する2D人体骨格検出器、人体関連画像特徴から人体輪郭情報を特定する人体輪郭検出器、人体関連画像特徴から手の輪郭を特定する手の輪郭検出器、人体関連画像特徴から手骨格を特定する手骨格検出器、人体関連画像特徴から3D人体骨格を特定する3D人体骨格検出器、人体関連画像特徴から顔面キーポイントを特定する顔面キーポイント検出器のうち少なくとも1つを使用して人体ポーズ情報を特定するステップとからなり、2D人体骨格検出器、人体輪郭検出器、手の輪郭検出器、手骨格検出器、3D人体骨格検出器、及び顔面キーポイント検出器の各々は、複数の第2 CNN層を含む第2 CNNアーキテクチャが設けられていることを特徴とする。
【0012】
該方法の一実施形態において、特徴抽出器は、画像から低レベル特徴を抽出する低レベル特徴抽出器と、中間特徴を抽出する中間特徴抽出器とを備え、低レベル特徴及び中間特徴は共に、人体関連画像特徴を形成する。
【0013】
該方法の一実施形態において、第1及び第2アーキテクチャのうちの少なくとも1つは、ディープCNNアーキテクチャからなる。
【0014】
該方法の一実施形態において、第1及び第2 CNN層のうちのいずれかは軽量層を含む。
【図面の簡単な説明】
【0015】
本発明の他の特徴及び利点は、添付の図面と合わせ、以下の詳細な説明により明らかとなる。
【0016】
【
図1】一実施形態にかかる、画像から人体ポーズ情報を抽出するシステム、つまり、特徴抽出器と、2D人体骨格検出器と、人体輪郭検出器と、手の輪郭検出器と、3D人体骨格検出器と、顔面キーポイント検出器と、手骨格検出器とを備えるシステムを示すブロック図である。
【0017】
【
図2】一実施形態にかかる、
図1の特徴抽出器を示すブロック図である。
【0018】
【
図3】一実施形態にかかる、
図1の2D人体骨格検出器を示すブロック図である。
【0019】
【
図4】一実施形態にかかる、
図1の人体輪郭検出器を示すブロック図である。
【0020】
【
図5】一実施形態にかかる、
図1の手の輪郭検出器を示すブロック図である。
【0021】
【
図6】一実施形態にかかる、
図1の手骨格検出器を示すブロック図である。
【0022】
【
図7】一実施形態にかかる、
図1の3D人体骨格検出器を示すブロック図である。
【0023】
【
図8】一実施形態にかかる、
図1の顔面キーポイント検出器を示すブロック図である。
【0024】
【
図9】一実施形態にかかる、人体ポーズ情報の抽出ステップのうちの少なくともいくつかを実行するようにした処理モジュールのブロック図である。
【0025】
添付の図面を通して、同様の特徴は同様の参照符号により識別されることに留意されたい。
【発明を実施するための形態】
【0026】
図1は、画像から人体ポーズ情報を抽出するシステム10の一実施形態を示す。システム10は、画像を受け取るステップと、受け取った画像内において人体の位置を特定するステップと、各画像から人体ポーズ情報を自動的に推定するステップから構成される。
【0027】
一実施形態では、人体ポーズ情報は、人体骨格及び人体各部の形状の幾何学的情報を含む。人体骨格は、骨関節の位置及び/又は長さ情報を含む骨の向きで表すことができ、人体各部の形状は、輪郭及び/又は位置情報を含む表面メッシュで表すことができる。例えば、人体ポーズ情報は、人体の関節、体形若しくは人体輪郭、並びに/又は手などの骨格及び輪郭と共に、2D及び/又は3D人体骨格などの情報を含むことができる。
【0028】
システム10は、先ず、画像データセットで学習された人体関連画像特徴を画像から抽出するステップと、抽出された人体関連画像特徴から人体ポーズ情報を特定するステップから構成される。
【0029】
一実施形態において、人体関連画像特徴は、点、エッジ、線、輪郭、強度、勾配、画像内の小さいオブジェクトと大きいオブジェクトのコントラスト、これらオブジェクトの関係など、画像から得られる人体及び人体各部に関連する基本情報を含む。
【0030】
一実施形態において、データセットは、人物が写っているか否かにかかわらず一連の基準画像と、人体の幾何学的形状に関連するグラウンドトゥルースラベルとを含む。ラベルは、画像内の2D人体関節位置(x,y)及び可視性(該当なし、可視、画像内に存在するが遮蔽されているなど。)、画像内の2D手関節位置及び可視性、画像内の2D顔面キーポイント位置及び可視性、人体輪郭、手の輪郭、3D人体関節位置などを含むことができる。データセットに含まれる全ての基準画像が、それに関連する全てのラベルを有するわけではない点に留意されたい。
【0031】
一実施形態において、基準画像のデータセットは、トレーニング用の少なくとも数万の画像を含んでおり、大規模であるとみなされる。
【0032】
システム10は、ポーズ情報のロバストな推定を行うためにCNNアーキテクチャを使用する。CNNは、畳込みニューラルネットワーク層(以下、畳込み層という。)から構成される。各畳込み層は前の畳込み層から入力データ又は処理済みデータを受け取り、その入力データに畳込み演算を適用した後、その出力データを後続層に送る。一実施形態において、畳込み層の出力は、テンソル又は多次元配列の形態である。
【0033】
各畳込み層は、トレーニングされたカーネル重みを使用して、その入力データに畳込み演算を適用する。畳込み層の重みのトレーニングは、基準画像のデータセットを使用したバックプロパゲーション技術により実行される。一実施形態において、各畳込み層がCNNのよりロバストな決定を行うことができるように、整流された線形ユニット(ReLU)のような非線形活性化機能を入力データに適用するように構成される。ReLU機能以外の機能が、畳込み層により使用されてもよい点に留意されたい。
【0034】
一実施形態において、システム10はディープCNNを使用する。一実施形態において、CNNは少なくとも3つの畳込み層を含む。層の少ない浅いアーキテクチャと比べ、ディープCNNアーキテクチャは、より多くのニューロンや重みを保有しており、おそらく、様々な入力データを収容し、ノイズやクラッタの影響を受けることなく、これらをロバストに分析する。
【0035】
同じ又は別の実施形態では、CNNアーキテクチャは軽量の畳込み層を含む。各畳込み層は、カーネルの数及び/又はこれらのサイズを低減することにより、及び/又はダウンサンプリングを適用することにより、「計算を軽く」する。この場合、アーキテクチャは、ローエンド装置上で実行されるリアルタイムの人体ポーズ分析に適切なことがある。
【0036】
一実施形態においては、CNNアーキテクチャの以下のアプローチに従う。
【0037】
推定結果の精度に著しい影響を及ぼさない畳込み層は、排除してもよい。例えば、ダウンサンプリングも実行するプーリング層を除去し、プーリング層の前にある隣接する畳込み層が、その畳込み演算中にダウンサンプリングを実行してもよい。
【0038】
最小入力画像解像度は、画像内の一般的な人物サイズを考慮して選択すればよい。例えば、画像内の80×80ピクセルの人物は、人体関連画像特徴をそれ程失うことなく、ロバストに分析することができる。解像度の低い画像では情報は不足するものの、人体ポーズの正確な概算を得るには十分なことがある。一実施形態においては、画像の解像度は48×48である。別の実施形態においては、画像の解像度は96×96である。さらに別の実施形態においては、画像の解像度は256×144である。また別の実施形態においては、画像の解像度は400×320である。
【0039】
分析される最大解像度を制限して人の受容野を検討し、畳込み層の数及びこれらのカーネルサイズを決定することができる。例えば、84×84ピクセルの領域は、入力画像を4だけダウンサンプリングした後、11×11カーネルを有する2つの畳込み層でカバーすることができる。10 の3×3畳込み層は、より多くの層で同じ領域をカバーでき、しかも計算コストを低減する。
【0040】
各畳込み層において定義される出力深度サイズは、結果として生ずる精度がユーザが選択した最小目標精度よりも高い場合に限り、低減され得る。計算コストは、カーネルサイズの各寸法(カーネル幅、高さ及び深度)並びに出力深度サイズに比例する。重みのサイズは、バイアスの数に加え、カーネル幅、高さ及び深度を乗算した値で決定してもよい。
【0041】
CNNモデルは、データセット及び設計されたアーキテクチャを与えられたマシンが学習した重み及びバイアスを収集したものである。CNNモデルは経験的選択により、最高の精度を出すことができる。
【0042】
図1を再び参照すると、該システムは、データベース20と通信する特徴抽出器30からなる。また、該システムは、2D人体骨格検出器40と、人体輪郭検出器60と、手の輪郭検出器70と、3D人体骨格検出器90とを備え、これらはすべて特徴抽出器30と通信している。システム10は、さらに、2D人体骨格検出器40と通信する顔面キーポイント検出器50と、手の輪郭検出器70と通信する手骨格検出器80とを備える。
【0043】
データベース20は、そこに記憶された基準画像のデータセットを含む。一実施形態においては、データベース20は、システム10に含まれるメモリに格納される。別の実施形態においては、データベース20は、システム10に含まれないメモリに格納される。
【0044】
図2に示すとおり、特徴抽出器30は、低レベル特徴抽出器110と、少なくとも1つの中間特徴抽出器120とを備える。
【0045】
図2を参照すると、特徴抽出器30は、低レベル特徴抽出器110と、1つ以上の中間特徴抽出器120からなる。低レベル特徴抽出器110は、画像を受け取るステップと、強度、エッジ、勾配、曲率、点、物体形状などの画像内の局所領域の基本特性を表す低レベル特徴を画像から抽出するステップから構成される。中間特徴抽出器120は、低レベル特徴を受け取るステップと、低レベル特徴抽出器110により抽出された低レベル特徴を相関させて得られる高レベル特徴に対応し、人体各部の形状及び/又は関係などの人体ポーズ情報に関連する中間特徴を特定するステップから構成される。低レベル特徴及び中間特徴は共に、特徴抽出器30により出力される人体関連画像特徴を形成する。
【0046】
図2に示すとおり、低レベル抽出器110は、異なる画像スケールにおける繰り返しブロックを含み、各ブロックは、ReLUにより活性化される一連の畳込み層を含む。
【0047】
低レベル特徴抽出器110は、エッジ、輪郭、ブロブ、これらの向き、又は大規模画像データセットから学習したその他観察結果などの一般的な画像特徴を保有する。
【0048】
Inception、VGG及びResNetなどの実績あるCNNアーキテクチャを、バックボーンネットワークとして検討することができる。軽量のバックボーンネットワークは、上記のとおり、人体ポーズ関連特徴の最小化を図りつつ、計算コストを低減するよう設計することができる。
【0049】
中間特徴抽出器120は、CNNモデルがトレーニングされる際の中間監視を行うために構成される。中間監視は、最後の出力層に加え中間層(又は中間特徴抽出器の出力層)に損失層を追加することにより、CNNモデルのトレーニングを可能とする。ニューラルネットワークにおいて、損失層は、出力層とグラウンドトゥルースデータ間の差を比較し、各層における重みとバイアスのトレーニングを行うため逆方向に伝搬する。
【0050】
中間特徴抽出器120内に存在する畳込み層の数及び各中間ステージに対するこれらのパラメータは、上述のとおり、入力画像及び対象オブジェクト、すなわち人体のサイズにより調整される。各中間ステージは、基準画像のデータセットを使用してトレーニングされる。たとえば、画像内の人体の関節が同じ位置にマークされている2D関節ヒートマップを、2D関節位置を使用して大量に生成することができる。ヒートマップ上の正確な関節位置は高い応答値を示すが、関節位置からの距離が遠くなれば、その位置の応答値は低く又はゼロとなる。注釈の付いている2D関節位置を使用してデータセットから生成されるグラウンドトゥルースヒートマップは、モデルトレーニング中にトレーニングモデルから推測される推定ヒートマップと比較される。該モデルは、ニューラルネットワーク内の結合層全体にわたり順方向及び逆方向伝播プロセスを繰り返して重み及びバイアス値を調整することによりトレーニングされる。
【0051】
一実施形態において、中間特徴抽出器120の畳込み層の複数のステージをトレーニングすることにより、人体ポーズに関連する特徴がより深いネットワーク層を介して精緻化され、よりロバストな結果を得ることができる。さらに、モデルトレーニングの効率が上がる。
【0052】
低レベル特徴抽出器110及び中間特徴抽出器120における各層の出力は、人体関連画像特徴テンソルとして表現することのできる人体関連画像特徴を形成する。目的に応じて、人体関連画像特徴テンソルのサブセットを、詳細な人体ポーズ分析に使用することができる。
【0053】
図3は、2D人体関節推定ネットワーク210及び後処理モジュール220を備える2D人体骨格検出器40の一実施形態を示す。
【0054】
2D人体骨格検出器40は、特徴抽出器30により生成された人体関連画像特徴のサブセットを入力として受け取り、2D関節ヒートマップを出力として生成する。人体関連画像特徴のサブセットは、人体の関節及び形状に関連する顕著な特徴を保有する特徴抽出器30の異なる畳込み層の出力特徴テンソルの組み合わせからなる。
【0055】
一実施形態において、各出力特徴テンソルの品質を測定することが困難であることがある。この場合、低レベル特徴抽出器110及び/又は中間特徴抽出器120の端部に近い畳込み層を考慮すればよい、というのは、通常、これらは、畳込み層全体にわたり精緻化されるためである。例えば、低レベル特徴抽出器110及びN番目の中間特徴抽出器110における最後の畳込み層の出力特徴テンソルを選択して、2D人体骨格検出器40にデータを提供することができる。入力特徴サブセットが処理されると、2D人体骨格検出器40は、推定ヒートマップを推定し、これはヒートマップ内の極大値である関節位置の候補を決定するために使用され、ヒートマップ応答値は手動で定義された閾値を超える。画像内に複数の人物が存在する場合は、後処理ステップにおいて共同クラスタリングを行い、人物を分離して骨格を描く。
【0056】
図4は、畳込み層を含む人体輪郭セグメンテーションモジュール310と、後処理モジュール320とを備える人体輪郭検出器60の一実施形態を示す。
【0057】
人体輪郭検出器60は、画像内の全ての人体をセグメント化するステップと、人体マスク画像を生成するステップから構成される。人体輪郭セグメンテーション310の畳込み層は、特徴抽出器30から人体関連画像特徴テンソルを受け取り、人体輪郭で人体マスク画像を作成する。マスクは、各ピクセルにビット単位のマスキングを適用して、画像内の異なるオブジェクトをセグメント化するために使用される。人体マスク画像は、ピクセルが人物に属し、人物以外のピクセルが0 の場合、マスク値が1 になる二値画像である。人体関係画像特徴テンソルのスケールは、入力画像の幅及び高さと比べ通常2~16倍減少するため、畳込み演算中にアップスケーリングを実行して、人体マスク画像の解像度を上げ、詳細をより保持するができる。
【0058】
後処理モジュール320は、人体輪郭セグメンテーションモジュール310から推定マスク画像を取得し、マスク画像のサイズを変更して、ソース入力画像と同じ解像度にする。次に、人体マスク画像を使用して、画像内の人物の位置及び形状を識別することができる。
【0059】
図5は、畳込み層により形成された手の輪郭セグメンテーションモジュール410と、後処理モジュール420とを備える手の輪郭検出器70の一実施形態を示す。
【0060】
手の輪郭検出器モジュール410は、入力画像に存在する人の手をセグメント化するように構成され、人体輪郭検出器60と同様に、左手及び/又は右手のマスク画像を生成する。手の輪郭セグメンテーションモジュール410の畳込み層は、特徴抽出器30から人体関連画像特徴テンソルを受け取り、人体輪郭で手のマスク画像を作成する。
【0061】
後処理モジュール420は、手の推定マスク画像のサイズ変更を行うように構成される。次に、手のマスク画像を使用して、画像内に見える手の位置及び形状を識別することができる。この情報は、各手のポーズをさらに分析する際に使用することができる。
【0062】
一実施形態において、手の輪郭検出器70を人体輪郭検出器60と統合することができ、統合した検出器60及び70のトレーニングを一緒に行うことができる。これらの統合した検出器におけるニューラルネットワーク層は、計算の効率化を図るために共有してもよい。
【0063】
図6は、畳込み層及び後処理モジュール520を構成する手関節推定モジュール510を備える手骨格検出器80の一実施形態を示す。
【0064】
手骨格検出器80は、手の画像を受け取り、手の画像内の手関節の推定を行う。手の画像は、該システムにおいて指定されていない画像など、手の任意の画像でもよい。あるいは、手の画像は、手の輪郭検出器70により検出された手の領域(又は境界ボックス)を使用して、入力画像データ20からトリミングした手の画像でもよい。
【0065】
手関節推定モジュール510は、特徴抽出ネットワーク110及び120のアーキテクチャと、2D人体関節推定ネットワーク210のアーキテクチャとを組み合わせた同様のアーキテクチャを用いて設計することができる。一実施形態においては、手骨格検出器80は、特徴抽出器30から人体関連画像特徴テンソルを直接受け取るように設計することができる。
【0066】
手のポーズを推定するための後処理モジュール520は、推定ヒートマップを使用して関節位置の候補を決定し、手の骨格を描く。
【0067】
図7は、畳込み層を含む3D人体関節推定モジュール610と、後処理モジュール620とを備える、3D人体骨格検出器90の一実施形態を示す。
【0068】
3D人体骨格検出器90は、単一画像から人体関節の3D座標を推定するよう構成される。3D人体骨格検出器90は、人体関連画像特徴テンソルを受け取り、画像内において検出された人体の正規化された3D座標を推定する。後処理モジュール620は、正規化された3D位置を画像空間及び実世界空間にマッピングするように構成される。
【0069】
図8は、畳込み層を含む顔面キーポイント推定モジュール710と、後処理モジュール720とを備える顔面キーポイント検出器50の一実施形態を示す。
【0070】
顔面キーポイント検出器50は、目、耳、鼻などの顔面のキーポイントの大まかな位置を推定する2D人体骨格検出器40により決定され、顔面のトリミング画像を受け取る。目、上唇、下唇、顎、まつ毛、鼻などの輪郭点といったより細かいキーポイントの位置は、顔面キーポイント推定モジュール710の畳込み層により推定される。検出された顔面キーポイントの調整及び/又は外れ値フィルタリングは、後処理モジュール720により実行してもよい。
【0071】
特徴抽出器30が決定した同一の人体関連画像特徴は、検出器40~90のうち少なくともいくつかが共有して、人体ポーズ情報の推定が行われることに留意されたい。一実施形態では、特徴抽出器30は、画像から得ることのできるすべての人体関連画像特徴を特定し、各ニューラルネットワーク層にテンソル形式でこれを記憶する。
【0072】
一実施形態において、特徴抽出器30は、スケール不変特徴変換(SIFT)及び指向勾配のヒストグラム(HOG)などの特徴記述子を明示的に定義することにより設計することができる。このような特徴抽出器は、データセットにかかわらず、画像特徴を事前に定義する。
【0073】
一実施形態において、抽出器30及び検出器40~90はそれぞれ、少なくとも1つの各プロセッサ又は処理ユニット、各通信ユニット、及び各メモリを備える。別の実施形態では、抽出器30及び検出器40~90からなる群のうちの少なくとも2つは、同じプロセッサ、同じ通信ユニット及び/又は同じメモリを共有する。例えば、抽出器30及び検出器40~90は、同じプロセッサ、同じ通信ユニット及び同じメモリを共有することができる。この場合、抽出器30及び検出器40~90は、パーソナルコンピュータ、ラップトップ、タブレット、スマートフォンなどのコンピュータ機器のプロセッサにより実行される異なるモジュールに対応することができる。
【0074】
上記の説明では検出器40~90を備えるシステム10について言及したが、システム10は、検出器40~90のうちの1つのみを備えることが可能である点に留意されたい。例えば、システム10は、検出器40~90のうち少なくとも2つで構成することができる。
【0075】
一実施形態においては、複数の検出器間で同じ人体関連画像特徴を共有して、各検出器に対する計算を最小限に抑え、分析の一貫性を保ち、高速化を図る。
【0076】
図9は、いくつかの実施形態による、画像からの上記ポーズ情報の抽出を実行する例示的な処理モジュール800を示すブロック図である。処理モジュール800は、通常、メモリ804に記憶されたモジュール又はプログラム及び/若しくは命令を実行し、これにより処理演算、メモリ804、及びこれら構成要素を相互接続する1つ以上の通信バス806を実行する1つ以上のコンピュータ処理ユニット(CPU)及び/又はグラフィック処理ユニット(GPU)802を含む。通信バス806はオプションとして、システムコンポーネント間の通信を相互接続し、制御する回路(チップセットと呼ばれることもある。)を含む。メモリ804は、DRAM、SRAM、DDR RAMその他ランダムアクセスソリッドステートメモリ装置のような高速ランダムアクセスメモリを含み、1つ以上の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリ装置その他不揮発性ソリッドステート記憶装置のような不揮発性メモリを含むことができる。メモリ804は、オプションとして、CPU802から遠隔配置された1つ以上の記憶装置を含む。メモリ804、又はメモリ804内の不揮発性メモリ装置は、一時的でないコンピュータ可読記憶媒体を備える。ある実施形態において、メモリ804、又はメモリ804のコンピュータ可読記憶媒体は、以下のプログラム、モジュール及びデータ構造、又はこれらのサブセットを記憶する。
画像から人体関連画像特徴を抽出する特徴抽出モジュール810
2D人体関節位置を推定する2D人体骨格検出モジュール812
人体輪郭を識別し、セグメント化する人体輪郭検出モジュール814
手の輪郭を識別し、セグメント化する手の輪郭検出モジュール816
3D人体関節位置を推定する3D人体骨格検出モジュール818
顔面キーポイント位置を推定する顔面キーポイント検出モジュール820
手関節位置を推定する手骨格検出モジュール822
【0077】
上記の識別された各要素は、前記のメモリ装置の1つ以上に記憶することができ、上記の機能を実行するための一連の命令に対応する。上記の識別されたモジュール又はプログラム(すなわち、一連の命令)は、別個のソフトウェアプログラム、手続又はモジュールとして実装する必要がないため、これらモジュールの様々なサブセットを、様々な実施形態において組み合わせ又は再構成することができる。ある実施形態において、メモリ804は、上記の識別されたモジュール及びデータ構造のサブセットを記憶してもよい。さらに、メモリ804は、上に記載していない別のモジュール及びデータ構造を記憶してもよい。
【0078】
図9は、処理モジュール800を示しているが、本明細書において説明される実施形態の構造概略図としてよりも、管理モジュール内に存在し得る様々な特徴の機能の概要として意図されるものである。実際には、当業者により認識されるように、別途示すアイテムを組み合わせることができ、また、いくつかのアイテムを分離することもできる。
【0079】
上記の本発明の実施形態は、単なる例示にすぎない。したがって、本発明の適用範囲は、添付の特許請求の適用範囲のみにより限定されることが意図される。