JP2023081582A - Information processing device, information processing method, and program - Google Patents
Information processing device, information processing method, and program Download PDFInfo
- Publication number
- JP2023081582A JP2023081582A JP2021195407A JP2021195407A JP2023081582A JP 2023081582 A JP2023081582 A JP 2023081582A JP 2021195407 A JP2021195407 A JP 2021195407A JP 2021195407 A JP2021195407 A JP 2021195407A JP 2023081582 A JP2023081582 A JP 2023081582A
- Authority
- JP
- Japan
- Prior art keywords
- imaging
- detection
- prediction
- information processing
- timing
- 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.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
Description
本発明は、対象物を複数の撮像装置で撮像して追尾等する際に適用可能な情報処理技術に関する。 The present invention relates to an information processing technology that can be applied when an object is imaged by a plurality of imaging devices and tracked.
複数の固定カメラで撮像した画像を基に3次元空間における被写体の位置を推定する技術がある。この技術では、同期した複数のカメラで取得した、時間的に連続する複数の画像(以後、フレームと呼ぶ)において、被写体の同一性を判定し、3次元空間上でその被写体の軌跡を推定する。 There is a technique for estimating the position of a subject in a three-dimensional space based on images captured by a plurality of fixed cameras. In this technology, the identity of a subject is determined in multiple temporally consecutive images (hereinafter referred to as frames) captured by multiple synchronized cameras, and the trajectory of that subject in 3D space is estimated. .
特許文献1には、平面上において複数の人物の軌跡を推定する技術が開示されている。特許文献1に記載の技術では、サッカー場等のフィールドを見下ろした俯瞰平面上に多数の粒子を配置し、俯瞰平面上での人物の動きのモデルから次の位置を予測する。そして特許文献1の技術では、その予測した粒子をカメラのフレーム上に射影し、フレームの前景らしい領域に再配置するパーティクルフィルタで、平面上の複数の人物の軌跡を推定する。また、特許文献2には、3次元空間上の人物の位置と顔向きを状態変数として扱い、人物の顔向きの状態に好適な識別器を用いて粒子の再配置を行うパーティクルフィルタにより、人物の軌跡の推定を行う技術が開示されている。
ところで、追尾の対象物が、例えばスポーツ競技の試合中におけるボールなどのように加速度が大きく変化して高速になる物体である場合、その追尾に失敗することがある。このことは、特許文献1や特許文献2に開示された技術でも同様に生じ、追尾の対象物の3次元空間上の位置と軌跡を取得できなくなって、追尾に失敗することがある。これは複数のカメラのフレームレートが、高速で移動する対象物を追尾するのに不十分であったり、各カメラの撮像のタイミングが同期していなかったりして、3次元空間上の位置と軌跡を取得できなくなることなどにより生ずると考えられる。
By the way, when the object to be tracked is an object whose acceleration greatly changes and becomes high speed, such as a ball in a sports game, the tracking may fail. This also occurs in the techniques disclosed in
そこで本発明は、対象物の3次元空間上の位置と軌跡を取得可能にすることを目的とする。 SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to enable acquisition of the position and trajectory of an object in a three-dimensional space.
本発明の情報処理装置は、複数の撮像手段がそれぞれ撮像した画像から所定の対象物を検出する検出手段と、前記撮像手段ごとに、第1の時点で撮像した画像に対する前記対象物の検出結果を基に、前記第1の時点より後の第2の時点における当該対象物の状態を予測する予測手段と、前記撮像手段ごとに、前記予測された対象物の状態を、前記検出手段による検出結果と前記予測手段による予測結果とを基に更新する更新手段と、前記更新された前記対象物の状態と、前記検出手段による検出結果とを基に、前記撮像手段ごとの撮像タイミングを推定する推定手段と、を有することを特徴とする。 The information processing apparatus of the present invention includes detection means for detecting a predetermined target object from images respectively captured by a plurality of imaging means, and a detection result of the target object for the image captured at a first point in time for each of the imaging means. prediction means for predicting the state of the object at a second time point after the first time point based on the detection means for detecting the predicted state of the object for each of the imaging means; estimating an imaging timing for each of the imaging means based on updating means for updating based on the result and the prediction result by the predicting means; and on the basis of the updated state of the object and the detection result of the detecting means. and estimating means.
本発明によれば、対象物の3次元空間上の位置と軌跡を取得可能となる。 According to the present invention, it is possible to acquire the position and trajectory of an object in a three-dimensional space.
以下、本実施形態を、図面を参照しながら説明する。以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。実施形態の構成は、本発明が適用される装置の仕様や各種条件(使用条件、使用環境等)によって適宜修正又は変更され得る。また、後述する各実施形態の一部を適宜組み合わせて構成してもよい。以下の各実施形態において、同一の構成には同じ参照符号を付して説明する。 Hereinafter, this embodiment will be described with reference to the drawings. The following embodiments do not limit the present invention, and not all combinations of features described in the embodiments are essential to the solution of the present invention. The configuration of the embodiment can be appropriately modified or changed according to the specifications of the device to which the present invention is applied and various conditions (use conditions, use environment, etc.). Also, a part of each embodiment described later may be appropriately combined. In each of the following embodiments, the same configurations are given the same reference numerals.
本実施形態では、複数の撮像装置(以下適宜、カメラと記す)で撮像した画像を基に、追尾の対象物の3次元空間上の位置と軌跡を推定し、その対象物の追尾を行う例を挙げて説明する。また本実施形態では、追尾の対象物の一例として、スポーツ競技の試合中における選手やボールなどを挙げる。 In this embodiment, the position and trajectory of an object to be tracked in a three-dimensional space are estimated based on images captured by a plurality of imaging devices (hereinafter referred to as cameras), and the object is tracked. will be described. In this embodiment, examples of tracking targets include players and balls during a sports match.
ここで、追尾の対象物が、例えばボールのように加速度が大きく変化し高速になる物体である場合、観賞用の映像取得を目的とした一般的なフレームレートのカメラによる撮像では追尾に失敗することがある。前述した特許文献1や特許文献2に開示された技術の場合、ある時刻における追尾対象の3次元空間位置から、その次の時刻における3次元空間位置を予測する事前分布の時間ステップ幅は、カメラが撮像するフレームの時間間隔と同一である。すなわち追尾結果の周波数(トラッキングレートとする)は、カメラにおける撮像のための所定の周期、つまりフレームレートと同じである。例えば、秒間30フレーム(30frame-per-second(以後fpsとする))のカメラにおいて、時速50kmで移動する物体を撮像した場合、3次元空間上ではフレームの前後で約0.5mの移動が生じている。この結果、後のフレームの物体検出位置から計算される尤度が、事前分布の予測から大きく外れ、追尾の失敗が起きる可能性がある。一方で、30fps以上で撮像する高速なカメラを用いれば追尾時のトラッキングレートを向上させることは可能であるが、その分、高額なシステムが必要になってしまう。また特許文献1や特許文献2の技術では、撮影システムを構成している複数のカメラがローカルエリアネットワーク(LAN)で互いに接続されている場合、各カメラの撮像タイミングが同期せず、追尾に失敗することがある。
Here, if the object to be tracked is, for example, a ball whose acceleration changes greatly and becomes fast, tracking with a general frame rate camera for the purpose of obtaining images for viewing will fail in tracking. Sometimes. In the case of the techniques disclosed in
そこで本実施形態では、30fps等の汎用的なフレームレートの複数のカメラをLAN等で接続したシステムにおいて、各カメラのフレームレートを超えるトラッキングレートで対象物を追尾可能とするために、以下に説明する情報処理装置を有する。すなわち本実施形態の情報処理装置によれば、汎用的なフレームレートの複数のカメラが同期していなくても、追尾対象物の3次元位置及び軌跡を高精度に推定可能とし、当該対象物の追尾を可能とする。 Therefore, in the present embodiment, in a system in which a plurality of cameras with a general-purpose frame rate such as 30 fps are connected via a LAN or the like, an object can be tracked at a tracking rate exceeding the frame rate of each camera. It has an information processing device that That is, according to the information processing apparatus of the present embodiment, even if multiple cameras with general-purpose frame rates are not synchronized, the three-dimensional position and trajectory of the tracking target can be estimated with high accuracy. Allows tracking.
<第1の実施形態>
以下、第1の実施形態として、競技場や体育館などの3次元空間の周囲に複数台のカメラを配置した撮影システムを例に挙げて説明する。第1の実施形態の情報処理装置は、それら複数台のカメラの撮像タイミングを推定し、カメラのフレームレート以上の時間分解能で、3次元空間中の対象物の追尾を可能としている。
<First Embodiment>
Hereinafter, as a first embodiment, an imaging system in which a plurality of cameras are arranged around a three-dimensional space such as a stadium or a gymnasium will be described as an example. The information processing apparatus of the first embodiment estimates the imaging timings of the plurality of cameras, and enables tracking of an object in a three-dimensional space with a time resolution equal to or higher than the frame rate of the cameras.
ここで、カメラの撮像タイミングとは、複数台のカメラの内、何れか1台のカメラでシャッターレリーズが行われた時刻を基準時刻としたとき、他の複数台のカメラそれぞれのシャッターレリーズが行われた時刻との時刻差(単位は秒)のことである。また本実施形態において、時刻とは連続した時間軸上のある瞬間の一時点のことであり、複数のカメラにおいてそれぞれシャッターレリーズが行われる各時刻は同一時間軸上で表される各時点であるとする。また各カメラのフレームレートが30fpsである場合、複数台のカメラの各撮像タイミングの内、最も大きい撮像タイミングと最も小さい撮像タイミングとの差は1フレームの経過時間(30fpsの場合、約0.033秒)以下である。 Here, the imaging timing of the cameras means that when the time at which the shutter is released in one of the multiple cameras is set as the reference time, the shutter release of each of the other multiple cameras is performed. It is the time difference (in seconds) from the calculated time. In the present embodiment, the time refers to a point in time on a continuous time axis, and each time at which a shutter release is performed in each of a plurality of cameras is each point in time represented on the same time axis. and Also, when the frame rate of each camera is 30 fps, the difference between the largest imaging timing and the smallest imaging timing among the imaging timings of a plurality of cameras is the elapsed time of one frame (in the case of 30 fps, about 0.033 seconds) or less.
本実施形態の情報処理装置は各カメラが撮像した画像から検出した対象物の位置と、3次元空間中における当該対象物の状態とを基に、各カメラの撮像タイミングを推定する。本実施形態において、対象物の状態とは、3次元空間内におけるその対象物の少なくとも位置および速度を含み、また対象物が例えば人物の顔のように向き(顔が向いている方向)が重要になる対象物である場合には位置と速度に向きを含む。そして本実施形態の情報処理装置では、推定した各撮像タイミングの早い順の序列を基に、各カメラを選択(若しくは各カメラの画像を選択)して対象物検出を行い、その検出結果を用いて対象物の3次元空間中の位置を追尾する。これにより、本実施形態の情報処理装置においては、カメラのフレームレート以上の時間分解能で対象物の追尾を実現可能とする。これらの詳細は後述する。なお以下の説明において、画像から検出されて追尾の対象となる対象物を適宜、物体とのみ表記する。 The information processing apparatus of this embodiment estimates the imaging timing of each camera based on the position of the target detected from the image captured by each camera and the state of the target in the three-dimensional space. In this embodiment, the state of the object includes at least the position and speed of the object in the three-dimensional space, and the direction of the object (the direction in which the face is facing) is important, such as the face of a person. In the case of an object that becomes , the orientation is included in the position and velocity. Then, the information processing apparatus of the present embodiment selects each camera (or selects an image of each camera) based on the estimated order of each imaging timing, performs object detection, and uses the detection result. track the position of the object in the three-dimensional space. Accordingly, in the information processing apparatus of the present embodiment, it is possible to track the object with a temporal resolution higher than the frame rate of the camera. Details of these will be described later. In the following description, an object to be tracked that is detected from an image will be referred to as an object as appropriate.
図1(a)は、第1の実施形態の3次元追尾装置200の機能構成を示す図である。ここで、第1の実施形態に係る3次元追尾装置200の説明を行う前に、図2(a)~図2(d)を用いて、本実施形態で想定している撮影システムの一例を説明する。
FIG. 1(a) is a diagram showing the functional configuration of the three-
図2(a)は、複数のカメラ配置100の一例を示した図である。空間101は、複数のカメラの配置およびそれら各カメラによって撮像される3次元空間であり、カメラ102~111が配置されているとする。また図2(a)には、空間101における3次元座標(世界座標)のX軸113x、Y軸114y、Z軸115z、および原点112も示されている。なお、X軸113xとZ軸115zとがなす平面が地面であり、Y軸114yの方向は地面からの高さ方向になり、地面方向が正(つまり地面からの高さの値は負で表される)であるとする。各カメラ102~111は、地面からある程度の高さの空間壁面部分等(不図示)に固定されていて、レンズおよびイメージセンサー等を有し、空間101の地面を含む撮影エリアを撮像可能となるように設置されている。本実施形態において、各カメラ102~111は、空間101内に存在する物体(追尾の対象物)を撮像可能な位置に設置されている。また各カメラ102~111は、それぞれ公知の技術によってカメラキャリブレーションが行われているものとする。
FIG. 2(a) is a diagram showing an example of a plurality of
図2(b)は、ある時刻において空間中に存在する人物等の配置120の一例を示した図である。空間121は、図2(a)の空間101と同じ空間である。図2(b)に例示した空間121内には、追尾対象の物体として、人物122、123、124と、ボール125が存在しているとする。
FIG. 2(b) is a diagram showing an example of an
図2(c)は、カメラ102~111のうち、例えばカメラ104によって図2(b)の空間121内を撮像したときの、1フレーム130の画像131の一例を示した図である。カメラ104で撮像された画像131には、人物132、133、134とボール135が写っている。人物132、133、134は、図2(b)に示した配置120内の人物122、123、124にそれぞれ対応している。同じくボール135は、図2(b)に示した配置120内のボール125に対応している。このフレーム130の座標系は、原点138と、u軸136uおよびv軸137vとにより表されるピクセル座標系とする。なお、適宜正規化した座標系も使用可能である。
FIG. 2C is a diagram showing an example of an
図2(d)は、カメラ102~111のうち、例えばカメラ102によって図2(b)の空間121内を撮像したときの、1フレーム140の画像141の一例を示した図である。カメラ102で撮像された画像141には、人物142、143とボール144が写っている。人物142、143は、図2(b)に示した配置120内の人物122、123にそれぞれ対応している。同じくボール144は、図2(b)に示した配置120内のボール125に対応している。このフレーム140の座標系は、原点145と、u軸146uおよびv軸147vとにより表されるピクセル座標系とする。
ここでは、カメラ102で撮影された図2(c)のフレーム130と、カメラ104で撮像された図2(d)のフレーム140の例を挙げているが、これらカメラ102と104以外の他のカメラでも前述同様に撮像が行われる。
FIG. 2D is a diagram showing an example of an
Here, the example of the
次に図2(a)を参照しつつ、図1(a)に示した第1の実施形態に係る3次元追尾装置200の機能構成について説明する。
本実施形態の3次元追尾装置200は、撮影部220、処理部230、およびモニタリング部240を有する。
撮影部220は、複数の動画取得装置を含んでいる。図1(a)の例の場合、撮影部220は、第1動画取得部201~第K動画取得部202までの、全部でK台の動画取得装置を有する。図2(a)の例では、K台の動画取得装置としてカメラ102~111を例示しており、図1(a)ではそれらを第1動画取得部201~第K動画取得部202として示している。なお、以下の説明において、第1動画取得部201~第K動画取得部202のK台の動画取得部を適宜、カメラと記載する。つまり以降の説明で記載するカメラとは、第1動画取得部201~第K動画取得部202のうちいずれかの動画取得部を表しているとする。撮影部220は、ローカルエリアネットワーク等の通信経路を介して処理部230と接続されているとする。
Next, the functional configuration of the three-
The three-
The photographing
処理部230は、本実施形態の情報処理装置の一適用例である。以下、処理部230の各機能の詳細について、図3等を用いて説明する。
図3(a)は、3次元追尾装置200の処理部230における情報処理の流れを示したフローチャートである。まず、このフローチャートを参照しながら、3次元追尾装置200における処理全体の概要を説明する。
ステップS101において、初期値設定部205は、3次元空間上の追尾対象の物体(人物、ボール)の数、各物体を識別するためのID(識別情報)、対象物(物体)の状態についての初期値を、それぞれ設定する。さらに初期値設定部205は、撮影部220の第1動画取得部201~第K動画取得部202のK台のカメラのそれぞれの撮像タイミングの後述する推定値の初期値を設定する。
The
FIG. 3A is a flowchart showing the flow of information processing in the
In step S101, the initial
ループL101~L111において、処理部230は、時刻に関する繰り返し処理を実行する。具体的には、処理部230は、時刻に関するインデックスtを1からTの順で与える繰り返し処理を実行する。
ループL102~L112において、処理部230は、第1動画取得部201~第K動画取得部202に関する繰り返し処理を実行する。具体的には、処理部230は、カメラに関するインデックスkを1からKの順で与えるような繰り返し処理を実行する。
In loops L101 to L111, the
In loops L102 to L112, the
ステップS102において、動画取得選択部203は、タイミング推定部210が持つ現在の撮像タイミングの後述する推定値を基に、フレームを取得するカメラを、撮影部220の第1動画取得部201~第K動画取得部202の中から選択する。具体的には、動画取得選択部203は、撮像タイミングの最も早いカメラを最初に選択し、以降、撮像タイミングの早い順に順次選択する。換言すると、動画取得選択部203は、現在の撮像タイミングの推定値を基に、K台のカメラでそれぞれ取得される画像のうち、撮像タイミングの最も早いカメラで取得される画像を最初に選択し、以降、撮像タイミングの早い順に順次選択する。
In step S102, the moving image
次にステップS103において、処理部230は、撮影部220が有する動画取得部のうち、前ステップで選択された動画取得部(以下、カメラkとする)が撮像した、現在のフレーム(静止画)を1枚取得する。このカメラkにて撮像された現在のフレームの画像は、検出部204に入力される。
Next, in step S103, the
ステップS104において、検出部204は、前ステップで取得されたフレームに写っている物体を検出する。検出部204は、フレーム内に複数の物体が写っている場合にはそれぞれ物体を検出する。そして検出部204は、フレーム内から検出した複数の物体のそれぞれの位置と、それら複数の物体のそれぞれ尤もらしさに関するスコアとを検出し、それらをカメラで撮像されたフレームから実際に検出された物体の観測値とする。本実施形態の場合、物体は前述したように複数の人物と1つのボールであるため、検出部204は、それらの各位置と各スコアとを、各物体の実際の観測値として取得する。物体(人物およびボール)の各位置とスコアの詳細については後述する。なお、検出部204によって検出された各物体の観測値に対しては、ID対応付け部207により、それぞれを個別に識別するための識別情報が付与される。
In step S104, the
次にループL103~L113において、処理部230は、物体に関する繰り返し処理を実行する。すなわち処理部230は、物体に関するインデックスnを1からNの順で与える繰り返し処理を実行する。なお、インデックスnにおけるNは、ステップS101において物体の数の初期値として取得された値を用いる。本実施形態で例示したサッカーの試合の場合、物体は複数の人物と1つのボールであり、それら複数の人物と1つのボールの各物体に対してインデックスnが1からNの順に与えられる。以下、インデックスnが与えられた物体を、物体nと表記する。
Next, in loops L103 to L113, the
次にステップS105において、予測部206は、現在の時刻をt(t≧1)とした場合、それより過去の時刻t-1で取得した物体nの位置および速度等の状態(物体nの状態)を基に、時刻tにおける物体nの状態の確率分布を予測する処理を行う。例えば、時刻t-1を第1の時点とし、それより後の時刻tを第2の時点とした場合、ステップS105において予測部206は、第1の時点での処理で取得されている物体の状態を基に第2の時点における物体の状態を予測(確率分布を予測)する。ここでの処理の詳細については後述する。
Next, in step S105, when the current time is t (t≧1), the
次に分岐B101において、処理部230は、前ステップでの予測された物体nの状態(位置および速度等)と、後述するFOV重複地図の情報とに基づき、カメラkのFOV内に物体nが存在する確率があるか否かによって処理を分岐させる。処理部230は、カメラkのFOV内に物体nが存在する確率がある場合にはステップS106に処理を進め、一方、物体nが存在しない場合にはステップS108に処理を進める。
Next, in branch B101, the
ステップS106に進むと、予測部206は、現在の時刻t(t≧1)より前の過去の時刻t-1で取得された物体nの位置および速度等の状態に基づいて、時刻tにおいて取得されるべき観測値の確率分布を予測する。すなわち時刻t-1を第1の時点、時刻tを第2の時点とした場合、ステップS106において予測部206は、第1の時点での処理で取得された物体の状態を基に、第2の時点で取得されるべき観測値の確率分布を予測する。ここでの処理の詳細は後述する。
Proceeding to step S106, the
次にステップS107において、ID対応付け部207は、前ステップで予測結果として得られた時刻tのカメラkにおける物体nの観測値の予測確率分布と、ステップS104によるカメラkの実際の観測値とを基に、実際の観測値の尤度を計算する。そして、ID対応付け部207は、その観測値の尤度を基に、3次元空間上の物体nと観測値とを対応付ける。なお、3次元空間上の物体nと観測値との対応付けは、具体的には物体nに付与した識別情報と観測値との対応付けとなされる。このように検出部204による検出結果と予測部206による予測結果は、ID対応付け部207で対応付けがなされた後、更新部208に送れる。
Next, in step S107, the
ステップS108に進むと、更新部208は、ステップS106およびS107の処理で物体nに対応付けられた観測値を用い、時刻tにおける物体nの状態を更新する。すなわち時刻t-1を第1の時点、時刻tを第2の時点とした場合、更新部208は、実際の観測値と予測された物体の状態とを基に、第2の時点における物体nの状態を更新する。すなわち当該更新された物体nの状態は、第3の時点における物体nの状態に相当する。ここでの処理の詳細については後述する。
After proceeding to step S108, the updating
次にステップS109において、可視化部209は、ステップS108で更新された物体nの状態を可視化するための処理を実行する。この可視化処理の結果は、物体の追尾の状況を表しており、それがモニタリング部240に送られて表示される。
次にステップS110において、タイミング推定部210は、ステップS108で更新された物体nの状態と、ステップS104での検出部204による検出結果とを基に、K台のカメラの各々の撮像タイミングを推定する。なお、検出部204による検出結果は、ID対応付け部207での対応付けがなされた後、更新部208を介してタイミング推定部210に送られる。これらの処理の詳細については後述する。
Next, in step S109, the
Next, in step S110, the
次に図3(a)に示すフローチャートに従って、図1(a)に示した3次元追尾装置200の処理部230における情報処理について、より詳細で具体的な内容を説明する。
本実施形態では、追尾対象の物体の3次元空間中の位置、速度、および姿勢を、観測できない隠れ変数とし、カメラで撮像されたフレームの画像から検出された物体の位置とスコアを観測値とする。そして本実施形態では、カメラで撮像された画像から検出された観測値(物体の位置とスコア)を基に、隠れ変数(物体の3次元空間中の位置、速度、および姿勢)を推定するような、状態空間モデルの枠組みを用いる。この状態空間モデルの枠組みにおいて、隠れ変数は、状態変数と呼ばれる確率変数である。本実施形態では、状態変数を平均(1次モーメント)と分散共分散行列(2次モーメント)のみで記述するガウス型の状態空間モデルを用いる。
Next, according to the flowchart shown in FIG. 3(a), more detailed and specific contents of the information processing in the
In this embodiment, the position, velocity, and orientation of the object to be tracked in the three-dimensional space are treated as unobservable hidden variables, and the position and score of the object detected from the image of the frame captured by the camera are treated as observed values. do. In this embodiment, the hidden variables (the position, velocity, and orientation of the object in the three-dimensional space) are estimated based on the observed values (the position and score of the object) detected from the image captured by the camera. using the framework of the state-space model. In the framework of this state-space model, the hidden variables are random variables called state variables. In this embodiment, a Gaussian state space model is used in which state variables are described only by means (first moment) and variance-covariance matrices (second moment).
初期値設定部205は、ステップS101において、K台のカメラの撮像タイミングの推定値の初期値、3次元空間内における追尾対象の物体(人物、ボール)の数、ID(識別情報)、および状態変数の初期値をそれぞれ設定する。ここで、撮像タイミングの推定値の初期値は、厳密な値を与える必要はなく任意の値でよく、例えばランダムな値を用いることができる。ただしここで、各カメラの撮像タイミングの推定値の内、最も大きいものと最も小さいものとの差は、1フレーム分の経過時間(30fpsの場合、0.033秒)以下とする。
In step S101, the initial
一方、追尾対象の物体の数、ID、および状態変数に対する各初期値は、その物体が3次元空間内で唯一の物体か、あるいは複数存在する物体かで、設定するべき値が異なる。3次元空間内で唯一の物体であれば、初期値に厳密性は必要でなく、初期値は適当な値を設定すればよい。これは、当該空間中で唯一の物体であれば、初期値が適当な値であっても、状態空間モデルの更新を重ねるに従い、真値近傍に収束することが期待できるからである。この場合、状態変数の1次モーメントは任意の値、2次モーメントは十分に大きい半正定値行列とすればよい。IDは、各物体を個々に識別するための識別情報であるため、他の種類の物体と被らない1以上の自然数を割り当てるとする。なお、3次元空間内で唯一の物体の具体的な例としては、サッカーの試合におけるボールが挙げられる。 On the other hand, the initial values for the number of objects to be tracked, the IDs, and the state variables are different depending on whether the object is the only object in the three-dimensional space or there are multiple objects. If the object is the only one in the three-dimensional space, the initial value does not need to be strict, and an appropriate initial value may be set. This is because if there is only one object in the space, even if the initial value is an appropriate value, it can be expected to converge near the true value as the state space model is repeatedly updated. In this case, the first moment of the state variables should be an arbitrary value, and the second moment should be a sufficiently large positive semidefinite matrix. Since the ID is identification information for individually identifying each object, it is assumed that a natural number of 1 or more is assigned that does not overlap with objects of other types. A concrete example of a unique object in a three-dimensional space is a ball in a soccer game.
3次元空間内に複数存在する物体の場合、物体の数の初期値は正確に設定する必要がある。また位置に関しても比較的正確に推定し、それを初期値とする必要がある。複数の物体を追尾する場合、それぞれの物体の現在の位置から予測した、次の時刻における位置と、各カメラの画像から検出された物体の位置とを対応付ける、割り当て問題を解く必要がある(これに関しては、ステップS107で詳細に説明する)。このため、各物体の位置の初期値としては、その割り当て問題を解いた結果、正しい割り当てが行える程度の正確さの位置を設定する必要がある。なお、3次元空間内に複数存在する物体の具体的な例は、サッカーの試合における選手等の人物が挙げられる。 In the case of multiple objects existing in the three-dimensional space, the initial value of the number of objects must be set accurately. It is also necessary to estimate the position relatively accurately and use it as an initial value. When tracking multiple objects, it is necessary to solve an assignment problem that associates the position of each object at the next time predicted from the current position of each object with the position of the object detected from the image of each camera (this will be described in detail in step S107). Therefore, as the initial value of the position of each object, it is necessary to set the position with such accuracy that correct assignment can be made as a result of solving the assignment problem. A specific example of a plurality of objects existing in a three-dimensional space is a person such as a player in a soccer match.
ここで、例えばサッカーの試合開始時には、人物同士の重なりが多くないと考えられる。このような場面では、以下のような方法で初期値を決めることで、各人物の数、ID、位置について十分な精度の初期値を設定することができる。 Here, for example, at the start of a soccer match, it is considered that there are not many overlapping persons. In such a scene, by determining the initial values by the following method, it is possible to set the initial values with sufficient accuracy for the number, ID, and position of each person.
これら各物体に関する初期値を設定する際には、まず、人物の顔の高さを地面から1.75m等のように適当に決め、K台の各カメラからその時点のフレームを取得する。そして、後述するステップS104の顔検出処理を各フレームに掛け、ピクセル座標上の検出位置(u,v)を、各カメラのキャリブレーションパラメータを用い3次元空間に射影することにより、3次元空間上の位置を取得する。この時、Y軸上の値は-1.75mで固定し、X軸上とZ軸上の値は(u,v)から推定する。なお、Y軸上の値が-1.75mのように負の値となるのは、図2(a)で説明したようにY軸上で地面方向が正となされるためである。 When setting the initial values for each of these objects, first, the height of the person's face is determined appropriately, such as 1.75 m from the ground, and the frame at that time is acquired from each of the K cameras. Then, each frame is subjected to face detection processing in step S104, which will be described later, and the detection position (u, v) on the pixel coordinates is projected onto the three-dimensional space using the calibration parameters of each camera. Get the position of At this time, the value on the Y axis is fixed at -1.75 m, and the values on the X and Z axes are estimated from (u, v). The reason why the value on the Y-axis is a negative value such as -1.75 m is that the ground direction is positive on the Y-axis as described with reference to FIG. 2(a).
さらに、各カメラから射影した3次元空間上の検出点をクラスタリングし、検出点のクラスタを物体と見做し、その数に応じてIDを与え、その位置を、物体の3次元空間上の位置の初期値とする。物体に関する初期値の設定では、このようにして得たIDを複数存在する各物体のIDとし、また3次元空間上の位置を各物体の位置に対応する状態変数の1次モーメントの値とする。なお本実施形態における状態空間モデルの状態変数は、位置以外の成分も有するが、それらに関してはゼロとすればよい。また2次モーメントは適当な大きさの半正定値行列とすればよい。状態変数の詳細については後述する。 Furthermore, the detection points on the three-dimensional space projected from each camera are clustered, the cluster of detection points is regarded as an object, an ID is given according to the number, and the position is calculated as the position of the object on the three-dimensional space. be the initial value of In setting the initial values for the objects, the ID obtained in this way is used as the ID of each object, and the position in the three-dimensional space is used as the value of the first moment of the state variable corresponding to the position of each object. . Note that the state variables of the state space model in this embodiment have components other than the position, but they may be set to zero. Also, the second-order moment may be a positive semidefinite matrix of an appropriate size. Details of the state variables will be described later.
次にループL101~L111において、処理部230は、時刻に関する繰り返し処理を実行する。また、ループL102~L112において、処理部230は、カメラに関する繰り返し処理を実行する。これらの繰り返し処理に関する詳細な説明は割愛する。
Next, in loops L101 to L111, the
次にステップS102において、動画取得選択部203は、撮像タイミングの推定値に基づいたカメラの選択処理(動画取得部の選択処理)を実行する。本実施形態において、撮像タイミングの推定値は、前述したように、あるカメラを基準とした場合の当該基準カメラと他の各カメラとの撮像時刻の差(単位は秒)である。また撮像タイミングの推定値は、図1のK台の各動画取得部にそれぞれ対応して、後述するステップS110において推定されて更新される。このため、動画取得選択部203は、現在の各カメラの撮像タイミングの推定値に基づき、各カメラに関してループL102~L112の繰り返し処理が行われることで、撮像タイミングの推定値の序列の順にカメラを選択することになる。すなわちループL102~L112において、動画取得選択部203は、インデックスk=1のときには最も小さい撮像タイミングの推定値を持つカメラを選択し、インデックスk=Kのときには最も大きい撮像タイミングの推定値を持つカメラを選択する。撮像タイミングの推定値を求める推定方法等の詳細については、後にステップS110で説明する。
Next, in step S102, the moving image
次のステップS103において、処理部230は、前ステップで選択したカメラkから現時刻のフレームを取得し、当該カメラkから取得した現在時刻のフレームの画像を検出部204に入力する。ここで本実施形態の場合、各カメラは、解像度がいわゆるFull HD(1920×1080ピクセル)、秒間30フレームの速度のスペックを有するカメラを想定する。なお、カメラのスペックはFull HD、秒間30フレームの速度に限定されるものではない。
In the next step S<b>103 , the
ここで、K台の全カメラのシャッタータイミングは、トリガーパルスや同期信号など電気的な信号によって同期されている必要はなく、カメラ内部のマイクロコントローラのクロックによって自律的な周期で撮像するものとする。また、撮影部220と処理部230とは、ローカルエリアネットワーク等の通信経路を介して接続されている。このため、撮影部220で取得されて送信され、処理部230にて受信されたフレームは、ネットワーク経路に存在するスイッチングハブ等中継部のパフォーマンスや帯域の制限等で、遅延やコマ落ちが発生する可能性がある。すなわち本実施形態において、処理部230が取得するフレームは、非同期、コマ落ち発生等が発生するフレームになる可能性がある。なお、撮影部220で撮像されたフレームは、ローカルエリアネットワーク等の通信経路を用いたオンラインで取得されてもよいが、外部記憶装置等に記憶し、そこから取得されてもよい。
Here, the shutter timings of all the K cameras do not need to be synchronized by electrical signals such as trigger pulses and synchronization signals, and images are taken in an autonomous cycle by the clock of the microcontroller inside the cameras. . Also, the
次にステップS104において、検出部204は、前ステップで取得したフレームの画像から物体を検出する処理を行う。本実施形態の場合、検出対象の物体は、人物およびボールとなる。ここで、本実施形態のように物体追尾を行う場合、物体の位置姿勢によらず物体の重心等の所定の位置が検出でき、見えの変化に伴う検出位置のずれが発生しないことが望ましい。そのため公知の物体検出器を利用する場合、物体の位置姿勢の変化によって、フレーム内での物体の外接矩形が大きく異なることになるものより、位置姿勢が変化しても外接矩形がさほど変化しない物体を、追尾対象とするのが望ましい。ゆえに、球体のボールは理想的な形状の物体であると考えられる。また、人物であれば球体に近い頭部を、検出対象の物体として扱うことが望ましい。球体に近い物体を扱うことで、本ステップにおいて、検出部204が検出して出力する物体の検出位置のずれを軽減可能となる。なお、物体の見えや形状の変化によらずに、フレーム内における物体の位置をずれなく検出できる検出器があれば、それを利用してもよい。
Next, in step S104, the
また近年、畳み込みニューラルネットワーク(CNN)を用いた画像認識技術が発展し、高速かつ高精度に複数の画像認識処理を同時実行する技術が研究されている。参考文献1には、物体候補領域を推定する層を物体認識用CNNに組み込み、物体候補領域の検出と複数カテゴリの分類の2つのタスクの認識処理を、150fpsという動作速度で実現する技術が開示されている。本実施形態では、検出器204として、このようなCNNによって実現される高速な物体検出器を利用することができる。
Further, in recent years, image recognition technology using convolutional neural networks (CNN) has been developed, and technology for simultaneously executing a plurality of image recognition processes at high speed and with high accuracy is being researched.
参考文献1:Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi,“You Only Look Once: Unified, Real-Time Object Detection”,CVPR2016 Reference 1: Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi, "You Only Look Once: Unified, Real-Time Object Detection", CVPR2016
またこの検出器は、物体の位置とスコアを出力する。ここで、位置とは、画像のピクセル座標上の位置(u,v)である。またスコア(以後スコアを適宜、qで表す)とは、物体(本実施形態の場合はボールまたは人物の頭部)の尤もらしさ表す[0,1]の正規化された値、つまり尤度である。スコアが1に近いほど、検出された位置(u,v)はその物体らしいことを意味する。すなわち検出部204の出力は(u,v,q)で表され、本実施形態ではこれを観測値と呼んでいる。また検出部204は、参考文献1のように、ピクセル座標上の物体のサイズに合わせたバウンディングボックスを出力するものでもよいが、本実施形態ではバウンディングボックスの中心位置を(u,v)として用いる。
This detector also outputs the position and score of the object. Here, the position is the position (u, v) on the pixel coordinates of the image. Also, the score (hereafter, the score is appropriately represented by q) is a normalized value of [0, 1] representing the likelihood of an object (in this embodiment, the ball or the head of a person), that is, the likelihood be. The closer the score is to 1, the more likely the detected position (u, v) is for that object. That is, the output of the
また一般に、画像から物体を検出する検出器は、物体らしさを検出できる大きさに限界がある。したがって検出部204においても、カメラで撮像された画像に対して、対象物体を検出できる検出範囲に制限がある。
図4(a)は、カメラの画角と検出器の検出範囲によって決まるFOV(Feild of View)を説明する図である。なお、図を簡単にするために、図4の例では、カメラ401の光学中心を含む平面でFOVを表している。図4(a)において、カメラ401の画角402と検出器の検出範囲403とが交わる範囲(図中の網掛部)が、検出器のFOV404となる。すなわちFOV404は、特定の検出範囲と角度を持つような扇形を成す。
Further, generally, a detector for detecting an object from an image has a limit to the size that can detect object-likeness. Therefore, even in the
FIG. 4A is a diagram for explaining FOV (Feild of View) determined by the angle of view of the camera and the detection range of the detector. To simplify the drawing, in the example of FIG. 4, the plane including the optical center of the
図4(b)は、図2(a)に例示した空間101に対し、検出器FOVを重畳して表したFOV重複地図を示す図である。各カメラ102~111は図2(a)の各カメラ102~111に対応している。扇型のFOV411は、カメラ109のフレームを用いた検出器のFOVであり、位置412は3次元空間中における地点aの位置であり、位置413は地点bの位置である。図4(b)のFOV重複地図では、複数のカメラによる扇形の複数のFOVが重複して示され、それらFOVによる重複数が濃淡によって示されている。地点aでは、カメラ109、110、および108の、三つのカメラの検出器FOVが重複している。また、地点bでは、カメラ109、110、108、102、および106の5つのカメラの検出器FOVが重複している。なお図2(a)に示した例では疎なカメラ配置であるため、FOVの重複数が少ない領域も存在し、例えば領域414は1つのカメラ108による検出器FOVでしかカバーされない領域になっている。このようなFOV重複地図を用いることで、物体の配置が得られた場合、各々のカメラでの観測値の数(撮影される物体の数)を得ることができる。
FIG. 4(b) is a diagram showing an FOV overlapping map in which the detector FOV is superimposed on the
図5は、1つのカメラ506のフレームと検出器によって取得される観測値の例を示した図である。
図5(a)には人物配置とFOVの位置関係が示されており、空間501はカメラによって撮像される人物が配置されている3次元空間である。図5(a)においては、人物502、503、および504と、ボール505とが示されている。またFOV507は、カメラ506で取得されたフレームに検出器を適用した場合の検出器FOVである。この図の例では、人物502、503、およびボール505が検出器FOV507の領域内に存在している。
FIG. 5 is a diagram showing an example of observations obtained by one
FIG. 5(a) shows the positional relationship between the placement of a person and the FOV. A
図5(b)は、図5(a)のカメラ506によって取得されるフレーム511の画像と、検出器の出力の一部とを可視化して示した図である。図5(b)では、人物512、513、およびボール514が示されており、人物512は図5(a)に示されている人物502に対応し、同様に人物513は図5(a)の人物503に対応し、さらにボール514は図5(a)のボール505に対応している。また図5(b)では、検出器の出力の一部を可視化して示しており、その可視化例として、それぞれバウンディングボックス515、516、517、518を描画している。
FIG. 5(b) is a visualization of the image of
本実施形態で用いる検出器の出力は、バウンディングボックスの中心(u,v)と幅(h,w)とスコアqであり、矩形515、516、517、518は、(u,v,h,w)で表現されるバウンディングボックスを描画した結果である。バウンディングボックス515、516、517はそれぞれ人物512、人物513、ボール514に対応する。ただし検出器の出力には、誤った検出出力が得られることがある。例えば、検出対象の物体が存在しているのに検出されない場合や、検出対象の物体が存在しないのに検出出力が得られる場合などがある。本実施形態では、検出対象の物体が存在するのに検出されない場合を「未検出」と呼び、検出対象の物体が存在しないのに検出されたとする場合を「過検出」と呼ぶ。図5(b)には、検出対象の物体が存在しないのに存在するとして過検出された場合の例として、バウンディングボックス518が描かれている。また前述のとおり、本実施形態では、検出器の出力(u,v,q)を観測値と呼んでいる。
The output of the detector used in this embodiment is the center (u,v) and width (h,w) of the bounding box and the score q, where the
以上の結果、空間101に存在する物体(複数の人物の頭部と1つのボール)は、1つまたは複数の検出器で検出され、その数は位置によって変動する。カメラのパラメータや検出器スペックによって、FOV重複地図を得ることができるため、通常、各地点でどのカメラ・検出器によって検出されるかを事前に知ることができる。また、物体同士の重なりによる隠蔽の発生や検出器での未検出等により、1つの検出器からも物体を検出したことの検出結果が得られない状況も起こり得る。
As a result, objects (heads of a plurality of persons and a ball) existing in the
次にループL103~L113において、処理部230は、物体に関する繰り返し処理を実行する。すなわち処理部230は、前述したように、複数の物体に関するインデックスnを1からNの順で与える繰り返し処理を実行する。なお、NはステップS101で推定した物体の数(クラスタ数)を用いる。この繰り返し処理に関する詳細な説明は割愛する。
Next, in loops L103 to L113, the
本実施形態では、3次元空間内の位置の推定および物体の追尾を実現するにあたって、前述のとおり各カメラに対応した検出器の出力(u,v,q)を観測値とし、物体の3次元空間上での位置(x,y,z)、下記式の速度PVの6次元を状態変数とする。また、物体のうち、位置姿勢によって画像上の見えが変化し、検出器のスコアqの値が変化する人物頭部では、さらに向き(φ,θ,ψ)を加えた計9次元を状態変数とする状態空間モデルが用いられる。本実施形態では、この状態空間モデルを用い、拡張カルマンフィルタによって状態推定および追尾が行われる。 In this embodiment, when estimating a position in a three-dimensional space and tracking an object, the output (u, v, q) of the detector corresponding to each camera is used as an observed value as described above. Position (x, y, z) in space and six dimensions of velocity PV in the following equation are used as state variables. Among the objects, for the human head whose appearance on the image changes depending on the position and orientation, and the value of the score q of the detector changes, a total of 9 dimensions including orientation (φ, θ, ψ) are used as state variables. A state-space model with In this embodiment, state estimation and tracking are performed by an extended Kalman filter using this state space model.
これにより、本実施形態において、観測値yと、頭部およびボールの状態変数xは、下記の式(1)~式(3)のように記述できる。なお、式(2)は頭部、式(3)はボールの状態変数の式である。 Accordingly, in this embodiment, the observed value y and the state variable x of the head and the ball can be described as the following equations (1) to (3). Note that equation (2) is for the head, and equation (3) is for the state variables of the ball.
なお、(u,v,q)は検出器の出力である観測値、(x,y,z)は物体の3次元空間上での位置、速度PVは上記式のようにx軸,y軸,z軸方向に対応した値である。さらに(φ,θ,ψ)は人物頭部における向きを示す値である。また式(1)~式(3)中の添え字tは時刻、kjはカメラkのフレーム内のj番目の観測値、添え字nはn番目の物体(複数存在する物体のうちのn番目の物体)を表し、Tは転置である。物体に関する添え字nは物体のIDと言い換えることもできる。 Note that (u, v, q) are the observed values that are the outputs of the detector, (x, y, z) are the positions of the object in the three-dimensional space, and the velocity PV is the x-axis and y-axis as shown in the above equation. , are values corresponding to the z-axis direction. Furthermore, (φ, θ, ψ) are values indicating the orientation of the human head. In equations (1) to (3), the subscript t is the time, k j is the j-th observed value in the frame of camera k, and the subscript n is the n-th object (n of multiple existing objects). th object) and T is the transpose. The subscript n for an object can also be called the ID of the object.
さらに後述するステップS107の処理を実行した後では、nとkjの対応付けが行われ、yt,kjはyt,k,n=[ut,k,n,vt,k,n,qt,k,n]Tと対応付けられる。ここで、yt,k,nは物体nのカメラkでの時刻tの観測値を意味する。また時刻t=1の時点では、状態変数xt,nは、前述したステップS101で設定された初期値が割り当てられている。時刻t=1においては、この初期値を、後述する状態変数の初期のフィルタ分布(事後分布)の1次モーメントx0|0,nと、2次モーメントV0|0,nに設定すればよい。 Furthermore, after executing the process of step S107, which will be described later, n and kj are associated, and yt ,kj is yt ,k,n = [ ut,k,n , vt ,k,n , q t,k,n ] T . where y t,k,n means the observed value of object n with camera k at time t. At time t=1, the state variable x t,n is assigned the initial value set in step S101. At time t=1, if this initial value is set to the first moment x 0|0,n and the second moment V 0|0,n of the initial filter distribution (posterior distribution) of the state variables to be described later, good.
次のステップS105において、予測部206は、状態変数の予測分布と観測値の予測分布を取得する処理を行う。
まず、状態変数の予測分布を取得する際に用いるシステム方程式について説明する。本実施形態では、人物の頭部に対するシステム方程式として下記の式(4)を用いる。
In the next step S105, the
First, the system equation used when obtaining the predicted distribution of the state variables will be described. In this embodiment, the following equation (4) is used as the system equation for the human head.
式(4)のΔtは1ステップの時間ステップサイズ(秒)、stはプロセスノイズと呼ばれる白色ガウスノイズであり、stの分散共分散行列をQtとする。このシステム方程式では、位置(x,y,z)に関し、2次のマルコフ過程でモデル化した位置及び速度(PV)のトレンド成分モデルを扱う。また、向き(φ,θ,ψ)は1次のマルコフ過程としてモデル化している。時間ステップサイズΔtには、通常の場合、サンプリング間隔を用いるが、本実施形態ではカメラのフレームレート(fps)とカメラ数(K)の積の逆数(1/(fps×K))を用いる。例えば、カメラ数(K)が10、フレームレートが30fpsの場合、時間ステップサイズΔtは1/300となる。ゆえに、本実施形態の場合、物体追尾の時間分解能は、カメラのフレームレートに対してカメラ数分細かくなる。 In Equation (4), Δt is the time step size (seconds) of one step, s t is white Gaussian noise called process noise, and Q t is the variance-covariance matrix of s t . The system equations deal with position and velocity (PV) trend component models modeled with second order Markov processes for position (x, y, z). Also, the directions (φ, θ, ψ) are modeled as a first-order Markov process. For the time step size Δt, the sampling interval is normally used, but in this embodiment, the reciprocal of the product of the camera frame rate (fps) and the number of cameras (K) (1/(fps×K)) is used. For example, when the number of cameras (K) is 10 and the frame rate is 30 fps, the time step size Δt is 1/300. Therefore, in the case of this embodiment, the time resolution of object tracking is as fine as the number of cameras with respect to the camera frame rate.
また本実施形態において、サッカーで用いるボールは球体であり、その位置姿勢が変化しても形状の見えの違いは少ないため、当該ボールのシステム方程式としては、位置と速度のみでモデル化した下記の式(5)を用いる。 Further, in this embodiment, the ball used in soccer is a sphere, and even if the position and orientation of the ball changes, the appearance of the shape does not change much. Equation (5) is used.
式(5)のΔtは1ステップの時間幅(秒)、stはプロセスノイズ(白色ガウスノイズ)で、stの分散共分散行列をQtとする。 In Equation (5), Δt is the time width (seconds) of one step, s t is process noise (white Gaussian noise), and Q t is the variance-covariance matrix of s t .
次に、検出器の出力である観測値の予測分布の取得に際して用いる観測方程式について説明する。
3次元空間上の点は、予めキャリブレーションにより取得したカメラパラメータを用いることで、カメラのピクセル座標上に射影できる。この射影は、下式の式(6)で記述される。
Next, an observation equation used when obtaining a predicted distribution of observed values, which is the output of the detector, will be described.
A point in the three-dimensional space can be projected onto the pixel coordinates of the camera by using camera parameters obtained by calibration in advance. This projection is described by equation (6) below.
式(6)のpxx,kはカメラkの透視投影行列の各要素であり、これらの要素はカメラキャリブレーションによって予め取得される。γは、同次座標系のパラメータである。
この射影に基づき、観測値の内の位置(u,v)の観測方程式は、下記の式(7)、式(8)で記述される。本実施形態では、人物頭部とボールとで共通して、式(7)、式(8)によって観測をモデル化する。
p xx,k in equation (6) are each element of the perspective projection matrix of camera k, and these elements are obtained in advance by camera calibration. γ is a parameter of the homogeneous coordinate system.
Based on this projection, the observation equation for the position (u, v) in the observed value is described by Equations (7) and (8) below. In the present embodiment, observations are modeled by equations (7) and (8) in common for the human head and the ball.
これら式(7)と式(8)は、3次元空間上の位置(x,y,z)がピクセル座標(u,v)として観測される過程をモデル化した式である。本実施形態における複数カメラを有する撮影システムは前述のとおり、各カメラが非同期であり、またコマ落ちが発生することがある。この非同期性に伴う検出位置のズレは、撮像タイミングを推定しその順番で更新する本実施形態の処理によって抑制可能となる。ただし、予測の際の時間ステップ幅Δtには量子化した一定値が用いられるため、物体の3次元空間上の位置と、カメラのフレームのピクセル座標上の物体の位置とには多少のずれが発生する可能性が十分にある。さらに、物体検出器の利用に伴う検出位置の位置ずれ、カメラキャリブレーションの誤差に伴う位置ずれが発生することもある。これらの要因により、3次元空間上の物体は、検出器においてその位置に誤差を含んで観測されると考えられる。式(7)と式(8)では、その誤差を観測ノイズとしてモデル化している。 These equations (7) and (8) are equations that model the process in which a position (x, y, z) in a three-dimensional space is observed as pixel coordinates (u, v). As described above, in the photographing system having a plurality of cameras in this embodiment, each camera is asynchronous, and frame dropping may occur. The deviation of the detection position due to this asynchronism can be suppressed by the processing of this embodiment, in which the imaging timing is estimated and updated in that order. However, since a quantized constant value is used for the time step width Δt in the prediction, there is some deviation between the position of the object in the three-dimensional space and the position of the object in the pixel coordinates of the camera frame. It is quite possible that it will occur. Furthermore, positional deviation of the detection position due to the use of the object detector and positional deviation due to camera calibration error may occur. Due to these factors, an object in the three-dimensional space is considered to be observed with an error in its position on the detector. Equations (7) and (8) model the error as observation noise.
また本実施形態において、スコアqの観測方程式は、人物の頭部とボールとで別のモデルを用いるとする。まず、頭部の観測方程式は下記の式(9)とする。 In this embodiment, the observation equation for the score q uses different models for the human head and the ball. First, let the observation equation of the head be the following equation (9).
qt,kj=α0+α1||xt,n-Ck||2+α2cos(θx)+α3cos(θy)+α4cos(θz)+wt,q 式(9) q t,kj =α 0 +α 1 ||x t,n −C k || 2 +α 2 cos(θ x )+α 3 cos(θ y )+α 4 cos(θ z )+w t, q formula (9)
式(9)のCkはカメラkの3次元空間上のカメラ位置、||・||2はユークリッドノルム、α0、α1、α2、α3、α4はモデルパラメータ、wtは観測ノイズと呼ばれる白色ガウスノイズである。θx、θy、θzはカメラの外部パラメータの回転行列をR、人体の向き(φ,θ,ψ)から得られる回転行列をRoとしたときの式(10)の行列の要素を用いて表現できる。すなわちθx=asin(r32)、θy=atan(-r31/r33)、θz=atan(r21/r11)と表現できる。 In equation ( 9), C k is the camera position of camera k in the three-dimensional space, ||· || It is white Gaussian noise called observation noise. θ x , θ y , and θ z are the elements of the matrix of formula (10) where R is the rotation matrix of the external parameters of the camera, and Ro is the rotation matrix obtained from the orientation of the human body (φ, θ, ψ). can be expressed as That is, it can be expressed as θ x =asin(r 32 ), θ y =atan(−r 31 /r 33 ), θ z =atan(r 21 /r 11 ).
また式(9)は、観測値の内の検出器のスコアに関する観測過程をモデル化した重回帰モデルである。検出器は一般に、撮像された物体の大きさおよび向きに相関してスコアを変化させる。カメラで撮像した物体の大きさは、通常、カメラからの距離に相関するが、学習データの偏りが無いと仮定すると、一般に物体が大きい場合(カメラから近い場合)テクスチャ等の画像特徴量がロバストに取得されスコアも高くなる。逆に、物体が小さい場合(カメラから遠い場合)、テクスチャが潰れ画像特徴量が安定して取得できずスコアも低くなる傾向がある。また特に、人物の場合、カメラに対して正面を向いていると、目、鼻、口などの人物の識別に際して重要な器官(パーツ)の見え方が安定するため、スコアが高くなる傾向がある。逆に、カメラに対して背面を向いていると、識別の手掛かりとなるパーツが少なくなり、スコアが低くなる傾向がある。 Equation (9) is a multiple regression model that models the observation process regarding the score of the detector in the observed values. Detectors generally vary the score in relation to the size and orientation of the imaged object. The size of an object captured by a camera usually correlates with the distance from the camera, but assuming that there is no bias in the training data, image features such as texture are generally robust when the object is large (when it is close to the camera). and the score will be higher. Conversely, when the object is small (far from the camera), the texture tends to be distorted and the image feature quantity cannot be obtained stably, resulting in a low score. In particular, in the case of a person, when the camera is facing the front, the appearance of important organs (parts) such as the eyes, nose, and mouth is stable, so the score tends to be higher. . Conversely, when the back is facing the camera, there are fewer parts that can be used as identification clues, and the score tends to be lower.
また式(9)の第1項は定数項、第2項は物体からカメラまでの距離とスコアの関係を線形モデルでモデル化した項、第3、第4、第5項はカメラから見える人体の向きとスコアの関係をコサイン関数でモデル化した項で、第6項はノイズ項である。 In equation (9), the first term is a constant term, the second term is a term that models the relationship between the distance from the object to the camera and the score using a linear model, and the third, fourth, and fifth terms are the human body seen from the camera. , and the sixth term is a noise term.
一方で、ボールの観測方程式は下記の式(11)とする。 On the other hand, the ball observation equation is the following equation (11).
qt,kj=α0+α1||xt,n-Ck||2+wt,q 式(11) q t,kj =α 0 +α 1 ||x t,n -C k || 2 +w t,q formula (11)
ボールは球体を想定しており、回転に対する形状の不変性を有するため、位置姿勢により形状の見え方の変化が少ない。そのため、スコアqの観測方程式は、カメラから物体までの距離のみを説明変数とした線形回帰モデルとしている。 The ball is supposed to be a sphere, and since it has invariance to rotation, the appearance of the shape does not change much depending on the position and orientation. Therefore, the observation equation for the score q is a linear regression model with only the distance from the camera to the object as an explanatory variable.
式(9)、式(11)のモデルパラメータα0、α1、α2、α3、α4の推定には、複数の方法がある。1つは、キャリブレーション済みのカメラで撮影した複数の人物画像に、3次元空間上の向きの正解値を付与し、さらに人体に対する検出器のスコアを得て、向きとスコアを持つ複数のサンプルを用い最小2乗法でパラメータ推定する方法である。もう1つは、後述する式(12)により取得される尤度関数を用い、観測値に対するモデルの尤度を計算し、多量の観測値から対数尤度を得て、グリッドサーチで対数尤度を最大化させるパラメータを探索する方法である。後者の方法では、人手による正解値の付与を必要としないため、効率的である。その他、EM法を用いた再帰的な探索方法や、モデルパラメータも状態空間に組み込んだ自己組織的なモデルとする方法等が存在するが、いずれの方法を用いても、本実施形態で説明する機能は大きく損なわれない。
以上の式(7)、式(8)、式(9)、式(11)をまとめて、以後、下記の式(12)のように表現することができる。
There are several methods for estimating the model parameters α 0 , α 1 , α 2 , α 3 , and α 4 in Equations (9) and (11). One is to assign the correct value of orientation in 3D space to multiple images of people taken with a calibrated camera, obtain the score of the detector for the human body, and obtain multiple samples with orientation and score. is a method of estimating parameters by the method of least squares using The other is to use the likelihood function obtained by equation (12) described later, calculate the likelihood of the model for the observed values, obtain the log likelihood from a large number of observed values, and use the grid search to find the log likelihood This is a method of searching for a parameter that maximizes . The latter method is efficient because it does not require manual assignment of correct values. In addition, there are a recursive search method using the EM method and a method of forming a self-organizing model in which model parameters are also incorporated into the state space. Functionality is not significantly impaired.
The above equations (7), (8), (9), and (11) can be collectively expressed as the following equation (12).
yt,kj=ht,k(xt,n)+wt 式(12) y t,kj =h t,k (x t,n )+w t formula (12)
ここで、式(12)の観測ノイズwtの分散共分散行列はRtとする。また、この式(12)より、尤度関数P(yt,kj|xt,n)が取得できる。
以上の、システム方程式と観測方程式により、物体nの1時刻前(時刻t-1)の状態から現在(時刻t)の状態と現在の観測値とを予測する式が下記の式(13)~式(16)である。
Here, let R t be the variance-covariance matrix of the observation noise w t in Equation (12). Also, the likelihood function P(y t,kj |x t,n ) can be obtained from this equation (12).
Based on the above system equation and observation equation, the following equations (13) to Equation (16).
ここで、xt|t-1,nは状態変数の予測分布の1次モーメント、Vt|t-1,nは状態変数の予測分布の2次モーメント、yt|t-1,k,nは観測値の予測分布の1次モーメント、Ut|t-1,k,nは観測値の予測分布の2次モーメントである。またQtはプロセスノイズの分散共分散行列、Rtは観測ノイズの分散共分散行列である。Ftはシステム方程式(式(4)、式(5))の行列、Ht,kは観測方程式(式(12))の、ht,k(xt,n)のヤコビ行列である。 where x t|t-1,n is the first moment of the predicted distribution of the state variables, V t|t-1,n is the second moment of the predicted distribution of the state variables, and y t|t-1,k, n is the first moment of the prediction distribution of observations, U t|t−1,k,n is the second moment of the prediction distribution of observations. Also, Q t is the variance-covariance matrix of process noise, and R t is the variance-covariance matrix of observation noise. F t is the matrix of the system equations (equations (4) and (5)), and H t,k is the Jacobian matrix of h t,k (x t,n ) of the observation equation (equation (12)).
以後簡単のため、上記の1次および2次モーメントを持つガウス分布に従う状態変数の予測分布をP(xt,n|Yt-1)と表現し、観測値の予測分布をP(yt,k,n|Yt-1)と表現する。Yt-1は時刻t-1までの観測値の下記の式(17)に示す集合Yt-1である。 Hereinafter, for simplicity, the predicted distribution of the state variables following the Gaussian distribution with the above first and second moments is expressed as P(x t,n |Y t−1 ), and the predicted distribution of the observed values is expressed as P(y t ,k,n |Y t-1 ). Y t-1 is the set Y t-1 of the observed values up to time t-1 shown in the following equation (17).
式(17)のyt,k,nはIDがnの物体の、時刻t、カメラkにおける観測値である。また、Knは物体nの3次元空間上の位置で重複するカメラ数である。 y t,k,n in Equation (17) is the observed value of the object with ID n at time t and camera k. Also, K n is the number of cameras overlapping the position of the object n in the three-dimensional space.
予測部206は、ステップS105において前述のように物体nの状態変数の予測を行う。すなわち予測部206は、物体nの状態変数のフィルタ分布の1次モーメントxt|t-1,nおよび2次モーメントVt-1|t-1,nに対し、式(13)、式(14)をそれぞれ適用する。これにより、予測部206は、予測分布の1次モーメントxt|t-1,nおよび2次モーメントVt|t-1,nを取得する。
The
分岐B101において、予測部206は、図4で示したFOV重複地図情報410を用いて、前ステップで予測した物体の位置がカメラkのFOV内に存在するか否かを判定し、その判定結果に応じて処理を分岐する。予測部206は、前ステップで予測した物体の位置がカメラkのFOV内に存在する場合にはステップS106に処理を進め、存在しない場合にはステップS108に処理を進める。なお分岐B101において、予測部206は、状態変数の予測分布の1次および2次モーメントに基づき、カメラkのFOVに存在する確率がほぼ0でなければステップS106に処理を進めてもよい。
In branch B101, the
ステップS106に進むと、予測部206は、ステップS105で予測した物体の位置および速度の状態を基に、カメラkにおける当該物体nの観測値を予測する。すなわち予測部206は、当該物体nについてカメラkで得られる観測値の分布の1次および2次モーメントを予測する。予測部206は、式(15)、式(16)を用い、物体nの状態変数の予測分布の1次,2次モーメントxt|t-1,n,Vt|t-1,nから、カメラkの観測値の予測分布の1次,2次モーメントyt|t-1,k,n,Ut|t-1,k,nを得る。
After proceeding to step S106, the
次にステップS107では、ID対応付け部207が、時刻tにおいてカメラkで観測される複数(例えばJ個とする)の各観測値と物体nとを対応付けする処理を行う。すなわちID対応付け部207は、時刻tでのカメラkにおける物体nの観測値の予測確率分布と、カメラkにおける実際の観測値とを基に、実際の観測値の尤度を計算する。そして、ID対応付け部207は、その観測値の尤度を基に、3次元空間上の物体nと観測値とを対応付ける処理を行う。本実施形態では、時刻tにおいてカメラkでは、誤検出を含んだJ個の観測値{yt,k1,yt,k2,…,yt,kj}が得られたとする。前述した図5(b)の例では、1つの誤検出(過検出)を含む3個の観測値が得られている。
Next, in step S107, the
ここで、式(15)、式(16)により取得される観測値の予測分布の1次および2次モーメントによれば、下記の式(18)に示すガウス分布が記述できる。 Here, according to the first-order and second-order moments of the predicted distribution of the observed values obtained by Expressions (15) and (16), the Gaussian distribution given by Expression (18) below can be described.
lkj,n=N(yt,kj;yt|t-1,k,n,Ut|t-1,k,n) 式(18) l kj,n =N(y t,kj ;y t|t-1,k,n ,U t|t-1,k,n ) Equation (18)
この関数に観測値yt,kjを引数として与えることで、yt,kjの物体nの観測値としての尤度lkj,nを計算することができる。そして、複数の観測値{yt,k1,yt,k2,…,yt,kj}にそれぞれ式(18)を適用し、尤度の高い観測値を人物(物体n)観測値として対応付ければ、観測値と当該物体nとの対応付けが行える。 By giving the observed value y t,kj to this function as an argument, the likelihood l kj,n of y t, kj as the observed value of the object n can be calculated. Then, apply formula (18) to each of the plurality of observed values {y t,k1 , y t, k2 , . With this, it is possible to associate the observed value with the object n.
なお、対応付けでは、いわゆる貪欲法に基づき複数の観測値の内の最大となる尤度の観測値を、ある人物(物体n)の観測値として割り当ててもよいが、尤度の和が最大になる対応付けを線形計画法で計算してもよい。その場合は、観測値と予測分布の1次および2次モーメントで計算されるマハラノビス距離を用い、マハラノビス距離の和が最小となる対応付けをハンガリアン法で計算すれば、尤度の和が最大になる割り当てが取得できる。 In the matching, the observed value with the maximum likelihood among multiple observed values may be assigned as the observed value of a certain person (object n) based on the so-called greedy method, but the sum of the likelihoods is the maximum A linear programming may be used to compute a correspondence such that In that case, using the Mahalanobis distance calculated from the first and second moments of the observed value and the predicted distribution, the Hungarian method can be used to calculate the correspondence that minimizes the sum of the Mahalanobis distances, which maximizes the sum of the likelihoods. different assignments can be obtained.
この時、検出器の未検出および過検出によって、実際の観測値が本来フレーム内にあるはずの真の観測値の数と一致しない場合がある。ここで真の観測値数とは、1つのカメラのFOV内に存在する人物の数と等しく、図5(b)の例では2である。 At this time, due to detector underdetection and overdetection, the actual observations may not match the number of true observations that should be in the frame. Here, the true number of observed values is equal to the number of persons existing within the FOV of one camera, which is 2 in the example of FIG. 5(b).
図6は、未検出および過検出発生時のハンガリアン法で用いるコスト行列について説明する図である。ここで、3次元空間中に、ID1、ID2、ID3、ID4が付与された物体があり、カメラkではID2、ID3、ID4の物体が撮像される状況を考える。
図6(a)は実際の観測値数と真の観測値数が一致する場合、図6(b)は実際の観測値数が少ない場合(未検出発生)、図6(c)は実際の観測値数が多い場合(過検出発生)の、ハンガリアン法で用いるコスト行列の例を示している。
FIG. 6 is a diagram for explaining the cost matrix used in the Hungarian method when non-detection and over-detection occur. Assume that there are objects assigned ID1, ID2, ID3, and ID4 in the three-dimensional space, and the objects ID2, ID3, and ID4 are imaged by camera k.
Figure 6(a) shows when the number of actual observed values and the number of true observed values match, Figure 6(b) shows when the actual number of observed values is small (undetected occurrence), and Figure 6(c) shows the actual number of observed values. It shows an example of the cost matrix used in the Hungarian method when the number of observed values is large (occurrence of overdetection).
図6(a)の例において、P(yt,k,2|Yt-1)、P(yt,k,3|Yt-1)、P(yt,k,4|Yt-1)は、それぞれIDがID2、ID3、ID4の物体の観測値の予測分布である。またyt,k1、yt,k2、yt,k3は、それぞれ時刻tにおけるカメラkの1番目、2番目、3番目の観測値である。また図6(a)の値607はマハラノビス距離で、マハラノビス距離を要素とする行列がコスト行列608である。この実際の観測値の数と真の観測値の数が一致する図6(a)の例のような場合では、このコスト行列に基づきハンガリアン法を適用すればよい。
In the example of FIG. 6A, P(yt ,k,2 |Yt -1 ), P( yt,k,3 |Yt -1 ), P( yt,k,4 | Yt −1 ) are the predicted distributions of observed values for objects with IDs ID2, ID3, and ID4, respectively. y t,k1 , y t,k2 , and y t,k3 are the first, second, and third observed values of camera k at time t, respectively.
図6(b)は、未検出が発生した場合の例を示しているが、このとき実際の観測値がyt,k1とyt,k2の2つである場合、真の観測値と数が合わなくなる。このような場合、偽の観測値yt,k-1を設定し、マハラノビス距離を無限大(∞)とすることで、コスト行列を正方行列にし、ハンガリアン法を適用できるようにする。このハンガリアン法の計算の結果、何れかのIDの予測分布が偽の観測値yt,k-1に割り当たる。これは観測値が欠損した状況で、後述するステップS108の更新時に通常とは別の処理を行う。 FIG . 6(b) shows an example of a case where non-detection occurs . does not match. In such a case, by setting the false observed value y t,k−1 and setting the Mahalanobis distance to infinity (∞), the cost matrix becomes a square matrix and the Hungarian method can be applied. As a result of this Hungarian method calculation, the prediction distribution of any ID is assigned to the false observation y t,k-1 . This is a situation in which an observed value is missing, and processing different from normal processing is performed at the time of updating in step S108, which will be described later.
図6(c)は、過検出が発生した状況の例を示しており、この場合は、偽の予測分布P(yt,k,-1|Yt-1)を設定し、マハラノビス距離を無限大(∞)とすることで、コスト行列を正方行列化し、ハンガリアン法を適用すればよい。 FIG. 6(c) shows an example of a situation in which overdetection occurs. In this case, a false prediction distribution P(y t,k,-1 |Y t-1 ) is set, and the Mahalanobis distance is The cost matrix can be squared by setting it to infinity (∞), and the Hungarian method can be applied.
なお、或るフレームで未検出と過検出が同時に発生し、見かけ上実際の観測値数と真の観測値数が一致してしまうために誤対応が発生する場合が考えられる。このような場合に対応するために、マハラノビス距離に閾値を設定し、例えば3以上のマハラノビス距離で対応付けられたIDは、上述の観測値が欠損した場合と同じ扱いにするようにすれば、誤対応を軽減できる。 It is conceivable that undetected and over-detected values may occur simultaneously in a certain frame, and the number of actual observed values and the number of true observed values seem to match, resulting in erroneous correspondence. In order to cope with such a case, a threshold is set for the Mahalanobis distance, and IDs associated with a Mahalanobis distance of 3 or more, for example, are treated in the same way as when the above observation value is missing. Mistakes can be reduced.
次にステップS108において、更新部208は、時刻tの観測値を用い、状態変数の予測分布を更新し、フィルタ分布(事後分布)の取得を行う。拡張カルマンフィルタにおける、時刻t、物体nの状態変数の予測分布の1次モーメントxt|t-1,nと2次モーメントVt|t-1,nから前ステップで対応付けた観測値yt,k,nを基に補正する更新式は下記式(19)~式(21)で表せる。
Next, in step S108, the updating
ここでKt,k,nは、時刻t、カメラk、物体nのカルマンゲインで、Rtは観測ノイズの分散共分散行列、Ht,kは式(12)におけるht,k(xt,n)のヤコビ行列である。
そして物体nに関し、対応する観測値がある場合、式(19)~式(21)で示した更新式の適用によって、観測値で補正された状態変数のフィルタ分布の1次および2次モーメントが得られる。
where K t,k,n is the Kalman gain of time t, camera k, and object n, R t is the variance-covariance matrix of observation noise, and H t,k is h t,k (x t,n ).
Then, for an object n, if there is a corresponding observed value, the first and second moments of the filter distribution of the state variable corrected by the observed value are obtained by applying the update formulas shown in Equations (19) to (21). can get.
一方、観測値の欠損、またはカメラkの検出器のFOV外に存在する等の理由により、物体nに対応する観測値が無い場合、現在のフィルタ分布を状態変数の予測分布で置き換えることで対応することができる。すなわち観測値が無い場合の更新式は、下記の式(22)、式(23)である。 On the other hand, if there is no observed value corresponding to object n due to lack of observed value or existence outside the FOV of the detector of camera k, it is handled by replacing the current filter distribution with the predicted distribution of the state variable. can do. That is, the update formulas when there is no observed value are the following formulas (22) and (23).
xt|t,n=xt|t-1,n 式(22)
Vt|t,n=Vt|t-1,n 式(23)
x t|t,n =x t|t-1,n formula (22)
V t|t,n =V t|t-1,n Formula (23)
更新部208は、前述した式(19)、式(20)、式(21)、または式(22)、式(23)の何れかの処理を行うことで、物体nの状態変数の更新を実施する。
The
次にステップS109では、可視化部209が、ループL102~L112で実行されたN個の物体n(nは1からNが存在)の3次元空間上の位置の推定結果と推定位置の時系列の可視化を行う。
可視化では、それぞれの結果を仮想的な3次元空間上に描画してもよいし、カメラで取得した実画像上に軌跡や点として重畳表示させてもよい。そして、その可視化結果はモニタリング部に送信され、ユーザが閲覧可能となる。
Next, in step S109, the
In the visualization, each result may be drawn in a virtual three-dimensional space, or may be superimposed and displayed as a trajectory or points on an actual image acquired by a camera. Then, the visualization result is transmitted to the monitoring unit and can be viewed by the user.
次にステップS110では、タイミング推定部210が、K台のカメラ各々の撮像タイミングを推定する。
ここでカメラkの観測値に物体nの観測値が存在する場合、その観測値に対応した検出位置を(ut,k,n,vt,k,n)とする。その時のカメラの光学中心と検出位置を結ぶ直線は、式(7)により、下記の式(24)となる。
Next, in step S110, the
Here, when the observation value of camera k includes the observation value of object n, the detection position corresponding to the observation value is (u t,k,n , v t,k,n ). A straight line connecting the optical center of the camera and the detection position at that time is given by the following formula (24) from the formula (7).
(ut,k,np21,k-vt,k,np11,k)X+(ut,k,np22,k-vt,k,np12,k)Y+(ut,k,np23,k-vt,k,np13,k)Z+ut,k,np24,k-vt,k,np14,k=0 式(24) (u t,k,n p 21,k −v t,k,n p 11,k )X+(u t,k,n p 22,k −v t,k,n p 12,k )Y+(u t,k,n p 23,k −v t,k,n p 13,k ) Z + u t,k,n p 24,k −v t,k,n p 14,k =0 Equation (24)
ここで、物体nのフィルタ分布の1次モーメントxt|t,nの位置に関する成分である点(xt,n,yt,n,zt,n)から、この直線への垂線の交点をp't,nとし、点xt,n=(xt,n,yt,n,zt,n)とp't,nとの差をet,nとする。撮像タイミングの推定値dt,n(秒)は、現在の推定位置と現在の観測値から推定される位置の差を現在の推定速度で割った数値(秒)である。すなわち撮像タイミングの推定値dt,nは、差et,nの各次元を、フィルタ分布の1次モーメントの速度に関する式(25)に示す成分で割った、X,Y,Zの各成分を平均化した値である。 Now, from the point (x t,n , y t,n , z t,n ), which is the component with respect to the position of the first moment x t|t,n of the filter distribution of object n, to the intersection point of the perpendicular to this straight line be p' t,n and let e t,n be the difference between the point x t,n =(x t,n , y t,n , z t,n ) and p' t, n . The estimated value d t,n (seconds) of the imaging timing is a numerical value (seconds) obtained by dividing the difference between the current estimated position and the position estimated from the current observation value by the current estimated speed. That is, the estimated value d t,n of the imaging timing is obtained by dividing each dimension of the difference e t,n by the component shown in the equation (25) regarding the velocity of the first moment of the filter distribution. is the average value of
タイミング推定部210は、これをカメラkの複数の観測値に対応付く複数の物体nだけ推定し、それらを平均したものをカメラkの撮像タイミングの推定値とする。さらにタイミング推定部210は、これをK台の全てのカメラについて計算し、各カメラの撮像タイミングの推定値を取得する。そして取得したものが、ステップS102のカメラ毎の撮像タイミングの推定値として用いられる。
The
第1の実施形態の3次元追尾装置200では、以上の処理を実行する事で、3次元空間上に存在する複数の物体の位置の推定と、時間分解能Δtをカメラのフレームレートに対しカメラ台数分だけ細かくした追尾が実現できる。この時間分解能は、カメラのフレームレートを超える分解能である。したがって本実施形態によれば、異なるタイミングで撮像する複数のカメラの物体検出結果を利用することで、スポーツ試合中のボール等の高速移動する追尾物体の3次元空間上の位置と軌跡を取得可能となり、追尾の失敗を低減可能となる。
The three-
<第2の実施形態>
第1の実施形態は、各カメラの撮像タイミングの推定値を、追尾対象の物体の推定した3次元空間上の位置および速度と実際の観測値とを用いて、直接計算して取得している。第2の実施形態では、各カメラの撮像タイミングの推定にもベイズの枠組みを適用し、撮像タイミングの事後確率分布を計算する。さらに第2の実施形態では、追尾対象の物体の状態変数の更新の際に、撮像タイミングの事後確率分布で重みを付けた補正を行うことにより、観測値の欠損の数を減らし、より安定した高時間分解能の追尾を実現する。
<Second embodiment>
In the first embodiment, the estimated value of the imaging timing of each camera is obtained by direct calculation using the estimated position and speed of the object to be tracked in the three-dimensional space and the actual observed value. . In the second embodiment, the Bayesian framework is also applied to the estimation of the imaging timing of each camera, and the posterior probability distribution of the imaging timing is calculated. Furthermore, in the second embodiment, when the state variables of the object to be tracked are updated, correction weighted by the posterior probability distribution of the imaging timing is performed to reduce the number of missing observation values and to improve stability. Realize tracking with high temporal resolution.
図1(b)は、第2の実施形態に係る3次元追尾装置300の機能構成を示す図である。
図1(b)に示した第2の実施形態に係る3次元追尾装置200は、撮影部320、処理部330、およびモニタリング部340を有する。
撮影部320は、図1(a)の撮影部220と同様の第1動画取得部301~第K動画取得部302を含んでいる。以下の説明においても前述同様に、第1動画取得部301~第K動画取得部302のK台の動画取得部を特に特定しない場合には、動画取得部を単にカメラと記載する場合もある。
FIG. 1B is a diagram showing the functional configuration of a three-
A three-
The
第2の実施形態の処理部330は、図1(a)に示した機能構成とは異なり、前述した動画取得選択部203を有していない一方で、一時記憶装置311、タイミング予測部314、およびタイミング更新部313を有している。また、詳細については図3等を用いて説明するが、第2の実施形態の処理部330の機能構成のうち一部の機能は第1の実施形態の例とは異なっている。
Unlike the functional configuration shown in FIG. 1A, the
図3(b)は、3次元追尾装置300の処理部330における情報処理の流れを示したフローチャートである。以下、この図3(b)のフローチャートを用いて、第2の実施形態の3次元追尾装置300における処理全体の概要を説明する。
FIG. 3B is a flowchart showing the flow of information processing in the
ステップS201において、初期値設定部305は、3次元空間上の追尾対象物体(人物、ボール)の数、ID、状態の初期値を設定する。さらに初期値設定部305は、撮影部320のK台のカメラの撮像タイミングを状態変数とし、その初期値を設定する。また第2の実施形態のステップS201において、初期値設定部305は、物体nの状態変数のフィルタ分布の1次および2次モーメントの初期値の他、カメラkの状態変数である撮像タイミングのフィルタ分布の1次および2次モーメントの初期値を設定する。なお、このステップS201の処理に関しては、後ほど、第1の実施形態におけるステップS101との差異を説明する。
In step S201, the initial
ループL201~L211において、処理部330は、時刻に関する繰り返し処理を実行する。すなわち処理部330は、時刻に関するインデックスtを1からTの順で与える、繰り返し処理を実行する。
次にループL202~L212において、処理部330は、撮影部320の動画取得部に関する繰り返し処理を実行する。すなわち処理部330は、カメラに関するインデックスkを1からKの順で与える、繰り返し処理を実行する。
ループL201~L211、L202~L212の処理は、前述した第1の実施形態に係るループL101~L111、L102~L112と同じ処理であるため、その詳細な説明は省略する。
In loops L201 to L211, the
Next, in loops L202 to L212, the
The processing of loops L201 to L211 and L202 to L212 is the same as the processing of loops L101 to L111 and L102 to L112 according to the first embodiment, so detailed description thereof will be omitted.
次にステップS202において、撮影部320の第1動画取得部301~第K動画取得部302の、いずれかのカメラk(動画取得部k)が、現在のフレーム(静止画)を1枚取得する
Next, in step S202, one of the camera k (video acquisition unit k) of the first
次にステップS203において、検出部304は、前ステップで取得されたフレームに写っている物体(人物およびボール)の位置とスコアを検出する。前述したサッカーの例のように、フレーム内に複数の人物が存在する場合、基本的にはそれらの各人数に対応した複数の位置及びスコアが検出される。この処理に関しては、第1の実施形態におけるステップS104と同様の処理であるため、その詳細な説明は省略する。
Next, in step S203, the
次にステップS204において、検出部304は、前ステップで取得した物体検出結果(人物およびボールの位置とスコア)を、一時記憶装置311に保存する。
Next, in step S<b>204 , the
ループL203~L213において、処理部330は、物体に関する繰り返し処理を実行する。すなわち処理部330は、複数の物体に関するインデックスnを1からNの順で与える繰り返し処理を実行する。なお、NはステップS201において物体の数の初期値として取得された値を用いる。
In loops L203 to L213, processing
次にステップS205において、予測部306は、現在の時刻をt(t≧1)とし、時刻t-1における物体nの位置、速度等の状態に基づき、時刻tの状態の確率分布を予測する処理を行う。この処理は、一時記憶装置311に一時記憶された物体の位置、速度等の状態が用いられること以外、第1の実施形態におけるステップS105と同様の処理であるため、その詳細な説明は省略する。
Next, in step S205, the
ループL204~L214において、処理部330は、撮影部320のカメラ(動画取得部)に関する繰り返し処理を実行する。すなわち処理部330は、カメラに関するインデックスkを1からKの順で与える、繰り返し処理を実行する。この処理は、第1の実施形態のループL102~L112、第2の実施形態のループL202~L212と同様の処理であるため、その詳細な説明は省略する。
In loops L204 to L214, the
次に分岐B201において、予測部306は、前ステップで予測した物体nの位置およびFOV重複地図に基づき、カメラkのFOV内に物体nが存在するか否かにより処理を分岐させる。予測部306は、カメラkのFOV内に物体nが存在する確率がある場合にはステップS206に処理を進め、物体nが存在しない場合には次の繰り返し処理に進む。この処理は、第1の実施形態における分岐B101と同様の処理であるため、詳細な説明は省略する。
Next, in branch B201, the
ステップS206に進むと、予測部306は、現在の時刻をt(t≧1)とし、時刻t-1における物体nの位置、速度等の状態に基づき、時刻tに取得されるべき観測値の確率分布を予測する。この処理は、第1の実施形態におけるステップS106と同様の処理であるため、詳細な説明は省略する。
Proceeding to step S206, the
次にステップS207において、ID対応付け部307は、一時記憶装置311に保存されている、カメラkが取得したフレームに対応する物体検出結果を読み出す。
さらにステップS208において、ID対応付け部307は、前ステップで時刻tについて予測したカメラkにおける物体nの観測値の予測確率分布と、時刻tのカメラkにおける実際の観測値とを基に、その実際の観測値の尤度を計算する。そして、ID対応付け部307は、その観測値の尤度を基に、3次元空間上の物体nと観測値とを対応付ける。この対応付け処理は、第1の実施形態におけるステップS107と同様の処理であるため、詳細な説明は省略する。
Next, in step S<b>207 , the
Further, in step S208, the
次にステップS209において、更新部308は、撮像タイミングの状態変数の事後確率分布から、物体nの状態変数の更新に際して用いる重みを計算する。
さらにステップS210において、更新部308は、前ステップで取得した重みを用い、物体nの状態変数を更新する。このステップの処理の詳細は後ほど説明する。
Next, in step S209, the updating
Furthermore, in step S210, the updating
ループL205~L215において、処理部330は、撮影部302のカメラ(動画取得部)に関する繰り返し処理を実行する。すなわち処理部330は、カメラに関するインデックスkを1からKの順で与える繰り返し処理を実行する。この処理は、第1の実施形態のループL102~L112、本実施形態のループL202~L212、ループL204~L214と同様の処理であるため、詳細な説明は省略する。
In loops L205 to L215, the
次にステップS211において、タイミング予測部314は、現在の時刻をt(t≧1)とし、時刻t-1におけるカメラkの撮像タイミング(状態変数)に基づき、時刻tの状態の確率分布を予測する処理を行う。
さらにステップS212において、タイミング更新部313は、一時記憶装置311に保存されている、カメラkが取得したフレームに対応する物体検出結果を読み出す。この処理は、ステップS207と同様の処理であるため、詳細な説明は省略する。
そしてステップS213において、タイミング更新部313は、前ステップで取得した検出結果を用い、カメラkの撮像タイミングの状態を更新する。
Next, in step S211, the
Furthermore, in step S212, the
Then, in step S213, the
次にステップS214において、可視化部309は、更新された物体の状態を可視化するための処理を実行し、さらにその処理結果をモニタリング部340に表示する。この処理に関しては、第1の実施形態におけるステップS109と同様の処理であるため、詳細な説明は省略する。
Next, in step S<b>214 , the
次に、図3(b)に示したフローチャートに従って、図1(b)に示した3次元追尾装置300の処理部330の各機能部における処理について、より詳細で具体的な処理内容を説明する。なお、ループL201~L211、L202~L212、L203~L213、L204~L214、およびL205~L215に関しては、第1の実施形態と同様の処理であるため詳細な説明を省略する。またステップS203、S205、S206、S208、S214、および分岐B201に関しても、第1の実施形態と同様の処理であるため詳細な説明を省略する。さらにステップS212は第2の実施形態のステップS207と同様の処理であるため詳細な説明を省略する。
Next, according to the flowchart shown in FIG. 3(b), more detailed and specific processing contents will be described for the processing in each functional unit of the
本実施形態では、追尾対象の物体毎の位置・速度・物体の姿勢を状態変数として扱うとともに、状態空間モデルを拡張し、カメラ毎の撮像タイミングも状態変数として扱う。このため第2の実施形態では、撮像タイミングの時間遷移を記述するシステム方程式、撮像タイミングが観測される過程を記述する観測方程式を導入する。 In this embodiment, the position, velocity, and orientation of each object to be tracked are treated as state variables, and the state space model is expanded to treat the imaging timing of each camera as state variables. Therefore, in the second embodiment, a system equation describing the temporal transition of the imaging timing and an observation equation describing the process of observing the imaging timing are introduced.
本実施形態では、カメラkの撮像タイミングをdt,kとし、1次のランダムウォークモデルを用いる。撮像タイミングdt,kは下記の式(27)で表される。 In this embodiment, the imaging timing of camera k is dt ,k , and a first-order random walk model is used. The imaging timing d t,k is represented by the following equation (27).
dt,k=Ddt-1,k+st,n 式(27) d t,k =Dd t-1,k +s t,n Formula (27)
ここで、st,nはプロセスノイズ(白色ガウスノイズ)である。また、時刻k、物体nの3次元空間上の位置をxt,n=(xt,n,yt,n,zt,n)、速度を式(28)で表したときの、カメラkの撮像タイミングに起因する3次元空間上の位置は式(29)のように記述できる。 where s t,n is process noise (white Gaussian noise). Also, when the time k, the position of the object n in the three-dimensional space is x t,n =(x t,n , y t,n , z t,n ), and the velocity is represented by Equation (28), the camera The position in the three-dimensional space due to the imaging timing of k can be described as in Equation (29).
さらにこれらの式と式(7)、式(8)とを基に、観測方程式として下記の式(30)、式(31)を用いる。なお、wt,u、wt,vはそれぞれ観測ノイズである。 Further, based on these equations, equations (7) and (8), the following equations (30) and (31) are used as observation equations. Note that w t,u and w t,v are observation noises, respectively.
図3(b)のフローチャートに説明を戻す。第2の実施形態の場合、初期値設定部305は、ステップS201で物体nの状態変数のフィルタ分布の1次および2次モーメントの初期値の他、カメラkの状態変数である撮像タイミングのフィルタ分布の1次および2次モーメントの初期値も設定している。
Returning to the flowchart of FIG. 3(b). In the case of the second embodiment, in step S201, the initial
また第2の実施形態の場合、ステップS210において、更新部308は、物体nの状態変数の更新に、前ステップで取得した、撮像タイミングの事後分布を時間ステップ毎に積分した値を重みとして用いる。この場合の拡張カルマンフィルタの更新処理には、カルマンフィードバックを重み付け和する、下記の式(32)~式(34)で示される方法を用いる。なお、wt,k,nは、前ステップで取得した撮像タイミングの積分値である。
In the case of the second embodiment, in step S210, the updating
次にステップS211において、タイミング予測部314は、カメラkの撮像タイミングに基づき確率分布を予測する。第2の実施形態の場合、タイミング予測部314は、前述した観測値の内の位置(u,v)の観測方程式を用いて、人物頭部とボールとで共通して観測をモデル化する。
Next, in step S211, the
図7は、本実施形態において想定する真の撮像タイミングの例を示した図である。図7の例では、複数のカメラとして10台のカメラを想定し、ある1台のカメラを基準とし、残り9台のカメラの撮影タイミングの1周期内のずれを記している。Tはカメラのフレーム周期のタイミングを示している。タイミング710は基準カメラのタイミングを表し、そのタイミング710に対して遅い順に、タイミング701,702,703,704,705,706,707,708,709が残りの9台のカメラのタイミングを表している。すなわちタイミング710に対して、タイミング701,702,703,704,705,706,707,708,709は時間軸上でずれがある。
FIG. 7 is a diagram showing an example of true imaging timing assumed in this embodiment. In the example of FIG. 7, 10 cameras are assumed as a plurality of cameras, and one camera is used as a reference, and deviations in shooting timings of the remaining 9 cameras within one cycle are shown. T indicates the timing of the frame cycle of the camera. Timing 710 represents the timing of the reference camera, and
本実施形態において、図7に示した真の撮像タイミングは直接観測できない値であるため状態変数として扱われる。すなわち撮像タイミングは、観測できる値である各カメラの検出結果から状態空間モデルの枠組みで、事後分布として推定されるものである。
図8は、各カメラの観測値(u,v)が与えられたうえで、前述した状態空間モデルで推定した撮像タイミングの事後分布を示した図である。本実施形態のステップS210において、図7に示した10台のカメラのそれぞれの撮像タイミングは、図8の確率分布(ガウス分布)801として推定される。
In this embodiment, the true imaging timing shown in FIG. 7 is treated as a state variable because it is a value that cannot be directly observed. That is, the imaging timing is estimated as a posterior distribution within the framework of the state space model from the detection results of each camera, which are observable values.
FIG. 8 is a diagram showing the posterior distribution of imaging timings estimated by the above-described state space model given observation values (u, v) of each camera. In step S210 of this embodiment, the imaging timings of the ten cameras shown in FIG. 7 are estimated as the probability distribution (Gaussian distribution) 801 shown in FIG.
以上説明したように、第2の実施形態では、各カメラの撮像タイミングの推定にもベイズの枠組みを適用し、撮像タイミングの事後確率分布を計算し、さらに追尾対象物体の状態変数の更新の際、撮像タイミングの事後確率分布で重みを付けた補正を行う。これにより、第2の実施形態によれば、観測値の欠損の数を減らし、より安定した、高時間分解能の追尾を実行できる。 As described above, in the second embodiment, the Bayesian framework is also applied to the estimation of the imaging timing of each camera, the posterior probability distribution of the imaging timing is calculated, and the state variables of the tracking target object are updated. , weighted by the posterior probability distribution of the imaging timing. As a result, according to the second embodiment, the number of missing observation values can be reduced, and more stable tracking with high temporal resolution can be performed.
<第3の実施形態>
第1、第2の実施形態では、追尾対象として複数の種類の物体を想定している。この中には、人物のように比較的低速で移動する物体もあれば、ボールのように高速で移動する物体も存在する。さらにボールは、サッカー等のスポーツの試合中では、プレイヤーによって蹴られた瞬間は高速に移動するが、ドリブル中などでは人物と同じくらいの速度で移動する。一般に、複数のネットワークカメラの非同期性に起因した撮像タイミングのずれによって発生する各ネットワークカメラのフレーム上の物体検出位置のずれは、検出対象の物体が高速に移動する際に顕著に現れる。さらに、カメラの位置姿勢により、カメラから近距離で、カメラのピクセル座標の平面と平行な速度成分が大きいほど、物体検出位置のずれは大きくなる。第3の実施形態では、これらの性質に着目して撮像タイミングの推定精度を向上させる事例について述べる。第3の実施形態では、撮像タイミングを更新する場合に、検出部304の検出結果の好適な条件を定量化する指標を算出する。そして、その指標を、撮像タイミングの状態空間モデルの更新時の重みとし、撮像タイミングを更新する際の更新量を設定して、撮像タイミングの推定精度を向上させる。
<Third Embodiment>
In the first and second embodiments, a plurality of types of objects are assumed as tracking targets. Among these, there are objects that move relatively slowly, such as people, and objects that move at high speed, such as balls. Furthermore, the ball moves at high speed the moment it is kicked by a player during a sports match such as soccer, but moves at the same speed as a person during dribbling. In general, deviations in object detection positions on the frame of each network camera caused by deviations in imaging timing due to asynchronism of a plurality of network cameras become conspicuous when the object to be detected moves at high speed. Furthermore, due to the position and orientation of the camera, the deviation of the object detection position increases as the speed component parallel to the plane of the pixel coordinates of the camera increases at a short distance from the camera. In the third embodiment, a case will be described in which these properties are focused on and the accuracy of imaging timing estimation is improved. In the third embodiment, when updating the imaging timing, an index for quantifying a suitable condition for the detection result of the
第3の実施形態の3次元追尾装置の機能構成は、図1(b)に示した第2の実施形態の3次元追尾装置300の機能構成と同様であるため、その図示は省略する。
図9は、3次元追尾装置の処理部における情報処理の流れを示したフローチャートである。まずこの図9のフローチャートを用いて、第3の実施形態に係る処理全体の概要を説明する。
The functional configuration of the three-dimensional tracking device of the third embodiment is the same as the functional configuration of the three-
FIG. 9 is a flow chart showing the flow of information processing in the processing section of the three-dimensional tracking device. First, using the flowchart of FIG. 9, an overview of the overall processing according to the third embodiment will be described.
まずステップS301において、初期値設定部305は、3次元空間上の追尾対象物体(人物、ボール)の数、ID、状態の初期値を設定する。さらに本実施形態では、撮影部320のK台のカメラ(動画取得部301~302)の撮像タイミングを状態変数とし、その初期値を設定する。この処理は、第2の実施形態におけるステップS201と同様の処理であるため、詳細な説明は省略する。
First, in step S301, the initial
ループL301~L311において、処理部330は、時刻に関する繰り返し処理を実行する。すなわち処理部330は、時刻に関するインデックスtを1からTの順で与え、繰り返し処理を実行する。
次にループL302~L312において、処理部330は、カメラに関する繰り返し処理を実行する。すなわち処理部330は、カメラに関するインデックスkを1からKの順で与え、繰り返し処理を実行する。
ループL301~L311、L302~L312の処理は、第2の実施形態のループL201~L211、L202~L212と同じ処理であるため、詳細な説明は省略する。
In loops L301 to L311, processing
Next, in loops L302 to L312, the
The processing of loops L301 to L311 and L302 to L312 is the same as the processing of loops L201 to L211 and L202 to L212 of the second embodiment, so detailed description thereof will be omitted.
ステップS302において、撮影部320のいずれかのカメラk(画像取得部k)が、現在のフレーム(静止画)を1枚取得する。この処理は、第2の実施形態におけるステップS202と同様の処理であるため、詳細な説明は省略する。
In step S302, one of the cameras k (image acquiring unit k) of the photographing
次にステップS303において、検出部304は、前ステップで取得したフレームに写っている物体(人物およびボール)の位置とスコアを検出する。フレーム内に複数物体(複数の人物)が存在する場合、検出部304では、基本的にはその物体の数(人数)に対応した複数の位置及びスコアが検出される。この処理は、第2の実施形態におけるステップS203と同様の処理であるため、詳細な説明は省略する。
Next, in step S303, the
次にステップS304において、検出部304は、前ステップで取得した物体検出結果を一時記憶装置311に保存する。この処理は、第2の実施形態におけるステップS204と同様の処理であるため、詳細な説明は省略する。
Next, in step S<b>304 , the
次にループL303~L313において、処理部330は、物体に関する繰り返し処理を行う。すなわち処理部330は、物体に関するインデックスnを1からNの順で与え、繰り返し処理を実行する。Nは、ステップS301において物体の数の初期値として取得された値を用いる。この処理は、第2の実施形態におけるループL203~L213と同様の処理であるため、詳細な説明は省略する。
Next, in loops L303 to L313, the
ステップS305において、予測部306は、現在の時刻をt(t≧1)とし、時刻t-1における物体nの位置、速度等の状態に基づき、時刻tの状態の確率分布を予測する処理を行う。この処理は、第2の実施形態におけるステップS205と同様の処理であるため、詳細な説明は省略する。
In step S305, the
次にループL304~L314において、処理部330は、動画取得部に関する繰り返し処理を実行する。すなわち処理部330は、カメラに関するインデックスkを1からKの順で与え、繰り返し処理を実行する。この処理は、第2の実施形態のループL204~L214と同様の処理であるため、詳細な説明は省略する。
Next, in loops L304 to L314, the
分岐B301では、予測部306が、前ステップで予測した物体nの位置とFOV重複地図とに基づき、カメラkのFOV内に物体nが存在する確率があるか否かの判定結果に応じて処理を分岐する。分岐B301において、予測部306は、カメラkのFOV内に物体nが存在する確率がある場合にはステップS306の処理に進み、存在しない場合には次の繰り返し処理に移る。この処理は、第1の実施形態における分岐B201と同様の処理であるため、詳細な説明は省略する。
In branch B301, the
ステップS306に進むと、予測部306は、現在の時刻をt(t≧1)とし、時刻t-1における物体nの位置、速度等の状態に基づき、時刻tに取得されるべき観測値の確率分布を予測する。この処理は、第2の実施形態におけるステップS206と同様の処理であるため、詳細な説明は省略する。
Proceeding to step S306, the
次にステップS307において、ID対応付け部307は、一時記憶装置311に保存されている、カメラkが取得したフレームに対応する物体検出結果を読み出す。この処理は、第2の実施形態におけるステップS207と同様の処理であるため、詳細な説明は省略する。
Next, in step S<b>307 , the
次にステップS308において、ID対応付け部307は、前ステップで時刻tについて予測した物体nのカメラkにおける観測値の予測確率分布と時刻tのカメラkにおける実際の観測値の尤度とを基に、3次元空間上の物体nと観測値を対応付ける。この処理は、第2の実施形態におけるステップS208と同様の処理であるため、詳細な説明は省略する。
Next, in step S308, the
次にステップS309において、更新部308は、撮像タイミングの状態変数の事後確率分布から、物体nの状態変数の更新に際して用いる重みを計算する。この処理は、第2の実施形態におけるステップS209と同様の処理であるため、詳細な説明は省略する。
Next, in step S309, the updating
次にステップS310において、更新部308は、前ステップで取得した重みを用い、物体nの状態変数を更新する。この処理は、第2の実施形態におけるステップS210と同様の処理であるため、詳細な説明は省略する。
Next, in step S310, the updating
ループL305~L315において、処理部330は、カメラに関する繰り返し処理を実行する。すなわち処理部330は、カメラに関するインデックスkを1からKの順で与え、繰り返し処理を実行する。この処理は、第2の実施形態のループL205~L215と同様の処理であるため、詳細な説明は省略する。
In loops L305 to L315, the
次にステップS311において、タイミング予測部314は、現在の時刻をt(t≧1)とし、時刻t-1における動画取得部kの撮像タイミング(状態変数)に基づき、時刻tの状態の確率分布を予測する処理を行う。この処理は、第2の実施形態におけるステップS211と同様の処理であるため、詳細な説明は省略する。
Next, in step S311, the
次にステップS312において、タイミング更新部313は、一時記憶装置311に保存されている、カメラkが取得したフレームに対応する物体検出結果を読み出す。この処理は、第2の実施形態におけるステップS212と同様の処理であるため、詳細な説明は省略する。
Next, in step S<b>312 , the
次にステップS313において、タイミング更新部313は、撮像タイミング更新ための好適な条件を表す指標、つまり検出部304の検出結果の好適な条件を定量化する指標を計算し、その指標を基に撮像タイミング更新のための重みを計算する。
さらにステップS314において、タイミング更新部313は、前ステップで取得した撮像タイミング更新のための重みと、ステップS311で取得された検出結果とを用い、カメラkの撮像タイミングの状態を更新する。すなわちタイミング更新部313では、撮像タイミングの推定に好適な条件を定量化する指標を、撮像タイミングの状態空間モデルの更新時の重みとし、撮像タイミングを更新する際の更新量を設定して、撮像タイミングの更新を行う。
Next, in step S313, the
Further, in step S314, the
その後、ステップS315において、可視化部309は、更新した物体の状態を可視化するための処理を実行し、さらにその処理結果をモニタリング部340に表示する。この処理は、第2の実施形態におけるステップS214と同様の処理であるため、詳細な説明は省略する。
Thereafter, in step S<b>315 , the
以下、図9に示したフローチャートに従って、第3の実施形態の処理部330の各機能部における処理について、より詳細で具体的な処理内容を説明する。なお、ステップS312、S313以外の各ステップに関しては、すでに述べたとおり、第2の実施形態の各処理と同様の処理であるため詳細な説明を省略する。
Hereinafter, according to the flowchart shown in FIG. 9, more detailed and specific processing contents will be described with respect to the processing in each functional unit of the
ステップS313において、タイミング更新部313は、撮像タイミングの推定に好適な条件を定量化する指標を計算し、それを重みとして、撮像タイミングの状態空間モデルの更新時に用いるようにする。撮像タイミングの更新は、物体の速度ベクトルと世界座標上の画像平面の成す角が直角に近く、さらに物体とカメラの位置が近い場合に、より好適である。
In step S313, the
そこで前述した式(30)、式(31)のカメラkの撮像タイミングdt,kの乗数要素より、撮像タイミングの更新の好適さを定量化する指標として、下記の式(35)が用いられる。 Therefore, the following formula (35) is used as an index for quantifying the suitability of updating the imaging timing from the multiplier element of the imaging timing d t, k of the camera k in the above-described formulas (30) and (31). .
ここでαt,k,nは、物体の速度ベクトルと世界座標上の画像平面の成す角が直角に近く、さらに物体とカメラの位置が近い場合により大きな実数値をとる。本ステップにおいて、タイミング更新部313は、指標αt,k,nを、時刻tにおける、カメラkの繰り返しの中において、物体nごとに取得する。
Here, α t,k,n takes a larger real value when the angle between the velocity vector of the object and the image plane on the world coordinates is close to a right angle and the positions of the object and the camera are close. In this step, the
次に、タイミング更新部313は、この指標を撮像タイミングの状態空間モデルの更新時の重みとして用いるために、下記の式(36)によって正規化を行う。
Next, the
そして、ステップS314において、タイミング更新部313は、このように計算した重みを、式(32)、式(33)、式(34)で既に示したカルマンフィードバックを重み付け和する更新式に適用し、撮像タイミングの更新を実行する。
Then, in step S314, the
第3の実施形態においては、撮像タイミングのズレの計測に好適な条件を定量化する指標を計算し、その指標を撮像タイミングの状態空間モデルの更新時の重みとして用いることで、撮像タイミングの推定精度を向上させることが可能である。 In the third embodiment, an index for quantifying a condition suitable for measuring the imaging timing shift is calculated, and the index is used as a weight when updating the state space model of the imaging timing, thereby estimating the imaging timing. It is possible to improve the accuracy.
前述した各実施形態の情報処理装置(特に3次元追尾装置の処理部)は、K台のカメラ(動画取得部)とモニタリング部に接続等されたパーソナルコンピュータ等によって実現されてもよい。そして、コンピュータにおいて前述した各実施形態で説明したような物体検出から可視化処理までの各情報処理が行われる。この例におけるコンピュータは、本実施形態の情報処理を実現するソフトウェアのプログラムコードを実行する。ハードウェア構成の図示は省略するが、本実施形態の情報処理装置を実現するコンピュータは、CPU、ROM、RAM(ランダムアクセスメモリ)、補助記憶装置、表示部(モニタリング部)、操作部、通信I/F、及びバス等を有して構成される。CPUは、ROMやRAMに格納されているコンピュータプログラムやデータを用いて、当該コンピュータの全体を制御するとともに、前述した物体検出から可視化処理までの各情報処理を実行する。また本実施形態の情報処理装置は、CPUとは異なる1又は複数の専用のハードウェアを有していて、CPUによる処理の少なくとも一部を専用のハードウェアが実行する構成であってもよい。専用のハードウェアの例としては、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)、およびDSP(デジタルシグナルプロセッサ)などがある。ROMは、変更を必要としないプログラムなどを格納する。RAMは、補助記憶装置から供給されるプログラムやデータ、及び通信I/Fを介してカメラ等の外部から供給されるデータなどを一時記憶する。補助記憶装置は、HDD等で構成され、画像データ、キャリブレーション情報などの種々のデータを記憶する。表示部(モニタリング部)は、例えば液晶ディスプレイやLEDディスプレイ等で構成され、ユーザが情報処理装置を操作するためのGUIなどを表示する。操作部は、例えばキーボードやマウス、ジョイスティック、タッチパネル等で構成され、ユーザによる操作を受けて各種の指示をCPUに入力する。またCPUは、表示部を制御する表示制御部、及び操作部を制御する操作制御部としても動作する。通信I/Fは、情報処理装置の外部の装置との通信に用いられる。例えば、情報処理装置がさらに外部の装置と有線で接続される場合には、通信用のケーブルが通信I/Fに接続される。情報処理装置が外部の装置と無線通信する機能を有する場合には、通信I/Fはアンテナを備える。バスは、情報処理装置の各部をつないで情報を伝達する。なお本実施形態の場合、情報処理装置と接続される外部の装置は、前述したカメラや他の情報処理装置等である。また表示部と操作部が情報処理装置の内部に存在するものとしたが、表示部は前述したモニタリング部、操作部は入力装置として、情報処理装置の外部に別の装置として存在していてもよい。 The information processing apparatus (particularly, the processing unit of the three-dimensional tracking apparatus) of each embodiment described above may be realized by a personal computer or the like connected to K cameras (moving image acquisition units) and monitoring units. Then, the computer performs each information processing from object detection to visualization processing as described in each of the above-described embodiments. The computer in this example executes program code of software that implements the information processing of this embodiment. Although illustration of the hardware configuration is omitted, a computer that realizes the information processing apparatus of this embodiment includes a CPU, a ROM, a RAM (random access memory), an auxiliary storage device, a display unit (monitoring unit), an operation unit, a communication I /F, and a bus. The CPU controls the entire computer using computer programs and data stored in the ROM and RAM, and executes each information processing from object detection to visualization described above. Further, the information processing apparatus of the present embodiment may have one or a plurality of pieces of dedicated hardware different from the CPU, and may be configured such that at least part of the processing by the CPU is executed by the dedicated hardware. Examples of dedicated hardware include ASICs (Application Specific Integrated Circuits), FPGAs (Field Programmable Gate Arrays), and DSPs (Digital Signal Processors). The ROM stores programs and the like that do not require modification. The RAM temporarily stores programs and data supplied from the auxiliary storage device and data supplied from outside such as a camera via the communication I/F. The auxiliary storage device is composed of an HDD or the like, and stores various data such as image data and calibration information. The display unit (monitoring unit) is configured by, for example, a liquid crystal display or an LED display, and displays a GUI or the like for the user to operate the information processing device. The operation unit is composed of, for example, a keyboard, a mouse, a joystick, a touch panel, etc., and inputs various instructions to the CPU in response to user's operations. The CPU also operates as a display control section that controls the display section and as an operation control section that controls the operation section. The communication I/F is used for communication with an external device of the information processing device. For example, when the information processing device is further connected to an external device by wire, a communication cable is connected to the communication I/F. If the information processing device has a function of wirelessly communicating with an external device, the communication I/F has an antenna. The bus connects each part of the information processing device to transmit information. Note that in the case of this embodiment, the external device connected to the information processing device is the above-described camera, other information processing device, or the like. In addition, although the display unit and the operation unit are assumed to exist inside the information processing apparatus, the display unit may exist as a monitoring unit and the operation unit as an input device, and may exist as separate devices outside the information processing apparatus. good.
本発明は、上述の実施形態の一以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、一以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in the computer of the system or apparatus reads and executes the program. It can also be realized by processing to It can also be implemented by a circuit (eg, ASIC) that implements one or more functions.
All of the above-described embodiments merely show specific examples for carrying out the present invention, and the technical scope of the present invention should not be construed to be limited by these. That is, the present invention can be embodied in various forms without departing from its technical concept or main features.
200:3次元追尾装置、201,202:動画取得部、230:処理部、203:動画取得選択部、204:検出部、205:初期値設定部、206:予測部、207:ID対応付け部、208:更新部、209:可視化部、210:タイミング推定部 200: three-dimensional tracking device, 201, 202: video acquisition unit, 230: processing unit, 203: video acquisition selection unit, 204: detection unit, 205: initial value setting unit, 206: prediction unit, 207: ID association unit , 208: updating unit, 209: visualization unit, 210: timing estimation unit
Claims (24)
前記撮像手段ごとに、第1の時点で撮像した画像に対する前記対象物の検出結果を基に、前記第1の時点より後の第2の時点における当該対象物の状態を予測する予測手段と、
前記撮像手段ごとに、前記予測された対象物の状態を、前記検出手段による検出結果と前記予測手段による予測結果とを基に更新する更新手段と、
前記更新された前記対象物の状態と、前記検出手段による検出結果とを基に、前記撮像手段ごとの撮像タイミングを推定する推定手段と、
を有することを特徴とする情報処理装置。 a detection means for detecting a predetermined target object from images respectively captured by a plurality of imaging means;
prediction means for predicting the state of the object at a second time after the first time based on the detection result of the object for the image captured at the first time for each of the imaging means;
updating means for updating the predicted state of the object for each imaging means based on the detection result by the detection means and the prediction result by the prediction means;
estimating means for estimating imaging timing for each imaging means based on the updated state of the object and the detection result of the detecting means;
An information processing device comprising:
前記撮像手段ごとの撮像タイミングを予測するタイミング予測手段と、
前記検出手段による前記対象物の検出結果と、前記タイミング予測手段による前記撮像タイミングの予測結果とを基に、前記撮像タイミングを更新するタイミング更新手段と、を有することを特徴とする情報処理装置。 a detection means for detecting a predetermined target object from images respectively captured by a plurality of imaging means;
a timing prediction means for predicting an imaging timing for each imaging means;
and timing update means for updating the imaging timing based on the detection result of the object by the detection means and the prediction result of the imaging timing by the timing prediction means.
前記撮像手段ごとに、前記予測された対象物の状態を、前記検出手段による検出結果と前記予測手段による予測結果とを基に更新する更新手段と、
を有することを特徴とする請求項11に記載の情報処理装置。 prediction means for predicting the state of the object at a second time after the first time based on the detection result of the object for the image captured at the first time for each of the imaging means;
updating means for updating the predicted state of the object for each imaging means based on the detection result by the detection means and the prediction result by the prediction means;
12. The information processing apparatus according to claim 11, comprising:
前記撮像手段ごとに、第1の時点で撮像した画像に対する前記対象物の検出結果を基に、前記第1の時点より後の第2の時点における当該対象物の状態を予測する予測工程と、
前記撮像手段ごとに、前記予測された対象物の状態を、前記検出工程による検出結果と前記予測工程による予測結果とを基に更新する更新工程と、
前記更新された前記対象物の状態と、前記検出工程による検出結果とを基に、前記撮像手段ごとの撮像タイミングを推定する推定工程と、
を有することを特徴とする情報処理方法。 a detection step of detecting a predetermined object from images captured by a plurality of imaging means;
a prediction step of predicting the state of the object at a second time after the first time based on the detection result of the object for the image captured at the first time for each of the imaging means;
an update step of updating the predicted state of the target object based on the detection result of the detection step and the prediction result of the prediction step for each of the imaging means;
an estimating step of estimating an imaging timing for each of the imaging means based on the updated state of the object and the detection result of the detecting step;
An information processing method characterized by having
前記撮像手段ごとの撮像タイミングを予測するタイミング予測工程と、
前記検出工程による前記対象物の検出結果と、前記タイミング予測工程による前記撮像タイミングの予測結果とを基に、前記撮像タイミングを更新するタイミング更新工程と、を有することを特徴とする情報処理方法。 a detection step of detecting a predetermined object from images captured by a plurality of imaging means;
a timing prediction step of predicting an imaging timing for each of the imaging means;
An information processing method, comprising: a timing update step of updating the imaging timing based on a detection result of the object by the detection step and a prediction result of the imaging timing by the timing prediction step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021195407A JP2023081582A (en) | 2021-12-01 | 2021-12-01 | Information processing device, information processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021195407A JP2023081582A (en) | 2021-12-01 | 2021-12-01 | Information processing device, information processing method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023081582A true JP2023081582A (en) | 2023-06-13 |
Family
ID=86727981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021195407A Pending JP2023081582A (en) | 2021-12-01 | 2021-12-01 | Information processing device, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023081582A (en) |
-
2021
- 2021-12-01 JP JP2021195407A patent/JP2023081582A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cannons | A review of visual tracking | |
JP4148281B2 (en) | Motion capture device, motion capture method, and motion capture program | |
US7940957B2 (en) | Object tracker for visually tracking object motion | |
JP4852765B2 (en) | Estimating connection relationship between distributed cameras and connection relationship estimation program | |
US8503726B2 (en) | Image processing device, object tracking device, and image processing method | |
JP2016099941A (en) | System and program for estimating position of object | |
JP2016099982A (en) | Behavior recognition device, behaviour learning device, method, and program | |
Meinel et al. | Automated real-time surveillance for ambient assisted living using an omnidirectional camera | |
JP2019057836A (en) | Video processing device, video processing method, computer program, and storage medium | |
JP5956248B2 (en) | Image monitoring device | |
WO2008070206A2 (en) | A seamless tracking framework using hierarchical tracklet association | |
Li et al. | Robust multiperson detection and tracking for mobile service and social robots | |
Bagherpour et al. | Upper body tracking using KLT and Kalman filter | |
JP2009014415A (en) | Object recognition device and method | |
Martínez-González et al. | Residual pose: A decoupled approach for depth-based 3D human pose estimation | |
Pandey et al. | Efficient 6-dof tracking of handheld objects from an egocentric viewpoint | |
JP7498404B2 (en) | Apparatus, method and program for estimating three-dimensional posture of subject | |
JP2019121019A (en) | Information processing device, three-dimensional position estimation method, computer program, and storage medium | |
Vasuhi et al. | Target detection and tracking for video surveillance | |
Gruenwedel et al. | Low-complexity scalable distributed multicamera tracking of humans | |
Seer et al. | Kinects and human kinetics: a new approach for studying crowd behavior | |
JP2023081582A (en) | Information processing device, information processing method, and program | |
Kim et al. | Cross-view self-fusion for self-supervised 3d human pose estimation in the wild | |
Landolfi et al. | Fast and fluid human pose tracking | |
JP6950273B2 (en) | Flying object position detection device, flying object position detection system, flying object position detection method and program |