(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-07-07
(45)【発行日】2025-07-15
(54)【発明の名称】同定プログラム、同定方法、および情報処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20250708BHJP
【FI】
G06T7/00 660B
(21)【出願番号】P 2021082943
(22)【出願日】2021-05-17
【審査請求日】2024-02-08
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】木幡 駿
【審査官】長谷川 素直
(56)【参考文献】
【文献】特開2009-075868(JP,A)
【文献】特開2021-039741(JP,A)
【文献】特開2020-177557(JP,A)
【文献】特開2021-064103(JP,A)
【文献】特開2021-033343(JP,A)
【文献】特開2019-220145(JP,A)
【文献】特開2007-127437(JP,A)
【文献】特開2015-191338(JP,A)
【文献】中国特許出願公開第105243395(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
動画データに含まれる複数のフレーム画像から人領域を検出
する処理と、
前記複数のフレーム画像から検出された前記人領域に映る人物に骨格検出を実行して、前記人物の骨格の情報を取得
する処理と、
前記人物の前記骨格の情報に基づく前記人物の全身のサイズに合わせて前記人領域を補正して全身サイズの人領域を生成し、および、前記人物の前記骨格の情報に基づく前記人物の半身のサイズに合わせて前記人領域を補正して半身サイズの人領域を生成する
処理と、
前記複数のフレーム画像のうちの第1のフレーム画像から検出された第1の人領域と、第2のフレーム画像から検出された第2の人領域とにおいて、前記全身サイズの人領域および前記半身サイズの人領域の少なくとも一
方の類似度が
所定の条件を満たす場合に、前記第1の人領域に映る人物と前記第2の人領域に映る人物とが同一人物であるとして、第1及び第2の人領域を、同一人物の人領域として特定する
処理と、を、コンピュータに実行させ
、
前記特定する処理は、前記第1のフレーム画像から検出された第1の人領域と、前記第2のフレーム画像から検出された第2の人領域とのうちの少なくとも一方で、裏にある物体の一部が見えるように遮蔽する障害物により人物が隠されている場合、前記第1の人領域と対応する前記半身サイズの人領域と、前記第2の人領域と対応する前記半身サイズの人領域との類似度、および前記第1の人領域と対応する前記全身サイズの人領域と、前記第2の人領域と対応する前記全身サイズの人領域との類似度に基づいて前記第1の人領域と前記第2の人領域との類似度を評価する、同定プログラム。
【請求項2】
前記特定する処理は、前記第1のフレーム画像から検出された第1の人領域と、前記第2のフレーム画像から検出された第2の人領域とで、いずれも障害物により人物が隠されていない場合、前記第1の人領域と対応する前記全身サイズの人領域と、前記第2の人領域と対応する前記全身サイズの人領域との類似度に基づいて前記第1の人領域と前記第2の人領域との類似度を評価する、請求項1に記載の同定プログラム。
【請求項3】
前記特定する処理は、前記第1のフレーム画像から検出された第1の人領域と、前記第2のフレーム画像から検出された第2の人領域とのうちの少なくとも一方で、裏にある物体を完全に遮蔽する障害物により人物が隠されている場合、前記第1の人領域と対応する前記半身サイズの人領域と、前記第2の人領域と対応する前記半身サイズの人領域との類似度に基づいて前記第1の人領域と前記第2の人領域との類似度を評価する、請求項1に記載の同定プログラム。
【請求項4】
前記生成する処理は、前記半身サイズの人領域の高さ方向の長さを、前記骨格の情報に基づき特定された前記人物の頭部から腰までの長さとなるように設定する、請求項1から
3のいずれか1項に記載の同定プログラム。
【請求項5】
前記生成する処理は、前記全身サイズの人領域の高さ方向の長さを、前記骨格の情報に基づき特定された前記人物の頭部から腰までの長さの倍の長さとなるように設定する、請求項1から
4のいずれか1項に記載の同定プログラム。
【請求項6】
コンピュータにより実行される同定方法であって、
前記コンピュータが、
動画データに含まれる複数のフレーム画像から人領域を検出
する手順と、
前記複数のフレーム画像から検出された前記人領域に映る人物に骨格検出を実行して、前記人物の骨格の情報を取得
する手順と、
前記人物の前記骨格の情報に基づく前記人物の全身のサイズに合わせて前記人領域を補正して全身サイズの人領域を生成し、および、前記人物の前記骨格の情報に基づく前記人物の半身のサイズに合わせて前記人領域を補正して半身サイズの人領域を生成
する手順と、
前記複数のフレーム画像のうちの第1のフレーム画像から検出された第1の人領域と、第2のフレーム画像から検出された第2の人領域とにおいて、前記全身サイズの人領域および前記半身サイズの人領域の少なくとも一
方の類似度が
所定の条件を満たす場合に、前記第1の人領域に映る人物と前記第2の人領域に映る人物とが同一人物であるとして、第1及び第2の人領域を、同一人物の人領域として特定する
手順と、を含
み、
前記特定する手順において、前記第1のフレーム画像から検出された第1の人領域と、前記第2のフレーム画像から検出された第2の人領域とのうちの少なくとも一方で、裏にある物体の一部が見えるように遮蔽する障害物により人物が隠されている場合、前記第1の人領域と対応する前記半身サイズの人領域と、前記第2の人領域と対応する前記半身サイズの人領域との類似度、および前記第1の人領域と対応する前記全身サイズの人領域と、前記第2の人領域と対応する前記全身サイズの人領域との類似度に基づいて前記第1の人領域と前記第2の人領域との類似度を評価する、同定方法。
【請求項7】
動画データに含まれる複数のフレーム画像から人領域を検出する検出部と、
前記複数のフレーム画像から検出された前記人領域に映る人物に骨格検出を実行して、前記人物の骨格の情報を取得する取得部と、
前記人物の前記骨格の情報に基づく前記人物の全身のサイズに合わせて前記人領域を補正して全身サイズの人領域を生成し、および、前記人物の前記骨格の情報に基づく前記人物の半身のサイズに合わせて前記人領域を補正して半身サイズの人領域を生成する生成部と、
前記複数のフレーム画像のうちの第1のフレーム画像から検出された第1の人領域と、第2のフレーム画像から検出された第2の人領域とにおいて、前記全身サイズの人領域および前記半身サイズの人領域の少なくとも一
方の類似度が
所定の条件を満たす場合に、前記第1の人領域に映る人物と前記第2の人領域に映る人物とが同一人物であるとして、第1及び第2の人領域を、同一人物の人領域として特定する特定部と、を含
み、
前記特定部は、前記第1のフレーム画像から検出された第1の人領域と、前記第2のフレーム画像から検出された第2の人領域とのうちの少なくとも一方で、裏にある物体の一部が見えるように遮蔽する障害物により人物が隠されている場合、前記第1の人領域と対応する前記半身サイズの人領域と、前記第2の人領域と対応する前記半身サイズの人領域との類似度、および前記第1の人領域と対応する前記全身サイズの人領域と、前記第2の人領域と対応する前記全身サイズの人領域との類似度に基づいて前記第1の人領域と前記第2の人領域との類似度を評価する、情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、同定プログラム、同定方法、および情報処理装置に関する。
【背景技術】
【0002】
近年、例えば、生活様式の変化や労働力の不足などに伴い、リテール業界において店舗運営の自動化および効率化が求められている。そして、例えば、監視カメラなどで店舗内を撮影した動画データを用いて購買行動および不審な行動などの行動分析を行うことが検討されている。
【0003】
例えば、動画データから店舗内における消費者の買い回り行動を分析し、新規顧客の開拓、および店舗運営の効率化に利用する試みがなされている。また、例えば、無人レジを利用する店舗などにおいて、商品を未スキャンのまま退店するといった不審な行動の検出に動画データを用いた行動分析の結果を利用する試みもなされている。
【0004】
これに関し、画像からの人物の検出、および人物の同定に関連する技術が知られている(例えば、特許文献1から特許文献3)。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2010-239992号公報
【文献】特開2019-144830号公報
【文献】特開2020-198053号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
動画に映る人物の行動を分析する場合、例えば、動画から人物を検出して、その人物を人物同定し、動きをトラッキングすることが行われる。しかしながら、動画に映る人物の少なくとも一部が障害物の陰に隠れてしまうことがあり、その結果、人物同定およびトラッキングに失敗してしまうことがある。
【0007】
1つの側面では、本発明は、動画に映る人物の少なくとも一部が障害物の陰に隠れてしまう場合にも高い精度で人物同定を実行することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一つの態様の同定プログラムは、動画データに含まれる複数のフレーム画像から人領域を検出する処理と、前記複数のフレーム画像から検出された前記人領域に映る人物に骨格検出を実行して、前記人物の骨格の情報を取得する処理と、前記人物の前記骨格の情報に基づく前記人物の全身のサイズに合わせて前記人領域を補正して全身サイズの人領域を生成し、および、前記人物の前記骨格の情報に基づく前記人物の半身のサイズに合わせて前記人領域を補正して半身サイズの人領域を生成する処理と、前記複数のフレーム画像のうちの第1のフレーム画像から検出された第1の人領域と、第2のフレーム画像から検出された第2の人領域とにおいて、前記全身サイズの人領域および前記半身サイズの人領域の少なくとも一方の類似度が所定の条件を満たす場合に、前記第1の人領域に映る人物と前記第2の人領域に映る人物とが同一人物であるとして、第1及び第2の人領域を、同一人物の人領域として特定する処理と、を、コンピュータに実行させ、前記特定する処理は、前記第1のフレーム画像から検出された第1の人領域と、前記第2のフレーム画像から検出された第2の人領域とのうちの少なくとも一方で、裏にある物体の一部が見えるように遮蔽する障害物により人物が隠されている場合、前記第1の人領域と対応する前記半身サイズの人領域と、前記第2の人領域と対応する前記半身サイズの人領域との類似度、および前記第1の人領域と対応する前記全身サイズの人領域と、前記第2の人領域と対応する前記全身サイズの人領域との類似度に基づいて前記第1の人領域と前記第2の人領域との類似度を評価する。
【発明の効果】
【0009】
動画に映る人物の少なくとも一部が障害物の陰に隠れてしまう場合にも高い精度で人物同定を実行することができる。
【図面の簡単な説明】
【0010】
【
図1】実施形態に係る動き検出システムを例示する図である。
【
図2】実施形態に係る情報処理装置のブロック構成を例示する図である。
【
図3】例示的な撮影装置で撮影された動画データのフレーム画像を示す図である。
【
図6】実施形態に係る人領域の補正を例示する図である。
【
図7】実施形態に係る評価対象情報を例示する図である。
【
図8】実施形態に係る障害物情報を例示する図である。
【
図9】例示的な2つのフレーム画像を示す図である。
【
図10】2つのフレーム画像に対して人物の物体検出を実行して検出された人領域を例示する図である。
【
図11】骨格情報に基づいて人領域を全身のサイズに合わせて補正した例を示す図である。
【
図12】骨格情報に基づいて人領域を半身のサイズに合わせて補正した例を示す図である。
【
図13】実施形態に係る類似度評価の例を示す図である。
【
図14】重み付けマッチングを用いて紐づけられた同一人物の人領域を例示する図である。
【
図15】実施形態に係る人物の動き検出処理の動作フローを例示する図である。
【
図16】実施形態に係る情報処理装置を実現するためのコンピュータのハードウェア構成を例示する図である。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。
【0012】
図1は、実施形態に係る動き検出システム100を例示する図である。動き検出システム100は、例えば、情報処理装置101および撮影装置102を含んでよい。情報処理装置101は、例えば、サーバコンピュータ、パーソナルコンピュータ(PC)、モバイルPC、タブレット端末などの演算機能を備えるコンピュータであってよい。
【0013】
撮影装置102は、例えば、動画データを生成するカメラである。一例では、撮影装置102は、例えば、リテール業界などにおける店舗に設置される監視カメラなどであってよく、店舗などを訪れた人物を撮影し、動画データを生成する。そして、情報処理装置101は、例えば、撮影装置102で撮影された動画データに、人物の動き検出を実行してよい。なお、撮影装置102は、例えば、店舗に複数台設置されていてもよい。また、情報処理装置101は、例えば、撮影装置102から動画データを受信してもよいし、その他の装置を介して撮影装置102で撮影された動画データを取得してもよい。
【0014】
図2は、実施形態に係る情報処理装置101のブロック構成を例示する図である。情報処理装置101は、例えば、制御部201、記憶部202、および通信部203を含む。制御部201は、例えば検出部211、取得部212、生成部213、および特定部214などを含み、またその他の機能部を含んでよい。情報処理装置101の記憶部202は、例えば、撮影装置102で撮影された動画データ、および障害物情報800などの情報を記憶している。通信部203は、例えば、制御部201の指示に従って他の装置と通信する。例えば、制御部201は、通信部203を介して撮影装置102から動画データを取得してよい。これらの各部の詳細および記憶部202に格納されている情報の詳細については後述する。
【0015】
上述のように、動画に映る人物の行動を分析する場合、例えば、動画に映る人物の動きをトラッキングすることが行われる。人物の動きのトラッキングでは、制御部201は、例えば、動画の各フレームの画像に対して人物の物体検出を実行する。一例では、制御部201は、ディープラーニングなどの機械学習ベースの技術を用いて、動画の各フレームの画像から人領域を検出してよい。例えば、人物の物体検出は、SSD(Single Shot MultiBox Detector)、YOLO(You Only Look Once)、およびR-CNN(Region Convolutional Neural Network)などの技術を用いて実行されてよい。また、人領域は、一例では、バウンディングボックス(Bounding box)である。
【0016】
そして、制御部201は、例えば、動画の時間的に連続する複数のフレーム画像において、同一人物判定モデル(例えば、Person re-identification)などを用いて同一人物の人領域を特定し、人物の動きをトラッキングしてよい。なお、同一人物の特定は、例えば、或るフレーム画像から検出された人領域が、別のフレーム画像から検出された比較対象の人領域と、どれくらい似ているかを示す類似度または距離尺度を示す評価値を取得することで、実行されてよい。一例では、制御部201は、評価値に基づいて、或るフレーム画像と別のフレーム画像とにおいて所定の条件を満たして類似している人領域を、同一人物の人領域として特定し、人領域の時系列での軌跡を表すトラックを生成してよい。
【0017】
例えば、制御部201は、或るフレーム画像の人領域と別のフレーム画像の人領域とを同一人物判定モデルに入力してよい。なお、同一人物判定モデルは、2つの人領域の画像の類似度(または距離尺度)を出力するように、ディープラーニングで学習することで生成されていてよい。そして、制御部201は、例えば、同一人物判定モデルを用いて或るフレーム画像の人領域と別のフレーム画像の人領域との類似度を算出する。続いて、制御部201は、例えば、ハンガリー法などの重み付きマッチングにより同一人物の人領域を、類似度を用いて紐づけることで、人物の動きの軌跡を示すトラックを生成してよい。
【0018】
しかしながら、例えば、動画に映る人物の少なくとも一部が、障害物の陰に隠れてしまい、生成される人領域に含まれる人物の範囲が不均一になってしまうことがある。その結果、人物同定およびトラッキングの精度が低下してしまうことがある。
【0019】
図3は、例示的な撮影装置102で撮影された動画データのフレーム画像を示す図である。
図3に示すように、フレーム画像には複数の人物が映っている。また、フレーム画像に映る人物には、全身が映っている人物もいれば、棚およびカートなどの障害物により体の一部が隠れてしまっている人物もいる。そして、例えば、このようなフレーム画像に対して、人物の物体検出を実行すると、人物の様々な領域を囲んだ人領域が検出されることがある。
【0020】
図4は、例示的な人領域401の検出結果を示す図である。
図4(a)では、人物の全身が見えているため、人物の全身を囲むように人領域401が設定されている。
【0021】
一方、
図4(b)および
図4(c)では、人物の体の一部が、棚402により隠れており、その結果、人物の上半身に対して人領域401が設定されている。なお、人物の体が見えている範囲や、人物の姿勢などによって、人物に対して人領域401が設定されるサイズは異なり得、例えば、
図4(b)および
図4(c)では、異なるサイズの人領域401が設定されている。
【0022】
また、
図4(d)および
図4(e)では、人物の体の一部が、カート403により隠れている。カート403は、骨組みの構造を有しており、カート403を通して人物の体の一部が見えている。例えば、このように、完全に人物の姿を遮蔽するわけではなく、裏にある物体の一部が見えるように遮蔽する障害物により人物の体が隠されるとする。この場合、障害物を通して見える人物の体の見え方によって、人物に対して設定される人領域401のサイズが変わることがある。例えば、
図4(d)では、人物の全身に対して人領域401が設定されているが、
図4(e)では、人物の上半身に対して人領域401が設定されている。
【0023】
そして、このように、人物の体の様々な範囲に対して不均一に人領域401が設定されてしまうと、フレーム画像間で同一人物を同定する際に、同一人物であっても特徴量に違いがでてしまい、同定に失敗してしまうことがある。
【0024】
図5は、例示的な人物同定を示す図である。
図5(a)は、例えば、或るフレーム画像iと、別のフレーム画像i+1において検出された同一人物の人領域401の類似度の評価を例示している。例えば、制御部201は、或るフレーム画像iにおいて検出された人領域401の画像と、比較対象とする別のフレーム画像i+1において検出された人領域401の画像との2つの画像を、同一人物判定モデルに入力する。同一人物判定モデルは、画像に映る人物の特徴を表す特徴量ベクトルをそれぞれの画像について生成する。なお、同一人物判定モデルは、例えば、制御部201によって実行されてよい。そして、同一人物判定モデルは、得られた特徴量ベクトルの類似度が、所定の条件を満たして類似している場合に、2つの人領域401に映る人物を、同一人物と判定してよい。
【0025】
図5(a)の例では、或るフレーム画像iと別のフレーム画像i+1とで、いずれも全身が含まれる人領域401が検出されている。そのため、人領域401内の画像から、人物を特徴付ける特徴量ベクトルを抽出すると、同一人物であれば類似した特徴量ベクトルを得ることができる。従って、或るフレーム画像iと別のフレーム画像i+1との間で特徴量ベクトルの類似度の高い人領域401を同一人物として紐づけることができる。
【0026】
しかしながら、例えば、カートなどの障害物により人物の一部が隠れてしまう場合、人領域401として全身を検出できることもあれば、人領域401として体の一部が検出されることもある。例えば、
図5(b)では、或るフレーム画像iではカートがあっても全身を人領域401として検出できているが、別のフレーム画像i+1では、カートにより体が隠れていることに起因して体の一部に対して人領域401が検出されている。例えば、このように体の一部に対して人領域401が検出された場合にも、特徴量ベクトルは、人領域401をベースとして生成されるため、同一人物であっても特徴量ベクトルには差異がでてしまうことがある。その結果、同一人物であっても2つの人領域の類似度が低下してしまい、同一人物のトラッキングが上手くいかなくなることがある。このように、人領域401に含まれる人物の範囲の不均一性は、人物同定に悪影響を及ぼすことがある。
【0027】
そこで、以下で述べる実施形態では、制御部201は、人物の骨格情報に基づいて人領域のサイズを補正する。例えば、店舗内を撮影装置102で撮影する場合、撮影装置102は店舗の天井付近に設置されて、上から斜め下方向に店舗内を撮影することが多い。また、例えば、棚およびカートなどの店舗内の障害物は、人物の下半身を隠すことが多く、人物の上半身は撮影可能であることが多い。
【0028】
この場合、例えば、上半身が映っているフレーム画像に、人物検出および骨格検出を実行することで、人物の上半身の骨格情報を取得することが可能である。そして、上半身の骨格情報から、上半身の体の所定の範囲が含まれるように、人領域のサイズを補正することが可能である。また、例えば上半身の骨格情報から、人物の全身が含まれるように、人領域のサイズを補正することも可能である。
【0029】
そして、このように、人領域が人物の体の所定の範囲を囲うように人領域のサイズを補正することで、人領域に含まれる人物の体の範囲を均一にして、類似度を評価することが可能になる。そのため、人物同定および人物のトラッキング精度を向上させることができる。
【0030】
以下、実施形態を更に詳細に説明する。実施形態では、制御部201は、人領域から検出した骨格の情報に基づいて、人領域のサイズを補正する。
【0031】
[人領域の補正]
制御部201は、例えば、検出された人領域に、骨格検出を実行することで、人物の腰の位置や、頭部の位置などの骨格の位置を特定することができる。なお、骨格の検出は、例えば、OpenPose、Mask R-CNN、DeepPose、PoseNetなどの手法を用いて実行されてよい。
【0032】
図6は、実施形態に係る人領域のサイズの補正を例示する図である。
図6(a)では、人物の下半身がカートの裏に隠れており、上半身と、下半身の一部を含む領域に人領域が検出された例が示されている。また、人領域に骨格検出を実行した結果の骨格の位置の情報が丸で示されており、骨格の位置の情報により、頭部の位置601および腰の位置602を特定することができる。
【0033】
そして、実施形態では制御部201は、検出された骨格の位置に基づいて、人領域のサイズを補正する。例えば、人物の上半身の高さ方向の長さを、頭部の位置601から腰の位置602までの長さと定義する。この場合に、例えば、
図6(b)に示すように、人物の体の高さ方向の長さが頭部の位置601から腰の位置602までの上半身の範囲となるように人領域のサイズを補正することで、人物の上半身のサイズに合わせて人領域を設定することができる。それにより、人領域に含まれる人物の体の範囲を均一に揃えることができ、人領域の比較精度を向上させることができる。なお、人物の体の高さ方向は、例えば、身長の方向であってよい。
【0034】
また、制御部201は、全身に対して人領域が設定されるように、人領域のサイズを補正してもよい。例えば、上半身の長さと、下半身の長さはおおよそ等しいことが推定される。そのため、例えば、制御部201は、頭部の位置601から腰の位置602までを上半身の長さとして取得し、その長さを2倍にして下半身の方向に人領域を伸ばすことで、人物の全身と対応するサイズの人領域を設定してもよい。例えば、
図6(c)に示すように、人領域のサイズを、頭部の位置601から腰の位置602の範囲の2倍のサイズにして、人領域を人物の下半身の方向に伸ばすことで、人物の全身のサイズに合わせて人領域を設定することができる。
【0035】
以上で述べたように、制御部201は、骨格の情報に基づいて、人領域に含まれる人物の体の範囲が上半身および全身などの所定の範囲となるように、人領域を補正することができる。それにより、人物同定に用いる人領域に含まれる人物の体の範囲を均一にすることでき、人物同定の精度を向上させることができる。
【0036】
なお、人領域の補正は、上半身および全身に限定されるものではなく、制御部201は、その他の範囲を取り囲むように、骨格情報に基づいて人物に対する人領域のサイズを補正してもよい。例えば、別の実施形態では、上半身の代わりに下半身など、その他の半身のサイズに合わせて人領域のサイズが設定されてもよい。
【0037】
そして、実施形態では制御部201は、例えば、補正された人領域を用いて類似度を評価し、人物同定を実行してよい。一例では、制御部201は、補正により得られた全身サイズの人領域と、上半身サイズの人領域とに基づいて、或る人領域と同一人物の人領域を特定してよい。
【0038】
なお、この場合に、制御部201は、類似度の評価を行う2つの人領域と、障害物との関係に応じて、類似度の評価に用いる補正後の人領域を決定してもよい。
【0039】
図7は、実施形態に係る評価対象情報700を例示する図である。評価対象情報700には、類似度を評価する2つの人領域と、障害物との関係に応じて類似度の評価に用いる補正後の人領域を指定する情報が登録されている。なお、評価対象情報700において、クエリの人領域は、例えば、或るフレーム画像から検出された複数の人領域のうちの或る人物が映る人領域であってよい。なお、ここで、或るフレーム画像は、例えば、第1のフレーム画像と呼ばれてもよい。また、クエリの人領域は、例えば、第1の人領域と呼ばれてもよい。
【0040】
比較対象の人領域は、或る人物が映る人領域との類似度を評価する比較対象の人領域であってよい。比較対象の人領域は、例えば、別のフレーム画像から検出された複数の人領域のうちの1つの人領域であってよい。なお、ここで、別のフレーム画像は、例えば、第2のフレーム画像と呼ばれてもよい。また、比較対象の人領域は、例えば、第2の人領域と呼ばれてもよい。
【0041】
そして、例えば、クエリの人領域と、比較対象の人領域との2つの人領域の類似度を評価する。ここで、両方の人領域が障害物に隠れておらず、どちらも全身が見えている(
図7の障害物なし)場合、制御部201は、評価対象情報700に示すように、全身サイズの人領域を用いて類似度を評価してよい。
【0042】
一方、例えば、少なくとも一方の人領域が、カートなどの部分的に障害物を通して人物が見える障害物により隠されているとする。この場合、部分的に障害物を通して見える人物の情報が、同一人物の同定に役立つこともある。一方で、部分的に障害物を通して見える領域の見え方によっては、下半身を含まないで上半身のみで類似度を評価した方が好ましい場合もある。そこで、制御部201は、例えば、カートなどの裏にある物体の一部が見えるように遮蔽する障害物により人物が隠されている場合、全身と、半身(例えば、上半身)との両方の人領域を用いて類似度を評価してよい。
【0043】
また、例えば、制御部201は、少なくとも一方の人領域が、棚などの裏にある物体を完全に遮蔽する障害物により隠されている場合、制御部201は、半身(例えば、上半身)の人領域のみを用いて類似度を評価してよい。
【0044】
この様に、クエリとなる人領域および比較対象の人領域と、障害物との関係に応じて類似度の評価に用いる人領域を設定することで、人物の同じ領域が含まれる人領域を用いて類似度を評価することができる。そのため、同一人物の特定精度を向上させることができる。
【0045】
また、例えば、実施形態では、裏にある物体の一部が見えるように遮蔽する障害物により人物が隠されている場合、全身と、半身(例えば、上半身)との両方の人領域を用いて類似度を評価してよい。それにより、同一人物の特定精度を向上させることができる。
【0046】
以下、
図8から
図15を参照して、実施形態に係る同一人物の特定処理の例を説明する。
【0047】
図8は、実施形態に係る障害物情報800を例示する図である。障害物情報800には、撮影装置102の撮影範囲における障害物の映る領域を示す情報が登録されていてよい。
図8の例では、障害物情報800には、例えば、障害物を識別するための障害物ID(identifier)と、その障害物が映っているフレーム画像内での領域を示す情報とが対応づけて登録されている。なお、障害物情報800には、例えば、棚などのあまり移動されることが少ない障害物についての情報が登録されていてよい。また、障害物情報800には、更に、例えば、通路などの他の領域に対して手前か後ろかを示す前後関係などの情報が登録されていてもよい。
【0048】
なお、例えば、カートなどの移動をともなう障害物については物体検出などのその他の手法を用いて、制御部201は、障害物の位置を特定してよい。
【0049】
図9は、例示的な2つのフレーム画像を示す図である。
図9には、動画データに含まれる或るフレーム画像i(
図9(a))と、別のフレーム画像i+1(
図9(b))の2つのフレーム画像が示されている。制御部201は、この2つのフレーム画像に対して、人物の物体検出を実行し、人領域を検出してよい。
【0050】
図10には、
図9の2つのフレーム画像に対して人物の物体検出を実行して、検出された人領域が示されている。なお、
図10(a)では、それぞれの人領域を識別するために、制御部201は、a~dのIDを人領域に割り当てている。また、
図10(b)では、それぞれの人領域を識別するために、制御部201は、1~4のIDを人領域に割り当てている。
【0051】
なお、
図10の例ではフレーム画像は、棚およびカートなどの障害物により体の一部が隠されている人物を含んでおり、その結果、人物の全身であったり、人物の上半身であったりといった、様々な人物の体の範囲に対して人領域が設定されている。例えば、
図10(a)の或るフレーム画像iでは、ID=bおよびID=dの人物は、棚またはカートにより下半身が隠されているため、上半身に対して人領域が検出されている。また、例えば、
図10(b)の別のフレーム画像i+1では、ID=4の人物は、棚により下半身が隠れていて完全に見えず、上半身に対して人領域が検出されている。
【0052】
例えば、このように、検出された人領域に含まれる人物の体の範囲が不均一である場合、このまま類似度を評価して同一人物を同定しようとしても、誤った人物を同一人物として同定してしまうことがある。そのため、実施形態では、人領域に含まれる人物の骨格の情報に基づいて、人物の体に対して人領域が設定される範囲を補正する。
【0053】
図11は、人領域に人物の全身が含まれるように、骨格情報に基づいて人領域のサイズを補正した例である。また、
図12は、人領域に人物の上半身が含まれるように、骨格情報に基づいて人領域のサイズを補正した例である。
【0054】
そして、制御部201は、評価対象情報700に示されるように、類似度を評価する対象の2つの人領域と、障害物との関係に基づいて、全身サイズの人領域と上半身サイズの人領域との少なくとも一方を用いて類似度を求める。
【0055】
図13は、実施形態に係る類似度の評価例を示す図である。
図13(a)では、制御部201は、或るフレーム画像iの人領域:aをクエリの人領域とし、比較対象の人領域として別のフレーム画像i+1のID:1~ID:4のそれぞれの人領域との類似度を求めている。なお、クエリの人領域:aは、障害物の位置と重なっておらず、人物の全身が人領域に含まれている。一方、比較対象のID:1の人領域も障害物と重なりを有していない。そのため、制御部201は、評価対象情報700に示されるように、
図11で生成した全身サイズの人領域同士を用いて、評価対象の2つの人領域の類似度を評価してよい。
【0056】
また、比較対象のID:2の人領域も障害物と重なりを有していないため、制御部201は、同様に、
図11で生成した全身サイズの人領域同士を用いて類似度を評価してよい。
【0057】
また、比較対象のID:3の人領域はカートの障害物と重なりを有している。そのため、制御部201は、評価対象情報700に示されるように、
図11で生成した全身サイズの人領域同士の類似度と、
図12で生成した上半身サイズの人領域同士の類似度との両方を用いて類似度を評価してよい。一例では、制御部201は、
図13(a)に示すように、全身サイズの人領域同士の類似度と、上半身サイズの人領域同士の類似度とを平均した値を、クエリの人領域:aと、比較対象の人領域:3との類似度として用いてもよい。
【0058】
また、比較対象のID:4の人領域は棚の障害物と重なりを有している。そのため、制御部201は、
図12で生成した上半身サイズの人領域同士を用いて類似度を評価してよい。
【0059】
同様に、クエリの人領域:bに対しても類似度を評価して、
図13(b)の類似度を得ることができる。クエリの人領域:cに対しても類似度を評価して、
図13(c)の類似度を得ることができる。クエリの人領域:dに対しても類似度を評価して、
図13(d)の類似度を得ることができる。
【0060】
そして、得られたクエリの人領域と比較対象の人領域との類似度を用いて重み付けマッチングを行うことで、或るフレーム画像iで検出された人領域と同一人物の人領域を、別のフレーム画像i+1で検出された人領域のうちから特定することができる。
【0061】
図14は、重み付けマッチングを用いて紐づけられた同一人物の人領域を例示する図である。
図14に示すように、重み付けマッチングを用いて紐づけられた同一人物の人領域では、正解のIDを特定することができている。このように、クエリの人領域と、比較対象の人領域とで、人物の体の同じ範囲が含まれるように、人領域のサイズを補正して類似度を評価することで、同一人物の特定精度を高めることができる。
【0062】
また、上半身のみで類似度を評価する場合、下半身の情報量の分だけ情報が減ってしまう。この場合、例えば、たまたま上半身の服装が似ていたりすると、同一人物の特定精度が低下してしまう恐れがある。また、例えば、カートなどのように、完全に人物の姿を遮蔽するわけではなく、裏にある物体の一部が見えるように遮蔽する障害物により人物の体が隠される場合、見えている領域の情報も利用した方が、同一人物の特定精度が向上する可能性もある。上述の実施形態では、カートなどのように裏にある物体の一部が見えるように遮蔽する障害物により人物の体が隠される場合には、全身サイズの人領域で評価した類似度と上半身サイズで評価した類似度とを統合して類似度を評価している。そのため、同一人物の特定精度を向上させることができる。
【0063】
以上で述べたように、実施形態によれば動画に映る人物の少なくとも一部が障害物の陰に隠れてしまう場合にも高い精度で人物同定を実行することができる。
【0064】
図15は、実施形態に係る人物の動き検出処理の動作フローを例示する図である。例えば、制御部201は、人物の動き検出処理の実行指示が入力されると、
図15の動作フローの処理を開始してよい。
【0065】
ステップ1501(以降、ステップを“S”と記載し、例えば、S1501と表記する)において制御部201は、例えば、人物検出を実行する。制御部201は、例えば、撮影装置102で撮影された撮影データの各フレームの画像に、人物検出を実行して画像から人領域を特定してよい。なお、人物検出は、例えば、SSD(Single Shot MultiBox Detector)、YOLO(You Only Look Once)、およびR-CNN(Region Convolutional Neural Network)などの技術を用いて実行されてよい。
【0066】
S1502において制御部201は、各フレームの画像から検出された人領域に対して、骨格検出を実行する。例えば、制御部201は、OpenPose、Mask R-CNN、DeepPose、PoseNetなどの手法を用いて、人領域に写る人物の骨格を検出してよい。
【0067】
S1503において制御部201は、検出された人領域を補正する。例えば、制御部201は、
図6で例示したように、人領域から検出された人物の骨格の情報に基づいて、人領域を人物の上半身に合わせて補正したり、人領域を人物の全身に合わせて補正したりしてよい。
【0068】
S1504において制御部201は、障害物の位置を特定する。例えば、制御部201は、棚などの所定の位置に固定されている障害物については、障害物情報800に登録されている情報から障害物の位置を取得してよい。
【0069】
また、例えば、カートなどの移動する障害物については、制御部201は、物体検出などの技術を用いて障害物の位置を取得してよい。物体検出には、例えば、SSD、YOLO、およびR-CNNなどの技術が用いられてよい。例えば、制御部201は、カートなどの検出対象の障害物を検出するように機械学習された学習済みモデルを用いて、動画データの各フレーム画像から障害物の映る領域を取得してよい。
【0070】
S1505において制御部201は、人領域に対する障害物の有無を特定する。例えば、制御部201は、S1501で検出した人領域が、その手前にある障害物により隠される位置にある場合、その人領域の人物は障害物により隠されていると判定してよい。一方、制御部201は、S1501で検出した人領域が、その手前にある障害物により隠される位置にない場合、その人領域の人物は障害物により隠されていないと判定してよい。
【0071】
S1506において制御部201は、特定した障害物の有無に応じて、或るフレーム画像の人領域と、別のフレーム画像の人領域との間の類似度を評価する。例えば、制御部201は、評価対象情報700に示されるように、障害物に隠されていない人領域同士の類似度は、全身サイズの人領域で類似度を評価してよい。また、類似度の評価対象の2つの人領域の少なくとも一方が、棚などの障害物の裏側の人物が完全に隠される障害物で隠されている場合、制御部201は、上半身サイズの人領域を用いて類似度を評価してよい。また、例えば、類似度の評価対象の2つの人領域の少なくとも一方が、カートなどの障害物の裏側にいる人物の一部が見える障害物により隠されているとする。この場合、制御部201は、全身サイズの人領域と上半身サイズの人領域との両方で類似度を評価し、その評価値を平均するなどで統合して類似度として用いてよい。
【0072】
S1507において、制御部201は、類似度に基づいて重み付けマッチングにより同一人物の人領域を紐づけ、それにより人物のトラッキングを実行し、本動作フローは終了する。
【0073】
以上で述べたように、実施形態によれば、動画に映る人物の少なくとも一部が障害物の陰に隠れてしまう場合にも高い精度で人物同定を実行することができる。
【0074】
例えば、制御部201は、クエリの人領域と、比較対象の人領域とで、人物の体の同じ領域が含まれるように、人領域のサイズを補正して類似度を評価するため、同一人物の特定精度を高めることができる。
【0075】
また、制御部201は、例えば、カートなどのように、裏にある物体の一部が見えるように遮蔽する障害物により人物の体が隠される場合、全身と上半身とのそれぞれの人領域で評価した類似度の評価結果を統合して類似度を取得する。それにより、同一人物の特定精度を向上させることができる。
【0076】
また、上述の実施形態では、類似度の評価対象の2つの人領域のうちの少なくとも一方か、どのような障害物により隠されているかに応じて、類似度の評価に用いる人領域を変えている。そのため、人物の見え方に応じて高い精度で類似度を評価することができ、同一人物の特定精度を向上させることができる。
【0077】
また、上述の実施形態では、骨格の情報に基づいて、人物の上半身および全身などのサイズに合わせて人領域のサイズを補正している。そのため、人物の体のサイズに合わせて高い精度で人領域のサイズを設定することができる。
【0078】
以上において、実施形態を例示したが、実施形態はこれに限定されるものではない。例えば、上述の動作フローは例示であり、実施形態はこれに限定されるものではない。可能な場合には、動作フローは、処理の順番を変更して実行されてもよく、別に更なる処理を含んでもよく、または、一部の処理が省略されてもよい。
【0079】
例えば、一実施形態においては、人物の下半身が頻繁に隠されてしまう環境で動画データから同一人物を特定する場合、制御部201は、人物の上半身のみを用いて類似度を評価して同一人物の特定を実行してもよい。この場合、S1503の処理では、制御部201は、骨格情報に基づき、人領域を上半身に合わせて補正してよく、S1504およびS1505の処理は省略されてもよい。また、別の実施形態では
図15の動作フローの後に、同一人物と判定された人物の動きを追跡したトラックに、人物の行動分析などの処理が更に実行されてもよい。
【0080】
また、上述の実施形態では2つの人領域が同一人物であるか否かの判定に、類似度を用いる例を述べているが、実施形態はこれに限定されるものではない。例えば、別の実施形態では、制御部201は、距離尺度に基づいて人領域が同一人物であるか否かを判定してよい。
【0081】
また、上述の実施形態では人領域のサイズを合わせる人物の半身の例として、上半身を例に説明を行っているが、実施形態はこれに限定されるものではない。別の実施形態では、制御部201は、人物の下半身などその他の所定の体の領域に合わせて人領域のサイズを補正し、類似度の評価に用いてもよい。
【0082】
また、例えば、人物同定の際に比較対象とする2つの人領域において、人物の全身が見えている場合、その類似度の判定結果は、人物の体の一部が障害物で見えていない場合よりも、信頼性が高いことが推定される。同様に、障害物の裏側の人物が完全に隠される障害物で人物が隠されている場合よりも、裏にある物体の一部が見えるように遮蔽する障害物で人物が隠されている場合の方が、情報量が多く類似度の信頼性が高いことが推定される。そのため、制御部201は、S1507で重み付けマッチングなどにより同一人物の人領域をフレーム画像間で対応づける場合に、以下に示すように、全身を用いて評価された類似度を、他の類似度よりも優先するように人領域を対応づけてよい。同様に、制御部201は、S1507で重み付けマッチングなどにより同一人物の人領域をフレーム画像間で対応づける場合に、上半身のみを用いて評価された類似度よりも、全身+上半身の人領域を用いて評価された類似度を優先するように人領域を対応づけてよい。
全身 優先度:高
全身+上半身 優先度:中
上半身のみ 優先度:低
【0083】
なお、上述の実施形態において、例えば、S1501の処理では制御部201は、検出部211として動作する。また、例えば、S1502の処理では制御部201は、取得部212として動作する。S1503の処理では制御部201は、生成部213として動作する。S1504からS1507の処理では制御部201は、特定部214として動作する。
【0084】
図16は、実施形態に係る情報処理装置101を実現するためのコンピュータ1600のハードウェア構成を例示する図である。
図16の情報処理装置101を実現するためのハードウェア構成は、例えば、プロセッサ1601、メモリ1602、記憶装置1603、読取装置1604、通信インタフェース1606、および入出力インタフェース1607を備える。なお、プロセッサ1601、メモリ1602、記憶装置1603、読取装置1604、通信インタフェース1606、入出力インタフェース1607は、例えば、バス1608を介して互いに接続されている。
【0085】
プロセッサ1601は、例えば、シングルプロセッサであっても、マルチプロセッサやマルチコアであってもよい。プロセッサ1601は、メモリ1602を利用して例えば上述の動作フローの手順を記述したプログラムを実行することにより、上述した制御部201の一部または全部の機能を提供する。例えば、情報処理装置101のプロセッサ1601は、記憶装置1603に格納されているプログラムを読み出して実行することで、検出部211、取得部212、生成部213、および特定部214として動作する。
【0086】
メモリ1602は、例えば半導体メモリであり、RAM領域およびROM領域を含んでよい。記憶装置1603は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、または外部記憶装置である。なお、RAMは、Random Access Memoryの略称である。また、ROMは、Read Only Memoryの略称である。
【0087】
読取装置1604は、プロセッサ1601の指示に従って着脱可能記憶媒体1605にアクセスする。着脱可能記憶媒体1605は、例えば、半導体デバイス、磁気的作用により情報が入出力される媒体、光学的作用により情報が入出力される媒体などにより実現される。なお、半導体デバイスは、例えば、USB(Universal Serial Bus)メモリである。また、磁気的作用により情報が入出力される媒体は、例えば、磁気ディスクである。光学的作用により情報が入出力される媒体は、例えば、CD-ROM、DVD、Blu-ray Disc等(Blu-rayは登録商標)である。CDは、Compact Discの略称である。DVDは、Digital Versatile Diskの略称である。
【0088】
記憶部202は、例えばメモリ1602、記憶装置1603、および着脱可能記憶媒体1605を含んでいる。例えば、情報処理装置101の記憶装置1603には、例えば、撮影装置102で撮影された動画データ、および障害物情報800が格納されている。
【0089】
通信インタフェース1606は、例えば、プロセッサ1601の指示に従って、撮影装置102などの他の装置と通信する。通信インタフェース1606は、上述の通信部203の一例である。
【0090】
入出力インタフェース1607は、例えば、入力装置および出力装置との間のインタフェースであってよい。入力装置は、例えばユーザからの指示を受け付けるキーボード、マウス、タッチパネルなどのデバイスである。出力装置は、例えばディスプレーなどの表示装置、およびスピーカなどの音声装置である。
【0091】
実施形態に係る各プログラムは、例えば、下記の形態で情報処理装置101に提供される。
(1)記憶装置1603に予めインストールされている。
(2)着脱可能記憶媒体1605により提供される。
(3)プログラムサーバなどのサーバから提供される。
【0092】
なお、
図16を参照して述べた情報処理装置101を実現するためのコンピュータ1600のハードウェア構成は、例示であり、実施形態はこれに限定されるものではない。例えば、上述の構成の一部が、削除されてもよく、また、新たな構成が追加されてもよい。また、別の実施形態では、例えば、上述の制御部201の一部または全部の機能がFPGA、SoC、ASIC、およびPLDなどによるハードウェアとして実装されてもよい。なお、FPGAは、Field Programmable Gate Arrayの略称である。SoCは、System-on-a-chipの略称である。ASICは、Application Specific Integrated Circuitの略称である。PLDは、Programmable Logic Deviceの略称である。
【0093】
以上において、いくつかの実施形態が説明される。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態および代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨および範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施され得ることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して、または実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。
【符号の説明】
【0094】
100 動き検出システム
101 情報処理装置
102 撮影装置
201 制御部
202 記憶部
203 通信部
211 検出部
212 取得部
213 生成部
214 特定部
401 人領域
402 棚
403 カート
700 評価対象情報
800 障害物情報
1600 コンピュータ
1601 プロセッサ
1602 メモリ
1603 記憶装置
1604 読取装置
1605 着脱可能記憶媒体
1606 通信インタフェース
1607 入出力インタフェース
1608 バス