(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】姿勢推定装置、学習装置、姿勢推定方法及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20241210BHJP
【FI】
G06T7/00 350B
G06T7/00 660Z
(21)【出願番号】P 2021030329
(22)【出願日】2021-02-26
【審査請求日】2024-01-11
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100110928
【氏名又は名称】速水 進治
(72)【発明者】
【氏名】井下 哲夫
(72)【発明者】
【氏名】中谷 裕一
【審査官】高野 美帆子
(56)【参考文献】
【文献】特開2022-092528(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
画像の中から人物領域を抽出し、抽出した前記人物領域の画像に基づき人物領域画像情報を生成する人物領域画像情報生成手段と、
前記画像の中から人物の関節点を抽出し、抽出した前記関節点に基づき関節点情報を生成する関節点情報生成手段と、
前記人物領域画像情報及び前記関節点情報の両方に基づき特徴量情報を生成する特徴量情報生成手段と、
前記特徴量情報を入力とし、姿勢の推定結果を出力と
し、自己注意機構を含む推定モデルに基づき、前記画像に含まれる人物の姿勢を推定する推定手段と、
を有する姿勢推定装置。
【請求項2】
画像の中から人物領域を抽出し、抽出した前記人物領域の画像に基づき人物領域画像情報を生成する人物領域画像情報生成手段と、
前記画像の中から人物の関節点を抽出し、抽出した前記関節点に基づき関節点情報を生成する関節点情報生成手段と、
前記人物領域画像情報及び前記関節点情報の両方に基づき特徴量情報を生成する特徴量情報生成手段と、
前記特徴量情報を入力とし、姿勢の推定結果を出力とする推定モデルに基づき、前記画像に含まれる人物の姿勢を推定する推定手段と、
を有
し、
前記関節点情報生成手段は、
人物のM個の関節点を抽出し、
各々がM個の関節点各々に対応し、各々がM個の関節点各々の位置を示す複数の関節点位置画像を前記関節点情報として生成し、
前記関節点の位置に対応した座標のスコア、及び前記関節点の位置に対応した座標の値からその他の座標のスコアを算出する演算式が予め定義されており、
前記関節点情報生成手段は、
前記関節点の位置に対応した座標の値と前記演算式に基づき、前記その他の座標のスコアを算出し、
各座標の前記スコアをヒートマップで表した前記関節点位置画像を生成し、
前記演算式は、
前記関節点の位置に対応した座標のx座標値からその他の座標のスコアを算出する第1の演算式と、前記関節点の位置に対応した座標のy座標値からその他の座標のスコアを算出する第2の演算式とを有し、
前記関節点情報生成手段は、
前記関節点の位置に対応した座標のx座標値と前記第1の演算式に基づき前記その他の座標のスコアを算出し、各座標の前記スコアをヒートマップで表した第1の関節点位置画像を前記関節点位置画像として生成するとともに、
前記関節点の位置に対応した座標のy座標値と前記第2の演算式に基づき前記その他の座標のスコアを算出し、各座標の前記スコアをヒートマップで表した第2の関節点位置画像を前記関節点位置画像として生成する姿勢推定装置。
【請求項3】
前記関節点情報生成手段は、
人物のM個の関節点を抽出し、
各々がM個の関節点各々に対応し、各々がM個の関節点各々の位置を示す複数の関節点位置画像を前記関節点情報として生成する請求項1に記載の姿勢推定装置。
【請求項4】
前記関節点の位置に対応した座標のスコア、及びその他の座標のスコアが予め固定値で定義されており、
前記関節点情報生成手段は、
各座標の前記スコアをヒートマップで表した前記関節点位置画像を生成する請求項2
又は3に記載の姿勢推定装置。
【請求項5】
前記
人物領域画像情報生成手段は、
人物検出処理の結果、又は関節点抽出処理の結果を用いて、前記画像の中から前記人物領域を抽出する請求項1から
4のいずれか1項に記載の姿勢推定装置。
【請求項6】
コンピュータが、
画像の中から人物領域を抽出し、抽出した前記人物領域の画像に基づき人物領域画像情報を生成し、
前記画像の中から人物の関節点を抽出し、抽出した前記関節点に基づき関節点情報を生成し、
前記人物領域画像情報及び前記関節点情報の両方に基づき特徴量情報を生成し、
前記特徴量情報を入力とし、姿勢の推定結果を出力と
し、自己注意機構を含む推定モデルに基づき、前記画像に含まれる人物の姿勢を推定する姿勢推定方法。
【請求項7】
コンピュータが、
画像の中から人物領域を抽出し、抽出した前記人物領域の画像に基づき人物領域画像情報を生成し、
前記画像の中から人物の関節点を抽出し、抽出した前記関節点に基づき関節点情報を生成し、
前記人物領域画像情報及び前記関節点情報の両方に基づき特徴量情報を生成し、
前記特徴量情報を入力とし、姿勢の推定結果を出力とする推定モデルに基づき、前記画像に含まれる人物の姿勢を推定し、
前記関節点情報を生成する処理では、
人物のM個の関節点を抽出し、
各々がM個の関節点各々に対応し、各々がM個の関節点各々の位置を示す複数の関節点位置画像を前記関節点情報として生成し、
前記関節点の位置に対応した座標のスコア、及び前記関節点の位置に対応した座標の値からその他の座標のスコアを算出する演算式が予め定義されており、
前記関節点情報を生成する処理では、
前記関節点の位置に対応した座標の値と前記演算式に基づき、前記その他の座標のスコアを算出し、
各座標の前記スコアをヒートマップで表した前記関節点位置画像を生成し、
前記演算式は、
前記関節点の位置に対応した座標のx座標値からその他の座標のスコアを算出する第1の演算式と、前記関節点の位置に対応した座標のy座標値からその他の座標のスコアを算出する第2の演算式とを有し、
前記関節点情報を生成する処理では、
前記関節点の位置に対応した座標のx座標値と前記第1の演算式に基づき前記その他の座標のスコアを算出し、各座標の前記スコアをヒートマップで表した第1の関節点位置画像を前記関節点位置画像として生成するとともに、
前記関節点の位置に対応した座標のy座標値と前記第2の演算式に基づき前記その他の座標のスコアを算出し、各座標の前記スコアをヒートマップで表した第2の関節点位置画像を前記関節点位置画像として生成する姿勢推定方法。
【請求項8】
コンピュータを、
画像の中から人物領域を抽出し、抽出した前記人物領域の画像に基づき人物領域画像情報を生成する人物領域画像情報生成手段、
前記画像の中から人物の関節点を抽出し、抽出した前記関節点に基づき関節点情報を生成する関節点情報生成手段、
前記人物領域画像情報及び前記関節点情報の両方に基づき特徴量情報を生成する特徴量情報生成手段、
前記特徴量情報を入力とし、姿勢の推定結果を出力と
し、自己注意機構を含む推定モデルに基づき、前記画像に含まれる人物の姿勢を推定する推定手段、
として機能させるプログラム。
【請求項9】
コンピュータを、
画像の中から人物領域を抽出し、抽出した前記人物領域の画像に基づき人物領域画像情報を生成する人物領域画像情報生成手段、
前記画像の中から人物の関節点を抽出し、抽出した前記関節点に基づき関節点情報を生成する関節点情報生成手段、
前記人物領域画像情報及び前記関節点情報の両方に基づき特徴量情報を生成する特徴量情報生成手段、
前記特徴量情報を入力とし、姿勢の推定結果を出力とする推定モデルに基づき、前記画像に含まれる人物の姿勢を推定する推定手段、
として機能させ
、
前記関節点情報生成手段は、
人物のM個の関節点を抽出し、
各々がM個の関節点各々に対応し、各々がM個の関節点各々の位置を示す複数の関節点位置画像を前記関節点情報として生成し、
前記関節点の位置に対応した座標のスコア、及び前記関節点の位置に対応した座標の値からその他の座標のスコアを算出する演算式が予め定義されており、
前記関節点情報生成手段は、
前記関節点の位置に対応した座標の値と前記演算式に基づき、前記その他の座標のスコアを算出し、
各座標の前記スコアをヒートマップで表した前記関節点位置画像を生成し、
前記演算式は、
前記関節点の位置に対応した座標のx座標値からその他の座標のスコアを算出する第1の演算式と、前記関節点の位置に対応した座標のy座標値からその他の座標のスコアを算出する第2の演算式とを有し、
前記関節点情報生成手段は、
前記関節点の位置に対応した座標のx座標値と前記第1の演算式に基づき前記その他の座標のスコアを算出し、各座標の前記スコアをヒートマップで表した第1の関節点位置画像を前記関節点位置画像として生成するとともに、
前記関節点の位置に対応した座標のy座標値と前記第2の演算式に基づき前記その他の座標のスコアを算出し、各座標の前記スコアをヒートマップで表した第2の関節点位置画像を前記関節点位置画像として生成するプログラム。
【請求項10】
画像の中から人物領域を抽出し、抽出した前記人物領域の画像に基づき人物領域画像情報を生成する人物領域画像情報生成手段と、
前記画像の中から人物の関節点を抽出し、抽出した前記関節点に基づき関節点情報を生成する関節点情報生成手段と、
前記人物領域画像情報及び前記関節点情報の両方に基づき特徴量情報を生成する特徴量情報生成手段と、
前記特徴量情報を入力とし、姿勢の推定結果を出力と
し、自己注意機構を含む推定モデルを学習する学習手段と、
を有する学習装置。
【請求項11】
画像の中から人物領域を抽出し、抽出した前記人物領域の画像に基づき人物領域画像情報を生成する人物領域画像情報生成手段と、
前記画像の中から人物の関節点を抽出し、抽出した前記関節点に基づき関節点情報を生成する関節点情報生成手段と、
前記人物領域画像情報及び前記関節点情報の両方に基づき特徴量情報を生成する特徴量情報生成手段と、
前記特徴量情報を入力とし、姿勢の推定結果を出力とする推定モデルを学習する学習手段と、
を有
し、
前記関節点情報生成手段は、
人物のM個の関節点を抽出し、
各々がM個の関節点各々に対応し、各々がM個の関節点各々の位置を示す複数の関節点位置画像を前記関節点情報として生成し、
前記関節点の位置に対応した座標のスコア、及び前記関節点の位置に対応した座標の値からその他の座標のスコアを算出する演算式が予め定義されており、
前記関節点情報生成手段は、
前記関節点の位置に対応した座標の値と前記演算式に基づき、前記その他の座標のスコアを算出し、
各座標の前記スコアをヒートマップで表した前記関節点位置画像を生成し、
前記演算式は、
前記関節点の位置に対応した座標のx座標値からその他の座標のスコアを算出する第1の演算式と、前記関節点の位置に対応した座標のy座標値からその他の座標のスコアを算出する第2の演算式とを有し、
前記関節点情報生成手段は、
前記関節点の位置に対応した座標のx座標値と前記第1の演算式に基づき前記その他の座標のスコアを算出し、各座標の前記スコアをヒートマップで表した第1の関節点位置画像を前記関節点位置画像として生成するとともに、
前記関節点の位置に対応した座標のy座標値と前記第2の演算式に基づき前記その他の座標のスコアを算出し、各座標の前記スコアをヒートマップで表した第2の関節点位置画像を前記関節点位置画像として生成する学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、姿勢推定装置、学習装置、姿勢推定方法及びプログラムに関する。
【背景技術】
【0002】
本発明に関連する技術が、特許文献1に開示されている。特許文献1は、画像解析で画像に含まれる人物の行動を推定するエンジンが算出した複数のクラス各々のスコアと、関節点情報に基づき画像に含まれる人物の行動を推定するエンジンが算出した複数のクラス各々のスコアを統合して、複数のクラス各々の統合スコアを算出する技術を開示している。
【0003】
非特許文献1は、自己注意(self-attention)機構を備えた推定モデルであるTransformerに関する文献である。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【文献】Ashish Vaswani 他、"Attention Is All You Need"、[online]、[令和3年1月22日検索]、インターネット<URL: https://papers.nips.cc/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に開示の技術の場合、画像情報に基づくクラス分類と、関節点情報に基づくクラス分類を別々に行った後、各クラス分類の結果を統合している。以下の実施形態で示すが、このように別々に行ったクラス分類の結果を単に統合するだけの処理の場合、精度向上率は低い。本発明は、姿勢推定の精度を向上させることを課題とする。
【課題を解決するための手段】
【0007】
本発明によれば、
画像の中から人物領域を抽出し、抽出した前記人物領域の画像に基づき人物領域画像情報を生成する人物領域画像情報生成手段と、
前記画像の中から人物の関節点を抽出し、抽出した前記関節点に基づき関節点情報を生成する関節点情報生成手段と、
前記人物領域画像情報及び前記関節点情報の両方に基づき特徴量情報を生成する特徴量情報生成手段と、
前記特徴量情報を入力とし、姿勢の推定結果を出力とする推定モデルに基づき、前記画像に含まれる人物の姿勢を推定する推定手段と、
を有する姿勢推定装置が提供される。
【0008】
また、本発明によれば、
コンピュータが、
画像の中から人物領域を抽出し、抽出した前記人物領域の画像に基づき人物領域画像情報を生成し、
前記画像の中から人物の関節点を抽出し、抽出した前記関節点に基づき関節点情報を生成し、
前記人物領域画像情報及び前記関節点情報の両方に基づき特徴量情報を生成し、
前記特徴量情報を入力とし、姿勢の推定結果を出力とする推定モデルに基づき、前記画像に含まれる人物の姿勢を推定する姿勢推定方法が提供される。
【0009】
また、本発明によれば、
コンピュータを、
画像の中から人物領域を抽出し、抽出した前記人物領域の画像に基づき人物領域画像情報を生成する人物領域画像情報生成手段、
前記画像の中から人物の関節点を抽出し、抽出した前記関節点に基づき関節点情報を生成する関節点情報生成手段、
前記人物領域画像情報及び前記関節点情報の両方に基づき特徴量情報を生成する特徴量情報生成手段、
前記特徴量情報を入力とし、姿勢の推定結果を出力とする推定モデルに基づき、前記画像に含まれる人物の姿勢を推定する推定手段、
として機能させるプログラムが提供される。
【0010】
また、本発明によれば、
画像の中から人物領域を抽出し、抽出した前記人物領域の画像に基づき人物領域画像情報を生成する人物領域画像情報生成手段と、
前記画像の中から人物の関節点を抽出し、抽出した前記関節点に基づき関節点情報を生成する関節点情報生成手段と、
前記人物領域画像情報及び前記関節点情報の両方に基づき特徴量情報を生成する特徴量情報生成手段と、
前記特徴量情報を入力とし、姿勢の推定結果を出力とする推定モデルを学習する学習手段と、
を有する学習装置が提供される。
【発明の効果】
【0011】
本発明によれば、姿勢推定の精度が向上する。
【図面の簡単な説明】
【0012】
【
図1】本実施形態の学習装置が実行する処理の全体像を示す図である。
【
図2】本実施形態の学習装置及び姿勢推定装置のハードウエア構成の一例を示す図である。
【
図3】本実施形態の学習装置の機能ブロック図の一例である。
【
図4】本実施形態の人物領域画像情報生成部の処理を説明するための図である。
【
図5】本実施形態の関節点情報生成部の処理を説明するための図である。
【
図6】本実施形態の関節点情報生成部の処理を説明するための図である。
【
図7】本実施形態の学習装置の処理の流れの一例を示すフローチャートである。
【
図8】本実施形態の学習装置が実行する処理の全体像を示す図である。
【
図9】本実施形態の関節点情報生成部の処理を説明するための図である。
【
図10】本実施形態の学習装置が実行する処理の全体像を示す図である。
【
図11】本実施形態の姿勢推定装置の機能ブロック図の一例である。
【
図12】本実施形態の姿勢推定装置の処理の流れの一例を示すフローチャートである。
【
図13】本実施形態の学習装置及び姿勢推定装置の作用効果を説明するための図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【0014】
<第1の実施形態>
「概要」
本実施形態は、処理対象の画像に含まれる人物の姿勢を推定する推定モデルを学習する学習装置に関する。
【0015】
図1に、本実施形態の学習装置が実行する処理の全体像を示す。図示するように、本実施形態の学習装置は、
・処理対象の画像の中から人物領域を抽出し、抽出した人物領域の画像に基づき人物領域画像情報を生成する処理(図中、(1))、
・処理対象の画像の中から人物の関節点を抽出し、抽出した関節点に基づき関節点情報を生成する処理(図中、(2))、
・人物領域画像情報及び関節点情報を畳み込んで特徴量情報を生成する処理(図中、(3))、
・当該特徴量情報を自己注意(self-attention)機構を備えたTransformerで学習する処理(図中、(4))、
を実行する。
【0016】
このように、本実施形態の学習装置は、人物領域画像情報及び関節点情報を畳み込んで特徴量情報を生成し、自己注意(self-attention)機構を備えたTransformerで当該特徴量情報を学習するという特徴的な処理を実行する。
【0017】
「学習装置の構成」
最初に、学習装置のハードウエア構成の一例を説明する。
図2は、学習装置のハードウエア構成例を示す図である。学習装置が備える各機能部は、任意のコンピュータのCPU(Central Processing Unit)、メモリ、メモリにロードされるプログラム、そのプログラムを格納するハードディスク等の記憶ユニット(あらかじめ装置を出荷する段階から格納されているプログラムのほか、CD(Compact Disc)等の記憶媒体やインターネット上のサーバ等からダウンロードされたプログラムをも格納できる)、ネットワーク接続用インターフェイスを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。
【0018】
図2に示すように、学習装置は、プロセッサ1A、メモリ2A、入出力インターフェイス3A、周辺回路4A、バス5Aを有する。周辺回路4Aには、様々なモジュールが含まれる。学習装置は、周辺回路4Aを有さなくてもよい。なお、学習装置は物理的及び/又は論理的に分かれた複数の装置で構成されてもよいし、物理的及び論理的に一体となった1つの装置で構成されてもよい。前者の場合、学習装置を構成する複数の装置各々が上記ハードウエア構成を備えることができる。
【0019】
バス5Aは、プロセッサ1A、メモリ2A、周辺回路4A及び入出力インターフェイス3Aが相互にデータを送受信するためのデータ伝送路である。プロセッサ1Aは、例えばCPU、GPU(Graphics Processing Unit)などの演算処理装置である。メモリ2Aは、例えばRAM(Random Access Memory)やROM(Read Only Memory)などのメモリである。入出力インターフェイス3Aは、入力装置、外部装置、外部サーバ、外部センサ等から情報を取得するためのインターフェイスや、出力装置、外部装置、外部サーバ等に情報を出力するためのインターフェイスなどを含む。入力装置は、例えばキーボード、マウス、マイク等である。出力装置は、例えばディスプレイ、スピーカ、プリンター、メーラ等である。プロセッサ1Aは、各モジュールに指令を出し、それらの演算結果をもとに演算を行うことができる。
【0020】
次に、学習装置の機能構成を説明する。
図3に、学習装置20の機能ブロック図の一例を示す。図示するように、学習装置20は、人物領域画像情報生成部21と、関節点情報生成部22と、特徴量情報生成部23と、学習部24とを有する。
【0021】
人物領域画像情報生成部21は、処理対象の画像の中から人物領域を抽出し、抽出した人物領域の画像に基づき人物領域画像情報を生成する。
【0022】
人物領域は、人物が存在する領域である。人物領域の抽出は、例えば顔等の外観の特徴量を画像内から検出する周知の人物検出処理(画像解析処理)の結果を利用して実現されてもよいし、関節点情報生成部22により生成された関節点抽出処理の結果を利用して実現されてもよい。
図4に、処理対象の画像から人物領域が抽出された例を示す。枠で囲まれた領域が、抽出された人物領域である。
【0023】
次に、人物領域画像情報について説明する。抽出された人物領域の画像の各画素は、RGB情報(色情報)を有する。人物領域画像情報は、抽出された人物領域の画像のR(red)の情報を示すR画像と、抽出された人物領域の画像のG(green)の情報を示すG画像と、抽出された人物領域の画像のB(blue)の情報を示すB画像とで構成される。R画像、G画像及びB画像の縦横サイズは同一であり、予め定められたサイズとなっている。画像サイズは、例えば256×256であるが、これに限定されない。なお、抽出された人物領域の画像のサイズが、上記予め定められたサイズと異なる場合、拡大・縮小等の周知の画像補正処理により、画像サイズを調整することができる。
【0024】
関節点情報生成部22は、処理対象の画像の中から人物の関節点を抽出し、抽出した関節点に基づき関節点情報を生成する。画像を解析して人物の関節点を抽出する処理は、従来のあらゆる技術(Open Pose等)を利用して実現することができる。関節点情報生成部22によれば、例えば
図5に示すような18個の関節点が抽出される。なお、抽出する関節点の数は設計的事項である。
図6に、処理対象の画像から関節点が抽出された例を示す。黒丸で抽出された関節点が示されている。
【0025】
関節点情報は、抽出される複数の関節点各々に対応する関節点位置画像で構成される。M個の関節点が抽出されるエンジンを利用する場合、関節点情報はM個の関節点位置画像で構成される。
図1では、18個の関節点が抽出されるエンジンを利用することを前提としているため、関節点情報は18個の関節点位置画像で構成されることを示している。しかし、M=18はあくまで一例であり、これに限定されない。
【0026】
各関節点に対応する各関節点位置画像は、各関節点の位置、より詳細には上記抽出された人物領域の画像の中における各関節点の位置を示す。第1の関節点に対応する第1の関節点位置画像は、第1の関節点の位置を示す。第1の関節点位置画像は、他の関節点の位置を示さない。同様に、第2の関節点に対応する第2の関節点位置画像は、第2の関節点の位置を示す。第2の関節点位置画像は、他の関節点の位置を示さない。
【0027】
ここで、関節点位置画像の生成方法の例を説明する。まず、関節点情報生成部22は、上記抽出された人物領域の画像の中の複数の座標各々に対しスコアを決定する。一例では、関節点の位置に対応した座標のスコア、及びその他の座標のスコアが予め固定値で定義される。例えば、関節点の位置に対応した座標のスコアは「1」であり、その他の座標のスコアは「0」である。第1の関節点に対応する第1の関節点位置画像の生成時には、第1の関節点の位置に対応した座標のスコアが「1」となり、その他の座標のスコアが「0」となる。そして、第2の関節点に対応する第2の関節点位置画像の生成時には、第2の関節点の位置に対応した座標のスコアが「1」となり、その他の座標のスコアが「0」となる。
【0028】
そして、関節点情報生成部22は、各座標のスコアをヒートマップで表した関節点位置画像を生成する。当該処理の変形例として、ガウス分布などを利用し、関節点の位置に対応した座標の周囲の座標のスコアを段階的に「0」に近づけていってもよい。関節点の位置に対応した座標に近い座標ほど「1」に近い値となる。
【0029】
なお、Open Pose等の関節点を抽出するエンジンの中には、上述のような関節点位置画像を中間生成物として出力するものが存在する。このようなエンジンを利用する場合、関節点情報生成部22は、当該中間生成物(関節点位置画像)を関節点情報として取得してもよい。
【0030】
関節点位置画像のサイズは、上記R画像、G画像及びB画像と同じサイズである。ただし、以下で説明する特徴量情報を生成する処理において、人物領域画像情報及び関節点位置画像情報を互いに異なる畳み込みニューラルネットワークに入力する場合、同じサイズでなくてもよい。
【0031】
特徴量情報生成部23は、人物領域画像情報(R画像、G画像及びB画像)、及び関節点情報(M個の関節点位置画像)の両方に基づき特徴量情報を生成する。具体的には、特徴量情報生成部23は、R画像、G画像、B画像及びM個の関節点位置画像を畳み込んで特徴量マップ(特徴量情報)を生成する。結果、例えば
図1に示すように、3×256×256の人物領域画像情報と、18×256×256の関節点情報とが畳み込まれて、256×16×16の特徴量マップとなる。なお、当該例はあくまで一例である。
【0032】
特徴量情報生成部23は、例えば、R画像、G画像、B画像及びM個の関節点位置画像を1つの畳み込みニューラルネットワーク(例えば、Resnet-50等)に入力して特徴量情報を生成してもよい。その他、特徴量情報生成部23は、R画像、G画像及びB画像を1つの畳み込みニューラルネットワークに入力して特徴量情報を生成し、それとは別にM個の関節点位置画像を1つの畳み込みニューラルネットワークに入力して他の特徴量情報を生成し、その後、それら2つの特徴量情報を任意の手段で統合して1つの特徴量情報を生成してもよい。
【0033】
学習部24は、特徴量情報を入力とし、姿勢の推定結果を出力とする推定モデルを学習する。推定モデルは、自己注意(self-attention)機構を備えたTransformerである。当該推定モデルの詳細は、非特許文献1に開示されているのでここでの説明は省略する。推定モデルは、予め定義されたN個の姿勢(クラス)各々の確信度(処理対象の画像に含まれる人物が各姿勢をとっている確信度)を推定結果として出力する。姿勢は、例えば、点灯、しゃがむ、座る、立つ、歩行、頭を抱える、手を向ける、腕を振る等が例示されるが、これらに限定されない。
【0034】
学習部24は、特徴量情報生成部23が生成した特徴量情報を当該推定モデルに入力し、推定結果(クラス分類結果)を得る。そして、学習部24は、推定結果と正解ラベルとの照合結果に基づき、推定モデルのパラメータを調整する。当該学習処理は、従来技術に基づき実現することができる。
【0035】
次に、
図7のフローチャートに基づき、学習装置20の処理の流れの一例を説明する。
【0036】
学習装置20は、処理対象の画像を取得すると(S10)、処理対象の画像の中から人物領域を抽出し、抽出した人物領域の画像に基づき人物領域画像情報(R画像、G画像及びB画像)を生成する(S11)。また、学習装置20は、処理対象の画像の中から人物の関節点を抽出し、抽出した関節点に基づき関節点情報(M個の関節点位置画像)を生成する(S12)。なお、S11及びS12の処理順は、
図7に示す順でもよいし、逆でもよい。また、S11及びS12の処理は、並行して行われてもよい。
【0037】
次に、学習装置20は、S11で生成された人物領域画像情報及びS12で生成された関節点情報の両方に基づき特徴量情報を生成する(S13)。具体的には、学習装置20は、R画像、G画像、B画像及びM個の関節点位置画像を畳み込んで特徴量マップ(特徴量情報)を生成する。
【0038】
次いで、学習装置20は、S13で生成された特徴量情報を学習データとして、姿勢を推定する推定モデルを学習する(S14)。具体的には、学習装置20は、S13で生成された特徴量情報を推定モデルに入力し、推定結果(クラス分類結果)を得る。そして、学習装置20は、推定結果と正解ラベルとの照合結果に基づき、推定モデルのパラメータを調整する。
【0039】
学習装置20は、以降、同様の処理を繰り返す。
【0040】
「作用効果」
本実施形態の学習装置20は、人物領域画像情報及び関節点情報を畳み込んで特徴量情報を生成し、自己注意(self-attention)機構を備えたTransformerで当該特徴量情報を学習するという特徴的な処理を実行する。このような学習装置20によれば、以下の検証結果で示すように、姿勢推定の精度が向上する。
【0041】
<第2の実施形態>
図8に、本実施形態の学習装置20が実行する処理の全体像を示す。図示するように、本実施形態は、関節点情報の内容が第1の実施形態と異なる。その他の内容は第1の実施形態と同じである。
【0042】
ここで、本実施形態の関節点位置画像の生成方法の例を説明する。まず、関節点情報生成部22は、上記抽出された人物領域の画像の中の複数の座標各々に対しスコアを決定する。本実施形態では、関節点の位置に対応した座標のスコア(固定値)、及び関節点の位置に対応した座標の値からその他の座標のスコアを算出する演算式が予め定義されている。
図9に当該演算式の一例を示す。
【0043】
図中、(px,py)が、関節点の位置に対応した座標の値である。そして、(X方向のencoding)及び(Y方向のencoding)が各座標のスコアである。a及びbの値は予め定められる固定値である。
【0044】
この例の場合、その他の座標のスコアを算出する演算式は、
・関節点の位置に対応した座標のx座標値からその他の座標のスコアを算出する第1の演算式と、
・関節点の位置に対応した座標のy座標値からその他の座標のスコアを算出する第2の演算式と、
を有する。
【0045】
そして、関節点情報生成部22は、
・関節点の位置に対応した座標のx座標値と第1の演算式に基づきその他の座標のスコアを算出し、各座標のスコアをヒートマップで表した第1の関節点位置画像を関節点位置画像として生成する処理、及び、
・関節点の位置に対応した座標のy座標値と第2の演算式に基づきその他の座標のスコアを算出し、各座標のスコアをヒートマップで表した第2の関節点位置画像を関節点位置画像として生成する処理、
の両方を実行する。
【0046】
すなわち、本実施形態では、関節点情報生成部22は、1つの関節点に対応して、2つの関節点位置画像(第1の関節点位置画像及び第2の関節点位置画像)を生成する。
図8に示すように、本実施形態で生成される関節点情報は、例えば18×2×256×256となる。
【0047】
なお、
図9では示されていないが、第1の関節点位置画像において、y座標値が一致する座標のスコアは同一である。そして、第2の関節点位置画像において、x座標値が一致する座標のスコアは同一である。
図9で示す例の場合、関節点情報生成部22は、図示する演算式と、当該条件とに基づき、各座標のスコアを決定する。
【0048】
本実施形態の学習装置20のその他の構成は、第1の実施形態と同様である。
【0049】
本実施形態の学習装置20によれば、以下の検証結果で示すように、第1の実施形態の学習装置20よりも姿勢推定の精度が向上する。
【0050】
また、本実施形態の学習装置20は、第1の実施形態の学習装置20に比べて、以下の点が優れる。
【0051】
(1)「関節点同士の位置関係に依らず、ネットワークの初期から任意の骨格点間の関係性を参照できる。」
第1の実施形態の手法の場合、関節点同士の距離が遠いと、ResNet-50の畳み込み処理において、(両者が共にネットワークの受容野に収まる)後段の層に行かないと両者の関係性を参照できないという問題がある。これは学習を複雑化し、学習の困難や精度低下につながるおそれがある。これに対し、本実施形態のように関節点の位置に対応しない座標に対し、関節点の座標値に基づいた所定のスコアを与えることで、関節点同士の位置関係に依らず、ネットワークの初期から任意の骨格点間の関係性を参照できるようになる。結果、上記第1の実施形態の手法が備える不都合を軽減できる。
【0052】
(2)「関節点同士の位置関係の参照に微分計算が不要」
ある点から見た関節点の相対位置は、角度と距離、あるいはΔxとΔyなど、本質的に2次元の情報となる。第1の実施形態の手法の場合、画素ごとに1次元の情報しかないため、ここから2次元の情報を取り出すためには微分演算が必要となる。これは学習を複雑化し、学習の困難や精度低下につながるおそれがある。これに対し、本実施形態のように関節点の位置に対応しない座標に対し、関節点の座標値に基づいた所定のスコアを与えることで、当該スコアに基づき、ある点からみた関節点の相対位置が把握可能になる。すなわち、面倒な微分計算なしで、ある点からみた関節点の相対位置が把握可能になる。結果、上記第1の実施形態の手法が備える不都合を軽減できる。
【0053】
(3)「関節点位置画像を高速に生成できる」
第1の実施形態の一例では、例えばガウス分布等を利用して関節点位置画像を生成する。この場合、演算処理が複雑化し、画像生成に要する時間が大きくなる。これに対し、本実施形態の場合、例えば
図9に示すように1次式の演算結果に基づき関節点位置画像を生成することができる。このため、上記第1の実施形態の手法が備える不都合を軽減できる。
【0054】
(4)「関節点位置画像のサイズが小さくても精度が出る」
第1の実施形態の手法の場合、微分演算で情報を取り出すため、関節点位置画像の画像サイズを小さくすると情報の精度が落ちる。これに対し、本実施形態の場合、必要な情報がデコード済みなので、64×64、32×32など小さな画像でも精度が落ちにくく、計算リソースの低減や高速化が可能となる。
【0055】
<第3の実施形態>
図10に、本実施形態の学習装置20が実行する処理の全体像を示す。図示するように、本実施形態では、関節点情報生成部22により抽出された人物の関節点の座標値を示す関節点座標情報が推定モデルの学習で利用される。具体的には、関節点座標情報も利用して(関節点座標情報をResnet-50からの出力と統合して)特徴量情報が生成され、当該特徴量情報がTransformerに入力される。そして、Transformerからは、クラス分類の推定結果に加えて、関節点の座標値の推定結果がさらに出力される。そして、推定モデルのパラメータの調整においては、クラス分類の推定結果と正解ラベルとの照合結果に加えて、この関節点の座標値の推定結果と正解ラベルの照合結果がさらに利用される。以下、詳細に説明する。
【0056】
特徴量情報生成部23は、人物領域画像情報、関節点情報及び関節点座標情報に基づき特徴量情報を生成する。人物領域画像情報及び関節点情報は、第1の実施形態及び第2の実施形態で説明した通りである。
図10では、第1の実施形態で説明した手法で生成した関節点情報が示されているが、第2の実施形態で説明した手法で生成した関節点情報を利用してもよい。
【0057】
関節点座標情報は、関節点情報生成部22により抽出された人物の関節点の座標値、より詳細には、人物領域画像情報生成部21により抽出された人物領域の画像の中における各関節点の座標値を示す。なお、関節点情報と関節点座標情報は、関節点の位置を示す点で共通するが、前者は画像化された情報であり、後者は座標値を示す情報である点で互いに相違する。
【0058】
学習部24は、特徴量情報を入力とし、姿勢の推定結果及び関節点の座標値を出力とする推定モデルを学習する。推定モデルは、自己注意(self-attention)機構を備えたTransformerである。当該推定モデルの詳細は、非特許文献1に開示されているのでここでの説明は省略する。推定モデルは、予め定義されたN個の姿勢(クラス)各々の確信度(処理対象の画像に含まれる人物が各姿勢をとっている確信度)を推定結果として出力する。また、推定モデルは、関節点の座標値を推定結果として出力する。
【0059】
学習部24は、特徴量情報生成部23が生成した特徴量情報を当該推定モデルに入力し、推定結果(クラス分類結果及び関節点の座標値)を得る。そして、学習部24は、クラス分類結果(推定結果)と正解ラベルとの照合結果、及び関節点の座標値(推定結果)と正解ラベルとの照合結果の両方に基づき、推定モデルのパラメータを調整する。当該学習処理は、従来技術に基づき実現することができる。
【0060】
本実施形態の学習装置20のその他の構成は、第1及び第2の実施形態と同様である。
【0061】
本実施形態の学習装置20によれば、第1及び第2の実施形態と同様の作用効果が実現される。また、関節点の座標値の推定結果をも推定モデルの学習に利用する本実施形態の学習装置20によれば、推定精度が向上する。
【0062】
<第4の実施形態>
本実施形態の姿勢推定装置10は、第1乃至第3の実施形態で説明した学習装置20により学習された推定モデルを用いて、処理対象の画像に含まれる人物の姿勢を推定する機能を有する。
【0063】
図11に、姿勢推定装置10の機能ブロック図の一例を示す。図示するように、姿勢推定装置10は、人物領域画像情報生成部11と、関節点情報生成部12と、特徴量情報生成部13と、推定部14とを有する。
【0064】
人物領域画像情報生成部11は、第1乃至第3の実施形態で説明した人物領域画像情報生成部21と同様の処理を実行する。関節点情報生成部12は、第1乃至第3の実施形態で説明した関節点情報生成部22と同様の処理を実行する。特徴量情報生成部13は、第1乃至第3の実施形態で説明した特徴量情報生成部23と同様の処理を実行する。
【0065】
推定部14は、第1乃至第3の実施形態で説明した学習装置20により学習された推定モデルに基づき、処理対象の画像に含まれる人物の姿勢を推定する。特徴量情報生成部13により生成された特徴量情報を当該推定モデルに入力することで、予め定義されたN個の姿勢(クラス)各々の確信度(処理対象の画像に含まれる人物が各姿勢をとっている確信度)が推定結果として得られる。推定部14は、この推定結果に基づき、処理対象の画像に含まれる人物の姿勢を推定する。例えば、推定部14は、最も確信度が高い姿勢を、処理対象の画像に含まれる人物の姿勢と推定してもよいし、その他の手法で推定してもよい。
【0066】
次に、
図12のフローチャートを用いて、姿勢推定装置10の処理の流れの一例を説明する。
【0067】
姿勢推定装置10は、処理対象の画像を取得すると(S20)、処理対象の画像の中から人物領域を抽出し、抽出した人物領域の画像に基づき人物領域画像情報(R画像、G画像及びB画像)を生成する(S21)。処理対象の画像は、静止画像や、動画像の1フレーム分の画像等である。また、姿勢推定装置10は、処理対象の画像の中から人物の関節点を抽出し、抽出した関節点に基づき関節点情報(M個の関節点位置画像)を生成する(S22)。なお、S21及びS22の処理順は、
図12に示す順でもよいし、逆でもよい。また、S21及びS22の処理は、並行して行われてもよい。
【0068】
次に、姿勢推定装置10は、S21で生成された人物領域画像情報及びS22で生成された関節点情報の両方に基づき特徴量情報を生成する(S23)。具体的には、姿勢推定装置10は、R画像、G画像、B画像及びM個の関節点位置画像を畳み込んで特徴量マップ(特徴量情報)を生成する。
【0069】
次いで、姿勢推定装置10は、S23で生成された特徴量情報と、第1乃至第3の実施形態で説明した学習装置20により学習された推定モデルとに基づき、処理対象の画像に含まれる人物の姿勢を推定する(S24)。具体的には、姿勢推定装置10は、S23で生成された特徴量情報を、上記推定モデルに入力する。当該推定モデルは、予め定義されたN個の姿勢(クラス)各々の確信度(処理対象の画像に含まれる人物が各姿勢をとっている確信度)を推定結果として出力する。姿勢は、例えば、転倒、しゃがむ、座る、立つ、歩行、頭を抱える、手を向ける、腕を振る等が例示されるが、これらに限定されない。姿勢推定装置10は、この推定結果に基づき、処理対象の画像に含まれる人物の姿勢を推定する。例えば、姿勢推定装置10は、最も確信度が高い姿勢を、処理対象の画像に含まれる人物の姿勢と推定してもよいし、その他の手法で推定してもよい。
【0070】
なお、図示しないが、姿勢の推定結果がディスプレイ等の表示装置に表示されてもよい。表示装置は、姿勢の推定結果の他、カメラが撮像した画像・映像、人物領域の画像、抽出された関節点を示す画像、ヒートマップ等を表示してもよい。また、姿勢の推定結果を、カメラが撮像した画像・映像、人物領域の画像、抽出された関節点を示す画像、ヒートマップ等の上に重畳表示してもよい。
【0071】
次に、姿勢推定装置10のハードウエア構成の一例を説明する。
図2は、姿勢推定装置10のハードウエア構成例を示す図である。姿勢推定装置10が備える各機能部は、任意のコンピュータのCPU(Central Processing Unit)、メモリ、メモリにロードされるプログラム、そのプログラムを格納するハードディスク等の記憶ユニット(あらかじめ装置を出荷する段階から格納されているプログラムのほか、CD(Compact Disc)等の記憶媒体やインターネット上のサーバ等からダウンロードされたプログラムをも格納できる)、ネットワーク接続用インターフェイスを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。
【0072】
図2に示すように、姿勢推定装置10は、プロセッサ1A、メモリ2A、入出力インターフェイス3A、周辺回路4A、バス5Aを有する。周辺回路4Aには、様々なモジュールが含まれる。姿勢推定装置10は、周辺回路4Aを有さなくてもよい。なお、姿勢推定装置10は物理的及び/又は論理的に分かれた複数の装置で構成されてもよいし、物理的及び論理的に一体となった1つの装置で構成されてもよい。前者の場合、姿勢推定装置10を構成する複数の装置各々が上記ハードウエア構成を備えることができる。
【0073】
以上説明した、本実施形態の姿勢推定装置10は、クラス分類を実行する前に人物領域画像情報及び関節点情報を畳み込んで特徴量情報を生成し、当該特徴量情報を用いてクラス分類を実行するという特徴的な処理を実行する。このような姿勢推定装置10によれば、以下の検証結果で示すように、姿勢推定の精度が向上する。
【0074】
<検証結果>
図13に、実施例1及び2、比較例1乃至3の検証結果を示す。横軸は学習人数(学習した画像の数)であり、縦軸は認識精度(%)である。
【0075】
実施例1は、第1の実施形態で説明した手法で推定モデルを学習した例である。
実施例2は、第2の実施形態で説明した手法で推定モデルを学習した例である。
比較例1は、関節点情報を利用せず、人物領域画像情報のみで推定モデルを学習した例である。
比較例2は、人物領域画像情報を利用せず、関節点情報のみで推定モデルを学習した例である。
比較例3は、特許文献1に開示の手法に対応する例である。具体的には、関節点情報を利用せず、人物領域画像情報のみで学習した推定モデルで得られたクラス分類結果と、人物領域画像情報を利用せず、関節点情報のみで学習した推定モデルで得られたクラス分類結果とを統合する例である。
【0076】
図13に示すように、学習人数の大小に関わらず、実施例1及び2は、比較例1乃至3よりも高い認識精度が得られている。そして、比較例1乃至3は、学習人数が少ないと認識精度が著しく低下するが、実施例1及び2は、学習人数が少ない場合でもある程度高い認識精度が得られている。そして、学習人数が少ない場合の実施例1及び2と、比較例1乃至3との認識精度の差は、顕著なものとなっている。
【0077】
また、
図13より、実施例2の方が実施例1よりも高い認識精度が得られることが分かる。
【0078】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【0079】
なお、本明細書において、「取得」とは、ユーザ入力に基づき、又は、プログラムの指示に基づき、「自装置が他の装置や記憶媒体に格納されているデータを取りに行くこと(能動的な取得)」、たとえば、他の装置にリクエストまたは問い合わせして受信すること、他の装置や記憶媒体にアクセスして読み出すこと等、および、ユーザ入力に基づき、又は、プログラムの指示に基づき、「自装置に他の装置から出力されるデータを入力すること(受動的な取得)」、たとえば、配信(または、送信、プッシュ通知等)されるデータを受信すること、また、受信したデータまたは情報の中から選択して取得すること、及び、「データを編集(テキスト化、データの並び替え、一部データの抽出、ファイル形式の変更等)などして新たなデータを生成し、当該新たなデータを取得すること」の少なくともいずれか一方を含む。
【0080】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下に限られない。
1. 画像の中から人物領域を抽出し、抽出した前記人物領域の画像に基づき人物領域画像情報を生成する人物領域画像情報生成手段と、
前記画像の中から人物の関節点を抽出し、抽出した前記関節点に基づき関節点情報を生成する関節点情報生成手段と、
前記人物領域画像情報及び前記関節点情報の両方に基づき特徴量情報を生成する特徴量情報生成手段と、
前記特徴量情報を入力とし、姿勢の推定結果を出力とする推定モデルに基づき、前記画像に含まれる人物の姿勢を推定する推定手段と、
を有する姿勢推定装置。
2. 前記関節点情報生成手段は、
人物のM個の関節点を抽出し、
各々がM個の関節点各々に対応し、各々がM個の関節点各々の位置を示す複数の関節点位置画像を前記関節点情報として生成する1に記載の姿勢推定装置。
3. 前記関節点の位置に対応した座標のスコア、及びその他の座標のスコアが予め固定値で定義されており、
前記関節点情報生成手段は、
各座標の前記スコアをヒートマップで表した前記関節点位置画像を生成する2に記載の姿勢推定装置。
4. 前記関節点の位置に対応した座標のスコア、及び前記関節点の位置に対応した座標の値からその他の座標のスコアを算出する演算式が予め定義されており、
前記関節点情報生成手段は、
前記関節点の位置に対応した座標の値と前記演算式に基づき、前記その他の座標のスコアを算出し、
各座標の前記スコアをヒートマップで表した前記関節点位置画像を生成する2に記載の姿勢推定装置。
5. 前記演算式は、
前記関節点の位置に対応した座標のx座標値からその他の座標のスコアを算出する第1の演算式と、前記関節点の位置に対応した座標のy座標値からその他の座標のスコアを算出する第2の演算式とを有し、
前記関節点情報生成手段は、
前記関節点の位置に対応した座標のx座標値と前記第1の演算式に基づき前記その他の座標のスコアを算出し、各座標の前記スコアをヒートマップで表した第1の関節点位置画像を前記関節点位置画像として生成するとともに、
前記関節点の位置に対応した座標のy座標値と前記第2の演算式に基づき前記その他の座標のスコアを算出し、各座標の前記スコアをヒートマップで表した第2の関節点位置画像を前記関節点位置画像として生成する4に記載の姿勢推定装置。
6. 前記物領域画像情報生成手段は、
人物検出処理の結果、又は関節点抽出処理の結果を用いて、前記画像の中から前記人物領域を抽出する1から5のいずれかに記載の姿勢推定装置。
7. 前記推定モデルは、自己注意機構を含む1から6のいずれかに記載の姿勢推定装置。
8. コンピュータが、
画像の中から人物領域を抽出し、抽出した前記人物領域の画像に基づき人物領域画像情報を生成し、
前記画像の中から人物の関節点を抽出し、抽出した前記関節点に基づき関節点情報を生成し、
前記人物領域画像情報及び前記関節点情報の両方に基づき特徴量情報を生成し、
前記特徴量情報を入力とし、姿勢の推定結果を出力とする推定モデルに基づき、前記画像に含まれる人物の姿勢を推定する姿勢推定方法。
9. コンピュータを、
画像の中から人物領域を抽出し、抽出した前記人物領域の画像に基づき人物領域画像情報を生成する人物領域画像情報生成手段、
前記画像の中から人物の関節点を抽出し、抽出した前記関節点に基づき関節点情報を生成する関節点情報生成手段、
前記人物領域画像情報及び前記関節点情報の両方に基づき特徴量情報を生成する特徴量情報生成手段、
前記特徴量情報を入力とし、姿勢の推定結果を出力とする推定モデルに基づき、前記画像に含まれる人物の姿勢を推定する推定手段、
として機能させるプログラム。
10. 画像の中から人物領域を抽出し、抽出した前記人物領域の画像に基づき人物領域画像情報を生成する人物領域画像情報生成手段と、
前記画像の中から人物の関節点を抽出し、抽出した前記関節点に基づき関節点情報を生成する関節点情報生成手段と、
前記人物領域画像情報及び前記関節点情報の両方に基づき特徴量情報を生成する特徴量情報生成手段と、
前記特徴量情報を入力とし、姿勢の推定結果を出力とする推定モデルを学習する学習手段と、
を有する学習装置。
【符号の説明】
【0081】
10 姿勢推定装置
11 人物領域画像情報生成部
12 関節点情報生成部
13 特徴量情報生成部
14 推定部
20 学習装置
21 人物領域画像情報生成部
22 関節点情報生成部
23 特徴量情報生成部
24 学習部
1A プロセッサ
2A メモリ
3A 入出力I/F
4A 周辺回路
5A バス