System and method for guiding card positioning using phone sensors - Patents.com
By using image capture devices and machine learning models or SLAM technology in the device, tracking and adjusting the location of the contact card in real time, the problem of instability in NFC signal transmission is solved, and the signal reception strength and transaction success rate are improved.
Patent Information
- Application Number
- JP2023149059
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-07-15
- Filing Date
- 2023-09-14
- Publication Date
- 2025-05-12
- Estimated Expiration
- 2040-07-10
AI Technical Summary
When using contact cards, it is difficult to effectively transmit signals, especially when the distance between the card and the device is close, the signal strength is affected, resulting in transaction interruption and user dissatisfaction.
By installing a series of image capture devices in the device, such as cameras, infrared sensors and point projectors, we capture images in three-dimensional space, and use machine learning models or SLAM technology to track the position and trajectory of the card in real time, predict the projected position of the card, and help users adjust the position of the card by displaying prompt information to ensure that the signal intensity reaches the threshold.
It effectively improves the reception strength of NFC signals, reduces the possibility of transaction interruption, improves user experience, and ensures the stability and success rate of contact card transactions.
Smart Images

Figure 0007675142000005 
Figure 0007675142000006 
Figure 0007675142000007
Abstract
Description
[Technical field]
[0001] Related Applications This application claims priority to U.S. patent application Ser. No. 16 / 511,683, entitled "SYSTEM AND METHOD FOR GUIDING CARD POSITIONING USING PHONE SENSORS," filed July 15, 2019, the contents of which are incorporated herein by reference in their entirety. [Background technology]
[0002] Near Field Communication (NFC) includes a set of communication protocols that allow electronic devices, such as mobile devices and contactless cards, to communicate information wirelessly. NFC devices may be used in contactless payment systems, similar to those used in contactless credit cards and e-ticket smart cards. In addition to payment systems, NFC-enabled devices may function as, for example, electronic ID documents and key cards.
[0003] Contactless devices (e.g., cards, tags, transaction cards, etc.) may use NFC technology for bidirectional or unidirectional contactless short-range communication based on, for example, the use of radio frequency identification (RFID) standards, EMV standards, or NFC Data Exchange Format (NDEF) tags. The communication may use magnetic field induction to enable communication between powered electronic devices, including mobile wireless communication devices, and unpowered or passively powered devices, such as transaction cards. In some applications, high frequency wireless communication technology allows data exchange between devices over short distances, such as just a few centimeters, and the two devices may operate most efficiently in a particular configuration.
[0004] While there are many advantages to using an NFC communication channel for contactless card transactions, such as easier setup and less complexity, one of the problems facing NFC data exchanges can be the difficulty of transmitting signals between devices with small antennas, such as contactless cards. Movement of the contactless card relative to the device during an NFC exchange can have an undesirable effect on the NFC signal strength received at the device, interrupting the exchange. Additionally, features of the card, for example a metal card, can introduce noise, attenuation of signal reception, or other reflections that can cause an NFC read transaction to be false. For systems that use contactless cards for authentication and transaction purposes, delays and interruptions can result in lost transactions and customer dissatisfaction. Summary of the Invention
[0005] One or more computer systems may be configured to perform particular operations or actions by installing software, firmware, hardware, or a combination thereof on the system that, during operation, causes or causes the system to perform the actions. One or more computer programs may be configured to perform particular operations or actions by including instructions that, when executed by a data processing device, cause the device to perform the actions.
[0006] According to one general aspect, a method for guiding positioning of a card relative to a device to a target position includes a proximity sensor detecting that a card is in proximity to the device, and in response to the card being in proximity to the device, the device captures a series of images of a three-dimensional volume proximate to the device, processes the series of images to determine a position and trajectory of the card within the three-dimensional volume proximate to the device, predicting a projected position of the card relative to the device based on the position of the card and the trajectory of the card, identifying one or more variances between the projected position and the target position including identifying at least one trajectory adjustment predicted to reduce the one or more variances and one or more prompts predicted to achieve the trajectory adjustment, displaying the one or more prompts on a display of the device, repeating the steps of capturing the series of images, determining the position and trajectory of the card, predicting the projected position of the card, identifying the one or more variances, the at least one trajectory adjustment, and the one or more prompts, and displaying the one or more prompts until the one or more variances are within a predetermined threshold, and triggering an event at the device to obtain data from the card in response to the one or more variances being within a predetermined threshold. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs stored on one or more computer storage devices, each configured to perform the operations of the method.
[0007] Implementations may include one or more of the following features: A method in which the step of processing the series of images to determine the position and trajectory of the card within a three-dimensional volume proximate the device uses at least one of a machine learning model or a simultaneous localization and mapping (SLAM) process. The method includes repeating the steps of capturing the series of images, determining the position and trajectory of the card, predicting the projected position of the card, identifying one or more variances, at least one trajectory adjustment and one or more prompts, and displaying one or more prompts to ensure that the variance remains within a predetermined threshold and to enable the device to read data from the card during the event. The step of triggering the event includes initiating a data exchange between the card and the device, the data exchange relating to at least one of a financial transaction and an authorization transaction. The method in which the step of capturing the series of images is performed by one or more of a camera of the device, an infrared sensor of the device, or a dot projector of the device, the series of images including one or both of two-dimensional image information and three-dimensional image information related to one or more of infrared energy and visible light energy measured at the device. The method includes generating a volume map of a three-dimensional volume proximate the device using a series of images obtained from one or more of a camera, an infrared sensor, and a dot projector, the volume map including pixel data for a plurality of pixel locations within the three-dimensional volume proximate the device. The method wherein processing the series of images to determine a position and trajectory of the card includes transferring the series of images to a feature extraction machine learning model trained to process the volume map to detect one or more features of the card and to identify a position and trajectory of the card within the volume map in response to the one or more features. The method wherein predicting a projected position of the card relative to the device includes transferring the position and trajectory of the card to a second machine learning model trained to predict a projected position based on past attempts to place the card.The method wherein the past attempts used to train the second machine learning model are customized to a user of the device. The method wherein the one or more prompts include at least one of a visual prompt, an audible prompt, or a combination of a visual and audible prompt. Implementations of the described techniques may include hardware, a method or process, or computer software on a computer-accessible medium.
[0008] According to one general aspect, a device includes a proximity sensor configured to detect whether a card is in proximity to the device, an image capture device coupled to the proximity sensor and configured to capture a series of images of a three-dimensional volume proximate to the device, a processor coupled to the proximity sensor and the image capture device, a display interface coupled to the processor, a card reader interface coupled to the processor, and a non-transitory medium storing alignment program code configured to guide the card to a target position relative to the device. The alignment program code, when executed by the processor, is operable to monitor the proximity of a card to the device, enable an image capture device to capture a series of images of a three-dimensional volume proximate the device, process the series of images to determine a position and trajectory of the card within the three-dimensional volume proximate the device, predict a projected position of the card relative to the device based on the card position and the card trajectory, identify one or more variances between the projected position and the target position including identifying at least one trajectory adjustment and one or more prompts for achieving the at least one trajectory adjustment, where the at least one trajectory adjustment is predicted to reduce the one or more variances, display one or more prompts on a display interface at least one of before and during a card reading operation, and trigger a card reading operation by the card reader interface if the one or more variances are within a predetermined threshold. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the operations of the method.
[0009] Implementations may include one or more of the following features: The device of claim 11, wherein the program code operable when executed to process the series of images to determine a position and trajectory of a card within a three-dimensional volume proximate the device uses at least one of a machine learning model or a simultaneous localization and mapping (SLAM) process. The device, wherein the card reading operation is associated with one of a financial transaction and an authorization transaction. The image capture device includes one or more of a camera, an infrared sensor, or a dot projector, and the series of images captures one or more of infrared energy and visible light energy measured at the device. The device, wherein the series of images includes one or both of two-dimensional image information and three-dimensional image information. The registration program code is further configured to generate a volume map of the three-dimensional volume proximate the device using the series of images, the infrared sensor, and the dot projector, the volume map including pixel data for a plurality of pixel locations within the three-dimensional volume proximate the device. The device further includes a feature extraction machine learning model, trained to locate a card within the three-dimensional volume proximate the device and predict a projected position using past attempts to locate the card. The past attempts are user-specific past attempts. The one or more prompts include at least one of a visible prompt, an audible prompt, or a combination of a visual and audible prompt. Implementations of the described techniques may include hardware, a method or process, or computer software on a computer-accessible medium.
[0010] According to one general aspect, a method for guiding a card to a target location relative to a device includes the device detecting a request to perform a transaction; measuring the proximity of the card to the device using a proximity sensor of the device; when the card is determined to be in proximity to the device, controlling at least one of a camera and an infrared depth sensor of the device to capture a series of images of a three-dimensional volume proximate to the device; processing the series of images to determine a position and trajectory of the card within the three-dimensional volume proximate to the device, the processing being performed by at least one of a machine learning model trained using past attempts to guide the card to the target location or a simultaneous localization and mapping (SLAM) process; and determining a position and trajectory of the card based on the position and trajectory of the card. the steps of predicting a projected position of the card relative to the device, identifying one or more variances between the projected position and the target position, including identifying at least one trajectory adjustment selected to reduce the one or more variances and identifying one or more prompts for achieving the trajectory adjustment, displaying the one or more prompts on a display of the device, repeating the steps of capturing image information, determining a position and trajectory of the card, predicting a projected position of the card, identifying the one or more variances, at least one trajectory adjustment, and the one or more prompts, and displaying the one or more prompts until the one or more variances are within a predetermined threshold, and triggering a reading of the card by a card reader of the device if the variance is less than the predetermined threshold. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the operations of the method. [Brief description of the drawings]
[0011] [Figure 1A]FIG. 2 is a diagram provided to explain the interaction between a contactless card and a contactless card reading device. [Figure 1B] FIG. 2 is a diagram provided to explain the interaction between a contactless card and a contactless card reading device. [Diagram 2] 1 is a diagram of an exemplary operating volume of a near field communication device. [Diagram 3] FIG. 1 is a diagram of a sensor bar of a mobile phone that may be configured to perform position alignment as disclosed herein. [Figure 4] FIG. 2 is a block diagram illustrating exemplary components of one embodiment of a device configured as disclosed herein. [Diagram 5] FIG. 5 is a flow diagram of example steps of a position alignment system and method that may be performed by the NFC transaction device of FIG. [Figure 6] FIG. 4 is a detailed flow diagram illustrating exemplary steps that may be performed to align the position of a contactless card relative to a device. [Figure 7] FIG. 1 is a flow diagram illustrating example steps that may be performed to train a machine learning model as disclosed herein. [Figure 8] FIG. 1 is a flow diagram illustrating example steps that may be performed in a simultaneous localization and mapping (SLAM) process that may be used as disclosed herein. [Figure 9] FIG. 1 is a flow diagram illustrating exemplary steps that may be performed to position a contactless card for NFC communications using a combination of a proximity sensor and an image capture device of a mobile phone device. [Figure 10] 1 illustrates an exemplary phone / card interaction and display during proximity detection. [Figure 11] 13 illustrates an exemplary phone / card interaction and display during position alignment. [Figure 12A]1 illustrates an exemplary mobile phone display that may be provided after successful alignment for NFC communications, including prompts to adjust the position of the contactless card to maximize received signal strength by the mobile device. [Figure 12B] 1 illustrates an exemplary mobile phone display that may be provided after successful alignment for NFC communications, including prompts to adjust the position of the contactless card to maximize received signal strength by the mobile device. [Figure 12C] 1 illustrates an exemplary mobile phone display that may be provided after successful alignment for NFC communications, including prompts to adjust the position of the contactless card to maximize received signal strength by the mobile device. [Figure 13A] 1 illustrates an exemplary phone / card interaction as disclosed herein. [Figure 13B] 1 illustrates an exemplary phone / card interaction as disclosed herein. [Figure 13C] 1 illustrates an exemplary phone / card interaction as disclosed herein. [Figure 14] FIG. 1 is a flow diagram of one embodiment of an exemplary process for controlling a card reader interface of a device using captured image data as disclosed herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] The position alignment system and method disclosed herein facilitate positioning of a contactless card relative to a device, for example, positioning the contactless card in proximity to a target location within a three-dimensional target volume. In one embodiment, the position alignment system detects the approach of the contactless card using a proximity sensor of the device. Upon detection of the approach, a series of images may be captured by one or more imaging elements of the device, including, for example, a camera of the device and / or an infrared sensor / dot projector of the device. The series of images may be processed to determine the position and trajectory of the card relative to the device. The position and trajectory information may be processed by a predictive model to identify trajectory adjustments to reach the target location, and one or more prompts to achieve the trajectory adjustments. Such a configuration provides real-time positioning assistance feedback to the user using the existing imaging capabilities of the mobile device, thereby improving the speed and accuracy of contactless card alignment and maximizing received NFC signal strength.
[0013] According to one aspect, the trigger system may automatically initiate near field wireless communication between the device and the card to communicate cryptograms from the applet on the card to the device. The trigger system may operate in response to a darkness level or a change in darkness level of a series of images captured by the device. The trigger system may operate in response to a complexity level or a change in complexity level of a series of images. The trigger system may automatically trigger an operation controlled by the user interface of the device, such as, for example, automatically triggering a card read. The trigger system may be used alone or with the aid of one or more aspects of the position alignment system disclosed herein.
[0014] These and other features of the present invention are described with reference to the figures, wherein like reference numerals are used to refer to like elements throughout. With general reference to the notation and nomenclature used herein, the detailed descriptions which follow may be presented in terms of program processes executed on a computer or network of computers. These process descriptions and representations are used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art.
[0015] A process is herein and generally conceived to be a self-consistent sequence of operations leading to a desired result. A process may be implemented in hardware, software, or a combination thereof. These operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It is sometimes convenient, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
[0016] Further, the manipulations performed are often referred to in terms such as adding or comparing, which are commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary, or desirable in most cases, in any of the operations described herein that form part of one or more embodiments. Rather, the operations are machine operations. Useful machines for performing the operations of the various embodiments include general purpose digital computers or similar devices.
[0017] Various embodiments also relate to apparatus or systems for performing these operations. This apparatus may be specially constructed for the required purposes, or may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. The processes presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose machines may be used with programs written in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for these various machines will be apparent from the description given.
[0018] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding thereof. However, it may be apparent that novel embodiments may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form to facilitate the description. The intention is to cover all modifications, equivalents, and alternatives consistent with the claimed subject matter.
[0019] 1A and 1B respectively show a mobile phone device 100 and a contactless card 150. The contactless card 150 may comprise a payment card or transaction card, such as a credit card, a debit card, or a gift card, issued by a service provider. In some examples, the contactless card 150 may be unrelated to a transaction card and may comprise, but is not limited to, an identification card or a passport. In some examples, the transaction card may comprise a dual-interface contactless transaction card. The contactless card 150 may comprise a substrate including a single layer or one or more laminated layers composed of plastic, metal, and other materials.
[0020] In some examples, contactless card 150 may have physical characteristics that conform to the ID-1 format of the ISO / IEC 7810 standard, while contactless cards may otherwise conform to the ISO / IEC 14443 standard. However, it will be understood that contactless cards 150 according to the present disclosure may have different characteristics, and the present disclosure does not require that contactless cards be embodied in transaction cards.
[0021] In some embodiments, contactless cards may include embedded integrated circuit devices capable of storing, processing, and communicating data with other devices, such as terminals or mobile devices, via NFC. Common applications of contactless cards include transportation tickets, bank cards, passports, etc. Contactless card standards cover various types embodied in ISO / IEC 10536 (tightly coupled cards), ISO / IEC 14443 (proximity cards), and ISO / IEC 15693 (nearby cards), each of which is incorporated herein by reference. Such contactless cards are intended for operation at very close, close, and greater distances, respectively, to the associated coupling device.
[0022] Exemplary proximity contactless cards and communication protocols that may benefit from the positioning assistance systems and methods disclosed herein include those described in U.S. patent application Ser. No. 16 / 205,119, filed Nov. 29, 2018 by Osborn et al., entitled "System and Method for Cryptographic Authentication of Contactless Cards," which is incorporated herein by reference (hereinafter the '119 application).
[0023] In one embodiment, the contactless card includes an NFC interface consisting of hardware and / or software configured for bidirectional or unidirectional contactless short-range communication based, for example, on the Radio Frequency Identification (RFID) standard, the EMV standard, or the use of NDEF tags. The communication may use magnetic field induction to enable communication between electronic devices, including mobile wireless communication devices. Short-range high-frequency wireless communication technology allows data to be exchanged between devices over short distances, such as just a few centimeters.
[0024] NFC employs electromagnetic induction between two loop antennas when NFC-enabled devices exchange information. ISO / IEC 14443-2:2016 (incorporated herein by reference) specifies the characteristics of power and bidirectional communication between a proximity coupling device (PCD) and a proximity card or object (PICC). The PCD generates a high-frequency alternating magnetic field. This field inductively couples to the PICC to transfer power and is modulated for communication, operating at rates ranging from 106 to 424 kbit / s within the 13.56 MHz radio frequency ISM band over the ISO / IEC 18000-3 air interface. As specified by the ISO standard, PCD transmissions generate a uniform field strength ("H") that varies from an Hmin of at least 1.5 A / m (rms) to an Hmax of 7.5 A / m (rms) to support Class 1, Class 2, and / or Class 3 antenna designs for PICC devices.
[0025] In Figures 1A and 1B, the mobile phone 100 is a PCD device and the contactless card 150 is a PICC device. During a typical contactless card communication exchange, as shown in Figure 1A, the user may be prompted by the mobile phone 100 to engage the card with the mobile device, for example, by including a prompt 125 on the display 130 indicating the card placement location. For purposes of this application, "engaging" the card with the device includes, but is not limited to, bringing the card into the spatial operating volume of the NFC reading device (i.e., the mobile phone 100). The operating volume of the NFC reading device includes the spatial volume proximate to, adjacent to, and / or surrounding the NFC reading device where the uniform field strength of the signal transmitted between the mobile device 100 and the card 150 is sufficient to support data exchange. In other words, the user may engage the contactless card with the mobile device by tapping the card to the front of the device or holding the card within a distance from the front of the device that enables NFC communication. In Figure 1A, a prompt 125 is provided on the display 130 to achieve this result. Figure IB shows the card placed in the operating volume for a transaction. As shown in Figure IB, reminder prompts, such as prompt 135, may be displayed to the user during the transaction.
[0026] An exemplary exchange between phone 100 and card 150 may include activating card 150 with an RF operating field of phone 100, phone 100 sending a command to card 150, and card 150 sending a response to phone 100. Some transactions may use several such exchanges, and some transactions may be performed using a single read operation of the transaction card by a mobile device.
[0027] In one example, it can be understood that successful data transmission may best be achieved by maintaining magnetic field coupling to an extent at least equal to a minimum (1.5A / m(rms)) magnetic field strength throughout the entire transaction, and that magnetic field coupling is a function of signal strength and distance between card 150 and mobile phone 100. When testing an NFC-enabled device for compliance, for example, a series of test transmissions are made at test points within the operating volume defined in the NFC Forum's analog specifications to determine whether the device's power requirements (determining the operating volume), transmit requirements, receive requirements, and signal format (time / frequency / modulation characteristics) meet ISO standards.
[0028] 2 illustrates an exemplary operating volume 200 identified by the NFC Analog Forum for use in testing NFC-enabled devices. Operating volume 200 defines a three-dimensional volume positioned around a contactless card reader device (e.g., a mobile phone device) and may represent, for example, a preferred distance for near-field wireless communication exchange for NFC reading of a card by the device. To test an NFC device, received signals may be measured at various test points, such as point 210, to verify that the uniform field strength is within the minimum and maximum ranges for the NFC antenna class.
[0029] While the NFC standard specifies a particular operating volume and test methodology, it will be readily understood that the principles described herein are not limited to an operating volume having a particular dimension, and the method does not require determining the operating volume based on signal strength for a particular protocol. Design considerations, including but not limited to the power of the PCD device, the type of PICC device, the intended communication between the PCD and the PICC device, the duration of the communication between the PCD and the PICC device, the imaging capabilities of the PCD device, the expected operating environment of the device, the past behavior of the user of the device, and the like, may be used to determine the operating volume used herein. Thus, the following description refers to a "target volume," which may comprise the operating volume or a subset of the operating volume, in various embodiments.
[0030] 1A and 1B, the placement of the card 150 on the phone 100 may appear simple, but typically the only feedback provided to the user when the card alignment is not optimal is a failed transaction. A contactless card EMV transaction may comprise a series of data exchanges requiring up to two seconds of connection. During such a transaction, a user carrying a card, an NFC reading device, and an item may have difficulty finding and maintaining the target position of the card relative to the phone in order to maintain the desired distance for a successful NFC exchange.
[0031] To overcome these problems, according to one embodiment, the card alignment system and method activates an imaging component of a mobile device to capture a series of images. The series of images can be used to identify the location and trajectory of the card in real time and guide the card to a preferred distance and / or target location for an NFC exchange. The series of images can also be used to automatically trigger an NFC exchange or action, for example, by measuring the darkness and / or complexity levels, or patterns, of the series of captured images.
[0032] For example, using this information, the alignment method may determine a trajectory adjustment and identify a prompt associated with the trajectory adjustment to orient the card to the target volume. The trajectory adjustment prompt may be presented to the user using the audio and / or display components of the phone to guide the card to a target location within the target volume and / or initiate an NFC read. In various embodiments, the "target location" (or "target placement") may be defined with various degrees of granularity. For example, the target location may comprise the entire target volume or a subset of the target volume. Alternatively, the target location may be associated with a particular location of the contactless card within the target volume and / or a space surrounding and including the particular location.
[0033] 3 is a front-facing top portion 300 of one embodiment of a mobile phone that may be configured to support the alignment systems and methods disclosed herein. While the phone is shown to include a sensor panel 320 disposed along the top edge of the portion 300, it is understood that many devices may include fewer or more sensors that may be disposed differently on their devices, and the invention is not limited to any particular type, number, arrangement, location, or design of sensors. For example, most phones have front-facing and rear-facing cameras and / or other sensors, any of which may be used for the purposes described herein for position alignment guidance.
[0034] The sensor panel 320 is shown to include an infrared camera 302 , a flood illuminator 304 , a proximity sensor 306 , an ambient light sensor 308 , a speaker 310 , a microphone 312 , a front camera 314 , and a dot projector 316 .
[0035] The infrared camera 302 may be used together with a dot projector 316 for depth imaging. The infrared emitters of the dot projector 316 may project up to 30,000 dots in a known pattern onto an object, such as a user's face. The dots are photographed by a dedicated infrared camera 302 for depth analysis. The flood illuminator 304 is a light source. The proximity sensor 306 is a sensor that can detect the presence of a nearby object without physical contact.
[0036] Proximity sensors are commonly used in mobile devices and operate to lock UI inputs, for example to detect (and skip) accidental taps on a touch screen when holding a cell phone to an ear. An exemplary proximity sensor operates by emitting an electromagnetic field or beam of electromagnetic radiation (e.g., infrared) at a target and measuring the reflected signal received from the target. The design of the proximity sensor may vary depending on the configuration of the target. Capacitive proximity sensors or photoelectric sensors may be used to detect plastic targets, and inductive proximity sensors may be used to detect metal targets. It is understood that other methods of determining proximity are within the scope of this disclosure and that the disclosure is not limited to proximity sensors that operate by emitting an electromagnetic field.
[0037] The top portion of the phone 300 is also shown to include an ambient light sensor 308 that is used, for example, to control the brightness of the phone's display. A speaker 310 and microphone 312 enable basic phone functions. A front camera 314 may be used for two-dimensional and / or three-dimensional image capture, as described in more detail below.
[0038] 4 is a block diagram of representative components of a mobile phone or other NFC-enabled device incorporating elements to facilitate card position alignment as disclosed herein. The components include interface logic 440, one or more processors 410, memory 430, display control 435, network interface logic 440, and sensor control 450 coupled via a system bus 420.
[0039] Each component performs a particular function using hardware, software, or a combination thereof. The processor 410 may comprise various hardware elements, software elements, or a combination of both. Examples of hardware elements may include devices, logic devices, components, processors, microprocessors, circuits, processor circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, etc.), integrated circuits, application specific integrated circuits (ASICs), programmable logic devices (PLDs), digital signal processors (DSPs), field programmable gate arrays (FPGAs), application specific standard products (ASSPs), system on a chip (SOCs), complex programmable logic devices (CPLDs), memory units, logic gates, registers, semiconductor devices, chips, microchips, chipsets, etc. Examples of software elements may include software components, programs, applications, computer programs, application programs, system programs, software development programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, processes, software interfaces, application program interfaces (APIs), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. The decision whether an embodiment is implemented using hardware and / or software elements may vary as necessary for a given embodiment depending on any number of factors, such as desired computation speeds, power levels, thermal tolerances, processing cycle budgets, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints.
[0040] Image processor 415 may be any processor or may be a specialized digital signal processor (DSP) used for image processing of data received from camera 452, infrared sensor controller 455, proximity sensor controller 457, and dot projector controller 459. Image processor 415 may also employ parallel computing using SIMD (single instruction multiple data) or MIMD (multiple instruction multiple data) techniques to improve speed and efficiency. In some embodiments, image processor may comprise a system on a chip with a multi-core processor architecture enabling high speed real-time image processing capabilities.
[0041] The memory 430 may comprise a computer-readable storage medium for storing program code (such as alignment unit program code 432 and payment processing program code 433) and data 434. The memory 430 may also store user interface program code 436. The user interface program code 436 may be configured to interpret user input received at user interface elements, including physical elements such as a keyboard and a touch screen 460. The user interface program code 436 may also interpret user input received from graphical user interface elements, such as buttons, menus, icons, tabs, windows, widgets, etc., that may be displayed on a user display under the control of a display control 435. According to one embodiment, and as described in more detail below, the memory 430 may also store trigger program code 431. The trigger program code 431 may be used to automatically trigger NFC communication between the device and a card, for example, in response to a determined darkness level and / or complexity level of a series of images captured by the camera 452 or other sensor device. In some embodiments, an automatically triggered operation may be an operation that is typically performed in response to a user input, e.g., automatically triggering a read operation that is typically initiated by activation of a user interface element, such as a read button provided on a graphical user interface. Automatic triggering reduces delays and inaccuracies associated with using user interface elements to control NFC communications.
[0042] Examples of computer-readable storage media may include any tangible medium capable of storing electronic data, including volatile or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writable memory, etc. Program code may include executable computer program instructions implemented using any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, object-oriented code, visual code, etc. Embodiments may also be implemented at least in part as instructions contained in or on a non-transitory computer-readable medium, which may be read and executed by one or more processors to enable performance of the operations described herein.
[0043] The alignment unit program code 432 comprises program code as disclosed herein for alignment assistance for contactless card / telephone communication. The alignment unit program code 432 may be used by any service provided by a telephone that uses contactless card exchange for authentication or other purposes. For example, a service such as a payment processing service embodied in the payment processing program code 433 may use contactless card exchange for authentication during the initial stages of a financial transaction.
[0044] The system bus 420 provides an interface for system components including, but not limited to, the memory 430 and the processor 410. The system bus 420 can be any of several types of bus structures that may further interconnect a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures.
[0045] The network interface logic includes a transmitter, a receiver, and a controller configured to support various known protocols associated with various forms of network communication. Exemplary network interfaces that may be included in a mobile phone implementing the methods disclosed herein include, but are not limited to, a WIFI interface 442, an NFC interface 444, a Bluetooth interface 446, and a cellular interface 448.
[0046] Sensor control 450 comprises a subset of sensors that can support the position alignment methods disclosed herein, including camera 452 (which may include camera technology for capturing two-dimensional and three-dimensional light-based or infrared images), infrared sensor 454 and associated infrared sensor controller 455, proximity sensor 456 and associated proximity sensor controller 457, and dot projector 458 and associated dot projector controller 459.
[0047] 5, a flow diagram of an exemplary process 500 for positioning a contactless card using image information acquired in real time from a sensor of an NFC reading device is shown. The process includes detecting the proximity of a contactless card at step 510, and upon detection, triggering image capture at step 515 using the imaging capabilities of the device, and processing the captured sequence of images at step 520. The processing of the images may be performed at least in part by the alignment unit program code and may include locating the contactless card within a target volume proximate to the device and determining a trajectory of the card at step 525. The processing of the images may also include predicting a trajectory adjustment to align the card to a target location within the target volume, identifying a prompt for achieving the trajectory adjustment, and displaying the prompt on the device at step 535. The prompt may include one or more instructions (in text or symbolic form), an image including one or more captured images, a color, a color pattern, a sound, and other mechanisms.
[0048] The process of capturing an image at 515 and processing the image at 520 continues until the contactless card is determined to be in its target position (and / or preferred distance from the device) at step 540. The alignment process may then initiate or cause a data exchange transaction / communication between the card and the device at step 545. For example, the alignment process may perform one or more of providing a display prompt to the user to cause the user to initiate the transaction. Alternatively, the alignment process may automatically initiate the data exchange process when alignment is detected at step 540. In embodiments using NFC interface technology, the alignment process may turn on the NFC interface to enable NFC communication, and at step 550, NFC communication may be performed.
[0049] 6 is a flow diagram of a first exemplary embodiment of a position alignment process 600 that uses a machine learning predictive model to process a captured image to extract features, place a card within a three-dimensional target volume, and determine a card trajectory. The system may also use the machine learning predictive model to identify trajectory adjustments to move the card to a target position within the target volume and to identify prompts to achieve the trajectory adjustments.
[0050] In step 605, the phone monitors the reflected energy emitted by the device and reflected back to the device, including detecting that the card is in proximity to the device when the reflected energy exceeds a threshold by a proximity sensor. In some phones, the proximity sensor may be implemented using a light sensor chip. Common light sensor chips include ISL29003 / 23 and GP2A from Intersil and Sharp, respectively. Both of these sensor chips are primarily active light sensors and provide ambient light intensity in LUX units. Such sensors are implemented as Boolean sensors. Boolean sensors return two values: "NEAR" and "FAR". The thresholding is based on the LUX value; that is, the LUX value of the light sensor is compared to a threshold. A LUX value above the threshold means the proximity sensor returns "FAR". Anything less than the threshold will cause the sensor to return "NEAR". The actual value of the threshold is custom defined depending on the sensor chip in use and its light response, the position and orientation of the chip on the smartphone body, the configuration and reflected response of the target contactless card, etc.
[0051] In step 610, in response to the card being in proximity to the device, the device initiates image capture. Image capture may include capturing a two-dimensional image using one or more cameras accessible on the device. The two-dimensional image may be captured by one or both of a visible light camera and an infrared camera. For example, some mobile devices may include a rear camera capable of taking high dynamic range (HDR) photos.
[0052] Certain mobile devices may include dual cameras that capture images along different imaging planes to create a depth of field effect. Some may also include a "selfie" infrared camera, or may include infrared emitter technology, for example, to project a matrix of infrared dots of known patterns onto a target. These dots may then be photographed by the infrared camera and analyzed.
[0053] The captured images from any one or more of the above sources, and / or a subset or various combinations of the captured images, may then be forwarded to steps 615 and 620 for image processing and localization of the contactless card, including determining the position and trajectory of the contactless card.
[0054] According to one aspect, the image processing includes constructing a volumetric map of a target volume proximate to the phone, including an area proximate to and / or including at least a portion of the operating volume of the phone's NFC interface, the volumetric map being represented as a three-dimensional array of voxels that store values related to the color and / or intensity of the voxels in the visible or infrared spectrum. In some embodiments, the voxels are discrete elements in an array of volumetric elements that make up a conceptual three-dimensional space, e.g., each of an array of discrete elements into which a representation of a three-dimensional object is divided.
[0055] According to one aspect, position registration involves processing the voxels of the target volume to extract features of the contactless card, determining the position of the card within the target volume, and comparing the voxels of the target volume constructed at different times to track the movement of the card over time and determine the trajectory of the card. Various processes may be used to track the position and trajectory, including the use of machine learning models and the use of SLAM techniques, each of which is described in more detail below.
[0056] Machine learning is a branch of artificial intelligence related to mathematical models that can learn, classify, and make predictions from data. Such mathematical models, sometimes referred to as machine learning models, may classify input data into two or more classes, cluster input data among two or more groups, predict outcomes based on the input data, identify patterns or trends in the input data, identify the distribution of input data in space, or any combination of these. Examples of machine learning models include (i) neural networks, (ii) decision trees, such as classification trees and regression trees, (iii) classifiers, such as naive bias classifiers, logistic regression classifiers, ridge regression classifiers, random forest classifiers, least absolute shrinkage and selector (LASSO) classifiers, and support vector machines, (iv) clusters, such as k-means clusters, mean shift clusters, and spectral clusters, (v) factorizers, such as factorizers, principal component analyzers, and kernel principal component analyzers, and (vi) ensembles or other combinations of machine learning models. In some examples, the neural network may include a deep neural network, a feedforward neural network, a recurrent neural network, a convolutional neural network, a radial basis function (RBF) neural network, an echo state neural network, a long short-term memory neural network, a bi-directional recurrent neural network, a gated neural network, a hierarchical recurrent neural network, a probabilistic neural network, a modular neural network, a spiking neural network, a dynamic neural network, a cascaded neural network, a neuro-fuzzy neural network, or any combination thereof.
[0057] Various machine learning models can be used interchangeably to perform tasks. Examples of tasks that may be performed, at least in part, using machine learning models include various types of scoring, bioinformatics, chemoinformatics, software engineering, fraud detection, customer segmentation, generating online recommendations, adaptive websites, determining customer lifetime value, search engines, placing advertisements in real-time or near real-time, classifying DNA sequences, affective computing, performing natural language processing and understanding, object recognition and computer vision, robotics, playing games, optimization and metaheuristics, detecting network intrusions, medical diagnosis and monitoring, or predicting when an asset, such as a machine, will require maintenance.
[0058] Machine learning models may be built through an at least partially automated (e.g., little or no human involvement) process called training. During training, input data may be repeatedly provided to the machine learning model to enable the machine learning model to identify patterns associated with the input data or to identify relationships between the input data and the output data. Training may transform the machine learning model from an untrained state to a trained state. The input data may be split into one or more training sets and one or more validation sets, and the training process may be repeated multiple times. The splitting may follow a k-fold cross-validation rule, a leave-one-out rule, a leave-p-out rule, or a holdout rule.
[0059] According to one embodiment, a machine learning model may be trained to identify characteristics of a contactless card as it approaches an NFC reading device using image information captured by one or more imaging elements of the device, and the characteristic information may be used to identify the position and trajectory of the card within a target volume.
[0060] A method 700 for training and using a machine learning model to identify location and trajectory is now described below with reference to the flowchart of FIG. 7. At block 704, training data may be received. In some examples, the training data may be received from a remote or local database, constructed from various subsets of data, or input by a user. The training data may be used in raw form to train the machine learning model, or may be pre-processed into other forms that may be used to train the machine learning model. For example, the raw form of the training data may be smoothed, truncated, aggregated, clustered, or otherwise manipulated into other forms and used to train the machine learning model. In an embodiment, the training data may include communication exchange information, historical communication exchange information, and / or information related to communication exchanges. The communication exchange information may be for the general public and / or specific to a user and user account within a database system of a financial institution. For example, in the case of position alignment, the training data may include processing image data comprising a contactless card from different orientations and different viewpoints to learn voxel values of features of the card at those orientations and viewpoints. For trajectory adjustments and rapid identification, such training data may include data related to the impact of trajectory adjustments on the card when in different locations. The machine learning model may be trained to identify prompts by measuring the effectiveness of the prompts in achieving trajectory adjustments, which in one embodiment may be measured by the time to card alignment.
[0061] At block 706, the machine learning model may be trained using the training data. The machine learning model may be trained in a supervised, unsupervised, or semi-supervised manner. In supervised training, each input of the training data may be correlated to a desired output. The required output may be a scalar, vector, or a different type of data structure such as text or an image. This may allow the machine learning model to learn a mapping between the inputs and the desired output. In unsupervised training, the training data includes the inputs but not the desired outputs, so the machine learning model must independently find the structure in the inputs. In semi-supervised training, only some inputs of the training data are correlated to the desired output.
[0062] At block 708, the machine learning model may be evaluated. For example, an evaluation dataset may be obtained, for example, via user input or from a database. The evaluation dataset may include inputs that correlate to desired outputs. The inputs may be provided to the machine learning model, and the outputs from the machine learning model may be compared to the desired outputs. If the outputs from the machine learning model correspond closely to the desired outputs, the accuracy of the machine learning model may be high. For example, if 90% or more of the outputs from the machine learning model are the same as the desired outputs of the evaluation dataset, such as current communication exchange information, the accuracy of the machine learning model may be high. Otherwise, the accuracy of the machine learning model may be low. The 90% figure is just one example. A realistic and desirable accuracy percentage may depend on the problem and the data.
[0063] In some examples, if the machine learning model has an insufficient degree of accuracy for the particular task, the process may return to block 706, where the machine learning model may be further trained using additional training data or modified to improve accuracy. If the machine learning model has sufficient accuracy for the particular task, the process may continue with block 710.
[0064] At this point, the machine learning model has been trained using the training dataset and processes the captured images to determine a position and trajectory, predicts a projected position of the card relative to the device based on the current position and trajectory, and identifies at least one trajectory adjustment and one or more prompts for achieving the trajectory adjustment.
[0065] At block 710, new data is received. For example, new data may be received during position alignment for each contactless card communication exchange. At block 712, the trained machine learning model may be used to analyze the new data and provide results. For example, the new data may be provided as input to the trained machine learning model. As new data is received, the results of the feature extraction prediction, location and trajectory prediction may be continually adjusted to minimize the duration of the alignment process.
[0066] At block 714, the results may be post-processed. For example, the results may be added, multiplied, or otherwise combined with other data as part of a job. As another example, the results may be converted from a first format, such as a time series format, to another format, such as a count series format. Any number and combination of operations may be performed on the results during post-processing.
[0067] Simultaneous localization and mapping (SLAM) has become well defined in the robotics community for on-the-fly reconstruction of 3D image space. For example, "MonoSLAM: Real-Time Single Camera SLAM" by Davidson et al., IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 29, No. 6, 2007 (incorporated herein by reference) focuses on localization and presents a real-time algorithm that can recover the 3D trajectory of a monocular camera and rapidly navigate a previously unknown scene. According to one aspect, it is understood that the techniques described by Davidson for camera tracking can be leveraged for use in the position alignment systems and methods disclosed herein. As described above, rather than tracking the advancement of the card to the phone, SLAM techniques can be used to track the advancement of the phone's camera to detected features of the card to achieve a similar result of positioning the card relative to the phone.
[0068] Referring now to FIG. 8, a flow diagram illustrating exemplary steps of a Mono SLAM method 800 for contactless card localization that may be used to perform the functions of steps 615 and 620 of FIG. 6 will now be described. The technique disclosed by Davidson builds a persistent map of scene landmarks that are referenced indefinitely in a state-based framework. Forming a persistent map may be advantageous when camera motion is limited, and thus the SLAM technique may be beneficial for a position alignment process focused on a specific object, such as a contactless card. The use of a persistent map limits the processing requirements of the algorithm and continuous real-time operation may be maintained.
[0069] SLAM allows us to probabilistically estimate the state of a moving camera and its map on the fly, and use the on-the-fly estimates to constrain predictive search and guide efficient processing.
[0070] At step 810, an initial probabilistic feature-based map may be generated that represents a snapshot of the camera state and current estimates of all features of interest at any given time, as well as the uncertainty of these estimates. The map is initialized at system startup and persists until operation is terminated, but may continually and dynamically evolve as it is updated over time with new image information. Estimates of the probabilistic state of the camera and features are updated during observation of relative camera / card motion and features. As new features are observed, the map may be expanded with the new state and may also remove features, if necessary. However, it will be appreciated that once contactless card features are identified with a high degree of probabilistic certainty, further image processing may limit subsequent searches to the identified features.
[0071] The probabilistic feature of the map lies in the propagation over time of a first-order uncertainty distribution that represents not only the average "best" estimate of the camera / card state but also the size of the possible deviations from these values. Mathematically, the map can be represented by a state vector and a covariance matrix P. The state vector x^ consists of the stacked state estimates of the cameras and features, and P can be a square matrix of equal dimensions that can be divided into submatrix elements, as shown in equation I below.
[0072] Formula I
number
[0073] The resulting probability distribution of all map parameters can be approximated as a single multivariate Gaussian distribution in a space of dimension equal to the total size of the state vectors. Explicitly, the camera state vector xv is a function of the metric 3D position vector r with respect to a fixed world frame W and the “robot” frame R carried by the camera (13 parameters), as shown in Equation II below: W , orientation quaternion q RW , the velocity vector v W , angular velocity vector ω R Equipped with.
[0074] Formula II
number
[0075] Here, the feature state yi is a 3D position vector of the point feature's location. According to one aspect, the point features may include contactless card features. The role of the map 825 is to enable real-time localization that captures a sparse set of high quality landmarks. Specifically, each landmark may be considered to correspond to a well-localized point feature in 3D space. The camera may be modeled as a rigid body that requires translation and rotation parameters to describe its position. It also maintains an estimate of linear and angular velocity. According to one aspect, the camera modeling herein may be translated relative to the extracted feature (i.e., the contactless card) to define the translation and rotation parameters of the card movement to maintain the linear and angular card velocity relative to the phone.
[0076] In one embodiment, Davison uses relatively large (11x11 pixel) image patches to serve as long-term landmark features in step 830. Camera localization information can be used to improve matching of camera displacement and rotation. Salient image regions can be detected automatically (i.e., based on card attributes) originally, for example, using techniques described in J. Shi and C. Tomasi, "Good Features to Track," Proc. IEEE Conference on Computer Vision and Pattern Recognition, pp. 593-600, 1994 (incorporated herein by reference), which provides repeatable visual landmark detection. Once the 3D positions, including the depth of the features, are fully initialized, each feature can be stored as an oriented planar texture. When a feature is measured from a new (relative) camera position, the patch can be projected from 3D onto the image plane to create a template for matching against the actual image. The stored feature templates can be stored over time, and the feature's position can be remeasured over an arbitrarily long period of time to determine the feature's trajectory.
[0077] According to one embodiment, a constant velocity, constant angular velocity model may be used, which assumes that the camera always moves at a constant velocity with an undetermined acceleration occurring within a Gaussian profile. This model provides a degree of smoothness to the relative card / camera motion, yet provides robustness to a system that uses sparse visual measurements. In one embodiment, the predicted location of the image feature (i.e., the predicted card location) may be determined prior to searching for the feature in the SLAM map.
[0078] One aspect of Davison's approach involves predicting feature locations at 850 and restricting image review to the predicted feature locations. Feature matching between the image frames themselves may be performed using a simple normalized cross-correlation search of the template patch projected onto the current camera estimate. The template may be scanned over the image, starting from the predicted location, testing for matches until a peak is found. The assumption of perceptual confidence limits focuses the image processing effort, allowing image processing to be performed in real time at high frame rates by using a sparse map to restrict the search to a small search region of the input image.
[0079] In one embodiment, the position prediction may be performed as follows: First, an estimate of the camera position x v and the feature position y i Using ,the position of the point feature relative to the camera is predicted to be as shown in Equation III below.
[0080] Formula III
number
[0081] Using a perspective camera, the location (u,v) where a feature is expected to be found in an image is found using the standard pinhole model shown in Equation IV below.
number
[0082] Here, fk u , fk v ,u0,and v0 comprise the standard camera calibration parameters.,This method allows us to actively control the gaze direction,towards informative measurements with innovative covariances,,and limits the maximum number of feature searches per frame to,the 10 or 12 that are most informative.
[0083] Thus, according to one aspect, it is understood that the performance advantages associated with SLAM, including the ability to perform real-time localization of contactless cards while limiting external image processing, are advantageous for the position alignment system disclosed herein.
[0084] Returning to FIG. 6, while the location and trajectory information may be obtained either via machine learning models, SLAM techniques or other methods, according to one aspect, the location alignment system and method includes a process 625 for predicting trajectory adjustments and associated prompts to guide the card to a target location within the target volume. According to one aspect, the prediction is performed using a predictive model, such as a machine learning model trained and maintained using the machine learning principles described above, to identify trajectory adjustments and prompts based on the effectiveness of previous trajectory adjustments and prompts, and thereby customized by the user's actions. The trajectory adjustments may be determined, for example, by identifying variance between the target location and the predicted location and selecting an adjustment to the current trajectory to minimize the variance. Effectiveness may be measured in various ways, including but not limited to the duration of the location alignment process. For example, in some embodiments, the artificial intelligence, neural network, or other aspects of the machine learning model may self-select the prompts that are most effective in assisting the user in achieving the end result of the card alignment.
[0085] In some embodiments, it is envisioned that a trajectory adjustment may be linked to a set of one or more prompts configured to achieve the associated trajectory adjustment. The set of one or more prompts may include audible and visual prompts, and may be in the form of one or more of instructions (textual or symbolic form) displayed by the device, images including one or more of the captured images, colors, color patterns, sounds, and other mechanisms. In some embodiments, an effectiveness value may be stored for each prompt, where the effectiveness value is related to past responses and effects of the display of such prompts to achieve the trajectory adjustment. The effectiveness value may be used by a machine learning model to select one or more of the trajectory adjustments and / or prompts to guide the card to the target location.
[0086] At step 630, a prompt may be displayed on the phone's display. At step 635, the process continues capturing image information, determining position and trajectory, identifying trajectory adjustments, and displaying prompts until the variance between the target position and the predicted position is determined to be within a predetermined threshold at step 635. The predetermined threshold is a matter of design choice and may vary depending on the target volume or volumes, NFC antennas, etc.
[0087] If the variance is determined to be within the threshold in step 635, the card may be considered aligned in step 630 and the NFC mobile device may be triggered in step 640 to initiate a communication exchange with the card.
[0088] According to one aspect, the data exchange may be a cryptogram data exchange as described in the '119 application. During the cryptogram exchange, after communication is established between the phone and the contactless card, the contactless card may generate a message authentication code (MAC) cryptogram according to an NFC data exchange format. In particular, this may occur upon a read, such as an NFC read of a Near Field Enabling and Preventive Deflection (NDEF) tag, which may be created according to the NFC data exchange format. For example, an application being executed by the device 100 (FIG. 1A) may send a message, such as an applet selection message, to the contactless card 150 (FIG. 1A) with an applet ID for an NDEF generation applet, where the applet may be an applet stored in the memory of the contactless card and operable when executed by processing components of the contactless card to generate an NDEF tag. Once the selection is confirmed, a series of select file messages followed by read file messages may be sent. For example, the sequence may include "select function file", "read function file", and "select NDEF file". At this point, a counter value maintained by the contactless card may be updated or incremented, followed by a "Read NDEF File".
[0089] At this point, a message may be generated, which may include a header and a shared secret. A session key may then be generated. A MAC ciphertext may be created from the message, which may include the header and the shared secret. The MAC ciphertext may then be concatenated with one or more blocks of random data, and the MAC ciphertext and random number (RND) may be encrypted with the session key. The ciphertext and header may then be concatenated, encoded as ASCII hex, and returned in an NDEF message format (in response to a "read NDEF file" message).
[0090] In some examples, the MAC cryptogram may be transmitted as an NDEF tag, and in other examples, the MAC cryptogram may be included in a uniform resource indicator (eg, as a formatted string).
[0091] In some examples, the application may be configured to send a request to the contactless card, the request comprising instructions to generate a MAC cryptogram, and the contactless card sends the MAC cryptogram to the application.
[0092] In some examples, the transmission of the MAC cryptogram occurs over NFC, although this disclosure is not so limited, while in other examples, the communication may occur over Bluetooth, Wi-Fi, or other wireless data communication means.
[0093] In some examples, the MAC ciphertext may function as a digital signature for verification purposes. For example, in one embodiment, the MAC ciphertext may be generated by a device configured to perform key diversification using a counter value. In such a system, the sending device and the receiving device may be provisioned with the same master symmetric key. In some examples, the symmetric key may comprise a shared secret symmetric key that may be kept secret from all parties other than the sending device and the receiving device involved in the secure data exchange. Furthermore, the same master symmetric key may be provided to both the sending device and the receiving device, and further, it is understood that a portion of the data exchanged between the sending device and the receiving device comprises at least a portion of the data that may be referred to as a counter value. The counter value may comprise a number that changes each time data is exchanged between the sending device and the receiving device. Furthermore, the sending device and the receiving device may use a suitable symmetric encryption algorithm, which may include at least one of a symmetric encryption algorithm, an HMAC algorithm, and a CMAC algorithm. In some examples, the symmetric algorithm used to process the diversification value may comprise any symmetric encryption algorithm used as needed to generate a diversified symmetric key of a desired length. Non-limiting examples of symmetric algorithms may include symmetric encryption algorithms such as 3DES or AES128, symmetric HMAC algorithms such as HMAC-SHA-256, and symmetric CMAC algorithms such as AES-CMAC.
[0094] In some embodiments, the sending device may employ a selected encryption algorithm and use a master symmetric key to process the counter value. For example, the sender may select a symmetric encryption algorithm and use a counter that is updated for each conversation between the sending device and the receiving device. The sending device may then use the master symmetric key to encrypt the counter value with the selected symmetric encryption algorithm to create a diversified symmetric key. The diversified symmetric key may be used to process the sensitive data before sending the result to the receiving device. The sending device may then send the protected encrypted data, along with the counter value, to the receiving device for processing.
[0095] The receiving device may first obtain the counter value and then perform the same symmetric encryption using the counter value as input to the encryption and the master symmetric key as the key for the encryption. The output of the encryption may be the same diversified symmetric key value created by the sender. The receiving device may then obtain the protected encrypted data and use a symmetric decryption algorithm with the diversified symmetric key to decrypt the protected encrypted data to reveal the original secret data. Then, when the secret data needs to be transmitted from the sender to the recipient via the respective sending and receiving devices, a different counter value may be selected to generate a different diversified symmetric key. By processing the counter value using the same symmetric encryption algorithm as the master symmetric key, both the sending and receiving devices may independently generate the same diversified symmetric key. This diversified symmetric key, rather than the master symmetric key, may be used to protect the secret data.
[0096] In some examples, the key diversification value may comprise a counter value. Other non-limiting examples of key diversification values include a random nonce generated each time a new diversified key is needed, a random nonce transmitted from the transmitting device to the receiving device, the complete value of the counter value transmitted from the transmitting device and the receiving device, a portion of the counter value transmitted from the transmitting device and the receiving device, a counter maintained independently by the transmitting device and the receiving device but not transmitted between the two devices, a one-time passcode exchanged between the transmitting device and the receiving device, a cryptographic hash of the secret data. In some examples, one or more portions of the key diversification value may be used by the parties to create multiple diversified keys. For example, a counter may be used as the key diversification value. Additionally, a combination of one or more of the above example key diversification values may be used.
[0097] 9 is a flow diagram 900 illustrating use of the alignment system disclosed herein to align a contactless card with an NFC mobile device equipped with a proximity sensor and imaging hardware and software. At step 905, the alignment logic detects a request by the device to perform a communication exchange. At step 910, the alignment logic includes using the device's proximity sensor to measure reflected energy emitted from and reflected back to the device, and determining when the reflected energy exceeds a predetermined threshold indicative of the proximity of the card to the device.
[0098] FIG. 10 shows a contactless card 1030 approaching the operating volume 1020 of a proximity sensor 1015 of a phone 1010. As the phone enters the operating volume 1020, in one embodiment, an infrared beam emitted by the proximity sensor 1015 reflects back to the proximity sensor 1015 as signal R 1035. As the card approaches the operating volume of the phone, the reflected signal strength increases until a trigger threshold is reached, at which point the proximity sensor indicates that the card is "NEAR." In some embodiments, during the proximity search, the phone's display 1050 may prompt the user by providing a notification that it is searching for the card, such as by providing a visual or audio indication.
[0099] In step 915 (FIG. 9), when the proximity sensor is triggered, the position alignment logic controls at least one of the device's camera and infrared depth sensor to capture a series of images of a three-dimensional volume proximate to the device when the reflected energy exceeds a predetermined threshold. It can be appreciated that depending on the location of the NFC reader and the location of the camera on the phone, a camera can be selected for image capture with an operating volume that overlaps at least a portion of the operating volume of the phone's NFC interface.
[0100] At step 920, the position alignment logic processes the captured images to determine the position and trajectory of the card within a three-dimensional volume proximate to the device. As previously described, the processing may be performed by one or both of a machine learning model trained using past attempts to guide the card to the goal position and a simultaneous localization and mapping (SLAM) process. At step 925, the position alignment process predicts a projected position of the card relative to the device based on the position and trajectory of the card, at step 930, identifies one or more variances between the projected position and the goal position, identifies at least one trajectory adjustment selected to reduce the one or more variances, and identifies one or more prompts for achieving the trajectory adjustment, and at step 935, the position alignment process displays the one or more prompts on the display of the device.
[0101] FIG. 11 illustrates an exemplary display 1105 of a phone 1110 capturing image information related to a card 1150 within a target volume 1120. The display 1105 may include several prompts, such as a location prompt 1115 associated with the target location, an image prompt 1130, and an arrow prompt 1140 that may be displayed to the user to assist in guiding the card 1150 to the target location. The image prompt 1130 may include, for example, a portion of an image captured by the imaging component of the phone 1110 during position alignment and may be useful to the user to assist the user in understanding their movement relative to the target. The arrow 1140 may provide directional assistance, for example, to move the user to adjust the card upward for proper alignment, as shown in FIG. 11. Other types of prompts may also be used, including, but not limited to, textual instructions, symbols and / or pictograms, audio instructions, color-based guidance (i.e., displaying a first color (e.g., red) to the user when the card is relatively far from the target and transitioning the screen to green when the card is aligned).
[0102] At step 940 (FIG. 9), the position alignment process may repeat the steps of capturing image information, determining the position and trajectory of the card, predicting the projected position of the card, identifying one or more variances, at least one trajectory adjustment, and one or more prompts, and displaying the one or more prompts until the one or more variances are within a predetermined threshold. At step 945, the position alignment process may trigger a reading of the card by the card reader of the device when the variance is less than the predetermined threshold. In some embodiments, the position alignment process may continue to operate during data exchange between the card and the mobile device, for example to provide prompts to adjust the position of the card if the card moves during reading.
[0103] 12A, 12B, and 12C are examples of display prompts that may be provided by the position alignment process after alignment is detected. In FIG. 12A, a prompt 1220 may be provided to inform the user when the card is aligned to the target position. In some embodiments, the interface may provide a link, such as link 1225, to allow the user to initiate the card being read by the phone. In other embodiments, alignment may automatically trigger the card to be read.
[0104] In Fig. 12B, prompts may be provided to the user during the card reading process, such as a countdown prompt 1230. Additionally, additional prompts, such as arrows 1240, may be provided to allow the user to correct for any movement that may have occurred to the card during reading, to ensure that the connection is not lost and to improve the success rate of the NFC communication. Following the read, as shown in Fig. 12C, the display provides the user with a notification 1250 regarding the success or failure of the communication exchange.
[0105] Thus, a position alignment system and method have been shown and described that facilitates aligning a contactless card to a preferred location within a target volume relative to a contactless card reading device. The alignment logic uses information captured from available imaging devices, such as infrared proximity detectors, cameras, infrared sensors, dot projectors, etc., to guide the card to the target location. The captured image information may be processed to identify the card's location, trajectory, and predicted location using one or both of machine learning models and / or simultaneous localization and mapping logic. Trajectory adjustments and prompt identification may be intelligently controlled and customized using machine learning techniques to customize guidance based on user preferences and past behavior. As a result, the speed and accuracy of contactless card alignment is improved, and received NFC signal strength is maximized, thereby reducing missed transactions.
[0106] The above techniques have discussed various methods for guiding the placement of a contactless card to a desired position relative to a card reader interface of a device after the proximity of the card is first detected using a proximity sensor. However, it is understood that the principles disclosed herein may be extended to augment or completely replace the proximity sensor information using captured image data to detect the proximity of the card. The captured image information may be further processed to determine when the card is in a particular position relative to the card reader interface and automatically perform an operation associated with a user interface element, such as automatically triggering an NFC read operation or other function by the mobile device without waiting for user input. Such a configuration may automatically trigger a function and control an operation without requiring user input. For example, it may avoid the need for human interaction with a user interface element of the device.
[0107] According to one aspect, the image processing logic 415 (FIG. 4) may be extended to include program code for determining image parameters that may suggest that a card is in proximity to a card reader. For example, the image parameters may relate to proximity features of the image, i.e., features that indicate that an object may be in proximity to the camera. In some embodiments, the card reader may be located on the same surface as the camera of the device used to capture the image, and thus the image information may further indicate the proximity of the card to the card reader. In various embodiments, the card reader / camera may be located on the front or back of the device.
[0108] In some embodiments, the image parameters comprise one or more of a darkness level and / or a complexity level of the image. For example, referring briefly now to FIG. 13A and FIG. 13B, the device 1310 may be a device having a contactless card reading interface configured as described above to obtain a MAC cryptogram from the contactless card 1320, for example, when the card 1320 is brought into proximity with the device 1310. For example, the device may send an applet selection message using an applet ID of an NDEF generation applet. This applet may be an applet stored in the memory of the contactless card and operable to generate an NDEF tag when executed by a processing component of the contactless card. According to one aspect, a series of images may be captured using the device's camera and the darkness level and / or complexity level may be analyzed to determine when the card is at a preferred distance from the device to automatically trigger the transfer of an NFC read operation from the NDEF generation applet of the contactless card.
[0109] In Figures 13A and 13B, for illustrative purposes only, an image 1320 is shown on the display 1340 of the device 1310, although the captured image used as disclosed herein to determine card proximity does not need to be displayed on the device 1310.
[0110] According to one embodiment, when a device initiates an NFC communication (e.g., by a user selecting an NFC read operation (such as button 1225) on the device's user interface, or by the device receiving a request for the device to initiate an NFC communication with a card, e.g., from a third party (such as a merchant application or a mobile communication device), the device may capture a series of images of a spatial volume proximate to the device. The series of images may be processed to identify one or more image parameters of the series of images, including, but not limited to, a darkness level or complexity level of the images. The complexity level and / or darkness level may be used to trigger an NFC read. Alternatively, or in combination, the image processing may include identifying trends and / or patterns in the darkness level and / or complexity level of the series of images or a portion of the series of images that suggest an advancement of the card. Identification of trends and / or patterns in the series of images that indicate the card may be at a preferred distance to the device may be used to automatically trigger an NFC read.
[0111] For example, as shown in Figures 13A-13C, when the card is further away from the device, the captured image (represented here as image 1330A) may be relatively brighter than image 1330B captured at a relatively later time as the card 1320 moves closer to the device. As the card moves closer, as shown in Figure 13B, the captured image (not visible in Figure 13C) becomes darker, as shown in Figure 13C, until the card 1320 blocks the light from appearing in the image. This may be because as the card moves closer to the device, the card (or hand) may block ambient light from being received by the camera.
[0112] As previously mentioned, the presence of the card at a preferred distance from the device may be determined as a function of the darkness level, the trend of the darkness level, the complexity level, and / or the trend of the complexity level of the series of captured images. In particular, the presence of the card may be determined by processing pixel values of the series of images to identify a darkness level of each pixel processed. For example, assigning a grayscale value to the pixel. The darkness level of the image may be determined by averaging the darkness levels of the image pixels. In some embodiments, if the card is at a preferred distance from the device, the darkness level may be compared to a threshold value corresponding to a darkness level, for example, such a distance supports a successful NFC read operation. In some embodiments, the threshold value may be an absolute threshold. For example, in a system where "0" indicates white and "1" indicates dark, if the darkness level is 0.8 or greater, the card may be considered "present" and the card reader may be enabled. In other embodiments, the threshold value may be a relative threshold value that takes into account the ambient light of the environment in which the communication exchange takes place. In such an embodiment, the first image captured may provide a baseline darkness level and the threshold value may relate to an amount that exceeds the threshold value to trigger the NFC communication. For example, the threshold value may be a relative threshold value. For example, in a dark room with an initial darkness level of 0.8, it may be desirable to delay triggering an NFC communication until the darkness level is 0.95 or greater.
[0113] In addition to triggering NFC communications based on individually calculated darkness levels, the system further considers recognizing trends or patterns in the darkness levels of the images to trigger an NFC read. Recognizing trends may include, for example, determining an average value across a set of images and triggering a read when the average value across the set of images meets a threshold. For example, while individual images may exceed a threshold, the position of the card may not be stable enough to perform an NFC read, and thus it may be desirable to indicate that a predetermined number of consecutively captured images exceed a darkness threshold before triggering a read. Additionally or alternatively, continuously processed images may be monitored to identify spikes and / or plateaus, i.e., sudden shifts in the darkness level maintained between successive images that indicate activity at the card reader.
[0114] In some embodiments, the darkness level of the entire image may be determined by averaging at least a subset of the calculated pixel darkness values. In some embodiments, certain darkness values may be weighted to increase their relevance to the darkness level calculation. For example, portions of the image that are close to features known or recognized to be in proximity to the card reader may be weighted higher than portions that are farther from the card reader.
[0115] As described above, a complexity level may be calculated for each captured image, and the complexity level is generally related to the frequency distribution of pixel values in the captured image. In one embodiment, the complexity value may be determined for each pixel by comparing the pixel value of each pixel to the pixel values of one or more neighboring pixels. As shown in FIG. 13B, as the card approaches the device, the background image may be obscured by the card if the card is properly positioned. By default, as the card covers the image, the image becomes more uniform, with neighboring pixels typically comprising the same pixel value. In various embodiments, the complexity may be determined for each pixel in the image, or for a subset of pixels at previously identified locations in the image. The complexity of each pixel may be determined by examining neighboring pixel values. The complexity level of the entire image may be determined by averaging at least a subset of the calculated pixel complexity values. In some embodiments, certain complexity levels may be weighted to increase their relevance to the complexity calculation. For example, those parts of the image known to be in close proximity to the card reader or identified feature may be weighted higher than parts that are farther away from the card reader or identified feature.
[0116] In other embodiments, machine learning methods as disclosed herein may augment image processing, for example, by recognizing patterns of pixel darkness / pixel complexity values in successive images that indicate known card activity in proximity to a card reader. Such patterns may include, for example, pixel darkness / complexity levels that vary in a known manner (i.e., darkening from top to bottom or bottom to top). Patterns may also include image elements (stripes, icons, printing, etc.) that aid in card recognition and may be used as described above, particularly to provide prompts for proper placement of a recognized card. Over time, information related to successful and unsuccessful card reads may be used to determine appropriate image patterns that establish the presence of a card for a successful NFC card communication exchange.
[0117] 14 is a flow diagram of example steps that may be performed to trigger an NFC card read using one or both of the image attributes of darkness and / or complexity described above. At step 1410, near field communication may be initiated by the device. Initiation of near field communication may occur through selection of a user interface element on the device, such as the read button 1225 of FIG. 12A. Alternatively, or in combination, initiation of near field communication may occur as a result of an action by an application running on the device, such as an application that utilizes the use of cryptograms from the card for authentication or other purposes.
[0118] During the initiation of NFC communication, at step 1420, a camera of the device, such as a front camera, may capture a series of images of a spatial volume in front of the device camera. In some embodiments, 60, 120, 240 or more images may be captured per second, although the disclosure is not limited to capturing a particular number of images in a series. At step 1430, the images may be processed to identify one or more image parameters, such as a darkness level representative of the distance between the card and the device. At step 1440, the processed darkness level of the image is compared to a predetermined darkness level, e.g., a darkness level associated with a preferred distance for a near field communication operation. At step 1450, when it is determined that the darkness level corresponds to a preferred darkness level for an NFC read operation, an NFC read operation may be automatically triggered, e.g., to communicate a cryptogram from an applet on the card.
[0119] In some embodiments, the automatic triggering of the NFC read operation may bypass or replace triggers that have historically been provided by user interface elements. For example, in some embodiments, a graphical user interface element such as a read button (1225) may be provided on the device to allow the user to activate NFC communication when the user determines that the card may be properly placed relative to the device. In some embodiments, the user interface element may be associated with a function such as a read operation. It is understood that the techniques described herein may be used to trigger other user interface elements and may automatically trigger various corresponding related functions. The automatic triggers disclosed herein may reduce delays and inaccuracies associated with historically controlled user interface elements and improve NFC communication flow and success rates.
[0120] Thus, a system and method for detecting the presence of a card and triggering an NFC read using captured image information has been shown and described. Such a system may utilize machine learning and / or SLAM methods, as described in more detail above, to provide additional guidance prior to triggering a card read. Such a configuration may improve card placement and improve the success rate of an NFC communication exchange.
[0121] The terms "system," "component," and "unit" as used in this application are intended to refer to a computer-related entity that is either hardware, a combination of hardware and software, software, or software in execution, examples of which are described herein. For example, a component may be, but is not limited to, a process running on a processor, a processor, a hard disk drive, multiple storage drives, a non-transitory computer-readable medium (either optical and / or magnetic storage media), an object, an executable, a thread of execution, a program, and / or a computer. By way of illustration, both an application running on a server and the server may be a component. One or more components may reside within a process and / or thread of execution, and a component may be localized on one computer and / or distributed across two or more computers.
[0122] Additionally, the components may be communicatively coupled to one another by various types of communication media to coordinate operations. The coordination may include one-way or two-way information exchange. For example, the components may communicate information in the form of signals communicated over the communication media. The information may be embodied as signals assigned to various signal lines. In such an assignment, each message is a signal. However, further embodiments may alternatively use data messages. Such data messages may be transmitted over various connections. Exemplary connections include parallel interfaces, serial interfaces, and bus interfaces.
[0123] Some embodiments may be described using the phrase "in one embodiment" or "embodiment" along with their derivatives. These terms mean that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment. The appearance of the phrase "in one embodiment" in various places in this specification does not necessarily all refer to the same embodiment. Moreover, unless otherwise noted, it is recognized that the above features can be used together in any combination. Thus, any features discussed separately can be used in combination with each other, unless it is noted that the features are not compatible with each other.
[0124]
[0023] Generally referring to the notation and nomenclature used herein, the detailed descriptions herein may be presented in terms of functional blocks or units that can be implemented as program procedures executed on a computer or network of computers. These procedural descriptions and representations are used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art.
[0125] A procedure is herein and generally conceived to be a self-consistent sequence of operations leading to a desired result. These operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It is sometimes convenient, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
[0126] Further, the manipulations performed are often referred to in terms such as adding or comparing, which are commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary, or desirable in most cases, in any of the operations described herein that form part of one or more embodiments. Rather, the operations are machine operations. Useful machines for performing the operations of the various embodiments include general purpose digital computers or similar devices.
[0127] Some embodiments may be described using the terms "coupled" and "connected," along with derivatives thereof. These terms are not necessarily intended as synonyms for each other. For example, some embodiments may be described using the terms "connected" and / or "coupled" to indicate that two or more elements are in direct physical or electrical contact with each other. However, the term "coupled" may mean that two or more elements are not in direct contact with each other, but still cooperate or interact with each other.
[0128] It is emphasized that the Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Furthermore, in the foregoing detailed description, it will be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure should not be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, the inventive subject matter encompasses less than all features of a single disclosed embodiment. Accordingly, the following claims are incorporated into the detailed description, with each claim standing on its own as a separate embodiment. In the appended claims, the terms "including" and "wherein" are used as the plain English equivalents of the respective terms "comprising" and "wherein." Furthermore, the terms "first," "second," "third," etc. are used merely as labels and are not intended to impose numerical requirements on their subject matter.
[0129] What has been described above includes examples of the disclosed architecture. Of course, it is not possible to describe every conceivable combination of components and / or methodologies, but one of ordinary skill in the art may recognize that many more combinations and permutations are possible. Accordingly, the novel architecture is intended to embrace all such alterations, modifications, and variations that fall within the spirit and scope of the appended claims.
Claims
1. 1. A computer-implemented method comprising: capturing a series of images of the contactless card by a camera of the device; identifying a position and trajectory of the contactless card from the series of images of the contactless card; predicting a projected position of the contactless card relative to the device based on the position of the contactless card and the trajectory of the contactless card; determining whether the contactless card is in a target position relative to the device; The method comprises: triggering, by the device, an operation of receiving data from the contactless card when the contactless card is determined to be in the target location; If it is determined that the contactless card is not at the target location, identifying one or more variances between the projected position and the target position, the variances including identifying at least one trajectory adjustment that is predicted to reduce the one or more variances; determining one or more prompts to achieve the trajectory adjustment; displaying the one or more prompts on a display of the device. method.
2. The method of claim 1 , wherein determining the location and the trajectory of the contactless card uses at least one of a machine learning model or a simultaneous localization and mapping (SLAM) process.
3. The method of claim 1 , wherein the step of capturing the sequence of images by the camera occurs automatically based on detection by a proximity sensor.
4. The method of claim 2 , wherein the data comprises a counter value, a shared secret, a key, or a combination thereof.
5. The method of claim 1 , wherein the data is received in cryptogram.
6. The method of claim 1 , wherein the series of images includes one or both of two-dimensional and three-dimensional image information related to one or more of the infrared energies measured by the device.
7. The method includes using the series of images to generate a volume map of a three-dimensional volume proximate the device; the volume map includes pixel data for a plurality of pixel locations within the three-dimensional volume proximate the device. The method according to claim 6.
8. 2. The method of claim 1 , wherein identifying the location and trajectory of the contactless card comprises processing a series of images to detect one or more features of the contactless card and forwarding the series of images to a feature extraction machine learning model trained to identify the location and trajectory of the contactless card in response to the detected one or more features.
9. 10. The method of claim 8, further comprising: transferring the set of images to a second machine learning model trained to predict the location and trajectory based on past attempts to place the contactless card.
10. The method of claim 9 , wherein the past attempts used to train the second machine learning model are customized to a user of the device.
11. A memory configured to store instructions; a processor coupled to the memory; An apparatus comprising: the processor is configured to execute the instructions; The instructions, when executed, cause the processor to: processing a series of images of a contactless card; determining a position and trajectory of the contactless card from the series of images of the contactless card; predicting a projected position of the contactless card relative to a device based on the position of the contactless card and the trajectory of the contactless card; determining whether the contactless card is in a target position relative to the device; triggering, by the device, an operation of receiving data from the contactless card when the contactless card is determined to be in the target location; If it is determined that the contactless card is not at the target location, identifying one or more variances between the projected position and the target position, including identifying at least one trajectory adjustment that is predicted to reduce the one or more variances; determining one or more prompts to achieve the trajectory adjustment; and displaying the one or more prompts on a display of the device; and A device that performs the above.
12. 12. The apparatus of claim 11, wherein the processor uses at least one of a machine learning model or a simultaneous localization and mapping (SLAM) process to determine the location and the trajectory of the contactless card.
13. The apparatus of claim 11 , wherein capturing the sequence of images by a camera is automatic based on detection by a proximity sensor.
14. The apparatus of claim 11 , wherein the data comprises a counter value, a shared secret, a key, or a combination thereof.
15. The apparatus of claim 11 , wherein the data is received in cryptogram form.
16. The apparatus of claim 11 , wherein the series of images includes one or both of two-dimensional and three-dimensional image information related to one or more of the infrared energies measured by the device.
17. The processor uses the series of images to generate a volume map of a three-dimensional volume proximate the device; the volume map includes pixel data for a plurality of pixel locations within the three-dimensional volume proximate the device.
17. The apparatus of claim 16.
18. The apparatus of claim 11 , wherein determining the position and trajectory of the contactless card includes processing a series of images to detect one or more features of the contactless card and transferring the series of images to a feature extraction machine learning model trained to identify the position and trajectory of the contactless card in response to the detected one or more features.
19. 20. The apparatus of claim 18, wherein the processor forwards the sequence of images to a second machine learning model trained to predict the location and trajectory based on past attempts to place the contactless card.
20. 20. The apparatus of claim 19, wherein the past attempts used to train the second machine learning model are customized to a user of the device.
Citation Information
Patent Citations
Information processing device
JP2016143982A
System and method for guiding card positioning using phone sensors - Patents.com
JP2022539601A
Information processing device, information processing method, and program
WO2018016203A1