WO2023106028A1 - 動体検出装置、動体検出方法、及びコンピュータ読み取り可能な記録媒体 - Google Patents

動体検出装置、動体検出方法、及びコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
WO2023106028A1
WO2023106028A1 PCT/JP2022/041851 JP2022041851W WO2023106028A1 WO 2023106028 A1 WO2023106028 A1 WO 2023106028A1 JP 2022041851 W JP2022041851 W JP 2022041851W WO 2023106028 A1 WO2023106028 A1 WO 2023106028A1
Authority
WO
WIPO (PCT)
Prior art keywords
moving object
size
image data
specified
moving
Prior art date
Application number
PCT/JP2022/041851
Other languages
English (en)
French (fr)
Inventor
宏治 相田
謙司 石本
博靖 久保
弘幸 西川
孝裕 影山
浩 中里
雅高 水澤
良太 堀江
慎 竹原
Original Assignee
Necソリューションイノベータ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Necソリューションイノベータ株式会社 filed Critical Necソリューションイノベータ株式会社
Publication of WO2023106028A1 publication Critical patent/WO2023106028A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points

Definitions

  • the present disclosure relates to a moving body detection device and a moving body detection method for detecting a moving body in a video, and further relates to a computer-readable recording medium recording a program for realizing these.
  • Patent Document 1 discloses a device for detecting a ball on an image in a ball game such as soccer.
  • the device disclosed in Patent Literature 1 identifies the trajectory and position of the ball by detecting the ball, which is a moving object, for each of a plurality of frames forming an image.
  • a technique for measuring the distance between the imaging device and the moving object is required.
  • a technology using a special camera such as LiDAR (Light Detection and Ranging) or a stereo camera is known.
  • a technique of performing distance detection with a monocular camera using deep learning see Patent Document 2, for example).
  • An example of the purpose of the present disclosure is to identify the position of a moving object in real space without increasing the cost in video moving object detection.
  • a moving object detection device includes: an image data acquisition unit that acquires image data of a moving object captured by an imaging device; a moving body detection unit that detects the moving body from the image data and specifies the size of the detected moving body on the image; a position specifying unit that specifies the position of the moving object in real space by applying the specified size to the relationship between the size of the moving object on the image and the position of the moving object in real space; , characterized by comprising
  • a moving object detection method includes: an image data acquisition step of acquiring image data of a moving object captured by an imaging device; a moving body detection step of detecting the moving body from the image data and specifying the size of the detected moving body on the image; a position specifying step of specifying the position of the moving object in the real space by applying the specified size to the relationship between the size of the moving object on the image and the position of the moving object in the real space; , characterized by having
  • a computer-readable recording medium in one aspect of the present invention comprises: to the computer, an image data step of acquiring image data of a moving object captured by an imaging device; a moving body detection step of detecting the moving body from the image data and specifying the size of the detected moving body on the image; a position specifying step of specifying the position of the moving object in the real space by applying the specified size to the relationship between the size of the moving object on the image and the position of the moving object in the real space; ,
  • a program is recorded that includes instructions for executing
  • FIG. 1 is a configuration diagram showing a schematic configuration of a moving object detection device according to Embodiment 1.
  • FIG. FIG. 2 is a configuration diagram specifically showing the configuration of the moving object detection device according to the first embodiment.
  • FIG. 3 is a diagram showing an example of a moving object image used in the first embodiment.
  • FIG. 4 is a diagram showing an example of a trajectory of a moving object on an image obtained in Embodiment 1.
  • FIG. FIG. 5 is a diagram showing an example of the position of a moving object specified by the position specifying process according to Embodiment 1.
  • FIG. FIG. 6 is a diagram for explaining calculation processing of the horizontal position x of the moving object according to the first embodiment.
  • 7 is a flowchart showing the operation of the moving object detection device according to Embodiment 1.
  • FIG. 1 is a configuration diagram showing a schematic configuration of a moving object detection device according to Embodiment 1.
  • FIG. 2 is a configuration diagram specifically showing the configuration of the moving object detection device according to the
  • FIG. 8 is a configuration diagram showing the configuration of a moving object detection device according to Embodiment 2.
  • FIG. 9A and 9B are diagrams for explaining detection processing by a moving object detection unit according to Embodiment 2.
  • FIG. 10 is a diagram for explaining processing by the position specifying unit 13 according to the second embodiment.
  • FIG. 11 is a flowchart showing the operation of the moving object detection device according to Embodiment 2.
  • FIG. 12 is a block diagram showing an example of a computer that implements the moving object detection device according to the first and second embodiments.
  • Embodiment 1 A moving object detection device, a moving object detection method, and a program according to Embodiment 1 will be described below with reference to FIGS. 1 to 7.
  • FIG. 1 A moving object detection device, a moving object detection method, and a program according to Embodiment 1 will be described below with reference to FIGS. 1 to 7.
  • FIG. 1 A moving object detection device, a moving object detection method, and a program according to Embodiment 1 will be described below with reference to FIGS. 1 to 7.
  • FIG. 1 is a configuration diagram showing a schematic configuration of a moving object detection device according to Embodiment 1.
  • FIG. 1 is a configuration diagram showing a schematic configuration of a moving object detection device according to Embodiment 1.
  • the moving body detection device 10 shown in FIG. 1 is a device that detects a moving body on a video. As shown in FIG. 1 , the moving body detection device 10 includes an image data acquisition section 11 , a moving body detection section 12 and a position specifying section 13 .
  • the image data acquisition unit 11 acquires image data of a moving object captured by an imaging device.
  • the moving object detection unit 12 detects a moving object from image data and specifies the size of the detected moving object on the image.
  • the position specifying unit 13 specifies the position of the moving object in the real space by applying the specified size to the relationship between the size of the moving object on the image and the position of the moving object in the real space.
  • the position of a moving object in real space can be identified from the size of the moving object on the image without using a special camera. Therefore, according to Embodiment 1, it is possible to identify the position of a moving object in real space without increasing costs in moving object detection using video.
  • FIG. 2 is a configuration diagram specifically showing the configuration of the moving object detection device according to the first embodiment.
  • the moving object detection device 10 includes the above-described image data acquisition unit 11, moving object detection unit 12, and position specifying unit 13, as well as a moving object analysis unit 14 and a coefficient calculation unit.
  • a unit 15 , a display unit 16 , and a data storage unit 17 are provided.
  • the display unit 16 displays the position in the real space of the moving object specified by the position specifying unit 13 on the screen of the display device 20 or the like.
  • the display device 20 is a liquid crystal display or the like. Although the display device 20 is provided outside the moving body detection device 10 in the example of FIG. 2 , it may be provided inside the moving body detection device 10 . Functions of the moving body analysis unit 14, the coefficient calculation unit 15, and the data storage unit 17 will be described later.
  • the moving object 30 is a ball or a shuttle used in ball games.
  • the moving body 30 is a shuttle used in badminton.
  • the moving object detection device 10 detects the shuttle 30 in a badminton match and identifies the position of the shuttle 30 on the court 31 .
  • 32 indicates a badminton net.
  • 40 and 42 indicate the players, and 41 and 43 indicate the rackets of each player.
  • the moving object detection device 10 is also useful for various ball games such as baseball, soccer, tennis, volleyball, and basketball.
  • the imaging device 21 is installed so that the entire badminton court 31 can be photographed.
  • the imaging device 21 shoots a moving image and outputs a moving image file.
  • the image data acquisition unit 11 receives a moving image file and divides the received moving image file into frames to acquire chronological moving image data.
  • the image data acquisition unit 11 sends each moving image data to the data storage unit 17 .
  • the data storage unit 17 stores image data in chronological order.
  • the moving object detection unit 12 extracts image data in time series from the data storage unit 17, and detects and specifies the size of the moving object 30 for each image data, that is, for each frame. conduct.
  • the moving object detection unit 12 extracts a feature amount from the image data for each image data, inputs the extracted feature amount into a learning model obtained by machine-learning the feature amount of the moving object 30, and obtains the input result
  • the moving object 30 is detected based on.
  • the detection of the moving object 30 at this time is performed by cutting out rectangular image data surrounding the moving object 30 from the image data.
  • the moving object detection unit 12 specifies the size of the detected moving object 30 on the image for each image data.
  • the size of the moving object on the image at this time is represented, for example, by the number of pixels in the vertical or horizontal direction of the rectangle surrounding the moving object 30 described above.
  • the moving object detection unit 12 uses the size of the moving object 30 specified for the image data and the size of each moving object specified for the image data before and after the image data as a reference, An average value of the size of the moving object 30 can be calculated. For example, when calculating the size of the moving object in the image data of the 10th frame, the moving object detection unit 12 calculates the average value from the size of the moving object specified in the image data of the 8th to 12th frames. . In this case, the average value becomes the size of the moving object in the reference image data.
  • FIG. 3 is a diagram showing an example of a moving object image used in the first embodiment.
  • the moving body 30 since the moving body 30 moves at high speed, it may appear blurred and elongated in the image (hereinafter, such an image of the moving body 30 is referred to as a "blurred image"). If the image of the moving object 30 becomes such a blurred image, the specified size will be an erroneous value. Therefore, when the moving object detection unit 12 specifies the size of the moving object on the image for each image data, the moving object detection unit 12 further determines whether or not the specified size exceeds the standard, thereby specifying the blurred image. can. In this case, the moving object detection unit 12 obtains the average value of the size of each piece of image data except for moving image data in which the moving object 30 is a blurred image. As a result, the position specifying accuracy is further ensured.
  • the moving object detection unit 12 can also specify the traveling direction of the detected moving object on the image for each image data, and correct the specified size based on the specified traveling direction. For example, in the example of FIG. 2, when the shuttle 30 crosses the court 31, the size of the shuttle on the image increases, and when the shuttle 30 travels along the length of the court 31, the size of the shuttle on the image increases. The depth is smaller than when crossing.
  • the moving body detection unit 12 obtains a trajectory 51 of the moving body 30 on the image 50 from the coordinates on the image 50 of the moving body 30 detected in the past image data.
  • the magnitude is corrected according to the inclination ⁇ of the locus 51 .
  • the correction in this case is performed, for example, by obtaining in advance the relationship between the inclination ⁇ of the trajectory and the correction coefficient (magnification). Correction in this manner also ensures the accuracy of position identification.
  • FIG. 4 is a diagram showing an example of a trajectory of a moving object on an image obtained in Embodiment 1.
  • FIG. 4 is a diagram showing an example of a trajectory of a moving object on an image obtained in Embodiment 1.
  • the position specifying unit 13 first uses the image data stored in the data storage unit 17 to perform initial setting.
  • the position specifying unit 13 detects each side (end line and side line) of the court and the installed object (net 32) on the image from the image data 31, and determines the position ( For example, the coordinates of the edge of each line on the image) are specified.
  • the position specifying unit 13 stores the size of the specified moving object 30 on the image, the size of the moving object 30 on the image, and the position of the moving object 30 in the real space for each image data.
  • a moving object's position in real space is determined by applying a coefficient representing the relationship. Further, when the average value of the size of the moving object 30 is obtained as described above, the position specifying unit 13 specifies the position of the moving object 30 in the real space by applying the calculated average value to the coefficient. do.
  • the coefficient is calculated from the size of the image of the moving object obtained in advance at two different points on the court 31 where the ball game is played. Further, if the coefficient is a constant value, the estimation accuracy of the position of the moving object 30 also changes due to changes in the shooting conditions (the distance from the imaging device 21 to the court 31, the position of the imaging device 21). In 1, the coefficient calculator 15 calculates coefficients.
  • the coefficient calculation unit 15 calculates the length of the side of the court 31 and the height of the installation on the court (net 32) on the screen, and the length of the side of the court 31 and the height of the installation on the court in real space. A coefficient is calculated using the height (net 32) and the size of the moving object (shuttle) 30 in the real space.
  • the imaging device 21 is installed on one side of the court 31 as shown in FIG. Since the size of the moving object 30 on the image is inversely proportional to the distance between the imaging device 21 and the moving object 30, the coefficient is set in consideration of the focal length and angle of view of the lens of the imaging device 21.
  • the “distance” between the imaging device 21 and the moving object 30 is not the linear distance from the imaging device 21 to the moving object 30, but includes the imaging surface of the imaging device 21 and the part of the moving object 30 closest to the imaging device 21 side. , and a plane parallel to the imaging plane.
  • Two different points on the court 31 where the ball game is played for calculating the coefficient are, for example, a point on the front end line of the court 31 and A point on the end line on the far side of is set. Further, the actual length of the front and back end lines of the court 31 (518 cm), the actual height of the posts of the net 32 (155 cm), the actual distance between the end lines (1300 cm), the shuttle 30 The actual size (height and width) of the is entered.
  • the coefficient calculator 15 first detects the length (the number of pixels) of the back end line on the image, and uses the actual length of the back end line to calculate 1 on the back end line. Calculate the actual horizontal length per pixel. In addition, the coefficient calculator 15 detects the length (the number of pixels) of the front end line on the image, and uses the actual length of the front end line to calculate 1 on the front end line. Calculate the actual horizontal length per pixel. Further, the coefficient calculation unit 15 detects the height (the number of pixels) of the post of the net 32 on the image, and uses the actual height of the post to calculate the actual length per pixel in the vertical direction. .
  • the coefficient calculation unit 15 calculates the actual size (vertical and horizontal) of the shuttle 30, the actual horizontal length per pixel on the far end line, and the vertical length per pixel. Using the actual length, the size (length of one side of the rectangle) T1 of the shuttle 30 on the image on the end line on the far side is calculated.
  • the coefficient calculator 15 also calculates the actual size (vertical and horizontal) of the shuttle 30, the actual horizontal length per pixel on the front end line, and the actual vertical length per pixel. , the size of the shuttle 30 on the image (the length of one side of the rectangle) T2 on the end line on the front side is calculated.
  • the coefficient calculator 15 inputs the values of D, T 1 , and T 2 to Equation 1 below to calculate the coefficient a.
  • the position specifying unit 13 converts the size t on the image of the shuttle 30 specified by the moving object detection unit 12, the coefficient a, and the size T1 of the shuttle 30 on the end line into Equation 2 above. to calculate the distance y from the front end line 33 to the shuttle 30 as shown in FIG.
  • FIG. 5 is a diagram showing an example of the position of a moving object specified by the position specifying process according to Embodiment 1.
  • the position specifying unit 13 also calculates the actual distance x from one sideline 34 of the court 31 to the shuttle 30 as the horizontal position of the shuttle 30 .
  • FIG. 6 is a diagram for explaining calculation processing of the horizontal position x of the moving object according to the first embodiment.
  • the position specifying unit 13 first specifies the position of the distance y on the image, as shown in the middle diagram of FIG. In FIG. 6 the position at which the distance y is reached is indicated by line 44 . Subsequently, the position identifying unit 13 identifies a line 45 perpendicular to the line 44 and passing through the shuttle 30, as shown in the lower diagram of FIG.
  • the moving body analysis unit 14 calculates the movement vector of the moving body 30 based on the position of the moving body 30 in the real space specified along the time series for each image data (each frame). Furthermore, the moving object analysis unit 14 calculates the inner product of the calculated movement vector and the previously calculated movement vector. Note that the motion vector calculated last time is a motion vector calculated from past moving image data before the moving vector for which the moving vector was calculated. Then, when the calculated inner product becomes negative, the moving body analysis unit 14 determines that an external force is applied to the moving body 30 at the specified position.
  • the moving object analysis unit 14 determines that the position specified by the position specifying unit 13 is the hit point of the player when the inner product is negative. In addition, the moving body analysis unit 14 excludes the apex of the parabola of the launched shuttle 30 from being determined as the point of impact when the direction of the movement vector changes from upward to downward. It should be noted that the terms “upward” and “downward” here are not limited to directions parallel to the vertical direction, but also include directions that form an angle with respect to the vertical direction. Good luck.
  • the moving body analysis unit 14 can also determine the start point and the end point in addition to the point (rubbing point) where the external force is applied. Specifically, the moving object analysis unit 14 first calculates, for each image data, the amount of movement of the shuttle 30 between the image data and the preceding image data. Then, if the calculated movement amount is equal to or less than the set value, and the state in which the movement amount is equal to or less than the set value continues for a specified number of image data (for example, 5 frames), then position of the moving object is determined as the end point. In addition, when the calculated amount of movement increases from a state equal to or less than the set value to a second set value or more, the moving body analysis unit 14 sets the position of the moving body at that time as the starting point. I judge.
  • the display unit 16 In addition to the position of the shuttle 30 specified by the position specifying unit 13, the display unit 16 also displays the strike point, start point, and end point specified by the moving object analysis unit 14 on the screen of the display device 20 or the like. As a result, the analyst can specify the trajectory of the shuttle 30 from the start point to the end point, so that the player can improve his technique.
  • FIG. 7 is a flowchart showing the operation of the moving object detection device according to Embodiment 1.
  • FIG. 1 to 5 will be referred to as appropriate in the following description.
  • the moving object detection method is implemented by operating the moving object detection device 10 . Therefore, the description of the moving body detection method in Embodiment 1 is replaced with the description of the operation of the moving body detection apparatus 10 below.
  • the image data acquisition unit 11 receives a moving image file from the imaging device 21, divides the received moving image file into frames, and acquires image data in time series (step A1). Further, in step A1, the image data acquisition section 11 sends the acquired image data to the data storage section 17.
  • FIG. The data storage unit 17 stores image data in chronological order.
  • the moving object detection unit 12 extracts image data in chronological order from the data storage unit 17, and detects the moving object 30 for each image data (step A2).
  • the moving object 30 is detected for all image data. Further, detection of the moving object 30 is performed by cutting out rectangular image data surrounding the moving object 30 from the image data.
  • the moving body detection unit 12 identifies the size of each moving body 30 detected in step A2 (step A3). Specifically, in step A3, the moving object detection unit 12 specifies the number of pixels in the vertical direction or the horizontal direction of the rectangle surrounding the moving object 30, and sets the specified number of pixels as the size of the moving object 30. FIG.
  • the moving object detection unit 12 uses the size identified in step A3 to identify moving image data in which the moving object 30 is a blurred image, and removes the identified moving image data (step A4). Specifically, in step A4, the moving object detection unit 12 identifies a blurred image by determining whether the size of the moving object 30 identified in step A3 exceeds a standard for each image data.
  • the moving object detection unit 12 specifies the moving direction of the detected moving object on the image for each image data, and corrects the size of the moving object 30 specified in each image data based on the specified moving direction. (step A5). Specifically, in step A5, for each image data, the moving object detection unit 12 calculates the position of the moving object 30 on the image 50 from the coordinates on the image 50 of the moving object 30 detected in the previous image data. A locus 51 is obtained, and the size is corrected according to the obtained inclination ⁇ of the locus 51 (see FIG. 4).
  • the moving object detection unit 12 detects the size of the moving object 30 specified in step A3 for that image data and the size of each moving object specified for image data before and after that image data. is used to calculate the average size of the moving object 30 (step A6).
  • the image data removed in step A4 is excluded from the average value calculation target.
  • the coefficient calculation unit 15 calculates the length of the side of the court 31 on the screen and the height of the installation on the court, the length of the side of the court 31 in real space and the height of the installation on the court, and the actual space. Using the size of the moving body 30 in the space and the coefficient a for specifying the position of the moving body 30 is calculated (step A7). Specifically, at step A7, the coefficient calculation unit 15 calculates the coefficient a using Equation 1 described above.
  • the position specifying unit 13 applies the average value of the size of the moving object 30 on the image calculated in step A5 to the coefficient calculated in step A7 for each image data, thereby determining the size of the moving object 30.
  • a position in the real space is identified (step A8).
  • the position specifying unit 13 uses Equation 2 above to calculate the distance y from the end line on the front side of the shuttle, which is the moving object 30 . Further, the position specifying unit 13 detects one sideline of the court 31 from the image data, and uses the number of pixels in the horizontal direction between the detected sideline and the shuttle 30 to determine the distance from the sideline to the shuttle 30 . Calculate the distance x of
  • the moving body analysis unit 14 calculates the movement vector of the moving body 30 based on the position in the real space of the moving body 30 specified along the time series for each image data (each frame), and calculates Using the resulting movement vector, the point (rubbing point) where the external force is applied to the moving body 30, the start point of movement of the moving body 30, and the end point of movement of the moving body 30 are specified (step A9).
  • step A9 the moving object analysis unit 14 calculates the inner product of the calculated motion vector and the motion vector of the previous frame for each image data, and when the calculated inner product becomes negative, the specified It is determined that an external force is applied to the moving body 30 at the position. Then, the moving body analysis unit 14 specifies the position determined to be applied with the external force as the hitting point of the shuttle, which is the moving body 30 .
  • the moving object analysis unit 14 calculates, for each image data, the amount of movement of the shuttle 30 between the image data and the image data of the previous frame, and uses the calculated amount of movement to determine the movement of the shuttle, which is the moving object 30. Also identify the end and start points.
  • the display unit 16 displays the time-series position of the moving object 30 specified in step A8 on the screen of the display device 20, and furthermore, the hitting point, the starting point, and the position of the moving object 30 specified in step A9.
  • the end point is also displayed on the screen of the display device 20 (step A10).
  • the position of the moving body 30 in the real space, as well as the hit point, start point, and end point are specified. Since it is not necessary to use a special camera, and it is sufficient to use the imaging device 21 that outputs image data, according to the first embodiment, moving object detection using video can be performed in real space without increasing the cost. can specify the position of a moving object.
  • the program in Embodiment 1 may be any program that causes a computer to execute steps A1 to A10 shown in FIG. By installing this program in a computer and executing it, the moving object detection apparatus 10 and the moving object detection method in Embodiment 1 can be realized.
  • the processor of the computer functions as an image data acquisition unit 11, a moving object detection unit 12, a position specifying unit 13, a moving object analysis unit 14, a coefficient calculation unit 15, and a display unit 16, and performs processing.
  • Examples of computers include general-purpose PCs, smartphones, and tablet-type terminal devices.
  • the data storage unit 17 is realized by storing data files constituting these in a storage device such as a hard disk provided in the computer.
  • the data storage unit 17 may be realized by a storage device of another computer.
  • each computer may function as one of the image data acquisition unit 11, the moving object detection unit 12, the position specifying unit 13, the moving object analysis unit 14, the coefficient calculation unit 15, and the display unit 16. good.
  • Embodiment 2 Next, a moving object detection device, a moving object detection method, and a program according to Embodiment 2 will be described with reference to FIGS. 8 to 11.
  • FIG. 2 a moving object detection device, a moving object detection method, and a program according to Embodiment 2 will be described with reference to FIGS. 8 to 11.
  • FIG. 8 is a configuration diagram showing the configuration of a moving object detection device according to Embodiment 2. As shown in FIG.
  • a moving body detection device 60 according to the second embodiment shown in FIG. 8 is also a device for detecting a moving body on a video, like the moving body detection device 10 shown in the first embodiment.
  • the moving object detection device 60 also includes an image data acquisition unit 11, a moving object detection unit 12, a position specifying unit 13, a moving object analysis unit 14, and a coefficient calculation unit 15, similarly to the moving object detection device 10. , a display unit 16 and a data storage unit 17 .
  • the moving body detection device 60 includes a person identification unit 61, unlike the moving body detection device 10 in the first embodiment.
  • the second embodiment will be described below, focusing on the differences from the first embodiment.
  • the moving object detection unit 12 extracts image data from the data storage unit 17 in chronological order, and detects a person in addition to the moving object 30 for each image data.
  • the moving object detection unit 12 further uses a learning model obtained by machine-learning the feature amount of a person in addition to the learning model obtained by machine-learning the feature amount of the moving object 30 to detect a person on an image. .
  • the detection of the person at this time is also performed by cutting out rectangular image data surrounding the person from the image data.
  • FIG. 9 is a diagram for explaining detection processing by the moving object detection unit according to the second embodiment.
  • the moving object detection unit 12 detects a person in addition to the moving object 30 . Also, in the example of FIG. 9, in addition to the players 40 and 42, persons 70 and 71 outside the court 31 are also detected.
  • the moving body analysis unit 14 determines that an external force is applied to the moving body 30, the moving body analysis unit 14 sends the determination result and an identifier indicating the image data (frame) that is the determination target to the person identification unit 61. Notice.
  • the person identifying unit 61 identifies the person who applied the external force to the moving object from the image data acquired by the image data acquiring unit 11.
  • the person identification unit 61 first identifies each person detected by the moving object detection unit 12 in the image data in which the hitting point is identified by the position identification unit 13. Based on the position of each side of the court on which it is located, it is determined whether the player is in the court 31 or not. Specifically, for example, the person identification unit 61 determines whether a part or all of the rectangle representing the person is positioned inside the sides of the court 31 . In the example of FIG. 9 , the person identification unit 61 determines that the players 40 and 42 are inside the court 31 .
  • the person identification unit 61 calculates the distance between the person and the moving body 30 on the image for the person determined to be on the court. Then, the person identification unit 61 identifies the person whose calculated distance is short as the person who applied the external force to the moving body 30 . In the example of FIG. 9, the player 40 is identified as the person who applied the external force to the moving body 30, that is, the person who hit the shuttle.
  • the position identifying unit 18 corrects the position of the moving body 30 in real space based on the position of the identified person.
  • the position specifying unit 13 specifies in advance the coordinates on the image of the ends of the end line 33 on the near side and the end line 35 on the far side. Further, as shown in FIG. 10, the position specifying unit 18 divides the court on the screen into a plurality of sections in advance.
  • FIG. 10 is a diagram for explaining processing by the position specifying unit 13 according to the second embodiment.
  • each section on the court 31 is set to have the same size in real space.
  • the position specifying unit 18 calculates in advance the position in the real space of each section on the image.
  • the position identification unit 18 detects the center point P of the base of the rectangle indicating the person identified by the person identification unit 61, and detects the detected center point P on the image. Specify the coordinates (l, m) of . Furthermore, the position specifying unit 18 specifies a section to which the detected center point P corresponds.
  • the position specifying unit 18 specifies a section to which the position (x, y) of the moving body 30 corresponds. Then, the position specifying unit 18 corrects the position of the moving body 30 in the longitudinal direction (vertical direction) of the court 31 (distance y from the end line 33 on the front side) to the position in the longitudinal direction of the section to which P corresponds. After that, the position specifying unit 18 calculates the post-correction position of the moving object 20 in the real space from the post-correction position of the segment of the moving object 30 . Note that the position specifying unit 18 calculates the horizontal position x of the moving body 30 in the same manner as in the first embodiment.
  • FIG. 11 is a flowchart showing the operation of the moving object detection device according to Embodiment 2.
  • FIG. 8 to 10 will be referred to as necessary in the following description.
  • the moving object detection method is implemented by operating the moving object detection device 60 . Therefore, the description of the moving body detection method in the second embodiment is replaced with the description of the operation of the moving body detection device 60 below.
  • the image data acquisition unit 11 receives a moving image file from the imaging device 21, divides the received moving image file into frames, and acquires image data in time series (step B1).
  • Step B1 is similar to step A1 shown in FIG.
  • Step B2 is the same step as step A2 shown in FIG. 7 except that a person is detected.
  • Step B3 is similar to step A3 shown in FIG.
  • Step B4 is the same step as step A4 shown in FIG.
  • Step B5 is similar to step A5 shown in FIG.
  • the moving object detection unit 12 detects the size of the moving object 30 specified in step B3 for that image data and the size of each moving object specified for image data before and after that image data. is used to calculate the average size of the moving object 30 (step B6).
  • Step B6 is similar to step A6 shown in FIG.
  • the coefficient calculation unit 15 calculates the length of the side of the court 31 on the screen and the height of the installation on the court, the length of the side of the court 31 in real space and the height of the installation on the court, and the actual space. Using the size of the moving body 30 in the space, a coefficient a for specifying the position of the moving body 30 is calculated (step B7). Step B7 is similar to step A7 shown in FIG.
  • the position specifying unit 13 applies the average value of the size of the moving object 30 on the image calculated in step B5 to the coefficient calculated in step B7 for each image data, thereby determining the size of the moving object 30.
  • a position in the real space is identified (step B8).
  • Step B8 is similar to step A8 shown in FIG.
  • the position specifying unit 13 also uses Equation 2 to calculate the distance y from the front end line 33 to the shuttle, which is the moving body 30, and the distance x from the side line 34 to the moving body 30. .
  • the moving body analysis unit 14 calculates the movement vector of the moving body 30 based on the position in the real space of the moving body 30 specified along the time series for each image data (each frame), and calculates Using the obtained movement vector, the point (rubbing point) where the external force is applied to the moving body 30, the start point of movement of the moving body 30, and the end point of movement of the moving body 30 are specified (step B9).
  • Step B9 is the same step as step A9 shown in FIG.
  • the person identification unit 61 identifies the person who applied the external force to the moving body 30 in the image data for which the hitting point was identified in step B9 (step B10). Specifically, in step B10, the person identification unit 61 determines whether or not each person detected in step B2 is on the court 31 in the image data for which the hitting point has been identified in step B9. The person specifying unit 61 then calculates the distance between the person determined to be on the court and the moving body 30 on the image, and specifies the person with the shortest calculated distance as the person who applied the external force to the moving body 30 .
  • the position specifying unit 18 corrects the position in real space of the hitting point of the moving object 30 specified in step B8 based on the position of the person specified in step B10 (step B11). Specifically, the position identifying unit 18 sets divisions on the court 31 in advance, and identifies the division to which the central point P of the frame of the person identified in step B10 belongs. Then, the position specifying unit 18 corrects the position of the moving body 30 in the longitudinal direction (vertical direction) of the court 31 to the position in the longitudinal direction of the section to which P corresponds. After that, the position specifying unit 18 calculates the post-correction position of the moving object 20 in the real space from the post-correction position of the segment of the moving object 30 .
  • the display unit 16 displays the time-series position of the moving object 30 identified in step B8 on the screen of the display device 20, and furthermore, hit points (corrected in step B11) of the moving object 30 identified in step B9. ), the start point and the end point are also displayed on the screen of the display device 20 (step B12).
  • the position of the moving body 30 in the real space, and further, the hitting point, the starting point, and the ending point are specified. It is a thing. Also in the second embodiment, it is not necessary to use a special camera, and it is sufficient to use the imaging device 21 that outputs image data. It is possible to specify the position of a moving object in real space without having to do so.
  • the program in the second embodiment may be any program that causes a computer to execute steps B1 to B12 shown in FIG.
  • the processor of the computer functions as the image data acquisition unit 11, the moving object detection unit 12, the position specifying unit 13, the moving object analysis unit 14, the coefficient calculation unit 15, the display unit 16, and the person specifying unit 61, and performs processing.
  • Examples of computers include general-purpose PCs, smartphones, and tablet-type terminal devices.
  • the data storage unit 17 is realized by storing data files constituting these in a storage device such as a hard disk provided in the computer.
  • the data storage unit 17 may be realized by a storage device of another computer.
  • each computer has one of the image data acquisition unit 11, the moving object detection unit 12, the position specifying unit 13, the moving object analysis unit 14, the coefficient calculation unit 15, the display unit 16, and the person specifying unit 61. may function as
  • FIG. 12 is a block diagram showing an example of a computer that implements the moving object detection device according to the first and second embodiments.
  • a computer 110 includes a CPU (Central Processing Unit) 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader/writer 116, and a communication interface 117. and These units are connected to each other via a bus 121 so as to be able to communicate with each other.
  • CPU Central Processing Unit
  • the computer 110 may include a GPU (Graphics Processing Unit) or an FPGA (Field-Programmable Gate Array) in addition to the CPU 111 or instead of the CPU 111 .
  • the GPU or FPGA can execute the program in the first embodiment.
  • the CPU 111 expands the program in the embodiment, which is composed of a code group stored in the storage device 113, into the main memory 112 and executes various operations by executing each code in a predetermined order.
  • the main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory).
  • the program in the embodiment is provided in a state stored in a computer-readable recording medium 120.
  • the program in Embodiment 1 may be distributed on the Internet connected via communication interface 117 .
  • Input interface 114 mediates data transmission between CPU 111 and input devices 118 such as a keyboard and mouse.
  • the display controller 115 is connected to the display device 119 and controls display on the display device 119 .
  • the data reader/writer 116 mediates data transmission between the CPU 111 and the recording medium 120, reads programs from the recording medium 120, and writes processing results in the computer 110 to the recording medium 120.
  • Communication interface 117 mediates data transmission between CPU 111 and other computers.
  • the recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), magnetic recording media such as flexible disks, and CD- Optical recording media such as ROM (Compact Disk Read Only Memory) are included.
  • CF Compact Flash
  • SD Secure Digital
  • magnetic recording media such as flexible disks
  • CD- Optical recording media such as ROM (Compact Disk Read Only Memory) are included.
  • the moving object detection apparatus in Embodiments 1 and 2 can be realized by using hardware (for example, electronic circuits, etc.) corresponding to each part instead of a computer in which a program is installed. Furthermore, the moving body detection device may be partly implemented by a program and the rest by hardware.
  • Appendix 1 an image data acquisition unit that acquires image data of a moving object captured by an imaging device; a moving body detection unit that detects the moving body from the image data and specifies the size of the detected moving body on the image; a position specifying unit that specifies the position of the moving object in real space by applying the specified size to the relationship between the size of the moving object on the image and the position of the moving object in real space; , is equipped with A moving body detection device characterized by:
  • appendix 2 The moving body detection device according to appendix 1, an image data acquisition unit continuously acquires the image data in chronological order; The moving object detection unit detects the moving object for each of the acquired image data, specifies the size of the detected moving object on the image, and averages the sizes of the specified image data. seeking The position specifying unit calculates the distance from the imaging device to the moving object based on the obtained average value, and further specifies the position of the moving object in real space along the time series.
  • a moving body detection device characterized by:
  • the moving body detection device specifies the size of the detected moving object on the image for each of the acquired image data, determines whether the specified size exceeds a standard, and determines whether the size exceeds the standard. Obtaining the average size of each of the specified image data except for the size,
  • a moving body detection device characterized by:
  • a moving object detection device characterized by:
  • Appendix 5 The moving object detection device according to any one of Appendices 2 to 4, calculating a movement vector of the moving body based on the position of the moving body in the real space specified along the time series, and further calculating an inner product of the calculated movement vector and the previously calculated movement vector; a moving body analysis unit that determines that an external force is applied to the moving body at the specified position when the inner product obtained is negative;
  • a moving body detection device characterized by:
  • the moving body detection device (Appendix 6) The moving body detection device according to appendix 5,
  • the moving object is a ball or a shuttle used in ball games
  • the position specifying unit applies a coefficient representing the relationship between the size of the moving object on the image and the position of the moving object in real space to the specified size, thereby determining the position of the moving object in real space. locate and The coefficient is calculated from the size of the image of the moving object obtained in advance at two different points on the court where the ball game is played,
  • a moving body detection device characterized by:
  • Appendix 7 The moving object detection device according to appendix 6, The length of the side of the court and the height of the installation on the court on the screen, the length of the side of the court and the height of the installation on the court in real space, and the moving object in real space further comprising a coefficient calculation unit that calculates the coefficient using the size and
  • a moving body detection device characterized by:
  • Appendix 8 The moving object detection device according to appendix 6 or 7, a person identifying unit that identifies a person who applied an external force to the moving body from the acquired image data when it is determined that the moving body is being subjected to an external force; wherein the position specifying unit corrects the specified position of the moving object in real space based on the specified position of the person;
  • a moving body detection device characterized by:
  • Appendix 9 The moving object detection device according to any one of Appendices 1 to 8, further comprising a display unit for displaying the identified position of the moving object in real space on a screen;
  • a moving body detection device characterized by:
  • Appendix 11 The moving object detection method according to Appendix 10, in an image data acquisition step, successively acquiring the image data in chronological order; In the moving object detection step, the moving object is detected for each of the acquired image data, the size of the detected moving object on the image is specified, and the average value of the sizes of the specified image data is specified. seeking In the position specifying step, calculating the distance from the imaging device to the moving object based on the obtained average value, and further specifying the position of the moving object in real space along the time series; A moving object detection method characterized by:
  • Appendix 12 The moving object detection method according to Appendix 11, In the moving object detection step, the size of the detected moving object on the image is specified for each of the acquired image data, and further, it is determined whether the specified size exceeds a criterion, and the size exceeding the criterion is determined. Obtaining the average size of each of the specified image data except for the size, A moving object detection method characterized by:
  • Appendix 14 The moving object detection method according to any one of Appendices 11 to 13, calculating a movement vector of the moving body based on the position of the moving body in the real space specified along the time series, and further calculating an inner product of the calculated movement vector and the previously calculated movement vector; further comprising a moving body analysis step of determining that an external force is applied to the moving body at the specified position when the inner product obtained is negative;
  • a moving object detection method characterized by:
  • the moving object detection method according to appendix 14,
  • the moving object is a ball or a shuttle used in ball games,
  • In the position specifying step by applying a coefficient representing the relationship between the size of the moving object on the image and the position of the moving object in real space to the specified size, locate and The coefficient is calculated from the size of the image of the moving object obtained in advance at two different points on the court where the ball game is played,
  • a moving object detection method characterized by:
  • Appendix 16 The moving object detection method according to appendix 15, The length of the side of the court and the height of the installation on the court on the screen, the length of the side of the court and the height of the installation on the court in real space, and the moving object in real space further comprising a coefficient calculation step of calculating the coefficient using the magnitude and A moving object detection method characterized by:
  • appendix 17 The moving object detection method according to appendix 15 or 16, further comprising a person identification step of identifying a person who applied an external force to the moving body from the acquired image data when it is determined that the moving body is being subjected to an external force; In the position specifying step, correcting the specified position of the moving object in real space based on the specified position of the person;
  • a moving object detection method characterized by:
  • Appendix 18 The moving object detection method according to any one of Appendices 10 to 17, further comprising a display step of displaying the identified position of the moving object in real space on a screen;
  • a moving object detection method characterized by:
  • a computer-readable recording medium recording a program containing instructions for executing a
  • Appendix 20 19.
  • the moving object detection step the moving object is detected for each of the acquired image data, the size of the detected moving object on the image is specified, and the average value of the sizes of the specified image data is specified.
  • seeking In the position specifying step calculating the distance from the imaging device to the moving object based on the obtained average value, and further specifying the position of the moving object in real space along the time series;
  • a computer-readable recording medium characterized by:
  • Appendix 21 The computer-readable recording medium according to Appendix 20, In the moving object detection step, the size of the detected moving object on the image is specified for each of the acquired image data, and further, it is determined whether the specified size exceeds a criterion, and the size exceeding the criterion is determined. Obtaining the average size of each of the specified image data except for the size, A computer-readable recording medium characterized by:
  • Appendix 22 The computer-readable recording medium according to Appendix 20 or 21, In the moving body detection step, for each acquired image data, a traveling direction of the detected moving body on the image is further specified, and based on the specified traveling direction, the specified size is corrected.
  • a computer-readable recording medium characterized by:
  • Appendix 23 The computer-readable recording medium according to any one of Appendices 20 to 22,
  • the program causes the computer to: calculating a movement vector of the moving body based on the position of the moving body in the real space specified along the time series, and further calculating an inner product of the calculated movement vector and the previously calculated movement vector; determining that an external force is applied to the moving body at the specified position when the inner product obtained by the calculation becomes negative, further executing a moving body analysis step;
  • a computer-readable recording medium characterized by:
  • Appendix 24 The computer-readable recording medium according to Appendix 23,
  • the moving object is a ball or a shuttle used in ball games,
  • In the position specifying step by applying a coefficient representing the relationship between the size of the moving object on the image and the position of the moving object in real space to the specified size, locate and The coefficient is calculated from the size of the image of the moving object obtained in advance at two different points on the court where the ball game is played,
  • a computer-readable recording medium characterized by:
  • Appendix 25 The computer-readable recording medium according to Appendix 24, The program causes the computer to: The length of the side of the court and the height of the installation on the court on the screen, the length of the side of the court and the height of the installation on the court in real space, and the moving object in real space calculating the coefficient using a magnitude and further causing a coefficient calculation step to be performed;
  • a computer-readable recording medium characterized by:
  • Appendix 26 The computer-readable recording medium according to Appendix 24 or 25, The program causes the computer to: When it is determined that an external force is applied to the moving body, the person who applied the external force to the moving body is identified from the acquired image data, and a person identification step is further executed, In the position specifying step, correcting the specified position of the moving object in real space based on the specified position of the person;
  • a computer-readable recording medium characterized by:
  • Appendix 27 The computer-readable recording medium according to any one of Appendices 19 to 26, The program causes the computer to: Displaying the identified position in real space of the moving object on a screen, further executing a display step, A computer-readable recording medium characterized by:
  • the present invention it is possible to specify the position of a moving object in real space without increasing costs in moving object detection using video.
  • INDUSTRIAL APPLICABILITY The present invention is useful in fields where moving object detection from video is required, for example, in the field of sports analysis.
  • moving object detection device 11 image data acquisition unit 12 moving object detection unit 13 position specifying unit 14 moving object analysis unit 15 coefficient calculation unit 16 display unit 17 data storage unit 20 display device 30 moving object (shuttle) 31 court 32 net 40 player 41 racket 42 player 43 racket 44, 45 line 46 intersection 110 computer 111 CPU 112 main memory 113 storage device 114 input interface 115 display controller 116 data reader/writer 117 communication interface 118 input device 119 display device 120 recording medium 121 bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

動体検出装置10は、撮像装置によって撮影された動体の画像データを取得する、画像データ取得部11と、画像データから動体を検出し、検出した動体の画像上での大きさを特定する、動体検出部12と、画像上での動体の大きさと実空間での動体の位置との関係に、特定された大きさを適用することによって、動体の実空間での位置を特定する、位置特定部13と、を備えている。

Description

動体検出装置、動体検出方法、及びコンピュータ読み取り可能な記録媒体
 本開示は、映像上で動体を検出するための、動体検出装置及び動体検出方法に関し、更には、これらを実現するためのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
 従来から、映像上で動体を検出する技術が知られている(例えば特許文献1参照)。このような動体検出技術が、球技の解析に利用されると、ボールの動きを可視化できるため、競技者における技術の向上が期待できる。特許文献1は、サッカー等の球技において、映像上でボールを検出する装置を開示している。特許文献1に開示された装置は、映像を構成する複数のフレーム毎に、動体であるボールを検出することで、ボールの軌跡と位置とを特定する。
 但し、特許文献1に開示された装置では、ボールの画面上での軌跡及び位置を特定することは可能であるが、撮像装置とボールとの距離が計測されないため、実際の球技が行われているコートとボールとの位置関係を特定することは困難である。
 従って、ボールの実際の位置を測定するためには、撮像装置と動体との距離を測定する技術が必要となる。このような技術として、LiDAR(Light Detection and Ranging)又はステレオカメラといった特殊なカメラを用いる技術が知られている。その他に、ディープラーニングを用いて、単眼カメラによる距離検出を行う技術も知られている(例えば特許文献2参照)。
国際公開第2016/021143号公報 特開2019-164097号公報
 しかしながら、上述した特殊なカメラは高価であることから、特殊なカメラを用いてボールまでの距離を計測する場合は、コストが増加するという問題がある。また、ディープラーニングを用いて、単眼カメラによる距離検出を行う技術には、シャトルやボール等の高速に移動する動体に対応できないという問題がある。
 本開示の目的の一例は、映像による動体検出において、コストを増加することなく、実空間での動体の位置を特定することにある。
 上記目的を達成するため、本発明の一側面における動体検出装置は、
 撮像装置によって撮影された動体の画像データを取得する、画像データ取得部と、
 前記画像データから前記動体を検出し、検出した前記動体の画像上での大きさを特定する、動体検出部と、
 画像上での前記動体の大きさと実空間での前記動体の位置との関係に、特定された前記大きさを適用することによって、前記動体の実空間での位置を特定する、位置特定部と、
を備えている、ことを特徴とする。
 また、上記目的を達成するため、本発明の一側面における動体検出方法は、
 撮像装置によって撮影された動体の画像データを取得する、画像データ取得ステップと、
 前記画像データから前記動体を検出し、検出した前記動体の画像上での大きさを特定する、動体検出ステップと、
 画像上での前記動体の大きさと実空間での前記動体の位置との関係に、特定された前記大きさを適用することによって、前記動体の実空間での位置を特定する、位置特定ステップと、
を有する、ことを特徴とする。
 更に、上記目的を達成するため、本発明の一側面におけるコンピュータ読み取り可能な記録媒体は、
コンピュータに、
 撮像装置によって撮影された動体の画像データを取得する、画像データステップと、
 前記画像データから前記動体を検出し、検出した前記動体の画像上での大きさを特定する、動体検出ステップと、
 画像上での前記動体の大きさと実空間での前記動体の位置との関係に、特定された前記大きさを適用することによって、前記動体の実空間での位置を特定する、位置特定ステップと、
を実行させる命令を含む、プログラムを記録している、ことを特徴とする。
 以上のように本発明によれば、映像による動体検出において、コストを増加することなく、実空間での動体の位置を特定することができる。
図1は、実施の形態1における動体検出装置の概略構成を示す構成図である。 図2は、実施の形態1における動体検出装置の構成を具体的に示す構成図である。 図3は、実施の形態1で用いられる動体の画像の一例を示す図である。 図4は、実施の形態1において求められる動体の画像上での軌跡の一例を示す図である。 図5は、実施の形態1における位置特定処理によって特定される動体の位置の一例を示す図である。 図6は、実施の形態1における動体の水平方向の位置xの算出処理を説明する図である。 図7は、実施の形態1における動体検出装置の動作を示すフロー図である。 図8は、実施の形態2における動体検出装置の構成を示す構成図である。 図9は、実施の形態2における動体検出部による検出処理を説明する図である。 図10は、実施の形態2における位置特定部13による処理を説明する図である。 図11は、実施の形態2における動体検出装置の動作を示すフロー図である。 図12は、実施の形態1及び2における動体検出装置を実現するコンピュータの一例を示すブロック図である。
(実施の形態1)
 以下、実施の形態1における、動体検出装置、動体検出方法、及びプログラムについて、図1~図7を参照しながら説明する。
[装置構成]
 最初に、実施の形態1における動体検出装置の概略構成について図1を用いて説明する。図1は、実施の形態1における動体検出装置の概略構成を示す構成図である。
 図1に示す動体検出装置10は、映像上で動体を検出する装置である。図1に示すように、動体検出装置10は、画像データ取得部11と、動体検出部12と、位置特定部13とを備えている。
 画像データ取得部11は、撮像装置によって撮影された動体の画像データを取得する。動体検出部12は、画像データから動体を検出し、検出した動体の画像上での大きさを特定する。位置特定部13は、画像上での動体の大きさと実空間での動体の位置との関係に、特定された大きさを適用することによって、動体の実空間での位置を特定する。
 このように、実施の形態1では、特殊なカメラを用いることなく、画像上での動体の大きさから、動体の実空間での位置を特定できる。従って、実施の形態1によれば、映像による動体検出において、コストを増加することなく、実空間での動体の位置を特定することができる。
 続いて、図2~図5を用いて、実施の形態1における動体検出装置10の構成及び機能について具体的に説明する。図2は、実施の形態1における動体検出装置の構成を具体的に示す構成図である。
 図2に示すように、実施の形態1では、動体検出装置10は、上述した、画像データ取得部11、動体検出部12、及び位置特定部13に加えて、動体解析部14と、係数算出部15と、表示部16と、データ格納部17とを備えている。
 このうち、表示部16は、位置特定部13が特定した動体の実空間での位置を、表示装置20等の画面上に表示する。表示装置20は、液晶ディスプレイ等である。表示装置20は、図2の例では、動体検出装置10の外部に備えられているが、動体検出装置10の内部に備えられていても良い。動体解析部14、係数算出部15、及びデータ格納部17の機能については後述する。
 実施の形態1では、動体30は球技において用いられるボール又はシャトルである。具体的には、図2の例では、動体30は、バドミントンで用いられるシャトルである。以下、シャトル30とも表記する。動体検出装置10は、バドミントンの競技においてシャトル30を検出し、コート31でのシャトル30の位置を特定する。
 図2において、32は、バドミントンのネットを示している。40及び42は、プレイヤーを示し、41及び43は、各プレイヤーのラケットを示している。なお、動体検出装置10は、バドミントン以外にも、様々な球技、例えば、野球、サッカー、テニス、バレーボール、バスケット等にも有用である。
 実施の形態1では、バドミントンのコート31の全体を撮影できるように撮像装置21が設置されている。撮像装置21は、動画撮影を行い、動画ファイルを出力する。
 画像データ取得部11は、動画ファイルを受け取り、受け取った動画ファイルをフレーム毎に分割することによって、時系列に沿った動画データを取得する。画像データ取得部11は、各動画データを、データ格納部17に送る。データ格納部17は、時系列に沿って画像データを格納する。
 動体検出部12は、実施の形態1では、データ格納部17から、時系列に沿って、画像データを取り出し、画像データ毎に、つまり、フレーム単位で、動体30の検出及び大きさの特定を行う。
 具体的には、動体検出部12は、例えば、画像データ毎に、画像データから特徴量を抽出し、抽出した特徴量を、動体30の特徴量を機械学習した学習モデルに入力し、入力結果に基づいて動体30を検出する。このときの動体30検出は、画像データから、動体30を囲む矩形の画像データを切り出すことによって行われる。
 次いで、動体検出部12は、画像データ毎に、検出した動体30の画像上での大きさを特定する。このときの画像上での動体の大きさは、例えば、上述した動体30を囲む矩形の縦方向又は横方向の画素数で表される。
 また、動体検出部12は、画像データ毎に、その画像データについて特定された動体30の大きさと、その画像データを基準とした前後の画像データについて特定された各動体の大きさとを用いて、動体30の大きさの平均値を算出することができる。例えば、動体検出部12は、10フレーム目の画像データにおいて、動体の大きさを算出する場合は、8フレーム目~12フレーム目までの画像データで特定した動体の大きさから平均値を算出する。この場合は、平均値が、基準となった画像データにおける動体の大きさとなる。
 このように平均値を用いるのは、図3に示すように、ボールと異なり、シャトルの場合は、動体30の画像上での大きさが、動体の画像上での進行方向(撮影されたときの向き)に応じて変化するからである。図3の例では、シャトル30の進行方向が画面の法線方向である場合と、画面の水平方向である場合とが示されている。両者は同じシャトルであるが、画像上での大きさは異なっている。このため、動体の大きさとしては、上述したように平均値を用いるのが好ましく、この結果、位置の特定精度が担保される。図3は、実施の形態1で用いられる動体の画像の一例を示す図である。
 また、動体30は高速で移動するため、画像上で、ぼけた状態で、細長く映ることがある(以下、このような動体30の画像を「ブラー画像」と表記する。)。動体30の画像がこのようなブラー画像となると、特定された大きさは誤った値となる。このため、動体検出部12は、画像データ毎に、動体の画像上での大きさを特定すると、更に、特定した大きさが基準を超えるかどうか判定することによって、ブラー画像を特定することができる。この場合、動体検出部12は、動体30がブラー画像となっている動画データを除いて、画像データ毎の大きさの平均値を求める。この結果、位置の特定精度はよりいっそう担保される。
 更に、動体検出部12は、画像データ毎に、検出された動体の画像上での進行方向を特定し、特定した進行方向に基づいて、特定した大きさを補正することもできる。例えば、図2の例において、シャトル30がコート31を横切ると、画像上でのシャトルの大きさは大きくなり、シャトル30がコート31の長手方向に沿って進行すると、画像上でのシャトルの大きさは、横切る場合よりも小さくなる。
 このため、図4に示すように、動体検出部12は、過去の画像データで検出された動体30の画像50上での座標から、画像50上での動体30の軌跡51を求め、求めた軌跡51の傾きαに応じて、大きさを補正する。この場合の補正は、例えば、予め、軌跡の傾きαと補正係数(倍率)との関係を求めておくことによって行われる。このように補正を行うことによっても、位置の特定精度が担保される。図4は、実施の形態1において求められる動体の画像上での軌跡の一例を示す図である。
 位置特定部13は、実施の形態1では、最初に、データ格納部17に格納されている画像データを用いて、初期設定を実行する。初期設定においては、位置特定部13は、画像データ31から、画像上のコートの各辺(エンドライン及びサイドライン)と設置物(ネット32)とを検出し、それぞれの画像上での位置(例えば、各ラインの画像上の端部の座標)を特定する。
 位置特定部13は、実施の形態1では、画像データ毎に、特定された動体30の画像上での大きさに、画像上での動体30の大きさと実空間での動体30の位置との関係を表す係数を適用することによって、動体の実空間での位置を特定する。また、位置特定部13は、上述のように動体30の大きさの平均値が求められた場合は、求められた平均値を係数に適用することによって、動体30の実空間での位置を特定する。
 係数は、球技が行われるコート31上の異なる2点において予め求められた動体の画像の大きさから算出される。また、係数が一定値であるとすると、撮影条件(撮像装置21からコート31までの距離、撮像装置21の位置)の変化によって、動体30の位置の推定精度も変わってしまうため、実施の形態1では、係数算出部15が係数を算出する。
 係数算出部15は、画面上における、コート31の辺の長さ及びコート上の設置物(ネット32)の高さと、実空間における、コート31の辺の長さ及びコート上の設置物の高さ(ネット32)と、実空間における動体(シャトル)30の大きさと、を用いて、係数を算出する。
 ここで、係数の算出処理及び動体の位置特定処理について説明する。前提として、撮像装置21は、図2に示すように、コート31の一方側に設置されている。画像上の動体30の大きさは、撮像装置21と動体30との距離に反比例することから、係数は、撮像装置21のレンズの焦点距離及び画角を考慮して設定される。本明細書において撮像装置21と動体30との「距離」は、撮像装置21から動体30までの直線距離ではなく、撮像装置21の撮像面と、動体30の最も撮像装置21側の部分を含み、且つ、撮像面に平行な面と、の最短距離を意味する。
 また、係数の算出のための、球技が行われるコート31上の異なる2点として、例えば、撮像装置21で撮影された画像上において、コート31の手前側のエンドライン上の点と、コート31の奥側のエンドライン上の点と、が設定されている。更に、予め、コート31の手前側及び奥側のエンドラインの実際の長さ(518cm)、ネット32のポストの実際の高さ(155cm)、エンドライン間の実際の距離(1300cm)、シャトル30の実際の大きさ(縦及び横)が入力されている。
 係数算出部15は、まず、奥側のエンドラインの画像上の長さ(ピクセル数)を検出し、奥側のエンドラインの実際の長さを用いて、奥側のエンドライン上での1画素当たりの水平方向の実際の長さを算出する。また、係数算出部15は、手前側のエンドラインの画像上の長さ(ピクセル数)を検出し、手前側のエンドラインの実際の長さを用いて、手前側のエンドライン上での1画素当たりの水平方向の実際の長さを算出する。更に、係数算出部15は、ネット32のポストの画像上の高さ(ピクセル数)を検出し、ポストの実際の高さを用いて、垂直方向における1画素当たりの実際の長さを算出する。
 続いて、係数算出部15は、シャトル30の実際の大きさ(縦及び横)と、奥側のエンドライン上での1画素当たりの水平方向の実際の長さと、垂直方向における1画素当たりの実際の長さとを用いて、奥側のエンドライン上での画像上のシャトル30の大きさ(矩形の一辺の長さ)Tを算出する。
 また、係数算出部15は、シャトル30の実際の大きさ(縦及び横)と、手前側のエンドライン上での1画素当たりの水平方向の実際の長さと、垂直方向における1画素当たりの実際の長さとを用いて、手前側のエンドライン上での画像上のシャトル30の大きさ(矩形の一辺の長さ)Tを算出する。
 そして、係数をa、エンドライン間の距離をDとすると、以下の数1が成立する。従って、係数算出部15は、D、T、及びTの値を下記の数1に入力して係数aを算出する。
(数1)
 a=(D*T*T2)/(T-T
 そして、手前側のエンドラインからシャトル30までの距離をyとし、そのときの画像上でのシャトル30の大きさ(又は大きさの平均値)をtとすると、距離yは、以下の数2によって表すことができる。
(数2)
 y=(a/t)-(a/T
 従って、位置特定部13は、動体検出部12によって特定されたシャトル30の画像上での大きさtと、係数aと、エンドライン上でのシャトル30の大きさTと、を上記数2に代入して、図5に示すように、手前側のエンドライン33からシャトル30までの距離yを算出する。図5は、実施の形態1における位置特定処理によって特定される動体の位置の一例を示す図である。
 また、位置特定部13は、コート31の一方のサイドライン34からシャトル30までの実際の距離xを、シャトル30の水平方向の位置として算出する。図6は、実施の形態1における動体の水平方向の位置xの算出処理を説明する図である。
 図6の上段の図に示すように、撮像装置21によってコート31が撮影されている。位置特定部13は、最初に、図6の中段の図に示すように、画像上で距離yの位置を特定する。図6においては、距離yとなるところの位置は、線44によって示されている。続いて、位置特定部13は、図6の下段の図に示すように、線44に垂直であって、且つ、シャトル30を通る線45を特定する。
 次に、位置特定部13は、サイドライン34から、線44と線45との交点46までの画面上での距離(画素数)dと、線44上でのコート31の幅(画素数)wとを特定する。そして、位置特定部13は、特定した2つの画素数d及びwと、コート31の実際の幅Wとを用いて、コート31の一方のサイドライン34からシャトル30までの実際の距離x(=(d/w)×W)を算出する。
 動体解析部14は、画像データ毎に(フレーム毎に)、時系列に沿って特定された、動体30の実空間での位置に基づいて、動体30の移動ベクトルを算出する。更に、動体解析部14は、算出した移動ベクトルと、前回算出した移動ベクトルとの内積を算出する。なお、前回算出した移動ベクトルとは、移動ベクトルが算出された動画データよりも過去の動画データから算出された移動ベクトルである。そして、動体解析部14は、算出した内積が負になった場合に、特定した位置において、動体30に外力が加えられていると判定する。
 具体的には、動体30がシャトルであるとすると、動体解析部14は、内積が負になった場合、位置特定部13が特定した位置を、プレイヤーの打点であると判定する。また、動体解析部14は、打ち上げたシャトル30の放物線の頂点を打点と判定しないようにするため、移動ベクトルの方向が上方から下方へと変化した場合は、打点判定の対象から除外する。なお、ここでの上方及び下方は、鉛直方向に平行な方向には限定されず、鉛直方向に対して角度をなした方向も含まれ、シャトル30が取り得る放物軌道に沿った方向であれば良い。
 また、動体解析部14は、外力が加えられた点(打点)以外に、開始点及び終了点の判定も行うことができる。具体的には、動体解析部14は、まず、画像データ毎に、当該画像データとその前の画像データとの間におけるシャトル30の移動量を算出する。そして、動体解析部14は、算出した移動量が設定値以下であり、且つ、移動量が設定値以下の状態が規定数の画像データ分(例えば、5フレーム分)継続した場合は、そのときの動体の位置を終了点と判定する。また、動体解析部14は、算出した移動量が設定値以下の状態から、これよりも大きな値に設定された第2の設定値以上に増加した場合は、そのときの動体の位置を開始点と判定する。
 表示部16は、位置特定部13によって特定されたシャトル30の位置に加え、動体解析部14によって特定された打点、開始点、及び終了点も、表示装置20等の画面上に表示する。この結果、解析者は、開始点から終了点までのシャトル30の軌道を特定できるので、プレイヤーの技術向上を図ることができる。
[装置動作]
 次に、実施の形態1における動体検出装置10の動作について図7を用いて説明する。図7は、実施の形態1における動体検出装置の動作を示すフロー図である。以下の説明においては、適宜図1~図5を参照する。実施の形態1では、動体検出装置10を動作させることによって、動体検出方法が実施される。よって、実施の形態1における動体検出方法の説明は、以下の動体検出装置10の動作説明に代える。
 最初に、画像データ取得部11は、撮像装置21から動画ファイルを受け取り、受け取った動画ファイルをフレーム毎に分割し、時系列に沿った画像データを取得する(ステップA1)。また、ステップA1では、画像データ取得部11は、取得した画像データをデータ格納部17に送る。データ格納部17は、時系列に沿って画像データを格納する。
 次に、動体検出部12は、データ格納部17から、時系列に沿って、画像データを取り出し、画像データ毎に、動体30を検出する(ステップA2)。ステップA2では、全ての画像データについて、動体30の検出が行われる。また、動体30の検出は、画像データから、動体30を囲む矩形の画像データを切り出すことによって行われる。
 次に、動体検出部12は、ステップA2で検出された全ての動体30それぞれについて、大きさを特定する(ステップA3)。具体的には、ステップA3では、動体検出部12は、動体30を囲む矩形の縦方向又は横方向の画素数を特定し、特定した画素数を動体30の大きさとする。
 次に、動体検出部12は、ステップA3で特定された大きさを用いて、動体30がブラー画像となっている動画データを特定し、特定された動画データを除去する(ステップA4)。具体的には、ステップA4では、動体検出部12は、画像データ毎に、ステップA3で特定した動体30の大きさが基準を超えるかどうか判定することによって、ブラー画像を特定する。
 次に、動体検出部12は、画像データ毎に、検出された動体の画像上での進行方向を特定し、特定した進行方向に基づいて、各画像データにおいて特定した動体30の大きさを補正する(ステップA5)。具体的には、ステップA5では、動体検出部12は、画像データ毎に、それよりも過去の画像データで検出された動体30の画像50上での座標から、画像50上での動体30の軌跡51を求め、求めた軌跡51の傾きαに応じて、大きさを補正する(図4参照)。
 次に、動体検出部12は、画像データ毎に、その画像データについてステップA3で特定された動体30の大きさと、その画像データを基準とした前後の画像データについて特定された各動体の大きさとを用いて、動体30の大きさの平均値を算出する(ステップA6)。なお、ステップA6では、ステップA4において除去された画像データは、平均値の算出対象からは除外される。
 次に、係数算出部15は、画面上のコート31の辺の長さ及びコート上の設置物の高さと、実空間におけるコート31の辺の長さ及びコート上の設置物の高さと、実空間における動体30の大きさと、を用いて、動体30の位置特定のための係数aを算出する(ステップA7)。具体的には、ステップA7では、係数算出部15は、上述の数1を用いて、係数aを算出する。
 次に、位置特定部13は、画像データ毎に、ステップA7で算出された係数に、ステップA5で算出された動体30の画像上での大きさの平均値を適用することによって、動体30の実空間での位置を特定する(ステップA8)。
 具体的には、ステップA8では、位置特定部13は、上述の数2を用いて、動体30であるシャトルの手前側のエンドラインからの距離yを算出する。また、位置特定部13は、画像データから、コート31の一方のサイドラインを検出し、検出したサイドラインとシャトル30との間の水平方向における画素数を用いて、サイドラインからのシャトル30までの距離xを算出する。
 次に、動体解析部14は、画像データ毎に(フレーム毎に)、時系列に沿って特定された、動体30の実空間での位置に基づいて、動体30の移動ベクトルを算出し、算出した移動ベクトルを用いて、動体30に外力が加えられている点(打点)、動体30の移動の開始点、及び動体30の移動の終了点を特定する(ステップA9)。
 具体的には、ステップA9では、動体解析部14は、画像データ毎に、算出した移動ベクトルと1フレーム前の移動ベクトルとの内積を算出し、算出した内積が負になった場合に、特定した位置において、動体30に外力が加えられていると判定する。そして、動体解析部14は、外力が加えられていると判定した位置を、動体30であるシャトルの打点として特定する。
 また、動体解析部14は、画像データ毎に、当該画像データと1フレーム前の画像データとの間におけるシャトル30の移動量を算出し、算出した移動量を用いて、動体30であるシャトルの終了点と開始点も特定する。
 次に、表示部16は、ステップA8で特定された動体30の時系列の位置を表示装置20の画面上に表示し、更に、ステップA9で特定された動体30における、打点、開始点、及び終了点も表示装置20の画面上に表示する(ステップA10)。
 以上のように実施の形態1では、動体30の実空間での位置、更には、打点、開始点、終了点が特定される。そして、特殊なカメラを用いる必要はなく、画像データを出力する撮像装置21を用いれば良いことから、実施の形態1によれば、映像による動体検出において、コストを増加することなく、実空間での動体の位置を特定することができる。
[プログラム]
 実施の形態1におけるプログラムは、コンピュータに、図7に示すステップA1~A10を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、実施の形態1における動体検出装置10と動体検出方法とを実現することができる。この場合、コンピュータのプロセッサは、画像データ取得部11、動体検出部12、位置特定部13、動体解析部14、係数算出部15、及び表示部16として機能し、処理を行なう。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。
 また、実施の形態1では、データ格納部17は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現される。なお、データ格納部17は、別のコンピュータの記憶装置によって実現されていても良い。
 また、実施の形態1におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、画像データ取得部11、動体検出部12、位置特定部13、動体解析部14、係数算出部15、及び表示部16のいずれかとして機能しても良い。
(実施の形態2)
 続いて、実施の形態2における、動体検出装置、動体検出方法、及びプログラムについて、図8~図11を参照しながら説明する。
[装置構成]
 最初に、実施の形態2における動体検出装置の概略構成について図8を用いて説明する。図8は、実施の形態2における動体検出装置の構成を示す構成図である。
 図8に示す、実施の形態2における動体検出装置60も、実施の形態1に示した動体検出装置10と同様に、映像上で動体を検出する装置である。図8に示すように、動体検出装置60も、動体検出装置10と同様に、画像データ取得部11と、動体検出部12と、位置特定部13と、動体解析部14と、係数算出部15と、表示部16と、データ格納部17とを備えている。
 但し、実施の形態2では、動体検出装置60は、実施の形態1における動体検出装置10と異なり、人物特定部61を備えている。以下に、実施の形態1との相違点を中心に実施の形態2について説明する。
 動体検出部12は、実施の形態2では、データ格納部17から、時系列に沿って、画像データを取り出し、画像データ毎に、動体30に加えて、人物も検出する。実施の形態2においては、動体検出部12は、動体30の特徴量を機械学習した学習モデルに加えて、人物の特徴量を機械学習した学習モデルを更に用いて、画像上の人物を検出する。このときの人物の検出も、画像データから、人物を囲む矩形の画像データを切り出すことによって行われる。
 図9は、実施の形態2における動体検出部による検出処理を説明する図である。図9に示すように、動体検出部12は、動体30に加えて人物を検出している。また、図9の例では、プレイヤー40及び42に加えて、コート31の外にいる人物70及び71も検出している。
 動体解析部14は、実施の形態2では、動体30に外力が加えられていると判定すると、判定結果と、判定対象となった画像データ(フレーム)を示す識別子とを、人物特定部61に通知する。
 人物特定部61は、動体解析部14が動体30に外力が加えられていると判定した場合に、画像データ取得部11で取得された画像データから、動体に外力を加えた人物を特定する。
 具体的には、人物特定部61は、まず、動体解析部14から通知がくると、打点が特定された画像データにおいて、動体検出部12によって検出された人物毎に、位置特定部13によって特定されているコートの各辺の位置に基づいて、コート31内にいるかどうかを判定する。詳細には、例えば、人物特定部61は、人物を示す矩形の一部又は全部がコート31の辺の内側に位置しているかどうかを判定する。図9の例では、人物特定部61は、プレイヤー40及び42を、コート31内にいると判定する。
 続いて、人物特定部61は、コート内にいると判定した人物について、人物と動体30との画像上での距離を算出する。そして、人物特定部61は、算出した距離が短い人物を、動体30に外力を加えた人物として特定する。図9の例では、プレイヤー40を、動体30に外力を加えた人物、即ち、シャトルを打った人物として特定する。
 位置特定部18は、実施の形態2では、動体30に外力を加えた人物が特定された場合は、特定された人物の位置に基づいて、動体30の実空間での位置を補正する。
 具体的には、位置特定部13は、実施の形態2においても、予め、手前側のエンドライン33及び奥側のエンドライン35の端部の画像上の座標を特定している。また、図10に示すように、位置特定部18は、画面上のコートを予め複数の区分に分割する。図10は、実施の形態2における位置特定部13による処理を説明する図である。
 図10において、コート31上において、各区分は、実空間において全て同じ大きさとなるように設定されている。そして、位置特定部18は、撮像装置21のカメラパラメータと、実空間におけるコート31の位置とに基づいて、予め、画像上の各区間について、実空間での位置を算出する。
 そして、位置特定部18は、動体30に外力を加えた人物が特定されると、人物特定部61が特定した人物示す矩形の底辺の中心点Pを検出し、検出した中心点Pの画像上の座標(l,m)を特定する。更に、位置特定部18は、検出した中心点Pが該当する区分を特定する。
 また、この場合、位置特定部18は、動体30の位置(x,y)が該当する区分を特定する。そして、位置特定部18は、コート31の長手方向(垂直方向)における動体30の位置(手前側のエンドライン33からの距離y)を、Pが該当する区分の長手方向における位置に補正する。その後、位置特定部18は、補正後の動体30の区分の位置から、補正後の動体20の実空間での位置を算出する。なお、位置特定部18は、動体30の水平方向の位置xについては、実施の形態1と同様にして算出する。
[装置動作]
 次に、実施の形態2における動体検出装置60の動作について図11を用いて説明する。図11は、実施の形態2における動体検出装置の動作を示すフロー図である。以下の説明においては、適宜図8~図10を参照する。実施の形態2では、動体検出装置60を動作させることによって、動体検出方法が実施される。よって、実施の形態2における動体検出方法の説明は、以下の動体検出装置60の動作説明に代える。
 最初に、画像データ取得部11は、撮像装置21から動画ファイルを受け取り、受け取った動画ファイルをフレーム毎に分割し、時系列に沿った画像データを取得する(ステップB1)。ステップB1は、図7に示したステップA1と同様のステップである。
 次に、動体検出部12は、データ格納部17から、時系列に沿って、画像データを取り出し、画像データ毎に、動体30と人物とを検出する(ステップB2)。ステップB2は、人物の検出を行う点以外は、図7に示したステップA2と同様のステップである。
 次に、動体検出部12は、ステップB2で検出された全ての動体30それぞれについて、大きさを特定する(ステップB3)。ステップB3は、図7に示したステップA3と同様のステップである。
 次に、動体検出部12は、ステップB3で特定された大きさを用いて、動体30がブラー画像となっている動画データを特定し、特定された動画データを除去する(ステップB4)。ステップB4は、図7に示したステップA4と同様のステップである。
 次に、動体検出部12は、画像データ毎に、検出された動体の画像上での進行方向を特定し、特定した進行方向に基づいて、各画像データにおいて特定した動体30の大きさを補正する(ステップB5)。ステップB5は、図7に示したステップA5と同様のステップである。
 次に、動体検出部12は、画像データ毎に、その画像データについてステップB3で特定された動体30の大きさと、その画像データを基準とした前後の画像データについて特定された各動体の大きさとを用いて、動体30の大きさの平均値を算出する(ステップB6)。ステップB6は、図7に示したステップA6と同様のステップである。
 次に、係数算出部15は、画面上のコート31の辺の長さ及びコート上の設置物の高さと、実空間におけるコート31の辺の長さ及びコート上の設置物の高さと、実空間における動体30の大きさと、を用いて、動体30の位置特定のための係数aを算出する(ステップB7)。ステップB7は、図7に示したステップA7と同様のステップである。
 次に、位置特定部13は、画像データ毎に、ステップB7で算出された係数に、ステップB5で算出された動体30の画像上での大きさの平均値を適用することによって、動体30の実空間での位置を特定する(ステップB8)。ステップB8は、図7に示したステップA8と同様のステップである。ステップB8においても、位置特定部13は、上述の数2を用いて、手前側のエンドライン33から動体30であるシャトルまでの距離yと、サイドライン34から動体30までの距離xを算出する。
 次に、動体解析部14は、画像データ毎に(フレーム毎に)、時系列に沿って特定された、動体30の実空間での位置に基づいて、動体30の移動ベクトルを算出し、算出した移動ベクトルを用いて、動体30に外力が加えられている点(打点)、動体30の移動の開始点、及び動体30の移動の終了点を特定する(ステップB9)。ステップB9は、図7に示したステップA9と同様のステップである。
 次に、人物特定部61は、ステップB9で打点が特定された画像データにおいて、動体30に外力を加えた人物を特定する(ステップB10)。具体的には、ステップB10では、人物特定部61は、ステップB9で打点が特定された画像データにおいて、ステップB2で検出された人物毎に、その人物がコート31内にいるかどうかを判定する。そして、人物特定部61は、コート内にいると判定した人物と動体30との画像上での距離を算出し、算出した距離が短い人物を、動体30に外力を加えた人物として特定する。
 次に、位置特定部18は、ステップB10で特定した人物の位置に基づいて、ステップB8で特定した動体30の打点における実空間での位置を補正する(ステップB11)。具体的には、位置特定部18は、予めコート31上に区分を設定し、ステップB10で特定した人物の枠の中心点Pが属する区分を特定する。そして、位置特定部18は、コート31の長手方向(垂直方向)における動体30の位置を、Pが該当する区分の長手方向における位置に補正する。その後、位置特定部18は、補正後の動体30の区分の位置から、補正後の動体20の実空間での位置を算出する。
 次に、表示部16は、ステップB8で特定された動体30の時系列の位置を表示装置20の画面上に表示し、更に、ステップB9で特定された動体30における、打点(ステップB11で補正)、開始点、及び終了点も表示装置20の画面上に表示する(ステップB12)。
 以上のように実施の形態2においても、実施の形態1と同様に、動体30の実空間での位置、更には、打点、開始点、終了点が特定されるが、打点の位置はより正確なものとなっている。また、実施の形態2においても、特殊なカメラを用いる必要はなく、画像データを出力する撮像装置21を用いれば良いことから、実施の形態1によれば、映像による動体検出において、コストを増加することなく、実空間での動体の位置を特定することができる。
[プログラム]
 実施の形態2におけるプログラムは、コンピュータに、図11に示すステップB1~B12を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、実施の形態2における動体検出装置60と動体検出方法とを実現することができる。この場合、コンピュータのプロセッサは、画像データ取得部11、動体検出部12、位置特定部13、動体解析部14、係数算出部15、表示部16、及び人物特定部61として機能し、処理を行なう。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。
 また、実施の形態2では、データ格納部17は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現される。なお、データ格納部17は、別のコンピュータの記憶装置によって実現されていても良い。
 また、実施の形態2におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、画像データ取得部11、動体検出部12、位置特定部13、動体解析部14、係数算出部15、表示部16、及び人物特定部61のいずれかとして機能しても良い。
(物理構成)
 実施の形態1及び2におけるプログラムを実行することによって、動体検出装置10を実現するコンピュータについて図12を用いて説明する。図12は、実施の形態1及び2における動体検出装置を実現するコンピュータの一例を示すブロック図である。
 図13に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
 また、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていても良い。この態様では、GPU又はFPGAが、実施の形態1におけるプログラムを実行することができる。
 CPU111は、記憶装置113に格納された、コード群で構成された実施の形態におけるプログラムをメインメモリ112に展開し、各コードを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。
 また、実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、実施の形態1におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
 また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
 データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
 また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
 なお、実施の形態1及び2における動体検出装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェア(例えば電子回路等)を用いることによっても実現可能である。更に、動体検出装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
 上述した実施の形態1の一部又は全部は、以下に記載する(付記1)~(付記27)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
 撮像装置によって撮影された動体の画像データを取得する、画像データ取得部と、
 前記画像データから前記動体を検出し、検出した前記動体の画像上での大きさを特定する、動体検出部と、
 画像上での前記動体の大きさと実空間での前記動体の位置との関係に、特定された前記大きさを適用することによって、前記動体の実空間での位置を特定する、位置特定部と、
を備えている、
ことを特徴とする動体検出装置。
(付記2)
付記1に記載の動体検出装置であって、
 画像データ取得部が、時系列に沿って、前記画像データを連続して取得し、
 前記動体検出部が、取得された前記画像データ毎に、前記動体を検出し、検出した前記動体の画像上での大きさを特定し、そして、特定した前記画像データ毎の大きさの平均値を求め、
 前記位置特定部が、求められた前記平均値に基づいて、前記撮像装置から前記動体までの距離を算出し、更に、時系列に沿って、前記動体の実空間での位置を特定する、
ことを特徴とする動体検出装置。
(付記3)
付記2に記載の動体検出装置であって、
 前記動体検出部が、取得された前記画像データ毎に、検出した前記動体の画像上での大きさを特定し、更に、特定した大きさが基準を超えるかどうか判定し、前記基準を超える大きさを除いて、特定した前記画像データ毎の大きさの平均値を求める、
ことを特徴とする動体検出装置。
(付記4)
付記2または3に記載の動体検出装置であって、
 前記動体検出部が、取得された前記画像データ毎に、更に、検出された前記動体の画像上での進行方向を特定し、特定した進行方向に基づいて、特定した大きさを補正する、
ことを特徴とする動体検出装置。
(付記5)
付記2~4のいずれかに記載の動体検出装置であって、
 時系列に沿って特定された、前記動体の実空間での位置に基づいて、前記動体の移動ベクトルを算出し、更に、算出した移動ベクトルと前回算出した移動ベクトルとの内積を算出し、算出した前記内積が負になった場合に、特定した位置において、前記動体に外力が加えられていると判定する、動体解析部を更に備えている、
ことを特徴とする動体検出装置。
(付記6)
付記5に記載の動体検出装置であって、
 前記動体が球技において用いられるボール又はシャトルであり、
 前記位置特定部が、特定された前記大きさに、画像上での前記動体の大きさと実空間での前記動体の位置との関係を表す係数を適用することによって、前記動体の実空間での位置を特定し、
 前記係数は、前記球技が行われるコート上の異なる2点において予め求められた前記動体の画像の大きさから算出されている、
ことを特徴とする動体検出装置。
(付記7)
付記6に記載の動体検出装置であって、
 画面上における、前記コートの辺の長さ及び前記コート上の設置物の高さと、実空間における、前記コートの辺の長さ及び前記コート上の設置物の高さと、実空間における前記動体の大きさと、を用いて、前記係数を算出する、係数算出部を更に備えている、
ことを特徴とする動体検出装置。
(付記8)
付記6または7に記載の動体検出装置であって、
 前記動体に外力が加えられていると判定された場合に、取得された前記画像データから、前記動体に外力を加えた人物を特定する、人物特定部を更に備え、
 前記位置特定部が、特定された前記人物の位置に基づいて、特定した前記動体の実空間での位置を補正する、
ことを特徴とする動体検出装置。
(付記9)
付記1~8のいずれかに記載の動体検出装置であって、
 特定された前記動体の実空間での位置を画面上に表示させる、表示部を更に備えている、
ことを特徴とする動体検出装置。
(付記10)
 撮像装置によって撮影された動体の画像データを取得する、画像データ取得ステップと、
 前記画像データから前記動体を検出し、検出した前記動体の画像上での大きさを特定する、動体検出ステップと、
 画像上での前記動体の大きさと実空間での前記動体の位置との関係に、特定された前記大きさを適用することによって、前記動体の実空間での位置を特定する、位置特定ステップと、
を有する、
ことを特徴とする動体検出方法。
(付記11)
付記10に記載の動体検出方法であって、
 画像データ取得ステップにおいて、時系列に沿って、前記画像データを連続して取得し、
 前記動体検出ステップにおいて、取得された前記画像データ毎に、前記動体を検出し、検出した前記動体の画像上での大きさを特定し、そして、特定した前記画像データ毎の大きさの平均値を求め、
 前記位置特定ステップにおいて、求められた前記平均値に基づいて、前記撮像装置から前記動体までの距離を算出し、更に、時系列に沿って、前記動体の実空間での位置を特定する、
ことを特徴とする動体検出方法。
(付記12)
付記11に記載の動体検出方法であって、
 前記動体検出ステップにおいて、取得された前記画像データ毎に、検出した前記動体の画像上での大きさを特定し、更に、特定した大きさが基準を超えるかどうか判定し、前記基準を超える大きさを除いて、特定した前記画像データ毎の大きさの平均値を求める、
ことを特徴とする動体検出方法。
(付記13)
付記11または12に記載の動体検出方法であって、
 前記動体検出ステップにおいて、取得された前記画像データ毎に、更に、検出された前記動体の画像上での進行方向を特定し、特定した進行方向に基づいて、特定した大きさを補正する、
ことを特徴とする動体検出方法。
(付記14)
付記11~13のいずれかに記載の動体検出方法であって、
 時系列に沿って特定された、前記動体の実空間での位置に基づいて、前記動体の移動ベクトルを算出し、更に、算出した移動ベクトルと前回算出した移動ベクトルとの内積を算出し、算出した前記内積が負になった場合に、特定した位置において、前記動体に外力が加えられていると判定する、動体解析ステップを更に有する、
ことを特徴とする動体検出方法。
(付記15)
付記14に記載の動体検出方法であって、
 前記動体が球技において用いられるボール又はシャトルであり、
 前記位置特定ステップにおいて、特定された前記大きさに、画像上での前記動体の大きさと実空間での前記動体の位置との関係を表す係数を適用することによって、前記動体の実空間での位置を特定し、
 前記係数は、前記球技が行われるコート上の異なる2点において予め求められた前記動体の画像の大きさから算出されている、
ことを特徴とする動体検出方法。
(付記16)
付記15に記載の動体検出方法であって、
 画面上における、前記コートの辺の長さ及び前記コート上の設置物の高さと、実空間における、前記コートの辺の長さ及び前記コート上の設置物の高さと、実空間における前記動体の大きさと、を用いて、前記係数を算出する、係数算出ステップを更に有する、
ことを特徴とする動体検出方法。
(付記17)
付記15または16に記載の動体検出方法であって、
 前記動体に外力が加えられていると判定された場合に、取得された前記画像データから、前記動体に外力を加えた人物を特定する、人物特定ステップを更に有し、
 前記位置特定ステップにおいて、特定された前記人物の位置に基づいて、特定した前記動体の実空間での位置を補正する、
ことを特徴とする動体検出方法。
(付記18)
付記10~17のいずれかに記載の動体検出方法であって、
 特定された前記動体の実空間での位置を画面上に表示させる、表示ステップを更に有する、
ことを特徴とする動体検出方法。
(付記19)
コンピュータに、
 撮像装置によって撮影された動体の画像データを取得する、画像データステップと、
 前記画像データから前記動体を検出し、検出した前記動体の画像上での大きさを特定する、動体検出ステップと、
 画像上での前記動体の大きさと実空間での前記動体の位置との関係に、特定された前記大きさを適用することによって、前記動体の実空間での位置を特定する、位置特定ステップと、
を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
(付記20)
付記19に記載のコンピュータ読み取り可能な記録媒体であって、
 画像データ取得ステップにおいて、時系列に沿って、前記画像データを連続して取得し、
 前記動体検出ステップにおいて、取得された前記画像データ毎に、前記動体を検出し、検出した前記動体の画像上での大きさを特定し、そして、特定した前記画像データ毎の大きさの平均値を求め、
 前記位置特定ステップにおいて、求められた前記平均値に基づいて、前記撮像装置から前記動体までの距離を算出し、更に、時系列に沿って、前記動体の実空間での位置を特定する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
(付記21)
付記20に記載のコンピュータ読み取り可能な記録媒体であって、
 前記動体検出ステップにおいて、取得された前記画像データ毎に、検出した前記動体の画像上での大きさを特定し、更に、特定した大きさが基準を超えるかどうか判定し、前記基準を超える大きさを除いて、特定した前記画像データ毎の大きさの平均値を求める、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
(付記22)
付記20または21に記載のコンピュータ読み取り可能な記録媒体であって、
 前記動体検出ステップにおいて、取得された前記画像データ毎に、更に、検出された前記動体の画像上での進行方向を特定し、特定した進行方向に基づいて、特定した大きさを補正する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
(付記23)
付記20~22のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
 時系列に沿って特定された、前記動体の実空間での位置に基づいて、前記動体の移動ベクトルを算出し、更に、算出した移動ベクトルと前回算出した移動ベクトルとの内積を算出し、算出した前記内積が負になった場合に、特定した位置において、前記動体に外力が加えられていると判定する、動体解析ステップを更に実行させる、命令を含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
(付記24)
付記23に記載のコンピュータ読み取り可能な記録媒体であって、
 前記動体が球技において用いられるボール又はシャトルであり、
 前記位置特定ステップにおいて、特定された前記大きさに、画像上での前記動体の大きさと実空間での前記動体の位置との関係を表す係数を適用することによって、前記動体の実空間での位置を特定し、
 前記係数は、前記球技が行われるコート上の異なる2点において予め求められた前記動体の画像の大きさから算出されている、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
(付記25)
付記24に記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
 画面上における、前記コートの辺の長さ及び前記コート上の設置物の高さと、実空間における、前記コートの辺の長さ及び前記コート上の設置物の高さと、実空間における前記動体の大きさと、を用いて、前記係数を算出する、係数算出ステップを更に実行させる、命令を含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
(付記26)
付記24または25に記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
 前記動体に外力が加えられていると判定された場合に、取得された前記画像データから、前記動体に外力を加えた人物を特定する、人物特定ステップを更に実行させる、命令を含み、
 前記位置特定ステップにおいて、特定された前記人物の位置に基づいて、特定した前記動体の実空間での位置を補正する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
(付記27)
付記19~26のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
 特定された前記動体の実空間での位置を画面上に表示させる、表示ステップを更に実行させる、命令を含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2021年12月9日に出願された日本出願特願2021-200002を基礎とする優先権及び2022年3月30日に出願された日本出願特願2022-056502を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 以上のように本発明によれば、映像による動体検出において、コストを増加することなく、実空間での動体の位置を特定することができる。本発明は、映像からの動体検出が求められる分野、例えば、スポーツの解析分野に有用である。
 10 動体検出装置
 11 画像データ取得部
 12 動体検出部
 13 位置特定部
 14 動体解析部
 15 係数算出部
 16 表示部
 17 データ格納部
 20 表示装置
 30 動体(シャトル)
 31 コート
 32 ネット
 40 プレイヤー
 41 ラケット
 42 プレイヤー
 43 ラケット
 44、45 線
 46 交点
 110 コンピュータ
 111 CPU
 112 メインメモリ
 113 記憶装置
 114 入力インターフェイス
 115 表示コントローラ
 116 データリーダ/ライタ
 117 通信インターフェイス
 118 入力機器
 119 ディスプレイ装置
 120 記録媒体
 121 バス

Claims (27)

  1.  撮像装置によって撮影された動体の画像データを取得する、画像データ取得手段と、
     前記画像データから前記動体を検出し、検出した前記動体の画像上での大きさを特定する、動体検出手段と、
     画像上での前記動体の大きさと実空間での前記動体の位置との関係に、特定された前記大きさを適用することによって、前記動体の実空間での位置を特定する、位置特定手段と、
    を備えている、
    ことを特徴とする動体検出装置。
  2. 請求項1に記載の動体検出装置であって、
     画像データ取得手段が、時系列に沿って、前記画像データを連続して取得し、
     前記動体検出手段が、取得された前記画像データ毎に、前記動体を検出し、検出した前記動体の画像上での大きさを特定し、そして、特定した前記画像データ毎の大きさの平均値を求め、
     前記位置特定手段が、求められた前記平均値に基づいて、前記撮像装置から前記動体までの距離を算出し、更に、時系列に沿って、前記動体の実空間での位置を特定する、
    ことを特徴とする動体検出装置。
  3. 請求項2に記載の動体検出装置であって、
     前記動体検出手段が、取得された前記画像データ毎に、検出した前記動体の画像上での大きさを特定し、更に、特定した大きさが基準を超えるかどうか判定し、前記基準を超える大きさを除いて、特定した前記画像データ毎の大きさの平均値を求める、
    ことを特徴とする動体検出装置。
  4. 請求項2または3に記載の動体検出装置であって、
     前記動体検出手段が、取得された前記画像データ毎に、更に、検出された前記動体の画像上での進行方向を特定し、特定した進行方向に基づいて、特定した大きさを補正する、
    ことを特徴とする動体検出装置。
  5. 請求項2に記載の動体検出装置であって、
     時系列に沿って特定された、前記動体の実空間での位置に基づいて、前記動体の移動ベクトルを算出し、更に、算出した移動ベクトルと前回算出した移動ベクトルとの内積を算出し、算出した前記内積が負になった場合に、特定した位置において、前記動体に外力が加えられていると判定する、動体解析手段を更に備えている、
    ことを特徴とする動体検出装置。
  6. 請求項5に記載の動体検出装置であって、
     前記動体が球技において用いられるボール又はシャトルであり、
     前記位置特定手段が、特定された前記大きさに、画像上での前記動体の大きさと実空間での前記動体の位置との関係を表す係数を適用することによって、前記動体の実空間での位置を特定し、
     前記係数は、前記球技が行われるコート上の異なる2点において予め求められた前記動体の画像の大きさから算出されている、
    ことを特徴とする動体検出装置。
  7. 請求項6に記載の動体検出装置であって、
     画面上における、前記コートの辺の長さ及び前記コート上の設置物の高さと、実空間における、前記コートの辺の長さ及び前記コート上の設置物の高さと、実空間における前記動体の大きさと、を用いて、前記係数を算出する、係数算出手段を更に備えている、
    ことを特徴とする動体検出装置。
  8. 請求項6または7に記載の動体検出装置であって、
     前記動体に外力が加えられていると判定された場合に、取得された前記画像データから、前記動体に外力を加えた人物を特定する、人物特定手段を更に備え、
     前記位置特定手段が、特定された前記人物の位置に基づいて、特定した前記動体の実空間での位置を補正する、
    ことを特徴とする動体検出装置。
  9. 請求項1に記載の動体検出装置であって、
     特定された前記動体の実空間での位置を画面上に表示させる、表示手段を更に備えている、
    ことを特徴とする動体検出装置。
  10.  撮像装置によって撮影された動体の画像データを取得し、
     前記画像データから前記動体を検出し、検出した前記動体の画像上での大きさを特定し、
     画像上での前記動体の大きさと実空間での前記動体の位置との関係に、特定された前記大きさを適用することによって、前記動体の実空間での位置を特定する、
    ことを特徴とする動体検出方法。
  11. 請求項10に記載の動体検出方法であって、
     前記画像データの取得において、時系列に沿って、前記画像データを連続して取得し、
     前記動体の検出において、取得された前記画像データ毎に、前記動体を検出し、検出した前記動体の画像上での大きさを特定し、そして、特定した前記画像データ毎の大きさの平均値を求め、
     前記位置の特定において、求められた前記平均値に基づいて、前記撮像装置から前記動体までの距離を算出し、更に、時系列に沿って、前記動体の実空間での位置を特定する、
    ことを特徴とする動体検出方法。
  12. 請求項11に記載の動体検出方法であって、
     前記動体の検出において、取得された前記画像データ毎に、検出した前記動体の画像上での大きさを特定し、更に、特定した大きさが基準を超えるかどうか判定し、前記基準を超える大きさを除いて、特定した前記画像データ毎の大きさの平均値を求める、
    ことを特徴とする動体検出方法。
  13. 請求項11または12に記載の動体検出方法であって、
     前記動体の検出において、取得された前記画像データ毎に、更に、検出された前記動体の画像上での進行方向を特定し、特定した進行方向に基づいて、特定した大きさを補正する、
    ことを特徴とする動体検出方法。
  14. 請求項11に記載の動体検出方法であって、
     更に、時系列に沿って特定された、前記動体の実空間での位置に基づいて、前記動体の移動ベクトルを算出し、更に、算出した移動ベクトルと前回算出した移動ベクトルとの内積を算出し、算出した前記内積が負になった場合に、特定した位置において、前記動体に外力が加えられていると判定する、
    ことを特徴とする動体検出方法。
  15. 請求項14に記載の動体検出方法であって、
     前記動体が球技において用いられるボール又はシャトルであり、
     前記位置の特定において、特定された前記大きさに、画像上での前記動体の大きさと実空間での前記動体の位置との関係を表す係数を適用することによって、前記動体の実空間での位置を特定し、
     前記係数は、前記球技が行われるコート上の異なる2点において予め求められた前記動体の画像の大きさから算出されている、
    ことを特徴とする動体検出方法。
  16. 請求項15に記載の動体検出方法であって、
     更に、画面上における、前記コートの辺の長さ及び前記コート上の設置物の高さと、実空間における、前記コートの辺の長さ及び前記コート上の設置物の高さと、実空間における前記動体の大きさと、を用いて、前記係数を算出する、
    ことを特徴とする動体検出方法。
  17. 請求項15または16に記載の動体検出方法であって、
     更に、前記動体に外力が加えられていると判定された場合に、取得された前記画像データから、前記動体に外力を加えた人物を特定し、
     前記位置の特定において、特定された前記人物の位置に基づいて、特定した前記動体の実空間での位置を補正する、
    ことを特徴とする動体検出方法。
  18. 請求項10に記載の動体検出方法であって、
     更に、特定された前記動体の実空間での位置を画面上に表示する、
    ことを特徴とする動体検出方法。
  19. コンピュータに、
     撮像装置によって撮影された動体の画像データを取得させ、
     前記画像データから前記動体を検出させ、検出した前記動体の画像上での大きさを特定させる、
     画像上での前記動体の大きさと実空間での前記動体の位置との関係に、特定された前記大きさを適用することによって、前記動体の実空間での位置を特定させる、
    命令を含むプログラムを記録しているコンピュータ読み取り可能な記録媒体。
  20. 請求項19に記載のコンピュータ読み取り可能な記録媒体であって、
    前記プログラムが、コンピュータに、更に、
     画像データの取得において、時系列に沿って、前記画像データを連続して取得させ、
     前記動体の検出において、取得された前記画像データ毎に、前記動体を検出させ、検出した前記動体の画像上での大きさを特定させ、そして、特定した前記画像データ毎の大きさの平均値を求めさせ、
     前記位置の特定において、求められた前記平均値に基づいて、前記撮像装置から前記動体までの距離を算出させ、更に、時系列に沿って、前記動体の実空間での位置を特定させる、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  21. 請求項20に記載のコンピュータ読み取り可能な記録媒体であって、
    前記プログラムが、コンピュータに、
     前記動体の検出において、取得された前記画像データ毎に、検出した前記動体の画像上での大きさを特定し、更に、特定した大きさが基準を超えるかどうか判定し、前記基準を超える大きさを除いて、特定した前記画像データ毎の大きさの平均値を求めさせる、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  22. 請求項20または21に記載のコンピュータ読み取り可能な記録媒体であって、
    前記プログラムが、コンピュータに、
     前記動体の検出において、取得された前記画像データ毎に、更に、検出された前記動体の画像上での進行方向を特定させ、特定した進行方向に基づいて、特定した大きさを補正させる、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  23. 請求項20に記載のコンピュータ読み取り可能な記録媒体であって、
    前記プログラムが、前記コンピュータに、
     更に、時系列に沿って特定された、前記動体の実空間での位置に基づいて、前記動体の移動ベクトルを算出させ、更に、算出した移動ベクトルと前回算出した移動ベクトルとの内積を算出させ、算出した前記内積が負になった場合に、特定した位置において、前記動体に外力が加えられていると判定させる、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  24. 請求項23に記載のコンピュータ読み取り可能な記録媒体であって、
     前記動体が球技において用いられるボール又はシャトルであり、
    前記プログラムが、前記コンピュータに、
     前記位置の特定において、特定された前記大きさに、画像上での前記動体の大きさと実空間での前記動体の位置との関係を表す係数を適用することによって、前記動体の実空間での位置を特定させ、
     前記係数は、前記球技が行われるコート上の異なる2点において予め求められた前記動体の画像の大きさから算出されている、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  25. 請求項24に記載のコンピュータ読み取り可能な記録媒体であって、
    前記プログラムが、前記コンピュータに、
     更に、画面上における、前記コートの辺の長さ及び前記コート上の設置物の高さと、実空間における、前記コートの辺の長さ及び前記コート上の設置物の高さと、実空間における前記動体の大きさと、を用いて、前記係数を算出させる、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  26. 請求項24または25に記載のコンピュータ読み取り可能な記録媒体であって、
    前記プログラムが、前記コンピュータに、
     更に、前記動体に外力が加えられていると判定された場合に、取得された前記画像データから、前記動体に外力を加えた人物を特定させ、
     前記位置の特定において、特定された前記人物の位置に基づいて、特定した前記動体の実空間での位置を補正させる、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  27. 請求項19に記載のコンピュータ読み取り可能な記録媒体であって、
    前記プログラムが、前記コンピュータに、
     更に、特定された前記動体の実空間での位置を画面上に表示させる、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。

     
PCT/JP2022/041851 2021-12-09 2022-11-10 動体検出装置、動体検出方法、及びコンピュータ読み取り可能な記録媒体 WO2023106028A1 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2021200002 2021-12-09
JP2021-200002 2021-12-09
JP2022056502 2022-03-30
JP2022-056502 2022-03-30

Publications (1)

Publication Number Publication Date
WO2023106028A1 true WO2023106028A1 (ja) 2023-06-15

Family

ID=86730379

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/041851 WO2023106028A1 (ja) 2021-12-09 2022-11-10 動体検出装置、動体検出方法、及びコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
WO (1) WO2023106028A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001273500A (ja) * 2000-03-23 2001-10-05 Hitachi Ltd 運動物体計測装置および球技分析システムおよびデータサービスシステム
JP2008241476A (ja) * 2007-03-27 2008-10-09 Konami Digital Entertainment:Kk プログラム、データ収集装置及び制御方法
US20170213087A1 (en) * 2015-12-17 2017-07-27 Infinity Cube Limited System and method for mobile feedback generation using video processing and object tracking
JP2017221630A (ja) * 2016-06-15 2017-12-21 クラウドゲート コープ.Cloudgate Corp. 野球ゲームシステム
JP2020524580A (ja) * 2017-12-22 2020-08-20 トラックマン・アクティーゼルスカブTrackman A/S スポーツボール打撃要素のインパクト特性を決定するためのシステム及び方法
JP2021503664A (ja) * 2017-11-16 2021-02-12 ブラスト モーション インコーポレイテッドBlast Motion Inc. 2dカメラ画像から投射物の3d軌道を推定する方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001273500A (ja) * 2000-03-23 2001-10-05 Hitachi Ltd 運動物体計測装置および球技分析システムおよびデータサービスシステム
JP2008241476A (ja) * 2007-03-27 2008-10-09 Konami Digital Entertainment:Kk プログラム、データ収集装置及び制御方法
US20170213087A1 (en) * 2015-12-17 2017-07-27 Infinity Cube Limited System and method for mobile feedback generation using video processing and object tracking
JP2017221630A (ja) * 2016-06-15 2017-12-21 クラウドゲート コープ.Cloudgate Corp. 野球ゲームシステム
JP2021503664A (ja) * 2017-11-16 2021-02-12 ブラスト モーション インコーポレイテッドBlast Motion Inc. 2dカメラ画像から投射物の3d軌道を推定する方法
JP2020524580A (ja) * 2017-12-22 2020-08-20 トラックマン・アクティーゼルスカブTrackman A/S スポーツボール打撃要素のインパクト特性を決定するためのシステム及び方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MIYAMORI HISASHI: "Automatic annotation of tennis action for content-based retrieval by collaborating audio and visual information", DENSHI JOHO TSUSHIN GAKKAI RONBUNSHI. D-2 - TRANSACTIONS OF THEINSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERSSECTION J-D-2, TOKYO, JP, vol. J86-D-II, no. 4, 1 November 2004 (2004-11-01), JP , pages 511 - 524, XP093072586, ISSN: 0915-1923 *

Similar Documents

Publication Publication Date Title
JP6525453B2 (ja) オブジェクト位置推定システム、及びそのプログラム
JP6120837B2 (ja) スポーツ動作のビデオを解析する方法
US10115020B2 (en) Image processing method, non-transitory computer-readable recording medium, and image processing device
US11798318B2 (en) Detection of kinetic events and mechanical variables from uncalibrated video
US11138744B2 (en) Measuring a property of a trajectory of a ball
US20100246887A1 (en) Method and apparatus for object tracking
KR20180002408A (ko) 공의 회전을 측정하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
CN111488775B (zh) 注视度判断装置及方法
JP2018005913A (ja) ボールの画像の明るさを補正するための方法、システム、及び非一時的なコンピュータ読み取り可能な記録媒体
JP4465150B2 (ja) 基準点に対する物体の相対位置を測定するシステムおよび方法
CN111097155B (zh) 用于测定球的旋转的方法、系统及存储介质
JP7327494B2 (ja) 補正方法、補正プログラムおよび情報処理システム
KR101703316B1 (ko) 영상을 기반으로 속도를 측정하는 방법 및 장치
WO2023106028A1 (ja) 動体検出装置、動体検出方法、及びコンピュータ読み取り可能な記録媒体
KR102129129B1 (ko) 공의 회전을 측정하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
KR20210036537A (ko) 영상 누적을 이용한 궤적표시 방법
WO2016067553A1 (ja) プレー区間抽出方法、プレー区間抽出装置
US10776929B2 (en) Method, system and non-transitory computer-readable recording medium for determining region of interest for photographing ball images
JP5419925B2 (ja) 通過物体数計測方法、通過物体数計測装置、及びプログラム
KR101767954B1 (ko) 골프 스윙 촬영 위치 검출 방법, 골프 스윙 표시 방법, 이를 수행하는 골프 스윙 분석 시스템 및 모바일 시스템
WO2023106201A1 (ja) プレイ分析装置、プレイ分析方法、及びコンピュータ読み取り可能な記録媒体
JP6691490B2 (ja) 運動状態時間情報提示装置、運動状態時間情報提示方法、プログラム
US20220203200A1 (en) Golf swing analysis system, golf swing analysis method, and information storage medium
EP3901936A1 (en) Method, system and computer programs for padel tennis training
CN109272529B (zh) 视频分析方法

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

Country of ref document: EP

Kind code of ref document: A1