(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】設定方法、設定プログラム及び設定装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20240903BHJP
G06V 10/25 20220101ALI20240903BHJP
G06V 40/20 20220101ALI20240903BHJP
【FI】
G06T7/00 Z
G06V10/25
G06V40/20
(21)【出願番号】P 2021029293
(22)【出願日】2021-02-25
【審査請求日】2023-11-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】條 由花
(72)【発明者】
【氏名】藤本 純也
【審査官】合田 幸裕
(56)【参考文献】
【文献】特開2016-100696(JP,A)
【文献】特開2015-114950(JP,A)
【文献】特開2020-123352(JP,A)
【文献】特開2020-087165(JP,A)
【文献】米国特許出願公開第2019/0213406(US,A1)
【文献】国際公開第2011/113026(WO,A2)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06V 10/25
G06V 40/20
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
映像を取得し、
前記映像に含まれる第1のオブジェクトに対する骨格検出で得られる骨格情報の時系列データを用いて、骨格部位の位置をマッピングしたマップを前記骨格部位ごとに生成し、
前記骨格部位ごとに生成されたマップに含まれる第2のオブジェクトの周囲でマッピングが観測される頻度に基づいて、前記第1のオブジェクトと空間との関係性を示す空間状態の認識に用いるROIを設定する、
処理をコンピュータが実行することを特徴とする設定方法。
【請求項2】
前記生成する処理は、前記マップが複数に分割された領域ごとに前記領域にマッピングされたマッピング回数を集計する処理を含み、
前記設定する処理は、前記骨格部位ごとに生成されたマップに含まれる領域のうち前記第2のオブジェクトの周囲に対応する領域のマッピング回数に基づいて前記ROIを設定する処理を含む、
ことを特徴とする請求項1に記載の設定方法。
【請求項3】
前記設定する処理は、前記骨格部位ごとに生成されたマップの間で前記第2のオブジェクトの周囲に対応する領域のマッピング回数を比較し、最高値のマッピング回数が観測される領域に基づいて前記ROIを設定する処理を含む、
ことを特徴とする請求項2に記載の設定方法。
【請求項4】
前記設定する処理は、前記骨格部位ごとに生成されたマップの間で前記第2のオブジェクトの周囲に対応する領域であり、かつ指定を受け付けたROIの相対位置に対応する領域を比較し、最高値のマッピング回数が観測される領域に基づいて前記ROIを設定する処理を含む、
ことを特徴とする請求項3に記載の設定方法。
【請求項5】
前記設定する処理は、前記最高値のマッピング回数が観測される領域を含むマップに対応する骨格部位を前記ROIと比較する骨格部位として設定する処理を含む、
ことを特徴とする請求項3または4に記載の設定方法。
【請求項6】
前記領域は、前記マップがメッシュ状に分割されたグリッドであることを特徴とする請求項2~5のいずれか1つに記載の設定方法。
【請求項7】
前記設定する処理は、第1のROIの設定後に第2のROIを設定する場合、前記骨格部位ごとに生成されたマップのうち前記第1のROIと比較する部位に設定された骨格部位に対応するマップを除外して前記第2のROIを設定する処理を含む、
ことを特徴とする請求項1~6のいずれか1つに記載の設定方法。
【請求項8】
前記設定する処理は、前記骨格部位ごとに生成されたマップのうち、前記第1のROIと比較する部位に設定された第1の骨格部位および前記第1の骨格部位との連動性が閾値以上である第2の骨格部位に対応するマップを除外して前記第2のROIを設定する処理を含む、
ことを特徴とする請求項7に記載の設定方法。
【請求項9】
映像を取得し、
前記映像に含まれる第1のオブジェクトに対する骨格検出で得られる骨格情報の時系列データを用いて、骨格部位の位置をマッピングしたマップを前記骨格部位ごとに生成し、
前記骨格部位ごとに生成されたマップに含まれる第2のオブジェクトの周囲でマッピングが観測される頻度に基づいて、前記第1のオブジェクトと空間との関係性を示す空間状態の認識に用いるROIを設定する、
処理をコンピュータに実行させることを特徴とする設定プログラム。
【請求項10】
映像を取得し、
前記映像に含まれる第1のオブジェクトに対する骨格検出で得られる骨格情報の時系列データを用いて、骨格部位の位置をマッピングしたマップを前記骨格部位ごとに生成し、
前記骨格部位ごとに生成されたマップに含まれる第2のオブジェクトの周囲でマッピングが観測される頻度に基づいて、前記第1のオブジェクトと空間との関係性を示す空間状態の認識に用いるROIを設定する、
処理を実行する制御部を含む設定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、設定方法、設定プログラム及び設定装置に関する。
【背景技術】
【0002】
映像から人の行動を認識する行動認識技術が知られている。行動認識技術の1つとして、映像からDeep Learning等の機械学習モデルを用いて認識される基本動作をルールに設定された基本動作の組合せとを照合することにより、基本動作よりも複雑な行動を認識するものがある。この際、映像から認識される人とその周囲の空間との関係性を示す空間状態を条件に含める側面から、いわゆるROI(Region of Interest)がルールに設定される場合がある。
【先行技術文献】
【特許文献】
【0003】
【文献】特開平9-044758号公報
【文献】特開2019-096006号公報
【文献】特開2012-059271号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記のROIの設定は、行動認識技術を用いたシステムやサービスを提供する事業者やその利用者による手動設定に委ねられる側面がある。さらに、映像ごとに被写体に対するカメラの撮影角度が共通するとは限らないので、同一の行動を認識するために用いるROIの設定であっても異なるカメラにより撮像される映像に適用することは困難である側面もある。これらの側面からROIの設定が非効率である一面がある。
【0005】
1つの側面では、本発明は、ROIの設定の効率化を実現できる設定方法、設定プログラム及び設定装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
一態様の設定方法では、映像を取得し、前記映像に含まれる第1のオブジェクトに対する骨格検出で得られる骨格情報の時系列データを用いて、骨格部位の位置をマッピングしたマップを前記骨格部位ごとに生成し、前記骨格部位ごとに生成されたマップに含まれる第2のオブジェクトの周囲でマッピングが観測される頻度に基づいて、前記第1のオブジェクトと空間との関係性を示す空間状態の認識に用いるROIを設定する、処理をコンピュータが実行する。
【発明の効果】
【0007】
ROIの設定の効率化を実現できる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施例1に係る行動認識サービスの一例を示す図である。
【
図2】
図2は、上位行動の認識方法の一例を示す模式図である。
【
図4】
図4は、サンプル映像の一例を示す模式図である。
【
図5】
図5は、ヒートマップの一例を示す図である。
【
図6】
図6は、ヒートマップの一例を示す図である。
【
図7】
図7は、サンプル映像の一例を示す模式図である。
【
図8】
図8は、ヒートマップの一例を示す図である。
【
図9】
図9は、ヒートマップの一例を示す図である。
【
図10】
図10は、実施例1に係る設定装置の機能構成例を示す図である。
【
図11】
図11は、実施例1に係る行動認識装置の機能構成例を示す図である。
【
図12】
図12は、実施例1に係るROI設定処理の手順を示すフローチャートである。
【
図13】
図13は、実施例1に係る行動認識処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して本願に係る設定方法、設定プログラム及び設定装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例1】
【0010】
[行動認識サービスの一例]
図1は、実施例1に係る行動認識サービスの一例を示す図である。
図1に示す行動認識サービス1は、カメラ2の映像から被写体、例えば人の行動を認識するサービスを提供するものである。このような行動認識サービス1では、あくまで一例として、複数の動作が組み合わさることで複雑化する上位行動が認識対象とされる。例えば、上位行動の例として、作業行動や不審行動、購買行動などの他、任意の行動であってよい。
【0011】
上記の行動認識サービス1を除けば、「上位行動」の認識には、その行動が含まれる映像などを学習データとして大量に準備する必要がある。このような大量の学習データの準備は実質的に困難であったり、あるいは大量の学習データの準備ができたとしても時間と手間がかかったりといった一面があるので、現場への導入が困難である側面がある。
【0012】
このような大量の学習データの準備を不要化する側面から、上記の行動認識サービス1は、日常の生活で行われる「基本動作」から後述する空間分析や時系列分析により認識される「要素行動」の組合せに基づいて上位行動を認識する。
【0013】
図1に示すように、行動認識サービス1には、オブジェクト認識機能3、基本動作認識機能4、空間状態認識機能5、上位行動認識機能6などが含まれ得る。
【0014】
オブジェクト認識機能3は、カメラ2により撮像される映像からオブジェクトを認識する機能である。ここで言う「オブジェクト」とは、行動認識の対象とする映像の被写体を指し、例えば、行動認識の対象とする人が含まれ得る。オブジェクトには、人以外にも、行動認識に関連する物体、例えば人が使用する道具や環境に配置される備品、商品あるいは設備なども含まれてもよい。
【0015】
一実施形態として、オブジェクト認識機能3は、映像のフレームごとにオブジェクトを認識する。ここで言う「認識」は、オブジェクトの個体またはクラスの認識の他、オブジェクトが存在する領域の認識、いわゆる物体検出が含まれてよい。このようなオブジェクト認識は、あくまで一例として、任意の機械学習のアルゴリズム、例えばディープラーニングなどにしたがってオブジェクトが訓練済みである機械学習モデル、例えばCNN(Convolutional Neural Network)により実現され得る。その上で、オブジェクト認識機能3は、オブジェクトのうち人を対象に骨格検出、あるいは姿勢検出(姿勢推定)とも呼ばれる処理を適用することにより、骨格部位、例えば各関節の位置を含む骨格情報を抽出する。なお、各関節の座標は、2次元の座標であってもよいし、3次元の座標であってもよい。
【0016】
基本動作認識機能4は、各フレームの骨格情報から基本動作を認識する機能である。ここで言う「基本動作」には、人の全身に動きが現れる「全身行動」や人の身体の一部に動きが現れる「部分行動」などが含まれ得る。このうち、「全身行動」の例として、「歩く」や「走る」、「止まっている」などの行動が挙げられる。また、「部分行動」の例として、「右手を上げる」や「下を向く」、「前を向く」などの行動が挙げられる。これら「全身行動」や「部分行動」は、日常で行われる「基本動作」であるので、「上位行動」に比べれば単純な動作である。それ故、「基本動作」はその映像の収集が容易であると共に、訓練済みの機械学習モデルにより高精度な認識を実現し得る。あくまで一例として、基本動作の認識は、任意の機械学習のアルゴリズムにしたがって基本動作の認識が訓練済みである機械学習モデル、例えばニューラルネットワークや分類器などのモデルにより実現され得る。
【0017】
空間状態認識機能5は、オブジェクト認識により得られた人と当該人の周囲の空間との関係性を示す空間状態を認識する。ここで言う「空間」とは、あくまで一例として、関心領域、あるいは興味関心領域とも呼ばれるROI(Region of Interest)により定義され得る。例えば、空間状態認識機能5は、人および空間の間の領域内外判定や人および空間の間の距離の閾値判定などの空間分析を実行する。
【0018】
1つの側面として、空間状態認識機能5は、人および空間の間の領域内外判定により空間状態を認識することができる。例えば、ROIの例として、オブジェクト認識により得られるキーボードの領域、あるいはキーボードの領域を含む周辺の領域にROIが設定される例を挙げる。この場合、空間状態認識機能5は、人の3D骨格座標がモデル化されたスケルトンに含まれる関節のうち左手首の位置がROIに含まれるか否かを判定する。この結果、左手首の位置がROIに含まれる場合、空間状態「キーボード操作」が認識される。
【0019】
他の側面として、空間状態認識機能5は、人および空間の間の距離の閾値判定により空間状態を認識することができる。例えば、ROIの例として、オブジェクト認識により得られる椅子の領域、あるいは椅子の領域を含む周辺の領域にROIが設定される例を挙げる。この場合、空間状態認識機能5は、人の3Dの骨格座標がモデル化されたスケルトンに含まれる関節のうち右腰の位置および左腰の位置から算出された腰の中央位置と、ROIの重心位置との距離が閾値以下であるか否かを判定する。この結果、腰の中央位置とROIの重心位置との距離が閾値以下である場合、空間状態「椅子に座る」が認識される。
【0020】
上位行動認識機能6は、上位行動を認識する機能である。
図1に示すように、上位行動認識機能6には、要素行動認識機能6Aやシナリオ認識機能6Bなどが含まれ得る。
【0021】
要素行動認識機能6Aは、基本動作の認識結果、および/または、空間状態の認識結果の時系列分析を行うことにより、要素行動を認識する機能である。例えば、要素行動認識機能6Aは、1又は複数の基本動作に関する認識結果の時系列データ、および/または、空間状態の時系列データを要素行動認識ルール7Aと照合する。要素行動認識ルール7Aには、認識対象とする要素行動ごとに、1又は複数の基本動作に関する時系列パターンおよび空間状態のうち少なくともいずれか1つまたは両方が定義される。例えば、時系列パターンの例として、基本動作および/または空間状態の継続性や基本動作および/または空間状態の状態遷移などが挙げられる。
【0022】
シナリオ認識機能6Bは、要素行動の認識結果をシナリオ認識ルール7Bと照合することにより、上位行動を認識する機能である。シナリオ認識ルール7Bには、認識対象とする上位行動ごとに要素行動の組合せがシナリオとして定義される。このようなシナリオは、順序や論理演算などにより定義され得る。
【0023】
これら要素行動認識ルール7Aおよびシナリオ認識ルール7Bは、システム定義のみならず、ユーザ定義により設定させることができる。例えば、上記の行動認識サービス1を提供する事業者側のシステムエンジニアや上記の行動認識サービス1の顧客などのユーザUに要素行動認識ルール7Aおよびシナリオ認識ルール7Bを編集させることにより、ユーザUによるカスタマイズが可能である。
【0024】
図2は、上位行動の認識方法の一例を示す模式図である。
図2には、あくまで一例として、全身と、右腕、顔および腰の各部位とに関する基本動作認識結果の時系列データが示されている。さらに、
図2には、あくまで一例として、基本動作認識結果のラベルに対応する基本動作ID(IDentification)が時系列にプロットされた例が示されている。さらに、
図2には、全身および部位ごとにプロットされた基本動作認識結果の時系列データのうち、要素行動認識ルール7Aに定義された基本動作の時系列パターンを満たす部分がハッチングで示されている。
【0025】
図2に示す例で言えば、時刻t1~時刻t3における全身、右腕および顔の基本動作認識結果の時系列データが、要素行動認識ルール7Aに要素行動「B」の認識ルールとして定義された全身、右腕および顔の基本動作に関する時系列パターンを満たす。これによって、要素行動認識機能6Aが時刻t3で要素行動「B」を認識する。さらに、時刻t3~時刻t7における右腕の基本動作認識結果の時系列データが、要素行動認識ルール7Aに要素行動「A」の認識ルールとして定義された右腕の基本動作に関する時系列パターンを満たす。これによって、要素行動認識機能6Aが時刻t7で要素行動「A」を認識する。さらに、時刻t5~時刻t9における腰の基本動作認識結果の時系列データが、要素行動認識ルール7Aに要素行動「P」の認識ルールとして定義された腰の基本動作に関する時系列パターンを満たす。これによって、要素行動認識機能6Aが時刻t9で要素行動「P」を認識する。さらに、時刻t6~時刻t10における全身および右腕の基本動作認識結果の時系列データが、要素行動認識ルール7Aに要素行動「J」の認識ルールとして定義された全身および右腕の基本動作に関する時系列パターンを満たす。これによって、要素行動認識機能6Aが時刻t10で要素行動「J」を認識する。これら4つの要素行動の組合せ「A」、「B」、「J」および「P」が認識された順序と、シナリオ認識ルール7Bに上位行動「X」の認識ルールとして定義されたシナリオ順序「B」、「A」、「P」、「J」とが一致する。したがって、シナリオ認識機能6Bが時刻t10で上位行動「X」を認識する。
【0026】
なお、
図2では、基本動作認識結果の時系列データと、要素行動認識ルール7Aに定義された基本動作の時系列パターンとが照合される例を挙げたが、これに限定されない。例えば、
図2に例示された照合に加えて、要素行動認識ルール7Aに定義された空間状態が空間状態認識機能5により認識されたか否かをさらに要件に加えて要素行動が認識されることとしてもよい。また、基本動作認識結果の時系列データと、要素行動認識ルール7Aに定義された基本動作の時系列パターンとの照合は必ずしも行われずともよく、要素行動認識ルール7Aに定義された空間状態が空間状態認識機能5により認識されたか否かだけを要件として要素行動が認識されることとしてもよい。
【0027】
[課題の一側面]
課題の一側面として、上記の背景技術の欄でも説明した通り、ROIの設定の効率面に課題がある。
【0028】
例えば、ROIの設定は、行動認識サービス1を提供する事業者側のシステムエンジニアや上記の行動認識サービス1の顧客などのユーザUによる手動設定に委ねられる。さらに、カメラごとに被写体に対するカメラの撮影角度、いわゆるカメラアングルが異なるので、1つのカメラにより撮像される映像に設定されたROIを共通の要素行動や上位行動が認識対象とされる映像に流用するのは困難である。このため、カメラアングルごとに映像上にROIの手動設定、例えばGUI(Graphical User Interface)を介するROIの描画操作などが必要となる。それ故、1つのROIの手動設定にも手間が掛かる上、ROIの設定対象とする映像の数が増加するに従って手動設定の回数も増加するので、非効率である。
【0029】
加えて、ROIの設定時には、ROIと比較する骨格の部位、例えば関節も併せて指定しなければ空間状態の認識が機能しない場合がある。なぜなら、カメラアングルごとにROIと比較する部位の指定を変えなければ、空間状態の認識漏れが発生し得るからである。例えば、ROIと比較する部位が固定される場合、カメラの光学中心からオブジェクト、例えば人体までの間に存在する障害物などがオクルージョンの一因となって発生する部位の検出漏れに伴って空間状態の認識漏れが発生し得る。このように、カメラアングルごとにROIと比較する部位を指定する手間も相まってROIの設定の効率性が低下する。
【0030】
このような効率性が低下は、既存システムの拡張性を低下させるので、上記の行動認識サービス1の導入を妨げるモチベーションの1つとなり得る。例えば、既存システム、例えばモニタリングシステムやインターホンシステムなどが有するカメラの台数が多いほどROIの設定の手間が増大する。これが妨げとなって、既存システムのカメラを活用できるという行動認識サービス1の長所を活かし切れない。
【0031】
そうであるからと言って、ROIの自動設定を実現するには、次のような課題がある。例えば、ROIを設定する位置は映像に含まれるオブジェクトのうち物体の位置に関連性があるという着眼点の下、物体の周囲にROIを自動設定する進展技術を例に挙げる。この進展技術は公知である特許文献や非特許文献等に記載がある従来技術とは区別される。
【0032】
1つの側面として、上記の進展技術には、空間状態、ひいては要素行動や上位行動の認識に寄与しないROIが設定されるという一面がある。例えば、ATM(Automatic Teller Machine)の利用という上位行動を認識する側面からATMにROIが設定される利用シーンを例に挙げる。この場合、上記の進展技術では、たとえATMの周囲にROIが設定されたとしても、タッチパネル等の操作部が設置されていない部分、例えばATMの側面や背面などにROIが設定される場合がある。このようなROIにおける人の存在が検知されたとしても、ATMを操作する行動との関連性が低い。このため、上記の進展技術により設定されるROIでは、誤認識および認識漏れが発生するので、実用性に耐えられない側面がある。
【0033】
他の側面として、上記の進展技術は、あくまでROIを設定するものに過ぎない。このため、たとえROIの位置が適切に設定されたとしても、オクルージョンが発生する部位はカメラアングルに応じて変わる。それ故、上記の進展技術には、ROIと比較する骨格の部位まで適切に設定することは困難である一面がある。
【0034】
[課題解決アプローチの一側面]
そこで、本実施例では、ROIの自動設定を実現する側面から、映像の各フレームから検出される骨格部位の位置をマッピングして部位ごとに生成されたヒートマップ上の物体周囲でマッピングが観測される頻度に基づいてROIを設定する設定機能を提供する。
【0035】
このようにROIの自動設定が行われる場合、ユーザ指定の一例として、ROIの設定対象とするオブジェクトの指定を受け付けることができる。あくまで一例として、ATMの利用に関する行動認識が行われる利用シーンの下で空間分析に用いるROIが設定される場合、映像から物体検出で得られる物体のうちROIの設定対象とするATMの指定を受け付けることができる。この際、オブジェクトの指定は、物体検出の結果として映像中にオブジェクトごとに表示されたバウンディングボックスの中から選択を受け付けたり、あるいはオブジェクトのクラス名がリスト化されたリストの中から選択を受け付けたりすることができる。さらに、タッチパネル等の操作部が設置されている部分に対する空間状態を認識する側面から、「前」、「後」、「左」、「右」、「上」あるいは「下」などのATMに対するROIの相対位置の指定を受け付けることもできる。
【0036】
図3は、利用シーンの一例を示す図である。
図3には、あくまで一例として、ATMの利用に関する行動認識が行われる利用シーンの下で行われる空間分析、時系列分析およびシナリオ分析のユーザ定義が示されている。
図3に示す例では、ATMの前に足が入っているか否かを判定する空間分析により空間状態「ATM前のROIに足が入っている」が行われることが定義されている。つまり、本例では、ATMがROIの設定対象として指定されると共にATMに対するROIの相対位置として「前」が指定されていることを意味する。さらに、ATMの前部に足が入っているという空間状態が特定の時間条件を満たすか否か、例えば一定時間以上、あるいは特定のフレーム数以上継続するか否かを判定する時系列分析が行われることが定義されている。その上で、ATMの前部に足が入っているという空間状態が特定の時間条件を満たすという要素行動を含むシナリオ「ATMの前に立つ」と一致する要素行動が発生したか否かを判定するシナリオ分析が行われることが定義されている。
【0037】
このようなユーザ指定の下、本実施例に係る設定機能では、行動認識の対象とする行動シーン、例えばATMが利用されるシーンが撮影された映像のサンプルを用いて、上記のヒートマップが生成される。以下、カメラ2により撮像される映像の中でも上記のヒートマップの生成に用いるサンプルのことを「サンプル映像」と記載する場合がある。
【0038】
ここで、サンプル映像は、必ずしも1つに限定されず、複数であってよい。あくまで一例として、上記のヒートマップの生成には、同一のカメラ2により撮影されたサンプル映像を用いることができる。この際、必ずしも同一のカメラ2により撮影されたサンプル映像に限定されない。例えば、カメラ2と異なるカメラであってもカメラ間で被写体を撮影する構図が共通する場合、行動認識に相応しいROIも共通する可能性が高まる。このことから、同一のカメラアングルで撮影されたサンプル映像をヒートマップの生成に用いることもできる。
【0039】
このようなサンプル映像を用いて、本実施例に係る設定機能は、サンプル映像ごとに行動認識の対象とする行動シーンを抽出する。あくまで一例として、サンプル映像のうち、上記のオブジェクト認識により人がオブジェクトとして認識される区間の映像を行動シーンとして抽出することができる。
【0040】
続いて、本実施例に係る設定機能は、上記の行動シーンに対する骨格検出で得られる骨格情報の時系列データを用いて、骨格部位、例えば関節の位置をマッピングする。この際、骨格部位の位置は、骨格部位ごとに区別してマッピングされる。あくまで一例として、頭部と左右の手首、肘、肩、腰、膝および足首との13個の関節により骨格が表現される場合、マッピングにより13個分のヒートマップが得られる。さらに、マッピングは、ヒートマップの生成に用いるサンプル映像の数に対応する回数の分、繰り返すことができる。
【0041】
そして、本実施例に係る設定機能は、ヒートマップごとに当該ヒートマップが複数に分割された領域のマッピング回数を集計する。これにより、領域ごとにマッピング回数が集計されたヒートマップが得られる。
【0042】
その上で、本実施例に係る設定機能は、各骨格部位のヒートマップに含まれる領域のうちROIの設定対象としてユーザ指定が行われたオブジェクトおよびその周囲に対応する領域のマッピング回数に基づいてROIを設定する。
【0043】
[ROI設定の一例]
図4は、サンプル映像の一例を示す模式図である。
図4には、あくまで一例として、ATMの前に人が立つ様子が撮影されたサンプル映像21が示されている。さらに、
図4には、サンプル映像21に対する物体検出の結果として得られたオブジェクトObj1及びObj2がバウンディングボックスで示されている。
【0044】
図4に示すように、サンプル映像21からは、人のオブジェクトObj1及びATMのObj2の2つのオブジェクトが物体検出で得られる。このような物体検出の結果が表示されたサンプル映像21上でATMのObj2のバウンディングボックスをROIの設定対象とするオブジェクトとして選択することができる。この他、物体検出の結果としてオブジェクトObj1及びObj2がリスト形式で表示されたリストからオブジェクトObj2をROIの設定対象とするオブジェクトとして選択することもできる。なお、
図4には、人のオブジェクトObj1を含むサンプル映像21を例示したが、ユーザ指定時には人が必ずしも含まれずともよいので、ユーザ指定には人のオブジェクトObj1が含まれないサンプル映像を用いてもよい。
【0045】
図5は、ヒートマップの一例を示す図である。
図5には、
図4に示すサンプル映像21の行動シーンに対する骨格検出で得られる骨格情報の時系列データのうち、右足首および左足首の2つの骨格部位の中点の位置がサンプル映像21上にマッピングされたヒートマップ41が示される。さらに、
図5には、ヒートマップ41がメッシュに分割されることにより得られたグリッドごとに右足首および左足首の中点がマッピングされたマッピング回数がプロットされている。さらに、
図5には、ヒートマップ41のうちATMに対するROIの相対位置としてユーザ指定が行われたATMの前方に対応するグリッドに絞り込んでマッピング回数の表示が行われている。なお、
図5には、左右の手首、肘、肩、腰、膝および足首などの骨格部位が白丸で示されると共に、右足首および左足首の中点の位置がハッチング付きの楕円で示されている。
【0046】
図6は、ヒートマップの一例を示す図である。
図6には、
図4に示すサンプル映像21の行動シーンに対する骨格検出で得られる骨格情報の時系列データのうち、右腰および左腰の2つの骨格部位の中点の位置がマッピングされたヒートマップ42が示されている。さらに、
図6には、ヒートマップ42がメッシュに分割されることにより得られたグリッドごとに右腰および左腰の中点がマッピングされたマッピング回数がプロットされている。さらに、
図6には、ヒートマップ42のうちATMに対するROIの相対位置としてユーザ指定が行われたATMの前方に対応するグリッドに絞り込んでマッピング回数の表示が行われている。なお、
図6には、左右の手首、肘、肩、腰、膝および足首などの骨格部位が白丸で示されると共に、右腰および左腰の中点の位置がハッチング付きの楕円で示されている。
【0047】
あくまで一例として、
図5に示すヒートマップ41及び
図6に示すヒートマップ42の2つのヒートマップに基づいてROIが設定される例を挙げる。この場合、ヒートマップ41及びヒートマップ42の間でATMに対するROIの相対位置としてユーザ指定が行われたATMの前方に対応するグリッドのうち最高値のマッピング回数が観測されるグリットが選択される。すなわち、
図5に示すヒートマップ41のうちマッピング回数「80」が観測されるグリッドが選択された上で当該グリッドの位置および大きさがROIとして設定される。加えて、最高値のマッピング回数が観測されるグリットを有するヒートマップ41に対応する骨格部位「右足首および左足首の中点」がROIと比較する骨格部位として設定される。
【0048】
このように、
図4~
図6に示すROI設定例では、ATMを操作する行動との関連性が高い領域、例えばATMの前面などにROIを設定できる。さらに、
図4~
図6に示すROI設定例では、行動時に骨格検出で検出され易い骨格部位をROIと比較する部位として設定できると共に、当該骨格部位が検出され易い領域にROIを設定できる。よって、
図4~
図6に示すROI設定例によれば、空間状態、ひいては要素行動や上位行動の認識に寄与するROIを設定できる。
【0049】
[ROI設定の他の一例]
図7は、サンプル映像の一例を示す模式図である。
図7には、あくまで一例として、ATMの前に人が立つ様子が撮影されたサンプル映像22が示されている。さらに、
図7には、サンプル映像22に対する物体検出の結果として得られたオブジェクトObj3及びObj4がバウンディングボックスで示されている。
【0050】
図7に示すように、サンプル映像22からは、人のオブジェクトObj3及びATMのObj4の2つのオブジェクトが物体検出で得られる。このような物体検出の結果が表示されたサンプル映像22上でATMのObj4のバウンディングボックスをROIの設定対象とするオブジェクトとして選択することができる。この他、物体検出の結果としてオブジェクトObj3及びObj4がリスト形式で表示されたリストからオブジェクトObj2をROIの設定対象とするオブジェクトとして選択することもできる。なお、
図7には、人のオブジェクトObj3を含むサンプル映像22を例示したが、ユーザ指定時には人が必ずしも含まれずともよいので、ユーザ指定には人のオブジェクトObj3が含まれないフレームのサンプル映像を用いてもよい。
【0051】
図8は、ヒートマップの一例を示す図である。
図8には、
図7に示すサンプル映像22の行動シーンに対する骨格検出で得られる骨格情報の時系列データのうち、右足首および左足首の2つの骨格部位の中点の位置がサンプル映像22上にマッピングされたヒートマップ43が示される。さらに、
図8には、ヒートマップ43がメッシュに分割されることにより得られたグリッドごとに右足首および左足首の中点がマッピングされたマッピング回数がプロットされている。さらに、
図8には、ヒートマップ43のうちATMに対するROIの相対位置としてユーザ指定が行われたATMの前方に対応するグリッドに絞り込んでマッピング回数の表示が行われている。なお、
図8には、左右の手首、肘、肩、腰、膝および足首などの骨格部位が白丸で示されると共に、右足首および左足首の中点の位置がハッチング付きの楕円で示されている。
【0052】
図9は、ヒートマップの一例を示す図である。
図9には、
図7に示すサンプル映像22の行動シーンに対する骨格検出で得られる骨格情報の時系列データのうち、右腰および左腰の2つの骨格部位の中点の位置がマッピングされたヒートマップ44が示されている。さらに、
図9には、ヒートマップ44がメッシュに分割されることにより得られたグリッドごとに右腰および左腰の中点がマッピングされたマッピング回数がプロットされている。さらに、
図9には、ヒートマップ44のうちATMに対するROIの相対位置としてユーザ指定が行われたATMの前方に対応するグリッドに絞り込んでマッピング回数の表示が行われている。なお、
図9には、左右の手首、肘、肩、腰、膝および足首などの骨格部位が白丸で示されると共に、右腰および左腰の中点の位置がハッチング付きの楕円で示されている。
【0053】
他の一例として、
図8に示すヒートマップ43及び
図9に示すヒートマップ44の2つのヒートマップに基づいてROIが設定される例を挙げる。この場合にも、ヒートマップ43及びヒートマップ44の間でATMに対するROIの相対位置としてユーザ指定が行われたATMの前方に対応するグリッドのうち最高値のマッピング回数が観測されるグリットが選択される。すなわち、
図9に示すヒートマップ44のうちマッピング回数「60」が観測されるグリッドが選択された上で当該グリッドの位置および大きさがROIとして設定される。加えて、最高値のマッピング回数が観測されるグリッドを有するヒートマップ44に対応する骨格部位「右腰および左腰の中点」がROIと比較する骨格部位として設定される。
【0054】
このように、
図7~
図9に示すROI設定例によれば、
図4~
図6に示すROI設定例と同様に、ATMを操作する行動との関連性が高い領域、例えばATMの前面などにROIを設定できる。さらに、
図7~
図9に示すROI設定例によれば、カメラの光学中心から行動認識の対象とする人のオブジェクトまでの間に存在する壁が障害物となって骨格部位のうち足首にオクルージョンが発生する。このような足首のオクルージョンが発生する状況下でも、足首の代わりに腰部をROIと比較する部位として設定できると共に、当該骨格部位が検出され易い領域にROIを設定できる。よって、
図7~
図9に示すROI設定例においても、空間状態、ひいては要素行動や上位行動の認識に寄与するROIを設定できる。
【0055】
以上のように、本実施例に係る設定機能では、空間状態の認識に寄与するROIの自動設定を実現できる。したがって、本実施例に係る設定機能によれば、ROIの設定の効率化を実現できる。さらに、ROIの設定の効率化が実現されることで、上記の行動認識サービス1を導入するモチベーションを高めることができる。
【0056】
[設定装置の構成]
次に、上記の設定機能を有する設定装置10の機能的構成について説明する。
図10は、実施例1に係る設定装置10の機能構成例を示す図である。
図10には、設定装置10が有する機能に対応するブロックが模式化されている。
【0057】
図10に示す設定装置10は、パッケージソフトウェア又はオンラインソフトウェアとして、上記の設定機能に対応する設定プログラムを任意のコンピュータにインストールさせることによって実装できる。例えば、設定装置10は、SaaS(Software as a Service)型のアプリケーションとして実装することで、上記の設定機能をクラウドサービスとして提供することとしてもかまわない。これに限定されず、設定装置10は、上記の設定機能をオンプレミスに提供するサーバとして実装することができる。
【0058】
図10に示すように、設定装置10は、受付部11と、映像取得部12と、オブジェクト認識部13と、ヒートマップ生成部14と、ROI設定部15と、ROI情報記憶部16とを有する。なお、設定装置10は、
図10に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば入出力インタフェイスや通信インタフェイスなどに対応する機能が含まれてもかまわない。
【0059】
図10に示す受付部11、映像取得部12、オブジェクト認識部13、ヒートマップ生成部14及びROI設定部15などの機能部は、ハードウェアプロセッサにより仮想的に実現される。例えば、ハードウェアプロセッサには、CPU(Central Processing Unit)やMPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、GPGPU(General-Purpose computing on GPU)などが挙げられる。プロセッサは、図示しない記憶装置、例えばHDD(Hard Disk Drive)、光ディスクやSSD(Solid State Drive)などからOS(Operating System)の他、上記の設定プログラムなどのプログラムを読み出す。その上で、プロセッサは、上記の設定プログラムを実行することにより、RAM(Random Access Memory)等のメモリ上に上記の機能部に対応するプロセスを展開する。このように、上記の設定プログラムが実行される結果、上記の機能部がプロセスとして仮想的に実現される。ここでは、プロセッサの一例として、CPUやMPUを例示したが、汎用型および特化型を問わず、任意のプロセッサにより上記の機能部が実現されることとしてもかまわない。この他、上記の機能部または機能部の一部は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによって実現されることとしてもかまわない。
【0060】
上記のROI情報記憶部16などの記憶部は、HDDや光ディスク、SSDなどの補助記憶装置として実現したり、補助記憶装置が有する記憶領域の一部を割り当てることにより実現したりすることができる。
【0061】
受付部11は、各種の情報を受け付ける処理部である。あくまで一例として、受付部11は、図示しない端末装置などを介して各種の情報を受け付けることができる。例えば、受付部11は、ROI設定のリクエストを受け付ける。
【0062】
このようにROI設定のリクエストを受け付ける際、受付部11は、ROIの設定に用いるサンプル映像の指定を受け付けることができる。例えば、受付部11は、カメラ2ごとに行動認識の対象とする行動シーンが撮影されたサンプル映像またはサンプル映像群のリスト上でROIの設定に用いるサンプル映像またはサンプル映像群の指定を受け付けることができる。
【0063】
この他、受付部11は、ROIの設定対象とするオブジェクトの指定を受け付けることができる。あくまで一例として、受付部11は、ROIの設定に用いる指定を受け付けたサンプル映像上でROIの設定対象とするオブジェクトの範囲指定を受け付ける。例えば、オブジェクトの範囲指定は、ドラッグ&ドロップなどの操作入力、矩形や楕円などの図形を定義する点、例えば頂点や重心、中心などの座標入力、あるいは領域のシルエットの描画入力により実現することができる。なお、ROIの設定対象とするオブジェクトの指定は、範囲指定に限らず、物体検出で用いられるオブジェクトのクラス名の入力を受け付けることとしてもよい。
【0064】
さらに、ROIの設定対象とするオブジェクトの指定を受け付ける際、受付部11は、
図4や
図7を用いて例示した通り、サンプル映像に対する物体検出の結果を用いることができる。例えば、受付部11は、物体検出の結果としてサンプル映像中にオブジェクトごとに表示されたバウンディングボックスの中から選択を受け付けたり、あるいはオブジェクトのクラス名がリスト化されたリストの中から選択を受け付けたりすることができる。
【0065】
さらに、受付部11は、
図4や
図7を用いて例示した通り、ROIの相対位置の指定を受け付けることもできる。例えば、受付部11は、「前」、「後」、「左」、「右」、「上」あるいは「下」などの方向の指定を受け付けることができる。なお、ここで言う方向は、カメラ2の視点を基準としてもよいし、指定のオブジェクトを基準としてもよい。
【0066】
映像取得部12は、サンプル映像を取得する処理部である。ここで、映像取得部12は、ROIの設定対象とするカメラ1つにつき少なくとも1つのサンプル映像を取得することができるが、2つ以上のサンプル映像群を取得することもできる。あくまで一例として、映像取得部12は、映像を蓄積するストレージ、例えばハードディスクや光ディスクなどの補助記憶装置またはメモリカードやUSB(Universal Serial Bus)メモリなどのリムーバブルメディアからサンプル映像を取得することができる。この他、映像取得部12は、図示しない外部装置からネットワークNWを介してサンプル映像を取得することもできる。
【0067】
オブジェクト認識部13は、サンプル映像からオブジェクトを認識する処理部である。オブジェクト認識部13は、
図1に示すオブジェクト認識機能3に対応し得る。あくまで一例として、オブジェクト認識部13は、映像取得部12により取得されたサンプル映像ごとに次のようなオブジェクト認識を実行する。すなわち、オブジェクト認識部13は、サンプル映像のフレームごとにオブジェクトを認識する。上述の通り、ここで言う「認識」は、オブジェクトの個体またはクラスの認識の他、オブジェクトが存在する領域の認識、いわゆる物体検出が含まれてよい。このようなオブジェクト認識は、あくまで一例として、任意の機械学習のアルゴリズム、例えばディープラーニングなどにしたがってオブジェクトが訓練済みである機械学習モデル、例えばCNNにより実現され得る。その上で、オブジェクト認識部13は、オブジェクトのうち人を対象に骨格検出、あるいは姿勢検出(姿勢推定)とも呼ばれる処理を適用することにより、骨格部位、例えば各関節の位置を含む骨格情報を抽出する。
【0068】
ヒートマップ生成部14は、ヒートマップを生成する処理部である。あくまで一例として、ヒートマップ生成部14は、映像取得部12により取得されるK個のサンプル映像ごとに行動認識の対象とする行動シーンを抽出する。例えば、サンプル映像のうち、上記のオブジェクト認識により人がオブジェクトとして認識される区間の映像を行動シーンとして抽出することができる。この際、必ずしもオブジェクト認識部13によるオブジェクト認識の結果が用いられずともよい。例えば、テンプレートマッチング、ブロックマッチング、背景差分、あるいはオプティカルフローなどのアルゴリズムにしたがってフレーム間で変化が現れる区間の映像を行動シーンとして抽出することもできる。
【0069】
上記の行動シーンの抽出後、ヒートマップ生成部14は、当該行動シーンの区間に対する骨格検出で得られる骨格情報の時系列データを用いて、骨格部位、例えば関節の位置をマッピングする。例えば、ヒートマップ生成部14は、ヒートマップの生成対象とする単位、例えば骨格部位ごとに骨格部位の位置を区別してマッピングすることができる。この際、ヒートマップ生成部14は、左右の肩や左右の腰、左右の足首などの複数の骨格部位の中点の位置をマッピングすることにより複数の骨格部位を1つに纏めてマッピングすることもできる。このようにマッピングが実行される際、ヒートマップ生成部14は、ヒートマップが複数に分割された領域ごとに当該領域にマッピングが行われたマッピング回数を集計する。さらに、ヒートマップ生成部14は、領域単位で集計されるマッピング回数の集計値を映像取得部12により取得されるK個のサンプル映像ごとに累積して加算する。
【0070】
あくまで一例として、ヒートマップ生成部14は、サンプル映像の任意のフレームがメッシュに分割されることにより得られたグリッドごとに当該グリッドにマッピングが行われたマッピング回数を集計することができる。ここで、ヒートマップのメッシュ化に用いる格子の数やサイズは、任意の値を設定することができる。例えば、カメラ2ごとにカメラ2から被写体とするオブジェクトまでの距離が異なるので、映像に現れるオブジェクトのサイズも異なる。このことから、骨格検出で得られる腰および首の区間の長さに対応するピクセル数に基づいて格子の数やサイズを設定することができる。例えば、腰および首の間のピクセル数が多くなるに連れて格子の数を少なく、あるいは格子のサイズを大きく設定したり、腰および首の間のピクセル数が少なくなるに連れて格子の数を多く、あるいは格子のサイズを小さく設定したりすることができる。これにより、カメラ2ごとにオブジェクトのサイズが異なる場合でも、腰および首の区間の長さでメッシュサイズを正規化できる。
【0071】
これにより、K個のサンプル映像の分の骨格部位の所在位置がマッピングされたマッピング回数が領域ごとに累積加算されたヒートマップをヒートマップの生成対象とする単位ごとに生成することができる。
【0072】
ROI設定部15は、ROIを設定する処理部である。例えば、ROI設定部15は、各骨格部位のヒートマップに含まれる領域のうちROIの設定対象としてユーザ指定が行われたオブジェクトおよびその周囲に対応する領域のマッピング回数に基づいてROIを設定する。
【0073】
1つの側面として、ROI設定部15は、ヒートマップ生成部14により生成されたヒートマップのうち、最高値のマッピング回数が観測されるグリットを有するヒートマップを選択する。
【0074】
より詳細には、ROI設定部15は、ヒートマップ生成部14により生成されたヒートマップごとに、次のような処理を実行する。すなわち、ROI設定部15は、ROIの設定対象としてユーザ指定が行われたオブジェクトから閾値以内の距離に位置し、かつユーザ指定が行われたROIの相対位置に対応するグリッドのうちマッピング回数が最高であるグリッドを抽出する。そして、ROI設定部15は、ヒートマップ生成部14により生成されたヒートマップごとに抽出されたグリッドの間でマッピング回数を比較する。このとき、ROI設定部15は、各グリッドのうち最高値のマッピング回数が観測されるグリッドを有するヒートマップを選択する。
【0075】
このようにヒートマップが選択されると、ROI設定部15は、選択中のヒートマップに含まれるグリッドのうち最高値のマッピング回数が観測されるグリッドの位置および大きさをROIとして設定する。さらに、ROI設定部15は、選択中のヒートマップに対応する骨格部位をROIと比較する骨格部位として設定する。このように設定が行われたROIの位置、ROIの大きさおよびROIと比較する骨格部位がROI情報としてROI情報記憶部16へ保存される。
【0076】
なお、ここでは、あくまで一例として、選択中のヒートマップのうち1つのグリッドをROIとして設定する例を挙げたが、必ずしも1つのグリッドがROIとして設定されずともよく、複数のグリッドがROIとして設定されてもよい。例えば、選択中のヒートマップにマッピングされた総マッピング回数に対する割合が上位から特定の割合、例えば上位70%までに対応するグリッドのブロブ、あるいは上位から特定の割合、例えば70%に対応するグリッドを包含する突包をROIとして設定することができる。
【0077】
また、ここでは、マッピング回数が最高値であるグリッドを有するヒートマップを選択する例を挙げたが、必ずしもマッピング回数が最高値であるグリッドを有するヒートマップを選択せずともよい。例えば、各ヒートマップで観測されるマッピング回数の最高値を降順にソートした上で第1位のマッピング回数と、第2位のマッピング回数との差が閾値以下である場合、ヒートマップごとに骨格部位の位置がマッピングされたマッピング位置の分布から分散値を算出する。そして、ヒートマップのうちマッピング位置の分散値が最小であるヒートマップを選択することとしてもよい。この場合、選択されたヒートマップに対応する骨格部位をROIと比較する部位として設定する。その上で、選択されたヒートマップのうちマッピング位置の分布の平均に対応する位置を中心とし、総マッピング回数に対する割合が上位から特定の割合、例えば70%までに含まれるマッピング位置を含む領域、例えば多角形や楕円形などをROIに設定できる。
【0078】
[行動認識装置の構成]
次に、上記の行動認識サービス1に対応する機能を実現する行動認識装置30の機能的構成について説明する。
図11は、実施例1に係る行動認識装置30の機能構成例を示す図である。
図11には、行動認識装置30が有する機能に対応するブロックが模式化されている。
【0079】
一実施形態として、行動認識装置30は、パッケージソフトウェア又はオンラインソフトウェアとして、上記の行動認識サービス1を実現する行動認識プログラムを任意のコンピュータにインストールさせることによって実装できる。例えば、行動認識装置30は、SaaS型のアプリケーションとして実装することで、上記の行動認識サービス1をクラウドサービスとして提供することとしてもよい。これに限定されず、行動認識装置30は、上記の行動認識サービス1に対応する機能をオンプレミスに提供するサーバとして実装することができる。
【0080】
さらに、行動認識装置30には、
図11に示すように、撮像装置の一例に対応するカメラ2が接続され得る。これら行動認識装置30及びカメラ2の間は、任意のネットワークを介して通信可能に接続され得る。例えば、ネットワークは、有線または無線を問わず、インターネットやLAN(Local Area Network)などの任意の種類の通信網であってかまわない。なお、
図1や
図11には、説明の便宜上、1つの行動認識装置30につき1つのカメラ2が接続される例を挙げたが、1つの行動認識装置30につき複数のカメラ2が接続されることを妨げない。
【0081】
図11に示すように、行動認識装置30は、映像取得部32と、オブジェクト認識部33と、基本動作認識部34と、空間状態認識部35と、ROI情報記憶部16と、上位行動認識部36と、第1ルール記憶部37Aと、第2ルール記憶部37Bとを有する。なお、行動認識装置30は、
図11に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば入出力インタフェイスや通信インタフェイスなどに対応する機能が含まれてもかまわない。
【0082】
図11に示す映像取得部32、オブジェクト認識部33、基本動作認識部34と、空間状態認識部35、ROI情報記憶部16及び上位行動認識部36などの機能部は、ハードウェアプロセッサにより仮想的に実現される。例えば、ハードウェアプロセッサには、CPUやMPU、GPUやGPGPUなどが挙げられる。すなわち、プロセッサは、図示しない記憶装置、例えばHDD、光ディスクやSSDなどからOSの他、上記の行動認識サービス1がパッケージ化された行動認識プログラムなどのプログラムを読み出す。その上で、プロセッサは、上記の行動認識プログラムを実行することにより、RAM等のメモリ上に上記の機能部に対応するプロセスを展開する。このように、上記の行動認識プログラムが実行される結果、上記の機能部がプロセスとして仮想的に実現される。ここでは、プロセッサの一例として、CPUやMPUを例示したが、汎用型および特化型を問わず、任意のプロセッサにより上記の機能部が実現されることとしてもかまわない。この他、上記の機能部または機能部の一部は、ASICやFPGAなどのハードワイヤードロジックによって実現されることとしてもかまわない。
【0083】
ROI情報記憶部16、第1ルール記憶部17Aおよび第2ルール記憶部17Bなどの記憶部は、HDDや光ディスク、SSDなどの補助記憶装置として実現したり、補助記憶装置が有する記憶領域の一部を割り当てることにより実現したりすることができる。
【0084】
映像取得部32は、映像を取得する処理部である。1つの側面として、映像取得部32は、カメラ2から伝送される映像をフレーム単位で取得することができる。他の側面として、映像取得部32は、カメラ2から伝送される映像を所定の記憶領域でバッファリングし、一連の映像を取得することもできる。ここで、映像取得部32が映像を取得する情報ソースは、任意の情報ソースであってよく、カメラ2に限定されない。例えば、映像取得部32は、映像を蓄積するストレージ、例えばハードディスクや光ディスクなどの補助記憶装置またはメモリカードやUSBメモリなどのリムーバブルメディアから映像を取得することもできる。この他、映像取得部32は、カメラ2以外の外部装置からネットワークNWを介して映像を取得することもできる。
【0085】
オブジェクト認識部33は、映像からオブジェクトを認識する処理部である。オブジェクト認識部33は、
図1に示すオブジェクト認識機能3に対応し得る。あくまで一例として、オブジェクト認識部33は、映像取得部32により取得された映像ごとに次のようなオブジェクト認識を実行する。すなわち、オブジェクト認識部33は、映像のフレームごとにオブジェクトを認識する。このようなオブジェクト認識は、あくまで一例として、任意の機械学習のアルゴリズム、例えばディープラーニングなどにしたがってオブジェクトが訓練済みである機械学習モデル、例えばCNNにより実現され得る。その上で、オブジェクト認識部33は、オブジェクトのうち人を対象に骨格検出、あるいは姿勢検出(姿勢推定)とも呼ばれる処理を適用することにより、骨格部位、例えば各関節の位置を含む骨格情報を抽出する。
【0086】
基本動作認識部34は、各フレームの骨格情報から基本動作を認識する処理部である。基本動作認識部34は、
図1に示す基本動作認識機能4に対応し得る。あくまで一例として、基本動作の認識は、任意の機械学習のアルゴリズムにしたがって基本動作の認識が訓練済みである機械学習モデル、例えばニューラルネットワークや分類器などのモデルにより実現され得る。この場合、基本動作認識部34は、フレーム単位でオブジェクト認識部33により取得される骨格部位、例えば各関節の位置を上記のモデルへ入力する。これによって、フレーム単位で全身および各部位に関する基本動作認識結果が得られる。
【0087】
空間状態認識部35は、オブジェクト認識部33のオブジェクト認識結果として得られた人と当該人の周囲の空間との関係性を示す空間状態を認識する処理部である。空間状態認識部35は、
図1に示す空間状態認識機能5に対応し得る。
【0088】
1つの側面として、空間状態認識部35は、ROI情報記憶部16に記憶されたROI情報を用いて、人および空間の間の領域内外判定により空間状態を認識することができる。ここで、ROI情報記憶部16には、
図10に示す設定装置10により設定が行われたROI情報が設定され得る。
【0089】
あくまで一例として、ROIの例として、
図5を用いて説明したROIが設定されると共に、ROIと比較する部位の例として、左足首および右足首の中点が設定される例を挙げる。この場合、空間状態認識部35は、人の3D骨格座標がモデル化されたスケルトンに含まれる骨格部位のうち左足首および右足首の中点の位置が
図5に示すROI、すなわち
図5に示すハッチング部分のグリッドに含まれるか否かを判定する。この結果、左足首および右足首の中点の位置がROIに含まれる場合、空間状態「ATM前のROIに足首が入っている」が認識される。
【0090】
他の一例として、ROIの例として、
図9を用いて説明したROIが設定されると共に、ROIと比較する部位の例として、左腰および右腰の中点が設定される例を挙げる。この場合、空間状態認識部35は、人の3D骨格座標がモデル化されたスケルトンに含まれる骨格部位のうち左腰および右腰の中点の位置が
図9に示すROI、すなわち
図9に示すハッチング部分のグリッドに含まれるか否かを判定する。この結果、左腰および右腰の位置がROIに含まれる場合、空間状態「ATM前のROIに足首が入っている」が認識される。
【0091】
上位行動認識部36は、上位行動を認識する処理部である。上位行動認識部36は、
図1に示す上位行動認識機能6に対応し得る。
図11に示すように、上位行動認識部36は、要素行動認識部36Aおよびシナリオ認識部36Bを有する。
【0092】
要素行動認識部36Aは、基本動作の認識結果、および/または、空間状態の認識結果の時系列分析を行うことにより、要素行動を認識する処理部である。例えば、要素行動認識機能6Aは、1又は複数の基本動作に関する認識結果の時系列データ、および/または、空間状態の時系列データを第1ルール記憶部37Aに記憶された要素行動認識ルール7Aと照合する。要素行動認識ルール7Aには、認識対象とする要素行動ごとに、1又は複数の基本動作に関する時系列パターンおよび空間状態のうち少なくともいずれか1つまたは両方が定義される。例えば、時系列パターンの例として、基本動作および/または空間状態の継続性や基本動作および/または空間状態の状態遷移などが挙げられる。
【0093】
シナリオ認識部36Bは、要素行動の認識結果を第2ルール記憶部37Bに記憶されたシナリオ認識ルール7Bと照合することにより、上位行動を認識する処理部である。シナリオ認識ルール7Bには、認識対象とする上位行動ごとに要素行動の組合せがシナリオとして定義される。このようなシナリオは、順序や論理演算などにより定義され得る。
【0094】
これら要素行動認識ルール7Aおよびシナリオ認識ルール7Bは、システム定義のみならず、ユーザ定義により設定させることができる。例えば、上記の行動認識サービス1を提供する事業者側のシステムエンジニアや上記の行動認識サービス1の顧客などのユーザUに要素行動認識ルール7Aおよびシナリオ認識ルール7Bを編集させることにより、ユーザUによるカスタマイズが可能である。
【0095】
[処理の流れ]
次に、本実施例に係る設定装置10および行動認識装置30の処理の流れについて説明する。ここでは、設定装置10により実行される(1)ROI設定処理を説明した後に、ROI設定処理で設定されたROI情報に基づいて行動認識装置30により実行される(2)行動認識処理を説明することとする。
【0096】
(1)ROI設定処理
図12は、実施例1に係るROI設定処理の手順を示すフローチャートである。この処理は、あくまで一例として、ROI設定のリクエストを受け付けた場合に行われる。
図12に示すように、受付部11は、ROIの設定に用いるサンプル映像の指定を受け付ける(ステップS101)。続いて、映像取得部12は、ステップS101で指定を受け付けたサンプル映像を取得する(ステップS102)。
【0097】
また、受付部11は、ROIの設定対象とするオブジェクトの指定を受け付ける(ステップS103)。なお、ステップS103では、ROIの設定対象とするオブジェクトの指定と共に、ROIの相対位置の指定をさらに受け付けることもできる。
【0098】
その後、ステップS102で取得されたサンプル映像の個数Kに対応する回数の分、ステップS104からステップS108までの処理を繰り返すループ処理1が開始される。
【0099】
すなわち、オブジェクト認識部13は、サンプル映像のフレームごとにオブジェクトを認識する(ステップS104)。続いて、ヒートマップ生成部14は、サンプル映像のうち行動認識の対象とする行動シーンを抽出する(ステップS105)。
【0100】
そして、生成対象とするヒートマップの数Mに対応する回数の分、ステップS106からステップS108までの処理を繰り返すループ処理2が開始される。
【0101】
すなわち、ヒートマップ生成部14は、ステップS105で抽出された行動シーンの区間に対する骨格検出で得られる骨格情報の時系列データを用いて、ループ処理2で処理中のヒートマップに対応する骨格部位の位置をマッピングする(ステップS106)。
【0102】
そして、ヒートマップ生成部14は、ヒートマップが複数に分割された領域ごとに当該領域にステップS106でマッピングが行われたマッピング回数を集計する(ステップS107)。
【0103】
その上で、ヒートマップ生成部14は、ステップS107で領域ごとに集計されたマッピング回数の集計値をこれまでに領域ごとに累積加算されてきた累積加算値に領域ごとに累積して加算することによりヒートマップを更新する(ステップS108)。
【0104】
その後、ROI設定部15は、ループ処理1により生成されたヒートマップごとに、次のような処理を実行する。すなわち、ROI設定部15は、ROIの設定対象としてユーザ指定が行われたオブジェクトから閾値以内の距離に位置し、かつユーザ指定が行われたROIの相対位置に対応するグリッドの内マッピング回数が最高であるグリッドを抽出する(ステップS109)。
【0105】
そして、ROI設定部15は、ステップS109でヒートマップごとに抽出されたグリッドの間でマッピング回数を比較して、各グリッドのうち最高値のマッピング回数が観測されるグリッドを有するヒートマップを選択する(ステップS110)。
【0106】
続いて、ROI設定部15は、ステップS110で選択されたヒートマップに含まれるグリッドのうち最高値のマッピング回数が観測されるグリッドの位置および大きさをROIとして設定する(ステップS111)。また、ROI設定部15は、ステップS110で選択されたヒートマップに対応する骨格部位をROIと比較する骨格部位として設定する(ステップS112)。
【0107】
その上で、ROI設定部15は、ステップS111およびステップS112で設定されたROIの位置、ROIの大きさおよびROIと比較する骨格部位をROI情報としてROI情報記憶部16へ保存し(ステップS113)、処理を終了する。
【0108】
(2)行動認識処理
図13は、実施例1に係る行動認識処理の手順を示すフローチャートである。この処理は、あくまで一例として、カメラ2、ストレージ、あるいはネットワーク接続された外部装置等から映像が取得された場合に行われる。
【0109】
図13に示すように、オブジェクト認識部33は、映像取得部32により取得される映像のフレームごとに物体検出や骨格検出などを含むオブジェクト認識を実行する(ステップS301)。
【0110】
そして、基本動作認識部34は、ステップS301で得られた骨格座標の時系列データを基本動作の認識が訓練済みであるモデルへ入力することにより当該モデルから出力される基本動作認識結果を得る(ステップS302)。
【0111】
また、空間状態認識部35は、ステップS301で得られた人の骨格情報のうち
図12に示すステップS112でROIと比較する部位として設定された骨格部位の位置と、
図12に示すステップS111で設定されたROIにより定義される空間との関係に基づいて空間状態を映像のフレームごとに認識する(ステップS303)。
【0112】
続いて、要素行動認識部36Aは、ステップS302で得られた基本動作認識結果の時系列データ、および/または、ステップS303で得られた空間状態の時系列データを第1ルール記憶部37Aに記憶された要素行動認識ルール7Aと照合する。これにより、要素行動認識部36Aは、要素行動を認識する(ステップS304)。
【0113】
そして、シナリオ認識部36Bは、ステップS304で得られた要素行動の認識結果を第2ルール記憶部37Bに記憶されたシナリオ認識ルール7Bと照合することにより、上位行動を認識する(ステップS305)。
【0114】
その後、シナリオ認識部36Bは、ステップS305で得られた上位行動のラベルを認識結果として出力し(ステップS306)、処理を終了する。
【0115】
上記の上位行動の認識結果は、任意の出力先へ出力され得る。ここで言う「出力先」は、任意のハードウェアやソフトウェアでよい。例えば、上位行動の認識結果は、上位行動の認識結果に応じて任意のバックエンドの処理、例えば不審行動の監視処理などを実行するサービスや機能へ出力することができる。この他、上位高度の認識結果の出力先は、上記の行動認識サービス1のユーザUにより設定された表示デバイスや音声出力デバイス、情報処理装置あるいは携帯端末装置などであってもよい。その通知形態もWebやメールなどの任意であってよい。
【0116】
[効果の一側面]
上述してきたように、本実施例に係る設定装置10は、映像の各フレームから検出される骨格部位の位置をマッピングして部位ごとに生成されたヒートマップ上の物体周囲で観測される頻度に基づいてROIを設定する。このため、本実施例に係る設定装置10では、空間状態の認識に寄与するROIの自動設定を実現できる。したがって、本実施例に係る設定機能によれば、ROIの設定の効率化を実現できる。さらに、本実施例に係る設定機能によれば、ROIの設定の効率化が実現されることで、上記の行動認識サービス1を導入するモチベーションを高めることができる。
【実施例2】
【0117】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【0118】
[シナリオの2番目以降の要素行動認識ルール]
上記の実施例1で説明した設定機能は、シナリオ認識ルール7Bのシナリオに含まれる複数の空間状態の各々の認識に用いるROIを設定する場合にも効果的に適用できる。このようなシナリオの例として、要素行動認識ルール7Aに定義される空間状態が時系列に累積して増加するシナリオが挙げられる。
【0119】
一例を挙げれば、「要素行動1:空間状態A→要素行動2:空間状態A&空間状態B→要素行動3:空間状態A&空間状態B&空間状態C」といった要領で要素行動認識ルール7Aの論理積に含まれる空間状態が時系列に累積して増加するシナリオが挙げられる。
【0120】
ATMの例に当てはめれば、「要素行動1:ATMの前に足が入る→要素行動2:ATMの前に足が入る&ATMのパネル上に手が入る」といったシナリオにより上位行動「ATMの利用」を認識する例が挙げられる。
【0121】
図14は、利用シーンの一例を示す図である。
図14には、あくまで一例として、ATMの利用に関する行動認識が行われる利用シーンの下で行われる空間分析、時系列分析およびシナリオ分析のユーザ定義が示されている。
【0122】
図14に示す例では、ATMの前に足が入っているか否かを判定する空間分析により空間状態「ATM前のROIに足が入っている」が行われることが定義されている。さらに、ATMのパネル上に手が入っているか否かを判定する空間分析により空間状態「ATMのパネル上のROIに手が入っている」が行われることが定義されている。また、「ATMの前部に足が入っている」という空間状態が特定の時間条件を満たすか否か、例えば一定時間以上、あるいは特定のフレーム数以上継続するか否かを判定する時系列分析が行われることが定義されている。さらに、空間状態「ATMのパネル上に手が入っている」が特定の時間条件を満たすか否か、例えば一定時間以上、あるいは特定のフレーム数以上継続するか否かを判定する時系列分析が行われることが定義されている。その上で、空間状態「ATMの前部に足が入っている」が特定の時間条件を満たすという要素行動1の認識後に2つの空間状態「ATMの前部に足が入っている」および「ATMのパネル上のROIに手が入っている」が特定の時間条件を満たすという要素行動2を認識するという上位行動「ATM利用」のシナリオと一致する要素行動が発生したか否かを判定するシナリオ分析が行われることが定義されている。
【0123】
ここで例に挙げる通り、まず大まかに特定の場所、例えばATMの前にいることを検知した後、最初の条件を満たしたまま、詳細な条件、例えばATMの操作などを満たしているか判定するといったルール形式で様々な利用シーンで行動が認識できる。
【0124】
このようなシナリオで2番目以降の要素行動認識ルール7Aに追加する空間状態の認識時にROIと比較する部位の対象から、それまでの空間状態の認識に用いるROI情報に設定された骨格部位およびその骨格部位との連動性が閾値以上である骨格部位を除外する。一例として、空間状態の認識に未使用である骨格部位のうち、空間状態の認識に使用済みである骨格部位と空間状態の認識に未使用である骨格部位との間でサンプル映像のフレームごとに相対距離が変化する変化量の累積値が閾値以下である骨格部位を除外できる。他の一例として、空間状態の認識に未使用である骨格部位のうち、空間状態の認識に使用済みである骨格部位から閾値以内の関節数に位置する骨格部位を除外できる。
【0125】
より詳細には、シナリオの1番目の要素行動認識ルール7Aに含まれる空間状態の認識時に用いるROI情報が設定された場合、
図12に示すフローチャートの一部の処理を変更できる。例えば、シナリオの2番目以降の要素行動認識ルール7Aに追加する空間状態の認識時に用いるROI情報の設定時には、サンプル映像から骨格部位別のヒートマップを生成済みである。このような側面から、
図12に示すステップS101からステップS108までの処理をスキップできる。さらに、
図12に示すステップS109およびステップS110では、空間状態の認識に使用済みである骨格部位に対応するヒートマップを処理対象から除外することもできる。これにより、空間状態の認識に使用済みである骨格部位に対応するヒートマップをROIの設定対象から除外し、ROIの設定対象を空間状態の認識に未使用である骨格部位に対応するヒートマップに絞り込むことができる。さらに、
図12に示すステップS109およびステップS110では、各領域のマッピング回数が合計された総マッピング回数が閾値未満であるヒートマップをステップS109およびステップS110の処理対象から除外することもできる。さらに、
図12に示すステップS109およびステップS110では、空間状態の認識に未使用である骨格部位のうち、空間状態の認識に使用済みである骨格部位と空間状態の認識に未使用である骨格部位との間でサンプル映像のフレームごとに相対距離が変化する変化量の累積値が閾値以下である骨格部位に対応するヒートマップをステップS109およびステップS110の処理対象から除外することもできる。さらに、ステップS109以降の処理の代わりに、総マッピング回数の多いヒートマップから順に下記の採用判定を実行することができる。例えば、採用判定法の一例として、ユーザ指定のオブジェクト周辺の領域をメッシュ、例えば4行4列に分割し、最もマッピング回数が多い領域に対し、当該領域内におけるマッピング位置の分布の平均位置を中心とする特定のサイズの矩形をROI候補とし、ROI候補に含まれるマッピング位置のプロット数が総マッピング回数に占める割合が閾値以上である場合、ROI候補をROIに設定し、当該ヒートマップに対応する骨格部位をROIと比較する部位に設定できる。これらの処理をシナリオに含まれる全ての要素行動認識ルールで用いられるROI情報を設定するまで繰り返す。なお、ステップS109以降の処理の代わりに用いる採用判定はシナリオの1番目の要素行動認識ルール7Aに含まれる空間状態の認識時に用いるROI情報の設定時にも適用できる。
【0126】
[ユーザ指定の優先]
設定装置10は、ROIやROIと比較する部位の設定時にユーザ指定が行われたROIやROIと比較する部位を優先することもできる。例えば、ループ処理2で生成された全ヒートマップで観測される最高値のマッピング回数と、ユーザ指定が行われた骨格部位に対応するヒートマップで観測される最高値のマッピング回数の差が閾値以下の場合、ユーザ指定が行われた骨格部位に対応するヒートマップを優先して選択できる。この他、ROIとして設定する際の矩形のサイズをその判定に使用するROIとしてユーザ指定が行われた図形のサイズと合わせることもできる。
【0127】
[ROI設定に用いるオブジェクト]
上記の実施例1では、ROI設定時にユーザ指定を受け付けるオブジェクトの一例としてATMを例に挙げたが、必ずしもROI設定時に用いるオブジェクトは人以外の物体に限定されない。例えば、行動認識の対象とする人以外の人物をオブジェクトとして指定させることもできる。
【0128】
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、受付部11、映像取得部12、オブジェクト認識部13、ヒートマップ生成部14またはROI設定部15を設定装置10の外部装置としてネットワーク経由で接続するようにしてもよい。また、受付部11、映像取得部12、オブジェクト認識部13、ヒートマップ生成部14またはROI設定部15を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の設定装置10の機能を実現するようにしてもよい。
【0129】
[設定プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、
図15を用いて、実施例1及び実施例2と同様の機能を有する設定プログラムを実行するコンピュータの一例について説明する。
【0130】
図15は、ハードウェア構成例を示す図である。
図15に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110~180の各部はバス140を介して接続される。
【0131】
HDD170には、
図15に示すように、上記の実施例1で示した受付部11、映像取得部12、オブジェクト認識部13、ヒートマップ生成部14及びROI設定部15と同様の機能を発揮する設定プログラム170aが記憶される。この設定プログラム170aは、
図10に示した受付部11、映像取得部12、オブジェクト認識部13、ヒートマップ生成部14及びROI設定部15の各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
【0132】
このような環境の下、CPU150は、HDD170から設定プログラム170aを読み出した上でRAM180へ展開する。この結果、設定プログラム170aは、
図15に示すように、設定プロセス180aとして機能する。この設定プロセス180aは、RAM180が有する記憶領域のうち設定プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、設定プロセス180aが実行する処理の一例として、
図12に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【0133】
なお、上記の設定プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に設定プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から設定プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに設定プログラム170aを記憶させておき、コンピュータ100がこれらから設定プログラム170aを取得して実行するようにしてもよい。
【0134】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0135】
(付記1)映像を取得し、
前記映像に含まれる第1のオブジェクトに対する骨格検出で得られる骨格情報の時系列データを用いて、骨格部位の位置をマッピングしたマップを前記骨格部位ごとに生成し、
前記骨格部位ごとに生成されたマップに含まれる第2のオブジェクトの周囲でマッピングが観測される頻度に基づいて、前記第1のオブジェクトと空間との関係性を示す空間状態の認識に用いるROIを設定する、
処理をコンピュータが実行することを特徴とする設定方法。
【0136】
(付記2)前記生成する処理は、前記マップが複数に分割された領域ごとに前記領域にマッピングされたマッピング回数を集計する処理を含み、
前記設定する処理は、前記骨格部位ごとに生成されたマップに含まれる領域のうち前記第2のオブジェクトの周囲に対応する領域のマッピング回数に基づいて前記ROIを設定する処理を含む、
ことを特徴とする付記1に記載の設定方法。
【0137】
(付記3)前記設定する処理は、前記骨格部位ごとに生成されたマップの間で前記第2のオブジェクトの周囲に対応する領域のマッピング回数を比較し、最高値のマッピング回数が観測される領域に基づいて前記ROIを設定する処理を含む、
ことを特徴とする付記2に記載の設定方法。
【0138】
(付記4)前記設定する処理は、前記骨格部位ごとに生成されたマップの間で前記第2のオブジェクトの周囲に対応する領域であり、かつ指定を受け付けたROIの相対位置に対応する領域を比較し、最高値のマッピング回数が観測される領域に基づいて前記ROIを設定する処理を含む、
ことを特徴とする付記3に記載の設定方法。
【0139】
(付記5)前記設定する処理は、前記最高値のマッピング回数が観測される領域を含むマップに対応する骨格部位を前記ROIと比較する骨格部位として設定する処理を含む、
ことを特徴とする付記3に記載の設定方法。
【0140】
(付記6)前記領域は、前記マップがメッシュ状に分割されたグリッドであることを特徴とする付記2に記載の設定方法。
【0141】
(付記7)前記設定する処理は、第1のROIの設定後に第2のROIを設定する場合、前記骨格部位ごとに生成されたマップのうち前記第1のROIと比較する部位に設定された骨格部位に対応するマップを除外して前記第2のROIを設定する処理を含む、
ことを特徴とする付記1に記載の設定方法。
【0142】
(付記8)前記設定する処理は、前記骨格部位ごとに生成されたマップのうち、前記第1のROIと比較する部位に設定された第1の骨格部位および前記第1の骨格部位との連動性が閾値以上である第2の骨格部位に対応するマップを除外して前記第2のROIを設定する処理を含む、
ことを特徴とする付記7に記載の設定方法。
【0143】
(付記9)映像を取得し、
前記映像に含まれる第1のオブジェクトに対する骨格検出で得られる骨格情報の時系列データを用いて、骨格部位の位置をマッピングしたマップを前記骨格部位ごとに生成し、
前記骨格部位ごとに生成されたマップに含まれる第2のオブジェクトの周囲でマッピングが観測される頻度に基づいて、前記第1のオブジェクトと空間との関係性を示す空間状態の認識に用いるROIを設定する、
処理をコンピュータに実行させることを特徴とする設定プログラム。
【0144】
(付記10)前記生成する処理は、前記マップが複数に分割された領域ごとに前記領域にマッピングされたマッピング回数を集計する処理を含み、
前記設定する処理は、前記骨格部位ごとに生成されたマップに含まれる領域のうち前記第2のオブジェクトの周囲に対応する領域のマッピング回数に基づいて前記ROIを設定する処理を含む、
ことを特徴とする付記9に記載の設定プログラム。
【0145】
(付記11)前記設定する処理は、前記骨格部位ごとに生成されたマップの間で前記第2のオブジェクトの周囲に対応する領域のマッピング回数を比較し、最高値のマッピング回数が観測される領域に基づいて前記ROIを設定する処理を含む、
ことを特徴とする付記10に記載の設定プログラム。
【0146】
(付記12)前記設定する処理は、前記骨格部位ごとに生成されたマップの間で前記第2のオブジェクトの周囲に対応する領域であり、かつ指定を受け付けたROIの相対位置に対応する領域を比較し、最高値のマッピング回数が観測される領域に基づいて前記ROIを設定する処理を含む、
ことを特徴とする付記11に記載の設定プログラム。
【0147】
(付記13)前記設定する処理は、前記最高値のマッピング回数が観測される領域を含むマップに対応する骨格部位を前記ROIと比較する骨格部位として設定する処理を含む、
ことを特徴とする付記11に記載の設定プログラム。
【0148】
(付記14)前記領域は、前記マップがメッシュ状に分割されたグリッドであることを特徴とする付記10に記載の設定プログラム。
【0149】
(付記15)前記設定する処理は、第1のROIの設定後に第2のROIを設定する場合、前記骨格部位ごとに生成されたマップのうち前記第1のROIと比較する部位に設定された骨格部位に対応するマップを除外して前記第2のROIを設定する処理を含む、
ことを特徴とする付記9に記載の設定プログラム。
【0150】
(付記16)前記設定する処理は、前記骨格部位ごとに生成されたマップのうち、前記第1のROIと比較する部位に設定された第1の骨格部位および前記第1の骨格部位との連動性が閾値以上である第2の骨格部位に対応するマップを除外して前記第2のROIを設定する処理を含む、
ことを特徴とする付記15に記載の設定プログラム。
【0151】
(付記17)映像を取得し、
前記映像に含まれる第1のオブジェクトに対する骨格検出で得られる骨格情報の時系列データを用いて、骨格部位の位置をマッピングしたマップを前記骨格部位ごとに生成し、
前記骨格部位ごとに生成されたマップに含まれる第2のオブジェクトの周囲でマッピングが観測される頻度に基づいて、前記第1のオブジェクトと空間との関係性を示す空間状態の認識に用いるROIを設定する、
処理を実行する制御部を含む設定装置。
【0152】
(付記18)前記生成する処理は、前記マップが複数に分割された領域ごとに前記領域にマッピングされたマッピング回数を集計する処理を含み、
前記設定する処理は、前記骨格部位ごとに生成されたマップに含まれる領域のうち前記第2のオブジェクトの周囲に対応する領域のマッピング回数に基づいて前記ROIを設定する処理を含む、
ことを特徴とする付記17に記載の設定装置。
【0153】
(付記19)前記設定する処理は、前記骨格部位ごとに生成されたマップの間で前記第2のオブジェクトの周囲に対応する領域のマッピング回数を比較し、最高値のマッピング回数が観測される領域に基づいて前記ROIを設定する処理を含む、
ことを特徴とする付記18に記載の設定装置。
【0154】
(付記20)前記設定する処理は、前記骨格部位ごとに生成されたマップの間で前記第2のオブジェクトの周囲に対応する領域であり、かつ指定を受け付けたROIの相対位置に対応する領域を比較し、最高値のマッピング回数が観測される領域に基づいて前記ROIを設定する処理を含む、
ことを特徴とする付記19に記載の設定装置。
【符号の説明】
【0155】
10 設定装置
11 受付部
12 映像取得部
13 オブジェクト認識部
14 ヒートマップ生成部
15 ROI設定部
16 ROI情報記憶部
30 行動認識装置
32 映像取得部
33 オブジェクト認識部
34 基本動作認識部
35 空間状態認識部
36 上位行動認識部
36A 要素行動認識部
36B シナリオ認識部
37A 第1ルール記憶部
37B 第2ルール記憶部