WO2021085562A1 - 把持装置 - Google Patents

把持装置 Download PDF

Info

Publication number
WO2021085562A1
WO2021085562A1 PCT/JP2020/040703 JP2020040703W WO2021085562A1 WO 2021085562 A1 WO2021085562 A1 WO 2021085562A1 JP 2020040703 W JP2020040703 W JP 2020040703W WO 2021085562 A1 WO2021085562 A1 WO 2021085562A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
grid
robot arm
camera
gripping
Prior art date
Application number
PCT/JP2020/040703
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 WO2021085562A1 publication Critical patent/WO2021085562A1/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • 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 a gripping device.
  • the present invention is an example of the above problem, and an object of the present invention is to provide a gripping device capable of highly accurate gripping operation using image data in a state of being gripped by the gripping device.
  • the gripping device includes a camera, a robot arm, and an image processing device.
  • the image processing device acquires an image of the workpieces stacked separately and an image of the gripping state in which the robot arm grips a part of the workpiece from the camera.
  • a gripping device capable of highly accurate gripping operation using image data in a state of being gripped by the gripping device by image processing.
  • FIG. 1 is a diagram showing an example of an object grasping system equipped with the image processing device according to the first embodiment.
  • FIG. 2 is a block diagram showing an example of the configuration of the object gripping system according to the first embodiment.
  • FIG. 3 is a flowchart showing an example of the learning process.
  • FIG. 4 is a diagram showing an example of three-dimensional data of an object.
  • FIG. 5 is a diagram showing an example of a captured image of a virtual space in which a plurality of objects are arranged.
  • FIG. 6 is a diagram showing an example of processing related to control of the robot arm.
  • FIG. 7 is a diagram showing another example of processing related to control of the robot arm.
  • FIG. 8 is a diagram showing an example of a detection model according to the first embodiment.
  • FIG. 1 is a diagram showing an example of an object grasping system equipped with the image processing device according to the first embodiment.
  • FIG. 2 is a block diagram showing an example of the configuration of the object gripping system according to the first embodiment
  • FIG. 9 is a diagram showing an example of a feature map output by the feature detection layer (u1) according to the first embodiment.
  • FIG. 10 is a diagram showing an example of an estimation result of the position and posture of the object according to the first embodiment.
  • FIG. 11 is a diagram showing another example of the estimation result of the gripping position of the object according to the first embodiment.
  • FIG. 12 is a diagram showing an example of loosely stacked images taken by the stereo camera according to the first embodiment.
  • FIG. 13 is a diagram showing an example of the relationship between the loosely stacked images and the matching map according to the first embodiment.
  • FIG. 14 is a flowchart showing an example of the estimation process according to the first embodiment.
  • FIG. 15 is a diagram showing an example of the estimation process according to the first embodiment.
  • FIG. 16 is a diagram showing an example of a loosely stacked image including a tray according to a modified example.
  • FIG. 17 is a diagram showing an example of a position deviation estimation model according to a modified example.
  • FIG. 18 is a diagram showing another example of the position deviation estimation model according to the modified example.
  • FIG. 1 is a diagram showing an example of an object grasping system equipped with the image processing device according to the first embodiment.
  • the object grasping system 1 shown in FIG. 1 includes an image processing device 10 (not shown), a camera 20, and a robot arm 30.
  • the camera 20 is provided at a position where, for example, both the robot arm 30 and the loosely stacked workpieces 41, 42, etc., which are objects to be gripped by the robot arm 30, can be photographed.
  • the camera 20 captures, for example, images of the robot arm 30 and the works 41 and 42 and outputs them to the image processing device 10.
  • the robot arm 30 and the workpieces 41, 42 and the like stacked separately may be photographed by different cameras.
  • the camera 20 in the first embodiment as shown in FIG. 1, a camera capable of capturing a plurality of images, such as a known stereo camera, is used.
  • the image processing device 10 estimates the positions and orientations of the works 41, 42, etc. using the image output from the camera 20.
  • the image processing device 10 outputs a signal for controlling the operation of the robot arm 30 based on the estimated positions and postures of the works 41, 42, and the like.
  • the robot arm 30 performs an operation of gripping the works 41, 42, and the like based on the signal output from the image processing device 10.
  • the type of work may be one type.
  • the works 41, 42 and the like are arranged so that their positions and postures are irregular.
  • a plurality of workpieces may be arranged so as to overlap each other in a top view.
  • the works 41 and 42 are examples of objects.
  • FIG. 2 is a block diagram showing an example of the configuration of the object gripping system according to the first embodiment.
  • the image processing device 10 is communicably connected to the camera 20 and the robot arm 30 through the network NW. Further, as shown in FIG. 2, the image processing device 10 includes a communication I / F (interface) 11, an input I / F 12, a display 13, a storage circuit 14, and a processing circuit 15.
  • the communication I / F 11 controls data input / output communication with an external device through the network NW.
  • the communication I / F 11 is realized by a network card, a network adapter, a NIC (Network Interface Controller), etc., receives image data output from the camera 20, and transmits a signal to be output to the robot arm 30.
  • the input I / F 12 is connected to the processing circuit 15, converts the input operation received from the administrator (not shown) of the image processing device 10 into an electric signal, and outputs the input operation to the processing circuit 15.
  • the input I / F12 is a switch button, a mouse, a keyboard, a touch panel, or the like.
  • the display 13 is connected to the processing circuit 15 and displays various information and various image data output from the processing circuit 15.
  • the display 13 is realized by a liquid crystal monitor, a CRT (Cathode Ray Tube) monitor, a touch panel, or the like.
  • the storage circuit 14 is realized by, for example, a storage device such as a memory.
  • the storage circuit 14 stores various programs executed by the processing circuit 15. Further, the storage circuit 14 temporarily stores various data used when various programs are executed by the processing circuit 15.
  • the storage circuit 14 has a machine (deep) learning model 141.
  • the machine (deep) learning model 141 includes a neural network structure 141a and learning parameters 141b.
  • the neural network structure 141a is an application of a known network such as the convolutional neural network b1 of FIG. 8, and is a network structure shown in FIG. 15 described later.
  • the learning parameter 141b is, for example, the weight of the convolutional filter of the convolutional neural network, and is a parameter that is learned and optimized for estimating the position and orientation of the object.
  • the neural network structure 141a may be provided in the estimation unit 152.
  • the machine (deep layer) learning model 141 in the present invention will be described by taking a trained model as an example, but the present invention is not limited to this. In the following, the machine (deep) learning model 141 may be simply referred to as a “learning model 141”.
  • the learning model 141 is used in the process of estimating the position and orientation of the work from the image output from the camera 20.
  • the learning model 141 is generated, for example, by learning the positions and postures of a plurality of works and images of the plurality of works as teacher data.
  • the learning model 141 is generated by, for example, the processing circuit 15, but the learning model 141 is not limited to this, and may be generated by an external computer.
  • the learning model 141 is generated and updated by a learning device (not shown) will be described.
  • the large number of images used to generate the learning model 141 may be generated by, for example, arranging a plurality of works in the virtual space and capturing the images in the virtual space.
  • FIG. 3 is a flowchart showing an example of the learning process. As shown in FIG. 3, the learning device acquires three-dimensional data of the object (step S101). The three-dimensional data can be acquired by a method such as a known 3D scan.
  • FIG. 4 is a diagram showing an example of three-dimensional data of an object. By acquiring the three-dimensional data, the posture of the work can be arbitrarily changed and arranged in the virtual space.
  • the learning device sets various conditions for arranging the object in the virtual space (step S102).
  • the object can be placed in the virtual space by using, for example, known image generation software or the like. Conditions such as the number, position, and posture of the objects to be arranged can be set so that the image generation software randomly generates the objects, but the present invention is not limited to this, and the administrator of the image processing device 10 arbitrarily sets the conditions. You may.
  • the learning device arranges the object in the virtual space according to the set conditions (step S103).
  • the learning device acquires an image, a position, and a posture of the arranged objects by capturing, for example, a virtual space in which a plurality of objects are arranged (step S104).
  • FIG. 5 is a diagram showing an example of a captured image of a virtual space in which a plurality of objects are arranged. As shown in FIG. 5, a plurality of objects W1a and W1b are arranged at random positions and postures in the virtual space, respectively. Further, in the following, an image of randomly arranged objects may be referred to as a “separately stacked image”.
  • the learning device stores the acquired image and the position and orientation of the arranged object in the storage circuit 14 (step S105). Further, the learning device repeats steps S102 to S105 a predetermined number of times (step S106).
  • the combination of the image acquired in the above step and the position and posture in which the object is arranged, which is stored in the storage circuit 14, may be referred to as “teacher data”.
  • the learning device generates or updates the learning parameter 141b used as weighting in the neural network structure 141a by performing the learning process a predetermined number of times using the generated teacher data (step S107).
  • the learning device By arranging the object from which the three-dimensional data has been acquired in this way on the virtual space, it is easy to generate teacher data including the image of the object and the combination of the position and the posture used in the learning process. can do.
  • the processing circuit 15 is realized by a processor such as a CPU (Central Processing Unit).
  • the processing circuit 15 controls the entire image processing device 10.
  • the processing circuit 15 reads various programs stored in the storage circuit 14 and executes the read programs to execute various processes.
  • the processing circuit 15 includes an image acquisition unit 151, an estimation unit 152, and a robot control unit 153.
  • the image acquisition unit 151 acquires the separately stacked images through the communication I / F11, for example, and outputs the images to the estimation unit 152.
  • the image acquisition unit 151 is an example of an acquisition unit.
  • the estimation unit 152 estimates the position and orientation of the object using the output loose-stacked image. For example, the estimation unit 152 performs estimation processing on the image of the object using the learning model 141, and outputs the estimation result to the robot control unit 153. The estimation unit 152 may further estimate the position and orientation of the tray or the like on which the object is placed, for example. The configuration for estimating the position and orientation of the tray will be described later.
  • the robot control unit 153 generates a signal for controlling the robot arm 30 based on the estimated position and orientation of the object, and outputs the signal to the robot arm 30 through the communication I / F 11.
  • the robot control unit 153 acquires, for example, information regarding the current position and posture of the robot arm 30. Then, the robot control unit 153 generates a trajectory that the robot arm 30 moves when gripping the object according to the current position and posture of the robot arm 30 and the estimated position and posture of the object.
  • the robot control unit 153 may correct the trajectory in which the robot arm 30 moves based on the position and posture of the tray or the like.
  • FIG. 6 is a diagram showing an example of processing related to control of the robot arm.
  • the estimation unit 152 estimates the position and orientation of the target object from the images stacked separately.
  • the estimation unit 152 may estimate the position and orientation of the tray or the like on which the object is placed from the images stacked separately.
  • the robot control unit 153 calculates the coordinates and posture of the hand position of the robot arm 30 based on the estimated model of the object and the tray, and generates the trajectory of the robot arm 30.
  • FIG. 7 is a diagram showing another example of processing related to control of the robot arm.
  • the image acquisition unit 151 acquires an image of an object gripped by the robot arm 30 taken by the camera 20.
  • the estimation unit 152 estimates the position and posture of the target object gripped by the robot arm 30, and outputs the position and orientation to the robot control unit 153.
  • the image acquisition unit 151 may further acquire an image of a tray or the like of the alignment destination, which is a movement destination of the grasped object, taken by the camera 20.
  • the image acquisition unit 151 further acquires an image (arranged image) of the object already aligned on the tray or the like of the alignment destination.
  • the estimation unit 152 estimates the position and orientation of the tray and the like to be aligned, and the position and orientation of the already aligned objects from the aligned image or the aligned image.
  • the robot control unit 153 determines the estimated position and orientation of the object held by the robot arm 30, the position and orientation of the tray or the like to be aligned, and the position and orientation of the already aligned object. Based on this, the coordinates and posture of the hand position of the robot arm 30 are calculated, and the trajectory of the robot arm 30 when aligning the objects is generated.
  • the estimation unit 152 extracts the feature amount of the object by using, for example, a model to which an object detection model having known downsampling, upsampling, and skip connection is applied.
  • FIG. 8 is a diagram showing an example of a detection model according to the first embodiment.
  • the d1 layer divides the loosely stacked image P1 (320 ⁇ 320 pixels) into 40 ⁇ 40 grids in length and width by downsampling via a convolutional neural network b1, and has a plurality of features for each grid. Calculate the amount (for example, 256 types).
  • the grid divided by the d1 layer is divided coarser than the d1 layer (for example, 20 ⁇ 20 grids), and the feature amount of each grid is calculated.
  • the d3 layer and the d4 layer which are lower layers than the d1 layer and the d2 layer, divide the grid divided by the d2 layer more coarsely, respectively.
  • the d4 layer calculates the feature amount in a finer division by upsampling, and at the same time, integrates with the feature amount of the d3 layer by skip connection s3 to generate the u3 layer.
  • the skip connection may be a simple addition or a connection of features, or a transformation such as a convolutional neural network may be added to the features of the d3 layer.
  • the feature amount calculated by upsampling the u3 layer and the feature amount of the d2 layer are integrated by the skip connection s2 to generate the u2 layer.
  • the u1 layer is generated in the same manner. As a result, in the u1 layer, the feature amount of each grid divided into 40 ⁇ 40 grids is calculated as in the d1 layer.
  • FIG. 9 is a diagram showing an example of a feature map output by the feature extraction layer (u1) according to the first embodiment.
  • the horizontal direction of the feature map shown in FIG. 9 indicates each grid in the horizontal direction of the loosely stacked image P1 divided into 40 ⁇ 40 grids, and the vertical direction indicates each grid in the vertical direction. Further, the depth direction of the feature map shown in FIG. 9 indicates an element of the feature amount in each grid.
  • FIG. 10 is a diagram showing an example of the estimation result of the position and posture of the object according to the first embodiment.
  • the estimation unit includes two-dimensional coordinates ( ⁇ x, ⁇ y) indicating the position of the object, quaternions (qx, qy, qz, qw) indicating the posture of the object, and a classification score (C0). , C1, ..., Cn) is output.
  • C1 a classification score
  • C1 ..., Cn
  • the depth referred to here means the distance from the z-coordinate of the camera to the z-coordinate of the object in the z-axis direction parallel to the optical axis of the camera.
  • the classification score is a value output for each grid, and is the probability that the center point of the object is included in the grid. For example, when there are n types of objects, the score of n + 1 class classifications is output by adding the "probability that the center point of the object is not included". For example, when there is only one type of target work, the scores of two classifications are output. Also, when there are a plurality of objects in the same grid, the probability of the objects stacked on top is output.
  • the point C indicates the center of the grid Gx
  • the point ⁇ C which is the coordinates ( ⁇ x, ⁇ y) indicates, for example, the center point of the detected object. That is, in the example shown in FIG. 10, the center of the object is offset from the center point C of the grid Gx by ⁇ x in the x-axis direction and ⁇ y in the y-axis direction.
  • arbitrary points a, b, and c other than the center of the object are set as shown in FIG. 11, and arbitrary points a, b, and c from the center point C of the grid Gx are set.
  • the coordinates ( ⁇ x1, ⁇ y1, ⁇ z1, ⁇ x2, ⁇ y2, ⁇ z2, x3, ⁇ y3, ⁇ z3) may be output. Any point may be set at any position of the object, and may be one point or a plurality of points.
  • the grid division is coarser than the size of the object, a plurality of objects may be included in one grid, and the features of the objects may be mixed and erroneously detected.
  • the feature map which is the output of the feature extraction layer (u1) in which the finally generated fine (40 ⁇ 40 grid) feature amount is calculated is used.
  • the distance from the camera 20 to the object is specified by taking two types of images on the left and right, for example, using a stereo camera.
  • FIG. 12 is a diagram showing an example of loosely stacked images taken by the stereo camera according to the first embodiment.
  • the image acquisition unit 151 acquires two types of loosely stacked images, the left image P1L and the right image P1R.
  • the estimation unit 152 performs estimation processing using the learning model 141 on both the left image P1L and the right image P1R.
  • a part or all of the learning parameters 141b used for the left image P1L may be shared as weighting for the right image P1R.
  • one camera may be used, and the positions of the cameras may be shifted to capture images corresponding to two types of left and right images at two locations.
  • the estimation unit 152 in the first embodiment suppresses erroneous recognition of the object by using a matching map that combines the feature amount of the left image P1L and the feature amount of the right image P1R.
  • the matching map shows the strength of the correlation between the right image P1R and the left image P1L for each feature amount. That is, by using the matching map, it is possible to match the left image P1L and the right image P1R by paying attention to the feature amount in each image.
  • FIG. 13 is a diagram showing an example of the relationship between the loosely stacked image and the matching map according to the first embodiment.
  • the matching map ML that is based on the left image P1L and corresponds to the right image P1R, the feature amount of the grid including the center point of the object W1L of the left image P1L and the right image.
  • the grid MLa having the largest correlation with the feature amount contained in P1R is highlighted and displayed.
  • the matching map MR that is based on the right image P1R and corresponds to the left image P1L, the feature amount of the grid including the center point of the object W1R of the right image P1R and the left image P1L are included.
  • the grid MRa which has the largest correlation with the feature amount, is highlighted and displayed. Further, the grid MLa having the largest correlation in the matching map ML corresponds to the grid on which the object W1L in the left image P1L is located, and the grid MRa having the largest correlation in the matching map MR is the position of the object W1R in the right image P1R. Corresponds to the grid to be. Thereby, it can be specified that the grid on which the object W1L is located in the left image P1L and the grid on which the object W1R is located in the right image P1R match. That is, in FIG. 12, the matching grids are the grid G1L of the left image P1L and the grid G1R of the right image P1R. As a result, the parallax with respect to the object W1 can be specified based on the X coordinate of the object W1L in the left image P1L and the X coordinate of the object W1R in the right image P1R. Can be identified.
  • FIG. 14 is a flowchart showing an example of the estimation process according to the first embodiment.
  • FIG. 15 is a diagram showing an example of the estimation process according to the first embodiment.
  • the image acquisition unit 151 acquires the left and right images of the object as shown in the left image P1L and the right image P1R shown in FIG. 12 (step S201).
  • the estimation unit 152 calculates the feature amount for each grid in the horizontal direction of each of the left and right images.
  • the first left side of the equation (1) is calculated in the horizontal direction of each image.
  • a 40-by-40 matrix as shown in the terms and the second term is obtained.
  • the estimation unit 152 executes the process m shown in FIG.
  • the estimation unit 152 calculates, for example, the matrix product of the feature amount of the same column extracted from the right image P1R transposed to the feature amount of the specific column extracted from the left image P1L by the equation (1).
  • the feature amounts l11 to l1n in the first grid in the horizontal direction of the specific column of the left image P1L are arranged in the row direction, respectively.
  • the feature amounts r11 to r1n of the first grid in the horizontal direction of the right image P1R specific column are arranged in the column direction, respectively.
  • the matrix of the second term on the left side is a transposed matrix in which the feature amounts r11 to r1m of the grid are arranged in the row direction in the horizontal direction of the specific column of the right image P1R.
  • the right side of the equation (1) is a calculation of the matrix product of the first term on the left side and the matrix of the second term on the left side.
  • the first column on the right side of the equation (1) represents the correlation between the feature amount of the first grid extracted from the right image P1R and the feature amount of each horizontal grid of the specific column extracted from the left image P1L, and one row.
  • the eye represents the correlation between the feature amount of the first grid extracted from the left image P1L and the feature amount of each horizontal grid of a specific column extracted from the right image P1R. That is, the right side of the equation (1) shows a correlation map between the feature amount of each grid of the left image P1L and the feature amount of each grid of the right image P1R.
  • the subscript "m” indicates the position of the grid in the horizontal direction of each image
  • the subscript "n” indicates the number of the feature amount in each grid. That is, m is 1 to 40 and n is 1 to 256.
  • the estimation unit 152 calculates the matching map ML of the right image P1R with respect to the left image P1L as shown in the matrix (1) using the calculated correlation map.
  • the matching map ML of the right image P1R with respect to the left image P1L is calculated, for example, by applying the Softmax function to the row direction of the correlation map. This normalizes the value of the correlation in the horizontal direction. That is, all the values in the row direction are converted so that the sum is 1.
  • the estimation unit 152 convolves the feature amount extracted from the right image P1R into the calculated matching map ML, for example, by the equation (2).
  • the first term on the left side of the equation (2) is a transposed version of the matrix (1)
  • the second term on the left side is the matrix of the first term on the left side of the equation (1).
  • the feature amount for correlating and the feature amount for convolution in the matching map are the same, but a new correlation is obtained from the extracted feature amount by a convolutional neural network or the like.
  • the feature amount for convolution and the feature amount for convolution may be generated separately.
  • the estimation unit 152 connects the feature amount obtained by the equation (2) to the feature amount extracted from the left image P1L, and generates a new feature amount by, for example, a convolutional neural network. By integrating the features of the left and right images in this way, the estimation accuracy of the position and orientation is improved.
  • the process m in FIG. 15 may be repeated a plurality of times.
  • the estimation unit 152 estimates the position, orientation, and classification from the features obtained here, for example, by a convolutional neural network.
  • the estimation unit 152 calculates the matching map MR of the left image P1L with respect to the right image P1R as shown in the matrix (2) using the calculated correlation map (step S202).
  • the matching map MR of the left image P1L with respect to the right image P1R is also calculated by applying the Softmax function to the row direction of the correlation map, for example, in the same manner as the matching map ML of the right image P1R with respect to the left image P1L.
  • the estimation unit 152 convolves the feature amount of the left image P1L into the calculated matching map, for example, by the equation (3).
  • the first term on the left side of the equation (3) is the matrix (2), and the second term on the left side is the one before the transposition of the second term on the left side of the equation (1).
  • the estimation unit 152 selects and compares the preset threshold value and the grid with the largest estimation result of the target (object) classification estimated from the left image P1L (step S203). If the threshold is not exceeded, it ends as if there is no target. If the threshold value is exceeded, the grid with the largest value is selected from the matching map ML with the right image P1R for that grid (step S204).
  • the estimation result of the target class classification of the right image P1R is compared with the preset threshold value (step S208). If the threshold value is exceeded, the grid with the largest value is selected from the matching map ML with the left image P1L for that grid (step S209). If the threshold value is not exceeded, the classification score of the grid selected from the estimation result of the left image P1L is set to 0, and the process returns to step S203 (step S207).
  • step S210 it is compared whether the grid of the matching map ML selected in step S209 and the grid selected from the estimation result of the left image P1L in step S204 are equal (step S210). If the grids are different, the classification score of the grid selected from the estimation result of the left image P1L in step S204 is set to 0, and the process returns to the grid selection in step S203 (step S207). Finally, the parallax is calculated from the detection result of the position information (for example, the value of x in the horizontal direction in FIG. 1) of the grid selected in the left image P1L and the right image P1R (step S211).
  • step S212 the depth of the target is calculated based on the parallax calculated from step S211 (step S212).
  • the classification score of the grid selected from the estimation results of the left image P1L and the right image P1R is set to 0, and then the process returns to step S203.
  • the process up to step S212 may be repeated.
  • the image processing device 10 in the first embodiment includes an acquisition unit and an estimation unit.
  • the acquisition unit acquires a first image and a second image obtained by photographing the workpieces stacked separately.
  • the estimation unit generates a matching map of the feature amount of the first image and the feature amount of the second image, and the position and orientation of each target work for each of the first image and the second image.
  • the classification score is estimated, and the depth from the stereo camera to the work is calculated by estimating the work position based on the matching result and the position estimation result using the attention map. As a result, erroneous detection in object recognition can be suppressed.
  • FIG. 16 is a diagram showing an example of a loosely stacked image including a tray according to a modified example. In the example shown in FIG.
  • the image processing device 10 can set a trajectory so that the robot arm 30 does not collide with the tray by specifying the position and posture of the tray on which the object is placed.
  • the tray to be detected is an example of an obstacle.
  • the image processing device 10 may be configured to detect other obstacles other than the tray.
  • FIG. 17 is a diagram showing an example of a position deviation estimation model according to a modified example. As shown in FIG. 17, the image processing apparatus 10 may cut out a portion of the left image P1L and the right image P1R that is smaller in size than the grid around the estimated position and combine them. Then, the estimation process may be performed in the same manner as the estimation process in the first embodiment, and the positional deviation may be estimated based on the processing result.
  • FIG. 18 is a diagram showing another example of the position deviation estimation model according to the modified example.
  • the image processing device 10 separately performs estimation processing on the left image P1L and the right image P1R.
  • the image processing apparatus 10 may share the weighting for the left image P1L with the weighting for the right image P1R when performing each estimation processing, as in the first embodiment.
  • the estimation process described above is not applied to the images of the workpieces 41 and 42 stacked separately, but to the robot arm 30, the workpieces 41 and 42 held by the robot arm 30, or the workpieces aligned at the alignment destination. You may go to 41, 42.
  • the present invention is not limited by the above-described embodiment.
  • the present invention also includes a configuration in which the above-mentioned components are appropriately combined. Further, further effects and modifications can be easily derived by those skilled in the art. Therefore, the broader aspect of the present invention is not limited to the above-described embodiment, and various modifications can be made.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

本発明の一態様に係る把持装置(1)は、カメラ(20)と、ロボットアーム(30)と、画像処理装置(10)と、を備える。画像処理装置(10)は、バラ積みされたワーク(41,42)の画像と、ワークの一部を前記ロボットアームが把持している把持状態画像と、を前記カメラから取得する。

Description

把持装置
 本発明は、把持装置に関する。
 バラ積みされた複数の対象物(ワーク)をロボットアーム等により把持するために、トレイにバラ積みされたワークの状態を、三次元計測機で撮影することにより特定して把持する技術が知られている。
特開2019-058960号公報
 しかし、把持前のバラ積みされたワークの状態の情報を得るだけでは、精度よく把持動作を行うことは難しい。
 本発明は、上記課題を一例とするものであり、把持装置に把持されている状態の画像データを用いて高精度の把持動作が可能となる把持装置を提供することを目的とする。
 本発明の一態様に係る把持装置は、カメラと、ロボットアームと、画像処理装置と、を備える。画像処理装置は、バラ積みされたワークの画像と、ワークの一部を前記ロボットアームが把持している把持状態画像と、を前記カメラからを取得する。
 本発明の一態様によれば、画像処理により把持装置に把持されている状態の画像データを用いて高精度の把持動作が可能な把持装置を提供することができる。
図1は、第1の実施形態に係る画像処理装置を実装した物体把持システムの一例を示す図である。 図2は、第1の実施形態に係る物体把持システムの構成の一例を示すブロック図である。 図3は、学習処理の一例を示すフローチャートである。 図4は、対象物の三次元データの一例を示す図である。 図5は、複数の対象物が配置された仮想空間のキャプチャ画像の一例を示す図である。 図6は、ロボットアームの制御に関する処理の一例を示す図である。 図7は、ロボットアームの制御に関する処理の別の一例を示す図である。 図8は、第1の実施形態に係る検出モデルの一例を示す図である。 図9は、第1の実施形態に係る特徴検出層(u1)が出力する特徴マップの一例を示す図である。 図10は、第1の実施形態に係る対象物の位置及び姿勢の推定結果の一例を示す図である。 図11は、第1の実施形態に係る対象物の把持位置の推定結果の別の一例を示す図である。 図12は、第1の実施形態に係るステレオカメラにより撮影されたバラ積み画像の一例を示す図である。 図13は、第1の実施形態に係るバラ積み画像とマッチングマップとの関係の一例を示す図である。 図14は、第1の実施形態に係る推定処理の一例を示すフローチャートである。 図15は、第1の実施形態に係る推定処理の一例を示す図である。 図16は、変形例に係るトレイを含むバラ積み画像の一例を示す図である。 図17は、変形例に係る位置ずれ推定モデルの一例を示す図である。 図18は、変形例に係る位置ずれ推定モデルの別の一例を示す図である。
 以下、実施形態に係る画像処理装置及び画像処理方法について図面を参照して説明する。なお、この実施形態によりこの発明が限定されるものではない。また、図面における各要素の寸法の関係、各要素の比率などは、現実と異なる場合がある。図面の相互間においても、互いの寸法の関係や比率が異なる部分が含まれている場合がある。また、1つの実施形態や変形例に記載された内容は、原則として他の実施形態や変形例にも同様に適用される。
(第1の実施形態)
 第1の実施形態における画像処理装置は、例えば物体把持システム1において用いられる。図1は、第1の実施形態に係る画像処理装置を実装した物体把持システムの一例を示す図である。図1に示す物体把持システム1は、図示しない画像処理装置10と、カメラ20と、ロボットアーム30とを備える。カメラ20は、例えば、ロボットアーム30と、ロボットアーム30が把持する対象物となる、バラ積みされたワーク41、42等との両方を撮影可能な位置に設けられる。カメラ20は、例えば、ロボットアーム30と、ワーク41、42の画像とを撮影し、画像処理装置10に出力する。なお、ロボットアーム30とバラ積みされたワーク41,42等とは別々のカメラで撮影してもよい。第1の実施形態におけるカメラ20には、図1に示されるように、例えば公知のステレオカメラ等、複数の画像を撮影できるカメラが用いられる。画像処理装置10は、カメラ20から出力された画像を用いて、ワーク41、42等の位置及び姿勢を推定する。画像処理装置10は、推定されたワーク41、42等の位置及び姿勢に基づいて、ロボットアーム30の動作を制御する信号を出力する。ロボットアーム30は、画像処理装置10から出力された信号に基づいて、ワーク41、42等を把持する動作を行う。なお、図1においては、複数の異なる種類のワーク41、42等が開示されているが、ワークの種類は1種類であってもよい。第1の実施形態においては、ワークが1種類である場合について説明する。また、ワーク41、42等は、位置及び姿勢が不規則であるように配置されている。図1に示すように、例えば、複数のワークが上面視において重なるように配置されていてもよい。また、ワーク41、42は、対象物の一例である。
 図2は、第1の実施形態に係る物体把持システムの構成の一例を示すブロック図である。図2に示すように、画像処理装置10は、カメラ20及びロボットアーム30と、ネットワークNWを通じて通信可能に接続されている。また、図2に示すように、画像処理装置10は、通信I/F(インターフェース)11と、入力I/F12と、ディスプレイ13と、記憶回路14と、処理回路15とを備える。
 通信I/F11は、ネットワークNWを通じた外部装置とのデータ入出力の通信を制御する。例えば、通信I/F11は、ネットワークカードやネットワークアダプタ、NIC(Network Interface Controller)等によって実現され、カメラ20から出力される画像のデータを受信するとともに、ロボットアーム30に出力する信号を送信する。
 入力I/F12は、処理回路15に接続され、画像処理装置10の管理者(不図示)から受け付けた入力操作を電気信号に変換して処理回路15に出力する。例えば、入力I/F12は、スイッチボタン、マウス、キーボード、タッチパネル等である。
 ディスプレイ13は、処理回路15に接続され、処理回路15から出力される各種情報及び各種画像データを表示する。例えば、ディスプレイ13は、液晶モニタやCRT(Cathode Ray Tube)モニタ、タッチパネル等によって実現される。
 記憶回路14は、例えば、メモリ等の記憶装置により実現される。記憶回路14には、処理回路15により実行される各種のプログラムが記憶されている。また、記憶回路14には、処理回路15により各種のプログラムが実行される際に用いられる各種のデータが一時的に記憶される。記憶回路14は、機械(深層)学習モデル141を有する。さらに、機械(深層)学習モデル141はニューラルネットワーク構造141aと学習パラメータ141bを備えている。ニューラルネットワーク構造141aは、例えば、図8の畳み込みニューラルネットワークb1のような公知のネットワークを応用したもので、後述する図15に示されるネットワーク構造である。学習パラメータ141bは、例えば、畳み込みニューラルネットワークの畳み込みフィルタの重みであり、対象物の位置及び姿勢を推定するために学習され、最適化されるパラメータである。ニューラルネットワーク構造141aは、推定部152に備えられていても構わない。なお、本発明における機械(深層)学習モデル141は学習済みモデルを例として説明するが、これに限定されない。なお、以下において、機械(深層)学習モデル141を、単に「学習モデル141」と表記する場合がある。
 学習モデル141は、カメラ20から出力された画像から、ワークの位置及び姿勢を推定する処理に用いられる。学習モデル141は、例えば、複数のワークの位置及び姿勢と、当該複数のワークを撮影した画像とを教師データして学習することにより生成される。なお、第1の実施形態においては、学習モデル141が、例えば、処理回路15により生成されるが、これに限られず、外部のコンピュータにより生成されてもよい。以下においては、図示しない学習装置により、学習モデル141が生成及び更新される実施形態について説明する。
 第1の実施形態において、学習モデル141の生成に用いられる大量の画像は、例えば、仮想空間上に複数のワークを配置し、当該仮想空間の画像をキャプチャすることにより生成されてもよい。図3は、学習処理の一例を示すフローチャートである。図3に示すように、学習装置は、対象物の三次元データを取得する(ステップS101)。三次元データは、例えば公知の3Dスキャン等の手法により取得することができる。図4は、対象物の三次元データの一例を示す図である。三次元データを取得することにより、仮想空間上において、ワークの姿勢を任意に変更して配置させることができる。
 次に、学習装置は、仮想空間上に、対象物を配置する際の各種条件を設定する(ステップS102)。仮想空間への対象物の配置は、例えば公知の画像生成ソフトウェア等を用いて行うことができる。配置する対象物の数や位置、姿勢などの条件は、画像生成ソフトウェアがランダムに対象物を生成するように設定することも可能だが、これに限らず、画像処理装置10の管理者が任意に設定してもよい。次に、学習装置は、設定された条件に従い、仮想空間上に対象物を配置する(ステップS103)。次に、学習装置は、例えば、複数の対象物が配置された仮想空間をキャプチャすることにより、配置された対象物の画像、位置及び姿勢を取得する(ステップS104)。第1の実施形態において、対象物の位置及び姿勢は、例えば三次元座標(x,y,z)により示され、対象物の姿勢は、物体の姿勢又は回転状態を表す四元数であるクオタニオン(qx,qy,qz,qw)により示される。図5は、複数の対象物が配置された仮想空間のキャプチャ画像の一例を示す図である。図5に示すように、仮想空間上には、複数の対象物W1a及びW1bが、それぞれランダムな位置及び姿勢にて配置される。また、以下において、ランダムに配置された対象物の画像を、「バラ積み画像」と表記する場合がある。次に、学習装置は、取得された画像と、配置された対象物の位置及び姿勢を記憶回路14に保存する(ステップS105)。さらに、学習装置は、ステップS102からステップS105をあらかじめ定められた回数繰り返す(ステップS106)。なお、ここで記憶回路14に保存される、上記ステップによって取得された画像と対象物が配置された位置及び姿勢との組み合わせを「教師データ」と表記する場合がある。ステップS102からステップS105までの処理を所定の回数繰り返すことにより、学習処理を繰り返し行うために十分な数の教師データが生成される。
 そして、学習装置は、生成された教師データを用いて所定の回数学習処理を行うことにより、ニューラルネットワーク構造141aにおいて重み付けとして用いられる学習パラメータ141bを生成し、又は更新する(ステップS107)。このように、三次元データが取得された対象物を仮想空間上に配置することにより、学習処理に用いられる、対象物の画像と、位置及び姿勢の組み合わせとを含む教師データを、容易に生成することができる。
 図2に戻って、処理回路15は、CPU(Central Processing Unit)等のプロセッサにより実現される。処理回路15は、画像処理装置10全体を制御する。処理回路15は、記憶回路14に記憶された各種のプログラムを読み取り、読み取ったプログラムを実行することで、各種の処理を実行する。例えば、処理回路15は、画像取得部151と、推定部152と、ロボット制御部153とを有することとなる。
 画像取得部151は、例えば、通信I/F11を通じて、バラ積み画像を取得し、推定部152に出力する。画像取得部151は、取得部の一例である。
 推定部152は、出力されたバラ積み画像を用いて、対象物の位置及び姿勢を推定する。推定部152は、例えば、学習モデル141を用いて、対象物の画像に対する推定処理を行い、推定結果をロボット制御部153に出力する。なお、推定部152は、例えば、対象物が配置されるトレイ等の位置及び姿勢をさらに推定してもよい。トレイの位置及び姿勢を推定する構成については、後に説明する。
 ロボット制御部153は、推定された対象物の位置及び姿勢に基づいて、ロボットアーム30を制御する信号を生成し、通信I/F11を通じてロボットアーム30に出力する。ロボット制御部153は、例えば、現在のロボットアーム30の位置及び姿勢に関する情報を取得する。そして、ロボット制御部153は、現在のロボットアーム30の位置及び姿勢と、推定された対象物の位置及び姿勢に応じて、ロボットアーム30が対象物を把持する際に移動する軌道を生成する。なお、ロボット制御部153は、トレイ等の位置及び姿勢に基づいて、ロボットアーム30が移動する軌道を修正してもよい。
 図6は、ロボットアームの制御に関する処理の一例を示す図である。図6に示すように、推定部152は、バラ積み画像から、ターゲットとなる対象物の位置及び姿勢を推定する。同様に、推定部152は、バラ積み画像から、対象物が配置されたトレイ等の位置及び姿勢を推定してもよい。ロボット制御部153は、推定された対象物及びトレイ等のモデルに基づいて、ロボットアーム30の手先の位置の座標及び姿勢を算出し、ロボットアーム30の軌道を生成する。
 なお、ロボット制御部153は、ロボットアーム30が対象物を把持した後に、把持した対象物を整列させるためのロボットアーム30の動作を制御する信号を、さらに出力してもよい。図7は、ロボットアームの制御に関する処理の別の一例を示す図である。図7に示すように、画像取得部151は、カメラ20により撮影された、ロボットアーム30により把持された対象物を撮影した画像を取得する。推定部152は、ターゲットとなる、ロボットアーム30に把持された対象物の位置及び姿勢を推定し、ロボット制御部153に出力する。また、画像取得部151は、カメラ20により撮影された、把持された対象物の移動先となる、整列先のトレイ等の画像をさらに取得してもよい。その際、画像取得部151は、整列先のトレイ等に既に整列された対象物の画像(整列済み画像)をさらに取得する。推定部152は、整列先の画像、又は整列済み画像から、整列先となるトレイ等の位置及び姿勢、並びに既に整列済みである対象物の位置及び姿勢を推定する。そして、ロボット制御部153は、推定された、ロボットアーム30に把持された対象物の位置及び姿勢、整列先となるトレイ等の位置及び姿勢、並びに既に整列済みである対象物の位置及び姿勢に基づいて、ロボットアーム30の手先の位置の座標及び姿勢を算出し、対象物を整列させる際のロボットアーム30の軌道を生成する。
 次に、推定部152における推定処理について説明する。推定部152は、例えば公知のダウンサンプリング、アップサンプリング、スキップコネクションを持つ物体検出モデルを応用したモデルを用いて、対象物の特徴量を抽出する。図8は、第1の実施形態に係る検出モデルの一例を示す図である。図8に示す物体検出モデルにおいて、d1層は、例えばバラ積み画像P1(320×320ピクセル)を畳み込みニューラルネットワークb1を介してダウンサンプリングによって縦横40×40グリッドに区分し、各グリッドについて複数の特徴量(例えば256種類)を算出する。また、d1層より下位の層にあたるd2層は、d1層で区分されたグリッドを、d1層よりも粗く(例えば20×20グリッドに)区分して、各グリッドの特徴量を算出する。同様に、d1層及びd2層よりも下位の層にあたるd3層及びd4層は、d2層で区分されたグリッドを、それぞれより粗く区分する。d4層はアップサンプリングによって、より精細な区分で特徴量を算出し、同時にスキップコネクションs3によりd3層の特徴量と統合してu3層を生成する。スキップコネクションは、単純な加算、特徴量の連結でも良く、d3層の特徴量に対して畳み込みニューラルネットワークのような変換が加えられていても良い。同様にu3層をアップサンプリングして算出した特徴量とd2層の特徴量をスキップコネクションs2により統合してu2層を生成する。さらに同様にu1層を生成する。この結果、u1層においては、d1層と同様に、40×40グリッドに区分された各グリッドの特徴量が算出される。
 図9は、第1の実施形態に係る特徴抽出層(u1)が出力する特徴マップの一例を示す図である。図9に示す特徴マップの水平方向は、40×40のグリッドに区分されたバラ積み画像P1の水平方向の各グリッドを示し、垂直方向は、垂直方向の各グリッドを示す。また、図9に示す特徴マップの奥行方向は、各グリッドにおける特徴量の要素を示す。
 図10は、第1の実施形態に係る対象物の位置及び姿勢の推定結果の一例を示す図である。図10に示すように、推定部は、対象物の位置を示す2次元座標(Δx,Δy)、対象物の姿勢を示すクオタニオン(qx,qy,qz,qw)、及びクラス分類のスコア(C0,C1,…,Cn)を出力する。なお、第1の実施形態においては、推定結果として、対象物の位置を示す座標のうち、カメラ20から対象物までの距離を示す深度の値は算出されない。深度の値を算出する構成については、後に説明する。なお、ここで言う深度とは、カメラの光軸に平行なz軸方向における、カメラのz座標から対象物のz座標までの距離をいう。なお、クラス分類のスコアはグリッドごとに出力される値であって、そのグリッドに対象物の中心点が含まれている確率である。例えば、対象物の種類がn種類だった場合に、これに“対象物の中心点が含まれていない確率”を加えてn+1個のクラス分類のスコアが出力される。例えば、対象物となるワークが1種類のみの場合は、2個のクラス分類のスコアが出力される。また、同一グリッド内に複数の対象物が存在する場合、より上に積まれている物体の確率を出力する。
 図10において、点CはグリッドGxの中心を示し、座標(Δx,Δy)である点ΔCは、例えば、検出された対象物の中心点を示す。すなわち、図10に示す例において、対象物の中心は、グリッドGxの中心点Cから、x軸方向にΔx、y軸方向にΔyだけオフセットしている。
 なお、図10に代えて、図11に示すように対象物の中心以外の任意の点a、b、cを設定し、グリッドGxの中心の点Cからの任意の点a、b、cの座標(Δx1,Δy1、Δz1、Δx2,Δy2、Δz2、x3,Δy3、Δz3)を出力してもよい。なお、任意の点は対象物のどの位置に設定してもよく、1点でも複数の点でも構わない。
 なお、対象物の大きさに比してグリッドの区分が粗いと、複数の対象物が一つのグリッドに入ってしまい、各対象物の特徴が交じり合って誤検出するおそれがあるため、第1の実施形態においては、最終的に生成された精細な(40×40グリッドの)特徴量が算出される特徴抽出層(u1)の出力である特徴マップのみ利用する。
 また、第1の実施形態においては、例えばステレオカメラを用いて、左右2種類の画像を撮影することにより、カメラ20から対象物までの距離を特定する。図12は、第1の実施形態に係るステレオカメラにより撮影されたバラ積み画像の一例を示す図である。図12に示すように、画像取得部151は、左画像P1L及び右画像P1Rの2種類のバラ積み画像を取得する。また、推定部152は、左画像P1L及び右画像P1Rの両方に対して、学習モデル141を用いた推定処理を行う。なお、推定処理を行う際に、左画像P1Lに対して用いられる学習パラメータ141bの一部、またはすべてを、右画像P1Rに対する重み付けとして共有してもよい。なお、ステレオカメラではなく、1台のカメラを用い、カメラの位置をずらして、2か所で左右2種の画像に相当する画像を撮影してもよい。
 そこで、第1の実施形態における推定部152は、左画像P1Lの特徴量と、右画像P1Rの特徴量とを組み合わせたマッチングマップを用いることにより、対象物の誤認識を抑制する。第1の実施形態において、マッチングマップは、各特徴量について、右画像P1Rと左画像P1Lとで特徴量の相関の強弱を示す。すなわち、マッチングマップを用いることにより、各画像における特徴量に着目して、左画像P1Lと右画像P1Rとのマッチングを図ることができる。
 図13は、第1の実施形態に係るバラ積み画像とマッチングマップとの関係の一例を示す図である。図13に示すように、左画像P1Lを基準とし、右画像P1Rとの対応をとったマッチングマップMLにおいては、左画像P1Lの対象物W1Lの中心点が含まれるグリッドの特徴量と、右画像P1Rに含まれる特徴量との相関が最も大きいグリッドMLaが強調して表示される。同様に、右画像P1Rを基準とし、左画像P1Lとの対応をとったマッチングマップMRにおいても、右画像P1Rの対象物W1Rの中心点が含まれるグリッドの特徴量と、左画像P1Lに含まれる特徴量との相関が最も大きいグリッドMRaが強調して表示される。また、マッチングマップMLにおいて相関が最も大きいグリッドMLaは、左画像P1Lにおける対象物W1Lが位置するグリッドに対応し、マッチングマップMRにおいて相関が最も大きいグリッドMRaは、右画像P1Rにおける対象物W1Rが位置するグリッドに対応する。これにより、左画像P1Lにおいて対象物W1Lが位置するグリッドと、右画像P1Rにおいて対象物W1Rが位置するグリッドとが一致することを特定できる。すなわち、図12においては、一致するグリッドは、左画像P1LのグリッドG1Lと、右画像P1RのグリッドG1Rである。これにより、左画像P1Lにおける対象物W1LのX座標と、右画像P1Rにおける対象物W1RのX座標とに基づいて、対象物W1に対する視差を特定できるので、カメラ20から対象物W1までの深度zを特定することができる。
 図14は、第1の実施形態に係る推定処理の一例を示すフローチャートである。また、図15は、第1の実施形態に係る推定処理の一例を示す図である。以降、図12~図15を用いて説明する。まず、画像取得部151は、図12に示す左画像P1L及び右画像P1Rのように、対象物の左右の各画像を取得する(ステップS201)。次に、推定部152は、左右の各画像の水平方向の各グリッドについて、特徴量を算出する。ここで、上で述べたように、各画像を40×40のグリッドに区分し、各グリッドについて256個の特徴量を算出する場合、各画像の水平方向において、式(1)の左辺第1項及び第2項に示すような40行40列の行列が得られる。
Figure JPOXMLDOC01-appb-M000001
 次に、推定部152は、図15に示す処理mを実行する。まず、推定部152は、例えば、式(1)により、左画像P1Lから抽出した特定の列の特徴量に、右画像P1Rから抽出した同じ列の特徴量を転置したものの行列積を計算する。式(1)において、左辺第1項は、左画像P1Lの特定の列の水平方向における1番目のグリッドにおける各特徴量l11乃至l1nが、それぞれ行方向に並んでいる。一方、式(1)の左辺第2項においては、右画像P1R特定の列の水平方向における1番目のグリッドの各特徴量r11乃至r1nが、それぞれ列方向に並んでいる。すなわち、左辺第2項の行列は、右画像P1Rの特定の列の水平方向にグリッドの各特徴量r11乃至r1mがそれぞれ行方向に並んだ行列を転置したものである。また、式(1)の右辺は、左辺第1項の行列と、左辺第2項の行列の行列積とを計算したものである。式(1)の右辺の1列目は、右画像P1Rから抽出した1グリッド目の特徴量と左画像P1Lから抽出した特定の列の水平方向の各グリッドの特徴量の相関を表し、1行目は、左画像P1Lから抽出した1グリッド目の特徴量と右画像P1Rから抽出した特定の列の水平方向の各グリッドの特徴量の相関を表す。すなわち、式(1)の右辺は、左画像P1Lの各グリッドの特徴量と、右画像P1Rの各グリッドの特徴量との相関マップを示す。なお、式(1)において、添字「m」は各画像の水平方向のグリッドの位置を示し、添え字「n」は各グリッドにおける特徴量の番号を示す。すなわち、mは1~40であり、nは1~256である。
 次に、推定部152は、算出された相関マップを用いて、行列(1)に示すような左画像P1Lに対する右画像P1RのマッチングマップMLを算出する。左画像P1Lに対する右画像P1RのマッチングマップMLは、例えば、相関マップの行方向に対してSoftmax関数を適用することにより算出される。これにより、水平方向の相関の値を正規化している。つまり、行方向の値をすべて合計すると1になるよう変換している。
Figure JPOXMLDOC01-appb-M000002
 次に、推定部152は、算出されたマッチングマップMLに、例えば、式(2)により、右画像P1Rから抽出された特徴量を畳み込む。式(2)の左辺第1項は、行列(1)を転置したものであり、左辺第2項は、式(1)の左辺第1項の行列である。なお、本発明では、相関を取るための特徴量と、マッチングマップに畳み込むための特徴量とは同じものを用いているが、抽出された特徴量から畳み込みニューラルネットワーク等によって、新たに相関を取るための特徴量と畳み込むための特徴量を別々に生成しても良い。
 次に、推定部152は式(2)で得られた特徴量を左画像P1Lから抽出された特徴量に連結させて、例え畳み込みニューラルネットワークによって新たな特徴量を生成する。このように、左右の画像の特徴量を統合することにより、位置、姿勢の推定精度が向上する。なお、図15における処理mは複数回繰り返しても良い。
Figure JPOXMLDOC01-appb-M000003
 次に、推定部152はここで得られた特徴量から、例えば畳み込みニューラルネットワークによって位置、姿勢及びクラス分類を推定する。あわせて、推定部152は、算出された相関マップを用いて、行列(2)に示すような右画像P1Rに対する左画像P1LのマッチングマップMRを算出する(ステップS202)。右画像P1Rに対する左画像P1LのマッチングマップMRも、左画像P1Lに対する右画像P1RのマッチングマップMLと同様に、例えば、相関マップの行方向に対してSoftmax関数を適用することにより算出される。
Figure JPOXMLDOC01-appb-M000004
 次に、推定部152は、算出されたマッチングマップに、例えば、式(3)により、左画像P1Lの特徴量を畳み込む。式(3)の左辺第1項は、行列(2)であり、左辺第2項は、式(1)の左辺第2項の行列の転置前のものである。
Figure JPOXMLDOC01-appb-M000005
 次に推定部152は、あらかじめ設定しておいた閾値と、左画像P1Lから推定したターゲット(対象物)のクラス分類の推定結果が一番大きいグリッドを選択して比較する(ステップS203)。閾値をこえていなかった場合は、ターゲットが無いとして終了する。閾値をこえていた場合は、そのグリッドに対する右画像P1RとのマッチングマップMLから、一番大きい値のグリッドを選択する(ステップS204)。
 次に、選択したグリッドにおいて、右画像P1Rのターゲットのクラス分類の推定結果とあらかじめ設定しておいた閾値とを比較する(ステップS208)。閾値をこえていた場合は、そのグリッドに対する左画像P1LとのマッチングマップMLから一番大きい値のグリッドを選択する(ステップS209)。閾値を超えていない場合は、左画像P1Lの推定結果から選択したグリッドのクラス分類スコアを0にしてステップS203へ戻る(ステップS207)。
 次に、ステップS209にて選択したマッチングマップMLのグリッドと、ステップS204にて左画像P1Lの推定結果から選択したグリッドが等しいかを比較する(ステップS210)。グリッドが異なる場合は、ステップS204にて左画像P1Lの推定結果から選択したグリッドのクラス分類スコアを0にして、ステップS203のグリッドの選択に戻る(ステップS207)。最終的に、左画像P1L及び右画像P1Rで選択したグリッドの位置情報(例えば、図1における水平方向xの値)の検出結果から視差を算出する(ステップS211)。
 次に、ステップS211から算出した視差をもとに、ターゲットの深度を算出する(ステップS212)。なお、複数のターゲットに対して深度を算出する場合は、ステップS211の後、左画像P1L及び右画像P1Rの推定結果から選択したグリッドのクラス分類スコアを0にしてからステップS203に戻り、以後、ステップS212までを繰り返せば良い。
 以上述べたように、第1の実施形態における画像処理装置10は、取得部と、推定部と、を備える。取得部は、バラ積みされたワークを撮影した第1の画像及び第2の画像を取得する。推定部は、第1の画像の特徴量と、第2の画像の特徴量とのマッチングマップを生成し、第1の画像と第2の画像それぞれに対してターゲットとなる各ワークの位置と姿勢とクラス分類スコアを推定し、前記アテンションマップを用いたマッチング結果と位置の推定結果に基づいて、ワーク位置を推定することにより、ステレオカメラからワークまでの深度を算出する。これにより、物体認識における誤検出を抑制できる。
(変形例)
 以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて種々の変更が可能である。例えば、第1の実施形態では、対象物(ワーク)が1種類である場合について説明したが、これに限られず、画像処理装置10が、複数のワークの種類を検出するような構成であってもよい。また、画像処理装置10は、対象物を検出するだけでなく、対象物が配置されたトレイ等の位置や姿勢をさらに検出してもよい。図16は、変形例に係るトレイを含むバラ積み画像の一例を示す図である。図16に示す例において、画像処理装置10は、対象物が配置されたトレイの位置及び姿勢を特定することにより、ロボットアーム30がトレイに衝突しないような軌道を設定することができる。なお、検出する対象であるトレイは、障害物の一例である。画像処理装置10は、トレイ以外のその他の障害物となるものを検出するような構成であってもよい。
 また、画像処理装置10が、例えばバラ積み画像を40×40のグリッドに区分する例について説明したが、これに限られず、より細かな、あるいは、より粗いグリッドに区分して対象物を検出してもよく、また画素単位で推定処理を行ってもよい。これにより、画像処理装置10は、より精度よくカメラと対象物との距離を算出することができる。図17は、変形例に係る位置ずれ推定モデルの一例を示す図である。図17に示すように、画像処理装置10は、左画像P1Lと右画像P1Rのうち、推定位置周辺のグリッドよりもサイズが小さい部分を切り出して結合してもよい。そして、第1の実施形態における推定処理と同様に推定処理を行い、処理結果に基づいて位置ずれを推定してもよい。
 また、細かな、あるいは、粗いグリッド単位や画素単位で推定処理を行う場合に、第1の実施形態と同様に、左画像P1Lと右画像P1Rとで、それぞれ個別に推定処理を行ってもよい。図18は、変形例に係る位置ずれ推定モデルの別の一例を示す図である。図18に示す例では、画像処理装置10は、左画像P1Lと右画像P1Rとに対し、それぞれ別々に推定処理を行う。この場合においても、画像処理装置10は、第1の実施形態と同様に、それぞれの推定処理を行う際に、左画像P1Lに対する重み付けを、右画像P1Rに対する重み付けと共有してもよい。
 また、以上述べた推定処理を、バラ積みされたワーク41、42の画像に対してではなく、ロボットアーム30や、ロボットアーム30に保持されたワーク41、42、又は整列先に整列されたワーク41、42に対して行ってもよい。
 また、上記実施の形態により本発明が限定されるものではない。上述した各構成要素を適宜組み合わせて構成したものも本発明に含まれる。また、さらなる効果や変形例は、当業者によって容易に導き出すことができる。よって、本発明のより広範な態様は、上記の実施の形態に限定されるものではなく、様々な変更が可能である。
 1 物体把持システム
 10 画像処理装置
 20 カメラ
 30 ロボットアーム
 41、42 ワーク

Claims (4)

  1.  カメラと、
     バラ積みされたワークを把持するロボットアームと、
     画像処理装置と、と備え、
     前記画像処理装置は、
     バラ積みされたワークの画像と、
     前記ワークの一部を前記ロボットアームが把持している把持状態画像と、を
     前記カメラから取得する取得部を有する把持装置。
  2.  前記画像処理装置は、前記把持状態画像に基づいて、前記ロボットアームにより保持されているワークの位置及び姿勢を推定する、請求項1に記載の把持装置。
  3.  前記カメラはステレオカメラであり、
     前記画像処理装置は、前記ステレオカメラにより撮像された前記把持状態画像に基づいて、前記ロボットアームにより把持されているワークの深度を算出する、請求項2に記載の把持装置。
  4.  前記画像処理装置は、前記把持状態画像に基づいて、前記ロボットアームの位置及び姿勢をさらに推定する、請求項1乃至3のいずれか1つに記載の把持装置。
PCT/JP2020/040703 2019-10-31 2020-10-29 把持装置 WO2021085562A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-199419 2019-10-31
JP2019199419A JP7356867B2 (ja) 2019-10-31 2019-10-31 把持装置

Publications (1)

Publication Number Publication Date
WO2021085562A1 true WO2021085562A1 (ja) 2021-05-06

Family

ID=75712110

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/040703 WO2021085562A1 (ja) 2019-10-31 2020-10-29 把持装置

Country Status (2)

Country Link
JP (1) JP7356867B2 (ja)
WO (1) WO2021085562A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014176923A (ja) * 2013-03-14 2014-09-25 Yaskawa Electric Corp ロボットシステムおよび被加工物の製造方法
JP2015199155A (ja) * 2014-04-07 2015-11-12 キヤノン株式会社 情報処理装置および情報処理方法、プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014176923A (ja) * 2013-03-14 2014-09-25 Yaskawa Electric Corp ロボットシステムおよび被加工物の製造方法
JP2015199155A (ja) * 2014-04-07 2015-11-12 キヤノン株式会社 情報処理装置および情報処理方法、プログラム

Also Published As

Publication number Publication date
JP7356867B2 (ja) 2023-10-05
JP2021070123A (ja) 2021-05-06

Similar Documents

Publication Publication Date Title
WO2021085561A1 (ja) 学習データ生成方法
EP2202672B1 (en) Information processing apparatus, information processing method, and computer program
US20160117824A1 (en) Posture estimation method and robot
JP2018522348A (ja) センサーの3次元姿勢を推定する方法及びシステム
JP6328327B2 (ja) 画像処理装置及び画像処理方法
CN112652016A (zh) 点云预测模型的生成方法、位姿估计方法及其装置
EP2933604B1 (en) A method for localizing a robot in a localization plane
JP6487642B2 (ja) 手指形状の検出方法、そのプログラム、そのプログラムの記憶媒体、及び、手指の形状を検出するシステム。
EP2476999B1 (en) Method for measuring displacement, device for measuring displacement, and program for measuring displacement
CN105892633A (zh) 手势识别方法及虚拟现实显示输出设备
JP2015049776A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
EP3185212B1 (en) Dynamic particle filter parameterization
JP2017036970A (ja) 情報処理装置、情報処理方法、プログラム
JP7145770B2 (ja) 車間距離測定装置、誤差モデル生成装置および学習モデル生成装置とこれらの方法およびプログラム
WO2021085560A1 (ja) 画像処理装置及び画像処理方法
JP2019211981A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP2020021212A (ja) 情報処理装置、情報処理方法及びプログラム
WO2021085562A1 (ja) 把持装置
Phan et al. Towards 3D human posture estimation using multiple kinects despite self-contacts
KR20100107976A (ko) 3차원 사용자 인터페이스 장치 및 그 방법
Graae et al. Stereoscopic vision for a humanoid robot using genetic programming
CN115862124A (zh) 视线估计方法、装置、可读存储介质及电子设备
EP4129584A1 (en) Calibration system, information processing system, robot control system, calibration method, information processing method, robot control method, calibration program, information processing program, calibration device, information processing device, and robot control device
JP7474083B2 (ja) 対象物3次元データ測定方法、学習データ生成方法および学習データ生成装置
KR20090070258A (ko) 3차원 기하학 정보를 이용한 실시간 지시 영역 추정 방법

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

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

Country of ref document: EP

Kind code of ref document: A1