CN116206101A - 用于混合尺寸卸垛的算法 - Google Patents

用于混合尺寸卸垛的算法 Download PDF

Info

Publication number
CN116206101A
CN116206101A CN202211491953.3A CN202211491953A CN116206101A CN 116206101 A CN116206101 A CN 116206101A CN 202211491953 A CN202211491953 A CN 202211491953A CN 116206101 A CN116206101 A CN 116206101A
Authority
CN
China
Prior art keywords
mask
image
pixels
generating
boxes
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202211491953.3A
Other languages
English (en)
Inventor
汤特
加藤哲朗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Publication of CN116206101A publication Critical patent/CN116206101A/zh
Pending legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/155Segmentation; Edge detection involving morphological operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/34Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40006Placing, palletize, un palletize, paper roll placing, box stacking
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40607Fixed camera to observe workspace, object, workpiece, global
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

本申请涉及一种用于混合尺寸卸垛的算法,更具体地,涉及一种用于识别要由机器人从多个箱子的堆叠中拾取的箱子的系统和方法。该方法包括使用3D相机获得该多个箱子的2D红绿蓝(RGB)彩色图像和该多个箱子的2D深度图图像。该方法采用图像分割过程,该图像分割过程使用由中央处理单元(CPU)可执行的简化的掩模R‑CNN来预测RGB图像中的哪些像素与每个箱子相关联,其中与每个箱子相关联的那些像素被分配唯一标签,唯一标签组合以定义用于箱子的掩模。然后,该方法使用分割图像识别用于拾取箱子的位置。

Description

用于混合尺寸卸垛的算法
技术领域
本公开一般涉及用于识别要由机器人从多个对象的组中拾取的对象的系统和方法,并且更具体地涉及用于识别要由机器人从多个箱子的堆叠中拾取的箱子的系统和方法,其中该方法采用图像分割过程,该图像分割过程使用由中央处理单元(CPU)可执行的简化的掩模R-CNN或其他神经网络来预测箱子的中心区域以及用于识别围绕中心区域的箱子的边缘的传统操作。
背景技术
机器人执行包括拾取和放置操作的大量商业任务,其中机器人拾取对象并将对象从一个位置移动到另一个位置。例如,机器人可以从运货板上拾取箱子并将箱子放置在传送带上,其中机器人可能采用具有吸盘的末端执行器来保持箱子。为了使机器人有效地拾取箱子,机器人需要知道它正拾取的箱子的宽度、长度和高度,所述宽度、长度和高度在拾取和放置操作之前被输入到机器人控制器中。然而,同一运货板上的箱子经常具有不同的尺寸,这使得在拾取和放置操作期间将箱子的尺寸输入到机器人中是低效的。这些箱子也可以并排地放置在相同的高度,在此区分它们是单独的箱子还是单个大的箱子是有挑战性的。
在一种已知的机器人拾取和放置系统中,机器人将拾取的箱子的宽度、长度和高度首先输入到系统中。3D相机获取箱子的堆叠的自顶向下图像,并且生成箱子的2D灰度图像和箱子的2D灰度深度图图像,其中深度图图像中的每个像素具有定义从相机到特定箱子的距离的值,即,像素越靠近对象,其值越低。机器人控制器基于所述箱子的宽度和长度提供一系列投影模板,每个投影模板具有用于所述相机与所述箱子之间的特定距离的尺寸。在搜索过程中,用于深度图图像提供的箱子的距离的模板在2D灰度图像周围移动,使得当模板与灰度图像中的箱子匹配或对准时,机器人控制器将知道箱子的位置,并且将使用该位置来定义箱子的中心以控制机器人拾取箱子。
转让给本申请的受让人并且通过引用结合于此的、标题为混合尺寸卸垛、2020年9月9日提交的序列号为17/015,817的美国专利申请公开了一种用于识别将由机器人从多个箱子的堆叠中拾取的箱子的系统和方法。该方法包括使用3D相机来获得箱子的2D红绿蓝(RGB)彩色图像和箱子的2D深度图图像,其中深度图图像中的像素被分配有标识从相机到箱子的距离的值。该方法采用修改的深度学习掩模R-CNN(卷积神经网络),其通过执行图像分割过程来生成箱子的分割图像,该图像分割过程从RGB图像和深度图图像提取特征,组合图像中的所提取的特征,并且向特征图像中的像素分配标签,使得分割图像中的每个箱子具有相同的标签。然后,该方法使用分割图像识别用于拾取箱子的位置。
'817申请中描述的方法已经被示出为对于识别用于机器人拾取的箱子的堆叠中的箱子是有效的。然而,'817申请中公开的方法采用深度学习神经网络用于图像滤波步骤、区域建议步骤和二值分割步骤。这些类型的深度学习神经网络需要大量的处理,使得为了具有现实和实际的机器人拾取时间,通常由于并行处理而提供比中央处理单元(CPU)更高速度的图形处理单元(GPU)通常需要被用于深度学习神经网络计算。例如,通过在'817方法中采用CPU进行神经网络处理,该过程将花费大约2.272秒来识别要拾取的箱子,而在'817方法中使用GPU进行神经网络处理,该过程仅需要大约0.1185秒。然而,诸如机器人系统之类的工业应用目前不利于采用GPU,因为目前使用的标准协议以及这些系统经常经受的恶劣环境。
发明内容
以下讨论公开并描述了用于识别要由机器人从多个箱子的堆叠中拾取的箱子的系统和方法。该方法包括使用3D相机来获得该多个箱子的2D红绿蓝(RGB)彩色图像和该多个箱子的2D深度图图像,其中深度图图像中的像素被分配识别从相机到该多个箱子的距离的值。该方法通过在由中央处理单元(CPU)可执行的简化的掩模R-CNN(卷积神经网络)中执行图像分割过程来生成该多个箱子的分割掩模图像。图像分割过程从RGB图像提取特征,并使用提取的特征来预测RGB图像中的哪些像素与每个箱子相关联,其中与每个箱子相关联的那些像素被分配唯一标签,唯一标签组合以定义用于箱子的掩模。该方法选择分割掩模图像中的多个掩模中的一个,并且识别和去除所选择的掩模中的与比与掩模相关联的箱子低的箱子相关联的像素,以提供细化的掩模。该方法然后使用形态学过程根据细化的掩模生成下边界掩模和上边界掩模,并且使用细化过程根据下边界掩模和上边界掩模生成扩展掩模。该方法然后使用扩展掩模来识别用于拾取箱子的位置。
结合附图,从以下描述和所附权利要求,本公开的附加特征将变得显而易见。
附图说明
图1是机器人系统的图示,该机器人系统包括从运货板拾取箱子并将它们放置在传送带上的机器人;
图2是作为图1所示的机器人系统的一部分的混合尺寸卸垛系统的示意性框图;
图3是与图2所示的系统分离的分割模块的示意性框图;
图4是与图3所示的系统分离的简化的掩模R-CNN的示意性框图;
图5是由图4所示的掩模R-CNN产生的分割掩模图像;
图6是示出了堆叠中的箱子的计数峰值的直方图,其中,深度在水平轴上,计数在垂直轴上;
图7是包括去除了较低像素的细化的掩模的掩模图像;
图8是包括上和下边界掩模的掩模图像;
图9是上边界掩模的初始图像,其中初始图像中的每个像素的值是光强度;
图10是图9所示的初始图像的梯度图像;
图11A-11E示出了梯度图像,其中围绕梯度峰值的区域被填充;
图12是包括扩展掩模的扩展掩模图像;
图13是从示出最小边界框的扩展掩模图像生成的边界框图像;
图14是用于使用深度学习神经网络来检测多个对象的组中的多个对象的中心区域的分割系统的框图;以及
图15是用于使用传统分割过程来检测多个对象的组中的多个对象的边缘的分割系统的框图。
具体实施方式
以下对本公开实施例的讨论涉及用于识别要由机器人从多个箱子的堆叠中拾取的箱子的系统和方法,其中该方法采用图像分割过程,该图像分割过程使用由中央处理单元(CPU)可执行的简化的掩模R-CNN来预测RGB图像中的哪些像素与每个箱子相关联,该讨论本质上仅是示例性的,并且决不旨在限制本发明或其应用或使用。例如,该系统和方法具有用于识别将由机器人拾取的箱子的应用。然而,该系统和方法可以具有其他应用。
图1是机器人系统10的图示,该系统包括具有末端执行器14的机器人12,该末端执行器被配置成用于从放置在运货板20上的多个箱子16的堆叠18中拾取该多个箱子16并且将它们放置在传送带22上。该系统10旨在表示能够受益于本文的讨论的任何类型的机器人系统,其中机器人12可以是适合于该目的任何机器人。3D相机24被放置成获取该多个箱子16的堆叠18的自上而下的2D RBG和深度图图像,并将它们提供给控制机器人12的移动的机器人控制器26。该多个箱子16可以在运货板20上具有不同的定向,可以在运货板20上被堆叠为多层,并且可以具有不同的尺寸。
如下面将详细讨论的,机器人控制器26采用确定机器人12将拾取的该多个箱子16的每个的尺寸的算法,而不需要将箱子16的长度、宽度和高度先前输入到控制器26中并且不需要生成该多个箱子16的投影模板。更具体地说,该算法执行图像分割过程,该图像分割过程将标签分配给图像中的每个像素,使得具有相同标签的各个像素共享某些特性。因此,分割过程预测哪个像素属于该多个箱子16中的哪个,其中不同的标记表示不同的箱子16。
现代图像分割技术通常采用深度学习技术。深度学习是一种特定类型的机器学习,其通过将特定的真实世界环境表示为日益复杂的概念的层次来提供更大的学习性能。深度学习通常采用包括执行非线性处理的若干层神经网络的软件结构,其中每个连续层接收来自前一层的输出。通常,这些层包括接收来自传感器的原始数据的输入层、从数据中提取抽象特征的多个隐藏层、以及基于来自隐藏层的特征提取来识别特定事物的输出层。神经网络包括多个神经元或多个节点,每个神经元或节点具有“权重”,该权重乘以节点的输入以获得某物是否正确的概率。更具体地说,每个节点具有权重,该权重是一个浮点数,该浮点数与该节点的输入相乘,以生成该节点的输出,该输出是该输入的某一比例。通过使神经网络在监督处理下分析一组已知数据,并通过最小化成本函数以允许网络获得正确输出的最高概率,来初始“训练”或设置权重。深度学习神经网络经常被用来提供图像特征提取和变换,以用于图像中的对象的视觉检测和分类,其中视频或图像流可以由网络分析以识别和分类对象并且通过该过程学习以更好地识别对象。因此,在这些类型的网络中,系统可以使用相同的处理配置来检测某些对象,并且基于算法如何学习以识别对象来对它们进行不同的分类。
神经网络中的层的数量和层中的节点的数量确定网络的复杂度、计算时间和性能准确度。神经网络的复杂度可以通过减少网络中的层数、层中的节点数或这两者来降低。然而,降低神经网络的复杂度降低了其学习的准确性,其中已经示出,减少层中的节点的数量具有优于减少网络中的层的数量的准确性益处。'817申请采用深度学习神经网络来提供作为深度学习掩模R-CNN的修改形式的分割。本公开提出使用更小的或压缩的深度学习神经网络来执行分割过程,以便以与'817申请中相同的方式识别要拾取的箱子的位置,在此称为简化的掩模R-CNN,使得CPU可以用于执行计算并且对于机器人12仍然具有适当的计算时间,例如0.528秒。在一个非限制实施例中,通过将层中的节点数量减少一半来实现神经网络的大小。然而,通过减少神经网络中的节点的数量,神经网络准确地预测箱子16的位置和定向的能力显著降低,其中箱子16的边缘难以预测。例如,分割过程将需要使用较大的边界框来确保在图像中识别出整个箱子16。因此,执行附加的处理步骤以更精确地识别由机器人12拾取的箱子16的位置。
图2是混合尺寸卸垛系统30的示意性框图,该系统是机器人系统10中的控制器26的一部分,其操作以从运货板20上拾取该多个箱子16,其中系统30包括执行计算的CPU 28。系统30从相机24接收放置在运货板20上的该多个箱子16的顶视图的2D RGB图像32和该多个箱子16的顶视图的2D深度图图像34。图像32和34被提供给分割模块36,其使用简化的掩模R-CNN执行图像分割过程,其中分割掩模中的每个像素被分配特定标签,并且其中与相同箱子16相关联的各个像素具有相同标签。
图3是与系统30分离的模块36的示意性框图,其中RGB图像32和深度图像34被提供给简化的掩模R-CNN 38,其以与'817应用中的深度学习掩模R-CNN相同或相似的方式操作。图4是与模块36分开的掩模R-CNN 38的示意性框图。RGB图像32被提供给执行从图像32提取特征的滤波过程的特征提取模块40。例如,模块40从图像32提取梯度、边缘、轮廓、基本形状等,并提供RGB图像32的提取的特征图像44。特征图像44被提供给区域建议模块50,其使用掩模R-CNN 38来分析特征图像44中的识别的特征以预测图像44中的该多个箱子16的位置。特别地,模块50提供不同大小的多个边界框,诸如50到100个框,即,具有各种长度和宽度的框,其被用于识别箱子16存在于图像44中的某个位置的概率。区域建议模块50使用本领域技术人员公知的滑动搜索窗口模板,其中包括所有边界框的搜索窗口在特征图像44上例如从图像44的左上到图像44的右下移动,以寻找识别图像44中的该多个箱子16中的一个的可能存在的特征。
滑动搜索窗口产生包括多个边界框52的边界框掩模图像54,每个边界框包围图像44中的预测的箱子,其中每当机器人12从堆叠18中移除该多个箱子16中的一个时,掩模图像54中的边界框52的数量可以减少。模块50参数化每个框52的中心位置(x,y)、宽度(w)和高度(h),并且提供每个边界框52覆盖图像32中的箱子16的0%和100%之间的预测置信度值。掩模图像54被提供给二值分割模块56,其使用掩模R-CNN 38估计每个像素是否属于该多个边界框52的每一个中的箱子16,以消除框52中的没有覆盖图像32中的箱子16的像素。为掩模图像54中的该多个框52中的每个中的剩余像素分配用于特定箱子16的值,使得生成2D分割掩模图像58,参见图5,其包括预测图像32中的该多个箱子16的位置的多个掩模60,其中每个掩模60具有不同的诸如颜色之类的标记。然后,该算法选择掩模图像58中的该多个掩模60中的一个,其具有覆盖箱子16的高置信度值或概率。
因为简化的掩模R-CNN38是比'817申请中采用的深度学习掩模R-CNN复杂度更低的神经网络,所以掩模图像58中的不同颜色掩模通常将不会足够精确地遵循箱子16的尺寸以使机器人12在最佳位置和定向拾取箱子16。换句话说,降低了掩模R-CNN 38检测箱子16的边缘的准确性,但是掩模R-CNN检测箱子16的中心区域的能力是令人满意的。因此,需要进一步细化选择的掩模60的大小以使选择的掩模60与其正掩模的箱子16的大小紧密匹配。作为第一细化步骤,该算法使用深度图图像34确定选择的掩模60是否包括顶层的箱子的像素和底层的箱子的一部分的像素,例如参见掩模60,并且如果包括,则从选择的掩模60中移除底层像素。选择的掩模60被发送到深度直方图模块62,该模块移除掩模60中不在图像32的顶层中的像素。
图6是深度直方图的图示,其中深度在水平轴上,计数在垂直轴上,其中例如来自相机24的每厘米深度定义单独的“条”。深度图图像34中的每个像素根据其与相机24的距离而被分配值,并且深度图图像34中的每个像素是计数,并且每个计数根据其值而被分配给条。因此,特定层中的箱子16的像素将被分配给相同的条或周围的条。直方图示出了在70cm深度处的顶层计数的峰值70、在90cm深度处的中间层计数的峰值72、以及在105cm深度处的底层计数的峰值74,其中,在距相机24零cm处的峰值76包括来自不能被测量的像素的计数并且被消除,而在距相机24 120cm处的峰值78是地面并且也被消除。因此,掩模60中不在峰值70中的像素被去除,并且提供了细化的掩模64,如图7中的细化的掩模图像66所示。
细化的掩模64仍然不能足够精确地预测顶层中的选择的箱子16的边界。因此,细化的掩模64被发送到计算掩模64的上边界和下边界的形态学运算模块80,其中掩模64正覆盖的箱子16的边界将在上边界和下边界之间。更具体地说,该算法执行扩大过程和侵蚀过程,在扩大过程中,将预定数量的像素添加到细化的掩膜64的外边界,在侵蚀过程中,将预定数量的像素从细化的掩膜64的外边界去除。这在图8中示出,其示出了图像82,在其中掩膜64已经被转换为下边界细化的掩膜84和上边界细化的掩膜86。
将细化的掩模84和86提供给细化模块88,其采用细化过程来确定掩模64正覆盖的箱子16的实际边界。该过程首先包括生成初始图像,如图9所示,该初始图像是RGB图像32的裁剪图像,其仅包括图像32中的由上边界掩模86限定的区域,并且其中初始图像中的每个像素的值是光强度。然后对初始图像执行梯度操作以获得如图10所示的梯度图像,其中梯度图像具有与初始图像相同的形状,但是其中每个像素强度被梯度强度替代。更具体地说,对于初始图像中的每个像素,该过程识别其相邻像素,即,其上、下、右和左像素的强度。像素的水平梯度Gx由其右像素强度减去其左像素强度确定,而像素的垂直梯度Gy由其上像素强度减去其下像素强度确定。然后,像素的梯度被计算为Gx2+Gy2的平方根。因此,RGB图像32中具有较大颜色或强度变化的那些区域将具有较大梯度,并且将具有成为被掩模64覆盖的箱子16的边界的高概率。
然后,梯度图像中的像素被给予值,以模拟一个水源将水引入到下边界掩模84中而另一个水源将水引入到上边界掩模86之外的过程。当水填充在峰值梯度像素两侧上的下区域时,其中峰值梯度像素大概限定了掩模64正覆盖的箱子16的边界,来自两个源的水将最终在梯度峰值处接触,其将被标记为边界像素。例如,上边界掩模86之外的像素被赋予零的像素值,然后执行扩大过程,其中像素值的强度被增加以将像素值扩展到掩模86中。类似地,下边界掩模84中的像素被赋予一的像素值,然后执行扩大过程,其中像素值的强度被增加以将像素值扩展到上边界掩模86中。该过程在图11A-11E中示出,每个图示出了梯度图像,其中围绕梯度峰值的区域被填充。一旦识别了边界像素,就生成扩展掩模90,如图12中的扩展掩模图像92所示。
然后,扩展掩模90被发送到最小边界框模块94,其确定扩展掩模90的定向角(θ),并且因此确定其正覆盖的箱子16的定向角,这允许机器人12基于该角在箱子16被拾取之后将箱子16转动期望的量。更特别地,模块94围绕扩展掩模90旋转边界框,并使用迭代最小矩形搜索来减小其尺寸,以获得围绕掩模90的最小尺寸的边界框,例如图13中的边界框图像98中所示的最小边界框96。
回到图2,最小边界框96内的像素的x-y坐标然后被提供给确定最小边界框96的中心像素模块100。中心像素的x-y坐标连同计算最小边界框96的中心像素的x-y-z笛卡尔坐标的深度图图像34一起被提供给笛卡尔坐标模块102,其中深度图图像34知道真实世界中的每个像素位置。然后,最小边界框96的中心像素的x-y-z坐标被用于在抓取位置模块104中识别x-y-z抓取位置以定位末端执行器14。末端执行器14的抓取位置和来自垂直定向模块106的箱子16的已知垂直定向在抓取姿态模块108中确定末端执行器14的抓取姿态或定向,其中抓取姿态包括末端执行器14的x-y-z坐标和偏转、俯仰和滚动以提供末端执行器14的向箱子16的接近定向,并且其中可以提供箱子16的其他定向,诸如箱子表面的正交定向,而不是垂直定向。在拾取模块110处执行机器人运动以拾取箱子16。一旦箱子16被拾取,从分割模块36接收旋转参数θ的对象旋转模块112使机器人12在所有x-y-z方向上将箱子16旋转由旋转参数θ确定的期望量,以便例如在传送带22上适当地对准箱子16。然后机器人12发信号给相机24以提供新的RGB和深度图图像,其中先前拾取的箱子16已经从堆叠18中移除。该过程继续直到所有箱子16已经被机器人12拾取并且放置在传送带22上。
如上所述,简化的掩模R-CNN38能够精确地预测箱子16的中心区域,但是不能精确地预测箱子16的边缘。这在示出图像分割系统120的框图的图14中示出。系统120包括具有带有多个节点126的多个层124的深度学习神经网络122,其接收多个箱子132的组130的RBG图像128,其中神经网络122可以是掩模R-CNN或其他类型的深度学习神经网络。神经网络122以上述方式或以其它方式生成分割图像134,其包括箱子132的中心区域136的准确描绘,其中分割图像134将类似于分割图像58。注意,所描述的一般操作不限于预测箱子的位置,而是可以用于预测来自多个对象的组的任何合适对象的位置。
上述讨论采用了使用模块62、80、88和94的“传统”技术,以使用由简化的掩模R-CNN38提供的箱子16的中心区域的精确预测来精确地确定分割图像58中箱子16的边缘。然而,也可以采用其它传统技术来预测箱子16的边缘。这在图15中被一般性地示出,图15示出了能够识别RGB图像128中箱子132的边缘的传统系统140的框图。在该非限制性实施例中,使用九个框144的滑动矩阵142来执行逐像素乘法过程,以确定矩阵142中的中心框的强度值,该中心框在这里具有强度值4,其是图像128中的多个像素中的特定像素。通过减去左框和右框的值以获得平均值来确定水平方向上的中心框的值。同样地,通过减去顶部核和底部核的值以获得平均值来确定垂直方向上的中心框的值。矩阵142将在图像128上滑动,使得图像128中的每个像素的强度值以这种方式确定,其中高强度像素可以是箱子132的边缘。这将产生边缘图像146,其中由高强度线148示出箱子132的可能边缘。因此,如果分割图像134是系统140的输入,则中心区域136周围的高强度线能够被识别为与特定中心区域136相关联的箱子132的边缘。
如本领域技术人员将充分理解的,本文中讨论的用于描述本公开的若干和各种步骤和过程可以指由计算机、处理器或使用电现象来操纵和/或变换数据的其他电子计算设备执行的操作。那些计算机和电子设备可以采用各种易失性和/或非易失性存储器,包括其上存储有可执行程序的非瞬态计算机可读介质,所述可执行程序包括能够由计算机或处理器执行的各种代码或可执行指令,其中存储器和/或计算机可读介质可以包括所有形式和类型的存储器和其他计算机可读介质。
前述讨论仅公开和描述了本公开的示例性实施例。本领域技术人员将容易地从这样的讨论和从附图和权利要求认识到,在不偏离如在所附权利要求中限定的本公开的精神和范围的情况下,可以在其中进行各种改变、修改和变化。

Claims (26)

1.一种用于从多个对象箱子的组中拾取对象箱子的方法,所述方法包括:
使用3D相机获得多个箱子的2D红绿蓝(RGB)彩色图像;
使用所述3D相机获得所述多个箱子的2D深度图图像,其中所述深度图图像中的像素被分配识别从所述相机到所述多个箱子的距离的值;
通过在神经网络中执行图像分割过程来生成所述多个箱子的分割掩模图像,所述图像分割过程从所述RGB图像提取特征并且使用所提取的特征来预测所述RGB图像中的哪些像素与每个箱子相关联,其中与每个箱子相关联的那些像素被分配唯一标签,所述唯一标签组合以定义用于所述箱子的掩模;
选择所述分割掩模图像中的多个掩模中的一个;
识别并移除所选择的掩模中的与比与所选择的掩模相关联的对象箱子低的对象箱子相关联的像素,以提供细化的掩模;
使用形态学过程根据所述细化的掩模生成下边界掩模和上边界掩模;
使用细化过程根据所述下边界掩模和所述上边界掩模生成扩展掩模;以及
使用所述扩展掩模来识别用于拾取所述箱子的位置。
2.根据权利要求1所述的方法,其中,所述神经网络是简化的掩模R-CNN(卷积神经网络)。
3.根据权利要求1所述的方法,其中,生成分割掩模图像包括提供多个边界框,将所述多个边界框与所述提取的特征对准,以及提供包括围绕所述多个对象箱子的边界框的边界框图像。
4.根据权利要求3所述的方法,其中,生成分割掩模图像包括确定对象箱子存在于每个边界框中的概率。
5.根据权利要求3所述的方法,其中,生成分割掩模图像包括从所述边界框图像中的每个边界框去除不与对象箱子相关联的像素。
6.根据权利要求1所述的方法,其中识别并移除所选择的掩模中的像素包括使用所述深度图图像。
7.根据权利要求1所述的方法,其中生成下边界掩模和上边界掩模包括执行扩大过程和侵蚀过程,在所述扩大过程中,将预定数量的像素添加到所述细化的掩模的外边界,在所述侵蚀过程中,将预定数量的像素从所述细化的掩模的外边界移除。
8.根据权利要求1所述的方法,其中生成扩展掩模包括:生成初始图像,所述初始图像仅包括RBG图像的由所述上边界掩模限定的区域,其中所述初始图像中的每个像素的值是光强度;然后根据所述初始图像生成梯度图像,其中每个像素强度被基于相邻像素的梯度强度替代,以及然后扩大像素强度以识别梯度图像中的峰。
9.根据权利要求1所述的方法,还包括通过拟合围绕所述扩展掩模的最小尺寸边界框来确定所述扩展掩模的定向角(θ)。
10.根据权利要求9所述的方法,其中,拟合围绕所述扩展掩模的最小尺寸边界框包括使用迭代最小矩形搜索来获得围绕所述扩展掩模的最小尺寸边界框。
11.根据权利要求1所述的方法,其中识别用于拾取所述对象箱子的位置包括识别最终边界掩模的中心像素,以及使用所述中心像素的位置和所述深度图图像来计算所述中心像素的x-y-z坐标。
12.根据权利要求11所述的方法,其中识别用于拾取所述对象箱子的位置包括使用所述x-y-z坐标以及俯仰、偏转及滚动位置来确定用于拾取所述对象箱子的抓取姿态。
13.根据权利要求12所述的方法,其中所述对象箱子由机器人拾取,并且所述抓取姿态确定机器人末端执行器的姿态。
14.一种用于从多个对象的组中选择对象的方法,所述方法包括:
使用3D相机获得所述多个对象的2D红绿蓝(RGB)彩色图像;
通过在神经网络中执行图像分割过程来生成所述多个对象的分割掩模图像,所述图像分割过程从所述RGB图像提取特征并且使用所提取的特征来预测所述RGB图像中的哪些像素与每个对象相关联,其中与每个对象相关联的那些像素被分配唯一标签,所述唯一标签组合以定义用于所述对象的掩模;
选择所述分割掩模图像中的多个掩模中的一个;
识别并移除所选择的掩模中的与比与所选择的掩模相关联的对象低的对象相关联的像素,以提供细化的掩模;
使用形态学过程根据所述细化的掩模生成下边界掩模和上边界掩模;
使用细化过程根据所述下边界掩模和所述上边界掩模生成扩展掩模;以及
使用所述扩展掩模来识别所述对象的位置。
15.根据权利要求14所述的方法,其中,所述神经网络是简化的掩模R-CNN(卷积神经网络)。
16.根据权利要求14所述的方法,其中,生成分割掩模图像包括提供多个边界框,将所述多个边界框与所述提取的特征对准,以及提供包括围绕所述多个对象的边界框的边界框图像。
17.根据权利要求16所述的方法,其中,生成分割掩模图像包括确定对象存在于每个边界框中的概率。
18.根据权利要求16所述的方法,其中,生成分割掩模图像包括从所述边界框图像中的每个边界框移除不与对象相关联的像素。
19.根据权利要求14所述的方法,其中识别并移除所选择的掩模中的像素包括使用深度图图像。
20.根据权利要求14所述的方法,其中生成下边界掩模和上边界掩模包括执行扩大过程和侵蚀过程,在所述扩大过程中,将预定数量的像素添加到所述细化的掩模的外边界,在所述侵蚀过程中,将预定数量的像素从所述细化的掩模的外边界移除。
21.根据权利要求14所述的方法,其中生成扩展掩模包括:生成初始图像,所述初始图像仅包括RBG图像的由所述上边界掩模限定的区域,其中所述初始图像中的每个像素的值是光强度;然后根据所述初始图像生成梯度图像,其中每个像素强度被基于相邻像素的梯度强度替代;以及然后扩大像素强度以识别所述梯度图像中的峰。
22.根据权利要求14所述的方法,还包括通过拟合围绕所述扩展掩模的最小尺寸边界框来确定所述扩展掩模的定向角(θ)。
23.根据权利要求22所述的方法,其中,拟合围绕所述扩展掩模的最小尺寸边界框包括使用迭代最小矩形搜索来获得围绕所述扩展掩模的最小尺寸边界框。
24.一种用于从多个对象箱子的组中拾取对象箱子的系统,所述系统包括:
用于使用3D相机获得多个箱子的2D红绿蓝(RGB)彩色图像的装置;
用于使用所述3D相机获得所述多个箱子的2D深度图图像的装置,其中所述深度图图像中的像素被分配识别从所述相机到所述多个箱子的距离的值;
用于通过在神经网络中执行图像分割过程来生成所述多个箱子的分割掩模图像的装置,所述图像分割过程从所述RGB图像提取特征并且使用所提取的特征来预测所述RGB图像中的哪些像素与每个箱子相关联,其中与每个箱子相关联的那些像素被分配唯一标签,所述唯一标签组合以定义用于所述箱子的掩模;
用于选择所述分割掩模图像中的多个掩模中的一个的装置;
用于识别并移除所选择的掩模中的与比与所选择的掩模相关联的对象箱子低的对象箱子相关联的像素,以提供细化的掩模的装置;
用于使用形态学过程根据所述细化的掩模生成下边界掩模和上边界掩模的装置;
用于使用细化过程根据所述下边界掩模和所述上边界掩模生成扩展掩模的装置;以及
用于使用所述扩展掩模来识别用于拾取所述箱子的位置的装置。
25.一种用于从多个对象的组中选择对象的方法,所述方法包括:
使用3D相机获得所述多个对象的2D红绿蓝(RGB)彩色图像;
通过在神经网络中执行图像分割过程来生成所述多个对象的分割图像,所述图像分割过程从所述RGB图像中提取特征,并且使用所提取的特征来预测所述RGB图像中的哪些像素与每个对象的中心区域相关联;以及
使用所述分割图像生成所述多个对象的边缘图像,所述边缘图像包括由所述分割图像中的像素的强度变化提供的围绕所述中心区域的线,其中,所述线定义所述RGB图像中的所述多个对象的边缘。
26.根据权利要求25所述的方法,其中,所述神经网络是掩模R-CNN。
CN202211491953.3A 2021-11-30 2022-11-25 用于混合尺寸卸垛的算法 Pending CN116206101A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/456,977 2021-11-30
US17/456,977 US20230169675A1 (en) 2021-11-30 2021-11-30 Algorithm for mix-size depalletizing

Publications (1)

Publication Number Publication Date
CN116206101A true CN116206101A (zh) 2023-06-02

Family

ID=86317126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211491953.3A Pending CN116206101A (zh) 2021-11-30 2022-11-25 用于混合尺寸卸垛的算法

Country Status (4)

Country Link
US (1) US20230169675A1 (zh)
JP (1) JP2023081310A (zh)
CN (1) CN116206101A (zh)
DE (1) DE102022129021A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230245293A1 (en) * 2022-02-03 2023-08-03 Fanuc Corporation Failure detection and failure recovery for ai depalletizing

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456899B1 (en) * 1999-12-07 2002-09-24 Ut-Battelle, Llc Context-based automated defect classification system using multiple morphological masks
US11321864B1 (en) * 2017-10-31 2022-05-03 Edge 3 Technologies User guided mode for measurement purposes
US10878566B2 (en) * 2019-04-23 2020-12-29 Adobe Inc. Automatic teeth whitening using teeth region detection and individual tooth location
FR3098328B1 (fr) * 2019-07-01 2022-02-04 Amadeus Sas Procédé pour extraire automatiquement d’un document des informations d’un type prédéfini
US10950034B1 (en) * 2020-01-27 2021-03-16 Facebook Technologies, Llc Systems, methods, and media for generating visualization of physical environment in artificial reality
US20220410381A1 (en) * 2021-06-29 2022-12-29 Intrinsic Innovation Llc Systems and methods for picking objects using 3-d geometry and segmentation
US20230104262A1 (en) * 2021-10-06 2023-04-06 Adobe Inc. Panoptic segmentation refinement network

Also Published As

Publication number Publication date
US20230169675A1 (en) 2023-06-01
JP2023081310A (ja) 2023-06-09
DE102022129021A1 (de) 2023-06-01

Similar Documents

Publication Publication Date Title
US11475589B2 (en) 3D pose estimation by a 2D camera
US12017368B2 (en) Mix-size depalletizing
US20220084238A1 (en) Multiple transparent objects 3d detection
EP3866113A1 (en) Image segmentation methods and apparatus
CN113191174A (zh) 物品定位方法和装置、机器人及计算机可读存储介质
CN115147488B (zh) 一种基于密集预测的工件位姿估计方法与抓取系统
CN116206101A (zh) 用于混合尺寸卸垛的算法
US11554496B2 (en) Feature detection by deep learning and vector field estimation
CN113326734B (zh) 一种基于YOLOv5的旋转目标检测方法
CN113496526A (zh) 通过多个2d相机的3d姿态检测
US20230009925A1 (en) Object detection method and object detection device
CN111079575B (zh) 一种基于包装图像特征的物料识别方法及系统
CN116228854B (zh) 一种基于深度学习的包裹自动分拣方法
CN112975957A (zh) 目标提取方法、系统、机器人及存储介质
US11875528B2 (en) Object bin picking with rotation compensation
CN115384971A (zh) 透明对象料箱拾取
Bhuyan et al. Structure‐aware multiple salient region detection and localization for autonomous robotic manipulation
US12036678B2 (en) Transparent object bin picking
CN111950475A (zh) 一种基于yoloV3的calhe直方图增强型目标识别算法
US20230169324A1 (en) Use synthetic dataset to train robotic depalletizing
US20230245293A1 (en) Failure detection and failure recovery for ai depalletizing
CN117292193B (zh) 多工位智能物流输送系统
CN113408429B (zh) 一种具有旋转适应性的目标检测方法及系统
CN115512287A (zh) 图像处理方法及装置、x光安检系统
CN118155176A (zh) 一种基于机器视觉的搬运机器人自动控制方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication