CN110072673B - 跟踪人类的机器人及其方法 - Google Patents
跟踪人类的机器人及其方法 Download PDFInfo
- Publication number
- CN110072673B CN110072673B CN201780077048.4A CN201780077048A CN110072673B CN 110072673 B CN110072673 B CN 110072673B CN 201780077048 A CN201780077048 A CN 201780077048A CN 110072673 B CN110072673 B CN 110072673B
- Authority
- CN
- China
- Prior art keywords
- human
- points
- determining
- objects
- exceed
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000009471 action Effects 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 230000003068 static effect Effects 0.000 claims description 6
- 238000009499 grossing Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 description 13
- 230000011218 segmentation Effects 0.000 description 8
- 241000282412 Homo Species 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/008—Manipulators for service tasks
-
- 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/1602—Programme controls characterised by the control system, structure, architecture
-
- 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/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert 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/1679—Programme controls characterised by the tasks executed
-
- 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
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Automation & Control Theory (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Electromagnetism (AREA)
- Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Image Analysis (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请公开一种机器人和一种方法,该方法包括:接收至少两个维度中的点的集合;根据距离分割这些点以确定至少一个对象;跟踪至少一个对象;在至少两个对象的尺寸不超过第一阈值并且距离不超过第二阈值的情况下,合并至少两个对象;以及对与至少一个对象相关联的人类的姿势进行分类。
Description
技术领域
本公开涉及机器人的领域。
背景技术
由装置在环境中自动跟踪或引导人类是一个复杂的任务。在多个静态对象或动态对象可能干扰连续识别人类以及跟踪或引导人类的室内或其他环境中,该任务尤其复杂。
除非另有具体说明,否则在本说明书中使用的术语“识别”与在一段时间内从获得的信息(诸如但不限于图像、深度信息、热图像等)中检测特定的对象(诸如人类)有关。术语“识别”不一定涉及将对象与具体的身份相关联,而是确定在连续的时间点上所检测到的对象是相同的对象。
除非另有具体说明,否则在本说明书中使用的术语“跟踪”与跟随、引导、跟踪、指示有关或以其他方式涉及对象(诸如人类)所走过的路线。
相关技术的前述示例和与之相关的限制旨在是说明性的和非排他性的。在阅读说明书和研究附图后,相关技术的其他限制对本领域技术人员来说是显而易见的。
发明内容
所公开的主题的一个示例性实施例是一种机器人,其包括:传感器,该传感器用于捕获提供在两个或更多个维度中的点的集合,这些点表示机器人的环境中的对象;处理器,该处理器适于执行以下步骤:接收在至少两个维度中的点的集合;根据距离分割这些点以确定至少一个对象;跟踪至少一个对象;在两个或更多个对象的尺寸不超过第一阈值并且距离不超过第二阈值的情况下,合并至少两个对象;以及对与至少一个对象相关联的人类的姿势进行分类;转向机构,该转向机构用于根据人类的姿势来改变机器人的定位;以及马达,该马达用于启动转向机构。
所公开的主题的另一示例性实施例是一种用于检测在室内环境中的人类的方法,其包括:接收在两个或更多个维度中的点的集合;根据距离分割点以确定一个或多个对象;跟踪对象;在对象的尺寸不超过第一阈值并且距离不超过第二阈值的情况下,将对象合并为单个对象;以及对与单个对象相关联的人类的姿势进行分类。该方法还可以包括:接收一系列的范围与角度对;以及将每个范围与角度对变换为二维空间中的点。在该方法中,分割这些点任选地包括:在两个连续点之间的距离不超过阈值的情况下,确定两个连续点属于一个对象;确定每个对象的最小边界矩形;以及调整最小边界矩形以获得每个对象的经调整的边界矩形。在该方法中,跟踪这些对象任选地包括:将经调整的边界矩形与先前确定的经调整的边界矩形进行比较以确定新对象、静态对象或动态对象,其中在至少一个对象和先前的对象具有基本上相同的尺寸但不同的取向或不同的位置的情况下,确定动态对象。在该方法中,对人类的姿势进行分类任选地包括:接收人类的位置;处理从位置开始并扩展到相邻像素的深度图像,其中具有最多在第三预定阈值中不同的深度信息的像素与一个区段相关联;确定一个区段的多个区域的竖直轴线上的梯度;在梯度最少在对象的下部与上部之间的第四预定阈值中不同或者对象不是基本上竖直的情况下,确定人类是坐着的;在对象的高度不超过第五预定阈值并且对象的宽度超过第六预定阈值的情况下,确定人类是躺着的;以及在对象的高度不超过第五预定阈值并且梯度基本均匀的情况下,确定人类是站着的。该方法还可以包括根据竖直轴线上的梯度次分割每个区段。该方法还可以包括通过确定在最近预定数量的确定中最频繁的姿势来平滑人的姿势。该方法还可以包括根据人类的位置和姿势调整装置的定位。在该方法中,调整装置的定位任选地包括执行选自由以下各项组成的组的动作:改变装置的位置;改变装置或其一部分的高度,以及改变装置或其一部分的取向。在该方法中,任选地执行调整装置的定位以便采取选自由以下各项组成的组的动作:跟随人类;引导人类;以及从前侧跟随人类。
所公开的主题的另一示例性实施例是一种计算机程序产品,其包括:非瞬态计算机可读介质;第一程序指令,其用于接收在至少两个维度中的点的集合;第二程序指令,其用于根据距离分割这些点以确定至少一个对象;第三程序指令,其用于跟踪至少一个对象;第四程序指令,其用于在至少两个对象的尺寸不超过第一阈值并且距离不超过第二阈值的情况下,合并至少两个对象;以及第五程序指令,其用于对与至少一个对象相关联的人类的姿势进行分类,其中所述第一程序指令、所述第二程序指令、所述第三程序指令、所述第四程序指令和所述第五程序指令被存储在所述非瞬态计算机可读介质上。该计算机程序产品还可以包括存储在所述非瞬态计算机可读介质上的程序指令,这些程序指令包括:用于接收一系列的范围与角度对的程序指令;和用于将每个范围与角度对变换为二维空间中的点的程序指令。在该计算机程序产品中,第二程序指令任选地包括:用于在两个连续点之间的距离不超过阈值的情况下确定两个连续点属于一个对象的程序指令;用于确定每个对象的最小边界矩形的程序指令;以及用于调整最小边界矩形以获得每个对象的经调整的边界矩形的程序指令。在该计算机程序产品中,第三程序指令任选地包括:用于将经调整的边界矩形与先前确定的经调整的边界矩形进行比较以确定新对象、静态对象或动态对象的程序指令,其中在至少一个对象和先前的对象具有基本上相同的尺寸但不同的取向或不同的位置的情况下,确定动态对象。在该计算机程序产品中,第五程序指令可选地包括:用于接收人类的位置的程序指令;用于处理从位置开始并扩展到相邻像素的深度图像的程序指令,其中具有最多在第三预定阈值中不同的深度信息的像素与一个区段相关联;用于确定一个区段的多个区域的竖直轴线上的梯度的程序指令;用于在梯度至少在对象的下部与上部之间的第四预定阈值中不同或者对象不是基本上竖直的情况下确定人类是坐着的程序指令;用于在对象的高度不超过第五预定阈值并且对象的宽度超过第六预定阈值的情况下确定人类是躺着的程序指令;以及用于在对象的高度不超过第五预定阈值并且梯度基本均匀的情况下确定人类是站着的程序指令。该计算机程序产品还可以包括存储在所述非瞬态计算机可读介质上的程序指令,该程序指令用于根据竖直轴线上的梯度来次分割每个区段。该计算机程序产品还可以包括存储在所述非瞬态计算机可读介质上的程序指令,该程序指令用于通过确定在最近预定数量的确定中最频繁的姿势来平滑人的姿势。该计算机程序产品还可以包括存储在所述非瞬态计算机可读介质上的程序指令,该程序指令用于根据人类的位置和姿势来调整装置的定位。在该计算机程序产品中,用于调整装置的定位的程序指令可以包括用于执行选自由以下各项组成的组的动作的另一程序指令:改变装置的位置;改变装置或其一部分的高度;以及改变装置或其一部分的取向。在该计算机程序产品中,任选地运行用于调整装置的定位的程序指令以便采取选自由以下各项组成的组的动作:跟随人类;引导人类;以及从前侧跟随人类。
附图说明
通过以下结合附图的详细描述,将更全面地理解和认识到当前公开的主题,其中相应或相似的数字或字符指示相应或相似的部件。除非另有说明,否则附图提供本公开的示例性实施例或方面,并且不限制本公开的范围。在附图中:
图1A示出用于识别、跟踪和引导环境中的人类、宠物或其他动态对象的装置的示意性图示,可以根据当前公开的主题的示例使用该装置;
图1B示出用于识别、跟踪和引导环境中的人类、宠物或其他动态对象的装置的另一示意性图示,可以根据当前公开的主题的示例使用该装置;
图2示出根据当前公开的主题的示例的图1A或图1B的跟踪装置的功能框图。
图3是根据当前公开的主题的示例的用于检测和跟踪环境中的对象所实行的操作的流程图;
图4A是根据当前公开的主题的示例的用于分割点所实行的操作的流程图;
图4B是根据当前公开的主题的示例的用于跟踪对象所实行的操作的流程图;
图4C是根据当前公开的主题的示例的用于分类人类的姿势所实行的操作的流程图;
图5A示出根据当前公开的主题的示例的站着的人和坐着的人的深度图像;并且
图5B示出根据当前公开的主题的示例的表示边界矩形的对象和对象的所计算的深度梯度的一些示例。
具体实施方式
由所公开的主题处理的一个技术问题涉及对用于识别和跟踪对象(诸如人类)的方法和装置的需求。这种方法和装置可以用于多种目的,例如用作助行器、跟随人并提供移动托盘或移动计算机化显示装置、将人引导到目的地、从前面或从后面跟随人到目的地等。应当理解,上面详述的目的不是排他的,并且装置可以同时用于多个目的,诸如助行器和移动托盘,该装置也引导人。应当理解,这种装置可以用于其他目的。识别和跟踪环境中的人,尤其是识别和跟踪多对象环境(包括在其中存在其他可移动的人的环境)中的人,已知是一项具有挑战性的任务。
由所公开的主题处理的另一技术问题涉及对通过使用用于捕获或以其他方式感测人的移动捕获装置或传感器和移动计算平台来实时地或接近实时地识别和跟踪人的需求。装置的所需移动性和其他要求强加处理能力或其他限制。例如,在这样的条件下可能不执行高资源消耗的图像处理任务,在移动装置上不能在延长的时间段内操作需要大量功率的处理器等。
一种技术方案涉及一种用于从描述所检测的对象的坐标的二维点或三维点的集合中识别和跟踪人的方法。跟踪可以由靠近人前进的跟踪装置完成。例如,通过从位置在跟踪装置上的旋转式激光发射与接收器接收一系列角度与距离对并将该信息变换为二维点或三维点来获得这些点。每个这样的对(pair)指示某一距离,在该距离处以特定角度找到对象。可以每1度、每0.5度等从激光发射与接收器接收信息,其中激光发射与接收器可以每0.1秒或甚至更少地完成完整旋转。
然后,可以根据任意两个连续点(即,根据从激光发射与接收器接收的两个连续读数获得的点)之间的差来分割变换后的点。
然后可以针对每个这样的区段定义边界矩形,并将该边界矩形与针对激光发射与接收器的先前循环所确定的边界矩形进行比较。被识别为对应于先前确定的对象的对象可以随时间被识别。
基于该比较,可以合并和拆分对象。此外,如果两个区段相对较小且彼此相对接近(例如在一个人的两条腿的情况下),则它们可以被视为单个对象。
另一技术方案涉及一旦知道位置,则确定人的姿势,例如人是坐着的、站着的还是躺着的。可以基于例如从深度照相机获得的深度信息来计算沿着竖直轴线构成对象的像素的深度的梯度来执行定位的确定。
一旦确定了人的位置(location)和定位(position),则装置可以采取动作,诸如根据此人的位置和姿势改变其位置、高度或取向,从而针对此人提供所需的功能,诸如跟随、引导或从前面跟随。
所公开的主题的一个技术效果是提供一种可以跟随或引导人的自主装置。该装置还可以调整其高度或取向以便对此人是有用的,例如,此人可以容易地够到自主装置的托盘或观看在自主装置的显示装置上所显示的内容等。
现在参照图1A和图1B,其示出用于识别和跟踪或引导人的自主装置的示意图,并且参照图2,其示出该自主装置的功能框图。
图1A示出识别、跟踪和引导人的装置(总体上标记为100),而无需人与装置有物理接触。图1B示出识别、跟踪和引导人的装置100,其中人把持着装置100的手柄116。
应当理解,手柄116可以用托盘代替或连接到托盘,该托盘可以被人用来运送周围物品,例如运送到装置100引导人到达的目的地。
装置100包括转向机构200,该转向机构200可以位于装置100的底部104,并且包括一个或多个车轮或一个或多个轴承、链条或用于移动的任何其他机构。装置100还可以包括用于启动转向机构200的马达204和用于根据所需运动向马达204提供命令的马达控制器208。
装置100还可以包括一个或多个传感器或捕获装置108,诸如激光接收器/ 发射器、可提供RGB数据或深度数据的照相机或附加装置(诸如麦克风)。
激光接收器/发射器可以旋转并且针对装置100周围的每个角度或大多数角度提供激光束击中对象的距离。激光接收器/发射器可以每1度、每0.5度等提供一个读数。
装置100还可以包括有用的构件212,诸如托盘116、显示装置112等。
显示装置112可以向用户显示另一个人,因此给出人类指导者正在引导或跟随用户的感觉、警报、娱乐信息、诸如要运送的物品之类的所需信息或任何其他信息。有用的构件212还可以包括用于播放或流式传输(streaming)声音的扬声器、篮子等。
装置100还可以包括用于存储数据或程序代码的一个或多个计算机存储装置216,该程序代码可操作以使装置100执行与下文详述的方法的任何步骤相关联的动作。存储装置216可以是持久的或易失的。例如,存储装置216可以是闪存盘、随机存取存储器(RAM)、存储器芯片、光学存储装置(诸如CD、DVD 或激光盘)、磁性存储装置(诸如磁带、硬盘、存储区域网络(SAN)、网络连接存储装置(NAS)等)、半导体存储装置(诸如闪存装置、存储棒等)。
在所公开的主题的一些示例性实施例中,装置100可以包括一个或多个输入/输出(I/O)装置220,该一个或多个I/O装置200可用于接收来自装置100 的输入或提供输出到装置100,诸如接收命令、显示指令等。I/O装置220可以包括先前提及的构件,诸如显示器112、扬声器、麦克风、触摸屏等。
在一些示例性实施例中,装置100可以包括一个或多个处理器224。处理器 224中的每一个可以是中央处理器(CPU)、微处理器、电子电路、集成电路(IC) 等。可替代地,处理器224可以被实施为被编程用于特定处理器或移接到特定处理器(诸如数字信号处理器(DSP)或微控制器)的固件,或者可以被实施为硬件或可配置硬件(诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC))。
在一些实施例中,一个或多个处理器224可以远离装置100定位,使得部分或全部计算由远离装置的平台执行,并且结果经由通信信道被发送到装置 100。
应当理解,处理器224可以被配置成根据在非瞬态计算机可读存储介质(诸如但不限于存储装置216)上实施的计算机可读指令来运行多个功能模块。这种功能模块在下文中被称为包含在处理器中。
下文详述的部件可以被实施为例如由处理器224或由另一处理器运行的一组或多组相关的计算机指令。这些部件可以被布置为以任何编程语言在任何计算环境下编程的一个或多个可执行文件、动态库、静态库、方法、功能、服务等。
处理器224可以包括点分割模块228,该点分割模块228用于接收例如根据从激光发射器/接收器获得的一系列的角度与距离对确定的连续点的集合,并将这些连续点分割成对象。
处理器224可以包括对象跟踪和合并/拆分模块232,该对象跟踪和合并/拆分模块232用于跟踪随时间由点分割模块228获得的对象,并且确定对象是否已被合并或拆分,例如区分先前定位成一个在另一个后面的两个人或者一个人和一件家具、识别属于一个人类的两条腿等。
处理器224可以包括姿势分类模块236,该姿势分类模块236用于确定由点分割模块228确定的对象(特别是人类)的姿势。
处理器224可以包括动作确定模块240,该动作确定模块240用于确定要由装置100采取的动作,例如根据人类用户的位置移动到另一位置、改变装置或其一部分(诸如托盘116或显示器112)的高度、播放视频或音频流等。
现在参考图3,其示出用于检测和跟踪环境中的对象所实行的操作的流程图。
在阶段300,检测和跟踪一个或多个对象。阶段300可以包括用于接收点坐标(例如在两个维度中)的阶段312。这些点可以通过接收连续的角度与距离对 (这可以通过激光发射器/接收器来获得)并将这些点投影到平面上来获得。应当理解,通常,连续的点在相继的角度处获得,但这不是强制性的。
阶段300还可以包括用于根据连续点之间的距离分割点以便确定对象的点分割阶段316。
现在参考图4A,其示出用于分割点所实行的操作的流程图,从而详细说明点分割阶段316。
点分割阶段316可以包括用于确定两个连续点之间的距离的距离确定阶段 404。该距离可以被确定为平面上方的欧几里得距离。
在点分割阶段316,如果在阶段404确定的两个连续点之间的距离低于阈值,则可以确定这些点属于同一对象。如果距离超过阈值,则这些点与不同对象相关联。
在非限制性示例中,可以根据以下公式设置阈值:
tan(两个连续点之间的角度差)*Range(m)+C,其中角度差可以是例如 1度,range(m)是机器人和对象之间的距离(例如1米),并且C是旨在用于平滑误差(诸如圆润误差)的小常数(例如在0.01和1之间,诸如0.1)。因此,对于1米的范围(range)、1度的角度差和0.05的常数,计算为tan(1)*1+0.05 =0.067。因此,如果XY空间中的两个点之间的距离低于0.067m,则将这些点视为同一对象的一部分,否则将它们拆分成两个独立的对象。
在边界矩形确定阶段412,可以针对每个对象确定边界矩形,该矩形包括与该对象相关联的所有点。边界矩形应该尽可能小,例如包括所有点的最小矩形。
在边界矩形调整阶段416,可以根据关于激光发射器/接收器的定位和取向的局部化信息调整在阶段412确定的边界矩形,以便将矩形从激光发射器/接收器坐标系变换为全局地图坐标系。
现在参考图5A和图5B。图5A示出站着的人的深度图像500和面对深度照相机坐着的人的深度图像502。图5B中的对象504和对象506分别表示图像500 和图像502的边界矩形。
如上所述,图4A中的各阶段可以由上面公开的点分割模块228执行。应当理解,对于360°的每个完整周期(或者小于360°(如果激光发射器/接收器不旋转360°))可以重复各阶段。
现在返回参照图3,对象检测与跟踪阶段300还可以包括对象跟踪阶段320。
现在参考图4B,其详细描述了对象跟踪阶段320。对象跟踪阶段320可以包括比较阶段420,在该阶段中,针对当前周期确定的每个矩形与在先前周期确定的所有矩形进行比较。
如果当前周期的矩形和先前周期的矩形是相同的或者基本上是相同的,则相关联的对象可以被视为静态对象。如果两个矩形的尺寸基本上相同但取向不同,或者如果两个矩形的定位或取向改变但尺寸保持不变,则它们可以被视为是动态的相同对象。如果这些矩形不符合这些标准中的任一个,则它们是不同的。不具有来自先前周期的匹配矩形的矩形被视为新对象。
如上所述,图4B中的各阶段可以通过上面公开的对象跟踪和合并/拆分部件232执行。
现在返回参考图3,对象检测与跟踪阶段300还可以包括对象合并阶段324。在对象合并阶段324,相对小且彼此接近的对象,例如高达大约20cm且相距达大约40cm的对象可以被视为相同的对象。这种情况例如可以涉及人类的两条腿,其在一些周期中分开并且在其他周期中彼此相邻,并且因此可以被视为一个对象。应当理解,从其他对象拆分的对象将被实现为新对象。
在阶段328,可以更新对象特征,诸如将对象标识符与最新的尺寸、定位、取向等相关联。
在如下文详细地进行的多个实验中,已经得到了惊人的结果。这些实验是用速度为1.3m/s的机器人进行的。激光发射器/接收器以6Hz的频率工作并且每1度提供采样,从而每秒提供6*360=2160个采样。已经检测并跟踪了动态对象而没有失败。
在识别和跟踪对象之后,可以在阶段304对一个或多个对象的姿势进行分类。应当理解,姿势分类阶段304可以针对某些对象发生,诸如至少具有预定尺寸的对象、仅动态对象、最多预定数量的对象(诸如每个场景一个或两个对象)等。
现在参考图4C,其详细描述了姿势分类阶段304。
姿势分类阶段304可以包括位置接收阶段424,在该阶段接收假定为人类的对象的位置。可以在相对于装置100的坐标中、在绝对坐标中或类似坐标中接收位置。
姿势分类阶段304可以包括深度图像接收与处理阶段428,其中图像可以例如从安装在装置100上的深度照相机接收,或者在任何其他位置处接收。深度图像可以包括针对图像中的每个像素的深度指示。处理可以包括基于深度对图像进行分割。例如,如果两个相邻像素具有超过预定阈值的深度差,则这些像素可以被视为属于不同对象,而如果深度相同或足够接近,例如差异低于预定值,则可以将这些点视为属于同一对象。图像内的像素可以被从下往上分割或以任何其他顺序分割。
姿势分类阶段304可以包括阶段432,该阶段432用于计算在每个找到的对象的每个点处沿竖直轴线的深度信息的梯度,并且根据确定的梯度次分割 (sub-segmenting)对象。
现在返回参考图5A和图5B,其示出站着的人的深度图像500和坐着的人的深度图像502,以及边界矩形504、506、508和512的示例,其中对象504表示深度图像500的边界矩形,并且对象506表示深度图像502的边界矩形。应当理解,基于深度信息分割的对象不一定是矩形,而仅为了方便起见,图5B的对象被示出为矩形。
姿势分类阶段304可以包括阶段436,在该阶段中,可以确定对象的下部和上部的梯度是否显著不同。如果确定梯度不同,例如差异超过预定阈值,或者对象总体上不沿着直线,则可以推断人类是坐着的。因此,由于在示出为对象 504的边界矩形中,对于深度照相机,所有区域都处于基本均匀的距离,所以对象504不包括显著的梯度变化,并且确定此人不是坐着的。
然而,由于图像502的人的边界矩形506确实示出了所标记的基本竖直的梯度,这表明下部比上部更靠近照相机,因此确定此人可能是面对照相机坐着的。
在阶段440,可以确定对象的高度,并且如果高度较低,例如在大约1m或另一预定高度下,并且如果对象的宽度例如大于50cm,则可以推断人类是躺下的。
在阶段444,如果对象的高度较高,例如在1m以上,并且对象上的深度梯度基本上为零,则可以推断人类是站着的。
如上所述,图4C中的各阶段可以由上面公开的姿势分类模块236执行。
现在返回参考图3,一旦对象被跟踪并且定位被分类,则装置的定位可以在阶段308改变。定位改变可以是调整装置100的位置、装置或其一部分的高度或取向,并且可以取决于具体的应用或用法。
例如,在改变位置阶段332,装置100可以根据部署模式改变其位置。例如,该装置可以通过在与人类的前进方向相反的方向上到达距离人类预定距离的位置来跟随人类。可替代地,装置100可以引导人类,例如在人类应该跟随的方向上到达距离人类预定距离的位置,以便到达预定位置。在另一备选方案中,装置100可以从前面引导人类,例如在人类的前进方向上到达距离人类预定距离的位置。
在高度改变阶段336,装置100或其一部分(诸如托盘116或显示器112) 的高度可被调节成与人类的高度相匹配,该高度可以取决于姿势(例如站着、坐着或躺着)。
在取向改变阶段336,装置100或其一部分(诸如托盘116或显示器112) 的取向可以例如通过旋转以使人类能够访问托盘116、观看显示器112等进行调整。为了确定正确的取向,可以假定人脸是在人类前进的方向上。
如上文所述,已经进行了实验。已经对高度在160cm至195cm范围内的人们进行了实验,其中人们在与照相机相距50cm至2.5m的距离处站着或坐在5 张不同定位的椅子的任一个上。在大约95%的情况下,姿势分类是成功的。
本文中使用的术语仅用于描述特定实施例,而不旨在限制本公开。如本文所用,除非上下文另有明确说明,单数形式“一”、“一个”和“该”旨在包括复数形式。应进一步理解,当在本说明书中使用时,术语“包括”和/或“包含”指定所述特征、整数、步骤、操作、元件和/或部件的存在,但不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件和/或以上各项的组合。
如本领域技术人员将理解的,所公开的主题的一些部分可以被体现为系统、方法或计算机程序产品。因此,所公开的主题可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微码等)或结合软件方面和硬件方面(这些方面在本文通常都可以成为“电路”、“模块”或“系统”)的实施例的形式。此外,本公开可以采用体现在任何有形表达介质中的计算机程序产品的形式,该有形表达介质具有体现在介质中的计算机可用程序代码。
可以利用一个或多个计算机可用介质或计算机可读介质的任何组合。计算机可用介质或计算机可读介质可以是例如但不限于电子的、磁性的、光学的、电磁的、红外的或半导体的系统、设备、装置或传播介质。计算机可读介质的更具体的示例(非详尽清单)包括下列各项:具有一根或多根导线的电连接件、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器 (CDROM)、光学存储装置、诸如支持因特网或内联网的传输介质、或磁存储装置。注意,计算机可用介质或计算机可读介质甚至可以是纸或其上打印程序的其他合适介质,因为程序可以经由例如纸或其他介质的光学扫描被电子捕捉,然后在必要时以合适的方式编译、解释或以其他方式处理,然后存储在计算机存储器中。在本申请的上下文中,计算机可用介质或计算机可读介质可以是任何可以包含、存储、通信、传播或传输程序的介质,该程序用于指令执行系统、设备或装置或与之相关。计算机可用介质可以包括在基带中或作为载波的一部分的传播的数据信号,该传播的数据信号具有与其一起体现的计算机可用程序代码。计算机可用程序代码可以使用任何适当的介质来传输,包括但不限于无线、有线、光纤电缆、RF等。
用于实行本公开的操作的计算机程序代码可以用一种或多种编程语言的任意组合来编写,包括面向对象的编程语言如Java、Smalltalk、C++等和传统的程序编程语言如“C”编程语言或类似的编程语言。程序代码可以完全在用户的计算机上运行、部分地在用户的计算机上运行,作为独立的软件包,部分地在用户的计算机上运行、部分地在远程计算机上运行,或者完全在远程计算机或服务器上运行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。
随附权利要求中的所有手段或步骤加功能的元件的相应结构、材料、作用和等效物旨在包括用于结合如具体权利要求所述的其他要求保护的元件执行功能的任何结构、材料或作用。已经出于说明和描述的目的给出了对本公开的描述,但并不旨在穷举或将本公开限制于所公开的形式。在不脱离本公开的范围和精神的情况下,对于本领域普通技术人员来说,许多修改和变化将是显而易见的。选择和描述实施例是为了最好地解释本公开和实际应用的原理,并且使本领域的普通技术人员能够理解本公开的具有适合于预期的特定用途的各种修改的各种实施例。
Claims (11)
1.一种机器人,其包括:
传感器,其用于捕获提供在至少两个维度中的点的集合,所述点表示所述机器人的环境中的对象;
处理器,其适于执行以下步骤:
接收在至少两个维度中的点的集合;
通过以下操作分割所述点以确定至少一个对象:(a)在两个连续点之间的距离不超过阈值的情况下,确定所述两个连续点属于一个对象;(b)确定每个对象的最小边界矩形;以及(c)调整所述最小边界矩形以获得每个对象的经调整的边界矩形;
跟踪所述至少一个对象;
在至少两个对象的尺寸不超过第一阈值并且距离不超过第二阈值的情况下,将所述至少两个对象合并为单个对象;以及
对与所述单个对象相关联的人类的姿势进行分类;
转向机构,其用于根据所述人类的所述姿势来改变所述机器人的定位;以及
马达,其用于启动所述转向机构。
2.一种用于检测室内环境中的人类的方法,其包括:
接收至少两个维度中的点的集合;
通过以下操作分割所述点以确定至少一个对象:(a)在两个连续点之间的距离不超过阈值的情况下,确定所述两个连续点属于一个对象;(b)确定每个对象的最小边界矩形;以及(c)调整所述最小边界矩形以获得每个对象的经调整的边界矩形;
跟踪所述至少一个对象;
在至少两个对象的尺寸不超过第一阈值并且距离不超过第二阈值的情况下,将所述至少两个对象合并为单个对象;以及
对与所述单个对象相关联的人类的姿势进行分类。
3.根据权利要求2所述的方法,进一步包括:
接收一系列的范围与角度对;以及
将每个范围与角度对变换为二维空间中的点。
4.根据权利要求2所述的方法,其中跟踪所述至少一个对象包括:
将所述经调整的边界矩形与先前确定的经调整的边界矩形进行比较以确定新对象、静态对象或动态对象,其中在至少一个对象和先前的对象具有基本上相同的尺寸但不同的取向或不同的位置的情况下,确定动态对象。
5.根据权利要求2所述的方法,其中对所述人类的所述姿势进行分类包括:
接收人类的位置;
处理从所述位置开始并扩展到相邻像素的深度图像,其中具有最多在第三预定阈值中不同的深度信息的像素与一个区段相关联;
确定所述一个区段的多个区域的竖直轴线上的梯度;
在所述梯度至少在对象的下部与上部之间的第四预定阈值中不同或者所述对象不是基本上竖直的情况下,确定所述人类是坐着的;
在所述对象的高度不超过第五预定阈值并且所述对象的宽度超过第六预定阈值的情况下,确定所述人类是躺着的;以及
在所述对象的高度不超过所述第五预定阈值并且所述梯度基本均匀的情况下,确定所述人类是站着的。
6.根据权利要求5所述的方法,进一步包括根据所述竖直轴线上的所述梯度次分割每个区段。
7.根据权利要求5所述的方法,进一步包括通过确定在最近预定数量的确定中最频繁的所述姿势来平滑人的所述姿势。
8.根据权利要求2所述的方法,进一步包括根据所述人类的位置和姿势调整装置的定位。
9.根据权利要求8所述的方法,其中调整所述装置的所述定位包括执行选自由以下各项组成的组的动作:改变所述装置的位置;改变所述装置或其一部分的高度;以及改变所述装置或其一部分的取向。
10.根据权利要求8所述的方法,其中执行调整所述装置的所述定位以用于采取选自由以下各项组成的组的动作:跟随所述人类;引导所述人类;以及从前侧跟随所述人类。
11.根据权利要求8所述的方法,其中调整所述装置的所述定位是通过采取选自由以下各项组成的组的动作来执行的:跟随所述人类;引导所述人类;以及从前侧跟随所述人类。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662410630P | 2016-10-20 | 2016-10-20 | |
US62/410,630 | 2016-10-20 | ||
PCT/IL2017/051156 WO2018073829A1 (en) | 2016-10-20 | 2017-10-19 | Human-tracking robot |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110072673A CN110072673A (zh) | 2019-07-30 |
CN110072673B true CN110072673B (zh) | 2022-11-25 |
Family
ID=62018304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780077048.4A Active CN110072673B (zh) | 2016-10-20 | 2017-10-19 | 跟踪人类的机器人及其方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20200050839A1 (zh) |
EP (1) | EP3529009A4 (zh) |
JP (1) | JP2020500385A (zh) |
KR (1) | KR20190103146A (zh) |
CN (1) | CN110072673B (zh) |
WO (1) | WO2018073829A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11450148B2 (en) | 2017-07-06 | 2022-09-20 | Wisconsin Alumni Research Foundation | Movement monitoring system |
US10810414B2 (en) * | 2017-07-06 | 2020-10-20 | Wisconsin Alumni Research Foundation | Movement monitoring system |
EP3437804A1 (en) * | 2017-08-02 | 2019-02-06 | ABB Schweiz AG | Robot control method |
EP3467782A1 (en) * | 2017-10-06 | 2019-04-10 | Thomson Licensing | Method and device for generating points of a 3d scene |
SG11202101916SA (en) * | 2018-08-27 | 2021-03-30 | Agency Science Tech & Res | Device and method for tracking human subjects |
DE112019004442T5 (de) * | 2018-09-05 | 2021-05-20 | Sony Corporation | Mobile vorrichtung, mobilvorrichtungssteuersystem und -verfahren, und programm |
US11587361B2 (en) | 2019-11-08 | 2023-02-21 | Wisconsin Alumni Research Foundation | Movement monitoring system |
USD920410S1 (en) * | 2020-04-30 | 2021-05-25 | Ubtech Robotics Corp Ltd | Robot |
USD921080S1 (en) * | 2020-04-30 | 2021-06-01 | Ubtech Robotics Corp Ltd | Robot |
USD921081S1 (en) * | 2020-04-30 | 2021-06-01 | Ubtech Robotics Corp Ltd | Robot |
KR20230057867A (ko) * | 2021-10-22 | 2023-05-02 | 삼성전자주식회사 | 실시간 사람 감지 및 추적 시스템을 위한 전자 장치 및 그 제어 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE0303178D0 (sv) * | 2003-11-24 | 2003-11-24 | Abb Research Ltd | A method and a system for programming an industrial robot |
WO2011146259A2 (en) * | 2010-05-20 | 2011-11-24 | Irobot Corporation | Mobile human interface robot |
CN104970741A (zh) * | 2009-11-06 | 2015-10-14 | 艾罗伯特公司 | 用于通过自主型机器人完全覆盖表面的方法和系统 |
CN105404849A (zh) * | 2014-09-05 | 2016-03-16 | 波音公司 | 使用关联存储器分类的画面以获得姿势的度量 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4531897B2 (ja) * | 1999-12-27 | 2010-08-25 | パナソニック株式会社 | 人物追跡装置、人物追跡方法及びそのプログラムを記録した記録媒体 |
KR20080073933A (ko) * | 2007-02-07 | 2008-08-12 | 삼성전자주식회사 | 객체 트래킹 방법 및 장치, 그리고 객체 포즈 정보 산출방법 및 장치 |
US8918213B2 (en) * | 2010-05-20 | 2014-12-23 | Irobot Corporation | Mobile human interface robot |
KR101815975B1 (ko) * | 2011-07-27 | 2018-01-09 | 삼성전자주식회사 | 객체 자세 검색 장치 및 방법 |
WO2013175777A1 (ja) * | 2012-05-23 | 2013-11-28 | パナソニック株式会社 | ロボット、ロボットの制御装置、制御方法、及び制御プログラム |
US9311550B2 (en) * | 2013-03-06 | 2016-04-12 | Samsung Electronics Co., Ltd. | Device and method for image processing |
-
2017
- 2017-10-19 JP JP2019542826A patent/JP2020500385A/ja active Pending
- 2017-10-19 KR KR1020197014261A patent/KR20190103146A/ko unknown
- 2017-10-19 EP EP17861540.7A patent/EP3529009A4/en active Pending
- 2017-10-19 WO PCT/IL2017/051156 patent/WO2018073829A1/en unknown
- 2017-10-19 US US16/343,046 patent/US20200050839A1/en not_active Abandoned
- 2017-10-19 CN CN201780077048.4A patent/CN110072673B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE0303178D0 (sv) * | 2003-11-24 | 2003-11-24 | Abb Research Ltd | A method and a system for programming an industrial robot |
CN104970741A (zh) * | 2009-11-06 | 2015-10-14 | 艾罗伯特公司 | 用于通过自主型机器人完全覆盖表面的方法和系统 |
WO2011146259A2 (en) * | 2010-05-20 | 2011-11-24 | Irobot Corporation | Mobile human interface robot |
CN105404849A (zh) * | 2014-09-05 | 2016-03-16 | 波音公司 | 使用关联存储器分类的画面以获得姿势的度量 |
Non-Patent Citations (2)
Title |
---|
Computationally efficient solutions for tracking people with a mobile robot: an experimental evaluation of Bayesian filters;Nicola Bellotto ET AL;《Auton Robot》;20091223;第425-438页 * |
Human Tracking and Following Using Sensor Fusion Approach for Mobile Assistive Companion Robot;Ren C Luo ET AL;《Annual Conference Of IEEE Industrial》;20091103;第2235-2240页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2018073829A1 (en) | 2018-04-26 |
CN110072673A (zh) | 2019-07-30 |
EP3529009A1 (en) | 2019-08-28 |
JP2020500385A (ja) | 2020-01-09 |
KR20190103146A (ko) | 2019-09-04 |
EP3529009A4 (en) | 2020-06-24 |
US20200050839A1 (en) | 2020-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110072673B (zh) | 跟踪人类的机器人及其方法 | |
JP6043856B2 (ja) | Rgbdカメラを用いた頭部ポーズ推定 | |
Leigh et al. | Person tracking and following with 2d laser scanners | |
US8644552B2 (en) | Markerless motion capturing apparatus and method | |
US8265425B2 (en) | Rectangular table detection using hybrid RGB and depth camera sensors | |
JP5881743B2 (ja) | 奥行きマップを使用したモバイルカメラの自己位置推定 | |
US9235753B2 (en) | Extraction of skeletons from 3D maps | |
US8526677B1 (en) | Stereoscopic camera with haptic feedback for object and location detection | |
KR101553653B1 (ko) | 로봇의 슬립 감지 장치 및 방법 | |
KR101665386B1 (ko) | 로봇 위치 추정 장치 및 방법 | |
Huey et al. | Augmented reality based indoor positioning navigation tool | |
US11189042B2 (en) | Information processing device, information processing method, and computer program | |
KR20150130483A (ko) | 평면의 자연스러운 특성 타겟들의 인시츄 생성 | |
JP2011022157A (ja) | 位置検出装置、位置検出方法、及び位置検出プログラム | |
KR101971791B1 (ko) | 가시광 통신을 이용한 실내공간의 증강현실 제공 시스템 및 그 방법 | |
US20130069939A1 (en) | Character image processing apparatus and method for footskate cleanup in real time animation | |
JP6240706B2 (ja) | グラフマッチングおよびサイクル検出による自動モデル初期化を用いた線トラッキング | |
CN113910224A (zh) | 机器人跟随的方法、装置及电子设备 | |
KR101859618B1 (ko) | 소실점 위치를 이용한 이동 로봇의 복도 주행 방법 및 장치 | |
Kumar Rath et al. | Real‐time moving object detection and removal from 3D pointcloud data for humanoid navigation in dense GPS‐denied environments | |
Vaufreydaz et al. | Mobilergbd, an open benchmark corpus for mobile rgb-d related algorithms | |
US20230206468A1 (en) | Tracking device, tracking method, and recording medium | |
US20240119620A1 (en) | Posture estimation apparatus, posture estimation method, and computer-readable recording medium | |
JP2016075653A (ja) | 画像認識処理装置及びプログラム | |
Niyonsaba et al. | Distance measurement System from detected objects within Kinect depth sensor's field of view and its applications |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Israel Tel Aviv Applicant after: Ruibo Tianmi Israel Co.,Ltd. Address before: Tel Aviv, Israel Applicant before: Robo-Team Home Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |