TRAINING DATA FOR IMAGE MORPHING DETECTION
By using a training dataset with landmark-based image processing, the method addresses inefficiencies in detecting morphed images, resulting in faster and more accurate morphed image detection for enhanced security.
Patent Information
- Application Number
- DE102023114634
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-06-02
- Publication Date
- 2026-01-15
- Estimated Expiration
- 2043-06-02
AI Technical Summary
Existing methods for detecting morphed images, such as those used in identity documents, are inefficient and prone to misuse, leading to security vulnerabilities.
A method for generating a training dataset that uses a set of landmarks identified in images, with their positions relative to a coordinate system, to create entries labeled as real or morphed images, which can be used to train machine learning models for efficient morphed image detection.
The approach enables faster and more accurate recognition of morphed images, enhancing security by reducing the data required and improving the efficiency of morphed image detection in various applications.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
AREA OF TECHNOLOGY
[0001] This patent application concerns image morphing, in particular a method for generating training data for the detection of image morphing. STATE OF THE ART
[0002] Morphing can be a special effect in films and animations that seamlessly transforms one image into another. Computer software can be used to create morphed images. However, there is a need for improved processing of these morphed images.
[0003] The document “Towards Detection of Morphed Face Images in Electronic Travel Documents” by Scherhag, Rathgeb and Busch, published in 2018 at the 13th IAPR International Workshop on Document Analysis Systems (DAS), DOI: 10.1109 / DAS.2018.11. URL: https: / / ieeexplore.ieee.org / stamp / stamp.jsp=?tp=&arnumber=8395193 [accessed on 2023-07-28], reveals automated morphing detection algorithms based on general pattern recognition algorithms.
[0004] Document US 11 238 271 B2 describes a method and apparatus for classifying facial images, comprising retrieving a first plurality of facial feature points from a provided facial image associated with a person, determining a corresponding second plurality of facial feature points from a captured facial image of the person, extracting at least one feature vector based on differences between at least some of the first plurality of facial features and corresponding facial features of the second plurality of facial features, wherein at least some values of the at least one feature vector represent angular values of facial features, and providing the at least one feature vector to a classifier to classify the provided facial image as a real facial image of the person or as an artificial facial image. SUMMARY
[0005] The invention is described by the features of the independent claims. Embodiments are specified in the dependent claims.
[0006] Exemplary embodiments provide a method for generating a training dataset for training a machine learning model for morphed image recognition. The method comprises: repeatedly performing the following: receiving an image of an object; identifying a set of landmarks of the object in accordance with a landmark pattern; determining the positions of the set of landmarks with respect to a coordinate system defined relative to the object; and adding an entry to the training dataset, wherein the entry specifies the set of positions and a label indicating whether the received image is a real image or a morphed image.
[0007] Exemplary embodiments provide a computer system for generating a training dataset for training a machine learning model for morphed image recognition. The computer system is configured to repeatedly perform the following: receiving an image of an object; identifying a set of landmarks of the object in accordance with a landmark pattern; determining the positions of the set of landmarks with respect to a coordinate system defined relative to the object; and adding an entry to the training dataset, the entry specifying the set of positions and a label indicating whether the received image is a real image or a morphed image.
[0008] Exemplary embodiments provide a computer program that includes instructions to cause a computer system to perform at least the following: repeatedly performing the following: receiving an image of an object; identifying a set of orientation points of the object according to an orientation point pattern; determining positions of the set of orientation points with respect to a coordinate system defined relative to the object; and adding an entry to the training dataset, wherein the entry specifies the set of positions and a label, the label indicating whether the received image is a real image or a morphed image.
[0009] Exemplary embodiments provide a computer-implemented data structure that includes training data for a model for recognizing a morphed image, wherein the data structure includes entries, where the entry includes position information specifying a set of orientation points of a mapped object, and a label indicating a real image or a morphed image, where the orientation points are relative positions.
[0010] Exemplary embodiments provide a method for detecting a morphed image. The method includes: receiving an image of an object; identifying a set of orientation points of the object in accordance with an orientation point pattern; determining the positions of the set of orientation points with respect to a coordinate system defined relative to the object; inputting position information into a trained machine learning model, wherein the position information specifies the set of positions; and receiving an output from the trained machine learning model indicating whether the received image is a morphed image or an unmorphed image.
[0011] Exemplary embodiments provide a computer system for detecting morphed images. The computer system is configured to: receive an image of an object; identify a set of landmarks of the object in accordance with a landmark pattern; determine the positions of the set of landmarks with respect to a coordinate system defined relative to the object; input position information into a trained machine learning model, where the position information indicates the set of positions; and receive an output from the trained machine learning model indicating whether the received image is a morphed image or an unmorphed image.
[0012] Exemplary embodiments provide a computer program that includes instructions to cause a computer system to perform at least the following: receiving an image of an object; identifying a set of orientation points of the object in accordance with an orientation point pattern; determining the positions of the set of orientation points with respect to a coordinate system defined relative to the object; inputting position information into a trained machine learning model, wherein the position information indicates the set of positions; receiving an output from the trained machine learning model indicating whether the received image is a morphed image or an unmorphed image. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The following examples describe in more detail with reference to the drawings, in which: Fig. Figure 1 is a flowchart of a procedure for generating a training dataset for training a machine learning model for the recognition of morphed images in accordance with an example of the present subject matter. Fig. Figure 2A is a diagram illustrating a procedure for determining the location of reference points in an image of a human face in accordance with an example of the present subject. Fig. Figure 2B is a diagram illustrating a procedure for determining the positions of reference points in an image of a human eye in accordance with an example of the present subject. Fig. Figure 3 is a flowchart of a procedure for generating a training dataset for training a machine learning model for recognizing morphed images in accordance with an example of the present subject. Fig. Figure 4 is a flowchart of a procedure for generating a training dataset for training a machine learning model for the recognition of morphed images in accordance with an example of the present subject. Fig. Figure 5 is a flowchart of a procedure for determining reference points of a depicted object in accordance with an example of the present subject. Fig. Figure 6 is a diagram of a data structure representing the training data set generated in accordance with an example of the present subject. Fig. Figure 7 is a block diagram of an exemplary computer system for implementing at least part of the present method in accordance with an example of the present subject matter. Fig. Figure 8 is a flowchart of a procedure for training a classical machine learning model in accordance with an example of the present subject. Fig. Figure 9 is a flowchart of a procedure for training a quantum mechanical machine learning model in accordance with an example of the present subject. Fig. Figure 10 is a flowchart of a procedure for training a hybrid classical-quantum mechanical machine learning model in accordance with an example of the present subject. Fig. Figure 11 is a flowchart of a procedure for recognizing morphed images in accordance with an example of the present subject matter. DETAILED DESCRIPTION
[0014] In the following description, specific details such as particular architectures, interfaces, techniques, etc., are presented for illustrative purposes, not as limitations, to facilitate a comprehensive understanding of the examples. However, it will be clear to those skilled in the art that the disclosed subject matter can also be applied in other examples that differ from these specific details. In some cases, detailed descriptions of known devices and / or methods are omitted to avoid cluttering the description with unnecessary details.
[0015] Authentication can be a process for verifying a person's identity. This can, for example, prevent unauthorized individuals from accessing sensitive information or services. For instance, access control signals can be generated based on a user's authentication result, granting the user access to controlled services or areas. Authentication can be performed using an image of the user. For example, an automated border control system or an electronic gate can use the image to verify the user's identity. Once the user's identity has been verified, a physical barrier, such as a gate, opens to allow passage. The image can provide a visual representation of the user. The user's image can be obtained by capturing the user's face, for example, with a camera.Alternatively, the user's image can be a reproduced version captured by an identity token. The image can be stored as a digital image. The identity token could be, for example, a national identity card, visa, driver's license, vehicle registration document, health insurance card, company ID card, bank card, or any other identification document containing an identity-related field with the user's photograph. In another example, the identity token could be provided in the form of an ID application installed on the user's mobile device. In this case, the user's image could, for example, be displayed on the screen of the user's mobile device.
[0016] However, images can be morphed. Morphing refers to the process of altering an image to create a morphed image. For example, morphing can change an image of a specific object so that the resulting image resembles the original object. Morphing can be misused to create, for example, a dual-identity face, fingerprint, or iris, or to carry out cyberattacks by creating forged images. In the case of face morphing, misuse of morphing could allow two people to use the same identity document. In another example, a forged fingerprint could be created using morphing so that it could be used to identify two different fingers. Detecting such morphed images can help prevent cyberattacks and identity forgery.Various techniques can be used to detect morphed images. For example, machine learning models can be employed to recognize morphed images. The present subject can provide optimal training data for these models. The resulting trained models can exhibit higher efficiency in detecting morphed images. Efficiency can be defined as the ratio between the number of detected morphed images and the total number of morphed images.
[0017] For this purpose, a training dataset can be created to train a machine learning model to recognize morphed images. The training dataset can be created from a set of images. The image can be, for example, a visual representation of an object or a subject. The image of the object can be obtained by capturing the object, e.g., with a camera. Alternatively, the image of the object can be a reproduced version captured from a document containing the image of the object. For each image in the set, a set of landmarks of the object represented in the image can be identified. For example, the set of landmarks in the image can be identified according to a landmark pattern.The reference point pattern can be a predefined pattern or a dynamically generated pattern. The reference point can refer to a specific point on the object. The positions of the set of reference points can be determined, for example, with respect to a coordinate system defined relative to the object. Therefore, the positions of the set of reference points can be relative positions. An entry can be included in the training dataset for each image in the set of images. The entry can contain information about the position (which is designated as L). i can be denoted as , where the subscript index i refers to the image), which indicates the set of positions, and include a label indicating whether the image is a real image (i.e., an unmorphed image) or a morphed image.
[0018] For example, each entry in the training dataset can be a tuple (L_i, label i ) include, where L i the position information and label intended for the i-th image of the set of images i The label of the i-th image is shown. For example, the training dataset can be stored in a storage system of the computer system. The computer system can control access to the training dataset. For instance, the computer system can set permissions, such as read and execute permissions, for accessing the training dataset. One or more users can use the training dataset based on the permissions assigned to them.
[0019] Instead of using an entire image as training data, only a selected set of reference points is used to represent the image. Furthermore, these reference points are positioned relative to the object using a local coordinate system. This allows for faster training of machine learning models. The resulting trained model can efficiently recognize morphed images.
[0020] The object represented in each image of the set of images can refer to a tangible, physical object that can be depicted in an image. The object can be any object whose visual representation can be morphed into an image. The object can belong to a specific object type. For example, the object type could be an individual, a body part, a human face, human eyes, fingerprints, an animal face, and so on. Covering different object types can allow for broader applications of the subject matter; for example, the resulting trained model can be used in facial recognition systems, fingerprint recognition systems, and iris recognition systems to recognize morphed images.
[0021] The present device can advantageously control the number and type of objects in the set of images to find a desired balance between the efficiency of the resulting trained model and the scope of its application. For example, the set of images used to generate the training dataset can be a homogeneous set or a heterogeneous set. The homogeneous set of images can represent objects of the same type, while the heterogeneous set can represent objects of different types.
[0022] Using a homogeneous set of images can be advantageous for the following reasons. A homogeneous set of images can enable a systematic and faster generation of the training dataset compared to images of different object types. For example, with a homogeneous set of images, a smaller number of landmark patterns, such as just one, may suffice to find the landmarks in all sets of images. A homogeneous set of images can provide homogeneous training patterns, which may exhibit a higher affinity with each other, allowing for rapid convergence of the training process when applied to the generated training dataset. A homogeneous set of images can result in a trained model that is more efficient at recognizing every other morphed image of the object type represented by the set of images.For example, the homogeneous set of images can be images of one object type; the set of images can be, for example, images of human faces, where the human faces can be of the same or different individuals.
[0023] A heterogeneous set of images can be advantageous for several reasons. It can provide a larger training dataset due to the greater number of images available. Heterogeneity allows for the construction of a robust learning system by leveraging the intrinsic knowledge embedded within the data. In fact, with a set of images of different object types, the model can learn various morphing techniques, enabling morphing detection that works well not only for one specific type of morphing (e.g., face morphing) but also for other types. Thus, a heterogeneous set of images can facilitate broader applications of the subject matter while still delivering reliable recognition results. For example, the heterogeneous set of images could consist of images of different object types.The various types of objects can include human faces, human eyes, animal faces, fingerprints, etc.
[0024] The present subject can advantageously control the set of images to balance the training dataset with respect to a set of image attributes. The set of image attributes can include, for example, at least one of the following: lighting conditions, background color, skin tone, facial expression, and any other attribute that describes an image or the object depicted in the image. Each image in the set can have a specific set of values from the set of image attributes. For example, the set of images can contain multiple subsets of images, each containing a specific set of values from the set of image attributes. The number of image subsets can be greater than a certain threshold. In this way, the degree of diversity in the set of images can be controlled.For example, the first subset of images can contain a first set of values from the set of image attributes, the second subset of images a second set of values from the set of image attributes, and so on. Each pair of sets of values (e.g., the first set and the second set) of image attributes can differ in at least one image attribute. Using different attribute values in the set of images can provide reference points that are independent of background, lighting conditions, skin tone, etc. This can significantly reduce the amount of data required to train the machine learning model. For example, the set of images can be provided as a homogeneous set of images comprising multiple subsets. Alternatively, the set of images can also be provided as a heterogeneous set of images comprising multiple subsets.
[0025] The image set can include images with varying resolutions. For example, it could comprise scanned images of the objects and / or images taken directly from the objects, such as with a digital camera. The image set can also include a minimum percentage of scanned images. A scanned image could be created, for instance, with a photo scanner or a camera designed to capture an image on an identity token. The scanned images can enable accurate recognition even though they represent only a small portion of the data. The resulting trained machine learning model could be useful, for example, for verifying images during passport applications or passport checks.
[0026] The present subject can control the process of generating the training dataset by using different access methods for accessing the set of images. For example, at least a portion of the set of images (referred to as queried images) can be queried or received from one or more existing database systems. The retrieved images could be, for instance, the entire set of images or a subset thereof. The computer system can be configured to connect to the database systems and request or retrieve at least a portion of the set of images. This can speed up the generation of the training data compared to generating the set of images locally. Additionally or alternatively, at least a portion of the set of images (referred to as generated images) can be generated locally by the computer system. This allows processing resources such as...Network resources that would otherwise be required for retrieving images can be saved. The generated images can be, for example, the entire set of images or a subset thereof. Thus, the set of images can consist of retrieved images and / or produced images. In one example, the produced images can include morphed images and / or unmorphed images. In another example, the retrieved images can include morphed images and / or unmorphed images. This example can provide flexible and controllable access to the images; that is, if one access method is unavailable, the subject can still use alternative access methods to generate the training data. This can improve the process of generating the training dataset.
[0027] The generated images from the set of images can be obtained, for example, as follows. The computer system can receive non-morphed images. A subset of the received non-morphed images can be used by the computer system to generate morphed images. The morphed images can be generated, for example, using one or more morphing algorithms. The morphing algorithm can be, for example, a generative adversary network (GAN) or a landmark-based morphing algorithm. The morphing algorithm can, for example, be a face morphing algorithm that extracts feature points on the face, and based on these feature points, images are partitioned and face morphing is performed.
[0028] In one example, the image set can be preprocessed before the preprocessed images are used to generate the training dataset. This preprocessing can include, for example, reducing the size of the image set. This saves the processing resources required to determine the set of reference points. The image set can be preprocessed to have a uniform size. Furthermore, the pixels of each image in the set can be represented by a vector (e.g., a tensor). The vector can have fields containing the pixel width, pixel height, and pixel value(s), such as red, green, and blue (RGB) values. This can provide a uniform representation of the image set.
[0029] In one example, at least a portion of the image set can be processed in parallel to generate the training dataset. This can accelerate the process of generating the training dataset. Additionally or alternatively, at least a portion of the image set can be processed sequentially. This can enable a simplified implementation of the image processing. In another example, the image set can be processed in batches, where each batch can be smaller than a maximum size. For instance, the training dataset can be generated in a distributed computing system; each system component of the distributed computing system can process its respective batches of images, and the resulting entries can be combined into a training dataset.
[0030] Therefore, as described above, the present device can employ various techniques to provide and process the set of images for identifying landmarks. Furthermore, the present device can offer various techniques to improve the determination of landmarks.
[0031] For example, a set of reference points can be used to represent each image in the image set. The reference point can refer to a specific point on the object. The set of reference points can be defined as points that contain key information about the object's geometry. For example, if the object is a human face, the reference point could be a lateral point of the right eyebrow, a medial point of the right eyebrow, a lateral point of the left eyebrow, a medial point of the left eyebrow, the lateral corner of the right eye, and so on. The set of reference points can be identified by a reference point pattern. The reference point pattern can indicate features of the object that allow for the identification of the object and its structure.The landmark pattern can specify a maximum number of landmarks, the number of landmarks per feature, the density of landmarks, and / or the distances between landmarks. The landmark pattern can be a user-defined pattern or defined by a computer-implemented tool. For example, the landmark pattern can be determined based on characteristic features of the object in the image. If the object is a human face, these characteristic features might include eye spacing, nose length, mouth width, head eccentricity, and so on.
[0032] In one example, a landmark pattern can be provided for each object type in the set of images. For instance, if the set of images is homogeneous, a landmark pattern can be used to generate the set of landmarks for each image in the set. For example, a landmark pattern can be predefined for the entire set of images so that when the training dataset is created, the landmark pattern can be automatically used to identify the set of landmarks in each image. Conversely, if the set of images is heterogeneous, a separate landmark pattern can be used for each object type to determine the set of landmarks for each image of that object type. For example, multiple landmark patterns can be predefined for the set of images.For each received image from the set of images, the identification of the set of landmarks in the image can be carried out as follows: Determine the object type represented by the image, select the landmark pattern associated with the determined object type from the predefined landmark patterns, and use the selected landmark pattern to identify the set of landmarks in the image.
[0033] In one example, the object depicted in each image of a set of images can be detected. The object can be detected, for example, using a computer vision technique that identifies and locates objects within an image. An area of the image defined by the detected object can be cropped. This can result in a cropped image. The set of landmarks is then identified in the cropped image, and their positions are determined based on the cropped area. In this way, the landmarks can be determined after the object has been detected and the image cropped. Thus, the landmarks are not dependent on the object's position in the image or its distance from the camera. This can significantly reduce the amount of data required to train the machine learning model.
[0034] The present subject can employ various advantageous techniques to provide the reference point patterns. For example, for each object type in the set of images, a reference image representing that object type can be selected. The selected reference image can be a randomly chosen image or an image whose image attribute values meet a predefined selection criterion. The selection criterion can require that the value of each image attribute in the set of image attributes has a specific value or lies within a specific range. The reference point pattern(s) can be determined based on the respective reference image(s). For example, a feature extraction tool can be used to extract the features that identify the object structure from the reference image.The landmark pattern can be defined by assigning zero or more landmarks to each feature of the extracted features, representing that feature. The landmark pattern can specify the position of the landmarks relative to the respective feature, e.g., 10 landmarks around the eye of a human face, etc. This example allows for the a priori definition of landmark patterns that can be used when creating the training dataset.
[0035] In another example, a trained machine learning model can be used to create the landmark pattern that identifies the object's structure in each image of the set. This allows the landmark pattern to be created dynamically or automatically during the creation of the training dataset. In this example, creating the landmark pattern enables automatic identification of the landmarks in the image; that is, creating the landmark pattern implicitly includes the step of identifying the landmarks.
[0036] The number of positions for each identified set of landmarks can be determined. For example, the steps of identifying the set of landmarks in an image and determining their positions can be performed in a single step, simultaneously, or in parallel. This can speed up the creation of the training dataset. Alternatively, the number of positions for each identified set of landmarks can be determined after the set of landmarks has been identified.
[0037] The set of orientation point positions for each image in the group of images can be specified as relative positions that, for example, do not depend on the image size. For this purpose, a coordinate system defined relative to the object within the image can be used to determine the positions of the orientation points. This coordinate system can be a local coordinate system associated with the object. Alternatively, the coordinate system can refer to a frame of reference defined by orthogonal directions and an origin. The origin can be a reference point that is part of the object. The origin can also serve as a fixed reference point for the geometry of the surrounding space. If the set of images covers more than one object type, the local coordinate system can be defined for each object type.Using a fixed point for each object type as the origin can provide positions that accurately represent the object's shape. The position of each reference point can be specified as coordinates relative to the origin. This position can be a direction vector in the local coordinate system. For example, the position of the reference point can refer to a three-dimensional measurement from the reference point's position to the origin.
[0038] In another example, the initial positions of the set of orientation points of an image can be determined in a first coordinate system (e.g., an absolute coordinate system). Furthermore, a transformation from the first coordinate system to the local coordinate system can be applied to these initial positions. This can lead to the determination of the positions of the image's set of orientation points in the local coordinate system.
[0039] In one example, the local coordinate system can be a three-dimensional, 3D, coordinate system. The set of positions of the orientation points can be specified as 3D coordinates. This set of orientation point positions can thus describe the three-dimensional geometry of the object. This can allow for precise positioning of the orientation points and accurate differentiation between the set of orientation points in three dimensions. This can enable more efficient detection of morphed images, as the morphing algorithms can generate specific patterns in the three-dimensional geometry of the objects created in this way.
[0040] In one example, the local coordinate system can be a two-dimensional (2D) coordinate system. The set of positions of the reference points can therefore be specified as 2D coordinates. Compared to 3D coordinates, this can save processing resources such as memory while still delivering reliable results. For example, each entry in the training dataset can consist of the tuple (3D coordinates, label) or (2D coordinates, label).
[0041] Thus, for each i-th image in the image set, a set of m can be found. i Orientation points identified and a set of m_i positions LOCi1,...,LOCimi be determined, whereby m i ≥ 2. Each entry of the resulting training dataset can be a tuple (L i , label i ) include Li={LOCi1,...,LOCimi} The position information intended for the i-th image contains the set of positions intended for the i-th image.
[0042] The present device can further reduce the size of the input data while simultaneously providing an accurate representation of it. For each image in the set of images, the set of positions of the set of orientation points in the image can be represented by a feature vector in a predefined k-dimensional feature space with dimension k, which is smaller than the number of orientation points identified in the image. In this case, the positional information of each entry in the training dataset can be a feature vector. The feature space can refer to a k-dimensional space spanned by k distinct features used to characterize the set of orientation points; for example, a feature could be the number of positions, the location density, and so on.In one example, k distinct features can be determined, and for each image in the set of images, the set of positions of the image's reference points can be used to evaluate the k distinct features. The resulting evaluations can then be provided as a feature vector. The k distinct features can be user-defined or automatically determined, for example, using machine learning techniques.
[0043] In one example, the feature vectors can be determined through transfer learning. Transfer learning can be used to apply knowledge gained from solving another task related to the morphing recognition task. For example, the knowledge gained from learning to recognize objects can be applied to recognizing morphing of the objects.
[0044] In one example, the set of positions of the set of orientation points in the image can be represented by the feature vector using a linear transformation of a vector (y) representing the set of positions into the feature vector (x) using a weight matrix (W), where y = x × W. The linear transformation can be user-defined, meaning the weight matrix can be a user-defined matrix. Alternatively, the weight matrix can include trainable weights, which can be provided using transfer learning. For example, another machine learning model that has the weight matrix W as a trainable weight matrix may have been trained to generate the feature vector from a set of orientation points (e.g., for object recognition). The weight matrix W can therefore be transferred from this other machine learning model to be used with the present example.
[0045] In one example, the set of orientation point positions of the image's set of orientation points can be represented by the feature vector using a trained neural network (referred to here as the first neural network) that includes a fully connected layer of nodes representing the set of positions and an output layer representing the feature vector. The first neural network is configured to receive the set of positions of the image's orientation points and output the feature vector.
[0046] In one example, the size k of the feature vector representing the object of each image in the set of images can be defined based on the number of qubits in a quantum processing unit (QPU), enabling the training of a quantum mechanical machine learning model to recognize morphed images. The feature vector size can be determined, for instance, based on the encoding scheme used by the quantum mechanical machine learning model to encode classical data into quantum states. For example, the feature vector size k can be equal to the number of qubits available in the quantum processing unit. This can be particularly advantageous if the quantum mechanical machine learning model uses the angle encoding scheme to encode classical data into quantum states.Alternatively, the size k of the feature vector can be smaller than the number of qubits available in the quantum processing unit. This can be particularly advantageous if the quantum mechanical machine learning model uses the amplitude encoding scheme to encode classical data into quantum states.
[0047] Therefore, for each i-th image in the set of images, a feature vector can be provided that represents the object in the image. The feature vector comprises k feature values. Fi1,...,Fik. Each entry in the resulting training dataset can be a tuple (L i , label i ) include Li={Fi1,...,Fik} The position information for the i-th image contains the feature vector for that image. The size of the current entry can be smaller than the entry in the previous example because the size of the feature vector {Fi1,...,Fik} may be smaller than the size of the number of positions {LOCi1,...,LOCimi}.
[0048] In one example, the training dataset can be provided in the form of a data structure. This data structure could, for instance, consist of a table with one column for the label and one or more columns for the position information. Alternatively, the data structure could also be an XML (Extensible Markup Language) file or a JSON (JavaScript Object Notation) file.
[0049] The entries of the data structure can be represented, for example, as follows (e.g., in a table): (L1,label1) (L2,label2), (L3,label3),...
[0050] Where Li={Fi1,...,Fik} or Li={LOCi1,....,LOCimi}, That is, the position information can be provided as a feature vector or as a set of positions.
[0051] Once created, the training dataset can advantageously be used to train a machine learning model for image morphing detection. For example, the machine learning model could be a quantum mechanical machine learning model, a classical machine learning model, or a hybrid classical-quantum mechanical machine learning model. The quantum mechanical machine learning model could be, for example, a quantum neural network (QNN), a quantum convolutional neural network (QCNN), or a quantum support vector machine (QSVM). The classical machine learning model could be, for example, a deep neural network such as a CNN or a support vector machine. The document arXiv:2009.09423 provides an example of implementing CNNs in a quantum environment for image classification.
[0052] The resulting trained machine learning model can be used, for example, as follows. The trained machine learning model can receive an image, generate the image's positional information (e.g., the positional information can be a feature vector), process the positional information, and output a value indicating whether the received image is a morphed image or not.
[0053] The resulting trained machine learning model can be stored in the computer system and / or in one or more other systems. If it is stored only in the computer system, the computer system can be configured to receive a request from a remote system to classify an image as morphed or unmorphed. The computer system can generate a feature vector representing the object in the received image, and this feature vector can be fed into the trained machine learning model to obtain a value indicating whether the image is morphed or not. The resulting value (prediction) can then be sent to the remote system.
[0054] The quantum mechanical machine learning model can include an encoding layer. The encoding layer can be configured to encode the feature vector into a quantum state using a set of qubits. The quantum state can refer to a mathematical unit that provides a probability distribution for the outcomes of each possible measurement on the system of qubits. This can be done, for example, using an encoding scheme, such as angle encoding or amplitude encoding. The encoding of the feature vector into a quantum state can be accomplished, for instance, using Pauli rotation gates (R_X, R_Y, R_Z) applied to individual qubits. The encoding layer may or may not entangle the resulting quantum state.This means that the coding layer can provide a quantum state for a given feature vector, which can be either an entangled or an unentangled quantum state. Entanglement can be achieved without input data or trainable parameters, as it can be implemented using multi-qubit entanglement gates. Entanglement can enable access to a higher-dimensional state space.
[0055] The quantum mechanical machine learning model can further include a learning layer with one or more trainable or free parameters. The learning layer can be configured to modify the quantum state by applying one or more unitary transformations. The trainable parameters could, for example, be the rotation angles of Pauli rotation gates for individual qubits; that is, the Pauli rotation angle can be applied to each qubit in the set of qubits after the quantum state has been generated. Alternatively, the trainable parameters could include, for example, a number of rotation angles, each of which is applied to the set of qubits.
[0056] The quantum mechanical machine learning model can further include a measurement layer to measure the number of qubits after applying the change. This set of measurements can reveal whether the image represented by the feature vector is morphed or unmorphed. A loss function can be evaluated based on the set of measurements and the image label. The quantum mechanical machine learning model can be trained by backpropagation using the loss function and an optimization technique performed by a classical computer. Backpropagation can enable the updating of the learnable parameters by gradient descent. The convergence criterion can, for example, require that the loss function exceed a threshold. The trained quantum mechanical machine learning model can then be used to determine whether an image is morphed or not.
[0057] If the feature vector is provided by the first neural network, as described here, the quantum mechanical machine learning model and the first neural network can be trained together. For example, in each iteration of the training, a set of positions can be inputted into the first neural network to generate the feature vector. The feature vector is then provided as input to the quantum mechanical machine learning model, and the resulting set of measurements can indicate whether the image represented by the feature vector is morphed or unmorphed. A loss function can then be evaluated based on the set of measurements and the image labels.If the loss function fails to meet a convergence criterion, backpropagation is performed to update both the learnable parameters of the quantum mechanical machine learning model and the weights of the first neural network. Updating the weights of the first neural network and the learnable parameters can be done using gradient descent. If the loss function meets the convergence criterion, the trained first neural network and the quantum mechanical machine learning model can be deployed. The convergence criterion might, for example, require the loss function to exceed a threshold. The trained first neural network and the quantum mechanical machine learning model can then be used to determine whether an image is morphed or not.
[0058] In another example, the training of the quantum mechanical machine learning model can be performed jointly with the first neural network and a second neural network. The second neural network is configured to receive the set of measurements as input and to output a value indicating whether the image is morphed or not. For example, in each iteration of the training, a set of positions can be inputted into the first neural network to generate the feature vector, which is provided as input to the quantum mechanical machine learning model. This model, in turn, provides the set of measurements as input to the second neural network, which then provides a value indicating whether the image is morphed or not. A loss function can be evaluated based on the set of measurements and the image labels.If the loss function fails to meet a convergence criterion, backpropagation is performed to update the learnable parameters of the quantum mechanical machine learning model, the weights of the first neural network, and the weights of the second neural network. If the loss function does meet the convergence criterion, the first neural network, the second neural network, and the quantum mechanical machine learning model can be provided as outputs. The convergence criterion might, for example, require the loss function to exceed a threshold. The trained first neural network, the quantum mechanical machine learning model, and the second neural network can then be used to determine whether an image is a morphed image or not.
[0059] The present subject can, for example, use the trained machine learning model to determine whether an image is morphed or unmorphed. For this purpose, an image of an object can be received. The image can be captured, for example, by an identity token or read from a storage device where the image is stored. A set of landmarks of the object can be identified according to a landmark pattern. The positions of the set of landmarks can be determined in one step with respect to a coordinate system defined relative to the object. The position information can be input into the trained machine learning model. The position information specifies the set of positions. Output from the trained machine learning model can be received.The output indicates whether the received inference image is a morphed image or a non-morphed image.
[0060] In one example, the output of the trained model can be used to authenticate a user. If the user's image is not morphed, this can indicate that the user's identity is authentic. The authenticated user can then be granted access to the services. The computer system can, for example, be configured to generate a control signal to allow the authenticated user access to the services.
[0061] In one application example, an electric gate can be provided. The electric gate includes an electric gate motor that allows the gate to open and close automatically. If the output of the trained model indicates that the user is authenticated, the user can be granted access to an area by sending a control signal to the electric gate motor to open the gate. The electric gate could, for example, be a sliding door.
[0062] It is understood that one or more of the aforementioned examples can be combined, as long as the combined embodiments do not exclude each other.
[0063] Fig. Figure 1 is a flowchart of a procedure for generating a training dataset for training a machine learning model to recognize morphed images in accordance with an example from the present subject matter. The training dataset can be generated using a set of images.
[0064] An image of an object can be received in step 101. The image can be received, for example, from local storage on the computer system. Alternatively, the image can be received from a remote database system where the image is stored; for example, step 101 can be performed in response to a query being sent to the database system.
[0065] A set of landmarks of the object can be identified in accordance with a landmark pattern in step 103.
[0066] The positions of the set of reference points can be determined in step 105 with respect to a coordinate system defined relative to the object. Fig. show an example implementation of step 105.
[0067] In step 107, an entry can be added to the training dataset. The entry specifies the number of positions and a label, where the label indicates whether the received image is a real image or a morphed image. A real image refers to an unmorphed image.
[0068] As in Fig. As indicated in section 1, steps 101 to 107 can be repeated for each additional image in the set of images. This repetition can continue until a termination criterion is met. The termination criterion may require that the entire set of images be processed or that a maximum number of repetitions be reached.
[0069] In an example implementation of Fig. 1. Steps 103 and 105 can be performed simultaneously, e.g., the position of the landmark can be determined in response to the identification of the landmark.
[0070] In an example implementation of Fig. 1. The procedure can be repeated for each additional set of images, with the training dataset being updated / enlarged with new entries obtained for each additional set of images.
[0071] Fig. Figure 2A is a diagram illustrating a procedure for determining the positions of reference points in an image 130 of a human face 134 in accordance with an example of the present subject. A local coordinate system 131 can be used for this purpose. Fig. Figure 2A further shows an absolute coordinate system 135. The absolute coordinate system 135 could be a world coordinate system.
[0072] The local coordinate system 131 can be defined by an origin 132 and three orthogonal directions. The origin can be a specific point on the human face 134. In one example, the origin can be a user-defined point. Alternatively, the origin can be a randomly selected point on the human face. Alternatively, the origin can also be the center point of the human face or the center of mass of the human face.
[0073] In one example, the positions of the orientation points of the human face 134 can be determined with respect to the local coordinate system 131; for example, the position can be specified by a direction vector between the orientation point and the origin 132. The positions can be specified as 3D coordinates representing the three directions.
[0074] In one example, the initial positions of the orientation points of the human face 134 can first be determined with respect to the absolute coordinate system 135, and then a transformation from the absolute coordinate system 135 to the local coordinate system 131 can be applied to the initial positions to obtain positions in the local coordinate system 131.
[0075] Fig. Figure 2B is a diagram that illustrates a method for determining the positions of reference points in an image 150 of human eyes 154 in accordance with an example of the present object. A local coordinate system 151 can be used for this purpose. Fig. Figure 2B further shows an absolute coordinate system 155. The absolute coordinate system 155 could be a world coordinate system.
[0076] The local coordinate system 151 can be defined by an origin 152 and two orthogonal directions. The origin can be a specific point of the eyes 154. In an example, the origin can be a user-defined point. Alternatively, the origin can be a randomly selected point of the eyes. Alternatively, the origin can also be a central point of the eyes.
[0077] In one example, the positions of the orientation points of the eyes 154 can be determined with respect to the local coordinate system 151; for example, the position can be specified as a direction vector between the orientation point and the origin 152. The positions can be specified as 2D coordinates representing the two directions.
[0078] In one example, the initial positions of the orientation points of the eyes 154 can first be determined with respect to the absolute coordinate system 155, and then a transformation from the absolute coordinate system 155 to the local coordinate system 151 can be applied to the initial positions to obtain positions in the local coordinate system 151.
[0079] Fig. Figure 3 is a flowchart of a procedure for generating a training dataset to train a machine learning model to recognize morphed images in accordance with an example of the present subject matter. The training dataset can be generated using a set of images of a specific object type, e.g., a human face. The set of images can represent faces of different individuals (objects) or of the same individual.
[0080] An image of the specific object type from the set of images can be received in step 201. The image can be received, for example, from local memory of the computer system. Alternatively, the image can be received from a remote database system where the image is stored; for example, step 201 can be performed in response to a query being sent to the database system.
[0081] In accordance with a landmark pattern, a set of landmarks of the object can be identified in step 203. The landmark pattern can be provided in advance for the specific object type of the set of images. Alternatively, the landmark pattern can be determined in step 203 for the object type of the image.
[0082] The positions of the set of reference points can be determined in step 205 with respect to a coordinate system defined relative to the object.
[0083] In step 207, an entry can be added to the training dataset. The entry displays the number of positions and a label, where the label indicates whether the received image is a real image or a morphed image.
[0084] As in Fig. As shown in Figure 3, steps 201 to 207 can be repeated for each additional image in the set of images. This repetition can continue until a termination criterion is met. The termination criterion may require that the entire set of images be processed or that a maximum number of repetitions be reached.
[0085] In an example implementation of Fig. 3. Steps 203 and 205 can be performed simultaneously, e.g., the position of the landmark can be determined while the landmark is being identified.
[0086] In an example implementation of Fig. 3. The procedure can be repeated for each additional set of images, updating / growing the training dataset with new entries obtained for each additional set of images.
[0087] Fig. Figure 4 is a flowchart of a procedure for generating a training dataset for training a machine learning model to recognize morphed images in accordance with an example from the present subject matter. The training dataset can be generated using a set of images of various object types, such as the human face, human hand, eyes, etc.
[0088] An image from the set of images can be received in step 301. The image can be received, for example, from local memory on the computer system. Alternatively, the image can be received from a remote database system where the image is stored; for example, step 301 can be performed in response to a query being sent to the database system.
[0089] The object type represented by the image can be determined in step 303. This determination can be carried out, for example, using computer vision technology.
[0090] In step 305, a landmark pattern of the specific object type can be created or selected from provided landmark patterns.
[0091] In accordance with the landmark pattern, a set of landmarks of the object can be identified in step 307.
[0092] The positions of the set of reference points can be determined in step 309 with respect to a coordinate system defined relative to the object in the image.
[0093] In step 311, an entry can be added to the training dataset. The entry displays the number of positions and a label, where the label indicates whether the received image is a real image or a morphed image.
[0094] As in Fig. As shown in Figure 4, steps 301 to 311 can be repeated for each additional image in the set of images. This repetition can continue until a termination criterion is met. The termination criterion may require that the entire set of images be processed or that a maximum number of repetitions be reached.
[0095] In an example implementation of Fig. 4. Steps 307 and 309 can be performed simultaneously, e.g., the position of the landmark can be determined while the landmark is being identified.
[0096] In an example implementation of Fig. 4. The procedure can be repeated for each additional set of images, with the training dataset being updated / extended with new entries obtained for each additional set of images.
[0097] Fig. Figure 5 is a flowchart of a procedure for determining reference points of a depicted object in accordance with an example of the present subject.
[0098] In step 401, an image of an object can be received. The object can be recognized in the image in step 403. This recognition can be performed, for example, using computer vision technology. In step 405, the received image can be cropped in a region of the image defined by the recognized object. This can result in a cropped image. In step 407, a set of orientation points of the object can be identified in the cropped image according to an orientation point pattern. The positions of the set of orientation points can be determined in step 409 with respect to a coordinate system defined relative to the object in the cropped image.
[0099] Fig. Figure 6 is a diagram of a data structure representing the training dataset generated in accordance with an example from the present subject. The data structure 500 comprises n entries 501.1 to 501.n. Each i-th entry 501.i of the data structure comprises a tuple (L i , label i ), where L i the position information and label intended for the i-th image i The label of the i-th image is shown.
[0100] Fig. Figure 7 is a block diagram of an exemplary computer system for implementing at least part of the present method in accordance with an example of the present subject matter.
[0101] The components of the 602 computer system can include, among other things, one or more processors or processor units 603, a storage system 611, a storage unit 605, and a bus 607 that connects various system components, including the storage unit 605, to the processor 603. The storage system 611 can, for example, include a hard disk drive (HDD). The storage unit 605 can contain a medium readable by the computer system in the form of volatile memory, such as random access memory (RAM) and / or cache memory.
[0102] The computer system 602 can also communicate with one or more external devices, such as a keyboard, a pointing device, a display 613, etc.; one or more devices that allow a user to interact with the computer system 602; and / or with any devices (e.g., network card, modem, etc.) that allow the computer system 602 to communicate with one or more other computer devices. Such communication can take place via the input / output interface(s) 619. Furthermore, the computer system 602 can communicate with one or more networks, such as a local area network (LAN), a wide area network (WAN), and / or a public network (e.g., the Internet), via a network adapter 609. As shown in the figure, the network adapter 609 communicates with the other components of the client system 602 via the bus 607.
[0103] The 605 memory unit is configured to store applications that can be executed on the 603 processor. The 605 memory unit can, for example, contain an operating system and one or more application programs. The application programs comprise instructions that, when executed, carry out the tasks specified in the Fig. 1, Fig. 3, Fig. 4, Fig. 5, Fig. 8, Fig. 9, Fig. 10 or Fig. The procedures described in section 11 are possible.
[0104] Fig. Figure 8 is a flowchart of a procedure for training a classical machine learning model in accordance with an example from the present subject matter. The training can be performed using the training dataset as provided, for example, by the procedure of Fig. 1 was generated. For simplification, Fig. 8 with reference to the data structure of Fig. 6. Entries 501.1-n can be processed sequentially using the method. In this example, the position information stored in each entry of the training dataset can be the set of positions of the set of reference points in the image, e.g. Li={LOCi1,...,LOCimi}. L i The classic machine learning model can, for example, be a deep neural network such as a CNN or a support vector machine.
[0105] In step 701, the position information L i The value of the current i-th entry, 501.i, is entered into the classical machine learning model. The machine learning model can then assign a value v in step 703. i output that indicates whether this is due to the position information L i The displayed image is morphed or not. A loss function can be calculated in step 705 using the value v. iand the label i The current entry 501.i is evaluated. If (707) the loss function does not satisfy a convergence criterion, the learnable weights of the machine learning model can be updated in step 709, and steps 701 to 707 can be repeated for the next entry of the training dataset 500; otherwise, the trained machine learning model can be provided in step 711. The neural network weights can be updated using gradient descent.
[0106] Fig. Figure 9 is a flowchart of a procedure for training a quantum mechanical machine learning model in accordance with an example from the present subject. The training can be performed using the training dataset generated, for example, by the procedure of Fig. 1 was generated. For simplification, Fig. 9 with reference to the data structure of Fig. 6. Entries 501.1-n can be processed sequentially using the method. In this example, the position information stored in each entry of the training dataset can be the feature vector of the image, e.g., Li={Fi1,...,Fik}.
[0107] In step 801, the position information L i The current i-th entry 501.i is input into the quantum mechanical machine learning model. Subsequently, the quantum mechanical machine learning model can generate a quantum state using the coding layer, representing the feature vector in step 803. The quantum state can be modified in step 805 using the learning layer of the quantum mechanical machine learning model. The set of qubit measurements can be provided in step 807 as an indication of whether the position information L iThe displayed image is morphed or not. A loss function can be calculated by a classical computer in step 809 using the output of the model and the label. i The current entry 501.i is evaluated. If (811) the loss function does not satisfy a convergence criterion, the learnable parameters of the training layer can be updated in step 813, and steps 801 to 811 can be repeated for the next entry of the training dataset 500; otherwise, the trained quantum mechanical machine learning model can be provided in step 815. The update of the learnable parameters can be performed using gradient descent.
[0108] Fig. Figure 10 is a flowchart of a procedure for training a hybrid classical-quantum mechanical machine learning model in accordance with an example from the present subject matter. The training can be performed using the training dataset as provided, for example, by the procedure of Fig. 1 was generated. For simplification, Fig. 10 with reference to the data structure of Fig. 6. Entries 501.1-n can be processed sequentially using the method. In this example, the position information stored in each entry of the training dataset can be the set of positions of the set of reference points in the image, e.g., Li={LOCi1,...,LOCimi}.
[0109] In step 901, the position information L iThe current i-th entry 501.i is input into a first neural network. In response to receiving the position information, the first neural network can output a feature vector. In step 902, the feature vector can be input into the quantum mechanical machine learning model. Subsequently, the quantum mechanical machine learning model can generate a quantum state using the coding layer, which represents the feature vector in step 903. The quantum state can be modified in step 905 using the learning layer of the quantum mechanical machine learning model. The set of qubit measurements can be provided in step 906. A second neural network can receive the set of measurements as input and output a value v in step 907. i output that indicates whether this is due to the position information L iThe displayed image is morphed or not. In step 909, a loss function can be calculated using the value v. i and the label i The current entry 501.i is evaluated. If (911) the loss function does not satisfy a convergence criterion, the learnable parameters of the quantum mechanical machine learning model and the weights of the two neural networks can be updated in step 913, and steps 901 to 911 can be repeated for the next entry of the training dataset 500; otherwise, the trained quantum mechanical machine learning model and the two trained networks can be provided in step 915. The updating of the neural network weights and the learnable parameters can be performed using gradient descent.
[0110] Fig. Figure 11 is a flowchart of a procedure for the detection of morphed images in accordance with an example of the present subject matter.
[0111] In step 1001, an image of an object can be received. A set of the object's landmarks can be identified in step 1003 in accordance with a landmark pattern. The positions of the set of landmarks can be determined in step 1005 with respect to a coordinate system defined relative to the object. The position information can be fed into a trained machine learning model in step 1007 (e.g., the one in Fig. 8, Fig. 9 or Fig. 10 received model). The position information specifies the number of positions. An output from the trained machine learning model can be received in step 1009. The output indicates whether the received image is a morphed image or an unmorphed image.
[0112] The procedure of Fig. 11 can, for example, be from the computer system of Fig. 7 will be carried out.
[0113] As will be clear to those skilled in the art, aspects of the present invention can be implemented as a device, a method, a computer program, or a computer program product. Accordingly, aspects of the present invention can take the form of a purely hardware implementation, a purely software implementation (including firmware, resident software, microcode, etc.), or a combination of software and hardware aspects, which are collectively referred to herein as a "circuit," "module," or "system." Furthermore, aspects of the present invention can take the form of a computer program product embodied in one or more computer-readable media containing computer-executable code. A computer program comprises the computer-executable code or "program instructions."
[0114] The term "computer system" refers to data processing hardware and encompasses all types of apparatus, devices, and machines for processing data, including, for example, a programmable processor, a computer, or multiple processors or computers. The device may also be or include specialized logic circuitry, such as a central processing unit (CPU), a field-programmable gate array (FPGA), or an application-specific integrated circuit (ASIC). In some implementations, the data processing device and / or specialized logic circuitry may be hardware-based and / or software-based. The device may optionally include code that creates an execution environment for computer programs, such as code representing processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of these.The present disclosure considers the use of data processing equipment with or without conventional operating systems, e.g. LINUX, UNIX, WINDOWS, MAC OS, ANDROID, IOS or any other suitable conventional operating system.
[0115] Any combination of one or more computer-readable media can be used. The computer-readable medium can be a computer-readable storage medium. A "computer-readable storage medium," as used here, includes any tangible storage medium capable of storing instructions executable by a computer device's processor. The computer-readable storage medium can be referred to as a computer-readable non-volatile storage medium. The computer-readable storage medium can also be referred to as a concrete computer-readable medium. In some embodiments, a computer-readable storage medium may also be capable of storing data accessible to the computer device's processor.
[0116] "Computer memory" or "memory" is an example of a computer-readable storage medium. Computer memory is any memory that a processor can directly access. Another example of a computer-readable storage medium is "computer memory" or "memory." Computer memory is any non-volatile, computer-readable storage medium. In some embodiments, computer memory can also be computer working memory, or vice versa.
[0117] A "processor," as used here, comprises an electronic component capable of executing a program, a machine-executable instruction, or computer-executable code. When the data processing system is described as comprising "a processor," this should be understood to mean that it may contain more than one processor or processor core. The processor may, for example, be a multi-core processor. A processor may also refer to a collection of processors within a single computer system or distributed across multiple computer systems. The term "computer equipment" should also be interpreted as potentially referring to a collection or network of computer equipment, each comprising one or more processors.The executable computer code can be executed by multiple processors, which may be located in the same computer device or even distributed across multiple computer devices.
[0118] Computer-executable code may comprise machine-executable instructions or a program that causes a processor to execute an aspect of the present invention. Computer-executable code for performing operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java, Smalltalk, C++, or similar languages, and conventional procedural programming languages such as the programming language "C" or similar languages, and compiled into machine-executable instructions. In some cases, the computer-executable code may be in the form of a high-level language or in pre-compiled form and used in conjunction with an interpreter that generates the machine-executable instructions on the fly.
[0119] In general, program instructions can be executed on one processor or on multiple processors. In the case of multiple processors, they can be distributed across several different units. Each processor can execute a portion of the instructions intended for that unit. Therefore, when referring to a system or procedure involving multiple units, the computer program or program instructions should be understood as being adaptable for execution by a processor assigned to or associated with the respective unit. LIST OF REFERENCE MARKS 101-107 Procedural steps 130 images 131 Local Coordinate System 132 Origin 135 Absolute Coordinate System 150 images 151 Local Coordinate System 152 Origin 155 Absolute Coordinate System 201-207 Procedural steps 301-311 Procedural steps 401-409 Procedural steps 500 Data structure 501.1-n entries 603 processor units 605 storage unit 607 Bus 609 Network adapters 611 Storage system 613 Display 619 Input / Output Interface 701-711 Procedural steps 801-815 Procedural steps 901-915 Procedural steps 1001-1009 Procedural steps
Claims
[1] A method for generating a training data set (500) for training a machine learning model for the recognition of morphed images, the method comprising: Repeatedly performing the following steps: Receiving (101) an image (130, 150) of an object (134, 154); Identifying (103) a set of landmarks (134, 154) in accordance with a landmark pattern; Determining (105) the positions of the set of reference points with respect to a coordinate system (131, 151) defined relative to the object (134, 154); Adding an entry (501.1-n) to the training dataset (500), where the entry specifies the set of positions and a label, where the label indicates whether the received image (130, 150) is a real image or a morphed image. [2] The method according to claim 1, wherein receiving the image further comprises: Identifying (403) the object in the image; Cropping (405) an area of the image defined by the detected object, resulting in a cropped image, wherein the reference points in the cropped image are identified and the positions are determined using the cropped image. [3] The method according to any of the preceding claims, further comprising: Representing the set of positions by a feature vector in a k-dimensional feature space with a dimension k smaller than the number of orientation points in the set, where the entry includes the feature vector. [4] The method according to any one of the preceding claims 1 to 3, further comprising: Representing the set of positions by a feature vector using a trained neural network comprising a fully connected layer with nodes representing the set of positions and an output layer representing the feature vector; wherein the neural network is configured to receive the set of positions and output the feature vector, the input comprising the feature vector. [5] The method according to any one of the preceding claims 1 to 4, wherein the machine learning model comprises a quantum mechanical machine learning model, wherein the method further comprises: Representing the set of positions with a feature vector that has a size less than or equal to the number of qubits of a quantum processing unit, where the entry includes the feature vector. [6] The method according to any of the preceding claims, wherein the position of the orientation point are two-dimensional, 2D, coordinates. [7] The method according to any one of the preceding claims 1 to 5, wherein the position of the orientation point are three-dimensional, 3D, coordinates. [8] The method according to any of the preceding claims, wherein the object is a human face (134). [9] The method according to any of the preceding claims, further comprising the use of the training data set to train the machine learning model to recognize morphed images. [10] The method according to any of the preceding claims, wherein the method is repeated for each image of a set of images, wherein the set of images represents objects of the same object type. [11] The method according to any one of the preceding claims 1 to 9, wherein the method is repeated for each image of a set of images, the set of images representing objects of different object types (134, 154). [12] A computer program comprising machine-executable instructions, wherein the execution of the machine-executable instructions causes a computer system to perform at least the following: Repeatedly performing the following: Receiving (101) an image (130, 150) of an object (134, 154); Identifying (103) a set of landmarks of the object (134, 154) in accordance with a landmark pattern; Determining (105) positions of the set of reference points with respect to a coordinate system defined relative to the object (134, 154); Adding (107) an entry to a training dataset (500), wherein the entry specifies the set of positions and a label, where the label indicates whether the received image (130, 150) is a real image or a morphed image. [13] A computer system (602) for generating a training data set (500) for training a machine learning model for the recognition of morphed images, wherein the computer system (602) is configured for: Repeatedly performing the following: Receiving (101) an image (130, 150) of an object (134, 154); Identifying (103) a set of landmarks of the object (134, 154) in accordance with a landmark pattern; Determining (105) positions of the set of reference points with respect to a coordinate system defined relative to the object (134, 154); Adding (107) an entry to the training dataset, wherein the entry specifies the set of positions and a label, where the label indicates whether the received image (130, 150) is a real image or a morphed image. [14] A method for detecting morphed images, the method comprising: Receiving (1001) an image of its object; Identifying (1003) a set of landmarks of the object in accordance with a landmark pattern; Determining (1005) positions of the set of reference points with respect to a coordinate system defined relative to the object; Input (1007) of position information into a trained machine learning model, where the position information specifies the set of positions; Receiving (1009) an output of the trained machine learning model indicating whether the received image is a morphed image or a non-morphed image. [15] The method according to claim 14, further comprising: Representing the set of positions with a feature vector in a k-dimensional feature space with a dimension k that is smaller than the number of orientation points, where the position information includes the feature vector. [16] The method according to claim 14, wherein the position information comprises the set of positions. [17] The method according to any one of the preceding claims 14 to 16, wherein the machine learning model is the model according to claim 9. [18] The method according to any one of the preceding claims 14 to 16, further comprising capturing an image of the object from an identity token, wherein the received image is the captured image. [19] The method according to any one of the preceding claims 14 to 18, further comprising the generation of a control signal to enable access to services based on the output. [20] A computer program comprising machine-executable instructions, wherein the execution of the machine-executable instructions causes a computer system to perform at least the following: Receiving an image of an object; Identifying a set of landmarks of the object in accordance with a landmark pattern; Determining the positions of the set of reference points with respect to a coordinate system defined relative to the object; Inputting position information into a trained machine learning model, where the position information specifies the set of positions; Receiving an output from the trained machine learning model that indicates whether the received image is a morphed image or a non-morphed image. [21] A computer system for recognizing morphed images, wherein the computer system is configured for: Receiving an image of an object; Identifying a set of landmarks of the object in accordance with a landmark pattern; Determining the positions of the set of reference points with respect to a coordinate system defined relative to the object; Inputting position information into a trained machine learning model, where the position information specifies the set of positions; Receiving an output from the trained machine learning model that indicates whether the received image is a morphed image or a non-morphed image.
Citation Information
Patent Citations
Detecting artificial facial images using facial landmarks
US11238271B2
US000011238271B2