Determining location using BLE signals
Methods and systems are provided for performing operations including: receiving a plurality of Bluetooth Low Energy (BLE) signals from a BLE beacon associated with an object over a period of time; generating a series of spatial patterns based on Received Signal Strength Indicators (RSSI) associated with the BLE signals; processing the series of spatial patterns by a first machine learning model to select a portion of the series of spatial patterns for use in determining a location of the object; and determining the location of the object based on the selected portion of the series of spatial patterns associated with the BLE signals.
1 . A method comprising:
receiving a plurality of Bluetooth Low Energy (BLE) signals from a BLE beacon associated with an object over a period of time;
generating a series of spatial patterns based on Received Signal Strength Indicators (RSSI) associated with the plurality of BLE signals;
processing the series of spatial patterns by a first machine learning model comprising a Transformer Encoder Stack Neural Network model to select a portion of the series of spatial patterns for use in determining a location of the object, the Transformer Encoder Stack Neural Network model statistically analyzing the series of spatial patterns to discern which samples correspond to movement along a path and represent a location along a trajectory and which samples correspond to noise or duplicate data samples; and
determining the location of the object based on the selected portion of the series of spatial patterns associated with the plurality of BLE signals.
2 . The method of claim 1 , wherein the plurality of BLE signals is received by a plurality of anchors that are distributed in a physical space.
3 . The method of claim 2 , wherein the BLE beacon emits periodic RF signals.
4 . The method of claim 3 , further comprising:
generating a first spatial pattern of the series of spatial patterns based on an RSSI of the periodic RF signals observed by the plurality of anchors at a first timepoint; and
generating a second spatial pattern of the series of spatial patterns based on an additional RSSI of the periodic RF signals observed by the plurality of anchors at a second timepoint.
5 . The method of claim 4 , further comprising:
aggregating the first and second spatial patterns into a spatiotemporal pattern comprising the series of spatial patterns.
6 . The method of claim 1 , further comprising training the Transformer Encoder Stack Neural Network model in an unsupervised manner.
7 . The method of claim 1 , wherein the Transformer Encoder Stack Neural Network model is trained by performing training operations comprising:
processing training data by the Transformer Encoder Stack Neural Network model to infer a location from a set of BLE signals by selecting the location of an anchor having a relatively stronger RSSI signal in the set of BLE signals from another RSSI signal associated with another timepoint in a sequence.
8 . The method of claim 1 , wherein the machine learning model is trained to prioritize a first subset of spatial patterns in the series of spatial patterns associated with more recent timepoints.
9 . The method of claim 8 , wherein the machine learning model is trained to prioritize a second subset of spatial patterns in the series of spatial patterns associated with entry into a geofence associated with an anchor.
10 . The method of claim 9 , wherein the machine learning model is trained to prioritize a third subset of spatial patterns in the series of spatial patterns associated with a workflow indicator.
11 . The method of claim 1 , wherein the Transformer Encoder Stack Neural Network model is trained to emphasize data sample features pertinent in determining a precise location of an individual BLE beacon at a given time instance.
12 . The method of claim 1 , further comprising training the Transformer Encoder Stack Neural Network model in an unsupervised manner by performing training operations comprising:
receiving training data including a set of BLE signals associated with historical patterns obtained from one or more BLE beacons; and
processing the training data by the Transformer Encoder Stack Neural Network model to infer a location from the set of BLE signals by selecting the location of an anchor having a relatively stronger RSSI signal in the set of BLE signals from another RSSI signal associated with another timepoint in a sequence.
13 . The method of claim 1 , further comprising:
training a plurality of machine learning models comprising the first machine learning model to select different portions of an individual series of spatial patterns based on beacon types.
14 . The method of claim 13 , further comprising:
determining that the BLE beacon corresponds to a first type of BLE beacon; and
selecting the first machine learning model from the plurality of machine learning models for processing the series of spatial patterns in response to determining that the BLE beacon corresponds to the first type of BLE beacon.
15 . The method of claim 14 , further comprising:
receiving an additional plurality of BLE signals from an additional BLE beacon;
generating an additional series of spatial patterns based on RSSI associated with the additional plurality of BLE signals;
determining that the additional BLE beacon corresponds to a second type of BLE beacon; and
selecting a second machine learning model from the plurality of machine learning models for processing the additional series of spatial patterns in response to determining that the additional BLE beacon corresponds to the second type of BLE beacon.
16 . The method of claim 15 , further comprising:
processing the additional series of spatial patterns by the second machine learning model to select an additional portion of the additional series of spatial patterns for use in determining an additional location; and
determining the additional location based on the selected additional portion of the additional series of spatial patterns associated with the additional plurality of BLE signals.
17 . The method of claim 16 , wherein the additional location is determined by a real-time location system (RTLS), wherein the first type of BLE beacon comprises at least one of a wristband, a physical badge, or an object tag, and wherein the second type of BLE beacon comprises a different one of the wristband, the physical badge, or the object tag.
18 . A system comprising:
one or more processors configured to perform operations comprising:
receiving a plurality of Bluetooth Low Energy (BLE) signals from a BLE beacon associated with an object over a period of time;
generating a series of spatial patterns based on Received Signal Strength Indicators (RSSI) associated with the plurality of BLE signals;
processing the series of spatial patterns by a first machine learning model comprising a Transformer Encoder Stack Neural Network model to select a portion of the series of spatial patterns for use in determining a location of the object, the Transformer Encoder Stack Neural Network model statistically analyzing the series of spatial patterns to discern which samples correspond to movement along a path and represent a location along a trajectory and which samples correspond to noise or duplicate data samples; and
determining the location of the object based on the selected portion of the series of spatial patterns associated with the plurality of BLE signals.
19 . A non-transitory computer-readable medium comprising non-transitory computer-readable instructions that, when executed by one or more processors, configure the one or more processors to perform operations comprising:
receiving a plurality of Bluetooth Low Energy (BLE) signals from a BLE beacon associated with an object over a period of time;
generating a series of spatial patterns based on Received Signal Strength Indicators (RSSI) associated with the plurality of BLE signals;
processing the series of spatial patterns by a first machine learning model comprising a Transformer Encoder Stack Neural Network model to select a portion of the series of spatial patterns for use in determining a location of the object, the Transformer Encoder Stack Neural Network model statistically analyzing the series of spatial patterns to discern which samples correspond to movement along a path and represent a location along a trajectory and which samples correspond to noise or duplicate data samples; and
determining the location of the object based on the selected portion of the series of spatial patterns associated with the plurality of BLE signals.