CN112087728B - 获取Wi-Fi指纹空间分布的方法、装置和电子设备 - Google Patents
获取Wi-Fi指纹空间分布的方法、装置和电子设备 Download PDFInfo
- Publication number
- CN112087728B CN112087728B CN202010705291.XA CN202010705291A CN112087728B CN 112087728 B CN112087728 B CN 112087728B CN 202010705291 A CN202010705291 A CN 202010705291A CN 112087728 B CN112087728 B CN 112087728B
- Authority
- CN
- China
- Prior art keywords
- video frame
- pose
- frame
- terminal device
- terminal equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 208
- 230000008569 process Effects 0.000 claims abstract description 121
- 238000005259 measurement Methods 0.000 claims abstract description 13
- 239000013598 vector Substances 0.000 claims description 89
- 238000012545 processing Methods 0.000 claims description 69
- 238000001514 detection method Methods 0.000 claims description 67
- 238000006073 displacement reaction Methods 0.000 claims description 55
- 230000006870 function Effects 0.000 claims description 42
- 238000012795 verification Methods 0.000 claims description 8
- 238000009434 installation Methods 0.000 claims description 5
- 230000002123 temporal effect Effects 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 20
- 230000001133 acceleration Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 230000036544 posture Effects 0.000 description 9
- 230000002829 reductive effect Effects 0.000 description 9
- 238000013519 translation Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 238000005286 illumination Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005295 random walk Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/33—Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings
-
- 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/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
- G01S5/0252—Radio frequency fingerprinting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30232—Surveillance
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供一种获取Wi‑Fi指纹空间分布的方法、装置和电子设备,该方法包括:采集当前时间窗口内的目标区域的视频帧、Wi‑Fi指纹,以及终端设备的惯性测量单元imu数据;基于视频帧和imu数据,获取终端设备在目标区域移动过程中的位姿;将终端设备在目标区域移动过程中的位姿和终端设备在目标区域移动过程中采集的Wi‑Fi指纹按照时间对齐,得到目标区域的Wi‑Fi指纹空间分布。本申请实施例可以采用终端设备获取Wi‑Fi指纹空间分布,适用性高,且还能够避免预先设置外部锚点的位置导致的采集效率低的问题,另外终端设备不仅能够精准定位位置,还能够获取准确的设备姿态,提高了Wi‑Fi指纹空间分布的准确性。
Description
技术领域
本申请实施例涉及计算机视觉技术,尤其涉及一种获取Wi-Fi指纹空间分布的方法、装置和电子设备。
背景技术
随着互联网的普及,大部分室内环境都存在Wi-Fi网络。Wi-Fi指纹是Wi-Fi信号的属性信息,如Wi-Fi信号的强度、频段等。路由器作为电子设备接入Wi-Fi网络的设备,布局在室内空间中,若路由器的布局合理,则Wi-Fi信号能够稳定覆盖室内的每个位置。因此,获取室内Wi-Fi指纹空间分布,即室内各位置处的Wi-Fi指纹至关重要。
现有技术中,为了获取室内Wi-Fi指纹空间分布,可以预先将室内划分为多个已知位置的网格,用户可以手持专用设备在已知位置处采集Wi-Fi指纹,进而将已知位置和已知位置处的Wi-Fi指纹对应存储,得到Wi-Fi指纹空间分布。
现有技术的采集方式中,需要预先确定已知位置,进而采集该已知位置处的Wi-Fi指纹进行存储,采集效率低,且目前需要采用专用设备采集Wi-Fi指纹,适用性低。
发明内容
本申请实施例提供一种获取Wi-Fi指纹空间分布的方法、装置和电子设备,不仅可以采用终端设备获取Wi-Fi指纹空间分布,适用性高,且还能够提高Wi-Fi指纹空间分布的获取效率和准确性。
第一方面,本申请实施例提供一种获取Wi-Fi指纹空间分布的方法,该方法可以应用于终端设备、也可以应用于终端设备中的芯片。下面以应用于终端设备为例对该方法进行描述,该方法中,在终端设备在目标区域移动的过程中,终端设备采集当前时间窗口内的所述目标区域的视频帧、Wi-Fi指纹,以及所述终端设备的惯性测量单元imu数据。应理解,本申请实施例中,终端设备可以每隔预设时间窗口,获取目标区域的视频帧、Wi-Fi指纹和imu数据,且可以根据当前时间窗口内的目标区域的视频帧、Wi-Fi指纹和imu数据,获取终端设备在当前时间窗口内在目标区域移动过程中的位姿。本申请实施例中,可以根据基于所述视频帧和所述imu数据,对所述终端设备进行定位,获取所述终端设备在移动过程中的位姿。也就是说,本申请实施例中,可以根据终端设备在当前时间窗口内的位姿,对历史时间窗口内获取的终端设备的位姿进行校正或处理,以得到所述终端设备在目标区域移动过程中的位姿。
在获取终端设备在目标区域移动过程中的位姿后,可以将所述终端设备在目标区域移动过程中的位姿和所述终端设备在目标区域移动过程中采集的Wi-Fi指纹按照时间对齐,得到所述目标区域的Wi-Fi指纹空间分布。其中,Wi-Fi指纹空间分布可以理解为终端设备在目标区域内移动时的位姿和Wi-Fi指纹的对应关系。本申请实施例中用户可以通过自己的终端设备就能够获取Wi-Fi指纹空间分布,适用性高,避免了需要采用专用设备的问题。另外本申请实施例中是通过终端设备自身获取终端设备的位姿,一方面能够避免预先设置外部锚点的位置导致的采集效率低的问题,另一方面终端设备不仅能够精准定位位置,还能够获取准确的设备姿态,提高了Wi-Fi指纹空间分布的准确性。
应注意,本申请实施例中在获取终端设备在目标区域移动过程中的位姿时,可以根据所述imu数据,获取所述终端设备在采集所述视频帧时的相对移动信息。应理解,终端设备在目标区域移动的过程中可以采集多个视频帧,终端设备在采集每个视频帧时均具有对应的位姿,因为imu数据可以表征终端设备在移动过程中的运动姿态,则终端设备可以通过imu数据,获取终端设备在采集所述视频帧时的相对移动信息。本申请实施例中可以根据所述视频帧和前一个视频帧之间所述终端设备采集的imu数据,得到所述相对移动信息,所述相对移动信息表征终端设备采集所述视频帧时相较于采集前一个视频帧时的移动情况,该移动情况可以表征终端设备位置的移动。也就是说,终端设备在采集相邻两个视频帧时,可以采集imu数据,进而根据该相邻两个视频帧之间所述终端设备采集的imu数据,得到终端设备在采集后一个视频帧时,相对于前一个视频帧的相对移动信息。本申请实施例中,终端设备可以获取所述视频帧的特征,该视频帧的特征包括视频帧的点特征和/或线特征。其中,终端设备可以获取视频帧的点特征和/或线特征,进而根据所述相对移动信息、所述点特征和/或所述线特征(视频帧的特征),获取所述终端设备采集所述视频帧时的位姿,以得到所述终端设备在所述目标区域移动过程中的位姿。应理解,本申请实施例中采用视频帧的点特征和线特征,相较于采用点特征或线特征的方式,因为视频帧中的特征增多,因此可以提高终端设备定位的准确性(即获取所述终端设备采集所述视频帧时的位姿的准确性)。
下述首先介绍本申请实施例中获取视频帧的点特征的过程:
本申请实施例中,终端设备可以获取视频帧中的点特征,其中,若在一视频帧中采集的点特征过少,则点特征对该视频帧的特征描述的准确度可能较低,但若在一视频帧中采集的点特征过多,则加大了导致终端设备的计算量,因此,本申请实施例中可以预先设置第一数量阈值,可以在保证视频帧的特征的描述的准确性的基础上,减少终端设备的计算量。其中,第一个视频帧满足上述预先设置点特征检测参数。也就是说,第一个视频帧满足如下条件:第一个视频帧中的角点的数量小于或等于第二数量阈值,以及第一个视频帧的点特征的数量大于或等于第一数量阈值,以及第一个视频帧中的角点之间的距离大于或等于第一距离阈值,以及第一个视频帧中的角点的质量等级大于预设等级。本申请实施例中,可以采用点特征追踪的方法,而并非点特征匹配的方式在每个视频帧中获取点特征,可以减少计算量,提高获取点特征的速度。
也就是说,本申请实施例可以在所述视频帧中,追踪前一个视频帧的点特征,其中,若所述视频帧中追踪得到的点特征的数量小于第一数量阈值,则在所述视频帧中提取新的点特征,以得到所述第一数量阈值的点特征,进而将所述视频帧中追踪得到的点特征和所述新的点特征作为所述视频帧的点特征。其中,需要注意的是,若所述视频帧中追踪得到的点特征的数量等于第一数量阈值,则在下一个所述视频帧中追踪该视频帧中的点特征。其中,为了提高在视频帧中追踪的点特征的准确性,还可以获取追踪错误的点特征,且在所述视频帧中删除所述追踪错误的点特征。
其次介绍本申请实施例中获取视频帧的线特征的过程:
本申请实施例中,采用线特征匹配的方式,获取将所述视频帧的线特征与前一个视频帧的线特征进行匹配,进而建立初始线对,其中,所述初始线对指示在所述视频帧和所述前一个视频帧中匹配成功的两个线特征。为了保证本申请实施例中线特征的匹配的准确性,进而提高终端设备的位姿的准确性,本申请实施例中可以在所述初始线对中,删除错误的线对,以得到所述视频帧中的线特征。
本申请实施例中可以获取线对中获取两个线特征的距离、线段长度差以及线段夹角,进而根据两个线特征的距离、线段长度差以及线段夹角确定错误的线对。其中,错误的线对具备:两个线特征的距离大于第二距离阈值的线对,或者两个线特征的线段长度差大于长度差阈值的线对,或者两个线特征的线段夹角大于第二角度阈值的线对。另外,值得注意的是,本申请实施例中在根据所述相对移动信息、所述点特征和所述线特征,获取所述终端设备在移动过程中的位姿的方式可以包括下述两种方式。其中,相对移动信息包括:相对位移和相对角度,且此处对本申请实施例中的关键帧进行介绍:
本申请实施例中,可以根据所述相对位移、所述相对角度或所述视频帧与前一个关键帧之间的时间差,得到关键帧。其中,所述关键帧满足如下至少一项条件:所述相对位移大于第一位移阈值,或者所述相对角度大于第一角度阈值,或者所述时间差大于时间差阈值。应注意的是,终端设备在采集一视频帧后,可以依据上述条件,判断该视频帧是否为关键帧,进而选择采用下述对应的方式获取终端设备在移动过程中的位姿。应理解,本申请实施例中,终端设备在移动过程中的位姿是采用下述两种方式中的哪种方式,可以有用户自定义设置。
第一种方式:获取终端设备在移动过程中采集每个视频帧时的位姿。
在该种方式中,所述终端设备在移动过程中的位姿包括:所述当前时间窗口内所述终端设备在采集所述视频帧时的位姿。其中,可以根据所述视频帧和所述视频帧之前相邻的关键帧之间的相对位移信息,获取所述终端设备在采集所述视频帧时的位姿。应理解,在该种方式中,终端设备采集视频帧的前一个关键帧时的位姿可以采用下述第二种方式获取。其中,本申请实施例中可以在终端设备采集视频帧之前相邻的关键帧时的位姿的基础上,加上相对位移和相对角度,以得到终端设备在采集所述视频帧时的位姿
第二种方式:获取终端设备在移动过程中采集关键帧时的位姿。本申请实施例中,以关键帧为当前时间窗口内的当前关键帧为例说明。终端设备可以以当前时间窗口内的关键帧的相对移动信息、所述关键帧的点特征和所述关键帧的线特征作为参数,构建待估计的状态向量,建立最大后验概率目标函数,且将所述待估计的状态向量代入所述最大后验概率目标函数中,对所述最大后验概率目标函数进行求解,得到所述终端设备在所述当前时间窗口内采集所述关键帧时的初始位姿;进而根据所述终端设备初始位姿,获取所述终端设备采集所述关键帧时的位姿,以得到获取所述终端设备在目标区域移动过程中的位姿。
在该种方式中,下面以视频帧的特征包括视频帧的点特征和线特征为例进行说明。应理解,当视频帧的特征包括视频帧的点特征或线特征时,执行下述点特征或线特征对应的步骤即可。其中,终端设备可以根据所述当前时间窗口内的当前关键帧的点特征和线特征,以及历史关键帧的点特征和线特征,进行闭环检测,以及对所述当前关键帧进行时空一致性校验。其中,所述历史关键帧为:所述终端设备在所述目标区域移动时所述当前时间窗口之前的时间窗口内的关键帧。进而,根据所述终端设备的初始位姿、闭环检测结果、以及所述当前关键帧的校验结果,获取所述终端设备在移动过程中的位姿。
应注意,本申请实施例中进行闭环检测,可以显著地减小因为不断积分导致的累积漂移误差,进而提高位姿的准确性。当终端设备快速运动时,会存在由于视频帧运动模糊而提取不到足够多的特征点而失效的问题,或者当目标区域中存在运动的人或物时,由于不能区分是终端设备的运动还是运动物体的运动而导致位姿估计不准,甚至失效,因此若闭环检测成功后,不进行时空一致性校验,则上述方法仅能应用于慢速平稳运动的静态场景,而不适用于快速旋转、动态物体的场景,鲁棒性差。而本申请实施例中能够在闭环检测成功后,对关键帧进行时空一致性校验,使得本申请实施例中的方法在终端设备快速旋转、目标区域包含有动态物体、且目标区域存在弱纹理、光照变化等复杂环境时,具有很好的鲁棒性。
其中,若闭环检测通过,且所述当前关键帧通过时空一致性校验,则融合所述当前关键帧的点特征与所述第一候选帧的点特征,融合所述当前关键帧的线特征与所述第二候选帧的线特征,进而通过融合后的点特征和融合后的线特征,对所述终端设备的初始位姿以及所述终端设备采集所述历史关键帧时的位姿进行校正,获取所述终端设备在目标区域移动过程中的位姿。本申请实施例中,在当前关键帧通过时空一致性校验,则存储所述当前关键帧对应的第一当前向量和第二当前向量,进而可以作为下一个时间窗口的历史关键帧。
其中,若闭环检测未通过,或者闭环检测通过且所述当前关键帧未通过时空一致性校验,则将所述终端设备的初始位姿和所述终端设备采集所述历史关键帧时的位姿作为所述终端设备在目标区域移动过程中的位姿。
下述对本申请实施例中进行闭环检测,以及对所述当前关键帧进行时空一致性校验的过程进行说明:
本申请实施例中,可以根据所述当前关键帧的点特征的描述子,构建第一当前向量,所述当前关键帧为所述当前时间窗口内的关键帧,获取第一当前向量与第一历史向量的相似度,且将相似度大于相似度阈值的第一历史向量对应的关键帧作为第一候选帧,所述第一历史向量是根据所述历史关键帧的点特征的描述子构建的。根据所述当前关键帧的线特征的描述子,构建第二当前向量;获取第二当前向量与第二历史向量的相似度,且将相似度大于所述相似度阈值的第二历史向量对应的关键帧作为第二候选帧,所述第二历史向量是根据所述历史关键帧的线特征的描述子构建的。进而,根据所述第一候选帧的相似度和所述第二候选帧的相似度,进行闭环检测,以及对所述当前关键帧进行时空一致性校验。其中,终端设备可以对所述第一候选帧的相似度和所述第二候选帧的相似度进行加权处理,得到加权分值;若所述加权分值大于或等于分值阈值,则闭环检测通过;若所述加权分值小于分值阈值,则闭环检测未通过。
其中,时空一致性校验还包括空间一致性校验和时间一致性校验。终端设备可以获取所述第一候选帧和所述当前关键帧之间的相对位移和相对角度;若所述相对位移小于第二位移阈值,以及所述相对角度小于第三角度阈值,则确定所述当前关键帧通过空间一致性校验。其中,若所述当前关键帧的前N个关键帧的加权分值均大于所述分值阈值,则确定所述当前关键帧通过时间一致性校验,所述N为大于或等于1的整数。
应注意,在获取终端设备在目标区域移动过程中的位姿之后,终端设备还可以输出所述终端设备在目标区域移动过程中的位姿、位姿对应的时间,以及所述终端设备在所述时间采集的视频帧。其中,本申请实施例中,终端设备可以输出终端设备在目标区域移动过程中的位姿、位姿对应的时间,以及所述终端设备在所述时间采集的视频帧相对应的示意图,使得用户可以实时直观地观察到终端设备的位姿。
在一种可能的实现方式中,本申请实施例获取上述Wi-Fi指纹空间分布,是为了应用在具体的场景中。例如,应用场景可以为路由器位置的调整、路由器天线指向优化、提高终端设备定位的精度或路由器布局位置推荐等。本申请实施例中,还可以根据所述目标区域的Wi-Fi指纹空间分布的应用场景,过滤所述Wi-Fi指纹,进而减少终端设备的存储空间。
其中,本申请实施例中还可以根据所述目标区域的Wi-Fi指纹空间分布,获取所述目标区域的Wi-Fi指纹空间分布图,进而显示所述目标区域的Wi-Fi指纹空间分布图,使得用户能够更为直观地获取目标区域的Wi-Fi指纹空间分布。应注意的是,若所述目标区域的Wi-Fi指纹空间分布的应用场景为获取路由器的安装位置,则本申请实施例中可以在所述目标区域的Wi-Fi指纹空间分布图中显示所述路由器的待安装位置。应理解,上述路由器位置的调整、路由器天线指向优化、提高终端设备定位的精度等应用场景中,终端设备也可以显示调整的路由器的位置、或者推荐的路由器天线指向等,本申请实施例中对终端设备的应用场景和应用后终端设备的显示以及处理过程不做限制。
第二方面,本申请实施例提供一种获取Wi-Fi指纹空间分布的装置,该装置包括:
采集模块,用于采集当前时间窗口内的目标区域的视频帧、Wi-Fi指纹,以及所述终端设备的惯性测量单元imu数据。
处理模块,用于基于所述视频帧和所述imu数据,对所述终端设备进行定位,获取所述终端设备在目标区域移动过程中的位姿,且将所述终端设备在目标区域移动过程中的位姿和所述终端设备在目标区域移动过程中采集的Wi-Fi指纹按照时间对齐,得到所述目标区域的Wi-Fi指纹空间分布。
在一种可能的实现方式中,所述处理模块,具体用于根据所述imu数据,获取所述终端设备在采集所述视频帧时的相对移动信息,且获取所述视频帧的特征,以及根据所述相对移动信息、所述视频帧的特征特征,获取所述终端设备采集所述视频帧时的位姿,以得到所述终端设备在所述目标区域移动过程中的位姿。其中,视频帧的特征可以包括点特征和/或线特征。
在一种可能的实现方式中,所述处理模块,具体用于根据视频帧和前一个视频帧之间所述终端设备采集的imu数据,得到所述相对移动信息,所述相对移动信息表征终端设备采集所述视频帧时相较于采集前一个视频帧时的移动情况。
在一种可能的实现方式中,所述视频帧的特征包括所述视频帧的点特征,所述处理模块,具体用于在所述视频帧中,追踪前一个视频帧的点特征,若所述视频帧中追踪得到的点特征的数量小于第一数量阈值,则在所述视频帧中提取新的点特征,以得到所述第一数量阈值的点特征,以及将所述视频帧中追踪得到的点特征和所述新的点特征作为所述视频帧的点特征。
在一种可能的实现方式中,若所述视频帧为第一个视频帧,则所述第一个视频帧满足如下条件:
所述第一个视频帧中的角点的数量小于或等于第二数量阈值;和,
所述第一个视频帧的点特征的数量大于或等于所述第一数量阈值;和,
所述第一个视频帧中的角点之间的距离大于或等于第一距离阈值;和,
所述第一个视频帧中的角点的质量等级大于预设等级。
在一种可能的实现方式中,所述处理模块,还用于获取追踪错误的点特征,且在所述视频帧中删除所述追踪错误的点特征。
在一种可能的实现方式中,所述视频帧的特征包括所述视频帧的线特征,所述处理模块,具体用于将所述视频帧的线特征与前一个视频帧的线特征进行匹配,建立初始线对,所述初始线对指示在所述视频帧和所述前一个视频帧中匹配成功的两个线特征;在所述初始线对中,删除错误的线对,以得到所述视频帧中的线特征。
在一种可能的实现方式中,所述处理模块,具体用于获取所述线对中两个线特征的距离、线段长度差以及线段夹角;删除所述两个线特征的距离大于第二距离阈值的线对;和,删除所述两个线特征的线段长度差大于长度差阈值的线对;和,删除所述两个线特征的线段夹角大于第二角度阈值的线对。
在一种可能的实现方式中,所述相对移动信息包括:相对位移和相对角度。
所述处理模块,还用于根据所述相对位移、所述相对角度或所述视频帧与前一个关键帧之间的时间差,得到关键帧。
所述关键帧满足如下至少一项条件:所述相对位移大于第一位移阈值;所述相对角度大于第一角度阈值;所述时间差大于时间差阈值。
在一种可能的实现方式中,所述终端设备在目标区域移动过程中的位姿包括:所述当前时间窗口内所述终端设备在采集所述视频帧时的位姿。所述处理模块,具体用于获取所述视频帧之前相邻的关键帧的位姿;根据所述视频帧之前相邻的关键帧的位姿,以及所述视频帧和所述视频帧之前相邻的关键帧之间的相对位移信息,获取所述终端设备在采集所述视频帧时的位姿。
在一种可能的实现方式中,所述处理模块,具体用于以关键帧的相对移动信息、所述关键帧的点特征和所述关键帧的线特征作为参数,构建待估计的状态向量;建立最大后验概率目标函数,且将所述待估计的状态向量代入所述最大后验概率目标函数中,对所述最大后验概率目标函数进行求解,得到所述终端设备在所述当前时间窗口内采集所述关键帧时的初始位姿;根据所述终端设备初始位姿,获取所述终端设备采集所述关键帧时的位姿,以得到所述终端设备在目标区域移动过程中的位姿。
在一种可能的实现方式中,所述关键帧为所述当前时间窗口内的当前关键帧,所述视频帧的特征包括所述视频帧的点特征和线特征;所述处理模块,具体用于根据所述当前时间窗口内的当前关键帧的点特征和线特征,以及历史关键帧的点特征和线特征,进行闭环检测,以及对所述当前关键帧进行时空一致性校验,所述历史关键帧为:所述终端设备在所述目标区域移动时所述当前时间窗口之前的时间窗口内的关键帧;根据所述终端设备的初始位姿、闭环检测结果、以及所述当前关键帧的校验结果,获取所述终端设备采集所述当前关键帧时的位姿,以得到所述终端设备在目标区域移动过程中的位姿。
在一种可能的实现方式中,所述处理模块,具体用于根据所述当前关键帧的点特征的描述子,构建第一当前向量,所述当前关键帧为所述当前时间窗口内的关键帧;获取第一当前向量与第一历史向量的相似度,且将相似度大于相似度阈值的第一历史向量对应的关键帧作为第一候选帧,所述第一历史向量是根据所述历史关键帧的点特征的描述子构建的;根据所述当前关键帧的线特征的描述子,构建第二当前向量;获取第二当前向量与第二历史向量的相似度,且将相似度大于所述相似度阈值的第二历史向量对应的关键帧作为第二候选帧,所述第二历史向量是根据所述历史关键帧的线特征的描述子构建的;根据所述第一候选帧的相似度和所述第二候选帧的相似度,进行闭环检测,以及对所述当前关键帧进行时空一致性校验。
在一种可能的实现方式中,所述处理模块,具体用于对所述第一候选帧的相似度和所述第二候选帧的相似度进行加权处理,得到加权分值;若所述加权分值大于或等于分值阈值,则闭环检测通过;若所述加权分值小于分值阈值,则闭环检测未通过。
在一种可能的实现方式中,所述时空一致性校验包括空间一致性校验。所述处理模块,具体用于获取所述第一候选帧和所述当前关键帧之间的相对位移和相对角度;若所述相对位移小于第二位移阈值,以及所述相对角度小于第三角度阈值,则确定所述当前关键帧通过空间一致性校验。
在一种可能的实现方式中,所述时空一致性校验还包括时间一致性校验。所述处理模块,具体用于若所述当前关键帧的前N个关键帧的加权分值均大于所述分值阈值,则确定所述当前关键帧通过时间一致性校验,所述N为大于或等于1的整数。
在一种可能的实现方式中,所述处理模块,具体用于若闭环检测通过,且所述当前关键帧通过时空一致性校验,则融合所述当前关键帧的点特征与所述第一候选帧的点特征;融合所述当前关键帧的线特征与所述第二候选帧的线特征;通过融合后的点特征和融合后的线特征,对所述终端设备的初始位姿以及所述终端设备采集所述历史关键帧时的位姿进行校正,获取所述终端设备在目标区域移动过程中的位姿。
在一种可能的实现方式中,所述处理模块,具体用于若闭环检测未通过,或者闭环检测通过且所述当前关键帧未通过时空一致性校验,则将所述终端设备的初始位姿和所述终端设备采集所述历史关键帧时的位姿作为所述终端设备在目标区域移动过程中的位姿。
在一种可能的实现方式中,所述处理模块,还用于若所述当前关键帧通过时空一致性校验,则存储所述当前关键帧对应的第一当前向量和第二当前向量。
在一种可能的实现方式中,所述处理模块,还用于输出所述终端设备在移动过程中的位姿、位姿对应的时间,以及所述终端设备在所述时间采集的视频帧。
在一种可能的实现方式中,所述处理模块,还用于根据所述目标区域的Wi-Fi指纹空间分布的应用场景,过滤所述Wi-Fi指纹。
在一种可能的实现方式中,所述处理模块,还用于根据所述目标区域的Wi-Fi指纹空间分布,获取所述目标区域的Wi-Fi指纹空间分布图。
显示模块,用于显示所述目标区域的Wi-Fi指纹空间分布图。
在一种可能的实现方式中,所述显示模块,还用于若所述目标区域的Wi-Fi指纹空间分布的应用场景为获取路由器的安装位置,则在所述目标区域的Wi-Fi指纹空间分布图中显示所述路由器的待安装位置。
本申请实施例提供的获取Wi-Fi指纹空间分布的装置,可以执行上述方法实施例中终端设备的动作,其实现原理和技术效果类似,在此不再赘述。
第三方面,本申请实施例提供一种电子设备,该电子设备可以为上述第一方面中的终端设备。所述电子设备包括:处理器、存储器、收发器;所述收发器耦合至所述处理器,所述处理器控制所述收发器的收发动作;其中,存储器用于存储计算机可执行程序代码,程序代码包括指令;当处理器执行指令时,指令使所述电子设备执行如第一方面所提供的方法。
第四方面,本申请实施例提供一种电子设备,包括用于执行以上第一方面可能的设计所提供的方法的单元、模块或电路。该电子设备可以为终端设备,也可以为应用于终端设备的一个模块,例如,可以为应用于终端设备的芯片。
第五方面,本申请实施例提供一种芯片,所述芯片上存储有计算机程序,在所述计算机程序被所述芯片执行时,实现如第一方面所提供的方法。
第六方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中的方法。
第七方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中的方法。
本申请实施例提供一种获取Wi-Fi指纹空间分布的方法、装置和电子设备,该方法包括:采集当前时间窗口内的目标区域的视频帧、Wi-Fi指纹,以及终端设备的惯性测量单元imu数据;基于视频帧和imu数据,获取终端设备在目标区域移动过程中的位姿;将终端设备在目标区域移动过程中的位姿和终端设备在目标区域移动过程中采集的Wi-Fi指纹按照时间对齐,得到目标区域的Wi-Fi指纹空间分布。本申请实施例一方面能够避免预先设置外部锚点的位置导致的采集效率低的问题,另一方面终端设备不仅能够精准定位位置,还能够获取准确的设备姿态,提高了Wi-Fi指纹空间分布的准确性。
附图说明
图1为本申请实施例提供的终端设备的结构示意图;
图2为本申请实施例提供的获取Wi-Fi指纹空间分布的方法的一实施例的流程示意图;
图3为本申请实施例提供的终端设备的界面变化示意图;
图4为本申请实施例提供的获取Wi-Fi指纹空间分布的方法的另一实施例的流程示意图;
图5为本申请实施例提供的位姿和点线特征图的示意图;
图6为本申请实施例提供的终端设备的界面示意图;
图7为本申请实施例提供的获取Wi-Fi指纹空间分布的方法的另一实施例的流程示意图;
图8为本申请实施例提供的获取Wi-Fi指纹空间分布的方法的另一实施例的流程示意图;
图9为本申请实施例提供的Wi-Fi指纹空间分布图一;
图10为本申请实施例提供的Wi-Fi指纹空间分布图二;
图11为本申请实施例提供的Wi-Fi指纹空间分布图三;
图12为本申请实施例提供的一种获取Wi-Fi指纹空间分布的装置的结构示意图。
具体实施方式
为了解决目前获取Wi-Fi指纹空间分布的适用性低和采集效率低的问题,本申请提供了一种获取Wi-Fi指纹空间分布的方法,在终端设备在目标区域移动的过程中,采用终端设备采集Wi-Fi指纹,且由终端设备自身在移动过程中进行位姿的精准确定,以得到目标区域的Wi-Fi指纹空间分布。本申请实施例,用户可以通过自己的终端设备就能够获取Wi-Fi指纹空间分布,适用性高,避免了需要采用专用设备的问题。且终端设备不仅精准定位位置,还能够获取准确的姿态,进而提高了Wi-Fi指纹空间分布的准确性。
应理解,本申请实施例中的终端设备可以指用户设备、接入终端、用户单元、用户站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。终端设备可以是手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算机或其它处理设备、可穿戴设备、虚拟现实(virtual reality,VR)终端设备、增强现实(augmentedreality,AR)终端设备、智慧家庭(smart home)中的无线终端、智能机器人、5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端设备等。
下述首先对本申请实施例中提供的终端设备的结构进行说明。图1为本申请实施例提供的终端设备的结构示意图。如图1所示,本申请实施例中的终端设备100可以包括:处理器101,存储器102,无线通信模块103,传感器104,摄像头105和显示屏106等。可以理解的是,本实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,或软件和硬件的组合实现。
处理器101可以包括一个或多个处理单元,例如:处理器101可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,显示处理单元(displayprocess unit,DPU),和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在一些实施例中,终端设备100也可以包括一个或多个处理器101。其中,处理器可以是终端设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器101中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器101中的存储器为高速缓冲存储器。该存储器可以保存处理器101刚用过或循环使用的指令或数据。如果处理器101需要再次使用该指令或数据,可从所述存储器中直接调用。这就避免了重复存取,减少了处理器101的等待时间,因而提高了终端设备100的效率。
在一些实施例中,处理器101可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备100的结构限定。在本申请另一些实施例中,终端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
存储器102可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器101可以通过运行存储在存储器102的指令,从而使得终端设备100执行下述实施例中的相关动作。存储器102可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用程序(比如图库、联系人等)等。存储数据区可存储终端设备100使用过程中所创建的数据(比如照片,联系人等)等。此外,存储器102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。在一些实施例中,处理器101可以通过运行存储在存储器102的指令,和/或存储在设置于处理器101中的存储器的指令,来使得终端设备100执行各种功能应用及数据处理。
终端设备100的无线通信功能可以通过无线通信模块103实现。无线通信模块103可以提供应用在终端设备100上的包括无线局域网(wireless local area networks,WLAN),蓝牙,全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。本申请实施例中的无线通信模块103可以为终端设备中的无线网卡。无线通信模块103可以是集成至少一个通信处理模块的一个或多个器件。本申请实施例中的无线通信模块103用于实现电子设备的收发功能,如实现与上述图1中的服务器的通信。
传感器104可以包括压力传感器104A、陀螺仪传感器104B和加速度传感器104C等。其中,压力传感器104A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器104A可以设置于显示屏106,终端设备100根据压力传感器104A检测所述触摸操作强度。陀螺仪传感器104B可以用于确定终端设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器104B确定终端设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器104B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器104B检测终端设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端设备100的抖动,实现防抖。加速度传感器104C可检测终端设备100在各个方向上(一般为三轴)加速度的大小。当终端设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
终端设备100可以通过一个或多个摄像头105实现拍摄功能。另外,终端设备100通过显示屏106可以实现显示功能。显示屏106用于显示图像,视频等。显示屏106包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。
其中,本申请实施例中的终端设备100还可以包括:音频模块407,麦克风408。终端设备100可以通过音频模块407、麦克风408实现音频功能,如音乐播放,录音,与用户的语音交互等。其中,音频模块407用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块407还可以用于对音频信号编码和解码。在一些实施例中,音频模块407可以设置于处理器101中,或将音频模块407的部分功能模块设置于处理器101中。终端设备100可以设置至少一个麦克风408。在另一些实施例中,终端设备100可以设置两个麦克风408,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端设备100还可以设置三个,四个或更多麦克风408,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
本申请实施例中,摄像头105可以采集目标区域的视频,陀螺仪传感器104B和加速度传感器104C可以采集终端设备的惯性测量(inertial measurement unit,imu)数据。其中,imu数据中可以包括终端设备的加速度和角速度,陀螺仪传感器104B可以采集终端设备的角速度,加速度传感器104C可以采集终端设备的加速度。处理器401用于执行下述实施例中的图2、图4、图7或图8中所示的动作。基于图1所示的终端设备可以实现下述实施例中的获取Wi-Fi指纹空间分布的方法,具体的技术方案和技术效果参照下述实施例的相关描述。应理解,图1中的结构说明为终端设备的示例,下述实施例中以执行获取Wi-Fi指纹空间分布的方法的执行主体为终端设备进行说明,终端设备中集成有上述图1所示的各模块,能够实现上述各模块的功能。
下面结合具体的实施例对本申请实施例提供的获取Wi-Fi指纹空间分布的方法进行说明。下面这几个实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。图2为本申请实施例提供的获取Wi-Fi指纹空间分布的方法的一实施例的流程示意图。如图2所示,本申请实施例提供的获取Wi-Fi指纹空间分布的方法可以包括:
S201,采集当前时间窗口内的目标区域的视频帧、Wi-Fi指纹,以及终端设备的惯性测量单元imu数据。
S202,基于视频帧和imu数据,获取终端设备在目标区域移动过程中的位姿。
S203,将终端设备在目标区域移动过程中的位姿,以及终端设备在目标区域移动过程中采集的Wi-Fi指纹按照时间对齐,得到目标区域的Wi-Fi指纹空间分布。
上述S201中,应理解,本申请实施例中,终端设备在目标区域移动的过程中可以采集当前时间窗口内的目标区域的视频帧、Wi-Fi指纹,以及终端设备的惯性测量单元imu数据。其中,目标区域可以但不限于为室内空间。其中,终端设备在目标区域中的移动方式可以为:用户手持终端设备在目标区域中移动,或者终端设备自身在目标区域中移动。示例性的,如终端设备为智能手机时,用户可以手持智能手机在目标区域中移动,使得终端设备在目标区域中移动;或者终端设备为机器人时,机器人可以在目标区域中移动。
应理解,终端设备在目标区域移动的过程中会持续采集目标区域的视频帧、Wi-Fi指纹,以及终端设备的imu数据。而本申请实施例中为了减少终端设备的计算量,可以根据当前时间窗口内的目标区域的视频帧、Wi-Fi指纹,以及终端设备的imu数据,获取终端设备的位姿。应注意,本申请实施例中的时间窗口可以理解为预设时长。示例性的,如以终端设备开始采集目标区域的视频帧为例,每隔预设时长为一个时间窗口。如时间窗口为5s,则从终端设备开始采集目标区域的视频帧,0-5s为一个时间窗口,5s-10s为一个时间窗口,依次类推。
示例性的,时间窗口为5s,终端设备开始移动后,会采集目标区域的视频帧、Wi-Fi指纹,以及终端设备的imu数据。在5s时,0-5s内采集的目标区域的视频、Wi-Fi指纹,以及终端设备的imu数据可以作为当前时间窗口的目标区域的视频帧、Wi-Fi指纹,以及终端设备的imu数据。本申请实施例中的目标区域的视频帧可以为终端设备采集的目标区域的视频中包括的视频帧,或者是终端设备每隔预设时长采集的视频帧,视频帧也可以称为图像帧。其中,Wi-Fi指纹指的是Wi-Fi信号的属性信息,如Wi-Fi信号的强度、频段、Wi-Fi名称等,室内各位置处的Wi-Fi指纹的集合即为室内Wi-Fi指纹空间分布。终端设备的imu数据可以为终端设备中设置的惯性测量单元(inertial measurement unit,IMU)采集的数据。
其中,用户可以触发终端设备开始采集目标区域的视频帧、Wi-Fi指纹,以及终端设备的imu数据。在一种可能的场景中,终端设备上设置有获取Wi-Fi指纹空间分布的控件(如应用程序中的功能),或者终端设备上设置有获取Wi-Fi指纹空间分布的应用程序,用户点击该控件或者打开该应用程序可以触发终端设备采集上述目标区域的视频帧、Wi-Fi指纹,以及终端设备的imu数据。
图3为本申请实施例提供的终端设备的界面变化示意图。如图3中的界面301所示,该界面301上显示有“Wi-Fi指纹空间分布”的应用程序的图标,用户点击该图标,界面301跳转至界面302,该界面302可以类似于智能手机录像界面。值得注意的是,界面301跳转至界面302后,即触发终端设备开始拍摄视频(即采集视频帧)、同时读取终端设备的imu数据,以及获取Wi-Fi指纹。或者,界面301跳转至界面302后,界面302上显示有录像控件,用户可以点击该录像控件,触发终端设备开始拍摄视频、同时读取终端设备的imu数据,以及获取Wi-Fi指纹。其中,用户可以在触发终端设备开始拍摄视频时,用户在目标区域内移动,以使得终端设备在目标区域内移动。
在另一种可能的场景中,用户可以触发终端设备在目标区域移动,且同时采集目标区域的视频帧、Wi-Fi指纹,以及终端设备的imu数据。示例性的,终端设备上具有触发控件,用户选择该触发控件即可触发。或者,用户可以与终端设备进行语音交互进行触发,如用户可以说“去采集下Wi-Fi指纹空间分布吧”进行触发。应理解,在上述两种场景中,终端设备的Wi-Fi功能开关可以预先处于打开状态。或者,在用户触发终端设备采集目标区域的视频、Wi-Fi指纹,以及终端设备的imu数据时,终端设备打开该Wi-Fi功能开关,以实现对Wi-Fi指纹的采集。
本申请实施例中,终端设备可以按一定频率(如30Hz)获得目标区域的视频帧(即单目RGB图像序列),同时启动imu读取功能(如200Hz),获取imu数据,且启动Wi-Fi扫描功能(如0.3Hz),获取Wi-Fi指纹。其中,imu数据可以包括终端设备的角速度和加速度。Wi-Fi指纹可以包括Wi-Fi信号的强度、频段、以及Wi-Fi名称(如ESS ID)、Wi-Fi通道(channel)、Wi-Fi的物理地址(adress),以及Wi-Fi信号是否为加密类型等。
上述S202中,目前现有技术中提供一种采用图像对终端设备进行定位的方法,其中,通过RGB-D深度相机进行标定,获得RGB-D深度相机的内参信息,之后通过该深度相机获取深度图像,进而根据该深度图像对终端设备进行定位。该方法中采用RGB-D深度相机的成本高、适用范围小,很多终端设备中并未设置RGB-D深度相机。而本申请实施例中采用终端设备上设置的RGB相机,获取目标区域的RGB视频,再结合终端设备imu数据可以实现终端设备的定位,节省了成本,扩展了方法的适用范围。
本申请实施例中,基于视频和imu数据可以对终端设备进行定位,即获取终端设备在目标区域移动过程中的位姿,其中终端设备具体是根据视频帧的特征和imu数据可以对终端设备进行定位。应理解,视频帧的特征可以为视频的点特征和/或线特征,点特征也可以称为特征点。终端设备可以根据视频帧的特征,确定终端设备的相对移动信息。示例性的,终端设备可以根据终端设备采集的前后两个视频帧中的点特征的位置的变化,确定终端设备的相对移动信息。如终端设备在开始采集视频帧时的位置为A,则可以根据该终端设备的相对移动信息,确定终端设备在采集每个视频帧时的实时位置。另外,鉴于imu数据可以表征终端设备在移动过程中运动姿态,如角速度和加速度。本申请实施例中根据终端设备在目标区域移动过程中运动姿态,确定终端设备在目标区域移动过程中的姿态。综上,终端设备既可以获取终端设备在目标区域移动过程中的实时位置以及运动姿态,则可以获取终端设备在目标区域移动过程中的位姿。
应理解,因为本申请实施例中终端设备采集的数据为当前时间窗口内的数据,则相对应的,终端设备可以根据当前时间窗口内的目标区域的视频、Wi-Fi指纹,以及终端设备的imu数据,获取终端设备在当前时间窗口内的位姿。进而,本申请实施例中可以将每个时间窗口内的终端设备的位姿的集合作为终端设备在目标区域移动的过程中的位姿。
上述S203中,本申请实施例中,终端设备可以以相同的采集频率采集目标区域的视频帧、Wi-Fi指纹,以及终端设备的imu数据,在该种场景下,终端设备可以根据目标区域的视频帧和imu数据获取终端设备的实时位姿(即按照相同的频率获取终端设备的位姿)。终端设备可以将实时位姿与采集目标区域的imu数据时采集的Wi-Fi指纹对应存储,可以得到目标区域的Wi-Fi指纹空间分布。
示例性的,上述的采集频率为20Hz,即每隔0.05s采集一次图像(即一个视频帧)、一次Wi-Fi指纹、一次imu数据。在0.05s时,终端设备可以根据采集的视频帧和imu数据获取终端设备在0.05s的位姿,进而将0.05s时的终端设备的位姿和0.05s时采集的Wi-Fi指纹对应存储。按照相同的方式,可以得到目标区域的Wi-Fi指纹空间分布。
为了更为准确的获取终端设备的位姿,可以将视频帧和imu数据的采集频率提高,而Wi-Fi指纹的采集频率可以相对较低。也就是说,本申请实施例中终端设备可以以不同的采集频率采集目标区域的视频帧、Wi-Fi指纹,以及终端设备的imu数据。在该种场景下,可以将终端设备在移动过程中的位姿和终端设备在移动过程中采集的Wi-Fi指纹按照时间对齐,得到目标区域的Wi-Fi指纹空间分布。例如,本申请实施例中可以将采集时间在预设时间范围的Wi-Fi指纹与终端设备的位姿对齐。
示例性的,预设时间范围可以为0.02s。在0.05s时,终端设备可以根据采集的视频帧和imu数据获取终端设备在0.05s的位姿,而在0.05s时终端设备并未采集Wi-Fi指纹,而是在0.06s采集Wi-Fi指纹,因此可以将0.05s时终端设备的位姿和0.06s采集的Wi-Fi指纹对应存储。
本申请实施例中,为了提高目标区域的Wi-Fi指纹空间分布的准确性,可以采用三次样条插值法(spline),将终端设备在移动过程中的位姿和采集的Wi-Fi指纹对齐。其中,三次样条插值法为终端设备中预先设置的插值函数。示例性的,终端设备可以以时间和各时间处采集的Wi-Fi指纹为参数,采用该插值函数计算0.05s时的Wi-Fi指纹,进而将该计算得到的0.05s时的Wi-Fi指纹与0.05s时终端设备的位姿对应存储。
本申请实施例提供的获取Wi-Fi指纹空间分布的方法包括:在终端设备在目标区域移动的过程中,采集当前时间窗口内的目标区域的视频帧、Wi-Fi指纹,以及终端设备的imu数据,基于视频帧和imu数据,获取终端设备在移动过程中的位姿;将终端设备在移动过程中的位姿和终端设备在移动过程中采集的Wi-Fi指纹按照时间对齐,得到目标区域的Wi-Fi指纹空间分布。本申请实施例中,在终端设备在目标区域移动的过程中采集Wi-Fi指纹,且由终端设备根据imu数据和视频在移动过程中进行位姿的精准确定,以得到目标区域的Wi-Fi指纹空间分布。本申请实施例中,用户可以通过自己的终端设备就能够获取Wi-Fi指纹空间分布,适用性高,避免了需要采用专用设备的问题,且该方法能够避免预先设置外部锚点的位置导致的采集效率低的问题,鉴于本申请实施例中的终端设备不仅精准定位位置,还能够获取准确的姿态,因此还能够提高了Wi-Fi指纹空间分布的准确性。
在上述实施例的基础上,下述结合实施例对本申请实施例中终端设备进行定位的过程进行详细说明。图4为本申请实施例提供的获取Wi-Fi指纹空间分布的方法的另一实施例的流程示意图。如图4所示,本申请实施例提供的获取Wi-Fi指纹空间分布的方法可以包括:
S401,采集当前时间窗口内的目标区域的视频帧、Wi-Fi指纹,以及终端设备的imu数据。
S402,根据imu数据,获取终端设备在采集视频帧时的相对移动信息。
S403,获取视频帧的特征,视频帧的特征包括视频帧的点特征和/或线特征。
S404,根据相对移动信息、视频帧的特征,获取终端设备采集视频帧时的位姿,以得到终端设备在目标区域移动过程中的位姿。
S405,将终端设备在目标区域移动过程中的位姿和终端设备在目标区域移动过程中采集的Wi-Fi指纹按照时间对齐,得到目标区域的Wi-Fi指纹空间分布。
应理解,本申请实施例中的S401、S405中的实施方式可以参照上述实施例中S201和S203中的相关描述,在此不做赘述。
上述S402中,终端设备在移动的过程中的位姿是实时变化的,也就是说终端设备在采集视频时的位姿是实时变化的。本申请实施例中的imu数据用于表征终端设备的移动过程,且因为视频是由连续的多个视频帧组成,因此本申请实施例中可以根据终端设备采集相邻两个视频帧时的imu数据,获取终端设备在采集视频帧时的位姿的变化。
也就是说,本申请实施例中可以根据该视频帧和前一个视频帧之间的终端设备采集的imu数据,得到相对移动信息,相对移动信息表征终端设备采集视频帧时相较于采集前一个视频帧时的移动情况。应理解,相对移动信息表征终端设备在采集两个视频帧中后一个视频帧时,相对于前一个视频帧的相对移动信息。
应理解,本申请实施例中的imu数据包括终端设备的角速度和加速度。为了提高获取终端设备的相对移动信息的效率和精度,本申请实施例中可以对相邻两个视频帧之间采集的imu数据进行积分处理。
其中,wt为t时刻的真实角速度值,at为t时刻的真实加速度值,为陀螺仪传感器的加速度计随机游走误差,为加速度传感器的随机游走误差,nw为角速度的测量噪声,na为加速度的测量噪声,nw和na均服从均值为0的高斯分布。应理解,本申请实施例中t时刻采集的角速度和加速度分别为和上述公式是为了表征传感器中计算获取角速度和加速度的过程。
应理解,本申请实施例中终端设备的相对移动信息可以包括相对平移、相对旋转和相对速度。对于两个视频帧,如视频帧k和视频帧k+1,终端设备在采集该相邻两个视频帧时,采集了若干帧imu数据。本申请实施例中,终端设备将imu数据进行积分可得到视频帧k到视频帧k+1帧的相对平移相对速度和用四元数表示的相对旋转相对平移、相对速度和相对旋转可分别如下公式三、公式四和公式五表示:
通过以上步骤,本申请实施例可以获取由于终端设备的运动导致的相邻两个视频帧之间的相对平移、相对旋转和相对速度,即该相对平移、相对旋转和相对速度可以表征终端设备在拍摄两个相邻的视频帧时的位姿的相对平移、相对旋转和相对速度,分别用表示。应理解,本申请实时中采用上述公式三-公式五获取的相对平移、相对旋转和相对速度可以为相邻两个视频帧中后一个视频帧的相对移动信息。
上述S403中,点特征用于表征视频帧中局部性的特征,一个视频帧可以通过多个点特征进行表示。应理解,检测视频帧中的线特征,可以为检测视频帧中梯度变化较大的像素。示例性的,轮廓是视频帧中的某些特殊区域,对于灰度图来说,在这些特殊区域,灰度从黑到白或者从白到黑的剧烈变化。简单理解来说,线特征可以为视频帧中的一组像素的集合,用于表征视频帧的特征。其中,视频帧中的点特征和线特征均可以为视频帧中的对象的抽象表征,视频帧中的点特征和线特征均为在视频帧中的对象中抽离获取的,用于表征该视频帧中的对象。其中,对象可以为视频帧中的物体、人物等。
应理解,本申请实施例中采用视频帧的点特征和线特征,相较于采用点特征或线特征的方式,因为获取的视频帧中的特征增多,因此可以更为准确地对视频帧中的对象进行定位,进而能够更为准确的获取终端设备采集视频帧时的位姿。应理解,下述实施例中以视频帧的特征包括视频帧的点特征和线特征为例进行说明,当视频帧的特征包括视频帧的点特征或线特征时,可以将下述实施例中的“点特征和线特征”替换为“点特征或线特征”,且执行包含有点特征或线特征的步骤。
下面首先对终端设备获取视频帧中的点特征的过程进行说明:
本申请实施例中,终端设备可以采用Fast角点检测算法,获取视频帧中的点特征。其中,角点是一种局部特征,具有旋转不变性和不随光照条件变化而变化的特点,一般将视频帧中曲率足够高或者曲率变化明显的点作为角点。应理解,本申请实施例中可以预先设置点特征检测参数,点特征检测参数可以包括:最大角点的数量(max corners)、角点之间的最小距离(min distance),角点质量等级(quality level),最少的点特征的个数(minpoint features)等。
终端设备可以在第一个视频帧中,采用Fast角点检测算法,获取第一个视频帧中的点特征。其中,第一个视频帧满足上述预先设置点特征检测参数。也就是说,第一个视频帧满足如下条件:第一个视频帧中的角点的数量小于或等于第二数量阈值;以及,第一个视频帧的点特征的数量大于或等于第一数量阈值;以及,第一个视频帧中的角点之间的距离大于或等于第一距离阈值;以及,第一个视频帧中的角点的质量等级大于预设等级。应理解,第一个视频帧为终端设备采集的第一个视频帧。应理解,若在一视频帧中采集的点特征过少,则点特征对该视频帧的特征描述的准确度可能较低,但若在一视频帧中采集的点特征过多,则加大了导致终端设备的计算量,因此,本申请实施例中可以预先设置第一数量阈值,可以在保证视频帧的特征的描述的准确性的基础上,减少终端设备的计算量。
在第二个视频帧中,终端设备可以使用光流算法(如Lucas-Kanade光流算法),追踪第一个视频帧的点特征。也就是说,终端设备可以采用LK光流算法将第一个视频帧中的点特征跟踪到第二个视频帧中,为了保证第二个视频帧中的点特征的数量大于第一数量阈值,若在第二个视频帧中可以追踪第一个视频帧中的全部点特征,则可以继续在第三个视频帧中追踪第二个视频帧中的点特征。若在第二个视频帧中追踪的第一个视频帧中的点特征的数量小于第一数量阈值,则可以在第二个视频帧中提取新的点特征,并将在第二个视频帧中追踪得到的点特征和提取的新的点特征作为第二个视频帧的点特征,并在第三个视频帧中继续追踪第二个视频帧中的点特征。应注意,本申请实施例中,采用点特征追踪的方法,而并非点特征匹配的方式在每个视频帧中获取点特征,可以减少计算量,提高获取点特征的速度。
其中,本申请实施例中可以在追踪点特征的过程中,可以获取追踪错误的点特征,且在视频帧中删除追踪错误的点特征,以提高点特征的追踪准确性。在一种可能的实现方式中,本申请实施例中可以基于随机抽样一致(random sample consensus,RANSAC)算法,通过本质矩阵(essential matrix)测试获取追踪错误的点特征,且删除追踪错误的点特征。
其次对终端设备获取视频帧中的线特征的过程进行说明:
本申请实施例中,终端设备采用线特征匹配的方法获取视频帧中的线特征。其中,终端设备可以采用直线段检测(line segment detector,LSD)算法检测获取视频帧中的线特征,并使用线条带描述子(line band discriptor,LBD)算法对视频帧中的线特征进行描述,进而得到视频帧中的线特征的LBD描述子。
本申请实施例中可以根据将视频帧的线特征与前一个视频帧的线特征进行匹配,建立初始线对。其中,初始线对指示在视频帧和前一个视频帧中匹配成功的两个线特征,应理解,视频帧和前一个视频帧中匹配成功的两个线特征可以为:线特征之间的距离小于预设距离的两个线特征。其中,线特征之间的距离可以为线特征之间的欧式距离或余弦相似度等。
示例性的,终端设备获取第一个视频帧中的线特征,以及第二个视频帧中的线特征,且获取第一个视频帧中的LBD描述子,以及第二个视频帧中的LBD描述子,进而将第二个视频帧中的LBD描述子与第一个视频帧中的LBD描述子进行匹配,且将匹配成功的线对作为初始线对。应理解,此处对第二个视频帧中的LBD描述子与第一个视频帧中的LBD描述子进行匹配的方式可以为采用上述获取线特征之间的距离的方式。
本申请实施例中,在匹配线特征的过程中,难免存在匹配错误的情况。为了保证匹配的初始线对的准确性,终端设备可以在初始线对中,删除错误的线对,以得到视频帧中的线特征。其中,本申请实施例中可以采用下述方式确定初始线对中错误的线对。
终端设备可以获取线对中两个线特征的距离Δr、线段长度差Δd以及线段夹角应理解,视频帧中的线特征在视频帧中可以以线段的方式表示,本申请实施例中可以将线段之间的距离作为两个线特征的距离。其中,终端设备可以将两个线特征的距离大于第二距离阈值的线对作为错误的线对,或者,可以将两个线特征的线段长度差大于长度差阈值的线对作为错误的线对,或者,可以将两个线特征的线段夹角大于第二角度阈值的线对作为错误的线对。也就是说,本申请实施例中,终端设备可以在初始线对中,删除两个线特征的距离大于第二距离阈值的线对;以及,删除两个线特征的线段长度差大于长度差阈值的线对;以及,删除两个线特征的线段夹角大于第二角度阈值的线对,进而得到第二个视频帧中的线特征。应理解,本申请实施例中可以采用相同的方式,获取第三个视频帧、第四个视频帧……最后一个视频帧的线特征。
应理解,本申请实施例中终端设备获取视频帧中的点特征和线特征的步骤可以同时执行。
上述S404中,本申请实施例中,终端设备在获取视频帧的相对移动信息、视频帧中的特后,可以获取终端设备在采集该视频帧时的位姿,进而根据该种方式,得到终端设备在目标区域移动过程中的位姿。
应理解,本申请实施例中的第一种方式,终端设备在目标区域移动过程中的位姿可以包括终端设备在采集每个视频帧时的位姿。在该种方式中,终端设备可以获取视频帧之前相邻的关键帧的位姿,进而根据视频帧之前相邻的关键帧的位姿,以及视频帧和视频帧之前相邻的关键帧之间的相对位移信息,确定终端设备采集该视频帧时的位姿。其中,该视频帧之前的相邻关键帧可以为该视频帧之前的、距离该视频帧时间最近的一个关键帧。其中,本申请实施例中获取视频帧之前相邻的关键帧的位姿的方式可以参照下述第二种方式中的相关描述。
为了更为清楚地说明本申请实施例中获取终端设备的位姿的方法,下面先对本申请实施例中的关键帧进行说明:
依据上述,本申请实施例中的相对移动信息包括:相对位移和相对角度,终端设备可以根据视频帧的相对位移、相对角度以及视频帧与前一个关键帧之间的时间差,确定视频帧是否为关键帧。其中,本申请实施例中的关键帧满足如下至少一项条件:相对位移大于第一位移阈值;或者,相对角度大于第一角度阈值;或者,时间差大于时间差阈值。
也就是说,若视频帧的相对位移大于第一位移阈值,或者视频帧的相对角度大于第一角度阈值,或者视频帧与前一个关键帧之间的时间差大于时间差阈值,则确定该视频帧为关键帧。应理解,本申请实施例中可以在采集到每个视频帧后,可以根据每个视频帧的相对位移信息,以及上一个关键帧的时间,确定该视频帧是否为关键帧。
在第一种方式中,终端设备可以根据视频帧和视频帧之前相邻的关键帧之间的相对位移信息,获取终端设备在采集视频帧时的位姿,进而在终端设备采集前一个关键帧时的位姿的基础上,根据该相对位移信息中的相对位移和相对角度,可以得到终端设备采集该视频帧时的位姿。应注意,本申请实施例中获取视频帧和视频帧之前相邻的关键帧之间的相对位移信息的方式,可以参照上述获取相邻两个视频帧之间的相对位移信息的相关描述。也就是说,本申请实施例中可以将视频帧和视频帧之前相邻的关键帧作为相邻的两个视频帧,进而根据上述公式三-公式五获取相对位移信息。应理解,终端设备在采集该前一个关键帧时的位姿的获取方式可以参照下述另一种可能的实现方式中的相关描述。
示例性的,终端设备采集了5个视频帧,第3个视频帧为关键帧,第4个视频帧和第5个视频帧均为非关键帧,终端设备在获取采集第4个视频帧和第5个视频帧时的位姿的方式相同,下述以终端设备采集第5个视频帧时的位姿进行说明。本申请实施例中,终端设备根据第5个视频帧和第3个视频帧作为相邻的两个视频帧,进而根据上述公式三-公式五获取第5个视频帧和第3个视频帧之间的相对位移信息。终端设备在采集第3个视频帧时的位姿的基础上,加上相对位移信息中的相对位移和相对角度,可以得到终端设备采集第5个视频帧时的位姿。应理解,终端设备在采集该第3个视频帧(即关键帧)时的位姿的获取方式可以参照下述另一种可能的实现方式中的相关描述。
本申请实施例的第二种方式中,为了减少终端设备的计算量,终端设备在移动过程中的位姿可以包括终端设备在采集关键帧时的位姿。也就是说,相较于上一种可能的实现方式,该方式中终端设备仅计算获取终端设备在采集关键帧时的位姿。依据上述,终端设备可以获取该视频帧是否为关键帧,在确定视频帧为关键帧时,计算采集该关键帧时的位姿。应理解,本申请实施例中可以在确定当前时间窗口内的关键帧后,根据该当前时间窗口内的关键帧的相对位移信息、关键帧的点特征和线特征,获取当前时间窗口内采集关键帧时的终端设备的位姿。
本申请实施例中,终端设备可以以关键帧的相对移动信息、关键帧的点特征和关键帧的线特征作为参数,构建待估计的状态向量,进而建立最大后验概率目标函数,且将待估计的状态向量代入最大后验概率目标函数中,对最大后验概率目标函数进行求解,得到终端设备在当前时间窗口内采集关键帧时的初始位姿。
其中,示例性的,如当前时间窗口内的关键帧为n帧。则待估计的状态向量可以如下述公式六表示:
χ=[x0,x1,…,xN,λ0,λ1,…,λM,μ0,μ1,…,μK] 公式六
其中,xn为第n个关键帧的运动数据,包含第n个关键帧的相对位移相对速度和相对角度及随机游走误差和λm为第n个关键帧中第m个点特征的逆深度,μk为第n个关键帧中第k个线特征的正交表示。应理解,逆深度为一种参数化方法,即认为深度的倒数服从高斯分布,正交表示是线特征的一种表示方法。
本申请实施例中终端设备可以构建最大后验概率目标函数,如下公式七所示:
其中,rp为先验误差项,在边缘化时由高斯消元法获得;rb为关键帧的运动数据的误差项,为关键帧的运动数据的观测;rf为点特征重投影误差项,为第j个点特征在第i个关键帧的预测值,rl为线特征重投影误差项,为第l个线特征在第i帧的预测值;|| ||为L2范数,ρ()为对离群点鲁棒的核函数,min为最小化函数;B为关键帧的运动数据的序列,F为点特征序列,L为线特征序列。应理解,关键帧的运动数据的序列指的是,每个关键帧的运动数据的集合,关键帧序列指的是关键帧的集合,点特征序列指的是每个关键帧中的点特征的集合,线特征序列指的是每个关键帧中的线特征的集合。
本申请实施例中,可以将当前时间窗口内的关键帧构建的待估计的状态向量代入最大后验概率目标函数中,利用Ceres库中的LM迭代优化算法对最大后验概率目标函数进行求解,得到满足最大后验概率的X,即终端设备在采集每个关键帧时的初始位姿。应理解,本申请实施例中可以将根据上述公式七获取的终端设备在采集该关键帧之后相邻的非关键帧时的初始位姿,作为终端设备在采集该关键帧之后相邻的非关键帧时的位姿。
应理解,本申请实施例中对如何求解最大后验概率目标函数的过程不做赘述,具体可以参照现有技术中的相关描述。应注意的是,本申请实施例中,终端设备可以不获取第一个关键帧之前的非关键帧的位姿,且在获取第一个关键帧的位姿时,可以获取终端设备在采集该关键帧之后相邻的非关键帧时的位姿,具体可以参照上述可能的实现方式中的相关描述。
可选的,本申请实施例中,终端设备在根据上述公式七获取终端设备采集关键帧时的位姿后,可以存储终端设备采集关键帧时的位姿和点线特征图。图5为本申请实施例提供的位姿和点线特征图的示意图。图5所示的为终端设备在当前时间窗口获取采集关键帧时的位姿,以及当前时刻已经获取的视频帧中的点特征和线特征的集合。应理解,该图示中还显示有当前时间窗口之前的时间窗口内终端设备采集关键帧时的位姿、点特征和线特征。其中,图5中所示的线段即为线特征,点即为点特征,虚线框所示的为终端设备在当前时间窗口获取采集当前关键帧时的位姿。其中,终端设备的位姿可以由6个自由度表示,6个自由度可以包括终端设备的空间位置和空间角度(也称为空间姿态),空间位置如终端设备的三维坐标(x,y,z),空间角度如终端设备的偏航角(yaw角)α、滚动角(raw角)β以及俯仰角(pitch角)θ。当前关键帧可以指的是当前时间窗口内最后一个关键帧。
应理解,本申请实施例中既可以获取终端设备在采集每个视频帧时的位姿,也可以获取终端设备在采集关键帧时的位姿,至于终端设备是获取采集每个视频帧时的位姿还是以获取终端设备在采集关键帧时的位姿,用户可以自定义设置。图6为本申请实施例提供的终端设备的界面示意图。如图6所示,在上述界面302的基础上,该界面上还可以显示有选择控件,选择控件用于指示用户选择终端设备获取采集每个视频帧时的位姿还是以获取终端设备在采集关键帧时的位姿。如图6所示的界面上显示有“关键帧”和“视频帧”,若用户需求快速获取目标区域的Wi-Fi指纹空间分布,则可以选择“视频帧”(即终端设备只获取采集关键帧时的位姿),若用户需求获取更为详细的目标区域的Wi-Fi指纹空间分布,则可以选择“视频帧”(即终端设备只获取采集每个视频帧时的位姿)。
本申请实施例中,用户可以自定义确定终端设备获取采集每个视频帧时的位姿,或者获取采集关键帧时的位姿,可以提高灵活性。且本申请实施例中采用追踪的方式获取视频帧中的点特征,相对于采用点特征匹配的方式可以减少终端设备的计算量,另外若终端设备获取采集关键帧时的位姿,不必要对每个视频帧进行位姿的计算,也能够减少终端设备的计算量,且本申请实施例中采用关键帧中的点线特征,以及相对位移信息,采用不断迭代的优化算法,能够提高获取的终端设备的位姿的准确性。另,本申请实施例中的其他有益效果可以参照上述实施例中的相关描述。
上述实施例中,终端设备在根据公式七获取终端设备在采集关键帧时的初始位姿,作为终端设备在采集关键帧时的位姿。本申请实施例中,为了进一步提高终端设备在采集关键帧时的位姿,可以对当前时间窗口内的关键帧进行闭环检测,以及时空一致性校验,根据闭环检测结果,以及时空一致性校验结果,对初始位姿进行处理,以得到准确性更高的终端设备采集关键帧时的位姿。
其中,如果闭环检测成功,可以显著地减小因为上述公式三-公式五因为不断积分导致的累积漂移误差,进而提高位姿的准确性。当终端设备快速运动时,会存在由于视频帧运动模糊而提取不到足够多的特征点而失效的问题,或者当目标区域中存在运动的人或物时,由于不能区分是终端设备的运动还是运动物体的运动而导致位姿估计不准,甚至失效,因此若闭环检测成功后,不进行时空一致性校验,则上述方法仅能应用于慢速平稳运动的静态场景,而不适用于快速旋转、动态物体的场景,鲁棒性差。而本申请实施例中能够在闭环检测成功后,对关键帧进行时空一致性校验,使得本申请实施例中的方法在终端设备快速旋转、目标区域包含有动态物体、且目标区域存在弱纹理、光照变化等复杂环境时,具有很好的鲁棒性。
相对应的,在上述另一种可能实现的方式中,本申请实施例中可以根据当前时间窗口内的当前关键帧的点特征和线特征,以及历史关键帧的点特征和线特征,进行闭环检测,以及对当前关键帧进行时空一致性校验。终端设备根据终端设备的初始位姿、闭环检测结果、以及当前关键帧的校验结果,获取终端设备采集当前关键帧时的位姿,以得到终端设备在移动过程中的位姿。其中,历史关键帧为:终端设备在目标区域移动时当前时间窗口之前的时间窗口内的关键帧。示例性的,当前时间窗口为5s-10s,则历史关键帧可以为时间窗口为0s-5s中的关键帧。
下述首先对本申请实施例中的闭环检测过程进行说明:
以当前时间窗口内的当前关键帧为例,本申请实施例中,终端设备可以获取当前关键帧的点特征的描述子,进而根据当前关键帧的点特征的描述子,构建第一当前向量。另外,终端设备还根据历史关键帧的点特征的描述子构建第一历史向量。应理解,在构建第一当前向量时,终端设备采用当前关键帧中的所有的点特征的描述子构建该第一当前向量。在构建第一历史向量时,终端设备采用一个历史关键帧中的所有的点特征的描述子构建该第一历史向量。应理解,点特征的描述子用于描述点特征,如描述子可以将点特征以矩阵、二进制等方式进行表示。
进一步的,终端设备还可以根据当前关键帧的线特征的描述子,构建第二当前向量,对应的,终端设备还根据历史关键帧的线特征的描述子构建第二历史向量。相应的,在构建第二当前向量时,终端设备采用当前关键帧中的所有的线特征的描述子构建该第二当前向量。在构建第二历史向量时,终端设备采用一个历史关键帧中的所有的线特征的描述子构建该第二历史向量。应理解,线特征的描述子用于描述线特征,如描述子可以将线特征以矩阵、二进制等方式进行表示。
应理解,本申请实施例中可以基于词袋模型(bag of words,BOW),构建当前向量(第一当前向量和第二当前向量)和历史向量(第一历史向量和第二历史向量),相应的,本申请实施例中的“向量”可以替换为“词袋向量”。应注意,本申请实施例中还可以采用其他模型提取点特征线特征的向量。应注意的是,当上述实施例中采用视频帧中的点特征或线特征获取终端设备的位姿时,本申请实施例在进行闭环检测时,仅执行点特征或线特征对应的步骤即可。
本申请实施例中,终端设备获取第一当前向量与第一历史向量的相似度,且将相似度大于相似度阈值的第一历史向量对应的关键帧作为第一候选帧,且终端设备获取第二当前向量与第二历史向量的相似度,且将相似度大于相似度阈值的第二历史向量对应的关键帧作为第二候选帧。其中,终端设备可以根据第一候选帧的相似度和第二候选帧的相似度,进行闭环检测,以及对当前关键帧进行时空一致性校验。应理解,相似度阈值为预先设置的。
其中,终端设备可以对第一候选帧的相似度和第二候选帧的相似度进行加权处理,得到加权分值。应理解,本申请实施例中预先对第一候选帧的相似度和第二候选帧的相似度设置有对应的权重,进而根据第一候选帧的相似度的第一候选帧的相似度的权重的乘积,以及第二候选帧的相似度的第二候选帧的相似度的权重的乘积,得到加权分值。
示例性的,如第一候选帧的相似度为Sp,第二候选帧的相似度为Sl,则加权分值Spl可如下述公式八表示:
其中,np和nl分别为当前关键帧中的点特征和线特征的个数;λ为超参数,λ≥1,且λ越大,线特征的权重越大,表示目标区域的结构化程度越高。
本申请实施例中,若加权分值大于或等于分值阈值,则闭环检测通过;若加权分值小于分值阈值,则闭环检测未通过。
在闭环检测通过后,终端设备可以对关键帧进行时空一致性校验,下述对本申请实施例中对当前关键帧进行时空一致性校验的过程进行说明:
时空一致性校验包括空间一致性校验:获取第一候选帧和当前关键帧之间的相对位移和相对角度。应理解,本申请实施例中可以根据如上公式三-公式五获取第一候选帧和当前关键帧之间的相对位移和相对角度,在此不做赘述。
其中,若第一候选帧和当前关键帧之间的相对位移小于第二位移阈值,以及相对角度小于第三角度阈值,则确定当前关键帧通过空间一致性校验。
时空一致性校验还包括时间一致性校验:若当前关键帧的前N个关键帧的加权分值均大于分值阈值,则确定当前关键帧通过时间一致性校验,N为大于或等于1的整数。应理解,本申请实施例中,终端设备可以在每确定一视频帧为关键帧时,获取该关键帧的加权分值,进而在该关键帧的前N个关键帧的加权分值均大于分值阈值,则确定该关键帧通过时间一致性校验。
相对应的,本申请实施例中终端设备可以根据终端设备的初始位姿、闭环检测结果、以及当前关键帧的校验结果,获取终端设备在移动过程中的位姿。
其中,若闭环检测未通过,或者闭环检测通过且当前关键帧未通过时空一致性校验,则将终端设备的初始位姿和终端设备采集历史关键帧时的位姿作为终端设备在移动过程中的位姿。因为根据上述公式七获取的为当前时间窗口的终端设备的位姿,且应理解,在当前时间窗口之前的时间窗口内的终端设备的位姿也可以通过上述公式七获取。本申请实施例中,若闭环检测未通过,或者闭环检测通过且当前关键帧未通过时空一致性校验,终端设备可以将由上述公式七获取的初始位姿作为当前时间窗口内的终端设备的位姿,也就是说,终端设备在目标区域移动的过程中的位姿包括该初始位姿和终端设备采集历史关键帧时的位姿。应理解,终端设备采集历史关键帧时的位姿可以根据本申请实施例中的方法获取,即将当前时间窗口之前的时间窗口作为当前时间窗口。
其中,若闭环检测通过,且当前关键帧通过时空一致性校验,则融合当前关键帧的点特征与第一候选帧的点特征,以及融合当前关键帧的线特征与第二候选帧的线特征。终端设备通过融合后的点特征和融合后的线特征,对终端设备的初始位姿以及终端设备采集历史关键帧时的位姿进行校正,获取终端设备在移动过程中的位姿。
本申请实施例中,终端设备对通过融合后的点特征和融合后的线特征,对终端设备的初始位姿以及终端设备采集历史关键帧时的位姿进行校正的方式可以为:终端设备可以将当前关键帧中的点线特征集合(即点特征和线特征的集合){Pn,Ln}和第一候选帧中的点线特征集合{Ph,Lh}进行匹配,Pn为当前关键帧中的点特征,Ln为当前关键帧中的线特征,Ph为第一候选帧中的点特征,Lh为历史关键帧中的线特征。应注意,本申请实施例中可以融合匹配的线特征和点特征,通过代价函数进行最小化重投影误差,以对终端设备的初始位姿以及终端设备采集历史关键帧时的位姿进行校正,进而得到矫正后的终端设备位姿。本申请实施例中可以将终端设备的矫正后位姿,作为述终端设备在移动过程中的位姿,以提高终端设备的位姿的准确性。
本申请实施例中,终端设备进行闭环检测,可以显著地减小因为积分导致的累积漂移误差,进而提高位姿的准确性。还可以在闭环检测通过后,对关键帧进行时空一致性校验,使得本申请实施例中的方法在终端设备快速旋转、目标区域包含有动态物体、且目标区域存在弱纹理、光照变化等复杂环境时,具有很好的鲁棒性。
在一种可能的实现方式中,图7为本申请实施例提供的获取Wi-Fi指纹空间分布的方法的另一实施例的流程示意图。如图7所示,在上述S404之后,还可以包括S406。
S406,输出终端设备在目标区域移动过程中的位姿、位姿对应的时间,以及终端设备在对应的时间采集的视频帧。
应理解,上述S405和S406可以同时执行。
上述实施例中描述了终端设备可以获取采集每个视频帧时的位姿,或者终端设备可以获取采集关键帧时的位姿。相对应的,本申请实施例中终端设备可以输出终端设备在移动过程中的位姿、位姿对应的时间,以及终端设备在时间采集的视频帧。其中,终端设备输出的方式可以为在界面上显示终端设备在移动过程中的位姿、位姿对应的时间,以及终端设备在时间采集的视频帧,如上述图5所示。
也就是说,一种可能的实现方式中,终端设备可以在移动过程中,可以输出采集每个视频帧时的位姿、位姿对应的时间,以及终端设备在对应的时间采集的视频帧。另一种可能的实现方式中,终端设备在移动过程中,可以输出采集每个关键帧时的位姿、位姿对应的时间,以及终端设备在对应的时间采集的关键帧。
本申请实施例中,可以实时输出终端设备在移动过程中的位姿、位姿对应的时间,以及终端设备在时间采集的视频帧,可以使得用户可以直观地看到终端设备的实时位姿,时间,以及采集的视频帧。
在上述实施例的基础上,本申请实施例中还可以根据Wi-Fi指纹空间分布的应用场景,获取Wi-Fi指纹空间分布。图8为本申请实施例提供的获取Wi-Fi指纹空间分布的方法的另一实施例的流程示意图。如图8所示,本申请实施例提供的获取Wi-Fi指纹空间分布的方法可以包括:
S801,采集当前时间窗口内的目标区域的视频帧、Wi-Fi指纹,以及终端设备的imu数据。
S802,根据imu数据,获取终端设备在采集视频帧时的相对移动信息。
S803,获取视频帧的特征,视频帧的特征包括视频帧的点特征和/或线特征。
S804,根据相对移动信息、视频帧的特征,获取终端设备采集视频帧时的位姿,以得到终端设备在目标区域移动过程中的位姿。
S805,根据目标区域的Wi-Fi指纹空间分布的应用场景,过滤Wi-Fi指纹。
S806,将终端设备在目标区域移动过程中的位姿和终端设备在目标区域移动过程中采集的Wi-Fi指纹按照时间对齐,得到目标区域的Wi-Fi指纹空间分布。
S807,根据目标区域的Wi-Fi指纹空间分布,获取目标区域的Wi-Fi指纹空间分布图,且显示目标区域的Wi-Fi指纹空间分布图。
应理解,本申请实施例中的S801-S804、S806中的实施方式可以参照上述实施例中S401-S404、S405中的相关描述,在此不做赘述。
上述S805中,本申请实施例中终端设备根据Wi-Fi指纹空间分布的应用场景,过滤采集的Wi-Fi指纹。
示例性的,若终端设备获取Wi-Fi指纹空间分布是为了对终端设备进行定位,则终端设备可以将Wi-Fi指纹中与定位不相关的数据进行过滤。如终端设备中预先设置有信号强度阈值,终端设备可以将Wi-Fi指纹中Wi-Fi信号的强度小于该信号强度阈值的Wi-Fi指纹删除。信号强度阈值如可以为-75dBm。
示例性的,若终端设备获取Wi-Fi指纹空间分布是为了调整路由器位置或对路由器的天线指向优化,则终端设备可以保留预设Wi-Fi名称的Wi-Fi指纹,如保留Wi-Fi名称为essid_home的Wi-Fi指纹,删除其他非该保留预设Wi-Fi名称的Wi-Fi指纹。
下面针对本申请实施例中Wi-Fi指纹空间分布可能的应用场景进行说明:
第一种应用场景:路由器位置的调整。
将路由器静置通电后,用户可以手持终端设备(终端设备的摄像头朝前)绕目标区域的各位置走一圈,以获取Wi-Fi指纹空间分布图,见下述图7和图8中的Wi-Fi指纹空间分布图。用户根据Wi-Fi指纹空间分布图,调整路由器的位置,使得目标区域的各位置都能覆盖到一定强度的Wi-Fi信号。
第二种应用场景:路由器天线指向优化。
用户根据Wi-Fi指纹空间分布图,调整路由器天线指向,使得目标区域的各位置都能覆盖到一定强度的Wi-Fi信号。应理解,本申请实施例中用于给出Wi-Fi指纹空间分布图指示,至于具体如何根据该指示图调整路由器天线指向,本申请实施例不做限制。
第三种应用场景:提高终端设备定位的精度。
用户根据Wi-Fi指纹空间分布图指示,调整目标区域的路由器的位置,使得目标区域Wi-Fi信号与非目标区域的Wi-Fi信号呈现一定的构型,以便提高终端设备定位的精度。应理解,本申请实施例中用于给出Wi-Fi指纹空间分布图指示,至于具体如何根据该Wi-Fi指纹空间分布图调整路由器构型,本申请实施例不做限制。
第四种应用场景:路由器布局位置推荐。
在目标区域需要新部署一个路由器时,用户根据目前目标区域的Wi-Fi指纹空间分布图,可以确定Wi-Fi信号强度弱的位置,进而在该位置处部署一个新的路由,以形成路由器接力。该应用场景可以参照下述图11中的相关描述。
上述S807中,为了使得用户能够更为直观地获取目标区域的Wi-Fi指纹空间分布,本申请实施例中终端设备可以根据目标区域的Wi-Fi指纹空间分布,获取目标区域的Wi-Fi指纹空间分布图,且显示目标区域的Wi-Fi指纹空间分布图。用户可以在终端设备上观看到目标区域的Wi-Fi指纹空间分布图。
其中,Wi-Fi指纹空间分布表征终端设备在目标区域的各位置处对应的Wi-Fi指纹。本申请实施例中以终端设备的位姿为6分量为例进行说明,如终端设备的位姿为{xt,yt,zt,rollt,pitcht,yawt}。其中,xt,yt,zt表示终端设备的空间位置,rollt,pitcht,yawt表示终端设备的空间姿态。
本申请实施例中在终端设备上显示的Wi-Fi指纹空间分布图可以为点云图,也可以为热度图,或者其他形式的图。图9为本申请实施例提供的Wi-Fi指纹空间分布图一。图9为点云图,其中,图9中的X轴和Y轴分别表征终端设备的位置中的横坐标和纵坐标,图9中的Z轴表征终端设备的位置对应的Wi-Fi信号的强度,Z轴的数值越大,代表Wi-Fi信号的强度越大。图10为本申请实施例提供的Wi-Fi指纹空间分布图二。图10为热度图,图10中以灰度表征目标区域各位置处的Wi-Fi信号的强度,灰度值越大,代表Wi-Fi信号的强度越大。
在一种可能的实现方式中,若目标区域的Wi-Fi指纹空间分布的应用场景为获取路由器的安装位置,则本申请实施例中可以根据目标区域的Wi-Fi指纹空间分布推荐路由器的待安装位置,进而在目标区域的Wi-Fi指纹空间分布图中显示路由器的待安装位置。应注意,本申请实施例中终端设备可以根据Wi-Fi指纹空间分布,确定路由器的待安装位置,使得目标区域的各位置都能覆盖到一定强度的Wi-Fi信号。
图11为本申请实施例提供的Wi-Fi指纹空间分布图三。与上述图10不同的是,本申请实施例终端设备显示的Wi-Fi指纹空间分布图中可以显示有路由器的待安装位置,用户可以该图示,安装路由器。如图11所示,本申请实施例中还可以在Wi-Fi指纹空间分布图中显示盲区,其中,盲区表示Wi-Fi信号的强度小于强度阈值的位置。
本申请实施例中,终端设备可以根据Wi-Fi指纹空间分布的应用场景,过滤Wi-Fi指纹,以得到更为贴合使用的Wi-Fi指纹,减少数据占用空间。另外,本申请实施例中还可以显示Wi-Fi指纹空间分布图,用户可以直观地确定目标区域的Wi-Fi指纹空间分布。
图12为本申请实施例提供的一种获取Wi-Fi指纹空间分布的装置的结构示意图。本申请实施例的获取Wi-Fi指纹空间分布的装置可以为前述所说的终端设备,也可以为应用于终端设备的芯片。该获取Wi-Fi指纹空间分布的装置可以用于执行上述方法实施例中终端设备的动作。如图12所示,该获取Wi-Fi指纹空间分布的装置可以包括:采集模块1201、处理模块1202、显示模块1203。其中,
采集模块1201,用于采集当前时间窗口内的目标区域的视频帧、Wi-Fi指纹,以及终端设备的惯性测量单元imu数据。
处理模块1202,用于基于视频帧和imu数据,获取终端设备在目标区域移动过程中的位姿,且将终端设备在目标区域移动过程中的位姿和终端设备在目标区域移动过程中采集的Wi-Fi指纹按照时间对齐,得到目标区域的Wi-Fi指纹空间分布。
在一种可能的实现方式中,处理模块1202,具体用于根据imu数据,获取终端设备在采集视频帧时的相对移动信息,且获取视频帧的特征,以及根据相对移动信息、视频帧的特征,获取终端设备采集视频帧时的位姿,以得到终端设备在目标区域移动过程中的位姿,其中,视频帧的特征包括点特征和/或线特征。
在一种可能的实现方式中,处理模块1202,具体用于根据视频帧和前一个视频帧之间终端设备采集的imu数据,得到相对移动信息,相对移动信息表征终端设备采集视频帧时相较于采集前一个视频帧时的移动情况。
在一种可能的实现方式中,视频帧的特征包括视频帧的点特征,处理模块1202,具体用于在视频帧中,追踪前一个视频帧的点特征,若视频帧中追踪得到的点特征的数量小于第一数量阈值,则在视频帧中提取新的点特征,以得到第一数量阈值的点特征,以及将视频帧中追踪得到的点特征和新的点特征作为视频帧的点特征。
在一种可能的实现方式中,若视频帧为第一个视频帧,则第一个视频帧满足如下条件:
第一个视频帧中的角点的数量小于或等于第二数量阈值;和,
第一个视频帧的点特征的数量大于或等于第一数量阈值;和,
第一个视频帧中的角点之间的距离大于或等于第一距离阈值;和,
第一个视频帧中的角点的质量等级大于预设等级。
在一种可能的实现方式中,处理模块1202,还用于获取追踪错误的点特征,且在视频帧中删除追踪错误的点特征。
在一种可能的实现方式中,视频帧的特征包括视频帧的线特征,处理模块1202,具体用于将视频帧的线特征与前一个视频帧的线特征进行匹配,建立初始线对,初始线对指示在视频帧和前一个视频帧中匹配成功的两个线特征;在初始线对中,删除错误的线对,以得到视频帧中的线特征。
在一种可能的实现方式中,处理模块1202,具体用于获取线对中两个线特征的距离、线段长度差以及线段夹角;删除两个线特征的距离大于第二距离阈值的线对;和,删除两个线特征的线段长度差大于长度差阈值的线对;和,删除两个线特征的线段夹角大于第二角度阈值的线对。
在一种可能的实现方式中,相对移动信息包括:相对位移和相对角度。
处理模块1202,还用于根据相对位移、相对角度或视频帧与前一个关键帧之间的时间差,得到关键帧。关键帧满足如下至少一项条件:相对位移大于第一位移阈值;相对角度大于第一角度阈值;时间差大于时间差阈值。
在一种可能的实现方式中,终端设备在目标区域移动过程中的位姿包括:当前时间窗口内终端设备在采集视频帧时的位姿。处理模块1202,具体用于获取视频帧之前相邻的关键帧的位,且根据视频帧之前相邻的关键帧的位姿,以及视频帧和视频帧之前相邻的关键帧之间的相对位移信息,获取终端设备在采集视频帧时的位姿。
在一种可能的实现方式中,处理模块1202,具体用于以关键帧的相对移动信息、关键帧的点特征和关键帧的线特征作为参数,构建待估计的状态向量;建立最大后验概率目标函数,且将待估计的状态向量代入最大后验概率目标函数中,对最大后验概率目标函数进行求解,得到终端设备在当前时间窗口内采集关键帧时的初始位姿;根据终端设备初始位姿,获取终端设备采集关键帧时的位姿,以得到获取终端设备在目标区域移动过程中的位姿。
在一种可能的实现方式中,关键帧为当前时间窗口内的当前关键帧,视频帧的特征包括视频帧的点特征和线特征;处理模块1202,具体用于根据当前时间窗口内的当前关键帧的点特征和线特征,以及历史关键帧的点特征和线特征,进行闭环检测,以及对当前关键帧进行时空一致性校验,历史关键帧为:终端设备在目标区域移动时当前时间窗口之前的时间窗口内的关键帧;根据终端设备的初始位姿、闭环检测结果、以及当前关键帧的校验结果,获取终端设备采集关键帧时的位姿,以得到终端设备在目标区域移动过程中的位姿。
在一种可能的实现方式中,处理模块1202,具体用于根据当前关键帧的点特征的描述子,构建第一当前向量,当前关键帧为当前时间窗口内的关键帧;获取第一当前向量与第一历史向量的相似度,且将相似度大于相似度阈值的第一历史向量对应的关键帧作为第一候选帧,第一历史向量是根据历史关键帧的点特征的描述子构建的;根据当前关键帧的线特征的描述子,构建第二当前向量;获取第二当前向量与第二历史向量的相似度,且将相似度大于相似度阈值的第二历史向量对应的关键帧作为第二候选帧,第二历史向量是根据历史关键帧的线特征的描述子构建的;根据第一候选帧的相似度和第二候选帧的相似度,进行闭环检测,以及对当前关键帧进行时空一致性校验。
在一种可能的实现方式中,处理模块1202,具体用于对第一候选帧的相似度和第二候选帧的相似度进行加权处理,得到加权分值;若加权分值大于或等于分值阈值,则闭环检测通过;若加权分值小于分值阈值,则闭环检测未通过。
在一种可能的实现方式中,时空一致性校验包括空间一致性校验。处理模块1202,具体用于获取第一候选帧和当前关键帧之间的相对位移和相对角度;若相对位移小于第二位移阈值,以及相对角度小于第三角度阈值,则确定当前关键帧通过空间一致性校验。
在一种可能的实现方式中,时空一致性校验还包括时间一致性校验。处理模块1202,具体用于若当前关键帧的前N个关键帧的加权分值均大于分值阈值,则确定当前关键帧通过时间一致性校验,N为大于或等于1的整数。
在一种可能的实现方式中,处理模块1202,具体用于若闭环检测通过,且当前关键帧通过时空一致性校验,则融合当前关键帧的点特征与第一候选帧的点特征;融合当前关键帧的线特征与第二候选帧的线特征;通过融合后的点特征和融合后的线特征,对终端设备的初始位姿以及终端设备采集历史关键帧时的位姿进行校正,获取终端设备在目标区域移动过程中的位姿。
在一种可能的实现方式中,处理模块1202,具体用于若闭环检测未通过,或者闭环检测通过且当前关键帧未通过时空一致性校验,则将终端设备的初始位姿和终端设备采集历史关键帧时的位姿作为终端设备在目标区域移动过程中的位姿。
在一种可能的实现方式中,处理模块1202,还用于若当前关键帧通过时空一致性校验,则存储当前关键帧对应的第一当前向量和第二当前向量。
在一种可能的实现方式中,处理模块1202,还用于输出终端设备在移动过程中的位姿、位姿对应的时间,以及终端设备在时间采集的视频帧。
在一种可能的实现方式中,处理模块1202,还用于根据目标区域的Wi-Fi指纹空间分布的应用场景,过滤Wi-Fi指纹。
在一种可能的实现方式中,处理模块1202,还用于根据目标区域的Wi-Fi指纹空间分布,获取目标区域的Wi-Fi指纹空间分布图。
显示模块1203,用于显示目标区域的Wi-Fi指纹空间分布图。
在一种可能的实现方式中,显示模块1203,还用于若目标区域的Wi-Fi指纹空间分布的应用场景为获取路由器的安装位置,则在目标区域的Wi-Fi指纹空间分布图中显示路由器的待安装位置。
本申请实施例提供的获取Wi-Fi指纹空间分布的装置,可以执行上述方法实施例中终端设备的动作,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上收发模块实际实现时可以为收发器、或者包括发送器和接收器。而处理模块可以以软件通过处理元件调用的形式实现;也可以以硬件的形式实现。例如,处理模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上处理模块的功能。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessing unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本文中的术语“多个”是指两个或两个以上。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。
可以理解的是,在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
Claims (25)
1.一种获取Wi-Fi指纹空间分布的方法,应用于终端设备,其特征在于,包括:
采集当前时间窗口内的目标区域的视频帧、Wi-Fi指纹,以及终端设备的惯性测量单元imu数据;
根据所述imu数据,获取所述终端设备在采集所述视频帧时的相对移动信息;
根据所述相对移动信息或所述视频帧与前一个关键帧之间的时间差,得到视频帧中的关键帧;
以所述关键帧的相对移动信息、所述关键帧的特征作为参数,构建待估计的状态向量;
建立最大后验概率目标函数,基于待估计的状态向量,通过所述最大后验概率目标函数,得到所述终端设备在所述当前时间窗口内采集所述关键帧时的初始位姿;
根据所述终端设备初始位姿,获取所述终端设备采集所述关键帧时的位姿,以得到所述终端设备在所述目标区域移动过程中的位姿;
将所述终端设备在所述目标区域移动过程中的位姿,以及所述终端设备在所述目标区域移动过程中采集的Wi-Fi指纹按照时间对齐,得到所述目标区域的Wi-Fi指纹空间分布。
2.根据权利要求1所述的方法,其特征在于:
所述关键帧的特征包括所述关键帧的点特征和/或线特征。
3.根据权利要求2所述的方法,其特征在于,所述根据所述imu数据,获取所述终端设备在采集所述视频帧时的相对移动信息,包括:
根据所述视频帧和前一个视频帧之间所述终端设备采集的imu数据,得到所述相对移动信息,所述相对移动信息表征所述终端设备采集所述视频帧时相较于采集所述前一个视频帧时的移动情况。
4.根据权利要求2或3所述的方法,其特征在于,所述视频帧的特征包括所述视频帧的点特征,所述获取所述视频帧的特征,包括:
在所述视频帧中,追踪前一个视频帧的点特征;
若所述视频帧中追踪得到的点特征的数量小于第一数量阈值,则在所述视频帧中提取新的点特征,以得到所述第一数量阈值的点特征;
将所述视频帧中追踪得到的点特征和所述新的点特征作为所述视频帧的点特征。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:若所述视频帧为所述当前时间窗口内的第一个视频帧,则所述第一个视频帧满足如下条件:
所述第一个视频帧中的角点的数量小于或等于第二数量阈值;和,
所述第一个视频帧的点特征的数量大于或等于所述第一数量阈值;和,
所述第一个视频帧中的角点之间的距离大于或等于第一距离阈值;和,
所述第一个视频帧中的角点的质量等级大于预设等级。
6.根据权利要求5所述的方法,其特征在于,所述追踪前一个视频帧的点特征之后,还包括:
获取追踪错误的点特征,且在所述视频帧中删除所述追踪错误的点特征。
7.根据权利要求2、3、5、6中任一项所述的方法,其特征在于,所述视频帧的特征包括所述视频帧的线特征,所述获取所述视频帧的特征,包括:
将所述视频帧的线特征与前一个视频帧的线特征进行匹配,建立初始线对,所述初始线对指示在所述视频帧和所述前一个视频帧中匹配成功的两个线特征;
在所述初始线对中,删除错误的线对,以得到所述视频帧中的线特征。
8.根据权利要求7所述的方法,其特征在于,所述删除错误的线对,包括:
获取所述线对中两个线特征的距离、线段长度差以及线段夹角;
删除所述两个线特征的距离大于第二距离阈值的线对;和,
删除所述两个线特征的线段长度差大于长度差阈值的线对;和,
删除所述两个线特征的线段夹角大于第二角度阈值的线对。
9.根据权利要求3所述的方法,其特征在于,所述相对移动信息包括:相对位移和相对角度;
所述关键帧满足如下至少一项条件:
所述相对位移大于第一位移阈值;
所述相对角度大于第一角度阈值;
所述时间差大于时间差阈值。
10.根据权利要求9所述的方法,其特征在于,所述终端设备在所述目标区域移动过程中的位姿包括:所述当前时间窗口内所述终端设备在采集所述视频帧时的位姿;所述根据所述相对移动信息、所述视频帧的特征,获取所述终端设备采集所述视频帧时的位姿,包括:
获取所述视频帧之前相邻的关键帧的位姿;
根据所述视频帧之前相邻的关键帧的位姿,以及所述视频帧和所述视频帧之前相邻的关键帧之间的相对位移信息,获取所述终端设备在采集所述视频帧时的位姿。
11.根据权利要求1所述的方法,其特征在于,所述关键帧为所述当前时间窗口内的当前关键帧,所述视频帧的特征包括所述视频帧的点特征和线特征;所述根据所述终端设备初始位姿,获取所述终端设备采集所述关键帧时的位姿,以得到所述终端设备在所述目标区域移动过程中的位姿,包括:
根据所述当前时间窗口内的当前关键帧的点特征和线特征,以及历史关键帧的点特征和线特征,进行闭环检测,以及对所述当前关键帧进行时空一致性校验,所述历史关键帧为:所述终端设备在所述目标区域移动时所述当前时间窗口之前的时间窗口内的关键帧;
根据所述终端设备的初始位姿、闭环检测结果、以及所述当前关键帧的校验结果,获取所述终端设备采集所述当前关键帧时的位姿,以得到所述终端设备在所述目标区域移动过程中的位姿。
12.根据权利要求11所述的方法,其特征在于,所述根据所述当前时间窗口内的当前关键帧的点特征和线特征,以及历史关键帧的点特征和线特征,进行闭环检测,以及对所述当前关键帧进行时空一致性校验,包括:
根据所述当前关键帧的点特征的描述子,构建第一当前向量,所述当前关键帧为所述当前时间窗口内的关键帧;
获取第一当前向量与第一历史向量的相似度,且将相似度大于相似度阈值的第一历史向量对应的关键帧作为第一候选帧,所述第一历史向量是根据所述历史关键帧的点特征的描述子构建的;
根据所述当前关键帧的线特征的描述子,构建第二当前向量;
获取第二当前向量与第二历史向量的相似度,且将相似度大于所述相似度阈值的第二历史向量对应的关键帧作为第二候选帧,所述第二历史向量是根据所述历史关键帧的线特征的描述子构建的;
根据所述第一候选帧的相似度和所述第二候选帧的相似度,进行闭环检测,以及对所述当前关键帧进行时空一致性校验。
13.根据权利要求12所述的方法,其特征在于,所述根据所述第一候选帧的相似度和所述第二候选帧的相似度,进行闭环检测,包括:
对所述第一候选帧的相似度和所述第二候选帧的相似度进行加权处理,得到加权分值;
若所述加权分值大于或等于分值阈值,则闭环检测通过;
若所述加权分值小于分值阈值,则闭环检测未通过。
14.根据权利要求13所述的方法,其特征在于,所述时空一致性校验包括空间一致性校验;根据所述第一候选帧的相似度和所述第二候选帧的相似度,对所述当前关键帧进行空间一致性校验,包括:
获取所述第一候选帧和所述当前关键帧之间的相对位移和相对角度;
若所述相对位移小于第二位移阈值,以及所述相对角度小于第三角度阈值,则确定所述当前关键帧通过空间一致性校验。
15.根据权利要求13或14所述的方法,其特征在于,所述时空一致性校验还包括时间一致性校验;根据所述第一候选帧的相似度和所述第二候选帧的相似度,对所述当前关键帧进行时间一致性校验,包括:
若所述当前关键帧的前N个关键帧的加权分值均大于所述分值阈值,则确定所述当前关键帧通过时间一致性校验,所述N为大于或等于1的整数。
16.根据权利要求12-14中任一项所述的方法,其特征在于,所述根据所述终端设备的初始位姿、闭环检测结果、以及所述当前关键帧的校验结果,获取所述终端设备采集所述当前关键帧时的位姿,以得到所述终端设备在所述目标区域移动过程中的位姿,包括:
若闭环检测通过,且所述当前关键帧通过时空一致性校验,则融合所述当前关键帧的点特征与所述第一候选帧的点特征;
融合所述当前关键帧的线特征与所述第二候选帧的线特征;
通过融合后的点特征和融合后的线特征,对所述终端设备的初始位姿以及所述终端设备采集所述历史关键帧时的位姿进行校正,获取所述终端设备在所述目标区域移动过程中的位姿。
17.根据权利要求12-14中任一项所述的方法,其特征在于,所述根据所述终端设备的初始位姿、闭环检测结果、以及所述当前关键帧的校验结果,获取所述终端设备采集所述当前关键帧时的位姿,以得到所述终端设备在所述目标区域移动过程中的位姿,包括:
若闭环检测未通过,或者闭环检测通过且所述当前关键帧未通过时空一致性校验,则将所述终端设备的初始位姿和所述终端设备采集所述历史关键帧时的位姿作为所述终端设备在所述目标区域移动过程中的位姿。
18.根据权利要求12-14中任一项所述的方法,其特征在于,所述方法还包括:
若所述当前关键帧通过时空一致性校验,则存储所述当前关键帧的第一当前向量和第二当前向量。
19.根据权利要求17所述的方法,其特征在于,所述获取所述终端设备在所述目标区域移动过程中的位姿之后,还包括:
输出所述终端设备在所述目标区域移动过程中的位姿、位姿对应的时间,以及所述终端设备在所述时间采集的视频帧。
20.根据权利要求1-3、5、6、8-14、19中任一项所述的方法,其特征在于,所述将所述终端设备在所述目标区域移动过程中的位姿,以及所述终端设备在所述目标区域移动过程中采集的Wi-Fi指纹按照时间对齐之前,还包括:
根据所述目标区域的Wi-Fi指纹空间分布的应用场景,过滤所述Wi-Fi指纹。
21.根据权利要求1-3、5、6、8-14、19中任一项所述的方法,其特征在于,所述得到所述目标区域的Wi-Fi指纹空间分布之后,还包括:
根据所述目标区域的Wi-Fi指纹空间分布,获取所述目标区域的Wi-Fi指纹空间分布图;
显示所述目标区域的Wi-Fi指纹空间分布图。
22.根据权利要求21所述的方法,其特征在于,所述显示所述目标区域的Wi-Fi指纹空间分布图,包括:
若所述目标区域的Wi-Fi指纹空间分布的应用场景为获取路由器的安装位置,则在所述目标区域的Wi-Fi指纹空间分布图中显示所述路由器的待安装位置。
23.一种获取Wi-Fi指纹空间分布的装置,其特征在于,包括:
采集模块,用于采集当前时间窗口内的目标区域的视频帧、Wi-Fi指纹,以及终端设备的惯性测量单元imu数据;
处理模块,用于基于所述视频帧和所述imu数据,获取所述终端设备在所述目标区域移动过程中的位姿,且将所述终端设备在所述目标区域移动过程中的位姿和所述终端设备在所述目标区域移动过程中采集的Wi-Fi指纹按照时间对齐,得到所述目标区域的Wi-Fi指纹空间分布;
所述处理模块,具体用于根据所述imu数据,获取所述终端设备在采集所述视频帧时的相对移动信息;
根据所述相对移动信息或所述视频帧与前一个关键帧之间的时间差,得到视频帧中的关键帧;
以所述关键帧的相对移动信息、所述关键帧的特征作为参数,构建待估计的状态向量;
建立最大后验概率目标函数,基于待估计的状态向量,通过所述最大后验概率目标函数,得到所述终端设备在所述当前时间窗口内采集所述关键帧时的初始位姿;
根据所述终端设备初始位姿,获取所述终端设备采集所述关键帧时的位姿,以得到所述终端设备在所述目标区域移动过程中的位姿。
24.一种电子设备,其特征在于,包括:存储器、处理器和收发器;
所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,以实现权利要求1-22中任一项所述的方法;
所述收发器与所述处理器耦合,由所述处理器控制所述收发器进行消息收发。
25.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行权利要求1-22中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010705291.XA CN112087728B (zh) | 2020-07-21 | 2020-07-21 | 获取Wi-Fi指纹空间分布的方法、装置和电子设备 |
PCT/CN2021/085972 WO2022016909A1 (zh) | 2020-07-21 | 2021-04-08 | 获取Wi-Fi指纹空间分布的方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010705291.XA CN112087728B (zh) | 2020-07-21 | 2020-07-21 | 获取Wi-Fi指纹空间分布的方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112087728A CN112087728A (zh) | 2020-12-15 |
CN112087728B true CN112087728B (zh) | 2022-01-14 |
Family
ID=73735138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010705291.XA Active CN112087728B (zh) | 2020-07-21 | 2020-07-21 | 获取Wi-Fi指纹空间分布的方法、装置和电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112087728B (zh) |
WO (1) | WO2022016909A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112087728B (zh) * | 2020-07-21 | 2022-01-14 | 华为技术有限公司 | 获取Wi-Fi指纹空间分布的方法、装置和电子设备 |
CN113465602A (zh) * | 2021-05-26 | 2021-10-01 | 北京三快在线科技有限公司 | 导航方法、装置、电子设备及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104181500A (zh) * | 2014-08-19 | 2014-12-03 | 北京邮电大学 | 一种基于惯性信息和机会无线信号特征的实时定位方法 |
CN107194984A (zh) * | 2016-03-14 | 2017-09-22 | 武汉小狮科技有限公司 | 移动端实时高精度三维建模方法 |
CN108242079A (zh) * | 2017-12-30 | 2018-07-03 | 北京工业大学 | 一种基于多特征视觉里程计和图优化模型的vslam方法 |
CN109001674A (zh) * | 2018-05-31 | 2018-12-14 | 中国矿业大学 | 一种基于连续视频序列的WiFi指纹信息快速采集与定位方法 |
CN110763251A (zh) * | 2019-10-18 | 2020-02-07 | 华东交通大学 | 视觉惯性里程计优化的方法及系统 |
CN110853100A (zh) * | 2019-10-24 | 2020-02-28 | 东南大学 | 一种基于改进点线特征的结构化场景视觉slam方法 |
CN111160362A (zh) * | 2019-11-27 | 2020-05-15 | 东南大学 | 一种fast特征均匀化提取与基于imu的帧间特征误匹配去除方法 |
CN111238450A (zh) * | 2020-02-27 | 2020-06-05 | 北京三快在线科技有限公司 | 视觉定位方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6318552B2 (ja) * | 2013-10-31 | 2018-05-09 | セイコーエプソン株式会社 | 角速度センサー、電子機器および移動体 |
US20160094951A1 (en) * | 2014-09-26 | 2016-03-31 | Shao-Wen Yang | Wi-fi fingerprint location database creation and update from crowd sourced data |
WO2018176511A1 (zh) * | 2017-03-28 | 2018-10-04 | 华为技术有限公司 | 一种指纹定位方法及相关设备 |
CN108882169B (zh) * | 2018-04-10 | 2020-11-03 | 北京三快在线科技有限公司 | 一种WiFi位置指纹数据的获取方法及装置和机器人 |
CN110766716B (zh) * | 2019-09-10 | 2022-03-29 | 中国科学院深圳先进技术研究院 | 一种空间未知运动目标的信息获取方法及系统 |
CN112087728B (zh) * | 2020-07-21 | 2022-01-14 | 华为技术有限公司 | 获取Wi-Fi指纹空间分布的方法、装置和电子设备 |
-
2020
- 2020-07-21 CN CN202010705291.XA patent/CN112087728B/zh active Active
-
2021
- 2021-04-08 WO PCT/CN2021/085972 patent/WO2022016909A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104181500A (zh) * | 2014-08-19 | 2014-12-03 | 北京邮电大学 | 一种基于惯性信息和机会无线信号特征的实时定位方法 |
CN107194984A (zh) * | 2016-03-14 | 2017-09-22 | 武汉小狮科技有限公司 | 移动端实时高精度三维建模方法 |
CN108242079A (zh) * | 2017-12-30 | 2018-07-03 | 北京工业大学 | 一种基于多特征视觉里程计和图优化模型的vslam方法 |
CN109001674A (zh) * | 2018-05-31 | 2018-12-14 | 中国矿业大学 | 一种基于连续视频序列的WiFi指纹信息快速采集与定位方法 |
CN110763251A (zh) * | 2019-10-18 | 2020-02-07 | 华东交通大学 | 视觉惯性里程计优化的方法及系统 |
CN110853100A (zh) * | 2019-10-24 | 2020-02-28 | 东南大学 | 一种基于改进点线特征的结构化场景视觉slam方法 |
CN111160362A (zh) * | 2019-11-27 | 2020-05-15 | 东南大学 | 一种fast特征均匀化提取与基于imu的帧间特征误匹配去除方法 |
CN111238450A (zh) * | 2020-02-27 | 2020-06-05 | 北京三快在线科技有限公司 | 视觉定位方法及装置 |
Non-Patent Citations (2)
Title |
---|
刘涛.视觉信息辅助的室内建图与行人导航方法研究.《中国博士学位论文全文数据库 工程科技Ⅰ辑2018 年 第 06 期》.2018, * |
视觉信息辅助的室内建图与行人导航方法研究;刘涛;《中国博士学位论文全文数据库 工程科技Ⅰ辑2018 年 第 06 期》;20180615;正文第3-4章 * |
Also Published As
Publication number | Publication date |
---|---|
CN112087728A (zh) | 2020-12-15 |
WO2022016909A1 (zh) | 2022-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108615248B (zh) | 相机姿态追踪过程的重定位方法、装置、设备及存储介质 | |
CN110555883B (zh) | 相机姿态追踪过程的重定位方法、装置及存储介质 | |
CN108596976B (zh) | 相机姿态追踪过程的重定位方法、装置、设备及存储介质 | |
US11189037B2 (en) | Repositioning method and apparatus in camera pose tracking process, device, and storage medium | |
US11276183B2 (en) | Relocalization method and apparatus in camera pose tracking process, device, and storage medium | |
US9417689B1 (en) | Robust device motion detection | |
CN110148178B (zh) | 相机定位方法、装置、终端及存储介质 | |
US20150103183A1 (en) | Method and apparatus for device orientation tracking using a visual gyroscope | |
US20220398775A1 (en) | Localization processing service | |
CN107111885A (zh) | 用于确定便携式设备的位置的方法 | |
CN105283905A (zh) | 使用点和线特征的稳健跟踪 | |
CN108780577A (zh) | 图像处理方法和设备 | |
CN111353355B (zh) | 动作追踪系统及方法 | |
US11042984B2 (en) | Systems and methods for providing image depth information | |
CN108776822B (zh) | 目标区域检测方法、装置、终端及存储介质 | |
CN113439275A (zh) | 一种平面语义类别的识别方法以及图像数据处理装置 | |
CN112146678A (zh) | 一种确定校准参数的方法及电子设备 | |
CN112087728B (zh) | 获取Wi-Fi指纹空间分布的方法、装置和电子设备 | |
TW202314593A (zh) | 定位方法及設備、電腦可讀儲存媒體 | |
CN111928861B (zh) | 地图构建方法及装置 | |
US10551195B2 (en) | Portable device with improved sensor position change detection | |
WO2020149149A1 (en) | Information processing apparatus, information processing method, and program | |
CN115249318A (zh) | 交互方法、装置、存储介质及程序产品 | |
CN116576866B (zh) | 导航方法和设备 | |
CN114422736B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |