JP2023552878A - データの正規化を用いた軌跡予測 - Google Patents
データの正規化を用いた軌跡予測 Download PDFInfo
- Publication number
- JP2023552878A JP2023552878A JP2023535893A JP2023535893A JP2023552878A JP 2023552878 A JP2023552878 A JP 2023552878A JP 2023535893 A JP2023535893 A JP 2023535893A JP 2023535893 A JP2023535893 A JP 2023535893A JP 2023552878 A JP2023552878 A JP 2023552878A
- Authority
- JP
- Japan
- Prior art keywords
- access control
- control device
- points
- observed
- velocity
- 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
- 238000010606 normalization Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 144
- 238000012549 training Methods 0.000 claims abstract description 72
- 238000010801 machine learning Methods 0.000 claims abstract description 62
- 230000008569 process Effects 0.000 claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 23
- 238000005259 measurement Methods 0.000 claims description 95
- 230000001133 acceleration Effects 0.000 claims description 90
- 238000004891 communication Methods 0.000 claims description 62
- 238000005070 sampling Methods 0.000 claims description 42
- 230000006870 function Effects 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 20
- 238000013528 artificial neural network Methods 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 description 18
- 239000008186 active pharmaceutical agent Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 8
- 230000033001 locomotion Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 238000013475 authorization Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 5
- 238000009499 grossing Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 239000007789 gas Substances 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 2
- 230000008921 facial expression Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000003344 environmental pollutant Substances 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 231100000719 pollutant Toxicity 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00571—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by interacting with a central unit
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/20—Individual registration on entry or exit involving the use of a pass
- G07C9/28—Individual registration on entry or exit involving the use of a pass the pass enabling tracking or indicating presence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/63—Location-dependent; Proximity-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/71—Hardware identity
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Mobile Radio Communication Systems (AREA)
- Feedback Control In General (AREA)
- Lock And Its Accessories (AREA)
- Radar Systems Or Details Thereof (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Traffic Control Systems (AREA)
Abstract
軌跡予測のための方法およびシステムが提供される。方法およびシステムは、複数の処理を含み、該複数の処理は、複数の観測速度点を受信すること、機械学習技法によって観測軌跡に対応する複数の観測速度点を処理して複数の予測速度点を生成すること、ここで、機械学習技法は、複数の訓練観測速度点と複数の訓練予測速度点との間の関係を確立するように訓練されており、複数の予測速度点に基づいて将来の軌跡を特定すること、ここで、複数の予測速度点の各々は、将来の軌跡の複数の区間の異なる区間に対応しており、ターゲットアクセス制御デバイスが将来の軌跡の閾値範囲内にあることを判定すること、ターゲットアクセス制御デバイスに関連付けられた処理を実行すること、を備える。
Description
本開示は、データの正規化を用いた軌跡予測に関する。
軌跡予測は、インテリジェントアクセス制御システムなどの多くのタスクにおいて重要な役割を果たす。このことは、一般に、ある期間にわたって観測された複数の部分軌跡に基づいて、所定の将来の時間間隔内の各時間ステップにおける移動可能なエージェント(たとえば、人、車両、またはモバイルデバイス)の位置を予測することとして定義される。
いくつかの態様では、方法が提供され、該方法は、1つまたは複数のプロセッサが、複数の観測速度点を受信することであって、前記複数の観測速度点の各々は、観測軌跡の複数の区間の異なる区間に対応している、受信すること、機械学習技法によって前記観測軌跡に対応する前記複数の観測速度点を処理して複数の予測速度点を生成することであって、前記機械学習技法は、複数の訓練観測速度点と複数の訓練予測速度点との間の関係を確立するように訓練されている、生成すること、前記複数の予測速度点に基づいて将来の軌跡を特定することであって、前記複数の予測速度点の各々は、前記将来の軌跡の複数の区間の異なる区間に対応している、決定すること、ターゲットアクセス制御デバイスが前記将来の軌跡の閾値範囲内にあることを判定すること、前記ターゲットアクセス制御デバイスが前記将来の軌跡の前記閾値範囲内にあると判定したことに応答して、前記ターゲットアクセス制御デバイスに関連付けられた処理を実行すること、を含む。
いくつかの態様では、前記複数の観測速度点は、複数の加速度測定値を含み、前記複数の予測速度点は、複数の加速度測定値を含み、前記ターゲットアクセス制御デバイスは、ドアに関連付けられたロック部を含み、前記複数の処理を実行することは、前記ドアをアンロックすることを含む。
いくつかの態様では、上記方法は、ユーザーのモバイルデバイスと前記ターゲットアクセス制御デバイスとの間の無線通信リンクを確立すること、前記無線通信リンクを介して認証情報を交換すること、前記認証情報に基づいて、前記ユーザーが前記ターゲットアクセス制御デバイスにアクセスする権限を付与されていると判定した後に、前記処理を実行すること、を含む。
いくつかの態様では、上記方法は、前記処理を実行する前に、前記認証情報に基づいて、前記ユーザーが前記ターゲットアクセス制御デバイスにアクセスする権限を付与されていることを判定すること、前記ターゲットアクセス制御デバイスが前記将来の軌跡の前記閾値範囲内にあると判定されるまで、前記ユーザーが権限を付与されていると判定した後に前記処理を実行することを遅延させること、を含む。
いくつかの態様では、前記無線通信リンクは、Bluetooth Low Energy(BLE)通信プロトコルを含み、前記複数の観測速度点は、超広帯域(UWB)通信プロトコルを介して受信される。
いくつかの態様では、前記ターゲットアクセス制御デバイスは屋内に位置する。
いくつかの態様では、上記方法は、前記処理を実行する前に、前記認証情報に基づいて、前記ユーザーが前記ターゲットアクセス制御デバイスにアクセスする権限を付与されていることを判定すること、前記ターゲットアクセス制御デバイスが前記将来の軌跡の前記閾値範囲外にあると判定したことに応答して、前記ユーザーが権限を付与されていると判定した後に前記処理を実行することを防止すること、を含む。
いくつかの態様では、上記方法は、前記処理を実行する前に、前記認証情報に基づいて、前記ユーザーが前記ターゲットアクセス制御デバイスにアクセスする権限を付与されていることを判定すること、前記ターゲットアクセス制御デバイスが前記将来の軌跡の前記閾値範囲外にあると判定したことに応答して、前記ユーザーが権限を付与されていると判定した後に前記処理を実行することを防止すること、を含む。
いくつかの態様では、前記機械学習技法は、ニューラルネットワークを含む。
いくつかの態様では、上記方法は、第1の時点における第1の2次元(2D)または3次元(3D)直交座標を示す第1のデータ点を受信すること、第2の時点における第2の2Dまたは3D直交座標を示す第2のデータ点を受信することであって、前記第1および第2のデータ点の各々は、前記複数の区間の第1の区間に対応している、受信すること、前記複数の観測速度点のうちの第1の観測速度点を、前記第1の2Dまたは3D直交座標と前記第2の2Dまたは3D直交座標との間の差、および前記第1の時点と前記第2の時点との間の差の関数として計算すること、によって、前記複数の観測速度点を受信することを含む。
いくつかの態様では、上記方法は、第1の時点における第1の2次元(2D)または3次元(3D)直交座標を示す第1のデータ点を受信すること、第2の時点における第2の2Dまたは3D直交座標を示す第2のデータ点を受信することであって、前記第1および第2のデータ点の各々は、前記複数の区間の第1の区間に対応している、受信すること、前記複数の観測速度点のうちの第1の観測速度点を、前記第1の2Dまたは3D直交座標と前記第2の2Dまたは3D直交座標との間の差、および前記第1の時点と前記第2の時点との間の差の関数として計算すること、によって、前記複数の観測速度点を受信することを含む。
いくつかの態様では、前記機械学習技法によって、前記複数の観測速度点のサンプリングレートとは無関係に前記複数の予測速度点を生成する。
いくつかの態様では、上記方法は、前記複数の観測速度点のうちの第1の観測速度点の第1のタイムスタンプと前記複数の観測速度点のうちの第2の観測速度点の第2のタイムスタンプとの間の差に基づいて、前記複数の観測速度点が受信されるサンプリングレートを決定すること、前記複数の予測速度点と、ユーザーの現在位置と、前記複数の観測速度点が受信される前記サンプリングレートとに基づいて、前記将来の軌跡の3次元直交座標を計算すること、によって、前記複数の予測速度点に基づいて前記将来の軌跡を特定することを含む。
いくつかの態様では、上記方法は、前記複数の観測速度点のうちの第1の観測速度点の第1のタイムスタンプと前記複数の観測速度点のうちの第2の観測速度点の第2のタイムスタンプとの間の差に基づいて、前記複数の観測速度点が受信されるサンプリングレートを決定すること、前記複数の予測速度点と、ユーザーの現在位置と、前記複数の観測速度点が受信される前記サンプリングレートとに基づいて、前記将来の軌跡の3次元直交座標を計算すること、によって、前記複数の予測速度点に基づいて前記将来の軌跡を特定することを含む。
いくつかの態様では、上記方法は、前記複数の訓練観測速度点の第1のセットと、前記訓練予測速度点の対応する第1のセットと、を含む第1の群の訓練データを取得すること、前記機械学習技法を用いて前記複数の訓練観測速度点の第1のセットを処理して、複数の推定速度点を生成すること、損失関数に基づいて、前記複数の推定速度点と前記訓練予測速度点の前記対応する第1のセットとの間の偏差に基づく損失を計算すること、および計算された前記損失関数に基づいて、前記機械学習技法の複数のパラメータを更新すること、により、前記機械学習技法を訓練することを含む。
いくつかの態様では、前記複数の訓練観測速度点の前記第1のセットは、第1のサンプリングレートに対応しており、前記複数の訓練観測速度点の第2のセットを含む第2の群の訓練データを取得することであって、前記複数の訓練観測速度点の前記第2のセットは、第2のサンプリングレートに対応する、前記第2の群の訓練データを取得すること、前記機械学習技法を用いて前記複数の訓練観測速度点の第2のセットを処理して、第2の複数の推定速度点を生成すること、前記損失関数に基づいて、前記第2の複数の推定速度点と前記訓練予測速度点の前記対応する第1のセットとの間の偏差に基づく第2の損失を計算すること、前記第2の損失に基づいて、前記機械学習技法の複数のパラメータを更新すること、をさらに含む。
いくつかの態様では、システムが提供され、該システムは、非一時的コンピュータ命令を含むメモリに結合された1つまたは複数のプロセッサを備え、前記非一時的コンピュータ命令は、前記1つまたは複数のプロセッサによって実行されると、複数の処理を実行させ、前記複数の処理は、複数の観測速度点を受信することであって、前記複数の観測速度点の各々は、観測軌跡の複数の区間の異なる区間に対応している、受信すること、機械学習技法によって前記観測軌跡に対応する前記複数の観測速度点を処理して複数の予測速度点を生成することであって、前記機械学習技法は、複数の訓練観測速度点と複数の訓練予測速度点との間の関係を確立するように訓練されている、生成すること、前記複数の予測速度点に基づいて将来の軌跡を特定することであって、前記複数の予測速度点の各々は、前記将来の軌跡の複数の区間の異なる区間に対応している、決定すること、ターゲットアクセス制御デバイスが前記将来の軌跡の閾値範囲内にあることを判定すること、前記ターゲットアクセス制御デバイスが前記将来の軌跡の前記閾値範囲内にあると判定したことに応答して、前記ターゲットアクセス制御デバイスに関連付けられた処理を実行すること、を含む。
いくつかの態様では、前記複数の観測速度点は、複数の加速度測定値を含み、前記複数の予測速度点は、複数の加速度測定値を含み、前記ターゲットアクセス制御デバイスは、ドアに関連付けられたロック部を含み、前記複数の処理を実行することは、前記ドアをアンロックすることを含む。
いくつかの態様では、上記複数の処理は、ユーザーのモバイルデバイスと前記ターゲットアクセス制御デバイスとの間の無線通信リンクを確立すること、前記無線通信リンクを介して認証情報を交換すること、前記認証情報に基づいて、前記ユーザーが前記ターゲットアクセス制御デバイスにアクセスする権限を付与されていると判定した後に、前記処理を実行すること、をさらに含む。
いくつかの態様では、前記複数の処理は、前記処理を実行する前に、前記認証情報に基づいて、前記ユーザーが前記ターゲットアクセス制御デバイスにアクセスする権限を付与されていることを判定すること、前記ターゲットアクセス制御デバイスが前記将来の軌跡の前記閾値範囲内にあると判定されるまで、前記ユーザーが権限を付与されていると判定した後に前記処理を実行することを遅延させること、をさらに含む。
いくつかの態様では、非一時的コンピュータ可読媒体が提供され、該非一時的コンピュータ可読媒体は、複数の処理を実行するための非一時的コンピュータ可読命令を含む非一時的コンピュータ可読媒体であって、前記複数の処理は、複数の観測速度点を受信することであって、前記複数の観測速度点の各々は、観測軌跡の複数の区間の異なる区間に対応している、受信すること、機械学習技法によって前記観測軌跡に対応する前記複数の観測速度点を処理して複数の予測速度点を生成することであって、前記機械学習技法は、複数の訓練観測速度点と複数の訓練予測速度点との間の関係を確立するように訓練されている、生成すること、前記複数の予測速度点に基づいて将来の軌跡を特定することであって、前記複数の予測速度点の各々は、前記将来の軌跡の複数の区間の異なる区間に対応している、決定すること、ターゲットアクセス制御デバイスが前記将来の軌跡の閾値範囲内にあることを判定すること、前記ターゲットアクセス制御デバイスが前記将来の軌跡の前記閾値範囲内にあると判定したことに応答して、前記ターゲットアクセス制御デバイスに関連付けられた処理を実行すること、を含む。
いくつかの態様では、前記複数の観測速度点は、複数の加速度測定値を含み、前記複数の予測速度点は、複数の加速度測定値を含み、前記ターゲットアクセス制御デバイスは、ドアに関連付けられたロック部を含み、前記複数の処理を実行することは、前記ドアをアンロックすることを含む。
いくつかの態様では、上記複数の処理は、ユーザーのモバイルデバイスと前記ターゲットアクセス制御デバイスとの間の無線通信リンクを確立すること、前記無線通信リンクを介して認証情報を交換すること、前記認証情報に基づいて、前記ユーザーが前記ターゲットアクセス制御デバイスにアクセスする権限を付与されていると判定した後に、前記処理を実行すること、をさらに含む。
軌跡予測に基づくアクセス制御システム(例えば、物理的又は論理的アクセス制御システム)のための例示的な方法及びシステムが説明される。以下の説明では、例示的な実施形態の完全な理解を提供するために、説明の目的で多数の具体的詳細が説明される。しかしながら、本開示の複数の実施形態がこれらの具体的詳細無しに実施され得ることは、当業者には明らかであろう。
典型的なアクセス制御システムでは、ユーザーは、一組のクレデンシャル(credential)(例えば、認証情報)を含む物理的なカードまたはデバイスを携帯する。そのようなクレデンシャルは、物理的なカードまたはデバイスがアクセス制御デバイス(例えば、電子ドアロック(electronic door lock)、カードリーダー(card reader)など)に約20センチメートル以内に(近接して)運ばれたときにそのアクセス制御デバイスと交換される。その時点で、アクセス制御デバイスは、クレデンシャルがユーザーに対してアクセス制御デバイスにアクセスする権限を付与するか否かを判定し、付与する場合に、アクセス制御デバイスはアクセスを許可する(例えば、ドアロックを解錠する)。このようなシステムは全体的に良好に動作するが、アクセス制御デバイスを作動させるためには、ユーザーがアクセス制御デバイスの非常に近くにいる必要がある。これは、デバイスを作動させる際に様々な待ち時間(レイテンシ)をもたらす可能性があり、ユーザーにフラストレーションを感じさせる可能性がある。
複数のモバイルデバイスが一般化した場合、そのようなモバイルデバイスは、一般的に使用される複数の物理的なカードと同じ組のクレデンシャルを保持するようにプログラムされ得る。これらのモバイルデバイスは、BLE(Bluetooth Low Energy)通信プロトコルを使用するなどして、より長い距離でアクセス制御デバイスと通信することができる。たとえば、モバイルデバイスは、100メートルまでの範囲にわたってクレデンシャルを送信し、アクセス制御デバイスと交換することができる。そのような場合、アクセス制御デバイスは、ユーザーが物理的なカードまたはデバイスを使用する場合よりもアクセス制御デバイスから離れた距離にいるときに作動することができる。このようにして、ユーザーが最終的にアクセス制御デバイスに到達したとき、アクセス制御デバイスは、クレデンシャルをすでに受信し、認証しており、ユーザーに対してアクセスを許可または拒否している。ユーザーがデバイスに到達したとき、デバイスを作動させるためにユーザーからのさらなるアクションは必要とされない(たとえば、ユーザーが、物理的なカードをアクセス制御デバイスに近接させる必要がない)。
しかしながら、BLEを介してクレデンシャルを交換するこれらの他の手法は、別の問題を導入する。すなわち、BLE通信プロトコルの範囲内に複数のアクセス制御デバイスが存在する場合、クレデンシャルは、ユーザーが作動させることを意図していないデバイスと交換され得る。例えば、ユーザーがアクセスするためのクレデンシャルを有するユーザーのモバイルデバイスの範囲内に複数のアクセス制御デバイスが存在する場合がある。しかしながら、ユーザーは、特定のデバイスにアクセスすることのみを意図する場合がある。別の例として、ユーザーは、ユーザーがアクセスする権限を付与されている所与のドアまたはアクセス制御デバイスのそばを通り過ぎることがあるが、所与のドアまたはアクセス制御デバイスを通過するかまたは作動させることを意図していない場合がある。そのような場合、ユーザーの軌跡を特定することは、複数の正しい物理アクセスデバイスのうちのどのアクセスデバイスを作動させるか、およびそのようなデバイスを作動させることに関するユーザーの意図を判定する際に重要な役割を果たすことができる。
典型的な軌跡予測システムは、数ステップ(a few steps)の観測軌跡を入力として受け取り、将来のタイムライン内のいくつかの連続する位置を生成する。そのような典型的な軌跡予測システムは、特定の既知のサンプリング周波数で取得されるデータに依存する。これは、現実世界のシナリオでは、異なる複数のタイプの位置センサが異なる複数の周波数で信号を放出し、複数のセンサがハードウェアおよび通信制限に起因して一貫性のないサンプリングレートとなる可能性があるため、実データが理想的ではないので、それらの一般的な用途を制限する。いくつかの軌跡予測システムは、複数のサンプリング周波数で訓練され得るが、これは、それらの複雑さをさらに増大させ、それらをモバイルデバイスおよびプラットフォーム上での適用に適さないものにする。
開示された複数の実施形態は、アクセス制御システムが高いセキュリティを維持しながら、ユーザーに対してプロアクティブ(proactive)でシームレスな体験を提供することができるように、ユーザーの複数の将来位置を正確に予測するインテリジェントな解決策を提供する。開示された複数の実施形態は、入力データまたは観測データまたは複数の軌跡点のサンプリングレートにかかわらず、ユーザーの軌跡を予測する軌跡予測システムを提供する。予測軌跡に基づいて、所与のアクセス制御デバイスが軌跡の範囲内にあり、(例えば、BLEを介してなど、クレデンシャルの長距離での交換によって決定されるように)ユーザーがアクセスの権限を付与されている場合、所与のアクセス制御デバイスを作動させる。一例として、所与のアクセス制御デバイス(例えば、ドアロック)は、最初に、特定の通信プロトコル(例えば、BLE)を介してユーザーのモバイルデバイスと通信して、権限付与データ(例えば、クレデンシャル)を交換することができる。次いで、所与のアクセス制御デバイスが、ユーザーの予測された軌跡の範囲内にあると判定される場合、所与のアクセス制御デバイスは、作動するように命令される(例えば、ドアロックが解錠される)。このようにして、ユーザーが所与のアクセス制御デバイスに到達すると、所与のアクセス制御デバイスは、ユーザーが物理的なアクセスカードを所与のアクセス制御デバイスに近接させる必要なしに作動する準備ができている。
いくつかの実施形態では、開示される複数の実施形態は、軌跡予測に基づいて長距離アクセス制御を実行するシステムおよび方法を提供する。開示された複数の実施形態によれば、複数の観測速度点(observed speed points)が受信される。観測軌跡に対応する複数の観測速度点は、複数の予測速度点(predicted speed points)を生成するために機械学習技法(machine learning technique)によって処理される。機械学習技法は、訓練観測速度点と訓練予測速度点との間の関係を確立するように訓練される。開示される複数の実施形態は、複数の予測速度点の各々が将来の軌跡の複数の区間(スライス:slices)の異なる区間に対応しており、該複数の予測速度点に基づいて将来の軌跡を特定し、ターゲットアクセス制御デバイスが将来の軌跡の閾値範囲内にあることを判定する。ターゲットアクセス制御デバイスが将来の軌跡の閾値範囲内にあると判定したことに応答して、開示される複数の実施形態は、ターゲットアクセス制御デバイスに関連付けられた処理を実行する。
いくつかの実施形態では、開示される複数の実施形態は、軌跡予測に基づいて長距離アクセス制御を実行するシステムおよび方法を提供する。開示された複数の実施形態によれば、複数の観測加速度点(observed acceleration points)が受信される。観測軌跡に対応する複数の観測加速度点は、複数の予測加速度点を生成するために機械学習技法によって処理される。機械学習技法は、訓練観測加速度点と訓練予測加速度点(predicted acceleration points)との間の関係を確立するように訓練される。開示される複数の実施形態は、複数の予測加速度点の各々が将来の軌跡の複数の区間の異なる区間に対応しており、該複数の予測加速度点に基づいて将来の軌跡(future trajectory)を決定し、ターゲットアクセス制御デバイスが将来の軌跡の閾値範囲内にあることを判定する。ターゲットアクセス制御デバイスが将来の軌跡の閾値範囲内にあると判定したことに応答して、開示される複数の実施形態は、ターゲットアクセス制御デバイスに関連付けられた処理を実行する。
速さまたは速度を予測するために、複数の速さ、加速度、または速度点で機械学習技法を訓練することによって、開示される複数の実施形態は、観測軌跡の複数の位置座標が取得または受信されるサンプリングレートとは無関係に、将来の軌跡を予測することができる。すなわち、機械学習技法は、異なる時間に取得された2つの3次元(3D)位置の3D座標間の差を計算し、その差をそれら3D座標が受信されたタイムスタンプの差で除算する。これにより、観測される所与の軌跡に沿った一組の区間についての区間速度(overall speed)が提供される。次に、この速度を処理して将来の速度を予測することができる。将来の軌跡は、複数の3D位置の推定または既知のサンプリングレートに基づいて将来の複数の3D座標を導出することによって決定されることができる。例えば、各予測速度測定値にサンプリングレート(例えば、測定間の時間量)を乗じて、(例えば、2つの予測3D座標間の差に対応する)距離または予測されるセグメント(segment)を特定することができる。予測セグメントは、既知のユーザーの現在位置によってオフセットされる(offset)ことができ、予測軌跡を生成するために、追加の予測3D座標と構築されるかまたは組み合わせられることができる。
代替実施形態では、観測位置および将来の軌跡は、2次元空間にあり、2D座標によって表される。例えば、機械学習技法は、異なる時間に取得された2つの2次元(2D)位置の2D座標間の差を計算し、その差をそれら2D座標が受信されたタイムスタンプの差で除算する。これにより、観測される所与の軌跡に沿った一組の全体についての区間速度が提供される。次に、この速度を処理して将来の速度を予測することができる。将来の軌跡は、複数の2D位置の推定されたサンプリングレートまたは既知のサンプリングレートに基づいて将来の複数の2D座標を導出することによって決定され得る。例えば、各予測速度測定値にサンプリングレート(例えば、測定間の時間量)を乗じて、(例えば、2つの予測2D座標間の差に対応する)距離または予測されるセグメントを特定することができる。予測セグメントは、既知のユーザーの現在位置によってオフセットされることができ、予測軌跡を生成するために、追加の予測2D座標と構築されるかまたは組み合わせられることができる。
図1は、様々な例示的な実施形態による例示的なシステム100を示すブロック図である。システム100は、クライアントデバイス120と、ロック可能なドアなどを通して保護されたアセット(資産:asset)またはリソース(資源:resource)へのアクセスを制御する1つまたは複数のアクセス制御デバイス110と、ネットワーク130(たとえば、インターネット、BLE、超広帯域(UWB : ultra-wideband)通信プロトコル、電話ネットワーク、他の有線もしくは無線通信プロトコル)を介して通信可能に結合された認証管理システム140とを含むアクセス制御システムであり得る。
UWBは、広い周波数スペクトルにわたって低いパワーの短いパルスを使用する無線周波数(RF : radio frequency)技法である。複数のパルスは、1秒あたり数百万のオーダーの個別パルスである。周波数スペクトルの幅は、一般に500メガヘルツを超えるか、または演算中心周波数(arithmetic center frequency)の20パーセントを超える。
UWBは、時間変調(例えば、パルス位置符号化)を用いてデータを符号化すること等により通信に用いることができる。ここで、複数のシンボルは、利用可能な一組の単位時間のうち、一部の単位時間における複数のパルスにより指定される。UWB符号化の他の例は、振幅変調及び/又は極性変調を含み得る。広帯域送信は、キャリア利用送信技術よりもマルチパス減衰に耐性を有する傾向がある。更に、パルスの出力が任意の所与の周波数で弱いため、キャリア利用通信技術との干渉が減少する傾向がある。
UWBは、数十センチメートル単位の正確度で位置推定(localization)を行い得るレーダー動作で利用できる。パルスでは異なる周波数の吸収及び反射が変化する可能性があるため、物体の表面及び遮蔽された(例えば、覆われた)特徴の両方を検知することができる。いくつかのケースにおいて、位置推定により距離に加え、入射角も得られる。
クライアントデバイス120および複数のアクセス制御デバイス110は、電子メッセージ(たとえば、インターネット、BLE、UWB、WiFi Direct、または任意の他のプロトコルを介して交換されるパケット)を用いて通信可能に結合され得る。図1は、単一のアクセス制御デバイス110および単一のクライアントデバイス120を示しているが、他の実施形態では、複数のアクセス制御デバイス110および複数のクライアントデバイス120がシステム100に含まれ得ることが理解される。本明細書で使用される場合、「クライアントデバイス」という用語は、アクセス制御デバイス110によって保護されたアセットまたはリソースへのアクセスを取得するために、アクセス制御デバイス110、認証管理システム140、別のクライアントデバイス120、または任意の他の構成要素とクレデンシャルを交換するために、通信ネットワーク(ネットワーク130など)にインタフェースする任意の機械を指すことができる。いくつかの実施形態では、クライアントデバイス120は、UWBを使用して位置情報を取得し、クライアントデバイス120の現在の軌跡についての速さ、速度、および/または加速度の情報を計算することができる。クライアントデバイス120は、位置情報を取得し、速さ、速度、および/または加速度の情報を計算することができ、そのような情報を認証管理システム140に供給することができる。いくつかの実施形態では、アクセス制御デバイス110は、UWBを使用して位置情報を取得し、所与のクライアントデバイス120または一組のクライアントデバイス120の現在の軌跡についての速さ、速度、および/または加速度の情報を計算することができる。アクセス制御デバイス110は、位置情報を取得し、速さ、速度、および/または加速度の情報を計算することができ、そのような情報を認証管理システム140に供給することができる。
いくつかの場合では、認証管理システム140の構成要素および機能の一部または全部をクライアントデバイス120に含めることができる(たとえば、認証管理システム140に関して説明された機械学習技法のいずれかをそれぞれのクライアントデバイス120上で実装することができる)。システム100において軌跡予測を実行する任意の構成要素は、認証管理システム140、クライアントデバイス120、またはアクセス制御デバイス110のうちのいずれか1つのスタンドアロン構成要素として実装され得る。システム100において軌跡予測を実行する任意の構成要素の複数の機能は、認証管理システム140、クライアントデバイス120、および/またはアクセス制御デバイス110の任意のものにわたって分散された方法で実装されてもよい。
クライアントデバイス120は、携帯電話、デスクトップコンピュータ、ラップトップ、携帯情報端末(PDA)、スマートフォン、ウェアラブルデバイス(たとえば、スマートウォッチ)、タブレット、ウルトラブック、ネットブック、ラップトップ、マルチプロセッサシステム、マイクロプロセッサベースもしくはプログラマブル家電、またはユーザーがネットワークにアクセスするべく使用し得る任意の他の通信デバイスであってもよいが、それらに限定されるものではない。
アクセス制御デバイス110は、リソース(例えば、ドアロック機構またはバックエンドサーバー)に接続され、リソース(例えば、ドアロック機構)を制御するアクセス読取デバイス(access reader device)を含むことができる。アクセス制御デバイス110に関連付けられたリソースは、ドアロック、車両のイグニッションシステム(ignition system)、または物理コンポーネントへのアクセスを許可または拒否し、物理コンポーネントへのアクセスを許可または拒否するように動作することができる任意の他のデバイスを含むことができる。例えば、ドアロックの場合、アクセス制御デバイス110は、アクセスを拒否することができ、この場合、ドアロックはロックされたままであり、ドアを開けることができないか、または、アクセス制御デバイス110は、アクセスを許可することができ、この場合、ドアロックはアンロックされてドアを開けることができる。別の例として、イグニッションシステムの場合、アクセス制御デバイス110は、アクセスを拒否することができ、この場合、車両イグニッションシステムは無効化されたままであり、車両を始動させることができず、または、アクセス制御デバイス110は、アクセスを許可することができ、この場合、車両イグニッションが有効化されて車両を始動させることができる。
物理アクセス制御は、セキュリティ保護された領域またはアセットへの、例えば人々によるアクセスを管理するためのシステムおよび方法の範囲をカバーする。物理アクセス制御は、権限付与されたユーザーまたはデバイス(例えば、車両、ドローンなど)の識別と、ゲート、ドア、もしくはエリアを保護するために使用される他の設備の作動、または制御機構、例えば、物理的もしくは電子的/ソフトウェア制御機構の作動を含み、セキュリティ保護されたアセットへのアクセスを可能にする。アクセス制御デバイス110は、複数の物理アクセス制御システムの一部(PACS : part of physical access control systems)を形成し、PACSは、権限付与データを保持し得る読取機(例えば、オンラインまたはオフライン読取機)を含むことができ、(例えば、カード、フォブ、または携帯電話などのパーソナル電子デバイス内の無線周波数識別(RFID)チップなどのクレデンシャルデバイスまたはキーデバイスからの)複数のクレデンシャルがアクチュエータまたは制御機構(例えば、ドアロック、ドア開閉機、ソフトウェア制御機構、警報をオフにすることなど)について権限付与されているか否かを判定することができ、またはPACSは、読取機およびアクチュエータが中央管理構成(centrally managed configuration)において(例えば、コントローラを介して)接続されているホストサーバーを含むことができる。中央管理構成では、読取機は、クレデンシャルまたはキーデバイスからクレデンシャルを取得し、それらのクレデンシャルをPACSホストサーバーまたはヘッドエンドシステム(headend system)に渡すことができる。次いで、ホストサーバーは、クレデンシャルがセキュリティ保護された領域またはアセットにアクセスする権限を付与するか否かを判定し、それに応じてアクチュエータまたは他の制御機構に命令する。本明細書では物理アクセス制御の複数の例が使用されるが、本開示は、論理アクセス制御システム(LACS : logical access control system)の使用事例(たとえば、パーソナル電子デバイスへの論理アクセス、輸送サービスにおける乗客識別、無人決済店舗におけるアクセスおよびアセット制御など)に等しく適用される。
例えば、読取機とクレデンシャルまたはキーデバイスとの間の無線通信を利用する無線アクセス制御デバイスは、IEEE 802.15.1、Bluetooth(登録商標)、BLE、近距離無線通信(NFC : near field communications)、ZigBee、GSM、CDMA、Wi-FiなどのRFIDまたはパーソナルエリアネットワーク(PAN : personal area network)技術を使用することができる。これらの技術の多くには、シームレスなユーザー体験(user experience)についての複数の欠点がある。たとえば、NFCの範囲が非常に短いため、通常、ユーザーがセキュリティ保護された領域またはアセットに非常に近くにいてアクセス許可を得ようと試みるまで、クレデンシャルの交換は行われない。読取機へのクレデンシャルの転送及び読取機またはホストサーバーによる応答には数秒を要する場合があり、ユーザーがフラストレーションを感じる結果となる。更に、ユーザーは通常、処理を開始するために例えば、ポケットからデバイスを取り出して、読取機又はその近傍に配置する必要がある。
一方、BLEデバイスは、数十メートル(たとえば、10~20メートル)の範囲を有する。従って、ユーザーが読取機に接近すると、クレデンシャル交換を実行することができる。ただし、BLEや多くの他のPAN標準は、デバイスの正確な物理的追跡(トラッキング)(例えば、測距、位置特定等)を提供しない。従って、ユーザーの意図がセキュリティ保護された領域またはアセットに実際にアクセスすることであるか否かを読取機が更なる意図の根拠無しに判定するのは困難な場合がある。例えば、権限付与されたユーザーがホール内で読取機を通り過ぎているだけで、ドアのロックがアンロックされたり、ドアが開かれたりした場合には問題がある。意図の根拠は、ドアノブに触れること、キーデバイスを弄る(gesturing)こと等を含んでいてもよい。しかし、これは、ユーザー側でそれ以上のアクションや対話を行わずに、ユーザーが単に読取機まで歩いて行ってセキュリティ保護された領域へのアクセス許可を得る場合と比較して理想的なユーザー体験とはいえないであろう。
これらの問題または他の問題の1つまたは複数に対処するために、(例えば、セキュリティ保護されたUWB測距を用いる)位置推定技術を用いることができ、且つPAN発見およびキー交換と組み合わせることができる。UWBの位置推定技術は、いくつかの従来の技術よりも正確であり得、且つ例えば数十センチメートル単位の正確度が得られる。UWB位置推定技術は、読取機に対するクレデンシャルまたはキーデバイスの範囲及び方向の両方を提供し得る。この正確度は、読取機同士が連携していない場合のBLE等の約10メートルの正確度を遙かに凌ぐ。UWBの正確度の精度によって、ユーザーの意図(例えば、ユーザーがセキュリティ保護された領域またはアセットにアクセスすることを試みているのか、または単に通り過ぎているのか)およびユーザーの現在の軌跡または予測された軌跡をシームレスに判定するのに役立つツールとなり得る。例えば、ユーザーの意図を異なる観点から理解するべく、例えば、読取機の近傍に、読取機において等、いくつかのゾーンを規定してもよい。追加的にまたは代替的に、追跡(tracking)の正確度は、ユーザーの動きまたはユーザーの動きの方向から意図を識別できる正確なモデルを提供するのに役立つ。従って、読取機はユーザーの動きを、例えば、読取機に接近している可能性が高いか、又は単に歩いて通り過ぎている等に分類することができる。
意図トリガーが生じると、読取機は、たとえばPAN技術を介して交換されたクレデンシャルに基づいて動作し得る。オフライン読取機、例えば、コントロールパネルまたはホストサーバーに接続されていない読取機の場合、読取機は、アクチュエータまたは他の制御機構(例えば、接続されていないドアのロック)を直接制御し得る。集中管理されたアクセス制御システムにおいて、(オンライン)読取機は、作用するコントロールパネルまたはホストサーバーにクレデンシャルを転送してもよい。
概して、アクセス制御デバイス110は、メモリ、プロセッサ、1つまたは複数のアンテナ、通信モジュール、ネットワークインタフェースデバイス、ユーザーインタフェース、および電源または電源回路のうちの1つ以上を含むことができる。
アクセス制御デバイス110のメモリは、アクセス制御デバイス110のプロセッサによるアプリケーションプログラミングまたは命令の実行に関連して、およびプログラム命令または命令セットおよび/またはクレデンシャルデータ、クレデンシャル権限付与データ、またはアクセス制御データまたは命令等のクレデンシャルまたは権限付与データの一時的または長期の記憶のために使用されることができる。例えば、メモリは、アクセス制御デバイス110の他のコンポーネントを動作させるため、および/またはクレデンシャルまたは権限付与データに基づいてアクセス決定を行うためにプロセッサによって使用される実行可能命令を含むことができる。アクセス制御デバイス110のメモリは、アクセス制御デバイス110によってまたはそれに関連して使用されるデータ、プログラムコード、または命令を含み、格納し、通信し、または転送し得る任意の媒体であり得るコンピュータ可読媒体を含むことができる。コンピュータ可読媒体は、例えば、これらに限定されないが、電子、磁気、光学、電磁気、赤外線、または半導体のシステム、装置、またはデバイスであり得る。適切なコンピュータ可読媒体のより具体的な例は、1つまたは複数のワイヤを有する電気接続、またはポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMまたはフラッシュメモリ)、ダイナミックRAM(DRAM)、任意の固体ストレージデバイス、一般的なコンパクトディスク読み出し専用メモリ(CD-ROM)、または他の光学または磁気ストレージデバイスなどの有形の記憶媒体を含むが、これらに限定されない。コンピュータ可読媒体は、これと混同されるべきではないが、コンピュータ可読媒体のすべての物理的、非一時的、または類似の実施形態をカバーすることを意図としたコンピュータ可読記憶媒体を含む。
アクセス制御デバイス110のプロセッサは、1つまたは複数のコンピュータ処理デバイスまたはリソースに対応することができる。例えば、プロセッサは、シリコンとして、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、任意の他のタイプの集積回路(IC)チップ、ICチップの集合などとして提供されることができる。より具体的な例として、プロセッサは、マイクロプロセッサ、中央処理装置(CPU)、またはアクセス制御デバイス110の内部メモリおよび/またはメモリに格納された命令セットを実行するように構成された複数のマイクロプロセッサまたはCPUとして提供され得る。
アクセス制御デバイス110のアンテナは、1つまたは複数のアンテナに対応することができ、アクセス制御デバイス110とクレデンシャルデバイスまたはキーデバイス(たとえば、クライアントデバイス120)との間の無線通信を提供するように構成され得る。アンテナは、IEEE 802.15.1、Bluetooth、BLE、NFC、ZigBee(登録商標)、GSM(登録商標)、CDMA、Wi-Fi、RF、UWB等を含むが、これらに限定されない1つまたは複数の無線通信プロトコルおよび動作周波数を使用して動作するように構成され得る。例として、1つまたは複数のアンテナは、1つまたは複数のRFアンテナであり得、したがって、自由空間を介してRF送受信機を有するクレデンシャルまたはキーデバイスによって受信/転送されるRF信号を送信/受信することができる。いくつかの例では、少なくとも1つのアンテナは、読取機がUWB技術を使用してクライアントデバイス120と通信できるように、UWB信号を送信および/または受信するように設計または構成されたアンテナ(本明細書では簡単に「UWBアンテナ」と呼称する)である。
アクセス制御デバイス110の通信モジュールは、任意の適切な通信プロトコルに従って、1つまたは複数のクライアントデバイス120および/または認証管理システム140等のアクセス制御デバイス110に対して遠隔またはローカルのいずれかである1つまたは複数の異なるシステムまたはデバイスと通信するように構成されることができる。
アクセス制御デバイス110のネットワークインタフェースデバイスは、いくつかの転送プロトコル(例えば、フレームリレー、インターネットプロトコル(IP)、送信制御プロトコル(TCP)、ユーザーデータグラムプロトコル(UDP : user datagram protocol)、ハイパーテキスト転送プロトコル(HTTP)など)のいずれか1つを利用して、ネットワーク130等の通信ネットワークを介して、1つまたは複数のクライアントデバイス120および/または認証管理システム140等の他のデバイスとの通信を可能にするハードウェアを含む。例示用の通信ネットワークは、ローカルエリアネットワーク(LAN : Local Area Network)、ワイドエリアネットワーク(WAN : Wide Area Network)、パケットデータネットワーク(例えば、インターネット)、携帯電話ネットワーク(例えば、セルラーネットワーク)、POTS(Plain Old Telephone)ネットワーク、無線データネットワーク(例えば、Wi-Fi(登録商標)と呼称されるIEEE802.11規格ファミリー、WiMax(登録商標)と呼称されるIEEE802.16規格ファミリー、IEEE802.15.4規格ファミリー、及びピアツーピア(P2P)ネットワークなどを含みうる。いくつかの例では、ネットワークインタフェースデバイスは、イーサネット(登録商標)ポートまたは他の物理ジャック、Wi-Fiカード、ネットワークインタフェースカード(NIC : Network Interface Card)、セルラーインタフェース(例えば、アンテナ、フィルター、および関連する回路)などを含むことができる。いくつかの例において、ネットワークインタフェースデバイスは、単一入力複数出力(SIMO : Single-Input Multiple-Output)、複数入力複数出力(MIMO : Multiple-Input Multiple-Output)、又は複数入力単一出力(MISO(Multiple Input Single Output)技法の少なくとも1つを使用して無線通信するべく、複数のアンテナを含み得る。
アクセス制御デバイス110のユーザーインタフェースは、1つまたは複数の入力デバイスおよび/または表示デバイスを含むことができる。ユーザーインタフェースに含まれ得る適切なユーザー入力デバイスの例は、1つまたは複数のボタン、キーボード、マウス、タッチセンシティブ面(touch-sensitive surface)、スタイラス(stylus)、カメラ、マイクロフォンなどを含むが、これらに限定されない。ユーザーインタフェースに含まれ得る適切なユーザー出力デバイスの例は、例えば、1つまたは複数のLED、LEDパネル、ディスプレイ画面、タッチスクリーン、1つまたは複数のライト、スピーカーなどを含むが、これらに限定されない。ユーザーインタフェースはまた、タッチセンシティブディスプレイなどのような、組み合わされたユーザー入力及びユーザー出力デバイスを含むことができることを理解されたい。
ネットワーク130は、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、LAN、無線ネットワーク、無線LAN(WLAN)、WAN(wide area network)、無線WAN(WWAN)、大都市圏ネットワーク(MAN)、BLE、UWB、インターネット、インターネットの一部、公衆交換電話網(PSTN)の一部、POTS(plain old telephone service)ネットワーク、セルラー電話ネットワーク、無線ネットワーク、Wi-Fi(登録商標)ネットワーク、別のタイプのネットワーク、または2つ以上のこのようなネットワークの組み合わせを含むか、またはこれらとともに動作し得る。例えば、ネットワークまたはネットワークの一部は、無線またはセルラーネットワークを備えてもよく、結合は、符号分割多重アクセス(CDMA)接続、移動通信用グローバルシステム(GSM(登録商標))接続、または他のタイプのセルラーまたは無線結合であってもよい。この例では、結合は、シングルキャリア無線伝送技術(1xRTT)、進化データ最適化(Evolution-Data Optimized : EVDO)技術、一般パケット無線サービス(General Packet Radio Service : GPRS)技術、GSM(登録商標)進化のための拡張データレート(Enhanced Data rates for GSM Evolution : EDGE)技術、3Gを含む第3世代パートナーシッププロジェクト(3GPP(登録商標))、第4世代無線ネットワーク(4G)、第5世代無線ネットワーク(5G)、UMTS(Universal Mobile Telecommunications System)、HSPA(High Speed Packet Access)、WiMAX(Worldwide Interoperability for Microwave Access)、LTE(Long Term Evolution)規格、その他、各種標準化団体が定めるプロトコル、その他の長距離データ転送技術、様々なタイプのデータ転送技術、などのいずれかを実装してもよい。
一例では、クライアントデバイス120がアクセス制御デバイス110に接近する(たとえば、BLE通信プロトコルの範囲内に入る)と、クライアントデバイス120は、ネットワーク130を介してクライアントデバイス120のクレデンシャルを送信する。いくつかの場合では、クレデンシャルは、クライアントデバイス120の現在の地理的位置に基づいて複数のクレデンシャルから選択され得る。例えば、異なる地理的位置にそれぞれ関連付けられた複数のクレデンシャルをクライアントデバイス120に格納することができる。クライアントデバイス120が、複数のクレデンシャルのうちの1つに関連付けられた地理的位置から特定の距離内(例えば、10メートル以内)に入ると、クライアントデバイス120は、関連付けられたクレデンシャルをローカルメモリから取り出す。
一例では、クライアントデバイス120は、クレデンシャルをアクセス制御デバイス110に直接的に供給する。そのような場合、アクセス制御デバイス110は、クレデンシャルを認証管理システム140と通信する。図1の認証管理システム140は、認証システム142と、軌跡予測システム144とを含む。認証管理システム140は、プロセッサによって実行されたときにプロセッサに認証管理システム140の複数の機能を制御させる複数の命令を記憶したプロセッサおよびメモリなど、図6および図7に関して説明される複数の構成要素をさらに含むことができる。
認証管理システム140は、認証システム142に記憶されたクレデンシャルのリストを検索して、受信したクレデンシャルが、アクセス制御デバイス110によって保護するセキュリティ保護されたアセットまたはリソース(例えば、ドアまたはセキュリティ保護された領域)にアクセスする権限を付与されたクレデンシャルのリストからの複数のクレデンシャルと一致するか否かを判定する。受信したクレデンシャルがアクセス制御デバイス110にアクセスする権限を付与されていると判定したことに応答して、認証管理システム140は、軌跡予測システム144にアクセスして、以下でより詳細に説明されるように、クライアントデバイス120の軌跡がアクセス制御デバイス110の指定された範囲(たとえば、2メートル)内にあると予測されるか否かを判定する。軌跡予測システム144が、クライアントデバイス120がアクセス制御デバイス110の指定された範囲内にある軌跡をたどると予測されることを認証管理システム140に対して示すと、認証管理システム140は、クライアントデバイス120についてのアクセスを許可する動作を実行するようにアクセス制御デバイス110に命令する(たとえば、ドアのロックをアンロックするようにアクセス制御デバイスに命令する)。
別の例では、クライアントデバイス120は、クレデンシャルを認証管理システム140に供給する。認証管理システム140は、認証システム142に記憶されたクレデンシャルのリストを検索して、受信したクレデンシャルが、アクセス制御デバイス110によって保護されるセキュリティ保護されたアセットまたはリソース(例えば、ドアまたはセキュリティ保護された領域)にアクセスする権限を付与されたクレデンシャルのリストからの複数のクレデンシャルと一致するか否かを判定する。受信したクレデンシャルがアクセス制御デバイス110にアクセスする権限を付与されていると判定したことに応答して、認証管理システム140は、軌跡予測システム144にアクセスして、以下でより詳細に説明されるように、クライアントデバイス120の軌跡がアクセス制御デバイス110の指定された範囲(たとえば、2メートル)内にあると予測されるか否かを判定する。軌跡予測システム144が、クライアントデバイス120がアクセス制御デバイス110の指定された範囲内にある軌跡をたどると予測されることを認証管理システム140に対して示すと、認証管理システム140は、クライアントデバイス120についてのアクセスを許可する動作を実行するように(受信したクレデンシャルに関連付けられ、且つクライアントデバイス120の地理的距離内にある)アクセス制御デバイス110に命令する(たとえば、ドアのロックをアンロックするようにアクセス制御デバイスに命令する)。
軌跡予測システム144は、観測された速さ、速度、および/または加速度の測定値のセットまたは集合に基づいてクライアントデバイス120の速さ、速度、および/または加速度を予測するために、認証管理システム140によって実装される機械学習技法を訓練する。軌跡予測システム144は、予測された速さ、速度、および/または加速度に関数を適用して、クライアントデバイス120が移動すると予測される予測軌跡または経路を生成する。
軌跡予測システム144は、複数の訓練する観測された速さ、速度、及び/又は加速度の測定値と、訓練予測測定値(例えば、1つまたは複数の速さ、速度、及び/又は加速度の測定値に続いて観測される速さ、速度、及び/又は加速度の測定値)の対応するセットとを受信する。図3に関連してより詳細に説明されるように、軌跡予測システム144は、機械学習技法を訓練するために、(観測された速さ、速度、および/または加速度の測定値に続く複数の位置についての)訓練する観測された速さ、速度、および/または加速度の測定値とグラウンドトゥルース速度測定値(ground-truth speed measurements)とのペアを処理する。例えば、機械学習技法(例えば、ニューラルネットワーク)は、所与の観測された速さ、速度、および/または加速度についての推定される速さ、速度、および/または加速度を推定する。ニューラルネットワークは、推定された速さ、速度、および/または加速度を、対応するグラウンドトゥルース速さ、速度、および/または加速度の測定値と比較して、誤差を生成する。損失関数を使用し、誤差に基づいて、ニューラルネットワークが更新され、訓練観測速度測定値およびグラウンドトゥルース速度測定値の別のセットに適用される。ニューラルネットワークのパラメータは再び調整され、損失関数が停止基準を満たす場合、ニューラルネットワークは、訓練され、軌跡予測システム144によって利用され、観測された速さ、速度、および/または加速度の測定値のセットが与えられると、速さ、速度、および/または加速度の測定値を予測する。本明細書において説明される複数の機械学習技法は、長期短期記憶ニューラルネットワーク(LSTM : Long-Short Term Memory Neural Networks)、オートエンコーダ(autoencoder)、変分オートエンコーダ(variational auto-encoder)、条件付き変分オートエンコーダ(conditioned variational auto-encoder)、畳み込みニューラルネットワーク、ラジアル基底ネットワーク、ディープフィードフォワードネットワーク、リカレントニューラルネットワーク、ゲート付きリカレントユニット(gated recurrent unit)、ノイズ除去オートエンコーダ、スパースオートエンコーダ(sparse autoencoder)、マルコフ連鎖、ホップフィールドネットワーク、ボルツマンマシン、ディープビリーフネットワーク、ディープ畳み込みネットワーク、デコンボリューションニューラルネットワーク、敵対的生成ネットワーク、液体状態マシン、極限学習マシン、エコー状態ネットワーク、ディープ残差ネットワーク、サポートベクターマシン、Korhonenネットワーク、またはそれらの任意の組合せなどの複数のニューラルネットワークを含む。
例えば、軌跡予測システム144は、クライアントデバイス120から1つまたは複数の観測された速さ、速度および/または加速度の測定値を受信する。例えば、軌跡予測システム144は、以前の複数の時間ステップにおける観測された速さ、速度、および/または加速度(
一例では、クライアントデバイス120(または、代替として、アクセスデバイス110)は、UWB(任意選択的には、1つまたは複数の他の位置測定技法と組み合わせて)を使用して、クライアントデバイス120の現在の3D座標を計算する。いくつかの事例では、クライアントデバイス120(または、代替として、アクセスデバイス110)は、UWBを使用して3D座標を計算する。いくつかの事例では、一連の(sequential)3D座標を収集した後、クライアントデバイス120(または、代替として、アクセスデバイス110)は、複数の速度特徴(speed features)に変換する前に、ノイズ除去および/または平滑化技法を一連の3D座標に適用する。そのようなノイズ除去および/または平滑化技法は、以下を含むことができる:カルマンフィルタ、移動平均、多項式回帰、局所的に重み付けされた散布図平滑化(locally weighted scatterplot smoothing)、および/またはガウス平滑化。
各々がそれぞれのタイムスタンプに関連付けられた2つの連続する3D座標を収集した(および任意選択的には、3D座標のノイズ除去および平滑化を行った)後、クライアントデバイス120(または代替として、アクセスデバイス110)は、(例えば、x軸、y軸、およびz軸に沿った)2つの3D座標間の差を計算する。クライアントデバイス120(または、代替として、アクセスデバイス110)は、(例えば、
クライアントデバイス120は、一組の3D座標の追加の連続する3D座標について追加の速さ、速度、および/または加速度の測定値を計算し、これらの速さ、速度、および/または加速度の測定値を、観測軌跡に沿った観測された速さ、速度、および/または加速度として軌跡予測システム144に供給する。いくつかの場合では、クライアントデバイス120はまた、平均サンプリングレート(例えば、それぞれの速度の測定値を計算するために使用されるタイムスタンプの差の平均)を軌跡予測システム144に供給する。軌跡予測システム144は、観測された速度の測定値(例えば、
軌跡予測システム144が速さ、速度、及び/若しくは加速度の測定値、又は速さ、速度、及び/若しくは加速度の測定値のセットを予測すると、軌跡予測システム144は、クライアントデバイス120(又は代替的にはアクセスデバイス110)からサンプリングレートを取得する。サンプリングレートは、クライアントデバイス120が観測した各3D座標の収集の間の時間の長さを示す。いくつかの場合では、サンプリングレートは固定されて既知であり、他の場合には、サンプリングレートは、複数の3D座標が収集されるときにクライアントデバイス120によってリアルタイムで計算される。軌跡予測システム144は、予測された速さ、速度および/または加速度の測定値、ならびにクライアントデバイス120から取得されたサンプリングレートに基づいて、予測された経路をたどる対応する将来の複数のセグメントを計算する。例えば、軌跡予測システム144は、第1の予測された速さ、速度及び/又は加速度の測定値にサンプリングレートを乗算して、予測3D移動距離又は予測軌跡の予測セグメント若しくは区間を取得する。次いで、軌跡予測システム144は、第2の予測速度測定値にサンプリングレートを乗算して、第2の予測3D移動距離または予測軌跡の予測セグメントもしくは区間を取得する。軌跡予測システム144は、複数の予測セグメントまたは区間を一緒に組み合わせて、クライアントデバイス120が移動すると予測される予測経路または軌跡を形成する。
代替実施形態では、軌跡予測システム144が速さ、速度、及び/若しくは加速度の測定値、又は速さ、速度、及び/若しくは加速度の測定値のセットを予測すると、軌跡予測システム144は、クライアントデバイス120(又は代替的にはアクセスデバイス110)からサンプリングレートを取得する。サンプリングレートは、クライアントデバイス120が観測した各2D座標の収集の間の時間の長さを示す。いくつかの場合では、サンプリングレートは固定されて既知であり、他の場合には、サンプリングレートは、複数の2D座標が収集されるときにクライアントデバイス120によってリアルタイムで計算される。軌跡予測システム144は、予測された速さ、速度および/または加速度の測定値、ならびにクライアントデバイス120から取得されたサンプリングレートに基づいて、予測された経路をたどる対応する将来の複数のセグメントを計算する。例えば、軌跡予測システム144は、第1の予測された速さ、速度及び/又は加速度の測定値にサンプリングレートを乗算して、予測2D移動距離又は予測軌跡の予測セグメント若しくは区間を取得する。次いで、軌跡予測システム144は、第2の予測速度測定値にサンプリングレートを乗算して、第2の予測2D移動距離または予測軌跡の予測セグメントもしくは区間を取得する。軌跡予測システム144は、複数の予測セグメントまたは区間を一緒に組み合わせて、クライアントデバイス120が移動すると予測される予測経路または軌跡を形成する。
軌跡予測システム144は、アクセス制御デバイス110の起動または動作の指定範囲を取得する。一例では、軌跡予測システム144がアクセス制御デバイス110から遠隔のサーバー上に実装される場合、軌跡予測システム144は、アクセス制御デバイス110の固有の識別子を取得し、データベース400(図4)に記憶された1つまたは複数のアクセス制御デバイス範囲(access control devices range(s))430を検索して、アクセス制御デバイス110の固有の識別子に関連付けられた範囲を特定し、読み出す。異なる複数のアクセス制御デバイス110または複数のタイプのアクセス制御デバイス110は、異なる範囲の起動または作動と関連付けられることができ、各々は、1つまたは複数のアクセス制御デバイス範囲430内にそのそれぞれの固有の識別子とともに記憶される。いくつかの事例では、1つまたは複数のアクセス制御デバイス範囲430は、それぞれの範囲とともにデバイスタイプを格納する。そのような状況では、デバイスタイプは、固有の識別子ではなく、1つまたは複数のアクセス制御デバイス範囲430から関連付けられた範囲を読み出すために使用される。軌跡予測システム144は、予測軌跡がアクセス制御デバイス110の指定された範囲内に入るかどうかを判定する。そうである場合、軌跡予測システム144は、認証管理システム140に、クライアントデバイス120についてのアクセスを許可するために、アクセス制御デバイス110を起動または作動させるように命令する。
別の例では、軌跡予測システム144は、アクセス制御デバイス110上にローカルに実装される。そのような事例では、アクセス制御デバイス110は、起動の対応する範囲(たとえば、アクセス制御デバイス110についてのアクセス制御デバイス範囲430に記憶された範囲)を用いてハードプログラミングされる(hard programmed)。アクセス制御デバイス110上に実装された軌跡予測システム144は、予測軌跡がハードコーディングされた範囲内に入るかどうかを判定する。そうである場合、軌跡予測システム144は、アクセス制御デバイス110にクライアントデバイス120についてアクセスを許可させる。別の例では、軌跡予測システム144は、クライアントデバイス120上に実装され、軌跡予測をアクセス制御デバイス110に供給する。次いで、アクセス制御デバイス110は、クライアントデバイス120がアクセス制御デバイス110に関連付けられた範囲内にあるかどうかを判定して、クライアントデバイス120についてアクセスを許可/拒否する。
いくつかの事例では、軌跡予測システム144は、範囲情報にアクセスせず、単に、予測軌跡または一組の予測軌跡を認証管理システム140、クライアントデバイス120、および/またはアクセス制御デバイス110に供給する。次いで、これらのデバイスは、予測軌跡が閾値範囲内にあるか否かに関する決定を集合的にまたは個々に行う。
図2は、例示的な実施形態による、軌跡予測に基づく例示的なアクセス制御システム200を示す。例えば、ユーザー210は、モバイルデバイスまたは電話機などのクライアントデバイス120(図示せず)を携帯し得る。クライアントデバイス120は、一組の観測された3D座標230を収集し得る。クライアントデバイス120は、複数の座標のそれぞれのタイムスタンプに基づいて、隣接する3D座標の各ペアについてのそれぞれの速度の測定値を計算し得る。別の実施形態では、速度情報は、クライアントデバイス120の代わりに、またはそれに加えて、アクセス制御デバイス110によって測定され得る。
クライアントデバイス120は、2つのアクセス制御デバイス220および222がクライアントデバイス120の指定された範囲内にあると判定することができる。例えば、アクセス制御デバイス220および222の各々は、クライアントデバイス120とのBLE通信の範囲内にある。それに応答して、クライアントデバイス120は、アクセス制御デバイス220および222の両方のクレデンシャルを読み出し、それらのクレデンシャルを認証管理システム140に送信する。認証管理システム140は、クライアントデバイス120がアクセス制御デバイス220および222の両方にアクセスする権限を付与されていることを判定する。そのアクセスする権限を付与されていると判定したことに応答して、認証管理システム140は、クライアントデバイス120が、それぞれのアクセス制御デバイス220または222の特定の範囲250内にある予測軌跡をたどって移動していると判定されるまで、アクセス制御デバイス220または222のうちの特定のアクセス制御デバイスへのアクセスの許可を遅延させる。
別の例では、単一のアクセス制御デバイス110によって保護される領域へのアクセスを確保する単一のアクセス制御デバイス110があってもよい。そのような事例では、セキュリティ保護された領域に入るユーザーの意図は、所与のクライアントデバイス120についてアクセスを許可するために、アクセス制御デバイス110に命令する前に判定される。具体的には、クライアントデバイス120に対してアクセスを許可するために、アクセス制御デバイス110に命令する前に、ユーザーの予測軌跡がアクセス制御デバイス110の範囲内に入るか否かに関する判定が行われる。
例えば、クライアントデバイス120は、観測された速さ、速度、および/または加速度の測定値を軌跡予測システム144に供給する。軌跡予測システム144は、観測された速さ、速度、及び/又は加速度の測定値から速さ、速度、及び/又は加速度の測定値を予測する。軌跡予測システム144は、次いで、クライアントデバイス120および/またはアクセス制御デバイス110のサンプリングレートまたは推定されるサンプリングレートに基づいて、クライアントデバイス120が移動すると予測される予測軌跡240を計算する。予測軌跡240が第1のアクセス制御デバイス220の範囲内にあると判定したことに応答して、軌跡予測システム144は、第1のアクセス制御デバイス220がクライアントデバイス120についてのアクセスを許可するように認証管理システム140に命令する(たとえば、第1のアクセス制御デバイス220は、電子ドアロックをアンロックするなどの動作を実行するように命令される)。予測軌跡240が第2のアクセス制御デバイス222の範囲内に入らないと判定したことに応答して、軌跡予測システム144は、第2のアクセス制御デバイス222がクライアントデバイス120についてのアクセスを拒否するように認証管理システム140に命令する(たとえば、第2のアクセス制御デバイス222は、クライアントデバイス120の複数のクレデンシャルが第2のアクセス制御デバイス222にアクセスする権限を付与されていても、ロックされたままであるように命令される)。
図3は、いくつかの実施形態による、図1のシステム内に配置され得る例示的な軌跡予測システム144のブロック図300である。訓練入力310は、複数のモデルパラメータ312と、訓練データ320とを含み、これらは、対になった複数の訓練データセット322(例えば、複数の入力・出力訓練ペア(input-output training pairs))および複数の制約326を含み得る。複数のモデルパラメータ312は、複数の機械学習モデルのうちの対応する機械学習モデルの複数のパラメータまたは係数を含むかまたは提供する。訓練中、これらのパラメータ312は、訓練データ320の複数の入力・出力訓練ペアに基づいて適応される(adapted)。複数のパラメータ312が適応された後(訓練後)、複数の訓練済み機械学習(ML : machine learning)モデルを一組の新しいデータ370について実行するために、複数のパラメータは、複数の訓練済みモデル360によって使用される。
訓練データ320は、所与の軌跡の制約を定義し得る複数の制約326を含む。対となる訓練データ320は、複数の訓練する観測された速さ、速度、および/または加速度の測定値と、対応する訓練する将来の速さ、速度、および/または加速度の測定値(グラウンドトゥルース速さ、速度、および/または加速度の測定値)とのペアなどの複数組の入力・出力ペア322を含み得る。グラウンドトゥルース速さ、速度、および/または加速度の測定値は、以前の複数の時点で測定された観測された速さ、速度、および/または加速度に続く、1つまたは複数の将来の時点における実際の測定された速さ、速度、および/または加速度を示す。例えば、観測速度測定値は、経路の第1のセグメントについて第1の時点で取得されることができる。グラウンドトゥルース速度測定値は、第1のセグメントに続く第2のセグメントについて第2の時点で測定された実際の観測された速さ、速度、および/または加速度を示す。訓練入力310のいくつかの構成要素は、訓練入力310の他の構成要素とは異なるオフサイト設備(off-site facility)または複数の設備において別個に記憶され得る。
1つまたは複数の機械学習モデルの訓練330は、対になった訓練データ322の複数組の入力・出力ペアに基づいて1つまたは複数の機械学習技法を訓練する。たとえば、モデルの訓練330は、1つまたは複数のグラウンドトゥルース速度測定値に基づいて損失関数を最小化することによって、複数のMLモデルパラメータ312を訓練し得る。特に、MLモデルは、将来の経路または軌跡をたどる複数の速度測定値を推定するために、観測経路または軌跡をたどる観測された速さ、速度、および/または加速度の測定値の訓練セットに適用され得る。いくつかの実装形態では、損失関数の導関数(derivative)は、推定された速度測定値とグラウンドトゥルース速度測定値との比較に基づいて計算され、MLモデルの複数のパラメータは、損失関数の計算された導関数に基づいて更新される。
複数の組の訓練データ列(training data trains)について損失関数を最小化したことにより、対応する複数のMLモデルのモデルパラメータ312は適応または最適化される。このようにして、MLモデルは、複数の訓練する観測された速さ、速度、および/または加速度の測定値と、対応する複数の予測される速さ、速度、および/または加速度の測定値との間の関係を確立するように訓練される。
一実装形態では、MLモデルは、教師あり学習技法に従って訓練されて、複数の訓練速度測定値から複数の速度測定値を推定する。そのような場合では、MLモデルを訓練するために、複数の訓練する観測された速さ、速度、および/または加速度の測定値が、それらの対応する訓練する予測または推定される速さ、速度、および/または加速度の測定値とともに読み出される。例えば、訓練する観測された速さ、速度、及び/又は加速度の測定値は、データベース400(図4)に記憶された訓練観測速度点及び予測速度点410から読み出される。MLモデルは、第1の群の訓練する速さ、速度、および/または加速度の測定値に適用されて、速さ、速度、および/または加速度の測定値の所与のセットを推定する。その群の訓練速度測定値は、MLモデルの同じ複数のパラメータを用いてMLモデルを訓練するために使用されることができ、特定の訓練する速さ、速度、および/または加速度の測定値から、訓練する速さ、速度、および/または加速度の測定値のすべての範囲であり得る。いくつかの実装形態では、MLモデルの出力または結果は、既知のサンプリングレートまたは計算されたサンプリングレートに基づいて、第1の速さ、速度、および/または加速度の測定値、ならびに予測軌跡の予測された3D座標を計算または予測するために使用される。
推定された速さ、速度、および/または加速度の測定値は、損失関数に適用され、損失関数の勾配(gradient)または導関数は、期待されるかまたはグラウンドトゥルースの速さ、速度、および/または加速度の測定値に基づいて計算される。損失関数の勾配または導関数に基づいて、MLモデルの更新された複数のパラメータが計算される。例えば、MLモデルの複数のパラメータは、データベース400の訓練済み機械学習技法420に含まれる。次いで、MLモデルは、更新された複数のパラメータを用いて、第2の群の訓練速度測定値に適用され、速さ、速度、および/または加速度の測定値の所与のセットを再び推定し、その速さ、速度、および/または加速度の測定値を、それらの対応するグラウンドトゥルース速さ、速度、および/または加速度の測定値との比較のために損失関数に適用する。MLモデルの複数のパラメータは再び更新され、この訓練プロセスの反復は、指定された反復回数またはエポック(epochs)数の間、または所与の収束基準が満たされるまで継続される。
機械学習モデルが訓練された後、モデルの使用350は、受信され得る1つまたは複数の速さ、速度、および/または加速度の測定値を含む新しいデータ370へのモデルの適用を示す。訓練済み機械学習技法は新しいデータ370に適用されて、予測経路または予測軌跡をたどる予測される速さ、速度、および/または加速度の測定値を含む生成された結果380を生成することができる。
図5は、例示的な実施形態による、アクセス制御システム100の例示的なプロセス500を示すフローチャートである。プロセス500は、プロセス500の複数の処理がシステム100の複数の機能コンポーネントによって部分的にまたは全体的に実行され得るように、1つまたは複数のプロセッサにより実行される複数のコンピュータ可読命令において具現化され得、したがって、プロセス500は、それを参照して例として以下で説明される。しかしながら、他の実施形態では、プロセス500の複数の処理のうちの少なくともいくつかは、様々な他のハードウェア構成上に展開され得る。プロセス500の複数の処理の一部または全部は、並列であっても、順序が違っていても、または完全に省略されてもよい。
処理501において、認証管理システム140は、複数の観測速度点を受信し、複数の観測速度点の各々は、観測軌跡の複数の区間の異なる区間に対応する。例えば、認証管理システム140は、クライアントデバイス120によって計算された一組の速度点を受信する。クライアントデバイス120は、それぞれのタイムスタンプ間の差で除算されたそれぞれの隣接する3D座標間の3Dにおける差として各速度点を計算する。
いくつかの実施形態では、クライアントデバイス120または認証管理システム140は、一連の速さ、速度、または加速度の測定値が1つまたは複数のデータ点(data points)を欠いていると判定する。具体的には、クライアントデバイス120または認証管理システム140は、観測速度点を生成するために使用される平均サンプリング間隔を決定することができる。たとえば、クライアントデバイス120または認証管理システム140は、複数の観測速度点が一連の7つの観測速度点を含むと決定することができる。複数の観測速度点の一部分(例えば、7つのうちの6つ)は、第1のサンプリング間隔に基づいて計算されていてもよく(例えば、速度測定値を計算するために使用される2つのタイムスタンプ間の差は第1の値であってもよい)、別の部分(例えば、7つのうちの1つ)は、第1のサンプリング間隔よりも大きいかまたは2倍である第2のサンプリング間隔に基づいて計算されていてもよい。この場合では、クライアントデバイス120または認証管理システム140は、より大きいサンプリング間隔をもたらしたタイムスタンプの欠落のために、特定の速度点がシーケンス(sequence)から欠落していると判定することができる。そのような状況では、クライアントデバイス120または認証管理システム140は、補間技法(線形補間、多項式補間、スプライン補間(spline interpolation)、ガウス過程(Gaussian process)など)を実行して、欠けているデータを埋め、1つまたは複数の補間された速度測定値によって速度測定値の数を増加させることができる。このことは、将来の軌跡に関する予測を行うために、(7つが観測された場合に)合計8つの測定値を含む一連の速度測定値をもたらす。速度測定値のこの補間されたシーケンスは、速度測定値を予測するために認証管理システム140に供給され得る。同様の技術を適用して、一連の速度または加速度の測定値を生成することができる。
処理502において、認証管理システム140は、複数の予測速度点を生成するために機械学習技法によって観測軌跡に対応する複数の観測速度点を処理し、機械学習技法は、複数の訓練観測速度点と複数の訓練予測速度点との間の関係を確立するように訓練される。例えば、軌跡予測システム144は、訓練済み機械学習モデルをクライアントデバイス120から受信された一組の速度点に適用して、将来の複数の速度点を予測する。
処理503において、認証管理システム140は、複数の予測速度点に基づいて将来の軌跡を決定し、複数の予測速度点の各々は、将来の軌跡の複数の区間の異なる区間に対応する。例えば、軌跡予測システム144は、予測経路の将来の3D座標または将来の一組の3D区間を導出するために、複数の予測速度測定値に、計算された、推定された、または既知のサンプリングレートを乗算する。
処理504において、認証管理システム140は、ターゲットアクセス制御デバイスが将来の軌跡の閾値範囲内にあることを判定する。たとえば、認証管理システム140は、クライアントデバイス120のある地理的距離内にある(たとえば、またはBLE通信プロトコル範囲内にある)アクセス制御デバイス110の範囲を取得する。認証管理システム140は、クライアントデバイス120の将来の軌跡が取得された範囲内に入るか否かを判定する。
処理505において、認証管理システム140は、ターゲットアクセス制御デバイス110が将来の軌跡の閾値範囲内にあると判定したことに応答して、ターゲットアクセス制御デバイスに関連付けられた処理を実行する。例えば、認証管理システム140は、(例えば、電子ドアロックをアンロックすることによって)クライアントデバイス120に対してアクセスを許可するようにアクセス制御デバイス110に命令する。いくつかの事例では、認証管理システム140は、アクセス制御デバイス110をバイパスして、ロックされるかまたはセキュリティ保護されたリソースを直接的に制御する。
図6は、本明細書で説明される様々なハードウェアアーキテクチャと併せて使用され得る例示的なソフトウェアアーキテクチャ606を示すブロック図である。図6は、ソフトウェアアーキテクチャの非限定的な例であり、本明細書で説明される機能を可能にするために、多くの他のアーキテクチャが実装され得ることが理解されよう。ソフトウェアアーキテクチャ606は、特に、プロセッサ704、メモリ714、および入力/出力(I/O)コンポーネント718を含む図7の機械700などのハードウェア上で実行することができる。代表的なハードウェア層652が示されており、例えば、図7の機械700を示すことができる。代表的なハードウェア層652は、関連する複数の実行可能命令604を有する処理ユニット654を含む。複数の実行可能命令604は、本明細書で説明される方法、構成要素などの実装を含むソフトウェアアーキテクチャ606の複数の実行可能命令を表す。ハードウェア層652はまた、複数の実行可能命令604も有するメモリおよび/またはストレージデバイスメモリ/ストレージ656を含む。ハードウェア層652はまた、他のハードウェア658を備えてもよい。ソフトウェアアーキテクチャ606は、図1に示される複数の構成要素のうちの任意の1つ以上において展開され得る。
図6の例示的なアーキテクチャでは、ソフトウェアアーキテクチャ606は、各層が特定の機能を提供する層のスタックとして概念化され得る。例えば、ソフトウェアアーキテクチャ606は、オペレーティングシステム602、複数のライブラリ620、複数のフレームワーク/ミドルウェア618、複数のアプリケーション616、およびプレゼンテーション層614などの複数の層を含むことができる。動作上、複数のアプリケーション616および/またはそれらの層内の他の構成要素は、ソフトウェアスタックを介してAPIコール608を呼び出し、APIコール608に応答してメッセージ612を受信することができる。図示された複数の層は、本質的に代表的なものであり、すべてのソフトウェアアーキテクチャがすべての層を有するわけではない。例えば、いくつかのモバイルまたは専用オペレーティングシステムは、複数のフレームワーク/ミドルウェア618を提供しない場合があるが、他のものは、そのような層を提供する場合がある。他のソフトウェアアーキテクチャは、追加の層または異なる層を含み得る。
オペレーティングシステム602は、複数のハードウェアリソースを管理し、複数の共通サービス(common services)を提供し得る。オペレーティングシステム602は、例えば、カーネル622、複数のサービス624、および複数のドライバ626を含み得る。カーネル622は、ハードウェア層と他のソフトウェア層との間の抽象化層(abstraction layer)として働くことができる。例えば、カーネル622は、メモリ管理、プロセッサ管理(例えば、スケジューリング)、コンポーネント管理、ネットワーキング、セキュリティ設定などを担うことができる。複数のサービス624は、他のソフトウェア層に他の共通サービスを提供し得る。複数のドライバ626は、基本的なハードウェアを制御すること、または基本的なハードウェアとインタフェースすることを担う。たとえば、複数のドライバ626は、ハードウェア構成に応じて、ディスプレイドライバ、カメラドライバ、BLEドライバ、UWBドライバ、Bluetooth(登録商標)ドライバ、フラッシュメモリドライバ、シリアル通信ドライバ(たとえば、USB(Universal Serial Bus)ドライバ)、Wi-Fi(登録商標)ドライバ、オーディオドライバ、電力管理ドライバなどを含む。
複数のライブラリ620は、アプリケーション616および/または他のコンポーネントおよび/または層によって使用される共通インフラストラクチャを提供する。ライブラリ620は、他のソフトウェアコンポーネントが、基本的なオペレーティングシステム602の機能(例えば、カーネル622、複数のサービス624および/または複数のドライバ626)と直接的にインタフェースするよりも容易にタスクを実行することを可能にする機能を提供する。複数のライブラリ620は、メモリ割り当て機能、文字列操作機能(string manipulation function)、数学的機能などの機能を提供し得るシステムライブラリ644(例えば、C標準ライブラリ(C standard library))を含み得る。加えて、複数のライブラリ620は、メディアライブラリ(例えば、MPREG4、H.264、MP3、AAC、AMR、JPG、PNGなどの様々なメディアフォーマットの提示および操作をサポートするライブラリ)、グラフィックスライブラリ(例えば、ディスプレイ上のグラフィックコンテンツにおいて2次元および3次元をレンダリングするために使用され得るOpenGLフレームワーク)、データベースライブラリ(例えば、様々なリレーショナルデータベース機能を提供し得るSQLite)、ウェブライブラリ(例えば、ウェブブラウジング機能を提供し得るWebKit)などのAPIライブラリ646を含んでもよい。複数のライブラリ620はまた、複数のアプリケーション616および他のソフトウェアコンポーネント/デバイスに多くの他のAPIを提供するために、多種多様な他のライブラリ648を含んでもよい。
複数のフレームワーク/ミドルウェア618(ミドルウェアと呼称されることもある)は、複数のアプリケーション616および/または他のソフトウェアコンポーネント/デバイスによって使用され得るより高レベル共通インフラストラクチャ(higher-level common infrastructure)を提供する。たとえば、複数のフレームワーク/ミドルウェア618は、様々なグラフィックユーザインタフェース機能、高レベルリソース管理、高レベル位置特定サービス(high-level location services)などを提供し得る。複数のフレームワーク/ミドルウェア618は、複数のアプリケーション616および/または他のソフトウェアコンポーネント/デバイスによって利用され得る広範囲の他のAPIを提供することができ、それらのうちのいくつかは、特定のオペレーティングシステム602またはプラットフォームに固有であり得る。
複数のアプリケーション616は、内蔵アプリケーション638および/またはサードパーティアプリケーション640を含む。代表的な内蔵アプリケーション638の例は、連絡先アプリケーション、ブラウザアプリケーション、ブックリーダーアプリケーション、位置特定アプリケーション、メディアアプリケーション、メッセージングアプリケーション、および/またはゲームアプリケーションを含み得るが、これらに限定されない。サードパーティアプリケーション640は、特定のプラットフォームのベンダー以外のエンティティによってANDROID(商標)またはIOS(商標)ソフトウェア開発キット(SDK : software development kit)を使用して開発されたアプリケーションを含んでもよく、IOS(商標)、ANDROID(商標)、WINDOWS(登録商標)Phone、または他のモバイルオペレーティングシステムなどのモバイルオペレーティングシステム上で実行されるモバイルソフトウェアであってもよい。サードパーティアプリケーション640は、本明細書で説明する機能を可能にするために、(オペレーティングシステム602などの)モバイルオペレーティングシステムによって提供されるAPIコール608を呼び出し得る。
複数のアプリケーション616は、組み込みのオペレーティングシステム機能(例えば、カーネル622、サービス624、および/またはドライバ626)、複数のライブラリ620、および複数のフレームワーク/ミドルウェア618を使用して、システムの複数のユーザーと対話するためのUIを作成し得る。代替的にまたは追加的に、いくつかのシステムでは、ユーザーとの対話は、プレゼンテーション層614などのプレゼンテーション層を介して行われ得る。これらのシステムでは、アプリケーション/コンポーネント「ロジック」は、ユーザーと対話するアプリケーション/コンポーネントの態様から分離されることができる。
図7は、いくつかの例示的な実施形態による、機械可読媒体(例えば、機械可読記憶媒体)から複数の命令を読み取り、本明細書において説明される複数の方法のうちの任意の1つまたは複数を実行することができる機械700の複数の構成要素を示すブロック図である。具体的には、図7は、コンピュータシステムの例示的な形態における機械700の概略図を示し、その中で、本明細書で論じられる複数の方法のうちの任意の1つまたは複数を機械700に実行させるための命令710(例えば、ソフトウェア、プログラム、アプリケーション、アプレット、アプリ、または他の実行可能コード)が実行され得る。
したがって、命令710は、本明細書で説明されるデバイスまたは構成要素を実装するために使用され得る。命令710は、一般的なプログラムされていない機械700を、説明され、図示された機能を説明された方法で実行するようにプログラムされた特定の機械700に変換する。代替的な実施形態では、機械700は、スタンドアロンデバイスとして動作するか、または他の機械に結合(例えば、ネットワーク化)され得る。ネットワーク化された配置では、機械700は、サーバークライアントネットワーク環境におけるサーバマシンもしくはクライアントマシンの立場で、またはピアツーピア(もしくは分散)ネットワーク環境におけるピアマシンとして動作し得る。機械700は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットコンピュータ、ラップトップコンピュータ、ネットブック、STB、PDA、エンターテイメントメディアシステム、携帯電話、スマートフォン、モバイルデバイス、ウェアラブルデバイス(例えば、スマートウォッチ)、スマートホームデバイス(例えば、スマートアプライアンス)、他のスマートデバイス、ウェブアプライアンス、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、又は機械700によって行われる動作を指定する命令710を順次又は他の方法で実行することができる任意の機械を含んでもよいが、これらに限定されない。さらに、単一の機械700のみが図示されているが、「機械」という用語は、本明細書で説明される方法のうちの任意の1つまたは複数を実行するために命令710を個別にまたは共同で実行する機械の集合を含むとも解釈されるものとする。
機械700は、プロセッサ704、メモリ/ストレージ706、及びI/Oコンポーネント718を含み得、これらは、バス702などを介して互いに通信するように構成され得る。一実施形態では、プロセッサ704(例えば、中央処理装置(CPU)、縮小命令セットコンピューティング(RISC)プロセッサ、複合命令セットコンピューティング(CISC)プロセッサ、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、ASIC(application-specific integrated circuit)、無線周波数集積回路(RFIC)、別のプロセッサ、またはそれらの任意の適切な組合せ)は、例えば、命令710を実行し得るプロセッサ708およびプロセッサ712を含み得る。「プロセッサ」という用語は、命令を同時に実行することができる2つ以上の独立したプロセッサ(「コア」と呼ばれることもある)を備え得るマルチコアプロセッサ704を含むことを意図している。図7は複数のプロセッサ704を示しているが、機械700は、単一のコアを有する単一のプロセッサ、複数のコアを有する単一のプロセッサ(例えば、マルチコアプロセッサ)、単一のコアを有する複数のプロセッサ、複数のコアを有する複数のプロセッサ、またはそれらの任意の組み合わせを含んでもよい。
メモリ/ストレージ706は、メインメモリまたは他のメモリストレージなどのメモリ714と、データベース710と、ストレージユニット716とを含むことができ、両方ともバス702などを介してプロセッサ704にアクセス可能である。ストレージユニット716およびメモリ714は、本明細書で説明される方法または機能のうちの任意の1つまたは複数を具現化する命令710を記憶する。また、命令710は、機械700によるその実行中に、メモリ714内、ストレージユニット716内、プロセッサ704のうちの少なくとも1つ内(例えば、プロセッサのキャッシュメモリ内)、またはそれらの任意の適切な組合せに、完全にまたは部分的に存在し得る。したがって、メモリ714、ストレージユニット716、およびプロセッサ704のメモリは、機械可読媒体の例である。
I/Oコンポーネント718は、入力を受信し、出力を提供し、出力を生成し、情報を送信し、情報を交換し、測定値を取り込む等のための多種多様なコンポーネントを含み得る。特定の機械に含まれる特定のI/Oコンポーネント718は、機械700のタイプに依存する。例えば、携帯電話などの携帯機器は、タッチ入力装置または他のそのような入力機構を含む可能性が高いが、ヘッドレスサーバマシンは、そのようなタッチ入力装置を含まない可能性が高い。I/Oコンポーネント718が、図7に示されない多くの他のコンポーネントを含み得ることが理解されるであろう。I/Oコンポーネント718は、単に以下の説明を簡略化するために機能に従ってグループ化されており、このグループ化は決して限定的なものではない。様々な実施形態において、I/Oコンポーネント718は、出力コンポーネント726及び入力コンポーネント728を含み得る。出力コンポーネント726は、視覚コンポーネント(例えば、プラズマディスプレイパネル(PDP)、LEDディスプレイ、LCD、プロジェクタ、または陰極線管(CRT)などのディスプレイ)、聴覚コンポーネント(例えば、スピーカー)、触覚コンポーネント(例えば、振動モータ、抵抗機構)、他の信号発生器などを含み得る。入力コンポーネント728は、英数字入力コンポーネント(例えば、キーボード、英数字入力を受け取るように構成されたタッチスクリーン、フォトオプティカルキーボード、または他の英数字入力コンポーネント)、ポイントベースの入力コンポーネント(例えば、マウス、タッチパッド、トラックボール、ジョイスティック、モーションセンサ、または別のポインティング機器)、触覚入力コンポーネント(例えば、物理ボタン、タッチまたはタッチジェスチャの位置および/または力を提供するタッチスクリーン、または他の触覚入力コンポーネント)、音声入力コンポーネント(例えば、マイクロフォン)などを含み得る。
さらなる実施形態では、I/Oコンポーネント718は、多種多様な他のコンポーネントの中でも、バイオメトリックコンポーネント739、モーションコンポーネント734、環境コンポーネント736、またはポジションコンポーネント738を含み得る。例えば、バイオメトリックコンポーネント739は、表情(例えば、手の表情、顔の表情、声の表情、身振り、または視線追跡)を検出し、生体信号(例えば、血圧、心拍数、体温、発汗、または脳波)を測定し、人を識別する(例えば、音声識別、網膜識別、顔識別、指紋識別、または脳波ベースの識別)などのコンポーネントを含み得る。モーションコンポーネント734は、加速度センサコンポーネント(例えば、加速度計)、重力センサコンポーネント、回転センサコンポーネント(例えば、ジャイロスコープ)などを含み得る。環境コンポーネント736は、例えば、照明センサコンポーネント(例えば、光度計)、温度センサコンポーネント(例えば、周囲温度を検出する1つ以上の温度計)、湿度センサコンポーネント、圧力センサコンポーネント(例えば、気圧計)、音響センサコンポーネント(例えば、背景ノイズを検出する1つ以上のマイクロフォン)、近接センサコンポーネント(例えば、近くの物体を検出する赤外線センサ)、ガスセンサ(例えば、安全のために有害ガスの濃度を検出するか、または大気中の汚染物質を測定するガス検出センサ)、または周囲の物理的環境に対応する表示、測定値、もしくは信号を提供し得る他のコンポーネントを含み得る。ポジションコンポーネント738は、位置センサコンポーネント(例えば、GPS受信機コンポーネント)、高度センサコンポーネント(例えば、高度が導出され得る空気圧を検出する高度計または気圧計)、方位センサコンポーネント(例えば、磁力計)などを含み得る。
通信は、多種多様な技術を使用して実現され得る。I/Oコンポーネント718は、それぞれ結合724および結合722を介して機械700をネットワーク737またはデバイス729に結合するように動作可能な通信コンポーネント740を含み得る。例えば、通信コンポーネント740は、ネットワーク737とインタフェースで接続するためのネットワークインタフェースコンポーネントまたは別の適切なデバイスを含み得る。さらなる実施例において、通信コンポーネント740は、有線通信コンポーネント、無線通信コンポーネント、セルラー通信コンポーネント、近距離無線通信(NFC)コンポーネント、Bluetooth(登録商標)コンポーネント(例えば、Bluetooth Low Energy)、Wi-Fi(登録商標)コンポーネント、および他のモダリティを介して通信を提供する他の通信コンポーネントを含み得る。デバイス729は、別の機械または多種多様な周辺デバイス(例えば、USBを介して接続された周辺デバイス)のいずれかであり得る。
さらに、通信コンポーネント740は、識別子を検出してもよく、または識別子を検出するように動作可能なコンポーネントを含み得る。例えば、通信コンポーネント740は、(RFIDタグリーダーコンポーネント、NFCスマートタグ検出コンポーネント、光学リーダコンポーネント(例えば、ユニバーサルプロダクトコード(UPC)バーコードなどの一次元バーコード、QR(Quick Response)コード、Aztecコード、Data Matrix、Dataglyph、MaxiCode、PDF417、Ultra Code、UCC RSS-2Dバーコード、および他の光学コードなどの多次元バーコードを検出するための光学センサ)、または音響検出コンポーネント(例えば、タグ付けされたオーディオ信号を識別するためのマイクロフォン)を含み得る。加えて、インターネットプロトコル(IP)ジオロケーションを介したロケーション、Wi-Fi(登録商標)信号三角測量を介したロケーション、特定のロケーションを示し得るNFCビーコン信号の検出によるロケーションなど、様々な情報が通信コンポーネント740を介して導出され得る。
<用語解説>
この文脈における「キャリア信号」は、機械による実行のための一時的または非一時的な命令を格納、符号化、または搬送することができる任意の無形媒体を指すだけでなく、そのような命令の通信を促進するためのデジタルまたはアナログ通信信号または他の無形媒体が含まれる。一時的または非一時的な命令は、ネットワークインタフェースデバイスを介した伝送媒体を使用することで、多数の周知の転送プロトコルのうちの任意の1つを使用することで、ネットワークを介して送信または受信されてもよい。
この文脈における「キャリア信号」は、機械による実行のための一時的または非一時的な命令を格納、符号化、または搬送することができる任意の無形媒体を指すだけでなく、そのような命令の通信を促進するためのデジタルまたはアナログ通信信号または他の無形媒体が含まれる。一時的または非一時的な命令は、ネットワークインタフェースデバイスを介した伝送媒体を使用することで、多数の周知の転送プロトコルのうちの任意の1つを使用することで、ネットワークを介して送信または受信されてもよい。
この文脈における「クライアントデバイス」は、1つまたは複数のサーバシステムまたは他のクライアントデバイスからリソースを取得するべく、通信ネットワークにインタフェースする任意の機械を指す。クライアントデバイスは、携帯電話、デスクトップコンピュータ、ラップトップ、PDA、スマートフォン、タブレット、ウルトラブック、ネットブック、ラップトップ、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラマブル家電、ゲームコンソール、セット・トップ・ボックス、またはユーザーがネットワークにアクセスするべく使用し得る他の任意の通信デバイス、であってよいが、それらに限定されるものではない。
この文脈における「通信ネットワーク」は、アドホックネットワーク、イントラネット、エクストラネット、VPN、LAN、BLEネットワーク、UWBネットワーク、WLAN、WAN、WWAN、大都市圏ネットワーク(MAN)、インターネット、インターネットの一部、PSTNの一部、POTS(plain old telephone service)ネットワーク、セルラー電話ネットワーク、無線ネットワーク、Wi-Fi(登録商標)ネットワーク、別のタイプのネットワーク、または2つ以上のこのようなネットワークの組み合わせ、であってよいネットワークの1以上の部分を指している。例えば、ネットワークまたはネットワークの一部は、無線またはセルラーネットワークを備えてもよく、結合は、符号分割多重アクセス(CDMA)接続、移動通信用グローバルシステム(GSM(登録商標))接続、または他のタイプのセルラーまたは無線結合であってもよい。この例では、結合は、シングルキャリア無線伝送技術(1xRTT)、進化データ最適化(EVDO)技術、一般パケット無線サービス(GPRS)技術、GSM(登録商標)進化のための拡張データレート(EDGE)技術、3Gを含む第3世代パートナーシッププロジェクト(3GPP(登録商標))、第4世代無線ネットワーク(4G)、UMTS(Universal Mobile Telecommunications System)、HSPA(High Speed Packet Access)、WiMAX(Worldwide Interoperability for Microwave Access)、LTE(Long Term Evolution)規格、その他各種標準化団体が定めるプロトコル、その他の長距離データ転送技術、様々なタイプのデータ転送技術、などのいずれかを実装してもよい。
この文脈における「機械可読媒体」は、命令およびデータを一時的または永久的に格納することができる構成要素、デバイス、または他の有形媒体を指し、RAM、ROM、バッファメモリ、フラッシュメモリ、光学媒体、磁気媒体、キャッシュメモリ、他のタイプのストレージ(例えば、消去可能プログラム可能読取専用メモリ(EEPROM))、および/またはそれらの任意の適切な組み合わせ、を備えていることができるが、これらに限定されるものではない。「機械可読媒体」という用語は、命令を格納することができる単一の媒体または複数の媒体(例えば、集中型または分散型データベース、または関連するキャッシュおよびサーバー)を備えていると解釈されるべきである。また、「機械可読媒体」という用語は、機械による実行のための命令(例えば、コード)を格納することができる任意の媒体、または複数の媒体の組み合わせ、を備えていると見なされ、命令が、機械の1つまたは複数のプロセッサによって実行されると、機械に、本明細書に記載する方法論のいずれか1つまたは複数を実行させるようなものであるものとする。したがって、「機械可読媒体」は、単一の記憶装置またはデバイスを、ならびに複数の記憶装置またはデバイスを備えている「クラウドベースの」記憶システムまたは記憶ネットワークを、指す。「機械可読媒体」という用語は、信号そのものを除外する。
この文脈での「構成要素」(コンポーネント)とは、関数またはサブルーチン呼び出し、分岐点、アプリケーションプログラミングインタフェースAPI、または特定の処理または制御機能のパーティショニングまたはモジュール化、を提供する他の技術によって定義された境界を持つデバイス、物理的実体、またはロジック、を指す。構成要素は、他の構成要素とのインタフェースを介して組み合わされ、機械処理を実行することができる。構成要素は、他の構成要素とで共に使用するべく設計されたパッケージ化された機能的なハードウェアユニットであり、通常、関連する機能のうち特定の機能を実行するプログラムの一部である場合がある。構成要素は、ソフトウェア構成要素(例えば、機械可読媒体に具現化されたコード)またはハードウェア構成要素のいずれかを構成することができる。「ハードウェア構成要素」は、特定の動作を実行することができる有形のユニットであり、特定の物理的な方法で構成または配置されることができる。様々な例示的な実施形態において、1つまたは複数のコンピュータシステム(例えば、スタンドアロンコンピュータシステム、クライアントコンピュータシステム、またはサーバコンピュータシステム)またはコンピュータシステムの1つまたは複数のハードウェア構成要素(例えば、プロセッサまたはプロセッサのグループ)は、ソフトウェア(例えば、アプリケーションまたはアプリケーション部分)によって、本書に記載するように特定の動作を行うように動作するハードウェア構成要素として構成され得る。
ハードウェア構成要素はまた、機械的、電子的、またはそれらの任意の適切な組み合わせ、で実装されてもよい。例えば、ハードウェア構成要素は、特定の動作を実行するように恒久的に構成された専用の回路またはロジックを備えてもよい。ハードウェア構成要素は、FPGA(Field-Programmable Gate Array)やASICなどの特殊用途のプロセッサであってもよい。また、ハードウェア構成要素は、ソフトウェアによって一時的に特定の動作を実行するように構成されたプログラマブルロジックまたは回路を備えていることができる。例えば、ハードウェア構成要素は、汎用プロセッサまたは他のプログラマブルプロセッサによって実行されるソフトウェアを備えてもよい。このようなソフトウェアによって構成されていると、ハードウェア構成要素は、構成された機能を実行するべく独自に調整された特定の機械(または機械の特定の構成要素)となるので、もはや汎用プロセッサではない。ハードウェア構成要素を機械的に、専用の恒久的に構成された回路に、または一時的に構成された回路(例えば、ソフトウェアによって構成された)に、実装するという判定は、コストおよび時間の考慮によって行われ得ることが理解されよう。したがって、「ハードウェア構成要素」(または「ハードウェア実装構成要素」)という語句は、物理的に構築されたエンティティ、恒久的に構成されたエンティティ(例えば、ハードワイヤード)、または一時的に構成されたエンティティ(例えば、プログラムされる)、であって、特定の方法で動作するように、または本書に記載の特定の動作を実行するべく、有形エンティティを包含するものと理解されるべきである。ハードウェア構成要素が一時的に構成されている(例えば、プログラムされる)実施形態を考慮すると、ハードウェア構成要素の各々は、任意の1つのインスタンスにおいて構成されていたりまたはインスタンス化されていたりする必要はない。例えば、ハードウェア構成要素が、ソフトウェアによって特殊目的プロセッサになるように構成された汎用プロセッサからなる場合、汎用プロセッサは、異なる時間にそれぞれ異なる特殊目的プロセッサとして(例えば、異なるハードウェア構成要素を備えるように)構成されてもよい。ソフトウェアは、それに応じて、例えば、特定のプロセッサまたはプロセッサグループを、或る時間のインスタンスにおいて特定のハードウェア構成要素を構成する一方で、異なる時間のインスタンスにおいては異なるハードウェア構成要素を構成するように、構成される。
ハードウェア構成要素は、他のハードウェア構成要素に情報を提供したり、他のハードウェア構成要素から情報を受信したり、することができる。従って、説明されたハードウェア構成要素は、通信可能に結合されているとみなすことができる。複数のハードウェア構成要素が同時期に存在する場合、通信は、ハードウェア構成要素の2つ以上の間または中で(例えば、適切な回路およびバスを介して)信号伝送によって達成され得る。複数のハードウェア構成要素が異なる時間に構成またはインスタンス化される実施形態では、そのようなハードウェア構成要素同士間の通信は、例えば、複数のハードウェア構成要素がアクセスするメモリ構造における情報の記憶および検索を通じて達成されてもよい。例えば、あるハードウェア構成要素は、操作(動作、オペレーション)を実行するだけでなく、その操作の出力を、通信可能に結合されているメモリデバイスに格納することができる。その後、別のハードウェア構成要素が、後日、メモリデバイスにアクセスすることで、保存された出力を取り出して処理することができる。
ハードウェア構成要素は、入力または出力デバイスとの通信を開始することもできるし、リソース(例えば、情報の集合体)上で動作することもできる。本明細書に記載される例示的方法の様々な動作は、関連する動作を実行するように一時的に(例えば、ソフトウェアによって)構成されているか、または恒久的に構成されている、1つまたは複数のプロセッサによって、少なくとも部分的に実行され得る。一時的に構成されたか恒久的に構成されたかにかかわらず、そのようなプロセッサは、本明細書に記載される1つ以上の動作または機能を実行するように動作するプロセッサ実装構成要素を構成してもよい。本明細書で使用される場合、「プロセッサ実装構成要素」は、1つ以上のプロセッサを使用して実装されるハードウェア構成要素を指す。同様に、本明細書に記載される方法は、特定のプロセッサまたは複数のプロセッサがハードウェアの一例である、少なくとも部分的にプロセッサ実装され得る。例えば、方法の動作の少なくとも一部は、1つ以上のプロセッサまたはプロセッサ実装構成要素によって実行されてもよい。さらに、1つ以上のプロセッサは、「クラウドコンピューティング」環境において、または「サービスとしてのソフトウェア」(SaaS)として、関連する動作の実行をサポートするように動作してもよい。例えば、操作(動作)の少なくとも一部は、(複数のプロセッサを含むマシンの例として)コンピュータのグループによって実行されてもよく、これらの操作は、ネットワーク(例えば、インターネット)を介して、および1つまたは複数の適切なインタフェース(例えば、API)を介して、アクセス可能である。操作の特定の性能は、単一のマシン内に存在するだけでなく、多数のマシン同士にわたって展開されたプロセッサ同士の間で分散されてもよい。いくつかの例示的な実施形態では、プロセッサまたはプロセッサ実装構成要素は、単一の地理的な場所(例えば、家庭環境、オフィス環境、またはサーバファーム内)に配置されてもよい。他の例示的な実施形態では、プロセッサまたはプロセッサ実装構成要素は、多数の地理的な場所に分散していてもよい。
この文脈における「プロセッサ」は、制御信号(例えば、「コマンド」、「オペコード」、「機械コード」など)に従ってデータ値を操作するだけでなく、機械(マシン)を動作させるべく適用される対応する出力信号を生成する、任意の回路または仮想回路(実際のプロセッサ上で実行される論理によってエミュレートされる物理回路)を意味する。プロセッサは、例えば、CPU、RISCプロセッサ、CISCプロセッサ、GPU、DSP、ASIC、RFIC、またはそれらの任意の組み合わせであってもよい。プロセッサはさらに、命令を同時に実行することができる2つ以上の独立したプロセッサ(「コア」と呼ばれることもある)を有するマルチコアプロセッサであってもよい。
この文脈における「タイムスタンプ」は、特定のイベントがいつ発生したかを識別する文字列または符号化された情報を指し、例えば、日付および時刻を提供し、場合によっては1秒の数分の1かの精度である。
本開示の範囲から逸脱することなく、開示された実施形態に対して変更および修正を行うことができる。これらおよび他の変更または修正は、以下の特許請求の範囲に示されるように、本開示の範囲内に含まれることが意図される。
本開示の要約書は、読者が技術的な開示の特性を迅速に特定することを可能にする目的で提供されている。これは、請求項の範囲又は意味を解釈又は限定する目的で用いられていないものと理解されたい。加えて、前述の詳細な説明では、本開示を簡素化する目的で、様々な特徴が単一の実施形態にまとめられていることが分かる。本開示の方法は、特許請求される実施形態が各請求項に明示的に記載されるよりも多くの特徴を必要とするという意図を反映するものとして解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、本発明の主題は、単一の開示された実施形態の全ての特徴よりも少ない特徴にあってもよい。従って、添付の請求項は、これにより、それぞれの請求項が別個の実施形態として独立している状態において、詳細な説明に組み込まれる。
Claims (20)
- 方法であって、
1つまたは複数のプロセッサが、複数の観測速度点を受信すること、ここで、前記複数の観測速度点の各々は、観測軌跡の複数の区間の異なる区間に対応しており、
機械学習技法によって前記観測軌跡に対応する前記複数の観測速度点を処理して複数の予測速度点を生成すること、ここで、前記機械学習技法は、複数の訓練観測速度点と複数の訓練予測速度点との間の関係を確立するように訓練されており、
前記複数の予測速度点に基づいて将来の軌跡を特定すること、ここで、前記複数の予測速度点の各々は、前記将来の軌跡の複数の区間の異なる区間に対応しており、
ターゲットアクセス制御デバイスが前記将来の軌跡の閾値範囲内にあることを判定すること、
前記ターゲットアクセス制御デバイスが前記将来の軌跡の前記閾値範囲内にあると判定したことに応答して、前記ターゲットアクセス制御デバイスに関連付けられた処理を実行すること、を備える方法。 - 前記複数の観測速度点は、複数の加速度測定値を含み、
前記複数の予測速度点は、複数の加速度測定値を含み、
前記ターゲットアクセス制御デバイスは、ドアに関連付けられたロック部を含み、
前記処理を実行することは、前記ドアをアンロックすることを含む、請求項1に記載の方法。 - ユーザーのモバイルデバイスと前記ターゲットアクセス制御デバイスとの間の無線通信リンクを確立すること、
前記無線通信リンクを介して認証情報を交換すること、
前記認証情報に基づいて、前記ユーザーが前記ターゲットアクセス制御デバイスにアクセスする権限を付与されていると判定した後に前記処理を実行すること、をさらに備える請求項2に記載の方法。 - 前記処理を実行する前に、前記認証情報に基づいて、前記ユーザーが前記ターゲットアクセス制御デバイスにアクセスする権限を付与されていることを判定すること、
前記ターゲットアクセス制御デバイスが前記将来の軌跡の前記閾値範囲内にあると判定されるまで、前記ユーザーが権限を付与されていると判定した後に前記処理を実行することを遅延させること、をさらに備える請求項3に記載の方法。 - 前記無線通信リンクは、Bluetooth Low Energy(BLE)通信プロトコルを含み、
前記複数の観測速度点は、超広帯域(UWB)通信プロトコルを介して受信される、請求項3または4に記載の方法。 - 前記ターゲットアクセス制御デバイスは屋内に位置する、請求項5に記載の方法。
- 前記処理を実行する前に、前記認証情報に基づいて、前記ユーザーが前記ターゲットアクセス制御デバイスにアクセスする権限を付与されていることを判定すること、
前記ターゲットアクセス制御デバイスが前記将来の軌跡の前記閾値範囲外にあると判定したことに応答して、前記ユーザーが権限を付与されていると判定した後に前記処理を実行することを防止すること、をさらに備える請求項3~6のいずれか1項に記載の方法。 - 前記機械学習技法は、ニューラルネットワークを含む、請求項1~7のいずれか1項に記載の方法。
- 前記複数の観測速度点を受信することは、
第1の時点における第1の2次元(2D)または3次元(3D)直交座標を示す第1のデータ点を受信すること、
第2の時点における第2の2Dまたは3D直交座標を示す第2のデータ点を受信すること、ここで、前記第1および第2のデータ点の各々は、前記複数の区間の第1の区間に対応しており、
前記複数の観測速度点のうちの第1の観測速度点を、前記第1の2Dまたは3D直交座標と前記第2の2Dまたは3D直交座標との間の差、および前記第1の時点と前記第2の時点との間の差の関数として計算すること、を含む、請求項1~8のいずれか1項に記載の方法。 - 前記機械学習技法によって、前記複数の観測速度点のサンプリングレートとは無関係に前記複数の予測速度点を生成する、請求項1~9のいずれか1項に記載の方法。
- 前記複数の予測速度点に基づいて前記将来の軌跡を特定することは、
前記複数の観測速度点のうちの第1の観測速度点の第1のタイムスタンプと前記複数の観測速度点のうちの第2の観測速度点の第2のタイムスタンプとの間の差に基づいて、前記複数の観測速度点が受信されるサンプリングレートを決定すること、
前記複数の予測速度点と、ユーザーの現在位置と、前記複数の観測速度点が受信される前記サンプリングレートとに基づいて、前記将来の軌跡の3次元直交座標を計算すること、を含む、請求項1~10のいずれか1項に記載の方法。 - 前記機械学習技法を、
前記複数の訓練観測速度点の第1のセットと、前記訓練予測速度点の対応する第1のセットと、を含む第1の群の訓練データを取得すること、
前記機械学習技法を用いて前記複数の訓練観測速度点の第1のセットを処理して、複数の推定速度点を生成すること、
損失関数に基づいて、前記複数の推定速度点と前記訓練予測速度点の前記対応する第1のセットとの間の偏差に基づく損失を計算すること、および
計算された前記損失関数に基づいて、前記機械学習技法の複数のパラメータを更新すること、によって、訓練することをさらに備える請求項1~12のいずれか1項に記載の方法。 - 前記複数の訓練観測速度点の前記第1のセットは、第1のサンプリングレートに対応しており、
前記複数の訓練観測速度点の第2のセットを含む第2の群の訓練データを取得することであって、前記複数の訓練観測速度点の前記第2のセットは、第2のサンプリングレートに対応する、前記第2の群の訓練データを取得すること、
前記機械学習技法を用いて前記複数の訓練観測速度点の第2のセットを処理して、第2の複数の推定速度点を生成すること、
前記損失関数に基づいて、前記第2の複数の推定速度点と前記訓練予測速度点の前記対応する第1のセットとの間の偏差に基づく第2の損失を計算すること、
前記第2の損失に基づいて、前記機械学習技法の複数のパラメータを更新すること、をさらに備える請求項12に記載の方法。 - システムであって、
非一時的コンピュータ命令を含むメモリに結合された1つまたは複数のプロセッサを備え、前記非一時的コンピュータ命令は、前記1つまたは複数のプロセッサによって実行されると、複数の処理を実行させ、
前記複数の処理は、
複数の観測速度点を受信すること、ここで、前記複数の観測速度点の各々は、観測軌跡の複数の区間の異なる区間に対応しており、
機械学習技法によって前記観測軌跡に対応する前記複数の観測速度点を処理して複数の予測速度点を生成すること、ここで、前記機械学習技法は、複数の訓練観測速度点と複数の訓練予測速度点との間の関係を確立するように訓練されており、
前記複数の予測速度点に基づいて将来の軌跡を特定すること、ここで、前記複数の予測速度点の各々は、前記将来の軌跡の複数の区間の異なる区間に対応しており、
ターゲットアクセス制御デバイスが前記将来の軌跡の閾値範囲内にあることを判定すること、
前記ターゲットアクセス制御デバイスが前記将来の軌跡の前記閾値範囲内にあると判定したことに応答して、前記ターゲットアクセス制御デバイスに関連付けられた処理を実行すること、を含む、システム。 - 前記複数の観測速度点は、複数の加速度測定値を含み、
前記複数の予測速度点は、複数の加速度測定値を含み、
前記ターゲットアクセス制御デバイスは、ドアに関連付けられたロック部を含み、
前記複数の処理を実行することは、前記ドアをアンロックすることを含む、請求項14に記載のシステム。 - 前記複数の処理は、
ユーザーのモバイルデバイスと前記ターゲットアクセス制御デバイスとの間の無線通信リンクを確立すること、
前記無線通信リンクを介して認証情報を交換すること、
前記認証情報に基づいて、前記ユーザーが前記ターゲットアクセス制御デバイスにアクセスする権限を付与されていると判定した後に前記処理を実行すること、をさらに含む、請求項15に記載のシステム。 - 前記複数の処理は、
前記処理を実行する前に、前記認証情報に基づいて、前記ユーザーが前記ターゲットアクセス制御デバイスにアクセスする権限を付与されていることを判定すること、
前記ターゲットアクセス制御デバイスが前記将来の軌跡の前記閾値範囲内にあると判定されるまで、前記ユーザーが権限を付与されていると判定した後に前記処理を実行することを遅延させること、をさらに含む、請求項16に記載のシステム。 - 複数の処理を実行するための非一時的コンピュータ可読命令を含む非一時的コンピュータ可読媒体であって、前記複数の処理は、
複数の観測速度点を受信すること、ここで、前記複数の観測速度点の各々は、観測軌跡の複数の区間の異なる区間に対応しており、
機械学習技法によって前記観測軌跡に対応する前記複数の観測速度点を処理して複数の予測速度点を生成すること、ここで、前記機械学習技法は、複数の訓練観測速度点と複数の訓練予測速度点との間の関係を確立するように訓練されており、
前記複数の予測速度点に基づいて将来の軌跡を特定すること、ここで、前記複数の予測速度点の各々は、前記将来の軌跡の複数の区間の異なる区間に対応しており、
ターゲットアクセス制御デバイスが前記将来の軌跡の閾値範囲内にあることを判定すること、
前記ターゲットアクセス制御デバイスが前記将来の軌跡の前記閾値範囲内にあると判定したことに応答して、前記ターゲットアクセス制御デバイスに関連付けられた処理を実行すること、を含む、非一時的コンピュータ可読媒体。 - 前記複数の観測速度点は、複数の加速度測定値を含み、
前記複数の予測速度点は、複数の加速度測定値を含み、
前記ターゲットアクセス制御デバイスは、ドアに関連付けられたロック部を含み、
前記複数の処理を実行することは、前記ドアをアンロックすることを含む、請求項18に記載の非一時的コンピュータ可読媒体。 - 前記複数の処理は、
ユーザーのモバイルデバイスと前記ターゲットアクセス制御デバイスとの間の無線通信リンクを確立すること、
前記無線通信リンクを介して認証情報を交換すること、
前記認証情報に基づいて、前記ユーザーが前記ターゲットアクセス制御デバイスにアクセスする権限を付与されていると判定した後に前記処理を実行すること、をさらに含む、請求項19に記載の非一時的コンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063125041P | 2020-12-14 | 2020-12-14 | |
US63/125,041 | 2020-12-14 | ||
PCT/EP2021/084591 WO2022128627A1 (en) | 2020-12-14 | 2021-12-07 | Trajectory prediction with data normalization |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023552878A true JP2023552878A (ja) | 2023-12-19 |
Family
ID=79231147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023535893A Pending JP2023552878A (ja) | 2020-12-14 | 2021-12-07 | データの正規化を用いた軌跡予測 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20240094006A1 (ja) |
EP (1) | EP4260010A1 (ja) |
JP (1) | JP2023552878A (ja) |
KR (1) | KR20230130008A (ja) |
CN (1) | CN116710731A (ja) |
AU (1) | AU2021399704A1 (ja) |
CA (1) | CA3202173A1 (ja) |
MX (1) | MX2023007035A (ja) |
WO (1) | WO2022128627A1 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107730663A (zh) * | 2017-05-10 | 2018-02-23 | 西安艾润物联网技术服务有限责任公司 | 门禁控制方法及装置 |
WO2020083750A1 (en) * | 2018-10-22 | 2020-04-30 | Dormakaba Schweiz Ag | Uwb access rights update |
AU2020247388B2 (en) * | 2019-03-25 | 2023-03-09 | Assa Abloy Ab | Physical access control systems with localization-based intent detection |
-
2021
- 2021-12-07 KR KR1020237023575A patent/KR20230130008A/ko unknown
- 2021-12-07 WO PCT/EP2021/084591 patent/WO2022128627A1/en active Application Filing
- 2021-12-07 US US18/257,172 patent/US20240094006A1/en active Pending
- 2021-12-07 EP EP21836060.0A patent/EP4260010A1/en active Pending
- 2021-12-07 JP JP2023535893A patent/JP2023552878A/ja active Pending
- 2021-12-07 MX MX2023007035A patent/MX2023007035A/es unknown
- 2021-12-07 AU AU2021399704A patent/AU2021399704A1/en active Pending
- 2021-12-07 CA CA3202173A patent/CA3202173A1/en active Pending
- 2021-12-07 CN CN202180090559.6A patent/CN116710731A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240094006A1 (en) | 2024-03-21 |
AU2021399704A1 (en) | 2023-07-27 |
EP4260010A1 (en) | 2023-10-18 |
MX2023007035A (es) | 2023-08-21 |
CA3202173A1 (en) | 2022-06-23 |
CN116710731A (zh) | 2023-09-05 |
WO2022128627A1 (en) | 2022-06-23 |
KR20230130008A (ko) | 2023-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11975685B1 (en) | Remote vehicle immobilizer | |
US20240096155A1 (en) | Trajectory and intent prediction | |
CN114889553B (zh) | 增强型汽车无源进入 | |
JP2023071680A (ja) | アクセス制御のための読取機連携 | |
EP3243338A1 (en) | Mobile device to provide continuous and discrete user authentication | |
US20170050656A1 (en) | System for assessment of wind-induced train blow-over risk | |
CN113490968B (zh) | 用来阻止中继攻击的数字钥匙和系统 | |
US20230039434A1 (en) | Communication device and position identification method | |
US20240094006A1 (en) | Trajectory prediction with data normalization | |
Jiang et al. | Robot-assisted human indoor localization using the kinect sensor and smartphones | |
EP4344133A1 (en) | User credentials protecting from swapping attacks | |
US11906647B2 (en) | Person location determination using multipath | |
WO2024046571A1 (en) | Dependent credentials | |
US11847232B2 (en) | Secure cloud processing | |
US11956226B2 (en) | Medical records access system | |
US11627252B2 (en) | Configuration of optical sensor devices in vehicles based on thermal data | |
US20220237271A1 (en) | Authentication based on physical interaction and characteristic noise patterns | |
US20220035363A1 (en) | Determining diagnostic coverage for achieving functional safety | |
US11734966B1 (en) | Recursive system layer analysis for achieving functional safety | |
WO2021123031A1 (en) | Credential gateway | |
CA3236239A1 (en) | Identifying position and determining intent based on uwb temporal signatures | |
EP4344127A1 (en) | Non-repudiation-free public key authentication protocols | |
AU2021471009A1 (en) | Identifying position and determining intent based on uwb temporal signatures | |
Meena et al. | About this Appendix | |
WO2024012661A1 (en) | Out-of-band otp exchange access control |