WO2021085453A1 - 認識処理装置、認識処理プログラム、認識処理方法、及びビジュアライズシステム - Google Patents
認識処理装置、認識処理プログラム、認識処理方法、及びビジュアライズシステム Download PDFInfo
- Publication number
- WO2021085453A1 WO2021085453A1 PCT/JP2020/040369 JP2020040369W WO2021085453A1 WO 2021085453 A1 WO2021085453 A1 WO 2021085453A1 JP 2020040369 W JP2020040369 W JP 2020040369W WO 2021085453 A1 WO2021085453 A1 WO 2021085453A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- instrument
- sword
- image
- recognition
- coordinates
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B71/00—Games or sports accessories not covered in groups A63B1/00 - A63B69/00
- A63B71/06—Indicating or scoring devices for games or players, or for other sports activities
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B69/00—Training appliances or apparatus for special sports
- A63B69/02—Training appliances or apparatus for special sports for fencing, e.g. means for indicating hits
Definitions
- the present invention relates to a recognition processing device, a recognition processing program, a recognition processing method, and a visualization system, and is possessed by an athlete (owner) in, for example, a swordsmanship competition (for example, sports such as fencing and kendo and martial arts). It can be applied to systems involving recognition processing, including instruments (eg, swords, swords / bamboo swords, etc.).
- instruments eg, swords, swords / bamboo swords, etc.
- Patent Document 1 Conventionally, as a technique for recognizing a player's movement in a swordsmanship competition, there is a technique described in Patent Document 1.
- the movement analysis of the athlete is performed by imaging the body of the athlete equipped with the color markers of four colors or less, regardless of the color of the clothes or the lighting environment.
- the first recognition processing device of the present invention has (1) a position in which the device is captured for each of the captured images of one or a plurality of owners of the bar-shaped device captured by the plurality of image pickup devices. From the instrument recognition means that performs the instrument recognition process to be recognized and (2) each of the captured images, the instrument proximity area image of the instrument proximity region including only the instrument and its vicinity is obtained by using the result of the instrument recognition process.
- the first image acquisition means to be acquired (3) the instrument part recognition means for recognizing the position where the predetermined portion of the instrument is reflected from each of the device vicinity area images, and (4) the instrument part recognition means.
- a 2D coordinate recognition means that acquires 2D coordinates corresponding to the position of the predetermined portion on the captured image based on the result of the instrument portion recognition process, and (5) the 2D coordinate recognition based on each of the captured images.
- the 2D coordinates of the predetermined portion recognized by the means are converted into 3D coordinates in the 3D space in which the owner exists, acquired, and based on the acquired 3D coordinates of the predetermined portion, the predetermined portion in the 3D space. It is characterized by having a 3D coordinate recognition means for recognizing and acquiring 3D coordinates corresponding to the position of.
- the device is captured for each of the captured images of (1) one or a plurality of owners of a rod-shaped device captured by a plurality of image pickup devices.
- An instrument recognition means that performs an instrument recognition process for recognizing a certain position, and (2) from each of the captured images, using the result of the instrument recognition process, the vicinity of the instrument in a region near the instrument including only the instrument and its vicinity.
- a first image acquisition means for acquiring a region image
- an instrument part recognition means for performing an instrument part recognition process for recognizing a position in which a predetermined portion of the instrument is reflected from each of the instrument neighborhood area images.
- the 2D coordinate recognition means for acquiring the 2D coordinates corresponding to the position of the predetermined part on the captured image, and (5)) each of the captured images.
- the 2D coordinates of the predetermined portion recognized by the 2D coordinate recognition means are converted into 3D coordinates in the 3D space in which the owner exists, acquired, and based on the acquired 3D coordinates of the predetermined portion, in the 3D space. It is characterized in that it functions as a 3D coordinate recognition means for recognizing and acquiring the 3D coordinates corresponding to the position of the predetermined portion in the above.
- a third aspect of the present invention is the recognition processing method performed by the recognition processing apparatus.
- the recognition processing apparatus includes an instrument recognition means, a first image acquisition means, an instrument partial recognition means, a 2D coordinate recognition means, and a 3D coordinate. It has a recognition means, and (2) the instrument recognition means is a position in which the instrument is captured for each of the captured images of one or a plurality of owners of the rod-shaped instrument taken by a plurality of imaging devices.
- the first image acquisition means uses the result of the instrument recognition process from each of the captured images to perform an instrument recognition process to recognize the instrument, and a region near the instrument including only the instrument and its vicinity.
- the instrument part recognition means performs an instrument part recognition process for recognizing a position where a predetermined part of the instrument is reflected from each of the instrument vicinity area images, and (5).
- the 2D coordinate recognizing means acquires the 2D coordinates corresponding to the position of the predetermined portion on the captured image based on the result of the instrument part recognizing process, and (6) the 3D coordinate recognizing means has each.
- the 2D coordinates of the predetermined portion recognized by the 2D coordinate recognition means based on the captured image are converted into 3D coordinates in the 3D space in which the owner exists, acquired, and converted into the acquired 3D coordinates of the predetermined portion. Based on this, it is characterized in that the 3D coordinates corresponding to the position of the predetermined portion in the 3D space are recognized and acquired.
- one or a plurality of owners of a rod-shaped instrument are held by a plurality of imaging devices, and the positions of the instruments possessed by the holders based on the images captured by the respective imaging devices.
- a composite image is generated by synthesizing the captured image or the processed image of the captured image with an image corresponding to the position of the device. It is a visualization system having a visual processing device, and is characterized in that the first recognition processing device of the present invention is applied as the recognition processing device.
- a holder for example, a player such as fencing
- a rod-shaped device for example, a sword used in a sword-type competition such as fencing
- FIG. 1 It is a block diagram which showed the whole structure of the visualization system which concerns on embodiment. It is a perspective view which showed the model (configuration example) of the 3D space processed by the visualization system which concerns on embodiment. It is a figure (the 1) which showed the example (the 1) of the arrangement position of each apparatus in the visualization system which concerns on embodiment. It is a figure (2) which showed the example (the 1) of the arrangement position of each apparatus in the visualization system which concerns on embodiment. It is a figure (perspective view) which showed the imaging space which is the object of imaging by each camera which concerns on embodiment. It is a perspective view of the calibration object which concerns on embodiment. It is a front view which shows the hanging part of the calibration object which concerns on embodiment in an enlarged manner.
- FIG. 1 is a block diagram showing an overall configuration of the visualization system 1 of the embodiment.
- the visualization system 1 performs a process of recognizing a motion including a sword for a fencing player (hereinafter referred to as "motion recognition process"), and processes an image of the player based on the result of the motion recognition process. It is a system.
- the visualization system 1 detects (optically detects) the position of the athlete in the recognition processing device 100 that performs the motion recognition processing, the region where the athlete is located during the competition (hereinafter, referred to as “competition area”) 2
- the number of Lidar sensors 20 and cameras 30 installed is not limited to the above number.
- each camera 30 various digital cameras capable of capturing moving images can be applied.
- the camera 30 is a digital camera capable of shooting a 4K60P moving image.
- each camera 30 is given a unique camera ID.
- the cameras 30-1 to 30-24 are assigned camera IDs 1 to 24, respectively.
- a frame ID for specifying a time series is assigned to the images (frames) captured by each camera 30. It is assumed that synchronized management is performed so that the same frame ID is assigned to the images of the same time series in each camera 30. That is, in the visualization system 1, it is possible to specify at what time the frame was captured by which camera 30 by the camera ID and the frame ID.
- FIG. 2 is a perspective view showing a model (configuration example) of the 3D space CS processed by the visualization system 1.
- the 3D space CS is a space whose position is determined by the coordinate systems of three axes (X-axis, Y-axis, and Z-axis) that are orthogonal to each other.
- a two-dimensional image such as an image captured by each camera 30 is referred to as a "2D image”
- a pixel at each coordinate (two-dimensional coordinate) on the 2D image is referred to as a 2D pixel.
- a coordinate system based on the origin P0 set on the floor surface FR is set.
- the right direction is the + X direction
- the left direction is the -X direction
- the front side direction is the -Y direction
- the back side direction is the + Y direction
- the downward direction is in the -Z direction.
- the coordinates in the 3D space CS are shown in the form (X, Y, Z).
- the coordinates where the X-axis position is 1, the Y-axis position is 1, and the Z-axis position is 1, are represented as (1,1,1). Therefore, the coordinates of the origin P0 are (0,0,0).
- the actual position (physical distance (actual size) from the origin P0) corresponding to each 3D coordinate of the 3D space CS is a position corresponding to the resolution of the 3D image (actual size of each 3D pixel) in the 3D space CS. For example, when the actual size of each 3D pixel in the X-axis direction is 5 mm, the physical position corresponding to the coordinates (1,0,0) is a position 5 mm to the right from the origin P0. As described above, each coordinate of the 3D space CS is associated with the actual position with the origin P0 as the base point.
- FB1 is illustrated on the floor surface FR as an area (hereinafter, referred to as a “competition area”) including a pist in which a player is allowed to exist according to the rules during a fencing competition.
- the competition area FB1 has a rectangular shape according to the fencing rules centered on the origin P0.
- the coordinates of each vertex of the competition area are shown as P101, P102, P103, and P104.
- the competition area FB1 follows the fencing rules (rules regarding the shape of the piste), the dimensions in the lateral direction are 1.5 m to 2.0 m, and the dimensions in the longitudinal direction are 17 m to 18 m (total length of the piste is 14 m, 3 m to 4 m). (Dimensions including the runback (extension of the piste)).
- the dimension of the competition area FB1 in the longitudinal direction is 18 m and the dimension in the lateral direction is 2.0 m.
- the first athlete existing in the competition area FB1 during the fencing competition is referred to as “FP1”, and the second competitor is referred to as “FP2”.
- the sword possessed by the first athlete FP1 (the sword of the first athlete) is referred to as "SW1”
- the sword possessed by the second athlete FP2 (the first). 2 athlete's sword) shall be expressed as "SW2”.
- the athlete on the left side when viewed from FIG. 2 will be referred to as FP1
- the athlete on the right side will be referred to as FP2.
- a rectangular (rectangular) region FB2 slightly wider than the competition region FB1 is provided on the floor surface FR as a reference region (hereinafter referred to as “imaging region”) when imaging is performed by the camera 30. It is illustrated.
- the coordinates of each vertex of the imaging region FB2 are shown as P111, P112, P113, and P114.
- the imaging region FB2 is a rectangle centered on the origin P0, like the competition region FB1.
- the imaging region FB2 may be, for example, a region 2 m longer than the competition region FB1 in the longitudinal direction and 0.5 m longer in the lateral direction.
- 3 and 4 are views (viewed from above) showing an example of the arrangement positions of the camera 30 and the LiDar sensor 20 in the visualization system 1, respectively.
- each camera 30 is arranged so as to surround the competition area FB1.
- 12 cameras 30- which are half of the 24 cameras 30-1 to 30-24, are located at a short distance from the competition area FB1 (a position about 8 m from the center line L2). 1 to 30-12 are arranged, and the other half of 12 cameras 30-13 to 30-24 are arranged at a position far from the competition area FB1 (a position about 30 m from the center line L2). .. It is desirable that the number and the arrangement position of the camera 30 and the LiDar sensor 20 are configured so that a blind spot does not occur in the sword possessed by each competitor during the competition.
- the lines (lines parallel to the Y axis) located at distances D21, D22, D23, D24, and D25 in the ⁇ X direction from the center line L1 are shown as lines LL1, LL2, LL3, LL4, and LL5, respectively.
- the line LL4 is a line that coincides with the side in the lateral direction (the side in the ⁇ X direction) of the competition area FB1
- the line LL5 is the side in the lateral direction ( ⁇ X direction) of the imaging region FB2. It is a line that coincides with the side in the X direction.
- the lines (lines parallel to the Y axis) at distances D21, D22, D23, D24, and D25 in the + X direction from the center line L1 are referred to as lines LR1, LR2, LR3, LR4, and LR5, respectively. It is shown in the figure.
- the line LR4 is a line that coincides with the side in the lateral direction (the side in the + X direction) of the competition area FB1
- the line LR5 is the side in the lateral direction (+ X direction) of the imaging region FB2. It is a line that matches the side of).
- a line at a position separated from the center line L2 in the ⁇ Y direction by a distance D11 is L3
- the line parallel to) is shown as L4.
- the six cameras 30-1 to 30-6 are arranged at positions P301 to P306 along the line L3.
- the positions P301 to P306 along the line L3 are the positions of the lines LL3, LL2, LL1, LR1, LL2, and LL3 in the X direction, respectively.
- the six cameras 30-7 to 30-12 are arranged at positions P307 to P312 along the line L4.
- the positions P307 to P312 along the line L4 are the positions of the lines LL3, LL2, LL1, LR1, LL2, and LL3 in the X direction, respectively.
- a line at a distance D31 away from the center line L2 in the ⁇ Y direction (a line parallel to the X axis) is L5
- the line) is shown as L6. It is desirable that D31 and D32 are about 30 to 40 m.
- the six cameras 30-13 to 30-18 are located at positions P313 to P318 along the line L5. Further, as shown in FIG. 4, the six cameras 30-19 to 30-24 are located at positions P319 to P324 along the line L6. It is assumed that the heights of the cameras 30-13 to 30-24 arranged at a long distance are about 5 m to 8 m from the floor surface FR. The cameras 30-13 to 30-24 arranged at a long distance can reduce the blind spot of the entire system by locating the cameras 30-13 to 30-24 looking down at each athlete from diagonally above. The cameras 30-13 to 30-24 arranged at a long distance are inevitably installed in the audience seats from the distance from the fixie, so that the cameras are located higher than the floor surface FR. The specific positions of the cameras 30-13 to 30-24 arranged at a long distance may be changed in detail depending on the convenience of the audience seats.
- the positions P313, P314, P319, and P320 of the cameras 30-13, 30-14, 30-19, and 30-20 are arranged in the X-axis direction in the ⁇ X direction slightly from the imaging region FB2. ing. It is desirable that the positions P313 and P314 are actually adjacent positions (almost the same position). Further, it is desirable that the positions P319 and P320 are actually adjacent positions (almost the same position).
- the positions P315, P316, P321, and P322 of the cameras 30-15, 30-16, 30-21, and 30-22 are within the range of the imaging region FB2 in the X-axis direction (LL5 to LR5). Is located within the range of). It is desirable that the positions P315 and P316 are actually adjacent positions (almost the same position). Further, it is desirable that the positions P321 and P322 are actually adjacent positions (almost the same position).
- the positions P317, P318, P323, and P324 of the cameras 30-17, 30-18, 30-23, and 30-24 are arranged in the X-axis direction in the + X direction slightly from the imaging region FB2.
- the LiDar sensors 20-1 and 20-2 are arranged at the position 201 between the positions P302 and P303 and the position 202 between the positions P304 and P305, respectively.
- FIG. 5 is a diagram (perspective view) showing a space (hereinafter, referred to as “imaging space”) IS that is mainly targeted for imaging by each camera 30.
- imaging space a space (hereinafter, referred to as “imaging space”) IS that is mainly targeted for imaging by each camera 30.
- the imaging space IS is a space in which the imaging region FB is the bottom surface and the height (dimension in the Z-axis direction) is H11. It is desirable that the height of H11 is sized according to the height of the athlete. For example, the height H11 may be about 3 m to 4 m.
- the optical axis of each camera 30 is set so as to pass through the imaging space IS. Further, it is desirable that the focal position of each camera 30 is set so as to be within the imaging space IS. Further, it is desirable that the field of view of each camera 30 is set to a viewing angle that mainly accommodates the imaging space IS.
- the vector corresponding to the optical axis of each camera 30 (the vector of the line of sight taken by each camera 30 at the time of line of sight) is also referred to as a “line of sight vector”.
- each camera 30 As follows, it is possible to reduce the blind spot when the images captured by each camera 30 are combined.
- the imaging space IS is divided by lines LL3, LL2, LL1, LR1, LR2, and LR3 in order from the left (hereinafter, the space in which the imaging space IS is divided is referred to as a "block space").
- the block space separated by the “line LL1 and line LR1” of the imaging space IS is referred to as BC.
- the block space separated by "line LL1 and line LL2", “line LL2 and line LL3”, and “line LL3 (line LL3 and line LL5)” is defined as a block space. It shall be represented as BL1, BL2, and BL3, respectively.
- the imaging space IS is divided by "line LR1 and line LR2", “line LR2 and line LR3”, and “line LR3 (line LR3 and line LR5)”.
- the block space is represented as BR1, BR2, and BR3, respectively.
- each camera 30 (30-1 to 30-12) the height (dimension in the Z-axis direction) of the lens portion (the base portion of the optical axis) (not shown) is approximately the height of the body portion of the athlete (for example, about 1 m). It shall be installed so as to be (about the height). It is assumed that the optical axes of the cameras 30 (30-1 to 30-12) are set to be horizontal (parallel to the plane formed by the X-axis and the Y-axis). In FIG. 3, an arrow (one-dot chain line arrow) extending from a circular symbol indicating each camera 30 (30-1 to 30-12) indicates the direction of the optical axis (line-of-sight vector) of each camera 30. As shown in FIG.
- each camera 30 (30-1 to 30-12) is set in a direction orthogonal to the line L2.
- the optical axis of each camera 30 (30-1 to 30-12) is horizontally oriented in the direction of line L2 (direction orthogonal to the plane cut by line L2) from the position where the height is approximately 1 m. It is desirable that it is stretched.
- each camera 30 is set so that it becomes the intersection of the optical axis and the line L1 (the surface cut by the line L1).
- each camera 30 is set so as to mainly include two block spaces adjacent to the left and right of the optical axis.
- the camera 30-1 has a viewing angle so that the two block spaces BL3 and BL2 adjacent to the left and right of the optical axis can be accommodated in the field of view.
- the camera 30-2 has a viewing angle so that the two block spaces BL2 and BL1 adjacent to the left and right of the optical axis can be accommodated in the field of view.
- the focal positions of the cameras 30-13 to 30-24 installed at a long distance are the origin P0, the position PL2 which is the intersection of the center line L2 and the line LL1 on the floor surface FR, It is assumed that the position PR2 is set at the intersection of the center line L2 and the line LR1 on the floor surface FR. Therefore, the optical axes of the cameras 30-13 to 30-24 installed at a distance are also set in the directions of the respective focal positions. That is, here, the focal positions of the cameras 30-13 to 30-24 installed at a long distance are dispersed in the left representative position PL2, the center representative position origin P0, and the right representative position PR2 in the imaging space IS. Is set.
- the focal positions of the cameras 30-13, 30-15, 30-19, and 30-21 are set to the position PL2 on the left side of the center. Further, here, it is assumed that the focal positions of the cameras 30-14, 30-17, 30-20, and 30-23 are set at the center origin P0. Further, here, it is assumed that the focal positions of the cameras 30-16, 30-18, 30-22, and 30-24 are set to the right position PR2.
- a viewing angle is set so that the field of view mainly includes the left block spaces BL3, BL2, and BL1. It shall be.
- the field of view of the cameras 30-13, 30-15, 30-19, and 30-21 does not have to include all of the leftmost block space BL3, and at least the left end (line) of the competition area FB1. It suffices if the space up to LL4) is included.
- the viewing angle is set so that the central block spaces BL1, BC, and BR1 are mainly included in the field of view. It is assumed that it has been done.
- the viewing angle is set so that the field of view mainly includes the block spaces BL3, BL2, and BL1 on the right side. It is assumed that The field of view of the cameras 30-16, 30-18, 30-22, and 30-24 does not have to include all of the block space BR3 at the right end, and at least the right end (line) of the competition area FB1. It suffices if the space up to LR4) is included.
- calibration object used as a reference when calibrating the visualization system 1 (for example, calibration required for motion recognition processing and visual processing) will be described.
- FIG. 6 is a perspective view of the calibration object 50 that can be used for calibrating the visualization system 1.
- the calibration object 50 has a tripod 51 and a hanging portion 52 suspended from the tripod 51.
- the tripod 51 of this embodiment has a pan head portion 511 and three leg portions 512, 513, 514 that support the pan head portion 511.
- the configuration for connecting the pan head portion 511 and the leg portions 512, 513, 514 is not limited, and a configuration similar to that of a tripod for various cameras (for example, a joint member (not shown)) can be applied.
- a joint member for example, a joint member (not shown)
- the legs 512, 513, and 514 are rotatably attached (connected) to the pan head 511 by joint members (not shown) (rotatably by the rotation axis of the indirect member). That is, in the tripod 51, the pan head portion 511 can be set to an arbitrary height by setting the angles of the leg portions 512, 513, and 514 with respect to the pan head portion 511.
- the hanging portion 52 is suspended from the lower surface of the pan head portion 511 as a supporting portion.
- the tripod 51 is applied as a support member for suspending the suspension portion 52 from a predetermined height (a support member for suspending the upper end of the suspension portion 52).
- a support means for suspending the suspending portion 52 from a predetermined height may be configured by using an object other than the tripod 51. For example, a stepladder, a crane, or the like may be used to form the support means.
- the LED lamps 521-1 to 521-3 are attached to the hanging portion 52.
- the LED lamps 521-1 to 521-3 are electrically connected to the power supply unit 53 by lead wires 54, respectively.
- the power supply unit 53 is fixed to the tripod 51, but the arrangement position of the tripod 51 and the configuration for supporting the tripod 51 are not limited.
- the power supply unit 53 and the lead wire 54 hinder the suspension of the suspension unit 52 (the suspension unit 52 is hung exactly vertically downward from the pan head portion 511). It is desirable that it is arranged and configured so that it does not become.
- the lead wire 54 is connected between the hanging portion 52 and the power supply portion 53 with a sufficient extra length.
- the colors of the LED lamps 521-1 to 521-3 emit light in a color that is easy to detect on the captured image, such as green.
- the hanging portion 52 is urged to be hung (the hanging portion 52 is hung exactly vertically downward from the pan head portion 511), and the hanging portion 52 is provided.
- a weight 522 (weight) is attached to make it stationary. As the weight 522, a so-called plumb bob weight can be applied.
- the hanging portion 52 has a plumb bob configuration, and by suspending the hanging portion 52 from the tripod 51 (head portion 511), the LED lamp 521-is exactly vertically above the position of the weight 522.
- the configuration is such that 1 to 521-3 can be stationary.
- the LED lamps 521-1, 521-2, and 521-3 are attached in this order from the top.
- FIG. 7 is a diagram showing a detailed configuration of the hanging portion 52.
- FIG. 7 is a front view (front view) of only the pan head portion 511 and the hanging portion 52.
- the LED lamps 521 are attached to the hanging member 523 having an elongated plate shape (for example, the width in the lateral direction is about 3 cm). ing.
- the LED lamps 521 (521-1 to 521-3) are fixed to the hanging members 523 at predetermined positions by the fixing members 526 (526-1 to 526-3), respectively.
- the structure of the fixing member 526 is not limited, but for example, an adhesive tape or a binding member (so-called tie wrap or the like) can be applied.
- lead wires 54 are connected to the LED lamps 521-1 to 521-3, respectively, in this embodiment, as shown in FIG. 7, the LED lamps 521-1 to 521-3 are lead wires, respectively.
- each LED lamp 521 to the hanging member 523 is not limited to the above method, and various methods such as an adhesive and a fixing jig can be applied.
- the material of the hanging member 523 is not limited, but for example, a high-rigidity metal plate such as an aluminum plate or a stainless plate can be applied.
- the upper end of the hanging member 523 is connected (suspended) from the lower surface of the pan head portion 511 via the connecting member 524.
- a connecting hole 523a for attaching the connecting member 524 is formed at the upper end of the hanging member 523.
- a weight 522 is suspended from the lower end of the hanging member 523 via a connecting member 525.
- a connecting hole 523b for attaching the connecting member 525 is formed at the lower end of the hanging member 523.
- the connecting members 524 and 525 are accurate for the hanging portion 52 (hanging member 523), such as a chain-shaped member (for example, a member in which a plurality of rings are connected) or a string-shaped member as shown in FIG. It is desirable to apply something that encourages (does not interfere with) the hanging.
- the dimension from the lower end of the weight 522 to the LED lamp 521-3 is D201
- the dimension from the LED lamp 521-3 to the LED lamp 521-2 is D202
- the dimension from the LED lamp 521-2 to the LED lamp 521-1 is shown as D203.
- the lower end of the weight 522 is stopped at the "position where the weight 522 slightly contacts the floor surface FR" or the "position where a slight gap is generated with the floor surface FR", whereby the LED lamp 521-
- the heights of 1, 521-2 and 521-3 can be 0.3 m, 1.3 m and 1.8 m from the floor surface FR, respectively.
- the LED lamps 521-1, 521-2, 521-3 can be positioned at a predetermined height perpendicular to the origin P0.
- the positions of the LED lamps 521-1, 521-2, and 521-3 are also known.
- FIG. 8 is a view (perspective view) showing a state in which the calibration object 50 is installed in the competition area FB1.
- the calibration object 50 (weight 522 of the hanging portion 52) is installed at a position where the 3D coordinates are known (for example, a position where the relative positional relationship with the origin P0 or the origin P0 is clear). Then, by obtaining the 2D image captured by each camera 30, calibration (for example, a process of obtaining a conversion coefficient between the 2D coordinate on the 2D image of each camera 30 and the 3D coordinate on the 3D space) is performed. Can be done.
- FIG. 8 shows a state in which the calibration object 50 (weight 522 of the hanging portion 52) is installed in accordance with the origin P0. The details of the calibration process in the visualization system 1 will be described later.
- FIG. 1 also shows a block diagram of the functional configuration of the recognition processing device 100.
- the recognition processing device 100 functionally includes a switch control unit 110, a dispatcher 120, a recognition processing unit 130, a 3D configuration processing unit 140, and a calibration processing unit 150.
- Each element constituting the recognition processing device 100 may be configured by software using a computer, or a part or all thereof may be configured by using hardware (for example, a dedicated semiconductor chip). You may.
- the recognition processing device 100 is configured by installing a program (including the recognition processing program according to the embodiment) on one or more computers. That is, the number of hardware (computers) constituting the recognition processing device 100 is not limited, and it may be composed of a plurality of hardware groups.
- the switch control unit 110 has a function of receiving the captured image signal (video signal; moving image signal) supplied from each camera 30 and supplying a part or all of the signal to the dispatcher 120 in the subsequent stage.
- the switch control unit 110 estimates the position of each athlete based on the detection result of the LiDar sensor 20 (20-1, 20-2), and selects the camera 30 to be used for the motion recognition process based on the result.
- the signal from the selected camera 30 is supplied (switched) to the subsequent stage (dispatcher 120).
- the switch control unit 110 will be described as selecting up to eight cameras 30 at the same time. If it is assumed that the recognition processing device 100 always processes signals from all the cameras 30, the configuration of the switch control unit 110 and the LiDar sensor 20 may be omitted. By providing the switch control unit 110 and the LiDar sensor 20 in the recognition processing device 100, it is possible to process only the signal from the camera 30 which is presumed that the athlete is always in the field of view (efficient real-time). Processing is possible).
- the dispatcher 120 acquires captured images for each time series from each signal supplied from the switch control unit 110, and supplies the acquired captured images or processed images to the subsequent stage (recognition processing unit 130) for operation. Execute the recognition process.
- the recognition processing unit 130 performs motion recognition processing on the captured image (2D image) supplied from the dispatcher 120, and supplies the detection result of the motion recognition processing to the subsequent 3D configuration processing unit 140. Specifically, the recognition processing unit 130 performs recognition (detection) processing regarding the position of each player's sword SW (SW1, SW2) on the supplied captured image as motion recognition processing. It has a one-stage recognition processing unit 131, a second-stage recognition processing unit 132, and a recognition result output processing unit 133. Further, the recognition processing unit 130 has a first discriminator 161 and a second discriminator 162, and a third discriminator 163 that discriminate by a learning model machine-learned in the process of motion recognition processing. ..
- the 3D configuration processing unit 140 has 3D coordinates (3D) of the sword tip and sword base of each competitor's sword SW (SW1, SW2) for each time series based on the recognition result of the motion recognition processing supplied from the recognition processing unit 130. Performs a process of estimating (3D coordinates on the space CS) (hereinafter, also referred to as "3D estimation process"). Then, the 3D configuration processing unit 140 supplies the result of the 3D estimation processing for each time series to the visual processing device 200.
- the calibration processing unit 150 performs calibration processing (including processing for acquiring internal parameters and external parameters) of each camera 30 based on the images captured by each camera 30.
- the calibration processing unit 150 is a calibration object 50 (lighted each functioning as a marker) installed at a position where the 3D coordinates are known (for example, a position where the relative positional relationship with the origin P0 or the origin P0 is clear).
- a 2D image hereinafter referred to as "calibration image”
- the calibration process of each camera 30 is performed based on the calibration image.
- the calibration processing unit 150 performs calibration processing based on the positions of markers (lighted LED lamps 521) on the calibration image, the 3D coordinates of each marker, and the like. The details of the calibration process in the calibration processing unit 150 will be described later.
- FIG. 1 also shows a block diagram of the functional configuration of the visual processing device 200.
- the visual processing device 200 functionally includes an adapter 210 and a visual processing unit 220.
- Each element constituting the visual processing device 200 may be configured by software using a computer, or a part or all of the elements may be configured by using hardware (for example, a dedicated semiconductor chip). You may.
- the visual processing apparatus 200 is configured by installing a program (including a visual processing program according to the embodiment) on one or more computers. That is, the number of hardware (computers) constituting the visual processing device 200 is not limited, and it may be composed of a plurality of hardware groups.
- the adapter 210 is responsible for a process of aggregating each data / signal supplied to the visual processing device 200 and supplying the data / signal to the visual processing unit 220.
- the adapter 210 acquires data supplied from the recognition processing device 100 (data including captured images for each time series and the result of 3D estimation processing) and supplies the data to the visual processing unit 220. Further, the adapter 210 acquires a signal from the referee device 40 and supplies it to the visual processing unit 220.
- the referee device 40 is a device generally used in a fencing game, and a signal from the referee device 40 according to a predetermined protocol (for example, a signal indicating the effectiveness of an attack by a competitor; hereinafter, "referee". It will be described as assuming that a signal) is output.
- the visual processing unit 220 has a function of outputting an image (visually processed image) obtained by performing effect processing according to the result of 3D estimation processing and / or the referee signal to the acquired captured image or the processed image of the captured image. There is.
- FIG. 9 is a flowchart showing the flow of the calibration process performed by the calibration processing unit 150 of the recognition processing device 100.
- the calibration processing unit 150 holds the 3D coordinates (hereinafter, also simply referred to as “reference coordinates”) of the reference position (position of the weight 522) where the calibration object 50 is installed. To do.
- the method in which the calibration processing unit 150 holds the reference coordinates in which the calibration object 50 is installed is not limited.
- the calibration processing unit 150 may receive input of the current reference coordinates from the operator.
- the number of reference coordinates (hereinafter, also referred to as “number of positions”) is not limited. For example, as shown in FIG.
- intersection PL1 between the center line L2 and the line LL1, the center line L2 and the line Intersection PL2 with LL2, intersection PL3 between center line L2 and line LL3, intersection PR1 between center line L2 and line LR1, intersection PR2 between center line L2 and line LR2, intersection PR3 between center line L3 and line LR1 7 points may be set. It is desirable to set the number of positions to about 6 to 18.
- the calibration object 50 is set at the first reference position (position whose 3D coordinates are known) by the operator (S101). At this time, it is assumed that the LED lamps 521-1 to 521-3 of the calibration object 50 are lit by the operation of the operator. Further, at this time, the calibration processing unit 150 will be described as assuming that the reference coordinates (installation position of the calibration object 50) are held.
- the calibration processing unit 150 has acquired an image captured by the camera 30 (the camera 30 in which the calibration object 50 exists in the field of view) to be calibrated (S102).
- the procedure in which the calibration processing unit 150 identifies the camera 30 to be calibrated at a certain point in time and acquires the image captured by the camera 30 to be calibrated is not limited.
- the operator manually inputs the information of the camera 30 to be calibrated to the switch control unit 110, and only the signal of the camera 30 to be calibrated to the switch control unit 110 is sent to the calibration processing unit 150. It may be supplied (switched), or the switch control unit 110 selects the signal of the camera 30 in which the LED lamp 521 (a specific color when the LED lamp 521 is lit (green in this embodiment)) is captured. Then, it may be supplied (switched) to the calibration processing unit 150.
- the calibration processing unit 150 determines the 2D coordinates (2D pixels) and 3D coordinates of the camera 30 to be calibrated based on the 2D image (hereinafter referred to as “sample image”) captured by the camera 30 to be calibrated.
- An association sample (hereinafter, this sample is also referred to as a “coordinate sample”) is acquired (S103).
- the calibration processing unit 150 acquires and grasps in advance the 2D coordinates of the position where each LED lamp 521 image is captured (for example, the center point of the region where each LED lamp 521 is captured) for each sample image. It is associated with the 3D coordinates of each LED lamp 521 and acquired as a coordinate sample.
- the calibration processing unit 150 has reached a threshold value (for example, about 6 to 18) in the number of positions (the number of reference coordinates (reference positions) in which the calibration object 50 is installed) for which coordinate samples have been acquired so far. It is confirmed whether or not (S104), and when the number of positions reaches the threshold value, the process proceeds to the process of step S105 described later, and when the number of positions is less than the threshold value, the process proceeds to the process of step S106 described later. Further, the calibration processing unit 150 may break the processing of the loop according to a manual operation from the operator instead of the control based on the threshold value, and shift to step S105 described later.
- a threshold value for example, about 6 to 18
- the calibration processing unit 150 waits until the position of the calibration object 50 is changed (moved) by the operator (S106), and performs the process of step S102 described above. Go back and move to the process of acquiring sample coordinates at the next position.
- the calibration processing unit 150 may wait until a predetermined input indicating that the position change is completed (for example, a predetermined operation input using a keyboard or GUI (not shown)) is performed by the operator.
- a predetermined input indicating that the position change is completed for example, a predetermined operation input using a keyboard or GUI (not shown)
- the calibration processing unit 150 When it is determined in step S104 above that the number of positions is equal to or greater than the threshold value, the calibration processing unit 150 performs calibration processing (camera 30) for each camera 30 based on the coordinate sample acquired in step S103 above. The process of calculating the internal parameters and the external parameters of the above (S105) is performed, and the series of calibration processes is completed.
- a camera model such as a camera 30
- processing by a program using an existing theory or an open source environment (library) can be applied.
- an open source environment in which calibration can be performed based on a coordinate sample in a camera model for example, OpenCV (Open Source Computer Vision Library) or the like can be applied.
- OpenCV Open Source Computer Vision Library
- the camera model of OpenCV will be described as being applied to the acquisition of the internal parameters of the camera 30.
- the calibration processing unit 150 acquires the internal parameters of the camera 30 based on the list of coordinate samples acquired in step S103 described above.
- examples of internal parameters to be calibrated include a focal length, a principal point (optical center position>, and a distortion coefficient.
- a calibrationCamera function and the like are prepared, and can be applied to the acquisition of internal parameters of the camera 30.
- the internal parameters are the focal length [fx, fy], the principal point [cx, cy], and the distortion coefficient [k 1 , ..., k 6 , p 1 , p 1, which constitute the so-called camera matrix.
- p 2, s 1, ⁇ it is represented by s 4].
- a list of obtained coordinate samples, a resolution of the camera 30, and initial values of internal parameters are input to the calibrateCamera function of this OpenCV to perform a predetermined process. Then, the internal parameters (focal length, principal point, and distortion coefficient) to be obtained can be obtained.
- the calibration processing unit 150 acquires the position and orientation of each camera 30 as external parameters.
- the position is represented by t and the posture (rotation) is represented by R.
- R the posture (rotation)
- a general camera model as a method of acquiring external parameters (position t and rotation R) based on a coordinate sample, for example, a method of using a method of solving a Perceptive-n-Point (hereinafter referred to as "PnP") problem.
- PnP Perceptive-n-Point
- the PnP problem is a problem of estimating the position and orientation of the camera from the relationship between the point cloud in the 3D space and the point cloud on the 2D image, and there are various solutions.
- the calibration processing unit 150 can obtain the external parameters (position t and rotation R) of the camera 30 by applying the obtained list of coordinate samples to the solution of this PnP problem. Since various methods can be applied to the solution of the PnP problem, detailed description thereof will be omitted here.
- the calibration processing unit 150 performs calibration processing (acquisition of internal parameters and external parameters) for each camera 30.
- the parameters (parameters including internal parameters and external parameters) processed by the calibration of the camera 30 are collectively referred to as “camera calibration parameters”.
- the calibration processing unit 150 holds a camera calibration parameter for each camera 30 and supplies the camera calibration parameter to the 3D configuration processing unit 140. At that time, the calibration processing unit 150 adds the camera ID to the camera calibration parameter and holds it.
- the swords SW1 and SW2 possessed by the competitors FP1 and FP2 at the runner-up point are based on the 2D image captured by each camera 30 at an arbitrary time point (hereinafter referred to as "attention time point").
- the operation when performing the recognition processing regarding the position of is shown.
- the switch control unit 110 of the recognition processing device 100 acquires the detection results of the LiDar sensors 20-1 and 20-2 at the time of attention, extracts the detection results in the imaging region FB2, and integrates them (LiDar sensor 20-). A process of integrating (merging) the detection results of 1 and 20-2 is performed (S201).
- FIG. 12 shows the positional relationship between the imaging region FB2 (competition region FB1), the athletes FP1 and FP2 in competition in the imaging region FB2 (competition region FB1), and the LiDar sensors 20-1 and 20-2. It is a figure (the figure seen from the upper side).
- the LiDar sensors 20-1 and 20-2 are adjusted so as to detect an object in the horizontal direction with respect to the height of the body portion of the athletes FP1 and FP2 (for example, 1 m from the floor surface FR). Shall be. Then, the switch control unit 110 extracts only the detection result (sample point) in the imaging region FB2 from the detection results of the LiDar sensors 20-1 and 20-2, so that the position of each player in the imaging region FB2 can be determined. Can be recognized. In this embodiment, an example in which two LiDar sensors 20 are installed is shown, but the number of LiDar sensors 20 to be installed is not limited.
- the number of LiDar sensors 20 to be installed may be one, but if only one is installed, one of the competitors will be located in the blind spot when two competitors overlap in the field of view. , The blind spot can be further reduced by merging the detection results of a plurality of LiDar sensors 20.
- FIG. 13 shows the detection results of the two LiDar sensors 20-1 and 20-2 when the competitors FP1 and FP2 are located in the imaging region FB2 as shown in FIG. 12 (an object was detected in the imaging region FB2). Position) is shown.
- the data detected by the LiDar sensor 20 is the direction and distance in which the object reflecting the laser beam exists, but in FIG. 13, the state in which each LiDar sensor 20 visualizes the direction and distance in which the object is detected as a position. It is illustrated in.
- FIG. 13 the contours of the body portions of the athletes FP1 and FP2 are shown by a dashed line. Further, in FIG. 12, the position where the LiDar sensor 20-1 detects the object is indicated by a triangular marker, and the position where the LiDar sensor 20-2 detects the object is indicated by a quadrangular marker.
- FIG. 13 (a) shows the detection result by the LiDar sensor 20-1
- FIG. 13 (b) shows the detection result by the LiDar sensor 20-2
- FIG. 13 (c) shows the detection result by the two LiDar sensors 20.
- the state in which the detection results of -1 and 20-2 (detection results of 13 (a) and 13 (b)) are merged is shown in the figure.
- the switch control unit 110 of the recognition processing device 100 can detect the position of each athlete at the time of attention.
- integrated detection result the cameras in which the athletes FP1 and FP2 are reflected in the field of view.
- integrated detection result the cameras in which the athletes FP1 and FP2 are reflected in the field of view.
- Called “attention camera”) the cameras in which the athletes FP1 and FP2 are reflected in the field of view.
- the switch control unit 110 pays attention to the camera 30 having a field of view including the position of the first competitor FP1 and the position of the second competitor FP2 based on the integrated detection result. It will be described as being selected as a camera.
- the integrated detection result has the contents as shown in FIG. 13 (c).
- the first competitor FP1 and the second competitor FP2 are within the range of D_band between L_L_end and L_R_end in the X-axis direction. is there. In this case, as shown in FIG.
- the switch control unit 110 is located on the center line L2 (in the X-axis direction) at the position of L_mid, which is the midpoint of the range D_band (hereinafter, referred to as “attention position”).
- L_mid which is the midpoint of the range D_band (hereinafter, referred to as “attention position”).
- the camera 30 that keeps the PT in the field of view may be selected.
- the switch control unit 110 may select a camera 30 whose focal position (line-of-sight vector) is close to the attention position PT as the attention camera. For example, the switch control unit 110 calculates the shortest distance between the focal position (line-of-sight vector) and the attention position PT for each camera 30, and selects eight as the attention camera in order from the camera 30 having the shortest distance. Good. At this time, the switch control unit 110 selects four cameras from the short-distance cameras 30 (30-1 to 10-12) in the order in which the focus position PT is closer to the focal position, and the long-distance cameras 30 (30-13 to 10). From -24), four units may be selected in order of closeness to the focus position PT.
- the switch control unit 110 when the attention position PT is a position as shown in FIG. 13 (c) (a position slightly deviated from the origin P0 in the + X direction), the switch control unit 110 is a short-distance camera 30 to cameras 30-3, 30. -4, 30-9, 30-10 will be selected, and cameras 30-14, 30-17, 30-20, 30-23 will be selected from the long-distance camera 30. Further, for example, the switch control unit 110 may set a list of cameras of interest to be applied in advance for each range of the calculated attention position PT (for each range of positions in the X-axis direction).
- the dispatcher 120 resizes (changes the resolution) the 2D image captured by the attention camera at the time of attention (hereinafter, referred to as “captured 2D image”) to a size suitable for processing by the recognition processing unit 130. Then, it is supplied to the recognition processing unit 130 (first stage recognition processing unit 131) (S203).
- the 2D image resized by the dispatcher 120 will be referred to as a "resized image".
- the signal (stream) output from each camera 30 is composed of a 4K60P 2D image (for example, an image having a resolution of 3840 ⁇ 2160).
- the resolution of the resized image is 576x320.
- the resolution of the resized image is not limited, it is desirable that the resolution is suitable for the recognition process in the recognition processing unit 130 (for example, a resolution suitable in consideration of the processing speed and the processing accuracy). Further, if the processing capacity of the recognition processing unit 130 is sufficient, the process of converting the captured 2D image into a resized image may be omitted.
- the first stage recognition processing unit 131 of the recognition processing unit 130 acquires the resizing image supplied from the dispatcher 120, and from each of the acquired resizing images, the entire area of the swords SW1 and SW2 of each player FP1 and FP2 is obtained.
- a recognition process (hereinafter referred to as "sword recognition process") is performed (S204).
- the first stage recognition processing unit 131 attempts a process of recognizing the bounding box including each part of the swords SW1 and SW2 from the acquired resized image.
- the specific processing in which the first stage recognition processing unit 131 recognizes the bounding boxes of the swords SW1 and SW2 is not limited, but for example, the first stage using a learning model trained in advance using teacher data. 161 (identifier using AI) may be used for recognition.
- Various AI-based object detection classifiers can be applied to the sword detection process, but in this embodiment, the object detection classifier based on YOLO (You Look Only Once) v3 will be used.
- the classifier using YOLOv3 can output information including the position information (coordinates and size) of the bounding box in the area where the object to be detected is recognized and the certainty of the recognition result.
- the first stage recognition processing unit 131 acquires the bounding boxes of the areas recognized as up to two swords in the order of certainty as the result of the sword recognition processing.
- the first stage recognition processing unit 131 may exclude the bounding box having a certainty degree of less than a predetermined value from the result of the sword recognition processing.
- FIG. 14 is a diagram showing an example of a resized image processed by the first stage recognition processing unit 131.
- FIG. 15 is a diagram showing an example of a bounding box of the swords SW1 and SW2 recognized by the first stage recognition processing unit 131 from the resized image shown in FIG.
- the resized image and the captured image shown in the present specification are images viewed from the direction of FIG. 2 (direction of ⁇ Y), and the first athlete FP1 is shown on the left side (side of ⁇ X) and the right side. The second player FP2 will be shown on the (+ X side).
- the first stage recognition processing unit 131 performs each SW1 as shown in FIG. , SW2 recognizes the bounding boxes BB_SW_1 and BB_SW_2, respectively.
- the dispatcher 120 refers to a region including the sword and the vicinity of the sword (hereinafter referred to as "sword neighborhood region”) based on the bounding box detected by the sword recognition process from the captured 2D image captured by the attention camera at the time of attention.
- An image obtained by cropping (hereinafter referred to as a “sword neighborhood image”) is acquired and supplied to the second stage recognition processing unit 132 (S205).
- the dispatcher 120 acquires (crops) an image of a predetermined size (fixed size) having the same center position as the bounding box recognized by the sword recognition process from the captured 2D image as a sword neighborhood image.
- the size of the bounding box varies depending on the result of the sword recognition process, but it is desirable that the image in the vicinity of the sword (the size of the image to be cropped) has a predetermined fixed size suitable for the subsequent processing.
- the sword neighborhood regions A_SW_1 and A_SW_2 corresponding to the bounding boxes BB_SW_1 and BB_SW_2 of the sword SW1 detected by the sword recognition process are shown.
- the center positions of the bounding boxes BB_SW_1 and BB_SW_2 are PS_SW_1 and PS_SW_2.
- the region near the sword A_SW_1 is a region of V_SW (length in the Y-axis direction) ⁇ H_SW (length in the X-axis direction) having the same center position as the bounding box BB_SW_1.
- the sword neighborhood region A_SW_2 is a region of H_SW (length in the X-axis direction) V_SW (length in the Y-axis direction) having the same center position as the bounding box BB_SW_2.
- the second stage recognition processing unit 132 of the recognition processing unit 130 acquires the sword neighborhood area image supplied from the dispatcher 120, and the 2D coordinates (imaging 2D image) of the sword tip and the sword base are obtained from each acquired sword neighborhood area image.
- a process of recognizing (upper coordinates) (hereinafter referred to as "sword tip / sword source 2D recognition process") is performed (S206).
- the 2D coordinates in the image cropped from the captured 2D image will be referred to as "local 2D coordinates", and the coordinates on the captured 2D image will be referred to as “global 2D coordinates” or simply "2D coordinates".
- the second stage recognition processing unit 132 grasps the position of the sword detection area image in the captured 2D image, and can perform a process of converting the local 2D coordinates in the sword detection area image into global 2D coordinates. It will be explained as a thing.
- the second stage recognition processing unit 132 recognizes the bounding box of the sword tip and the bounding box of the sword base in the acquired sword neighborhood area image, and based on the recognition result of the bounding box. , Acquires the global 2D coordinates of each sword tip / sword base shown in the sword neighborhood area image. Further, at this time, the second stage recognition processing unit 132 holds the certainty level at the time of acquiring the bounding box corresponding to each sword tip / sword source, and adds it to the information of each sword tip / sword source to recognize result output processing unit 133. Is supplied as a processing result.
- the specific processing in which the second stage recognition processing unit 132 performs the sword tip / sword base recognition processing from the sword neighborhood area image is not limited, but for example, a learning model that has been machine-learned using teacher data in advance is used.
- the second classifier 162 (classifier using AI) used may be used for recognition.
- FIG. 16 is a diagram showing an example of processing in which the second stage recognition processing unit 132 recognizes the 2D coordinates of the sword tips and sword bases of the swords SW1 and SW2 possessed by each competitor FP1 and FP2 from the sword neighborhood image. is there.
- FIG. 16 shows a process of recognizing the 2D coordinates of the sword tips and sword bases of the swords SW1 and SW2 based on the bounding boxes BB_SW_1 and BB_SW_2 of the swords SW1 and SW2 as shown in FIG.
- 16 (a) and 16 (b) show the sword tip and the sword base from the images of the sword neighborhood areas A_SW_1 and A_SW_1 (sword neighborhood image; crop image) of the swords SW1 and SW2 possessed by the athletes FP1 and FP2, respectively.
- the process of recognizing the 2D coordinates of is shown.
- FIG. 16A a bounding box BB_T_1 corresponding to the tip of the sword SW1 possessed by the athlete FP1 and a bounding box BB_G_1 corresponding to the sword base of the sword SW1 are shown.
- the second stage recognition processing unit 132 recognizes the center position P_T_1 of the bounding box BB_T_1 as the global 2D coordinates of the sword tip of the sword SW1 and the bounding box.
- the center position P_G_1 of BB_G_1 is recognized as the global 2D coordinates of the sword base of the sword SW1. Further, in FIG.
- a bounding box BB_T_2 corresponding to the tip of the sword SW2 possessed by the athlete FP2 and a bounding box BB_G_2 corresponding to the sword base of the sword SW1 are shown.
- the second stage recognition processing unit 132 recognizes the center position P_T_2 of the bounding box BB_T_2 as the global 2D coordinates of the sword tip of the sword SW2, and the bounding box.
- the center position P_G_2 of BB_G_2 is recognized as the global 2D coordinates of the sword base of the sword SW2.
- the second stage recognition processing unit 132 performs the sword tip / sword source 2D recognition processing.
- the detailed process of the sword tip / sword source 2D recognition process will be described later.
- the recognition result output processing unit 133 of the recognition processing unit 130 adds metadata (data including the camera ID and frame ID) for identifying the captured 2D image corresponding to the result of the sword tip / sword source 2D recognition processing. Then, it is supplied to the 3D configuration processing unit 140 (S207).
- the 3D configuration processing unit 140 aggregates the results of the sword tip / sword source 2D recognition process for each time series (frame ID), estimates the 3D coordinates of the sword tip and sword source of each player, and estimates the estimated results. It is acquired and supplied to the visual processing apparatus 200 (S208).
- step S206 the details of the sword tip / sword source recognition process in step S206 will be described with reference to the flowchart of FIG.
- the global 2D coordinate pair of the sword tip / sword base is acquired for each sword (for each competitor) from one or two sword neighborhood image obtained from the 2D image captured by one attention camera.
- the processing to be performed is shown.
- the processing of the flowchart of FIG. 17 also includes a process of determining which player's sword tip is the sword tip of each detected sword tip / sword base for each captured 2D image.
- the second stage recognition processing unit 132 recognizes the bounding boxes of the sword tip and the sword base from the supplied images of the vicinity of each sword (S301).
- the specific processing in which the second stage recognition processing unit 132 recognizes the bounding box of the sword tip and the sword base is not limited, but for example, a discriminator using a learning model trained using teacher data in advance.
- (AI) may be used for recognition.
- Various AI-based object detection classifiers can be applied to the process of recognizing the bounding boxes of the sword tip and the sword base, but in this embodiment, as described above, the object detection classifier of YOLOv3 is used. explain.
- the sword tip and the sword base are each reflected in the range of 0 to 2. Therefore, the second stage recognition processing unit 132 shall acquire up to two bounding boxes for the sword tip and the sword base in the order of certainty from each sword neighborhood area image.
- the second stage recognition processing unit 132 may exclude the bounding box having a certainty level of less than a predetermined value from the recognition result of the sword tip / sword source.
- two sword tip bounding boxes BB_T_1 and BB_T_1 and one sword base bounding box BB_G_1 are detected from the image of the sword neighborhood area A_SW_1. Further, in the example of FIG. 20, two sword tip bounding boxes BB_T_3 and BB_T_4 and one sword base bounding box BB_G_2 are detected from the image of the sword neighborhood region A_SW_2. As shown in FIG. 20, a plurality of sword tip and / or sword base bounding boxes may be detected from a region near one sword.
- the second stage recognition processing unit 132 acquires the global 2D coordinates of the center positions of the bounding box of the sword tip and the sword base detected in the respective sword neighborhood image (S302).
- the second stage recognition processing unit 132 determines in the process of step S301 whether or not there is a sword neighborhood image in which a plurality of sword tips and / or sword source bounding boxes are detected (S303), and a plurality of sword tips. And / or, if there is a sword neighborhood area image in which the bounding box of the sword is detected, the operation is performed from step S304 described later, and if not, the operation is performed from step S305 described later.
- the second stage recognition processing unit 132 merges when there is a combination in which the distance is less than the threshold value for the global 2D coordinates of the sword tip and the sword base detected in the respective sword neighborhood region images (recognition result of either one). (S304).
- the threshold value to be set at this time is not limited, but it is desirable to set a suitable value in advance in consideration of the measurement error based on the image by an experiment or the like.
- the second stage recognition processing unit 132 may abstract the result of the two bounding boxes BB_T_1 and BB_T_4, whichever has the lower certainty.
- the second stage recognition processing unit 132 performs a process of determining which player's sword corresponds to the detected sword tip / sword source (hereinafter, referred to as “left / right determination process”). (S305), the processing of this flowchart is terminated.
- the second stage recognition processing unit 132 sets the global 2D coordinates of each sword tip (each sword tip after the merge process) to the dispatcher 120, and sets the dispatcher 120 to an area including each sword tip and its vicinity (hereinafter, "sword tip neighborhood area”).
- An image obtained by cropping (referred to as “sword tip neighborhood image”) is acquired (S401).
- the dispatcher 120 acquires an image of a predetermined size (fixed size) having the same center position as the bounding box of each sword tip from the captured 2D image as a region image near the sword tip.
- the size of the bounding box varies depending on the result of the sword tip recognition processing, but it is desirable that the image in the vicinity of the sword tip has a predetermined fixed size suitable for the subsequent processing.
- the length in the vertical direction (vertical direction) of the region image near the tip of the sword is represented as "V_T”
- the length in the horizontal direction (horizontal direction) of the region image near the tip of the sword is represented as "H_T”. That is, the image in the vicinity of the tip of the sword is an image having a size of V_T ⁇ H_T.
- the size (V_T, H_T) of the sword tip neighborhood image is not limited, but for example, it is desirable that the sword tip neighborhood image is set so that a portion of about 10 cm from the tip of the sword is reflected in the sword tip neighborhood image.
- the sword tip neighborhood regions A_T_1 and A_T_2 corresponding to the sword tip bounding boxes BB_T_1 and BB_T_2 of the swords SW1 and SW2 are shown, respectively.
- the sword tip neighborhood regions A_T_1 and A_T_2 are V_T ⁇ H_T size regions having the same center positions as the bounding boxes BB_T_1 and BB_T_2 and P_T_1 and P_T_2.
- the second stage recognition processing unit 132 inputs the acquired images of each sword tip neighborhood region into the third classifier 163, and the angle at which the sword tip faces corresponding to each sword tip neighborhood region image (hereinafter, “sword tip angle”). ”) Is acquired (S402).
- the sword tip angle is assumed to be an angle that changes between ⁇ 180 ° and + 180 °.
- the sword tip angle changes clockwise with the upward direction (+ Z direction) as 0 °
- the right direction (+ X direction) is + 90 °
- the sword tip angle changes in the negative direction counterclockwise with the upward direction as 0 °, and becomes ⁇ 90 ° in the left direction (-X direction) and ⁇ 180 ° in the downward direction.
- FIG. 22 the sword tip angle changes in the negative direction counterclockwise with the upward direction as 0 °, and becomes ⁇ 90 ° in the left direction (-X direction) and ⁇ 180 ° in the downward direction.
- the sword tip angle of the sword SW1 of the first player FP1 located on the left side is usually a positive angle
- the sword tip angle of the sword SW2 of the second player FP2 located on the right side Is usually a negative angle. That is, the sword tip with a positive sword tip angle can be judged as the sword tip of the sword SW1 of the first player FP1, and the sword tip with a positive sword tip angle can be judged as the sword tip of the sword SW2 of the second player FP2.
- the third classifier 163 shall determine the input sword tip neighborhood image in a predetermined angle unit grid for a predetermined range between ⁇ 180 ° and + 180 °.
- the angle gridded when the third classifier 163 determines the sword tip angle will be referred to as a "grid angle”.
- the third classifier 163 determines the input sword tip neighborhood image by a grid angle that changes in units of 10 ° in the range of ⁇ 170 ° to ⁇ 10 ° and + 10 ° to + 170 °. And.
- the third classifier 163 refers to the input image near the tip of the sword at ⁇ 170 °, ⁇ 160 °,..., ⁇ 20 °, ⁇ 10 °, + 10 °, + 20 °,..., + 160 °. , + 170 ° It is assumed that the process of classifying into one of the grid angles is performed.
- the number and intervals of grid angles are not limited. That is, a learning model machine-learned using the teacher data (sample of the image in the vicinity of the sword tip and the correct answer data of the sword tip angle) corresponding to each grid angle is applied to the third classifier 163.
- the third classifier 163 determines -50 ° as the sword tip angle.
- the second stage recognition processing unit 132 (third classifier 163) identifies the sword tip angle for each sword tip neighborhood image.
- the second stage recognition processing unit 132 confirms the number of detected sword tips / swords (sword tips / swords remaining after the merge process in step S304 described above) (S403), and one set of sword tips / swords. If only one pair is detected (when only one or both of the sword tip and the sword source is detected after merging), the process proceeds to step S404 described later, and two pairs of the sword tip / sword source are detected. In the case of (when two sword tips and two sword bases are detected after merging), the process proceeds to step S405 described later.
- step S404 When the detected sword tip / sword source is only one pair of sword tip / sword source in step S403 described above, which sword SW1 or SW1 corresponds to the sword tip of the pair based only on the sword tip angle.
- the determination process (left / right determination process) is performed (S404), and the process of this flowchart is completed. For example, when the sword tip angle of the sword tip of the pair is positive, it may be determined that the sword tip / sword base of the pair belongs to SW1 of the first player FP1 on the left side.
- each sword tip / sword source is based on the sword tip angle of each sword tip and the global 2D coordinates of each sword tip / sword source.
- the correct combination of the sword tip / sword base is determined, and the sword tip angle of each sword tip is used to determine which of the swords SW1 and SW2 is supported (S405).
- the second stage recognition processing unit 132 connects the global 2D coordinates of the position of the sword base and the global 2D coordinates of the position of the sword tip (hereinafter, referred to as “vector ⁇ a”; the following (1)).
- the correct combination of the sword tip / is the combination in which the inner product ( ⁇ a ⁇ ⁇ b) of the vector in the direction of the sword tip angle (hereinafter referred to as “vector ⁇ b”; see the following formula (2)) is larger.
- the second stage recognition processing unit 132 may perform left / right determination processing according to the position of each sword base.
- the second stage recognition processing unit 132 determines that the sword element on the -X direction side is the sword element of the sword SW1 possessed by the first player FP1, and determines that the sword element on the + X direction side is the sword element of the second competition. It may be determined that the sword is the origin of the sword SW2 possessed by the person FP2. This is a judgment process based on the tendency that the fencing sword has a high probability that the sword base exists on the extension line of the sword tip angle from the position of the sword tip.
- ⁇ a (position of the tip of the sword)-(position of the base of the sword)... (1)
- ⁇ b Unit vector with the angle as the sword tip angle ⁇ _T ... (2)
- the sword tip angles corresponding to P_T_1 and P_T_3 as the global 2D coordinates of the sword tip are + 50 ° and ⁇ 50 °, respectively.
- step S405 the second stage recognition processing unit 132 narrows down the combination of the sword tips P_T_1 and P_T_3 and the swords P_G_1 and P_G_2 to any of the two patterns.
- the second stage recognition processing unit 132 determines the sword source corresponding to the sword tip P_T_1 to be either P_G_1 or P_G_2.
- the second stage recognition processing unit 132 uses the internal product of ⁇ a and ⁇ b ( ⁇ a ⁇ ⁇ b) when ⁇ b is a unit vector in the direction of 50 ° and ⁇ a is a vector passing through P_T_1 and P_G_1.
- the second stage recognition processing unit 132 determines in step S405 that the pair of the sword tip P_T_1 and the sword source P_G_1 and the pair of the sword tip P_T_3 and the sword source P_G_2 are correct. Since the sword source P_G_1 is in the -X direction (left side) from the sword source P_G_1, the pair of the sword tip P_T_1 and the sword source P_G_1 is judged to be the sword SW1 of the player FP1, and the pair of the sword tip P_T_3 and the sword source P_G_1 is played. It will be judged as the sword SW2 of the person FP2.
- the 3D configuration processing unit 140 acquires the camera calibration parameters for each camera 30 (for each camera ID) from the calibration processing unit 150. Further, the 3D configuration processing unit 140 obtains the result of the motion recognition processing by the recognition processing unit 130 for each time series (for each frame ID) (global 2D coordinates of the sword tip / sword base corresponding to each camera 30 (each attention camera)). get. The 3D configuration processing unit 140 is based on the camera calibration parameter for each camera 30 and the result of the motion recognition processing for each time series, and the sword tip / sword source of each sword SW1 and SW2 of each player FP1 and FP2 for each time series. Performs the process of estimating the 3D coordinates of.
- the 3D configuration processing unit 140 acquires the global 2D coordinates of the sword tip / sword base on the captured 2D image captured by each attention camera from the result of the motion recognition processing, and camera calibrates the acquired global 2D coordinates. It is converted into 3D coordinates (hereinafter referred to as "sample 3D coordinates") based on the image parameters. That is, in the 3D configuration processing unit 140, sample 3D coordinates corresponding to the maximum number of cameras of interest are acquired for each of the sword tip / sword base (sword tip x 2 points, sword base x 2 points) of each sword SW1 and SW2. It will be.
- the 3D configuration processing unit 140 performs a process of acquiring the 3D coordinates to be obtained from the plurality of sample 3D coordinates obtained for each of the sword tip / sword base of each sword SW1 and SW2.
- the specific calculation method of the process of acquiring the actual 3D coordinates from the sample 3D coordinate group is not limited, and various methods can be applied.
- the 3D configuration processing unit 140 calculates a ray vector on the 3D space CS (real space) from each attention camera to each 3D coordinate sample, and finds a point at which the plurality of ray vectors are likely to intersect. / It may be acquired as the 3D coordinates of the sword.
- the 3D configuration processing unit 140 excludes a sample that can be estimated as an outlier by using an algorithm (solving method) such as RANSAC (Random Sample Consensus) from the sample 3D coordinate group so as to obtain more accurate 3D coordinates. May be good.
- algorithm such as RANSAC (Random Sample Consensus)
- the 3D coordinates of the sword tip / sword base of each athlete's sword SW1 and SW2 for each time series (hereinafter referred to as "sword tip / sword base 3D coordinate"). Is acquired, and the 3D configuration processing unit 140 supplies the acquired sword tip / sword source 3D coordinates for each time series to the visual processing device 200.
- the adapter 210 acquires the captured 2D image captured by each camera of interest from the switch control unit 110 of the recognition processing device 100, and also from the 3D configuration processing unit 140 of the recognition processing device 100 for each time series (for each frame ID). Get the 3D coordinates of the sword tip / sword source. The adapter 210 also acquires a signal from the referee 40. Then, the adapter 210 supplies each acquired data to the visual processing unit 220.
- the visual processing unit 220 adds an image based on the sword tip / sword source 3D coordinates for each time series and the signal from the referee 40 (hereinafter, referred to as “effect image”) to the captured 2D image or the processed image of the captured 2D image. Generates and outputs a rendered image (hereinafter referred to as "output image").
- the visual processing unit 220 renders, for example, an image from an arbitrary viewpoint around each competitor FP1 and FP2 (hereinafter, referred to as a "free viewpoint image”) based on the captured 2D image for each time series, and the free viewpoint image.
- An image obtained by further rendering an effect image on the image may be used as an output image (visually processed image).
- FIG. 24 is a diagram showing an example of an output image.
- the free viewpoint image includes an effect image G_E_001 showing the trajectory of the sword tip of the sword SW1 possessed by the left player FP1 and a sword SW2 possessed by the right player FP2.
- the effect image G_E_002 showing the trajectory of the tip of the sword and the effect image G_E_003 showing that the swords SW1 and SW2 are in contact with each other are rendered.
- (A-3) Teacher data generation process Next, a teacher data processing device 60 that generates teacher data used for machine learning of the first classifier 161 and the second classifier 162, and the third classifier 163. (Including the teacher data processing program and the teacher data processing method according to the embodiment) will be described.
- the teacher data processing device 60 may be included in the visualization system 1 itself, but will be described here as a separate configuration for convenience.
- FIG. 25 is a diagram showing a functional configuration of the teacher data processing device 60.
- the teacher data processing device 60 is a device that performs processing for generating teacher data used for machine learning of the first classifier 161 and the second classifier 162, and the third classifier 163.
- cameras 70 (70-1 to 70-8) for capturing a sample image applied to the teacher data are arranged in the teacher data processing device 60.
- the number of cameras 70 is not limited.
- FIG. 26 is a diagram showing an example of an environment in which the camera 70 is installed.
- FIG. 26 illustrates a state in which two athletes FP1 and FP2 possess the same swords SW1 and SW2 as in an actual fencing match, respectively.
- each camera 70 is arranged so as to surround the area where the athletes FP1 and FP2 are located as shown in FIG. 26.
- the specific arrangement position of each camera 70 is not limited.
- the operator manually manually captures a sample image captured by each athlete FP1 and FP2 in possession of the swords SW1 and SW2 (the state shown in FIG. 26). It accepts input of position information (hereinafter, also referred to as "sample position information") of a position (global 2D coordinates).
- the teacher data processing device 60 has a sample image processing unit 610, a sample position information processing unit 620, a teacher data generation unit 630, and a sample position input reception unit 640.
- Each element constituting the teacher data processing device 60 may be configured by software using a computer, or a part or all thereof may be configured by using hardware (for example, a dedicated semiconductor chip). You may do it.
- the teacher data processing device 60 is configured by installing a program (including the teacher data processing program according to the embodiment) on one or more computers. That is, the number of hardware (computers) constituting the teacher data processing device 60 is not limited, and it may be composed of a plurality of hardware groups.
- the sample image processing unit 610 performs a process of acquiring a sample image based on the 2D image captured by the camera 70.
- the sample image processing unit 610 supplies the 2D image captured by each camera 70 to the sample position input receiving unit 640 as it is and displays it.
- the sample position input reception unit 640 presents a sample image to the operator and performs a process of accepting input of sample position information (position of each sword tip / sword base) for the presented sample image.
- the interface when the sample position input receiving unit 640 receives the input of the sample position information from the operator is not limited.
- the sample position input receiving unit 640 may use a device such as a touch panel display or a mouse / display (not shown) to present the sample image to the operator and accept the input of the sample position information.
- FIG. 27 is a diagram showing an example of an operation screen when the sample position input receiving unit 640 receives input of sample position information for a sample image from the operator.
- the sample position input receiving unit 640 presents an operation screen displaying a sample image as shown in FIG. 27A to the operator, and uses an input device (for example, a mouse or a touch panel) (not shown) to show FIG. 27 (a).
- an input device for example, a mouse or a touch panel
- FIG. 27 (b) the input of the position (sample position information) of each sword base / sword tip may be accepted.
- FIG. 27 (b) a diamond-shaped symbol is illustrated in the portion where labeling is received.
- the sample position input reception unit 640 converts the received position of each sword tip / sword base into 2D coordinates (global 2D coordinates) on the 2D image, acquires it as sample position information, and supplies it to the sample position information processing unit 620.
- the sample position input receiving unit 640 needs to distinguish between the position of the sword tip and the position of the sword base and accept the input. For example, when the sample position input receiving unit 640 receives the input of the position of the sword tip / sword base, the sample position input receiving unit 640 may accept the selection input of whether the position is the sword tip or the sword base.
- the sample position information processing unit 620 has a function of acquiring sample position information and supplying it to the teacher data generation unit 630.
- the sample position information processing unit 620 supplies the sample position information supplied from the sample position input reception unit 640 to the teacher data generation unit 630.
- the teacher data generation unit 630 associates the sample image acquired from the sample image processing unit 610 with the sample position information acquired from the sample position information processing unit 620 and stores it as teacher data.
- the teacher data generated by the teacher data generation unit 630 may be applied as it is.
- the second classifier 162 when machine learning is performed, an image obtained by cropping a rectangular area including a sword part (a part including the sword tip and the sword base) and a region in the vicinity thereof in a sample image of teacher data is obtained. It may be applied by replacing it as a sample image of teacher data.
- the third classifier 163 at the time of machine learning, the image obtained by cropping the rectangular area including the sword tip portion and the area in the vicinity thereof among the sample images of the teacher data is replaced with the sample image of the teacher data. It may be applied.
- the first classifier 161, the second classifier 162, and the third classifier 163 may be equipped with a function of machine learning to generate a learning model, or a function of machine learning may be provided separately. It may be constructed as a component (separate device). Further, the teacher data processing device 60 itself is executed including processing of teacher data for each of the first classifier 161, the second classifier 162, and the third classifier 163 and the process of generating a learning model by machine learning. May be provided.
- the recognition processing device 100 of this embodiment acquires a sword neighborhood image based on the result of recognizing the position of the entire sword from the 2D captured image, and further recognizes the sword tip / sword base from the sword neighborhood image. In this way, in the recognition processing device 100, by recognizing the sword tip / sword source in two stages, the sword tip / sword source can be recognized more accurately and efficiently than directly recognizing the sword tip / sword source from the 2D captured image. It can be detected.
- the left / right judgment processing of the sword tip / sword base is realized by using the sword tip angle.
- the recognition processing device 100 of this embodiment uses a resized image in which the resolution of the 2D captured image is coarsened when recognizing the entire sword in the first stage, more efficient detection of the sword tip / sword base can be performed. It can be carried out.
- the calibration of each camera 30 in the recognition processing device 100 is performed by using the calibration object 50.
- LED lamps 521-1 to 521-3 are attached to a hanging portion 52 suspended from a tripod 51, and a weight 522 is attached to the lower end.
- the positions of the LED lamps 521-1 to 521-3 can be accurately and easily stopped vertically on the reference position (the position under the weight 522). That is, in this embodiment, by applying the calibration object 50 to the calibration, a good calibration result can be obtained in a short time.
- the recognition processing device 100 has been described as a device that performs both calibration control processing and 3D image imaging processing of each device, but is configured as a device that only performs calibration.
- the processing of 3D image imaging may be performed by another device. That is, it is natural that the calibration control process and the 3D image imaging control process may be configured as separate devices (separate programs).
- the visualization system and the recognition processing device of the present invention are applied to the processing for recognizing the movement including the fencing sword, but the sword technique using other rod-shaped instruments such as kendo. It may be applied to system competitions and performances (for example, when performing dances and performances while holding a sword). That is, in the above embodiment, in order to apply the visualization system and the recognition processing device of the present invention to the fencing competition, it is assumed that there are two sword holders (competitors), but the present invention When the visualization system and the recognition processing device are applied to a performance or the like, the number of swords to be recognized and the number of sword holders is not limited to 2, and may be 1 or 3 or more.
- 1 ... Visualize system, 100 ... Recognition processing device, 110 ... Switch control unit, 120 ... Dispatcher, 130 ... Recognition processing unit, 131 ... First stage recognition processing unit, 132 ... Second stage recognition processing unit, 133 ... Recognition result Output processing unit, 140 ... 3D configuration processing unit, 140 ... recognition processing unit 3D configuration processing unit, 150 ... calibration processing unit, 161 ... first classifier, 162 ... second classifier, 163 ... third identification Vessel, 200 ... Visual processing device, 210 ... Adapter, 220 ... Visual processing unit, 20, 20-1, 20-2 ... LiDar sensor, 20-2 ... LiDar sensor, 30, 30-1 to 30-24 ... Camera, 40 ... Referee device, 50 ...
- Calibration object 51 ... Tripod, 52 ... Hanging part, 53 ... Power supply part, 54 ... Lead wire, 512, 513, 514 ... Leg part, 511 ... Cloud stand part, 521, 521- 1 to 521-3 ... LED lamp, 522 ... Weight, 523 ... Hanging member, 60 ... Teacher data processing device, 610 ... Sample image processing unit, 620 ... Sample position information processing unit, 630 ... Teacher data generation unit, 640 ... Sample position input reception unit, 70, 70-1 to 70-4 ... Camera, SW, SW1, SW2 ... Sword.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Physical Education & Sports Medicine (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Analysis (AREA)
Abstract
【課題】 棒形状の器具を所持した所持者についてマーカを用いずに所持者が所持する器具を含む動作を認識することができる。 【解決手段】 本発明は、認識処理装置の認識処理結果を用いた画像処理を行うビジュアライズシステムに関する。そして、本発明の認識処理装置は、棒形状の器具を所持する1又は複数の所持者を複数の撮像装置で撮像された撮像画像で器具が写っている位置を認識し、器具とその近傍のみを含む器具近傍領域の器具近傍領域画像を取得し、それぞれの器具近傍領域画像から、器具の所定部分が写っている位置を認識し、撮像画像上で所定部分の位置に対応する2D座標を取得し、それぞれの撮像画像に基づいて2D座標認識手段が認識した所定部分の2D座標を、所持者が存在する3D空間上の3D座標に変換して取得し、取得した所定部分の3D座標に基づき、3D空間内における所定部分の位置に対応する3D座標を認識して取得することを特徴とする。
Description
本発明は、認識処理装置、認識処理プログラム、認識処理方法、及びビジュアライズシステムに関し、例えば、剣術系の競技(例えば、フェンシング、剣道等のスポーツや武道)において競技者(所持者)が所持する器具(例えば、剣、刀/竹刀等)を含む認識処理を伴うシステムに適用し得る。
従来、剣術系の競技において競技者の動作を認識する技術としては、特許文献1の記載技術が存在する。
特許文献1の記載技術では、4色以下のカラーマーカが装着された競技者の体を撮像することにより、着衣の色又は照明環境によらず、競技者の動作解析を行う。
しかしながら、従来は、特許文献1の記載技術のように、剣術系の競技において競技者の動作を認識する際には、競技者に動作を認識するための目印となるマーカを取り付ける必要があった。競技者にマーカを取り付けることで、競技者の動作を認識しやすくすることができるが、マーカ自体が競技の妨げとなるため、正規の試合や大会で適用することができない等の問題が存在する。
上記のような問題に鑑みて、剣術系の競技において、マーカを用いずに競技者が所持する器具を含む動作を認識することができる認識処理装置、認識処理プログラム、認識処理方法、及びビジュアライズシステムが望まれている。
第1の本発明の認識処理装置は、(1)棒形状の器具を所持する1又は複数の所持者を複数の撮像装置で撮像された撮像画像のそれぞれについて、前記器具が写っている位置を認識する器具認識処理を行う器具認識手段と、(2)それぞれの前記撮像画像から、前記器具認識処理の結果を利用して、前記器具とその近傍のみを含む器具近傍領域の器具近傍領域画像を取得する第1の画像取得手段と、(3)それぞれの前記器具近傍領域画像から、前記器具の所定部分が写っている位置を認識する器具部分認識処理を行う器具部分認識手段と、(4)前記器具部分認識処理の結果に基づいて、前記撮像画像上で前記所定部分の位置に対応する2D座標を取得する2D座標認識手段と、(5)それぞれの前記撮像画像に基づいて前記2D座標認識手段が認識した前記所定部分の2D座標を、前記所持者が存在する3D空間上の3D座標に変換して取得し、取得した前記所定部分の3D座標に基づき、前記3D空間内における前記所定部分の位置に対応する3D座標を認識して取得する3D座標認識手段とを有することを特徴とする。
第2の本発明の認識処理プログラムは、コンピュータを、(1)棒形状の器具を所持する1又は複数の所持者を複数の撮像装置で撮像された撮像画像のそれぞれについて、前記器具が写っている位置を認識する器具認識処理を行う器具認識手段と、(2)それぞれの前記撮像画像から、前記器具認識処理の結果を利用して、前記器具とその近傍のみを含む器具近傍領域の器具近傍領域画像を取得する第1の画像取得手段と、(3)それぞれの前記器具近傍領域画像から、前記器具の所定部分が写っている位置を認識する器具部分認識処理を行う器具部分認識手段と、(4)前記器具部分認識処理の結果に基づいて、前記撮像画像上で前記所定部分の位置に対応する2D座標を取得する2D座標認識手段と、(5))それぞれの前記撮像画像に基づいて前記2D座標認識手段が認識した前記所定部分の2D座標を、前記所持者が存在する3D空間上の3D座標に変換して取得し、取得した前記所定部分の3D座標に基づき、前記3D空間内における前記所定部分の位置に対応する3D座標を認識して取得する3D座標認識手段として機能させることを特徴とする。
第3の本発明は、認識処理装置が行う認識処理方法において、(1)前記認識処理装置は、器具認識手段、第1の画像取得手段、器具部分認識手段、2D座標認識手段、及び3D座標認識手段を有し、(2)前記器具認識手段は、棒形状の器具を所持する1又は複数の所持者を複数の撮像装置で撮像された撮像画像のそれぞれについて、前記器具が写っている位置を認識する器具認識処理を行い、(3)前記第1の画像取得手段は、それぞれの前記撮像画像から、前記器具認識処理の結果を利用して、前記器具とその近傍のみを含む器具近傍領域の器具近傍領域画像を取得し、(4)前記器具部分認識手段は、それぞれの前記器具近傍領域画像から、前記器具の所定部分が写っている位置を認識する器具部分認識処理を行い、(5)前記2D座標認識手段は、前記器具部分認識処理の結果に基づいて、前記撮像画像上で前記所定部分の位置に対応する2D座標を取得し、(6)前記3D座標認識手段は、それぞれの前記撮像画像に基づいて前記2D座標認識手段が認識した前記所定部分の2D座標を、前記所持者が存在する3D空間上の3D座標に変換して取得し、取得した前記所定部分の3D座標に基づき、前記3D空間内における前記所定部分の位置に対応する3D座標を認識して取得することを特徴とする。
第4の本発明は、棒形状の器具を所持する1又は複数の所持者を複数の撮像装置と、それぞれの前記撮像装置が撮像した撮像画像に基づいて前記所持者が所持する前記器具の位置を認識する認識処理装置と、前記認識処理装置が行った認識処理の結果に基づいて前記撮像画像又は前記撮像画像を加工した画像に前記器具の位置に応じた画像を合成した合成画像を生成するビジュアル処理装置とを有するビジュアライズシステムであって、前記認識処理装置として第1の本発明の認識処理装置を適用したことを特徴とする。
本発明によれば、棒形状の器具(例えば、フェンシング等の剣術系の競技で用いられる剣)を所持する所持者(例えば、フェンシング等の競技者)について、マーカを用いずに所持者が所持する器具を含む動作を認識することができる。
(A)主たる実施形態
以下、本発明による認識処理装置、認識処理プログラム、認識処理方法、及びビジュアライズシステムの一実施形態を、図面を参照しながら詳述する。
以下、本発明による認識処理装置、認識処理プログラム、認識処理方法、及びビジュアライズシステムの一実施形態を、図面を参照しながら詳述する。
(A-1)実施形態の構成
図1は、この実施形態のビジュアライズシステム1の全体構成を示すブロック図である。
図1は、この実施形態のビジュアライズシステム1の全体構成を示すブロック図である。
ビジュアライズシステム1は、フェンシングの競技者について剣を含む動作を認識する処理(以下、「動作認識処理」と呼ぶ)を行い、動作認識処理の結果に基づいて競技者を撮像した画像を処理するシステムである。
ビジュアライズシステム1は、動作認識処理を行う認識処理装置100、競技中に競技者が位置する領域(以下、「競技領域」と呼ぶ)における競技者の位置を検知(光学的に検知)する2台のLiDarセンサ20(20-1、20-2)、ビジュアル処理を行うビジュアル処理装置200と、競技領域を含む領域を撮像する24台のカメラ30(30-1~30-24)、及び競技者の有効な攻撃(競技のルール上有効な攻撃)を電気的に検出する審判器40を有している。なお、LiDarセンサ20及びカメラ30を設置する台数は上記の数に限定されないものである。
各カメラ30としては、動画撮像が可能な種々のデジタルカメラを適用することができる。ここでは、カメラ30は、4K60Pの動画撮影が可能なデジタルカメラであるものとする。ビジュアライズシステム1において、各カメラ30には、固有のカメラIDが付与されているものとする。ここでは、カメラ30-1~30-24にはそれぞれ1~24のカメラIDが付与されているものとする。また、ビジュアライズシステム1では、各カメラ30で撮像される画像(フレーム)について時系列を特定するフレームIDが付与されているものとする。各カメラ30において同一時系列の画像には同一のフレームIDが付与されるように同期した管理がなされているものとする。すなわち、ビジュアライズシステム1では、カメラIDとフレームIDにより、いずれのカメラ30でいつの時点で撮像されたフレームであるかを特定することが可能となっているものとする。
図2は、ビジュアライズシステム1で、処理される3D空間CSのモデル(構成例)について示した斜視図である。
3D空間CSは、図2に示すように、互いに直交する3つの軸(X軸、Y軸、Z軸)の座標系により位置が定まる空間である。以下では、各カメラ30で撮像される画像等二次元的な画像を「2D画像」と呼び、2D画像上の各座標(2次元座標)の画素をそれぞれ2D画素と呼ぶものとする。
図2に示すように、3D空間CSでは、床面FRに設定された原点P0を基準とする座標系が設定されている。3D空間CSでは、原点P0を基準として、図2の方向から見て右方向が+X方向、左方向が-X方向、手前側の方向が-Y方向、奥側の方向が+Y方向、上方向が+Z方向、下方向が-Z方向となっている。以下では、3D空間CS内の座標を示す場合(X,Y,Z)の形式で示すものとする。例えば、X軸の位置が1、Y軸の位置が1、Z軸の位置が1の座標は(1,1,1)と表されるものとする。したがって、原点P0の座標は(0,0,0)となる。3D空間CSの各3D座標に対応する実際の位置(原点P0からの物理的な距離(実寸))は、3D空間CSにおける3D画像の解像度(各3D画素の実寸)に応じた位置となる。例えば、各3D画素のX軸方向の実寸が5mmであった場合、座標(1,0,0)に対応する物理的な位置は、原点P0から右方向に5mmの位置ということになる。以上のように、3D空間CSの各座標は原点P0を基点とする実際の位置と対応付けられる。
図2では、床面FR上に、フェンシングの競技中にルール上競技者が存在を許されるピストを含む領域(以下、「競技領域」と呼ぶ)としてFB1が図示されている。競技領域FB1は、原点P0を中心点とするフェンシングのルールに従った長方形(矩形)の形状である。図2では、競技領域の各頂点の座標をP101、P102、P103、P104と図示している。競技領域FB1は、フェンシングのルール(ピストの形状に関するルール)に従う場合、短手方向の寸法が1.5m~2.0m、長手方向の寸法が17m~18m(ピストの全長14mに、3m~4mのランバック(ピストの延長部分)を加えた寸法)となる。ここでは、競技領域FB1の長手方向の寸法は18mとし、短手方向の寸法を2.0mであるものとして説明する。
以下では、図2に示すように、フェンシングの競技中に競技領域FB1に存在する第1の競技者を「FP1」と表し、第2の競技者を「FP2」と表すものとする。また、以下では、図2にしめすように、第1の競技者FP1が所持する剣(第1の競技者の剣)を「SW1」と表し、第2の競技者FP2が所持する剣(第2の競技者の剣)を「SW2」と表すものとする。以下では、図2の方から見て左側の競技者をFP1と表し、右側の競技者をFP2と表すものとする。
ここでは、図2に示すように、競技領域FB1の長手方向の辺はX軸と並行(短手方向の辺はY軸と並行)であるものとする。また、図2では、競技領域FB1の中心点(原点P0)を通りY軸と並行(競技領域FB1の短手方向の辺と並行)な中心線L1と、競技領域FB1の中心点(原点P0)を通りX軸と並行(競技領域FB1の長手方向の辺と並行)となる中心線L2を図示している。
また、図2では、床面FR上に、カメラ30により撮像が行われる際の目安となる領域(以下、「撮像領域」と呼ぶ)として競技領域FB1よりやや広い長方形(矩形)の領域FB2が図示されている。図2では、撮像領域FB2の各頂点の座標をP111、P112、P113、P114と図示している。ここでは、撮像領域FB2は、競技領域FB1と同じく原点P0を中心点とする長方形であるものとする。撮像領域FB2は、例えば、長手方向で競技領域FB1より2m長く、短手方向で0.5m長い領域としてもよい。
図3、図4は、それぞれビジュアライズシステム1におけるカメラ30及びLiDarセンサ20の配置位置の例について示した図(上側から見た図)である。
図3、図4に示すように、各カメラ30は、競技領域FB1の周囲を囲うように配置されている。図3、図4に示すように24台のカメラ30-1~30-24のうち、競技領域FB1から近距離の位置(中心線L2から8m程度の位置)に半分の12台のカメラ30-1~30-12が配置されており、競技領域FB1から遠距離の位置(中心線L2から30m程度の位置)に、もう半分の12台のカメラ30-13~30-24が配置されている。なお、カメラ30及びLiDarセンサ20の数や配置位置は、競技中に各競技者が所持する剣について死角が発生しないような構成とすることが望ましい。
まず、図3を用いて、近距離に配置されたカメラ30-1~30-12の配置例について説明する。
図3では、中心線L1から-X方向に距離D21、D22、D23、D24、D25離れた位置の線(Y軸と並行となる線)をそれぞれ線LL1、LL2、LL3、LL4、LL5と図示している。なお、図3に示すように、線LL4は、競技領域FB1の短手方向の辺(-X方向の辺)と一致する線であり、線LL5は撮像領域FB2の短手方向の辺(-X方向の辺)と一致する線である。
また、図3では、中心線L1から+X方向に距離D21、D22、D23、D24、D25離れた位置の線(Y軸と並行となる線)をそれぞれ線LR1、LR2、LR3、LR4、LR5と図示している。なお、図3に示すように、線LR4は、競技領域FB1の短手方向の辺(+X方向の辺)と一致する線であり、線LR5は撮像領域FB2の短手方向の辺(+X方向の辺)と一致する線である。
さらに、図3では、中心線L2から-Y方向に距離D11離れた位置の線(X軸と並行となる線)をL3、中心線L2から+Y方向に距離D11離れた位置の線(X軸と並行となる線)をL4と図示している。
図3に示すように、6台のカメラ30-1~30-6は、線L3に沿った位置P301~P306に配置されている。そして、図3に示すように線L3に沿った位置P301~P306は、それぞれX方向で線LL3、LL2、LL1、LR1、LL2、LL3の位置となっている。また、図3に示すように、6台のカメラ30-7~30-12は、線L4に沿った位置P307~P312配置されている。さらに、図3に示すように線L4に沿った位置P307~P312は、それぞれX方向で線LL3、LL2、LL1、LR1、LL2、LL3の位置となっている。
次に、図4を用いて、遠距離に配置されたカメラ30-13~30-24の配置例について説明する。
図4では、中心線L2から-Y方向に距離D31離れた位置の線(X軸と並行となる線)をL5、中心線L2から+Y方向に距離D32離れた位置の線(X軸と並行となる線)をL6と図示している。D31、D32は、30~40m程度であることが望ましい。
図4に示すように、6台のカメラ30-13~30-18は、線L5に沿った位置P313~P318となっている。また、図4に示すように、6台のカメラ30-19~30-24は、線L6に沿った位置P319~P324となっている。遠距離に配置されたカメラ30-13~30-24の高さは、床面FRから高さ5m~8m程度であるものとする。遠距離に配置されたカメラ30-13~30-24は、斜め上から各競技者を見下ろす位置とすることでシステム全体としての死角を低減できる。なお、遠距離に配置されたカメラ30-13~30-24は、ピストからの距離から必然的に観客席に設置することになるため床面FRよりも高い位置となる。遠距離に配置されたカメラ30-13~30-24の具体的な配置位置は、観客席の都合により詳細な位置を変更するようにしてもよい。
図4に示すように、カメラ30-13、30-14、30-19、30-20の位置P313、P314、P319、P320は、X軸方向で撮像領域FB2よりもやや-X方向に配置されている。なお、位置P313、P314は、実際には隣接した位置(ほぼ同じ位置)であることが望ましい。また、位置P319、P320は、実際には隣接した位置(ほぼ同じ位置)であることが望ましい。
また、図4に示すように、カメラ30-15、30-16、30-21、30-22の位置P315、P316、P321、P322は、X軸方向で撮像領域FB2の範囲内(LL5~LR5の範囲内)に配置されている。なお、位置P315、P316は、実際には隣接した位置(ほぼ同じ位置)であることが望ましい。また、位置P321、P322は、実際には隣接した位置(ほぼ同じ位置)であることが望ましい。
さらに、図4に示すように、カメラ30-17、30-18、30-23、30-24の位置P317、P318、P323、P324は、X軸方向で撮像領域FB2よりもやや+X方向に配置されている。なお、位置P317、P318は、実際には隣接した位置(ほぼ同じ位置)であることが望ましい。また、位置P323、P324は、実際には隣接した位置(ほぼ同じ位置)であることが望ましい。
次に、LiDarセンサ20-1、20-2の配置位置について説明する。
この実施形態において、LiDarセンサ20-1、20-2は、それぞれ位置P302とP303との間の位置201、位置P304とP305との間の位置202に配置されている。
次に、各カメラ30の設定(光軸の方向、焦点位置(焦点距離)、及び視野角)の例について説明する。
図5は、各カメラ30で主として撮像の対象となる空間(以下、「撮像空間」と呼ぶ)ISについて示した図(斜視図)である。
図5に示すように、撮像空間ISは、撮像領域FBを底面とし、高さ(Z軸方向の寸法)をH11とする空間である。H11の高さは競技者の身長に応じた寸法とすることが望ましい。例えば、高さH11は、3m~4m程度とするようにしてもよい。
すなわち、各カメラ30の光軸は撮像空間ISを通るように設定されることが望ましい。また、各カメラ30の焦点位置は、撮像空間ISの中に納まるように設定されることが望ましい。さらに、各カメラ30の視野には主として撮像空間ISが収まるような視野角が設定されることが望ましい。なお、以下では、各カメラ30の光軸に対応するベクトル(各カメラ30が撮像する視線際の視線のベクトル)を「視線ベクトル」とも呼ぶものとする。
なお、各カメラ30の設定は以下のようになされることで、各カメラ30で撮像される画像を総合した場合の死角を少なくすることができる。
以下では、撮像空間ISを、左から順に線LL3、LL2、LL1、LR1、LR2、LR3で区切った空間(以下、撮像空間ISが区切られた空間を「ブロック空間」と呼ぶものとする)。以下では、図3、図4に示すように、撮像空間ISを「線LL1と線LR1」で区切られたブロック空間をBCと表すものとする。また、以下では、図3、図4に示すように、「線LL1と線LL2」、「線LL2と線LL3」、「線LL3(線LL3と線LL5)」で区切られたブロック空間を、それぞれBL1、BL2、BL3と表すものとする。また、以下では、図3、図4に示すように、撮像空間ISを「線LR1と線LR2」、「線LR2と線LR3」、「線LR3(線LR3と線LR5)」で区切られたブロック空間を、それぞれBR1、BR2、BR3と表すものとする。
まず、図3を用いて、近距離に設置されたカメラ30-1~30-12の設定について説明する。
各カメラ30(30-1~30-12)は、図示しないレンズ部分(光軸の根本部分)の高さ(Z軸方向の寸法)が概ね競技者の胴体部分の高さ(例えば、約1m程度の高さ)となるように設置されているものとする。そして、各カメラ30(30-1~30-12)の光軸は、水平(X軸-Y軸により形成される平面と並行)となるように設定されているものとする。図3では、各カメラ30(30-1~30-12)を示す円形のシンボルから伸びる矢印(一点鎖線の矢印)が、各カメラ30の光軸(視線ベクトル)の方向を示している。図3に示すように各カメラ30(30-1~30-12)の光軸は、線L2と直交する方向に設定されているものとする。以上のように、各カメラ30(30-1~30-12)の光軸は、高さが概ね1mの位置から水平に線L2の方向(線L2により切断される面と直交する方向)に伸びていることが望ましい。
各カメラ30の焦点位置は、光軸と線L1(線L1により切断される面)との交点となるような焦点距離が設定されていることが望ましい。
各カメラ30の視野角は、主として光軸の左右に隣接する2つのブロック空間を含むように設定することが望ましい。例えば、カメラ30-1には、視野に主として光軸の左右に隣接する2つのブロック空間BL3、BL2が納まるような視野角が設定されることが望ましい。また、例えば、カメラ30-2には、視野に主として光軸の左右に隣接する2つのブロック空間BL2、BL1が納まるような視野角が設定されることが望ましい。以下、カメラ30-3~30-12についても同様であるため詳しい説明を省略する。
次に、図3~図5を用いて、遠距離に設置されたカメラ30-13~30-24の設定について説明する。
図3、図4に示すように遠距離に設置されたカメラ30-13~30-24の焦点位置は、原点P0、床面FR上で中心線L2と線LL1との交点である位置PL2、床面FR上で中心線L2と線LR1との交点である位置PR2のいずれかに設定されているものとする。したがって、距離に設置されたカメラ30-13~30-24の光軸もそれぞれの焦点位置の方向に設定されることになる。すなわち、ここでは、遠距離に設置されたカメラ30-13~30-24の焦点位置は、撮像空間IS内で左側の代表位置PL2と中央の代表位置原点P0と右側の代表位置PR2に分散して設定されている。ここでは、カメラ30-13、30-15、30-19、30-21の焦点位置が中央の左側の位置PL2に設定されているものとする。また、ここでは、カメラ30-14、30-17、30-20、30-23の焦点位置が中央の原点P0に設定されているものとする。さらに、ここでは、カメラ30-16、30-18、30-22、30-24の焦点位置が右側の位置PR2に設定されているものとする。
ここでは、焦点位置がPL2のカメラ30-13、30-15、30-19、30-21において、視野に主として左側のブロック空間BL3、BL2、BL1が含まれるような視野角が設定されているものとする。なお、カメラ30-13、30-15、30-19、30-21の視野には、左端のブロック空間BL3の全てが含まれている必要はなく、少なくとも競技領域FB1の左側の端部(線LL4)までの空間が含まれていればよい。
また、ここでは、焦点位置が原点P0のカメラ30-14、30-17、30-20、30-23において、視野に主として中央のブロック空間BL1、BC、BR1が含まれるような視野角が設定されているものとする。
さらに、ここでは、焦点位置がPR2のカメラ30-16、30-18、30-22、30-24において、視野に主として右側のブロック空間BL3、BL2、BL1が含まれるような視野角が設定されているものとする。なお、カメラ30-16、30-18、30-22、30-24の視野には、右端のブロック空間BR3の全てが含まれている必要はなく、少なくとも競技領域FB1の右側の端部(線LR4)までの空間が含まれていればよい。
次に、ビジュアライズシステム1のキャリブレーション(例えば、動作認識処理やビジュアル処理に必要となるキャリブレーション)の際に、基準として用いられるオブジェクト(以下、「キャリブレーションオブジェクト」と呼ぶ)について説明する。
図6は、ビジュアライズシステム1のキャリブレーションに用いることができるキャリブレーションオブジェクト50の斜視図である。
キャリブレーションオブジェクト50は、三脚51と、三脚51から吊り下げられた吊下げ部52とを有している。
三脚51は、種々のカメラ用の三脚を適用することができるため詳しい構成の説明を省略する。この実施形態の三脚51は、雲台部511と雲台部511を支持する3つの脚部512、513、514を有している。雲台部511と脚部512、513、514とを連結する構成については限定されないものであり種々のカメラ用の三脚と同様の構成(例えば、図示しない関節部材)を適用することができる。ここでは、脚部512、513、514は、それぞれ雲台部511と、図示しない関節部材により回動自在(間接部材の回転軸により回動自在)に取り付け(連結)されているものとする。すなわち、三脚51では、雲台部511に対する脚部512、513、514の角度の設定等により、雲台部511を任意の高さに設定することが可能である。
そして、吊下げ部52は、支持部としての雲台部511の下面から吊り下げられている。
なお、この実施形態では、吊下げ部52を所定の高さから吊り下げるための支持部材(吊下げ部52の上端を吊り下げるための支持部材)として三脚51を適用するものとして説明するが、三脚51以外の物を用いて吊下げ部52を所定の高さから吊り下げる支持手段を構成するようにしてもよい。例えば、脚立やクレーン等を用いて支持手段を構成するようにしてもよい。
吊下げ部52には、3つのLEDランプ521(521-1~521-3)が取り付けされている。LEDランプ521-1~521-3は、それぞれリード線54により電源部53に電気的に接続されている。この実施形態では、電源部53は三脚51に固定されているが、三脚51の配置位置や三脚51を支持する構成については限定されないものである。ただし、キャリブレーションオブジェクト50を使用する際に、電源部53及びリード線54が吊下げ部52の吊下げ(雲台部511から正確に鉛直下方向へ吊下げ部52を吊り下げること)の妨げとならないように配置・構成されていることが望ましい。例えば、リード線54は十分な余長をもって吊下げ部52と電源部53との間が接続されていることが望ましい。
なお、LEDランプ521-1~521-3の色は、緑色等撮像画像上検出しやすい色で発光するものであることが望ましい。
また、吊下げ部52の下側の端には、吊下げ部52の吊下げ(雲台部511から正確に鉛直下方向へ吊下げ部52を吊り下げること)を促すと共に吊下げ部52を静止させるために、錘522(重り)が取り付けされている。錘522は、いわゆる下げ振り用の錘を適用することができる。
すなわち、吊下げ部52は下げ振りの構成となっており、三脚51(雲台部511)から吊下げ部52を吊り下げることで、正確に錘522の位置の垂直上に、LEDランプ521-1~521-3を静止させることが可能な構成となっている。
そして、この実施形態では、図6に示すように、吊下げ部52では、上からLEDランプ521-1、521-2、521-3の順に取り付けされている。
図7は、吊下げ部52の詳細構成について示した図である。
図7では、雲台部511と吊下げ部52のみを正面からみた図(正面図)となっている。
図7に示すように、吊下げ部52では、細長い板形状(例えば、短手方向の幅が3cm程度)の吊下げ部材523に、LEDランプ521(521-1~521-3)が取り付けされている。LEDランプ521(521-1~521-3)は、それぞれ固定部材526(526-1~526-3)により吊下げ部材523の所定の位置に固定されている。固定部材526の構成については限定されないものであるが、例えば、粘着テープや結束部材(いわゆるタイラップ等)を適用することができる。また、LEDランプ521-1~521-3には、それぞれリード線54が接続されているため、この実施形態では、図7に示すようにLEDランプ521-1~521-3は、それぞれリード線54と共に固定部材526-1~526-3で吊下げ部材523に固定(巻き付け固定)されているものとする。なお、各LEDランプ521を吊下げ部材523に固定する方法は上記の方法に限定されないものであり、接着剤や固定用の治具等種々の方式を適用することができる。
吊下げ部材523の材質については限定されないものであるが、例えば、アルミニウム板やステンレス板等の高剛性の金属板を適用することができる。
吊下げ部材523の上端は、連結部材524を介して雲台部511の下面から連結(吊下げ)されている。吊下げ部材523の上端には、連結部材524を取り付けるための連結孔523aが形成されている。また、吊下げ部材523の下端には、連結部材525を介して錘522が吊下げられている。吊下げ部材523の下端には、連結部材525を取り付けるための連結孔523bが形成されている。
連結部材524、525は、例えば、図7に示すような鎖形状の部材(例えば、複数の環が連結された部材)や紐形状の部材等、吊下げ部52(吊下げ部材523)の正確な吊下げを促す(妨げない)ものを適用することが望ましい。
そして、図6では、錘522の下端からLEDランプ521-3までの寸法をD201、LEDランプ521-3からLEDランプ521-2までの寸法をD202、LEDランプ521-2からLEDランプ521-1までの寸法をD203と図示している。寸法D201、D202、D203は限定されないものであるが、ここでは、競技者の身長を考慮して、寸法D201+D202+D203=180cmとなるように設定されているものとする。具体的には、例えば、D201=0.3m、D202=1.0m、D203=0.5mに設定するようにしてもよい。
これにより、キャリブレーションオブジェクト50において、錘522の下端が、「床面FRにわずかに接触する位置」又は「床面FRとわずかな隙間が発生する位置」で静止させることで、LEDランプ521-1、521-2、521-3の高さをそれぞれ床面FRから0.3m、1.3m、1.8mとすることができる。このように、D201、D202、D203をそれぞれ異なる比率に設定することで、カメラ30が逆さまになった状態で撮像されたとしても、その画像から各LEDランプ521の位置を正確に把握することが可能となる。
例えば、図6に示すように、錘522の下端が原点P0で静止するようにキャリブレーションオブジェクト50を設置(三脚51を設置)することで、LEDランプ521-1、521-2、521-3の位置を、それぞれ原点P0の垂直上の所定の高さに位置させることができる。この場合、原点P0の位置は3D空間上で既知であるので、各LEDランプ521-1、521-2、521-3の位置も既知となる。
図8は、キャリブレーションオブジェクト50を、競技領域FB1内に設置した状態について示した図(斜視図)である。
ビジュアライズシステム1では、キャリブレーションオブジェクト50(吊下げ部52の錘522)を、3D座標が既知の位置(例えば、原点P0や原点P0との相対的な位置関係が明確な位置等)に設置して、各カメラ30で撮像させた2D画像を得ることにより、キャリブレーション(例えば、各カメラ30の2D画像上の2D座標と3D空間上の3D座標との変換係数を得る処理)を行うことができる。例えば、図8では、キャリブレーションオブジェクト50(吊下げ部52の錘522)を、原点P0に合わせて設置した状態について示している。ビジュアライズシステム1におけるキャリブレーション処理の詳細については後述する。
次に、認識処理装置100の内部構成について説明する。
図1では、認識処理装置100の機能的構成のブロック図も図示されている。
図1に示すように認識処理装置100は、機能的には、スイッチコントロール部110、ディスパッチャ120、認識処理部130、3D構成処理部140、及びキャリブレーション処理部150を有している。
認識処理装置100を構成する各要素は、それぞれコンピュータを用いてソフトウェア的に構成するようにしてもよいし、一部又は全部をハードウェア(例えば、専用の半導体チップ)を用いて構成するようにしてもよい。この実施形態では、認識処理装置100は1又は複数のコンピュータにプログラム(実施形態に係る認識処理プログラムを含む)をインストールすることにより構成されているものとする。すなわち、認識処理装置100を構成するハードウェア(コンピュータ)の数は限定されないものであり、複数のハードウェア群で構成される場合もあり得るものとする。
スイッチコントロール部110は、各カメラ30から供給される撮像画像の信号(映像信号;動画像信号)を受信し、一部又は全部の信号を後段のディスパッチャ120に供給する機能を担っている。スイッチコントロール部110は、LiDarセンサ20(20-1、20-2)の検知結果に基づいて、各競技者の位置を推定し、その結果に基づいて動作認識処理に用いるカメラ30を選択し、選択したカメラ30からの信号を後段(ディスパッチャ120)に供給(スイッチング)する。この実施形態の例では、スイッチコントロール部110は、同時に最大8つのカメラ30を選択するものとして説明する。なお、認識処理装置100において、常に全てのカメラ30からの信号について処理する前提であれば、スイッチコントロール部110やLiDarセンサ20の構成は省略するようにしてもよい。認識処理装置100では、スイッチコントロール部110やLiDarセンサ20を備えることで、常に競技者が視野内に映っていると推定されるカメラ30からの信号のみを処理することが可能(効率的なリアルタイム処理が可能)となる。
ディスパッチャ120は、スイッチコントロール部110から供給される各信号から、時系列ごとの撮像画像を取得し、取得した撮像画像又は撮像画像を加工した画像について後段(認識処理部130)に供給して動作認識処理を実行させる。
認識処理部130は、ディスパッチャ120から供給された撮像画像(2D画像)について動作認識処理を行い、動作認識処理による検出結果を後段の3D構成処理部140に供給する。具体的には、認識処理部130は、動作認識処理として、供給された撮像画像上で、各競技者の剣SW(SW1、SW2)の位置に関する認識(検出)処理を行うものであり、第1ステージ認識処理部131、第2ステージ認識処理部132、及び認識結果出力処理部133を有している。また、認識処理部130には、動作認識処理の過程で機械学習された学習モデルにより識別する第1の識別器161、第2の識別器162、及び第3の識別器163を有している。
3D構成処理部140は、認識処理部130から供給される動作認識処理の認識結果に基づいて、時系列ごとの各競技者の剣SW(SW1、SW2)の剣先及び剣元の3D座標(3D空間CS上の3D座標)を推定する処理(以下、「3D推定処理」とも呼ぶ)を行う。そして、3D構成処理部140は、時系列ごとの3D推定処理の結果をビジュアル処理装置200に供給する。
キャリブレーション処理部150は、各カメラ30で撮像された画像に基づいて、各カメラ30のキャリブレーション(内部パラメータ及び外部パラメータを取得する処理を含む)の処理を行う。キャリブレーション処理部150は、3D座標が既知の位置(例えば、原点P0や原点P0との相対的な位置関係が明確な位置等)に設置されたキャリブレーションオブジェクト50(マーカとして機能する点灯した各LEDランプ521を含む)を各カメラ30に撮像させた2D画像(以下、「キャリブレーション用画像」と呼ぶ)を取得すると、当該キャリブレーション用画像に基づいて各カメラ30のキャリブレーション処理を行う。例えば、キャリブレーション処理部150は、キャリブレーション用画像上のマーカ(点灯した各LEDランプ521)の位置と、それぞれのマーカの3D座標等に基づいてキャリブレーション処理を行う。キャリブレーション処理部150におけるキャリブレーション処理の詳細については後述する。
次に、ビジュアル処理装置200の内部構成について説明する。
図1では、ビジュアル処理装置200の機能的構成のブロック図も図示されている。
図1に示すようにビジュアル処理装置200は、機能的には、アダプタ210及びビジュアル処理部220を有している。
ビジュアル処理装置200を構成する各要素は、それぞれコンピュータを用いてソフトウェア的に構成するようにしてもよいし、一部又は全部をハードウェア(例えば、専用の半導体チップ)を用いて構成するようにしてもよい。この実施形態では、ビジュアル処理装置200は1又は複数のコンピュータにプログラム(実施形態に係るビジュアル処理プログラムを含む)をインストールすることにより構成されているものとする。すなわち、ビジュアル処理装置200を構成するハードウェア(コンピュータ)の数は限定されないものであり、複数のハードウェア群で構成される場合もあり得るものとする。
アダプタ210は、ビジュアル処理装置200に供給される各データ/信号を集約してビジュアル処理部220に供給する処理を担っている。アダプタ210は、認識処理装置100から供給されるデータ(時系列ごとの撮像画像、及び3D推定処理の結果を含むデータ)を取得してビジュアル処理部220に供給する。また、アダプタ210は、審判器40からの信号を取得してビジュアル処理部220に供給する。ここでは、審判器40は、一般的にフェンシングの試合で用いられる装置であり、審判器40からは所定のプロトコルに従った信号(例えば、競技者による攻撃の有効性を示す信号;以下「審判信号」と呼ぶ)が出力されるものとして説明する。
ビジュアル処理部220は、取得した撮像画像又は撮像画像を加工した画像に、3D推定処理の結果及び又は審判信号に応じたエフェクト処理を行った画像(ビジュアル処理済画像)を出力する機能を担っている。
(A-2)実施形態の動作
次に、以上のような構成を有するこの実施形態におけるビジュアライズシステム1の動作(実施形態に係る認識処理方法)について説明する。
次に、以上のような構成を有するこの実施形態におけるビジュアライズシステム1の動作(実施形態に係る認識処理方法)について説明する。
図9は、認識処理装置100のキャリブレーション処理部150で行われるキャリブレーション処理の流れについて示したフローチャートである。
なお、ここでは、オペレータにより、撮像領域FB2内(競技領域FB1内)でキャリブレーションオブジェクト50の移動が行われるものとする。また、ここでは、キャリブレーション処理部150では、キャリブレーションオブジェクト50が設置された基準位置(錘522の位置)の3D座標(以下、単に「基準座標」とも呼ぶ)が保持されているものとして説明する。キャリブレーション処理部150が、キャリブレーションオブジェクト50が設置された基準座標を保持する方法については限定されないものである。例えば、キャリブレーション処理部150は、オペレータから現在の基準座標の入力を受けるようにしてもよい。基準座標の数(以下、「ポジション数」とも呼ぶ)は限定されないものであるが、例えば、図10に示すように、原点P0、中心線L2と線LL1との交点PL1、中心線L2と線LL2との交点PL2、中心線L2と線LL3との交点PL3、中心線L2と線LR1との交点PR1、中心線L2と線LR2との交点PR2、中心線L3と線LR1との交点PR3の7点を設定するようにしてもよい。ポジション数としては、6~18程度設定することが望ましい。
まず、オペレータにより、キャリブレーションオブジェクト50が、最初の基準位置(3D座標が既知の位置)が設置されたものとする(S101)。なお、このとき、キャリブレーションオブジェクト50のLEDランプ521-1~521-3はオペレータの操作により点灯した状態であるものとする。また、このとき、キャリブレーション処理部150では、基準座標(キャリブレーションオブジェクト50の設置位置)が保持されているものとして説明する。
次に、キャリブレーション処理部150が、キャリブレーション処理の対象となるカメラ30(視野内にキャリブレーションオブジェクト50が存在するカメラ30)が撮像した画像を取得したものとする(S102)。
キャリブレーション処理部150が、ある時点でキャリブレーション対象となるカメラ30を特定し、キャリブレーション対象となるカメラ30が撮像した画像を取得する手順については限定されないものである。例えば、オペレータが、スイッチコントロール部110に対して、手動でキャリブレーション対象となるカメラ30の情報を入力し、スイッチコントロール部110にキャリブレーション対象となるカメラ30の信号のみをキャリブレーション処理部150に供給(スイッチ)させるようにしてもよいし、スイッチコントロール部110がLEDランプ521(LEDランプ521が点灯した際の特定の色(この実施形態では緑色))の写っているカメラ30の信号を選択してキャリブレーション処理部150に供給(スイッチ)させるようにしてもよい。
キャリブレーション処理部150は、キャリブレーション対象のカメラ30が撮像した2D画像(以下、「サンプル画像」と呼ぶ)に基づいて、キャリブレーション対象のカメラ30の2D座標(2D画素)と、3D座標の対応付けのサンプル(以下、このサンプルについても「座標サンプル」と呼ぶ)を取得する(S103)。具体的には、キャリブレーション処理部150は、サンプル画像ごとに各LEDランプ521画写っている位置(例えば、各LEDランプ521が写っている領域の中心点)の2D座標を取得し、予め把握されている各LEDランプ521の3D座標と対応付け、座標サンプルとして取得する。
次に、キャリブレーション処理部150は、今までに座標サンプルを取得したポジション数(キャリブレーションオブジェクト50を設置した基準座標(基準位置)の数)が閾値(例えば、6~18程度)に達したか否かを確認し(S104)、ポジション数が閾値に達した場合には後述するステップS105の処理に移行し、ポジション数が閾値未満の場合には後述するステップS106の処理に移行する。また、キャリブレーション処理部150では、閾値に基づく制御ではなく、オペレータからの手動の操作に応じて当該ループの処理をブレイクして後述するステップS105に移行するようにしてもよい。
上述のステップS104で、ポジション数が閾値未満の場合、キャリブレーション処理部150は、オペレータによりキャリブレーションオブジェクト50のポジション変更(移動)がなされるまで待機し(S106)、上述のステップS102の処理に戻って次のポジションでのサンプル座標取得の処理に移行する。
例えば、キャリブレーション処理部150は、オペレータからポジション変更が終了したことを示す所定の入力(例えば、図示しないキーボードやGUIを用いた所定の操作入力)が行われるまで待機するようにしてもよい。
上述のステップS104で、ポジション数が閾値以上となったと判断された場合、キャリブレーション処理部150は、上述のステップS103で取得した座標サンプルに基づいて、各カメラ30について、キャリブレーション処理(カメラ30の内部パラメータ及び外部パラメータを算出する処理)を行い(S105)、一連のキャリブレーションの処理を終了する。
次に、上述のステップS105で、キャリブレーション処理部150が行う処理の具体例について説明する。
カメラ30のキャリブレーションについては種々の方式を適用することができる。カメラ30等のカメラモデルにおいて、座標サンプルに基づき内部パラメータ及び外部パラメータを取得際には、既存の理論やオープンソースの環境(ライブラリ)を用いたプログラムによる処理を適用することができる。カメラモデルにおいて座標サンプルに基づいたキャリブレーションを行うことが可能なオープンソースの環境としては、例えば、OpenCV(Open Source Computer Vision Library)等を適用することができる。以下では、カメラ30の内部パラメータ取得には、このOpenCVのカメラモデルを適用するものとして説明する。
まず、キャリブレーション処理部150が、上述のステップS103で取得した座標サンプルのリストに基づき、カメラ30の内部パラメータを取得する処理について説明する。カメラ30において、キャリブレーション対象となる内部パラメータとしては、例えば、焦点距離、主点(光学的な中心位置〉、ゆがみ係数が挙げられる。OpenCVのカメラモデルには、キャリブレーション処理用の関数として、calibrateCamera関数等が用意されており、カメラ30の内部パラメータ取得にも適用することができる。
一般的なカメラモデルでは、内部パラメータは、いわゆるカメラ行列を構成する焦点距離[fx,fy]、主点[cx,cy]、及び歪み係数[k1,・・・,k6,p1,p2,s1,・・・,s4]で表現される。例えば、このOpenCVの、calibrateCamera関数に、得られた座標サンプルのリスト、カメラ30の解像度、内部パラメータの初期値(例えば、カメラ30のスペックに基づく所定値)を入力して所定の処理を行うことで、求めるべき内部パラメータ(焦点距離、主点、及び歪み係数)を得ることができる。
次に、キャリブレーション処理部150が、上述のステップS103で取得した座標サンプルのリストに基づき、カメラ30の外部パラメータを取得する処理について説明する。
キャリブレーション処理部150は、外部パラメータとして、各カメラ30の位置及び姿勢を取得する。一般的なカメラモデルにおいて、位置はt、姿勢(回転)はRと表される。一般的なカメラモデルにおいて、座標サンプルに基づき外部パラメータ(位置t及び回転R)を取得する方法としては、例えば、Perspective-n-Point(以下、「PnP」と呼ぶ)問題の解法を利用する方法が挙げられる。PnP問題とは、3D空間中にある点群と,2D画像上にある点群の関係からカメラの位置姿勢を推定する問題であり種々の解法が存在する。すなわち、キャリブレーション処理部150は、得られた座標サンプルのリストを、このPnP問題の解法に当てはめることにより、カメラ30の外部パラメータ(位置t及び回転R)を得ることができる。PnP問題の解法について種々の方式を適用することができるため、ここでは詳しい説明を省略する。
以上のように、キャリブレーション処理部150は、各カメラ30に対するキャリブレーション処理(内部パラメータ及び外部パラメータの取得)を行う。以下では、カメラ30のキャリブレーションで処理されるパラメータ(内部パラメータ及び外部パラメータを含むパラメータ)を総称して「カメラキャリブレーションパラメータ」と呼ぶ。キャリブレーション処理部150は、カメラ30ごとにカメラキャリブレーションパラメータを保持し、3D構成処理部140に供給する。その際、キャリブレーション処理部150は、カメラキャリブレーションパラメータにカメラIDを付加して保持する。
次に、認識処理装置100において、撮像領域FB2(競技領域FB1)内に存在する競技者(FP1、FP2)の動作の認識処理の例について図11のフローチャートを用いて説明する。
図11のフローチャートでは、任意の時点(以下、「注目時点」と呼ぶ)で、各カメラ30で撮像された2D画像に基づいて、当該次点における競技者FP1、FP2が所持する剣SW1、SW2の位置に関する認識処理を行う際の動作について示している。
まず、認識処理装置100のスイッチコントロール部110が、注目時点におけるLiDarセンサ20-1、20-2の検知結果を取得して、撮像領域FB2内の検知結果を抽出して統合(LiDarセンサ20-1、20-2の検知結果を統合(マージ))する処理を行う(S201)。
図12は、撮像領域FB2(競技領域FB1)と、撮像領域FB2(競技領域FB1)内で競技中の競技者FP1、FP2と、LiDarセンサ20-1、20-2との位置関係について示した図(上側から見た図)である。
ここでは、LiDarセンサ20-1、20-2は、概ね競技者FP1、FP2の胴体部分の高さ(例えば、床面FRから1m)について、水平方向の物体を検知するように調整されているものとする。そうすると、スイッチコントロール部110では、LiDarセンサ20-1、20-2の検知結果から撮像領域FB2内の検知結果(サンプル点)のみを抽出することで、撮像領域FB2内における各競技者の位置を認識することができる。この実施形態では、2台のLiDarセンサ20を設置する例について示しているが、設置するLiDarセンサ20の数は限定されないものである。設置するLiDarセンサ20の数は1台としてもよいが、1台のみであると視野内で二人の競技者が重なった場合等に一方の競技者が死角に位置することになってしまうため、複数のLiDarセンサ20の検知結果をマージすることでより死角を少なくすることができる。
図13は、撮像領域FB2内で競技者FP1、FP2が図12のように位置している場合における2つのLiDarセンサ20-1、20-2の検知結果(撮像領域FB2内で物体を検知した位置)を図示している。実際には、LiDarセンサ20が検知するデータは、レーザ光を反射する物体が存在する方向及び距離であるが、図13では各LiDarセンサ20が物体を検知した方向及び距離を位置として可視化した状態で図示している。
図13では、競技者FP1、FP2の胴体部分の輪郭を一点鎖線で図示している。また、図12では、LiDarセンサ20-1が物体を検知した位置を三角形のマーカで図示し、LiDarセンサ20-2が物体を検知した位置を四角形のマーカで図示している。
図13(a)は、LiDarセンサ20-1による検知結果を示しており、図13(b)はLiDarセンサ20-2による検知結果を示しており、図13(c)は2つのLiDarセンサ20-1、20-2の検知結果(13(a)、13(b)の検知結果)をマージした状態について図示している。
図13(c)に示すように、2つのLiDarセンサ20-1、20-2の検知結果をマージすることで、各LiDarセンサ20間の死角を補う結果が得られる。
以上のように、認識処理装置100のスイッチコントロール部110が、注目時点における各競技者の位置を検知することができる。
次に、スイッチコントロール部110が、各LiDarセンサ20の検知結果を統合した内容(以下、「統合検知結果」と呼ぶ)に基づいて、競技者FP1、FP2が視野内に映っているカメラ(以下、「注目カメラ」と呼ぶ)を選択し、選択した注目カメラの信号がディスパッチャ120に供給されるように制御する(S202)。
この実施形態の例では、スイッチコントロール部110は、統合検知結果に基づいて、第1の競技者FP1の位置と第2の競技者FP2の位置を含む空間を視野に収めているカメラ30を注目カメラとして選択するものとして説明する。例えば、統合検知結果が図13(c)のような内容であった場合を想定する。図13(c)の例では、第1の競技者FP1と第2の競技者FP2は、X軸方向でL_L_endとL_R_endとの間であるD_bandの範囲内に存在していることが認識可能である。この場合、スイッチコントロール部110は、図13(c)に示すように、中心線L2上(X軸方向)で、範囲D_bandの中間点であるL_midの位置(以下、「注目位置」と表す)PTを視野内に収めるカメラ30を選択するようにしてもよい。
例えば、スイッチコントロール部110は、焦点位置(視線ベクトル)が注目位置PTと近いカメラ30を注目カメラとして選択するようにしてもよい。例えば、スイッチコントロール部110は、各カメラ30について、焦点位置(視線ベクトル)と注目位置PTとの最短距離を算出し、距離の短いカメラ30から順に8つを注目カメラとして選択するようにしてもよい。このとき、スイッチコントロール部110は、近距離のカメラ30(30-1~10-12)から焦点位置との注目位置PTが近い順に4台選択し、遠距離のカメラ30(30-13~10-24)から焦点位置との注目位置PTが近い順に4台選択するようにしてもよい。例えば、注目位置PTが図13(c)に示すような位置(原点P0からやや+X方向にずれた位置)である場合、スイッチコントロール部110は、近距離のカメラ30からカメラ30-3、30-4、30-9、30-10を選択し、遠距離のカメラ30からカメラ30-14、30-17、30-20、30-23を選択することになる。また、例えば、スイッチコントロール部110は、算出した注目位置PTの範囲ごと(X軸方向の位置の範囲ごと)に、予め適用する注目カメラのリストを設定しておくようにしてもよい。
次に、ディスパッチャ120は、注目時点において注目カメラで撮像された2D画像(以下、「撮像2D画像」と呼ぶ)を、認識処理部130での処理に適したサイズにリサイズ(解像度を変更)して、認識処理部130(第1ステージ認識処理部131)に供給する(S203)。
以下では、ディスパッチャ120がリサイズした2D画像を「リサイズ画像」と呼ぶものとする。ここでは、各カメラ30から出力される信号(ストリーム)は4K60Pの2D画像(例えば、解像度3840×2160の画像)で構成されているものとする。そして、ここでは、リサイズ画像の解像度は、576x320であるものとする。なお、リサイズ画像の解像度は限定されないものであるが、認識処理部130における認識処理に適当な解像度(例えば、処理速度や処理精度を鑑みて適当な解像度)であることが望ましい。また、認識処理部130の処理能力が十分であれば、撮像2D画像をリサイズ画像に変換する処理は省略するようにしてもよい。
次に、認識処理部130の第1ステージ認識処理部131が、ディスパッチャ120から供給されたリサイズ画像を取得し、取得した各リサイズ画像から各競技者FP1、FP2の剣SW1、SW2全体の領域を認識する処理(以下、「剣認識処理」と呼ぶ)を行う(S204)。
具体的には、第1ステージ認識処理部131は、取得したリサイズ画像から剣SW1、SW2のそれぞれの部分を含むバウンディングボックスを認識する処理を試みる。
第1ステージ認識処理部131が、剣SW1、SW2のバウンディングボックスを認識する具体的な処理については限定されないものであるが、例えば、予め教師データを用いて学習させた学習モデルを用いた第1の識別器161(AIを用いた識別器)を用いて認識するようにしてもよい。剣検出処理には、種々のAIによる物体検出の識別器を適用することができるが、この実施形態では、YOLO(You Look Only Onse)v3による物体検出の識別器を用いるものとして説明する。YOLOv3を用いた識別器では、検出対象の物体を認識した領域のバウンディングボックスの位置情報(座標やサイズ)とその認識結果の確信度を含む情報を出力することができる。なお、リサイズ画像(撮像2D画像)では、カメラ30と各競技者と各剣との位置関係によっては、一方又は両方の剣について写っていない場合が有りえるため、1つの撮像2D画像から検出される剣全体のバウンディングボックスは理論的には0~2の範囲となる。第1ステージ認識処理部131は、確信度順に最大2つまでの剣と認識した領域のバウンディングボックスを剣認識処理の結果として取得する。なお、第1ステージ認識処理部131は、確信度が所定以下のバウンディングボックスについては剣認識処理の結果から除外するようにしてもよい。
図14は、第1ステージ認識処理部131で処理されるリサイズ画像の例について示した図である。
図15は、第1ステージ認識処理部131が、図14に示すリサイズ画像から認識される剣SW1、SW2のバウンディングボックスの例について示した図である。
なお、本明細書において図示するリサイズ画像及び撮像画像は、図2の方向(-Yの方向)から見た画像であり、左側(-Xの側)に第1の競技者FP1が写り、右側(+Xの側)に第2の競技者FP2が写るものとして説明する。
例えば、図14に示すように、各競技者FP1、FP2及び各剣SW1、SW2が写ったリサイズ画像が得られた場合、第1ステージ認識処理部131は、図15に示すように、各SW1、SW2のそれぞれについてバウンディングボックスBB_SW_1、BB_SW_2を認識する。
次に、ディスパッチャ120は、注目時点において注目カメラで撮像された撮像2D画像から、剣認識処理により検出されたバウンディングボックスに基づき、剣及び剣の近傍を含む領域(以下、「剣近傍領域」と呼ぶ)をクロップした画像(以下、「剣近傍領域画像」と呼ぶ)を取得して第2ステージ認識処理部132に供給する(S205)。
ディスパッチャ120は、撮像2D画像から、剣認識処理により認識されたバウンディングボックスと中心位置を同じくする所定サイズ(固定サイズ)の画像を剣近傍領域画像として取得(クロップ)する。バウンディングボックスのサイズは剣認識処理の結果により変動するが、剣近傍領域画像(クロップする画像のサイズ)は後段の処理に適した所定の固定サイズとすることが望ましい。
図15では、剣認識処理により検出された剣SW1のバウンディングボックスBB_SW_1、BB_SW_2に対応する剣近傍領域A_SW_1、A_SW_2が図示されている。図15では、バウンディングボックスBB_SW_1、BB_SW_2の中心位置がPS_SW_1、PS_SW_2となっている。そして、剣近傍領域A_SW_1は、バウンディングボックスBB_SW_1と中心位置を同じくするV_SW(Y軸方向の長さ)×H_SW(X軸方向の長さ)の領域となっている。また、剣近傍領域A_SW_2は、バウンディングボックスBB_SW_2と中心位置を同じくするH_SW(X軸方向の長さ)V_SW(Y軸方向の長さ)の領域となっている。
次に、認識処理部130の第2ステージ認識処理部132が、ディスパッチャ120から供給された剣近傍領域画像を取得し、取得した各剣近傍領域画像から剣先及び剣元の2D座標(撮像2D画像上の座標)を認識する処理(以下、「剣先/剣元2D認識処理」と呼ぶ)を行う(S206)。
なお、以下では、撮像2D画像からクロップした画像内での2D座標を「ローカル2D座標」と呼び、撮像2D画像上の座標を「グローバル2D座標」又は単に「2D座標」と呼ぶものとする。ここでは、第2ステージ認識処理部132では、撮像2D画像内における剣検出領域画像の位置が把握されており、剣検出領域画像内のローカル2D座標をグローバル2D座標に変換する処理が可能であるものとして説明する。
具体的には、第2ステージ認識処理部132は、取得した剣近傍領域画像について、写っている剣の剣先のバウンディングボックスと、剣元のバウンディングボックスを認識し、バウンディングボックスの認識結果に基づいて、剣近傍領域画像に映っている各剣先/剣元のグローバル2D座標を取得する。また、このとき、第2ステージ認識処理部132は、各剣先/剣元に対応するバウンディングボックス取得時の確信度を保持し、各剣先/剣元の情報に付加して認識結果出力処理部133に処理結果として供給する。
第2ステージ認識処理部132が、剣近傍領域画像から剣先/剣元認識処理を行う具体的な処理については限定されないものであるが、例えば、予め教師データを用いて機械学習させた学習モデルを用いた第2の識別器162(AIを用いた識別器)を用いて認識するようにしてもよい。
図16は、第2ステージ認識処理部132で剣近傍領域画像から、各競技者FP1、FP2が所持する剣SW1、SW2の剣先及び剣元の2D座標を認識する処理の例について示した図である。図16では、図15に示すような剣SW1、SW2のバウンディングボックスBB_SW_1、BB_SW_2に基づいて剣SW1、SW2の剣先及び剣元の2D座標を認識する処理について示している。図16(a)、図16(b)は、それぞれ競技者FP1、FP2が所持する剣SW1、SW2の剣近傍領域A_SW_1、A_SW_2の画像(剣近傍領域画像;クロップ画像)から、剣先及び剣元の2D座標を認識する処理について示している。
図16(a)では競技者FP1が所持する剣SW1の剣先に対応するバウンディングボックスBB_T_1と、剣SW1の剣元に対応するバウンディングボックスBB_G_1が図示されている。図16(a)に示すような剣近傍領域画像が得られた場合、第2ステージ認識処理部132は、バウンディングボックスBB_T_1の中心位置P_T_1を剣SW1の剣先のグローバル2D座標として認識し、バウンディングボックスBB_G_1の中心位置P_G_1を剣SW1の剣元のグローバル2D座標として認識する。また、図16(b)では競技者FP2が所持する剣SW2の剣先に対応するバウンディングボックスBB_T_2と、剣SW1の剣元に対応するバウンディングボックスBB_G_2が図示されている。図16(b)に示すような剣近傍領域画像が得られた場合、第2ステージ認識処理部132は、バウンディングボックスBB_T_2の中心位置P_T_2を剣SW2の剣先のグローバル2D座標として認識し、バウンディングボックスBB_G_2の中心位置P_G_2を剣SW2の剣元のグローバル2D座標として認識する。
以上のように、第2ステージ認識処理部132では、剣先/剣元2D認識処理が行われる。なお、剣先/剣元2D認識処理の詳細なプロセスについては後述する。
次に、認識処理部130の認識結果出力処理部133は、剣先/剣元2D認識処理の結果に対応する撮像2D画像を特定するためのメタデータ(カメラID及びフレームIDを含むデータ)を付加して3D構成処理部140に供給する(S207)。
次に、3D構成処理部140が、時系列(フレームID)ごとに剣先/剣元2D認識処理の結果を集計し、各競技者の剣先及び剣元の3D座標を推定し、推定した結果を取得してビジュアル処理装置200に供給する(S208)。
次に、上述のステップS206における剣先/剣元認識処理の詳細について図17のフローチャートを用いて説明する。
図17のフローチャートは、1つの注目カメラの撮像2D画像から得られる1つ又は2つの剣近傍領域画像から、剣ごと(競技者ごと)に区別して剣先/剣元のグローバル2D座標のペアを取得する処理について示している。図17のフローチャートの処理では、撮像2D画像ごとに、検出した各剣先/剣元についていずれの競技者の剣の剣先かを判別する処理も含まれる。
まず、第2ステージ認識処理部132は、供給された各剣近傍領域画像から、それぞれ剣先及び剣元のバウンディングボックスを認識する(S301)。
第2ステージ認識処理部132が、剣先及び剣元のバウンディングボックスを認識する具体的な処理については限定されないものであるが、例えば、予め教師データを用いて学習させた学習モデルを用いた識別器(AI)を用いて認識するようにしてもよい。剣先及び剣元のバウンディングボックスを認識する処理には、種々のAIによる物体検出の識別器を適用することができるが、この実施形態では、上述の通りYOLOv3の物体検出の識別器を用いるものとして説明する。1つの剣近傍領域画像では、剣先及び剣元がそれぞれ0個~2個の範囲で写り込むことになる。そのため、第2ステージ認識処理部132は、各剣近傍領域画像から、剣先及び剣元についてそれぞれ確信度順に最大2つまでバウンディングボックスを取得するものとする。なお、第2ステージ認識処理部132は、確信度が所定以下のバウンディングボックスについては剣先/剣元の認識結果から除外するようにしてもよい。
例えば、図18に示す撮像2D画像から、図19に示すような2つの剣近傍領域A_SW_1、A_SW_2の画像がクロップされた場合、それぞれの剣近傍領域画像から図20に示すような剣先/剣元のバウンディングボックスが検出されることになる。
図20の例では、剣近傍領域A_SW_1の画像からは2つの剣先のバウンディングボックスBB_T_1、BB_T_2と、1つの剣元のバウンディングボックスBB_G_1が検出された状態について示している。また、図20の例では、剣近傍領域A_SW_2の画像からは2つの剣先のバウンディングボックスBB_T_3、BB_T_4と、1つの剣元のバウンディングボックスBB_G_2が検出された状態について示している。図20に示すように、1つの剣近傍領域から複数の剣先及び又は剣元のバウンディングボックスが検出されることが有りえる。
次に、第2ステージ認識処理部132は、それぞれの剣近傍領域画像で検出された剣先及び剣元のバウンディングボックスの中心位置のグローバル2D座標を取得する(S302)。
次に、第2ステージ認識処理部132は、ステップS301の処理で、複数の剣先及び又は剣元のバウンディングボックスが検出された剣近傍領域画像があったか否かを判断し(S303)、複数の剣先及び又は剣元のバウンディングボックスが検出された剣近傍領域画像があった場合は後述するステップS304から動作し、そうでない場合は後述するステップS305から動作する。
次に、第2ステージ認識処理部132は、それぞれの剣近傍領域画像で検出された剣先及び剣元のグローバル2D座標について距離が閾値未満となる組み合わせがあった場合マージ(いずれか一方を認識結果から捨象)する処理を行う(S304)。
例えば、同じ剣先について2つの剣近傍領域画像でバウンディングボックスが検出された場合、その2つのバウンディングボックスの中心位置は計測誤差が無ければ一致することになるため、マージ(いずれか一方を捨象)することで正しく剣先と剣元のペアを検出することができる。この時設定する閾値は限定されないものであるが、実験等により予め、画像に基づく計測誤差を考慮した好適な値を設定することが望ましい。
例えば、図20の例の場合、剣先のバウンディングボックスBB_T_1の中心位置P_T_1、同じく剣先のバウンディングボックスBB_T_4の中心位置P_T_4の位置がほぼ一致することになるためマージすることができる。このとき、第2ステージ認識処理部132は、2つのバウンディングボックスBB_T_1、BB_T_4のうち確信度が低い方の結果を捨象するようにしてもよい。
次に、第2ステージ認識処理部132は、検出した剣先/剣元について、それぞれいずれの競技者の所持する剣に対応するかを判断する処理(以下、「左右判断処理」と呼ぶ)を行い(S305)、本フローチャートの処理を終了する。
第2ステージ認識処理部132が行う左右判断処理の詳細については図21のフローチャートを用いて説明する。
まず、第2ステージ認識処理部132は、各剣先(マージ処理後の各剣先)のグローバル2D座標をディスパッチャ120にして、ディスパッチャ120から各剣先とその近傍を含む領域(以下、「剣先近傍領域」と呼ぶ)をクロップした画像(以下、「剣先近傍領域画像」と呼ぶ)を取得する(S401)。
ディスパッチャ120は、撮像2D画像から、各剣先のバウンディングボックスと中心位置を同じくする所定サイズ(固定サイズ)の画像を剣先近傍領域画像として取得する。バウンディングボックスのサイズは剣先の認識処理の結果により変動するが、剣先近傍領域画像は後段の処理に適した所定の固定サイズとすることが望ましい。以下では、剣先近傍領域画像の縦方向(垂直方向)の長さを「V_T」と表し、剣先近傍領域画像の横方向(水平方向)の長さを「H_T」と表すものとする。すなわち、剣先近傍領域画像は、V_T×H_Tのサイズの画像となる。剣先近傍領域画像のサイズ(V_T、H_T)については限定されないものであるが、例えば、剣先近傍領域画像内に剣の先端から概ね10cm程度の部分が写り込むように設定されていることが望ましい。
例えば、図16(a)、図16(b)では、それぞれ剣SW1、SW2の剣先のバウンディングボックスBB_T_1、BB_T_2に対応する剣先近傍領域A_T_1、A_T_2が図示されている。図16(a)、図16(b)では、剣先近傍領域A_T_1、A_T_2は、中心位置をバウンディングボックスBB_T_1、BB_T_2と同じP_T_1、P_T_2とするV_T×H_Tのサイズの領域となる。
次に、第2ステージ認識処理部132は、取得した各剣先近傍領域画像を第3の識別器163に入力して各剣先近傍領域画像に対応する剣先の向いている角度(以下、「剣先角度」と呼ぶ)を取得する(S402)。
次に、図22を用いて、剣先角度の設定について説明する。
この実施形態では、図22に示すように、剣先角度は-180°~+180°の間で変化する角度であるものとする。図22に示すように、剣先角度は上方向(+Zの方向)を0°として時計回りに正の方向に変化し、右方向(+Xの方向)が+90°、下方向(-Zの方向)が+180°となる。また、図22に示すように剣先角度は上方向を0°として反時計回りに負の方向に変化し、左方向(-Xの方向)が-90°、下方向が-180°となる。図22に示すように、左側に位置する第1の競技者FP1の剣SW1の剣先の剣先角度は通常正の角度となり、右側に位置する第2の競技者FP2の剣SW2の剣先の剣先角度は通常負の角度となる。すなわち、剣先角度が正の角度の剣先は第1の競技者FP1の剣SW1の剣先と判断でき、剣先角度が正の角度の剣先は第2の競技者FP2の剣SW2の剣先と判断できることになる。
ここでは、第3の識別器163は、入力された剣先近傍領域画像について-180°~+180°の間の所定範囲について所定角度単位のグリッドで判定するものとする。以下では、第3の識別器163が剣先角度を判定する際にグリッドされた角度を「グリッド角度」と呼ぶものとする。例えば、ここでは、第3の識別器163は、入力された剣先近傍領域画像について-170°~-10°、+10°~+170°の範囲で、10°単位で変化するグリッド角度で判定するものとする。具体的には、第3の識別器163は、入力された剣先近傍領域画像について、-170°、-160°、…、-20°、-10°、+10°、+20°、…、+160°、+170°のいずれかのグリッド角度に分類する処理を行うものとする。なお、グリッド角度の数及び間隔については限定されないものである。すなわち、第3の識別器163には、それぞれのグリッド角度に対応する教師データ(剣先近傍領域画像のサンプルと剣先角度の正解データ)を用いて機械学習された学習モデルが適用されている。
次に、第3の識別器163による剣先角度の識別処理の例について図23を用いて説明する。
例えば、剣先近傍領域画像として図20(a)に示す剣先近傍領域A_T_1の画像が第3の識別器163に供給されると、図23(a)に示すように、第3の識別器163は剣先角度として50°を判断することになる。また、例えば、剣先近傍領域画像として図20(b)に示す剣先近傍領域A_T_2の画像が第3の識別器163に供給されると、図23(b)に示すように、第3の識別器163は剣先角度として-50°を判断することになる。
以上のように、第2ステージ認識処理部132(第3の識別器163)は、各剣先近傍領域画像について剣先角度を識別する。
次に、第2ステージ認識処理部132は、検出した剣先/剣元(上述のステップS304のマージ処理後に残った剣先/剣元)の数を確認し(S403)、1組の剣先/剣元のペアのみが検出された場合(マージ後に剣先と剣元の一方又は両方が1つのみ検出された場合)には後述するステップS404に移行し、2組の剣先/剣元のペアが検出された場合(マージ後に2つの剣先と2つの剣元が検出された場合)には後述するステップS405に移行する。
上述のステップS403で、検出した剣先/剣元が1組の剣先/剣元のペアのみである場合、当該ペアの剣先を剣先角度のみに基づいて、いずれの剣SW1、SW1に対応するかを判定する処理(左右判定処理)を行い(S404)本フローチャートの処理を終了する。例えば、当該ペアの剣先の剣先角度が正の場合には当該ペアの剣先/剣元は左側の第1の競技者FP1のSW1のものであると判定するようにしてもよい。
一方、上述のステップS403で、検出した剣先/剣元が2組の剣先/剣元のペアが検出された場合、各剣先の剣先角度と各剣先/剣元のグローバル2D座標に基づいて、各剣先/剣元の正しい組み合わせを判定し、各剣先の剣先角度を利用して剣SW1、SW2のいずれに対応するかを判定する(S405)。
具体的には、第2ステージ認識処理部132は、剣元の位置のグローバル2D座標と剣先の位置のグローバル2D座標とを結ぶベクトル(以下、「ベクトル→a」と呼ぶ;以下の(1)式参照)と、剣先角度の方向のベクトル(以下、「ベクトル→b」と呼ぶ;以下の(2)式参照)との内積(→a・→b)がより大きくなる組み合わせを、正しい剣先/剣元の組み合わせと判定する。また、第2ステージ認識処理部132は、各剣元の位置に応じて左右判定処理を行うようにしてもよい。例えば、第2ステージ認識処理部132は、-X方向の側の剣元を第1の競技者FP1が所持する剣SW1の剣元と判定し、+X方向の側の剣元を第2の競技者FP2が所持する剣SW2の剣元と判定するようにしてもよい。これは、フェンシングの剣では、剣先の位置から剣先角度の延長線上に剣元が存在する蓋然性が高いという傾向に基づいた判定処理である。
→a=(剣先の位置)-(剣元の位置) …(1)
→b=角度を剣先角度θ_Tとする単位ベクトル …(2)
→a=(剣先の位置)-(剣元の位置) …(1)
→b=角度を剣先角度θ_Tとする単位ベクトル …(2)
ここで、図18~図20、図23に示す例を図21のフローチャートに当てはめた例について説明する。
ここでは、第2ステージ認識処理部132(マージ処理後)において、剣先のグローバル2D座標としてP_T_1、P_T_3が検出され、剣元のグローバル2D座標としてP_G_1、P_G_2が検出されているものとする。そうすると、この例では剣元/剣先のペアが2組存在するためステップS405の処理に移行することになる。また、ここでは、上述の図23に示す通り、剣先のグローバル2D座標としてP_T_1、P_T_3に対応する剣先角度は、それぞれ+50°、-50°であったものとする。この場合、ステップS405において、第2ステージ認識処理部132では、剣先P_T_1、P_T_3と、剣元P_G_1、P_G_2の組み合わせを2パターンのいずれかに絞り込むことになる。ここで、仮に第2ステージ認識処理部132が剣先P_T_1に対応する剣元をP_G_1、P_G_2のいずれかに決定する場合を想定する。この場合、第2ステージ認識処理部132は、→bを50°の方向の単位ベクトルとし、→aをP_T_1とP_G_1を通るベクトルとした場合における→aと→bの内積(→a・→b)と、→aをP_T_1とP_G_2を通るベクトルとした場合における→aと→bの内積(→a・→b)とを比較する。この場合、→aをP_T_1とP_G_1を通るベクトルとした場合、→aは→b(50°の方向)とほぼ並行となることから、明らかに→aをP_T_1とP_G_2を通るベクトルとする場合よりも内積(→a・→b)は大きくなる。したがって、この場合、第2ステージ認識処理部132は、ステップS405において、剣先P_T_1と剣元P_G_1のペアと、剣先P_T_3と剣元P_G_2のペアが正しいと判断する。そして、剣元P_G_1は剣元P_G_2よりも-X方向(左側)にあるため、剣先P_T_1と剣元P_G_1のペアを競技者FP1の剣SW1と判断し、剣先P_T_3と剣元P_G_2のペアを競技者FP2の剣SW2と判断することになる。
次に、3D構成処理部140の動作について説明する。
3D構成処理部140は、キャリブレーション処理部150からカメラ30ごと(カメラIDごと)のカメラキャリブレーションパラメータを取得する。また、3D構成処理部140は、時系列ごと(フレームIDごと)の認識処理部130による動作認識処理の結果(各カメラ30(各注目カメラ)に対応する剣先/剣元のグローバル2D座標)を取得する。3D構成処理部140は、カメラ30ごとのカメラキャリブレーションパラメータと時系列ごとの動作認識処理の結果に基づいて、時系列毎の各競技者FP1、FP2の各剣SW1、SW2の剣先/剣元の3D座標を推定する処理を行う。
具体的には、3D構成処理部140は、動作認識処理の結果から、各注目カメラが撮像した撮像2D画像上の剣先/剣元のグローバル2D座標を取得し、取得したグローバル2D座標をカメラキャリブレーションパラメータに基づいて3D座標(以下、「サンプル3D座標」と呼ぶ)に変換する。すなわち、3D構成処理部140では、各剣SW1、SW2の剣先/剣元(剣先×2点、剣元×2点)のそれぞれに対して、最大注目カメラ数分のサンプル3D座標が取得されることになる。
そして、3D構成処理部140は、各剣SW1、SW2の剣先/剣元のそれぞれに対して得られた複数のサンプル3D座標から求めるべき3D座標を取得する処理を行う。サンプル3D座標群から実際の3D座標を取得する処理の具体的計算方法については限定されないものであり種々の方法を適用することができる。例えば、3D構成処理部140は、各注目カメラから、各3D座標サンプルへの3D空間CS(実空間)上の光線ベクトルを計算し、その複数の光線ベクトルの交わりそうな点を、求めるべき剣先/剣元の3D座標として取得するようにしてもよい。例えば、3D構成処理部140は、サンプル3D座標群からRANSAC(Random Sample Consensus)等のアルゴリズム(解法)を用いて外れ値と推定できるサンプルを除外して、より正確な3D座標を得るようにしてもよい。
以上のように、3D構成処理部140では、時系列(フレームID)ごとの各競技者の剣SW1、SW2の剣先/剣元の3D座標(以下、「剣先/剣元3D座標」と呼ぶ)が取得される、そして、3D構成処理部140は、取得した時系列ごとの剣先/剣元3D座標をビジュアル処理装置200に供給する。
次に、ビジュアル処理装置200の動作の例について説明する。
アダプタ210は、認識処理装置100のスイッチコントロール部110から、各注目カメラで撮像された撮像2D画像を取得するとともに、認識処理装置100の3D構成処理部140から、時系列ごと(フレームIDごと)の剣先/剣元3D座標を取得する。また、アダプタ210は、審判器40からの信号も取得する。そして、アダプタ210は、取得した各データをビジュアル処理部220に供給する。
ビジュアル処理部220は、撮像2D画像又は撮像2D画像を加工した画像に、時系列ごとの剣先/剣元3D座標や審判器40からの信号に基づく画像(以下、「エフェクト画像」と呼ぶ)をレンダリングした画像(以下、「出力画像」と呼ぶ)を生成して出力する。ビジュアル処理部220は、例えば、時系列ごとの撮像2D画像に基づいて各競技者FP1、FP2の周囲の任意の視点からの画像(以下、「自由視点画像」と呼ぶ)をレンダリングし、自由視点画像にさらにエフェクト画像をレンダリングした画像を出力画像(ビジュアル処理済画像)とするようにしてもよい。
図24は、出力画像の例について示した図である。
図24に示す出力画像(ビジュアル処理済画像)では、自由視点画像に、左側の競技者FP1が所持する剣SW1の剣先の軌跡を示すエフェクト画像G_E_001と、右側の競技者FP2が所持する剣SW2の剣先の軌跡を示すエフェクト画像G_E_002と、剣SW1、SW2が接触したことを示すエフェクト画像G_E_003がレンダリングされた状態について示している。
(A-3)教師データの生成処理について
次に、第1の識別器161、第2の識別器162、及び第3の識別器163の機械学習に用いる教師データを生成する教師データ処理装置60(実施形態に係る教師データ処理プログラム及び教師データ処理方法を含む)について説明する。教師データ処理装置60については、ビジュアライズシステム1自体に含む構成としてもよいが、ここでは便宜上別構成として説明する。
次に、第1の識別器161、第2の識別器162、及び第3の識別器163の機械学習に用いる教師データを生成する教師データ処理装置60(実施形態に係る教師データ処理プログラム及び教師データ処理方法を含む)について説明する。教師データ処理装置60については、ビジュアライズシステム1自体に含む構成としてもよいが、ここでは便宜上別構成として説明する。
図25は、教師データ処理装置60の機能的構成について示した図である。
教師データ処理装置60は、第1の識別器161、第2の識別器162、及び第3の識別器163の機械学習に用いる教師データを生成する処理を行う装置である。
また、教師データ処理装置60には教師データに適用するサンプル画像を撮像するための8台のカメラ70(70-1~70-8)が配置されている。なお、カメラ70の数は限定されないものである。
図26は、カメラ70を設置する環境の例について示した図である。
図26では、2人の競技者FP1、FP2がそれぞれ実際のフェンシングの試合と同様の剣SW1、SW2を所持した状態について図示している。
ここでは、各カメラ70は、図26に示すような競技者FP1、FP2が位置する領域の周囲を囲うように配置されているものとして説明する。各カメラ70の具体的な配置位置は限定されないものである。
教師データ処理装置60では、各競技者FP1、FP2が剣SW1、SW2を所持した状態(図26の状態)で撮像したサンプル画像についてオペレータから手動で、各剣SW1、SW2の剣先/剣元の位置(グローバル2D座標)の位置情報(以下、「サンプル位置情報」とも呼ぶ)の入力を受け付ける。
次に、教師データ処理装置60の内部構成について説明する。
教師データ処理装置60は、サンプル画像処理部610、サンプル位置情報処理部620、教師データ生成部630、及びサンプル位置入力受付部640を有している。
教師データ処理装置60を構成する各要素は、それぞれコンピュータを用いてソフトウェア的に構成するようにしてもよいし、一部又は全部をハードウェア(例えば、専用の半導体チップ)を用いて構成するようにしてもよい。この実施形態では、教師データ処理装置60は1又は複数のコンピュータにプログラム(実施形態に係る教師データ処理プログラムを含む)をインストールすることにより構成されているものとする。すなわち、教師データ処理装置60を構成するハードウェア(コンピュータ)の数は限定されないものであり、複数のハードウェア群で構成される場合もあり得るものとする。
サンプル画像処理部610は、カメラ70で撮像した2D画像に基づいてサンプル画像を取得する処理を行う。サンプル画像処理部610は、各カメラ70で撮像した2D画像をそのままサンプル位置入力受付部640に供給して表示させる。
サンプル位置入力受付部640は、オペレータに対してサンプル画像を提示し、提示したサンプル画像に対するサンプル位置情報(各剣先/剣元の位置)の入力を受け付ける処理を行う。サンプル位置入力受付部640がオペレータからサンプル位置情報の入力を受け付ける際のインタフェースは限定されないものである。例えば、サンプル位置入力受付部640は、図示しないタッチパネルディスプレイやマウス/ディスプレイ等のデバイスを用いて、オペレータにサンプル画像を提示すると共にサンプル位置情報の入力を受け付けるようにしてもよい。
図27は、サンプル位置入力受付部640がオペレータからサンプル画像に対するサンプル位置情報の入力を受け付ける際の操作画面の例について示した図である。
例えば、サンプル位置入力受付部640は、オペレータに対して図27(a)のようなサンプル画像を表示した操作画面を提示し、図示しない入力デバイス(例えば、マウスやタッチパネル)を用いて図27(b)に示すように各剣元/剣先の位置(サンプル位置情報)の入力を受け付けるようにしてもよい。図27(b)では、ラベリングを受け付けた部分にひし形のシンボルを図示している。サンプル位置入力受付部640は、受け付けた各剣先/剣元の位置を2D画像上の2D座標(グローバル2D座標)に変換してサンプル位置情報として取得し、サンプル位置情報処理部620に供給する。このとき、サンプル位置入力受付部640は、剣先の位置と剣元の位置を区別して入力を受け付ける必要がある。例えば、サンプル位置入力受付部640は、剣先/剣元の位置の入力を受ける際に、当該位置が剣先であるのか剣元であるのかの選択入力を受け付けるようにしてもよい。
サンプル位置情報処理部620は、サンプル位置情報を取得して教師データ生成部630に供給する機能を担っている。サンプル位置情報処理部620は、サンプル位置入力受付部640から供給されるサンプル位置情報を教師データ生成部630に供給する。
教師データ生成部630は、サンプル画像処理部610から取得したサンプル画像とサンプル位置情報処理部620から取得したサンプル位置情報とを対応づけて教師データとして蓄積する。
第1の識別器161では機械学習する際は、教師データ生成部630で生成された教師データをそのまま適用するようにしてもよい。また、第2の識別器162では機械学習する際には、教師データのサンプル画像のうち剣の部分(剣先及び剣元を含む部分)とその近傍の領域を含む矩形の領域をクロップした画像を教師データのサンプル画像として置き換えて適用するようにしてもよい。さらに、第3の識別器163では、機械学習する際には、教師データのサンプル画像のうち剣先の部分とその近傍の領域を含む矩形の領域をクロップした画像を教師データのサンプル画像として置き換えて適用するようにしてもよい。
なお、第1の識別器161、第2の識別器162、第3の識別器163では、機械学習して学習モデルを生成する機能を搭載するようにしてもよいし機械学習する機能を別の構成要素(別装置)として構築するようにしてもよい。また、教師データ処理装置60自体に、第1の識別器161、第2の識別器162、第3の識別器163のそれぞれに対する教師データの加工や機械学習による学習モデルの生成処理まで含めて実行する構成を備えるようにしてもよい。
(A-4)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
この実施形態によれば、以下のような効果を奏することができる。
この実施形態の認識処理装置100では、2D撮像画像から剣全体の位置を認識した結果に基づく剣近傍領域画像を取得し、さらに剣近傍領域画像から剣先/剣元を認識している。このように、認識処理装置100では、2段階に分けて剣先/剣元を認識することで、2D撮像画像から直接剣先/剣元を認識するよりも高精度かつ効率的に剣先/剣元の検知を行うことができる。
また、この実施形態の認識処理装置100では、剣先角度を用いることで、剣先/剣元の左右判断処理を実現している。
さらに、この実施形態の認識処理装置100では、1段階目に剣全体を認識する際に2D撮像画像の解像度を粗くしたリサイズ画像を用いているため、より効率的な剣先/剣元の検知を行うことができる。
さらにまた、この実施形態では、認識処理装置100における各カメラ30のキャリブレーションに、キャリブレーションオブジェクト50を用いたキャリブレーションを行っている。キャリブレーションオブジェクト50は、三脚51から吊り下げられた吊下げ部52にLEDランプ521-1~521-3が取り付けされており、下端に錘522が取り付けされている。これにより、キャリブレーションオブジェクト50では、各LEDランプ521-1~521-3の位置を基準位置(錘522の下の位置)の垂直上に正確且つ容易に静止させることができる。すなわち、この実施形態では、キャリブレーションにキャリブレーションオブジェクト50を適用することで、短時間で良好なキャリブレーション結果を得ることができる。
(B)他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(B-1)上記の実施形態では、認識処理装置100を、各装置のキャリブレーションの制御処理と、3D画像結像の処理の両方を行う装置として説明したが、キャリブレーションのみ行う装置として構成し、3D画像結像の処理については別の装置で行うようにしてもよい。すなわち、キャリブレーションの制御処理と、3D画像結像の制御処理については別装置(別プログラム)として構成するようにしてもよいことは当然である。
(B-2)上記の実施形態では、本発明のビジュアライズシステム及び認識処理装置をフェンシングの剣を含む動作を認識する処理に適用したが、剣道等の他の棒形状の器具を用いた剣術系の競技や、演舞(例えば、剣を所持した状態で踊りや演技を行う場合)に適用するようにしてもよい。すなわち、上記の実施形態では、本発明のビジュアライズシステム及び認識処理装置をフェンシングの競技に適用するため、剣の所持者(競技者)が2人存在することを前提としたが、本発明のビジュアライズシステム及び認識処理装置を演舞等に適用する場合は、認識対象となる剣及び剣の所持者の数は2に限定されず、1や3以上であってもよいことになる。
1…ビジュアライズシステム、100…認識処理装置、110…スイッチコントロール部、120…ディスパッチャ、130…認識処理部、131…第1ステージ認識処理部、132…第2ステージ認識処理部、133…認識結果出力処理部、140…3D構成処理
部、140…認識処理部3D構成処理部、150…キャリブレーション処理部、161…第1の識別器、162…第2の識別器、163…第3の識別器、200…ビジュアル処理装置、210…アダプタ、220…ビジュアル処理部、20、20-1、20-2…LiDarセンサ、20-2…LiDarセンサ、30、30-1~30-24…カメラ、40…審判器、50…キャリブレーションオブジェクト、51…三脚、52…吊下げ部、53…電源部、54…リード線、512、513、514…脚部、511…雲台部、521、521-1~521-3…LEDランプ、522…錘、523…吊下げ部材、60…教師データ処理装置、610…サンプル画像処理部、620…サンプル位置情報処理部、630…教師データ生成部、640…サンプル位置入力受付部、70、70-1~70-4…カメラ、SW、SW1、SW2…剣。
部、140…認識処理部3D構成処理部、150…キャリブレーション処理部、161…第1の識別器、162…第2の識別器、163…第3の識別器、200…ビジュアル処理装置、210…アダプタ、220…ビジュアル処理部、20、20-1、20-2…LiDarセンサ、20-2…LiDarセンサ、30、30-1~30-24…カメラ、40…審判器、50…キャリブレーションオブジェクト、51…三脚、52…吊下げ部、53…電源部、54…リード線、512、513、514…脚部、511…雲台部、521、521-1~521-3…LEDランプ、522…錘、523…吊下げ部材、60…教師データ処理装置、610…サンプル画像処理部、620…サンプル位置情報処理部、630…教師データ生成部、640…サンプル位置入力受付部、70、70-1~70-4…カメラ、SW、SW1、SW2…剣。
Claims (4)
- 棒形状の器具を所持する1又は複数の所持者を複数の撮像装置で撮像された撮像画像のそれぞれについて、前記器具が写っている位置を認識する器具認識処理を行う器具認識手段と、
それぞれの前記撮像画像から、前記器具認識処理の結果を利用して、前記器具とその近傍のみを含む器具近傍領域の器具近傍領域画像を取得する第1の画像取得手段と、
それぞれの前記器具近傍領域画像から、前記器具の所定部分が写っている位置を認識する器具部分認識処理を行う器具部分認識手段と、
前記器具部分認識処理の結果に基づいて、前記撮像画像上で前記所定部分の位置に対応する2D座標を取得する2D座標認識手段と、
それぞれの前記撮像画像に基づいて前記2D座標認識手段が認識した前記所定部分の2D座標を、前記所持者が存在する3D空間上の3D座標に変換して取得し、取得した前記所定部分の3D座標に基づき、前記3D空間内における前記所定部分の位置に対応する3D座標を認識して取得する3D座標認識手段と
を有することを特徴とする認識処理装置。 - コンピュータを、
棒形状の器具を所持する1又は複数の所持者を複数の撮像装置で撮像された撮像画像のそれぞれについて、前記器具が写っている位置を認識する器具認識処理を行う器具認識手段と、
それぞれの前記撮像画像から、前記器具認識処理の結果を利用して、前記器具とその近傍のみを含む器具近傍領域の器具近傍領域画像を取得する第1の画像取得手段と、
それぞれの前記器具近傍領域画像から、前記器具の所定部分が写っている位置を認識する器具部分認識処理を行う器具部分認識手段と、
前記器具部分認識処理の結果に基づいて、前記撮像画像上で前記所定部分の位置に対応する2D座標を取得する2D座標認識手段と、
それぞれの前記撮像画像に基づいて前記2D座標認識手段が認識した前記所定部分の2D座標を、前記所持者が存在する3D空間上の3D座標に変換して取得し、取得した前記所定部分の3D座標に基づき、前記3D空間内における前記所定部分の位置に対応する3D座標を認識して取得する3D座標認識手段と
して機能させることを特徴とする認識処理プログラム。 - 認識処理装置が行う認識処理方法において、
前記認識処理装置は、器具認識手段、第1の画像取得手段、器具部分認識手段、2D座標認識手段、及び3D座標認識手段を有し、
前記器具認識手段は、棒形状の器具を所持する1又は複数の所持者を複数の撮像装置で撮像された撮像画像のそれぞれについて、前記器具が写っている位置を認識する器具認識処理を行い
前記第1の画像取得手段は、それぞれの前記撮像画像から、前記器具認識処理の結果を利用して、前記器具とその近傍のみを含む器具近傍領域の器具近傍領域画像を取得し、
前記器具部分認識手段は、それぞれの前記器具近傍領域画像から、前記器具の所定部分が写っている位置を認識する器具部分認識処理を行い、
前記2D座標認識手段は、前記器具部分認識処理の結果に基づいて、前記撮像画像上で前記所定部分の位置に対応する2D座標を取得し、
前記3D座標認識手段は、それぞれの前記撮像画像に基づいて前記2D座標認識手段が認識した前記所定部分の2D座標を、前記所持者が存在する3D空間上の3D座標に変換して取得し、取得した前記所定部分の3D座標に基づき、前記3D空間内における前記所定部分の位置に対応する3D座標を認識して取得する
ことを特徴とする認識処理方法。 - 棒形状の器具を所持する1又は複数の所持者を複数の撮像装置と、それぞれの前記撮像装置が撮像した撮像画像に基づいて前記所持者が所持する前記器具の位置を認識する認識処理装置と、前記認識処理装置が行った認識処理の結果に基づいて前記撮像画像又は前記撮像画像を加工した画像に前記器具の位置に応じた画像を合成した合成画像を生成するビジュアル処理装置とを有するビジュアライズシステムであって、前記認識処理装置として請求項1に記載の認識処理装置を適用したことを特徴とするビジュアライズシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019198587A JP7281767B2 (ja) | 2019-10-31 | 2019-10-31 | 認識処理装置、認識処理プログラム、認識処理方法、及びビジュアライズシステム |
JP2019-198587 | 2019-10-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021085453A1 true WO2021085453A1 (ja) | 2021-05-06 |
Family
ID=75713303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/040369 WO2021085453A1 (ja) | 2019-10-31 | 2020-10-28 | 認識処理装置、認識処理プログラム、認識処理方法、及びビジュアライズシステム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7281767B2 (ja) |
WO (1) | WO2021085453A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230114915A1 (en) * | 2021-10-08 | 2023-04-13 | Zhuhai Timeline Technology Co., Ltd. | Real-time ranging method of common-virtual-axis three-dimensional camera based on yolov3-tiny |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022244135A1 (ja) * | 2021-05-19 | 2022-11-24 | 日本電信電話株式会社 | 学習装置、推定装置、学習モデルデータ生成方法、推定方法及びプログラム |
WO2024122476A1 (ja) * | 2022-12-06 | 2024-06-13 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009061283A2 (en) * | 2007-11-09 | 2009-05-14 | National University Of Singapore | Human motion analysis system and method |
JP2012170532A (ja) * | 2011-02-18 | 2012-09-10 | Dunlop Sports Co Ltd | ゴルフクラブ及びボールの挙動の計測方法 |
JP2014512903A (ja) * | 2011-03-22 | 2014-05-29 | ゴルフゾン カンパニー リミテッド | 仮想ゴルフシミュレーション装置に用いられるセンシング装置及びセンシング方法 |
JP2019101892A (ja) * | 2017-12-06 | 2019-06-24 | 日本放送協会 | オブジェクト追跡装置及びそのプログラム |
-
2019
- 2019-10-31 JP JP2019198587A patent/JP7281767B2/ja active Active
-
2020
- 2020-10-28 WO PCT/JP2020/040369 patent/WO2021085453A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009061283A2 (en) * | 2007-11-09 | 2009-05-14 | National University Of Singapore | Human motion analysis system and method |
JP2012170532A (ja) * | 2011-02-18 | 2012-09-10 | Dunlop Sports Co Ltd | ゴルフクラブ及びボールの挙動の計測方法 |
JP2014512903A (ja) * | 2011-03-22 | 2014-05-29 | ゴルフゾン カンパニー リミテッド | 仮想ゴルフシミュレーション装置に用いられるセンシング装置及びセンシング方法 |
JP2019101892A (ja) * | 2017-12-06 | 2019-06-24 | 日本放送協会 | オブジェクト追跡装置及びそのプログラム |
Non-Patent Citations (1)
Title |
---|
MASAKI TAKAHASHI: "Image Processing Technologies in Live Sports Broadcasting", THE JOURNAL OF THE INSTITUTE OF IMAGE ELECTRONICS ENGINEERS OF JAPAN, vol. 48, no. 1, 2019, pages 180 - 181 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230114915A1 (en) * | 2021-10-08 | 2023-04-13 | Zhuhai Timeline Technology Co., Ltd. | Real-time ranging method of common-virtual-axis three-dimensional camera based on yolov3-tiny |
US11688091B2 (en) * | 2021-10-08 | 2023-06-27 | Zhuhai Timeline Technology Co., Ltd. | Real-time ranging method of common-virtual-axis three-dimensional camera based on YOLOv3-tiny |
Also Published As
Publication number | Publication date |
---|---|
JP2021071953A (ja) | 2021-05-06 |
JP7281767B2 (ja) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021085453A1 (ja) | 認識処理装置、認識処理プログラム、認識処理方法、及びビジュアライズシステム | |
JP6821714B2 (ja) | 改良されたカメラ較正システム、標的、およびプロセス | |
JP6602743B2 (ja) | 情報処理装置および情報処理方法 | |
US8705868B2 (en) | Computer-readable storage medium, image recognition apparatus, image recognition system, and image recognition method | |
US10481679B2 (en) | Method and system for optical-inertial tracking of a moving object | |
JP2012156571A (ja) | 表示画像切替装置及び表示画像切替方法 | |
JP6677531B2 (ja) | オブジェクト追跡システム | |
JP2009042162A (ja) | キャリブレーション装置及びその方法 | |
US10665034B2 (en) | Imaging system, display apparatus and method of producing mixed-reality images | |
US9083891B2 (en) | Video monitoring apparatus | |
JPWO2010052772A1 (ja) | カメラ角度算出装置およびカメラ角度算出方法 | |
JP2018206025A5 (ja) | ||
CN103999125B (zh) | 三维测量方法和机器人设备 | |
CN110869978A (zh) | 信息处理装置和信息处理方法 | |
US9843689B1 (en) | Self stabilizing projector | |
JP4881178B2 (ja) | 走行距離映像生成装置及び走行距離映像生成プログラム | |
WO2013125098A1 (ja) | Ar技術を用いたコンピュータ・グラフィックス画像処理システム及び方法 | |
EP3467428A1 (en) | Information processing device, information processing method, program, and image capturing system | |
WO2017163648A1 (ja) | 頭部装着装置 | |
CN112074705A (zh) | 光学惯性跟踪运动物体的方法和系统 | |
US11276197B2 (en) | Information processing apparatus and subject information acquisition method | |
JP5960471B2 (ja) | 画像監視装置 | |
US20180061135A1 (en) | Image display apparatus and image display method | |
GB2352899A (en) | Tracking moving objects | |
JP7274298B2 (ja) | 撮像装置、撮像方法及び撮像プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20882752 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20882752 Country of ref document: EP Kind code of ref document: A1 |