JP6969611B2 - 情報処理システム、制御方法、及びプログラム - Google Patents

情報処理システム、制御方法、及びプログラム Download PDF

Info

Publication number
JP6969611B2
JP6969611B2 JP2019545446A JP2019545446A JP6969611B2 JP 6969611 B2 JP6969611 B2 JP 6969611B2 JP 2019545446 A JP2019545446 A JP 2019545446A JP 2019545446 A JP2019545446 A JP 2019545446A JP 6969611 B2 JP6969611 B2 JP 6969611B2
Authority
JP
Japan
Prior art keywords
target person
height
state
person
upright
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019545446A
Other languages
English (en)
Other versions
JPWO2019064375A1 (ja
Inventor
亮磨 大網
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2019064375A1 publication Critical patent/JPWO2019064375A1/ja
Priority to JP2021136281A priority Critical patent/JP7342919B2/ja
Application granted granted Critical
Publication of JP6969611B2 publication Critical patent/JP6969611B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/022Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by means of tv-camera scanning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/06Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness for measuring thickness ; e.g. of sheet material
    • G01B11/0608Height gauges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Geometry (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Image Analysis (AREA)

Description

本発明は画像処理に関する。
カメラによって生成される映像に含まれる人物を追跡する技術が開発されている。このような技術を開示する文献として、特許文献1と2がある。特許文献1には、人物の状態を「歩行」、「直立」、「座る」、及び「寝る」に分類し、実空間上での足元位置を推定する方式が記載されている。この方式では、画像から人物を検出した後、人物領域の主軸の傾きによる姿勢判定と、カメラから頭部までの水平距離及びカメラから足元までの水平距離を用いた姿勢判定を統合し、「立つ」、「座る」、及び「寝る」の3つの状態を判別している。このとき、カメラから頭部までの水平距離は、仮定された頭部の高さを用いて、頭部の画像上での座標を実空間上での座標に変換し、求まった位置とカメラの位置との差分をとることで算出される。この際、「立つ」状態については、頭部の高さが身長値であると仮定して算出する。また、「座る」及び「寝る」状態については、あらかじめ定められた値が用いられている。
また、特許文献1では、一定時間間隔空いたフレーム間での位置を比較することにより、静止か歩行状態かを判定し、上記の姿勢状態と合わせて最終的に「歩行」、「直立」、「座る」、及び「寝る」のいずれの状態であるかが判定される。そして、求まった状態に応じて人物の実空間上での座標をカメラパラメータにより算出している。また、状態間では、人物の軌跡がなめらかになるように内挿し、人物の動線情報を算出している。
特許文献2は、カメラから足元がみえるエリアを身長同定領域として指定し、人物の足元と頭部の画像上の位置を実空間上の座標に変換することによって身長を求める方式を開示している。身長同定領域は、足元から頭部までがカメラによって撮像できる位置の中で規定されており、この領域に入った時に、足元位置と頭の位置を画像から算出し、身長を求めている。
特開2002−197463号公報 特開2001−056853号公報
特許文献1は、画像に含まれる人物の身長を算出する方法や、「座り」又は「寝る」の状態における頭部の高さを算出する方法について言及していない。また、特許文献2では、身長同定領域における人物の姿勢を考慮していない。そのため、例えば身長同定領域で人物が屈んでいる場合などには、人物の身長を正しく求めることができない。また、人物が身長同定領域に含まれるときにしかその人物の身長を推定できないため、画像上においてこの領域で人物同士が重なり合ってしまい、人物の足元が画像から検出できない場合などでは、身長を推定できなくなる。
本発明は、以上の課題に鑑みてなされたものである。本発明の目的の一つは、カメラによって生成される画像に含まれる人物の身長を高い精度で推定する技術を提供することである。
本発明の情報処理システムは、1)動画フレームから人物を検出する検出手段と、2)検出の結果を用いて、対象人物の状態を推定する状態推定手段と、3)対象人物の状態が所定条件を満たす場合、動画フレームにおける対象人物の高さに基づいて、対象人物の身長を推定し、前記対象人物の状態が前記所定条件を満たさない場合、前記動画フレームにおける前記対象人物の高さに基づいた前記対象人物の身長の推定を実行しない身長推定手段と、を有する。身長推定手段は、推定された状態が所定条件を満たす複数の動画フレームそれぞれから、前記対象人物の実世界上の高さを算出し、算出された複数の高さを統計処理することで、対象人物の推定身長を算出し、複数の動画フレームそれぞれから算出した対象人物の実世界上の高さに対し、対象人物と動画フレームを生成するカメラの向きによって定まる俯角、及び対象人物の動画フレーム上の解像度に基づく重みを付与して、統計処理を行う
本発明の制御方法は、コンピュータによって実行される。当該制御方法は、1)動画フレームから人物を検出する検出ステップと、2)検出の結果を用いて、対象人物の状態を推定する状態推定ステップと、3)対象人物の状態が所定条件を満たす場合、動画フレームにおける対象人物の高さに基づいて、対象人物の身長を推定し、前記対象人物の状態が前記所定条件を満たさない場合、前記動画フレームにおける前記対象人物の高さに基づいた前記対象人物の身長の推定を実行しない身長推定ステップと、を有する。身長推定ステップでは、推定された状態が所定条件を満たす複数の動画フレームそれぞれから、前記対象人物の実世界上の高さを算出し、算出された複数の高さを統計処理することで、対象人物の推定身長を算出し、複数の動画フレームそれぞれから算出した対象人物の実世界上の高さに対し、対象人物と動画フレームを生成するカメラの向きによって定まる俯角、及び対象人物の動画フレーム上の解像度に基づく重みを付与して、統計処理を行う
本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
本発明によれば、カメラによって生成される画像に含まれる人物の身長を高い精度で推定する技術が提供される。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
実施形態1の情報処理装置の動作の概要を説明するための図である。 対象人物が含まれる動画フレームを例示する図である。 実施形態1の情報処理装置の構成を例示する図である。 情報処理装置を実現するための計算機を例示する図である。 実施形態1の情報処理装置によって実行される処理の流れを例示する第1のフローチャートである。 実施形態1の情報処理装置によって実行される処理の流れを例示する第2のフローチャートである。 追跡情報を例示する図である。 実施形態2の情報処理装置の機能構成を例示する図である。 実施形態2の情報処理装置によって実行される処理の流れを例示する第1のフローチャートである。 実施形態2の情報処理装置によって実行される処理の流れを例示する第2のフローチャートである。 実施形態3の情報処理装置の機能構成を例示するブロック図である。 実施形態3の情報処理装置によって実行される処理の流れの概略を示すフローチャートである。 第1時点の動画フレームから検出された人物と、追跡対象人物との対応付けを例示する図である。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[実施形態1]
<概要>
図1は、実施形態1の情報処理装置(後述する図3における後述する情報処理装置2000)の動作の概要を説明するための図である。以下で説明する情報処理装置2000の動作は、情報処理装置2000の理解を容易にするための例示であり、情報処理装置2000の動作は以下の例に限定されるわけではない。情報処理装置2000の動作の詳細やバリエーションについては後述する。
情報処理装置2000は、カメラ10によって生成された動画データ12から人物20を検出する。図1では、動画フレーム14から4人の人物が検出されている。ここで、動画フレーム14は、動画データ12を構成する時系列の撮像画像の内の1つである。すなわち、動画データ12は、時系列の複数の動画フレーム14によって構成される。
情報処理装置2000は、人物20が含まれる複数の動画フレーム14を画像解析することで、人物20の身長を推定する。身長を推定する対象とする人物を、対象人物と表記する。ここで、身長は、一定の観測期間中(例えば,店舗内での動線解析の場合には、ある顧客の入店から退店まで)変化しない、各人物に対して固有の不変量である。一方で、画像から観測される人物の高さは、姿勢変動等によって変化する。そこで、不変量である「身長」に対し、或る時点に生成された画像から観測される人物の高さを「一時的高さ」と呼ぶことにし、身長とは区別して用いる。以下、一部の動画フレーム14を画像解析する意義について説明する。
図2は、対象人物が含まれる動画フレーム14を例示する図である。動画フレーム14−1では、人物20が屈んでいる。一方、動画フレーム14−2では、人物20が直立している。
人物20の身長は、直立している状態における人物20の高さである。そのため、動画フレーム14−1のように、屈んでいる人物20が含まれる動画フレーム14を画像解析しても、人物20の身長を精度よく推定することは難しい。一方で、動画フレーム14−2のように、直立している人物20が含まれる動画フレーム14を画像解析すれば、人物20の身長を精度よく推定することができる。
そこで情報処理装置2000は、対象人物が含まれる複数の動画フレーム14それぞれについて、動画フレーム14に含まれる対象人物の状態を推定する。さらに情報処理装置2000は、対象人物が含まれる複数の動画フレーム14のうち、推定された対象人物の状態が所定条件を満たす動画フレーム14における対象人物の高さに基づいて、対象人物の身長を推定する。ここで、所定条件は、対象人物の状態が直立姿勢又は直立に近い姿勢である場合に満たされる条件であるとする。
例えば図2のケースでは、動画フレーム14−1における対象人物の高さ d1 ではなく、動画フレーム14−2における対象人物の高さ d2 を用いて、対象人物の身長を推定する。ここで、推定される身長を「推定身長」とも表記する。そして、身長を推定することを、「推定身長を算出する」とも表記する。
<作用・効果>
図2に示したように、対象人物が含まれる動画フレーム14の中には、身長の推定に適さない状態の対象人物が含まれるものもある。このような動画フレーム14を利用して対象人物の身長を推定すると、対象人物の身長を精度良く推定することができない。
そこで本実施形態の情報処理装置2000は、動画フレーム14に含まれる対象人物の状態を推定し、身長の推定に適した状態の対象人物が含まれる動画フレーム14における対象人物の高さに基づいて、対象人物の身長を推定する。こうすることで、対象人物の身長を精度良く推定することができる。
以下、本実施形態の情報処理装置2000についてさらに詳細に説明する。
<情報処理装置2000の機能構成の例>
図3は、実施形態1の情報処理装置2000の構成を例示する図である。情報処理装置2000は、例えば、検出部2020、状態推定部2040、及び身長推定部2080を有する。検出部2020は、動画フレーム14から人物20を検出する。状態推定部2040は、検出された人物20の状態を推定する。身長推定部2080は、推定された状態が所定条件を満たす場合、上記動画フレーム14における人物20の高さに基づいて、その人物20の身長を推定する。
<情報処理装置2000のハードウエア構成>
情報処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、情報処理装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
図4は、情報処理装置2000を実現するための計算機1000を例示する図である。計算機1000は任意の計算機である。例えば計算機1000は、Personal Computer(PC)、サーバマシン、タブレット端末、又はスマートフォンなどである。その他にも例えば、計算機1000はカメラ10であってもよい。計算機1000は、情報処理装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。プロセッサ1040は、CPU(Central Processing Unit)や GPU(Graphics Processing Unit)などの種々のプロセッサである。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。ただし、ストレージデバイス1080は、RAM など、主記憶装置を構成するハードウエアと同様のハードウエアで構成されてもよい。
入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。この通信網は、例えば LAN(Local Area Network)や WAN(Wide Area Network)である。ネットワークインタフェース1120が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
例えば計算機1000は、ネットワークを介してカメラ10と通信可能に接続されている。ただし、計算機1000をカメラ10と通信可能に接続する方法は、ネットワークを介した接続に限定されない。また、計算機1000は、カメラ10と通信可能に接続されていなくてもよい。
ストレージデバイス1080は、情報処理装置2000の各機能構成部(検出部2020、状態推定部2040、身長推定部2080)を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
なお、計算機1000は、複数の計算機を利用して実現されてもよい。例えば検出部2020、状態推定部2040、及び身長推定部2080は、それぞれ異なる計算機で実現することができる。この場合、各計算機のストレージデバイスに記憶されるプログラムモジュールは、その計算機で実現される機能構成部に対応するプログラムモジュールだけでもよい。
<カメラ10について>
カメラ10は、繰り返し撮像を行って時系列の動画フレーム14を生成することにより、動画データ12を生成する任意のカメラである。例えばカメラ10は、特定の施設や道路などを監視するために設けられている監視カメラである。
前述したように、情報処理装置2000を実現する計算機1000は、カメラ10であってもよい。この場合、カメラ10は、自身で生成した動画フレーム14を解析することで、人物20の検出、対象人物の状態の推定、及び対象人物の身長の推定を行う。このような機能を持たせるカメラ10としては、例えば、インテリジェントカメラ、ネットワークカメラ、又は IP(Internet Protocol)カメラなどと呼ばれるカメラを用いることができる。
なお、情報処理装置2000の全ての機能をカメラ10で実現するのではなく、情報処理装置2000の一部の機能のみがカメラ10で実現されてもよい。例えば、動画フレーム14から人物20を検出する機能のみをカメラ10で実現し、それ以外の情報処理装置2000の機能をサーバ装置で実現する。この場合、サーバ装置は、カメラ10から、検出された人物20の位置や画像特徴などの種々の情報を取得する。また、サーバ装置は、カメラ10によって生成された動画フレーム14のうち、人物20及びその周辺が含まれる一部の画像領域のみを取得してもよい。
<処理の流れ>
図5は、実施形態1の情報処理装置2000によって実行される処理の流れを例示する第1のフローチャートである。ループ処理Aは、所定の終了条件が満たされるまで繰り返し実行されるループ処理である。検出部2020は、最新の動画フレーム14を取得する(S104)。検出部2020は、取得した動画フレーム14から人物20を検出する(S106)。ループ処理Bは、検出された各人物20について実行される処理である。ここで、ループ処理Bにおける処理対象の人物20を、人物iと呼ぶ。人物iが、前述した対象人物となる。
また、図6は、実施形態1の情報処理装置2000によって実行される処理の流れを例示する第2のフローチャートである。この場合、検出部2020は、さらに、検出した人物を、それまでの追跡結果と対応付け、追跡結果を得る(S120)。ループ処理Bは、追跡処理によって得られた追跡対象に含まれる各人物20について実行される処理である。ここでも、ループ処理Bにおける処理対象の人物20を、人物iと呼ぶ。
状態推定部2040は、人物iの状態を推定する(S110、S130)。身長推定部2080は、人物iの状態が所定条件を満たすか否かを判定する(S112、S132)。人物iの状態が所定条件を満たす場合(S112、S132:YES)、S102で取得された動画フレーム14から得られる人物iの高さに基づいて、人物iの推定身長を算出する(S114、S134)。人物iの状態が所定条件を満たさない場合(S112、S132:NO)、人物iの推定身長は算出されない。
なお、ループ処理Aを終了する条件は任意である。例えば、ユーザから所定の入力操作を受け付けた場合に、ループ処理Aを終了する。
<動画フレーム14の取得方法:S104>
情報処理装置2000は、処理対象とする1つ以上の動画フレーム14を取得する。情報処理装置2000が動画フレーム14を取得する方法は様々である。例えば情報処理装置2000は、カメラ10から送信される動画フレーム14を受信する。また例えば、情報処理装置2000は、カメラ10にアクセスし、カメラ10に記憶されている動画フレーム14を取得する。
なお、カメラ10は、カメラ10の外部に設けられている記憶装置に動画フレーム14を記憶させてもよい。この場合、情報処理装置2000は、この記憶装置にアクセスして動画フレーム14を取得する。そのため、この場合、情報処理装置2000とカメラ10は通信可能に接続されていなくてもよい。
情報処理装置2000の一部又は全部の機能がカメラ10で実現される場合、情報処理装置2000は、情報処理装置2000自身によって生成された動画フレーム14を取得する。この場合、動画フレーム14は、例えば情報処理装置2000の内部にある記憶装置(例えばストレージデバイス1080)に記憶されている。そこで情報処理装置2000は、これらの記憶装置から動画フレーム14を取得する。
情報処理装置2000が動画フレーム14を取得するタイミングは任意である。例えば情報処理装置2000は、カメラ10によって動画データ12を構成する新たな動画フレーム14が生成される度に、その新たに生成された動画フレーム14を取得する。その他にも例えば、情報処理装置2000は、定期的に未取得の動画フレーム14を取得してもよい。例えば情報処理装置2000が1秒間に1回動画フレーム14を取得する場合、情報処理装置2000は、カメラ10によって1秒間に生成される複数の動画フレーム14(例えば動画データ12のフレームレートが 30fps(frames/second)であれば、30枚の動画フレーム14)をまとめて取得する。
情報処理装置2000は、動画データ12を構成する全ての動画フレーム14を取得してもよいし、一部の動画フレーム14のみを取得してもよい。後者の場合、例えば情報処理装置2000は、カメラ10によって生成される動画フレーム14を、所定数に1つの割合で取得する。
<人物20の検出:S106>
検出部2020は、動画フレーム14から人物20を検出する(S102)。動画フレーム14から人物20を検出する技術には、既知の種々の技術を利用することができる。例えば検出部2020は、人物の画像特徴を学習させた検出器を含む。検出器は、動画フレーム14から、学習済みの画像特徴にマッチする画像領域を、人物20を表す領域(以下、人物領域)として検出する。検出器には、例えば、HOG(Histograms of Oriented Gradients)特徴に基づいて検出を行うものや、CNN(Convolutional Neural Network)を用いるものが利用できる。なお、検出器は、人物20全体の領域を検出するように学習させたものであってもよいし、人物20の一部の領域を検出するように学習させたものであってもよい。例えば頭部や足元を学習させた検出器を用い、頭部位置と足元位置が検出できれば、人物領域を特定できる。その他にも例えば、背景差分によって求まるシルエット情報(背景モデルと差分がある領域の情報)と頭部検出情報を組み合わせることにより、人物領域を求めるように構成されていてもよい。
検出器は、検出した人物20に関する情報(以下、検出情報)を出力する。検出情報は、例えば、人物20の位置及び大きさを示す。ここで、検出情報における人物20の位置は、動画フレーム14上の位置(例えば動画フレーム14の左上端を原点とする座標)で表されていてもよいし、実世界座標で表されてもよい。ここで、カメラによって生成された画像に含まれる物体の実世界座標を算出する技術には、既存の技術を利用することができる。例えば、人物20の実世界座標は、カメラパラメータを用いて、動画フレーム14上の位置から算出することができる。
人物20の大きさは、例えば、人物の外接矩形(以下、人物矩形とも表記する)や、頭部や足元などの人物の一部の領域の外接矩形の大きさ(例えば、縦、横の辺の長さ、あるいはそれらの平均値など)で表される。この大きさは、動画フレーム14上の大きさであってもよいし、実世界上の大きさであってもよい。
<人物20の追跡:S120>
なお、図6に示すフローの場合には、検出部2020は、さらに人物の追跡処理も行う。追跡処理は、現時点で入力された動画フレームから検知された人物と、過去のフレームで検知されて追跡中である人物とを対応付ける処理である。複数の動画フレーム14にわたって同一の人物を追跡する技術には、例えば、後述する実施形態3において説明する技術を利用することができる。また、その他の既存の技術を利用することもできる。
情報処理装置2000は、人物20を追跡することで、人物20の位置や大きさの履歴を表す追跡情報を生成する。ここで、追跡情報に登録されている人物、すなわち既に動画フレーム14から検出されており、追跡対象となっている人物を、追跡対象人物と呼ぶ。
図7は追跡情報を例示する図である。図7の追跡情報では、追跡対象人物ごとにテーブル200が生成されている。テーブル200は、対応づけられている追跡対象人物の位置等の履歴を示す。テーブル200は、フレームID202、位置204、状態206、観測値208、動き210、特徴量212、及び領域214を示す。フレームID202は、動画フレーム14の識別子である。例えばフレームID202がnを示すレコードは、フレームIDがnである動画フレーム14における追跡対象人物の位置等を示す。なお、動き210は、移動状態にある追跡対象人物について、その移動の予測に利用される動きモデルのパラメータを示す。動きモデルについては、後述の実施形態3で説明する。また、領域214における TL と BR はそれぞれ、左上端(top left)の座標と右下端(bottom right)の座標を表している。観測値208については後述する。
図6に示すフローの場合には、検出部2020は、S106の検出時に追跡に必要な情報も抽出してもよい。すなわち、検出情報は、人物20の外見の特徴を表す特徴量を含んでいてもよい。特徴量としては、人物20の大きさ、表面の色や模様(服の色や模様)などを記述する特徴量を用いることができる。より具体的には、色ヒストグラムやカラーレイアウト、エッジヒストグラムやガボール特徴などの特徴量を用いることができる。また、検出情報は、オブジェクトの形状を表す特徴量を含んでもよい。オブジェクトの形状を表す特徴量としては、例えば、MPEG-7 で標準化されたシェイプデスクリプタを用いることができる。その他にも例えば、人物20の特徴点を抽出し、特徴点ごとに SIFT(Scale Invariant Feature Transform)や SURF(Speeded Up Robust Features)などの局所特徴量を抽出するようにしてもよい。その他に例えば、深層学習により学習されたネットワークによる特徴抽出を用いてもよい。
<対象人物について:S108>
情報処理装置2000は、動画フレーム14から検出される人物20の内の少なくとも1つを、身長を推定する処理の対象(すなわち対象人物)とする。ここで、動画フレーム14から複数の人物20が検出される場合に、どの人物20を対象人物として扱うかを決める方法は任意である。例えば図5のフローチャートに示す処理では、動画フレーム14から検出された全ての人物20を対象人物として扱っている。
その他にも例えば、情報処理装置2000は、動画フレーム14内の所定の画像領域に含まれる人物20のみを、対象人物として扱ってもよい。所定の画像領域は、予め定まっている領域であってもよいし、動的に定められる領域であってもよい。後者の場合、例えば情報処理装置2000は、動画フレーム14の中から所定の物体を検出し、その物体を基準とした所定の大きさの画像領域から検出される各人物20を、対象人物として扱う。所定の物体は、常時置かれている物体(椅子、棚、ドア、又は銅像など)であってもよいし、放置物体などのように動的に現れる物体であってもよい。なお、常時置かれている物体や動的に現れる物体を画像から検出する技術には、既存の技術を利用することができる。
<状態の推定:S110>
状態推定部2040は対象人物の状態を推定する(S110)。状態推定部2040によって推定される状態には、少なくとも、対象人物の姿勢に関する情報(例えば、直立と非直立のどちらであるかを示す情報)が含まれる。対象人物の状態を推定する方法には、様々な方法を採用することができる。以下、その方法の具体例をいくつか説明する。
<<方法1>>
まず、動画フレーム14の中の1枚の画像のみから身長を求める場合(図5の処理フローの場合)について述べる。この場合、例えば状態推定部2040は、学習によって状態を分別する識別器(以下、状態識別器)を有し、この識別器を利用して状態判別を行う。例えば、「直立」と「非直立」それぞれの状態(人物姿勢)に該当する画像の学習データを準備し、学習データの画像と人物検出結果を入力としたときに、正解の状態が得られるように、状態識別器を学習させる。この学習には、SVM(Support Vector Machine)やニューラルネットワーク等、様々な識別器を用いることができる。
より具体的には、しゃがみ・屈みなどの非直立状態を、直立状態と区別するように、状態識別器を学習させておく。
例えば状態推定部2040は、状態識別器に対し、動画フレーム14、及び入力された動画フレーム14に対する人物の検出結果を入力する。状態識別器は、その動画フレーム14で検出された各人物20について、その状態を表す情報(以下、状態情報)を出力する。その他にも例えば、状態推定部2040は、動画フレーム14から検出された対象人物の画像領域のみを状態識別器に入力したり、対象人物の検出情報を状態識別器に入力したりしてもよい。
状態情報は、対象人物の姿勢がどの状態であるかを特定する情報であってもよいし、対象人物が各状態であることの尤度を示す情報であってもよい。後者の場合、状態識別器は、対象人物がとりうる各状態について、対象人物がその状態であることの尤度を算出する。そして状態識別器は、状態情報に各状態の尤度を含める。
なお、状態推定部2040は、状態として直立状態をさらに細かく分類する姿勢情報を判定するように構成されていてもよい。これらの情報を考慮することで、後述するように、身長推定の精度を高めることが可能となる。
例えば、直立して歩いている状態の場合には、同じ直立状態でも、股を開いて歩いている姿勢と足が揃っている姿勢とが考えられる。そのため、これらを区別するように状態識別器を学習させることで、状態識別器が両者を判別するようにしてもよい。さらに、股が開いている状態については、その開き具合に応じて数段階に場合分けして判定するようになっていてもよい。このような状態識別器からは、対象人物の股が閉じているのか開いているのかを表す情報や、股の開き具合を表す情報なども出力される。
また、状態情報には人物の向きがさらに含まれるようにしてもよい。向きの判定も、状態識別器を予め学習させておくことで可能となる。
<<方法2>>
次に、複数の動画フレーム14を用いた追跡処理を含む場合(図6のフローの場合)について述べる。なお、方法2は、状態推定部2040において、画像による姿勢判定を行わずに追跡情報に含まれる時系列の人物矩形情報を用いて状態を判定する方法である。方法1のように画像による姿勢判定を行う場合については、方法3として後述する。
状態推定部2040は、或る動画フレーム14における対象人物の状態を、その動画フレーム14及び過去複数の動画フレーム14にわたるその対象人物の追跡結果を利用して推定する。なお、複数の動画フレーム14にわたって同一の人物を追跡する技術には、既存の技術を利用することができる。また、情報処理装置2000は、身長推定部2080によって推定される人物20の推定身長を、その人物20の追跡に利用してもよい。その具体的な方法については、後述の実施形態で説明する。
追跡の結果が利用可能な場合、「直立状態」、「非直立状態」以外に、「移動状態」と「静止状態」を区別することが可能となる。この場合、例えば、「直立移動状態」、「直立静止状態」、及び「非直立静止状態」という3つの状態のいずれであるのかが判別される。なお、非直立移動状態という状態も選択肢に含めてもよいが、通常は想定されない状態であるため、以下の説明では選択肢に含めないこととする。以下では、まず、直立か非直立かの区別について述べた後、移動か静止かの区別について述べる。
情報処理装置2000は、人物20を追跡することで、人物20の位置や大きさの履歴を表す追跡情報を生成する。ここで、追跡情報に登録されている人物、すなわち既に動画フレーム14から検出されており、追跡対象となっている人物を、追跡対象人物と呼ぶ。
対象人物の追跡情報の履歴が一定数格納されるまでの間は(対象人物のテーブル200のレコード数が一定数に達するまでの間は)、状態推定部2040は、各動画フレーム14から対象人物の実世界上の高さを算出する。対象人物の実世界上の高さは、例えば、動画フレーム14上における対象人物の高さを、カメラパラメータを利用して実世界上の値に変換することで得られる。なお、動画フレーム14上における対象人物の高さは、例えば、動画フレーム14上における対象人物の足元と頭頂部との間の距離として算出することができる。以下、動画フレーム14から算出される、対象人物の実世界上の高さを、「観測値」とも表記する。この観測値が、前述した観測値206に示される値である。すなわち、動画フレーム14から算出した対象人物の観測値が、追跡情報の観測値206に格納される。
対象人物について一定数の観測値が蓄積されたら、状態推定部2040は、蓄積された観測値を用いて、対象人物が直立しているか否かを識別するための閾値を算出する。この閾値は、観測値の分布において、人物20が直立していると考えられる領域と、人物20が直立していないと考えられる領域との境界線を意味する。
この閾値を算出した後から、状態推定部2040は、上記閾値を用いて、動画フレーム14から得られる対象人物の姿勢を推定する。例えば状態推定部2040は、対象人物の観測値が閾値と比較して有意に大きい場合に(例えば、観測値が閾値以上である場合に)、対象人物の状態が直立状態であると推定する。一方、観測値が閾値より有意に大きいとはいえなければ(例えば、観測値が閾値未満であれば)、状態推定部2040は、対象人物の状態が非直立状態であると推定する。
その他にも例えば、状態推定部2040は、観測値が閾値から乖離している程度を表す指標値を算出し、この指標値を、対象人物の状態が直立状態である尤度としてもよい。
ここで、閾値の決め方について説明する。履歴が一定数格納されたときに、実世界上の高さに有意な変化がある場合には、一番高い値が身長に近いと考えられるため、この高さを基準に一定の値だけ減じた値(例えば 5cm を減じた値)を閾値として設定する。なお、この減じる値は、観測値の誤差を考慮して決めることが好適である。例えば、誤差の標準偏差の値に基づいて決定することができる。一方、履歴が一定数格納されたときに、実世界上の高さに有意な変化がない場合(観測値の分布が誤差の範囲と考えられる場合)には、その代表値(平均値、中央値、モード値など)を基準に一定の値だけ減じた値を閾値として設定する。途中で、実世界の高さが定めた閾値よりも有意な差をもって大きくなる場合には、もともと直立ではなかったと考えられるため、新たに得られた観測値を基準にして、閾値を設定し直す。そして、それまでの状態を直立ではなく、非直立と修正するようにする。
<<移動・静止の考慮>>
前述したように、対象人物がとりうる状態は、直立移動状態、非直立移動状態、及び直立静止状態であってもよい。このためには、移動の有無を判定する必要がある。以下では、移動の有無を判定し、直立移動状態、非直立移動状態、及び直立静止状態のいずれに該当するかを判定する方法について述べる。
状態推定部2040は、前述した追跡情報を利用して、対象人物が移動しているか否かを判別する。例えば状態推定部2040は、動画フレーム14から検出された対象人物の位置と、所定時間前(例えば直前のフレーム)における対象人物の位置を比較し、位置の変化が小さければ(例えば所定値以下であれば)、対象人物が静止していると判定する。一方、位置の変化が大きければ、状態推定部2040は、対象人物が移動していると判定する。対象人物の位置としては、頭部の位置、人物矩形の所定位置(例えば中心や左上端など)、又は足元位置などを利用することができる。なお、所定時間前の動画フレーム14における対象人物の位置だけでなく、過去複数フレームにおける対象人物の位置との比較を行ってもよい。
状態推定部2040は、対象人物の位置が変化した方向をさらに考慮して、対象人物が移動しているか否かを判定してもよい。例えば対象人物の頭部が鉛直方向に変化することは、対象人物が立ち上がったり座ったりすること、すなわち同じ場所で姿勢を変えていることを表すと言える。そこで例えば、状態推定部2040は、対象人物の位置の変化の方向が鉛直方向に近い方向である場合、状態推定部2040は移動していないと判定する。一方、状態推定部2040は、対象人物の頭部の位置の変化の方向が鉛直方向に近い方向でない場合、状態推定部2040は移動していると判定する。
対象人物の頭部の位置の変化の方向が鉛直方向に近いか否かは、例えば、対象人物の位置の変化の方向と鉛直方向のベクトルとのなす角を求めることによって判定することができる。なお、状態推定部2040は、位置の変化の方向と鉛直方向とのなす角が大きい場合に、対象人物が移動していると判定してもよい。
また、画像上での頭部の動きが鉛直方向に近い場合、状態推定部2040は、足元位置の変動も考慮して、姿勢変動と移動とを判別してもよい。具体的には、足元位置の変動が小さく、静止とみなせる場合には、姿勢変動が起きているだけで人物は移動していないと考えられる。よって、状態推定部2040の状態は、非直立静止状態となる。一方、足元位置が頭部の動きと連動して動いている場合、直立移動状態となる。
なお、足元が隠れていて見えない場合もある。この場合も、足元が頭部と連動していないと見なせる場合(例えば、頭部がカメラ10の画像の鉛直方向に移動しているにもかかわらず、足元は障害物などに隠れたままである場合など)は、足元位置は静止していると仮定して、非直立静止状態と判定してもよい。また、椅子があり、座ることが想定されている場所の場合には、足元位置がみえなくても、着席する蓋然性が高いと考えられるため、非直立静止状態と判定してもよい。また、静止していると仮定すると矛盾が生じる場合(例えば、人物矩形の高さが想定される高さよりも大幅にずれるなど)には、直立移動状態であると判定してもよい。もし、どちらとも判定が難しい場合には、両方の状態の尤度を同程度にし、将来のどこかのフレームでどちらの状態かがはっきりした時点で状態推定をする(状態の尤度に大きな差をつける)ようにしてもよい。
<<方法3>>
次に、複数の動画フレーム14を用いた追跡処理を含む場合(図6のフローの場合)で、かつ、状態推定部2040において、画像による姿勢判定を行う場合について述べる。この場合、人物の姿勢を画像によって判定可能なため、直立、非直立を直接的に分類することができる。これと、方法2で述べた移動情報と組み合わせることで、「直立移動」、「直立静止」、「非直立静止」の3状態を区別できるようになる。
さらに、方法1で述べたように、詳細な状態を出力するようになっていてもよい。すなわち、股を開いて歩いている状態か、さらに、その開き具合はどのぐらいか、あるいは、人物の向きはどちらかといった情報も合わせて出力するようになっていてもよい。これらの識別は、方法1のところで述べたように、画像による識別器を生成することで実現できる。これらの情報を考慮することで、後述するように、身長推定の精度を高めることが可能となる。
<身長の推定:S114>
図5のフローの場合、身長推定部2080は、動画フレーム14を用いて推定された対象人物の状態が所定条件を満たすときに、その動画フレーム14における対象人物の高さに基づいて、対象人物の身長を推定する(S114)。所定条件は、「対象人物の状態が、直立状態又はこれに近い状態であること」を表す条件である。
例えば状態情報が、対象人物の状態を特定する情報であるとする。この場合、所定条件は、「対象人物の状態が直立状態である」という条件となる。
その他にも例えば、状態推定部2040が対象人物に関し、複数の状態それぞれについて尤度を算出するとする。この場合、所定条件は、「対象人物の状態が直立状態である尤度が閾値以上である」という条件である。
身長推定部2080は、動画フレーム14における対象人物の状態が所定条件を満たしている場合に、その動画フレーム14における対象人物の観測値を算出する。前述したように、動画フレーム14における対象人物の観測値は、対象人物の動画フレーム14上のける高さを、カメラパラメータなどを用いて、実世界上の高さに変換した値である。ここで、対象人物の状態にかかわらず、検出部2020が対象人物の観測値を算出して検出情報に含めるように構成されていてもよい。この場合、身長推定部2080は、検出情報から観測値を取得する。
例えば身長推定部2080は、動画フレーム14における対象人物の状態が所定条件を満たしている場合、その動画フレーム14における対象人物の観測値を、対象人物の推定身長とする。
その他にも例えば、状態推定部2040がより細かい状態情報(例えば、股を開いて歩いている状態か、股の開き具合、人物の向き)も一緒に出力する場合には、所定条件にこれらの条件も含めてもよい。例えば、同じ直立状態であっても、股を開いていない(あるいは開き具合が小さい)場合のみ、身長を推定するようになっていてもよい。あるいは、人物の向きがカメラの光軸方向と大きく異なる場合のみ、身長を推定するようになっていてもよい。
<身長の推定:S134>
図6のフローの場合も、身長推定部2080は、動画フレーム14を用いて推定された対象人物の状態が所定条件を満たす場合、その動画フレーム14における対象人物の高さに基づいて、対象人物の身長を推定する(S134)。所定条件は、「対象人物の状態が、直立状態又はこれに近い状態であること」を表す条件である。すなわち、状態が直立静止状態か、あるいは直立移動状態のときとなる。その他にも例えば、状態推定部2040が対象人物に関し、複数の状態それぞれについて尤度を算出する場合、所定条件は、「対象人物の状態が直立状態である尤度が閾値以上である」という条件である。
身長推定部2080は、動画フレーム14における対象人物の状態が所定条件を満たしている場合に、その動画フレーム14における対象人物の観測値(実世界上の高さ)を算出する。ここで、対象人物の状態にかかわらず、検出部2020が対象人物の観測値を算出して検出情報に含めるように構成されていてもよい。この場合、身長推定部2080は、検出情報から観測値を取得する。
例えば、身長推定部2080は、最新の動画フレーム14で得られた観測値に加え、対象人物の状態が所定条件を満たしている過去の動画フレーム14(1つでも複数でもよい)から得られた観測値も用いて、対象人物の推定身長を算出する。具体的には、最新の動画フレーム14から得られた観測値と、過去の動画フレーム14から得られた観測値の統計値を算出し、その統計値を対象人物の推定身長とする。
例えば身長推定部2080は、最新の動画フレーム14において対象人物の状態が所定条件を満たしていたら、その動画フレーム14から得られた観測値、及び対象人物の状態が所定条件を満たす過去所定数の動画フレーム14それぞれから得られた観測値を用いて、対象人物の推定身長を算出する。対象人物の状態が所定条件を満たす動画フレーム14が得られる度にこのように対象人物の推定身長を算出していくことで、対象人物の推定身長を段々と精度の高い値に更新していくことができる。
上記統計値には、様々なものを利用することができる。例えば統計処理は、平均値である。ただし、誤検出の場合など、推定身長が正しく求まらない場合もある。このため、ロバスト推定等の手法により、外れ値を除外する統計処理で統計値を算出してもよい。例えば、RANSAC(Random Sampling Consensus)などの手法を利用することができる。
その他にも例えば、対象人物の状態の尤度に応じて観測値に重みづけをして加算するようにしてもよい。例えば、対象人物がカメラの近くに位置するために俯角が大きくなると、対象人物の頭頂部分の推定が難しくなり、対象人物の観測値が誤差を含みやすくなる。一方、対象人物がカメラから離れると対象人物の解像度(動画フレーム14上での大きさ)が下がり、検出位置のわずかなずれが身長の推定に影響を与えるようになる。よって、カメラからの俯角や、カメラからの距離に応じて、観測値の誤差の生じやすさを考慮して重みづけして加算し、平均を算出してもよい。誤差の生じやすさについては、あらかじめ身長が既知の人物をカメラで撮影することによって、カメラの俯角や距離に応じた誤差の傾向を把握できるため、この結果に基づいて予め決めておくことができる。すなわち、誤差が大きくなるにつれ、重みが小さくなるように重みを決定し、重みづけ平均で用いるようにすればよい。
また、人物の状態の種類を考慮した重みをつけるようにしてもよい。上述の状態分類によれば、移動しているときの姿勢は直立のみであるのに対し、静止しているときの姿勢には直立と非直立の2通りがある。よって、移動状態であれば、対象人物の観測値が身長を表わす蓋然性が高い。一方で、移動しているときは多少高さが上下するため、対象人物の観測値は一定の誤差を含む蓋然性が高い。また、静止しているときは観測値が誤差を含む蓋然性が低い。このことから、直立静止状態のとき、もっとも高い確度で対象人物の身長が推定できる。
そこで、対象人物の状態が直立静止状態である動画フレーム14から得られる対象人物の観測値に大きい重みを付与する。例えば、移動状態から静止状態に遷移した直後で、計測される観測値の状態が安定しており、かつ、移動状態の時に算出された推定身長に近い場合は、直立の姿勢で静止している確度が高いと見做せる。よって、このような状況で計測された観測値の重みを高くして推定するようにしてもよい。また、同じ移動状態でも、移動速度によって求まりやすさも変わる。例えば、早く移動している場合には、歩幅が大きくなる分、人物の高さの変動も大きくなる。よって、速度が大きい場合には、重みを下げるように制御してもよい。
さらに、対象人物の向きや股の開き具合なども考慮して重み付けをしてもよい。対象人物が直立移動状態の場合、移動の向きやその時の人物の姿勢によって、対象人物の観測値が身長を表す程度が異なる。具体的には、股が開いている状態では、足が揃っている場合に比べ、高さが低くなる。よって、対象人物の股が開いている場合、その時の対象人物の観測値は、実際の身長よりも小さい値になりやすい。そこで、足が揃っている姿勢の対象人物の観測値に与える重みを、股が開いている姿勢の対象人物の観測値に与える重みよりも大きくする。
また、移動の方向がカメラの光軸方向に近い場合には、人物領域として求まる矩形の足元位置が定まりにくくなり、対象人物の観測値に誤差が生じやすい。このことは、股が開いている状態ではより顕著になる。よって、カメラの光軸方向に近い方向に移動している対象人物の観測値の重みを小さくして統計処理を行うようにする。
また、直立移動状態のときに、身長の概算値を求めておき、静止状態に移行した時点で、概算値から詳細な値を推定するようになっていてもよい。すなわち、人物が直立静止状態に移行した後(あるいは移行する前)、直立移動状態で求まった概算値に近い値で観測値が安定している場合には、正しい身長が求められる蓋然性が高い。よって、このような状態の観測値に高い重みをつけて身長を求めるようになっていてもよい。上述した身長の概算値は、例えば、直立移動状態の対象人物について求まる一時的な高さである。
なお、推定身長を精度良く求めるためには、動画フレーム14において対象人物の足元と頭部の双方が見えていることが好適であるといえる。しかしながら、障害物や他の人物との重なりによって、足元が隠れる場合がある。身長の推定には、足元が隠れている場合を除くことが望ましい。そこで、上記所定条件に、「対象人物の足元が見えている」という条件を加えてもよい。なお、対象人物の足元が見えているか否かを判定する方法には、様々な方法を利用できる。具体的には、直接的に足元の検知を行ってもよいし、障害物に隠れているかどうか、あるいは、人物と重なっているかどうかの判定を行ってもよい。棚などの障害物は、通常予め定まった位置にあるため、カメラから見たときに足元位置が隠れる床面上の領域は、あらかじめ定めることができる。よって、対象人物の位置がこの領域内にあるか否かを判定することで、対象人物の足元が見えるか否かを判定することができる。また、人との重なりについては、検出部2020によって検出された各人物20の位置に基づいて判定可能である。例えば、対象人物の外接矩形の下端に他の人物20の外接矩形が重なっている場合には、対象人物の足元が見えないと判定する。この際、各人物20の3次元位置を考慮し、カメラから見た対象人物と他の人物20との前後関係も用いて、対象人物の足元が見えるか否かを判定してもよい。すなわち、対象人物と他の人物20の外接矩形が重なっており、なおかつ他の人物20が対象人物よりもカメラの近くにいる場合に、対象人物の足元が見えないと判定する。
[実施形態2]
図8は、実施形態2の情報処理装置2000の機能構成を例示する図である。下記で説明する事項を除き、実施形態2の情報処理装置2000は、実施形態1の情報処理装置2000と同様の機能を有する。
実施形態2の情報処理装置2000は、一時的高さ推定部2100を有する。一時的高さ推定部2100は、或る時点における対象人物の一時的な高さを算出する。一時的な高さとは、対象人物が直立しているか否かにかかわらず求まる高さである。例えば対象人物がしゃがんでいる場合、その状態における対象人物の足元から頭頂部までの高さが、その時における対象人物の一時的な高さである。直立状態の時には、一時的な高さは、観測誤差範囲内で身長と一致する。
<処理の流れ>
図9は、実施形態2の情報処理装置2000によって実行される処理の流れを例示する第1のフローチャートである。図9のフローチャートは、図5のフローチャートに比べ、身長推定(S114)の後に、対象人物の一時的な高さを算出する処理(S202)が実行される点が異なる。それ以外は、図5のフローチャートと同様である。
図10は、実施形態2の情報処理装置2000によって実行される処理の流れを例示する第2のフローチャートである。図10のフローチャートは、図6のフローチャートに比べ、身長推定(S134)の後に、対象人物の一時的高さを算出する処理(S212)が実行される点が異なる。それ以外の部分については、図6のフローチャートと同様である。
<一時的高さの推定:S202>
図9のフローの場合には、例えば一時的高さ推定部2100は、対象人物の状態が前述した所定条件を満たさない動画フレーム14も含むすべてのフレームにおける対象人物の観測値を、その動画フレーム14が生成された時点における対象人物の一時的な高さとする。
<一時的高さの推定:S212>
追跡処理が含まれる場合(図10のフローの場合には)には、その他にも例えば、一時的高さ推定部2100は、過去複数の動画フレーム14から得られる情報も利用して、対象人物の一時的な高さを算出してもよい。対象人物の一時的な高さは、時間的に連続的に変化する特性、及び推定身長以下になるという特性を有する。よって、障害物等によって対象人物の足元が見えない場合など、1つの動画フレーム14から算出される観測値の信頼度が低いと考えられる場合には、連続性を考慮して時間方向に補完(内挿や外挿)することにより、対象人物の一時的な高さを算出することが好適である。なお、補完の方法は、既存の任意の方式を用いることができる。
例えば、時点tで生成された動画フレーム14が、推定身長を算出するための所定条件を満たさず、なおかつその動画フレーム14において対象人物の足元が見えないとする。この場合、例えば一時的高さ推定部2100は、時点tよりも過去の複数の動画フレーム14それぞれから算出された対象人物の一時的な高さの時間変化に対して補完を行うことで、時点tにおける対象人物の一時的な高さを算出する。
なお、時間的に近傍の複数の動画フレーム14を用いて、対象人物の一時的な高さを1つ算出してもよい。例えば、各動画フレーム14について算出された対象人物の観測値を、ある一定の幅の時間窓内で平均する。こうすることで、各時間窓内について、対象人物の一時的な高さが得られる。この際、各動画フレーム14から得られる観測値に、観測値の確度に応じた重みづけをしてもよい。
また、姿勢変動が少なく、対象人物の観測値が安定しているときは時間窓の幅を長めにとり、座り込みや立ち上がりなどで、高さが急激に一方向に変化しているときは、時間窓の幅を短くするようにしてもよい。
ただし、特定の人物状態においては、以下に述べる制約を以って推定することが望ましい。しゃがみや屈み、座りなどの非直立静止状態においては、人物の位置は変化しないと考えられる。特に椅子などがあり、座ることが想定されるエリアにおいては、特にこの傾向が強い。よって、非直立静止状態においては、足元が見えなくても、足元位置は動かさず、頭頂位置のみを変化させて、一時的な高さを算出するようにすればよい。すなわち、複数の動画フレーム14間で、足元位置を共通の位置に設定する。
<ハードウエア構成の例>
実施形態2の情報処理装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図4によって表される。ただし、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の情報処理装置2000の機能を実現するプログラムモジュールがさらに記憶される。
<作用・効果>
本実施形態の情報処理装置2000によれば、人物20の状態に基づいて、人物20の推定身長と、人物20の一時的な高さ(人物20が直立していないケースにおける高さ)とが、区別して算出される。よって、人物20の推定身長を正確に算出しつつ、その時々における人物20の一時的な高さも精度良く求めることができる。
[実施形態3]
図11は、実施形態3の情報処理装置2000の機能構成を例示するブロック図である。情報処理装置2000は、位置推定部2120及び更新部2140を有する。下記で説明する事項を除き、実施形態3の情報処理装置2000は、実施形態2の情報処理装置2000と同様の機能を有する。
実施形態3の情報処理装置2000は、動画データ12に含まれる人物を追跡する機能を有する。具体的には、前述した追跡情報の生成・更新を行うことで、人物の追跡を行う。
まず、フローチャートを用いて、人物追跡処理の全体的な流れを説明する。図12は、実施形態3の情報処理装置2000によって実行される処理の流れの概略を示すフローチャートである。情報処理装置2000は、最新の動画フレーム14から人物20を検出する(S302)。情報処理装置2000は、検出した人物20を追跡対象人物として、追跡情報を生成する(S304)。追跡対象人物は、情報処理装置2000によって既に検出された人物20を意味する。
ループ処理Cは、所定の終了条件が満たされるまで繰り返し実行される処理である。S306において、所定の終了条件が満たされている場合、情報処理装置2000は、図12の処理を終了する。一方、所定の終了条件が満たされていない場合、図12の処理はS308に進む。
S308において、検出部2020は、最新の動画フレーム14から人物20を検出する。ここで、取得される動画フレーム14の生成時点を第1時点と表記する。位置推定部2120は、追跡情報を用いて、第1時点における各追跡対象人物の位置を推定する(S310)。更新部2140は、動画フレーム14から検出された人物20と、追跡対象人物との対応付けを行う(S312)。更新部2140は、対応付けの結果に基づいて追跡情報を更新する(S314)。
なお、実施形態3の情報処理装置2000が対象人物の推定身長や一時的な高さを算出するタイミングは任意である。例えば情報処理装置2000は、ループ処理Cの中で、対象人物の推定身長又は一時的な高さの算出を行う。
<推定位置の算出:S310>
位置推定部2120は、追跡情報を用いて、第1時点における各追跡対象人物の位置を推定する(S310)。追跡情報に示されている追跡対象人物の位置は、過去の位置(例えば1つ前の動画フレーム14における位置)である。そこで位置推定部2120は、追跡対象人物の過去の位置から、第1時点における追跡対象人物の位置を推定する。
上記推定の方法は様々である。例えば位置推定部2120は、追跡情報に示されている追跡対象人物の位置及び人物の動きモデルに基づいて、第1時点における追跡対象人物の位置を予測する。この手法としては、カルマンフィルタを用いる方法や、パーティクルフィルタを用いる方法など、既存の様々な方法を用いることができる。なお、予測する位置情報は画像上の座標であってもよいし、実世界座標であってもよい。画像上の座標の場合には、人物矩形情報として予測結果を生成するようになっていてもよい。
人物の動きモデルは追跡対象人物ごとに異なっていてもよい。例えば位置推定部2120は、追跡対象人物について過去に推定された状態を利用して、その追跡対象人物の動きモデルを決定する。例えば、直立移動状態、直立静止状態、及び非直立静止状態それぞれに対応する予測モデルを予め用意しておく。位置推定部2120は、追跡対象人物の直近の状態(最新の追跡情報に示されている追跡対象人物の状態)に対応した予測モデルを用いて、その追跡対象人物の推定位置を算出する。
例えば直立移動状態では、追跡情報に示される追跡対象人物の位置の履歴に基づいて動きを予測するモデルを用いる。具体的な例としては、以下のような等速直線運動モデルを用いることができる。まず、等速直線運動モデルは、過去所定期間の追跡情報を用いて追跡対象人物の速度ベクトルを求め、その速度ベクトル及びフレーム時間間隔に応じて、追跡対象人物の動きベクトルを求める。そして、等速直線運動モデルは、直近の追跡情報に示される追跡対象人物の位置に上記動きベクトルを加算することで、第1時点における追跡対象人物の推定位置を算出する。
直立静止状態では、追跡対象人物は動かないと予測できるため、移動量0のモデルを用いる。すなわち、第1時点における追跡対象人物の位置は、直近の追跡情報に示されている位置と同一となる。
非直立静止状態では、歩行による移動はないものの、姿勢変動が起こりうる。例えば、足元位置は動かなくても、頭部位置は、鉛直に近い方向に動き得る。そこで、非直立静止状態では、このような姿勢変動を予測するモデルを用いる。
ここで、位置推定部2120は、上述のように追跡対象人物の状態を考慮した位置推定を、最も確度が高い状態(最尤状態)についてのみ行ってもよいし、複数の状態それぞれについて行ってもよい。後者の場合、複数の状態それぞれに対応した推定位置が算出される。
<人物20と追跡対象人物との対応付け:S312>
更新部2140は、第1時点の動画フレーム14から検出された人物20と、追跡対象人物との対応付けを行う。この対応付けは、第1時点の動画フレーム14から検出された各人物20が、どの追跡対象人物に相当するのかを特定する処理である。図13は、第1時点の動画フレーム14から検出された人物20と、追跡対象人物との対応付けを例示する図である。図13において、互いに両矢印で結ばれている人物20と追跡対象人物が、互いに対応付けられた人物20と追跡対象人物である。
上記対応付けを行う方法は様々である。例えば身長推定部2080は、予測した追跡対象人物の位置と検出された人物20の位置の近さや、両者の外見特徴量の類似性等に基づいて、両者が対応づく可能性を表す尤度(以後対応づけ尤度と呼ぶ)を算出し、対応付けを行うことができる。例えば、尤度をコストに変換し、追跡対象人物と検出された人物との対応付け問題をコスト最小化問題に帰着させ、ハンガリアン法などのアルゴリズムによって解くことができる。
ここで、対応づけ尤度を求める際、人物の近さ情報は、例えば実空間上の距離で判定する。すなわち、動画フレーム14上の位置をカメラパラメータと人物の高さ情報を用いて実空間上の位置座標に変換し、座標間の距離を求める。
この際、更新部2140は、上記変換に利用する人物の高さを、人物の状態に応じて決定する。前述したように、情報処理装置2000は、対象人物の推定身長と、一時的な高さとを区別して算出している。また、各時点における対象人物の一時的な高さは、追跡情報に記憶されている。
そこで更新部2140は、第1時点における人物20の状態に応じて、人物20の推定身長と一時的な高さのいずれかを用いて位置を算出する。具体的には、直立静止状態又は直立移動状態では、立った状態で静止しているか移動しているかであるため、人物20の高さは身長と等しいと見なしてよい。よって、更新部2140は、動画フレーム14から検出された人物20の頭頂位置の高さが身長であると見なし、カメラパラメータを用いて、人物20の動画フレーム14上の座標を実世界座標に変換する。一方、非直立静止状態の場合には、人物20の高さは身長とは異なるため、第1時点における人物20の一時的な高さを用いて算出する。
なお、前述のように、位置推定部2120において非直立静止状態の場合に人物20の頭部の動きも予測している場合には、この動きによって人物20の一時的な高さが変化することも反映させて、人物20の位置を算出してもよい。すなわち、過去の追跡情報に含まれる人物20の一時的な高さをそのまま用いるのではなく、頭部の動きによって変化が生じる分を人物20の一時的な高さに反映させ、位置情報を推定してもよい。
また、人物の近さ情報は、画像上の座標で計算するようになっていてもよい。たとえば、人物矩形の特定の位置(例えば足元位置)の画像上での座標を求め、その座標間の距離によって近さを判定するようになっていてもよい。あるいは、人物矩形同士の重なりよって、近さを判定するようになっていてもよい。この場合は、矩形同士の重なりが大きいほど、人物同士が近づいていると判定される。
なお、追跡対象人物の推定位置が、最尤状態についてのみ求まっているとする。この場合、更新部2140は、各追跡対象人物の最尤状態についての位置と、第1時点の動画フレーム14から検出された人物20の位置との間で、対応づけ尤度を求めるようにすればよい。一方、複数の状態について追跡対象人物の推定位置が求まっている場合には、それぞれの状態に対して対応付け尤度を算出し、最も対応づけ尤度が高くなる状態とそのときの対応付け尤度を選択する。
また、外見特徴量の類似性も一緒に考慮してもよい。この場合、特徴量間の距離や類似性を表す尺度を用いて判定する。尺度としては、ユークリッド距離やヒストグラムインターセクション等、既存の様々なものを用いることができる。
<追跡情報の更新>
更新部2140は、上記対応付けの結果に基づいて、追跡情報に示される追跡対象人物の情報を更新する。具体的には、第1時点における各追跡対象人物に関する情報が、追跡情報に追加される。
例えば更新部2140は、追跡対象人物の位置情報を更新する。例えば更新部2140は、第1時点における追跡対象人物の位置を、その追跡対象人物と対応づけられた人物20の位置とする。その他にも例えば、更新部2140は、第1時点における追跡対象人物の位置情報を、第1時点におけるその追跡対象人物の推定位置と、その追跡対象人物と対応づけられた人物20の位置とを重みづけ加算した位置としてもよい。
追跡対象人物の動き情報については、更新した位置情報と動きの予測情報との差異に基づいて、動きモデルのパラメータを更新する。例えば等速直線運動を仮定できる人物の場合は、推定位置と更新位置の差分を現在の動きに加算することで、更新することが考えられる。あるいは、カルマンフィルタにより追跡を行っている場合には、既知のカルマンフィルタの更新式に基づいて、位置情報とともに動き情報を更新してもよい。
領域情報の更新については、領域情報が人物の外接矩形である場合には、更新された位置情報に基づいて、矩形を再計算してもよい。このとき、カメラのキャリブレーション情報を用いて、位置の移動だけでなく、見かけの大きさの変化等も考慮して、矩形情報を更新してもよい。
ここで、動画フレーム14から検出された人物20の中には、対応する追跡対象人物が存在しないものもありうる。この人物20については、新たに現れた(カメラ10の撮像範囲に入った)人物かどうかを判定し、新たに現れた人物と判定された場合には、新たな追跡対象人物として追跡情報に追加する。一方で、新たに現れた人物でなければ、追跡情報への追加は行われない。例えば、この人物20の領域が、既存の追跡対象人物の領域と大きく重なっている場合には、誤検知である可能性が高いと判定し、新規追加を行わない。
一方で、追跡対象人物の中には、対応する人物20が存在しないものもありうる。この追跡対象人物については、カメラ10の撮像範囲から外れた人物かどうかを判定し、撮像範囲から外れた人物と判定された場合には、追跡情報から該当人物を除く。例えば、前回の更新時にカメラ10の撮像範囲の縁のあたりで、撮像範囲の外に向かって移動していた追跡対象人物や、前回更新時に出口付近に存在していた追跡対象人物が、どの人物20とも対応付かない場合には、カメラ10の撮像範囲から外れた人物であるといえる。ここで、追跡情報から該当人物を除く代わりに、追跡情報に、該当人物がカメラ10の撮像範囲から外れたことを示す情報を付加する(例えば、除外フラグのビットを1にする)ようにしてもよい。
<ハードウエア構成の例>
実施形態3の情報処理装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図4によって表される。ただし、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の情報処理装置2000の機能を実現するプログラムモジュールがさらに記憶される。
<作用・効果>
本実施形態の情報処理装置2000によれば、追跡対象人物の推定位置の算出や、追跡対象人物と動画フレーム14から検出された人物20との対応付けにおいて、人物の状態が考慮され、人物の推定身長と一時的な高さのうち、いずれか適切な方が用いられる。こうすることで、人物の追跡をより高精度に行えるようになる。
人物の追跡をより高精度に行うことで、その時々における人物の位置を高精度に推定することができる。これにより、従来よりも高精度な動線解析が可能になる。例えば、店舗において、顧客の動線を分析してマーケティングに活用したり、店員の動きを可視化して、作業効率を計測したりする用途で用いることができる。また、倉庫や工場において、作業員がどのように動いているかを可視化し、ワークフローや業務効率の改善の検討に活用できる。
[実施形態4]
実施形態4の情報処理装置2000は、実施形態3の情報処理装置2000と同様に、例えば図11で表される。以下で説明する事項を除き、実施形態4の情報処理装置2000は、実施形態3の情報処理装置2000と同様の機能を有する。
実施形態4の情報処理装置2000では、複数のカメラ10から動画データ12を得ることを前提とする。そのため、以下の特徴を有する。
<検出情報の生成について>
検出部2020は、検出された各人物20がどのカメラ10によって撮像されたものであるかを特定できるように、検出情報を生成する。具体的には、検出情報に、どのカメラ10によって生成された動画フレーム14から検出された情報であるかを示す識別子(カメラ識別子)を設ける。例えば検出部2020は、複数のカメラ10それぞれについて個別の検出情報を生成し、各検出情報にカメラ識別子を対応づける。その他にも例えば、検出部2020は、複数のカメラ10から検出される人物20を全て示した一つの検出情報を生成し、各レコードにどのカメラ10から検出した人物であるかを示すようにしてもよい。
<追跡情報の更新について>
複数のカメラ10それぞれから得た動画フレーム14を得ると、動画フレーム14ごとに、検出される人物20が異なるといえる。ただし、カメラ10の撮像範囲が一部重なっていれば、複数の動画フレーム14から同一の人物20が検出されることもある。
情報処理装置2000は、このように動画フレーム14ごとに検出される人物20が異なることを考慮し、或るカメラ10から得られる動画フレーム14を利用して追跡情報を更新する際に、更新対象の追跡対象人物を、追跡情報に含まれる追跡対象人物の一部に絞り込む。例えば情報処理装置2000が、第1カメラによって生成された動画フレーム14を用いて、追跡情報の更新を行うとする。この場合、位置推定部2120は、追跡情報に示される追跡対象人物のうち、第1カメラの撮像範囲に存在する蓋然性が高い追跡対象人物のみを対象として、推定位置の算出を行う。例えば、位置推定部2120は、予め第1カメラから撮像可能な実空間上の領域を求めておき、各追跡対象人物がその領域に含まれるかどうかを位置情報から判定することにより、第1カメラの撮像範囲に含まれると推定される追跡対象人物を抽出する。そして位置推定部2120は、抽出された追跡対象人物に対してのみ推定位置の算出を行う。
また、更新部2140は、上記抽出された追跡対象人物のみを対象として、動画フレーム14から検出される人物20との対応付け、及び追跡情報の更新を行う。この際、追跡対象人物の中で、第1カメラの撮像範囲に含まれない人物に対しては、第1カメラの撮像範囲に含まれないために追跡情報の更新を行っていないことを表す情報を追跡情報に含めるようにし、後段の処理で用いるようにしてもよい。
<状態の推定について>
カメラ10が複数ある場合、カメラによって人物の状態判定のしやすさが異なることがある。実施形態4の状態推定部2040は、この点を考慮して人物の状態を推定する。例えば、人物がカメラに近い方が、動画フレーム14上での人物領域の大きさ(解像度)が大きくなり、人物の動き等が判定しやすくなる。また、人物の動きを判定する際、カメラの光軸方向の動きに比べ、光軸と垂直な方向に対する動きの方が判定しやすい。このように、カメラと人物の位置関係等によって、人物の状態判定のしやすさ、確からしさが変化する。
そこで状態推定部2040は、複数のカメラ10それぞれから得られる動画フレーム14を利用して各人物20の状態を推定し、その中で最も信頼度が高い状態を利用する。例えば状態推定部2040は、各動画フレーム14について、その動画フレーム14を生成したカメラ10と検出された人物20との距離(近い方が信頼度が高い)や、人物20の動きとカメラ10の光軸とのなす角の関係(垂直に近い方が信頼度が高い)に基づいて、状態推定の信頼度を算出する。そして、信頼度が最も高い動画フレーム14を利用して推定された人物20の状態を、その人物20の状態として利用する。
また、各動画フレーム14について、対象人物が他の人物や障害物によって隠されているかどうかを判定し、状態判定を行うカメラの優先度に反映させてもよい。すなわち、対象人物が他の人物や障害物に隠されていない動画フレーム14を優先的に利用して、その対象人物の状態を推定する。
<推定身長や一時的な高さの補正>
対象人物が複数のカメラ10によって撮像される場合、身長推定部2080は、同一時刻について複数のカメラ10がそれぞれ生成する動画フレーム14を利用して(すなわち、それぞれ異なるカメラ10によって生成される複数の動画フレーム14を利用して)、推定身長の精度を高める。人物の推定身長が実際の身長と異なる場合、その推定身長を用いて実空間上での人物位置を推定しようとすると、カメラの奥行き方向にずれた位置に射影される。例えば、実際の身長よりも推定身長が小さい場合には、カメラパラメータを用いて画像上の座標から実空間上の座標に変換すると、実際の位置よりもカメラから遠くにいるように変換されてしまう。逆に、推定身長の方が大きければ、実際の位置よりも近くにいるように変換される。よって、推定身長と実際の身長にずれがあると、同じ時刻に複数のカメラでそれぞれ位置を求めた場合に、同一人物であるにもかかわらず、カメラごとに異なった位置に人物が投影される。逆に言えば、このように位置がずれている場合に、位置が合うように推定身長を補正することで、推定身長を正しい値に近づけることができる。
具体的には、推定身長に一定値を加算したときに、元の推定身長の場合よりも、カメラ間で求まる実空間上での位置の差が縮まる場合には、推定身長を増加させる。逆に推定身長に一定値を減算したときに、カメラ間で求まる実空間位置の差が縮まる場合には、推定身長を減らすようにする。その結果、カメラ間で位置が十分近くなれば、そのときの推定身長は真値に近いと考えられるため、求まった値を推定身長とする。このように各時点における推定身長の精度が高まれば、各時点における推定身長の統計値として最終的に算出される推定身長の精度も高まる。
なお、人物の一時的な高さについても、同様の方法で補正することができる。
ここで、人物検出の結果に誤検出や未検出が含まれる場合もあるため、一度に推定身長や一時的な高さを大きく変更させずに、時間の経過とともに徐々に変更させて合わせていく方法も考えられる。この場合、徐々に推定身長や一時的な高さが変化するため、なめらかな動線情報を得ることが可能になる。また、突発的に誤った検出結果の影響を大きく受けることなく、高精度な位置推定が可能となる。
なお、複数のカメラから捉えることができる人物であっても、あるカメラから見た時には、他の人物と重なって、人物矩形を高い信頼度で推定できない場合には、そのカメラの情報は、上述の比較に用いないようにする。追跡対象人物同士に重なりが生じるかどうかは、カメラパラメータを用いて追跡対象人物の位置情報を画像上の位置に変換し、各追跡対象人物の画像上での存在領域を推定し、その領域が他の人物の領域と重なるかどうかによって判定できる。
<ハードウエア構成の例>
実施形態4の情報処理装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図4によって表される。ただし、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の情報処理装置2000の機能を実現するプログラムモジュールがさらに記憶される。
<作用・効果>
本実施形態の情報処理装置2000によれば、複数のカメラ10から得られる動画フレーム14を利用して、追跡情報の更新や推定身長の算出などが行われる。よって、人物の追跡や身長の推定などを、より高精度に行うことができる。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態を組み合わせた構成や、上記以外の様々な構成を採用することもできる。

Claims (10)

  1. 動画フレームから人物を検出する検出手段と、
    前記検出の結果を用いて、対象人物の状態を推定する状態推定手段と、
    前記対象人物の状態が所定条件を満たす場合、前記動画フレームにおける前記対象人物の高さに基づいて、前記対象人物の身長を推定し、前記対象人物の状態が前記所定条件を満たさない場合、前記動画フレームにおける前記対象人物の高さに基づいた前記対象人物の身長の推定を実行しない身長推定手段と、
    を有し、
    前記身長推定手段は、
    前記推定された状態が所定条件を満たす複数の動画フレームそれぞれから、前記対象人物の実世界上の高さを算出し、算出された複数の高さを統計処理することで、前記対象人物の推定身長を算出し、
    複数の動画フレームそれぞれから算出した前記対象人物の実世界上の高さに対し、前記対象人物と前記動画フレームを生成するカメラの向きによって定まる俯角、及び前記対象人物の前記動画フレーム上の解像度に基づく重みを付与して、前記統計処理を行う、情報処理システム。
  2. 動画フレームから人物を検出する検出手段と、
    前記検出の結果を用いて、対象人物の状態を推定する状態推定手段と、
    前記対象人物の状態が所定条件を満たす場合、前記動画フレームにおける前記対象人物の高さに基づいて、前記対象人物の身長を推定し、前記対象人物の状態が前記所定条件を満たさない場合、前記動画フレームにおける前記対象人物の高さに基づいた前記対象人物の身長の推定を実行しない身長推定手段と、
    を有し、
    前記身長推定手段は、前記推定された状態が所定条件を満たす複数の動画フレームそれぞれから、前記対象人物の実世界上の高さを算出し、算出された複数の高さを統計処理することで、前記対象人物の推定身長を算出し、
    前記対象人物がとりうる状態は、直立かつ移動の状態、直立かつ静止の状態、及び非直立かつ静止の状態を含み、
    前記状態推定手段は、前記対象人物の股の開き具合か、又は前記対象人物の向きか少なくとも一方をさらに推定し、
    前記統計処理において、前記対象人物の状態が前記直立かつ移動の状態である場合、前記対象人物の股の開き具合が小さいほど、前記対象人物の実世界上の高さに対して大きい重みが付与されるか、又は前記対象人物の向きが前記動画フレームを撮像するカメラの向きと異なる度合が大きいほど、前記対象人物の実世界上の高さに対して大きい重みが付与される、情報処理システム。
  3. 前記状態推定手段は、
    前記対象人物が含まれる複数の動画フレームそれぞれから、前記対象人物の実世界上における高さを算出し、前記算出された高さに基づいて、人物が直立しているか否かを判定する閾値を決定し、
    その後に生成される前記動画フレームについては、前記対象人物について実世界上の高さを算出し、その高さと前記閾値とを比較することで、その動画フレームにおいて前記対象人物が直立しているか否かを判定し、
    前記対象人物が直立している場合に前記所定条件が満たされる、請求項1又は2に記載の情報処理システム。
  4. 動画フレームから人物を検出する検出手段と、
    前記検出の結果を用いて、対象人物の状態を推定する状態推定手段と、
    前記対象人物の状態が所定条件を満たす場合、前記動画フレームにおける前記対象人物の高さに基づいて、前記対象人物の身長を推定し、前記対象人物の状態が前記所定条件を満たさない場合、前記動画フレームにおける前記対象人物の高さに基づいた前記対象人物の身長の推定を実行しない身長推定手段と、
    を有し、
    前記身長推定手段は、前記推定された状態が所定条件を満たす複数の動画フレームそれぞれから、前記対象人物の実世界上の高さを算出し、算出された複数の高さを統計処理することで、前記対象人物の推定身長を算出し、
    前記対象人物がとりうる状態は、直立かつ移動の状態、直立かつ静止の状態、及び非直立かつ静止の状態を含み、
    前記身長推定手段は、前記対象人物の状態を考慮して重みづけを行って身長を推定し、直立移動状態の時を基準にして身長の概算値を算出し、直立移動状態の前後で身長の概算値に近い値で安定している観測値の重みを高くして身長を推定する、情報処理システム。
  5. 前記対象人物がとりうる状態は、直立かつ移動の状態、直立かつ静止の状態、及び非直立かつ静止の状態を含み、
    前記対象人物の状態が前記直立かつ移動の状態又は前記直立かつ静止の状態である場合に前記所定条件が満たされる、請求項1乃至4いずれか一項に記載の情報処理システム。
  6. 前記動画フレームにおける前記対象人物の高さに基づいて、前記対象人物の一時的な高さを推定する一時的高さ推定手段を有する、請求項1乃至5いずれか一項に記載の情報処理システム。
  7. コンピュータによって実行される制御方法であって、
    動画フレームから人物を検出する検出ステップと、
    前記検出の結果を用いて、対象人物の状態を推定する状態推定ステップと、
    前記対象人物の状態が所定条件を満たす場合、前記動画フレームにおける前記対象人物の高さに基づいて、前記対象人物の身長を推定し、前記対象人物の状態が前記所定条件を満たさない場合、前記動画フレームにおける前記対象人物の高さに基づいた前記対象人物の身長の推定を実行しない身長推定ステップと、
    を有し、
    前記身長推定ステップでは、
    前記推定された状態が所定条件を満たす複数の動画フレームそれぞれから、前記対象人物の実世界上の高さを算出し、算出された複数の高さを統計処理することで、前記対象人物の推定身長を算出し、
    複数の動画フレームそれぞれから算出した前記対象人物の実世界上の高さに対し、前記対象人物と前記動画フレームを生成するカメラの向きによって定まる俯角、及び前記対象人物の前記動画フレーム上の解像度に基づく重みを付与して、前記統計処理を行う、制御方法。
  8. コンピュータによって実行される制御方法であって、
    動画フレームから人物を検出する検出ステップと、
    前記検出の結果を用いて、対象人物の状態を推定する状態推定ステップと、
    前記対象人物の状態が所定条件を満たす場合、前記動画フレームにおける前記対象人物の高さに基づいて、前記対象人物の身長を推定し、前記対象人物の状態が前記所定条件を満たさない場合、前記動画フレームにおける前記対象人物の高さに基づいた前記対象人物の身長の推定を実行しない身長推定ステップと、
    を有し、
    前記身長推定ステップでは、前記推定された状態が所定条件を満たす複数の動画フレームそれぞれから、前記対象人物の実世界上の高さを算出し、算出された複数の高さを統計処理することで、前記対象人物の推定身長を算出し、
    前記対象人物がとりうる状態は、直立かつ移動の状態、直立かつ静止の状態、及び非直立かつ静止の状態を含み、
    前記状態推定ステップでは、前記対象人物の股の開き具合か、又は前記対象人物の向きか少なくとも一方をさらに推定し、
    前記統計処理において、前記対象人物の状態が前記直立かつ移動の状態である場合、前記対象人物の股の開き具合が小さいほど、前記対象人物の実世界上の高さに対して大きい重みが付与されるか、又は前記対象人物の向きが前記動画フレームを撮像するカメラの向きと異なる度合が大きいほど、前記対象人物の実世界上の高さに対して大きい重みが付与される、制御方法。
  9. コンピュータによって実行される制御方法であって、
    動画フレームから人物を検出する検出ステップと、
    前記検出の結果を用いて、対象人物の状態を推定する状態推定ステップと、
    前記対象人物の状態が所定条件を満たす場合、前記動画フレームにおける前記対象人物の高さに基づいて、前記対象人物の身長を推定し、前記対象人物の状態が前記所定条件を満たさない場合、前記動画フレームにおける前記対象人物の高さに基づいた前記対象人物の身長の推定を実行しない身長推定ステップと、
    を有し、
    前記身長推定ステップでは、前記推定された状態が所定条件を満たす複数の動画フレームそれぞれから、前記対象人物の実世界上の高さを算出し、算出された複数の高さを統計処理することで、前記対象人物の推定身長を算出し、
    前記対象人物がとりうる状態は、直立かつ移動の状態、直立かつ静止の状態、及び非直立かつ静止の状態を含み、
    前記身長推定ステップでは、前記対象人物の状態を考慮して重みづけを行って身長を推定し、直立移動状態の時を基準にして身長の概算値を算出し、直立移動状態の前後で身長の概算値に近い値で安定している観測値の重みを高くして身長を推定する、制御方法。
  10. 請求項7乃至9いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
JP2019545446A 2017-09-27 2017-09-27 情報処理システム、制御方法、及びプログラム Active JP6969611B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021136281A JP7342919B2 (ja) 2017-09-27 2021-08-24 情報処理システム、制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/034940 WO2019064375A1 (ja) 2017-09-27 2017-09-27 情報処理装置、制御方法、及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021136281A Division JP7342919B2 (ja) 2017-09-27 2021-08-24 情報処理システム、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2019064375A1 JPWO2019064375A1 (ja) 2020-10-15
JP6969611B2 true JP6969611B2 (ja) 2021-11-24

Family

ID=65902431

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019545446A Active JP6969611B2 (ja) 2017-09-27 2017-09-27 情報処理システム、制御方法、及びプログラム
JP2021136281A Active JP7342919B2 (ja) 2017-09-27 2021-08-24 情報処理システム、制御方法、及びプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021136281A Active JP7342919B2 (ja) 2017-09-27 2021-08-24 情報処理システム、制御方法、及びプログラム

Country Status (3)

Country Link
US (3) US11308315B2 (ja)
JP (2) JP6969611B2 (ja)
WO (1) WO2019064375A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7003628B2 (ja) * 2017-12-19 2022-01-20 富士通株式会社 物体追跡プログラム、物体追跡装置、及び物体追跡方法
CN109614848B (zh) * 2018-10-24 2021-07-20 百度在线网络技术(北京)有限公司 人体识别方法、装置、设备及计算机可读存储介质
US11188763B2 (en) * 2019-10-25 2021-11-30 7-Eleven, Inc. Topview object tracking using a sensor array
CN110110787A (zh) * 2019-05-06 2019-08-09 腾讯科技(深圳)有限公司 目标的位置获取方法、装置、计算机设备及存储介质
US20200380252A1 (en) * 2019-05-29 2020-12-03 Walmart Apollo, Llc Systems and methods for detecting egress at an entrance of a retail facility
US20220366716A1 (en) * 2019-06-26 2022-11-17 Nec Corporation Person state detection apparatus, person state detection method, and non-transitory computer readable medium storing program
CN114641794A (zh) 2019-10-31 2022-06-17 日本电气株式会社 图像处理装置、图像处理方法以及存储图像处理程序的非暂时性计算机可读介质
JP6935527B2 (ja) * 2020-02-27 2021-09-15 ソフトバンク株式会社 画像処理装置、プログラム、システム及び画像処理方法
EP4123554A4 (en) * 2020-03-17 2023-04-19 Fujitsu Limited INFORMATION PROCESSING DEVICE, WORK PLAN DETERMINATION METHOD, AND WORK PLAN DETERMINATION PROGRAM
SG10202002677TA (en) * 2020-03-23 2021-10-28 Nec Asia Pacific Pte Ltd A method and an apparatus for estimating an appearance of a first target
JP7487020B2 (ja) 2020-06-18 2024-05-20 清水建設株式会社 工事進捗状況管理システム、工事進捗状況管理方法
US11625859B2 (en) * 2020-07-22 2023-04-11 Motorola Solutions, Inc. Method and system for calibrating a camera and localizing objects within the camera field of view
CN112001948B (zh) * 2020-07-30 2024-06-11 浙江大华技术股份有限公司 一种目标跟踪处理方法及装置
CN112767438B (zh) * 2021-01-05 2022-08-05 北京航空航天大学 结合时空运动的多目标跟踪方法
CN112862864B (zh) * 2021-03-05 2024-07-02 上海有个机器人有限公司 多行人追踪方法、装置、电子设备及存储介质
JP2024006695A (ja) * 2022-07-04 2024-01-17 富士通株式会社 照合プログラム、照合方法および情報処理装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001056853A (ja) 1999-08-19 2001-02-27 Matsushita Electric Ind Co Ltd 挙動検出装置および種類識別装置、並びに挙動検出方法および挙動検出用プログラムが記録された記録媒体
JP2002197463A (ja) 2000-12-26 2002-07-12 Matsushita Electric Ind Co Ltd 挙動検出装置および挙動検出システム
JP4628911B2 (ja) 2005-09-09 2011-02-09 ティーオーエー株式会社 身長測定装置
JP4628910B2 (ja) * 2005-09-09 2011-02-09 ティーオーエー株式会社 長さ測定装置および身長測定装置
JP2010237872A (ja) * 2009-03-30 2010-10-21 Sogo Keibi Hosho Co Ltd 人物領域検出装置、人物領域検出方法、及び人物領域検出プログラム
JP5756709B2 (ja) 2011-08-03 2015-07-29 綜合警備保障株式会社 身長推定装置、身長推定方法、及び身長推定プログラム
JP6428144B2 (ja) * 2014-10-17 2018-11-28 オムロン株式会社 エリア情報推定装置、エリア情報推定方法、および空気調和装置
JP6735583B2 (ja) * 2016-03-17 2020-08-05 キヤノン株式会社 ズーム制御装置、撮像装置及びそれらの制御方法、プログラム並びに記憶媒体

Also Published As

Publication number Publication date
JPWO2019064375A1 (ja) 2020-10-15
US12094149B2 (en) 2024-09-17
US11715227B2 (en) 2023-08-01
US20220198817A1 (en) 2022-06-23
WO2019064375A1 (ja) 2019-04-04
US11308315B2 (en) 2022-04-19
US20230326063A1 (en) 2023-10-12
JP2021182448A (ja) 2021-11-25
US20200285845A1 (en) 2020-09-10
JP7342919B2 (ja) 2023-09-12

Similar Documents

Publication Publication Date Title
JP6969611B2 (ja) 情報処理システム、制御方法、及びプログラム
US11360571B2 (en) Information processing device and method, program and recording medium for identifying a gesture of a person from captured image data
US9251400B2 (en) Learning apparatus, method for controlling learning apparatus, detection apparatus, method for controlling detection apparatus and storage medium
JP2017041022A (ja) 情報処理装置、情報処理方法及びプログラム
JP2011100175A (ja) 人物行動判定装置及びそのプログラム
US12087037B2 (en) Information processing device, information processing method, and program recording medium
JP2016206795A (ja) 実空間情報によって学習する識別器を用いて物体を追跡する装置、プログラム及び方法
JP7409499B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US20240282147A1 (en) Action recognition method, action recognition device, and non-transitory computer readable recording medium
US11182636B2 (en) Method and computing device for adjusting region of interest
JP6851246B2 (ja) 物体検出装置
JP6893812B2 (ja) 物体検出装置
US20220138458A1 (en) Estimation device, estimation system, estimation method and program
JP7422572B2 (ja) 移動物体追跡装置、移動物体追跡方法及び移動物体追跡プログラム
JP7435781B2 (ja) 画像選択装置、画像選択方法、及びプログラム
JPH09322153A (ja) 自動監視装置
KR20230099369A (ko) 객체의 위치 추정을 위한 가려짐 판별과 객체 좌표 보정
JP7302741B2 (ja) 画像選択装置、画像選択方法、およびプログラム
JP7485040B2 (ja) 画像処理装置、画像処理方法、及びプログラム
WO2022249331A1 (ja) 画像処理装置、画像処理方法、およびプログラム
JP7435754B2 (ja) 画像選択装置、画像選択方法、及びプログラム
WO2022249278A1 (ja) 画像処理装置、画像処理方法、およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210514

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210824

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210824

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20210902

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20210907

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210928

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211011

R150 Certificate of patent or registration of utility model

Ref document number: 6969611

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150