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

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

▶ セコム株式会社の特許一覧

特開2024-140576姿勢データ生成装置及び行動認識装置
<>
  • 特開-姿勢データ生成装置及び行動認識装置 図1
  • 特開-姿勢データ生成装置及び行動認識装置 図2
  • 特開-姿勢データ生成装置及び行動認識装置 図3
  • 特開-姿勢データ生成装置及び行動認識装置 図4
  • 特開-姿勢データ生成装置及び行動認識装置 図5
  • 特開-姿勢データ生成装置及び行動認識装置 図6
  • 特開-姿勢データ生成装置及び行動認識装置 図7
  • 特開-姿勢データ生成装置及び行動認識装置 図8
  • 特開-姿勢データ生成装置及び行動認識装置 図9
  • 特開-姿勢データ生成装置及び行動認識装置 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024140576
(43)【公開日】2024-10-10
(54)【発明の名称】姿勢データ生成装置及び行動認識装置
(51)【国際特許分類】
   G06V 40/20 20220101AFI20241003BHJP
   G06V 10/774 20220101ALI20241003BHJP
   G06V 10/82 20220101ALI20241003BHJP
【FI】
G06V40/20
G06V10/774
G06V10/82
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023051767
(22)【出願日】2023-03-28
(71)【出願人】
【識別番号】000108085
【氏名又は名称】セコム株式会社
(74)【代理人】
【識別番号】100103850
【弁理士】
【氏名又は名称】田中 秀▲てつ▼
(74)【代理人】
【識別番号】100114177
【弁理士】
【氏名又は名称】小林 龍
(74)【代理人】
【識別番号】100066980
【弁理士】
【氏名又は名称】森 哲也
(72)【発明者】
【氏名】永橋 知行
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA18
5L096CA02
5L096CA25
5L096DA01
5L096DA02
5L096FA02
5L096FA09
5L096FA69
5L096FA72
5L096GA51
5L096HA11
5L096JA11
5L096KA04
5L096KA15
(57)【要約】      (修正有)
【課題】任意に設定された制約条件を満たしつつ人間の自然な姿勢を再現した姿勢データを生成する姿勢データ生成装置及び行動認識装置を提供する。
【解決手段】姿勢データ生成装置1は、人物の姿勢データを潜在変数から生成する学習モデルとして、人物が取り得る姿勢の姿勢データを用いて学習させた姿勢生成モデルである姿勢生成部であるデコーダ10と、デコーダ10に潜在変数を入力して生成した再生姿勢データの特定部位の位置と特定部位の目標位置を示す目標値との間の誤差を算出する誤差算出手段14と、誤差に基づいて潜在変数の値を更新する潜在変数更新手段16と、を備える。デコーダ10は、潜在変数更新手段16によって更新された潜在変数を入力することにより目標姿勢データを生成する。
【選択図】図2
【特許請求の範囲】
【請求項1】
人物の姿勢データを潜在変数から生成する学習モデルとして、人物が取り得る姿勢の姿勢データを用いて学習させた姿勢生成モデルである姿勢生成部と、
前記姿勢生成部に潜在変数を入力して生成した再生姿勢データの特定部位の位置と前記特定部位の目標位置を示す目標値との間の誤差を算出する誤差算出部と、
前記誤差に基づいて前記潜在変数の値を更新する更新部と、
を備え、
前記姿勢生成部は、前記更新部によって更新された前記潜在変数を入力することにより目標姿勢データを生成する、ことを特徴とする姿勢データ生成装置。
【請求項2】
前記更新部は、誤差逆伝搬法に従って前記潜在変数の値を更新することを特徴とする請求項1に記載の姿勢データ生成装置。
【請求項3】
カメラで撮影した人物の撮像画像から前記人物の姿勢データを基準姿勢データとして生成する姿勢データ生成部を備え、
前記誤差算出部は、前記基準姿勢データにおける一以上の前記特定部位の位置を前記目標値として前記再生姿勢データと前記基準姿勢データとの間の前記誤差を算出する、
ことを特徴とする請求項1又は2に記載の姿勢データ生成装置。
【請求項4】
カメラにより部分的に撮影された人物の人体のうち前記カメラの撮像画像から検出された基準部位とその位置とを特定し、当該基準部位とその位置とを前記目標値として設定する目標値設定部を備え、
前記誤差算出部は、前記再生姿勢データのうち前記基準部位に対応する部位の位置と前記基準部位の位置との間の差分を前記誤差として算出する、
ことを特徴とする請求項1又は2に記載の姿勢データ生成装置。
【請求項5】
カメラで撮影した人物の撮像画像から前記人物の姿勢データを基準姿勢データとして生成するとともに、前記基準姿勢データの各部位の位置検出の精度を表すスコアを算出する姿勢データ生成部と、
前記スコアが閾値以上となる基準部位とその位置とを前記目標値として設定する目標値設定部と、を備え、
前記誤差算出部は、前記再生姿勢データのうち前記基準部位に対応する部位の位置と前記基準部位の位置との間の差分を前記誤差として算出する、
ことを特徴とする請求項1又は2に記載の姿勢データ生成装置。
【請求項6】
カメラで撮影した人物の撮像画像から前記人物の姿勢データを基準姿勢データとして生成する姿勢データ生成部を備え、
前記基準姿勢データにおける一以上の前記特定部位を前記目標値として選択するユーザの操作入力を受け付ける操作受付部と、
を備えることを特徴とする請求項1又は2に記載の姿勢データ生成装置。
【請求項7】
前記姿勢生成部は、人物が取り得る姿勢の姿勢データを学習させた変分オートエンコーダのデコーダであることを特徴とする請求項1又は2に記載の姿勢データ生成装置。
【請求項8】
前記デコーダは、前記変分オートエンコーダのエンコーダに入力される第1姿勢データと、所定の正規分布からサンプリングした潜在変数を前記デコーダに入力して生成した第2姿勢データと、を識別するように学習された識別器が、前記第1姿勢データが入力された前記エンコーダの出力を前記デコーダに入力して生成した第3姿勢データと前記第1姿勢データとを識別できないように学習されたデコーダであることを特徴とする請求項7に記載に姿勢データ生成装置。
【請求項9】
前記姿勢生成部は、人物が取り得る姿勢の姿勢データを学習させた敵対的生成ネットワークの生成器であることを特徴とする請求項1又は2に記載の姿勢データ生成装置。
【請求項10】
前記更新された前記潜在変数から求めた前記再生姿勢データの特定部位の位置と前記目標値との間の前記誤差の大きさが所定値以内になるまで、前記姿勢生成部による前記再生姿勢データの生成と、前記誤差算出部による前記誤差の算出と、前記更新部による前記潜在変数の値の更新と、を繰り返し、
前記再生姿勢データの特定部位の位置と前記目標値との間の前記誤差が前記所定値以内になったときの前記再生姿勢データを、前記目標姿勢データとして取得する、
ことを特徴とする請求項1又は2に記載の姿勢データ生成装置。
【請求項11】
姿勢データに基づいて人物の行動を認識する行動認識モデルを備えた行動認識装置であって、
前記行動認識モデルは、複数の異なる前記潜在変数と前記目標値とに基づいて請求項1又は2に記載の姿勢データ生成装置により生成された前記複数の異なる姿勢データを用いて、前記特定部位の位置が略同一となる人物の特定の行動を学習した学習モデルである、ことを特徴とする行動認識装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、姿勢データ生成装置及び人物の行動を認識する行動認識装置に関する。
【背景技術】
【0002】
下記特許文献1には、人物の撮像画像から検出した姿勢に基づいて人物の行動を認識する行動認識方法が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-189456号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ある行動を行っているときの人物の姿勢には、無数のパターンが存在する。例えば、「棚から商品を取る姿勢」を認識する場合、直立姿勢だけじゃなく、しゃがんだり、かがんだりして商品を取る姿勢も考えられる。したがって、人物姿勢に基づいて人物の行動を認識するためには、数多くの姿勢パターンが必要であり数多くの学習データを用意する必要がある。
また、人物の撮像画像から人物の姿勢データを生成する場合、骨格的にあり得ない不自然な姿勢を推定することがある。このような場合には、人間の取り得る自然な姿勢データに補正する必要がある。
本発明は、これらの問題点を鑑みてなされたものであり、任意に設定された制約条件を満たしつつ人間の自然な姿勢を再現した姿勢データを生成することを目的とする。
【課題を解決するための手段】
【0005】
本発明の一形態による姿勢データ生成装置は、人物の姿勢データを潜在変数から生成する学習モデルとして、人物が取り得る姿勢の姿勢データを用いて学習させた姿勢生成モデルである姿勢生成部と、姿勢生成部に潜在変数を入力して生成した再生姿勢データの特定部位の位置と特定部位の目標位置を示す目標値との間の誤差を算出する誤差算出部と、誤差に基づいて潜在変数の値を更新する更新部と、を備え、姿勢生成部は、更新部によって更新された潜在変数を入力することにより姿勢データを生成する。
【発明の効果】
【0006】
本発明によれば、任意に設定された制約条件を満たしつつ人間の自然な姿勢を再現した姿勢データを生成できる。
【図面の簡単な説明】
【0007】
図1】本発明の実施形態に係る姿勢データ生成装置又は行動認識装置のハードウエア構成例を示す概略図である。
図2】第1実施形態の姿勢データ生成装置の機能構成の一例のブロック図である。
図3】姿勢データの一例の模式図である。
図4】変分オートエンコーダ(VAE)の機能構成の一例のブロック図である。
図5】VAEGANの機能構成の一例のブロック図である。
図6】(a)は潜在変数空間内の潜在変数の模式図であり、(b)潜在変数の初期値から生成した再生姿勢データと目標値の模式図であり、(c)更新後の潜在変数から生成した再生姿勢データの模式図である。
図7】(a)~(c)はドアを開ける様々な姿勢の姿勢データの模式図である。
図8】第1実施形態の行動認識装置の機能構成の一例の模式図である。
図9】第1実施形態の姿勢データ生成方法の一例のフローチャートである。
図10】第2実施形態の姿勢データ生成装置の機能構成の一例のブロック図である。
【発明を実施するための形態】
【0008】
以下において、図面を参照して本発明の実施形態を説明する。なお、以下に示す本発明の実施形態は、本発明の技術的思想を具体化するための装置や方法を例示するものであって、本発明の技術的思想は、構成部品の構造、配置等を下記のものに特定するものではない。本発明の技術的思想は、特許請求の範囲に記載された請求項が規定する技術的範囲内において、種々の変更を加えることができる。
【0009】
(第1実施形態)
図1は、本発明の実施形態に係る姿勢データ生成装置1や行動認識装置30を実現するハードウエア構成例を示す概略図である。
姿勢データ生成装置1及び行動認識装置30は、操作入力部2、ファイル入出力部3、記憶部4、制御部5、および出力部6からなる。これらのうちのファイル入出力部3、記憶部4および制御部5はいわゆるコンピュータで実現でき、操作入力部2および出力部6は当該コンピュータの周辺機器として実現できる。
【0010】
操作入力部2は、キーボード、マウス等のユーザインターフェースであり、ユーザに操作されてデータの入力等に用いられる。操作入力部2は、制御部5に接続され、ユーザの操作を操作信号に変換して制御部5に出力する。
【0011】
ファイル入出力部3は、DVD(Digital Versatile Disc)ドライブ、USB(Universal Serial Bus)インターフェース、ネットワークインターフェース等であり、一方が不図示の外部機器、記録メディア、ネットワーク等に接続され、他方が制御部5に接続され、データをファイルとして制御部5に入力し、およびデータをファイルとして制御部5から出力する。
【0012】
記憶部4は、ROM(Read Only Memory)、RAM(Random Access Memory)等のメモリ装置であり、各種プログラムや各種データを記憶する。記憶部4は、制御部5と接続されて制御部5との間でこれらの情報を入出力する。
【0013】
制御部5は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、MCU(Micro Control Unit)等の演算装置で構成される。制御部5は、記憶部4と接続され、記憶部4からプログラムを読み出して実行することにより各種処理部として動作し、各種データを記憶部4に記憶させ、読み出す。また、制御部5は、操作入力部2、ファイル入出力部3および出力部6とも接続され、ユーザが操作入力部2を操作して入力されたデータを取得し、ファイル入出力部3を介して外部からファイルとしてデータを取得および出力し、所得したデータに基づいた演算結果のデータファイルとしてファイル入出力部3から出力させ、および/または演算結果のデータを出力部6から出力する。
【0014】
出力部6は、制御部5による演算結果を出力する液晶ディスプレイ又はCRT(Cathode Ray Tube)ディスプレイ等のディスプレイ装置、プロジェクタ、プリンタなどである。
さらに、行動認識装置30および後述の第2実施形態の姿勢データ生成装置1は、人物を撮影して得られた撮像画像を取得して制御部5へ入力する画像入力部7を備えてよい。例えば画像入力部7は撮像装置(カメラ)であってよい。または、行動認識装置30および後述の第2実施形態の姿勢データ生成装置1は、人物の撮像画像の画像データファイルをファイル入出力部3から取得してもよい。
【0015】
図2は、第1実施形態の姿勢データ生成装置1の機能構成の一例のブロック図である。姿勢データ生成装置1は、デコーダ10と、初期値設定手段11と、入力切替手段12と、目標値設定手段13と、誤差算出手段14と、微分値算出手段15と、潜在変数更新手段16とを備える。
図1の制御部5は、初期値設定手段11、入力切替手段12、誤差算出手段14、微分値算出手段15及び潜在変数更新手段16として機能する。操作入力部2やファイル入出力部3は、目標値設定手段13として機能する。
【0016】
姿勢データ生成装置1は、人物の姿勢データを潜在変数から生成する学習モデルとして、人物が取り得る姿勢の姿勢データを用いて学習させた姿勢生成モデルとして、デコーダ10を備える。例えば、デコーダ10は、人物が取り得る姿勢の姿勢データを変分オートエンコーダ(VAE:Variational AutoEncoder)に学習させることによって構成されたデコーダであってよい。デコーダ10は、特許請求の範囲に記載の「姿勢生成部」の一例である。
図3は、姿勢データxの一例の模式図である。例えば、姿勢データxは、人物の姿勢の特徴点である関節点(キーポイント)Jと関節点J同士を接続する接続情報であるリンクLとを含む。
【0017】
変分オートエンコーダ(以下「VAE」と表記する)は、入力データの次元数を削減して、削減された次元数から元のデータを再生することにより、入力データの特徴を有する新たなデータを生成する生成モデルである。
図4は、人物が取り得る姿勢の姿勢データを学習したVAE20Aの機能構成の一例のブロック図である。VAE20Aは、姿勢データ入力手段20と、エンコーダ21と、潜在変数設定手段22と、デコーダ10を備える。
【0018】
姿勢データ入力手段20は、人物の撮像画像から人物の姿勢を推定することによって生成された姿勢データxを取得してエンコーダ21に入力する。以下の説明において、エンコーダ21に入力される姿勢データxを「入力姿勢データx」と表記することがある。
例えば姿勢データ入力手段20は、人物を撮影して撮像画像を生成する撮像装置(カメラ)と、撮像画像から入力姿勢データxを生成する姿勢推定装置を備えてよい。また例えば姿勢データ入力手段20は、既存のデータベースから入力姿勢データxを取得してもよい。
【0019】
エンコーダ21は、入力姿勢データxを、入力姿勢データxが取り得る空間の次元数よりも小さな次元数の潜在変数zの確率分布N(μ,σ)に変換する。以下の説明において、潜在変数zが取り得る空間を「潜在変数空間」と表記することがある。
潜在変数設定手段22は、エンコーダ21が推定した確率分布N(μ,σ)に従って潜在変数zをサンプリングする。
デコーダ10は、潜在変数zから姿勢データx*を再生(復元)する。以下の説明において、デコーダ10によって潜在変数zから再生された姿勢データx*を、「再生姿勢データx*」と表記することがある。
【0020】
VAE20Aを学習する際には、再構成誤差算出手段23により入力姿勢データxと再生姿勢データx*との誤差に基づいて再構成誤差L1を算出する。またKLダイバージェンス損失算出手段24により、エンコーダ21によって推定された確率分布N(μ,σ)と正規分布との間のカルバック・ライブラー(KL:Kullback-Leibler)ダイバージェンス損失L2を算出する。
【0021】
第1学習手段25は、再構成誤差L1とKLダイバージェンス損失L2との和を損失関数L=L1+L2として、損失関数Lが最小となるようにエンコーダ21とデコーダ10を学習する。例えばエンコーダ21とデコーダ10を構成するニューラルネットワークのパラメータを損失関数Lが最小となるように調整する。
【0022】
姿勢データ生成装置1は、VAE20Aのデコーダに代えて、VAEGANのデコーダを利用してもよい。VAEGANは、VAEと敵対的生成ネットワーク(GAN:Generative Adversarial Networks)とを組み合わせた生成モデルである。すなわち、デコーダ10は、人物が取り得る姿勢の姿勢データxをVAEGANに学習させることによって構成されたデコーダであってもよい。
【0023】
図5は、VAEGAN20Bの機能構成の一例のブロック図である。VAEGAN20Bは、図4に示すVAEの構成に加えて擬似変数設定手段26と識別手段27を備える。
擬似変数設定手段26は、正規分布N(0,I)に従って潜在変数空間上の疑似潜在変数zpをサンプリングする。デコーダ10は、疑似潜在変数zpから姿勢データxpを再生(復元)する。以下の説明において、疑似潜在変数zpから再生された姿勢データxpを、「疑似姿勢データxp」と表記することがある。
【0024】
識別手段27は、入力姿勢データxと疑似姿勢データxpとを識別(区別)できるように学習された識別器である。
識別手段27を学習する際には、識別手段27により入力姿勢データxと疑似姿勢データxpとを識別した際の識別器損失(Discriminator Loss)である第1損失関数L3を算出する。第2学習手段28は、第1損失関数L3が最小となるように識別手段27のパラメータを調整することにより、入力姿勢データxと疑似姿勢データxpとを識別できるように識別手段27を学習させる。
【0025】
VAEGAN20Bは、識別手段27が入力姿勢データxと再生姿勢データx*とを識別できなくなるようにデコーダ10を学習させる。
デコーダ10を学習する際には、識別手段27により入力姿勢データxと再生姿勢データx*とを識別させる。そして入力姿勢データxと再生姿勢データx*とを識別した際の識別器損失である第2損失関数L4を算出する。第2学習手段28は、第2損失関数L4が最大となるようにデコーダ10のパラメータを調整することにより、識別手段27が入力姿勢データxと再生姿勢データx*とを識別できなくなるようにデコーダ10を学習させる。
【0026】
なお、姿勢データ生成装置1は、図4のVAE20Aのデコーダ10及び図5のVAEGAN20Bのデコーダ10に代えて、疑似潜在変数zpから姿勢データxpを生成する姿勢性モデルとして、敵対的生成ネットワーク(GAN:Generative Adversarial Networks)の生成器を備えてもよい。GANの生成器は、人物が取り得る姿勢の姿勢データとして生成した基準姿勢データと、潜在変数から生成器が生成した再生姿勢データと、を識別する識別器が、基準姿勢データと再生姿勢データとを識別できないように学習された生成器である。
【0027】
図2を参照する。初期値設定手段11は、出発点となる再生姿勢データx*を生成するための潜在変数の初期値zを設定する。図6(a)は、潜在変数空間内に設定された潜在変数の初期値zを模式的に表す。例えば初期値設定手段11は、潜在変数空間内でランダムに選択した潜在変数を初期値zとして設定してよい。
【0028】
図2を参照する。入力切替手段12は、デコーダ10へ入力する潜在変数zを、初期値設定手段11が設定した潜在変数の初期値zと、潜在変数更新手段16により更新された潜在変数zとの間で切り替える。
具体的には、初期値設定手段11が潜在変数の初期値zを設定した後に最初の再生姿勢データx*を生成する場合には、入力切替手段12は初期値設定手段11が設定した潜在変数の初期値zをデコーダ10へ入力する。最初の再生姿勢データx*を生成した後、後述のように潜在変数更新手段16が潜在変数zを更新すると、潜在変数更新手段16により更新された潜在変数zをデコーダ10へ入力する。
【0029】
デコーダ10は、入力切替手段12から入力された潜在変数zから再生姿勢データx*を生成する。
目標値設定手段13は、姿勢データ生成装置1により生成すべき姿勢データの目標値を設定する。例えば目標値設定手段13は、図3に示す姿勢データxの複数の関節点Jの一部又は全部の目標位置を目標値として設定してよい。図6(b)は、潜在変数の初期値zから生成した再生姿勢データx*と目標値の模式図である。図6(b)の例では、再生姿勢データx*の右手の関節点Jの目標位置Jtを目標値として設定する。
【0030】
誤差算出手段14は、目標値設定手段13が設定した目標値と再生姿勢データx*との間の誤差eを算出する。例えば誤差算出手段14は、目標値として設定された1つ又は複数の関節点の目標位置と、再生姿勢データx*の関節点の位置とのそれぞれの差分に応じて誤差eを算出してよい。例えば目標値として単一の関節点の目標位置を設定した場合には、目標位置と再生姿勢データx*の関節点の位置との差分を誤差eとして算出してよい。目標値として複数の関節点の目標位置を設定した場合には、目標位置と再生姿勢データx*の関節点の位置とのそれぞれの差分の合計を誤差eとして算出してよい。
【0031】
図2を参照する。微分値算出手段15は、誤差算出手段14が算出した差分に基づいて誤差逆伝搬法により潜在変数空間上の微分値を算出する。
潜在変数更新手段16は、微分値算出手段15が算出した微分値で潜在変数zを更新する。
その後、入力切替手段12は、潜在変数更新手段16により更新された潜在変数zをデコーダ10に入力する。デコーダ10は、潜在変数更新手段16により更新された潜在変数zから再生姿勢データx*を生成する。
【0032】
以下、同様に再生姿勢データx*の生成と、誤差eの算出と、微分値の算出と、潜在変数zの更新とを繰り返すことにより、図6(a)に示すように、潜在変数zは、初期値zから、z、z…へと順次更新される。これにより、図6(c)に示すようにデコーダ10により生成される再生姿勢データx*が目標値に近づく。図6(c)の例では、再生姿勢データx*の右手の関節点Jの位置を、目標値として設定した目標位置Jtに近付けることができる。
【0033】
本発明では、人物が取り得る姿勢の姿勢データを学習させたVAE20A又はVAEGAN20Bのデコーダ10を用いている。このため、デコーダ10は人間の自然な姿勢を再現した再生姿勢データx*を生成できる。これにより、再生姿勢データx*の制約条件として任意の目標値を設定することにより、人間の自然な姿勢を再現しつつ任意の制約条件を満たすように姿勢データを生成できる。
【0034】
姿勢データ生成装置1は、所定の演算終了条件を満足すると、潜在変数zの更新を終了して再生姿勢データx*を出力する。例えば姿勢データ生成装置1は、誤差算出手段14が算出する誤差eが所定の閾値未満になった場合に、所定の終了条件を満足すると判定してよい。また例えば姿勢データ生成装置1は、微分値算出手段15が算出した微分値の大きさ(例えば微分値の絶対値や微分ベクトルの長さ)が所定の閾値未満になった場合に所定の終了条件を満足すると判定してよい。すなわち、更新前後の潜在変数zの差分の大きさや、更新前の潜在変数zから生成した再生姿勢データx*と更新後の潜在変数zから生成した再生姿勢データx*との間の差分が所定の閾値未満になった場合に所定の終了条件を満足すると判定してよい。
【0035】
以上のようにして姿勢データ生成装置1は、人間の自然な姿勢を再現しつつ任意に設定された制約条件を満たす再生姿勢データx*を生成できる。
このため、同じ目標値を設定して異なる潜在変数の初期値z0(例えば、初期値設定手段11は、潜在変数の初期値z0をランダムに生成して設定する処理を繰り返し実行することで異なる潜在変数の初期値z0を求める)から再生姿勢データx*を生成することにより、同一の制約条件を満たしつつ異なる自然な姿勢を取る人物の複数の再生姿勢データx*を生成することができる。
【0036】
本実施形態の姿勢データ生成装置1によれば、例えば同一の行動を行っているときの人物の様々なパターンの姿勢データを生成することができる。
ドアDを開ける複数の異なる再生姿勢データxの例を、図7(a)~図7(c)に示す。ドアDを開ける姿勢には無数のパターンが存在する。そこで、ドアDを開ける手の関節点Jの目標位置を目標値として固定し、異なる潜在変数の初期値z0から再生姿勢データx*を生成することにより、ドアDを開ける手の位置以外は自由にして、且つ自然な姿勢を取る人物の複数の再生姿勢データx*を数多く用意することができる。
【0037】
このように同一の行動を行っている人物の多数のパターンの姿勢データを学習データとして用意し、同一の行動を行っている姿勢データの類似度が高くなるように識別器を学習することによって、人物の行動を認識する行動認識装置の認識精度を向上することができる。
【0038】
図8は、第1実施形態の行動認識装置30の機能構成の一例の模式図である。行動認識装置30は、人物画像取得手段31と、姿勢データ生成手段32と、特徴量抽出手段33と、認識手段34とを備える。
図1の画像入力部7又はファイル入出力部3は、人物画像取得手段31として機能する。制御部5は、姿勢データ生成手段32と、特徴量抽出手段33と、認識手段34として機能する。
【0039】
人物画像取得手段31は、人物の撮像画像を取得する。例えば人物画像取得手段31は人物の撮像画像を生成する撮像装置を有していてもよい。または例えば人物画像取得手段31は人物の撮像画像の画像データファイルを取得してもよい。
姿勢データ生成手段32は、人物画像取得手段31が取得した撮像画像に基づいて人物の姿勢を推定することによって姿勢データを生成する。
【0040】
特徴量抽出手段33は、姿勢データ生成手段32が生成した姿勢データの特徴量を抽出する。例えば特徴量抽出手段33は、深層学習(Deep Learning)で用いられる多層のネットワークで構成されたCNNでモデル化された特徴量抽出モデルに姿勢データを入力することによって、姿勢データの特徴量を抽出してよい。
【0041】
認識手段34は、特徴量抽出手段33が抽出した特徴量に基づいて、人物画像取得手段31が取得した撮像画像の人物の行動を認識する。例えば特徴量抽出手段33は、予め学習した各行動(クラス)のテンプレート特徴量と、特徴量抽出手段33が抽出した特徴量との類似度に基づいて、撮像画像の人物の行動を認識してよい。認識手段34は、例えば深層学習で用いられる多層のネットワークで構成されたCNNでモデル化してよい。
特徴量抽出手段33と認識手段34とは、姿勢データに基づいて人物の行動を認識する行動認識モデルを形成する。
【0042】
行動認識装置30を学習する際には、同一の行動を行っている人物の多数のパターンの姿勢データを姿勢データ生成装置1により生成し、学習データとして学習データ記憶手段35に記憶する。
第3学習手段36は、学習データ記憶手段35に記憶された学習用の姿勢データを学習データとして利用することにより、特徴量抽出手段33と認識手段34を学習させる。
【0043】
例えば、姿勢データ生成装置1が生成した同一の行動を行っている人物の異なる複数の姿勢データの特徴量の類似度が高くなるように、特徴量抽出手段33や、認識手段34のテンプレート特徴量を学習してよい。
これにより例えば、特定部位の位置が略同一となる複数の異なる姿勢データ(例えば特定部位の位置が固定された複数の異なる姿勢データ)を学習データとして利用して、特定部位の位置が略同一となる特定の行動(例えば特定部位の位置に特徴がある特定の行動)を行動認識装置30に学習させることができる。図7(a)~図7(c)の例では右手の関節点の位置に特徴がある行動を行動認識装置30に学習させることができる。
【0044】
図9は、第1実施形態の姿勢データ生成方法の一例のフローチャートである。
ステップS1において目標値設定手段13は、姿勢データ生成装置1により生成すべき姿勢データの目標値を設定する。
ステップS2において初期値設定手段11は、出発点となる再生姿勢データx*を生成するための潜在変数の初期値を設定する。
【0045】
ステップS3においてデコーダ10は、潜在変数から再生姿勢データx*を生成する。
ステップS4において誤差算出手段14は、目標値設定手段13が設定した目標値と再生姿勢データx*との間の誤差eを算出する。
ステップS5において微分値算出手段15は、誤差算出手段14が算出した差分に基づいて誤差逆伝搬法により潜在変数空間上の微分値を算出する。
【0046】
ステップS6において潜在変数更新手段16は、微分値算出手段15が算出した微分値で潜在変数zを更新する。
ステップS7において姿勢データ生成装置1は、所定の演算終了条件を満足するか否かを判定する。演算終了条件を満足しない場合(ステップS7:N)に処理はステップS3へ戻る。所定の演算終了条件を満足する場合(ステップS7:Y)に処理は終了する。
【0047】
(第2実施形態)
第2実施形態の姿勢データ生成装置1は、カメラ等の撮像装置により撮影した人物の撮像画像から人物の姿勢データを生成する。
このように人物の撮像画像から姿勢データを生成する場合には、関節点の検出誤差や撮像装置キャリブレーションの誤差等の影響により、生成した姿勢データが骨格的にあり得ない不自然な姿勢になることがある。
【0048】
そこで、第2実施形態の姿勢データ生成装置1は、撮像画像から生成した姿勢データを目標値として利用し、デコーダ10の再生姿勢データx*と目標値との誤差に基づいて更新された潜在変数zによって再生姿勢データx*を生成することにより、撮像画像から生成した姿勢データを補正する。これにより、人物の撮像画像から生成した姿勢データを自然な姿勢となるように補正できる。
【0049】
第2実施形態の姿勢データ生成装置1は、第1実施形態の姿勢データ生成装置1の構成に加えて、人物画像取得手段40と、姿勢データ生成手段41と、ユーザ入力受付手段42とを備える。図1の画像入力部7又はファイル入出力部3は、人物画像取得手段40として機能する。制御部5は、姿勢データ生成手段41として機能する。操作入力部2と出力部6は、ユーザ入力受付手段42として機能する。
【0050】
人物画像取得手段40は、人物の撮像画像を取得する。例えば人物画像取得手段40は人物の撮像画像を生成する撮像装置を有していてもよい。または例えば人物画像取得手段40は人物の撮像画像の画像データファイルを取得してもよい。例えば人物画像取得手段40は、複数の撮像装置が各々の視点から同一人物を同時に撮影した複数の撮像画像を取得してもよい。
【0051】
姿勢データ生成手段41は、人物画像取得手段40が取得した撮像画像に基づいて人物の姿勢を推定することによって姿勢データを生成する。人物画像取得手段40が同一人物を同時に撮影した複数の撮像画像を取得する場合には、姿勢データ生成手段41は、各々の撮像画像から検出した関節点が整合するように人物の3次元姿勢を推定する。以下の説明において姿勢データ生成手段41が生成した姿勢データを「基準姿勢データxr」と表記することがある。
【0052】
目標値設定手段13は、姿勢データ生成手段41が設定した基準姿勢データxrを、デコーダ10が生成する再生姿勢データx*の目標値として設定する。
例えば、基準姿勢データxrにおける1以上の各関節点の位置を、これらの関節点にそれぞれ対応する再生姿勢データx*の各関節点の目標位置として設定する。例えば目標値設定手段13は、基準姿勢データxrの全ての関節点の位置を、これらの関節点にそれぞれ対応する再生姿勢データx*の関節点の目標位置として設定してよい。
【0053】
また例えば目標値設定手段13は、基準姿勢データxrの関節点のうち一部の関節点を再生姿勢データx*の目標値として設定してもよい。例えば基準姿勢データxrの関節点のうち一部の関節点の位置を、この関節点に対応する再生姿勢データx*の関節点の目標位置として設定してもよい。
例えば、姿勢データ生成手段41が撮像画像から推定した姿勢データのうち、撮像画像に写っている部位の関節点のみを目標値として設定してもよい。例えば、目標値設定手段13は、人物画像取得手段40が取得した撮像画像に基づいて、撮像画像に写っている部位と写っていない部位(例えば、人物自身の身体や障害物等によって隠蔽された部位)とをそれぞれ推定して、撮像画像に写っている部位のみを目標値として設定してよい。例えば撮像画像に写っている部位のみを選択し、選択した部位の関節点の位置を、関節点に対応する再生姿勢データx*の関節点の目標位置として設定してもよい。
【0054】
また例えば姿勢データ生成手段41は、基準姿勢データxrを生成するとともに、基準姿勢データxrの部位(例えば基準点)毎のスコアを算出してもよい。
例えば、姿勢データ生成手段41は、OpenPoseのような既存の姿勢推定ソフトウエアを用いて基準姿勢データxrの部位の位置検出の精度(確信度)をスコアとして算出してよい。
目標値設定手段13は、基準姿勢データxrの部位のうちスコアが閾値以上となる部位のみを目標値として設定してよい。例えばスコアが閾値以上となる部位のみを選択し、選択した部位の関節点の位置を、関節点に対応する再生姿勢データx*の関節点の目標位置として設定してもよい。
【0055】
また例えば、ユーザ入力受付手段42は、姿勢データ生成手段41が生成した基準姿勢データxrにおける1以上の部位を選択するユーザの操作入力を受け付けてもよい。例えばユーザ入力受付手段42は、出力部6のディスプレイ装置に基準姿勢データxrを表示し、表示された基準姿勢データxrの1以上の部位(例えば関節点)を選択する操作入力部2(例えばキーボード、マウス等)からの入力信号を受け付けてもよい。
目標値設定手段13は、ユーザ入力受付手段42によりユーザが選択した部位のみを目標値として設定してよい。例えば選択された部位の関節点の位置を、関節点に対応する再生姿勢データx*の関節点の目標位置として設定してもよい。
【0056】
(実施形態の効果)
(1)姿勢データ生成装置1は、人物の姿勢データを潜在変数から生成する学習モデルとして、人物が取り得る姿勢の姿勢データを用いて学習させた姿勢生成モデルであるデコーダ10と、デコーダ10に潜在変数を入力して生成した再生姿勢データの特定部位の位置と特定部位の目標位置を示す目標値との間の誤差を算出する誤差算出手段14と、誤差に基づいて潜在変数の値を更新する潜在変数更新手段16と、を備える。デコーダ10は、潜在変数更新手段16によって更新された潜在変数を入力することにより目標の姿勢データを生成する。
例えば潜在変数更新手段16は、誤差逆伝搬法に従って潜在変数の値を更新してよい。
【0057】
従来、人物姿勢に基づいて人物の行動を認識する行動認識モデルを学習する際には、人をモーションキャプチャして得た姿勢データなどを用いて、人手により学習データを作る必要があった。そのため、認識したい行動について思いつく限りのパターンで人が演じる必要があり、学習データの生成に高いコストを要し、また人が考えつくパターン数にも限界があるため学習データが不十分となる虞があった。
【0058】
本発明により、特定の行動を行っているときの人物の姿勢データを自動的に数多く生成できるので、行動認識モデルの学習データを効率よく生成できるようになる。
また、人物の撮像画像から人物の姿勢データを生成する場合、骨格的にあり得ない不自然な姿勢を推定することがある。本発明によれば、撮像画像から生成した姿勢データを、自然な姿勢になるように補正できる。
【0059】
(2)姿勢データ生成装置1は、カメラで撮影した人物の撮像画像から人物の姿勢データを基準姿勢データとして生成する姿勢データ生成手段41を備えてもよい。誤差算出手段14は、基準姿勢データにおける一以上の特定部位の位置を目標値として再生姿勢データと基準姿勢データとの間の誤差を算出してもよい。
これにより、撮像画像から生成した姿勢データを自然な姿勢となるように補正できる。
【0060】
(3)姿勢データ生成装置1は、カメラにより部分的に撮影された人物の人体のうちカメラの撮像画像から検出された基準部位とその位置とを特定し、基準部位とその位置とを目標値として設定する目標値設定手段13備えてもよい。誤差算出手段14は、再生姿勢データのうち基準部位に対応する部位の位置と基準部位の位置との間の差分を誤差として算出してもよい。
これにより、撮像画像に写っていない部位を自然な姿勢となるように復元できる。
【0061】
(4)姿勢データ生成装置1は、カメラで撮影した人物の撮像画像から人物の姿勢データを基準姿勢データとして生成するとともに、基準姿勢データの各部位の位置検出の精度を表すスコアを算出する姿勢データ生成手段41と、スコアが閾値以上となる基準部位とその位置とを目標値として目標値設定手段13と、を備えてもよい。誤差算出手段14は、再生姿勢データのうち基準部位に対応する部位の位置と基準部位の位置との間の差分を誤差として算出してもよい。
これにより、スコアの低い部位(例えば信頼性が低い部位)の位置を修正して自然な姿勢になるように姿勢データを補正できる。
【0062】
(5)姿勢データ生成装置1は、カメラで撮影した人物の撮像画像から人物の姿勢データを基準姿勢データとして生成する姿勢データ生成手段41と、基準姿勢データにおける一以上の部位を目標値として選択するユーザの操作入力を受け付けるユーザ入力受付手段42と、を備えてもよい。
これにより、ユーザが選択していない部位についても自然な姿勢となるように姿勢データを補正できる。
【0063】
(6)デコーダ10は、人物が取り得る姿勢の姿勢データを学習させた変分オートエンコーダのデコーダであってよい。
これにより、人物が取り得る自然な姿勢の姿勢データを生成できる。
【0064】
(7)デコーダ10は、変分オートエンコーダのエンコーダに入力される第1姿勢データと、所定の正規分布からサンプリングした潜在変数をデコーダ10に入力して生成した第2姿勢データと、を識別するように学習された識別器が、第1姿勢データが入力されたエンコーダの出力をデコーダ10に入力して生成した第3姿勢データと第1姿勢データとを識別できないように学習されたデコーダであってよい。
これにより、人物が取り得る自然な姿勢の姿勢データを生成できる。
【0065】
(8)潜在変数から人物の姿勢データを生成するように、人物が取り得る姿勢の姿勢データを用いて学習させた姿勢生成モデルとして、デコーダ10に代えて、人物が取り得る姿勢の姿勢データを学習させた敵対的生成ネットワークの生成器を用いてもよい。
これにより、人物が取り得る自然な姿勢の姿勢データを生成できる。
【0066】
(9)姿勢データ生成装置1は、更新された潜在変数から求めた再生姿勢データの特定部位の位置と目標値との間の誤差の大きさが所定値以内になるまで、デコーダ10による再生姿勢データの生成と、誤差算出手段14による誤差の算出と、潜在変数更新手段16による潜在変数の値の更新と、を繰り返し、再生姿勢データの特定部位の位置と目標値との間記誤差が前記所定値以内になったときの再生姿勢データを、前記目標姿勢データとして取得してよい。
これにより、人間の自然な姿勢を再現しつつ特定部位の位置が目標値に十分に近い姿勢データを生成できる。
【0067】
(10)行動認識装置30は、姿勢データに基づいて人物の行動を認識する行動認識モデル(特徴量抽出手段33及び認識手段34)と備える。行動認識モデルは、複数の異なる潜在変数と目標値とに基づいて上記の姿勢データ生成装置1により生成された複数の異なる姿勢データを用いて、特定部位の位置が略同一となる人物の特定の行動を学習した学習モデルであってよい。
これにより、特定の行動を行っている人物の多数のパターンの姿勢データを学習データとして生成し、行動認識装置30の行動認識モデルを学習させることができる。
【符号の説明】
【0068】
1…姿勢データ生成装置、2…操作入力部、3…ファイル入出力部、4…記憶部、5…制御部、6…出力部、7…画像入力部、10…デコーダ、11…初期値設定手段、12…入力切替手段、13…目標値設定手段、14…誤差算出手段、15…微分値算出手段、16…潜在変数更新手段、20…姿勢データ入力手段、20A…変分オートエンコーダ、20B…VAEGAN、21…エンコーダ、22…潜在変数設定手段、23…再構成誤差算出手段、24…KLダイバージェンス損失算出手段、25…第1学習手段、26…擬似変数設定手段、27…識別手段、28…第2学習手段、30…行動認識装置、31…人物画像取得手段、32…姿勢データ生成手段、33…特徴量抽出手段、34…認識手段、35…学習データ記憶手段、36…第3学習手段、40…人物画像取得手段、41…姿勢データ生成手段、42…ユーザ入力受付手段
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10