CN117103259A - 目标跟随方法、装置、可移动的跟随设备和存储介质 - Google Patents
目标跟随方法、装置、可移动的跟随设备和存储介质 Download PDFInfo
- Publication number
- CN117103259A CN117103259A CN202311067878.2A CN202311067878A CN117103259A CN 117103259 A CN117103259 A CN 117103259A CN 202311067878 A CN202311067878 A CN 202311067878A CN 117103259 A CN117103259 A CN 117103259A
- Authority
- CN
- China
- Prior art keywords
- target
- following
- started
- coordinate
- feature
- 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 147
- 238000001514 detection method Methods 0.000 claims abstract description 172
- 238000012545 processing Methods 0.000 claims abstract description 122
- 230000008569 process Effects 0.000 claims description 69
- 238000004590 computer program Methods 0.000 claims description 17
- 230000007613 environmental effect Effects 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 5
- 230000000875 corresponding effect Effects 0.000 description 142
- 230000001276 controlling effect Effects 0.000 description 20
- 238000001914 filtration Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000003550 marker Substances 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000004807 localization Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- 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
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- 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
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/18—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using ultrasonic, sonic, or infrasonic waves
- G01S5/20—Position of source determined by a plurality of spaced direction-finders
-
- 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/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Robotics (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Automation & Control Theory (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种目标跟随方法、装置、可移动的跟随设备和存储介质。所述方法用于可移动的跟随设备,包括:对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框;根据目标检测框以及跟随设备对应的第一坐标,得到跟随目标的第二坐标;根据第二坐标对跟随设备的历史导航数据进行更新,得到目标导航数据,并基于目标导航数据控制跟随设备移动。采用本方法能够提高目标跟随的灵活性。
Description
技术领域
本申请涉及智能机器人技术领域,特别是涉及一种目标跟随方法、装置、可移动的跟随设备和存储介质。
背景技术
随着人工智能和机器人技术的快速发展,机器人能够与人类进行交互,并执行各种任务。在实际应用中,机器人的人性化和交互性仍然面临一些挑战,其中之一是机器人如何准确地跟随人类移动,其中可以将机器人看做是一种可移动的跟随设备。
相关技术中用于可移动的跟随设备中的目标跟随方法,一般需要先在跟随目标上设置特殊标记物,使得跟随设备基于该特殊标记物确定跟随目标的位置信息,进而实现目标跟随。
然而,上述目标跟随方法的灵活性较差。
发明内容
基于此,有必要针对上述技术问题,提供一种灵活性好的目标跟随方法、装置、可移动的跟随设备和可读存储介质。
第一方面,本申请提供了一种目标跟随方法。用于可移动的跟随设备,所述方法包括:
对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框;
根据目标检测框以及跟随设备对应的第一坐标,得到跟随目标的第二坐标;
根据第二坐标对跟随设备的历史导航数据进行更新,得到目标导航数据,并基于目标导航数据控制跟随设备移动。
在其中一个实施例中,对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框,包括:
对目标图像进行目标检测处理,得到候选目标对应的候选检测框和候选特征;
基于包括样本特征以及样本特征对应的样本标识的样本特征库,对候选特征进行匹配处理,得到候选特征对应的候选标识;
若候选标识与跟随目标的目标标识相同,则将候选目标对应的候选检测框作为目标检测框。
在其中一个实施例中,在对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框之前,方法还包括:
持续对跟随设备获取的环境图像进行特征匹配处理,得到待启动标识;
针对待启动标识,检测是否连续预设时长得到待启动标识;
若连续预设时长得到待启动标识,则获取待启动标识对应的人脸角度;
若人脸角度属于预设角度区间,则将待启动标识作为目标标识。
在其中一个实施例中,在对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框之前,方法还包括:
若检测到包括目标唤醒词的语音数据,则对语音数据进行声源定位处理,确定待启动方向;
对语音数据进行语音识别处理,得到语音数据对应的使用意图;
获取待启动方向对应的环境图像,并对环境图像进行目标检测处理,得到待启动检测结果;
若待启动检测结果指示环境图像中包括至少一个待启动目标,且使用意图为预设跟随意图,则基于待启动目标对应的待启动标识确定目标标识。
在其中一个实施例中,持续对跟随设备获取的环境图像进行特征匹配处理,得到待启动标识,包括:
持续对跟随设备获取的环境图像进行特征提取处理,得到待启动特征;
将样本特征库中的多个样本特征中与待启动特征匹配成功的样本特征对应的样本标识作为待启动标识;
若待启动特征与样本特征库中的样本特征均匹配失败,则为待启动特征生成待启动标识,并将待启动标识作为样本标识且将待启动特征作为样本特征存储至样本特征库。
在其中一个实施例中,根据目标检测框以及跟随设备对应的第一坐标,得到跟随目标的第二坐标,包括:
根据目标检测框和预设的标定框的进行深度估计处理,得到跟随目标与跟随设备之间目标距离;
根据目标检测框与目标图像的图像中心点进行偏转角度计算处理,得到跟随目标与跟随设备之间的目标角度;
根据目标距离、目标角度以及第一坐标进行计算,得到第二坐标。
在其中一个实施例中,历史导航数据包括历史导航路径和历史目的坐标,目标导航数据包括目标导航路径和目标目的坐标;根据第二坐标对跟随设备的历史导航数据进行更新,得到目标导航数据,包括:
将第二坐标作为新的路径点对历史导航路径进行更新,得到目标导航路径;
计算第二坐标和历史目标坐标之间的距离,得到距离差值;
若距离差值大于差值阈值,则基于第二坐标确定目标目的坐标;
若距离差值小于或者等于差值阈值,则将历史目的坐标确定为目标目的坐标。
在其中一个实施例中,基于目标导航数据控制跟随设备移动,包括:
根据目标导航数据,生成跟随设备对应的移动指令;
根据跟随设备获取的环境点云数据进行局部路径规划,得到跟随设备对应的躲避指令;
基于移动指令和躲避指令控制跟随设备移动。
在其中一个实施例中,方法还包括:
若连续预设时长检测不到跟随目标,则生成目标丢失指令。
在其中一个实施例中,方法还包括:
响应于目标丢失指令,基于第二坐标确定搜索中心坐标;
根据搜索中心坐标将预设大小的区域确定为第一搜索区域;
控制跟随设备遍历第一搜索区域,持续执行对获取的搜索图像进行特征匹配处理的过程,直至第一匹配结果指示第一搜索区域中存在跟随目标,或者,遍历结束;
若第一匹配结果指示第一搜索区域中存在跟随目标,则获取跟随目标对应的目标检测框。
在其中一个实施例中,方法还包括:
在执行响应于目标丢失指令的过程中,若检测到包括目标唤醒词的语音数据,则对语音数据进行声源定位处理,确定第二搜索方向;
控制跟随设备转向第二搜索方向,并基于第二搜索方向和第一坐标,确定为第二搜索区域;
控制跟随设备遍历第二搜索区域,持续执行对获取的搜索图像进行特征匹配处理的过程,直至第二结果指示第二搜索区域中存在跟随目标,或者,遍历结束;
若第二匹配结果指示第二搜索区域中存在跟随目标,则获取跟随目标对应的目标检测框。
第二方面,本申请还提供了一种目标跟随装置,用于可移动的跟随设备,所述装置包括:
目标检测模块,用于对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框;
坐标确定模块,用于根据目标检测框以及跟随设备对应的第一坐标,得到跟随目标的第二坐标;
导航控制模块,用于根据第二坐标对跟随设备的历史导航数据进行更新,得到目标导航数据,并基于目标导航数据控制跟随设备移动。
第三方面,本申请还提供了一种可移动的跟随设备,其特征在于,所述设备包括图像获取装置、语音获取装置、激光雷达传感器和目标跟随装置;所述目标跟随装置用于实现如上述第一方面所述方法的步骤。
第四方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述方法的步骤。
第五方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述方法的步骤。
上述目标跟随方法、装置、可移动的跟随设备和存储介质,方法用于可移动的跟随设备,通过对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框;根据目标检测框以及跟随设备对应的第一坐标,得到跟随目标的第二坐标;根据第二坐标对跟随设备的历史导航数据进行更新,得到目标导航数据,并基于目标导航数据控制跟随设备移动;这样,通过对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标的目标检测框,再基于目标检测框和跟随设备的当前位置信息确定跟随目标的位置信息,可以使得跟随设备可以跟随任意的跟随目标,避免传统技术中需要在跟随目标侧设置特殊标记物,以通过特殊标记物获取跟随目标的位置信息导致的灵活性差的问题,本申请提供的目标跟随方法的灵活性较好。
附图说明
图1为一个实施例中目标跟随方法的流程示意图;
图2为一个实施例中得到目标检测框步骤的流程示意图;
图3为一个实施例中得到目标标识步骤的流程示意图;
图4为一个实施例中得到待启动标识步骤的流程示意图;
图5为另一个实施例中得到目标标识步骤的流程示意图;
图6为一个实施例中得到第二坐标步骤的流程示意图;
图7为一个实施例得到目标导航数据步骤的流程示意图;
图8为一个实施例中基于导航数据控制跟随设备移动步骤的流程示意图;
图9为一个实施例中响应于目标丢失指令后进行目标搜索的流程示意图;
图10为另一个实施例中在执行响应于目标丢失指令的过程中进行目标搜索的流程示意图;
图11为一个实施例中目标跟随装置的机构示意图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种目标跟随方法,以该方法应用于可移动的跟随设备中为例进行说明,包括以下步骤:
步骤102,对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框。
其中,目标图像指的是跟随设备在启动跟随的过程中采集的图像。
示例性的,跟随设备是一个四足机器人,如机器狗;在机器狗的头部正面搭载图像获取装置,如单目相机。其中,单目相机的角度略微向上,确保能在适当的距离(示例性的,0.5米至1米)能较完整地获取包括一般身高(示例性的,1.7米)人类全身的图像。其中,需要说明的是,图像获取装置并不仅限于单目相机,所有能获取RGB图像的相机均可,本申请对获取目标图像的装置不做具体限定。
其中,对目标图像进行目标检测处理指的是对目标图像中存在的人体进行检测,可能检测到多个候选的人体目标,还需要对各候选目标进行特征提取,以判断跟随目标对应的目标检测框。
在一些其他的实施例中,目标检测框也可以称为bounding box,或者边界框。
示例性的,目标检测处理可以使用FastestDet(Fastest Object Detection,最快目标检测)模型、YOLO(You Only Look Once,你只需看一次)系列模型执行。
步骤104,根据目标检测框以及跟随设备对应的第一坐标,得到跟随目标的第二坐标。
其中,第一坐标指的是跟随设备的当前位置对应的世界坐标。示例性的,利用目标检测框可以估算出跟随目标与跟随设备之间的距离和偏转角度,因此,基于目标检测框和第一坐标,可以估算出跟随目标对应的世界坐标,即第二坐标。其中第二坐标为获取目标图像时跟随目标所处的位置。
步骤106,根据第二坐标对跟随设备的历史导航数据进行更新,得到目标导航数据,并基于目标导航数据控制跟随设备移动。
其中,历史导航数据指的是跟随设备在获取目标图像之前的用于追踪跟随目标的导航数据。根据第二坐标对历史导航数据进行更新,得到的目标导航数据能够确定跟随目标的最新位置。
根据目标导航数据控制跟随设备移动,即控制跟随设备朝向第二坐标对应的位置移动。
上述实施例提供的目标跟随方法,用于可移动的跟随设备,通过对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框;根据目标检测框以及跟随设备对应的第一坐标,得到跟随目标的第二坐标;根据第二坐标对跟随设备的历史导航数据进行更新,得到目标导航数据,并基于目标导航数据控制跟随设备移动;这样,通过对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标的目标检测框,再基于目标检测框和跟随设备的当前位置信息确定跟随目标的位置信息,可以使得跟随设备可以跟随任意的跟随目标,避免传统技术中需要在跟随目标侧设置特殊标记物,以通过特殊标记物获取跟随目标的位置信息导致的灵活性差的问题,本申请提供的目标跟随方法的灵活性较好。进一步的,通过对获取的目标图像进行目标检测处理和特征匹配处理,可以较准备的检测目标人体,记录人体特征进行匹配,保证不会跟错人。
在一个实施例中,请参考图2,涉及的是对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框的过程。如图2所示,该过程包括:
步骤202,对目标图像进行目标检测处理,得到候选目标对应的候选检测框和候选特征。
其中,候选目标可能有一个,也可能有多个,也可能是零个。示例性的,候选目标是零个的情况,表示跟随设备在跟随过程中获取的目标图像中不包含任何人体目标,可能存在目标丢失的情况。
示例性的,候选检测框基于候选目标标出的四边形,即候选目标在目标图像中的位置,具体形式可以是该四边形的四个顶点相对于目标图像的坐标数据,也可以是该四边形的中心点相对于目标图像的坐标数据和长宽数据,候选特征为候选目标对应的特征数据。
步骤204,基于包括样本特征以及样本特征对应的样本标识的样本特征库,对候选特征进行匹配处理,得到候选特征对应的候选标识。
其中,将候选特征与样本特征库中的各样本特征进行匹配处理,如果匹配成功,则将匹配成功的样本数据的样本标识作为候选特征对应的候选标识。
示例性的,可以通过分类网络进行特征匹配处理;又示例性的,也可以通过候选特征与各样本特征之间的欧氏距离或者余弦相似度等方式进行特征匹配。本申请实施例对特征匹配具体的方式不作限定。
步骤206,若候选标识与跟随目标的目标标识相同,则将候选目标对应的候选检测框作为目标检测框。
其中,如果候选目标的数量为一个,则判断该候选目标的候选标识是否与目标标识相同,若相同,则认为该候选目标即是跟随目标,将对应的候选检测框作为目标检测框,如果候选目标的数量为多个,则将候选标识与目标标识相同的候选目标对应的候选检测框确定为目标检测框。
在一种可能的实施方式中,若候选标识均与跟随目标的目标标识不相同,则可以认为目标图像中不包括跟随目标,不会输出目标检测框。
上述实施例通过对目标图像进行目标检测处理,得到候选目标对应的候选检测框和候选特征;基于包括样本特征以及样本特征对应的样本标识的样本特征库,对候选特征进行匹配处理,得到候选特征对应的候选标识;若候选标识与跟随目标的目标标识相同,则将候选目标对应的候选检测框作为目标检测框,能够提高得到目标检测框的准确性,保证跟随设备不会跟错目标。
在一个实施例中,请参考图3,本实施例涉及的是在对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框之前,跟随设备是如何确定跟随目标的过程。如图3所示,该过程包括:
步骤302,持续对跟随设备获取的环境图像进行特征匹配处理,得到待启动标识。
在启动目标跟随之前,跟随设备持续地获取环境图像,并对环境图像进行特征匹配处理,以确定环境图像中是否存在对应的待启动标识。
在一种可能的实施方式中,如图4所示,提供的持续对跟随设备获取的环境图像进行特征匹配处理,得到待启动标识的过程,包括:
步骤402,持续对跟随设备获取的环境图像进行特征提取处理,得到待启动特征。
其中,待启动特征用于指代跟随设备在启动目标跟随过程之前,获取的环境图像中人体目标对应的特征数据。
步骤404,将样本特征库中的多个样本特征中与待启动特征匹配成功的样本特征对应的样本标识作为待启动标识。
将待启动特征数据与样本特征库中的多个样本特征进行匹配,检查该待启动特征是否是样本特征库中记录过的人体目标,如果是,则将匹配成功的样本特征对应的样本标识作为待启动标识。
步骤406,若待启动特征与样本特征库中的样本特征均匹配失败,则为待启动特征生成待启动标识,并将待启动标识作为样本标识且将待启动特征作为样本特征存储至样本特征库。
若待启动特征不是对应样本特征库中已经记录过的人体目标,则将该待启动特征存储至样本特征库,同时为待启动特征生成相应的待启动标识作为样本标识存储至样本特征库。
如此,跟随设备可以实现对任意的人体目标启动跟随处理,并不局限特定的人体对象。
在一种可能的实施方式中,样本特征库将样本特征进行分类,即样本特征包括临时样本特征和录入样本特征。其中,临时样本特征是基于步骤406的方式得到的,录入样本特征为跟随设备专门录入的目标人体的特征。可以理解的,录入样本特征为跟随设备的特定用户对应的样本特征,临时样本特征是基于环境图像检测得到,且不属于特定用户的样本特征。
在这种可能的实施方式中,对样本特征库中的临时样本特征根据使用情况进行定时清理,防止导致目标跟随过程中匹配的效率低。
示例性的,如果临时样本特征数据在在预设超时时长内都没有被使用过,则将该临时样本特征对应的数据从样本特征库中删除,具体可以通过读取临时样本特征对应的调用时间确定,也可以通过别的方式判断该临时样本特征是否超时未使用。其中,预设超时时长可以是1天也可以是1个小时,根据跟随设备的硬件配置具体设置。
步骤304,针对待启动标识,检测是否连续预设时长得到待启动标识。
示例性的,一般的跟随设备是按照预设的频率持续地获取环境图像的,通过检测是否待启动标识是否在连续的预设数量张的环境图像中均出现的方式来检测是否连续预设试产赶得到待启动表示;又示例性的,可以在第一次得到待启动标识的同时,为每一个待启动标识在对应的字段记录出现时间;如出现时间不符合连续的规则,则将该字段清零,如果出现时间符合连续的规则,则一直记录出现时间,直到满足预设时长。
步骤306,若连续预设时长得到待启动标识,则获取待启动标识对应的人脸角度。
其中,人脸角度指的是待启动标识对应的目标人体相对于跟随设备的图像获取装置的角度。
示例性的,在连续预设时长得到待启动标识的情况下,获取该启动标识对应的目标人体进行人脸识别,得到该启动标识对应的人脸特征数据并进行人脸角度计算,得到待启动标识对应的人脸角度。
示例性的,可以是用solvePnP(solve Perspective-n-Point,N点透视位姿求解)姿态估计或者3DMM(3D Morphable Model,三维可变形模型)参数人脸姿态估计方式,获取待启动标识对应的人脸角度。
可选的,若不能在连续预设时长得到待启动标识,则不执行获取人脸角度的操作,继续对环境图像进行目标检测处理和特征匹配处理。
步骤308,若人脸角度属于预设角度区间,则将待启动标识作为目标标识。
其中,预设角度区间用于表征可以认为是正对着跟随设备的图像获取装置的人脸角度范围。如果判断得到该待启动标识对应的目标人体的人脸是正对着跟随设备的,则将待启动标识作为目标标识,即启动目标跟随过程。
可选的,若人脸角度不属于预设角度区间,则不启动目标跟随过程。
上述实施例提供的方法,在跟随设备确定跟随目标的过程中,通过跟随设备的视觉信息来判断是否启动跟随,若当前人体出现在跟随设备的视场中的时长足够长,且跟随目标能够检测到该人体的人脸是正对着跟随设备的,则跟随设备将该人体对应的标识确定目标标识,开始对该目标标识进行跟随;如此,可以在人机交互过程中,简单的进行跟随目标的选择和切换,灵活性好。
在一个实施例中,请参考图5,本实施例涉及的是在对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框之前,跟随设备是如何确定跟随目标的过程。如图5所示,该过程包括:
步骤502,若检测到包括目标唤醒词的语音数据,则对语音数据进行声源定位处理,确定待启动方向。
其中,可以通过跟随设备上搭载的语音获取装置获取语音数据。本申请中涉及的语音获取装置可以进行360度声源定位、增强和分离处理,示例性的,语音获取装置可以是麦克风阵列。
判断语音数据是否包括目标唤醒词,可以使用自动语音识别(Automatic SpeechRecognition,ASR)技术实现。
步骤504,对语音数据进行语音识别处理,得到语音数据对应的使用意图。
步骤506,获取待启动方向对应的环境图像,并对环境图像进行目标检测处理,得到待启动检测结果。
其中,获取待启动方向对应的环境图像,包括根据待启动方向,控制跟随设备转向至待启动方向,然后获取当前视场内的环境图像。
其中,对环境图像进行目标检测处理,提取环境图像中包括的人体目标,可能检测到至少一个人体目标,即将该至少一个人体目标对应的待启动检测框输出作为待启动检测结果,也可能检测不到人体目标,即待启动检测结果为空数据。
其中需要说明的是,在实际应用场景中,步骤506和步骤504一般是同时执行的。
步骤508,若待启动检测结果指示环境图像中包括至少一个待启动目标,且使用意图为预设跟随意图,则基于待启动目标对应的待启动标识确定目标标识。
其中,待启动检测结果指示环境图像中包括至少一个待启动目标,即待启动检测结果中包括至少一个待启动检测框;预设使用意图为对应于“跟着我”的使用意图。如果同时满足在声源方向(待启动方向)能够检测到待启动目标且采集到的语音数据中包括跟着我的意图,则基于待启动目标对应的待启动标识确定目标标识,即开始目标跟随的过程。
其中,基于待启动目标对应的待启动标识确定目标标识包括:先根据待启动目标对应的待启动检测框,确定待启动目标对应的特征数据;再从预设的样本特征库中进行匹配处理,得到该特征数据对应样本标识,得到待启动标识,其中,若匹配不到,则将该特征数据存储至样本特征库,同时为该特征数据生成对应的待启动标识,并将该待启动标识作为样本标识对应存入样本特征库,便于目标跟随过程中的特征匹配处理。
在一种可能的实施方式中,待启动检测结果中包括多个待启动目标,则基于待启动目标对应的待启动标识确定目标标识的过程中,先对各待启动目标对应的待启动检测框进行大小比较,选择各待启动目标中待启动检测框最大待启动目标作为跟随目标,获取该跟随目标对应的目标标识。
上述实施例提供的方法,在跟随设备确定跟随目标的过程中,通过若检测到包括目标唤醒词的语音数据,则对语音数据进行声源定位处理,确定待启动方向;对语音数据进行语音识别处理,得到语音数据对应的使用意图;获取待启动方向对应的环境图像,并对环境图像进行目标检测处理,得到待启动检测结果;若待启动检测结果指示环境图像中包括至少一个待启动目标,且使用意图为预设跟随意图,则基于待启动目标对应的待启动标识确定目标标识,这样,实现跟随装备与跟随目标之间使用语音数据进行跟随目标的选择和切换的过程,使得人机交互更自然,改善跟随体验,提高跟随的灵活性。
在一个实施例中,基于图1所示的实施例,请参考图6,本实施例提供的如何根据目标检测框以及跟随设备对应的第一坐标,得到跟随目标的第二坐标的过程。如图6所示,该过程包括:
步骤602,根据目标检测框和预设的标定框的进行深度估计处理,得到跟随目标与跟随设备之间目标距离。
示例性的,预设的标定框对应于一般身高(1.7m)的人体目标,根据目标检测框在目标图像上大小和标定框在目标图像上的大小,进行深度估计处理,得到跟随目标与跟随设备之间的目标距离。
步骤604,根据目标检测框与目标图像的图像中心点进行偏转角度计算处理,得到跟随目标与跟随设备之间的目标角度。
示例性的,根据目标检测框距离目标图像的图像中心点的横向距离和纵向距离,获取跟随目标相对跟随设备的偏转角度,得到目标角度。
步骤606,根据目标距离、目标角度以及第一坐标进行计算,得到第二坐标。
其中,基于目标距离和目标角度,确定跟随目标相对跟随设备的距离,再根据跟随设备的第一坐标,获取跟随目标在世界坐标系下的第二坐标。
在一种可能的实施方式中,对估算出的跟随目标对应的世界坐标进行滤波处理,得到第二坐标,以防止因意外情况导致的跟随目标对应的世界坐标波动过大,提高第二坐标的可靠性;示例性的,滤波处理可以采用低通滤波方式。
在另一种可能的实施方式中,将估算出的跟随目标对应的世界坐标直接作为第二坐标。
本实施例提供的目标跟随方法中,通过根据目标检测框和预设的标定框的进行深度估计处理,得到跟随目标与跟随设备之间目标距离,根据目标检测框与当前图像的图像中心点进行偏转角度计算处理,得到跟随目标与跟随设备之间的目标角度;根据目标距离、目标角度以及第一坐标进行计算,得到第二坐标,如此,利用预设的标定框进行目标距离的获取,再基于目标检测框和图像中心点进行目标角度的获取,再基于跟随设备的第一坐标,进行简单的计算即可实时获取跟随目标的第二坐标,计算复杂度低,计算效率高,能够减少计算资源的消耗。
在一个实施例中,基于图1所示的实施例,本实施例中,历史导航数据包括历史导航路径和历史目的坐标,目标导航数据包括目标导航路径和目标目的坐标。如图7所示,本实施例提供的根据第二坐标对跟随设备的历史导航数据进行更新,得到目标导航数据的过程,包括:
步骤702,将第二坐标作为新的路径点对历史导航路径进行更新,得到目标导航路径。
步骤704,计算第二坐标和历史目标坐标之间的距离,得到距离差值。
步骤706,若距离差值大于差值阈值,则基于第二坐标确定目标目的坐标。
步骤708,若距离差值小于或者等于差值阈值,则将历史目的坐标确定为目标目的坐标。
在一个实施例中,基于图7所示的实施例,本实施例提供的是基于目标导航数据控制跟随设备移动的过程。如图8所示,该过程包括:
步骤802,根据目标导航数据,生成跟随设备对应的移动指令。
示例性的,移动指令用于控制跟随设备沿着目标导航路径朝向目标目的坐标对应的位置移动。
步骤804,根据跟随设备获取的环境点云数据进行局部路径规划,得到跟随设备对应的躲避指令。
其中,环境点云数据可以通过跟随设备上搭载的激光雷达传感器获取。
示例性的,激光雷达传感器为一种包括内部旋转机构和单线激光雷达的传感器,其中,激光雷达通过发射激光束并接收反射回来的激光束,获取并记录每个激光束的距离和强度信息,通过内部旋转机构使激光束水平旋转,从而实现对周围环境的360度全方位扫描测距。激光雷达将接收到的距离信息转化为环境点云数据,并通过与跟随设备中的控制系统的通信,将点云数据传输给控制系统进行后续处理。
其中,根据环境点云数据进行局部路径规划,生成躲避指令,实现实时躲避障碍物的功能。示例性的,可以采用TEB(Time Elastic Band,时间弹性带)算法、人工势场法、DWA(Dynamic Window Approach,动态窗口法)算法等进行局部路径规划。
步骤806,基于移动指令和躲避指令控制跟随设备移动。
本实施例提供的目标跟随方法,除了根据目标导航路径和目标目的坐标生成跟随设备对应的移动指令之外,还根据跟随设备获取的点云数据进行局部路径规划,得到跟随设备对应的躲避指令;基于移动指令和躲避指令控制跟随设备移动,可以使得跟随设备在跟随目标的过程中实现实时避障,提高目标跟随任务的安全性,同时进一步提高跟随设备在执行目标跟随任务时的灵活性。
在一个实施例,提供的目标跟随方法还包括:若连续预设时长检测不到跟随目标,则生成目标丢失指令。
其中,可以根据目标导航路径已经连续预设时长没有更新,或者,可以根据已经连续预设时长没有获取到目标检测框等方式确定连续预设时长检测不到跟随目标。
在一种可能的实施方式中,在得到目标导航路径时,基于当前设备时间确定路径更新时间。若跟随设备的当前时间与路径更新时间的时间差值大于预设时间阈值,生成目标丢失指令。
其中,路径更新时间一直随着导航路径的更新而更新,是一个变化的值。在跟随设备检测不到跟随目标对应的目标检测框时,即不能更新跟随目标的第二坐标时,也就是不能更新导航路径时,通过判断导航路径停止时间的时长,即跟随设备的当前时间与路径更新时间的时间差值,是否大于预设时间差值,来判断跟随目标是否丢失;在跟随设备的当前时间与路径更新时间的时间差值大于预设时间阈值的时候,即导航路径一段时间没有更新,则认为跟随目标丢失了,生成目标丢失指令,其中,目标丢失指令用于控制跟随设备执行相应的动作。
在另一种可能的实施方式中,在得到跟随目标对应的目标检测框时,基于当前设备时间确定目标检测时间;若跟随设备的当前时间与目标检测时间的时间差值大于预设时间阈值,生成目标丢失指令。
示例性的,目标丢失指令用于控制跟随设备停止跟随,发出声音提醒跟随目标,然后进入待机状态,等待跟随目标的唤醒。
又示例性的,目标丢失指令用于控制跟随设备进入搜索状态,按照预设的方法按照某个路线或者某个方向或者某个区域对跟随目标进行搜索。
在一个实施例中,请参考图9,提供的目标跟随方法还包括:
步骤902,响应于目标丢失指令,基于第二坐标确定搜索中心坐标。
其中,第二坐标指的是最近一次根据目标检测框确定的第二坐标,若在得到第二坐标的过程中采用滤波方式,则将滤波前的世界坐标确定为搜索中心坐标,若在得到第二坐标的过程中没有经过滤波,则直接将第二坐标确定为搜索中心坐标。
本实施方式在跟随目标丢失之后,进入搜索状态,以最近一次检测得到跟随目标的位置作为搜索中心。
步骤904,根据搜索中心坐标将预设大小的区域确定为第一搜索区域。
示例性的,将搜索中心坐标周围4米×4米区域作为第一搜索区域,即在搜索中心坐标周围4米×4米的局部地图中进行搜索。
步骤906,控制跟随设备遍历第一搜索区域,持续执行对获取的搜索图像进行特征匹配处理的过程,直至第一匹配结果指示第一搜索区域中存在跟随目标,或者,遍历结束。
示例性的,步骤906的遍历搜索过程包括:
步骤A1,对跟随设备在当前位置获取到的搜索图像进行特征匹配处理,得到第一匹配结果。
需要说明的是,若在得到第二坐标的过程中采用了滤波方式,则需先控制跟随设备移动至搜索中心坐标对应的位置,再执行对当前位置获取的搜索图像进行特征匹配处理的过程。
其中,搜索图像指的是跟随设备在搜索状态下获取的图像。第一匹配结果用于指示第一搜索区域中是否存在跟随目标,示例性的,可以对应的搜索图像中是否包括跟随目标的目标标识来指示第一搜索区域中是否存在跟随目标。
步骤A2,若第一匹配结果指示第一搜索区域中不存在跟随目标,则将第一搜索区域中搜索图像对应的区域设置为已知区域,将第一搜索区域中除已知区域之外的区域设置为未知区域。
步骤A3,控制跟随设备移动至边界点坐标对应的位置,重复执行对跟随设备在当前位置获取到的搜索图像进行特征匹配处理,得到第一匹配结果;若第一匹配结果指示第一搜索区域中不存在跟随目标,则将第一搜索区域中搜索图像对应的区域设置为已知区域,将第一搜索区域中除已知区域之外的区域设置为未知区域的过程,直至第一匹配结果指示第一搜索区域中存在跟随目标,或者,第一搜索区域中不存在可用的边界(即遍历结束)。
在遍历搜索开始后,跟随设备的图像获取装置的可视范围(示例性的,视场60°,距离3米)会被更新为已知区域;若当前可视范围内没有匹配到跟随目标,则跟随设备不断前往已知区域和未知区域的边界,直到第一搜索区域中再无可用的边界。示例性的,已知区域和未知区域是随着跟随设备的移动持续更新的,而未知区域和已知区域的边界则是在跟随设备达到边界点坐标时,根据当前时刻第一搜索区域内的已知区域和未知区域按照广度优先搜索的方式进行更新确定的。
示例性的,边界点坐标一般是基于边界的中间点确定的,朝向为:背向已知区域朝向未知区域。例如,在将边界的中间点坐标确定为跟随设备的目的位置时,判断跟随设备在移动至该位置时是否会和障碍物碰撞;若跟随设备在移动至中间点坐标对应的位置时不会和障碍物碰撞,则将边界的中间点坐标确定为边界点坐标,若跟随设备在移动至中间点坐标对应的位置时会和障碍物碰撞,则在中间点坐标周围预设范围(示例性的,0.5米×0.5米,朝向阈值1弧度)内随机选点作为新目的位置;判断跟随设备在移动至新目的位置时是否还会和障碍物碰撞,若跟随设备在移动至新的目的位置时还会和障碍物碰撞,则认为随机选点失败,放弃探索该边界,将该边界标记为不可用;若跟随设备在移动至新目的位置时不会和障碍物碰撞,则认为将新目的位置作为边界点坐标。
步骤908,若第一匹配结果指示第一搜索区域中存在跟随目标,则获取跟随目标对应的目标检测框。
其中,第一搜索区域中存在跟随目标时,获取跟随目标对应的目标检测框,继续后续根据目标检测框即跟随设备对应的第一坐标,得到跟随目标的第二坐标,根据第二坐标对跟随设备的历史导航数据进行更新,得到目标导航数据,并基于目标导航数据控制跟随设备移动。
可选的,若第一搜索区域全部被设置为已知区域,则认为在第一搜索区域中没有搜索到跟随目标,说明彻底跟丢了,此时,可以控制跟随设备发出声音提醒跟随目标,然后进入待机状态,等待跟随目标的唤醒。
本实施例提供的目标跟随方法,在目标丢失的情况下,加入自动搜索的方式,跟随设备可以主动在跟随目标可能出现的区域进行搜索,保证了跟随的成功率,进而提高目标跟随方法的鲁棒性,同时提高用户的使用体验感。
在一个实施例中,请参考图10,提供的目标跟随方法还包括:
步骤1002,在执行响应于目标丢失指令的过程中,若检测到包括目标唤醒词的语音数据,则对语音数据进行声源定位处理,确定第二搜索方向。
在本实施例中,若跟随目标发现跟随设备已经跟踪是被且搜索方向正在远离自身,则可以通过唤醒词唤醒跟随设备。跟随设备在听到唤醒词之后根据声源定位,确定第二搜索方向。
步骤1004,控制跟随设备转向第二搜索方向,并基于第二搜索方向和第一坐标,确定为第二搜索区域。
示例性的,跟随设备可以基于第一坐标,沿着第二搜索方向,划定一个预设大小的区域作为第二搜索区域。
步骤1006,控制跟随设备遍历第二搜索区域,持续执行对获取的搜索图像进行特征匹配处理的过程,直至第二匹配结果指示第二搜索区域中存在跟随目标,或者,遍历结束。
示例性的,步骤1006所示的遍历过程可以包括:
步骤B1,对跟随设备在当前位置获取到的搜索图像进行特征匹配处理,得到第二匹配结果。
步骤B2,若第二匹配结果指示第二搜索区域中不存在跟随目标,则将第二搜索区域中搜索图像对应的区域设置为已知区域,将第二搜索区域中除已知区域之外的区域设置为未知区域;
步骤B3,控制跟随设备移动至边界点坐标对应的位置,重复执行对跟随设备在当前位置获取到的搜索图像进行特征匹配处理,得到第二匹配结果;若第二匹配结果指示第二搜索区域中不存在跟随目标,则将第二搜索区域中搜索图像对应的区域设置为已知区域,将第二搜索区域中除已知区域之外的区域设置为未知区域的过程,直至第二匹配结果指示第二搜索区域中存在跟随目标,或者,第二搜索区域中不存在可用的边界(即遍历结束)。
其中,边界点坐标和边界的确定方式可以参照前述实施例中步骤906内的描述,在此不再赘述。
步骤1008,若第二匹配结果指示第二搜索区域中存在跟随目标,则获取跟随目标对应的目标检测框。
本实施例提供的目标跟随方法,在跟随设备进入自动搜索状态时,可以通过语音方式提醒跟随设备跟随方向,提高目标跟随方法的灵活性,同时提高用户的使用体验感。
在一个实施例中,提供的一种目标跟随方法,包括:
步骤C1,视觉启动跟随,和/或,唤醒词启动跟随。
可选的,视觉启动跟随包括:持续对跟随设备获取的环境图像进行特征匹配处理,得到待启动标识;针对待启动标识,检测是否连续预设时长得到待启动标识;若连续预设时长得到待启动标识,则获取待启动标识对应的人脸角度;若人脸角度属于预设角度区间,则将待启动标识作为目标标识。
在视觉启动跟随的过程中,可选的,持续对跟随设备获取的环境图像进行特征匹配处理,得到待启动标识,包括:持续对跟随设备获取的环境图像进行特征提取处理,得到待启动特征;将样本特征库中的多个样本特征中与待启动特征匹配成功的样本特征对应的样本标识作为待启动标识;若待启动特征与样本特征库中的样本特征均匹配失败,则为待启动特征生成待启动标识,并将待启动标识作为样本标识且将待启动特征作为样本特征存储至样本特征库。
可选的,唤醒词启动跟随包括:若检测到包括目标唤醒词的语音数据,则对语音数据进行声源定位处理,确定待启动方向;对语音数据进行语音识别处理,得到语音数据对应的使用意图;获取待启动方向对应的环境图像,并对环境图像进行目标检测处理,得到待启动检测结果;若待启动检测结果指示环境图像中包括至少一个待启动目标,且使用意图为预设跟随意图,则基于待启动目标对应的待启动标识确定目标标识。
步骤C2,实时估算人体位置,包括:对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框;根据目标检测框以及跟随设备对应的第一坐标,得到跟随目标的第二坐标;根据第二坐标对跟随设备的历史导航数据进行更新,得到目标导航数据。
其中,可选的,对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框,包括:对目标图像进行目标检测处理,得到候选目标对应的候选检测框和候选特征;基于包括样本特征以及样本特征对应的样本标识的样本特征库,对候选特征进行匹配处理,得到候选特征对应的候选标识;若候选标识与跟随目标的目标标识相同,则将候选目标对应的候选检测框作为目标检测框。
可选的,若候选标识均与跟随目标的目标标识不相同,则获取不到跟随目标对应的目标检测框。
其中,可选的,根据目标检测框以及跟随设备对应的第一坐标,得到跟随目标的第二坐标,包括:根据目标检测框和预设的标定框的进行深度估计处理,得到跟随目标与跟随设备之间目标距离;根据目标检测框与目标图像的图像中心点进行偏转角度计算处理,得到跟随目标与跟随设备之间的目标角度;根据目标距离、目标角度以及第一坐标进行计算,得到第二坐标。
其中,可选的,历史导航数据包括历史导航路径和历史目的坐标,目标导航数据包括目标导航路径和目标目的坐标;根据第二坐标对跟随设备的历史导航数据进行更新,得到目标导航数据,包括:将第二坐标作为新的路径点对历史导航路径进行更新,得到目标导航路径;计算第二坐标和历史目标坐标之间的距离,得到距离差值;若距离差值大于差值阈值,则基于第二坐标确定目标目的坐标;若距离差值小于或者等于差值阈值,则将历史目的坐标确定为目标目的坐标。
步骤C3,跟随移动,包括:根据目标导航路径和目标目的坐标,生成跟随设备对应的移动指令;根据跟随设备获取的环境点云数据进行局部路径规划,得到跟随设备对应的躲避指令;基于移动指令和躲避指令控制跟随设备移动。
步骤C4,若连续预设时长检测不到跟随目标,则生成目标丢失指令。
步骤C5,响应于目标丢失指令,执行自动搜索,包括:基于第二坐标确定搜索中心坐标;根据搜索中心坐标将预设大小的区域确定为第一搜索区域;控制跟随设备按照广度优先搜索的方式遍历第一搜索区域,持续执行对获取的搜索图像进行特征匹配处理的过程,直至第一匹配结果指示第一搜索区域中存在跟随目标,或者,遍历结束;若第一匹配结果指示第一搜索区域中存在跟随目标,则获取跟随目标对应的目标检测框。
步骤C6,在执行响应于目标丢失指令的过程中,可以通过唤醒词辅助的方式进行自动搜索,包括:在执行响应于目标丢失指令的过程中,若检测到包括目标唤醒词的语音数据,则对语音数据进行声源定位处理,确定第二搜索方向;控制跟随设备转向第二搜索方向,并基于第二搜索方向和第一坐标,确定为第二搜索区域;控制跟随设备按照广度优先搜索的方式遍历第二搜索区域,持续执行对获取的搜索图像进行特征匹配处理的过程,直至特征匹配结果指示第二搜索区域中存在跟随目标,或者,遍历结束;若第二匹配结果指示第二搜索区域中存在跟随目标,则获取跟随目标对应的目标检测框。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的目标跟随方法的目标跟随装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个目标跟随装置实施例中的具体限定可以参见上文中对于目标跟随方法的限定,在此不再赘述。
在一个实施例中,如图11所示,提供了一种目标跟随装置,用于可移动的跟随设备,包括:目标检测模块1102、坐标确定模块1104和导航控制模块1106,其中:
目标检测模块1102,用于对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框;
坐标确定模块1104,用于根据目标检测框以及跟随设备对应的第一坐标,得到跟随目标的第二坐标;
导航控制模块1106,用于根据第二坐标对跟随设备的历史导航数据进行更新,得到目标导航数据,并基于目标导航数据控制跟随设备移动。
在一个实施例中,目标检测模块1102用于对目标图像进行目标检测处理,得到候选目标对应的候选检测框和候选特征,基于包括样本特征以及样本特征对应的样本标识的样本特征库,对候选特征进行匹配处理,得到候选特征对应的候选标识,若候选标识与跟随目标的目标标识相同,则将候选目标对应的候选检测框作为目标检测框。
在一个实施例中,目标跟随装置还包括跟随启动模块,其中,跟随启动模块用于持续对跟随设备获取的环境图像进行特征匹配处理,得到待启动标识,针对待启动标识,检测是否连续预设时长得到待启动标识,若连续预设时长得到待启动标识,则获取待启动标识对应的人脸角度,若人脸角度属于预设角度区间,则将待启动标识作为目标标识。
在一个实施例中,目标跟随装置还包括跟随启动模块,其中,跟随启动模块用于若检测到包括目标唤醒词的语音数据,则对语音数据进行声源定位处理,确定待启动方向,对语音数据进行语音识别处理,得到语音数据对应的使用意图,获取待启动方向对应的环境图像,并对环境图像进行目标检测处理,得到待启动检测结果,若待启动检测结果指示环境图像中包括至少一个待启动目标,且使用意图为预设跟随意图,则基于待启动目标对应的待启动标识确定目标标识。
在一个实施例中,跟随启动模块具体用于持续对跟随设备获取的环境图像进行特征提取处理,得到待启动特征;将样本特征库中的多个样本特征中与待启动特征匹配成功的样本特征对应的样本标识作为待启动标识;若待启动特征与样本特征库中的样本特征均匹配失败,则为待启动特征生成待启动标识,并将待启动标识作为样本标识且将待启动特征作为样本特征存储至样本特征库。
在一个实施例中,坐标确定模块1104具体用于根据目标检测框和预设的标定框的进行深度估计处理,得到跟随目标与跟随设备之间目标距离,根据目标检测框与目标图像的图像中心点进行偏转角度计算处理,得到跟随目标与跟随设备之间的目标角度,根据目标距离、目标角度以及第一坐标进行计算,得到第二坐标。
在一个实施例中,历史导航数据包括历史导航路径和历史目的坐标,目标导航数据包括目标导航路径和目标目的坐标;导航控制模块1106具体用于将第二坐标作为新的路径点对历史导航路径进行更新,得到目标导航路径,计算第二坐标和历史目标坐标之间的距离,得到距离差值,若距离差值大于差值阈值,则基于第二坐标确定目标目的坐标,若距离差值小于或者等于差值阈值,则将历史目的坐标确定为目标目的坐标。
在一个实施例中,导航控制模块1106具体用于根据目标导航数据,生成跟随设备对应的移动指令;根据跟随设备获取的环境点云数据进行局部路径规划,得到跟随设备对应的躲避指令;基于移动指令和躲避指令控制跟随设备移动。
在一个实施例中,目标跟随装置还包括丢失搜索模块,其中,丢失搜索模块用于若连续预设时长检测不到跟随目标,则生成目标丢失指令。
在一个实施例中,丢失搜索模块还用于响应于目标丢失指令,基于第二坐标确定搜索中心坐标,根据搜索中心坐标将预设大小的区域确定为第一搜索区域,控制跟随设备按照广度优先搜索的方式遍历第一搜索区域,持续执行对获取的搜索图像进行特征匹配处理的过程,直至第一匹配结果指示第一搜索区域中存在跟随目标,或者,遍历结束,若第一匹配结果指示第一搜索区域中存在跟随目标,则获取跟随目标对应的目标检测框。
在一个实施例中,丢失搜索模块还用于在执行响应于目标丢失指令的过程中,若检测到包括目标唤醒词的语音数据,则对语音数据进行声源定位处理,确定第二搜索方向,控制跟随设备转向第二搜索方向,并基于第二搜索方向和第一坐标,确定为第二搜索区域,控制跟随设备按照广度优先搜索的方式遍历第二搜索区域,持续执行对获取的搜索图像进行特征匹配处理的过程,直至特征匹配结果指示第二搜索区域中存在跟随目标,或者,遍历结束,若第二匹配结果指示第二搜索区域中存在跟随目标,则获取跟随目标对应的目标检测框。
上述目标跟随装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供一种可移动的跟随设备,该设备包括图像获取装置、语音获取装置、激光雷达传感器和目标跟随装置,其中,目标跟随装置用于实现上述实施例中提供的目标跟随方法中的各步骤。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储在执行目标跟随方法中调用的数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种目标跟随方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (15)
1.一种目标跟随方法,其特征在于,用于可移动的跟随设备,所述方法包括:
对获取的目标图像进行目标检测处理和特征匹配处理,得到所述跟随目标对应的目标检测框;
根据所述目标检测框以及所述跟随设备对应的第一坐标,得到所述跟随目标的第二坐标;
根据所述第二坐标对所述跟随设备的历史导航数据进行更新,得到目标导航数据,并基于所述目标导航数据控制所述跟随设备移动。
2.根据权利要求1所述的方法,其特征在于,所述对获取的目标图像进行目标检测处理和特征匹配处理,得到所述跟随目标对应的目标检测框,包括:
对所述目标图像进行目标检测处理,得到候选目标对应的候选检测框和候选特征;
基于包括样本特征以及所述样本特征对应的样本标识的样本特征库,对所述候选特征进行匹配处理,得到所述候选特征对应的候选标识;
若所述候选标识与所述跟随目标的目标标识相同,则将所述候选目标对应的候选检测框作为所述目标检测框。
3.根据权利要求2所述的方法,其特征在于,在所述对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框之前,所述方法还包括:
持续对所述跟随设备获取的环境图像进行特征匹配处理,得到待启动标识;
针对所述待启动标识,检测是否连续预设时长得到所述待启动标识;
若连续预设时长得到所述待启动标识,则获取所述待启动标识对应的人脸角度;
若所述人脸角度属于预设角度区间,则将所述待启动标识作为所述目标标识。
4.根据权利要求2所述的方法,其特征在于,在所述对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框之前,所述方法还包括:
若检测到包括目标唤醒词的语音数据,则对所述语音数据进行声源定位处理,确定待启动方向;
对所述语音数据进行语音识别处理,得到所述语音数据对应的使用意图;
获取所述待启动方向对应的环境图像,并对所述环境图像进行目标检测处理,得到待启动检测结果;
若所述待启动检测结果指示所述环境图像中包括至少一个待启动目标,且所述使用意图为预设跟随意图,则基于所述待启动目标对应的待启动标识确定所述目标标识。
5.根据权利要求3所述的方法,其特征在于,所述持续对所述跟随设备获取的环境图像进行特征匹配处理,得到待启动标识,包括:
持续对所述跟随设备获取的环境图像进行特征提取处理,得到待启动特征;
将所述样本特征库中的多个样本特征中与所述待启动特征匹配成功的样本特征对应的样本标识作为所述待启动标识;
若所述待启动特征与所述样本特征库中的所述样本特征均匹配失败,则为所述待启动特征生成所述待启动标识,并将所述待启动标识作为样本标识且将所述待启动特征作为样本特征存储至所述样本特征库。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标检测框以及所述跟随设备对应的第一坐标,得到所述跟随目标的第二坐标,包括:
根据所述目标检测框和预设的标定框的进行深度估计处理,得到所述跟随目标与所述跟随设备之间目标距离;
根据所述目标检测框与所述目标图像的图像中心点进行偏转角度计算处理,得到所述跟随目标与所述跟随设备之间的目标角度;
根据所述目标距离、所述目标角度以及所述第一坐标进行计算,得到所述第二坐标。
7.根据权利要求1所述的方法,其特征在于,所述历史导航数据包括历史导航路径和历史目的坐标,所述目标导航数据包括目标导航路径和目标目的坐标;所述根据所述第二坐标对所述跟随设备的历史导航数据进行更新,得到目标导航数据,包括:
将所述第二坐标作为新的路径点对所述历史导航路径进行更新,得到所述目标导航路径;
计算所述第二坐标和所述历史目标坐标之间的距离,得到距离差值;
若所述距离差值大于差值阈值,则基于所述第二坐标确定所述目标目的坐标;
若所述距离差值小于或者等于差值阈值,则将所述历史目的坐标确定为所述目标目的坐标。
8.根据权利要求7所述的方法,其特征在于,所述基于所述目标导航数据控制所述跟随设备移动,包括:
根据所述目标导航数据,生成所述跟随设备对应的移动指令;
根据所述跟随设备获取的环境点云数据进行局部路径规划,得到所述跟随设备对应的躲避指令;
基于所述移动指令和所述躲避指令控制所述跟随设备移动。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若连续预设时长检测不到所述跟随目标,则生成目标丢失指令。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
响应于所述目标丢失指令,基于所述第二坐标确定搜索中心坐标;
根据所述搜索中心坐标将预设大小的区域确定为第一搜索区域;
控制所述跟随设备遍历所述第一搜索区域,持续执行对获取的搜索图像进行特征匹配处理的过程,直至第一匹配结果指示所述第一搜索区域中存在所述跟随目标,或者,遍历结束;
若所述第一匹配结果指示所述第一搜索区域中存在所述跟随目标,则获取所述跟随目标对应的目标检测框。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
在执行所述响应于目标丢失指令的过程中,若检测到包括目标唤醒词的语音数据,则对所述语音数据进行声源定位处理,确定第二搜索方向;
控制所述跟随设备转向所述第二搜索方向,并基于所述第二搜索方向和所述第一坐标,确定为第二搜索区域;
控制所述跟随设备遍历所述第二搜索区域,持续执行对获取的搜索图像进行特征匹配处理的过程,直至第二匹配结果指示所述第二搜索区域中存在所述跟随目标,或者,遍历结束;
若所述第二匹配结果指示所述第二搜索区域中存在所述跟随目标,则获取所述跟随目标对应的目标检测框。
12.一种目标跟随装置,其特征在于,用于可移动的跟随设备,所述装置包括:
目标检测模块,用于对获取的目标图像进行目标检测处理和特征匹配处理,得到跟随目标对应的目标检测框;
坐标确定模块,用于根据所述目标检测框以及所述跟随设备对应的第一坐标,得到所述跟随目标的第二坐标;
导航控制模块,用于根据所述第二坐标对所述跟随设备的历史导航数据进行更新,得到目标导航数据,并基于所述目标导航数据控制所述跟随设备移动。
13.一种可移动的跟随设备,其特征在于,所述设备包括图像获取装置、语音获取装置、激光雷达传感器和目标跟随装置;
所述目标跟随装置用于实现权利要求1至11中任一项所述的方法的步骤。
14.一种可移动的跟随设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311067878.2A CN117103259A (zh) | 2023-08-22 | 2023-08-22 | 目标跟随方法、装置、可移动的跟随设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311067878.2A CN117103259A (zh) | 2023-08-22 | 2023-08-22 | 目标跟随方法、装置、可移动的跟随设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117103259A true CN117103259A (zh) | 2023-11-24 |
Family
ID=88808654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311067878.2A Pending CN117103259A (zh) | 2023-08-22 | 2023-08-22 | 目标跟随方法、装置、可移动的跟随设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117103259A (zh) |
-
2023
- 2023-08-22 CN CN202311067878.2A patent/CN117103259A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11270148B2 (en) | Visual SLAM method and apparatus based on point and line features | |
CN109186606B (zh) | 一种基于slam和图像信息的机器人构图及导航方法 | |
CN113485375B (zh) | 一种基于启发式偏置采样的室内环境机器人探索方法 | |
Wang et al. | Pointloc: Deep pose regressor for lidar point cloud localization | |
CN111094895B (zh) | 用于在预构建的视觉地图中进行鲁棒自重新定位的系统和方法 | |
Meng et al. | Efficient and reliable LiDAR-based global localization of mobile robots using multiscale/resolution maps | |
US10902610B2 (en) | Moving object controller, landmark, and moving object control method | |
CN111679664A (zh) | 基于深度相机的三维地图构建方法及扫地机器人 | |
CN114998276A (zh) | 一种基于三维点云的机器人动态障碍物实时检测方法 | |
CN115063550B (zh) | 一种语义点云地图构建方法、系统及智能机器人 | |
Lu et al. | SLAM estimation in dynamic outdoor environments: A review | |
Donoso-Aguirre et al. | Mobile robot localization using the Hausdorff distance | |
Ali et al. | A life-long SLAM approach using adaptable local maps based on rasterized LIDAR images | |
Choi et al. | Metric SLAM in home environment with visual objects and sonar features | |
CN117103259A (zh) | 目标跟随方法、装置、可移动的跟随设备和存储介质 | |
WO2022237210A1 (zh) | 障碍物信息生成 | |
Spampinato et al. | Deep learning localization with 2D range scanner | |
CN113570713B (zh) | 一种面向动态环境的语义地图构建方法及装置 | |
CN114740867A (zh) | 基于双目视觉的智能避障方法、装置、机器人及介质 | |
CN114972491A (zh) | 视觉slam方法、电子设备、存储介质及产品 | |
Vokhmintcev et al. | Real-time visual loop-closure detection using fused iterative close point algorithm and extended Kalman filter | |
Baligh Jahromi et al. | Layout slam with model based loop closure for 3d indoor corridor reconstruction | |
Li et al. | Efficient Loop Closure Detection Method for Lidar SLAM in Challenging Environment | |
Inostroza et al. | Semantic feature detection statistics in set based simultaneous localization and mapping | |
CN114219832B (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 |