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

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

Info

Publication number
WO2011162388A4
WO2011162388A4 PCT/JP2011/064566 JP2011064566W WO2011162388A4 WO 2011162388 A4 WO2011162388 A4 WO 2011162388A4 JP 2011064566 W JP2011064566 W JP 2011064566W WO 2011162388 A4 WO2011162388 A4 WO 2011162388A4
Authority
WO
WIPO (PCT)
Prior art keywords
local
unit
point cloud
cloud data
plane
Prior art date
Application number
PCT/JP2011/064566
Other languages
English (en)
French (fr)
Other versions
WO2011162388A8 (ja
WO2011162388A1 (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 for extracting features from point cloud data of a measurement object and generating a three-dimensional shape automatically in a short time.
  • a scanning laser device scans a three-dimensional object to generate a point cloud.
  • Point clouds are divided into groups of edge points and non-edge points based on changes in depth and normal with respect to scan points. Each group is fitted to a geometric original, and the fitted geometric original is expanded and intersected to generate a three-dimensional shape.
  • segments are formed from point cloud data, and edges and planes are extracted based on the continuity between adjacent polygons, the normal direction, or the distance.
  • planarity or curvature of the point group data of each segment is replaced with a plane equation or a curved surface equation using the least squares method, and grouping is performed to generate a three-dimensional shape.
  • a two-dimensional rectangular area is set for three-dimensional point group 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 determined for each measurement point in the rectangular area, and when the standard deviation ⁇ exceeds a predetermined value, the measurement point corresponding to the central point of the rectangular area is treated as noise.
  • One use of three-dimensional information of an object obtained from a laser device, a stereo imaging device, etc. is to extract features of the object and obtain three-dimensional CAD data. What is important here is that the desired data can be obtained automatically and in short calculation time. Under such circumstances, the present invention aims to provide a technique for extracting features of point cloud data of a measurement object and automatically and quickly generating data on the contour of the object.
  • the invention according to claim 1 relates to a non-surface area removing unit that removes points of a non-surface area 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 unit for applying the same label to points on the same surface, and a portion between the first surface and the second surface on which the non-surface area is interposed and the different labels are provided,
  • an outline calculation unit configured to calculate an outline that distinguishes the first surface and the second surface, the outline calculation unit further comprising: A local region acquisition unit which acquires a local region based on point cloud data of the non-surface region continuous to the first surface, and a direction of a surface different from the first surface and the second surface fitted to the local region And a local surface acquisition unit for acquiring a local surface having A data processing unit group points, characterized in that the calculation of the serial contour is performed.
  • point cloud data a two-dimensional image and three-dimensional coordinates are linked. That is, in the point cloud data, data of a two-dimensional image of the measurement object, a plurality of measurement points corresponding to the two-dimensional image, and a position (three-dimensional coordinates) of the plurality of measurement points in three-dimensional space And are associated. According to the point cloud data, the outer shape of the object to be measured can be reproduced by a set of points. Further, since the three-dimensional coordinates of each point are known, the relative positional relationship between the points can be grasped, and processing of rotating the image of the object displayed on the screen or switching to an image viewed from a different viewpoint becomes possible.
  • the label is an identifier that identifies (or distinguishes from) other faces.
  • a surface is a surface suitable to be selected as an operation target, and includes a flat surface, a curved surface with large curvature, and a curved surface with large curvature and a small change due to the position.
  • the surface and the non-surface can be distinguished depending on whether the amount of operation at the time of mathematically grasping (data conversion) by the operation is an allowable amount.
  • Non-surfaces include corners, edge portions, other portions with small curvatures, and portions with rapidly changing curvatures. In these parts, a large amount of computation is required for mathematical comprehension (data conversion) by computation, leading to a high load on the computation device and an increase in computation time. In the present invention, shortening of the operation time is one of the problems. Therefore, the surface causing such a high load on the operation device and an increase in the operation time is removed as a surface, and the operation is avoided as much as possible. .
  • the first surface and the second surface are in a positional relationship in which the non-surface region is interposed therebetween.
  • the two surfaces located at the position sandwiching the non-surface area become the adjacent first and second surfaces.
  • the present invention is a technique for calculating an outline between the first surface and the second surface.
  • An outline is a line (outline) that forms the outline of the measurement object, which is necessary for visually grasping the appearance of the measurement object.
  • a bent portion or a portion where the curvature sharply decreases is an outline.
  • the contour is not limited to only the part of the outer contour, but is the edge that characterizes the part that protrudes in a convex manner or the edge that characterizes the part that is recessed in a concave manner (for example, the part of the groove structure) Part of is also targeted.
  • a so-called diagram can be obtained by the contour line, and image display can be performed in which the appearance of the object can be easily grasped.
  • the area corresponding to the corner or the edge of the object is removed as a non-area area, and the object is electronically grasped by a collection of surfaces that can be easily handled as data.
  • the appearance of the object is grasped as a set of faces.
  • the amount of data to be handled is saved, and the amount of calculation necessary to obtain three-dimensional data of the object is saved.
  • the processing time of the point cloud data is shortened, and the processing time of the display of the three-dimensional image of the measurement object and various operations based thereon is shortened.
  • the object is grasped first as a collection of surfaces requiring a small amount of calculation, and then the contour is estimated as if there is a contour between the adjacent surfaces.
  • the part of the outline of the object may include a part where the curvature of the edge or the like changes sharply, it is necessary to directly calculate from the obtained point group data to obtain data of the outline. It is not efficient because it causes an increase in
  • point cloud data in the vicinity of the contour line is removed as a non-surface area, and a face is first extracted based on point cloud data of a face that is easy to calculate.
  • a local area based on the point cloud data of the non-area area that has been removed previously is acquired following the plane obtained, and a local plane to be fitted to this local area is acquired.
  • This local surface is a local surface fitted to the shape of the non-surface area, rather than the first surface. Since this local surface is a surface that reflects the state of the non-surface area between the first surface and the second surface but is not perfect, the direction of the surface with respect to the first surface and the second surface ( The normal direction is different.
  • this local surface is a surface that reflects the state of the non-surface region between the first surface and the second surface, and therefore an approximation can be made by calculating an outline based on this local surface. An outline with high accuracy can be obtained. Further, according to this method, since the non-surface area is approximated by the local surface, the amount of calculation can be suppressed. In addition, although a plane (local plane) is useful in suppressing the amount of calculations, it is also possible to use a curved surface as a local plane.
  • the local region may be adjacent to the first surface or may be at a position distant from the first surface.
  • the local region and the first surface are connected by one or more local regions.
  • the point is shared by the first surface and the local area adjacent thereto (for example, the edge portion is shared), and then the local area and the local area adjacent thereto share the point, and the relationship is maintained. Then, the continuity of the area is secured.
  • the distinction between the surface and the non-surface is performed based on a parameter serving as an index for determining whether or not it is suitable to be treated as a surface.
  • 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 point of interest and the points around it. For example, when the attention point and the points around it are on the same plane, the local curvature is minimized because there is no variation in the normal vectors of the points.
  • the local plane is an approximation of a local region by a plane.
  • the fitting accuracy of the local plane is the accuracy with which the calculated local plane coincides with the local region on which the local plane is based.
  • 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 the average value of the distance between the local plane and the local area at each point is determined. This value determines the fitting accuracy of the local plane to the local region. For example, if the local region is a plane, the local region and the local plane coincide, and the fitting accuracy of the local plane is the highest (good) state.
  • Coplanarity is a parameter that indicates the difference in direction between two adjacent or adjacent faces. For example, if adjacent planes intersect at 90 degrees, the normal vectors of the adjacent planes are orthogonal. The smaller the angle between the two planes, the smaller the angle between the normal vectors of the two planes. Using this property, it is determined whether two adjacent planes are in the same plane, and if they are not in the same plane, how much the difference is. This degree is coplanarity. Specifically, if the inner product of the normal vectors of two local planes fitted to each of two target local regions and the vector connecting the center points is 0, then both local planes are on the same plane. Is determined to be present. Moreover, it is determined that the extent to which the two local planes are not on the same plane is more remarkable as the inner product is larger.
  • a threshold is set to each parameter which determines (1) local curvature, (2) fitting accuracy of a local plane, and (3) coplanarity mentioned above, and judgment of distinction of a field and non-surface is performed by the threshold value .
  • non-surface areas such as sharp three-dimensional edges generated by changing the orientation of a surface and smooth three-dimensional edges generated by a curved surface with a large curvature are determined by the local curvature of (1).
  • the non-plane area such as a three-dimensional edge generated by an occlusion (a state in which an object in front of an object is blocked and the object behind can not be seen)
  • the position of the point changes sharply. It is mainly determined by the fitting accuracy.
  • Non-surface areas such as sharp three-dimensional edges generated by changing the orientation of the surface are mainly determined by the coplanarity of (3).
  • a determination to distinguish between a face and a non-face can be made using one or more of the above three criteria. For example, when the above three types of determinations are respectively performed and one or more of them is determined as a non-surface, processing of determining the target region as a non-surface region may be mentioned.
  • the invention according to claim 2 is directed to a non-surface area removing unit for removing points of a non-surface area 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 unit for applying the same label to points on the same surface, and a portion between the first surface and the second surface on which the non-surface area is interposed and the different labels are provided,
  • an outline calculation unit configured to calculate an outline that distinguishes the first surface and the second surface, the outline calculation unit further comprising: A local region which is continuous to the first surface and which acquires a first local region based on point cloud data of the non-surface region and a second local region continuous to the second surface based on point cloud data of the non-surface region An acquisition unit, fitting to the first local region, the first surface and the second surface Fitting to a first local surface having different surface orientations and the second local region, and acquiring a second local surface having a surface orientation different from the first surface and the second surface
  • acquisition of the local surface is performed on both the side of the first surface and the side of the second surface. That is, a local plane extending in the direction from the first plane to the second plane and a local plane extending in the direction from the second plane to the first plane are acquired.
  • the invention according to claim 3 relates to the invention according to claim 2, wherein the first local surface and the second local surface connect a connection surface connecting the first surface and the second surface. It is characterized by comprising.
  • the portion removed as the non-surface area is virtually formed as the connection surface, and calculation of the outlines of the first surface and the second surface based on the connection surface Is done.
  • the connection plane is a simplified approximation plane that approximates the actual non-planar area.
  • 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, , And one or more local surfaces are obtained.
  • a plurality of local planes are set from the first plane to the second plane, and similarly, a plurality of local planes from the second plane to the first plane
  • the face is set.
  • the connection surface extends 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 is the first local surface
  • the tip of the connection surface extending from the second surface is the second local surface
  • the outline is calculated based on the two adjacent local planes of the head portion which extend in the facing direction and are in the facing positional relationship. According to this configuration, since the connecting surface is made to follow the shape of the actual non-surface region more finely, and the contour is calculated based on the local surface adjacent thereto, the calculation accuracy of the contour can be further enhanced.
  • the invention according to a fifth aspect is the invention according to any one of the second to fourth aspects, wherein the outline is calculated as an intersection line of the first local surface and the second local surface. It is characterized by According to the invention of the fifth aspect, one or a plurality of local planes are extended (connected) from the first plane to the second plane, and on the other hand, the second plane to the first plane In the case where one or more local faces are extended (connected) in the direction of, the line of intersection between the local faces finally extending from the adjacent surfaces is taken as the outline. According to this method, even if the shape of the non-surface area is complicated, the connection surface is formed while joining the local surface more finely, so that the calculation accuracy of the outline can be enhanced.
  • the invention according to a sixth aspect is the invention according to any one of the first to fifth aspects, wherein N is a natural number of 3 or more, and the local area is a square area constituted by N ⁇ N points. It is characterized by Set the local region by a set of points such as 3 ⁇ 3, 5 ⁇ 5, 7 ⁇ 7, and balance the speed-up of the calculation speed and the accuracy of the calculation result by making the local surface a local plane to be fitted there be able to. If the number of points constituting the local region is reduced, the accuracy is improved but the computational load is increased, which is disadvantageous in terms of processing time. On the contrary, if the number of points constituting the local region is increased, the accuracy is reduced but the operation load is lightened, which is advantageous in terms of processing time. From such a background, from the viewpoint of securing the accuracy, it is desirable that the number of points in the local region has an upper limit of about 9 ⁇ 9.
  • the invention according to a seventh aspect is the threshold according to any one of the first through sixth aspects, wherein the non-surface area determination threshold for determining the non-surface area and the same surface determination threshold for determining the same surface. Exists, and the non-surface determination threshold value is changed to remove the non-surface area point again, and the same surface determination threshold value is changed to the same label on the same surface point again And providing.
  • the seventh aspect of the present invention by performing the re-processing while changing the threshold value, the area determined as a surface is acquired from among the areas determined to be the non-plane area. Thereby, the non-surface area can be narrowed further, and the calculation accuracy of the outline can be enhanced.
  • the invention according to an eighth aspect is characterized in that, in the invention according to any one of the first to seventh aspects, a smoothing processing unit for smoothing the outline 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 a ninth aspect is the invention according to any one of the first to eighth aspects, wherein the three-dimensional image of the contour of the measurement object is displayed based on the calculation result of the contour calculation unit.
  • the apparatus is characterized by comprising a three-dimensional contour image display control unit that performs control to display on the device.
  • the image of the outline of the measurement object based on the point cloud data can be displayed on an image display device (for example, a liquid crystal display).
  • the invention according to claim 10 is the display control unit according to the invention according to any one of claims 1 to 9, displaying a plurality of surfaces divided by the surface labeling unit on the image display device, and A surface selection unit which 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, one of the two surfaces. And a selection surface recognition unit that recognizes each of the first surface and the second surface.
  • the outline is calculated based on the user's designation. In general, not all three-dimensional image information based on point cloud data is necessarily required for the user. According to the tenth aspect of the present invention, the outline of the portion desired by the user can be displayed as an image. Further, by calculating the outline of the designated part, it is possible to suppress an increase in processing time due to useless calculation.
  • the invention according to an eleventh aspect is characterized in that, in the invention according to the tenth aspect, the plurality of surfaces are displayed in different display forms. According to the invention described in claim 11, the different labeled surfaces are displayed in a display state that is easy to visually grasp. This improves the operability for obtaining the outline by the user.
  • different display modes include differences in shading, differences in color, differences in density of dot display, differences in hatching processing, and a plurality of combinations of these.
  • the invention described in claim 12 is characterized in that, in the invention described in claim 10 or 11, the two selected faces are highlighted. According to the invention of claim 12, adjacent two faces selected by the user are highlighted so as to be easily visible. This improves the operability of the work of selecting a face and displaying the outline. Examples of highlighting include blinking, displaying darker or brighter than other surfaces, and displaying different colors 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.
  • the invention according to a thirteenth aspect is the invention according to any one of the first to twelfth aspects, wherein among the plurality of surfaces divided by the surface labeling unit, the surface which is not the object of calculation of the outline.
  • a non-calculation target surface selection unit for selecting a data storage unit that stores data for selecting a surface that is not a target of calculation of the contour line or an input that specifies a surface that is not a target of calculation of the contour line And an input receiving unit.
  • the contour line of furniture such as a chair brought into the room may not be required.
  • such an unnecessary object is not selected as the target of calculation of the outline, based on the data stored in the data storage unit or by designation of the user. For this reason, it is possible to reduce unnecessary work by the user and unnecessary calculations of the arithmetic device.
  • the invention according to a fourteenth aspect is characterized in that, in the invention according to the thirteenth aspect, a hidden outline calculation unit for calculating the outline hidden behind a surface which is not a target of the calculation of the outline.
  • a hidden outline calculation unit for calculating the outline hidden behind a surface which is not a target of the calculation of the outline.
  • the invention according to claim 15 is characterized in that a rotary irradiation unit for rotating and irradiating a distance measurement light to a measurement object, and a position from the position of the subject to a measurement point on the measurement object based on the flight time of the distance measurement light.
  • Three-dimensional coordinate calculation for calculating three-dimensional coordinates of the measurement point based on a distance measuring unit that measures a distance, an irradiation direction detection unit that detects an irradiation direction of the distance measurement light, and the distance and the irradiation direction Section, a point cloud data acquisition section for acquiring point cloud data of the measurement object based on the result calculated by the three-dimensional coordinate calculation section, and point cloud data of the non-surface area based on the point cloud data of the measurement object And a surface labeling unit for applying the same label to points on the same surface with respect to points other than the points removed by the non-surface region removal portion; First and second sides with different labels And a contour calculation unit that calculates a contour that distinguishes the first surface and the second surface in the portion between the two, and the contour calculation unit includes the first surface and the second surface.
  • a local area acquiring unit for acquiring a local area based on the point cloud data of the non-surface area between the surfaces, fitting to the local area, and fitting the first surface and the second surface
  • a local surface acquisition unit for acquiring a local surface having a direction of a surface different from the surface, and the calculation of the outline is performed based on the local surface.
  • the invention according to claim 16 is an imaging unit for imaging a measurement object in an imaging region overlapping from different directions, and a feature point corresponding unit for correlating feature points in the overlapping image obtained by the imaging unit, Three-dimensional coordinates for calculating three-dimensional coordinates of feature points based on a shooting position and orientation measurement unit that measures the position and orientation of the shooting unit, the position and orientation of the shooting unit, and the positions of feature points in the overlapping image
  • An arithmetic unit a point cloud data acquisition unit for acquiring point cloud data of the measurement object based on a result calculated by the three-dimensional coordinate calculation unit; and a non-surface area based on the point cloud data of the measurement object
  • a non-surface area removing section for removing points
  • a surface labeling section for applying the same label to points on the same surface with respect to points other than the points removed by the non-surface area removing section;
  • An outline calculation unit for calculating an outline that distinguishes the first surface and the second surface in a portion between the given first surface and the second
  • the invention according to claim 17 is a point cloud data acquisition means for optically obtaining point cloud data of a measurement object, and non-surface area removal for removing points of a non-surface area based on point cloud data of the measurement object.
  • Means and surface labeling means for applying 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;
  • a contour calculating unit that calculates a contour that distinguishes the first surface from the second surface in a portion between the first surface and the second surface,
  • a local area acquiring unit connected to the first surface and acquiring a local area based on point cloud data of the non-surface area between the first surface and the second surface; Fitting, in a plane different from the first and second planes
  • 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 is carried out.
  • the invention according to claim 18 relates to a non-surface area removing step of removing points of 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 surface labeling step of applying the same label to points on the same surface, and sandwiching the non-surface region between the first surface and the second surface to which different labels are applied,
  • an outline calculation step of calculating an outline that distinguishes the first surface and the second surface, wherein, in the outline calculation step, the second calculation is performed between the first surface and the second surface.
  • the invention according to claim 19 is a program which causes a computer to read and execute the program, which is a non-surface area removing means for removing points of a non-surface area based on point cloud data of a measurement object; A surface labeling unit that applies 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; Operation as an outline calculation means for calculating an outline that distinguishes the first face and the second face in a portion between the first face and the second face, Local area acquiring means for acquiring a local area based on point cloud data of the non-surface area continuous with the first surface between the first surface and the second surface, and fitting to the local region,
  • the first surface and the 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 relates to a non-surface area removing unit that removes points of a non-surface area 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 unit for applying the same label to points on the same surface, and a portion between the first surface and the second surface on which the non-surface area is interposed and the different labels are provided,
  • an outline calculation unit configured to calculate an outline that distinguishes the first surface and the second surface, the outline calculation unit further comprising: A local region acquisition unit which acquires a local region based on point cloud data of the non-surface region continuous to the first surface, and a local line which is fitted to the local region and which is not parallel to the first surface and the second surface And a local line acquisition unit for acquiring 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 characterized in that, in the invention according to claim 1, a local one-dimensional space fitted to a local region, instead of the configuration for acquiring a local plane which is a local two-dimensional space. It is configured to acquire a line.
  • the local line is a line of limited length that fits in the local region of interest and extends along the direction from the first surface to the second surface.
  • the width of the local surface is narrowed, a local line fitting to the local region of interest is determined, and this local line is used instead of the local surface. It can be considered as a method of obtaining an outline.
  • the local line may be a straight line or a curved line.
  • the intersection of the local lines is the passing point of the outline.
  • the contour line is calculated by connecting the plurality of intersection points obtained.
  • the plurality of intersection points to be connected may not be adjacent to each other.
  • calculation of the outline can be performed by obtaining two distant points according to the invention of claim 20 and connecting them. In this case, a large amount of computation can be saved.
  • the invention of claim 20 can be grasped as a method invention, a system invention, and a program invention. Further, as in the invention described in claim 2, it is possible to grasp the invention described in claim 20 as a method of extending a local line from two surfaces. A configuration is also possible in which the contents described in any one of claims 2 to 14 are added to the invention described in claim 20.
  • contour line 150 contour line 160: furniture (cloth) 161: floor surface 162: wall surface 163: wall surface 164: wall surface 165: contour line 166: contour line 167: contour line , 168: outline, 169: outline, 170: outline, 171: outline (hidden outline), 172: outline (an outline obtained by connecting the hidden part), 1: point group Data processing device 2 point cloud data 22 leveling unit 23 rotation mechanism unit 24 distance measuring unit 25 imaging unit 26 control unit 27 main unit 28 rotation irradiating unit 29: Base plate, 30: lower casing, 31: pin, 32: adjustment screw, 33: tension spring, 34: leveling motor, 35: leveling drive gear, 36: leveling driven gear, 37: inclination sensor, 38 ...
  • Horizontal rotation motor 39 ... Horizontal rotation drive gear, 40 ... Horizontal rotation gear, 41 ... Rotation shaft, 42 ... Rotation base, 43 ... Bearing member, 44 ... Horizontal angle detector, 45 ...
  • Main unit casing 46: Lens barrel, 47: Optical axis, 48: Beam splitter, 49, 50: Optical axis, 51: Pulsed laser light source, 52: Perforated mirror, 53: Beam waist changing optical system, 54: Ranging light receiving part, 55 ... Rotation mirror for height angle, 56 ...
  • the point cloud processing apparatus is capable of performing calculation processing among 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 is provided to remove point cloud data relating to a large non-surface area.
  • a surface labeling unit that applies a label specifying a surface to point cloud data after data of the non-surface region is removed, and a local plane based on a local region continuous from the surface to which the label is applied
  • an outline calculation unit that calculates the outline of the object.
  • 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 point cloud data of the measurement object, and generates a three-dimensional shape based on the features.
  • the point cloud data uses a three-dimensional position measurement device (three-dimensional laser scanner) or a plurality of imaging devices to obtain data of three-dimensional coordinates of the measurement object as point cloud data by investigating and irradiating laser light. It is obtained from a stereoscopic image information acquisition device that acquires stereoscopic image information and obtains data of three-dimensional coordinates of the measurement object as point cloud data based thereon. 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 laptop 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 apparatus of FIG.
  • This program is not limited to being installed in a personal computer, but may be stored 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 touch panel display, a display unit such as a liquid crystal display, a GUI (Graphical User Interface) function unit which is a user interface integrated with the input unit and the display unit, a CPU and others Interface device capable of exchanging information with a computing device, a semiconductor memory, a hard disk storage unit, a disk storage device driving unit capable of exchanging information with a storage medium such as an optical disk, and a portable storage medium such as a USB memory And a communication interface unit for performing wireless communication and wired communication as needed.
  • 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 is performed by dedicated hardware configured using an application specific integrated circuit (ASIC) or a programmable logic device (PLD) such as a field programmable gate array (FPGA). It is also possible to configure the device 100.
  • ASIC application specific integrated circuit
  • PLD programmable logic device
  • FPGA field programmable gate array
  • the point cloud processing apparatus 100 includes a non-surface area removal unit 101, a surface labeling unit 102, an unnecessary surface removal unit 103, a removal target data storage unit 104, and an outline calculation unit 105. Each of these functional units will be described below.
  • FIG. 2 is a flowchart showing an example of processing performed in the point cloud data processing apparatus 100.
  • the processing of steps S202 to S204 in FIG. 2 is performed by the non-surface area removing unit 101.
  • the non-surface area removal unit 101 calculates a normal vector calculation unit 101a that calculates a normal vector of a local region to be described later, a local plane calculation unit 101c that calculates a local plane fitting to the local region, and a local curvature of the local region.
  • the local curvature calculation unit 101b is provided.
  • these functional units will be described according to 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 the data in which the appearance of the measurement object is grasped by a plurality of points. (Step S202). In this process of calculating the normal vector, a square area (a lattice-like area) having one side of about 3 to 7 pixels around the point of interest is regarded as a local area, and point cloud data in this local area is noted. The normal vector calculation unit 101a calculates a normal vector of each point in this local region. This process is performed on all point cloud data. That is, point cloud data is divided into innumerable local regions, and calculation of the normal vector of each point is performed in each local region.
  • point cloud data is a collection of data indicating the three-dimensional coordinates of each point, in the data in which the appearance of the measurement object is grasped by a plurality of points.
  • 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 determined, and the standard deviation (StdNVx, StdNVy, StdNVz) Ask for).
  • the square root of the sum of squares of the standard deviation is calculated as a local curvature (crv) (see the following equation 1).
  • the local plane calculation unit 101c obtains a local plane in the local region (step S204).
  • the equation of the local plane is determined from the three-dimensional coordinates of each point of the focused local region (local plane fitting).
  • the local plane is a plane fitted to the local region of interest.
  • the equation of the surface of the local plane fitted to the local region is calculated using the least squares method. Specifically, a plurality of different plane equations are obtained and compared, and the equation of the plane of the local plane fitted to the local region is calculated. If the local region of interest is a plane, the local plane and the local region coincide.
  • processing is performed to remove points in the non-surface region (step S205). That is, in order to extract a surface (a flat surface and a curved surface), a portion (non-surface region) which can be determined not to be a surface is removed in advance.
  • the non-surface region is a region that is neither a flat surface nor a curved surface, but may include a curved surface with high curvature depending on the threshold values of (1) to (3) below.
  • the non-surface area removal process can be performed using at least one of the following three methods.
  • the determination according to the following methods (1) to (3) is performed on all the local regions described above, and the local region determined as a non-surface region by one or more methods is configured as a non-surface region Extract as a local region. Then, 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, and a local region of local curvature exceeding the threshold is determined to be a non-surface region. Since the local curvature represents the variation of the normal vector at the point of interest and its peripheral points, its value is small on a surface (a flat surface and a curved surface with a small curvature), and its value is large on other than the surface (non-surface). Therefore, if the local curvature is larger than a predetermined threshold, the local area is determined to be a non-area area.
  • a local area determined as a non-area area by one or more methods is extracted as a local area constituting the non-area area. 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 removal of the non-surface area in step S205 of FIG. 2 is performed. In this way, the non-surface area removing unit 101 removes point group data of the non-surface area from among the point group data input to the point cloud data processing apparatus 100.
  • the point cloud data that has been removed may be used in later processing, so it can be stored in an appropriate storage area, or it can be distinguished from point cloud data that has not been removed. Keep it available.
  • the surface labeling unit 102 executes the processing of step S206 and the subsequent steps in FIG. 2 on the point cloud data processed by the non-surface area removing unit 101.
  • the surface labeling unit 102 performs surface labeling on the point cloud data from which the point group data of the non-surface region has been removed by the non-surface region removing unit 101 based on the continuity of the normal vectors (step S205). Specifically, if the angle difference between the normal vectors of a particular target point and an adjacent point is equal to or less than a predetermined threshold, the same label is attached to those points. By repeating this operation, the same label is attached to the continuous flat surface and the continuous gentle curved surface, and they can be identified as one surface.
  • step S205 it is determined whether the label (surface) is a flat surface or a curved surface with a small curvature, using the angle difference of the normal vectors and the standard deviation of the three axis components of the normal vectors. Determine and associate identification data identifying the label with each label.
  • the label (surface) having a small area is removed as noise (step S207).
  • the noise removal may be performed simultaneously with the surface labeling process of step S205.
  • the number of points of the same label (the number of points forming the label) is counted, and a process of canceling the label which is the number of points less than or equal to a predetermined number is performed.
  • the same label as the nearest surface (closest surface) is given. Thereby, the already labeled surface is expanded (step S208).
  • step S207 the details of the process of step S207 will be described below.
  • the equation of the labeled surface is determined, and the distance between the surface and the point without the label is determined. If there are multiple labels (faces) around the point without labels, the label with the shortest distance is selected. Then, if there remains a point without a label, the respective threshold values in non-area removal (step S205), noise removal (step S207), and label expansion (step S208) are changed, and related processing is performed again.
  • (Re-labeling) is performed (step S209). For example, in non-surface area removal (step S205), the number of points to be extracted as non-surfaces is reduced by raising the threshold of the local curvature. Alternatively, in the label expansion (step S208), by increasing the threshold of the distance between the point without label and the nearest surface, more labels are given to the point without label.
  • the labels are integrated (step S210).
  • faces having the same position or orientation are labeled the same.
  • 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 the speed of processing of point cloud data can be increased. It also saves memory requirements. In addition, it is possible to remove point cloud data of passersby or vehicles passing during the measurement as noise.
  • FIG. 3 a cube 120 is shown as an example of the measurement object.
  • the cube 120 is scanned by a laser scanner from an obliquely upper viewpoint and point cloud data of the cube 120 is obtained.
  • steps S201 to S210 in FIG. 2 are performed on this point cloud data, labels are attached to the three surfaces visible in FIG. Image data similar to that shown in can be obtained.
  • the outer edge 123a on the side 124 of the plane 123 does not coincide with the outer edge 124a on the plane 123 side of the plane 124 as shown in FIG. It is located in the extended state. That is, the outline 122 of the cube 120 is not accurately reproduced.
  • the data of the portion of the contour line 122 is an edge portion of the portion of the boundary 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 flat surface 123 to which the different label is attached 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 (the non-area region 125), the image information regarding the portion is not displayed.
  • an outline calculation unit 105 described later is disposed.
  • the unnecessary surface removing unit 103 removes, from the point cloud data, a surface related to an object for which acquisition of contour line data is unnecessary, such as a car parked in front of a building or indoor furniture (chair etc.). This process is performed based on the data stored in the removal target data storage unit.
  • the removal object storage unit 104 stores a list relating to objects that are unnecessary for obtaining contour line data such as the above-described car and furniture. This list is adopted 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 known image recognition processing. Then, the surface (the surface to which the label is attached) related to the extracted object is removed.
  • the unnecessary surface removing unit 103 By the function of the unnecessary surface removing unit 103, data of the surface of the measurement object (data of the surface to which the label is attached) which does not require calculation of the contour is removed, and useless calculation is performed in calculation of the contour. It can not be done.
  • 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 an unnecessary object.
  • the user designates an unnecessary object or a corresponding surface using a known GUI function, and point cloud data relating to the specified object or surface is removed by the unnecessary surface removal unit 103.
  • the outline calculation unit 105 calculates (estimates) an outline based on point cloud data of the adjacent surface (step S211 in FIG. 2). The specific calculation method will be described below.
  • FIG. 5 One of the principles of the method of calculating an outline is shown in FIG. In FIG. 5, the vicinity of the boundary between the plane 131 and the plane 132 is conceptually shown. In this case, the non-area area 133 with small curvature is removed by the non-area area removal process, and the adjacent flat surfaces 131 and 132 are labeled as planes. At this time, since the point cloud data between the outer edge 131a on the side of the plane 132 of the plane 131 and the outer edge 132a on the side of the plane 131 of the plane 132 is removed as a non-area, the outlines that should be in the non-area 133 Can not be obtained directly from point cloud data.
  • the outline calculation unit 105 performs the following processing.
  • the plane 132 and the plane 131 are extended, and their intersection line 134 is calculated.
  • the intersection line 134 be an estimated outline.
  • a polyhedron is formed by a portion up to the extended line of intersection of the plane 131 and a portion up to the extended line of intersection of the plane 132, and this polyhedron becomes an approximate connection plane connecting the planes 131 and 132.
  • the intersection line 134 is calculated by considering a plane having normal vectors of the portions of the outer edges 131 a and 132 a and 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 outline tends to be large, and the error is likely to be large.
  • the edge is sharp or the width of the non-area region is narrow, the error is small, so that the advantage that the processing time can be shortened comes to life.
  • FIG. 7A shows the configuration of the contour line calculation unit 105 of FIG. 1 when “Calculation method 1” is executed.
  • the contour line calculation unit 105 includes the connection surface calculation unit 141, and the connection surface calculation unit 141 extends the adjacent surface extending unit 142 that performs calculations to extend the adjacent first and second surfaces, and An intersection line calculation unit 143 is provided which calculates an intersection line between the first surface and the second surface.
  • FIG. 6 shows the principle of the method of calculating the outline.
  • FIG. 6 (A) shows a conceptual view from the viewpoint of viewing a cross section vertically cut in the same plane as FIG. 5, and FIG. 6 (B) shows two planes and the outline between them.
  • a conceptual view (model view) of the viewed state is shown.
  • FIG. 6 conceptually shows the vicinity of the boundary between the plane 131 and the plane 132 similar to the case of FIG. 5. Also in this case, the non-surface area 133 with small curvature is removed by the non-surface area removing process, and the adjacent flat surfaces 131 and 132 are labeled as faces. This point is the same as the case of FIG.
  • a local region including the point of the outer edge 131 a on the side of the plane 132 of the plane 131 and further on the side of the plane 132 is acquired.
  • This local region is a local square region such as 3 ⁇ 3 points or 5 ⁇ 5 points that share the outer edge 131 a of the plane 131 at the edge portion and that constitutes a part of the non-surface region 133.
  • This local region shares a portion of the edge with the outer edge 131 a of the plane 131, and thus becomes a continuous region from the plane 131.
  • the local plane 135 fitting to this local area is acquired.
  • the local plane 135 is mainly affected by the shape of the non-surface area 133, the direction of the normal vector (direction of the plane) is different from the direction of the normal vector of the planes 131, 132 (direction of the plane) There is.
  • the calculation method of the local plane is the same as that in the local plane calculation unit 101c.
  • a local region including the point of the outer edge 132 a on the side of the plane 131 of the plane 132 and further on the side of the plane 131 is acquired.
  • a local plane 137 fitting to this local area is acquired.
  • the same processing is repeated, from the side of the plane 131 to the side of the plane 132, Also, from the side of the plane 132 to the side of the plane 131, the local plane is fitted to the local area on the non-area area 133. In other words, the nonplanar area 133 is approximated by joining local planes.
  • the local planes 135 and 137 since the distance between the local planes 135 and 137 is equal to or less than the threshold (that is, it is determined not to be the interval for setting the local plane further), the local planes 135 and 137 in close adjacent relation to each other. The intersection line of is calculated, and the outline 138 is calculated. In this case, a polyhedron is formed by the local plane 135, the local plane 137, and a portion extending to a line of extension thereof, and this polyhedron becomes an approximate connection plane connecting the planes 131 and 132. According to this method, since the connection plane connecting the flat surfaces 131 and 132 is formed by connecting local planes fitting to the non-surface area, the calculation accuracy of the outline can be made higher than in the case of FIG.
  • a contour 138 (a line element of the contour) having a length on the order of the dimensions of the local plane 135, 137 is obtained.
  • the outline 139 which divides the planes 131 and 132 is calculated by performing the above-mentioned process along the extension direction of the non-surface area. That is, after the calculation of the outline 138 shown in FIG. 6A, the local plane 135 'and 137' are obtained by the same method to calculate the outline part between them. By repeating this process, the short outline 138 is extended and the outline 139 is obtained.
  • the local plane is further set on the side of the plane 132 of the local plane 135.
  • a local area including the edge point on the plane 132 side of the local area on which the local plane 135 is based is obtained, and a local area on the side of the plane 132 is acquired, and a local plane fitted thereto is acquired.
  • This process is similarly performed on the side of the plane 132. This process is repeated on each side of the two planes, connecting the connection planes from both sides, and when the gap becomes less than the threshold, find the line of intersection of two local planes that are close to each other in the facing positional relationship, Let it be an outline.
  • FIG. 7B shows the configuration of the contour line calculation unit 105 in FIG. 1 when the calculation method 2 is performed.
  • the contour calculation unit 105 includes a connection surface calculation unit 144.
  • the connection surface 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 region acquisition unit 145 acquires a local region necessary to acquire the local planes 135 and 137.
  • the local plane acquisition unit 146 acquires a local plane fitted to the local area acquired by the local area acquisition unit 145.
  • the local plane extension 147 is a local plane (in the case of FIG.
  • the local plane 135) extending in the direction from the plane 131 to the plane 132 and a local plane (in the direction from the plane 132 to the plane 131 (FIG. 6).
  • the intersection line calculation unit 148 calculates an intersection line of the two extended local planes.
  • a gap (a portion of the non-surface region) between the adjacent first surface and the second surface via the non-surface region is locally connected, and this gap is gradually
  • an intersection line of adjacent local planes is calculated with a gap, and calculation is performed to form an outline.
  • the difference in the direction of the normal vector of the local planes 135 and 137 may be used as a criterion for determining whether or not to set a local plane between the local planes 135 and 137.
  • the local plane calculation unit 101c of FIG. 1 functions as a local straight line calculation unit.
  • FIG. 6 reference numerals 135 and 137 are grasped as local straight lines.
  • the local straight line can be understood as a form in which the width of the local plane is narrowed to the width of one point (mathematically, there is no width).
  • connection line in this case, not a plane but a line connecting the planes 131 and 132 is formed by the 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 fitted to the local region using the least squares method. Specifically, equations of a plurality of different straight lines are obtained and compared, and a straight line equation 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. Since the local region to be fitted with the local straight line is a local region that constitutes a part of the non-surface region 133, the local straight line (in this case, reference numeral 135) is parallel to the planes 131 and 132. It does not.
  • a local straight line indicated by reference numeral 137 is calculated.
  • the intersection point of the two local straight lines is the passing point of the contour line to be obtained.
  • the actual calculation of the contour line can be obtained by obtaining a plurality of the above intersection points and connecting them.
  • FIG. 8 is a conceptual diagram corresponding to FIG. FIG. 8 shows the case where the contour 150 is calculated by applying the contour calculation process (contour calculation method 2) described in the present embodiment in the state shown in FIG. 4.
  • the connection plane connecting both planes by the “contour line calculation method 2” is based on the outer edge 123 a of the flat surface 123 and the outer edge 124 b of the flat surface 124.
  • the contour line 150 is calculated by calculating (see FIG. 6) and determining the common line of the two local planes constituting the connection surface.
  • image data suitable for utilization as CAD data can be obtained from point cloud data by incorporating the data into three-dimensional CAD data.
  • the point cloud data processing apparatus 100 includes a hidden contour calculation unit 106. Although the data of the surface which is not the calculation target of the contour line is removed by the unnecessary surface removing unit 103 described above, the contour line may be hidden behind the removed surface.
  • the hidden outline calculation unit 106 calculates the hidden outline based on the data of the outline calculated by the outline calculation unit 105.
  • FIG. 9 conceptually shows the case where the room is to be measured.
  • FIG. 9A shows the appearance of the room visually observed.
  • a case will be considered in which point cloud data is acquired with this room as a measurement target, and then processing by the point cloud data processing device 100 of FIG. 1 is performed.
  • the surface labeling unit 102 acts to label the floor surface 161, the wall surface 162, the wall surface 163, the wall surface 164, and the surface constituting the outer surface of the closet 160 which is furniture placed indoors.
  • FIG. 9 (B) An outline 165 dividing the floor surface 161 and the wall surface 162, an outline 166 dividing the wall surface 162 and the wall 163, and outlines 167 and 168 dividing the floor surface 161 and the wall surface 163; A state in which an outline 170 for dividing the floor surface 161 and the wall surface 164 is displayed is shown.
  • the portion hidden behind the chest 160 is blank on the data because there is no point cloud data. Therefore, as shown in FIG. 9B, in the shaded portion of the closet 160, the outline dividing the floor surface 161 and the wall surface 163 is partially interrupted, and the floor surface 161 and the wall surface 163 are partitioned. A state in which the outline is divided into outlines 167 and 168 is displayed.
  • the hidden contour calculation unit 106 performs an operation to complement the contour of the divided portion. Specifically, an equation representing the contour line 167 is calculated, and based on this equation, a portion that extends the contour line 167 in the direction of the contour line 168 is calculated. The calculated part is shown as a contour line 171 in FIG. 9 (C). Note that on the actual display screen, the outline 171 is shown in the same state as the other outlines, and displayed so as to be indistinguishable from the other outline parts (for example, the part of the reference numeral 167) It is also possible to display so that it can be identified). In this way, it is possible to display the outline 172 that divides the floor surface 161 and the wall surface 163 in a state where there is no missing portion.
  • the point cloud data processing apparatus 100 of FIG. 1 includes a smoothing processing unit 107.
  • the smoothing processing unit 107 performs processing to correct the display so as to be a smooth line.
  • the edge of the surface is also the edge of the non-surface area, so errors in acquiring point cloud data and selecting acquired point cloud data If it is enlarged, the outline may be a broken line.
  • the smoothing processing unit 107 determines the degree of the polygonal line from the interval of the bent part, and when the interval is equal to or less than a predetermined threshold value, replaces the part with a straight line. For example, in the case where the indoor state in FIG. 9 is to be measured, it is rare that the contour line is repeatedly bent in units of several cm. Therefore, in such a case, for example, it is determined that the threshold value is set to 5 cm and linear bending is performed when the number of repetition of bending is three or more.
  • FIG. 10 shows an outline 303 before the smoothing process calculated by the process described with reference to FIGS. 6 and 8 for reference.
  • the contour line 303 is a broken line (shown in an exaggerated manner in the figure) because of sampling errors and calculation errors of point cloud data.
  • symbol 304 is the outline linearized by the smoothing process mentioned above.
  • the calculation method using the local surface whose principle is shown in FIG. 6 is not adopted in all parts of the contour line, and first, both ends of the planes 301 and 302 (lines connecting the upper edges of the Two points 305 and 306 on the lower edge line of the figure) are calculated, and then outlines are calculated by connecting points 305 and 306 with a straight line.
  • the points 305 and 306 are obtained using “calculation method 4”.
  • a method of 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 of the reference numeral 301a and the portion of the reference numeral 302a, and finally the intersection point is calculated.
  • Calculate the passing point of the outline that hits the part of. This extends the edge 301b on the lower end side of the plane 301 in the direction of the plane 302 by a method of setting a local straight line, while setting the edge 302b on the lower side of the plane 302 to a local straight line. It is extended in the direction of the plane 301 by the progressive method, and the point of intersection of the finally adjacent portions is obtained as a point 305.
  • the position of the point 306 is calculated by the same method.
  • the outline 304 is calculated.
  • two points and a straight line connecting them can be calculated, and since a linearized outline can be obtained directly, the amount of calculation can be saved.
  • the method of setting the local straight line of “Calculation method 4” which makes the calculation easier is used, but the local plane of “Calculation method 2” is set It is also possible to calculate points 305 and 306 using the following method.
  • This method can be used, for example, to calculate an outline of a corner of a floor or a ceiling or a corner of a cube.
  • FIG. 11 (A) shows two planes having different directions adjacent to each other through the non-plane area
  • FIG. 11 (B) shows a combination of three different planes based on the structure of FIG. 11 (A).
  • Find the two points of intersection between Then, three intersection points in the vicinity 314 of the corner where the planes 311, 312, and 313 are matched are taken as temporary intersection points, and their three-dimensional coordinates are acquired.
  • an average value of three-dimensional coordinates of the three temporary intersections is obtained, and the coordinate position is defined as an intersection 315 of the three planes 311, 312, and 313. In this way, the intersection of a plurality of faces is calculated.
  • the process of smoothing the outline can also be applied when the outline to be smoothed is a curve.
  • a portion to make the polygonal line smooth is selected by the same principle as the above case.
  • the equation of a curve for replacing the portion with a smooth curve is calculated, and the outline is smoothed based on the equation of this curve.
  • the point cloud data processing device 100 of 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 functioning as a point cloud data processing device.
  • the image display control unit 108 controls the image display device 108 to display the 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 on which the measurement object is displayed by the surface obtained by the processing by the surface labeling unit 102, an image from which the display of the unnecessary object is removed by the unnecessary surface removal unit 103,
  • the image of the contour calculated by the contour calculation unit 105, the image of the contour calculated by the hidden contour calculation unit 106, the image of the contour smoothed by the smoothing processing unit 107, and a plurality of these images are simultaneously processed.
  • the displayed image, an image of an explanatory screen relating to the operation of the point cloud data processing apparatus 100, an image of a screen regarding setting of a threshold, etc., and an image of an operation screen of a GUI operated by the user can be mentioned.
  • the image display control unit 108 performs control to distinguish and display the surface on which the label is given by the surface labeling unit with the adjacent surface so as to be easily visually recognized. That is, control is performed to apply a color to the displayed surface so that the first surface is red and the adjacent second surface is blue so that the different surfaces of the label are clearly recognized.
  • This process may be a combination of two or more of the methods listed here because it is easy to visually recognize different label faces in appearance, so the difference in density, the difference in density of dot display, the difference in hatching process, .
  • the image display control unit 108 highlights the two faces when the user designates the two faces for the purpose of calculating an outline between the two faces. As a method of highlighting, there is a method of making the color easy to distinguish from other methods, or making it blink.
  • 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 is configured of a keyboard device, a mouse device, and a GUI function unit of the notebook personal computer being used.
  • the operation of the point cloud data processing apparatus 100 is performed by operating the operation input unit 110.
  • the operation input receiving unit 111 has a function of receiving the content of operation of the operation input unit 110 by the user and interpreting the content as data that can be processed in 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 of calculating an outline, and a function that allows the user to select a part that calculates an outline. In order to realize these functions, 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 enables the user to select a desired method from among the plurality of methods for calculating the contour. For example, a symbol display indicating the type of calculation method is displayed at the end of the image display device, etc., and when the user selects a desired method using the GUI function of the personal computer, the selected content is calculated as an outline calculation method.
  • the selection unit 112 recognizes and the calculation process of the outline in the outline calculation unit 105 is performed by the selected calculation method. According to this function, the user can select whether priority is given to accuracy or processing speed.
  • the calculation target surface selection unit 113 is used when the user selects a position at which a contour line is to be calculated. For example, in the example shown in FIG. 9, when the user operates the operation input device 110 of FIG. 1 and the wall surface 162 and the wall surface 163 are specified, the operation input reception unit 111 recognizes it and the effect is calculated It is recognized by 113.
  • the calculation target surface selection unit 113 recognizing the content designated by the user sends data for specifying the selected wall surfaces 162 and 163 to the contour calculation unit 105.
  • the outline calculation unit 105 calculates an outline 166 that divides the wall surfaces 162 and 163. At this time, the two faces selected by the user are highlighted by the function of the image display control unit 108, and display control is performed in which the user can easily recognize the selected faces.
  • the point cloud data processing device scans and applies distance measurement light (laser light) to the measurement object, and based on the flight time of the laser light, a number of points on the measurement object are measured from its own position. Measure the distance to the measurement point. Further, 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.
  • distance measurement light laser light
  • irradiation direction horizontal angle and elevation angle
  • the point cloud data processing apparatus acquires a two-dimensional image (RGB intensity at each measurement point) obtained by imaging the measurement object, and forms point cloud data in which the two-dimensional image and three-dimensional coordinates are linked. Further, the point cloud data processing apparatus forms a diagram showing a three-dimensional outline of the object constituted by the outline from the formed point group 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 unit 27, and a rotation irradiation unit 28.
  • the main unit 27 includes a distance measuring unit 24, an imaging unit 25, a control unit 26, and the like.
  • FIG. 13 illustrates a state in which only the rotary irradiation unit 28 is viewed laterally with respect to the cross-sectional direction illustrated in FIG. 12 for the convenience of description.
  • the leveling unit 22 has a table 29, and the rotation mechanism unit 23 has a lower casing 30.
  • the lower casing 30 is supported at three points by the pin 31 and two adjustment screws 32 on the table 29.
  • the lower casing 30 tilts with the tip of the pin 31 as a fulcrum.
  • a tension spring 33 is provided between the bed 29 and the lower casing 30 so that the bed 29 and the lower casing 30 do not separate from each other.
  • two leveling motors 34 are provided inside the lower casing 30 .
  • the two leveling motors 34 are driven independently of each other by the control unit 26.
  • the adjusting screw 32 is rotated via the leveling drive gear 35 and the leveling driven gear 36, and the amount of downward projection of the adjusting 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 the leveling is performed.
  • the rotation mechanism unit 23 has a horizontal angle drive motor 38 inside the lower casing 30.
  • a horizontal rotation drive gear 39 is fitted on 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 central portion of the rotating base 42.
  • the rotary base 42 is provided on the upper portion of the lower casing 30 via a bearing member 43.
  • an encoder for example, is provided as the horizontal angle detector 44 in the rotary shaft portion 41.
  • the horizontal angle detector 44 detects the relative rotation angle (horizontal angle) of the rotary 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 rotary base 42.
  • a lens barrel 46 is provided inside the main body portion casing 45.
  • the barrel 46 has a center of rotation that is concentric with the center of rotation of the main body casing 45.
  • the rotation center 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.
  • Optical axis 47 is split by beam splitter 48 into optical axis 49 and optical axis 50.
  • the distance measuring unit 24 is provided on the outer peripheral portion of the lens barrel 46.
  • the distance measuring unit 24 has 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 beam are disposed.
  • the distance measurement 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 guides pulse laser light from the hole 52a to the beam splitter 48, and has a role of reflecting the reflected laser light reflected back from the object to be measured toward the distance measurement 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 light is reflected by the beam splitter 48 toward the elevation mirror 55.
  • the elevation mirror 55 reflects infrared pulsed laser light toward the object to be measured.
  • the rotation mirror 55 for high and low angles converts the light axis 47 extending in the vertical direction into a light projection optical axis 56 in the height and elevation directions by rotating in the height and elevation directions.
  • 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 measurement light receiving unit 54 through the elevation angle turning mirror 55, the condensing 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. Point cloud data processing apparatus based on the difference between the time until the reflected laser beam is received by the distance measuring light receiving unit 54 and the time until the laser beam 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 includes 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 of, for example, a CCD (Charge Coupled Device), in which a large number of pixels are collectively arranged in a plane.
  • the position of each pixel of the image light receiving unit 58 is specified by the optical axis 50. For example, assuming an optical axis 50 as an origin, assuming an XY coordinate, a pixel is defined as a point of the XY coordinate.
  • the rotary irradiation unit 28 is housed inside the light projecting casing 59.
  • a part of the peripheral wall of the light projecting casing 59 is a light projecting window.
  • a pair of mirror holder plates 61 are provided opposite to each other on the flange portion 60 of the lens barrel 46.
  • a pivot shaft 62 is stretched around the mirror holder plate 61.
  • the elevation mirror 55 is fixed to the pivot shaft 62.
  • a height gear 63 is fitted to one end of the rotation shaft 62.
  • the elevation angle detector 64 is provided on the other end side of the pivot shaft 62. The elevation angle detector 64 detects the rotation angle of the elevation angle turning mirror 55 and outputs the detection result to the control unit 26.
  • a high and low angle drive motor 65 is attached to one of the mirror holder plates 61.
  • a drive gear 66 is fitted on the output shaft of the high and low angle drive motor 65.
  • the drive gear 66 is meshed with the high and low angle gears 63 attached to the rotation shaft 62.
  • the drive motor 65 for high and low angles is appropriately driven by the control of the control unit 26 based on the detection result of the high and low angle detector 64.
  • An illumination star gate 67 is provided on the top of the light projecting casing 59.
  • the illumination star 67 is used to collimate the measurement object.
  • the collimation direction using the illumination star gate 67 is orthogonal to the direction in which the light projection optical axis 56 extends and the direction in which the rotation axis 62 extends.
  • FIG. 14 is a block diagram of a control unit.
  • the control unit 26 receives detection signals from the horizontal angle detector 44, the elevation angle detector 64, and the inclination sensor 37.
  • the control unit 26 also 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 an HDD is detachably attachable.
  • the control unit 26 includes an arithmetic unit 4, a storage unit 5, a horizontal drive unit 69, an elevation 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 is a sequence program necessary for performing distance measurement and detection of elevation angle and horizontal angle, calculation program, measurement data processing program for executing processing of measurement data, image processing program for performing image processing, point cloud data Stores various programs such as a program for extracting a surface from the image and calculating an outline, and an image display program for displaying the calculated outline on the display unit 7, and integrates and manages these various programs Store integrated management program etc.
  • the storage unit 5 also 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 high and low drive unit 70 drives and controls the high and low angle drive motor 65
  • the leveling drive unit 71 controls and drives 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 cloud 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 of the measurement target point from the horizontal angle detector 44 and the elevation angle detector 64 (horizontal angle and elevation angle) Is input.
  • the three-dimensional coordinate calculation unit 74 calculates three-dimensional coordinates (orthogonal coordinates) of each measurement point with the position of the point cloud data processing apparatus 1 as the origin (0, 0, 0) based on the input distance data and direction data. Calculate
  • the link forming unit 75 receives image data from the image data processing unit 73 and coordinate data of three-dimensional coordinates of each measurement point calculated by the three-dimensional coordinate calculation unit 74.
  • the link formation unit 75 forms point cloud data 2 in which image data (RGB intensity of each measurement point) and three-dimensional coordinates are linked. That is, when focusing on a certain point of the measurement object, the link formation unit 75 creates a relation in which the position of the focused point in the two-dimensional image is associated with the three-dimensional coordinates of the focused point.
  • the associated data is calculated for all measurement points, and these become point cloud data 2.
  • the point cloud data processing device 1 can acquire point cloud data 2 of the measurement object measured from different directions. Therefore, if one measurement direction is one block, the point cloud data 2 can be configured by two-dimensional images of a plurality of blocks and three-dimensional coordinates.
  • the link forming unit 75 outputs the point cloud data 2 described above to the grid forming unit 9.
  • the grid formation unit 9 forms equally spaced grids (meshes) and registers the point closest to the grid intersection point.
  • the grid formation unit 9 corrects all points to grid intersection points using a linear interpolation method or a bicubic method.
  • the process of the grid formation unit 9 can be omitted.
  • FIG. 16 is a view showing point group data in which the distance between points is not constant
  • FIG. 17 is a view showing the formed grid.
  • the average horizontal interval H1 to N of each column is determined, the difference ⁇ Hi, j of the average horizontal interval between the columns is calculated, and the average is set as the horizontal interval ⁇ H of the grid (Equation 2).
  • the distance in the vertical direction is calculated by calculating the distance ⁇ VN, H to the adjacent point in the vertical direction in each column, and the average of ⁇ VN, H in the entire image of the image size W, H is taken as the vertical distance ⁇ V (Equation 3).
  • a grid of the calculated horizontal interval ⁇ H and vertical interval ⁇ V is formed.
  • the point closest to the intersection of the formed grid is registered.
  • a predetermined threshold is provided for the distance from the intersection to each point to limit registration.
  • the threshold is 1 ⁇ 2 of the horizontal interval ⁇ H and the vertical interval ⁇ V.
  • all points may be corrected by weighting according to the distance from the intersection.
  • 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 by operating the operation unit 6 of FIG. 14 by the user, and the display unit 7 whose image obtained as a result is a liquid crystal display Is displayed on. 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 in the point cloud data processing device 100 of FIG. 1.
  • the point cloud data processing unit 100 ' is configured as hardware by a dedicated integrated circuit using an FPGA.
  • the point cloud data processing unit 100 ′ performs processing on point cloud data in the same manner as the point cloud data processing device 100.
  • a point cloud data processing apparatus 200 is shown in FIG.
  • the point cloud data processing apparatus 200 has a configuration in which an image measurement function having a stereo camera and a point cloud data processing function using the present invention are integrated.
  • the point cloud data processing apparatus 200 captures an image of a measurement target in an overlapping imaging region from different directions, associates feature points in the overlapping image, and determines the position and orientation of the imaging unit obtained in advance and the feature points in the overlapping image. Based on the position, the three-dimensional coordinates of the feature point are calculated.
  • the point cloud data processing apparatus 200 forms point cloud data in which a two-dimensional image and three-dimensional coordinates are linked based on the parallax of the feature points in the overlapping image, the measurement space, and the reference form. Furthermore, the point cloud data processing device 200 performs surface labeling processing and contour line data calculation 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 apparatus 200 includes imaging units 76 and 77, a feature projection unit 78, an image data processing unit 73, an arithmetic unit 4, a storage unit 5, an operation unit 6, a display unit 7, and a data output unit for obtaining stereo images. It has eight.
  • a digital camera, a video camera, a CCD camera (charge coupled device camera) for industrial measurement, a CMOS camera (complementary metal oxide semiconductor camera) or the like is used as the imaging units 76 and 77.
  • the imaging units 76 and 77 function as stereo cameras that capture an object to be measured in overlapping imaging areas from different imaging positions.
  • 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, spot-like spot light, linear slit light or the like on the measurement object. As a result, the portion having a poor feature of the measurement object is characterized, and the image processing is facilitated.
  • the feature projection unit 78 is mainly used in the case of precise measurement of a medium to small sized artifact without a pattern.
  • the feature projection unit 78 can be omitted if measurement of a relatively large measurement object which is usually outdoors or precise measurement is unnecessary, or if the measurement object has features or if a pattern can be applied.
  • the image data processing unit 73 converts the overlapping 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 correlating feature points from within the overlapping image, and based on the shooting position and orientation and the position of feature points within the overlapping image , A program for determining erroneous corresponding points to form point cloud data, a program for extracting a face from point cloud data, and further calculating an outline, an image for displaying the calculated outline on the display unit 7 While storing various programs, such as a display program, various data, such as point cloud data and image data, is 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 positions and orientations of the imaging units 76 and 77 based on the photographed image of the calibration subject 79, and features in the overlapping image of the measurement object Extract points and associate them.
  • the calculation unit 4 calculates the positions and orientations of the imaging units 76 and 77, and calculates three-dimensional coordinates of the measurement object based on the positions of the feature points in the overlapping image to form point cloud data 2. Furthermore, the calculation unit 4 extracts a surface from the point cloud data 2 and calculates an outline of the measurement object.
  • FIG. 19 is a block diagram of the calculation unit 4.
  • the calculating unit 4 includes a point cloud data processing unit 100 ′, a shooting position and orientation measuring unit 81, a feature point associating unit 82, a background removing unit 83, a feature point extracting unit 84, a corresponding point searching unit 85, and a three-dimensional coordinate computing unit 86.
  • An erroneous correspondence 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 in the point cloud data processing device 100 of FIG. 1.
  • the point cloud data processing unit 100 ' is configured as hardware by a dedicated integrated circuit using an FPGA.
  • the point cloud data processing unit 100 ′ performs processing on point cloud data in the same manner as the point cloud data processing device 100.
  • Image data of the overlapping image captured by the imaging units 76 and 77 is input from the image data processing unit 73 to the imaging position and orientation measurement unit 81.
  • targets 80 (retro targets, or code targets, or color code targets) are pasted at predetermined intervals on the calibration subject 79, and the shooting position and orientation measurement unit 81 is configured to use the calibration subject 79.
  • the image coordinates of the target 80 are detected from the captured image of the image, and the positions and orientations of the imaging 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 The relative orientation method, the single photo orientation method or the DLT method, and the bundle adjustment method may be used alone or in combination.
  • DLT Direct Linear Transformation
  • the feature point associating unit 82 inputs an overlapping image of the measurement object from the image data processing unit 73, extracts feature points of the measurement object from the overlapping image, and associates them.
  • the feature point associating unit 82 includes a background removing unit 83, a feature point extracting unit 84, and a corresponding point searching unit 85.
  • the background removing unit 26 subtracts the background image from which the measurement object is not copied from the photographed image in which the measurement object is copied, the operator designates the position to be measured by the operation unit 6, or the measurement point By automatically extracting (automatically detecting a part with abundant use and features of a pre-registered model), a background-removed image in which only the measurement object is photographed is generated. In the case where it is not necessary to remove the background, the processing of the background removing unit 26 can be omitted.
  • the feature point extraction unit 84 extracts feature points from the background-removed image.
  • derivative filters such as Sobel, Laplacian, Preuwit, Roberts, etc. 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 sequential similarity detection algorithm method (SSDA), normalized correlation method, orientation code matching method (OCM) or the like is used.
  • the three-dimensional coordinate calculation unit 86 determines each feature based on the positions and orientations of the imaging units 76 and 77 measured by the photographing position and orientation measurement unit 81 and the image coordinates of the feature points associated by the feature point associating unit 82. Calculate the 3D coordinates of a point.
  • the erroneous corresponding point determination unit 87 determines an erroneous corresponding point based on at least one of the parallax, the measurement space, and the reference form.
  • the erroneous corresponding 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 histogram of the parallaxes of the corresponding feature points in the overlapping image, and determines a characteristic point having a parallax that is not within the predetermined range from the average value of the parallaxes as a false correspondence point. For example, an average value ⁇ 1.5 ⁇ (standard deviation) is used as a threshold.
  • the space determination unit 89 defines a space having a predetermined distance from the center of gravity of the calibration subject 70 as a measurement space, and the three-dimensional coordinates of the feature point calculated by the three-dimensional coordinate calculation unit 86 are out of the measurement space Then, the feature point is determined as a false correspondence point.
  • the form determination unit 90 forms or inputs a 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 generates the reference form and the three-dimensional coordinates of the feature points. Determine the false corresponding point based on the distance of. For example, a rough surface is formed by forming a TIN (Triangulated Irregular Network) having an edge having a predetermined length or more based on the feature point and deleting a long TIN. Next, a false correspondence point is determined based on the distance between the rough surface and the feature point.
  • TIN Triangulated Irregular Network
  • the erroneous corresponding point determination unit 87 forms point cloud data 2 excluding the determined erroneous corresponding point.
  • the point cloud data 2 has a direct link structure in which a two-dimensional image and three-dimensional coordinates are connected.
  • the computing unit 4 determines whether the false correspondence point determination unit 87 and the point cloud data processing device 100 ′ are used. In between, it is necessary to provide the grid formation part 9.
  • the grid forming unit 9 forms grids (meshes) at equal intervals, and registers the point closest to the grid intersection point. Thereafter, as described in the first embodiment, the surface is extracted from the point cloud data 2, and the calculation of the outline of the measurement object is performed.
  • the image measurement apparatus can acquire point cloud data composed of a two-dimensional image and three-dimensional coordinates.
  • an image measurement apparatus in which point cloud data is output from the erroneous correspondence 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 can be obtained.
  • the present invention can be used for techniques 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 WO2011162388A1 (ja) 2011-12-29
WO2011162388A4 true 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)

Families Citing this family (71)

* 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 鸿富锦精密工业(深圳)有限公司 点云间隙与断差量测系统及方法
JP5963353B2 (ja) 2012-08-09 2016-08-03 株式会社トプコン 光学データ処理装置、光学データ処理システム、光学データ処理方法、および光学データ処理用プログラム
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
WO2014152254A2 (en) * 2013-03-15 2014-09-25 Carnegie Robotics Llc Methods, systems, and apparatus for multi-sensory stereo vision for robotics
US9984177B2 (en) * 2013-05-31 2018-05-29 Panasonic Intellectual Property Management 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次元計測器、画像処理方法及び画像処理プログラム
CN104019765B (zh) * 2014-06-25 2016-10-05 山东理工大学 基于激光束法区域网平差的多站点云整体定向方法
JP6468756B2 (ja) * 2014-08-25 2019-02-13 株式会社ミツトヨ 三次元モデルの生成方法、三次元モデルの生成システム及び三次元モデルの生成プログラム
US10127709B2 (en) * 2014-11-28 2018-11-13 Panasonic Intellectual Property Management Co., Ltd. Modeling device, three-dimensional model generating device, modeling method, and program
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
CN107923738B (zh) * 2015-05-28 2020-06-09 柯巴股份公司 用于测量板材的臂之间弯曲角度的电子角度测量装置
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
US10989542B2 (en) 2016-03-11 2021-04-27 Kaarta, Inc. Aligning measured signal data with slam localization data and uses thereof
US11567201B2 (en) 2016-03-11 2023-01-31 Kaarta, Inc. Laser scanner with real-time, online ego-motion estimation
US11573325B2 (en) 2016-03-11 2023-02-07 Kaarta, Inc. Systems and methods for improvements in scanning and mapping
EP3427008B1 (en) 2016-03-11 2022-09-07 Kaarta, Inc. Laser scanner with real-time, online ego-motion estimation
JP6691838B2 (ja) 2016-06-27 2020-05-13 株式会社キーエンス 測定装置
JP6695747B2 (ja) * 2016-06-27 2020-05-20 株式会社キーエンス 測定装置
JP6691837B2 (ja) * 2016-06-27 2020-05-13 株式会社キーエンス 測定装置
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
US11288870B2 (en) 2017-08-31 2022-03-29 Sony Group Corporation Methods for guiding a user when performing a three dimensional scan and related 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 富士通株式会社 物体認識装置、物体認識方法及び物体認識プログラム
CN108399283B (zh) * 2018-02-05 2023-04-14 中铁二十二局集团有限公司 一种基于crtsⅲ型轨道板外形尺寸快速计算方法
WO2019165194A1 (en) 2018-02-23 2019-08-29 Kaarta, Inc. Methods and systems for processing and colorizing point clouds and meshes
CN110859044B (zh) * 2018-06-25 2023-02-28 北京嘀嘀无限科技发展有限公司 自然场景中的集成传感器校准
WO2020009826A1 (en) * 2018-07-05 2020-01-09 Kaarta, Inc. Methods and systems for auto-leveling of point clouds and 3d models
WO2020012967A1 (ja) * 2018-07-11 2020-01-16 ソニー株式会社 画像処理装置および方法
CN109544689B (zh) * 2018-09-30 2023-10-31 先临三维科技股份有限公司 确定三维模型的方法及装置
JP6793777B2 (ja) * 2019-05-14 2020-12-02 株式会社ジオ技術研究所 3次元モデル生成装置
JP7156542B2 (ja) * 2019-08-19 2022-10-19 日本電信電話株式会社 線状構造物の検出装置、検出方法及び検出プログラム
CN111402393A (zh) * 2019-12-06 2020-07-10 温州大学 参数曲面模拟点云生成方法
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 武汉玄景科技有限公司 一种散乱点云快速法矢定向方法
CN111340860B (zh) * 2020-02-24 2023-09-19 北京百度网讯科技有限公司 点云数据的配准、更新方法、装置、设备和存储介质
CN111553946B (zh) * 2020-04-17 2023-04-18 中联重科股份有限公司 用于去除地面点云的方法及装置、障碍物检测方法及装置
CN111539361B (zh) * 2020-04-28 2023-09-05 北京小马慧行科技有限公司 噪点的识别方法、装置、存储介质、处理器和运载工具
CN111338742B (zh) * 2020-05-19 2020-09-08 北京数字绿土科技有限公司 一种点云数据的批处理方法及处理装置
KR102334177B1 (ko) * 2020-07-21 2021-12-03 대한민국 실내대피를 위한 3차원 실내지도 구축 방법 및 시스템
CN112465767A (zh) * 2020-11-25 2021-03-09 南京熊猫电子股份有限公司 一种工业机器人鞋底涂胶轨迹提取方法
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结构光相机的车身间隙检测方法及系统
CN114972675B (zh) * 2022-07-07 2024-04-26 中国科学院东北地理与农业生态研究所 建筑物的三维点云简化方法
CN114880332B (zh) * 2022-07-08 2022-09-16 深圳市信润富联数字科技有限公司 点云数据的存储方法、装置、电子设备及存储介质
CN115423835B (zh) * 2022-11-02 2023-03-24 中汽创智科技有限公司 杆状物点云数据处理方法、装置、电子设备及存储介质
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 长沙能川信息科技有限公司 换流站三维模型制作方法、系统、计算机设备和存储介质

Family Cites Families (6)

* 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
JP3786410B2 (ja) * 2002-03-08 2006-06-14 本田技研工業株式会社 フィレット作成方法、及び3次元cadプログラム
JP2004272459A (ja) * 2003-03-06 2004-09-30 Cad Center:Kk 三次元形状の自動生成装置、自動生成方法、そのプログラム、及びそのプログラムを記録した記録媒体
JP4427656B2 (ja) * 2003-07-01 2010-03-10 学校法人東京電機大学 測量データの処理方法
JP5057734B2 (ja) * 2006-09-25 2012-10-24 株式会社トプコン 測量方法及び測量システム及び測量データ処理プログラム
JP5297779B2 (ja) * 2008-12-02 2013-09-25 株式会社トプコン 形状測定装置およびプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2011162388A4 (ja) 点群データ処理装置、点群データ処理システム、点群データ処理方法、および点群データ処理プログラム
JP5462093B2 (ja) 点群データ処理装置、点群データ処理システム、点群データ処理方法、および点群データ処理プログラム
JP5465128B2 (ja) 点群位置データ処理装置、点群位置データ処理システム、点群位置データ処理方法、および点群位置データ処理プログラム
JP6236118B2 (ja) 三次元データ処理装置、三次元データ処理システム、三次元データ処理方法およびプログラム
WO2011070927A1 (ja) 点群データ処理装置、点群データ処理方法、および点群データ処理プログラム
JP5620200B2 (ja) 点群位置データ処理装置、点群位置データ処理方法、点群位置データ処理システム、および点群位置データ処理プログラム
US10456918B2 (en) Information processing apparatus, information processing method, and program
JP6835536B2 (ja) 画像処理方法、表示装置および点検システム
JP5711039B2 (ja) 三次元点群位置データ処理装置、三次元点群位置データ処理方法、三次元点群位置データ処理システムおよびプログラム
JP5580164B2 (ja) 光学情報処理装置、光学情報処理方法、光学情報処理システム、光学情報処理プログラム
US9697607B2 (en) Method of estimating imaging device parameters
US8848201B1 (en) Multi-modal three-dimensional scanning of objects
JP2017096939A (ja) ビジョンシステムで3dポイントクラウドマッチングに使用するクラッタをスコアリングするためのシステム及び方法
CN102834845A (zh) 用于多摄像装置校准的方法与装置
WO2019177539A1 (en) Method for visual inspection and apparatus thereof
JP6054831B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
WO2019100700A1 (en) Portable 3d scanning systems and scanning methods
JP6541920B1 (ja) 情報処理装置、プログラム及び情報処理方法
Chatterjee et al. Noise in structured-light stereo depth cameras: Modeling and its applications
JP2006098256A (ja) 3次元サーフェスモデル作成システム、画像処理システム、プログラム及び情報記録媒体
Tomori et al. Active segmentation in 3d using kinect sensor
Palka et al. 3D object digitization devices in manufacturing engineering applications and services
Chidambaram Edge Extraction of Color and Range Images
US20240095939A1 (en) Information processing apparatus and information processing method
Lang et al. Active object modeling with VIRTUE

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