IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

<>
  • 特許-骨格推定装置及びプログラム 図1
  • 特許-骨格推定装置及びプログラム 図2
  • 特許-骨格推定装置及びプログラム 図3
  • 特許-骨格推定装置及びプログラム 図4
  • 特許-骨格推定装置及びプログラム 図5
  • 特許-骨格推定装置及びプログラム 図6
  • 特許-骨格推定装置及びプログラム 図7
  • 特許-骨格推定装置及びプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-18
(45)【発行日】2023-07-26
(54)【発明の名称】骨格推定装置及びプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20230719BHJP
【FI】
G06T7/00 660B
G06T7/00 350C
【請求項の数】 7
(21)【出願番号】P 2020120949
(22)【出願日】2020-07-14
(65)【公開番号】P2022018017
(43)【公開日】2022-01-26
【審査請求日】2022-07-07
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【弁理士】
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【弁理士】
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】徐 建鋒
(72)【発明者】
【氏名】田坂 和之
【審査官】堀井 啓明
(56)【参考文献】
【文献】特開2019-016106(JP,A)
【文献】特開2020-042476(JP,A)
【文献】Gedas Bertasius, Christoph Feichtenhofer, Du Tran, Jianbo Shi, Lorenzo,Learning Temporal Pose Estimation from Sparsely-Labeled Videos,arXiv:1906.04016v3,米国,Cornell University,2019年12月11日,pp.1-12,https://arxiv.org/abs/1906.04016
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
映像上の2つ以上の連続時刻フレームを読み込んで、当該連続時刻内の特定時刻のフレームについて所定関節に該当する信頼度マップを出力する、深層学習ネットワークを利用した骨格推定装置であって、
前記連続時刻フレームの各々を静止画として解析することにより、前記連続時刻フレームの各々についての前記所定関節に該当するヒートマップを出力する第1ネットワークと、
前記連続時刻の各々におけるヒートマップと、前記特定時刻におけるヒートマップと、の2つのヒートマップを入力として対比して解析することにより、前記連続時刻の各々からの前記特定時刻へのヒートマップの変動を考慮して推定したものとして、前記特定時刻フレームについて前記所定関節に該当するワープトヒートマップを出力する第2ネットワークと、
前記連続時刻の各々から推定した前記特定時刻フレームのワープトヒートマップの各々について、可変重みを算出したうえで、当該可変重みを用いて各ワープトヒートマップを統合したものとして、前記特定時刻のフレームについて前記所定関節に該当する信頼度マップを出力する統合部と、を備え、
前記可変重みは、前記連続時刻の各々から推定されたワープトヒートマップを入力として、アテンション機構により算出されることを特徴とする骨格推定装置。
【請求項2】
前記アテンション機構のネットワーク構成は、入力側から始まる順番で少なくとも、第1全結合層、第1活性化層及び第2活性化層を有するものとして構成されていることを特徴とする請求項1に記載の骨格推定装置。
【請求項3】
前記アテンション機構のネットワーク構成はさらに、前記第1全結合層よりも入力側にプーリング層を有するものとして構成されていることを特徴とする請求項2に記載の骨格推定装置。
【請求項4】
前記アテンション機構のネットワーク構成はさらに、前記第1活性化層と前記第2活性化層との間に第2全結合層を有するものとして構成されていることを特徴とする請求項2または3に記載の骨格推定装置。
【請求項5】
前記アテンション機構は、前記連続時刻の各々から推定されたワープトヒートマップに加えてさらに、前記第1ネットワークが出力する前記連続時刻の各々におけるヒートマップを入力とすることを特徴とする請求項1ないし4のいずれかに記載の骨格推定装置。
【請求項6】
前記第1ネットワークと前記第2ネットワークとの間に配置され、
前記連続時刻の各々におけるヒートマップを入力として可変重みを算出したうえで、当該可変重みを各ヒートマップに乗じたものとして、前記連続時刻の各々における重みづけヒートマップを出力する第2アテンション機構をさらに備え、
前記第2ネットワークは、前記2つのヒートマップを入力として対比して解析することを、前記第2アテンション機構により出力された重みづけヒートマップを用いて行うことを特徴とする請求項1ないし5のいずれかに記載の骨格推定装置。
【請求項7】
コンピュータを請求項1ないし6のいずれかに骨格推定装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時間軸情報を活用して映像から骨格抽出を行うことができる骨格推定装置及びプログラムに関する。
【背景技術】
【0002】
非特許文献1に開示されるOpenPoseを始め、近年、沢山の骨格抽出技術が開発されており、この技術により静止画に映った人物の全身骨格を抽出できる。一般的に、骨格抽出技術は非特許文献1のようなボトムアップ方式と非特許文献2のようなトップダウン方式に分類することができる。例えば、非特許文献2のHRNet(高解像度ネット)では、画像から検出した人物のバウンディングボックス(Bounding box)毎に全身の骨格を抽出する。ただし、ボトムアップ方式及びトップダウン方式のいずれも、各関節のヒートマップ(Heatmap)から関節位置及び推定信頼度を式(1A),(1B)で推定する。
【0003】
【数1】
【0004】
式(1A),(1B)において、H(x,y)はヒートマップ(所定の関節種別ごとに定義されるヒートマップのうち、ある任意の1つの関節に関するヒートマップ)であり、x,yは当該ヒートマップに対応する静止画の座標であり、W,Hは当該ヒートマップ及び対応する静止画における横、縦のサイズである。各関節のヒートマップH(x,y)はすなわち、骨格抽出の対象となる静止画の各画素位置(x,y)において、当該位置(x,y)が当該種類の関節に該当する信頼度をマップとして与えたものである。ヒートマップH(x,y)を参照して式(1A)により、信頼度値が最大となる位置Pを当該関節の位置として推定し、式(1B)により、当該最大値となる位置Pの関節の信頼度fを推定することができる。
【0005】
一方、骨格抽出に関して映像を対象とする場合、前記静止画の骨格抽出技術を用いて各フレームから独立に人物の骨格を抽出できる。ただし、映像に撮影されている骨格抽出対象となる人物の動きにより画像がボケることや、人物の一部が隠れることといった課題があるため、骨格抽出精度が落ちる。
【0006】
そこで、映像の時間軸情報を活用して骨格抽出の精度向上を図る技術が開発された。例えば、最先端技術の一つとして非特許文献3の技術では、複数枚のフレームを入力として、あるフレームで見えない関節でも別のフレームで見えることにより推定できることや、あるいは、あるフレームでボケている関節でも別のフレームではボケていないことにより推定できることが起こりうることを利用して、精度を向上させている。
【0007】
非特許文献3では具体的に、図1に示すような深層学習によるネットワーク構造により骨格抽出を行っている。図1の従来構成ネットワーク(NW)200は、第1のネットワークNW1、第2のネットワークNW2及び統合ユニットFUで構成され、この順番で処理を行うことにより、入力フレーム映像F(時刻tを中心とした5つの時刻t-2,t-1,t,t+1,t+2のフレーム群で構成される)より、中心時刻tにおける各関節のヒートマップを統合ヒートマップFHとして出力するものである。
【0008】
従来構成NW200では具体的に、入力フレーム映像Fの各フレームに対して、第1のネットワークNW1において非特許文献2のHRNetを適用することで、静止画としての各フレームに関する各関節のヒートマップPHを生成する。次いで、第2のネットワークNW2において、中心時刻tのフレームの関節位置に合わせて変形させるワープトヒートマップ(Warped heatmap)WHをポーズワーパー(PoseWarper)で生成する。最後に、統合ユニットFUにおいて、中心時刻tのフレームを含む全部で5時刻分のワープトヒートマップWHを統合し、統合ヒートマップFHを生成する。この統合ヒートマップFHは、中心時刻tのヒートマップを時間軸情報も考慮して推定したものに相当し、統合ヒートマップFHを参照して前述の式(1A),(1B)により、中心時刻tのフレームの各関節位置及びその信頼度を推定することができる。
【先行技術文献】
【非特許文献】
【0009】
【文献】Z. Cao, G. Hidalgo Martinez, T. Simon, S.Wei, and Y. A. Sheikh. Openpose: Realtime multi-person 2d pose estimation using part affinity fields. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2019.
【文献】Ke Sun, Bin Xiao, Dong Liu, and JingdongWang. Deep high-resolution representation learning for human pose estimation. In CVPR, 2019.
【文献】Gedas Bertasius, Christoph Feichtenhofer, Du Tran, Jianbo Shi, and Lorenzo Torresani. Learning temporal pose estimation from sparsely-labeled videos. In Advances in Neural Information Processing Systems 32, pages 3027-3038, 2019.
【文献】Vaswani A, Shazeer N, Parmar N, Uszkoreit J, Jones L, Gomez AN, Kaiser L, Polosukhin I. Attention is all you need. InAdvances in neural information processing systems 2017 (pp. 5998-6008).
【文献】Chen L, Zhang H, Xiao J, Nie L, Shao J, Liu W, Chua TS. Sca-cnn: Spatial and channel-wise attention in convolutional networks for image captioning. In Proceedings of the IEEE conference on computer vision and pattern recognition 2017 (pp. 5659-5667).
【文献】Du W, Wang Y, Qiao Y. Recurrent spatial-temporal attention network for action recognition in videos. IEEE Transactions on Image Processing. 2017 Nov 29;27(3):1347-60.
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、上記の従来技術の骨格抽出は、時間軸情報の活用が必ずしも十分ではないという課題があった。具体的に、図1の従来構成NW200の統合ユニットFUでは、以下の式(2)の重みづけ平均により、5時刻分のワープトヒートマップWHを統合し、統合ヒートマップFHを生成していた。
【0011】
【数2】
【0012】
式(2)にて、右辺のw(i)は第i(i=t-2,t-1,t,t+1,t+2)時刻のフレームに対する重みであり、Hi(x,y)は統合対象となる第iフレームのワープトヒートマップWHであり、左辺のH(x,y)は統合ヒートマップFHである。従来技術(非特許文献3)では、式(2)の重みw(i) (i=t-2,t-1,t,t+1,t+2)として以下の式(3)に示されるように、固定重みを設定して利用している。
【0013】
【数3】
【0014】
従来技術では、このような固定重みw(i)を用いていることにより、時間軸情報の活用が不十分であった。すなわち、映像において対象時刻tの周辺の複数フレームを利用して骨格抽出を行う場合には、現実的には各フレームにおける各関節の撮影状態がその都度変化することとなるが、固定重みw(i)ではこのような変化に適切に対処することができない。例えば、時刻t-2のフレームにおいてある関節が隠れておらず、その他の時刻のフレームと比較して明瞭に見えている場合には、時刻t-2のフレームの重みを増やした方が、最終的な関節位置の推定精度を高めることができる。逆に例えば、時刻t-2のフレームにおいてある関節が隠れており、その他の時刻のフレームでは隠れていない場合には、時刻t-2のフレームの重みを減らした方が、最終的な関節位置の推定精度を高めることができる。しかしながら、固定重みw(i)を利用する場合、このようにその都度変化する状況に対処することができない。
【0015】
本発明は、上記従来技術の課題に鑑み、時間軸情報を活用して映像から骨格推定を行うことができる骨格推定装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0016】
上記目的を達成するため、本発明は、映像上の2つ以上の連続時刻フレームを読み込んで、当該連続時刻内の特定時刻のフレームについて所定関節に該当する信頼度マップを出力する、深層学習ネットワークを利用した骨格推定装置であって、前記連続時刻フレームの各々を静止画として解析することにより、前記連続時刻フレームの各々についての前記所定関節に該当するヒートマップを出力する第1ネットワークと、前記連続時刻の各々におけるヒートマップと、前記特定時刻におけるヒートマップと、の2つのヒートマップを入力として対比して解析することにより、前記連続時刻の各々からの前記特定時刻へのヒートマップの変動を考慮して推定したものとして、前記特定時刻フレームについて前記所定関節に該当するワープトヒートマップを出力する第2ネットワークと、前記連続時刻の各々から推定した前記特定時刻フレームのワープトヒートマップの各々について、可変重みを算出したうえで、当該可変重みを用いて各ワープトヒートマップを統合したものとして、前記特定時刻のフレームについて前記所定関節に該当する信頼度マップを出力する統合部と、を備え、前記可変重みは、前記連続時刻の各々から推定されたワープトヒートマップを入力として、アテンション機構により算出されることを特徴とする。また、コンピュータを前記骨格推定装置として機能させるプログラムであることを特徴とする。
【発明の効果】
【0017】
本発明によれば、時間軸上に対してアテンション機構を利用することにより入力映像の時間軸情報を適切に反映したものとして可変重みを算出し、この可変重みによりワープトヒートマップを統合して最終的なヒートマップを得るので、時間軸情報を十分に活用して骨格推定を行うことができる。
【図面の簡単な説明】
【0018】
図1】従来技術の骨格抽出におけるネットワーク構造を示す図である。
図2】一実施形態に係る骨格推定装置のネットワーク構造を示す図である。
図3】アテンションモジュールの深層学習ネットワーク構造の一実施形態を機能ブロックとして示す図である。
図4】、図3のアテンションモジュール内における各要素処理を説明するための模式例を3つの例に分けてそれぞれ示す図である。
図5図2のネットワーク構造の第1変形例としての骨格推定装置の構成例を示す図である。
図6図2のネットワーク構造の第2変形例としての骨格推定装置の構成例を示す図である。
図7図5の変形例と、図6の変形例との組み合わせで構成される変形例も可能なことを説明するための図である。
図8】一般的なコンピュータにおけるハードウェア構成例を示す図である。
【発明を実施するための形態】
【0019】
図2は、一実施形態に係る骨格推定装置のネットワーク構造を示す図である。骨格推定装置100は深層学習によるネットワーク構造で構成され、機能ブロック構成として、第1ネットワーク10、第2ネットワーク20、アテンション適用部30及び統合部40を備える。なお、図2では、ネットワーク構造による処理の流れを明確に示す観点から、これらの機能ブロック(及び深層学習ネットワークの構成要素)としての各部10,20,30,40の間に、入出力されるデータも符号を付して模式的に示している。(ただし、機能ブロック30,40間では当該データの模式的な図示は省略しているが、ここで扱われるデータの詳細は後述する。)
【0020】
図2に示す一実施形態に係る骨格推定装置100は、図1の従来構成ネットワーク200における統合ユニットFUの重みw(i)を固定的なものではなく、入力映像に応じた可変的な重みとして適用するように、従来構成ネットワーク200を改良したものに相当する。一実施形態では、骨格推定装置100における第1ネットワーク10及び第2ネットワーク20はそれぞれ、従来構成ネットワーク200における第1のネットワークNW1及び第2のネットワークNW2と共通のものとしてよく、骨格推定装置100におけるアテンション適用部30及び統合部40を、従来構成ネットワーク200における統合ユニットFUの処理を改良して、重みw(i)を可変的に適用する処理を行う機能ブロックとすることができる。
【0021】
骨格推定装置100の全体的な処理は従来構成ネットワーク200と同様であり、入力として、例えば映像における連続した5つの時刻のフレーム{F(i)|i=t-2,t-1,t,t+1,t+2}を読み込むことにより時間軸情報を考慮したうえで、その中央の時刻t(映像上の任意の時刻t=1,2,3,…に相当する)のフレームF(t)に対するヒートマップとしての統合ヒートマップFH(t)を出力する処理を行う。以下、入力フレーム群に対してこの順番で処理を行う骨格推定装置100の各部10,20,30,40の詳細を説明する。
【0022】
第1ネットワーク10は、5つの時刻のフレームF(i)(i=t-2,t-1,t,t+1,t+2)のそれぞれを静止画として読み込み、対応するヒートマップPH(i)(i=t-2,t-1,t,t+1,t+2)をそれぞれ出力する5つの高解像度ネット(HRNet)HR-k(k=1,2,3,4,5)を備えて構成される。(例えば、k=1の高解像度ネットHR-1は時刻i=t-2のフレームF(t-2)を入力として、時刻i=t-2のヒートマップPH(t-2)を出力する。なお、以下の説明でもこの表記と同様にして、変数文字k及びiによりそれぞれ、k番目の機能ブロックとしてのネットワーク構成及びこれにより処理される時刻iのデータを参照するものとする。)
【0023】
なお、図2では、5つの各時刻フレームF(i)(i=t-2,t-1,t,t+1,t+2)についてそれぞれ処理を行うことを明確化するために、5つの高解像度ネットHR-k(k=1,2,3,4,5)を区別して描いているが、これら5つの高解像度ネットHR-k(k=1,2,3,4,5)は共通のネットワーク構造及び事前学習により設定されるパラメータを有するものとして構成することができる。すなわち、各フレームF(i)から各ヒートマップPH(i)を得る処理は共通のものとすることができる。
【0024】
共通処理を行う5つの高解像度ネットHR-k(k=1,2,3,4,5)には、非特許文献2,3で利用されているHRNetと同様の構成の深層学習ネットワークを用いることができる。
【0025】
第2ネットワーク20は、第1ネットワーク10の出力である各時刻iに対応する5つのヒートマップPH(i)(i=t-2,t-1,t,t+1,t+2)を読み込み、各時刻iのワープトヒートマップWH(i)(i=t-2,t-1,t,t+1,t+2)をそれぞれ出力する5つのポーズワーパーPW-k(k=1,2,3,4,5)を備えて構成される。
【0026】
各ポーズワーパーPW-k(k=1,2,3,4,5)がそれぞれ出力する時刻iのワープトヒートマップWH(i) (i=t-2,t-1,t,t+1,t+2)とは、骨格推定対象となる中央時刻tの骨格のヒートマップを、時刻iのヒートマップPH(i)と、当該中央時刻tのヒートマップPH(t)と、を入力として得たものである。すなわち、各ポーズワーパーPW-kは、(1)対応時刻iのヒートマップPH(i)と、(2)中央時刻tのヒートマップPH(t)と、の2つのヒートマップを入力として読み込むことにより、時間軸情報として時刻i,tの2つの時刻の情報を利用することで対応時刻iとの対比による推定処理も行ったものとして、中央時刻tでのヒートマップとしてのワープトヒートマップWH(i)を出力する処理を行う。
【0027】
こうして、各ポーズワーパーPW-kは中央時刻tでのヒートマップとしてのワープトヒートマップWH(i)を、対応時刻iのヒートマップPH(i)と中央時刻tのヒートマップPH(t)とを対比することにより、時刻iから中央時刻tへと至る際のヒートマップPH(i)からヒートマップPH(t)へのヒートマップの変動(ワープ(warp)、移動したり変形したりすることや、見えなくなることも含む)も考慮したものとして、中央時刻tでのヒートマップとしてのワープトヒートマップWH(i)を推定することができる。
【0028】
従って、第1ネットワーク10では時間軸情報を考慮しない処理を行うのに対し、第2ネットワーク20では時間軸情報を考慮した処理を行うという処理形式上の相違がある。すなわち、第1ネットワーク10内の各々の高解像度ネット(HRNet)HR-k(k=1,2,3,4,5)が静止画としての単一フレームF(i)(i=t-2,t-1,t,t+1,t+2)を入力として、時間軸情報を考慮しない形でヒートマップPH(i)(i=t-2,t-1,t,t+1,t+2)をそれぞれ個別に出力するのに対し、第2ネットワーク20内の各ポーズワーパーPW-k(k=1,2,3,4,5)は2時刻分のフレームに対応する2時刻分のヒートマップを入力として用いることにより、時間軸情報を考慮した形で、中央時刻tに関するワープトヒートマップWH(i)(i=t-2,t-1,t,t+1,t+2)を得ている。
【0029】
なお、図2では、図面が煩雑化してしまうことを防止する便宜上、各ポーズワーパーPW-kへの入力データを表す矢印として、上記の(1)及び(2)の2つのうち前者に関する矢印のみを描き、後者に関する矢印を描くのを省略している。(図2の構成の変形例として後述する図5,6及び7においても同様に、描くのを省略しておいる。)
【0030】
例えば、k=1のポーズワーパーPW-1は、2つのヒートマップPH(t-2)及びPH(t)を入力として、これら2つのヒートマップの対比によるヒートマップ間での変動に関する推定処理も行ったものとして、中央時刻tでのヒートマップとしてのワープトヒートマップWH(t-2)を出力する。(従って、ワープトヒートマップWH(t-2)の記号表記に関して、より正確にはWH(t)t-2のように表記することも可能であるが、簡略化してWH(t-2)と表記するものとする。)また、中央時刻tに対応するk=3のポーズワーパーPW-3は、2つのヒートマップPH(t)及びPH(t)(すなわち、同一のヒートマップPH(t))を入力として、これら2つのヒートマップの対比によるヒートマップ間での変動に関する推定処理も行ったものとして、中央時刻tでのヒートマップとしてのワープトヒートマップWH(t)を出力する。(結果として、ワープトヒートマップWH(t)は、ヒートマップPH(t)とほぼ同一のものとして得られることが想定されるものである。)
【0031】
なお、図2では、5つの各時刻のヒートマップPH(i)(i=t-2,t-1,t,t+1,t+2)についてそれぞれ、中央時刻tのヒートマップPH(t)との間で対比したうえで処理を行うことを明確化するために、5つのポーズワーパーPW-k(k=1,2,3,4,5)を区別して描いているが、これら5つのポーズワーパーPW-k(k=1,2,3,4,5)は共通のネットワーク構造及び事前学習により設定されるパラメータを有するものとして構成することができる。すなわち、各ポーズワーパーPW-kにおいて2つのヒートマップPH(i),PH(t)を入力として1つのワープトヒートマップWH(i)を得る処理は共通のものとすることができる。
【0032】
共通処理を行うポーズワーパーPW-k(k=1,2,3,4,5)には、非特許文献3で利用されているPoseWarperと同様の構成の深層学習ネットワークを用いることができる。
【0033】
以上の第1ネットワーク10及び第2ネットワーク20の構成は、前述したように、従来技術としての非特許文献3(図1の従来構成ネットワーク200における第1のネットワークNW1及び第2のネットワークNW2)の構成と同様のものとすることができるが、以下に説明するアテンション適用部30及び統合部40により、5つの各時刻の重みw(i)(i=t-2,t-1,t,t+1,t+2)を従来技術におけるような固定重み(式(3))としてではなく、時間軸情報を考慮した可変重みとして与えて、統合処理(従来技術においては式(2))により中央時刻tに関する統合されたヒートマップFH(t)を得ることができる。具体的に、アテンション適用部30及び統合部40の処理はそれぞれ以下の通りである。
【0034】
アテンション適用部30は、第2ネットワーク20内の5つのポーズワーパーPW-k(k=1,2,3,4,5)がそれぞれ出力したワープトヒートマップWH(i)(i=t-2,t-1,t,t+1,t+2)のそれぞれを入力として読み込み、対応する可変重みw(i) (i=t-2,t-1,t,t+1,t+2)をそれぞれ出力するアテンションモジュールAM-k(k=1,2,3,4,5)と、この可変重みw(i)をワープトヒートマップWH(i)に乗算して可変重みづけされたワープトヒートマップw(i)*WH(i)(図2中では当該データは不図示)をそれぞれ得る乗算器M-k(k=1,2,3,4,5)と、を備えて構成される。
【0035】
なお、図2では、前述のように時間軸情報を考慮した箇所として5つの各時刻が対応している、中央時刻tに関するワープヒートマップWH(i)(i=t-2,t-1,t,t+1,t+2)についてそれぞれ、対応する可変重みw(i)を算出する処理を行うことを明確化するために、5つのアテンションモジュールAM-k(k=1,2,3,4,5)を区別して描いているが、これら5つのアテンションモジュールAM-k(k=1,2,3,4,5)は共通のネットワーク構造及び事前学習により設定されるパラメータを有するものとして構成することができる。すなわち、各アテンションモジュールAM-kにおいて対応時刻iのワープヒートマップWH(i)を入力としてその可変重みw(i)を得る処理は共通のものとすることができる。
【0036】
統合部40は、アテンション適用部30の乗算器M-k(k=1,2,3,4,5)が出力した5つの可変重みづけされたワープトヒートマップw(i)*WH(i)(i=t-2,t-1,t,t+1,t+2)を加算することにより、(すなわち、従来技術における式(2)の加算を、Hi(x,y)=WH(i)であるものとしてアテンション適用部30の可変重み付け出力w(i)*WH(i)(=w(i)*Hi(x,y))に対して行うことにより、)統合された統合されたヒートマップFH(t)を出力する。
【0037】
以下、アテンション適用部30の処理の詳細に関して説明する。
【0038】
図3は、前述のように共通構造を有しているアテンションモジュールAM-k(k=1,2,3,4,5のいずれにおいても共通構造)の深層学習ネットワーク構造の一実施形態を機能ブロックとして示す図である。図3に示すようにアテンションモジュールAM-kはネットワーク構造の要素として、プーリング層31-k、第1全結合層32-k、第1活性化層33-k、第2全結合層34-k、第2活性化層35-kを備え、この順番で処理を行うことにより入力されたワープトヒートマップWH(i)より対応する可変重みw(i)を出力する。
【0039】
本実施形態のアテンションモジュールAM-kは、骨格推定装置100に対して深層学習の技術分野で用いられているアテンション機構(Attention Mechanism)を導入することにより、時間軸方向でのアテンション係数としての可変重みw(i)を出力するように構成されたものである。ここで、深層学習の様々なタスクで利用されているアテンション機構に関して、本実施形態での利用と共に、簡単に説明する。
【0040】
アテンション機構は最初に機械翻訳など様々な自然言語処理のタスクで使われた。例えば、前掲の非特許文献4では、Seq2Seqと呼ばれる自然言語処理などで使用されるリカレントニューラルネットワークベースのモデルに対してアテンション機構を組み込んでいる。アテンション機構は、どこの言葉を重視すべきかを自動的に学習し、自然言語処理のタスクで性能を向上させる。
【0041】
その後に、前掲の非特許文献5では、アテンション機構を画像キャプション自動生成に適用させた。特に、空間アテンション(Spatial attention)とチャネルアテンション(Channel attention)を導入した。空間アテンションでは、アテンションマスクを通じて、画像中のどの領域に着目しているかがわかる。特徴量マップと同じサイズのアテンションマスクを特徴量マップに掛けることで、重み付き特徴量マップを得ることができる。チャネルアテンションのマスクは、各チャネルをどの程度強調するべきかを表しており、このマスクを元の特徴量マップに掛け合わせることで、注目すべきチャネルを強調した特徴量マップを得ることができる。
【0042】
本実施形態の骨格推定装置100においては、映像信号(すなわち、入力データとしての5つの連続時刻フレームF(i)(i=t-2,t-1,t,t+1,t+2)の時間軸でアテンション機構を適用する。具体的には、バックボーン(Backbone)の畳み込みニューラルネットワークとしての第1ネットワーク10による特徴マップまたは特徴量を抽出して、第2ネットワーク20、アテンション適用部30及び統合部40により、(この中でも特に、アテンションモジュールAM-kにより、)時間軸上においてアテンション機構を骨格推定タスクに対して適用可能としている。
【0043】
なお、映像関連タスクにおけるアテンション機構の適用例として、前掲の非特許文献6では、映像の行動認識のため、バックボーンの畳み込みニューラルネットワークにおいて複数の層(Layer)から抽出した特徴マップ集団を用いてアテンションマップを算出し、当該アテンションマップとバックボーンの畳み込みニューラルネットワークにおいて全結合層(FC Layer)から算出した特徴量を長・短記憶(LSTM)に入力している。(なお、本実施形態の骨格推定装置100は行動認識タスクではなく骨格推定タスクを対象とし、LSTM型ネットワークとは異なるものである。)
【0044】
以下、図3のアテンションモジュールAM-kを構成するネットワーク要素としての各層31-k~35-kに関して順に説明する。図4は、図3のアテンションモジュールAM-k内における各要素処理を説明するための模式例を3つの例EX1~EX3に分けてそれぞれ示す図であり、以下の説明において適宜、この図4の模式例を参照する。
【0045】
プーリング層31-kは、入力されるワープトヒートマップWH(i)(例えば、横×縦のサイズが96×72)に対して最大プーリング(Max pooling)処理を適用してダウンサンプリングすることにより、ダウンサンプリングされた特徴マップを次の第1全結合層32-kへと出力する。例えば、サイズ2×2のフィルタ及びストライド幅2の設定で最大プーリング処理を適用することで、サイズ96×72のワープトヒートマップWH(i)をダウンサンプリングしたサイズ48×36の特徴マップを出力することができる。なお、当該入出力される特徴マップ等のデータのサイズは図3図4内にも記載してあるが、これらは例示としてのサイズである。
【0046】
図4の例EX1では、サイズ2×2のフィルタ及びストライド幅2の設定で最大プーリング処理を適用した例として、データD1(サイズ4×4)を入力としてデータD2(サイズ2×2)が得られる例が示されている。
【0047】
なお、プーリング層31-kは、ダウンサンプリングを行うためのフィルタサイズとストライド幅(すなわち、ハイパーパラメータ)に関して所定設定を予め設けておく必要があるが、学習されるパラメータは存在しない。
【0048】
第1全結合層32-kは、プーリング層31-kで得たダウンサンプリングされた特徴マップ(例えばサイズ48×36)を、各要素の値を変えることなく要素配置を2次元マップから多次元ベクトルへと並び替えて変形(flattening)することにより、特徴マップの要素数と同次元のベクトル(例えば48×36=1728次元のベクトル)としたうえで、当該変形されたベクトルに対して全結合(Fully-Connected)処理を適用することで、さらに低次元化された特徴量(例えば、256次元ベクトルの特徴量)を、次の第1活性化層33-kへと出力する。
【0049】
図4の例EX2では、第1全結合層32-kの上記の処理に関して、上記の例のハイパーパラメータが設定されている場合に関して模式的に示されている。すなわち、データD31として示されるサイズ48×36の特徴マップを変形することにより、データD32として示される1728次元のベクトルを得て、これにさらに全結合処理を適用することで、データD33として示される256次元ベクトルの特徴量が得られる。
【0050】
なお、第1全結合層32-kは、行列積として与えられる全結合処理の行列サイズ分のパラメータを有する。例えば、上記の図4の例EX2のサイズ例の場合であれば、第1全結合層32-kは、1728×256個のパラメータを有し、このパラメータは学習によって最適化され、当該最適化されたパラメータを用いて第1全結合層32-kの処理が実現される。
【0051】
第1活性化層33-kは、第1全結合層32-kが出力した特徴量(ベクトル)の各要素に対して、活性化関数として例えばReLU(ランプ関数、正規化線形関数、正規化線形ユニット)を適用することで、負の値の要素をゼロとし、正の値の要素はそのままの値とした、同次元の活性化された特徴量(ベクトル)を、次の第2全結合層34-kへと出力する。例えば、第1全結合層32-kの出力が256次元ベクトルの特徴量であれば、第1活性化層33-kの出力もこれと同次元の256次元ベクトルの特徴量となる。なお、入力をx(すなわち、xは、第1全結合層32-kの出力ベクトルの各要素である)とするReLU関数は以下の式(4)で与えられる。
ReLU(x)=max(0,x) …(4)
【0052】
第2全結合層34-kは、第1活性化層33-kで得られた活性化された特徴量(例えば256次元の多次元ベクトル)に対して全結合処理を適用することで、1次元の特徴量を得て、これを次の第2活性化層35-kへと出力する。図4の例EX3では、当該サイズ例の場合の第2全結合層34-kの処理が模式的に示され、入力データD41として256次元ベクトルの特徴量に対して全結合処理を適用することで出力データD42として1次元特徴量(1次元ベクトル)が得られることが示されている。
【0053】
第2全結合層34-kは、入力される活性化された特徴量のベクトルの次元数に等しい個数(例えば256個)のパラメータを有し、このパラメータは学習によって最適化され、当該最適化されたパラメータを用いて第2全結合層34-kの処理が実現される。
【0054】
第2活性化層35-kは、第2全結合層34-kが出力した1次元特徴量に活性化関数として例えばシグモイド関数を適用することにより、活性化された1次元特徴量を可変重みw(i)として出力する。入力xに対するシグモイド関数の出力S(x)は以下の式(5)で与えられる。(すなわち、S(x)=w(i)として、第2活性化層35-kは可変重みw(i)を出力することができる。)
【0055】
【数4】
【0056】
以上、図3のアテンションモジュールAM-kの各要素の詳細に関して説明したが、種々の変形も可能である。
【0057】
例えば、プーリング層31-kでは、最大プーリングではなく平均プーリング(average pooling)により、ダウンサンプリングした特徴マップを出力するようにしてもよい。
【0058】
また例えば、図3のネットワーク構成では、第1全結合層32-k及びこれに続く第1活性化33-kのペアは1回しか現れていないが、当該ペアが2回以上連続して現れるようなネットワーク構成を採用してもよい。例えば、2回連続して現れるネットワーク構成を採用する場合、「プーリング層31-k」→「第1全結合層32-k(1回目)」→「第1活性化層33-k(1回目)」→「第1全結合層32-k(2回目)」→「第1活性化層33-k(2回目)」→「第2全結合層34-k」→「第2活性化層35-k」の順番で処理を行うこととなる。なお、当該ペアが2回以上継続して現れる場合、学習されるパラメータも(学習結果により偶然一致する場合を除いて)一般には異なるものとなる。例えば、「第1全結合層32-k(1回目)」と「第1全結合層32-k(2回目)」とは、ネットワーク構造は同じであるが、学習されるパラメータは一般には異なるものとなる。
【0059】
なお、第1全結合層32-k及びこれに続く第1活性化33-kの当該ペアの現れる回数を増やした構成では、パラメータや処理時間は増えるが、同時に精度が向上する可能性がある。
【0060】
また例えば、第2活性化層35-kでは式(5)のシグモイド関数S(x)ではなく、以下の式(6)のtanh関数(双曲線正接関数、既知のようにシグモイド関数S(x)を線形変換したものに相当する)を用いて可変重みw(i)=tanh(x)を出力するようにしてもよい。
【0061】
【数5】
【0062】
ただし、図3のアテンションモジュールAM-kに関して以上のように種々の変形が可能であるが、ネットワーク構成としては、第1全結合層32-k、第1活性化層33-k及び第2活性化層35-kの3層は少なくとも存在するものを採用することが望ましく、最小限の構成として、これら3層のみがこの順番で存在しているような構造を用いてもよい。当該最小限の3層の途中に、図3に示される「入力側→出力側」の順番通りとなるように、プーリング層31-k及び第2全結合層34-kの両方又は片方を追加配置することにより、アテンションモジュールAM-kを構成することも可能である。
【0063】
すなわち、最小限の3層構成にプーリング層31-kを追加配置する場合は、入力側からの順番で「プーリング層31-k」→「第1全結合層32-k」→「第1活性化層33-k」→「第2活性化層35-k」の順に処理が行われる4層で構成されるものとして、アテンションモジュールAM-kを構成すればよい。同様に、最小限の3層構成に第2全結合層34-kを追加配置する場合は、入力側からの順番で「第1全結合層32-k」→「第1活性化層33-k」→「第2全結合層34-k」→「第2活性化層35-k」の順に処理が行われる4層で構成されるものとして、アテンションモジュールAM-kを構成すればよい。
【0064】
以上、図2及び図3に示される実施形態の骨格推定装置100によれば、骨格推定タスクに映像の時間軸上でのアテンション機構を適用して、可変重みw(i)により統合されたヒートマップFH(t)を得ることで、時間軸情報を十分に活用した各関節のヒートマップを得ることができる。
【0065】
以下、種々の補足・追加的な説明を行う。
【0066】
(1) 所与の学習データを用いることにより、深層学習ネットワークとして構成される骨格推定装置100のパラメータを学習する方法は、次のようにすればよい。ロス関数(損失関数)Lossとして、以下の式(7)で定義されるものを利用する。
Loss=MSE(H(x,y)-G(x,y)) …(7)
【0067】
式(7)において、H(x,y)は、学習対象となっている骨格推定装置100(学習の途中のパラメータで構成されるもの)が出力した統合ヒートマップ(すなわち、学習データとしての5時刻の連続フレームを第1ネットワーク10において入力として読み込んで、統合部40から最終的に出力された中央時刻に関する統合ヒートマップ)であり、G(x,y)はこの中央のヒートマップの正解データ(学習データにおいて与えられている)であり、MSEはロス評価関数の一例としての平均二乗誤差(Mean Square Error)であり、既知のように、各画素(x,y)における差分値「H(x,y)-G(x,y)」の二乗和「Σ{H(x,y)-G(x,y)}2」として算出されるものである。
【0068】
上記の式(7)で定義されるロス関数Lossを用いて、非特許文献3で学習済みであるモデルを事前学習(pre-training)モデルとして利用し、既存手法である逆伝播による確率的勾配降下法を使って、図2及び図3に示される骨格推定装置100のパラメータを逐次的に更新しながら学習し、収束判定が得られた際のパラメータを学習結果のパラメータとすることができる。
【0069】
(2) 図2及び図3の骨格推定装置100は、従来技術としての非特許文献3の構成(図1の従来構成NW200)と同様に、所定種類の各関節のそれぞれに関する統合ヒートマップFH(t)を出力するものである。すなわち、ヒートマップを推定する対象となる関節の種類ごとにそれぞれ、図2及び図3の骨格推定装置100が存在することとなるが、これらはネットワーク構造としては共通であり、パラメータのみが互いに異なるものとして存在するものであってよい。パラメータに関しては、推定対象となる関節の種類が異なっていても、部分的に共通のものとしてよい。例えば、第1ネットワーク10、第2ネットワーク20及びアテンション適用部30の各々に関して、最終出力の側を含むネットワーク構造の後段側のパラメータのみ、関節の種類に応じて異なるパラメータとして学習し、これよりも前段側のパラメータは共通のものとして学習するようにしてもよい。
【0070】
(3) 骨格推定装置100におけるアテンション機構の適用に関して、図2の構成からの種々の変形例も以下の(3-1)~(3-3)のように可能である。
【0071】
(3-1) 図5は、図2のネットワーク構造の第1変形例としての骨格推定装置100の構成例を示す図である。図2の構成では、データ入力の流れを表す矢印線L11,L12,L13,L14,L15として示されるように、アテンション適用部30の各アテンションモジュールAM-k(k=1,2,3,4,5)では入力として、第2ネットワーク20が出力したワープトヒートマップWH(i) (i=t-2,t-1,t,t+1,t+2)のみをそれぞれ読み込んでいる。図5の構成ではこの図2の構成例の変形例として、図2及び図5での共通のデータ入力の流れを表す共通符号の矢印線L11,L12,L13,L14,L15に示されるように、第2ネットワーク20が出力したワープトヒートマップW(i) (i=t-2,t-1,t,t+1,t+2)に加えて、図5のみに示されるデータ入力の流れを表す矢印線L21,L22,L23,L24,L25に示されるように、第1ネットワーク10が出力したヒートマップPH(i) (i=t-2,t-1,t,t+1,t+2)も入力として読み込む。
【0072】
すなわち、図5の構成における各アテンションモジュールAM-k(k=1,2,3,4,5)では入力として、第2ネットワーク20が出力したワープトヒートマップWH(i) (i=t-2,t-1,t,t+1,t+2)と、第1ネットワーク10が出力したヒートマップPH(i) (i=t-2,t-1,t,t+1,t+2)との2つのヒートマップをチャネル方向で結合したうえで、読み込む。例えば、ワープトヒートマップWH(i)及びヒートマップPH(i)が共通の横×縦(×1チャネル)のサイズ48x36(x1)で構成される場合、各アテンションモジュールAM-kはこの2つのヒートマップをチャネル方向で結合することにより、サイズ48x36x2の特徴マップ(特徴テンソル)を入力として読み込む。
【0073】
このような図5の構成の場合も、各アテンションモジュールAM-kのネットワーク構造は、図2の構成の場合に関して図3で説明したのと同様の構造を採用することができる。ただし、チャネル方向でのサイズが2となることにより、プーリング層31-k等のハイパーパラメータには適宜の変更を加えるようにすればよい。すなわち、第1全結合層32-kにおいて図4の例EX2として示した変形処理(データD31→データD32の変形処理)を行うため、データD31がチャネル方向のサイズが2以上の特徴テンソルとして構成されていても、これに変形処理を施したデータD32としては多次元ベクトルが得られるため、各アテンションモジュールAM-kでは最終的な出力として1次元の重みw(i)を得ることができる。
【0074】
(3-2) 図6は、図2のネットワーク構造の第2変形例としての骨格推定装置100の構成例を示す図である。図2,6を対比することで理解されるように、図6のネットワーク構造は、図2のネットワーク構造において、第1ネットワーク10と第2ネットワーク20との間に、2つめのアテンション機構としての第2アテンション適用部35を追加した構成である。
【0075】
すなわち、図2の構成においては、第1ネットワーク10が出力するヒートマップPH(i) (i=t-2,t-1,t,t+1,t+2)がそのまま第2ネットワーク20へと入力されるのに対し、図6の構成においては、第1ネットワーク10が出力するヒートマップPH(i) (i=t-2,t-1,t,t+1,t+2)が第2アテンション適用部35に入力されることで第2のヒートマップPH2(i) (i=t-2,t-1,t,t+1,t+2)が出力され、この第2のヒートマップPH2(i)がそれぞれ、第2ネットワーク20に入力されることで、ワープトヒートマップWH(i) (i=t-2,t-1,t,t+1,t+2)が出力される。
【0076】
なお、図2の構成に関して既に説明した通り、ワープトヒートマップWH(i)は2時刻のフレームを対比することで時間軸情報を反映するものであるため、図6の構成においても同様に、第2ネットワーク20を構成する各ポーズワーパーPW-k(k=1,2,3,4,5)は、(1)対応時刻iの第2のヒートマップPH2(i)と、(2)中央時刻tの第2のヒートマップPH2(t)と、の2つのヒートマップを入力として読み込むことにより、時間軸情報として時刻i,tの2つの時刻の情報を利用することで対応時刻iから中央時刻tに至る際の2つのヒートマップ間での変動に関する推定処理も行ったものとして、中央時刻tでのヒートマップとしてのワープトヒートマップWH(i)を出力する処理を行う。(図6でも図2と同様に、図面煩雑化を防止する便宜上、各ポーズワーパーPW-kへの入力データを表す矢印として、上記の(1)及び(2)の2つのうち前者に関する矢印のみを描き、後者に関する矢印を描くのを省略している。)
【0077】
図6に示されるように、第2アテンション適用部35は各ヒートマップPH(i) (i=t-2,t-1,t,t+1,t+2)を入力として対応する第2の可変重みw2(i)( i=t-2,t-1,t,t+1,t+2)を出力する各アテンションモジュールAM-1k(k=1,2,3,4,5)と、当該第2の可変重みw2(i)及びヒートマップPH(i)を乗算して重みづけされた第2のヒートマップPH2(i)を「PH2(i)=w2(i)*PH(i)」として得る乗算器M-1k(k=1,2,3,4,5)と、を備えて構成される。
【0078】
すなわち、入出力するデータ(及び学習されるパラメータ)は異なるが、図6の第2アテンション適用部35は、図2及び図6のアテンション適用部30と同一構造のネットワークである。従って、各アテンションモジュールAM-1k(k=1,2,3,4,5)は各アテンションモジュールAM-k(k=1,2,3,4,5)と同一構造であり、且つ、各乗算器M-1k(k=1,2,3,4,5)は各乗算器M-k(k=1,2,3,4,5)と同一処理を行うものであるため、重複した説明は省略する。
【0079】
(3-3) 図7は、以上の図5の変形例と、図6の変形例との組み合わせで構成される変形例も可能なことを説明するための図であり、図面の煩雑化を避ける便宜上、5つの連続時刻フレームを対象として処理を行う骨格推定装置100のうち、1フレームF(t-2)に関する処理の部分のみを抽出して、且つ、5連続のフレームを統合する統合部40に関しては図示を省略して示したものである。(すなわち、その他の4フレームF(t-1),F(t),F(t+1),F(t+2)に関しても、図7の構成と同様に処理することができ、アテンション適用部30の出力は図示が省略された統合部40へと入力される。)
【0080】
図7の構成では、図6の構成のように第2アテンション適用部35を追加で備えたうえでさらに、図5の構成と類似した入力として、1つ目のアテンション適用部30に対して、線L11で示されるワープトヒートマップWH(t-2)を第1入力とし、且つ、線L31で示されるように、第1ネットワーク10の出力したヒートマップPH(t-2)を第2入力として入力することができる。
【0081】
すなわち、図7の構成において、1つ目のアテンション適用部30では、アテンションモジュールAM-1への入力として、第1入力としての線L11のワープトヒートマップWH(t-2)と、第2入力としての線L31のヒートマップPH(t-2)と、の2つのヒートマップを結合したものを入力とすることができる。なお、図7の構成から線L31の第2入力を省略したものが図6の構成である。
【0082】
なお、図7の構成のアテンション適用部30において2入力を用いる場合のチャネル方向での結合処理等は、図5で説明したのと同様であるため、重複する説明は省略する。
【0083】
(4) 以上の説明では、骨格推定装置100への入力フレーム群は、説明例として、映像における5つの連続時刻フレーム(映像内の連続時間区間としての5フレーム)であるものとしたが、2つ以上の任意数の連続時刻フレームを同様に、骨格推定装置100への入力フレーム群として利用することができる。また同様に、骨格推定装置100が出力する統合ヒートマップFH(t)の時刻tに関して、5つの連続時刻フレームの場合の中央時刻である場合を例として説明したが、中央時刻に限らず、2つ以上の任意数の連続時刻フレームにおける任意位置tを、出力する統合ヒートマップFH(t)の時刻tとして設定することができる。例えば、5つの時刻のフレームF(i)(i=t-2,t-1,t,t+1,t+2)を入力として読み込み、出力する統合ヒートマップは、中央時刻t以外に関するものとして、統合ヒートマップF(t-2)、F(t-1)、F(t+1)又はF(t+2)のいずれかとするように、骨格推定装置100の構造を設定するようにしてもよい。
【0084】
また同様に、2つ以上の任意数の連続時刻フレームを骨格推定装置100への入力フレーム群として読み込む際には、フレーム番号や実際の時刻の間隔が均一間隔ではなく、不均一な間隔で構成されているものとして、2つ以上の任意数の連続時刻フレームを読み込めばよい。すなわち、当該入力データとしての2つ以上の任意数の連続時刻フレームは、時間軸上で2つ以上の異なる時刻が時刻通りの順番に並んでいるものであればよい。
【0085】
(5) 以上の説明では、従来構成ネットワーク200との相違を明確化する観点から、アテンション適用部30と統合部40とを分けて説明したが、機能ブロックの区別は説明の便宜上のものであるため、以上説明したアテンション適用部30は形式上存在しないものとして、統合部40が以上説明したアテンション適用部30の処理も兼用しているものとして扱うようにしてもよい。(換言すれば、統合部40にアテンション適用部30も含まれるものとして扱うようにしてもよい。)
【0086】
(6) 各実施形態の骨格推定装置100における統合部40では、統合されたヒートマップFH(t)を得たうえでさらに、前述の式(1A),(1B)の手法により、このヒートマップFH(t)から、当該種別の関節位置P及び推定信頼度fを出力する処理を追加で行うようにしてもよい。
【0087】
(7) 図8は、一般的なコンピュータ装置70におけるハードウェア構成の例を示す図である。骨格推定装置100は、このような構成を有する1台以上のコンピュータ装置70として実現可能である。なお、2台以上のコンピュータ装置70で骨格推定装置100を実現する場合、ネットワーク経由で処理に必要な情報の送受を行うようにしてよい。コンピュータ装置70は、所定命令を実行するCPU(中央演算装置)71、CPU71の実行命令の一部又は全部をCPU71に代わって又はCPU71と連携して実行する専用プロセッサとしてのGPU(グラフィックス演算装置)72、CPU71(及びGPU72)にワークエリアを提供する主記憶装置としてのRAM73、補助記憶装置としてのROM74、通信インタフェース75、ディスプレイ76、マウス、キーボード、タッチパネル等によりユーザ入力を受け付ける入力インタフェース77、カメラ78と、これらの間でデータを授受するためのバスBSと、を備える。
【0088】
骨格推定装置100の各機能部は、各部の機能に対応する所定のプログラムをROM74から読み込んで実行するCPU71及び/又はGPU72によって実現することができる。なお、CPU71及びGPU72は共に、演算装置(プロセッサ)の一種である。ここで、表示関連の処理が行われる場合にはさらに、ディスプレイ76が連動して動作し、データ送受信に関する通信関連の処理が行われる場合にはさらに通信インタフェース75が連動して動作する。骨格推定装置100による処理結果等はディスプレイ76で表示して出力してよい。骨格推定装置100への入力として用いる映像の全部又は一部をカメラ78で撮影するようにしてもよい。
【符号の説明】
【0089】
100…骨格推定装置、10…第1ネットワーク、20…第2ネットワーク、30…アテンション適用部、40…統合部、AM-k(k=1,2,3,4,5)…アテンションモジュール、M-k(k=1,2,3,4,5)…乗算器
図1
図2
図3
図4
図5
図6
図7
図8