(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-31
(45)【発行日】2024-11-11
(54)【発明の名称】処理システム、および処理方法
(51)【国際特許分類】
G06F 3/01 20060101AFI20241101BHJP
G06T 7/20 20170101ALI20241101BHJP
G05D 1/43 20240101ALI20241101BHJP
【FI】
G06F3/01 570
G06T7/20 300A
G05D1/43
(21)【出願番号】P 2021031630
(22)【出願日】2021-03-01
【審査請求日】2023-11-28
(73)【特許権者】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】100165179
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100126664
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100154852
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100194087
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】安井 裕司
【審査官】三田村 陽平
(56)【参考文献】
【文献】特表2019-522853(JP,A)
【文献】国際公開第2016/170872(WO,A1)
【文献】特開2016-101774(JP,A)
【文献】特表2019-533846(JP,A)
【文献】特開2015-048025(JP,A)
【文献】国際公開第2020/071144(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048- 3/04895
G06T 7/00 - 7/90
G05D 1/00 - 1/87
(57)【特許請求の範囲】
【請求項1】
ユーザが撮像された画像を取得する取得部と、
前記画像が撮像されたときの前記ユーザが存在する領域を認識し、
前記画像が撮像されたとき前記ユーザが第1領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第1情報とに基づいて、前記ユーザのジェスチャを認識し、
前記画像が撮像されたとき前記ユーザが第2領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第2情報とに基づいて、前記ユーザのジェスチャを認識する認識部と、を備え、
前記認識部は、
前記ジェスチャの認識結果に基づいて制御される移動体の周辺を撮像する第1撮像部により撮像された第1画像および前記移動体を遠隔で操作するユーザを撮像する第2撮像部により撮像された第2画像に基づいて前記ユーザのジェスチャを認識する処理を試行し、前記第1画像に基づく認識の結果よりも、前記第2画像に基づく認識の結果を優先して採用し、前記ジェスチャを認識する、
処理システム。
【請求項2】
ユーザが撮像された画像を取得する取得部と、
前記画像が撮像されたときの前記ユーザが存在する領域を認識し、
前記画像が撮像されたとき前記ユーザが第1領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第1情報とに基づいて、前記ユーザのジェスチャを認識し、
前記画像が撮像されたとき前記ユーザが第2領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第2情報とに基づいて、前記ユーザのジェスチャを認識する認識部と、を備え、
前記認識部は、
前記ユーザが第1領域に存在し、且つ前記ジェスチャの認識結果に基づいて制御される移動体の周辺を撮像する第1撮像部により撮像された第1画像に基づいて前記ユーザのジェスチャを認識できない場合、前記第1情報を参照して前記移動体を遠隔で操作するユーザを撮像する第2撮像部により撮像された第2画像に基づいて前記ユーザのジェスチャを認識する、
処理システム。
【請求項3】
ユーザが撮像された画像を取得する取得部と、
前記画像が撮像されたときの前記ユーザが存在する領域を認識し、
前記画像が撮像されたとき前記ユーザが第1領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第1情報とに基づいて、前記ユーザのジェスチャを認識し、
前記画像が撮像されたとき前記ユーザが第2領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第2情報とに基づいて、前記ユーザのジェスチャを認識する認識部と、
移動体の周辺を撮像する第1撮像部と、
前記移動体を遠隔で操作するユーザを撮像する第2撮像部と、
前記ユーザのジェスチャと前記移動体の動作とが関連付けられた参照情報が記憶された記憶装置と、
前記参照情報を参照して、前記認識部により認識された前記ユーザのジェスチャに関連付けられた前記移動体の動作に基づいて、前記移動体を制御する制御部と、を備え、
前記認識部は、前記第1撮像部により撮像された第1画像および前記第2撮像部により撮像された第2画像に基づいて前記ユーザのジェスチャを認識する処理を試行し、前記第1画像に基づく認識の結果よりも、前記第2画像に基づく認識の結果を優先して採用し、
前記制御部は、前記第1撮像部により撮像された画像から得られる周辺の状況と前記認識部が認識したジェスチャに関連付けられた動作とに基づいて前記移動体を制御する、
処理システム。
【請求項4】
ユーザが撮像された画像を取得する取得部と、
前記画像が撮像されたときの前記ユーザが存在する領域を認識し、
前記画像が撮像されたとき前記ユーザが第1領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第1情報とに基づいて、前記ユーザのジェスチャを認識し、
前記画像が撮像されたとき前記ユーザが第2領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第2情報とに基づいて、前記ユーザのジェスチャを認識する認識部と、
移動体の周辺を撮像する第1撮像部と、
前記移動体を遠隔で操作するユーザを撮像する第2撮像部と、
前記ユーザのジェスチャと前記移動体の動作とが関連付けられた参照情報が記憶された記憶装置と、
前記参照情報を参照して、前記認識部により認識された前記ユーザのジェスチャに関連付けられた前記移動体の動作に基づいて、前記移動体を制御する制御部と、を備え、
前記認識部は、前記ユーザが第1領域に存在し、且つ前記第1撮像部により撮像された第1画像に基づいて前記ユーザのジェスチャを認識できない場合、前記第1情報を参照して前記第2撮像部により撮像された第2画像に基づいて前記ユーザのジェスチャを認識し、
前記認識部が認識したジェスチャに応じて前記第1撮像部により撮像された画像に基づいて前記移動体を制御する制御部を備える、
処理システム。
【請求項5】
前記第1領域は、前記画像を撮像する撮像装置から所定距離の範囲内の領域であり、
前記第2領域は、前記撮像装置から前記所定距離よりも遠い位置に設定された領域である、
請求項1から4のうちいずれか1項に記載の処理システム。
【請求項6】
前記第1情報は、腕の動きを含まず手または指の動きによるジェスチャを認識するための情報である、
請求項1から5のうちいずれか1項に記載の処理システム。
【請求項7】
前記第2情報は、腕の動きを含むジェスチャを認識するための情報である、
請求項1から6のうちいずれか1項に記載の処理システム。
【請求項8】
前記第1領域は、前記認識部が前記第1領域に存在するユーザが撮像された画像から前記ユーザの腕の動きを認識できない、または認識しにくい領域である、
請求項7に記載の処理システム。
【請求項9】
前記認識部は、前記画像が撮像されたとき前記ユーザが前記第1領域と前記第1領域の外側の前記第1領域に隣接する第2領域とに跨る第3領域または前記第1領域と前記第1領域よりも遠い第2領域との間の第3領域に存在する場合、前記画像と、前記第1情報と、前記第2情報とに基づいて前記ユーザのジェスチャを認識する、
請求項1から8のうちいずれか1項に記載の処理システム。
【請求項10】
前記認識部は、前記画像と、前記第1情報と、前記第2情報とに基づいて前記ユーザのジェスチャを認識する場合、前記画像と前記第1情報とに基づく認識の結果を、前記画像と前記第2情報とに基づく認識の結果よりも優先して、前記ユーザのジェスチャを認識する、
請求項9に記載の処理システム。
【請求項11】
コンピュータが、
ユーザが撮像された画像を取得し、
前記画像が撮像されたときの前記ユーザが存在する領域を認識し、
前記画像が撮像されたとき前記ユーザが第1領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第1情報とに基づいて、前記ユーザのジェスチャを認識し、
前記画像が撮像されたとき前記ユーザが第2領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第2情報とに基づいて、前記ユーザのジェスチャを認識し、
前記ジェスチャの認識結果に基づいて制御される移動体の周辺を撮像する第1撮像部により撮像された第1画像および前記移動体を遠隔で操作するユーザを撮像する第2撮像部により撮像された第2画像に基づいて前記ユーザのジェスチャを認識する処理を試行し、前記第1画像に基づく認識の結果よりも、前記第2画像に基づく認識の結果を優先して採用し、前記ジェスチャを認識する、
処理方法。
【請求項12】
コンピュータが、
ユーザが撮像された画像を取得し、
前記画像が撮像されたときの前記ユーザが存在する領域を認識し、
前記画像が撮像されたとき前記ユーザが第1領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第1情報とに基づいて、前記ユーザのジェスチャを認識し、
前記画像が撮像されたとき前記ユーザが第2領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第2情報とに基づいて、前記ユーザのジェスチャを認識し、
前記ユーザが第1領域に存在し、且つ前記ジェスチャの認識結果に基づいて制御される移動体の周辺を撮像する第1撮像部により撮像された第1画像に基づいて前記ユーザのジェスチャを認識できない場合、前記第1情報を参照して前記移動体を遠隔で操作するユーザを撮像する第2撮像部により撮像された第2画像に基づいて前記ユーザのジェスチャを認識する、
処理方法。
【請求項13】
コンピュータが、
ユーザが撮像された画像を取得し、
前記画像が撮像されたときの前記ユーザが存在する領域を認識し、
前記画像が撮像されたとき前記ユーザが第1領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第1情報とに基づいて、前記ユーザのジェスチャを認識し、
前記画像が撮像されたとき前記ユーザが第2領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第2情報とに基づいて、前記ユーザのジェスチャを認識し、
記憶装置に記憶された前記ユーザのジェスチャと移動体の動作とが関連付けられた参照情報を参照して、認識された前記ユーザのジェスチャに関連付けられた前記移動体の動作に基づいて、前記移動体を制御し、
移動体の周辺を撮像する第1撮像部により撮像された第1画像および前記移動体を遠隔で操作するユーザを撮像する第2撮像部により撮像された第2画像に基づいて前記ユーザのジェスチャを認識する処理を試行し、前記第1画像に基づく認識の結果よりも、前記第2画像に基づく認識の結果を優先して採用し、
前記第1撮像部により撮像された画像から得られる周辺の状況と認識したジェスチャに関連付けられた動作とに基づいて前記移動体を制御する、
処理方法。
【請求項14】
コンピュータが、
ユーザが撮像された画像を取得し、
前記画像が撮像されたときの前記ユーザが存在する領域を認識し、
前記画像が撮像されたとき前記ユーザが第1領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第1情報とに基づいて、前記ユーザのジェスチャを認識し、
前記画像が撮像されたとき前記ユーザが第2領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第2情報とに基づいて、前記ユーザのジェスチャを認識し、
記憶装置に記憶された
前記ユーザのジェスチャと移動体の動作とが関連付けられた参照情報を参照して、認識された前記ユーザのジェスチャに関連付けられた前記移動体の動作に基づいて、前記移動体を制御し、
前記ユーザが第1領域に存在し、且つ移動体の周辺を撮像する第1撮像部により撮像された第1画像に基づいて前記ユーザのジェスチャを認識できない場合、前記第1情報を参照して前記移動体を遠隔で操作するユーザを撮像する第2撮像部により撮像された第2画像に基づいて前記ユーザのジェスチャを認識し、
認識したジェスチャに応じて前記第1撮像部により撮像された画像に基づいて前記移動体を制御する、
処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ジェスチャ認識装置、移動体、ジェスチャ認識方法、およびプログラムに関する。
【背景技術】
【0002】
従来、ユーザを所望の場所に案内したり、荷物を搬送したりするロボットが知られている。例えば、上記のようなサービスを提供する際に人との距離を所定距離に保って移動する移動ロボットが開示されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の技術では、ユーザの利便性が十分でない場合があった。
【0005】
本発明は、このような事情を考慮してなされたものであり、ユーザの利便性を向上させることができるジェスチャ認識装置、移動体、ジェスチャ認識方法、およびプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【0006】
この発明に係るジェスチャ認識装置、移動体、ジェスチャ認識方法、およびプログラムは、以下の構成を採用した。
(1):ジェスチャ認識装置は、ユーザが撮像された画像を取得する取得部と、前記画像が撮像されたときの前記ユーザが存在する領域を認識し、前記画像が撮像されたとき前記ユーザが第1領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第1情報とに基づいて、前記ユーザのジェスチャを認識し、前記画像が撮像されたとき前記ユーザが第2領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第2情報とに基づいて、前記ユーザのジェスチャを認識する認識部とを備える。
【0007】
(2):上記(1)の態様において、前記第1領域は、前記画像を撮像する撮像装置から所定距離の範囲内の領域であり、前記第2領域は、前記撮像装置から前記所定距離よりも遠い位置に設定された領域である。
【0008】
(3):上記(1)または(2)の態様において、前記第1情報は、腕の動きを含まず手または指の動きによるジェスチャを認識するための情報である。
【0009】
(4):上記(1)から(3)のいずれかの態様において、前記第2情報は、腕の動きを含むジェスチャを認識するための情報である。
【0010】
(5):上記(4)の態様において、前記第1領域は、前記認識部が前記第1領域に存在するユーザが撮像された画像から前記ユーザの腕の動きを認識できない、または認識しにくい領域である。
【0011】
(6):上記(1)から(5)のいずれかの態様において、 前記認識部は、前記画像が撮像されたとき前記ユーザが前記第1領域と前記第1領域の外側の前記第1領域に隣接する第2領域とに跨る第3領域または前記第1領域と前記第1領域よりも遠い第2領域との間の第3領域に存在する場合、前記画像と、前記第1情報と、前記第2情報とに基づいて前記ユーザのジェスチャを認識するものである。
【0012】
(7):上記(6)の態様において、前記認識部は、前記画像と、前記第1情報と、前記第2情報とに基づいて前記ユーザのジェスチャを認識する場合、前記画像と前記第1情報とに基づく認識の結果を、前記画像と前記第2情報とに基づく認識の結果よりも優先して、前記ユーザのジェスチャを認識するものである。
【0013】
(8):移動体は、上記(1)から(7)のいずれかの態様のジェスチャ認識システムを備える。
【0014】
(9):上記(8)の態様において、前記ユーザのジェスチャと前記移動体の動作とが関連付けられた参照情報が記憶された記憶装置と、前記参照情報を参照して、前記認識部により認識された前記ユーザのジェスチャに関連付けられた前記移動体の動作に基づいて、前記移動体を制御する制御部と、を更に備える。
【0015】
(10):上記(9)の態様において、移動体の周辺を撮像する第1撮像部と、前記移動体を遠隔で操作するユーザを撮像する第2撮像部と、を備え、前記認識部は、前記第1撮像部により撮像された第1画像および前記第2撮像部により撮像された第2画像に基づいて前記ユーザのジェスチャを認識する処理を試行し、前記第1画像に基づく認識の結果よりも、前記第2画像に基づく認識の結果を優先して採用し、前記制御部は、前記第1撮像部により撮像された画像から得られる周辺の状況と前記認識部が認識したジェスチャに関連付けられた動作とに基づいて前記移動体を制御する。
【0016】
(11):上記(8)から(10)のいずれかの態様において、移動体の周辺を撮像する第1撮像部と、前記移動体を遠隔で操作するユーザを撮像する第2撮像部と、を備え、前記認識部は、前記ユーザが第1領域に存在し、且つ前記第1撮像部により撮像された第1画像に基づいて前記ユーザのジェスチャを認識できない場合、前記第1情報を参照して前記第2撮像部により撮像された第2画像に基づいて前記ユーザのジェスチャを認識し、前記認識部が認識したジェスチャに応じて前記第1撮像部により撮像された画像に基づいて、前記移動体を制御する制御部を備える。
【0017】
(12):上記(8)から(11)のいずれかの態様において、前記認識部は、撮像された画像に基づいて対象のユーザをトラッキングし、トラッキングしているユーザのジェスチャを認識し、トラッキングしていない人物のジェスチャを認識する処理を行わず、前記トラッキングしているユーザのジェスチャに基づいて前記移動体を制御する制御部を備える。
【0018】
(13):この発明の一態様に係るジェスチャ認識方法は、コンピュータが、ユーザが撮像された画像を取得し、前記画像が撮像されたときの前記ユーザが存在する領域を認識し、前記画像が撮像されたとき前記ユーザが第1領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第1情報とに基づいて、前記ユーザのジェスチャを認識し、前記画像が撮像されたとき前記ユーザが第2領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第2情報とに基づいて、前記ユーザのジェスチャを認識する。
【0019】
(14):この発明の一態様に係るプログラムは、コンピュータに、ユーザが撮像された画像を取得させ、前記画像が撮像されたときの前記ユーザが存在する領域を認識させ、前記画像が撮像されたとき前記ユーザが第1領域に存在する場合、複数の前記画像と、前記ユーザのジェスチャを認識するための第1情報とに基づいて、前記ユーザのジェスチャを認識させ、前記画像が撮像されたとき前記ユーザが第2領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第2情報とに基づいて、前記ユーザのジェスチャを認識させる。
【発明の効果】
【0020】
(1)-(14)によれば、認識部が、ユーザの位置に応じて第1情報または第2情報を用いてジェスチャを認識することにより、ユーザの利便性を向上させることができる。
【0021】
(6)によれば、ジェスチャ認識装置は、第1情報および第2情報を用いてジェスチャを認識することにより、より精度よくジェスチャを認識することができる。
【0022】
(8)-(11)によれば、移動体は、ユーザの意図を反映した動作を行うことができる。例えば、ユーザは、簡易な指示により移動体を容易に動作させることができる。
【0023】
(10)または(11)によれば、移動体は、周辺を認識するための画像を取得するカメラと、遠隔操作用のカメラとが取得した画像に基づいて認識されたジェスチャに応じた動作を行うため、より精度よくジェスチャを認識し、更にユーザの意図に応じた動作を行うことができる。
【0024】
(12)によれば、移動体は、サービスを提供しているユーザをトラッキングし、トラッキング対象のユーザのジェスチャに着目して処理を行うことにより、処理負荷を低減しつつ、ユーザの利便性を向上させることができる。
【図面の簡単な説明】
【0025】
【
図1】実施形態に係る制御装置を備える移動体10の一例を示す図である。
【
図2】移動体10の本体20に含まれる機能構成の一例を示す図である。
【
図4】トラッキング処理の流れの一例を示すフローチャートである。
【
図5】ユーザの特徴量を抽出する処理および特徴量を登録する処理について説明するための図である。
【
図6】認識部54がユーザをトラッキングする処理(
図3のステップS104の処理)について説明するための図である。
【
図7】特徴量を用いたトラッキング処理について説明するための図である。
【
図8】トラッキング対象のユーザを特定する処理を説明するための図である。
【
図9】認識部54がユーザをトラッキングする処理(
図3のステップS104の処理)の他の一例について説明するための図である。
【
図10】トラッキング対象のユーザであると特定する処理について説明するための図である。
【
図11】行動制御処理の流れの一例を示すフローチャートである。
【
図12】ジェスチャを認識する処理について説明するための図である。
【
図13】第1領域に存在するユーザを示す図である。
【
図14】第2領域に存在するユーザを示す図である。
【
図15】第2ジェスチャAについて説明するための図である。
【
図16】第2ジェスチャBについて説明するための図である。
【
図17】第2ジェスチャCについて説明するための図である。
【
図18】第2ジェスチャDについて説明するための図である。
【
図19】第2ジェスチャEについて説明するための図である。
【
図20】第2ジェスチャFについて説明するための図である。
【
図21】第2ジェスチャGについて説明するための図である。
【
図22】第2ジェスチャHについて説明するための図である。
【
図23】第1ジェスチャaについて説明するための図である。
【
図24】第1ジェスチャbについて説明するための図である。
【
図25】第1ジェスチャcについて説明するための図である。
【
図26】第1ジェスチャdについて説明するための図である。
【
図27】第1ジェスチャeについて説明するための図である。
【
図28】第1ジェスチャfについて説明するための図である。
【
図29】第1ジェスチャgについて説明するための図である。
【
図30】制御装置50がジェスチャを認識する処理の一例を示すフローチャートである。
【
図33】第2実施形態の移動体10の本体20Aの機能構成の一例について説明するための図である。
【
図34】第2実施形態の制御装置50により実行される処理の流れの一例を示すフローチャートである。
【
図35】第2ジェスチャGの変形例について説明するための図である。
【
図36】第2ジェスチャHの変形例について説明するための図である。
【
図37】第2ジェスチャFの変形例について説明するための図である。
【
図38】第2ジェスチャFRについて説明するための図である。
【
図39】第2ジェスチャFLについて説明するための図である。
【発明を実施するための形態】
【0026】
以下、図面を参照し、本発明の実施形態に係るジェスチャ認識装置、移動体、ジェスチャ認識方法、およびプログラムについて説明する。
【0027】
<第1実施形態>
[全体構成]
図1は、実施形態に係る制御装置を備える移動体10の一例を示す図である。移動体10は、自律移動型のロボットである。移動体10は、ユーザの行動を支援する。例えば、移動体10は、店舗の店員や、顧客、施設のスタッフ(以下、これらの人物を「ユーザ」と称する)などの指示に応じて顧客のショッピングまたは接客を支援したり、スタッフの作業の支援をしたりする。
【0028】
移動体10は、本体20と、収容器92と、一以上の車輪94(図中、車輪94A、94B)とを備える。移動体10は、ユーザのジェスチャや音声、移動体10の入力部(後述するタッチパネル)に対する操作、端末装置(例えばスマートフォン)に対する操作に基づく指示に応じて移動する。移動体10は、例えば、本体20に設けられたカメラ22により撮像された画像に基づいてジェスチャを認識する。
【0029】
例えば、移動体10は、車輪94を駆動させて、ユーザの移動に合わせて顧客に追従するように移動したり、顧客を先導するように移動したりする。この際、移動体10は、ユーザに商品や作業の説明をしたり、ユーザが探している商品や対象物を案内したりする。また、ユーザは、購入予定の商品や荷物を、これらを収容する収容器92に収納することができる。
【0030】
本実施形態では、移動体10は収容器92を備えるものとして説明するが、これらに代えて(または加えて)、移動体10は、ユーザが移動体10と共に移動するために、着座する着座部や、ユーザが乗り込む筐体、ユーザが足をのせるステップなどが設けられてもよい。
【0031】
図2は、移動体10の本体20に含まれる機能構成の一例を示す図である。本体20は、カメラ22と、通信部24と、位置特定部26と、スピーカ28と、マイク30と、タッチパネル32と、モータ34と、制御装置50とを備える。
【0032】
カメラ22は、移動体10の周辺を撮像する。カメラ22は、例えば、移動体10の周辺を広角に(例えば360度で)撮像可能な魚眼カメラである。カメラ22は、例えば、移動体10の上部に取り付けられ、移動体10の周辺を水平方向に関して広角に撮像する。カメラ22は、複数のカメラ(水平方向に関して120度の範囲や60度の範囲を撮像する複数のカメラ)を組み合わせて実現されてもよい。カメラ22は、1台に限らず複数台移動体10に設けられていてもよい。
【0033】
通信部24は、セルラー網やWi-Fi網、Bluetooth(登録商標)、DSRC(Dedicated Short Range Communication)などを利用して他の装置と通信するための通信インターフェイスである。
【0034】
位置特定部26は、移動体10の位置を特定する。位置特定部26は、移動体10に内蔵されたGPS(Global Positioning System)装置(不図示)により移動体10の位置情報を取得する。位置情報とは、例えば、二次元の地図座標でもよく、緯度経度情報でもよい。
【0035】
スピーカ28は、例えば、所定の音声を出力する。マイク30は、例えば、ユーザが発した音声の入力を受け付ける。
【0036】
タッチパネル32は、LCD(liquid Crystal Display)や有機EL(Electroluminescence)などの表示部と、座標検出機構により操作者のタッチ位置が検出可能な入力部とが重畳して構成される。表示部は、操作用のGUI(Graphical User Interface)スイッチを表示する。入力部は、GUIスイッチに対するタッチ操作、フリック操作、スワイプ操作などを検出したときに、GUIスイッチへのタッチ操作がなされたこと示す操作信号を生成して、制御装置50に出力する。制御装置50は、操作に応じて、スピーカ28に音声を出力させたり、タッチパネル32に画像を表示させたりする。また、制御装置50は、操作に応じて、移動体10を移動させてもよい。
【0037】
モータ34は、車輪94を駆動させて、移動体10を移動させる。車輪94は、例えば、モータ34によって回転方向に駆動される駆動輪と、ヨー方向に駆動される非駆動輪である操舵輪とを含む。操舵輪の角度が調整されることによって、移動体10は進路を変更したり、自転したりすることができる。
【0038】
本実施形態において、移動体10は、移動を実現するための機構として車輪94を備えているが、本実施形態はこの構成に限定されない。例えば、移動体10は多足歩行型のロボットであってもよい。
【0039】
制御装置50は、例えば、取得部52と、認識部54と、軌道生成部56と、走行制御部58と、情報処理部60と、記憶部70とを備える。取得部52と、認識部54と、軌道生成部56と、走行制御部58と、情報処理部60との一部または全部は、例えば、CPU(Central Processing Unit)などのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。これらの機能部の一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めHDD(Hard Disk Drive)やフラッシュメモリなどの記憶部70(非一過性の記憶媒体を備える記憶装置)に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体(非一過性の記憶媒体)に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。取得部52、認識部54、軌道生成部56、走行制御部58、または情報処理部60は、制御装置50(移動体10)とは異なる装置に設けられてよい。例えば、認識部54は、他の装置に設けられ、制御装置50は、他の装置の処理結果に基づいて、移動体10を制御してもよい。また、記憶部70に記憶される情報の一部または全部も他の装置に格納されてもよい。取得部52、認識部54、軌道生成部56、走行制御部58、または情報処理部60のうち、一以上の機能部を含む構成は、システムとして構成されてもよい。
【0040】
記憶部70には、地図情報72や、ジェスチャ情報74、ユーザ情報80が記憶されている。地図情報72は、例えば、道路や施設内の通路を示すリンクと、リンクによって接続されたノードとによって道路や通路の形状が表現された情報である。地図情報72は、道路の曲率やPOI(Point Of Interest)情報などを含んでもよい。
【0041】
ジェスチャ情報74は、ジェスチャに関する情報(テンプレートの特徴量)と、移動体10の動作とが互いに対応付けられた情報である。ジェスチャ情報74は、第1ジェスチャ情報76(第1情報、参照情報)および第2ジェスチャ情報78(第2情報、参照情報)を含む。ユーザ情報80は、ユーザの特徴量を示す情報である。ジェスチャ情報74およびユーザ情報80の詳細については後述する。
【0042】
取得部52は、カメラ22によって撮像された画像(以下、「周辺画像」と称する)を取得する。取得部52は、取得した周辺画像を魚眼カメラ座標系におけるピクセルデータとして保持する。
【0043】
認識部54は、一以上の周辺画像に基づいて、ユーザUによる身体動作(以下、「ジェスチャ」と称する)を認識する。認識部54は、周辺画像から抽出したユーザのジェスチャの特徴量とテンプレートの特徴量(ジェスチャを示す特徴量)とを照合することによって、ジェスチャを認識する。特徴量は、例えば、人の指や、指の関節、手首、腕、骨格などの特徴箇所と、それを繋ぐリンクと、リンクの傾きや位置等とを表すデータである。
【0044】
軌道生成部56は、ユーザのジェスチャや、ユーザにより設定された目的地、周辺の物体、ユーザの位置、地図情報72等に基づいて、移動体10が将来走行すべき軌道を生成する。軌道生成部56は、円弧を複数組み合わせて、目標地点まで移動体10が滑らかに移動できるような軌道を生成する。
図3は、軌道の一例を示す図である。例えば、軌道は、3つの円弧が結合されて生成される。それぞれの円弧は異なる曲率半径R
m1、R
m2、R
m3を持ち、それぞれに対して予測期間T
m1、T
m2、T
m3に対する終点の位置がZ
m1、Z
m2、Z
m3と定義される。また、予測期間T
m1に対する軌道(第一予測期間軌道)は、例えば三等分され、その位置はそれぞれZ
m11、Z
m12、Z
m13である。基準地点における移動体10の進行方向はX方向、X方向に直角に交わる方向はY方向と定義される。第1接線は、Z
m1に対する接線である。第1接線において目標地点方向はX´方向、X´方向に直角に交わる方向はY´方向である。第1接線とX方向とに延在する線分とがなす角はθ
m1である。Y方向に延在する線分とY´方向に延在する線分とのなす角はθ
m1である。Y方向に延在する線分とY´方向に延在する線分とが交わる点が第1予測期間軌道の円弧の中心である。第2接線はZ
m2に対する接線である。第2接線において目標地点方向はX´´方向、X´´方向に直角に交わる方向はY´´方向である。第2接線とX方向とに延在する線分とがなす角はθ
m1+θ
m2である。Y方向に延在する線分とY´´方向に延在する線分とのなす角はθ
m2である。Y方向に延在する線分とY´´方向に延在する線分とが交わる点が第2予測期間軌道の円弧の中心である。第3予測期間軌道の円弧はZ
m2とZ
m3とを通る円弧である。この円弧の中心角はθ
3である。軌道生成部56は、例えば、ベジェ曲線などの幾何的モデルに状態をフィッティングさせることで計算されてもよい。軌道は、例えば、実際には有限個の軌道点の集まりとして生成される。
【0045】
軌道生成部56は、直交座標系と魚眼カメラ座標系との間で座標変換を行う。直交座標系と魚眼カメラ座標系の間では、座標間で一対一の関係が成立し、その関係は対応情報として記憶部70に記憶されている。軌道生成部56は、直交座標系における軌道(直交座標系軌道)を生成し、この軌道を魚眼カメラ座標系における軌道(魚眼カメラ座標系軌道)に座標変換する。軌道生成部56は、魚眼カメラ座標系軌道のリスクを計算する。リスクとは、移動体10が障害物に接近する可能性の高さを示す指標値である。リスクは、軌道(軌道の軌道点)に対して障害物との距離が小さければ小さいほど高く、軌道(軌道点)に対して障害物との距離が大きければ大きいほどリスクを低くなる傾向である。
【0046】
軌道生成部56は、リスクの合計値や、各軌道点のリスクが、予め設定された基準を満たす場合(例えば合計値が閾値Th1以下であり、且つ各軌道点のリスクが閾値Th2以下である場合)、基準を満たす軌道を移動体が移動する軌道として採用する。
【0047】
上記の軌道が予め設定された基準を満たさない場合、以下の処理を行ってもよい。軌道生成部56は、魚眼カメラ座標系において走行可能空間を検出し、検出された魚眼カメラ座標系における走行可能空間を直交座標系における走行可能空間に座標変換する。走行可能空間とは、移動体10の移動方向の領域のうち障害物およびその障害物の周辺の領域(リスクが設定された領域またはリスクが閾値以上の領域)を除いた空間である。軌道生成部56は、直交座標系に座標変換された走行可能空間内に軌道が収まるように軌道を修正する。軌道生成部56は、直交座標系軌道を魚眼カメラ座標系軌道に座標変換して、周辺画像と、魚眼カメラ座標系軌道とに基づいて、魚眼カメラ座標系軌道のリスクを計算する。この処理を繰り返して、上記の予め設定された基準を満たす軌道を探索する。
【0048】
走行制御部58は、予め設定された基準を満たす軌道に沿って、移動体10を走行させる。走行制御部58は、移動体10が軌道に沿って走行させるための指令値をモータ34に出力する。モータ34は、指令値に従って車輪94を回転させ、移動体10を軌道に沿って移動させる。
【0049】
情報処理部60は、本体20に含まれる各種装置や機器を制御する。情報処理部60は、例えば、スピーカ28や、マイク30、タッチパネル32を制御する。また、情報処理部60は、マイク30に入力された音声や、タッチパネル32に対して行われた操作を認識する。情報処理部60は、認識の結果に基づいて移動体10を動作させる。
【0050】
なお、上記の例では、認識部54は、移動体10に設けられたカメラ22により撮像された画像に基づいてユーザの身体動作を認識するものとして説明したが、認識部54は、移動体10に設けられていないカメラ(移動体10とは異なる位置に設けられたカメラ)により撮像された画像に基づいてユーザの身体動作を認識してもよい。この場合、カメラにより撮像された画像は、通信を介して制御装置50に送信され、制御装置50は、送信された画像を取得して、取得した画像に基づいてユーザの身体動作を認識する。また、認識部54は、複数の画像に基づいて、ユーザの身体動作を認識してもよい。例えば、認識部54は、カメラ22により撮像された画像や、移動体10とは異なる位置に設けられたカメラにより撮像された複数の画像に基づいて、ユーザの身体動作を認識してもよい。例えば、認識部54は、各画像からユーザの身体動作を認識し、認識した結果を所定の基準に当てはめて、ユーザの身体動作を認識したり、複数の画像に対して画像処理を行って一以上の画像を生成し、生成した画像からユーザが意図した身体動作を認識したりしてもよい。
【0051】
[支援処理]
移動体10は、ユーザのショッピングを支援する支援処理を実行する。支援処理は、トラッキングに関する処理と、行動制御に関する処理とを含む。
【0052】
[トラッキングに関する処理(その1)]
図4は、トラッキング処理の流れの一例を示すフローチャートである。まず、移動体10の制御装置50は、ユーザの登録を受け付ける(ステップS100)。次に、制御装置50は、ステップS100で登録されたユーザをトラッキングする(ステップS102)。次に、制御装置50は、トラッキングが成功したか否かを判定する(ステップS104)。トラッキングを成功した場合、後述する
図11のステップS200の処理に進む。トラッキングを成功しなかった場合、制御装置50は、ユーザを特定する(ステップS106)。
【0053】
(ユーザを登録する処理)
ステップS100のユーザを登録する処理について説明する。移動体10の制御装置50は、ユーザ(例えば店舗に来店した顧客)の特定のジェスチャや、音声、タッチパネル32に対する操作に基づいてユーザの登録の意志を確認する。ユーザの登録の意志が確認できた場合、制御装置50の認識部54は、ユーザの特徴量を抽出し、抽出した特徴を登録する。
【0054】
図5は、ユーザの特徴量を抽出する処理および特徴量を登録する処理について説明するための図である。制御装置50の認識部54は、ユーザが撮像された画像IM1からユーザを特定し、特定したユーザの関節点を認識する(スケルトン処理を実行する)。例えば、認識部54は、画像IM1からユーザの顔や、顔のパーツ、首、肩、肘、手首、腰、足首などを推定し、推定した各パーツの位置に基づいて、スケルトン処理を実行する。例えば、認識部54は、ディープラーニングを用いてユーザの関節点や骨格を推定する公知の手法(例えばオープンポーズなどの手法)を用いて、スケルトン処理を実行する。次に、認識部54は、スケルトン処理の結果に基づいて、ユーザの顔や、上半身、下半身等を特定し、特定した顔、上半身、下半身ごとの特徴量を抽出して、抽出した特徴量をユーザの特徴量として記憶部70に登録する。顔の特徴量は、例えば、男性、女性、髪型、顔の特徴量である。上半身の特徴量は、例えば、上半身部の色である。下半身の特徴量は、例えば、下半身部の色である。
【0055】
(ユーザをトラッキングする処理)
ステップS102のユーザをトラッキングする処理について説明する。
図6は、認識部54がユーザをトラッキングする処理(
図4のステップS104の処理)について説明するための図である。認識部54は、時刻Tで撮影された画像IM2からユーザを検出する。認識部54は、この検出した人物を、時刻T+1で撮影された画像IM3から検出する。認識部54は、時刻Tおよび時刻T以前のユーザの位置と移動方向とに基づいて、時刻T+1におけるユーザの位置を推定し、推定した位置付近に存在するユーザをトラッキングする対象(トラッキング対象)のユーザであると特定する。ユーザが特定可能な場合、トラッキングが成功したとみなされる。
【0056】
認識部54は、トラッキング処理において、上記のように時刻T+1におけるユーザの位置に加え、更にユーザの特徴量を用いてユーザをトラッキングしてもよい。
図7は、特徴量を用いたトラッキング処理について説明するための図である。例えば、認識部54は、時刻T+1におけるユーザの位置を推定し、推定した位置付近に存在するユーザを特定し、更にそのユーザの特徴量を抽出する。制御装置50は、抽出した特徴量と、登録された特徴量とが閾値以上合致する場合、特定したユーザをトラッキング対象のユーザであると推定し、トラッキングは成功したと判定する。
【0057】
例えば、トラッキング対象のユーザが他の人物と重なったり、交差したりした場合であっても、上記のようにユーザの位置の変化と、ユーザの特徴量とに基づいて、より精度よくユーザがトラッキングされる。
【0058】
(ユーザを特定する処理)
ステップS106のユーザを特定する処理について説明する。認識部54は、ユーザのトラッキングに成功しなかった場合、
図8に示すように、周辺にいる人物の特徴量と、登録されたユーザの特徴量とを照合して、トラッキング対象のユーザを特定する。認識部54は、例えば、画像に含まれる各人物の特徴量を抽出する。認識部54は、各人物の特徴量と、登録されたユーザの特徴量とを照合して、登録されたユーザの特徴量に閾値以上合致する人物を特定する。認識部54は、特定したユーザがトラッキング対象のユーザとされる。
【0059】
上記の処理により、制御装置50の認識部54は、ユーザをより精度よくトラッキングすることができる。
【0060】
[トラッキングに関する処理(その2)]
上記の例では、ユーザは店舗に来店した顧客であるものとして説明したが、ユーザが店舗の店員や施設のスタッフ(例えば施設内で医療に従事する人など)である場合、以下の処理が行われてもよい。
【0061】
(ユーザを登録する処理)
ステップS102のユーザを登録する処理は、以下のように行われてもよい。
図9は、認識部54がユーザをトラッキングする処理(
図4のステップS102の処理)の他の一例について説明するための図である。認識部54は、撮影された画像から人物の顔部分の特徴量を抽出する。認識部54は、抽出した顔部分の特徴量と、ユーザ情報80に予め登録されたトラッキング対象のユーザの顔部分の特徴量とを照合し、これらが合致する場合、画像に含まれる人物はトラッキング対象のユーザであると判定する。
【0062】
(ユーザを特定する処理)
ステップS106のユーザを特定する処理は、以下のように行われてもよい。認識部54は、ユーザのトラッキングに成功しなかった場合、
図10に示すように、周辺にいる人物の顔の特徴量と、登録されたユーザの特徴量とを照合して、特徴量が閾値以上合致する特徴量を有する人物をトラッキング対象のユーザであると特定する。
【0063】
上記のように、制御装置50の認識部54は、ユーザをより精度よくトラッキングすることができる。
【0064】
[行動制御に関する処理]
図11は、行動制御処理の流れの一例を示すフローチャートである。本処理は、
図4のステップS104の処理後に実行される処理である。制御装置50は、ユーザのジェスチャを認識し(ステップS200)、認識したジェスチャに基づいて移動体10の行動を制御する(ステップS202)。次に、制御装置50は、サービスを終了するか否かを判定する(ステップS204)。サービスを終了しない場合、
図4のステップS102の処理に戻り、トラッキングを継続する。サービスを終了する場合、制御装置50は、ユーザの特徴量などユーザに関連する登録された登録情報を消去する(ステップS206)。これにより、本フローチャートの1ルーチンが終了する。
【0065】
ステップS200の処理について説明する。
図12は、ジェスチャを認識する処理について説明するための図である。制御装置50は、スケルトン処理された結果から腕または手の一方または双方を含む領域(以下、対象領域)を抽出し、抽出した対象領域における腕または手の一方または双方の状態を示す特徴量を抽出する。制御装置50は、上記の状態を示す特徴量にマッチングする特徴量を、ジェスチャ情報74に含まれる特徴量から特定する。制御装置50は、ジェスチャ情報74において、特定した特徴量に関連付けられた移動体10の動作を移動体10に実行させる。
【0066】
(ジェスチャを認識する処理)
制御装置50は、移動体10とユーザとの相対位置に基づいて、ジェスチャ情報74の第1ジェスチャ情報76を参照するか、第2ジェスチャ情報78を参照するかを決定する。
図13に示すように、ユーザが、移動体から所定距離離れていない場合、言い換えると、ユーザが移動体10を基準に設定された第1領域AR1内に存在する場合、制御装置50は、ユーザが第1ジェスチャ情報76に含まれるジェスチャと同じジェスチャを行っているか否かを判定する。
図14に示すように、ユーザが、移動体から所定距離離れている場合、言い換えると、ユーザが移動体10を基準に設定された第2領域に存在する場合(第1領域AR1内に存在しない場合)、制御装置50は、ユーザが第2ジェスチャ情報78に含まれるジェスチャと同じジェスチャを行っているか否かを判定する。
【0067】
第1ジェスチャ情報76に含まれる第1ジェスチャは、腕を用いず手を用いたジェスチャであり、第2ジェスチャ情報78に含まれる第2ジェスチャは、腕(肘と手との間の腕)と手とを用いたジェスチャである。なお、第1ジェスチャは、第2ジェスチャよりも小さい身振りや小さい手ぶりなどの身体動作であればよい。小さい身体動作とは、移動体10にある動作(直進など同じ動作)をさせる場合に、第1ジェスチャの身体動作は第2ジェスチャの身体動作よりも小さいことである。例えば、第1動作は手や指を用いたジェスチャであり、第2ジェスチャは腕を用いたジェスチャであってもよい。例えば、第1動作は膝よりも下の脚を用いたジェスチャであり、第2ジェスチャは下半身を用いたジェスチャであってもよい。例えば、第1動作は手や足などを用いたジェスチャであり、第2ジェスチャはジャンプなど体全体を用いたジェスチャであってもよい。
【0068】
移動体10のカメラ22が、第1領域AR1に存在するユーザを撮像すると、
図13に示すように腕部分は画像に収まりにくく、手や指が画像に収まる。第1領域AR1は、認識部54が第1領域AR1に存在するユーザが撮像された画像からユーザの腕を認識できない、または認識しづらい領域である。移動体10のカメラ22が、第2領域AR2に存在するユーザを撮像すると、
図14に示すように腕部分は画像に収まる。このため、上記のように、第1領域AR1にユーザが存在する場合、認識部54は、第1ジェスチャ情報76を用いてジェスチャを認識し、第2領域AR2にユーザが存在する場合、認識部54は、第2ジェスチャ情報78を用いてジェスチャを認識することで、より精度よくユーザのジェスチャを認識することができる。以下、第2ジェスチャ、第1ジェスチャの順で説明する。
【0069】
[第2ジェスチャ情報に含まれるジェスチャと行動]
以下、ユーザの正面方向(前方方向)をX方向、正面方向に交わる方向をY方向、X方向およびY方向に交わり且つ鉛直方向とは反対の方向をZ方向と称する。以下、移動体10を動かすジェスチャについて、右腕および右手を用いて説明するが、左腕および左手を用いる場合も同等の動きが移動体10を動かすジェスチャとなる。
【0070】
(第2ジェスチャA)
図15は、第2ジェスチャAについて説明するための図である。
図15の左側はジェスチャを示し、
図15の右側はジェスチャに対応する移動体10の行動を示している(以降の図でも同様)。ジェスチャは、例えば、ユーザP1(店員)が行ったものとして、以下、説明する(以降の図でも同様)。図中、P2は、顧客である。
【0071】
ジェスチャAは、ユーザの後ろに位置する移動体10をユーザの前に移動させるように、ユーザが腕と手とを体付近から体より前に押し出すようなジェスチャである。腕と手とを略マイナスY方向と平行にして親指がプラスZ軸方向を向くように手を回転させ(図中、A1)、この状態で肩または肘の関節を動かして手をプラスX方向に移動させ(図中、A2)、更に指先がプラスX方向と略平行にする(図中、A3)。この状態では、手のひらはプラスZ方向を向いている。そして、指先がX方向と略平行な状態で、手のひらがマイナスZ方向を向くように手および腕を回転させる(図中、A4、A5)。第2ジェスチャAが行われた場合、ユーザPの後ろに位置する移動体10は、ユーザP1の前に移動する。
【0072】
(第2ジェスチャB)
図16は、第2ジェスチャBについて説明するための図である。第2ジェスチャBは、移動体10を前進させるように腕と手とを前方に突き出すようなジェスチャである。手のひらをマイナスZ方向に向けて腕と手とを伸ばした状態で移動体10を移動させる方向(例えばプラスX方向)と平行になるように、腕と手とを突き出す(図中、B1からB3)。第2ジェスチャBが行われた場合、移動体10は、指先が指し示す方向に移動する。
【0073】
(第2ジェスチャC)
図17は、第2ジェスチャCについて説明するための図である。第2ジェスチャCは、前進している移動体10を停止させるように、前方に突き出した腕と手とのうち、手のひらをX方向に正対させるようなジェスチャである(図中、C1、C2)。第2ジェスチャCが行われた場合、移動体10は、前進している状態から停止状態となる。
【0074】
(第2ジェスチャD)
図18は、第2ジェスチャDについて説明するための図である。第2ジェスチャDは、移動体10を左方向に移動させるように、腕と手とを左方向に動かす動作である。前方に腕と手とを突き出した状態(図中、D1)から手のひらを時計回りに略90度回転させて親指をプラスZ方向に向け(図中、D2)、この状態を起点として腕と手とをプラスY方向に振り、起点に腕と手とを戻す動作を反復する(図中、D3、D4)。第2ジェスチャDが行われた場合、移動体10は、左方向に移動する。腕と手とを前述した図中、D1の状態に戻すと、左方向に移動せずに移動体10は前進する。
【0075】
(第2ジェスチャE)
図19は、第2ジェスチャEについて説明するための図である。第2ジェスチャEは、移動体10を右方向に移動させるように、腕と手とを右方向に動かす動作である。前方に腕と手とを突き出した状態(図中、E1)から手のひらを反時計回り方向に回転させて親指を地面方向に向け(図中、E2)、この状態を起点として腕と手とをマイナスY方向に振り、起点に腕と手とを戻す動作を反復する(図中、E3、E4)。第2ジェスチャEが行われた場合、移動体10は、右方向に移動する。腕と手とを前述した図中、E1の状態に戻すと、右方向に移動せずに移動体10は前進する。
【0076】
(第2ジェスチャF)
図20は、第2ジェスチャFについて説明するための図である。第2ジェスチャFは、移動体10を後退させるように、手招きをする動作である。手のひらをプラスZ方向に向けて(図中、F1)、指先がユーザの方向に向くように腕または手首を動かす動作を繰り返す(図中、F2からF5)。第2ジェスチャFが行われた場合、移動体10は後退する。
【0077】
(第2ジェスチャG)
図21は、第2ジェスチャGについて説明するための図である。第2ジェスチャGは、移動体10を左方向に自転させるように、人差し指(または所定の指)を突き出して左方向に突き出した指を回転させる動作である。手のひらをマイナスZ方向に向けて(図中、G1)、人差し指を突き出し他の指は軽く握った状態(折り曲げた状態)にし(図中、G2)、手首または腕を動かして指先をプラスY方向に向けた後、図中、G1の状態に腕と手とを戻す(図中、G3、G4)。第2ジェスチャGが行われた場合、移動体10は左方向に自転する。
【0078】
(第2ジェスチャH)
図22は、第2ジェスチャHについて説明するための図である。第2ジェスチャHは、移動体10を右方向に自転させるように、人差し指(または所定の指)を突き出して右方向に突き出した指を回転させる動作である。手のひらをマイナスZ方向に向けて(図中、H1)、人差し指を突き出し他の指は軽く握った状態(折り曲げた状態)にし(図中、H2)、手首または腕を動かして指先をマイナスY方向に向けた後、図中、H1の状態に腕と手とを戻す(図中、H3、H4)。第2ジェスチャHが行われた場合、移動体10は右方向に自転する。
【0079】
[第1ジェスチャ情報に含まれるジェスチャ]
(第1ジェスチャa)
図23は、第1ジェスチャaについて説明するための図である。第1ジェスチャaは、移動体10を前進させるように手を前方に突き出すようなジェスチャである。親指をプラスZ方向に向けて手の甲がZ方向と平行になるようにする(図中、a)。第1ジェスチャaが行われた場合、移動体10は、指先が指し示す方向に移動する。
【0080】
(第1ジェスチャb)
図24は、第1ジェスチャbについて説明するための図である。第1ジェスチャbは、前進している移動体10を停止させるように、手のひらをX方向に正対させるようなジェスチャである(図中、b)。第1ジェスチャbが行われた場合、移動体10は、前進している状態から停止状態となる。
【0081】
(第1ジェスチャc)
図25は、第1ジェスチャcについて説明するための図である。第1ジェスチャcは、移動体10を左方向に移動させるように、手を左方向に動かす動作である。
図23、aで示したように前方に手を突き出した状態(図中、c1)を起点として、指先をプラスYに向け、起点に戻す動作を反復する(図中、c2、c3)。第1ジェスチャcが行われた場合、移動体10は、左方向に移動する。
【0082】
(第1ジェスチャd)
図26は、第1ジェスチャdについて説明するための図である。第1ジェスチャdは、移動体10を右方向に移動させるように、手を右方向に動かす動作である。
図23、aで示したように前方に手を突き出した状態(図中、d1)を起点として、指先をマイナスYに向け、起点に戻す動作を反復する(図中、d2、d3)。第1ジェスチャdが行われた場合、移動体10は、右方向に移動する。
【0083】
(第1ジェスチャe)
図27は、第1ジェスチャeについて説明するための図である。第1ジェスチャeは、移動体10を後退させるように、指先で手招きをする動作である。手のひらをプラスZ方向に向けて(図中、e1)、指先がユーザの方向に向くように(指先を手のひらに近づけるように)指先を動かす動作を繰り返す(図中、e2、e3)。第1ジェスチャeが行われた場合、移動体10は、後退する。
【0084】
(第1ジェスチャf)
図28は、第1ジェスチャfについて説明するための図である。第1ジェスチャfは、移動体10を左方向に自転させるように、人差し指および親指(または所定の指)を突き出して左方向に突き出した指を回転させる動作である。手のひらをプラスX方向に向けて、人差し指と親指とを突き出し、他の指は軽く握った状態(折り曲げた状態)にし(図中、f1)、手のひらをマイナスX方向に向け、手の甲をプラスX方向に向けるように手を回転させる(図中、f2)。そして、回転させた手を元の状態に戻す(図中、f3)。第1ジェスチャfが行われた場合、移動体10は、左方向に自転する。
【0085】
(第1ジェスチャg)
図29は、第1ジェスチャgについて説明するための図である。第1ジェスチャgは、移動体10を右方向に自転させるように、人差し指および親指(または所定の指)を突き出して右方向に突き出した指を回転させる動作である。人差し指と親指とを突き出し、他の指は軽く握った状態(折り曲げた状態)にし、人差し指をプラスX方向、またはプラスX方向とプラスY方向との中間方向に向ける(図中、g1)。この状態で、人差し指をプラスZ方向、またはプラスZ方向とマイナスY方向との中間方向に回転させる(図中、g2)。そして、回転させた手を元の状態に戻す(図中、g3)。第1ジェスチャgが行われた場合、移動体10は右方向に自転する。
【0086】
[フローチャート]
図30は、制御装置50がジェスチャを認識する処理の一例を示すフローチャートである。まず、制御装置50は、ユーザが第1領域に存在するか否を判定する(ステップS300)。ユーザが第1領域に存在する場合、制御装置50は、取得された画像に基づいてユーザの挙動を認識する(ステップS302)。挙動とは、例えば、時間的に連続して取得された画像から認識されるユーザの動きである。
【0087】
次に、制御装置50は、第1ジェスチャ情報76を参照して、ステップS302で認識した挙動に合致するジェスチャを特定する(ステップS304)。なお、ステップS302で認識した挙動に合致するジェスチャが第1ジェスチャ情報76に含まれていない場合、移動体10の動きを制御するジェスチャは行われていないと判定する。次に、制御装置50は、特定したジェスチャに対応する行動を行う(ステップS306)。
【0088】
ユーザが第1領域に存在しない場合(第2領域に存在する場合)、制御装置50は、取得された画像に基づいてユーザの挙動を認識し(ステップS308)、第2ジェスチャ情報78を参照して、ステップS308で認識した挙動に合致するジェスチャを特定する(ステップS310)。次に、制御装置50は、特定したジェスチャに対応する行動を行う(ステップS312)。これにより、本フローチャートの1ルーチンの処理が終了する。
【0089】
例えば、上記処理において、認識部54は、トラッキングしているユーザのジェスチャを認識し、トラッキングしていない人物のジェスチャを認識する処理を行わなくてよい。これにより、制御装置50は、トラッキングしているユーザのジェスチャに基づいて移動体を制御することを、処理負荷を低減して行うことができる。
【0090】
上記のように、制御装置50は、ユーザが存在する領域に基づいて、認識するジェスチャを切り替えることにより、より精度よくユーザのジェスチャを認識し、ユーザの意志に応じて移動体10を作動させることができる。この結果、ユーザの利便性が向上する。
【0091】
なお、制御装置50は、
図31に示すように、第3領域AR3では第1ジェスチャ情報76と第2ジェスチャ情報78とを参照してジェスチャを認識してもよい。
図31では、第3領域AR3は、第1領域AR1の外縁と、第1領域AR1の外側であって外縁から所定距離の位置との間の領域である。第2領域AR2は、第3領域AR3の外側の領域である。
【0092】
ユーザが第1領域AR1に存在する場合、認識部54は、第1ジェスチャ情報76を参照してジェスチャを認識する。ユーザが第2領域AR2に存在する場合、認識部54は、第1ジェスチャ情報76および第2ジェスチャ情報78を参照してジェスチャを認識する。すなわち、認識部54は、第1ジェスチャ情報76に含まれる第1ジェスチャまたは第2ジェスチャ情報78に含まれる第2ジェスチャをユーザが行っているか否かを判定する。第3領域AR3においてユーザが第1ジェスチャまたは第2ジェスチャを行っていた場合、制御装置50は、ユーザが第1ジェスチャまたは第2ジェスチャに関連付けられた動作に基づいて移動体10を制御する。ユーザが第2領域AR2に存在する場合、認識部54は、第2ジェスチャ情報78を参照してジェスチャを認識する。
【0093】
また、第3領域AR3は、
図32に示すように、第1領域AR1の外縁と、第1領域AR1の内側であって外縁から所定距離の位置との間の領域であってもよい。また、第3領域AR3は、第1領域AR1の外縁から内側であって外縁から所定距離の境界と、第1領域AR1の外縁から外側であって外縁から所定距離の境界とで区画される領域であってもよい(
図31の第3領域AR3と
図32の第3領域AR3とを合わせた領域が第3領域であってもよい)。
【0094】
例えば、第3領域AR3において、第1ジェスチャと第2ジェスチャとの両方が認識された場合、第1ジェスチャを第2ジェスチャよりも優先して採用してもよい。優先とは、例えば、第1ジェスチャが示す移動体10の動作と、第2ジェスチャが示す移動体10の動作とが異なる場合に第1ジェスチャの動作を優先すること、または第2ジェスチャを考慮しないことである。ユーザが意図せずに腕を動かしている場合、第2ジェスチャと認識されることがあるが、手や指を利用した小さいジェスチャは、ユーザが意図せずに行う可能性が低く、ジェスチャを行う意図をもって手や指を動かしている可能性が高いためである。このように、第1ジェスチャを優先することで、より精度よくユーザの意志を認識することができる。
【0095】
なお、上記の例では、認識部54は、連続して撮像された複数の画像(所定間隔で撮像された複数の画像または動画)に基づいて、ユーザの身体動作を認識するものとして説明したが、これに代えて(加えて)、認識部54は、1つの画像に基づいて、ユーザの身体動作を認識してもよい。この場合、認識部54は、例えば、1つの画像に含まれるユーザの身体動作を示す特徴量と、第1ジェスチャ情報76または第2ジェスチャ情報78に含まれる特徴量とを比較して、合致度合が高いまたは所定度合以上である特徴量のジェスチャをユーザが行っていると認識する。
【0096】
また、上記の例において、認識部54が、移動体10とは異なる位置に設けられたカメラ(撮像装置)により撮像された画像を用いてユーザの身体動作を認識する場合、第1領域は、画像を撮像する撮像装置から所定距離の範囲内の領域であり、第2領域は、撮像装置から所定距離よりも遠い位置に設定された領域である。
【0097】
また、上記の例では、第2領域は第1領域よりも遠い位置に存在する領域であるものとして説明したが、これに代えて、第1領域と第2領域とは異なる位置に設定された領域であってもよい。例えば、第1領域は、第1方向に設定された領域であり、第2領域は、第1方向とは異なる方向に設定された領域であってもよい。
【0098】
以上説明した第1実施形態によれば、制御装置50が、移動体に対するユーザの位置に応じて認識するジェスチャを切り替えることにより、より精度よくユーザのジェスチャを認識して移動体10を適切に作動させることができる。この結果、ユーザの利便性が向上する。
【0099】
<第2実施形態>
以下、第2実施形態について説明する。第2実施形態の移動体10の本体20は、第1カメラ(第1撮像部)と、第2カメラ(第2撮像部)とを備え、これらのカメラにより撮像された画像を用いてジェスチャを認識する。以下、第1実施形態との相違点を中心に説明する。
【0100】
図33は、第2実施形態の移動体10の本体20Aの機能構成の一例について説明するための図である。本体20Aは、カメラ22に代えて、第1カメラ21と、第2カメラ23とを備える。第1カメラ21は、カメラ22と同様のカメラである。第2カメラ23は、移動体10を遠隔で操作するユーザを撮像するカメラである。第2カメラ23は、ユーザのジェスチャを認識するための画像を撮像するカメラである。遠隔操作は、ジェスチャにより行われる。第2カメラ23は、例えば、機械的機構によって撮像方向が制御可能である。第2カメラ23は、トラッキング対象のユーザを中心とした画像を撮像する。情報処理部60は、例えば、第2カメラ23の撮像方向をトラッキング対象のユーザに向けるように機械的機構を制御する。
【0101】
認識部54は、第1カメラ21により撮像された第1画像および第2カメラ23により撮像された第2画像に基づいてユーザのジェスチャを認識する処理を試行する。認識部54は、第1画像に基づく認識の結果(第1認識結果)よりも、第2画像に基づく認識の結果(第2認識結果)を優先する。軌道生成部56は、第1画像から得られる周辺の状況と、認識されたジェスチャに関連付けられた動作とに基づいて軌道を生成する。走行制御部58は、軌道生成部56により生成された軌道に基づいて移動体10を制御する。
【0102】
[フローチャート]
図34は、第2実施形態の制御装置50により実行される処理の流れの一例を示すフローチャートである。まず、制御装置50の取得部52は、第1画像および第2画像を取得する(ステップS400)。次に、認識部54は、第1画像および第2画像のそれぞれにおいてジェスチャを認識する処理を試行し、両方の画像からジェスチャを認識できたか否かを判定する(ステップS402)。本処理において、ユーザが第1領域に存在する場合は、第1ジェスチャ情報76が参照され、ユーザが第1領域外に存在する場合は、第2ジェスチャ情報78が参照される。
【0103】
両方の画像からジェスチャを認識できた場合、認識部54は、認識したジェスチャが同じであるか否を判定する(ステップS404)。認識したジェスチャが同じである場合、認識部54は、認識したジェスチャを採用する(ステップS406)。認識したジェスチャが同じでない場合、認識部54は、第2画像から認識したジェスチャを採用する(ステップS408)。これにより第2認識結果が、第1認識結果よりも優先される。
【0104】
ステップS402の処理で、両方の画像からジェスチャを認識できなかった場合、認識部54は、認識できたジェスチャ(第1画像から認識できたジェスチャまたは第2画像から認識できたジェスチャ)を採用する(ステップS406)。例えば、認識部54は、ユーザが第1領域に存在し、且つ第1カメラ21により撮像された第1画像に基づいてユーザのジェスチャを認識できない場合、第1ジェスチャ情報76を参照して第2カメラ23により撮像された第2画像に基づいてユーザのジェスチャを認識する。そして、採用されたジェスチャに応じた行動を行うように、移動体10は制御される。これにより、本フローチャートの1ルーチンの処理が終了する。
【0105】
上述した処理により、制御装置50は、より精度よくユーザのジェスチャを認識することができる。
【0106】
なお、第2実施形態において、ユーザの位置に関わらず、第1ジェスチャ情報76または第2ジェスチャ情報78が参照されてもよいし、第1ジェスチャ情報76または第2ジェスチャ情報78とは異なる(例えばユーザの位置を考慮しない)ジェスチャ情報(ジェスチャの特徴量と移動体10の行動とが関連付けられた情報)が参照してもよい。
【0107】
以上説明した第2実施形態によれば、制御装置50は、2つ以上のカメラにより撮像された画像を用いてジェスチャを認識することにより、より精度よくジェスチャを認識し、認識した結果に基づいて移動体10を制御することができる。この結果、ユーザの利便性を向上させることができる。
【0108】
[第2ジェスチャの変形例]
第2ジェスチャは、上述した第2ジェスチャに代えて、以下の態様でもよい。例えば、第2ジェスチャは、例えば、手のひらの動きは考慮されず、上腕によるジェスチャであってもよい。これにより、第2ジェスチャが遠い距離で行われても、制御装置50は、精度よく認識することができる。以下、例示するが、これらとは異なる態様であってもよい。
【0109】
(第2ジェスチャG)
図35は、第2ジェスチャGの変形例について説明するための図である。第2ジェスチャGは、移動体10を左方向に自転させるように、肘を曲げて、手のひらを上方向に向けて、左方向に上腕を回転させる動作(図中、G#)である。第2ジェスチャGが行われた場合、移動体10は左方向に自転する。
【0110】
(第2ジェスチャH)
図36は、第2ジェスチャHの変形例について説明するための図である。第2ジェスチャHは、移動体10を右方向に自転させるように、肘を曲げて、手のひらを上方向に向けて、右方向に上腕を回転させる動作(図中、H#)である。第2ジェスチャHが行われた場合、移動体10は右方向に自転する。
【0111】
(第2ジェスチャF)
図37は、第2ジェスチャFの変形例について説明するための図である。第2ジェスチャFは、移動体10を後退させるように、肘を曲げて、手のひらを上に向ける動作(図中、F#)である。第2ジェスチャFが行われた場合、移動体10は後退する。
【0112】
(第2ジェスチャFR)
図38は、第2ジェスチャFRについて説明するための図である。第2ジェスチャFRは、移動体10を右方向に移動させながら後退させるように、肘を曲げて、手のひらを上に向け、上腕の右方向の傾け度合で移動体10が右方向に移動する移動量を決定する動作(図中、FR)である。第2ジェスチャFRが行われた場合、移動体10は、上腕の右方向の傾け度合に応じて右方向に移動しながら後退する。
【0113】
図39は、第2ジェスチャFLについて説明するための図である。第2ジェスチャFLは、移動体10を左方向に移動させながら後退させるように、肘を曲げて、手のひらを上に向け、上腕の左方向の傾け度合で移動体10が左方向に移動する移動量を決定する動作(図中、FR)である。第2ジェスチャFLが行われた場合、移動体10は、上腕の左方向の傾け度合に応じて左方向に移動しながら後退する。
【0114】
上記のように、制御装置50は、上腕による第2ジェスチャに基づいて移動体10を制御する。例えば、遠くに存在する人物が第2ジェスチャを行った場合であっても、制御装置50は、より精度よく第2ジェスチャを認識し、移動体10を人物の意図に合わせて制御することができる。
【0115】
上記説明した実施形態は、以下のように表現することができる。
プログラムを記憶した記憶装置と、
ハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサが前記記憶装置に記憶されたプログラムを実行することにより、
ユーザが撮像された画像を取得し、
前記画像が撮像されたときの前記ユーザが存在する領域を認識し、
前記画像が撮像されたとき前記ユーザが第1領域に存在する場合、前記画像と、前記ユーザのジェスチャを認識するための第1情報とに基づいて、前記ユーザのジェスチャを認識し、
前記画像が撮像されたとき前記ユーザが第2領域に存在する場合、時間的に連続して撮像された複数の前記画像と、前記ユーザのジェスチャを認識するための第2情報とに基づいて、前記ユーザのジェスチャを認識する、
ジェスチャ認識装置。
【0116】
上記説明した実施形態は、以下のように表現することができる。
移動体の周辺を撮像する第1撮像部と、
前記移動体を遠隔で操作するユーザを撮像する第2撮像部と、
プログラムを記憶した記憶装置と、
ハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサが前記記憶装置に記憶されたプログラムを実行することにより、
前記第1撮像部により撮像された第1画像および前記第2撮像部により撮像された第2画像に基づいて前記ユーザのジェスチャを認識する処理を試行し、前記第1画像に基づく認識の結果よりも、前記第2画像に基づく認識の結果を優先して採用し、
前記第1撮像部により撮像された画像から得られる周辺の状況と前記認識部が認識したジェスチャに関連付けられた動作とに基づいて前記移動体を制御する、
ジェスチャ認識装置。
【0117】
上記説明した実施形態は、以下のように表現することができる。
移動体の周辺を撮像する第1撮像部と、
前記移動体を遠隔で操作するユーザを撮像する第2撮像部と、
プログラムを記憶した記憶装置と、
ハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサが前記記憶装置に記憶されたプログラムを実行することにより、
前記ユーザが第1領域に存在し、且つ前記第1撮像部により撮像された第1画像に基づいて前記ユーザのジェスチャを認識できない場合、前記第1情報を参照して前記第2撮像部により撮像された第2画像に基づいて前記ユーザのジェスチャを認識し、
認識したジェスチャに応じて前記第1撮像部により撮像された画像に基づいて前記移動体を制御する、
ジェスチャ認識装置。
【0118】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【0119】
10‥移動体、20‥本体、21‥第1カメラ、22‥カメラ、23‥第2カメラ、50‥制御装置、52‥取得部、54‥認識部、56‥軌道生成部、58‥走行制御部、60‥情報処理部、70‥記憶部、74‥ジェスチャ情報、76‥第1ジェスチャ情報、78‥第2ジェスチャ情報、80‥ユーザ情報