CN108844529A - 确定姿态的方法、装置及智能设备 - Google Patents
确定姿态的方法、装置及智能设备 Download PDFInfo
- Publication number
- CN108844529A CN108844529A CN201810578919.7A CN201810578919A CN108844529A CN 108844529 A CN108844529 A CN 108844529A CN 201810578919 A CN201810578919 A CN 201810578919A CN 108844529 A CN108844529 A CN 108844529A
- Authority
- CN
- China
- Prior art keywords
- posture
- smart machine
- acceleration
- light source
- source point
- 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 44
- 230000001133 acceleration Effects 0.000 claims abstract description 184
- 238000006073 displacement reaction Methods 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 11
- 230000005484 gravity Effects 0.000 claims description 10
- 238000005259 measurement Methods 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 abstract description 10
- 238000012937 correction Methods 0.000 abstract description 7
- 230000003247 decreasing effect Effects 0.000 abstract description 5
- 239000000700 radioactive tracer Substances 0.000 abstract description 2
- 230000036544 posture Effects 0.000 description 221
- 238000005070 sampling Methods 0.000 description 15
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C15/00—Surveying instruments or accessories not provided for in groups G01C1/00 - G01C13/00
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C15/00—Surveying instruments or accessories not provided for in groups G01C1/00 - G01C13/00
- G01C15/002—Active optical surveying means
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明公开了一种确定姿态的方法、装置及智能设备,属于位姿追踪技术领域。该方法包括:当在当前采样时刻接收到由智能设备中的IMU采集的角速度和加速度时,基于该角速度和最近一次确定的智能设备的姿态确定第一姿态,获取智能设备上的光源点的至少三个历史位置信息,并基于至少三个历史位置信息,确定光源点的加速度。基于IMU采集的加速度、光源点的加速度和第一姿态,确定智能设备当前的姿态。本发明实施例只需在智能设备上设置一个发光光源即可以实现对第一姿态的校正,相较于相关技术,需要光源点的数量大幅减少,因而降低了设备成本,减小了智能设备的体积。
Description
技术领域
本发明涉及位姿追踪技术领域,特别涉及一种确定姿态的方法、装置及智能设备。
背景技术
目前,诸如智能手机、VR(Virtual Reality,虚拟现实)设备、AR(AugmentedReality,增强现实)设备等智能设备的应用越来越普遍。当诸如此类的智能设备随着用户一起动作时,智能设备可以根据自身随着用户做出的动作来确定智能设备当前的姿态,进而根据当前的姿态做出响应。
相关技术中,智能设备中可以设置有IMU(Inertial measurement unit,惯性测量单元)以及多个光源点,其中,IMU一般包括陀螺仪。智能设备可以通过对陀螺仪测量的角速度进行积分来计算第一翻滚角、第一俯仰角和第一偏航角。之后,智能设备可以通过外设的追踪设备对智能设备上的多个光源点进行追踪,从而得到多个光源点的位置坐标,根据该多个光源点的位置坐标计算第二翻滚角、第二俯仰角和第二偏航角。为了便于后续说明,在这里将通过IMU测量的角速度计算得到的第一翻滚角、第一俯仰角和第一偏航角称为智能设备的IMU姿态。而将根据多个光源点的位置坐标计算得到的第二翻滚角、第二俯仰角和第二偏航角称为智能设备的光学姿态。之后,智能设备可以通过光学姿态对IMU姿态进行校正,从而将校正后的姿态确定为智能设备当前的姿态。
然而,在上述确定姿态的过程中,由于需要通过追踪设备追踪智能设备上的多个光源点来对智能设备的IMU姿态进行校正,因此,智能设备上需要设置多个发光光源,既增加了设备成本,同时,也由于发光光源的设置导致智能设备的体积增大、结构复杂,为用户的使用带来了不便。
发明内容
本发明实施例提供了一种确定姿态的方法、装置、智能设备及计算机可读存储介质,可以用于解决相关技术中通过在智能设备上设置多个发光光源来确定姿态所导致的设备成本较高,智能设备体积较大的问题。所述技术方案如下:
第一方面,提供了一种确定姿态的方法,应用于智能设备,所述智能设备配置有惯性测量单元IMU和一个作为光源点的发光光源,所述方法包括:
当在当前采样时刻接收到由所述智能设备中的惯性测量单元IMU采集的角速度和加速度时,获取当前采样时刻之前最近一次确定的所述智能设备的姿态,并基于所述角速度和所述最近一次确定的所述智能设备的姿态确定第一姿态;
获取所述智能设备上的光源点的至少三个历史位置信息,并基于所述至少三个历史位置信息,确定所述光源点的加速度,所述至少三个历史位置信息是指在当前采样时刻之前确定的所述光源点所处的位置信息;
基于所述IMU采集的加速度、所述光源点的加速度和所述第一姿态,确定所述智能设备当前的姿态。
可选地,所述基于所述至少三个历史位置信息,确定所述光源点的加速度,包括:
按照所述至少三个历史位置信息的确定时刻对所述至少三个历史位置信息进行排序,并基于排序结果中每相邻的两个历史位置信息确定所述光源点的至少两个位移;
确定所述至少两个位移中每个位移对应的两个历史位置信息的确定时刻之间的时间间隔;
基于确定的至少两个时间间隔以及所述至少两个位移,确定所述光源点的加速度。
可选地,所述基于所述IMU采集的加速度、所述光源点的加速度和所述第一姿态,确定所述智能设备当前的姿态,包括:
对所述IMU采集的加速度进行处理,得到处理后的加速度;
获取所述处理后的加速度与所述光源点的加速度之间的方向偏差;
基于所述方向偏差和所述第一姿态,确定所述智能设备当前的姿态。
可选地,所述对所述IMU采集的加速度进行处理,得到处理后的加速度,包括:
将所述IMU采集的加速度转换到所述光源点的加速度所在的坐标系下,并将转换坐标系后的加速度中的重力加速度去除,得到所述处理后的加速度。
可选地,所述基于所述方向偏差和所述第一姿态,确定所述智能设备当前的姿态,包括:
基于所述方向偏差,通过下述公式对所述第一姿态进行校正,得到第二姿态;
Q2=Q1·ΔQ
其中,所述Q1为所述第一姿态,所述Q2为所述第二姿态,所述ΔQ为所述方向偏差;
基于所述第一姿态和所述第二姿态,确定所述智能设备当前的姿态。
可选地,所述基于所述第一姿态和所述第二姿态,确定所述智能设备当前的姿态,包括:
基于所述第一姿态和所述第二姿态,通过下述公式计算所述智能设备当前的姿态;
cosΩ=Q1·Q2
其中,所述Slerp(Q1,Q2,gain)为所述智能设备当前的姿态,所述Q1为所述第一姿态,所述Q2为所述第二姿态,所述gain是指为所述第二姿态预设的权重。
可选地,所述基于所述第一姿态和所述第二姿态,确定所述智能设备当前的姿态,包括:
基于所述第一姿态和所述第二姿态,通过下述公式计算所述智能设备当前的姿态;
Lerp(Q1,Q2,gain)=(1-gain)×Q1+gain×Q2
其中,所述Lerp(Q1,Q2,gain)为所述智能设备当前的姿态,所述Q1为所述第一姿态,所述Q2为所述第二姿态,所述gain是指为所述第二姿态预设的权重。
第二方面,提供一种确定姿态的装置,集成于应用于智能设备,所述智能设备配置有惯性测量单元IMU和一个作为光源点的发光光源,所述装置包括:
第一确定模块,用于当在当前采样时刻接收到由所述智能设备中的惯性测量单元IMU采集的角速度和加速度时,获取当前采样时刻之前最近一次确定的所述智能设备的姿态,并基于所述角速度和所述最近一次确定的所述智能设备的姿态确定第一姿态;
获取模块,用于获取所述智能设备上的光源点的至少三个历史位置信息,所述至少三个历史位置信息是指在当前采样时刻之前确定的所述光源点所处的位置信息;
第二确定模块,用于基于所述至少三个历史位置信息,确定所述光源点的加速度;
第三确定模块,用于基于所述IMU采集的加速度、所述光源点的加速度和所述第一姿态,确定所述智能设备当前的姿态。
可选地,所述第二确定模块具体用于:
按照所述至少三个历史位置信息的确定时刻对所述至少三个历史位置信息进行排序,并基于排序结果中每相邻的两个历史位置信息确定所述光源点的至少两个位移;
确定所述至少两个位移中每个位移对应的两个历史位置信息的确定时刻之间的时间间隔;
基于确定的至少两个时间间隔以及所述至少两个位移,确定所述光源点的加速度。
可选地,所述第三确定模块包括:
处理子模块,用于对所述IMU采集的加速度进行处理,得到处理后的加速度;
获取子模块,用于获取所述处理后的加速度与所述光源点的加速度之间的方向偏差;
确定子模块,用于基于所述方向偏差和所述第一姿态,确定所述智能设备当前的姿态。
可选地,所述处理子模块具体用于:
将所述IMU采集的加速度转换到所述光源点的加速度所在的坐标系下,并将转换坐标系后的加速度中的重力加速度去除,得到所述处理后的加速度。
可选地,所述确定子模块具体用于:
基于所述方向偏差,通过下述公式对所述第一姿态进行校正,得到第二姿态;
Q2=Q1·ΔQ
其中,所述Q1为所述第一姿态,所述Q2为所述第二姿态,所述ΔQ为所述方向偏差;
基于所述第一姿态和所述第二姿态,确定所述智能设备当前的姿态。
可选地,所述确定子模块具体用于:
基于所述第一姿态和所述第二姿态,通过下述公式计算所述智能设备当前的姿态;
cosΩ=Q1·Q2
其中,所述Slerp(Q1,Q2,gain)为所述智能设备当前的姿态,所述Q1为所述第一姿态,所述Q2为所述第二姿态,所述gain是指为所述第二姿态预设的权重。
可选地,所述确定子模块具体用于:
基于所述第一姿态和所述第二姿态,通过下述公式计算所述智能设备当前的姿态;
Lerp(Q1,Q2,gain)=(1-gain)×Q1+gain×Q2
其中,所述Lerp(Q1,Q2,gain)为所述智能设备当前的姿态,所述Q1为所述第一姿态,所述Q2为所述第二姿态,所述gain是指为所述第二姿态预设的权重。
第三方面,提供一种智能设备,所述智能设备包括:
IMU,用于采集运动数据;
作为光源点的发光光源;
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为上述第一方面所述的任一项方法的步骤。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第一方面所述的任一项方法的步骤。
第五方面,提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的任一项方法。
本发明实施例提供的技术方案带来的有益效果是:当在当前采样时刻接收到由智能设备中的IMU采集的角速度和加速度时,获取当前采样时刻之前最近一次确定的智能设备的姿态,并基于该角速度和最近一次确定的智能设备的姿态确定第一姿态,获取智能设备上的光源点的至少三个历史位置信息,并基于至少三个历史位置信息,确定光源点的加速度。之后,基于IMU采集的加速度、光源点的加速度和第一姿态,确定智能设备当前的姿态。由此可见,本发明实施例可以通过在智能设备上设置一个光源点来计算该光源点的加速度,进而根据该光源点的加速度、IMU测得的加速度和第一姿态来确定智能设备当前的姿态,相较于相关技术中,需要的光源点的数量大幅减少,因而降低了设备成本,同时,也减小了智能设备的体积。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例示出的一种确定姿态的方法的系统架构图;
图2是本发明实施例提供的确定姿态的方法的流程图;
图3是本发明实施例提供的确定姿态的方法的流程图;
图4A是本发明实施例提供的确定姿态的装置的结构示意图;
图4B是本发明实施例提供的第四确定模块的结构示意图;
图5是本发明实施例提供的用于确定姿态的智能设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细的解释说明之前,先对本发明实施例涉及的应用场景予以介绍。
当前,诸如智能手机、VR设备、AR设备等智能设备的应用越来越普遍。当诸如此类的智能设备随着用户一起动作时,智能设备可以根据自身随着用户做出的动作来确定智能设备当前的姿态。例如,用户可以佩戴VR头戴式显示器,并通过转动头部带动该VR头戴式显示器一起动作,此时,该VR头戴式显示器即可以确定自身当前的姿态,也即是,VR头戴式显示器可以确定自身当前相对于标准坐标系的翻滚角、俯仰角和偏航角,并通过翻滚角、俯仰角和偏航角来表征自身当前的姿态。再例如,用户可以手持智能手机并在不同的方向和平面上对智能手机进行转动,在这种情况下,智能手机可以通过确定自身姿态,并根据确定的姿态做出相应的响应。本发明实施例中提供的确定姿态的方法即可以应用于上述场景中,在诸如VR设备、AR设备或者智能手机等智能设备随着用户动作一起动作时,根据本发明实施例提供的确定姿态的方法来确定自身当前的姿态,进而为下一步做出响应提供数据支持。
接下来对本发明实施例提供的确定姿态的方法的系统架构进行介绍。
图1是本发明实施例提供的一种确定姿态的方法的系统架构图。如图1所示,该系统中可以包括智能设备101和追踪设备102,且智能设备101和追踪设备102之间建立有通信连接。
其中,智能设备101可以是诸如智能手机、平板电脑、头戴式显示器、手柄等设备。该智能设备101包括IMU 1011和一个可以作为光源点的发光光源1012。IMU 1011可以包括陀螺仪和加速度计,通过陀螺仪,可以采集智能设备的角速度,通过加速度计,可以采集智能设备的加速度。发光光源1012可以为LED(Light Emitting Diode,发光二极管)灯,且该LED灯可以发射的光可以是可见光,也可以是红外光。
追踪设备102可以是双目相机。具体的,当发光光源1012为发可见光的LED灯时,该双目相机可以为感可见光的双目相机。当发光光源1012为发红外光的LED灯时,该双目相机可以为感红外光的双目相机。
上述系统架构是本发明实施例示出的一种可能的实现方式,可选地,在另一种可能的实现方式中,追踪设备102可以设置在智能设备101中,并且,发光光源1012可以集成在追踪设备102上。例如,该追踪设备102可以为激光扫描测距仪,其中,该激光扫描测距仪包括激光发射器用于发射激光,因此,该激光发射器即可以作为发光光源。
接下来对本发明实施例提供的确定姿态的方法进行介绍。
图2是本发明实施例提供的一种确定姿态的方法的流程图。该方法可以应用于智能设备中,该智能设备可以为前述系统架构中介绍的智能设备,该智能设备中配置有IMU和一个可以作为光源点的发光光源,该智能设备可以为智能手机、平板电脑、VR设备、AR设备等智能设备。参见图2,该方法包括以下步骤:
步骤201:当在当前采样时刻接收到由智能设备中的IMU采集的角速度和加速度时,获取当前采样时刻之前最近一次确定的智能设备的姿态,并基于角速度和最近一次确定的智能设备的姿态确定第一姿态。
其中,IMU可以按照预设时长进行数据采集,每次采集数据的时刻即为采样时刻。IMU在每个采样时刻采集到数据之后,可以将该数据发送给智能设备。另外,IMU可以包括陀螺仪和加速度计,基于此,IMU采集的数据可以包括由陀螺仪采集的角速度,该角速度可以包括该智能设备在世界坐标系的三个轴上的角速度分量。除此之外,IMU采集到的数据还可以包括加速度计采集的加速度,其中,该加速度中包括由重力引起的加速度分量。
步骤202:获取智能设备上的光源点的至少三个历史位置信息。
其中,至少三个历史位置信息是指在当前采样时刻之前确定的光源点所处的位置信息。例如,该至少三个历史位置信息可以包括当前采样时刻之前或当前采样时刻确定的第一历史位置信息、第一历史位置信息的确定时刻之前最近一次确定的第二历史位置信息以及第二历史位置信息的确定时刻之前最近一次确定的历史位置信息。也就是说,在本发明实施例中,该至少三个历史位置信息可以是根据各个历史位置信息的确定时刻获取的,且该至少三个历史位置信息与当前采样时刻之间的时间间隔依次增加。
步骤203:基于至少三个历史位置信息,确定光源点的加速度。
步骤204:基于IMU采集的加速度、光源点的加速度和第一姿态,确定智能设备当前的姿态。
在本发明实施例中,当在当前采样时刻接收到由智能设备中的IMU采集的角速度和加速度时,获取当前采样时刻之前最近一次确定的智能设备的姿态,并基于该角速度和最近一次确定的智能设备的姿态确定第一姿态,获取智能设备上的光源点的至少三个历史位置信息,并基于至少三个历史位置信息,确定光源点的加速度。之后,基于IMU采集的加速度、光源点的加速度和第一姿态,确定智能设备当前的姿态。由此可见,本发明实施例可以通过在智能设备上设置一个光源点来计算该光源点的加速度,进而根据该光源点的加速度、IMU测得的加速度和第一姿态来确定智能设备当前的姿态,相较于相关技术中,需要的光源点的数量大幅减少,因而降低了设备成本,同时,也减小了智能设备的体积。
图3是本发明实施例提供的一种确定姿态的方法的流程图。该方法可以应用于智能设备中,该智能设备可以为前述系统架构中介绍的智能设备,该智能设备中配置有IMU和一个可以作为光源点的发光光源,该智能设备可以为智能手机、平板电脑、VR设备、AR设备等智能设备。参见图3,该方法包括以下步骤:
步骤301:当在当前采样时刻接收到由智能设备中的IMU采集的角速度和加速度时,获取当前采样时刻之前最近一次确定的智能设备的姿态,并基于角速度和最近一次确定的智能设备的姿态确定第一姿态。
其中,基于前述描述可知,IMU可以采集到以智能设备建立的坐标系的三个坐标轴上的三个角速度分量,智能设备可以根据三个角速度分量和IMU的采样周期,对这三个角速度分量进行积分,以确定从上一采样时刻到当前采样时刻智能设备的姿态变化量。之后,智能设备可以获取当前采样时刻之前最近一次确定的智能设备的姿态,并根据确定的姿态变化量和最近一次确定的智能设备的姿态确定得到第一姿态。
需要说明的是,在本发明实施例中,由于智能设备是按照接收到的IMU采集的角速度和加速度的时刻来反馈姿态的,因此,当前采样时刻之前最近一次确定的智能设备的姿态可以是当前采样时刻的上一采样时刻确定的智能设备的姿态。进一步地,如果智能设备在上一采样时刻只接收到IMU采集的数据,但是,未能获取到光源点的位置信息,也未能根据光源点的位置信息确定得到加速度,那么,上一采样时刻确定的智能设备的姿态可以是根据上一采样时刻接收到的IMU采集的角速度计算得到的姿态,也可以是根据上一采样时刻接收到的IMU采集的角速度以及上一采样时刻之前最近一次确定的光源点的加速度确定的姿态。当然,如果上一采样时刻接收到了IMU采集的数据,并且确定了光源点的加速度,那么,上一采样时刻确定的智能设备的姿态可以是上一采样时刻根据接收到的IMU采集的数据以及确定的光源点的加速度确定得到的姿态。
具体的,在本发明实施例中,智能设备的姿态可以通过四元数来表示,在这种情况下,姿态变化量也可以通过四元数来表示。假设姿态变化量为dQ,那么,当用四元数来表示时,dQ=[x,y,z,w]。其中,智能设备可以通过下述公式来计算得到x、y、z和w。
其中,ωx、ωy和ωz分别为角速度在三个轴上的分量,dt为当前采样时刻与上一采样时刻之间的时间间隔。
需要说明的是,在本发明实施例中,不仅可以通过四元数来表示姿态,还可以通过欧拉角或者是矩阵的形式来表示姿态,本发明实施例中仅是以四元数为例进行解释说明。在实际应用中,当通过欧拉角或者矩阵的形式来表示姿态时,确定姿态变化量的原理是不变的,均是通过对角速度进行积分来确定姿态变化量,具体的实现方式可以根据参考不同形式下的数学运算法则进行,本发明实施例对此不再赘述。
当确定上一采样时刻到当前采样时刻之间的智能设备的姿态变化量之后,智能设备可以通过下述公式计算第一姿态:
Q1=Q*dQ
其中,Q1为第一姿态,Q为当前采样时刻之前最近一次确定得到的智能设备的姿态,dQ为通过前述公式确定得到的上一采样时刻到当前采样时刻之间的智能设备的姿态变化量。
步骤302:获取智能设备上的光源点的至少三个历史位置信息。
其中,由前述介绍的系统架构可知,在一种可能的实现方式中,可以利用双目相机来追踪智能设备上的光源点。具体的,双目相机可以在当前采样时刻对智能设备进行图像采集,之后,双目相机可以将采集到的图像发送至智能设备,智能设备可以根据采集到的图像,利用双目视觉算法计算智能设备上的光源点在当前采样时刻所处的位置信息,并将该位置信息确定为至少三个历史位置信息中的第一历史位置信息。之后,智能设备可以获取当前采样时刻之前最近一次根据双目相机采集的图像确定的位置信息,作为第二历史位置信息,然后,智能设备可以获取第二历史位置信息的确定时刻之前最近一次根据双目相机采集的图像确定的位置信息,作为第三历史位置信息,以此类推,从而得到至少三个历史位置信息。需要说明的是,在本发明实施例中,若双目相机具备运算处理能力,则上述的位置信息可以由双目相机根据采集到的图像计算得到,之后,双目相机可以将计算得到的位置信息发送至智能设备,智能设备可以将接收到的位置信息按照确定时刻的先后顺序一一进行存储。其中,根据采集到的图像,利用双目视觉算法计算光源点的位置信息的具体实现过程可以参考相关技术中的双目视觉算法的具体实现过程,本发明实施例在此不再赘述。
可选地,在本发明实施例中,双目相机采集图像的周期可能与IMU采集数据的周期不同,基于此,当智能设备在当前采样时刻接收到IMU采集的数据时,可能并未接收到双目相机采集的图像。在这种情况下,智能设备可以获取当前采样时刻之前最近一次根据双目相机采集的图像确定的光源点的位置信息,作为第一历史位置信息,之后,获取该第一历史位置信息的确定时刻之前最近一次确定的光源点的位置信息,作为第二历史位置信息,然后,获取第二历史位置信息的确定时刻之前最近一次确定的光源点的位置信息,作为第三历史位置信息,以此类推,从而得到至少三个历史位置信息。
需要说明的是,至少三个历史位置信息中每个历史位置信息均为光源点在世界坐标系下的三维坐标。另外,值得注意的是,在本发明实施例中,在根据双目相机采集的图像确定光源点的位置信息时,可以在获取到图像的时刻即进行计算,这样,确定的位置信息即可以作为采集该图像时光源点所处的位置信息。
上述仅仅是以双目相机为例来示例性的说明了获取光源点的至少三个历史位置信息的具体实现方式,在本发明实施例中,还可以通过诸如激光扫描测距仪等其他追踪设备来追踪智能设备上的光源点,也即,光源点的历史位置信息也可以是通过其他追踪设备来确定的,在这种情况下,智能设备获取光源点的至少三个历史位置信息的具体实现方式可以参考上述的具体实现方式,本发明实施例在此不再赘述。
步骤303:基于至少三个历史位置信息,确定光源点的加速度。
当获取到至少三个历史位置信息之后,智能设备可以按照至少三个历史位置信息的确定时刻对至少三个历史位置信息进行排序,并基于排序结果中每相邻的两个历史位置信息确定光源点的至少两个位移,之后,智能设备可以确定至少两个位移中每个位移对应的两个历史位置信息的确定时刻之间的时间间隔,并基于确定的至少两个时间间隔以及至少两个位移,确定光源点的加速度。
其中,基于步骤302中的描述可知,至少三个历史位置信息实际上是智能设备根据各个位置信息的确定时刻获取的,基于此,智能设备可以按照各个历史位置信息的确定时刻对至少三个历史位置信息进行排序。之后,智能设备可以计算排序结果中每相邻的两个历史位置信息之间的差值,从而得到相应地两个历史位置信息对应的位移。之后,对于每个位移,智能设备可以根据该位移与该位移对应的两个历史位置信息的确定时刻之间的时间间隔,计算得到光源点在该位移内的速度。当计算得到光源点在每个位移内的速度之后,智能设备可以根据每个位移内的速度确定光源点的加速度。
例如,假设智能设备获取到的至少三个历史位置信息分别为A、B和C,其中,A的确定时刻距离当前采样时刻最近,B的确定时刻距离A的确定时刻最近,C的确定时刻距离B的确定时刻最近,且A的确定时刻与B的确定时刻之间的时间间隔为Δt1,B的确定时刻与C的确定时刻之间的时间间隔为Δt1。智能设备可以计算光源点从B移动到A的位移S1,光源点从C移动到B的位移S2。之后,智能设备可以根据S1和Δt1,计算得到光源点在S1之内的速度υ1,根据S2和Δt2,计算得到光源点在S2之内的速度υ2。之后,智能设备可以根据速度υ1、速度υ2以及时间间隔Δt1确定光源点的加速度。
在上述示例中,A的确定时刻与B的确定时刻之间的时间间隔以及B的确定时刻与C的确定时刻之间的时间间隔可以是相等的,可选地,在某些情况下,若时间间隔不相等,则智能设备可以计算两个时间间隔的平均值,并根据速度υ1、速度υ2以及时间间隔的平均值来确定光源点的加速度。
需要说明的是,由于光源点的位移是包含有方向信息的矢量数据,因此,通过该光源点的位移确定得到的光源点的加速度也是包含了方向信息的矢量数据,且该光源点的加速度的方向和光源点的位移的方向是相同的。
另外,还需要注意的是,上述仅是以三个历史位置信息为例进行说明,在实际应用中,智能设备可以通过更多的历史位置信息来确定光源点的加速度,以此来提高光源点的加速度的精确度。例如,智能设备可以通过更多的历史位置信息确定多个光源点的加速度,之后,将多个光源点的加速度进行平均,从而作为最终的加速度。可选地,在本发明实施例中,智能设备还可以采用其他的滤波方法来提高光源点的加速度的准确性,本发明实施例对此不做具体限定。
当通过上述步骤确定光源点的加速度之后,接下来可以通过步骤304-306基于IMU采集的加速度、光源点的加速度和第一姿态,确定智能设备当前的姿态。
步骤304:对IMU采集的加速度进行处理,得到处理后的加速度。
在本发明实施例中,由于IMU采集的加速度实际上是以智能设备建立的坐标系下的加速度,而光源点的加速度则是在世界坐标系下的加速度,因此,为了后续能够将IMU采集的加速度和光源点的加速度进行比较,智能设备可以根据世界坐标系与以智能设备建立的坐标系之间的转换关系,将IMU采集的加速度转换至世界坐标系中。
另外,由于IMU包括的加速度计采集的加速度不仅包含智能设备运动所引起的加速度分量,而且还包含有重力引起的加速度分量,而通过光源点的第一位置信息和第二位置信息确定得到的光源点的加速度,则是由智能设备运动所引起的加速度,因此,智能设备可以将转换坐标系后的IMU采集的加速度中由重力引起的加速度分量去除,从而得到处理后的加速度。
步骤305:获取处理后的加速度与光源点的加速度之间的方向偏差。
基于前述描述可知,加速度是包含有方向信息的矢量数据,因此,在对IMU采集的加速度进行处理之后,智能设备可以将处理后的加速度的方向与光源点的加速度的方向进行比较,从而得到处理后的加速度的方向与光源点的加速度方向之间的方向偏差。由于处理后的加速度和光源点的加速度实际上均是由智能设备的运动所引起的加速度,不同之处在于处理后的加速度是利用IMU测量得到,而光源点的加速度则是通过追踪设备测量的光源点的位置信息确定得到。由于二者均是由智能设备的运动所引起的加速度,因此,在理想状态下,处理后的加速度的方向和光源点的加速度的方向应是一致的,然而,在实际应用中,由于通过对IMU测量的角速度进行积分确定的智能设备的姿态会随着时间累积而发生角度漂移,在此基础上,以智能设备的坐标系测得的加速度的方向也会随着时间增加而出现偏差,因此,智能设备可以计算处理后的加速度的方向与光源点的加速度的方向之间的方向偏差,该方向偏差实际上就是根据IMU测得的第一姿态所存在的偏差。
步骤306:基于方向偏差和第一姿态,确定智能设备当前的姿态。
由于IMU采集的加速度和光源点的加速度之间的方向偏差实际上就是第一姿态与准确的姿态之间的偏差,因此,当确定该方向偏差之后,智能设备可以通过该方向偏差来校正第一姿态,并将校正后的姿态确定为智能设备当前的姿态。
具体的,智能设备可以基于方向偏差,通过下述公式对第一姿态进行校正,得到第二姿态。
Q2=Q1·ΔQ
其中,Q1为第一姿态,Q2为第二姿态,ΔQ为方向偏差。
当确定第二姿态之后,智能设备可以直接将该第二姿态确定为智能设备当前的姿态。
可选地,由于通常在对智能设备的姿态进行校正时,若直接跳变到校正后的姿态,智能设备在根据该校正后的姿态进行响应时,会给用户带来不好的体验。基于此,智能设备可以在确定第二姿态之后,基于该第一姿态和第二姿态确定智能设备当前的姿态,以此来保证姿态输出的稳定性和平滑性。
具体的,智能设备可以通过以下两种方式来确定智能设备当前的姿态。
第一种方式:智能设备可以基于第一姿态和第二姿态,通过下述公式计算智能设备当前的姿态;
cosΩ=Q1·Q2
其中,Slerp(Q1,Q2,gain)为智能设备当前的姿态,Q1为第一姿态,Q2为第二姿态,gain是指为第二姿态预设的权重,(1-gain)则为第一姿态对应的权重。
第二种方式:智能设备可以基于第一姿态和第二姿态,通过下述公式计算智能设备当前的姿态;
Lerp(Q1,Q2,gain)=(1-gain)×Q1+gain×Q2
其中,Lerp(Q1,Q2,gain)为智能设备当前的姿态,Q1为第一姿态,Q2为第二姿态,gain是指为第二姿态预设的权重,(1-gain)为第一姿态对应的权重。
在本发明实施例中,智能设备可以基于IMU采集的角速度和最近一次确定的智能设备的姿态来确定第一姿态,之后,智能设备可以根据光源点的历史位置信息确定光源点的加速度,并确定光源点的加速度和IMU采集的加速度之间的方向偏差,该方向偏差实际上就是智能设备的第一姿态相较于当前准确姿态的姿态偏差,之后,智能设备可以基于该方向偏差来对第一姿态进行校正,从而将校正的姿态确定为智能设备当前的姿态。由此可见,在本发明实施例中,只需在智能设备上设置一个发光光源即可以实现对第一姿态的校正,相较于相关技术中通过测量多个光源点的位置信息来确定智能设备的光学姿态,进而根据该光学姿态来校正第一姿态的方法,本发明实施例提供的确定姿态的方法大量减少了需要的光源点的数量,降低了设备成本,同时,由于需要配置在智能设备上作为光源点的发光光源的数量大幅减少,因此,减少了发光光源对智能设备的体积的占用,从而减小了智能设备的体积。另外,由于本发明实施例是通过计算光源点的加速度和IMU的加速度之间的方向偏差来对第一姿态校正,因此,相对于相关技术中需要通过多个光源点的位置信息来确定用于校正第一姿态的光学姿态,减少了计算量,操作也更为简便。
接下来对本发明实施例提供的确定姿态的装置进行介绍。
参见图4A,本发明实施例提供了一种确定姿态的装置400,该装置400可以集成于智能设备中,该智能设备可以为前述系统架构中介绍的智能设备,该智能设备中配置有IMU和一个可以作为光源点的发光光源,该智能设备可以为智能手机、平板电脑、VR设备、AR设备等智能设备。该装置400包括:
第一确定模块401,用于当在当前采样时刻接收到由智能设备中的惯性测量单元IMU采集的角速度和加速度时,获取当前采样时刻之前最近一次确定的智能设备的姿态,并基于角速度和最近一次确定的智能设备的姿态确定第一姿态;
获取模块402,用于获取智能设备上的光源点的至少三个历史位置信息,至少三个历史位置信息是指在当前采样时刻之前确定的光源点所处的位置信息;
第二确定模块403,用于基于至少三个历史位置信息,确定光源点的加速度;
第三确定模块404,用于基于IMU采集的加速度、光源点的加速度和第一姿态,确定智能设备当前的姿态。
可选地,第二确定模块403具体用于:
按照至少三个历史位置信息的确定时刻对至少三个历史位置信息进行排序,并基于排序结果中每相邻的两个历史位置信息确定光源点的至少两个位移;
确定至少两个位移中每个位移对应的两个历史位置信息的确定时刻之间的时间间隔;
基于确定的至少两个时间间隔以及至少两个位移,确定光源点的加速度。
可选地,参见图4B,第三确定模块404包括:
处理子模块4041,用于对IMU采集的加速度进行处理,得到处理后的加速度;
获取子模块4042,用于获取处理后的加速度与光源点的加速度之间的方向偏差;
确定子模块4043,用于基于方向偏差和第一姿态,确定智能设备当前的姿态。
可选地,处理子模块具体用于:
将IMU采集的加速度转换到光源点的加速度所在的坐标系下,并将转换坐标系后的加速度中的重力加速度去除,得到处理后的加速度。
可选地,确定子模块具体用于:
基于方向偏差,通过下述公式对第一姿态进行校正,得到第二姿态;
Q2=Q1·ΔQ
其中,Q1为第一姿态,Q2为第二姿态,ΔQ为方向偏差;
基于第一姿态和第二姿态,确定智能设备当前的姿态。
可选地,确定子模块具体用于:
基于第一姿态和第二姿态,通过下述公式计算智能设备当前的姿态;
cosΩ=Q1·Q2
其中,Slerp(Q1,Q2,gain)为智能设备当前的姿态,Q1为第一姿态,Q2为第二姿态,gain是指为第二姿态预设的权重。
可选地,确定子模块具体用于:
基于第一姿态和第二姿态,通过下述公式计算智能设备当前的姿态;
Lerp(Q1,Q2,gain)=(1-gain)×Q1+gain×Q2
其中,Lerp(Q1,Q2,gain)为智能设备当前的姿态,Q1为第一姿态,Q2为第二姿态,gain是指为第二姿态预设的权重。
综上所述,在本发明实施例中,当在当前采样时刻接收到由智能设备中的IMU采集的角速度和加速度时,获取当前采样时刻之前最近一次确定的智能设备的姿态,并基于该角速度和最近一次确定的智能设备的姿态确定第一姿态,获取智能设备上的光源点的至少三个历史位置信息,并基于至少三个历史位置信息,确定光源点的加速度。之后,基于IMU采集的加速度、光源点的加速度和第一姿态,确定智能设备当前的姿态。由此可见,本发明实施例可以通过在智能设备上设置一个光源点来计算该光源点的加速度,进而根据该光源点的加速度、IMU测得的加速度和第一姿态来确定智能设备当前的姿态,相较于相关技术中,需要的光源点的数量大幅减少,因而降低了设备成本,同时,也减小了智能设备的体积。
需要说明的是:上述实施例提供的确定姿态的装置在确定姿态时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的确定姿态的装置与确定姿态的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5示出了本发明一个示例性实施例提供的智能设备500的结构框图。该智能设备500可以是:智能手机、平板电脑、VR设备、AR设备、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器。
通常,智能设备500包括有:处理器501和存储器502。
处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申请中方法实施例提供的确定姿态的方法。
在一些实施例中,智能设备500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射频电路504、触摸显示屏505、摄像头506、音频电路507、定位组件508和电源509中的至少一种。
外围设备接口503可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它智能设备进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏505用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置智能设备500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在智能设备500的不同表面或呈折叠设计;在再一些实施例中,显示屏505可以是柔性显示屏,设置在智能设备500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在智能设备的前面板,后置摄像头设置在智能设备的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在智能设备500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。
定位组件508用于定位智能设备500的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件508可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源509用于为智能设备500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,智能设备500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515、接近传感器516以及磁力传感器517。
加速度传感器511可以检测以智能设备500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制触摸显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器512可以检测智能设备500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对智能设备500的3D动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器513可以设置在智能设备500的侧边框和/或触摸显示屏505的下层。当压力传感器513设置在智能设备500的侧边框时,可以检测用户对智能设备500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在触摸显示屏505的下层时,由处理器501根据用户对触摸显示屏505的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置智能设备500的正面、背面或侧面。当智能设备500上设置有物理按键或厂商Logo时,指纹传感器514可以与物理按键或厂商Logo集成在一起。
光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制触摸显示屏505的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏505的显示亮度;当环境光强度较低时,调低触摸显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。
接近传感器516,也称距离传感器,通常设置在智能设备500的前面板。接近传感器516用于采集用户与智能设备500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与智能设备500的正面之间的距离逐渐变小时,由处理器501控制触摸显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与智能设备500的正面之间的距离逐渐变大时,由处理器501控制触摸显示屏505从息屏状态切换为亮屏状态。
磁力传感器517也叫地磁、磁感器,可以检测智能设备500所处环境的磁场强度和方向。在本发明实施例中,可以将加速度传感器511、陀螺仪传感器512和磁力传感器517结合起来确定智能设备当前的姿态。
本领域技术人员可以理解,图5中示出的结构并不构成对智能设备500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种确定姿态的方法,其特征在于,应用于智能设备,所述智能设备配置有惯性测量单元IMU和一个作为光源点的发光光源,所述方法包括:
当在当前采样时刻接收到由所述智能设备中的惯性测量单元IMU采集的角速度和加速度时,获取当前采样时刻之前最近一次确定的所述智能设备的姿态,并基于所述角速度和所述最近一次确定的所述智能设备的姿态确定第一姿态;
获取所述智能设备上的光源点的至少三个历史位置信息,并基于所述至少三个历史位置信息,确定所述光源点的加速度,所述至少三个历史位置信息是指在当前采样时刻之前确定的所述光源点所处的位置信息;
基于所述IMU采集的加速度、所述光源点的加速度和所述第一姿态,确定所述智能设备当前的姿态。
2.根据权利要求1所述的方法,其特征在于,所述基于所述至少三个历史位置信息,确定所述光源点的加速度,包括:
按照所述至少三个历史位置信息的确定时刻对所述至少三个历史位置信息进行排序,并基于排序结果中每相邻的两个历史位置信息确定所述光源点的至少两个位移;
确定所述至少两个位移中每个位移对应的两个历史位置信息的确定时刻之间的时间间隔;
基于确定的至少两个时间间隔以及所述至少两个位移,确定所述光源点的加速度。
3.根据权利要求1所述的方法,其特征在于,所述基于所述IMU采集的加速度、所述光源点的加速度和所述第一姿态,确定所述智能设备当前的姿态,包括:
对所述IMU采集的加速度进行处理,得到处理后的加速度;
获取所述处理后的加速度与所述光源点的加速度之间的方向偏差;
基于所述方向偏差和所述第一姿态,确定所述智能设备当前的姿态。
4.根据权利要求3所述的方法,其特征在于,所述对所述IMU采集的加速度进行处理,得到处理后的加速度,包括:
将所述IMU采集的加速度转换到所述光源点的加速度所在的坐标系下,并将转换坐标系后的加速度中的重力加速度去除,得到所述处理后的加速度。
5.根据权利要求3所述的方法,其特征在于,所述基于所述方向偏差和所述第一姿态,确定所述智能设备当前的姿态,包括:
基于所述方向偏差,通过下述公式对所述第一姿态进行校正,得到第二姿态;
Q2=Q1·ΔQ
其中,所述Q1为所述第一姿态,所述Q2为所述第二姿态,所述ΔQ为所述方向偏差;
基于所述第一姿态和所述第二姿态,确定所述智能设备当前的姿态。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第一姿态和所述第二姿态,确定所述智能设备当前的姿态,包括:
基于所述第一姿态和所述第二姿态,通过下述公式计算所述智能设备当前的姿态;
cosΩ=Q1·Q2
其中,所述Slerp(Q1,Q2,gain)为所述智能设备当前的姿态,所述Q1为所述第一姿态,所述Q2为所述第二姿态,所述gain是指为所述第二姿态预设的权重。
7.根据权利要求5所述的方法,其特征在于,所述基于所述第一姿态和所述第二姿态,确定所述智能设备当前的姿态,包括:
基于所述第一姿态和所述第二姿态,通过下述公式计算所述智能设备当前的姿态;
Lerp(Q1,Q2,gain)=(1-gain)×Q1+gain×Q2
其中,所述Lerp(Q1,Q2,gain)为所述智能设备当前的姿态,所述Q1为所述第一姿态,所述Q2为所述第二姿态,所述gain是指为所述第二姿态预设的权重。
8.一种确定姿态的装置,其特征在于,集成于应用于智能设备,所述智能设备配置有惯性测量单元IMU和一个作为光源点的发光光源,所述装置包括:
第一确定模块,用于当在当前采样时刻接收到由所述智能设备中的惯性测量单元IMU采集的角速度和加速度时,获取当前采样时刻之前最近一次确定的所述智能设备的姿态,并基于所述角速度和所述最近一次确定的所述智能设备的姿态确定第一姿态;
获取模块,用于获取所述智能设备上的光源点的至少三个历史位置信息,所述至少三个历史位置信息是指在当前采样时刻之前确定的所述光源点所处的位置信息;
第二确定模块,用于基于所述至少三个历史位置信息,确定所述光源点的加速度;
第三确定模块,用于基于所述IMU采集的加速度、所述光源点的加速度和所述第一姿态,确定所述智能设备当前的姿态。
9.根据权利要求8所述的装置,其特征在于,所述第二确定模块具体用于:
按照所述至少三个历史位置信息的确定时刻对所述至少三个历史位置信息进行排序,并基于排序结果中每相邻的两个历史位置信息确定所述光源点的至少两个位移;
确定所述至少两个位移中每个位移对应的两个历史位置信息的确定时刻之间的时间间隔;
基于确定的至少两个时间间隔以及所述至少两个位移,确定所述光源点的加速度。
10.根据权利要求8所述的装置,其特征在于,所述第三确定模块包括:
处理子模块,用于对所述IMU采集的加速度进行处理,得到处理后的加速度;
获取子模块,用于获取所述处理后的加速度与所述光源点的加速度之间的方向偏差;
确定子模块,用于基于所述方向偏差和所述第一姿态,确定所述智能设备当前的姿态。
11.根据权利要求10所述的装置,其特征在于,所述处理子模块具体用于:
将所述IMU采集的加速度转换到所述光源点的加速度所在的坐标系下,并将转换坐标系后的加速度中的重力加速度去除,得到所述处理后的加速度。
12.根据权利要求10所述的装置,其特征在于,所述确定子模块具体用于:
基于所述方向偏差,通过下述公式对所述第一姿态进行校正,得到第二姿态;
Q2=Q1·ΔQ
其中,所述Q1为所述第一姿态,所述Q2为所述第二姿态,所述ΔQ为所述方向偏差;
基于所述第一姿态和所述第二姿态,确定所述智能设备当前的姿态。
13.根据权利要求12所述的装置,其特征在于,所述确定子模块具体用于:
基于所述第一姿态和所述第二姿态,通过下述公式计算所述智能设备当前的姿态;
cosΩ=Q1·Q2
其中,所述Slerp(Q1,Q2,gain)为所述智能设备当前的姿态,所述Q1为所述第一姿态,所述Q2为所述第二姿态,所述gain是指为所述第二姿态预设的权重。
14.根据权利要求12所述的装置,其特征在于,所述确定子模块具体用于:
基于所述第一姿态和所述第二姿态,通过下述公式计算所述智能设备当前的姿态;
Lerp(Q1,Q2,gain)=(1-gain)×Q1+gain×Q2
其中,所述Lerp(Q1,Q2,gain)为所述智能设备当前的姿态,所述Q1为所述第一姿态,所述Q2为所述第二姿态,所述gain是指为所述第二姿态预设的权重。
15.一种智能设备,其特征在于,所述智能设备包括:
IMU,用于采集运动数据;
作为光源点的发光光源;
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为权利要求1-7所述的任一项方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810578919.7A CN108844529A (zh) | 2018-06-07 | 2018-06-07 | 确定姿态的方法、装置及智能设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810578919.7A CN108844529A (zh) | 2018-06-07 | 2018-06-07 | 确定姿态的方法、装置及智能设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108844529A true CN108844529A (zh) | 2018-11-20 |
Family
ID=64210576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810578919.7A Pending CN108844529A (zh) | 2018-06-07 | 2018-06-07 | 确定姿态的方法、装置及智能设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108844529A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110530356A (zh) * | 2019-09-04 | 2019-12-03 | 青岛海信电器股份有限公司 | 位姿信息的处理方法、装置、设备及存储介质 |
CN110837089A (zh) * | 2019-11-12 | 2020-02-25 | 东软睿驰汽车技术(沈阳)有限公司 | 一种位移填补的方法和相关装置 |
CN113965692A (zh) * | 2020-11-30 | 2022-01-21 | 深圳卡多希科技有限公司 | 一种光源点控制摄像头装置转动的方法和装置 |
CN114115521A (zh) * | 2020-09-01 | 2022-03-01 | 宏达国际电子股份有限公司 | 追踪方法与追踪系统 |
CN116972832A (zh) * | 2022-04-22 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 一种姿态确定方法及相关装置 |
TWI838898B (zh) * | 2022-08-30 | 2024-04-11 | 宏達國際電子股份有限公司 | 虛擬實境追蹤器及追蹤器校正位置方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101855517A (zh) * | 2007-11-13 | 2010-10-06 | 皇家飞利浦电子股份有限公司 | 目标的方位测量 |
CN103197774A (zh) * | 2012-01-09 | 2013-07-10 | 西安智意能电子科技有限公司 | 一种为发射光源的运动轨迹映射其应用轨迹的方法与系统 |
US20140073383A1 (en) * | 2012-09-12 | 2014-03-13 | Industrial Technology Research Institute | Method and system for motion comparison |
CN105631919A (zh) * | 2015-07-09 | 2016-06-01 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和装置 |
CN105953798A (zh) * | 2016-04-19 | 2016-09-21 | 深圳市神州云海智能科技有限公司 | 移动机器人的位姿确定方法和设备 |
CN106643699A (zh) * | 2016-12-26 | 2017-05-10 | 影动(北京)科技有限公司 | 一种虚拟现实系统中的空间定位装置和定位方法 |
-
2018
- 2018-06-07 CN CN201810578919.7A patent/CN108844529A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101855517A (zh) * | 2007-11-13 | 2010-10-06 | 皇家飞利浦电子股份有限公司 | 目标的方位测量 |
CN103197774A (zh) * | 2012-01-09 | 2013-07-10 | 西安智意能电子科技有限公司 | 一种为发射光源的运动轨迹映射其应用轨迹的方法与系统 |
US20140073383A1 (en) * | 2012-09-12 | 2014-03-13 | Industrial Technology Research Institute | Method and system for motion comparison |
CN105631919A (zh) * | 2015-07-09 | 2016-06-01 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和装置 |
CN105953798A (zh) * | 2016-04-19 | 2016-09-21 | 深圳市神州云海智能科技有限公司 | 移动机器人的位姿确定方法和设备 |
CN106643699A (zh) * | 2016-12-26 | 2017-05-10 | 影动(北京)科技有限公司 | 一种虚拟现实系统中的空间定位装置和定位方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110530356A (zh) * | 2019-09-04 | 2019-12-03 | 青岛海信电器股份有限公司 | 位姿信息的处理方法、装置、设备及存储介质 |
CN110530356B (zh) * | 2019-09-04 | 2021-11-23 | 海信视像科技股份有限公司 | 位姿信息的处理方法、装置、设备及存储介质 |
CN110837089A (zh) * | 2019-11-12 | 2020-02-25 | 东软睿驰汽车技术(沈阳)有限公司 | 一种位移填补的方法和相关装置 |
CN110837089B (zh) * | 2019-11-12 | 2022-04-01 | 东软睿驰汽车技术(沈阳)有限公司 | 一种位移填补的方法和相关装置 |
CN114115521A (zh) * | 2020-09-01 | 2022-03-01 | 宏达国际电子股份有限公司 | 追踪方法与追踪系统 |
CN114115521B (zh) * | 2020-09-01 | 2023-08-29 | 宏达国际电子股份有限公司 | 追踪方法与追踪系统 |
CN113965692A (zh) * | 2020-11-30 | 2022-01-21 | 深圳卡多希科技有限公司 | 一种光源点控制摄像头装置转动的方法和装置 |
CN116972832A (zh) * | 2022-04-22 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 一种姿态确定方法及相关装置 |
TWI838898B (zh) * | 2022-08-30 | 2024-04-11 | 宏達國際電子股份有限公司 | 虛擬實境追蹤器及追蹤器校正位置方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11205282B2 (en) | Relocalization method and apparatus in camera pose tracking process and storage medium | |
CN108844529A (zh) | 确定姿态的方法、装置及智能设备 | |
US11436779B2 (en) | Image processing method, electronic device, and storage medium | |
CN109712224A (zh) | 虚拟场景的渲染方法、装置及智能设备 | |
CN109767487A (zh) | 人脸三维重建方法、装置、电子设备及存储介质 | |
CN109166150B (zh) | 获取位姿的方法、装置存储介质 | |
CN109947886A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN110276840A (zh) | 多虚拟角色的控制方法、装置、设备及存储介质 | |
CN109558837B (zh) | 人脸关键点检测方法、装置及存储介质 | |
CN110148178A (zh) | 相机定位方法、装置、终端及存储介质 | |
CN108491748B (zh) | 图形码的识别及生成方法、装置及计算机可读存储介质 | |
CN110288689A (zh) | 对电子地图进行渲染的方法和装置 | |
CN109522863A (zh) | 耳部关键点检测方法、装置及存储介质 | |
CN110081902A (zh) | 导航中的方向指示方法、装置及终端 | |
CN109583370A (zh) | 人脸结构网格模型建立方法、装置、电子设备及存储介质 | |
CN109886208A (zh) | 物体检测的方法、装置、计算机设备及存储介质 | |
CN111126276A (zh) | 车道线检测方法、装置、计算机设备及存储介质 | |
CN110956580A (zh) | 图像换脸的方法、装置、计算机设备以及存储介质 | |
CN109767482B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN110147796A (zh) | 图像匹配方法及装置 | |
CN109345447A (zh) | 面部替换处理的方法和装置 | |
CN112967261B (zh) | 图像融合方法、装置、设备及存储介质 | |
CN112990421B (zh) | 优化深度学习网络的运行过程的方法、装置及存储介质 | |
CN116258810A (zh) | 路面要素的渲染方法、装置、设备及存储介质 | |
CN110132294A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 266555 Qingdao economic and Technological Development Zone, Shandong, Hong Kong Road, No. 218 Applicant after: Hisense Visual Technology Co., Ltd. Address before: 266555 Qingdao economic and Technological Development Zone, Shandong, Hong Kong Road, No. 218 Applicant before: QINGDAO HISENSE ELECTRONICS Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181120 |