Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7837684B2 - Image processing device, image processing method, and program - Google Patents
[go: Go Back, main page]

JP7837684B2 - Image processing device, image processing method, and program - Google Patents

Image processing device, image processing method, and program

Info

Publication number
JP7837684B2
JP7837684B2 JP2021134886A JP2021134886A JP7837684B2 JP 7837684 B2 JP7837684 B2 JP 7837684B2 JP 2021134886 A JP2021134886 A JP 2021134886A JP 2021134886 A JP2021134886 A JP 2021134886A JP 7837684 B2 JP7837684 B2 JP 7837684B2
Authority
JP
Japan
Prior art keywords
point cloud
point
image processing
frame
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021134886A
Other languages
Japanese (ja)
Other versions
JP2023028908A (en
Inventor
智一 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2021134886A priority Critical patent/JP7837684B2/en
Publication of JP2023028908A publication Critical patent/JP2023028908A/en
Application granted granted Critical
Publication of JP7837684B2 publication Critical patent/JP7837684B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)

Description

本開示は、オブジェクトのトラッキング技術に関する。 This disclosure relates to object tracking technology.

撮像シーンに複数の被写体(オブジェクト)が同時に存在し、各オブジェクトが独立に動く状況において、オブジェクト同士の近接がトラッキングの誤りの原因となることがしばしばある。特許文献1は、複数の人間が移動するシーンの画像シーケンス(連続して撮像された撮像画像群)の各フレームで人間を検出し、人間同士が近接状態にあるか非近接状態にあるかに応じて追跡モデルの更新方法を切り替える技術を開示する。この技術によれば、オブジェクト間で遮蔽関係が生じる場合でも、安定してオブジェクトを追跡することが可能である。 In situations where multiple subjects (objects) are simultaneously present in an imaging scene and each object moves independently, proximity between objects often causes tracking errors. Patent Document 1 discloses a technique for detecting humans in each frame of an image sequence (a series of continuously captured images) of a scene in which multiple humans are moving, and switching the method of updating the tracking model depending on whether the humans are in close proximity or not. This technique makes it possible to stably track objects even when occlusion relationships occur between them.

国際公開第2017/199840号International Publication No. 2017/199840

上記特許文献1の技術では、事前に各フレームでオブジェクトを検出してその位置と数を特定しておき、フレーム内におけるオブジェクト間の距離に基づき近接状態を判定することで各オブジェクトの追跡を可能にしている。つまり、この手法の場合、追跡対象のオブジェクトの属性(人間、犬、或いは頭や足といった特定部位)を事前に決定し、それらの追跡に適したモデルを予め設計しておく必要がある。そのため、オブジェクトの属性が明らかになっていない任意の撮像シーンの画像シーケンスに対しては適用することができなかった。 The technology described in Patent Document 1 above detects objects in each frame beforehand, determining their positions and number. It then determines proximity based on the distance between objects within a frame, enabling tracking of each object. In other words, this method requires pre-determining the attributes of the objects to be tracked (human, dog, or specific body parts such as head or feet) and designing a model suitable for tracking them in advance. Therefore, it could not be applied to image sequences of arbitrary imaging scenes where the object attributes were unknown.

本開示に係る画像処理装置は、連続する複数のフレームのオブジェクトの形状データを含むシーケンスデータを取得する取得手段と、前記複数のフレームのうちの第1のフレームの形状データに対応する第1の点群と当該第1のフレームと連続する第2のフレームの形状データに対応する第2の点群との対応付けを、点群どうしの距離に基づいて行う対応付け手段と、前記対応付けの結果に基づいて、各フレームに含まれる前記形状データに対応する点群にIDを付与して、前記連続する複数のフレームに亘って前記オブジェクトを追跡する追跡手段と、を有し、前記対応付け手段は、前記第1の点群に対する前記第2の点群までの距離と前記第2の点群に対する前記第1の点群までの距離とが異なる非対称距離を用いて前記対応付けを行う、ことを特徴とする。 The image processing apparatus according to this disclosure includes: acquisition means for acquiring sequence data including shape data of objects in a plurality of consecutive frames; matching means for matching a first point cloud corresponding to the shape data of a first frame among the plurality of frames with a second point cloud corresponding to the shape data of a second frame consecutive to the first frame, based on the distance between the point clouds; and tracking means for tracking the object across the plurality of consecutive frames by assigning an ID to the point cloud corresponding to the shape data contained in each frame based on the result of the matching, wherein the matching means performs the matching using an asymmetric distance in which the distance from the first point cloud to the second point cloud and the distance from the second point cloud to the first point cloud are different .

本開示の技術によれば、撮像シーン内のオブジェクトの属性が未知でも安定したオブジェクトトラッキングをすることが可能となる。 According to the technology disclosed herein, stable object tracking becomes possible even when the attributes of objects within the imaging scene are unknown.

(a)及び(b)は、理想的なオブジェクトトラッキングを説明する図。(a) and (b) are diagrams illustrating ideal object tracking. 画像処理装置のハードウェア構成図。Hardware configuration diagram of an image processing device. 画像処理装置のソフトウェア構成図。Software configuration diagram of an image processing device. オブジェクトトラッキングの流れを示すフローチャート。A flowchart illustrating the object tracking process. 隣接フレーム間で点群どうしを対応付ける処理の詳細を示すフローチャート。A flowchart detailing the process of mapping point clouds between adjacent frames. (a)は隣接フレーム間における点群を模式的に表した図、(b)は(a)に示す点群どうしの重心間の距離を示した図。(a) is a schematic representation of the point cloud between adjacent frames, and (b) is a diagram showing the distance between the centroids of the point clouds shown in (a). 紐付けの結果の一例を示す図。A diagram showing an example of the results of the linking process. 実施形態1に係る、オブジェクト追跡処理の詳細を示すフローチャート。A flowchart showing the details of the object tracking process according to Embodiment 1. (a)及び(b)は、オブジェクトの形状属性の判定を説明する図。(a) and (b) are diagrams illustrating the determination of the shape attributes of an object. (a)~(c)は、形状属性の判定結果が重複する場合の具体例を説明する図。Figures (a) to (c) illustrate specific examples of cases where the shape attribute determination results are duplicated. (a)~(c)は、点群が追跡される様子を説明する図。(a) to (c) are diagrams illustrating how the point cloud is tracked. (a)~(c)は、非対称距離を説明する図。(a) to (c) are diagrams illustrating asymmetric distance. 同程度の大きさのオブジェクトが接触し離れる様子を示す図。A diagram showing how objects of similar size come into contact and then separate. 実施形態2に係る、オブジェクト追跡処理の詳細を示すフローチャート。A flowchart showing the details of the object tracking process according to Embodiment 2.

以下、本実施形態を実施するための形態について図面などを参照して説明する。なお、以下の実施形態は、本開示の技術を限定するものではなく、また、以下の実施形態で説明されている全ての構成が課題を解決するための手段に必須であるとは限らない。 The embodiments for implementing this model will be described below with reference to the drawings and other materials. Note that the following embodiments are not intended to limit the technology of this disclosure, and not all configurations described in the following embodiments are necessarily essential for solving the problem.

[実施形態1]
はじめに、理想的なオブジェクトトラッキングについて具体例を参照して説明する。図1(a)は人がボールをリフティングしているシーンにおける特定の時刻(t-1、t、t+1)に対応する3つのフレームを抜き出した図である。この場合、各フレームから人とボールのシルエットに相当する前景領域を黒画素(画素値“1”)、それ以外の領域を白画素(画素値“0”)で表現した2値画像(シルエット画像)が、オブジェクトの二次元形状を示す形状データとして与えられる。ここで、シルエット画像における黒画素の中心を点と見做し、点の集合である点群をオブジェクトの二次元形状を表すものとして取り扱う。時刻t-1のフレームにおいては、人のシルエットとボールのシルエットとが離れているので、当該フレームには2つの点群PC_0及びPC_1が存在することになる。一方、時刻tのフレームにおいては、人のシルエットとボールのシルエットとが重なっているので、1つの点群PC_0しか存在しないことになる。なお、ここでは前景領域を構成する全ての画素の中心を点群と見做したが、前景領域の輪郭部分の画素の中心だけを点群としてもよい。
[Embodiment 1]
First, we will explain ideal object tracking with a concrete example. Figure 1(a) shows three frames extracted from a scene in which a person is juggling a ball, corresponding to specific times (t-1, t, t+1). In this case, a binary image (silhouette image) is given as shape data representing the two-dimensional shape of the object, in which the foreground region corresponding to the silhouettes of the person and the ball is represented by black pixels (pixel value "1") and the rest of the region by white pixels (pixel value "0"). Here, the center of the black pixels in the silhouette image is considered a point, and the point cloud, which is a collection of points, is treated as representing the two-dimensional shape of the object. In the frame at time t-1, the silhouette of the person and the silhouette of the ball are separated, so there are two point clouds, PC_0 and PC_1, in that frame. On the other hand, in the frame at time t, the silhouette of the person and the silhouette of the ball overlap, so there is only one point cloud, PC_0. Note that here, the centers of all pixels constituting the foreground region are considered as point clouds, but it is also acceptable to consider only the centers of pixels in the contour portion of the foreground region as point clouds.

本実施形態では、上述のような、オブジェクトの二次元形状を表す形状データが個々のフレームに含まれた、連続する複数のフレームから成る画像シーケンス(以下、「シーケンスデータ」と呼ぶ。)を処理対象とする。そして、図1(b)に示すように、入力されたシーケンスデータ内の各フレームにおけるオブジェクト形状を表す点群に対して正しくオブジェクトIDを付与して精度の高いオブジェクトトラッキングを実現することを目的とする。 In this embodiment, the target of processing is an image sequence consisting of multiple consecutive frames, each containing shape data representing the two-dimensional shape of an object (hereinafter referred to as "sequence data"). The objective is to achieve highly accurate object tracking by correctly assigning object IDs to the point cloud representing the object shape in each frame of the input sequence data, as shown in Figure 1(b).

なお、各フレームに含まれる形状データはオブジェクトの二次元形状を表すものに限定されず、三次元形状を表すボリュームデータでもよい。例えばボクセルで構成されるボリュームデータである場合は各ボクセルの中心点の集合を、オブジェクト形状を表す点群と見做せばよい。また、そのような点群のうちオブジェクト表面に分布する点群だけを用いてもよい。また、形状データが例えば表面に分布する点群をトポロジで繋いだポリゴンの集合によってオブジェクトの表面を表したメッシュデータである場合は、メッシュの面を無限数の点群の集合と見做せばよい。 Furthermore, the shape data included in each frame is not limited to representing the two-dimensional shape of an object; it may also be volume data representing a three-dimensional shape. For example, if the volume data is composed of voxels, the set of center points of each voxel can be considered as a point cloud representing the object's shape. Alternatively, only the point cloud distributed on the object's surface may be used. Also, if the shape data is mesh data representing the object's surface, for example, a set of polygons formed by topologically connecting point clouds distributed on the surface, then the faces of the mesh can be considered as a set of an infinite number of point clouds.

<ハードウェア構成>
図2は、画像処理装置100のハードウェア構成の一例を示す図である。情報処理装置である画像処理装置100は、CPU211、ROM212、RAM213、補助記憶装置214、操作部215、通信I/F216、及びバス217を有する。
<Hardware Configuration>
Figure 2 shows an example of the hardware configuration of the image processing device 100. The image processing device 100, which is an information processing device, has a CPU 211, ROM 212, RAM 213, auxiliary storage device 214, operation unit 215, communication I/F 216, and bus 217.

CPU211は、ROM212またはRAM213に格納されているコンピュータプログラムおよびデータを用いて画像処理装置100の全体を制御することで、画像処理装置100の各機能を実現する。なお、画像処理装置100は、CPU211とは異なる専用の1又は複数のハードウェアあるいはGPU(Graphics Processing Unit)を有していてもよい。そして、CPU211による処理の少なくとも一部をGPUあるいは専用のハードウェアが行うようにしても良い。専用のハードウェアの例としては、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)、およびDSP(デジタルシグナルプロセッサ)などがある。 The CPU 211 controls the entire image processing device 100 using computer programs and data stored in the ROM 212 or RAM 213, thereby realizing each function of the image processing device 100. The image processing device 100 may also have one or more dedicated hardware components or a GPU (Graphics Processing Unit) separate from the CPU 211. Furthermore, at least a portion of the processing performed by the CPU 211 may be performed by the GPU or dedicated hardware. Examples of dedicated hardware include ASICs (Application-Specific Integrated Circuits), FPGAs (Field-Programmable Gate Arrays), and DSPs (Digital Signal Processors).

ROM212は、変更を必要としないプログラムなどを格納する。RAM213は、補助記憶装置214から供給されるプログラムやデータ、及び通信I/F217を介して外部から供給されるデータなどを一時記憶する。補助記憶装置214は、例えばハードディスクドライブ等で構成され、入力される画像シーケンスなど種々のデータを記憶する。 ROM 212 stores programs and other data that do not require modification. RAM 213 temporarily stores programs and data supplied from the auxiliary storage device 214, as well as data supplied from external sources via the communication interface 217. The auxiliary storage device 214 is composed of, for example, a hard disk drive and stores various types of data, such as input image sequences.

操作部215は、例えばキーボードやマウス等で構成され、ユーザによる操作を受けて各種の指示をCPU211に入力する。CPU211は、表示装置104を制御する表示制御部、及び操作部215を制御する操作制御部として動作する。通信I/F216は、画像処理装置100の外部の装置との通信に用いられる。例えば、画像処理装置100が外部の装置と有線で接続される場合には、通信用のケーブルが通信I/F216に接続される。画像処理装置100が外部の装置と無線通信する機能を有する場合には、通信I/F216はアンテナを備える。 The operation unit 215 is composed of, for example, a keyboard or mouse, and receives various instructions from the user and inputs them to the CPU 211. The CPU 211 operates as a display control unit that controls the display device 104, and as an operation control unit that controls the operation unit 215. The communication interface 216 is used for communication between the image processing device 100 and external devices. For example, if the image processing device 100 is connected to an external device via a wired connection, a communication cable is connected to the communication interface 216. If the image processing device 100 has a function for wireless communication with an external device, the communication interface 216 is equipped with an antenna.

バス217は、画像処理装置100の各部を繋いで情報を伝達する。 Bus 217 connects the various parts of the image processing device 100 to transmit information.

<ソフトウェア構成>
図3は、画像処理装置100のソフトウェア構成の一例を示す図である。図3に示すように画像処理装置100は、データ入力部301、対応付け部302、追跡部303、データ出力部304の各機能部を有する。また、追跡部303は、属性判定部303a及びID付与部303bを有する。図4は、本実施形態に係るオブジェクトトラッキングの流れを示すフローチャートである。以下、図4のフローチャートを参照して、画像処理装置100の各機能部の動作について説明する。なお、以下の説明において記号「S」はステップを意味する。
<Software Configuration>
Figure 3 is a diagram showing an example of the software configuration of the image processing device 100. As shown in Figure 3, the image processing device 100 has the following functional units: a data input unit 301, a mapping unit 302, a tracking unit 303, and a data output unit 304. The tracking unit 303 also has an attribute determination unit 303a and an ID assignment unit 303b. Figure 4 is a flowchart showing the object tracking flow according to this embodiment. The operation of each functional unit of the image processing device 100 will be described below with reference to the flowchart in Figure 4. In the following description, the symbol "S" means step.

S401では、データ入力部301が、オブジェクトトラッキングの対象となるシーケンスデータを外部装置から入力する。 In S401, the data input unit 301 receives sequence data to be tracked from an external device.

S402では、対応付け部302が、入力されたシーケンスデータを構成するフレーム群について、各フレームに含まれる形状データに基づきオブジェクト形状を表す点群を解析し、隣接フレーム間での点群どうしを対応付ける処理を行う。隣接フレーム間での点群どうしの対応関係は方向と種別によって特定される。方向には、時間が進む方向である「順方向」と時間が戻る方向である「逆方向」がある。また、種別には、以下の3つがある。1つ目は、隣り合うフレーム間で対応関係にある点群どうしが一対一の関係にある「一対対応」である。2つ目は、注目フレームにおける1つの点群と前フレームにおける複数の点群とが対応関係にある「結合対応」である。3つ目は、注目フレームにおける1つの点群と次フレームにおける複数の点群とが対応関係にある「分離対応」である。決定された点群どうしの対応関係は、例えば、ノードとエッジで構成するグラフの形式で出力され、RAM213に保持される。対応付け処理の詳細については後述する。 In S402, the mapping unit 302 analyzes the point clouds representing object shapes based on the shape data contained in each frame of the frame group constituting the input sequence data, and performs a process to map point clouds between adjacent frames. The mapping relationship between point clouds between adjacent frames is determined by direction and type. Directions include "forward direction," which is the direction in which time progresses, and "reverse direction," which is the direction in which time goes backward. There are also three types: 1. "One-to-one correspondence," where point clouds in adjacent frames have a one-to-one relationship. 2. "Combined correspondence," where one point cloud in the frame of interest corresponds to multiple point clouds in the previous frame. 3. "Separated correspondence," where one point cloud in the frame of interest corresponds to multiple point clouds in the next frame. The determined point cloud mapping relationships are output, for example, in the form of a graph composed of nodes and edges, and stored in RAM 213. Details of the mapping process will be described later.

S403では、追跡部303が、対応付け部302で決定された点群どうしの対応関係に基づいて、シーケンスデータを構成する連続する複数のフレームに亘って各オブジェクトを追跡する処理を行う。この追跡処理では、まず属性判定部303aが、各フレームの形状データに対応する点群が、オブジェクトの単体形状を表しているのか、複数のオブジェクトが合わさった結合形状を表しているのかを判定する処理を行う。ここで、オブジェクトの単体形状を表す点群を「単体点群」と呼び、複数のオブジェクトの一纏まりに対応する、複数のオブジェクトが合わさった結合形状を表す点群を「非単体点群」と呼ぶこととする。このような形状属性の判定に続いて、ID付与部303bが、S402で得られた点群どうしの対応関係と上記形状属性の判定結果とに基づき、各フレームの点群にオブジェクトIDを付与して、オブジェクトを追跡する。このとき、追跡しているオブジェクトの特徴を利用し、特徴が似ている点群を、次フレームの点群の中から選択する。本実施形態では、点群を構成している点の総数を、オブジェクトの特徴として利用する。これは、シルエット画像における前景領域やその輪郭部分の画素数をその特徴として利用することと等価である。また、形状データがオブジェクトの三次元形状を示すボリュームデータの場合には、オブジェクトの体積(表面の点群の場合にはオブジェクトの表面積)をその特徴として利用することと等価である。追跡処理の詳細については後述する。 In S403, the tracking unit 303 performs a process to track each object across multiple consecutive frames that constitute the sequence data, based on the correspondence between point clouds determined by the correspondence unit 302. In this tracking process, first, the attribute determination unit 303a determines whether the point cloud corresponding to the shape data of each frame represents the shape of a single object or the combined shape of multiple objects. Here, the point cloud representing the shape of a single object is called a "single point cloud," and the point cloud representing the combined shape of multiple objects that corresponds to a group of multiple objects is called a "non-single point cloud." Following this determination of shape attributes, the ID assignment unit 303b assigns an object ID to the point cloud of each frame and tracks the object based on the correspondence between point clouds obtained in S402 and the result of the shape attribute determination above. At this time, using the characteristics of the object being tracked, it selects a point cloud with similar characteristics from the point cloud of the next frame. In this embodiment, the total number of points constituting the point cloud is used as the characteristics of the object. This is equivalent to using the number of pixels in the foreground region and its contours in a silhouette image as its features. Furthermore, if the shape data is volume data representing the three-dimensional shape of an object, this is equivalent to using the object's volume (or the object's surface area in the case of a point cloud of a surface) as its features. Details of the tracking process will be described later.

S404では、データ出力部305は、追跡部303による追跡処理の結果をトラッキングデータとして出力する。 In S404, the data output unit 305 outputs the results of the tracking process performed by the tracking unit 303 as tracking data.

なお、本実施形態においては上述の各機能部は、CPU211が所定のプログラムを実行することで実現されるものとして説明を行うが、その一部はハードウェアによって実現されてもよい。 In this embodiment, the above-described functional units are explained as being realized by the CPU 211 executing a predetermined program; however, some of these may be realized by hardware.

<対応付け処理>
図5は上述のS402における、隣接フレーム間で点群どうしを対応付ける処理の詳細を示すフローチャートである。以下、図5のフローチャートを参照して詳しく説明する。
<Matching process>
Figure 5 is a flowchart detailing the process of associating point clouds between adjacent frames in S402 described above. The following explanation will be given in detail with reference to the flowchart in Figure 5.

S501では、シーケンスデータ内の隣接フレーム間において距離の近い点群どうしが紐付けられる。そして、この紐付けは、時刻が進む方向である順方向と時刻が戻る方向である逆方向のそれぞれについて実行される。例えば順方向に時刻tとt+1のフレーム間の場合、時刻tのフレームの点群から見て、時刻t+1のフレームの各点群のうち最も距離が小さく、かつ、その距離が閾値以下の点群を見つけ、これを「順対応」とする。そして、逆方向の場合は、時刻t+1のフレームの点群から見て、時刻tのフレームの各点群のうち最も距離が小さく、かつ、その距離が閾値以下の点群を見つけ、これを「逆対応」とする。ここで、具体例を使って説明する。図6(a)は、隣接フレーム間における点群を模式的に表した図である。いま、時刻tのフレームには実線で示す大きな円形の点群601と小さな円形の点群602が存在し、時刻t+1のフレームには大きな円と小さな円とが接触した形の二点鎖線で示す1つの点群603が存在している。そして、図6(b)は、図6(a)に示す点群どうしの重心間の距離を示した図であり、黒丸が各点群における重心を表している。そして、両矢印604は時刻tの点群601と時刻t+1の点群603との重心間距離を表し、両矢印605は時刻tの点群602と時刻t+1の点群603との重心間距離を表す。この時、点群601は点群603に対し順対応の関係にあり、点群603は点群601に対し逆対応の関係にある。そして、点群602も点群603に対し順対応の関係にあり、点群603は点群602に対し逆対応の関係にある。ここで、予め設定された閾値が距離605よりも小さい場合には、点群602と点群603とは対応関係にないと判断されてしまう。そのため、本実施形態では両矢印605が示す程度の距離を許容するような閾値を設定する必要がある。図7は、撮像空間に3つのオブジェクトが存在するシーンのシーケンスデータが入力された場合の紐付けの結果の一例をグラフ構造で表したものである。いま、シーケンスデータには、t0、t1、t2、t3の4時刻分のフレームが含まれており、t0とt1、t1とt2、t2とt3の各ペアを対象に、点群どうしの紐付けが行われる。図7のグラフは、縦方向が同一フレーム内にある点群の位置の違いを表しており、横方向が時間軸を表している。フレーム間で点群どうしを結ぶ矢印は、紐付けの方向と種類を示している。例えば時刻t0のフレームにおける点群1は、時刻t1のフレームにおける点群3とは両矢印で結ばれ、点群4とは自身に向かう片矢印で結ばれている。これは、点群1が点群3に順対応し、点群3が点群1に逆対応していること、さらに、点群4が点群1に逆対応していることを意味している。このような処理が、シーケンスデータ内の全てのフレームを対象として本ステップにて実行される。 In S501, point clouds that are close together are linked between adjacent frames in the sequence data. This linking is performed in both the forward direction (time advancing) and the reverse direction (time reversing). For example, in the forward direction, between frames at time t and t+1, the point cloud at time t is found to have the smallest distance from the point cloud at time t+1, and that distance is below a threshold. This is designated as the "forward correspondence." In the reverse direction, the point cloud at time t+1 is found to have the smallest distance from the point cloud at time t, and that distance is below a threshold. This is designated as the "reverse correspondence." Let's explain this using a concrete example. Figure 6(a) is a schematic representation of point clouds between adjacent frames. Currently, in the frame at time t, there is a large circular point group 601 and a small circular point group 602, shown by solid lines. In the frame at time t+1, there is a single point group 603, shown by a dashed line, where the large and small circles are in contact. Figure 6(b) shows the distance between the centroids of the point groups shown in Figure 6(a), with black circles representing the centroids of each point group. The double arrow 604 represents the distance between the centroids of point group 601 at time t and point group 603 at time t+1, and the double arrow 605 represents the distance between the centroids of point group 602 at time t and point group 603 at time t+1. At this time, point group 601 has a forward correspondence with point group 603, and point group 603 has an inverse correspondence with point group 601. Similarly, point group 602 has a forward correspondence with point group 603, and point group 603 has an inverse correspondence with point group 602. Here, if the preset threshold is smaller than the distance 605, it will be determined that point cloud 602 and point cloud 603 do not correspond to each other. Therefore, in this embodiment, it is necessary to set a threshold that allows a distance of the magnitude indicated by the double arrow 605. Figure 7 is a graph structure representing an example of the result of linking when sequence data of a scene in which three objects exist in the imaging space is input. The sequence data contains frames for four time points t0, t1, t2, and t3, and point clouds are linked to each pair of t0 and t1, t1 and t2, and t2 and t3. In the graph of Figure 7, the vertical direction represents the difference in the position of point clouds within the same frame, and the horizontal direction represents the time axis. The arrows connecting point clouds between frames indicate the direction and type of linking. For example, point cloud 1 in the frame at time t0 is connected to point cloud 3 in the frame at time t1 by a double arrow, and to point cloud 4 by a single arrow pointing to itself. This means that point cloud 1 corresponds directly to point cloud 3, point cloud 3 corresponds inversely to point cloud 1, and furthermore, point cloud 4 corresponds inversely to point cloud 1. This process is performed on all frames within the sequence data in this step.

S502では、シーケンスデータを構成するフレーム群の中の注目フレームにおける注目点群についての、S501にて紐付けされた次フレーム内の点群の数に応じて、次に進む処理の振り分けがなされる。シーケンスデータの先頭フレームから順に注目フレームとして設定され、設定された注目フレーム内の注目点群に紐付けされた点群の数(上述の図7において点群どうしを繋ぐ矢印の数)が0個の場合はS507に進み、1個の場合はS503に進み、2個以上の場合はS506に進む。 In S502, the processing to proceed to the next step is determined based on the number of point clouds in the next frame linked in S501 to the point cloud of interest in the frame of interest within the frame group that constitutes the sequence data. The frames are set as frames of interest in order from the first frame of the sequence data. If the number of point clouds linked to the point cloud of interest in the set frame of interest (the number of arrows connecting the point clouds in Figure 7 above) is 0, the process proceeds to S507; if it is 1, the process proceeds to S503; and if it is 2 or more, the process proceeds to S506.

S503では、注目点群に紐付けされた逆対応の数に応じて、次に進む処理の振り分けがなされる。注目点群に紐付けされた逆対応の数が1個の場合はS504に進み、2個の場合はS505に進む。 In S503, the next processing step is determined based on the number of inverse correspondences associated with the point group of interest. If there is one inverse correspondence associated with the point group of interest, the process proceeds to S504; if there are two, it proceeds to S505.

S504では、注目点群の遷移状態が、順方向と逆方向の双方について「一対対応」に決定される。 In S504, the transition states of the point group of interest are determined in a "one-to-one correspondence" for both the forward and reverse directions.

S505では、注目点群の遷移状態が、順方向について「結合対応」、逆方向について「分離対応」に決定される。 In S505, the transition state of the point group of interest is determined to be "joined" in the forward direction and "separated" in the reverse direction.

S506では、注目点群の遷移状態が、順方向について「分離対応」、逆方向について「結合対応」に決定される。 In S506, the transition state of the point group of interest is determined as "separated correspondence" in the forward direction and "joined correspondence" in the reverse direction.

S507では、注目フレームに含まれる点群についてすべて処理されたかが判定され、未処理の点群があればその中から次の注目する点群を決定して処理を続行する。すべての点群が処理されていればS508に進む。 In S507, it is determined whether all point clouds in the frame of interest have been processed. If there are any unprocessed point clouds, the next point cloud of interest is selected from them and processing continues. If all point clouds have been processed, the process proceeds to S508.

S508では、シーケンスデータを構成するすべてのフレームが処理されたか否かが判定され、未処理のフレームがあればその中から次の注目するフレームを決定して処理を続行する。すべてのフレームが処理されていれば本処理を終了する。 In S508, it is determined whether all frames constituting the sequence data have been processed. If there are unprocessed frames, the next frame to focus on is selected from among them, and processing continues. If all frames have been processed, this process ends.

以上が、対応付け処理の内容である。ここで、前述の図7を参照し、注目フレームが時刻t0のフレームであった場合を例に、対応付け処理の結果の具体例を示す。 The above describes the mapping process. Now, referring to Figure 7 mentioned earlier, we will show a concrete example of the result of the mapping process, using the case where the frame of interest is the frame at time t0.

≪注目点群が点群1の場合≫
次フレームであるt1のフレーム内の点群と繋がる矢印の数は、点群3との間の両矢印と点群4との間の片矢印の2個なので、S502の判定にてS506に進むことになる。そして、S506にて、順方向について「分離対応」、逆方向について「結合対応」に決定される。ここで、順方向についてみると、点群1は次フレーム(t1のフレーム)において点群3と点群4に分離しており、「分離対応」の判定結果は実態に即している。また、逆方向については、t1のフレームにおける点群3と点群4とがt0のフレームにおいて結合して点群1となっており、「結合対応」の判定結果も実態に即している。
≪When the point group of interest is point group 1≫
The number of arrows connecting the point cloud in the next frame, t1, to point cloud 3 is two: a double arrow to point cloud 3 and a single arrow to point cloud 4. Therefore, the determination in S502 leads to proceeding to S506. In S506, it is determined that the forward direction corresponds to "separation" and the reverse direction corresponds to "combination". Looking at the forward direction, point cloud 1 is separated into point cloud 3 and point cloud 4 in the next frame (frame t1), so the determination result of "separation" is accurate. Also, regarding the reverse direction, point cloud 3 and point cloud 4 in frame t1 are combined into point cloud 1 in frame t0, so the determination result of "combination" is also accurate.

≪注目点群が点群2の場合≫
次フレームであるt1のフレーム内の点群と繋がる矢印の数は、点群5との間の両矢印が1個なので、S502の判定にてS503に進むことになる。そして、逆対応の数は点群5から点群2に向かう1個だけなので、S503の判定にてS504に進むことになる。そして、S504にて、順方向と逆方向の双方について「一対対応」に決定される。点群2は、次フレーム(t1のフレーム)における点群5と一対一の対応関係にあるので、「一対対応」は実態に即している。
≪When the point group of interest is point group 2≫
The number of arrows connecting the point cloud in the next frame, t1, to point cloud 5 is one double-headed arrow, so the decision in S502 leads to proceeding to S503. Then, the number of inverse correspondences is only one, from point cloud 5 to point cloud 2, so the decision in S503 leads to proceeding to S504. Then, in S504, a "one-to-one correspondence" is determined for both the forward and reverse directions. Point cloud 2 has a one-to-one correspondence with point cloud 5 in the next frame (frame t1), so the "one-to-one correspondence" is accurate.

<追跡処理>
図8は上述のS403における、連続する複数のフレームを対象にオブジェクトを追跡する処理の詳細を示すフローチャートである。以下、図8のフローチャートを参照して詳しく説明する。
<Tracking process>
Figure 8 is a flowchart detailing the process of tracking an object across multiple consecutive frames in S403 described above. The following explanation will be given in detail with reference to the flowchart in Figure 8.

S801では、属性判定部303aによって、シーケンスデータ内のすべてのフレームの点群について、単体点群か非単体点群かを判定する形状属性の判定が行われる。この形状属性の判定は一次処理と二次処理とから成る。 In S801, the attribute determination unit 303a performs a shape attribute determination for all point clouds in the sequence data, determining whether they are single point clouds or multi-point clouds. This shape attribute determination consists of a primary process and a secondary process.

≪一次処理≫
一次処理では、前述の対応付け処理にて前後フレームとの関係において順方向又は逆方向のいずれかから結合対応していると決定された点群を「非単体点群」と判定し、分離対応していると決定された点群を「単体点群」と判定する。図9(a)は、前述の図7に示す4つのフレームに含まれる各点群に対して一次判定を行った結果を示す図である。いま、単体点群と判定された点群に対して記号“S”、非単体点群と判定された点群に対して記号“M”を付している。
<<Primary Processing>>
In the primary processing, point clouds determined to be connected in either the forward or reverse direction in relation to the preceding and succeeding frames in the aforementioned mapping process are determined to be "non-single point clouds," and point clouds determined to be separated are determined to be "single point clouds." Figure 9(a) shows the results of the primary determination performed on each point cloud included in the four frames shown in Figure 7 above. Point clouds determined to be single point clouds are marked with the symbol "S," and point clouds determined to be non-single point clouds are marked with the symbol "M."

≪二次処理≫
次に二次処理では、前述の対応付け処理にて前後フレームとの関係において一対対応していると決定された点群について、その紐付いている前後フレームの点群に対して、自身の一時判定の結果を伝播させる。その結果、図9(b)に示すように、全ての点群に対して単体点群又は非単体点群の判定結果が付与される。
≪Secondary Processing≫
Next, in the secondary processing, for point clouds that were determined to have a one-to-one correspondence with the preceding and succeeding frames in the aforementioned mapping process, the results of their initial determination are propagated to the point clouds of the preceding and succeeding frames that are associated with them. As a result, as shown in Figure 9(b), all point clouds are assigned a determination result of whether they are single point clouds or not.

ここで留意すべきは、前後のフレームのどの点群とも紐づかない点群(図7のt1のフレームにおける点群6)については、単体点群とも非単体点群とも判定されずに削除されるという点である。これは、当該点群についてはノイズであると判定することと同義であり、形状データを生成する際の誤りによって現実には存在しないオブジェクトの偽形状が抽出されていても、それに対応する点群に対してオブジェクトIDが生成・付与されることを防ぐ。 It is important to note here that point clouds that are not linked to any point clouds in the preceding or following frames (point cloud 6 in frame t1 of Figure 7) are deleted without being determined to be either a standalone point cloud or a non-standalone point cloud. This is equivalent to determining that such a point cloud is noise, preventing the generation and assignment of object IDs to point clouds that contain false shapes of non-existent objects due to errors in generating shape data.

≪判定結果の重複≫
なお、一次処理及び二次処理において単体点群と非単体点群とが重複した場合には、いずれの場合も非単体点群の判定を優先する。図10(a)~(c)は、形状属性の判定結果が重複する場合の具体例を説明する図である。いま、図10(a)は形状属性の判定を行う前の状態を示しており、同(b)は一次処理の結果を、同(c)は二次処理の結果を示している。図10(b)において破線の枠で示すように、まず一次処理にて時刻t1のフレームの点群1は、時刻t0のフレームの点群0との関係で分離対応と決定されているので単体点群(S)と判定される。しかしながら、非単体点群と判定された時刻t2のフレームの点群3との関係で一対対応と決定されていることから、図10(c)において破線の枠で示すように、二次処理にて非単体点群(M)に書き換わっている。
≪Duplicate judgment results≫
In addition, if a single point cloud and a non-single point cloud overlap in the primary and secondary processing, the determination of the non-single point cloud takes precedence in both cases. Figures 10(a) to (c) illustrate specific examples of cases where the shape attribute determination results overlap. Figure 10(a) shows the state before the shape attribute determination, (b) shows the result of the primary processing, and (c) shows the result of the secondary processing. As shown by the dashed box in Figure 10(b), in the primary processing, point cloud 1 of the frame at time t1 is determined to be a separate correspondence in relation to point cloud 0 of the frame at time t0, and is therefore determined to be a single point cloud (S). However, since it is determined to be a pair correspondence in relation to point cloud 3 of the frame at time t2, which was determined to be a non-single point cloud, it is rewritten to a non-single point cloud (M) in the secondary processing, as shown by the dashed box in Figure 10(c).

図8のフローの説明に戻る。S802以降の処理はID付与部303bによって実行される。 Returning to the explanation of the flow in Figure 8, the processing from S802 onward is executed by the ID assignment unit 303b.

S802では、所定の追跡方向における開始フレームの注目点群に対しオブジェクトIDが付与される。この際、追跡するオブジェクトの大きさを示す注目点群を構成する点の数が、追跡中のオブジェクトの特徴情報としてRAM213に保持される。ここで、特徴情報として保持可能な点の数に下限値を設定しておくことで、撮像シーン内のオブジェクトとしては小さすぎる点群(ノイズ)が注目点群として決定されるのを防ぐことができる。なお、順方向に追跡する場合の開始フレームはシーケンスデータの先頭フレームであり、逆方向)に追跡する場合の開始フレームはシーケンスデータの最終フレームである。順方向と逆方向のどちらを先に行ってもよく、いずれかの時間軸方向で行ったら次に残りの時間軸方向について行えばよい。注目点群に付与されるオブジェクトID(以下、単に「ID」と表記)は、オブジェクトを一意に識別可能な情報であればどのようなものでもよい。 In S802, an object ID is assigned to the point cloud of interest at the starting frame in a predetermined tracking direction. At this time, the number of points constituting the point cloud, which indicates the size of the object being tracked, is stored in RAM 213 as characteristic information of the object being tracked. By setting a lower limit on the number of points that can be stored as characteristic information, it is possible to prevent point clouds (noise) that are too small to be objects in the imaging scene from being selected as the point cloud of interest. Note that the starting frame when tracking in the forward direction is the first frame of the sequence data, and the starting frame when tracking in the reverse direction is the last frame of the sequence data. Either forward or reverse tracking can be performed first; once one time axis direction is completed, the remaining time axis direction can be tracked next. The object ID assigned to the point cloud of interest (hereinafter simply referred to as "ID") can be any information that uniquely identifies the object.

S803では、IDが付与された注目点群が単体点群であるか否かによって、次に進む処理の振り分けがなされる。注目点群が単体点群であればS804に進み、非単体点群であればS805に進む。 In S803, the next processing step is determined based on whether the point group of interest, to which an ID has been assigned, is a single point group or not. If the point group of interest is a single point group, the process proceeds to S804; otherwise, it proceeds to S805.

S804では、追跡中のオブジェクトの特徴情報が更新される。具体的には、同一IDについての現時点までの追跡過程における、単体点群である注目点群の点の数の平均値を算出し、得られた平均値を追跡中のオブジェクトの新たな特徴としてRAM213に保持する。このように、注目点群が単体点群である時のみオブジェクトの特徴を示す情報を更新することで、他のオブジェクトとの接触による、追跡中のオブジェクト本来の特徴の乱れを回避することができる。なお、形状データがオブジェクトの三次元形状を表す例えばメッシュデータであった場合には、ポリゴンの面積の和(表面積)をオブジェクトの特徴情報として用いるなどすればよい。 In S804, the feature information of the object being tracked is updated. Specifically, the average number of points in the single point cloud of interest for the same ID up to the present time is calculated, and the obtained average value is stored in RAM 213 as a new feature of the object being tracked. In this way, by updating the information indicating the object's features only when the point cloud of interest is a single point cloud, it is possible to avoid distortion of the original features of the object being tracked due to contact with other objects. If the shape data is, for example, mesh data representing the three-dimensional shape of the object, the sum of the polygon areas (surface area) can be used as the object's feature information.

S805では、注目点群が属するフレームに対して次フレームがあるか否かが判定される。処理対象の時間軸方向が順方向の場合、時刻tの対象フレームに対する次フレームは時刻t+1のフレームであり、処理対象の時間軸方向が逆方向の場合、時刻tの対象フレームに対する次フレームは時刻t-1のフレームである。次フレームが存在する場合はS806に進み、存在しなければS810に進む。 In S805, it is determined whether there is a next frame for the frame to which the point group of interest belongs. If the time axis direction of the processing target is forward, the next frame for the target frame at time t is the frame at time t+1. If the time axis direction of the processing target is reverse, the next frame for the target frame at time t is the frame at time t-1. If a next frame exists, the process proceeds to S806; otherwise, it proceeds to S810.

S806では、オブジェクトの特徴情報に基づき、次フレームの点群の中から注目点群と似ている点群が選択される。本実施形態では、特徴情報として保持されている点の数に最も近い点の数を持つ点群が、次フレームの点群の中から選択されることになる。ここで、具体例を用いて説明する。いま、特徴情報としての点の数が100個であるとする。そして、次フレーム内に95個の点で構成される点群と102個の点で構成される点群があったとすれば、後者の点群が選択されることになる。ここで、次フレーム内には98個の点で構成される点群Aと、102個の点で構成される点群Bが存在したとする。この場合、保持されている点の数“100個”との差分は、いずれも2個でありこのままではいずれを選択すべきか判断できない。よって、このような場合は、それぞれの値と保持されている点の数との比の値をサイズ評価値として求め、求めた値が1に近い方を選択すればよい。上述の例では、点群Aについては100÷99≒1.0204、点群Bについては100÷102≒0.9804となり、サイズ評価値がより1に近い点群Bが選択されることになる。なお、オブジェクトとして小さすぎる点群(ノイズ)が選択されないよう閾値を設けておき、閾値を超える点の数を持つ点群の中から上記選択を行うようにしてもよい。このように本実施形態では、点群の大きさを基準に注目点群に似ている点群を次フレームから選択する。これによって、例えばボールと人など明らかに大きさの異なる複数のオブジェクトが、ある時刻において接触し別の時刻において離れるといった状況が起きていたとしても、当該複数のオブジェクト間でIDが入れ替わってしまうのを回避することができる。 In S806, based on the object's feature information, a point cloud similar to the point cloud of interest is selected from the point clouds of the next frame. In this embodiment, the point cloud with the number of points closest to the number of points held as feature information is selected from the point clouds of the next frame. Let's explain this using a specific example. Suppose the number of points in the feature information is 100. If there are two point clouds in the next frame, one consisting of 95 points and the other of 102 points, the latter point cloud will be selected. Now, suppose there are two point clouds in the next frame: point cloud A consisting of 98 points and point cloud B consisting of 102 points. In this case, the difference between the number of points held ("100") and the number of points is 2 in both cases, so it is impossible to determine which to select as is. Therefore, in such cases, the ratio of each value to the number of points held is calculated as the size evaluation value, and the one whose calculated value is closest to 1 is selected. In the example above, point cloud A has a size evaluation value of approximately 100 ÷ 99 ≈ 1.0204, while point cloud B has a size evaluation value of approximately 0.9804. Therefore, point cloud B, which has a size evaluation value closer to 1, is selected. Alternatively, a threshold can be set to prevent the selection of point clouds that are too small as objects (noise), and the above selection can be made from point clouds with a number of points exceeding this threshold. Thus, in this embodiment, point clouds similar to the point cloud of interest are selected from the next frame based on their size. This prevents the IDs from being swapped between multiple objects, even if, for example, multiple objects of clearly different sizes, such as a ball and a person, come into contact at one time and separate at another.

S807では、注目点群と似ている点群が次フレームの点群の中から選択できたか否かによって、次に進む処理の振り分けがなされる。選択できた場合にはS808に進み、選択できなかった場合にはS810に進む。 In S807, the process is divided based on whether or not a point cloud similar to the point cloud of interest can be selected from the point cloud of the next frame. If a similar point cloud can be selected, the process proceeds to S808; otherwise, it proceeds to S810.

S808では、S806にて選択された次フレームの点群に対し、注目点群に付与されているIDと同じIDが付与される。続くS809では、同じIDが付与された当該次フレームの点群を次の注目点群に設定する更新処理が行われる。更新完了後はS803に戻って同様の処理が繰り返される。 In S808, the point cloud of the next frame selected in S806 is assigned the same ID as the ID assigned to the point cloud of interest. In the following S809, an update process is performed to set the point cloud of the next frame, which now has the same ID, as the next point cloud of interest. After the update is complete, the process returns to S803 and is repeated.

S810では、開始フレームに含まれるすべての点群について上述の処理が完了したか否かが判定される。開始フレーム内に未処理の点群があればS802に戻って次の注目点群を決定して処理が続行される。一方、開始フレーム内のすべての点群が処理されていればS811に進む。 In S810, it is determined whether the above processing has been completed for all point clouds included in the starting frame. If there are any unprocessed point clouds in the starting frame, the process returns to S802 to determine the next point cloud of interest and continues processing. On the other hand, if all point clouds in the starting frame have been processed, the process proceeds to S811.

S811では、順方向と逆方向の両方向において点群の追跡が完了したか否かが判定される。未処理の方向があればS812に進んで処理対象の時間軸方向を反対方向に変更し、改めてS802以降の処理を開始する。 In S811, it is determined whether point cloud tracking is complete in both the forward and reverse directions. If there are any unprocessed directions, the process proceeds to S812, where the time axis direction of the processing target is changed to the opposite direction, and the processing from S802 onwards is restarted.

以上が、本実施形態に係る、追跡処理の内容である。ここで、図11の(a)~(c)を参照し、点群がどのように追跡されるのかを時系列に沿って説明する。 The above describes the tracking process according to this embodiment. Now, referring to Figures 11(a) to (c), we will explain how the point cloud is tracked in chronological order.

図11(a)において、点群1101は、最初の処理対象の時間軸方向が順方向の場合において、開始フレームとしての時刻t0のフレームにおける最初の注目点群である。まず点群1101にID“0”が付与される(S802)。そして、点群1101は単体点群ではなく(S803でNo)、かつ次フレームが存在する(S805でYes)。よって、次フレームである時刻t1のフレームからオブジェクトの特徴が最も近い点群1102が選択され(S806)、同一ID“0”が付与される(S808)。同様の処理を最終フレームである時刻t3のフレームまで行い、時刻t2のフレームにおける点群1103と時刻t3のフレームにおける点群1104にも同じID“0”が付与される。 In Figure 11(a), point cloud 1101 is the first point cloud of interest in the frame at time t0, which is the starting frame, when the time axis direction of the first processing target is forward. First, point cloud 1101 is assigned the ID "0" (S802). Then, point cloud 1101 is not a single point cloud (No in S803), and there is a next frame (Yes in S805). Therefore, point cloud 1102, which has the closest object features, is selected from the next frame at time t1 (S806), and the same ID "0" is assigned to it (S808). Similar processing is performed up to the final frame at time t3, and the same ID "0" is assigned to point cloud 1103 in the frame at time t2 and point cloud 1104 in the frame at time t3.

そして、図11(b)は、開始フレームとしての時刻t0のフレームにおける二つ目の点群1105を起点として同様に追跡を行った結果を示している。点群1105に付与されたID“1”と同じID“1”が、残りの各フレームの対応する点群1106、1107、1108に対し付与されている。この時点で順方向における開始フレーム内のすべての点群について追跡が完了したことになる。ここで、図11(b)をみると、時刻t1のフレームと時刻t3のフレームそれぞれに、IDが付与されていない点群1009及び1110が残っている。これは、撮像空間には本来3つのオブジェクトが存在しているにもかかわらず、順方向の開始フレームでは3つのオブジェクトのうち2つが結合し、オブジェクトの形状を示す点群が2個しか得られなかったためである。このような事態の発生を考慮し、本実施形態では、順方向への追跡が終わると次に逆方向への追跡を行うこととしている。 Figure 11(b) shows the results of a similar tracking process, starting from the second point cloud 1105 in the frame at time t0, which serves as the starting frame. The same ID "1" assigned to point cloud 1105 is also assigned to the corresponding point clouds 1106, 1107, and 1108 in the remaining frames. At this point, tracking of all point clouds in the starting frame in the forward direction is complete. Looking at Figure 11(b), we can see that point clouds 1009 and 1110, which have not been assigned IDs, remain in the frames at time t1 and t3, respectively. This is because, although there are originally three objects in the imaging space, in the starting frame in the forward direction, two of the three objects merged, resulting in only two point clouds representing the object shapes. Considering the possibility of such situations, in this embodiment, after tracking in the forward direction is completed, tracking in the reverse direction is performed.

図11(c)は、時刻t3のフレームを開始フレームとして逆方向に同様の追跡を実行した結果を示している。時刻t3のフレームにおける点群1109を起点とした逆方向の追跡によって、順方向の追跡ではIDが付与さなかった点群1109と点群1110に対しても、共通のID“2”が付与されている。こうして、シーケンスデータを構成する複数のフレーム内の点群それぞれに対して漏れなくIDが付与されることになる。 Figure 11(c) shows the result of performing a similar trace in reverse, starting with the frame at time t3 as the starting frame. By tracing in reverse, starting from point cloud 1109 in the frame at time t3, the common ID "2" is assigned to point clouds 1109 and 1110, which were not assigned IDs in the forward trace. In this way, IDs are assigned to every point cloud within the multiple frames that make up the sequence data without any omissions.

<変形例>
シーケンスデータの最初と最後のフレームをそれぞれ起点とした追跡処理を順方向と逆方向に行うだけでは、IDが付与されないままの点群が残ってしまう場合がある。そこで、中間フレームの点群を起点として、さらに順方向と逆方向それぞれに追跡処理を行ってもよい。これによりIDが付与されないままの点群が残ってしまうリスクを低減することができる。
<Different example>
Simply performing tracking processes in both forward and reverse directions, starting from the first and last frames of the sequence data, may result in some point clouds remaining without assigned IDs. Therefore, it is also possible to perform further tracking processes in both forward and reverse directions, starting from the point clouds of intermediate frames. This reduces the risk of point clouds remaining without assigned IDs.

以上のとおり本実施形態によれば、撮像シーン内に存在する複数のオブジェクトが接触したり離れたりを繰り返すような場合において、予め人なのか物なのかといったことを特定しなくても精度よくに各オブジェクトを追跡することができる。 As described above, according to this embodiment, in cases where multiple objects within the imaging scene repeatedly come into contact with and separate from each other, it is possible to accurately track each object without having to pre-determine whether it is a person or an object.

[実施形態2]
実施形態1では、隣接フレーム間で点群どうしの対応関係を決定する際に、点群の重心間の距離を用いた。この重心間の距離は、点群Aから見た点群Bまでの距離と点群Bから見た点群Aまでの距離とが等しく「対称距離」と呼ばれる。次に、点群Aから見た点群Bまでの距離と点群Bから見た点群Aまでの距離とが異なる「非対称距離」によって点群間の距離を定義し、これを利用して点群どうしの対応関係を決定する態様を、実施形態2として説明する。なお、実施形態1と共通する内容については説明を省略し、以下では差異点を中心に説明を行うこととする。
[Embodiment 2]
In Embodiment 1, the distance between the centroids of the point clouds was used to determine the correspondence between point clouds in adjacent frames. This distance between centroids is called the "symmetric distance" because the distance from point cloud A to point cloud B is equal to the distance from point cloud B to point cloud A. Next, Embodiment 2 describes a method in which the distance between point clouds is defined by an "asymmetric distance," where the distance from point cloud A to point cloud B is different to the distance from point cloud B to point cloud A, and the correspondence between point clouds is determined using this asymmetric distance. Note that the explanation of content common to Embodiment 1 will be omitted, and the following explanation will focus on the differences.

<非対称距離について>
まず、本実施形態における基礎的な概念である非対称距離について説明する。いま、点群Aの点集合をX、点群Bの点集合をYとする。このときの点群Aに対する点群Bの距離dは、以下の式(1)で表される。
<About asymmetrical distance>
First, let's explain the fundamental concept of asymmetric distance in this embodiment. Let X be the set of points in point cloud A, and Y be the set of points in point cloud B. The distance d from point cloud A to point cloud B is given by the following equation (1).

上記式(1)において、Xの要素である点xに対して最も近いYの要素までの距離を求め、X全体に対してその最大値を得ることで、上記距離dを求めることができる。図12(a)において、実線で示す点群1201及び1202は時刻tのフレームに属し、二点鎖線で示す点群1203は時刻t+1のフレームに属するものとする。この時、点群1201に対する点群1203の距離d(点群1201→点群1203)及び点群1203に対する点群1201の距離d(点群1203→点群1201)は、図12(b)において、矢印1204及び矢印1205でそれぞれ表される。また、点群1202に対する点群1203の距離d(1202→1203)は矢印1207で表され、点群1203に対する点群1202の距離d(1203→1202)は矢印1206で表される。距離を求める方向によってその値が異なることが図12(b)及び(c)から分かる。 In equation (1) above, the distance d can be determined by finding the distance from a point x, which is an element of X, to the nearest element of Y, and then obtaining the maximum value of this distance over the entire X. In Figure 12(a), the point groups 1201 and 1202, shown by solid lines, belong to the frame at time t, and the point group 1203, shown by a dashed line, belongs to the frame at time t+1. In this case, the distance d from point group 1203 to point group 1201 (point group 1201 → point group 1203) and the distance d from point group 1203 to point group 1201 (point group 1203 → point group 1201) are represented by arrows 1204 and 1205, respectively, in Figure 12(b). Furthermore, the distance d(1202→1203) between point cloud 1202 and point cloud 1203 is represented by arrow 1207, and the distance d(1203→1202) between point cloud 1203 and point cloud 1202 is represented by arrow 1206. Figures 12(b) and (c) show that the value differs depending on the direction in which the distance is calculated.

上記のような非対称距離を利用することの利点は、複数のオブジェクトが接触した状態から離れた状態に移行した際に、大きいオブジェクトと小さいオブジェクトとの対応付けが安定することにある。実施形態1では、時刻tのフレームの点群1202と時刻t+1のフレームのる点群1203とが紐づくように、対応付けのための閾値を大きくとる必要があった。しかしながら、閾値を大きくとることは誤った対応付けの原因ともなり、追跡の誤りの危険が大きくなる。非対称距離を利用することで、閾値を小さくとっても対応関係を切れさせることなく、正確な対応関係を表すグラフが得られることになる。 The advantage of using the asymmetric distance described above is that when multiple objects transition from a state of contact to a state of separation, the correspondence between larger and smaller objects remains stable. In Embodiment 1, it was necessary to set a large threshold for correspondence so that the point cloud 1202 in the frame at time t and the point cloud 1203 in the frame at time t+1 were linked. However, setting a large threshold can lead to incorrect correspondences, increasing the risk of tracking errors. By using asymmetric distance, it is possible to obtain a graph that accurately represents the correspondence without breaking the correspondence relationship, even with a small threshold.

<追跡処理>
図14は、本実施形態に係る、連続する複数のフレームを対象としてオブジェクトを追跡する処理の詳細を示すフローチャートである。以下、図14のフローチャートを参照し、実施形態1の図8のフローチャートとの違いを中心に詳しく説明する。
<Tracking process>
Figure 14 is a flowchart detailing the process of tracking an object over multiple consecutive frames according to this embodiment. The following explanation will focus on the differences between this embodiment and the flowchart in Figure 8 of Embodiment 1, referring to the flowchart in Figure 14.

S1401では、S801と同様、各フレーム内の点群毎に形状属性の判定が行われる。次のS1402では、S803と同様、追跡の対象フレームにおける注目する点群が単体点群であるか否かによって、次に進む処理の振り分けがなされる。注目点群が単体点群であればS1403に進み、非単体点群であればS1404に進む。 In S1401, similar to S801, the shape attributes are determined for each point cloud within each frame. In the following S1402, similar to S803, the process is divided based on whether the point cloud of interest in the target frame is a single point cloud or not. If the point cloud of interest is a single point cloud, the process proceeds to S1403; otherwise, it proceeds to S1404.

S1403では、注目点群に対応する追跡中のオブジェクトの特徴情報が更新される。実施形態1ではオブジェクトの大きさを示す情報である点群の総数を特徴情報として用いたが、本実施形態ではさらにオブジェクトの位置を示す情報を用いる。具体的には、注目点群が最後(直近)に単体点群であったときの位置から現在の位置がどれだけ離れているか(移動距離)を示す情報を特徴情報として用いる。注目点群がいずれかの点群と結合した後に分離した場合、結合前の注目点群の位置と選択候補の各点群の位置との距離を求めて距離が近い方(具体的には、サイズ評価値に距離で除算した値が大きい方)の点群を選択する。このようにオブジェクトの位置を加味して次フレーム内の点群を選択することで、図13に示すように、同程度の大きさを持つ複数のオブジェクトが接触した後に分離しても、安定した追跡が可能になる。例えば前述のS806の説明で用いた具体例(サイズ評価値に僅かな差しかない点群Aと点群B)において、注目点群が最後に単体点群であったときの位置からの距離が、点群Aは0.5m、点群Bは0.8mであったとする。いま、点群の点群Aのサイズ評価値が1.0204、点群Bのサイズ評価値が0.9804であるので、それぞれのサイズ評価値を距離で除算すると、点群Aについては2.0408、点群Bについては1.2255となる。つまり、点群Aの方が除算後の値が大きくなるので、点群Aが選択されることになる。 In S1403, the feature information of the object being tracked, corresponding to the point cloud of interest, is updated. In Embodiment 1, the total number of points in the point cloud, which indicates the size of the object, was used as feature information. However, in this embodiment, information indicating the position of the object is also used. Specifically, information indicating how far the current position is from the position when the point cloud of interest was last (most recently) a single point cloud (travel distance) is used as feature information. If the point cloud of interest merges with another point cloud and then separates, the distance between the position of the point cloud of interest before merging and the positions of each candidate point cloud is calculated, and the point cloud with the shorter distance (specifically, the one with a larger value obtained by dividing the size evaluation value by the distance) is selected. By selecting the point cloud in the next frame while taking the position of the object into consideration in this way, stable tracking becomes possible even if multiple objects of similar size come into contact and then separate, as shown in Figure 13. For example, in the specific example used in the explanation of S806 above (point clouds A and B with only a slight difference in size evaluation values), suppose the distance from the position where the point cloud of interest was last a single point cloud was 0.5m for point cloud A and 0.8m for point cloud B. Now, the size evaluation value of point cloud A is 1.0204 and the size evaluation value of point cloud B is 0.9804. Dividing each size evaluation value by the distance gives 2.0408 for point cloud A and 1.2255 for point cloud B. Therefore, since the value after division is larger for point cloud A, point cloud A is selected.

S1404では、S805と同様、注目点群が属する対象フレームに対して次フレームがあるか否かが判定される。次フレームが存在する場合はS1405に進み、存在しなければS1409に進む。 In S1404, similar to S805, it is determined whether there is a next frame for the target frame to which the group of points of interest belongs. If a next frame exists, the process proceeds to S1405; otherwise, it proceeds to S1409.

S1405では、オブジェクトの特徴情報に基づき、次フレームの点群の中から注目点群と似ている点群が選択される。本実施形態の場合、点群の大きさを示す情報に加え、直近の単体点群の位置を基準に注目点群と似ている点群が次フレームの中から選択される。 In S1405, based on the object's feature information, a point cloud similar to the point cloud of interest is selected from the point cloud of the next frame. In this embodiment, in addition to information indicating the size of the point cloud, a point cloud similar to the point cloud of interest is selected from the next frame based on the position of the most recent single point cloud.

S1406では、S807と同様、注目点群と似ている点群が次フレームの中から選択できたか否かによって、次に進む処理の振り分けがなされる。選択できた場合にはS1407に進み、選択できなかった場合にはS1409に進む。 In S1406, similar to S807, the process to proceed to the next step is determined by whether or not a point cloud similar to the point cloud of interest can be selected from the next frame. If a similar point cloud can be selected, the process proceeds to S1407; otherwise, it proceeds to S1409.

S1407では、次フレームから対応する点群が選択できた回数を計数するカウンタ(以下、「追跡カウンタ」と呼ぶ)のカウント値がインクリメント(+1)される。続くS1408では、S1405にて選択された次フレーム内の点群を次の注目点群に設定する更新処理が行われる。更新完了後はS1402に戻って同様の処理が繰り返される。 In S1407, the count value of a counter (hereinafter referred to as the "tracking counter") that counts the number of times the corresponding point cloud was selected from the next frame is incremented (+1). In the following S1408, an update process is performed to set the point cloud in the next frame selected in S1405 as the next point cloud of interest. After the update is complete, the process returns to S1402 and the same process is repeated.

S1409では、追跡カウンタのカウンタ値(つまり、連続して追跡ができた回数)が閾値以上であるか否かが判定され、閾値以上であればS1410に進み、閾値未満であればS1411に進む。そして、S1410では、連続して追跡ができた各フレームの点群に対し共通のIDが付与される。このような処理により、追跡できた回数が閾値以上のオブジェクトにだけIDが付与され、追跡できた回数が閾値よりも少なかったオブジェクトに対してはIDが付与されないことになる。 In S1409, it is determined whether the tracking counter value (i.e., the number of consecutive tracking attempts) is above a threshold. If it is above the threshold, the process proceeds to S1410; otherwise, it proceeds to S1411. In S1410, a common ID is assigned to the point cloud of each frame that was successfully tracked consecutively. This process ensures that only objects whose tracking count exceeds the threshold are assigned an ID, while objects whose tracking count falls below the threshold are not.

S1411では、S810と同様、開始フレームに含まれるすべての点群について上述の処理が完了したか否かが判定される。開始フレーム内に未処理の点群があればS1402に戻って次の注目点群を決定して処理が続行される。一方、開始フレーム内のすべての点群が処理されていればS1412に進む。 In S1411, similar to S810, it is determined whether the above processing has been completed for all point clouds included in the starting frame. If there are unprocessed point clouds in the starting frame, the process returns to S1402 to determine the next point cloud of interest and continues. On the other hand, if all point clouds in the starting frame have been processed, the process proceeds to S1412.

S1412及びS1413は、それぞれS811及びS812に相当する。すなわち、順方向と逆方向の両方向において点群の追跡が完了したか否かが判定され(S1412)、未処理の方向があれば反対方向に処理を開始する(S1413)。 S1412 and S1413 correspond to S811 and S812, respectively. That is, it is determined whether point cloud tracking is complete in both the forward and reverse directions (S1412), and if there are any unprocessed directions, processing is started in the opposite direction (S1413).

以上が、本実施形態に係る、追跡処理の内容である。 The above describes the tracking process according to this embodiment.

<変形例1>
追跡できた回数が閾値を超えていても、追跡対象のオブジェクトが途中で撮像空間から外れた(消えた)ような場合にはノイズと判定し、IDを付与しないようにしてもよい。例えば、連続して3フレーム以上追跡できればIDを付与する前提で閾値が“3”に設定されていたとする。このとき、フィールドの中央にいるはずのオブジェクトが4フレーム目で突然消えていた場合は、当該オブジェクトは実在していない偽オブジェクトである可能性が高いため、閾値以上の回数の追跡ができていてもIDを付与しないようにする。このID付与のキャンセルは、例えば、追跡が終了した時点のフレームにおける点群の位置が撮像空間の端から一定以上離れた場所であるかどうかによって判定する。具体的には、追跡が終了した時点の点群の重心から撮像画像端部までの距離が、閾値以上であればID付与をキャンセルするといった具合である。なお、ID付与をキャンセルした点群については、新たに追跡の起点として採用することなくトラッキングを終了させる。
<Variation 1>
Even if the number of times tracking is successful exceeds a threshold, if the object being tracked moves out of (disappears from) the image space midway through, it may be judged as noise and an ID may not be assigned. For example, suppose the threshold is set to "3" on the premise that an ID will be assigned if tracking is successful for three consecutive frames or more. In this case, if an object that should be in the center of the field suddenly disappears in the fourth frame, it is highly likely that the object is a false object that does not actually exist, so an ID will not be assigned even if tracking is successful more times than the threshold. This cancellation of ID assignment is determined, for example, by whether the position of the point cloud in the frame at the end of tracking is more than a certain distance from the edge of the image space. Specifically, if the distance from the centroid of the point cloud at the end of tracking to the edge of the captured image is greater than or equal to the threshold, the ID assignment will be canceled. Note that point clouds for which ID assignment has been canceled will not be used as a new starting point for tracking, and tracking will be terminated.

<変形例2>
追跡するオブジェクトの特徴情報としてオブジェクトの位置を加味してもフレーム単位でオブジェクトの位置が入れ替わるようなケース(例えば2人の人間が手を繋いで回るといった動作をしていた場合)においては正確な追跡が困難になる。このようなケースへの対処法として、最後に単体点群であったときのフレームの撮像画像における色情報(画素値)を特徴情報として用いることが考えられる。具体的には、撮像画像内の点群に対応する画像領域を複数に分割(例えば上半分と下半分)して分割領域毎に画素値の中央値を求め、分割領域間の色の差を選択の基準とする。これは、撮像シーンにおけるオブジェクトが人間である場合において、上半身と下半身の衣服(ユニフォーム)の色をそれぞれ特徴として利用することを狙ったものであるが、人間以外のオブジェクトにも適用可能である。上述した色情報の使い方は一例であり、点群に対応する画像領域を左半分と右半分に分割してもよいし、さらに細かく分割してもよい。また、例えばユニフォームに付されている背番号などの文字情報を画像解析によって取得して組み合わせてもよい。
<Modified Example 2>
Even if the object's position is included as feature information for the object being tracked, accurate tracking becomes difficult in cases where the object's position changes frame by frame (for example, when two people are holding hands and spinning around). To address such cases, it is conceivable to use the color information (pixel values) from the image captured in the last frame where the object was a single point cloud as feature information. Specifically, the image region corresponding to the point cloud in the captured image is divided into multiple parts (for example, the upper half and the lower half), the median pixel value is calculated for each divided region, and the color difference between the divided regions is used as the selection criterion. This is intended to use the colors of the upper and lower body clothing (uniforms) as features when the object in the captured scene is a human, but it can also be applied to objects other than humans. The use of color information described above is just one example; the image region corresponding to the point cloud can also be divided into the left half and the right half, or further divided into smaller parts. In addition, text information such as the number on the back of the uniform can be obtained through image analysis and combined.

以上のとおり本実施形態によれば、シーケンスデータに混入した現実には存在しないオブジェクトの形状データに対するIDの発行を抑制できる。すなわち、シーケンスデータのノイズを削減する効果を有する。その結果、より高精度なトラッキングを実現することが可能となる。 As described above, this embodiment makes it possible to suppress the issuance of IDs for shape data of objects that do not actually exist but are mixed into the sequence data. In other words, it has the effect of reducing noise in the sequence data. As a result, it becomes possible to achieve more accurate tracking.

(その他の実施例)
本開示は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other examples)
This disclosure can also be implemented by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be implemented by a circuit (e.g., ASIC) that implements one or more functions.

100 画像処理装置
301 データ入力部
302 対応付け部
303 追跡部
100 Image processing device 301 Data input unit 302 Correspondence unit 303 Tracking unit

Claims (21)

連続する複数のフレームのオブジェクトの形状データを含むシーケンスデータを取得する取得手段と、
前記複数のフレームのうちの第1のフレームの形状データに対応する第1の点群と当該第1のフレームと連続する第2のフレームの形状データに対応する第2の点群との対応付けを、前記第1の点群に対する前記第2の点群までの距離と前記第2の点群に対する前記第1の点群までの距離とが異なる非対称距離を用いて行う対応付け手段と、
前記対応付けの結果に基づいて、複数のフレームに含まれるフレームの形状データに対応する点群が、オブジェクト単体に対応する点群か、複数のオブジェクトの一纏まりに対応する点群かの判定を行う判定手段と、
前記対応付けの結果と前記判定の結果に基づいて、各フレームに含まれる前記形状データに対応する点群にIDを付与して、前記連続する複数のフレームに亘って前記オブジェクトを追跡する追跡手段と、
を有することを特徴とする画像処理装置。
Acquisition means for acquiring sequence data including shape data of objects in multiple consecutive frames,
A correspondence means that associates a first point cloud corresponding to the shape data of a first frame among the plurality of frames with a second point cloud corresponding to the shape data of a second frame continuous with the first frame, using an asymmetric distance in which the distance from the first point cloud to the second point cloud and the distance from the second point cloud to the first point cloud are different .
Based on the results of the aforementioned correspondence, a determination means is provided to determine whether the point cloud corresponding to the shape data of the frames included in multiple frames corresponds to a single object or to a group of multiple objects.
A tracking means that tracks the object across multiple consecutive frames by assigning an ID to the point cloud corresponding to the shape data contained in each frame based on the results of the correspondence and the results of the determination,
An image processing apparatus characterized by having
前記対応付け手段は、前記第1の点群に対して最も近い距離にある前記第2の点群を前記第1の点群に対応付ける、ことを特徴とする請求項1に記載の画像処理装置。 The image processing apparatus according to claim 1, characterized in that the matching means matches the second point cloud, which is closest to the first point cloud, to the first point cloud. 前記対応付け手段は、前記最も近い距離にある前記第2の点群の前記第1の点群までの距離が閾値よりも遠い場合、当該第2の点群を前記第1の点群に対応付けない、ことを特徴とする請求項2に記載の画像処理装置。 The image processing apparatus according to claim 2, characterized in that the mapping means does not map the second point cloud to the first point cloud if the distance of the nearest second point cloud to the first point cloud is greater than a threshold. 前記追跡手段は、所定の時間軸方向における開始フレームに含まれる注目する点群を起点として、次フレームに含まれる点群の中から前記注目する点群と似ている点群を前記オブジェクトの特徴を示す特徴情報に基づき選択する処理を前記連続する複数のフレームについて順次行って前記オブジェクトを追跡する、ことを特徴とする請求項1乃至のいずれか一項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 3, characterized in that the tracking means tracks the object by sequentially performing a process for a plurality of consecutive frames, starting from a point cloud of interest included in a starting frame in a predetermined time axis direction, and selecting a point cloud similar to the point cloud of interest from among the point clouds included in the next frame based on feature information indicating the characteristics of the object. 前記追跡手段は、
前記追跡の過程で前記オブジェクトの単体形状を表す点群が現れた場合に前記オブジェクトの特徴情報を更新する、
ことを特徴とする請求項1乃至のいずれか一項に記載の画像処理装置。
The aforementioned tracking means is
If a point cloud representing the individual shape of the object appears during the aforementioned tracking process, the feature information of the object is updated.
The image processing apparatus according to any one of claims 1 to 4 .
前記対応付け手段は、
前記シーケンスデータにおいて時間が進む順方向及び時間が戻る逆方向のそれぞれについて、前記連続する複数のフレームにおける隣り合うフレーム間において最も距離が近い点群どうしを紐付け、
前記連続する複数のフレームの注目するフレームにおける注目する点群に紐付けされた点群の数が1個であり、かつ、当該注目する点群に対して前記逆方向に紐付けされた点群の数が1個である場合は、前記順方向と前記逆方向の双方について一対対応に決定し、
前記注目するフレームにおける前記注目する点群に紐付けされた点群の数が2個以上の場合は、前記順方向について分離対応、前記逆方向について結合対応に決定し、
前記連続する複数のフレームの注目するフレームにおける注目する点群に紐付けされた点群の数が2個以上であり、かつ、当該注目する点群に対して前記逆方向に紐付けされた点群の数が2個以上である場合は、前記順方向について結合対応、前記逆方向について分離対応に決定し、
前記判定手段は、順方向又は逆方向のいずれかの方向において結合対応と決定された点群については単体形状を表す点群ではないと判定し、分離対応であると決定された点群については単体形状を表す点群と判定する、
ことを特徴とする請求項1乃至のいずれか一項に記載の画像処理装置。
The aforementioned correspondence means is,
In the sequence data, for both the forward direction (time moving forward) and the reverse direction (time moving backward), the point clouds that are closest to each other in adjacent frames within the multiple consecutive frames are linked together.
If the number of point clouds associated with the point cloud of interest in the frame of interest among the aforementioned consecutive frames is one, and the number of point clouds associated with the point cloud of interest in the reverse direction is one, then a one-to-one correspondence is determined for both the forward and reverse directions.
If the number of point clouds associated with the point cloud of interest in the frame of interest is two or more, the correspondence is determined to be separated in the forward direction and joined in the reverse direction.
If the number of point clouds associated with the point cloud of interest in the frame of interest among the aforementioned consecutive frames is two or more, and the number of point clouds associated with the point cloud of interest in the reverse direction is two or more, then the forward direction is determined to be a combined correspondence, and the reverse direction is determined to be a separated correspondence.
The determination means determines that a point group determined to be a combined correspondence in either the forward or reverse direction is not a point group representing a single shape, and determines that a point group determined to be a separated correspondence is a point group representing a single shape.
The image processing apparatus according to any one of claims 1 to 5 .
前記判定手段は、単体形状を表す点群であるとの判定結果と、単体形状ではないとの判定結果とが重なった場合、単体形状ではないとの判定結果を優先する、ことを特徴とする請求項1乃至のいずれか一項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 6, characterized in that, if the determination means determines that it is a point cloud representing a single shape and determines that it is not a single shape, the determination means prioritizes the determination that it is not a single shape. 前記判定手段は、さらに、一対対応と決定された点群について、当該点群に紐付いている前後のフレームにおける点群に対して、自身に関する前記判定の結果を伝播させる、ことを特徴とする請求項1乃至のいずれか一項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 7, further characterized in that the determination means propagates the result of the determination concerning itself to the point clouds in the preceding and succeeding frames associated with the point cloud that has been determined to be a paired pair. 前記判定手段は、前記判定の結果を伝播させる処理を行った結果、単体形状を表す点群であるとの判定結果と、単体形状ではないとの判定結果とが重なった場合、単体形状ではないとの判定結果を優先する、ことを特徴とする請求項1乃至のいずれか一項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 8, characterized in that, as a result of performing a process to propagate the result of the determination, if the determination result that it is a point cloud representing a single shape and the determination result that it is not a single shape overlap, the determination result that it is not a single shape is given priority. 前記判定手段は、前記判定の結果を伝播させる処理を行った後に残った、他の点群と紐付かない点群を削除することを特徴とする請求項1乃至のいずれか一項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 9 , characterized in that the determination means deletes point clouds that are not associated with other point clouds after the process of propagating the result of the determination has been performed. 前記特徴情報は、前記オブジェクトの大きさを示す情報であることを特徴とする請求項又はに記載の画像処理装置。 The image processing apparatus according to claim 4 or 5 , characterized in that the aforementioned feature information is information indicating the size of the object. 前記特徴情報は、前記オブジェクトの体積を示す情報であることを特徴とする請求項又はに記載の画像処理装置。 The image processing apparatus according to claim 4 or 5 , characterized in that the characteristic information is information indicating the volume of the object. 前記特徴情報は、前記オブジェクトの表面積を示す情報であることを特徴とする請求項又はに記載の画像処理装置。 The image processing apparatus according to claim 4 or 5 , characterized in that the aforementioned feature information is information indicating the surface area of the object. 前記特徴情報は、前記形状データに対応する点群を構成する点の数の情報であることを特徴とする請求項11乃至13のいずれか一項に記載の画像処理装置。 The image processing apparatus according to any one of claims 11 to 13 , characterized in that the feature information is information on the number of points constituting a point cloud corresponding to the shape data. 前記特徴情報は、前記追跡において最後に前記オブジェクトの単体形状を表していると判定された点群の位置を示す情報であることを特徴とする請求項に記載の画像処理装置。 The image processing apparatus according to claim 5 , characterized in that the feature information is information indicating the position of the point cloud that was last determined to represent the individual shape of the object in the tracking. 前記特徴情報は、前記追跡において最後に前記オブジェクトの単体形状を表していると判定されたときの点群が属するフレームの撮像画像における色情報であることを特徴とする請求項に記載の画像処理装置。 The image processing apparatus according to claim 5 , characterized in that the feature information is color information in the captured image of the frame to which the point cloud that was last determined to represent the individual shape of the object in the tracking belongs. 前記追跡手段は、前記シーケンスデータにおいて時間が進む順方向及び時間が戻る逆方向のそれぞれに対して前記追跡を行うことを特徴とする請求項1乃至16のいずれか一項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 16 , characterized in that the tracking means performs the tracking in both the forward direction (time advancing) and the reverse direction (time reversing) of the sequence data. 前記追跡手段は、追跡できたフレームの数が閾値以下の場合は前記IDの付与を行わない、ことを特徴とする請求項1乃至17のいずれか一項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 17 , characterized in that the tracking means does not assign the ID if the number of frames that can be tracked is less than or equal to a threshold. 前記追跡手段は、前記追跡が終了した時点における前記点群の位置が撮像空間の端から一定以上離れている場合は前記IDの付与を行わない、ことを特徴とする請求項1乃至18のいずれか一項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 18 , characterized in that the tracking means does not assign an ID if the position of the point cloud at the time the tracking is completed is more than a certain distance from the edge of the imaging space. 連続する複数のフレームのオブジェクトの形状データを含むシーケンスデータを取得するステップと、
前記複数のフレームのうちの第1のフレームの形状データに対応する第1の点群と当該第1のフレームと連続する第2のフレームの形状データに対応する第2の点群との対応付けを、前記第1の点群に対する前記第2の点群までの距離と前記第2の点群に対する前記第1の点群までの距離とが異なる非対称距離を用いて行うステップと、
前記対応付けの結果に基づいて、複数のフレームに含まれるフレームの形状データに対応する点群が、オブジェクト単体に対応する点群か、複数のオブジェクトの一纏まりに対応する点群かの判定を行うステップと、
前記対応付けの結果と前記判定の結果に基づいて、各フレームに含まれる前記形状データに対応する点群にIDを付与して、前記連続する複数のフレームに亘って前記オブジェクトを追跡するステップと、
を含むことを特徴とする画像処理方法。
A step of obtaining sequence data containing the shape data of objects in multiple consecutive frames,
The steps include: associating a first point cloud corresponding to the shape data of a first frame among the plurality of frames with a second point cloud corresponding to the shape data of a second frame continuous with the first frame, using an asymmetric distance in which the distance from the first point cloud to the second point cloud and the distance from the second point cloud to the first point cloud are different;
Based on the results of the aforementioned correspondence, the step of determining whether the point cloud corresponding to the shape data of the frames included in multiple frames corresponds to a single object or to a group of multiple objects,
Based on the results of the correspondence and the results of the determination, an ID is assigned to the point cloud corresponding to the shape data contained in each frame, and the object is tracked across a plurality of consecutive frames.
An image processing method characterized by including
コンピュータを、請求項1乃至19のいずれか一項に記載の画像処理装置として機能させるためのプログラム。 A program for causing a computer to function as an image processing device according to any one of claims 1 to 19 .
JP2021134886A 2021-08-20 2021-08-20 Image processing device, image processing method, and program Active JP7837684B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021134886A JP7837684B2 (en) 2021-08-20 2021-08-20 Image processing device, image processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021134886A JP7837684B2 (en) 2021-08-20 2021-08-20 Image processing device, image processing method, and program

Publications (2)

Publication Number Publication Date
JP2023028908A JP2023028908A (en) 2023-03-03
JP7837684B2 true JP7837684B2 (en) 2026-03-31

Family

ID=85331146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021134886A Active JP7837684B2 (en) 2021-08-20 2021-08-20 Image processing device, image processing method, and program

Country Status (1)

Country Link
JP (1) JP7837684B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2025080595A (en) 2023-11-14 2025-05-26 キヤノン株式会社 Image processing device, image processing method, and system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020136943A (en) 2019-02-21 2020-08-31 キヤノン株式会社 Image processing apparatus, image processing method and program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020136943A (en) 2019-02-21 2020-08-31 キヤノン株式会社 Image processing apparatus, image processing method and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高橋 正樹,ゴルフ中継での放送カメラを用いたティーショット軌道表示システム,電子情報通信学会論文誌 (J92-D) 第7号 THE IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS (JAPANESE EDITION),2009年

Also Published As

Publication number Publication date
JP2023028908A (en) 2023-03-03

Similar Documents

Publication Publication Date Title
Boss et al. Two-shot spatially-varying brdf and shape estimation
JP7011146B2 (en) Image processing device, image processing method, image processing program, and teacher data generation method
CN101542529B (en) Generation method of depth map for an image and an image process unit
CN113628202B (en) A determination method, cleaning robot and computer storage medium
JP2018045693A (en) Method and system for removing background of video
JP7063837B2 (en) Area extraction device and program
EP3973507B1 (en) Segmentation for holographic images
CN107949851B (en) Fast and robust identification of endpoints of objects within a scene
CN111860225B (en) An image processing method, device, electronic equipment and storage medium
JP6787844B2 (en) Object extractor and its superpixel labeling method
Seichter et al. Panopticndt: Efficient and robust panoptic mapping
JP7837684B2 (en) Image processing device, image processing method, and program
CN111652807A (en) Eye adjustment method, eye live broadcast method, eye adjustment device, eye live broadcast device, electronic equipment and storage medium
Wu et al. Skeleton-based conditionally independent gaussian process implicit surfaces for fusion in sparse to dense 3D reconstruction
US11195322B2 (en) Image processing apparatus, system that generates virtual viewpoint video image, control method of image processing apparatus and storage medium
CN113256484B (en) A method and device for stylizing images
JP2016075993A (en) Image processing apparatus, control method of the same, and program
JP6350331B2 (en) TRACKING DEVICE, TRACKING METHOD, AND TRACKING PROGRAM
JP2021196977A (en) Model generation device, method and program
CN116228850A (en) Object attitude estimation method, device, electronic device and readable storage medium
Neilson et al. Evaluation of constructable match cost measures for stereo correspondence using cluster ranking
CN114821323A (en) Method and device for generating moving path, readable medium and electronic equipment
Alekseev et al. Two-stage segmentation method for context-sensitive image analysis
JP2019021333A (en) Image processing device, image processing method and program
JPH08279044A (en) Pattern recognition device and gesture recognition device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250707

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20250801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250919

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20251007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20251028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251104

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260318

R150 Certificate of patent or registration of utility model

Ref document number: 7837684

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150