JP2021089778A - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP2021089778A
JP2021089778A JP2021038064A JP2021038064A JP2021089778A JP 2021089778 A JP2021089778 A JP 2021089778A JP 2021038064 A JP2021038064 A JP 2021038064A JP 2021038064 A JP2021038064 A JP 2021038064A JP 2021089778 A JP2021089778 A JP 2021089778A
Authority
JP
Japan
Prior art keywords
time point
information
tracking
column
moving
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.)
Granted
Application number
JP2021038064A
Other languages
English (en)
Other versions
JP7115579B2 (ja
Inventor
亮磨 大網
Ryoma Oami
亮磨 大網
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 JP2021089778A publication Critical patent/JP2021089778A/ja
Application granted granted Critical
Publication of JP7115579B2 publication Critical patent/JP7115579B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06V20/53Recognition of crowd images, e.g. recognition of crowd congestion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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
    • 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
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • 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
    • 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/30232Surveillance
    • 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/30241Trajectory

Abstract

【課題】オブジェクトの列に含まれるオブジェクトを精度良く追跡する。【解決手段】情報処理装置は、動画フレームからオブジェクト列を検出し、オブジェクト列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する。情報処理装置は、第1時点の追跡情報を用いて、第1時点のオブジェクト列の振る舞いに関する列振る舞い情報を生成する。情報処理装置は、第1時点の追跡情報及び列振る舞い情報に基づき、第1時点よりも後の第2時点における各追跡対象オブジェクトの推定位置を算出する。情報処理装置は、第2時点の動画フレームから検出される各オブジェクトの位置と、第2時点における各追跡対象オブジェクトの推定位置とに基づいて、追跡情報の更新を行う。【選択図】図2

Description

本発明は画像処理に関する。
行列内の人物を追跡する方式として、例えば特許文献1の技術が知られている。特許文献1では、真下を向くようにカメラを天井に配置し、レジ等の行列ができるエリアを撮影し、カメラによって撮像される各人物が行列内の人物かどうかを判定する方式が開示されている。より具体的には、特許文献1の技術は、行列ができる位置にエリアを設定し、エリア内に存在する人物が行列に含まれるかどうかを行列挙動パターンパラメータによって判定している。
ここで、行列挙動パターンパラメータは、カメラで撮影された人物が行列内の人物かどうかを判定するためのパラメータである。行列挙動パターンパラメータには、微動パラメータ、静止パラメータ、行列最後尾人物からの距離(近接パラメータ)、及び割り込み・離脱判定用の行列線分からの距離(割り込み距離・乖離距離パラメータ)がある。特許文献1の技術は、これらのパラメータを用いて、各人物が行列内の人物かどうかを判定している。
或る人物が設定されたエリア内に入ると、まずその人物の状態は、「行列に並んでいる可能性がある」という状態に設定される。さらに、エリア内でその人物が静止していると、その人物は行列に並んでいると判定される。人物が静止していると判定されるための条件は、その人物の位置が「微動パラメータ」内の範囲に収まっていること、及びその人物が「静止パラメータ」で指定される時間その範囲に留まることである。一旦行列内に含まれる人物が存在するようになると、その最後尾の人物からの近接パラメータ内の人物の状態が、「行列に並んでいる可能性がある」という状態になる。そして、それらの人物について、行列に加わったかどうかの判定が、同様の方法で行われる。
或る人物が行列へ割り込んだか否かの判定は、その人物が、行列に並んでいる人物の位置を結んだ線分にどれだけ近づいたかを基準として行われる。同様に、或る人物が行列から離脱したか否かの判定は、その人物が、行列に並んでいる人物の位置を結んだ線分からどれだけ離れたかを基準として行われる。これらの判定に用いる距離の閾値が、割込距離・乖離距離パラメータである。
特表2008−519567号公報
行列の一部又は全部は、時間と共に移動する。例えばスーパーのレジに並ぶ人の列は、先頭の人の会計が終了すると、全体的に一人分前に移動する。また、行列から人が離脱すると、その人よりも後ろに並んでいた人たちが前に移動する。
この点、特許文献1の技術は、行列全体が止まっていることを前提として上述した各処理を行う。すなわち、行列が移動している状態で人物の追跡を行う技術は、引用文献1に開示されていない。
本発明は、以上の課題に鑑みてなされたものである。本発明の目的の一つは、オブジェクトの列に含まれるオブジェクトを精度良く追跡する技術を提供することである。
本発明の情報処理装置は、1)動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成手段と、2)第1時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第1時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定手段と、3)前記第1時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第1時点よりも後の第2時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出手段と、4)前記第2時点の動画フレームから1つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第2時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新手段と、を有する。
本発明の制御方法は、コンピュータによって実行される制御方法である。当該制御方法は、1)動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成ステップと、2)第1時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第1時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定ステップと、3)前記第1時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第1時点よりも後の第2時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出ステップと、4)前記第2時点の動画フレームから1つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第2時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新ステップと、を有する。
本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
本発明によれば、オブジェクトの列に含まれるオブジェクトを精度良く追跡する技術が提供される。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
実施形態1の情報処理装置の動作の概要を説明するための図である。 実施形態1の情報処理装置の動作の概要を説明するための図である。 実施形態1の情報処理装置の構成を例示する図である。 情報処理装置を実現するための計算機を例示する図である。 実施形態1の情報処理装置によって実行される処理の流れの概略を示すフローチャートである。 S108の処理の具体的な流れを例示するフローチャートである。 形状が直線ではないオブジェクト列を例示する図である。 追跡情報をテーブル形式で例示する図である。 一部移動状態のときのオブジェクト列の振る舞いを例示する図である。 列振る舞い情報が一部移動状態を示す場合において各追跡対象オブジェクトの推定位置を算出する処理の流れを例示する第1の図である。 列振る舞い情報が一部移動状態を示す場合において各追跡対象オブジェクトの推定位置を算出する処理の流れを例示する第2の図である。 第2時点の動画フレームから検出されたオブジェクトと、第2時点における推定位置が算出された追跡対象オブジェクトとの対応付けを例示する図である。 第2時点の動画フレームから検出されたオブジェクトと追跡対象オブジェクトとを対応付ける方法を説明するための図である。 信頼度の高い対応付けを行った後、さらに部分列を分解してから、続きの対応付けを行うケースを例示する図である。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[実施形態1]
<概要>
図1は、実施形態1の情報処理装置(後述する図3における後述する情報処理装置2000)の動作の概要を説明するための図である。以下で説明する情報処理装置2000の動作は、情報処理装置2000の理解を容易にするための例示であり、情報処理装置2000の動作は以下の例に限定されるわけではない。情報処理装置2000の動作の詳細やバリエーションについては後述する。
情報処理装置2000は、カメラ10によって生成された動画データ12からオブジェクト列20を検出する。オブジェクト列20は、オブジェクト22によって構成される列である。図1では、動画フレーム14に含まれるオブジェクト22−1からオブジェクト22−8のうち、オブジェクト22−1からオブジェクト22−4によって、オブジェクト列20が構成されている。動画フレーム14は、動画データ12を構成する時系列の撮像画像の内の1つである。
オブジェクト列20としては、任意のものを扱うことができる。例えばオブジェクト列20は、レジカウンタや券売機などの利用を待つ人の列である。この場合、オブジェクト22は人である。その他にも例えば、オブジェクト列20は、駐車場の利用を待つ車両の列である。この場合、オブジェクト22は車両である。図1において、オブジェクト22は人である。
情報処理装置2000は、オブジェクト列20に含まれるオブジェクト22を追跡対象オブジェクトとして、追跡情報を生成する。追跡情報は、追跡対象オブジェクトに関する種々の情報を含み、少なくとも各追跡対象オブジェクトの位置を示す。
情報処理装置2000は、追跡情報の更新を繰り返し行う。追跡情報の更新は、少なくとも、各追跡対象オブジェクトの位置の更新を含む。情報処理装置2000は、各オブジェクト22の振る舞いに加え、オブジェクト列20の振る舞いを考慮して、追跡情報の更新を行う。
ここで、オブジェクト22の振る舞いとは、オブジェクト22の状態や動きなどによって表される。オブジェクト22の状態とは、例えば、静止している状態や移動している状態などである。オブジェクト22の動きとは、例えば、オブジェクト22が移動している方向や速さなどで表される。
一方、オブジェクト列20の振る舞いとは、オブジェクト列20の状態や動きなどによって表される。オブジェクト列20の状態とは、例えば、オブジェクト列20全体が静止している状態、オブジェクト列20全体が移動している状態、オブジェクト列20の一部が移動している状態などである。オブジェクト列20の動きとは、例えば、オブジェクト列20が移動している方向や速さなどで表される。
情報処理装置2000が、或る第1時点の追跡情報(第1時点においてオブジェクト列20に含まれる追跡対象オブジェクトに関する追跡情報)を、第1時点よりも後の第2時点の追跡情報に更新するとする(図2参照)。この際、情報処理装置2000は、第1時点の追跡情報を用いてオブジェクト列20の振る舞いを推定し、列振る舞い情報を生成する。列振る舞い情報は、オブジェクト列20の振る舞いを示す。さらに情報処理装置2000は、第1時点の追跡情報及び第1時点の列振る舞い情報(第1時点におけるオブジェクト列20について生成された列振る舞い情報)に基づいて、第2時点における各追跡対象オブジェクトの位置を推定する。そして情報処理装置2000は、推定された第2時点における各追跡対象オブジェクトの位置と、第2時点の動画フレーム14(第2時点におけるカメラ10の撮像結果を表す動画フレーム14)から検出された各オブジェクト22の位置とに基づいて、追跡情報の更新を行う。
なお、図2において、第1時点の追跡情報は、第1時点の動画フレーム14から生成したものとして描かれている。しかしながら、第1時点の追跡情報は、過去の追跡情報から更新されたものであってもよい。
<作用・効果>
オブジェクト列20に含まれるオブジェクト22の振る舞いは、オブジェクト列20全体の振る舞いの影響を受ける。例えば、或る時点でオブジェクト22が静止していても、その時点でそのオブジェクト22の前のオブジェクトが前に移動していれば、その直後にそのオブジェクト22も移動し始める蓋然性が高い。同様に、或る時点でオブジェクト22が移動していても、その時点でそのオブジェクト22の前のオブジェクトが静止していれば、その直後にそのオブジェクト22も静止する蓋然性が高い。
そこで本実施形態の情報処理装置2000は、第1時点のオブジェクト列20の振る舞いを考慮した上で、第1時点の追跡情報を更新する。これにより、オブジェクト列20全体の振る舞いによって各オブジェクト22が受ける影響を考慮した上で、追跡情報が更新される。よって、追跡情報の更新、すなわちオブジェクト列20に含まれるオブジェクトの追跡を、より高い精度で行うことができる。
以下、本実施形態の情報処理装置2000についてさらに詳細に説明する。
<情報処理装置2000の機能構成の例>
図3は、実施形態1の情報処理装置2000の構成を例示する図である。情報処理装置2000は、例えば、生成部2020、列振る舞い推定部2040、推定位置算出部2060、及び更新部2080を有する。生成部2020は、動画フレーム14からオブジェクト列20を検出し、オブジェクト列20に含まれる各オブジェクト22を追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する。列振る舞い推定部2040は、第1時点の追跡情報を用いて、第1時点のオブジェクト列20の振る舞いを推定し、列振る舞い情報を生成する。推定位置算出部2060は、第1時点の追跡情報及び第1時点の列振る舞い情報に基づき、第1時点よりも後の第2時点における各追跡対象オブジェクトの推定位置を算出する。更新部2080は、第2時点の動画フレーム14から1つ以上のオブジェクト22を検出し、検出された各オブジェクト22の位置と、第2時点における各追跡対象オブジェクトの推定位置とに基づいて、追跡情報を更新する。
<情報処理装置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、推定位置算出部2060、及び更新部2080)を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
なお、計算機1000は、複数の計算機を利用して実現されてもよい。例えば生成部2020、列振る舞い推定部2040、推定位置算出部2060、及び更新部2080は、それぞれ異なる計算機で実現することができる。この場合、各計算機のストレージデバイスに記憶されるプログラムモジュールは、その計算機で実現される機能構成部に対応するプログラムモジュールだけでもよい。
<カメラ10について>
カメラ10は、繰り返し撮像を行って時系列の動画フレーム14を生成することにより、動画データ12を生成する任意のカメラである。例えばカメラ10は、特定の施設や道路などを監視するために設けられている監視カメラである。
前述したように、情報処理装置2000を実現する計算機1000は、カメラ10であってもよい。この場合、カメラ10は、自身で生成した動画フレーム14を解析することで、追跡情報の生成や更新を行う。このような機能を持たせるカメラ10としては、例えば、インテリジェントカメラ、ネットワークカメラ、又は IP(Internet Protocol)カメラなどと呼ばれるカメラを用いることができる。
なお、情報処理装置2000の全ての機能をカメラ10で実現するのではなく、情報処理装置2000の一部の機能のみがカメラ10で実現されてもよい。例えば、動画フレーム14からオブジェクト22を検出する機能のみをカメラ10で実現し、それ以外の情報処理装置2000の機能をサーバ装置で実現する。この場合、サーバ装置は、カメラ10から、検出されたオブジェクト22の位置や画像特徴などの種々の情報を取得する。
<処理の流れ>
図5は、実施形態1の情報処理装置2000によって実行される処理の流れの概略を示すフローチャートである。情報処理装置2000は、動画フレーム14からオブジェクト列20の検出する(S102)。情報処理装置2000は、検出したオブジェクト列20に含まれるオブジェクト22を追跡対象オブジェクトとして、追跡情報を生成する(S104)。
S106からS110は、所定の終了条件が満たされるまで繰り返し実行されるループ処理Aである。S106において、所定の終了条件が満たされている場合、情報処理装置2000は、図5の処理を終了する。一方、所定の終了条件が満たされていない場合、図5の処理はS108に進む。S108において、情報処理装置2000は、追跡情報の更新を行う。S110はループ処理の終端であるため、図5の処理はS106に進む。以降、所定の終了条件が満たされるまでループ処理Aが繰り返し実行されることで、追跡情報が繰り返し更新される。
上記所定の終了条件は任意である。例えば所定の終了条件は、オブジェクト列20に含まれるオブジェクト22の数が0になること、すなわちオブジェクト列20が無くなることである。この場合、情報処理装置2000は、まだ処理対象となっていない動画フレーム14で構成される動画データ12について、再度図5の処理を最初から実行する。こうすることで、新たに形成されるオブジェクト列20の検出及びそのオブジェクト列20の変化の検出が行われる。
図6は、S108の処理の具体的な流れを例示するフローチャートである。列振る舞い推定部2040は、第1時点の追跡情報を用いて列振る舞い情報を生成する(S108−1)。推定位置算出部2060は、第1時点の追跡情報及び列振る舞い情報に基づき、第2時点における追跡対象オブジェクトの推定位置を算出する(S108−2)。更新部2080は、第2時点における各追跡対象オブジェクトの推定位置と、第2時点の動画フレーム14から検出された各オブジェクト22の位置とに基づいて、第2時点の動画フレーム14から検出されたオブジェクト22を、第1時点の追跡対象オブジェクトと対応づける(S108−3)。更新部2080は、対応付けの結果に基づいて追跡情報を更新する(S108−4)。
なお、図6に示す一連の処理は、ループ処理Aに含まれる処理であるため、繰り返し実行される。そして、繰り返し実行されるループ処理Aにおいて、第1時点はそれぞれ異なる時点となる。例えば、n+1 回目(nは正の整数)のループ処理Aにおける第1時点は、n 回目のループ処理Aにおける第1時点に所定値を加算した時点とする。その他にも例えば、n+1 回目のループ処理Aにおける第1時点は、n 回目のループ処理Aにおける第2時点と同じ時点としてもよい。
同様に、繰り返し実行されるループ処理Aにおいて、第2時点はそれぞれ異なる時点となる。例えば、n+1 回目のループ処理Aにおける第2時点は、n 回目のループ処理Aにおける第2時点に所定値を加算した時点とする。
<動画フレーム14の取得方法>
情報処理装置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の検出:S102>
生成部2020は、動画フレーム14からオブジェクト列20を検出する(S102)。また、その前提として、生成部2020は、動画フレーム14からオブジェクト22を検出する。動画フレーム14からオブジェクト22を検出する方法には、様々な方法を用いることができる。例えば生成部2020は、検出対象のオブジェクトの画像特徴を学習させた検出器を含む。人物をオブジェクト22として扱う場合、検出器には、人の画像特徴を学習させておく。また、車両をオブジェクト22として扱う場合、検出器には、車両の画像特徴を学習させておく。
検出器は、動画フレーム14から、学習済みの画像特徴にマッチする画像領域を、オブジェクトを表す領域(以下、オブジェクト領域)として検出する。検出器には、例えば、HOG(Histograms of Oriented Gradients)特徴に基づいて検出を行うものや、CNN(Convolutional Neural Network)を用いるものが利用できる。なお、検出器は、オブジェクト全体の領域を検出するように学習させたものであってもよいし、オブジェクトの一部の領域(例えば人の頭部など)を検出するように学習させたものであってもよい。
検出器は、検出したオブジェクト22に関する情報(以下、検出情報)を出力する。検出情報は、例えば、各オブジェクト22の位置及び大きさを示す。ここで、検出情報におけるオブジェクト22の位置は、動画フレーム14上の位置(例えば動画フレーム14の左上端を原点とする座標)で表されていてもよいし、実世界座標で表されてもよい。ここで、カメラによって生成された画像に含まれる物体の実世界座標を算出する技術には、既存の技術を利用することができる。例えば、オブジェクト22の実世界座標は、カメラのキャリブレーションによって求まる位置や姿勢を表すパラメータを用いて、動画フレーム14上の位置から算出することができる。
検出情報は、各オブジェクト22の外見の特徴を表す特徴量を含んでいてもよい。特徴量としては、オブジェクトの大きさ、表面の色や模様(人物の場合は服の色や模様)などを記述する特徴量を用いることができる。より具体的には、色ヒストグラムやカラーレイアウト、エッジヒストグラムやガボール特徴などの特徴量を用いることができる。また、検出情報は、オブジェクトの形状を表す特徴量を含んでもよい。オブジェクトの形状を表す特徴量としては、例えば、MPEG-7 で標準化されたシェイプデスクリプタを用いることができる。
生成部2020は、動画フレーム14から検出されたオブジェクト22の列、すなわちオブジェクト列20を検出する。ここで、画像から検出されたオブジェクトによって構成される列を検出する技術には、既存の様々な技術(例えば、特許文献1で開示されている技術)を利用することができる。
なお、オブジェクト列20の形状は、直線であってもよいし、直線でなくてもよい。後者のケースは、オブジェクト列20は、S字に蛇行していたり、途中で折れ曲がっていたりするケースである。図7は、形状が直線ではないオブジェクト列20を例示する図である。このようにオブジェクト列20の形状が直線以外である場合、例えば、オブジェクト列20に沿って行列線30を定義し、その行列線に沿って、オブジェクト列20の状態や移動方向などを定義する。
<追跡情報の生成:S104>
生成部2020は、特定したオブジェクト列20について追跡情報を生成する(S104)。第1時点の追跡情報は、第1時点においてオブジェクト列20に含まれる追跡対象オブジェクトに関する情報を示す。追跡情報は、少なくとも、追跡対象オブジェクトの位置を示す。その他にも例えば、追跡情報は、追跡対象オブジェクトの状態、動き、特徴量、又は領域などを示す。
追跡対象オブジェクトの状態は、例えば、「移動」と「静止」のいずれかを示す。追跡対象オブジェクトの動きは、例えば、動きモデルのパラメータを示す。例えば動きモデルとして等速直線運動の動きモデルが利用される場合、動きモデルのパラメータは、移動方向と速さなどである。追跡対象オブジェクトの特徴量は、例えば、追跡対象オブジェクトの大きさ、色や模様、又は形状などが記述された情報である。追跡対象オブジェクトの領域は、例えば、追跡対象オブジェクトを表す画像領域の外接矩形を定義する情報(例えば、左上端と右下端の座標)で表される。
図8は、追跡情報をテーブル形式で例示する図である。図8のテーブルをテーブル200と表記する。テーブル200は、追跡ID202、位置204、状態206、動き208、特徴量210、及び領域212を示す。追跡ID202は、追跡対象オブジェクトに割り当てられた識別子である。なお、領域212における TL と BR はそれぞれ、左上端(top left)の座標と右下端(bottom right)の座標を表している。
生成部2020によって生成された追跡情報は、記憶領域に記憶される。例えばこの記憶領域は、図4のストレージデバイス1080である。ただし、追跡情報が記憶される記憶領域は、情報処理装置2000の内部に設けられている記憶領域に限定されない。例えば追跡情報は、情報処理装置2000の外部のサーバ装置や NAS(Network Attached Storage)などの記憶領域に記憶されてもよい。この場合、生成部2020は、サーバ装置等に対し、生成した追跡情報を送信する。
<列振る舞い情報の生成:S108−1>
列振る舞い推定部2040は、第1時点の追跡情報を用いて、第1時点の列振る舞い情報を生成する(S108−1)。列振る舞い情報は、オブジェクト列20の振る舞いに関する情報である。
「オブジェクト列20の振る舞い」とは、オブジェクト列20の状態や動きを意味する。オブジェクト列20の状態は、例えば、オブジェクト列20が静止しているのか、それともオブジェクト列20が動いているのかを表す。また、オブジェクト列20の状態は、オブジェクト列20が全体的に動いているのか、それともオブジェクト列20の一部分が動いているのかを表してもよい。
例えば、オブジェクト列20の状態として、静止状態、全体移動状態、及び一部移動状態という3つの状態を定めておく。静止状態は、オブジェクト列20が静止している状態である。全体移動状態は、オブジェクト列20の全体が動いている状態である。一部移動状態は、オブジェクト列20の一部分が動いている状態である。
例えば列振る舞い情報は、オブジェクト列20の状態が、前述した3つの状態のいずれであるかを示す。オブジェクト列20が全体移動状態又は一部移動状態である場合、列振る舞い情報は、オブジェクト列20の動き情報をさらに示してもよい。オブジェクト列20の動き情報は、例えば、オブジェクト列20の速さや方向などを示す。また、オブジェクト列20が一部移動状態である場合、列振る舞い情報は、ブジェクト列20のどの部分が動いているのか、及び動いている各部分についての動き情報を示す。
図9は、一部移動状態のときのオブジェクト列20の振る舞いを例示する図である。図9において、左側がオブジェクト列20の先頭であり、左方向が行列の移動方向である。丸印は、静止しているオブジェクト22を表す。三角印は、移動しているオブジェクト22を表す。
一部移動状態のときには、図9に示すように、一部のオブジェクト22はオブジェクト列20の進行方向に向かって移動しており、それ以外のオブジェクトは静止している。よって、オブジェクト列20の領域が、移動領域(移動しているオブジェクト22の領域)と静止領域(静止してるオブジェクト22の領域)とに分けられる。図9では、実線で囲んだ領域は静止領域を表し、破線で囲んだ領域は移動領域を表す。
列振る舞い情報は、例えば図9の示すようなオブジェクト列20について、オブジェクト列20の状態が一部移動状態であること、各移動領域や静止領域を特定する情報、各移動領域の動き情報などを示す。移動領域を特定する情報は、例えば、その移動領域の位置、又はその移動領域に含まれる各オブジェクト22を特定する情報(オブジェクト22に割り当てた識別子など)などを示す。静止領域を特定する情報は、例えば、その静止領域の位置、又はその静止領域に含まれる各オブジェクト22を特定する情報などを示す。
列振る舞い推定部2040は、追跡情報に示されている各オブジェクト22の状態に基づいて、オブジェクト列20の振る舞いを推定する。以下、より具体的に説明する。
例えば列振る舞い推定部2040は、追跡情報に示される各オブジェクト22の状態がいずれも静止状態であれば、オブジェクト列20の状態が静止状態であると推定する。また、列振る舞い推定部2040は、追跡情報に示される各オブジェクト22の状態がいずれも移動状態であれば、オブジェクト列20の状態が全体移動状態であると推定する。また、列振る舞い推定部2040は、追跡情報に、移動状態のオブジェクト22と静止状態のオブジェクト22のいずれもが示されている場合には、オブジェクト列20の状態が一部移動状態であると推定する。
オブジェクト列20の状態が全体移動状態である場合、列振る舞い推定部2040は、オブジェクト列20の動きを推定し、列振る舞い情報にオブジェクト列20の動き情報を含める。例えば列振る舞い推定部2040は、オブジェクト列20の速さや移動方向を推定する。ここで、オブジェクト列の速さや移動方向を推定する技術には、既存の技術を利用することができる。
オブジェクト列20の状態が一部移動状態である場合、列振る舞い推定部2040は、オブジェクト列20を、オブジェクト22が移動している移動領域と、オブジェクト22が静止している静止領域に区分する。例えば列振る舞い推定部2040は、オブジェクト列20において互いに隣接する複数の動いているオブジェクト22によって構成される領域を、移動領域とする。一方、列振る舞い推定部2040は、オブジェクト列20において互いに隣接する複数の静止しているオブジェクト22によって構成される領域を、静止領域とする。
さらに、列振る舞い推定部2040は、移動領域について、その移動領域の動き情報を生成して、列振る舞い情報に含める。移動領域の動き(速さや移動方向)を推定する技術には、オブジェクト列の速さや移動方向を推定する技術を利用することができる。
ここで、追跡情報に各追跡対象オブジェクトの振る舞いが示されているとする。この場合において、個々の追跡対象オブジェクトの振る舞いが、オブジェクト列20全体の振る舞いと整合しない状況が発生しうる。例えば、前後の追跡対象オブジェクトが静止しているにもかかわらず、その間に位置する追跡対象オブジェクトが動くケースがある。このケースは、例えば、追跡対象オブジェクトの姿勢変動等によって、その追跡対象オブジェクトの位置に小さな変化が生じたことにより、その追跡対象オブジェクトの状態が移動状態と判定されたケースなどである。
このように個々の追跡対象オブジェクトの振る舞いがオブジェクト列20全体の振る舞いと整合しない場合、各追跡対象オブジェクトの振る舞いを互いに独立して考慮してオブジェクト列20の振る舞いを推定すると、オブジェクト列20の振る舞いの推定誤りが生じることがある。例えば、静止状態にあるオブジェクト列20の状態が一部移動状態と推定されたり、一部移動状態にあるオブジェクト列20の状態が全体移動状態と推定されたりする可能性がある。
そこで列振る舞い推定部2040は、追跡情報に示されている追跡対象オブジェクトの振る舞いをそのまま利用するのではなく、周囲の他の追跡対象オブジェクトの振る舞いとの整合性を考慮した上で、各追跡対象オブジェクトの振る舞いを修正してもよい。具体的には、列振る舞い推定部2040は、追跡情報において「移動状態」と示されている追跡対象オブジェクトについて、その追跡対象オブジェクトの一つ前に位置する他の追跡対象オブジェクトの状態と、その追跡対象オブジェクトの一つ後ろに位置する他の追跡対象オブジェクトの状態とがいずれも「静止状態」である場合、その追跡対象オブジェクトの状態を「静止状態」として扱う。同様に、列振る舞い推定部2040は、追跡情報において「静止状態」と示されている追跡対象オブジェクトについて、その追跡対象オブジェクトの一つ前に位置する他の追跡対象オブジェクトの状態と、その追跡対象オブジェクトの一つ後ろに位置する他の追跡対象オブジェクトの状態とがいずれも「移動状態」である場合、その追跡対象オブジェクトの状態を「移動状態」として扱ってもよい。
その他にも例えば、列振る舞い推定部2040は、過去に生成された列振る舞い情報(例えば、第1時点よりも前に生成された直近の列振る舞い情報)を利用して、追跡対象オブジェクトの振る舞いを修正してもよい。例えば、第1時点より前に生成された直近の列振る舞い情報が示すオブジェクト列20の状態が静止状態である場合、第1時点のオブジェクト列20は、全体が静止状態であり続けているか、又は先頭に近い追跡対象オブジェクトが動き出している状態であると考えられる。前者の場合におけるオブジェクト列20の状態は静止状態であり、後者の場合におけるオブジェクト列20の状態は一部移動状態である。
そこで例えば、列振る舞い推定部2040は、直近の列振る舞い情報が静止状態を示す場合、追跡情報において「移動状態」として示されている追跡対象オブジェクトのうち、オブジェクト列20の先頭付近の追跡対象オブジェクトについてのみ移動状態として扱う。言い換えれば、列振る舞い推定部2040は、追跡情報において「移動状態」として示されている追跡対象オブジェクトのうち、オブジェクト列20の先頭付近に位置しない追跡対象オブジェクトについては、静止状態として扱う。
その他にも例えば、直近の列振る舞い情報が示すオブジェクト列20の状態が一部移動状態である場合、その振る舞い情報が示す静止領域の直後に位置する移動状態の追跡対象オブジェクトは、その後に静止する可能性がある。また、移動領域の直後に位置する静止状態の追跡対象オブジェクトは、移動し始める可能性がある。それ以外の追跡対象オブジェクトは、同じ状態を取り続ける蓋然性が高い。
そこで、列振る舞い推定部2040は、直近の列振る舞い情報が一部移動状態を示し、なおかつ、第1時点の追跡情報において、直近の列振る舞い情報が示す静止領域の直後に位置する追跡対象オブジェクトの状態が移動状態を示している場合には、その追跡対象オブジェクトの状態を静止状態として扱う。また、列振る舞い推定部2040は、直近の列振る舞い情報が一部移動状態を示し、なおかつ、第1時点の追跡情報において、直近の振る舞い情報が示す移動領域の直後に位置する追跡対象オブジェクトの状態が静止状態を示している場合には、その追跡対象オブジェクトの状態を移動状態として扱う。
上述のように、追跡情報に示される追跡対象オブジェクトの振る舞いを必ずそのまま用いるのではなく、他の追跡対象オブジェクトの状態や直近の列振る舞い情報を考慮して追跡対象オブジェクトの状態を修正して扱うことにより、個別の追跡対象オブジェクトに関する追跡情報の誤りの影響を排除できる。そのため、オブジェクト列20の振る舞いの推定の精度を向上させることができる。
<追跡対象オブジェクトの推定位置の算出:S108−2>
推定位置算出部2060は、第1時点の追跡情報及び第1時点の列振る舞い情報に基づき、第2時点における各追跡対象オブジェクトの推定位置を算出する(S108−2)。追跡情報に加えて列振る舞い情報を用いることにより、追跡対象オブジェクトの振る舞いがオブジェクト列20全体の振る舞いに合致するように、追跡対象オブジェクトの推定位置が算出される。
以下、推定位置算出部2060が追跡対象オブジェクトの推定位置を算出する方法について、具体的に説明する。
列振る舞い情報が示すオブジェクト列20の状態が静止状態であるとする。この場合、推定位置算出部2060は、第1時点と第2時点における追跡対象の位置に変化がないと推定する。すなわち、推定位置算出部2060は、第1時点の追跡情報によって示される各追跡対象オブジェクトの位置を、第2時点における各追跡対象オブジェクトの推定位置とする。
列振る舞い情報が示すオブジェクト列20の状態が一部移動状態又は全体移動状態である場合、推定位置算出部2060は、第1時点の追跡情報が示す追跡対象オブジェクトの振る舞いに基づいて、第2時点におけるその追跡対象オブジェクトの推定位置を算出する。第1時点における追跡対象オブジェクトの振る舞いは、第1時点の追跡情報に示されている。例えば、第1時点 t1 における追跡対象オブジェクトの位置及び動きがそれぞれ座標 p1 と速度ベクトル v で表されている場合、第2時点 t2 における追跡対象オブジェクトの推定位置 p2 は、以下の数式(1)によって算出される。
Figure 2021089778
なお、第1時点の追跡情報には、第1時点における追跡対象オブジェクトの動きが示されていなくてもよい。例えばこの場合、移動する追跡対象オブジェクトの速さを予め固定値として定義しておき、定義された速さ及び第1時点における追跡対象オブジェクトの位置に基づいて、第2時点における追跡対象オブジェクトの位置が推定される。ここで、追跡対象オブジェクトの移動方向は、例えば、列振る舞い情報が示すオブジェクト列20の移動方向と同じであると仮定する。
列振る舞い情報が一部移動状態を示すとする。この場合、推定位置算出部2060は、静止領域に含まれる追跡対象オブジェクトと、移動領域に含まれる追跡対象オブジェクトとについて、それぞれ異なる方法で第2時点における推定位置を算出する。以下、その方法を具体的に説明する。
基本的な考え方として、静止領域に含まれる追跡対象オブジェクトは、第1時点と第2時点において位置に変化がないと考えられる。また、移動領域に含まれる追跡対象オブジェクトは、第1時点におけるその追跡対象オブジェクトの動きに従って移動すると考えられる。
ただし、静止領域に含まれる追跡対象オブジェクトのうち、移動領域の後ろに位置する追跡対象オブジェクトについては、第1時点において静止していたとしても、その後に移動し始める可能性がある。逆に、移動領域に含まれる追跡対象オブジェクトのうち、静止領域の後ろに位置する追跡対象オブジェクトについては、第1時点において移動していたとしても、その後に静止する可能性がある。
そこで例えば、推定位置算出部2060は、図10及び図11のフローチャートに示す流れで、第2時点における各追跡対象オブジェクトの推定位置を算出する。図10及び図11は、列振る舞い情報が一部移動状態を示す場合において各追跡対象オブジェクトの推定位置を算出する処理の流れを例示する図である。図10及び図11では、追跡対象オブジェクトiについて推定位置を算出している。なお、図10及び図11に示すフローチャートは、第1時点の追跡情報に示される各追跡対象オブジェクトについて行われる。
推定位置算出部2060は、追跡対象オブジェクトiが静止領域に含まれるか否かを判定する(S202)。追跡対象オブジェクトiが静止領域に含まれる場合(S202:YES)、推定位置算出部2060は、追跡対象オブジェクトiが属する静止領域(以下、静止領域 s1)の前方に移動領域が存在するか否かを判定する(S204)。静止領域 s1 の前方に移動領域が存在しない場合(S204:NO)、推定位置算出部2060は、第1時点における追跡対象オブジェクトの位置を、第2時点における追跡対象オブジェクトiの推定位置とする(S206)。
静止領域 s1 の前方に移動領域が存在する場合(S204:YES)、推定位置算出部2060は、追跡対象オブジェクトiが、静止領域 s1 の前方に存在する移動領域(以下、移動領域 m1)の後方の所定範囲に位置するか否かを判定する(S208)。追跡対象オブジェクトiが上記所定範囲に位置しない場合(S208:NO)、推定位置算出部2060は、第1時点における追跡対象オブジェクトの位置を、第2時点における追跡対象オブジェクトiの推定位置とする(S206)。
追跡対象オブジェクトiが上記所定範囲に位置する場合(S208:YES)、推定位置算出部2060は、移動領域 m1 に属する追跡対象オブジェクトの動きに基づいて追跡対象オブジェクトiの動きを推定し、推定した動きに基づいて、第2時点における追跡対象オブジェクトiの推定位置を算出する(S210)。移動領域 m1 に属する追跡対象オブジェクトの動きに基づいて追跡対象オブジェクトiの動きを推定する具体的な方法については後述する。
S202において、追跡対象オブジェクトiが静止領域に含まれないと判定された場合(S202:NO)、すなわち、追跡対象オブジェクトiが移動領域に含まれる場合、推定位置算出部2060は、追跡対象オブジェクトiが属する移動領域(以下、移動領域 m2 )の前方に静止領域が存在するか否かを判定する(S212)。移動領域 m2 の前方に静止領域が存在しない場合(S212:NO)、推定位置算出部2060は、第1時点における追跡対象オブジェクトiの位置及び動きに基づいて、第2時点における追跡対象オブジェクトiの推定位置を算出する(S214)。この算出方法は、例えば前述した数式(1)を利用する方法である。
移動領域 m2 の前方に静止領域が存在する場合(S212:YES)、推定位置算出部2060は、追跡対象オブジェクトiが、移動領域 m2 の前方に存在する静止領域(以下、静止領域 s2)の後方の所定範囲に位置するか否かを判定する(S216)。追跡対象オブジェクトiが上記所定範囲に位置しない場合(S216:NO)、推定位置算出部2060は、第1時点における追跡対象オブジェクトiの位置及び動きに基づいて、第2時点における追跡対象オブジェクトiの推定位置を算出する(S214)。
追跡対象オブジェクトiが上記所定範囲に位置する場合(S216:YES)、推定位置算出部2060は、第1時点の追跡情報が示す追跡対象オブジェクトiの動きに基づいて、第1時点以降の追跡対象オブジェクトiの動きを推定し、推定した動きに基づいて、第2時点における追跡対象オブジェクトiの推定位置を算出する(S218)。ここで、第1時点以降の追跡対象オブジェクトiの動きは、第1時点の追跡情報が示す追跡対象オブジェクトiの動きよりも小さい動きとして推定される。その推定方法の詳細については後述する。
<<S210において追跡対象オブジェクトiの動きを推定する方法>>
前述したように、追跡対象オブジェクトiが、追跡対象オブジェクトiが属する静止領域 s1 の前方に存在する移動領域 m1 の後方の所定範囲に位置する場合(S208:YES)、推定位置算出部2060は、第1時点における追跡対象オブジェクトiの位置及び動きに基づいて、第2時点における追跡対象オブジェクトiの推定位置を算出する(S210)。例えば推定位置算出部2060は、追跡対象オブジェクトiの動きを、移動領域 m1 の最後尾に位置する追跡対象オブジェクトの動きを表すベクトルに基づいて推定する。例えば、推定位置算出部2060は、追跡対象オブジェクトiの動きが、移動領域 m1 の最後尾に位置する追跡対象オブジェクトの速度ベクトル vo に対してパラメータα(0<α≦1)を掛けた αvo で表されると推定する。この場合、推定位置算出部2060は、以下の数式(2)を用いて、第2時点における追跡対象オブジェクトiの推定位置 p2 を算出する。
Figure 2021089778
p1 は、第1時点における追跡対象オブジェクトiの位置を表す。t1 と t2 はそれぞれ、第1時点と第2時点を表す。
ここで、前述した「移動領域 m1 の後方の所定範囲」を定める方法は様々である。例えば、移動領域の後方に位置する追跡対象オブジェクトのうちの先頭から所定個を、「移動領域 m1 の後方の所定範囲」とする。すなわち、移動領域の後方に位置する追跡対象オブジェクトのうち、先頭から所定個の追跡対象オブジェクトが、移動する追跡対象オブジェクトとして扱われる。その他にも例えば、移動領域 m1 の末尾から所定距離に含まれる範囲を、「移動領域 m1 の後方の所定範囲」とする。
なお、追跡対象オブジェクトiの動きの推定に用いられるパラメータαは、全ての追跡対象オブジェクトに共通の値であってもよいし、追跡対象オブジェクトごとに異なる値であってもよい。後者の場合、例えば、追跡対象オブジェクトの位置がより後方になるほど、αの値を小さくする。
<<S218において追跡対象オブジェクトiの動きを推定する方法>>
前述したように、追跡対象オブジェクトiが、追跡対象オブジェクトiが属する移動領域 m2 の前方に存在する静止領域 s2 の後方の所定範囲に位置する場合(S216:YES)、推定位置算出部2060は、第1時点の追跡情報が示す追跡対象オブジェクトiの動きに基づいて、第1時点以降の追跡対象オブジェクトiの動きを推定する。例えば推定位置算出部2060は、第1時点以降の追跡対象オブジェクトiの動きが、第1時点における追跡対象オブジェクトの速度ベクトル vi に対してパラメータβ(0<β≦1)を掛けた βvi で表されると推定する。この場合、推定位置算出部2060は、以下の数式(3)を用いて、第2時点における追跡対象オブジェクトiの推定位置 p2 を算出する。
Figure 2021089778
p1 は、第1時点における追跡対象オブジェクトの位置を表す。t1 と t2 はそれぞれ、第1時点と第2時点を表す。
なお、前述した「静止領域 s2 の後方の所定範囲」は、前述した「移動領域 m1 の後方の所定範囲」と同様の方法で定めることができる。
また、追跡対象オブジェクトiの動きの推定に用いられるパラメータβは、全ての追跡対象オブジェクトに共通の値であってもよいし、追跡対象オブジェクトごとに異なる値であってもよい。後者の場合、例えば、追跡対象オブジェクトの位置がより前方になるほど、βの値を小さくする。
なお、推定位置算出部2060は、第2時点における追跡対象オブジェクトの位置に加え、第2時点における追跡対象オブジェクトの状態及びその尤度、並びに追跡対象オブジェクトの動きを推定してもよい。
<オブジェクト22と追跡対象オブジェクトとの対応付け:S108−3>
更新部2080は、第2時点の動画フレーム14からオブジェクト22の検出を行う。この検出には、前述した生成部2020が有する検出器と同様の検出器を利用できる。検出器は、生成部2020と更新部2080のそれぞれに設けられていてもよいし、これらで共有するように設けられていてもよい。なお、更新部2080が利用する検出器は、オブジェクト列20に含まれると推定されるオブジェクト22に関する検出情報のみを出力するように構成されていてもよい。オブジェクト22がオブジェクト列に含まれるか否かを推定する技術には、既存の技術を利用することができる。
さらに更新部2080は、第2時点の動画フレーム14から検出されたオブジェクト22の位置と、各追跡対象オブジェクトの第2時点における推定位置とに基づいて、第2時点の動画フレーム14から検出されたオブジェクト22と追跡対象オブジェクトとを対応づける(S108−3)。この上述の対応付けは、第2時点の動画フレーム14から検出された各オブジェクト22が、どの追跡対象オブジェクトに相当するのかを特定する処理である。図12は、第2時点の動画フレーム14から検出されたオブジェクト22と、第2時点における推定位置が算出された追跡対象オブジェクトとの対応付けを例示する図である。図12において、互いに両矢印で結ばれているオブジェクト22と追跡対象オブジェクトが、互いに対応付けられたオブジェクト22と追跡対象オブジェクトである。
第2時点の動画フレーム14から検出されたオブジェクト22と、第2時点の推定位置が算出された追跡対象オブジェクトとを対応づける方法は、様々である。例えば更新部2080は、第2時点の推定位置が算出された追跡対象オブジェクトに対し、その推定位置に最も近い位置で検出されたオブジェクト22を対応づける。その他にも例えば、更新部2080は、以下に示す方法で上記対応付けを行ってもよい。
図13は、第2時点の動画フレーム14から検出されたオブジェクト22と追跡対象オブジェクトとを対応付ける方法を説明するための図である。なお、図13における「未検知」とは、追跡対象オブジェクトに対応づけられるべきオブジェクト22が、何らかの原因で動画フレーム14から検出されないこと(例えば画像ノイズが原因でオブジェクトが動画フレーム14から検出されないこと)を意味する。また、「誤検知」とは、実際には存在しないオブジェクトが何らかの原因で検出されたこと(例えば画像ノイズがオブジェクトとして検出されたこと)を意味する。未検知と誤検知の取り扱いについては後述する。
更新部2080は、静止状態の追跡対象オブジェクトについて優先的に対応付けを行い、その後に移動状態の追跡対象オブジェクトについて対応付けを行っている。まず第1のステップで、更新部2080は、アンカーとなる追跡対象オブジェクトについて対応付けを行う。ここで、アンカーとなる追跡対象オブジェクトとは、オブジェクト列20中でほとんど動かず、確実に対応付けられる追跡対象オブジェクトのことである。すなわち、アンカーとなる追跡対象オブジェクトは、静止状態の追跡対象オブジェクトである。アンカーとなる追跡対象オブジェクトには、動画フレーム14から検出されたオブジェクト22のうち、その追跡対象オブジェクトの推定位置と間の距離が閾値以下のものが対応付けられる。図13では、破線の楕円で囲った対応がこれに相当する。
なお、上記対応付けには、列振る舞い情報をさらに用いてもよい。例えば、静止領域に含まれる追跡対象オブジェクトでも、移動領域のすぐ後にある追跡対象オブジェクトについては、アンカーの追跡対象オブジェクトとして扱わないようにしてもよい。
次に、第2のステップで、更新部2080は、アンカーとなる追跡対象オブジェクトの対応付け結果により、オブジェクト列20を分割する。図12の例において、オブジェクト列20は、実線の四角で囲われた2つの部分列に分割されている。更新部2080は、部分列それぞれについて対応付けを行う。すなわち、アンカーの追跡対象オブジェクトの対応付けによって分割される、追跡対象オブジェクトと、動画フレーム14から検出されたオブジェクト22との間で、部分列ごとに対応付けを行う。このときの対応付けの方法としては、例えば、ハンガリアン法を用いることができる。
ハンガリアン法による対応付けの場合には、例えば、部分列内の追跡対象オブジェクトと、動画フレーム14から検出されたオブジェクト22との間で対応付けの尤度を求め、これを単調非増加関数によってコストに変換して用いるようにする。この際の尤度は、例えば、動画フレーム14から検出されたオブジェクト22の外接矩形と、追跡対象オブジェクトの外接矩形の位置や大きさを推定によって調整したものとの重なり度合によって算出することができる。その他にも例えば、動画フレーム14から検出されたオブジェクト22の位置と、追跡対象オブジェクトの推定位置との間の距離を求め、それを単調非増加関数によって尤度に変換するようにしてもよい。この際の距離は画像上での距離であってもよいし、実世界座標上の距離であってもよい。また、尤度を算出する際、追跡対象オブジェクトの状態を考慮してもよい。すなわち、追跡対象オブジェクトが静止状態か移動状態かによって、尤度を求める関数やパラメータを変えるようにしてもよい。これにより、静止状態のときは、より厳しい条件で尤度を求めるようにし、移動状態のときには、より緩い条件で尤度を算出することもできる。特に、移動状態の場合の方が、静止状態の場合に比べて、追跡対象オブジェクトの推定位置と動画フレーム14から検出されるオブジェクトとの位置(実際の位置)との距離に誤差が生じやすいなどといった、状態ごとの特性を尤度に反映させることができる。また、外見特徴の類似度を尤度に反映させてもよい。すなわち、外見特徴が類似しているオブジェクト間ほど、尤度が高くなるように設定してもよい。
あるいは、第2のステップにおける部分列の対応付けにおいて、さらに信頼度の高いと考えられる対応付けを優先してもよい。例えば、移動状態の追跡対象オブジェクトについて、その追跡対象オブジェクトの推定位置とほぼ同一の位置において動画フレーム14からオブジェクト22が検出されている場合には、更新部2080は、その追跡対象オブジェクトとそのオブジェクト22とを対応づけてもよい。また、静止状態ではあるもののアンカーオブジェクトとして選定されなかった追跡対象オブジェクトが、少し緩い基準では動画フレーム14から検出された或るオブジェクト22と対応づけられる場合に、更新部2080は、その追跡対象オブジェクトとオブジェクト22とを対応づけてもよい。この場合、更新部2080は、これらの対応付けの結果によって部分列を分割してから、続きの対応付けを行うようにする。
図14は、第2のステップで、信頼度の高い対応付けを行った後、さらに部分列を分解してから、続きの対応付けを行うケースを例示する図である。図中、破線の楕円で囲った対応付けは、アンカーとして選定されたオブジェクトの対応付けであり、実線の楕円で囲まれた対応付けは、アンカーとしては選定されなかった静止状態の追跡対象オブジェクトについて、信頼度が高いと判定されたために優先的に行われた対応付けである。この対応付けの後、残りのオブジェクトが部分列に分割されている。部分列に対しては、上述の第2のステップのときと同様、ハンガリアン法等で対応付けを行う。
このように、列の特性を考慮して、対応付けの信頼度が高いと考えられるオブジェクトの対応付けを優先することで、対応付けの精度を高めることができる。また、部分列に分割することにより、検討すべき対応付けの場合の数を大幅に減らせるようになり、演算コストの削減にもつながる。
なお、上述のように段階的に行わなくても同様のことが可能である。例えば、全体を一括でハンガリアン法により対応付ける方法を採用する場合において、アンカーとみなせるオブジェクトの対応付けのコストを他の対応付けのコストよりも低く設定すれば、これらを確実に対応付けることができるようになる。よって、対応付けの精度を上げることが可能となる。
<追跡情報の更新:S108−4>
更新部2080は、上記対応付けの結果に基づいて、追跡情報に示される追跡対象オブジェクトの情報を更新する(S108−4)。すなわち、第1時点の追跡情報が、第2時点の追跡情報に更新される。ここで、追跡情報の更新は、第1時点の追跡情報を記憶領域から削除せずに第2時点の追跡情報を記憶領域へ記憶させることで行われてもよいし、第1時点の追跡情報が記憶されている記憶領域を第2時点の追跡情報で上書きすることで行われてもよい。前者の場合、追跡情報の履歴が記憶領域に蓄積されていく。一方、後者の場合、追跡情報の履歴は蓄積されず、常に最新の追跡情報のみが記憶領域に記憶されていることになる。
更新部2080によって更新される追跡情報の内容としては、例えば、追跡対象オブジェクトの位置、特徴量、動き、又は状態などがある。以下、それぞれの情報を更新する方法について説明する。
<<追跡対象オブジェクトの位置の更新>>
更新部2080は、追跡対象オブジェクトに対応づけられたオブジェクト22の位置に基づいて、追跡対象オブジェクトの位置(テーブル200における位置204)を更新する。例えば更新部2080は、追跡情報の位置204を、その追跡対象オブジェクトに対応付けられたオブジェクト22の位置に更新する。その他にも例えば、更新部2080は、その追跡対象オブジェクトの第2時点における推定位置と、その追跡対象オブジェクトに対応付けられたオブジェクト22の位置とを統計処理(例えば重み付け加算)し、追跡情報の位置204を、統計処理の結果得られた位置に更新する。
<<追跡対象オブジェクトの動きの更新>>
更新部2080は、前述した更新後の追跡対象オブジェクトの位置(以下、更新位置)と、推定位置算出部2060によって推定された追跡対象オブジェクトの推定位置との差異に基づいて、追跡対象オブジェクトの動き(テーブル200における動き208)を更新する。こうすることで、推定位置算出部2060による推定にどの程度の誤差があったかを考慮して、追跡対象オブジェクトの動きが補正される。
追跡対象オブジェクトの動き208を更新する方法は様々である。例えば、追跡対象オブジェクトの動きが等速直線運動であると仮定しており、追跡情報の動き208が追跡対象オブジェクトの速度ベクトルを示しているとする。この場合、更新部2080は、推定位置と更新位置との差分ベクトルを第2時点と第1時点の時刻の差分(第2時点と第1時点の時間間隔)で割った値を、第1時点の追跡情報の動き208が示す追跡対象オブジェクトの速度ベクトルに加算することで、追跡情報の動き208を更新する。
その他にも例えば、カルマンフィルタを使って追跡対象オブジェクトの動きが定義されているとする。この場合、追跡情報の動き208は、カルマンフィルタの状態変数に含まれる。更新部2080は、カルマンフィルタの状態変数の更新式に、推定位置と更新位置とを適用することで、カルマンフィルタの状態変数を更新する。ここで、カルマンフィルタの状態変数の更新式には、既知の更新式を利用することができる。
<<追跡対象オブジェクトの状態の更新>>
更新部2080は、追跡対象オブジェクトの状態(テーブル200の状態206)を更新する。例えば更新部2080は、更新した追跡対象オブジェクトの速度の大きさ(速さ)が所定値(例えば0)以下である場合に、その追跡対象オブジェクトの状態206を静止状態に更新する。一方、更新部2080は、更新した追跡対象オブジェクトの速度の大きさが所定値より大きい場合に、その追跡対象オブジェクトの状態206を移動状態に更新する。
<<追跡対象オブジェクトの特徴量の更新>>
更新部2080は、第2時点の動画フレーム14から検出されたオブジェクト22の特徴量に基づいて、そのオブジェクト22と対応づけられた追跡対象オブジェクトの特徴量(テーブル200の特徴量210)を更新する。例えば更新部2080は、オブジェクト22の特徴量と、そのオブジェクト22に対応付けられた追跡対象オブジェクトについて追跡情報の特徴量210が示す特徴量とを統計処理(例えば、重み付け加算)し、その結果として得られた特徴量で、追跡情報が示すその追跡対象オブジェクトの特徴量210を更新する。その他にも例えば、更新部2080は、オブジェクト22に対応付けられた追跡対象オブジェクトについて追跡情報が示す特徴量210を、そのオブジェクト22の特徴量で置き換えてもよい。その他にも例えば、更新部2080は、追跡情報が一つの追跡対象オブジェクトについて複数の特徴量を示す場合(例えば、複数のテンプレートを保持する場合)、追跡情報が示す追跡対象オブジェクトの特徴量210の一つを、その追跡対象オブジェクトに対応づけられたオブジェクト22の特徴量で置き換えてもよい。
<<追跡対象オブジェクトの領域の更新>>
更新部2080は、追跡情報が示す追跡対象オブジェクトの領域(テーブル200の領域212)を更新する。例えば更新部2080は、追跡情報が示す追跡対象オブジェクトの領域212を、追跡対象オブジェクトの位置の変化に応じて移動させることで、追跡情報の領域212を更新する。その他にも例えば、更新部2080は、第2時点の動画フレーム14から検出されたオブジェクト22の領域(例えば外接矩形)で、そのオブジェクト22と対応づけられた追跡対象オブジェクトについて追跡情報が示す領域212を置き換えてもよい。
<<追跡対象オブジェクトの追加や削除など>>
第1時点の追跡情報に示される追跡対象オブジェクトの中に、第2時点の動画フレーム14から検出されるオブジェクト22と対応づけられないものがあったとする(前述した未検知のケース)。これは、追跡対象オブジェクトに対応するオブジェクト22が、何らかの理由で第2時点の動画フレーム14から検出されなかったことを意味する。例えばオブジェクトを俯瞰するようにカメラ10が設置されている場合、カメラ10に近いオブジェクトによって他のオブジェクトが遮蔽されてしまうことがありうる。
このように、第1時点の追跡情報に示される追跡対象オブジェクトの中に、第2時点の動画フレーム14から検出されるオブジェクト22と対応づけられないものがある場合、更新部2080は、追跡情報が示すその追跡対象オブジェクトの位置を、推定位置算出部2060によって算出されたその追跡対象オブジェクトの推定位置で更新する。
また、第2時点の動画フレーム14から検出されたオブジェクト22の中に、追跡対象オブジェクトと対応づけられなかったものが存在するとする。この場合、1)新たにオブジェクト列20に加わるオブジェクト22が検出されたケース(以下、新規加入のケース)と、2)誤ってオブジェクト22ではないものがオブジェクト22として検出されたケース(以下、誤検知のケース)とがある。そこで更新部2080は、第2時点の動画フレーム14から検出されたオブジェクト22の中に、追跡対象オブジェクトと対応づけられないものがある場合には、新規加入のケースと誤検知のケースのいずれであるのかを判定する。新規加入のケースである場合、更新部2080は、上述した、追跡対象オブジェクトと対応づけられていないオブジェクト22を、新たな追跡対象オブジェクトとして、第2時点の追跡情報に加える。一方、誤検知のケースである場合、更新部2080は、上述した、追跡対象オブジェクトと対応づけられていないオブジェクト22を、第2時点の追跡情報に加えない。
新規加入のケースと誤検知のケースとを判別する方法は様々である。例えば更新部2080は、追跡対象オブジェクトに対応づけられていないオブジェクト22を表す第2時点の動画フレーム14の画像領域が、既存の追跡対象オブジェクトの画像領域と大きく重なっている場合には、誤検知のケースであると判定する。その他にも例えば、更新部2080は、オブジェクト列20の構造上、前後のオブジェクト22が過不足なく追跡対象オブジェクトと対応づけられているにも関わらず、その間にいずれの追跡対象オブジェクトとも対応づけられないオブジェクト22が存在する場合には、そのオブジェクト22の画像領域が既存の追跡対象オブジェクトの画像領域と重なるか否かにかかわらず、誤検知のケースと判断してもよい。なお、更新部2080は、誤検知のケースと判定されなかった場合には、新規加入のケースであると判定する。
なお、更新部2080は、動画フレーム14に対して行ったオブジェクト検出の結果から、追跡対象オブジェクトに対応づけられていないオブジェクト22について、オブジェクト列を構成するオブジェクトであるか否かを判定してもよい。この場合、更新部2080は、新規加入のケースであると判定され、なおかつオブジェクト22がオブジェクト列を構成するオブジェクトであると判定された場合に、そのオブジェクト22を新たな追跡対象オブジェクトとして、追跡情報に追加する。一方で、新規加入のケースであると判定されたものの、オブジェクト22がオブジェクト列を構成するオブジェクトではないと判定された場合、更新部2080は、そのオブジェクト22を追跡情報に追加しない。なお、動画フレームから検出される各オブジェクトがオブジェクト列を構成するものであるか否かを判定する技術には、既存の技術を用いることができる。
追跡対象オブジェクトの中には、オブジェクト列20から離脱するオブジェクトも存在しうる。そこで例えば、更新部2080は、オブジェクト列20から離脱した追跡対象オブジェクトを、追跡情報から削除する(第2時点の追跡情報には、離脱した追跡対象オブジェクトを含めないようにする)。追跡対象オブジェクトがオブジェクト列20から離脱したかどうかの判定には、既存の方式を用いることができる。例えば、オブジェクト列20が、先頭からオブジェクトが順次離脱していく列であるとする。この場合、オブジェクト列20の先頭として扱う動画フレーム14の画像領域を予め定めておく。そして、更新部2080は、第1時点においてオブジェクト列20の先頭に位置する追跡対象オブジェクトについて、その追跡対象オブジェクトと対応づけられたオブジェクト22の動画フレーム14における位置が、上述した先頭として扱う画像領域の外である場合、その追跡対象オブジェクトがオブジェクト列20から離脱したと判定する。よって、更新部2080は、この追跡対象オブジェクトを、追跡情報から削除する。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
1. 動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成手段と、
第1時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第1時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定手段と、
前記第1時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第1時点よりも後の第2時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出手段と、
前記第2時点の動画フレームから1つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第2時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新手段と、を有する情報処理装置。
2. 前記更新手段は、前記第2時点における位置が推定された前記追跡対象オブジェクトと、前記第2時点の動画フレームから検出されたオブジェクトとを対応づけることで、その追跡対象オブジェクトに関する前記追跡情報を更新する、1.に記載の情報処理装置。
3. 前記列振る舞い推定手段は、全ての前記追跡対象オブジェクトが静止している静止状態、全ての前記追跡対象オブジェクトが移動している全体移動状態、及び一部の前記追跡対象オブジェクトが移動している一部移動状態の中の1つを前記列の状態として推定し、前記推定した列の状態を示す前記列振る舞い情報を生成する、1.又は2.に記載の情報処理装置。
4. 前記列振る舞い推定手段は、前記列の状態が前記一部移動状態である場合、前記列振る舞い情報に、前記追跡対象オブジェクトが移動している移動領域と、前記追跡対象オブジェクトが静止している静止領域とを互いに識別する情報を含める、3.に記載の情報処理装置。
5. 前記推定位置算出手段は、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトが移動すると推定して、その追跡対象オブジェクトの推定位置を算出する、4.に記載の情報処理装置。
6. 前記推定位置算出手段は、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトの動きの大きさを、その移動領域の動きの大きさ又はその移動領域に含まれる追跡対象オブジェクトの動きの大きさに基づいて推定する、5.に記載の情報処理装置。
7. 前記推定位置算出手段は、前記静止領域の後ろの所定範囲に位置していてなおかつ移動状態である前記追跡対象オブジェクトの動きを、前記追跡情報に示される動きの大きさよりも小さく推定して、その追跡対象オブジェクトの位置を算出する、4.乃至6.いずれか一つに記載の情報処理装置。
8. 前記更新手段は、前記追跡対象オブジェクトのうち、静止状態にある追跡対象オブジェクトについて優先的に対応づけを行う、1.乃至7.いずれか一つに記載の情報処理装置。
9. コンピュータによって実行される制御方法であって、
動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成ステップと、
第1時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第1時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定ステップと、
前記第1時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第1時点よりも後の第2時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出ステップと、
前記第2時点の動画フレームから1つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第2時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新ステップと、を有する制御方法。
10. 前記更新ステップにおいて、前記第2時点における位置が推定された前記追跡対象オブジェクトと、前記第2時点の動画フレームから検出されたオブジェクトとを対応づけることで、その追跡対象オブジェクトに関する前記追跡情報を更新する、9.に記載の制御方法。
11. 前記列振る舞い推定ステップにおいて、全ての前記追跡対象オブジェクトが静止している静止状態、全ての前記追跡対象オブジェクトが移動している全体移動状態、及び一部の前記追跡対象オブジェクトが移動している一部移動状態の中の1つを前記列の状態として推定し、前記推定した列の状態を示す前記列振る舞い情報を生成する、9.又は10.に記載の制御方法。
12. 前記列振る舞い推定ステップにおいて、前記列の状態が前記一部移動状態である場合、前記列振る舞い情報に、前記追跡対象オブジェクトが移動している移動領域と、前記追跡対象オブジェクトが静止している静止領域とを互いに識別する情報を含める、11.に記載の制御方法。
13. 前記推定位置算出ステップにおいて、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトが移動すると推定して、その追跡対象オブジェクトの推定位置を算出する、12.に記載の制御方法。
14. 前記推定位置算出ステップにおいて、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトの動きの大きさを、その移動領域の動きの大きさ又はその移動領域に含まれる追跡対象オブジェクトの動きの大きさに基づいて推定する、13.に記載の制御方法。
15. 前記推定位置算出ステップにおいて、前記静止領域の後ろの所定範囲に位置していてなおかつ移動状態である前記追跡対象オブジェクトの動きを、前記追跡情報に示される動きの大きさよりも小さく推定して、その追跡対象オブジェクトの位置を算出する、12.乃至14.いずれか一つに記載の制御方法。
16. 前記更新ステップにおいて、前記追跡対象オブジェクトのうち、静止状態にある追跡対象オブジェクトについて優先的に対応づけを行う、9.乃至15.いずれか一つに記載の制御方法。
17. 9.乃至16.いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。
この出願は、2017年6月30日に出願された日本出願特願2017−129221号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (10)

  1. 動画フレームに映る列を構成する追跡対象オブジェクトの位置を示す第1時点の追跡情報を用いて、前記第1時点における前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い情報生成手段と、
    前記第1時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第1時点よりも後の第2時点における前記追跡対象オブジェクトの推定位置を算出する推定位置算出手段と、
    を有する情報処理装置。
  2. さらに、前記第2時点の動画フレームから検出された各オブジェクトの位置と、前記第2時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される前記追跡対象オブジェクトの情報を更新する更新手段と、
    を有する請求項1に記載の情報処理装置。
  3. 前記更新手段は、前記第2時点における位置が推定された前記追跡対象オブジェクトと、前記第2時点の動画フレームから検出されたオブジェクトとを対応づけることで、その追跡対象オブジェクトに関する前記追跡情報を更新する、請求項2に記載の情報処理装置。
  4. 前記列振る舞い情報生成手段は、全ての前記追跡対象オブジェクトが静止している静止状態、全ての前記追跡対象オブジェクトが移動している全体移動状態、及び一部の前記追跡対象オブジェクトが移動している一部移動状態の中の1つを前記列の状態として推定し、前記推定した列の状態を示す前記列振る舞い情報を生成する、請求項1乃至3のいずれか一項に記載の情報処理装置。
  5. 前記列振る舞い情報生成手段は、前記列の状態が前記一部移動状態である場合、前記列振る舞い情報に、前記追跡対象オブジェクトが移動している移動領域と、前記追跡対象オブジェクトが静止している静止領域とを互いに識別する情報を含める、請求項4に記載の情報処理装置。
  6. 前記推定位置算出手段は、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトが移動すると推定して、その追跡対象オブジェクトの推定位置を算出する、請求項5に記載の情報処理装置。
  7. 前記推定位置算出手段は、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトの動きの大きさを、その移動領域の動きの大きさ又はその移動領域に含まれる追跡対象オブジェクトの動きの大きさに基づいて推定する、請求項6に記載の情報処理装置。
  8. 前記推定位置算出手段は、前記静止領域の後ろの所定範囲に位置していてなおかつ移動状態である前記追跡対象オブジェクトの動きを、前記追跡情報に示される動きの大きさよりも小さく推定して、その追跡対象オブジェクトの位置を算出する、請求項5乃至7のいずれか一項に記載の情報処理装置。
  9. コンピュータが、
    動画フレームに映る列を構成する追跡対象オブジェクトの位置を示す第1時点の追跡情報を用いて、前記第1時点における前記列の振る舞いに関する列振る舞い情報を生成し、
    前記第1時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第1時点よりも後の第2時点における前記追跡対象オブジェクトの推定位置を算出する、
    情報処理方法。
  10. コンピュータに、
    動画フレームに映る列を構成する追跡対象オブジェクトの位置を示す第1時点の追跡情報を用いて、前記第1時点における前記列の振る舞いに関する列振る舞い情報を生成する処理、
    前記第1時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第1時点よりも後の第2時点における前記追跡対象オブジェクトの推定位置を算出する処理、
    を実行させるためのプログラム。
JP2021038064A 2017-06-30 2021-03-10 情報処理装置、情報処理方法、及びプログラム Active JP7115579B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017129221 2017-06-30
JP2017129221 2017-06-30

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019526680A Division JP6852791B2 (ja) 2017-06-30 2018-05-18 情報処理装置、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2021089778A true JP2021089778A (ja) 2021-06-10
JP7115579B2 JP7115579B2 (ja) 2022-08-09

Family

ID=64742904

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019526680A Active JP6852791B2 (ja) 2017-06-30 2018-05-18 情報処理装置、制御方法、及びプログラム
JP2021038064A Active JP7115579B2 (ja) 2017-06-30 2021-03-10 情報処理装置、情報処理方法、及びプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019526680A Active JP6852791B2 (ja) 2017-06-30 2018-05-18 情報処理装置、制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US11301692B2 (ja)
JP (2) JP6852791B2 (ja)
WO (1) WO2019003709A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11704782B2 (en) * 2018-10-03 2023-07-18 The Toronto-Dominion Bank Computerized image analysis for automatically determining wait times for a queue area
US20220114371A1 (en) * 2020-10-09 2022-04-14 Sensormatic Electronics, LLC Queue monitoring in occlusion conditions through computer vision

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010130383A (ja) * 2008-11-28 2010-06-10 Secom Co Ltd 移動物体追跡装置
WO2017047060A1 (ja) * 2015-09-14 2017-03-23 日本電気株式会社 行列検出システム、方法及び記録媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1807739B1 (en) * 2004-11-02 2014-04-02 Tyco Fire & Security GmbH Line monitoring system and method
JP4826315B2 (ja) * 2006-03-31 2011-11-30 ソニー株式会社 画像処理装置および方法、並びにプログラム
GB201306313D0 (en) * 2013-04-08 2013-05-22 Vision Semantics Ltd Queue analysis
US10740738B2 (en) * 2013-07-29 2020-08-11 Infrared Integrated Systems Ltd. System and method for counting objects in a queue
JP5683663B1 (ja) * 2013-09-27 2015-03-11 パナソニックIpマネジメント株式会社 滞留時間測定装置、滞留時間測定システムおよび滞留時間測定方法
US10339544B2 (en) * 2014-07-02 2019-07-02 WaitTime, LLC Techniques for automatic real-time calculation of user wait times
JP6597611B2 (ja) * 2014-07-25 2019-10-30 日本電気株式会社 画像処理装置、監視システム、画像処理方法、及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010130383A (ja) * 2008-11-28 2010-06-10 Secom Co Ltd 移動物体追跡装置
WO2017047060A1 (ja) * 2015-09-14 2017-03-23 日本電気株式会社 行列検出システム、方法及び記録媒体

Also Published As

Publication number Publication date
JPWO2019003709A1 (ja) 2020-08-06
JP6852791B2 (ja) 2021-03-31
US11301692B2 (en) 2022-04-12
WO2019003709A1 (ja) 2019-01-03
US20200134323A1 (en) 2020-04-30
JP7115579B2 (ja) 2022-08-09

Similar Documents

Publication Publication Date Title
US11450146B2 (en) Gesture recognition method, apparatus, and device
CN107358149B (zh) 一种人体姿态检测方法和装置
US11182592B2 (en) Target object recognition method and apparatus, storage medium, and electronic device
JP7342919B2 (ja) 情報処理システム、制御方法、及びプログラム
US11270108B2 (en) Object tracking method and apparatus
WO2016034008A1 (zh) 一种目标跟踪方法及装置
CN110991261A (zh) 交互行为识别方法、装置、计算机设备和存储介质
JP7192143B2 (ja) オンライン学習を利用した物体追跡のための方法およびシステム
JP7115579B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN111382637A (zh) 行人检测跟踪方法、装置、终端设备及介质
JP6331270B2 (ja) 情報処理システム、情報処理方法及びプログラム
JP2021144741A (ja) 情報処理システム、制御方法、及びプログラム
JP2020109644A (ja) 転倒検出方法、転倒検出装置及び電子機器
US20230410523A1 (en) Information processing apparatus, control method, and program
CN111986229A (zh) 视频目标检测方法、装置及计算机系统
EP3951616A1 (en) Identification information adding device, identification information adding method, and program
JPWO2018179119A1 (ja) 映像解析装置、映像解析方法およびプログラム
CN112446229A (zh) 一种标志杆的像素坐标获取方法及装置
JP2019200527A (ja) 情報処理装置、情報処理方法、およびプログラム
US20220230333A1 (en) Information processing system, information processing method, and program
WO2023063950A1 (en) Training models for object detection
CN115984895A (zh) 手势识别方法及装置、计算机可读存储介质、终端
CN116434156A (zh) 目标检测方法、存储介质、路侧设备及自动驾驶系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220421

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: 20220628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220711

R151 Written notification of patent or utility model registration

Ref document number: 7115579

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151