CN115249318A - 交互方法、装置、存储介质及程序产品 - Google Patents

交互方法、装置、存储介质及程序产品 Download PDF

Info

Publication number
CN115249318A
CN115249318A CN202110458240.6A CN202110458240A CN115249318A CN 115249318 A CN115249318 A CN 115249318A CN 202110458240 A CN202110458240 A CN 202110458240A CN 115249318 A CN115249318 A CN 115249318A
Authority
CN
China
Prior art keywords
instruction
sensing data
inertial sensing
classification result
coordinate system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110458240.6A
Other languages
English (en)
Inventor
潘邵武
许翔
万柯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110458240.6A priority Critical patent/CN115249318A/zh
Publication of CN115249318A publication Critical patent/CN115249318A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请涉及一种交互方法、装置、存储介质及程序产品,所述方法包括:采集当前图像帧数据;检测当前图像帧数据中目标部位的位置信息以及姿态信息;在姿态信息满足与第一设备进行交互的条件的情况下,根据检测到的位置信息,使用包含至少一个参数或至少一组参数的跟踪算法,跟踪目标部位;获取根据至少一个第二设备采集的惯性传感数据确定的第一指令或第二指令;响应于第一指令,更新跟踪算法的参数中的全部或部分,或者响应于第二指令,以最近一次采集的图像帧数据作为当前图像帧数据,重新检测当前图像帧数据中目标部位的位置信息以及姿态信息。根据本申请实施例的交互方法,能够平衡交互准确率、实时性、自然性、和鲁棒性。

Description

交互方法、装置、存储介质及程序产品
技术领域
本申请涉及人工智能领域,尤其涉及一种交互方法、装置、存储介质及程序产品。
背景技术
随着人工智能(artificial intelligence,AI)技术的快速发展,人机交互(human-computer interaction,HCI)的应用场景越来越多,其中,非接触式的人机交互技术因其在提高用户的操作便捷性方面效果明显而受到关注。
空中鼠标(air mouse),简称空鼠,是一种非接触式的人机交互技术。其通过识别用户手部或手臂的移动,无需直接操纵鼠标或键盘,即可隔空控制受控终端设备(即用户的交互对象)上的光标同步移动。进一步地,空中鼠标还可通过识别用户特定手势操作,控制受控终端设备上的光标执行点击、框选等操作。空鼠将传统的握持式鼠标操纵方式,转变为更自然便捷的手势交互操纵方式,在虚拟现实(virtual reality,VR)、增强现实(augmentreality,AR)、游戏、教育等领域具有重要应用价值,对实现智慧屏、个人计算机等终端设备自然交互具有重要意义。
通常,用户对于空鼠的使用体验,与空鼠操纵方式的自然性、空鼠识别用户手势的准确率、实时性,以及空鼠的鲁棒性等相关联。因此,如何平衡空鼠交互的自然性、准确率、实时性、鲁棒性,提高用户体验,是人工智能行业较为关心的问题。
发明内容
有鉴于此,提出了一种交互方法、装置、存储介质及程序产品,以平衡交互的自然性、准确率、实时性、和鲁棒性。
第一方面,本申请的实施例提供了一种交互方法,所述方法应用于交互系统中的第一设备,所述交互系统包括第一设备和至少一个第二设备,所述方法包括:
采集当前图像帧数据;检测所述当前图像帧数据中目标部位的位置信息以及姿态信息;在所述姿态信息满足与第一设备进行交互的条件的情况下,根据检测到的位置信息,使用包含至少一个参数或至少一组参数的跟踪算法,跟踪所述当前图像帧数据之后采集的图像帧数据中的所述目标部位;获取根据所述至少一个第二设备采集的惯性传感数据确定的第一指令或第二指令,所述第一指令和所述第二指令对应于目标部位位置和/或姿态的不同变化状态;响应于所述第一指令,更新所述跟踪算法的参数中的全部或部分,或者响应于所述第二指令,以最近一次采集的图像帧数据作为当前图像帧数据,重新检测所述当前图像帧数据中目标部位的位置信息以及姿态信息。
根据本申请实施例的交互方法,通过采集当前图像帧数据,检测当前图像帧数据中目标部位的位置信息和姿态信息,可以识别到目标部位的位置并判断姿态信息是否满足与第一设备进行交互的条件;在姿态信息满足交互条件的情况下,根据检测到的位置信息,使用包含至少一个参数或至少一组参数的跟踪算法,跟踪后续采集的图像帧数据中的目标部位,可以实现目标部位的跟踪;基于第二设备采集的惯性传感数据,获取表示目标部位位置和/或姿态的不同变化状态的第一指令和第二指令,响应于所述第一指令,更新跟踪算法的参数中的全部或部分,使得可以根据惯性传感数据的信息动态触发跟踪算法的参数更新,缓解由于用户姿态缓变引发的跟踪结果的漂移问题,提高交互准确率;响应于所述第二指令的指示,检测最近一次采集的图像帧数据中目标部位的位置信息并执行后续的操作,使得可以根据惯性传感数据的信息动态触发目标部位的重新检测,缓解用户姿态剧变引发的跟踪失败问题,提高交互准确度和鲁棒性。本申请实施例的交互方法是由指令动态触发跟踪算法的参数更新和目标部位的重新检测,相比跟踪超时或跟踪失败时进行重新检测的静态机制,使得跟踪算法的参数更新频率和目标部位的重新检测频率得以降低,在一定的运算成本条件下,可实现更高的交互帧率,交互实时性更优。本申请实施例的交互方法,通过对图像帧数据进行处理识别并跟踪目标部位,并非仅通过惯性传感数据进行目标部位的识别,使得第一设备可以针对目标部位在空间平面的运动方式作出响应,交互自然性更优。综上所述,本申请实施例的交互方法,在交互准确率、实时性、自然性、鲁棒性方面具有优势。
根据第一方面,在所述交互方法的第一种可能的实现方式中,获取根据所述至少一个第二设备采集的惯性传感数据确定的第一指令或第二指令,包括:
接收所述至少一个第二设备输出的所述惯性传感数据、所述惯性传感数据的特征向量以及三维坐标系中的惯性传感数据中的任意一个,其中,所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据根据所述第二设备采集的惯性传感数据确定,或者,接收所述至少一个第二设备输出的所述惯性传感数据,根据所述惯性传感器数据确定所述惯性传感数据的特征向量或所述三维坐标系中的惯性传感数据;根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果;根据所述分类结果与所述第一指令和所述第二指令的对应关系,得到所述第一指令或者所述第二指令。
由于惯性传感数据可以直接由第二设备采集并输出,使得第一设备可以单独完成根据惯性传感数据确定第一指令或者第二指令;由于惯性传感数据的特征向量以及三维坐标系中的惯性传感数据可以由第二设备输出,也可以由第一设备确定,且均为根据第二设备采集的惯性传感数据确定的,使得第二设备可以和第一设备合作完成根据惯性传感数据确定第一指令或者第二指令。通过这种方式,使得第一设备和第二设备之间可以通过交换多种方式的数据,实现第一设备获取第一指令或第二指令,提高交互系统设置的灵活性。并且根据惯性传感数据、惯性传感数据的特征向量以及三维坐标系中的惯性传感数据中的任意一个确定分类结果时,第一设备和第二设备之间的数据传输成本、以及第一设备的数据运算成本并不相同,实际应用中可以根据需求,为第一设备选择合适的设置方式,以实现成本更优的交互方法。
根据第一方面,在所述交互方法的第二种可能的实现方式中,获取根据所述至少一个第二设备采集的惯性传感数据确定的第一指令或第二指令,包括:
获取来自所述至少一个第二设备的第一指令或第二指令,其中,所述第二设备根据所述惯性传感数据、所述惯性传感数据的特征向量以及三维坐标系中的惯性传感数据中的任意一个,确定分类结果,根据所述分类结果与所述第一指令和所述第二指令的对应关系,得到所述第一指令或者所述第二指令,其中,所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据根据所述第二设备采集的惯性传感数据确定。
通过这种方式,可以降低第一设备进行数据处理的成本,提升第一设备进行数据处理的效率。
根据第一方面的第一种可能的实现方式或第二种可能的实现方式,在所述交互方法的第三种可能的实现方式中,根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果,包括:
使用分类模型对所述惯性传感数据或者所述惯性传感数据的特征向量进行处理,确定所述分类结果。
使用分类模型对第一设备接收到的惯性传感数据处理确定分类结果,可使得根据惯性传感数据确定第一指令或第二指令更便捷,效率更高。
根据第一方面的第一种可能的实现方式或第二种可能的实现方式,在所述交互方法的第四种可能的实现方式中,根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果,包括:
使用系数获取模型对所述惯性传感数据进行处理,得到权重系数或权重系数向量;根据所述权重系数与阈值的关系,或权重系数向量中全部或部分元素与阈值的关系,确定所述分类结果。
根据所述权重系数与阈值的关系,或权重系数向量中全部或部分元素与阈值的关系,确定所述分类结果,使得分类结果的确定方式更具灵活性,针对性更强。
根据第一方面的第一种可能的实现方式或第二种可能的实现方式,在所述交互方法的第五种可能的实现方式中,根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果,包括:
使用预设规则库对所述三维坐标系中的惯性传感数据进行处理,确定所述三维坐标系中的惯性传感数据满足的预设规则;根据所述三维坐标系中的惯性传感数据满足的预设规则,确定所述分类结果。
三维坐标系中的惯性传感数据能够反映三维空间中的运动状态,根据所述三维坐标系中的惯性传感数据满足的预设规则,确定所述分类结果,使得分类结果更匹配目标部位在三维空间中的运动状态。
根据第一方面的第四种可能的实现方式,在所述交互方法的第六种可能的实现方式中,所述分类结果根据所述权重系数确定时,响应于所述第一指令,更新所述跟踪算法的参数中的全部或部分,包括:
在根据所述权重系数确定的分类结果对应于第一指令时,根据所述权重系数,更新所述跟踪算法的参数中的全部或部分。
由于权重系数是根据第二设备采集的惯性传感数据确定的,使得权重系数用于跟踪算法的参数更新时,相比现有技术的跟踪算法的参数更新方式,与当前应用场景更加匹配,通过这种方式,可以提升基于更新后的跟踪算法的参数进行目标跟踪的准确度。
根据第一方面的第四种可能的实现方式,在所述交互方法的第七种可能的实现方式中,所述权重系数向量中的每个元素分别对应跟踪算法中的一个参数或一组参数,每个元素分别确定一个分类结果,在所述分类结果根据所述权重系数向量确定时,响应于所述第一指令,更新所述跟踪算法的参数中的全部或部分,包括:
在根据权重系数向量中的至少一个元素确定的分类结果对应于第一指令时,根据所述至少一个元素,更新所述跟踪算法中,与所述至少一个元素对应的至少一个参数或至少一组参数。
由于权重系数向量是根据第二设备采集的惯性传感数据确定的,使得权重系数向量用于跟踪算法的参数更新时,相比现有技术的跟踪算法的参数更新方式,与当前应用场景更加匹配,且跟踪算法的多个或多组参数可以根据权重系数向量的每个元素的分类结果对应更新,使得跟踪算法的参数可以有选择地更新,进一步提高由基于更新后的跟踪算法的参数进行目标跟踪的准确度。
根据第一方面的第一种到第七种可能的实现方式中的任意一种可能的实现方式,在所述交互方法的第八种可能的实现方式中,所述三维坐标系中的惯性传感数据至少包括空间三维坐标系中的姿态角、平移距离、平移速度、平移加速度、角速度、角加速度中的一种或多种。
通过这种方式,使得规则库的设置方式更灵活。
根据第一方面,以及以上第一方面的任意一种可能的实现方式,在所述交互方法的第九种可能的实现方式中,所述第一指令对应的目标部位的位置和/或姿态的变化幅度小于所述第二指令对应的目标部位的位置和/或姿态的变化幅度。
这样,使得第一指令可以用于在目标部位的位置和/或姿态的变化幅度较小时,指示第一设备可以继续执行数据处理成本较低的跟踪算法,第二指令可以用于在目标部位的位置和/或姿态的变化幅度较大时,指示第一设备可以执行数据处理成本较高的检测算法,实现跟踪算法和检测算法的动态切换,在节省数据处理成本的同时,保证跟踪的准确度。
根据第一方面,以及以上第一方面的任意一种可能的实现方式,在所述交互方法的第十种可能的实现方式中,所述第二设备包括可穿戴设备。
使用可穿戴设备进行惯性传感数据采集,便于用户携带,可以提升用户的使用体验。
第二方面,本申请的实施例提供了一种交互装置,所述装置应用于交互系统中的第一设备,所述交互系统包括第一设备和至少一个第二设备,所述装置包括:
采集模块,用于采集当前图像帧数据;
检测模块,用于检测所述当前图像帧数据中目标部位的位置信息以及姿态信息;
跟踪模块,用于在所述姿态信息满足与第一设备进行交互的条件的情况下,根据检测到的位置信息,使用包含至少一个参数或至少一组参数的跟踪算法,跟踪所述当前图像帧数据之后采集的图像帧数据中的所述目标部位;
获取模块,用于获取根据所述至少一个第二设备采集的惯性传感数据确定的第一指令或第二指令,所述第一指令和所述第二指令对应于目标部位位置和/或姿态的不同变化状态;
响应模块,用于响应于所述第一指令,更新所述跟踪算法的参数中的全部或部分,或者响应于所述第二指令,以最近一次采集的图像帧数据作为当前图像帧数据,重新检测所述当前图像帧数据中目标部位的位置信息以及姿态信息。
根据第二方面,在所述交互装置的第一种可能的实现方式中,所述获取模块包括:
第一获取子模块,用于接收所述至少一个第二设备输出的所述惯性传感数据、所述惯性传感数据的特征向量以及三维坐标系中的惯性传感数据中的任意一个,其中,所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据根据所述第二设备采集的惯性传感数据确定,或者,第二获取子模块,用于接收所述至少一个第二设备输出的所述惯性传感数据,根据所述惯性传感器数据确定所述惯性传感数据的特征向量或所述三维坐标系中的惯性传感数据;
第三获取子模块,用于根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果;
第四获取子模块,根据所述分类结果与所述第一指令和所述第二指令的对应关系,得到所述第一指令或者所述第二指令。
根据第二方面,在所述交互装置的第二种可能的实现方式中,所述获取模块包括:
第五获取子模块,用于获取来自所述至少一个第二设备的第一指令或第二指令,
其中,所述第二设备根据所述惯性传感数据、所述惯性传感数据的特征向量以及三维坐标系中的惯性传感数据中的任意一个,确定分类结果,根据所述分类结果与所述第一指令和所述第二指令的对应关系,得到所述第一指令或者所述第二指令,
其中,所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据根据所述第二设备采集的惯性传感数据确定。
根据第二方面的第一种可能的实现方式或第二种可能的实现方式,在所述交互装置的第三种可能的实现方式中,根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果,包括:使用分类模型对所述惯性传感数据或者所述惯性传感数据的特征向量进行处理,确定所述分类结果。
根据第二方面的第一种可能的实现方式或第二种可能的实现方式,在所述交互装置的第四种可能的实现方式中,根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果,包括:使用系数获取模型对所述惯性传感数据进行处理,得到权重系数或权重系数向量;根据所述权重系数与阈值的关系,或权重系数向量中全部或部分元素与阈值的关系,确定所述分类结果。
根据第二方面的第一种可能的实现方式或第二种可能的实现方式,在所述交互装置的第五种可能的实现方式中,根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果,包括:使用预设规则库对所述三维坐标系中的惯性传感数据进行处理,确定所述三维坐标系中的惯性传感数据满足的预设规则;根据所述三维坐标系中的惯性传感数据满足的预设规则,确定所述分类结果。
根据第二方面的第四种可能的实现方式,在所述交互装置的第六种可能的实现方式中,所述分类结果根据所述权重系数确定时,所述响应模块包括:
第一响应子模块,用于在根据所述权重系数确定的分类结果对应于第一指令时,根据所述权重系数,更新所述跟踪算法的参数中的全部或部分。
根据第二方面的第四种可能的实现方式,在所述交互装置的第七种可能的实现方式中,所述权重系数向量中的每个元素分别对应跟踪算法中的一个参数或一组参数,每个元素分别确定一个分类结果,在所述分类结果根据所述权重系数向量确定时,所述响应模块包括:
第二响应子模块,用于在根据权重系数向量中的至少一个元素确定的分类结果对应于第一指令时,根据所述至少一个元素,更新所述跟踪算法中,与所述至少一个元素对应的至少一个参数或至少一组参数。
根据第二方面的第一种到第七种可能的实现方式中的任意一种可能的实现方式,在所述交互装置的第八种可能的实现方式中,所述三维坐标系中的惯性传感数据至少包括空间三维坐标系中的姿态角、平移距离、平移速度、平移加速度、角速度、角加速度中的一种或多种。
根据第二方面,以及以上第二方面的任意一种可能的实现方式,在所述交互装置的第九种可能的实现方式中,所述第一指令对应的目标部位的位置和/或姿态的变化幅度小于所述第二指令对应的目标部位的位置和/或姿态的变化幅度。
根据第二方面,以及以上第二方面的任意一种可能的实现方式,在所述交互装置的第十种可能的实现方式中,所述第二设备包括可穿戴设备。
第三方面,本申请的实施例提供了一种交互装置,包括:
处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述第一方面或第一方面的多种可能的实现方式中的一种或几种的交互方法。
第四方面,本申请实施例提供一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述第一方面或第一方面的多种可能的实现方式中的一种或几种的交互方法。
第五方面,本申请的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的交互方法。
本申请的这些和其他方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。
图1a示出现有技术的空中鼠标的发射端的结构示意图。
图1b示出现有技术的空中鼠标的接收端的结构示意图。
图2示出现有技术的基于计算机视觉的手势检测和手势跟踪的空鼠方案的流程示意图。
图3示出现有技术的基于计算机视觉和惯性测量单元融合的定位跟踪方案的流程示意图。
图4示出根据本申请实施例的交互方法的一个示例性应用场景。
图5a示出根据本申请实施例的交互方法的示例性示意图。
图5b示出根据本申请实施例的交互方法实现部位检测和部位跟踪的示例性示意图。
图5c示出根据本申请实施例的交互方法的跟踪算法的一种工作方式的示例性示意图。
图5d示出根据本申请实施例的交互方法的跟踪算法的另一种工作方式的示例性示意图。
图5e示出根据本申请实施例的第一指令或第二指令的获取流程的示例性示意图。
图5f示出根据本申请实施例的分类模型的示例性示意图。
图5g示出根据本申请实施例的基于系数获取模型确定分类结果的示例性示意图。
图5h示出根据本申请实施例的系数获取模型的示例性示意图。
图5i示出根据本申请实施例的基于预设规则库确定分类结果的示例性示意图。
图5j示出根据本申请实施例建立的空间三维坐标系的示例性示意图。
图6示出根据本申请实施例的交互装置的示例性结构示意图。
图7示出根据本申请实施例的交互装置100的示例性结构示意图。
图8示出根据本申请实施例的交互装置200的示例性结构示意图。
具体实施方式
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
现有的主流空鼠技术方案有基于惯性测量单元(inertial measurement unit,IMU)的空鼠技术方案、基于计算机视觉(computer vision,CV)的空鼠技术方案,以及基于三维成像技术的空鼠技术方案三种。
惯性测量单元是一种利用惯性传感原理测量物体姿态角(或角速度)和加速度的装置,通常包括三轴陀螺仪、一组三个正交方向的加速度计,一个三个正交方向的电子罗盘等传感器。惯性测量单元被广泛应用于机器人、车辆、飞行器、智能终端等需要进行运动控制、位移推算、姿态感知的装备内。基于惯性测量单元的空鼠技术方案,通过用户携带或穿戴的智能终端设备(如遥控器、手机等)中内置的惯性测量单元,检测用户手部或手臂在三维空间内运动的加速度和/或角速度,得到惯性传感数据。然后,该智能终端设备利用姿态解算算法和传感器融合算法处理惯性传感数据,解算用户手部或手臂在三维空间内的姿态角(包括俯仰角、偏航角、翻滚角等3组角度),得到姿态角数据。最后,将姿态角数据映射为受控终端设备的光标操作或光标移动的参数。该方案由于惯性传感数据的累积误差问题,在持续测量场景下,姿态角数据会出现漂移,因此光标操作的准确度受场景限制。且该方案通常仅可准确测算用户手部或手臂的姿态角,而无法准确测算其空间三维位置坐标,用户在使用空鼠进行交互的过程中,必须通过改变手部或手臂的姿态控制光标移动,而非通过移动手部或手臂直接“拖拽”光标移动,限定了手部或手臂的运动自由度。其操控方式不符合用户日常习惯,交互体验的自然性不足。
基于计算机视觉的空鼠技术方案,通过在受控终端设备上搭载相机,或在受控终端设备的使用环境中预先部署相机,采集包括用户手部或手臂的相关信息的图像或视频流。然后,利用受控终端设备的计算机视觉算法,对视频流进行处理,检测用户手部或手臂在三维空间内的姿态、位置、手势等数据信息,进而将检测到的数据信息映射为受控终端设备的光标操作参数。该方案涉及大量图像/视频数据的处理,需采用多个计算机视觉算法组合完成检测识别任务,且受限于交互的实时性,该方案无法使用云计算资源执行上述对图像/视频流进行处理的任务,因此对受控终端设备的运算能力要求较高,方案的普适性不足。此外,为平衡处理效率,该方案通常需选用轻量级计算机视觉算法,其鲁棒性相对有限,在暗光、远距、复杂背景、快速移动等使用场景下会出现不同程度的检测识别准确率退化,例如用户手部或手臂姿态缓变易引发手部或手臂位置、姿态、手势的检测结果漂移,用户手部或手臂姿态剧变易引发手部或手臂位置、姿态、手势难以检测识别,用户体验效果受限。
基于三维成像技术的空鼠技术方案,通过在受控终端设备搭载飞行时间(time-of-flight,TOF)成像设备、结构光、双目相机等三维成像设备,或在受控终端设备的使用环境中预先部署飞行时间成像设备、结构光、双目相机等三维成像设备,采集包括用户手部或手臂的相关信息的三维视频流或点云数据。然后,利用计算机视觉算法或点云数据处理算法,检测用户手部或手臂在三维空间内的姿态、位置、和/或手势等数据信息,进而将检测到的数据信息映射为受控终端设备的光标操作参数。该方案中,三维视频流或点云数据的处理运算量巨大,且三维成像设备硬件成本较高,该方案的普适性不足。
因此,现有的主流空鼠技术方案在交互自然性、识别准确率、系统普适性/成本等方面分别存在局限性,约束了空鼠的发展应用。
为了进一步优化主流空鼠技术方案存在的问题,现有技术一提出了一种嵌入手表的空中鼠标,其由发射端(智能手表)和接收端(受控终端设备)组成。如图1a所示,发射端包括2.4GHz无线发射模块、陀螺仪、压力传感器、第一处理器、第一供电电路,发射端采用陀螺仪测量用户手臂挥舞方向和速度等数据信息,采用压力传感器感知用户手腕握紧操作,并分别将其映射为光标移动和光标操作。如图1b所示,接收端包括2.4GHz无线接收模块、第二处理器、第二供电电路以及USB接口,发射端和接收端之间通过2.4GHz无线发射模块和2.4GHz无线接收模块进行跨设备数据交互。
现有技术一将通常嵌入在遥控器或手柄内的空鼠装置,转为嵌入在智能手表内,以允许用户徒手进行空手交互操控。但是,该技术方案未解决交互自然性不足的问题,且由于传感器的运动测量位置由手心握持变为手腕佩戴,手腕相比手心运动位置变化方式较为单一,用户操控过程中的动作幅度在一定程度上需要增强,进一步放大了交互自然性不足的问题。
现有技术二提出一种基于计算机视觉的手势检测和手势跟踪的空鼠方案。如图2所示,其工作过程如下:
利用受控终端设备所搭载的摄像头,采集手势交互图像/视频;采用基于深度学习的目标手部检测器,检测图像/视频内是否有目标手势;如检测到目标手势,则创建并启动手部跟踪器,使用跟踪算法定位图像/视频内手部位置;手部跟踪器一经启动即以手部检测器定位的手部位置对应的参数开始手部位置跟踪;若手部跟踪器跟踪失败,则重新启动并调用手部检测器,检测并定位图像/视频内的目标手势;若手部跟踪器持续运行时间超过预设阈值,则在完成当前图像/视频帧处理后,重新启动并调用手部检测器,检测并定位图像/视频内的目标手势。
现有技术二通过手部检测器和手部跟踪器的互补协同,部分规避了基于计算机视觉的空鼠技术方案的缺陷。即,可以根据场景需求,切换使用手部检测器和手部跟踪器:在常规使用场景下,采用轻量手部跟踪器定位用户手部位置,确保交互流畅性和降低系统运算量需求;在起始状态或恶劣环境场景下,采用高精度手部检测器定位用户手部位置,确保系统环境适应性和鲁棒性;使用手部检测器输出的数据信息周期性地校准手部跟踪器的跟踪算法的参数,规避手部跟踪器普遍存在的误差累积和易受干扰问题。然而,该技术方案仍然以摄像头为单一传感数据源,受限于可见光成像原理,其在暗光、远距使用场景下,存在失效风险,空鼠的鲁棒性仍未能改善。同时,该技术方案采用周期性重启手部检测器的静态机制,系统适应性存在局限性:在调用手部检测器频率较低/周期较长时,空鼠准确率和实时性也较低,规避误差累积的效果较差;空鼠准确率和实时性满足要求时,系统运算量又大幅增加,因此现有技术二的技术方案仍未解决空鼠准确率、实时性与鲁棒性的平衡问题。
现有技术三提出一种基于计算机视觉和惯性测量单元融合的定位跟踪方案,如图3所示,其工作过程如下:
初始化视觉系统,视觉系统用于采集图像/视频进行基于计算机视觉的定位;惯性传感数据稳定后,建立惯性测量单元到导航坐标系、视觉坐标系的姿态转移矩阵,初始化惯性测量单元,惯性传感单元用于进行基于惯性传感单元的定位;视觉系统获取视觉定位结果,惯性测量单元获取惯性测量单元定位结果;视觉系统根据视觉定位结果进行视觉跟踪;在视觉跟踪正常且视觉定位时间与惯性测量单元定位时间一致的情况下,依据视觉定位结果对惯性测量单元定位结果进行校正;在视觉跟踪异常的情况下,利用惯性测量单元定位结果辅助视觉系统完成视觉定位。
现有技术三通过建立视觉定位系统和惯性测量单元间的数据关联,分情况进行二者间的相互校准,从而在一定程度上规避视觉跟踪异常场景和惯性测量单元定位/定姿精度问题,提升动态跟踪定位的准确率。理论上,上述相互校准过程是针对同一时刻采集的图像/视频数据和惯性传感数据进行的,要求视觉定位结果与惯性测量单元定位结果的定位时间严格同步,因此,现有技术三适合在视觉系统和惯性测量单元部署于同一终端设备的场景下使用。然而,空鼠交互场景中,惯性测量单元需部署于用户躯体(例如手臂),而视觉系统因需要采集包括用户手臂的图像/视频流,通常部署于用户所处环境中,二者不能部署于同一终端设备,因此,视觉系统与惯性测量单元之间如要实现严格的时钟和数据同步,工程实现难度高,硬件成本将大大增加。且现有技术三是基于静态机制的定位跟踪技术,受静态机制限制,即使在提高硬件成本的条件下,将现有技术三应用于空鼠,其交互准确率的提升效果也有限,交互效果不佳。
为了解决上述技术问题,本申请提供了一种交互方法,本申请实施例的交互方法能够解决空鼠交互过程中的准确率、实时性、自然性、鲁棒性方面存在的问题,通过跨终端融合多种模态的传感器数据,使得交互准确率、实时性、自然性、鲁棒性均得到提升。
下面结合图4介绍本申请实施例的交互方法的示例性应用场景。
如图4所示,在一个示例性的应用场景下,交互系统中可包括第一设备以及第二设备,其中第一设备可以包括受控终端设备,例如计算机、平板电脑、智能手机等终端设备,第二设备可以包括可穿戴设备,例如智能手表、手环、戒指以及手持手柄等设备。在图4的应用场景中,第一设备(受控终端设备)部署在用户所处环境中,第二设备(可穿戴设备)由用户穿戴在身上。其中,第一设备(受控终端设备)可包括至少一个摄像头,能够采集包括目标部位的图像帧数据。其中,目标部位可以是用户的身体部位,可以包括能够用于与第一设备交互的任何部位,例如手指、手掌、手臂、头部、腿等等。用户穿戴第二设备,可得到直接或间接反映目标部位位置和/或姿态的变化状态的惯性传感数据,例如用户在手腕上佩戴手环(第二设备),手环采集的惯性传感数据可以反映手掌的位置、姿态、运动速度、角速度等等。第一设备(受控终端设备)还包括显示模块,显示模块的显示界面上可显示有光标。第二设备(可穿戴设备)可包括加速度计、陀螺仪、电子罗盘等惯性测量传感器,能够采集目标部位的加速度数据、陀螺仪数据、电子罗盘数据等惯性传感数据。第一设备(受控终端设备)和第二设备(可穿戴设备)之间可通过蓝牙或路由器(图中未示出)等装置以无线通信方式进行数据交换,交换的数据可包括惯性传感数据、指令等。例如第一设备(受控终端设备)可以接收来自第二设备(可穿戴设备)的惯性传感数据,根据惯性传感数据和图像帧数据实现目标部位的识别和跟踪,或者,第一设备(受控终端设备)可以接收来自第二设备(可穿戴设备)的指令,根据指令和图像帧数据实现目标部位的识别和跟踪。第一设备可以根据识别和跟踪的身体部位的姿势、运动状态等信息,控制显示界面上的光标进行移动和框选等操作。
下面结合上述示例性的应用场景,以及图5a-5g来说明本申请实施例的交互方法的示例性工作流程。图5a示出根据本申请实施例的交互方法的示例性示意图。
如图5a所示,在一种可能的实现方式中,本申请实施例的交互方法应用于交互系统中的第一设备,所述交互系统包括第一设备和至少一个第二设备,所述方法包括:
S1,采集当前图像帧数据;
S2,检测所述当前图像帧数据中目标部位的位置信息以及姿态信息;
S3,在所述姿态信息满足与第一设备进行交互的条件的情况下,根据检测到的位置信息,使用包含至少一个参数或至少一组参数的跟踪算法,跟踪所述当前图像帧数据之后采集的图像帧数据中的所述目标部位;
S4,获取根据所述至少一个第二设备采集的惯性传感数据确定的第一指令或第二指令,所述第一指令和所述第二指令对应于目标部位位置和/或姿态的不同变化状态;
S5,响应于所述第一指令,更新所述跟踪算法的参数中的全部或部分,或者响应于所述第二指令,以最近一次采集的图像帧数据作为当前图像帧数据,重新执行S2。
根据本申请实施例的交互方法,通过采集当前图像帧数据,检测当前图像帧数据中目标部位的位置信息和姿态信息,可以识别到目标部位的位置并判断姿态信息是否满足与第一设备进行交互的条件;在姿态信息满足交互条件的情况下,根据检测到的位置信息,使用包含至少一个参数或至少一组参数的跟踪算法,跟踪后续采集的图像帧数据中的目标部位,可以实现目标部位的跟踪;基于第二设备采集的惯性传感数据,获取表示目标部位位置和/或姿态的不同变化状态的第一指令和第二指令,响应于所述第一指令,更新跟踪算法的参数中的全部或部分,使得可以根据惯性传感数据的信息动态触发跟踪算法的参数更新,缓解由于用户姿态缓变引发的跟踪结果的漂移问题,提高交互准确率;响应于所述第二指令的指示,检测最近一次采集的图像帧数据中目标部位的位置信息并执行后续的操作,使得可以根据惯性传感数据的信息动态触发目标部位的重新检测,缓解用户姿态剧变引发的跟踪失败问题,提高交互准确度和鲁棒性。本申请实施例的交互方法是由指令动态触发跟踪算法的参数更新和目标部位的重新检测,相比跟踪超时或跟踪失败时进行重新检测的静态机制,使得跟踪算法的参数更新频率和目标部位的重新检测频率得以降低,在一定的运算成本条件下,可实现更高的交互帧率,交互实时性更优。本申请实施例的交互方法,通过对图像帧数据进行处理识别并跟踪目标部位,并非仅通过惯性传感数据进行目标部位的识别,使得第一设备可以针对目标部位在空间平面的运动方式作出响应,交互自然性更优。综上所述,本申请实施例的交互方法,在交互准确率、实时性、自然性、鲁棒性方面具有优势。
其中,跟踪算法中的参数可以是标量、向量或张量,在参数是标量时,相当于跟踪算法包含至少一个参数,在参数是向量或张量时,相当于跟踪算法包含至少一组参数,向量或张量中的每个元素,可例如是一组参数中的一个参数。一组参数不限于对应一个参数向量或一个参数张量,参数分组的方式可根据需要进行设置。
其中,第二设备包括可穿戴设备。目标部位有一个时,目标部位可以是用户的手部或手臂,或者也可以是用户的其他身体部位,在此情况下,可以设置有一个第一设备(受控终端设备),第一设备(受控终端设备)可以采集到包括目标部位信息的图像帧数据,可以设置有一个第二设备(可穿戴设备),第二设备(可穿戴设备)可以采集到该身体部位的惯性传感数据;目标部位有多个时,目标部位可以是用户的左手和右手的组合,或者也可以是用户的其他身体部位组合,在此情况下,可以设置有一个第一设备(受控终端设备),使得第一设备(受控终端设备)可以采集包括多个目标部位的信息的图像帧数据,可以设置有多个第二设备(可穿戴设备),每个第二设备(可穿戴设备)可以分别采集一个目标部位的惯性传感数据。本领域技术人员应理解,只要使得通过第一设备(受控终端设备)可以采集到包括目标部位信息的图像帧数据,通过第二设备可以采集到目标部位的惯性传感数据即可,本申请对目标部位的数量、目标部位的具体选择方式以及第一设备、第二设备的设置方式不作限制。
使用可穿戴设备进行惯性传感数据采集,便于用户携带,可以提升用户的使用体验。
其中,目标部位的位置的变化状态(例如位置变化的幅度大或小),可例如和目标部位的加速度、速度等参数的变化有关,目标部位的姿态的变化状态(例如姿态变化的幅度大或小),可例如和目标部位的姿态角、角加速度、角速度等参数的变化有关,且加速度、速度、角加速度、角速度、姿态角等均可以通过对惯性传感数据进行处理得到,因此目标部位位置和/或姿态的变化在惯性传感数据中有所体现。且第一指令和第二指令是通过惯性传感数据确定,使得第一指令、第二指令可以与目标部位位置和/或姿态的变化相关联,第一设备获取到第一指令或第二指令时,能够以适合目标部位位置和/或姿态的变化状态的响应方式进行响应。其中,第一指令对应的目标部位的位置和/或姿态的变化幅度小于所述第二指令对应的目标部位的位置和/或姿态的变化幅度。这样,使得第一指令可以用于在目标部位的位置和/或姿态的变化幅度较小(不会跟踪失败)时,指示第一设备可以继续执行数据处理成本较低的跟踪算法,第二指令可以用于在目标部位的位置和/或姿态的变化幅度较大(存在跟踪失败风险)时,指示第一设备可以执行数据处理成本较高的检测算法,实现跟踪算法和检测算法的动态切换,在节省数据处理成本的同时,保证跟踪的准确度。需要说明的是,这里的变化幅度可以是一定时间内的变化幅度,即反映变化的速度,例如目标部位在一定时间内位置的变化幅度大,即目标部位处于快速移动的状态,目标部位在一定时间内姿态的变化幅度大,即目标部位处于快速变换姿态的状态,这些状态均可通过惯性传感数据来体现。第一指令相对于第二指令,可表示目标部位的位置和/或姿态出现了更快速的变化。
在一种可能的实现方式中,本申请实施例的第一设备(受控终端设备)能够独立完成基于计算机视觉的空鼠交互,即,使用第一设备(受控终端设备)检测识别目标部位(例如手掌)的位置信息,确定目标部位(例如手掌)运动状态,第一设备(受控终端设备)还可检测识别目标部位的姿态信息,确定特定的手势(例如起始手势和操作手势)或者特定的肢体姿态(例如举手、抬腿等),并根据识别结果控制显示器的光标移动和框选操作。可选地,第一设备(受控终端设备)可例如设置为能够实现现有技术二的基于计算机视觉的技术方案。下面结合图2和图5b介绍基于第一设备实现部位检测和部位跟踪的工作原理。
如图5b所示,第一设备(受控终端设备)可例如包括视觉传感模块,以目标部位为手部为例,视觉传感模块可包括手部检测器、手部关键点检测器、手势分类器、手部跟踪器等模块或算法。其中,步骤S1中,采集包括目标部位的当前图像帧数据可由摄像头完成(图中未示出);步骤S2中,检测所述当前图像帧数据中目标部位的位置信息可由手部检测器完成,还可通过手部关键点检测器、手势分类器协作完成手部姿态信息的检测。举例来说,摄像头采集到包括目标部位的图像帧数据(例如第n帧图像帧数据)后,手部检测器可接收到处理器(未示出)发出的检测指令并开始工作,检测第n帧图像帧数据(当前图像帧数据)中是否有目标部位(手掌)。在检测到手掌后,手部检测器可确定手掌图像区域在第n帧图像内的位置信息(xn,yn,wn,hn)。其中,xn和yn分别表示手掌图像区域左上角点在第n帧图像内的横坐标和纵坐标,wn和hn分别为手掌图像区域在第n帧图像内的横向长度和纵向长度,即像素数量。可选地,手部检测器可采用手掌检测模型(BlazePalm)进行检测。在确定手掌在第n帧图像内的位置信息后,手部检测器可将确定的位置信息(手部坐标)传递给手部关键点检测器和手部跟踪器。
手部关键点检测器在手部检测器确定的位置信息的基础上,检测手掌关键点(包括但不限于各指关节、腕关节、掌心等)的位置信息。可选的,手部关键点检测器可采用21关键点检测方案进行检测。在确定手掌关键点在第n帧图像内的位置信息后,手部关键点检测器可将确定的手掌关键点位置信息传递给手势分类器。
手势分类器根据手掌关键点的位置信息和手掌关键点之间的逻辑关联,对手势类型进行分类识别,并根据手势类型与光标操作方式的关系,输出指示光标完成与手势类型对应操作的指令到显示模块(图中未示出),使得显示模块可以根据指令的指示控制光标完成一次操作;同时,上述姿态信息可包括手势分类器输出的手势类型。在手势分类器识别到手势类型时,可视为姿态信息满足与第一设备进行交互的条件,在手势分类器未识别到手势类型时,可视为姿态信息不满足条件。例如,可预设若干种手势类型,这些手势类型能够控制鼠标操作(例如手指空中滑动可移动鼠标,手指空中点击可点击鼠标等),如果手势分类器输出了预设的能够控制鼠标操作的手势类型中的一种,可视为姿态信息满足与第一设备进行交互的条件。在手势分类器识别到手势类型时,可输出启动指令给手部跟踪器。该启动指令还可以用于使手部检测器暂停工作。
手部跟踪器在接收到手势分类器给出的启动指令后开始工作,步骤S3中,根据检测到的位置信息,使用包含至少一个参数或至少一组参数的跟踪算法,跟踪当前图像帧数据(第n帧图像)之后采集的图像帧数据中的目标部位可由手部跟踪器完成。手部跟踪器以手部检测器输出的第n帧图像内手部坐标为初始输入,并根据手掌图像特征信息或模型,在第n+1帧到n+k帧图像中连续定位用户手掌位置(xn+i,yn+i),i≥1且为整数。其中k,表示在第n帧图像之后、重新启动手部检测器之前采集到的图像帧的数量。其中,xn+i和yn+i分别表示手掌图像区域左上角点在第n+i帧图像内的横坐标和纵坐标,在手部跟踪器正常工作时,可认为手掌图像区域的横向长度和纵向长度在每一帧图像内保持不变。可选的,手部跟踪器可采用高效卷积算子(efficient convolution operators,ECO)跟踪算法。在此情况下,手部跟踪器可包括至少一个滤波器,跟踪算法包含的至少一个参数或至少一组参数,可例如是至少一个滤波器参数或至少一组滤波器参数。手部跟踪器可根据用户手掌在第n+1帧图像内的位置信息,输出指示光标完成与用户手掌位置信息对应的指令到显示模块(图中未示出),使得显示模块可以根据指令的指示控制光标完成第1次移动,以此类推,手部跟踪器根据用户手掌在第n+k帧图像内的位置信息,输出指示光标完成与用户手掌位置信息对应的指令到显示模块,使得显示模块可以根据指令的指示控制光标完成第k次移动。
其中,手部跟踪器所采用的跟踪算法的运算量和复杂度可设置为低于手部检测器所采用的检测算法的运算量和复杂度,在此情况下,手部跟踪器的准确率和鲁棒性通常也相对较低,不适宜长期独立执行手掌定位功能。相关技术中,通过静态机制解决该问题的流程如图2所示,手部检测器可设置为,在启动后到确定并输出用户手掌的位置信息的时间内持续工作,在输出用户手掌的位置信息且姿态信息满足条件(例如识别到手势类型)之后,手部检测器可停止工作,等待下一次检测指令到来时重新启动。在手部检测器不工作期间,手部跟踪器持续工作,直到跟踪失败(存在跟踪失败风险)或跟踪超出预设时间时,重启准确率和鲁棒性比较好的手部检测器,手部检测器可以对手掌位置进行重新检测,手势分类器可以对手势类型进行重新识别,保证光标操作准确率;手部跟踪器再基于重新检测的手掌位置信息进行跟踪,保证光标移动的准确率;从而在保证光标操作和光标移动的准确率的同时,降低第一设备(受控终端设备)的整体运算量,提高数据的处理效率。
下面结合图5c和图5d介绍采用高效卷积算子跟踪算法的手部跟踪器的示例性实现方式。由上文描述可知,手部跟踪器采用的跟踪算法,原理是根据手部检测器输出的第n帧图像内用户手掌位置信息和用户手掌的图像特征信息或模型,在第n+1帧到n+k帧图像中连续定位用户手掌位置。为了进一步提高准确率,跟踪算法可采用在线学习机制,即在对用户手掌跟踪定位的过程中,持续对手掌的图像特征信息或模型进行学习更新,以适应目标形态、距离/尺度、光照等因素的变化。以采用高效卷积算子跟踪算法的手部跟踪器为例,手部跟踪器可包括目标跟踪和在线学习/参数更新两个阶段。
其中,在手部跟踪器跟踪成功或手部跟踪器工作时间在预设时间内时,手部跟踪器可工作在目标跟踪阶段。如图5c所示,在目标跟踪阶段,以第a帧图像为例,第a帧图像可例如是滤波器完成一次参数更新后,摄像头采集到的第1帧图像,在此情况下,手部跟踪器对尚未经处理的第a帧图像(例如,尺寸为W像素×H像素),采用深度神经网络VGG-net提取图像特征,该深度神经网络可例如包含m层,分别是Layer1,Layer2,…,Layerm,则各层可分别提取并输出特征图FMap1,FMap2,…,FMapm。以跟踪算法包含的参数是标量为例,跟踪算法可包括m(m≥1)个滤波器参数Filter1,Filter2,…,Filterm,上述特征图可分别与相关滤波器Filter1,Filter2,…,Filterm进行卷积操作,分别得到尺寸为W×H的二维响应矩阵R1,R2,…,Rm。上述二维响应矩阵叠加融合,融合后的响应矩阵峰值对应的二维坐标位置,可作为手掌图像区域左上角点在第a帧图像内的横坐标xa和纵坐标ya。由此可得到第a帧图像内的手掌位置(xa,ya,wa,ha)。以此类推,直到得到第a+b帧图像内的手掌位置(xa+b,ya+b,wa+b,ha+b)。其中,b可以是手部跟踪器预设工作时间内采集到的图像帧的帧数,或者可以是从滤波器完成该次参数更新到手部跟踪器跟踪失败的时间段内采集到的图像帧的帧数。
在手部跟踪器跟踪失败或手部跟踪器工作时间超出预设时间时,手部跟踪器最近一次确定的位置信息可例如是第v帧(例如上文的第a+b帧)图像内的手掌位置(xv,yv,wv,hv)。在此情况下,手部跟踪器可工作于在线学习/参数更新阶段。如图5d所示,在线学习/参数更新阶段中,可采用深度神经网络VGG-net提取第v帧图像的图像特征图FMap1,FMap2,…,FMapm。然后,对相关滤波器Filter1,Filter2,…,Filterm进行参数更新,使更新后的Filter1-new,Filter2-new,…,Filterm-new与上述图像特征图的卷积运算结果,等于目标响应矩阵Rtarget-1,Rtarget-2,…,Rtarget-m。可选地,对于不同的i,上述目标响应矩阵Rtarget-i(1≤i≤m且为整数,m是深度神经网络的层数,也是滤波器的个数)可以是相同的目标响应矩阵,例如目标响应矩阵Rtarget-i为以(xv,yv)为中心的二维高斯分布,如公式(1)所示:
Figure BDA0003041374820000131
其中,σ1、σ2为常数。
上述在线学习/参数更新过程,主要通过更新相关滤波器参数,确保跟踪算法使用的手掌图像特征信息或模型参数保持最新,以保证目标跟踪的准确率。在手部跟踪器使用高效卷积算子跟踪算法时,跟踪算法也可包含至少一组滤波器参数,在手部跟踪器使用其他跟踪算法时,跟踪算法包含的至少一个参数或至少一组参数,也可例如是滤波器参数外的其他参数,本申请实施例对此不作限制。
基于上述视觉传感模块的实现方式,第一设备能够以现有技术的方案,独立完成空鼠交互。由上文描述可知,该方案在准确率提高和数据成本降低方面尚有提升空间。因此,本申请实施例还通过第二设备采集惯性传感数据,并通过第一设备和/或第二设备,根据惯性传感数据获取第一指令或第二指令,第一设备在独立完成基于计算机视觉的空鼠交互的基础上,根据第一指令或第二指令,可以提高跟踪用户手部位置信息的准确度,进而提高光标操作和光标移动的准确度。从而通过第一设备和第二设备协作实现性能更优的空鼠交互方法。
其中,惯性传感数据,可包括加速度数据、陀螺仪数据、电子罗盘数据等数据信息,可将通过第二设备中的加速度计、陀螺仪、电子罗盘等惯性测量传感器进行采集得到的原始数据作为惯性传感器数据。根据惯性传感数据获取第一指令或第二指令,可以设置为由第一设备单独完成,也可以设置为由第二设备单独完成,还可以设置为由第一设备和第二设备协作完成。
下面结合图5e-图5j介绍,根据惯性传感数据获取第一指令或第二指令,由第一设备单独完成、以及由第一设备和第二设备合作完成时,应用于第一设备的示例性交互方法。
参见图5e,在一种可能的实现方式中,步骤S4可包括:
S41,接收所述至少一个第二设备输出的所述惯性传感数据、所述惯性传感数据的特征向量以及三维坐标系中的惯性传感数据中的任意一个,其中,所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据根据所述第二设备采集的惯性传感数据确定,或者,接收所述至少一个第二设备输出的所述惯性传感数据,根据所述惯性传感器数据确定所述惯性传感数据的特征向量或三维坐标系中的惯性传感数据;
S42,根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果;
S43,根据所述分类结果与所述第一指令和所述第二指令的对应关系,得到所述第一指令或者所述第二指令。
其中,三维坐标系中的惯性传感数据,指的是在物理层面的三维直角坐标系(前后、左右、上下)下得到的数据,可包括每一物理维度上的速度、加速度、角速度、角加速度等信息,共同组成三维坐标系中的惯性传感数据。
由于惯性传感数据可以直接由第二设备采集并输出,使得第一设备可以单独完成根据惯性传感数据确定第一指令或者第二指令;由于惯性传感数据的特征向量以及三维坐标系中的惯性传感数据可以由第二设备输出,也可以由第一设备确定,且均为根据第二设备采集的惯性传感数据确定的,使得第二设备可以和第一设备合作完成根据惯性传感数据确定第一指令或者第二指令。通过这种方式,使得第一设备和第二设备之间可以通过交换多种方式的数据,实现第一设备获取第一指令或第二指令,提高交互系统设置的灵活性。并且根据惯性传感数据、惯性传感数据的特征向量以及三维坐标系中的惯性传感数据中的任意一个确定分类结果时,第一设备和第二设备之间的数据传输成本、以及第一设备的数据运算成本并不相同,实际应用中可以根据需求,为第一设备选择合适的设置方式,以实现成本更优的交互方法。
举例来说,第一设备可以先对接收到的惯性传感数据、惯性传感数据的特征向量以及三维坐标系中的惯性传感数据中的任意一个进行处理得到分类结果,再根据分类结果得到第一指令或者第二指令。可以在第一设备中预先设置分类结果与第一指令或者第二指令的对应关系,例如分类结果可包括预设条件1和预设条件2,预设条件1可对应第一指令,预设条件2可对应第二指令。这样,根据第一设备确定的分类结果,第一设备可以得到第一指令或第二指令。
其中,第一设备从第二设备接收到的数据不同时,第一设备对接收到的数据进行处理确定分类结果的工作流程可不相同。使得根据惯性传感数据确定第一指令或者第二指令时,在第一设备上执行的交互方法可以有多种实现方式。本申请以基于神经网络、基于神经网络和注意力机制、基于规则库的实现方式为例,对根据惯性传感数据确定第一指令或者第二指令时,第一设备执行的示例性交互方法进行描述。
下面给出第一设备基于神经网络实现获取第一指令或者第二指令的一个示例。第一设备可例如设置有基于神经网络的分类模型,在一种可能的实现方式中,步骤S42可包括:
使用分类模型对所述惯性传感数据或者所述惯性传感数据的特征向量进行处理,确定所述分类结果。
使用分类模型对第一设备接收到的惯性传感数据处理确定分类结果,可使得根据惯性传感数据确定第一指令或第二指令更便捷,效率更高。
其中,第一设备接收到的是惯性传感数据时,惯性传感数据的特征向量可由第一设备确定。第一设备对接收到的惯性传感数据处理得到惯性传感数据的特征向量,再使用分类模型对惯性传感数据的特征向量进行处理确定分类结果,使得根据惯性传感数据确定第一指令可以由第一设备单独完成,第二设备不需进行数据处理,可以减少第二设备的数据处理成本;第一设备接收到的是惯性传感数据的特征向量时,第一设备使用分类模型对第一设备接收到的惯性传感数据的特征向量进行处理确定分类结果,使得根据惯性传感数据确定第一指令可以由第一设备和第二设备合作完成,在基于神经网络实现获取第一指令或者第二指令时,可以降低第一设备的数据处理成本。通过这种方式,使得第一设备获取第一指令可以有多种实现方式,提升了第一设备实现交互方法的灵活性。
举例来说,分类结果可以通过基于神经网络的分类模型确定。分类模型的一个示例如图5f所示。
参见图5f,分类模型可采用全连接神经网络,分类模型可以判断输入模型的数据(惯性传感数据或惯性传感数据的特征向量)满足的分类结果,第一设备可以根据分类结果确定并输出第一指令或第二指令。分类模型可例如包括输入层、隐藏层、输出层,其参数通过在执行使用分类模型确定分类结果的步骤之前,向初始的分类模型输入已知分类结果的惯性传感数据或惯性传感数据的特征向量训练得到。训练好的分类模型可例如输入某一时间片段内第二设备采集到的惯性传感数据或惯性传感数据的特征向量。惯性传感数据或惯性传感数据的特征向量可例如用F=[f1,f2,f3,f4,…,fd]来表示。其中F表示惯性传感数据时,f1,f2,f3,f4,…,fd包括但不限于加速度数据、陀螺仪数据、电子罗盘数据等与用户手部运动状态相关的信息;d由传感器参数确定,例如根据传感器采集数据的维数确定。分类模型输出的分类结果可例如为非预设条件、预设条件1、预设条件2、…、预设条件D等多个分类结果。
在一种可能的实现方式中,可设置为非预设条件没有对应指令,预设条件1对应第一指令,预设条件2对应第二指令,在此情况下,D=2。在得到预设条件1的分类结果时,在步骤S43中,根据预设条件1与第一指令的对应关系,可得到第一指令;在得到预设条件2的分类结果时,在步骤S43中,可得到第二指令。
举例来说,分类模型的输出层可例如输出多个分类结果的概率。其中,根据概率最大的一个分类结果,可确定对应的指令。即概率最大的分类结果是预设条件1时,可认为用户手部位置和/或姿态变化在手部跟踪器精确度可控范围内,手部运动引发手部图像外观和尺度缓变(即姿态缓变),或手部图像位置缓变,不会导致部位跟踪失败,第一设备可得到第一指令,概率最大的分类结果是预设条件2时,可认为用户手部位置和/或姿态大幅变化,引发手部图像外观和尺度发生剧变(即姿态剧变),或手部图像位置剧变,可能导致部位跟踪失败,在此情况下,第一设备可获得第二指令。在概率最大的分类结果是非预设条件时,第一设备未确定第一指令或第二指令,第一设备可以使用分类模型对第二设备下一次输入的惯性传感数据再次进行处理,直到分类模型能够确定第一指令或第二指令,使得第一设备可以执行步骤S5。
在一种可能的实现方式中,分类结果中多个预设条件也可以设置为对应相同的指令,例如D=4时,分类模型可例如输出非预设条件、预设条件1、预设条件2、预设条件3、预设条件4。可设置为非预设条件没有对应指令,预设条件1和预设条件2均对应第一指令,预设条件3和预设条件4均对应第二指令,在此情况下。第一设备在得到预设条件1或预设条件2的分类结果时,可得到第一指令;在得到预设条件3或预设条件4的分类结果时,可得到第二指令。本领域技术人员应理解,只要结合分类结果和第一指令、第二指令之间的对应关系,能够根据分类结果确定第一指令或第二指令即可,本申请实施例对此不作限制。
本领域技术人员应理解,图5f的全连接神经网络仅为示例。实际应用中,可以采用隐藏层的层数更多的全连接神经网络,也可以采用卷积神经网络(convolutional neuralnetwork,CNN)、长短期记忆网络(long short term memory,LSTM)、循环神经网络(recurrent neural network,RNN)、图神经网络(graph neural network,GNN)等其它神经网络或其它神经网络的组合替换全连接神经网络,只要能够以惯性传感数据或惯性传感数据的特征向量为输入,以预设条件的多分类结果为输出,实现基于神经网络的分类模型即可,本申请对分类模型的具体设计方式不做限制。
在一种可能的实现方式中,第一设备接收到的是惯性传感数据时,惯性传感数据的特征向量由第一设备确定,第一设备可包括能够实现特征提取的算法模型,用于对第一设备接收到的惯性传感数据进行特征提取得到惯性传感数据的特征向量。特征向量可包括惯性传感数据的多个特征的值,例如,根据惯性传感数据的不同属性,可将每个属性作为向量的一个或多个维度,多个属性共同组成向量的多个维度,使得通过特征提取可以得到包含数值的特征向量。其中,特征向量可包括姿态角、运动速度、加速度、角速度、角加速度等运动状态信息,其中,姿态角、运动速度、加速度、角速度、角加速度作为惯性传感数据的不同属性,可分别用特征向量中的一个或多个维度表示。获取惯性传感数据的特征向量后,可输入分类模型进行处理,其具体实现方式可参照上文描述,在此不再赘述。
在一种可能的实现方式中,第一设备接收到的是惯性传感数据的特征向量时,惯性传感数据的特征向量可例如由第二设备确定。上述能够实现特征提取的算法模型可设置在第二设备中。第二设备可先对惯性传感数据处理得到惯性传感数据的特征向量,并输出惯性传感数据的特征向量到第一设备。实现特征提取得到特征向量的具体实现方式可参照上文描述,在此不再赘述。
注意力机制是一种深度神经网络的功能结构或模块,其借鉴人类思维方式,通过选择性提取数据中最显著或最有价值的信息,提升深度神经网络算法的识别准确率。下面给出第一设备基于神经网络和注意力机制实现获取第一指令或者第二指令的一个示例。
第一设备可例如设置有基于神经网络和注意力机制的系数获取模型,如图5g所示,在一种可能的实现方式中,步骤S42可包括:
S421,使用系数获取模型对所述惯性传感数据进行处理,得到权重系数或权重系数向量,
S422,根据所述权重系数与阈值的关系,或权重系数向量中全部或部分元素与阈值的关系,确定所述分类结果。
根据所述权重系数与阈值的关系,或权重系数向量中全部或部分元素与阈值的关系,确定所述分类结果,使得分类结果的确定方式更具灵活性,针对性更强。
使用系数获取模型对惯性传感数据处理确定权重系数或权重系数向量,根据权重系数与阈值的关系确定分类结果,或权重系数向量中全部或部分元素与阈值的关系确定分类结果,使得根据分类结果可以得到第一指令或第二指令,从而根据惯性传感数据确定第一指令可以由第一设备单独完成,第二设备不需进行数据处理,可以减少第二设备的数据处理成本。
举例来说,分类结果可以通过基于相关技术的神经网络和注意力机制的系数获取模型确定。系数获取模型的一个示例如图5h所示。
参见图5h,系数获取模型可包括快速傅里叶变换(fast fourier transform,FFT)单元、多个卷积层、注意力单元、门控循环单元(gate recurrent unit,GRU)、分类单元(Softmax)等网络层或功能单元组成的神经网络模型。系数获取模型的输入可例如为某一时间片段内第二设备采集到的惯性传感数据,包括加速度计数据A=[a1,a2,…,ad]、陀螺仪数据G=[g1,g2,…,gd]、电子罗盘数据C=[c1,c2,…,cd]等在内的一种或多种。其中,d由加速度计、陀螺仪、电子罗盘等传感器的参数确定。在系数获取模型中,惯性传感数据经快速傅里叶变换、多层卷积得到输出结果、注意力单元对卷积层的输出结果进行筛选、门控循环单元丢弃筛选后的数据中的无用信息,或者将筛选后的数据中的无用信息融合到有用信息中(例如通过降低筛选后的数据中的无用信息的权重来实现)后,可以得到权重系数向量Θ;注意力单元对丢弃或融合无用信息后的数据再进一步进行筛选后经分类单元分类,可以得到权重系数θ。其中,权重系数θ可例如是根据输入神经网络的惯性传感数据处理得到的参数,权重系数向量Θ可例如是根据输入神经网络的惯性传感数据处理得到的参数向量。系数获取模型的输出可例如是权重系数θ或者权重系数向量Θ。
在一种可能的实现方式中,在系数获取模型输出是权重系数θ时,基于权重系数θ和预设的阈值,第一设备可确定权重系数θ满足的分类结果(例如预设条件1或预设条件2),并根据满足的分类结果进一步确定第一指令或第二指令。举例来说,预设条件1可以是权重系数θ的取值满足θ∈[θ1,θ2],预设条件2可以是权重系数θ的取值满足θ∈[θ3,θ4]。其中,θ1、θ2、θ3、θ4可例如是预先设置的阈值。则权重系数θ满足预设条件1,可认为用户手部姿态或手部位置变化在可控范围,第一设备确定第一指令;权重系数θ满足预设条件2,可认为用户手部姿态或手部位置变化在不可控范围,第一设备确定第二指令。
由上文描述可知,在确定第一指令时,第一设备可根据第一指令执行步骤S5,对跟踪算法的参数中的全部或部分进行更新。例如,在手部跟踪器使用高效卷积算子的跟踪算法时,参数更新的方式可以参照与图5d相关的描述。在一种可能的实现方式中,第一设备还可结合神经网络输出的权重系数θ对跟踪算法的参数中的全部或部分进行更新。在此情况下,权重系数θ可作为在线学习/参数更新阶段,跟踪算法的参数的加权系数使用。
下面介绍根据权重系数θ更新跟踪算法的参数中的全部或部分的示例性工作流程。
在一种可能的实现方式中,所述分类结果根据所述权重系数确定时,步骤S5包括;
在根据所述权重系数确定的分类结果对应于第一指令时,根据所述权重系数,更新跟踪算法的参数中的全部或部分。
由于权重系数是根据第二设备采集的惯性传感数据确定的,使得权重系数用于跟踪算法的参数更新时,相比现有技术的跟踪算法的参数更新方式,与当前应用场景更加匹配,通过这种方式,可以提升基于更新后的跟踪算法的参数进行目标跟踪的准确度。
举例来说,以手部跟踪器采用高效卷积算子跟踪算法为例,跟踪算法的参数可例如为至少一个或至少一组滤波器参数,第一设备获取第一指令且第一设备计算得到权重系数θ时,第一设备可以更新手部跟踪器的全部或部分的滤波器参数。手部跟踪器中,可采用深度神经网络VGG-net提取第v帧图像的图像特征图FMap1,FMap2,…,FMapm。此时v表示接收到第一指令之前采集到的最后一个图像帧。然后,对相关滤波器Filter1,Filter2,…,Filterm中的全部或部分进行参数更新,使Filteri=Filteri×(1-θ)+Filteri-new×θ,其中Filteri为第i个相关滤波器更新前的参数,Filteri-new为更新后的滤波器参数,m≥i≥1且为整数。m是深度神经网络的层数。
在另一种可能的实现方式中,在系数获取模型输出是权重系数向量Θ时,基于权重系数向量Θ和预设的阈值,第一设备可确定权重系数向量Θ满足的分类结果(例如预设条件1或预设条件2),并根据满足的分类结果进一步确定第一指令或第二指令。以权重系数向量Θ为m×1维的权重系数向量Θm×1为例,Θm×1=[θ1,θ2,…,θm]。预设条件1可以是权重系数向量Θm×1中,至少有一个元素θi取值满足θi∈[θi1,θi2](1≤i≤m且为整数),预设条件2可以是权重系数向量Θm×1中,任意一个元素θi均不满足θi∈[θi1,θi2]。其中,θi1、θi2可例如是预先设置的阈值。则权重系数向量Θm×1满足预设条件1,可认为用户手部姿态或手部位置变化在可控范围,第一设备确定第一指令;权重系数向量Θm×1满足预设条件2,可认为用户手部姿态或手部位置变化在不可控范围,第一设备确定第二指令。
本领域技术人员应理解,预设条件1和预设条件2也可以有其他设置方式,例如预设条件1可以设置为权重系数向量Θm×1的所有元素中,有一半以下的元素取值在[θ3,θ4]范围内,预设条件2可以设置为权重系数向量Θm×1的所有元素中,有一半或一半以上的元素取值在[θ3,θ4]范围内。其中,θ3、θ4可例如是预先设置的阈值。本申请实施例对预设条件1和预设条件2的具体设置方式不作限制。
在一种可能的实现方式中,第一设备还可结合神经网络输出的权重系数向量Θ对跟踪算法的参数中的全部或部分进行更新。在此情况下,权重系数向量Θ中的元素可作为在线学习/参数更新阶段,跟踪算法的参数的加权系数使用。
下面介绍根据权重系数向量Θ更新跟踪算法的参数中的全部或部分的示例性工作流程。
在一种可能的实现方式中,所述权重系数向量中的每个元素分别对应跟踪算法中的一个参数或一组参数,每个元素分别确定一个分类结果,在所述分类结果根据所述权重系数向量确定时,步骤S5包括;
在根据权重系数向量中的至少一个元素确定的分类结果对应于第一指令时,根据所述至少一个元素,更新所述跟踪算法中,与所述至少一个元素对应的至少一个参数或至少一组参数。
由于权重系数向量是根据第二设备采集的惯性传感数据确定的,使得权重系数向量用于跟踪算法的参数更新时,相比现有技术的跟踪算法的参数更新方式,与当前应用场景更加匹配,且跟踪算法的多个或多组参数可以根据权重系数向量的每个元素的分类结果对应更新,使得跟踪算法的参数可以有选择地更新,进一步提高由基于更新后的跟踪算法的参数进行目标跟踪的准确度。
以跟踪算法为高效卷积算子跟踪算法、跟踪算法的参数为m(m≥1)个滤波器参数Filter1,Filter2,…,Filterm为例,由上文描述可知,权重系数向量Θ中的每一个元素,都对应一个滤波器,且每一个元素都有一组阈值与其对应,在该元素的值满足阈值条件时,该元素的分类结果可以是预设条件1;在该元素的值不满足阈值条件时,该元素的分类结果可以是预设条件2。第一设备获取第一指令且第一设备计算得到权重系数向量Θ时,第一设备可以根据分类结果对应于第一指令的至少一个元素,更新与该至少一个元素对应的滤波器参数。手部跟踪器中,可采用深度神经网络VGG-net提取第v帧图像的图像特征图FMap1,FMap2,…,FMapm。此时v表示接收到第一指令之前采集到的最后一个图像帧。然后,对相关滤波器Filter1,Filter2,…,Filterm中,允许更新的滤波器Filteri进行参数更新,使Filteri=Filteri×(1-θi)+Filteri-new×θi,其中Filteri为第i个相关滤波器更新前的参数,Filteri-new为更新后的滤波器参数,1≤i≤m且为整数,m是深度神经网络的层数。
例如,权重系数向量Θm×1中,有一个元素θ1满足θ1∈[θ11,θ12],其他元素均不满足θi∈[θi1,θi2](2≤i≤m且为整数)时,第一设备可获取第一指令。第一设备可以根据第一指令的指示,对元素θ1对应的滤波器参数Filter1进行更新,得到更新后的滤波器参数Filter1-new;其他滤波器参数不变。
又例如,权重系数向量Θm×1中,有一个元素θ1满足θ1∈[θ11,θ12],一个元素θ2满足θ2∈[θ21,θ22],其他元素均不满足θi∈[θi1,θi2],3≤i≤m且为整数)时,第一设备可获取第一指令。第一设备可以根据第一指令的指示,对元素θ1对应的滤波器参数Filter1进行更新,得到更新后的滤波器参数Filter1-new;对元素θ2对应的滤波器参数Filter2进行更新,得到更新后的滤波器参数Filter2-new;其他滤波器参数不变。
在手部跟踪器使用高效卷积算子跟踪算法时,跟踪算法也可以包含至少一组滤波器参数,例如跟踪算法包含Filterh1,Filterh2,…,Filterhm共m组滤波器参数,每组滤波器参数包括h个滤波器参数,h>1且为整数,在此情况下,权重系数向量Θ中的每一个元素,都对应一组滤波器,第一设备获取第一指令且第一设备计算得到权重系数向量Θ时,第一设备可以根据分类结果对应于第一指令的至少一个元素,更新与该至少一个元素对应的至少一组滤波器参数。在手部跟踪器使用其他跟踪算法时,跟踪算法包含的至少一个参数或至少一组参数,也可例如是滤波器参数外的其他参数,本申请实施例对此不作限制。
通过这种方式,可以提高第一设备进行目标跟踪的准确率。实际应用中,在第一设备基于神经网络和注意力机制获取第一指令或者第二指令,并进行跟踪算法的参数更新时,可根据需求,选择权重系数θ或者权重系数向量Θ对跟踪算法的参数进行更新,其中,选择权重系数向量Θ对跟踪算法的参数进行更新时,算法的复杂度较高,第一设备进行目标跟踪的准确率也更高,在需要更高的目标跟踪的准确率时,可选择权重系数向量Θ对跟踪算法的参数进行更新;在需要以更简单的算法进行目标跟踪时,可以选择权重系数θ对跟踪算法的参数进行更新。
在一种可能的实现方式中,也可以在第二设备中部署快速傅里叶变换单元以及卷积层,使得第二设备可以对惯性传感数据进行快速傅里叶变换以及多层卷积,并输出卷积后的结果到第一设备。在第一设备中,对卷积层的输出结果进行筛选、丢弃或融合筛选后的数据中的无用信息后,可以得到预设条件的权重系数向量Θ;对丢弃或融合后的数据再进一步进行筛选、分类,可以得到权重系数θ。本领域技术人员应理解,只要使得第一设备可以根据权重系数向量Θ或权重系数θ获取第一指令或第二指令即可,本申请对第一设备基于神经网络和注意力机制获取第一指令或者第二指令时,第一设备和第二设备之间传输的数据不做限制。
下面给出第一设备基于规则库实现获取第一指令或者第二指令的一个示例。第一设备可例如设置有规则库,参见图5i,在一种可能的实现方式中,步骤S42可包括:
S423,使用预设规则库对所述三维坐标系中的惯性传感数据进行处理,确定所述三维坐标系中的惯性传感数据满足的预设规则;
S424,根据所述三维坐标系中的惯性传感数据满足的预设规则,确定所述分类结果,
三维坐标系中的惯性传感数据能够反映三维空间中的运动状态,根据所述三维坐标系中的惯性传感数据满足的预设规则,确定所述分类结果,使得分类结果更匹配目标部位在三维空间中的运动状态。
其中,第一设备接收到的是惯性传感数据时,三维坐标系中的惯性传感数据可由第一设备确定。在三维坐标系中的惯性传感数据由第一设备确定时,第一设备使用规则库对三维坐标系中的惯性传感数据进行处理确定分类结果,使得根据惯性传感数据确定第一指令可以由第一设备单独完成,第二设备不需进行数据处理,可以减少第二设备的数据处理成本;在三维坐标系中的惯性传感数据由第二设备确定时,第一设备使用规则库对第一设备接收到的三维坐标系中的惯性传感数据处理确定分类结果,使得根据惯性传感数据确定第一指令可以由第一设备和第二设备合作完成,在基于规则库实现获取第一指令或者第二指令时,可以降低第一设备的数据处理成本。通过这种方式,使得第一设备获取第一指令可以有多种实现方式,提升了第一设备实现交互方法的灵活性。
其中,三维坐标系中的惯性传感数据至少包括空间三维坐标系中的姿态角、平移距离、平移速度、平移加速度、角速度、角加速度中的一种或多种。通过这种方式,使得规则库的设置方式更灵活。
举例来说,分类结果可以通过规则库确定。规则库的一个示例如表1所示。
表1
Figure BDA0003041374820000201
Figure BDA0003041374820000211
如表1所示,A1、A2、A3、B1、B2、B3、Γ1、Γ2、Γ3、Vzt1、Vzt2、Vzt3是预设的阈值,三维坐标系中的惯性传感数据可包括目标部位(以手部为例)的姿态角、平移距离、平移速度、平移加速度、角速度、角加速度等空间三维坐标系中的数据信息。以三维坐标系中的惯性传感数据包括姿态角和平移速度为例,手部的姿态角α、β、γ满足以下规则1,和/或手部的平移速度vz满足以下规则2时,可认为用户手部姿态或手部位置变化在可控范围内,手部运动引发手部图像外观和尺度缓变(即姿态缓变),或手部位置缓变,不会导致部位跟踪失败,在此情况下,三维坐标系中的惯性传感数据满足分类结果中的预设条件1,第一设备可确定第一指令,其中规则1包括:α大于或等于预设阈值A1、小于预设阈值A2,且β大于或等于预设阈值B1、小于预设阈值B2,且γ大于或等于预设阈值Γ1、小于预设阈值Γ2,规则2包括:手部与智慧屏(即第一设备的显示屏)垂直方向的平移速度vz大于或等于预设阈值Vzt1、小于预设阈值Vzt2。当三维坐标系中的惯性传感数据中,手部的姿态角α、β、γ满足以下规则3,和/或手部的平移速度vz满足以下规则4时,可认为用户手部姿态或手部位置变化不在可控范围内,手部运动引发手部图像外观和尺度剧变(即姿态剧变),或手部位置剧变,可能会导致部位跟踪失败,在此情况下,三维坐标系中的惯性传感数据满足分类结果中的预设条件2,第一设备可确定第二指令,其中规则3包括:α大于预设阈值A3,β大于预设阈值B3,γ大于预设阈值Γ3,规则4包括:手部与智慧屏垂直方向的平移速度vz大于或等于预设阈值Vzt3
本领域技术人员应理解,表1所述预设规则库仅为示例,实际应用中,可增减预设规则库的规则条目,或增减规则条目所使用的变量和阈值,或者同时增减预设规则库的规则条目和规则条目所使用的变量和阈值,以获取判定准确度更高的预设规则库,各阈值可根据需要设定。以增加规则条目所使用的变量为例,除表1中所述的姿态角、平移速度外,还可采用基于惯性传感数据解算或预测的平移距离、平移加速度、角速度、角加速度等运动状态信息的三维坐标系中的数据,进行规则设计。本申请对预设规则库的具体设计方式不作限制。
预设规则库的使用进一步降低了数据成本,提高了数据处理效率和光标响应的实时性。
在一种可能的实现方式中,第一设备接收到的是惯性传感数据时,三维坐标系中的惯性传感数据由第一设备确定,第一设备可设置为能够将惯性传感数据映射到空间三维坐标系,得到三维坐标系中的惯性传感数据。
举例来说,惯性传感数据由用户穿戴或携带的第二设备进行采集,为了穿戴或携带方便,传感器的体积通常有限,其采集到的惯性传感数据的容易受到各种干扰导致准确度降低,产生数据漂移,如果使用单个传感器采集的数据信息直接确定第一指令或第二指令,可能造成确定第一指令或第二指令的准确度降低。在此情况下,可对惯性传感数据进行后处理,通过使用多个传感器的数据信息共同计算,获得准确率更高的三维坐标系中的惯性传感数据,再根据三维坐标系中的惯性传感数据确定第一指令或第二指令,可以提高根据惯性传感数据获取第一指令或第二指令的准确度。
第一设备检测到用户手掌的位置信息及姿态信息后,并确定姿态信息可以对应特定手势时,第一设备的手部跟踪器开始工作,第一设备可以发出指令给第二设备,指令用于使得第二设备上搭载的各传感器进行初始化。第二设备可以在接收到指令时,将传感器当前的数据信息,传输到第一设备,使得第一设备可以记录该数据信息作为惯性传感数据的初始值。在此情况下,第一设备根据惯性传感数据的初始值确定的姿态角,即为手部初始姿态角。第一设备可以基于确定的手掌位置信息为原点,以手部与第一设备的显示屏所在平面垂直的方向作为z轴,以手部与地面垂直的方向作为x轴,并基于z轴和x轴确定y轴,参见图5j,使得x、y、z轴两两垂直,建立空间三维坐标系,并根据传感器初始化之后第一设备接收的、由第二设备采集的惯性传感数据,解算绕x、y、z轴旋转方向的手部的姿态角α、β、γ,其中手部的姿态角α、β、γ是手部当前的姿态角与手部初始姿态角的相对偏差,以及沿x、y、z轴方向的手部的平移速度vx、vy、vz,作为三维坐标系中的惯性传感数据。获取三维坐标系中的惯性传感数据后,可使用规则库进行处理,其具体实现方式可参照上文描述,在此不再赘述。
在一种可能的实现方式中,第一设备接收到的是三维坐标系中的惯性传感数据时,三维坐标系中的惯性传感数据由第二设备确定。第二设备可先将惯性传感数据映射到空间三维坐标系,得到三维坐标系中的惯性传感数据,并输出三维坐标系中的惯性传感数据到第一设备。下面给出第二设备对惯性传感数据进行处理,得到处理后的姿态角数据的示例性工作流程。
接收第一设备输出的指令,根据指令对传感器进行初始化得到初始姿态角;根据初始姿态角和惯性传感数据,输出三维坐标系中的惯性传感数据。
举例来说,第一设备检测到用户手掌的位置信息及姿态信息后,并确定姿态信息可以对应特定手势时,第一设备的手部跟踪器开始工作,第一设备可以发出指令给第二设备,指令用于使得第二设备上搭载的各传感器基于进行初始化。第二设备可以在接收到指令时,将传感器当前的数据信息,作为惯性传感数据的初始值,以实现传感器的初始化,在此情况下,根据惯性传感数据的初始值确定的姿态角,即为手部初始姿态角。第二设备可以基于第一设备确定的手掌位置信息作为原点,建立空间三维坐标系,参见图5j,并根据传感器初始化之后、第二设备采集的惯性传感数据解算绕x、y、z轴旋转方向的手部的姿态角α、β、γ,其中手部的姿态角α、β、γ是手部当前的姿态角与手部初始姿态角的相对偏差,以及沿x、y、z轴方向的手部的平移速度vx、vy、vz,作为三维坐标系中的惯性传感数据。
下面介绍根据惯性传感数据获取第一指令或第二指令,由第二设备单独完成时,应用于第一设备的示例性交互方法。
在另一种可能的实现方式中,步骤S4可包括:
获取来自所述至少一个第二设备的第一指令或第二指令,
其中,所述第二设备根据所述惯性传感数据、所述惯性传感数据的特征向量以及三维坐标系中的惯性传感数据中的任意一个,确定分类结果,根据所述分类结果与所述第一指令和所述第二指令的对应关系,得到所述第一指令或者所述第二指令,
其中,所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据根据所述第二设备采集的惯性传感数据确定。
通过这种方式,可以降低第一设备进行数据处理的成本,提升第一设备进行数据处理的效率。
举例来说,根据惯性传感数据确定第一指令或第二指令由第一设备和第二设备协作完成时,第二设备可基于神经网络、基于神经网络和注意力机制、基于规则库等方式先对惯性传感数据进行处理,得到分类结果,并基于分类结果与第一指令和第二指令的对应关系,得到第一指令或者第二指令并输出到第一设备。第一设备可接收第一指令或第二指令,并根据指令执行步骤S5。
基于神经网络、基于神经网络和注意力机制、基于规则库等方式先对惯性传感数据进行处理,得到分类结果的具体实现方式可参照上文描述,在此不再赘述。
在一种可能的实现方式中,在第二设备基于神经网络和注意力机制确定第一指令时,第一设备的跟踪算法的参数可设置为基于权重系数或者权重系数向量进行更新,在此情况下,第二设备还输出权重系数或者权重系数向量到第一设备。
例如,第二设备根据权重系数确定第一指令并输出到第一设备的同时,也将确定的权重系数输出到第一设备。第一设备可以响应第一指令的指示,以接收到的权重系数进行跟踪算法的参数的更新。
又例如,第二设备根据权重系数向量确定第一指令并输出到第一设备的同时,也将确定的权重系数向量输出到第一设备。第一设备可以响应第一指令的指示,根据接收到的权重系数向量Θm×1以及预设的阈值,确定满足阈值条件的至少一个元素及其对应的跟踪算法中的参数,并以该至少一个元素对其对应的跟踪算法中的参数进行更新,跟踪算法中的其他参数不变。
在一种可能的实现方式中,第二设备根据权重系数向量确定第一指令时,第二设备可以根据与权重系数向量与阈值的关系,处理得到布尔向量。其中布尔向量可以根据权重系数向量中每一个元素是否在阈值范围内来确定。例如,权重系数向量的第一个元素在其对应的阈值范围内时,布尔向量的第一个元素可以是“1”,权重系数向量的第二个元素超出其对应的阈值范围时,布尔向量的第二个元素可以是“0”。以此类推,可以确定一个维数等于权重系数向量的维数的布尔向量。在此情况下,第二设备输出第一指令和权重系数向量到第一设备的同时,还可输出布尔向量到第一设备。第一设备可以响应第一指令的指示,根据接收到的布尔向量,确定需要进行更新的跟踪算法中的参数,并以接收到的权重系数向量Θ中,和布尔向量的值为“1”的元素对应位置的元素的值,作为更新跟踪算法中的参数时使用的加权系数。
通过这种方式,可以提高实现跟踪算法中的参数更新的方式的多样性。
图6示出根据本申请实施例的交互装置的示例性结构示意图。
本申请的实施例提供了一种交互装置,所述装置应用于交互系统中的第一设备,所述交互系统包括第一设备和至少一个第二设备,所述装置包括:
采集模块601,用于采集当前图像帧数据;
检测模块602,用于检测所述当前图像帧数据中目标部位的位置信息以及姿态信息;
跟踪模块603,用于在所述姿态信息满足与第一设备进行交互的条件的情况下,根据检测到的位置信息,使用包含至少一个参数或至少一组参数的跟踪算法,跟踪所述当前图像帧数据之后采集的图像帧数据中的所述目标部位;
获取模块604,用于获取根据所述至少一个第二设备采集的惯性传感数据确定的第一指令或第二指令,所述第一指令和所述第二指令对应于目标部位位置和/或姿态的不同变化状态;
响应模块605,用于响应于所述第一指令,更新所述跟踪算法的参数中的全部或部分,或者响应于所述第二指令,以最近一次采集的图像帧数据作为当前图像帧数据,重新检测所述当前图像帧数据中目标部位的位置信息以及姿态信息。
在一种可能的实现方式中,所述获取模块包括:
第一获取子模块,用于接收所述至少一个第二设备输出的所述惯性传感数据、所述惯性传感数据的特征向量以及三维坐标系中的惯性传感数据中的任意一个,其中,所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据根据所述第二设备采集的惯性传感数据确定,或者,第二获取子模块,用于接收所述至少一个第二设备输出的所述惯性传感数据,根据所述惯性传感器数据确定所述惯性传感数据的特征向量或所述三维坐标系中的惯性传感数据;
第三获取子模块,用于根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果;
第四获取子模块,根据所述分类结果与所述第一指令和所述第二指令的对应关系,得到所述第一指令或者所述第二指令。
在一种可能的实现方式中,所述获取模块包括:
第五获取子模块,用于获取来自所述至少一个第二设备的第一指令或第二指令,
其中,所述第二设备根据所述惯性传感数据、所述惯性传感数据的特征向量以及三维坐标系中的惯性传感数据中的任意一个,确定分类结果,根据所述分类结果与所述第一指令和所述第二指令的对应关系,得到所述第一指令或者所述第二指令,
其中,所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据根据所述第二设备采集的惯性传感数据确定。
在一种可能的实现方式中,根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果,包括:使用分类模型对所述惯性传感数据或者所述惯性传感数据的特征向量进行处理,确定所述分类结果。
在一种可能的实现方式中,根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果,包括:使用系数获取模型对所述惯性传感数据进行处理,得到权重系数或权重系数向量;根据所述权重系数与阈值的关系,或权重系数向量中全部或部分元素与阈值的关系,确定所述分类结果。
在一种可能的实现方式中,根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果,包括:使用预设规则库对所述三维坐标系中的惯性传感数据进行处理,确定所述三维坐标系中的惯性传感数据满足的预设规则;根据所述三维坐标系中的惯性传感数据满足的预设规则,确定所述分类结果。
在一种可能的实现方式中,所述分类结果根据所述权重系数确定时,所述响应模块包括:
第一响应子模块,用于在根据所述权重系数确定的分类结果对应于第一指令时,根据所述权重系数,更新所述跟踪算法的参数中的全部或部分。
在一种可能的实现方式中,所述权重系数向量中的每个元素分别对应跟踪算法中的一个参数或一组参数,每个元素分别确定一个分类结果,在所述分类结果根据所述权重系数向量确定时,所述响应模块包括:
第二响应子模块,用于在根据权重系数向量中的至少一个元素确定的分类结果对应于第一指令时,根据所述至少一个元素,更新所述跟踪算法中,与所述至少一个元素对应的至少一个参数或至少一组参数。
在一种可能的实现方式中,所述三维坐标系中的惯性传感数据至少包括空间三维坐标系中的姿态角、平移距离、平移速度、平移加速度、角速度、角加速度中的一种或多种。
在一种可能的实现方式中,所述第一指令对应的目标部位的位置和/或姿态的变化幅度小于所述第二指令对应的目标部位的位置和/或姿态的变化幅度。
在一种可能的实现方式中,所述第二设备包括可穿戴设备。
图7示出根据本申请实施例的交互装置100的示例性结构示意图。该交互装置可以用于执行图2、图5a-5j实施例中的交互方法。
交互装置100可以实现本申请实施例的第一设备的功能,可以包括手机、可折叠电子设备、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、有屏音箱、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、增强现实(augmentedreality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificialintelligence,AI)设备、车载设备、智能家居设备、或智慧城市设备中的至少一种。本申请实施例对该交互装置100的具体类型不作特殊限制。
交互装置100可以包括处理器110,内部存储器121,天线1,无线通信模块160,摄像头193,显示屏194等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。例如,处理器110可执行本申请实施例的手部检测器、手部跟踪器、手部关键点检测器、手势分类器的算法,处理器110也可执行本申请实施例的分类模型、系数获取模型以及规则库,以实现本申请实施例的方法。
处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。例如,产生并输出本申请实施例中的检测指令。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器可以为高速缓冲存储器。该存储器可以保存处理器110用过或使用频率较高的指令或数据。如果处理器110需要使用该指令或数据,可从该存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,通用异步收发传输器(universal asynchronousreceiver/transmitter,UART)接口,通用输入输出(general-purpose input/output,GPIO)接口等。处理器110可以通过以上至少一种接口连接无线通信模块、显示器、摄像头等模块。
内部存储器121可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如光标操作等)等。存储数据区可存储交互装置100的使用过程中所创建的数据(比如惯性传感数据的特征向量、三维坐标系中的惯性传感数据、第一指令和第二指令等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行交互装置100的各种功能方法或数据处理。
交互装置100的无线通信功能可以通过天线1,无线通信模块160等实现。交互装置100可以通过无线通信功能接收本申请实施例中的惯性传感数据、惯性传感数据的特征向量、三维坐标系中的惯性传感数据、第一指令和第二指令等。
天线1用于发射和接收电磁波信号。交互装置100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
无线通信模块160可以提供应用在交互装置100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),蓝牙低功耗(bluetooth low energy,BLE),超宽带(ultra wide band,UWB),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线1接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线1转为电磁波辐射出去。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,交互装置100可以包括1个或多个显示屏194。显示屏194可以显示本申请实施例中的光标操作和光标移动。显示屏194可实现本申请实施例中的显示模块的功能。
摄像模组193可用于采集拍摄对象的图像帧数据。交互装置100可以包括1个或多个摄像头193。具体的,交互装置100可以包括至少一个1个前置摄像头193。其中,前置摄像头193通常可用于采集面对显示屏194的用户的图像帧数据。
图8示出根据本申请实施例的交互装置200的示例性结构示意图。
交互装置200可以实现本申请实施例的第二设备的功能,包括手机、手持计算机、智能手表、手环、戒指、手持遥控等智能设备中的至少一种。交互装置200可以包括处理器210,内部存储器221,传感器模块180,天线2,无线通信模块260等,其中传感器模块180可以包括陀螺仪传感器180B,加速度传感器180E,电子罗盘传感器180F等。
其中,处理器210可执行本申请实施例的分类模型、系数获取模型以及规则库等,以实现本申请实施例的方法。内部存储器221可设置为储存使用分类模型、系数获取模型以及规则库时所需要的指令以及储存交互装置200接收到的指令。
内部存储器221可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如光标操作等)等。存储数据区可存储交互装置200的使用过程中所创建的数据(比如惯性传感数据、惯性传感数据的特征向量、三维坐标系中的惯性传感数据、第一指令和第二指令等)等。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器210通过运行存储在内部存储器221的指令,和/或存储在设置于处理器中的存储器的指令,执行交互装置200的各种功能方法或数据处理。
交互装置200的无线通信功能可以通过天线2,无线通信模块260等实现。交互装置200可以通过无线通信功能输出本申请实施例中的惯性传感数据、惯性传感数据的特征向量、三维坐标系中的惯性传感数据、第一指令和第二指令等。
天线2用于发射和接收电磁波信号。交互装置200中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线2复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
无线通信模块260可以提供应用在交互装置200上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),蓝牙低功耗(bluetooth low energy,BLE),超宽带(ultra wide band,UWB),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块260可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块260经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块260还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
陀螺仪传感器180B可以用于确定交互装置200的运动姿态。示例性的,陀螺仪传感器180B在各个方向上(一般为三轴)偏转角度的大小。
加速度传感器180E可检测交互装置200在各个方向上(一般为三轴)加速度的大小。当交互装置200静止时可检测出重力的大小及方向。
电子罗盘传感器180F可检测交互装置200的方向信息。也可称为数字指南针,可根据感测到的地磁场的磁场强度确定当前电子罗盘所指示的方位。电子罗盘按照有无倾角补偿可以分为平面电子罗盘和三维电子罗盘,也可以按照传感器的不同分为磁阻效应传感器、霍尔效应传感器和磁通门传感器。
可以理解的是,本申请实施例示意的结构并不构成对交互装置100和交互装置200的具体限定。在本申请另一些实施例中,交互装置100和交互装置200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。例如交互装置100和交互装置200也可以是相同的交互装置。该交互装置例如是搭载摄像头和各传感器的虚拟现实/增强现实头盔等终端设备,该交互装置可执行上述交互方法,实现类似的交互功能。本申请对此不作限制。
本申请的实施例提供了一种交互装置,包括:处理器以及用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述方法。
本申请的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
本申请的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RandomAccess Memory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(Electrically Programmable Read-Only-Memory,EPROM或闪存)、静态随机存取存储器(Static Random-Access Memory,SRAM)、便携式压缩盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能盘(Digital Video Disc,DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
这里所描述的计算机可读程序指令或代码可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(Local Area Network,LAN)或广域网(WideArea Network,WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(Field-ProgrammableGate Array,FPGA)或可编程逻辑阵列(Programmable Logic Array,PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本申请的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或ASIC(Application SpecificIntegrated Circuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (15)

1.一种交互方法,其特征在于,所述方法应用于交互系统中的第一设备,所述交互系统包括第一设备和至少一个第二设备,所述方法包括:
采集当前图像帧数据;
检测所述当前图像帧数据中目标部位的位置信息以及姿态信息;
在所述姿态信息满足与第一设备进行交互的条件的情况下,根据检测到的位置信息,使用包含至少一个参数或至少一组参数的跟踪算法,跟踪所述当前图像帧数据之后采集的图像帧数据中的所述目标部位;
获取根据所述至少一个第二设备采集的惯性传感数据确定的第一指令或第二指令,所述第一指令和所述第二指令对应于目标部位位置和/或姿态的不同变化状态;
响应于所述第一指令,更新所述跟踪算法的参数中的全部或部分,或者响应于所述第二指令,以最近一次采集的图像帧数据作为当前图像帧数据,重新检测所述当前图像帧数据中目标部位的位置信息以及姿态信息。
2.根据权利要求1所述的方法,其特征在于,获取根据所述至少一个第二设备采集的惯性传感数据确定的第一指令或第二指令,包括:
接收所述至少一个第二设备输出的所述惯性传感数据、所述惯性传感数据的特征向量以及三维坐标系中的惯性传感数据中的任意一个,其中,所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据根据所述第二设备采集的惯性传感数据确定,或者,接收所述至少一个第二设备输出的所述惯性传感数据,根据所述惯性传感器数据确定所述惯性传感数据的特征向量或所述三维坐标系中的惯性传感数据;
根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果;
根据所述分类结果与所述第一指令和所述第二指令的对应关系,得到所述第一指令或者所述第二指令。
3.根据权利要求1所述的方法,其特征在于,获取根据所述至少一个第二设备采集的惯性传感数据确定的第一指令或第二指令,包括:
获取来自所述至少一个第二设备的第一指令或第二指令,
其中,所述第二设备根据所述惯性传感数据、所述惯性传感数据的特征向量以及三维坐标系中的惯性传感数据中的任意一个,确定分类结果,根据所述分类结果与所述第一指令和所述第二指令的对应关系,得到所述第一指令或者所述第二指令,
其中,所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据根据所述第二设备采集的惯性传感数据确定。
4.根据权利要求2或3所述的方法,其特征在于,根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果,包括:
使用分类模型对所述惯性传感数据或者所述惯性传感数据的特征向量进行处理,确定所述分类结果。
5.根据权利要求2或3所述的方法,其特征在于,根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果,包括:
使用系数获取模型对所述惯性传感数据进行处理,得到权重系数或权重系数向量;
根据所述权重系数与阈值的关系,或权重系数向量中全部或部分元素与阈值的关系,确定所述分类结果。
6.根据权利要求2或3所述的方法,其特征在于,根据所述惯性传感数据、所述惯性传感数据的特征向量以及所述三维坐标系中的惯性传感数据中的任意一个,确定分类结果,包括:
使用预设规则库对所述三维坐标系中的惯性传感数据进行处理,确定所述三维坐标系中的惯性传感数据满足的预设规则;
根据所述三维坐标系中的惯性传感数据满足的预设规则,确定所述分类结果。
7.根据权利要求5所述的方法,其特征在于,所述分类结果根据所述权重系数确定时,响应于所述第一指令,更新所述跟踪算法的参数中的全部或部分,包括:
在根据所述权重系数确定的分类结果对应于第一指令时,根据所述权重系数,更新所述跟踪算法的参数中的全部或部分。
8.根据权利要求5所述的方法,其特征在于,所述权重系数向量中的每个元素分别对应跟踪算法中的一个参数或一组参数,每个元素分别确定一个分类结果,在所述分类结果根据所述权重系数向量确定时,响应于所述第一指令,更新所述跟踪算法的参数中的全部或部分,包括:
在根据权重系数向量中的至少一个元素确定的分类结果对应于第一指令时,根据所述至少一个元素,更新所述跟踪算法中,与所述至少一个元素对应的至少一个参数或至少一组参数。
9.根据权利要求2-8中任意一项所述的方法,其特征在于,
所述三维坐标系中的惯性传感数据至少包括空间三维坐标系中的姿态角、平移距离、平移速度、平移加速度、角速度、角加速度中的一种或多种。
10.根据权利要求1-9中任意一项所述的方法,其特征在于,
所述第一指令对应的目标部位的位置和/或姿态的变化幅度小于所述第二指令对应的目标部位的位置和/或姿态的变化幅度。
11.根据权利要求1-10中任意一项所述的方法,其特征在于,所述第二设备包括可穿戴设备。
12.一种交互装置,其特征在于,所述装置应用于交互系统中的第一设备,所述交互系统包括第一设备和至少一个第二设备,所述装置包括:
采集模块,用于采集当前图像帧数据;
检测模块,用于检测所述当前图像帧数据中目标部位的位置信息以及姿态信息;
跟踪模块,用于在所述姿态信息满足与第一设备进行交互的条件的情况下,根据检测到的位置信息,使用包含至少一个参数或至少一组参数的跟踪算法,跟踪所述当前图像帧数据之后采集的图像帧数据中的所述目标部位;
获取模块,用于获取根据所述至少一个第二设备采集的惯性传感数据确定的第一指令或第二指令,所述第一指令和所述第二指令对应于目标部位位置和/或姿态的不同变化状态;
响应模块,用于响应于所述第一指令,更新所述跟踪算法的参数中的全部或部分,或者响应于所述第二指令,以最近一次采集的图像帧数据作为当前图像帧数据,重新检测所述当前图像帧数据中目标部位的位置信息以及姿态信息。
13.一种交互装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令时实现权利要求1-11任意一项所述的方法。
14.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1-11中任意一项所述的方法。
15.一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,其特征在于,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行权利要求1-11中任意一项所述的方法。
CN202110458240.6A 2021-04-27 2021-04-27 交互方法、装置、存储介质及程序产品 Pending CN115249318A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110458240.6A CN115249318A (zh) 2021-04-27 2021-04-27 交互方法、装置、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110458240.6A CN115249318A (zh) 2021-04-27 2021-04-27 交互方法、装置、存储介质及程序产品

Publications (1)

Publication Number Publication Date
CN115249318A true CN115249318A (zh) 2022-10-28

Family

ID=83696696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110458240.6A Pending CN115249318A (zh) 2021-04-27 2021-04-27 交互方法、装置、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN115249318A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115562499A (zh) * 2022-11-16 2023-01-03 深圳市未来感知科技有限公司 基于智能指环的精准交互控制方法、系统及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115562499A (zh) * 2022-11-16 2023-01-03 深圳市未来感知科技有限公司 基于智能指环的精准交互控制方法、系统及存储介质

Similar Documents

Publication Publication Date Title
EP3786892B1 (en) Method, device and apparatus for repositioning in camera orientation tracking process, and storage medium
CN109313495B (zh) 融合惯性手持控制器与手动跟踪的六自由度混合现实输入
US11275931B2 (en) Human pose prediction method and apparatus, device, and storage medium
US10818092B2 (en) Robust optical disambiguation and tracking of two or more hand-held controllers with passive optical and inertial tracking
CN109313500B (zh) 纤细形状因子的无源光学和惯性跟踪
US10659768B2 (en) System and method for virtually-augmented visual simultaneous localization and mapping
WO2019205842A1 (zh) 相机姿态追踪过程的重定位方法、装置及存储介质
Rambach et al. Learning to fuse: A deep learning approach to visual-inertial camera pose estimation
EP4327185A1 (en) Hand gestures for animating and controlling virtual and graphical elements
CN116051640A (zh) 用于同时定位和映射的系统和方法
US20220398775A1 (en) Localization processing service
WO2014074268A1 (en) Selecting feature types to extract based on pre-classification of sensor measurements
WO2020221307A1 (zh) 一种运动物体的追踪方法和装置
CN109074149A (zh) 用于增强或虚拟现实环境的头戴式参考系中的对象跟踪
US20230400327A1 (en) Localization processing service and observed scene reconstruction service
CN115176306A (zh) 用于可穿戴系统的手部和图腾输入融合
CN112087728B (zh) 获取Wi-Fi指纹空间分布的方法、装置和电子设备
CN115249318A (zh) 交互方法、装置、存储介质及程序产品
CN111928861B (zh) 地图构建方法及装置
CN115461794A (zh) 从二维图像估计用户手势的方法、系统和非暂时性计算机可读记录介质
US10551195B2 (en) Portable device with improved sensor position change detection
KR20230100472A (ko) 손의 관절에 관한 위치 정보를 획득하는 증강 현실 디바이스 및 그 동작 방법
CN113033590B (zh) 图像特征匹配方法、装置、图像处理设备及存储介质
CN115380308A (zh) 实现vSLAM系统的自适应特征检测的方法和系统
CN116576866B (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