Information processing device, information processing method, image identification system, and program

By transforming feature vectors with random numbers to increase dimensions unpredictably, the method hinders the creation of student models through distillation, effectively preventing unauthorized duplication while maintaining feature vector functionality.

JP7733454B2Active Publication Date: 2025-09-03CANON KK
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2021040692
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-03-12
Publication Date
2025-09-03
Estimated Expiration
2041-03-12

AI Technical Summary

Technical Problem

Distillation techniques for creating student models from teacher models in feature extraction are too easy, posing a risk of unauthorized duplication and misuse.

Method used

The method involves extracting feature vectors from images and transforming them using random numbers to increase the number of dimensions unpredictably, making it difficult to apply distillation for creating a student model.

Benefits of technology

This approach renders it challenging to create a student model using distillation, preserving the functionality of feature vectors while preventing unauthorized duplication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007733454000001
    Figure 0007733454000001
  • Figure 0007733454000002
    Figure 0007733454000002
  • Figure 0007733454000003
    Figure 0007733454000003
Patent Text Reader

Abstract

To extract a feature vector from a subject in an image so as to make difficult the creation of a student model by a distilling method.SOLUTION: An information processing apparatus extracts a feature vector of a subject in an image. The information processing apparatus generates, based on the feature vector, a post-conversion vector that is a vector including a conversion vector obtained by converting the feature vector by using random numbers and having a larger number of elements than the feature vector, in which the number of elements is determined according to the random numbers.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing device, an information processing method, an image recognition system, and a program. [Background technology]

[0002] In recent years, many feature extraction techniques have been proposed to extract useful information from objects in images through advanced image processing. Among these, feature extraction techniques that use multi-layered neural networks called deep nets to extract feature vectors of objects in images have been actively researched.

[0003] Feature extraction technology has been actively researched and developed since before deep networks became widely known. Before the development of deep networks, research was also being conducted on techniques for extracting feature vectors and then converting them to improve classification accuracy (Patent Document 1). Furthermore, Patent Document 2 discloses a technology for encrypting feature vectors in feature extraction processing for biometric authentication such as face recognition (personal authentication) in order to protect the obtained feature vectors as part of personal information.

[0004] There is a technique called distillation, in which a trained deep net model (teacher model) is used to train a deep net (student model) with a different network architecture. The student model trained using distillation technology can output feature vectors that are nearly identical to those of the teacher model. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2004-192603 [Patent Document 2] Patent No. 5687601 Summary of the Invention [Problem to be solved by the invention]

[0006] However, distillation technology does not require the large number of labeled training images required for normal learning, making it easier to create student models than training teacher models. This is undesirable for the creators who have worked hard to create the teacher models. As shown in Patent Documents 1 and 2, it is possible to perform some kind of transformation processing on the extracted feature vectors, but since the transformed feature vectors can be used as teacher data for distillation, this is not an effective measure from the perspective of preventing distillation.

[0007] The present invention aims to extract feature vectors from objects in an image in such a way that it becomes difficult to create a student model using distillation techniques. [Means for solving the problem]

[0008] In order to achieve the object of the present invention, for example, an information processing apparatus according to one embodiment comprises the following arrangement: an extracting means for extracting a feature vector of a subject in an image; Lu random number column a correction means for generating a correction vector corrected by using the random number column and generating means for generating a transformed vector, which is a vector into which the seed value used in generating the transformed vector is inserted as an element. The seed value is calculated based on the feature vector. do. [Effects of the Invention]

[0009] Feature vectors are extracted from the objects in the image so that creating a student model using the distillation method is difficult. [Brief explanation of the drawings]

[0010] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of a system including an information processing device according to a first embodiment. [Figure 2] FIG. 2 is a schematic diagram for explaining feature vector extraction according to the first embodiment. [Figure 3]4 is a flowchart showing an example of conversion processing by the information processing method according to the first embodiment. [Figure 4] FIG. 4 is a diagram showing an example of each vector generated by the conversion processing according to the first embodiment. [Figure 5] 10 is a flowchart showing an example of a feature vector recalculation process according to the first embodiment. [Figure 6] FIG. 10 is a diagram showing an example of the configuration of a system including an information processing device according to a second embodiment. [Figure 7] 10 is a flowchart showing an example of conversion processing by an information processing method according to the second embodiment. [Figure 8] FIG. 10 is a diagram showing an example of each vector generated by the conversion processing according to the second embodiment. [Figure 9] 10 is a flowchart showing an example of a feature vector recalculation process according to the second embodiment. [Figure 10] FIG. 10 is a diagram showing an example of the configuration of a system including an information processing device according to a third embodiment. [Figure 11] 11 is a flowchart showing an example of a feature vector recalculation process according to the third embodiment. [Figure 12] FIG. 10 is a diagram showing the hardware configuration of a computer according to a fourth embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0011] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the invention claimed. Although multiple features are described in the embodiments, not all of these multiple features are necessarily essential to the invention, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same reference numerals are used to designate the same or similar components, and redundant explanations will be omitted.

[0012] [distillation] Distillation is a technique that can generate a lightweight student model from a teacher model. While distillation is a useful technique, it can be misused to easily generate a rough copy of the teacher model. To prevent the creation of student models through distillation, for example, a classifier that outputs class classification results from images can output only the classification results without outputting feature vectors.

[0013] However, depending on the application that performs feature extraction, it may be difficult to not output a feature vector. For example, in a classifier that performs face recognition, it is often necessary to determine whether two faces belong to the same person, since it is not realistic to classify all human classes (individuals). Such a classifier can output whether two faces belong to the same person or different people by calculating the distance (or similarity) between feature vectors calculated from each of the two faces. Here, if a feature vector is output, it is possible to register and reuse a feature vector calculated from one image (one face). However, if only the determination result is output, two images must always be input, which reduces usability.

[0014] [Embodiment 1] The information processing device according to this embodiment extracts a feature vector from a subject in an image and converts the extracted feature vector so that the number of dimensions (number of elements) becomes an (indefinite) value corresponding to a random number. As a result, the number of elements of the feature vector cannot be uniquely determined, and the network architecture of the student model cannot be determined, making it impossible to apply the distillation method.

[0015] 1 is a block diagram showing an example of the configuration of an image identification system that performs face recognition, including a feature extraction unit 103 of an information processing device according to this embodiment. The system 100 includes an image input unit 101, a face detection unit 102, a feature extraction unit 103, and a matching processing unit 106. Hereinafter, the system 100 according to this embodiment will be described as a system that performs face recognition, but is not particularly limited to this system as long as it is a detection process that extracts a feature vector used for recognition from a subject in an image, such as recognition of an object other than a face (for example, another part of a human body) or class discrimination.

[0016] The image input unit 101 acquires image data to be subjected to face recognition. The image input unit 101 may acquire image data captured by an imaging unit (not shown), or may acquire image data via a network or from storage such as a storage medium 1203 (described later). The image input unit 101 may be included inside an information processing device including the face detection unit 102, or may be included in a device separate from the information processing device and transmit image data to the face detection unit 102 via a network.

[0017] The face detection unit 102 detects faces from the image data acquired by the image input unit 101 and generates a face region image. The face detection unit 102 can detect faces using a known face detection method, and the method is not particularly limited. For example, the face detection unit 102 may extract the shapes of components of a face region, such as the eyes, mouth, or nose, from the image, estimate the size of the face based on the size of both eyes and the distance between them, and determine the face region as an area surrounded by a box of the estimated face size based on the center position of the nose. The face detection unit 102 may also detect faces using a face detection method that uses a hierarchical neural network. The face detection unit 102 normalizes the image data of the detected face region to a fixed size using a predetermined method and transmits the resulting image data to the vector extraction unit 104 of the feature extraction unit 103 as a face region image.

[0018] The feature extraction unit 103 includes a vector extraction unit 104 that extracts information (feature vector) for identifying an individual from an image, and a conversion unit 105 that performs a predetermined conversion on the feature vector. The vector extraction unit 104 according to this embodiment outputs a feature vector from the face detection image acquired from the face detection unit 102, and the processing performed here will be described in detail later with reference to FIG. 2.

[0019] The conversion unit 105 according to this embodiment converts the feature vector output by the vector extraction unit 104 using random numbers to generate a converted vector having a larger number of dimensions than the feature quantity before conversion. This conversion is performed to prevent the distillation technique from creating a duplicate (in terms of functionality) of the feature extraction unit 103. The processing performed by the conversion unit 105 will be described later with reference to FIG. 3.

[0020] FIG. 2 is a schematic diagram illustrating the process of extracting a feature vector from a face region image performed by the vector extraction unit 104. Image 200 is a face region image generated by the face detection unit 102 and normalized to a fixed size. Here, the vector extraction unit 104 extracts the feature vector using a convolutional neural network (CNN), a type of deep network. CNN extracts abstracted information from an input image by repeatedly performing a process consisting of a convolution process, a nonlinear process, and a pooling process on the input image. In this embodiment, one unit of the above-mentioned repeated process is called a layer, and the output of the process in a layer is subjected to the process in the next layer. Here, for example, a rectified linear unit (ReLU) is used as the nonlinear process within the layer, but other known methods may also be used. Furthermore, for example, maximum value pooling is used as the pooling process, but other known methods may also be used.

[0021] The CNN in the vector extraction unit 104 is trained in advance so that it can extract information for identifying individuals from face images. Here, training refers to adjusting a large number of parameters required for the CNN processing in the vector extraction unit 104. In other words, the large number of parameters constituting the vector extraction unit 104 are adjusted in advance by training so that information for identifying individuals can be extracted from the input image. This training may be, for example, training in which a loss function using softmax is stopped and the CNN parameters are adjusted by backpropagation so that the value of the loss function becomes small, or another known training method may be used.

[0022] In this embodiment, the vector extraction unit 104 extracts a feature vector from the face region image. This feature vector (feature amount) is information for identifying an individual in the image, and has the extracted value as each element of the vector.

[0023] In process 203, the vector extraction unit 104 performs the above-mentioned hierarchical processing once on the image 200, outputting an intermediate map 204. The intermediate map 204 is used as input in process 205, and in process 205 the vector extraction unit 104 performs the hierarchical processing once on the intermediate map, outputting an intermediate map 206. The vector extraction unit 104 repeats this hierarchical processing on the output of the hierarchical processing, and then in process 207 performs convolution processing on the output of the repeated hierarchical processing, outputting a final intermediate map 208.

[0024] In process 209, the vector extraction unit 104 performs a full connection calculation process on the final intermediate map 208, and outputs a feature vector 201. In the following description, the feature vector 201 is assumed to be a vector value with n elements. In the full connection calculation process, a calculation process is performed in which the final intermediate map 208 is multiplied by a matrix (referred to as a full connection matrix), and the feature vector 201 is calculated. The parameter of the full connection matrix is ​​"the total number of data input to process 207" x "the number of elements of the feature vector." Note that the vector extraction unit 104 may output the feature vector 201 by performing a connection process on the final intermediate map using Global Average Pooling (GAP), or may select a desired method based on the design policy of the network architecture.

[0025] FIG. 3 is a flowchart showing an example of processing by the conversion unit 105. The processing shown in FIG. 3 is performed when a feature vector from the vector extraction unit 104 is input to the conversion unit 105. In step S301, the conversion unit 105 calculates a seed value for generating a random number to be used when converting the feature vector, based on the feature vector. The method for calculating the seed value is not particularly limited as long as the generated random number value is constant. For example, the conversion unit 105 may use a part of the feature vector as the seed value, or may use the sum of the values ​​of the elements of the feature vector as the seed value. Note that this seed value may be generated each time processing is performed, or may be selected from a group of random numbers generated in advance.

[0026] In step S302, the conversion unit 105 generates random numbers based on the seed value calculated in step S301. This random number is a conversion vector with more elements than the feature vector, and the number of elements is determined according to the seed value. Hereinafter, this random number will be referred to as a random number sequence, and the number of elements will be referred to as the random number sequence length (here, r). Methods for generating random number sequences include, for example, linear congruential algorithms and M sequences. However, as described above, any arithmetic or selection process may be used as long as it generates a random number sequence with a length according to the seed value. When using, for example, linear congruential algorithms, the conversion unit 105 can generate a random number sequence with a length equal to the number of elements in the feature vector (here, n) plus the value of the random number generated from the seed value.

[0027] In step S303, the conversion unit 105 uses the feature vector and the random number sequence to generate a converted vector, which is a feature output by the information processing device according to this embodiment. In this embodiment, the conversion unit 105 generates an update vector by updating the value of each element of the random number sequence based on the value of each positionally corresponding element of the feature vector. Next, the conversion unit 105 generates the converted vector by inserting a seed value as an element at a predetermined position of the element of the update vector (i.e., the number of elements of the converted vector is equal to the number of elements of the random number sequence plus 1). Here, the update vector is generated by linear or nonlinear conversion using the feature vector and the random number sequence, but the method is not particularly limited. The conversion unit 105 may generate the update vector by, for example, adding corresponding elements together, or by multiplying corresponding elements together (elements with no corresponding element are not updated). In the following description, it is assumed that the update vector is generated by adding elements together.

[0028] 4 is a schematic diagram for explaining the processing in step S303. Vector 401 is a feature vector, and has n elements F(1) to F(n). Random number seed 402 is a seed value, which is assumed to be R5 in this example. Vector 403 is a random number sequence generated based on random number seed 402, and has r elements R(1) to R(r).

[0029] Vector 404 is an update vector, and is generated by adding corresponding elements of the feature vector and the random number sequence. That is, since r>n here, vector 404 has r elements, F(1)+R(1) to F(n)+R(n) for the first n elements, and R(n+1) to R(r) for the n+1 to R elements.

[0030] Vector 405 is a transformed vector generated by inserting a seed value into a predetermined position of an element of an update vector. The position into which the seed value of the transformed vector is inserted is not particularly limited as long as it can be referenced in the subsequent seed value extraction process (processing in step S501 described later) by the classifier. Here, it is assumed that seed value R5 is inserted into the k-th position (0≦k≦n).

[0031] This configuration converts feature vectors extracted from a subject in an image using random numbers to generate a transformed vector with a larger, more variable number of elements than the pre-transformed feature vector. Therefore, it is difficult to use the distillation technique 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. This is because distillation makes it difficult to create a model that calculates a feature vector with an variable number of elements using the final layer process, such as process 209 shown in FIG. 2 . In other words, when attempting to calculate a transformed vector, if a full connection process is performed in process 209, the size of the fully connected matrix described above cannot be determined. Furthermore, if a gap is performed in process 209, the number of feature planes in the final intermediate map 208 that is the target of the gap is equal to the number of elements in the output feature vector 201. However, if the number of elements in the feature vector is variable, the number of feature planes in the final intermediate map 208 cannot be determined.

[0032] Next, a description will be given of a determination unit that determines whether or not two facial region images belong to the same person using transformed vectors generated from the two facial region images, that is, the matching processing unit 106 in Fig. 1. The matching processing unit 106 has a recalculation unit 107 and an identification unit 108.

[0033] The recalculation unit 107 recalculates the feature vector using as input the converted vector generated by the conversion unit 105. The operation performed by the recalculation unit 107 according to this embodiment is basically the reverse of the processing performed by the conversion unit 105. Fig. 5 is a flowchart showing an example of the processing performed by the recalculation unit 107, and the recalculation unit 107 will be described with reference to Fig. 4 as well.

[0034] In step S501, the recalculation unit 107 extracts the seed value from the transformed vector 405. Here, the recalculation unit 107 extracts the random number seed 402, which is the k-th element of the transformed vector 405, and regenerates the update vector 404.

[0035] 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 number sequence 403 based on the random number seed 402.

[0036] In step S503, the recalculation unit 107 recalculates a feature vector based on the update vector 404 regenerated in step S501 and the random number sequence 403 generated in step S502. Here, the recalculation unit 107 subtracts the value of the corresponding element of the random number sequence from the value of each element of the update vector 404, and extracts the first n elements, thereby recalculating a vector identical to the feature vector 401. This process makes it possible to recalculate the feature vector extracted by the vector extraction unit 104 based on the converted vector.

[0037] The identification unit 108 determines whether the facial images (here, facial images p and q) from which the respective feature vectors were extracted belong to the same person, using the two feature vectors recalculated by the recalculation unit 107. That is, the identification unit 108 performs the above-mentioned determination using the feature vectors that are converted by the recalculation unit 107 from the transformed vectors generated using the facial images p and q as inputs.

[0038] Here, the classification unit 108 calculates the cosine similarity between the face images p and q, and determines that they are of the same person if the calculated cosine similarity is greater than a predetermined threshold, and determines that they are not of the same person if not. Note that the classification process by the classification unit 108 may be performed by any method as long as it is a general classification process using a feature vector.

[0039] With this configuration, it is possible to recalculate the feature vector extracted from the subject in the image used to generate the transformed vector based on the transformed vector converted using random numbers. Then, based on the recalculated feature vector, it is possible to determine whether the subject in the image is the same person. Therefore, it is possible to determine whether the subject in the image is the same person using the transformed vector, which is an output that makes it difficult to create a student model using the distillation method.

[0040] [Embodiment 2] Deep networks are known to be a technology that excels in feature extraction, and through learning, they are able to extract information for identifying individuals from facial images. Therefore, the feature vectors calculated from facial images using deep networks can be said to represent the individual's personality, and it is expected that facial images of the same person will have nearly identical feature vectors even if the facial image has changed slightly.

[0041] Here, the student model used in distillation is also a deep network (although its network architecture is different from that of the teacher model). The feature vectors extracted from the facial image of the same person in the teacher model and student model of distillation are almost identical. In other words, if we consider determining whether two facial images are of the same person based on the distance between the feature vectors extracted from those images, the calculation results of the distance between these feature vectors will also be almost identical in the teacher model and the student model.

[0042] An information processing device according to the second embodiment extracts a feature vector from a subject in an image and corrects each element of the extracted feature vector based on a random number. Next, a transformed vector is generated by inserting the seed value of the random number used for the correction into a predetermined position of the element of the corrected feature vector. As a result, each element of the feature vector is randomly transformed according to the random number, weakening the correlation between the distances between the vectors before and after the transformation. In other words, even if two similar facial images of the same person are input, the transformed vectors based on the feature vectors extracted from them will be completely dissimilar to each other. In such a case, even if training is performed by distillation using the feature vector calculated by the teacher model (the transformed vector) as training data, it is unlikely that an appropriate student model can be generated. Therefore, distillation is expected to contribute to preventing duplication. The information processing device according to this embodiment can restore the transformed vector to the original feature vector by referencing the seed value of the random number used for the correction, without impairing its function as a classifier.

[0043] The information processing device according to this embodiment basically performs a feature vector extraction process using a deep network, similarly to the information processing device according to embodiment 1. Fig. 6 is a block diagram showing the functional configuration of a system 600 including a feature extraction unit 601 of the information processing device according to this embodiment. The system 600 has the same configuration as the system 100, except that it has a feature extraction unit 601 (conversion unit 602) instead of the feature extraction unit 103 (internal conversion unit 105) and a matching processing unit 603 (recalculation unit 604) instead of the matching processing unit 106 (recalculation unit 107). Therefore, a duplicated description will be omitted.

[0044] The feature extraction unit 601 includes the extraction unit 104 and a conversion unit 602. The conversion unit 602 performs a conversion process in advance based on a random number on each element of the feature vector extracted from the face area image by the extraction unit 104. That is, the conversion unit 602 corrects each element of the extracted feature vector based on the random number, and inserts the seed value of the random number used for the correction into a predetermined position of the element of the corrected feature vector, thereby generating a converted vector.

[0045] Fig. 7 is a flowchart showing an example of processing by the conversion unit 602. The processing shown in Fig. 7 is performed in the same manner as the processing shown in Fig. 3, except that the number of elements in the random number sequence matches the number of elements in the feature vector (the random number sequence is generated so that r = n). That is, in step S701, the conversion unit 602 calculates, based on the feature vector, a seed value for generating random numbers to be used when converting the feature vector. As with the processing in step S301, the method for calculating the seed value here is not particularly limited as long as the generated random number values ​​are constant.

[0046] 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 number sequence, which is a vector having the same number of elements as the feature vector, is generated based on the seed value.

[0047] In step S703, the conversion unit 602 generates a converted vector using the feature vector and the random number sequence from step S702. The conversion unit 602 generates the converted vector in the same manner as the generation process in step S303 in embodiment 1, except that the number of elements in the feature vector and the random number sequence are equal. That is, in this embodiment, the conversion unit 602 generates a correction vector (update vector) by adding corresponding elements in the feature vector and the random number sequence, and generates the converted vector by inserting a seed value as an element at a predetermined position of the element of the correction vector.

[0048] 8 is a schematic diagram for explaining the processing in step S703. Vector 401 is a feature vector, and has n elements F(1) to F(n). Random number seed 801 is a seed value, and is assumed to be R5 here. Vector 802 is a random number sequence generated based on random number seed 801, and has n elements R(1) to R(n).

[0049] Vector 803 is a correction vector, and has a value obtained by adding, for each element, the elements of feature vector 401 and random number sequence 802. Vector 804 is a converted vector generated by inserting random number seed 801 into a predetermined position of an element of correction vector 803. The predetermined position into which random number seed 801 is inserted is not limited, as with the insertion position of seed value 402 in embodiment 1, but is also assumed to be the kth position in this embodiment.

[0050] With this configuration, each element of a feature vector extracted from a subject in an image is corrected based on a random number, and the seed value of the random number used for the correction is inserted into a predetermined position of the element of the corrected feature vector to generate a transformed vector. Therefore, because each element of the feature vector is randomly transformed based on the random number, the correlation between the distances between vectors before and after the transformation becomes weak, making it difficult to create a student model using the distillation method.

[0051] Next, a description will be given of a determination unit that determines whether or not two facial region images belong to the same person using transformed vectors generated from the two facial region images, that is, a matching processing unit 603 in Fig. 16. The matching processing unit 603 has a recalculation unit 604 and an identification unit 108.

[0052] The recalculation unit 604 recalculates the feature vector using as input the converted vector generated by the conversion unit 602. The operation performed by the recalculation unit 604 according to this embodiment is basically the reverse of the processing performed by the conversion unit 602. Fig. 9 is a flowchart showing an example of the processing performed by the recalculation unit 604, and the recalculation unit 604 will be described with reference to Fig. 8 as well.

[0053] In step S901, the recalculation unit 604 extracts the seed value from the transformed vector 804. Here, the recalculation unit 604 extracts the random number seed 801, which is the k-th element of the transformed vector 804, and regenerates the correction vector 803.

[0054] 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 number sequence 802 based on a random number seed 801.

[0055] In step S903, the recalculation unit 604 recalculates the feature vector based on the correction vector 803 regenerated in step S901 and the random number sequence 802 generated in step S802. Here, the recalculation unit 604 recalculates a vector identical to the feature vector 401 by subtracting the value of each element of the random number sequence from the value of each element of the correction vector 803. This processing makes it possible to recalculate the feature vector extracted by the vector extraction unit 104 based on the converted vector.

[0056] As in the first embodiment, the identification unit 108 uses the two feature vectors recalculated by the recalculation unit 604 to determine whether the facial images from which the respective feature vectors were extracted belong to the same person.

[0057] With this configuration, a feature vector extracted from the subject in the image used to generate the transformed vector can be recalculated based on the transformed vector converted using random numbers. Then, based on the recalculated feature vector, it is possible to determine whether the subject in the image is the same person. Here, the transformed vector is obtained by adding the feature vector and the random number sequence element by element (and further inserting a seed value). Each element of the random number sequence is randomly determined based on the seed value, and each element of the transformed vector obtained by adding the elements of the random number sequence also inherits the properties of the random number sequence to some extent (each element of the transformed vector is also randomly determined), and the distance between feature vectors also reflects randomness. Therefore, it is difficult to distinguish between facial region images using the transformed vector as is, and it is also difficult to create a student model using the distillation technique. On the other hand, the matching processing unit 603 according to this embodiment can use such transformed vectors to determine whether the subjects in the image are the same person.

[0058] Furthermore, in the processing performed by the system 600 according to this embodiment, the seed value extracted by the recalculation unit 604 and the seed value recalculated by the recalculation unit 604 based on the recalculated feature vector (through processing similar to that of step S701) should be equal. On the other hand, if these seed values ​​are not equal, it is highly likely that the transformed vector input to the matching processing unit 603 differs from the transformed feature vector calculated within the feature extraction unit 601. From this perspective, the recalculation unit 604 may recalculate the seed value from the recalculated feature vector, determine whether the extracted seed value and the recalculated seed value are equal, and recalculate the feature vector only if they are equal. FIG. 11 is a flowchart showing an example of processing performed by the recalculation unit 604 for such processing. The processing shown in FIG. 11 is the same processing except that processing of step S1101 is performed instead of step S903, and therefore a redundant description will be omitted.

[0059] 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. Next, the recalculation unit 604 determines whether the seed value extracted in step S901 and the recalculated seed value are equal. If the seed values ​​are equal, the recalculated feature vector is output to the classification unit 108; if not, the process ends, and the classification unit 108 does not perform classification processing.

[0060] This process allows the determination of whether or not to perform discrimination processing using a recalculated feature vector based on whether the seed value extracted from the transformed vector matches or does not match the recalculated seed value. This prevents matching processing using a transformed vector generated by feature extraction other than that performed by the feature extraction unit 601, which has the effect of further suppressing duplication of the feature extraction unit 601 due to distillation.

[0061] In this embodiment, it is assumed that r and n are the same, but r and n do not need to be the same if the correlation between the distances between the vectors before and after transformation is weaker, and for example, r may be smaller than n. If r and n do not match, the process of generating a transformed vector in step S703 is performed by updating the elements of the vector with the larger number of elements using the elements in the corresponding positions of the other vector, similar to the process of generating a transformed vector in step S303.

[0062] [Embodiment 3] In the first and second embodiments, an example of a face recognition system that compares two face image regions and determines whether the subject is the same person or not has been described. A system 1000 including an information processing device according to a third embodiment registers face region images (referred to as registered images) of a person to be subjected to face recognition in advance, and determines whether an input face region image is one of the registered registered images or none of them.

[0063] 10 is a block diagram showing an example of the configuration of a system 1000 that performs face recognition, including a feature extraction unit 601 of an information processing device according to this embodiment. The system 1000 has a matching processing unit 1001 instead of the matching processing unit 603, and has the same configuration as the system 600 according to the second embodiment except that it newly includes an information storage unit 1002. Therefore, a duplicated description will be omitted. Note that in the following description, it is assumed that a transformed vector is generated by the same processing as in the second embodiment; however, a transformed vector may also be generated by the processing shown in FIG. 5 of the first embodiment.

[0064] The information storage unit 1002 stores transformed vectors generated in advance from feature vectors extracted using registered images as input by the process shown in Fig. 7. The information storage unit 1002 records the transformed vectors generated from the registered images (hereinafter referred to as registered vectors) in association with the person IDs corresponding to the respective registered images, and transmits them to the matching processing unit 1001.

[0065] The matching processing unit 1001 uses the converted vector generated by the conversion unit 602 and the registered vector received from the information storage unit 1002 to determine whether the two vectors belong to the same person. The matching processing unit 1001 includes a recalculation unit 1003 and a recognition unit 1004.

[0066] The recalculation unit 1003 recalculates the feature vector using the converted vector generated by the conversion unit 602 and the registered vector received from the information storage unit 1002 as inputs. This process is performed in the same manner as the process shown in Fig. 9 of the second embodiment. Note that the recalculation unit 1003 records the feature vector recalculated from the registered vector in association with the person ID associated with the registered vector.

[0067] The classification unit 1004 determines whether the facial images from which the feature vectors are extracted belong to the same person, using the two feature vectors recalculated by the recalculation unit 1003. The classification process performed by the classification unit 1004 is similar to the process performed by the classification unit 108 in the first embodiment.

[0068] When multiple registered vectors are stored in the information storage unit 1002, the classification unit 1004 may perform a discrimination process on each registered vector for the converted vector generated by the conversion unit 602. In this case, if the largest similarity calculated for each registered vector is greater than a predetermined threshold, the classification unit 1004 determines that the person corresponding to the person ID of that registered vector is the subject of the image input to the image input unit 101. On the other hand, if none of the similarities calculated for each registered vector exceeds the predetermined threshold, the information storage unit 1002 outputs a message indicating that there is no corresponding person among the registered vectors.

[0069] According to this configuration, it is possible to use a face authentication system that can prevent duplication by distillation to determine whether the subject in the input image is one of the registered people.

[0070] [Embodiment 4] In the above-described embodiments, each processing unit shown in, for example, FIG. 1 is realized by dedicated hardware. Some or all of the processing units included in the system 100 may be realized by a computer. In this embodiment, at least a part of the processing according to each of the above-described embodiments is executed by a computer.

[0071] FIG. 12 is a diagram showing the basic configuration of a computer. In FIG. 12, a processor 1201 is, for example, a CPU, and controls the operation of the entire computer. A memory 1202 is, for example, a RAM, and temporarily stores programs, data, etc. A computer-readable storage medium 1203 is, for example, a hard disk or a CD-ROM, and stores programs, data, etc. long-term. In this embodiment, a program that realizes the function of each unit, which is stored in the storage medium 1203, is read into the memory 1202. Then, the processor 1201 operates in accordance with the program on the memory 1202, thereby realizing the function of each unit.

[0072] 31, an input interface 1204 is an interface for acquiring information from an external device. An output interface 1205 is an interface for outputting information to an external device. A bus 1206 connects the above-mentioned components and enables data exchange.

[0073] (Other Examples) The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.

[0074] The invention is not limited to the above-described embodiments, and various changes and modifications can be made without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention. [Explanation of symbols]

[0075] 100: System, 101: Image input unit, 102: Face detection unit, 103: Feature extraction unit, 104: Vector extraction unit, 105: Conversion unit, 106: Matching processing unit, 107: Recalculation unit, 108: Identification unit

Claims

1. extraction means for extracting a feature vector of a subject in an image; a correction means for generating a correction vector by correcting the feature vector using a random number sequence; a generation means for generating a converted vector, which is a vector in which a seed value used for generating the random number sequence is inserted as an element at a predetermined position of an element of the correction vector; Equipped with The information processing apparatus is characterized in that the seed value is calculated based on the feature vector.

2. The information processing apparatus according to claim 1 , wherein the correction is a correction that enables the feature vector to be restored from the transformed vector.

3. The correction means 2. The information processing device according to claim 1, characterized in that a correction vector is generated by updating the value of each element of the feature vector or the transformed vector, whichever has a larger number of elements, or, if the feature vector and the transformed vector have the same number of elements, based on the value of an element of the other of the feature vector and the transformed vector that is at a position corresponding to the element.

4. The information processing device described in claim 1, characterized in that the number of elements of the transformed vector is determined according to the random number sequence, and the number of elements of the transformed vector is greater than the number of elements of the feature vector.

5. Different seed values ​​are calculated from different feature vectors, 2. The information processing apparatus according to claim 1, wherein different random number sequences are generated from different seed values.

6. The information processing device described in Claim 1, characterized in that the correction vector is generated by performing a reversible operation on positionally corresponding elements between each element of the feature vector and each element of the random number sequence.

7. An information processing device as described in Claim 1, characterized in that the correction vector is generated by adding positionally corresponding elements between each element of the feature vector and each element of the random number sequence.

8. extracting a feature vector of a subject in an image; generating a correction vector by correcting the feature vector using a random number sequence; generating a converted vector in which a seed value used for generating the random number sequence is inserted as an element at a predetermined position of an element of the correction vector; Equipped with The information processing method, wherein the seed value is calculated based on the feature vector.

9. An information processing device according to any one of claims 1 to 7; A classification means for performing class classification based on a feature vector, The determination means recalculation means for recalculating the feature vector based on the transformed vector; a class discrimination means for discriminating a class of the subject using the feature vector recalculated by the recalculation means; An image recognition system having:

10. The information processing device includes: a second generating means for generating a seed value used in generating the random number based on the feature vector; The determination means further comprising an acquisition means for acquiring a seed value of the random number based on the transformed vector; 10. The image recognition system of claim 9, wherein the class of the subject is determined when the seed value acquired by the acquisition means is the same as the seed value regenerated by the second generation means based on the recalculated feature vector.

11. A program for causing a computer to function as each of the means of the information processing device according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Iron powder suitable as core material for resinncoated carrier

    JP1981087601A

  • Data transmission method

    JP1988131676A

  • Method and device for enciphering / Deciphering data

    JP1998327141A

  • Method of extracting pattern feature, and device therefor

    JP2004192603A

  • Living body authentication system

    JP2006262333A