WO2022059157A1 - 三次元データスケール付与方法及び三次元データスケール付与プログラム - Google Patents
三次元データスケール付与方法及び三次元データスケール付与プログラム Download PDFInfo
- Publication number
- WO2022059157A1 WO2022059157A1 PCT/JP2020/035377 JP2020035377W WO2022059157A1 WO 2022059157 A1 WO2022059157 A1 WO 2022059157A1 JP 2020035377 W JP2020035377 W JP 2020035377W WO 2022059157 A1 WO2022059157 A1 WO 2022059157A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- point cloud
- scale
- cloud data
- shape
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 29
- 238000005259 measurement Methods 0.000 claims abstract description 77
- 239000012925 reference material Substances 0.000 claims description 7
- 238000003384 imaging method Methods 0.000 abstract 1
- 239000003550 marker Substances 0.000 description 31
- 230000006870 function Effects 0.000 description 28
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000008602 contraction Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000010008 shearing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
-
- G—PHYSICS
- 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
-
- 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
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/86—Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
-
- 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/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- 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/4808—Evaluating distance, position or velocity data
-
- 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/497—Means for monitoring or calibrating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
Definitions
- the present invention relates to a method and a program for imparting a three-dimensionally accurate scale when three-dimensional data is generated from position data obtained by a plurality of photographs or laser scanning.
- Patent Document 1 As for the generation of three-dimensional data, as shown in Patent Document 1, a method of taking a plurality of photographs from the periphery of a measurement object and acquiring point cloud data based on the plurality of photographs is known. ..
- point group data is extracted from data taken by a plurality of cameras, and at that time, parameters such as camera position, orientation, and focal length are acquired as camera parameters, and these camera parameters are obtained.
- the distance from the viewpoint is set based on the above, and the point group data is created.
- Patent Document 1 Japanese Unexamined Patent Publication No. 2018-36897
- Patent Document 1 Japanese Unexamined Patent Publication No. 2018-36897
- a distance image (depth map) showing a distance distribution between an observation viewpoint and an object is created, but only the distance from a predetermined observation viewpoint to the point cloud data is set. Therefore, the entire acquired point cloud data is not set three-dimensionally. Therefore, it was not possible to acquire three-dimensional data having an accurate scale.
- the present invention has been made to solve the above problems, and an object thereof is to be three-dimensionally accurate with respect to point cloud data generated based on image data obtained by a digital camera or position data obtained by a laser scanner.
- the purpose is to provide a method and a program for imparting scale.
- the three-dimensional data scale assigning method is a method of assigning a scale to three-dimensional data composed of point group data, and the size and shape are known in advance around the object to be measured.
- a plurality of reference objects are arranged, and image data obtained by photographing the measurement object from various angles including the plurality of reference objects by a digital camera, or the measurement object including the plurality of reference objects by a laser scanner.
- the position data acquired by scanning from various angles is input to the computer, the known size and shape of each reference object is input to the computer, and the computer is used to perform the plurality of image data or the plurality of image data.
- the point group data including the measurement target and each reference object is acquired from the position data, and the size included in the predetermined error range with respect to the input size and shape of each reference object in the point group data.
- the entire point group data is certified by certifying an object with a shape and shape as a reference object, and by expanding / contracting and / or twisting the point group data so that each certified reference object has the input size and shape. It is characterized by setting the scale of. By adopting this configuration, a plurality of reference objects whose sizes and shapes are known in advance are placed around the measurement object, the measurement object including the reference object is photographed, and the plurality of reference objects are photographed. By optimizing the point cloud data so that the size and shape are the sizes and shapes that are known in advance, accurate scale is given to the entire point cloud data, and the scale is accurate three-dimensional data. Can be generated.
- the reference material may be characterized by being a cube or a rectangular parallelepiped. According to this configuration, it is relatively easy to find a reference object from the point cloud data.
- At least two of the reference objects may be arranged around the measurement object, and the measurement object may be located on a straight line connecting the reference objects.
- each of the reference objects arranged so as to surround the circumference of the measurement object is arranged at a position equal to or lower than the plane on which the measurement object is installed, and is preliminarily larger than the measurement object. It may be characterized by installing an upper reference object whose shape and shape are known. According to this configuration, the point cloud data is optimized so that both the reference object and the upper reference object have accurate sizes and shapes, so that the scale of the point cloud data of the measurement target in the height direction is also more accurate. Can be.
- the three-dimensional data scale assigning method is a method of assigning a scale to three-dimensional data composed of point group data, and the size and shape are known in advance around the object to be measured.
- the image data obtained by photographing the measurement object from various angles including the plurality of structures by a digital camera, or the plurality of structures including the plurality of structures is described by a laser scanner.
- the position data acquired by scanning the object to be measured from various angles is input to the computer, the known size and shape of each structure is input to the computer, and the computer is used to perform the plurality of image data or the plurality of image data.
- Point group data including the measurement target and each structure is acquired from the plurality of position data, and in the point group data, within a predetermined error range with respect to the input size and shape of each structure.
- Objects with the included size and shape are certified as structures, and each certified structure expands and contracts the point group data so that it has the input size and shape, and / or twists the points. It is characterized by setting the scale of the entire group data.
- a structure whose size and shape are known can be a measurement target without arranging a plurality of reference objects whose size and shape are known in advance around the measurement target.
- Accurate scale to the entire point cloud data by optimizing the point cloud data so that the size and shape of the structure are known in advance, respectively, if present around. Is given, and the scale can generate accurate three-dimensional data.
- the three-dimensional data scale assigning method is a method of assigning a scale to three-dimensional data composed of point group data, and two reference points are on the same plane around an object to be measured.
- a plurality of planar reference objects that are displayed and whose length between the two reference points is known are arranged, and the measurement object including the plurality of planar reference objects is set at various angles by a digital camera.
- the image data taken from the camera or the position data obtained by scanning the measurement object from various angles including the plurality of planar reference objects by a laser scanner is input to the computer, and the reference in each planar reference object is input.
- the length between points is input to a computer, and the computer acquires point group data including the measurement object and each planar reference object from the plurality of image data or the plurality of position data, and the point group.
- the entire point group data It is characterized by setting the scale. According to this method, it is not necessary to certify a reference object whose size and shape are known in advance in the point cloud data, and only the reference point needs to be recognized. The process of certifying an object having a size and shape included in the error range as a reference object becomes unnecessary. Therefore, the scale setting to the point cloud data can be executed more quickly.
- the three-dimensional data scale assigning method and program of the present invention it is possible to assign an accurate scale to the point cloud data without using a large-scale equipment.
- FIG. 1 is a perspective view showing an arrangement state of a measurement object and a reference object
- FIG. 2 is a plan view showing an arrangement state of the measurement object and the reference object.
- the object to be measured 20 may be any shape, but in FIGS. 1 and 2, the polyhedral shape is taken as an example.
- the operator installs a plurality of reference objects 22a to 22d around the measurement object 20 so as to surround the measurement object 20.
- cubic reference objects 22a to 22d are installed at four locations around the measurement object 20.
- the measurement object 20 is arranged inside the cube surrounded by the reference objects 22a to 22d. That is, as shown in FIG. 2, the measurement object 20 is arranged inside a quadrangle composed of straight lines connecting arbitrary points inside (measurement object side) of each reference object 22a to 22d.
- Each reference object 22a to 22d is arranged around 20.
- the length of the side of the cube constituting the reference object is measured in advance, and the length of one side of the reference object 22a on the left front side of FIGS. 1 and 2 is 2.0 cm, and the length of one side of the reference object 22b on the right front side. It is assumed that the length is 2.1 cm, the length of one side of the reference object 22c on the far left is 2.1 cm, and the length of one side of the reference object 22d on the far right is 2.3 cm.
- the lengths of the sides of the plurality of reference objects may all be the same.
- all of the plurality of reference objects may be cubes having a side length of 2.0 cm.
- its shape is not limited to a cube.
- it may be a rectangular parallelepiped or another shape.
- it is necessary that the shape can be obtained from the point cloud data by surface estimation or the like.
- the operator takes a plurality of photographs of the object to be measured from various angles with a digital camera so as to cover the entire circumference of the object 20 to be measured and the plurality of reference objects 22.
- it is necessary to overlap the shooting ranges for shooting. Data matching processing is performed on the overlapped portion as described later.
- the number of shots is better as the number of shots is larger in order to acquire accurate point cloud data, but the operator appropriately determines the number of shots in consideration of the processing time in the computer.
- each reference object is a cube in the present embodiment, it is a cube and the length of one side of each reference object
- This work may be performed at any time before the execution of the three-dimensional data scale granting program.
- FIG. 3 is a block diagram showing an outline of the internal configuration of the computer.
- the computer 30 has a control unit 32 and a storage device 34 inside.
- the control unit 32 includes a central processing unit (CPU, etc.), a memory (ROM, RAM), etc., controls the entire operation of the computer 30, and also controls execution of functions based on each program stored in the storage device 34. do.
- the computer 30 may be equipped with a graphic board including a GPU.
- the storage device 34 is composed of a hard disk drive, an SSD, or the like.
- a point cloud data generation program P1 and a three-dimensional data scale addition program P2 are stored in advance.
- a known program can be used as the point cloud data generation program P1 .
- the point cloud data generation program P1 executes the operation as shown in FIG.
- the point cloud data generation program P1 shown here may be one program integrated with the three-dimensional data scale addition program P2 described later.
- the computer 30 further includes an input device 36 composed of a mouse, a keyboard, and the like, and a monitor 38 that displays the point cloud data generated by the point cloud data generation program P1.
- the point cloud data generation program extracts a plurality of feature points from the captured image data (S101). As feature points, many parts that are different in color and shape from other parts are extracted.
- the point cloud data generation program executes a matching process for matching the features of a plurality of image data (S102).
- a plurality of image data are generated as point cloud data by the matching process.
- the point cloud data generation program may generate point cloud data so that the point cloud data is at a relatively correct position by matrix operation by inputting camera parameters and the like until the matching process.
- SfM Structure from Motion
- MVS Multi-View Stereo
- the three-dimensional data scale assignment program is executed.
- the operator performs the work of inputting the size and shape of the reference object into the computer.
- the operator inputs that each reference object is a cube, and the length of one side of the reference object on the left front is 2.0 cm, and the reference on the right front. Enter the values that the length of one side of the object is 2.1 cm, the length of one side of the reference object on the left back is 2.1 cm, and the length of one side of the reference object on the right back is 2.3 cm.
- the operation of the three-dimensional data scale addition program will be described with reference to FIG.
- the three-dimensional data scale assigning program first executes a function of finding a reference object from the point cloud data (step S201).
- the size and shape of the reference object are input by the operator in advance as described above, and the function of finding the reference object from the point cloud data is 2.0 cm, 2.1 cm, and 2.
- the point cloud data is not given an accurate scale, so the object that seems to be the reference object is as the input value. It is not a cube, for example, one side is 2.0 cm but the other side is 2.1 cm, or the surface of the cube is trapezoidal instead of square.
- the function of finding the reference object from the point group data is predetermined for the size and shape of the reference object (the value of the length of one side of the cube in this embodiment) input in advance.
- the error range of is determined in advance, and an object having a side length within the range included in the error range on the point group data is certified as a reference object (step S201). For example, when the reference object is a cube, if the length of one side on the point cloud data is less than ⁇ 5 to 10% of the actual length of one side entered, it is certified as the reference object. ..
- the function of finding the reference object from the point cloud data in the three-dimensional data scale assignment program is by automatically detecting the vertices (corners) of the cube of the reference object by surface estimation, as shown in FIG. Will be done.
- FIG. 6 is a schematic explanatory diagram of the plane estimation function, and the plane estimation function is provided as one function of the three-dimensional data scale imparting program.
- the plane estimation function is a known technique, but in a three-dimensional data scale assignment program, it is applied to obtain three adjacent faces in a reference object from a large number of point cloud data.
- the plane estimation function of the present embodiment estimates three planes in which each point is arranged in the point cloud data as shown in the right figure of FIG. If the three planes can be estimated accurately, the vertices as the intersections of the three planes can be accurately determined.
- the plane estimation function can use a straight line connecting each vertex as one side constituting the reference object. Then, as will be described later, the point cloud data is optimized so that the distance of this straight line becomes the length of the side of the reference object input earlier.
- the three-dimensional data scale assignment program executes a function of optimizing the point cloud data so that the size and shape are input in advance for all the reference objects found in the point cloud data.
- the point cloud data optimization function of the 3D data scale granting program expands and contracts the point cloud data so that all the found reference objects have the actual scale, and / or twists them. Perform the function to add.
- Affine transformation can be mentioned as a specific example of the function of expanding and contracting the point cloud data and / or adding a twist. Affine transformation is a known technique in computer graphics for enlarging, reducing, rotating, translating, and shearing a figure. Therefore, the point cloud data optimization function of the three-dimensional data scale assignment program can be executed by adopting the affine transformation.
- the reference object on the left front side is a cube having a side length of 2.0 cm
- the reference object on the right front side has a side length of 2.1 cm.
- the entire point group data is expanded and contracted so that the cube, the reference object on the left back is a cube with a side length of 2.1 cm, and the reference object on the right back is a cube with a side length of 2.3 cm. Perform further twists if necessary. By doing so, it is possible to give an accurate scale to the entire three-dimensional space composed of point cloud data.
- FIG. 7 an example in which a scale is set for a predetermined reference object on the point cloud data is shown in the drawing of FIG. 7.
- a cubic reference object is arranged at four surrounding locations, and the measurement target is a rectangular parallelepiped object located at the center and an elongated rod-shaped object located on the right side of the rectangular parallelepiped object.
- Cube reference objects are arranged at four locations around these measurement objects, and cubic reference objects are also arranged on the upper surface of the rectangular parallelepiped measurement object. That is, in this example, five reference objects are arranged.
- the scale is given only to the reference object on the left front side, but in this case, the accurate scale is set only for one reference object, and the measurement target object and other reference objects are set.
- the scale is not set for the object.
- the 3D space in and around the reference object becomes an accurate scale, but it is still an inaccurate scale in the 3D space away from the reference object for which the scale is set.
- the color is shown in a light state with respect to the measurement object and other reference objects to which the accurate scale is not given.
- the measurement object and the other reference object in the dark color state are displayed adjacent to the measurement object and the other reference object in the light color state, but this is the original scale. For comparison, it is intentionally displayed in FIG. 7.
- the three-dimensional data scale assigning program simultaneously sets each previously known scale (the length of the side input in advance) for all the reference objects in the point cloud data.
- the 3D data scale granting program performs the work of optimizing the 3D space so that the lengths of the sides of each reference object are all the lengths input in advance at the same time.
- the point cloud data generated by the point cloud data generation program does not have a scale in the first place, and the positions of each photographed point are combined. It's just plotted. Therefore, in such point cloud data, for example, as shown in FIG. 7, the work of setting the scale in the virtual space of the point cloud data so that one side of all (five) reference objects has a length that is known in advance. Will be executed.
- the measurement object and other reference objects in a light color state are shown in FIG. It can be seen that the measurement object in the dark color and the other reference objects match, and the point cloud data is given an accurate scale.
- a reference object (upper reference object within the scope of claims) was also arranged on the upper surface of the object to be measured. This also imparts an accurate scale in the height direction of the object to be measured.
- An embodiment of a reference object arranged above such a measurement object will be described with reference to FIGS. 9 and 10.
- the measurement object 25, which is a polyhedron is arranged so that the entire measurement object 25 is surrounded by the four cubic reference objects 26a, 26b, 26c, and 26d.
- the four cubic reference objects 26a, 26b, 26c, and 26d shown in FIGS. 9 and 10 are three-dimensionally arranged so as to form a tetrahedron, and the measurement object 25 is located substantially at the center of the tetrahedron. There is. Further, among the reference objects constituting the tetrahedron, the reference objects 26a, 26b, and 26c are arranged below the measurement object 25, and the reference object 26d is arranged above the measurement object 25. ..
- the entire object to be measured can be positioned in the space having each reference object as the apex. Therefore, it is possible to give an accurate scale not only in the vertical direction and the horizontal direction of the measurement object but also in the height direction.
- FIGS. 9 and 10 the object to be measured 25 and the reference object 26d above are shown floating in the air, but in reality, a table or the like is installed and these are installed on the table. Become.
- the plurality of reference objects placed around the measurement object may be installed at any place and at any angle as long as the measurement object can be included inside. ..
- multiple reference objects are installed on the complete horizontal plane at angles that match the X-axis, Y-axis, and Z-axis of the Cartesian coordinate system, and the reference. It is necessary to accurately measure the distance between objects.
- the reference object can be arranged in any way, an accurate scale can be given to the three-dimensional data without troublesome work.
- FIG. 11 shows an example in which a structure is provided around the object to be measured.
- the object to be measured 20 is arranged on the table 40 in the room.
- a monitor 42 used for a television, a computer, or the like is provided in the room, and a window 44 is provided on the wall surface.
- the top plate 45 of the table 40 is rectangular, if the length of the side thereof is measured, it can be used as a reference on the same plane as the installation surface of the object 20 to be measured.
- the monitor 42 has a rectangular shape when viewed from the front, and is arranged above the top plate 45 of the table 40. If the length of the side of the monitor 42 is measured, it can be used as a reference above the object to be measured 20.
- the window 44 also has a rectangular shape as a whole when viewed from the front, and is arranged above the top plate 45 of the table 40. If the length of the side of the window 44 is measured, it can be used as a reference above the object to be measured 20.
- the structure is also arranged on the front side in the direction perpendicular to the paper surface of FIG.
- the structure on the front side in the vertical direction of the paper surface, the table 40, the monitor 42, and the window 44 can be combined to replace the reference object arranged around the object to be measured.
- these structures may be any structure as long as they are arranged so as to surround the circumference of the object to be measured 20 and the size and shape can be known.
- a poster or a calendar hung on the wall surface a pattern attached to the wall surface, a shelf, or the like can be adopted.
- the operator takes a plurality of images of the measurement object from various angles with a digital camera so as to cover the entire circumference of the measurement object 20 and the plurality of structures 40, 42, 44.
- the captured image data is taken into a computer, and the point cloud data is generated by the point cloud data generation program. Data matching processing is performed on the overlapped portion in the computer, and point cloud data is generated.
- the three-dimensional data scale assigning program executes the function of finding the structure from the point cloud data.
- the size and shape of the structure are input in advance by the operator as described above, and the structure is found from the point cloud data based on the input data.
- the function of finding the structure from the point cloud data in the three-dimensional data scale assigning program determines in advance a predetermined error range with respect to the size and shape of the structure input in advance. Then, the object in the range included in the error range on the point cloud data is certified as a structure.
- the function of finding the structure from the point cloud data in the three-dimensional data scale assignment program is a plane that automatically detects the vertices (corners) of the cube of the reference object by surface estimation, as in the above-described embodiment.
- An estimation function may be adopted.
- the three-dimensional data scale assignment program executes a function of optimizing the point cloud data so that the size and shape are input in advance for all the structures found in the point cloud data. ..
- This optimization function performs expansion and contraction of the point cloud data by the affine transformation, and further twists if necessary, as in the above-described embodiment. In this way, even if a reference object is not installed, an accurate scale can be given to the entire three-dimensional space composed of point cloud data by using the structure existing around the measurement object as a reference. ..
- the structure is not limited to indoor objects as shown in FIG. If it is outdoors, if a structure such as a building whose size is known or a block wall is arranged around the object to be measured, this structure can be used as a substitute for the reference object.
- FIG. 12 shows three planar reference objects 50.
- the planar reference object 50 is, for example, a thin rectangular shape made of paper or a plastic plate, and two black circles having a white circle formed in the center are formed at a predetermined distance from each other.
- the white circle in the center of the black circle is the reference point.
- the black circle formed at the center of the reference point will be referred to as a marker 52 and will be described.
- the distance between the reference points of the two markers 52 is set in advance when the planar reference object 50 is created. For example, the distance between reference points can be set to 10 cm or the like.
- the planar reference object shown in FIG. 12 has a plurality of arcuate shapes formed around the marker 52. This has both meanings for recognizing that it is a marker and for recognizing the unique number of the reference object.
- this arcuate shape is referred to as an identification unit 54. If there is no identification unit 54, the marker 52 is simply a black circle, and it may be difficult for the three-dimensional data scale assigning program to recognize the white circle at the center of the marker 52 as a reference point. For example, if there is another circular part (vehicle tire, etc.), that part may be erroneously recognized as a marker.
- a point cloud is provided.
- the identification portions 54 arranged around each of the markers 52 have different shapes.
- FIG. 12 shows three examples of the planar reference object 50, and two markers 52 are formed on one planar reference object 50. Even in one planar reference object, the same number or different numbers of identification portions 54 having different arc lengths are arranged at each of the two identification portions 54. Further, the identification portion 54 formed is completely different between a certain planar reference object 50 and another planar reference object 50. That is, the identification portions 54 formed on the planar reference object 50 all have different shapes so that each marker 52 can be identified.
- a plurality of planar reference objects 50 are arranged around the object to be measured, and the distance between the reference points in one planar reference object 50 is input in advance by the three-dimensional data scale imparting program.
- the function to optimize the point group data affine transformation
- the three-dimensional data scale imparting program discriminates the marker 1 and the marker 2 by the shape of the identification unit 54, and the marker 1 and the marker 2 are used. You can set the distance between the reference points of.
- the identification number of the marker 52 on the left side of the planar reference object 50 in the center of FIG. 12 is set to 3
- the identification number of the marker 52 on the right side is set to 4
- a straight line connecting the reference point of the marker 3 and the reference point of the marker 4 is drawn. If it is 10 cm, the three-dimensional data scale imparting program can discriminate between the marker 3 and the marker 4 according to the shape of the identification unit 54, and can set the distance between the marker 3 and the reference point of the marker 4.
- three planar reference objects 50 are arranged around the object to be measured 20.
- the operator takes a plurality of photographs of the object to be measured from various angles with a digital camera so as to cover the entire circumference of the object 20 to be measured and the plurality of planar reference objects 40.
- the captured image data is taken into a computer, and the point cloud data is generated by the point cloud data generation program. Data matching processing is performed on the overlapped portion in the computer, and point cloud data is generated.
- the worker causes a computer to read the shape including the identification unit 54 of each marker 52, and assigns an identification number to all the markers according to the difference in the identification unit 54. Then, the distance between the reference points of the two markers 52 existing on the one planar reference object 50 is input. The distance between the reference points is set as the distance between the set identification numbers.
- the three-dimensional data scale assigning program executes the function of finding the planar reference object 50 from the point cloud data. Since the marker 52 formed on the planar reference object is set as a unique shape by the identification unit 54, the three-dimensional data scale assigning program can recognize the marker 52 together with the identification number.
- the distance between the paired reference points in one planar reference object 50 is input in advance for the reference point of each marker found in the point cloud data. Perform the function of optimizing the point cloud data so that the distance is set. For example, assuming that the three-dimensional data scale assigning program recognizes the markers 52 of the identification numbers 1 to 6, the operator has previously recognized the distance between the reference points of the identification numbers 1 and 2 and the distance between the reference points of the identification numbers 3 and 4. , When the distance between the reference points of the identification numbers 5 and 6 is input, the three-dimensional data scale assigning program is the distance between the reference points of the identification numbers 1 and 2, and the distance between the reference points of the identification numbers 3 and 4.
- the point group data is optimized so that the distance and the distance between the reference points of the identification numbers 5 and 6 are the input distances, respectively.
- This optimization function performs expansion and contraction of the point cloud data by the affine transformation, and further twists if necessary, as in the above-described embodiment.
- the vertices of the reference object can be calculated by surface estimation on the program by inputting the distance between the reference points in advance. Since it is not necessary to perform the recognition work, the operation of the program can be shortened.
- planar reference object 50 By attaching the planar reference object 50 to the wall surface existing around the measurement object 20 as shown in FIG. 13, a scale in the height direction with respect to the measurement object can also be imparted.
- point cloud data is generated based on a plurality of image data taken by a digital camera.
- the generation of the point cloud data in the present invention may be based on the position data obtained by the laser scanner.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Electromagnetism (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Architecture (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
点群データによって構成された三次元データにスケールを付与するために、測定対象物(20)の周囲に、予め大きさ及び形状が判明している基準物(22)を複数個配置し、複数の基準物(22)を含めて測定対象物(20)を様々な角度から撮影した画像データ又は位置データをコンピュータ(30)に入力し、基準物(22)の判明している大きさ及び形状をコンピュータ(30)に入力し、コンピュータ(30)は、複数の画像データ又は複数の位置データから測定対象物(20)及び各基準物(22)の点群データを取得し、点群データにおいて、各基準物(22)における入力された大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を基準物として認定し、認定した各基準物が、入力された大きさ及び形状となるように点群データを伸縮させ及び/又はねじれを加えることにより、点群データ全体のスケールを設定する。
Description
本発明は、複数枚の写真やレーザスキャンによる位置データから三次元データを生成した際に、三次元的に正確なスケールを付与する方法及びプログラムに関する。
三次元データの生成については、特許文献1に示すように、測定対象物の周囲から複数枚の写真を撮影し、この複数枚の写真に基づいて点群データを取得する方法が知られている。
特許文献1の画像処理方法によれば、複数のカメラで撮影したデータから点群データを抽出するが、その際カメラの位置、姿勢、焦点距離等のパラメータをカメラパラメータとして取得し、このカメラパラメータに基づいて視点からの距離を設定し、点群データの作成をしている。
特許文献1(特開2018-36897号公報)に示すような方法により点群データを取得したとしても、点群データに正確なスケールを与えることができない。
例えば、特許文献1では観察視点と対象物との間の距離分布を示す距離画像(デプスマップ)を作成しているが、所定の観察視点からの点群データまでの距離を設定するだけであって、取得した点群データ全体を三次元的に設定しているものではない。
このため、正確なスケールを有する三次元データを取得することができなかった。
例えば、特許文献1では観察視点と対象物との間の距離分布を示す距離画像(デプスマップ)を作成しているが、所定の観察視点からの点群データまでの距離を設定するだけであって、取得した点群データ全体を三次元的に設定しているものではない。
このため、正確なスケールを有する三次元データを取得することができなかった。
そこで、本発明は上記課題を解決すべくなされ、その目的とするところは、デジタルカメラによる画像データ又はレーザスキャナによる位置データに基づいて生成された点群データに対して、三次元的に正確なスケールを付与する方法及びプログラムを提供することにある。
本発明にかかる三次元データスケール付与方法によれば、点群データによって構成された三次元データにスケールを付与する方法であって、測定対象物の周囲に、予め大きさ及び形状が判明している基準物を複数個配置し、デジタルカメラによって前記複数の基準物を含めて前記測定対象物を様々な角度から撮影した画像データ、又はレーザスキャナによって前記複数の基準物を含めて前記測定対象物を様々な角度からスキャンニングして取得した位置データをコンピュータに入力し、各基準物の判明している大きさ及び形状をコンピュータに入力し、前記コンピュータは、前記複数の画像データ又は前記複数の位置データから前記測定対象物及び各前記基準物が含まれる点群データを取得し、前記点群データにおいて、各基準物における入力された大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を基準物として認定し、認定した各基準物が、入力された大きさ及び形状となるように点群データを伸縮させ及び/又はねじれを加えることにより、点群データ全体のスケールを設定することを特徴としている。
この構成を採用することによって、予め大きさ及び形状が判明している基準物を複数個測定対象物の周囲に配置して、基準物を含めて測定対象物を撮影し、複数の基準物の大きさ及び形状が、それぞれ予め判明している大きさ及び形状となるように、点群データを最適化することで、点群データ全体に正確なスケールが付与され、スケールが正確な三次元データを生成することができる。
この構成を採用することによって、予め大きさ及び形状が判明している基準物を複数個測定対象物の周囲に配置して、基準物を含めて測定対象物を撮影し、複数の基準物の大きさ及び形状が、それぞれ予め判明している大きさ及び形状となるように、点群データを最適化することで、点群データ全体に正確なスケールが付与され、スケールが正確な三次元データを生成することができる。
また、前記基準物は立方体又は直方体であることを特徴としてもよい。この構成によれば、点群データから基準物を見つけ出すことを比較的容易に行うことができる。
また、前記基準物は、前記測定対象物の周囲に最低2個配置され、各基準物を結ぶ直線上に前記測定対象物が位置していることを特徴としてもよい。
この構成によれば、全ての基準物に対して予め判明している大きさ及び形状となるように空間を最適化したときに、測定対象物も確実に正確なスケールが付与される。
この構成によれば、全ての基準物に対して予め判明している大きさ及び形状となるように空間を最適化したときに、測定対象物も確実に正確なスケールが付与される。
また、前記測定対象物の周囲を囲むように配置した各前記基準物は、前記測定対象物が設置されている面と同一平面以下の位置に配置され、前記測定対象物よりも上方に予め大きさ及び形状が判明している上方基準物を設置することを特徴としてもよい。
この構成によれば、基準物と上方基準物の双方が正確な大きさ及び形状となるように点群データを最適化するので、測定対象物の点群データの高さ方向のスケールもさらに正確なものとすることができる。
この構成によれば、基準物と上方基準物の双方が正確な大きさ及び形状となるように点群データを最適化するので、測定対象物の点群データの高さ方向のスケールもさらに正確なものとすることができる。
本発明にかかる三次元データスケール付与方法によれば、点群データによって構成された三次元データにスケールを付与する方法であって、測定対象物の周囲に、予め大きさ及び形状が判明している構造物が複数設けられている場合において、デジタルカメラによって前記複数の構造物を含めて前記測定対象物を様々な角度から撮影した画像データ、又はレーザスキャナによって前記複数の構造物を含めて前記測定対象物を様々な角度からスキャンニングして取得した位置データをコンピュータに入力し、各構造物の判明している大きさ及び形状をコンピュータに入力し、前記コンピュータは、前記複数の画像データ又は前記複数の位置データから前記測定対象物及び各前記構造物が含まれる点群データを取得し、前記点群データにおいて、各構造物における入力された大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を構造物として認定し、認定した各構造物が、入力された大きさ及び形状となるように点群データを伸縮させ及び/又はねじれを加えることにより、点群データ全体のスケールを設定することを特徴としている。
この構成を採用することによって、予め大きさ及び形状が判明している基準物を複数個測定対象物の周囲に配置しなくても、大きさ及び形状が判明している構造物が測定対象物の周囲に存在していれば、構造物の大きさ及び形状がそれぞれ予め判明している大きさ及び形状となるように、点群データを最適化することで、点群データ全体に正確なスケールが付与され、スケールが正確な三次元データを生成することができる。
この構成を採用することによって、予め大きさ及び形状が判明している基準物を複数個測定対象物の周囲に配置しなくても、大きさ及び形状が判明している構造物が測定対象物の周囲に存在していれば、構造物の大きさ及び形状がそれぞれ予め判明している大きさ及び形状となるように、点群データを最適化することで、点群データ全体に正確なスケールが付与され、スケールが正確な三次元データを生成することができる。
本発明にかかる三次元データスケール付与方法によれば、点群データによって構成された三次元データにスケールを付与する方法であって、測定対象物の周囲に、2つの基準点が同一平面上に表示されており、該基準点の2点間の長さが判明している平面状基準物を複数配置し、デジタルカメラによって前記複数の平面状基準物を含めて前記測定対象物を様々な角度から撮影した画像データ、又はレーザスキャナによって前記複数の平面状基準物を含めて前記測定対象物を様々な角度からスキャンニングして取得した位置データをコンピュータに入力し、各平面状基準物における基準点間の長さをコンピュータに入力し、前記コンピュータは、前記複数の画像データ又は前記複数の位置データから前記測定対象物及び各前記平面状基準物が含まれる点群データを取得し、点群データ中の各前記平面状基準物に表示されている基準点間の長さが、入力された長さとなるように点群データを伸縮させ及び/又はねじれを加えることにより、点群データ全体のスケールを設定することを特徴としている。
この方法によれば、点群データ内で予め大きさ及び形状が判明している基準物を認定する必要がなく、基準点だけ認識できればよいので、入力された大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を基準物として認定する工程が不要となる。したがって、点群データへのスケール設定がより迅速に実行できる。
この方法によれば、点群データ内で予め大きさ及び形状が判明している基準物を認定する必要がなく、基準点だけ認識できればよいので、入力された大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を基準物として認定する工程が不要となる。したがって、点群データへのスケール設定がより迅速に実行できる。
本発明の三次元データスケール付与方法及びプログラムによれば、大規模な機材を用いることなく、点群データに正確なスケールを付与することができる。
以下、デジタルカメラによって測定対象物を撮影し、その画像データに基づいて点群データを取得する実施形態について説明する。なお、本明細書中では点群データのことを三次元データと称する場合もある。
まず、測定対象物の撮影の方法について説明する。図1は測定対象物と基準物の配置状態を示す斜視図であり、図2は測定対象物と基準物の配置状態を示す平面図である。
まず、測定対象物の撮影の方法について説明する。図1は測定対象物と基準物の配置状態を示す斜視図であり、図2は測定対象物と基準物の配置状態を示す平面図である。
測定対象物20は、どのようなものであってもかまわないが、図1、図2では多面体形状を例として挙げている。
作業者は、測定対象物20の周囲に、測定対象物20を取り囲むように複数の基準物22a~22dを設置する。図1、図2に示す例では、測定対象物20の周囲4箇所に立方体の基準物22a~22dを設置している。このことにより、点群データにおいては立方体の各基準物22a~22dで囲まれた内側に測定対象物20が配置されることになる。つまり図2に示すように、各基準物22a~22dの内側(測定対象物側)の任意の点を結ぶ直線で構成される四角形の内側に測定対象物20が配置されるよう、測定対象物20の周囲に各基準物22a~22dを配置する。
作業者は、測定対象物20の周囲に、測定対象物20を取り囲むように複数の基準物22a~22dを設置する。図1、図2に示す例では、測定対象物20の周囲4箇所に立方体の基準物22a~22dを設置している。このことにより、点群データにおいては立方体の各基準物22a~22dで囲まれた内側に測定対象物20が配置されることになる。つまり図2に示すように、各基準物22a~22dの内側(測定対象物側)の任意の点を結ぶ直線で構成される四角形の内側に測定対象物20が配置されるよう、測定対象物20の周囲に各基準物22a~22dを配置する。
基準物を構成する立方体の辺の長さは予め測定されており、図1、図2の左手前の基準物22aの一辺の長さは2.0cm、右手前の基準物22bの一辺の長さは2.1cm、左奥の基準物22cの一辺の長さは2.1cm、右奥の基準物22dの一辺の長さは2.3cmであるとする。
ただし、複数の基準物の辺の長さはすべて同じであってもよい。例えば、複数の基準物全てが、一辺の長さが2.0cmの立方体であってもよい。
ただし、複数の基準物の辺の長さはすべて同じであってもよい。例えば、複数の基準物全てが、一辺の長さが2.0cmの立方体であってもよい。
基準物としては、その形状は立方体に限定するものではない。例えば直方体であってもよいし、他の形状であってもよい。ただし面推定などにより、点群データからその大きさ及び形状を取得できる形状であることが必要である。
次に、作業者はデジタルカメラで測定対象物を様々な角度から、測定対象物20及び複数の基準物22の全周囲をカバーできるように複数枚撮影する。また、撮影は、撮影範囲をオーバーラップさせて行うことが必要である。オーバーラップさせた部分については、後述するようにデータのマッチング処理を行う。
さらに、撮影枚数としては、正確な点群データを取得するためには多いほど良いが、コンピュータにおける処理時間との兼ね合いで作業者が適宜決定する。
さらに、撮影枚数としては、正確な点群データを取得するためには多いほど良いが、コンピュータにおける処理時間との兼ね合いで作業者が適宜決定する。
撮影完了後、作業者は、撮影した画像データをコンピュータに取り込ませる。
また、作業者は、基準物22a~22dの大きさ及び形状(本実施形態では各基準物は立方体であるので、立方体であること及び各基準物における一辺の長さ)をコンピュータに入力する作業を行う。この作業は、三次元データスケール付与プログラムの実行前であればいつでも良い。
また、作業者は、基準物22a~22dの大きさ及び形状(本実施形態では各基準物は立方体であるので、立方体であること及び各基準物における一辺の長さ)をコンピュータに入力する作業を行う。この作業は、三次元データスケール付与プログラムの実行前であればいつでも良い。
次に、コンピュータ内の動作について図3に基づいて説明する。図3は、コンピュータの内部構成の概略を示すブロック図である。
コンピュータは、一般的なパーソナルコンピュータを採用することができる。コンピュータ30としては、内部に制御部32と記憶装置34を有している。制御部32は、中央処理演算装置(CPU等)、メモリ(ROM、RAM)等を含み、コンピュータ30の全体動作を制御するとともに、記憶装置34に記憶されている各プログラムに基づく機能を実行制御する。
また、コンピュータ30は、GPUを備えたグラフィックボードを搭載していてもよい。
コンピュータは、一般的なパーソナルコンピュータを採用することができる。コンピュータ30としては、内部に制御部32と記憶装置34を有している。制御部32は、中央処理演算装置(CPU等)、メモリ(ROM、RAM)等を含み、コンピュータ30の全体動作を制御するとともに、記憶装置34に記憶されている各プログラムに基づく機能を実行制御する。
また、コンピュータ30は、GPUを備えたグラフィックボードを搭載していてもよい。
記憶装置34は、ハードディスクドライブやSSD等から構成されている。記憶装置34は、撮影した画像データが記憶されるほか、点群データ生成プログラムP1と、三次元データスケール付与プログラムP2が予め記憶されている。
点群データ生成プログラムP1は、公知のプログラムを用いることができる。点群データ生成プログラムP1は、図4に示すような動作を実行する。ただし、ここで示す点群データ生成プログラムP1は、後述する三次元データスケール付与プログラムP2と一体となった1つのプログラムであってもよい。
点群データ生成プログラムP1は、公知のプログラムを用いることができる。点群データ生成プログラムP1は、図4に示すような動作を実行する。ただし、ここで示す点群データ生成プログラムP1は、後述する三次元データスケール付与プログラムP2と一体となった1つのプログラムであってもよい。
コンピュータ30は、さらにマウスやキーボード等から構成される入力装置36と、点群データ生成プログラムP1によって生成された点群データを表示するモニタ38を備えている。
次に点群データ生成プログラムの動作概略を図4に基づいて説明する。
点群データ生成プログラムは、実行開始されると、取り込んだ複数の画像データから複数の特徴点を抽出する(S101)。特徴点としては、他の箇所と色彩や形状が異なっている個所などを多く抽出する。
点群データ生成プログラムは、実行開始されると、取り込んだ複数の画像データから複数の特徴点を抽出する(S101)。特徴点としては、他の箇所と色彩や形状が異なっている個所などを多く抽出する。
次に、点群データ生成プログラムは、複数の画像データの特徴同士をマッチングさせるマッチング処理を実行する(S102)。マッチング処理によって複数の画像データが点群データとして生成される。
なお、点群データ生成プログラムは、マッチング処理までの間にカメラパラメータ等の入力による行列演算により、点群データが相対的に正しい位置となるように点群データを生成してもよい。
ちなみに既存の点群データ生成プログラムとして、画像データから点群データを生成するStructure from Motion(SfM)やMulti-View Stereo(MVS)と呼ばれるソフトウェアが知られている。
なお、点群データ生成プログラムは、マッチング処理までの間にカメラパラメータ等の入力による行列演算により、点群データが相対的に正しい位置となるように点群データを生成してもよい。
ちなみに既存の点群データ生成プログラムとして、画像データから点群データを生成するStructure from Motion(SfM)やMulti-View Stereo(MVS)と呼ばれるソフトウェアが知られている。
点群データ生成後に、三次元データスケール付与プログラムが実行される。
上述したように、三次元データスケール付与プログラムの実行前までに、作業者は、基準物の大きさ及び形状をコンピュータに入力する作業を行っておく。
図1に示した視点からの例の場合では、作業者は、各基準物は全て立方体であることを入力するとともに、左手前の基準物の一辺の長さは2.0cm、右手前の基準物の一辺の長さは2.1cm、左奥の基準物の一辺の長さは2.1cm、右奥の基準物の一辺の長さは2.3cmという数値を、入力しておく。
上述したように、三次元データスケール付与プログラムの実行前までに、作業者は、基準物の大きさ及び形状をコンピュータに入力する作業を行っておく。
図1に示した視点からの例の場合では、作業者は、各基準物は全て立方体であることを入力するとともに、左手前の基準物の一辺の長さは2.0cm、右手前の基準物の一辺の長さは2.1cm、左奥の基準物の一辺の長さは2.1cm、右奥の基準物の一辺の長さは2.3cmという数値を、入力しておく。
三次元データスケール付与プログラムの動作を、図5に基づいて説明する。
三次元データスケール付与プログラムは、最初に点群データの中から基準物を見つけ出す機能を実行する(ステップS201)。
基準物の大きさ及び形状は、上記のように予め作業者が入力しており、点群データの中から基準物を見つけ出す機能は、本実施形態では一辺2.0cm、2.1cm、2.3cmの立方体を見つけ出すことになる。ただし、この時点(点群データの中から基準物を見つけ出す際)では、点群データに正確なスケールが与えられているわけではないので、基準物と思われる物体が、入力された値通りの立方体ではなく、例えば、一辺が2.0cmだが他の辺が2.1cmであったり、立方体の面が正方形ではなく台形であったりする。
三次元データスケール付与プログラムは、最初に点群データの中から基準物を見つけ出す機能を実行する(ステップS201)。
基準物の大きさ及び形状は、上記のように予め作業者が入力しており、点群データの中から基準物を見つけ出す機能は、本実施形態では一辺2.0cm、2.1cm、2.3cmの立方体を見つけ出すことになる。ただし、この時点(点群データの中から基準物を見つけ出す際)では、点群データに正確なスケールが与えられているわけではないので、基準物と思われる物体が、入力された値通りの立方体ではなく、例えば、一辺が2.0cmだが他の辺が2.1cmであったり、立方体の面が正方形ではなく台形であったりする。
そこで、三次元データスケール付与プログラムにおける、点群データの中から基準物を見つけ出す機能は、予め入力された基準物の大きさ及び形状(本実施形態では立方体の一辺の長さの値)に対する所定の誤差範囲を予め決めておき、点群データ上で誤差範囲に含まれる範囲の辺の長さを有する物体を、基準物として認定する(ステップS201)。
例えば、基準物が立方体の場合に、点群データ上での一辺の長さが、入力した実際の一辺の長さの±5~10%未満であれば、当該基準物として認定するようにする。
例えば、基準物が立方体の場合に、点群データ上での一辺の長さが、入力した実際の一辺の長さの±5~10%未満であれば、当該基準物として認定するようにする。
なお、三次元データスケール付与プログラムにおける、点群データの中から基準物を見つけ出す機能は、図6に示すように、面推定により基準物の立方体の頂点(角)を自動的に検出することにより行われる。図6に示しているのは、平面推定機能の概略説明図であり、三次元データスケール付与プログラムの一機能として平面推定機能が設けられている。平面推定機能を用いずに立方体の頂点を決定しようとする場合、図6の左図のように作業者がモニタ38で目視に基づいて立方体の頂点を決定しようとするとどうしても正確な頂点を決定できない。
平面推定機能は、公知の技術であるが、三次元データスケール付与プログラムにおいては、多数の点群データから基準物において隣接する3つの面を求めることに応用している。
本実施形態の平面推定機能は、図6の右図に示すように点群データにおける各点が配置される平面を3面推定する。3つの平面が正確に推定できると、3つの面の交点としての頂点が正確に割り出される。そして平面推定機能は、各頂点を結ぶ直線を、基準物を構成する一辺とすることができる。そして、後述するようにこの直線の距離が、先に入力された基準物の辺の長さとなるように点群データを最適化するのである。
平面推定機能は、公知の技術であるが、三次元データスケール付与プログラムにおいては、多数の点群データから基準物において隣接する3つの面を求めることに応用している。
本実施形態の平面推定機能は、図6の右図に示すように点群データにおける各点が配置される平面を3面推定する。3つの平面が正確に推定できると、3つの面の交点としての頂点が正確に割り出される。そして平面推定機能は、各頂点を結ぶ直線を、基準物を構成する一辺とすることができる。そして、後述するようにこの直線の距離が、先に入力された基準物の辺の長さとなるように点群データを最適化するのである。
次に、三次元データスケール付与プログラムは、点群データの中から見つけ出した全ての基準物に対して、予め入力された大きさ及び形状となるように点群データを最適化する機能を実行する(ステップS202)。
具体的には、三次元データスケール付与プログラムの点群データの最適化機能は、見つけ出された全ての基準物が、実際のスケールとなるように点群データを伸縮させ、及び/又はねじれを加える機能を実行する。点群データを伸縮させ、及び/又はねじれを加える機能の具体例としては、アフィン変換を挙げることができる。アフィン変換は、コンピュータグラフィックスにおいて図形を拡大、縮小、回転、平行移動、せん断させる公知の手法である。したがって、三次元データスケール付与プログラムの点群データの最適化機能は、アフィン変換を採用して実行することができる。
具体的には、三次元データスケール付与プログラムの点群データの最適化機能は、見つけ出された全ての基準物が、実際のスケールとなるように点群データを伸縮させ、及び/又はねじれを加える機能を実行する。点群データを伸縮させ、及び/又はねじれを加える機能の具体例としては、アフィン変換を挙げることができる。アフィン変換は、コンピュータグラフィックスにおいて図形を拡大、縮小、回転、平行移動、せん断させる公知の手法である。したがって、三次元データスケール付与プログラムの点群データの最適化機能は、アフィン変換を採用して実行することができる。
つまり、図1に示した本実施形態のような基準物においては、左手前の基準物は一辺の長さが2.0cmの立方体、右手前の基準物は一辺の長さが2.1cmの立方体、左奥の基準物は一辺の長さが2.1cmの立方体、右奥の基準物は一辺の長さが2.3cmの立方体となるように、点群データ全体の伸縮を実行し、必要であればさらにねじれを実行する。このようにすることで点群データから構成される三次元空間全体に正確なスケールを付与することができる。
例として、点群データ上の所定の基準物に対してスケールを設定した例を図7の図面に示す。
図7の例では、周囲4箇所に立方体の基準物を配置し、測定対象物は中心に位置する直方体状の物体及び直方体の物体の右側に位置する細長い棒状の物体であるとする。これらの測定対象物の周囲4箇所に立方体の基準物を配置し、さらに直方体の測定対象物の上面にも立方体の基準物を配置している。つまりこの例では5つの基準物を配置している。
図7の例では、周囲4箇所に立方体の基準物を配置し、測定対象物は中心に位置する直方体状の物体及び直方体の物体の右側に位置する細長い棒状の物体であるとする。これらの測定対象物の周囲4箇所に立方体の基準物を配置し、さらに直方体の測定対象物の上面にも立方体の基準物を配置している。つまりこの例では5つの基準物を配置している。
図7では、左手前の基準物に対してのみスケールを付与したが、この場合では、あくまで1個の基準物に対して正確なスケールが設定されただけであり、測定対象物及び他の基準物に対してスケールが設定されたものではない。
1個の基準物に対してスケールを設定すると、基準物及びその周辺の三次元空間は正確なスケールとなるが、スケールを設定した基準物から離れた三次元空間ではいまだ不正確なスケールとなっている。このように、正確なスケールが付与されていない測定対象物及び他の基準物に対して、図7では、色が薄い状態で示している。また、図7では、色が薄い状態の測定対象物及び他の基準物に隣接して、色が濃い状態の測定対象物及び他の基準物が表示されているが、これが本来のスケールであって比較のために図7ではあえて表示している。
1個の基準物に対してスケールを設定すると、基準物及びその周辺の三次元空間は正確なスケールとなるが、スケールを設定した基準物から離れた三次元空間ではいまだ不正確なスケールとなっている。このように、正確なスケールが付与されていない測定対象物及び他の基準物に対して、図7では、色が薄い状態で示している。また、図7では、色が薄い状態の測定対象物及び他の基準物に隣接して、色が濃い状態の測定対象物及び他の基準物が表示されているが、これが本来のスケールであって比較のために図7ではあえて表示している。
この図7に示すように、1個の基準物にスケールを付与しただけでは、この基準物から離れた箇所では全く正確なスケールとなっていないことがわかる。
そこで、三次元データスケール付与プログラムは、点群データ内の全ての基準物に対して、予め判明しているそれぞれのスケール(予め入力された辺の長さ)を同時に設定する。言い換えると、三次元データスケール付与プログラムは、各基準物の辺の長さが全て同時に予め入力された長さとなるように、三次元空間を最適化する作業を実行する。
そこで、三次元データスケール付与プログラムは、点群データ内の全ての基準物に対して、予め判明しているそれぞれのスケール(予め入力された辺の長さ)を同時に設定する。言い換えると、三次元データスケール付与プログラムは、各基準物の辺の長さが全て同時に予め入力された長さとなるように、三次元空間を最適化する作業を実行する。
三次元空間を最適化するというのはどういうことかというと、点群データ生成プログラムによって生成された点群データにはそもそもスケールが存在しておらず、撮影された各点の位置が合成されてプロットされているだけである。
そこで、このような点群データにおいて、例えば図7のように全て(5つ)の基準物の一辺が予め判明している長さとなるように点群データの仮想空間においてスケールを設定するという作業を実行することになる。
そこで、このような点群データにおいて、例えば図7のように全て(5つ)の基準物の一辺が予め判明している長さとなるように点群データの仮想空間においてスケールを設定するという作業を実行することになる。
このように、基準物の辺の長さが予め判明している長さとなるように三次元空間を最適化すると、図8に示すように、色が薄い状態の測定対象物及び他の基準物と、色が濃い状態の測定対象物及び他の基準物が一致し、点群データに正確なスケールが付与されたことがわかる。
なお、図7、図8に示した例では測定対象物の上面にも基準物(特許請求の範囲でいう上方基準物)を配置した。このことにより、測定対象物の高さ方向にも正確なスケールが付与される。
このような測定対象物の上方へ配置される基準物の実施形態について、図9、図10に基づいて説明する。
図9、図10では、多面体である測定対象物25に対して、4個の立方体の基準物26a、26b、26c、26dによって測定対象物25全体が包囲されるように配置している。
このような測定対象物の上方へ配置される基準物の実施形態について、図9、図10に基づいて説明する。
図9、図10では、多面体である測定対象物25に対して、4個の立方体の基準物26a、26b、26c、26dによって測定対象物25全体が包囲されるように配置している。
図9、図10で示す4個の立方体の基準物26a、26b、26c、26dは、四面体を構成するように立体的に配置され、四面体のほぼ中心に測定対象物25が位置している。
また、四面体を構成する基準物のうち、基準物26a、26b、26cは、測定対象物25よりも下方に配置されており、基準物26dは測定対象物25よりも上方に配置されている。
また、四面体を構成する基準物のうち、基準物26a、26b、26cは、測定対象物25よりも下方に配置されており、基準物26dは測定対象物25よりも上方に配置されている。
このように、測定対象物の周囲に配置する複数の基準物のうち、いずれかを測定対象物の設置面と同一平面以下(測定対象物の設置面と同一平面か又はそれよりの下方の面)に配置し、別のいずれかを測定対象物よりも上方に配置することにより、各基準物を頂点とする空間内に測定対象物全体を位置させることができる。このため、測定対象物の縦方向、横方向だけでなく高さ方向についても正確なスケールを付与することができる。
ちなみに、図9、図10では測定対象物25及び上方の基準物26dは空中に浮いた状態で図示しているが、実際には台などを設置し、台の上にこれらを設置することになる。
上述してきた各実施形態のように、測定対象物の周囲に配置する複数の基準物は、測定対象物を内側に包括できるのであればどのような場所、どのような角度で設置してもよい。
つまり、点群データに直交座標系の正確なスケールを付与しようとする場合、複数の基準物を完全水平面に、直交座標系のX軸、Y軸、Z軸に合わせた角度で設置し、基準物同士の距離を正確に測定する必要がある。しかし、本発明によれば、基準物の設置についてもどのように配置してもよいので、面倒な手間をかけずに正確なスケールを三次元データに付与できる。
つまり、点群データに直交座標系の正確なスケールを付与しようとする場合、複数の基準物を完全水平面に、直交座標系のX軸、Y軸、Z軸に合わせた角度で設置し、基準物同士の距離を正確に測定する必要がある。しかし、本発明によれば、基準物の設置についてもどのように配置してもよいので、面倒な手間をかけずに正確なスケールを三次元データに付与できる。
(第2の実施形態)
上述してきた実施形態は、測定対象物の周囲に予め大きさ及び形状が判明している基準物を配置して点群データを取得するものであった。以下に説明する実施形態では、測定対象物の周囲に基準物を設置するのではなく、測定対象物の周囲に大きさ及び形状が判明している構造物が設けられている場合には、この構造物を基準物の代わりに用いるというものである。
上述してきた実施形態は、測定対象物の周囲に予め大きさ及び形状が判明している基準物を配置して点群データを取得するものであった。以下に説明する実施形態では、測定対象物の周囲に基準物を設置するのではなく、測定対象物の周囲に大きさ及び形状が判明している構造物が設けられている場合には、この構造物を基準物の代わりに用いるというものである。
図11に、測定対象物の周囲に構造物が設けられている一例を示す。
ここで測定対象物20は室内のテーブル40の上に配置されているものとする。そして、室内には、テレビやコンピュータなどに用いるモニタ42が設けられ、壁面には窓44が設けられている。
テーブル40の天板45は長方形であるとし、その辺の長さを測定すれば、測定対象物20の設置面と同一平面における基準として用いることができる。
また、モニタ42は、正面から見て長方形状であり、テーブル40の天板45よりも上方に配置されている。このモニタ42の辺の長さを測定すれば、測定対象物20よりも上方の基準として用いることができる。
また、窓44も正面から見て窓枠全体が長方形状であり、テーブル40の天板45よりも上方に配置されている。この窓44の辺の長さを測定すれば、測定対象物20よりも上方の基準として用いることができる。
ここで測定対象物20は室内のテーブル40の上に配置されているものとする。そして、室内には、テレビやコンピュータなどに用いるモニタ42が設けられ、壁面には窓44が設けられている。
テーブル40の天板45は長方形であるとし、その辺の長さを測定すれば、測定対象物20の設置面と同一平面における基準として用いることができる。
また、モニタ42は、正面から見て長方形状であり、テーブル40の天板45よりも上方に配置されている。このモニタ42の辺の長さを測定すれば、測定対象物20よりも上方の基準として用いることができる。
また、窓44も正面から見て窓枠全体が長方形状であり、テーブル40の天板45よりも上方に配置されている。この窓44の辺の長さを測定すれば、測定対象物20よりも上方の基準として用いることができる。
さらに、図11の紙面に対して垂直方向の手前側にも構造物が配置されていることが好ましい。紙面垂直方向手前側の構造物と、テーブル40と、モニタ42と、窓44とを合わせて測定対象物の周囲に配置された基準物の代わりとすることができる。
なお、これらの構造物は、測定対象物20の周囲を囲むように配置され、大きさと形状が分かるものであればどのようなものであってもよい。
例えば、構造部としては、壁面にかけられたポスターやカレンダー、壁面につけられている模様、棚、などを採用することができる。
なお、これらの構造物は、測定対象物20の周囲を囲むように配置され、大きさと形状が分かるものであればどのようなものであってもよい。
例えば、構造部としては、壁面にかけられたポスターやカレンダー、壁面につけられている模様、棚、などを採用することができる。
本実施形態では、作業者はデジタルカメラで測定対象物を様々な角度から、測定対象物20及び複数の構造物40、42、44の全周囲をカバーできるように複数枚撮影する。また、撮影は、撮影範囲をオーバーラップさせて行うことが必要である。撮影された画像データはコンピュータに取り込み、点群データ生成プログラムによって点群データが生成される。オーバーラップさせた部分については、コンピュータにおいてデータのマッチング処理が行われ、点群データが生成される。
作業者は、テーブル40、モニタ42、窓44の形状及び一辺の長さをコンピュータに入力する。
そして、三次元データスケール付与プログラムが、点群データの中から構造物を見つけ出す機能を実行する。
構造物の大きさ及び形状は、上記のように予め作業者が入力しており、入力されたデータに基づいて点群データの中から構造物を見つけ出す。
なお、上述した実施形態と同様に、三次元データスケール付与プログラムにおける、点群データの中から構造物を見つけ出す機能は、予め入力された構造物の大きさ及び形状に対する所定の誤差範囲を予め決めておき、点群データ上で誤差範囲に含まれる範囲の物体を、構造物として認定する。
そして、三次元データスケール付与プログラムが、点群データの中から構造物を見つけ出す機能を実行する。
構造物の大きさ及び形状は、上記のように予め作業者が入力しており、入力されたデータに基づいて点群データの中から構造物を見つけ出す。
なお、上述した実施形態と同様に、三次元データスケール付与プログラムにおける、点群データの中から構造物を見つけ出す機能は、予め入力された構造物の大きさ及び形状に対する所定の誤差範囲を予め決めておき、点群データ上で誤差範囲に含まれる範囲の物体を、構造物として認定する。
なお、三次元データスケール付与プログラムにおける、点群データの中から構造物を見つけ出す機能は、上述した実施形態と同様に、面推定により基準物の立方体の頂点(角)を自動的に検出する平面推定機能を採用してもよい。
次に、三次元データスケール付与プログラムは、点群データの中から見つけ出した全ての構造物に対して、予め入力された大きさ及び形状となるように点群データを最適化する機能を実行する。この最適化の機能は、上述した実施形態と同様に、アフィン変換による点群データの伸縮を実行し、必要であればさらにねじれを実行する。
このように、基準物を設置しなくても、測定対象物の周囲に存在する構造物を基準とすることで点群データから構成される三次元空間全体に正確なスケールを付与することができる。
このように、基準物を設置しなくても、測定対象物の周囲に存在する構造物を基準とすることで点群データから構成される三次元空間全体に正確なスケールを付与することができる。
なお、構造物としては、図11のように屋内の物体に限定するものではない。屋外であれば、大きさが分かる建物、ブロック塀などの構造物が測定対象物の周囲に配置されていれば、この構造物を基準物の代わりとして用いることもできる。
(第3の実施形態)
次に、基準物として平面状基準物を用いた実施形態について説明する。なお、上述してきた実施形態と同一の構成要素については同一の符号を付し、説明を省略する場合もある。
本実施形態では、図12に示すような平面状基準物を採用する。図12では、3つの平面状基準物50を示している。この平面状基準物50は、例えば紙やプラスチック板で構成された薄い長方形状であり、中心に白丸が形成されている黒丸が、所定距離離れて2つ形成されている。黒丸中心の白丸が基準点となる。以下、基準点が中心に形成された黒丸をマーカー52と称して説明する。
2つのマーカー52の基準点どうしの間の距離(白丸間の距離)は、平面状基準物50を作成する際に予め設定しておく。例えば、基準点間距離を10cmなどに設定することができる。
次に、基準物として平面状基準物を用いた実施形態について説明する。なお、上述してきた実施形態と同一の構成要素については同一の符号を付し、説明を省略する場合もある。
本実施形態では、図12に示すような平面状基準物を採用する。図12では、3つの平面状基準物50を示している。この平面状基準物50は、例えば紙やプラスチック板で構成された薄い長方形状であり、中心に白丸が形成されている黒丸が、所定距離離れて2つ形成されている。黒丸中心の白丸が基準点となる。以下、基準点が中心に形成された黒丸をマーカー52と称して説明する。
2つのマーカー52の基準点どうしの間の距離(白丸間の距離)は、平面状基準物50を作成する際に予め設定しておく。例えば、基準点間距離を10cmなどに設定することができる。
なお、図12に示す平面状基準物には、マーカー52の周囲に円弧状の形状が複数形成されている。これは、マーカーであることを認識させるためと、基準物の固有番号を認識させるための両方の意味がある。以下、この円弧状の形状を識別部54と称する。
もし、識別部54が無い場合には、マーカー52は単なる黒丸であり、三次元データスケール付与プログラムが、このマーカー52の中心の白丸を基準点であると認識することが難しい場合がある。例えば、他に円形の箇所(車両のタイヤ等)があればその箇所をマーカーとして誤認識してしまう可能性もある。
そこで、マーカー52の周囲にさらに円弧状の形状の識別部54を配置し、この識別部54を含む形状を基準物であるとして三次元データスケール付与プログラムに予め認識させておくことにより、点群データ生成プログラムによって生成された点群データにおいて、識別部54を認識することでマーカー52の中心にある白丸が基準点であるということを認識することができる。
もし、識別部54が無い場合には、マーカー52は単なる黒丸であり、三次元データスケール付与プログラムが、このマーカー52の中心の白丸を基準点であると認識することが難しい場合がある。例えば、他に円形の箇所(車両のタイヤ等)があればその箇所をマーカーとして誤認識してしまう可能性もある。
そこで、マーカー52の周囲にさらに円弧状の形状の識別部54を配置し、この識別部54を含む形状を基準物であるとして三次元データスケール付与プログラムに予め認識させておくことにより、点群データ生成プログラムによって生成された点群データにおいて、識別部54を認識することでマーカー52の中心にある白丸が基準点であるということを認識することができる。
また、マーカー52のそれぞれの周囲に配置された識別部54は、全て異なる形状にしている。
例えば、図12には、平面状基準物50の例を3つ記載しており、1つの平面状基準物50には2つのマーカー52が形成されている。1つの平面状基準物においても2箇所の識別部54はそれぞれ異なる円弧長のものが同じ個数か又は異なる個数配置されている。
また、ある平面状基準物50と、他の平面状基準物50とでは、形成されている識別部54が全て異なっている。
つまり、平面状基準物50に形成される識別部54は、全て異なる形状を有しており、1つ1つのマーカー52を識別できるようにしている。
例えば、図12には、平面状基準物50の例を3つ記載しており、1つの平面状基準物50には2つのマーカー52が形成されている。1つの平面状基準物においても2箇所の識別部54はそれぞれ異なる円弧長のものが同じ個数か又は異なる個数配置されている。
また、ある平面状基準物50と、他の平面状基準物50とでは、形成されている識別部54が全て異なっている。
つまり、平面状基準物50に形成される識別部54は、全て異なる形状を有しており、1つ1つのマーカー52を識別できるようにしている。
すなわち、測定対象物の周囲に複数の平面状基準物50を配置し、三次元データスケール付与プログラムが、1つの平面状基準物50内の基準点間の距離が予め入力しておいた距離となるように点群データを最適化する機能(アフィン変換)を実行する際に、複数の基準点が存在する場合にどの基準点同士を結んで、予め入力された距離を設定するのかが判別できなくなるおそれがある。
そこで、例えば図12の一番上の平面状基準物50の左側のマーカー52の識別番号を1(これをマーカー1とする)、右側のマーカー52の識別番号を2とし(これをマーカー2とする)、マーカー1の基準点とマーカー2の基準点を結ぶ直線を10cmとすれば、三次元データスケール付与プログラムは識別部54の形状によってマーカー1とマーカー2を判別し、マーカー1とマーカー2の基準点間の距離を設定することができる。
そこで、例えば図12の一番上の平面状基準物50の左側のマーカー52の識別番号を1(これをマーカー1とする)、右側のマーカー52の識別番号を2とし(これをマーカー2とする)、マーカー1の基準点とマーカー2の基準点を結ぶ直線を10cmとすれば、三次元データスケール付与プログラムは識別部54の形状によってマーカー1とマーカー2を判別し、マーカー1とマーカー2の基準点間の距離を設定することができる。
また、例えば図12の中央の平面状基準物50の左側のマーカー52の識別番号を3、右側のマーカー52の識別番号を4とし、マーカー3の基準点とマーカー4の基準点を結ぶ直線を10cmとすれば、三次元データスケール付与プログラムは識別部54の形状によってマーカー3とマーカー4を判別し、マーカー3とマーカー4の基準点間の距離を設定することができる。
図13に示す実施形態では、測定対象物20の周囲に3つの平面状基準物50が配置されている。
作業者はデジタルカメラで測定対象物を様々な角度から、測定対象物20及び複数の平面基準物40の全周囲をカバーできるように複数枚撮影する。また、撮影は、撮影範囲をオーバーラップさせて行うことが必要である。撮影された画像データはコンピュータに取り込み、点群データ生成プログラムによって点群データが生成される。オーバーラップさせた部分については、コンピュータにおいてデータのマッチング処理が行われ、点群データが生成される。
作業者はデジタルカメラで測定対象物を様々な角度から、測定対象物20及び複数の平面基準物40の全周囲をカバーできるように複数枚撮影する。また、撮影は、撮影範囲をオーバーラップさせて行うことが必要である。撮影された画像データはコンピュータに取り込み、点群データ生成プログラムによって点群データが生成される。オーバーラップさせた部分については、コンピュータにおいてデータのマッチング処理が行われ、点群データが生成される。
作業者は、各マーカー52の識別部54を含む形状をコンピュータに読み取らせ、識別部54の相違によって全てのマーカーに対して識別番号を付与する。そして1枚の平面状基準物50に存在する2つのマーカー52の基準点間の距離を入力する。基準点間の距離は、設定された識別番号同士の距離として設定する。
そして、三次元データスケール付与プログラムが、点群データの中から平面状基準物50を見つけ出す機能を実行する。
平面状基準物に形成されているマーカー52は識別部54によってそれぞれ特有の形状として設定されているので、三次元データスケール付与プログラムは識別番号とともにマーカー52を認識することができる。
平面状基準物に形成されているマーカー52は識別部54によってそれぞれ特有の形状として設定されているので、三次元データスケール付与プログラムは識別番号とともにマーカー52を認識することができる。
次に、三次元データスケール付与プログラムは、点群データの中から見つけ出した各マーカーの基準点に対して、1つの平面状基準物50内で対となっている基準点間の距離が予め入力された距離となるように、点群データを最適化する機能を実行する。
例えば、識別番号1~6までのマーカー52を三次元データスケール付与プログラムが認識したとして、作業者が予め識別番号1と2の基準点間の距離、識別番号3と4の基準点間の距離、識別番号5と6の基準点間の距離を入力していた場合には、三次元データスケール付与プログラムは識別番号1と2の基準点間の距離、識別番号3と4の基準点間の距離、識別番号5と6の基準点間の距離がそれぞれ入力した距離となるように点群データを最適化する。この最適化の機能は、上述した実施形態と同様に、アフィン変換による点群データの伸縮を実行し、必要であればさらにねじれを実行する。
例えば、識別番号1~6までのマーカー52を三次元データスケール付与プログラムが認識したとして、作業者が予め識別番号1と2の基準点間の距離、識別番号3と4の基準点間の距離、識別番号5と6の基準点間の距離を入力していた場合には、三次元データスケール付与プログラムは識別番号1と2の基準点間の距離、識別番号3と4の基準点間の距離、識別番号5と6の基準点間の距離がそれぞれ入力した距離となるように点群データを最適化する。この最適化の機能は、上述した実施形態と同様に、アフィン変換による点群データの伸縮を実行し、必要であればさらにねじれを実行する。
このように、予め距離が判明している2つの基準点が形成された平面状基準物において、基準点間の距離を予め入力しておくことにより、プログラム上で面推定によって基準物の頂点を認識する作業をしなくてもよいため、プログラムの動作短縮を図ることができる。
なお、平面状基準物50を、図13に示すように測定対象物20の周囲に存在する壁面に貼り付けることにより、測定対象物に対する高さ方向のスケールも付与することができる。
なお、上述してきた各実施形態では、デジタルカメラで撮影した複数の画像データに基づいて点群データを生成した例を説明した。
しかし、本発明における点群データの生成はレーザスキャナによって得られた位置データに基づいてもよい。
しかし、本発明における点群データの生成はレーザスキャナによって得られた位置データに基づいてもよい。
Claims (12)
- 点群データによって構成された三次元データにスケールを付与する方法であって、
測定対象物の周囲に、予め大きさ及び形状が判明している基準物を複数個配置し、
デジタルカメラによって前記複数の基準物を含めて前記測定対象物を様々な角度から撮影した画像データ、又はレーザスキャナによって前記複数の基準物を含めて前記測定対象物を様々な角度からスキャンニングして取得した位置データをコンピュータに入力し、
各基準物の判明している大きさ及び形状をコンピュータに入力し、
前記コンピュータは、
前記複数の画像データ又は前記複数の位置データから前記測定対象物及び各前記基準物が含まれる点群データを取得し、
前記点群データにおいて、各基準物における入力された大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を基準物として認定し、
認定した各基準物が、入力された大きさ及び形状となるように点群データを伸縮させ及び/又はねじれを加えることにより、点群データ全体のスケールを設定することを特徴とする三次元データスケール付与方法。 - 前記基準物は立方体又は直方体であることを特徴とする請求項1記載の三次元データスケール付与方法。
- 前記基準物は、前記測定対象物の周囲に最低2個配置され、各基準物を結ぶ直線上に前記測定対象物が位置していることを特徴とする請求項1又は請求項2記載の三次元データスケール付与方法。
- 前記測定対象物の周囲を囲むように配置した各前記基準物は、前記測定対象物が設置されている面と同一平面以下の位置に配置され、
前記測定対象物よりも上方に予め大きさ及び形状が判明している上方基準物を設置することを特徴とする請求項1~3のうちのいずれか1項記載の三次元データスケール付与方法。 - コンピュータ内で点群データによって構成された三次元データにスケールを付与するプログラムであって、
測定対象物の周囲に、予め大きさ及び形状が判明している基準物を複数個配置してデジタルカメラによって前記複数の基準物を含めて前記測定対象物を様々な角度から撮影した画像データ、又は測定対象物の周囲に、予め大きさ及び形状が判明している基準物を複数個配置してレーザスキャナによって前記複数の基準物を含めて前記測定対象物をスキャンニングして取得した位置データから前記測定対象物及び各前記基準物の点群データを取得した後の点群データにおいて、各基準物における判明している大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を基準物として認定する機能と、
認定した各基準物が、入力された大きさ及び形状となるように点群データを伸縮させ及び/又はねじれを加えることにより、点群データ全体のスケールを設定する機能と、をコンピュータに実行させることを特徴とする三次元データスケール付与プログラム。 - 前記基準物は立方体又は直方体であることを特徴とする請求項5記載の三次元データスケール付与プログラム。
- 前記基準物は、前記測定対象物の周囲に最低2個配置され、各基準物を結ぶ直線上に前記測定対象物が位置しているこることを特徴とする請求項5又は請求項6記載の三次元データスケール付与プログラム。
- 前記測定対象物の周囲を囲むように配置した各前記基準物は、前記測定対象物が設置されている面と同一平面以下の位置に配置され、
前記測定対象物よりも上方に予め大きさ及び形状が判明している上方基準物を設置することを特徴とする請求項5~7のうちのいずれか1項記載の三次元データスケール付与プログラム。 - 点群データによって構成された三次元データにスケールを付与する方法であって、
測定対象物の周囲に、予め大きさ及び形状が判明している構造物が複数設けられている場合において、デジタルカメラによって前記複数の構造物を含めて前記測定対象物を様々な角度から撮影した画像データ、又はレーザスキャナによって前記複数の構造物を含めて前記測定対象物を様々な角度からスキャンニングして取得した位置データをコンピュータに入力し、
各構造物の判明している大きさ及び形状をコンピュータに入力し、
前記コンピュータは、
前記複数の画像データ又は前記複数の位置データから前記測定対象物及び各前記構造物が含まれる点群データを取得し、
前記点群データにおいて、各構造物における入力された大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を構造物として認定し、
認定した各構造物が、入力された大きさ及び形状となるように点群データを伸縮させ及び/又はねじれを加えることにより、点群データ全体のスケールを設定することを特徴とする三次元データスケール付与方法。 - コンピュータ内で点群データによって構成された三次元データにスケールを付与するプログラムであって、
測定対象物の周囲に、予め大きさ及び形状が判明している構造物が複数設けられている場合において、デジタルカメラによって前記複数の構造物を含めて前記測定対象物を様々な角度から撮影した画像データ、又は測定対象物の周囲に、予め大きさ及び形状が判明している構造物が複数設けられてレーザスキャナによって前記複数の構造物を含めて前記測定対象物をスキャンニングして取得した位置データから前記測定対象物及び各前記構造物の点群データを取得した後の点群データにおいて、各構造物における判明している大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を構造物として認定する機能と、
認定した各構造物が、入力された大きさ及び形状となるように点群データを伸縮させ及び/又はねじれを加えることにより、点群データ全体のスケールを設定する機能と、をコンピュータに実行させることを特徴とする三次元データスケール付与プログラム。 - 点群データによって構成された三次元データにスケールを付与する方法であって、
測定対象物の周囲に、2つの基準点が同一平面上に表示されており、該基準点の2点間の長さが判明している平面状基準物を複数配置し、
デジタルカメラによって前記複数の平面状基準物を含めて前記測定対象物を様々な角度から撮影した画像データ、又はレーザスキャナによって前記複数の平面状基準物を含めて前記測定対象物を様々な角度からスキャンニングして取得した位置データをコンピュータに入力し、
各平面状基準物における基準点間の長さをコンピュータに入力し、
前記コンピュータは、
前記複数の画像データ又は前記複数の位置データから前記測定対象物及び各前記平面状基準物が含まれる点群データを取得し、
点群データ中の各前記平面状基準物に表示されている基準点間の長さが、入力された長さとなるように点群データを伸縮させ及び/又はねじれを加えることにより、点群データ全体のスケールを設定することを特徴とする三次元データスケール付与方法。 - コンピュータ内で点群データによって構成された三次元データにスケールを付与するプログラムであって、
測定対象物の周囲に、2つの基準点が同一平面上に表示されており、該基準点の2点間の長さが判明している平面状基準物が複数設けられている場合において、デジタルカメラによって前記複数の平面状基準物を含めて前記測定対象物を様々な角度から撮影した画像データ、又は測定対象物の周囲に、2つの基準点が同一平面上に表示されており、該基準点の2点間の長さが判明している平面状基準物が複数設けられてレーザスキャナによって前記複数の平面状基準物を含めて前記測定対象物をスキャンニングして取得した位置データから前記測定対象物及び各前記平面状基準物の点群データを取得した後の点群データにおいて、
点群データ中の各前記平面状基準物に表示されている基準点間の長さが、入力された長さとなるように点群データを伸縮させ及び/又はねじれを加えることにより、点群データ全体のスケールを設定する機能をコンピュータに実行させることを特徴とする三次元データスケール付与プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/035377 WO2022059157A1 (ja) | 2020-09-18 | 2020-09-18 | 三次元データスケール付与方法及び三次元データスケール付与プログラム |
US18/245,367 US20230334809A1 (en) | 2020-09-18 | 2020-09-18 | Three-dimensional data scale setting method and three-dimensional data scale setting program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/035377 WO2022059157A1 (ja) | 2020-09-18 | 2020-09-18 | 三次元データスケール付与方法及び三次元データスケール付与プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022059157A1 true WO2022059157A1 (ja) | 2022-03-24 |
Family
ID=80776005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/035377 WO2022059157A1 (ja) | 2020-09-18 | 2020-09-18 | 三次元データスケール付与方法及び三次元データスケール付与プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230334809A1 (ja) |
WO (1) | WO2022059157A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001155019A (ja) * | 1999-11-25 | 2001-06-08 | Olympus Optical Co Ltd | 類似画像検索装置 |
JP2010008352A (ja) * | 2008-06-30 | 2010-01-14 | 3D Media Co Ltd | 寸法測定方法及び寸法測定装置 |
JP2013032922A (ja) * | 2011-08-01 | 2013-02-14 | Hitachi Ltd | 3次元寸法測定方法 |
JP2019207531A (ja) * | 2018-05-29 | 2019-12-05 | 株式会社富士通アドバンストエンジニアリング | 画像処理プログラム、画像処理方法および画像処理装置 |
-
2020
- 2020-09-18 US US18/245,367 patent/US20230334809A1/en active Pending
- 2020-09-18 WO PCT/JP2020/035377 patent/WO2022059157A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001155019A (ja) * | 1999-11-25 | 2001-06-08 | Olympus Optical Co Ltd | 類似画像検索装置 |
JP2010008352A (ja) * | 2008-06-30 | 2010-01-14 | 3D Media Co Ltd | 寸法測定方法及び寸法測定装置 |
JP2013032922A (ja) * | 2011-08-01 | 2013-02-14 | Hitachi Ltd | 3次元寸法測定方法 |
JP2019207531A (ja) * | 2018-05-29 | 2019-12-05 | 株式会社富士通アドバンストエンジニアリング | 画像処理プログラム、画像処理方法および画像処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20230334809A1 (en) | 2023-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5713159B2 (ja) | ステレオ画像による3次元位置姿勢計測装置、方法およびプログラム | |
JP6573419B1 (ja) | 位置決め方法、ロボット及びコンピューター記憶媒体 | |
JP4492654B2 (ja) | 3次元計測方法および3次元計測装置 | |
JP6344050B2 (ja) | 画像処理システム、画像処理装置、プログラム | |
US11490062B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JP2011198330A (ja) | 3次元位置合わせにおける照合方法およびそのプログラム | |
KR20020035652A (ko) | 3 차원적인 복구를 위한 스트랩다운 시스템 | |
CN113841384A (zh) | 校准装置,用于校准的图表和校准方法 | |
JP2007212187A (ja) | ステレオ写真計測装置、ステレオ写真計測方法、及びステレオ写真計測プログラム | |
WO2022059157A1 (ja) | 三次元データスケール付与方法及び三次元データスケール付与プログラム | |
JP7012965B2 (ja) | 三次元データスケール付与方法及び三次元データスケール付与プログラム | |
JP4444440B2 (ja) | ステレオ画像の測定装置 | |
Hrozek et al. | Digital preservation of historical buildings using virtual reality technologies | |
CN114640800B (zh) | 摄像头布置的方法及*** | |
KR102370326B1 (ko) | 2d 이미지를 활용하여 3d 컨텐츠를 생성하는 영상 처리 방법 및 영상 처리 장치 | |
JP2001091251A (ja) | 3次元地図作成方法 | |
TWI526986B (zh) | 虛擬定位板及應用該虛擬定位板之建物檢測方法 | |
JP7285101B2 (ja) | 設置支援装置及び設置支援プログラム | |
JP7202337B2 (ja) | 情報取得装置、及びプログラム | |
KR102611481B1 (ko) | 이미지 내의 좌표들 간의 실제 거리를 계산하는 방법 및 장치 | |
JP7133821B1 (ja) | 任意座標系点群による、自動採寸プログラム、自動採寸装置および自動採寸方法 | |
JP7311327B2 (ja) | 撮影シミュレーション装置、撮影シミュレーション方法およびコンピュータプログラム | |
JP2004252815A (ja) | 画像表示装置、画像表示方法およびプログラム | |
JP6944560B2 (ja) | トンネル撮影画像処理装置及びプログラム | |
JP7262655B2 (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: 20954142 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20954142 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |