一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于执行物体检测的方法和计算系统与流程

2022-11-23 09:54:08 来源:中国专利 TAG:

用于执行物体检测的方法和计算系统
1.对相关申请的交叉引用
2.本技术要求于2021年5月4日提交的题为“a robotic system for performing attention-based or edge-based template matching”的第63/183,691号美国临时申请的权益,该美国临时申请的全部内容通过引用并入本文。
技术领域
3.本公开涉及用于基于边缘的模板匹配的计算系统和方法。


背景技术:

4.随着自动化变得越来越普遍,机器人正在更多的环境中使用,诸如在仓储和零售环境中。例如,机器人可用于与仓库中的物体进行交互。机器人的移动可以是固定的,或者可以基于输入,诸如由仓库中的传感器生成的信息。


技术实现要素:

5.根据本公开的实施例,本公开提供一种计算系统,包括通信接口和至少一个处理电路。通信接口可以被配置为与机器人以及与具有相机视场的相机进行通信。至少一个处理电路被配置为当一个或多个物体处于或者已经处于相机视场中时,执行以下步骤:获取表示一个或多个物体中的第一物体的图像信息,其中图像信息由相机生成并且描述与第一物体相关联的至少物体外观;确定指示图像信息与模型模板的视觉描述信息之间的匹配程度的第一模板匹配分数,其中视觉描述信息描述物体外观;基于表示第一物体的图像信息确定图像边缘信息,其中图像边缘信息标识从图像信息中检测到的第一组一个或多个边缘或者指示从图像信息中没有检测到边缘;确定模板边缘信息,其中模板边缘信息标识从模型模板的视觉描述信息中检测到的第二组一个或多个边缘或者指示从视觉描述信息中没有检测到边缘;确定指示图像边缘信息与模板边缘信息之间的匹配程度的第二模板匹配分数;以及基于第一模板匹配分数和第二模板匹配分数确定总体模板匹配分数,并基于总体模板匹配分数执行机器人交互计划操作,其中机器人交互计划操作用于计划机器人与第一物体之间的机器人交互。
6.在另外的实施例中,并结合本文中的任何其他实施例,本公开提供至少一个处理电路被配置为,当从图像信息中检测到第一组一个或多个边缘时,生成图像边缘信息作为标识第一组一个或多个边缘位于何处的第一边缘位图。该至少一个处理电路还被配置为基于第一边缘位图和第二边缘位图之间的比较生成第二模板匹配分数,其中第二边缘位图基于视觉描述信息标识模型模板中第二组一个或多个边缘位于何处。
7.在另外的实施例中,并结合本文中的任何其他实施例,本公开提供至少一个处理电路被配置为,基于从图像信息检测到的第一组一个或多个边缘与来自模型模板的视觉描述信息的第二组一个或多个边缘重叠的最大量,来确定第二模板匹配分数。
8.在另外的实施例中,并结合本文的任何其他实施例,本公开提供至少一个处理电
路被配置为以独立于第一模板匹配分数的方式确定第二模板匹配分数。
9.在另外的实施例中,并结合本文中的任何其他实施例,本公开提供第一边缘位图是至少包括区域像素像素的第一二进制位图,其中第一二进制位图的区域像素像素是其被分配第一像素值的像素。此外,当从图像信息中检测到第一组一个或多个边缘时,第一二进制位图还包括边缘像素,其中第一二进制位图的边缘像素是其对应于图像信息中检测到第一组一个或多个边缘的位置的像素,其中第一二进制位图的边缘像素被分配第二像素值。第二边缘位图是至少包括区域像素像素的第二二进制位图,其中第二二进制位图的区域像素像素是其被分配第一像素值的像素。当从模型模板的视觉描述信息中检测到第二组一个或多个边缘时,第二二进制位图还包括边缘像素,其中第二二进制位图的边缘像素是其对应于视觉描述信息中检测到第二组一个或多个边缘的位置的像素,并且其中第二二进制位图的边缘像素被分配第二像素值。
10.在另外的实施例中,并结合本文中的任何其他实施例,本公开提供至少一个处理电路被配置为,基于第一二进制位图的边缘像素与第二二进制位图的边缘像素重叠的最大量来确定第二模板匹配分数。
11.在另外的实施例中,并结合本文中的任何其他实施例,本公开提供至少一个处理电路被配置为针对第一组一个或多个边缘中的每个边缘,基于从图像信息来检测边缘的技术来确定边缘的相应优先级,其中第二模板匹配分数基于与第一组一个或多个边缘相关联的一个或多个相应优先级。
12.在另外的实施例中,并结合本文中的任何其他实施例,本公开提供了至少一个处理电路被配置为基于以下技术中的哪种技术被用于检测边缘而确定第一组一个或多个边缘的每个边缘的相应优先级:(i)在边缘处满足定义的像素强度不连续条件或定义的尖峰像素强度条件,(ii)在边缘处满足定义的深度不连续条件,或(iii)在边缘处满足定义的朝向不连续条件。
13.在另外的实施例中,并结合本文中的任何其他实施例,本公开提供至少一个处理电路被配置为,基于图像信息的范围(region)与视觉描述信息的对应范围之间的匹配程度来确定第一模板匹配分数。
14.在另外的实施例中,并结合本文中的任何其他实施例,本公开提供当模型模板的视觉描述信息包括形成模板2d范围的像素时,至少一个处理电路被配置为,基于模板2d范围与来自图像信息或基于图像信息生成的对应图像2d范围之间的匹配程度,来确定第一模板匹配分数。
15.在另外的实施例中,并结合本文的任何其他实施例,本公开提供至少一个处理电路被配置为,通过基于图像信息生成和与模型模板的视觉描述信息相关联的物体姿势、视点、或者照明条件相匹配的变换后的图像信息,来执行图像归一化操作,并且其中对应的图像2d范围来自变换后的图像信息。
16.在另外的实施例中,并结合本文中的任何其他实施例,本公开提供至少一个处理电路被配置为基于重叠大小来确定第一模板匹配分数,该重叠大小指示当与图像2d范围的对应像素进行比较时,模板2d范围中有多少像素满足定义的像素强度相似性条件。
17.在另外的实施例中,并结合本文的任何其他实施例,本公开提供至少一个处理电路被配置为基于第一模板匹配分数和第二模板匹配分数的加权组合来确定总体模板匹配
分数。
18.在另外的实施例中,并结合本文中的任何其他实施例,本公开提供至少一个处理电路被配置为当第一物体在相机视场中时,确定第一物体的部分是否未被图像信息描述,并且响应于确定第一物体的该部分未被图像信息描述,生成排除了视觉描述信息的对应部分的视觉描述信息的遮蔽版本,并基于视觉描述信息的遮蔽版本确定第一模板匹配分数并确定模板边缘信息。
19.根据本公开的替代实施例,本公开提供了一种包括指令的非暂时性计算机可读介质,该指令用于由与具有视场的相机通信并被配置的至少一个处理电路执行,当一个或多个物体处于或者已经处于视场中时,指令被配置为:获取表示一个或多个物体中的第一物体的图像信息,其中图像信息由相机生成并且描述与第一物体相关联的至少物体外观;确定指示图像信息与模型模板的视觉描述信息之间的匹配程度的第一模板匹配分数,其中视觉描述信息描述物体外观;基于表示第一物体的图像信息确定图像边缘信息,其中图像边缘信息标识从图像信息中检测到的第一组一个或多个边缘或者指示从图像信息中没有检测到边缘;确定模板边缘信息,其中模板边缘信息标识从模型模板的视觉描述信息中检测到的第二组一个或多个边缘或者指示从视觉描述信息中没有检测到边缘;确定指示图像边缘信息与模板边缘信息之间的匹配程度的第二模板匹配分数;基于第一模板匹配分数和第二模板匹配分数确定总体模板匹配分数;以及基于总体模板匹配分数执行机器人交互计划操作,其中机器人交互计划操作用于计划机器人与第一物体之间的机器人交互。
20.在另外的实施例中,并结合本文中的任何其他实施例,本公开提供当指令被附加地配置为,当从图像信息中检测到第一组一个或多个边缘时,生成图像边缘信息作为标识第一组一个或多个边缘位于何处的第一边缘位图,并且其中至少一个处理电路还被配置为基于第一边缘位图和第二边缘位图之间的比较生成第二模板匹配分数,其中第二边缘位图基于视觉描述信息标识模型模板中第二组一个或多个边缘位于何处。
21.在另外的实施例中,并结合本文中的任何其他实施例,本公开提供了指令被附加地配置为,基于从图像信息检测到的第一组一个或多个边缘与来自模型模板的视觉描述信息的第二组一个或多个边缘重叠的最大量来确定第二模板匹配分数。
22.根据本公开的替代实施例,本公开提供了一种控制机器人系统的方法,该机器人系统包括非暂时性计算机可读介质、与具有视场的相机通信并被配置为执行指令的至少一个处理电路,该方法包括:获取表示一个或多个物体中的第一物体的图像信息,其中图像信息由相机生成并且描述与第一物体相关联的至少物体外观;确定指示图像信息与模型模板的视觉描述信息之间的匹配程度的第一模板匹配分数,其中视觉描述信息描述物体外观;基于表示第一物体的图像信息确定图像边缘信息,其中图像边缘信息标识从图像信息中检测到的第一组一个或多个边缘或者指示从图像信息中没有检测到边缘;确定模板边缘信息,其中模板边缘信息标识从模型模板的视觉描述信息中检测到的第二组一个或多个边缘或者指示从视觉描述信息中没有检测到边缘;确定指示图像边缘信息与模板边缘信息之间的匹配程度的第二模板匹配分数;基于第一模板匹配分数和第二模板匹配分数确定总体模板匹配分数;以及基于总体模板匹配分数执行机器人交互计划操作,其中机器人交互计划操作用于计划机器人与第一物体之间的机器人交互。
23.在另外的实施例中,并结合本文中的任何其他实施例,本公开提供当指令被附加
地配置为,当从图像信息中检测到第一组一个或多个边缘时,生成图像边缘信息作为标识第一组一个或多个边缘位于何处的第一边缘位图,并且其中至少一个处理电路还被配置为基于第一边缘位图和第二边缘位图之间的比较生成第二模板匹配分数,其中第二边缘位图基于视觉描述信息标识模型模板中第二组一个或多个边缘位于何处。
24.在另外的实施例中,并结合本文中的任何其他实施例,本公开提供了指令被附加地配置为,基于从图像信息检测到的第一组一个或多个边缘与来自模型模板的视觉描述信息的第二组一个或多个边缘重叠的最大量,来确定第二模板匹配分数。
附图说明
25.图1a-1d示出了与本文的实施例一致的用于执行或促进物理边缘检测的系统。
26.图2a-2d提供了示出与本文的实施例一致的被配置为执行或促进基于边缘的模板匹配的计算系统的框图。
27.图3a-3b示出了根据本文的实施例的可以在其中执行物理边缘检测的环境。
28.图4提供了示出根据本文的实施例的处理候选边缘的方法的流程图。
29.图5a-5d示出了根据本文的实施例的2d图像信息、3d图像信息和变换后的图像信息的示例。
30.图6a-6c示出了与本文的实施例一致的与多个模板相比较的图像信息的示例。
31.图7a-7b示出了与本文的实施例一致的确定标识边缘和区域范围(area region)的边缘位图的示例。
32.图8a-8b示出了与本文的实施例一致的各种示例模板边缘位图et1至et8。
33.图9a-9c示出了与本文的实施例一致的与多个模板的边缘位图相比较的边缘位图。
具体实施方式
34.本公开的一个方面涉及被配置为执行基于注意力的模板匹配的计算系统,该计算系统可用于检测验证。基于注意力的模板匹配可以涉及确定由图像信息表示的场景的外观是否匹配任何模型模板。
35.图1a示出了用于执行物体检测或者更具体的物体识别的系统1000。更特别地,系统1000可以包括计算系统1100和相机1200。在此示例中,相机1200可以被配置为生成图像信息,该图像信息描述或以其他方式表示相机1200所处的环境,或更具体地表示相机1200的视场(也被称为相机视场)中的环境。环境可以是例如仓库、制造工厂、零售空间或某些其他场所。在这样的情况下,图像信息可以表示位于这样的场所的物体,诸如盒子、柜子、箱子、板条箱或其他容器。系统1100可以被配置为诸如通过使用图像信息在相机视场中的各个物体之间进行区分来生成、接收和/或处理图像信息以基于图像信息执行物体识别或物体注册,和/或基于图像信息执行机器人交互计划,如下面更详细地讨论的(在本公开中术语“和/或”和“或”可互换使用)。机器人交互计划可以用于例如控制场所处的机器人以促进机器人与容器或其他物体之间的机器人交互。计算系统1100和相机1200可以位于相同的场所,或者可以彼此远离。例如,计算系统1100可以是托管在远离仓库或零售空间的数据中心中的云计算平台的一部分,并且可以经由网络连接与相机1200通信。
36.在实施例中,相机1200(其也被称为图像感测设备)可以是2d相机和/或3d相机。例如,图1b示出了系统1000a(其可以是系统1000的实施例),该系统1000a包括计算系统1100以及相机1200a和相机1200b,相机1200a和相机1200b两者都可以是相机1200的实施例。在此示例中,相机1200a可以是被配置为生成2d图像信息的2d相机,该2d图像信息包括或形成描述相机的视场中的环境的视觉外观的2d图像。相机1200b可以是被配置为生成3d图像信息的3d相机(也被称为空间结构感测相机或空间结构感测设备),该3d图像信息包括或形成关于相机的视场中的环境的空间结构信息。该空间结构信息包括深度信息(例如,深度图),该深度信息描述了相对于相机1200各种位置的相应深度值,诸如相机1200的视场中各种物体的表面上的位置。相机的视场中或物体的表面上的这些位置也可被称为物理位置。在此示例中,深度信息可以用于估计物体如何被空间地布置在三维(3d)空间中。在某些情况下,空间结构信息可以包括或可以用于生成点云,该点云描述了相机1200b的视场中物体的一个或多个表面上的位置。更具体地,空间结构信息可以描述物体的结构(也被称为物体结构)上的各种位置。
37.在实施例中,系统1000可以是用于促进机器人与相机1200的环境中的各种物体之间的机器人交互的机器人操作系统。例如,图1c示出了机器人操作系统1000b,其可以是图1a和图1b的系统1000/1000a的实施例。机器人操作系统1000b可以包括计算系统1100、相机1200和机器人1300。如上所述,机器人1300可以用于与相机1200的环境中的一个或多个物体(诸如盒子、板条箱、柜子或其他容器)交互。例如,机器人1300可以被配置为从一个位置拾取容器并将它们移动到另一位置。在某些情况下,机器人1300可以用于执行在其中一组容器或其他物体被卸载并移动到例如传送带的卸垛操作。在某些实现中,相机1200可以被附接到机器人1300,诸如被附接到机器人1300的机械臂。在某些实现中,相机1200可以与机器人1300分开。例如,相机1200可以被安装到仓库的天花板或其他结构,并且可以相对于该结构保持固定。
38.在实施例中,图1a-1c的计算系统1100可以形成或集成到机器人1300,其被称为机器人控制器。机器人控制系统可以被包括在系统1000b中,并且可以被配置为例如为机器人1300生成命令,诸如用于控制机器人1300与容器或其他物体之间的机器人交互的机器人交互移动命令。在这样的实施例中,计算系统1100可以被配置为基于例如由相机1200/1200a/1200b生成的图像信息来生成这样的命令。例如,计算系统1100可以被配置为基于图像信息确定运动计划,其中运动计划可以旨在用于例如抓持或以其他方式拾取物体。计算系统1100可生成一个或多个机器人交互移动命令以执行运动计划。
39.在实施例中,计算系统1100可以形成视觉系统或是视觉系统的一部分。视觉系统可以是生成例如视觉信息的系统,该视觉信息描述机器人1300所处的环境,或替代地或附加地,描述相机1200所处的环境。视觉信息可以包括上面讨论的3d图像信息和/或2d图像信息,或某些其他图像信息。在某些情况下,如果计算系统1100形成视觉系统,则视觉系统可以是上面讨论的机器人控制系统的一部分,或者可以与机器人控制系统分开。如果视觉系统与机器人控制系统是分开的,则视觉系统可以被配置为输出描述机器人1300所处的环境的信息。信息可以被输出到机器人控制系统,该机器人控制系统可以从视觉系统接收这样的信息并且基于该信息来执行运动计划和/或生成机器人交互移动命令。关于视觉系统的进一步信息在下面详细说明。
40.在实施例中,计算系统1100可以经由直接连接(诸如,经由专用有线通信接口(诸如,rs-232接口、通用串行总线(usb)接口)和/或经由本地计算机总线(诸如外围组件互连(pci)总线)提供的连接)与相机1200和/或机器人1300进行通信。在实施例中,计算系统1100可以经由网络与相机1200和/或与机器人1300通信。网络可以是任何类型和/或形式的网络,诸如个人局域网(pan)、局域网(lan)(例如,内联网)、城域网(man)、广域网(wan))或互联网。网络可以利用不同的技术和协议层或协议栈,包括例如以太网协议、互联网协议套件(tcp/ip)、atm(异步传输模式)技术、sonet(同步光网络)协议或sdh(同步数字体系)协议。
41.在实施例中,计算系统1100可以与相机1200和/或与机器人1300直接通信信息,或者可以经由中间存储设备或更一般地经由中间非暂时性计算机可读介质进行通信。例如,图1d示出了可以是系统1000/1000a/1000b的实施例的系统1000c,该系统1000c包括非暂时性计算机可读介质1400,该非暂时性计算机可读介质1400可以在计算系统1100的外部,并且可以充当外部缓冲器或用于存储例如由相机1200生成的图像信息的存储库。在这样的示例中,计算系统1100可以检索或以其他方式接收来自非暂时性计算机可读介质1400的图像信息。非暂时性计算机可读介质1400的示例包括电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或其任何合适的组合。非暂时性计算机可读介质可以形成例如计算机软盘、硬盘驱动器(hdd)、固态驱动器(sdd)、随机存取存储器(ram)、只读存储器(rom)、可擦可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能磁盘(dvd)和/或记忆棒。
42.如上所述,相机1200可以是3d相机和/或2d相机。2d相机可以被配置为生成2d图像,诸如彩色图像或灰度图像。3d相机可以是例如深度感测相机,诸如飞行时间(tof)相机或结构化光相机,或任何其他类型的3d相机。在某些情况下,2d相机和/或3d相机可以包括图像传感器,诸如电荷耦合器件(ccd)传感器和/或互补金属氧化物半导体(cmos)传感器。在实施例中,3d相机可以包括激光器、lidar设备、红外设备、明/暗传感器、运动传感器、微波检测器、超声检测器、radar检测器或被配置为捕获深度信息或其他空间结构信息的任何其他设备。
43.如上所述,图像信息可以由计算系统1100处理。在实施例中,计算系统1100可以包括或被配置为服务器(例如,具有一个或多个服务器刀片、处理器等)、个人计算机(例如,台式计算机、膝上型计算机等)、智能电话、平板计算设备和/或其他任何其他计算系统。在实施例中,计算系统1100的任何或所有功能可以作为云计算平台的一部分来执行。计算系统1100可以是单个计算设备(例如,台式计算机),或者可以包括多个计算设备。
44.图2a提供了示出计算系统1100的实施例的框图。本实施例中的计算系统1100包括至少一个处理电路1110和非暂时性计算机可读介质(或多个介质)1120。在某些情况下,处理电路1110可以包括被配置为执行存储在非暂时性计算机可读介质1120(例如,计算机存储器)上的指令(例如,软件指令)的处理器(例如,中央处理单元(cpu)、专用计算机和/或板载服务器)1120。在某些实施例中,处理器可以包括在可操作地耦合到其他电子/电气设备的单独/独立控制器中。处理器可以实现程序指令以控制其他设备/与其他设备接口,从而使计算系统1100执行动作、任务和/或操作。
45.在实施例中,处理电路1110包括一个或多个处理器、一个或多个处理核、可编程逻
辑控制器(“plc”)、专用集成电路(“asic”)、可编程门阵列(“pga”)、现场可编程门阵列(“fpga”)、其任何组合或任何其他处理电路。
46.在实施例中,作为计算系统1100的一部分的非暂时性计算机可读介质1120可以是上面讨论的中间非暂时性计算机可读介质1400的替代或附加。非暂时性计算机可读介质1120可以是存储设备,诸如电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或其任何合适的组合,例如,诸如计算机软盘、硬盘驱动器(hdd)、固态驱动器(sdd)、随机存取存储器(ram)、只读存储器(rom)、可擦可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、其任何组合或任何其他存储设备。在某些情况下,非暂时性计算机可读介质1120可以包括多个存储设备。在某些实现中,非暂时性计算机可读介质1120被配置为存储由相机1200生成并由计算系统1100接收的图像信息。在某些情况下,非暂时性计算机可读介质1120被配置为存储用于执行物体识别操作的一个或多个模型模板。非暂时性计算机可读介质1120可以替代地或可附加地存储计算机可读程序指令,该计算机可读程序指令在由处理电路1110执行时,使处理电路1110执行这里描述的一种或多种方法,诸如关于图4描述的操作。
47.图2b描绘了计算系统1100a,其是计算系统1100的实施例并且包括通信接口1130。通信接口1130可以被配置为例如接收由图1a-1d的相机1200生成的图像信息。可以经由以上讨论的中间非暂时性计算机可读介质1400或网络,或者经由相机1200与计算系统1100/1100a之间的更直接的连接来接收图像信息。在实施例中,通信接口1130可以被配置为与图1c的机器人1300通信。如果计算系统1100在机器人控制系统外部,则计算系统1100的通信接口1130可以被配置为与机器人控制系统进行通信。通信接口1130也可以被称为通信组件或通信电路,并且可以包括例如被配置为通过有线或无线协议执行通信的通信电路。作为示例,通信电路可以包括rs-232端口控制器、usb控制器、以太网控制器、控制器、pci总线控制器、任何其他通信电路或其组合。
48.在一个实施例中,如图2c所示,非暂时性计算机可读介质1120可以包括用于存储一个或多个模型模板的模板存储空间1128。一个或多个模型模板中的每一个可以对物体或一组物体(诸如预期或已知具有相同外观和/或相同结构的一组盒子)建模或以其他方式描述。例如,特定的模型模板可以表示具有印在盒子的一个或多个外表面上的共同徽标、图片或其他视觉细节一组盒子或其他物体。在此示例中,该组物体可以形成一类物体。换句话说,它们可能具有共同的物体类型。在某些实现中,一个或多个模型模板可以经由物体注册过程生成,该物体注册过程对代表或属于该类物体或物体类型的特定物体来执行。物体注册过程可以使用表示物体的图像信息来生成物体的外观和/或结构的模型或其他描述,其中描述可以是用于描述该类物体的模型模板的一部分。在某些实施例中,模型模板可以与盒子或其他多面体相关联,其中每个模型模板还被配置为描述物体的每个具体面(例如,顶部、侧面、底部等)的外观。
49.然后,模型模板可以由计算系统1100用于执行模板匹配,这涉及例如将表示场景中物体外观的图像信息与模板存储空间1128中的模型模板(其可能已在物体注册期间生成或以其他方式获得)进行比较。例如,计算系统1100可以使用通过模板和图像信息的比较来收集的信息来生成匹配分数,如下所述。模型模板和模板匹配比较下面关于图4进一步详细描述。
50.在实施例中,处理电路1110可以由存储在非暂时性计算机可读介质1120上的一个或多个计算机可读程序指令来编程。例如,图2d示出了计算系统1100c,其是计算系统1100/1100a/1100b的实施例,其中处理电路1110由包括物体识别模块1121、物体注册模块1122和/或运动计划模块1129的一个或多个模块来编程。
51.在实施例中,物体识别模块1121可以被配置为确定图像信息是否与模型模板匹配,或者图像信息与模型模板匹配的程度,如下面更详细讨论的。物体识别模块1121可以包括例如评分模块1121a和边缘检测模块1121b。例如,评分模块1121a可以被配置为生成模型模板匹配分数,诸如rs和rb,这在下面关于方法4000的步骤4004讨论。边缘检测模块1121b可以被配置为生成边缘位图,诸如e
s1
和e
t1
,这在下面关于方法4000的步骤4006和4008讨论。物体注册模块1122可以被配置为基于物体的外观生成模型模板。当物体识别模块1121执行物体识别时,物体注册模块生成的模型模板可被使用,以确定另一个物体的外观是否匹配任何模型模板。运动计划模块1129可以被配置为计划机器人的移动。例如,运动计划模块1129可以导出各个放置位置/朝向,计算对应的运动计划、或其组合,用于放置和/或堆叠物体。
52.在各种实施例中,术语“计算机可读指令”和“计算机可读程序指令”被用于描述被配置为执行各种任务和操作的软件指令或计算机代码。在各种实施例中,术语“模块”广义上是指被配置为使处理电路1110执行一个或多个功能任务的软件指令或代码的集合。当处理电路或其他硬件组件正在执行模块或计算机可读指令时,模块和计算机可读指令可以被描述为执行各种操作或任务。
53.图3a-3b示出了其中可以执行模板匹配的示例环境。更特别地,图3a描绘了具有包括计算系统1100、机器人3300和相机3200的系统3000(其可以是图1a-1d的系统1000/1000a/1000b/1000c的实施例)的环境。相机3200可以是相机1200的实施例,并且可以被配置为生成图像信息,该图像信息表示相机3200的相机视场3210中的场景,或更具体地表示相机视场3210中的物体,诸如物体3510、3520、3530、3540和3550。在一个示例中,物体3510-3540中的每一个可以是例如诸如盒子或板条箱的容器,而物体3550可以是例如其上布置有容器的托盘。
54.在实施例中,相机视场中的物体可以在物体的外表面上具有视觉细节(也被称为可见细节),诸如视觉标记。例如,如图3a和3b所示,物体3510、3520、3530、3540可以分别具有视觉标记3512、3522、3532、3542,这些视觉标记被印刷或以其他方式布置在物体3510-3540的相应外表面(例如,顶表面)上。作为示例,视觉标记可以包括可见线(例如,直线或曲线)、可见形状(诸如多边形)、视觉图案或其他视觉标记。在某些情况下,视觉标记(例如,可见线)可以形成或是出现在物体外表面上的符号或图的一部分。符号可以包括例如徽标或书写字符(例如,字母数字字符)。在某些情况下,容器或其他物体的外表面上的视觉细节可以由布置在容器外表面上的材料层(例如,一条包装带或一张邮寄标签)的轮廓形成的。
55.在实施例中,图3a的系统3000可以包括一个或多个光源,诸如光源3600。光源3600可以是例如发光二极管(led)、卤素灯或任何其他光源,并且可以被配置为朝着物体3510-3550的表面发射可见光、红外辐射或任何其他形式的光。在某些实现中,计算系统1100可以被配置为与光源3600通信以控制光源3600何时被激活。在其他实现中,光源3600可以独立于计算系统1100操作。
56.在实施例中,系统3000可以包括多个相机,包括被配置为生成2d图像信息5600的2d相机和被配置为生成3d图像信息的3d相机。2d图像信息(例如,彩色图像或灰度图像)可以描述相机视场3210中一个或多个物体(诸如,物体3510-3550)的外观。例如,2d图像信息5600可以捕获或以其他方式表示视觉细节,诸如布置在物体3510-3540的相应外表面(例如,顶表面)上的视觉标记3512-3542,和/或那些外表面的轮廓。在实施例中,3d图像信息可以描述物体3510-3550中的一个或多个的结构,其中物体的结构也可以被称为物体结构或物体的物理结构。例如,3d图像信息可以包括深度图,或更一般地包括深度信息,其可以描述相机视场3210中的各种位置相对于相机3200或相对于某个其他参考点的相应深度值。对应于相应深度值的位置可以是相机视场3210中各种表面上的位置(也被称为物理位置),诸如物体3510-3550的相应顶表面上的位置。在某些情况下,3d图像信息可以包括点云,该点云可以包括多个3d坐标,该3d坐标描述了相机视场3210中的物体3510-3550或某些其他物体的一个或多个外表面上的各种位置。点云如图5b所示并且将在下面进一步详细描述。遮挡可存在于相机视场3210内,阻挡或遮挡物体3510-3550的一部分。在实施例中,如本文所述的模板匹配可涉及在2d图像信息5600或3d图像信息5700的生成期间遮掩物体3510-3550的被遮挡部分,以便更好地促进场景和模型模板之间的比较。
57.在图3a的示例中,机器人3300(其可以是机器人1300的实施例)可以包括机械臂3320,该机械臂3320具有附接到机器人基座3310的一端,并且具有附接到末端执行器装置3330或由末端执行器装置3330形成的另一端,诸如机器人抓手。机器人基座3310可用于安装机械臂3320,而机械臂3320,或更具体地,末端执行器装置3330,可用于与机器人3300的环境中的一个或多个物体(例如,3510/3520/3530/3540)交互。交互(也被称为机器人交互)可以包括例如抓持或以其他方式拾取物体3510-3540中的至少一个。机器人交互可以是卸垛操作的一部分,在该操作中机器人3300用于从物体3550(例如,托盘或其他平台)拾取物体3510-3540(例如,盒子)并将物体3510-3540移动到目的地位置。附加地,并且如上所述,运动计划模块1129可用于计划所述移动、旋转或其组合,以放置、堆叠或移动物体。
58.在实施例中,机器人3300还可以包括附加传感器,其被配置为获得用于执行任务的信息,任务诸如用于操纵结构构件和/或用于运输机器人单元。传感器可以包括被配置为检测或测量机器人3300和/或周围环境的一种或多种物理特性(例如,其一个或多个结构构件/关节的状态、条件和/或位置)。传感器的某些示例可以包括加速度计、陀螺仪、力传感器、应变仪、触觉传感器、扭矩传感器、位置编码器等。
59.如上所述,本公开的一个方面涉及以考虑或强调由场景中物体的表面上的视觉细节(如果有)形成的轮廓或边缘的方式来执行模板匹配。这样的模板匹配方式可以被称为基于注意力的模板匹配或基于边缘的模板匹配,并且与可以单独在基于区域的模板匹配中实现相比,就模板匹配能力而言可以产生更高级别的置信度,以更准确地指示场景何时匹配模型模板。
60.在实施例中,基于区域的模板匹配确定模型模板和场景之间的相似性级别。一种可能的方法包括将2d图像信息5600(如图5a所示)的每个像素与模型模板的每个像素进行比较,此方法可被称为逐像素匹配。诸如采样或其他处理技术的其他方法可用来完成基于区域的模板匹配。基于区域的模板匹配过程也可以被称为基于区域的比较。通常,并且在下面进一步详细描述,模型模板和场景之间的相似性可以用于基于图像的相似性生成分数。
61.使用物体表面上的视觉细节的基于边缘的模板匹配(以其他方式被称为基于边缘的匹配或基于注意力的模板匹配),也可以用于相似性分数生成。例如,可以比较2d图像信息5600和模型模板以基于在图像内找到的边缘位置的相似性来生成分数。通常,边缘可以描述由场景中的图片、徽标或视觉细节形成的或由模板描述的轮廓。基于边缘的模板匹配可以检查出现在场景中的边缘是否或如何与模板描述的边缘匹配。这样的检查或比较可以提供场景中视觉细节轮廓与模型模板描述的视觉细节轮廓有多匹配的指示。因此,基于边缘的模板匹配可以将某些注意力或重点放在基于边缘或基于线的匹配上。
62.图4提供了描绘用于执行模板匹配的方法4000的步骤的流程图。在实施例中,方法4000可以由例如图2a-2d或图3a的计算系统1100,或更具体地由计算系统1100的至少一个处理电路1110来执行。在某些情况下,至少一个处理电路1100可以通过执行存储在非暂时性计算机可读介质(例如,1120)上的指令来执行方法4000。例如,指令可以使处理电路1110执行图2d中所示的可以执行方法4000的模块中的一个或多个。作为示例,下面讨论的步骤4002-4012中的一个或多个可以由处理电路1110执行。如果方法4000涉及计划机器人交互或生成机器人交互移动命令,则这样的步骤可以由例如机器人控制系统执行。在实施例中,方法4000可以在计算系统1100与机器人和相机(诸如机器人3300和图3a中的相机3200)或与本公开中讨论的任何其他相机或机器人通信的环境中执行。在某些情况下,诸如图3a中所示,相机(例如,3200)可以被安装到固定结构(例如,房间的天花板)。在其他情况下,相机可以被安装在机械臂(例如,3320)上,或更具体地被安装在机器人(例如,3300)的末端执行器装置(例如,3330)上。
63.在实施例中,当一组物体(例如,3510-3550)当前在相机(例如,3200)的相机视场(例如,3210)中时,可以执行方法4000的一个或多个步骤。例如,在该组物体在相机视场(例如,3210)中之后,或者更一般地,在该组物体在相机视场中时,可以立即执行方法4000的一个或多个步骤。在某些情况下,当该组物体已经在相机视场中时,可以执行方法4000的一个或多个步骤。例如,当该组物体在相机视场(例如,3210)中时,相机(例如,3200)可以生成表示该组物体的图像信息,并且可以将图像信息传达给计算系统(例如,1100)。当该组物体仍在相机视场中时,或者甚至当该组物体中的一些或全部不再在相机视场中时,计算系统可以基于图像信息执行方法4000的一个或多个步骤。
64.在实施例中,方法4000可以开始于或以其他方式包括步骤4002,其中计算系统1100获取表示相机(例如,1200/3200)的相机视场(例如,3210)中的物体的图像信息。在某些情况下,物体可以是相机1200/3200的相机视场3210中的一个或多个物体(例如,3510-3540)的第一物体(例如,3510)。在该组物体处于(或已经处于)相机视场3210中时,图像信息5600、5700可以由相机(例如,1200/3200)生成并且可以描述与第一物体3510相关联的至少物体外观。物体外观从相机1200/3200的视点描述了第一物体3510的外观。如果在相机视场中有多个物体(例如,3210-3240),则相机可以生成表示多个物体的第一组图像信息。在此情况下,在步骤4002中获取的用于表示多个物体中的第一物体(例如,3510)的图像信息可以是第一组图像信息的子集或其他部分,如下面更详细讨论的。当该组物体处于(或已经处于)相机视场中时,图像信息可以由相机(例如,1200/3200)生成,并且可以包括例如2d图像信息和/或3d图像信息。
65.作为示例,图5a描绘了第一组图像信息,或更具体地,2d图像信息5600,如上所述,
其由相机320生成并且表示图3a-3b的物体3510-3550。更具体地,2d图像信息5600可以是灰度或彩色图像并且可以从相机3200的视点来描述物体3510-3550的外观。在实施例中,2d图像信息5600可以对应于彩色图像的单个颜色通道(例如,红色、绿色或蓝色通道)。如果相机3200被布置在物体3510-3550上方,则2d图像信息5600可以表示物体3510-3550的相应顶表面的外观。在图5a的示例中,2d图像信息5600可以包括表示物体3510-3550的相应表面的相应部分5610、5620、5630、5640和5650,也被称为图像部分。在图5a中,2d图像信息5600的每个图像部分5610-5650可以是图像范围,或更具体地,像素范围(如果图像由像素形成)。2d图像信息5600的像素范围中的每个像素可以被表征为具有由一组坐标[u,v]描述的位置并且可以具有相对于相机坐标系或某个其他坐标系的值,如图5a和5b所示。每个像素还可以具有强度值,诸如介于0和255或0和1023之间的值。在另外的实施例中,每个像素可以包括与各种格式的像素相关联的任何附加信息(例如,色调、饱和度、强度、cmyk、rgb等)
[0066]
如上所述,在某些实施例中,在步骤4002中获取的图像信息可以是图像的全部或部分,诸如2d图像信息5600。例如,如果在步骤4002中获取的图像信息表示图3a的第一物体3510,则图像信息可以参考图像部分5610。在这样的示例中,计算系统1100可以被配置为从2d图像信息5600中提取图像部分5610以获得仅与图像部分5610相关联的图像信息。例如,计算系统1100可以基于2d图像信息5600和/或图5b中所示的3d图像信息5700通过执行图像分段操作来提取图像部分5610。在某些实现中,图像分段操作可以包括检测2d图像信息5600中物体的物理边缘(例如,盒子的边缘)出现的图像位置并且使用这样的图像位置来标识仅限于表示相机视场(例如,3210)中的单个物体的图像部分(例如,5610)。
[0067]
图5b描绘了其中步骤4002中获取的图像信息是3d图像信息5700的示例。更特别地,3d图像信息5700可以包括例如指示物体3510-3550的一个或多个表面(例如,顶表面或其他外表面)的各种位置的相应深度值的深度图或点云。在某些实现中,用于提取图像信息的图像分段操作可以涉及检测3d图像信息5700中物体的物理边缘(例如,盒子的边缘)出现的图像位置并且使用这样的图像位置来标识仅限于表示相机视场(例如,3210)中的单个物体的图像部分(例如,5710)。
[0068]
相应深度值可以相对于生成3d图像信息5700的相机3200,或者可以相对于某个其他参考点。在某些实现中,3d图像信息5700可以包括点云,该点云包括相机视场(例如,3210)中的物体的结构上的各种位置上的相应坐标。在图5b的示例中,点云可以包括描述物体3510-3550的相应表面上的位置的相应坐标组。坐标可以是3d坐标,诸如[x y z]坐标,并且可以具有相对于相机坐标系或某个其他坐标系的值。例如,3d图像信息5700可以包括指示物体3510的表面上也被称为物理位置的一组位置5710
1-5710n的相应深度值的第一部分5710(也被称为图像部分)。此外,3d图像信息5700还可以包括第二、第三和第四部分5720、5730和5740。然后这些部分还可以指示可以分别由5720
1-5720n、5730
1-5730n和5740
1-5740n表示的一组位置的相应深度值。这些图仅仅是示例,并且设想可以使用具有对应的图像部分的任意数量的物体。与上述类似,在步骤4002中获取的3d图像信息5700在某些情况下可以是由相机生成的第一组3d图像信息5700的一部分。在图5b的示例中,如果在步骤4002中获取的3d图像信息5700表示图3a的第一物体3510,则3d图像信息5700可被缩小为仅参考图像部分5710。
[0069]
在实施例中,作为在步骤4002中获取图像信息的一部分,可以由计算系统1100执
行图像归一化操作。作为步骤4002的一部分,图像归一化操作可以涉及变换由相机3200生成的图像或图像部分,以便生成变换后的图像或变换后的图像部分。附加地,模型模板可以与具体的视点照明条件相关联,其中改变图像信息可能更有利于与模型模板比较。
[0070]
例如,如果在步骤4002中获取的可以包括2d图像信息5600、3d图像信息5700或两者的组合的图像信息和视觉描述信息与不同的物体姿势(以及因此,不同的视点)和/或不同的照明条件相关联,则这样的差异可能降低计算系统1100准确比较步骤4002的图像信息和视觉描述信息的能力。例如,图5c示出了其中从除了头顶(overhead)以外的角度观察物体5810的示例。在这样的场景下,计算系统1100可以执行图像归一化操作以尝试使在步骤4002中获取的图像信息更接近地匹配与视觉描述信息相关联的视点、物体姿势、照明条件,以便促进图像信息和视觉描述信息之间的更准确的比较。视点可以指物体相对于相机3200的姿势,和/或当相机3200生成表示物体的图像时相机3200正在观察物体的角度。
[0071]
例如,图像信息可以在物体注册操作期间生成,其中目标物体(诸如具有与物体3510相同物体类型的另一个盒子)在相机视场3210中。当目标物体具有相对于相机的具体姿势时,相机3200可以生成表示目标物体的图像信息。例如,目标物体可以具有使其顶表面垂直于相机3200的光轴的姿势。在这样的示例中,相机3200生成的图像信息可以表示具体的视点,诸如目标物体的顶视图。如果相机3200收集的图像信息用来生成图像信息,则图像信息还可以表示相对于相机3200的视点(例如,顶视图)或物体姿势。在某些情况下,当相机3200在物体注册操作期间生成图像信息时,图像信息可以在诸如照明强度的特定照明条件下生成。在这样的情况下,图像信息可以表示特定的照明强度、照明颜色或其他照明条件。
[0072]
在实施例中,图像归一化操作可以涉及调整由相机生成的场景的图像或图像部分,以使图像或图像部分更好地匹配与模型模板的视觉描述信息相关联的视点和/或照明条件。调整可以涉及变换图像或图像部分以生成与和模型模板的视觉描述信息相关联的物体姿势或照明条件中的至少一个相匹配的变换后的图像。例如,图5d示出了图像归一化操作,其中计算系统1100将物体5810的特定部分从非正面视图(non-head on view)调整为从上方的视图(a view from above)。
[0073]
视点调整可以涉及场景的图像的处理、卷绕和/或移位,使得图像表示与模型模板中的视觉描述信息相同的视点。例如,处理包括改变图像的颜色、对比度或照明,场景的卷绕可包括更改图像的大小、维度或比例,而图像的移位可能包括更改图像的位置、朝向或旋转。在示例实施例中,处理、卷绕和/或移位可用来改变场景的图像中的物体以具有匹配或更好地对应于模型模板的视觉描述信息的朝向和/或大小。如果模型模板描述了某个物体的正面视图(例如,顶视图),则场景的图像可能会被卷绕,以便也表示场景中物体的正面视图。
[0074]
为了进一步解释,卷绕可以涉及确定单应性,该单应性定义将场景的图像从以第一姿势描绘物体变换为以第二姿势描绘物体的卷绕变换,其中第二姿势与模型模板的视觉描述信息所描述的物体的姿势相匹配。在某些情况下,单应性可以描述将场景的图像中的某些点(例如角)与模板中的对应点(例如角)相匹配的旋转和/或卷绕。在另外的实施例中,物体的朝向或姿势可以通过标识场景的图像中的对应的或其他可识别的点(诸如物体的角)来确定。这些对应点可以指示物体相对于相机捕获场景的角度。
[0075]
在某些情况下,虽然视点调整可以涉及旋转或卷绕表示场景的图像,但它可以省
略图像在横向方向上(例如沿着x或y轴)的移位。横向移位图像可以在模板匹配操作期间执行。此外,在一些实现中,颜色调整可以包括调整场景的图像的颜色以匹配或关联到模板的颜色。例如,在某些实施例中,模板图像可以是灰度的,并且场景图像可以从彩色图像转换为灰度图像以与模板图像对应。在某些情况下,当转换为灰度时,不同的颜色可能导致相同的灰度,这导致来自场景的图像的颜色差异丢失。为了保留颜色中的差异,颜色移位可以应用在场景的彩色图像上,使得对应的灰度图像保留差异。
[0076]
在步骤4002中获得的图像信息可能受到诸如噪声或眩光的误差源的影响。在某些情况下,误差源可能导致图像信息包括伪像,该伪像可能是图像信息中实际上并未出现在由图像信息表示的物体上的视觉特征。例如,图5a描绘了由步骤4002的图像信息描述的伪像5614,或更具体地是白色矩形。伪像5614或其他误差源可能影响图像部分和模型模板的视觉描述信息之间的比较的准确性,尤其当将图像的范围或区域与模型模板的对应范围或区域进行比较是在逐范围或逐区域的基础上做出时。在这样的情况下,并且还如下文讨论的,基于区域的匹配,其以其他方式也被称为基于区域的比较,可以通过使用基于边缘的匹配来补充,以便补偿或减轻这样的误差源的影响。在实施例中,用于比较的范围或区域(其也可以被称为比较单位单元)可以基于关于图像和/或模型模板的单位距离或基于图像和/或模型模板的像素。
[0077]
方法4000的步骤4004包括确定指示图像信息和模型模板的视觉描述信息之间的相似性程度的第一模板匹配分数(也被称为基于区域的模板匹配分数)。为了进一步说明,每个模型模板包括描述模型物体的外观的视觉描述信息,其中视觉描述信息包括一系列像素。在一种比较方法中,计算系统1100可以使用基于视觉描述信息的像素的比较单位单元来确定第一模板匹配分数。更具体地,第一模板匹配分数可以基于关于模型模板的视觉描述信息与图像信息之间的逐像素比较的匹配程度。在这样的比较中,计算机系统1100比较形成图像信息的像素和形成模型模板的视觉描述信息的像素的位置和强度,以确定反映模型模板的视觉描述像素和图像信息的像素之间的相似性或匹配程度的第一模板匹配分数。上述逐像素比较过程是基于区域的比较方法的一个示例。其他的比较过程或方法也可以用来比较图像信息和模型模板的视觉描述信息以生成第一模板匹配分数。
[0078]
在示例实施例中,如图6a所示,将2d图像信息5600的第一部分5610与多个模型模板(例如,模型模板1至n)进行比较。每个模型模板存储在模板存储空间1128中,并反映了模板物体的可视化描述信息。在示例中,图6b描绘了更详细的视图,其中将2d图像信息5600的第一部分5610与位于模板存储空间1128内的一组八个模型模板进行比较。如先前所讨论的,每个模型模板包括表示视觉描述信息形式的具体的物理物体,例如容器,例如物理容器或盒子。在实施例中,每个图像部分,例如5610,可以与每个模板进行比较。更具体地,步骤4004中的模板匹配可以涉及将2d图像信息5600或更具体的部分,例如第一部分5610,与模型模板的对应区域进行比较,反之亦然。该比较也可被称为基于区域的比较或基于区域的模板匹配,其检查2d图像信息5600的整个区域如何匹配模型模板的区域。这样的比较可用于生成模板匹配分数,诸如等于或基于模型模板的对应范围或部分与图像信息之间的差异的模板匹配分数。
[0079]
基于逐像素比较的模板匹配分数的示例可以使用以下等式生成:
[0080][0081]
在上式中,变量d代表图像信息和模板的视觉描述信息之间的每个像素之间的总距离(例如,强度差)。d的值可以用来确定模板的视觉描述信息和图像信息之间的模板匹配分数。在实施例中,该过程可以涉及在不同尺度上执行逐像素比较(例如,在一个尺度上执行比较,然后进入第二尺度并细化比较)、快速傅里叶变换操作、归一化相关协方差(ncc)分析,或不同的技术。
[0082]
第一模板匹配分数可以使用基于范围或区域的比较来生成。例如,使用逐像素比较的模板匹配分数可以使用由2d图像信息5600描述的像素值和由与模型模板相关联的视觉描述信息描述的像素值之间的相似性程度来确定。附加地,第一模板匹配分数可以基于当与模型模板的视觉描述信息相比较时满足定义的像素强度相似性程度条件的2d图像信息5600内的像素的数量。第一模板匹配分数可以基于图像信息的范围和视觉描述信息的范围之间的匹配程度。例如,计算系统1100可以将图像信息中的像素与和模板相关联的视觉描述信息中的对应像素进行比较。本文讨论的逐像素比较是比较2d图像信息5600和与模型模板相关联的视觉描述信息的基于区域的比较方法的示例。也可以使用其他方法或过程。
[0083]
一旦模板匹配分数如上所述或使用其他方法生成,以提供2d图像信息5600和模型模板的视觉描述信息之间的进一步比较,则模板匹配过程可以涉及在一个或多个横向方向上(例如,x、y或u、v)相对于模型模板的视觉描述信息而移位2d图像信息5600,以尝试最大化视觉描述信息和2d图像信息5600的特征之间的重叠量,或更一般地,最大化第一个模板匹配分数。例如,图6c示出移位2d图像信息5600的图像部分5610和各种模型模板的视觉描述信息以确定两者之间的最佳对齐,并以确定一系列模板匹配分数,例如r
s1
,r
s2
和r
s3
以确定何时获得最佳对齐。
[0084]
为了进一步解释移位过程,计算系统1100可以生成热图,其中热图中的每个像素与x方向上的一定量的移位和y方向上的一定量的移位相关联,并且像素可以与模板匹配分数相关联。热图可以指示模型模板应该在一个或多个横向方向上相对于场景移位多少以最大化模板匹配分数。例如,模板匹配可以涉及相对于找到最大模板匹配分数的尝试来移位模型模板的视觉描述信息(例如,在宽度维度和高度或长度维度上),其中最大分数可以表示2d图像信息5600和所选模型模板的视觉描述信息之间的最大重叠区域。例如,模板可以相对于场景的图像向上、向下、向右和/或向左移位以增加模板匹配分数,在这样的实施例中模板匹配尝试找到适当的移位以产生最大模板匹配分数,反映最大重叠量。替代地,2d图像信息5600可以相对于模型模板移位。相对于各种模型模板的视觉描述信息而移位2d图像信息5600的图像部分5610可以最小化并帮助解决建模不准确性或噪声。
[0085]
方法4000还包括步骤4006-4010,其标识图像信息内的边缘、标识模型模板的视觉描述信息内的边缘并比较两组信息内的所标识的边缘。比较后的图像可以用于基于图像信息和模型模板的视觉描述信息的相似性来创建第二模板匹配分数。为了进一步解释,步骤4006标识图像信息内的边缘,其被称为图像边缘信息,表示诸如盒子或容器的物理物体,并且步骤4008标识所选模型模板的视觉描述信息内的边缘,其被称为模板边缘信息。在步骤4006和步骤4008中所标识的边缘然后在步骤4010中进行比较,以基于图像边缘信息和模板
边缘信息的相似性确定第二模板匹配分数。每个步骤在下面进一步详细解释。
[0086]
方法4000的步骤4006包括基于表示物理物体或物理物体的一部分的图像信息来确定图像边缘信息。更具体地,计算系统1100标识在图像信息内检测到的第一组一个或多个边缘,并且在某些情况下,可以标识图像信息中不存在边缘。可以确定图像边缘信息,旨在将在图像信息中发现的边缘的位置和数量与在所选模板的视觉描述信息中发现的边缘的位置和数量进行比较。为了检测存在的任何边缘,计算系统1100可以使用多种方法,包括(i)在边缘处满足定义的像素强度不连续条件或定义的尖峰像素强度条件,(ii)在边缘处满足定义的深度不连续条件,或(iii)在边缘处满足定义的朝向不连续条件。为了进一步解释,满足定义的像素强度不连续条件可以包括使用像素强度值的变化,或更具体地,使用具有不同像素强度的范围之间的像素强度值的导数或梯度。梯度或导数然后可用来检测存在于边缘处的像素强度的尖峰,特别地,当垂直于边缘移动时。附加地,计算系统1100可以应用二进制阈值来标识像素强度的差异,从而定义相邻像素之间的尖峰或不连续性,标识边缘。此外,除了或替代先前描述的方法,可以使用视觉纹理的变化、深度不连续性和/或从在模板中发现的表面的法线向量(normal vector)的不一致性(朝向不连续性)来检测边缘。
[0087]
如果在图像信息中检测到第一组一个或多个边缘,则计算系统1100生成第一边缘位图,其包含关于第一组一个或多个边缘位于何处的标识信息。在某些实施例中,第一边缘位图可以附加地包括那些包括有非边缘像素、未被标识为边缘像素的像素以及边缘像素的区域像素。图7a示出了计算系统1100基于与第一物体3510相关联的图像部分5610确定边缘位图e
s1 7610的示例。如图所示,边缘位图e
s1 7610标识图像部分5610的第一组边缘7610a-7610c,以及区域像素范围7612a、7612b和7612c(如图7b所示)。
[0088]
为了进一步解释边缘和区域像素范围如何在图像信息内表示,计算系统1100生成边缘位图es,其表示在每个像素处是存在边缘还是存在非边缘范围。例如,每个边缘位图可以是二进制位图,其中每个像素可以具有表示在对应于该像素的位置处存在边缘的值(例如,1或255),或者表示该位置处不存在边缘的另一个值(例如,0)。此外,计算系统1100可以将不同的重要性级别分配给不同的边缘源(例如,视觉纹理、深度不连续性、法线不连续性)。为了分配不同的重要性级别,计算系统1100可以增加二进制位图中该源的边缘的厚度。
[0089]
如上所述,图像信息的边缘与所选模板的边缘之间的比较用于创建第二模板匹配分数,该第二模板匹配分数然后可用于补充由第一模板匹配分数获得的信息。例如,物理物体,例如物体3510,可能有一些物理损坏,这改变物体的外观,使得难以在严格的基于区域的比较上比较图像信息与所选模型模板的视觉描述信息。在这样的示例中,场景可能具有与模型模板不匹配的像素的范围或区域(对应于物体的损坏部分),并且此不匹配范围或区域可能导致确定场景不匹配模型模板,即使场景确实实际上描绘了与模型模板所标识的相同一组物体相关联的物体。在另一示例中,逐像素模板匹配可能受到场景中的像素的影响,这些像素与模型模板中的像素仅出于巧合而匹配,这可能导致2d图像信息5600和模型模板之间的假正匹配的可能性。此外,视觉描述信息和模型模板之间的逐像素比较的使用可能受到成像噪声和其他环境条件的影响。附加地,视觉描述信息和模板可以包括均匀颜色或强度的区域。在这样的情况下,逐像素比较可能不正确地匹配这样的区域,导致不准确的匹配分数。因此,本公开提供了将基于区域的模板匹配与基于边缘的模板匹配相结合的手段,
与仅使用一种方法或另一种方法相比,该手段可以提供具有更高可靠性和/或准确性的模板匹配结果。
[0090]
为了解决与基于区域的比较相关联的潜在不准确性,方法4000还包括基于模型模板的视觉描述信息确定模板边缘信息的步骤4008。更具体地,步骤4008标识从视觉描述信息中检测到的一组一个或多个边缘,或者在一些情况下,标识视觉描述信息中不存在边缘。与步骤4006类似,为了确定模板边缘信息,计算系统1100标识在视觉描述信息内检测到的第二组一个或多个边缘。可以确定模板边缘信息,旨在将在视觉描述信息中发现的边缘的位置和数量与在图像信息中发现的边缘的位置和数量进行比较。在某些情况下,计算系统1100可以标识视觉描述信息中不存在边缘。为了检测存在的任何边缘,计算系统1100可以使用多种方法,包括(i)在边缘处满足定义的像素强度不连续条件或定义的尖峰像素强度条件,(ii)在边缘处满足定义的深度不连续条件,或(iii)在边缘处满足定义的朝向不连续条件。计算系统1100可以使用像素强度值的变化,或更具体地,使用具有不同像素强度的范围之间的像素强度值的导数或梯度标识像素强度不连续性。梯度或导数然后可用来检测存在于边缘处的像素强度的尖峰,特别地,当垂直于边缘移动时。附加地,计算系统1100可以应用二进制阈值来标识像素强度的差异,从而定义相邻像素之间的尖峰或不连续性,标识边缘。此外,除了或替代先前描述的方法,可以使用视觉纹理的变化、深度不连续性和/或从在模板中发现的表面的法线向量的不一致性(朝向不连续性)来检测边缘。替代地,在实施例中,与视觉描述信息相关联的模板边缘信息可以被预先编程、预先确定或预先计算和存储,而不是在模板匹配过程期间被标识。
[0091]
使用(例如,从视觉描述信息)检测到的第二组一个或多个边缘,计算系统1100可以生成标识第二组一个或多个边缘位于何处的第二边缘位图。在某些实施例中,第二边缘位图可以附加地包括那些包括有非边缘像素、未被标识为边缘像素的像素以及边缘像素的区域像素。第二边缘位图可以是二进制位图,其可以具有至少区域像素,如先前所讨论的,该区域像素可以包括边缘像素、非边缘像素或边缘和非边缘像素的任何组合。此外,二进制位图的区域像素被分配第一像素值(例如,0),而第二像素值(例如,1或255)被分配给其中找到边缘的二进制位图。更具体地,例如用1或255表示的边缘像素是其对应于模型模板的视觉描述信息中检测到第二组一个或多个边缘的位置的像素。图8a和8b提供了与模板1到8相关联的位图的若干示例实施例(et1到et8)。
[0092]
一旦在步骤4006和4008中确定了图像边缘信息和模板边缘信息,就使用步骤4010基于图像边缘信息和模板边缘信息之间的比较来确定第二模板匹配分数。第二模板匹配分数可以是查看图像中的边缘和由模板描述的边缘的模板匹配技术的一部分,并且可以被称为基于边缘的模板匹配。
[0093]
基于边缘的模板匹配可以在模板匹配分数准确指示图像信息何时与模型模板的视觉描述信息匹配的能力中创建更高级别的置信度。边缘可以描述物体的物理边缘,或者在某些情况下,边缘可以描述由场景中的图片、徽标或视觉细节形成的或由模板描述的轮廓。基于边缘的模板匹配检查场景中出现的边缘与所选模板中出现的边缘的相似性。除了上面讨论的基于区域的逐像素模板匹配之外,这样的检查或比较可以提供场景匹配中的视觉细节轮廓在多大程度上会将注意力放在基于边缘或基于线的匹配上的指示。在某些实施例中,场景或模板中的轮廓可以由出现在场景或模板中的一个或多个边缘来描述。
[0094]
图9a-9c提供了与基于边缘的模板匹配相关的进一步细节。图9a-9c描绘了将边缘位图e
s1
与边缘位图e
t1
至e
t3
进行比较。通过比较边缘的位置和像素区域范围,计算系统1100可以生成描述图像边缘信息和每个模板之间的相似性级别的第二模板匹配分数。与基于区域的模板匹配相比,基于边缘的模板匹配操作更加强调图像信息的轮廓如何匹配模型模板的视觉描述的轮廓。特别地,第二模板匹配分数集中于确定从图像信息检测到的第一组一个或多个边缘能够与从模型模板的视觉描述信息检测到的第二组一个或多个边缘重叠的最大量。由于越来越关注边缘的位置和数量,基于边缘的匹配比较能够最小化图像信息与模型模板的视觉描述信息(诸如阴影、颜色或照明)之间的差异。
[0095]
为了提供图像边缘信息和模板边缘信息之间的进一步比较,基于边缘的匹配过程可以涉及在一个或多个横向方向上(例如,x、y、或者u、v)相对于模板边缘信息而移位图像边缘信息,以尝试最大化从图像信息检测到的第一组边缘和来自模型模板的视觉描述信息的第二组边缘之间的重叠量。
[0096]
为了提供图像信息和模型模板的视觉描述信息之间的进一步比较,模板匹配过程可涉及在一个或多个横向方向(例如,x、y或u、v)上相对于模型模板的视觉描述信息而移位图像信息,以尝试最大化视觉描述信息和图像信息的特征之间的重叠量,或者更一般地,最大化第一模板匹配分数。例如,基于边缘的模板匹配可以涉及相对于找到最大模板匹配分数的尝试来移位模板边缘信息(例如,在宽度维度和高度或长度维度上),其中最大分数可以表示图像信息和所选模型模板的视觉描述信息之间的边缘重叠的最大区域。例如,模板边缘信息可以相对于图像边缘信息向上、向下、向右和/或向左移位以增加基于边缘的模板匹配分数,在这样的实施例中模板匹配尝试找到适当的移位以产生最大第二匹配分数,反映最大重叠量。替代地,图像信息可以相对于模板移位。相对于模板边缘信息移位图像边缘信息可以最小化并帮助解决建模不准确性或噪声。
[0097]
第二模板匹配分数(也被称为边缘匹配分数)被表示为变量rb,当计算系统1100检测到图像边缘信息与模板边缘信息之间的越高的匹配级别时,rb的值越高,并且当计算系统1100检测到图像边缘信息和模板边缘信息之间的低匹配级别时,rb的值更低。模板匹配分数rb反映场景的图像的轮廓与由模板描述的轮廓相匹配的点数(例如,以匹配像素的百分比来衡量)。类似地,边缘匹配操作可以基于一个轮廓(例如,场景中的视觉细节轮廓)中的未与另一个轮廓(例如,模板的视觉细节轮廓)匹配的部分来减少或以其他方式惩罚rb分数。
[0098]
与逐像素分析基于区域的模板匹配类似,图像边缘信息和模板边缘信息可能没有充分对齐以提供在检测到的第一组一个或多个边缘与检测到的第二组一个或多个边缘之间的准确比较。因此,为了增加比较的准确性,计算系统1100可以在一个或多个横向方向上相对于模板边缘信息的第二位图来移位图像边缘信息的第一位图,反之亦然,以试图并最大化第一位图与第二位图匹配的点数。附加地,边缘匹配操作可忽略或忽视表示空白区域或边缘之间区域的像素,以减少噪声、照明条件差异或图像信息与模型模板的视觉描述信息之间的其他不一致的影响。当确定分数rb时,基于边缘的匹配操作可以集中于表示存在边缘的像素上。因此,边缘匹配操作可以集中于将由第一位图表示的轮廓与由第二位图表示的轮廓对齐,而不是关注基于区域的模板匹配。
[0099]
在实施例中,计算系统1100可以基于从图像信息中检测到边缘的技术,为第一组
一个或多个边缘的每个边缘确定边缘的相应优先级。在这样的实施例中,第二模板匹配分数基于与第一组一个或多个边缘相关联的一个或多个相应优先级。此外,计算系统1100基于以下技术中的哪个技术被用于检测边缘而确定第一组一个或多个边缘的每个边缘的相应优先级:(i)在边缘处满足定义的像素强度不连续条件或定义的尖峰像素强度条件,(ii)在边缘处满足定义的深度不连续条件,或(iii)在边缘处满足定义的朝向不连续条件。此外,计算系统1100可以基于一组一个或多个带(band)的一个或多个相应的厚度值来确定第二模板匹配分数。通过这样做,第二模板匹配分数可以反映或考虑带的优先级。
[0100]
此外,基于边缘的模板匹配操作可以配置用于具体情况。例如,可以将注意力或关注放在图像信息和模型模板内的视觉特征上,而不是关注物体的物理边缘。在这样的实施例中,通过在可能与视觉特征相关联的那些边缘上放置附加的权重,将注意力放在视觉特征的视觉细节的轮廓上。在示例中,基于边缘的匹配可用于标识存在于图像信息内的徽标、贴花或其他感兴趣的视觉特征。然后可以将所标识的徽标、贴花或其他视觉特征与模型模板的视觉描述信息内所识别的徽标、贴花或其他视觉特征进行比较。因此,在本实施例中,第二模板匹配分数基于物体和模板之间的视觉细节的相似性,而不是实际的物理边缘。
[0101]
一旦确定了第一模板匹配分数和第二模板匹配分数,则步骤4012包括使用计算系统1100来计算结合了第一模板匹配分数和第二模板匹配分数的总体模板匹配分数。更具体地,总体模板匹配分数被确定为或基于第一模板匹配分数和第二模板匹配分数的加权组合。
[0102]
如上所述,基于区域的模板匹配在可靠性方面可能具有限制。例如,用图像信息表示的物理物体可能被损坏,图像信息内可能出现不希望的噪声,图像信息和模型模板之间的照明条件可能变化,或者可能存在任何其他不希望的不一致,所有这些可能产生足够低的模板匹配分数。替代地,基于区域的匹配可能产生不适当的高匹配分数,因为由图像信息表示的物理物体可能与由模型模板表示的物理物体不同,但是两个物理物体的大区域仍然可能重叠。一般来说,基于区域的模板匹配同等重视图像信息的所有范围和特征。因此,当在步骤4012中将第一匹配分数与第二匹配分数组合时,可能有兴趣在确定总体匹配分数时更加强调第一匹配分数或第二匹配分数。为此,计算系统1100可以将权重分配给第一匹配分数和第二匹配分数以创建更准确的总体匹配分数。
[0103]
为了进一步详细地描述加权过程,计算系统1100可以使用公式来组合被定义为rs的第一模板匹配分数和被定义为rb的第二模板匹配分数。一个示例公式如下所示:
[0104][0105]
参考上式,ws可以是赋予到第一匹配分数(例如基于区域的模板匹配分数)的权重,而wb可以是赋予到基于边缘的模板匹配的权重。该公式可用于产生加权模板匹配分数rw。权重可被调整以设置基于区域的模板匹配和基于边缘的模板匹配的相对重要性。例如,如果wb大于ws,那么加权模板匹配分数rw可能更多地受到场景中视觉细节轮廓(例如边缘)与模板中视觉细节轮廓有多接近地匹配的影响,而不是场景中像素范围的区域与模板中的像素范围有多匹配的影响。
[0106]
在某些实施例中,计算系统的处理电路1110可以通过仅确定图像边缘信息和模板边缘信息的边缘范围的匹配分数来关注边缘范围。总体模板匹配分数rw可以在不使用任何
基于区域的匹配的情况下而确定。在实施例中,基于区域的匹配可被执行但不用于总体模板匹配分数rw中(即,通过适当地调整权重)。在实施例中,基于区域的匹配可以省略。
[0107]
一旦已经为每个模板确定了总体模板匹配分数,计算系统1100可以在用于生成和/或验证检测假设的过程中使用总体模板匹配分数。检测假设是表示场景的图像信息中一个或多个物体或其部分的标识。例如,计算系统1100可以生成检测假设,该检测假设基于从2d图像信息和/或3d图像信息导出的范围的边缘、角和/或维度来识别物体中的一个或多个(例如,物体3510、3520、3530、3540)。在实施例中,计算系统1100可以使用总体模板匹配分数来验证检测假设的物体与场景中的物体匹配。例如,计算系统1100可以验证检测假设的物体的身份对应于具有模板匹配分数的最高值的模板。作为另一示例,计算系统1100可以生成检测假设,当多于一个的总体模板匹配分数高于匹配阈值时,该检测假设提供了物体的多于一个的可能身份(例如,基于检测到的特征,诸如维度和模板,场景中的物体可能是两个或多个不同物体的物体,这存在高概率)
[0108]
在实施例中,一旦计算系统1100已经生成检测假设,则计算系统1100在执行机器人交互的附加步骤中使用检测假设。例如,计算系统1100可以为前述机器人与图像描述所表示的物体之间的机器人交互创建计划。例如,计算系统1100可以向机器人提供指令以从托盘拾取第一物体并将所述第一物体放置在目的地位置。更一般地,方法4000可被系统用来生成检测假设以标识物体,并且随后创建用于机器人与所标识的物体交互的指令。例如,用于机器人与物体交互的指令可以包括:机械臂接近所标识物体的轨迹、抓握所识别的物体的操作、机械臂将所识别的物体转移到目的地位置处的放置位置的轨迹、在目标位置处释放所标识物体的操作、和/或离开目的地位置的轨迹。
[0109]
本文描述的本技术为现有的基于计算机的图像识别和机器人控制领域提供了技术改进。与使用仅基于区域的模板匹配过程相比,技术改进提高了将物理物体的图像与模型模板匹配的总体准确性。在确定总体匹配分数时,通过使用权重,通过将附加关注放在基于区域的模板匹配过程或基于边缘的模板匹配过程上,基于区域的模板匹配过程与基于边缘的模板匹配过程的结合被进一步改进。
[0110]
对于相关领域的普通技术人员将显而易见,在不脱离任何实施例的范围的情况下,可以对本文所述的方法和应用进行其他适当的修改和改编。上述实施例是说明性示例,并且不应解释为将本发明限于这些特定实施例。应当理解,本文所公开的各种实施例可以以与说明书和附图中具体呈现的组合不同的组合来进行组合。还应当理解,取决于示例,本文描述的任何过程或方法的某些动作或事件可以以不同的顺序执行,可以被添加、合并或完全省略(例如,所有描述的动作或事件对于执行方法或过程可能不是必需的)。此外,尽管为了清楚起见,本文实施例的某些特征被描述为由单个部件、模块或单元来执行,但是应当理解,本文描述的特征和功能可以由部件、单元或模块的任何组合来执行。因此,在不脱离所附权利要求书所限定的本发明的精神或范围的情况下,本领域技术人员可以影响各种变化和修改。
[0111]
另外的实施例包括:
[0112]
实施例1是一种计算系统,包括:通信接口,被配置为与机器人以及与具有相机视场的相机进行通信;至少一个处理电路,被配置为当一个或多个物体处于或者已经处于相机视场中时,执行以下:获取表示一个或多个物体中的第一物体的图像信息,其中图像信息
由相机生成并且描述与第一物体相关联的至少物体外观;确定指示图像信息与模型模板的视觉描述信息之间的匹配程度的第一模板匹配分数,其中视觉描述信息描述物体外观;基于表示第一物体的图像信息确定图像边缘信息,其中图像边缘信息标识从图像信息中检测到的第一组一个或多个边缘,或者指示从图像信息中没有检测到边缘;确定模板边缘信息,其中模板边缘信息标识从模型模板的视觉描述信息中检测到的第二组一个或多个边缘,或者指示从视觉描述信息中没有检测到边缘;确定指示图像边缘信息与模板边缘信息之间的匹配程度的第二模板匹配分数;基于第一模板匹配分数和第二模板匹配分数确定总体模板匹配分数;以及基于总体模板匹配分数执行机器人交互计划操作,其中机器人交互计划操作用于计划机器人与第一物体之间的机器人交互。
[0113]
实施例2是实施例1的系统,其中所述至少一个处理电路被配置为,当从图像信息中检测到第一组一个或多个边缘时,生成图像边缘信息作为标识第一组一个或多个边缘位于何处的第一边缘位图,并且其中至少一个处理电路被配置为基于第一边缘位图和第二边缘位图之间的比较生成第二模板匹配分数,其中第二边缘位图基于视觉描述信息标识模型模板中第二组一个或多个边缘位于何处。
[0114]
实施例3是实施例2的系统,其中所述至少一个处理电路被配置为,基于从图像信息检测到的第一组一个或多个边缘与来自模型模板的视觉描述信息的第二组一个或多个边缘重叠的最大量,来确定第二模板匹配分数。
[0115]
实施例4是实施例3的系统,其中所述至少一个处理电路被配置为以独立于第一模板匹配分数的方式确定第二模板匹配分数。
[0116]
实施例5是实施例2至4的系统,其中第一边缘位图是至少包括区域像素的第一二进制位图,其中第一二进制位图的区域像素是其被分配第一像素值的像素。其中,当从图像信息中检测到第一组一个或多个边缘时,第一二进制位图还包括边缘像素,其中第一二进制位图的边缘像素是其对应于图像信息中检测到第一组一个或多个边缘的位置的像素,其中第一二进制位图的边缘像素被分配第二像素值,其中第二边缘位图是至少包括区域像素的第二二进制位图,其中第二二进制位图的区域像素是其被分配第一像素值的像素。当从模型模板的视觉描述信息中检测到第二组一个或多个边缘时,第二二进制位图还包括边缘像素,其中第二二进制位图的边缘像素是其对应于视觉描述信息中检测到第二组一个或多个边缘的位置的像素,并且其中第二二进制位图的边缘像素被分配第二像素值。
[0117]
实施例6是实施例5的系统,其中所述至少一个处理电路被配置为,基于第一二进制位图的边缘像素与第二二进制位图的边缘像素重叠的最大量来确定第二模板匹配分数。
[0118]
实施例7是实施例5或6的系统,其中所述至少一个处理电路被配置为针对第一组一个或多个边缘中的每个边缘,基于从图像信息来检测边缘的技术来确定边缘的相应优先级,其中第二模板匹配分数基于与第一组一个或多个边缘相关联的一个或多个相应优先级。
[0119]
实施例8是实施例7的系统,其中所述至少一个处理电路被配置为基于以下技术中的哪种技术被用于检测边缘而确定第一组一个或多个边缘的每个边缘的相应优先级:(i)在边缘处满足定义的像素强度不连续条件或定义的尖峰像素强度条件,(ii)在边缘处满足定义的深度不连续条件,或(iii)在边缘处满足定义的朝向不连续条件。
[0120]
实施例9是实施例2至8的系统,其中所述至少一个处理电路被配置为基于图像信
息的范围与视觉描述信息的对应范围之间的匹配程度来确定第一模板匹配分数。
[0121]
实施例10为实施例2至8的系统,其中当模型模板的视觉描述信息包括形成模板2d范围的像素时,所述至少一个处理电路被配置为,基于模板2d范围与来自图像信息或基于图像信息生成的对应图像2d范围之间的匹配程度来确定第一模板匹配分数。
[0122]
实施例11是实施例10的系统,其中所述至少一个处理电路被配置为通过基于图像信息生成和与与模型模板的视觉描述信息相关联的物体姿势、视点、或者照明条件中的至少一个相匹配的变换后的图像信息,来执行图像归一化操作,并且其中对应的图像2d范围来自变换后的图像信息。
[0123]
实施例12是实施例10或11的系统,其中所述至少一个处理电路被配置为基于重叠大小来确定第一模板匹配分数,该重叠大小指示当与图像2d范围的对应像素进行比较时,模板2d范围中有多少像素满足定义的像素强度相似性条件。
[0124]
实施例13是实施例1至12的系统,其中所述至少一个处理电路被配置为,基于第一模板匹配分数和第二模板匹配分数的加权组合来确定总体模板匹配分数。
[0125]
实施例14是实施例1至13的系统,其中所述至少一个处理电路被配置为,当第一物体在相机视场中时,确定第一物体的部分是否未被图像信息描述,并且响应于确定第一物体的部分未被图像信息描述,生成排除了视觉描述信息的对应部分的视觉描述信息的遮蔽版本,并基于视觉描述信息的遮蔽版本确定第一模板匹配分数并确定模板边缘信息。
[0126]
实施例15是一种包括指令的非暂时性计算机可读介质,所述指令用于由与具有视场的相机通信并被配置的至少一个处理电路执行,当一个或多个物体处于或者已经处于视场中时,指令被配置为:获取表示一个或多个物体中的第一物体的图像信息,其中图像信息由相机生成并且描述与第一物体相关联的至少物体外观;确定指示图像信息与模型模板的视觉描述信息之间的匹配程度的第一模板匹配分数,其中视觉描述信息描述物体外观;基于表示第一物体的图像信息确定图像边缘信息,其中图像边缘信息标识从图像信息中检测到的第一组一个或多个边缘,或者指示从图像信息中没有检测到边缘;确定模板边缘信息,其中模板边缘信息标识从模型模板的视觉描述信息中检测到的第二组一个或多个边缘,或者指示从视觉描述信息中没有检测到边缘;确定指示图像边缘信息与模板边缘信息之间的匹配程度的第二模板匹配分数;基于第一模板匹配分数和第二模板匹配分数确定总体模板匹配分数;以及基于总体模板匹配分数执行机器人交互计划操作,其中机器人交互计划操作用于计划机器人与第一物体之间的机器人交互。
[0127]
实施例16是实施例15的非暂时性计算机可读介质,其中当所述指令被附加地配置为,当从图像信息中检测到第一组一个或多个边缘时,生成图像边缘信息作为标识第一组一个或多个边缘位于何处的第一边缘位图,并且其中至少一个处理电路被配置为,基于第一边缘位图和第二边缘位图之间的比较生成第二模板匹配分数,其中第二边缘位图基于视觉描述信息标识模型模板中第二组一个或多个边缘位于何处。
[0128]
实施例17是实施例16的非暂时性计算机可读介质,其中所述指令被附加地配置为,基于从图像信息检测到的第一组一个或多个边缘与来自模型模板的视觉描述信息的第二组一个或多个边缘重叠的最大量,来确定第二模板匹配分数。
[0129]
实施例18是一种控制机器人系统的方法,所述机器人系统包括非暂时性计算机可读介质、与具有视场的相机通信并被配置为执行指令的至少一个处理电路,所述方法包括:
获取表示一个或多个物体中的第一物体的图像信息,其中图像信息由相机生成并且描述与第一物体相关联的至少物体外观;确定指示图像信息与模型模板的视觉描述信息之间的匹配程度的第一模板匹配分数,其中视觉描述信息描述物体外观;基于表示第一物体的图像信息确定图像边缘信息,其中图像边缘信息标识从图像信息中检测到的第一组一个或多个边缘,或者指示从图像信息中没有检测到边缘;确定模板边缘信息,其中模板边缘信息标识从模型模板的视觉描述信息中检测到的第二组一个或多个边缘,或者指示从视觉描述信息中没有检测到边缘;确定指示图像边缘信息与模板边缘信息之间的匹配程度的第二模板匹配分数;基于第一模板匹配分数和第二模板匹配分数确定总体模板匹配分数;以及基于总体模板匹配分数执行机器人交互计划操作,其中机器人交互计划操作用于计划机器人与第一物体之间的机器人交互。
[0130]
实施例19是实施例18的方法,其中当所述指令被附加地配置为,当从图像信息中检测到第一组一个或多个边缘时,生成图像边缘信息作为标识第一组一个或多个边缘位于何处的第一边缘位图,并且其中至少一个处理电路被配置为,基于第一边缘位图和第二边缘位图之间的比较生成第二模板匹配分数,其中第二边缘位图基于视觉描述信息标识模型模板中第二组一个或多个边缘位于何处。
[0131]
实施例20是实施例19的方法,其中所述指令被附加地配置为,基于从图像信息检测到的第一组一个或多个边缘与来自模型模板的视觉描述信息的第二组一个或多个边缘重叠的最大量,来确定第二模板匹配分数。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献