WO2022190534A1 - 認識装置、ロボット制御システム、認識方法、およびプログラム - Google Patents

認識装置、ロボット制御システム、認識方法、およびプログラム Download PDF

Info

Publication number
WO2022190534A1
WO2022190534A1 PCT/JP2021/047103 JP2021047103W WO2022190534A1 WO 2022190534 A1 WO2022190534 A1 WO 2022190534A1 JP 2021047103 W JP2021047103 W JP 2021047103W WO 2022190534 A1 WO2022190534 A1 WO 2022190534A1
Authority
WO
WIPO (PCT)
Prior art keywords
orientation
recognition
predetermined object
measurement
measurement image
Prior art date
Application number
PCT/JP2021/047103
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 オムロン株式会社
Publication of WO2022190534A1 publication Critical patent/WO2022190534A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Definitions

  • the present invention relates to recognition devices, robot control systems, recognition methods, and programs.
  • the position and orientation of an object are recognized (estimated) by comparing a template indicating the characteristics of an object in each orientation with an image (measurement image) obtained by imaging the object with an imaging device. is being done.
  • Patent Document 1 discloses a system that performs matching by changing the template size according to the distance obtained from the distance sensor. This makes it possible to reduce the number of templates held by the system. By selecting a template according to the distance, the number of matching times can be reduced.
  • an object of the present invention is to provide a technique that can reduce the number of processes when estimating the position and orientation of an object using a measurement image obtained by measuring the object.
  • the present invention adopts the following configuration.
  • the recognition device compares a measurement image representing a result of measuring a measurement range including a predetermined object with a three-dimensional model of the predetermined object, thereby performing the predetermined measurement in the measurement image.
  • an estimation means for estimating the current position and orientation of the given object based on the position and orientation of the given object recognized by the recognition device in the past;
  • the position and orientation estimated by means as an initial value of the position and orientation of the three-dimensional model of the predetermined object in accordance with the result of fitting the three-dimensional model to the predetermined object in the measurement image, and recognition means for recognizing the position and orientation of the predetermined object.
  • the position and orientation of an object can be estimated at high speed without using templates. Since the position and orientation of the object can be roughly grasped before comparing the 3D model and the measured image, the range of the position and orientation of the 3D model object in the comparison can be limited. Therefore, the position and orientation of the object can be recognized more quickly and efficiently.
  • the recognition apparatus further includes setting means for setting the measurement range, and the estimation means further sets an estimated range, which is a range in which the predetermined object exists, based on the position or position/orientation estimated by the estimation means.
  • the setting means may set the estimated range as the measurement range. According to this, since the measurement range can be limited, it becomes possible to acquire the measurement image at a higher speed.
  • the estimation means may estimate the current position and orientation of the predetermined object based on changes in the position and orientation of the predetermined object between at least two past points in time. According to this, the position and orientation of a given object can be estimated by a simple method (that is, a small number of steps). Therefore, the position and orientation of the object can be recognized more quickly and efficiently.
  • the measurement image represents a result measured by an imaging sensor
  • the position and orientation of the imaging sensor are controlled by a robot
  • the estimation means determines the position and orientation of the predetermined object in the past and the current position and orientation of the object.
  • the current position and orientation of the predetermined object may be estimated based on the position and orientation of the robot. According to this, even when only the position and orientation of the predetermined object at one past point in time can be used for estimation, the current position and orientation of the predetermined object can be estimated.
  • the measurement image may be a distance image in which each pixel represents the distance to the subject.
  • the estimation means does not estimate the current position and orientation of the predetermined object, and does not estimate the current position and orientation of the predetermined object.
  • the means may recognize the position and orientation of the predetermined object according to a comparison result between each of a plurality of templates indicating feature amounts of the predetermined object and the measurement image. According to this, even if there is no past recognition result of the position and orientation of the predetermined object, the current position and orientation of the predetermined object can be estimated.
  • a robot control system comprising: the recognition device; an imaging sensor that measures the measurement range; and a robot that controls the position and orientation of the predetermined object based on the recognition result of the recognition device.
  • the present invention may be regarded as a device having at least part of the above means, or as an electronic device, control system, information processing system, information processing device, recognition device, recognition system, or robot. Further, the present invention may be regarded as a control method, matching method, recognition method, and robot control method including at least part of the above processing.
  • the present invention can also be regarded as a program for realizing such a method and a recording medium (storage medium) in which the program is non-temporarily recorded. It should be noted that each of the means and processes described above can be combined with each other as much as possible to constitute the present invention.
  • the number of processes can be reduced when estimating the position and orientation of an object using a measurement image obtained by measuring the object.
  • FIG. 1 is a diagram illustrating a recognition system according to Embodiment 1.
  • FIG. FIG. 2 is a configuration diagram of a template generation device and a recognition device according to the first embodiment.
  • FIG. 3 is a flowchart of object position and orientation recognition processing according to the first embodiment.
  • FIG. 4 is a flowchart of recognition processing using past information according to the first embodiment.
  • FIG. 5 is a flowchart of recognition processing using past information according to the second embodiment.
  • FIG. 6 is a diagram for explaining the coordinate system of the recognition system.
  • FIG. 7 is a diagram illustrating another configuration of the recognition system.
  • a recognition system 1 that compares a template representing a feature amount of an object based on a three-dimensional model (three-dimensional data) of the object with an image (measurement image) representing the result of measuring the object by an imaging sensor. estimates the current object pose according to the past object poses. Then, the recognition system 1 recognizes the position and orientation of the object by comparing the three-dimensional model (three-dimensional data) of the object with the estimated position and orientation as initial values and the measured image. Note that the position and orientation are position and orientation in the following embodiments, but may be position or orientation as long as there is no technical contradiction.
  • the position and orientation of an object can be estimated at high speed without using templates. Since the position and orientation of the object can be roughly grasped before comparing the 3D model and the measured image, the range of the position and orientation of the 3D model object in the comparison can be limited. Therefore, the position and orientation of the object can be recognized more quickly and efficiently.
  • a configuration of a recognition system 1 according to the first embodiment will be described with reference to FIG.
  • the recognition system 1 recognizes the position and orientation of the object 2 by comparing a three-dimensional model of the object 2 (predetermined object) with a measurement image representing the result of measuring the object 2 .
  • the recognition system 1 has an imaging sensor 10 , a template generation device 20 , a recognition device 30 , a storage device 40 , a robot control device 50 and a robot 60 .
  • the recognition system 1 is also a robot control system that controls a robot 60 that connects the gripped object 3 to the object 2 .
  • the imaging sensor 10 acquires a measurement image by measuring the measurement range including the current object 2.
  • the imaging sensor 10 acquires an image of the subject through the left lens and an image of the subject through the right lens, and compares the difference between the two images (left and right images).
  • each pixel indicates the distance from the imaging sensor 10 to the subject.
  • the imaging sensor 10 may acquire a range image by any method such as triangulation measurement or a ToF (Time of Flight) method.
  • the measurement image may be a temperature image in which each pixel indicates the temperature of the subject, or may be a normal optical image (an image expressing the color and luminance of the subject).
  • the template generation device 20 generates a template indicating the feature amount of the object 2 based on a 3D model of the object 2 measured in advance or a 3D model of the object 2 used when designing the object 2 .
  • the three-dimensional model may be data representing the object 2 using point cloud data, or data defining the shape and structure of the object 2, such as CAD data.
  • the recognition device 30 performs estimation processing of the current position and orientation of the object 2 using the measurement image acquired by the imaging sensor 10 .
  • the recognition device 30 also recognizes the current position and orientation of the object 2 based on the estimation result.
  • the storage device 40 stores (records) the three-dimensional model of the object 2, the template generated by the template generation device 20, the matching result of the matching performed by the recognition device 30, and/or information on the position and orientation of the object 2 recognized by the recognition device 30. )do.
  • the storage device 40 may be a server or the like having a hard disk (HDD) or memory (RAM; Random Access Memory).
  • the storage device 40 may be a storage medium that can be inserted into and removed from the template generation device 20 and the recognition device 30 .
  • the storage device 40 stores a plurality of templates representing features of the objects 2 in different postures (objects 2 viewed from different viewpoints).
  • the robot control device 50 controls the orientation (position and orientation) of the robot 60 based on the recognition result of the position and orientation of the object 2 .
  • the robot controller 50 controls the posture of the robot 60 so that the gripped object 3 gripped by the gripper 61 of the robot 60 connects to the object 2 .
  • the posture of the robot 60 is controlled by the robot control device 50 .
  • the robot 60 has a gripper 61 that grips the gripped object 3 and a base 62 that fixes the end of the robot 60 . Therefore, the robot 60 can control the position and orientation of the gripped object 3 .
  • the imaging sensor 10 is fixed (connected) to a portion of the grip portion 61 .
  • the internal configuration of the template generation device 20 will be described with reference to FIG.
  • the template generation device 20 has a control section 201 , an information acquisition section 202 , a projection image generation section 203 , a feature quantity calculation section 204 , a template generation section 205 and an information output section 206 .
  • the control unit 201 controls each functional unit of the template generation device 20 according to a program non-temporarily stored in the storage medium.
  • the information acquisition unit 202 acquires a three-dimensional model (three-dimensional data; three-dimensional image data) of the object 2.
  • the information acquisition unit 202 may acquire the three-dimensional model of the object 2 from the storage device 40 or from another external device.
  • the information acquisition unit 202 also acquires the imaging parameters of the imaging sensor 10 (camera focal length, image center coordinates, lens distortion correction coefficient).
  • the projected image generation unit 203 generates a projected image by converting the three-dimensional model into a two-dimensional image. Specifically, the projected image generation unit 203 generates a projected image representing the object 2 in each posture by a two-dimensional image. At this time, since the measured image changes depending on the imaging parameters of the imaging sensor 10, the projection image generation unit 203 generates a projection image corrected by the imaging parameters.
  • the feature quantity calculation unit 204 calculates the feature quantity of each pixel (each region) in the projection image based on the three-dimensional model or the projection image.
  • the feature amount can be an edge feature amount (edge direction histogram) or a normal line feature amount (normal line direction histogram).
  • the feature amount is not limited to this, and may be distance information, temperature information, or color information.
  • the template generation unit 205 generates a template, which is a two-dimensional image in which each pixel indicates the feature amount calculated by the feature amount calculation unit 204 .
  • the template generation unit 205 adds information about the orientation of the object 2 corresponding to the projection image that is the basis of the template to the template.
  • the information output unit 206 outputs the template generated by the template generation unit 205 to the storage device 40 .
  • the projection image generation unit 203 generates a plurality of projection images from the three-dimensional model.
  • the plurality of projection images are two-dimensional images representing the object 2 in different postures.
  • the feature quantity calculation unit 204 calculates a feature quantity for each of the plurality of projection images.
  • the template generation unit 205 generates a template for each of the multiple projection images, and the information output unit 206 outputs the multiple templates to the storage device 40 .
  • the internal configuration of the recognition device 30 will be described with reference to FIG.
  • the recognition device 30 has a control unit 301 , an image acquisition unit 302 , an information acquisition unit 303 , a feature amount calculation unit 304 , a range setting unit 305 , an estimation unit 306 , a matching unit 307 , a recognition unit 308 and a result output unit 309 .
  • the control unit 301 controls each functional unit of the recognition device 30 according to a program non-temporarily stored in the storage medium.
  • the image acquisition unit 302 acquires a measurement image from the imaging sensor 10. Note that the image acquisition unit 302 does not need to acquire the measurement image from the imaging sensor 10, and may acquire the measurement image stored in the storage device 40, for example.
  • the information acquisition unit 303 acquires a plurality of templates from the storage device 40.
  • the feature amount calculation unit 304 calculates the feature amount of each pixel (each region) of the measurement image.
  • the range setting unit 305 sets the range (estimated range estimated by the estimating unit 306) in which the object 2 may exist as the target range (measurement range) to be measured by the imaging sensor 10.
  • the estimation unit 306 estimates the current position and orientation of the object 2 based on the past position and orientation of the object 2 . Note that the estimating unit 306 does not perform matching using a template, which takes time and man-hours. Therefore, the estimation unit 306 can estimate the position and orientation of the object 2 at a higher speed than when estimating the position and orientation of the object 2 by matching using a template.
  • the estimation unit 306 also estimates a range (estimation range) in which the object 2 may exist from the estimated position or position/orientation of the object 2 .
  • the estimated range is, for example, a rectangular parallelepiped, cylindrical, or spherical range having a predetermined size centered on the estimated position of the object 2 .
  • the matching unit 307 matches the template acquired by the information acquiring unit 303 with the measurement image. Then, if the degree of matching is greater than a predetermined value, the matching unit 307 determines that the matching has succeeded. On the other hand, the matching unit 307 determines that the matching has failed if the degree of matching is less than or equal to the predetermined value. Also, the matching unit 307 estimates (recognizes) the rough position and orientation of the object 2 from the template when it is determined that the matching is successful. Specifically, the matching unit 307 can estimate the position and orientation of the object 2 based on the orientation information of the object 2 added to the template and the orientation information of the robot 60 at the time of measurement.
  • the recognition unit 308 uses the position and orientation of the object 2 estimated by the estimation unit 306 or the matching unit 307 as the initial values of the position and orientation of the three-dimensional model object 2 so that the three-dimensional model object 2 appears in the measurement image (measurement data). Align with object 2. This matching can be realized by comparing each point of the object 2 of the three-dimensional model and the object 2 of the measurement image using an ICP (Iterative Closest Point) algorithm, for example.
  • ICP Intelligent Closest Point
  • the result output unit 309 outputs the matching result and the recognition result of the position and orientation of the object 2 to the storage device 40 and an external device.
  • the robot control device 50 moves the robot 60 (the gripped object 3) to a predetermined position according to the position and orientation of the object 2. Control can be performed to set the position and orientation.
  • the template generation device 20 and the recognition device 30 can be configured by a computer including, for example, a CPU (processor), memory, storage, and the like.
  • a computer including, for example, a CPU (processor), memory, storage, and the like.
  • the configuration shown in FIG. 2 is realized by loading the program stored in the storage into the memory and executing the program by the CPU.
  • a computer may be a general-purpose computer such as a personal computer, a server computer, a tablet terminal, a smart phone, or a built-in computer such as an on-board computer.
  • all or part of the configuration shown in FIG. 2 may be configured with ASIC, FPGA, or the like.
  • all or part of the configuration shown in FIG. 2 may be realized by cloud computing or distributed computing.
  • step S ⁇ b>1001 the control unit 301 controls the image acquisition unit 302 to acquire left and right images (an image of the subject captured through the left lens and an image of the subject captured through the right lens) from the imaging sensor 10 .
  • the control unit 301 also controls the information acquisition unit 303 to acquire a plurality of templates and the three-dimensional model of the object 2 from the storage device 40 .
  • each of the plurality of templates is a template (multi-viewpoint template) corresponding to different postures of the object 2 .
  • the control unit 301 may acquire imaging parameters from the imaging sensor 10 .
  • step S1002 the control unit 301 determines whether or not the recognition result of the position and orientation of the object 2 in the past (past frame) is stored in the storage device 40.
  • the recognition results of the position and orientation of the object 2 in the past may be stored in a storage unit (not shown) of the recognition device 30, and the control unit 301 recognizes the position and orientation of the object 2 in the past. It may be determined whether the result is stored in the storage unit. If it is determined that the recognition result of the position and orientation of the object 2 in the past is stored, the process proceeds to step S1006; otherwise, the process proceeds to step S1003.
  • the control unit 301 controls the imaging sensor 10 to measure the distance for all overlapping ranges of the left and right images, and acquires measurement images (performs three-dimensional measurement). Specifically, the imaging sensor 10 identifies corresponding pixels between the two left and right images, and calculates the positional difference of the corresponding pixels. Then, the imaging sensor 10 measures the distance to the subject using a triangulation technique based on the positional difference between the corresponding pixels and the positional difference between the left and right lenses. Thereby, the imaging sensor 10 can acquire a measurement image, which is a distance image having point cloud data, for example.
  • step S1004 the control unit 301 controls the feature amount calculation unit 304 to acquire feature amounts from the measurement image.
  • step S1005 the control unit 301 controls the matching unit 307 to estimate (recognize) the rough position and orientation of the object 2 using the plurality of templates acquired in step S1001.
  • the collation unit 307 performs collation by comparing the feature amounts indicated by the plurality of templates and the feature amounts indicated by the measurement images.
  • the matching unit 307 acquires the reciprocal 1/Sum(D) of the total sum Sum(D) of the feature amount differences D between pixels in a certain range of the measurement image and the template as the matching degree. It should be noted that the degree of matching may be obtained by any matching method without being limited to this.
  • the matching unit 307 estimates the orientation of the object 2 based on the orientation corresponding to the template with the highest degree of matching and the orientation of the robot 60 (the position and orientation of the imaging sensor 10). The matching unit 307 also estimates the position of the object 2 based on the position in the measurement image that best matches the template and the posture of the robot 60 .
  • step S1006 the control unit 301 executes recognition processing using past position and orientation information (past information) of the object 2 . Details of the recognition processing using the past information will be described later with reference to the flowchart of FIG.
  • step S1007 the control unit 301 determines whether or not the position and orientation of the object 2 have been recognized by the recognition processing in step S1006. If it is determined that the position and orientation of the object 2 have been recognized, the process proceeds to step S1009; otherwise, the process proceeds to step S1003.
  • step S1008 the control unit 301 controls the recognition unit 308 to compare the three-dimensional model of the object 2 with the measurement image, and recognize the position and orientation of the object 2 in the measurement image in detail.
  • the recognition unit 308 recognizes the position and orientation of the object 2 in the measurement image by matching the three-dimensional model of the object 2 to the measurement image using the position and orientation estimated by the matching unit 307 as initial values.
  • the recognition unit 308 can match the three-dimensional model of the object 2 with the measurement image by comparing (matching) each point of the object 2 indicated by the three-dimensional model and the measurement image using, for example, the ICP algorithm. can.
  • step S ⁇ b>1009 the control unit 301 controls the result output unit 309 to output information on the position and orientation of the object 2 to the storage device 40 .
  • information on the position and orientation of the object 2 is stored in the storage device 40 .
  • step S1006 The recognition processing using past information performed in step S1006 will be described with reference to the flowchart of FIG. Each process in the flowchart of FIG. 4 can be realized by the control unit 301 executing a program.
  • step S2001 the control unit 301 controls the estimating unit 306 to determine the amount of change (movement) in the position and orientation of the object 2 between the past two frames of the measurement image based on the recognition result of the position and orientation of the object 2 in the past. amount and rotation amount). Specifically, the estimation unit 306 may calculate the difference in the position and orientation of the object 2 between the two frames as the amount of change. Note that the estimation unit 306 may calculate the amount of change in the position and orientation of the object 2 between frames based on the recognition results of the position and orientation of the object at three or more time points.
  • step S2002 the control unit 301 controls the estimation unit 306 to determine the amount of change in the object 2 between the previous frame and the current frame ( Estimated amount of change; amount of movement and amount of rotation). Specifically, for example, when two past frames are separated by a plurality of frames, the estimation unit 306 calculates the change amount of the object 2 between the past two frames of the measurement image as the past two frames. Calculate (estimate) the estimated amount of change by dividing by the number of frames between frames.
  • step S2003 the control unit 301 controls the estimating unit 306 to determine the position and orientation of the object 2 in the previous frame and the estimated amount of change in the object 2 from the previous frame to the current frame. 2 is estimated.
  • the estimation unit 306 estimates the position and orientation of the object 2 in the current frame by estimating that the object 2 has moved by the estimated change amount from the position and orientation in the previous frame.
  • step S2003 the estimation unit 306 estimates the current position and orientation of the object 2 based on the past position and orientation of the object 2, instead of estimating the position and orientation of the object 2 by matching using templates in step S1005. to estimate
  • step S2004 the control unit 301 controls the estimation unit 306 to estimate a range (estimation range) where the object 2 may exist in the current frame based on the estimated current position and orientation of the object. For example, the estimation unit 306 determines a range of a predetermined size (for example, 1.5 times or 2 times the size of the object 2) around the position of the object 2 estimated in step 2003 as the estimation area. Then, the control unit 301 controls the range setting unit 305 to set the estimated area to the measurement range, which is the range measured by the imaging sensor 10 .
  • a predetermined size for example, 1.5 times or 2 times the size of the object 2 around the position of the object 2 estimated in step 2003.
  • the control unit 301 controls the range setting unit 305 to set the estimated area to the measurement range, which is the range measured by the imaging sensor 10 .
  • step S2005 the control unit 301 controls the imaging sensor 10 to measure only the measurement range (estimated range) set in step S2004, and obtains a measurement image. According to this, since only the measurement range in which the object 2 may exist is measured, the efficiency of measurement by the imaging sensor 10 can be improved.
  • the imaging sensor 10 calculates only the difference between the positions of the corresponding pixels only in the range corresponding to the measurement range of the left and right images, thereby detecting only the measurement range in which the object 2 may exist. measure. Therefore, it is possible to reduce the number of pixels in the left and right images to be processed for calculating the difference in pixel position.
  • the imaging sensor 10 since the distance to be measured from the imaging sensor 10 is limited, the range for searching the corresponding positions of the pixels of one image to the pixels of the other image is narrowed down. In other words, the number of processes involved in calculating corresponding pixels between the left and right images is also reduced. In this way, the imaging sensor 10 can perform measurement only for a predetermined range including positions where the object 2 may exist. In other words, the imaging sensor 10 does not need to measure a position far from the position where the object 2 exists.
  • step S2006 the control unit 301 controls the recognition unit 308 to compare the three-dimensional model of the object 2 and the measurement image, and recognize the position and orientation of the object 2 in detail.
  • the recognition unit 308 recognizes the position and orientation of the object 2 in the measurement image by matching the three-dimensional model of the object 2 to the measurement image using the position and orientation estimated by the matching unit 307 as initial values.
  • the recognition unit 308 matches the three-dimensional model of the object 2 with the measurement image by comparing (matching) each point of the object 2 indicated by the three-dimensional model of the object 2 and the measurement image using the ICP algorithm. can be done.
  • the predetermined case may be, for example, the case where only the position and orientation of object 2 in one past frame are stored and the amount of change of object 2 between past frames cannot be calculated in step S2001.
  • the predetermined case is the case where the three-dimensional model of the object 2 could not be fitted to the measurement image in step S2006 because the object 2 did not exist within the measurement range (estimation range).
  • the position and orientation of the object 2 can be roughly estimated based on the position and orientation of the object 2 in the past, so matching processing between the template and the measurement image can be eliminated. Therefore, when recognizing the position and orientation of the object 2, recognition processing can be made more efficient.
  • the recognition system 1 that estimates the current position and orientation of the object 2 based on the position and orientation of the robot 60 will be described.
  • the configuration of the recognition system 1 according to the second embodiment is the same as the configuration according to the recognition system 1 according to the first embodiment, so description thereof is omitted.
  • the second embodiment differs from the first embodiment only in the processing of step S1006 (recognition processing using past information) shown in FIG. 2, so the recognition processing using past information will be described using the flowchart shown in FIG. .
  • the base coordinate system is a coordinate system centered on the base 62 of the robot 60 and is a fixed coordinate system.
  • the object coordinate system is a coordinate system centered on the object 2 .
  • the tool coordinate system is a coordinate system centered on the grasping part 61 (or the grasped object 3) of the robot 60.
  • the camera coordinate system is a coordinate system centered on the imaging sensor 10 .
  • the "position and orientation of the object 2" according to the first embodiment may be the position and orientation of the object 2 in the camera coordinate system, or may be the position and orientation of the object 2 in the base coordinate system.
  • FIG. 5 is a flowchart showing recognition processing using past information according to the second embodiment.
  • the processing of steps S2004 to S2006 is the same as the processing of steps S2004 to S2006 according to the first embodiment. Therefore, description of steps S2004 to S2006 is omitted.
  • step S3001 the control unit 301 uses the estimation unit 306 to determine the position and orientation of the object 2 in the past frame of the camera coordinate system and the position and orientation of the robot 60 (grasping unit 61) in the past frame of the base coordinate system. , transform the position and orientation of the object 2 in the past frame in the camera coordinate system into the base coordinate system. Specifically, the control unit 301 acquires the position (translation) T' obj-base and the rotation (orientation) R' obj-base of the object 2 in the base coordinate system of the past frame according to Equation 1 below.
  • the position T' obj-cam and the rotation R' obj-cam are the position (coordinates) and rotation (orientation) of the object 2 in the past frame in the camera coordinate system, respectively.
  • the position T' obj-cam and the rotation R' obj-cam are results of past recognition of the position and orientation of the object 2 by the recognition device 30 .
  • the position T' tool-base and the rotation R' tool-base are the position and rotation of the gripper 61 (robot 60) in the past frame of the base coordinate system, respectively.
  • the position T cam-tool and the rotation R cam-tool are the position and rotation of the imaging sensor 10 in the tool coordinate system, respectively.
  • the position T cam-tool and the rotation R cam-tool are constant values regardless of the past frame or the current frame. . Therefore, the position T cam-tool and the rotation R cam-tool can be obtained by measuring in advance.
  • step S3002 the control unit 301 uses the estimation unit 306 to determine the position and orientation of the object 2 in the base coordinate system in the past frame calculated in step S3001 and the robot 60 (base 62) in the current frame in the tool coordinate system. Based on the position and orientation, the position and orientation of the object 2 in the current frame of the camera coordinate system are estimated. Specifically, the control unit 301 acquires the position T obj-cam and the rotation (orientation) R′ obj-cam of the object 2 in the camera coordinate system of the past frame, using Equation 3 below.
  • Position T base-tool and rotation R base-tool are respectively the position (coordinates) and rotation (pose) of the base 62 (robot 60) of the current frame in the tool coordinate system.
  • the position T tool-cam and the rotation R tool-cam are the position and rotation of the gripper 61 in the camera coordinate system, respectively. Note that since the relative positional relationship between the imaging sensor 10 and the grip portion 61 is constant, the position T tool-cam and the rotation R tool-cam are constant values regardless of the past frame or the current frame. . Therefore, the position T tool-cam and the rotation R tool-cam can be obtained by measuring in advance.
  • the estimation unit 306 can estimate the position and orientation of the object 2 in the current frame through steps S3001 and S3002.
  • the estimation unit 306 needs to know the position and orientation of the object 2 in a plurality of past frames (two points in time) in order to estimate the position and orientation of the object in the current frame.
  • the estimation unit 306 can estimate the position and orientation of the object 2 in the current frame if the position and orientation of the object 2 and the robot 60 can be grasped in one past frame. That is, the estimating unit 306 can estimate the position and orientation of the object 2 in the current frame by measuring at one point in time.
  • the recognition system 1 can execute recognition processing more efficiently than in the first embodiment when recognizing the position and orientation of the object 2 .
  • the recognition system 1 estimates the position and orientation of the object 2 based on the measurement image measured by the moving imaging sensor 10, and to recognize the position and orientation of the object 2.
  • the recognition system 1 according to each embodiment can be applied. can. That is, even in such a case, the recognition system 1 calculates the current position of the object 2 based on the past position and orientation of the object 2 by the method (estimation method: recognition method) described in the first or second embodiment. Posture can be estimated.
  • the recognition system 1 (estimating unit 306) according to each embodiment further uses the settings for the object 2 (moving speed, acceleration, and motion trajectory setting information) in addition to the past posture position of the object 2 to obtain the current position. , the position and orientation of the object 2 may be estimated. Further, the recognition system 1 (estimating unit 306) may estimate the current position and orientation of the object 2 based on the setting of the posture change of the robot 60 (encoder values and acceleration of joints, setting information of motion trajectory).
  • a recognition device (30) characterized in that it comprises:
  • a recognition method for recognizing the position and orientation of a predetermined object in the measurement image by comparing a measurement image representing a result of measuring a measurement range including the predetermined object with a three-dimensional model of the predetermined object, , an estimation step (S2001, S2002, S2003) of estimating the current position and orientation of the predetermined object based on the position and orientation of the predetermined object recognized in the past; Using the position and orientation estimated in the estimation step as an initial value of the position and orientation of the three-dimensional model of the predetermined object, according to the result of fitting the three-dimensional model to the predetermined object in the measurement image, the a recognition step of recognizing the position and orientation of the predetermined object in the measurement image (S2006); A recognition method characterized by having

Abstract

所定の物体を含む計測範囲を計測した結果を表す計測画像と前記所定の物体の3次元モデルとを比較することによって、前記計測画像における前記所定の物体の位置姿勢を認識する認識装置は、過去において前記認識装置が認識した前記所定の物体の位置姿勢に基づき、現在における前記所定の物体の位置姿勢を推定する推定手段と、前記推定手段が推定した位置姿勢を前記所定の物体の前記3次元モデルの位置姿勢の初期値として、前記3次元モデルを前記計測画像における前記所定の物体に合わせ込んだ結果に応じて、前記計測画像における前記所定の物体の位置姿勢を認識する認識手段と、を有する。

Description

認識装置、ロボット制御システム、認識方法、およびプログラム
 本発明は、認識装置、ロボット制御システム、認識方法、およびプログラムに関する。
 従来、各姿勢の或る物体の特徴を示すテンプレートと、撮像装置が当該物体を撮像して取得した画像(計測画像)とを照合することによって、当該物体の位置姿勢を認識(推定)することが行われている。
 特許文献1では、距離センサから得た距離に応じてテンプレートのサイズを変えて、照合を行うシステムが開示されている。これによれば、システムが保持するテンプレートの数を少なくすることができる。そして、距離に応じてテンプレートを選択することにより照合回数を少なくすることができる。
米国特許第9659217号明細書
 しかし、特許文献1のようにテンプレートの数を少なくしても、物体の姿勢ごとにテンプレートを用意して、それぞれのテンプレートと画像とを照合しなければならないため、未だに多くの回数の照合が必要であった。このため、物体の位置姿勢を推定するために、多くの処理が必要であった。
 そこで、本発明は、物体を計測した計測画像を用いて、物体の位置姿勢を推定する場合に、処理数を低減できる技術を提供することを目的とする。
 上記目的を達成するために本発明は、以下の構成を採用する。
 すなわち、本発明の一側面に係る認識装置は、所定の物体を含む計測範囲を計測した結果を表す計測画像と前記所定の物体の3次元モデルとを比較することによって、前記計測画像における前記所定の物体の位置姿勢を認識する認識装置であって、過去において前記認識装置が認識した前記所定の物体の位置姿勢に基づき、現在における前記所定の物体の位置姿勢を推定する推定手段と、前記推定手段が推定した位置姿勢を前記所定の物体の前記3次元モデルの位置姿勢の初期値として、前記3次元モデルを前記計測画像における前記所定の物体に合わせ込んだ結果に応じて、前記計測画像における前記所定の物体の位置姿勢を認識する認識手段と、を有することを特徴とする認識装置である。
 このような構成によれば、テンプレートを用いずに、高速に物体の位置姿勢を推定することができる。そして、3次元モデルと計測画像の比較の前に、物体の位置姿勢を大まかに把握することができるので、比較における3次元モデルの物体の位置姿勢の範囲を限定することができる。従って、より高速に、かつ、より効率的に、物体の位置姿勢の認識をすることができる。
 上記認識装置において、前記計測範囲を設定する設定手段をさらに有し、前記推定手段は、さらに、前記推定手段が推定した位置または位置姿勢に基づき前記所定の物体が存在する範囲である推定範囲を推定し、前記設定手段は、前記推定範囲を前記計測範囲として設定してもよい。これによれば、計測範囲を限定することができるので、より高速に計測画像を取得することが可能になる。
 上記認識装置において、前記推定手段は、過去の少なくとも2つの時点間における前記所定の物体の位置姿勢の変化に基づき、現在における前記所定の物体の位置姿勢を推定してもよい。これによれば、簡単な方法(つまり、少ないステップ)で所定の物体の位置姿勢を推定できる。このため、さらに、高速に、かつ、効率的に、物体の位置姿勢の認識をすることができる。
 上記認識装置において、前記計測画像は、撮像センサによって計測された結果を表し、前記撮像センサの位置姿勢は、ロボットによって制御され、前記推定手段は、過去における前記所定の物体の位置姿勢と現在におけるロボットの位置姿勢とに基づき、現在における前記所定の物体の位置姿勢を推定してもよい。これによれば、過去の1つの時点の所定の物体の位置姿勢しか推定に用いることができない場合にも、現在における前記所定の物体の位置姿勢を推定できる。
 上記認識装置において、前記計測画像は、被写体までの距離を各画素が表す距離画像であってもよい。
 上記認識装置において、前記過去における前記所定の物体の位置姿勢の前記認識手段による認識結果が存在しない場合には、前記推定手段は、現在における前記所定の物体の位置姿勢を推定せず、前記認識手段は、前記所定の物体の特徴量を示す複数のテンプレートのそれぞれと前記計測画像との照合結果に応じて前記所定の物体の位置姿勢を認識してもよい。これによれば、過去の所定の物体の位置姿勢の認識結果がない場合にも、現在における前記所定の物体の位置姿勢を推定できる。
 また、上記認識装置と、前記計測範囲を計測する撮像センサと、前記認識装置が認識した結果に基づき、前記所定の物体の位置姿勢を制御するロボットと、を有することを特徴とするロボット制御システムであってもよい。これによれば、高速に所定の物体の位置姿勢を認識できるため、ロボットを効率的に制御することができる。
 本発明は、上記手段の少なくとも一部を有する装置として捉えてもよいし、電子機器や制御システム、情報処理システム、情報処理装置、認識装置、認識システム、ロボットとして捉えてもよい。また、本発明は、上記処理の少なくとも一部を含む制御方法、照合方法、認識方法、ロボット制御方法として捉えてもよい。また、本発明は、かかる方法を実現するためのプログラムやそのプログラムを非一時的に記録した記録媒体(記憶媒体)として捉えることもできる。なお、上記手段および処理の各々は可能な限り互いに組み合せて本発明を構成することができる。
 本発明によれば、物体を計測した計測画像を用いて、物体の位置姿勢を推定する場合に、処理数を低減できる。
図1は、実施形態1に係る認識システムを説明する図である。 図2は、実施形態1に係るテンプレート生成装置と認識装置の構成図である。 図3は、実施形態1に係る物体の位置姿勢の認識処理のフローチャートである。 図4は、実施形態1に係る過去情報を用いた認識処理のフローチャートである。 図5は、実施形態2に係る過去情報を用いた認識処理のフローチャートである。 図6は、認識システムの座標系を説明する図である。 図7は、認識システムの他の構成を説明する図である。
 以下、本発明を実施するための実施形態について図面を用いて記載する。
<適用例>
 以下では、或る物体の3次元モデル(3次元データ)に基づく当該物体の特徴量を示すテンプレートと、撮像センサが当該物体を計測した結果を表す画像(計測画像)とを照合する認識システム1は、過去の物体の位置姿勢に応じて現在の物体の位置姿勢を推定する。そして、認識システム1は、推定した位置姿勢を初期値にした物体の3次元モデル(3次元データ)と計測画像とを比較することによって、物体の位置姿勢を認識する。なお、位置姿勢とは、以下の実施形態では、位置および姿勢であるが、技術的な矛盾が生じなければ、位置または姿勢であってもよい。
 これによれば、テンプレートを用いずに、高速に物体の位置姿勢を推定することができる。そして、3次元モデルと計測画像の比較の前に、物体の位置姿勢を大まかに把握することができるので、比較における3次元モデルの物体の位置姿勢の範囲を限定することができる。従って、より高速に、かつ、より効率的に、物体の位置姿勢の認識をすることができる。
<実施形態1>
[認識システムの構成]
 図1を参照して、実施形態1に係る認識システム1の構成を説明する。認識システム1は、物体2(所定の物体)についての3次元モデルと物体2を計測した結果を表す計測画像とを比較することによって、物体2の位置姿勢を認識する。認識システム1は、撮像センサ10、テンプレート生成装置20、認識装置30、記憶装置40、ロボット制御装置50、ロボット60を有する。また、認識システム1は、把持物体3を物体2に接続するロボット60を制御するロボット制御システムでもある。
 撮像センサ10は、現在の物体2を含む計測範囲を計測することによって計測画像を取得する。本実施形態では、撮像センサ10は、左レンズを介して被写体を撮像した画像と右レンズを介して被写体を撮像した画像を取得し、その2つの画像(左右画像)の差異を比較することによって、距離画像を計測画像として取得する3次元センサである。距離画像は、各画素が撮像センサ10から被写体までの距離を示す。なお、撮像センサ10は、三角測量計測やToF(Time of Flight)方式など任意の方法によって、距離画像を取得してよい。また、計測画像は、各画素が被写体の温度を示す温度画像であってもよいし、通常の光学画像(被写体の色や輝度を表現した画像)であってもよい。
 テンプレート生成装置20は、物体2を事前に計測した3次元モデル、または、物体2を設計する際に用いた物体2の3次元モデルに基づき、物体2の特徴量を示すテンプレートを生成する。例えば、3次元モデル(3次元データ)は、点群データによって物体2を表現するデータでもよいし、CADデータのように物体2の形状や構造を定義するデータでもよい。
 認識装置30は、撮像センサ10が取得した計測画像を用いて、物体2の現在の位置姿勢の推定処理を行う。また、認識装置30は、推定結果に基づき、物体2の現在の位置姿勢を認識する。
 記憶装置40は、物体2の3次元モデル、テンプレート生成装置20が生成したテンプレート、認識装置30が照合した照合結果、または/および認識装置30が認識した物体2の位置姿勢の情報を記憶(記録)する。記憶装置40は、ハードディスク(HDD)やメモリ(RAM;Ramdom Access Memory)を有するサーバなどであり得る。また、記憶装置40は、テンプレート生成装置20および認識装置30に対して抜き差し可能な記憶媒体であってもよい。記憶装置40には、互いに異なる姿勢の物体2(互いに異なる視点から見た物体2)の特徴を表す複数のテンプレートが記憶される。
 ロボット制御装置50は、物体2の位置姿勢の認識結果に基づき、ロボット60の姿勢(位置姿勢)を制御する。ロボット制御装置50は、ロボット60の把持部61によって把持された把持物体3が物体2に接続するように、ロボット60の姿勢を制御する。
 ロボット60は、ロボット制御装置50によって姿勢が制御される。ロボット60は、把持物体3を把持する把持部61と、ロボット60の端部を固定する土台62を有する。従って、ロボット60は、把持物体3の位置姿勢を制御することができる。また、把持部61の一部において、撮像センサ10が固定(接続)される。
(テンプレート生成装置の内部構成)
 図2を参照して、テンプレート生成装置20の内部構成を説明する。テンプレート生成装置20は、制御部201、情報取得部202、投影画像生成部203、特徴量算出部204、テンプレート生成部205、情報出力部206を有する。
 制御部201は、非一時的に記憶媒体に記憶されたプログラムに従って、テンプレート生成装置20の各機能部を制御する。
 情報取得部202は、物体2の3次元モデル(3次元データ;3次元画像データ)を取得する。情報取得部202は、物体2の3次元モデルを、記憶装置40から取得してもよいし、他の外部装置から取得してもよい。また、情報取得部202は、撮像センサ10の撮像パラメータ(カメラ焦点距離、画像の中心座標、レンズ歪みの補正係数)を取得する。
 投影画像生成部203は、3次元モデルを2次元画像に変換することによって投影画像を生成する。具体的には、投影画像生成部203は、各姿勢の物体2を2次元画像によって表した投影画像を生成する。このとき、撮像センサ10の撮像パラメータによって計測画像が変化するため、投影画像生成部203は、撮像パラメータによって補正した投影画像を生成する。
 特徴量算出部204は、3次元モデルまたは投影画像に基づき、投影画像における各画素(各領域)の特徴量を算出する。ここで、特徴量とは、エッジ特徴量(エッジ方向ヒストグラム)や、法線特徴量(法線方向ヒストグラム)でありえる。しかし、これに限らず、特徴量は、距離情報、温度情報、色彩情報であってもよい。
 テンプレート生成部205は、特徴量算出部204が算出した特徴量を各画素が示す2次元画像であるテンプレートを生成する。また、テンプレート生成部205は、テンプレートの基となった投影画像に対応する物体2の姿勢の情報を、当該テンプレートに付加する。
 情報出力部206は、テンプレート生成部205が生成したテンプレートを記憶装置40に出力する。
 なお、本実施形態では、投影画像生成部203は、3次元モデルから複数の投影画像を生成する。このとき、複数の投影画像は、互いに異なる姿勢の物体2を2次元画像によって表した画像である。その後、特徴量算出部204は、複数の投影画像のそれぞれに対して、特徴量を算出する。そして、テンプレート生成部205は複数の投影画像のそれぞれについてテンプレートを生成して、情報出力部206は、複数のテンプレートを記憶装置40に出力する。
(認識装置の内部構成)
 図2を参照して、認識装置30の内部構成について説明する。認識装置30は、制御部301、画像取得部302、情報取得部303、特徴量算出部304、範囲設定部305、推定部306、照合部307、認識部308、結果出力部309を有する。
 制御部301は、非一時的に記憶媒体に記憶されたプログラムに従って、認識装置30の各機能部を制御する。
 画像取得部302は、撮像センサ10から計測画像を取得する。なお、画像取得部302は、撮像センサ10から計測画像を取得する必要はなく、例えば、記憶装置40に記憶された計測画像を取得してもよい。
 情報取得部303は、記憶装置40から複数のテンプレートを取得する。
 特徴量算出部304は、計測画像の各画素(各領域)の特徴量を算出する。
 範囲設定部305は、物体2が存在する可能性のある範囲(推定部306が推定した推定範囲)を、撮像センサ10が計測する対象の範囲(計測範囲)に設定する。
 推定部306は、過去における物体2の位置姿勢に基づき、現在における物体2の位置姿勢を推定する。なお、推定部306は、時間および工数のかかるテンプレートを用いた照合を実行しない。このため、推定部306は、テンプレートを用いた照合によって物体2の位置姿勢を推定する場合よりも高速に、物体2の位置姿勢を推定できる。また、推定部306は、推定した物体2の位置または位置姿勢から、物体2が存在する可能性のある範囲(推定範囲)を推定する。推定範囲は、例えば、推定した物体2の位置を中心とした所定の大きさの直方体状、円柱状または球状などの任意の形状の範囲である。
 照合部307は、情報取得部303が取得したテンプレートと、計測画像との照合を行う。そして、照合部307は、合致度が所定値よりも大きければ、照合が成功したと判定する。一方、照合部307は、合致度が所定値よりも以下であれば、照合が失敗したと判定する。また、照合部307は、照合が成功したと判定された際のテンプレートから、大まかな物体2の位置姿勢を推定(認識)する。具体的には、照合部307は、テンプレートに付加された物体2の姿勢の情報と、計測時のロボット60の姿勢の情報とに基づき、物体2の位置姿勢を推定することができる。
 認識部308は、推定部306または照合部307が推定した物体2の位置姿勢を3次元モデルの物体2の位置姿勢の初期値として、3次元モデルの物体2を計測画像(計測データ)に現れる物体2に合わせ込む。この合わせ込みは、例えば、ICP(Iterative Closest Point)アルゴリズムを用いた3次元モデルの物体2と計測画像の物体2との各点の比較によって実現できる。認識部308は、3次元モデルを計測画像に合わせ込んだ結果に応じて、計測画像における詳細な物体2の位置姿勢を認識する。
 結果出力部309は、照合結果や物体2の位置姿勢の認識結果を記憶装置40や外部装置に出力する。物体2を駆動するためのロボット制御装置50などに結果出力部309が認識結果を出力すれば、ロボット制御装置50は、物体2の位置姿勢に応じて、ロボット60(把持物体3)を所定の位置姿勢にするための制御を行うことができる。
 また、テンプレート生成装置20および認識装置30は、例えば、CPU(プロセッサ)、メモリ、ストレージなどを備えるコンピュータにより構成することができる。その場合、図2に示す構成は、ストレージに格納されたプログラムをメモリにロードし、CPUが当該プログラムを実行することによって実現されるものである。かかるコンピュータは、パーソナルコンピュータ、サーバコンピュータ、タブレット端末、スマートフォンのような汎用的なコンピュータでもよいし、オンボードコンピュータのように組み込み型のコンピュータでもよい。あるいは、図2に示す構成の全部または一部を、ASICやFPGAなどで構成してもよい。あるいは、図2に示す構成の全部または一部を、クラウドコンピューティングや分散コンピューティングにより実現してもよい。
[物体の位置姿勢の認識処理]
 図3のフローチャートを用いて、認識装置30が物体2の位置姿勢を認識する認識処理を説明する。図3のフローチャートの各処理は、制御部301がプログラムを実行することによって実現できる。
 ステップS1001において、制御部301は、画像取得部302を制御して、撮像センサ10から左右画像(左レンズを介して被写体を撮像した画像と右レンズを介して被写体を撮像した画像)を取得する。また、制御部301は、情報取得部303を制御して、記憶装置40から複数のテンプレートおよび物体2の3次元モデルを取得する。ここで、複数のテンプレートはそれぞれ、物体2の互いに異なる姿勢に対応するテンプレート(多視点テンプレート)である。なお、制御部301は、撮像センサ10から撮像パラメータを取得してもよい。
 ステップS1002において、制御部301は、過去(過去のフレーム)における物体2の位置姿勢の認識結果が記憶装置40に記憶されているか否かを判定する。なお、過去(過去のフレーム)における物体2の位置姿勢の認識結果は、認識装置30の不図示の記憶部に記憶されていてもよく、制御部301は、過去における物体2の位置姿勢の認識結果が記憶部に記憶されているか否かを判定してもよい。過去における物体2の位置姿勢の認識結果が記憶されていると判定された場合にはステップS1006に進み、そうでない場合にはステップS1003に進む。
 ステップS1003において、制御部301は、左右画像の重複する全ての範囲について距離を計測するように撮像センサ10を制御して、計測画像を取得する(3次元計測をする)。具体的には、撮像センサ10は、左右画像の2つの間の対応する画素を特定して、対応する画素の位置の差を算出する。そして、撮像センサ10は、対応する画素の位置の差と、左右のレンズの位置の差とに基づき、三角測量の技術を用いて、被写体までの距離を計測する。これによって、撮像センサ10は、例えば、点群データを有するような距離画像である計測画像を取得できる。
 ステップS1004において、制御部301は、特徴量算出部304を制御して、計測画像から特徴量を取得する。
 ステップS1005において、制御部301は、照合部307を制御して、ステップS1001において取得した複数のテンプレートを用いて、物体2の大まかな位置姿勢を推定(認識)する。具体的には、まず、照合部307は、複数のテンプレートが示す特徴量と計測画像が示す特徴量とを比較することによって、照合を行う。例えば、照合部307は、計測画像の或る範囲とテンプレートとにおける各画素間での特徴量の差分Dの総合計Sum(D)の逆数1/Sum(D)を合致度として取得する。なお、これに限らず、任意の照合方法によって、合致度の取得が行われてよい。そして、照合部307は、合致度が最も高くなるテンプレートに対応する姿勢と、ロボット60の姿勢(撮像センサ10の位置姿勢)とに基づき、物体2の姿勢を推定する。また、照合部307は、計測画像において当該テンプレートと最も合致する位置と、ロボット60の姿勢とに基づき、物体2の位置を推定する。
 ステップS1006において、制御部301は、過去における物体2の位置姿勢の情報(過去情報)を用いた認識処理を実行する。過去情報を用いた認識処理の詳細については、図4のフローチャートを用いて後述する。
 ステップS1007において、制御部301は、ステップS1006における認識処理によって物体2の位置姿勢を認識できたか否かを判定する。物体2の位置姿勢を認識できたと判定された場合にはステップS1009に進み、そうでない場合にはステップS1003に進む。
 ステップS1008において、制御部301は、認識部308を制御して、物体2の3次元モデルと、計測画像との比較をして、計測画像における物体2の位置姿勢を詳細に認識する。具体的には、認識部308は、照合部307が推定した位置姿勢を初期値として、物体2の3次元モデルを計測画像に合わせ込むことにより、計測画像における物体2の位置姿勢を認識する。認識部308は、例えば、ICPアルゴリズムを用いて、3次元モデルと計測画像が示す物体2の各点の比較(マッチング)を行うことによって、物体2の3次元モデルを計測画像に合わせ込むことができる。
 ステップS1009において、制御部301は、結果出力部309を制御して、物体2の位置姿勢の情報を、記憶装置40に出力する。これによって、物体2の位置姿勢の情報が記憶装置40に記憶される。
(過去情報を用いた認識処理;ステップS1006)
 図4のフローチャートを用いて、ステップS1006において行われる過去情報を用いた認識処理について説明する。図4のフローチャートの各処理は、制御部301がプログラムを実行することによって実現できる。
 ステップS2001において、制御部301は、推定部306を制御して、過去における物体2の位置姿勢の認識結果に基づき、計測画像の過去の2つのフレーム間の物体2の位置姿勢の変化量(移動量および回転量)を算出する。具体的には、推定部306は、2つのフレーム間の物体2の位置姿勢の差分を変化量として算出すればよい。なお、推定部306は、3以上の時点の物体の位置姿勢の認識結果に基づき、フレーム間の物体2の位置姿勢の変化量を算出してもよい。
 ステップS2002において、制御部301は、推定部306を制御して、計測画像の過去の2つのフレーム間の物体2の変化量に基づき、前回フレームから現在フレームの間での物体2の変化量(推定変化量;移動量および回転量)を推定する。具体的には、推定部306は、例えば、過去の2つのフレーム間が複数フレーム分離れている場合には、計測画像の過去の2つのフレーム間の物体2の変化量を、当該過去の2つのフレーム間のフレーム数で除算することによって、推定変化量を算出(推定)する。
 ステップS2003において、制御部301は、推定部306を制御して、前回フレームの物体2の位置姿勢と、前回フレームから現在フレームの間での物体2の推定変化量とに基づき、現在フレームの物体2の位置姿勢を推定する。推定部306は、前回フレームの物体2の位置姿勢から、推定変化量の分だけ動いたと推定して、現在フレームの物体2の位置姿勢を推定する。このように、ステップS2003では、推定部306は、ステップS1005におけるテンプレートを用いた照合による物体2の位置姿勢の推定の代わりに、過去の物体2の位置姿勢に基づき、現在の物体2の位置姿勢を推定する。
 ステップS2004において、制御部301は、推定部306を制御して、推定した現在の物体の位置姿勢に基づき、現在フレームにおいて物体2が存在する可能性がある範囲(推定範囲)を推定する。例えば、推定部306は、ステップ2003において推定した物体2の位置を中心とする所定の大きさ(例えば、物体2の1.5倍や2倍の大きさ)の範囲を推定領域として決定する。そして、制御部301は、範囲設定部305を制御して、推定領域を、撮像センサ10が計測する範囲である計測範囲に設定する。
 ステップS2005において、制御部301は、撮像センサ10を制御して、ステップS2004において設定した計測範囲(推定範囲)のみを計測するように制御して、計測画像を取得する。これによれば、物体2が存在する可能性がある計測範囲のみが計測されるため、撮像センサ10による計測が効率化できる。
 具体的には、撮像センサ10は、左右画像のうちの計測範囲に対応する範囲においてのみ、対応する画素の位置の差を算出することによって、物体2の存在する可能性がある計測範囲のみを計測する。このため、左右画像のうち画素の位置の差の算出処理の対象となる画素の数を減らすことができる。また、撮像センサ10からの計測すべき距離が限定されるため、一方の画像の画素に対する他方の画像の画素の対応位置を探索する範囲が絞られる。つまり、左右画像間の対応する画素の算出に係る処理数も減少する。このように、撮像センサ10は、物体2が存在する可能性がある位置を含む所定の範囲についてのみ、計測を実行することができる。つまり、撮像センサ10では、物体2が存在する位置から遠い位置について計測することが不要になる。
 ステップS2006において、制御部301は、認識部308を制御して、物体2の3次元モデルと、計測画像との比較をして、物体2の位置姿勢を詳細に認識する。具体的には、認識部308は、照合部307が推定した位置姿勢を初期値として、物体2の3次元モデルを計測画像に合わせ込むことにより、計測画像における物体2の位置姿勢を認識する。認識部308は、ICPアルゴリズムを用いて、物体2の3次元モデルと計測画像が示す物体2の各点の比較(マッチング)を行うことによって、物体2の3次元モデルを計測画像に合わせ込むことができる。
 なお、ステップS2001~S2006の処理のうちいずれかが完了できなかった所定の場合には、図4のフローチャートの処理が終了し、物体2の位置姿勢を認識できなかったとして、ステップS1007においてステップS1003に進む。所定の場合とは、例えば、過去の1つのフレームの物体2の位置姿勢のみが記憶されており、ステップS2001において過去フレーム間の物体2の変化量が算出できない場合であり得る。また、所定の場合とは、計測範囲(推定範囲)内に物体2が存在しなかったことに起因して、ステップS2006において物体2の3次元モデルを計測画像に合わせ込むことができなかった場合であり得る。
 本実施形態によれば、過去における物体2の位置姿勢に基づき、大まかな物体2の位置姿勢を推定できるため、テンプレートと計測画像との照合処理をなくすことができる。従って、物体2の位置姿勢を認識する場合において、認識処理を効率化することができる。
<実施形態2>
 実施形態2では、ロボット60の位置姿勢に基づき、現在における物体2の位置姿勢を推定する認識システム1を説明する。実施形態2に係る認識システム1の構成は、実施形態1に係る認識システム1に係る構成と同様であるため、説明を省略する。実施形態2では、図2に示すステップS1006の処理(過去情報を用いた認識処理)のみが、実施形態1と異なるので、図5に示すフローチャートを用いて過去情報を用いた認識処理を説明する。
 ここで、認識システム1における座標系について説明する。認識システム1において、図6に示すように、ベース座標系、オブジェクト座標系、ツール座標系、カメラ座標系の4つの座標系が存在する。ベース座標系は、ロボット60の土台62を中心とする座標系であり、固定された座標系である。オブジェクト座標系は、物体2を中心とする座標系である。ツール座標系は、ロボット60の把持部61(または把持物体3)を中心とする座標系である。カメラ座標系は、撮像センサ10を中心とする座標系である。ここで、実施形態1に係る「物体2の位置姿勢」とは、カメラ座標系の物体2の位置姿勢であってもよいし、ベース座標系の物体2の位置姿勢であってもよい。
 図5は、実施形態2に係る過去情報を用いた認識処理を示すフローチャートである。図5において、ステップS2004~S2006の処理は、実施形態1に係るステップS2004~S2006の処理と同様である。このため、ステップS2004~S2006についての説明は省略する。
 ステップS3001において、制御部301は、推定部306を用いて、カメラ座標系の過去フレームの物体2の位置姿勢と、ベース座標系の過去フレームのロボット60(把持部61)の位置姿勢とに基づき、カメラ座標系の過去フレームの物体2の位置姿勢をベース座標系に変換する。具体的には、制御部301は、下記の式1によって、過去フレームのベース座標系の物体2における位置(並進)T’obj-baseと回転(姿勢)R’obj-baseを取得する。
Figure JPOXMLDOC01-appb-M000001
 式1において、位置T’obj-camと回転R’obj-camは、それぞれカメラ座標系の過去フレームの物体2の位置(座標)と回転(姿勢)である。なお、位置T’obj-camと回転R’obj-camは、認識装置30による過去の物体2の位置姿勢の認識結果である。位置T’tool-baseと回転R’tool-baseは、それぞれベース座標系の過去フレームの把持部61(ロボット60)の位置と回転である。位置Tcam-toolと回転Rcam-toolは、それぞれツール座標系の撮像センサ10の位置と回転である。なお、撮像センサ10と把持部61との相対的な位置関係は一定であるため、位置Tcam-toolと回転Rcam-toolは、過去フレームと現在フレームとを問わず、一定の値である。そのため、位置Tcam-toolと回転Rcam-toolは、事前に計測して取得することができる。
 ここで、オブジェクト座標系からベース座標系への変換ベクトルをlとし、オブジェクト座標系からカメラ座標系への変換ベクトルをmとする。そして、ツール座標系からカメラ座標系への変換ベクトルをnとし、ベース座標系からツール座標系への変換ベクトルをoとする。すると、l=m+n-1+o-1という式が成り立つ。これを、位置および回転によって表すと、式2のように表すことができる。これによって、式1の計算式が算出できる。
Figure JPOXMLDOC01-appb-M000002
 ステップS3002において、制御部301は、推定部306を用いて、ステップS3001にて算出した過去フレームのベース座標系の物体2の位置姿勢と、ツール座標系の現在フレームのロボット60(土台62)の位置姿勢とに基づき、カメラ座標系の現在フレームの物体2の位置姿勢を推定する。具体的には、制御部301は、下記の式3によって、過去フレームのカメラ座標系の物体2における位置Tobj-camと回転(姿勢)R’obj-camを取得する。
Figure JPOXMLDOC01-appb-M000003
 位置Tbase-toolと回転Rbase-toolは、それぞれツール座標系の現在フレームの土台62(ロボット60)の位置(座標)および回転(姿勢)である。位置Ttool-camと回転Rtool-camは、それぞれカメラ座標系の把持部61の位置および回転である。なお、撮像センサ10と把持部61との相対的な位置関係は一定であるため、位置Ttool-camと回転Rtool-camは、過去フレームと現在フレームとを問わず、一定の値である。そのため、位置Ttool-camと回転Rtool-camは、事前に計測して取得することができる。
 このように、ステップS3001およびS3002によって、推定部306は、現在フレームの物体2の位置姿勢を推定することができる。ここで、実施形態1では、推定部306は、現在フレームの物体の位置姿勢を推定するために、過去の複数のフレーム(2つの時点)の物体2の位置姿勢を把握している必要がある。一方、実施形態2によれば、推定部306は、過去の1つのフレームにおいて物体2やロボット60の位置姿勢が把握できていれば、現在フレームの物体2の位置姿勢を推定することができる。つまり、推定部306は、1つの時点での計測によって、現在フレームの物体2の位置姿勢を推定することができる。
 従って、実施形態2では、認識システム1は、実施形態1よりも効率的に、物体2の位置姿勢を認識する場合において、認識処理を実行することができる。
 なお、実施形態1および実施形態2では、認識システム1は、図1に示すように、移動する撮像センサ10によって計測した計測画像に基づき、物体2の位置姿勢を推定して、推定結果に応じて物体2の位置姿勢を認識する。しかし、図7に示すように、撮像センサ10の位置が固定されており、物体2の位置姿勢が時刻経過に応じて変化する場合にも、各実施形態に係る認識システム1を適用することができる。つまり、このような場合にも、認識システム1は、実施形態1または実施形態2に説明した方法(推定方法:認識方法)によって、過去の物体2の位置姿勢に基づき、現在の物体2の位置姿勢を推定することができる。
 また、各実施形態に係る認識システム1(推定部306)は、過去の物体2の姿勢位置に加えて、物体2に対する設定(移動速度や加速度、動作軌跡の設定情報)をさらに用いて、現在の物体2の位置姿勢を推定してもよい。さらに、認識システム1(推定部306)は、ロボット60の姿勢変化の設定(関節のエンコーダ値や加速度、動作軌跡の設定情報)に基づき、現在の物体2の位置姿勢を推定してもよい。
 なお、実施形態に記載された事項のみによって特許請求の範囲の記載の解釈が限定されるものではない。特許請求の範囲の記載の解釈には、出願時の技術常識を考慮した、発明の課題が解決できることを当業者が認識できるように記載された範囲も含む。
 (付記1)
 所定の物体を含む計測範囲を計測した結果を表す計測画像と前記所定の物体の3次元モデルとを比較することによって、前記計測画像における前記所定の物体の位置姿勢を認識する認識装置(30)であって、
 過去において前記認識装置(30)が認識した前記所定の物体の位置姿勢に基づき、現在における前記所定の物体の位置姿勢を推定する推定手段(306)と、
 前記推定手段(306)が推定した位置姿勢を前記所定の物体の前記3次元モデルの位置姿勢の初期値として、前記3次元モデルを前記計測画像における前記所定の物体に合わせ込んだ結果に応じて、前記計測画像における前記所定の物体の位置姿勢を認識する認識手段(308)と、
を有することを特徴とする認識装置(30)。
 (付記2)
 所定の物体を含む計測範囲を計測した結果を表す計測画像と前記所定の物体の3次元モデルとを比較することによって、前記計測画像における前記所定の物体の位置姿勢を認識する認識方法であって、
 過去において認識された前記所定の物体の位置姿勢に基づき、現在における前記所定の物体の位置姿勢を推定する推定ステップ(S2001,S2002,S2003)と、
 前記推定ステップにおいて推定された位置姿勢を前記所定の物体の前記3次元モデルの位置姿勢の初期値として、前記3次元モデルを前記計測画像における前記所定の物体に合わせ込んだ結果に応じて、前記計測画像における前記所定の物体の位置姿勢を認識する認識ステップ(S2006)と、
を有することを特徴とする認識方法。
1:認識システム、2:物体、3:把持物体、
10:撮像センサ、20:テンプレート生成装置、30:認識装置、
40:記憶装置、50:ロボット制御装置、60:ロボット、
61:把持部、62:土台、
201:制御部、202:情報取得部、203:投影画像生成部、
204:特徴量算出部、205:テンプレート生成部、206:情報出力部、
301:制御部、302:画像取得部、303:情報取得部、
304:特徴量算出部、305:範囲設定部、306:推定部、
307:照合部、308:認識部、309:結果出力部

Claims (9)

  1.  所定の物体を含む計測範囲を計測した結果を表す計測画像と前記所定の物体の3次元モデルとを比較することによって、前記計測画像における前記所定の物体の位置姿勢を認識する認識装置であって、
     過去において前記認識装置が認識した前記所定の物体の位置姿勢に基づき、現在における前記所定の物体の位置姿勢を推定する推定手段と、
     前記推定手段が推定した位置姿勢を前記所定の物体の前記3次元モデルの位置姿勢の初期値として、前記3次元モデルを前記計測画像における前記所定の物体に合わせ込んだ結果に応じて、前記計測画像における前記所定の物体の位置姿勢を認識する認識手段と、
    を有することを特徴とする認識装置。
  2.  前記計測範囲を設定する設定手段をさらに有し、
     前記推定手段は、さらに、前記推定手段が推定した位置または位置姿勢に基づき前記所定の物体が存在する範囲である推定範囲を推定し、
     前記設定手段は、前記推定範囲を前記計測範囲として設定する、
     ことを特徴とする請求項1に記載の認識装置。
  3.  前記推定手段は、過去の少なくとも2つの時点間における前記所定の物体の位置姿勢の変化に基づき、現在における前記所定の物体の位置姿勢を推定する、
     ことを特徴とする請求項1または2に記載の認識装置。
  4.  前記計測画像は、撮像センサによって計測された結果を表し、
     前記撮像センサの位置姿勢は、ロボットによって制御され、
     前記推定手段は、過去における前記所定の物体の位置姿勢と現在におけるロボットの位置姿勢とに基づき、現在における前記所定の物体の位置姿勢を推定する、
     ことを特徴とする請求項1から3のいずれか1項に記載の認識装置。
  5.  前記計測画像は、被写体までの距離を各画素が表す距離画像である、
     ことを特徴とする請求項1から4のいずれか1項に記載の認識装置。
  6.  前記過去における前記所定の物体の位置姿勢の前記認識手段による認識結果が存在しない場合には、
      前記推定手段は、現在における前記所定の物体の位置姿勢を推定せず、
      前記認識手段は、前記所定の物体の特徴量を示す複数のテンプレートのそれぞれと前記計測画像との照合結果に応じて前記所定の物体の位置姿勢を認識する、
     ことを特徴とする請求項1から5のいずれか1項に記載の認識装置。
  7.  請求項1から6のいずれか1項に記載の認識装置と、
     前記計測範囲を計測する撮像センサと、
     前記認識装置が認識した結果に基づき、前記所定の物体の位置姿勢を制御するロボットと、
    を有することを特徴とするロボット制御システム。
  8.  所定の物体を含む計測範囲を計測した結果を表す計測画像と前記所定の物体の3次元モデルとを比較することによって、前記計測画像における前記所定の物体の位置姿勢を認識する認識方法であって、
     過去において認識された前記所定の物体の位置姿勢に基づき、現在における前記所定の物体の位置姿勢を推定する推定ステップと、
     前記推定ステップにおいて推定された位置姿勢を前記所定の物体の前記3次元モデルの位置姿勢の初期値として、前記3次元モデルを前記計測画像における前記所定の物体に合わせ込んだ結果に応じて、前記計測画像における前記所定の物体の位置姿勢を認識する認識ステップと、
    を有することを特徴とする認識方法。
  9.  請求項8に記載の認識方法の各ステップをコンピュータに実行させるためのプログラム。
PCT/JP2021/047103 2021-03-10 2021-12-20 認識装置、ロボット制御システム、認識方法、およびプログラム WO2022190534A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-038144 2021-03-10
JP2021038144A JP2022138329A (ja) 2021-03-10 2021-03-10 認識装置、ロボット制御システム、認識方法、およびプログラム

Publications (1)

Publication Number Publication Date
WO2022190534A1 true WO2022190534A1 (ja) 2022-09-15

Family

ID=83226522

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/047103 WO2022190534A1 (ja) 2021-03-10 2021-12-20 認識装置、ロボット制御システム、認識方法、およびプログラム

Country Status (2)

Country Link
JP (1) JP2022138329A (ja)
WO (1) WO2022190534A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011027724A (ja) * 2009-06-24 2011-02-10 Canon Inc 3次元計測装置、その計測方法及びプログラム
JP2013036988A (ja) * 2011-07-08 2013-02-21 Canon Inc 情報処理装置及び情報処理方法
JP2013036987A (ja) * 2011-07-08 2013-02-21 Canon Inc 情報処理装置及び情報処理方法
JP2020135623A (ja) * 2019-02-22 2020-08-31 ファナック株式会社 物体検出装置、制御装置及び物体検出用コンピュータプログラム
JP2021012172A (ja) * 2019-07-09 2021-02-04 パナソニックIpマネジメント株式会社 画像処理装置および画像処理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011027724A (ja) * 2009-06-24 2011-02-10 Canon Inc 3次元計測装置、その計測方法及びプログラム
JP2013036988A (ja) * 2011-07-08 2013-02-21 Canon Inc 情報処理装置及び情報処理方法
JP2013036987A (ja) * 2011-07-08 2013-02-21 Canon Inc 情報処理装置及び情報処理方法
JP2020135623A (ja) * 2019-02-22 2020-08-31 ファナック株式会社 物体検出装置、制御装置及び物体検出用コンピュータプログラム
JP2021012172A (ja) * 2019-07-09 2021-02-04 パナソニックIpマネジメント株式会社 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
JP2022138329A (ja) 2022-09-26

Similar Documents

Publication Publication Date Title
JP5812599B2 (ja) 情報処理方法及びその装置
JP4556873B2 (ja) 画像照合システム及び画像照合方法
JP5839929B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
US7925048B2 (en) Feature point detecting device, feature point detecting method, and feature point detecting program
US20130051626A1 (en) Method And Apparatus For Object Pose Estimation
CN109472820B (zh) 单目rgb-d相机实时人脸重建方法及装置
WO2010137157A1 (ja) 画像処理装置、方法、プログラム
JP4709668B2 (ja) 3次元物体認識システム
JP6912215B2 (ja) 対象物の姿勢等を検出する検出方法、検出プログラム
JP2017123087A (ja) 連続的な撮影画像に映り込む平面物体の法線ベクトルを算出するプログラム、装置及び方法
GB2567245A (en) Methods and apparatuses for depth rectification processing
JP2018169660A (ja) オブジェクト姿勢検出装置、制御装置、ロボットおよびロボットシステム
CN113393524B (zh) 一种结合深度学习和轮廓点云重建的目标位姿估计方法
JP2018195070A (ja) 情報処理装置、情報処理方法、及びプログラム
JP4921847B2 (ja) 対象物の三次元位置推定装置
WO2022190534A1 (ja) 認識装置、ロボット制御システム、認識方法、およびプログラム
CN113056907A (zh) 拍摄方法、拍摄装置及存储介质
JP2006113832A (ja) ステレオ画像処理装置およびプログラム
CN116630423A (zh) 一种基于orb特征的微小型机器人多目标双目定位方法及系统
WO2022190533A1 (ja) テンプレート生成装置、照合システム、照合装置、テンプレート生成方法、照合方法およびプログラム
WO2019058487A1 (ja) 3次元復元画像処理装置、3次元復元画像処理方法及び3次元復元画像処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP2007034964A (ja) カメラ視点運動並びに3次元情報の復元及びレンズ歪パラメータの推定方法、装置、カメラ視点運動並びに3次元情報の復元及びレンズ歪パラメータの推定プログラム
CN113361400A (zh) 一种头部姿态估计方法、装置及存储介质
JP2004362128A (ja) モデル画像照合における3次元姿勢の補正手法
JP2010073138A (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: 21930379

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21930379

Country of ref document: EP

Kind code of ref document: A1