The present disclosure relates to a position estimation method, a position estimation device, and a program.
A position estimation method for estimating a three-dimensional position of an object in a captured image from the captured images captured by two imaging devices having different angles is described in NPL 1.
As illustrated in
In the position estimation method described in NPL 1, at least two imaging devices are required, and it is sometimes difficult to install a plurality of imaging devices so as to be able to image at different angles. Further, in the position estimation method described in NPL 1, since a plurality of imaging devices are used, calibration may be difficult if a performance difference between the plurality of imaging devices is large. As described above, the position estimation method described in NPL 1 has a problem that it takes time and effort to estimate the position of the object.
An object of the present disclosure made in view of the above-mentioned problems is to provide a position estimation method, a position estimation device, and a program capable of easily estimating a three-dimensional position of a moving object.
In order to solve the above problem, a position estimation method according to the present disclosure is an estimation method for estimating a position of a moving object of which a shape viewed from a predetermined direction differs according to a direction, the method including a step of extracting an image of the moving object from a captured image obtained by imaging a predetermined imaging range including the moving object from a first direction, a step of estimating a direction of the moving object by matching a plurality of images viewed from the first direction with the extracted image of the moving object, the moving object having different inclinations in a second direction orthogonal to the first direction and in a third direction orthogonal to the first direction and the second direction, and a step of estimating a position of the moving object in the second direction and the third direction from the captured image, and estimates a position of the moving object in the first direction based on the estimated positions in the second direction and the third direction and the estimated change in the direction of the moving object.
In order to solve the above problem, a position estimation device according to the present disclosure is a position estimation device for estimating a position of a moving object of which a shape viewed from a predetermined direction differs according to a direction, the device including an extraction unit that extracts an image of the moving object from a captured image obtained by imaging a predetermined imaging range including the moving object from a first direction, a direction estimation unit that estimates a direction of the moving object by matching a plurality of images viewed from the first direction with the extracted image of the moving object, the moving object having different inclinations in a second direction orthogonal to the first direction and in a third direction orthogonal to the first direction and the second direction, and a position estimation unit that estimates a position of the moving object in the second direction and the third direction from the captured image, and estimating a position of the moving object in the first direction based on the estimated positions in the second direction and the third direction and the change in the direction of the moving object estimated by the direction estimation unit.
In addition, to solve the problems described above, a program according to the present disclosure causes a computer to function as the position estimation device described above.
According to the position estimation method, the position estimation device, and the program according to the present disclosure, it is possible to more easily estimate a three-dimensional position of a moving object.
A description will be attached below of embodiments of the present disclosure with reference to the drawings.
As illustrated in
As illustrated in
The extraction unit 12 extracts the image of the shuttlecock 1a from the captured image output from the input unit 11, that is, the captured image obtained by imaging a predetermined imaging range including the shuttlecock 1a from the Z-direction, and outputs the image to the direction estimation unit 13. The details of the extraction of the image of the shuttlecock 1a from the captured image by the extraction unit 12 will be described later.
The direction estimation unit 13 estimates the direction of the shuttlecock 1a using the image of the shuttlecock 1a extracted by the extraction unit 12, and outputs the estimation result to the position estimation unit 14. Details of the estimation of the direction of the shuttlecock 1a by the direction estimation unit 13 will be described later.
The position estimation unit 14 estimates the positions of the shuttlecock 1a in the X-direction and the Y-direction from the captured image. The position estimation unit 14 estimates the position of the shuttlecock 1a in the Z-direction based on the estimated positions of the shuttlecock 1a in the X-direction and the Y-direction and the change of the direction of the shuttlecock 1a estimated by the direction estimation unit 13. The position estimation unit 14 estimates the positions of the shuttlecock 1a in the X-direction and the Y-direction from the captured image, and estimates the position of the shuttlecock 1a in the Z-direction from the estimation result and the change in the direction of the shuttlecock 1a, thereby estimating the three-dimensional position of the shuttlecock 1a. The position estimation unit 14 outputs the estimation results to the state determination unit 15, the setting unit 16, and the output unit 17.
The state determination unit 15 determines the state of movement of the shuttlecock 1a based on the movement amount of the position of the shuttlecock 1a estimated by the position estimation unit 14 for each predetermined period. The state of the movement of the shuttlecock 1a is, for example, by a player's serve, a state (service) in which the movement is started from a state in which the shuttlecock 1a is stationary, a state (flight) in which the shuttlecock 1a hit back by the player is advancing, and a state (shot) that the shuttlecock 1a hit by one player is hit back by the other player and the advancing direction of the shuttlecock 1a is changed in the Z-direction. The details of the determination of the state of movement of the shuttlecock 1a by the state determination unit 15 will be described later.
The setting unit 16 sets an initial position as a starting point of estimation of the position of the shuttlecock 1a in the Z-direction based on the captured image according to the state of movement of the shuttlecock 1a determined by the state determination unit 15. Specifically, when the state determination unit 15 determines that the shuttlecock 1a has started to move or that the traveling direction of the shuttlecock 1a in the Z direction has changed, the setting unit 16 sets the initial position, which is the starting point of the movement of the shuttlecock 1a or the change in the direction of travelling of the shuttlecock 1a based on the captured image.
The output unit 17 outputs the three-dimensional position of the shuttlecock 1a estimated by the position estimation unit 14, and the like.
Next, an operation of the position estimation device 10 according to the present embodiment will be described.
As illustrated in
The extraction unit 12 extracts the shuttlecock 1a from the input captured image (step S12). The extraction of the shuttlecock 1a from the captured image by the extraction unit 12 will be described with reference to
The extraction unit 12 extracts the shuttlecock 1a from the captured image using, for example, a background difference method. Specifically, the extraction unit 12 creates a background image in which the shuttlecock 1a as a moving object does not exist from the captured image (captured image from time 0 to time t−1) before the time (t). The extraction unit 12 creates a difference image indicating a difference between the created background image and the captured image at the time t, and extracts the shuttlecock 1a from the difference image based on features such as the color and shape of the shuttlecock 1a.
Referring again to
The shape of the shuttlecock 1a when viewed from a predetermined direction is different according to the direction of the shuttlecock 1a. The direction estimation unit 13 estimates the direction of the shuttlecock 1a from the extracted image of the shuttlecock 1a by utilizing the fact that the shape of the shuttlecock 1a to be observed differs according to the direction of the shuttlecock 1a. The direction estimation unit 13 holds a template image as an image obtained by viewing the shuttlecock 1a inclined at various angles in the X-direction and the Y-direction from the Z-direction in advance as illustrated in
The position estimation unit 14 estimates the positions of the shuttlecock 1a in the X-direction and the Y-direction from the captured image, and estimates the position of the shuttlecock 1a in the Z-direction based on the estimated positions of the shuttlecock 1a in the X-direction and the Y-direction and the change in the direction of the shuttlecock 1a estimated by the direction estimation unit 13 (step S14). In the following description, the positions of the shuttlecock 1a in the X-direction, the Y-direction, and the Z-direction estimated from the captured image at the time t−1 (first time) is (x(t−1), y(t−1), and z(t−1)), and the inclination of the shuttlecock 1a in the X- and Y-directions is (x(t−1), y(t−1)). Also, when the position of the shuttlecock 1a in the X-direction and the Y-direction estimated from the captured image at the time t (second time) is defined as (x(t), y(t)), the inclination of the shuttlecock 1a in the X-direction and the Y-direction is defined as (x(t−1), y(t−1)). The position estimation unit 14 estimates the position of the shuttlecock 1a in the Z-direction at the time t based on Equation 1 below.
The state determination unit 15 determines the state of movement of the shuttlecock 1a based on the movement amount of the position of the shuttlecock 1a estimated by the position estimation unit 14 for each predetermined period (step S15). In the following description, the positions of the shuttlecock 1a in the X-direction, the Y-direction and the Z-direction at the time t−2 are defined as (x(t−2), y(t−2), z(t−2)), when the position of the shuttlecock 1a in the X-direction, the Y-direction and the Z-direction at the time t−1 is defined as (x(t−1), y(t−1), z(t−1)), the positions of the shuttlecock 1a in the X-direction, the Y-direction, and the Z-direction are defined as (x(t), y(t), z(t)).
The state determination unit 15 calculates a change d(t−1) of the position at the time t−1 based on Equation 2 below.
That is, the state determination unit 15 calculates the movement amount of the shuttlecock 1a in a period from the time t−2 to the time t−1 as the change d(t−1) of the position at the time t−1.
The state determination unit 15 calculates a change d(t) of the position at the time t based on Equation 3 below.
That is, the state determination unit 15 calculates the movement amount of the shuttlecock 1a in a period from the time t−1 to the time t as the change d(t) of the position at the time t.
The state determination unit 15 determines the state of movement of the shuttlecock 1a based on the change d(t−1) of the position at the time t−1 and the change d(t) of the position at the time t. Specifically, in a case where the change d(t−1) at time t−1 is less than the threshold K0 (0<K0) and the change d(t) at time t is greater than K1 (0<K1), that is, in a case where Equation 4 below is satisfied, the state determination unit 15 determines that the state of movement of the shuttlecock 1a is service (a state in which the shuttlecock 1a starts moving from a stationary state due to a serve by the player).
In addition, in a case where the change d(t−1) at the time t−1 and the change d(t) at the time t are greater than a threshold K1 and signs of values in the Z-direction are different, that is, when Equation 5 below is satisfied, the state determination unit 15 determines that the state of movement of the shuttlecock 1a is a shot (the state in which the shuttlecock 1a shot by one player is shot back by the other player and the advancing direction of the shuttlecock 1a is changed in the Z-direction).
In addition, in a case where the change d(t−1) at the time t−1 and the change d(t) at the time t are greater than the threshold K1 and the values in the Z-direction are different from each other, that is, when Equation 6 below is satisfied, the state determination unit 15 determines that the movement state of the shuttlecock 1a is a flight (the state where the shuttlecock 1a hit by the player is advancing).
In addition, the state determination unit 15 determines that the movement state of the shuttlecock 1a is out-of-play (the shuttlecock 1a is moving out of the game) in a case where none of Equations 4 to 6 is satisfied (step S16).
Note that in Equation 5, 0<K2<1. In Equation 6, an expression of 0<K3<1 is established. In Equations 4 to 6, “| |” indicates the size of the vector, and “ . . . ” indicates the inner product of the vector.
When it is determined that the state of movement of the shuttlecock 1a is a service or a shot, the setting unit 16 sets an initial position which is a start point of movement of the shuttlecock 1a or change in the traveling direction in the Z-direction based on the captured image (step S17). Setting of the initial position by the setting unit 16 will be described with reference to
The setting unit 16 sets coordinates at a place where the position in the Z-direction is known, for example, in the captured image at the time when it is determined that the state of movement of the shuttlecock 1a is a service or a shot. In the example illustrated in
Next, the setting unit 16 acquires the circumscribed rectangle of a player who hits the shuttlecock 1a (a player who hits a serve or a player who returns the shuttlecock 1a) from the captured image using an arbitrary object extraction technique or the like. Then, the setting unit 16 estimates the position in the Z-direction of the player who hits the shuttlecock 1a based on the set coordinates in the Z-direction and the position of the lower side (the side on the front side in the Z-direction) of the acquired circumscribed rectangle. The setting unit 16 sets the estimated position of the player as the initial position of the position of the shuttlecock 1a in the Z-direction.
When the initial position is set by the setting unit 16, the position estimation unit 14 estimates the position of the shuttlecock 1a in the Z-direction with the set initial position as a starting point. In addition, when the state determination unit 15 determines that the state of movement of the shuttlecock 1a is a flight, the position estimation unit 14 estimates the position of the shuttlecock 1a in the Z-direction using the position of shuttlecock 1a at the previous time as the starting point. In addition, the position estimation unit 14 estimates that the position of the shuttlecock 1a is an exceptional value when the state determination unit 15 determines that the state of movement of the shuttlecock 1a is out-of-play.
Referring again to
The position estimation device 10 repeats the processing (step S19) until the input video is finished (no image in the video is present).
As described above, the position estimation device 10 according to the present embodiment includes the extraction unit 12, the direction estimation unit 13, and the position estimation unit 14. The extraction unit 12 extracts an image of the moving object from a captured image obtained by imaging a predetermined imaging range including the moving object (shuttlecock 1a) from a first direction (Z-direction). The direction estimation unit 13 estimates a direction of a moving object having different inclinations in a second direction (X-direction) orthogonal to the first direction and a third direction (Y-direction) orthogonal to the first direction and the second direction by matching the moving object with a templet image that is a plurality of images viewed from the first direction and the extracted image of the moving object. The position estimation unit 14 estimates the positions of the moving object in the second direction and the third direction from the captured image. The position estimation unit 14 estimates the position of the moving object in the first direction based on the estimated positions in the second direction and the third direction and the estimated change in the direction of the moving object.
In addition, the position estimation method according to the present disclosure includes an extraction step S12, a direction estimation step S13, and a position estimation step S14. In the extraction step S12, an image of the moving object is extracted from a captured image obtained by imaging a predetermined imaging range including the moving object (shuttlecock 1a) from a first direction (Z-direction). In the direction estimation step S13, a direction of the moving object having different inclinations in a second direction (X-direction) orthogonal to the first direction and a third direction (Y-direction) orthogonal to the first direction and the second direction is estimated by matching the moving object with the templet image that is a plurality of images viewed from the first direction and the extracted image of the moving object. In the position estimation step S14, the positions of the moving object in the second direction and the third direction are estimated from the captured image. Then, in the position estimation step S14, the position of the moving object in the first direction is estimated based on the estimated positions in the second direction and the third direction and the estimated change in the direction of the moving object.
Since the three-dimensional position of the moving object can be estimated from the captured image captured from one direction, it is not necessary to use a plurality of imaging devices as in the conventional case. Therefore, since installation of the imaging device and calibration between the imaging devices are not required, the three-dimensional position of the moving object can be estimated more easily.
As illustrated in
The processor 110 is a controller that controls each component and executes various arithmetic processing procedures. That is, the processor 110 reads a program from the ROM 120 or the storage 140 and executes the program using RAM 130 as a work area. The processor 110 performs control of each component and various types of arithmetic processing of the position estimation device 10 described above according to programs stored in the ROM 120 or the storage 140. In the present embodiment, the ROM 120 or the storage 140 stores a program for causing a computer to function as the position estimation device 10 according to the present disclosure. The program is read out and executed by the processor 110, so that each configuration of the position estimation device 10, that is, the input unit 11, the extraction unit 12, the direction estimation unit 13, the position estimation unit 14, the state determination unit 15, the setting unit 16, and the output unit 17 are realized.
The program may be provided by being stored on a non-transitory storage medium such as a Compact Disk Read Only Memory (CD-ROM), a Digital Versatile Disk Read Only Memory (DVD-ROM), or a Universal Serial Bus (USB) memory. Further, the program may be downloaded from an external device via a network.
The ROM 120 stores various programs and various types of data. The RAM 130 temporarily stores programs or data as a working area. The storage 140 is configured of a hard disk drive (HDD) or a solid state drive (SSD), and stores various programs including an operating system and various types of data. The ROM 120 and the storage 140 may store template images for estimating the directions of the shuttlecock 1a, for example.
The input unit 150 includes a pointing device such as a mouse and a keyboard, and is used for various inputs.
The display unit 160 is a liquid crystal display, for example, and displays various types of information. By adopting a touch panel system, the display unit 160 may also function as the input unit 150.
A communication interface 170 is an interface for communicating with another device (for example, an imaging device) and for example, a standard such as Ethernet (registered trademark), FDDI, or Wi-Fi (registered trademark) is used.
A computer can be suitably used to function as the units of the position estimation device 10 described above. Such a computer can be realized by storing a program describing the processing details for realizing the functions of each part of the position estimation device 10 in a storage unit of the computer and by causing a processor 110 of the computer to read and execute the program. That is, the program can cause the computer to function as the above-described position estimation device 10. Further, the program can be recorded on a non-temporary recording medium. The program may also be provided via a network.
The following additional remarks are disclosed in relation to the embodiments described above.
A position estimation method for estimating a position of a moving object of which a shape viewed from a predetermined direction differs according to a direction, the method including
The position estimation device according to Supplementary Item 1, in which
The position estimation method according to Supplementary Item 1, further including
A position estimation device for estimating a position of a moving object of which a shape viewed from a predetermined direction differs according to a direction, the device including:
A non-transitory storage medium storing a program executable by a computer, the program causing the computer to function as the position estimation device according to Supplementary Item 4.
Although the above embodiment is described as a representative example, it is clear for those skilled in the art that many changes and replacement can be carried out within the gist and the scope of the present disclosure. Therefore, the embodiment described above should not be interpreted as limiting and the present invention can be modified and changed in various ways without departing from the scope of the claims. For example, a plurality of configuration blocks shown in the configuration diagrams of the embodiments may be combined to one, or one configuration block may be divided.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2021/021086 | 6/2/2021 | WO |