(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024126769
(43)【公開日】2024-09-20
(54)【発明の名称】動作推定装置
(51)【国際特許分類】
G06T 7/20 20170101AFI20240912BHJP
【FI】
G06T7/20 300A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023035386
(22)【出願日】2023-03-08
(71)【出願人】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(71)【出願人】
【識別番号】501493358
【氏名又は名称】株式会社セック
(74)【代理人】
【識別番号】110003177
【氏名又は名称】弁理士法人旺知国際特許事務所
(72)【発明者】
【氏名】佐藤 里奈
(72)【発明者】
【氏名】原 未來
(72)【発明者】
【氏名】小林 洸陽
(72)【発明者】
【氏名】高木 純平
(72)【発明者】
【氏名】村中 勇輝
(72)【発明者】
【氏名】杉江 卓哉
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA04
5L096DA02
5L096FA06
5L096FA62
5L096FA69
5L096HA08
5L096HA11
5L096KA04
(57)【要約】
【課題】2次元画像に写る解析対象の動作を精度良く推定する。
【解決手段】取得部141は、現実空間SRと解析対象Hとが撮影された2次元画像PCを取得する。対象モデル生成部142は、現実空間SRにおける解析対象Hの形体を模した3次元対象モデルMを生成する。深度推定部143は、2次元画像PCを撮像する撮像装置Cに対する解析対象Hの深度を推定する。配置部144は、深度推定部143によって推定された深度および2次元画像PC上の解析対象Hの位置に基づいて、現実空間SRを模した3次元空間モデルSV上に3次元対象モデルMを配置する。動作推定部145は、3次元空間モデルSV内の物体Bを示す物体モデルBmと3次元対象モデルMとの相対位置に基づいて、現実空間SRにおける解析対象Hの動作を推定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
現実空間と前記現実空間に位置する解析対象とが撮影された2次元画像を取得する取得部と、
前記2次元画像に基づいて、前記現実空間における前記解析対象の形体を模した3次元対象モデルを生成する対象モデル生成部と、
前記2次元画像に基づいて、前記2次元画像を撮像する撮像装置に対する前記解析対象の深度を推定する深度推定部と、
前記深度推定部によって推定された前記深度および前記2次元画像上の前記解析対象の位置に基づいて、前記現実空間を模した3次元空間モデル上に前記3次元対象モデルを配置する配置部と、
前記3次元空間モデル内の物体を示す物体モデルと前記3次元対象モデルとの相対位置に基づいて、前記現実空間における前記解析対象の動作を推定する動作推定部と、
を備える動作推定装置。
【請求項2】
前記動作推定部は、前記物体モデルと前記3次元対象モデルとが接触する箇所に基づいて、前記動作を推定する、
請求項1記載の動作推定装置。
【請求項3】
前記動作推定部は、前記3次元対象モデルの特定の部位が向く方向に位置する前記物体モデルに基づいて、前記動作を推定する、
請求項1記載の動作推定装置。
【請求項4】
前記動作は、前記現実空間の所定箇所に対する動作であり、
前記所定箇所を特定する特定情報を前記3次元空間モデルに表示する表示制御部を更に備える、
請求項1記載の動作推定装置。
【請求項5】
前記表示制御部は、前記動作の継続時間に基づいて、前記特定情報の表示態様を変更する、
請求項4記載の動作推定装置。
【請求項6】
前記解析対象は、人であり、
前記3次元対象モデルは、前記人の骨格を示す骨格モデルである、
請求項1記載の動作推定装置。
【請求項7】
前記配置部は、前記深度、前記2次元画像上の前記解析対象の位置および前記現実空間における前記撮像装置の位置に基づいて、前記現実空間における前記解析対象の位置を示す3次元座標を推定し、前記3次元空間モデル上の前記3次元座標に対応する位置に、前記3次元対象モデルを配置する、
請求項1記載の動作推定装置。
【請求項8】
前記2次元画像および前記深度推定部によって推定された前記深度に基づいて、前記3次元空間モデルを生成する空間モデル生成部を更に備え、
前記配置部は、前記2次元画像上の前記解析対象の位置に対応する前記3次元空間モデル上の位置に、前記3次元対象モデルを配置する、
請求項1記載の動作推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動作推定装置に関する。
【背景技術】
【0002】
従来、監視カメラ等で撮像された2次元画像を解析し、解析対象の行動を推定する技術が知られている。例えば、下記特許文献1に記載の特定動作検出装置は、患者のベッドからの離床を判断する際に、ベッド上で起き上がってベッドに腰掛ける動作の有無を含んで判断する。特定動作検出装置は、カメラ、ベッド検出部、人物姿勢検出部、相対位置算出部、相対位置情報保持部および行動推定部を備える。カメラは、監視エリア全体を撮像する。ベッド検出部は、カメラの撮像映像からベッドを抽出し、その抽出情報からベッドのエリアを算出する。人物姿勢検出部は、カメラの撮像画像からベッド上の患者の特定部位の座標情報を入手し、その情報から患者の姿勢を検出する。相対位置算出部は、ベッド検出部及び人物姿勢検出部が検出した情報を基に、ベッドと患者との相対位置を算出する。相対位置情報保持部は、相対位置算出部が算出した時系列の相対位置情報を保持する。行動推定部は、相対位置情報保持部が保持する複数の時系列情報を基に、ベッド上の患者の行動を推定する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
多くの場合、解析対象を撮像するのは1台のカメラであり、撮像されるのは一方向から見た解析対象の2次元画像である。一方で、現実空間は3次元空間であり、一方向から撮像した2次元画像から解析対象の動作を正確に検出するのは困難であった。
【0005】
本発明の目的は、2次元画像に写る解析対象の動作を精度良く推定することにある。
【課題を解決するための手段】
【0006】
本発明の一態様にかかる動作推定装置は、現実空間と前記現実空間に位置する解析対象とが撮影された2次元画像を取得する取得部と、前記2次元画像に基づいて、前記現実空間における前記解析対象の形体を模した3次元対象モデルを生成する対象モデル生成部と、前記2次元画像に基づいて、前記2次元画像を撮像する撮像装置に対する前記解析対象の深度を推定する深度推定部と、前記深度推定部によって推定された前記深度および前記2次元画像上の前記解析対象の位置に基づいて、前記現実空間を模した3次元空間モデル上に前記3次元対象モデルを配置する配置部と、前記3次元空間モデル内の物体を示す物体モデルと前記3次元対象モデルとの相対位置に基づいて、前記現実空間における前記解析対象の動作を推定する動作推定部と、を備える。
【発明の効果】
【0007】
本発明の一態様によれば、2次元画像に写る解析対象の動作を精度良く推定できる。
【図面の簡単な説明】
【0008】
【
図1】第1実施形態にかかる動作推定装置10の構成を示すブロック図である。
【
図3】3次元空間モデルSVの一例を示す模式図である。
【
図4A】動作推定部145による動作の推定結果を模式的に示す図である。
【
図4B】動作推定部145による動作の推定結果を模式的に示す図である。
【
図5】動作例2における特定情報Nsの表示例を模式的に示す図である。
【
図6】動作の継続時間に基づく特定情報Nsの表示例を模式的に示す図である。
【
図7】現実空間SRにおける解析対象Hの位置を模式的に示す図である。
【
図8】動作推定装置10の動作を示すフローチャートである。
【
図9】第2実施形態にかかる動作推定装置10の構成を示すブロック図である。
【発明を実施するための形態】
【0009】
A.第1実施形態
図1は、第1実施形態にかかる動作推定装置10の構成を示すブロック図である。動作推定装置10は、現実空間SRで撮像された2次元画像PCに基づいて、当該2次元画像PCに写る解析対象H(例えば人H1,H2)の動作を推定する。
【0010】
動作推定装置10は、具体的には、例えばパーソナルコンピュータ、タブレットまたはスマートフォン等の情報処理端末である。動作推定装置10は、例えば入力装置100と、表示装置110と、通信装置120と、記憶装置130と、処理装置140と、バス150と、を含む。入力装置100、表示装置110、通信装置120および記憶装置130の各々と、処理装置140とは、データの授受を仲介するバス150によって相互に接続される。バス150は、単一のバスを用いて構成されてもよいし、要素間毎に異なるバスを用いて構成されてもよい。
【0011】
入力装置100は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、スイッチ、ボタンまたはセンサなど)である。表示装置110は、外部に対して情報を表示する表示デバイス(例えば、液晶表示パネルまたは有機EL表示パネル等の各種の表示パネル)である。入力装置100および表示装置110は、例えばタッチパネルのように一体であってもよい。
【0012】
通信装置120は、図示しないネットワークに接続可能な通信インターフェースを備え、ネットワークを介して他の装置と通信する。他の装置とは、例えば2次元画像PC(
図2参照)を撮像する撮像装置C(
図7参照)である。撮像装置Cは、例えばカメラである。通信装置120の通信インターフェースは、無線通信インターフェースであってもよいし、有線通信インターフェースであってもよい。
【0013】
記憶装置130は、処理装置140が読み取り可能な記録媒体である。記憶装置130は、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)等の少なくとも1つによって構成されてもよい。記憶装置130には、プログラムPGが記憶されている。プログラムPGは、動作推定装置10を動作させるためのプログラムである。
【0014】
処理装置140は、1または複数のCPU(Central Processing Unit)を含む。処理装置140は、入力装置100に対する入力操作によってプログラムPGの実行を指示されたことを契機として、記憶装置130からプログラムPGを読み取る。処理装置140は、読み取ったプログラムPGを実行する。処理装置140は、プログラムPGを実行することによって、取得部141、対象モデル生成部142、深度推定部143、配置部144、動作推定部145および表示制御部146として機能する。取得部141、対象モデル生成部142、深度推定部143、配置部144、動作推定部145および表示制御部146の少なくとも一部の機能は、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)およびFPGA(Field Programmable Gate Array)等の回路によって構成されてもよい。
【0015】
取得部141は、現実空間SRと現実空間SRに位置する解析対象Hとが撮影された2次元画像PCを取得する。現実空間SRは、例えば店舗、駅、オフィスまたは病院等の室内空間であってもよいし、道路、テーマパークまたはイベント会場等の屋外空間であってもよい。解析対象Hは、人、動物、車両またはロボット等、動作を行う主体である。解析対象Hは、例えば投げられたボール等の物体Bであってもよい。本実施形態では、現実空間SRは室内空間であり、解析対象Hは人H1,H2である(
図2参照)。
【0016】
取得部141は、例えば通信装置120を用いて撮像装置Cから2次元画像PCを取得する。また、撮像装置Cが動作推定装置10と有線で接続可能な範囲に位置している場合には、動作推定装置10に設けられた接続インターフェース(図示なし)を介して撮像装置Cから2次元画像PCを取得してもよい。接続インターフェースは、動作推定装置10が他の装置と接続するためのインターフェースである。接続インターフェースは、例えばUSB(Universal Serial Bus)ケーブル等が接続されるコネクタであってもよいし、Bluetooth(登録商標)またはWi-Fi(登録商標)等の近距離無線通信を利用する通信モジュールであってもよい。
【0017】
取得部141は、現実空間SRの異なる場所に設けられた複数の撮像装置Cから、それぞれ2次元画像PCを取得してもよい。また、取得部141は、撮像装置Cから直接2次元画像PCを取得するに限らず、撮像装置Cから2次元画像PCを取得した他の情報処理装置から2次元画像PCを取得してもよい。
【0018】
本実施形態では、2次元画像PCは、動画を構成する静止画であるものとする。撮像装置Cは、所定のフレームレート毎に静止画(2次元画像PC)を生成することによって、動画を撮像する。撮像装置Cは、静止画(2次元画像PC)を生成する都度、動作推定装置10に送信する。撮像装置Cで動画を撮像することによって、解析対象Hの状態が連続的に把握され、動作の推定精度が向上する。
【0019】
図2は、2次元画像PCの一例を示す模式図である。
図2に示す2次元画像PCには、現実空間SRとして、室内空間が写っている。現実空間SRには、物体B(B1~B6)が存在する。物体Bは、例えば壁B1、床B2、長椅子B3、机B4、丸椅子B5、およびモニタB6等を含む。また、2次元画像PCには、解析対象Hである人H1,H2が写っている。
【0020】
2次元画像PCについて、横方向にXp軸、縦方向にYp軸を取る。2次元画像PCの各点(例えば各画素)は、Xp軸およびYp軸を用いた2次元の座標情報(Xp,Yp)によって特定できる。
【0021】
なお、2次元画像PCに写る物体B(本実施形態において、物体Bは車両等の無生物の他、人または動物等の生物を含むものとする)のうち、いずれを解析対象Hとするかは、2次元画像PCが取得される前から予め指定されていてもよいし、2次元画像PCの取得後に指定されてもよい。解析対象Hが予め指定されている場合、例えばニューラルネットワークを用いた機械学習モデルを用いて、2次元画像PCに写る解析対象Hを検出する。例えば店舗における人の動きをモニタしたい場合、2次元画像PCから人(より詳細には人が写る領域)を検出する第1学習モデルを用いて、店舗内にいる人が検出される。また、解析対象Hが予め指定されていない場合、例えば表示装置110に表示された2次元画像PCを作業者が目視し、解析対象Hとする物体Bが写る部分を、入力装置100を用いて指定する。例えば多くの人が写る2次元画像PCから特定の人のみを解析対象Hとする場合、作業者が解析対象Hとする人が写る部分を指定すると、エッジ検出によって当該人が写る領域が検出される。
【0022】
対象モデル生成部142は、2次元画像PCに基づいて、現実空間SRにおける解析対象Hの形体を模した3次元対象モデルMを生成する。対象モデル生成部142は、例えばニューラルネットワークを用いた機械学習モデル(第2学習モデル)を用いて、3次元対象モデルMを生成する。解析対象Hの形体とは、例えば解析対象Hが人H1,H2である場合には、人H1,H2の姿勢である。
【0023】
本実施形態では、3次元対象モデルMは、人のH1,H2の骨格を示す骨格モデルである。対象モデル生成部142は、例えば人H1,H2の関節および顔パーツ等の特徴点を検出し、特徴点同士をつなぐことによって骨格モデルを生成する。3次元対象モデルMを骨格モデルとすることで、個々の人H1,H2が特定されるのを回避し、プライバシーを保護することができる。また、3次元対象モデルMを骨格モデルとすることで、例えば人H1,H2の衣服等、人H1,H2の動作とは直接関連しない情報が除去されるため、処理装置140の処理負荷が軽減される。なお、3次元対象モデルMは骨格モデルに限らず、例えば人H1,H2を模したアバター等であってもよい。
【0024】
深度推定部143は、2次元画像PCに基づいて、2次元画像PCを撮像する撮像装置Cに対する解析対象Hの深度を推定する。撮像装置Cに対する解析対象Hの深度とは、例えば撮像装置Cの代表点(例えば
図7に示す撮像装置Cのレンズの中心点O)と、解析対象Hの表面の各点(または代表点)との間の距離である。深度推定部143は、例えばニューラルネットワークを用いた機械学習モデル(第3学習モデル)を用いて、2次元画像PCの各画素の深度を推定する。2次元画像PCのうち解析対象Hが写る領域の画素の深度が、解析対象Hの深度である。また、2次元画像PCの各画素の座標と、それぞれの画素の深度とが対応付けられることによって、解析対象Hを含む現実空間SRの点群データが生成される。
【0025】
配置部144は、深度推定部143によって推定された深度および2次元画像PC上の解析対象Hの位置に基づいて、現実空間SRを模した3次元空間モデルSVに3次元対象モデルMを配置する。第1実施形態では、配置部144は、深度推定部143によって推定された深度、2次元画像PC上の解析対象Hの位置および現実空間SRにおける撮像装置Cの位置に基づいて、現実空間SRにおける解析対象Hの位置を示す3次元座標(以下、「現実座標」という)を推定する。そして、配置部144は、3次元空間モデルSV上の現実座標に対応する位置に、3次元対象モデルMを配置する。
【0026】
図7は、現実空間SRにおける解析対象H(一例として人H1)の位置を模式的に示す図である。現実空間SRの任意の点は、それぞれ直交するXr軸,Yr軸およびZr軸を用いた3次元の座標情報(Xr,Yr,Zr)によって特定できる。
図7では撮像装置Cのレンズの中心点Oを原点とした撮像装置Cの注視方向をZr、Zr軸に垂直な面における上方向をYr、右方向をXrとした空間を示している。
【0027】
一般に、解析対象Hは3次元的な広がりを有するため、解析対象Hが現実空間SRに占める領域は複数の座標情報で示される。解析対象Hの位置とは、解析対象Hが現実空間SRに占める領域を示す複数の座標情報であってもよいし、現実空間SRにおける解析対象Hの代表点の位置を示す座標情報であってもよい。以下では、人H1の頭部の中心点Dを、人H1の代表点とする。すなわち、解析対象Hである人H1の位置(現実座標)は、中心点Dを示す3次元座標により示されるものとする。中心点Dを示す3次元座標を、(Xrh,Yrh,Zrh)とする。なお、人H1の代表点は、人H1の頭部の中心点Dに限らず、2次元画像PCから検出できる人体の特徴点(例えば腰または足など)であれば他の部位でもよい。
【0028】
撮像装置Cは天井に取り付けられており、現実空間SRにおける撮像装置Cの取り付け位置は既知である。また、撮像装置Cの撮像方向および撮像倍率が変更可能(すなわち、パン・チルト・ズームが可能)である場合、取得部141が2次元画像PCを取得する際に、撮像装置Cの撮像方向および撮像倍率も取得する。また、撮像装置Cのカメラパラメータも既知であるものとする。よって、配置部144は、2次元画像PCに写る現実空間SRの範囲PAを特定可能である。
【0029】
よって、2次元画像PC上の解析対象Hの位置を現実空間SRの位置に投射するとともに、深度推定部143によって推定された深度に基づいて、撮像装置Cに対する奥行き方向の位置を特定することによって、現実空間SRにおける解析対象Hの位置を示す3次元座標が推定され得る。
図7の例では、人H1の位置(中心点D)を示す3次元座標(Xrh,Yrh,Zrh)が推定される。
【0030】
配置部144は、3次元空間モデルSV上の、3次元座標(Xrh,Yrh,Zrh)に対応する位置に、3次元対象モデルMを配置する。 3次元空間モデルSVは、2次元画像PCが撮像される現実空間SR(本実施形態では室内空間)を再現するように生成される。3次元空間モデルSVは、例えば現実空間SRを3次元スキャンすることによって自動的に生成されてもよい。または、作業者が現実空間SRの寸法等を参考にしながら手動で3次元空間モデルSVを生成してもよい。また、第2実施形態に示すように、2次元画像PCから3次元空間モデルSVが生成されてもよい。
【0031】
3次元空間モデルSVをどの程度の精度で作成するかは、例えばどのような精度で動作の内容を推定するかによって異なる。例えば、動作推定部145において推定する動作が人H1,H2の視認方向である場合、単にどの方向に人H1,H2が向いているかのみを推定すれば足りる場合は、現実空間SRの大まかな構造を規定する物体B(室内空間であれば、床、壁、天井および棚等、室内の間取りを構成する物体B)のみが3次元空間モデルSVに含まれればよい。一方で、人H1,H2が何を見ているかを具体的に特定したい場合は、現実空間SRの大まかな構造を規定する物体Bに加えて、現実空間SRに配置された物体B(室内空間であれば、壁に貼られたポスターまたはテーブルに置かれたカップ等)を3次元空間モデルSVに含めるのが好ましい。
【0032】
図3は、3次元空間モデルSVの一例を示す模式図である。
図3に示される3次元空間モデルSVは、
図2に示す2次元画像PCに示される現実空間SRを再現している。3次元空間モデルSVに含まれる物体モデルBm(Bm1~Bm6)は、
図2の物体B(B1~B6)に対応する。また、3次元空間モデルSVには、人H1,H2を模した3次元対象モデル(骨格モデル)M1,M2が配置されている。
【0033】
3次元空間モデルSVの任意の点は、それぞれ直行するXv軸、Yv軸およびZv軸を用いた3次元の座標情報(Xv,Yv,Zv)によって特定できる。3次元空間モデルSVの座標情報(Xv,Yv,Zv)と、現実空間SRの座標情報(Xr,Yr,Zr)との対応関係は既知であり、相互に変換可能である。3次元空間モデルSVにおける物体モデルBm(Bm1~Bm6)の位置は、現実空間SRにおける物体B(B1~B6)の位置に対応する。3次元空間モデルSVにおける3次元対象モデルM1の位置(より詳細には3次元対象モデルM1の頭部の中心点Dm)を示す3次元座標を(Xvh,Yvh,Zvh)とする。配置部144は、現実空間SRにおける人H1の3次元座標である(Xrh,Yrh,Zrh)に対して座標変換処理を行うことによって、3次元座標(Xvh,Yvh,Zvh)を算出し、3次元対象モデルM1を配置する。
【0034】
動作推定部145は、3次元空間モデルSV内の物体モデルBmと3次元対象モデルMとの相対位置に基づいて、現実空間SRにおける解析対象Hの動作を推定する。現実空間SRで解析対象Hが動作を行う場合、少なくとも動作の開始時および動作の終了時において、現実空間SRに存在する物体Bとの間の相対位置が変化する。例えば解析対象Hの動作が、物体Bに作用を及ぼす動作(例えば物体Bの移動等)の場合、解析対象Hの少なくとも一部(または打撃具等の他の物体)を物体Bに接触させて力を加える。すなわち、解析対象Hの少なくとも一部が物体Bに接触する位置となる。また、例えば解析対象Hの動作が、物体Bに作用を及ぼさない動作(例えば周囲の物体Bの視認等)の場合、解析対象Hの身体の少なくとも一部(物体Bの視認の場合は頭部)と周囲の物体Bとの相対位置が変化する。よって、3次元空間モデルSV内の物体モデルBmと3次元対象モデルMとの相対位置に基づいて、現実空間SRにおける解析対象Hの動作を推定することができる。
【0035】
動作推定部145は、例えば3次元空間モデルSV内の物体モデルBmと3次元対象モデルMとが接触する箇所に基づいて、動作を推定する。例えば3次元対象モデルM1の手が丸椅子B5を示す物体モデルBm5に触れている場合、動作推定部145は、人H1が丸椅子B5を移動させていると推定する。また、例えば3次元対象モデルM1の下肢部が物体モデルBm5に触れている場合、動作推定部145は、人H1が丸椅子B5に座っていると推定する。
【0036】
他にも、例えば店舗を模した3次元空間モデルSVにおいて、来店者を模した3次元対象モデルMの手が商品を示す物体モデルBmに触れた場合、動作推定部145は、現実空間SRの店舗において来店者が商品を手に取ったと推定する。3次元空間モデルSVが現実空間SRの店舗の棚割りを再現している場合、動作推定部145は、来店者が手に取った具体的な商品を特定できる。3次元空間モデルSVが現実空間SRの店舗の棚割りを再現していない場合でも、来店者が商品を手に取ったことを特定できる。
【0037】
また、動作推定部145は、例えば3次元対象モデルMの特定の部位が向く方向に位置する3次元空間モデルSV内の物体モデルBmに基づいて、動作を推定する。例えば、特定の部位を3次元対象モデルMの目もしくは顔とすることで、特定の部位が向く方向を、3次元対象モデルMの視線の向きとみなすことができる。よって、この向きに位置する物体モデルBmは、解析対象Hが見ている物体Bに対応すると推定される。
【0038】
図4Aおよび
図4Bは、動作推定部145による動作の推定結果を模式的に示す図である。
図4Aは、3次元空間モデルSVの側面図であり、
図4Bは、3次元空間モデルSVの上面図である。
図4Aおよび
図4Bには、3次元対象モデルM1,M2の視線の向きL1,L2が示されている。視線の向きL1,L2は、3次元対象モデルM1,M2の顔の向きを視線の向きと見做したものである。
【0039】
人H1に対応する3次元対象モデルM1の視線の向きL1には、壁B1に対応する物体モデルBm1が位置する。よって、動作推定部145は、人H1は壁B1を見ていると推定する。また、人H2に対応する3次元対象モデルM2の視線の向きL2には、モニタB6に対応する物体モデルBm6が位置する。よって、動作推定部145は、人H2はモニタB6を見ていると推定する。3次元空間モデルSVに3次元対象モデルM1,M2を配置することによって、動作の向きが3次元的に推定可能となり、2次元画像PCのみを用いて解析対象Hの動作を推定するのと比較して、動作の推定精度が向上する。
【0040】
表示制御部146は、解析対象Hが行う動作が現実空間SRの物体Bの所定箇所に対する動作である場合に、所定箇所を特定する特定情報Nsを3次元空間モデルSVに表示する。物体Bの所定箇所に対する動作とは、例えば解析対象Hが所定箇所に接触することによって行う動作(動作例1、例えば商品の所定箇所を手に取る等)であってもよいし、解析対象Hの特定の部位を所定箇所に向けることによって行う動作(動作例2、例えば壁B1の所定箇所を目視する等)であってもよい。
【0041】
例えば動作例1について、表示制御部146は、3次元対象モデルM1と、物体モデルBmとの接触点(または接触領域)を特定情報Nsとして3次元空間モデルSVに表示する。特定情報Nsは、例えば3次元空間モデルSVとともに、表示装置110に表示される。より具体的には、例えば3次元対象モデルM1の手が商品のパッケージに触れた場合、手とパッケージの接触箇所に特定情報Nsを表示する。特定情報Nsは、例えば円等のマークであってもよい。これにより、3次元対象モデルM1が何らかの商品を手に取ったことが明確に把握でき、解析対象Hの動作の把握を確実に行い得る。
【0042】
また、例えば動作例2について、表示制御部146は、3次元対象モデルM1の視線の向きL1と、3次元空間モデルSV内の物体モデルBm(例えば
図4Aの例では壁B1を示す物体モデルBm1)との衝突点を特定情報Nsとして3次元空間モデルSVに表示する。視線の向きL1と物体モデルBmとの衝突点を、以下「目視点」という。
【0043】
図5は、動作例2における特定情報Nsの表示例を模式的に示す図である。
図5に示す3次元空間モデルSVには、3次元対象モデルM1の視線の向きL1および特定情報Ns(Ns-0およびNs-n)が示されている。
図5の例では、特定情報Nsは、円形の画像である。特定情報Ns-0は、
図5に示す時刻における3次元対象モデルM1の目視点である。特定情報Ns-nは、特定情報Ns-0以外の特定情報Nsである。特定情報Ns-nは、
図5に示す時刻よりも過去の所定期間における3次元対象モデルM1の目視点である。
【0044】
上述のように、2次元画像PCは動画を構成する静止画像であり、所定のフレームレート毎に新たな2次元画像PC(フレーム画像)が取得される。そして、2次元画像PCが取得される度に、解析対象Hの人H1,H2の姿勢の変化が3次元対象モデルM1,M2の状態に反映される。一般に、例えば商品を手に取る、等の動作と比較して、目視点は変化が速い。また、特定情報Nsが示されてない限り、過去の目視点を把握するのは困難である。よって、
図5には、過去の所定期間に取得された複数の2次元画像PCのそれぞれにおける衝突点が特定情報Nsとして示されている。
【0045】
一方で、
図5のように、動画を構成する全てのフレーム画像における特定情報Ns(衝突点)を表示すると、例えば視線の移動中における衝突点も表示されるので、解析対象Hが注目している箇所が分かりにくい場合がある。よって、例えば衝突点が変化しない状態が所定時間以上継続している場合に、当該衝突点を示す特定情報Nsを表示してもよい。衝突点が変化しないとは、衝突点の3次元座標が同一であるのみならず、衝突点の3次元座標の変化が所定範囲内である場合を含めてもよい。言い換えると、全てのフレーム画像における衝突点を表示するとノイズが多いので、複数のフレーム画像に渡って所定範囲内に存在する衝突点をフィルタリングして表示してもよい。
【0046】
図6は、動作の継続時間に基づく特定情報Nsの表示例を模式的に示す図である。
図6に示す3次元空間モデルSVには、3次元対象モデルM1の視線の向きL1との衝突が所定期間以上継続した箇所を示す特定情報Ns-kが示されている。特定情報Ns-kを参照すると、3次元対象モデルM1の視線は、エリアA1およびA2に向いている期間が長い。よって、エリアA1およびA2が、人H1の注視領域であることが特定される。
【0047】
このように、表示制御部146は、動作の継続時間に基づいて、特定情報Nsの表示態様を変更してもよい。表示態様の変更は、特定情報Nsの表示の有無に限らず、例えば表示の大小(例えば継続時間が長いほど特定情報Nsの表示が大きい)または表示の色(例えば一般的にヒートマップとして用いられる、赤ーオレンジー黄―緑―青―紫、等の配色を用い、継続時間が長いほど特定情報Nsの色が赤に近づく)等を変更してもよい。
【0048】
図8は、動作推定装置10の動作を示すフローチャートである。動作推定装置10の処理装置140は、取得部141として機能し、現実空間SRと解析対象Hとが撮影された2次元画像PCを撮像装置Cから取得する(ステップS10)。処理装置140は、対象モデル生成部142として機能し、2次元画像PCに基づいて、現実空間SRにおける解析対象Hの形体を模した3次元対象モデルMを生成する(ステップS11)。
【0049】
処理装置140は、深度推定部143として機能し、2次元画像PCに基づいて、2次元画像PCを撮像する撮像装置Cに対する解析対象Hの深度を推定する(ステップS12)。処理装置140は、配置部144として機能し、深度推定部143によって推定された深度、2次元画像PC上の解析対象Hの位置、および現実空間SRにおける撮像装置Cの位置に基づいて、現実空間SRにおける解析対象Hの位置を示す3次元座標を推定する(ステップS13)。なお、ステップS11の処理と、ステップS12~S13の処理とは、順序を入れ替えてもよいし、同時に行ってもよい。
【0050】
処理装置140は、配置部144として機能し、現実空間SRを模した3次元空間モデルSV上の、ステップS13で推定した3次元座標に対応する位置に、3次元対象モデルMを配置する(ステップS14)。処理装置140は、動作推定部145として機能し、3次元空間モデルSV内の物体モデルBmと3次元対象モデルMとの相対位置に基づいて、現実空間SRにおける解析対象Hの動作を推定する(ステップS15)。
【0051】
処理装置140は、表示制御部146として機能し、解析対象Hによる動作の対象となる所定箇所を特定する特定情報Nsを3次元空間モデルSVに表示する(ステップS16)。その後、処理装置140は、処理をステップS10に戻し、以降の処理を繰り返す。
【0052】
以上説明したように、実施形態にかかる動作推定装置10は、2次元画像PCに基づいて解析対象Hの3次元対象モデルMを生成し、現実空間SRを模した3次元空間モデルSVに3次元対象モデルMを配置する。そして、動作推定装置10は、3次元空間モデルSV内の物体モデルBmと3次元対象モデルMとの相対位置に基づいて、現実空間SRにおける解析対象Hの動作を推定する。言い換えると、2次元画像PCに写る解析対象Hが3次元空間モデルSVに投射される。よって、2次元画像PCのみを用いるのと比較して、解析対象Hの動作の推定精度が向上する。
【0053】
また、動作推定装置10は、物体モデルBmと3次元対象モデルMとが接触する箇所に基づいて、解析対象Hの動作を推定する。2次元画像PCでは、特に奥行き方向に関して物体Bと解析対象Hとが接触しているか、および、接触している場合の接触箇所が判別しにくい。動作推定装置10は、3次元空間モデルSVを用いることによって、物体Bと解析対象Hとが接触しているか、および、接触している場合の接触箇所を精度良く検出することができ、解析対象Hの動作の推定精度が向上する。
【0054】
また、動作推定装置10は、3次元対象モデルMの特定の部位が向く方向に位置する物体モデルBmに基づいて、解析対象Hの動作を推定する。2次元画像PCでは、解析対象Hの一部の部位が向く方向が判別しにくい。動作推定装置10は、3次元空間モデルSVを用いることによって、解析対象Hの一部の部位が向く方向を3次元的に解析するので、解析対象Hの一部の部位が向く方向に位置する物体Bを精度良く検出することができ、解析対象Hの動作の推定精度が向上する。
【0055】
また、動作推定装置10は、解析対象Hが現実空間SRの所定箇所に向けた動作を行っている場合、所定箇所を特定する特定情報Nsを3次元空間モデルSVに表示する。よって、動作の対象となる箇所が明確になり、解析対象Hの動作の内容がより精度よく推定される。
【0056】
また、動作推定装置10は、特定情報Nsを表示するに際して、動作の継続時間に基づいて特定情報Nsの表示態様を変更する。よって、例えば動作のぶれ等のノイズが除去され、解析対象Hの動作がより精度よく推定される。
【0057】
また、動作推定装置10は、解析対象Hが人H1,H2の場合に、3次元対象モデルMとして人H1,H2の骨格を示す骨格モデルを生成する。よって、2次元画像PCに写る人H1,H2が特定されることなく、プライバシーが保護される。また、人H1,H2の衣服等の動作と関連しない情報を処理しなくてもよいため、動作推定装置10の処理負荷が軽減される。
【0058】
B:第2実施形態
以下、本発明の第2実施形態について説明する。なお、以下の説明では、説明の簡略化のため、第1実施形態と同一の構成要素に対しては、同一の符号を用いるとともに、その機能の説明を省略することがある。また、以下の説明では、説明の簡略化のため、主として、第2実施形態が、第1実施形態に比較して相違する点について説明する。
【0059】
図9は、第2実施形態にかかる動作推定装置10の構成を示すブロック図である。第2実施形態にかかる動作推定装置10は、第1実施形態にかかる動作推定装置10の構成(
図1参照)に加えて、空間モデル生成部147を有する。
【0060】
空間モデル生成部147は、2次元画像PCおよび深度推定部143によって推定された深度に基づいて、3次元空間モデルSVを生成する。第1実施形態で説明したように、2次元画像PCの各画素の座標と、深度推定部143によって推定されたそれぞれの画素の深度とが対応付けられることによって、現実空間SRの点群データが生成される。空間モデル生成部147は、点群データを用いて3次元空間モデルSVを生成する。点群データを用いて3次元空間モデルSVを生成する方法は公知であるため、詳細な説明は省略するが、現実空間SRが店舗等の構造物である場合には、床、壁および棚等の平面で構成される箇所が多い。よって、立方体又は直方体の形状をした単位空間であるVoxelを用いて表現することが好適である。
【0061】
なお、3次元空間モデルSVの生成に用いられる2次元画像PCは、解析対象Hが写っていない画像が好ましい。よって、第2実施形態では、取得部141は、現実空間SRと現実空間SRに位置する解析対象Hとが撮影された2次元画像PC(例えば「第1画像」という)の他、現実空間SRのみが写る他の2次元画像PC(例えば「第2画像」という)を、同一の撮像装置Cから取得する。深度推定部143は、第2画像の各画素の深度を推定して、第2画像の点群データを生成する。
【0062】
第2実施形態において、配置部144は、2次元画像PC(第1画像)上の解析対象Hの位置に対応する3次元空間モデルSV上の位置に、3次元対象モデルMを配置する。上述のように、3次元空間モデルSVは2次元画像PC(第2画像)を用いて生成されているので、2次元画像PC(第1画像)上の位置の、3次元空間モデルSV上の位置への変換は、精度良く行うことができる。
【0063】
動作推定部145は、第1実施形態と同様に、3次元空間モデルSV内の物体モデルBmと3次元対象モデルMとの相対位置に基づいて、現実空間SRにおける解析対象Hの動作を推定する。第1実施形態では、3次元空間モデルSVに3次元対象モデルMを配置するために、現実空間SRにおける解析対象Hの3次元座標の推定を行った。この過程で、相対深度を絶対深度に変換する必要があり、誤差が生じる可能性があった。これに対して、第2実施形態では、3次元空間モデルSVの元となる第2画像と、解析対象Hが写る第1画像とが、同じ撮像装置Cで撮影されており、相対深度のスケールは同一である。よって、相対座標のまま動作推定の計算ができるので、相対深度を絶対深度に変換する際に乗る誤差を排除することが可能となり、より精度よく解析対象Hの動作を推定できる。
【0064】
第2実施形態によれば、空間モデル生成部147は、2次元画像PCを用いて3次元空間モデルSVを生成する。よって、例えば現実空間SRを3次元スキャンしたり、作業者が現実空間SRの寸法等を参考にしながら3次元空間モデルSVを生成するのと比較して、作業者の負担を軽減することができる。
【0065】
また、第2実施形態によれば、2次元画像PCを用いて3次元空間モデルSVを生成するので、相対深度を絶対深度に変換する必要がなく、変換の際に生じる誤差を排除することができる。よって、より精度よく解析対象Hの動作を推定することができる。
【0066】
C:変形例
上述の実施形態における変形の態様を以下に示す。以下の変形の態様から任意に選択された2以上の態様を、相互に矛盾しない範囲において適宜に併合してもよい。
【0067】
C1:第1変形例
上述した実施形態では、特定情報Nsを含む3次元空間モデルSV等、解析対象Hが行う動作の推定結果を示す画像(以下、「推定結果画像」という)が、動作推定装置10の表示装置110に表示された。これに限らず、例えば動作推定装置10とは異なる他の情報処理端末を用いて動作推定装置10に接続し、他の情報処理端末で推定結果画像を閲覧してもよい。この時、他の情報処理端末では、ストリーミングによって推定結果画像を閲覧してもよいし、推定結果画像をダウンロードした上で閲覧してもよい。また、2次元画像PCを用いた動作の推定は、2次元画像PCの取得と同時に行ってもよいし、取得した2次元画像PCを記憶装置130に保存しておき、後から行ってもよい。また、推定結果画像を動作推定装置10に保存しておき、推定結果画像を過去に遡って閲覧できるようにしてもよい。
【0068】
D:その他
(1)上述した実施形態では、記憶装置130としてROM及びRAM等が例示されたが、記憶装置130は、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリデバイス(例えば、カード、スティック、キードライブ)、CD-ROM(Compact Disc-ROM)、レジスタ、リムーバブルディスク、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ、データベース、サーバその他の適切な記憶媒体であってもよい。
【0069】
(2)上述した実施形態において、説明した情報、信号等は、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップ等は、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【0070】
(3)上述した実施形態において、入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【0071】
(4)上述した実施形態において、判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
【0072】
(5)上述した実施形態において例示した処理手順、シーケンス、フローチャート等は、矛盾の無い限り、順序が入れ替えられてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素が提示されており、提示された特定の順序に限定されない。
【0073】
(6)
図1に例示された各機能は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線等を用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
【0074】
(7)上述した実施形態で例示したプログラムは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能等を意味するよう広く解釈されるべきである。
【0075】
また、ソフトウェア、命令、情報等は、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)等)及び無線技術(赤外線、マイクロ波等)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
【0076】
(8)前述の各形態において、「システム」及び「ネットワーク」という用語は、互換的に使用される。
【0077】
(9)本開示において説明した情報、パラメータ等は、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
【0078】
(10)上述した実施形態において、携帯機器には、移動局(MS:Mobile Station)である場合が含まれる。移動局は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、又はいくつかの他の適切な用語で呼ばれる場合もある。また、本開示においては、「移動局」、「ユーザ端末(user terminal)」、「ユーザ装置(UE:User Equipment)」、「端末」等の用語は、互換的に使用され得る。
【0079】
(11)上述した実施形態において、「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は、「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギー等を用いて、互いに「接続」又は「結合」されると考えることができる。
【0080】
(12)上述した実施形態において、「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【0081】
(13)本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事等を含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事等を含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)等した事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」等で読み替えられてもよい。
【0082】
(14)上述した実施形態において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。更に、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
【0083】
(15)本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
【0084】
(16)本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBが夫々Cと異なる」ことを意味してもよい。「離れる」、「結合される」等の用語も、「異なる」と同様に解釈されてもよい。
【0085】
(17)本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
【符号の説明】
【0086】
10…動作推定装置、100…入力装置、110…表示装置、120…通信装置、130…記憶装置、140…処理装置、141…取得部、142…対象モデル生成部、143…深度推定部、144…配置部、145…動作推定部、146…表示制御部、147…空間モデル生成部、B(B1~B6)…物体、Bm(Bm1~Bm6)…物体モデル、C…撮像装置、H…解析対象、H1,H2…人、M(M1,M2)…3次元対象モデル、Ns(Ns-0,Ns-k,Ns-n)…特定情報、PC…2次元画像、SR…現実空間、SV…3次元空間モデル。