WO2011162388A1 - 点群データ処理装置、点群データ処理システム、点群データ処理方法、および点群データ処理プログラム - Google Patents

点群データ処理装置、点群データ処理システム、点群データ処理方法、および点群データ処理プログラム Download PDF

Info

Publication number
WO2011162388A1
WO2011162388A1 PCT/JP2011/064566 JP2011064566W WO2011162388A1 WO 2011162388 A1 WO2011162388 A1 WO 2011162388A1 JP 2011064566 W JP2011064566 W JP 2011064566W WO 2011162388 A1 WO2011162388 A1 WO 2011162388A1
Authority
WO
WIPO (PCT)
Prior art keywords
local
unit
point cloud
cloud data
region
Prior art date
Application number
PCT/JP2011/064566
Other languages
English (en)
French (fr)
Other versions
WO2011162388A4 (ja
WO2011162388A8 (ja
Inventor
北村 和男
高地 伸夫
忠之 伊藤
大谷 仁志
Original Assignee
株式会社トプコン
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社トプコン filed Critical 株式会社トプコン
Publication of WO2011162388A1 publication Critical patent/WO2011162388A1/ja
Publication of WO2011162388A4 publication Critical patent/WO2011162388A4/ja
Publication of WO2011162388A8 publication Critical patent/WO2011162388A8/ja
Priority to US13/724,916 priority Critical patent/US20130181983A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Definitions

  • the present invention relates to a point cloud data processing technique, and more particularly to a point cloud data processing technique that extracts a feature from point cloud data of a measurement object and automatically generates a three-dimensional shape in a short time.
  • a scanning laser device scans a three-dimensional object to generate a point cloud.
  • the point cloud is divided into groups of edge points and non-edge points based on depth and normal changes with respect to the scan points.
  • a three-dimensional shape is generated by fitting each group to a geometric original drawing and expanding and intersecting the fitted geometric original drawing.
  • segments are formed from point cloud data, and edges and surfaces are extracted based on continuity, normal direction, or distance between adjacent polygons. Further, the flatness or curvedness of the point cloud data of each segment is replaced with a plane equation or a curved surface equation using a least square method, and grouping is performed to generate a three-dimensional shape.
  • a two-dimensional rectangular area is set for three-dimensional point cloud data, and a combined normal vector of measurement points corresponding to the rectangular area is obtained. All measurement points in the rectangular area are rotationally moved so that the combined normal vector coincides with the Z-axis direction.
  • the standard deviation ⁇ of the Z value is obtained for each measurement point in the rectangular area, and when the standard deviation ⁇ exceeds a predetermined value, the measurement point corresponding to the center point of the rectangular area is handled as noise.
  • an object of the present invention is to provide a technique for extracting features of point cloud data of a measurement object and automatically generating data related to the contour of the object in a short time.
  • the invention according to claim 1 is directed to a non-surface area removing unit that removes points in the non-surface area based on point cloud data of the measurement object, and points other than the points removed by the non-surface area removing unit.
  • a contour line calculating unit that calculates a contour line that distinguishes the first surface from the second surface, and the contour line calculating unit includes the first surface and the second surface between the first surface and the second surface.
  • a local area acquisition unit that acquires a local area based on the point cloud data of the non-plane area, and a direction of a plane that is fitted to the local area and is different from the first plane and the second plane
  • a local surface acquisition unit that acquires a local surface having, based on the local surface
  • a data processing unit group points, characterized in that the calculation of the serial contour is performed.
  • point cloud data 2D images and 3D coordinates are linked. That is, in the point cloud data, two-dimensional image data of the measurement object, a plurality of measurement points associated with the two-dimensional image, and positions (three-dimensional coordinates) of the plurality of measurement points in the three-dimensional space. Are associated with each other. According to the point cloud data, the outer shape of the measurement object can be reproduced by the set of points. Also, since the three-dimensional coordinates of each point can be known, the relative positional relationship between the points can be grasped, and processing for rotating the image of the object displayed on the screen or switching to an image viewed from a different viewpoint is possible.
  • a label is an identifier that identifies a surface (or distinguishes it from other surfaces).
  • a surface is a surface suitable for selection as a calculation target, and includes a flat surface, a curved surface having a large curvature, and a curved surface having a large curvature and a small change depending on its position.
  • a surface and a non-surface are distinguished depending on whether or not the amount of calculation when mathematically grasping (data-izing) by calculation is an allowable amount.
  • the non-surface includes a corner, an edge portion, a portion having a small curvature, and a portion that changes drastically depending on the location of the curvature.
  • the first surface and the second surface are those having a positional relationship with a non-surface region interposed therebetween.
  • two surfaces located at a position sandwiching the non-surface region are an adjacent first surface and second surface.
  • the present invention is a technique for calculating a contour line between the first surface and the second surface.
  • the contour line is an outline that forms the outer shape of the measurement object, which is necessary for visually grasping the appearance of the measurement object. Specifically, a bent portion or a portion where the curvature is rapidly reduced becomes a contour line.
  • the contour line is not limited to the outer contour part, but the edge part that characterizes the protruding part of the convex part, or the edge that characterizes the concave part (for example, the part of the groove structure).
  • the part of is also the target.
  • a so-called diagram can be obtained from the contour line, and an image can be displayed so that the appearance of the object can be easily grasped.
  • Actual contour lines exist at the boundary between the surfaces and at the edges, but in the present invention, these portions are removed from the point cloud data as non-surface regions, so that the contour lines are explained as described below. Is predicted by calculation.
  • areas corresponding to corners and edges of the object are removed as non-surface areas, and the object is electronically grasped by a collection of easy-to-handle surfaces collectively as data.
  • the appearance of the object is grasped as a set of a plurality of surfaces. For this reason, the amount of data to be handled is saved, and the amount of calculation necessary to obtain the three-dimensional data of the object is saved. And the processing time of point cloud data is shortened, and the processing time of the display of the three-dimensional image of a measuring object and various calculations based on it is shortened.
  • the contour information of the object exists between the surfaces, it is included in the non-surface region described above. Therefore, according to the first aspect of the present invention, first, an object is grasped as a collection of surfaces that require a small amount of calculation, and then a contour line is estimated as a contour line between adjacent surfaces.
  • the contour part of the object may include a part where the curvature such as an edge changes sharply. Therefore, it is difficult to obtain the contour data by directly calculating from the obtained point cloud data. Is not efficient.
  • the point cloud data in the vicinity of the contour line is removed as a non-surface area, and the surface is first extracted based on the point cloud data of the surface that is easy to calculate. Subsequently, a local region is acquired that is continuous with the surface obtained after that and is based on the point cloud data of the non-surface region removed first, and a local surface to be fitted to this local region is acquired.
  • This local surface is a local surface fitted to the shape of the non-surface region rather than the first surface. Since this local surface is a surface that does not completely reflect the state of the non-surface region between the first surface and the second surface, the first surface and the second surface are in the direction of the surface ( Normal direction) is different.
  • this local surface is a surface reflecting the state of the non-surface region between the first surface and the second surface, it is approximated by calculating a contour line based on this local surface. A highly accurate contour line can be obtained. Further, according to this method, since the non-surface region is approximated by the local surface, the amount of calculation can be suppressed. In addition, although a plane (local plane) is useful for suppressing the amount of calculation, a local surface can use a curved surface as a local surface.
  • the local region may be adjacent to the first surface or may be at a position away from the first surface.
  • the local region and the first surface are connected by one or a plurality of local regions.
  • a point is shared between the first surface and the local region adjacent to the first surface (for example, the edge portion is shared), and then a point is shared between the local region and the adjacent local region. Then, the continuity of the area is ensured.
  • the distinction between the surface and the non-surface is performed based on a parameter serving as an index for determining whether or not the surface is suitable for handling.
  • the parameters include (1) local curvature, (2) local plane fitting accuracy, and (3) coplanarity.
  • the local curvature is a parameter indicating the variation of the normal vector between the attention point and the surrounding points. For example, when the point of interest and its surrounding points are on the same plane, there is no variation in the normal vector of each point, so the local curvature is minimized.
  • the local plane is a local area approximated by a plane.
  • the fitting accuracy of the local plane is the accuracy with which the calculated local plane matches the local area that is the basis of the local plane.
  • the local area is, for example, a square area (rectangular area) having a side of about 3 to 9 pixels.
  • a local plane is approximated by a local plane (local plane) that is easy to handle, and an average value of distances between the local plane and the local area at each point is obtained. With this value, the fitting accuracy to the local region of the local plane is determined. For example, if the local area is a plane, the local area and the local plane coincide with each other, and the local plane has the highest (good) fitting accuracy.
  • Coplanarity is a parameter indicating the difference in direction between two adjacent or adjacent surfaces. For example, when adjacent planes intersect at 90 degrees, the normal vectors of the adjacent planes are orthogonal. As the angle formed by the two planes decreases, the angle formed by the normal vectors of the two planes decreases. Using this property, it is determined whether two adjacent surfaces are on the same surface, and if they are not on the same surface, how much the difference is. This degree is coplanarity. Specifically, if the inner product of the normal vector of the two local planes fitted to each of the two target local regions and the vector connecting the center points is 0, both local planes are on the same plane. Is determined to exist. Moreover, it is determined that the extent that the two local planes are not on the same plane is more remarkable as the inner product becomes larger.
  • a threshold is set for each parameter for determining (1) local curvature, (2) fitting accuracy of the local plane, and (3) coplanarity described above, and discrimination between a surface and a non-surface is performed based on the threshold.
  • a non-surface area such as a sharp three-dimensional edge generated by changing the direction of a surface or a smooth three-dimensional edge generated by a curved surface having a large curvature is determined by the local curvature of (1).
  • a non-surface area such as a three-dimensional edge caused by occlusion (a state where an object in the back is obstructed by an object in front) changes the position of the point sharply. It is mainly determined by the fitting accuracy.
  • a non-surface region such as a sharp three-dimensional edge generated by changing the orientation of the surface is mainly determined by the coplanarity of (3).
  • Judgment which distinguishes a surface and a non-surface is possible using one or more of the above-mentioned three kinds of judgment criteria. For example, a process of determining the target area as a non-surface area when the above-described three types of determinations are executed and one or more of them are determined as non-surface is included.
  • threshold setting it is possible to adjust the balance of accuracy, calculation time (calculation amount), and amount of data handled. It is also possible to change the threshold value depending on the difference in the measurement object and the use (whether it is data for precise drawing or data for obtaining a schematic overhead view).
  • the invention according to claim 2 is directed to a non-surface area removing unit that removes points in the non-surface area based on point cloud data of the measurement object, and points other than the points removed by the non-surface area removing unit.
  • a contour line calculating unit that calculates a contour line that distinguishes the first surface from the second surface, and the contour line calculating unit includes the first surface and the second surface between the first surface and the second surface.
  • An acquisition unit, fitting the first local region, the first surface and the second surface; Fitting to a first local surface having a different surface direction and the second local region, acquisition of a second local surface having a surface direction different from that of the first surface and the second surface is performed.
  • a point group data processing apparatus comprising: a local surface acquisition unit, wherein the contour line is calculated based on the first local surface and the second local surface.
  • the local surface is acquired on both the first surface side and the second surface side. That is, a local surface extending from the first surface in the direction of the second surface and a local surface extending from the second surface in the direction of the first surface are acquired. By doing so, the approximation accuracy of the non-surface region by the local surface becomes higher, and the contour calculation accuracy becomes higher.
  • the invention according to claim 3 is the invention according to claim 2, wherein the first local surface and the second local surface are connection surfaces that connect the first surface and the second surface. It is characterized by comprising.
  • the portion removed as the non-surface region is virtually formed as a connection surface, and the contour lines relating to the first surface and the second surface are calculated based on the connection surface. Is done.
  • the connection surface is a simplified approximate surface that approximates the actual non-surface region. By adopting the connection surface, it is possible to avoid the complexity when directly calculating the shape of the edge portion based on the point cloud data.
  • the invention according to claim 4 is the invention according to claim 2 or 3, wherein the first surface and the first local surface, and the second surface and the second local surface, One or a plurality of local planes are acquired in between.
  • a plurality of local surfaces are set from the first surface toward the second surface, and similarly, a plurality of local surfaces are directed from the second surface toward the first surface.
  • the face is set.
  • the connection surfaces extend from both sides of the first surface and the second surface so as to narrow the portion removed as the non-surface region.
  • the tip of the connection surface extending from the first surface side is the first local surface
  • the tip of the connection surface extending from the second surface side is the second local surface
  • a contour line is calculated based on two adjacent local surfaces extending in the facing direction and adjacent to each other at the head portion facing each other. According to this configuration, since the connection surface is made to follow the shape of the actual non-surface region more finely and the contour line is calculated based on the adjacent local surface, the contour calculation accuracy can be further increased.
  • the invention according to claim 5 is the invention according to any one of claims 2 to 4, wherein the contour line is calculated as an intersection line of the first local surface and the second local surface. It is characterized by that.
  • one or a plurality of local surfaces are extended (connected) from the first surface toward the second surface, and on the other hand, the second surface to the first surface.
  • the intersection line between the local surfaces finally extending from both adjacent surfaces is defined as a contour line. According to this method, even if the shape of the non-surface region is complicated, the connection surface is formed while joining the local surfaces more finely, so that the calculation accuracy of the contour line can be increased.
  • the invention according to claim 6 is a square area according to any one of claims 1 to 5, wherein N is 3 or more natural, and the local area is a square area composed of N ⁇ N points. It is characterized by being.
  • a local area is set by a set of points such as 3 ⁇ 3, 5 ⁇ 5, and 7 ⁇ 7, and the local plane is used as a local plane for fitting therewith to balance the speed of calculation and the accuracy of the calculation result. be able to. If the number of points constituting the local area is reduced, the accuracy is improved, but the calculation burden increases, which is disadvantageous in terms of processing time. On the contrary, if the number of points constituting the local area is increased, the accuracy is lowered, but the calculation burden is reduced, which is advantageous in terms of processing time. In such a background, from the viewpoint of ensuring accuracy, it is desirable that the number of points in the local area is about 9 ⁇ 9.
  • the invention according to claim 7 is the invention according to any one of claims 1 to 6, wherein the non-surface area determination threshold value for determining the non-surface area and the same surface determination threshold value for determining the same surface. And the removal of the non-surface area point again after changing the non-surface determination threshold value, and the same label to the same surface point again after changing the same surface determination threshold value. It is characterized by being granted.
  • an area determined as a surface is acquired from the areas once determined as non-surface areas.
  • region can be made narrower and the calculation precision of an outline can be improved.
  • the invention described in claim 8 is characterized in that, in the invention described in any one of claims 1 to 7, a smoothing processing section for smoothing the contour line is provided. According to the eighth aspect of the present invention, it is possible to improve the non-smooth state of the contour line due to the error generated in the process of acquiring the point cloud data and removing the non-surface area.
  • the invention according to claim 9 is the invention according to any one of claims 1 to 8, wherein a three-dimensional image of the contour of the measurement object is displayed as an image based on the calculation result of the contour calculation unit.
  • a three-dimensional contour image display control unit that performs control to display on the apparatus is provided. According to the ninth aspect of the present invention, it is possible to display an image of the outline of the measurement object based on the point cloud data on an image display device (for example, a liquid crystal display).
  • the invention according to claim 10 is the invention according to any one of claims 1 to 9, wherein a display controller that displays a plurality of surfaces divided by the surface labeling unit on the image display device; A surface selection unit that enables selection of two adjacent surfaces included in the plurality of surfaces displayed on the image display device, and when the two adjacent surfaces are selected, And a selection surface recognizing unit that recognizes each as the first surface and the second surface.
  • the contour line is calculated based on the designation by the user. In general, not all three-dimensional image information based on point cloud data is necessarily required by the user. According to the tenth aspect of the present invention, it is possible to display an image of the contour line of the part desired by the user. Further, by calculating the contour line of the designated portion, it is possible to suppress an increase in processing time due to useless calculations.
  • the invention according to claim 11 is the invention according to claim 10, wherein the plurality of surfaces are displayed in different display forms.
  • the different labeled surfaces are displayed in a display state that allows easy visual recognition. Thereby, the workability
  • different display forms include a difference in shading, a difference in color, a difference in dot display density, a difference in hatching processing, and a plurality of combinations thereof.
  • the invention described in claim 12 is characterized in that, in the invention described in claim 10 or 11, the selected two faces are highlighted.
  • the two adjacent surfaces selected by the user are highlighted so as to be easily visible.
  • work which selects a surface and displays an outline is improved.
  • the highlight display include blinking, darker and brighter display than other surfaces, and display of a color different from other surfaces. It is also useful to highlight the two surfaces in different states so that the two highlighted surfaces can be easily distinguished.
  • a thirteenth aspect of the present invention is the invention according to any one of the first to twelfth aspects of the present invention, wherein the contour line is not calculated from a plurality of surfaces divided by the surface labeling unit.
  • a non-calculation target surface selection unit that selects a data, a data storage unit that stores data for selecting a surface that is not a contour calculation target, or an input that specifies a surface that is not a contour calculation target And an input receiving unit.
  • the outline of furniture such as a chair brought into the room may not be required.
  • the selection not to set such an unnecessary object as the object for calculating the contour line is performed based on the data stored in the data storage unit or specified by the user. For this reason, useless work by the user and useless calculation of the calculation device can be reduced.
  • the invention described in claim 14 is the invention described in claim 13, further comprising a hidden contour calculation unit that calculates the contour hidden behind a surface that is not a target of calculation of the contour. To do.
  • a contour line relating to an indoor wall or floor is required, the contour line of the portion hidden behind the furniture is calculated.
  • the outline of the hidden portion is reproduced without actually rejecting a desk or the like that is unnecessary for acquiring the point cloud data.
  • the invention according to claim 15 is a rotating irradiation unit that rotates and irradiates a measuring object with a distance measuring light, and a distance from its own position to a measuring point on the measuring object based on a flight time of the distance measuring light.
  • a distance measuring unit for measuring a distance an irradiation direction detecting unit for detecting an irradiation direction of the distance measuring light; and a three-dimensional coordinate calculation for calculating a three-dimensional coordinate of the measurement point based on the distance and the irradiation direction.
  • a point cloud data acquisition unit that acquires point cloud data of the measurement object based on a result calculated by the three-dimensional coordinate calculation unit, and a point of a non-surface region based on the point cloud data of the measurement object
  • a non-surface area removing unit that removes the surface, a surface labeling unit that gives the same label to points on the same surface with respect to points other than the points removed by the non-surface area removing unit, and the non-surface area 1st surface and 2nd surface which were pinched
  • a contour line calculating unit that calculates a contour line that distinguishes between the first surface and the second surface, and the contour line calculating unit includes the first surface and the second surface.
  • a local area acquisition unit for acquiring a local area based on the point cloud data of the non-surface area between the first plane and the first plane; and the second plane
  • a local surface acquisition unit that acquires a local surface having a surface direction different from that of the first surface, and the contour line is calculated based on the local surface.
  • the invention according to claim 16 is an imaging unit that images a measurement object in an imaging region that is overlapped from different directions, and a feature point association unit that associates feature points in the overlapped image obtained by the imaging unit,
  • a shooting position / orientation measurement unit that measures the position and orientation of the imaging unit, and a three-dimensional coordinate that calculates a three-dimensional coordinate of the feature point based on the position and orientation of the imaging unit and the position of the feature point in the overlapping image
  • a calculation unit a point cloud data acquisition unit that acquires point cloud data of the measurement object based on the result calculated by the three-dimensional coordinate calculation unit, and a non-surface region based on the point cloud data of the measurement object
  • a non-surface area removing unit for removing points
  • a surface labeling unit for assigning the same label to points on the same surface for points other than the points removed by the non-surface area removing unit, and the non-surface area
  • a contour calculating unit that calculates a contour for distinguishing between the first surface and the second surface in a
  • point cloud data acquisition means for optically obtaining point cloud data of a measurement object, and non-surface area removal for removing non-surface area points based on the point cloud data of the measurement object.
  • a surface labeling means for giving the same label to a point on the same surface with respect to a point other than the point removed by the non-surface region removal unit, and a different label is provided with the non-surface region interposed therebetween
  • Contour calculating means for calculating a contour for distinguishing between the first surface and the second surface in a portion between the first surface and the second surface, and the contour calculating means
  • a local region acquisition means for acquiring a local region based on the point cloud data of the non-surface region that is continuous with the first surface between the first surface and the second surface; and Fitting and a surface different from the first surface and the second surface
  • a local surface acquisition unit that acquires the local surface with calculation of the contour line on the basis of the local surface is point group data processing system, characterized in that it
  • the invention according to claim 18 is a non-surface area removing step for removing non-surface area points based on point cloud data of a measurement object, and points other than the points removed by the non-surface area removing unit.
  • a surface labeling step for assigning the same label to a point on the same surface, and a portion between the first surface and the second surface with the different non-surface region sandwiched between the first surface and the second surface.
  • the calculation of the contour line on the basis of the local surface is point group data processing method characterized by being performed.
  • the invention according to claim 19 is a program that is read and executed by a computer, wherein the computer removes non-surface area points based on point cloud data of the measurement object;
  • the surface labeling means for giving the same label to the points on the same surface with respect to the points other than the points removed by the non-surface region removing unit, and the first having a different label sandwiched between the non-surface regions
  • a contour calculating means for calculating a contour for distinguishing the first surface from the second surface in a portion between the first surface and the second surface, wherein the contour calculating means
  • a local area acquisition means for acquiring a local area based on point cloud data of the non-surface area that is continuous with the first plane between the first plane and the second plane; and fitting to the local area,
  • a first surface and said first Provided with a surface and local surface acquisition unit that acquires the local surface having a direction of different planes, the calculation of the contour line on the basis of the local surface is a program which comprises carrying out.
  • the invention according to claim 20 is directed to a non-surface area removing unit that removes points in the non-surface area based on point cloud data of the measurement object, and points other than the points removed by the non-surface area removing unit.
  • a contour line calculating unit that calculates a contour line that distinguishes the first surface from the second surface, and the contour line calculating unit includes the first surface and the second surface between the first surface and the second surface.
  • a local region acquisition unit that acquires a local region that is continuous with one surface and is based on point cloud data of the non-surface region, and a local line that is fitted to the local region and is not parallel to the first surface and the second surface
  • a local line acquisition unit that performs acquisition of the contour line based on the local line Calculation is a data processing unit group that it comprises carrying out.
  • the invention according to claim 20 is the invention according to claim 1, wherein, in place of the configuration for acquiring a local plane that is a local two-dimensional space, a local that is a local one-dimensional space fitted to a local region is provided. It is configured to acquire a line.
  • the local line is a line with a limited length that fits in the local area of interest and extends along the direction from the first surface toward the second surface.
  • the width of the local surface is narrowed, a local line fitting to the local region of interest is obtained, and the local line is used instead of the local surface. It can be considered as a method for obtaining an outline.
  • the local line may be a straight line or a curved line.
  • the intersection of the local lines becomes the passing point of the contour line.
  • the contour line is calculated by connecting a plurality of obtained intersections.
  • the plurality of intersections to be connected may not be adjacent to each other. For example, if it is a straight line or a contour line approximated by a straight line, two points separated from each other are obtained by the invention of claim 20 and the contour line can be calculated by connecting the two points. In this case, the calculation amount can be greatly saved.
  • the invention described in claim 20 can be understood as a method invention, a system invention, and a program invention in the same manner as the invention described in claim 1. Moreover, it is also possible to grasp the invention according to claim 20 as a technique of extending a local line from two surfaces like the invention according to claim 2. Further, a configuration in which the content described in any one of claims 2 to 14 is added to the invention described in claim 20 is also possible.
  • Leveling motor 35 ... Leveling drive gear, 36 ... Leveling driven gear, 37 ... Tilt sensor, 38 DESCRIPTION OF SYMBOLS ... Horizontal rotation motor, 39 ... Horizontal rotation drive gear, 40 ... Horizontal rotation gear, 41 ... Rotating shaft part, 42 ... Rotary base, 43 ... Bearing member, 44 ... Horizontal angle detector, 45 ... Main part casing, 46 ... barrel, 47 ... optical axis, 48 ... beam splitter, 49, 50 ... optical axis, 51 ... pulse laser light source, 52 ... perforated mirror, 53 ... beam waist changing optical system, 54 ... distance measuring light receiving unit, 55 ... Rotating mirror for high and low angles, 56 ...
  • Projection optical axis 57 Condensing lens, 58 ... Image light receiving part, 59 ... Projection casing, 60 ... Flange part, 61 ... Mirror holder plate, 62 ... Rotating shaft, 63 ... High and low angle gear, 64 ... High and low angle detector, 65 ... High and low angle Drive motor, 66 ... drive gear, 67 ... terrestrial illusion, 68 ... external storage device, 69 ... horizontal drive unit, 76, 77 ... photographing unit, 78 ... feature projection unit, 79 ... calibration subject, 80 ... target .
  • the point cloud processing apparatus has a burden of calculation out of point cloud data in which a two-dimensional image of a measurement object is associated with three-dimensional coordinate data of a plurality of points corresponding to the two-dimensional image.
  • a non-surface area removing unit for removing point cloud data relating to a large non-surface area is provided.
  • For point cloud data after removing non-surface area data use a surface labeling unit that assigns a label that specifies a surface, and a local plane based on a local area that is continuous from the label-attached surface.
  • the outline calculation part which calculates the outline of a target object is provided.
  • FIG. 1 is a block diagram of a point cloud data processing apparatus.
  • the point cloud data processing apparatus 100 extracts features of the measurement object based on the point cloud data of the measurement object, and generates a three-dimensional shape based on the features.
  • Point cloud data is obtained by investigating and irradiating laser light, and using a three-dimensional position measuring device (three-dimensional laser scanner) or a plurality of imaging devices that obtains three-dimensional coordinate data of the measurement object as point cloud data. It is obtained from a stereoscopic image information acquisition device that acquires stereoscopic image information and obtains three-dimensional coordinate data of a measurement object as point cloud data based on the stereoscopic image information. The configuration described later can be used for these devices.
  • the point cloud processing apparatus 100 shown in FIG. 1 is configured as software in a notebook personal computer. Therefore, a personal computer in which dedicated software for performing point cloud processing using the present invention is installed functions as the point cloud processing device of FIG.
  • the program is not limited to the state installed in the personal computer, but may be recorded in a server or an appropriate recording medium and provided from there.
  • the personal computer used is an input unit such as a keyboard or a touch panel display, a display unit such as a liquid crystal display, a GUI (graphical user interface) function unit that is a user interface integrating the input unit and the display unit, a CPU, and other dedicated units.
  • Interface device that can exchange information with a portable storage medium such as a USB storage device, a disk storage device drive unit that can exchange information with a storage device such as a computing device, a semiconductor memory, a hard disk storage unit, and an optical disk
  • a communication interface unit for performing wireless communication or wired communication is provided as necessary.
  • the personal computer is not limited to the notebook type, and may be another type such as a portable type or a desktop type.
  • point cloud processing using dedicated hardware configured using PLD Programmable Logic Device
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the point cloud processing apparatus 100 includes a non-surface area removing unit 101, a surface labeling unit 102, an unnecessary surface removing unit 103, a removal object data storage unit 104, and a contour line calculating unit 105.
  • a non-surface area removing unit 101 includes a non-surface area removing unit 101, a surface labeling unit 102, an unnecessary surface removing unit 103, a removal object data storage unit 104, and a contour line calculating unit 105.
  • each of these functional units will be described.
  • FIG. 2 is a flowchart illustrating an example of processing performed in the point cloud data processing apparatus 100.
  • the processes in steps S202 to S204 in FIG. The non-surface area removing unit 101 calculates a normal vector of a local area, which will be described later, a normal vector calculating part 101a, a local plane calculating part 101c for calculating a local plane to be fitted to the local area, and a local curvature of the local area.
  • a local curvature calculator 101b is provided.
  • these functional units will be described in accordance with the flow of processing.
  • the normal vector calculation unit 101a calculates the normal vector of each point based on point cloud data, which is a collection of data indicating the three-dimensional coordinates of each point, in data obtained by grasping the appearance of the measurement object from a plurality of points. Is performed (step S202). In the process of calculating the normal vector, a square region (grid-like region) having a side of about 3 to 7 pixels around the point of interest is set as a local region, and attention is paid to point cloud data in this local region. The normal vector calculation unit 101a calculates a normal vector of each point in this local region. This process is performed for all point cloud data. That is, the point cloud data is divided into an infinite number of local regions, and the normal vector of each point is calculated in each local region.
  • the local curvature calculation unit 101b calculates the variation (local curvature) of the normal vector in the above-described local region (step S203).
  • the average (mNVx, mNVy, mNVz) of the intensity values (NVx, NVy, NVz) of the three-axis components of each normal vector is obtained and the standard deviation (StdNVx, StdNVy, StdNVz) is calculated.
  • the square root of the sum of squares of the standard deviation is calculated as a local curvature (Local Curveture: crv) (see Equation 1 below).
  • the local plane calculation unit 101c obtains a local plane in the local area (step S204).
  • an equation of the local plane is obtained from the three-dimensional coordinates of each point in the local region of interest (local plane fitting).
  • the local plane is a plane that is fitted to the local region of interest.
  • the equation of the surface of the local plane to be fitted to the local region is calculated using the least square method. Specifically, a plurality of different plane equations are obtained and compared, and an equation of the plane of the local plane that is fitted to the local region is calculated. If the local region of interest is a plane, the local plane and the local region match.
  • the above processing is repeated so that all point cloud data are targeted while sequentially shifting the local area, and the normal vector, local plane, and local curvature in each local area are obtained.
  • processing for removing points in the non-surface area is performed (step S205). That is, in order to extract a surface (a plane and a curved surface), a portion (non-surface region) that can be determined as not a surface in advance is removed.
  • the non-surface region is a region that is neither a plane nor a curved surface, but may include a curved surface with a high curvature depending on the following threshold values (1) to (3).
  • the non-surface area removal process can be performed using at least one of the following three methods.
  • the determination by the following methods (1) to (3) is performed for all the above-mentioned local regions, and the local region determined as the non-surface region by one or more methods is configured as the non-surface region.
  • the point cloud data relating to the points constituting the extracted non-surface area is removed.
  • the local curvature obtained in step S203 is compared with a preset threshold value, and a local region having a local curvature exceeding the threshold value is determined as a non-surface region. Since the local curvature represents the variation of the normal vector at the point of interest and its peripheral points, the value is small for a surface (a flat surface and a curved surface with a small curvature), and the value is large for a surface other than a surface (non-surface). Therefore, if the local curvature is larger than a predetermined threshold, the local region is determined as a non-surface region.
  • the local area is determined as a non-surface area. That is, when the local area is in a state of being deviated from the plane, the distance between the local plane corresponding to each point of the local area increases as the degree becomes more severe. Using this fact, the degree of non-surface of the local region is determined.
  • a local region determined as a non-surface region by one or more methods is extracted as a local region constituting the non-surface region. Then, the point cloud data relating to the points constituting the extracted local region is removed from the point cloud data to be calculated. As described above, the non-surface area is removed in step S205 in FIG. In this way, the non-surface area point group data is removed by the non-surface area removal unit 101 from the point cloud data input to the point cloud data processing apparatus 100. Since the removed point cloud data may be used in later processing, it is stored in an appropriate storage area, and can be identified from the point cloud data that has not been removed. Keep it available.
  • the surface labeling unit 102 executes the processing after step S206 in FIG. 2 for the point cloud data processed by the non-surface region removing unit 101.
  • the surface labeling unit 102 performs surface labeling on the point cloud data from which the non-surface region point group data has been removed by the non-surface region removal unit 101 based on the continuity of the normal vectors (step S205). Specifically, if the angle difference between the normal vector of a specific point of interest and an adjacent point is less than a predetermined threshold, the same label is attached to those points. By repeating this operation, the same label is attached to a continuous flat surface and a continuous gentle curved surface, and these can be identified as one surface.
  • step S205 it is determined whether the label (surface) is a plane or a curved surface with a small curvature by using the angle difference between the normal vectors and the standard deviation of the three-axis components of the normal vectors. Judgment is made, and identification data for identifying the fact is associated with each label.
  • step S207 the label (surface) having a small area is removed as noise.
  • This noise removal may be performed simultaneously with the surface labeling process in step S205.
  • the number of points of the same label (the number of points constituting the label) is counted, and a process of canceling the label having the number of points equal to or less than a predetermined value is performed.
  • the same label as the nearest surface (closest surface) is given to the point having no label at this time.
  • the already labeled surface is expanded (step S208).
  • step S207 an equation of a surface with a label is obtained, and a distance between the surface and a point without a label is obtained. If there are a plurality of labels (surfaces) around a point where there is no label, the label with the shortest distance is selected. If there is still a point with no label, the threshold values in non-surface area removal (step S205), noise removal (step S207), and label expansion (step S208) are changed, and the related processing is performed again. (Relabeling) is performed (step S209). For example, in the non-surface area removal (step S205), the number of points extracted as non-surface is reduced by increasing the threshold value of the local curvature. Alternatively, in label expansion (step S208), by increasing the distance threshold between the point having no label and the nearest surface, more labels are given to the point having no label.
  • the labels are integrated if they are the same face (step S210).
  • the same label is attached to the surfaces having the same position or orientation. Specifically, by comparing the position and orientation of the normal vector of each surface, the same non-continuous surface is extracted and unified to the label of any surface. The above is the function of the surface labeling unit 102.
  • the amount of data to be handled can be compressed, so that the processing of point cloud data can be accelerated.
  • the required amount of memory can be saved.
  • FIG. 3 shows a cube 120 as an example of the measurement object.
  • the cube 120 is scanned by a laser scanner from an obliquely upward viewpoint, and point cloud data of the cube 120 is obtained.
  • labels are attached to the three surfaces visible in FIG. 2, and when viewed at a distance, FIG.
  • FIG. 2 The same image data as shown in FIG.
  • the data of the portion of the contour line 122 is the edge portion of the boundary portion between the planes 123 and 124 constituting the cube 120 and is removed from the point cloud data as the non-surface region 125.
  • the point cloud data of the outer edge 123a which is the outer edge of the plane 123 to which the different label is attached (given) and the outer edge 124a which is the outer edge of the plane 124 are processed, Display is done. However, since there is no point cloud data between the outer edges 123a and 124b (non-surface region 125), image information relating to the portion is not displayed.
  • a contour calculation unit 105 described later is arranged.
  • the unnecessary surface removing unit 103 removes from the point cloud data a surface related to an object that does not require acquisition of contour data, such as a car parked in front of a building or indoor furniture (a chair, etc.). This process is performed based on the data stored in the removal object data storage unit.
  • the removal object storage unit 104 stores a list of objects that are unnecessary for acquiring the contour line data such as the car and furniture described above. This list is prepared in advance.
  • the unnecessary surface removing unit 103 extracts an object determined to be unnecessary from the image data output from the surface labeling unit based on a known image recognition process. And the surface (surface to which the label was given) concerning this extracted object is removed.
  • the unnecessary surface removal unit 103 removes the data of the surface of the measurement object that does not require the calculation of the contour (the data of the surface to which the label is attached), and wasteful computation is performed in the calculation of the contour. I can not.
  • the setting which bypasses the process in the unnecessary surface removal part 103 is also possible, and in this case, the function of the unnecessary surface removal part 103 described here is not exhibited.
  • the user can specify unnecessary objects.
  • an unnecessary object or a corresponding surface is designated by a user using a known GUI function, and point cloud data relating to the designated object or surface is removed by the unnecessary surface removal unit 103.
  • the contour calculation unit 105 calculates (estimates) the contour based on the point group data of the adjacent surfaces (step S211 in FIG. 2).
  • A4 contour calculation unit
  • FIG. 5 shows one principle of the method for calculating the contour line.
  • FIG. 5 conceptually shows the vicinity of the boundary between the plane 131 and the plane 132.
  • the non-surface area 133 having a small curvature is removed by the non-surface area removal process, and the adjacent planes 131 and 132 are labeled as surfaces.
  • the point cloud data between the outer edge 131a of the flat surface 131 on the flat surface 132 side and the outer edge 132a of the flat surface 132 on the flat surface 131 side is removed as a non-surface region, so that the contour line should be in the non-surface region 133 Cannot be obtained directly from point cloud data.
  • the contour calculation unit 105 performs the following processing.
  • the plane 132 and the plane 131 are extended, and the intersection line 134 is calculated.
  • the intersection line 134 be the estimated outline.
  • a polyhedron is formed by the portion of the plane 131 up to the intersecting line and the portion of the plane 132 up to the intersecting line, and this polyhedron becomes an approximate connection surface that connects the planes 131 and 132.
  • the plane 134 having the normal vector of the outer edges 131a and 132a is considered and the intersection line 134 is calculated by extending the plane.
  • This method is suitable for high-speed processing because the calculation is simpler than other methods.
  • the distance between the actual non-surface area and the calculated contour line is likely to be large, and there is a high possibility that the error will increase.
  • the edge is steep or the width of the non-surface region is narrow, the error is small, and the advantage that the processing time is short is alive.
  • FIG. 7A shows the configuration of the contour calculation unit 105 in FIG. 1 when “calculation method 1” is executed.
  • the contour calculation unit 105 includes a connection surface calculation unit 141.
  • the connection surface calculation unit 141 includes an adjacent surface extension unit 142 that performs an operation of extending the adjacent first surface and the second surface, and an extension.
  • An intersection line calculation unit 143 is provided for calculating an intersection line between the first surface and the second surface.
  • FIG. 6 shows the principle of the method for calculating the contour line.
  • 6A shows a conceptual diagram from the viewpoint of viewing a cross section obtained by cutting the same plane as FIG. 5 vertically
  • FIG. 6B is a bird's-eye view of the two planes and the outline between them.
  • a conceptual diagram (model diagram) of the viewed state is shown.
  • FIG. 6 conceptually shows the vicinity of the boundary between the plane 131 and the plane 132 as in the case of FIG. Also in this case, the non-surface region 133 having a small curvature is removed by the non-surface region removal process, and the adjacent flat surfaces 131 and 132 are labeled as surfaces. This is the same as in FIG.
  • a local region including the point of the outer edge 131a on the plane 132 side of the plane 131 and further on the plane 132 side is acquired.
  • the local region is a local square region such as 3 ⁇ 3 points and 5 ⁇ 5 points that share the outer edge 131 a of the plane 131 at the edge portion and constitute a part of the non-surface region 133.
  • This local area is a continuous area from the plane 131 because the edge portion shares the edge with the outer edge 131 a of the plane 131.
  • a local plane 135 for fitting to this local area is acquired.
  • the local plane 135 is mainly influenced by the shape of the non-surface region 133, the direction of the normal vector (direction of the surface) is different from the direction of the normal vector (plane direction) of the planes 131 and 132. Yes. Note that the local plane calculation method is the same as that in the local plane calculation unit 101c.
  • a local region including the point of the outer edge 132a on the plane 131 side of the plane 132 and further on the plane 131 side is acquired.
  • region is acquired.
  • the same processing is repeated to move the plane 131 to the plane 132.
  • the local plane is fitted to the local area on the non-surface area 133 from the plane 132 side to the plane 131 side. In other words, the non-surface region 133 is approximated by joining the local planes.
  • the local planes 135 and 137 since the distance between the local planes 135 and 137 is equal to or smaller than the threshold value (that is, it is determined that the distance is not an interval for further setting the local plane), the local planes 135 and 137 that are in close proximity and adjacent to each other are positioned.
  • the intersection line 138 is calculated.
  • a polyhedron is formed by the local plane 135, the local plane 137, and the part extending to the intersection line, and this polyhedron becomes an approximate connection surface that connects the planes 131 and 132.
  • the connection plane that connects the planes 131 and 132 is formed by connecting the local planes to be fitted to the non-surface region, the contour calculation accuracy can be made higher than in the case of FIG.
  • a contour line 138 (contour line element) having a length about the size of the local planes 135 and 137 is obtained. Then, by performing the above process along the extending direction of the non-surface area, a contour line 139 that separates the planes 131 and 132 is calculated. That is, after the calculation of the contour line 138 shown in FIG. 6A, the local planes 135 ′ and 137 ′ are obtained by the same method to calculate the contour line portion therebetween. By repeating this process, the short contour line 138 is extended and the contour line 139 is obtained.
  • a local plane is further set on the plane 132 side of the local plane 135.
  • a local area including the edge point on the plane 132 side of the local area that is the basis of the local plane 135 and further on the plane 132 side is acquired, and a local plane to be fitted to the local area is acquired.
  • This process is similarly performed on the plane 132 side. Repeat this process on both sides, connect the connecting surfaces from both sides, and when the gap is below the threshold, find the line of intersection of the two local surfaces that are close to each other in the opposing positional relationship, Let it be an outline.
  • the local region is continuous from the first surface. That is, if a local region located at a position away from the first surface is also acquired according to the above procedure, it is grasped as a local region continuous from the first surface.
  • the adjacent local planes are local planes that are respectively fitted to continuous local areas, they are directed in different directions depending on the shape of the non-surface area. Accordingly, the local planes may not be completely connected to each other. To be precise, there may be a polyhedron having a gap, but here, the gap is ignored and is grasped as a connection surface of the polyhedral structure.
  • FIG. 7B shows the configuration of the contour calculation unit 105 in FIG. 1 when the calculation method 2 is executed.
  • the contour calculation unit 105 includes a connection surface calculation unit 144.
  • the connection plane calculation unit 144 includes a local region acquisition unit 145, a local plane acquisition unit 146, a local plane extension unit 147, and an intersection line calculation unit 148.
  • the local area acquisition unit 145 acquires a local area necessary for acquiring the local planes 135 and 137.
  • the local plane acquisition unit 146 acquires a local plane that is fitted to the local region acquired by the local region acquisition unit 145.
  • the local plane extension 147 includes a local plane extending in the direction of the plane 132 from the plane 131 (local plane 135 in the case of FIG.
  • intersection line calculation unit 148 calculates an intersection line between the two extended local planes.
  • the gap between the first surface and the second surface that are adjacent to each other through the non-surface region is connected by the local plane, and this gap is gradually increased.
  • the intersection line between the adjacent local planes is calculated across the gap, and the calculation is performed as a contour line. Note that the difference in the direction of the normal vector between the local planes 135 and 137 may be used as a reference for determining whether or not to further set a local plane between the local planes 135 and 137.
  • the local plane calculation unit 101c in FIG. 1 functions as a local straight line calculation unit.
  • reference numerals 135 and 137 are grasped as local straight lines in the conceptual diagram of FIG.
  • the local straight line can be grasped as a form in which the width of the local plane is narrowed to a width of one point (there is no mathematical width).
  • the idea is the same as in the case of the local plane, and a local area continuous to the plane 131 is acquired, fitted to the local area, and a local straight line extending in the direction of the plane 132 is calculated. Then, a connecting line (in this case, not a plane but a line) connecting the planes 131 and 132 is constituted by this local straight line.
  • the calculation of the local straight line is the same as in the case of the local plane, and is performed by calculating the equation of the line to be fitted to the local region using the least square method. Specifically, a plurality of different straight line equations are obtained and compared, and a straight line equation to be fitted to the local region is calculated. If the local region of interest is a plane, the local straight line and the local region are parallel. In addition, since the local area
  • a local straight line indicated by reference numeral 137 is calculated.
  • symbol 138) of two local straight lines becomes a passage point of the outline to obtain
  • the actual calculation of the contour line is obtained by obtaining a plurality of intersections and connecting them. It is also possible to calculate the intersection of the local straight lines in the adjacent parts and calculate the contour line by connecting them. It is also possible to calculate the contour line by connecting them.
  • a local curved surface can also be adopted as the local surface.
  • a curved surface that is easy to handle as data is selected and used instead of the above-described local plane.
  • a method of preparing a plurality of types of local surfaces and selecting one having a high fitting property to a local region is possible.
  • FIG. 8 is a conceptual diagram corresponding to FIG. FIG. 8 illustrates a case where the contour 150 is calculated by performing the contour calculation process (contour calculation method 2) described in the present embodiment in the state illustrated in FIG. In this case, in the region removed as the non-surface region, the connection surface connecting the two planes by the “contour calculation method 2” based on the outer edge 123a of the plane 123 to which the label is attached and the outer edge 124b of the plane 124 is provided.
  • the contour 150 is calculated by calculating (see FIG. 6) and obtaining the public lines of the two local planes constituting this connection surface.
  • the point cloud data processing apparatus 100 includes a hidden contour calculation unit 106. Although the unnecessary surface removing unit 103 described above removes data of a surface that is not a contour line calculation target, the contour line may be hidden behind the removed surface.
  • the hidden outline calculation unit 106 calculates the hidden outline based on the outline data calculated by the outline calculation unit 105.
  • FIG. 9 conceptually shows the case where the measurement target is the room.
  • FIG. 9A shows the indoor state as viewed visually.
  • a label is given to the surface which comprises the floor surface 161, the wall surface 162, the wall surface 163, the wall surface 164, and the outer surface of the chiffon 160 which is the furniture placed indoors by the function of the surface labeling part 102.
  • the portion hidden behind the chest 160 has no point cloud data, so the data is blank. Therefore, as shown in FIG. 9B, in the shaded portion of the chest 160, the contour line that separates the floor surface 161 and the wall surface 163 is partially interrupted, and the floor surface 161 and the wall surface 163 are separated. A state in which the contour line is divided into contour lines 167 and 168 is displayed.
  • the hidden contour calculation unit 106 performs an operation to complement the contour of the divided part. Specifically, an equation representing the contour line 167 is calculated, and a portion extending the contour line 167 in the direction of the contour line 168 is calculated based on the equation. In FIG. 9C, this calculated portion is shown as a contour line 171. Note that on the actual display screen, the contour line 171 is displayed in the same state as the other contour lines, and is displayed so as to be indistinguishable from other contour line portions (for example, a portion denoted by reference numeral 167) (the portion denoted by reference numeral 171). Can also be displayed so that they can be identified). In this way, the outline 172 that separates the floor surface 161 and the wall surface 163 can be displayed in a state where there is no missing portion.
  • the point cloud data processing apparatus 100 in FIG. 1 includes a smoothing processing unit 107.
  • the smoothing processing unit 107 performs a process of correcting the display so that the display becomes a smooth line.
  • the surface labeled with the surface labeling unit 102 is displayed as an image, since the edge of the surface is also the edge of the non-surface region, there is an error when acquiring the point cloud data and when selecting the acquired point cloud data. Yes, when enlarged, the outline may become a fine broken line.
  • the line that should be a straight line when it is enlarged is displayed as a broken line. Further, since the data amount of the broken line is larger than that of the straight line data, it is not preferable from the viewpoint of saving the memory area and calculating speed.
  • the smoothing processing unit 107 determines the degree of the broken line from the interval between the bent portions, and replaces the portion with a straight line when the interval is equal to or less than a predetermined threshold. For example, when the indoor state in FIG. 9 is set as a measurement target, the contour line rarely bends repeatedly in units of several centimeters. Therefore, in such a case, for example, when the threshold value is set to 5 cm and the bending is repeated three or more times, it is determined that the value is linearized. If there is a corresponding part as a result of this determination, a straight line equation is calculated when the bent part of the contour line is regarded as a straight line in that part, and the contour line is smoothed based on this equation (in this case, a straight line) ).
  • FIG. 10 shows planes 301 and 302 that are in a positional relationship with a non-surface region interposed therebetween.
  • FIG. 10 shows a contour line 303 before the smoothing process calculated by the process described with reference to FIGS. 6 and 8 as a reference.
  • the outline 303 is a broken line (exaggerated in the figure) because of sampling error and calculation error of the point cloud data.
  • Reference numeral 304 is a contour line straightened by the smoothing process described above.
  • the calculation method using the local surface whose principle is shown in FIG. 6 is not adopted in all portions of the contour line.
  • both ends of the planes 301 and 302 (on the line connecting the upper edges of the drawing)
  • Two points 305 and 306 (on the line connecting the lower edges in the figure) are calculated, and then a contour line is calculated by connecting the points 305 and 306 with a straight line.
  • the points 305 and 306 are obtained using “Calculation Method 4”.
  • a method for obtaining the point 305 will be described.
  • one or more local straight lines described with reference to FIG. 6 are set starting from the portion denoted by reference numeral 301a and the portion denoted by reference numeral 302a, and finally the intersection point is calculated to obtain reference numeral 138 in FIG.
  • the passing point of the contour line corresponding to the part is calculated. This is because the edge 301b on the lower end side of the drawing of the plane 301 is extended in the direction of the plane 302 by a method of setting a local straight line, and the edge 302b on the lower end side of the drawing of the plane 302 is set on the local straight line.
  • the crossing point is obtained in the direction of the plane 301 by the following method, and finally the intersection of the adjacent parts is obtained as a point 305. Further, the position of the point 306 is calculated by the same method.
  • a contour line 304 is calculated by obtaining a straight line connecting the points 305 and 306.
  • this method it is only necessary to calculate two points and a straight line connecting them, and a straightened outline can be directly obtained, so that the calculation amount can be saved.
  • the passing point of the contour line has only to be obtained, the method of setting the local straight line of “Calculation method 4” that makes the calculation easier is used, but the local plane of “Calculation method 2” is set. It is also possible to calculate the points 305 and 306 by using the above method.
  • This method can be used, for example, for calculating the contour lines related to corners of floors and ceilings and corners of cubes.
  • FIG. 11A shows two surfaces that are adjacent to each other through a non-surface region
  • FIG. 11B shows a combination of three different surfaces based on the structure of FIG. 11A.
  • two intersections between adjacent planes 311 and 312, two intersections between adjacent planes 311 and 313, adjacent planes 312 and 313 Find the two intersections between and.
  • three intersections in the vicinity 314 of the corner where the planes 311, 312, and 313 are associated are set as temporary intersections, and their three-dimensional coordinates are acquired.
  • an average value of the three-dimensional coordinates of the three temporary intersections is obtained, and the coordinate position is set as an intersection 315 of the three planes 311, 312, and 313. In this way, the intersection between the plurality of surfaces is calculated.
  • the above method is used to calculate four intersections between the two surfaces of the wall surface and the ceiling surface, and connect these four intersections.
  • a straight contour line that separates the ceiling and wall surface can be obtained.
  • the contour smoothing process can also be applied when the contour to be smoothed is a curve.
  • a portion for smoothing the broken line is selected from the contour line which is a curve, based on the same principle as described above. Then, an equation of a curve for replacing the portion with a smooth curve is calculated, and the contour line is smoothed based on the equation of the curve.
  • the point cloud data processing device 100 in FIG. 1 includes an image display control unit 108 and an image display device 109.
  • the image display device 109 is a liquid crystal display of a notebook personal computer that functions as a point cloud data processing device.
  • the image display control unit 108 performs control for causing the image display device 108 to display image information obtained by the processing in the point cloud data processing device 100.
  • an image displayed on the image display device 108 an image in which a measurement object is displayed by a surface obtained by processing by the surface labeling unit 102, an image in which an unnecessary object display is removed by the unnecessary surface removing unit 103,
  • the contour image calculated by the contour calculation unit 105, the contour image calculated by the hidden contour calculation unit 106, the contour image smoothed by the smoothing processing unit 107, and a plurality of these images are simultaneously displayed. Examples include a displayed image, an explanation screen image related to the operation of the point cloud data processing apparatus 100, a screen image related to threshold setting, and a GUI operation screen image operated by the user.
  • the image display control unit 108 performs control to add a color so that the surface labeled with the surface labeling unit is distinguished from the adjacent surface and easily visible. That is, a control is performed to give a color to the displayed surface so that a surface with a different label can be clearly recognized such that the first surface is red and the adjacent second surface is blue. Since this process only needs to make it easier to visually recognize the differently labeled surface, it may be a combination of two or more of the methods listed here, a difference in shading, a difference in dot display density, a difference in hatching process, and the like. . Furthermore, when the two surfaces are designated by the user for the purpose of calculating a contour line between the two surfaces, the image display control unit 108 highlights the two surfaces. Examples of the highlighting method include a method of making the color easily distinguishable from others and blinking.
  • the point cloud data processing device 100 includes an operation input device 110 and an operation input receiving unit 111.
  • the operation input device 110 includes a keyboard device, a mouse device, and a GUI function unit of a notebook personal computer used. By operating the operation input unit 110, the point cloud data processing apparatus 100 is operated.
  • the operation input accepting unit 111 has a function of accepting the content of the operation of the operation input unit 110 by the user and interpreting it into data that can be processed inside the point cloud data processing apparatus 100.
  • the point cloud data processing apparatus 100 has a function that allows the user to select a method for calculating the contour line, and a function that allows the user to select a portion for calculating the contour line.
  • the point cloud data processing apparatus 100 includes an outline calculation method selection unit 112 and a calculation target surface selection unit 113.
  • the contour calculation method selection unit 112 is a functional unit that allows the user to select a method desired by the user from among a plurality of methods for calculating the contour described above. For example, when a symbol display indicating the type of calculation method is displayed on the edge or the like of the image display device, and the user selects a desired method using the GUI function of the personal computer, the selected content is converted into an outline calculation method.
  • the contour calculation processing in the contour calculation unit 105 is performed by the selected calculation method recognized by the selection unit 112. According to this function, the user can select whether to give priority to accuracy or processing speed.
  • the calculation target surface selection unit 113 is used when the user selects a position for calculating the contour line. For example, in the example shown in FIG. 9, when the operation input device 110 in FIG. 1 is operated by the user and the wall surface 162 and the wall surface 163 are designated, the operation input receiving unit 111 recognizes them, and that is the calculation target surface. 113.
  • the calculation target surface selection unit 113 that has recognized the content specified by the user sends data specifying the selected wall surfaces 162 and 163 to the contour calculation unit 105.
  • the contour calculation unit 105 calculates a contour 166 that separates the wall surfaces 162 and 163. At this time, the two functions selected by the user are highlighted by the function of the image display control unit 108, and display control is performed so that the user can easily recognize the selected surface.
  • the point cloud data processing device irradiates the measuring object with distance measuring light (laser light) while scanning, and based on the time of flight of the laser light, the point cloud data processing device applies a number of light on the measuring object. Measure the distance to the measurement point.
  • the point cloud data processing device detects the irradiation direction (horizontal angle and elevation angle) of the laser light, and calculates the three-dimensional coordinates of the measurement point based on the distance and the irradiation direction.
  • the point cloud data processing device acquires a two-dimensional image (RGB intensity at each measurement point) obtained by imaging the measurement object, and forms point cloud data that combines the two-dimensional image and the three-dimensional coordinates. Further, the point cloud data processing device forms a diagram showing the three-dimensional contour line of the object constituted by the contour line from the formed point cloud data.
  • FIG. 12 and 13 are cross-sectional views showing the configuration of the point cloud data processing apparatus 1.
  • the point cloud data processing apparatus 1 includes a leveling unit 22, a rotation mechanism unit 23, a main body unit 27, and a rotation irradiation unit 28.
  • the main body 27 includes a distance measuring unit 24, an imaging unit 25, a control unit 26, and the like.
  • FIG. 13 shows a state in which only the rotary irradiation unit 28 is viewed from the side with respect to the cross-sectional direction shown in FIG.
  • the leveling unit 22 has a base plate 29, and the rotation mechanism unit 23 has a lower casing 30.
  • the lower casing 30 is supported on the base plate 29 at three points by a pin 31 and two adjustment screws 32.
  • the lower casing 30 tilts with the tip of the pin 31 as a fulcrum.
  • a tension spring 33 is provided between the base plate 29 and the lower casing 30 to prevent the base plate 29 and the lower casing 30 from separating from each other.
  • two leveling motors 34 are provided inside the lower casing 30 .
  • the two leveling motors 34 are driven by the control unit 26 independently of each other.
  • the adjustment screw 32 is rotated via the leveling drive gear 35 and the leveling driven gear 36, and the amount of downward protrusion of the adjustment screw 32 is adjusted.
  • An inclination sensor 37 (see FIG. 14) is provided inside the lower casing 30.
  • the two leveling motors 34 are driven by the detection signal of the tilt sensor 37, whereby leveling is executed.
  • the rotation mechanism 23 has a horizontal angle drive motor 38 inside the lower casing 30.
  • a horizontal rotation drive gear 39 is fitted to the output shaft of the horizontal angle drive motor 38.
  • the horizontal rotation drive gear 39 is meshed with the horizontal rotation gear 40.
  • the horizontal rotation gear 40 is provided on the rotation shaft portion 41.
  • the rotating shaft portion 41 is provided at the center portion of the rotating base 42.
  • the rotating base 42 is provided on the upper portion of the lower casing 30 via a bearing member 43.
  • an encoder is provided as the horizontal angle detector 44 in the rotating shaft portion 41.
  • the horizontal angle detector 44 detects a relative rotation angle (horizontal angle) of the rotation shaft portion 41 with respect to the lower casing 30.
  • the horizontal angle is input to the control unit 26, and the control unit 26 controls the horizontal angle drive motor 38 based on the detection result.
  • the main body 27 has a main body casing 45.
  • the main body casing 45 is fixed to the rotating base 42.
  • a lens barrel 46 is provided inside the main body casing 45.
  • the lens barrel 46 has a rotation center concentric with the rotation center of the main body casing 45.
  • the center of rotation of the lens barrel 46 is aligned with the optical axis 47.
  • a beam splitter 48 as a light beam separating means is provided inside the lens barrel 46.
  • the beam splitter 48 has a function of transmitting visible light and reflecting infrared light.
  • the optical axis 47 is separated into an optical axis 49 and an optical axis 50 by a beam splitter 48.
  • the distance measuring unit 24 is provided on the outer periphery of the lens barrel 46.
  • the distance measuring unit 24 includes a pulse laser light source 51 as a light emitting unit. Between the pulse laser light source 51 and the beam splitter 48, a perforated mirror 52 and a beam waist changing optical system 53 for changing the beam waist diameter of the laser light are arranged.
  • the distance measuring light source unit includes a pulse laser light source 51, a beam waist changing optical system 53, and a perforated mirror 52.
  • the perforated mirror 52 has a role of guiding the pulsed laser light from the hole 52 a to the beam splitter 48, and reflecting the reflected laser light returned from the measurement object toward the distance measuring light receiving unit 54.
  • the pulse laser light source 51 emits infrared pulse laser light at a predetermined timing under the control of the control unit 26.
  • the infrared pulse laser beam is reflected by the beam splitter 48 toward the high / low angle rotating mirror 55.
  • the elevation mirror 55 for high and low angles reflects the infrared pulse laser beam toward the measurement object.
  • the elevation mirror 55 is rotated in the elevation direction to convert the optical axis 47 extending in the vertical direction into a projection optical axis 56 in the elevation direction.
  • a condensing lens 57 is disposed between the beam splitter 48 and the elevation mirror 55 and inside the lens barrel 46.
  • the reflected laser light from the object to be measured is guided to the distance measuring light receiving unit 54 through the high and low angle rotating mirror 55, the condenser lens 57, the beam splitter 48, and the perforated mirror 52. Further, the reference light is also guided to the distance measuring light receiving unit 54 through the internal reference light path.
  • a point cloud data processing device based on the difference between the time until the reflected laser light is received by the distance measuring light receiving unit 54 and the time until the laser light is received by the distance measuring light receiving unit 54 through the internal reference light path The distance from 1 to the measurement object (measurement target point) is measured.
  • the imaging unit 25 has an image light receiving unit 58.
  • the image light receiving unit 58 is provided at the bottom of the lens barrel 46.
  • the image light receiving unit 58 is configured by an array of a large number of pixels arranged in a plane, for example, a CCD (Charge-Coupled Device).
  • the position of each pixel of the image light receiving unit 58 is specified by the optical axis 50. For example, assuming an XY coordinate with the optical axis 50 as the origin, a pixel is defined as a point of this XY coordinate.
  • the rotary irradiation unit 28 is housed in the light projection casing 59.
  • a part of the peripheral wall of the light projection casing 59 serves as a light projection window.
  • a pair of mirror holder plates 61 are provided facing the flange portion 60 of the lens barrel 46.
  • a rotation shaft 62 is stretched over the mirror holder plate 61.
  • the high / low angle turning mirror 55 is fixed to the turning shaft 62.
  • An elevation gear 63 is fitted to one end of the rotation shaft 62.
  • An elevation angle detector 64 is provided on the other end side of the rotation shaft 62. The elevation angle detector 64 detects the rotation angle of the elevation angle rotation mirror 55 and outputs the detection result to the control unit 26.
  • a driving motor 65 for high and low angles is attached to one side of the mirror holder plate 61.
  • a drive gear 66 is fitted on the output shaft of the high / low angle drive motor 65.
  • the drive gear 66 is meshed with an elevation gear 63 attached to the rotary shaft 62.
  • the elevation motor 65 is appropriately driven by the control of the control unit 26 based on the detection result of the elevation detector 64.
  • the sight sight gate 67 is used for roughly collimating the measurement object.
  • the collimation direction using the sight sight gate 67 is a direction orthogonal to the direction in which the projection light axis 56 extends and the direction in which the rotation shaft 62 extends.
  • FIG. 14 is a block diagram of the control unit. Detection signals from the horizontal angle detector 44, the elevation angle detector 64, and the tilt sensor 37 are input to the control unit 26.
  • the control unit 26 receives an operation instruction signal from the operation unit 6.
  • the control unit 26 drives and controls the horizontal angle drive motor 38, the elevation angle drive motor 65, and the leveling motor 34, and controls the display unit 7 that displays the work status, measurement results, and the like.
  • An external storage device 68 such as a memory card or HDD can be attached to and detached from the control unit 26.
  • the control unit 26 includes a calculation unit 4, a storage unit 5, a horizontal drive unit 69, a height drive unit 70, a leveling drive unit 71, a distance data processing unit 72, an image data processing unit 73, and the like.
  • the storage unit 5 includes a sequence program, a calculation program, a measurement data processing program for performing measurement data processing, an image processing program for performing image processing, and point cloud data necessary for distance measurement and detection of elevation angle and horizontal angle
  • Various programs such as a program for extracting a surface from the image and further calculating a contour line and an image display program for displaying the calculated contour line on the display unit 7 are stored, and these various programs are integrated and managed. An integrated management program and the like are stored.
  • the storage unit 5 stores various data such as measurement data and image data.
  • the horizontal drive unit 69 drives and controls the horizontal angle drive motor 38
  • the elevation drive unit 70 controls the drive of the elevation angle drive motor 65
  • the leveling drive unit 71 controls the leveling motor 34.
  • the distance data processing unit 72 processes the distance data obtained by the distance measuring unit 24, and the image data processing unit 73 processes the image data obtained by the imaging unit 25.
  • FIG. 15 is a block diagram of the calculation unit 4.
  • the calculation unit 4 includes a three-dimensional coordinate calculation unit 74, a link formation unit 75, a grid formation unit 9, and a point group data processing unit 100 '.
  • the three-dimensional coordinate calculation unit 74 receives the distance data of the measurement target point from the distance data processing unit 72, and the direction data (horizontal angle and elevation angle) of the measurement target point from the horizontal angle detector 44 and the elevation angle detector 64. Is entered.
  • the three-dimensional coordinate calculation unit 74 is based on the input distance data and direction data, and the three-dimensional coordinates (orthogonal coordinates) of each measurement point with the position of the point cloud data processing device 1 as the origin (0, 0, 0). Is calculated.
  • the link forming unit 75 receives the image data from the image data processing unit 73 and the coordinate data of the three-dimensional coordinates of each measurement point calculated by the three-dimensional coordinate calculation unit 74.
  • the link forming unit 75 forms point cloud data 2 in which image data (RGB intensity at each measurement point) and three-dimensional coordinates are linked. That is, when focusing on a point on the measurement object, the link forming unit 75 creates a link in which the position of the point of interest in the two-dimensional image is associated with the three-dimensional coordinates of the point of interest.
  • the associated data is calculated for all measurement points, and becomes point cloud data 2.
  • the point cloud data processing device 1 can acquire the point cloud data 2 of the measurement object measured from different directions. For this reason, if one measurement direction is one block, the point cloud data 2 can be composed of a two-dimensional image and three-dimensional coordinates of a plurality of blocks.
  • the link forming unit 75 outputs the above point cloud data 2 to the grid forming unit 9.
  • the grid forming unit 9 forms an equally spaced grid (mesh) and registers the point closest to the grid intersection.
  • the grid formation part 9 correct
  • the processing of the grid forming unit 9 can be omitted.
  • FIG. 16 is a diagram showing point cloud data in which the distance between points is not constant
  • FIG. 17 is a diagram showing a formed grid.
  • the average horizontal spacing H1 to N of each column is obtained, the difference ⁇ Hi, j of the average horizontal spacing between the columns is calculated, and the average is set as the horizontal spacing ⁇ H of the grid (Equation 2).
  • the vertical interval distances ⁇ VN, H between adjacent vertical points in each column are calculated, and the average of ⁇ VN, H in the entire image of image sizes W, H is defined as vertical interval ⁇ V (Equation 3).
  • a grid with the calculated horizontal interval ⁇ H and vertical interval ⁇ V is formed.
  • a predetermined threshold is provided for the distance from the intersection to each point to limit registration.
  • the threshold value is 1 ⁇ 2 of the horizontal interval ⁇ H and the vertical interval ⁇ V. It should be noted that all points may be corrected by applying a weight according to the distance from the intersection, such as a linear interpolation method or a bicubic method. However, when interpolation is performed, the point is not originally measured.
  • the point cloud data obtained as described above is output to the point cloud data processing unit 100 '.
  • the point cloud data processing unit 100 ′ performs the operation described in the first embodiment when the operation unit 6 in FIG. 14 is operated by the user, and a display unit 7 in which an image obtained as a result is a liquid crystal display. Is displayed. This point is the same as the case described in relation to the first embodiment.
  • the point cloud data processing unit 100 ′ has a configuration in which the image display device 109 and the operation input unit 110 are omitted from the point cloud data processing device 100 of FIG. 1.
  • the point cloud data processing unit 100 ′ is configured in hardware by a dedicated integrated circuit using FPGA.
  • the point cloud data processing unit 100 ′ performs processing on the point cloud data in the same manner as the point cloud data processing device 100.
  • the three-dimensional laser scanner can be used in combination with the point cloud data processing apparatus of the first embodiment. Also, a three-dimensional scanner configured to output point cloud data from the grid forming unit 9, and the point cloud data processing apparatus 1 of FIG. 1 that receives the output of the three-dimensional scanner and performs the operation described in the first embodiment.
  • FIG. 18 shows a point cloud data processing device 200.
  • the point cloud data processing apparatus 200 has a configuration in which an image measurement function including a stereo camera and a point cloud data processing function using the present invention are integrated.
  • the point cloud data processing device 200 images the measurement object in the overlapping imaging regions from different directions, associates the feature points in the overlap image, and obtains the position and orientation of the image capturing unit obtained in advance and the feature points in the overlap image. Based on the position, the three-dimensional coordinates of the feature points are calculated. Further, the point cloud data processing device 200 forms point cloud data in which a two-dimensional image and a three-dimensional coordinate are linked based on the parallax of the feature points in the overlapped image, the measurement space, and the reference form. Furthermore, the point cloud data processing device 200 performs surface labeling processing and calculation of contour line data based on the obtained point cloud data.
  • FIG. 18 is a block diagram showing the configuration of the point cloud data processing apparatus 200.
  • the point cloud data processing device 200 includes photographing units 76 and 77 for obtaining a stereo image, a feature projection unit 78, an image data processing unit 73, a calculation unit 4, a storage unit 5, an operation unit 6, a display unit 7, and a data output unit. 8 is provided.
  • a digital camera, a video camera, a CCD camera for industrial measurement (Charge-Coupled Device-Camera), a CMOS camera (Complementary-Metal-Oxide-Semiconductor-Camera), or the like is used.
  • the imaging units 76 and 77 function as a stereo camera that images the measurement object in overlapping imaging areas from different imaging positions. Note that the number of imaging units is not limited to two, and may be three or more.
  • the feature projection unit 78 For the feature projection unit 78, a projector, a laser device, or the like is used.
  • the feature projection unit 78 projects a pattern such as a random dot pattern, dot spot light, or linear slit light onto the measurement object. Thereby, it gives a characteristic to the part with a poor characteristic of a measuring object, and makes image processing easy.
  • the feature projection unit 78 is mainly used for precise measurement of medium to small artifacts without a pattern.
  • the feature projection unit 78 can be omitted when measurement of a relatively large measurement object that is usually outdoors and precise measurement are not necessary, or when the measurement object has a feature and a pattern can be applied.
  • the image data processing unit 73 converts the duplicate image captured by the imaging units 76 and 77 into image data that can be processed by the calculation unit 4.
  • the storage unit 5 calculates a three-dimensional coordinate based on a program for measuring the shooting position and orientation, a program for extracting and associating feature points from the overlapped image, and the position of the feature point in the overlapped image and the shooting position and posture , A program for determining point corresponding to erroneous correspondence to form point cloud data, a program for extracting a surface from the point cloud data and further calculating a contour line, and an image for displaying the calculated contour line on the display unit 7
  • various programs such as a display program
  • various data such as point cloud data and image data are stored.
  • the operation unit 6 is operated by the user and outputs an operation instruction signal to the calculation unit 4.
  • the display unit 7 displays the processing data of the calculation unit 4, and the data output unit 8 outputs the processing data of the calculation unit 4 to the outside.
  • Image data is input from the image data processing unit 73 to the calculation unit 4.
  • the calculation unit 4 measures the position and orientation of the imaging units 76 and 77 based on the captured image of the calibration subject 79, and features from the overlapping images of the measurement object. Extract and associate points.
  • the calculation unit 4 calculates the positions and orientations of the imaging units 76 and 77, calculates the three-dimensional coordinates of the measurement object based on the positions of the feature points in the overlapping image, and forms the point cloud data 2. Further, the calculation unit 4 extracts a surface from the point cloud data 2 and calculates a contour line of the measurement object.
  • FIG. 19 is a block diagram of the calculation unit 4.
  • the calculation unit 4 includes a point group data processing unit 100 ′, a shooting position / orientation measurement unit 81, a feature point correspondence unit 82, a background removal unit 83, a feature point extraction unit 84, a corresponding point search unit 85, and a three-dimensional coordinate calculation unit 86.
  • a miscorresponding point determination unit 87, a parallax determination unit 88, a space determination unit 89, and a form determination unit 90 are provided.
  • the point cloud data processing unit 100 ′ has a configuration in which the image display device 109 and the operation input unit 110 are omitted from the point cloud data processing device 100 of FIG. 1.
  • the point cloud data processing unit 100 ′ is configured by hardware by a dedicated integrated circuit using FPGA.
  • the point cloud data processing unit 100 ′ performs processing on the point cloud data in the same manner as the point cloud data processing device 100.
  • Image data of overlapping images taken by the imaging units 76 and 77 are input from the image data processing unit 73 to the imaging position / orientation measurement unit 81.
  • a target 80 (retro target, code target, or color code target) is affixed to the calibration subject 79 at a predetermined interval.
  • the image coordinates of the target 80 are detected from the captured images, and the positions and orientations of the photographing units 76 and 77 are detected using a known relative orientation method, single photo orientation method, DLT (Direct Linear Transformation) method, or bundle adjustment method. Measure. Note that the relative orientation method, single photo orientation method or DLT method, and bundle adjustment method may be used alone or in combination.
  • the feature point association unit 82 receives the overlapping image of the measurement object from the image data processing unit 73, extracts the feature point of the measurement object from the overlap image, and associates it.
  • the feature point association unit 82 includes a background removal unit 83, a feature point extraction unit 84, and a corresponding point search unit 85.
  • the background removal unit 26 subtracts the background image on which the measurement object is not copied from the photographed image on which the measurement object is copied, the operator designates the position to be measured by the operation unit 6, or specifies the measurement position. By performing automatic extraction (use of a pre-registered model and automatically detecting locations with abundant features), a background-removed image in which only the measurement object is captured is generated. If it is not necessary to remove the background, the processing of the background removal unit 26 can be omitted.
  • the feature point extraction unit 84 extracts feature points from the background removed image.
  • differential filters such as Sobel, Laplacian, Prewitt, and Roberts are used.
  • the corresponding point search unit 85 searches for a corresponding point corresponding to the feature point extracted in one image in the other image.
  • template matching such as residual sequential detection method (Sequential Similarity Detection Algorithm Method: SSDA), normalized correlation method, orientation code matching method (Orientation Code Matching: OCM) is used.
  • the three-dimensional coordinate calculation unit 86 determines each feature based on the position and orientation of the imaging units 76 and 77 measured by the imaging position / orientation measurement unit 81 and the image coordinates of the feature points associated by the feature point association unit 82. Calculate the 3D coordinates of a point.
  • the miscorresponding point determination unit 87 determines the miscorresponding point based on at least one of parallax, measurement space, and reference form.
  • the miscorresponding point determination unit 87 includes a parallax determination unit 88, a space determination unit 89, and a form determination unit 90.
  • the parallax determination unit 88 creates a parallax histogram of corresponding feature points in the overlapped image, and determines a feature point having a parallax that is not within a predetermined range from the average parallax value as a miscorresponding point. For example, an average value ⁇ 1.5 ⁇ (standard deviation) is set as a threshold value.
  • the space determination unit 89 defines a space at a predetermined distance from the position of the center of gravity of the calibration subject 70 as a measurement space, and the three-dimensional coordinates of the feature points calculated by the three-dimensional coordinate calculation unit 86 are out of the measurement space. Then, the feature point is determined as an erroneous correspondence point.
  • the form determination unit 90 forms or inputs the reference form (rough surface) of the measurement object from the three-dimensional coordinates of the feature points calculated by the three-dimensional coordinate calculation unit 86, and the reference form and the three-dimensional coordinates of the feature points
  • the miscorresponding point is determined based on the distance. For example, a rough surface is formed by forming a TIN (Triangulated Irregular Network) having sides longer than a predetermined length and deleting a TIN having a long side based on feature points. Next, a miscorresponding point is determined based on the distance between the rough surface and the feature point.
  • TIN Triangulated Irregular Network
  • the miscorresponding point determination unit 87 forms point cloud data 2 excluding the determined miscorresponding point.
  • the point cloud data 2 has a direct link structure that connects a two-dimensional image and a three-dimensional coordinate.
  • the calculation unit 4 determines whether the corresponding point determination unit 87 and the point cloud data processing device 100 ′ are It is necessary to provide the grid formation part 9 in between.
  • the grid forming unit 9 forms an equidistant grid (mesh) and registers the point closest to the grid intersection. Thereafter, as described in the first embodiment, a surface is extracted from the point cloud data 2 and the contour line of the measurement object is further calculated.
  • point cloud data composed of a two-dimensional image and three-dimensional coordinates can be acquired by the image measuring device.
  • the image measuring apparatus configured to output point cloud data from the miscorresponding point determination unit 87, and the point cloud data processing apparatus of FIG. 1 that receives the output of the image forming apparatus and performs the operation described in the first embodiment.
  • the present invention can be used for a technique for measuring three-dimensional information.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)
  • Image Generation (AREA)

Abstract

 測定対象物の二次画像と、この二次元画像を構成する複数の点の三次元座標データとを関連付けた点群データの中から、演算の負担の大きい非面領域に係る点群データ除去する非面領域除去部101と、非面領域のデータが除去された後の点群データに対して、面を指定するラベルを付与する面ラベリング部102と、ラベルが付与された面から連続した局所領域に基づく局所平面を利用して、対象物の輪郭線を算出する輪郭線算出部106を備える。

Description

点群データ処理装置、点群データ処理システム、点群データ処理方法、および点群データ処理プログラム
 本発明は、点群データ処理技術に係り、特に測定対象物の点群データからその特徴を抽出し、三次元形状を自動的かつ短時間に生成する点群データ処理技術に関する。
 測定対象物の点群データから三次元形状を生成する方法として、隣接点を結んでポリゴンを形成していく方法がある。しかしながら、点群データの数万~数千万の点に対してポリゴンを形成するには、膨大な処理時間が掛かり、使い勝手が悪いものとなってしまう。このため、点群データから三次元の特徴(エッジや面)のみを抽出して、三次元ポリラインを自動的に生成する技術が開示されている(例えば、特許文献1~3)。
 特許文献1に記載の発明では、走査レーザー装置が三次元対象を走査して、ポイントクラウドを生成する。ポイントクラウドは、走査点に関する深さと法線の変化に基づいて、エッジポイントと非エッジポイントのグループに分割される。各グループを幾何学的原図にフィットさせ、フィットした幾何学的原図を拡張、交差させることで、三次元形状を生成する。
 特許文献2に記載の発明では、点群データからセグメント(三角ポリゴン)を形成し、隣接するポリゴン同士の連続性、法線方向、または距離に基づき、エッジおよび面を抽出する。また、各セグメントの点群データの平面性または曲面性を、最小二乗法を用いて、平面方程式または曲面方程式に置き換え、グループ分けを行い、三次元形状を生成する。
 特許文献3に記載の発明では、三次元点群データに対して二次元矩形領域を設定し、その矩形領域に対応する測定点の合成法線ベクトルを求める。合成法線ベクトルがZ軸方向と一致するように、矩形領域内の全ての計測点を回転移動する。矩形領域内の各計測点についてZ値の標準偏差σを求め、標準偏差σが所定値を超えた場合、矩形領域の中心点と対応する計測点をノイズとして取り扱う。
特表2000-509150号公報 特開2004-272459号公報 特開2005-024370号公報
 レーザー機器やステレオ撮像装置等から得られた対象物の三次元情報の利用用途の一つは、対象物の特徴を抽出して三次元CADのデータを得る点にある。ここで重要なのは、自動的かつ短い演算時間で所望のデータが得られることである。このような背景において、本発明は、測定対象物の点群データからその特徴を抽出し、対象物の輪郭に係るデータを自動的かつ短時間に生成する技術を提供することを目的とする。
 請求項1に記載の発明は、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部とを備え、前記輪郭線算出部は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、前記局所領域にフィッティングし、前記第1の面および前記第2の面と異なる面の方向を有する局所面の取得を行う局所面取得部とを備え、前記局所面に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置である。
 点群データでは、二次元画像と三次元座標とが結び付けられている。すなわち、点群データでは、測定対象物の二次元画像のデータと、この二次元画像に対応付けされた複数の測定点と、この複数の測定点の三次元空間中の位置(三次元座標)とが関連付けされている。点群データによれば、点の集合により測定対象物の外形を再現することができる。また、各点の三次元座標が判るので、各点の相対位置関係が把握でき、画面表示した対象物の画像を回転させたり、異なる視点から見た画像に切り替えたりする処理が可能となる。
 請求項1において、ラベルとは面を特定する(あるいは他の面と区別する)識別子である。面は、演算の対象として選択するのに適切な面のことであり、平面、曲率の大きい曲面、曲率が大きくその位置による変化が小さい曲面が含まれる。本発明では、演算により数学的に把握(データ化)する際の演算量が許容される量であるか否かによって、面と非面とが区別される。非面には、角、エッジ部分、その他曲率の小さい部分や曲率の場所による変化が激しい部分が含まれる。これらの部分は、演算による数学的な把握(データ化)に際して、多量の演算が必要であり、演算装置への高負担や演算時間の増大を招く。本発明は、演算時間の短縮が課題の一つであるので、このような演算装置への高負担や演算時間の増大を招く面を非面として除去し、極力演算の対象としないようにする。
 請求項1において、第1の面と第2の面は、間に非面領域を挟んだ位置関係にあるものが対象となる。一般に、非面領域を除去した場合に、この非面領域を間に挟む位置にある2つの面は隣接する第1の面と第2の面となる。本発明は、この第1の面と第2の面との間の輪郭線を算出する技術である。
 輪郭線というのは、測定対象物の外観を視覚的に把握するために必要な、当該測定対象物の外形を形作っている線(outline)のことである。具体的には、折れ曲がった部分や急激に曲率が小さくなっている部分が輪郭線となる。輪郭線は、外側の輪郭の部分のみが対象となるとは限らず、凸状に飛び出している部分を特徴付ける縁の部分や、凹状に引っ込んでいる部分(例えば、溝構造の部分)を特徴づける縁の部分も対象となる。輪郭線により所謂線図が得られ、対象物の外観が把握し易い画像表示を行うことができる。実際の輪郭線は、面と面の境やエッジの部分に存在するが、本発明では、これらの部分は、非面領域として点群データから除去するので、下記に説明するようにして輪郭線を演算により予想する。
 請求項1に記載の発明では、対象物の角や縁の部分に相当する領域を非面領域として除去し、データとしてまとめて扱いやすい面の集まりにより対象物の電子的な把握を行う。この原理によれば、対象物の外観は、複数の面の集合として把握される。このため、扱うデータ量が節約され、対象物の3次元データを得るのに必要な演算量が節約される。そして、点群データの処理時間が短縮化され、測定対象物の三次元画像の表示やそれに基づく各種の演算の処理時間が短縮化される。
 ところで、三次元CADデータとしては、対象物の形状を視覚的に把握する必要から、対象物の3次元的な輪郭線の情報(線図データ)が必要とされる。しかしながら、対象物の輪郭情報は、面と面との間に存在するので、上述した非面領域に含まれている。そこで、請求項1に記載の発明では、まず少ない演算量で済む面の集まりとして対象物を把握し、次に隣接する面と面との間に輪郭線があるものとして輪郭線を推定する。
 対象物の輪郭線の部分は、エッジ等の曲率が鋭く変化している部分を含む場合があるので、得られた点群データから直接演算を行い、輪郭線のデータを得ることは、演算量の増大を招くので効率的ではない。請求項1に記載の発明では、輪郭線付近の点群データは非面領域として除去し、計算し易い面の点群データに基づきまず面を抽出する。しかる後に得られた面に連続し、先に除去された非面領域の点群データに基づく局所領域を取得し、この局所領域にフィッティングする局所面を取得する。この局所面は、第1の面よりは、非面領域の形状にフィッティングした局所的な面となる。この局所面は、第1の面と第2の面との間の非面領域の状態を完全ではないが反映した面であるので、第1の面および第2の面とは面の方向(法線方向)が異なっている。
 上述したようにこの局所面は、第1の面と第2の面との間の非面領域の状態を反映した面であるので、この局所面に基づいて輪郭線を算出することで、近似精度の高い輪郭線を得ることができる。またこの手法によれば、局所面で非面領域を近似するので、演算量を抑えることができる。なお、局所面は、平面(局所平面)が演算量を抑える上で有用であるが、曲面を局所面として利用することも可能である。
 請求項1に記載の発明において、局所領域は第1の面に隣接していてもよいし、第1の面から離れた位置にあってもよい。この場合、局所領域が第1の面から離れた位置にある場合、当該局所領域と第1の面との間は、1または複数の局所領域によって接続される。ここで、第1の面とそこに隣接する局所領域で点が共有され(例えば縁の部分が共有され)、次にこの局所領域とその隣の局所領域で点が共有され、という関係が確保されば、領域の連続性は確保される。
 請求項1に記載の発明において、面と非面の区別は、面として扱うのに適しているか否かを判定する指標となるパラメータに基づいて行われる。このパラメータとしては、(1)局所曲率、(2)局所平面のフィッティング精度、(3)共平面性が挙げられる。
 局所曲率は、注目点とその周囲の点との法線ベクトルのバラツキを示すパラメータである。例えば、注目点とその周囲の点とが同一平面上にある場合、各点の法線ベクトルのバラツキはないので、局所曲率は最小となる。
 局所平面というのは、局所的な領域を平面で近似したものである。局所平面のフィッティング精度というのは、算出された局所平面とこの局所平面の基となった局所領域とが一致する精度である。局所領域は、例えば、一辺が3~9画素程度の正方領域(矩形の領域)のことである。そしてこの局所領域を扱いやすい局所的な平面(局所平面)で近似したものを局所平面とし、各点における局所平面と当該局所領域との距離の平均値を求める。この値により局所平面の局所領域へのフィッティング精度が判定される。例えば、局所領域が平面であれば、局所領域と局所平面とは一致し、局所平面のフィッティング精度が最も高い(良い)状態となる。
 共平面性は、隣接または近接する2つの面の方向の違いを示すパラメータである。例えば、隣接する平面が90度で交差する場合、この隣接する平面の法線ベクトルは直交する。そして2つの平面のなす角度が小さくなる程、2つの平面の法線ベクトルのなす角度は小さくなる。この性質を利用して、隣接する2つの面が同一面にあるのか、そして同一面にないのであれば、その違いはどの程度なのか、が判定される。この程度が共平面性である。具体的には、対象となる2つの局所領域のそれぞれにフィッティングする2つの局所平面の法線ベクトルと、その中心点間を結ぶベクトルとの内積が0であれば、両局所平面が同一平面上に存在すると判定される。また、上記内積が大きくなる程、2つの局所平面が同一面上にない程度がより顕著であると判定される。
 上述した(1)局所曲率、(2)局所平面のフィッティング精度、(3)共平面性を判定する各パラメータには、閾値が設定され、その閾値によって面と非面の区別の判定が行われる。一般に、面の向きが変わることで発生する鋭い三次元エッジや、曲率の大きい曲面によって発生する滑らかな三次元エッジのような非面領域は、(1)の局所曲率によって判定される。オクルージョン(手前の物体に遮られて奥の物体が見えなくなっている状態)によって発生する三次元エッジのような非面領域は、点の位置が急峻に変化するため、(2)の局所平面のフィッティング精度により主に判定される。面の向きが変わることで発生する鋭い三次元エッジのような非面領域は、(3)の共平面性により主に判定される。
 面と非面とを区別する判定は、上記3種類の判定基準の1または複数を用いて可能である。例えば、上記3種類の判定をそれぞれ実行し、その中の1以上で非面との判定が下された場合に、対象領域を非面領域と判定する処理が挙げられる。
 なお、上記の閾値の設定を調整することで、精度、演算時間(演算量)、扱うデータ量のバランスを調整することが可能である。また、測定対象物の違いや用途の違い(精密図面用のデータなのか概略の俯瞰図を得るためのデータなのか等)によって上記の閾値を変更することも可能である。
 請求項2に記載の発明は、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部とを備え、前記輪郭線算出部は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく第1の局所領域および前記第2の面に連続し前記非面領域の点群データに基づく第2の局所領域を取得する局所領域取得部と、前記第1の局所領域にフィッティングし、前記第1の面および前記第2の面と異なる面の方向を有する第1の局所面、および前記第2の局所領域にフィッティングし、前記第1の面および前記第2の面と異なる面の方向を有する第2の局所面の取得を行う局所面取得部とを備え、前記第1の局所面および前記第2の局所面に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置である。
 請求項2に記載の発明によれば、第1の面の側および第2の面の側の両方で局所面の取得が行われる。つまり、第1の面から第2の面の方向に延びる局所面と第2の面から第1の面の方向に延びる局所面とが取得される。こうすることで、局所面による非面領域の近似精度がより高くなり、輪郭線の算出精度がより高くなる。
 請求項3に記載の発明は、請求項2に記載の発明において、前記第1の局所面と前記第2の局所面は、前記第1の面と前記第2の面を接続する接続面を構成することを特徴とする。請求項3に記載の発明によれば、非面領域として除去された部分を接続面として仮想的に形成し、この接続面に基づいて第1の面と第2の面に係る輪郭線の算出が行われる。接続面は、実際の非面領域を近似する単純化された近似面である。接続面を採用することで、点群データに基づいて直接エッジ部分の形状を算出する場合の煩雑さを避けることができる。
 請求項4に記載の発明は、請求項2または3に記載の発明において、前記第1の面と前記第1の局所面との間、および前記第2の面と前記第2の局所面との間において、1または複数の局所面が取得されていることを特徴とする。
 請求項4に記載の発明によれば、第1の面から第2の面に向かって、複数の局所面が設定され、同様に第2の面から第1の面に向かって、複数の局所面が設定される。こうすることで、非面領域として除去された部分を狭めるように第1の面と第2の面の両側から接続面が延びる。ここで、第1の面側から延在した接続面の先端は、第1の局所面であり、第2の面側から延在した接続面の先端は、第2の局所面であり、互いに向き合う方向に延在し、対向する位置関係となった先頭部分の隣接する2つの局所面に基づいて輪郭線が算出される。この構成によれば、接続面をより細かく実際の非面領域の形状に追従させ、その上で隣接する局所面に基づいて輪郭線を算出するので、輪郭線の算出精度を更に高くできる。
 請求項5に記載の発明は、請求項2~4のいずれか一項に記載の発明において、前記輪郭線は、前記第1の局所面と前記第2の局所面の交線として算出されることを特徴とする。請求項5に記載の発明によれば、第1の面から第2の面に向かって1または複数の局所面を延ばしていき(繋いでいき)、他方で第2の面から第1の面に向かって1または複数の局所面を延ばしていった(繋いでいった)場合において、最終的に隣接する両面から延びてきた局所面同士の交線を輪郭線とする。この手法によれば、非面領域の形状が複雑であっても、より細かく局所面を継ぎ接ぎしながら接続面を構成することになるので、輪郭線の算出精度を高くできる。
 請求項6に記載の発明は、請求項1~5のいずれか一項に記載の発明において、Nを3以上の自然として、前記局所領域がN×N個の点により構成される正方領域であることを特徴とする。3×3、5×5、7×7といった点の集合によって局所領域を設定し、局所面をそこにフィッティングする局所平面とすることで、演算速度の高速化と演算結果の精度とをバランスさせることができる。局所領域を構成する点の数を少なくすると精度は向上するが演算の負担は増大し、処理時間の点で不利となる。逆に、局所領域を構成する点の数を多くすると精度は低下するが演算の負担は軽くなり、処理時間の点で有利となる。このような背景において、精度を担保する観点から、局所領域の点の数は、9×9程度を上限とすることが望ましい。
 請求項7に記載の発明は、請求項1~6のいずれか一項に記載の発明において、前記非面領域を判定する非面領域判定用閾値および前記同一面を判定する同一面判定用閾値が存在し、前記非面判定用閾値を変更しての再度の前記非面領域の点の除去と、前記同一面判定用閾値を変更しての再度の前記同一面の点への同一ラベルの付与とが行われることを特徴とする。
 請求項7に記載の発明によれば、閾値を変更しての再処理を行うことで、一旦非面領域と判定された領域の中から面として判定される領域を取得する。これにより、非面領域をより狭くし、輪郭線の算出精度を高めることができる。
 請求項8に記載の発明は、請求項1~7のいずれか一項に記載の発明において、前記輪郭線を平滑化する平滑化処理部を備えることを特徴とする。請求項8に記載の発明によれば、点群データの取得や非面領域の除去の過程において生じた誤差に起因する輪郭線の滑らかでない状態を改善することができる。
 請求項9に記載の発明は、請求項1~8のいずれか一項に記載の発明において、前記輪郭線算出部の算出結果に基づいて、前記測定対象物の輪郭の三次元画像を画像表示装置に表示する制御を行う三次元輪郭画像表示制御部を備えることを特徴とする。請求項9に記載の発明によれば、点群データに基づく測定対象物の輪郭線の画像を画像表示装置(例えば、液晶ディスプレイ等)に画像表示することができる。
 請求項10に記載の発明は、請求項1~9のいずれか一項に記載の発明において、前記面ラベリング部によって区分けされた複数の面を前記画像表示装置に表示する表示制御部と、前記画像表示装置に表示された前記複数の面に含まれる隣接する2つの面を選択することを可能とする面選択部と、前記隣接する2つの面が選択された場合に、この2つの面のそれぞれを前記第1の面および前記第2の面として認識する選択面認識部とを備えることを特徴とする。
 請求項10に記載の発明によれば、ラベリングされた複数の面が画像表示装置の画面上に表示された状態において、その中からユーザの希望する隣接する面が選択されると、それが認識される。この機能によれば、ユーザの指定に基づいて、輪郭線が算出される。一般に点群データに基づく3次元画像情報の全てが必ずしもユーザに必要とされる訳ではない。請求項10に記載の発明によれば、ユーザが欲する部分の輪郭線を画像表示することができる。また指定された部分の輪郭線の算出を行うようにすることで、無駄な演算による処理時間の増大を抑えることができる。
 請求項11に記載の発明は、請求項10に記載の発明において、前記複数の面を異なる表示形態で表示することを特徴とする。請求項11に記載の発明によれば、ラベリングされた異なる面を視覚的に把握し易い表示状態で表示する。これにより、ユーザによる輪郭線を得るための作業性が改善される。ここで、異なる表示形態というのは、濃淡の違い、色彩の違い、ドット表示の密度の違い、ハッチング処理の違い、これらの中の複数の組み合わせが挙げられる。
 請求項12に記載の発明は、請求項10または11に記載の発明において、前記選択された2つの面を強調表示することを特徴とする。請求項12に記載の発明によれば、ユーザにより選択された隣接する2つの面が視認し易いように強調表示される。これにより、面を選択し、輪郭線を表示させる作業の作業性が改善される。強調表示としては、点滅、他の面より濃い表示や明るい表示、他の面と異なる色彩の表示といった例が挙げられる。また、この強調表示される2つの面を区別し易いように、2つの面を異なる状態の強調表示とすることも有用である。
 請求項13に記載の発明は、請求項1~12のいずれか一項に記載の発明において、前記面ラベリング部によって区分けされた複数の面の中から、前記輪郭線の算出の対象としない面を選択する非算出対象面選択部と、前記輪郭線の算出の対象としない面を選択するためのデータを格納したデータ格納部または前記輪郭線の算出の対象としない面を指定する入力を受け付ける入力受け付け部とを備えることを特徴とする。
 例えば、室内の状態を測定対象とした場合、室内に持ち込んだ椅子等の家具の輪郭線が必要とされない場合がある。請求項13に記載の発明によれば、このような不要な対象物を輪郭線の算出の対象としない選択が、データ格納部に格納されたデータに基づき、またはユーザの指定により行われる。このため、ユーザによる無駄な作業や演算装置の無駄な演算を減らすことができる。
 請求項14に記載の発明は、請求項13に記載の発明において、前記輪郭線の算出の対象としない面の背後に隠れた前記輪郭線を算出する隠れ輪郭線算出部を備えることを特徴とする。請求項14に記載の発明によれば、例えば室内の壁や床に係る輪郭線が必要な場合に、家具の影に隠れた部分の当該部分の輪郭線が算出される。これにより、点群データの取得に不要な机等を実際に退けなくても陰に隠れている部分の輪郭線が再現される。
 請求項15に記載の発明は、測定対象物に対して測距光を回転照射する回転照射部と、前記測距光の飛行時間に基づいて自身の位置から測定対象物上の測定点までの距離を測距する測距部と、前記測距光の照射方向を検出する照射方向検出部と、前記距離および前記照射方向に基づいて、前記測定点の三次元座標を算出する三次元座標演算部と、前記三次元座標算出部が算出した結果に基づいて前記測定対象物の点群データを取得する点群データ取得部と、前記測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部とを備え、前記輪郭線算出部は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、前記局所領域にフィッティングし、前記第1の面および前記第2の面と異なる面の方向を有する局所面の取得を行う局所面取得部とを備え、前記局所面に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置である。
 請求項16に記載の発明は、異なる方向から重複した撮影領域で測定対象物を撮影する撮影部と、前記撮影部によって得られた重複画像内の特徴点を対応づける特徴点対応付部と、前記撮影部の位置および姿勢を測定する撮影位置姿勢測定部と、前記撮影部の位置および姿勢と前記重複画像内における特徴点の位置とに基づいて特徴点の三次元座標を演算する三次元座標演算部と、前記三次元座標算出部が算出した結果に基づいて前記測定対象物の点群データを取得する点群データ取得部と、前記測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部とを備え、前記輪郭線算出部は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、前記局所領域にフィッティングし、前記第1の面および前記第2の面と異なる面の方向を有する局所面の取得を行う局所面取得部とを備え、前記局所面に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置である。
 請求項17に記載の発明は、測定対象物の点群データを光学的に得る点群データ取得手段と、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去手段と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング手段と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出手段とを備え、前記輪郭線算出手段は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得手段と、前記局所領域にフィッティングし、前記第1の面および前記第2の面と異なる面の方向を有する局所面の取得を行う局所面取得手段とを備え、前記局所面に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理システムである。
 請求項18に記載の発明は、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去ステップと、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリングステップと、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出ステップとを備え、前記輪郭線算出ステップにおいて、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得ステップと、前記局所領域にフィッティングし、前記第1の面および前記第2の面と異なる面の方向を有する局所面の取得を行う局所面取得ステップとが行われ、前記局所面に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理方法である。
 請求項19に記載の発明は、コンピュータに読み取らせて実行させるプログラムであって、コンピュータを、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去手段と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング手段と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出手段として動作させ、前記輪郭線算出手段は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得手段と、前記局所領域にフィッティングし、前記第1の面および前記第2の面と異なる面の方向を有する局所面の取得を行う局所面取得手段とを備え、前記局所面に基づいて前記輪郭線の算出が行われることを特徴とするプログラムである。
 請求項15~19に記載の発明においても請求項2~14のいずれか一項に記載した内容を付加することが可能である。
 請求項20に記載の発明は、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部とを備え、前記輪郭線算出部は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、前記局所領域にフィッティングし、前記第1の面および前記第2の面と平行でない局所線の取得を行う局所線取得部とを備え、前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置である。
 請求項20に記載の発明は、請求項1に記載の発明において、局所的な2次元空間である局所平面を取得する構成の代わりに、局所領域にフィッティングした局所的な1次元空間である局所線を取得する構成としたものである。局所線は、着目している局所領域にフィッティングし、第1の面から第2の面に向かう方向に沿って延在する長さの限られた線である。この構成は、請求項1に記載の発明において、局所面の幅を狭くし、着目している局所領域にフィッティングする局所的な線を求め、この局所的な線を局所面の代わりに用いて輪郭線を得る手法と考えることができる。なお局所線は、直線であってもよいし、曲線であってもよい。
 請求項20に記載の発明によれば、局所線同士の交点が輪郭線の通過点となる。この場合、複数求めた交点を結ぶことで輪郭線の算出が行われる。ここで、結ばれる複数の交点は隣接していなくてもよい。例えば、直線または直線近似される輪郭線であれば、離れた2点を請求項20に記載の発明で求め、それを結ぶことで、輪郭線の算出が行える。この場合、演算量を大きく節約することができる。
 請求項20に記載の発明を、請求項1に記載の発明と同様に、方法の発明、システムの発明、プログラムの発明として把握することも可能である。また、請求項20に記載の発明を請求項2に記載の発明のように、2つの面から局所線を延ばしてゆく手法として把握することも可能である。また、請求項20に記載の発明に請求項2~14のいずれか一項に記載の内容を付加した構成も可能である。
 本発明によれば、測定対象物の点群データからその特徴を抽出し、対象物の輪郭に係るデータを自動的かつ短時間に生成する技術が提供される。
実施形態の点群データ処理装置のブロック図である。 実施形態の処理の手順を示すフローチャートである。 測定対象物の一例を示す概念図である。 ラベルが付与された面の縁の様子を示す概念図である。 輪郭線を算出する原理を示す概念図である。 輪郭線を算出する原理を示す概念図である。 輪郭線算出部の一例を示すブロック図である。 ラベルが付与された面の縁と輪郭線の関係を示す概念図である。 輪郭線を得るモデルを示す概念図である。 輪郭線を算出する原理を示す概念図である。 輪郭線を算出する原理を示す概念図である。 三次元レーザースキャナー機能を有した点群データ処理装置の概念図である。 三次元レーザースキャナー機能を有した点群データ処理装置の概念図である。 実施形態の制御系のブロック図である。 実施形態の演算部のブロック図である。 グリッドの形成手順の一例を示す概念図である。 グリッドの一例を示す概念図である。 ステレオカメラを用いた三次元情報の取得機能を有した点群データ処理装置の概念図である。 実施形態のブロック図である。
 1、100、200…点群データ処理装置、120…立方体、121…拡大部分、122…輪郭線、123…平面、123a…平面121の外縁、124…平面、124b…平面124の外縁、125…非面領域、131…平面、131a…平面131の外縁、132…平面、132a…平面132の外縁、133…非面領域、134…交線、135…局所平面、136…局所平面、137…局所平面、138…輪郭線、150…輪郭線、160…家具(タンス)、161…床面、162…壁面、163…壁面、164…壁面、165…輪郭線、166…輪郭線、167…輪郭線、168…輪郭線、169…輪郭線、170…輪郭線、171……輪郭線(隠れていた輪郭線)、172…輪郭線(隠れていた部分を繋げた輪郭線)、1…点群データ処理装置、2…点群データ、22…整準部、23…回転機構部、24…測距部、25…撮像部、26…制御部、27…本体部、28…回転照射部、29…台盤、30…下部ケーシング、31…ピン、32…調整ネジ、33…引っ張りスプリング、34…整準モータ、35…整準駆動ギア、36…整準従動ギア、37…傾斜センサ、38…水平回動モータ、39…水平回動駆動ギア、40…水平回動ギア、41…回転軸部、42…回転基盤、43…軸受部材、44…水平角検出器、45…本体部ケーシング、46…鏡筒、47…光軸、48…ビームスプリッタ、49、50…光軸、51…パルスレーザ光源、52…穴あきミラー、53…ビームウエスト変更光学系、54…測距受光部、55…高低角用回動ミラー、56…投光光軸、57…集光レンズ、58…画像受光部、59…投光ケーシング、60…フランジ部、61…ミラーホルダー板、62…回動軸、63…高低角ギア、64…高低角検出器、65…高低角用駆動モータ、66…駆動ギア、67…照星照門、68…外部記憶装置、69…水平駆動部、76、77…撮影部、78…特徴投影部、79…校正用被写体、80…ターゲット。
1.第1の実施形態
 以下、点群データ処理装置の一例について、図面を参照して説明する。本実施形態の点群処理装置は、測定対象物の二次元画像と、この二次元画像に対応させた複数の点の三次元座標データとを関連付けた点群データの中から、演算の負担の大きい非面領域に係る点群データを除去する非面領域除去部を備えている。また、非面領域のデータが除去された後の点群データに対して、面を指定するラベルを付与する面ラベリング部と、ラベルが付与された面から連続した局所領域に基づく局所平面を利用して、対象物の輪郭線を算出する輪郭線算出部を備えている。
(点群データ処理装置の構成)
 図1は、点群データ処理装置のブロック図である。点群データ処理装置100は、測定対象物の点群データに基づいて、測定対象物の特徴を抽出し、当該特徴に基づく三次元形状を生成する。点群データは、レーザー光を捜査して照射することで、測定対象物の3次元座標のデータを点群データとして得る三次元位置測定装置(三次元レーザースキャナ)や複数の撮像装置を用いて立体画像情報を取得し、それに基づいて測定対象物の3次元座標のデータを点群データとして得る立体画像情報取得装置から得られる。これらの装置については後述する構成を利用することができる。
 図1に示す点群処理装置100は、ノート型のパーソナルコンピュータ内においてソフトウェア的に構成されている。よって、本発明を利用した点群処理を行う専用のソフトウェアがインストールされたパーソナルコンピュータが図1の点群処理装置として機能する。このプログラムは、パーソナルコンピュータ中にインストールされている状態に限定されず、サーバや適当な記録媒体に記録しておき、そこから提供される形態であってもよい。
 利用されるパーソナルコンピュータは、キーボートやタッチパネルディスプレイ等の入力部、液晶ディスプレイ等の表示部、入力部と表示部を統合したユーザインターフェースであるGUI(グラフィカル・ユーザ・インターフェース)機能部、CPUおよびその他専用の演算デバイス、半導体メモリ、ハードディスク記憶部、光ディスク等の記憶媒体との間で情報のやり取りを行えるディスク記憶装置駆動部、USBメモリ等の携帯型記憶媒体との間で情報のやり取りを行えるインターフェース部、無線通信や有線通信を行う通信インターフェース部を必要に応じて備えている。なお、パーソナルコンピュータは、ノート型に限定されず、携帯型や卓上型等の他の形態であってもよい。また、汎用のパーソナルコンピュータを利用する以外に、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などのPLD(Programmable Logic Device)等を用いて構成した専用のハードウェアによって点群処理装置100を構成することも可能である。
(A)輪郭線の算出に係る構成
 まず、点群処理装置100における輪郭線を算出する処理を行う構成を説明する。点群処理装置100は、非面領域除去部101、面ラベリング部102、不要面除去部103、除去対象物データ格納部104、輪郭線算出部105を備えている。以下、これら各機能部について説明する。
(A1:非面領域除去部)
 図2は、点群データ処理装置100において行われる処理の一例を示すフローチャートである。図2のステップS202~S204の処理が非面領域除去部101において行われる。非面領域除去部101は、後述する局所領域の法線ベクトルを算出する法線ベクトル算出部101a、局所領域にフィッティングする局所平面を算出する局所平面算出部101c、局所領域の局所曲率を算出する局所曲率算出部101bを備える。以下、処理の流れに従って、これらの機能部について説明する。
 法線ベクトル算出部101aは、測定対象物の外観を複数の点により把握したデータにおいて、各点の三次元座標を示すデータの集まりである点群データに基づいて各点の法線ベクトルの算出を行う(ステップS202)。この法線ベクトルを算出する処理では、注目点を中心とした一辺が3~7画素程度の正方領域(格子状の領域)を局所領域とし、この局所領域における点群データに着目する。法線ベクトル算出部101aは、この局所領域内の各点の法線ベクトルを算出する。この処理は、全ての点群データを対象として行われる。すなわち、点群データが無数の局所領域に区分けされ、各局所領域において各点の法線ベクトルの算出が行われる。
 局所曲率算出部101bは、上述した局所領域内の法線ベクトルのバラツキ(局所曲率)を算出する(ステップS203)。ここでは、着目している局所領域において、各法線ベクトルの3軸成分の強度値(NVx, NVy, NVz)の平均(mNVx,mNVy,mNVz)を求め、さらに標準偏差(StdNVx,StdNVy,StdNVz)を求める。次に、標準偏差の二乗和の平方根を局所曲率(Local Curveture:crv)として算出する(下記数1参照)。
[数1]局所曲率=(StdNVx2+ StdNVy2+ StdNVz21/2
 局所平面算出部101cは、局所領域における局所平面を求める(ステップS204)。この処理では、着目している局所領域の各点の三次元座標から局所平面の方程式を求める(局所平面フィッティング)。局所平面は、着目している局所領域にフィッティングさせた平面である。ここでは、最小二乗法を用いて、当該局所領域にフィッティングする局所平面の面の方程式を算出する。具体的には、複数の異なる平面方程式を求めて比較し、当該局所領域にフィッティングする局所平面の面の方程式を算出する。仮に、着目している局所領域が平面であれば、局所平面と局所領域とは一致する。
 以上の処理を、局所領域を順次ずらしながら、全ての点群データが対象となるように繰り返し行い、各局所領域における法線ベクトル、局所平面、局所曲率を得る。
 次に、上で求めた各局所領域における法線ベクトル、局所平面、局所曲率に基づいて、非面領域の点を除去する処理を行う(ステップS205)。すなわち、面(平面および曲面)を抽出するために、予め面でないと判断できる部分(非面領域)を除去する。なお、非面領域とは、平面でも曲面でもない領域であるが、下記の(1)~(3)の閾値によっては曲率の高い曲面を含む場合がある。
 非面領域除去の処理は、以下に示す3つの方法のうち、少なくとも一つを用いて行うことができる。ここでは、下記の(1)~(3)の方法による判定を上述した局所領域の全てに対して行い、1以上の方法において非面領域と判定された局所領域を、非面領域を構成する局所領域として抽出する。そして、抽出された非面領域を構成する点に係る点群データを除去する。
(1)局所曲率の高い部分
 ステップS203で求めた局所曲率を予め設定しておいた閾値と比較し、閾値を超える局所曲率の局所領域を非面領域と判定する。局所曲率は、注目点とその周辺点における法線ベクトルのバラツキを表しているので、面(平面および曲率の小さい曲面)ではその値が小さく、面以外(非面)ではその値は大きくなる。したがって、予め決めた閾値よりも局所曲率が大きければ、当該局所領域を非面領域と判定する。
(2)局所平面のフィッティング精度
 局所領域の各点と対応する局所平面との距離を計算し、これらの距離の平均が予め設定した閾値よりも大きい場合、当該局所領域を非面領域と判定する。すなわち、局所領域が平面から乖離した状態であると、その程度が激しい程、当該局所領域の各点と対応する局所平面との距離は大きくなる。このことを利用して当該局所領域の非面の程度が判定される。
(3)共平面性のチェック
 ここでは、隣接する局所領域において、対応する局所平面同士の向きを比較する。この局所平面の向きの違いが閾値を超えている場合、比較の対象となった局所領域が非面領域に属していると判定する。具体的には、対象となる2つの局所領域のそれぞれにフィッティングする2つの局所平面の法線ベクトルと、その中心点間を結ぶベクトルとの内積が0であれば、両局所平面が同一平面上に存在すると判定される。また、上記内積が大きくなる程、2つの局所平面が同一面上にない程度がより顕著であると判定される。
 上記の(1)~(3)の方法による判定において、1以上の方法において非面領域と判定された局所領域を、非面領域を構成する局所領域として抽出する。そして、この抽出された局所領域を構成する点に係る点群データを算出対象としている点群データから除去する。以上のようにして、図2のステップS205における非面領域の除去が行われる。こうして、点群データ処理装置100に入力された点群データの中から非面領域の点群データが非面領域除去部101において除去される。なお、除去された点群データは、後の処理で利用する可能性があるので、適当な記憶領域に格納するなり、除去されなかった点群データと識別できる状態とするなどして、後で利用できる状態にしておく。
(A2:面ラベリング部)
 次に面ラベリング部102の機能について、図2を参照して説明する。面ラベリング部102は、非面領域除去部101で処理された点群データを対象として、図2のステップS206以下の処理を実行する。
 面ラベリング部102は、非面領域除去部101において非面領域の点群データが除去された点群データに対して、法線ベクトルの連続性に基づいて面ラベリングを行う(ステップS205)。具体的には、特定の注目点と隣接点の法線ベクトルの角度差が予め決めた閾値以下なら、それらの点に同一ラベルを貼る。この作業を繰り返すことで、連続する平面、連続する緩やかな曲面に同一ラベルが貼られ、それらを一つの面として識別可能となる。また、ステップS205の面ラベリングの後、法線ベクトルの角度差や法線ベクトルの3軸成分の標準偏差を用いて、ラベル(面)が平面であるか、または曲率の小さい曲面であるかを判定し、その旨を識別する識別データを各ラベルに関連付ける。
 続いて、面積の小さいラベル(面)をノイズとして除去する(ステップS207)。なお、このノイズ除去は、ステップS205の面ラベリングの処理と同時に行ってもよい。この場合、面ラベリングを行いながら、同一ラベルの点数(ラベルを構成する点の数)を数え、所定以下の点の数であるラベルを取り消す処理を行う。次に、この時点でラベルが無い点に対して、最近傍面(最も近い面)と同一のラベルを付与していく。これにより、既にラベリングされた面の拡張を行う(ステップS208)。
 以下、ステップS207の処理の詳細を説明する。まず、ラベルの付いた面の方程式を求め、当該面とラベルが無い点との距離を求める。ラベルが無い点の周辺に複数のラベル(面)がある場合には、その距離が最も短いラベルを選択する。そして、依然としてラベルが無い点が残存している場合には、非面領域除去(ステップS205)、ノイズ除去(ステップS207)、およびラベル拡張(ステップS208)における各閾値を変更し、再度関連する処理(再ラベリング)を行う(ステップS209)。例えば、非面領域除去(ステップS205)において、局所曲率の閾値を上げることで、非面として抽出する点の数が少なくなるようにする。または、ラベル拡張(ステップS208)において、ラベルの無い点と最近傍面との距離の閾値を上げることで、ラベルの無い点に対してより多くのラベルを付与するようにする。
 次に、ラベルが異なる面であっても同一面である場合にラベルを統合する(ステップS210)。この場合、連続しない面であっても、位置または向きが等しい面同士に同じラベルを付ける。具体的には、各面の法線ベクトルの位置および向きを比較することで、連続しない同一面を抽出し、いずれかの面のラベルに統一する。以上が面ラベリング部102の機能である。
 この面ラベリング部102の機能によれば、扱うデータ量を圧縮できるので、点群データの処理を高速化できる。また必要なメモリ量を節約できる。また、測定中に紛れ込んだ通行人や通過した車両の点群データをノイズとして除去することができる。
 以下、面ラベリング部102によって処理された点群データに基づく表示画像の一例を説明する。図3には、測定対象物の一例として立方体120が示されている。ここでは、立方体120を斜め上方の視点からレーザースキャナーによってスキャニングし、立方体120の点群データを得た場合を考える。この場合、この点群データに対して、図2のステップS201~S210の処理を施すと、図2で見えている3つの面にラベルが貼られ、遠目で見た場合は、一見すると図3に示すのと同様な画像データを得ることができる。
 しかしながら、平面123と平面124の境の付近を拡大すると、図4に示すように面123の面124側の外縁123aと、平面124の平面123側の外縁124aとは一致せず、略平行に延在した状態で位置している。つまり、立方体120の輪郭線122は正確に再現されない。
 これは、輪郭線122の部分のデータは、立方体120を構成する平面123と124の境の部分のエッジ部分であり、非面領域125として点群データから除去されているからである。この場合、異なるラベルの貼られた(付与された)平面123の外側の縁である外縁123aと平面124の外側の縁である外縁124aの点群データは処理対象とされるので、その部分の表示は行われる。しかしながら、外縁123aと124bの間(非面領域125)は、点群データがないので、当該部分に関する画像情報は表示されない。
 この理由により、面ラベリング部102の出力に基づく画像表示をした場合に、平面123と平面124との境となる輪郭線122が正確に表示されない。本実施形態では、点群データ処理装置100から、例えば上記の例示における輪郭線122が出力されるようにするために、後述する輪郭線算出部105が配置されている。
(A3:不要面除去部)
 不要面除去部103は、建物の前に停めてある車や室内の家具(椅子等)のように輪郭線のデータの取得が不要な対象物に係る面を点群データの中から除去する。この処理は、除去対象物データ格納部に格納されたデータに基づいて行われる。
 すなわち、除去対象物格納部104には、上述した車や家具といった輪郭線データの取得に当たって不要な対象物に係るリストが記憶されている。このリストは予め用意されたものが採用される。不要面除去部103は、公知の画像認識処理に基づいて、面ラベリング部から出力された画像データから不要と判断される対象物を抽出する。そしてこの抽出した対象物に係る面(ラベルが付与された面)を除去する。
 不要面除去部103の働きにより、輪郭線の算出を必要としない測定対象物の面のデータ(ラベルが付与された面のデータ)が除去され、輪郭線の算出において、無駄な演算が行われないようにできる。なお、不要面除去部103での処理をバイパスする設定も可能であり、この場合は、ここで述べた不要面除去部103の機能は発揮されない。
 また、不要な対象物をユーザが指定することもできる。この場合、不要な対象物または該当する面を公知のGUI機能を用いてユーザが指定し、指定された対象物または面に係る点群データが不要面除去部103において除去される。
(A4:輪郭線算出部)
 輪郭線算出部105は、隣接する面の点群データに基づき、輪郭線を算出(推定)する(図2のステップS211)。以下、具体的な算出方法について説明する。
(算出方法その1)
 図5には、輪郭線を算出する方法の原理の一つが示されている。図5には、平面131と平面132の境の付近が概念的に示されている。この場合、非面領域除去の処理により、曲率の小さい非面領域133が除去され、隣接する平面131と132が面としてラベルが貼られる。この際、平面131の平面132側の外縁131aと平面132の平面131側の外縁132aの間の点群データは、非面領域として除去されているので、非面領域133にあるはずの輪郭線のデータを点群データから直接得ることはできない。
 そこでこの例では、以下の処理を輪郭線算出部105において行う。この場合、平面132と平面131とを延長し、その交線134を算出する。そして、交線134を推定された輪郭線とする。この場合、平面131の延長した交線までの部分と、平面132の延長した交線までの部分により多面体が形成され、この多面体が平面131と132を接続する近似的な接続面となる。なお、平面131と平面132が曲面である場合は、その外縁131aおよび132aの部分の法線ベクトルを有する平面を考え、それを延長することで、交線134を算出する。
 この方法は、他の方法に比較して演算が簡単であるので、高速処理に適している。他方で、実際の非面領域と算出される輪郭線との距離が大きくなり易く、誤差が大きくなる可能性が高い。しかしながら、エッジが急峻である場合や非面領域の幅が狭い場合には、誤差は小さくなるので、処理時間が短くて済む優位性が生きてくる。
 「算出方法その1」を実行する場合における図1の輪郭線算出部105の構成を図7(A)に示す。この場合、輪郭線算出部105は、接続面算出部141を備え、接続面算出部141は、隣接する第1の面と第2の面を延長する演算を行う隣接面延長部142と、延長された第1の面と第2の面との交線を算出する交線算出部143を備える。
(算出方法その2)
 図6には、輪郭線を算出する方法の原理が示されている。図6(A)には、図5と同じ面を垂直に切った断面を見る視点からの概念図が示され、図6(B)には、2つの面とその間の輪郭線を俯瞰して見た状態の概念図(モデル図)が示されている。図6には、図5の場合と同様な平面131と平面132の境の付近が概念的に示されている。この場合も非面領域除去の処理により、曲率の小さい非面領域133が除去され、隣接する平面131と132が面としてラベルが貼られている。この点は、図5の場合と同じである。
 以下、処理の一例を説明する。まず、平面131の平面132の側の外縁131aの点を含み、更に平面132の側にある局所領域を取得する。この局所領域は、縁の部分で平面131の外縁131aを共有し、非面領域133の一部を構成する3×3点、5×5点のような局所的な正方領域である。この局所領域は、縁の部分を平面131の外縁131aと共有するので、平面131から連続した領域となる。そして、この局所領域にフィティングする局所平面135を取得する。局所平面135は、主に非面領域133の形状の影響を受けるので、その法線ベクトルの方向(面の方向)は、平面131、132の法線ベクトルの方向(面の方向)と異なっている。なお、局所平面の算出方法は、局所平面算出部101cにおけるものと同じである。
 次に、平面132の平面131の側の外縁132aの点を含み、更に平面131の側にある局所領域を取得する。そして、この局所領域にフィティングする局所平面137を取得する。ここで、局所平面135と137の間に更に局所平面を設定するスペースがある場合(あるいは精度追求上その必要がある場合)、同様な処理を繰り返し、平面131の側から平面132の側へ、また平面132の側から平面131の側へ、局所平面を非面領域133上の局所領域にフィッティングさせてゆく。言い換えると、局所平面を継ぎ接ぎして非面領域133を近似してゆく。
 この例では、局所平面135と137の間の距離が閾値以下であるので(つまり、更に局所平面を設定する間隔でないと判定されるので)、近接し隣接する位置関係にある局所平面135と137の交線を求め、輪郭線138を算出する。この場合、局所平面135、局所平面137、およびそれらを延長した交線までの部分により多面体が形成され、この多面体が平面131と132を接続する近似的な接続面となる。この方法によれば、非面領域にフィッティングする局所平面を繋いで平面131と132を接続する接続面を形成するので、図5の場合よりも輪郭線の算出精度を高くできる。
 こうして、図6(B)に示されるように、局所平面135、137の寸法程度の長さを有する輪郭線138(輪郭線の線素)を得る。そして上記の処理を非面領域の延在方向に沿って行うことで、平面131と132とを区分けする輪郭線139が算出される。すなわち、図6(A)に示す輪郭線138の算出の後、同様の手法により局所平面135’、137’を取得することで、その間の輪郭線部分を算出する。この処理を繰り返すことで、短い輪郭線138を延ばしてゆき、輪郭線139を得る。
 以下、例えば、局所平面135の平面132の側に更に局所平面を設定する場合を説明する。この場合、局所平面135の基となった局所領域の平面132側の縁の点を含み、更に平面132の側にある局所領域を取得し、そこにフィッティングする局所平面を取得する。この処理は、平面132の側でも同様に行われる。この処理を両平面の側でそれぞれ繰り返し行い、両面からの接続面を繋いでゆき、その隙間が閾値以下となった段階で、対向した位置関係で近接する2つの局所面の交線を求め、それを輪郭線とする。
 この場合、第1の面から第2の面に向かって次々と取得していった複数の局所領域は、隣接する第1の面や局所領域で一部の点を共有しているので、それぞれ第1の面から連続した局所領域となる。つまり、第1の面から離れた位置にある局所領域も上記の手順に従って取得されたものであれば、第1の面から連続した局所領域として把握される。なお、隣接する局所平面同士は、連続する局所領域にそれぞれフィッティングする局所平面であっても、非面領域の形状に応じて、それらは互いに異なる方向を向いている。したがって、局所平面同士が完全に繋がらない場合もあり、正確には、隙間が生じた多面体となる場合もあるが、ここではその隙間は無視し、多面体構造の接続面として把握する。
 算出方法その2を実行する場合における図1の輪郭線算出部105の構成を図7(B)に示す。この場合、輪郭線算出部105は、接続面算出部144を備える。接続面算出部144は、局所領域取得部145、局所平面取得部146、局所平面延長部147、交線算出部148を備えている。局所領域取得部145は、局所平面135、137を取得するために必要な局所領域を取得する。局所平面取得部146は、局所領域取得部145が取得した局所領域にフィッティングする局所平面を取得する。局所平面延長部147は、平面131から平面132の方向に延ばしていった局所平面(図6の場合は局所平面135)と、平面132から平面131の方向に延ばしていった局所平面(図6の場合は局所平面137)を延長する演算を行う。交線算出部148は、上記延長した2つの局所平面の交線を算出する。
 以上述べた方法によれば、非面領域を介して隣接する第1の面と第2の面との間の隙間(非面領域の部分)を局所平面で繋いでゆき、この隙間を徐々に狭くし、この隙間がある程度狭くなったところで、隙間を隔てて隣接する局所平面の交線を算出し、輪郭線とする演算を行う。なお、局所平面135と137の間に更に局所平面を設定するか否かを判定する基準として、局所平面135と137の法線ベクトルの方向の差を利用してもよい。この場合、局所平面135と137の法線ベクトルの方向の差が閾値以下であれば、交線を利用した輪郭線の算出でも充分に精度が確保できると考え、新たな局所平面の取得は行わず、図示する場合のように、局所平面135と137の交線に基づく輪郭線の算出を行う。
(算出方法その3)
 この方法では、最初の段階で非面領域と判定された領域に対して、閾値を変更しての再度の非面領域の除去およびラベリングを行い、より限定された非面領域の除去とし、その後に再度「算出方法その1」または「算出方法その2」のいずれかを用いての輪郭線の算出を行う。
 なお、2回、3回と閾値を変更しての再演算を行い、更に除去される非面領域を狭くし、精度を高めることも可能であるが、閾値を変更しての繰り返しの演算の回数が多くなると、演算時間が長くなるので、閾値の変更回数に適当な閾値を設定し、ある程度再処理の回数を行った段階で他の算出方法による輪郭線の算出に切り替えることが望ましい。
(算出方法その4)
 算出方法その2と同様な考え方として、局所平面ではなく、局所直線を用いる方法もある。この場合、図1の局所平面算出部101cは、局所直線算出部として機能する。以下、図6を用いて説明する。この場合、まず図6の概念図において、符号135と137を局所直線として把握する。ここで、局所直線は、局所平面の幅を1点分の幅(数学的には、幅はない)に狭めた形態として把握できる。考え方は、局所平面の場合と同じで、平面131に連続した局所領域を取得し、この局所領域にフィッティングし、平面132の方向に延びる局所直線を算出する。そしてこの局所直線により平面131と132を接続する接続線(この場合、面ではなく線となる)を構成する。
 局所直線の算出は、局所平面の場合と同じで、最小二乗法を用いて、当該局所領域にフィッティングする線の方程式を算出することで行う。具体的には、複数の異なる直線の方程式を求めて比較し、当該局所領域にフィッティングする直線の方程式を算出する。仮に、着目している局所領域が平面であれば、局所直線と局所領域とは平行となる。なお、局所直線のフィッティング対象となる局所領域は、非面領域133の一部を構成する局所的な領域であるので、局所直線(この場合は、符号135)は、平面131および132と平行とならない。
 また、面132の側でも同様の処理を行い、この場合符号137で示される局所直線を算出する。そして、2つの局所直線の交点(この場合、符号138)が、求める輪郭線の通過点となる。実際の輪郭線の算出は、複数の上記交点を求め、それを結ぶことで得られる。なお、上記局所直線の交点を隣接する部分で求め、それを繋ぐことで輪郭線を算出することも可能であるが、複数点を飛び越した間隔をおいた部分で局所直線同士の交点を複数求め、それらを結ぶことで輪郭線を算出することも可能である。
 なお、局所直線を更に細かく複数設定し、接続線を更に細かく刻んでゆき、輪郭線を算出することも可能である。これは、「算出方法その2」において説明した局所平面を用いた輪郭線の算出の場合と同じである。
(算出方法その他)
 局所平面の交線を求めることで輪郭線を予想する方法の別バージョンとして、接続面の中央部分で輪郭線を設定する手法が挙げられる。この場合、接続面の中央を算出する方法として、(1)距離的な中央の部分を輪郭線が通るとして輪郭線を算出する方法、(2)局所面の法線の変化(面の方向の変化)に基づき、その変化範囲の中央の法線(またはそこに近い法線)を有する面の中心点を輪郭線の通過点とする方法、(3)局所面の法線の変化(面の方向の変化)に基づき、その変化率の最も大きな部分を輪郭線の通過点とする方法等が挙げられる。局所面として局所曲面を採用することもできる。この場合、データとして扱いやすい曲面を選定し、それを上述した局所平面の代わりに利用する。また、局所面を複数種類用意し、その中から局所領域へのフィッティング性の高いものを選択する方法も可能である。
(輪郭線の一例)
 以下、算出した輪郭線の一例を説明する。図8は、図4に対応する概念図である。図8には、図4に示す状態において、本実施形態で説明した輪郭線算出処理(輪郭線算出方法その2)を施し、輪郭線150を算出した場合が示されている。この場合、非面領域として除去された領域において、ラベルが付与された平面123の外縁123a、および平面124の外縁124bに基づいて「輪郭線算出方法その2」により両平面を接続する接続面を算出し(図6参照)、この接続面を構成する2つの局所平面の公線を求めることで輪郭線150が算出される。輪郭線150が算出されることで、不明瞭であった図3の測定対象物(この場合は、立体120)の輪郭の画像が明確となる。こうして、三次元CADデータに取り込むことで、CADデータとして活用するのに適した画像データを点群データから得ることができる。
(B)輪郭線に係るその他の処理を行う構成
 以下、点群データ処理装置100における非面領域除去部101、面ラベリング部102、不要面除去部103、輪郭線算出部105以外の構成について説明する。
(B1:隠れ輪郭線算出部)
 点群データ処理装置100は、隠れ輪郭線算出部106を備えている。上述した不要面除去部103により、輪郭線の算出対象としない面のデータが除去されるが、この除去された面の背後に輪郭線が隠れている場合がある。隠れ輪郭線算出部106は、輪郭線算出部105によって算出された輪郭線のデータに基づいて、この隠れていた輪郭線を算出する。
 以下、具体的な例を上げて説明する。図9には、室内を測定対象とした場合が概念的に示されている。図9(A)には、目視で見た室内の様子が示されている。この室内を測定対象として点群データを取得し、次いで図1の点群データ処理装置100による処理を行う場合を考える。この場合、面ラベリング部102の働きにより、床面161、壁面162、壁面163、壁面164、室内に置かれた家具であるタンス160の外面を構成する面にラベルが付与される。
 ここで、除去対象物データ格納部104に除去対象物としてタンスを指定するデータが格納されているとする。この場合、面ラベリング部102の出力に対して、不要面除去部103の機能による処理が行われ、タンス160に係る面のデータは除去される。この状態が図9(B)に示されている。図9(B)には、床面161と壁面162とを区分けする輪郭線165、壁面162と163とを区分けする輪郭線166、床面161と壁面163とを区分けする輪郭線167および168、床面161と壁面164とを区分けする輪郭線170が表示された状態が示されている。
 ここで、タンス160の背後に隠れた部分は、点群データがないので、データ上は空白となる。したがって、図9(B)に示されるようにタンス160の陰になっていた部分は、床面161と壁面163とを区分けする輪郭線が一部途切れ、床面161と壁面163とを区分けする輪郭線が、輪郭線167と168に分断された状態が表示される。
 隠れ輪郭線算出部106は、この分断されている部分の輪郭線を補完する演算を行う。具体的には、輪郭線167を表す方程式を算出し、この方程式に基づいて輪郭線167を輪郭線168の方向に延長する部分を算出する。図9(C)には、この算出した部分が輪郭線171として示されている。なお、実際の表示画面上では、輪郭線171は、他の輪郭線と同じ状態で示され、他の輪郭線部分(例えば符号167の部分)と区別できないように表示される(符号171の部分を識別できるように表示することも可能である)。こうして、床面161と壁面163とを区分けする輪郭線172を欠損部分がない状態で表示することができる。
(B2:平滑化処理部)
 図1の点群データ処理装置100は、平滑化処理部107を備えている。平滑化処理部107は、算出された輪郭線を表示した際に、その表示が滑らかな線となるように補正する処理を行う。面ラベリング部102においてラベルが付与された面を画像表示した場合、面の縁は、非面領域の縁でもあるので、点群データを取得する際および取得点群データを選択する際の誤差があり、拡大すると輪郭線が細かい折れ線となる場合がある。
 CADデータに取り込んだ場合、拡大していった場合に本来直線でなければならいところが折れ線で表示されるのは、好ましくない。また、折れ線のデータは、直線のデータに比較してデータ量が多くなるので、メモリ領域の節約や演算速度の点でも好ましくない。
 平滑化処理部107は、折れ線の程度を折れ曲がった部分の間隔から判定し、この間隔が予め決められた閾値以下である場合に当該部分を直線に置き換える。例えば、図9の室内の状態を測定対象とした場合、輪郭線が数cm単位で繰り返し折れ曲がることは稀である。よって、このような場合は、例えば閾値を5cmに設定し、且つ、折れ曲がりの繰り返しが3回以上である場合にそれを直線化するものとする判定を行う。そしてこの判定により該当する部分がある場合、その部分において、輪郭線の折れ曲がった部分を直線として捉えた場合の直線の方程式を算出し、この方程式に基づいて輪郭線を平滑化(この場合は直線化)する。
 以下、直線化された輪郭線の算出方法の他の一例を説明する。まず、非面領域を介して隣接する2つの平面について考える。図10には、非面領域を間に挟んだ位置関係にある平面301と302が示されている。図10には、参考として図6、図8に関連して説明した処理によって算出された平滑化処理前の輪郭線303が示されている。ここで輪郭線303は、点群データのサンプリング誤差や演算誤差のため折れ線(図では誇張して示されている)となっている。そして、符号304が、上述した平滑化処理により直線化された輪郭線である。
 以下に説明する方法では、輪郭線の全ての部分において図6に原理を示す局所面を用いた算出方法を採用せず、まず平面301と302の両端(図の上方の縁を結んだ線上と図の下方の縁を結んだ線上)における2点305、306を算出し、次いで点305と306を直線で結ぶことで輪郭線を算出する。
 まず「算出方法その4」を利用して点305、306を求める。以下、点305を求める方法を説明する。この場合、符号301aの部分と符号302aの部分を起点として、図6に関連して説明した1または複数の局所直線を設定してゆき、最後に交点を算出することで、図6の符号138の部分に当たる輪郭線の通過点を算出する。これは、平面301の図の下端側の縁301bを、局所直線を設定してゆく手法により平面302の方向に延ばし、他方で平面302の図の下端側の縁302bを、局所直線を設定してゆく手法により平面301の方向に延ばし、最終的に近接した部分の交点を符号305の点として求めたものである。また同様の方法により、点306の位置を算出する。
 そして、点305と306を結ぶ直線を求めることで、輪郭線304が算出される。この方法は、2点とそれらを結ぶ直線を算出すればよく、また直線化された輪郭線が直接得られるので、演算量が節約できる。ここで、輪郭線の通過点が求まればよいので、演算がより簡単となる「算出方法その4」の局所直線を設定する手法を利用したが、「算出方法その2」の局所平面を設定する手法を利用し、点305と306と算出することも可能である。
 次に、3つ以上の平面が異なる角度(異なる面の方向)で隣接する場合における輪郭線の算出方法の一例を説明する。この方法は、例えば床や天井の角の部分や立方体の角の部分に係る輪郭線の算出に利用できる。
 図11(A)には、非面領域を介して隣接する方向が異なる2つの面が示され、図11(B)には、図11(A)の構造を基本とした異なる3面の組み合わせが概念的に示されている。この場合、上述した図10に関連して説明した方法により、隣接した平面311と312との間の2つの交点、隣接した平面311と313との間の2つの交点、隣接した平面312と313との間の2つの交点を求める。そして、平面311、312、313が付き合わされる角の付近314における3つの交点を仮交点とし、それらの三次元座標を取得する。そして、この3つの仮交点の三次元座標の平均値を求め、その座標位置を3つの平面311、312、313の交点315とする。こうして、複数面同士の交点が算出される。
 例えば、部屋の天井部分の四隅を結ぶ輪郭線を算出する場合、上記の手法を利用し、壁面2面と天井面との3面の交点を4箇所算出し、この4箇所の交点を結ぶことで天井と壁面を区分けする直線化された輪郭線を得ることができる。
 輪郭線の平滑化の処理は、平滑化の対象となる輪郭線が曲線である場合にも適用できる。この場合、曲線である輪郭線から、上記の場合と同様な原理により、折れ線を滑らかにする部分を選択する。そして、その部分を滑らかな曲線に置き換えるための曲線の方程式を算出し、この曲線の方程式に基づいて輪郭線を平滑化する。
(B3:画像表示関係)
 図1の点群データ処理装置100は、画像表示制御部108と画像表示装置109を備えている。画像表示装置109は、点群データ処理装置として機能させているノート型パーソナルコンピュータの液晶ディスプレイである。画像表示制御部108は、点群データ処理装置100での処理によって得られた画像情報を画像表示装置108に表示させる制御を行う。
 画像表示装置108に表示される画像としては、面ラベリング部102による処理により得られた面により測定対象物を表示した画像、不要面除去部103により不要な対象物の表示が除去された画像、輪郭線算出部105により算出された輪郭線の画像、隠れ輪郭線算出部106により算出された輪郭線の画像、平滑化処理部107により平滑化された輪郭線の画像、これら画像の複数を同時に表示した画像、点群データ処理装置100の操作に係る説明画面の画像、閾値の設定等に関する画面の画像、ユーザが操作するGUIの操作画面の画像が挙げられる。
 画像表示制御部108は、面ラベリング部でラベルが付与された面を隣接する面と区別して視認し易いように色を付けて表示する制御を行う。すなわち、第1の面が赤で、隣接する第2の面が青というように見た目でラベルの違う面が明確に認識し易いように、表示される面に色を付与する制御を行う。この処理は、見た目でラベルの違う面を視認し易くすればよいので、濃淡の違い、ドット表示の密度の違い、ハッチング処理の違い、ここで挙げた方法の2以上の組み合わせであってもよい。更に画像表示制御部108は、2つの面の間の輪郭線を算出する目的でユーザにより当該2つの面が指定された場合に、この2つの面を強調表示する。強調表示の方法としては、他と区別し易い色彩とする、点滅させるといった方法が挙げられる。
(B4:操作関係)
 点群データ処理装置100は、操作入力装置110および操作入力受け付け部111を備えている。操作入力装置110は、利用しているノート型パーソナルコンピュータのキーボード装置やマウス装置、GUI機能部により構成されている。操作入力部110が操作されることで、点群データ処理装置100の操作が行われる。操作入力受け付け部111は、ユーザが操作入力部110を操作した内容を受け付け、点群データ処理装置100内部で処理できるデータに解釈する機能を有する。
(B5:マニュアル操作関係)
 点群データ処理装置100は、輪郭線を算出する方法をユーザが選択できる機能、輪郭線を算出する部分をユーザが選択できる機能を備えている。これらの機能を実現するために、点群データ処理装置100は、輪郭線算出方法選択部112と算出対象面選択部113を備えている。
 輪郭線算出方法選択部112は、上述した輪郭線を算出する複数の方法の中からユーザが希望する方法を選択できるようにする機能部である。例えば、画像表示装置の端等に算出方法の種類を示すシンボル表示を表示しておき、ユーザがパーソナルコンピュータのGUI機能を利用して、希望する方法を選択すると、その選択内容を輪郭線算出方法選択部112が認識し、この選択された算出方法により、輪郭線算出部105における輪郭線の算出処理が行われる。この機能によれば、精度優先か処理速度優先か、といった選択をユーザが行える。
 算出対象面選択部113は、輪郭線を算出する位置をユーザが選択する際に利用される。例えば、図9に示す例において、ユーザにより図1の操作入力装置110が操作され、壁面162と壁面163が指定されると、それが操作入力受け付け部111で認識され、その旨が算出対象面113により認識される。ユーザにより指定された内容を認識した算出対象面選択部113は、選択された壁面162と163を特定するデータを輪郭線算出部105に送る。これを受けて輪郭線算出部105は、壁面162と163を区切る輪郭線166を算出する。またこの際、画像表示制御部108の機能により、ユーザによって選択された2つの面が強調表示され、選択した面をユーザが認識し易い表示制御が行われる。
2.第2の実施形態
 以下、三次元レーザースキャナーを備えた点群データ処理装置について説明する。この例において、点群データ処理装置は、測定対象物に対して測距光(レーザー光)を走査しつつ照射し、レーザー光の飛行時間に基づいて自身の位置から測定対象物上の多数の測定点までの距離を測距する。また、点群データ処理装置は、レーザー光の照射方向(水平角および高低角)を検出し、距離および照射方向に基づいて測定点の三次元座標を演算する。また、点群データ処理装置は、測定対象物を撮像した二次元画像(各測定点におけるRGB強度)を取得し、二次元画像と三次元座標とを結び付けた点群データを形成する。さらに、点群データ処理装置は、形成した点群データから輪郭線により構成された対象物の三次元輪郭線を示す線図を形成する。
(構成)
 図12および図13は、点群データ処理装置1の構成を示す断面図である。点群データ処理装置1は、整準部22、回転機構部23、本体部27、および回転照射部28を備えている。本体部27は、測距部24、撮像部25、制御部26等から構成されている。なお、図13は、説明の便宜のため、図12に示す断面方向に対して、回転照射部28のみ側方から見た状態を示している。
 整準部22は、台盤29を有し、回転機構部23は下部ケーシング30を有する。下部ケーシング30は、ピン31と2個の調整ネジ32とにより3点で台盤29に支持されている。下部ケーシング30は、ピン31の先端を支点にして傾動する。なお、台盤29と下部ケーシング30との間には、台盤29と下部ケーシング30とが互いに離反しないようにするため、引っ張りスプリング33が設けられている。
 下部ケーシング30の内部には、2個の整準モータ34が設けられている。2個の整準モータ34は、制御部26によって互いに独立して駆動される。整準モータ34の駆動により整準駆動ギア35、整準従動ギア36を介して調整ネジ32が回転し、調整ネジ32の下方への突出量が調整される。また、下部ケーシング30の内部には傾斜センサ37(図14参照)が設けられている。2個の整準モータ34は、傾斜センサ37の検出信号により駆動され、これにより整準が実行される。
 回転機構部23は、下部ケーシング30の内部に水平角用駆動モータ38を有する。水平角用駆動モータ38の出力軸には水平回動駆動ギア39が嵌着されている。水平回動駆動ギア39は、水平回動ギア40に噛合されている。水平回動ギア40は、回転軸部41に設けられている。回転軸部41は、回転基盤42の中央部に設けられている。回転基盤42は、下部ケーシング30の上部に、軸受け部材43を介して設けられている。
 また、回転軸部41には水平角検出器44として、例えばエンコーダが設けられている。水平角検出器44は、下部ケーシング30に対する回転軸部41の相対的回転角(水平角)を検出する。水平角は制御部26に入力され、制御部26は、その検出結果に基づき水平角用駆動モータ38を制御する。
 本体部27は、本体部ケーシング45を有する。本体部ケーシング45は、回転基盤42に固着されている。本体部ケーシング45の内部には鏡筒46が設けられている。鏡筒46は、本体部ケーシング45の回転中心と同心の回転中心を有する。鏡筒46の回転中心は、光軸47に合致されている。鏡筒46の内部には、光束分離手段としてのビームスプリッタ48が設けられている。ビームスプリッタ48は、可視光を透過し、かつ、赤外光を反射する機能を有する。光軸47は、ビームスプリッタ48によって光軸49と光軸50とに分離される。
 測距部24は、鏡筒46の外周部に設けられている。測距部24は、発光部としてのパルスレーザ光源51を有する。パルスレーザ光源51とビームスプリッタ48との間には、穴あきミラー52、レーザー光のビームウエスト径を変更するビームウエスト変更光学系53が配設されている。測距光源部は、パルスレーザ光源51、ビームウエスト変更光学系53、穴あきミラー52で構成されている。穴あきミラー52は、パルスレーザ光を穴部52aからビームスプリッタ48に導き、測定対象物から反射して戻って来た反射レーザー光を測距受光部54に向けて反射する役割を有する。
 パルスレーザ光源51は、制御部26の制御により所定のタイミングで赤外パルスレーザ光を発する。赤外パルスレーザ光は、ビームスプリッタ48によって高低角用回動ミラー55に向けて反射される。高低角用回動ミラー55は、赤外パルスレーザ光を測定対象物に向けて反射する。高低角用回動ミラー55は、高低角方向に回転することで、鉛直方向に延びる光軸47を高低角方向の投光光軸56に変換する。ビームスプリッタ48と高低角用回動ミラー55との間でかつ鏡筒46の内部には集光レンズ57が配設されている。
 測定対象物からの反射レーザー光は、高低角回動用ミラー55、集光レンズ57、ビームスプリッタ48、穴あきミラー52を経て測距受光部54に導かれる。また、測距受光部54には、内部参照光路を通って参照光も導かれる。反射レーザー光が測距受光部54で受光されるまでの時間と、レーザー光が内部参照光路を通って測距受光部54で受光されるまでの時間との差に基づき、点群データ処理装置1から測定対象物(測定対象点)までの距離が測定される。
 撮像部25は、画像受光部58を有する。画像受光部58は、鏡筒46の底部に設けられている。画像受光部58は、多数の画素が平面状に集合して配列されたもの、例えば、CCD(Charge Coupled Device)で構成されている。画像受光部58の各画素の位置は光軸50によって特定される。例えば、光軸50を原点として、X-Y座標を想定し、このX-Y座標の点として画素が定義される。
 回転照射部28は、投光ケーシング59の内部に収納されている。投光ケーシング59の周壁の一部は、投光窓となっている。図13に示すように、鏡筒46のフランジ部60には、一対のミラーホルダー板61が対向して設けられている。ミラーホルダー板61には、回動軸62が掛け渡されている。高低角用回動ミラー55は、回動軸62に固定されている。回動軸62の一端部には高低角ギア63が嵌着されている。回動軸62の他端側には高低角検出器64が設けられている。高低角検出器64は、高低角用回動ミラー55の回動角を検出し、その検出結果を制御部26に出力する。
 ミラーホルダー板61の一方には、高低角用駆動モータ65が取り付けられている。高低角用駆動モータ65の出力軸には駆動ギア66が嵌着されている。駆動ギア66は、回転軸62に取り付けられた高低角ギア63に噛合されている。高低角用駆動モータ65は、高低角検出器64の検出結果に基づき、制御部26の制御により適宜駆動される。
 投光ケーシング59の上部には、照星照門67が設けられている。照星照門67は、測定対象物を概略視準するのに用いられる。照星照門67を用いた視準方向は、投光光軸56の延びる方向、および回動軸62の延びる方向に対して直交する方向とされている。
 図14は、制御部のブロック図である。制御部26には、水平角検出器44、高低角検出器64、傾斜センサ37からの検出信号が入力される。また、制御部26は、操作部6から操作指示信号が入力される。制御部26は、水平角用駆動モータ38、高低角用駆動モータ65、整準モータ34を駆動制御する共に、作業状況、測定結果等を表示する表示部7を制御する。制御部26には、メモリカード、HDD等の外部記憶装置68が着脱可能とされている。
 制御部26は、演算部4、記憶部5、水平駆動部69、高低駆動部70、整準駆動部71、距離データ処理部72、画像データ処理部73等から構成されている。記憶部5は、測距や高低角と水平角の検出を行うために必要なシーケンスプログラム、演算プログラム、測定データの処理を実行する測定データ処理プログラム、画像処理を行う画像処理プログラム、点群データから面を抽出し、更に輪郭線を算出するプログラム、この算出した輪郭線を表示部7に表示させるための画像表示プログラム等の各種のプログラムを格納すると共に、これらの各種のプログラムを統合管理するための統合管理プログラム等を格納する。また、記憶部5は、測定データ、画像データ等の各種のデータを格納する。水平駆動部69は、水平角用駆動モータ38を駆動制御し、高低駆動部70は、高低角用駆動モータ65を駆動制御し、整準駆動部71は、整準モータ34を駆動制御する。距離データ処理部72は、測距部24によって得られた距離データを処理し、画像データ処理部73は、撮像部25により得られた画像データを処理する。
 図15は、演算部4のブロック図である。演算部4は、三次元座標演算部74、リンク形成部75、グリッド形成部9、点群データ処理部100’を備えている。三次元座標演算部74には、距離データ処理部72から測定対象点の距離データが入力され、水平角検出器44および高低角検出器64から測定対象点の方向データ(水平角および高低角)が入力される。三次元座標演算部74は、入力された距離データと方向データとに基づき、点群データ処理装置1の位置を原点(0,0,0)とした各測定点の三次元座標(直交座標)を算出する。
 リンク形成部75には、画像データ処理部73から画像データおよび三次元座標演算部74が算出した各測定点の三次元座標の座標データが入力される。リンク形成部75は、画像データ(各測定点のRGB強度)と三次元座標を結び付けた点群データ2を形成する。つまり、リンク形成部75は、測定対象物のある点に着目した場合、その着目点の二次元画像中における位置と、その着目点の三次元座標とを関連付けしたものを作成する。この関連付けされたデータは、全ての測定点について算出され、それらが点群データ2となる。
 点群データ処理装置1は、異なる方向から測定した測定対象物の点群データ2を取得可能である。このため、一つの測定方向を1ブロックとすると、点群データ2は、複数ブロックの二次元画像と三次元座標で構成することができる。
 また、リンク形成部75は、以上の点群データ2をグリッド形成部9に出力する。グリッド形成部9は、点群データ2の隣接点の点間距離が一定でない場合に、等間隔のグリッド(メッシュ)を形成し、グリッドの交点に最も近い点を登録する。または、グリッド形成部9は、線形補間法やバイキュービック法を用いて、グリッドの交点位置に全点を補正する。なお、点群データ2の点間距離が一定である場合には、グリッド形成部9の処理を省略することができる。
 以下、グリッドの形成手順について説明する。図16は、点間距離が一定でない点群データを示す図であり、図17は、形成したグリッドを示す図である。図16に示すように、各列の平均水平間隔H1~Nを求め、さらに列間の平均水平間隔の差分ΔHi,jを算出し、その平均をグリッドの水平間隔ΔHとする(数2)。垂直方向の間隔は、各列での垂直方向の隣接点との距離ΔVN,Hを算出し、画像サイズW,Hの画像全体におけるΔVN,Hの平均を垂直間隔ΔVとする(数3)。そして、図17に示すように、算出した水平間隔ΔHおよび垂直間隔ΔVのグリッドを形成する。
 [数2] (ΣΔHi,j)/(N-1)=ΔH
 [数3] (ΣΔVi,j)/(W×H)=ΔV
 次に、形成したグリッドの交点に最も近い点を登録する。この際、交点から各点までの距離には所定の閾値を設けて、登録を制限する。例えば、閾値は、水平間隔ΔHおよび垂直間隔ΔVの1/2とする。なお、線形補間法やバイキュービック法のように、交点との距離に応じた重みを付けて全点を補正してもよい。ただし、補間を行った場合には、本来計測していない点となる。
 以上のようにして得られた点群データは、点群データ処理部100’に出力される。点群データ処理部100’は、図14の操作部6がユーザにより操作されることで、第1の実施形態で説明した動作を行い、その結果得られた画像が液晶ディスプレイである表示部7に表示される。この点は、第1の実施形態に関係して説明した場合と同じである。
 点群データ処理部100’は、図1の点群データ処理装置100において、画像表示装置109と操作入力部110を省いた構成を有する。この場合、FPGAを利用した専用の集積回路によりハードウェア的に点群データ処理部100’が構成されている。点群データ処理部100’は、点群データ処理装置100と同様にして点群データに対する処理を行う。
(その他)
 制御部26の構成において、グリッド形成部9から点群データが出力される形態とすると、第1の実施形態の点群データ処理装置と組み合わせて使用可能な三次元レーザースキャナーとなる。また、グリッド形成部9から点群データが出力される形態とした三次元スキャナーと、この三次元スキャナーの出力を受け付け、実施形態1において説明した動作を行う図1の点群データ処理装置1とを組み合わせたシステムとすることで、本発明を利用した点群データ処理システムが得られる。
3.第3の実施形態
 以下、ステレオカメラを備えた画像計測装置を備えた点群データ処理装置について説明する。第1および第2の実施形態と同様の構成については、同じ符号を用いて、その説明を省略する。
(点群データ処理装置の構成)
 図18には、点群データ処理装置200が示されている。点群データ処理装置200は、ステレオカメラを備えた画像計測機能と、本発明を利用した点群データ処理機能を統合した構成を有している。点群データ処理装置200は、異なる方向から重複した撮影領域で測定対象物を撮影し、重複画像内の特徴点を対応づけ、予め求めた撮影部の位置および姿勢と重複画像内における特徴点の位置とに基づいて、特徴点の三次元座標を演算する。また、点群データ処理装置200は、重複画像における特徴点の視差、計測空間、および基準形態に基づいて、二次元画像と三次元座標が結び付けられている点群データを形成する。さらに、点群データ処理装置200は、得られた点群データに基づいて、面ラベリング処理および輪郭線データの算出を行う。
 図18は、点群データ処理装置200の構成を示すブロック図である。点群データ処理装置200は、ステレオ画像を得るための撮影部76、77、特徴投影部78、画像データ処理部73、演算部4、記憶部5、操作部6、表示部7、データ出力部8を備えている。撮影部76、77には、デジタルカメラ、ビデオカメラ、工業計測用のCCDカメラ(Charge Coupled Device Camera)、CMOSカメラ(Complementary Metal Oxide Semiconductor Camera)等を用いる。撮影部76、77は、異なる撮影位置から重複した撮影領域で測定対象物を撮影するステレオカメラとして機能する。なお、撮像部の数は2台に限定されず、3台以上であってもよい。
 特徴投影部78には、プロジェクター、レーザー装置等を用いる。特徴投影部78は、測定対象物に対してランダムドットパターン、点状のスポット光、線状のスリット光などのパターンを投影する。これにより、測定対象物の特徴が乏しい部分に特徴を持たせ、画像処理を容易とする。特徴投影部78は、主に模様のない中~小型の人工物の精密な計測の場合に使用する。通常屋外にある比較的大きい測定対象物の計測や、精密計測が不要な場合、あるいは、測定対象物に特徴がある場合、模様を塗布できる場合には、特徴投影部78を省略できる。
 画像データ処理部73は、撮像部76、77が撮影した重複画像を演算部4で処理できる画像データに変換する。記憶部5は、撮影位置および姿勢を測定するプログラム、重複画像内から特徴点を抽出して対応づけるプログラム、撮影位置および姿勢と重複画像内の特徴点の位置とに基づいて三次元座標を演算するプログラム、誤対応点を判定して点群データを形成するプログラム、点群データから面を抽出し、更に輪郭線を算出するプログラム、この算出した輪郭線を表示部7に表示させるための画像表示プログラム等の各種のプログラムを格納すると共に、点群データや画像データ等の各種データを格納する。
 操作部6は、ユーザにより操作され、演算部4に操作指示信号を出力する。表示部7は、演算部4の処理データを表示し、データ出力部8は、演算部4の処理データを外部に出力する。演算部4には、画像データ処理部73から画像データが入力される。演算部4は、固定された2台以上のカメラを使用する場合、校正用被写体79の撮影画像に基づいて撮像部76、77の位置および姿勢を測定し、測定対象物の重複画像内から特徴点を抽出して対応付ける。演算部4は、撮像部76、77の位置および姿勢を計算し、そして重複画像内の特徴点の位置に基づいて、測定対象物の三次元座標を演算し、点群データ2を形成する。さらに、演算部4は、点群データ2から面を抽出し、測定対象物の輪郭線を算出する。
 図19は、演算部4のブロック図である。演算部4は、点群データ処理部100’、撮影位置姿勢測定部81、特徴点対応付部82、背景除去部83、特徴点抽出部84、対応点探索部85、三次元座標演算部86、誤対応点判定部87、視差判定部88、空間判定部89、形態判定部90を備えている。
 点群データ処理部100’は、図1の点群データ処理装置100において、画像表示装置109と操作入力部110を省いた構成を有する。ここでは、FPGAを利用した専用の集積回路によりハードウェア的に点群データ処理部100’が構成されている。点群データ処理部100’は、点群データ処理装置100と同様にして点群データに対する処理を行う。
 撮影位置姿勢測定部81には、撮像部76、77が撮影した重複画像の画像データが画像データ処理部73から入力される。図18に示すように、校正用被写体79には、ターゲット80(レトロターゲット、またはコードターゲット、またはカラーコードターゲット)が所定間隔で貼られており、撮影位置姿勢測定部81は、校正用被写体79の撮影画像からターゲット80の画像座標を検出し、公知の相互標定法、または単写真標定法もしくはDLT(Direct Linear Transformation)法、あるいはバンドル調整法を用いて、撮影部76,77の位置および姿勢を測定する。なお、相互標定法、単写真標定法もしくはDLT法、バンドル調整法は、単独でも用いても組み合わせて用いてもよい。
 特徴点対応付部82は、測定対象物の重複画像を画像データ処理部73から入力し、重複画像から測定対象物の特徴点を抽出して対応付ける。特徴点対応付部82は、背景除去部83、特徴点抽出部84、対応点探索部85で構成されている。背景除去部26は、測定対象物が写された撮影画像から測定対象物が写されていない背景画像を差分することや、測定したい箇所をオペレータが操作部6により指定すること、あるいは測定箇所を自動抽出(あらかじめ登録されたモデルの利用や特徴が豊富な箇所を自動的に検出)することで、測定対象物のみが写された背景除去画像を生成する。なお、背景を除去する必要がない場合には、背景除去部26の処理を省略することができる。
 特徴点抽出部84は、背景除去画像から特徴点を抽出する。特徴点の抽出には、ソーベル、ラプラシアン、プリューウィット、ロバーツなどの微分フィルタを用いる。対応点探索部85は、一方の画像で抽出された特徴点に対応する対応点を他方の画像内で探索する。対応点の探索には、残差逐次検定法(Sequential Similarity Detection Algorithm Method:SSDA)、正規化相関法、方向符号照合法(Orientation Code Matching:OCM)などのテンプレートマッチングを用いる。
 三次元座標演算部86は、撮影位置姿勢測定部81で測定された撮像部76、77の位置および姿勢と、特徴点対応付部82で対応付けた特徴点の画像座標に基づいて、各特徴点の三次元座標を演算する。誤対応点判定部87は、視差、計測空間、および基準形態の少なくとも一つに基づいて、誤対応点を判定する。誤対応点判定部87は、視差判定部88、空間判定部89、形態判定部90で構成されている。
 視差判定部88は、重複画像で対応する特徴点の視差のヒストグラムを作成し、視差の平均値から所定範囲内にない視差を持つ特徴点を誤対応点として判定する。例えば、平均値±1.5σ(標準偏差)を閾値とする。空間判定部89は、校正用被写体70の重心位置から所定距離の空間を計測空間として定義し、三次元座標演算部86で演算された特徴点の三次元座標がその計測空間からはみ出していた場合に、その特徴点を誤対応点として判定する。形態判定部90は、三次元座標演算部86で演算された特徴点の三次元座標から、測定対象物の基準形態(粗面)を形成または入力し、基準形態と特徴点の三次元座標との距離に基づいて誤対応点を判定する。例えば、特徴点に基づいて、所定長さ以上の辺を有するTIN(Triangulated Irregular Network)を形成し、辺の長いTINを削除することで、粗面を形成する。次に、粗面と特徴点との距離に基づいて誤対応点を判定する。
 誤対応点判定部87は、判定された誤対応点を除いた点群データ2を形成する。点群データ2は、二次元画像と三次元座標とを結び付けたダイレクトリンク構造を有している。点群データ2の隣接点の点間距離が一定でない場合には、第2の実施形態で説明したように、演算部4は、誤対応点判定部87と点群データ処理装置100’との間に、グリッド形成部9を備える必要がある。この場合、グリッド形成部9は、等間隔のグリッド(メッシュ)を形成し、グリッドの交点に最も近い点を登録する。その後、第1の実施形態で説明したように、点群データ2から面が抽出され、更に測定対象物の輪郭線の算出が行われる。
 第3の実施形態によれば、画像計測装置によって二次元画像と三次元座標から成る点群データを取得することができる。また、誤対応点判定部87から点群データが出力される形態とした画像計測装置と、この画像形成装置の出力を受け付け、実施形態1において説明した動作を行う図1の点群データ処理装置1とを組み合わせたシステムとすることで、本発明を利用した点群データ処理システムが得られる。
 本発明は、三次元情報の測定を行う技術に利用することができる。

Claims (20)

  1.  測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、
     前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、
     前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と
     を備え、
     前記輪郭線算出部は、
     前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、
     前記局所領域にフィッティングし、前記第1の面および前記第2の面と異なる面の方向を有する局所面の取得を行う局所面取得部と
     を備え、
     前記局所面に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置。
  2.  測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、
     前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、
     前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と
     を備え、
     前記輪郭線算出部は、
     前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく第1の局所領域および前記第2の面に連続し前記非面領域の点群データに基づく第2の局所領域を取得する局所領域取得部と、
     前記第1の局所領域にフィッティングし、前記第1の面および前記第2の面と異なる面の方向を有する第1の局所面、および前記第2の局所領域にフィッティングし、前記第1の面および前記第2の面と異なる面の方向を有する第2の局所面の取得を行う局所面取得部と
     を備え、
     前記第1の局所面および前記第2の局所面に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置。
  3.  前記第1の局所面と前記第2の局所面は、前記第1の面と前記第2の面を接続する接続面を構成することを特徴とする請求項2に記載の点群データ処理装置。
  4.  前記第1の面と前記第1の局所面との間、および前記第2の面と前記第2の局所面との間において、1または複数の局所面が取得されていることを特徴とする請求項2または3に記載の点群データ処理装置。
  5.  前記輪郭線は、前記第1の局所面と前記第2の局所面の交線として算出されることを特徴とする請求項2~4のいずれか一項に記載の点群データ処理装置。
  6.  Nを3以上の自然として、前記局所領域がN×N個の点により構成される正方領域であることを特徴とする請求項1~5のいずれか一項に記載の点群データ処理装置。
  7.  前記非面領域を判定する非面領域判定用閾値および前記同一面を判定する同一面判定用閾値が存在し、
     前記非面判定用閾値を変更しての再度の前記非面領域の点の除去と、
     前記同一面判定用閾値を変更しての再度の前記同一面の点への同一ラベルの付与と
     が行われることを特徴とする請求項1~6のいずれか一項に記載の点群データ処理装置。
  8.  前記輪郭線を平滑化する平滑化処理部を備えることを特徴とする請求項1~7のいずれか一項に記載の点群データ処理装置。
  9.  前記輪郭線算出部の算出結果に基づいて、前記測定対象物の輪郭の三次元画像を画像表示装置に表示する制御を行う三次元輪郭画像表示制御部を備えることを特徴とする請求項1~8のいずれか一項に記載の点群データ処理装置。
  10.  前記面ラベリング部によって区分けされた複数の面を前記画像表示装置に表示する表示制御部と、
     前記画像表示装置に表示された前記複数の面に含まれる隣接する2つの面を選択することを可能とする面選択部と、
     前記隣接する2つの面が選択された場合に、この2つの面のそれぞれを前記第1の面および前記第2の面として認識する選択面認識部と
     を備えることを特徴とする請求項1~9のいずれか一項に記載の点群データ処理装置。
  11.  前記複数の面を異なる表示形態で表示することを特徴とする請求項10に記載の点群データ処理装置。
  12.  前記選択された2つの面を強調表示することを特徴とする請求項10または11に記載の点群データ処理装置。
  13.  前記面ラベリング部によって区分けされた複数の面の中から、前記輪郭線の算出の対象としない面を選択する非算出対象面選択部と、
     前記輪郭線の算出の対象としない面を選択するためのデータを格納したデータ格納部または前記輪郭線の算出の対象としない面を指定する入力を受け付ける入力受け付け部と
     を備えることを特徴とする請求項1~12のいずれか一項に記載の点群データ処理装置。
  14.  前記輪郭線の算出の対象としない面の背後に隠れた前記輪郭線を算出する隠れ輪郭線算出部を備えることを特徴とする請求項13に記載の点群データ処理装置。
  15.  測定対象物に対して測距光を回転照射する回転照射部と、
     前記測距光の飛行時間に基づいて自身の位置から測定対象物上の測定点までの距離を測距する測距部と、
     前記測距光の照射方向を検出する照射方向検出部と、
     前記距離および前記照射方向に基づいて、前記測定点の三次元座標を算出する三次元座標演算部と、
     前記三次元座標算出部が算出した結果に基づいて前記測定対象物の点群データを取得する点群データ取得部と、
     前記測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、
     前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、
     前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と
     を備え、
     前記輪郭線算出部は、
     前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、
     前記局所領域にフィッティングし、前記第1の面および前記第2の面と異なる面の方向を有する局所面の取得を行う局所面取得部と
     を備え、
     前記局所面に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置。
  16.  異なる方向から重複した撮影領域で測定対象物を撮影する撮影部と、
     前記撮影部によって得られた重複画像内の特徴点を対応づける特徴点対応付部と、
     前記撮影部の位置および姿勢を測定する撮影位置姿勢測定部と、
     前記撮影部の位置および姿勢と前記重複画像内における特徴点の位置とに基づいて特徴点の三次元座標を演算する三次元座標演算部と、
     前記三次元座標算出部が算出した結果に基づいて前記測定対象物の点群データを取得する点群データ取得部と、
     前記測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、
     前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、
     前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と
     を備え、
     前記輪郭線算出部は、
     前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、
     前記局所領域にフィッティングし、前記第1の面および前記第2の面と異なる面の方向を有する局所面の取得を行う局所面取得部と
     を備え、
     前記局所面に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置。
  17.  測定対象物の点群データを光学的に得る点群データ取得手段と、
     測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去手段と、
     前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング手段と、
     前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出手段と
     を備え、
     前記輪郭線算出手段は、
     前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得手段と、
     前記局所領域にフィッティングし、前記第1の面および前記第2の面と異なる面の方向を有する局所面の取得を行う局所面取得手段と
     を備え、
     前記局所面に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理システム。
  18.  測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去ステップと、
     前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリングステップと、
     前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出ステップと
     を備え、
     前記輪郭線算出ステップにおいて、
     前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得ステップと、
     前記局所領域にフィッティングし、前記第1の面および前記第2の面と異なる面の方向を有する局所面の取得を行う局所面取得ステップと
     が行われ、
     前記局所面に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理方法。
  19.  コンピュータに読み取らせて実行させるプログラムであって、
     コンピュータを、
     測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去手段と、
     前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング手段と、
     前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出手段と
     して動作させ、
     前記輪郭線算出手段は、
     前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得手段と、
     前記局所領域にフィッティングし、前記第1の面および前記第2の面と異なる面の方向を有する局所面の取得を行う局所面取得手段と
     を備え、
     前記局所面に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理プログラム。
  20.  測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、
     前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、
     前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と
     を備え、
     前記輪郭線算出部は、
     前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、
     前記局所領域にフィッティングし、前記第1の面および前記第2の面と平行でない局所線の取得を行う局所線取得部と
     を備え、
     前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置。
PCT/JP2011/064566 2010-06-25 2011-06-24 点群データ処理装置、点群データ処理システム、点群データ処理方法、および点群データ処理プログラム WO2011162388A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/724,916 US20130181983A1 (en) 2010-06-25 2012-12-21 Point cloud data processing device, point cloud data processing system, point cloud data processing method, and point cloud data processing program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010145211A JP5343042B2 (ja) 2010-06-25 2010-06-25 点群データ処理装置および点群データ処理プログラム
JP2010-145211 2010-06-25

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/724,916 Continuation US20130181983A1 (en) 2010-06-25 2012-12-21 Point cloud data processing device, point cloud data processing system, point cloud data processing method, and point cloud data processing program

Publications (3)

Publication Number Publication Date
WO2011162388A1 true WO2011162388A1 (ja) 2011-12-29
WO2011162388A4 WO2011162388A4 (ja) 2012-03-01
WO2011162388A8 WO2011162388A8 (ja) 2012-12-06

Family

ID=45371554

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/064566 WO2011162388A1 (ja) 2010-06-25 2011-06-24 点群データ処理装置、点群データ処理システム、点群データ処理方法、および点群データ処理プログラム

Country Status (3)

Country Link
US (1) US20130181983A1 (ja)
JP (1) JP5343042B2 (ja)
WO (1) WO2011162388A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104019765A (zh) * 2014-06-25 2014-09-03 山东理工大学 基于激光束法区域网平差的多站点云整体定向方法
US9977983B2 (en) 2012-08-09 2018-05-22 Kabushiki Kaisha Topcon Optical data processing device, optical data processing system, optical data processing method, and optical data processing program
CN108399283A (zh) * 2018-02-05 2018-08-14 中铁二十二局集团有限公司 一种基于crtsⅲ型轨道板外形尺寸快速计算方法
CN111338742A (zh) * 2020-05-19 2020-06-26 北京数字绿土科技有限公司 一种点云数据的批处理方法及处理装置
CN111340860A (zh) * 2020-02-24 2020-06-26 北京百度网讯科技有限公司 点云数据的配准、更新方法、装置、设备和存储介质
CN111402393A (zh) * 2019-12-06 2020-07-10 温州大学 参数曲面模拟点云生成方法
JP2020528134A (ja) * 2018-06-25 2020-09-17 ベイジン ディディ インフィニティ テクノロジー アンド ディベロップメント カンパニー リミティッド 自然光景中での統合センサの較正
CN114880332A (zh) * 2022-07-08 2022-08-09 深圳市信润富联数字科技有限公司 点云数据的存储方法、装置、电子设备及存储介质
CN115423835A (zh) * 2022-11-02 2022-12-02 中汽创智科技有限公司 杆状物点云数据处理方法、装置、电子设备及存储介质

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5615055B2 (ja) * 2010-06-18 2014-10-29 キヤノン株式会社 情報処理装置及びその処理方法
US9879993B2 (en) * 2010-12-23 2018-01-30 Trimble Inc. Enhanced bundle adjustment techniques
CN103322931A (zh) * 2012-03-23 2013-09-25 鸿富锦精密工业(深圳)有限公司 点云间隙与断差量测系统及方法
JP5909176B2 (ja) * 2012-12-18 2016-04-26 日本電信電話株式会社 陰影情報導出装置、陰影情報導出方法及びプログラム
KR102060758B1 (ko) * 2013-02-28 2019-12-31 한국전자통신연구원 포인트 클라우드를 이용한 프리미티브 피팅 장치 및 방법
WO2014134425A1 (en) * 2013-02-28 2014-09-04 Kevin Williams Apparatus and method for extrapolating observed surfaces through occluded regions
CN105164549B (zh) * 2013-03-15 2019-07-02 优步技术公司 用于机器人的多传感立体视觉的方法、系统和设备
EP3007129A4 (en) * 2013-05-31 2016-07-27 Panasonic Ip Man Co Ltd MODELING DEVICE, THREE-DIMENSIONAL MODEL GENERATION DEVICE, MODELING METHOD, PROGRAM AND LAYOUT SIMULATOR
CN104346753A (zh) * 2013-08-07 2015-02-11 鸿富锦精密工业(深圳)有限公司 裁切最优化处理系统及方法
CN104422396B (zh) * 2013-08-29 2018-07-06 鸿富锦精密工业(深圳)有限公司 产品组装间隙三维分析系统及方法
US9934611B2 (en) 2013-09-11 2018-04-03 Qualcomm Incorporated Structural modeling using depth sensors
JP6280425B2 (ja) * 2014-04-16 2018-02-14 株式会社日立製作所 画像処理装置、画像処理システム、3次元計測器、画像処理方法及び画像処理プログラム
JP6468756B2 (ja) * 2014-08-25 2019-02-13 株式会社ミツトヨ 三次元モデルの生成方法、三次元モデルの生成システム及び三次元モデルの生成プログラム
JP6238183B2 (ja) * 2014-11-28 2017-11-29 パナソニックIpマネジメント株式会社 モデリング装置、3次元モデル生成装置、モデリング方法、プログラム
JP6317666B2 (ja) * 2014-12-25 2018-04-25 サクサ株式会社 画像処理用プログラム及び画像処理システム
US10115035B2 (en) * 2015-01-08 2018-10-30 Sungkyunkwan University Foundation For Corporation Collaboration Vision system and analytical method for planar surface segmentation
TR201902638T4 (tr) * 2015-05-28 2019-03-21 Keba Ag Bir büküm makinesinde sacın kanatları arasındaki büküm açısının ölçülmesinde kullanılan elektronik açı ölçüm cihazı.
JP6584236B2 (ja) * 2015-09-01 2019-10-02 日立造船株式会社 立体構造物のエッジ決定方法および立体構造物の外面決定方法
US10482681B2 (en) 2016-02-09 2019-11-19 Intel Corporation Recognition-based object segmentation of a 3-dimensional image
JP6499599B2 (ja) * 2016-02-16 2019-04-10 日本電信電話株式会社 物体認識装置、3次元点群モデル化装置、方法、及びプログラム
US10373380B2 (en) 2016-02-18 2019-08-06 Intel Corporation 3-dimensional scene analysis for augmented reality operations
JP6653051B2 (ja) * 2016-02-29 2020-02-26 クモノスコーポレーション株式会社 光走査装置
US11567201B2 (en) 2016-03-11 2023-01-31 Kaarta, Inc. Laser scanner with real-time, online ego-motion estimation
US10989542B2 (en) 2016-03-11 2021-04-27 Kaarta, Inc. Aligning measured signal data with slam localization data and uses thereof
US11573325B2 (en) 2016-03-11 2023-02-07 Kaarta, Inc. Systems and methods for improvements in scanning and mapping
JP6987797B2 (ja) 2016-03-11 2022-01-05 カールタ インコーポレイテッド リアルタイムオンラインエゴモーション推定を有するレーザスキャナ
JP6691837B2 (ja) * 2016-06-27 2020-05-13 株式会社キーエンス 測定装置
JP6691838B2 (ja) 2016-06-27 2020-05-13 株式会社キーエンス 測定装置
JP6695747B2 (ja) * 2016-06-27 2020-05-20 株式会社キーエンス 測定装置
US10573018B2 (en) * 2016-07-13 2020-02-25 Intel Corporation Three dimensional scene reconstruction based on contextual analysis
US10380796B2 (en) * 2016-07-19 2019-08-13 Usens, Inc. Methods and systems for 3D contour recognition and 3D mesh generation
US10192345B2 (en) * 2016-07-19 2019-01-29 Qualcomm Incorporated Systems and methods for improved surface normal estimation
JP6815793B2 (ja) * 2016-09-05 2021-01-20 国立大学法人 東京大学 矩形領域検出方法、矩形領域検出装置及びプログラム
CN108567501B (zh) * 2017-03-14 2021-04-27 无锡时代天使医疗器械科技有限公司 牙齿邻接面的重建方法
DE102017118156A1 (de) * 2017-08-09 2019-02-14 Valeo Schalter Und Sensoren Gmbh Verfahren zum Überwachen eines Umgebungsbereiches eines Kraftfahrzeugs, Sensorsteuergerät, Fahrerassistenzsystem sowie Kraftfahrzeug
WO2019045713A1 (en) * 2017-08-31 2019-03-07 Sony Mobile Communications Inc. METHODS OF GUIDING A USER WHEN REALIZING THREE-DIMENSIONAL SCAN AND ASSOCIATED MOBILE DEVICES AND COMPUTER PROGRAM PRODUCTS
EP3467789A1 (en) * 2017-10-06 2019-04-10 Thomson Licensing A method and apparatus for reconstructing a point cloud representing a 3d object
CN116385505A (zh) * 2017-10-20 2023-07-04 阿里巴巴集团控股有限公司 数据处理方法、装置、系统和存储介质
US10967862B2 (en) 2017-11-07 2021-04-06 Uatc, Llc Road anomaly detection for autonomous vehicle
WO2019099605A1 (en) 2017-11-17 2019-05-23 Kaarta, Inc. Methods and systems for geo-referencing mapping systems
US10989795B2 (en) * 2017-11-21 2021-04-27 Faro Technologies, Inc. System for surface analysis and method thereof
JP7081140B2 (ja) 2017-12-25 2022-06-07 富士通株式会社 物体認識装置、物体認識方法及び物体認識プログラム
WO2019165194A1 (en) 2018-02-23 2019-08-29 Kaarta, Inc. Methods and systems for processing and colorizing point clouds and meshes
WO2019195270A1 (en) 2018-04-03 2019-10-10 Kaarta, Inc. Methods and systems for real or near real-time point cloud map data confidence evaluation
WO2020009826A1 (en) 2018-07-05 2020-01-09 Kaarta, Inc. Methods and systems for auto-leveling of point clouds and 3d models
KR20210028606A (ko) * 2018-07-11 2021-03-12 소니 주식회사 화상 처리 장치 및 방법
CN109544689B (zh) * 2018-09-30 2023-10-31 先临三维科技股份有限公司 确定三维模型的方法及装置
JP6793777B2 (ja) * 2019-05-14 2020-12-02 株式会社ジオ技術研究所 3次元モデル生成装置
US11823330B2 (en) * 2019-08-19 2023-11-21 Nippon Telegraph And Telephone Corporation Detection device, detection method and detection program for linear structure
US11544903B2 (en) * 2019-12-13 2023-01-03 Sony Group Corporation Reducing volumetric data while retaining visual fidelity
CN111198563B (zh) * 2019-12-30 2022-07-29 广东省智能制造研究所 一种用于足式机器人动态运动的地形识别方法及系统
CN111105490B (zh) * 2020-02-07 2023-03-31 武汉玄景科技有限公司 一种散乱点云快速法矢定向方法
CN111553946B (zh) * 2020-04-17 2023-04-18 中联重科股份有限公司 用于去除地面点云的方法及装置、障碍物检测方法及装置
CN111539361B (zh) * 2020-04-28 2023-09-05 北京小马慧行科技有限公司 噪点的识别方法、装置、存储介质、处理器和运载工具
KR102334177B1 (ko) * 2020-07-21 2021-12-03 대한민국 실내대피를 위한 3차원 실내지도 구축 방법 및 시스템
CN112465767A (zh) * 2020-11-25 2021-03-09 南京熊猫电子股份有限公司 一种工业机器人鞋底涂胶轨迹提取方法
CN114556442A (zh) * 2020-12-29 2022-05-27 深圳市大疆创新科技有限公司 三维点云分割方法和装置、可移动平台
US12051147B1 (en) * 2021-05-18 2024-07-30 Apple Inc. Techniques for point cloud representation
RU2771468C1 (ru) * 2021-06-30 2022-05-04 Федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский университет "Московский институт электронной техники" Способ определения локальной кривизны и формы поверхности пластин и структур
CN113899319B (zh) * 2021-09-29 2022-08-02 上海交通大学 燃料组件水下弯扭变形测量验证装置、方法、设备及介质
CN114577131B (zh) * 2022-02-17 2023-07-25 湖南视比特机器人有限公司 一种基于3d结构光相机的车身间隙检测方法及系统
CN114842221B (zh) * 2022-04-02 2024-09-03 西北工业大学 一种基于产品深度图像点云的无标识装配状态识别方法
CN114972675B (zh) * 2022-07-07 2024-04-26 中国科学院东北地理与农业生态研究所 建筑物的三维点云简化方法
CN118037830A (zh) * 2022-11-03 2024-05-14 顺丰科技有限公司 点云数据处理方法、装置、电子设备及存储介质
CN116485855B (zh) * 2023-04-27 2024-02-02 中国民用航空总局第二研究所 一种快速自适应区域特征的点云初始配准方法
US11875447B1 (en) * 2023-05-26 2024-01-16 Illuscio, Inc. Systems and methods for color correcting three-dimensional objects formed by point cloud data points
CN116993923B (zh) * 2023-09-22 2023-12-26 长沙能川信息科技有限公司 换流站三维模型制作方法、系统、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003263464A (ja) * 2002-03-08 2003-09-19 Honda Motor Co Ltd フィレット作成方法、及び3次元cadプログラム
JP2008082707A (ja) * 2006-09-25 2008-04-10 Topcon Corp 測量方法及び測量システム及び測量データ処理プログラム
JP2010133751A (ja) * 2008-12-02 2010-06-17 Topcon Corp 形状測定装置およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5988862A (en) * 1996-04-24 1999-11-23 Cyra Technologies, Inc. Integrated system for quickly and accurately imaging and modeling three dimensional objects
JP2004272459A (ja) * 2003-03-06 2004-09-30 Cad Center:Kk 三次元形状の自動生成装置、自動生成方法、そのプログラム、及びそのプログラムを記録した記録媒体
JP4427656B2 (ja) * 2003-07-01 2010-03-10 学校法人東京電機大学 測量データの処理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003263464A (ja) * 2002-03-08 2003-09-19 Honda Motor Co Ltd フィレット作成方法、及び3次元cadプログラム
JP2008082707A (ja) * 2006-09-25 2008-04-10 Topcon Corp 測量方法及び測量システム及び測量データ処理プログラム
JP2010133751A (ja) * 2008-12-02 2010-06-17 Topcon Corp 形状測定装置およびプログラム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9977983B2 (en) 2012-08-09 2018-05-22 Kabushiki Kaisha Topcon Optical data processing device, optical data processing system, optical data processing method, and optical data processing program
CN104019765A (zh) * 2014-06-25 2014-09-03 山东理工大学 基于激光束法区域网平差的多站点云整体定向方法
CN108399283A (zh) * 2018-02-05 2018-08-14 中铁二十二局集团有限公司 一种基于crtsⅲ型轨道板外形尺寸快速计算方法
JP2020528134A (ja) * 2018-06-25 2020-09-17 ベイジン ディディ インフィニティ テクノロジー アンド ディベロップメント カンパニー リミティッド 自然光景中での統合センサの較正
CN111402393A (zh) * 2019-12-06 2020-07-10 温州大学 参数曲面模拟点云生成方法
CN111340860A (zh) * 2020-02-24 2020-06-26 北京百度网讯科技有限公司 点云数据的配准、更新方法、装置、设备和存储介质
CN111340860B (zh) * 2020-02-24 2023-09-19 北京百度网讯科技有限公司 点云数据的配准、更新方法、装置、设备和存储介质
CN111338742A (zh) * 2020-05-19 2020-06-26 北京数字绿土科技有限公司 一种点云数据的批处理方法及处理装置
CN111338742B (zh) * 2020-05-19 2020-09-08 北京数字绿土科技有限公司 一种点云数据的批处理方法及处理装置
CN114880332A (zh) * 2022-07-08 2022-08-09 深圳市信润富联数字科技有限公司 点云数据的存储方法、装置、电子设备及存储介质
CN114880332B (zh) * 2022-07-08 2022-09-16 深圳市信润富联数字科技有限公司 点云数据的存储方法、装置、电子设备及存储介质
CN115423835A (zh) * 2022-11-02 2022-12-02 中汽创智科技有限公司 杆状物点云数据处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP5343042B2 (ja) 2013-11-13
WO2011162388A4 (ja) 2012-03-01
WO2011162388A8 (ja) 2012-12-06
US20130181983A1 (en) 2013-07-18
JP2012008867A (ja) 2012-01-12

Similar Documents

Publication Publication Date Title
JP5343042B2 (ja) 点群データ処理装置および点群データ処理プログラム
JP5462093B2 (ja) 点群データ処理装置、点群データ処理システム、点群データ処理方法、および点群データ処理プログラム
JP5465128B2 (ja) 点群位置データ処理装置、点群位置データ処理システム、点群位置データ処理方法、および点群位置データ処理プログラム
JP6236118B2 (ja) 三次元データ処理装置、三次元データ処理システム、三次元データ処理方法およびプログラム
JP5593177B2 (ja) 点群位置データ処理装置、点群位置データ処理方法、点群位置データ処理システム、および点群位置データ処理プログラム
JP5480914B2 (ja) 点群データ処理装置、点群データ処理方法、および点群データ処理プログラム
JP5620200B2 (ja) 点群位置データ処理装置、点群位置データ処理方法、点群位置データ処理システム、および点群位置データ処理プログラム
JP5711039B2 (ja) 三次元点群位置データ処理装置、三次元点群位置データ処理方法、三次元点群位置データ処理システムおよびプログラム
JP5580164B2 (ja) 光学情報処理装置、光学情報処理方法、光学情報処理システム、光学情報処理プログラム
US9396542B2 (en) Method of estimating imaging device parameters
EP2375376B1 (en) Method and arrangement for multi-camera calibration
JP5799273B2 (ja) 寸法計測装置、寸法計測方法、寸法計測システム、プログラム
JP2015535337A (ja) 角度スキャン速度の動的調整を伴うレーザスキャナ
JP6541920B1 (ja) 情報処理装置、プログラム及び情報処理方法
US20170109932A1 (en) Content projection apparatus, content projection method, and computer readable storage medium
JP2006098256A (ja) 3次元サーフェスモデル作成システム、画像処理システム、プログラム及び情報記録媒体
JP6132246B2 (ja) 寸法計測方法
Chidambaram Edge Extraction of Color and Range Images

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

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

Country of ref document: EP

Kind code of ref document: A1