System and method for guiding card positioning using a telephone sensor

Through proximity sensor and image processing technology, using machine learning and SLAM to adjust the card's position and trajectory in real time, the problem of instability in signal transmission in NFC communication is solved, and the transaction success rate and speed are improved.

CN113557551BActive Publication Date: 2025-07-11CAPITAL ONE SERVICES LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080019925.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-07-15
Filing Date
2020-07-10
Publication Date
2025-07-11
Estimated Expiration
2040-07-10

AI Technical Summary

Technical Problem

In NFC communication, signal transmission between contactless cards and devices is difficult, especially due to noise and signal interruptions caused by card movement and metallic characteristics, resulting in transaction delays and failures.

Method used

The proximity sensor detects the card proximity device, captures images of three-dimensional volumes, processes the images using machine learning models and SLAM techniques to determine the card's position and trajectory, predicts the projected position, and provides trajectory adjustment prompts until the difference is within the threshold, triggering data exchange.

Benefits of technology

Improves the speed and accuracy of contactless card alignment, maximizes NFC signal strength, reduces transaction failures, and realizes automated data exchange.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113557551B_ABST
    Figure CN113557551B_ABST
Patent Text Reader

Abstract

A position alignment system helps to position a contactless card relative to a contactless card reader device at an "optimal position" within a target volume. The alignment logic uses information captured from available imaging devices such as infrared proximity detectors, cameras, infrared sensors, dot matrix projectors, etc. to guide the card to the target position. One or both of a machine learning model and / or simultaneous localization and mapping logic are used to process the captured image information to identify the card position, trajectory, and predicted position. Machine learning techniques can be used to intelligently control and customize trajectory adjustment and cue identification to customize the guidance based on user preferences and / or historical behavior. As a result, the speed and accuracy of contactless card alignment are improved, and the received NFC signal strength is maximized, thereby reducing the occurrence of dropped transactions.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross - Reference to Related Applications

[0002] This application claims the priority of U.S. Patent Application Serial No. 16 / 511,683, entitled "SYSTEM AND METHOD FOR GUIDING CARD POSITIONING USING PHONE SENSORS", filed on July 15, 2019. The content of the aforementioned application is incorporated herein by reference in its entirety. Background Art

[0003] Near - field communication (NFC) includes a set of communication protocols that enable electronic devices, such as mobile devices and contactless cards, to wirelessly transfer information. NFC devices can be used in contactless payment systems, similar to those used by contactless credit cards and electronic ticket smart cards. For example, in addition to payment systems, NFC - enabled devices can also act as electronic identity documents and key cards.

[0004] For example, contactless devices (e.g., cards, tags, transaction cards, etc.) can use NFC technology based on, for example, Radio Frequency Identification (RFID) standards, EMV standards, or using, for example, NFC Data Exchange Format (NDEF) tags for two - way or one - way contactless short - range communication. This communication can be achieved using magnetic field induction to enable communication between electronic devices including mobile wireless communication devices that are powered and unpowered or passively powered devices (such as transaction cards). In some applications, high - frequency wireless communication technology enables data exchange between devices at short distances (such as only a few centimeters), and two devices can operate most effectively in certain placement configurations.

[0005] Although there are many advantages to using NFC communication channels for contactless card transactions, including simple setup and lower complexity, one difficulty faced by NFC data exchange can be the difficulty of transmitting signals between devices with small antennas, including contactless cards. During an NFC exchange, the movement of a contactless card relative to a device may undesirably affect the NFC signal strength received at the device and interrupt the exchange. Additionally, the characteristics of a card (e.g., a metal card) may cause noise, suppress signal reception, or other reflections that erroneously trigger an NFC read transaction. 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

[0006] A system of one or more computers can be configured to perform particular operations or actions by installing software, firmware, hardware, or a combination thereof on the system, which in operation causes the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by including instructions that, when executed by a data processing apparatus, cause the apparatus to perform the actions.

[0007] According to one general aspect, a method for guiding the positioning of a card to a target position relative to a device includes the steps of: detecting the card approaching the device by a proximity sensor; in response to the card approaching the device, the device capturing a series of images of a three-dimensional volume approaching the device; processing the series of images to determine the position and trajectory of the card within the three-dimensional volume approaching the device; predicting the projected position of the card relative to the device based on the position and trajectory of the card; identifying one or more differences between the projected position and the target position, including identifying at least one trajectory adjustment predicted to reduce the one or more differences and one or more cues predicted to effect the trajectory adjustment; displaying the one or more cues 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 differences, the at least one trajectory adjustment, and the one or more cues, and displaying the one or more cues until the one or more differences are within a predetermined threshold; and in response to the one or more differences being within the predetermined threshold, triggering an event at the device to obtain data from the card. 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 actions of the method.

[0008] The implementation may include one or more of the following features. In this method, the step of processing the series of images to determine the position and trajectory of the card within the three-dimensional volume of the proximity device uses at least one of a machine learning model or a simultaneous localization and mapping (SLAM) process. The method includes the following steps: during an event, repeat the following steps: capture the series of images, determine the position and trajectory of the card, predict the projected position of the card, identify one or more differences, at least one trajectory adjustment and one or more cues, and display one or more cues to ensure that the differences remain within a predetermined threshold, so that the device can read data from the card. In this method, the step of triggering the event includes initiating a data exchange between the card and the device, where the data exchange is related to at least one of a financial transaction and an authorization transaction. In this method, 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, and where the series of images includes one or both of two-dimensional image information and three-dimensional image information related to one or more of the infrared energy and visible light energy measured at the device. The method includes the step of using a series of images obtained from one or more of a camera, an infrared sensor, and a dot projector to generate a volume map of the three-dimensional volume of the proximity device, the volume map including pixel data of a plurality of pixel positions within the three-dimensional volume of the proximity device. In this method, the step of processing the series of images to determine the position and trajectory of the card includes the step of forwarding the series of images to a feature extraction machine learning model, the feature extraction machine learning model being trained to process the volume map to detect one or more features of the card and identify the position and trajectory of the card in the volume map in response to the one or more features. In this method, the step of predicting the projected position of the card relative to the device includes forwarding the position and trajectory of the card to a second machine learning model, the second machine learning model being trained to predict the projected position based on historical attempts to locate the card. In this method, the historical attempts used to train the second machine learning model are customized for the user of the device. In this method, one or more cues include at least one of a visual cue, an audible cue, or a combination of visual and audible cues. Implementations of the described techniques may include hardware, methods or processes, or computer software on a computer-accessible medium.

[0009] According to one general aspect, a device includes: a proximity sensor configured to detect whether a card is approaching the device; an image capture device coupled to the proximity sensor and configured to capture a series of images of a three-dimensional volume approaching 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 the card to the device; enable the image capture device to capture a series of images of a three-dimensional volume approaching the device; process the series of images to determine the position and trajectory of the card within the three-dimensional volume approaching the device and predict a projected position of the card relative to the device based on the position of the card and the trajectory of the card; identify one or more differences between the projected position and the target position, including identifying at least one trajectory adjustment and one or more cues for implementing at least one trajectory adjustment, the at least one trajectory adjustment being predicted to reduce one or more differences; display one or more cues on the display interface during at least one period before and during a card reading operation; and trigger a card reading operation through the card reader interface when one or more differences 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 actions of the method.

[0010] The implementation may include one or more of the following features. The device according to claim 11, wherein the program code uses at least one of a machine learning model or a simultaneous localization and mapping (SLAM) process, and the program code is operable, when executed, to process the series of images to determine a position and a trajectory within a three-dimensional volume proximate the device where the card is stuck. In the device, the card reading operation is associated with one of a financial transaction and an authorized transaction. In the device, the image capture device includes one or more of a camera, an infrared sensor, or a dot projector, and the series of images capture one or more of infrared energy and visible light energy measured at the device. In the device, the series of images includes one or both of two-dimensional image information and three-dimensional image information. In the device, the alignment program code is further configured to generate a volumetric map of the three-dimensional volume proximate the device using the series of images, the infrared sensor, and the dot projector, the volumetric map including pixel data of a plurality of pixel positions within the three-dimensional volume proximate the device. The device further includes a feature extraction machine learning model that is trained to locate the card within the three-dimensional volume proximate the device and uses historical attempts to locate the card to predict a projected position. In the device, the historical attempts are user-specific historical attempts. In the device, one or more of the prompts include at least one of a visual prompt, an audible prompt, or a combination of a visual and an audible prompt. Implementations of the described techniques may include hardware, methods, or processes, or computer software on a computer-accessible medium.

[0011] According to one general aspect, a method for guiding a card to a target position relative to a device includes the steps of: detecting a request by the device to perform a transaction; measuring the proximity of the card to the device using a proximity sensor of the device; when it is determined that the card is 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 in proximity to the device; processing the series of images to determine the position and trajectory of the card within the three-dimensional volume in proximity to the device, the processing being performed by at least one of a machine learning model trained using historical attempts to guide the card to the target position or a simultaneous localization and mapping (slam) process; predicting a projected position of the card relative to the device based on the position and trajectory of the card; identifying one or more differences between the projected position and the target position, including identifying at least one trajectory adjustment selected to reduce the one or more differences and identifying one or more cues to effect the trajectory adjustment; displaying the one or more cues on a display of the device; repeating the steps of: capturing image information, determining the position and trajectory of the card, predicting the projected position of the card, identifying the one or more differences, the at least one trajectory adjustment and the one or more cues, and displaying the one or more cues until the one or more differences are within a predetermined threshold; and triggering a reading of the card by a card reader of the device when the differences are less than the predetermined threshold. Other embodiments of this aspect include corresponding computer systems, apparatuses, and computer programs recorded on one or more computer storage devices each configured to perform the actions of the method. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1A and Figure 1B is a schematic diagram provided to illustrate the interaction between a contactless card and a contactless card reading device;

[0013] Figure 2 is an illustration of an exemplary operating volume of a near field communication device;

[0014] Figure 3 is a view of a sensor bar of a mobile phone that can be configured to perform position alignment as disclosed herein;

[0015] Figure 4 is a block diagram showing exemplary components of an embodiment of a device configured as disclosed herein;

[0016] Figure 5 is performed by Figure 4 an NFC transaction device of a position alignment system and method of exemplary steps of a flowchart;

[0017] Figure 6 is a detailed flowchart showing exemplary steps that can be performed to align the position of a contactless card relative to a device;

[0018] Figure 7is a flowchart illustrating exemplary steps that may be performed to train a machine learning model disclosed herein;

[0019] Figure 8 is a flow chart illustrating exemplary steps that may be performed in a simultaneous localization and mapping (SLAM) process as used as disclosed herein;

[0020] Figure 9 is a flow chart illustrating exemplary steps that may be performed to locate a contactless card for NFC communications using a combination of a proximity sensor of a mobile phone device and an image capture device;

[0021] Figure 10 shows exemplary phone / card interactions and displays during proximity sensing;

[0022] Figure 11 shows exemplary phone / card interactions and displays during position alignment;

[0023] Figures 12A to 12C shows an exemplary mobile phone display that may be provided after successful alignment for NFC communication, including a prompt for adjusting contactless card positioning to maximize signal strength received by the mobile device;

[0024] Figure 13A , Figure 13B and Figure 13C shows an exemplary phone / card interaction as disclosed herein; and

[0025] Figure 14 is a flow chart of one embodiment of an exemplary process for controlling an interface of a card reader of a device using captured image data as disclosed herein. DETAILED DESCRIPTION

[0026] The position alignment system and method disclosed herein facilitate the positioning of a contactless card relative to a device, such as positioning the contactless card close to a target position within a three-dimensional target volume. In one embodiment, the position alignment system uses a proximity sensor of the device to detect the approach of a contactless card. When the approach is detected, a series of images can be captured by one or more imaging elements of the device, such as by a camera of the device and / or by an infrared sensor / dot projector of the device. The series of images can be processed to determine the position and trajectory of the card relative to the device. The position and trajectory information can be processed by a predictive model to identify trajectory adjustments to reach the target position and one or more prompts to implement trajectory adjustments. This arrangement uses the existing imaging capabilities of the mobile device to provide real-time positioning assistance feedback to the user, thereby improving the speed and accuracy of contactless card alignment and maximizing the received NFC signal strength.

[0027] According to one aspect, a triggering system can automatically initiate near-field communication between a device and a card to transmit a password of a mini-program from the card to the device. The triggering system can operate in response to a change in the darkness level or an aspect of the darkness level in a series of images captured by the device. The triggering system can operate in response to a change in the complexity level or an aspect of the complexity level in a series of images. The triggering system can automatically trigger an operation controlled by the user interface of the device, such as automatically triggering the reading of the card. The triggering system can be used alone or with the help of one or more aspects of the position alignment system disclosed herein.

[0028] These and other features of the present invention will now be described with reference to the accompanying drawings, in which like reference numerals are always used to refer to like elements. In the case of generally referring to the symbols and terms used herein, the following detailed description may be presented in terms of program procedures executed on a computer or computer network. These process descriptions and representations are used by those skilled in the art to most effectively convey the substance of their work to other skilled persons in the art.

[0029] A process is herein and generally considered to be a self-consistent sequence of operations leading to a desired result. A process can be implemented in hardware, software, or a combination thereof. These operations are those that require physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transmitted, combined, compared, and otherwise manipulated. For principally general reasons, it has proven convenient at times to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, etc. However, it should be noted that all such and similar terms are associated with appropriate physical quantities and are merely convenient labels applied to these quantities.

[0030] Further, the manipulations performed are commonly referred to by terms such as adding or comparing, which are typically associated with mental operations performed by a human operator. In any of the operations described herein forming part of one or more embodiments, such capabilities of a human operator are not required or, in most instances, not desirable. Rather, these operations are machine operations. Useful machines for performing the operations of the various embodiments include general-purpose digital computers or similar devices.

[0031] The various embodiments also relate to apparatus or systems for performing these operations. This apparatus can be specially constructed for the required purposes or it can include 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 a particular computer or other apparatus. Various general-purpose machines can 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 structure required for the various machines will emerge from the description given.

[0032] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding thereof. It will be evident, however, that novel embodiments may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to describe them. The intention is to cover all modifications, equivalents, and alternative arrangements consistent with the claimed subject matter.

[0033] Figure 1A and Figure 1B each shows a mobile phone device 100 and a contactless card 150. The contactless card 150 may include a payment card or a transaction card (hereinafter referred to as a transaction card) issued by a service provider, such as a credit card, a debit card, or a gift card. In some examples, the contactless card 150 is not related to a transaction card and may include, but is not limited to, an identification card or a passport. In some examples, the transaction card may include a dual-interface contactless transaction card. The contactless card 150 may include a substrate that includes a single layer or one or more laminated layers made of plastic, metal, and other materials.

[0034] In some examples, the contactless card 150 may have physical characteristics in an ID-1 format compliant with the ISO / IEC 7810 standard, and the contactless card may additionally comply with the ISO / IEC 14443 standard. However, it should be understood that the contactless card 150 according to the present disclosure may have different characteristics, and the present disclosure does not require the implementation of a contactless card in a transaction card.

[0035] In some embodiments, the contactless card may include an embedded integrated circuit device that can store, process data, and transfer data with another device (such as a terminal or a mobile device) via NFC. Common uses of contactless cards include transit tickets, bank cards, and passports. Contactless card standards cover various types included in ISO / IEC 10536 (close-coupled cards), ISO / IEC 14443 (proximity cards), and ISO / IEC 15693 (vicinity cards), each of which is incorporated herein by reference. Such contactless cards are designed to operate at very close, close, and relatively long distances from the associated coupling device, respectively.

[0036] Exemplary proximity contactless cards and communication protocols that benefit from the positioning assistance system and method disclosed herein include the proximity contactless cards and communication protocols described in U.S. Patent Application Serial No. 16 / 205,119, entitled "Systems and Methods for Cryptographic Authentication of Contactless Cards," filed on November 29, 2018, by Osborn et al. (hereinafter referred to as the '119 application), and this application is incorporated herein by reference.

[0037] In one embodiment, the contactless card includes an NFC interface constituted by hardware and / or software configured for two-way or one-way contactless short-range communication based on, for example, radio frequency identification (RFID) standards, EMV standards, or the use of NDEF tags. Communication can be implemented using magnetic field induction to enable communication between electronic devices, including mobile wireless communication devices. Short-distance high-frequency wireless communication technology enables data to be exchanged between devices within a short distance, such as only a few centimeters.

[0038] When NFC-enabled devices exchange information, NFC employs electromagnetic induction between two loop antennas. ISO / IEC 14443-2:2016 (incorporated herein by reference) specifies the characteristics of power and two-way 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 is inductively coupled to the PICC to transfer power and is modulated for communication, operating at a rate of 106 to 424 kbit / s in the 13.56 MHz radio frequency ISM band on the ISO / IEC 18000-3 air interface. As specified by the ISO standard, the PCD transmission generates a uniform field strength ("H") that varies at least from Hmin of 1.5 A / m (rms) to Hmax of 7.5 A / m (rms) to support Class 1, Class 2, and / or Class 3 antenna designs of PICC devices.

[0039] In Figure 1A and Figure 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 Figure 1AAs shown, the mobile phone 100 can prompt the user 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 the 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), where the operating volume of the NFC reading device includes the spatial volume proximate to, adjacent to, and / or surrounding the NFC reading device, within which the uniform field strength of the signals transmitted by the mobile device 100 and the card 150 and between them is sufficient to support data exchange. In other words, the user can engage the contactless card with the mobile device by tapping the card against the front of the device or holding the card within a certain distance from the front of the device that permits NFC communication. In Figure 1A this case, the prompt 125 provided on the display 130 is provided to achieve this result. Figure 1B A card placed within the operating volume of a transaction is shown. During a transaction as Figure 1B shown, a reminder prompt, such as prompt 135, can be displayed to the user.

[0040] An exemplary exchange between the phone 100 and the card 150 can include activating the card 150 by the RF operating field of the phone 100, transmitting a command from the phone 100 to the card 150, and transmitting a response from the card 150 to the phone 100. Some transactions can use several such exchanges, and some transactions can be performed by the mobile device using a single read operation of the transaction card.

[0041] In one example, it can be understood that successful data transmission can be best achieved by maintaining magnetic field coupling at least equal to a minimum (1.5 A / m (rms)) magnetic field strength throughout the transaction, and the magnetic field coupling is a function of the signal strength and the distance between the card 150 and the mobile phone 100. When testing the compatibility of NFC-enabled devices, for example, to determine whether the power requirements (determining the operating volume), transmission requirements, receiver requirements, and signal form (time / frequency / modulation characteristics) of the device meet the ISO standards, a series of test transmissions are made at test points within the operating volume defined by the NFC Forum simulation specification.

[0042] Figure 2 An exemplary operating volume 200 identified by the NFC Analog Forum for use when testing NFC-enabled devices is shown. The operating volume 200 defines a three-dimensional volume set around a contactless card reader device (e.g., a mobile phone device) and can represent the preferred distance for near-field communication exchanges (e.g., for NFC reading of a card by the device). To test the NFC device, the received signal can 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 this NFC antenna class.

[0043] Although the NFC standard specifies a particular operating volume and test method, it will be appreciated that the principles described herein are not limited to an operating volume of a particular size, and the method does not require determining the operating volume based on signal strength of any particular protocol. Design considerations (including but not limited to the power of the PCD device, the type of PICC device, the expected communication between the PCD and PICC devices, the duration of the communication between the PCD and PICC devices, the imaging capabilities of the PCD device, the expected operating environment of the device, the historical behavior of the device user, etc.) can be used to determine the operating volume used herein. Thus, any discussion below refers to a "target volume" which, in various embodiments, can include the operating volume or a subset of the operating volume.

[0044] While in Figure 1A and Figure 1B the placement of the card 150 on the phone 100 may seem straightforward, often the only feedback provided to the user when the card alignment is sub-optimal is a failed transaction. A contactless card EMV transaction may include a series of data exchanges that require connectivity for up to two seconds. During such a transaction, as the user juggles the card, it may be difficult for the NFC reading device and any merchandise to locate and maintain the target position of the card relative to the phone to maintain the preferred distance for a successful NFC exchange.

[0045] According to one aspect, to overcome these problems, a card alignment system and method activate an imaging component of a mobile device to capture a series of images. The series of images can be used to locate the position and trajectory of the card in real time to guide the card to a preferred distance and / or target position for NFC exchange. The series of images can also be used to automatically trigger NFC exchange or operation, such as by measuring the darkness level and / or complexity level or patterns thereof in the series of captured images.

[0046] For example, using this information, an alignment method can determine trajectory adjustments and identify cues associated with the trajectory adjustments for guiding the card to the target volume. Trajectory adjustment cues can be presented to the user using the audio and / or display components of the phone to guide the card to a target position within the target volume and / or initiate NFC reading. In various embodiments, the "target position" (or "target alignment") can be defined at various granularities. For example, the target position can include the entire target volume or a subset of the target volume. Alternatively, the target position can be associated with a specific position of the contactless card within the target volume and / or the space surrounding and including the specific position.

[0047] Figure 3The front top portion 300 is an embodiment of a mobile phone that can be configured to support the alignment systems and methods disclosed herein. The phone is shown as including a sensor panel 320 disposed along the top edge of portion 300, but it will be understood that many devices can include fewer or more sensors that can be positioned differently on their devices, and the present invention is not limited to any particular type, number, arrangement, location, or design of sensors. For example, most phones have a front camera and a front camera and / or other sensors, any of which can be used for the purposes of position alignment guidance described herein.

[0048] The sensor panel 320 is shown as including 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 pattern projector 316.

[0049] The infrared camera 302 can be used with the dot pattern projector 316 for depth imaging. The infrared emitter of the dot pattern projector 316 can project up to 30,000 points onto an object, such as a user's face, in a known pattern. The points are captured by the dedicated infrared camera 302 for depth analysis. The flood illuminator 304 is a light source. The proximity sensor 306 is a sensor capable of detecting the presence of a nearby object without any physical contact.

[0050] Proximity sensors are commonly used in mobile devices and operate to lock UI inputs, for example, to detect (and skip) accidental touchscreen taps when a mobile phone is held up to the ear. Exemplary proximity sensors operate by emitting an electromagnetic field or a beam of electromagnetic radiation (such as infrared) at a target and measuring the reflected signal received from the target. The design of the proximity sensor can vary depending on the composition of the target; capacitive proximity sensors or optoelectronic sensors can be used to detect plastic targets, and inductive proximity sensors can be used to detect metal targets. It should be understood that other methods of determining proximity are within the scope of the present disclosure, and the present disclosure is not limited to proximity sensors that operate by emitting an electromagnetic field.

[0051] The top portion 300 of the phone is also shown as including an ambient light sensor 308 for controlling, for example, the brightness of the phone's display. The speaker 310 and the microphone 312 implement basic phone functions. The front camera 314 can be used for two-dimensional and / or three-dimensional image capture, as described in more detail below.

[0052] Figure 4FIG. 0 is a block diagram of representative components of a mobile phone or other NFC-enabled device incorporating elements that facilitate card position alignment as disclosed herein. These 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 system bus 420.

[0053] Each of the components uses hardware, software, or a combination thereof to perform a specific function. The one or more processors 410 may include a variety of 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 systems (SOCs), complex programmable logic devices (CPLDs), memory cells, logic gates, registers, semiconductor devices, chips, microchips, chip sets, 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, programs, 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. Determining whether an embodiment uses hardware elements and / or software elements to implement may vary depending on many factors, such as the desired computing rate, power level, heat tolerance, processing cycle budget, input data rate, output data rate, memory resources, data bus speed, and other design or performance constraints, as desired for a given implementation.

[0054] The image processor 415 can be any processor, or alternatively can be a dedicated digital signal processor (DSP) for performing image processing on data received from one or more cameras 452, an infrared sensor controller 455, a proximity sensor controller 457, and a dot projector controller 459. The image processor 415 can even perform parallel computations using SIMD (Single Instruction Multiple Data) or MIMD (Multiple Instruction Multiple Data) techniques to increase speed and efficiency. In some embodiments, the image processor can include a system-on-chip having a multi-core processor architecture, thus enabling high-speed, real-time image processing capabilities.

[0055] The memory 430 can include a computer-readable storage medium to store program codes (such as an alignment unit program code 432 and a payment processing program code 433) and data 434. The memory 430 can also store a user interface program code 436. The user interface program code 436 can be configured to interpret user inputs received at user interface elements including physical elements (such as a keyboard and a touch screen 460). The user interface program code 436 can also interpret user inputs received from graphical user interface elements (such as buttons, menus, icons, labels, windows, widgets, etc.) that can be displayed on a user display under the control of a display control 435. According to one aspect, and as described in more detail below, the memory 430 can also store a trigger program code 431. The trigger program code 431 can be used to automatically trigger NFC communication between the device and the 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 devices. In some embodiments, the automatically triggered operations can be those that are typically performed in response to user inputs, such as automatically triggering a read operation initiated by activating a user interface element (such as a read button provided on a graphical user interface). Automatic triggering reduces the latency and inaccuracy associated with using user interface elements to control NFC communication.

[0056] Examples of computer-readable storage media can include any tangible media capable of storing electronic data, including volatile or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writable or rewritable memory, etc. Program code can 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 can also be at least partially implemented as instructions included in or on a non-transitory computer-readable medium, which can be read and executed by one or more processors to enable performance of the operations described herein.

[0057] The alignment unit program code 432 includes the program code for location assistance for non-contact card / phone communication disclosed herein. The alignment unit program code 432 can be used by any service provided by a phone that uses non-contact card exchanges for authentication or other purposes. For example, a service implemented in the payment processing program code 433 (such as a payment processing service) can use non-contact card exchanges for authentication during the initial stage of a financial transaction.

[0058] 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, which can also interconnect to a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of various commercially available bus architectures.

[0059] The network interface logic includes a transmitter, a receiver, and a controller configured to support various known protocols associated with different forms of network communication. Example network interfaces that can 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.

[0060] The sensor controls 450 include a subset of sensors that can support the location alignment methods disclosed herein, including one or more cameras 452 (which can include camera technologies for capturing two-dimensional and three-dimensional light-based images or infrared images), an infrared sensor 454 and an associated infrared sensor controller 455, a proximity sensor 456 and an associated proximity sensor controller 457, and a dot projector 458 and an associated dot projector controller 459.

[0061] Now refer to Figure 5, shows a flowchart of an exemplary process 500 for non-contact card positioning using image information obtained in real time from sensors of an NFC reading device. The process includes detecting the proximity of a non-contact card at step 510, and after detection, triggering image capture using the imaging capabilities of the device at step 515, and processing the captured series of images at step 520. Processing the images can be performed at least in part by alignment unit program code and can include positioning the non-contact card within a target volume proximate to the device and determining the trajectory of the card at step 525. Processing the images can also include, at step 535, predicting trajectory adjustments for aligning the card with a target position within the target volume, identifying cues for implementing the trajectory adjustments, and displaying the cues on the device. The cues can include one or more of instructions (in text or symbol form), images (including one or more of the captured images), colors, color patterns, sounds, and other mechanisms.

[0062] The process of capturing images at 515 and processing the images at 520 continues until it is determined at step 540 that the non-contact card is in its target position (and / or within a preferred distance from the device). Then, at step 545, the alignment process can initiate or cause to initiate a data exchange transaction / communication between the card and the device. For example, the alignment process can perform one or more of providing display cues to the user to enable the user to initiate the transaction. Alternatively, when alignment is detected at step 540, the alignment process can automatically initiate the data exchange process. In an embodiment using NFC interface technology, the alignment process can open the NFC interface to enable NFC communication and perform NFC communication at step 550.

[0063] Figure 6 is a flowchart of a first exemplary embodiment of a position alignment process 600 that uses a machine learning predictive model to process the captured images to extract features, position the card in a three-dimensional target volume, and determine the card trajectory. The system can also use the machine learning predictive model to identify trajectory adjustments to move the card to a target position within the target volume and identify cues for implementing the trajectory adjustments.

[0064] In step 605, the phone monitors the reflected energy that is transmitted by the device and reflected back to the device, including detecting that the card is approaching the device when the reflected energy exceeds the threshold of the proximity sensor. In some phones, the proximity sensor can be implemented using a light sensor chip. Common light sensor chips include the ISL29003 / 23 and GP2A from Intersil & Sharp respectively. These two sensor chips are mainly active light sensors that provide the ambient light intensity in lux units. This sensor is implemented as a Boolean sensor. The Boolean sensor returns two values, "near" and "far". The threshold is based on the lux value, that is, the lux value of the light sensor is compared with the threshold. The lux value exceeding the threshold means that the proximity sensor returns "far". In any case where the value is below the threshold, the sensor returns "near". The actual value of the threshold is conventionally defined, depending on the sensor chip used and its light response, the position and orientation of the chip on the smartphone body, the composition and reflection response of the target contactless card, etc.

[0065] In step 610, in response to the card approaching the device, the device initiates image capture. Image capture can include using one or more cameras accessible on the device to capture a two-dimensional image. The two-dimensional image can 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.

[0066] Certain mobile devices can include dual cameras that capture images along different imaging planes to create a depth of field effect. Some can further include a "selfie" infrared camera or can include infrared emitter technology, such as projecting a dot matrix of infrared light onto the target in a known pattern. These dots can be captured by the infrared camera for analysis.

[0067] The captured images from any one or more of the above sources, and / or subsets or various combinations of the captured images can then be forwarded to steps 615 and 620 for image processing and contactless card localization, including determining the position and trajectory of the contactless card.

[0068] According to one aspect, image processing includes constructing a volumetric map of the target volume approaching the phone, including an area proximate to and / or including at least a portion of the operating volume of the NFC interface of the phone, wherein the volumetric map is represented as a three-dimensional array of voxels storing values related to the color and / or intensity of the voxels within the visible or infrared spectrum. In some embodiments, a voxel is a discrete element in an array of elements that make up the volume of a conceptual three-dimensional space, such as each in an array of discrete elements into which the representation of a three-dimensional object is divided.

[0069] According to one aspect, position alignment includes processing voxels of a target volume to extract features of a contactless card to determine the position of the card within the target volume, and comparing the voxels of the target volume constructed at different time points to track the movement of the card over time to determine the card trajectory. Various processes can be used to track the position and trajectory, including using machine learning models and alternatively using SLAM techniques, each of which is now described in more detail below.

[0070] Machine learning is a branch of artificial intelligence that relates to mathematical models that can learn from data, classify data, and make predictions about data. Such mathematical models (which can be referred to as machine learning models) can classify input data between two or more classes; cluster input data between two or more groups; predict results based on input data; identify patterns or trends in input data; identify the distribution of input data in space; or any combination of these. Examples of machine learning models can 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) clusterers, such as k-means clusterers, mean shift clusterers, and spectral clusterers; (v) decomposers, such as decomposition machines, principal component analyzers, and kernel principal component analyzers; and (vi) ensembles or other combinations of machine learning models. In some examples, neural networks can include deep neural networks, feedforward neural networks, recurrent neural networks, convolutional neural networks, radial basis function (RBF) neural networks, echo state neural networks, long short-term memory neural networks, bidirectional recurrent neural networks, gated neural networks, hierarchical recurrent neural networks, stochastic neural networks, modular neural networks, spiking neural networks, dynamic neural networks, cascaded neural networks, neuro-fuzzy neural networks, or any combination of these.

[0071] Different machine learning models can be used interchangeably to perform tasks. Examples of tasks that can be performed using machine learning models at least in part include various types of scoring; bioinformatics; chemoinformatics; software engineering; fraud detection; customer segmentation; generating online recommendations; adaptive websites; determining customer lifetime value; search engines; real-time or near real-time advertising; classifying DNA sequences; sentiment computing; performing natural language processing and understanding; object recognition and computer vision; robotic motion; playing games; optimization and metaheuristic algorithms; detecting network intrusions; medical diagnosis and monitoring; or predicting when an asset (such as a machine) will need maintenance.

[0072] A machine learning model can be built through a process that is at least partially automated (e.g., with little or no human involvement), called training. During training, input data can be iteratively supplied to the machine learning model so that the machine learning model can identify patterns related to the input data or identify the relationship between the input data and the output data. With training, the machine learning model can transition from an untrained state to a trained state. The input data can be split into one or more training sets and one or more validation sets, and the training process can be repeated multiple times. The splitting can follow the k-fold cross-validation rule, the leave-one-out rule, the leave-p-out rule, or the holdout rule.

[0073] According to one embodiment, the machine learning model can be trained to identify features of a non-contact card using image information captured by one or more imaging elements of the device when the non-contact card is near the NFC reading device, and the feature information can be used to identify the position and trajectory of the card within the target volume.

[0074] Now reference will be made to Figure 7 a flowchart to describe an overview of the method 700 for training and using a machine learning model for position and trajectory identification. At block 704, training data can be received. In some examples, the training data can be received from a remote database or a local database, constructed based on various data subsets, or input by a user. The training data can be used in its original form to train the machine learning model, or preprocessed into another form and then used to train the machine learning model. For example, the original form of the training data can be smoothed, truncated, aggregated, clustered, or otherwise manipulated into another form and then used to train the machine learning model. In an embodiment, the training data can include communication exchange information, historical communication exchange information, and / or information related to communication exchanges. The communication exchange information can be for the general population and / or specific to users and user accounts in a financial institution database system. For example, for position alignment, the training data can include processing image data of non-contact cards in different meteorological conditions and from different perspectives to learn the voxel values of the features of the cards in these orientations and perspectives. For trajectory adjustment and cue identification, such training data can include data related to the impact of trajectory adjustment on the card at different positions. The machine learning model can be trained to identify cues by measuring the effectiveness of the cues in achieving trajectory adjustment, where in one embodiment, the effectiveness can be measured by the time of card alignment.

[0075] At block 706, training data can be used to train a machine learning model. The machine learning model can be trained in a supervised, unsupervised, or semi-supervised manner. In supervised training, each input in the training data can be associated with an expected output. The expected output can be a scalar, vector, or different types of data structures, such as text or image. This can enable the machine learning model to learn the mapping between the input and the expected output. In unsupervised training, the training data includes inputs but does not include the expected output, such that the machine learning model has to find the structure in the inputs by itself. In semi-supervised training, only some of the inputs in the training data are associated with the expected output.

[0076] At block 708, the machine learning model can be evaluated. For example, an evaluation data set can be obtained, e.g., through user input or from a database. The evaluation data set can include inputs that are associated with the expected output. The inputs can be provided to the machine learning model, and the output from the machine learning model can be compared with the expected output. If the output from the machine learning model closely corresponds to the expected output, the machine learning model can have a high accuracy. For example, if 90% or more of the outputs from the machine learning model are the same as the expected output (e.g., current communication exchange information) in the evaluation data set, the machine learning model can have a high accuracy. Otherwise, the machine learning model may have a lower accuracy. The 90% figure may be just an example. The realistic and desired accuracy percentages may depend on the problem and the data.

[0077] In some examples, if the machine learning model has insufficient accuracy for a particular task, the process can return to block 706, where additional training data can be used to further train the machine learning model or otherwise modify the machine learning model to improve the accuracy. If the machine learning model has sufficient accuracy for a particular task, the process can continue to block 710.

[0078] At this point, one or more machine learning models have been trained using the training data set to: process the captured image to determine the position and trajectory, predict the projected position of the card relative to the device based on the current position and trajectory, identify at least one trajectory adjustment, and implement one or more cues for the trajectory adjustment.

[0079] At block 710, new data is received. For example, new data can be received during the position alignment for each non-contact card communication exchange. In block 712, the trained machine learning model can be used to analyze the new data and provide results. For example, the new data can be provided as input to the trained machine learning model. When new data is received, the results of the feature extraction prediction and the position and trajectory prediction can be continuously tuned to minimize the duration of the alignment process.

[0080] In block 714, the results can be post-processed. For example, the results can be added to other data, multiplied by other data, or otherwise combined as part of a job. As another example, the results can be converted from a first format (such as a time series format) to another format (such as a count sequence format). During post-processing, any number of operations and combinations of operations can be performed on the results.

[0081] Simultaneous localization and mapping (SLAM) has been well defined in the robotics field for dynamic 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 moving rapidly through a previously unknown scene. According to one aspect, it is recognized that the techniques described by Davidson for camera tracking can be used in the position alignment systems and methods disclosed herein. As described above, SLAM techniques can be used to track the advancement of the phone's camera relative to the detected features of the card, rather than tracking the advancement of the card relative to the phone, to achieve a similar result of positioning the card relative to the phone.

[0082] Now referring to Figure 8 , a flowchart will now be described showing exemplary steps of a MonoSLAM method 800 for non-contact card localization, which can be used to perform the functions of steps 615 and 620 of Figure 6 . The techniques disclosed by Davidson construct a persistent map of scene landmarks that are indefinitely referenced in a state-based framework. Forming a persistent map can be advantageous when camera motion is restricted, and thus SLAM techniques may be beneficial for focusing on the position alignment process of a specific object, such as a non-contact card. The use of a persistent map makes the processing requirements of the algorithm bounded and can maintain continuous real-time operation.

[0083] SLAM allows for dynamic probabilistic estimation of the state of a moving camera and its map to use the estimated motion to limit predictive search, thereby guiding efficient processing.

[0084] At step 810, an initial probability-based map can be generated that represents, at any given time, a snapshot of the state of the camera and the current estimates of all features of interest, as well as the uncertainty in those estimates. The map can be initialized at system startup and persist until the end of operation, but can evolve continuously and dynamically as new image information becomes available over time. The estimates of the probabilistic state of the camera and features are updated during relative camera / card motion and feature observations. When new features are observed, the map expands with the new state and features can be removed if necessary. However, it should be understood that once the features of the contactless card can be identified with high probability certainty, further image processing can limit subsequent searches to the located features.

[0085] The probabilistic nature of the map lies not only in the propagation over time of the average "best" estimates of the camera / card state, but also in the first-order uncertainty distribution that describes the magnitude of the possible deviations from those values. Mathematically, the map can be represented by a state vector and a covariance matrix P. The state vector x^ can be composed of stacked state estimates of the camera and features, and P can be a square matrix of equal dimension that can be partitioned into submatrix elements, as shown in Equation I below:

[0086] Equation I:

[0087]

[0088] The probability distributions of all map parameters are approximated as a single multivariate Gaussian distribution in a space with a dimension equal to the size of the total state vector. Specifically, the state vector xv of the camera includes a 3D position vector rW of the metric, a direction quaternion qRW, a velocity vector vW, and an angular velocity vector ωR with respect to a fixed world frame W carried by the camera and a "robot" frame R (13 parameters), as shown in Equation II below:

[0089] Equation II:

[0090]

[0091] where the feature state y i is a 3D position vector of the position of the point feature; according to one aspect, the point feature can include the features of the contactless card. The role of the map 825 allows for high-quality landmark capture for real-time localization. Specifically, it can be assumed that each landmark corresponds to a well-localized point feature in 3D space. The camera can be modeled as a rigid body, thus requiring translation and rotation parameters to describe its position, and we also maintain estimates of its linear and angular velocities. According to one aspect, the camera modeling in this document can be translated relative to the extracted features (i.e., the contactless card) to define the translation and rotation parameters of the card's movement, thus maintaining the linear and angular velocities of the card relative to the phone.

[0092] In one embodiment, at step 830, Davison uses relatively large (11×11 pixel) image patches as long-term landmark features. Camera pose information can be used to improve the matching on camera displacement and rotation. Salient image regions can initially be automatically detected (i.e., based on card attributes) using techniques described, for example, in J. Shi and C. Tomasi, “Good Features to Track”, Proc. IEEE Conf. Computer Vision and Pattern Recognition, pp. 593-600, 1994 (incorporated herein by reference) which provides repeatable visual landmark detection. Once the 3D position (including depth) of the feature is fully initialized, each feature can be stored as an oriented planar texture. When the feature is measured from a new (relative) camera position, its patch can be projected from 3D to the image plane to generate a template for matching with the real image. The saved feature templates are retained over time to enable re-measurement of the feature positions over arbitrarily long time periods, thereby determining the feature trajectories.

[0093] According to one embodiment, a constant velocity, constant angular velocity model can be used which assumes that the camera moves at a constant velocity at all times while having undetermined accelerations within a Gaussian distribution map. While this model imparts a certain smoothness to the relative card / camera motion, it imparts robustness to a system using sparse visual measurements. In one embodiment, the predicted position of the image feature (i.e., the predicted card position) can be determined before searching for the feature in the SLAM map.

[0094] One aspect of Davison's method involves predicting the feature position at 850 and restricting the image retrospective to the predicted feature positions. Feature matching between image frames themselves can be implemented using a direct normalized cross-correlation search of the template block projected into the current camera estimate; the template can be scanned over the image and tested starting from the predicted position to obtain a match until a peak is found. Reasonable confidence bounds assume attention to the image processing task, enabling the image processing to be performed in real time at high frame rates by restricting the search to a tiny search region of the input image using a sparse map.

[0095] In one embodiment, the predicted position can be performed as follows. First, using the estimated camera position x v and the estimated feature position y i , the position of the point feature relative to the camera is expected to be as shown in Equation III below:

[0096] Equation III:

[0097]

[0098] Using a perspective camera, the position (u, v) where a feature is expected to be found in the image can be found using the standard pinhole model shown in Equation IV below:

[0099]

[0100] where fk u 、fk v 、u0 and v0 include standard camera calibration parameters. This approach enables active control of the viewing direction towards favorable measurements with high innovation covariance, thereby enabling the maximum number of feature searches per frame to be limited to 10 or 12 most informative searches.

[0101] According to one aspect, it can thus be understood that the performance benefits associated with SLAM (including the ability to perform real-time localization of the contactless card while restricting irrelevant image processing) will be beneficial to the position alignment system disclosed herein.

[0102] Returning to Figure 6 , once the position and trajectory information can be obtained through machine learning models, SLAM techniques, or other methods, according to one aspect, the position alignment system and method include process 625 for predicting trajectory adjustments and associated cues to guide the card to a target position within a target volume. According to one aspect, a predictive model (such as a machine learning model trained and maintained using the machine learning principles described above) can be used to perform the prediction to identify trajectory adjustments and cues based on the effectiveness of previous trajectory adjustments and cues, and thus the prediction is customized based on user behavior. The trajectory adjustment can be determined, for example, by identifying the variance between the target position and the predicted position and selecting an adjustment to the current trajectory to minimize the variance. The effectiveness can be measured in various ways, including but not limited to the duration of the position alignment process. For example, in some embodiments, other aspects of artificial intelligence, neural networks, or machine learning models can themselves select those cues that are most effective in helping the user achieve the final result of card alignment.

[0103] In some embodiments, it is contemplated that the trajectory adjustment can be linked to a set of one or more cues configured to effect the associated trajectory adjustment. The set of one or more cues can include auditory and visual cues and can be in the form of instructions (in text or symbol form), images (including one or more of the captured images), colors, color patterns, sounds, and other mechanisms displayed by the device. In some embodiments, a validity value can be stored for each cue, where the validity value is related to historical responses and the effectiveness of displaying such cues that effect the trajectory adjustment. The validity value can be used by a machine learning model to select one or more of the trajectory adjustment and / or cues to guide the card to the target location.

[0104] In step 630, the cue can be displayed on the display of the phone. In step 635, the process continues to capture image information, determine the position and trajectory, identify the trajectory adjustment, and display the cue until it can be determined in step 635 that the difference between the target location and the predicted location is within a predetermined threshold. The predetermined threshold is a matter of design choice and can vary based on one or more of the target volume, NFC antenna, etc.

[0105] Once it is determined in step 635 that the variance is within the threshold, the card can be considered aligned, and in step 630, the NFC mobile device can be triggered in step 640 to initiate a communication exchange with the card.

[0106] According to one aspect, the data exchange can be a cryptographic data exchange as described in the '119 application. During the cryptographic exchange, after communication has been established between the phone and the contactless card, the contactless card can generate a message authentication code (MAC) password according to the NFC data exchange format. In particular, this can occur when reading (such as NFC reading) a Near Field Data Exchange (NDEF) tag, which can be created according to the NFC data exchange format. For example, an application executed by device 100 ( Figure 1A ) can transmit a message to the contactless card 150 ( Figure 1A ), such as a mini-program selection message (with a mini-program ID that generates a NDEF mini-program), where the mini-program can be a mini-program stored in the memory of the contactless card and is operable to generate an NDEF tag when executed by the processing component of the contactless card. After the selection is confirmed, a sequence of a selection file message followed by a read file message can be transmitted. For example, the sequence might include "Select Function File", "Read Function File", and "Select NDEF File". At this time, the counter value held by the contactless card can be updated or incremented, and subsequently, "Read NDEF File" can follow.

[0107] At this time, a message can be generated that can include a header and a shared secret. Then a session key can be generated. A MAC password can be created based on the message, which can include the header and the shared secret. The MAC password can then be concatenated with one or more random data blocks, and the MAC password and the random number (RND) can be encrypted with the session key. Thereafter, the password and the header can be concatenated, encoded as ASCII hexadecimal, and returned in NDEF message format (in response to the "Read NDEF file" message).

[0108] In some examples, the MAC password can be transmitted as an NDEF tag, and in other examples, the MAC password can be included with a uniform resource indicator (e.g., as a formatted string).

[0109] In some examples, the application can be configured to transmit a request to the contactless card, the request including instructions to generate a MAC password, and the contactless card sends the MAC password to the application.

[0110] In some examples, the transmission of the MAC password occurs via NFC, however, the present disclosure is not limited thereto. In other examples, such communication can be performed via Bluetooth, Wi-Fi, or other wireless data communication means.

[0111] In some examples, the MAC password can act as a digital signature for verification purposes. For example, in one embodiment, the MAC password can be generated by a device configured to implement key diversification using a counter value. In such a system, the transmitting device and the receiving device can be provided with the same master symmetric key. In some examples, the symmetric key can include a shared secret symmetric key, which can be kept secret from all parties other than the transmitting device and the receiving device that participate in the exchange of secure data. It should also be understood that both the transmitting device and the receiving device can be provided with the same master symmetric key, and it should also be understood that a portion of the data exchanged between the transmitting device and the receiving device includes at least a portion of the data that can be referred to as a counter value. The counter value can include a number that changes each time data is exchanged between the transmitting device and the receiving device. In addition, the transmitting device and the receiving device can use an appropriate symmetric cryptographic algorithm, which can include at least one of a symmetric encryption algorithm, an HMAC algorithm, and a CMAC algorithm. In some examples, the symmetric algorithm for processing the diversification value can include any symmetric cryptographic algorithm that is used as needed to generate a diversification symmetric key of a desired length. Non-limiting examples of symmetric algorithms can include symmetric encryption algorithms (such as 3DES or AES128), symmetric HMAC algorithms (such as the HMAC-SHA-256 algorithm), and symmetric CMAC algorithms (such as AES-CMAC).

[0112] In some embodiments, the transmission device may employ a selected cryptographic algorithm and use a master symmetric key to process a counter value. For example, the sender may select a symmetric encryption algorithm and use a counter that is updated with each conversation between the transmission device and the receiving device. The transmission device may then use the master symmetric key to encrypt the counter value using the selected symmetric encryption algorithm, thereby creating a diversified symmetric key. The diversified symmetric key may be used to process sensitive data before transmitting the result to the receiving device. The transmission device may then transmit the protected encrypted data along with the counter value to the receiving device for processing.

[0113] The receiving device may first obtain the counter value and then perform the same symmetric encryption using the counter value as the input to the encryption and the master symmetric key as the key for 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 and the diversified symmetric key to decrypt the protected encrypted data to reveal the original sensitive data. The next time sensitive data needs to be sent from the sender to the receiver via the respective transmission and receiving devices, a different counter value may be selected to generate a different diversified symmetric key. By processing the counter value using the master symmetric key and the same symmetric cryptographic algorithm, both the transmission device and the receiving device can independently generate the same diversified symmetric key. This diversified symmetric key (rather than the master symmetric key) may be used to protect sensitive data.

[0114] In some examples, the key diversification value may include a counter value. Other non-limiting examples of key diversification values include: a random number generated each time a new diversified key is needed, which is sent from the transmission device to the receiving device; the full value of the counter value sent from the transmission device and the receiving device; a portion of the counter value sent from the transmission device and the receiving device; a counter independently maintained by the transmission device and the receiving device but not sent between the two devices; a one-time passcode exchanged between the transmission device and the receiving device; and a cryptographic hash of the sensitive 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, the counter may be used as the key diversification value. Further, a combination of one or more of the above exemplary key diversification values may be used.

[0115] Figure 9FIG. 900 is a flow chart showing the alignment of a contactless card with an NFC mobile device equipped with a proximity sensor and imaging hardware and software using the position alignment system disclosed herein. At step 905, the position alignment logic detects a request for a communication exchange to be performed by the device. At step 910, the position alignment logic (which uses the proximity sensor of the device) measures the reflected energy transmitted by the device and reflected back to the device, including determining when the reflected energy exceeds a predetermined threshold indicating proximity of the card to the device.

[0116] Figure 10 A contactless card 1030 is shown proximate to the operating volume 1020 of proximity sensor 1015 of phone 1010. When the phone enters the operating volume 1020, in one embodiment, an infrared light beam transmitted by proximity sensor 1015 is reflected back to proximity sensor 1015 as signal R 1035. As the card moves closer to the operating volume of the phone, the intensity of the reflected signal increases until a trigger threshold is reached, at which point the proximity sensor indicates that the card is "near". In some embodiments, during a proximity search, the display 1050 of the phone may prompt the user, for example, by providing a notification that it is searching for the card, by providing visual or auditory instructions, etc. Figure 10 as shown.

[0117] At step 915 ( Figure 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 the three-dimensional volume proximate to the device when the reflected energy exceeds a predetermined threshold. Depending on the position of the NFC reader and the position of the camera on the phone, it will be appreciated that a camera having an operating volume that includes at least a portion overlapping the operating volume of the NFC interface of the phone may be selected for image capture.

[0118] At step 920, the position alignment logic processes the captured plurality of images to determine the position and trajectory of the card within the three-dimensional volume proximate to the device. As previously described, this processing may be performed by one or both of a machine learning model trained using historical attempts to guide the card to a target position and a simultaneous localization and mapping (SLAM) process. At step 925, the position alignment process predicts the projected position of the card relative to the device based on the position and trajectory of the card, and at step 930, identifies one or more differences between the projected position and the target position, including identifying at least one trajectory adjustment selected to reduce the one or more differences, and identifying one or more cues for implementing the trajectory adjustment, and at step 935, the position alignment process displays one or more cues on the display of the device.

[0119] Figure 11An exemplary display 1105 of a telephone 1110 that captures image information related to a card 1150 within a target volume 1120 is shown. The display 1105 may include a plurality of cues such as position cues 1115 associated with a target position, image cues 1130, and arrow cues 1140 that may be displayed to a user to assist in guiding the card 1150 to a target location. The image cues 1130 may include, for example, a portion of an image captured by an imaging component of the telephone 1110 during position alignment and may be helpful to the user to understand their movement relative to the target. The arrow 1140 may provide directional assistance, such as as Figure 11 shown, to monitor a user's upward adjustment of the card for proper alignment. Other types of cues may also be used, including but not limited to text instructions, symbols, and / or emojis, auditory instructions, color-based guidance (i.e., displaying a first color (such as red) to the user when the card is relatively far from the target and transitioning the screen to green when the card becomes aligned).

[0120] In step 940 ( Figure 9 ), the position alignment process may repeat the following steps until one or more differences are within a predetermined threshold: capture image information, determine the position and trajectory of the card, predict the projected position of the card, identify one or more differences, at least one trajectory adjustment, and one or more cues, and display one or more cues. In step 945, when the difference is less than the predetermined threshold, the position alignment process may trigger the reading of the card by a card reader of the device. In some embodiments, the position alignment process may continue to operate during data exchange between the card and the mobile device, for example, providing cues to adjust the position of the card if the card moves during reading.

[0121] Figure 12A , Figure 12B and Figure 12C are examples of display cues that may be provided by the position alignment process once alignment is detected. In Figure 12A , when the card is aligned with the target position, a cue 1220 may be provided to notify the user. In some embodiments, the interface may provide a link (such as link 1225) to enable the user to initiate card reading via the telephone. In other embodiments, alignment may automatically trigger card reading.

[0122] In Figure 12B , during the card reading process, cues may be provided to the user, such as a countdown cue 1230. Additionally, additional cues, such as an arrow 1240, may be provided to enable the user to correct for any movement that may occur to the card during reading to ensure that connectivity is not lost and to increase the success rate of NFC communication. As Figure 12C shown, after reading, the display provides the user with a notification 1250 regarding the success or failure of the communication exchange

[0123] Accordingly, a position alignment system and method have been shown and described that assist in positioning a contactless card in a target volume relative to a contactless card reader device. Alignment logic uses information captured from available imaging devices such as infrared proximity detectors, cameras, infrared sensors, dot matrix projectors, etc. to guide the card to a target position. One or both of a machine learning model and / or simultaneous localization and mapping logic can be used to process the captured image information to identify the card position, trajectory, and predicted position. Machine learning techniques can be used to intelligently control and customize trajectory adjustment and cue identification to customize the guidance based on user preferences and / or historical behavior. As a result, the speed and accuracy of contactless card alignment are improved, and the received NFC signal strength is maximized, thereby reducing the occurrence of dropped transactions.

[0124] The above techniques have discussed various methods for placing a contactless card in a desired position relative to the reader interface of a device once the proximity of the card is initially detected using a proximity sensor. However, it should be understood that the principles disclosed herein can be extended to use the captured image data to detect the proximity of the card, thereby augmenting or completely replacing the proximity sensor information. The captured image information can also be processed to determine when the card is in a particular position relative to the reader interface and automatically perform operations associated with user interface elements, e.g., automatically trigger an NFC read operation or other functions by a mobile device without waiting for user input. Such an arrangement enables the ability to automatically trigger control operations without the need for user input (e.g., bypassing the need for human interaction with the user interface elements of the device).

[0125] According to one aspect, the image processing logic 415( Figure 4 ) can be enhanced to include program code for determining image parameters that can indicate the proximity of the card to the reader. For example, the image parameters can be related to proximity features of the image (i.e., features that indicate an object may be approaching the camera). In some embodiments, the reader can be positioned on the same surface as the camera of the device used to capture the image, and thus the image information can further indicate the proximity of the card to the reader. In various embodiments, the reader / camera can be positioned on the front or back of the device.

[0126] In some embodiments, the image parameters include one or more of the darkness level and / or complexity level of the image. For example, now briefly refer to Figure 13A and Figure 13B, the device 1310 can be a device with a contactless card reading interface configured as described above to obtain a MAC password from a contactless card 1320, for example, when the card 1320 is brought close to the device 1310. For example, the device can send a mini-program selection message with the mini-program ID of a mini-program that generates NDEF, where the mini-program can be a mini-program stored in the memory of the contactless card and is operable to generate an NDEF tag when executed by the processing component of the contactless card. According to one aspect, a series of images can be captured using the device's camera, and the darkness level and / or complexity level can be analyzed to determine when the card is likely at a preferred distance from the device, thereby automatically triggering the forwarding of an NFC reading operation from the NDEF generation mini-program of the contactless card.

[0127] In Figure 13A and Figure 13B , for purposes of illustration only, the image 1320 is shown on the display 1340 of the device 1310, although it is not necessary to display the captured images for determining card proximity as disclosed herein on the device 1310.

[0128] According to one embodiment, when the device initiates NFC communication (e.g., by a user selecting an NFC reading operation (such as button 1225) on the user interface of the device, or by the device receiving a request to initiate NFC communication with the card from a third party (such as a merchant application or a mobile communication device), etc.), the device can capture a series of images of the spatial volume close to the device. The series of images can be processed to identify one or more image parameters of one or more of the images in the series, including but not limited to the darkness level or complexity level of the images. The complexity level and / or darkness level can be used to trigger NFC reading. Alternatively or in combination, image processing can include identifying trends and / or patterns in terms of the darkness and / or complexity levels of a series of images or parts of a series of images indicating the advancement of the card. The identification of trends and / or patterns within a series of images indicating that the card may have a preferred distance relative to the device can be used to automatically trigger NFC reading.

[0129] For example, as Figures 13A to 13C shown, when the card is farther from the device, the captured image (represented herein as image 1330A) may be relatively brighter than the image 1330B captured relatively later when the card 1320 is closer to the device. As Figure 13B shown, as the card moves closer, the image becomes darker until, as Figure 13C shown, the captured image (not visible in Figure 13C ) darkens and the card 1320 blocks the light and appears in the image. This may be because when the card is close to the device, the card (or hand) may block the ambient light received by the camera.

[0130] As mentioned above, the presence of a card at a preferred distance from the device can be determined in response to the darkness level, darkness level trend, complexity level, and / or complexity level trend in a captured series of images. In particular, the presence of the card can be determined by processing the pixel values of the series of images to identify the darkness level of each processed pixel. For example, gray scale values are assigned to the pixels. The darkness level of the image can be determined by averaging the darkness levels of the image pixels. In some embodiments, when the card is at the preferred distance from the device, the darkness level can be compared to a threshold corresponding to the darkness level, such that this distance enables a successful NFC read operation. In some embodiments, the threshold can be an absolute threshold; for example, in a system where "0" indicates white and "1" indicates black, when the darkness level is equal to 0.8 or greater, the card can be considered "present" and the reader can be enabled. In other embodiments, the threshold can be a relative threshold that takes into account the ambient light of the environment in which the communication exchange is to occur. In such embodiments, the first captured image can provide a baseline darkness level, and the threshold can be related to the amount by which the threshold is exceeded to trigger NFC communication; for example, the threshold can be a relative threshold. For example, in a dark room where the initial darkness level is 0.8, it may be desirable to delay triggering NFC communication until the darkness level is equal to 0.95 or higher.

[0131] In addition to triggering NFC communication based on a separately calculated darkness level, the system also contemplates identifying a trend or pattern in the image darkness level to trigger an NFC read. Identifying a trend can include, for example, determining an average over a set of images and triggering a read when the average over the set of images meets a threshold. For example, while a single image may exceed the threshold, the position of the card may not be stable enough to perform an NFC read, and thus it may be desirable to require a predetermined number of consecutively captured images to exceed the darkness threshold before triggering a read. Additionally or alternatively, consecutive processed images can be monitored to identify spikes and / or plateaus, i.e., sudden shifts in the darkness level maintained between consecutive images that indicate activity at the reader.

[0132] In some embodiments, the darkness level of the entire image can be determined by averaging at least one subset of the calculated pixel darkness values. In some embodiments, certain darkness values can be weighted to increase their relevance to the darkness level calculation; for example, those portions of the image known to be closer to the reader or closer to the identified feature may have a higher weight than those portions that are farther from the reader.

[0133] As described above, a complexity level can be calculated for each captured image, where the complexity level is generally related to the frequency distribution of pixel values within the captured image. In one embodiment, the complexity value can be determined pixel by pixel by comparing the pixel value of each pixel with the pixel values of one or more adjacent pixels. As the card gets closer to the device, as Figure 13B shown, if the card is properly positioned, the background image may be blocked by the card. When the card covers the image, the image becomes more uniform by default, and adjacent pixels typically contain the same pixel value. In various embodiments, the complexity can 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 can be determined by examining the adjacent pixel values. The complexity level of the entire image can be determined by averaging at least one subset of the calculated pixel complexity values. In some embodiments, certain complexity levels can be weighted to increase their relevance to the complexity calculation; for example, those portions of the image known to be close to the card reader or an identified feature may have a higher weight than those portions that are farther away from the card reader or the identified feature.

[0134] In other embodiments, machine learning methods such as those disclosed herein can enhance image processing, for example by identifying patterns in pixel darkness / pixel complexity values in successive images that indicate known card activity approaching the card reader. Such patterns can include, for example, pixel darkness / complexity levels that change in a known manner (i.e., getting darker from top to bottom or from bottom to top). The patterns can also include image elements (such as stripes, icons, print, etc.) that assist in card identification and can be used as described above to provide a cue for proper placement of a particular identified card. Over time, information related to successful and unsuccessful card reads can be used to determine an appropriate image pattern that establishes card presence for a successful NFC card communication exchange.

[0135] Figure 14 is a flowchart of exemplary steps that can use one or both of the darkness and / or complexity image attributes described above to trigger an NFC card read. At step 1410, near field communication can be initiated by the device. The initiation of near field communication may occur due to the selection of a user interface element on the device (such as Figure 12A the read button 1225 in ). Alternatively or in combination, the initiation of near field communication can occur as a result of an action performed by an application executing on the device (such as an application that uses a password from the card for authentication or other purposes).

[0136] During the initiation of NFC communication, at step 1420, a camera of the device (such as a front camera) can capture a series of images of the volume of space in front of the device's camera. In some embodiments, 60, 120, 240, or more images can be captured per second, although the present disclosure is not limited to capturing any particular number of images in the series. At step 1430, the images can 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 images is compared with a predetermined darkness level (e.g., a darkness level associated with a preferred distance for near-field communication operation). At step 1450, when it is determined that the darkness corresponds to the preferred darkness level for an NFC read operation, the NFC read operation can be automatically triggered, for example, to transmit the password of the applet from the card.

[0137] In some embodiments, the automatic triggering of the NFC read operation can bypass or replace the triggering historically provided by user interface elements. For example, in some embodiments, a graphical user interface element such as a read button (1225) can be provided on the device so that when the user determines that the card can be properly positioned relative to the device, the user can activate NFC communication. In some embodiments, the user interface element can be associated with a function such as a read operation. It will be appreciated that the techniques described herein can be used to trigger other user interface elements and that various corresponding associated functions can be automatically triggered. The automatic triggering disclosed herein can reduce the latency and inaccuracy associated with historically controlled user interface elements, thereby improving the NFC communication flow and success rate.

[0138] Accordingly, a system and method for using captured image information to detect the presence of a card to trigger NFC reading have been shown and described. Such a system can utilize the machine learning method and / or the SLAM method described in more detail above to provide additional guidance before triggering card reading. With such an arrangement, the placement of the card is improved, and the success rate of NFC communication exchanges can be increased.

[0139] As used in this application, the terms "system", "component", and "unit" are intended to refer to computer-related entities, either hardware, a combination of hardware and software, software, or software in execution, examples of which are described herein. For example, a component can be, but is not limited to, a process running on a processor, a processor, a hard disk drive, multiple storage drives, (optical and / or magnetic storage media) non-transitory computer-readable media, an object, an executable file, an executing thread, a program, and / or a computer. For example, both an application running on a server and the server can be components. One or more components can reside in a process and / or an executing thread, and a component can be located on one computer and / or distributed between two or more computers.

[0140] Further, the components can be communicatively coupled to each other via various types of communication media to coordinate operations. The coordination can include one-way or two-way information exchange. For example, the components can transmit information in the form of signals transmitted through the communication media. The information can be implemented as signals assigned to various signal lines. In such an assignment, each message is a signal. However, additional embodiments can alternatively employ data messages. Such data messages can be sent via various connections. Exemplary connections include parallel interfaces, serial interfaces, and bus interfaces.

[0141] Some embodiments may use the phrases "one embodiment" or "an embodiment" and their derivatives to describe. These terms mean that the particular features, structures, or characteristics described in connection with the embodiment are included in at least one embodiment. The appearances of the phrase "in one embodiment" in different places in the specification do not necessarily all refer to the same embodiment. Additionally, unless otherwise stated, the features described above are considered to be usable in any combination together. Thus, any individually discussed feature can be used in combination with each other, unless it is noted that these features are incompatible with each other.

[0142] Generally referring to the symbols and nomenclature used herein, the detailed description herein can be presented in terms of functional blocks or units that can be implemented as program processes executed on a computer or a network of computers. These program descriptions and representations are used by those skilled in the art to most effectively convey the substance of their work to other skilled persons in the art.

[0143] A program is herein and generally considered to be a self-consistent sequence of operations that results in a desired outcome. These operations are those that require physical manipulation of physical quantities. Typically, although not necessarily, these quantities take the form of electrical, magnetic, or optical signals that can be stored, transmitted, combined, compared, and otherwise manipulated. Primarily for generality reasons, it has sometimes proven convenient to refer to these signals as bits, values, elements, symbols, characters, items, numbers, etc. However, it should be noted that all these and similar terms are associated with appropriate physical quantities and are merely convenient labels applied to these quantities.

[0144] Further, the manipulations performed are typically referred to by terms such as addition or comparison, which are commonly associated with mental operations performed by a human operator. In any of the operations described herein that form part of one or more embodiments, the ability of a human operator is not required or, in most cases, not desired. Instead, these operations are machine operations. Useful machines for performing the operations of the various embodiments include general-purpose digital computers or similar devices.

[0145] Some embodiments may be described using the terms "coupled" and "connected" and their derivatives. These terms are not necessarily intended to be synonymous with 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 also mean that two or more elements are not in direct contact with each other, but still cooperate or interact with each other.

[0146] It is emphasized that the abstract of the present disclosure is provided to enable 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. Additionally, in the foregoing detailed description, various features are grouped together in a single example 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 reflected in the following claims, the inventive subject matter lies in less than all of the features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the detailed description, with each claim standing on its own as a separate embodiment. In the appended claims, the terms "including" and "in which" are used as the plain-English equivalents of the respective terms "comprising" and "wherein". Moreover, the terms "first", "second", "third", etc. are used merely as labels and are not intended to impose numerical requirements on their objects.

[0147] 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 methods, but one of ordinary skill in the art will recognize that many further 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. A method for aligning a contactless card for short - range communication, comprising: Generating, on a device, a prompt to communicatively couple the contactless card with the device; Detecting, by a proximity sensor of the device, the contactless card approaching the device; In response to determining, by the proximity sensor, that reflected energy reflected by the contactless card exceeds a predetermined threshold, capturing, by a camera of the device, a series of images of a three - dimensional volume approaching the device when the contactless card is close to the device; Processing the series of images to determine the position and trajectory of the contactless card within the three - dimensional volume approaching the device; Based on the series of images, determining that the contactless card is at a target position relative to the device; And Triggering an interface of the device to perform short - range communication with the contactless card.

2. The method according to claim 1, wherein, Processing the series of images to determine the position and 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 according to claim 1, wherein: Capturing the series of images is performed by one or more of the camera of the device, an infrared sensor of the device, or a dot projector of the device; and The series of images includes 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.

4. The method according to claim 3, further comprising generating a volume map of the three - dimensional volume approaching the device using the series of images obtained from one or more of the camera, the infrared sensor, and the dot projector, the volume map including pixel data of a plurality of pixel positions within the three - dimensional volume approaching the device.

5. The method according to claim 1, wherein Processing the series of images to determine the position and trajectory of the contactless card includes forwarding the series of images to a feature extraction machine learning model, the feature extraction machine learning model being trained to process the series of images to detect one or more features of the contactless card and to identify the position and trajectory of the contactless card in response to the detected one or more features.

6. The method according to claim 5, further comprising forwarding the series of images to a second machine learning model, the second machine learning model being trained to predict the position and trajectory based on historical attempts to locate the contactless card.

7. The method according to claim 6, wherein The historical attempts for training the second machine learning model are customized for a user of the device.

8. The method according to claim 1, wherein The prompt includes a visual prompt, an audible prompt, or a combination thereof.

9. A computing device, comprising: A processor circuit; A memory coupled to the processor circuit, the memory being configured to store instructions that, when executed by the processor circuit, cause the processor circuit to: Generate a prompt to communicatively couple a contactless card with the computing device; Detect, via a proximity sensor of the computing device, the contactless card approaching the computing device; In response to the proximity sensor determining that the reflected energy reflected by the non-contact card exceeds a predetermined threshold, a series of images of the three-dimensional volume approaching the computing device are captured by the camera of the computing device when the non-contact card is close to the computing device; Process the series of images to determine the position and trajectory of the non-contact card within the three-dimensional volume approaching the computing device; Based on the series of images, determine that the non-contact card is at a target position relative to the computing device; and Trigger the interface of the computing device to perform short-range communication with the non-contact card.

10. The computing device according to claim 9, wherein, Processing the series of images to determine the position and trajectory of the non-contact card uses at least one of a machine learning model or a Simultaneous Localization and Mapping (SLAM) process.

11. The computing device according to claim 9, wherein: Capturing the series of images is performed by one or more of the camera of the computing device, the infrared sensor of the computing device, or the dot projector of the computing device; and The series of images includes one or both of two-dimensional image information and three-dimensional image information related to one or more of the infrared energy and visible light energy measured at the computing device.

12. The computing device according to claim 11, wherein, The instructions further cause the processor circuit to use the series of images obtained from one or more of the camera, the infrared sensor, and the dot projector to generate a volume map of the three-dimensional volume approaching the computing device, the volume map including pixel data of a plurality of pixel positions within the three-dimensional volume approaching the computing device.

13. The computing device according to claim 9, wherein Processing the series of images to determine the position and trajectory of the non-contact card includes forwarding the series of images to a feature extraction machine learning model, which is trained to process the series of images to detect one or more features of the non-contact card and identify the position and trajectory of the non-contact card in response to the detected one or more features.

14. The computing device according to claim 13, wherein, The instructions further cause the processor circuit to forward the series of images to a second machine learning model, which is trained to predict the position and trajectory based on historical attempts to locate the non-contact card.

15. The computing device according to claim 14, wherein, The historical attempts for training the second machine learning model are customized for the user of the computing device.

16. The computing device according to claim 9, wherein, The prompt includes a visual prompt, an audible prompt, or a combination thereof.

17. A non-transitory computer-readable medium including instructions that, when executed by a processing circuit, cause the processing circuit to: Generate a prompt for communicatively coupling a non-contact card to a computing device; Detect the non-contact card approaching the computing device via the proximity sensor of the computing device; In response to the proximity sensor determining that the reflected energy reflected by the non-contact card exceeds a predetermined threshold, a series of images of the three-dimensional volume approaching the computing device are captured by the camera of the computing device when the non-contact card is close to the computing device; Process the series of images to determine the position and trajectory of the non-contact card within the three-dimensional volume approaching the computing device; Based on the series of images, determine that the contactless card is at a target position relative to the computing device; and Trigger an interface of the computing device to perform short-range communication with the contactless card.

18. The non-transitory computer-readable medium according to claim 17, wherein, Process the series of images to determine the position and trajectory of the contactless card using at least one of a machine learning model or a Simultaneous Localization and Mapping (SLAM) process.

19. The non-transitory computer-readable medium according to claim 17, wherein: Capturing the series of images is performed by one or more of the camera of the computing device, the infrared sensor of the computing device, or the dot projector of the computing device; and The series of images includes one or both of two-dimensional image information and three-dimensional image information related to one or more of the infrared energy and visible light energy measured at the computing device.

20. The non-transitory computer-readable medium according to claim 19, wherein, The instructions further cause the processing circuit to generate a volumetric map of a three-dimensional volume proximate to the computing device using the series of images obtained from one or more of the camera, the infrared sensor, and the dot projector, the volumetric map including pixel data for a plurality of pixel positions within the three-dimensional volume proximate to the computing device.

Citation Information

Patent Citations

  • Systems and methods for cryptographic authentication of contactless cards

    US10581611B1

  • Information processing device, information processing method, and program

    WO2018016203A1