WO2024004190A1 - 3次元位置算出方法、装置、及びプログラム - Google Patents

3次元位置算出方法、装置、及びプログラム Download PDF

Info

Publication number
WO2024004190A1
WO2024004190A1 PCT/JP2022/026426 JP2022026426W WO2024004190A1 WO 2024004190 A1 WO2024004190 A1 WO 2024004190A1 JP 2022026426 W JP2022026426 W JP 2022026426W WO 2024004190 A1 WO2024004190 A1 WO 2024004190A1
Authority
WO
WIPO (PCT)
Prior art keywords
dimensional position
image
interpolated
cameras
detected
Prior art date
Application number
PCT/JP2022/026426
Other languages
English (en)
French (fr)
Inventor
帆 楊
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2022/026426 priority Critical patent/WO2024004190A1/ja
Publication of WO2024004190A1 publication Critical patent/WO2024004190A1/ja

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/245Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures using a plurality of fixed, simultaneously operating transducers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C3/00Measuring distances in line of sight; Optical rangefinders
    • G01C3/02Details
    • G01C3/06Use of electric means to obtain final indication

Definitions

  • the disclosed technology relates to a three-dimensional position calculation method, a three-dimensional position calculation device, and a three-dimensional position calculation program.
  • the three-dimensional position of the object in the world coordinate system has been calculated using triangulation from the two-dimensional position of the object in a multi-view image taken from multiple different viewpoints.
  • systems have been proposed that use two or more cameras to track the path and orientation of a piece of portable sports equipment swung by an athlete.
  • at least two sets of video images of the swinging portable sports equipment are acquired using at least two different cameras having different positions.
  • a region of motion within the video image is then identified, and candidate locations in two-dimensional space of an identifiable portion of the portable sports equipment (eg, a head) are identified within the region of motion.
  • a possible position in three-dimensional space of the distinguishable part is identified.
  • the multi-view image includes images in which the target object is not detected or images in which the target object is falsely detected, it may not be possible to accurately calculate the three-dimensional position of the target object. There is a problem.
  • the disclosed technology aims to improve the accuracy of calculating the three-dimensional position of a target object using multi-view images.
  • the disclosed technology provides a first image taken at one or more times before a target time, and a first image taken at the target time, using each of a plurality of cameras that photograph a target object from a plurality of different viewpoints.
  • a second image is obtained.
  • the disclosed technology acquires a third image photographed at one or more times after the target time.
  • the disclosed technique interpolates the two-dimensional position of the object in the second image based on the two-dimensional position of the object detected from each of the first image and the third image.
  • the disclosed technology provides a two-dimensional position of the object detected from the second image, a two-dimensional position of the object in the interpolated second image, and camera parameters of each of the plurality of cameras.
  • a three-dimensional position of the target object at the target time is calculated based on the following.
  • One aspect is that the accuracy of calculating the three-dimensional position of an object using multi-view images can be improved.
  • FIG. 2 is a schematic diagram showing a connection between a three-dimensional position calculation device and a camera according to the present embodiment.
  • FIG. 2 is a diagram for explaining a general method of calculating a three-dimensional position from a multi-view image.
  • FIG. 2 is a diagram for explaining a general method of calculating a three-dimensional position from a multi-view image.
  • FIG. 3 is a diagram for explaining exclusion of outliers.
  • FIG. 2 is a diagram for explaining problems with a general method of calculating a three-dimensional position from a multi-view image.
  • FIG. 2 is a functional block diagram of a three-dimensional position calculation device according to the present embodiment.
  • FIG. 2 is a diagram for explaining an example of a two-dimensional position of a target object.
  • FIG. 3 is a diagram for explaining an example of a two-dimensional position of a target object.
  • FIG. 3 is a diagram for explaining interpolation of two-dimensional positions using temporal and spatial information.
  • FIG. 3 is a diagram for explaining calculation of a three-dimensional position based on clustering of three-dimensional position candidates.
  • FIG. 1 is a block diagram showing a schematic configuration of a computer functioning as a three-dimensional position calculation device. 7 is a flowchart illustrating an example of three-dimensional position calculation processing according to the present embodiment.
  • FIG. 3 is an image diagram showing an example of a calculation result of a three-dimensional position according to the present embodiment.
  • FIG. 3 is an image diagram showing an example of a calculation result of a three-dimensional position according to the present embodiment.
  • FIG. 2 is a diagram for explaining application of the three-dimensional position calculation device according to the present embodiment to a scoring system for gymnastics competitions.
  • the number of cameras 30n connected to the three-dimensional position calculation device 10 is not limited to the example shown in FIG. 1, and may be two or four or more.
  • the camera 30n is installed at an angle and position where the object 90 falls within the photographing range. Images taken by the camera 30n are sequentially input to the three-dimensional position calculation device 10. Note that a synchronization signal is sent to each camera 30n, and the images taken by each camera 30n are synchronized.
  • multi-view images three-dimensional position of the object 90 from multiple images taken from multiple different viewpoints (hereinafter referred to as "multi-view images") using triangulation. explain.
  • the two-dimensional position of the object detected in the image 40n taken from viewpoint n is p 2d, obs cn (white circle in FIG. 2), and the true two-dimensional position is p 2d, gt cn (white star in Figure 2).
  • n 0, 1, 2.
  • the calculated three-dimensional position is p ⁇ 3d (black circle in FIG. 2), and the true three-dimensional position is p3d ,gt (black star in FIG. 2).
  • p ⁇ is written with a " ⁇ (hat)" above "p” in FIG. 2. The same applies to each of the following figures.
  • p 2d [x, y] ⁇ real number R 2
  • p 3d [X, Y, Z] ⁇ real number R 3 .
  • the three-dimensional position p ⁇ 3d of the object is calculated by triangulation using the camera parameters (internal parameters and external parameters) of the camera 30n that captured each image 40n and the two-dimensional position p2d, obs cn . .
  • p ⁇ 3d noise is a three-dimensional position calculated also using p2d ,obs c0 , which has a large detection error.
  • n 0, 1, 2, 3.
  • the superscript t of each symbol is the time when the image 40n was photographed, that is, the time information associated with the image (frame) 40n.
  • the two-dimensional positions p 2d, obs t, and c2 of the object have not been detected from the image 402.
  • the three-dimensional position p ⁇ 3dt of the object is calculated using the function cv::sfm :: triangulatePoints implemented in OpenCV (reference: https://docs.opencv.org/3.4/d0/dbd/group__triangulation.html). is calculated as shown below.
  • P cn is a perspective projection matrix representing camera parameters of the camera 30n.
  • the problem here is when many p 2d, obs t, cn are excluded as outliers, or when there are many images in which p 2d, obs t, cn are not detected, such as image 402. etc.
  • two-dimensional position information for calculating the three-dimensional position is insufficient, and the three-dimensional position may not be calculated with high accuracy.
  • the three-dimensional position calculation device 10 calculates the three-dimensional position of the target object using spatiotemporal information, specifically, information on images at times before and after the image at the target time.
  • the three-dimensional position calculation device 10 according to this embodiment will be described in detail below.
  • the three-dimensional position calculation device 10 functionally includes an acquisition section 12, an interpolation section 14, and a calculation section 16. Furthermore, a camera parameter DB (Database) 20 is stored in a predetermined storage area of the three-dimensional position calculation device 10.
  • the camera parameter DB 20 stores internal parameters and external parameters of each camera 30n.
  • the acquisition unit 12 acquires time-series multi-view images captured by a plurality of cameras 30n.
  • the resulting image is referred to as image 40n(t).
  • an image photographed at time t-1, one hour before time t is assumed to be image 40n(t-1), and an image photographed at time t+1, one hour after time t, is assumed to be 40n(t+1).
  • the image 40n(t-1) is an example of the "first image” of the disclosed technique
  • the image 40n(t) is an example of the "second image” of the disclosed technique
  • the image 40n(t+1) is an example of the "second image” of the disclosed technique.
  • information on the two-dimensional position of the object 90 is given to each image 40n included in the multi-view image.
  • Information on the two-dimensional position of the object 90 is detected from each image 40n included in the multi-view image using a detection model generated in advance by machine learning in order to detect the area of the object 90 from the image 40n. It may be a coordinate value of a predetermined point within a region surrounding the target object 90. For example, as shown in FIG. 7, when the area of the target object 90 is detected by a two-dimensional bounding box (hereinafter referred to as "2D-BBOX") 42n, the coordinates of a predetermined position of the 2D-BBOX 42n are 90 two-dimensional position information may be used.
  • 2D-BBOX two-dimensional bounding box
  • the predetermined position may be, for example, the center of the 2D-BBOX 42n, the midpoint of the bottom, or any corner (for example, the upper left corner).
  • the example in FIG. 7 shows an example in which the midpoint of the bottom of the 2D-BBOX 42n (black circle in FIG. 7) is the two-dimensional position of the object 90. This is treated as information representing the position of the person's feet, which is the object 90.
  • information on the two-dimensional position of the object 90 is included in the multi-view image using a recognition model generated in advance by machine learning in order to recognize one or more parts of the person who is the object 90 from the image 40n. It may also be a coordinate value of each part of the object 90 recognized from each image 40n. For example, as shown in FIG. 8, when the recognition model recognizes the position of each joint, etc. of a person (object 90) (black circles in FIG. 8), the coordinate values of the position of each joint, etc. are It may be information on the two-dimensional position of the object 90.
  • the acquisition unit 12 uses the above-described detection model or recognition model to acquire the information on the two-dimensional position of the target object 90. You may also acquire it.
  • the interpolation unit 14 interpolates the two-dimensional position of the object 90 in the image 40n(t) based on the two-dimensional position of the object 90 detected from each of the image 40n(t-1) and the image 40n(t+1). do. Specifically, the interpolation unit 14 performs linear interpolation of the two-dimensional position of the object 90 detected from each of the image 40n(t-1) and the image 40n(t+1) to determine the object 90 in the image 40n(t). The two-dimensional position of is predicted and interpolated.
  • the interpolation unit 14 calculates the interpolated two-dimensional position p 2d, pred t, cn (halftone circle in FIG. 9) of the object 90 in each image 40n(t) as shown below. do.
  • the times of images used for interpolation are not limited to the examples of t-1 and t+1.
  • the interpolation unit 14 uses the images 40n at times t-5, t-4, t-3, t-2, t-1, t+1, t+2, t+3, t+4, and t+5 to create an image 40n(t).
  • the two-dimensional position of may be interpolated.
  • image 40n(t-5), image 40n(t-4), image 40n(t-3), image 40n(t-2), and image 40n(t-1) are This is an example of the first image.
  • the image 40n(t+1), the image 40n(t+2), the image 40n(t+3), the image 40n(t+4), and the image 40n(t+5) are examples of the "third image" of the disclosed technology.
  • the calculation unit 16 calculates the target at time t based on the two-dimensional position of the target object 90 detected from the image 40n(t), the two-dimensional position interpolated by the interpolation unit 14, and the camera parameters of each camera 30n.
  • the three-dimensional position of the object 90 is calculated. Specifically, the calculation unit 16 calculates candidates for the three-dimensional position of the object 90 for each combination of detected and interpolated two-dimensional positions of the object 90 between the images 40n(t).
  • the calculation unit 16 selects one of the two-dimensional positions detected and interpolated from the image 40i taken by the camera 30i, and sets it as p 2d i , and selects one from the two-dimensional positions detected and interpolated from the image 40i taken by the camera 30j. and one of the interpolated two-dimensional positions is selected and set as p 2d j .
  • Three-dimensional position candidates p 3d, can t are calculated by solving the following equation using the projection matrices P ci and P cj .
  • P n is the nth row of P.
  • the calculation unit 16 calculates p 2d, obs t, c0 and p 2d, pred t , c0 of the image 400(t), and p 2d, obs t, c1 and p 2d, pred of the image 401. From the combination with t and c1 , four three-dimensional position candidates p 3d, can t (hatched circles in FIG. 9) are calculated.
  • the calculation unit 16 calculates the three-dimensional position p ⁇ 3dt of the object 90 based on the plurality of calculated three-dimensional position candidates p3d, candt . For example, the calculation unit 16 calculates the position of the center of gravity of the plurality of candidates p 3d, can t as a three-dimensional position p ⁇ 3d t . However, in this case, outliers included in the two-dimensional position p 2d, obs t, cn detected from the image 40n(t) and the interpolated two-dimensional position p 2d, pred t, cn cannot be excluded.
  • the calculation unit 16 clusters the candidates p 3d, can t based on the calculated distance between the candidates p 3d, can t , and selects the centroid of the cluster having the largest number of candidates p 3d, can t included in the cluster.
  • a clustering method such as a complete connection method may be applied as a clustering method.
  • n 0, 1, 2, 3, and from each of image 40n(t-1), image 40n(t), and image 40n(t+1), the target object is determined as shown below. 90 two-dimensional positions have been detected.
  • the interpolation unit 14 calculates the interpolated two-dimensional position p 2d,pred t,cn (halftone dots in FIG. 10) of the object 90 in each image 40n(t) as shown below. ) has been calculated.
  • the calculation unit 16 assigns the two candidates p 3d, can t to the same cluster. Furthermore, if the distance between the centroid position of a cluster and another candidate p 3d,cand t not included in the cluster is smaller than the threshold K, the calculation unit 16 assigns the candidate p 3d,cand t to the corresponding cluster. . The calculation unit 16 repeats this process until there is no longer a distance between candidates p 3d,cand that is smaller than the threshold value K, or between a cluster and candidate p 3d,cand .
  • the example in FIG. 10 shows an example in which six clusters (solid line ellipses and broken line ellipses in FIG. 10) are generated by clustering.
  • the calculation unit 16 selects the cluster with the largest number of candidates p 3d, can t included in the cluster from among the generated clusters, and calculates the position of the center of gravity of the selected cluster based on the three-dimensional position of the object 90 at time t. Calculate as position p ⁇ 3d t .
  • clusters indicated by solid ellipses are selected.
  • candidates p 3d can t belonging to other clusters are excluded as outliers, and a three-dimensional position p ⁇ 3d t close to the true three- dimensional position p 3d , gt t is calculated.
  • the three-dimensional position p ⁇ 3d ) is output.
  • the three-dimensional position calculation device 10 may be realized, for example, by a computer 50 shown in FIG. 11.
  • the computer 50 includes a CPU (Central Processing Unit) 51, a memory 52 as a temporary storage area, and a nonvolatile storage device 53.
  • the computer 50 also includes an input/output device 54 such as an input device and a display device, and an R/W (Read/Write) device 55 that controls reading and writing of data to and from a storage medium 59.
  • the computer 50 also includes a communication I/F (Interface) 56 connected to a network such as the Internet.
  • the CPU 51, memory 52, storage device 53, input/output device 54, R/W device 55, and communication I/F 56 are connected to each other via a bus 57.
  • the storage device 53 is, for example, an HDD (Hard Disk Drive), an SSD (Solid State Drive), a flash memory, or the like.
  • a three-dimensional position calculation program 60 for causing the computer 50 to function as the three-dimensional position calculation device 10 is stored in the storage device 53 as a storage medium.
  • the three-dimensional position calculation program 60 includes an acquisition process control instruction 62 , an interpolation process control instruction 64 , and a calculation process control instruction 66 .
  • the storage device 53 has an information storage area 70 in which information constituting the camera parameter DB 20 is stored.
  • the CPU 51 reads the three-dimensional position calculation program 60 from the storage device 53, expands it into the memory 52, and sequentially executes the control commands included in the three-dimensional position calculation program 60.
  • the CPU 51 operates as the acquisition unit 12 shown in FIG. 6 by executing the acquisition process control instruction 62. Further, the CPU 51 operates as the interpolation unit 14 shown in FIG. 6 by executing the interpolation process control instruction 64. Further, the CPU 51 operates as the calculation unit 16 shown in FIG. 6 by executing the calculation process control instruction 66. Further, the CPU 51 reads information from the information storage area 70 and develops the camera parameter DB 20 in the memory 52. Thereby, the computer 50 that has executed the three-dimensional position calculation program 60 functions as the three-dimensional position calculation device 10. Note that the CPU 51 that executes the program is hardware.
  • the functions realized by the three-dimensional position calculation program 60 may be realized by, for example, a semiconductor integrated circuit, more specifically, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or the like.
  • the three-dimensional position calculation device 10 When time-series multi-view images are input to the three-dimensional position calculation device 10 and instructions are given to calculate the three-dimensional position of the object 90, the three-dimensional position calculation device 10 performs the three-dimensional position calculation process shown in FIG. executed. Note that the three-dimensional position calculation process is an example of the three-dimensional position calculation method of the disclosed technology.
  • step S10 the acquisition unit 12 acquires time-series multi-view images to which information on the two-dimensional position of the object 90 is added.
  • step S12 the acquisition unit 12 sets a variable t representing the time to be processed to 1.
  • step S14 the interpolation unit 14 calculates the image 40n based on the two-dimensional position of the target object 90 detected from each of the image 40n (t-1) and the image 40n (t+1) included in the multi-view image. The two-dimensional position of the object 90 at (t) is interpolated.
  • step S16 for each combination of the two-dimensional position of the detected and interpolated object 90 among the images 40n(t), the calculation unit 16 uses the camera 30n that captured the corresponding image 40n(t). A three-dimensional position candidate for the object 90 is calculated using the camera parameters.
  • step S18 the calculation unit 16 clusters the candidates based on the distance between the calculated three-dimensional position candidates, and sets the center of gravity of the cluster containing the maximum number of candidates to the object at time t. It is calculated as the three-dimensional position of the object 90.
  • the acquisition unit 12 determines whether t is smaller than the time information T of the final frame of the multi-view image. If t ⁇ T, the process moves to step S22, where the acquisition unit 12 increments t by 1, and returns to step S14. On the other hand, if t ⁇ T, the process moves to step S24, the calculation unit 16 outputs the calculated three-dimensional position, and the three-dimensional position calculation process ends.
  • the three-dimensional position calculation device uses a first image taken at a time before the target time, a first image taken at a time before the target time, a first image taken at a time before the target time, a first image taken at a time before the target time, A second image taken and a third image taken at a time after the target time are acquired. Furthermore, the three-dimensional position calculation device interpolates the two-dimensional position of the object in the second image based on the two-dimensional position of the object detected from each of the first image and the third image.
  • the three-dimensional position calculation device calculates the position of the target object at the target time based on the two-dimensional position of the target object detected from the second image, the interpolated two-dimensional position, and camera parameters of each of the plurality of cameras. Calculate the three-dimensional position of As a result, even if there are many outliers or undetected 2D positions on the image, the 2D position information for calculating the 3D position is supplemented, and the 3D position of the object can be calculated using multi-view images. Calculation accuracy can be improved.
  • the three-dimensional position calculation device calculates candidates for the three-dimensional position of the object for each combination of detected and interpolated two-dimensional positions between images. Then, the three-dimensional position calculation device clusters the candidates based on the distance between the candidates, and calculates the center of gravity of the cluster containing the largest number of candidates as the three-dimensional position of the object at the target time. This makes it possible to appropriately exclude outliers from candidates and improve the accuracy of calculating the three-dimensional position of the object using multi-view images.
  • the present invention is not limited to this.
  • a method such as RANSAC described above may be applied.
  • the three-dimensional position calculation device calculates the positions of the centers of gravity of the plurality of candidates as three-dimensional positions, and uses the calculated three-dimensional positions in the second image based on the camera parameters of each of the plurality of cameras. Project onto each of the Then, the three-dimensional position calculation device calculates the three-dimensional position of the object again using the two-dimensional position detected and interpolated in the second image whose distance to the projected position is within a predetermined threshold. You may also do so.
  • the method using clustering functions properly even when the proportion of candidates other than outliers is less than 50%, but other outlier exclusion methods such as RANSAC do not work properly. Sometimes it is difficult to exclude outliers.
  • FIG. 13 is an image diagram showing an example of calculating the position of a person in the world coordinate system based on skeletal information of the person recognized from the image. It can be seen that in both the upper (Shelf) and lower (Campus) examples, the three-dimensional position of each person can be calculated with high accuracy even though the people are crowded and overlap on the images. .
  • Figure 14 shows that the midpoint of the base of the 2D-BBOX detected from the image, that is, the three-dimensional position of the person's foot position, is calculated, and the foot position represented by the three-dimensional position is mapped on a map representing the shooting target area.
  • It is an image diagram showing an example.
  • the three-dimensional position of each person's feet is calculated with high accuracy even though the images overlap or are blocked by obstacles such as shelves.
  • the three-dimensional position calculation device can be applied to a system that acquires a customer's movement trajectory within a store, as shown in the example of FIG.
  • the three-dimensional position calculation device can be applied to, for example, a scoring system for gymnastics competitions.
  • a scoring system for gymnastics competitions for example, a scoring system for gymnastics competitions.
  • the scoring system detects a person's area from each image included in the multi-view image. Next, the scoring system determines whether the person indicated by the detected area is a player or a non-player based on whether the position where the person is present is in the competition area, etc., and identifies the area indicating the player.
  • the scoring system tracks players by associating regions representing the same player in time-series multi-view images.
  • the scoring system recognizes the player's two-dimensional skeletal information from each of the series of tracked images using a recognition model or the like.
  • the scoring system estimates three-dimensional skeletal information from two-dimensional skeletal information using camera parameters. Then, the scoring system performs post-processing such as smoothing on the time-series three-dimensional skeletal information, estimates the phases (breaks) of the performance, and then recognizes the techniques.
  • the three-dimensional position calculation device in the processing of the above scoring system, can be applied to the process of estimating three-dimensional skeletal information from two-dimensional skeletal information.
  • the disclosed technology is not limited to cases where the object is a gymnast, but can be applied to various people such as athletes of other sports and ordinary pedestrians. Furthermore, it is also possible to apply the present invention to objects other than people, such as animals and vehicles.
  • the three-dimensional position calculation program is stored (installed) in the storage device in advance, but the program is not limited to this.
  • the program according to the disclosed technology may be provided in a form stored in a storage medium such as a CD-ROM, DVD-ROM, or USB memory.
  • Three-dimensional position calculation device 12 Acquisition unit 14 Interpolation unit 16 Calculation unit 20 Camera parameter DB 30n Camera 40n Image 50 Computer 51 CPU 52 Memory 53 Storage device 54 Input/output device 55 R/W device 56 Communication I/F 57 Bus 59 Storage medium 60 Dimensional position calculation program 62 Acquisition process control instruction 64 Interpolation process control instruction 66 Calculation process control instruction 70 Information storage area 90 Object

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

3次元位置算出装置は、多視点画像に含まれる時刻tに撮影された画像40n(t)(n=0,1)において、1時刻前の画像40n(t-1)及び1時刻後の画像40n(t+1)検出された対象物の2次元位置p2d,obs t-1,cn及びp2d,obs t+1,cnに基づいて、2次元位置p2d,pred t,cnを補間し、画像40n(t)から検出された2次元位置p2d,obs t,cnと、補間された2次元位置p2d,pred t,cnとの画像間での組み合わせ毎に、カメラパラメータを用いて、3次元位置の候補p3d,cand を算出し、算出した候補p3d,cand に基づいて、時刻tにおける対象物の3次元位置p^3d を算出する。

Description

3次元位置算出方法、装置、及びプログラム
 開示の技術は、3次元位置算出方法、3次元位置算出装置、及び3次元位置算出プログラムに関する。
 従来、複数の異なる視点から対象物を撮影した多視点画像における対象物の2次元位置から、三角測量を使用して、対象物のワールド座標系における3次元位置を算出することが行われている。例えば、運動選手によりスイングされた携帯型スポーツ器具の一部の経路及び向きを2台以上のカメラを使用して追跡するシステムが提案されている。このシステムでは、異なる位置を有する少なくとも2つの異なるカメラを使用してスイングしている携帯型スポーツ器具の少なくとも2組のビデオ画像が取得される。そして、ビデオ画像内の動き領域が識別され、携帯型スポーツ器具の識別可能な部分(例えば、頭部)の2次元空間の候補位置が、動き領域内で識別される。それに基づき、携帯型スポーツ器具がスイングされた複数の瞬間のそれぞれに対し、識別可能な部分の3次元空間内の可能性のある位置が識別される。
米国特許出願公開第2017/0270354号
 しかしながら、多視点画像の中に、対象物が未検出の画像や、対象物を誤検知している画像が含まれる場合には、対象物の3次元位置を精度よく算出することができない場合があるという問題がある。
 一つの側面として、開示の技術は、多視点画像を用いた対象物の3次元位置の算出精度を向上させることを目的とする。
 一つの態様として、開示の技術は、対象物を異なる複数の視点から撮影する複数のカメラの各々で、対象時刻より前の1以上の時刻に撮影された第1画像、及び前記対象時刻に撮影された第2画像を取得する。また、開示の技術は、前記対象時刻より後の1以上の時刻に撮影された第3画像を取得する。そして、開示の技術は、前記第1画像及び前記第3画像の各々から検出された前記対象物の2次元位置に基づいて、前記第2画像における前記対象物の2次元位置を補間する。さらに、開示の技術は、前記第2画像から検出された前記対象物の2次元位置と、補間された前記第2画像における前記対象物の2次元位置と、前記複数のカメラの各々のカメラパラメータとに基づいて、前記対象時刻における前記対象物の3次元位置を算出する。
 一つの側面として、多視点画像を用いた対象物の3次元位置の算出精度を向上させることができる、という効果を有する。
本実施形態に係る3次元位置算出装置とカメラとの接続を示す概略図である。 多視点画像から3次元位置を算出する一般的な方法を説明するための図である。 多視点画像から3次元位置を算出する一般的な方法を説明するための図である。 外れ値の除外について説明するための図である。 多視点画像から3次元位置を算出する一般的な方法の問題点を説明するための図である。 本実施形態に係る3次元位置算出装置の機能ブロック図である。 対象物の2次元位置の一例を説明するための図である。 対象物の2次元位置の一例を説明するための図である。 時間空間情報を用いた2次元位置の補間を説明するための図である。 3次元位置の候補のクラスタリングに基づく3次元位置の算出を説明するための図である。 3次元位置算出装置として機能するコンピュータの概略構成を示すブロック図である。 本実施形態に係る3次元位置算出処理の一例を示すフローチャートである。 本実施形態による3次元位置の算出結果の一例を示すイメージ図である。 本実施形態による3次元位置の算出結果の一例を示すイメージ図である。 本実施形態に係る3次元位置算出装置の、体操競技の採点システムへの適用を説明するための図である。
 以下、図面を参照して、開示の技術に係る実施形態の一例を説明する。
 図1に示すように、本実施形態に係る3次元位置算出装置10は、各々異なる方向からの視点nにおいて対象物(図1の例では、対象物は人物)90を撮影する複数のカメラ30nの各々と接続される。図1の例では、n=0,1,2であり、視点0から撮影するカメラ300、視点1から撮影するカメラ301、及び視点2から撮影するカメラ302が3次元位置算出装置10と接続されている。なお、3次元位置算出装置10に接続されるカメラ30nの数は図1の例に限定されず、2台でもよいし、4台以上でもよい。
 カメラ30nは、対象物90が撮影範囲に収まる角度及び位置に設置される。カメラ30nで撮影された映像は順次、3次元位置算出装置10へ入力される。なお、各カメラ30nには同期信号が送られ、各カメラ30nで撮影された映像の同期がとられる。
 ここで、三角測量を使用して、複数の異なる視点から撮影された複数の画像(以下、「多視点画像」という)から対象物90の3次元位置を算出する一般的な方法及び問題点について説明する。
 図2に示すように、視点nから撮影された画像40nにおいて検出された対象物の2次元位置をp2d,obs cn(図2中の白丸)、真の2次元位置をp2d,gt cn(図2中の白い星印)とする。図2の例では、n=0,1,2である。また、算出される3次元位置をp^3d(図2中の黒丸)、真の3次元位置をp3d,gt(図2中の黒い星印)とする。なお、「p^」は、図2中では、「p」の上に「^(ハット)」で表記されている。以下の各図においても同様である。なお、p2d=[x,y]∈実数R、p3d=[X,Y,Z]∈実数Rである。対象物の3次元位置p^3dは、各画像40nを撮影したカメラ30nのカメラパラメータ(内部パラメータ及び外部パラメータ)と、2次元位置p2d,obs cnとを用いて、三角測量により算出される。
 ここで、例えば、画像400から検出された対象物90の2次元位置p2d,obs c0の検出誤差が大きい場合、すなわち、p2d,obs c0とp2d,gt c0との差が大きい場合、算出される3次元位置p^3dの誤差も大きくなる。図2では、p^3d noiseが、検出誤差の大きいp2d,obs c0も用いて算出された3次元位置である。このような場合、2次元位置p2d,obs c0を外れ値として除外し、p2d,obs c1及びp2d,obs c2を用いて3次元位置p^3d refineを算出することで、真の3次元位置p3d,gtに近づけるように3次元位置を算出することが望ましい。
 図3に示す他の例を用いて具体的に説明する。図3の例では、n=0,1,2,3である。また、各記号の上付きの添え字tは、画像40nが撮影された時刻、すなわち、画像(フレーム)40nに対応付けられた時刻情報である。また、図3の例では、画像402からは、対象物の2次元位置p2d,obs t,c2が未検出となっている。
 対象物の3次元位置p^3d は、OpenCV(参考:https://docs.opencv.org/3.4/d0/dbd/group__triangulation.html)に実装されている関数cv::sfm::triangulatePointsを使用して、下記に示すように算出される。なお、Pcnは、カメラ30nのカメラパラメータを表す透視投影行列である。
 検出されている対象物の2次元位置p2d,obs t,cnに外れ値が存在する場合、その影響により、算出される3次元位置p^3d と、真の3次元位置p3d,gt との誤差は大きくなる。p2d,obs t,cnから外れ値を除外するために、例えば、RANSAC(Random Sample Consensus)を適用する。まず、図4に示すように、外れ値を除外することなく算出した3次元位置p^3d を各画像40nに投影する。そして、投影された2次元位置と、p2d,obs t,cnとの誤差(図4中の両矢印)を算出し、誤差が予め定めた閾値以上の場合に、そのp2d,obs t,cnを外れ値とする。図4の例では、p2d,obs t,c0が外れ値である。この外れ値p2d,obs t,c0を除外して、再度3次元位置を算出する。
 ここで問題となるのが、多くのp2d,obs t,cnが外れ値として除外されてしまう場合、画像402のようにp2d,obs t,cnが未検出となっている画像が多い場合等である。このような場合、図5に示すように、3次元位置を算出するための2次元位置の情報が不足し、精度良く3次元位置を算出できない場合がある。
 そこで、本実施形態に係る3次元位置算出装置10は、時空間情報、具体的には、対象時刻の画像の前後の時刻の画像の情報も用いて、対象物の3次元位置を算出する。以下、本実施形態に係る3次元位置算出装置10について、詳細に説明する。
 図6に示すように、3次元位置算出装置10は、機能的には、取得部12と、補間部14と、算出部16とを含む。また、3次元位置算出装置10の所定の記憶領域には、カメラパラメータDB(Database)20が記憶される。カメラパラメータDB20には、各カメラ30nの内部パラメータ及び外部パラメータが記憶されている。
 取得部12は、複数のカメラ30nで撮影された時系列の多視点画像を取得する。ここでは、時系列の多視点画像において、対象物90の3次元位置を算出する処理対象の時刻t(t=0,1,・・・,T、Tは最終フレームの時刻情報)に撮影された画像を画像40n(t)とする。また、時刻tより1時刻前の時刻t-1に撮影された画像を画像40n(t-1)、及び時刻tより1時刻後の時刻t+1に撮影された画像を40n(t+1)とする。画像40n(t-1)は、開示の技術の「第1画像」の一例であり、画像40n(t)は、開示の技術の「第2画像」の一例であり、画像40n(t+1)は、開示の技術の「第3画像」の一例である。
 また、多視点画像に含まれる各画像40nには、対象物90の2次元位置の情報が付与されている。対象物90の2次元位置の情報は、画像40nから対象物90の領域を検出するために予め機械学習により生成された検出モデルを用いて、多視点画像に含まれる各画像40nから検出される対象物90を囲む領域内の所定点の座標値としてよい。例えば、図7に示すように、対象物90の領域が2次元のバウンディングボックス(以下、「2D-BBOX」という)42nで検出される場合、2D-BBOX42nの所定の位置の座標を、対象物90の2次元位置の情報としてよい。所定の位置は、例えば、2D-BBOX42nの中心、底辺の中点、いずれかの角(例えば、左上角)の点としてよい。図7の例では、2D-BBOX42nの底辺の中点(図7中の黒丸)を対象物90の2次元位置とする例を示している。これは、対象物90である人物の足元の位置を表す情報として扱われる。
 また、対象物90の2次元位置の情報は、画像40nから対象物90である人物の1以上の部位を認識するために予め機械学習により生成された認識モデルを用いて、多視点画像に含まれる各画像40nから認識される対象物90の各部位の座標値としてもよい。例えば、図8に示すように、認識モデルにより、対象物90である人物の各関節等の位置(図8中の黒丸)が認識される場合、その各関節等の位置の座標値を、対象物90の2次元位置の情報としてよい。
 なお、取得部12は、対象物90の2次元位置の情報が付与されていない多視点画像を取得する場合、上記の検出モデルや認識モデルを用いて、対象物90の2次元位置の情報を取得するようにしてもよい。
 補間部14は、画像40n(t-1)及び画像40n(t+1)の各々から検出された対象物90の2次元位置に基づいて、画像40n(t)における対象物90の2次元位置を補間する。具体的には、補間部14は、画像40n(t-1)及び画像40n(t+1)の各々から検出された対象物90の2次元位置の線形補間により、画像40n(t)における対象物90の2次元位置を予測して補間する。
 図9の例を用いて具体的に説明する。図9の例では、n=0,1であり、画像40n(t-1)、画像40n(t)、及び画像40n(t+1)の各々から、以下に示すように、対象物90の2次元位置が検出されている。
 
 この場合、補間部14は、以下に示すように、各画像40n(t)における対象物90の補間された2次元位置p2d,pred t,cn(図9中の網点の丸)を算出する。
 なお、補間に用いる画像の時刻は、t-1及びt+1の例に限定されない。例えば、補間部14は、時刻t-5、t-4、t-3、t-2、t-1、t+1、t+2、t+3、t+4、及びt+5の画像40nを用いて、画像40n(t)の2次元位置を補間してもよい。この場合、画像40n(t-5)、画像40n(t-4)、画像40n(t-3)、画像40n(t-2)、及び画像40n(t-1)は、開示の技術の「第1画像」の一例である。また、画像40n(t+1)、画像40n(t+2)、画像40n(t+3)、画像40n(t+4)、及び画像40n(t+5)は、開示の技術の「第3画像」の一例である。
 算出部16は、画像40n(t)から検出された対象物90の2次元位置と、補間部14により補間された2次元位置と、各カメラ30nのカメラパラメータとに基づいて、時刻tにおける対象物90の3次元位置を算出する。具体的には、算出部16は、検出及び補間された対象物90の2次元位置の、画像40n(t)間での組み合わせ毎に、対象物90の3次元位置の候補を算出する。
 より具体的には、算出部16は、カメラ30iで撮影された画像40iから検出及び補間された2次元位置から1つを選択してp2d とし、カメラ30jで撮影された画像40jから検出及び補間された2次元位置から1つを選択してp2d とする。算出部16は、p2d =(x,y,1)とp2d =(x,y,1)とのペアについて、カメラ30i及びカメラ30jの各々のカメラパラメータを表す透視投影行列Pci及びPcjを用いて、下記式を解くことにより、3次元位置の候補p3d,cand を算出する。PはPのn番目の行である。
  
 図9の例の場合、算出部16は、画像400(t)のp2d,obs t,c0及びp2d,pred t,c0と、画像401のp2d,obs t,c1及びp2d,pred t,c1との組み合わせから、4つの3次元位置の候補p3d,cand (図9中の斜線の丸)を算出する。
 算出部16は、算出した複数の3次元位置の候補p3d,cand に基づいて、対象物90の3次元位置p^3d を算出する。例えば、算出部16は、複数の候補p3d,cand の重心の位置を3次元位置p^3d として算出する。ただし、この場合、画像40n(t)から検出された2次元位置p2d,obs t,cn、及び補間された2次元位置p2d,pred t,cnに含まれる外れ値を除外できない。そこで、算出部16は、算出した候補p3d,cand 間の距離に基づいて、候補p3d,cand をクラスタリングし、クラスタに含まれる候補p3d,cand の数が最大のクラスタの重心を、時刻tにおける対象物90の3次元位置p^3d として算出してもよい。これは、最大のクラスタの重心の位置が、真の3次元位置に近似する最大の確率を持っていると仮定するものである。なお、クラスタリングの手法としては、完全連結法等の階層的クラスタリングの手法を適用してよい。
 図10の例を用いて具体的に説明する。図10の例では、n=0,1,2,3であり、画像40n(t-1)、画像40n(t)、及び画像40n(t+1)の各々から、以下に示すように、対象物90の2次元位置が検出されている。
 
 また、図10の例では、補間部14により、以下に示すように、各画像40n(t)における対象物90の補間された2次元位置p2d,pred t,cn(図10中の網点の丸)が算出されている。
 算出部16は、2つの候補p3d,cand 間の距離が閾値Kより小さい場合に、その2つの候補p3d,cand を同じクラスタに割り当てる。また、算出部16は、クラスタの重心位置と、そのクラスタに含まれない他の候補p3d,cand との距離が閾値Kより小さい場合、その候補p3d,cand を該当のクラスタに割り当てる。算出部16は、この処理を、距離が閾値Kより小さい候補p3d,cand間、又はクラスタと候補p3d,cand間が存在しなくなるまで繰り返す。図10の例では、クラスタリングにより、6個のクラスタ(図10中の実線の楕円及び破線の楕円)が生成された例を示している。
 算出部16は、生成されたクラスタのうち、クラスタに含まれる候補p3d,cand の数が最大のクラスタを選択し、選択したクラスタの重心の位置を、時刻tにおける対象物90の3次元位置p^3d として算出する。図10の例では、実線の楕円で示すクラスタが選択される。これにより、他のクラスタに属する候補p3d,cand が外れ値として除外され、真の3次元位置p3d,gt に近い3次元位置p^3d が算出される。
 算出部16は、各時刻tにおいて、対象物90の3次元位置p^3d を算出し、t=0,1,・・・,Tの3次元位置p^3d の系列(時系列の3次元位置p^3d)を出力する。
 3次元位置算出装置10は、例えば図11に示すコンピュータ50で実現されてよい。コンピュータ50は、CPU(Central Processing Unit)51と、一時記憶領域としてのメモリ52と、不揮発性の記憶装置53とを備える。また、コンピュータ50は、入力装置、表示装置等の入出力装置54と、記憶媒体59に対するデータの読み込み及び書き込みを制御するR/W(Read/Write)装置55とを備える。また、コンピュータ50は、インターネット等のネットワークに接続される通信I/F(Interface)56を備える。CPU51、メモリ52、記憶装置53、入出力装置54、R/W装置55、及び通信I/F56は、バス57を介して互いに接続される。
 記憶装置53は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等である。記憶媒体としての記憶装置53には、コンピュータ50を、3次元位置算出装置10として機能させるための3次元位置算出プログラム60が記憶される。3次元位置算出プログラム60は、取得プロセス制御命令62と、補間プロセス制御命令64と、算出プロセス制御命令66とを有する。また、記憶装置53は、カメラパラメータDB20を構成する情報が記憶される情報記憶領域70を有する。
 CPU51は、3次元位置算出プログラム60を記憶装置53から読み出してメモリ52に展開し、3次元位置算出プログラム60が有する制御命令を順次実行する。CPU51は、取得プロセス制御命令62を実行することで、図6に示す取得部12として動作する。また、CPU51は、補間プロセス制御命令64を実行することで、図6に示す補間部14として動作する。また、CPU51は、算出プロセス制御命令66を実行することで、図6に示す算出部16として動作する。また、CPU51は、情報記憶領域70から情報を読み出して、カメラパラメータDB20をメモリ52に展開する。これにより、3次元位置算出プログラム60を実行したコンピュータ50が、3次元位置算出装置10として機能することになる。なお、プログラムを実行するCPU51はハードウェアである。
 なお、3次元位置算出プログラム60により実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等で実現されてもよい。
 次に、本実施形態に係る3次元位置算出装置10の動作について説明する。3次元位置算出装置10に時系列の多視点画像が入力され、対象物90の3次元位置の算出が指示されると、3次元位置算出装置10において、図12に示す3次元位置算出処理が実行される。なお、3次元位置算出処理は、開示の技術の3次元位置算出方法の一例である。
 ステップS10で、取得部12が、対象物90の2次元位置の情報が付与された、時系列の多視点画像を取得する。次に、ステップS12で、取得部12が、処理対象の時刻を表す変数tに1を設定する。次に、ステップS14で、補間部14が、多視点画像に含まれる画像40n(t-1)及び画像40n(t+1)の各々から検出された対象物90の2次元位置に基づいて、画像40n(t)における対象物90の2次元位置を補間する。
 次に、ステップS16で、算出部16が、検出及び補間された対象物90の2次元位置の、画像40n(t)間での組み合わせ毎に、該当の画像40n(t)を撮影したカメラ30nのカメラパラメータを用いて、対象物90の3次元位置の候補を算出する。次に、ステップS18で、算出部16が、算出した3次元位置の候補間の距離に基づいて、候補をクラスタリングし、クラスタに含まれる候補の数が最大のクラスタの重心を、時刻tにおける対象物90の3次元位置として算出する。
 次に、取得部12が、tが、多視点画像の最終フレームの時刻情報Tより小さいか否かを判定する。t<Tの場合には、ステップS22へ移行し、取得部12が、tを1インクリメントして、ステップS14に戻る。一方、t≧Tの場合には、ステップS24へ移行し、算出部16が、算出した3次元位置を出力し、3次元位置算出処理は終了する。
 以上説明したように、本実施形態に係る3次元位置算出装置は、対象物を多視点で撮影する複数のカメラの各々で、対象時刻より前の時刻に撮影された第1画像、対象時刻に撮影された第2画像、及び対象時刻より後の時刻に撮影された第3画像を取得する。また、3次元位置算出装置は、第1画像及び第3画像の各々から検出された対象物の2次元位置に基づいて、第2画像における対象物の2次元位置を補間する。そして、3次元位置算出装置は、第2画像から検出された対象物の2次元位置と、補間された2次元位置と、複数のカメラの各々のカメラパラメータとに基づいて、対象時刻における対象物の3次元位置を算出する。これにより、画像上の2次元位置に外れ値や未検出が多い場合でも、3次元位置を算出するための2次元位置の情報が補充され、多視点画像を用いた対象物の3次元位置の算出精度を向上させることができる。
 また、本実施形態に係る3次元位置算出装置は、検出及び補間された2次元位置の、画像間での組み合わせ毎に、対象物の3次元位置の候補を算出する。そして、3次元位置算出装置は、候補間の距離に基づいて候補をクラスタリングし、クラスタに含まれる候補の数が最大のクラスタの重心を、対象時刻における対象物の3次元位置として算出する。これにより、候補から外れ値を適切に除外して、多視点画像を用いた対象物の3次元位置の算出精度を向上させることができる。
 なお、上記実施形態では、3次元位置の候補をクラスタリングして、最大のクラスタを選択することで外れ値を除外する場合について説明したが、これに限定されない。例えば、上述したRANSAC等の手法を適用してもよい。具体的には、3次元位置算出装置は、複数の候補の重心の位置等を3次元位置として算出し、算出した3次元位置を、複数のカメラの各々のカメラパラメータに基づいて、第2画像の各々に投影する。そして、3次元位置算出装置は、投影した位置との距離が予め定めた閾値以内の、第2画像において検出及び補間された2次元位置を用いて、対象物の3次元位置を再度算出するようにしてもよい。ただし、上記実施形態のように、クラスタリングを利用する手法では、外れ値以外の候補の割合が50%を下回った場合でも適切に機能するが、RANSAC等の他の外れ値の除外方法では、適切に外れ値を除外することが困難な場合もある。
 ここで、上記実施形態に係る3次元位置算出装置による3次元位置の算出結果の一例について説明する。図13は、画像から認識された人物の骨格情報に基づいて、ワールド座標系での人物の位置を算出した例を示すイメージ図である。上段(Shelf)及び下段(Campus)のいずれの例においても、人物の密集や画像上での重なりが生じているにもかかわらず、精度良く各人物の3次元位置を算出できていることが分かる。
 図14は、画像から検出された2D-BBOXの底辺の中点、すなわち人物の足元位置の3次元位置を算出し、撮影対象エリアを表すマップに、その3次元位置が表す足元位置をマッピングした例を示すイメージ図である。図14の例においても、画像上での人物の重なりや、棚等の障害物による遮蔽が生じているにもかかわらず、精度良く各人物の足元の3次元位置が算出されている。本実施形態に係る3次元位置算出装置は、図14の例に示すように、店舗内での客の移動軌跡を取得するシステムへの適用が可能である。
 また、上記実施形態に係る3次元位置算出装置は、例えば、体操競技の採点システムへの適用が可能である。ここで、図15を参照して、体操競技の採点システムの処理の概略について説明する。
 採点システムは、多視点画像が入力されると、多視点画像に含まれる各画像から人物の領域を検出する。次に、採点システムは、人物が存在する位置が競技エリアか否か等に基づいて、検出した領域が示す人物が選手か選手以外かを判定し、選手を示す領域を特定する。採点システムは、時系列の多視点画像において、同一の選手を示す領域を対応付けることにより、選手をトラッキングする。採点システムは、トラッキングされた一連の画像の各々から、認識モデル等を用いて選手の2次元の骨格情報を認識する。採点システムは、2次元の骨格情報から、カメラパラメータを用いて3次元の骨格情報を推定する。そして、採点システムは、時系列の3次元の骨格情報に対する平滑化等の後処理を行い、演技のフェーズ(切れ目)を推定した後、技を認識する。
 上記の採点システムの処理において、2次元の骨格情報から3次元の骨格情報を推定する処理において、上記実施形態に係る3次元位置算出装置を適用可能である。
 なお、開示の技術は、対象物を体操選手とする場合に限定されるものではなく、他の競技の選手や、一般の歩行者等、様々な人物を対象物として適用可能である。さらに、人物以外でも、動物や車両等を対象物として適用することも可能である。
 また、上記実施形態では、3次元位置算出プログラムが記憶装置に予め記憶(インストール)されているが、これに限定されない。開示の技術に係るプログラムは、CD-ROM、DVD-ROM、USBメモリ等の記憶媒体に記憶された形態で提供されてもよい。
10   3次元位置算出装置
12   取得部
14   補間部
16   算出部
20   カメラパラメータDB
30n カメラ
40n 画像
50   コンピュータ
51   CPU
52   メモリ
53   記憶装置
54   入出力装置
55   R/W装置
56   通信I/F
57   バス
59   記憶媒体
60   次元位置算出プログラム
62   取得プロセス制御命令
64   補間プロセス制御命令
66   算出プロセス制御命令
70   情報記憶領域
90   対象物

Claims (19)

  1.  対象物を異なる複数の視点から撮影する複数のカメラの各々で、対象時刻より前の1以上の時刻に撮影された第1画像、前記対象時刻に撮影された第2画像、及び前記対象時刻より後の1以上の時刻に撮影された第3画像を取得し、
     前記第1画像及び前記第3画像の各々から検出された前記対象物の2次元位置に基づいて、前記第2画像における前記対象物の2次元位置を補間し、
     前記第2画像から検出された前記対象物の2次元位置と、補間された前記第2画像における前記対象物の2次元位置と、前記複数のカメラの各々のカメラパラメータとに基づいて、前記対象時刻における前記対象物の3次元位置を算出する
     ことを含む処理をコンピュータが実行する3次元位置算出方法。
  2.  前記対象物の3次元位置を算出する処理は、前記複数のカメラに含まれる第1カメラで撮影された前記第2画像から検出及び補間された前記対象物の2次元位置と、前記複数のカメラに含まれる第2カメラで撮影された前記第2画像から検出及び補間された前記対象物の2次元位置との組み合わせ毎に算出される前記対象物の3次元位置の候補に基づいて、前記対象時刻における前記対象物の3次元位置を算出することを含む請求項1に記載の3次元位置算出方法。
  3.  前記対象物の3次元位置を算出する処理は、前記候補間の距離に基づいて前記候補をクラスタリングし、クラスタに含まれる前記候補の数が最大のクラスタの重心を、前記対象時刻における前記対象物の3次元位置として算出することを含む請求項2に記載の3次元位置算出方法。
  4.  算出した前記対象物の3次元位置を、前記複数のカメラの各々のカメラパラメータに基づいて前記第2画像の各々に投影した位置との距離が予め定めた閾値以内の、前記第2画像から検出された前記対象物の2次元位置、及び補間された前記第2画像における前記対象物の2次元位置を用いて、前記対象時刻における前記対象物の3次元位置を再度算出する請求項1~請求項3のいずれか1項に記載の3次元位置算出方法。
  5.  前記第2画像における前記対象物の2次元位置を補間する処理は、前記第1画像及び前記第3画像の各々から検出された前記対象物の2次元位置の線形補間により、前記第2画像における前記対象物の2次元位置を予測することを含む請求項1~請求項3のいずれか1項に記載の3次元位置算出方法。
  6.  前記対象物の2次元位置は、画像から前記対象物の領域を検出するために予め機械学習により生成された検出モデルを用いて、前記第1画像、前記第2画像、及び前記第3画像の各々から検出される前記対象物を囲む領域内の所定点の座標値、又は、画像から前記対象物の1以上の部位を認識するために予め機械学習により生成された認識モデルを用いて、前記第1画像、前記第2画像、及び前記第3画像の各々から認識される前記対象物の部位の座標値である請求項1~請求項3のいずれか1項に記載の3次元位置算出方法。
  7.  対象物を異なる複数の視点から撮影する複数のカメラの各々で、対象時刻より前の1以上の時刻に撮影された第1画像、前記対象時刻に撮影された第2画像、及び前記対象時刻より後の1以上の時刻に撮影された第3画像を取得する取得部と、
     前記第1画像及び前記第3画像の各々から検出された前記対象物の2次元位置に基づいて、前記第2画像における前記対象物の2次元位置を補間する補間部と、
     前記第2画像から検出された前記対象物の2次元位置と、補間された前記第2画像における前記対象物の2次元位置と、前記複数のカメラの各々のカメラパラメータとに基づいて、前記対象時刻における前記対象物の3次元位置を算出する算出部と、
     を含む3次元位置算出装置。
  8.  前記算出部は、前記複数のカメラに含まれる第1カメラで撮影された前記第2画像から検出及び補間された前記対象物の2次元位置と、前記複数のカメラに含まれる第2カメラで撮影された前記第2画像から検出及び補間された前記対象物の2次元位置との組み合わせ毎に算出される前記対象物の3次元位置の候補に基づいて、前記対象時刻における前記対象物の3次元位置を算出する請求項7に記載の3次元位置算出装置。
  9.  前記算出部は、前記候補間の距離に基づいて前記候補をクラスタリングし、クラスタに含まれる前記候補の数が最大のクラスタの重心を、前記対象時刻における前記対象物の3次元位置として算出する請求項8に記載の3次元位置算出装置。
  10.  前記算出部は、算出した前記対象物の3次元位置を、前記複数のカメラの各々のカメラパラメータに基づいて前記第2画像の各々に投影した位置との距離が予め定めた閾値以内の、前記第2画像から検出された前記対象物の2次元位置、及び補間された前記第2画像における前記対象物の2次元位置を用いて、前記対象時刻における前記対象物の3次元位置を再度算出する請求項7~請求項9のいずれか1項に記載の3次元位置算出装置。
  11.  前記補間部は、前記第1画像及び前記第3画像の各々から検出された前記対象物の2次元位置の線形補間により、前記第2画像における前記対象物の2次元位置を予測することを含む請求項7~請求項9のいずれか1項に記載の3次元位置算出装置。
  12.  前記対象物の2次元位置は、画像から前記対象物の領域を検出するために予め機械学習により生成された検出モデルを用いて、前記第1画像、前記第2画像、及び前記第3画像の各々から検出される前記対象物を囲む領域内の所定点の座標値、又は、画像から前記対象物の1以上の部位を認識するために予め機械学習により生成された認識モデルを用いて、前記第1画像、前記第2画像、及び前記第3画像の各々から認識される前記対象物の部位の座標値である請求項7~請求項9のいずれか1項に記載の3次元位置算出装置。
  13.  対象物を異なる複数の視点から撮影する複数のカメラの各々で、対象時刻より前の1以上の時刻に撮影された第1画像、前記対象時刻に撮影された第2画像、及び前記対象時刻より後の1以上の時刻に撮影された第3画像を取得し、
     前記第1画像及び前記第3画像の各々から検出された前記対象物の2次元位置に基づいて、前記第2画像における前記対象物の2次元位置を補間し、
     前記第2画像から検出された前記対象物の2次元位置と、補間された前記第2画像における前記対象物の2次元位置と、前記複数のカメラの各々のカメラパラメータとに基づいて、前記対象時刻における前記対象物の3次元位置を算出する
     ことを含む処理をコンピュータに実行させるための3次元位置算出プログラム。
  14.  前記対象物の3次元位置を算出する処理は、前記複数のカメラに含まれる第1カメラで撮影された前記第2画像から検出及び補間された前記対象物の2次元位置と、前記複数のカメラに含まれる第2カメラで撮影された前記第2画像から検出及び補間された前記対象物の2次元位置との組み合わせ毎に算出される前記対象物の3次元位置の候補に基づいて、前記対象時刻における前記対象物の3次元位置を算出することを含む請求項13に記載の3次元位置算出プログラム。
  15.  前記対象物の3次元位置を算出する処理は、前記候補間の距離に基づいて前記候補をクラスタリングし、クラスタに含まれる前記候補の数が最大のクラスタの重心を、前記対象時刻における前記対象物の3次元位置として算出することを含む請求項14に記載の3次元位置算出プログラム。
  16.  算出した前記対象物の3次元位置を、前記複数のカメラの各々のカメラパラメータに基づいて前記第2画像の各々に投影した位置との距離が予め定めた閾値以内の、前記第2画像から検出された前記対象物の2次元位置、及び補間された前記第2画像における前記対象物の2次元位置を用いて、前記対象時刻における前記対象物の3次元位置を再度算出する請求項13~請求項15のいずれか1項に記載の3次元位置算出プログラム。
  17.  前記第2画像における前記対象物の2次元位置を補間する処理は、前記第1画像及び前記第3画像の各々から検出された前記対象物の2次元位置の線形補間により、前記第2画像における前記対象物の2次元位置を予測することを含む請求項13~請求項15のいずれか1項に記載の3次元位置算出プログラム。
  18.  前記対象物の2次元位置は、画像から前記対象物の領域を検出するために予め機械学習により生成された検出モデルを用いて、前記第1画像、前記第2画像、及び前記第3画像の各々から検出される前記対象物を囲む領域内の所定点の座標値、又は、画像から前記対象物の1以上の部位を認識するために予め機械学習により生成された認識モデルを用いて、前記第1画像、前記第2画像、及び前記第3画像の各々から認識される前記対象物の部位の座標値である請求項13~請求項15のいずれか1項に記載の3次元位置算出プログラム。
  19.  対象物を異なる複数の視点から撮影する複数のカメラの各々で、対象時刻より前の1以上の時刻に撮影された第1画像、前記対象時刻に撮影された第2画像、及び前記対象時刻より後の1以上の時刻に撮影された第3画像を取得し、
     前記第1画像及び前記第3画像の各々から検出された前記対象物の2次元位置に基づいて、前記第2画像における前記対象物の2次元位置を補間し、
     前記第2画像から検出された前記対象物の2次元位置と、補間された前記第2画像における前記対象物の2次元位置と、前記複数のカメラの各々のカメラパラメータとに基づいて、前記対象時刻における前記対象物の3次元位置を算出する
     ことを含む処理をコンピュータに実行させるための3次元位置算出プログラムを記憶した非一時的記憶媒体。
PCT/JP2022/026426 2022-06-30 2022-06-30 3次元位置算出方法、装置、及びプログラム WO2024004190A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/026426 WO2024004190A1 (ja) 2022-06-30 2022-06-30 3次元位置算出方法、装置、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/026426 WO2024004190A1 (ja) 2022-06-30 2022-06-30 3次元位置算出方法、装置、及びプログラム

Publications (1)

Publication Number Publication Date
WO2024004190A1 true WO2024004190A1 (ja) 2024-01-04

Family

ID=89382586

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/026426 WO2024004190A1 (ja) 2022-06-30 2022-06-30 3次元位置算出方法、装置、及びプログラム

Country Status (1)

Country Link
WO (1) WO2024004190A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002008040A (ja) * 2000-06-16 2002-01-11 Matsushita Electric Ind Co Ltd 三次元情報検出装置及び三次元情報検出方法
WO2011096251A1 (ja) * 2010-02-02 2011-08-11 コニカミノルタホールディングス株式会社 ステレオカメラ
JP2014211404A (ja) * 2013-04-22 2014-11-13 株式会社ノビテック モーションキャプチャー方法
WO2016132950A1 (ja) * 2015-02-20 2016-08-25 ソニー株式会社 撮像装置および撮像方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002008040A (ja) * 2000-06-16 2002-01-11 Matsushita Electric Ind Co Ltd 三次元情報検出装置及び三次元情報検出方法
WO2011096251A1 (ja) * 2010-02-02 2011-08-11 コニカミノルタホールディングス株式会社 ステレオカメラ
JP2014211404A (ja) * 2013-04-22 2014-11-13 株式会社ノビテック モーションキャプチャー方法
WO2016132950A1 (ja) * 2015-02-20 2016-08-25 ソニー株式会社 撮像装置および撮像方法

Similar Documents

Publication Publication Date Title
US10354129B2 (en) Hand gesture recognition for virtual reality and augmented reality devices
US8582822B2 (en) Moving object detection apparatus and moving object detection method
US10893207B2 (en) Object tracking apparatus, object tracking method, and non-transitory computer-readable storage medium for storing program
US10789765B2 (en) Three-dimensional reconstruction method
US8300892B2 (en) Moving object detection apparatus and moving object detection method
EP3016071B1 (en) Estimating device and estimation method
JP6793151B2 (ja) オブジェクトトラッキング装置、オブジェクトトラッキング方法およびオブジェクトトラッキングプログラム
US8599252B2 (en) Moving object detection apparatus and moving object detection method
JP6816058B2 (ja) パラメータ最適化装置、パラメータ最適化方法、プログラム
Clipp et al. Parallel, real-time visual SLAM
JP7164045B2 (ja) 骨格認識方法、骨格認識プログラムおよび骨格認識システム
JP7427188B2 (ja) 3dポーズ取得方法及び装置
US20230005216A1 (en) Three-dimensional model generation method and three-dimensional model generation device
KR20230073331A (ko) 포즈 획득 방법 및 장치, 전자 기기, 저장 매체 및 프로그램
CN111753638A (zh) 一种基于rgbd图像的行人跟踪方法及系统
JP4836065B2 (ja) エッジトラッキング方法及びそのコンピュータプログラム
JP2007025863A (ja) 撮影システム、撮影方法及び画像処理プログラム
WO2024004190A1 (ja) 3次元位置算出方法、装置、及びプログラム
JP2019012497A (ja) 部位認識方法、装置、プログラム、及び撮像制御システム
NL2018998B1 (en) Image processing method and system for determining a position of an object and for tracking a moving object
JP2007109126A (ja) 移動体分布推定装置、移動体分布推定方法及び移動体分布推定プログラム
WO2024004191A1 (ja) 対応付け方法、装置、及びプログラム
Spurlock et al. Dynamic subset selection for multi-camera tracking
JP7374401B1 (ja) 人物相関判定装置、人物相関判定方法および人物相関判定プログラム
JP7277829B2 (ja) カメラパラメータ推定装置、カメラパラメータ推定方法及びカメラパラメータ推定プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22949463

Country of ref document: EP

Kind code of ref document: A1