(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022189456
(43)【公開日】2022-12-22
(54)【発明の名称】行動認識プログラム、行動認識方法および情報処理装置
(51)【国際特許分類】
G06T 7/20 20170101AFI20221215BHJP
G06T 7/246 20170101ALI20221215BHJP
【FI】
G06T7/20 300Z
G06T7/246
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021098038
(22)【出願日】2021-06-11
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】内田 大輔
(72)【発明者】
【氏名】島田 智史
(72)【発明者】
【氏名】村瀬 有一
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096CA04
5L096DA02
5L096FA05
5L096FA62
5L096FA64
5L096FA66
5L096FA67
5L096FA69
5L096GA30
5L096GA51
5L096HA11
5L096JA22
5L096KA04
(57)【要約】
【課題】対象者の行動を低コストで高精度に認識することを課題とする。
【解決手段】情報処理装置は、撮像装置により取得される画像から人物の骨格情報を検出する。情報処理装置は、人物が撮像された位置と対象となる領域および対象物の位置に関する領域情報を取得する。情報処理装置は、人物の骨格情報と領域情報とに基づいて、人物が対象物に行う動作を推定する。情報処理装置は、人物と対象物との距離と、推定された動作とに基づき、人物の行動を認識する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
コンピュータに、
撮像装置により取得される画像から人物の骨格情報を検出し、
前記人物が撮像された位置と対象となる領域および対象物の位置に関する領域情報を取得し、
前記人物の骨格情報と前記領域情報とに基づいて、前記人物が前記対象物に行う動作を推定し、
前記人物と前記対象物との距離と、推定された前記動作とに基づき、前記人物の行動を認識する、
処理を実行させることを特徴とする行動認識プログラム。
【請求項2】
前記推定する処理は、
前記対象物に対して手を伸ばした動作、前記対象物を見ている動作、または、前記対象物に向いている動作のいずれかの条件を満たすか否かにより、前記人物が前記対象物に行う動作を推定し、
前記認識する処理は、
前記人物と前記対象物の距離が閾値未満、かつ、前記いずれかの条件と満たす動作が推定された場合に、前記人物が前記対象物に手を伸ばした行動と認識する、
ことを特徴とする請求項1に記載の行動認識プログラム。
【請求項3】
前記認識する処理は、
前記人物と前記対象物の距離が閾値未満、かつ、所定時間の間に、予め指定した複数の動作が予め指定した順番通りに推定された場合に、前記人物が前記対象物に手を伸ばした行動と認識する、
ことを特徴とする請求項2に記載の行動認識プログラム。
【請求項4】
前記人物と前記対象物との距離として、前記人物の骨格情報と前記領域情報とから前記人物の手が届く範囲を推定する処理を前記コンピュータに実行させ、
前記認識する処理は、
推定された前記動作と、前記人物の手が届く範囲とを用いて、前記人物が前記対象物に手を伸ばした行動を認識する、
ことを特徴とする請求項1から3のいずれか一つに記載の行動認識プログラム。
【請求項5】
前記人物の手が届く範囲を推定する処理は、
前記骨格情報により特定される両足の中心点を前記人物が立っている位置と検出し、
前記対象物に対して、前記両足の中心点からの最短距離を算出し、
前記最短距離に対する、前記対象物の高さ方向への垂線を算出し、
前記垂線に対して、前記骨格情報により特定される足から肩までの高さに対応する前記垂線の位置を、前記人物の手が届く範囲と推定する、
ことを特徴とする請求項4に記載の行動認識プログラム。
【請求項6】
前記人物の手が届く範囲を推定する処理は、
前記骨格情報に基づき前記人物の肩幅を算出し、
前記骨格情報により特定される足から肩までの高さに対応する前記垂線の位置で、前記肩幅に対応する領域を、前記人物の手が届く範囲と推定する、
ことを特徴とする請求項5に記載の行動認識プログラム。
【請求項7】
前記人物が前記対象物に手を伸ばした行動と認識された場合に、前記骨格情報と前記領域情報とに基づき、前記手の位置を算出し、
前記手の位置と前記対象物の位置関係とに基づき、前記手がアクセスする前記対象物を特定する、処理を前記コンピュータに実行させることを特徴とする請求項1から6のいずれか一つに記載の行動認識プログラム。
【請求項8】
前記骨格情報に基づき前記人物の属性を推定する処理を前記コンピュータに実行させ、
前記認識する処理は、
前記人物が前記対象物に手を伸ばした行動と認識した結果と、前記人物の属性とを対応付けて出力する、
ことを特徴とする請求項1から7のいずれか一つに記載の行動認識プログラム。
【請求項9】
コンピュータが、
撮像装置により取得される画像から人物の骨格情報を検出し、
前記人物が撮像された位置と対象となる領域および対象物の位置に関する領域情報を取得し、
前記人物の骨格情報と前記領域情報とに基づいて、前記人物が前記対象物に行う動作を推定し、
前記人物と前記対象物との距離と、推定された前記動作とに基づき、前記人物の行動を認識する、
処理を実行することを特徴とする行動認識方法。
【請求項10】
撮像装置により取得される画像から人物の骨格情報を検出する検出部と、
前記人物が撮像された位置と対象となる領域および対象物の位置に関する領域情報を取得する取得部と、
前記人物の骨格情報と前記領域情報とに基づいて、前記人物が前記対象物に行う動作を推定する推定部と、
前記人物と前記対象物との距離と、推定された前記動作とに基づき、前記人物の行動を認識する認識部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、行動認識プログラム、行動認識方法および情報処理装置に関する。
【背景技術】
【0002】
AI(Artificial Intelligence)技術の発展により、映像から人や物体を認識し、認識した人の骨格情報から人の動作や姿勢、状態や行動を自動で検知する技術が開発されたり、利用されたりしている。例えば、高齢者や体の不自由な人を自動で検知し、危険な状態か否かを把握するする技術や、作業者の姿勢や工程を認識し、危険な場所に立ち入っていないか、無理な姿勢で作業していなか、手順を守っているか等を把握する技術がある。
【0003】
このように、AI技術の活用により、人の行動や状態を自動で分析することが可能であることから、購買分析や作業分析、現場監視や見守り、不審者検知など様々な分野への適用が望まれる。例えば、カメラとセンサを組み合わせ、対象者の動作、特に手を伸ばした動作や作業を認識する技術が知られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2019-139321号公報
【特許文献2】特開2015-176227号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記技術では、対象者の行動を低コストで高精度に認識することが難しい。例えば、センサを用いる認識技術は、レーザーや無線などの特殊なセンサを使うことが一般的であり、構成が複雑で、コストも高くなる。なお、カメラのみを用いる認識技術も知られているが、上下左右および奥行方向が正確に検知できない。
【0006】
一つの側面では、対象者の行動を低コストで高精度に認識することができる行動認識プログラム、行動認識方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
第1の案では、行動認識プログラムは、コンピュータに、撮像装置により取得される画像から人物の骨格情報を検出し、前記人物が撮像された位置と対象となる領域および対象物の位置に関する領域情報を取得し、前記人物の骨格情報と前記領域情報とに基づいて、前記人物が前記対象物に行う動作を推定し、前記人物と前記対象物との距離と、推定された前記動作とに基づき、前記人物の行動を認識する、処理を実行させることを特徴とする。
【発明の効果】
【0008】
一実施形態によれば、対象者の行動を低コストで高精度に認識することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施例1にかかる情報処理装置を説明する図である。
【
図2】
図2は、実施例1にかかる情報処理装置の機能構成を示す機能ブロック図である。
【
図3】
図3は、対象場所情報DBに記憶される情報の例を示す図である。
【
図4】
図4は、人物検知および骨格検知を説明する図である。
【
図5】
図5は、骨格情報の一例を説明する図である。
【
図6】
図6は、人物の動作推定を説明する図である。
【
図7】
図7は、手伸ばし範囲の推定を説明する図である。
【
図8】
図8は、人物の手伸ばし行動認識と位置算出を説明する図である。
【
図9】
図9は、実施例1にかかる行動認識処理の全体的な流れを示すフローチャートである。
【
図10】
図10は、実施例1にかかる人物検知処理の流れを示すフローチャートである。
【
図11】
図11は、実施例1にかかる骨格検知処理の流れを示すフローチャートである。
【
図12】
図12は、実施例1にかかる動作推定処理の流れを示すフローチャートである。
【
図13】
図13は、実施例1にかかる範囲推定処理の流れを示すフローチャートである。
【
図14】
図14は、実施例1にかかる手伸ばし行動の認識処理の流れを示すフローチャートである。
【
図15】
図15は、実施例1にかかる手伸ばし位置の算出処理の流れを示すフローチャートである。
【
図16】
図16は、実施例2にかかる行動認識処理の全体的な流れを示すフローチャートである。
【
図18】
図18は、動作遷移を用いた動作推定処理を説明する図である。
【発明を実施するための形態】
【0010】
以下に、本願の開示する行動認識プログラム、行動認識方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例0011】
[全体構成]
図1は、実施例1にかかる情報処理装置10を説明する図である。
図1に示すように、このシステムは、衣料や食料品などを消費者に販売する小売店などに設置されるカメラなどの撮像装置と、情報処理装置10とが有線や無線に接続され、情報処理装置10により小売店内の購買状況を把握するシステムである。情報処理装置10は、小売店の店内の映像データを取得して解析することで、ある商品を購入する消費者層の特定、ある商品を手に取った消費者層の特定などに利用可能な情報を生成して出力するコンピュータ装置の一例である。
【0012】
具体的には、情報処理装置10は、撮像装置により取得される画像データなどから人物の骨格情報を特定する。そして、情報処理装置10は、人物が撮像された位置と対象となる領域および対象物の位置に関する領域情報を取得し、人物の骨格情報と領域情報とに基づいて、人物が対象物に行う動作を推定する。その後、情報処理装置10は、人物と対象物との距離と、推定された動作とに基づき、人物の行動を認識する。
【0013】
例えば、情報処理装置10は、カメラから取得した画像データから人物の骨格情報を認識し、骨格情報が条件「棚を見ている(見た)、棚に向かっている、立つもしくはしゃがむ、手を伸ばしているなどの動作を含み、棚と人物の距離は手の届く範囲である」に合致する場合に、画像に存在する該人物が「棚にある商品に手を延ばす行動をしている」と認識する。そして、情報処理装置10は、「棚にある商品に手を延ばす行動をしている」と認識した場合に、骨格情報から手を伸ばしている位置を特定する。
【0014】
このようにすることで、情報処理装置10は、カメラの映像を使った簡易かつ低コストな手法で、対象者の行動を高精度に認識することができる。この結果、情報処理装置10は、高精度に対象者の手伸ばし動作分析や棚だし業務等の作業分析を行うことができる。
【0015】
[機能構成]
図2は、実施例1にかかる情報処理装置10の機能構成を示す機能ブロック図である。
図2に示すように、情報処理装置10は、通信部11、出力部12、記憶部13、制御部20を有する。
【0016】
通信部11は、他の装置の間の通信を制御する処理部であり、例えば通信インタフェースなどにより実現される。例えば、通信部11は、カメラなどの撮像装置から、映像、画像、または、動画などのデータを受信する。
【0017】
出力部12は、各種情報を表示する処理部であり、例えばディスプレイやタッチパネルなどにより実現される。例えば、出力部12は、後述する制御部20により認識された行動認識の結果などを出力する。
【0018】
記憶部13は、各種データや制御部20が実行するプログラムなどを記憶する処理部であり、例えばメモリやハードディスクなどにより実現される。この記憶部13は、機械学習モデルDB14と対象場所情報DB15を記憶する。
【0019】
機械学習モデルDB14は、訓練済みである機械学習モデルを記憶するデータベースである。例えば、機械学習モデルDB14は、映像データの各フレームなどである画像データの入力に応じて、画像データに写っている人物を特定し、写っている人物の領域情報を出力する第1機械学習モデルを記憶する。また、機械学習モデルDB14は、人物の領域情報および画像データの入力に応じて、写っている人物の骨格情報を出力する第2機械学習モデルを記憶する。
【0020】
対象場所情報DB15は、撮像装置が撮像する領域に関する対象場所情報を記憶するデータベースである。具体的には、対象場所情報DB15は、設置されている撮像装置ごとに、各撮像装置の撮像領域にある商品棚および商品の領域や位置を示す対象場所情報を記憶する。
【0021】
図3は、対象場所情報DB15に記憶される情報の例を示す図である。
図3に示すように、対象場所情報DB15は、商品棚のROI(Region of Interest)である棚ROI30、通路のROIである通路ROI40を記憶する。これら以外にも、対象場所情報DB15は、商品棚の座標、商品棚(棚ROI30)に設置される各商品の座標、通路の座標などを記憶する。
【0022】
なお、対象場所情報は、あらかじめ棚の領域として左右上下端の位置を記録されたものでも構わない。また、対象場所情報は、棚の領域をあらかじめ学習し、認識された棚領域(Semantic Segmentation)を使用してもかまわない。また、対象場所情報は、棚の商品をあらかじめ物体モデルとして学習し、映像解析技術を用いて物体検知した領域群を使用しても構わない。
【0023】
制御部20は、情報処理装置10全体を司る処理部であり、例えばプロセッサなどにより実現される。この制御部20は、映像取得部21、人物検知部22、骨格検知部23、動作推定部24、範囲推定部25、手伸ばし行動認識部26、手伸ばし位置算出部27を有する。なお、映像取得部21、人物検知部22、骨格検知部23、動作推定部24、範囲推定部25、手伸ばし行動認識部26、手伸ばし位置算出部27は、プロセッサが有する電子回路やプロセッサが実行するプロセスなどにより実現される。
【0024】
映像取得部21は、映像データを取得する処理部である。例えば、映像取得部21は、USB(Universal Serial Bus)やLAN(Local Area Network)、無線などにより接続されるカメラより、対象とするエリアの映像データを取得し、人物検知部22に出力する。なお、映像取得部21は、カメラからのリアルタイムな映像データのほか、あらかじめ撮影した動画像データを取得することもできる。
【0025】
人物検知部22は、映像データから映像データに映っている人物を検知する処理部である。具体的には、人物検知部22は、映像取得部21により取得される映像データの各フレームについて、人物検知を実行し、検知された人物に関する情報を骨格検知部23に出力する。例えば、人物検知部22は、取得した映像に対し、深層学習等の映像解析技術を用いて人物検知を行う。なお、閾値等のパラメータを用い、人物らしさを判定し、次のフレーム映像取得処理に移ってもかまわない。
【0026】
骨格検知部23は、撮像装置により取得される画像から人物の骨格情報を検出する処理部である。例えば、骨格検知部23は、人物検知部22により検知された人物領域に対し、同様に映像解析技術を用い、骨格検知を行う。なお、閾値等のパラメータを用い、骨格らしさを判定し、次のフレーム映像取得処理に移ってもかまわない。
【0027】
ここで、人物検知と骨格検知について具体的に説明する。
図4は、人物検知および骨格検知を説明する図である。
図4に示すように、人物検知部22は、映像データの1フレームを第1機械学習モデルに入力し、検知された人物の領域を含む位置情報(領域情報)を取得する。ここで、人物検知部22は、第1機械学習モデルの出力値のスコア(確率)が閾値以上の場合に、出力された人物の位置情報を採用することもできる。
【0028】
続いて、骨格検知部23は、人物が検知された画像データおよび第1機械学習モデルから得られた人物の位置情報を第2機械学習モデルに入力し、検知された人物の骨格情報を取得する。ここで、骨格検知部23は、第2機械学習モデルの出力値のスコア(確率)が閾値以上の場合に、出力された人物の骨格情報を採用することもできる。
【0029】
図5は、骨格情報の一例を説明する図である。
図5には、骨格情報として取得される骨格の定義情報が示される。
図5に示すように、骨格情報は、公知の骨格モデルで特定される各関節をナンバリングした、18個(0番から17番)の定義情報を記憶する。例えば、右肩関節(SHOULDER_RIGHT)には7番が付与され、左肘関節(ELBOW_LEFT)には5番が付与され、左膝関節(KNEE_LEFT)には11番が付与され、右股関節(HIP_RIGHT)には15番が付与される。
【0030】
したがって、骨格検知部23は、
図5に示した18個の骨格の座標情報を、第2機械学習モデルから取得する。例えば、骨格検知部23は、7番の右肩関節の位置として「X座標=X7、Y座標=Y7、Z座標=Z7」を取得する。なお、例えば、Z軸は、撮像装置から対象に向けた距離方向、Y軸は、Z軸に垂直な高さ方向、X軸は、水平方向をと定義することができる。
【0031】
図2に戻り、動作推定部24は、人物が撮像された位置にある対象物の領域に関する領域情報を取得し、領域情報と人物の骨格情報とに基づいて、人物が対象物に行う動作を推定する処理部である。具体的には、動作推定部24は、人物検知部22により検知された人物が棚に対して手を伸ばした動作、棚を見ている動作、または、棚に向いている動作(正対している動作)のいずれかの条件と一致するか否かにより、人物が対象物に行う動作を推定し、推定結果を範囲推定部25と手伸ばし行動認識部26に出力する。
【0032】
図6は、人物の動作推定を説明する図である。
図6では、骨格情報に含まれる各関節を線でつなげることで人物を描写している。
図6に示すように、動作推定部24は、対象場所情報DB15に記憶される棚の位置情報と、骨格検知部23により検知された骨格情報とを用い、検出された人物の動作が予め学習した動作と一致するか否かを判定する。
【0033】
例えば、動作推定部24は、棚からの所定位置内に位置し、検知された骨格情報が予め用意しておいた動作Aを示す骨格情報と類似する場合に、その動作Aを推定結果とする。また、動作推定部24は、棚からの所定位置内に位置する状態で、それまでに検知された各骨格情報の遷移が予め用意しておいた動作Bの骨格情報の遷移と類似する場合に、その動作Bを推定結果とする。なお、類似度は、各座標の差分の合計値が閾値未満か否かなど、公知の手法を採用することができる。
【0034】
ここで、動作推定部24は、棚を見る、棚に向いているなどの判定に際しては、例えば、顔や肩、胴体など垂線ベクトルが、あらかじめ設定した棚や商品などの物体情報の領域と交差することを用いる。
【0035】
例えば、動作推定部24は、手を伸ばした動作として、さらに一連の動作の中で腕の角度が最も大きいことを、判定条件として用いてもかまわない。具体的には、動作推定部24は、骨格情報の5番や8番を用いた腕の角度が閾値以上の場合に、手を伸ばした動作と推定することもできる。また、動作推定部24は、手を伸ばしたのちに左右上下方向に手を伸ばす動作のほか、手が一方向の軌跡で動いた場合に、手を伸ばす動作と推定することもできる。
【0036】
また、動作推定部24は、場所を見る動作として、上述のあらかじめ指定した領域や棚などの物体領域以外に、検知した手を見ることを用いて、場所を見るみなし動作として判定してもかまわない。例えば、動作推定部24は、数枚のフレームを用いて骨格情報の3番(HEAD)の遷移を監視することで、手を伸ばした動作のちに、手を見る動作を検知した場合に、場所(棚)を見る動作と推定する。また、動作推定部24は、複数回の顔を動かす動作を検知し後、手を伸ばす動作を検知した場合に、場所(棚)を見る動作として推定する。
【0037】
また、動作推定部24は、棚に向いている動作として、立つ、しゃがむ、座る動作に加え、領域や物体に対して体が正面または斜めに向いていることを、判定条件として用いてもかまわない。例えば、動作推定部24は、棚からの所定位置内に位置した状態かつ体が対象物(棚)に向いている状態で、立つ、しゃがむ、座る動作のいずれかを検出した場合に、棚に向いている動作と推定する。なお、上述した各動作は、骨格情報や骨格情報の遷移を監視することにより特定できる。また、動作推定部24は、複数の動作を推定してもよい。
【0038】
図2に戻り、範囲推定部25は、人物と対象物(棚)の距離として、人物の骨格情報と棚の領域情報とから人物の手が届く範囲を推定する処理部である。例えば、範囲推定部25は、動作推定部24による推定結果とあらかじめ設定した棚の位置情報(物体領域)とを用い、例えば両足の中心点などにより特定される、人物が立っている位置に対し、最短となる棚の垂線から一定の距離(例えば肩幅に相当)を手の届く範囲として推定する。また、範囲推定部25は、骨格検知部23により検知された、例えば足の長さや背の高さ、肩幅などの骨格情報から推定される手の長さと、例えば腕の角度は180度以上曲がらないなどの生体的特徴から推定される手の位置を用いて、手の届く範囲を推定してもかまわない。
【0039】
図7は、手伸ばし範囲の推定を説明する図である。
図7に示すように、範囲推定部25は、まず、骨格検知部23により検知された骨格情報で特定される両足の中心点を、立っている位置として検出する(S1)。続いて、範囲推定部25は、対象場所情報DB15に記憶される棚(位置情報)に対し、両足の中心点から最短となる距離として、例えば棚ROI30の下線への垂線を算出する(S2)。そして、範囲推定部25は、最短距離に対する棚(位置情報)の高さ方向の垂線を算出する(S3)。その後、範囲推定部25は、骨格検知部23により検知された骨格情報における足と肩までの高さ(S4)と肩幅情報(S5)を用いて、例えば高さの90から110%、肩幅の±100%を、手伸ばし範囲(手の届く範囲)と推定する(S6)。そして、範囲推定部25は、推定結果を手伸ばし行動認識部26に出力する。なお、ここで示した数値は、あくまで一例であり、任意に変更することができる。
【0040】
なお、範囲推定部25は、立っている状態に限らず、座っていると動作を判定された場合であっても、座っている状態から上記S1からS6の判定により、座っている状態で手が届く範囲を推定することもできる。また、範囲推定部25は、肩と肘と手先の骨格情報により特定される腕の長さを用い、肩の骨格情報と棚の垂線から、手の届く範囲を推定することもできる。
【0041】
図2に戻り、手伸ばし行動認識部26は、動作推定部24により推定された動作と、範囲推定部25により推定された人物の手が届く範囲とから、人物が対象物に手を伸ばした行動を認識する処理部である。そして、手伸ばし行動認識部26は、認識結果を手伸ばし位置算出部27に出力する。
【0042】
具体的には、手伸ばし行動認識部26は、動作推定部24により推定された動作と、範囲推定部25により推定された人物の手が届く範囲とを用い、あらかじめ設けた閾値にて判定することで、手を伸ばした行動として認識する。また、これらの判定項目を特徴量として数値化し、マハラビノス距離などを算出し機械学習の結果を用いて判定してもかまわない。
【0043】
手伸ばし位置算出部27は、手伸ばし行動認識部26により手を伸ばした行動と認識された画像(映像のフレーム)において、骨格情報や棚ROI30などを用いて、伸ばした手の位置情報を算出する処理部である。
【0044】
また、手伸ばし位置算出部27は、手伸ばし行動を認識した時間における手の位置情報を算出し、対応する商品へのアクセスとすることもできる。例えば、手伸ばし位置算出部27は、棚ROI30内の商品の位置情報と、伸ばした手の位置情報との比較により、人物が手に取った商品や手に取ろうとした商品などを特定する。このように、手伸ばし位置算出部27は、映像データの各フレームから人物が特定された場合に、その人物が手を伸ばした商品を特定して集計する。
【0045】
ここで、行動認識と位置算出について具体的に説明する。
図8は、人物の手伸ばし行動認識と位置算出を説明する図である。
図8に示すように、手伸ばし行動認識部26は、手の届く範囲の推定結果および人物の動作の推定結果と、予め定めた条件とのスコア(例えば一致率)により、手伸ばし行動か否かを認識する。
【0046】
例えば、手伸ばし行動認識部26は、所定数以上の条件と一致する場合、または、全条件のうち所定の割合の条件と一致する場合に、手伸ばし行動と認識する。なお、条件は、実験データ等を用いて予め生成して設定しておくこともでき、手の届く範囲の推定結果に対する条件と、人物の動作の推定結果に対する条件とに分けて定義して分けて判定することもできる。
【0047】
その後、手伸ばし位置算出部27は、手伸ばし行動と認識された画像データを特定し、その画像データを用いて特定された人物の骨格情報、棚ROI30、商品の位置情報などを用いて、手の位置情報を算出する。例えば、手伸ばし位置算出部27は、棚の座標や商品の座標などを用いて、画像データ内の手と重複する棚や商品の座標を手の位置情報として算出する。また、手伸ばし位置算出部27は、棚の座標、商品の座標、手伸ばし行動の認識結果、人物の骨格情報を訓練済みの機械学習モデルに入力して、人物の手の位置情報を取得することもできる。
【0048】
そして、手伸ばし位置算出部27は、商品の位置情報と人物の手の位置情報とを用いて、人物がアクセスした商品を特定する。例えば、手伸ばし位置算出部27は、手の座標と一致する商品、手の座標から所定範囲のある商品、または、手の座標から棚方向への延長線上にある商品などを、アクセスした商品と特定する。
【0049】
[処理の流れ]
次に、上述した行動認識処理の流れについて説明する。ここでは、全体的な処理の流れ、各処理部による処理の流れについて説明する。
【0050】
(全体的な処理の流れ)
図9は、実施例1にかかる行動認識処理の全体的な流れを示すフローチャートである。
図9に示すように、情報処理装置10は、処理を開始すると(S101:Yes)、撮像装置から映像データを取得する(S102)。
【0051】
続いて、情報処理装置10は、映像データ内の各フレーム(画像データ)から人物の検知を行い(S103)、人物が検知できない場合(S104:No)、次の映像データを取得する。一方、情報処理装置10は、人物が検知できた場合(S104:Yes)、検知された人物の骨格を検知する(S105)。
【0052】
そして、情報処理装置10は、検知された人物の動作を推定し(S106)、検知された人物の手伸ばし範囲を推定する(S107)。ここで、情報処理装置10は、推定された手伸ばし範囲により、商品もしくは棚に手が届く範囲ではない場合(S108:No)、次の画像を取得する。一方、情報処理装置10は、商品もしくは棚に手が届く範囲である場合(S108:Yes)、人物の行動認識を行い(S109)、人物の手の位置を算出する(S110)。
【0053】
(人物検知処理の流れ)
図10は、実施例1にかかる人物検知処理の流れを示すフローチャートである。
図10に示すように、人物検知部22は、映像データを取得し(S201)、映像データ内の各フレーム(画像データ)に対して、第1機械学習モデルを適用して、人物検知を行う(S202)。
【0054】
そして、人物検知部22は、第1機械学習モデルの出力値のスコア(確率)が閾値未満の場合(S203:No)、第1機械学習モデルの予測精度が低いと判定して、次の映像データを取得する。一方、人物検知部22は、第1機械学習モデルの出力値のスコア(確率)が閾値以上の場合(S203:Yes)、第1機械学習モデルの予測精度が高いと判定して、検知された人物の位置情報を記憶部13等に出力する(S204)。
【0055】
(骨格検知処理の流れ)
図11は、実施例1にかかる骨格検知処理の流れを示すフローチャートである。
図11に示すように、骨格検知部23は、映像データを取得し(S301)、人物検知部22により検知された人物の位置情報を取得する(S302)。
【0056】
そして、骨格検知部23は、映像データ内の人物が検知された画像データおよび人物の位置情報を第2機械学習モデルに入力し、検知された人物の骨格情報を取得し(S303)、記憶部13等に出力する(S304)。なお、ここでも、
図10と同様、スコアによる判定を実行してもよい。
【0057】
(動作推定処理の流れ)
図12は、実施例1にかかる動作推定処理の流れを示すフローチャートである。
図12に示すように、動作推定部24は、対象場所情報DB15から、撮像領域にある棚等の情報を含む対象場所の情報(領域情報)を取得する(S401)。また、動作推定部24は、骨格検知部23から人物の骨格情報を取得する(S402)。
【0058】
続いて、動作推定部24は、人物の骨格情報と対象場所の情報とに基づいて、人物が対象物に行う動作を推定する。具体的には、動作推定部24は、手伸ばし動作を推定し(S403)、場所を見る動作を推定し(S404)、場所に向く動作を推定する(S405)。なお、動作推定部24は、推定した動作に関する情報を、記憶部13等に出力する。
【0059】
(範囲推定処理の流れ)
図13は、実施例1にかかる範囲推定処理の流れを示すフローチャートである。
図13に示すように、範囲推定部25は、対象場所情報DB15から、撮像領域にある棚等の情報を含む対象場所の情報(領域情報)を取得する(S501)。また、動作推定部24は、骨格検知部23から、人物の骨格情報を取得する(S502)。
【0060】
続いて、範囲推定部25は、人物の骨格情報と対象場所(棚)の情報とに基づいて、人物から対象場所への最短距離を推定する(S503)。そして、範囲推定部25は、推定された最短距離と、人物の骨格情報とに基づき、手の届く範囲を推定する(S504)。なお、範囲推定部25は、推定した手の届く範囲に関する情報を、記憶部13等に出力する。
【0061】
(手伸ばし行動の認識処理の流れ)
図14は、実施例1にかかる手伸ばし行動の認識処理の流れを示すフローチャートである。
図14に示すように、手伸ばし行動認識部26は、動作推定部24により推定された動作推定の情報を取得し(S601)、範囲推定部25により推定された手の届く範囲の推定結果を取得する(S602)。
【0062】
続いて、手伸ばし行動認識部26は、取得した上記情報を用いて、人物が対象物(棚)に手を伸ばした行動のスコアを算出する(S603)。ここで、手伸ばし行動認識部26は、スコアが閾値未満である場合(S603:No)、S601に戻って以降の処理を繰り返す。一方、手伸ばし行動認識部26は、スコアが閾値以上である場合(S603:Yes)、手伸ばし行動と認識する(S604)。なお、手伸ばし行動認識部26は、認識した手伸ばし行動の認識結果を、記憶部13等に出力する。
【0063】
(手伸ばし位置の算出処理の流れ)
図15は、実施例1にかかる手伸ばし位置の算出処理の流れを示すフローチャートである。
図15に示すように、手伸ばし位置算出部27は、手伸ばし行動認識部26により手伸ばし行動の認識結果を取得し(S701)、人物の骨格情報を取得し(S702)、認識結果や骨格情報などを用いて、伸ばした手の位置情報を算出する(S703)。なお、手伸ばし位置算出部27は、算出した手の位置情報を、記憶部13等に出力する。
【0064】
[効果]
上述したように、情報処理装置10は、映像データから取得した骨格情報とあらかじめ定義した棚位置情報から、人体特性に基づき手を伸ばした位置を高精度に算出することができる。この結果、情報処理装置10は、作業状態分析や購買分析等に用いる有用な情報を生成して出力することができる。また、棚前に到達してから手を伸ばすまでに要した時間や、手伸ばし速度、軌跡や姿勢、回数をさらに分析することによって、作業者や購買者の心理状況も把握することも可能となる。
【0065】
また、情報処理装置10は、機械学習モデルを用いて、人物検知や骨格検知を行うので、機械学習モデルの再訓練などを定期的に行うことで、検知精度の向上を図ることができる。また、情報処理装置10は、予め想定した動作の骨格情報を用意しておき、検知された骨格情報とそれらとの比較により、動作を推定することができるので、画像データの画質等に依存せず、画像データの高度な解析も不要とし、検知処理の高速化を図ることができる。
【0066】
また、センサのみを用いる認識技術は、センサで取得された位置関係のみを用いるので、手の位置や体の向きと商品が重なった場合に手伸ばしと判定する。このため、実施例1で説明した商品棚のような大きな棚を対象物とした場合、誤検知することが多く、手が届かない場所でも、画像上重なった場合には誤検知する。一方、情報処理装置10は、人の位置(骨格情報)と棚の位置に応じて、動的に手の届く範囲を変えることで、手と商品(もしくは棚全体)が重なっても、手の届く範囲外の場合は検知しない仕組みを採用しており、検知精度を改善することが可能である。
続いて、情報処理装置10は、映像データ内の各フレーム(画像データ)から人物の検知を行い(S803)、人物が検知できない場合(S804:No)、次の映像データを取得する。一方、情報処理装置10は、人物が検知できた場合(S804:Yes)、検知された人物の骨格を検知する(S805)。
そして、情報処理装置10は、検知された人物の動作を推定し(S806)、検知された人物の手伸ばし範囲を推定する(S807)。ここで、情報処理装置10は、推定された手伸ばし範囲により、商品もしくは棚に手が届く範囲ではない場合(S808:No)、次の画像を取得する。一方、情報処理装置10は、商品もしくは棚に手が届く範囲である場合(S808:Yes)、人物の行動認識を行う(S809)。
これらと並行して、情報処理装置10は、人物の属性を推定する(S810)。例えば、情報処理装置10の属性推定部(図示しない)は、検知された人物の骨格情報を深層学習等により生成された機械学習モデルに入力して、属性推定を行う。人の属性として、性別や年代推定のほか、店員検知、不審者検知などを推定してもかまわない。なお、閾値等のパラメータを用い、属性らしさを判定し、次のフレーム映像取得処理に移ってもかまわない。
その後、情報処理装置10は、手伸ばし行動を認識した時間における手の位置情報を算出し、推定した属性情報を付加し、どの属性の人が対応する商品へアクセスしたかを出力する(S811)。