Information processing apparatus and method, image recognition system, and storage medium
By using random numbers to transform the dimension of the feature vector during the feature extraction process, making it non-constant, and generating the transformed vector, the problem of easily creating student model copies in distillation techniques is solved, thus achieving both the security of the feature vector and the accuracy of recognition.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2022-03-11
- Publication Date
- 2026-05-22
AI Technical Summary
In existing technologies, distillation techniques can easily create student model copies of deep network models, leading to feature vector leakage and security risks, and making it difficult to effectively prevent unauthorized use of feature vectors.
By using random numbers to transform the dimension of the feature vector during the feature extraction process, making it non-constant, and generating the transformed vector, it is difficult to determine the network architecture of the student model, thus preventing the application of distillation techniques.
This effectively prevents the duplication of student models created through distillation techniques, protects the security of feature vectors, and ensures the uniqueness of feature extraction and the accuracy of recognition.
Smart Images

Figure CN115131847B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to information processing equipment and information processing methods. Background Technology
[0002] In recent years, numerous feature extraction techniques have been proposed to extract useful information from objects in captured images through advanced processing. Among these techniques, feature extraction techniques using multi-layer neural networks known as deep networks to extract feature vectors of objects in images have been extensively studied.
[0003] Before the widespread adoption of deep networks, extensive research and development had been conducted on feature extraction techniques. Prior to the development of deep networks, research had been done on techniques for transforming extracted feature vectors to improve their classification accuracy (Japanese Patent Application Laid-Open No. 2004-192603). Because the feature vectors obtained in biometric authentication, such as facial recognition (personal authentication), are protected as part of personal information during feature extraction processing, Japanese Patent 5687601 discloses a technique for encrypting feature vectors.
[0004] A technique known as distillation is available, in which a learned deep network model (teacher model) is used to learn a deep network with a different network architecture (student model). The student model, learned using distillation, can output feature vectors that are essentially the same as those of the teacher model. Summary of the Invention
[0005] According to an embodiment of the present invention, an information processing device includes: an extraction unit configured to extract a feature vector of a subject in an image; and a generation unit configured to generate a transformed vector based on the feature vector, the transformed vector including a transformed vector obtained by transforming the feature vector using a random number, the transformed vector being a vector whose number of elements is determined according to the random number and is greater than the number of elements of the feature vector.
[0006] According to an embodiment of the present invention, an image recognition system includes: the aforementioned information processing device; and a judgment unit configured to perform category judgment based on feature vectors, wherein the judgment unit includes: a recalculation unit configured to recalculate the feature vectors based on the transformed vectors; and a category judgment unit configured to use the recalculated feature vectors to perform category judgment of the subject.
[0007] According to an embodiment of the present invention, an information processing apparatus includes: an extraction unit configured to extract a feature vector of a subject in an image; a correction unit configured to generate a correction vector by correcting the values of each element of the feature vector using random numbers; and a generation unit configured to generate a transformed vector, the transformed vector being a vector obtained by inserting the seed value used when generating the random numbers as an element into a predetermined position of the elements of the correction vector.
[0008] According to an embodiment of the present invention, an information processing method includes: extracting feature vectors of a subject in an image; and generating a transformed vector based on the feature vectors, the transformed vector including a transformed vector obtained by transforming the feature vectors using random numbers, the transformed vector being a vector whose number of elements is determined according to the random numbers and is greater than the number of elements of the feature vectors.
[0009] According to one embodiment of the present invention, a non-transient computer-readable storage medium is used to store a program that, when executed by a computer, causes the computer to perform the above-described information processing method.
[0010] Other features of the invention will become apparent from the following description of exemplary embodiments (with reference to the accompanying drawings). Attached Figure Description
[0011] Figure 1 This is a diagram illustrating an example of the structure of a system including an information processing device according to the first embodiment.
[0012] Figure 2 This is a schematic diagram illustrating the feature vector extraction according to the first embodiment.
[0013] Figure 3 This is a flowchart illustrating an example of a conversion process according to the information processing method of the first embodiment.
[0014] Figure 4 This is a diagram illustrating an example of a vector generated by the transformation process according to the first embodiment.
[0015] Figure 5 This is a flowchart illustrating an example of recalculating the feature vector according to the first embodiment.
[0016] Figure 6 This is a diagram illustrating an example of the structure of a system including an information processing device according to the second embodiment.
[0017] Figure 7 This is a flowchart illustrating an example of the conversion process according to the information processing method of the second embodiment.
[0018] Figure 8 This is a diagram illustrating an example of a vector generated by the transformation process according to the second embodiment.
[0019] Figure 9 This is a flowchart illustrating an example of the feature vector recalculation process according to the second embodiment.
[0020] Figure 10 This is a diagram illustrating an example of the structure of a system including an information processing device according to a third embodiment.
[0021] Figure 11 This is a flowchart illustrating an example of the feature vector recalculation process according to the third embodiment.
[0022] Figure 12 This is a diagram illustrating the hardware structure of a computer according to the fourth embodiment. Detailed Implementation
[0023] However, according to distillation techniques, the large number of labeled learning images required for normal learning is not necessary. Therefore, student models can be easily created compared to teacher model learning. This is not preferable from the perspective of the creator who has already spent time and effort creating the teacher model. As described in Japanese Patent Application Publication No. 2004-192603 and Japanese Patent No. 5687601, the extracted feature vectors can be subjected to some kind of transformation. However, this is not an effective measure to prevent distillation, because the transformed feature vectors can be used as teaching data for distillation.
[0024] In embodiments of the invention, feature vectors are extracted from the subject in the image to make it difficult to create a student model using distillation techniques.
[0025] The embodiments will now be described in detail with reference to the accompanying drawings. Note that the following embodiments are not intended to limit the scope of the claimed invention. Several features are described in the embodiments, but the invention is not limited to requiring all of these features, and multiple such features can be appropriately combined. Furthermore, in the drawings, the same or similar structures are given the same reference numerals, and redundant descriptions thereof are omitted.
[0026] distillation
[0027] Distillation is a technique that allows the generation of student models with lighter weights from a teacher model. While distillation is a useful technique, its misuse can allow for the easy creation of approximate copies of the teacher model. An example of a method to prevent the creation of student models through distillation is to have a classifier configured to output classification results from images only output the classification results, without outputting feature vectors.
[0028] However, depending on the application performing feature extraction, it may be difficult to avoid outputting feature vectors. For example, for a facial recognition system configured for face authentication, classifying all humans (individuals) is impractical. Therefore, in many cases, it's necessary to determine whether two faces belong to the same person. Using such a recognition system, the determination of whether two faces belong to the same person can be output by calculating the distance (or similarity) between the feature vectors calculated separately from the two faces. Here, when outputting feature vectors, feature vectors calculated from an image (one face) can be registered for shared use. However, when only the determination result is output, two images are always required as input, leading to reduced usability.
[0029] First Embodiment
[0030] The information processing device according to this embodiment extracts feature vectors from a subject in an image and transforms the extracted feature vectors such that the number of dimensions (number of elements) of the extracted feature vectors has a (non-constant) value corresponding to a random number. Therefore, it prevents the number of elements in the feature vectors from being uniquely determined, making it impossible to determine the network architecture of the student model, which makes it impossible to apply distillation techniques.
[0031] Figure 1 This is a block diagram illustrating an example structure of an image recognition system that performs facial authentication and includes a feature extraction unit 103 of an information processing device according to this embodiment. System 100 includes an image input unit 101, a face detection unit 102, a feature extraction unit 103, and a matching processing unit 106. Although system 100 according to this embodiment will be described below as a system for facial authentication, system 100 can perform any detection processing for extracting feature vectors from a subject in an image for judgment, including, for example, authentication of parts other than the face (e.g., other parts of the human body) and category judgment, without any particular limitation.
[0032] Image input unit 101 obtains image data to be subjected to facial authentication. Image input unit 101 may obtain an image captured by a camera unit (not shown) as image data, or it may obtain image data via a network or from a memory such as storage medium 1203 as described later. Image input unit 101 may be included within an information processing device including face detection unit 102, or it may be included in a device separate from the information processing device, and is configured to send image data to face detection unit 102 via a network.
[0033] The face detection unit 102 detects faces from image data obtained through the image input unit 101 and generates face region information. The face detection unit 102 can detect faces using known face detection techniques and is not particularly limited in its application. For example, the face detection unit 102 can extract the shapes of the constituent elements of the face region in the image (such as eyes, mouth, or nose), estimate the size of the face based on the size of the two eyes and the distance between them, and identify a region as a face region enclosed by a bounding box with the estimated face size relative to the center of the nose. Alternatively, the face detection unit 102 can detect faces using a face detection technique employing a hierarchical neural network. The face detection unit 102 sends the image data of the detected face regions as a face region image normalized to a specific size using a predetermined technique to the vector extraction unit 104 of the feature extraction unit 103.
[0034] The feature extraction unit 103 includes a vector extraction unit 104 for extracting information (feature vectors) for identifying an individual from an image, and a transformation unit 105 for performing a predetermined transformation on the feature vectors. According to this embodiment, the vector extraction unit 104 outputs a feature vector from the detected face image obtained from the face detection unit 102, and will be referred to hereinafter. Figure 2 To describe in detail the processing performed here.
[0035] According to this embodiment, the conversion unit 105 uses random numbers to convert the feature vector output from the vector extraction unit 104, and generates a converted vector with a larger number of dimensions than the feature vector before conversion. This conversion is performed to prevent the creation of a (functional) copy of the feature extraction unit 103 through distillation techniques. Reference will be made later. Figure 3 This describes the processing performed by the conversion unit 105.
[0036] Figure 2 This is a schematic diagram illustrating the processing performed by the vector extraction unit 104 to extract feature vectors from a facial region image. Image 200 is a facial region image that has been generated by the face detection unit 102 and normalized to a specific size. Here, the vector extraction unit 104 uses a convolutional neural network (CNN), i.e., a deep network, to extract feature vectors. Using a CNN, the input image is repeatedly processed by convolution, nonlinear processing, and pooling to extract abstract information from the input image. In this embodiment, a unit of the repeated processing described above is called a layer, and the next layer's processing is performed on the output of that layer. Although a corrected linear unit (ReLU) is used here, for example, as the nonlinear processing within a layer, other known techniques can be used. Although max pooling is used as the pooling processing, other known techniques can be used.
[0037] The CNN for vector extraction unit 104 is pre-learned to allow the extraction of information for individual body recognition from facial images. Here, learning means adjusting a large number of parameters required to process the CNN for vector extraction unit 104. That is, the large number of parameters constituting vector extraction unit 104 have been adjusted through learning to extract information for individual body recognition from the input image. This learning can be, for example, stopping the use of the softmax loss function and adjusting the CNN parameters through backpropagation to reduce the value of the loss function. Alternatively, different known learning methods can be used.
[0038] In this embodiment, the vector extraction unit 104 extracts feature vectors from the facial region image. A feature vector (feature quantity) is information used to identify individuals in an image and has elements whose extracted values are used as vector values.
[0039] In process 203, vector extraction unit 104 performs the aforementioned processing on image 200 as one layer and outputs intermediate map 204. Intermediate map 204 is used as input to process 205. In process 205, vector extraction unit 104 performs the aforementioned processing on the intermediate map as one layer and outputs intermediate map 206. Vector extraction unit 104 repeats this layered processing on the output of the layered processing. In subsequent processing 207, vector extraction unit 104 performs convolution processing on the output of the repeated layered processing and outputs the final intermediate map 208.
[0040] In process 209, vector extraction unit 104 performs a fully connected operation on the final intermediate mapping 208 and outputs feature vector 202. Assuming feature vector 202 is the value of a vector with n elements, it is described as follows. In the fully connected operation, a process is performed to multiply a matrix (called the fully connected matrix) with the final intermediate mapping 208 to compute feature vector 202. The parameters of the fully connected matrix are given by "the total number of data inputs to process 207" × "the number of elements in the feature vector". Note that vector extraction unit 104 can output feature vector 202 by using global average pooling (GAP) to connect the final intermediate mappings, or it can choose the desired method based on the design principles of the network architecture.
[0041] Figure 3 This is a flowchart illustrating an example of the processing performed by the conversion unit 105. When the feature vector from the vector extraction unit 104 is input to the conversion unit 105, the processing is performed... Figure 3The process is illustrated in step S301. The conversion unit 105 calculates a seed value based on the feature vector to generate random numbers used when converting the feature vector. The method used to calculate the seed value is not particularly limited, as long as it can be determined that the generated random numbers are constant. For example, the conversion unit 105 can use a portion of the feature vector as the seed value, or it can use the sum of the element values of the feature vector as the seed value. The seed value can be generated each time the process is performed, or it can be selected from a pre-generated group of random numbers.
[0042] In step S302, the conversion unit 105 generates a random number based on the seed value calculated in step S301. This random number is a conversion vector with a number of elements greater than the number of elements in the feature vector, and the number of elements is determined according to the seed value. Hereinafter, the random number is referred to as a random sequence, and its number of elements is referred to as the random sequence length (here, r). As a method for generating the random sequence, for example, a linear congruential method or an M-sequence can be used. However, as long as a random sequence with a random sequence length corresponding to the seed value is generated as described above, arbitrary operation or selection processing can be performed. For example, when using the linear congruential method, the conversion unit 105 can generate a random sequence with a random sequence length obtained by adding the value of the random number generated from the seed value to the number of elements in the feature vector (here, n).
[0043] In step S303, the conversion unit 105 uses a feature vector and a random sequence to generate a converted vector, which is a feature quantity output from the information processing device according to this embodiment. In this embodiment, the conversion unit 105 generates an update vector by generating the values of each element of the updated random sequence based on the values of the corresponding elements of the feature vector. Then, the conversion unit 105 inserts a seed value as an element at a predetermined position of the element in the update vector to generate the converted vector (i.e., the number of elements in the converted vector is equal to the number of elements in the random sequence plus 1). Here, the update vector is generated by using a linear or nonlinear transformation of the feature vector and the random sequence. However, the generation method is not particularly limited. The conversion unit 105 may create the update vector, for example, by adding or multiplying the corresponding elements (without updating elements that do not have the corresponding elements). Assuming that the update vector is generated by adding elements, the following description will be given.
[0044] Figure 4 This is a schematic diagram illustrating the processing performed in step S303. Vector 401 is an eigenvector and includes F(1) to F(n) as n elements. Random seed 402 is a seed value, which is assumed to be RS. Vector 403 is a random sequence generated based on random seed 402 and includes R(1) to R(r) as r elements.
[0045] Vector 404 is the update vector, which is assumed to be generated by adding the feature vector to the corresponding elements of the random sequence. That is, here, since r>n, vector 404 includes elements F(1)+R(1) to F(n)+R(n) as the nth element, and R(n+1) to R(r) as the (n+1)th to Rth elements, as r elements.
[0046] Vector 405 is a transformed vector generated by inserting a seed value at a predetermined position in the element of the updated vector. The position of the seed value insertion in the transformed vector is not particularly limited, as long as it can be referenced during the seed value extraction process performed later by the recognizer (the process performed in step S501 described below). Here, it is assumed that the seed value RS is inserted at the k-th position (0 ≤ k ≤ n).
[0047] Using this structure, feature vectors extracted from a subject in an image can be transformed using random numbers, and transformed vectors with a larger and non-constant number of elements than the original feature vectors can be generated. Therefore, it is difficult to create a student model that outputs a feature vector substantially identical to the feature vector (transformed vector) calculated by the information processing device according to this embodiment using distillation techniques. The reason is that it is difficult to create a model using techniques such as... Figure 2 The final layered processing of process 209 shown calculates a model with eigenvectors having a non-constant number of elements. That is, when calculating the transformed vector, in the case of fully connected processing in process 209, the size of the aforementioned fully connected matrix cannot be determined. In the case of GAP processing in process 209, the number of eigenfaces in the final intermediate mapping 208 undergoing GAP is equal to the number of elements in the output eigenvector 202. However, if the number of elements in the eigenvector is not constant, the number of eigenfaces in the final intermediate mapping 208 cannot be determined.
[0048] Next, the decision unit (i.e., Figure 1 The matching processing unit 106 shown uses transformed vectors generated from two facial region images to determine whether the two facial region images belong to the same person. The matching processing unit 106 includes a recalculation unit 107 and a recognition unit 108.
[0049] The recalculation unit 107 uses the transformed vector generated by the transformation unit 105 as input to recalculate the feature vector. Basically, according to this embodiment, the recalculation unit 107 performs the processing steps performed by the transformation unit 105 in reverse order. Figure 5 This is a flowchart illustrating an example of the processing performed by the recalculation unit 107, and will also refer to... Figure 4 To describe the recalculation unit 107.
[0050] In step S501, the recalculation unit 107 extracts a seed value from the transformed vector. Here, the recalculation unit 107 extracts a random seed 402 and regenerates and updates the vector 404, where the random seed 402 is the k-th element of the transformed vector 405.
[0051] In step S502, the recalculation unit 107 generates random numbers based on the extracted seed value in the same manner as in step S302. That is, the recalculation unit 107 generates a random sequence 403 based on the random seed 402.
[0052] In step S503, the recalculation unit 107 recalculates the feature vector based on the updated vector 404 regenerated in step S501 and the random sequence 403 generated in step S502. Here, the recalculation unit 107 recalculates the same vector as the feature vector 401 by subtracting the values of the corresponding elements of the random sequence from the values of each element of the updated vector 404 and extracting the first to nth elements. Through this process, the feature vector extracted by the vector extraction unit 104 can be recalculated based on the transformed vector.
[0053] The recognition unit 108 uses two feature vectors recalculated by the recalculation unit 107 to determine whether the facial images (here, facial image p and facial image q) from which each feature vector has been extracted belong to the same person. That is, the recognition unit 108 uses the following feature vectors to make the above determination, which are generated using facial image p and facial image q as input respectively and then converted into feature vectors by the recalculation unit 107.
[0054] Here, the recognition unit 108 calculates a cosine similarity based on facial image p and facial image q. If the calculated cosine similarity is greater than a predetermined threshold, the facial images are determined to belong to the same person; otherwise, they are determined not to belong to the same person. Note that the judgment process performed by the recognition unit 108 can be performed using any general recognition processing method that uses feature vectors.
[0055] Using this structure, feature vectors extracted from the subjects in the image used to generate the transformed vectors can be recalculated based on the transformed vectors generated using random number transformations. Then, based on the recalculated feature vectors, it can be determined whether the subjects in the image belong to the same person. Therefore, it is possible to determine whether the subjects in the image belong to the same person using the transformed vectors, which are the outputs of student models that are difficult to create through distillation techniques.
[0056] Second Embodiment
[0057] As is well known, deep networks offer excellent techniques in feature extraction and allow information for individual identification to be extracted from facial images through learning. Therefore, the feature vectors computed from a person's facial image using a deep network can be considered as information representing the individuality of that person, and it can be expected that slightly different facial images of the same person will have essentially the same feature vectors.
[0058] Here, the model used as the student model in distillation is also a deep network (but its network architecture differs from the teacher model). The feature vectors extracted from facial images of the same person are essentially the same between the teacher and student models in distillation. That is, from the perspective of determining whether two facial images belong to the same person based on the distance between the feature vectors extracted from them, the calculated distances between these feature vectors are also essentially the same between the teacher and student models.
[0059] The information processing apparatus according to the second embodiment extracts feature vectors from a subject in an image and corrects each element of the extracted feature vectors based on random numbers. Then, a seed value of the random number used for correction is inserted at a predetermined position of the correction element of the feature vector, thereby generating a transformed vector. As a result, the elements of the feature vector are randomly transformed according to the random number, making the distance correlation between the vectors before and after transformation weaker. That is, even when two facial images of the same person that are extremely similar to each other are input, the transformed vectors obtained from the feature vectors extracted from the facial images are not similar to each other at all. In this case, it is unlikely that a suitable student model can be generated by learning through distillation using the feature vectors (transformed vectors) calculated by the teacher model as teaching data. This is expected to help prevent duplication through distillation. Note that the information processing apparatus according to this embodiment can recover the original feature vector from the transformed vector by referring to the seed value of the random number used for correction, and therefore does not impair the function of the recognizer.
[0060] The information processing device according to this embodiment uses a deep network to perform the processing for extracting feature vectors in essentially the same manner as the information processing device according to the first embodiment. Figure 6 This is a block diagram illustrating the functional structure of a system 600 including a feature extraction unit 601 of an information processing apparatus according to this embodiment. The system 600 has the same structure as the system 100, except that it includes a feature extraction unit 601 (conversion unit 602) replacing the feature extraction unit 103 (and the conversion unit 105 therein) and a matching processing unit 603 (recalculation unit 604) replacing the matching processing unit 106 (recalculation unit 107). Therefore, redundant descriptions are omitted.
[0061] The feature extraction unit 601 includes a vector extraction unit 104 and a transformation unit 602. The transformation unit 602 transforms each element of the feature vector extracted from the facial region image by the vector extraction unit 104 using a predetermined transformation process based on random numbers. Specifically, the transformation unit 602 corrects each element of the extracted feature vector based on random numbers and inserts the seed value of the random number used for correction into a predetermined position of the corrected element of the feature vector, thereby generating a transformed vector.
[0062] Figure 7 This is a flowchart illustrating an example of the processing performed by the conversion unit 602. Figure 7 The processing shown is to be with Figure 3 The process shown is performed in the same way, except that the number of elements in the random sequence matches the number of elements in the feature vector (generating a random sequence such that r = n). That is, in step S701, the conversion unit 602 calculates a seed value based on the feature vector to generate the random numbers used when converting the feature vector. As with the process in step S301, the method used to calculate the seed value is not particularly limited as long as the generated random value is determined to be constant.
[0063] In step S702, the conversion unit 602 generates random numbers based on the seed value calculated in step S701. As described above, here, a random sequence of vectors with the same number of elements as the feature vector is generated based on the seed value.
[0064] In step S703, conversion unit 602 uses the feature vector and the random sequence generated in step S702 to generate a converted vector. Conversion unit 602 generates the converted vector in the same manner as in the generation process of step S303 in the first embodiment, except that the number of elements in the feature vector and the random sequence are equal. That is, in this embodiment, conversion unit 602 generates a correction vector (update vector) by adding the feature vector to the corresponding elements of the random sequence, and generates the converted vector by inserting the seed value as an element at a predetermined position in the correction vector.
[0065] Figure 8 This is a schematic diagram illustrating the processing in step S703. Vector 401 is a feature vector and includes F(1) to F(n) as n elements. Random seed 801 is a seed value, which is assumed to be RS. Vector 802 is a random sequence generated based on random seed 801 and includes R(1) to R(n) as n elements.
[0066] Vector 803 is a correction vector, and has values obtained by adding the elements of feature vector 401 to the corresponding elements of random sequence 802 for each element. Vector 804 is a transformed vector generated by inserting random seed 801 into predetermined positions of elements of correction vector 803. Similar to the insertion position of seed value 402 in the first embodiment, the predetermined position of random seed 801 is not limited, but in this embodiment it is also assumed to be the k-th position.
[0067] This structure uses random numbers to correct the elements of the feature vector extracted from the subject in the image, and inserts the seed value of the random number used for correction at predetermined positions in the corrected elements of the feature vector, thereby generating a transformed vector. Therefore, randomly transforming the elements of the feature vector based on random numbers weakens the distance correlation between the vectors before and after transformation, making it difficult to create a student model using distillation techniques.
[0068] Next, the decision unit (i.e., Figure 6 As described in the matching processing unit 603 shown, the determination unit uses transformed vectors generated from two facial region images to determine whether the two facial region images belong to the same person. The matching processing unit 603 includes a recalculation unit 604 and a recognition unit 108.
[0069] The recalculation unit 604 uses the transformed vector generated by the transformation unit 602 as input to recalculate the feature vector. Basically, according to this embodiment, the recalculation unit 604 performs the processing steps performed by the transformation unit 602 in reverse order. Figure 9 This is a flowchart illustrating an example of the processing performed by the recalculation unit 604, and will also refer to... Figure 8 To describe recalculation unit 604.
[0070] In step S901, the recalculation unit 604 extracts a seed value from the transformed vector. Here, the recalculation unit 604 extracts a random seed 801 and regenerates the correction vector 803, where the random seed 801 is the k-th element of the transformed vector 804.
[0071] In step S902, the recalculation unit 604 generates random numbers based on the extracted seed value in the same manner as in step S702. That is, the recalculation unit 604 generates a random sequence 802 based on the random seed 801.
[0072] In step S903, the recalculation unit 604 recalculates the feature vector based on the correction vector 803 regenerated in step S901 and the random sequence 802 generated in step S902. Here, the recalculation unit 604 recalculates the same vector as the feature vector 401 by subtracting the values of the corresponding elements of the random sequence from the values of each element of the correction vector 803. Through this process, the feature vector extracted by the vector extraction unit 104 can be recalculated based on the transformed vector.
[0073] Similar to the first embodiment, the recognition unit 108 uses two feature vectors recalculated by the recalculation unit 604 to determine whether the facial images from which each feature vector has been extracted belong to the same person.
[0074] Using this mechanism, feature vectors extracted from the subjects in the image used when generating the transformed vector can be recalculated based on the transformed vector obtained by random number conversion. Then, based on the recalculated feature vector, it can be determined whether the subjects in the image belong to the same person. Here, the transformed vector is obtained by adding the feature vector to a random sequence for each element (and also inserting a seed value). Although the elements of the random sequence are randomly determined based on the seed value, the elements of the transformed vector obtained by adding the elements of the random sequence also inherit the properties of the random sequence to some extent (the elements of the transformed vector are also randomly determined), and the distance between the feature vectors also reflects randomness. Therefore, it is difficult to distinguish facial region images directly using the transformed vector, making it difficult to create student models using distillation techniques. On the other hand, using the matching processing unit 603 according to this embodiment, this transformed vector can be used to determine whether the subjects in the image belong to the same person.
[0075] In the processing performed by the system 600 according to this embodiment, the seed value extracted by the recalculation unit 604 should be equal to the seed value recalculated by the recalculation unit 604 based on the recalculated feature vector (through the same processing as in step S701). On the other hand, if these seed values are not equal, the transformed vector that has been input to the matching processing unit 603 is likely to be different from the transformed feature vector calculated in the feature extraction unit 601. From this viewpoint, the recalculation unit 604 can recalculate the seed value from the recalculated feature vector, then determine whether the extracted seed value is equal to the recalculated seed value, and can recalculate the feature vector only if these seed values are equal. Figure 11 This is a flowchart illustrating an example of the processing performed by the recalculation unit 604 configured to perform such processing. In addition to performing the processing in step S1101 instead of the processing in S903,... Figure 11 The processing shown is Figure 9 The processing shown is the same, and therefore redundant descriptions have been omitted.
[0076] In step S1101, the recalculation unit 604 recalculates the feature vector in the same manner as in step S903, and recalculates the seed value based on the recalculated feature vector in the same manner as in step S701. Then, the recalculation unit 604 determines whether the seed value extracted in step S901 is equal to the recalculated seed value. If these seed values are equal, the recalculated feature vector is output to the recognition unit 108; otherwise, the process ends, and the recognition process of the recognition unit 108 is not performed.
[0077] Using this process, it is possible to determine whether to perform recognition processing based on the recalculated feature vector by whether the seed value extracted from the transformed vector matches the recalculated seed value. Therefore, matching processing using transformed vectors generated by feature extraction performed by a feature extraction unit 601 that was not originally intended can be prevented. This provides a further effect of suppressing duplication by the distilled feature extraction unit 601.
[0078] Although r and n are described as matched in this embodiment, r and n do not need to match as long as the distance correlation between the vectors before and after the transformation weakens. For example, r can be less than n. If r and n do not match, the process for generating the transformed vector in step S703 is performed in the same manner as the process for generating the transformed vector in step S303, by updating the elements of the vector with a larger number of elements with the elements of other vectors located at the corresponding positions.
[0079] Third Embodiment
[0080] In the first and second embodiments, examples of facial authentication systems that compare two facial image regions and determine whether a subject belongs to the same person have been described. The system 1000, including the information processing apparatus according to the third embodiment, pre-registers facial region images (referred to as registration images) of the person to be facially authenticated, and determines whether the input facial region image is any of the registered registration images or not.
[0081] Figure 10This is a block diagram illustrating an example structure of a system 1000 that performs facial authentication and includes a feature extraction unit 601 of an information processing device according to this embodiment. System 1000 has the same structure as system 600 of the second embodiment, except that it includes a matching processing unit 1001 instead of a matching processing unit 603 and newly includes an information storage unit 1002; therefore, redundant descriptions are omitted. Although in the following description, the transformed vector is described as being generated through the same process as in the second embodiment, the transformed vector can be generated through the process described in the first embodiment. Figure 5 The process shown is used to generate it.
[0082] Information storage unit 1002 stores information through Figure 7 The processing shown generates a transformed vector from the feature vectors extracted from each registered image. The information storage unit 1002 records the transformed vectors (hereinafter referred to as registration vectors) generated from each registered image and associates them with the person IDs corresponding to the registered images, and sends them to the matching processing unit 1001.
[0083] The matching processing unit 1001 uses the transformed vector generated by the conversion unit 602 and the registration vector received from the information storage unit 1002 to determine whether two images belong to the same person. The matching processing unit 1001 includes a recalculation unit 1003 and a recognition unit 1004.
[0084] The recalculation unit 1003 uses each of the transformed vector generated by the transformation unit 602 and the registration vector received from the information storage unit 1002 as input to recalculate the feature vector. This is in contrast to the second embodiment. Figure 9 The same process is performed as shown. Note that the recalculation unit 1003 records the recalculated feature vector from the registration vector and the person ID associated with that registration vector.
[0085] The recognition unit 1004 uses two feature vectors recalculated by the recalculation unit 1003 to determine whether the facial images with their respective extracted feature vectors belong to the same person. The judgment process performed by the recognition unit 1004 is performed in the same manner as that performed by the recognition unit 108 in the first embodiment.
[0086] When multiple registration vectors are stored in the information storage unit 1002, the transformed vectors generated by the conversion unit 602 can be processed by the recognition unit 1004 for each registration vector. In this case, if the maximum similarity among the similarities calculated for the registration vectors is greater than a predetermined threshold, the recognition unit 1004 determines that the person corresponding to the person ID of the registration vector with the maximum similarity is the subject in the image already input to the image input unit 101. On the other hand, if no similarity calculated for any registration vector exceeds the predetermined threshold, the information storage unit 1002 outputs a notification indicating that no image corresponds to a person.
[0087] Using this structure, a facial authentication system that can prevent duplication through distillation can be used to determine whether a subject in an input image belongs to any of the people whose images have been registered.
[0088] Fourth embodiment
[0089] In the above embodiments, for example, Figure 1 The processing units shown are implemented by dedicated hardware. All or part of the processing units of system 100 can be implemented by a computer. In this embodiment, at least a portion of the processing according to the various above embodiments is executed by a computer.
[0090] Figure 12 This is a diagram illustrating the basic structure of the computer. Figure 12 In this embodiment, the processor 1201, for example, is a CPU, and performs overall control of the computer's operations. The memory 1202, for example, is RAM, and temporarily stores programs and data. The computer-readable storage medium 1203, for example, is a hard disk or CD-ROM, and permanently stores programs and data. In this embodiment, the program stored in the storage medium 1203 that implements the function of the unit is read into the memory 1202. Then, the function of the unit is implemented by the processor 1201 according to the program on the memory 1202.
[0091] exist Figure 12 In this configuration, input interface 1204 is used to obtain information from external devices. Output interface 1205 is used to output information to external devices. Bus 1206 connects the aforementioned units and enables data exchange between them.
[0092] Other embodiments
[0093] The embodiments of the present invention can also be implemented by providing software (programs) that perform the functions of the above embodiments to a system or device via a network or various storage media, and the computer or central processing unit (CPU) or microprocessor unit (MPU) of the system or device reads out and executes the program.
[0094] Although the invention has been described with reference to exemplary embodiments, it should be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the appended claims is to be given the broadest interpretation to cover all such modifications and equivalent structures and functions.
Claims
1. An information processing device, comprising: An extraction unit is configured to extract at least one feature vector corresponding to a subject in an image; A correction unit is configured to generate different seed values for each feature vector of the at least one feature vector; A generation unit, configured to generate different random sequences for various sub-values of the seed value; and A computing unit is configured to compute at least one transformed vector by inserting various subvalues into predetermined positions of the corresponding correction vector. Each correction vector is obtained by operating on elements that are corresponding to each other at positions between the corresponding feature vector and the corresponding random sequence. The operation uses a corresponding seed value and a corresponding transformed vector to reconstruct each feature vector of the at least one feature vector.
2. The information processing device according to claim 1, wherein: The computing unit is also configured to compute a transformation vector, in which the values of each element are determined based on the random sequence. The correction unit is configured to generate the correction vector in the following manner: The values of each element in the at least one feature vector and the transformation vector that have a larger number of elements, or the values of each element in the at least one feature vector and the transformation vector that have the same number of elements, are updated based on the values of the corresponding elements at the positions of the other feature vector and the transformation vector.
3. The information processing device according to claim 2, in, The seed value is calculated based on the at least one feature vector.
4. The information processing device according to claim 1, in, The number of elements in each transformed vector is determined according to the corresponding random sequence and is greater than the number of elements in the corresponding feature vector.
5. The information processing device according to claim 1, wherein each random sequence has a different column length.
6. An image recognition system, comprising: Information processing device according to any one of claims 1 to 5; as well as The judgment unit is configured to make a category determination based on at least one feature vector. The determination unit includes: A recalculation unit, configured to recalculate the at least one feature vector based on the transformed vector; and A category determination unit is configured to use at least one recalculated feature vector to determine the category of the subject.
7. The image recognition system according to claim 6, in, The information processing device further includes a second generation unit, which is configured to generate a seed value used in generating the random sequence based on the at least one feature vector. The judgment unit further includes an acquisition unit, which is configured to obtain a seed value for the random sequence based on the transformed vector. If the seed value obtained by the obtaining unit is the same as the seed value regenerated by the second generating unit based on the recalculated at least one feature vector, the category of the subject is determined.
8. A non-transient computer-readable storage medium for storing a program that, when executed by a computer, causes the computer to function as an information processing device according to any one of claims 1 to 5.
9. An information processing method, comprising: Extract at least one feature vector corresponding to the subject in the image; Different seed values are generated for each feature vector of the at least one feature vector; Generate different random sequences for various sub-values of the seed value; and At least one transformed vector is calculated by inserting various subvalues into predetermined positions in the corresponding correction vector. Each correction vector is obtained by operating on elements that are corresponding to each other at positions between the corresponding feature vector and the corresponding random sequence. The operation uses a corresponding seed value and a corresponding transformed vector to reconstruct each feature vector of the at least one feature vector.