System and method for guiding card positioning using phone sensor

The method and device enhance NFC transactions by guiding contactless cards to optimal positions using imaging and machine learning, addressing signal strength issues and improving transaction success.

JP2025111676APending Publication Date: 2025-07-30CAPITAL ONE SERVICES LLC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2025073280
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-07-15
Filing Date
2025-04-25
Publication Date
2025-07-30

AI Technical Summary

Technical Problem

NFC signal strength is often disrupted during contactless card transactions due to card movement relative to the device, leading to transaction failures and customer dissatisfaction.

Method used

A method and device that utilize imaging devices and machine learning models to guide the contactless card to a target position, adjusting its trajectory in real-time to maximize NFC signal strength by processing images to determine position and trajectory, and providing prompts for alignment.

Benefits of technology

Improves the speed and accuracy of contactless card alignment, reducing transaction failures by maintaining optimal NFC signal strength.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025111676000001_ABST
    Figure 2025111676000001_ABST
Patent Text Reader

Abstract

To provide a method and device for facilitating positioning of a contactless card in a sweet spot in a target volume relative to a contactless card reading device.SOLUTION: A method includes: using information captured from available imaging devices such as infrared proximity detectors, cameras, infrared sensors, dot projectors, and the like to guide a card to a target location; processing the captured image information to identify a card position, trajectory and predicted location using one or both of a machine learning model and / or simultaneous localization and mapping logic; and controlling and customizing trajectory adjustment and prompt identification intelligently using machine-learning techniques to customize guidance based on the preference and / or historical behavior of the user. As a result, the speed and accuracy of contactless card alignment is improved and received NFC signal strength is maximized, thereby reducing the occurrence of dropped transactions.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Related Applications This application claims priority to U.S. Patent Application No. 16 / 511,683, entitled "Systems and Methods for Guiding Card Positioning Using a Phone Sensor," filed on Jul. 15, 2019. The contents of the foregoing application are hereby incorporated by reference in their entirety.

Background Art

[0002] Near Field Communication (NFC) includes a series of communication protocols that enable electronic devices such as mobile devices and contactless cards to communicate information wirelessly. NFC devices can be used in contactless payment systems, similar to those used in contactless credit cards and electronic ticket smart cards. In addition to payment systems, NFC-enabled devices can function, for example, as electronic ID documents and key cards.

[0003] Contactless devices (e.g., cards, tags, transaction cards, etc.) can use NFC technology for bi-directional or uni-directional contactless short-range communication, for example, based on the use of Radio Frequency Identification (RFID) standards, EMV standards, or NFC Data Exchange Format (NDEF) tags. The communication can use magnetic field induction to enable communication between a powered electronic device, including a mobile wireless communication device, and a non-powered or passively powered device such as a transaction card. In some applications, high-frequency wireless communication technology enables data exchange between devices at short distances, such as a few centimeters, and two devices can operate most efficiently in a specific arrangement configuration.

[0004] The advantages of using the NFC communication channel for non-contact card transactions are numerous, such as easy setup and low complexity. However, one of the problems faced by NFC data exchange is that it may be difficult to transmit signals between devices equipped with small antennas such as non-contact cards. The movement of the non-contact card relative to the device during NFC exchange can have an undesirable impact on the NFC signal strength received by the device and may interrupt the exchange. Furthermore, due to the functions of the card, such as a metal card, noise, signal reception attenuation, or other reflections may occur, and the NFC read transaction may be accidentally triggered. In the case of a system that uses a non-contact card for authentication and transaction purposes, delays and interruptions can result in lost transactions and customer dissatisfaction.

Summary of the Invention

[0005] One or more computer systems may be configured to perform a particular operation or action by installing in the system software, firmware, hardware, or a combination thereof that causes the system to perform the action or cause the action during operation. When executed by a data processing device, one or more computer programs may be configured to perform a particular operation or action by including instructions that cause the device to perform the action.

[0006] According to one general aspect, a method for guiding the positioning of a card to a target position relative to a device includes a proximity sensor detecting that the card is in proximity to the device, and in response to the card being in proximity to the device, the device capturing a series of images of a three-dimensional volume proximate to the device, processing the series of images to determine the position and trajectory of the card within the three-dimensional volume proximate to 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 dispersions between the projected position and the target position, including identifying one or more trajectory adjustments predicted to reduce one or more of the dispersions and one or more prompts predicted to achieve the trajectory adjustments, displaying the one or more prompts on a display of the device, and 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 dispersions, at least one trajectory adjustment, and the one or more prompts, and displaying the one or more prompts until the one or more dispersions are within a predetermined threshold, and triggering an event at the device to obtain data from the card in response to the one or more dispersions being within the predetermined threshold. Other embodiments of this aspect include corresponding computer systems, apparatuses, and computer programs recorded on one or more computer storage devices configured to perform the operations of the method, respectively.

[0007] Implementation may include one or more of the following functions. The step of processing a series of images to determine the position and trajectory of a card within a three-dimensional volume proximate to the device is a method that uses at least one of a machine learning model or a simultaneous localization and mapping (slam) process. The method includes the steps of capturing a series of images during an event, determining the position and trajectory of the card, predicting the projected position of the card, identifying one or more variances, at least one trajectory adjustment, and one or more prompts, and repeating the step of displaying one or more prompts to confirm that the variance remains within a predetermined threshold and enable the device to read data from the card. The step of triggering an event includes initiating data exchange between the card and the device, and the data exchange is related to at least one of a financial transaction and an approval transaction. The step of capturing a series of images is performed by one or more of a device camera, a device infrared sensor, or a device dot projector, 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 by the device. The method includes the step of generating a volume map of a three-dimensional volume proximate to the device using a series of images obtained from one or more of a camera, an infrared sensor, and a dot projector, and the volume map includes pixel data for a plurality of pixel positions within the three-dimensional volume proximate to the device. The step of processing a series of images to determine the position and trajectory of the card includes transferring the series of images to a feature extraction machine learning model trained to process the volume map to detect one or more features of the card and identify the position and trajectory of the card within the volume map in response to the one or more features. The step of predicting the projected position of the card relative to the device includes transferring the position and trajectory of the card to a second machine learning model trained to predict the projected position based on past attempts to place the card.Past attempts used to train a second machine learning model are ways that are customized to the user of the device. One or more prompts are ways that include at least one of a visual prompt, an audible prompt, or a combination of visual and audible prompts. Implementations of the described techniques may include hardware, a method or process, or computer software on a computer-accessible medium.

[0008] According to one general aspect, a device includes a proximity sensor configured to detect whether a card is in proximity to the device, an image capture device coupled to the proximity sensor and configured to capture a series of images of a three-dimensional volume in proximity to the device, a processor coupled to the proximity sensor and the image capture device, a display interface coupled to the processor, a card reader interface coupled to the processor, and a non-transitory medium storing alignment program code configured to guide the card to a target position relative to the device. The alignment program code is operable when executed by the processor to monitor for the card being in proximity to the device, enable the image capture device to capture a series of images of a three-dimensional volume in proximity to the device, process the series of images to determine the position and trajectory of the card within the three-dimensional volume in proximity to the device, predict the projected position of the card relative to the device based on the position and trajectory of the card, identify one or more variances between the projected position and the target position, including at least one trajectory adjustment and identification of one or more prompts to achieve the at least one trajectory adjustment, where the at least one trajectory adjustment is predicted to reduce the one or more variances, display one or more prompts on the display interface during at least one of before and during a card reading operation, and trigger a card reading operation by the card reader interface when the one or more variances are within a predetermined threshold. Other embodiments of this aspect include corresponding computer systems, devices, and computer programs recorded on one or more computer storage devices each configured to execute an operation of the method.

[0009] Implementation may include one or more of the following features. Program code that is operable when executed to process a series of images to determine the position and trajectory of a card within a three-dimensional volume proximate to the device uses at least one of a machine learning model or a simultaneous localization and mapping (slam) process, the device of claim 11. The card reading operation is a device associated with one of a financial transaction and an approval transaction. The image capture device includes one or more of a camera, an infrared sensor, or a dot projector, and the series of images is a device that captures one or more of infrared energy and visible light energy measured by the device. The series of images is a device that includes one or both of two-dimensional image information and three-dimensional image information. The alignment program code is further configured to generate a volume map of a three-dimensional volume proximate to the device using a series of images, an infrared sensor, and a dot projector, the volume map being a device that includes pixel data at a plurality of pixel positions within a three-dimensional volume proximate to the device. The device further includes a feature extraction machine learning model and is trained to predict a projection position using past attempts to place a card within a three-dimensional volume proximate to the device. The past attempts are the device's user-specific past attempts. The one or more prompts include at least one of a visual prompt, an audible prompt, or a combination of visual and audible prompts. Implementation of the described techniques may include hardware, a method or process, or computer software on a computer-accessible medium.

[0010] According to one general aspect, a method for guiding a card to a target position relative to a device includes the device detecting a request to perform a transaction, measuring the proximity of the card to the device using a proximity sensor of the device, and 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 proximate to the device, processing the series of images to determine the position and trajectory of the card within the three-dimensional volume proximate to the device, where the processing is performed by at least one of a machine learning model trained using past attempts to guide the card to the target position or a simultaneous localization and mapping (slam) process, predicting the projected position of the card relative to the device based on the position and trajectory of the card, identifying one or more dispersions between the projected position and the target position, identifying at least one trajectory adjustment selected to reduce one or more of the dispersions and one or more prompts to achieve the trajectory adjustment, displaying the one or more prompts 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 one or more dispersions, at least one trajectory adjustment, and one or more prompts, and displaying the one or more prompts until the one or more dispersions are within a predetermined threshold, and triggering the reading of the card by a card reader of the device when the dispersion is less than the predetermined threshold. Other embodiments of this aspect include corresponding computer systems, devices, and computer programs recorded on one or more computer storage devices configured to perform the operations of the method, respectively. Brief Description of the Drawings

[0011]

Figure 1A

Figure 1B

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12A

Figure 12B

Figure 12C

Figure 13A

Figure 13B

Figure 13C

Figure 14

DETAILED DESCRIPTION OF THE INVENTION

[0012] The position alignment system and method disclosed herein facilitate the positioning of a contactless card relative to a device, for example, positioning the contactless card in proximity 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 the contactless card. Upon detection of the approach, a series of images may be captured by one or more imaging elements of the device, including, for example, the device's camera and / or the device's infrared sensor / dot projector. The series of images may be processed to determine the position and trajectory of the card relative to the device. The position and trajectory information may be processed by a prediction model to identify trajectory adjustments for reaching the target position and one or more prompts for achieving the trajectory adjustments. Such a configuration uses the existing imaging capabilities of a 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.

[0013] According to one aspect, a trigger system may automatically initiate short-range wireless communication between the device and the card to communicate a ciphertext from the card's applet to the device. The trigger system may operate in response to the darkness level or a change in the darkness level of a series of images captured by the device. The trigger system may operate in response to the complexity level or a change in the complexity level of a series of images. The trigger system may automatically trigger an operation controlled by the device's user interface, such as automatically triggering the reading of the card, for example. The trigger system may be used alone or with the aid of one or more aspects of the position alignment system disclosed herein.

[0014] These and other features of the present invention will be described with reference to the figures, and like reference numbers are used throughout to refer to like elements. With general reference to the notation and nomenclature used herein, the following detailed description may be presented with respect to program processes executed on a computer or a network of computers. The description and representation of these processes are used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art.

[0015] A process is described herein and is generally considered to be a self-consistent sequence of operations leading to a desired result. A process may be implemented in hardware, software, or a combination thereof. These operations are those that require physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or optical signals that can be stored, transferred, combined, compared, and otherwise manipulated. For primarily reasons of common usage, it may be convenient to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, and so forth. However, it should be noted that all of these and similar terms are merely convenient labels associated with appropriate physical quantities and nothing more.

[0016] Furthermore, the operations performed are often referred to in terms such as addition or comparison, which are generally associated with intellectual operations performed by a human operator. In any of the operations described herein that form part of one or more embodiments, such capabilities of a human operator are not necessary or, in most cases, desirable. Rather, the operations are machine operations. Useful machines for performing the operations of the various embodiments include general-purpose digital computers or similar devices.

[0017] Various embodiments also relate to apparatuses or systems for performing these operations. The apparatus can be specially constructed for the required purposes, or can comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in a 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 required structure for these various machines will become apparent from the given description.

[0018] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding. It will be apparent, 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 facilitate the description. The intention is to cover all modifications, equivalents, and alternatives consistent with the claimed subject matter.

[0019] Figures 1A and 1B respectively show a mobile phone device 100 and a contactless card 150. The contactless card 150 can comprise a payment card or transaction card (hereinafter, transaction card), such as a credit card, debit card, or gift card, issued by a service provider. In some examples, the contactless card 150 can comprise an identification card or passport, not limited thereto, and having no relation to a transaction card. In some examples, the transaction card can comprise a dual-interface contactless transaction card. The contactless card 150 can comprise a substrate including a single layer or one or more laminated layers composed of plastic, metal, and other materials.

[0020] In some examples, the contactless card 150 may have physical characteristics compliant with the ID-1 format of the ISO / IEC 7810 standard; otherwise, the contactless card may comply with the ISO / IEC 14443 standard. However, the contactless card 150 according to the present disclosure may have different characteristics, and it is understood that the present disclosure does not require the contactless card to be implemented as a transaction card.

[0021] In some embodiments, the contactless card may include an embedded integrated circuit device that can store, process, and communicate data with other devices such as a terminal or a mobile device via NFC. General uses of contactless cards include transportation tickets, bank cards, passports, etc. Contactless card standards cover various types embodied in ISO / IEC 10536 (tight coupling cards), ISO / IEC 14443 (proximity cards), and ISO / IEC 15693 (vicinity cards), each of which is incorporated herein by reference. Such contactless cards are intended for operation at very close, close, and farther distances, respectively, to their associated coupling devices.

[0022] Exemplary proximity contactless cards and communication protocols that may benefit from the positioning assistance systems and methods disclosed herein include those described in U.S. Patent Application No. 16 / 205,119, filed on November 29, 2018, by Osborn et al. and entitled "Systems and Methods for Encrypted Authentication of Contactless Cards". This is incorporated herein by reference (hereinafter, the '119 application).

[0023] In one embodiment, the contactless card comprises an NFC interface consisting of hardware and / or software configured to perform bi-directional or uni-directional contactless short-range communication based on, for example, radio frequency identification (RFID) standards, EMV standards, or the use of NDEF tags. The communication can enable communication between electronic devices including mobile wireless communication devices using magnetic field induction. With short-range high-frequency wireless communication technology, data can be exchanged between devices at short ranges such as a few centimeters.

[0024] NFC employs electromagnetic induction between two loop antennas when NFC-enabled devices exchange information. ISO / IEC 14443-2:2016 (incorporated herein by reference) specifies the characteristics of power and bi-directional 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, modulated for communication, and operates at a rate in the range of 106 to 424 kbit / s within the 13.56 MHz radio frequency ISM band with the ISO / IEC 18000-3 air interface. As defined by the ISO standard, the PCD transmission generates a uniform electric field strength (「H」) that varies from a minimum of at least 1.5 A / m (rms) to a maximum of 7.5 A / m (rms) to support class 1, class 2, and / or class 3 antenna designs of the PICC device.

[0025] In FIGS. 1A and 1B, the mobile phone 100 is a PCD device and the contactless card 150 is a PICC device. During a typical contactless card communication exchange, as shown in FIG. 1A, the user may be prompted by the mobile phone 100 to engage the card with the mobile device, for example, by including a prompt 125 on the display 130 that indicates a 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). The operating volume of the NFC reading device includes the spatial volume proximate to, adjacent to, and / or surrounding the NFC reading device where the uniform electric field strength of the signals transmitted between the mobile device 100 and the card 150 is sufficient to support data exchange. In other words, the user may engage the contactless card with the mobile device by tapping the card on the front of the device or holding the card within a distance from the front of the device that enables NFC communication. In FIG. 1A, a prompt 125 is provided on the display 130 to achieve this result. FIG. 1B shows the card placed within the operating volume for a transaction. As shown in FIG. 1B, a reminder prompt, such as prompt 135, may be displayed to the user during the transaction.

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

[0027] In one example, successful data transmission can be best achieved by maintaining magnetic field coupling throughout the entire transaction to at least an extent equal to a minimum (1.5 A / m (rms)) magnetic field strength, and it can be understood that magnetic field coupling is a function of signal strength and the distance between the card 150 and the mobile phone 100. When testing the compliance of NFC-enabled devices, for example, to determine whether the power requirements (determination of the operating volume), transmission requirements, reception requirements, and signal format (time / frequency / modulation characteristics) of the device meet the ISO standard, a series of test transmissions are performed at test points within the operating volume defined by the NFC Forum's analog specifications.

[0028] Figure 2 shows an exemplary operating volume 200 identified by the NFC Analog Forum for use in testing NFC-enabled devices. The operating volume 200 defines a three-dimensional volume arranged around a contactless card reader device (e.g., a mobile phone device) and can represent, for example, a preferred distance for near-field communication exchange 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 electric field strength is within the minimum and maximum ranges of the NFC antenna class.

[0029] The NFC standard defines specific operating volumes and test methods, but the principles described herein are not limited to an operating volume having specific dimensions, and it will be readily understood that this method does not require determining the operating volume based on the signal strength of a specific protocol. Design considerations including, but not limited to, the power of the PCD device, the type of PICC device, the intended communication between the PCD and PICC devices, the duration of communication between the PCD and PICC devices, the imaging function of the PCD device, the expected operating environment of the device, and the past behavior of the user of the device can be used to determine the operating volume used herein. Thus, the following description refers to a "target volume" that may comprise an operating volume or a subset of operating volumes in various embodiments.

[0030] In FIGS. 1A and 1B, the placement of card 150 on phone 100 may appear simple, but typically the only feedback provided to the user when the card alignment is not optimal is a transaction failure. A contactless card EMV transaction may comprise a series of data exchanges that require a connection of up to two seconds. During such a transaction, the user walking around with the card, the NFC reading device, and the merchandise may have difficulty finding and maintaining the target position of the card relative to the phone to maintain the desired distance for a successful NFC exchange.

[0031] According to one aspect, to overcome these problems, a card alignment system and method activates the imaging component of a mobile device to capture a series of images. The series of images can be used to identify the position and trajectory of the card in real time and 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, for example, by measuring the darkness level and / or complexity level of the series of captured images, or their patterns.

[0032] For example, using this information, the alignment method may determine an orbit adjustment and identify a prompt associated with the orbit adjustment for aiming the card at the target volume. The orbit adjustment prompt may be presented to the user using the audio and / or display components of the phone, guide the card to a target position within the target volume, and / or initiate NFC reading. In various embodiments, the "target position" (or "target arrangement") may be defined at various granularities. For example, the target position may comprise the entire target volume or a subset of the target volume. Alternatively, the target position may be associated with a specific position of the contactless card within the target volume and / or a space surrounding and including the specific position.

[0033] FIG. 3 is a front-facing top 300 of one embodiment of a mobile phone that may be configured to support the alignment systems and methods disclosed herein. The phone is shown to include a sensor panel 320 disposed along the upper end of portion 300, but many devices may include fewer or more sensors that may be arranged differently on those devices, and it is understood that the present invention is not limited to any particular type, number, arrangement, location, or design of sensors. For example, most phones have front-facing and rear-facing cameras and / or other sensors, any of which may be used for the purposes described herein for position alignment guidance.

[0034] The sensor panel 320 is shown to include an infrared camera 302, a flood illuminator 304, a proximity sensor 306, an ambient light sensor 308, a speaker 310, a microphone 312, a front camera 314, and a dot projector 316.

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

[0036] Proximity sensors are commonly used in mobile devices and operate to lock UI input. For example, it detects (and skips) accidentally tapping the touch screen when holding a mobile phone to the ear. An exemplary proximity sensor operates by emitting a beam of electromagnetic field or electromagnetic radiation (e.g., infrared) towards 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. A capacitive proximity sensor or a optoelectronic sensor can be used to detect plastic targets, and an inductive proximity sensor can be used to detect metal targets. Other methods of determining proximity are within the scope of this disclosure, and it is understood that this disclosure is not limited to proximity sensors that operate by emitting an electromagnetic field.

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

[0038] FIG. 4 is a block diagram of exemplary components of a mobile phone or other NFC-enabled device incorporating elements to facilitate card position alignment, as disclosed herein. The components include interface logic 440, one or more processors 410, memory 430, display control 435, network interface logic 440, and sensor control 450 coupled via a system bus 420.

[0039] Each component performs a specific function using hardware, software, or a combination thereof. The processor 410 may comprise various hardware elements, software elements, or a combination of both. Examples of hardware elements can include devices, logical 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-chip systems (SOCs), complex programmable logic devices (CPLDs), memory units, logic gates, registers, semiconductor devices, chips, microchips, chip sets, and the like. Examples of software elements can include software components, programs, applications, computer programs, application programs, system programs, software development programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, processes, software interfaces, application program interfaces (APIs), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. The determination of whether a particular embodiment is implemented using hardware elements and / or software elements can vary as required for a given embodiment depending on any number of factors such as desired computational speed, power level, heat tolerance, processing cycle budget, input data rate, output data rate, memory resources, data bus speed, and other design or performance constraints.

[0040] The image processor 415 can be any processor or a special digital signal processor (DSP) used for image processing of data received from the camera 452, the infrared sensor controller 455, the proximity sensor controller 457, and the dot projector controller 459. To improve speed and efficiency, the image processor 415 can employ parallel computing using SIMD (Single Instruction Multiple Data) or MIMD (Multiple Instruction Multiple Data) techniques. In some embodiments, the image processor can comprise a system on a chip with a multi-core processor architecture that enables high-speed real-time image processing capabilities.

[0041] Memory 430 may comprise a computer-readable storage medium for storing program codes (such as alignment unit program code 432 and payment processing program code 433) and data 434. Memory 430 may also store user interface program code 436. The user interface program code 436 may be configured to interpret user input received at user interface elements including physical elements such as a keyboard and touch screen 460. The user interface program code 436 may also interpret user input received from graphical user interface elements such as buttons, menus, icons, tabs, windows, widgets, etc. that may be displayed on the user display under the control of display control 435. According to one aspect, and as described in more detail below, memory 430 may also store trigger program code 431. The trigger program code 431 may be used, for example, to automatically trigger NFC communication between the device and the card in response to determined darkness levels and / or complexity levels of a series of images captured by camera 452 or other sensor device. In some embodiments, the automatically triggered operation may generally be an operation that is performed in response to user input, for example, automatically triggering a read operation that is generally initiated by activation of a user interface element such as a read button provided on a graphical user interface. Automatic triggering reduces delays and inaccuracies associated with using user interface elements to control NFC communication.

[0042] Examples of computer-readable storage media can include any tangible media capable of storing electronic data, such as volatile or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writable or rewritable memory, and the like. The 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, and the like. 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.

[0043] The alignment unit program code 432 comprises program code as disclosed herein for alignment assistance for non-contact card / phone communication. The alignment unit program code 432 can be used by any service provided by a phone that uses non-contact card exchange for authentication or other purposes. For example, a service such as a payment processing service embodied in the payment processing program code 433 can use non-contact card exchange for authentication during the initial stages of a financial transaction.

[0044] The system bus 420 provides an interface for system components including, but not limited to, the memory 430 and the processor 410. The system bus 420 can be any of several types of bus structures that can further interconnect, using any of various commercially available bus architectures, a memory bus (with or without a memory controller), a peripheral bus, and a local bus.

[0045] The network interface logic includes a transmitter, a receiver, and a controller configured to support various known protocols associated with various forms of network communication. Exemplary network interfaces that may be included in a mobile phone implementing the methods disclosed herein include, but are not limited to, a WIFI interface 442, an NFC interface 444, a Bluetooth® interface 446, and a cellular interface 448.

[0046] Sensor control 450 comprises a subset of sensors that may support the position alignment methods disclosed herein, including a camera 452 (which may include camera technology for capturing two-dimensional and three-dimensional light-based or infrared images), an infrared sensor 454 and associated infrared sensor controller 455, a proximity sensor 456 and associated proximity sensor controller 457, and a dot projector 458 and associated dot projector controller 459.

[0047] Referring now to FIG. 5, a flowchart of an exemplary process 500 for positioning a contactless card using image information obtained in real time from sensors of an NFC reading device is shown. The process includes detecting the proximity of the contactless card at step 510 and, upon detection, triggering image capture at step 515 using the imaging function of the device and processing a series of images captured at step 520. The processing of the images may be performed at least in part by alignment unit program code and may include positioning the contactless card within a target volume proximate the device and determining the trajectory of the card at step 525. The processing of the images may also include predicting a trajectory adjustment for aligning the card to a target position within the target volume at step 535, identifying a prompt for achieving the trajectory adjustment, and displaying the prompt on the device. The prompt may include one or more instructions (in text or symbol form), an image including one or more captured images, color, color pattern, sound, and other mechanisms.

[0048] The process of capturing an image at 515 and processing the image at 520 continues until it is determined at step 540 that the contactless card is at its target position (and / or a preferred distance from the device). Next, the alignment process may, at step 545, initiate or enable a data exchange transaction / communication between the card and the device. For example, the alignment process may perform one or more that provide a display prompt to the user to initiate the transaction. Alternatively, the alignment process may automatically initiate the data exchange process when alignment is detected at step 540. In embodiments that use NFC interface technology, the alignment process may turn on the NFC interface to enable NFC communication, and at step 550, NFC communication may be performed.

[0049] FIG. 6 is a flowchart of a first exemplary embodiment of a position alignment process 600 that processes an image captured using a machine learning prediction model to extract features, places the card within a three-dimensional target volume, and determines a card trajectory. The system may also use the machine learning prediction model to identify trajectory adjustments, move the card to a target position within the target volume, and identify prompts for achieving the trajectory adjustments.

[0050] In step 605, the phone monitors the reflected energy that is emitted by the device and reflected back by the device, and detects that the card is in proximity to the device when the reflected energy exceeds a threshold value by the proximity sensor. In some phones, the proximity sensor can be implemented using an optical sensor chip. Common optical sensor chips include Intersil and Sharp's ISL29003 / 23 and GP2A respectively. Both of these sensor chips are mainly active optical sensors and provide the intensity of ambient light in LUX units. Such sensors are implemented as boolean sensors. A boolean sensor returns two values, "NEAR" and "FAR". The threshold processing is based on the LUX value. That is, the LUX value of the optical sensor is compared with the threshold value. A LUX value exceeding the threshold means that the proximity sensor returns "FAR". All values smaller than the threshold cause the sensor to return "NEAR". The actual value of the threshold is custom-defined according to the sensor chip in use, its light response, the position and orientation of the chip on the smartphone body, the configuration of the target contactless card, and its reflection response, etc.

[0051] In step 610, in response to the card being in proximity to the device, the device starts image capture. Image capture may include capturing a two-dimensional image using one or more cameras accessible on the device. 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 that can take high-dynamic range (HDR) photos.

[0052] Certain mobile devices may include a dual camera that captures images along different imaging planes to create a depth-of-field effect. Some may further include a "selfie" infrared camera or, for example, infrared emitter technology for projecting a dot matrix of infrared light of a known pattern onto the target, which can then be photographed and analyzed by the infrared camera.

[0053] Next, 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 transferred to steps 615 and 620 for non-contact card localization, including image processing and determination of the position and trajectory of the non-contact card.

[0054] According to one aspect, image processing includes constructing a volume map of a target volume proximate to and / or including an area proximate to at least a portion of the operating volume of the NFC interface of the phone, the volume map being 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 within an array of volume elements that make up a conceptual three-dimensional space, e.g., each of an array of discrete elements into which the representation of a three-dimensional object is divided.

[0055] According to one aspect, position alignment includes processing the voxels of the target volume to extract features of the non-contact card, determining the position of the card within the target volume, comparing the voxels of the target volume constructed at different times to track the movement of the card over time, and determining the trajectory of the card. Various processes can be used to track the position and trajectory, such as the use of a machine learning model or the use of SLAM technology. Each will be described in detail below.

[0056] Machine learning is a field of artificial intelligence related to mathematical models that can learn, classify, and make predictions from data. Such mathematical models, sometimes called machine learning models, can classify input data into two or more classes, cluster input data among two or more groups, predict results based on input data, identify patterns or trends in input data, identify the distribution of input data within a space, or any combination thereof. Examples of machine learning models include (i) neural networks, (ii) decision trees such as classification trees and regression trees, (iii) classifiers such as naive Bayes classifiers, logistic regression classifiers, ridge regression classifiers, random forest classifiers, least absolute shrinkage and selection operator (LASSO) classifiers, support vector machines, (iv) clusters such as k-means clusters, mean shift clusters, spectral clusters, (v) factorization devices such as factorization machines, principal component analysis devices, kernel principal component analysis devices, (vi) ensembles of machine learning models or other combinations. 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, probabilistic neural networks, modular neural networks, spiking neural networks, dynamic neural networks, cascade neural networks, neuro-fuzzy neural networks, or any combination thereof.

[0057] Various machine learning models can be used interchangeably to perform tasks. Examples of tasks that can be performed at least partially using a machine learning model include various types of scoring, bioinformatics, chemoinformatics, software engineering, fraud detection, customer segmentation, generation of online recommendations, adaptive websites, determination of customer lifetime value, search engines, placement of advertisements in real-time or near real-time, classification of DNA sequences, affective computing, performing natural language processing and understanding, object recognition and computer vision, robotic motion, playing games, optimization and metaheuristics, detection of network intrusions, medical diagnosis and monitoring, or prediction of when an asset such as a machine will require maintenance.

[0058] A machine learning model can be constructed through a process called training that is at least partially automated (e.g., with little or no human involvement). During training, input data can be repeatedly provided to the machine learning model so that the machine learning model can identify patterns related to the input data or the relationship between the input data and the output data. Through training, the machine learning model can be transformed 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, leave-one-out rule, leave-p-out rule, or holdout rule.

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

[0060] Next, with reference to the flowchart of FIG. 7, an overview of a method 700 for training and using a machine learning model to identify a position and a trajectory will be described below. 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 from various subsets of data, or input by a user. The training data can be used in its raw form to train the machine learning model or preprocessed into other forms that can be used to train the machine learning model. For example, the raw form of the training data can be manipulated into other forms by smoothing, truncating, aggregating, clustering, or other methods and 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 public and / or specific to users and user accounts within a financial institution's database system. For example, in the case of position alignment, the training data can include processing image data of contactless cards from different directions and different viewpoints to learn the voxel values of the features of the cards in those directions and viewpoints. For trajectory adjustment and rapid identification, such training data can include data related to the impact of trajectory adjustment on the card when it is in different locations. The machine learning model can be trained to identify prompts by measuring the effectiveness of the prompts in achieving trajectory adjustment, and the effectiveness can be measured, in one embodiment, by the time to card alignment.

[0061] In block 706, the machine learning model can be trained using training data. The machine learning model can be trained in a supervised, unsupervised, or semi-supervised manner. In supervised training, each input of the training data can be correlated with the desired output. The required output can be a scalar, a vector, or a different type of data structure such as text or an image. This can enable the machine learning model to learn the mapping between the input and the desired output. In unsupervised training, the training data includes inputs but does not include the desired output, so the machine learning model needs to find the structure within the inputs on its own. In semi-supervised training, only some of the inputs of the training data are correlated with the desired output.

[0062] In block 708, the machine learning model can be evaluated. For example, an evaluation dataset can be obtained via, for example, user input or from a database. The evaluation dataset can include inputs that are correlated with the desired output. The inputs are provided to the machine learning model, and the output from the machine learning model can be compared with the desired output. If the output from the machine learning model closely corresponds to the desired output, the accuracy of the machine learning model can be high. For example, if more than 90% of the output from the machine learning model is the same as the desired output of the evaluation dataset, such as the current communication exchange information, the accuracy of the machine learning model can be high. Otherwise, the accuracy of the machine learning model can be low. The 90% value is just an example. The realistic and desirable percentage of accuracy can depend on the problem and the data.

[0063] In some examples, if the machine learning model has an insufficient level of accuracy for a particular task, the process can return to block 706, where the machine learning model can be further trained using additional training data or can be modified to improve the accuracy. If the machine learning model has sufficient accuracy for a particular task, the process can continue to execute block 710.

[0064] At this point, the machine learning model has been trained using the training dataset, processes the captured images to determine the position and trajectory, predicts the projected position of the card onto the device based on the current position and trajectory, and identifies at least one trajectory adjustment and one or more prompts to achieve the trajectory adjustment.

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

[0066] At block 714, the result may be post-processed. For example, the result may be added to, multiplied by, or otherwise combined with other data as part of a job. As another example, the result may be converted from a first format, such as a time series format, to another format, such as a count series format. Any number and combination of operations may be performed on the result during post-processing.

[0067] Simultaneous localization and mapping (SLAM) has become well - defined in the robotics community for on - the - fly reconstruction of 3D image space. For example, "MonoSLAM: Real - Time Single - Camera SLAM" by Davidson et al., IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 29, No. 6, 2007 (incorporated herein by reference) focuses on localization, recovers the 3D trajectory of a monocular camera, and presents a real - time algorithm that can rapidly move through an unknown scene. According to one aspect, it is understood that the techniques described by Davidson for camera tracking can be utilized for use in the position alignment systems and methods disclosed herein. As described above, instead of tracking the forward movement of the card towards the phone, a similar result can be achieved by using SLAM technology to track the forward movement of the phone's camera towards the detected features of the card to position the card relative to the phone.

[0068] Referring now to FIG. 8, a flow diagram showing exemplary steps of a MonoSLAM method 800 for non - contact card localization that can be used to perform the functions of steps 615 and 620 of FIG. 6 will next be described. The techniques disclosed by Davidson build a persistent map of scene landmarks that are indefinitely referenced in a state - based framework. Forming a persistent map can be advantageous when the movement of the camera is restricted, and thus, SLAM technology can be beneficial for a position alignment process focused on a particular object such as a non - contact card. Using the persistent map can limit the processing requirements of the algorithm and maintain continuous real - time operation.

[0069] Using SLAM, the state of a moving camera and its map can be probabilistically estimated on - the - fly, and the running estimates can be used to limit predictive searches and guide efficient processing.

[0070] In step 810, an initial probabilistic feature-based map can be generated that represents a snapshot of the state of the camera and the current estimated values of all features of interest, and the uncertainty of these estimated values at any time. The map is initialized at the start of the system and persists until the operation ends, but can evolve continuously and dynamically as it is updated over time with new image information. The estimated values of the probabilistic state of the camera and features are updated during relative camera / card movement and feature observation. When new features are observed, the map can be expanded to the new state and, if necessary, features can be removed. However, it is understood that if the features of the contactless card are identified with a high probabilistic certainty, further image processing can limit subsequent searches to the identified features.

[0071] The probabilistic features of the map are in the propagation over time of a first-order uncertainty distribution that represents not only the average “best” estimated values of the camera / card state, but also the size of the possible deviations from these values. Mathematically, the map can be represented by a state vector and a covariance matrix P. The state vector x^ is 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.

[0072] Equation I

Number

[0073] The probability distribution of all resulting map parameters can be approximated as a single multivariate Gaussian distribution in a space of dimension equal to the total size of the state vector. Explicitly, the state vector xv of the camera consists of the metric 3D position vector r W , the orientation quaternion q RW , the velocity vector v W , the angular velocity vector ω R with respect to the fixed world frame W and the “robot” frame R carried by the camera (13 parameters), as shown in Equation II below.

[0074] Formula II

Number

[0075] Here, the feature state yi is the 3D position vector of the position of the point feature. According to one aspect, the point feature may include features of the non-contact card. The role of the map 825 is to enable real-time positioning that captures a sparse set of high-quality landmarks. Specifically, each landmark can be regarded as corresponding to a well-positioned point feature in 3D space. The camera can be modeled as a rigid body that requires parameters of translation and rotation to describe its position. Also, estimates of the linear velocity and angular velocity are maintained. According to one aspect, the camera modeling in this specification can be translated with respect to the extracted features (i.e., the non-contact card) to define the translational and rotational parameters of the card movement for maintaining the linear and angular card velocities relative to the phone.

[0076] In one embodiment, Davison uses a relatively large (11x11 pixel) image patch to function as a long-term landmark feature in step 830. The camera positioning information can be used to improve the matching of the displacement and rotation of the camera. Prominent image regions can be automatically detected originally (i.e., based on the attributes of the card) using the techniques described in J. Shi and C. Tomasi, "Good Features to Track", Proc. IEEE Conference on Computer Vision and Pattern Recognition, pp. 593 - 600, 1994 (incorporated herein by reference), which provides repeatable visual landmark detection. When the 3D position including the depth of the feature is fully initialized, each feature can be stored as an oriented planar texture. When measuring the feature from a new (relative) camera position, the patch can be projected from 3D to the image plane to create a template for comparison with the actual image. The stored feature template is saved over time and the position of the feature can be re-measured over any long period to determine the trajectory of the feature.

[0077] According to one embodiment, a constant velocity, constant angular velocity model can be used that assumes the camera always moves at a constant velocity with an undetermined acceleration occurring within a Gaussian profile. This model gives a certain smoothness to the relative card / camera movement, but gives robustness to a system that uses sparse visual measurements. In one embodiment, the predicted position of an image feature (i.e., the predicted card position) can be determined before searching for the feature in the SLAM map.

[0078] One aspect of the Davison approach includes the prediction of feature positions at 850 and the restriction of image review to the predicted feature positions. Feature matching between the image frames themselves can be performed using a simple normalized cross-correlation search of the template patch projected onto the current camera estimate. The template can be scanned over the image, starting from the predicted position, and the match can be tested until a peak is found. The assumption of a sensory confidence limit focuses the image processing effort and restricts the search to a small search area of the input image using a sparse map, allowing the image processing to be performed in real time at a high frame rate.

[0079] In one embodiment, the prediction of the position can be performed as follows. First, an estimated value x of the camera position v and a y of the feature position i are used, and the position of the point feature relative to the camera is expected to be as shown in the following Equation III.

[0080] Equation III

Number

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

Number

[0082] Here, fk u 、fk v 、u0, and v0 have standard camera calibration parameters. By this method, the line-of-sight direction can be actively controlled towards a beneficial measurement value with innovative covariance, and the maximum number of feature searches per frame can be limited to the most beneficial 10 or 12.

[0083] Thus, according to one aspect, the performance advantages related to SLAM, including the ability to perform real-time positioning of a contactless card while restricting external image processing, are understood to be advantageous for the position alignment system disclosed herein.

[0084] Returning to FIG. 6, when position and trajectory information can be obtained via either a machine learning model, SLAM technology, or other methods, according to one aspect, the position alignment system and method include a process 625 for predicting trajectory adjustments and related prompts for guiding the card to a target position within a target volume. According to one aspect, the prediction is performed using a prediction model, such as a machine learning model trained and maintained using the machine learning principles described above, to identify trajectory adjustments and prompts based on previous trajectory adjustments and the effectiveness of the prompts, thereby being customized by the user's actions. Trajectory adjustments 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. Effectiveness can be measured in various ways including, but not limited to, during the position alignment process. For example, in some embodiments, aspects of artificial intelligence, neural networks, or machine learning models can self-select the most effective prompts to assist the user in achieving the final result of card alignment.

[0085] In some embodiments, it is contemplated that the trajectory adjustment can be linked to a set of one or more prompts configured to achieve the associated trajectory adjustment. The set of one or more prompts can include audible and visual prompts, and can be in the form of one or more of an instruction (in text or symbol form) displayed by the device, an image including one or more of the captured images, color, color pattern, sound, and other mechanisms. In some embodiments, an effectiveness value can be stored for each prompt, where the effectiveness value is related to the past responses and effects of the display of such a prompt to achieve the trajectory adjustment. The effectiveness value can be used by a machine learning model to select one or more of the trajectory adjustments and / or prompts for guiding the card to the target position.

[0086] In step 630, the prompt 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 prompt until it is determined in step 635 that the variance between the target position and the predicted position is within a predetermined threshold. The predetermined threshold is a matter of design choice and can vary depending on one or more target volumes, NFC antennas, etc.

[0087] In step 635, when it is determined 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.

[0088] According to one aspect, the data exchange can be the ciphertext data exchange described in the '119 application. During the ciphertext exchange, after communication is established between the phone and the contactless card, the contactless card can generate a message authentication code (MAC) ciphertext according to the NFC data exchange format. In particular, this can occur during reading, such as the NFC reading of a Near Field Data Exchange (NDEF) tag that can be created according to the NFC data exchange format. For example, an application being executed by device 100 (Figure 1A) can send a message, such as an applet selection message, to contactless card 150 (Figure 1A) along with the applet ID of the NDEF generation applet, where the applet can be an applet stored in the memory of the contactless card and operable when executed by processing the components of the contactless card to generate an NDEF tag. When the selection is confirmed, a series of selection file messages followed by read file messages can be sent. For example, the sequence can include "selection of function file", "reading of function file", and "selection of NDEF file". At this point, the counter value maintained by the contactless card is updated or incremented, and then "reading of NDEF file" can follow.

[0089] At this point, a message that may include a header and a shared secret can be generated. Next, a session key can be generated. The MAC ciphertext can be created from a message that may include a header and a shared secret. Next, the MAC ciphertext can be concatenated with one or more blocks of random data, and the MAC ciphertext and a random number (RND) can be encrypted with the session key. Thereafter, the ciphertext and the header can be concatenated and encoded as ASCII hexadecimal and returned in the NDEF message format (in response to the "reading of NDEF file" message).

[0090] In some examples, the MAC ciphertext can be sent as an NDEF tag, and in other examples, the MAC ciphertext can be included in a Uniform Resource Indicator (e.g., as a formatted string).

[0091] In some examples, the application may be configured to send a request to the contactless card, the request includes instructions to generate a MAC ciphertext, and the contactless card sends the MAC ciphertext to the application.

[0092] In some examples, the MAC ciphertext is sent via NFC, but the present disclosure is not limited thereto. In other examples, this communication may be performed via Bluetooth®, Wi-Fi, or other wireless data communication means.

[0093] In some examples, the MAC ciphertext may function as a digital signature for verification purposes. For example, in one embodiment, the MAC ciphertext may be generated by a device configured to perform key diversification using a counter value. In such a system, the same master symmetric key may be provisioned to the sending device and the receiving device. In some examples, the symmetric key may comprise a shared secret symmetric key that may be kept secret from all parties other than the sending device and the receiving device involved in the secure data exchange. Further, the same master symmetric key may be provided to both the sending device and the receiving device, and it is understood that a part of the data exchanged between the sending device and the receiving device comprises at least a part of the data that may be called a counter value. The counter value may comprise a number that changes each time data is exchanged between the sending device and the receiving device. Further, the sending device and the receiving device may use a suitable symmetric encryption algorithm, which may include at least one of a symmetric encryption algorithm, an HMAC algorithm, and a CMAC algorithm. In some examples, the symmetric algorithm used to process the diversification value may comprise any symmetric encryption algorithm used as needed to generate a diversified symmetric key of a desired length. Non-limiting examples of symmetric algorithms may include symmetric encryption algorithms such as 3DES or AES128, symmetric HMAC algorithms such as HMAC-SHA-256, and symmetric CMAC algorithms such as AES-CMAC.

[0094] In some embodiments, the transmitting device may adopt a selected encryption algorithm and use a master symmetric key to process the counter value. For example, the sender may select a symmetric encryption algorithm and use a counter that is updated for each conversation between the transmitting device and the receiving device. Next, the transmitting device may use the master symmetric key to encrypt the counter value with the selected symmetric encryption algorithm to create a diversified symmetric key. The diversified symmetric key may be used to process the confidential data before transmitting the result to the receiving device. Next, the transmitting device may transmit the protected encrypted data, along with the counter value, to the receiving device for processing.

[0095] The receiving device may first obtain the counter value, and then use the counter value as input to the encryption and the master symmetric key as the key for the encryption to perform the same symmetric encryption. The output of the encryption may be the same diversified symmetric key value created by the sender. Next, the receiving device may obtain the protected encrypted data and use the symmetric decryption algorithm with the diversified symmetric key to decrypt the protected encrypted data to reveal the original confidential data. Next, if the confidential data needs to be transmitted from the sender to the receiver via their respective transmitting and receiving devices, different counter values may be selected to generate different diversified symmetric keys. By processing the counter value using the same symmetric encryption algorithm as the master symmetric key, both the transmitting device and the receiving device may independently generate the same diversified symmetric key. Instead of the master symmetric key, this diversified symmetric key may be used to protect the confidential data.

[0096] In some examples, the key diversification value may comprise a counter value. Other non-limiting examples of key diversification values include a random number generated each time a new diversified key is needed, a random number transmitted from a transmitting device to a receiving device, the complete value of a counter value transmitted from a transmitting device and a receiving device, a portion of a counter value transmitted from a transmitting device and a receiving device, a counter maintained independently by a transmitting device and a receiving device but not transmitted between the two devices, a one-time passcode exchanged between a transmitting device and a receiving device, and an encrypted hash of confidential data. In some examples, one or more portions of the key diversification value may be used by a party to create a plurality of diversified keys. For example, a counter may be used as the key diversification value. Additionally, one or more combinations of the above-exemplified key diversification values may be used.

[0097] FIG. 9 is a flow diagram 900 showing the use of a position alignment system disclosed herein to align a contactless card with an NFC mobile device equipped with a proximity sensor and imaging hardware and software. At step 905, the position alignment logic detects a request by a device to perform a communication exchange. At step 910, the position alignment logic uses the proximity sensor of the device to measure reflected energy emitted from the device and reflected back to the device, and determines when the reflected energy exceeds a predetermined threshold indicating the proximity of the card to the device.

[0098] Figure 10 shows a proximity card 1030 approaching the operating volume 1020 of the proximity sensor 1015 of the phone 1010. When the phone enters the operating volume 1020, in one embodiment, the infrared beam emitted by the proximity sensor 1015 is reflected back to the proximity sensor 1015 as signal R1035. As the card approaches the operating volume of the phone, the reflected signal strength increases until the trigger threshold is reached, at which point the proximity sensor indicates that the card is "NEAR". In some embodiments, during proximity search, the phone's display 1050 can prompt the user by providing a notification that it is searching for the card, such as by providing visual or auditory cues, as shown in Figure 10.

[0099] In 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 can be understood that the camera can be selected for image capture with an operating volume that overlaps at least a portion of the operating volume of the phone's NFC interface.

[0100] In step 920, the position alignment logic processes the plurality of captured images to determine the position and trajectory of the card within the three-dimensional volume proximate to the device. As described above, the processing can be performed by one or both of the machine learning models trained using the past attempts to guide the card to the goal position and the Simultaneous Localization and Mapping (SLAM) process. In 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 in step 930, identifies one or more variances between the projected position and the target position, identifies at least one trajectory adjustment selected to reduce the one or more variances, and identifies one or more prompts to achieve the trajectory adjustment, and in step 935, the position alignment process displays the one or more prompts on the display of the device.

[0101] FIG. 11 shows an exemplary display 1105 of a telephone 1110 that captures image information related to a card 1150 within a target volume 1120. The display 1105 can include several prompts such as a position prompt 1115 associated with the target position, an image prompt 1130, and an arrow prompt 1140 that can be displayed to the user to assist in guiding the card 1150 to the target position. The image prompt 1130 can include, for example, a portion of an image captured by the imaging component of the telephone 1110 during position alignment and can be useful to the user to assist in understanding their movement relative to the target. The arrow 1140 can provide directional assistance, for example, to move the user to adjust the card upward for proper alignment as shown in FIG. 11. Other types of prompts can also be used. This can include text instructions, symbols and / or emojis, voice instructions, color-based guidance (i.e., display a first color (such as red) to the user when the card is relatively far from the target and shift the screen to green when the card is aligned), but is not limited thereto.

[0102] In step 940 (FIG. 9), the position alignment process may repeat the steps of capturing image information, determining the position and trajectory of the card, predicting the projected position of the card, identifying one or more variances, at least one trajectory adjustment, and one or more prompts, and displaying the one or more prompts until the one or more variances fall within a predetermined threshold. In step 945, the position alignment process may trigger the reading of the card by the card reader of the device when the variance is less than a predetermined threshold. In some embodiments, the position alignment process may continue to operate to provide a prompt to adjust the position of the card during data exchange between the card and the mobile device, for example, if the card moves during reading.

[0103] FIGS. 12A, 12B, and 12C are examples of display prompts that may be provided by the position alignment process after alignment is detected. In FIG. 12A, a prompt 1220 may be provided to notify the user when the card is aligned with the target position. In some embodiments, the interface may provide a link, such as link 1225, to enable the user to initiate the card to be read by phone. In other embodiments, the alignment may automatically trigger the reading of the card.

[0104] In FIG. 12B, during the card reading process, a prompt, such as a countdown prompt 1230, may be provided to the user. Additionally, additional prompts, such as arrow 1240, may be provided to enable the user to correct possible movements that may occur to the card during reading, ensure that the connection is not lost, and improve the success rate of NFC communication. Following the reading, as shown in FIG. 12C, the display provides the user with a notification 1250 regarding the success or failure of the communication exchange.

[0105] Accordingly, position alignment systems and methods have been shown and described that facilitate aligning a contactless card to a preferred position within a target volume with respect to a contactless card reading device. Alignment logic uses information captured from available imaging devices such as infrared proximity detectors, cameras, infrared sensors, dot projectors, etc. to guide the card to the target position. The captured image information can be processed using one or both of a machine learning model and / or simultaneous localization and mapping logic to identify the position, trajectory, and predicted position of the card. Trajectory adjustment and prompt identification are intelligently controlled and customized using machine learning techniques and can be customized based on user preferences and past behavior. As a result, the speed and accuracy of contactless card alignment are improved, the received NFC signal strength is maximized, and transaction drop-offs are reduced.

[0106] The above techniques have discussed various methods for guiding the placement of a contactless card to a desired position with respect to a card reader interface of a device after the proximity of the card is first detected using a proximity sensor. However, it is understood that the principles disclosed herein can be extended to enhance or completely replace proximity sensor information using image data captured to detect the proximity of the card. The captured image information can be further processed to determine when the card is in a particular position with respect to the card reader interface and automatically perform operations associated with user interface elements, such as automatically triggering an NFC reading operation or other functions by a mobile device without waiting for user input. Such a configuration can automatically trigger functions and control operations without requiring user input. For example, it can avoid the need for human interaction with user interface elements of the device.

[0107] According to one aspect, the image processing logic 415 (FIG. 4) can be extended to include program code for determining image parameters that can suggest that a card is in proximity to a card reader. For example, the image parameters can be related to proximity features of the image, i.e., features indicating that an object can be in proximity to the camera. In some embodiments, the card reader can be disposed 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 card reader. In various embodiments, the card reader / camera can be disposed on the front or back of the device.

[0108] In some embodiments, the image parameters comprise one or more of the darkness level and / or complexity level of the image. For example, referring briefly to FIGS. 13A and 13B here, the device 1310 can be a device having a contactless card reading interface configured as described above to obtain a MAC ciphertext from a contactless card 1320, for example, when the card 1320 is brought into proximity to the device 1310. For example, the device can send an applet selection message using the applet ID of the NDEF generation applet. This applet can be an applet stored in the memory of the contactless card and 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 camera of the device, and the darkness level and / or complexity level can be analyzed to determine when the card is at a preferred distance from the device to automatically trigger the transfer of an NFC reading operation from the NDEF generation applet of the contactless card.

[0109] In FIGS. 13A and 13B, for illustrative purposes only, the image 1320 is shown on the display 1340 of the device 1310, but the captured images used as disclosed herein for determining card proximity need not be displayed on the device 1310.

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

[0111] For example, as shown in FIGS. 13A - 13C, when the card is further away from the device, the captured image (represented here as image 1330A) may be relatively brighter than the image 1330B captured at a relatively later time as the card 1320 approaches the device. As shown in FIG. 13B, as the card approaches, as shown in FIG. 13C, the captured image (not visible in FIG. 13C) becomes darker until the light appearing in the image is blocked by the card 1320. This may be because as the card approaches the device, the card (or hand) may block the ambient light received by the camera.

[0112] As described above, the presence of a card at a preferred distance from the device can be determined according to the darkness level of a series of captured images, the trend of the darkness level, the complexity level, and / or the trend of the complexity level. In particular, the presence of a card can be determined by processing the pixel values of a series of images to identify the darkness level of each processed pixel. For example, a grayscale value is assigned to the pixel. 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 a preferred distance from the device, the darkness level can be compared with a threshold corresponding to the darkness level. For example, such a distance supports a successful NFC reading operation. In some embodiments, the threshold can be an absolute threshold. For example, in a system where "0" indicates white and "1" indicates dark, when the darkness level is 0.8 or higher, the card is considered to "exist" and the card reader can be enabled. In other embodiments, the threshold can be a relative threshold taking into account the ambient light in the environment where the communication exchange takes place. In such embodiments, the first captured image can provide a baseline darkness level, and the threshold can be related to an amount exceeding the threshold for triggering NFC communication. For example, the threshold can be a relative threshold. For example, in a dark room with an initial darkness level of 0.8, it may be desirable to delay the triggering of NFC communication until the darkness level reaches 0.95 or higher.

[0113] In addition to triggering NFC communication based on individually calculated darkness levels, the system may further consider recognizing trends or patterns in the darkness levels of the images to trigger NFC reading. Recognizing trends may include, for example, determining an average value for the entire set of images and triggering a read when the average value for the entire set of images meets a threshold. For example, while individual images may exceed a threshold, the position of the card may not be stable enough to perform an NFC read, thus it may be desirable to indicate that a predetermined number of consecutively captured images exceed a darkness threshold before triggering a read. Additionally, or alternatively, continuously processed images may be monitored to identify spikes and / or plateaus, i.e., sudden shifts in darkness levels maintained between consecutive images indicative of activity at the card reader.

[0114] In some embodiments, the darkness level of the entire image may be determined by averaging at least a subset of the calculated pixel darkness values. In some embodiments, specific darkness values may be weighted to enhance their relevance to the darkness level calculation. For example, portions of the image known or recognized to be close to a feature known to be near the card reader may be given a higher weight than portions farther from the card reader.

[0115] As described above, the complexity level can be calculated for each captured image, and 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 for each pixel by comparing the pixel value of each pixel with the pixel values of one or more adjacent pixels. As shown in FIG. 13B, as the card approaches the device, if the card is properly positioned, the background image can be hidden by the card. By default, as the card covers the image, the image becomes more uniform and adjacent pixels typically have the same pixel value. In various embodiments, the complexity can be determined for each pixel within the image, or for a subset of pixels at previously identified positions within the image. The complexity of each pixel can be determined by examining adjacent pixel values. The overall complexity level of the image can be determined by averaging at least a subset of the calculated pixel complexity values. In some embodiments, certain complexity levels can be weighted to enhance their relevance to the complexity calculation. For example, those portions of the image known to be in proximity to the card reader or identified features can be given a higher weight than portions further away from the card reader or identified features.

[0116] In other embodiments, machine learning methods as disclosed herein can enhance image processing, for example, by recognizing patterns of pixel darkness / pixel complexity values in a sequence of images indicative of known card activity in proximity to a card reader. Such patterns can include, for example, pixel darkness / complexity levels that vary in a known manner (i.e., get darker from top to bottom or bottom to top). The pattern can also include image elements (stripes, icons, printing, etc.) that assist in card recognition and can be used as described above, particularly to provide a prompt for proper placement of the recognized card. Over time, information related to the success and failure of card reads can be used to determine an appropriate image pattern for establishing the presence of a card for successful NFC card communication exchange.

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

[0118] During the initiation of NFC communication, at step 1420, a camera of the device, such as a front camera, may capture a series of images of the spatial volume in front of the device camera. In some embodiments, 60, 120, 240 or more images may be captured per second, but the present disclosure is not limited to the capture of a particular number of images in a series. At step 1430, the images may be processed to identify one or more image parameters, such as a darkness level representing the distance between the card and the device. At step 1440, the processed darkness level of the image is compared to a predetermined darkness level, such as a darkness level associated with a preferred distance for near field communication operation. At step 1450, when it is determined that the darkness level corresponds to a preferred darkness level for an NFC reading operation, for example, to communicate ciphertext from an applet of the card, the NFC reading operation may be automatically triggered.

[0119] In some embodiments, the automatic trigger for the NFC read operation can bypass or replace the triggers that have historically been provided by user interface elements. For example, in some embodiments, a graphical user interface element such as a read button (1225) can be provided on the device to allow the user to activate NFC communication when the user determines that the card can be properly positioned relative to the device. In some embodiments, the user interface element can be associated with functions such as a read operation. It is understood that other user interface elements can be triggered using the techniques described herein and various corresponding related functions can be automatically triggered. The automatic triggers disclosed herein can reduce the delays and inaccuracies associated with historically controlled user interface elements and improve the NFC communication flow and success rate.

[0120] Accordingly, systems and methods for detecting the presence of a card and using the captured image information to trigger NFC reads have been shown and described. Such systems can utilize the machine learning methods and / or SLAM methods described in more detail above to provide additional guidance before triggering a card read. Such a configuration can improve the card placement and the success rate of NFC communication exchanges.

[0121] The terms "system", "component", and "unit" as used in this application 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 a process running on a processor, a processor, a hard disk drive, multiple storage drives, a non-transitory computer-readable medium (either optical and / or magnetic storage media), an object, an executable, an execution thread, a program, and / or a computer, but not limited thereto. By way of illustration, both an application running on a server and the server can be components. One or more components can exist within a process and / or an execution thread, and a component can be localized on one computer and / or distributed between two or more computers.

[0122] Furthermore, components can be communicatively coupled to each other by various types of communication media for purposes of coordinating operations. The coordination can include one-way or two-way information exchange. For example, components can communicate information in the form of signals communicated 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, in further embodiments, alternatively, data messages can be used. Such data messages can be transmitted through various connections. Exemplary connections include parallel interfaces, serial interfaces, and bus interfaces.

[0123] Some embodiments may be described using the expressions "an embodiment" or "embodiments" along with their derivatives. These terms mean that the particular features, structures, or characteristics described in connection with the embodiments are included in at least one embodiment. The appearance of the phrase "in one embodiment" in various places in this specification does not necessarily refer to the same embodiment. Further, unless otherwise noted, it is recognized that the above features can be used together in any combination. Thus, any features discussed separately can be used in combination with each other, unless it is noted that the features are not compatible with each other.

[0124] Referring generally to the notation and nomenclature used herein, the detailed description herein may be presented with respect to functional blocks or units that can be implemented as program procedures executed on a computer or a network of computers. The description and representation of these procedures are used by those skilled in the art to most effectively convey the substance of their work to those skilled in the art.

[0125] A procedure is herein, generally, considered to be a self - consistent sequence of operations leading to a desired result. These operations are those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or optical signals that can be stored, transferred, combined, compared, and otherwise manipulated. For mainly reasons of common usage, it may be convenient to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, etc. However, it should be noted that all of these and similar terms are merely convenient labels associated with appropriate physical quantities and are nothing more than that.

[0126] Furthermore, the operations performed are often referred to in terms such as addition or comparison, which are generally associated with intellectual operations performed by a human operator. In any of the operations described herein that form part of one or more embodiments, such capabilities of a human operator are not necessary or, in most cases, desirable. Rather, the operations are machine operations. Useful machines for performing the operations of the various embodiments include general-purpose digital computers or similar devices.

[0127] Some embodiments may be described using the expressions "coupled" and "connected" along with their derivatives. These terms are not necessarily intended to be synonyms of each other. For example, some embodiments may be described using the terms "connected" and / or "coupled" to indicate that two or more elements are in direct physical or electrical contact with each other. However, the term "coupled" may mean that two or more elements are not in direct contact with each other but still cooperate or interact with each other.

[0128] It is emphasized that a summary of the disclosure is provided so that readers can quickly confirm the nature of the technical disclosure. It is presented with the understanding that it is not used to interpret or limit the scope or meaning of the claims. Further, in the foregoing detailed description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure should not be construed as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, the subject matter of the present invention is less than all of the features of a single disclosed embodiment. Accordingly, the following claims are incorporated into the detailed description in a state where each claim is independent as an individual embodiment. In the appended claims, the terms "comprising" and "therein" are used as the plain English equivalents of the respective terms "including" and "herein", respectively. Further, terms such as "first", "second", "third", etc. are used merely as labels and are not intended to impose numerical requirements on their objects.

[0129] What has been described above includes examples of the disclosed architecture. Of course, it is not possible to describe all possible combinations of components and / or methodologies, but those skilled in the art may recognize that many more combinations and permutations are possible. Accordingly, the novel architecture is intended to embrace all such changes, modifications, and variations that fall within the spirit and scope of the appended claims.

Claims

1. A method for guiding the positioning of a card to a target position with respect to a device, comprising: a proximity sensor detecting that the card is in proximity to the device; in response to the card being in proximity to the device, the device capturing a series of images of a three-dimensional volume proximate to the device; processing the series of images to determine the position and trajectory of the card within the three-dimensional volume proximate to the device; predicting a projected position of the card with respect to the device based on the position and the trajectory of the card; identifying one or more variances between the projected position and the target position, including identifying at least one trajectory adjustment predicted to reduce one or more variances and one or more prompts predicted to achieve the trajectory adjustment; displaying the one or more prompts on a display of the device; repeating the steps of capturing the series of images, determining the position and the trajectory of the card, predicting the projected position of the card, identifying the one or more variances, the at least one trajectory adjustment, and the one or more prompts, and displaying the one or more prompts until the one or more variances are within a predetermined threshold; triggering an event at the device to obtain data from the card in response to the one or more variances being within a predetermined threshold; A method comprising the above steps.

2. The method according to claim 1, wherein the step of processing the series of images to determine the position and the trajectory of the card within the three-dimensional volume proximate to the device uses at least one of a machine learning model or a simultaneous localization and mapping (SLAM) process.

3. The method further comprises: During the event, repeating the steps of capturing the series of images, determining the position and the trajectory of the card, predicting the projection position of the card, identifying the one or more dispersions, the at least one trajectory adjustment, and the one or more prompts, and displaying the one or more prompts to confirm that the dispersion remains within a predetermined threshold so that the device can read data from the card, the method according to claim 2.

4. The step of triggering the event includes starting data exchange between the card and the device, and the data exchange is related to at least one of a financial transaction and an approval transaction, the method according to claim 3.

5. 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 the series of images comprises 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 by the device, the method according to claim 1.

6. The method includes generating a volume map of the three-dimensional volume proximate to 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 comprising pixel data at a plurality of pixel positions within the three-dimensional volume proximate to the device, the method according to claim 5.

7. The step of processing the series of images to determine the position and the trajectory of the card includes transferring the series of images to a feature extraction machine learning model trained to process the volume map to detect one or more features of the card and identify the position and the trajectory of the card within the volume map in response to the one or more features, the method according to claim 6.

8. The step of predicting the projection position of the card relative to the device includes transferring the position and trajectory of the card to a second machine learning model trained to predict the projection position based on past attempts to place the card. The method according to claim 7.

9. The past attempts used to train the second machine learning model are customized according to the user of the device. The method according to claim 8.

10. The one or more prompts include at least one of a visual prompt, an audible prompt, or a combination of visual and audible prompts. The method according to claim 8.

11. A device, A proximity sensor configured to detect whether a card is in proximity to the device, An image capture device coupled to the proximity sensor and configured to capture a series of images of a three-dimensional volume in proximity to the device, A processor coupled to the proximity sensor and the image capture device, A display interface coupled to the processor, A card reader interface coupled to the processor And a non-transitory medium storing alignment program code configured to guide a card to a target position relative to the device. The alignment program code is operable when executed by the processor, Monitoring that the card is in proximity to the device, Enabling the image capture device to capture the series of images of the 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, and predicting the projection position of the card relative to the device based on the position and trajectory of the card, Identifying one or more variances between the projection position and the target position, including at least one trajectory adjustment and identification of one or more prompts for achieving the at least one trajectory adjustment, wherein the at least one trajectory adjustment is predicted to reduce the one or more variances. Displaying the one or more prompts on the display interface before and / or during the card reading operation; Triggering a card reading operation by the card reader interface when the one or more variances are within a predetermined threshold; A device for performing the above.

12. The program code, when executed to process the series of images to determine the position and trajectory of the card within the three-dimensional volume proximate to the device, is operative to use at least one of a machine learning model or a simultaneous localization and mapping (SLAM) process. The device according to claim 11.

13. The card reading operation is associated with one of a financial transaction and an approval transaction. The device according to claim 11.

14. The image capture device comprises 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 by the device. The device according to claim 11.

15. The series of images comprises one or both of two-dimensional image information and three-dimensional image information. The device according to claim 14.

16. The alignment program code is further configured to use the series of images, the infrared sensor, and the dot projector to generate a volume map of the three-dimensional volume proximate to the device, the volume map comprising pixel data of a plurality of pixel positions within the three-dimensional volume proximate to the device. The device according to claim 15.

17. The device further includes a feature extraction machine learning model, and is trained to predict a projection position using past attempts to place the card within the three-dimensional volume proximate to the device. The device according to claim 16.

18. The past attempts are user-specific past attempts. The device according to claim 17.

19. The device according to claim 18, wherein the one or more prompts include at least one of a visual prompt, an audible prompt, or a combination of visual and audible prompts.

20. A method for guiding a card to a target position relative to a device, comprising: detecting a request for the device to execute a transaction; using a proximity sensor of the device to measure the proximity of the card to the device; controlling at least one of a camera and an infrared depth sensor of the device to capture a series of images of a three-dimensional volume proximate to the device when it is determined that the card is proximate to the device; processing the series of images to determine the position and trajectory of the card within the three-dimensional volume proximate to the device, the processing being performed by at least one of a machine learning model trained using past attempts to guide the card to the target 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 dispersions between the projected position and the target position, including identifying at least one trajectory adjustment selected to reduce one or more dispersions and identifying one or more prompts for achieving the trajectory adjustment; displaying the one or more prompts on a display of the device; repeating the steps of capturing image information, determining the position and trajectory of the card, predicting the projected position of the card, identifying the one or more dispersions, the at least one trajectory adjustment, and the one or more prompts, and displaying the one or more prompts until the one or more dispersions are within a predetermined threshold; triggering the reading of the card by a card reader of the device when the dispersion is less than a predetermined threshold; A method comprising the steps of.

Citation Information

Patent Citations

  • Information processing device

    JP2016143982A

  • System and method for guiding card positioning using phone sensors - Patents.com

    JP2022539601A

  • Information processing device, information processing method, and program

    WO2018016203A1