WO2020013021A1 - 検出装置、処理装置、検出方法、及び処理プログラム - Google Patents

検出装置、処理装置、検出方法、及び処理プログラム Download PDF

Info

Publication number
WO2020013021A1
WO2020013021A1 PCT/JP2019/026217 JP2019026217W WO2020013021A1 WO 2020013021 A1 WO2020013021 A1 WO 2020013021A1 JP 2019026217 W JP2019026217 W JP 2019026217W WO 2020013021 A1 WO2020013021 A1 WO 2020013021A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
unit
plane
distance
information
Prior art date
Application number
PCT/JP2019/026217
Other languages
English (en)
French (fr)
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 株式会社ニコン
Priority to JP2020530127A priority Critical patent/JP7200994B2/ja
Publication of WO2020013021A1 publication Critical patent/WO2020013021A1/ja

Links

Images

Classifications

    • 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
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V8/00Prospecting or detecting by optical means
    • G01V8/10Detecting, e.g. by using light barriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Definitions

  • the present invention relates to a detection device, a processing device, a detection method, and a processing program.
  • the detection target object may include a first object and a second object that are in contact with each other.
  • first object and the second object can be identified and detected.
  • a human body contacting the floor surface be identified with the floor surface and detected with high accuracy.
  • a position detection unit that detects position information of each point on an object including a first object and a second object in a target area, and an object surface of the first object based on a detection result of the position detection unit And an object identification unit that identifies at least a part of a second object that contacts the object surface with respect to the object surface based on a distance to each point on the object detected by the position detection unit.
  • an object plane of a first object based on a detection result of detecting position information of each point on an object including a first object and a second object in a target area, and each point on the object There is provided a processing device including: an object identification unit that identifies at least a part of a second object that contacts an object surface with respect to the object surface based on the distance.
  • detecting position information of each point on an object including a first object and a second object in a target area detecting an object plane of the first object based on a result of the detection, and And identifying at least a part of the second object that contacts the object surface with respect to the object surface based on the distance to each point.
  • the computer includes: an object surface of a first object based on a detection result of detecting position information of each point on an object including a first object and a second object in a target area;
  • a processing program is provided for executing, based on a distance to a point, at least a part of a second object that contacts the object surface with respect to the object surface.
  • FIG. 3 is a diagram illustrating a position detection unit according to the first embodiment. It is a figure showing the point cloud processing concerning a 1st embodiment.
  • FIG. 3 is a diagram illustrating a plane estimation process and an object identification process according to the first embodiment.
  • 5 is a flowchart illustrating a detection method according to the first embodiment. 5 is a flowchart illustrating a plane estimation process according to the first embodiment. 5 is a flowchart illustrating an object identification process according to the first embodiment. It is a figure showing the detecting device concerning a 2nd embodiment. 6 is a flowchart illustrating a detection method according to a second embodiment.
  • FIG. 1 is a diagram illustrating a detection device according to the embodiment.
  • the detection device 1 detects the object M in the target area AR.
  • the target region AR is a region to be detected by the detection device 1 (eg, a detection region of the detection device 1, a field of view).
  • the object M includes a first object M1 and a second object M2.
  • the first object M1 includes, for example, an object fixed in the target area AR (for example, a stationary object such as a floor, a wall, a road, a stair, a ground, a building, or a structure).
  • the first object M1 has a surface SF (eg, a floor surface, a wall surface, a ceiling surface, a ground surface, a road surface, a slope, a curved surface having a curvature such as a concave surface or a convex surface, etc.) which is an example of an object surface.
  • a surface SF eg, a floor surface, a wall surface, a ceiling surface, a ground surface, a road surface, a slope, a curved surface having a curvature such as a concave surface or a convex surface, etc.
  • the second object M2 includes an object that is separable (eg, movable) from the first object M1 (eg, a moving object).
  • the second object M2 includes, for example, a human body, an animal, or a robot.
  • the second object M2 can contact the surface SF of the first object M1.
  • the second object M2 moves from outside the target area AR into the target area AR and contacts the surface SF of the first object M1.
  • the second object M2 is in a state not in contact with the surface SF (eg, a state arranged outside the target area AR) and in a state in contact with the surface SF (eg, in a state arranged in the target area AR). Either state can be taken.
  • the detection device 1 includes a position detection unit 2 and a processing device 3.
  • the position detection unit 2 detects position information (eg, depth) of each point on the object M including the first object M1 and the second object M2 in the target area AR.
  • the position detection unit 2 inputs a signal (input signal) to the object M and detects a signal (output signal) output from the object M.
  • the above-mentioned signals (input signals, output signals) include, for example, energy waves selected from light (visible light, invisible light, infrared light, ultraviolet light) and sound waves (eg, ultrasonic waves).
  • the position detecting unit 2 includes a detecting unit 4 (eg, a depth sensor, a depth camera, a distance measuring unit).
  • the position detector 2 detects the depth (distance, depth, depth) from a predetermined point to each point on the object M.
  • the predetermined point is, for example, a point at a position serving as a reference for detection by the position detection unit 2 (eg, a viewpoint, a detection source point, a point at the position of the position detection unit 2).
  • FIG. 2 is a diagram illustrating the position detection unit 2 according to the first embodiment.
  • the position detection unit 2 includes an irradiation unit 5, an optical system 6, and an imaging device 7.
  • the irradiation unit 5 irradiates (eg, projects) light La (eg, pattern light, irradiation light, pulse light) to a detection target area AR (space, detection area).
  • the light La includes, for example, infrared light.
  • the optical system 6 includes, for example, an imaging optical system (imaging optical system).
  • the image sensor 7 includes, for example, a CMOS image sensor or a CCD image sensor.
  • the image sensor 7 has a plurality of pixels arranged two-dimensionally.
  • the imaging element 7 captures an image of the target area AR including the object M via the optical system 6.
  • the imaging element 7 detects light Lb (infrared light, return light) emitted from the object (object M) in the target area AR by irradiation of the light La.
  • the light Lb includes, for example, infrared light.
  • the detection unit 4 is configured to detect an image sensor based on a pattern (eg, intensity distribution) of light La emitted from the irradiation unit 5 and a pattern (intensity distribution, captured image) of light Lb detected by the image sensor 7. The depth from the point on the target area AR corresponding to each pixel 7 to each pixel of the image sensor 7 is detected.
  • the position detector 2 sends a depth map (eg, depth image, depth information, distance information) representing the distribution of depth in the target area AR to the processing device 3 (see FIG. 1) as the detection result (area position information). Output.
  • a depth map eg, depth image, depth information, distance information
  • the position detection unit 2 may detect an object (for example, a moving object, a second object M2) that moves in the target area AR.
  • the detection unit 4 may repeat detection of an object at a predetermined sampling frequency.
  • the detection unit 4 may generate position information (eg, a depth map) at the time of each detection, each time the detection is performed.
  • the position detection unit 2 may detect the movement of the object based on the time change of the position information of the object generated by the detection unit 4. Further, the position detection unit 2 may generate the position information by calculating (eg, calculating an average value) a plurality of detection results at different detection times by the detection unit 4.
  • the method of detecting position information by the position detection unit 2 may be passive measurement or active measurement, and is arbitrarily set.
  • the position detection unit 2 may be a device that detects depth by a time-of-flight (TOF) method. Further, the position detection unit 2 may be a device that detects depth by a method other than the TOF method.
  • the position detection unit 2 may include, for example, a device that includes a laser scanner (eg, a laser range finder) and detects depth by laser scanning.
  • the position detection unit 2 may be, for example, a device that includes a phase difference sensor and detects depth by a phase difference method.
  • the position detection unit 2 may be, for example, a device that detects a depth by a DFD (depth @ from @ defocus) method.
  • the position detection unit 2 may irradiate the object M with light (eg, visible light) other than infrared light and detect light (eg, visible light) emitted from the object M.
  • the position detection unit 2 may include, for example, a stereo camera, and may detect (eg, image) the object M from a plurality of viewpoints.
  • the position detection unit 2 may be a device that detects depth by triangulation using captured images obtained by capturing the object M from a plurality of viewpoints.
  • the position detection unit 2 may detect the depth by a method other than an optical method (eg, scanning by ultrasonic waves).
  • the position detection unit 2 includes a first detection unit (for example, the detection unit 4) that detects a distance between each point on the object M and a predetermined point, and a second detection unit (for example, a visible detection unit) that detects the texture of the object M.
  • a first detection unit for example, the detection unit 4
  • a second detection unit for example, a visible detection unit
  • the processing device 3 is an information processing device that processes information output from the position detection unit 2 (eg, a detection result).
  • the processing device 3 includes a model generation unit 11, a surface estimation unit 12, an object identification unit 13, and a storage unit 14.
  • the storage unit 14 is, for example, a nonvolatile memory, a hard disk (HDD), a solid state drive (SSD), or the like.
  • the storage unit 14 stores information output from the position detection unit 2.
  • the storage unit 14 stores information processed by each unit of the processing device 3.
  • the model generation unit 11 generates three-dimensional model information using the detection result of the position detection unit 2.
  • the model generation unit 11 performs, for example, computer graphic processing (CG processing) on at least a part of the object in the target area AR, and calculates model information (eg, three-dimensional CG model data).
  • the model information includes shape information of the object in the target area AR.
  • the model information may include texture information of the object in the target area AR.
  • the model generation unit 11 includes a point cloud data generation unit 15 and a surface information generation unit 16.
  • the point cloud data generation unit 15 executes a point cloud process for generating point cloud data as position information of each point on the object M.
  • the point cloud data includes three-dimensional coordinates of a plurality of points on the object M (for example, the first object M1 and the second object M2) in the target area AR.
  • the point cloud data generator 15 calculates point cloud data of the object M based on the position information (eg, depth) detected by the position detector 2.
  • the point cloud data generation unit 15 reads the detection result of the position detection unit 2 stored in the storage unit 14 and calculates point cloud data.
  • the point cloud data generating unit 15 may generate point cloud data as shape information of the object M.
  • FIG. 3 is a diagram illustrating the point cloud processing by the point cloud data generation unit according to the first embodiment.
  • a symbol DM1 is a depth map (depth image) corresponding to a detection result of the position detection unit 2.
  • the depth map DM1 is information (eg, an image) representing the spatial distribution of the depth measurement values obtained by the position detection unit 2.
  • the depth map DM1 is a grayscale image in which the depth at each point of the target area AR is represented by a gradation value.
  • a portion having a relatively high tone value eg, a white portion, a bright portion
  • a portion having a relatively small depth a portion relatively close to the position detection unit 2).
  • a portion having a relatively low tone value eg, a black portion, a dark portion
  • a relatively large depth a portion relatively far from the position detection unit 2.
  • the point cloud data generating unit 15 reads out the data of the depth map DM1 from the storage unit 14, and corresponds to each pixel based on the gradation value (measured value of the depth) of each pixel of the depth map DM1.
  • the three-dimensional coordinates of a point in the real space are calculated, and point group data PD is generated.
  • point data the three-dimensional coordinates of one point are appropriately referred to as point data.
  • the point cloud data PD is data obtained by grouping a plurality of point data.
  • the point cloud data PD is conceptually represented by arranging a circle at each point instead of the point data.
  • the point P1 on the first object M1 is represented by a black circle
  • the point P2 on the second object M2 is represented by a white circle.
  • first point group data includes point cloud data corresponding to the first object M1 and point cloud data corresponding to the second object M2.
  • the point cloud data corresponding to the second object M2 is not distinguished from the point cloud data corresponding to the first object M1.
  • the first object M1 and the second object M2 are not distinguished, and it is not identified whether the point P2 on the second object M2 belongs to the first object M1.
  • the point P1 on the first object M1 and the point P2 on the second object M2 are continuously distributed.
  • a difference between the coordinates of the point P1 and the coordinates of the point P2 is small. For this reason, in the part (contact area) where the second object M2 is in contact with the first object M1, it may be difficult to identify the contact area with the first object M1.
  • the detection device 1 performs an object plane estimation process (hereinafter, referred to as a plane estimation process) for estimating (approximately) the surface SF of the first object M1 as a plane, and the surface SF estimated by the plane estimation process.
  • a plane estimation process for estimating (approximately) the surface SF of the first object M1 as a plane
  • Object identification processing for identifying (discriminating, classifying, segmenting, segmenting) the second object M2.
  • FIG. 4 is a diagram illustrating a plane estimation process by the surface estimation unit and an object identification process by the object identification unit according to the first embodiment.
  • the symbol PD1 in FIG. 4 corresponds to the first point cloud data
  • the symbol P3 corresponds to point data included in the first point cloud data.
  • the ⁇ plane estimating unit 12 estimates the plane of the first object M1 based on the detection result of the position detecting unit 2.
  • the plane estimating unit 12 estimates the surface SF (see FIG. 1) of the first object M1 as a plane (approximates with a plane).
  • the plane estimated by the plane estimation unit 12 is referred to as an estimated plane as appropriate.
  • the symbol FP in FIG. 4 corresponds to the estimation plane.
  • the plane estimating unit 12 generates information representing the estimated plane FP (hereinafter, referred to as estimated plane information).
  • the plane estimating unit 12 causes the storage unit 14 to store the estimated plane information.
  • the plane estimating unit 12 estimates the above plane, for example, so as to satisfy a preset calculation condition.
  • the calculation conditions are stored in the storage unit 14, and the surface estimation unit 12 reads out the calculation conditions stored in the storage unit 14 and performs a plane estimation process.
  • the calculation conditions include, for example, a condition that the angle with respect to the vertical direction is within a predetermined range.
  • the direction corresponding to the vertical direction of the real space in the position information of the object (eg, point cloud data) obtained from the detection result of the position detection unit 2 is set in advance based on the detection direction of the position detection unit 2.
  • the plane estimating unit 12 derives, for example, a plane (eg, a horizontal plane) that satisfies the condition that the angle with respect to the vertical direction is within a predetermined range (eg, 80 ° or more and 90 ° or less), as the estimated plane.
  • a plane eg, a horizontal plane
  • a predetermined range eg, 80 ° or more and 90 ° or less
  • the calculation condition of the estimated plane FP may include a condition other than the angle with respect to the vertical direction.
  • the calculation condition of the estimated plane FP may include a condition that the area is equal to or larger than a predetermined value.
  • the plane estimating unit 12 derives a candidate for the estimated plane FP based on the point cloud data, and employs this candidate as the estimated plane when the area of the candidate is equal to or larger than a predetermined value (eg, determination, identification). ).
  • a predetermined value eg, determination, identification.
  • the plane estimation unit 12 does not need to adopt this candidate as the estimation plane.
  • the above-mentioned predetermined value may be given as a ratio to the size of the target area AR (eg, the field of view of the position detection unit 2).
  • the plane estimating unit 12 estimates the plane based on the point cloud data generated by the point cloud data generating unit 15.
  • the plane estimating unit 12 estimates a plane using three-dimensional coordinates of a plurality of points selected from the point cloud data.
  • the plane estimating unit 12 estimates the plane using, for example, the least squares method. In this case, the plane estimating unit 12 sets the plane in which the sum of the squares of the distances from the plurality of selected points is the smallest as the estimated plane FP.
  • the plane estimating unit 12 derives a mathematical expression representing the estimated plane FP.
  • the plane estimating unit 12 causes the storage unit 14 to store a coefficient of a mathematical expression representing the estimated plane FP as the estimated plane information.
  • the plane estimation unit 12 may estimate the plane using an estimation method other than the least squares method.
  • the surface estimating unit 12 may estimate the plane using at least one of the M estimation method, the RAMSAC, the minimum median method, and the Thompson method.
  • the plane estimation unit 12 may determine the estimated plane FP by comparing the plane estimated by the first estimation method with the plane estimated by the second estimation method.
  • the surface estimating unit 12 may select all of the plurality of points included in the first point group data, and estimate the plane using the selected points. Further, the plane estimating unit 12 may select a part (for example, a subset) of a plurality of points included in the first point group data, and estimate a plane using the selected points.
  • the condition under which the plane estimation unit 12 selects a plurality of points may be fixed or variable.
  • the plane estimating unit 12 may adjust conditions for selecting a plurality of points. For example, the surface estimating unit 12 may update the selection of a plurality of points based on a residual between the selected plurality of points and the estimated plane, and estimate the plane based on the updated plurality of points. Good.
  • the residual may be, for example, the root mean square (RMS) of the distance between each selected point and the estimated plane.
  • the surface estimating unit 12 estimates the first plane as an estimated plane candidate based on a first group including a plurality of points. Further, the surface estimating unit 12 may select a second group in which points having a relatively large distance from the first plane are excluded from the first group.
  • the plane estimating unit 12 may estimate the second plane as a candidate for the estimated plane based on the second group. For example, the plane estimating unit 12 may update the selection of a plurality of points until the residual becomes equal to or less than the threshold, and employ the obtained plane as the estimated plane.
  • the object identifying unit 13 converts at least a part (for example, a portion near the above-mentioned plane) of the second object M2 in contact with a plane of the object M (for example, the surface SF having no or little unevenness) into a plane (for example, the surface SF). ) Is identified (specified, extracted). The object identification unit 13 identifies (segments, segments) at least a part of the second object M2 in the target area AR. The object identification unit 13 performs an object identification process based on the distance between each point on the object M detected by the position detection unit 2 and the estimated plane FP estimated by the plane estimation unit 12.
  • the object identifying unit 13 excludes each point on the object M whose distance from the estimated plane FP estimated by the plane estimating unit 12 is less than a threshold (eg, less than 1 mm and less than 1 cm), and removes the position of the second object M2. Identify (extract, identify) information (eg, point data, point cloud data).
  • a threshold eg, less than 1 mm and less than 1 cm
  • reference numerals FP1 and FP2 are planes on which the distance D to the estimation plane FP is the above threshold value.
  • the plane FP1 is disposed on a first side (eg, a vertically upper side) with respect to the estimated plane FP.
  • the plane FP2 is arranged on a second side (eg, vertically below) opposite to the first side with respect to the estimation plane.
  • the object identification unit 13 excludes (eg, deletes) the point data P4 (indicated by a dotted line) of the point disposed between the plane FP1 and the plane FP2 from the point group data of the second object M2 by, for example, a masking process. .
  • the object identifying unit 13 generates the second point group data PD2 by excluding the point data P4 whose distance to the estimated plane FP is less than the threshold from the first point group data PD1.
  • the second point group data PD2 is a plurality of point data obtained by removing the set of point data P4 from the set of point data P3.
  • the second point group data PD2 is a plurality of point data including the point data P5 among the point data P4 and point data P5 described later.
  • the object identification unit 13 identifies, for each point included in the first point cloud data, whether or not the point belongs to the second object M2.
  • the object identification unit 13 selects a point to be identified from the first point cloud data.
  • the point to be identified is a point arbitrarily selected from the first point group data. For example, a number (eg, 1, 2, 3,...) Is assigned to each point included in the first point cloud data, and the object identifying unit 13 sorts the points from the first point cloud data in numerical order. select.
  • the object identifying unit 13 calculates the distance between the estimated plane FP and the selected point to be identified.
  • the object identifying unit 13 reads the estimated plane information (eg, a coefficient of a mathematical expression representing the estimated plane FP) from the storage unit 14 and calculates the distance between the estimated plane represented by the estimated plane information and the selected identification target point. .
  • the estimated plane information eg, a coefficient of a mathematical expression representing the estimated plane FP
  • the object identification unit 13 compares the calculated distance with a threshold value and executes an object identification process.
  • the object identification unit 13 determines whether the point to be identified belongs to the first object M1 (whether or not it is a point on the first object M1). For example, when the distance between the point to be identified and the estimated plane FP is less than the threshold, the object identifying unit 13 determines that the point to be identified belongs to the first object M1.
  • point data P4 corresponds to point data determined to belong to the first object M1 by the object identification processing.
  • the object identifying unit 13 determines that the point to be identified does not belong to the first object M1.
  • reference symbol P5 corresponds to point data determined not to belong to the first object M1 by the object identification processing.
  • the point data P5 corresponds to point data of a point estimated to belong to the second object M2.
  • the point data P5 estimated to belong to the second object M2 is identified and specified with respect to the point data P4 estimated to belong to the first object M1.
  • the object identification unit 13 generates identification information indicating the identification result of the object M.
  • the object identification unit 13 generates, as identification information, information indicating whether a point to be identified belongs to the first object M1.
  • the object identification unit 13 generates second point cloud data PD2 representing the second object M2 as identification information.
  • the second point cloud data PD2 is point cloud data in which points to be identified that are determined to belong to the first object M1 are excluded from the first point cloud data PD1.
  • the object identification unit 13 may generate, as the identification information, information in which a flag (for example, attribute information) indicating whether or not the object belongs to the first object M1 is added to the point data.
  • the object identification unit 13 causes the storage unit 14 to store the generated identification information.
  • the object identifying unit 13 may determine whether the point to be identified belongs to the second object M2 (whether or not the point is on the second object M2). For example, if the distance between the point to be identified and the estimated plane is less than the threshold, the object identifying unit 13 may determine that the point to be identified does not belong to the second object M2. When the distance between the point to be identified and the estimated plane is equal to or greater than the threshold, the object identifying unit 13 may determine that the point to be identified belongs to the second object M2.
  • the object identifying unit 13 may generate, as the identification information, information indicating whether or not the point to be identified belongs to the second object M2.
  • the object identification unit 13 may extract, from the first point group data PD1, a point to be identified, which is determined to belong to the second object M2, as the identification information to generate the second point group data PD2.
  • the object identification unit 13 may generate, as the identification information, information in which a flag (for example, attribute information) indicating whether or not the object belongs to the second object M2 is added to the point data.
  • the surface information generating unit 16 in FIG. 1 calculates surface information as shape information.
  • the surface information includes, for example, at least one of polygon data, vector data, and draw data.
  • the surface information includes coordinates of a plurality of points on the surface of the object and connection information between the plurality of points.
  • the connection information (for example, attribute information) includes, for example, information for associating points at both ends of a line corresponding to a ridge line (for example, edge) on the object surface.
  • the connection information includes, for example, information that associates a plurality of lines corresponding to the contour of the object surface (surface) with each other.
  • the surface information generation unit 16 estimates a surface between a point selected from a plurality of points included in the point cloud data and a nearby point in the surface processing. In the surface processing, the surface information generation unit 16 converts the point cloud data into polygon data having plane information between points. The surface information generating unit 16 converts the point cloud data into polygon data by an algorithm using, for example, the least square method. This algorithm may be, for example, an algorithm applied to an algorithm published in a point cloud processing library.
  • the surface information generation unit 16 performs a surface process based on the identification result of the object identification unit 13.
  • the surface information generation unit 16 reads out the identification information generated by the object identification unit 13 from the storage unit 14 and performs a surface process based on the identification information. For example, the surface information generation unit 16 estimates a surface on the second object M2 using the second point cloud data PD2 representing the second object M2 identified by the object identification unit 13.
  • the surface information generation unit 16 generates, as at least a part of the surface information, information indicating the estimated surface on the second object M2.
  • the surface information generation unit 16 causes the storage unit 14 to store the calculated surface information.
  • the above-described model generation unit 11 may generate, as model information, texture information of a plane defined by three-dimensional point coordinates and related information.
  • the texture information includes, for example, at least one information of a character, a figure, a pattern, a texture, a pattern, information defining irregularities, a specific image, and a color (eg, chromatic or achromatic) on the surface of the object.
  • the model generation unit 11 may cause the storage unit 14 to store the generated texture information.
  • the model generation unit 11 may generate spatial information (eg, lighting conditions, light source information) of an image as model information.
  • the light source information includes, for example, the position of a light source that irradiates illumination light with respect to an object, a direction in which light is emitted from the light source to the object (irradiation direction), a wavelength of light emitted from the light source, and It contains at least one item of information among the types of light sources.
  • the model generation unit 11 may calculate the light source information using, for example, a model assuming Lambertian reflection, a model including Albedo estimation, or the like.
  • the model generation unit 11 causes the storage unit 14 to store at least a part of the generated (eg, calculated) model information.
  • the model generation unit 11 does not need to generate a part of the model information.
  • FIG. 5 is a flowchart illustrating the detection method according to the first embodiment.
  • FIG. 6 is a flowchart illustrating the plane estimation processing according to the first embodiment.
  • FIG. 7 is a flowchart illustrating the object identification processing according to the first embodiment.
  • the configuration of the detection device 1 is appropriately referred to FIG.
  • step S1 of FIG. 5 the position detection unit 2 detects position information (eg, depth) on the object M in the target area AR.
  • step S2 the point cloud data generation unit 15 of the processing device 3 generates point cloud data of the object M.
  • the point cloud data generating unit 15 executes point cloud processing using the depth obtained in step S1, and generates first point cloud data.
  • the point cloud data generation unit 15 causes the storage unit 14 to store the first point cloud data.
  • step S3 the plane estimating unit 12 estimates the plane of the first object M1. For example, the plane estimating unit 12 performs the plane estimating process using the first point group data generated by the point group data generating unit 15.
  • step S4 the object identifying unit 13 identifies the second object with respect to the estimated plane based on the distance between each point on the object and the estimated plane.
  • the plane estimating unit 12 sets a point set.
  • the plane estimating unit 12 selects all or some of the plurality of points included in the first point group data, and sets a point set including the selected points.
  • step S12 the plane estimating unit 12 derives a mathematical expression representing an approximate plane of the point set set in step S11.
  • the approximate plane is a candidate for the estimated plane FP.
  • the plane estimation unit 12 calculates the square of the distance between the plane and each point included in the point set, and calculates a coefficient so that the sum of the squares of the distance in the point set (hereinafter referred to as the sum of squares of the distance) is minimized.
  • A, b, c, d) is calculated.
  • the plane estimating unit 12 calculates the residual of the approximate plane with respect to the point set.
  • the residual is, for example, the RMS of the distance between the approximate plane defined by the coefficients (a, b, c, d) calculated in step S12 and each point of the point set.
  • the residual may be a sum of squares of the distance between the approximate plane and each point of the point set.
  • step S14 the surface estimating unit 12 determines whether the residual calculated in step S13 is equal to or smaller than a threshold.
  • the process returns to Step S11 and sets a point set.
  • the surface estimating unit 12 resets (updates) the point set by excluding, from the previously selected point set, points whose distance to the approximate plane derived in step S12 is relatively long (or large). I do.
  • the plane estimating unit 12 repeats the processing from step S12 to step S14 using the reset point set.
  • the ⁇ plane estimating unit 12 may select some points at random in step S11.
  • the plane estimating unit 12 may estimate a plane (eg, a candidate for the estimated plane FP) based on the point selected in step S11.
  • the surface estimating unit 12 may calculate an evaluation value (eg, a residual) using the distance from the plane estimated in step S12 to the adjacent point as an evaluation function.
  • the plane estimating unit 12 repeats the above-described random selection of points, estimation of a plane using the selected points, and evaluation of the estimated plane, and adopts a candidate having the best evaluation value as the estimated plane FP. Good.
  • step S14 when the surface estimation unit 12 determines that the residual is equal to or smaller than the threshold (step S14; Yes), the surface estimation unit 12 adopts the approximate plane as the estimation plane FP in step S15.
  • step S16 the plane estimation unit 12 causes the storage unit 14 to store estimated plane information representing the estimated plane FP.
  • step S21 the object identification unit 13 selects a point to be identified.
  • the object identification unit 13 selects a point to be identified from the first point cloud data.
  • step S22 the object identification unit 13 calculates a distance between the point selected in step S21 and the estimated plane FP.
  • the object identification unit 13 reads information (eg, coefficients) of a mathematical expression representing the estimated plane FP from the storage unit 14 and calculates a distance from the point data (three-dimensional coordinates) of the point to be identified and the mathematical expression representing the estimated plane FP. I do.
  • step S23 the object identifying unit 13 determines whether the distance calculated in step S22 is less than a threshold. When determining that the calculated distance is less than the threshold (Step S23; Yes), the object identifying unit 13 identifies that the point to be identified is not a point on the second object M2 in Step S24. In step S24, the object identification unit 13 excludes a point to be identified from the point cloud data of the second object M2 by a masking process or the like. The object identification unit 13 may classify (eg, register) the identification target point into point cloud data of an object (eg, the first object M1) different from the second object M2.
  • an object eg, the first object M1
  • the object identification unit 13 may generate identification information (eg, a flag) indicating that the point to be identified is not a point on the second object M2. For example, when the point to be identified is identified as a non-target point that is not a point on the second object M2, the object identifying unit 13 determines, based on the identification information, a point outside the target (in this case, , Not the second object M2) from the point cloud data of the second object M2.
  • identification information eg, a flag
  • the object identification unit 13 may identify that the point to be identified is a point on the first object M1 in step S24. In this case, the object identification unit 13 may classify (eg, register) points to be identified into point cloud data of the first object M1. In addition, the object identification unit 13 may generate identification information (eg, a flag) indicating that the point to be identified is a point on the first object M1.
  • identification information eg, a flag
  • step S23 if the object identification unit 13 determines that the calculated distance is not less than the threshold (equal to or more than the threshold) (step S23; No), in step S25, the identification target point is located on the first object M1. Identify it as not a point.
  • step S25 the object identification unit 13 excludes a point to be identified from the point cloud data of the first object M1.
  • the object identifying unit 13 may classify (eg, register) points to be identified into point cloud data of an object different from the first object M1.
  • the object identification unit 13 may generate identification information (eg, a flag) indicating that the point to be identified is not a point on the first object M1.
  • the object identification unit 13 may identify in step S25 that the point to be identified is a point on the second object M2. In this case, the object identification unit 13 may classify (eg, register) the identification target point into the point cloud data of the second object M2. In addition, the object identification unit 13 may generate identification information (eg, a flag) indicating that the point to be identified is a point on the second object M2.
  • identification information eg, a flag
  • step S26 the object identification unit 13 determines whether or not there is a next point to be identified.
  • the object identification unit 13 determines that there is a next point to be identified when there is a point at which the object identification processing has not been executed among a plurality of points for which the object identification processing is scheduled.
  • step S26; Yes the object identifying unit 13 returns to step S21 and selects the next point to be identified.
  • step S26; No the object identifying unit 13 ends the object identifying process.
  • the model generation unit 11 generates model information based on the position information of the second object M2 identified in step S4. For example, the model generation unit 11 generates model information of the second object M2 by selectively using the point cloud data of the second object M2 identified by the object identification unit 13 in the first point cloud data. The model generation unit 11 generates shape information (eg, surface information) of the second object M2 as model information. The model generation unit 11 causes the storage unit 14 to store the generated model information.
  • shape information eg, surface information
  • the model generation unit 11 may generate the shape information representing the first object M1 by using the point cloud data obtained by excluding the second point cloud data from the first point cloud data. Further, the model generation unit 11 may generate first shape information representing the first object M1 and second shape information representing the second object M2. The model generation unit 11 may generate the shape information representing the first object M1 and the second object M2 by combining the first shape information and the second shape information.
  • the plane estimating unit 12 estimates the plane of the first object M1
  • the object identifying unit 13 identifies the second object M2 with respect to the estimated plane FP. Therefore, the detection device 1 according to the embodiment can identify the second object M2 that is in contact with the first object M1, and contributes to, for example, segmenting the second object M2 with high accuracy.
  • the second object M2 does not have to be a human body.
  • the second object M2 may be a creature other than a human (eg, an animal, a plant, a dog, a cat) or an article (eg, an apparatus, a robot, a car).
  • the second object M2 may be a stationary object that stands still in the target area AR, or may be a moving body that moves (for example, self-runs) in the target area AR.
  • the first object M1 may be an object that is stationary in the target area AR or an object that moves in the target area AR.
  • the detection device 1 may identify a second object M2 (for example, a human body) that comes into contact with a moving first object M1 (for example, an automobile).
  • the surface of the first object M1, which is assumed to be in contact with the second object M2 may not be a plane, may be a curved surface, or may be a composite surface having a plane and a curved surface.
  • the surface as the object surface of the first object M1 may be a surface that is regularly arranged, such as the upper surface of a staircase. Further, the surface of the first object M1 may include irregularities, and the surface estimation unit 12 may approximate the surface of the first object M1 with a plane.
  • the second object M2 comes into contact with a surface disposed below the second object M2 in the vertical direction.
  • the second object M2 may come into contact with a surface (eg, a ceiling) disposed vertically above the second object M2. Further, the second object M2 may contact a surface (eg, a wall surface) arranged in a horizontal direction with respect to the second object M2.
  • the storage unit 14 stores in advance the conditions of the surface that is assumed to be in contact with the first object M1 (for example, the calculation conditions of the estimated plane FP), and the surface estimation unit 12 stores the conditions of the surface stored in the storage unit 14.
  • the estimation plane FP may be derived based on the condition.
  • the part of the second object M2 that comes into contact with the first object M1 is arbitrary, and may be a part (for example, a hand) other than the foot of the human body.
  • the plane estimating unit 12 may derive the estimated plane without using the point cloud data. For example, when the depth distribution in the region satisfies a predetermined condition in the depth map generated by the position detection unit 2, the surface estimation unit 12 may determine that the region belongs to the estimation plane FP. For example, when the depth changes regularly in a region including a plurality of pixels in the depth map, the surface estimation unit 12 may determine that the region belongs to the estimation plane FP.
  • the surface estimating unit 12 may derive the estimated plane FP based on the surface information. For example, the surface estimating unit 12 may extract information on a surface approximated by a plane from the surface information generated by the surface information generating unit 16 and use the extracted information on the surface as a candidate for the estimated plane FP. In this case, the plane estimating unit 12 does not need to derive a candidate for the estimated plane FP.
  • the surface estimation unit 12 may derive the estimated plane FP based on the normal direction of the plane estimated by the surface processing by the surface information generation unit 16.
  • the surface estimating unit 12 may derive a region having the same or similar normal direction in the surface information as the estimated plane. When the variance in the normal direction in a region of a predetermined size is smaller than a predetermined value, the surface estimation unit 12 may derive this region as the estimation plane FP.
  • the detection device 1 may be a stationary device or a portable device. At least a part of the position detector 2 may be provided in the same body as the processing device 3. Further, at least a part of the processing device 3 may be provided in the position detection unit 2.
  • the position detection unit 2 may include the point cloud data generation unit 15 and output the point cloud data to the processing device 3 as the position information of the object obtained by the detection.
  • FIG. 8 is a diagram illustrating the detection device according to the present embodiment.
  • the surface estimating unit 12 sets the surface SF of the object M to the object surface (in this case, based on the detection result of the position detecting unit 2 in a state where the second object M2 is not arranged in the target area AR, Plane).
  • the object identification unit 13 includes a plane estimated by the surface estimation unit 12 based on the detection result of the position detection unit 2 in a state where the second object M2 is not arranged in the target area AR, and a second object M2 in the target area AR.
  • the second object M2 is identified based on the detection result of the position detection unit 2 in the arranged state.
  • the first state Q1 is, for example, a state where the second object M2 is not arranged in the target area AR.
  • reference numeral Q2 in FIG. 8 indicates a second state in which the second object M2 is disposed at the second position.
  • the second position is a position inside the target area AR and is different from the first position.
  • the position detection unit 2 detects the position information of the first object M1. Then, the surface estimating unit 12 estimates (approximates) the surface SF of the first object M1 as a plane based on the position information of the first object M1 detected in the first state Q1.
  • the position detection unit 2 detects the position information of the object M including the first object M1 and the second object M2. Then, the object identifying unit 13 determines the plane estimated by the surface estimating unit 12 based on the position information of the first object M1 detected in the first state Q1, and the position information of the object M detected in the second state Q2. Is used to identify the second object M2.
  • the order of the detection in the first state Q1 and the detection in the second state Q2 is arbitrarily set.
  • the position detector 2 may execute the detection in the second state Q2 after executing the detection in the first state Q1.
  • the position detector 2 may execute the detection in the first state Q1 after executing the detection in the second state Q2.
  • the surface estimating unit 12 estimates the plane after the detection in the first state Q1 is completed, and the object identifying unit 13 uses the detection result in the second state after the surface estimating unit 12 estimates the plane.
  • the object M2 may be identified.
  • the second object M2 is arranged outside the target area AR in the first state Q1 of FIG. 8, but may be arranged at a position different from the second state Q2 in the target area AR.
  • the detection device 1 detects the position information of the object M in the third state in which the second object M2 is located at a position farther from the center of the target area AR than the second state (eg, at the end of the target area AR). Then, the plane estimation unit 12 may estimate the plane based on the detection result. Further, the plane estimation unit 12 may estimate the plane based on a change in the detection result of the position detection unit 2 due to the movement of the second object M2.
  • the position detection unit 2 detects the position information of the object M under a plurality of conditions in which the position of the second object M2 is different, and the surface estimation unit 12 changes the position information of the object M detected under the plurality of conditions ( Based on the difference, the plane may be estimated by excluding at least a part of the position information of the second object M2 from the position information of the object M.
  • FIG. 9 is a flowchart illustrating a detection method according to the second embodiment.
  • the configuration of the detection device 1 is appropriately referred to FIGS.
  • the position detection unit 2 determines position information (eg, depth, etc.) in the target area AR in the first state Q1 (see FIG. 8) in which the second object M2 is located at the first position (eg, outside the target area AR). ) Is detected.
  • step S32 the processing device 3 removes noise from the detection result of the position detection unit 2 obtained in step S31.
  • the noise removal process for removing noise includes, for example, a process for removing spatial noise from a depth map generated by the position detection unit 2. For example, when the depth difference between the first region (eg, the first pixel) and the second region (eg, the second pixel) adjacent to each other in the depth map exceeds a threshold value, the processing device 3 determines the depth in the first region. Alternatively, it is determined that the depth in the second area is noise. If the processing device 3 determines that the depth in the first region is noise, the processing device 3 performs interpolation of the region around the first region (eg, third and fourth pixels) using the depth of the first region, or the like. The spatial noise is removed by estimating the depth and updating (replacement, correction) the depth of the first area with the estimated depth.
  • the noise removal processing for removing noise includes, for example, processing for removing temporal noise (for example, noise that changes over time) from the depth map generated by the position detection unit 2.
  • the position detection unit 2 repeats detection at a predetermined sampling frequency, and the processing device 3 compares detection results (eg, depth maps) of the position detection units 2 at different detection timings.
  • the processing device 3 calculates the depth change amount (time change amount) of each pixel using the depth map in the first frame and the depth map in the second frame following the first frame.
  • the processing device 3 determines that the depth of the pixel in the first frame or the depth of the pixel in the second frame is noise. If the processing device 3 determines that the depth in the second frame is noise, the processing device 3 determines the depth of the second frame by interpolation using the depth in the first frame and the depth in the third frame following the second frame. presume. The processing device 3 removes temporal noise by updating (replacing and correcting) the estimated depth of the pixel corresponding to the noise.
  • the noise removal processing may not include processing for removing spatial noise or processing for removing temporal noise. Further, the noise removal processing may be executed by a part (eg, the position detection unit 2) other than the processing device 3. The detection device 1 does not need to execute the noise removal processing.
  • the point cloud data generating unit 15 generates third point cloud data.
  • the point cloud data generating unit 15 executes the point cloud processing on the depth map from which noise has been removed in step S32, and generates third point cloud data.
  • the point cloud data generation unit 15 causes the storage unit 14 to store the generated third point cloud data.
  • the plane estimating unit 12 estimates a plane.
  • the plane estimating unit 12 reads out the third point cloud data from the storage unit 14 and derives the estimated plane FP based on the third point cloud data.
  • the plane estimating unit 12 stores information indicating the derived estimated plane FP in the storage unit 14 (eg, registration of an initial state).
  • step S35 in the second state Q2 in which the second object M2 is located at the second position in the target area AR (see FIG. 8), the position detection unit 2 determines the position information of the object M in the target area AR (eg, Depth).
  • step S37 the processing device 3 removes noise from the detection result of the position detection unit 2 obtained in step S36.
  • the processing in step S37 is the same as the processing in step S32.
  • step S38 the point cloud data generation unit 15 generates fourth point cloud data.
  • the point cloud data generation unit 15 executes the point cloud processing on the depth map from which noise has been removed in step S37, and generates fourth point cloud data.
  • the point cloud data generation unit 15 causes the storage unit 14 to store the generated fourth point cloud data.
  • step S39 the object identification unit 13 sets (eg, selects) a point to be identified from the fourth point cloud data.
  • the object identifying unit 13 calculates the distance between the identification target point and the estimated plane FP estimated in step S35.
  • the object identification unit 13 reads information (eg, coefficients) of a mathematical expression representing the estimated plane FP from the storage unit 14 and calculates a distance from the point data (three-dimensional coordinates) of the point to be identified and the mathematical expression representing the estimated plane FP. I do.
  • step S41 the object identification unit 13 determines whether the distance calculated in step S30 is less than a threshold.
  • Step S41; Yes the object identifying unit 13 registers the point to be identified in the fifth point group data in Step S42. If the object identification unit 13 determines that the calculated distance is not greater than or equal to the threshold (less than the threshold) (step S41; No), or after the processing of step S42, in step S42, there is a next point to be identified. It is determined whether or not.
  • the object identification unit 13 determines that there is a next point to be identified when there is a point at which the object identification processing has not been executed among a plurality of points for which the object identification processing is scheduled. When determining that there is a next point to be identified (step S43; Yes), the object identifying unit 13 returns to step S39 and selects the next point to be identified.
  • the fifth point group data is stored in the storage unit 14, and the object identifying process ends.
  • the fifth point cloud data is point cloud data obtained by excluding points near the estimation plane FP from the fourth point cloud data.
  • the fifth point cloud data can be used as point cloud data representing the second object M2 identified with respect to the estimation plane FP.
  • the plane estimation unit 12 may estimate the plane based on a change in the detection result of the position detection unit 2 due to the movement of the second object M2. For example, when the second object M2 moves from the first position to the second position, the point cloud data based on the change in the detection result of the position detection unit 2 is changed from the third point cloud data to the fourth point cloud data. Change. A portion of the shape indicated by the third point cloud data and the shape indicated by the fourth point cloud data whose change amount is smaller than the threshold is estimated to belong to, for example, a stationary object in the target area AR. The plane estimating unit 12 extracts a portion of the shape indicated by the third point cloud data and the shape indicated by the fourth point cloud data whose variation is less than the threshold, and derives a plane in the extracted portion as an estimated plane. Is also good.
  • the first position where the second object M2 is arranged is outside the target area AR
  • the detection processing of the position detection unit 2 corresponding to the first position ends the detection processing of the position detection unit 2 corresponding to the second position (eg, step S36 in FIG. 9). It may be performed later.
  • the processing from step S32 to step S34 may be executed at any timing after the processing in step S31 is completed and before the object identification processing (eg, step S39 to step S44) is started.
  • the processing from step S37 to step S38 may be executed at an arbitrary timing after the processing in step S36 is completed and before the object identification processing (eg, step S39 to step S44) is started.
  • FIG. 1 A third embodiment will be described.
  • the configuration of the detection device 1 is appropriately referred to FIG.
  • the object identification unit 13 emphasizes the distance between the point on the object M detected by the position detection unit 2 and the object plane (in this case, a plane) estimated by the plane estimation unit 12.
  • the calculated evaluation value is calculated, and the position information of the second object M2 is identified based on the evaluation value.
  • FIG. 10 is a diagram illustrating an object identification process performed by the object identification unit 13 according to the present embodiment.
  • the Y direction is a direction perpendicular to the estimation plane FP.
  • the X direction and the Z direction are directions parallel to the estimation plane FP and perpendicular to each other.
  • the Y direction corresponds to the vertical direction of the real space
  • the X direction and the Z direction each correspond to the horizontal direction of the real space.
  • the object identification unit 13 divides the area in the Z direction, and identifies the position information of the second object M2 for each of the divided areas.
  • Code PD m in FIG. 10, one (Z m ⁇ Z ⁇ Z m + 1 of the area, m is a positive integer) of divided area is a point cloud data of the object M in.
  • Sign P i in FIG. 10 represents one point included in the point cloud data PD m.
  • X i is the X coordinate of point P i
  • Y i is the Y coordinate of point P i .
  • Y 0 is the Y coordinate of the estimation plane FP
  • Reference numeral Q3 is an area representing a part of the object M2 (eg, a heel of a human body).
  • Di is an evaluation value for the point P i .
  • dj is an evaluation value for the point Pj .
  • Object identification unit 13 as the evaluation value d i, a value is calculated by increasing the distance h i based on the distance h i between the point P i and the estimated plane FP.
  • evaluation function for calculating the d i is represented by the formula (1) in FIG. 10, for example.
  • V1 is a threshold (second threshold).
  • the threshold value V1 is an arbitrarily set value.
  • the threshold value V1 is set, for example, to a value (eg, 0) equal to or less than a first threshold value (eg, distance D in FIG. 4).
  • the object identifying unit 13 evaluates the first point based on the first distance between the first point and the estimated plane FP of the object M and the second distance between the second point around the first point and the estimated plane FP. Calculate the value.
  • the first point is, for example, a point P i
  • the second point is, for example, a point P i ⁇ 1 and a point P i + 1 .
  • the first distance is a distance h i, for example, the point P i and the estimated plane FP
  • the second distance is the distance h i-1
  • the point P i + 1 and the estimated plane between the point P i-1 and the estimated plane FP This is the distance hi + 1 from the FP.
  • f i is the increment for the distance (h i).
  • the object identifying unit 13 determines that the second distance (h i ⁇ 1 , h i + 1 ) is equal to or smaller than the threshold V1 (second threshold) (h i ⁇ 1 ⁇ V1 and the h i + 1 ⁇ V1), the evaluation value d i for point P i and the first distance (h i).
  • the second distance (h i-1, h i + 1) is larger than the threshold value V1 (second threshold value) (h i-1> V1 , or h i + 1> V1), for point P i as the evaluation value d i, the first distance calculating a value obtained by increasing (h i + f i) on the basis of the second distance.
  • Code Q4 in FIG. 10 is a region showing the evaluation value d i of each point corresponding to the region Q3.
  • the evaluation value d i of each point is represented by a black circle
  • the distance h i of each point is represented by a white circle.
  • the points P j -2 and P j -1 are points sufficiently separated from the estimation plane FP.
  • a distance h j-1 between the point P j-1 and the estimated plane FP is used to determine whether or not the distance belongs to the second object M2. It is larger than one threshold value (eg, D of the area Q4).
  • the points P j , P j + 1 , and P j + 2 are points near the estimation plane FP.
  • a distance h j between the point P j and the estimation plane FP is a first threshold (for example, a region in the region Q4) used for determining whether or not the object belongs to the second object M2. It is smaller than D4 of Q4.
  • the point P j-1 is defined as a first point
  • the surrounding second points are defined as a point P j-2 and a point P j .
  • the second point (points P j-2 and P j ) is, for example, a point having the shortest distance to the first point (point P j-1 ) and a point having the next shortest distance in the point cloud data PD m . It is.
  • Object identification unit 13 the second distance for the second point (point P j-2) (h j -2) is greater than V1 (h j-2> V1), the evaluation value d j-1 as h j -1 + f j-1 is calculated.
  • the evaluation value d i-1 is a point at which the point P i-1 is sufficiently distant from the estimation plane FP, it is determined whether or not the increase amount f i is small but the distance h i is large and the second object M2. It becomes larger than the first threshold value used for the determination (eg, D of the area Q4).
  • the object identification unit 13 determines whether or not the evaluation value di -1 is equal to or greater than a first threshold (D).
  • the object identification unit 13 determines that the evaluation value di -1 is equal to or greater than the first threshold (D), and identifies that the point P i-1 is a point on the second object M2 (on the first object M1). Not the point of a).
  • the point P j is defined as a first point, and the surrounding second points are defined as a point P j ⁇ 1 and a point P j + 1 .
  • the second distance for the second point (point P j-1) (h j -1) is larger than V1 (h j-1> V1 ), h j + f j as the evaluation value d j Is calculated.
  • Evaluation value d i since the point P i is a point in the vicinity of the estimated plane FP, the distance h i is small large increase f i, first used in the determination of whether the second object M2 It becomes larger than a threshold value (for example, D of the area Q4).
  • the evaluation value d i is equal to or first threshold value (D) above.
  • the evaluation value d i is determined to be the first threshold value (D) above, the identification point P i is not a point on the (first object M1 identifies that a point on the second object M2 Do).
  • the point P j + 1 is set as a first point, and the surrounding second points are set as points P j and P j + 2 .
  • Object identification unit 13 the second point (point P j, the point P j + 2) the second distance (distance h j, the distance h j + 2) of less than or equal to V1 (h j ⁇ V1 and h j + 2 ⁇ V1) , so the evaluation value d Let j + 1 be h j + 1 .
  • the object identification unit 13 determines whether or not the evaluation value di + 1 is equal to or greater than a first threshold (D).
  • the object identifying unit 13 determines that the evaluation value di + 1 is less than the first threshold (D), and identifies that the point Pi + 1 is not a point on the second object M2 (identification as a point on the first object M1). Do).
  • the object identification unit 13 includes a second point (eg, P i ⁇ 1 , P i + 1 ) around the first point (eg, P j ) and a plane estimated by the plane estimation unit 12 (estimated plane FP). ) Is calculated based on a second distance (e.g., h i ⁇ 1 , h i + 1 ) with respect to the first threshold (D) and the evaluation value (e.g., d j ) is compared with the first threshold (D). Then, it is determined whether the first point belongs to the second object.
  • a second distance e.g., h i ⁇ 1 , h i + 1
  • the evaluation value e.g., d j
  • the detection device 1 can distinguish a point (eg, P j ) near the estimation plane FP from the points on the estimation plane FP as a point belonging to the second object M2.
  • the object identification unit 13 can identify and separate points near the estimation plane FP and points on the estimation plane FP with high accuracy, and the detection device 1 can, for example, determine the shape of the second object M2. It can be detected with high accuracy.
  • the object identification unit 13, for the points in the range distance (h i) is given from the estimated plane FP, the distance is calculated emphasized evaluation value is compared with the calculated evaluation value and the first threshold value May be executed to identify the position information of the second object M2.
  • a first threshold value e.g., D
  • a second threshold value e.g., V1 with a smaller fourth threshold than, derive the evaluation value for a point distance from the estimated plane FP (h i) is smaller than the fourth threshold value You don't have to.
  • the object identifying unit 13 identifies, for example, a point whose distance (h i ) from the estimated plane FP is smaller than the fourth threshold value as not a point on the second object M2 (a point on the first object M1). You may.
  • the evaluation function for calculating the evaluation value is not limited to the mode described with reference to FIG. 10 and can be changed as appropriate.
  • the evaluation value d i is a value obtained by adding the increment f i to the distance h i in the formula (1)
  • the coefficient may be a value obtained by multiplying the a distance h i.
  • increment f i may be given by a function other than (1 / h i-1) + (1 / h i + 1).
  • the object identification unit 13 calculates as the primary evaluation value evaluation value d i based on the distance h i as in equation (1), the primary evaluation value instead of the distance h i in equation (1)
  • the secondary evaluation value may be calculated by using (for example, the object identification unit 13 may recalculate the evaluation value).
  • the object identification unit 13 derives a k-th evaluation value (k is an integer of 2 or more) by recalculating the evaluation value, and calculates a k-th evaluation value and a threshold (eg, a first threshold, D in FIG. 4). ,
  • the position information of the second object M2 may be identified.
  • the point P j + 1 in some cases can be identified as points on the second object M2.
  • a point eg, point P j + 1
  • the estimation plane FP is recognized as a point on the second object M2, and for example, the shape of the second object M2 can be detected with high accuracy.
  • the configuration of the detection device 1 is appropriately referred to FIG.
  • the threshold value (for example, the distance D in FIG. 4) used to determine whether the point is on the second object M2 is a variable value.
  • the object identification unit 13 sets a threshold based on the first point on the object M detected by the position detection unit 2 and a second point around the first point, and uses the set threshold to perform a first threshold. It is determined (determined) whether or not the point is a point on the second object M2.
  • FIG. 11 is a diagram illustrating an object identification process by the object identification unit 13 according to the present embodiment. 11, the same elements as those in FIG. 10 are denoted by the same reference numerals, and the description thereof will be simplified or omitted.
  • the object identifying unit 13 divides the area in the Z direction, as in FIG. 10, and identifies the position information of the second object M2 for each of the divided areas.
  • the object identification unit 13 may execute the object identification processing without dividing the region.
  • the code V i is the threshold set by the object identification unit 13 (third threshold value).
  • the object identification unit 13 includes a second point (eg, point P j ⁇ 1 , point P j + 1 ) around the first point (eg, point P j ) of the object M detected by the position detection unit 2 and the surface estimation unit 12.
  • the plane estimated object plane setting a threshold value V i based on the distance between the (estimated plane FP).
  • Threshold V i is the first distance (eg, h j) and the second distance is a function with (e.g., one or both of the h j-1 and h j + 1) variables.
  • Threshold V i is, for example, the first distance and the weighted value and a second distance (weighted average), represented by the following formula (3).
  • C 1 , C 2 , and C 3 in Expression (3) are coefficients (weighting coefficients).
  • C 1 , C 2 , and C 3 may have different values from each other, or at least two may have the same value.
  • V i C 1 h i- 1 + C 2 h i + C 3 h i + 1 ⁇ formula (3)
  • Object identification unit 13 a first point (e.g., point P i) the distance between the surface estimation unit 12 has estimated plane (estimated plane FP) (eg, the distance h i) and the third threshold value (e.g., the threshold V i ) To determine whether the first point belongs to the second object M2. Object identification unit 13, if the distance h i is equal to or greater than the threshold value V i, the point P i is a point on the second object M2 (not a point on the first object M1) and identify.
  • estimate plane FP estimated plane
  • V i the third threshold value
  • a threshold (eg, threshold V j ) of a point (eg, point P j ) near the estimation plane FP is smaller than a distance (eg, distance h j ) from the estimation plane FP. Therefore, the object identification unit 13 identifies a point (eg, point P j ) near the estimation plane FP as a point on the second object M2.
  • the object identifying unit 13 when the distance h i is less than the threshold value V i, the point P i is not a point on the second object M2 (a point on the first object M1) and identify.
  • the object identification unit 13 can identify a point near the estimation plane FP and a point on the estimation plane FP with high accuracy, and the detection device 1 can, for example, accurately identify the shape of the second object M2. Can be detected.
  • the object identification unit 13 a first point (e.g., point P i) the distance between the estimated plane FP (eg, h i) values (examples based on the distance h i, Even if the relative value (eg, contrast) between the evaluation value d i ) and the threshold value is adjusted, it is determined whether the first point (eg, point P i ) is a point on the second object M2. Good.
  • the processing device 3 may have a first mode in which the relative value (eg, contrast) is enhanced and a second mode in which the relative value (eg, contrast) is not enhanced.
  • the processing device 3 may be configured to be switchable between the first mode and the second mode according to, for example, a user's designation. Further, the processing device 3 may not have the first mode or the second mode.
  • the object identification unit 13 when the object identification unit 13 performs the object identification processing for each of the divided areas (eg, the area of Z m ⁇ Z ⁇ Z m + 1 ), for example, the first point The load of the process of searching for a second point around is reduced. Further, the object identifying unit 13, when executing the object identification process data points contained in the point cloud data PD m of divided areas as a two-dimensional data (two-dimensional coordinates), the processing load of calculating the example distance Is reduced.
  • the object identifying unit 13 when executing the object identification process data points contained in the point cloud data PD m of divided areas as a two-dimensional data (two-dimensional coordinates), the processing load of calculating the example distance Is reduced.
  • the object identification unit 13 may execute the object identification processing on the entire area at once (for example, without dividing the area). Further, the object identification unit 13 may execute the object identification process using the data of the points included in the point cloud data PD as three-dimensional data (three-dimensional coordinates). In this case, the object identifying unit 13 can specify, for example, a second point (for example, the closest point) around the first point with high accuracy. In addition, the object identification unit 13 can identify a point belonging to the second object M2 by calculating the distance between each point and the estimated plane FP with high accuracy, for example. The number of the second points is two in FIGS. 10 and 11, but may be one or three or more.
  • the object identifying unit 13, the estimated distance h i from the plane FP sets the third threshold value relative to a point within a predetermined range, the distance h i between the second object as compared to the third threshold set M2 May be executed. Furthermore, for example, the object identification unit 13, the distance (h i) a first threshold value (e.g., D) from the estimated plane FP for points greater than performs the object identification process using the first threshold value, the The three thresholds need not be calculated. Further, the object identifying unit 13, a first threshold value (e.g., D) with a small fifth threshold than for points the distance from the estimated plane FP (h i) is smaller than the fifth threshold value is a third threshold value It is not necessary to derive it.
  • a first threshold value e.g., D
  • the object identification unit 13 identifies, for example, a point whose distance (h i ) from the estimated plane FP is less than the fifth threshold is not a point on the second object M2 (it is a point on the first object M1). You may. Further, the function for calculating the third threshold value is not limited to the function of Expression (3) and can be changed as appropriate.
  • the object identification unit 13 identifies the position information of the second object M2 by a combination of at least two of the object identification processing in FIG. 4, the object identification processing in FIG. 10, and the object identification processing in FIG. May be. For example, the object identification unit 13 may determine which object identification processing is to be executed using a plurality of thresholds as described above. Further, the object identifying unit 13, the evaluation value d i calculated as in Figure 10, by comparison with the threshold value V i that is set as shown in FIG. 11, may identify the position information of the second object M2.
  • FIG. 12 is a diagram illustrating a detection device according to the fifth embodiment.
  • the detection device 1 according to the present embodiment estimates the surface SF of the first object M1 as an object plane (a plane in this case) based on, for example, a condition specified by a user.
  • the detection device 1 includes an input unit 21 and a display unit 22.
  • the input unit 21 receives input of various information (eg, data, instructions) to the processing device 3.
  • the input unit 21 receives an input of information specifying a surface of the first object M1 (eg, information on an initial state of the object surface).
  • the user can input various information to the processing device 3 by operating the input unit 21.
  • the input unit 21 includes, for example, at least one of a keyboard, a mouse, a trackball, a touch panel, and a voice input device (eg, a microphone).
  • the display unit 22 displays the image based on the data of the image output from the processing device 3.
  • the display unit 22 includes, for example, a liquid crystal display.
  • the display unit 22 and the input unit 21 may be a touch panel or the like.
  • the position detection unit 2 determines whether the first state Q1 in which the second object M2 is located at the first position (for example, outside the target area AR) as described with reference to FIG. In each of the second state arranged at a second position (eg, in the target area) different from the one position, position information (eg, depth) of the object M in the target area AR is detected.
  • the plane estimating unit 12 performs a plane estimating process based on a detection result (for example, a depth measurement value) of the position detecting unit 2 corresponding to the first state Q1.
  • FIG. 13 is a diagram illustrating a plane estimation process according to the fifth embodiment.
  • the depth map DM1 of FIG. 3 includes the detection result for the second object M2, whereas the depth map DM3 of FIG. 13 does not include the detection result for the second object M2.
  • the point cloud data generation unit 15 performs a point cloud process on the depth map DM3 to generate third point cloud data.
  • the plane estimating unit 12 estimates a plane based on the third point cloud data. For example, the plane estimating unit 12 estimates the plane FP3, the plane FP4, and the plane FP5 as candidates for the estimated plane FP.
  • each of the plane FP3 and the plane FP4 is a wall surface around a space in which the second object M2 is assumed to be arranged.
  • the plane FP4 is, for example, the floor, the ground, or the road of the space.
  • the processing device 3 displays the image Im representing the plane FP3, the plane FP4, and the plane FP5 on the display unit 22.
  • the input unit 21 accepts input of information for designating (for example, selecting) a plane from among estimated plane candidates (plane FP3, plane FP4, and plane FP5) as information for designating the plane of the first object M1.
  • the user moves the pointer PT on a desired plane (for example, the plane FP4) on the display unit 22 by operating a mouse as the input unit 21, and specifies the plane by a click operation or the like.
  • the input unit 21 outputs information input by the user (eg, information on mouse movement, information on the presence or absence of a click) to the processing device 3.
  • the processing device 3 specifies the designated plane (for example, the plane FP4) based on the information output from the input unit 21.
  • the plane estimating unit 12 employs the plane specified as the plane designated by the user as the estimated plane FP, and causes the storage unit 14 to store information representing the estimated plane FP.
  • the point cloud data generation unit 15 executes a point cloud process on the detection result (eg, depth measurement value, depth map DM1 in FIG. 3) of the position detection unit 2 corresponding to the second state Q2, Generate 4-point group data.
  • the object identification unit 13 performs an object identification process based on the estimated plane FP obtained from the third point cloud data and the fourth point cloud data.
  • the information specifying the surface of the first object M1 may include information specifying the position (eg, relative position) of the first object M1 with respect to the second object M2 in the target area AR.
  • the position of the first object M1 with respect to the second object M2 may be the position where the first object M1 is set based on the position where the second object M2 exists.
  • the position of the first object M1 with respect to the second object M2 may be a position where the first object M1 is set based on a position where the second object M2 is to be arranged.
  • the information specifying the surface of the first object M1 may include information specifying the direction of the first object M1 with respect to the second object M2 in the target area AR.
  • the direction of the first object M1 with respect to the second object M2 may be the direction in which the first object M1 exists with respect to the position where the second object M2 exists. Further, the direction of the first object M1 with respect to the second object M2 may be a direction in which the first object M1 exists with respect to a position where the second object M2 is to be arranged.
  • the plane estimating unit 12 may estimate the above-described plane based on a preset calculation condition.
  • the input unit 21 may be used for inputting information when setting calculation conditions.
  • the detection device 1 may not include one or both of the input unit 21 and the display unit 22.
  • the input unit 21 is a device that can be externally attached to the detection device 1, and the detection device 1 may be provided in a state where the input unit 21 is not attached.
  • the display unit 22 is a device that can be externally attached to the detection device 1, and the detection device 1 may be provided in a state where the display unit 22 is not attached.
  • FIG. 14 is a diagram illustrating a detection device according to the sixth embodiment.
  • the detection device 1 according to the present embodiment includes a direction detection unit 23 that detects a vertical direction in the target area AR.
  • the plane estimating unit 12 estimates an object plane (in this case, a plane) in the vertical direction detected by the direction detecting unit 23 as an estimated plane.
  • the direction detection unit 23 includes, for example, at least one of an acceleration sensor, a geomagnetic sensor, and an inertial measurement sensor (IMU).
  • the direction detector 23 detects the direction of the gravitational acceleration.
  • the direction detection unit 23 may detect the orientation of the detection device 1 (eg, the position detection unit 2).
  • the plane estimating unit 12 calculates a direction (e.g., a vector) corresponding to the lower part in the vertical direction in the point cloud data based on the detection result of the direction detecting unit 23.
  • the plane estimating unit 12 derives a plane having the calculated direction as the normal direction as the estimated plane FP.
  • FIG. 15 is a diagram illustrating a detection device according to the seventh embodiment.
  • the processing device 3 includes a rendering processing unit 24.
  • the rendering processing unit 24 includes, for example, a Graphics Processing Unit (GPU). Note that the rendering processing unit 24 may be configured so that the CPU and the memory execute each processing according to the image processing program.
  • the rendering processing unit 24 performs, for example, at least one of drawing processing, texture mapping processing, and shading processing.
  • the rendering processing unit 24 can calculate, for example, an estimated image (eg, a reconstructed image) obtained by viewing the shape defined in the shape information of the model information from an arbitrary viewpoint.
  • an estimated image eg, a reconstructed image
  • the rendering processing unit 24 can reconstruct an estimated image from model information (eg, shape information) by, for example, drawing processing.
  • the rendering processing unit 24 causes the storage unit 56 to store the data of the calculated estimated image, for example.
  • the rendering processing unit 24 can calculate, for example, an estimated image in which the image indicated by the texture information of the model information is pasted on the surface of the object on the estimated image.
  • the rendering processing unit 24 can calculate an estimated image in which another texture is attached to the surface of the object on the estimated image.
  • the rendering processing unit 24 can calculate, for example, an estimated image in which a shadow formed by the light source indicated by the light source information of the model information is added to an object on the estimated image.
  • the rendering processing unit 24 can calculate, for example, an estimated image in which a shadow formed by an arbitrary light source is added to an object on the estimated image.
  • the processing device 3 causes the display unit 22 to display the estimated image generated by the rendering processing unit 24.
  • the rendering processing unit 24 generates a presumed image by executing a drawing process based on a condition (eg, viewpoint position, viewpoint direction) specified by the user using the input unit 21 and displays the estimated image on the display unit. 22 is displayed. The user can see the estimated image generated under the designated condition on the display unit 22.
  • the model generation unit 11 since the object identification unit 13 can identify the second object M2 with respect to the first object M1, the model generation unit 11 generates the shape information by segmenting the second object M2 with high accuracy, for example. can do. Since the rendering processing unit 24 generates the estimated image based on the shape information generated by segmenting the second object M2 with high accuracy, for example, the second object M2 can be represented with high accuracy in the estimated image. .
  • the processing device 3 may not include the rendering processing unit 24.
  • the rendering processing unit 24 may be provided outside the processing device 3.
  • the processing device 3 may output the model information generated by the model generation unit 11 based on the identification result of the object identification unit 13 to the rendering processing unit 24 provided outside the processing device 3.
  • FIG. 16 is a diagram illustrating a detection device according to the eighth embodiment.
  • the processing device 3 includes a posture estimating unit 25.
  • the posture estimation unit 25 estimates the posture of the second object M2 using the model information generated by the model generation unit 11 based on the identification result of the object identification unit 13 (posture analysis processing).
  • the second object M2 is a human body, and the surface SF as an object surface is a floor surface.
  • the posture estimating unit 25 generates position information of a characteristic portion (eg, a characteristic portion, a characteristic point) of the human body M2.
  • the characteristic part of the human body M2 is, for example, a part that can be distinguished from other parts of the human body M2.
  • the characteristic portion of the human body M2 includes, for example, at least one of a terminal portion (eg, a toe), a joint (eg, a knee), or an intermediate portion between the terminal portion and the joint or between two joints.
  • the position information of the characteristic portion includes, for example, the coordinates (eg, three-dimensional coordinates) of a point representing the characteristic portion.
  • the posture estimation unit 25 performs, for example, a recognition process (eg, pattern recognition, shape recognition, skeleton recognition) using shape information (eg, point cloud data) generated by the model generation unit 11 (eg, point cloud data generation unit 15). ), Etc., to generate position information of the above-mentioned characteristic portion.
  • the posture estimating unit 25 calculates the coordinates of the point representing the characteristic portion by the above-described recognition processing, and calculates at least a part of the human body (for example, The posture of the leg) is estimated.
  • the surface estimating unit 12 estimates the floor surface SF as a plane using the above-described position information detected by the position detecting unit 2. Thereafter, the object identification unit 13 determines a portion where the distance to the floor SF estimated by the surface estimating unit 12 is equal to or larger than the threshold and a portion where the distance to the floor SF estimated by the surface estimating unit 12 is less than the threshold (near the floor). Part) and emphasize the contrast.
  • the model generation unit 11 can reduce the extraction error of the foot and improve the separation accuracy.
  • the model generation unit 11 can generate, for example, highly accurate shape information of a part (for example, a fingertip or a toe) of the human body M2 that contacts the floor surface SF.
  • the posture estimating unit 25 can extract a characteristic portion of the human body M2 with high accuracy based on high-accuracy shape information, and can estimate the posture of the human body M2 with high accuracy.
  • the posture estimating unit 25 may detect (e.g., estimate) the motion (e.g., motion) of the human body M2.
  • the posture estimating unit 25 performs sports such as fencing, baseball, soccer, golf, kendo, American football, ice hockey, gymnastics, dancing, performing, running, exercising, yoga, bodybuilding, fashion show, etc., walking or posing, games.
  • the motion of the human body M2 may be detected during personal authentication or at work.
  • the posture estimating unit 25 may detect a motion of the human body M2 walking based on the posture of the human body M2.
  • the processing device 3 may not include the posture estimating unit 25.
  • the posture estimating unit 25 may be provided outside the processing device 3.
  • the processing device 3 may output the model information generated by the model generation unit 11 based on the identification result of the object identification unit 13 to the posture estimation unit 25 provided outside the processing device 3.
  • the processing device 3 includes, for example, a computer system.
  • the processing device 3 reads a processing program (detection program) stored in the storage unit 14 and executes various processes according to the processing program.
  • This processing program causes the computer to send an object plane (estimated plane FP) of the first object M1 based on a detection result of detecting position information of each point on the object M including the first object M1 and the second object M2 in the target area AR. ) And identifying at least a part of the second object M2 contacting the object plane (estimated plane FP) with respect to the object plane (estimated plane FP) based on the distance between each point on the object M. Let it run.
  • This processing program may be recorded on a computer-readable storage medium (eg, a non-transitory recording medium, non-transitory tangible media) and provided.
  • the detection device 1 includes the position detection unit 2, the surface estimation unit 12, and the object identification unit 13, the detection device 1 can identify and detect the second object M2 as the first object M1.
  • the detection device 1 does not need to include at least a part of the portion excluding the position detection unit 2, the surface estimation unit 12, and the object identification unit 13.
  • the requirements described in the above embodiments and the like can be appropriately combined.
  • the detection device 1 may include a part that executes a predetermined process, in addition to the position detection unit 2, the surface estimation unit 12, and the object identification unit 13.
  • the disclosure of all documents cited in the above-described embodiments and the like is incorporated as a part of the description of the text.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Geophysics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Geophysics And Detection Of Objects (AREA)
  • Image Analysis (AREA)

Abstract

【課題】互いに接触する第1物体と第2物体とを識別可能な検出装置を提供する。 【解決手段】検出装置は、対象領域における第1物体及び第2物体を含む物体上の各点の位置情報を検出する位置検出部と、位置検出部の検出結果に基づく第1物体の物体面と、位置検出部が検出した物体上の各点との距離に基づいて、物体面に接触する第2物体の少なくとも一部を物体面に対して識別する物体識別部と、を備える。

Description

検出装置、処理装置、検出方法、及び処理プログラム
 本発明は、検出装置、処理装置、検出方法、及び処理プログラムに関する。
 物体を検出する技術として、例えば下記の特許文献1に記載された技術がある。検出対象の物体は、互いに接触する第1物体および第2物体を含む場合がある。このような場合、例えば、第1物体と第2物体とを識別して検出可能であることが望まれる。例えば、床面上の人体を検出する場合、床面に接触する人体を床面と識別して高精度に検出可能であることが望まれる。
特開2010-134546号公報
 本発明の態様に従えば、対象領域における第1物体及び第2物体を含む物体上の各点の位置情報を検出する位置検出部と、位置検出部の検出結果に基づく第1物体の物体面と、位置検出部が検出した物体上の各点との距離に基づいて、物体面に接触する第2物体の少なくとも一部を物体面に対して識別する物体識別部と、を備える検出装置が提供される。
 本発明の態様に従えば、対象領域における第1物体及び第2物体を含む物体上の各点の位置情報を検出した検出結果に基づく第1物体の物体面と、物体上の各点との距離に基づいて、物体面に接触する第2物体の少なくとも一部を物体面に対して識別する物体識別部、を備える処理装置が提供される。
 本発明の様態に従えば、対象領域における第1物体及び第2物体を含む物体上の各点の位置情報を検出することと、検出の結果に基づく第1物体の物体面と、物体上の各点との距離に基づいて、物体面に接触する第2物体の少なくとも一部を物体面に対して識別することと、を含む検出方法が提供される。
 本発明の態様に従えば、コンピュータに、対象領域における第1物体及び第2物体を含む物体上の各点の位置情報を検出した検出結果に基づく第1物体の物体面と、物体上の各点との距離に基づいて、物体面に接触する第2物体の少なくとも一部を物体面に対して識別すること、を実行させる処理プログラムが提供される。
第1実施形態に係る検出装置を示す図である。 第1実施形態に係る位置検出部を示す図である。 第1実施形態に係る点群処理を示す図である。 第1実施形態に係る平面推定処理、及び物体識別処理を示す図である。 第1実施形態に係る検出方法を示すフローチャートである。 第1実施形態に係る平面推定処理を示すフローチャートである。 第1実施形態に係る物体識別処理を示すフローチャートである。 第2実施形態に係る検出装置を示す図である。 第2実施形態に係る検出方法を示すフローチャートである。 第3実施形態に係る物体識別処理を示す図である。 第4実施形態に係る物体識別処理を示す図である。 第5実施形態に係る検出装置を示す図である。 第5実施形態に係る平面推定処理を示す図である。 第6実施形態に係る検出装置を示す図である。 第7実施形態に係る検出装置を示す図である。 第8実施形態に係る検出装置を示す図である。
[第1実施形態]
 第1実施形態について説明する。図1は、実施形態に係る検出装置を示す図である。検出装置1は、対象領域ARにおける物体Mを検出する。対象領域ARは、検出装置1による検出の対象となる領域(例、検出装置1の検出領域、視野)である。図1において、物体Mは、第1物体M1と第2物体M2とを含む。第1物体M1は、例えば、対象領域ARにおいて固定された物体(例、床、壁、道路、階段、グラウンド、建築物、構造物などの静止物体)を含む。第1物体M1は、物体面の一例である表面SF(例、床面、壁面、天井面、地面、路面、斜面、凹面や凸面のような曲率を有する曲面など)を有する。
 第2物体M2は、第1物体M1に対して分離可能(例、移動可能)な物体(例、移動する物体)を含む。第2物体M2は、例えば人体、動物、又はロボットを含む。第2物体M2は、第1物体M1の表面SFに接触可能である。例えば、第2物体M2は、対象領域AR外から対象領域AR内に移動して、第1物体M1の表面SFに接触する。また、第2物体M2は、表面SFに非接触な状態(例、対象領域AR外に配置された状態)と、表面SFに接触した状態(例、対象領域AR内に配置された状態)とのいずれの状態も取り得る。
 検出装置1(検出システム)は、位置検出部2と、処理装置3とを備える。位置検出部2は、対象領域ARにおける第1物体M1及び第2物体M2を含む物体M上の各点の位置情報(例、デプス)を検出する。位置検出部2は、信号(入力信号)を物体Mに入力し、物体Mから出力される信号(出力信号)を検出する。上記の信号(入力信号、出力信号)は、例えば、光(可視光、非可視光、赤外光、紫外光)、及び音波(例、超音波)から選択されるエネルギー波を含む。
 位置検出部2は、検出部4(例、デプスセンサ、デプスカメラ、測距部)を含む。位置検出部2(検出部4)は、所定の点から物体Mにおける各点までのデプス(距離、奥行き、深度)を検出する。上記所定の点は、例えば、位置検出部2による検出の基準になる位置の点(例、視点、検出元の点、位置検出部2の位置の点)である。
 図2は、第1実施形態に係る位置検出部2を示す図である。位置検出部2(検出部4)は、照射部5、光学系6、及び撮像素子7を備える。照射部5は、検出の対象領域AR(空間、検出領域)に光La(例、パターン光、照射光、パルス光)を照射(例、投影)する。光Laは、例えば赤外光を含む。光学系6は、例えば結像光学系(撮像光学系)を含む。撮像素子7は、例えば、CMOSイメージセンサあるいはCCDイメージセンサを含む。撮像素子7は、二次元的に配列された複数の画素を有する。撮像素子7は、光学系6を介して、物体Mを含む対象領域ARを撮像する。撮像素子7は、対象領域ARにおける物体(物体M)から光Laの照射によって放射される光Lb(赤外光、戻り光)を検出する。光Lbは、例えば赤外光を含む。
 検出部4は、例えば、照射部5から照射される光Laのパターン(例、強度分布)と、撮像素子7によって検出された光Lbのパターン(強度分布、撮像画像)に基づいて、撮像素子7の各画素に対応する対象領域AR上の点から、撮像素子7の各画素までのデプスを検出する。位置検出部2は、その検出結果(領域位置情報)として、対象領域ARにおけるデプスの分布を表したデプスマップ(例、デプス画像、奥行き情報、距離情報)を処理装置3(図1参照)に出力する。
 位置検出部2は、対象領域ARにおいて移動する物体(例、移動体、第2物体M2)を検出してもよい。この場合、検出部4は、所定のサンプリング周波数で物体の検出を繰り返してもよい。検出部4は、検出を実行するごとに、各検出時の位置情報(例、デプスマップ)を生成してもよい。位置検出部2は、検出部4が生成した物体の位置情報の時間変化に基づいて、物体の移動を検出してもよい。また、位置検出部2は、検出部4による検出時刻が異なる複数の検出結果を演算(例、平均値の算出)することによって、位置情報を生成してもよい。
 なお、位置検出部2による位置情報の検出方法は、受動型計測でもよいし能動型計測でもよく、任意に設定される。位置検出部2は、TOF(time of flight)法によってデプスを検出するデバイスでもよい。また、位置検出部2は、TOF法以外の手法でデプスを検出するデバイスでもよい。位置検出部2は、例えば、レーザスキャナ(例、レーザ測距器)を含み、レーザスキャンによってデプスを検出するデバイスでもよい。位置検出部2は、例えば、位相差センサを含み、位相差法によってデプスを検出するデバイスでもよい。位置検出部2は、例えば、DFD(depth from defocus)法によってデプスを検出するデバイスでもよい。
 なお、位置検出部2は、赤外光以外の光(例、可視光)を物体Mに照射し、物体Mから出射する光(例、可視光)を検出してもよい。位置検出部2は、例えばステレオカメラなどを含み、複数の視点から物体Mを検出(例、撮像)してもよい。位置検出部2は、複数の視点から物体Mを撮像した撮像画像を用いて、三角測量によってデプスを検出するデバイスでもよい。位置検出部2は、光学的な手法以外の手法(例、超音波によるスキャン)によって、デプスを検出してもよい。位置検出部2は、物体M上の各点と所定の点との距離を検出する第1検出部(例、検出部4)と、物体Mのテクスチャを検出する第2検出部(例、可視光を検出する撮像部)とを備えてもよい。
 図1の説明に戻り、処理装置3は、位置検出部2が出力する情報(例、検出結果)を処理する情報処理装置である。処理装置3は、モデル生成部11と、面推定部12と、物体識別部13と、記憶部14とを備える。記憶部14は、例えば、不揮発性のメモリ、ハードディスク(HDD)、ソリッドステートドライブ(SSD)などである。記憶部14は、位置検出部2から出力された情報を記憶する。また、記憶部14は、処理装置3の各部で処理された情報を記憶する。
 モデル生成部11は、位置検出部2の検出結果を用いて、3次元のモデル情報を生成する。モデル生成部11は、例えば、対象領域ARにおける物体の少なくとも一部をコンピュータグラフィック処理(CG処理)し、モデル情報(例、3次元のCGモデルデータ)を算出する。モデル情報は、対象領域ARにおける物体の形状情報を含む。モデル情報は、対象領域ARにおける物体のテクスチャ情報を含んでもよい。
 モデル生成部11は、点群データ生成部15と、サーフェス情報生成部16とを備える。点群データ生成部15は、物体M上の各点の位置情報として点群データを生成する点群処理を実行する。点群データは、対象領域ARにおける物体M(例、第1物体M1、第2物体M2)上の複数の点の3次元座標を含む。点群データ生成部15は、位置検出部2が検出した位置情報(例、デプス)に基づいて、物体Mの点群データを算出する。点群データ生成部15は、記憶部14に記憶されている位置検出部2の検出結果を読み出して、点群データを算出する。点群データ生成部15は、物体Mの形状情報として点群データを生成してもよい。
 図3は、第1実施形態に係る点群データ生成部による点群処理を示す図である。符号DM1は、位置検出部2の検出結果に相当するデプスマップ(デプス画像)である。デプスマップDM1は、位置検出部2によるデプスの測定値の空間分布を表す情報(例、画像)である。デプスマップDM1は、対象領域ARの各点におけるデプスを階調値で表したグレースケールの画像である。デプスマップDM1において、階調値が相対的に高い部分(例、白い部分、明るい部分)は、デプスが相対的に小さい部分(位置検出部2から相対的に近い部分)である。デプスマップDM1において、階調値が相対的に低い部分(例、黒い部分、暗い部分)は、デプスが相対的に大きい部分(位置検出部2から相対的に遠い部分)である。
 点群データ生成部15(図1参照)は、記憶部14からデプスマップDM1のデータを読み出し、デプスマップDM1の各画素の階調値(デプスの測定値)に基づいて、各画素に相当する実空間上の点の3次元座標を算出し、点群データPDを生成する。以下の説明において、適宜、1つの点の三次元座標を点データと称する。点群データPDは、複数の点データを一組にしたデータである。
 図3における符号PDは、第1物体M1における表面SFとしての平面(例、床面)および第2物体M2(例、人体の足や手)に相当する点群データを表す。ここでは、点データの代わりに各点の位置に丸印を配置することで、点群データPDを概念的に表した。また、説明の便宜上、第1物体M1における点P1を黒の丸印で表し、第2物体M2における点P2を白の丸印で表した。
 以下の説明において、適宜、位置検出部2の検出結果(例、デプスの測定値)に対して上記の点群処理を施した処理結果を、第1点群データと称する。第1点群データは、第1物体M1に相当する点群データと、第2物体M2に相当する点群データとを含む。第1点群データにおいて、第2物体M2に相当する点群データは、第1物体M1に相当する点群データと区別されていない。例えば、第1点群データにおいて、第1物体M1と第2物体M2とは区別されておらず、第2物体M2上の点P2は、第1物体M1に属するか否かが識別されない。
 第1物体M1と第2物体M2とが互いに接触する部分において、第1物体M1上の点P1と第2物体M2上の点P2とは、連続的に分布する。第1物体M1と第2物体M2とが互いに接触する部分(例、境界の部分、オーバラップ部分などを含む)において、点P1の座標は、点P2の座標との差が小さい。このため、第2物体M2は、第1物体M1と接触する部分(接触領域)において、第1物体M1に対してその接触領域を識別することが難しい場合がある。
 実施形態に係る検出装置1は、第1物体M1の表面SFを平面として推定(近似)する物体面推定処理(以下、平面推定処理と称する)と、平面推定処理によって推定された表面SFに対して第2物体M2を識別(区別、分類、セグメント分割、セグメント化)する物体識別処理とを実行する。以下、図1および図4を参照して、平面推定処理および物体識別処理について説明する。図4は、第1実施形態に係る面推定部による平面推定処理、及び物体識別部による物体識別処理を示す図である。図4の符号PD1は、第1点群データに相当し、符号P3は第1点群データに含まれる点データに相当する。
 面推定部12は、位置検出部2の検出結果に基づいて、第1物体M1における平面を推定する。面推定部12は、第1物体M1における表面SF(図1参照)を、平面として推定する(平面で近似する)。以下の説明において、適宜、面推定部12が推定した平面を推定平面と称する。図4の符号FPは、推定平面に相当する。面推定部12は、推定平面FPを表す情報(以下、推定平面情報と称する)を生成する。面推定部12は、推定平面情報を記憶部14に記憶させる。
 面推定部12は、例えば、予め設定された算出条件を満たすように、上記の平面を推定する。上記算出条件は記憶部14に記憶されており、面推定部12は、記憶部14に記憶された算出条件を読み出し、平面推定処理を実行する。上記算出条件は、例えば、鉛直方向に対する角度が所定の範囲内である条件を含む。位置検出部2の検出結果から得られる物体の位置情報(例、点群データ)において実空間の鉛直方向に相当する方向は、位置検出部2の検出方向に基づいて予め設定される。面推定部12は、例えば、鉛直方向に対する角度が所定の範囲内(例、80°以上90°以下)である条件を満たす平面(例、水平面)を、推定平面として導出する。
 推定平面FPの算出条件は、鉛直方向に対する角度以外の条件を含んでもよい。例えば、推定平面FPの算出条件は、面積が所定値以上である条件を含んでもよい。この場合、面推定部12は、点群データに基づいて推定平面FPの候補を導出し、この候補の面積が所定値以上である場合に、この候補を推定平面として採用(例、決定、特定)してもよい。面推定部12は、例えば、想定される第2物体M2(例、人体)のスケールに対して推定平面の候補のスケールが小さい場合に、この候補を推定平面として採用しなくてもよい。上記の所定値は、例えば、対象領域AR(例、位置検出部2の視野)のサイズに対する比率で与えられてもよい。
 また、面推定部12は、点群データ生成部15が生成した点群データに基づいて上記の平面を推定する。面推定部12は、点群データから選択される複数の点の3次元座標を用いて、平面を推定する。面推定部12は、例えば、最小二乗法を用いて平面を推定する。この場合、面推定部12は、選択した複数の点からの距離の二乗和が最小となる平面を、推定平面FPとする。面推定部12は、推定平面FPを表す数式を導出する。面推定部12は、推定平面FPを表す数式(例、ax+by+cz+d=0)における係数(a、b、c、f)を算出する。面推定部12は、推定平面情報として、推定平面FPを表す数式の係数を記憶部14に記憶させる。
 なお、面推定部12は、最小二乗法以外の推定法を用いて平面を推定してもよい。例えば、面推定部12は、M推定法、RAMSAC、最小メジアン法、及びトンプソン法の少なくとも1つの推定法を用いて平面を推定してもよい。また、面推定部12は、第1の推定法で推定した平面と、第2の推定法で推定した平面との比較等によって、推定平面FPを決定してもよい。
 また、面推定部12は、上記第1点群データに含まれる複数の点の全てを選択して、選択した点を用いて上記の平面を推定してもよい。また、面推定部12は、上記第1点群データに含まれる複数の点の一部(例、部分集合)を選択して、選択した点を用いて平面を推定してもよい。面推定部12が複数の点を選択する条件は、固定でもよいし、可変でもよい。
 面推定部12は、複数の点を選択する条件を調整してもよい。例えば、面推定部12は、選択した複数の点と、推定した平面との残差に基づいて複数の点の選択を更新し、更新した複数の点に基づいて上記の平面を推定してもよい。上記の残差は、例えば、選択された各点と、推定された平面との距離の二乗平均平方根(RMS)でもよい。例えば、面推定部12は、複数の点を含む第1グループに基づいて、推定平面の候補として第1平面を推定する。また、面推定部12は、第1グループのうち第1平面との距離が相対的に大きい点を第1グループから除外した第2グループを選択してもよい。面推定部12は、第2グループに基づいて、推定平面の候補として第2平面を推定してもよい。面推定部12は、例えば、上記残差が閾値以下となるまで複数の点の選択を更新し、得られた平面を推定平面として採用してもよい。
 物体識別部13は、物体Mの平面(例、凹凸の無い又は少ない表面SF)に接触する第2物体M2の少なくとも一部(例、上記の平面付近の部分)を、平面(例、表面SF)に対して識別する(特定する、抽出する)。物体識別部13は、対象領域ARのうち第2物体M2の少なくとも一部を識別(セグメント化、セグメント分割)する。物体識別部13は、位置検出部2が検出した物体M上の各点と面推定部12が推定した推定平面FPとの距離に基づいて、物体識別処理を実行する。物体識別部13は、面推定部12が推定した推定平面FPとの距離が閾値未満(例、1mm未満、1cm未満)である物体M上の各点を除外して、第2物体M2の位置情報(例、点データ、点群データ)を特定する(抽出する、識別する)。
 図4において、符号FP1および符号FP2は、推定平面FPに対する距離Dが上記閾値となる平面である。平面FP1は、推定平面FPに対して第1側(例、鉛直上方側)に配置されている。平面FP2は、推定平面に対して第1側と反対の第2側(例、鉛直下方)に配置されている。物体識別部13は、平面FP1と平面FP2との間に配置される点の点データP4(点線で示す)を、例えばマスキング処理によって第2物体M2の点群データから除外(例、削除)する。このようにして、物体識別部13は、推定平面FPとの距離が閾値未満の点データP4を第1点群データPD1から除外した第2点群データPD2を生成する。第2点群データPD2は、点データP3の集合から点データP4の集合を除いた複数の点データである。また、第2点群データPD2は、点データP4と後述する点データP5とのうち点データP5を含む複数の点データである。
 物体識別部13は、第1点群データに含まれる点ごとに、第2物体M2に属するか否かを識別する。物体識別部13は、上記第1点群データから識別対象の点を選択する。識別対象の点は、上記第1点群データから任意に選択される点である。例えば、第1点群データに含まれる各点には番号(例、1、2、3、・・・)が割り付けられており、物体識別部13は、第1点群データから点を番号順に選択する。そして、物体識別部13は、推定平面FPと選択した識別対象の点との距離を算出する。例えば、物体識別部13は、記憶部14から推定平面情報(例、推定平面FPを表す数式の係数)を読み出し、推定平面情報が表す推定平面と選択した識別対象の点との距離を算出する。
 物体識別部13は、算出した距離と閾値とを比較して、物体識別処理を実行する。物体識別部13は、識別対象の点が第1物体M1に属するか否か(第1物体M1上の点であるか否か)を判定する。例えば、物体識別部13は、識別対象の点と推定平面FPとの距離が閾値未満である場合、識別対象の点が第1物体M1に属すると判定する。図4において、点データP4は、物体識別処理によって第1物体M1に属すると判定された点データに相当する。
 また、物体識別部13は、識別対象の点と推定平面との距離が閾値以上である場合、識別対象の点が第1物体M1に属さないと判定する。図4において、符号P5は、物体識別処理によって第1物体M1に属さないと判定された点データに相当する。点データP5は、第2物体M2上に属すると推定される点の点データに相当する。このように、第2物体M2に属すると推定される点データP5は、第1物体M1に属すると推定される点データP4に対して識別されて特定される。
 物体識別部13は、物体Mの識別結果を表す識別情報を生成する。物体識別部13は、識別情報として、識別対象の点が第1物体M1に属するか否かを示す情報を生成する。例えば、物体識別部13は、識別情報として第2物体M2を表す第2点群データPD2を生成する。第2点群データPD2は、第1物体M1に属すると判定された識別対象の点を第1点群データPD1から除外した点群データである。物体識別部13は、上記識別情報として、第1物体M1に属するか否かを示すフラグ(例、属性情報)を点データに付加した情報を生成してもよい。物体識別部13は、生成した識別情報を記憶部14に記憶させる。
 なお、物体識別部13は、識別対象の点が第2物体M2に属するか否か(第2物体M2上の点であるか否か)を判定してもよい。例えば、物体識別部13は、識別対象の点と推定平面との距離が閾値未満である場合、識別対象の点が第2物体M2に属さないと判定してもよい。また、物体識別部13は、識別対象の点と推定平面との距離が閾値以上である場合、識別対象の点が第2物体M2に属すると判定してもよい。
 また、物体識別部13は、識別情報として、識別対象の点が第2物体M2に属するか否かを示す情報を生成してもよい。物体識別部13は、識別情報として、第2物体M2に属すると判定した識別対象の点を第1点群データPD1から抽出して、第2点群データPD2を生成してもよい。物体識別部13は、上記識別情報として、第2物体M2に属するか否かを示すフラグ(例、属性情報)を点データに付加した情報を生成してもよい。
 図1のサーフェス情報生成部16は、形状情報としてサーフェス情報を算出する。以下の説明において、適宜、サーフェス情報を算出する処理をサーフェス処理と称する。サーフェス情報は、例えばポリゴンデータ、ベクタデータ、及びドローデータの少なくとも1つを含む。サーフェス情報は、物体の表面上の複数の点の座標と、複数の点間の連結情報とを含む。連結情報(例、属性情報)は、例えば、物体表面の稜線(例、エッジ)に相当する線の両端の点を互いに関連付ける情報を含む。また、連結情報は、例えば、物体表面(サーフェス)の輪郭に相当する複数の線を互いに関連付ける情報を含む。
 サーフェス情報生成部16は、サーフェス処理において、点群データに含まれる複数の点から選択される点とその近傍の点との間の面を推定する。また、サーフェス情報生成部16は、サーフェス処理において、点群データを点間の平面情報を持つポリゴンデータに変換する。サーフェス情報生成部16は、例えば最小二乗法を用いたアルゴリズムにより、点群データをポリゴンデータへ変換する。このアルゴリズムは、例えば、点群処理ライブラリに公開されているアルゴリズムを適用したものでもよい。
 サーフェス情報生成部16は、物体識別部13の識別結果に基づいて、サーフェス処理を実行する。サーフェス情報生成部16は、物体識別部13が生成した識別情報を記憶部14から読み出し、識別情報に基づいてサーフェス処理を実行する。例えば、サーフェス情報生成部16は、物体識別部13が識別した第2物体M2を表す第2点群データPD2を用いて、第2物体M2上の面を推定する。サーフェス情報生成部16は、サーフェス情報の少なくとも一部として、推定した第2物体M2上の面を表す情報を生成する。サーフェス情報生成部16は、算出したサーフェス情報を記憶部14に記憶させる。
 なお、上記したモデル生成部11は、モデル情報として、3次元の点座標及びその関連情報で規定された面のテクスチャ情報を生成してもよい。テクスチャ情報は、例えば、物体表面の文字や図形、模様、質感、パターン、凹凸を規定する情報、特定の画像、及び色彩(例、有彩色、無彩色)の少なくとも1つの情報を含む。モデル生成部11は、生成したテクスチャ情報を記憶部14に記憶させてもよい。
 また、モデル生成部11は、モデル情報として、画像の空間情報(例、照明条件、光源情報)を生成してもよい。光源情報は、例えば、対象物を基準とした照明光を照射する光源の位置、この光源から対象物へ光が照射される方向(照射方向)、この光源から照射される光の波長、及びこの光源の種類のうち少なくとも1項目の情報を含む。モデル生成部11は、例えば、ランバート反射を仮定したモデル、アルベド(Albedo)推定を含むモデルなどを利用して、光源情報を算出してもよい。モデル生成部11は、生成(例、算出)したモデル情報の少なくとも一部を記憶部14に記憶させる。モデル生成部11は、上記モデル情報の一部を生成しなくてもよい。
 次に、上記検出装置1の構成に基づいて、実施形態に係る検出方法について説明する。図5は、第1実施形態に係る検出方法を示すフローチャートである。図6は、第1実施形態に係る平面推定処理を示すフローチャートである。図7は、第1実施形態に係る物体識別処理を示すフローチャートである。検出装置1の構成については、適宜、図1を参照する。
 図5のステップS1において、位置検出部2は、対象領域ARにおける物体M上の位置情報(例、デプス)を検出する。ステップS2において、処理装置3の点群データ生成部15は、物体Mの点群データを生成する。例えば、点群データ生成部15は、ステップS1で得られたデプスを用いて点群処理を実行し、第1点群データを生成する。点群データ生成部15は、記憶部14に第1点群データを記憶させる。
 ステップS3において、面推定部12は、第1物体M1における平面を推定する。例えば、面推定部12は、点群データ生成部15が生成した第1点群データを用いて、平面推定処理を実行する。ステップS4において、物体識別部13は、物体上の各点と推定平面との距離に基づいて、第2物体を推定平面に対して識別する。
 ここで、ステップS3の平面推定処理の例について、図6を参照して説明する。図6のステップS11において、面推定部12は、点集合を設定する。面推定部12は、第1点群データに含まれる複数の点の全部または一部を選択し、選択した点からなる点集合を設定する。
 ステップS12において、面推定部12は、ステップS11で設定した点集合の近似平面を表す数式を導出する。近似平面は、推定平面FPの候補である。面推定部12は、最小二乗法を用いて、平面を表す数式(ax+by+cz+d=0)の係数(a、b、c、d)を決定する。面推定部12は、上記平面と点集合に含まれる各点との距離の二乗を算出し、距離の二乗の点集合における総和(以下、距離の二乗和という)が最小となるように、係数(a、b、c、d)を算出する。
 ステップS13において、面推定部12は、点集合に対する近似平面の残差を算出する。この残差は、例えば、ステップS12で算出した係数(a、b、c、d)によって規定される近似平面と、点集合の各点との距離のRMSである。上記残差は、近似平面と、点集合の各点との距離の二乗和でもよい。
 ステップS14において、面推定部12は、ステップS13で算出された残差が閾値以下であるか否かを判定する。面推定部12は、残差が閾値以下でないと判定した場合(ステップS14;No)、ステップS11に戻り、点集合の設定を行う。例えば、面推定部12は、前回選択した点集合のうち、ステップS12で導出した近似平面との距離が相対的に長い点(又は大きい点)を除外して、点集合を再設定(更新)する。面推定部12は、再設定した点集合を用いて、ステップS12からステップS14の処理を繰り返す。
 面推定部12は、ステップS11においてランダムにいくつかの点を選択してもよい。また、面推定部12は、ステップS12において、ステップS11で選択した点に基づいて平面(例、推定平面FPの候補)を推定してもよい。面推定部12は、ステップS13において、ステップS12で推定した平面からその隣接点までの距離を評価関数として、評価値(例、残差)を算出してもよい。面推定部12は、上述のような点のランダムな選択、選択した点を用いた平面の推定、及び推定した平面に対する評価を繰り返し、評価値が最良の候補を推定平面FPとして採用してもよい。
 ステップS14において、面推定部12は、残差が閾値以下であると判定した場合(ステップS14;Yes)、ステップS15において近似平面を推定平面FPとして採用する。ステップS16において、面推定部12は、推定平面FPを表す推定平面情報を記憶部14に記憶させる。面推定部12は、推定平面情報として、推定平面FPを表す数式(ax+by+cz+d=0)の係数(a、b、c、d)を記憶部14に記憶させる。
 次に、図5のステップS4の物体識別処理の例について、図7を参照して説明する。ステップS21において、物体識別部13は、識別対象の点を選択する。物体識別部13は、第1点群データから識別対象の点を選択する。ステップS22において、物体識別部13は、ステップS21で選択された点と推定平面FPとの距離を算出する。物体識別部13は、記憶部14から推定平面FPを表す数式の情報(例、係数)を読み出し、識別対象の点の点データ(三次元座標)と、推定平面を表す数式とから距離を算出する。
 ステップS23において、物体識別部13は、ステップS22で算出された距離は閾値未満であるか否かを判定する。物体識別部13は、算出された距離が閾値未満であると判定した場合(ステップS23;Yes)、ステップS24において、識別対象の点が第2物体M2上の点でないと識別する。物体識別部13は、ステップS24において、識別対象の点を、第2物体M2の点群データからマスキング処理等によって除外する。物体識別部13は、識別対象の点を、第2物体M2と異なる物体(例、第1物体M1)の点群データへ分類(例、登録)してもよい。また、物体識別部13は、ステップS24において、識別対象の点が第2物体M2上の点でないことを示す識別情報(例、フラグ)を生成してもよい。例えば、識別対象の点が第2物体M2上の点ではない対象外の点と識別した場合、物体識別部13は、識別情報に基づき、識別対象の点のうち該対象外の点(この場合、第2物体M2ではない点)を第2物体M2の点群データから削除する。
 なお、物体識別部13は、ステップS24において、識別対象の点が第1物体M1上の点であると識別してもよい。この場合、物体識別部13は、識別対象の点を第1物体M1の点群データへ分類(例、登録)してもよい。また、物体識別部13は、識別対象の点が第1物体M1上の点であることを示す識別情報(例、フラグ)を生成してもよい。
 ステップS23において、物体識別部13は、算出された距離が閾値未満でない(閾値以上である)と判定した場合(ステップS23;No)、ステップS25において、識別対象の点が第1物体M1上の点でないと識別する。物体識別部13は、ステップS25において、識別対象の点を第1物体M1の点群データから除外する。物体識別部13は、識別対象の点を第1物体M1と異なる物体の点群データへ分類(例、登録)してもよい。物体識別部13は、ステップS25において、識別対象の点が第1物体M1上の点でないことを示す識別情報(例、フラグ)を生成してもよい。
 なお、物体識別部13は、ステップS25において、識別対象の点が第2物体M2上の点であると識別してもよい。この場合、物体識別部13は、識別対象の点を第2物体M2の点群データへ分類(例、登録)してもよい。また、物体識別部13は、識別対象の点が第2物体M2上の点であることを示す識別情報(例、フラグ)を生成してもよい。
 ステップS24の処理後またはステップS25の処理後に、ステップS26において、物体識別部13は、次の識別対象の点があるか否かを判定する。物体識別部13は、物体識別処理が予定された複数の点のうち物体識別処理が実行されていない点が存在する場合、次の識別対象の点があると判定する。物体識別部13は、次の識別対象の点があると判定した場合(ステップS26;Yes)、ステップS21に戻り、次の識別対象の点を選択する。物体識別部13は、次の識別対象の点がないと判定した場合(ステップS26;No)、物体識別処理を終了する。
 図5のステップS5において、モデル生成部11は、ステップS4で識別された第2物体M2の位置情報に基づいて、モデル情報を生成する。例えば、モデル生成部11は、第1点群データのうち物体識別部13が識別した第2物体M2の点群データを選択的に用いて、第2物体M2のモデル情報を生成する。モデル生成部11は、モデル情報として、第2物体M2の形状情報(例、サーフェス情報)を生成する。モデル生成部11は、生成したモデル情報を記憶部14に記憶させる。
 なお、モデル生成部11は、第1点群データから第2点群データを除外した点群データを用いて、第1物体M1を表す形状情報を生成してもよい。また、モデル生成部11は、第1物体M1を表す第1形状情報と、第2物体M2を表す第2形状情報とを生成してもよい。モデル生成部11は、第1形状情報と第2形状情報とを合成して、第1物体M1および第2物体M2を表す形状情報を生成してもよい。
 上述のように、実施形態に係る検出装置1は、面推定部12によって第1物体M1における平面を推定し、物体識別部13によって第2物体M2を推定平面FPに対して識別する。したがって、実施形態に係る検出装置1は、第1物体M1に接触する第2物体M2を識別することができ、例えば第2物体M2を高精度にセグメント化することに寄与する。
 なお、第2物体M2は、人体でなくてもよい。第2物体M2は、人間以外の生物(例、動物、植物、犬、猫)でもよいし、物品(例、装置、ロボット、自動車)でもよい。第2物体M2は、対象領域ARにおいて静止する静止物でもよいし、対象領域ARにおいて移動(例、自走)する移動体でもよい。
 また、第1物体M1は、対象領域ARにおいて静止する物体でもよいし、対象領域ARにおいて移動する物体でもよい。例えば、検出装置1は、移動する第1物体M1(例、自動車)と接触する第2物体M2(例、人体)を識別してもよい。第1物体M1において、第2物体M2と接触することが想定される表面は、平面でなくてもよく曲面でもよいし、平面と曲面とを有する複合面でもよい。例えば、第1物体M1の物体面としての表面は、階段の上面のように規則的に配置される面でもよい。また、第1物体M1の表面が凹凸を含み、面推定部12は、第1物体M1の表面を平面で近似してもよい。
 図1などにおいて、第2物体M2は、第2物体M2に対して鉛直方向の下方に配置される面に接触する。第2物体M2は、第2物体M2に対して鉛直方向の上方に配置される面(例、天井)に接触してもよい。また、第2物体M2は、第2物体M2に対して水平方向に配置される面(例、壁面)に接触してもよい。記憶部14は、第1物体M1が接触することが想定される面の条件(例、推定平面FPの算出条件)を予め記憶し、面推定部12は、記憶部14に記憶された面の条件に基づいて、推定平面FPを導出してもよい。第2物体M2において第1物体M1に接触する部分は、任意であり、人体の足以外の部分(例、手)でもよい。
 なお、面推定部12は、点群データを用いないで推定平面を導出してもよい。例えば、面推定部12は、位置検出部2が生成するデプスマップにおいて領域内のデプスの分布が所定の条件を満たす場合に、この領域が推定平面FPに属すると判定してもよい。例えば、面推定部12は、デプスマップにおける複数の画素を含む領域でデプスが規則的に変化する場合に、この領域が推定平面FPに属すると判定してもよい。
 また、面推定部12は、サーフェス情報に基づいて推定平面FPを導出してもよい。例えば、面推定部12は、サーフェス情報生成部16が生成したサーフェス情報から平面で近似される表面の情報を抽出し、抽出した表面の情報を推定平面FPの候補として用いてもよい。この場合、面推定部12は、推定平面FPの候補を導出しなくてもよい。また、面推定部12は、サーフェス情報生成部16がサーフェス処理によって推定した平面の法線方向に基づいて、推定平面FPを導出してもよい。面推定部12は、サーフェス情報において法線方向が同じ又は類似する領域を推定平面として導出してもよい。面推定部12は、所定のサイズの領域における法線方向の分散が所定値未満である場合に、この領域を推定平面FPとして導出してもよい。
 なお、検出装置1の少なくとも一部は、据え置き型の装置でもよいし、携帯型の装置でもよい。位置検出部2の少なくとも一部は、処理装置3と同じボディに設けられてもよい。また、処理装置3の少なくとも一部は、位置検出部2に設けられてもよい。例えば、位置検出部2は、点群データ生成部15を備え、検出によって得られる物体の位置情報として点群データを処理装置3に出力してもよい。
[第2実施形態]
 第2実施形態について説明する。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図8は、本実施形態に係る検出装置を示す図である。本実施形態において、面推定部12は、例えば第2物体M2が対象領域ARに配置されていない状態における位置検出部2の検出結果に基づいて、物体Mの表面SFを物体面(この場合、平面)として推定する。物体識別部13は、第2物体M2が対象領域ARに配置されていない状態における位置検出部2の検出結果に基づいて面推定部12が推定した平面と、第2物体M2が対象領域ARに配置されている状態における位置検出部2の検出結果とに基づいて、第2物体M2を識別する。
 図8の符号Q1は、第2物体M2が第1位置(例、対象領域ARの外部の位置)に配置された第1状態を表す。第1状態Q1は、例えば、対象領域ARに第2物体M2が配置されていない状態である。また、図8の符号Q2は、第2物体M2が第2位置に配置された第2状態を表す。第2位置は、対象領域ARの内部の位置であり、かつ上記第1位置と異なる位置である。
 第1状態Q1において、位置検出部2は、第1物体M1の位置情報を検出する。そして、面推定部12は、第1状態Q1で検出された第1物体M1の位置情報に基づいて、第1物体M1の表面SFを平面として推定(近似)する。
 また、第2状態Q2において、位置検出部2は、第1物体M1および第2物体M2を含む物体Mの位置情報を検出する。そして、物体識別部13は、第1状態Q1で検出された第1物体M1の位置情報に基づいて面推定部12が推定した平面と、第2状態Q2で検出された物体Mの位置情報とを用いて、第2物体M2を識別する。
 なお、第1状態Q1における検出と、第2状態Q2における検出との順番は、任意に設定される。位置検出部2は、第1状態Q1における検出を実行した後で、第2状態Q2における検出を実行してもよい。位置検出部2は、第2状態Q2における検出を実行した後で、第1状態Q1における検出を実行してもよい。この場合、面推定部12は第1状態Q1における検出の終了後に平面を推定し、物体識別部13は、面推定部12が平面を推定した後に、第2状態における検出結果を用いて第2物体M2を識別してもよい。
 なお、第2物体M2は、図8の第1状態Q1において対象領域ARの外部に配置されているが、対象領域ARにおいて第2状態Q2と異なる位置に配置されてもよい。例えば、検出装置1は、第2状態よりも第2物体M2が対象領域ARの中心から離れた位置(例、対象領域ARの端)に配置された第3状態で物体Mの位置情報を検出し、その検出結果に基づいて面推定部12が平面を推定してもよい。また、面推定部12は、第2物体M2の移動による位置検出部2の検出結果の変化に基づいて平面を推定してもよい。例えば、位置検出部2は、第2物体M2の位置が異なる複数の条件で物体Mの位置情報を検出し、面推定部12は、複数の条件で検出される物体Mの位置情報の変化(差分)に基づいて、物体Mの位置情報から第2物体M2の位置情報の少なくとも一部を除外して平面を推定してもよい。
 次に、上記検出装置1の構成に基づいて、実施形態に係る検出方法について説明する。図9は、第2実施形態に係る検出方法を示すフローチャートである。検出装置1の構成については、適宜、図1、図8を参照する。ステップS31において、位置検出部2は、第2物体M2が第1位置(例、対象領域AR外)に配置された第1状態Q1(図8参照)で対象領域ARにおける位置情報(例、デプス)を検出する。
 ステップS32において、処理装置3は、ステップS31で得られる位置検出部2の検出結果からノイズを除去する。ノイズを除去するノイズ除去処理は、例えば、位置検出部2が生成するデプスマップから空間的なノイズを除去する処理を含む。例えば、処理装置3は、デプスマップにおいて隣り合う第1領域(例、第1画素)と第2領域(例、第2画素)とでデプスの差が閾値を超える場合に、第1領域におけるデプスまたは第2領域におけるデプスがノイズであると判定する。処理装置3は、第1領域におけるデプスがノイズであると判定した場合に、第1領域の周囲の領域(例、第3画素、第4画素)のデプスを用いた補間などによって第1領域のデプスを推定し、第1領域のデプスを推定したデプスで更新(置換、補正)することによって、空間的なノイズを除去する。
 また、ノイズを除去するノイズ除去処理は、例えば、位置検出部2が生成するデプスマップから時間的なノイズ(例、時間的に変化するノイズ)を除去する処理を含む。例えば、位置検出部2は、所定のサンプリング周波数で検出を繰り返し、処理装置3は、検出のタイミングが異なる位置検出部2の検出結果(例、デプスマップ)を比較する。例えば、処理装置3は、第1フレームにおけるデプスマップと、第1フレームの次の第2フレームにおけるデプスマップとで、各画素におけるデプスの変化量(時間変化量)を算出する。処理装置3は、各画素におけるデプスの変化量が所定の条件を満たす場合、この画素の第1フレームにおけるデプスまたは第2フレームにおけるデプスがノイズであると判定する。処理装置3は、第2フレームにおけるデプスがノイズであると判定した場合に、第1フレームにおけるデプスと第2フレームの次の第3フレームにおけるデプスとを用いた補間などによって第2フレームのデプスを推定する。処理装置3は、ノイズに対応する画素のデプスを推定したデプスで更新(置換、補正)することによって、時間的なノイズを除去する。
 なお、ノイズ除去処理は、空間的なノイズを除去する処理または時間的なノイズを除去する処理を含まなくてもよい。また、ノイズ除去処理は、処理装置3以外の部分(例、位置検出部2)で実行されてもよい。また、検出装置1は、ノイズ除去処理を実行しなくてもよい。
 図9のステップS33において、点群データ生成部15は、第3点群データを生成する。例えば、点群データ生成部15は、ステップS32においてノイズが除去されたデプスマップに対して点群処理を実行して、第3点群データを生成する。点群データ生成部15は、生成した第3点群データを記憶部14に記憶させる。ステップS34において、面推定部12は、平面を推定する。例えば、面推定部12は、記憶部14から第3点群データを読み出し、第3点群データに基づいて推定平面FPを導出する。面推定部12は、導出した推定平面FPを表す情報を記憶部14に記憶させる(例、初期状態の登録)。
 ステップS35において、位置検出部2は、第2物体M2が対象領域AR内の第2位置に配置された第2状態Q2(図8参照)で、対象領域ARにおける物体Mの位置情報(例、デプス)を検出する。ステップS37において、処理装置3は、ステップS36で得られる位置検出部2の検出結果からノイズを除去する。ステップS37の処理は、ステップS32の処理と同様である。ステップS38において、点群データ生成部15は、第4点群データを生成する。例えば、点群データ生成部15は、ステップS37においてノイズが除去されたデプスマップに対して点群処理を実行して、第4点群データを生成する。点群データ生成部15は、生成した第4点群データを記憶部14に記憶させる。
 ステップS39からステップS44の処理は、物体識別処理に相当する。ステップS39において、物体識別部13は、第4点群データから識別対象の点を設定(例、選択)する。ステップS40において、物体識別部13は、識別対象の点と、ステップS35で推定された推定平面FPとの距離を算出する。物体識別部13は、記憶部14から推定平面FPを表す数式の情報(例、係数)を読み出し、識別対象の点の点データ(三次元座標)と、推定平面を表す数式とから距離を算出する。
 ステップS41において、物体識別部13は、ステップS30で算出された距離が閾値未満であるか否かを判定する。物体識別部13は、算出された距離が閾値以上であると判定した場合(ステップS41;Yes)、ステップS42において、識別対象の点を第5点群データに登録する。物体識別部13は、算出された距離が閾値以上でない(閾値未満である)と判定した場合(ステップS41;No)、又はステップS42の処理後に、ステップS42において、次の識別対象の点があるか否かを判定する。物体識別部13は、物体識別処理が予定された複数の点のうち物体識別処理が実行されていない点が存在する場合、次の識別対象の点があると判定する。物体識別部13は、次の識別対象の点があると判定した場合(ステップS43;Yes)、ステップS39に戻り、次の識別対象の点を選択する。
 物体識別部13は、次の識別対象の点がないと判定した場合(ステップS43;No)、第5点群データを記憶部14に記憶させ、物体識別処理を終了する。第5点群データは、第4点群データから推定平面FPの近傍の点を除外した点群データである。第5点群データは、推定平面FPに対して識別された第2物体M2を表す点群データとして利用可能である。
 面推定部12は、第2物体M2の移動による位置検出部2の検出結果の変化に基づいて平面を推定してもよい。例えば、第2物体M2が第1位置から第2位置へ移動した際に、位置検出部2の検出結果の変化に基づく点群データは、上記第3点群データから上記第4点群データへ変化する。第3点群データが示す形状と、第4点群データが示す形状とで変化量が閾値未満である部分は、例えば、対象領域ARにおいて静止した物体に属すると推定される。面推定部12は、第3点群データが示す形状と、第4点群データが示す形状とで変化量が閾値未満である部分を抽出し、抽出した部分における平面を推定平面として導出してもよい。
 なお、図8では、第2物体M2が配置される第1位置が対象領域AR外であるとしたが、第1位置は、対象領域AR内でもよい。また、第1位置に対応する位置検出部2の検出処理(例、図9のステップS31)は、第2位置に対応する位置検出部2の検出処理(例、図9のステップS36)の終了後に実行されてもよい。ステップS32からステップS34の処理は、ステップS31の処理が終了してから、物体識別処理(例、ステップS39からステップS44)が開始されるまでの任意のタイミングで実行されてもよい。また、ステップS37からステップS38の処理は、ステップS36の処理が終了してから、物体識別処理(例、ステップS39からステップS44)が開始されるまでの任意のタイミングで実行されてもよい。
[第3実施形態]
 第3実施形態について説明する。本実施形態において、検出装置1の構成については適宜図1を参照する。本実施形態に係る物体識別部13(図1参照)は、位置検出部2が検出した物体M上の点と、面推定部12が推定した物体面(この場合、平面)との距離を強調した評価値を算出し、評価値に基づいて第2物体M2の位置情報を識別する。
 図10は、本実施形態に係る物体識別部13による物体識別処理を示す図である。図10のXYZ直交座標系において、Y方向は、推定平面FPに垂直な方向である。また、X方向およびZ方向は、それぞれ推定平面FPに平行、かつ、互いに垂直な方向である。例えば、Y方向は実空間の鉛直方向に対応し、X方向およびZ方向は、それぞれ実空間の水平方向に対応する。
 物体識別部13は、Z方向に領域を分割し、分割した領域ごとに第2物体M2の位置情報を識別する。図10における符号PDは、分割された領域の1つ(Z≦Z<Zm+1の領域、mは正の整数)における物体Mの点群データである。物体識別部13は、点群データPDを二次元領域における点データとして(例、Z座標の値を無視して)、物体識別処理を実行する。物体識別部13は、m=1、2、・・・について、分割された領域に対する物体識別処理を順に行うことによって、所定の領域(例、対象領域AR)に関する物体Mの点群データから第2物体M2の点群データを識別する。
 図10の符号Pは、点群データPDに含まれる1つの点を表す。添え字のiは各点に割り付けられた番号(例、i=1、2、・・・)である。また、Xは点PのX座標であり、Yは点PのY座標である。Yは、推定平面FPのY座標であり、hは、点Pと推定平面FPとの距離(h=Y-Y、推定平面FPからの高さ)である。符号Q3は、物体M2の一部(例、人体の踵)を表す領域である。
 また、dは点Pに対する評価値である。例えば、領域Q3(図10に円で示す拡大図参照)において、dは、点Pに対する評価値である。物体識別部13は、評価値dとして、点Pと推定平面FPとの距離hに基づいて距離hを増加させた値を算出する。dを算出する評価関数は、例えば図10の式(1)で表される。式(1)において、V1は閾値(第2閾値)である。閾値V1は、任意に設定される値である。閾値V1は、例えば、第1閾値(例、図4の距離D)以下の値(例、0)に設定される。
 物体識別部13は、物体Mにおける第1点と推定平面FPとの第1距離、及び第1点の周囲の第2点と推定平面FPとの第2距離に基づいて、第1点に関する評価値を算出する。第1点は、例えば点Pであり、第2点は例えば点Pi-1および点Pi+1である。第1距離は、例えば点Pと推定平面FPとの距離hであり、第2距離は、点Pi-1と推定平面FPとの距離hi-1、及び点Pi+1と推定平面FPとの距離hi+1である。式(1)において、fは、距離(h)に対する増加量である。
 図10の式(1)に示すように、物体識別部13は、第2距離(hi-1、hi+1)が閾値V1(第2閾値)以下である場合(hi-1≦V1 and hi+1≦V1)に、点Pに対する評価値dを第1距離(h)とする。物体識別部13は、第2距離(hi-1、hi+1)が閾値V1(第2閾値)よりも大きい場合(hi-1>V1, or hi+1>V1)に、点Pに対する評価値dとして、第2距離に基づいて第1距離を増加させた値(h+f)を算出する。
 物体識別部13は、第2距離(hi-1、hi+1)が第2閾値(V1)よりも大きい場合に、評価値として、第2距離に対して減少する値(f)を第1距離(h)に加算した値を算出する。増加量fは、第2距離をパラメータとする関数である。増加量fは、第2距離の減少に対して、値が増加する関数(傾きが負の関数、負の相関を持つ関数)である。増加量fは、例えば下記の式(2)で表される。
     f=(1/hi-1)+(1/hi+1)     ・・・式(2)
 図10の符号Q4は、領域Q3に対応する各点の評価値dを示す領域である。領域Q4において、各点の評価値dは黒丸で表され、各点の距離hは白丸で表される。点P-2、点P-1は、推定平面FPから十分に離れた点である。例えば、点Pj-1と推定平面FPとの距離hj-1(領域Q4の点Pj-1に対応する白丸参照)は、第2物体M2に属するか否かの判定に用いられる第1閾値(例、領域Q4のD)よりも大きい。また、点P、点Pj+1、及び点Pj+2は、推定平面FPの近傍の点である。例えば、点Pと推定平面FPとの距離h(領域Q4の点Pに対応する白丸参照)は、第2物体M2に属するか否かの判定に用いられる第1閾値(例、領域Q4のD)よりも小さい。
 ここで、点Pj-1を第1点とし、その周囲の第2点を点Pj-2および点Pとする。第2点(点Pj-2および点P)は、例えば点群データPDにおいて、第1点(点Pj-1)との距離が最も短い点、及びその次に距離が短い点である。物体識別部13は、第2点(点Pj-2)に関する第2距離(hj-2)がV1よりも大きい(hj-2>V1)ので、評価値dj-1としてhj-1+fj-1を算出する。評価値di-1は、点Pi-1が推定平面FPから十分に離れた点であるので、増加量fが小さいが距離hが大きく、第2物体M2であるか否かの判定に用いられる第1閾値(例、領域Q4のD)よりも大きくなる。物体識別部13は、評価値di-1が第1閾値(D)以上であるか否かを判定する。物体識別部13は、評価値di-1が第1閾値(D)以上であると判定し、点Pi-1が第2物体M2上の点であると識別する(第1物体M1上の点でない識別する)。
 次に、点Pを第1点とし、その周囲の第2点を点Pj-1および点Pj+1とする。物体識別部13は、第2点(点Pj-1)に関する第2距離(hj-1)がV1よりも大きい(hj-1>V1)ので、評価値dとしてh+fを算出する。評価値dは、点Pが推定平面FPの近傍の点であるので、距離hが小さいが増加量fが大きく、第2物体M2であるか否かの判定に用いられる第1閾値(例、領域Q4のD)よりも大きくなる。物体識別部13は、評価値dが第1閾値(D)以上であるか否かを判定する。物体識別部13は、評価値dが第1閾値(D)以上であると判定し、点Pが第2物体M2上の点であると識別する(第1物体M1上の点でない識別する)。
 次に、点Pj+1を第1点とし、その周囲の第2点を点Pおよび点Pj+2とする。物体識別部13は、第2点(点P、点Pj+2)の第2距離(距離h、距離hj+2)がV1以下(h≦V1 and hj+2≦V1)ので、評価値dj+1をhj+1とする。物体識別部13は、評価値di+1が第1閾値(D)以上であるか否かを判定する。物体識別部13は、評価値di+1が第1閾値(D)未満であると判定し、点Pi+1が第2物体M2上の点でないと識別する(第1物体M1上の点である識別する)。
 本実施形態に係る物体識別部13は、第1点(例、P)の周囲の第2点(例、Pi-1、Pi+1)と面推定部12が推定した平面(推定平面FP)との第2距離(例、hi-1、hi+1)に基づいて評価値(例、d)を算出し、評価値(例、d)と第1閾値(D)とを比較して第1点が第2物体に属するか否かを判定する。したがって、本実施形態に係る検出装置1は、推定平面FPの近傍の点(例、P)を、推定平面FP上の点と区別して第2物体M2に属する点として識別することができる。このように、物体識別部13は、推定平面FPの近傍の点と推定平面FP上の点とを高精度に識別して分離可能であり、検出装置1は、例えば第2物体M2の形状を高精度に検出可能である。
 なお、物体識別部13は、推定平面FPからの距離(h)が所定の範囲内の点に対して、距離を強調した評価値を算出し、算出した評価値と第1閾値と比較して第2物体M2の位置情報を識別する処理を実行してもよい。例えば、物体識別部13は、推定平面FPからの距離(h)が第1閾値(例、D)よりも大きい点については評価値を導出しなくてもよい。また、物体識別部13は、第2閾値(例、V1)よりも小さい第4閾値を用いて、推定平面FPからの距離(h)が第4閾値よりも小さい点については評価値を導出しなくてもよい。物体識別部13は、例えば、推定平面FPからの距離(h)が第4閾値未満の点を、第2物体M2上の点ではない(第1物体M1上の点である)と識別してもよい。
 なお、評価値を算出する評価関数(例、式(1))は、図10で説明した形態に限定されず適宜変更可能である。例えば、評価値dは、式(1)において距離hに増加量fを加算した値であるが、距離hに係数を乗算した値でもよい。また、増加量fは、(1/hi-1)+(1/hi+1)以外の関数で与えられてもよい。
 なお、物体識別部13は、式(1)のように距離hに基づいて評価値dを1次評価値として算出し、式(1)における距離hの代わりに1次評価値を用いることで2次評価値を算出してもよい(例、物体識別部13は評価値を再計算してもよい)。物体識別部13は、このような評価値の再計算によってk次評価値(kは2以上の整数)を導出し、k次評価値と閾値(例、第1閾値、図4のD)との比較によって、第2物体M2の位置情報を識別してもよい。例えば、図10の領域Q4に示した点Pの1次評価値(h+f)がhよりも大きくなり、点Pの1次評価値を用いて点Pj+1の2次評価値を算出すると、点Pj+1の2次評価値が第1閾値(例、領域Q4のD)以上となることで、点Pj+1は第2物体M2上の点として識別可能な場合がある。この場合、推定平面FPの近傍の点(例、点Pj+1)が第2物体M2上の点として認識され、例えば第2物体M2の形状を高精度に検出可能である。
[第4実施形態]
 第4実施形態について説明する。本実施形態において、検出装置1の構成については適宜図1を参照する。本実施形態において、第2物体M2上の点であるか否かの判定に用いられる閾値(例、図4の距離D)は、可変値である。物体識別部13(図1参照)は、位置検出部2が検出した物体M上の第1点と、その周囲の第2点とに基づいて閾値を設定し、設定した閾値を用いて第1点が第2物体M2上の点であるか否かを識別(判定)する。
 図11は、本実施形態に係る物体識別部13による物体識別処理を示す図である。図11において、図10と同様の要素については同じ符号を付してその説明を簡略化あるいは省略する。物体識別部13は、図10と同様に、Z方向に領域を分割し、分割した領域ごとに第2物体M2の位置情報を識別する。物体識別部13は、領域を分割しないで物体識別処理を実行してもよい。
 領域Q5において、符号Vは、物体識別部13が設定する閾値(第3閾値)である。物体識別部13は、位置検出部2が検出した物体Mにおける第1点(例、点P)の周囲の第2点(例、点Pj-1、点Pj+1)と面推定部12が推定した物体面(この場合、平面)(推定平面FP)との距離に基づいて閾値Vを設定する。閾値Vは、第1距離(例、h)と第2距離(例、hj-1とhj+1との一方又は双方)を変数とする関数である。閾値Vは、例えば、第1距離と第2距離とに重み付けした値(加重平均)であり、下記の式(3)で表される。式(3)のC、C、及びCは、係数(重み付け係数)である。C、C、及びCは、互いに異なる値でもよいし、少なくとも2つが同じ値でもよい。
     V=Ci-1+C+Ci+1     ・・・式(3)
 物体識別部13は、第1点(例、点P)と面推定部12が推定した平面(推定平面FP)との距離(例、距離h)と第3閾値(例、閾値V)とを比較して、第1点が第2物体M2に属するか否かを判定する。物体識別部13は、距離hが閾値V以上である場合、点Pが第2物体M2上の点である(第1物体M1上の点でない)と識別する。例えば、推定平面FPの近傍の点(例、点P)は、推定平面FPとの距離(例、距離h)に対して閾値(例、閾値V)が小さくなる。したがって、物体識別部13は、推定平面FPの近傍の点(例、点P)を第2物体M2上の点として識別する。また、第1点(例、点P)が推定平面FP上の点である場合、閾値Vは小さいがh(i)が0となる。このように、物体識別部13は、距離hが閾値V未満である場合、点Pが第2物体M2上の点でない(第1物体M1上の点である)と識別する。このように、物体識別部13は、推定平面FPの近傍の点と推定平面FP上の点とを高精度に識別可能であり、検出装置1は、例えば第2物体M2の形状を高精度に検出可能である。
 図10および図11で説明したように、物体識別部13は、第1点(例、点P)と推定平面FPとの距離(例、h)に基づく値(例、距離h、評価値d)と、閾値との相対値(例、コントラスト)を調整して、第1点(例、点P)が第2物体M2上の点であるか否かを識別してもよい。なお、処理装置3は、上記相対値(例、コントラスト)を強調する第1モードと、上記相対値(例、コントラスト)を強調しない第2モードとを有してもよい。処理装置3は、例えばユーザの指定によって、上記第1モードと第2モードとを切替可能に構成してもよい。また、処理装置3は、上記第1モードまたは第2モードを有さなくてもよい。
 また、図10および図11で説明したように、物体識別部13は、分割された領域(例、Z≦Z<Zm+1の領域)ごとに物体識別処理を実行する場合、例えば第1点の周囲の第2点を探索する処理の負荷が低減される。また、物体識別部13は、分割された領域の点群データPDに含まれる点のデータを二次元データ(二次元座標)として物体識別処理を実行する場合、例えば距離を算出する処理の負荷が低減される。
 なお、物体識別部13は、全体の領域に対して一括して(例、領域を分割せずに)物体識別処理を実行してもよい。また、物体識別部13は、点群データPDに含まれる点のデータを三次元データ(三次元座標)として物体識別処理を実行してもよい。この場合、物体識別部13は、例えば、第1点の周囲の第2点(例、最近点)を高精度に特定することができる。また、物体識別部13は、例えば、各点と推定平面FPとの距離を高精度に算出して第2物体M2に属する点を識別することができる。また、第2点の数は、図10および図11において2つであるが、1つでもよいし、3つ以上でもよい。
 なお、物体識別部13は、推定平面FPからの距離hが所定の範囲内の点に対して第3閾値を設定し、距離hと設定した第3閾値と比較して第2物体M2の位置情報を識別する処理を実行してもよい。更に、例えば、物体識別部13は、推定平面FPからの距離(h)が第1閾値(例、D)よりも大きい点については、第1閾値を用いて物体識別処理を実行し、第3閾値を算出しなくてもよい。また、物体識別部13は、第1閾値(例、D)よりも小さい第5閾値を用いて、推定平面FPからの距離(h)が第5閾値よりも小さい点については第3閾値を導出しなくてもよい。物体識別部13は、例えば、推定平面FPからの距離(h)が第5閾値未満の点を、第2物体M2上の点ではない(第1物体M1上の点である)と識別してもよい。また、第3閾値を算出する関数は、式(3)の関数に限定されず、適宜変更可能である。
 なお、物体識別部13は、図4の物体識別処理と、図10の物体識別処理と、図11の物体識別処理との少なくとも2つを組み合わせた処理によって、第2物体M2の位置情報を識別してもよい。例えば、物体識別部13は、上記したような複数の閾値を用いて、いずれの物体識別処理を実行するかを決定してもよい。また、物体識別部13は、図10のように算出した評価値dと、図11のように設定した閾値Vとの比較によって、第2物体M2の位置情報を識別してもよい。
[第5実施形態]
 第5実施形態について説明する。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図12は、第5実施形態に係る検出装置を示す図である。本実施形態に係る検出装置1は、例えばユーザから指定される条件に基づいて、第1物体M1における表面SFを物体面(この場合、平面)として推定する。
 検出装置1は、入力部21と、表示部22とを備える。入力部21は、処理装置3に対する各種情報(例、データ、指令)の入力を受け付ける。入力部21は、第1物体M1の面を指定する情報(例、物体面に関する初期状態の情報)の入力を受け付ける。ユーザは、入力部21を操作することによって、処理装置3に対して各種情報を入力可能である。入力部21は、例えば、キーボード、マウス、トラックボール、タッチパネル、及び音声入力デバイス(例、マイク)の少なくとも一つを含む。表示部22は、処理装置3から出力される画像のデータに基づいて、この画像を表示する。表示部22は、例えば、液晶ディスプレイを含む。表示部22および入力部21は、タッチパネルなどでもよい。
 次に、本実施形態に係る平面推定処理について説明する。本実施形態において、位置検出部2は、図8で説明したように第2物体M2が第1位置(例、対象領域AR外)に配置された第1状態Q1と、第2物体M2が第1位置と異なる第2位置(例、対象領域内)に配置された第2状態とのそれぞれにおいて、対象領域ARにおける物体Mの位置情報(例、デプス)を検出する。面推定部12は、第1状態Q1に対応する位置検出部2の検出結果(例、デプスの測定値)に基づいて、平面推定処理を実行する。
 図13は、第5実施形態に係る平面推定処理を示す図である。図3のデプスマップDM1では第2物体M2に対する検出結果が含まれるのに対して、図13のデプスマップDM3では第2物体M2に対する検出結果が含まれていない。点群データ生成部15は、デプスマップDM3に対して点群処理を実行し、第3点群データを生成する。面推定部12は、第3点群データに基づいて平面を推定する。例えば、面推定部12は、推定平面FPの候補として、平面FP3、平面FP4、及び平面FP5を推定する。例えば、平面FP3および平面FP4は、それぞれ、第2物体M2が配置されることが想定される空間の周囲の壁面である。平面FP4は、例えば、上記空間の床面、地面、又は路面である。
 処理装置3は、平面FP3、平面FP4、及び平面FP5を表す画像Imを表示部22に表示する。入力部21は、第1物体M1の面を指定する情報として、推定平面の候補(平面FP3、平面FP4、平面FP5)のうち平面を指定(例、選択)する情報の入力を受け付ける。ユーザは、例えば、入力部21としてマウスを操作することによって、表示部22上においてポインタPTを所望の平面(例、平面FP4)上に移動させ、クリック動作などによって平面を指定する。
 入力部21は、ユーザから入力された情報(例、マウスの移動情報、クリックの有無の情報)を処理装置3に出力する。処理装置3(面推定部12)は、入力部21から出力された情報に基づいて、指定された平面(例、平面FP4)を特定する。面推定部12は、ユーザが指定する平面として特定された平面を推定平面FPとして採用し、推定平面FPを表す情報を記憶部14に記憶させる。
 また、点群データ生成部15は、第2状態Q2に対応する位置検出部2の検出結果(例、デプスの測定値、図3のデプスマップDM1)に対して点群処理を実行し、第4点群データを生成する。物体識別部13は、第3点群データから得られる推定平面FPと、第4点群データとに基づいて、物体識別処理を実行する。
 なお、第1物体M1の面を指定する情報は、対象領域ARにおける第2物体M2に対する第1物体M1の位置(例、相対位置)を指定する情報を含んでもよい。例えば、第2物体M2に対する第1物体M1の位置は、第2物体M2が存在する位置に基づき設定される第1物体M1が存在する位置でもよい。また、第2物体M2に対する第1物体M1の位置は、第2物体M2が配置される予定の位置に基づき設定される第1物体M1が存在する位置でもよい。また、第1物体M1の面を指定する情報は、対象領域ARにおける第2物体M2に対する第1物体M1の方向を指定する情報を含んでもよい。例えば、第2物体M2に対する第1物体M1の方向は、第2物体M2が存在する位置に対して第1物体M1が存在する方向でもよい。また、第2物体M2に対する第1物体M1の方向は、第2物体M2が配置される予定の位置に対して第1物体M1が存在する方向でもよい。
 なお、面推定部12は、予め設定された算出条件に基づいて上記の平面を推定してもよい。入力部21は、算出条件を設定する際の情報の入力に用いられてもよい。検出装置1は、入力部21と表示部22との一方または双方を備えなくてもよい。例えば、入力部21は検出装置1に外付け可能なデバイスであって、検出装置1は、入力部21が取り付けられていない状態で提供されてもよい。また、表示部22は検出装置1に外付け可能なデバイスであって、検出装置1は、表示部22が取り付けられていない状態で提供されてもよい。
[第6実施形態]
 第6実施形態について説明する。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図14は、第6実施形態に係る検出装置を示す図である。本実施形態に係る検出装置1は、対象領域ARにおける鉛直方向を検出する方向検出部23を備える。面推定部12は、方向検出部23が検出した鉛直方向の下方の物体面(この場合、平面)を推定平面として推定する。
 方向検出部23は、例えば、加速度センサ、地磁気センサ、及び慣性計測センサ(IMU)の少なくとも1つを含む。方向検出部23は、重力加速度の向きを検出する。方向検出部23は、検出装置1(例、位置検出部2)の姿勢を検出してもよい。面推定部12は、方向検出部23の検出結果に基づいて、点群データにおいて鉛直方向の下方に相当する向き(例、ベクトル)を算出する。面推定部12は、算出した向きを法線方向とする平面を推定平面FPとして導出する。
[第7実施形態]
 第7実施形態について説明する。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図15は、第7実施形態に係る検出装置を示す図である。本実施形態において、処理装置3は、レンダリング処理部24を備える。
 レンダリング処理部24は、例えば、グラフィックス プロセッシング ユニット(Graphics Processing Unit; GPU)を含む。なお、レンダリング処理部24は、CPUおよびメモリが画像処理プログラムに従って各処理を実行する態様でもよい。レンダリング処理部24は、例えば、描画処理、テクスチャマッピング処理、シェーディング処理の少なくとも一つの処理を行う。
 レンダリング処理部24は、描画処理において、例えば、モデル情報の形状情報に定められた形状を任意の視点から見た推定画像(例、再構築画像)を算出できる。以下の説明において、形状情報が示す形状をモデル形状という。レンダリング処理部24は、例えば、描画処理によって、モデル情報(例、形状情報)から推定画像を再構成できる。レンダリング処理部24は、例えば、算出した推定画像のデータを記憶部56に記憶させる。
 また、レンダリング処理部24は、テクスチャマッピング処理において、例えば、推定画像上の物体の表面に、モデル情報のテクスチャ情報が示す画像を貼り付けた推定画像を算出できる。レンダリング処理部24は、推定画像上の物体の表面に、対象物と別のテクスチャを貼り付けた推定画像を算出することができる。レンダリング処理部24は、シェーディング処理において、例えば、モデル情報の光源情報が示す光源により形成される陰影を推定画像上の物体に付加した推定画像を算出できる。また、レンダリング処理部24は、シェーディング処理において、例えば、任意の光源により形成される陰影を推定画像上の物体に付加した推定画像を算出できる。
 処理装置3は、レンダリング処理部24が生成した推定画像を、表示部22に表示させる。例えば、レンダリング処理部24は、ユーザが入力部21を用いて指定する条件(例、視点の位置、視点の方向)に基づいて描画処理を実行して推定画像を生成し、推定画像を表示部22に表示させる。ユーザは、指定した条件で生成される推定画像を表示部22上でみることができる。
 実施形態において、物体識別部13は、第2物体M2を第1物体M1に対して識別可能であるので、モデル生成部11は、例えば第2物体M2を高精度にセグメント化して形状情報を生成することができる。レンダリング処理部24は、第2物体M2が高精度にセグメント化されて生成される形状情報に基づいて推定画像を生成するので、例えば、推定画像において第2物体M2を高精度に表すことができる。
 なお、処理装置3は、レンダリング処理部24を備えなくてもよい。レンダリング処理部24は、処理装置3の外部に設けられてもよい。処理装置3は、物体識別部13の識別結果に基づいてモデル生成部11が生成したモデル情報を、処理装置3の外部に設けられるレンダリング処理部24に出力してもよい。
[第8実施形態]
 第8実施形態について説明する。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図16は、第8実施形態に係る検出装置を示す図である。本実施形態において、処理装置3は、姿勢推定部25を備える。姿勢推定部25は、物体識別部13の識別結果に基づいてモデル生成部11が生成するモデル情報を用いて、第2物体M2の姿勢を推定する(姿勢解析処理)。ここでは、第2物体M2が人体であり、物体面としての表面SFが床面であるとする。
 姿勢推定部25は、人体M2の特徴的な部分(例、特徴部分、特徴点)の位置情報を生成する。人体M2の特徴部分は、例えば、人体M2のうち他の部分と区別可能な部分である。人体M2の特徴部分は、例えば、人体の末端部(例、足先)、関節(例、膝)、又は末端部と関節との間もしくは2つの関節の間の中間部の少なくとも1つを含む。特徴部分の位置情報は、例えば、特徴部分を代表する点の座標(例、3次元座標)を含む。
 姿勢推定部25は、例えば、モデル生成部11(例、点群データ生成部15)が生成した形状情報(例、点群データ)を用いた認識処理(例、パターン認識、形状認識、骨格認識)等によって、上記の特徴部分の位置情報を生成する。姿勢推定部25は、上記の認識処理によって、特徴部分を表す点の座標を算出し、複数の特徴部位(例、足先、膝、股関節)の相対位置によって、人体の少なくとも一部(例、脚部)の姿勢を推定する。
 人体M2が床面SF上で歩行する場合、例えば、床面SFに接した足の足先(足首から先の部分)が床面SFの近くに配置される状態がある。最初に、実施形態に係る面推定部12は、位置検出部2が検出した上記の位置情報を用いて床面SFを平面で推定する。その後、物体識別部13は、面推定部12が推定した床面SFとの距離が閾値以上の部分と、面推定部12が推定した床面SFとの距離が閾値未満の部分(床面近傍の部分)とのコントラストを強調する。モデル生成部11は、物体識別部13の識別結果を用いることで、足部の抽出誤差を小さくして分離精度を向上させることができる。モデル生成部11は、例えば、人体M2のうち床面SFと接触する部分(例、手先、足先)の高精度な形状情報を生成することができる。姿勢推定部25は、高精度な形状情報に基づいて人体M2の特徴部分を高精度に抽出することができ、人体M2の姿勢を高精度に推定することができる。
 姿勢推定部25は、人体M2の動作(例、運動)を検出(例、推定)してもよい。姿勢推定部25は、フェンシング、野球、サッカー、ゴルフ、剣道、アメリカンフットボール、アイスホッケー、体操などのスポーツ、ダンス、芸能、ランニング、エクササイズ、ヨガ、ボディビル、ファッションショーなどのウォーキングもしくはポージング、ゲーム、人物認証、又は仕事において人体M2の動作を検出してもよい。例えば、姿勢推定部25は、人体M2の姿勢に基づいて、人体M2が歩行する動作を検出してもよい。
 なお、処理装置3は、姿勢推定部25を備えなくてもよい。姿勢推定部25は、処理装置3の外部に設けられてもよい。処理装置3は、物体識別部13の識別結果に基づいてモデル生成部11が生成したモデル情報を、処理装置3の外部に設けられる姿勢推定部25に出力してもよい。
 上述の実施形態において、処理装置3は、例えばコンピュータシステムを含む。処理装置3は、記憶部14に記憶されている処理プログラム(検出プログラム)を読み出し、この処理プログラムに従って各種の処理を実行する。この処理プログラムは、コンピュータに、対象領域ARにおける第1物体M1及び第2物体M2を含む物体M上の各点の位置情報を検出した検出結果に基づく第1物体M1の物体面(推定平面FP)と、物体M上の各点との距離に基づいて、物体面(推定平面FP)に接触する第2物体M2の少なくとも一部を物体面(推定平面FP)に対して識別すること、を実行させる。この処理プログラムは、コンピュータ読み取り可能な記憶媒体(例、非一時的な記録媒体、non-transitory tangible media)に記録されて提供されてもよい。
 なお、本発明の技術範囲は、上述の実施形態などで説明した態様に限定されるものではない。上述の実施形態などで説明した要件の1つ以上は、省略されることがある。例えば、検出装置1は、位置検出部2と面推定部12と物体識別部13とを備える場合、第2物体M2を第1物体M1と識別して検出可能である。検出装置1は、位置検出部2と面推定部12と物体識別部13とを除いた部分の少なくとも一部を備えなくてもよい。また、上述の実施形態などで説明した要件は、適宜組み合わせることができる。検出装置1は、位置検出部2と面推定部12と物体識別部13との他に、所定の処理を実行する部分を備えてもよい。また、法令で許容される限りにおいて、上述の実施形態などで引用した全ての文献の開示を援用して本文の記載の一部とする。
 なお、本発明の技術範囲は、上述の実施形態などで説明した態様に限定されるものではない。上述の実施形態などで説明した要件の1つ以上は、省略されることがある。また、上述の実施形態などで説明した要件は、適宜組み合わせることができる。また、法令で許容される限りにおいて、日本特許出願である特願2018-133517、及び、上述の実施形態などで引用した全ての文献の開示を援用して本文の記載の一部とする。
1・・・検出装置、2・・・位置検出部、3・・・処理装置、4・・・検出部、M・・・物体、M1・・・第1物体、M2・・・第2物体、12・・・面推定部、13・・・物体識別部、14・・・記憶部、15・・・点群データ生成部、21・・・入力部、22・・・表示部、AR・・・対象領域、FP・・・推定平面

Claims (19)

  1.  対象領域における第1物体及び第2物体を含む物体上の各点の位置情報を検出する位置検出部と、
     前記位置検出部の検出結果に基づく前記第1物体の物体面と、前記位置検出部が検出した前記物体上の各点との距離に基づいて、前記物体面に接触する前記第2物体の少なくとも一部を前記物体面に対して識別する物体識別部と、を備える検出装置。
  2.  前記物体上の各点の位置情報として点群データを生成する点群データ生成部を備え、
     前記点群データ生成部が生成した点群データに基づいて前記物体面を求める、
     請求項1に記載の検出装置。
  3.  前記位置検出部は、前記物体上の各点の位置情報として前記物体上の各点と所定の点との距離を検出する検出部を含み、
     前記点群データ生成部は、前記検出部の検出結果に基づいて前記点群データを生成する、
     請求項2に記載の検出装置。
  4.  前記物体識別部は、前記物体面との距離が所定値以上である点を前記第2物体と識別する、
     請求項1から請求項3のいずれか一項に記載の検出装置。
  5.  前記物体識別部は、前記物体における第1点と前記物体面との第1距離について、前記第1点の周囲の第2点と前記物体面との第2距離に基づいて、前記第1距離を強調した評価値を算出し、前記評価値と第1閾値とを比較して前記第1点が前記第2物体に属するか否かを判定する、
     請求項1から請求項4のいずれか一項に記載の検出装置。
  6.  前記物体識別部は、前記第2距離が第2閾値よりも大きい場合に、前記評価値として、前記第2距離に基づいて前記第1距離を増加させた値を算出する、
     請求項5に記載の検出装置。
  7.  前記物体識別部は、前記第2距離が前記第2閾値よりも大きい場合に、前記評価値として、前記第2距離に対して減少する値を前記第1距離に加算した値を算出する、
     請求項6に記載の検出装置。
  8.  前記物体識別部は、前記物体における第1点の周囲の第2点と前記物体面との距離に基づいて第3閾値を設定し、前記第1点と前記物体面との距離と前記第3閾値とを比較して、前記第1点が前記第2物体に属するか否かを判定する、
     請求項1から請求項7のいずれか一項に記載の検出装置。
  9.  前記対象領域における鉛直方向を検出する方向検出部を備え、
     前記方向検出部が検出した鉛直方向の下方の面を前記物体面とする、
     請求項1から請求項8のいずれか一項に記載の検出装置。
  10.  前記物体面を表す数式を導出する、
     請求項1から請求項9のいずれか一項に記載の検出装置。
  11.  前記物体識別部は、前記数式を用いて、前記物体面と前記物体上の各点との距離を算出する、
     請求項10に記載の検出装置。
  12.  前記第1物体の面を指定する情報の入力を受け付ける入力部を備え、
     前記物体面は、前記入力部に入力された情報に基づいて決まるものである、
     請求項1から請求項11のいずれか一項に記載の検出装置。
  13.  前記物体面は、前記第2物体の移動による前記位置検出部の検出結果の変化に基づいて決まるものである、
     請求項1から請求項12のいずれか一項に記載の検出装置。
  14.  前記物体識別部が識別した前記第2物体の位置情報に基づいて、前記第2物体の形状情報を含むモデル情報を生成するモデル生成部を備える、
     請求項1から請求項13のいずれか一項に記載の検出装置。
  15.  前記物体面は、前記対象領域における床面または地面を含み、
     前記第2物体は人体を含み、
     前記物体識別部は、前記人体のうち前記物体面に接触する部位の位置情報を識別する、
     請求項1から請求項14のいずれか一項に記載の検出装置。
  16.  対象領域における第1物体及び第2物体を含む物体上の各点の位置情報を検出した検出結果に基づく前記第1物体の物体面と、前記物体上の各点との距離に基づいて、前記物体面に接触する前記第2物体の少なくとも一部を前記物体面に対して識別する物体識別部、を備える処理装置。
  17.  対象領域における第1物体及び第2物体を含む物体上の各点の位置情報を検出することと、
     前記検出の結果に基づく前記第1物体の物体面と、前記物体上の各点との距離に基づいて、前記物体面に接触する前記第2物体の少なくとも一部を前記物体面に対して識別することと、を含む検出方法。
  18.  コンピュータに、
     対象領域における第1物体及び第2物体を含む物体上の各点の位置情報を検出した検出結果に基づく前記第1物体の物体面と、前記物体上の各点との距離に基づいて、前記物体面に接触する前記第2物体の少なくとも一部を前記物体面に対して識別すること、を実行させる処理プログラム。
  19.  対象領域における第1物体及び第2物体を含む物体上の各点の位置情報を検出する検出部と、
     前記位置情報に基づいて前記第1物体と前記第2物体とを識別する識別部と、を備える検出装置。
PCT/JP2019/026217 2018-07-13 2019-07-02 検出装置、処理装置、検出方法、及び処理プログラム WO2020013021A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020530127A JP7200994B2 (ja) 2018-07-13 2019-07-02 処理装置、検出装置、処理方法、及び処理プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018133517 2018-07-13
JP2018-133517 2018-07-13

Publications (1)

Publication Number Publication Date
WO2020013021A1 true WO2020013021A1 (ja) 2020-01-16

Family

ID=69142427

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/026217 WO2020013021A1 (ja) 2018-07-13 2019-07-02 検出装置、処理装置、検出方法、及び処理プログラム

Country Status (2)

Country Link
JP (1) JP7200994B2 (ja)
WO (1) WO2020013021A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7436633B2 (ja) 2020-03-23 2024-02-21 ファナック株式会社 画像処理装置及び画像処理方法
WO2024070925A1 (ja) * 2022-09-30 2024-04-04 ソニーセミコンダクタソリューションズ株式会社 画像処理装置、画像処理方法及びプログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10143659A (ja) * 1996-11-06 1998-05-29 Komatsu Ltd 物体検出装置
US7995055B1 (en) * 2007-05-25 2011-08-09 Google Inc. Classifying objects in a scene
JP2013042411A (ja) * 2011-08-18 2013-02-28 Ricoh Co Ltd 画像処理装置、その画像処理装置を有するプロジェクタ及びプロジェクタシステム、並びに、画像処理方法、そのプログラム、及び、そのプログラムを記録した記録媒体
JP2016170610A (ja) * 2015-03-12 2016-09-23 セコム株式会社 三次元モデル処理装置およびカメラ校正システム
WO2017158948A1 (ja) * 2016-03-15 2017-09-21 オムロン株式会社 物体検出装置、物体検出方法、及びプログラム
JP2017167671A (ja) * 2016-03-14 2017-09-21 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP2017217268A (ja) * 2016-06-08 2017-12-14 パラマウントベッド株式会社 リハビリテーション支援制御装置及びコンピュータプログラム
JP2018049498A (ja) * 2016-09-23 2018-03-29 キヤノン株式会社 画像処理装置、操作検出方法、コンピュータプログラム、及び記憶媒体

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017217268A1 (ja) 2016-06-17 2017-12-21 コニカミノルタ株式会社 画像処理装置、画像処理方法及びプログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10143659A (ja) * 1996-11-06 1998-05-29 Komatsu Ltd 物体検出装置
US7995055B1 (en) * 2007-05-25 2011-08-09 Google Inc. Classifying objects in a scene
JP2013042411A (ja) * 2011-08-18 2013-02-28 Ricoh Co Ltd 画像処理装置、その画像処理装置を有するプロジェクタ及びプロジェクタシステム、並びに、画像処理方法、そのプログラム、及び、そのプログラムを記録した記録媒体
JP2016170610A (ja) * 2015-03-12 2016-09-23 セコム株式会社 三次元モデル処理装置およびカメラ校正システム
JP2017167671A (ja) * 2016-03-14 2017-09-21 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
WO2017158948A1 (ja) * 2016-03-15 2017-09-21 オムロン株式会社 物体検出装置、物体検出方法、及びプログラム
JP2017217268A (ja) * 2016-06-08 2017-12-14 パラマウントベッド株式会社 リハビリテーション支援制御装置及びコンピュータプログラム
JP2018049498A (ja) * 2016-09-23 2018-03-29 キヤノン株式会社 画像処理装置、操作検出方法、コンピュータプログラム、及び記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7436633B2 (ja) 2020-03-23 2024-02-21 ファナック株式会社 画像処理装置及び画像処理方法
WO2024070925A1 (ja) * 2022-09-30 2024-04-04 ソニーセミコンダクタソリューションズ株式会社 画像処理装置、画像処理方法及びプログラム

Also Published As

Publication number Publication date
JPWO2020013021A1 (ja) 2021-08-02
JP7200994B2 (ja) 2023-01-10

Similar Documents

Publication Publication Date Title
US9842405B2 (en) Visual target tracking
JP5873442B2 (ja) 物体検出装置および物体検出方法
KR101650799B1 (ko) 가변 자세를 포함하는 이미지를 컴퓨터를 사용하여 실시간으로 분석하는 방법
US9002099B2 (en) Learning-based estimation of hand and finger pose
US8565476B2 (en) Visual target tracking
Chattopadhyay et al. Pose Depth Volume extraction from RGB-D streams for frontal gait recognition
US7974443B2 (en) Visual target tracking using model fitting and exemplar
US8401225B2 (en) Moving object segmentation using depth images
US8577084B2 (en) Visual target tracking
JP5898199B2 (ja) 姿勢推定装置、姿勢推定方法、および姿勢推定プログラム
US8577085B2 (en) Visual target tracking
CN103996019B (zh) 用于检测和跟踪一个物体上多个部位的系统和方法
US8565477B2 (en) Visual target tracking
JPWO2012046392A1 (ja) 姿勢推定装置及び姿勢推定方法
JP5868426B2 (ja) 停立人物の向き推定方法
US20130069939A1 (en) Character image processing apparatus and method for footskate cleanup in real time animation
WO2020013021A1 (ja) 検出装置、処理装置、検出方法、及び処理プログラム
US11885611B2 (en) Detection device, processing device, equipment, detection method, and detection program
JP7024876B2 (ja) 検出装置、処理装置、検出方法、及び処理プログラム
JP7147848B2 (ja) 処理装置、姿勢解析システム、処理方法、及び処理プログラム
JP2022037506A (ja) 検出装置、処理装置、検出方法、及び処理プログラム
JP7234595B2 (ja) 検出装置、処理装置、検出方法、及び処理プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19833847

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020530127

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19833847

Country of ref document: EP

Kind code of ref document: A1