WO2020079814A1 - 算出方法、算出プログラムおよび情報処理装置 - Google Patents
算出方法、算出プログラムおよび情報処理装置 Download PDFInfo
- Publication number
- WO2020079814A1 WO2020079814A1 PCT/JP2018/038872 JP2018038872W WO2020079814A1 WO 2020079814 A1 WO2020079814 A1 WO 2020079814A1 JP 2018038872 W JP2018038872 W JP 2018038872W WO 2020079814 A1 WO2020079814 A1 WO 2020079814A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- point
- vector
- information
- end point
- sensor
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 127
- 238000004364 calculation method Methods 0.000 title claims description 80
- 239000013598 vector Substances 0.000 claims abstract description 640
- 238000013519 translation Methods 0.000 claims abstract description 229
- 238000005259 measurement Methods 0.000 claims abstract description 63
- 239000003550 marker Substances 0.000 claims description 144
- 238000000034 method Methods 0.000 claims description 69
- 238000010586 diagram Methods 0.000 description 68
- 238000012545 processing Methods 0.000 description 55
- 230000006870 function Effects 0.000 description 19
- 230000000694 effects Effects 0.000 description 10
- 239000004973 liquid crystal related substance Substances 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/37—Determination of transform parameters for the alignment of images, i.e. image registration using transform domain methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/14—Transformations for image registration, e.g. adjusting or mapping for alignment of images
- G06T3/147—Transformations for image registration, e.g. adjusting or mapping for alignment of images using affine transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
- G06T7/344—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
- G01S17/42—Simultaneous measurement of distance and other co-ordinates
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4802—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
Definitions
- the present invention relates to a calculation method and the like.
- a distance measuring device such as a laser sensor to detect a three-dimensional point cloud of a subject and recognize the posture of the subject.
- a laser sensor that detects a three-dimensional point cloud of a subject will be simply referred to as a “sensor”.
- a three-dimensional point cloud of the subject viewed from the sensor side can be obtained, but a three-dimensional point cloud of the subject viewed from the opposite side of the sensor cannot be obtained.
- the recognition accuracy of the subject's posture and the like deteriorates. Therefore, by using a plurality of sensors to obtain a three-dimensional point cloud of the subject viewed from a plurality of directions, the accuracy of recognizing the posture and the like of the subject is improved.
- a process of aligning each three-dimensional point cloud detected by each sensor and integrating them into one three-dimensional point cloud is performed.
- the process of aligning each three-dimensional point group detected by each sensor and integrating them into one three-dimensional point group is referred to as “calibration”.
- ICP Intelligent Closest Point
- FIG. 36 is a diagram showing a first sensor arrangement example.
- the sensor 1A and the sensor 1B are arranged to face each other.
- the target range of distance measurement is set to "range 5".
- range 5 since the distances that can be measured by the sensors 1A and 1B overlap each other, the three-dimensional point group of the sensor 1A and the three-dimensional point group of the sensor 1B can be aligned based on the conventional technique. it can.
- FIG. 37 is a diagram showing an example of the distance measurement result of the first sensor arrangement example.
- the measurement result (three-dimensional point group) 2A is the measurement result of the sensor 1A.
- the measurement result (three-dimensional point group) 2B is the measurement result of the sensor 1B.
- it is easy to identify the common part and the three-dimensional point group of the sensor 1A and the three-dimensional point group of the sensor 1B can be aligned.
- the senor has the property that the range that can be measured becomes wider as the distance increases, but the density of the three-dimensional point cloud becomes lower. Further, the sensor has a characteristic that the closer the distance is, the narrower the range that can be measured, but the higher the density of the three-dimensional point cloud.
- a plurality of sensors may be arranged.
- FIG. 38 is a diagram showing a second sensor arrangement example.
- the sensor 1B is arranged in the lateral direction of the sensor 1A.
- the sensor 1D is arranged in the lateral direction of the sensor 1C.
- the sensor 1A and the sensor 1C are arranged to face each other.
- the sensor 1B and the sensor 1D are arranged to face each other.
- the target range for distance measurement is “range 6A”. Since the sensor 1A and the sensor 1C and the sensor 1B and the sensor 1D have a large overlap in the distance-measurable range of each sensor, the three-dimensional point groups can be aligned. However, since the sensor 1A and the sensor 1B and the sensor 1C and the sensor 1D do not overlap each other in the distance-measurable ranges, the three-dimensional point groups should be aligned by the conventional technique. Is difficult.
- FIG. 39 is a diagram (1) showing an example of the distance measurement result of the second sensor arrangement example.
- the measurement result (three-dimensional point group) 3A is the measurement result of the sensor 1A.
- the measurement result (three-dimensional point group) 3B is the measurement result of the sensor 1B.
- FIG. 39 unlike the case shown in FIG. 37, it is difficult to identify the common part.
- FIG. 40 is a diagram (2) showing an example of the measurement result of the second sensor arrangement example.
- the number of three-dimensional point groups included in the common range is small and the range is not sufficiently characteristic. There is.
- the number of three-dimensional point groups included in the common range is small, when performing the alignment between the range 4A and the range 4B, whether rotation is sufficient, rotation by 90 degrees or rotation by 180 degrees is performed. Judgment is difficult and alignment cannot be performed.
- the distance measurement ranges of two sensors do not overlap each other, and even when the number of three-dimensional point clouds included in the overlapping portion of each sensor is small, each of the point clouds measured by a plurality of sensors has a different distance.
- An object of the present invention is to provide a calculation method, a calculation program, and an information processing device that generate information for performing alignment.
- the computer executes the following processing.
- the computer acquires first measurement information including information on a distance to the subject measured by the first sensor and second measurement information including information on a distance to the subject measured by the second sensor.
- the computer acquires the first vector, the second vector in a direction different from the first vector, and the first translational point from the first measurement information.
- the computer handles a third vector that is treated as a vector that is parallel and has the same direction in the real space as the first vector, and a fourth vector that is treated as a vector that is parallel and has the same direction in the real space as the second vector.
- Information on the vector and the second translational point which is treated as being at the same position as the first translational point in the real space is acquired.
- the computer measures the distance to the first sensor based on the end point of the first vector, the end point of the second vector, the first translational point, the end point of the third vector, the end point of the fourth vector, and the second translational point.
- the rotation angle and the translation distance for aligning the point cloud of the subject measured by the second sensor with respect to the point cloud of the subject are calculated.
- the computer stores the rotation angle and the translation distance in the storage device.
- FIG. 1 is a diagram illustrating an example of a system according to the first embodiment.
- FIG. 2 is a diagram showing an example of the appearance of the wall.
- FIG. 3 is a diagram showing an example of a point group included in each distance image information.
- FIG. 4 is a diagram showing an example of each visible image.
- FIG. 5 is a diagram (1) illustrating an example of the instruction screen according to the first embodiment.
- FIG. 6 is a diagram (2) illustrating an example of the instruction screen according to the first embodiment.
- FIG. 7 is a diagram (3) illustrating an example of the instruction screen according to the first embodiment.
- FIG. 8 is a functional block diagram of the configuration of the information processing apparatus according to the first embodiment.
- FIG. 9 is a diagram illustrating an example of the data structure of the distance image table according to the first embodiment.
- FIG. 10 is a diagram showing an example of first to fourth vectors and first and second translational points.
- FIG. 11 is a flowchart of the processing procedure of the information processing apparatus according to the first embodiment.
- FIG. 12 is a diagram showing an example of a portable marker placement table.
- FIG. 13 is a functional block diagram showing the configuration of the scoring device.
- FIG. 14 is a diagram showing an example of the scoring screen.
- FIG. 15 is a flowchart showing a processing procedure of the alignment unit of the scoring device.
- FIG. 16 is a diagram showing an example of the first point group and the second point group after alignment.
- FIG. 17 is a diagram illustrating an example of a marker used in the second embodiment.
- FIG. 18 is a functional block diagram of the configuration of the information processing apparatus according to the second embodiment.
- FIG. 11 is a flowchart of the processing procedure of the information processing apparatus according to the first embodiment.
- FIG. 12 is a diagram showing an example of a portable marker placement table.
- FIG. 19 is a diagram showing an example of the data structure of the marker definition information.
- FIG. 20 is a flowchart of the processing procedure of the information processing apparatus according to the second embodiment.
- FIG. 21 is a diagram showing a player acting on a parallel stand.
- FIG. 22 is a diagram (1) illustrating an example of the instruction screen according to the third embodiment.
- FIG. 23 is a diagram (2) illustrating an example of the instruction screen according to the third embodiment.
- FIG. 24 is a diagram (3) illustrating an example of the instruction screen according to the third embodiment.
- FIG. 25 is a functional block diagram of the configuration of the information processing apparatus according to the third embodiment.
- FIG. 26 is a diagram illustrating an example of the data structure of the distance image table according to the third embodiment.
- FIG. 27 is a flowchart of the processing procedure of the information processing apparatus according to the third embodiment.
- FIG. 28 is a diagram illustrating an example of the marker used in the fourth embodiment.
- FIG. 29 is a diagram showing an example of the reflection intensity image of each marker with a seal.
- FIG. 30 is a functional block diagram of the configuration of the information processing apparatus according to the fourth embodiment.
- FIG. 31 is a diagram showing an example of the data structure of the specific table.
- FIG. 32 is a flowchart (1) illustrating the processing procedure of the information processing apparatus according to the fourth embodiment.
- FIG. 33 is a flowchart (2) showing the processing procedure of the information processing apparatus according to the fourth embodiment.
- FIG. 34 is a diagram illustrating an example of the hardware configuration of a computer that realizes the same functions as the information processing apparatus according to the present embodiment.
- FIG. 35 is a diagram illustrating an example of the hardware configuration of a computer that realizes the same functions as the scoring device according to the present embodiment.
- FIG. 36 is a diagram showing a first sensor arrangement example.
- FIG. 37 is a diagram illustrating an example of a distance measurement result of the first sensor arrangement example.
- FIG. 38 is a diagram showing a second sensor arrangement example.
- FIG. 39 is a diagram (1) illustrating an example of the distance measurement result of the second sensor arrangement example.
- FIG. 40 is a diagram (2) illustrating an example of the distance measurement result of the second sensor arrangement example.
- FIG. 1 is a diagram illustrating an example of a system according to the first embodiment. As shown in FIG. 1, this system includes a sensor 10A, a sensor 10B, and an information processing device 100.
- the direction of distance measurement of the sensor 10A and the sensor 10B is the direction of the wall 15.
- the sensor 10A and the sensor 10B are arranged side by side in the lateral direction.
- the information processing device 100 is connected to the sensor 10A and the sensor 10B.
- FIG. 2 is a diagram showing an example of the appearance of a wall. As shown in FIG. 2, a plurality of marks are arranged on the wall 15. For example, on the wall 15, the range that can be measured by the sensor 10A is a range 15A, and the range that can be measured by the sensor 10B is a range 15B.
- the marks 15-11 to 15-19 are arranged horizontally.
- the marks 15-24 to 15-26 are arranged in the horizontal direction.
- the marks 15-31 to 15-39 are arranged in the horizontal direction.
- a straight line passing through the marks 15-11 to 15-19, a straight line passing through the marks 15-24 to 15-26, and a straight line passing through the marks 15-31 to 15-39 are parallel to each other.
- the angle formed by the straight line passing through the marks 15-14, 15-24, 15-34 and the straight line passing through the marks 15-11 to 15-19 is 90 degrees.
- the angle formed by the straight line passing through the marks 15-15, 15-25, 15-35 and the straight line passing through the marks 15-11 to 15-19 is 90 degrees.
- An angle formed by a straight line passing through the marks 15-16, 15-26 and 15-36 and a straight line passing through the marks 15-11 to 15-19 is 90 degrees.
- the sensor 10A is a measuring device that emits a laser beam to measure the distance between the point cloud forming the subject (wall 15) and the sensor 10A. Further, the sensor 10A captures a visible image. The sensor 10A outputs the first distance image information to the information processing device 100.
- the first distance image information includes information on the distance between the point cloud forming the subject (wall 15) and the sensor 10A and information on the visible image.
- the visible image described in this embodiment corresponds to an image captured by a general camera.
- the sensor 10B is a measuring device that irradiates laser light to measure the distance between the point cloud forming the subject (wall 15) and the sensor 10B. Moreover, the sensor 10B captures a visible image. The sensor 10B outputs the second distance image information to the information processing device 100.
- the second distance image information includes information on the distance between the point cloud forming the subject (wall 15) and the sensor 10B, and information on the visible image.
- FIG. 3 is a diagram showing an example of a point group included in each distance image information.
- each point group is shown according to the reflection intensity as an example.
- the point cloud 16A is a point cloud measured by the sensor 10A.
- the point cloud 16B is a point cloud measured by the sensor 10B.
- FIG. 4 is a diagram showing an example of each visible image.
- an image 18A is a visible image captured by the sensor 10A.
- the image 18B is a visible image captured by the sensor 10B.
- the information processing apparatus 100 aligns the point cloud measured by the sensor 10A and the point cloud measured by the sensor 10B based on the first distance image information and the second distance image information.
- a device for calculating parameters for The parameters include a rotation angle and a translation distance.
- the information processing apparatus 100 detects a vector for rotational alignment and a point for translational alignment from the first distance image information and the second distance image information when aligning each point group.
- first vector the rotation alignment vectors detected from the first distance image information
- second vector The translation matching point detected from the first distance image information
- the vectors for rotation alignment detected from the second distance image information are described as “third vector” and “fourth vector”.
- the translation matching point detected from the second distance image information is referred to as a "second translation point”.
- Condition 1 is a condition that "the direction of the first vector and the direction of the third vector are the same direction in the real space.” Note that the position of the first vector and the position of the third vector do not have to be the same in the real space. The length of the first vector and the length of the third vector do not have to be the same in the real space.
- Condition 2 is that "the direction of the second vector and the direction of the fourth vector are the same direction in the real space”. Note that the position of the second vector and the position of the fourth vector do not have to be the same in the real space. The length of the second vector and the length of the fourth vector do not have to be the same in the real space.
- Condition 3 is a condition that “the first vector (third vector) and the second vector (fourth vector) are not in the same direction in the real space and are not in the opposite direction”.
- the angle formed by the first vector (third vector) and the second vector (fourth vector) is preferably close to 90 degrees.
- Condition 4 is a condition that "the position of the first translational point and the position of the second translational point are the same position in the real space”.
- the information processing apparatus 100 generates and displays an instruction screen based on the visible images of the sensors 10A and 10B, and allows the user to start and end the first to fourth vectors, and to translate the first and second vectors. Accept point selection. The user satisfies the above conditions 1 to 4 when selecting the start and end points of the first to fourth vectors and the first and second translational points.
- FIG. 5 is a diagram (1) showing an example of the instruction screen according to the first embodiment.
- the instruction screen 20 shown in FIG. 5 is a screen generated based on the visible image of the sensor 10A.
- the user refers to the instruction screen 20 and operates the input device of the information processing apparatus 100 to select the start point of the first vector and the end point of the first vector.
- the point 20a is selected as the start point of the first vector and the point 20b is selected as the end point of the first vector.
- the information processing apparatus 100 displays an instruction screen for accepting the selection of the third vector based on the visible image of the sensor 10B.
- the user refers to the instruction screen and selects the start point of the third vector and the end point of the third vector.
- the first vector and the third vector satisfy the condition 1.
- FIG. 6 is a diagram (2) showing an example of the instruction screen according to the first embodiment.
- the instruction screen 21 shown in FIG. 6 is a screen generated based on the visible image of the sensor 10A.
- the user refers to the instruction screen 21 and operates the input device of the information processing device 100 to select the start point of the second vector and the end point of the second vector.
- the point 20a is selected as the start point of the second vector
- the point 20c is selected as the end point of the second vector.
- the information processing apparatus 100 displays an instruction screen for accepting selection of the fourth vector based on the visible image of the sensor 10B.
- the user refers to the instruction screen and selects the start point of the fourth vector and the end point of the fourth vector.
- the second vector and the fourth vector satisfy the condition 2.
- the user makes the first vector and the second vector satisfy the condition 3.
- the user makes the third vector and the fourth vector satisfy the condition 3.
- FIG. 7 is a diagram (3) showing an example of the instruction screen according to the first embodiment.
- the instruction screen 22 shown in FIG. 7 is a screen generated based on the visible image of the sensor 10A.
- the user refers to the instruction screen 22 and operates the input device of the information processing device 100 to select the first translational point.
- the point 20a is selected as the first translation point.
- the information processing apparatus 100 displays an instruction screen for accepting the second translational point based on the visible image of the sensor 10B.
- the user refers to the instruction screen and selects the second translational point.
- the user makes the position of the first translational point and the position of the second translational point satisfy Condition 4.
- the information processing apparatus 100 displays the instruction screen and receives the start point and end point of the first vector, the start point and end point of the second vector, and the first translation point from the user.
- the information processing apparatus 100 displays an instruction screen and receives from the user the start point and end point of the third vector, the start point and end point of the fourth vector, and the second translational point.
- the information processing apparatus 100 aligns the point cloud measured by the sensor 10A with the point cloud measured by the sensor 10B based on the first to fourth vectors and the first and second translation points. Calculate the parameters for In this way, by receiving an instruction for specifying the first to fourth vectors and the first and second translational points from the user using the instruction screen, the distance measurement range of the sensor 10A and the measurement of the sensor 10B are detected. Positioning can be performed even when the number of three-dimensional point groups included in the range common to the distance range is small and does not have a sufficiently characteristic shape.
- FIG. 8 is a functional block diagram of the configuration of the information processing apparatus according to the first embodiment.
- the information processing device 100 includes an interface unit 110, an input unit 120, a display unit 130, a storage unit 140, and a control unit 150.
- the interface unit 110 is a communication device that receives information from the sensors 10A and 10B.
- the interface unit 110 receives the first range image information from the sensor 10A and outputs the received first range image information to the control unit 150.
- the interface unit 110 receives the second range image information from the sensor 10B and outputs the received second range image information to the control unit 150. Further, the interface unit 110 may be connected to a scoring device described later.
- the input unit 120 is an input device for inputting various information to the information processing device 100.
- the input unit 120 corresponds to a keyboard, a mouse, a touch panel, or the like.
- the user refers to the instruction screens shown in FIGS. 5 to 7 and operates the input unit 120 to select the start point and end point of the first vector, the start point and end point of the second vector, and the first translation point. Further, the user operates the input unit 120 to select the start point and end point of the third vector, the start point and end point of the fourth vector, and the second translation point.
- the display unit 130 is a display device that displays various information output from the control unit 150.
- the display unit 130 corresponds to a liquid crystal display, a touch panel, or the like.
- the display unit displays the instruction screen shown in FIGS.
- the storage unit 140 has a distance image table 140a and a parameter 140b.
- the storage unit 140 corresponds to semiconductor memory devices such as RAM (Random Access Memory), ROM (Read Only Memory), and flash memory (Flash Memory), and storage devices such as HDD (Hard Disk Drive).
- the distance image table 140a is a table holding the first distance image information output from the sensor 10A and the second distance image information output from the sensor 10B.
- FIG. 9 is a diagram illustrating an example of the data structure of the distance image table according to the first embodiment.
- the distance image table 140a has first distance image information and second distance image information.
- the first distance image information includes coordinate information (three-dimensional coordinates of each point) of the point group measured by the sensor 10A and information of a visible image captured by the sensor 10A. It is assumed that each point group is associated with each position of the visible image. Although illustration is omitted, each point is given a number that uniquely identifies the point.
- the second distance image information includes coordinate information of each point group measured by the sensor 10B (three-dimensional coordinates of each point) and information of a visible image captured by the sensor 10B. It is assumed that each point group is associated with each position of the visible image. Although illustration is omitted, each point is given a number that uniquely identifies the point.
- the parameter 140b is a parameter for aligning the point cloud measured by the sensor 10A and the point cloud measured by the sensor 10B.
- the parameter 140b includes information on the alignment rotation angle and information on the alignment translation distance.
- the control unit 150 includes a first acquisition unit 150a, a provision unit 150b, a second acquisition unit 150c, a calculation unit 150d, and an output unit 150e.
- the control unit 150 can be realized by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like.
- the control unit 150 can also be realized by hard-wired logic such as ASIC (Application Specific Integrated Circuit) and FPGA (Field Programmable Gate Array).
- the first acquisition unit 150a acquires the first distance image information from the sensor 10A via the interface unit 110, and registers the acquired first distance image information in the distance image table 140a.
- the first acquisition unit 150a acquires the second range image information from the sensor 10B and registers the acquired second range image information in the range image table 140a.
- the first acquisition unit 150a When registering the first distance image information in the distance image table 140a, the first acquisition unit 150a converts the information on the distance between each point cloud and the sensor 10A into three-dimensional coordinate information. For example, the first acquisition unit 150a uses a conversion table for converting the distance into three-dimensional coordinates when converting the distance information into three-dimensional coordinate information.
- the first acquisition unit 150a When registering the second range image information in the range image table 140a, the first acquisition unit 150a converts information on the distance between each point cloud and the sensor 10B into three-dimensional coordinate information. For example, the first acquisition unit 150a uses a conversion table for converting the distance into three-dimensional coordinates when converting the distance information into three-dimensional coordinate information.
- the providing unit 150b is a processing unit that displays the instruction screen by generating the information of the instruction screen and outputting the information of the instruction screen to the display unit 130.
- the instruction screens displayed on the display unit 130 correspond to the instruction screens 20, 21, 22 and the like shown in FIGS.
- the providing unit 150b generates an instruction screen based on the visible image stored in the distance image table 140a.
- the providing unit 150b generates an instruction screen for receiving the selection of the first vector, the second vector, and the first translational point using the visible image of the first distance image information.
- the providing unit 150b determines whether to select the start point and end point of the first vector, the start point and end point of the second vector, or the first translation point when generating the information of the instruction screen. Add a comment.
- the providing unit 150b generates an instruction screen for receiving the selection of the third vector, the fourth vector, and the second translational point using the visible image of the second distance image information.
- the providing unit 150b distinguishes, when generating the information of the instruction screen, whether to select the start point and the end point of the third vector, the start point and the end point of the fourth vector, or the second translation point. Add a comment.
- the second acquisition unit 150c based on the information selected by the user on the instruction screen, the first vector, the second vector, the first translational point, the third vector, the fourth vector, the second translational point. Is a processing unit that acquires
- the providing unit 150b displays an instruction screen for selecting the start point and end point of the first vector on the display unit 130
- the user operates the input unit 120 to select the start point and end point of the first vector.
- the second acquisition unit 150c acquires information on the start point and end point of the first vector from the input unit 120.
- the point 20a is selected as the start point and the point 20b is selected as the end point.
- the information on the start point and end point of the first vector selected by the input unit 120 corresponds to the coordinates of the visible image.
- the 2nd acquisition part 150c specifies the identification information of the point corresponding to the starting point of the 1st vector selected by the user on the instruction screen from each point group based on the 1st distance image information of the distance image table 140a. .
- the identification information of the point corresponding to the start point of the first vector will be referred to as “first start point identification information”.
- the second acquisition unit 150c specifies, from each point group, identification information of a point corresponding to the end point of the first vector selected by the user on the instruction screen, based on the first distance image information of the distance image table 140a. .
- the identification information of the point corresponding to the end point of the first vector will be referred to as “first end point identification information”.
- the providing unit 150b displays an instruction screen for selecting the start point and end point of the second vector on the display unit 130
- the user operates the input unit 120 to select the start point and end point of the second vector.
- the second acquisition unit 150c acquires information on the start point and end point of the second vector from the input unit 120.
- the point 20a is selected as the start point and the point 20c is selected as the end point.
- the information on the start point and the end point of the second vector selected by the input unit 120 corresponds to the coordinates of the visible image.
- the 2nd acquisition part 150c specifies the identification information of the point corresponding to the starting point of the 2nd vector selected by the user on the instruction screen from each point group based on the 1st distance image information of the distance image table 140a. .
- the identification information of the point corresponding to the start point of the second vector will be referred to as "second start point identification information”.
- the second acquisition unit 150c identifies, from each point group, the identification information of the point corresponding to the end point of the second vector selected by the user on the instruction screen, based on the first distance image information of the distance image table 140a. .
- the identification information of the point corresponding to the end point of the second vector will be referred to as “second end point identification information”.
- the providing unit 150b displays an instruction screen for selecting the first translation point on the display unit 130
- the user operates the input unit 120 to select the first translation point.
- the second acquisition unit 150c acquires information on the first translational point from the input unit 120.
- the point 20a is selected as the first translational point.
- the information on the first translational point selected by the input unit 120 corresponds to the coordinates of the visible image.
- the 2nd acquisition part 150c specifies the identification information of the point corresponding to the 1st translation point selected by the user on the instruction screen from each point group based on the 1st distance image information of the distance image table 140a. .
- the identification information of the point corresponding to the first translation point will be referred to as "first translation point identification information”.
- the second acquisition unit 150c outputs the first start point identification information, the first end point identification information, the second start point identification information, the second end point identification information, and the first translation point identification information to the calculation unit 150d.
- the providing unit 150b displays an instruction screen for selecting the start point and end point of the third vector on the display unit 130
- the user operates the input unit 120 to select the start point and end point of the third vector.
- the second acquisition unit 150c acquires information on the start point and end point of the third vector from the input unit 120.
- the information on the start point and end point of the third vector selected by the input unit 120 corresponds to the coordinates of the visible image.
- the 2nd acquisition part 150c specifies the identification information of the point corresponding to the starting point of the 3rd vector selected by the user on the instruction screen from each point group based on the 2nd distance image information of the distance image table 140a. .
- the identification information of the point corresponding to the start point of the third vector will be referred to as “third start point identification information”.
- the second acquisition unit 150c specifies, from each point group, identification information of a point corresponding to the end point of the third vector selected by the user on the instruction screen, based on the second distance image information of the distance image table 140a. .
- the identification information of the point corresponding to the end point of the third vector will be referred to as “third end point identification information”.
- the providing unit 150b displays an instruction screen for selecting the start point and end point of the fourth vector on the display unit 130
- the user operates the input unit 120 to select the start point and end point of the fourth vector.
- the second acquisition unit 150c acquires information on the start point and end point of the fourth vector from the input unit 120.
- Information on the start point and end point of the fourth vector selected by the input unit 120 corresponds to the coordinates of the visible image.
- the second acquisition unit 150c identifies, from each point group, identification information of a point corresponding to the start point of the fourth vector selected by the user on the instruction screen, based on the second distance image information of the distance image table 140a. .
- the identification information of the point corresponding to the start point of the fourth vector will be referred to as “fourth start point identification information”.
- the second acquisition unit 150c specifies, from each point group, identification information of a point corresponding to the end point of the fourth vector selected by the user on the instruction screen, based on the second distance image information of the distance image table 140a. .
- the identification information of the point corresponding to the end point of the fourth vector will be referred to as “fourth end point identification information”.
- the providing unit 150b displays an instruction screen for selecting the second translation point on the display unit 130
- the user operates the input unit 120 to select the second translation point.
- the second acquisition unit 150c acquires information on the second translational point from the input unit 120.
- the information on the second translational point selected by the input unit 120 corresponds to the coordinates of the visible image.
- the second acquisition unit 150c identifies, from each point group, identification information of a point corresponding to the second translation point selected by the user on the instruction screen, based on the second distance image information of the distance image table 140a. ..
- the identification information of the point corresponding to the second translation point will be referred to as "second translation point identification information”.
- the second acquisition unit 150c outputs the third start point identification information, the third end point identification information, the fourth start point identification information, the fourth end point identification information, and the second translation point identification information to the calculation unit 150d.
- the calculation unit 150d calculates a rotation angle and a translation distance for alignment based on the first vector, the second vector, the third vector, the fourth vector, the first translation point, and the second translation point. Is.
- the calculation unit 150d stores the calculated rotation angle and translation distance information in the storage unit 140 as the parameter 140b.
- the rotation angle and translation distance for alignment included in the parameter 140b are appropriately referred to as "alignment rotation angle” and "alignment translation distance”.
- the calculation unit 150d identifies the three-dimensional coordinates of the start point and the end point of each vector and the three-dimensional coordinate of each translation point by executing the following process.
- the calculation unit 150d detects the three-dimensional coordinates of the start point and the end point of the first vector based on the first start point identification information and the first end point identification information and the first distance image information of the distance image table 140a, Identify one vector.
- the calculation unit 150d detects the three-dimensional coordinates of the start point and the end point of the second vector based on the second start point identification information and the second end point identification information, and the first distance image information, and specifies the second vector. .
- the calculation unit 150d identifies the three-dimensional coordinates of the first translation point based on the first translation identification information and the first distance image information.
- the calculation unit 150d detects the three-dimensional coordinates of the start point and the end point of the third vector based on the third start point identification information and the third end point identification information and the second distance image information of the distance image table 140a, Specify 3 vectors.
- the calculation unit 150d detects the three-dimensional coordinates of the start point and end point of the fourth vector based on the fourth start point identification information and the fourth end point identification information, and the second distance image information, and specifies the second vector. .
- the calculation unit 150d identifies the three-dimensional coordinates of the second translation point based on the second translation identification information and the second distance image information.
- FIG. 10 is a diagram showing an example of first to fourth vectors and first and second translational points.
- a point cloud 16A is a point cloud measured by the sensor 10A.
- the point cloud 16B is a point cloud measured by the sensor 10B.
- the vector 16A-1 of the point group 16A is the first vector.
- the vector 16A-2 of the point group 16A is the first vector.
- Point 17A is the first translational point.
- the vector 16B-3 of the point cloud 16A is the third vector.
- the vector 16B-4 of the point group 16B is the fourth vector.
- Point 17B is the second translational point.
- the calculation unit 150d converts the first vector, the second vector, the third vector, and the fourth vector into unit vectors. For example, the calculation unit 150d divides the first vector by the length of the first vector to convert the first vector into a unit vector. The other vectors are similarly converted into unit vectors.
- the unit vectorized first vector, second vector, third vector, and fourth vector are simply referred to as the first vector, second vector, third vector, and fourth vector, respectively.
- the calculation unit 150d moves the starting points of the first vector, the second vector, the third vector, and the fourth vector to the position of the origin of the three-dimensional coordinates.
- the calculation unit 150d calculates the rotation angle of the third vector that minimizes the total distance D in Expression (1).
- D 13 represents the distance between the end point of the first vector and the end point of the third vector.
- D 24 indicates the distance between the end point of the second vector and the end point of the fourth vector.
- the rotation angle has an X rotation angle, a Y rotation angle, and a Z rotation angle.
- the X rotation angle corresponds to the rotation angle (roll) around the x axis.
- the Y rotation angle corresponds to the rotation angle (pitch) around the y axis.
- the Z rotation angle indicates a rotation angle (yaw) around the z axis.
- the calculation unit 150d fixes the first vector and the second vector, changes the rotation angle of the third vector, and calculates the minimum total distance D. For example, the calculation unit 150d repeatedly executes the process of calculating the total distance D by gradually changing the X rotation angle, the Y rotation angle, and the Z rotation angle, and the X rotation angle and the Y rotation that minimize the total distance D. The angle and the Z rotation angle are searched. The calculation unit 150d maintains the positional relationship between the third vector and the fourth vector. That is, the rotation angle of the fourth vector is changed according to the change of the rotation angle with respect to the third vector.
- the rotation angle that minimizes the total distance D is the “positioning rotation angle”.
- Calculating unit 150d performs a process of calculating a translation distance after calculating the alignment rotation angle.
- the calculation unit 150d rotates the three-dimensional coordinates of the second translational point by the alignment rotation angle.
- the calculation unit 150d calculates the difference between the three-dimensional coordinates of the second translation point rotated by the alignment rotation angle and the three-dimensional coordinate of the first translation point as the alignment translation distance.
- the alignment translation distance includes an X translation distance, a Y translation distance, and a Z translation distance.
- the X translation distance is the difference between the x coordinate of the first translation point and the x coordinate of the second translation point.
- the Y translation distance is the difference between the y coordinate of the first translation point and the y coordinate of the second translation point.
- the Z translation distance is the difference between the z coordinate of the first translation point and the z coordinate of the second translation point.
- the calculation unit 150d stores the alignment rotation angle and the alignment translation distance calculated by the above process in the storage unit 140 as the parameter 140d.
- the output unit 150e is a processing unit that outputs the parameter 140b to an external device such as a scoring device.
- FIG. 11 is a flowchart of the processing procedure of the information processing apparatus according to the first embodiment.
- the first acquisition unit 150a of the information processing apparatus 100 acquires the first distance image information and the second distance image information from the sensors 10A and 10B (step S101).
- the providing unit 150b of the information processing device 100 generates information on the instruction screen and causes the display unit 130 to display the instruction screen (step S102).
- the second acquisition unit 150c of the information processing apparatus 100 acquires the start point and end point of the first vector, the start point and end point of the second vector, and the first translation point from the point cloud of the sensor 10A based on the selection made by the user. Yes (step S103).
- the second acquisition unit 150c acquires the start point and end point of the third vector, the start point and end point of the fourth vector, and the second translation point from the point group of the sensor 10B based on the selection by the user (step S104). .
- the calculation unit 150d of the information processing device 100 converts the first to fourth vectors into unit vectors (step S105).
- the calculation unit 150d moves the first to fourth vectors so that the start point becomes the origin of the three-dimensional coordinates (step S106).
- the calculation unit 150d calculates the rotation angle (positioning rotation angle) of the end point of the sensor 10B that minimizes the total distance D (step S107).
- the calculation unit 150d rotates the second translational point by the alignment rotation angle (step S108).
- the calculation unit 150d calculates the difference between the coordinate of the first translation point and the coordinate of the rotated second translation point as the translation distance (positioning translation distance) (step S109).
- the calculation unit 150d stores the alignment rotation angle and the alignment translation distance in the storage unit 140 as the parameter 140b (step S110).
- the information processing apparatus 100 displays an instruction screen to acquire the first to fourth vectors, the first and second translation points that satisfy the conditions 1 to 4, and the first to fourth vectors, the first and second translation points. Based on the points, a parameter for aligning the point cloud measured by the sensor 10A and the point cloud measured by the sensor 10B is calculated. In this way, the selection for identifying the first to fourth vectors, the first and second translational points satisfying the conditions 1 to 4 is received from the user using the instruction screen, and thus the range of the sensor 10A is measured. Then, even if the number of three-dimensional point groups included in the range common to the distance measurement range of the sensor 10B is small and the shape is not sufficiently characteristic, alignment can be performed.
- FIG. 12 is a diagram showing an example of a portable marker placement table.
- the marker arrangement table 30 shown in FIG. 12 includes markers 30-1 to 30-4.
- the markers 30-1 to 30-3 are arranged in the horizontal direction.
- the angle formed by the straight line passing through the markers 30-1 to 30-3 and the straight line passing through the markers 30-1 and 30-4 is 90 degrees.
- a range in which the distance can be measured by the sensor 10A is set to a range 30A.
- a range in which the distance can be measured by the sensor 10B is referred to as a range 30B.
- the information processing apparatus 100 generates information on the instruction screen based on the visible image of the marker placement table 30 and displays it on the display unit 130.
- the information processing apparatus 100 accepts selection of the start and end points of the first to fourth vectors and the first and second translational points from the user who refers to the instruction screen.
- the scoring device for scoring the performance of a player who performs gymnastics will be described using the parameter 140b calculated by the information processing device 100 according to the first embodiment.
- the parameter 140b calculated by the information processing device 100 can be used as long as the device is not limited to the scoring device and that senses an object using a plurality of sensors. .
- FIG. 13 is a functional block diagram showing the configuration of the scoring device.
- the scoring device 200 is connected to the sensor 10A, the sensor 10B, and the display device 250.
- the sensor 10A and the sensor 10B correspond to the sensor 10A and the sensor 10B shown in FIG. It is assumed that the arrangement situation of the sensors 10A and 10B shown in FIG. 12 is the same as the arrangement situation of the sensors 10A and 10B shown in FIG.
- the installation status indicates the arrangement position of the sensors 10A and 10B and the direction of the sensor.
- the sensors 10A and 10B measure the first distance image information and the second distance image information including the player 7A.
- the display device 250 is a display device that displays information output from the scoring device.
- the display device 250 corresponds to, for example, a liquid crystal display, a touch panel, or the like.
- the scoring device 200 has a storage unit 201, an acquisition unit 202, an alignment unit 203, a recognition unit 204, and an output unit 205.
- the storage unit 201 has a parameter 140b.
- the storage unit 201 corresponds to a semiconductor memory device such as RAM, ROM, flash memory, or a storage device such as HDD.
- the parameter 140b is information corresponding to the parameter 140b described in FIG.
- the acquisition unit 202 acquires the first range image information from the sensor 10A and the second range image information from the sensor 10b.
- the acquisition unit 202 extracts the first point group forming the subject 6 included in the first distance image information based on the first distance image information and the first background frame.
- the acquisition unit 202 extracts the second point cloud forming the subject 6 included in the second distance image information, based on the second distance image information and the second background frame.
- the acquisition unit 202 outputs the coordinate information of the first point group and the coordinate information of the first point group to the alignment unit 203.
- the first background frame indicates the first distance image information that does not include the subject 6, and is set in advance.
- the second background frame indicates the second distance image information that does not include the subject 6, and is set in advance.
- the alignment unit 203 is a processing unit that aligns the first point group and the second point group based on the parameter 140b.
- the alignment unit 203 aligns the coordinates of each point included in the second point group based on the alignment rotation angle and the alignment translation distance included in the parameter 140b.
- the alignment unit 203 outputs information about the aligned second point group and the aligned first point group to the recognition unit 204.
- the recognition unit 204 is a processing unit that recognizes the skeleton of the subject 6 by combining the aligned second point group and first point group.
- the recognizing unit 204 detects the position of the skeleton of the subject 6 at each time, compares the transition of the skeleton position with a table (not shown) that defines the scoring standard, and scores the performance of the subject 6.
- the recognition unit 204 outputs the information of the scoring result to the output unit 205.
- the scoring result information includes a D (Difficulty) score and an E (Execution) score.
- the output unit 205 is a processing unit that generates scoring screen information based on the scoring result information.
- the output unit 205 outputs the scoring screen information to the display device 250 for display.
- FIG. 14 is a diagram showing an example of the scoring screen. As shown in FIG. 14, the scoring screen information 65 includes areas 65a, 65b, 65c.
- the area 65a is an area for displaying scoring results such as D score and E score.
- the area 65b is an area for displaying an image of the subject 6 captured by a camera or the like.
- the area 65c is an area for displaying a 3D model estimated based on the skeleton information estimated from the aligned first point group and second aligned point group.
- FIG. 15 is a flowchart showing a processing procedure of the alignment unit of the scoring device.
- the case where the second point group is aligned will be described, but the first point group is also aligned in the same manner as the second point group.
- the alignment unit 203 of the scoring device 200 translates the second point cloud by the X translation distance (step S201).
- the alignment unit 203 translates the second point group by the Y translation distance (step S202).
- the alignment unit 203 translates the second point group by the Z translation distance (step S203).
- Alignment unit 203 rotates the second point group about the X axis by the X rotation angle (step S204).
- the alignment unit 203 rotates the second point group about the Y axis by the Y rotation angle (step S205).
- the alignment unit 203 rotates the second point group about the Z axis by the Z rotation angle (step S206).
- the scoring device 200 aligns the point cloud measured by the sensors 10A and 10B on the basis of the parameter 140b generated by the information processing apparatus 100 to accurately determine the point cloud of the entire subject. Can be specified to improve the scoring accuracy.
- FIG. 16 is a diagram showing an example of the first point group and the second point group after alignment.
- FIG. 16 shows the alignment result of the point group 16A (first point group) and the point group 16B (second point group) shown in FIG. As shown in FIG. 16, the positions of the markers are accurately matched.
- the function of the information processing device 100 may include the function of the scoring device 200. That is, the control unit 150 of the information processing device 100 may include the alignment unit 203, the recognition unit 240, the output unit 205, and the like of the scoring device 200.
- the information processing apparatus according to the second embodiment is connected to the sensor 10A and the sensor 10B as in the first embodiment.
- the information processing apparatus automatically detects the center coordinates of the marker. Further, by arranging each marker in a different shape and in a predetermined positional relationship, the shape of each mark is recognized and the first to fourth vectors satisfying the conditions 1 to 4, 2 Automatically detect the translational point. By executing such processing, it is possible to calculate the parameter for performing alignment without the user selecting each vector or translation point so as to satisfy the conditions 1 to 4.
- FIG. 17 is a diagram showing an example of a marker used in the second embodiment.
- the wall 35 includes markers 35-1 to 35-4.
- the markers 35-1 to 35-3 are arranged in the horizontal direction.
- the angle formed by the straight line passing through the markers 35-1 to 35-3 and the straight line passing through the markers 35-1 and 35-4 is 90 degrees.
- a range in which the distance can be measured by the sensor 10A is referred to as a range 35A.
- a range in which the distance can be measured by the sensor 10B is a range 35B.
- the markers 35-1 to 35-4 has a unique shape.
- the marker 35-1 is a “triangle”.
- the marker 35-2 is a “quadrangle (diamond)”.
- the marker 35-3 is a “pentagon”.
- the marker 35-4 is a “hexagon”.
- FIG. 18 is a functional block diagram showing the configuration of the information processing apparatus according to the second embodiment.
- the information processing device 300 includes an interface unit 210, an input unit 320, a display unit 330, a storage unit 340, and a control unit 350.
- the interface unit 210 is a communication device that receives information from the sensors 10A and 10B.
- the interface unit 210 receives the first range image information from the sensor 10A and outputs the received first range image information to the control unit 350.
- the interface unit 210 receives the second range image information from the sensor 10B and outputs the received second range image information to the control unit 350.
- the interface unit 210 may be connected to the scoring device 200 described in the first embodiment.
- the input unit 320 is an input device for inputting various information to the information processing device 100.
- the input unit 120 corresponds to a keyboard, a mouse, a touch panel, or the like. The user operates the input unit 120 to input various kinds of information.
- the display unit 330 is a display device that displays various information output from the control unit 350.
- the display unit 330 corresponds to a liquid crystal display, a touch panel, or the like.
- the storage unit 340 has a distance image table 340a and parameters 340b.
- the storage unit 340 corresponds to a semiconductor memory device such as RAM, ROM, or flash memory, or a storage device such as HDD.
- the distance image table 340a is a table that holds the first distance image information output from the sensor 10A and the second distance image information output from the sensor 10B.
- the data structure of the distance image table 340a is similar to the data structure of the distance image table 140a shown in FIG.
- the parameter 340b is a parameter for aligning the point cloud measured by the sensor 10A and the point cloud measured by the sensor 10B.
- the parameters include information on the alignment rotation angle and information on the alignment translation distance.
- the marker definition information 340c is information indicating the correspondence between the characteristics of each marker and the start point, end point, and translational point of each vector.
- FIG. 19 is a diagram showing an example of the data structure of the marker definition information. As shown in FIG. 19, the marker definition information associates the marker feature with the start and end points of each vector and the translation point by an on / off flag. On indicates that the association is valid, and off indicates that the association is invalid.
- the marker of the marker feature “triangle” is defined to be the starting point of the first vector.
- the marker of the marker feature “quadrilateral” is defined to be the end point of the first vector, the start point of the second vector, the start point of the third vector, the start point of the fourth vector, and the translation point.
- the marker of the marker feature “pentagon” is defined as the end point of the third vector. It is defined that the marker of the marker feature “hexagon” is the end point of the second vector and the end point of the fourth vector.
- the control unit 350 includes a first acquisition unit 350a, a second acquisition unit 350b, a calculation unit 350c, and an output unit 350d.
- the control unit 350 can be realized by a CPU, MPU, or the like.
- the control unit 350 can also be realized by hard-wired logic such as ASIC or FPGA.
- the first acquisition unit 350a acquires the first distance image information from the sensor 10A via the interface unit 310, and registers the acquired first distance image information in the distance image table 340a.
- the first acquisition unit 350a acquires the second distance image information from the sensor 10B and registers the acquired second distance image information in the distance image table 340a.
- the other description regarding the first acquisition unit 350a is the same as the description regarding the first acquisition unit 150a described in the first embodiment.
- the second acquisition unit 350b based on each visible image of the first and second distance image information and the marker definition information 340c, the first vector, the second vector, the first translation point, the third vector, the fourth vector.
- a processing unit that acquires a vector and a second translational point.
- the second acquisition unit 350b performs pattern matching with a polygonal (triangular, quadrangular, pentagonal, hexagonal) template for the visible image in the distance image table 340a to perform the triangle, quadrangle, and pentagon. Detects polygonal and hexagonal markers. The second acquisition unit 350b determines, based on the marker definition information 340c, which marker corresponds to the starting point, the ending point, and the translation point of which vector, the first vector, the second vector, and the The first translation point, the third vector, the fourth vector, and the second translation point are acquired.
- the second acquisition unit 350b selects a point (start point of the first vector) included in the triangular marker (center of the marker) on the visible image of the first distance image information. When there are a plurality of points included in the triangular marker, the second acquisition unit 350b selects any one of the points.
- the 2nd acquisition part 350b specifies the identification information of the point corresponding to the selected point (starting point of the 1st vector) from each point group based on the 1st distance image information of distance image table 340a.
- the identification information of the point corresponding to the start point of the first vector will be referred to as “first start point identification information”.
- the second acquisition unit 350b determines the points (the end point of the first vector, the start point of the second vector, the first translation point) included in the quadrangular marker (center of the marker) on the visible image of the first distance image information. select. When there are a plurality of points included in the rectangular marker, the second acquisition unit 350b selects any one of the points.
- the second acquisition unit 350b identifies the point corresponding to the selected point (the end point of the first vector, the start point of the second vector, the first translation point) based on the first range image information of the range image table 340a.
- Information is identified from each point cloud.
- the identification information of the point corresponding to the end point of the first vector will be referred to as “first end point identification information”.
- the identification information of the point corresponding to the start point of the second vector will be referred to as “second start point identification information”.
- the identification information of the point corresponding to the first translation point will be referred to as "first translation point identification information”.
- the points indicated by the first end point identification information, the second start point identification information, and the first translation point identification information are the same points.
- the second acquisition unit 350b selects a point (end point of the second vector) included in the hexagonal marker (center of the marker) on the visible image of the first distance image information. When there are a plurality of points included in the hexagonal marker, the second acquisition unit 350b selects any one of the points.
- the 2nd acquisition part 350b specifies the identification information of the point corresponding to the selected point (end point of the 2nd vector) from each point group based on the 1st distance image information of distance image table 340a.
- the identification information of the point corresponding to the end point of the second vector will be referred to as “second end point identification information”.
- the second acquisition unit 350b determines the points (the start point of the third vector, the start point of the fourth vector, the second translation point) included in the quadrangular marker (center of the marker) on the visible image of the second distance image information. select. When there are a plurality of points included in the rectangular marker, the second acquisition unit 350b selects any one of the points.
- the second acquisition unit 350b identifies the point corresponding to the selected point (the start point of the third vector, the start point of the fourth vector, the second translation point) based on the second range image information of the range image table 340a.
- Information is identified from each point cloud.
- the identification information of the point corresponding to the start point of the third vector will be referred to as “third start point identification information”.
- the identification information of the point corresponding to the start point of the fourth vector will be referred to as “fourth start point identification information”.
- the identification information of the point corresponding to the second translation point will be referred to as "second translation point identification information”.
- the points indicated by the third start point identification information, the fourth start point identification information, and the second translation point identification information are the same points.
- the second acquisition unit 350b selects a point (end point of the third vector) included in the pentagonal marker (center of the marker) on the visible image of the second distance image information. When there are a plurality of points included in the pentagonal marker, the second acquisition unit 350b selects any one of the points.
- the 2nd acquisition part 350b specifies the identification information of the point corresponding to the selected point (end point of the 3rd vector) from each point group based on the 2nd distance image information of distance image table 340a.
- the identification information of the point corresponding to the end point of the third vector will be referred to as “third end point identification information”.
- the second acquisition unit 350b selects a point (end point of the fourth vector) included in the hexagonal marker (center of the marker) on the visible image of the second distance image information. When there are a plurality of points included in the hexagonal marker, the second acquisition unit 350b selects any one of the points.
- the 2nd acquisition part 350b specifies the identification information of the point corresponding to the selected point (end point of the 4th vector) from each point group based on the 2nd distance image information of distance image table 340a.
- the identification information of the point corresponding to the end point of the fourth vector will be referred to as “fourth end point identification information”.
- the second acquisition unit 350b outputs the first start point identification information, the first end point identification information, the second start point identification information, the second end point identification information, and the first translation point identification information to the calculation unit 350c.
- the second acquisition unit 350b outputs the third start point identification information, the third end point identification information, the fourth start point identification information, the fourth end point identification information, and the second translation point identification information to the calculation unit 350c.
- the calculation unit 350c calculates a rotation angle and a translation distance for alignment based on the first vector, the second vector, the third vector, the fourth vector, the first translation point, and the second translation point. Is.
- the calculation unit 350c stores the calculated rotation angle and translation distance information in the storage unit 340 as the parameter 340b.
- the process of the calculation unit 350c is the same as the process of the calculation unit 150d described in the first embodiment.
- the output unit 350d is a processing unit that outputs the parameter 340b to an external device such as the scoring device 200 described in the first embodiment.
- FIG. 20 is a flowchart of the processing procedure of the information processing apparatus according to the second embodiment.
- the first acquisition unit 350a of the information processing device 300 acquires the first distance image information and the second distance image information from the sensors 10A and 10B (step S301).
- the second acquisition unit 350b of the information processing device 300 determines the start point and end point of the first vector, the start point and end point of the second vector, and the first translation point from the point cloud of the sensor 10A. It is acquired (step S302).
- the second acquisition unit 350b acquires the start point and end point of the third vector, the start point and end point of the fourth vector, and the second translation point from the point group of the sensor 10B based on the marker definition information 340c (step S303). ).
- the calculation unit 350c of the information processing device 300 converts the first to fourth vectors into unit vectors (step S304).
- the calculation unit 350c moves the first to fourth vectors so that the start point becomes the origin of the three-dimensional coordinates (step S305).
- the calculation unit 350c calculates the rotation angle (positioning rotation angle) of the end point of the sensor 10B that minimizes the total distance D (step S306).
- the calculation unit 350c rotates the second translational point by the alignment rotation angle (step S307).
- the calculation unit 350c calculates the difference between the coordinates of the first translational point and the coordinate of the rotated second translational point as the translational distance (positional translational distance) (step S308).
- the calculation unit 350c stores the alignment rotation angle and the alignment translation distance in the storage unit 340 as parameters 340b (step S309).
- the information processing apparatus 300 recognizes the shape of each mark by arranging each marker with a different shape and a predetermined positional relationship, and the first to fourth vectors satisfying the conditions 1 to 4 are recognized. , The first and second translational points are automatically detected. By executing such processing, it is possible to calculate the parameter for performing alignment without the user selecting each vector or translation point so as to satisfy the conditions 1 to 4.
- the function of the information processing apparatus 300 may include the function of the scoring apparatus 200. That is, the control unit 350 of the information processing device 300 may include the alignment unit 203, the recognition unit 240, the output unit 205, and the like of the scoring device 200.
- vectors in the horizontal direction and the vertical direction start points and end points of the first to fourth vectors
- the alignment can be performed.
- the start point and the end point of the first to fourth vectors and the first and second translation points can be acquired from the existing instrument or the subject, the existing It may be obtained from the device or subject.
- the information processing apparatus uses the fact that the parallel table for gymnastics is horizontal, the player has an upright momentary moment, and the like, and displays an instruction screen to prompt the user. , The selection of the start and end points of the first to fourth vectors and the first and second translational points is accepted.
- FIG. 21 is a diagram showing players who perform on a parallel stand.
- the range in which the distance can be measured by the sensor 10A is defined as a range 45A.
- a range in which the distance can be measured by the sensor 10B is set as a range 45B. Since the parallel platform 46 is parallel, the horizontal vectors 46A and 46B (first vector and third vector) can be acquired.
- a player is acting on the parallel stand 46, and the player at time T 1 is player 47T 1 .
- the player at time T 2 is player 47T 2 .
- the player at time T 3 is player 47T 3 .
- the vertical vector 47A second vector
- the vertical vector 47B fourth vector
- the player 47T 2 is located in a region where the range 45A and the range 45B overlap with each other, and the translation matching point 47C (first translational point, second translational point) is acquired. be able to. At the same position, points other than the point 47C may be acquired as points for translational translation from the area where the range 45A and the range 45B overlap.
- FIG. 22 is a diagram (1) showing an example of the instruction screen according to the third embodiment.
- the instruction screen 50 shown in FIG. 22 is a screen generated based on the visible image of the sensor 10A.
- the user refers to the instruction screen 50 and operates the input device of the information processing device 400 to select the start point of the first vector and the end point of the first vector.
- the point 20a is selected as the start point of the first vector and the point 50b is selected as the end point of the first vector.
- the information processing device 400 displays an instruction screen for accepting the selection of the third vector based on the visible image of the sensor 10B.
- the user refers to the instruction screen and selects the start point of the third vector and the end point of the third vector.
- the first vector and the third vector satisfy the condition 1.
- FIG. 23 is a diagram (2) showing an example of the instruction screen according to the third embodiment.
- the instruction screen 51 shown in FIG. 23 is a screen generated based on the visible image of the sensor 10A.
- the user refers to the instruction screen 51 and operates the input device of the information processing device 400 to select the start point of the second vector and the end point of the second vector.
- the point 51a is selected as the start point of the second vector and the point 51b is selected as the end point of the second vector.
- the information processing device 400 displays an instruction screen for accepting the selection of the fourth vector based on the visible image of the sensor 10B.
- the user refers to the instruction screen and selects the start point of the fourth vector and the end point of the fourth vector.
- the second vector and the fourth vector satisfy the condition 2.
- the user makes the first vector and the second vector satisfy the condition 3.
- the user makes the third vector and the fourth vector satisfy the condition 3.
- FIG. 24 is a diagram (3) showing an example of the instruction screen according to the third embodiment.
- the instruction screen 52 shown in FIG. 24 is a screen generated based on the visible image of the sensor 10A.
- the user refers to the instruction screen 52 and operates the input device of the information processing device 400 to select the first translational point.
- the point 52a is selected as the first translation point.
- the information processing device 400 displays an instruction screen for accepting the second translational point based on the visible image of the sensor 10B.
- the user refers to the instruction screen and selects the second translational point.
- the user makes the position of the first translational point and the position of the second translational point satisfy Condition 4.
- the information processing apparatus 400 uses, instead of the marker described in the first embodiment, that the parallel platform for gymnastics is horizontal, that there is a moment when the player stands upright and stops moving, etc. And display the instruction screen. Therefore, it is possible to acquire the first to fourth vectors and the first and second translational points without using the markers described in the first embodiment.
- FIG. 25 is a functional block diagram of the configuration of the information processing apparatus according to the third embodiment.
- the information processing device 400 includes an interface unit 410, an input unit 420, a display unit 430, a storage unit 440, and a control unit 450.
- the interface unit 410 is a communication device that receives information from the sensors 10A and 10B.
- the interface unit 410 receives the first range image information from the sensor 10A and outputs the received first range image information to the control unit 450.
- the interface unit 410 receives the second range image information from the sensor 10B and outputs the received second range image information to the control unit 450. Further, the interface unit 110 may be connected to a scoring device described later.
- the input unit 420 is an input device for inputting various information to the information processing device 400.
- the input unit 420 corresponds to a keyboard, a mouse, a touch panel, or the like.
- the user refers to the instruction screens shown in FIGS. 22 to 24 and operates the input unit 420 to select the start point and end point of the first vector, the start point and end point of the second vector, and the first translation point. Further, the user operates the input unit 420 to select the start point and end point of the third vector, the start point and end point of the fourth vector, and the second translation point.
- the display unit 430 is a display device that displays various information output from the control unit 450.
- the display unit 430 corresponds to a liquid crystal display, a touch panel, or the like.
- the display unit displays the instruction screen shown in FIGS.
- the storage unit 440 has a distance image table 440a and a parameter 440b.
- the storage unit 440 corresponds to a semiconductor memory device such as a RAM, a ROM, a flash memory, or a storage device such as an HDD.
- the distance image table 440a is a table holding the first distance image information at each time output from the sensor 10A and the second distance image information at each time output from the sensor 10B.
- FIG. 26 is a diagram illustrating an example of the data structure of the distance image table according to the third embodiment.
- the distance image table 440a has tables 441 and 442.
- the table 441 is a table that associates the time with the first range image information measured by the sensor 10A at the time.
- the table 442 is a table in which time is associated with the second range image information measured by the sensor 10B at that time. The description regarding the first range image information and the second range image information is the same as that described in the first embodiment.
- the parameter 440b is a parameter for aligning the point cloud measured by the sensor 10A and the point cloud measured by the sensor 10B.
- the parameter 440b includes information on the alignment rotation angle and information on the alignment translation distance.
- the control unit 450 has a first acquisition unit 450a, a provision unit 450b, a second acquisition unit 450c, a calculation unit 450d, and an output unit 450e.
- the control unit 450 can be realized by a CPU, MPU, or the like.
- the control unit 450 can also be realized by hard-wired logic such as ASIC or FPGA.
- the first acquisition unit 450a acquires the first distance image information from the sensor 10A at each time via the interface unit 410, and registers the acquired first distance image information in the table 441 of the distance image table 440a.
- the first acquisition unit 150a acquires the second distance image information from the sensor 10B at each time and registers the acquired second distance image information in the table 442 of the distance image table 440a.
- the first acquisition unit 450a When registering the first distance image information in the table 441 of the distance image table 440a, the first acquisition unit 450a converts the information on the distance between each point cloud and the sensor 10A into three-dimensional coordinate information. For example, the first acquisition unit 450a uses a conversion table that converts the distance into three-dimensional coordinates when converting the distance information into three-dimensional coordinate information.
- the first acquisition unit 450a When registering the second distance image information in the table 442 of the distance image table 440a, the first acquisition unit 450a converts the information on the distance between each point cloud and the sensor 10B into three-dimensional coordinate information. For example, the first acquisition unit 450a uses a conversion table that converts the distance into three-dimensional coordinates when converting the distance information into three-dimensional coordinate information.
- the providing unit 450b is a processing unit that displays the instruction screen by generating the information of the instruction screen and outputting the information of the instruction screen to the display unit 430.
- the instruction screens displayed on the display unit 430 correspond to the instruction screens 50, 51, 52 and the like shown in FIGS.
- the providing unit 450b generates an instruction screen based on the visible image stored in the distance image table 440a.
- the providing unit 450b generates an instruction screen for receiving the selection of the first vector using the visible image of the first distance image information.
- the providing unit 450b adds a comment to the effect that the start point and the end point of the first vector are selected when generating the information of the instruction screen.
- the providing unit 450b performs the following processing when generating an instruction screen for accepting the selection of the second vector.
- the providing unit 450b selects, from the first distance image information (visible image) at each time in the table 441, a visible image having an edge of a predetermined length or more in the vertical direction. For example, an upright player is included in a visible image having an edge of a predetermined length or more in the vertical direction.
- the providing unit 450b uses the selected visible image to generate an instruction screen for accepting the selection of the second vector.
- the providing unit 450b adds a comment to the effect that the start point and the end point of the second vector are selected.
- the providing unit 450b performs the following processing when generating an instruction screen for accepting the selection of the first translational point.
- the providing unit 450b selects, in the overlapping area where the range 45A and the range 45B overlap, of the first distance image information (visible image) at each time in the table 441, the visible image including the player is selected.
- the providing unit 450b holds a background image for the overlapping area and determines whether the overlapping image includes a player by using the difference between the overlapping area of the visible image and the background image. Good.
- the providing unit 450b uses the selected visible image to generate an instruction screen for receiving the selection of the first translational point.
- the providing unit 450b adds a comment to the effect that the first translational point is selected.
- the providing unit 450b generates an instruction screen for receiving the selection of the third vector by using the visible image of the second distance image information.
- the providing unit 450b adds a comment to the effect that the start point and the end point of the third vector are selected.
- the providing unit 450b performs the following processing when generating an instruction screen for accepting the selection of the fourth vector.
- the providing unit 450b selects, from the second distance image information (visible image) of each time in the table 442, a visible image having an edge of a predetermined length or more in the vertical direction. For example, an upright player is included in a visible image having an edge of a predetermined length or more in the vertical direction.
- the providing unit 450b uses the selected visible image to generate an instruction screen for accepting the selection of the fourth vector.
- the providing unit 450b adds a comment to the effect that the start point and the end point of the fourth vector are selected.
- the providing unit 450b performs the following process when generating an instruction screen for accepting the selection of the second translational point.
- the providing unit 450b selects a visible image including a player in the overlapping area where the range 45A and the range 45B overlap, from the second distance image information (visible image) at each time in the table 442.
- the providing unit 450b holds a background image for the overlapping area and determines whether the overlapping image includes a player by using the difference between the overlapping area of the visible image and the background image. Good.
- the providing unit 450b uses the selected visible image to generate an instruction screen for accepting the selection of the second translational point.
- the providing unit 450b adds a comment to the effect that the second translational point is selected.
- the second acquisition unit 450c based on the information selected by the user on the instruction screen, the first vector, the second vector, the first translation point, the third vector, the fourth vector, the second translation point.
- a processing unit that acquires The second acquisition unit 450c performs the same process as the second acquisition unit 150c of the first embodiment, and the first start point identification information, the first end point identification information, the second start point identification information, the second end point identification information, and the first translation.
- Specify point identification information The second acquisition unit 450c performs the same process as the second acquisition unit 150c of the first embodiment, and the third start point identification information, the third end point identification information, the fourth start point identification information, the fourth end point identification information, and the second translation. Specify point identification information.
- the second acquisition unit 450c includes first start point identification information, first end point identification information, second start point identification information, second end point identification information, first translation point identification information, third start point identification information, third end point identification information, The fourth start point identification information, the fourth end point identification information, and the second translation point identification information are output to calculation section 450d.
- the calculation unit 450d calculates a rotation angle and a translation distance for alignment based on the first vector, the second vector, the third vector, the fourth vector, the first translation point, and the second translation point. Is.
- the calculation unit 450d stores the calculated rotation angle and translation distance information in the storage unit 440 as the parameter 440b.
- the process of the calculation unit 450d is the same as the process of the calculation unit 150d described in the first embodiment.
- the output unit 450e is a processing unit that outputs the parameter 440b to an external device such as the scoring device 200 described in the first embodiment.
- FIG. 27 is a flowchart of the processing procedure of the information processing apparatus according to the third embodiment.
- the first acquisition unit 450a of the information processing apparatus 400 acquires the first distance image information and the second distance image information at each time from the sensors 10A and 10B (step S401).
- the providing unit 450b of the information processing device 400 selects a visible image for generating an instruction screen (step S402).
- the providing unit 450b generates information on the instruction screen and causes the display unit 430 to display the instruction screen (step S403).
- the second acquisition unit 450c of the information processing device 400 acquires the start point and end point of the first vector, the start point and end point of the second vector, and the first translation point from the point group of the sensor 10A based on the selection by the user. (Step S404).
- the second acquisition unit 450c acquires the start point and end point of the third vector, the start point and end point of the fourth vector, and the second translation point from the point group of the sensor 10B based on the selection by the user (step S405). .
- the calculation unit 450d of the information processing device 400 converts the first to fourth vectors into unit vectors (step S406).
- the calculation unit 450d moves the first to fourth vectors so that the starting point becomes the origin of the three-dimensional coordinates (step S407).
- the calculation unit 450d calculates the rotation angle (positioning rotation angle) of the end point of the sensor 10B that minimizes the total distance D (step S408).
- the calculation unit 450d rotates the second translational point by the alignment rotation angle (step S409).
- the calculation unit 450d calculates the difference between the coordinates of the first translation point and the coordinates of the rotated second translation point as the translation distance (positioning translation distance) (step S410).
- the calculation unit 450d stores the alignment rotation angle and the alignment translation distance in the storage unit 440 as the parameter 440b (step S411).
- the information processing apparatus 400 uses an instruction screen instead of the marker described in the first embodiment by utilizing the fact that the parallel platform of the gymnastics is horizontal, the player stands upright, and stops momentarily. indicate. Therefore, it is possible to acquire the first to fourth vectors and the first and second translational points without using the markers described in the first embodiment. And thereby, the alignment of the sensor 10A and the sensor 10B can be performed.
- the information processing apparatus 400 may acquire the start points and end points of the first to fourth vectors and the first and second translational points from another device or subject that can acquire the points.
- the function of the information processing device 400 may include the function of the scoring device 200. That is, the control unit 450 of the information processing device 400 may include the alignment unit 203, the recognition unit 240, the output unit 205, and the like of the scoring device 200.
- the information processing apparatus according to the fourth embodiment is connected to the sensor 10A and the sensor 10B as in the first embodiment.
- FIG. 28 is a diagram showing an example of a marker used in the fourth embodiment.
- the marker arrangement table 30 includes markers 30-1, 30-2, 30-3, 30-4.
- Each of the markers 30-1 to 30-4 is provided with a plurality of seals.
- Each seal is a retro-reflective seal.
- a range in which the distance can be measured by the sensor 10A is set to a range 30A.
- a range in which the distance can be measured by the sensor 10B is set as a range 30B.
- the marker 30-1 is provided with seals 30-1a, 30-1b, 30-1c, 30-1d at each corner. Seals 30-2a, 30-2b, 30-2c, 30-2d are arranged at each corner of the marker 30-2.
- the marker 30-3 has seals 30-3a, 30-3b, 30-3c, 30-3d arranged at the respective corners.
- the markers 30-4 are provided with seals 30-4a, 30-4b, 30-4c, 30-4d at the respective corners.
- FIG. 29 is a diagram showing an example of the reflection intensity image of each marker with a seal.
- a region having high reflection intensity becomes brighter than a region having low reflection intensity.
- the areas 61a, 61b, 61c, 61d are areas where the seals 30-1a, 30-1b, 30-1c, 30-1d are arranged.
- the areas 62a, 62b, 62c and 62d are areas where the seals 30-2a, 30-2b, 30-2c and 30-2d are arranged.
- the regions 63a, 63b, 63c, 63d are regions where the seals 30-3a, 30-3b, 30-3c, 30-3d are arranged.
- the areas 64a, 64b, 64c, 64d are areas in which the seals 30-4a, 30-4b, 30-4c, 30-4d are arranged.
- the sensor 10A is a measuring device that irradiates a laser beam to measure the distance between the point cloud constituting the subject and the sensor 10A.
- the sensor 10A captures a visible image. Further, the sensor 10A measures the reflection intensity of laser light.
- the sensor 10A outputs the first distance image information to the information processing device.
- the first distance image information includes information on the distance between the point cloud forming the subject and the sensor 10A, information on the visible image, and information on the reflection intensity.
- the sensor 10B is a measuring device that irradiates a laser beam to measure the distance between the point cloud forming the subject and the sensor 10B.
- the sensor 10B captures a visible image. Further, the sensor 10B measures the reflection intensity of laser light.
- the sensor 10B outputs the second distance image information to the information processing device.
- the second distance image information includes information on the distance between the point cloud forming the subject and the sensor 10A, information on the visible image, and information on the reflection intensity.
- the information processing apparatus generates information on the instruction screen based on the visible image of the marker placement table 30 and displays it on the display unit.
- the information processing apparatus accepts selection of the start and end points of the first to fourth vectors and the first and second translational points from the user who refers to the instruction screen.
- the information processing device specifies the position of each seal placed on each marker based on the information of the reflection intensity sequentially input from the sensors 10A and 10B, and based on the position of each seal, The process of calculating the position of the marker is repeatedly executed.
- the information processing device performs a process of correcting the positions of the start and end points of the first to fourth vectors and the first and second translational points selected by the user based on the positions of the markers.
- the information processing apparatus executes such processing, the start and end points of the first to fourth vectors selected by the user, the positions of the first and second translational points are not accurate, and some influences occur after selection. Thus, even if the positions of the markers are deviated, it is possible to specify the optimum positions of the start and end points of the first to fourth vectors and the first and second translational points.
- FIG. 30 is a functional block diagram of the configuration of the information processing apparatus according to the fourth embodiment.
- the information processing device 500 includes an interface unit 510, an input unit 520, a display unit 530, a storage unit 540, and a control unit 550.
- the interface unit 510 is a communication device that receives information from the sensors 10A and 10B.
- the interface unit 510 receives the first range image information from the sensor 10A and outputs the received first range image information to the control unit 550.
- the interface unit 510 receives the second range image information from the sensor 10B and outputs the received second range image information to the control unit 550. Further, the interface unit 510 may be connected to the scoring device 200 described in the first embodiment.
- the input unit 520 is an input device for inputting various information to the information processing device 500.
- the input unit 520 corresponds to a keyboard, a mouse, a touch panel, or the like.
- the user refers to the instruction screen and operates the input unit 520 to select the start point and end point of the first vector, the start point and end point of the second vector, and the first translation point.
- the user also operates the input unit 520 to select the start point and end point of the third vector, the start point and end point of the fourth vector, and the second translation point.
- the display unit 530 is a display device that displays various information output from the control unit 550.
- the display unit 530 corresponds to a liquid crystal display, a touch panel, or the like.
- the display unit displays an instruction screen.
- the storage unit 540 has a distance image table 540a, parameters 540b, and a specific table 540c.
- the storage unit 540 corresponds to a semiconductor memory device such as RAM, ROM, or flash memory, or a storage device such as HDD.
- the distance image table 540a is a table holding the first distance image information at each time output from the sensor 10A and the second distance image information at each time output from the sensor 10B.
- the data structure of the range image table 540a is similar to the data structure of the range image table 440a described in FIG. 26 of the third embodiment.
- the first distance image information at each time includes the distance information measured by the sensor 10A, the visible image information, and the reflection intensity information.
- the second distance image information at each time includes distance information, visible image information, and reflection intensity information.
- the parameter 540b is a parameter for aligning the point cloud measured by the sensor 10A and the point cloud measured by the sensor 10B.
- the parameter 540b includes information on the alignment rotation angle and information on the alignment translation distance.
- the specification table 540c is a table used to specify the coordinates of the start and end points of the first to fourth vectors and the first and second translational points.
- FIG. 31 is a diagram showing an example of the data structure of the specific table.
- the identification table 540c has a coordinate table 541 and a coordinate table 542.
- the coordinate table 541 is a table that holds, for the start point and the end point of the first to fourth vectors, the coordinates selected on the instruction screen and the coordinates specified from the reflection intensity information at each time.
- the coordinate table 542 is a table that holds, for the first and second translational points, the coordinate selected on the instruction screen and the coordinate information specified from the reflection intensity information at each time.
- the coordinate table 541 associates vector types, selection start point coordinates, selection end point coordinates, candidate start point coordinates, and candidate end point coordinates.
- the vector type is information indicating the type of vector.
- the vector type is any one of the first vector, the second vector, the third vector, and the fourth vector.
- the selection start point coordinates indicate the coordinates of the start point of the vector selected by the user on the instruction screen.
- the selected end point coordinates indicate the coordinates of the end point of the vector selected by the user on the instruction screen.
- the candidate start point coordinates indicate the coordinates of the start point of the vector calculated based on the reflection intensity information.
- the candidate end point coordinates indicate the coordinates of the end point of the vector calculated based on the reflection intensity information. For example, the candidate start point coordinates and the candidate end point coordinates are calculated for each time.
- the coordinate table 542 associates the translation point type, the selected coordinate, and the candidate coordinate.
- the translation point type is information indicating the type of translation point.
- the type of the translational point is either the first translational point or the second translational point.
- the selected coordinate indicates the coordinate of the translation point selected by the user on the instruction screen.
- the candidate coordinates indicate the coordinates of the translational point calculated based on the information on the reflection intensity. For example, the candidate coordinates are calculated at each time.
- the control unit 550 includes a first acquisition unit 550a, a provision unit 550b, a second acquisition unit 550c, a calculation unit 550d, and an output unit 550e.
- the control unit 550 can be realized by a CPU, MPU, or the like.
- the control unit 550 can also be realized by hard-wired logic such as ASIC or FPGA.
- the first acquisition unit 550a acquires the first distance image information output from the sensor 10A via the interface unit 510 at each time, and registers the acquired first distance image information in the distance image table 540a.
- the 1st acquisition part 150a acquires the 2nd distance image information output from sensor 10B for every time, and registers the acquired 2nd distance image information in distance image table 140a.
- the other description regarding the first acquisition unit 550a is the same as the description regarding the first acquisition unit 150a described in the first embodiment.
- the providing unit 550b is a processing unit that displays the instruction screen by generating information of the instruction screen and outputting the information of the instruction screen to the display unit 530. For example, when the providing unit 550b receives the instruction screen display request from the input unit 520, the providing unit 550b uses the visualized image of the first distance image information corresponding to the time when the request is received, and then uses the first vector and the second vector. , Generate an instruction screen for receiving the selection of the first translational point. In addition, when the providing unit 55b receives a display request for an instruction screen, the providing unit 55b uses the visualized image of the second range image information corresponding to the time when the request is received, and uses the third vector, the fourth vector, and the second translation. Generates an instruction screen for receiving a point selection.
- the other process of the providing unit 550b generating the instruction screen is the same as the process of the providing unit 150b described in the first embodiment.
- the second acquisition unit 550c based on the information selected by the user on the instruction screen, the first vector, the second vector, the first translation point, the third vector, the fourth vector, and the second translation point. Is a processing unit that acquires
- the providing unit 550b displays an instruction screen for selecting the start point and end point of the first vector on the display unit 530
- the user operates the input unit 520 to select the start point and end point of the first vector.
- the second acquisition unit 550c acquires information on the start point and end point of the first vector from the input unit 520.
- the information of the start point and end point of the first vector selected by the input unit 520 corresponds to the coordinates of the visible image.
- the second acquisition unit 550c specifies the coordinates of the point corresponding to the start point of the first vector selected by the user on the instruction screen based on the first distance image information of the distance image table 540a, and specifies the specified coordinates as It is registered in the coordinate table 541 as the “selected start point coordinate” of the vector type “first vector”.
- the second acquisition unit 550c specifies the coordinates of the point corresponding to the end point of the first vector selected by the user on the instruction screen based on the first distance image information of the distance image table 540a, and the specified coordinates are It is registered in the coordinate table 541 as the “selected end point coordinate” of the vector type “first vector”.
- the providing unit 550b displays an instruction screen for selecting the start point and end point of the second vector on the display unit 530
- the user operates the input unit 520 to select the start point and end point of the second vector.
- the second acquisition unit 550c acquires information on the start point and end point of the second vector from the input unit 520.
- the information on the start point and the end point of the second vector corresponds to the coordinates of the visible image.
- the second acquisition unit 550c specifies the coordinates of the point corresponding to the start point of the second vector selected by the user on the instruction screen based on the first distance image information of the distance image table 540a, and specifies the specified coordinates as It is registered in the coordinate table 541 as the “selected start point coordinate” of the vector type “second vector”.
- the second acquisition unit 550c specifies the coordinates of the point corresponding to the end point of the first vector selected by the user on the instruction screen based on the first distance image information of the distance image table 540a, and the specified coordinates are It is registered in the coordinate table 541 as the “selected end point coordinate” of the vector type “second vector”.
- the providing unit 550b displays an instruction screen for selecting the first translation point on the display unit 530
- the user operates the input unit 520 to select the first translation point.
- the second acquisition unit 550c acquires information on the first translational point from the input unit 520.
- the information on the first translational point selected by the input unit 520 corresponds to the coordinates of the visible image.
- the second acquisition unit 550c specifies the coordinates of the point corresponding to the first translation point selected by the user on the instruction screen based on the first distance image information of the distance image table 540a, and the specified coordinates are It is registered in the coordinate table 542 as the “selected coordinate” of the translation point type “first translation point”.
- the providing unit 550b displays an instruction screen for selecting the start point and end point of the third vector on the display unit 530
- the user operates the input unit 520 to select the start point and end point of the third vector.
- the second acquisition unit 550c acquires information on the start point and end point of the third vector from the input unit 520.
- the information on the start point and the end point of the third vector selected by the input unit 520 corresponds to the coordinates of the visible image.
- the second acquisition unit 550c specifies the coordinates of the point corresponding to the start point of the third vector selected by the user on the instruction screen, based on the second distance image information of the distance image table 540a, and specifies the specified coordinates. It is registered in the coordinate table 541 as the “selected start point coordinate” of the vector type “third vector”.
- the second acquisition unit 550c specifies the coordinates of the point corresponding to the end point of the third vector selected by the user on the instruction screen based on the second distance image information of the distance image table 540a, and specifies the specified coordinates as It is registered in the coordinate table 541 as the “selected end point coordinate” of the vector type “third vector”.
- the providing unit 550b displays an instruction screen for selecting the start point and end point of the fourth vector on the display unit 530
- the user operates the input unit 520 to select the start point and end point of the fourth vector.
- the second acquisition unit 550c acquires information on the start point and end point of the fourth vector from the input unit 520.
- the information of the start point and end point of the fourth vector selected by the input unit 520 corresponds to the coordinates of the visible image.
- the second acquisition unit 550c specifies the coordinates of the point corresponding to the start point of the fourth vector selected by the user on the instruction screen based on the second distance image information of the distance image table 540a, and specifies the specified coordinates as It is registered in the coordinate table 541 as the “selected start point coordinate” of the vector type “fourth vector”.
- the second acquisition unit 550c specifies the coordinates of the point corresponding to the end point of the fourth vector selected by the user on the instruction screen based on the second distance image information of the distance image table 540a, and specifies the specified coordinates as It is registered in the coordinate table 541 as the “selected end point coordinate” of the vector type “fourth vector”.
- the providing unit 550b displays an instruction screen for selecting the second translation point on the display unit 530
- the user operates the input unit 520 to select the second translation point.
- the second acquisition unit 550c acquires information on the second translational point from the input unit 520.
- the information on the second translational point selected by the input unit 520 corresponds to the coordinates of the visible image.
- the second acquisition unit 550c specifies the coordinates of the point corresponding to the second translation point selected by the user on the instruction screen based on the second distance image information of the distance image table 540a, and the specified coordinates are It is registered in the coordinate table 542 as the “selected coordinate” of the translation point type “second translation point”.
- the selection start point coordinates and the selection end point coordinates of the vector type “first vector to fourth vector” are registered in the coordinate table 541.
- Selected coordinates of the translation point type “first translation point, second translation point” are registered in the coordinate table 542.
- the second acquisition unit 550c identifies the candidate start point coordinates and candidate end point coordinates of the first to fourth vectors and the selected coordinates of the first and second translational points.
- the marker 30-1 is selected as the start point of the first vector and the marker 30-2 is selected as the end point of the first vector based on the instruction screen.
- the marker 30-2 is selected as the start point of the second vector and the marker 30-4 is selected as the end point of the second vector. It is assumed that the marker 30-2 is selected as the first translation point.
- the marker 30-2 is selected as the start point of the third vector and the marker 30-3 is selected as the end point of the third vector. It is assumed that the marker 30-2 is selected as the start point of the fourth vector and the marker 30-4 is selected as the end point of the fourth vector. It is assumed that the marker 30-2 is selected as the second translation point.
- the second acquisition unit 550c binarizes the reflection intensity information (reflection intensity image) included in the first distance image information at time T n + 1 .
- the time T n is the time corresponding to the first distance image information that generated the instruction screen.
- the second acquisition unit 550c sets 0 in the reflection intensity image where the reflection intensity is less than a predetermined threshold value, and 1 in the reflection intensity image.
- the second acquisition unit 550c labels the portion that becomes 1 in the binarized reflection intensity image.
- the regions to be labeled are the regions 61a to 61d, 62a to 62d, 64a to 64d (63a to 63d are not included in the distance measuring range of the sensor 10A).
- the second acquisition unit 550c compares the selection start point coordinates, the selected principal point coordinates of each vector type of the coordinate table 541 with the coordinates of the labeled area, and determines the vector type and the labeled area with a short distance. Are associated with each other.
- the regions 61a to 61d are closest to the selected start point coordinates of the vector type “first vector”, and thus the regions 61a to 61d are associated with the start point coordinates of the vector type “first vector”.
- the second selection unit 550c sets the coordinates of the intersection of the line segment connecting the center coordinates of the region 61a and the center coordinate of the region 61c and the line segment connecting the center coordinates of the region 61b and the center coordinate of the region 61d to the vector type “ It is specified as one candidate start point coordinate corresponding to the “first vector” and registered in the coordinate table 541.
- the second selection unit 550c sets the coordinates of the intersection of the line segment connecting the center coordinates of the region 62a and the center coordinate of the region 62c and the line segment connecting the center coordinates of the region 62b and the center coordinate of the region 62d to the vector type “ It is specified as one candidate end point coordinate corresponding to the “first vector” and registered in the coordinate table 541.
- the second selection unit 550c sets the coordinates of the intersection of the line segment connecting the center coordinates of the region 62a and the center coordinate of the region 62c and the line segment connecting the center coordinates of the region 62b and the center coordinate of the region 62d to the vector type “ It is specified as one candidate start point coordinate corresponding to the “second vector” and registered in the coordinate table 541.
- the second selection unit 550c sets the coordinates of the intersection of the line segment connecting the center coordinates of the region 64a and the center coordinate of the region 64c and the line segment connecting the center coordinates of the region 64b and the center coordinate of the region 64d to the vector type “ It is specified as one candidate end point coordinate corresponding to the “second vector” and registered in the coordinate table 541.
- the second selecting unit 550c determines the coordinates of the intersection of the line segment connecting the center coordinates of the region 62a and the center coordinate of the region 62c and the line segment connecting the center coordinates of the region 62b and the center coordinate of the region 62d with the translation point. It is specified as one candidate coordinate corresponding to the type “first translation point” and registered in the coordinate table 542.
- the second acquisition unit 550c also performs the above processing on the first range image information at times T n + 2 , T n + 3 , T n + 4 , and T n + 5 to obtain a plurality of candidate start point coordinates corresponding to the first vector and the second vector. , A plurality of candidate end point coordinates are registered in the coordinate table 541. In addition, the second acquisition unit 550c registers a plurality of candidate coordinates corresponding to the first translational point in the coordinate table 542.
- the second acquisition unit 550c binarizes the reflection intensity information (reflection intensity image) included in the second distance image information at time T n + 1 .
- the time T n is the time corresponding to the second distance image information that generated the instruction screen.
- the second acquisition unit 550c sets 0 in the reflection intensity image where the reflection intensity is less than a predetermined threshold value, and 1 in the reflection intensity image.
- the second acquisition unit 550c labels the portion that becomes 1 in the binarized reflection intensity image.
- the regions to be labeled are the regions 62a to 62d, 63a to 63d, 64a to 64d (61a to 61d are not included in the distance measuring range of the sensor 10B).
- the second acquisition unit 550c compares the selection start point coordinates, the selected principal point coordinates of each vector type of the coordinate table 541 with the coordinates of the labeled area, and determines the vector type and the labeled area with a short distance. Are associated with each other.
- the regions 62a to 62d are closest to the selected start point coordinates of the vector type “third vector”, and therefore the regions 62a to 62d are associated with the start point coordinates of the vector type “third vector”.
- the second selection unit 550c sets the coordinates of the intersection of the line segment connecting the center coordinates of the region 62a and the center coordinate of the region 62c and the line segment connecting the center coordinates of the region 62b and the center coordinate of the region 62d to the vector type “ It is specified as one candidate start point coordinate corresponding to the “third vector” and registered in the coordinate table 541.
- the second selection unit 550c sets the coordinates of the intersection of the line segment connecting the center coordinates of the region 63a and the center coordinate of the region 63c and the line segment connecting the center coordinates of the region 63b and the center coordinate of the region 63d to the vector type " It is specified as one candidate end point coordinate corresponding to the “third vector” and registered in the coordinate table 541.
- the second selection unit 550c sets the coordinates of the intersection of the line segment connecting the center coordinates of the region 62a and the center coordinate of the region 62c and the line segment connecting the center coordinates of the region 62b and the center coordinate of the region 62d to the vector type “ It is specified as one candidate start point coordinate corresponding to the “fourth vector” and registered in the coordinate table 541.
- the second selection unit 550c sets the coordinates of the intersection of the line segment connecting the center coordinates of the region 64a and the center coordinate of the region 64c and the line segment connecting the center coordinates of the region 64b and the center coordinate of the region 64d to the vector type “ It is specified as one candidate end point coordinate corresponding to the “fourth vector” and registered in the coordinate table 541.
- the second selecting unit 550c determines the coordinates of the intersection of the line segment connecting the center coordinates of the region 62a and the center coordinate of the region 62c and the line segment connecting the center coordinates of the region 62b and the center coordinate of the region 62d with the translation point. It is specified as one candidate coordinate corresponding to the type “second translation point” and registered in the coordinate table 542.
- the second acquisition unit 550c also performs the above processing on the second distance image information at times T n + 2 , T n + 3 , T n + 4 , and T n + 5 to obtain a plurality of candidate start point coordinates corresponding to the third vector and the fourth vector. , A plurality of candidate end point coordinates are registered in the coordinate table 541. The second acquisition unit 550c also registers a plurality of candidate coordinates corresponding to the second translational point in the coordinate table 542.
- the second acquisition unit 550c registers each coordinate in the coordinate tables 541 and 542 shown in FIG.
- the second acquisition unit 550c compares the selection start point coordinate of a certain vector type with a plurality of candidate start point coordinates corresponding to this vector type, and determines the candidate start point coordinate of the distance closest to the selection start point coordinate as the final vector. Specify as the starting point coordinates.
- the second acquisition unit 550c compares the selected end point coordinate of a certain vector type with a plurality of candidate end point coordinates corresponding to this vector type, and determines the candidate end point coordinate of the distance closest to the selected end point coordinate as the final vector. Specify as the end point coordinates.
- the second acquisition unit 550c compares the selected starting point coordinates corresponding to the vector type “first vector” with each candidate starting point coordinate, and determines the closest candidate starting point coordinate as the final starting point coordinate of the first vector. Identify. The second acquisition unit 550c compares the selected end point coordinates corresponding to the vector type “first vector” with each candidate end point coordinate, and specifies the closest candidate end point coordinate as the final end point coordinate of the first vector. .
- the second acquisition unit 550c specifies the final start point coordinates and end point coordinates by performing the same processing for the other vector types “second vector, third vector, and fourth vector”.
- the second acquisition unit 550c compares the selected coordinate of a certain translation point type with a plurality of candidate coordinates corresponding to this translation point type, and determines the candidate coordinate having the distance closest to the selected coordinate as the final translation point. Specific coordinates.
- the second acquisition unit 550c compares the selected coordinates corresponding to the translation point type “first translation point” with each candidate coordinate, and determines the closest candidate coordinate as the final translation point of the first translation point. Specify as coordinates.
- the second acquisition unit 550c compares the selected coordinates corresponding to the translation point type “second translation point” with each candidate coordinate, and determines the closest candidate coordinate as the final coordinate of the second translation point. Identify.
- the second selection unit 550c identifies the identification information of the point corresponding to the final starting point coordinates of the first vector from each point group based on the first distance image information of the distance image table 540a.
- the identification information of the point corresponding to the start point of the first vector will be referred to as “first start point identification information”.
- the 2nd acquisition part 550c specifies the identification information of the point corresponding to the final end point coordinate of the 1st vector from each point group based on the 1st distance image information of distance image table 540a.
- the identification information of the point corresponding to the end point of the first vector will be referred to as “first end point identification information”.
- the second selection unit 550c identifies the identification information of the point corresponding to the final starting point coordinates of the second vector from each point group based on the first distance image information of the distance image table 540a.
- the identification information of the point corresponding to the start point of the second vector will be referred to as "second start point identification information”.
- the 2nd acquisition part 550c specifies the identification information of the point corresponding to the final end point coordinate of the 2nd vector from each point group based on the 1st distance image information of distance image table 540a.
- the identification information of the point corresponding to the end point of the second vector will be referred to as “second end point identification information”.
- the second selection unit 550c identifies the identification information of the point corresponding to the final start point coordinates of the third vector from each point group based on the second distance image information of the distance image table 540a.
- the identification information of the point corresponding to the start point of the third vector will be referred to as “third start point identification information”.
- the 2nd acquisition part 550c specifies the identification information of the point corresponding to the final end point coordinate of the 3rd vector from each point group based on the 2nd distance image information of distance image table 540a.
- the identification information of the point corresponding to the end point of the third vector will be referred to as “third end point identification information”.
- the second selection unit 550c identifies the identification information of the point corresponding to the final starting point coordinates of the fourth vector from each point group based on the second distance image information of the distance image table 540a.
- the identification information of the point corresponding to the start point of the fourth vector will be referred to as “fourth start point identification information”.
- the 2nd acquisition part 550c specifies the identification information of the point corresponding to the final end point coordinate of the 4th vector from each point group based on the 2nd distance image information of distance image table 540a.
- the identification information of the point corresponding to the end point of the fourth vector will be referred to as “fourth end point identification information”.
- the second acquisition unit 550c identifies the identification information of the point corresponding to the final coordinate of the first translation point from each point group based on the first range image information of the range image table 540a.
- the identification information of the point corresponding to the first translation point will be referred to as "first translation point identification information”.
- the second acquisition unit 550c specifies the identification information of the point corresponding to the final coordinate of the second translation point from each point group based on the second distance image information of the distance image table 540a.
- the identification information of the point corresponding to the second translation point will be referred to as "second translation point identification information”.
- the second acquisition unit 550c outputs the first start point identification information, the first end point identification information, the second start point identification information, the second end point identification information, and the first translation point identification information to the calculation unit 550d.
- the second acquisition unit 550c outputs the third start point identification information, the third end point identification information, the fourth start point identification information, the fourth end point identification information, and the second translation point identification information to the calculation unit 550d.
- the calculation unit 550d calculates a rotation angle and a translation distance for alignment based on the first vector, the second vector, the third vector, the fourth vector, the first translation point, and the second translation point. Is.
- the calculation unit 550d stores the calculated rotation angle and translation distance information in the storage unit 540 as the parameter 540b.
- the processing of the calculation unit 550d is the same as the processing of the calculation unit 150d described in the first embodiment.
- the output unit 550e is a processing unit that outputs the parameter 540b to an external device such as the scoring device 200 described in the first embodiment.
- 32 and 33 are flowcharts illustrating the processing procedure of the information processing apparatus according to the fourth embodiment.
- the first acquisition unit 550a of the information processing device 400 acquires the first distance image information and the second distance image information from the sensors 10A and 10B (step S501).
- the providing unit 550b of the information processing device 500 generates information on the instruction screen and causes the display unit 530 to display the instruction screen (step S502).
- the second acquisition unit 550c of the information processing device 500 acquires the start point and end point of the first vector, the start point and end point of the second vector, and the first translation point from the point cloud of the sensor 10A based on the selection made by the user. Yes (step S503).
- the second acquisition unit 550c acquires the start point and end point of the third vector, the start point and end point of the fourth vector, and the second translation point from the point group of the sensor 10B based on the selection by the user (step S504). .
- the second acquisition unit 550c acquires the reflection intensity image of the next first range image information and the reflection range image information of the next second range image information (step S505).
- the second acquisition unit 550c binarizes the reflection intensity image of the first distance image information and the reflection distance image information of the second distance image information (step S506).
- the second acquisition unit 550c labels the binarized reflection intensity image, and associates each labeled region with the start and end points of the first to fourth vectors and the coordinates of the first and second translation points (step S507). .
- the second acquisition unit 550c registers the candidate start point coordinates and candidate end point coordinates of the first vector, the candidate start point coordinates and candidate end point coordinates of the second vector, and the candidate coordinate points of the first translation point in the identification table 540c (step S508). .
- the second acquisition unit 550c registers the candidate start point coordinates and candidate end point coordinates of the third vector, the candidate start point coordinates and candidate end point coordinates of the fourth vector, and the candidate coordinates of the second translation point in the specific table 540c (step S509). .
- step S510 When the information processing device 500 has not acquired the first distance image information and the second distance image information a predetermined number of times (a preset number of times) (step S510, No), the process proceeds to step S505. On the other hand, when the information processing apparatus 500 has acquired the first distance image information and the second distance image information a predetermined number of times (step S510, Yes), the information processing apparatus 500 proceeds to step S511 of FIG.
- the second acquisition unit 550c compares the selection start point coordinates and the selection end point coordinates of the first vector, the selection start point coordinates and the selection end point of the second vector, and the selection coordinates of the first translation point with each candidate coordinate point (step S511). ).
- the second acquisition unit 550c determines the start point coordinates and end point coordinates of the first vector, the start point coordinates and end point coordinates of the second vector, and the coordinates of the first translation point (step S512).
- the second acquisition unit 550c compares the selection start point coordinates and the selection end point coordinates of the third vector, the selection start point coordinates and the selection end point of the fourth vector, and the selection coordinates of the second translation point with each of the candidate coordinates (step S513). ). The second acquisition unit 550c determines the start and end coordinates of the fourth vector, the start and end coordinates of the fourth vector, and the coordinates of the second translation point (step S514).
- the calculation unit 550d of the information processing device 500 converts the first to fourth vectors into unit vectors (step S515).
- the calculation unit 550d moves the first to fourth vectors so that the start point becomes the origin of the three-dimensional coordinates (step S516).
- the calculation unit 550d calculates the rotation angle (positioning rotation angle) of the end point of the sensor 10B that minimizes the total distance D (step S517).
- the calculation unit 550d rotates the second translational point by the alignment rotation angle (step S518).
- the calculation unit 550d calculates the difference between the coordinate of the first translation point and the coordinate of the rotated second translation point as the translation distance (positioning translation distance) (step S519).
- the calculation unit 550d stores the alignment rotation angle and the alignment translation distance in the storage unit 540 as the parameter 540b (step S520).
- the information processing device 500 specifies the coordinates of each seal placed on each marker based on the reflection intensity images sequentially input from the sensors 10A and 10B, and based on the coordinates of each seal, the coordinates of each marker.
- the process of calculating is repeatedly executed.
- the information processing apparatus 500 performs a process of correcting the coordinates of the start and end points of the first to fourth vectors and the first and second translational points selected by the user based on the position of each marker.
- the positions of the start point and the end point of the first to fourth vectors and the first and second translation points selected by the user are not correct, or after being selected, Even if the position of the marker is deviated due to the influence, it is possible to specify the optimum positions of the start point and end point of the first to fourth vectors and the first and second translational points.
- FIG. 34 is a diagram illustrating an example of the hardware configuration of a computer that realizes the same functions as the information processing apparatus according to the present embodiment.
- the computer 600 includes a CPU 601 that executes various arithmetic processes, an input device 602 that receives data input from a user, and a display 603. Further, the computer 600 has a reading device 604 for reading a program or the like from a storage medium, and an interface device 605 for exchanging data with an external device or the like via a wired or wireless network. The interface device 605 is connected to the sensors 10A, 10B and the like. Further, it may be connected to the scoring device 200. The computer 600 has a RAM 606 for temporarily storing various information and a hard disk device 607. Each of the devices 601 to 607 is connected to the bus 608.
- the hard disk device 607 has a first acquisition program 607a, a provision program 607b, a second acquisition program 607c, a calculation program 607d, and an output program 607e.
- the CPU 601 reads the first acquisition program 607a, the provision program 607b, the second acquisition program 607c, the calculation program 607d, and the output program 607e and loads them in the RAM 406.
- the first acquisition program 607a functions as the first acquisition process 606a.
- the providing program 607b functions as a providing process 606b.
- the second acquisition program 607c functions as the second acquisition process 606c.
- the calculation program 607d functions as the calculation process 607d.
- the output program 607e functions as the output process 607e.
- the process of the first acquisition process 606a corresponds to the process of the first acquisition unit 150a, 350a, 450a, 550a.
- the processing of the providing process 606b corresponds to the processing of the providing units 150b, 450b, 550b.
- the processing of the second acquisition process 606c corresponds to the processing of the second acquisition units 150c, 350b, 450c, 550c.
- the processing of the calculation process 606d corresponds to the processing of the calculation units 150d, 350c, 450d and 550d.
- the processing of the output process 606e corresponds to the processing of the output units 150e, 350d, 450e, 550e.
- the programs 607a to 607e do not necessarily have to be stored in the hard disk device 507 from the beginning.
- each program is stored in a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, an IC card, which is inserted into the computer 600. Then, the computer 600 may read out and execute each of the programs 607a to 607e.
- a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, an IC card
- FIG. 35 is a diagram showing an example of the hardware configuration of a computer that realizes the same functions as the scoring device according to the present embodiment.
- the computer 700 includes a CPU 701 that executes various arithmetic processes, an input device 702 that receives data input from a user, and a display 703.
- the computer 700 also includes a reading device 704 that reads a program or the like from a storage medium, and an interface device 705 that exchanges data with an external device or the like via a wired or wireless network.
- the computer 700 has a RAM 706 for temporarily storing various information and a hard disk device 707. Then, each of the devices 701 to 707 is connected to the bus 708.
- the hard disk device 707 has an acquisition program 707a, an alignment program 707b, a recognition program 707c, and an output program 707d.
- the CPU 701 reads the acquisition program 707a, the alignment program 707b, the recognition program 707c, and the output program 707d, and expands them in the RAM 706.
- the acquisition program 707a functions as an acquisition process 706a.
- the registration program 707b functions as a registration process 706b.
- the recognition program 707c functions as a recognition process 706c.
- the process of the output process 706a corresponds to the process of the output unit 350d.
- the programs 707a to 707d do not necessarily have to be stored in the hard disk device 707 from the beginning.
- each program is stored in a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, an IC card, which is inserted into the computer 700. Then, the computer 700 may read out and execute each of the programs 707a to 707d.
- a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, an IC card
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Analysis (AREA)
Abstract
情報処理装置は、第1センサにより測距された第1測定情報から、第1ベクトル(16A-1)と、第2ベクトル(16A-2)と、第1並進用点(17A)とを取得する。情報処理装置は、第2センサにより測距された第2測定情報から、第3ベクトル(16B-3)と、第4ベクトル(16B-4)と、第2並進用点(17B)とを取得する。第1ベクトル(16A-1)と、第3ベクトルと(16B-3)は、実空間上で平行かつ向きが同じベクトルである。第2ベクトル(16A-2)と、第4ベクトル(16B-4)とは、実空間上で平行かつ向きが同じベクトルである。第1並進用点(17A)と第1並進用点(17B)とは、実空間上で同じ位置にある。情報処理装置は、第1~第4ベクトル、第1、2並進用点を基にして、回転角度および並進距離を算出し、記憶装置に記憶する。
Description
本発明は、算出方法等に関する。
レーザセンサ等の距離測定装置を用いて、被写体の3次元点群を検出し、被写体の姿勢等を認識する技術がある。以下の説明では、被写体の3次元点群を検出するレーザセンサを単に「センサ」と表記する。
1台のセンサを用いると、センサ側(一方向)から見た被写体の3次元点群を得ることができるが、センサの反対側から見た被写体の3次元点群を得ることができないため、被写体の姿勢等の認識精度が悪くなる場合があった。このため、複数のセンサを用い、複数の方向から見た被写体の3次元点群を得ることで、被写体の姿勢等の認識精度を向上させている。
ここで、複数のセンサを用いて被写体の3次元点群を検出する場合には、各センサから検出した各3次元点群を位置合わせして、一つの3次元点群に統合する処理を行う。以下の説明では、各センサから検出した各3次元点群を位置合わせして、一つの3次元点群に統合する処理を「キャリブレーション」と表記する。
キャリブレーションに関する従来技術として、ICP(Iterative Closest Point)を用いた従来装置がある。この従来装置は、第1の3次元点群を並進、回転させつつ、第1の3次元点群の近傍点と、固定した第2の3次元点群の近傍点との距離が最小となる値を探索することで、第1の3次元点群と第2の3次元点群とを位置合わせするための、並進値、回転角を特定する。
P.J.Besl and N.D.McKay,"A method for registration of 3-D shapes,"IEEE Transactions on Pattern Analysis and Machine Intelligence,vol.14,no.2,pp.239-256,1992.
しかしながら、上述した従来技術では、複数のセンサが測距した各点群の位置合わせを行うことができないという問題がある。
図36は、第1のセンサ配置例を示す図である。図36に示す例では、センサ1Aとセンサ1Bとが向かい合わせに配置されている。また、測距の対象範囲を「範囲5」とする。範囲5については、センサ1A,1Bによる測距可能な範囲の重なりが大きいため、従来技術に基づいて、センサ1Aの3次元点群とセンサ1Bの3次元点群との位置合わせを行うことができる。
図37は、第1のセンサ配置例の測距結果の一例を示す図である。図37において、測定結果(3次元点群)2Aは、センサ1Aの測定結果である。測定結果(3次元点群)2Bは、センサ1Bの測定結果である。たとえば、測定結果2A,2Bは、共通部分を特定することが容易であり、センサ1Aの3次元点群とセンサ1Bの3次元点群との位置合わせを行うことができる。
ここで、センサには、距離が遠いほど測距できる範囲は広くなるが、3次元点群の密度が低くなるという特性がある。また、センサには、距離が近いほど測距できる範囲は狭くなるが、3次元点群の密度が高くなるという特性がある。
測距の対象範囲が広くなった場合には、センサをより遠くに配置することで、測距の対象範囲全体をカバーできるようになるが、3次元点群の密度が低くなり、被写体の姿勢等の認識精度を得ることができない可能性がある。このため、図38に示すように、複数のセンサを配置する場合がある。
図38は、第2のセンサ配置例を示す図である。図38に示す例では、センサ1Aの横方向にセンサ1Bが配置されている。センサ1Cの横方向にセンサ1Dが配置されている。センサ1Aとセンサ1Cとが向かい合わせに配置されている。センサ1Bとセンサ1Dとが向かい合わせに配置されている。測距の対象範囲を「範囲6A」とする。センサ1Aとセンサ1Cとの組、センサ1Bとセンサ1Dとの組は、各センサの測距可能な範囲の重なりが大きいため、各3次元点群の位置合わせを行うことができる。しかし、センサ1Aとセンサ1Bとの組、センサ1Cとセンサ1Dとの組は、各センサの測距可能な範囲の重なりが少ないため、従来技術により、各3次元点群の位置合わせを行うことが難しい。
図39は、第2のセンサ配置例の測距結果の一例を示す図(1)である。図39において、測定結果(3次元点群)3Aは、センサ1Aの測定結果である。測定結果(3次元点群)3Bは、センサ1Bの測定結果である。図39では、図37に示した場合と異なり、共通部分を特定することが困難である。
図40は、第2のセンサ配置例の測定結果の一例を示す図(2)である。たとえば、測定結果3Aの範囲4Aと、測定結果3Bの範囲4Bとを共通範囲として取り出したとしても、共通範囲に含まれる3次元点群の数が少なく、十分特徴的な形をしていない場合がある。共通範囲に含まれる3次元点群の数が少ないと、範囲4Aと範囲4Bとの位置合わせを行う場合に、回転なしでよいのか、90度回転でよいのか、180°回転でよいのか等を判定することが難しく、位置合わせを行うことができない。
上記のように、2つのセンサの測距範囲の重なりが少なく、各センサの重なり部分に含まれる3次元点群が少ないと、位置合わせを行うことができない。
1つの側面では、本発明は、2つのセンサの測距範囲の重なりが少なく、各センサの重なり部分に含まれる3次元点群が少ない場合にも、複数のセンサが測距した各点群の位置合わせを行うための情報を生成する算出方法、算出プログラムおよび情報処理装置を提供することを目的とする。
第1の案では、コンピュータが次の処理を実行する。コンピュータは、第1センサにより測距された被写体までの距離の情報を含む第1測定情報と、第2センサにより測距された被写体までの距離の情報を含む第2測定情報とを取得する。コンピュータは、第1測定情報から、第1ベクトルと、第1ベクトルとは異なる向きの第2ベクトルと、第1並進用点とを取得する。コンピュータは、第2測定情報から、第1ベクトルと実空間上で平行かつ向きが同じベクトルとして取り扱われる第3ベクトルと、第2ベクトルと実空間上で平行かつ向きが同じベクトルとして取り扱われる第4ベクトルと、実空間上で第1並進用点と同じ位置にあるとして取り扱われる第2並進用点との情報を取得する。コンピュータは、第1ベクトルの終点、第2ベクトルの終点、第1並進用点、第3ベクトルの終点、第4ベクトルの終点、第2並進用点を基にして、第1センサに測距される被写体の点群に対して、第2センサにより測距される被写体の点群の位置合わせを行うための、回転角度および並進距離を算出する。コンピュータは、回転角度および並進距離を記憶装置に記憶する。
2つのセンサの測距範囲の重なりが少なく、各センサの重なり部分に含まれる3次元点群が少ない場合にも、複数のセンサが測距した各点群の位置合わせを行うための情報を生成することができる。
以下に、本発明にかかる算出方法、算出プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例1に係るシステムの一例を示す図である。図1に示すように、このシステムは、センサ10A、センサ10Bと、情報処理装置100とを有する。センサ10Aおよびセンサ10Bの測距の方向を、壁15の方向とする。センサ10Aおよびセンサ10Bは、横方向に並んで配置されている。情報処理装置100は、センサ10Aおよびセンサ10Bに接続される。
図2は、壁の外観の一例を示す図である。図2に示すように、この壁15には、複数のマークが配置されている。たとえば、壁15上において、センサ10Aの測距可能な範囲を範囲15Aとし、センサ10Bの測距可能な範囲を範囲15Bとする。
たとえば、マーク15-11~15-19は、水平方向に並んでいる。マーク15-24~15-26は、水平方向に並んでいる。マーク15-31~15-39は、水平方向に並んでいる。マーク15-11~15-19を通る直線、マーク15-24~15-26を通る直線、マーク15-31~15-39を通る直線は、それぞれ平行となる。
また、マーク15-14,15-24,15-34を通る直線と、マーク15-11~15-19を通る直線とのなす角度を90度とする。マーク15-15,15-25,15-35を通る直線と、マーク15-11~15-19を通る直線とのなす角度を90度とする。マーク15-16,15-26,15-36を通る直線と、マーク15-11~15-19を通る直線とのなす角度を90度とする。
センサ10Aは、レーザ光を照射して、被写体(壁15)を構成する点群とセンサ10Aとの距離を測距する測定装置である。また、センサ10Aは、可視画像を撮影する。センサ10Aは、第1距離画像情報を、情報処理装置100に出力する。第1距離画像情報は、被写体(壁15)を構成する点群とセンサ10Aとの距離の情報と、可視画像の情報を含む。本実施例で記載する可視画像は、一般的なカメラによって撮像される画像に対応するものである。
センサ10Bは、レーザ光を照射して、被写体(壁15)を構成する点群とセンサ10Bとの距離を測距する測定装置である。また、センサ10Bは、可視画像を撮影する。センサ10Bは、第2距離画像情報を、情報処理装置100に出力する。第2距離画像情報は、被写体(壁15)を構成する点群とセンサ10Bとの距離の情報と、可視画像の情報を含む。
図3は、各距離画像情報に含まれる点群の一例を示す図である。図3では一例として、各点群を反射強度に応じて示す。点群16Aは、センサ10Aにより測距された点群である。点群16Bは、センサ10Bにより測距された点群である。
図4は、各可視画像の一例を示す図である。図4において、画像18Aは、センサ10Aに撮影される可視画像である。画像18Bは、センサ10Bに撮影される可視画像である。
図1の説明に戻る。情報処理装置100は、第1距離画像情報と、第2距離画像情報とを基にして、センサ10Aにより測距された点群と、センサ10Bにより測距された点群との位置合わせを行うためのパラメータを算出する装置である。パラメータには、回転角度と並進距離とが含まれる。
情報処理装置100は、各点群の位置合わせを行う場合には、第1距離画像情報および第2距離画像情報から、回転合わせ用のベクトルと、並進合わせ用の点を検出する。
本実施例1では、第1距離画像情報から検出する回転合わせ用のベクトルを「第1ベクトル」、「第2ベクトル」と表記する。第1距離画像情報から検出する並進合わせ用の点を、「第1並進用点」と表記する。
また、第2距離画像情報から検出する回転合わせ用のベクトルを「第3ベクトル」、「第4ベクトル」と表記する。第2距離画像情報から検出する並進合わせ用の点を、「第2並進用点」と表記する。
ここで、第1ベクトルと第3ベクトルとは「条件1」を満たすものとする。条件1は「第1ベクトルの方向と第3ベクトルの方向とは、実空間上で同じ方向である。」という条件である。なお、第1ベクトルの位置と第3ベクトルの位置とは、実空間上で同じでなくてもよい。第1ベクトルの長さと、第3ベクトルの長さとは、実空間上で同じでなくてもよい。
第2ベクトルと第4ベクトルとは「条件2」を満たすものとする。条件2は「第2ベクトルの方向と第4ベクトルの方向とは、実空間上で同じ方向である」という条件である。なお、第2ベクトルの位置と第4ベクトルの位置とは、実空間上で同じでなくてもよい。第2ベクトルの長さと、第4ベクトルの長さとは、実空間上で同じでなくてもよい。
第1ベクトル(第3ベクトル)と第2ベクトル(第4ベクトル)とは「条件3」を満たすものとする。条件3は「第1ベクトル(第3ベクトル)と第2ベクトル(第4ベクトル)とは、実空間上で同じ方向ではなく、かつ、逆方向ではない」という条件である。第1ベクトル(第3ベクトル)と第2ベクトル(第4ベクトル)とのなす角度は、90度に近い角度であることが望ましい。
第1並進用点と、第2並進用点とは「条件4」を満たすものとする。条件4は「第1並進用点の位置と、第2並進用点の位置とは、実空間上で同じ位置である」という条件である。
本実施例1に係る情報処理装置100は、センサ10A、10Bの可視画像に基づくインストラクション画面を生成して表示し、ユーザから、第1~第4ベクトルの始点および終点、第1、2並進用点の選択を受け付ける。ユーザは、第1~第4ベクトルの始点および終点、第1、2並進用点を選択する場合には、上記の条件1~4を満たすようにする。
図5は、本実施例1に係るインストラクション画面の一例を示す図(1)である。図5に示すインストラクション画面20は、センサ10Aの可視画像に基づき生成される画面である。ユーザは、インストラクション画面20を参照し、情報処理装置100の入力装置を操作して、第1ベクトルの始点と、第1ベクトルの終点とを選択する。図5に示す例では、第1ベクトルの始点として点20aが選択され、第1ベクトルの終点として点20bが選択されている。
図示を省略するが、情報処理装置100は、センサ10Bの可視画像に基づき、第3ベクトルの選択を受け付けるインストラクション画面を表示する。ユーザは、かかるインストラクション画面を参照し、第3ベクトルの始点と、第3ベクトルの終点とを選択する。ユーザは、第1ベクトルと第3ベクトルとを選択する場合には、第1ベクトルと第3ベクトルとが条件1を満たすようにする。
図6は、本実施例1に係るインストラクション画面の一例を示す図(2)である。図6に示すインストラクション画面21は、センサ10Aの可視画像に基づき生成される画面である。ユーザは、インストラクション画面21を参照し、情報処理装置100の入力装置を操作して、第2ベクトルの始点と、第2ベクトルの終点とを選択する。図6に示す例では、第2ベクトルの始点として点20aが選択され、第2ベクトルの終点として点20cが選択されている。
図示を省略するが、情報処理装置100は、センサ10Bの可視画像に基づき、第4ベクトルの選択を受け付けるインストラクション画面を表示する。ユーザは、かかるインストラクション画面を参照し、第4ベクトルの始点と、第4ベクトルの終点とを選択する。ユーザは、第2ベクトルと第4ベクトルとを選択する場合には、第2ベクトルと第4ベクトルとが条件2を満たすようにする。ユーザは、第1ベクトルと第2ベクトルとが、条件3を満たすようにする。ユーザは、第3ベクトルと第4ベクトルとが、条件3を満たすようにする。
図7は、本実施例1に係るインストラクション画面の一例を示す図(3)である。図7に示すインストラクション画面22は、センサ10Aの可視画像に基づき生成される画面である。ユーザは、インストラクション画面22を参照し、情報処理装置100の入力装置を操作して、第1並進用点を選択する。図7に示す例では、第1並進用点として、点20aが選択されている。
図示を省略するが、情報処理装置100は、センサ10Bの可視画像に基づき、第2並進用点を受け付けるインストラクション画面を表示する。ユーザは、かかるインストラクション画面を参照し、第2並進用点を選択する。ユーザは、第1並進用点の位置と、第2並進用点の位置とが、条件4を満たすようにする。
上記のように、情報処理装置100は、インストラクション画面を表示して、ユーザから、第1ベクトルの始点および終点、第2ベクトルの始点および終点、第1並進用点を受け付ける。また、情報処理装置100は、インストラクション画面を表示して、ユーザから、第3ベクトルの始点および終点、第4ベクトルの始点および終点、第2並進用点を受け付ける。
情報処理装置100は、第1~第4ベクトル、第1、2並進用点を基にして、センサ10Aに測距された点群と、センサ10Bに測距された点群との位置合わせするためのパラメータを算出する。このように、第1~第4ベクトル、第1、2並進用点を特定するための指示を、インストラクション画面を用いて、ユーザから受け付けることで、センサ10Aの測距範囲と、センサ10Bの測距範囲との共通範囲に含まれる3次元点群の数が少なく、十分特徴的な形をしていない場合でも、位置合わせを行うことができる。
続いて、本実施例1に係る情報処理装置100の構成の一例について説明する。図8は、本実施例1に係る情報処理装置の構成を示す機能ブロック図である。図8に示すように、この情報処理装置100は、インタフェース部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
インタフェース部110は、センサ10Aおよびセンサ10Bから情報を受信する通信装置である。インタフェース部110は、センサ10Aから、第1距離画像情報を受信し、受信した第1距離画像情報を、制御部150に出力する。インタフェース部110は、センサ10Bから、第2距離画像情報を受信し、受信した第2距離画像情報を、制御部150に出力する。また、インタフェース部110は、後述する採点装置と接続していてもよい。
入力部120は、各種の情報を情報処理装置100に入力するための入力装置である。たとえば、入力部120は、キーボードやマウス、タッチパネル等に対応する。ユーザは、図5~図7に示したインストラクション画面を参照し、入力部120を操作して、第1ベクトルの始点および終点、第2ベクトルの始点および終点、第1並進用点を選択する。また、ユーザは、入力部120を操作して、第3ベクトルの始点および終点、第4ベクトルの始点および終点、第2並進用点を選択する。
表示部130は、制御部150から出力される各種の情報を表示する表示装置である。たとえば、表示部130は、液晶ディスプレイ、タッチパネル等に対応する。たとえば、表示部は、図5~図7に示したインストラクション画面を表示する。
記憶部140は、距離画像テーブル140aと、パラメータ140bとを有する。記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
距離画像テーブル140aは、センサ10Aから出力される第1距離画像情報と、センサ10Bから出力される第2距離画像情報とを保持するテーブルである。図9は、本実施例1に係る距離画像テーブルのデータ構造の一例を示す図である。
図9に示すように、この距離画像テーブル140aは、第1距離画像情報と、第2距離画像情報とを有する。第1距離画像情報には、センサ10Aに測距された点群の座標情報(各点の3次元座標)と、センサ10Aに撮影された可視画像の情報とを有する。各点群は、可視画像の各位置に対応付けられているものとする。図示を省略するが、各点には、点を一意に識別する番号が付与される。
第2距離画像情報には、センサ10Bに測距された各点群の座標情報(各点の3次元座標)と、センサ10Bに撮影された可視画像の情報とを有する。各点群は、可視画像の各位置に対応付けられているものとする。図示を省略するが、各点には、点を一意に識別する番号が付与される。
パラメータ140bは、センサ10Aに測距される点群と、センサ10Bに測距される点群との位置合わせを行うためのパラメータである。パラメータ140bには、位置合わせ回転角度の情報と、位置合わせ並進距離の情報とが含まれる。
制御部150は、第1取得部150aと、提供部150bと、第2取得部150cと、算出部150dと、出力部150eとを有する。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
第1取得部150aは、インタフェース部110を介して、センサ10Aから第1距離画像情報を取得し、取得した第1距離画像情報を距離画像テーブル140aに登録する。第1取得部150aは、センサ10Bから第2距離画像情報を取得し、取得した第2距離画像情報を距離画像テーブル140aに登録する。
第1取得部150aは、第1距離画像情報を距離画像テーブル140aに登録する場合に、各点群とセンサ10Aとの距離の情報を、3次元座標情報に変換する。たとえば、第1取得部150aは、距離の情報を、3次元座標情報に変換する場合に、距離を3次元座標に変換する変換テーブルを利用する。
第1取得部150aは、第2距離画像情報を距離画像テーブル140aに登録する場合に、各点群とセンサ10Bとの距離の情報を、3次元座標情報に変換する。たとえば、第1取得部150aは、距離の情報を、3次元座標情報に変換する場合に、距離を3次元座標に変換する変換テーブルを利用する。
提供部150bは、インストラクション画面の情報を生成し、インストラクション画面の情報を、表示部130に出力することで、インストラクション画面を表示させる処理部である。表示部130に表示されるインストラクション画面は、図5~図7等に示したインストラクション画面20,21,22等に対応する。
提供部150bは、距離画像テーブル140aに格納された可視画像を基にして、インストラクション画面を生成する。提供部150bは、第1ベクトル、第2ベクトル、第1並進用点の選択を受けるためのインストラクション画面を、第1距離画像情報の可視画像を用いて生成する。提供部150bは、インストラクション画面の情報を生成する場合に、第1ベクトルの始点および終点を選択するのか、第2ベクトルの始点および終点を選択するのか、第1並進用点を選択するのかを区別するコメントを付与する。
提供部150bは、第3ベクトル、第4ベクトル、第2並進用点の選択を受けるためのインストラクション画面を、第2距離画像情報の可視画像を用いて生成する。提供部150bは、インストラクション画面の情報を生成する場合に、第3ベクトルの始点および終点を選択するのか、第4ベクトルの始点および終点を選択するのか、第2並進用点を選択するのかを区別するコメントを付与する。
第2取得部150cは、インストラクション画面に対してユーザに選択された情報を基にして、第1ベクトル、第2ベクトル、第1並進用点、第3ベクトル、第4ベクトル、第2並進用点を取得する処理部である。
提供部150bにより、第1ベクトルの始点および終点を選択するインストラクション画面が表示部130に表示されると、ユーザは、入力部120を操作して、第1ベクトルの始点および終点を選択する。第2取得部150cは、入力部120から、第1ベクトルの始点および終点の情報を取得する。図5に示す例では、点20aが始点として選択され、点20bが終点として選択されている。入力部120により選択される、第1ベクトルの始点および終点の情報は、可視画像の座標に対応する。
第2取得部150cは、距離画像テーブル140aの第1距離画像情報を基にして、インストラクション画面でユーザに選択された第1ベクトルの始点に対応する点の識別情報を、各点群から特定する。第1ベクトルの始点に対応する点の識別情報を、「第1始点識別情報」と表記する。
第2取得部150cは、距離画像テーブル140aの第1距離画像情報を基にして、インストラクション画面でユーザに選択された第1ベクトルの終点に対応する点の識別情報を、各点群から特定する。第1ベクトルの終点に対応する点の識別情報を、「第1終点識別情報」と表記する。
提供部150bにより、第2ベクトルの始点および終点を選択するインストラクション画面が表示部130に表示されると、ユーザは、入力部120を操作して、第2ベクトルの始点および終点を選択する。第2取得部150cは、入力部120から、第2ベクトルの始点および終点の情報を取得する。図6に示す例では、点20aが始点として選択され、点20cが終点として選択されている。入力部120により選択される、第2ベクトルの始点および終点の情報は、可視画像の座標に対応する。
第2取得部150cは、距離画像テーブル140aの第1距離画像情報を基にして、インストラクション画面でユーザに選択された第2ベクトルの始点に対応する点の識別情報を、各点群から特定する。第2ベクトルの始点に対応する点の識別情報を、「第2始点識別情報」と表記する。
第2取得部150cは、距離画像テーブル140aの第1距離画像情報を基にして、インストラクション画面でユーザに選択された第2ベクトルの終点に対応する点の識別情報を、各点群から特定する。第2ベクトルの終点に対応する点の識別情報を、「第2終点識別情報」と表記する。
提供部150bにより、第1並進用点を選択するインストラクション画面が表示部130に表示されると、ユーザは、入力部120を操作して、第1並進用点を選択する。第2取得部150cは、入力部120から、第1並進用点の情報を取得する。図7に示す例では、点20aが第1並進用点として選択されている。入力部120により選択される、第1並進用点の情報は、可視画像の座標に対応する。
第2取得部150cは、距離画像テーブル140aの第1距離画像情報を基にして、インストラクション画面でユーザに選択された第1並進用点に対応する点の識別情報を、各点群から特定する。第1並進用点に対応する点の識別情報を、「第1並進点識別情報」と表記する。
第2取得部150cは、第1始点識別情報、第1終点識別情報、第2始点識別情報、第2終点識別情報、第1並進点識別情報を、算出部150dに出力する。
提供部150bにより、第3ベクトルの始点および終点を選択するインストラクション画面が表示部130に表示されると、ユーザは、入力部120を操作して、第3ベクトルの始点および終点を選択する。第2取得部150cは、入力部120から、第3ベクトルの始点および終点の情報を取得する。入力部120により選択される、第3ベクトルの始点および終点の情報は、可視画像の座標に対応する。
第2取得部150cは、距離画像テーブル140aの第2距離画像情報を基にして、インストラクション画面でユーザに選択された第3ベクトルの始点に対応する点の識別情報を、各点群から特定する。第3ベクトルの始点に対応する点の識別情報を、「第3始点識別情報」と表記する。
第2取得部150cは、距離画像テーブル140aの第2距離画像情報を基にして、インストラクション画面でユーザに選択された第3ベクトルの終点に対応する点の識別情報を、各点群から特定する。第3ベクトルの終点に対応する点の識別情報を、「第3終点識別情報」と表記する。
提供部150bにより、第4ベクトルの始点および終点を選択するインストラクション画面が表示部130に表示されると、ユーザは、入力部120を操作して、第4ベクトルの始点および終点を選択する。第2取得部150cは、入力部120から、第4ベクトルの始点および終点の情報を取得する。入力部120により選択される、第4ベクトルの始点および終点の情報は、可視画像の座標に対応する。
第2取得部150cは、距離画像テーブル140aの第2距離画像情報を基にして、インストラクション画面でユーザに選択された第4ベクトルの始点に対応する点の識別情報を、各点群から特定する。第4ベクトルの始点に対応する点の識別情報を、「第4始点識別情報」と表記する。
第2取得部150cは、距離画像テーブル140aの第2距離画像情報を基にして、インストラクション画面でユーザに選択された第4ベクトルの終点に対応する点の識別情報を、各点群から特定する。第4ベクトルの終点に対応する点の識別情報を、「第4終点識別情報」と表記する。
提供部150bにより、第2並進用点を選択するインストラクション画面が表示部130に表示されると、ユーザは、入力部120を操作して、第2並進用点を選択する。第2取得部150cは、入力部120から、第2並進用点の情報を取得する。入力部120により選択される、第2並進用点の情報は、可視画像の座標に対応する。
第2取得部150cは、距離画像テーブル140aの第2距離画像情報を基にして、インストラクション画面でユーザに選択された第2並進用点に対応する点の識別情報を、各点群から特定する。第2並進用点に対応する点の識別情報を、「第2並進点識別情報」と表記する。
第2取得部150cは、第3始点識別情報、第3終点識別情報、第4始点識別情報、第4終点識別情報、第2並進点識別情報を、算出部150dに出力する。
算出部150dは、第1ベクトル、第2ベクトル、第3ベクトル、第4ベクトル、第1並進点、第2並進点を基にして、位置合わせのための回転角度および並進距離を算出する処理部である。算出部150dは、算出した回転角度および並進距離の情報をパラメータ140bとして、記憶部140に記憶する。パラメータ140bに含まれる位置合わせのための回転角度および並進距離を適宜、「位置合わせ回転角度」、「位置合わせ並進距離」と表記する。
たとえば、算出部150dは、次の処理を実行することで、各ベクトルの始点および終点の3次元座標、各並進用点の3次元座標を特定する。
算出部150dは、第1始点識別情報および第1終点識別情報と、距離画像テーブル140aの第1距離画像情報とを基にして、第1ベクトルの始点および終点の3次元座標を検出し、第1ベクトルを特定する。算出部150dは、第2始点識別情報および第2終点識別情報と、第1距離画像情報とを基にして、第2ベクトルの始点および終点の3次元座標を検出し、第2ベクトルを特定する。算出部150dは、第1並進識別情報と、第1距離画像情報とを基にして、第1並進用点の3次元座標を特定する。
算出部150dは、第3始点識別情報および第3終点識別情報と、距離画像テーブル140aの第2距離画像情報とを基にして、第3ベクトルの始点および終点の3次元座標を検出し、第3ベクトルを特定する。算出部150dは、第4始点識別情報および第4終点識別情報と、第2距離画像情報とを基にして、第4ベクトルの始点および終点の3次元座標を検出し、第2ベクトルを特定する。算出部150dは、第2並進識別情報と、第2距離画像情報とを基にして、第2並進用点の3次元座標を特定する。
図10は、第1~第4ベクトルおよび第1、2並進用点の一例を示す図である。図10において、点群16Aは、センサ10Aにより測距された点群である。点群16Bは、センサ10Bにより測距された点群である。点群16Aのベクトル16A-1は、第1ベクトルである。点群16Aのベクトル16A-2は、第1ベクトルである。点17Aは、第1並進用点である。
点群16Aのベクトル16B-3は、第3ベクトルである。点群16Bのベクトル16B-4は、第4ベクトルである。点17Bは、第2並進用点である。
続いて、算出部150dは、第1ベクトル、第2ベクトル、第3ベクトル、第4ベクトルをそれぞれ単位ベクトル化する。たとえば、算出部150dは、第1ベクトルを、第1ベクトルの長さで割ることで、第1ベクトルを単位ベクトル化する。他のベクトルについても同様にして、単位ベクトル化する。以下の説明では、単位ベクトル化した第1ベクトル、第2ベクトル、第3ベクトル、第4ベクトルをそれぞれ、単に、第1ベクトル、第2ベクトル、第3ベクトル、第4ベクトルと表記する。
算出部150dは、第1ベクトル、第2ベクトル、第3ベクトル、第4ベクトルの各始点を、3次元座標の原点の位置に移動させる。
算出部150dは、式(1)の合計距離Dが最小となる第3ベクトルの回転角度を算出する。式(1)において、D13は、第1ベクトルの終点と、第3ベクトルの終点との距離を示す。D24は、第2ベクトルの終点と、第4ベクトルの終点との距離を示す。たとえば、回転角度には、X回転角度、Y回転角度、Z回転角度を有する。X回転角度は、x軸周りの回転角度(ロール)に対応する。Y回転角度は、y軸周りの回転角度(ピッチ)に対応する。Z回転角度は、z軸周りの回転角度(ヨー)を示す。
D=D13+D24・・・(1)
算出部150dは、第1ベクトルおよび第2ベクトルを固定し、第3ベクトルの回転角度を変更して、最小となる合計距離Dを算出する。たとえば、算出部150dは、X回転角度、Y回転角度、Z回転角度を少しずつ変更して、合計距離Dを算出する処理を繰り返し実行し、合計距離Dが最小となるX回転角度、Y回転角度、Z回転角度を探索する。なお、算出部150dは、第3ベクトルと第4ベクトルとの位置関係を維持する。すなわち、第3ベクトルに対する回転角度の変更に合わせて、第4ベクトルの回転角度を変更する。合計距離Dが最小となる回転角度が「位置合わせ回転角度」となる。
算出部150dは、位置合わせ回転角度を算出すると、並進距離を算出する処理を行う。算出部150dは、第2並進用点の3次元座標を、位置合わせ回転角度だけ回転させる。算出部150dは、位置合わせ回転角度だけ回転させた第2並進用点の3次元座標と、第1並進用点の3次元座標との差分を、位置合わせ並進距離として算出する。位置合わせ並進距離には、X並進距離、Y並進距離、Z並進距離が含まれる。
X並進距離は、第1並進用点のx座標と、第2並進用点のx座標との差分である。Y並進距離は、第1並進用点のy座標と、第2並進用点のy座標との差分である。Z並進距離は、第1並進用点のz座標と、第2並進用点のz座標との差分である。
算出部150dは、上記処理により算出した位置合わせ回転角度と、位置合わせ並進距離とを、パラメータ140dとして、記憶部140に記憶する。
出力部150eは、パラメータ140bを、採点装置等の外部装置に出力する処理部である。
次に、本実施例1に係る情報処理装置100の処理手順の一例について説明する。図11は、本実施例1に係る情報処理装置の処理手順を示すフローチャートである。図11に示すように、この情報処理装置100の第1取得部150aは、センサ10A、10Bから第1距離画像情報、第2距離画像情報を取得する(ステップS101)。
情報処理装置100の提供部150bは、インストラクション画面の情報を生成し、インストラクション画面を表示部130に表示させる(ステップS102)。
情報処理装置100の第2取得部150cは、ユーザによる選択を基にして、センサ10Aの点群から、第1ベクトルの始点および終点、第2ベクトルの始点および終点、第1並進用点を取得する(ステップS103)。第2取得部150cは、ユーザによる選択を基にして、センサ10Bの点群から、第3ベクトルの始点および終点、第4ベクトルの始点および終点、第2並進用点を取得する(ステップS104)。
情報処理装置100の算出部150dは、第1~第4ベクトルを単位ベクトルに変換する(ステップS105)。算出部150dは、始点が3次元座標の原点となるように、第1~第4ベクトルを移動させる(ステップS106)。
算出部150dは、合計距離Dが最小となるセンサ10Bの終点の回転角度(位置合わせ回転角度)を算出する(ステップS107)。算出部150dは、第2並進用点を、位置合わせ回転角度だけ回転させる(ステップS108)。
算出部150dは、第1並進用点の座標と、回転させた第2並進用点の座標との差分を並進距離(位置合わせ並進距離)として算出する(ステップS109)。算出部150dは、位置合わせ回転角度と、位置合わせ並進距離とをパラメータ140bとして記憶部140に記憶させる(ステップS110)。
次に、本実施例1に係る情報処理装置100の効果について説明する。情報処理装置100は、インストラクション画面を表示して、条件1~4を満たす第1~第4ベクトル、第1、2並進用点を取得し、第1~第4ベクトル、第1、2並進用点を基にして、センサ10Aに測距された点群と、センサ10Bに測距された点群との位置合わせするためのパラメータを算出する。このように、条件1~4を満たす第1~第4ベクトル、第1、2並進用点を特定するための選択を、インストラクション画面を用いて、ユーザから受け付けることで、センサ10Aの測距範囲と、センサ10Bの測距範囲との共通範囲に含まれる3次元点群の数が少なく、十分特徴的な形をしていない場合でも、位置合わせを行うことができる。
ところで、実施例1で用いるマーカは、図2に示した壁15に埋め込まれているものではなく、持ち運び可能なものであってもよい。図12は、持ち運び可能なマーカ配置台の一例を示す図である。図12に示すマーカ配置台30は、マーカ30-1~30-4が含まれる。マーカ30-1~30-3は、水平方向に並んでいる。マーカ30-1~30-3を通る直線と、マーカ30-1および30-4を通る直線とのなす角度を90度とする。センサ10Aの測距可能な範囲を、範囲30Aとする。センサ10Bの測距可能な範囲を、範囲30Bとする。
情報処理装置100は、マーカ配置台30の可視画像を基にして、インストラクション画面の情報を生成し、表示部130に表示させる。情報処理装置100は、インストラクション画面を参照するユーザから、第1~第4ベクトルの始点および終点、第1、2並進用点の選択を受け付ける。
続いて、本実施例1に示した情報処理装置100が算出したパラメータ140bを用いて、体操を行う選手の演技を採点する採点装置の一例について説明する。ここでは、採点装置について説明を行うが、採点装置に限らず、複数のセンサを用いて被写体のセンシングを行う装置であれば、情報処理装置100が算出したパラメータ140bを利用することが可能である。
図13は、採点装置の構成を示す機能ブロック図である。図13に示すように、この採点装置200は、センサ10A、センサ10B、表示装置250に接続される。センサ10A、センサ10Bは、図1に示したセンサ10A、センサ10Bに対応する。図12に示すセンサ10A,10Bの配置状況と、図1に示したセンサ10A,10Bの配置状況とは同一であるものとする。設置状況は、センサ10A,10Bの配置位置、センサの方向を示す。センサ10A,10Bは、選手7Aを含めて、第1距離画像情報、第2距離画像情報を測定する。
表示装置250は、採点装置から出力される情報を表示する表示装置である。表示装置250は、たとえば、液晶ディスプレイ、タッチパネル等に対応する。
採点装置200は、記憶部201、取得部202、位置合わせ部203、認識部204、出力部205を有する。
記憶部201は、パラメータ140bを有する。記憶部201は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。パラメータ140bは、図8で説明したパラメータ140bに対応する情報である。
取得部202は、センサ10Aから第1距離画像情報を取得し、センサ10bから第2距離画像情報を取得する。取得部202は、第1距離画像情報と第1背景フレームとを基にして、第1距離画像情報に含まれる被写体6を構成する第1点群を抽出する。取得部202は、第2距離画像情報と第2背景フレームとを基にして、第2距離画像情報に含まれる被写体6を構成する第2点群を抽出する。取得部202は、第1点群の座標情報と、第1点群の座標情報とを、位置合わせ部203に出力する。ここで、第1背景フレームは、被写体6を含まない第1距離画像情報を示すものであり、事前に設定される。第2背景フレームは、被写体6を含まない第2距離画像情報を示すものであり、事前に設定される。
位置合わせ部203は、パラメータ140bを基にして、第1点群と第2点群との位置合わせを行う処理部である。位置合わせ部203は、第2点群に含まれる各点の座標を、パラメータ140bに含まれる位置合わせ回転角度、位置合わせ並進距離に基づいて位置合わせする。位置合わせ部203は、位置合わせした第2点群と、第1点群との情報を、認識部204に出力する。
認識部204は、位置合わせされた第2点群および第1点群を組み合わせて、被写体6の骨格を認識する処理部である。認識部204は、時刻毎に被写体6の骨格の位置を検出し、骨格の位置の推移と採点基準を定義したテーブル(図示略)とを比較して、被写体6の演技を採点する。認識部204は、採点結果の情報を、出力部205に出力する。たとえば、採点結果の情報には、D(Difficulty)スコア、E(Execution)スコアが含まれる。
出力部205は、採点結果の情報を基にして、採点画面情報を生成する処理部である。出力部205は、採点画面情報を、表示装置250に出力して表示させる。図14は、採点画面の一例を示す図である。図14に示すように、採点画面情報65には、領域65a,65b,65cが含まれる。
領域65aは、Dスコア、Eスコア等の採点結果を表示する領域である。領域65bは、カメラ等により撮影された被写体6の映像を表示する領域である。領域65cは、位置合わせされた第一点群および第二点群から推定される骨格の情報を基にして推定される3Dモデルを表示する領域である。
続いて、採点装置200の位置合わせ部203の処理手順の一例について説明する。図15は、採点装置の位置合わせ部の処理手順を示すフローチャートである。図15に示す例では、第2点群の位置合わせを行う場合について説明するが、第1点群も第2点群と同様にして位置合わせが行われる。
図15に示すように、採点装置200の位置合わせ部203は、第2点群をX並進距離分、並進させる(ステップS201)。位置合わせ部203は、第2点群をY並進距離分、並進させる(ステップS202)。位置合わせ部203は、第2点群をZ並進距離分、並進させる(ステップS203)。
位置合わせ部203は、X軸を中心に、第2点群をX回転角度分、回転させる(ステップS204)。位置合わせ部203は、Y軸を中心に、第2点群をY回転角度分、回転させる(ステップS205)。位置合わせ部203は、Z軸を中心に、第2点群をZ回転角度分、回転させる(ステップS206)。
上記のように、採点装置200は、情報処理装置100により生成されるパラメータ140bを基にして、センサ10A,10Bにより測定される点群の位置合わせを行うことで、被写体全体の点群を正確に特定でき、採点精度を向上させることができる。
図16は、位置合わせ後の第1点群と第2点群との一例を示す図である。図16では説明の便宜上、図3に示した点群16A(第1点群)と、点群16B(第2点群)との位置合わせ結果を示す。図16に示すように、各マーカの位置が精度よく一致している。
なお、本実施例1では、情報処理装置100と、採点装置200とが別々の装置で実現される場合について説明したがこれに限定されるものではない。たとえば、情報処理装置100の機能に、採点装置200の機能が含まれていてもよい。すなわち、情報処理装置100の制御部150に、採点装置200の位置合わせ部203、認識部240、出力部205等が含まれていてもよい。
次に、本実施例2に係る情報処理装置について説明する。本実施例2に係る情報処理装置は、実施例1と同様にして、センサ10Aとセンサ10Bに接続される。
本実施例2に係る情報処理装置は、マーカの中心座標を自動で検出する。また、一つ一つのマーカを異なる形状で予め決められた位置関係で配置しておくことで、各マークの形状を認識して、条件1~4を満たす第1~第4ベクトル、第1、2並進用点を自動で検出する。このような処理を実行することで、ユーザが条件1~4を満たすように各ベクトル、並進用点を選択しなくても、位置合わせを行うためのパラメータを算出することができる。
図17は、本実施例2で用いるマーカの一例を示す図である。図17に示すように、壁35には、マーカ35-1~35-4が含まれる。マーカ35-1~35-3は、水平方向に並んでいる。マーカ35-1~35-3を通る直線と、マーカ35-1および35-4を通る直線とのなす角度を90度とする。センサ10Aの測距可能な範囲を、範囲35Aとする。センサ10Bの測距可能な範囲を、範囲35Bとする。
マーカ35-1~35-4はそれぞれ固有の形状を有している。マーカ35-1は「3角形」である。マーカ35-2は「4角形(ダイヤ)」である。マーカ35-3は「5角形」である。マーカ35-4は「6角形」である。
図18は、本実施例2に係る情報処理装置の構成を示す機能ブロック図である。図18に示すように、この情報処理装置300は、インタフェース部210と、入力部320と、表示部330と、記憶部340と、制御部350とを有する。
インタフェース部210は、センサ10Aおよびセンサ10Bから情報を受信する通信装置である。インタフェース部210は、センサ10Aから、第1距離画像情報を受信し、受信した第1距離画像情報を、制御部350に出力する。インタフェース部210は、センサ10Bから、第2距離画像情報を受信し、受信した第2距離画像情報を、制御部350に出力する。また、インタフェース部210は、実施例1で説明した採点装置200と接続していてもよい。
入力部320は、各種の情報を情報処理装置100に入力するための入力装置である。たとえば、入力部120は、キーボードやマウス、タッチパネル等に対応する。ユーザは、入力部120を操作して、各種の情報を入力する。
表示部330は、制御部350から出力される各種の情報を表示する表示装置である。たとえば、表示部330は、液晶ディスプレイ、タッチパネル等に対応する。
記憶部340は、距離画像テーブル340aと、パラメータ340bとを有する。記憶部340は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
距離画像テーブル340aは、センサ10Aから出力される第1距離画像情報と、センサ10Bから出力される第2距離画像情報とを保持するテーブルである。距離画像テーブル340aのデータ構造は、図9に示した距離画像テーブル140aのデータ構造と同様である。
パラメータ340bは、センサ10Aに測距される点群と、センサ10Bに測距される点群との位置合わせを行うためのパラメータである。パラメータには、位置合わせ回転角度の情報と、位置合わせ並進距離の情報とが含まれる。
マーカ定義情報340cは、各マーカの特徴と、各ベクトルの始点、終点、並進用点との対応関係を示す情報である。図19は、マーカ定義情報のデータ構造の一例を示す図である。図19に示すように、マーカ定義情報は、マーカ特徴と、各ベクトルの始点および終点、並進用点とをオンオフのフラグで関連付ける。オンは、関連づけが有効であり、オフは関連づけが無効であることを示す。
たとえば、マーカ特徴「3角形」のマーカは、第1ベクトルの始点となることが定義される。マーカ特徴「4角形」のマーカは、第1ベクトルの終点、第2ベクトルの始点、第3ベクトルの始点、第4ベクトルの始点、並進用点となることを定義される。マーカ特徴「5角形」のマーカは、第3ベクトルの終点となることが定義される。マーカ特徴「6角形」のマーカは、第2ベクトルの終点、第4ベクトルの終点となることが定義される。
図18の説明に戻る。制御部350は、第1取得部350aと、第2取得部350bと、算出部350cと、出力部350dとを有する。制御部350は、CPUやMPUなどによって実現できる。また、制御部350は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
第1取得部350aは、インタフェース部310を介して、センサ10Aから第1距離画像情報を取得し、取得した第1距離画像情報を距離画像テーブル340aに登録する。第1取得部350aは、センサ10Bから第2距離画像情報を取得し、取得した第2距離画像情報を距離画像テーブル340aに登録する。第1取得部350aに関するその他の説明は、実施例1で説明した第1取得部150aに関する説明と同様である。
第2取得部350bは、第1、2距離画像情報の各可視画像と、マーカ定義情報340cとを基にして、第1ベクトル、第2ベクトル、第1並進用点、第3ベクトル、第4ベクトル、第2並進用点を取得する処理部である。
第2取得部350bは、距離画像テーブル340aの可視画像に対して、多角形(3角形、4角形、5角形、6角形)のテンプレートとのパターンマッチングを実行し、3角形、4角形、5角形、6角形のマーカを検出する。第2取得部350bは、マーカ定義情報340cを基にして、どのマーカが、いずれのベクトルの始点、終点、いずれの並進用点に対応するかを判定し、第1ベクトル、第2ベクトル、第1並進用点、第3ベクトル、第4ベクトル、第2並進用点を取得する。
第2取得部350bは、第1距離画像情報の可視画像上の3角形のマーカ(マーカの中心)に含まれる点(第1ベクトルの始点)を選択する。第2取得部350bは、3角形のマーカに含まれる点が複数存在する場合には、いずれか一つの点を選択する。第2取得部350bは、距離画像テーブル340aの第1距離画像情報を基にして、選択した点(第1ベクトルの始点)に対応する点の識別情報を、各点群から特定する。第1ベクトルの始点に対応する点の識別情報を、「第1始点識別情報」と表記する。
第2取得部350bは、第1距離画像情報の可視画像上の4角形のマーカ(マーカの中心)に含まれる点(第1ベクトルの終点、第2ベクトルの始点、第1並進用点)を選択する。第2取得部350bは、4角形のマーカに含まれる点が複数存在する場合には、いずれか一つの点を選択する。
第2取得部350bは、距離画像テーブル340aの第1距離画像情報を基にして、選択した点(第1ベクトルの終点、第2ベクトルの始点、第1並進用点)に対応する点の識別情報を、各点群から特定する。第1ベクトルの終点に対応する点の識別情報を、「第1終点識別情報」と表記する。第2ベクトルの始点に対応する点の識別情報を「第2始点識別情報」と表記する。第1並進用点に対応する点の識別情報を「第1並進点識別情報」と表記する。図17に示す例では、第1終点識別情報、第2始点識別情報、第1並進点識別情報に示される点は、同じ点となる。
第2取得部350bは、第1距離画像情報の可視画像上の6角形のマーカ(マーカの中心)に含まれる点(第2ベクトルの終点)を選択する。第2取得部350bは、6角形のマーカに含まれる点が複数存在する場合には、いずれか一つの点を選択する。第2取得部350bは、距離画像テーブル340aの第1距離画像情報を基にして、選択した点(第2ベクトルの終点)に対応する点の識別情報を、各点群から特定する。第2ベクトルの終点に対応する点の識別情報を、「第2終点識別情報」と表記する。
第2取得部350bは、第2距離画像情報の可視画像上の4角形のマーカ(マーカの中心)に含まれる点(第3ベクトルの始点、第4ベクトルの始点、第2並進用点)を選択する。第2取得部350bは、4角形のマーカに含まれる点が複数存在する場合には、いずれか一つの点を選択する。
第2取得部350bは、距離画像テーブル340aの第2距離画像情報を基にして、選択した点(第3ベクトルの始点、第4ベクトルの始点、第2並進用点)に対応する点の識別情報を、各点群から特定する。第3ベクトルの始点に対応する点の識別情報を、「第3始点識別情報」と表記する。第4ベクトルの始点に対応する点の識別情報を、「第4始点識別情報」と表記する。第2並進用点に対応する点の識別情報を「第2並進点識別情報」と表記する。図17に示す例では、第3始点識別情報、第4始点識別情報、第2並進点識別情報に示される点は、同じ点となる。
第2取得部350bは、第2距離画像情報の可視画像上の5角形のマーカ(マーカの中心)に含まれる点(第3ベクトルの終点)を選択する。第2取得部350bは、5角形のマーカに含まれる点が複数存在する場合には、いずれか一つの点を選択する。第2取得部350bは、距離画像テーブル340aの第2距離画像情報を基にして、選択した点(第3ベクトルの終点)に対応する点の識別情報を、各点群から特定する。第3ベクトルの終点に対応する点の識別情報を、「第3終点識別情報」と表記する。
第2取得部350bは、第2距離画像情報の可視画像上の6角形のマーカ(マーカの中心)に含まれる点(第4ベクトルの終点)を選択する。第2取得部350bは、6角形のマーカに含まれる点が複数存在する場合には、いずれか一つの点を選択する。第2取得部350bは、距離画像テーブル340aの第2距離画像情報を基にして、選択した点(第4ベクトルの終点)に対応する点の識別情報を、各点群から特定する。第4ベクトルの終点に対応する点の識別情報を、「第4終点識別情報」と表記する。
第2取得部350bは、第1始点識別情報、第1終点識別情報、第2始点識別情報、第2終点識別情報、第1並進点識別情報を、算出部350cに出力する。第2取得部350bは、第3始点識別情報、第3終点識別情報、第4始点識別情報、第4終点識別情報、第2並進点識別情報を、算出部350cに出力する。
算出部350cは、第1ベクトル、第2ベクトル、第3ベクトル、第4ベクトル、第1並進点、第2並進点を基にして、位置合わせのための回転角度および並進距離を算出する処理部である。算出部350cは、算出した回転角度および並進距離の情報をパラメータ340bとして、記憶部340に記憶する。算出部350cの処理は、実施例1で説明した算出部150dの処理と同様である。
出力部350dは、パラメータ340bを、実施例1で説明した採点装置200等の外部装置に出力する処理部である。
次に、本実施例2に係る情報処理装置300の処理手順の一例について説明する。図20は、本実施例2に係る情報処理装置の処理手順を示すフローチャートである。図20に示すように、この情報処理装置300の第1取得部350aは、センサ10A、10Bから第1距離画像情報、第2距離画像情報を取得する(ステップS301)。
情報処理装置300の第2取得部350bは、マーカ定義情報340cを基にして、センサ10Aの点群から、第1ベクトルの始点および終点、第2ベクトルの始点および終点、第1並進用点を取得する(ステップS302)。第2取得部350bは、マーカ定義情報340cを基にして、センサ10Bの点群から、第3ベクトルの始点および終点、第4ベクトルの始点および終点、第2並進用点を取得する(ステップS303)。
情報処理装置300の算出部350cは、第1~第4ベクトルを単位ベクトルに変換する(ステップS304)。算出部350cは、始点が3次元座標の原点となるように、第1~第4ベクトルを移動させる(ステップS305)。
算出部350cは、合計距離Dが最小となるセンサ10Bの終点の回転角度(位置合わせ回転角度)を算出する(ステップS306)。算出部350cは、第2並進用点を、位置合わせ回転角度だけ回転させる(ステップS307)。
算出部350cは、第1並進用点の座標と、回転させた第2並進用点の座標との差分を並進距離(位置合わせ並進距離)として算出する(ステップS308)。算出部350cは、位置合わせ回転角度と、位置合わせ並進距離とをパラメータ340bとして記憶部340に記憶させる(ステップS309)。
次に、本実施例2に係る情報処理装置300の効果について説明する。情報処理装置300は、一つ一つのマーカを異なる形状で予め決められた位置関係で配置しておくことで、各マークの形状を認識して、条件1~4を満たす第1~第4ベクトル、第1、2並進用点を自動で検出する。このような処理を実行することで、ユーザが条件1~4を満たすように各ベクトル、並進用点を選択しなくても、位置合わせを行うためのパラメータを算出することができる。
なお、本実施例2では、情報処理装置300と、採点装置200とが別々の装置で実現される場合について説明したがこれに限定されるものではない。たとえば、情報処理装置300の機能に、採点装置200の機能が含まれていてもよい。すなわち、情報処理装置300の制御部350に、採点装置200の位置合わせ部203、認識部240、出力部205等が含まれていてもよい。
実施例1で説明したように、センサ10A、10B間において、実空間上で水平方向と垂直方向とのベクトル(第1~第4ベクトルの始点および終点)及び実空間上で同じ位置(第1、2並進用点)を取得することができれば、位置合わせを行うことができる。実施例1では、壁15にマーカを配置する場合について説明したが、第1~第4ベクトルの始点および終点、第1、2並進用点を既存の器具や被写体から取得できる場合には、既存の器具や被写体から取得してもよい。
本実施例3に係る情報処理装置は、体操の平行台が水平であること、選手が直立して一旦動きをとめている瞬間があること等を利用し、インストラクション画面を表示して、ユーザから、第1~第4ベクトルの始点および終点、第1、2並進用点の選択を受け付ける。
図21は、平行台で演技する選手を示す図である。図21において、センサ10Aの測距可能な範囲を範囲45Aとする。センサ10Bの測距可能な範囲を範囲45Bとする。平行台46は、平行であるため、水平ベクトル46A、46B(第1ベクトル、第3ベクトル)を取得することができる。
平行台46上で、選手が演技を行っており、時刻T1における選手を選手47T1とする。時刻T2における選手を選手47T2とする。時刻T3における選手を選手47T3とする。時刻T1において、選手47T1は直立しているため、垂直ベクトル47A(第2ベクトル)を取得することができる。時刻T3において、選手47T3は直立しているため、垂直ベクトル47B(第4ベクトル)を取得することができる。
また、時刻T2において、範囲45Aと範囲45Bとが重複する領域で、選手47T2が位置しており、並進合わせ用の点47C(第1並進用点、第2並進用点)を取得することができる。なお、同じ位置であれば、範囲45Aと範囲45Bとが重複する領域から、点47C以外の点を並進合わせ用の点として取得してもよい。
図22は、本実施例3に係るインストラクション画面の一例を示す図(1)である。図22に示すインストラクション画面50は、センサ10Aの可視画像に基づき生成される画面である。ユーザは、インストラクション画面50を参照し、情報処理装置400の入力装置を操作して、第1ベクトルの始点と、第1ベクトルの終点とを選択する。図22に示す例では、第1ベクトルの始点として点20aが選択され、第1ベクトルの終点として点50bが選択されている。
図示を省略するが、情報処理装置400は、センサ10Bの可視画像に基づき、第3ベクトルの選択を受け付けるインストラクション画面を表示する。ユーザは、かかるインストラクション画面を参照し、第3ベクトルの始点と、第3ベクトルの終点とを選択する。ユーザは、第1ベクトルと第3ベクトルとを選択する場合には、第1ベクトルと第3ベクトルとが条件1を満たすようにする。
図23は、本実施例3に係るインストラクション画面の一例を示す図(2)である。図23に示すインストラクション画面51は、センサ10Aの可視画像に基づき生成される画面である。ユーザは、インストラクション画面51を参照し、情報処理装置400の入力装置を操作して、第2ベクトルの始点と、第2ベクトルの終点とを選択する。図23に示す例では、第2ベクトルの始点として点51aが選択され、第2ベクトルの終点として点51bが選択されている。
図示を省略するが、情報処理装置400は、センサ10Bの可視画像に基づき、第4ベクトルの選択を受け付けるインストラクション画面を表示する。ユーザは、かかるインストラクション画面を参照し、第4ベクトルの始点と、第4ベクトルの終点とを選択する。ユーザは、第2ベクトルと第4ベクトルとを選択する場合には、第2ベクトルと第4ベクトルとが条件2を満たすようにする。ユーザは、第1ベクトルと第2ベクトルとが、条件3を満たすようにする。ユーザは、第3ベクトルと第4ベクトルとが、条件3を満たすようにする。
図24は、本実施例3に係るインストラクション画面の一例を示す図(3)である。図24に示すインストラクション画面52は、センサ10Aの可視画像に基づき生成される画面である。ユーザは、インストラクション画面52を参照し、情報処理装置400の入力装置を操作して、第1並進用点を選択する。図24に示す例では、第1並進用点として、点52aが選択されている。
図示を省略するが、情報処理装置400は、センサ10Bの可視画像に基づき、第2並進用点を受け付けるインストラクション画面を表示する。ユーザは、かかるインストラクション画面を参照し、第2並進用点を選択する。ユーザは、第1並進用点の位置と、第2並進用点の位置とが、条件4を満たすようにする。
上記のように、情報処理装置400は、実施例1で説明したマーカの代わりに、体操の平行台が水平であること、選手が直立して一旦動きをとめている瞬間があること等を利用し、インストラクション画面を表示する。このため、実施例1で説明したようなマーカを用いなくても、第1~第4ベクトル、第1、2並進用点を取得することができる。
続いて、本実施例3に係る情報処理装置400の構成の一例について説明する。図25は、本実施例3に係る情報処理装置の構成を示す機能ブロック図である。図25に示すように、この情報処理装置400は、インタフェース部410と、入力部420と、表示部430と、記憶部440と、制御部450とを有する。
インタフェース部410は、センサ10Aおよびセンサ10Bから情報を受信する通信装置である。インタフェース部410は、センサ10Aから、第1距離画像情報を受信し、受信した第1距離画像情報を、制御部450に出力する。インタフェース部410は、センサ10Bから、第2距離画像情報を受信し、受信した第2距離画像情報を、制御部450に出力する。また、インタフェース部110は、後述する採点装置と接続していてもよい。
入力部420は、各種の情報を情報処理装置400に入力するための入力装置である。たとえば、入力部420は、キーボードやマウス、タッチパネル等に対応する。ユーザは、図22~図24に示したインストラクション画面を参照し、入力部420を操作して、第1ベクトルの始点および終点、第2ベクトルの始点および終点、第1並進用点を選択する。また、ユーザは、入力部420を操作して、第3ベクトルの始点および終点、第4ベクトルの始点および終点、第2並進用点を選択する。
表示部430は、制御部450から出力される各種の情報を表示する表示装置である。たとえば、表示部430は、液晶ディスプレイ、タッチパネル等に対応する。たとえば、表示部は、図22~図24に示したインストラクション画面を表示する。
記憶部440は、距離画像テーブル440aと、パラメータ440bとを有する。記憶部440は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
距離画像テーブル440aは、センサ10Aから出力される各時刻の第1距離画像情報と、センサ10Bから出力される各時刻の第2距離画像情報とを保持するテーブルである。図26は、本実施例3に係る距離画像テーブルのデータ構造の一例を示す図である。
図26に示すように、この距離画像テーブル440aは、テーブル441,442を有する。テーブル441は、時刻と、かかる時刻にセンサ10Aに測距された第1距離画像情報とを対応付けるテーブルである。テーブル442は、時刻と、かかる時刻にセンサ10Bに測距された第2距離画像情報とを対応付けるテーブルである。第1距離画像情報および第2距離画像情報に関する説明は、実施例1で説明したものと同様である。
パラメータ440bは、センサ10Aに測距される点群と、センサ10Bに測距される点群との位置合わせを行うためのパラメータである。パラメータ440bには、位置合わせ回転角度の情報と、位置合わせ並進距離の情報とが含まれる。
制御部450は、第1取得部450aと、提供部450bと、第2取得部450cと、算出部450dと、出力部450eとを有する。制御部450は、CPUやMPUなどによって実現できる。また、制御部450は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
第1取得部450aは、インタフェース部410を介して、各時刻において、センサ10Aから第1距離画像情報を取得し、取得した第1距離画像情報を距離画像テーブル440aのテーブル441に登録する。第1取得部150aは、各時刻において、センサ10Bから第2距離画像情報を取得し、取得した第2距離画像情報を距離画像テーブル440aのテーブル442に登録する。
第1取得部450aは、第1距離画像情報を距離画像テーブル440aのテーブル441に登録する場合に、各点群とセンサ10Aとの距離の情報を、3次元座標情報に変換する。たとえば、第1取得部450aは、距離の情報を、3次元座標情報に変換する場合に、距離を3次元座標に変換する変換テーブルを利用する。
第1取得部450aは、第2距離画像情報を距離画像テーブル440aのテーブル442に登録する場合に、各点群とセンサ10Bとの距離の情報を、3次元座標情報に変換する。たとえば、第1取得部450aは、距離の情報を、3次元座標情報に変換する場合に、距離を3次元座標に変換する変換テーブルを利用する。
提供部450bは、インストラクション画面の情報を生成し、インストラクション画面の情報を、表示部430に出力することで、インストラクション画面を表示させる処理部である。表示部430に表示されるインストラクション画面は、図22~図24等に示したインストラクション画面50,51,52等に対応する。
提供部450bは、距離画像テーブル440aに格納された可視画像を基にして、インストラクション画面を生成する。提供部450bは、第1ベクトルの選択を受けるためのインストラクション画面を、第1距離画像情報の可視画像を用いて生成する。提供部450bは、インストラクション画面の情報を生成する場合に、第1ベクトルの始点および終点を選択する旨のコメントを付与する。
提供部450bは、第2ベクトルの選択を受け付けるためのインストラクション画面を生成する場合には、次の処理を行う。提供部450bは、テーブル441の各時刻の第1距離画像情報(可視画像)のうち、垂直方向に所定の長さ以上のエッジを有する可視画像を選択する。たとえば、垂直方向に所定の長さ以上のエッジを有する可視画像には、直立した選手が含まれている。提供部450bは、選択した可視画像を用いて、第2ベクトルの選択を受け付けるためのインストラクション画面を生成する。提供部450bは、インストラクション画面の情報を生成する場合に、第2ベクトルの始点および終点を選択する旨のコメントを付与する。
提供部450bは、第1並進用点の選択を受け付けるためのインストラクション画面を生成する場合には、次の処理を行う。提供部450bは、テーブル441の各時刻の第1距離画像情報(可視画像)のうち、範囲45Aおよび範囲45Bの重複する重複領域において、選手が含まれる可視画像を選択する。たとえば、提供部450bは、重複領域について、背景画像を保持しておき、可視画像の重複領域と、背景画像との差分を用いて、重複画像に選手が含まれるか否かを判定してもよい。提供部450bは、選択した可視画像を用いて、第1並進用点の選択を受け付けるためのインストラクション画面を生成する。提供部450bは、インストラクション画面の情報を生成する場合に、第1並進用点を選択する旨のコメントを付与する。
提供部450bは、第3ベクトルの選択を受けるためのインストラクション画面を、第2距離画像情報の可視画像を用いて生成する。提供部450bは、インストラクション画面の情報を生成する場合に、第3ベクトルの始点および終点を選択する旨のコメントを付与する。
提供部450bは、第4ベクトルの選択を受け付けるためのインストラクション画面を生成する場合には、次の処理を行う。提供部450bは、テーブル442の各時刻の第2距離画像情報(可視画像)のうち、垂直方向に所定の長さ以上のエッジを有する可視画像を選択する。たとえば、垂直方向に所定の長さ以上のエッジを有する可視画像には、直立した選手が含まれている。提供部450bは、選択した可視画像を用いて、第4ベクトルの選択を受け付けるためのインストラクション画面を生成する。提供部450bは、インストラクション画面の情報を生成する場合に、第4ベクトルの始点および終点を選択する旨のコメントを付与する。
提供部450bは、第2並進用点の選択を受け付けるためのインストラクション画面を生成する場合には、次の処理を行う。提供部450bは、テーブル442の各時刻の第2距離画像情報(可視画像)のうち、範囲45Aおよび範囲45Bの重複する重複領域において、選手が含まれる可視画像を選択する。たとえば、提供部450bは、重複領域について、背景画像を保持しておき、可視画像の重複領域と、背景画像との差分を用いて、重複画像に選手が含まれるか否かを判定してもよい。提供部450bは、選択した可視画像を用いて、第2並進用点の選択を受け付けるためのインストラクション画面を生成する。提供部450bは、インストラクション画面の情報を生成する場合に、第2並進用点を選択する旨のコメントを付与する。
第2取得部450cは、インストラクション画面に対してユーザに選択された情報を基にして、第1ベクトル、第2ベクトル、第1並進用点、第3ベクトル、第4ベクトル、第2並進用点を取得する処理部である。第2取得部450cは、実施例1の第2取得部150cと同様の処理を行い、第1始点識別情報、第1終点識別情報、第2始点識別情報、第2終点識別情報、第1並進点識別情報を特定する。第2取得部450cは、実施例1の第2取得部150cと同様の処理を行い、第3始点識別情報、第3終点識別情報、第4始点識別情報、第4終点識別情報、第2並進点識別情報を特定する。
第2取得部450cは、第1始点識別情報、第1終点識別情報、第2始点識別情報、第2終点識別情報、第1並進点識別情報、第3始点識別情報、第3終点識別情報、第4始点識別情報、第4終点識別情報、第2並進点識別情報を、算出部450dに出力する。
算出部450dは、第1ベクトル、第2ベクトル、第3ベクトル、第4ベクトル、第1並進点、第2並進点を基にして、位置合わせのための回転角度および並進距離を算出する処理部である。算出部450dは、算出した回転角度および並進距離の情報をパラメータ440bとして、記憶部440に記憶する。算出部450dの処理は、実施例1で説明した算出部150dの処理と同様である。
出力部450eは、パラメータ440bを、実施例1で説明した採点装置200等の外部装置に出力する処理部である。
次に、本実施例3に係る情報処理装置400の処理手順の一例について説明する。図27は、本実施例3に係る情報処理装置の処理手順を示すフローチャートである。図27に示すように、この情報処理装置400の第1取得部450aは、センサ10A、10Bから各時刻の第1距離画像情報、第2距離画像情報を取得する(ステップS401)。
情報処理装置400の提供部450bは、インストラクション画面を生成するための可視画像を選択する(ステップS402)。提供部450bは、インストラクション画面の情報を生成し、インストラクション画面を表示部430に表示させる(ステップS403)。
情報処理装置400の第2取得部450cは、ユーザによる選択を基にして、センサ10Aの点群から、第1ベクトルの始点および終点、第2ベクトルの始点および終点、第1並進用点を取得する(ステップS404)。第2取得部450cは、ユーザによる選択を基にして、センサ10Bの点群から、第3ベクトルの始点および終点、第4ベクトルの始点および終点、第2並進用点を取得する(ステップS405)。
情報処理装置400の算出部450dは、第1~第4ベクトルを単位ベクトルに変換する(ステップS406)。算出部450dは、始点が3次元座標の原点となるように、第1~第4ベクトルを移動させる(ステップS407)。
算出部450dは、合計距離Dが最小となるセンサ10Bの終点の回転角度(位置合わせ回転角度)を算出する(ステップS408)。算出部450dは、第2並進用点を、位置合わせ回転角度だけ回転させる(ステップS409)。
算出部450dは、第1並進用点の座標と、回転させた第2並進用点の座標との差分を並進距離(位置合わせ並進距離)として算出する(ステップS410)。算出部450dは、位置合わせ回転角度と、位置合わせ並進距離とをパラメータ440bとして記憶部440に記憶させる(ステップS411)。
次に、本実施例3に係る情報処理装置400の効果について説明する。情報処理装置400は、実施例1で説明したマーカの代わりに、体操の平行台が水平であること、選手が直立して一旦動きをとめている瞬間があること等を利用し、インストラクション画面を表示する。このため、実施例1で説明したようなマーカを用いなくても、第1~第4ベクトル、第1、2並進用点を取得することができる。そして、これにより、センサ10A、センサ10Bの位置合わせを行うことができる。
なお、本実施例3では、平行台、選手を用いて、第1~第4ベクトル、第1、2並進用点を取得する場合について説明を行ったがこれに限定されるものではない。情報処理装置400は、第1~第4ベクトルの始点および終点、第1、2並進用点を取得可能な他の器具や被写体から取得してもよい。
本実施例3では、情報処理装置400と、採点装置200とが別々の装置で実現される場合について説明したがこれに限定されるものではない。たとえば、情報処理装置400の機能に、採点装置200の機能が含まれていてもよい。すなわち、情報処理装置400の制御部450に、採点装置200の位置合わせ部203、認識部240、出力部205等が含まれていてもよい。
次に、本実施例4に係る情報処理装置について説明する。本実施例4に係る情報処理装置は、実施例1と同様にして、センサ10Aとセンサ10Bに接続される。
図28は、本実施例4で用いるマーカの一例を示す図である。図28に示すように、マーカ配置台30には、マーカ30-1,30-2,30-3,30-4が含まれる。マーカ30-1~30-4にはそれぞれ複数のシールが付与されている。各シールは、再帰反射するシールである。センサ10Aの測距可能な範囲を、範囲30Aとする。センサ10Bの測距可能な範囲を、範囲30Bとする。
たとえば、マーカ30-1には、各角にシール30-1a,30-1b,30-1c,30-1dが配置されている。マーカ30-2には、各角にシール30-2a,30-2b,30-2c,30-2dが配置されている。マーカ30-3には、各角にシール30-3a,30-3b,30-3c,30-3dが配置されている。マーカ30-4には、各角にシール30-4a,30-4b,30-4c,30-4dが配置されている。
図29は、シールが付与された各マーカの反射強度画像の一例を示す図である。図29に示す例では、反射強度が大きい領域が、反射強度の小さい領域よりも明るくなる。たとえば、反射強度画像60において、領域61a,61b,61c,61dは、シール30-1a,30-1b,30-1c,30-1dが配置された領域である。領域62a,62b,62c,62dは、シール30-2a,30-2b,30-2c,30-2dが配置された領域である。領域63a,63b,63c,63dは、シール30-3a,30-3b,30-3c,30-3dが配置された領域である。領域64a,64b,64c,64dは、シール30-4a,30-4b,30-4c,30-4dが配置された領域である。
本実施例4に係るセンサ10Aは、レーザ光を照射して、被写体を構成する点群とセンサ10Aとの距離を測距する測定装置である。センサ10Aは、可視画像を撮影する。また、センサ10Aは、レーザ光の反射強度を測定する。センサ10Aは、第1距離画像情報を、情報処理装置に出力する。第1距離画像情報は、被写体を構成する点群とセンサ10Aとの距離の情報と、可視画像の情報と、反射強度の情報とを含む。
本実施例4に係るセンサ10Bは、レーザ光を照射して、被写体を構成する点群とセンサ10Bとの距離を測距する測定装置である。センサ10Bは、可視画像を撮影する。また、センサ10Bは、レーザ光の反射強度を測定する。センサ10Bは、第2距離画像情報を、情報処理装置に出力する。第2距離画像情報は、被写体を構成する点群とセンサ10Aとの距離の情報と、可視画像の情報と、反射強度の情報とを含む。
本実施例4に係る情報処理装置は、マーカ配置台30の可視画像を基にして、インストラクション画面の情報を生成し、表示部に表示させる。情報処理装置は、インストラクション画面を参照するユーザから、第1~第4ベクトルの始点および終点、第1、2並進用点の選択を受け付ける。
続いて、情報処理装置は、センサ10A,10Bから順次入力される反射強度の情報を基にして、各マーカに配置された各シールの位置を特定し、各シールの位置を基にして、各マーカの位置を算出する処理を繰り返し実行する。情報処理装置は、各マーカの位置を基にして、ユーザに選択された第1~第4ベクトルの始点および終点、第1、2並進用点の位置を補正する処理を行う。情報処理装置が、かかる処理を実行することにより、ユーザに選択された第1~第4ベクトルの始点および終点、第1、2並進用点の位置が正確でない場合や、選択された後に何らかの影響で、マーカの位置がずれた場合でも最適な第1~第4ベクトルの始点および終点、第1、2並進用点の位置を特定することができる。
図30は、本実施例4に係る情報処理装置の構成を示す機能ブロック図である。図30に示すように、この情報処理装置500は、インタフェース部510と、入力部520と、表示部530と、記憶部540と、制御部550とを有する。
インタフェース部510は、センサ10Aおよびセンサ10Bから情報を受信する通信装置である。インタフェース部510は、センサ10Aから、第1距離画像情報を受信し、受信した第1距離画像情報を、制御部550に出力する。インタフェース部510は、センサ10Bから、第2距離画像情報を受信し、受信した第2距離画像情報を、制御部550に出力する。また、インタフェース部510は、実施例1で説明した採点装置200と接続していてもよい。
入力部520は、各種の情報を情報処理装置500に入力するための入力装置である。たとえば、入力部520は、キーボードやマウス、タッチパネル等に対応する。ユーザはインストラクション画面を参照し、入力部520を操作して、第1ベクトルの始点および終点、第2ベクトルの始点および終点、第1並進用点を選択する。また、ユーザは、入力部520を操作して、第3ベクトルの始点および終点、第4ベクトルの始点および終点、第2並進用点を選択する。
表示部530は、制御部550から出力される各種の情報を表示する表示装置である。たとえば、表示部530は、液晶ディスプレイ、タッチパネル等に対応する。たとえば、表示部は、インストラクション画面を表示する。
記憶部540は、距離画像テーブル540aと、パラメータ540bと、特定テーブル540cとを有する。記憶部540は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
距離画像テーブル540aは、センサ10Aから出力される各時刻の第1距離画像情報と、センサ10Bから出力される各時刻の第2距離画像情報とを保持するテーブルである。距離画像テーブル540aのデータ構造は、実施例3の図26で説明した距離画像テーブル440aのデータ構造と同様である。なお、各時刻の第1距離画像情報は、センサ10Aが測定した距離の情報、可視画像の情報、反射強度の情報を含む。各時刻の第2距離画像情報は、距離の情報、可視画像の情報、反射強度の情報を含む。
パラメータ540bは、センサ10Aに測距される点群と、センサ10Bに測距される点群との位置合わせを行うためのパラメータである。パラメータ540bには、位置合わせ回転角度の情報と、位置合わせ並進距離の情報とが含まれる。
特定テーブル540cは、第1~第4ベクトルの始点および終点、第1、2並進用点の座標を特定する場合に用いられるテーブルである。図31は、特定テーブルのデータ構造の一例を示す図である。図31に示すように、この特定テーブル540cは、座標テーブル541と、座標テーブル542とを有する。座標テーブル541は、第1~第4ベクトルの始点および終点について、インストラクション画面で選択された座標、各時刻の反射強度の情報から特定された座標の情報を保持するテーブルである。座標テーブル542は、第1、第2並進用点について、インストラクション画面で選択された座標、各時刻の反射強度の情報から特定された座標の情報を保持するテーブルである。
座標テーブル541は、ベクトル種別、選択始点座標、選択終点座標、候補始点座標、候補終点座標を対応付ける。ベクトル種別は、ベクトルの種別を示す情報である。ベクトル種別は、第1ベクトル、第2ベクトル、第3ベクトル、第4ベクトルのうち、いずれかのベクトルとなる。選択始点座標は、インストラクション画面でユーザに選択されるベクトルの始点の座標を示す。選択終点座標は、インストラクション画面でユーザに選択されるベクトルの終点の座標を示す。候補始点座標は、反射強度の情報に基づき算出されるベクトルの始点の座標を示す。候補終点座標は、反射強度の情報に基づき算出されるベクトルの終点の座標を示す。たとえば、候補始点座標および候補終点座標は、時刻毎に算出される。
座標テーブル542は、並進用点種別、選択座標、候補座標を対応付ける。並進点種別は、並進用点の種別を示す情報である。並進用点の種別は、第1並進用点、第2並進用点のいずれかとなる。選択座標は、インストラクション画面でユーザに選択される並進用点の座標を示す。候補座標は、反射強度の情報に基づき算出される並進用点の座標を示す。たとえば、候補座標は、時刻毎に算出される。
図30の説明に戻る。制御部550は、第1取得部550aと、提供部550bと、第2取得部550cと、算出部550dと、出力部550eとを有する。制御部550は、CPUやMPUなどによって実現できる。また、制御部550は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
第1取得部550aは、インタフェース部510を介して、時刻毎にセンサ10Aから出力される第1距離画像情報を取得し、取得した第1距離画像情報を距離画像テーブル540aに登録する。第1取得部150aは、時刻毎にセンサ10Bから出力される第2距離画像情報を取得し、取得した第2距離画像情報を距離画像テーブル140aに登録する。第1取得部550aに関するその他の説明は、実施例1で説明した第1取得部150aに関する説明と同様である。
提供部550bは、インストラクション画面の情報を生成し、インストラクション画面の情報を、表示部530に出力することで、インストラクション画面を表示させる処理部である。たとえば、提供部550bは、入力部520からインストラクション画面の表示要求を受け付けた場合に、かかる要求を受け付けた時刻に対応する第1距離画像情報の可視化画像を用いて、第1ベクトル、第2ベクトル、第1並進用点の選択を受けるためのインストラクション画面を生成する。また、提供部55bは、インストラクション画面の表示要求を受け付けた場合に、かかる要求を受け付けた時刻に対応する第2距離画像情報の可視化画像を用いて、第3ベクトル、第4ベクトル、第2並進用点の選択を受けるためのインストラクション画面を生成する。
提供部550bがインストラクション画面を生成するその他の処理は、実施例1で説明した提供部150bの処理と同様である。
第2取得部550cは、インストラクション画面に対してユーザに選択された情報を基にして、第1ベクトル、第2ベクトル、第1並進用点、第3ベクトル、第4ベクトル、第2並進用点を取得する処理部である。
第2取得部550cが、インストラクション画面によりユーザに選択される第1~第4ベクトルの選択始点座標および選択終点座標、第1、2並進用点の選択座標を特定する処理について説明する。
提供部550bにより、第1ベクトルの始点および終点を選択するインストラクション画面が表示部530に表示されると、ユーザは、入力部520を操作して、第1ベクトルの始点および終点を選択する。第2取得部550cは、入力部520から、第1ベクトルの始点および終点の情報を取得する。入力部520により選択される、第1ベクトルの始点および終点の情報は、可視画像の座標に対応する。
第2取得部550cは、距離画像テーブル540aの第1距離画像情報を基にして、インストラクション画面でユーザに選択された第1ベクトルの始点に対応する点の座標を特定し、特定した座標を、ベクトル種別「第1ベクトル」の「選択始点座標」として、座標テーブル541に登録する。
第2取得部550cは、距離画像テーブル540aの第1距離画像情報を基にして、インストラクション画面でユーザに選択された第1ベクトルの終点に対応する点の座標を特定し、特定した座標を、ベクトル種別「第1ベクトル」の「選択終点座標」として、座標テーブル541に登録する。
提供部550bにより、第2ベクトルの始点および終点を選択するインストラクション画面が表示部530に表示されると、ユーザは、入力部520を操作して、第2ベクトルの始点および終点を選択する。第2取得部550cは、入力部520から、第2ベクトルの始点および終点の情報を取得する。第2ベクトルの始点および終点の情報は、可視画像の座標に対応する。
第2取得部550cは、距離画像テーブル540aの第1距離画像情報を基にして、インストラクション画面でユーザに選択された第2ベクトルの始点に対応する点の座標を特定し、特定した座標を、ベクトル種別「第2ベクトル」の「選択始点座標」として、座標テーブル541に登録する。
第2取得部550cは、距離画像テーブル540aの第1距離画像情報を基にして、インストラクション画面でユーザに選択された第1ベクトルの終点に対応する点の座標を特定し、特定した座標を、ベクトル種別「第2ベクトル」の「選択終点座標」として、座標テーブル541に登録する。
提供部550bにより、第1並進用点を選択するインストラクション画面が表示部530に表示されると、ユーザは、入力部520を操作して、第1並進用点を選択する。第2取得部550cは、入力部520から、第1並進用点の情報を取得する。入力部520により選択される、第1並進用点の情報は、可視画像の座標に対応する。
第2取得部550cは、距離画像テーブル540aの第1距離画像情報を基にして、インストラクション画面でユーザに選択された第1並進用点に対応する点の座標を特定し、特定した座標を、並進用点種別「第1並進用点」の「選択座標」として、座標テーブル542に登録する。
提供部550bにより、第3ベクトルの始点および終点を選択するインストラクション画面が表示部530に表示されると、ユーザは、入力部520を操作して、第3ベクトルの始点および終点を選択する。第2取得部550cは、入力部520から、第3ベクトルの始点および終点の情報を取得する。入力部520により選択される、第3ベクトルの始点および終点の情報は、可視画像の座標に対応する。
第2取得部550cは、距離画像テーブル540aの第2距離画像情報を基にして、インストラクション画面でユーザに選択された第3ベクトルの始点に対応する点の座標を特定し、特定した座標を、ベクトル種別「第3ベクトル」の「選択始点座標」として、座標テーブル541に登録する。
第2取得部550cは、距離画像テーブル540aの第2距離画像情報を基にして、インストラクション画面でユーザに選択された第3ベクトルの終点に対応する点の座標を特定し、特定した座標を、ベクトル種別「第3ベクトル」の「選択終点座標」として、座標テーブル541に登録する。
提供部550bにより、第4ベクトルの始点および終点を選択するインストラクション画面が表示部530に表示されると、ユーザは、入力部520を操作して、第4ベクトルの始点および終点を選択する。第2取得部550cは、入力部520から、第4ベクトルの始点および終点の情報を取得する。入力部520により選択される、第4ベクトルの始点および終点の情報は、可視画像の座標に対応する。
第2取得部550cは、距離画像テーブル540aの第2距離画像情報を基にして、インストラクション画面でユーザに選択された第4ベクトルの始点に対応する点の座標を特定し、特定した座標を、ベクトル種別「第4ベクトル」の「選択始点座標」として、座標テーブル541に登録する。
第2取得部550cは、距離画像テーブル540aの第2距離画像情報を基にして、インストラクション画面でユーザに選択された第4ベクトルの終点に対応する点の座標を特定し、特定した座標を、ベクトル種別「第4ベクトル」の「選択終点座標」として、座標テーブル541に登録する。
提供部550bにより、第2並進用点を選択するインストラクション画面が表示部530に表示されると、ユーザは、入力部520を操作して、第2並進用点を選択する。第2取得部550cは、入力部520から、第2並進用点の情報を取得する。入力部520により選択される、第2並進用点の情報は、可視画像の座標に対応する。
第2取得部550cは、距離画像テーブル540aの第2距離画像情報を基にして、インストラクション画面でユーザに選択された第2並進用点に対応する点の座標を特定し、特定した座標を、並進用点種別「第2並進用点」の「選択座標」として、座標テーブル542に登録する。
上記の処理により、座標テーブル541には、ベクトル種別「第1ベクトル~第4ベクトル」の選択始点座標、選択終点座標が登録される。座標テーブル542には、並進用点種別「第1並進用点、第2並進用点」の選択座標が登録される。
第2取得部550cが、第1~第4ベクトルの候補始点座標および候補終点座標、第1、2並進用点の選択座標を特定する処理について説明する。ここでは一例として、インストラクション画面を基にして、第1ベクトルの始点としてマーカ30-1が選択され、第1ベクトルの終点としてマーカ30-2が選択されたものとする。第2ベクトルの始点としてマーカ30-2が選択され、第2ベクトルの終点としてマーカ30-4が選択されたものとする。第1並進用点として、マーカ30-2が選択されたものとする。
インストラクション画面を基にして、第3ベクトルの始点としてマーカ30-2が選択され、第3ベクトルの終点としてマーカ30-3が選択されたものとする。第4ベクトルの始点としてマーカ30-2が選択され、第4ベクトルの終点としてマーカ30-4が選択されたものとする。第2並進用点として、マーカ30-2が選択されたものとする。
第2取得部550cは、時刻Tn+1の第1距離画像情報に含まれる反射強度の情報(反射強度画像)を2値化する。時刻Tnは、インストラクション画面を生成した第1距離画像情報に対応する時刻とする。
たとえば、第2取得部550cは、反射強度画像において、反射強度が予め定められる閾値未満となる部分を0に設定し、閾値以上となる部分を1に設定する。第2取得部550cは、2値化した反射強度画像において、1となる部分をラベリングする。図29に示す反射強度画像60では、ラベリングされる領域が、領域61a~61d,62a~62d,64a~64d(63a~63dは、センサ10Aの測距範囲に含まれない)となる。
第2取得部550cは、座標テーブル541の各ベクトル種別の選択始点座標、選択主点座標と、ラベリングされた領域の座標とを比較して、距離の近い、ベクトル種別と、ラベリングされた領域との対応付けを行う。
たとえば、図29において、領域61a~61dは、ベクトル種別「第1ベクトル」の選択始点座標に最も近いため、領域61a~61dは、ベクトル種別「第1ベクトル」の始点座標に対応付けられる。第2選択部550cは、領域61aの中心座標および領域61cの中心座標を結ぶ線分と、領域61bの中心座標および領域61dの中心座標とを結ぶ線分との交点の座標を、ベクトル種別「第1ベクトル」に対応する一つの候補始点座標として特定し、座標テーブル541に登録する。
領域62a~62dは、ベクトル種別「第1ベクトル」の選択終点座標に最も近いため、領域62a~62dは、ベクトル種別「第1ベクトル」の終点座標に対応付けられる。第2選択部550cは、領域62aの中心座標および領域62cの中心座標を結ぶ線分と、領域62bの中心座標および領域62dの中心座標とを結ぶ線分との交点の座標を、ベクトル種別「第1ベクトル」に対応する一つの候補終点座標として特定し、座標テーブル541に登録する。
領域62a~62dは、ベクトル種別「第2ベクトル」の選択始点座標に最も近いため、領域62a~62dは、ベクトル種別「第2ベクトル」の始点座標に対応付けられる。第2選択部550cは、領域62aの中心座標および領域62cの中心座標を結ぶ線分と、領域62bの中心座標および領域62dの中心座標とを結ぶ線分との交点の座標を、ベクトル種別「第2ベクトル」に対応する一つの候補始点座標として特定し、座標テーブル541に登録する。
領域64a~64dは、ベクトル種別「第2ベクトル」の選択終点座標に最も近いため、領域64a~64dは、ベクトル種別「第2ベクトル」の終点座標にも対応付けられる。第2選択部550cは、領域64aの中心座標および領域64cの中心座標を結ぶ線分と、領域64bの中心座標および領域64dの中心座標とを結ぶ線分との交点の座標を、ベクトル種別「第2ベクトル」に対応する一つの候補終点座標として特定し、座標テーブル541に登録する。
領域62a~62dは、並進用点種別「第1並進用点」の選択座標に最も近いため、領域62a~62dは、並進用点種別「第1並進用点」の座標に対応付けられる。第2選択部550cは、領域62aの中心座標および領域62cの中心座標を結ぶ線分と、領域62bの中心座標および領域62dの中心座標とを結ぶ線分との交点の座標を、並進用点種別「第1並進用点」に対応する一つの候補座標として特定し、座標テーブル542に登録する。
第2取得部550cは、時刻Tn+2、Tn+3、Tn+4、Tn+5の第1距離画像情報についても上記処理を実行することで、第1ベクトル、第2ベクトルに対応する複数の候補始点座標、複数の候補終点座標を、座標テーブル541に登録する。また、第2取得部550cは、第1並進用点に対応する複数の候補座標を、座標テーブル542に登録する。
第2取得部550cは、時刻Tn+1の第2距離画像情報に含まれる反射強度の情報(反射強度画像)を2値化する。時刻Tnは、インストラクション画面を生成した第2距離画像情報に対応する時刻とする。
たとえば、第2取得部550cは、反射強度画像において、反射強度が予め定められる閾値未満となる部分を0に設定し、閾値以上となる部分を1に設定する。第2取得部550cは、2値化した反射強度画像において、1となる部分をラベリングする。図29に示す反射強度画像60では、ラベリングされる領域が、領域62a~62d,63a~63d,64a~64d(61a~61dは、センサ10Bの測距範囲に含まれない)となる。
第2取得部550cは、座標テーブル541の各ベクトル種別の選択始点座標、選択主点座標と、ラベリングされた領域の座標とを比較して、距離の近い、ベクトル種別と、ラベリングされた領域との対応付けを行う。
たとえば、図29において、領域62a~62dは、ベクトル種別「第3ベクトル」の選択始点座標に最も近いため、領域62a~62dは、ベクトル種別「第3ベクトル」の始点座標に対応付けられる。第2選択部550cは、領域62aの中心座標および領域62cの中心座標を結ぶ線分と、領域62bの中心座標および領域62dの中心座標とを結ぶ線分との交点の座標を、ベクトル種別「第3ベクトル」に対応する一つの候補始点座標として特定し、座標テーブル541に登録する。
領域63a~63dは、ベクトル種別「第3ベクトル」の選択終点座標に最も近いため、領域63a~63dは、ベクトル種別「第3ベクトル」の終点座標に対応付けられる。第2選択部550cは、領域63aの中心座標および領域63cの中心座標を結ぶ線分と、領域63bの中心座標および領域63dの中心座標とを結ぶ線分との交点の座標を、ベクトル種別「第3ベクトル」に対応する一つの候補終点座標として特定し、座標テーブル541に登録する。
領域62a~62dは、ベクトル種別「第4ベクトル」の選択始点座標に最も近いため、領域62a~62dは、ベクトル種別「第4ベクトル」の始点座標に対応付けられる。第2選択部550cは、領域62aの中心座標および領域62cの中心座標を結ぶ線分と、領域62bの中心座標および領域62dの中心座標とを結ぶ線分との交点の座標を、ベクトル種別「第4ベクトル」に対応する一つの候補始点座標として特定し、座標テーブル541に登録する。
領域64a~64dは、ベクトル種別「第4ベクトル」の選択終点座標に最も近いため、領域64a~64dは、ベクトル種別「第4ベクトル」の終点座標にも対応付けられる。第2選択部550cは、領域64aの中心座標および領域64cの中心座標を結ぶ線分と、領域64bの中心座標および領域64dの中心座標とを結ぶ線分との交点の座標を、ベクトル種別「第4ベクトル」に対応する一つの候補終点座標として特定し、座標テーブル541に登録する。
領域62a~62dは、並進用点種別「第2並進用点」の選択座標に最も近いため、領域62a~62dは、並進用点種別「第2並進用点」の座標に対応付けられる。第2選択部550cは、領域62aの中心座標および領域62cの中心座標を結ぶ線分と、領域62bの中心座標および領域62dの中心座標とを結ぶ線分との交点の座標を、並進用点種別「第2並進用点」に対応する一つの候補座標として特定し、座標テーブル542に登録する。
第2取得部550cは、時刻Tn+2、Tn+3、Tn+4、Tn+5の第2距離画像情報についても上記処理を実行することで、第3ベクトル、第4ベクトルに対応する複数の候補始点座標、複数の候補終点座標を、座標テーブル541に登録する。また、第2取得部550cは、第2並進用点に対応する複数の候補座標を、座標テーブル542に登録する。
第2取得部550cが、上記処理を実行することで、図31に示した、座標テーブル541,542に各座標が登録される。
第2取得部550cは、あるベクトル種別の選択始点座標と、このベクトル種別に対応する複数の候補始点座標とを比較し、選択始点座標に最も近い距離の候補始点座標を、ベクトルの最終的な始点座標として特定する。第2取得部550cは、あるベクトル種別の選択終点座標と、このベクトル種別に対応する複数の候補終点座標とを比較し、選択終点座標に最も近い距離の候補終点座標を、ベクトルの最終的な終点座標として特定する。
たとえば、第2取得部550cは、ベクトル種別「第1ベクトル」に対応する選択始点座標と、各候補始点座標とを比較し、最も近い候補始点座標を、第1ベクトルの最終的な始点座標として特定する。第2取得部550cは、ベクトル種別「第1ベクトル」に対応する選択終点座標と、各候補終点座標とを比較し、最も近い候補終点座標を、第1ベクトルの最終的な終点座標として特定する。
第2取得部550cは、他のベクトル種別「第2ベクトル、第3ベクトル、第4ベクトル」についても、同様の処理を行うことで、最終的な始点座標、終点座標を特定する。
第2取得部550cは、ある並進用点種別の選択座標と、この並進用点種別に対応する複数の候補座標とを比較し、選択座標に最も近い距離の候補座標を、並進用点の最終的な座標として特定する。
たとえば、第2取得部550cは、並進用点種別「第1並進用点」に対応する選択座標と、各候補座標とを比較し、最も近い候補座標を、第1並進用点の最終的な座標として特定する。第2取得部550cは、並進用点種別「第2並進用点」に対応する選択座標と、各候補座標とを比較し、最も近い候補座標を、第2並進用点の最終的な座標として特定する。
第2選択部550cは、距離画像テーブル540aの第1距離画像情報を基にして、第1ベクトルの最終的な始点座標に対応する点の識別情報を、各点群から特定する。第1ベクトルの始点に対応する点の識別情報を、「第1始点識別情報」と表記する。第2取得部550cは、距離画像テーブル540aの第1距離画像情報を基にして、第1ベクトルの最終的な終点座標に対応する点の識別情報を、各点群から特定する。第1ベクトルの終点に対応する点の識別情報を、「第1終点識別情報」と表記する。
第2選択部550cは、距離画像テーブル540aの第1距離画像情報を基にして、第2ベクトルの最終的な始点座標に対応する点の識別情報を、各点群から特定する。第2ベクトルの始点に対応する点の識別情報を、「第2始点識別情報」と表記する。第2取得部550cは、距離画像テーブル540aの第1距離画像情報を基にして、第2ベクトルの最終的な終点座標に対応する点の識別情報を、各点群から特定する。第2ベクトルの終点に対応する点の識別情報を、「第2終点識別情報」と表記する。
第2選択部550cは、距離画像テーブル540aの第2距離画像情報を基にして、第3ベクトルの最終的な始点座標に対応する点の識別情報を、各点群から特定する。第3ベクトルの始点に対応する点の識別情報を、「第3始点識別情報」と表記する。第2取得部550cは、距離画像テーブル540aの第2距離画像情報を基にして、第3ベクトルの最終的な終点座標に対応する点の識別情報を、各点群から特定する。第3ベクトルの終点に対応する点の識別情報を、「第3終点識別情報」と表記する。
第2選択部550cは、距離画像テーブル540aの第2距離画像情報を基にして、第4ベクトルの最終的な始点座標に対応する点の識別情報を、各点群から特定する。第4ベクトルの始点に対応する点の識別情報を、「第4始点識別情報」と表記する。第2取得部550cは、距離画像テーブル540aの第2距離画像情報を基にして、第4ベクトルの最終的な終点座標に対応する点の識別情報を、各点群から特定する。第4ベクトルの終点に対応する点の識別情報を、「第4終点識別情報」と表記する。
第2取得部550cは、距離画像テーブル540aの第1距離画像情報を基にして、第1並進用点の最終的な座標に対応する点の識別情報を、各点群から特定する。第1並進用点に対応する点の識別情報を、「第1並進点識別情報」と表記する。
第2取得部550cは、距離画像テーブル540aの第2距離画像情報を基にして、第2並進用点の最終的な座標に対応する点の識別情報を、各点群から特定する。第2並進用点に対応する点の識別情報を、「第2並進点識別情報」と表記する。
第2取得部550cは、第1始点識別情報、第1終点識別情報、第2始点識別情報、第2終点識別情報、第1並進点識別情報を、算出部550dに出力する。第2取得部550cは、第3始点識別情報、第3終点識別情報、第4始点識別情報、第4終点識別情報、第2並進点識別情報を、算出部550dに出力する。
算出部550dは、第1ベクトル、第2ベクトル、第3ベクトル、第4ベクトル、第1並進点、第2並進点を基にして、位置合わせのための回転角度および並進距離を算出する処理部である。算出部550dは、算出した回転角度および並進距離の情報をパラメータ540bとして、記憶部540に記憶する。算出部550dの処理は、実施例1で説明した算出部150dの処理と同様である。
出力部550eは、パラメータ540bを、実施例1で説明した採点装置200等の外部装置に出力する処理部である。
次に、本実施例4に係る情報処理装置400の処理手順の一例について説明する。図32および図33は、本実施例4に係る情報処理装置の処理手順を示すフローチャートである。図32に示すように、情報処理装置400の第1取得部550aは、センサ10A、10Bから第1距離画像情報、第2距離画像情報を取得する(ステップS501)。
情報処理装置500の提供部550bは、インストラクション画面の情報を生成し、インストラクション画面を表示部530に表示させる(ステップS502)。
情報処理装置500の第2取得部550cは、ユーザによる選択を基にして、センサ10Aの点群から、第1ベクトルの始点および終点、第2ベクトルの始点および終点、第1並進用点を取得する(ステップS503)。第2取得部550cは、ユーザによる選択を基にして、センサ10Bの点群から、第3ベクトルの始点および終点、第4ベクトルの始点および終点、第2並進用点を取得する(ステップS504)。
第2取得部550cは、次の第1距離画像情報の反射強度画像、次の第2距離画像情報の反射距離画像情報を取得する(ステップS505)。第2取得部550cは、第1距離画像情報の反射強度画像、第2距離画像情報の反射距離画像情報を2値化する(ステップS506)。
第2取得部550cは、2値化した反射強度画像をラベリングし、ラベリングした各領域を、第1~第4ベクトルの始点および終点、第1、2並進用点の座標に対応付ける(ステップS507)。
第2取得部550cは、第1ベクトルの候補始点座標および候補終点座標、第2ベクトルの候補始点座標および候補終点座標、第1並進用点の候補座標を特定テーブル540cに登録する(ステップS508)。第2取得部550cは、第3ベクトルの候補始点座標および候補終点座標、第4ベクトルの候補始点座標および候補終点座標、第2並進用点の候補座標を特定テーブル540cに登録する(ステップS509)。
情報処理装置500は、第1距離画像情報および第2距離画像情報を、所定回数(予め設定される回数)取得してない場合には(ステップS510,No)、ステップS505に移行する。一方、情報処理装置500は、第1距離画像情報および第2距離画像情報を、所定回数取得した場合には(ステップS510,Yes)、図33のステップS511に移行する。
図33の説明に移行する。
第2取得部550cは、第1ベクトルの選択始点座標および選択終点座標、第2ベクトルの選択始点座標および選択終点、第1並進用点の選択座標と、各候補座標とを比較する(ステップS511)。第2取得部550cは、第1ベクトルの始点座標および終点座標、第2ベクトルの始点座標および終点座標、第1並進用点の座標を決定する(ステップS512)。
第2取得部550cは、第3ベクトルの選択始点座標および選択終点座標、第4ベクトルの選択始点座標および選択終点、第2並進用点の選択座標と、各候補座標とを比較する(ステップS513)。第2取得部550cは、第4ベクトルの始点座標および終点座標、第4ベクトルの始点座標および終点座標、第2並進用点の座標を決定する(ステップS514)。
情報処理装置500の算出部550dは、第1~第4ベクトルを単位ベクトルに変換する(ステップS515)。算出部550dは、始点が3次元座標の原点となるように、第1~第4ベクトルを移動させる(ステップS516)。
算出部550dは、合計距離Dが最小となるセンサ10Bの終点の回転角度(位置合わせ回転角度)を算出する(ステップS517)。算出部550dは、第2並進用点を、位置合わせ回転角度だけ回転させる(ステップS518)。
算出部550dは、第1並進用点の座標と、回転させた第2並進用点の座標との差分を並進距離(位置合わせ並進距離)として算出する(ステップS519)。算出部550dは、位置合わせ回転角度と、位置合わせ並進距離とをパラメータ540bとして記憶部540に記憶させる(ステップS520)。
次に、本実施例4に係る情報処理装置500の効果について説明する。情報処理装置500は、センサ10A,10Bから順次入力される反射強度画像を基にして、各マーカに配置された各シールの座標を特定し、各シールの座標を基にして、各マーカの座標を算出する処理を繰り返し実行する。情報処理装置500は、各マーカの位置を基にして、ユーザに選択された第1~第4ベクトルの始点および終点、第1、2並進用点の座標を補正する処理を行う。情報処理装置500が、かかる処理を実行することにより、ユーザに選択された第1~第4ベクトルの始点および終点、第1、2並進用点の位置が正確でない場合や、選択された後に何らかの影響で、マーカの位置がずれた場合でも最適な第1~第4ベクトルの始点および終点、第1、2並進用点の位置を特定することができる。
次に、実施例に示した情報処理装置100,300,400,500、採点装置200と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図34は、本実施例に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図34に示すように、コンピュータ600は、各種演算処理を実行するCPU601と、ユーザからのデータの入力を受け付ける入力装置602と、ディスプレイ603とを有する。また、コンピュータ600は、記憶媒体からプログラム等を読み取る読み取り装置604と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置605とを有する。インタフェース装置605は、センサ10A,10B等に接続される。また、採点装置200に接続されていてもよい。コンピュータ600は、各種情報を一時記憶するRAM606と、ハードディスク装置607とを有する。そして、各装置601~607は、バス608に接続される。
ハードディスク装置607は、第1取得プログラム607a、提供プログラム607b、第2取得プログラム607c、算出プログラム607d、出力プログラム607eを有する。CPU601は、第1取得プログラム607a、提供プログラム607b、第2取得プログラム607c、算出プログラム607d、出力プログラム607eを読み出してRAM406に展開する。
第1取得プログラム607aは、第1取得プロセス606aとして機能する。提供プログラム607bは、提供プロセス606bとして機能する。第2取得プログラム607cは、第2取得プロセス606cとして機能する。算出プログラム607dは、算出プロセス607dとして機能する。出力プログラム607eは、出力プロセス607eとして機能する。
第1取得プロセス606aの処理は、第1取得部150a,350a,450a,550aの処理に対応する。提供プロセス606bの処理は、提供部150b,450b,550bの処理に対応する。第2取得プロセス606cの処理は、第2取得部150c,350b,450c,550cの処理に対応する。算出プロセス606dの処理は、算出部150d,350c,450d,550dの処理に対応する。出力プロセス606eの処理は、出力部150e,350d,450e,550eの処理に対応する。
なお、各プログラム607a~607eについては、必ずしも最初からハードディスク装置507に記憶させておかなくてもよい。例えば、コンピュータ600に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ600が各プログラム607a~607eを読み出して実行するようにしてもよい。
図35は、本実施例に係る採点装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図35に示すように、コンピュータ700は、各種演算処理を実行するCPU701と、ユーザからのデータの入力を受け付ける入力装置702と、ディスプレイ703とを有する。また、コンピュータ700は、記憶媒体からプログラム等を読み取る読み取り装置704と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置705とを有する。コンピュータ700は、各種情報を一時記憶するRAM706と、ハードディスク装置707とを有する。そして、各装置701~707は、バス708に接続される。
ハードディスク装置707は、取得プログラム707a、位置合わせプログラム707b、認識プログラム707c、出力プログラム707dを有する。CPU701は、取得プログラム707a、位置合わせプログラム707b、認識プログラム707c、出力プログラム707dを読み出してRAM706に展開する。
取得プログラム707aは、取得プロセス706aとして機能する。位置合わせプログラム707bは、位置合わせプロセス706bとして機能する。認識プログラム707cは、認識プロセス706cとして機能する。出力プロセス706aの処理は、出力部350dの処理に対応する。
なお、各プログラム707a~707dについては、必ずしも最初からハードディスク装置707に記憶させておかなくてもよい。例えば、コンピュータ700に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ700が各プログラム707a~707dを読み出して実行するようにしてもよい。
10A,10B,10C,10D センサ
100,300,400,500 情報処理装置
110,310,410,510 インタフェース部
120,320,420,520 入力部
130,330,430,530 表示部
140,340,440,540 記憶部
140a,340a,440a,540a 距離画像テーブル
140b,340b,440b,540b パラメータ
150,350,450,550 制御部
150a,350a,450a,550a 第1取得部
150b,450b,550b 提供部
150c,350b,450c,550c 第2取得部
150d,350c,450d,550d 算出部
150e,350d,450e,550e 出力部
200 採点装置
201 記憶部
202 取得部
203 位置合わせ部
204 認識部
205 出力部
250 表示装置
340c マーカ定義情報
540c 特定テーブル
100,300,400,500 情報処理装置
110,310,410,510 インタフェース部
120,320,420,520 入力部
130,330,430,530 表示部
140,340,440,540 記憶部
140a,340a,440a,540a 距離画像テーブル
140b,340b,440b,540b パラメータ
150,350,450,550 制御部
150a,350a,450a,550a 第1取得部
150b,450b,550b 提供部
150c,350b,450c,550c 第2取得部
150d,350c,450d,550d 算出部
150e,350d,450e,550e 出力部
200 採点装置
201 記憶部
202 取得部
203 位置合わせ部
204 認識部
205 出力部
250 表示装置
340c マーカ定義情報
540c 特定テーブル
Claims (21)
- コンピュータが、
第1センサにより測距された被写体までの距離の情報を含む第1測定情報と、第2センサにより測距された前記被写体までの距離の情報を含む第2測定情報とを取得し、
前記第1測定情報から、第1ベクトルと、前記第1ベクトルとは異なる向きの第2ベクトルと、第1並進用点とを取得し、
前記第2測定情報から、前記第1ベクトルと実空間上で平行かつ向きが同じベクトルとして取り扱われる第3ベクトルと、前記第2ベクトルと前記実空間上で平行かつ向きが同じベクトルとして取り扱われる第4ベクトルと、前記実空間上で前記第1並進用点と同じ位置として取り扱われる第2並進用点との情報を取得し、
前記第1ベクトルの終点、前記第2ベクトルの終点、前記第1並進用点、前記第3ベクトルの終点、前記第4ベクトルの終点、前記第2並進用点を基にして、前記第1センサに測距される前記被写体の点群に対して、前記第2センサにより測距される前記被写体の点群の位置合わせを行うための、回転角度および並進距離を算出し、
前記回転角度および前記並進距離を記憶装置に記憶する
処理を実行することを特徴とする算出方法。 - 前記第1センサによる測定結果を示す第1画像と、前記第2センサによる測定結果を示す第2画像とを取得し、前記第1画像および前記第2画像を表示装置に表示させ、前記第1ベクトルの始点および終点と、前記第2ベクトルの始点および終点と、前記第1並進用点と、前記第3ベクトルの始点および終点と、前記第4ベクトルの始点および終点と、前記第2並進用点との選択を受け付ける処理を更に実行することを特徴とする請求項1に記載の算出方法。
- 前記第1画像には、第1形状マーカの画像、第2形状マーカの画像、第3形状マーカの画像が含まれ、前記第2画像には、前記第2形状マーカの画像、前記第3形状マーカの画像、第4形状マーカの画像が含まれ、前記実空間上において、前記第1形状マーカおよび前記第4形状マーカを通る第1線分と、前記第2形状マーカおよび前記第3形状マーカを通る第2線分とは交差し、
前記第1測定情報に含まれる点群において、前記第1形状マーカに対応する点から前記第2形状マーカに対応する点に至るベクトルを前記第1ベクトルとして取得し、前記第2形状マーカに対応する点から前記第3形状マーカに対応する点に至るベクトルを、前記第2ベクトルとして取得し、前記第2形状マーカに対応する点を前記第1並進用点として取得し、
前記第2測定情報に含まれる点群において、前記第2形状マーカに対応する点から前記第4形状マーカに対応する点に至るベクトルを前記第3ベクトルとして取得し、前記第2形状マーカに対応する点から前記第3形状マーカに対応する点に至るベクトルを、前記第4ベクトルとして取得し、前記第2形状マーカに対応する点を前記第2並進用点として取得する処理を更に実行することを特徴とする請求項2に記載の算出方法。 - 前記第1線分と前記第2線分とは前記実空間上において直交することを特徴とする請求項3に記載の算出方法。
- 前記第1画像および前記第2画像には、水平部分を有する被写体および垂直部分を有する被写体の画像が含まれ、前記水平部分を有する前記被写体および前記垂直部分を有する前記被写体上の点から、前記第1ベクトルの始点および終点と、前記第2ベクトルの始点および終点と、前記第1並進用点と、前記第3ベクトルの始点および終点と、前記第4ベクトルの始点および終点と、前記第2並進用点との選択を受け付けることを特徴とする請求項2に記載の算出方法。
- 前記回転角度および前記並進距離を基にして、前記第1センサに測距された点群と、前記第2センサに測距された点群との位置合わせを更に実行することを特徴とする請求項1に記載の算出方法。
- 前記複数のマーカには複数の反射物がそれぞれ配置され、前記第1測定情報には、複数のマーカの光の第1反射強度情報が更に含まれ、前記第2測定情報には、複数のマーカの光の第2反射強度情報が更に含まれ、
複数の前記第1反射強度情報からそれぞれ推定される各マーカの位置を基にして、前記第1ベクトルの始点および終点、前記第2ベクトルの始点および終点、前記第1並進用点を補正し、
複数の前記第2反射強度情報からそれぞれ推定される各マーカの位置を基にして、前記第3ベクトルの始点および終点、前記第4ベクトルの始点および終点、前記第2並進用点を補正する処理を更に実行することを特徴とする請求項1に記載の算出方法。 - 第1センサにより測距された被写体までの距離の情報を含む第1測定情報と、第2センサにより測距された前記被写体までの距離の情報を含む第2測定情報とを取得し、
前記第1測定情報から、第1ベクトルと、前記第1ベクトルとは異なる向きの第2ベクトルと、第1並進用点とを取得し、
前記第2測定情報から、前記第1ベクトルと実空間上で平行かつ向きが同じベクトルとして取り扱われる第3ベクトルと、前記第2ベクトルと前記実空間上で平行かつ向きが同じベクトルとして取り扱われる第4ベクトルと、前記実空間上で前記第1並進用点と同じ位置として取り扱われる第2並進用点との情報を取得し、
前記第1ベクトルの終点、前記第2ベクトルの終点、前記第1並進用点、前記第3ベクトルの終点、前記第4ベクトルの終点、前記第2並進用点を基にして、前記第1センサに測距される前記被写体の点群に対して、前記第2センサにより測距される前記被写体の点群の位置合わせを行うための、回転角度および並進距離を算出し、
前記回転角度および前記並進距離を記憶装置に記憶する
処理をコンピュータに実行させることを特徴とする算出プログラム。 - 前記第1センサによる測定結果を示す第1画像と、前記第2センサによる測定結果を示す第2画像とを取得し、前記第1画像および前記第2画像を表示装置に表示させ、前記第1ベクトルの始点および終点と、前記第2ベクトルの始点および終点と、前記第1並進用点と、前記第3ベクトルの始点および終点と、前記第4ベクトルの始点および終点と、前記第2並進用点との選択を受け付ける処理を更に実行することを特徴とする請求項8に記載の算出プログラム。
- 前記第1画像には、第1形状マーカの画像、第2形状マーカの画像、第3形状マーカの画像が含まれ、前記第2画像には、前記第2形状マーカの画像、前記第3形状マーカの画像、第4形状マーカの画像が含まれ、前記実空間上において、前記第1形状マーカおよび前記第4形状マーカを通る第1線分と、前記第2形状マーカおよび前記第3形状マーカを通る第2線分とは交差し、
前記第1測定情報に含まれる点群において、前記第1形状マーカに対応する点から前記第2形状マーカに対応する点に至るベクトルを前記第1ベクトルとして取得し、前記第2形状マーカに対応する点から前記第3形状マーカに対応する点に至るベクトルを、前記第2ベクトルとして取得し、前記第2形状マーカに対応する点を前記第1並進用点として取得し、
前記第2測定情報に含まれる点群において、前記第2形状マーカに対応する点から前記第4形状マーカに対応する点に至るベクトルを前記第3ベクトルとして取得し、前記第2形状マーカに対応する点から前記第3形状マーカに対応する点に至るベクトルを、前記第4ベクトルとして取得し、前記第2形状マーカに対応する点を前記第2並進用点として取得する処理を更に実行することを特徴とする請求項9に記載の算出プログラム。 - 前記第1線分と前記第2線分とは前記実空間上において直交することを特徴とする請求項10に記載の算出プログラム。
- 前記第1画像および前記第2画像には、水平部分を有する被写体および垂直部分を有する被写体の画像が含まれ、前記水平部分を有する前記被写体および前記垂直部分を有する前記被写体上の点から、前記第1ベクトルの始点および終点と、前記第2ベクトルの始点および終点と、前記第1並進用点と、前記第3ベクトルの始点および終点と、前記第4ベクトルの始点および終点と、前記第2並進用点との選択を受け付けることを特徴とする請求項9に記載の算出プログラム。
- 前記回転角度および前記並進距離を基にして、前記第1センサに測距された点群と、前記第2センサに測距された点群との位置合わせを更に実行することを特徴とする請求項8に記載の算出プログラム。
- 前記複数のマーカには複数の反射物がそれぞれ配置され、前記第1測定情報には、複数のマーカの光の第1反射強度情報が更に含まれ、前記第2測定情報には、複数のマーカの光の第2反射強度情報が更に含まれ、
複数の前記第1反射強度情報からそれぞれ推定される各マーカの位置を基にして、前記第1ベクトルの始点および終点、前記第2ベクトルの始点および終点、前記第1並進用点を補正し、
複数の前記第2反射強度情報からそれぞれ推定される各マーカの位置を基にして、前記第3ベクトルの始点および終点、前記第4ベクトルの始点および終点、前記第2並進用点を補正する処理を更に実行することを特徴とする請求項8に記載の算出プログラム。 - 第1センサにより測距された被写体までの距離の情報を含む第1測定情報と、第2センサにより測距された前記被写体までの距離の情報を含む第2測定情報とを取得する第1取得部と、
前記第1測定情報から、第1ベクトルと、前記第1ベクトルとは異なる向きの第2ベクトルと、第1並進用点とを取得し、前記第2測定情報から、前記第1ベクトルと実空間上で平行かつ向きが同じベクトルとして取り扱われる第3ベクトルと、前記第2ベクトルと前記実空間上で平行かつ向きが同じベクトルとして取り扱われる第4ベクトルと、前記実空間上で前記第1並進用点と同じ位置として取り扱われる第2並進用点との情報を取得する第2取得部と、
前記第1ベクトルの終点、前記第2ベクトルの終点、前記第1並進用点、前記第3ベクトルの終点、前記第4ベクトルの終点、前記第2並進用点を基にして、前記第1センサに測距される前記被写体の点群に対して、前記第2センサにより測距される前記被写体の点群の位置合わせを行うための、回転角度および並進距離を算出し、前記回転角度および前記並進距離を記憶部に記憶する算出部と
を有することを特徴とする情報処理装置。 - 前記第1取得部は、第1センサによる測定結果を示す第1画像と、前記第2センサによる測定結果を示す第2画像とを取得し、前記第1画像および前記第2画像を表示装置に表示させる提示部を更に有し、前記第2取得部は、前記第1ベクトルの始点および終点と、前記第2ベクトルの始点および終点と、前記第1並進用点と、前記第3ベクトルの始点および終点と、前記第4ベクトルの始点および終点と、前記第2並進用点との選択を受け付けることを特徴とする請求項15に記載の情報処理装置。
- 前記第1画像には、第1形状マーカの画像、第2形状マーカの画像、第3形状マーカの画像が含まれ、前記第2画像には、前記第2形状マーカの画像、前記第3形状マーカの画像、第4形状マーカの画像が含まれ、前記実空間上において、前記第1形状マーカおよび前記第4形状マーカを通る第1線分と、前記第2形状マーカおよび前記第3形状マーカを通る第2線分とは交差し、
前記第2取得部は、前記第1測定情報に含まれる点群において、前記第1形状マーカに対応する点から前記第2形状マーカに対応する点に至るベクトルを前記第1ベクトルとして取得し、前記第2形状マーカに対応する点から前記第3形状マーカに対応する点に至るベクトルを、前記第2ベクトルとして取得し、前記第2形状マーカに対応する点を前記第1並進用点として取得し、
前記第2測定情報に含まれる点群において、前記第2形状マーカに対応する点から前記第4形状マーカに対応する点に至るベクトルを前記第3ベクトルとして取得し、前記第2形状マーカに対応する点から前記第3形状マーカに対応する点に至るベクトルを、前記第4ベクトルとして取得し、前記第2形状マーカに対応する点を前記第2並進用点として取得することを特徴とする請求項16に記載の情報処理装置。 - 前記第1線分と前記第2線分とは前記実空間上において直交することを特徴とする請求項17に記載の情報処理装置。
- 前記第2取得部は、前記第1画像および前記第2画像には、水平部分を有する被写体および垂直部分を有する被写体の画像が含まれ、前記水平部分を有する前記被写体および前記垂直部分を有する前記被写体上の点から、前記第1ベクトルの始点および終点と、前記第2ベクトルの始点および終点と、前記第1並進用点と、前記第3ベクトルの始点および終点と、前記第4ベクトルの始点および終点と、前記第2並進用点との選択を受け付けることを特徴とする請求項16に記載の情報処理装置。
- 前記回転角度および前記並進距離を基にして、前記第1センサに測距された点群と、前記第2センサに測距された点群との位置合わせ部を更に有することを特徴とする請求項15に記載の情報処理装置。
- 前記複数のマーカには複数の反射物がそれぞれ配置され、前記第1測定情報には、複数のマーカの光の第1反射強度情報が更に含まれ、前記第2測定情報には、複数のマーカの光の第2反射強度情報が更に含まれ、
前記第2取得部は、複数の前記第1反射強度情報からそれぞれ推定される各マーカの位置を基にして、前記第1ベクトルの始点および終点、前記第2ベクトルの始点および終点、前記第1並進用点を補正し、複数の前記第2反射強度情報からそれぞれ推定される各マーカの位置を基にして、前記第3ベクトルの始点および終点、前記第4ベクトルの始点および終点、前記第2並進用点を補正する処理を更に実行することを特徴とする請求項15に記載の情報処理装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201880098747.1A CN112912927A (zh) | 2018-10-18 | 2018-10-18 | 计算方法、计算程序及信息处理装置 |
JP2020551681A JP7078127B2 (ja) | 2018-10-18 | 2018-10-18 | 算出方法、算出プログラムおよび情報処理装置 |
EP18937479.6A EP3869461B1 (en) | 2018-10-18 | 2018-10-18 | Calculation method, calculation program, and information processing device |
PCT/JP2018/038872 WO2020079814A1 (ja) | 2018-10-18 | 2018-10-18 | 算出方法、算出プログラムおよび情報処理装置 |
US17/220,434 US11468580B2 (en) | 2018-10-18 | 2021-04-01 | Calculation method, computer-readable recording medium recording calculation program, and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/038872 WO2020079814A1 (ja) | 2018-10-18 | 2018-10-18 | 算出方法、算出プログラムおよび情報処理装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/220,434 Continuation US11468580B2 (en) | 2018-10-18 | 2021-04-01 | Calculation method, computer-readable recording medium recording calculation program, and information processing apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020079814A1 true WO2020079814A1 (ja) | 2020-04-23 |
Family
ID=70284458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/038872 WO2020079814A1 (ja) | 2018-10-18 | 2018-10-18 | 算出方法、算出プログラムおよび情報処理装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11468580B2 (ja) |
EP (1) | EP3869461B1 (ja) |
JP (1) | JP7078127B2 (ja) |
CN (1) | CN112912927A (ja) |
WO (1) | WO2020079814A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546232A (zh) * | 2022-04-24 | 2022-05-27 | 广州中望龙腾软件股份有限公司 | 视图平移方法、终端以及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010066595A (ja) * | 2008-09-11 | 2010-03-25 | Toyota Motor Corp | 環境地図生成装置及び環境地図生成方法 |
JP2013161133A (ja) | 2012-02-01 | 2013-08-19 | Toshiba Plant Systems & Services Corp | 三次元データ処理装置、三次元データ処理プログラムおよび三次元データ処理方法 |
WO2017056567A1 (ja) * | 2015-10-01 | 2017-04-06 | 三菱電機株式会社 | 寸法計測装置 |
JP2017106749A (ja) | 2015-12-07 | 2017-06-15 | 株式会社Hielero | 点群データ取得システム及びその方法 |
JP2017166846A (ja) | 2016-03-14 | 2017-09-21 | 株式会社デンソー | 物体認識装置 |
WO2018181249A1 (ja) * | 2017-03-31 | 2018-10-04 | パナソニックIpマネジメント株式会社 | 撮像システムおよび校正方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8064730B2 (en) * | 2003-09-22 | 2011-11-22 | Asml Netherlands B.V. | Device manufacturing method, orientation determination method and lithographic apparatus |
JP2008538080A (ja) * | 2005-02-03 | 2008-10-09 | ブラッコ イメージング ソチエタ ペル アチオニ | 対象物の移動による画像アーチファクトの減少を伴う生物医学画像の登録のための方法と、コンピュータプログラムプロダクト |
US20090232388A1 (en) * | 2008-03-12 | 2009-09-17 | Harris Corporation | Registration of 3d point cloud data by creation of filtered density images |
JP2011188083A (ja) * | 2010-03-05 | 2011-09-22 | Sony Corp | 情報処理装置、情報処理方法、プログラム、及び光学顕微鏡を搭載した撮像装置 |
CN102169579A (zh) * | 2011-03-31 | 2011-08-31 | 西北工业大学 | 密集点云模型快速精确配准方法 |
US9183631B2 (en) * | 2012-06-29 | 2015-11-10 | Mitsubishi Electric Research Laboratories, Inc. | Method for registering points and planes of 3D data in multiple coordinate systems |
CN103236064B (zh) * | 2013-05-06 | 2016-01-13 | 东南大学 | 一种基于法向量的点云自动配准方法 |
US9201424B1 (en) * | 2013-08-27 | 2015-12-01 | Google Inc. | Camera calibration using structure from motion techniques |
CN103679741B (zh) * | 2013-12-30 | 2017-01-18 | 北京建筑大学 | 一种基于三维线特征的激光点云数据自动配准方法 |
WO2017033300A1 (ja) * | 2015-08-26 | 2017-03-02 | 株式会社イノベーション・アイ | 3次元形状データの作成方法 |
JPWO2017038659A1 (ja) * | 2015-09-01 | 2018-06-14 | 国立大学法人 東京大学 | 運動検出装置及びそれを用いた三次元形状測定装置 |
US11397088B2 (en) * | 2016-09-09 | 2022-07-26 | Nanyang Technological University | Simultaneous localization and mapping methods and apparatus |
US9972067B2 (en) * | 2016-10-11 | 2018-05-15 | The Boeing Company | System and method for upsampling of sparse point cloud for 3D registration |
JP6396982B2 (ja) * | 2016-12-28 | 2018-09-26 | セコム株式会社 | 空間モデル処理装置 |
US10580114B2 (en) * | 2017-03-29 | 2020-03-03 | Zhijing George Mou | Methods and systems for real time 3D-space search and point-cloud registration using a dimension-shuffle transform |
WO2018195986A1 (en) * | 2017-04-28 | 2018-11-01 | SZ DJI Technology Co., Ltd. | Calibration of laser sensors |
US10529089B2 (en) * | 2018-02-23 | 2020-01-07 | GM Global Technology Operations LLC | Crowd-sensed point cloud map |
CN111819601A (zh) * | 2018-02-26 | 2020-10-23 | 英特尔公司 | 为图像处理进行点云配准的方法和系统 |
-
2018
- 2018-10-18 JP JP2020551681A patent/JP7078127B2/ja active Active
- 2018-10-18 CN CN201880098747.1A patent/CN112912927A/zh active Pending
- 2018-10-18 WO PCT/JP2018/038872 patent/WO2020079814A1/ja unknown
- 2018-10-18 EP EP18937479.6A patent/EP3869461B1/en active Active
-
2021
- 2021-04-01 US US17/220,434 patent/US11468580B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010066595A (ja) * | 2008-09-11 | 2010-03-25 | Toyota Motor Corp | 環境地図生成装置及び環境地図生成方法 |
JP2013161133A (ja) | 2012-02-01 | 2013-08-19 | Toshiba Plant Systems & Services Corp | 三次元データ処理装置、三次元データ処理プログラムおよび三次元データ処理方法 |
WO2017056567A1 (ja) * | 2015-10-01 | 2017-04-06 | 三菱電機株式会社 | 寸法計測装置 |
JP2017106749A (ja) | 2015-12-07 | 2017-06-15 | 株式会社Hielero | 点群データ取得システム及びその方法 |
JP2017166846A (ja) | 2016-03-14 | 2017-09-21 | 株式会社デンソー | 物体認識装置 |
WO2018181249A1 (ja) * | 2017-03-31 | 2018-10-04 | パナソニックIpマネジメント株式会社 | 撮像システムおよび校正方法 |
Non-Patent Citations (2)
Title |
---|
P. J. BESLN. D. MCKAY: "A method for registration of 3-D shapes", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, vol. 14, no. 2, 1992, pages 239 - 256 |
See also references of EP3869461A4 |
Also Published As
Publication number | Publication date |
---|---|
EP3869461A4 (en) | 2021-11-03 |
JP7078127B2 (ja) | 2022-05-31 |
EP3869461A1 (en) | 2021-08-25 |
EP3869461B1 (en) | 2022-10-05 |
US20210225016A1 (en) | 2021-07-22 |
JPWO2020079814A1 (ja) | 2021-09-02 |
CN112912927A (zh) | 2021-06-04 |
US11468580B2 (en) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2993490B1 (en) | Operating device, operating method, and program therefor | |
JP4885584B2 (ja) | レンジファインダ校正方法及び装置 | |
CN103411553B (zh) | 多线结构光视觉传感器的快速标定方法 | |
US9467682B2 (en) | Information processing apparatus and method | |
US9704248B2 (en) | Position and orientation measuring apparatus, information processing apparatus and information processing method | |
US20160117824A1 (en) | Posture estimation method and robot | |
CN106651752A (zh) | 三维点云数据配准方法及拼接方法 | |
US20190003830A1 (en) | Detection device and detection method | |
CN105139416A (zh) | 一种基于图像信息和深度信息的物体识别方法 | |
JP2001524228A (ja) | 機械視覚較正標的並びに画像内で標的の位置及び方向を決定する方法 | |
JP2015194478A (ja) | 情報処理装置、情報処理方法、プログラム | |
CN113096183B (zh) | 一种基于激光雷达与单目相机的障碍物检测与测量方法 | |
US20180290300A1 (en) | Information processing apparatus, information processing method, storage medium, system, and article manufacturing method | |
US20110235898A1 (en) | Matching process in three-dimensional registration and computer-readable storage medium storing a program thereof | |
JP2016109669A (ja) | 情報処理装置、情報処理方法、プログラム | |
JP2016179534A (ja) | 情報処理装置、情報処理方法、プログラム | |
Samper et al. | Analysis of Tsai calibration method using two-and three-dimensional calibration objects | |
JP5311465B2 (ja) | ステレオマッチング処理システム、ステレオマッチング処理方法、及びプログラム | |
WO2020079814A1 (ja) | 算出方法、算出プログラムおよび情報処理装置 | |
US20200134801A1 (en) | Image processing apparatus and image processing method | |
EP3088983B1 (en) | Moving object controller and program | |
Song et al. | Calibration of event-based camera and 3d lidar | |
JP2005140547A (ja) | 3次元計測方法、3次元計測装置、及びコンピュータプログラム | |
JP2011047830A (ja) | 位置計測システム、位置計測用演算装置およびプログラム | |
JP2016057079A (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: 18937479 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020551681 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2018937479 Country of ref document: EP Effective date: 20210518 |