CN113255415A - 用于确定相机视场内的遮挡的方法和系统 - Google Patents
用于确定相机视场内的遮挡的方法和系统 Download PDFInfo
- Publication number
- CN113255415A CN113255415A CN202010277345.7A CN202010277345A CN113255415A CN 113255415 A CN113255415 A CN 113255415A CN 202010277345 A CN202010277345 A CN 202010277345A CN 113255415 A CN113255415 A CN 113255415A
- Authority
- CN
- China
- Prior art keywords
- camera
- region
- target feature
- computing system
- determining
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000000007 visual effect Effects 0.000 claims description 35
- 238000004891 communication Methods 0.000 claims description 31
- 230000003993 interaction Effects 0.000 claims description 23
- 230000008859 change Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000005286 illumination Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/66—Remote control of cameras or camera parts, e.g. by remote control devices
- H04N23/661—Transmitting camera control signals through networks, e.g. control via the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/61—Control of cameras or camera modules based on recognised objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
- H04N23/81—Camera processing pipelines; Components thereof for suppressing or minimising disturbance in the image signal generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/90—Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40607—Fixed camera to observe workspace, object, workpiece, global
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Manipulator (AREA)
- Image Analysis (AREA)
- Studio Devices (AREA)
Abstract
提出了一种用于确定相机视场内的遮挡的系统和方法。该系统接收由至少一个相机生成的相机数据,该至少一个相机包括具有第一相机视场的第一相机。相机数据在具有多个物体的堆叠体在第一相机视场中时被生成,并且描述至少由该多个物体中的第一物体的物体结构形成的堆叠结构。该系统识别物体结构的目标特征或放置在物体结构上的目标特征,并确定与该目标特征共面并围绕该目标特征的2D区域。该系统确定通过连接第一相机的位置和2D区域而定义的3D区域。该系统基于相机数据和该3D区域来确定遮挡区域的尺寸,并确定物体识别置信度参数的值。
Description
技术领域
本发明针对一种用于确定相机视场内的遮挡的方法和系统。
背景技术
随着自动化变得越来越普遍,机器人在更多的环境中使用,诸如在仓库和制造环境中。例如,机器人可以被用于在仓库中将物品装载到托盘上或从托盘上卸下,或在工厂中从传送带上拾取物品。机器人的运动可以是固定的,或者可以基于输入,例如由仓库或工厂中的相机生成的相机数据。例如,相机数据可以表示物体相对于被配置为与该物体交互的机器人的夹具或其他部件的位置和/或结构。依靠相机数据来帮助机器人与物体进行的交互可能会受到由于根据相机数据识别物体的噪声和/或不准确性而引起的错误的影响。
发明内容
本文的实施例的一个方面涉及一种计算系统、方法和/或具有用于确定遮挡的指令的非暂时性计算机可读介质。该计算系统可以包括例如通信接口和控制电路。通信接口可以被配置为与至少一个相机通信,该至少一个相机包括具有第一相机视场的第一相机。当具有多个物体的堆叠体(stack)在第一相机视场中时,控制电路可以被配置为执行用于确定遮挡的方法。在某些情况下,控制电路可以通过执行存储在非暂时性计算机可读介质上的指令来执行该方法。该方法可以包括:接收由至少一个相机生成的相机数据,其中,相机数据描述堆叠体的堆叠结构,该堆叠结构至少由多个物体中的第一物体的物体结构形成;基于由该至少一个相机生成的该相机数据,标识物体结构的目标特征或放置在物体结构上的目标特征(例如,物体结构的角、物体结构的边缘、放置在物体结构的表面上的视觉特征,或物体结构的表面的轮廓)。该方法还可以包括确定与目标特征共面并且其边界围绕目标特征的二维(2D)区域;确定通过连接第一相机的位置和该2D区域的边界而定义的三维(3D)区域,其中,该3D区域是第一相机视场的一部分;基于相机数据和3D区域,确定遮挡区域的尺寸,该遮挡区域是堆叠结构的位于目标特征和至少一个相机之间并且在3D区域内的区域。在实施例中,控制电路可以基于遮挡区域的尺寸来确定物体识别置信度参数的值。在实施例中,控制电路可以执行用于控制机器人与堆叠结构的交互的操作,其中,该操作是基于物体识别置信度参数的值而执行的。
附图说明
本发明的前述和其他特征、目的和优点将从如附图所示的本发明实施例的以下描述中变得清楚。在此被并入并形成说明书一部分的附图进一步用于解释本发明的原理并使相关领域的技术人员能够制造和使用本发明。附图不按比例绘制。
图1A-1B描绘了根据本文的实施例的在其中可以检测相机遮挡的系统的框图。
图1C描绘了根据本文的实施例的在其中可以检测相机遮挡的机器人操作系统的框图。
图2描绘了根据本文的实施例的被配置为确定相机视场内的遮挡的计算系统的框图。
图3A和图3B描绘了根据本文的实施例的在其中可以针对相机视场内的物体结构检测相机遮挡的系统。
图4A-4B描绘了根据本文的实施例的用于确定相机视场内的遮挡的示例方法的流程图。
图5A-5D描绘了根据本文的实施例的其中基于目标特征来确定遮挡的实施例,该目标特征是物体结构的角。
图6A-6D描绘了根据本发明的实施例的其中基于目标特征来确定遮挡的实施例,该目标特征是物体结构的边缘。
图7A-7D描绘了根据本发明实施例的其中基于目标特征确定来遮挡的实施例,该目标特征是放置在物体结构的表面上的视觉特征或表面的轮廓。
具体实施方式
以下详细描述本质上仅是示例性的,并不旨在限制本发明或本发明的应用和用途。此外,不旨在受前述技术领域、背景技术、发明内容或以下具体实施方式中提出的任何明示或暗示的理论的约束。
本文描述的实施例涉及确定相机视场内的遮挡,诸如通过检测相机视场内的遮挡、评估相机视场内的遮挡水平和/或遮挡分析的任何其他方面。遮挡可以是指例如相机视场中的位置或该位置周围的区域的一部分被阻挡或接近被阻挡而不被相机观看或以其他方式感测到的情况。在某些情况下,遮挡可能是由于物体或其部分阻挡或接近阻挡从相机到该位置的视线,或从相机到该位置周围的区域的一部分的视线。例如,遮挡物体可以位于相机和被遮挡的位置之间或该位置周围的区域的被遮挡的一部分之间。在某些情况下,可以将目标特征放置在该位置或该位置周围的区域。目标特征可以是例如用于执行物体识别的区域特征,并且可以被用于例如规划机器人与该区域处的结构的交互。例如,目标特征可以是该区域处的物体的角或边缘或其表面,或者可以是放置在该表面上的视觉特征。遮挡物体的存在可能影响标识目标特征的能力,和/或影响这样的标识的准确性。因此,本文的实施例的一个方面涉及检测或以其他方式评估可能影响相机视场内的目标特征或任何其他特征的遮挡。
在实施例中,确定遮挡可以涉及确定遮挡区域的尺寸。遮挡区域可以是例如遮挡物体的位于相机和目标特征之间、或者位于相机与目标特征周围的区域的一部分之间的区域。例如,遮挡区域可以是在3D区域内的遮挡物体的2D区域(其可以是第一2D区域),其中该3D区域可以是通过连接相机的位置到目标特征周围的2D区域(其可以是第二2D区域)来定义的。在实施例中,确定遮挡可以涉及确定被遮挡的区域的尺寸,这将在下面更详细地讨论。在某些情况下,遮挡区域(和/或被遮挡的区域)的尺寸可以被用于确定例如涉及或将涉及目标特征的物体识别的置信度水平。在某些情况下,可以以使置信度水平与遮挡区域的尺寸和/或被遮挡的区域的尺寸成反相关的方式来确定置信度水平。
在实施例中,遮挡分析可以被用于例如确定是否重新执行物体识别,或者调整执行物体识别的方式。例如,如果物体识别操作的置信度水平低于定义的阈值(例如,定义的置信度阈值),则可以重新执行物体识别操作。由于例如遮挡的量太高(诸如当遮挡区域的尺寸与目标特征周围的2D区域的尺寸之比超过定义的遮挡阈值时,或者当遮挡区域的尺寸超过定义的遮挡阈值时),物体识别的置信度水平可能低于定义的阈值。在某些情况下,定义的遮挡阈值可以是定义的置信度阈值的倒数,和/或与定义的置信度阈值成反相关。在某些情况下,对遮挡的评估可以被用于规划机器人与遮挡物体、与目标特征或目标特征被放置其上的物体、或与任何其他物体或其结构的交互。例如,机器人交互可以被规划为以减小遮挡量或更具体地减小遮挡区域的尺寸的方式而移动遮挡物体和/或目标特征被放置于其上的物体,如下面更详细讨论的那样。
图1A示出了用于检测和/或评估相机视场内的遮挡的系统100的框图。在实施例中,系统100可以位于仓库、制造工厂或其他场所内。例如,系统100可以是用于生成仓库或制造工厂内的物体的相机数据(例如,图像)的视觉系统。在某些情况下,视觉系统可以是机器人控制系统的一部分或与机器人控制系统通信,该机器人控制系统可以使用相机数据或从相机数据导出的信息来例如生成运动命令,这些运动命令引起其中机器人与物体进行交互的机器人交互。
如图1A所示,系统100可以包括计算系统110和相机170(其也可以被称为第一相机170)。在实施例中,相机170可以被配置为生成或以其它方式获取捕获相机170的视场(也被称为相机视场)中的场景的相机数据。例如,相机170可以被配置为拍摄该场景,或更具体地,拍摄相机视场中的物体。在实施例中,相机170可以是三维(3D)相机、二维(2D)相机或其任何组合(术语“或”在本文中用于指代“和/或”)。
在实施例中,3D相机(其也可以被称为深度感测相机或结构感测设备)可以是被配置为生成包括关于相机视场中的场景的3D信息的相机数据的相机,其中该3D信息可以包括场景的深度信息。更具体地,深度信息可以指示相机视场中的一个或多个物体上的位置的相对于3D相机的相应深度值。在某些情况下,3D信息可以包括表示一个或多个物体上的位置的多个3D数据点,诸如3D坐标。例如,多个3D数据点可以包括点云,该点云表示相机视场中一个或多个物体的一个或多个表面上的位置。在某些情况下,3D相机可以包括例如飞行时间(TOF)相机或结构化光相机。
在实施例中,2D相机可以是被配置为生成包括关于相机视场中的场景的2D信息的相机数据的相机,其中该2D信息可以捕获或以其他方式表示场景的外观。例如,2D信息可以是2D图像或像素的其他阵列,其捕获或以其他方式表示相机视场中的一个或多个物体。2D相机可以包括例如被配置为生成2D彩色图像的彩色相机,被配置为生成2D灰度图像的灰度相机、或任何其他2D相机。
在某些情况下,图1A的计算系统110可以被配置为与相机170通信。例如,计算系统110可以被配置为控制相机170。作为示例,计算系统110可以被配置为生成相机命令,该相机命令使相机170生成捕获相机170的视场(也被称为相机视场)中的场景的相机数据,并且可以配置为经由有线或无线连接将相机命令传送给相机170。相同的命令可以使相机170也将相机数据传送回计算系统110,或更一般地传送到计算系统110可访问的非暂时性计算机可读介质(例如,存储设备)。替代地,计算系统110可以生成另一相机命令,该另一相机命令使得相机170在接收到该相机命令之后将其已经生成的相机数据传送到计算系统110。在实施例中,相机170可以周期性地或响应于定义的触发条件而自动地生成相机数据而无需来自计算系统110的相机命令,该相机数据捕获或以其他方式表示其相机市场中的场景。在这样的实施例中,相机170还可以配置为在没有来自计算系统110的相机命令的情况下自动地将相机数据传送到计算系统110,或更一般地,传送到计算系统110可访问的非暂时性计算机可读介质。
在实施例中,系统100可以仅包括单个相机。在另一实施例中,系统100可以包括多个相机。例如,图1B描绘了系统100A,其可以是系统100的实施例,系统100A包括也可以分别被称为第一相机170和第二相机180的相机170和相机180。在示例中,第一相机170可以是3D相机,而第二相机180可以是2D相机,反之亦然。在某些实现方式中,计算系统110可被配置为以与其控制第一相机170的方式类似或相同的方式来控制第二相机180,如上文关于图1A所描述。在某些情况下,可以将不同的相机命令分别发送到第一相机170和第二相机180。在某些情况下,可以将相同的相机命令分别发送到第一相机170和第二相机180。在某些情况下,第一相机170和第二相机180可以被定位使得第一相机170的视场与第二相机180的视场基本上重叠。这样,第一相机170和第二相机180可以被定位以生成表示相同区域或基本上相同的区域的相机数据(例如,图像和/或点云)。
在某些情况下,图1B的第一相机170可以相对于第二相机180具有固定的位置和/或朝向。例如,第一相机170可以直接或间接地固定附接到相机180。这样的布置可以使第一相机170和相机180之间的角度和/或距离保持固定。在某些情况下,这样的布置可以使第一相机170的坐标系和第二相机180的坐标系之间的空间关系保持固定。
如上所述,在某些情况下,系统100/100A可以是机器人操作系统或机器人操作系统的一部分。例如,图1C描绘了系统100B,其可以是系统100/100A的实施例,系统100B包括与计算系统110通信的机器人150。在某些情况下,计算系统110可以被配置为使用由第一相机170和/或第二相机180生成的图像或其他相机数据来控制机器人150的操作或实现/执行用于控制机器人150的操作的指令。例如,计算系统110可以配置为控制机器人150以执行卸垛操作,在该操作中机器人150基于由第一相机170和/或第二相机180生成的相机数据在仓库中卸载一堆箱子或其他物体。
在实施例中,计算系统110可以被配置为经由有线和/或无线通信与机器人150以及第一相机170和/或第二相机180通信。例如,计算系统110可以被配置为经由RS-232接口、通用串行总线(USB)接口、以太网接口、接口、IEEE 802.11接口或其任何组合来与机器人150、第一相机170和/或第二相机180通信。在实施例中,计算系统110可以被配置为经由本地计算机总线(诸如外围部件互连(PCI)总线)与机器人150和/或相机170/180通信。在实施例中,计算系统110和相机170/180位于相同的场所(例如,仓库)。在实施例中,计算系统110可以远离机器人150和/或相机170/180,并且可以配置为经由网络连接(例如,局域网(LAN)连接)与机器人150和/或相机170/180通信。
在实施例中,图1C的计算系统110可以与机器人150分离,并且可以经由以上讨论的无线或有线连接与机器人150通信。例如,计算系统110可以是被配置为经由有线连接或无线连接与机器人150和相机170/180通信的独立计算机。在实施例中,图1C的计算系统110可以是机器人150的组成部分,并且可以经由上述本地计算机总线与机器人150的其他部件通信。在某些情况下,计算系统110可以是仅控制机器人150的专用控制系统(也被称为专用控制器)。在其他情况下,计算系统110可以被配置为控制多个机器人,包括机器人150。
图2描绘了计算系统110的框图。如框图所示,计算系统110可以包括控制电路111、通信接口113和非暂时性计算机可读介质115(例如,存储器或其他存储设备)。在实施例中,控制电路111可以包括一个或多个处理器、可编程逻辑电路(PLC)或可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或任何其他控制电路。
在实施例中,通信接口113可以包括一个或多个部件,其被配置为与图1A-1C的相机170/180和/或图1C的机器人150通信。例如,通信接口113可以包括被配置为通过有线或无线协议执行通信的通信电路。作为示例,通信电路可以包括RS-232端口控制器、USB控制器、以太网控制器、IEEE 802.11控制器、控制器、PCI总线控制器,任何其他通信电路或其组合。
在实施例中,非暂时性计算机可读介质115可以包括信息存储设备,诸如计算机存储器。该计算机存储器可以包括例如动态随机存取存储器(DRAM)、固态集成存储器和/或硬盘驱动器(HDD)。在某些情况下,可以通过存储在非暂时性计算机可读介质115上的计算机可执行指令(例如,计算机代码)来实现确定相机视场内的遮挡。在这种情况下,控制电路111可以包括被配置为执行计算机可执行指令以检测相机视场中的遮挡(例如,图4A和4B中所示的步骤)的一个或多个处理器。在实施例中,非暂时性计算机可读介质可以被配置为存储由相机170/180生成并且直接或间接地从相机170/180接收的相机数据。在这样的实施例中,计算系统110可以被配置为从非暂时性计算机可读介质115接收或以其他方式访问相机数据。在某些情况下,非暂时性计算机可读介质115可以存储物体识别模板,这将在下面更详细地讨论。
图3A描绘了示例,在该示例中,计算系统110是用于检测相机视场中的遮挡的系统200的一部分。系统200可以是系统100/100A的实施例,并且包括图1A-1B的计算系统110以及相机270,相机270可以是相机170的实施例。如图3A所示,相机270(也可以被称为第一相机270)可以与计算系统110通信,并且可以具有视场(也称为相机视场)272。相机视场272可以形成如图3A所示的假想的棱锥,或者可以形成某些其他形状,诸如圆锥。相机视场272的棱锥、圆锥或其他形状的顶点可以位于相机270处,诸如在相机270的透镜或图像传感器(如果有的话)的位置处。
在实施例中,相机270可以被配置为生成相机数据,该相机数据捕获或更一般地表示至少部分地位于相机视场272内的一个或多个物体。例如,图3A示出了至少部分地在相机视场272中的多个物体251-253的堆叠体250。在图3A的示例中,该多个物体包括第一物体251、第二物体252和第三物体253。物体251-253可以是例如要被卸垛的盒子,或者可以是任何其他物体。在实施例中,堆叠体250可以包括多个层。例如,堆叠体250可以包括由第一物体251和第三物体253形成的第一层,以及由第二物体252形成的第二层。第二层的物体(例如252)可以被堆叠在第一层的至少一个物体(例如253)上(例如,第二物体252可以被堆叠在第三物体253的顶部)。在这样的布置中,相对于相机270与第一层的一个或多个物体(例如251)之间的距离,第二层的一个或多个物体(例如252)可以更靠近相机270,因为第二层被放置在相机270和第一层之间。例如,图3A描绘了第二物体252的表面252A(例如,顶表面)相对于相机270的深度值Z1,其中该深度值可以指相机270与表面252A之间的距离。表面251A的深度值Z1可以小于深度值Z2,深度值Z2可以是第一物体的表面251A(例如,顶表面)的深度值和/或第三物体253的表面253A的深度值。图3A还描绘了深度值Z3,其可以是例如堆叠体250被放在其上的地板的表面或堆叠体250的更加远离相机270的另一层(例如,更低层)的表面的深度值。
在实施例中,由相机270生成的相机数据可以描述堆叠体250的结构,其也可以被称为堆叠体250的堆叠结构。该堆叠结构可以至少由堆叠体中的物体的结构(也称为物体结构)结构形成。例如,堆叠体250的堆叠结构可以至少由第一物体251的物体结构(其是指第一物体251的结构)、第二物体252的物体结构以及第三物体253的物体结构形成。在某些情况下,相机数据可以使用3D信息来描述堆叠结构,该3D信息描述堆叠体250的一个或多个表面上的位置相对于相机270的相应深度值。例如,3D信息可以包括多个3D数据点(例如,3D坐标),其描述堆叠体250的一个或多个表面(例如,251A、252A、253A)上的相应位置,或更具体地,描述堆叠体250的堆叠结构的一个或多个表面上的相应位置。因为堆叠体250是由物体251-253形成的,所以多个3D数据点还可以描述物体251-253的一个或多个表面上的相应位置,或更具体地,描述它们的物体结构的一个或多个表面上的相应位置。多个3D数据点可以指示例如这些位置的深度值Z1、Z2或Z3。在某些情况下,相机数据可包括2D信息,例如捕获或以其他方式表示堆叠体250的外观的图像。该图像可以示出堆叠结构和/或物体结构的特征(例如,角或边缘),如下文更详细讨论的。
在实施例中,系统200可以具有两个或多个相机。例如,图3B描绘了示例系统200A,其可以是系统100/100A/100B/200的实施例。系统200A包括也可以分别被称为第一相机270和第二相机280的相机270和相机280。第一相机270可以是图1A-1C的第一相机170的实施例,并且第二相机280可以是图1B-1C的第二相机180的实施例。像在图3A中一样,第一相机270可以具有相机视场272。第二相机280可以具有第二相机视场282,该第二相机视场282至少部分地与相机视场272重叠。在某些方面,第一相机270的相机视场272可以与第二相机280的相机视场282基本上重叠,使得第一相机270和第二相机280可以各自生成捕获堆叠体250的堆叠结构的基本上相同的部分的相机数据。在实施例中,第一相机270和第二相机280可以是不同类型的相机。例如,第一相机270可以是3D相机,而第二相机280可以是2D相机,反之亦然。在其他实施例中,第一相机270和第二相机280可以是相同类型的相机。
在实施例中,计算系统110可以被配置为访问或以其他方式接收描述第一相机270和第二相机280之间的空间关系(例如,相对位置和朝向)的信息。例如,该信息可以已经预先由计算系统110确定(例如,经由立体相机校准操作),或者可以已经预先被手动确定并存储在计算系统110的非暂时性计算机可读介质115中或另一设备上。作为示例,该信息可以是描述第一相机270的坐标系与第二相机280的坐标系之间的平移和旋转的变换矩阵。在某些情况下,计算系统110可以被配置为使用关于第一相机270和第二相机280之间的空间关系的信息,以便将由第一相机170生成的相机数据和由第二相机280生成的相机数据放在公共参考框架(诸如公共坐标系)中。例如,如下面更详细地讨论的,如果计算系统正在使用来自第二相机280的相机数据来确定堆叠结构的特征的位置,则计算系统110可以被配置为对第二相机280的参考框架和公共参考框架之间的任何差异进行补偿。在某些情况下,公共参考框架可以是相机当中的一个相机(例如第一相机270)的参考框架。
在实施例中,第一相机270和第二相机280可以具有基本固定的空间关系。例如,图3B示出了第一相机270和第二相机280两者都被固定地附接到其的安装结构202。固定附接可以使得第一相机270和第二相机280在相对位置和朝向方面相对于彼此是固定的。
在实施例中,相机的视场(例如,272)中的位置可能被遮挡,因为该位置与相机(例如,270)之间的视线可能被相机视场中的物体或其一部分阻挡,或者可能接近被相机视场中的物体或其一部分阻挡。换句话说,物体或其一部分可能会妨碍相机查看该位置或该位置或该位置周围区域的一部分,或者接近这样做。在实施例中,物体可以防止可以被用于感测关于该位置的信息的光或其他信号直接到达相机,或者可以使信号明显失真。在图3A和3B中,堆叠体250的一部分,或更具体地,该堆叠结构的一部分,可能相对于相机270被该堆叠结构的另一部分遮挡。例如,如图3B所示,第一物体251的表面251A上的区域251A-1或第三物体253A的表面253A1上的区域253A-1中的位置相对于相机270可能被第二物体252遮挡,或更具体地,相对于相机270由被区域252A-1占据的其一部分遮挡。在某些情况下,遮挡可能是由于相机270和堆叠体250的物体251-253相对于相机270以及相对于彼此的定位。遮挡可能使由相机270生成的相机数据提供对堆叠体250的不完整描述,或者更具体地说,提供对其堆叠结构的不完整描述。例如,如果由相机270生成的相机数据包括多个3D数据点,则这些3D数据点可能几乎不提供关于区域251A-1和区域253A-1的信息。如果由相机270生成的相机数据包括2D图像,则该2D图像可能不示出或以其他方式表示区域251A-1和区域253A-1。尽管以上讨论涉及位置相对于相机270的遮挡,但是图3B中的堆叠体250的堆叠结构的一个或多个位置也可以相对于相机280被遮挡。
在实施例中,对相机的视场中一个或多个位置的遮挡会影响机器人与视场中的物体的交互,因为机器人交互可能依赖于描述例如物体相对于机器人的位置、尺寸和/或朝向的相机数据。在某些情况下,机器人交互可能需要执行物体识别以识别视场中的物体,并且遮挡可能会影响物体识别的准确性。因此,本文的实施例某些方面涉及检测或以其他方式确定相机视场内的遮挡。这样的确定可以被用于例如评估在相机视场中存在遮挡时可能已经执行的物体识别、控制如何执行物体识别、和/或控制机器人与相机视场中的物体的交互。图4A和图4B描绘了用于确定相机视场内的遮挡的示例方法400。方法400可以由计算系统执行,诸如由图1A-1C和图2的计算系统110的控制电路111执行。
在实施例中,控制电路111可以被配置为在计算系统110的通信接口113与至少一个相机通信时执行方法400,其中,该至少一个相机包括具有第一相机视场(例如272)的第一相机(例如,170/270)。作为示例,可以针对图3A、3B、5A-5D、6A-6D和7A-7C中所示的情况执行方法400,其涉及第一相机270、第二相机280和与相机270/280通信的计算系统110。在另一示例中,可以针对至少一个相机包括第一相机270并且不存在第二相机280的情况执行方法400。
在实施例中,当具有多个物体的堆叠体在第一相机(例如,270)的第一相机视场(例如,272)中时,也可以执行方法400。例如,当例如图3A、3B、5A和6A的物体251-253的堆叠体250在第一相机270的第一相机视场272中时,或者当图7A的物体751-753的堆叠体750在第一相机270的第一相机视场272中时,控制电路111可以执行方法400。如上所述,图5A和6A中的堆叠体250的堆叠结构可以至少由第一物体251的物体结构(其中物体结构是指物体的结构)、以及由第二物体252的物体结构和第三物体253的物体结构形成。类似地,图7A的堆叠体750可以至少由第一物体751的物体结构,以及由第二物体752的物体结构和第三物体753的物体结构形成。
在实施例中,方法400可以以步骤402开始或以其他方式包括步骤402,在步骤402中,控制电路111接收由至少一个相机生成的相机数据,该至少一个相机包括具有第一相机视场(例如,272)的第一相机(例如170/270),其中相机数据描述堆叠体(例如,图5A、6A和7A的250/750)的堆叠结构,其中,堆叠结构可以是指堆叠体的结构。在某些情况下,该至少一个相机可以包括第一相机(例如170/270)和第二相机(例如180/280)。在这样的情况下,在步骤402中由控制电路接收的相机数据可以包括由第一相机(例如170/270)生成的相机数据和由第二相机(例如180/280)生成的相机数据二者。
如上所述,在某些情况下,在步骤402中由控制电路111接收的相机数据可以包括3D信息,该3D信息包括关于第一相机视场中的场景的深度信息。深度信息可以指示例如堆叠结构上的相应位置的深度值,其中,深度值可以是相对于第一相机(例如,270)的。在某些情况下,深度信息可以包括描述深度值的多个3D数据点。例如,多个3D数据点中的每一个可以是3D坐标,诸如描述堆叠体的表面(其也可以称为堆叠结构的表面)上的对应位置的[X YZ]T坐标。在该示例中,3D数据点的Z分量可以是由3D数据点表示的对应位置的深度值。在某些情况下,多个3D数据点可以形成点云,该点云描述堆叠体(例如250/750)的堆叠结构的一个或多个表面上的相应位置。如上所述,在某些情况下,在步骤402中接收到的相机数据可以包括堆叠体(例如250/750)的2D图像,或更具体地,包括堆叠结构的2D图像。该2D图像可以包括例如对应于像素坐标[u v]T的多个像素。
在实施例中,方法400可以包括步骤404,在步骤404中,控制电路111可以基于由至少一个相机生成的相机数据,标识物体的物体结构的或放置在物体的物体结构上的目标特征(其也可以称为物体的目标特征)。作为示例,物体结构可以是图5A和图6A的第一物体251的结构,或者是图7A的第一物体751的结构。
在实施例中,目标特征可以是由计算系统110用来以执行针对物体(例如,图5A的251或图7A的751)的物体识别,和/或规划机器人与物体的交互的物体的任何特征(例如,特性)。如下面更详细地讨论的,在某些情况下,控制电路111可以被配置为基于物体识别模板中的信息来标识目标特征,该信息可以描述例如物体结构的尺寸(例如维度)、物体结构的形状和/或出现在物体结构的表面上的视觉特征。
在实施例中,物体结构的目标特征或放置在物体结构上的目标特征(其也可以称为物体的目标特征)可以是以下各项中的至少一个:物体的物体结构的角、物体结构的边缘、放置在物体结构的表面上的视觉特征、或物体结构的表面的轮廓。上述特征也可以被称为物体的角、物体的边缘、放置在物体的表面上的视觉特征、或物体的表面的轮廓。
更具体地,在步骤404中标识目标特征的某些实施例可以涉及将物体结构的角(诸如图5A中的第一物体251的物体结构的角251B,其也可以被称为第一物体251的角251B)标识为目标特征。在某些情况下,计算系统110的控制电路111可以被配置为基于来自由图5A的第一相机270生成的相机数据和/或由第二相机280生成的相机数据的3D信息来标识角251B。图5B提供了3D信息的示例,该3D信息包括多个3D数据点,该多个3D数据点指示图3A、3B和5A的相机270(或相机280)的相机视场272(或282)中一个或多个表面上的位置的相应深度值。例如,多个3D数据点可以包括第一组3D数据点,该第一组3D数据点指示第二物体的表面252A上的一个或多个位置(由图5B中的黑圈表示)中的每个位置相对于相机270/280的深度值Z1。该多个3D数据点还可以包括第二组数据点,该第二组3D数据点指示第一物体251的表面251A上以及第三物体253的表面253A的一个或多个位置(由图5B的白色圆圈表示)中的每个位置相对于相机270/280的深度值Z2。该多个3D数据点还可以包括第三组3D数据点,该第三组3D数据点指示一个或多个附加表面(其可以对应于例如围绕图5A的堆叠体250的地板,或者对应于第一物体251和第三物体253被放置在其上的任何其他表面)的一个或多个位置中的每一个位置的深度值Z3。如上所述,在一些实施例中,多个3D数据点中的每一个可以是3D坐标,诸如[X Y Z]。在这样的实施例中,深度值可以由例如3D坐标的Z分量指示。
在实施例中,控制电路111可以被配置为基于根据图5B的多个3D数据点标识凸角或融合角来标识角251B。在题为“Method and Computing System for ObjectIdentification(用于物体标识的方法和计算系统)”的第16/578,900号美国专利申请中更详细地讨论了标识凸角或融合角,该美国专利申请的全文以引用的方式并入本文中。在实施例中,控制电路111可以被配置为通过标识如下的3D数据点来标识角251B,该3D数据点表示一个区域,该区域对于该区域的四分之一基本上具有第一深度,对于该区域的其余四分之三基本上具有第二深度值(例如,较高的深度值)。在某些情况下,角251B可以被标识为区域的中心。
在实施例中,标识角251B可以涉及确定其位置,诸如基于相机数据确定坐标[X YZ]T,如图5B所示。在某些情况下,如上所述,控制电路111可以确定相对于公共参考框架的坐标。作为示例,公共参考框架可以是图5A的第一相机270的坐标系。在某些情况下,如果坐标[X Y Z]T基于由第一相机270生成的相机数据,则该坐标可能已经在公共参考框架中。在这样的情况下,坐标[X Y Z]T可以用于方法400的其他步骤,例如步骤406。在某些情况下,如果坐标[X Y Z]T最初基于由图5A的第二相机280生成的相机数据,则该坐标可能最初是相对于第二相机280的参考框架(例如,坐标系)来表达的。在这种情况下,控制电路111可以被配置为生成经调整的坐标[X’Y’Z’]T,该经调整的坐标[X’Y’Z’]T考虑了第一相机270的参考框架和第二相机280的参考框架之间的位置和/或朝向的差异。例如,控制电路111可以被配置为通过将变换矩阵应用于坐标[X Y Z]T来生成经调整的坐标[X’Y’Z’]T,其中,变换矩阵描述了第一相机270和第二相机280之间的空间关系,如上所述。在某些情况下,第一相机270和第二相机280可以是共面的,这可以使得Z’等于Z。在以上示例中,可以将经调整的坐标[X’Y’Z’]T用在方法400的其他步骤中,例如步骤406。
在实施例中,计算系统110的控制电路111可以被配置为基于2D信息来标识图5A的角251B,该2D信息可以来自由图5A的第一相机270生成的相机数据或第二相机280生成的相机数据。例如,在某些情况下,第二相机280可以是被配置为生成2D图像的2D相机。图5C描绘了图5A的堆叠体250的示例2D图像。在该示例中,第一物体251的物体结构的表面251A、第二物体252的物体结构的表面252A和第三物体253的物体结构的表面253A出现在2D图像中。控制电路111可以被配置为例如从图5C的2D图像中标识角251B,诸如通过确定角251B出现在图像中的像素坐标[u v]T并将该像素坐标转换为3D坐标[X Y Z]T。在某些情况下,可以将像素坐标[u v]T标识为图像中两条线之间的相交,其中这两条线代表第一物体251的物体结构的两个相应外边缘。在实施例中,将像素坐标[u v]T到转换到3D坐标[X Y Z]T可以基于例如生成了2D图像的相机(诸如第一相机270或第二相机280)的逆投影矩阵K-1(和/或任何其他相机校准信息)。在某些情况下,转换还可以基于同一相机或不同相机生成的3D信息。在某些情况下,控制电路111可以被配置为进一步调整3D坐标[X Y Z]T以便将该3D坐标表达在公共参考框架中,如上所述。
如上所述,在步骤404中标识目标特征的一些实施例可以涉及将物体结构的边缘(诸如图6A中的第一物体251的物体结构的边缘251C,其也可以称为第一物体251的边缘251C)标识为目标特征。在某些情况下,计算系统110的控制电路111可以被配置为基于3D信息来标识边缘251C,该3D信息可以来自于由图6A的第一相机270生成的相机数据和/或由第二相机280生成的相机数据。例如,图6B描绘了包括多个3D数据点的3D信息。图6B中所示的多个3D数据点可以与图5B中的基本相同。在图6B的示例中,控制电路111可以被配置为基于3D信息和基于物体识别模板来标识第一物体251的物体结构的边缘251C。物体识别模板可以通过例如描述第一物体251的物体结构的尺寸,和/或描述可以用于执行物体识别的第一物体251的其他特性,来促进针对第一物体251的物体识别。例如,物体识别模板可以指示第一物体251的物体结构具有长度L和宽度W。在这样的示例中,控制电路111可以被配置为通过基于多个3D数据点标识例如图6A和6B的外边缘251D并且通过将边缘251C标识为从外边缘251D偏移了物体结构的宽度W的一组位置(例如[X1 Y1 Z1]T和[X2 Y2 Z2]T)来标识图6B中的边缘251C,该宽度W在物体识别模板中被标识。在某些情况下,控制电路111可以被配置为通过确定深度值在其处不连续(例如,如图3A所示的从Z2到Z3的不连续)的一组位置来标识图6A的外边缘251D。
在某些情况下,计算系统110的控制电路111可以被配置为基于2D信息来标识边缘251C,该2D信息可以来自于由图6A的第一相机270生成的相机数据和/或由第二相机280生成的相机数据。例如,图6C描绘了图6A的堆叠体250的2D图像。图6C的2D图像可以与图5C的2D图像基本相同。在实施例中,控制电路111可以被配置为从2D图像中标识边缘251C出现在图6C的图像中的一个或多个像素坐标。例如,控制电路111可以标识表示边缘251C的第一端点出现在图6C的2D图像中的位置的第一像素坐标[u1 v1]T,并且标识表示边缘251C的第二端点出现在2D图像中的位置的第二像素坐标[u2 v2]T。在某些情况下,控制电路111可以被配置为分别将第一像素坐标[u1 v1]T和第二像素坐标[u2 v2]T转换为第一3D坐标[X1 Y1 Z1]T和第二3D坐标[X1 Y1 Z1]T,如上面关于图5C所讨论的。
如上所述,在步骤404中标识目标特征的一些实施例可以涉及将放置在物体结构的表面上的视觉特征标识为目标特征。在实施例中,视觉特征可以包括图形元素或任何其他视觉标记。例如,图7A描绘了第一物体751的物体结构的表面751A上的视觉特征751B(也可以被称为放置在第一物体751的表面751A上的视觉特征751B)。更具体地,图7A描绘了其中物体751-753的堆叠体750在第一相机270的相机视场272中和/或在第二相机280的相机视场282中的情况。第一物体751和第三物体753可以形成堆叠体750的第一层,而第二物体752可以形成堆叠体750的第二层,并且可以被堆叠在第一物体751上和第三物体753上。如上所述,第一物体751可以具有放置在第一物体751的表面751A上的视觉特征751B。在图7A的示例中,视觉特征751B可以是显示品牌名称或商标(例如,“A”)的徽标,并且可以被印刷在或附接在第一物体751的物体结构的表面751A上。
在实施例中,计算系统110的控制电路111可以被配置为基于2D信息(例如,2D图像)来标识视觉特征751B,该2D信息可以是来自于由图7A的第一相机270生成的相机数据和/或由第二相机280生成的相机数据。例如,图7B描绘了出现在堆叠体750的2D图像中的视觉特征751B。更具体地,第一物体751的表面751A(例如,顶表面)、第二物体752的表面752A以及第三物体753的表面753A可以出现在图7B所示的图像中。
在实施例中,控制电路111可以被配置为通过确定图7B的2D信息(例如,2D图像)的任何部分是否与定义的视觉特征的外观或其他特征匹配来标识视觉特征751B。例如,控制电路111可以执行图案识别以尝试识别图7B的2D图像的任何部分是否与所定义的视觉特征的外观的形状、标记、图案、颜色或任何其他方面匹配。在实施例中,关于所定义的视觉特征的信息可以被存储在非暂时性计算机可读介质115中。在实施例中,关于所定义的视觉特征的信息可以被存储在物体识别模板中。如上所述,物体识别模板可以通过描述特定物体或物体类别的特性(诸如物体或物体类别的物体结构的尺寸(例如,维度)、物体结构的形状、和/或物体结构的表面的外观,诸如放置在物体结构表面上的视觉特征)来促进针对特定物体或物体类别的物体识别。例如,物体识别模板可以包括将“A”徽标描述为出现在第一物体751的表面(例如751A)上的或第一物体751所属的物体类别的表面(例如751A)上的视觉特征的信息。在这种情况下,控制电路111可以被配置为通过确定图7B的2D图像的任何部分是否与存储在物体识别模板中的用于描述“A”徽标的信息匹配来标识视觉特征751B。
在实施例中,在步骤404中标识目标特征可以涉及将物体结构的表面的轮廓标识为目标特征。轮廓可以描述物体结构的表面的边界。例如,控制电路111可以通过标识第一物体751的物体结构的表面751A的所有四个边缘751C-751F来标识图7A中的第一物体751的物体结构的轮廓。换句话说,该四个边缘751C-751F可以形成表面751A的轮廓。在某些情况下,控制电路111可以基于用于第一物体751的物体结构的定义的尺寸(诸如在物体识别模板中描述的定义的尺寸)来标识边缘751C-751F。定义的尺寸可以指示例如物体结构的维度,例如长度和宽度。例如,控制电路111可以被配置为基于由相机270/280生成的相机数据中的2D信息或3D信息来标识边缘751C-751F中的至少一个,并且可以基于第一物体751的物体结构的定义的尺寸来标识边缘751C-751F中的剩余边缘。
返回参考图4A-4B,方法400还可以包括步骤406,在步骤406中,控制电路111确定与目标特征共面并且其边界围绕目标特征的2D区域。该2D区域可以是例如具有矩形(例如正方形)、圆形、六边形或任何其他2D形状的2D区域。在某些情况下,该2D区域可以被称为遮挡分析区域,因为它被用来确定遮挡区域,如下文更详细地讨论的。
作为示例,图5A将角251B描绘为目标特征,并且描绘了与角251B共面并且其边界围绕角251B的2D区域520(例如,正方形区域)。更具体地,角251B可以是第一物体251的物体结构的表面251A的角,并且2D区域520可以与表面251A共面。此外,角251B可以位于2D区域520内。2D区域520可以是正方形区域,但是可以被修改为例如矩形区域或圆形区域。在某些情况下,控制电路111可以将2D区域520确定为具有以下各项的区域:(i)定义的尺寸以及(ii)位于角251B处的中心。
作为另一示例,如上所述,图6A将边缘251C描绘为目标特征,并且描绘了与第一物体251的物体结构的边缘251C共面并且其边界围绕边缘251C的2D区域620(例如,矩形区域)。更具体地,边缘251C可以是第一物体251的物体结构的表面251A的边缘,并且2D区域620可以与表面251A共面。此外,边缘251C可以位于2D区域620内。在一些方面,控制电路111可以将2D区域620确定为具有以下各项的区域:(i)定义的尺寸和(ii)具有位于边缘251C上的中心。在某些情况下,2D区域620的中心可以是边缘251C的中心。
如上所述,图7A将目标特征描绘为视觉特征751B和/或第一物体751的物体结构的表面751A的轮廓。在图7A的示例中,作为步骤406的一部分,控制电路111可以确定2D区域720(例如,正方形区域)。2D区域720可以与视觉特征751B以及与表面751A的轮廓共面。此外,2D区域720可以具有围绕视觉特征751B并且还围绕表面751A的轮廓的边界。
在实施例中,控制电路111可以被配置为基于存储在例如非暂时性计算机可读介质中的定义的尺寸来确定2D区域520/620/720。定义的尺寸可以是例如用于2D区域520/620/720的固定尺寸。例如,当目标特征是角(例如251B)时,围绕角并且与角共面的2D区域(例如520)可以是具有固定尺寸(例如2cm x 2cm或5cm x 5cm)的正方形区域。在实施例中,控制电路111可以被配置为基于目标特征的尺寸来确定2D区域(例如620/720)的尺寸。例如,控制电路111可以被配置为将2D区域620的长度确定为一定比率乘以图6A的边缘250C的长度。在另一示例中,控制电路111可以被配置为将2D区域720的长度确定为该比率乘以形成第一物体751的表面751A的轮廓的第一边缘(例如750C)的长度,并且可以被配置为将2D区域720的宽度确定为该比率乘以形成该轮廓的第二边缘(例如751E)的长度,其中第二边缘可以垂直于第一边缘。2D 720区域可以具有不同值或具有相同值的长度和宽度。在某些情况下,该比率可以是存储在非暂时性计算机可读介质115或其他地方的定义的值。在某些情况下,该比率可以由控制电路111动态地定义或以其他方式确定。
在实施例中,控制电路111可以被配置为基于以下各项中的至少一项来确定2D区域(例如520/620/720)的尺寸:环境因素或目标特征所属的物体结构的特性。在某些情况下,环境因素可能包括图像噪声水平,该图像噪声水平可能指示例如相机(例如270/280)的环境中的照明量,或指示可能影响相机准确地感测其视场(例如272/282)中的场景的能力的任何其他条件。在某些情况下,目标特征所属的物体结构的特性可以包括例如物体结构的形状或物体结构的表面的纹理中的至少一个。例如,具有圆形形状的物体结构可能更可能影响3D相机的操作并且使由3D相机生成的用于描述物体结构的3D信息的准确性降低。在某些情况下,表面的纹理可以指示表面的反射性。例如,更具有反射性的(例如,更光亮的)表面可能更可能影响2D相机的操作并降低由2D相机生成的用于捕获或以其他方式表示表面外观的2D信息的准确性。在实施例中,确定2D区域(例如620/720)的尺寸可以涉及确定以上讨论的乘以目标特征的维度的比率。在这样的实施例中,可以基于环境因素和/或物体结构的特性来确定该比率。在实施例中,控制电路111可以被配置为基于尺寸随着图像噪声水平的增加而增加的关系来确定2D区域(例如520/620/720)的尺寸。在某些情况下,增加2D区域(例如520/620/720)的尺寸可能增加遮挡区域的尺寸,这将在下面讨论。
返回参考图4A-4B,该方法可以包括步骤408,在步骤408中,控制电路111确定通过连接步骤402的第一相机(例如,第一相机270)的位置和2D区域的边界而定义的3D区域,其中该3D区域是第一相机视场(例如272)的一部分。在实施例中,用于定义3D区域的第一相机(例如270)的位置可以是第一相机的焦点、第一相机270的图像传感器上的位置(诸如图像传感器的角或中心),也可以是其他任何位置。在某些情况下,3D区域可以是第一相机视场(例如,272)的用于遮挡分析的一部分,并且可以被称为分析视场。
作为步骤408的示例,图5A描绘了示例3D区域530,该示例3D区域530是通过连接第一相机270的位置和2D区域520的边界而定义的。更具体地,3D区域530可以由线530A-530D来定义,该线530A-530D将相机270的位置连接到2D区域520的边界的四个相应角上。在某些情况下,确定3D区域可能涉及确定表示线530A-530D的信息。
在另一示例中,图6A描绘了示例3D区域630,该示例3D区域630是通过连接第一相机270的位置和2D区域620的边界而定义的。3D区域630也可以通过将相机270的位置连接到2D区域620的边界来定义,并且更具体地通过从相机270的位置延伸到2D区域620的相应角的线630A-630D来定义。图7A提供了示例,其中3D区域730是通过连接第一相机270的位置和2D区域720的边界来定义的。更具体地,3D区域720可以通过将线730A-730D从相机270的位置连接到2D区域720的四个相应角来定义。在实施例中,3D区域(例如,530/630/730)可以形成假想的棱锥,诸如当对应的2D区域(例如520/620/720)是矩形区域(例如正方形区域)时。在其他实施例中,3D区域可以形成任何其他3D形状,诸如通过将第一相机270的位置与圆形2D区域连接而定义的假想的圆锥。
返回参考图4A-4B,方法400可以包括步骤412,在步骤412中,控制电路111基于相机数据和3D区域确定遮挡区域的尺寸(例如,面积)。在实施例中,遮挡区域可以是(步骤402的)堆叠结构的位于目标特征和至少一个相机之间并且在3D区域(例如530/630/730)内的区域。更具体地,遮挡区域可以是与目标特征不共面并且与目标特征相比还更靠近至少一个相机中的第一相机(例如270)的区域,使得遮挡区域位于目标特征和第一相机之间。例如,遮挡区域可以是高于目标特征的区域。因为遮挡区域在第一相机和目标特征之间,并且在3D区域(例如530/630/730)内,所以它表示堆叠结构的一部分,该部分可能位于阻挡或接近于阻挡目标特征(例如251B/251C/751B)或目标特征周围区域的一部分使其不能被第一相机(例如270)查看的位置处。因此,遮挡区域的尺寸可以用于评估第一相机视场(例如272)中的遮挡。
为了示出步骤412的示例,图5D描绘了遮挡区域570。更具体地,遮挡区域570可以是堆叠体250的堆叠结构的区域,并且更具体地是第二物体252的物体结构的表面252A(例如,顶表面)的区域。此外,遮挡区域570可以位于角251B(其是图5A和5D的目标特征)和第一相机270之间,并且可以位于3D区域530内。如上所述,3D区域530可以是位于第一相机视场272内的假想的棱锥(其在图3A和3B中示出),并且可以基于其边界围绕角251B的2D区域520来定义。在此示例中,2D区域520可以是第一2D区域,并且遮挡区域570可以是与第一2D区域平行并且在3D区域530的假想的棱锥内的第二2D区域。在某些情况下,遮挡区域570可以包括至少一个区域,该区域:(i)与2D区域520平行,以及(ii)在3D区域530内。
在另一示例中,图6D示出了遮挡区域670,该遮挡区域是堆叠体250的堆叠结构的区域,该区域位于边缘251C(其是图6A和6D的目标特征)和相机270之间,并且在3D区域630内。更具体地,遮挡区域670可以是第二物体252的表面252A上的区域,其中该区域在由3D区域630形成的假想的棱锥内,并且位于第一相机270和边缘251C之间。在图6D的示例中,遮挡区域670可以与2D区域620平行。图7C描述了遮挡区域770,该遮挡区域770是堆叠体750的堆叠结构的区域,该区域位于图7A和7C的目标特征(例如,视觉特征751B或表面751A的轮廓)和第一相机270之间,并且在3D区域730内。更具体地,遮挡区域770可以是第二物体752的表面752A上的区域,其中该区域在由3D区域730形成的假想的棱锥内,并且位于第一相机270和目标特征之间。在图7C的示例中,遮挡区域770可以与2D区域720平行。如上所述,在实施例中,遮挡区域570/670/770可以是在与在步骤406中确定的2D区域520/620/720平行的表面上的区域,诸如第二物体252/752的表面252A/752A。在某些情况下,遮挡区域570/670/770可以限于在与2D区域520/620/720平行的一个或多个表面上。在某些情况下,遮挡区域570可以延伸到另一个表面或多个表面,诸如垂直于表面252A/752A的表面(但仍保留在3D区域530/630/730内)。
在某些方面,控制电路111可以基于来自例如由第一相机270生成的相机数据中的3D信息来确定遮挡区域(例如570/670/770)的尺寸。该3D信息可以指示例如深度信息,该深度信息标识堆叠体的堆叠结构的一个或多个表面上的一组位置,该组位置比目标特征(例如,表面251A/751A上的位置)更靠近相机270。控制电路111可以确定该组位置中的哪些位置在步骤408中确定的3D区域(例如530/630/730)内,并基于该组位置确定遮挡区域的尺寸。
例如,在图5D、6D和7C的示例中,控制电路111可以被配置为从相机数据确定用于表示在堆叠结构的一个或多个表面(诸如堆叠体250/750的第一物体251/751的表面251A/751A(例如,顶表面)、堆叠体250/750的第二物体252/752的表面252A/752A,以及堆叠体250/750的第三物体253/753的表面253A/753A)上的相应位置的多个3D数据点(例如,3D坐标)。在该示例中,控制电路111还可以将与目标特征251B/251C/751B相关联的深度值Z2确定为期望的深度值。例如,与目标特征251B/251C/751B相关联的期望的深度值可以是目标特征251B/251C/751B的3D坐标(例如,[X Y Z]T)的Z分量,其中3D坐标可以在公共参考框架中,如上所述。此外,控制电路111还可以确定该多个3D数据点中的子集,用于表示堆叠结构的一个或多个表面上的相对于期望的深度值Z2更靠近第一相机270并且在3D区域530/630/730中的相应位置。该子集可以表示与在目标特征251B/251C/751B和相机270之间并且位于3D区域530/630/730内的位置相关联的3D数据点。在该示例中,该子集可以是与堆叠体250/750的第二物体252/752的物体结构的表面252A/752A上的位置相关联的3D数据点。
在某些方面,控制电路111可以通过确定遮挡区域的面积、遮挡区域的维度或其任何组合来确定遮挡区域(例如570/670/770)的尺寸。在某些情况下,控制电路111可以被配置为基于上面讨论的3D数据点的子集来确定遮挡区域(例如,570/670/770)的尺寸。例如,遮挡区域的尺寸可以基于3D数据点的子集中的3D数据点的数量,或者基于确定由3D数据点的子集定义的区域的边界并将该区域合并以确定其面积。
在实施例中,可以基于将期望的深度值(例如,Z2)和与多个3D数据点相关联的相应深度值(例如,Z1和Z2)进行比较来确定3D数据点的子集。例如,可以通过从多个3D数据点中标识以下3D数据点来确定该子集,这些3D数据点:i)与比期望的深度值(例如Z2)小至少一个定义的差异阈值的相应深度值(例如Z1)相关联,以及ii)在3D区域(例如,530/630/730)内。在该示例中,所定义的差异阈值可以考虑图像噪声或表面缺陷,这些图像噪声或表面缺陷可能使对于实际上在同一表面(例如,251A)上的位置的深度值略有变化。因此,为了确定一个位置是否位于比目标特征所位于其上的第一表面更近的表面上,控制电路111可以确定该位置的深度值是否比第一表面的期望的深度值小至少定义的差异阈值。
在实施例中,控制电路111可以被配置为确定被遮挡区域(诸如图7D的被遮挡区域751C)的尺寸。被遮挡区域(例如,751C)可以是与目标特征(诸如图5A和图6A所示的目标特征751B和/或目标特征251B/251C)共面的区域。例如,被遮挡区域751C可以在目标特征751B所位于其上的表面751A上。在实施例中,控制电路111可以通过以下方式来定义被遮挡区域751C:通过标识堆叠体750的堆叠结构的边缘或角,该边缘或角比目标特征751B(或图5A的251B/251C)更靠近第一相机270,通过定义从第一相机270的位置延伸到堆叠结构的该边缘或角的平面(平面或曲面),将该平面投影到目标特征所位于其上的表面上,并确定该平面和该表面之间的相交。在图7D的示例中,控制电路111可以将表面752A的边缘752B标识为堆叠结构的、比目标特征751B更靠近第一相机270的边缘。控制电路111可以定义从第一相机270的位置延伸到边缘752B的平面740,并且将平面740投影到目标特征751B所位于其上的表面751A。控制电路111还可将线741确定为平面740与表面751A之间的相交。在该示例中,线741可以是形成被遮挡区域751C的边界的一部分的边缘。在某些情况下,被遮挡区域751C的边界还可以由目标特征751B所位于其上的表面751A的一个或多个边缘(诸如边缘751E和751F)形成。在某些情况下,边界还可以由堆叠结构的一个或多个表面(诸如第二物体752的表面752C,其与目标特征751B所位于其上的表面751A相交)形成。
返回参考图4A-4B,方法400还可以包括步骤414,在步骤414中控制电路111基于遮挡区域的尺寸来确定物体识别置信度参数的值。在某些情况下,物体识别置信度参数的值可以与遮挡区域的尺寸成反比关系。例如,遮挡区域的尺寸的增大可以使物体识别置信度参数的值在指示已经执行或正在规划的物体识别操作的准确性的置信度较低的方向上改变。在实施例中,控制电路111可以被配置为通过确定遮挡区域(例如570/670/770)的尺寸和在步骤406中确定的2D区域(例如520/620/720)的尺寸之间的比率或该比率的倒数来确定物体识别置信度参数的值。在实施例中,控制电路111可以替代地或附加地基于被遮挡区域(例如,基于图7D的751C)的尺寸(诸如基于被遮挡的尺寸与步骤406中确定的2D区域(例如520/620/720)的尺寸之间的比率或该比率的倒数)来确定物体识别置信度参数的值。
在某些情况下,物体识别置信度参数的值可以基于比率是否超过定义的遮挡阈值。所定义的遮挡阈值可以是在图2的非暂时性计算机可读介质115中预定义的值,或者可以由控制电路111动态地定义或以其他方式确定。在某些情况下,控制电路111可以被配置为基于例如相机(例如270)的环境中的照明量、目标特征所属的物体的形状和/或该物体的表面的纹理来动态地定义遮挡阈值。在某些情况下,代替遮挡阈值或作为遮挡阈值的附加,控制电路111可以调整步骤406的2D区域(例如520/620/720)的尺寸。例如,可能降低物体识别操作的准确性的条件(例如,成像噪声、圆形物体和/或具有光亮表面的物体)可以通过增加2D区域的尺寸和/或通过降低定义的遮挡阈值而被表达。
在实施例中,方法400还包括步骤416,在步骤416中,控制电路111执行用于控制机器人与堆叠结构的交互的操作,其中该操作可以是基于物体识别置信度参数的值来执行的。在某些情况下,步骤416的操作可以涉及输出用于引起机器人运动的运动命令。可以确定运动命令,例如以使得置信度参数的值以指示目标特征的更少遮挡(例如,沿减小的方向)和/或指示对物体识别操作的较大置信度的方式改变。例如,控制电路111可以确定堆叠体的一部分(诸如图5A和7A的堆叠体250/750的第一物体251/751或第二物体252/752)的运动方向,其使得物体识别置信度参数的值沿指示更少遮挡的方向变化。在这样的示例中,控制电路111可以确定用于引起堆叠体的该部分的这样的方向的机器人运动,并且确定用于引起该机器人运动的运动命令。控制电路111还可以经由通信接口113输出运动命令。如果运动命令例如由图1C的机器人150接收到,则机器人150可以响应于该运动命令沿所确定的方向移动堆叠体的该部分。
在实施例中,机器人与堆叠体250/750的堆叠结构的交互可以涉及执行物体识别以促进机器人交互,其中物体识别可以基于上面讨论的目标特征(例如,251B/251C/751B),并且基于来自例如第一相机270的相机数据。在这样的实施例中,用于控制机器人交互的操作可以包括重新执行物体识别,和/或包括基于置信度参数的值来确定是否重新执行物体识别。在某些情况下,控制电路111可以在重新执行物体识别之后进一步确定机器人运动。作为示例,控制电路111可以响应于确定置信度参数的值低于所定义的置信度阈值而确定重新执行物体识别。在某些情况下,定义的置信度阈值可以是定义的遮挡阈值的倒数,和/或与定义的遮挡阈值成反相关。在某些情况下,如果置信度参数的值指示遮挡区域(例如570/670/770)的尺寸太大,则控制电路111可以确定重新执行物体识别。例如,如果遮挡区域(例如,570/670/770)的尺寸和2D区域(例如,520/620/720)的尺寸之间的比率超过了定义的遮挡阈值,则控制电路111可以确定重新执行物体识别。
各个实施例的简要描述
本文的本公开的一个方面涉及实施例1,其包括具有通信接口和控制电路的计算系统。在该实施例中,所述通信接口被配置为与至少一个相机通信,所述至少一个相机包括具有第一相机视场的第一相机。该实施例中的所述控制电路被配置为:当具有多个物体的堆叠体在所述第一相机视场中时,接收由所述至少一个相机生成的相机数据,其中所述相机数据描述所述堆叠体的堆叠结构,所述堆叠结构至少由所述多个物体中的第一物体的物体结构形成。进一步地,在本实施例中,所述控制电路被配置为基于由所述至少一个相机生成的所述相机数据,标识所述物体结构的目标特征或放置在所述物体结构上的目标特征,所述目标特征至少为以下各项之一:所述物体结构的角、所述物体结构的边缘、放置在所述物体结构的表面上的视觉特征、或所述物体结构的所述表面的轮廓。该实施例中的所述控制电路还被配置为确定与所述目标特征共面并且其边界围绕所述目标特征的二维(2D)区域;确定通过连接所述第一相机的位置和所述2D区域的所述边界而定义的三维(3D)区域,其中所述3D区域是所述第一相机视场的一部分;基于所述相机数据和所述3D区域,确定遮挡区域的尺寸,所述遮挡区域是所述堆叠结构的位于所述目标特征与所述至少一个相机之间且在所述3D区域内的区域;基于所述遮挡区域的所述尺寸来确定物体识别置信度参数的值。该实施例中的所述控制电路还被配置为执行用于控制与所述堆叠结构的机器人交互的操作,其中所述操作是基于所述物体识别置信度参数的所述值来执行的。
实施例2包括实施例1的所述计算系统。在实施例2中,所述控制电路被配置为基于物体识别模板中的信息来标识目标特征,所述物体识别模板描述所述物体结构的尺寸或描述出现在所述物体结构的所述表面上的所述视觉特征。
实施例3包括实施例1或2的所述计算系统。在实施例3中,所述视觉特征是布置在所述物体结构的所述表面上的图像,并且所述控制电路被配置为将所述图像识别为所述目标特征。
实施例4包括实施例1-3中任一项的所述计算系统。在实施例4中,所述控制电路被配置为基于图像噪声水平、所述物体结构的形状或所述物体结构的所述表面的纹理中的至少一项来确定所述2D区域的尺寸。
实施例5包括实施例1-4中任一项的所述计算系统。在实施例5中,所述目标特征是所述物体结构的所述边缘,并且所述控制电路被配置为将所述2D区域确定为具有以下各项的区域:(i)定义的尺寸和(ii)位于所述边缘上的中心。
实施例6包括实施例1-4中任一项的所述计算系统。在实施例6中,所述目标特征是所述物体结构的所述角,并且所述控制电路被配置为将所述2D区域确定为具有以下各项的区域:(i)定义的尺寸和(ii)位于所述角处的中心。
实施例7包括实施例1-6中任一项的所述计算系统。在实施例6中,所述3D区域是位于所述第一相机视场内的假想的棱锥,其中其边界围绕所述目标特征的所述2D区域是第一2D区域,并且其中所述遮挡区域是平行于所述第一2D区域并且在所述假想的棱锥内的第二2D区域。
实施例8包括实施例1-7中任一项的所述计算系统。在实施例8中,所述控制电路被配置为通过以下方式来确定所述遮挡区域的所述尺寸:从所述相机数据确定用于表示所述堆叠结构的一个或多个表面上的相应位置的多个3D数据点;将所述目标特征相对于所述第一相机的深度值确定为期望的深度值;以及确定所述多个3D数据点的子集,用于表示所述堆叠结构的所述一个或多个表面上的相对于所述期望的深度值更靠近所述第一相机并且在所述3D区域内的相应位置,其中,所述子集是基于将所述期望的深度值和与所述多个3D数据点相关联的相应深度值进行比较而确定的。
实施例9包括实施例8的所述计算系统。在实施例9中,通过从所述多个3D数据点中标识以下3D数据点来确定3D数据点的所述子集,所述3D数据点:i)与比所述期望的深度值小至少定义的差异阈值的相应深度值相关联,并且ii)在所述3D区域内。
实施例10包括实施例1-9中任一项的所述计算系统。在实施例10中,所述通信接口被配置为与之通信的所述第一相机是3D相机,所述3D相机被配置为生成作为所述相机数据的一部分的多个3D数据点,所述3D数据点指示所述堆叠结构的一个或多个表面上的位置的相应深度值。
实施例11包括实施例10的所述计算系统。在实施例11中,所述通信接口被配置为与之通信的所述至少一个相机还包括第二相机,所述第二相机被配置为生成作为所述相机数据的一部分的2D图像,并且其中所述控制电路被配置为基于所述2D图像来标识所述目标特征。
实施例12包括实施例1-9中任一项的所述计算系统。在实施例12中,所述通信接口被配置为与之通信的所述第一相机是2D相机,其中所述通信接口被配置为与之通信所述的至少一个相机还包括第二相机,所述第二相机被配置为生成作为所述相机数据的一部分的多个3D数据点,所述3D数据点用于表示所述堆叠结构的一个或多个表面上的位置的相应深度值。
实施例13包括实施例1-12中任一项的所述计算系统。在实施例13中,所述控制电路被配置为通过以下方式来确定所述物体识别置信度参数的所述值:确定所述遮挡区域的所述尺寸与所述2D区域的尺寸之间的比率;以及基于所述比率来确定所述物体识别置信度参数的所述值。
实施例14包括实施例13的所述计算系统。在实施例14中,所述物体识别置信度参数的所述值是基于所述比率是否超过定义的遮挡阈值来确定的。
实施例15包括实施例1-14中任一项的所述计算系统。在实施例15中,所述第一相机的所述位置是所述第一相机的焦点。
实施例16包括实施例1-15中任一项的所述计算系统。在实施例16中,用于控制所述机器人交互的所述操作包括输出用于引起机器人运动的运动命令,其中所述运动命令被确定为使所述物体识别置信度参数的所述值以指示对所述目标特征的更少遮挡的方式改变。
实施例17包括实施例1-16中任一项的所述计算系统。在实施例17中,所述控制电路被配置为基于所述相机数据执行针对所述目标特征的物体识别,并且其中,用于控制机器人交互的所述操作包括基于所述物体识别置信度参数的所述值来确定是否重新执行所述物体识别,并且包括在所述物体识别被重新执行之后确定机器人运动。
虽然上面已经描述了各种实施例,但是应该理解,它们仅作为本发明的说明和示例而给出,而不是作为限制。对于相关领域的技术人员清楚的是,在不脱离本发明的精神和范围的情况下,可以在其中进行形式和细节中的各种改变。因此,本发明的广度和范围不应受任何上述示例性实施例的限制,而应仅根据所附权利要求及其等同物来定义。还应理解,本文所讨论的每个实施例的每个特征以及本文引用的每个参考文献的每个特征可以与任何其他是合理的特征组合使用。本文讨论的所有专利和公开均通过引用整体并入本文。
Claims (20)
1.一种计算系统,包括:
通信接口,被配置为与至少一个相机通信,所述至少一个相机包括具有第一相机视场的第一相机;
控制电路,被配置为当具有多个物体的堆叠体在所述第一相机视场中时,用于:
接收由所述至少一个相机生成的相机数据,其中所述相机数据描述所述堆叠体的堆叠结构,所述堆叠结构至少由所述多个物体中的第一物体的物体结构形成;
基于由所述至少一个相机生成的所述相机数据,标识所述物体结构的目标特征或放置在所述物体结构上的目标特征,所述目标特征至少为以下各项之一:所述物体结构的角、所述物体结构的边缘、放置在所述物体结构的表面上的视觉特征、或所述物体结构的所述表面的轮廓;
确定与所述目标特征共面并且其边界围绕所述目标特征的二维2D区域;
确定通过连接所述第一相机的位置和所述2D区域的所述边界而定义的三维3D区域,其中所述3D区域是所述第一相机视场的一部分;
基于所述相机数据和所述3D区域,确定遮挡区域的尺寸,所述遮挡区域是所述堆叠结构的位于所述目标特征与所述至少一个相机之间并且在所述3D区域内的区域;
基于所述遮挡区域的尺寸来确定物体识别置信度参数的值;以及
执行用于控制与所述堆叠结构的机器人交互的操作,其中所述操作是基于所述物体识别置信度参数的所述值来执行的。
2.如权利要求1所述的计算系统,其中,所述控制电路被配置为基于物体识别模板中的信息来标识所述目标特征,所述物体识别模板描述所述物体结构的尺寸或描述出现在所述物体结构的所述表面上的所述视觉特征。
3.如权利要求2所述的计算系统,其中,所述视觉特征是布置在所述物体结构的所述表面上的图像,并且所述控制电路被配置为将所述图像识别为所述目标特征。
4.如权利要求1所述的计算系统,其中,所述控制电路被配置为基于图像噪声水平、所述物体结构的形状或所述物体结构的所述表面的纹理中的至少一项来确定所述2D区域的尺寸。
5.如权利要求1所述的计算系统,其中,所述目标特征是所述物体结构的所述边缘,并且所述控制电路被配置为将所述2D区域确定为具有以下各项的区域:(i)定义的尺寸和(ii)位于所述边缘上的中心。
6.如权利要求1所述的计算系统,其中,所述目标特征是所述物体结构的所述角,并且所述控制电路被配置为将所述2D区域确定为具有以下各项的区域:(i)定义的尺寸和(ii)位于所述角处的中心。
7.如权利要求1所述的计算系统,其中,所述3D区域是位于所述第一相机视场内的假想的棱锥,其中,其边界围绕所述目标特征的所述2D区域是第一2D区域,并且其中,所述遮挡区域是平行于所述第一2D区域并且在所述假想的棱锥内的第二2D区域。
8.如权利要求1所述的计算系统,其中,所述控制电路被配置为通过以下方式来确定所述遮挡区域的尺寸:
从所述相机数据确定用于表示所述堆叠结构的一个或多个表面上的相应位置的多个3D数据点;
将所述目标特征相对于所述第一相机的深度值确定为期望的深度值;以及
确定所述多个3D数据点的子集,用于表示所述堆叠结构的所述一个或多个表面上的相对于所述期望的深度值更靠近所述第一相机并且在所述3D区域内的相应位置,其中,所述子集是基于将所述期望的深度值和与所述多个3D数据点相关联的相应深度值进行比较来确定。
9.如权利要求8所述的计算系统,其中,3D数据点的所述子集是通过从所述多个3D数据点中标识以下3D数据点来确定的,所述3D数据点:i)与比所述期望的深度值小至少定义的差异阈值的相应深度值相关联,并且ii)在所述3D区域内。
10.如权利要求1所述的计算系统,其中,所述通信接口被配置为与之通信的所述第一相机是3D相机,所述3D相机被配置为生成作为所述相机数据的一部分的多个3D数据点,所述多个3D数据点指示所述堆叠结构的一个或多个表面上的位置的相应深度值。
11.如权利要求10所述的计算系统,其中,所述通信接口被配置为与之通信的所述至少一个相机还包括第二相机,所述第二相机被配置为生成作为所述相机数据的一部分的2D图像,并且其中所述控制电路被配置为基于所述2D图像来标识所述目标特征。
12.如权利要求1所述的计算系统,其中,所述通信接口被配置为与之通信的所述第一相机是2D相机,其中所述通信接口被配置为与之通信所述的至少一个相机还包括第二相机,所述第二相机被配置为生成作为所述相机数据的一部分的多个3D数据点,所述多个3D数据点用于表示所述堆叠结构的一个或多个表面上的位置的相应深度值。
13.如权利要求1所述的计算系统,其中,所述控制电路被配置为通过以下方式来确定所述物体识别置信度参数的所述值:
确定所述遮挡区域的尺寸与所述2D区域的尺寸之间的比率;以及
基于所述比率来确定所述物体识别置信度参数的所述值。
14.如权利要求13所述的计算系统,其中,所述物体识别置信度参数的所述值是基于所述比率是否超过定义的遮挡阈值来确定的。
15.如权利要求1所述的计算系统,其中,所述第一相机的所述位置是所述第一相机的焦点。
16.根据权利要求1所述的计算系统,其中,用于控制所述机器人交互的所述操作包括输出用于引起机器人运动的运动命令,其中所述运动命令被确定为使所述物体识别置信度参数的所述值以指示对所述目标特征的更少遮挡的方式改变。
17.如权利要求1所述的计算系统,其中,所述控制电路被配置为基于所述相机数据执行针对所述目标特征的物体识别,并且
其中,用于控制机器人交互的所述操作包括基于所述物体识别置信度参数的所述值来确定是否重新执行所述物体识别,并且包括在所述物体识别被重新执行之后确定机器人运动。
18.一种由计算系统执行的方法,所述方法包括:
由所述计算机系统接收相机数据,其中,所述计算系统包括通信接口,所述通信接口被配置为与至少一个相机通信,所述至少一个相机包括具有第一相机视场的第一相机,其中所述相机数据是当具有多个物体的堆叠体在所述第一相机视场中时由所述至少一个相机生成的,并且其中所述相机数据描述所述堆叠体的堆叠结构,所述堆叠结构至少由所述多个物体中的第一物体的物体结构形成;
基于由所述至少一个相机生成的所述相机数据,标识所述物体结构的目标特征或放置在所述物体结构上的目标特征,所述目标特征至少为以下各项之一:所述物体结构的角、所述物体结构的边缘、放置在所述物体结构的表面上的视觉特征、或所述物体结构的所述表面的轮廓;
确定与所述目标特征共面并且其边界围绕所述目标特征的二维2D区域;
确定通过连接所述第一相机的位置和所述2D区域的所述边界而定义的三维3D区域,其中所述3D区域是所述第一相机视场的一部分;
基于所述相机数据和所述3D区域,确定遮挡区域的尺寸,所述遮挡区域是所述堆叠结构的位于所述目标特征与所述至少一个相机之间并且在所述3D区域内的区域;
基于所述遮挡区域的尺寸来确定物体识别置信度参数的值;以及
执行用于控制与所述堆叠结构的机器人交互的操作,其中所述操作是基于所述物体识别置信度参数的所述值来执行的。
19.根据权利要求18所述的方法,其中,所述3D区域是位于所述第一相机视场内的假想的棱锥,其中,其边界围绕所述目标特征的所述2D区域是第一2D区域,并且其中,所述遮挡区域是平行于所述第一2D区域并且在所述假想的棱锥内的第二2D区域。
20.一种其上具有指令的非暂时性计算机可读介质,所述指令在由计算系统的控制电路执行时,使所述控制电路:
接收相机数据,其中,所述计算系统包括通信接口,所述通信接口被配置为与至少一个相机通信,所述至少一个相机包括具有第一相机视场的第一相机,其中所述相机数据是当具有多个物体的堆叠体在所述第一相机视场中时由所述至少一个相机生成的,并且其中所述相机数据描述所述堆叠体的堆叠结构,所述堆叠结构至少由所述多个物体中的第一物体的物体结构形成;
基于由所述至少一个相机生成的所述相机数据,标识所述物体结构的目标特征或放置在所述物体结构上的目标特征,所述目标特征至少为以下各项之一:所述物体结构的角、所述物体结构的边缘、放置在所述物体结构的表面上的视觉特征、或所述物体结构的所述表面的轮廓;
确定与所述目标特征共面并且其边界围绕所述目标特征的二维2D区域;
确定通过连接所述第一相机的位置和所述2D区域的所述边界而定义的三维3D区域,其中所述3D区域是所述第一相机视场的一部分;
基于所述相机数据和所述3D区域,确定遮挡区域的尺寸,所述遮挡区域是所述堆叠结构的位于所述目标特征与所述至少一个相机之间并且在所述3D区域内的区域;
基于所述遮挡区域的尺寸来确定物体识别置信度参数的值;以及
执行用于控制与所述堆叠结构的机器人交互的操作,其中所述操作是基于所述物体识别置信度参数的所述值来执行的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010395771.0A CN111582196B (zh) | 2020-02-13 | 2020-04-10 | 用于确定相机视场内的遮挡的方法和系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/789,570 US11006039B1 (en) | 2020-02-13 | 2020-02-13 | Method and system for determining occlusion within a camera field of view |
US16/789,570 | 2020-02-13 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010395771.0A Division CN111582196B (zh) | 2020-02-13 | 2020-04-10 | 用于确定相机视场内的遮挡的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113255415A true CN113255415A (zh) | 2021-08-13 |
Family
ID=71523891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010277345.7A Pending CN113255415A (zh) | 2020-02-13 | 2020-04-10 | 用于确定相机视场内的遮挡的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (3) | US11006039B1 (zh) |
JP (2) | JP6723628B1 (zh) |
CN (1) | CN113255415A (zh) |
DE (2) | DE102020205896A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11407111B2 (en) * | 2018-06-27 | 2022-08-09 | Abb Schweiz Ag | Method and system to generate a 3D model for a robot scene |
US10614340B1 (en) * | 2019-09-23 | 2020-04-07 | Mujin, Inc. | Method and computing system for object identification |
WO2021158773A1 (en) | 2020-02-06 | 2021-08-12 | Berkshire Grey, Inc. | Systems and methods for camera calibration with a fiducial of unknown position on an articulated arm of a programmable motion device |
CN116619386A (zh) * | 2021-05-18 | 2023-08-22 | 牧今科技 | 用于物体大小测量的机器人系统 |
US20230041378A1 (en) * | 2021-08-09 | 2023-02-09 | Mujin, Inc. | Systems and methods for object detection |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9823737B2 (en) | 2008-04-07 | 2017-11-21 | Mohammad A Mazed | Augmented reality personal assistant apparatus |
JP4649559B2 (ja) | 2009-03-05 | 2011-03-09 | 株式会社三次元メディア | 3次元物体認識装置、並びに3次元物体認識プログラム及びこれが記録されたコンピュータ読み取り可能な記録媒体 |
JP2013101045A (ja) | 2011-11-08 | 2013-05-23 | Fanuc Ltd | 物品の3次元位置姿勢の認識装置及び認識方法 |
KR102111181B1 (ko) | 2012-08-21 | 2020-05-15 | 포토내이션 리미티드 | 어레이 카메라를 사용하여 포착된 영상에서의 시차 검출 및 보정을 위한 시스템 및 방법 |
US9154697B2 (en) | 2013-12-06 | 2015-10-06 | Google Inc. | Camera selection based on occlusion of field of view |
US9424470B1 (en) * | 2014-08-22 | 2016-08-23 | Google Inc. | Systems and methods for scale invariant 3D object detection leveraging processor architecture |
JP2016099257A (ja) | 2014-11-21 | 2016-05-30 | キヤノン株式会社 | 情報処理装置及び情報処理方法 |
US9508681B2 (en) | 2014-12-22 | 2016-11-29 | Google Inc. | Stacked semiconductor chip RGBZ sensor |
WO2017132636A1 (en) * | 2016-01-29 | 2017-08-03 | Pointivo, Inc. | Systems and methods for extracting information about objects from scene information |
JP6890422B2 (ja) | 2016-03-02 | 2021-06-18 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法およびプログラム |
JP6747665B2 (ja) | 2016-06-07 | 2020-08-26 | トヨタ自動車株式会社 | ロボット |
JP7065632B2 (ja) | 2018-02-13 | 2022-05-12 | Kyoto Robotics株式会社 | 箱状物ピッキング装置及びその方法 |
WO2019161300A1 (en) | 2018-02-18 | 2019-08-22 | Nvidia Corporation | Detecting objects and determining confidence scores |
CN108555908B (zh) | 2018-04-12 | 2020-07-28 | 同济大学 | 一种基于rgbd相机的堆叠工件姿态识别及拾取方法 |
US10369698B1 (en) | 2019-03-07 | 2019-08-06 | Mujin, Inc. | Method and system for performing automatic camera calibration for robot control |
US10510155B1 (en) | 2019-06-11 | 2019-12-17 | Mujin, Inc. | Method and processing system for updating a first image generated by a first camera based on a second image generated by a second camera |
US10565737B1 (en) | 2019-07-09 | 2020-02-18 | Mujin, Inc. | Method and system for performing automatic camera calibration for a scanning system |
-
2020
- 2020-02-13 US US16/789,570 patent/US11006039B1/en active Active
- 2020-04-10 CN CN202010277345.7A patent/CN113255415A/zh active Pending
- 2020-04-30 JP JP2020080050A patent/JP6723628B1/ja active Active
- 2020-05-11 DE DE102020205896.2A patent/DE102020205896A1/de active Pending
- 2020-06-19 JP JP2020105779A patent/JP2021126762A/ja active Pending
-
2021
- 2021-02-12 DE DE102021201369.4A patent/DE102021201369A1/de active Pending
- 2021-04-13 US US17/228,783 patent/US11924559B2/en active Active
-
2024
- 2024-02-29 US US18/591,980 patent/US20240276106A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102020205896A1 (de) | 2021-08-19 |
JP2021126762A (ja) | 2021-09-02 |
DE102021201369A1 (de) | 2021-08-19 |
JP2021126761A (ja) | 2021-09-02 |
US11006039B1 (en) | 2021-05-11 |
US20240276106A1 (en) | 2024-08-15 |
US11924559B2 (en) | 2024-03-05 |
US20210258478A1 (en) | 2021-08-19 |
JP6723628B1 (ja) | 2020-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113255415A (zh) | 用于确定相机视场内的遮挡的方法和系统 | |
US11967113B2 (en) | Method and system for performing automatic camera calibration for a scanning system | |
JP6461369B2 (ja) | 視覚光、および、赤外の投射されるパターンを検出するためのイメージャ | |
CN110490922B (zh) | 基于第二图像更新第一图像的方法和处理系统 | |
CN111582196B (zh) | 用于确定相机视场内的遮挡的方法和系统 | |
US12062182B2 (en) | Method and computing system for performing or facilitating physical edge detection | |
CN115643800A (zh) | 用于物体大小测量的机器人系统 | |
WO2022209166A1 (ja) | 情報処理装置、情報処理方法、及び較正用ターゲット | |
JP7118382B2 (ja) | 物理的エッジ検出を実行または促進するための方法および計算システム | |
JP7191352B2 (ja) | 物体検出を実施するための方法および計算システム | |
CN113658205B (zh) | 用于执行或促进物理边缘检测的方法和计算系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |