WO2019176450A1 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

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

Info

Publication number
WO2019176450A1
WO2019176450A1 PCT/JP2019/005762 JP2019005762W WO2019176450A1 WO 2019176450 A1 WO2019176450 A1 WO 2019176450A1 JP 2019005762 W JP2019005762 W JP 2019005762W WO 2019176450 A1 WO2019176450 A1 WO 2019176450A1
Authority
WO
WIPO (PCT)
Prior art keywords
dimensional
information
unit
model
template
Prior art date
Application number
PCT/JP2019/005762
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 CN201980012034.3A priority Critical patent/CN111742349B/zh
Priority to US16/975,389 priority patent/US11823414B2/en
Priority to EP19766825.4A priority patent/EP3767589A4/en
Publication of WO2019176450A1 publication Critical patent/WO2019176450A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects

Definitions

  • the present invention relates to an information processing apparatus, an information processing method, and a program.
  • Patent Document 1 a plurality of box-shaped arms are photographed from information, an entire image is acquired to detect an edge portion of the box-shaped workpiece, and a three-dimensional shape of the plurality of box-shaped workpieces is point clouded by a distance sensor. It is described to measure as.
  • point group information of measurement points by a distance sensor is extracted, and the position and orientation of each box-shaped workpiece are recognized from a three-dimensional shape based on the point group information.
  • a container in which a target member is contained often has a narrow edge. If the edge is thin, it is difficult to obtain the three-dimensional point group information by a distance sensor as described in Patent Document 1 because it is difficult to reflect the irradiation light at the edge of the box-shaped workpiece. For example, when the industrial robot fails to recognize the container, there may be a problem that the arm of the industrial robot hits the edge of the container.
  • Some aspects of the present invention have been made in view of the above-described problems, and an object thereof is to provide an information processing apparatus, an information processing method, and a program capable of recognizing a three-dimensional position and orientation with high accuracy.
  • an object thereof is to provide an information processing apparatus, an information processing method, and a program capable of recognizing a three-dimensional position and orientation with high accuracy.
  • An information processing apparatus includes a first input unit that receives input of three-dimensional model information for generating a three-dimensional model of a recognition target object, and the recognition target object based on the three-dimensional model information.
  • a template generation unit that generates a two-dimensional template indicating the shape of the upper edge, and generates coordinate relationship information indicating the relationship between the three-dimensional coordinates of the three-dimensional model and the two-dimensional coordinates when the three-dimensional model is photographed
  • a coordinate relationship specifying unit a second input unit that receives an input of a photographed image obtained by photographing the recognition object, a matching unit that matches the photographed image and the two-dimensional template, and a two-dimensional matching result by the matching unit
  • the three-dimensional position and orientation of the recognition object are recognized by referring to the coordinate relation information with respect to the recognition object of the captured image detected according to And a recognition unit.
  • a two-dimensional template is generated, and the two-dimensional position and orientation of the recognition target are detected according to matching between the captured image and the two-dimensional template. It is difficult to measure 3D coordinates for objects with narrow widths or materials that easily reflect light regularly, but because the 3D position and orientation of the recognition target are detected based on the 2D matching process, high accuracy is achieved. Can recognize the posture position of the recognition object.
  • the information processing method according to the configuration is applied to the recognition of the posture position of a container that is a recognition target in an industrial robot having an arm, the robot accompanying the collision of the robot arm with the container It is possible to prevent a situation such as breakage of the arm and / or the container.
  • An information processing method includes a process of receiving input of 3D model information for generating a 3D model of a recognition object, and an upper edge portion of the recognition object based on the 3D model information.
  • the information processing apparatus performs processing for recognizing the three-dimensional position and orientation of the recognition target object by referring to the coordinate relationship information.
  • a two-dimensional template is generated, and the two-dimensional position and orientation of the recognition target are detected according to matching between the captured image and the two-dimensional template. It is difficult to measure 3D coordinates for objects with narrow widths or materials that easily reflect light regularly, but because the 3D position and orientation of the recognition target are detected based on the 2D matching process, high accuracy is achieved. Can recognize the posture position of the recognition object.
  • the information processing method according to the configuration is applied to the recognition of the posture position of a container that is a recognition target in an industrial robot having an arm, the robot accompanying the collision of the robot arm with the container It is possible to prevent a situation such as breakage of the arm and / or the container.
  • the program according to one aspect of the present invention is based on a process of receiving input of 3D model information for generating a 3D model of a recognition object and the shape of the upper edge of the recognition object based on the 3D model information.
  • a process for generating a two-dimensional template indicating the position a process for generating coordinate relationship information indicating the relationship between the three-dimensional coordinates of the three-dimensional model and the two-dimensional coordinates when the three-dimensional model is photographed, and the recognition target Processing for receiving an input of a photographed image obtained by photographing an object, processing for matching the photographed image and the two-dimensional template, and for the recognition object of the photographed image detected according to a two-dimensional matching result,
  • the information processing apparatus is caused to execute processing for recognizing the three-dimensional position and orientation of the recognition object by referring to the coordinate relationship information.
  • a two-dimensional template is generated, and the three-dimensional position and orientation of the recognition target object are detected according to matching between the captured image and the two-dimensional template. It is difficult to measure 3D coordinates for objects with narrow widths or materials that easily reflect light regularly, but because the 3D position and orientation of the recognition target are detected based on the 2D matching process, high accuracy is achieved.
  • “part”, “means”, “apparatus”, and “system” do not simply mean physical means, but “part”, “means”, “apparatus”, “system”. This includes the case where the functions possessed by "are realized by software. Further, even if the functions of one “unit”, “means”, “apparatus”, and “system” are realized by two or more physical means or devices, two or more “parts” or “means”, The functions of “device” and “system” may be realized by a single physical means or device.
  • 5 is a flowchart illustrating an example of a processing procedure of the information processing apparatus according to the embodiment. 5 is a flowchart illustrating an example of a processing procedure of the information processing apparatus according to the embodiment. 5 is a flowchart illustrating an example of a processing procedure of the information processing apparatus according to the embodiment. 5 is a flowchart illustrating an example of a processing procedure of the information processing apparatus according to the embodiment. 5 is a flowchart illustrating an example of a processing procedure of the information processing apparatus according to the embodiment.
  • the information processing apparatus can be used, for example, for recognizing a three-dimensional position and orientation of a container or the like containing a member that is an operation target of an industrial robot having an arm. If the three-dimensional position and orientation of the container can be recognized with high accuracy, the industrial robot can control the arm so that it does not collide with the container, so that damage due to the collision of the arm and / or the container can be prevented.
  • the recognition target object which the information processing apparatus concerning embodiment recognizes a three-dimensional position and orientation is not restricted to a container, the following description demonstrates centering on the case of a container.
  • the information processing apparatus generates a two-dimensional template indicating the shape of the upper edge of the container in advance, and then performs two-dimensional processing on a two-dimensional image including the container photographed by the camera, not three-dimensional information by a distance sensor or the like.
  • the upper edge of the container is detected by template matching.
  • the processing of the information processing apparatus according to the present embodiment includes two-dimensional template generation processing and three-dimensional position and orientation recognition processing using the generated two-dimensional template.
  • the two processes will be described.
  • the information processing apparatus receives input of 3D CAD information related to the 3D model of the container and analyzes the CAD information.
  • the information processing apparatus receives input of 3D CAD information related to the 3D model of the container and analyzes the CAD information.
  • FIG. 1 by specifying where the upper edge of the three-dimensional model of the container is and extracting the feature points of the upper edge, etc., as shown in FIG.
  • a two-dimensional template image that is a binarized two-dimensional image indicating the shape of the upper edge of the three-dimensional model of the container is generated.
  • the two-dimensional template image generated at this time corresponds to an upper edge image obtained by photographing the upper edge of the container 3D model when the virtual camera and the container 3D model are arranged in the virtual space. is there.
  • the information processing apparatus extracts feature points including portions other than the upper edge portion from the three-dimensional model of the container, and then the two-dimensional image obtained by capturing these feature points from the virtual camera arranged in the virtual space. To identify where it is located. Thereby, the correspondence relationship between the three-dimensional coordinates of the three-dimensional model of the container and the two-dimensional coordinates on the two-dimensional image photographed by the virtual camera is stored. The correspondence relationship corresponds to coordinate relationship information described later.
  • a square container is illustrated, but the present invention is not limited to this, and a round container, a container having a partition inside, and the like may be processed.
  • the information processing apparatus converts the captured image into a luminance image (or the input may be a luminance image), and as shown in FIG. Matching with a two-dimensional template generated in advance is performed.
  • the information processing apparatus is arranged at which position (x, y coordinate) on the captured image and at what rotation angle the container corresponding to the 3D model from which the 2D template is generated is generated. Can be recognized.
  • the information processing apparatus specifies the position of the feature point on the captured image with reference to the matched two-dimensional template. The three-dimensional position and orientation of the container are recognized by converting the positions of these feature points using the above-described coordinate relationship information.
  • the information processing apparatus 100 is large and includes a template generation unit 110, a DB (database) 130, and a recognition unit 150.
  • Each of these configurations may be realized as a program operating on a processor, or may be realized as dedicated hardware such as one or a plurality of semiconductors.
  • the information processing apparatus 100 may also be physically realized as a single computer or the like, or may be physically realized as a plurality of computers or the like.
  • the template generation unit 110 and the recognition unit 150 can be realized by different computers.
  • a hardware configuration, operation as a program, and the like when the template generation unit 110 and the recognition unit 150 are realized as programs will be described later with reference to FIG.
  • the template generation unit 110 includes a model input unit, a camera parameter input unit 113, an upper edge image generation unit 115, a coordinate relationship information generation unit 117, and an output unit 119.
  • the model input unit 111 receives a 3D CAD model of the container. Or each dimension value of a container may be inputted instead of a three-dimensional CAD model.
  • the model input unit 111 is an example of the “first input unit” in the present invention.
  • Each dimension value of the 3D CAD model and the container is an example of “3D model information” of the present invention.
  • a CAD model of a container that is input by the model input unit 111 or a container model generated from a dimension value is collectively referred to as a “three-dimensional container model”.
  • the camera parameter input unit 113 receives camera parameters related to a virtual camera that captures the 3D container model in a virtual space where the 3D container model is arranged.
  • the camera parameter can include information such as the relative position and direction of the virtual camera with respect to the three-dimensional container model and the angle of view.
  • the camera parameter may be set in accordance with the position and direction of the camera in the real environment arranged to capture the luminance image used when the recognition unit 150 recognizes the three-dimensional position and orientation of the container. .
  • the information processing apparatus 100 generates the two-dimensional template 131 by converting the upper edge image that is a result of photographing the upper edge of the three-dimensional container model with the virtual camera.
  • the information processing apparatus 100 matches a captured image (corresponding to a luminance image described later) in the real environment with the two-dimensional template 131.
  • template generation is performed.
  • the two-dimensional template generated by the unit 110 can be used as it is, and the captured image and the two-dimensional template can be matched.
  • the relative position and orientation of the camera with respect to the actual environment container can be calculated by placing a marker with a known interval on the plane where the container is placed and recognizing the marker on the image captured by the actual environment camera. .
  • an image obtained by projecting an arbitrary plane of the space including the container onto the camera can be created.
  • the template generation unit 110 may set 2 The luminance image input to the recognition unit 150 based on the relative information of the position and angle of the position of the virtual camera used to generate the dimension template 131 and the camera used to capture the luminance image input to the recognition unit 150 And / or the two-dimensional template 131 may be converted. Processing for converting the luminance image and / or the two-dimensional template 131 according to the relative relationship of the cameras will be described later with reference to FIG.
  • the upper edge image generation unit 115 captures an image corresponding to the upper edge of the container (hereinafter referred to as “upper edge” when the three-dimensional container model is photographed in a virtual space with a virtual camera whose position is set by camera parameters. A partial image). More specifically, the upper edge image generation unit 115 first identifies where the upper edge of the 3D container model is based on the normal direction and height of the mesh that configures the 3D container model. . For example, among the meshes that make up the three-dimensional container model, the normal is oriented in a substantially vertical direction (at least upwards than in the horizontal direction), and the upper edge of the part higher than the surrounding meshes It can be specified as a part.
  • the upper edge image generation unit 115 is assumed to be generated when the upper edge is photographed from a virtual camera whose position and the like are specified by camera parameters. Is generated.
  • An example of generating the upper edge image is as shown in FIG.
  • the upper edge image generation unit 115 binarizes and extracts the edge of the upper edge image by luminance, thereby obtaining a two-dimensional template 131 for specifying the upper edge from the two-dimensional image captured in the real environment. Generate.
  • the two-dimensional template 131 does not necessarily have to be binarized and edge-extracted, but by performing such processing, the amount of information of the two-dimensional template 131 is reduced, and computation in matching processing using the same is performed. It is possible to reduce the amount.
  • the upper edge image generation unit 115 is an example of the “template generation unit” in the present invention.
  • the upper edge image generation unit 115 uses the two-dimensional template 131 or the upper edge image that is the origin of the two-dimensional template 131 to capture the direction of the virtual camera specified by the camera parameters and / or the luminance image in the real environment. It may be converted according to the direction of the camera to be used.
  • the coordinate relationship information generation unit 117 extracts a plurality of feature points from the three-dimensional container model, and then captures each of the plurality of feature points of the three-dimensional container model with a virtual camera whose position is specified by camera parameters. In this case, the relationship between the three-dimensional coordinates on the virtual space and the two-dimensional coordinates on the upper edge image is specified.
  • the coordinate relationship information generation unit 117 generates coordinate relationship information 133 indicating the specified relationship (the relationship between the three-dimensional coordinates and the two-dimensional coordinates of each feature point).
  • the output unit 119 outputs the two-dimensional template 131 generated by the upper edge image generation unit 115 and the coordinate relationship information 133 generated by the coordinate relationship information generation unit 117 to the arbitrary storage medium as the DB 130.
  • the recognition unit 150 includes a luminance image input unit 151, a template matching unit 153, a feature point coordinate calculation unit 155, a three-dimensional position and orientation calculation unit 157, and an output unit 159.
  • the luminance image input unit 151 receives an input of a luminance image in which a container for which a three-dimensional position and orientation is desired is captured in a real environment.
  • the luminance image input unit 151 is an example of the “second input unit” in the present invention.
  • the template matching unit 153 specifies a position corresponding to the upper edge of the container in the luminance image by matching the luminance image input from the luminance image input unit 151 with the two-dimensional template 131. Thereby, in the luminance image, it is possible to specify at which position (x, y) and at what angle the upper edge of the container is arranged. At this time, the template matching unit 153 may perform detailed alignment by ICP (Iterative Closest Point) processing after template matching.
  • ICP Intelligent Closest Point
  • the template matching unit 153 is an example of the “matching unit” in the present invention.
  • the feature point coordinate calculation unit 155 specifies the position (coordinate) of the feature point of the container in the luminance image with reference to the position and angle of the upper edge of the container specified by the template matching unit 153.
  • the three-dimensional position / orientation calculation unit 157 obtains the three-dimensional coordinates of each feature point of the container based on the feature point coordinates calculated by the feature point coordinate calculation unit 155 and the coordinate relationship information 133. As a result, the three-dimensional position / orientation calculation unit 157 can recognize the position and orientation of the container captured in the luminance image in the real space.
  • the three-dimensional position and orientation calculation unit 157 is an example of the “recognition unit” in the present invention.
  • the output unit 159 outputs 3D position and orientation information indicating the position and orientation of the container calculated by the 3D position and orientation calculation unit 157. For example, when an industrial robot receives the input of the three-dimensional position and orientation information, the position and orientation of the container are specified according to the information, and the robot is placed inside the container while controlling so that the arm does not collide with the container. The picked-up member can be picked up.
  • FIGS. 6 and 7 are flowcharts showing the flow of processing of the information processing apparatus 100.
  • processing steps described below may be executed in any order or in parallel as long as the processing contents do not contradict each other. Further, other steps may be added between the processing steps and executed. Further, a step described as one step for convenience can be executed by being divided into a plurality of steps, and a step described as being divided into a plurality of steps for convenience can be executed as one step. This also applies to the flowchart of FIG.
  • the model input unit 111 of the template generation unit 110 receives an input of a three-dimensional CAD model (S601). As described above, the model input unit 111 may receive an input of a container dimension value instead of the three-dimensional CAD model.
  • the camera parameter input unit 113 receives input of camera parameters that determine the position, direction, angle of view, etc. of the virtual camera that captures the three-dimensional container model in order to generate the two-dimensional template 131 (S603).
  • the upper edge image generation unit 115 applies a portion corresponding to the upper edge from the normal direction and height of the mesh constituting the 3D container model to the 3D container model received by the model input unit. Specify (S605). As described above, the upper edge image generation unit 115 is, for example, a portion in which the normal line of the mesh constituting the three-dimensional container model faces at least upward in the horizontal direction and is higher in height than the surrounding mesh. Can be the upper edge.
  • the upper edge image generation unit 115 generates an upper edge image corresponding to a shooting result when the upper edge of the three-dimensional container model is shot by a virtual camera whose position is specified by camera parameters. (S607).
  • the upper edge image generation unit 115 generates a two-dimensional template 131 for detecting the upper edge of the container from the two-dimensional captured image by binarizing and extracting an edge from the upper edge image. (S609).
  • the coordinate relationship information generation unit 117 extracts a plurality of feature points from the three-dimensional container model, and then converts the coordinates of the plurality of feature points in the three-dimensional virtual space and the feature points to the upper edge image.
  • the coordinate relationship information 133 indicating the relationship with the above two-dimensional coordinates is generated (S611).
  • the output unit 119 outputs the two-dimensional template 131 and the coordinate relationship information 133 generated in S609 and S611 to an arbitrary storage medium (S613).
  • the luminance image input unit 151 receives an input of a luminance image in which the container is photographed (S701).
  • the template matching unit 153 identifies the position and rotation angle of the upper edge portion of the container in the luminance image by matching the luminance image with a two-dimensional template of a container prepared in advance (S703).
  • the feature point coordinate calculation unit 155 calculates the two-dimensional coordinates of the feature points of the container in the luminance image with reference to the upper edge portion of the container specified by the template matching unit 153 (S705).
  • the three-dimensional position / orientation calculation unit 157 generates the three-dimensional coordinates of each feature point by converting the two-dimensional coordinates of each feature point in the luminance image identified in S705 using the coordinate relationship information 133 ( S707). Thereby, the three-dimensional position / orientation calculation unit 157 recognizes the position and orientation of the container captured in the luminance image in the real space.
  • the output unit 159 outputs position and orientation information indicating the calculated position and orientation of the container to the outside (S709).
  • the luminance image input unit 151 receives an input of a luminance image in which the container is photographed (S801). At this time, the luminance image input unit 151 converts the input luminance image into the position and direction of the virtual camera used when generating the two-dimensional template 131 and the position and direction of the camera used for photographing the luminance image. Conversion is performed according to the relative relationship (camera external parameters) with the direction or the like (S803). As a method of the conversion process, for example, planar projective conversion (homography conversion) or the like can be considered. Here, it is assumed that the image is converted into an image when the container is photographed from directly above. Further, the planar projective transformation parameter can be calculated from the virtual camera external parameter.
  • the template matching unit 153 specifies the position and rotation angle of the upper edge of the container in the converted input image by performing matching between the converted input luminance image and the two-dimensional template 131. (S805).
  • the processing of S807 and S809 is the same as the processing of S707 and S709 described with reference to FIG.
  • FIG. 9 schematically illustrates an example of a hardware configuration of the information processing apparatus 100 according to the present embodiment.
  • the information processing apparatus 100 illustrated in the example of FIG. 9 includes a control unit 901, a storage unit 905, a communication interface (I / F) unit 911, an input unit 913, and an output unit 915, and each unit is mutually connected via a bus line 917. Can be selected to communicate.
  • the control unit 901 includes a CPU (Central Processing Unit), a RAM (Random Access Memory) 903, a ROM (Read Only Memory), and the like, and controls each component according to information processing. More specifically, for example, the CPU that can be included in the control unit 501 reads the control program 907 from the storage unit 905 into the RAM 503 and executes the control program 907, whereby the template generation unit 110 and the recognition shown in FIG. The above-described various processes relating to the unit 150 can be executed.
  • a CPU Central Processing Unit
  • RAM Random Access Memory
  • ROM Read Only Memory
  • the storage unit 905 is an auxiliary storage device such as a hard disk drive (HDD) or a solid state drive (SSD), for example, and includes a control program 907 executed by the control unit 901, a database (DB) 130, and the like.
  • the DB 130 can manage the two-dimensional template 131, the coordinate relationship information 133, and the like.
  • information such as camera parameters on the DB 130.
  • the control program 907 is a program for executing the processing of the information processing apparatus 100 described with reference to FIGS. 1 to 8.
  • each configuration of the template generation unit 110 and the recognition unit 150 illustrated in FIG. 5 can be realized as the control program 907.
  • the communication I / F unit 911 is a communication module for communicating with other devices by, for example, wired or wireless.
  • the communication method used by the communication I / F unit 911 for communication with other devices is arbitrary, and examples include LAN (Local Area Network) and USB (Universal Serial Bus).
  • LAN Local Area Network
  • USB Universal Serial Bus
  • the input unit 913 is a device for accepting various input operations from the user, which can be realized by a mouse, a keyboard, a touch panel, or the like.
  • the output unit 915 is a device for informing various types of information to a user or the like who uses the information processing apparatus 100, for example, by a display or a speaker, such as a display or a speaker. For example, it is conceivable that the output unit 915 displays the recognition result of the container position and orientation by the recognition unit 150 to notify the user.
  • the information processing apparatus 100 generates, in advance, a two-dimensional template indicating the shape of the upper edge portion of a posture position recognition target object such as a container and the like.
  • the container position and the like are specified by matching the captured image with the two-dimensional template.
  • this embodiment simply detects the position and orientation of a recognition object such as a container only by matching processing with a 2D image. Therefore, the posture position of the recognition object can be detected with high accuracy.
  • the recognition target object is determined depending on whether another member is inserted or the number of inserted members. Since the appearance of the photographed image changes, it is difficult to detect by matching with the image of the entire container. However, in the information processing apparatus 100 according to the present embodiment, since the detection is performed using the image of the upper edge portion of the container, the posture position of the object is detected with high accuracy regardless of whether or not a member is inside. Is possible.
  • the information processing apparatus 100 detects the position and orientation of the container based on matching according to the two-dimensional information, the calculation is performed more than when detecting the position and orientation of the container using the three-dimensional information. It is possible to reduce the amount.
  • An information processing apparatus (100) comprising a recognition unit (157) for recognizing
  • (Appendix 2) A process of receiving input of 3D model information for generating a 3D model of the recognition object; A process of generating a two-dimensional template (131) corresponding to the upper edge image indicating the shape of the upper edge of the recognition object based on the three-dimensional model information; Processing for generating coordinate relationship information (133) indicating the relationship between the three-dimensional coordinates of the three-dimensional model and the two-dimensional coordinates when the three-dimensional model is photographed; A process of receiving an input of a photographed image obtained by photographing the recognition object; A process of matching the captured image with the two-dimensional template (131); The three-dimensional position and orientation of the recognition target are recognized by referring to the coordinate relationship information (133) for the recognition target of the photographed image detected according to the two-dimensional matching result by the matching unit.
  • An information processing method in which the information processing apparatus (100) performs processing.
  • (Appendix 3) A process of receiving input of 3D model information for generating a 3D model of the recognition object; A process of generating a two-dimensional template (131) corresponding to the upper edge image indicating the shape of the upper edge of the recognition object based on the three-dimensional model information; Processing for generating coordinate relationship information (133) indicating the relationship between the three-dimensional coordinates of the three-dimensional model and the two-dimensional coordinates when the three-dimensional model is photographed; A process of receiving an input of a photographed image obtained by photographing the recognition object; A process of matching the captured image with the two-dimensional template (131); The three-dimensional position and orientation of the recognition target are recognized by referring to the coordinate relationship information (133) for the recognition target of the photographed image detected according to the two-dimensional matching result by the matching unit.
  • DESCRIPTION OF SYMBOLS 100 Information processing apparatus, 110 ... Template generation part, 111 ... Model input part, 113 ... Camera parameter input part, 115 ... Upper edge image generation part, 117 ... Coordinate relationship information generation part, 119 ... Output part, 130 ... Database (DB), 131 ... 2D template, 133 ... Coordinate relationship information, 150 ... Recognition unit, 151 ... Luminance image input unit, 153 ... Template matching unit, 155 ... Feature point coordinate calculation unit, 157 ... 3D position and orientation calculation unit DESCRIPTION OF SYMBOLS 159 ... Output part, 901 ... Control part, 905 ... Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

3次元位置姿勢を高い精度で認識することのできる情報処理装置等を提供する。 認識対象物の3次元モデルを生成するための3次元モデル情報の入力を受ける第1入力部と、3次元モデル情報に基づき、前記認識対象物の上縁部の形状を示す2次元テンプレートを生成するテンプレート生成部と、前記3次元モデルの3次元座標と、当該3次元モデルを撮影したときの2次元座標との関係を示す座標関係情報を生成する座標関係特定部と、前記認識対象物を撮影した撮影画像の入力を受ける第2入力部と、前記撮影画像と前記2次元テンプレートとをマッチングするマッチング部と、前記マッチング部による2次元マッチング結果に応じて検出される前記撮影画像の前記認識対象物に対し、前記座標関係情報を参照することにより前記認識対象物の3次元位置及び姿勢を認識する認識部とを備える。

Description

情報処理装置、情報処理方法、及びプログラム
 本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
 近年、カメラ等で対象物を撮影し、当該撮影結果に応じて部材の位置を判別した上で、アームにより当該対象物を掴んだり組み立てたりするなどの操作を行う産業ロボットが普及しつつある。ここで、例えば、組み立て工場等においては、1種類の多数の部材を、コンテナと呼ばれる箱型部材の中に入れて運搬等することが多い。このコンテナの中に入った部材を、産業ロボットのアームで持ち上げる等の操作を行うためには、アームがコンテナの縁に当たらないように制御する必要がある。
 例えば特許文献1には、複数の箱型アームを情報から撮影して全体画像を取得して箱状ワークのエッジ部分を検出し、距離センサにより複数の箱型ワーク全体の3次元形状を点群として計測することが記載されている。当該手法では、距離センサによる計測点の点群情報を抽出し、当該点群情報に基づいて、3次元形状から各箱状ワークの位置と姿勢を認識する。
特許第5429614号
 ここで、対象物である部材が入るコンテナは、一般に縁が細いことが多い。縁が細いと、箱状ワークの縁で照射光の反射が得られにくくなる等の理由により、特許文献1で記載されているような距離センサにより3次元点群情報を取得することは難しい。例えば、産業ロボットがコンテナの認識に失敗すると、当該産業ロボットのアームがコンテナの縁に当たる等の不都合が生じる場合がある。
 本発明のいくつかの態様は前述の課題に鑑みてなされたものであり、3次元位置姿勢を高い精度で認識することのできる情報処理装置、情報処理方法、及びプログラムを提供することを目的の1つとする。
 本発明の一態様にかかる情報処理装置は、認識対象物の3次元モデルを生成するための3次元モデル情報の入力を受ける第1入力部と、3次元モデル情報に基づき、前記認識対象物の上縁部の形状を示す2次元テンプレートを生成するテンプレート生成部と、前記3次元モデルの3次元座標と、当該3次元モデルを撮影したときの2次元座標との関係を示す座標関係情報を生成する座標関係特定部と、前記認識対象物を撮影した撮影画像の入力を受ける第2入力部と、前記撮影画像と前記2次元テンプレートとをマッチングするマッチング部と、前記マッチング部による2次元マッチング結果に応じて検出される前記撮影画像の前記認識対象物に対し、前記座標関係情報を参照することにより前記認識対象物の3次元位置及び姿勢を認識する認識部とを備える。
 当該構成では、2次元テンプレートを生成し、撮影画像と当該2次元テンプレートとのマッチングに応じて、認識対象物の2次元位置及び姿勢を検出する。幅が細い物体や光が正反射しやすい素材でできた物体は3次元座標を計測しづらいが、2次元におけるマッチング処理に基づいて認識対象物の3次元位置及び姿勢を検出するため、高い精度で認識対象物の姿勢位置を認識することができる。これにより、例えば当該構成にかかる情報処理方法を、アームを持つ産業ロボットでの、認識対象物であるコンテナの姿勢位置の認識に適用した場合には、ロボットアームがコンテナに衝突することに伴うロボットアームおよび/またはコンテナの破損などの事態を防止することが可能である。
 本発明の一態様にかかる情報処理方法は、認識対象物の3次元モデルを生成するための3次元モデル情報の入力を受ける処理と、3次元モデル情報に基づき、前記認識対象物の上縁部の形状を示す2次元テンプレートを生成する処理と、前記3次元モデルの3次元座標と、当該3次元モデルを撮影したときの2次元座標との関係を示す座標関係情報を生成する処理と、前記認識対象物を撮影した撮影画像の入力を受ける処理と、前記撮影画像と前記2次元テンプレートとをマッチングする処理と、2次元マッチング結果に応じて検出される前記撮影画像の前記認識対象物に対し、前記座標関係情報を参照することにより前記認識対象物の3次元位置及び姿勢を認識する処理とを情報処理装置が行う。
 当該構成では、2次元テンプレートを生成し、撮影画像と当該2次元テンプレートとのマッチングに応じて、認識対象物の2次元位置及び姿勢を検出する。幅が細い物体や光が正反射しやすい素材でできた物体は3次元座標を計測しづらいが、2次元におけるマッチング処理に基づいて認識対象物の3次元位置及び姿勢を検出するため、高い精度で認識対象物の姿勢位置を認識することができる。これにより、例えば当該構成にかかる情報処理方法を、アームを持つ産業ロボットでの、認識対象物であるコンテナの姿勢位置の認識に適用した場合には、ロボットアームがコンテナに衝突することに伴うロボットアームおよび/またはコンテナの破損などの事態を防止することが可能である。
 本発明の一態様にかかるプログラムは、認識対象物の3次元モデルを生成するための3次元モデル情報の入力を受ける処理と、3次元モデル情報に基づき、前記認識対象物の上縁部の形状を示す2次元テンプレートを生成する処理と、前記3次元モデルの3次元座標と、当該3次元モデルを撮影したときの2次元座標との関係を示す座標関係情報を生成する処理と、前記認識対象物を撮影した撮影画像の入力を受ける処理と、前記撮影画像と前記2次元テンプレートとをマッチングする処理と、2次元マッチング結果に応じて検出される前記撮影画像の前記認識対象物に対し、前記座標関係情報を参照することにより前記認識対象物の3次元位置及び姿勢を認識する処理とを情報処理装置に実行させる。
 当該構成では、2次元テンプレートを生成し、撮影画像と当該2次元テンプレートとのマッチングに応じて、認識対象物の3次元位置及び姿勢を検出する。幅が細い物体や光が正反射しやすい素材でできた物体は3次元座標を計測しづらいが、2次元におけるマッチング処理に基づいて認識対象物の3次元位置及び姿勢を検出するため、高い精度で認識対象物の姿勢位置を認識することができる。これにより、例えば当該構成にかかるプログラムを、アームを持つ産業ロボットでの、認識対象物であるコンテナの姿勢位置の認識に適用した場合には、ロボットアームがコンテナに衝突することに伴うロボットアームおよび/またはコンテナの破損などの事態を防止することが可能である。
 なお、本発明において、「部」や「手段」、「装置」、「システム」とは、単に物理的手段を意味するものではなく、その「部」や「手段」、「装置」、「システム」が有する機能をソフトウェアによって実現する場合も含む。また、1つの「部」や「手段」、「装置」、「システム」が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」や「手段」、「装置」、「システム」の機能が1つの物理的手段や装置により実現されてもよい。
実施形態にかかる情報処理装置の処理の一例を説明するための図である。 実施形態にかかる情報処理装置の処理の一例を説明するための図である。 実施形態にかかる情報処理装置の処理の一例を説明するための図である。 実施形態にかかる情報処理装置の処理の一例を説明するための図である。 実施形態にかかる情報処理装置の構成の一例を模式的に例示するための図である。 実施形態にかかる情報処理装置の処理手順の一例を例示するフローチャートである。 実施形態にかかる情報処理装置の処理手順の一例を例示するフローチャートである。 実施形態にかかる情報処理装置の処理手順の一例を例示するフローチャートである。 実施形態にかかる情報処理装置の処理手順の一例を例示するフローチャートである。
 以下、図面を参照して本発明の実施形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
[1 適用例]
 まず、図1乃至図4を参照しながら、実施形態にかかる全体の概要を説明する。本実施形態にかかる情報処理装置は、例えば、アームを持つ産業ロボットの操作対象物である部材が入ったコンテナ等の3次元位置姿勢を認識するために利用することができる。コンテナの3次元位置姿勢を精度高く認識できれば、産業ロボットはアームをコンテナに衝突させないように制御することができるため、アームおよび/又はコンテナの衝突による破損を防ぐことができる。なお、実施形態にかかる情報処理装置が3次元位置姿勢を認識する認識対象物はコンテナに限られるものではないが、以下の説明ではコンテナである場合を中心に説明する。
 情報処理装置は、予めコンテナの上縁部の形状を示す2次元テンプレートを生成した上で、距離センサ等による3次元情報ではなく、カメラにより撮影されたコンテナを含む2次元画像に対して2次元テンプレートマッチングすることによりコンテナの上縁部を検出する。以下説明するように、本実施形態にかかる情報処理装置の処理は、2次元テンプレートの生成処理、及び、生成された2次元テンプレートを用いた3次元位置姿勢の認識処理とを含む。以下、当該2つの処理を説明する。
[1.1 2次元テンプレート生成処理]
 以下、図1及び図2を参照しながら2次元テンプレートの生成処理について説明する。情報処理装置は、まず、コンテナの3次元モデルに関する3次元CAD情報の入力を受け、当該CAD情報を解析する。これにより、図1に示すように、コンテナの3次元モデルの上縁部がどこであるかを特定した上で、当該上縁部の特徴点を抽出等することにより、図2に示すような、コンテナの3次元モデルの上縁部の形状を示す2値化2次元画像である2次元テンプレート画像を生成する。このとき生成される2次元テンプレート画像は、仮想空間内に仮想カメラとコンテナの3次元モデルを配置した際に、コンテナの3次元モデルの上縁部を撮影した上縁部画像に相当するものである。
 また情報処理装置は、コンテナの3次元モデルから上縁部以外の部分も含む特徴点を抽出した上で、それらの特徴点が、仮想空間内に配置された仮想カメラから撮影された2次元画像において、どこに位置するかを特定する。これにより、コンテナの3次元モデルの3次元座標と、仮想カメラにより撮影された2次元画像上の2次元座標との対応関係を記憶する。なお、当該対応関係は、後述する座標関係情報に相当する。
 なお、図1及び図2では、四角いコンテナを図示しているがこれに限られるものではなく、丸いコンテナや、内部に仕切りがあるコンテナ等を処理対象とすることも考えられる。
[1.2 認識処理]
 次に、実環境においてカメラ等が撮像した2次元の撮像画像に対する処理を図3及び図4を参照しながら説明する。カメラから図3に示すような撮像画像の入力を受けると、情報処理装置は当該撮像画像を輝度画像に変換した上で(或いは、入力を輝度画像としてもよい)、図4に示すように、予め生成された2次元テンプレートとのマッチングを行う。これにより情報処理装置は、2次元テンプレートが生成される元となる3次元モデルに相当するコンテナが、撮像画像上のどの位置(x,y座標)に、どのような回転角度で配置されているかを認識することができる。さらに情報処理装置は、撮像画像上の特徴点の位置を、マッチングした2次元テンプレートを基準として特定する。それらの特徴点の位置を、先述の座標関係情報を用いて変換することで、コンテナの3次元位置姿勢を認識する。
[2 構成例]
 以下、図5を参照しながら、本実施形態にかかる情報処理装置100の動作構成例を説明する。情報処理装置100は、大きく、テンプレート生成部110、DB(データベース)130、認識部150を含む。なお、これらの各構成は、プロセッサ上で動作するプログラムとして実現されてもよいし、或いは専用の1又は複数の半導体等のハードウェアとして実現されてもよい。また、情報処理装置100も、物理的に1つのコンピュータ等として実現されてもよいし、或いは物理的に複数のコンピュータ等として実現されてもよい。例えば、テンプレート生成部110と、認識部150とを別のコンピュータにより実現することができる。テンプレート生成部110や認識部150をプログラムとして実現する場合のハードウェア構成やプログラムとしての動作等については、図9を参照しながら後述する。
 テンプレート生成部110は、モデル入力部、カメラパラメータ入力部113、上縁部画像生成部115、座標関係情報生成部117、及び出力部119を含む。
 モデル入力部111は、コンテナの3次元CADモデルの入力を受ける。或いは、3次元CADモデルの代わりに、コンテナの各寸法値が入力されてもよい。ここで、モデル入力部111は本発明の「第1入力部」の一例である。3次元CADモデル及びコンテナの各寸法値は本発明の「3次元モデル情報」の一例である。なお、モデル入力部111で入力を受けたコンテナのCADモデル、或いは寸法値から生成されるコンテナのモデルを、総称して「3次元コンテナモデル」という。
 カメラパラメータ入力部113は、3次元コンテナモデルが配置される仮想空間上で当該3次元コンテナモデルを撮影する仮想カメラに関するカメラパラメータの入力を受ける。当該カメラパラメータは、3次元コンテナモデルに対する仮想カメラの相対的な位置や方向、画角等の情報を含むことができる。このとき、認識部150がコンテナの3次元位置姿勢を認識する際に用いる輝度画像を撮影するために配置される実環境のカメラの位置や方向等に合わせて当該カメラパラメータを設定してもよい。先述のとおり、情報処理装置100は、3次元コンテナモデルの上縁部を仮想カメラにより撮影した結果である上縁部画像を変換して2次元テンプレート131を生成する。情報処理装置100は、その上で実環境における撮影画像(後述の輝度画像に相当)と当該2次元テンプレート131とをマッチングする。このとき、2次元テンプレート131の生成の際に用いる仮想カメラの位置や角度等と、実環境における撮影画像を撮影する際に用いるカメラの位置や角度等とを略一致させておけば、テンプレート生成部110が生成した2次元テンプレートをそのまま用いて、撮影画像と2次元テンプレートとのマッチングを行うことができる。実環境のコンテナに対するカメラの相対的な位置や姿勢は、コンテナを設置する平面上に間隔が既知のマーカーを置き、実環境カメラで撮影した画像上においてマーカーを認識することで算出することができる。算出された実環境カメラの相対位置姿勢とコンテナの3次元モデル用いることで、コンテナを含む空間の任意平面をカメラに投影した画像を作成可能である。
 なお、もし2次元テンプレート131を生成する際に用いる仮想カメラの位置や方向等(カメラパラメータ)を、実環境におけるカメラの位置や方向と異なるものとして設定する場合には、テンプレート生成部110が2次元テンプレート131の生成に用いる仮想カメラの位置と、認識部150に入力される輝度画像の撮影に用いられるカメラとの位置や角度の相対的な情報に基づき、認識部150に入力される輝度画像および/又は2次元テンプレート131を変換すればよい。カメラの相対的な関係に応じて輝度画像および/又は2次元テンプレート131を変換する場合の処理については、図8を参照しながら後述する。
 上縁部画像生成部115は、3次元コンテナモデルを、カメラパラメータで位置等が設定される仮想カメラにより仮想空間上で撮影した場合の、コンテナの上縁部に相当する画像(以下「上縁部画像」という)を生成する。より具体的には、まず上縁部画像生成部115は、まず、3次元コンテナモデルを構成するメッシュの法線方向及び高さから、3次元コンテナモデルの上縁部がどこであるかを特定する。例えば、3次元コンテナモデルを構成する各メッシュのうち、法線が略鉛直方向を向いており(少なくとも水平方向よりは上方向を向いている)、かつ、周囲のメッシュよりも高い部分を上縁部として特定することが可能である。上縁部を特定した上で上縁部画像生成部115は、当該上縁部をカメラパラメータで位置等が特定される仮想カメラから撮影した場合に生成されることが想定される上縁部画像を生成する。上縁部画像の生成例は図2に示したとおりである。上縁部画像生成部115はさらに、上縁部画像を輝度により2値化及びエッジ抽出することにより、実環境で撮影された2次元画像から上縁部を特定するための2次元テンプレート131を生成する。なお、2次元テンプレート131は必ずしも2値化およびエッジ抽出されたものでなくともよいが、このような処理を行うことで2次元テンプレート131の情報量の低下、およびそれを用いたマッチング処理における演算量の低減を図ることが可能である。ここで、上縁部画像生成部115は、本発明の「テンプレート生成部」の一例である。
 なお、上縁部画像生成部115は、2次元テンプレート131、又はその元となる上縁部画像を、カメラパラメータで特定される仮想カメラの方向および/又は実環境での輝度画像の撮影に用いられるカメラの方向に応じて変換してもよい。
 座標関係情報生成部117は、3次元コンテナモデルから複数の特徴点を抽出した上で、当該3次元コンテナモデルの複数の特徴点の各々を、カメラパラメータにより位置などが特定される仮想カメラで撮影した場合の、仮想空間上での3次元座標と、上縁部画像上での2次元座標との関係を特定する。座標関係情報生成部117は、特定した当該関係(各特徴点の3次元座標と2次元座標との関係)を示す座標関係情報133を生成する。
 出力部119は、上縁部画像生成部115により生成された2次元テンプレート131、及び座標関係情報生成部117により生成された座標関係情報133を、任意の記憶媒体にDB130として出力する。
 認識部150は、輝度画像入力部151、テンプレートマッチング部153、特徴点座標算出部155、3次元位置姿勢算出部157、及び出力部159を含む。
 輝度画像入力部151は、実環境において、3次元位置姿勢を特定したいコンテナが撮影された輝度画像の入力を受ける。ここで、輝度画像入力部151は、本発明の「第2入力部」の一例である。
 テンプレートマッチング部153は、輝度画像入力部151から入力された輝度画像に対し、2次元テンプレート131とのマッチングを行うことにより、輝度画像中の、コンテナの上縁部に相当する位置を特定する。これにより、輝度画像において、コンテナの上縁部がどの位置(x,y)に、どのような角度で配置されているかを特定することができる。なおこのときテンプレートマッチング部153は、テンプレートマッチングの後に、ICP(Iterative Closest Point)処理により詳細な位置合わせを行ってもよい。ここで、テンプレートマッチング部153は、本発明の「マッチング部」の一例である。
 特徴点座標算出部155は、テンプレートマッチング部153により特定されるコンテナの上縁部の位置および角度を基準として、輝度画像中のコンテナの特徴点の位置(座標)を特定する。
 3次元位置姿勢算出部157は、特徴点座標算出部155が算出した特徴点の座標と、座標関係情報133とに基づいて、コンテナの各特徴点の3次元座標を求める。これにより3次元位置姿勢算出部157は、輝度画像で撮影されたコンテナの実空間中の位置及び姿勢を認識することができる。ここで、3次元位置姿勢算出部157は、本発明の「認識部」の一例である。
 出力部159は、3次元位置姿勢算出部157が算出したコンテナの位置及び姿勢を示す3次元位置姿勢情報を出力する。例えば産業ロボットが当該3次元位置姿勢情報の入力を受けると、当該情報に応じてコンテナの位置及び姿勢を特定した上で、当該コンテナにアームが衝突しないように制御しながら、コンテナ内部に載置された部材のピックアップ等を行うことができる。
[3 処理の流れ]
 続いて、図6及び図7を参照しながら、構成例1にかかる情報処理装置100の処理の流れを説明する。図6及び図7は、情報処理装置100の処理の流れを示すフローチャートである。
 なお、後述の各処理ステップは、処理内容に矛盾を生じない範囲で、任意に順番を変更して若しくは並列に実行されてもよい。また、各処理ステップ間に他のステップが追加されて実行されてもよい。さらに、便宜上1つのステップとして記載されているステップは複数のステップに分けて実行されることもでき、便宜上複数に分けて記載されているステップを1ステップとして実行されることもできる。この点、後述の図8のフローチャートについても同様である。
[3.1 2次元テンプレートの生成]
 まず、図6を参照しながら、テンプレート生成部110が行うテンプレート生成の処理の流れを説明する。
 テンプレート生成部110のモデル入力部111は、3次元CADモデルの入力を受ける(S601)。先述のとおり、モデル入力部111は、3次元CADモデルの代わりに、コンテナの寸法値の入力を受けてもよい。カメラパラメータ入力部113は、2次元テンプレート131を生成するために3次元コンテナモデルを撮影する仮想カメラの位置、方向、画角等を定めるカメラパラメータの入力を受ける(S603)。
 上縁部画像生成部115は、まず、モデル入力部で入力を受けた3次元コンテナモデルに対し、3次元コンテナモデルを構成するメッシュの法線方向及び高さから上縁部に相当する部分を特定する(S605)。先述のとおり、上縁部画像生成部115は、例えば、3次元コンテナモデルを構成するメッシュの法線が少なくとも水平方向よりは上側を向いており、かつ、周囲のメッシュよりも高さにおいて高い部分を上縁部とすることができる。
 また上縁部画像生成部115は、当該3次元コンテナモデルの上縁部が、カメラパラメータで位置などが特定される仮想カメラにより撮影された場合の撮影結果に相当する上縁部画像を生成する(S607)。
 さらに上縁部画像生成部115は、当該上縁部画像に対して2値化及びエッジ抽出等することにより、2次元撮影画像からコンテナの上縁部を検出するための2次元テンプレート131を生成する(S609)。
 座標関係情報生成部117は、3次元コンテナモデルから複数の特徴点を抽出した上で、当該複数の特徴点の各々の3次元仮想空間中での座標と、それらの特徴点を上縁部画像上での2次元座標との関係を示す、座標関係情報133を生成する(S611)。
 出力部119は、S609及びS611において生成された2次元テンプレート131及び座標関係情報133を任意の記憶媒体へと出力する(S613)。
[3.2 位置姿勢の認識処理]
 続いて、図7を参照しながら、認識部150が行う、コンテナが撮影された輝度画像に対するコンテナの3次元位置姿勢の認識処理の流れを説明する。
 まず、輝度画像入力部151は、コンテナが撮影された輝度画像の入力を受ける(S701)。テンプレートマッチング部153は、当該輝度画像に対し、予め用意されたコンテナの2次元テンプレートとのマッチングを行うことにより、輝度画像内におけるコンテナの上縁部の位置と回転角度とを特定する(S703)。その上で、特徴点座標算出部155は、テンプレートマッチング部153により特定されるコンテナの上縁部を基準として、輝度画像中のコンテナの特徴点の2次元座標を算出する(S705)。
 3次元位置姿勢算出部157は、S705において特定された輝度画像中の各特徴点の2次元座標を、座標関係情報133を用いて変換することで、各特徴点の3次元座標を生成する(S707)。これにより3次元位置姿勢算出部157は、輝度画像で撮影されたコンテナの実空間中の位置及び姿勢を認識する。
 出力部159は、算出されたコンテナの位置及び姿勢を示す位置姿勢情報を外部へと出力する(S709)。
[3.3 変形例]
 なお、図6及び図7を参照しながら説明した処理では、3次元コンテナモデルから2次元テンプレートを生成するためのカメラパラメータにより特定される仮想カメラの撮影位置や方向等と、実環境でのカメラの撮影位置や方向等とを略一致させる場合を中心に説明したが、これに限られるものではない。例えば、2次元テンプレートを撮影する仮想カメラの位置や方向等と、実環境においてコンテナを撮影するカメラの位置や方向等との相対的な関係がわかっていれば、当該関係に基づいて画像を変換した上で処理することも考えられる。
 例えば、3次元コンテナモデルを真上から仮想カメラで撮影して2次元テンプレートを生成した上で、真上以外の方向からコンテナが撮影された輝度画像に認識処理を行うことが考えられる。この場合の処理を、図8を参照しながら説明する。
 輝度画像入力部151は、コンテナが撮影された輝度画像の入力を受ける(S801)。このとき、輝度画像入力部151は、入力された輝度画像を、2次元テンプレート131を生成する際に用いられた仮想カメラの位置及び方向等と、輝度画像の撮影に用いられたカメラの位置及び方向等との相対的な関係(カメラ外部パラメータ)に応じて変換する(S803)。当該変換処理の方法としては、例えば、平面射影変換(ホモグラフィ変換)等が考えられる。ここでは、真上からコンテナを撮影した場合の画像に変換されるものとする。また、平面射影変換パラメータは、仮想カメラ外部パラメータから算出が可能である。
 テンプレートマッチング部153は、当該変換後の入力輝度画像と、2次元テンプレート131との間でマッチングを行うことにより、変換後の入力画像内におけるコンテナの上縁部の位置と回転角度とを特定する(S805)。S807及びS809の処理は、図7を参照しながら説明したS707及びS709の処理と同様である。
[4 ハードウェア構成]
 以下、図9を参照しながら、情報処理装置100を実現可能なハードウェア構成を説明する。図9は、本実施形態にかかる情報処理装置100のハードウェア構成の一例を模式的に例示する。
 図9の例に示す情報処理装置100は、制御部901、記憶部905、通信インタフェース(I/F)部911、入力部913、及び出力部915を含み、各部はバスライン917を介して相互に通信可能に選択され得る。
 制御部901は、CPU(Central Processing Unit)、RAM(Random Access Memory)903、ROM(Read Only Memory)等を含み、情報処理に応じて各構成要素の制御を行う。より具体的には、たとえば、制御部501に含まれ得るCPUは、記憶部905から制御プログラム907をRAM503へ読込み、当該制御プログラム907を実行することで、図5に示すテンプレート生成部110および認識部150に関する上述の各種処理を実行可能である。
 記憶部905は、例えばハード・ディスク・ドライブ(HDD)、ソリッド・ステート・ドライブ(SSD)等の補助記憶装置であり制御部901で実行される制御プログラム907、及び、データベース(DB)130等を記憶する。DB130では、先述のとおり、2次元テンプレート131や座標関係情報133等を管理することができる。この他、カメラパラメータ等の情報をDB130上に管理することも考えられる。
 制御プログラム907は、図1乃至図8を参照しながら説明した情報処理装置100の処理を実行させるためのプログラムである。特に、図5に示したテンプレート生成部110及び認識部150の各構成は、制御プログラム907として実現しうる。
 通信I/F部911は、例えば、有線又は無線により他の装置と通信するための通信モジュールである。通信I/F部911が他の装置との通信に用いる通信方式は任意であるが、例えば、LAN(Local Area Network)やUSB(Universal Serial Bus)等が挙げられる。例えば、図示しない産業ロボットへの3次元位置姿勢情報の出力等を、通信I/F部911を介して行うことが考えられる。
 入力部913は、例えば、マウスやキーボード、タッチパネル等で実現しうる、ユーザからの各種入力操作等を受け付けるためのデバイスである。出力部915は、例えば、ディスプレイやスピーカ等、表示や音声等により、情報処理装置100を利用するユーザ等へ各種情報を報知するための装置である。例えば、認識部150によるコンテナの位置姿勢の認識結果を出力部915が表示等することにより、ユーザに報知することが考えられる。
[5 実施形態にかかる効果]
 以上説明したように、本実施形態にかかる情報処理装置100は、例えばコンテナ等の、姿勢位置の認識対象物の上縁部の形状を示す2次元テンプレートを予め生成した上で、認識対象物の撮影画像に対して当該2次元テンプレートとのマッチングを行うことによりコンテナの位置等を特定する。幅が細い物体や光が反射しやすい素材でできた物体は3次元座標を検出しづらいが、本実施形態は単に2次元画像に対するマッチング処理のみでコンテナ等の認識対象物の位置及び姿勢を検出するため、高い精度で認識対象物の姿勢位置を検出することができる。
 また、特にコンテナ等の、内部に他の部材が入り得る部材が認識対象物である場合には、他の部材が入れられているかや、入れられた部材の数に応じて、認識対象物を撮影した場合の外観が変わるため、コンテナ全体の画像によるマッチング等では検出が難しい。しかしながら本実施形態にかかる情報処理装置100では、コンテナの上縁部の画像を用いて検出するため、内部に部材が入っているか否か等に関係なく、高い精度で対象物の姿勢位置を検出することが可能である。
 さらに、本実施形態にかかる情報処理装置100では、2次元情報に応じたマッチングに基づきコンテナの位置及び姿勢を検出するため、3次元情報を用いてコンテナの位置及び姿勢を検出する場合よりも演算量を低減することが可能である。
[6 付記]
 以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
 (付記1)
 認識対象物の3次元モデルを生成するための3次元モデル情報の入力を受ける第1入力部(111)と、
 3次元モデル情報に基づき、前記認識対象物の上縁部の形状を示す2次元テンプレート(131)を生成するテンプレート生成部(115)と、
 前記3次元モデルの3次元座標と、当該3次元モデルを撮影したときの2次元座標との関係を示す座標関係情報(133)を生成する座標関係特定部(117)と、
 前記認識対象物を撮影した撮影画像の入力を受ける第2入力部(151)と、
 前記撮影画像と前記2次元テンプレート(131)とをマッチングするマッチング部(153)と、
 前記マッチング部(153)による2次元マッチング結果に応じて検出される前記撮影画像の前記認識対象物に対し、前記座標関係情報(133)を参照することにより前記認識対象物の3次元位置及び姿勢を認識する認識部(157)と
を備える情報処理装置(100)。
 (付記2)
 認識対象物の3次元モデルを生成するための3次元モデル情報の入力を受ける処理と、
 3次元モデル情報に基づき、前記認識対象物の上縁部の形状を示す上縁部画像に応じた2次元テンプレート(131)を生成する処理と、
 前記3次元モデルの3次元座標と、当該3次元モデルを撮影したときの2次元座標との関係を示す座標関係情報(133)を生成する処理と、
 前記認識対象物を撮影した撮影画像の入力を受ける処理と、
 前記撮影画像と前記2次元テンプレート(131)とをマッチングする処理と、
 前記マッチング部による2次元マッチング結果に応じて検出される前記撮影画像の前記認識対象物に対し、前記座標関係情報(133)を参照することにより前記認識対象物の3次元位置及び姿勢を認識する処理と
を情報処理装置(100)が行う、情報処理方法。
 (付記3)
 認識対象物の3次元モデルを生成するための3次元モデル情報の入力を受ける処理と、
 3次元モデル情報に基づき、前記認識対象物の上縁部の形状を示す上縁部画像に応じた2次元テンプレート(131)を生成する処理と、
 前記3次元モデルの3次元座標と、当該3次元モデルを撮影したときの2次元座標との関係を示す座標関係情報(133)を生成する処理と、
 前記認識対象物を撮影した撮影画像の入力を受ける処理と、
 前記撮影画像と前記2次元テンプレート(131)とをマッチングする処理と、
 前記マッチング部による2次元マッチング結果に応じて検出される前記撮影画像の前記認識対象物に対し、前記座標関係情報(133)を参照することにより前記認識対象物の3次元位置及び姿勢を認識する処理と
を情報処理装置(100)に実行させるためのプログラム。
100…情報処理装置、110…テンプレート生成部、111…モデル入力部、113…カメラパラメータ入力部、115…上縁部画像生成部、117…座標関係情報生成部、119…出力部、130…データベース(DB)、131…2次元テンプレート、133…座標関係情報、150…認識部、151…輝度画像入力部、153…テンプレートマッチング部、155…特徴点座標算出部、157…3次元位置姿勢算出部、159…出力部、901…制御部、905…記憶部、907…制御プログラム、911…通信インタフェース(I/F)部、913…入力部、915…出力部、917…バスライン

Claims (3)

  1.  認識対象物の3次元モデルを生成するための3次元モデル情報の入力を受ける第1入力部と、
     3次元モデル情報に基づき、前記認識対象物の上縁部の形状を示す2次元テンプレートを生成するテンプレート生成部と、
     前記3次元モデルの3次元座標と、当該3次元モデルを撮影したときの2次元座標との関係を示す座標関係情報を生成する座標関係特定部と、
     前記認識対象物を撮影した撮影画像の入力を受ける第2入力部と、
     前記撮影画像と前記2次元テンプレートとをマッチングするマッチング部と、
     前記マッチング部による2次元マッチング結果に応じて検出される前記撮影画像の前記認識対象物に対し、前記座標関係情報を参照することにより前記認識対象物の3次元位置及び姿勢を認識する認識部と
    を備える情報処理装置。
  2.  認識対象物の3次元モデルを生成するための3次元モデル情報の入力を受ける処理と、
     3次元モデル情報に基づき、前記認識対象物の上縁部の形状を示す2次元テンプレートを生成する処理と、
     前記3次元モデルの3次元座標と、当該3次元モデルを撮影したときの2次元座標との関係を示す座標関係情報を生成する処理と、
     前記認識対象物を撮影した撮影画像の入力を受ける処理と、
     前記撮影画像と前記2次元テンプレートとをマッチングする処理と、
     2次元マッチング結果に応じて検出される前記撮影画像の前記認識対象物に対し、前記座標関係情報を参照することにより前記認識対象物の3次元位置及び姿勢を認識する処理と
    を情報処理装置が行う、情報処理方法。
  3.  認識対象物の3次元モデルを生成するための3次元モデル情報の入力を受ける処理と、
     3次元モデル情報に基づき、前記認識対象物の上縁部の形状を示す2次元テンプレートを生成する処理と、
     前記3次元モデルの3次元座標と、当該3次元モデルを撮影したときの2次元座標との関係を示す座標関係情報を生成する処理と、
     前記認識対象物を撮影した撮影画像の入力を受ける処理と、
     前記撮影画像と前記2次元テンプレートとをマッチングする処理と、
     2次元マッチング結果に応じて検出される前記撮影画像の前記認識対象物に対し、前記座標関係情報を参照することにより前記認識対象物の3次元位置及び姿勢を認識する処理と
    を情報処理装置に実行させるためのプログラム。
PCT/JP2019/005762 2018-03-14 2019-02-18 情報処理装置、情報処理方法、及びプログラム WO2019176450A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201980012034.3A CN111742349B (zh) 2018-03-14 2019-02-18 信息处理装置、信息处理方法以及信息处理存储介质
US16/975,389 US11823414B2 (en) 2018-03-14 2019-02-18 Information processing device, information processing method, and information processing non-transitory computer readable medium
EP19766825.4A EP3767589A4 (en) 2018-03-14 2019-02-18 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING PROCESS AND PROGRAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018046664A JP7161857B2 (ja) 2018-03-14 2018-03-14 情報処理装置、情報処理方法、及びプログラム
JP2018-046664 2018-03-14

Publications (1)

Publication Number Publication Date
WO2019176450A1 true WO2019176450A1 (ja) 2019-09-19

Family

ID=67906553

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/005762 WO2019176450A1 (ja) 2018-03-14 2019-02-18 情報処理装置、情報処理方法、及びプログラム

Country Status (5)

Country Link
US (1) US11823414B2 (ja)
EP (1) EP3767589A4 (ja)
JP (1) JP7161857B2 (ja)
CN (1) CN111742349B (ja)
WO (1) WO2019176450A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202233370A (zh) * 2021-02-18 2022-09-01 日商發那科股份有限公司 機器人系統及控制裝置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007333679A (ja) * 2006-06-19 2007-12-27 Mitsubishi Electric Corp 3次元位置補正装置
JP2014028415A (ja) * 2012-07-31 2014-02-13 Fanuc Ltd バラ積みされた物品をロボットで取出す装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5429614B2 (ja) 2009-04-16 2014-02-26 株式会社Ihi 箱状ワーク認識装置および方法
US20130124156A1 (en) * 2009-05-26 2013-05-16 Embodee Corp Footwear digitization system and method
JP5893695B1 (ja) 2014-09-10 2016-03-23 ファナック株式会社 物品搬送システム
JP6573354B2 (ja) 2014-11-28 2019-09-11 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US10547796B2 (en) 2015-07-14 2020-01-28 Industrial Technology Research Institute Calibration equipment and calibration method of a mechanical system
US9804751B2 (en) * 2015-07-27 2017-10-31 Applied Software Technology, Inc. Creating and merging two-dimensional floor plans within three-dimensional models
JP6356655B2 (ja) 2015-12-10 2018-07-11 ファナック株式会社 加工屑を除去する機能を有する加工システム
US10410089B2 (en) * 2018-01-19 2019-09-10 Seiko Epson Corporation Training assistance using synthetic images
US10671835B2 (en) * 2018-03-05 2020-06-02 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Object recognition

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007333679A (ja) * 2006-06-19 2007-12-27 Mitsubishi Electric Corp 3次元位置補正装置
JP2014028415A (ja) * 2012-07-31 2014-02-13 Fanuc Ltd バラ積みされた物品をロボットで取出す装置

Also Published As

Publication number Publication date
JP2019159901A (ja) 2019-09-19
US11823414B2 (en) 2023-11-21
US20200394818A1 (en) 2020-12-17
CN111742349A (zh) 2020-10-02
JP7161857B2 (ja) 2022-10-27
EP3767589A1 (en) 2021-01-20
CN111742349B (zh) 2023-09-29
EP3767589A4 (en) 2021-12-15

Similar Documents

Publication Publication Date Title
JP6527178B2 (ja) 視覚センサのキャリブレーション装置、方法及びプログラム
JP6396516B2 (ja) 視覚センサのキャリブレーション装置、方法及びプログラム
JP6271953B2 (ja) 画像処理装置、画像処理方法
JP6836561B2 (ja) 画像処理装置及び画像処理方法
JP6054831B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP6703812B2 (ja) 3次元物体検査装置
JP2012254518A (ja) ロボット制御システム、ロボットシステム及びプログラム
JP2008506953A (ja) 機械視覚のための方法及び装置
CN109559341B (zh) 一种机械臂抓取方案的生成方法及装置
US20130058526A1 (en) Device for automated detection of feature for calibration and method thereof
JP2018136896A (ja) 情報処理装置、システム、情報処理方法、および物品の製造方法
EP3229208A1 (en) Camera pose estimation
JP5093591B2 (ja) 三次元位置姿勢計測方法および装置
JP2020075327A (ja) 制御システム
WO2019176450A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6040264B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP5083715B2 (ja) 三次元位置姿勢計測方法および装置
US11158080B2 (en) Information processing method, information processing device, object detection apparatus, and robot system
JP2015132544A (ja) 画像処理装置および3次元空間情報取得方法
CN113858214A (zh) 一种用于机器人作业的定位方法与控制系统
JP2018017610A (ja) 三次元計測装置、ロボット、ロボット制御装置、及びロボットシステム
JP7502343B2 (ja) 画像処理システム
JP2014235680A (ja) 画像処理装置、画像処理方法、ロボット及びプログラム
JP6766229B2 (ja) 位置姿勢計測装置及び方法
JP2012236266A (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: 19766825

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019766825

Country of ref document: EP

Effective date: 20201014