Authentication device, authentication method, and program

The authentication device uses ternary vector approximation and optimized memory structure to enhance face recognition efficiency, addressing computational challenges in many-to-many similarity calculations.

JP7789237B1Active Publication Date: 2025-12-19SOFTBANK CORPORATION +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2025006409
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-01-16
Publication Date
2025-12-19
Estimated Expiration
2045-01-16

AI Technical Summary

Technical Problem

Existing face recognition systems struggle with high computational load and long response times when performing many-to-many similarity calculations, particularly in high-speed applications.

Method used

An authentication device that approximates feature vectors to ternary vectors, utilizing a memory structure with separate storage areas for identification and feature vectors, enabling efficient similarity calculations through look-ahead processing.

Benefits of technology

The solution allows for significantly faster authentication processes, reducing storage requirements and computational load, enabling high-speed many-to-many recognition with improved accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007789237000001_ABST
    Figure 0007789237000001_ABST
Patent Text Reader

Abstract

To perform many-to-many authentication at high speed. [Solution] The authentication device (10) disclosed herein includes an acquisition unit (11) that acquires an image of an object and detects specific parts of the object, a generation unit (12) that generates a first feature vector based on the image of the specific part of the object, an approximation unit (13) that approximates the first feature vector to a second feature vector consisting of a ternary vector, a calculation unit (14) that calculates the similarity between the second feature vector and multiple fourth feature vectors, and an authentication unit (15) that authenticates the image of the specific part of the object based on the similarity.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to an authentication device, an authentication method, and a program. [Background technology]

[0002] Conventionally, facial recognition has been performed by inputting an image of an object into a machine learning model, outputting a high-dimensional feature vector, and calculating the similarity between the feature vector and the feature vector of an image to be matched with the object. For example, Patent Document 1 discloses an image search device that can quickly extract a desired image from a large volume of images using multidimensional feature data extracted from the image. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2007-172384 Summary of the Invention [Means for solving the problem]

[0004] An authentication device according to one embodiment of the present disclosure includes an acquisition unit that acquires an image of an object and detects a specific part of the object; a generation unit that generates a first feature vector based on the image of the specific part of the object detected by the acquisition unit; an approximation unit that approximates the first feature vector generated by the generation unit to a second feature vector consisting of a ternary vector; a calculation unit that calculates a similarity between the second feature vector approximated by the approximation unit and a plurality of fourth feature vectors obtained by approximating a plurality of third feature vectors corresponding to a plurality of other images of the specific parts of the object to be matched against the specific parts of the object; and an authentication unit that authenticates the image of the specific parts of the object based on the similarity calculated by the calculation unit.

[0005] An authentication method according to one embodiment of the present disclosure includes an acquisition step of acquiring an image of an object and detecting a specific part of the object; a generation step of generating a first feature vector based on the image of the specific part of the object detected in the acquisition step; an approximation step of approximating the first feature vector generated in the generation step to a second feature vector consisting of a ternary vector; a calculation step of calculating similarities between the second feature vector approximated in the approximation step and a plurality of fourth feature vectors obtained by approximating a plurality of third feature vectors corresponding to other plurality of images of the specific parts of the object to be matched with the specific parts of the object; and an authentication step of authenticating the image of the specific parts of the object based on the similarities calculated in the calculation step. [Brief explanation of the drawings]

[0006] [Figure 1] FIG. 1 is a schematic diagram illustrating a configuration of an authentication system according to a first embodiment of the present disclosure. [Figure 2] 1 is a block diagram showing a configuration of a communication terminal according to a first embodiment. [Figure 3] 5 is a flowchart showing an example of the flow of authentication processing by the authentication device according to the first embodiment. [Figure 4] 4 is a flowchart showing an example of the flow of the approximation process in FIG. 3. [Figure 5] 4 is a flowchart showing an example of the flow of the calculation process in FIG. 3. [Figure 6] FIG. 10 is a schematic diagram showing the configuration of an authentication system according to a second embodiment. [Figure 7] FIG. 10 is a block diagram showing the configuration of an authentication device according to a second embodiment. [Figure 8] FIG. 10 is a block diagram showing the configuration of an entry / exit control device according to a second embodiment. [Figure 9] 10 is a flowchart showing an example of the flow of authentication processing by the authentication device according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0007] Conventionally, in face recognition, when comparing the similarity of one-to-one or one-to-many face images, it has been possible to calculate the similarity quickly using a computer by using cosine similarity or the like.

[0008] In recent years, face recognition applications have required high-speed comparison of many-to-many similarities. However, when calculating the similarities between a large number of feature vectors one by one, there has been a problem that the amount of calculation becomes enormous and response time is long. The present disclosure aims to perform high-speed many-to-many recognition.

[0009] The authentication device according to the present disclosure includes an acquisition unit that acquires an image of an object and detects specific parts of the object; a generation unit that generates a first feature vector based on the image of the specific part of the object detected by the acquisition unit; an approximation unit that approximates the first feature vector generated by the generation unit to a second feature vector consisting of a ternary vector; a calculation unit that calculates a similarity between the second feature vector approximated by the approximation unit and a plurality of fourth feature vectors obtained by approximating a plurality of third feature vectors corresponding to other multiple images of the specific parts of the object to be matched with the specific parts of the object; and an authentication unit that authenticates the image of the specific parts of the object based on the similarity calculated by the calculation unit.

[0010] According to the above configuration, the approximation unit approximates the first feature vector to a second feature vector consisting of a ternary vector, and then the calculation unit calculates the similarity between the second feature vector and a fourth feature vector corresponding to the second feature vector, and the authentication unit authenticates the image of the object based on the similarity. This allows the calculation unit to calculate the similarity more quickly and efficiently than when no approximation is performed by the approximation unit, and enables the authentication unit to quickly authenticate the object.

[0011] The speed at which the calculation unit calculates the similarity between the second feature vector and the fourth feature vector, which are ternary vectors, is determined by the speed of access to the storage unit (memory) in which multiple fourth feature vectors are stored. For this reason, it is important to use a memory structure with an easy-to-use cache.

[0012] As such a memory structure, it is preferable to use a memory structure having a first storage area for storing identification information of a user using the authentication device and a plurality of third feature vectors, and a second storage area for storing a plurality of fourth feature vectors. The calculation unit calculates the similarity between the second feature vector approximated by the approximation unit and the plurality of fourth feature vectors stored in the second storage area in the order of the list in the second storage area. This allows the calculation unit to fully utilize the memory structure of the storage unit to perform look-ahead and calculate the similarity as quickly as possible.

[0013] [Embodiment 1] <Outline of Authentication System 1> An authentication system 1 according to a first embodiment will be described below with reference to Fig. 1. Fig. 1 is a block diagram showing the overall configuration of the authentication system 1. As shown in Fig. 1, the authentication system 1 includes a communication terminal 100 and a server device 200.

[0014] The communication terminal 100 and the server device 200 are connected via a network N such as the Internet. As indicated by an arrow R, the communication terminal 100 has a function of performing face authentication of a user M who uses the communication terminal 100.

[0015] Note that the network N may be, other than the Internet, a local area network (LAN), a mobile communication system such as 4G, 5G, or 6G, LTE (Long Term Evolution), or Wi-Fi (registered trademark).

[0016] [Configuration of communication terminal 100] Next, the configuration of the communication terminal 100 will be described with reference to Fig. 2. Fig. 2 is a block diagram showing the configuration of the communication terminal 100. As shown in Fig. 2, the communication terminal 100 includes an authentication device 10, a camera 20, a communication unit 30, an operation unit 40, and a display unit 50. The communication terminal 100 is a smartphone, tablet terminal, PC, or the like used by a user M.

[0017] (Configuration of authentication device 10) Next, the configuration of the authentication device 10 will be described in detail with reference to Fig. 2. As shown in Fig. 2, the authentication device 10 includes an acquisition unit 11, a generation unit 12, an approximation unit 13, a calculation unit 14, an authentication unit 15, a storage unit 16, and an output control unit 17.

[0018] The acquisition unit 11 acquires an image of a person captured by the camera 20 and detects the person's face. The person's face is an example of a specific part of the object. The image may be a moving image or a still image.

[0019] The generation unit 12 analyzes the image of the person's face acquired by the acquisition unit 11 using a convolutional neural network (CNN) or the like to extract features of the person's face and generate a first feature vector.

[0020] The convolutional neural network is assumed to be trained to receive an image of a human face as input and output a first feature vector. The first feature vector is, for example, a 16-dimensional vector. The number of dimensions of the first feature vector can be changed as appropriate, and may be, for example, 128 dimensions.

[0021] The facial features learned by the convolutional neural network include, for example, the shape of a person's face, the distance between the eyes, the positional relationship between the eyes and nose, the positional relationship between the eyes and mouth, the positional relationship between the nose and mouth, the positions of the eyes, nose, and mouth on a person's face, the position of fat, the thickness of fat, and the shape of facial wrinkles. Furthermore, the generation unit 12 may analyze the acquired video or still image to determine the gender of a person or the age of a person as the facial feature.

[0022] The approximation unit 13 approximates the first feature vector generated by the generation unit to a second feature vector consisting of a ternary vector having one of {-1, 0, +1} as each element. Note that the detailed approximation method of the first feature vector by the approximation unit 13 will be described later. Also, for convenience of explanation, approximation to a ternary vector having one of {-1, 0, +1} as each element will be referred to as 2-bit approximation.

[0023] The calculation unit 14 calculates the similarity between the second feature vector approximated by the approximation unit 13 and a plurality of fourth feature vectors corresponding to the second feature vector. The plurality of fourth feature vectors are stored in the storage unit 16, and, similar to the first feature vector, are obtained by performing two-bit approximation of the third feature vector by the approximation unit 13. Note that it is preferable that the approximation unit 13 estimates the parameter of the third feature vector and then performs two-bit approximation of the third feature vector.

[0024] The third feature vector is a 16-dimensional vector corresponding to the first feature vector, and is extracted from facial features of multiple other people in order to match it with the image of the face of user M. The third feature vector is stored in server device 200. Note that the third feature vector may include one generated by generation unit 12 based on an image captured by camera 20.

[0025] The calculation unit 14 calculates the similarity between the second feature vector and the plurality of fourth feature vectors by using, for example, cosine similarity or Euclidean distance.

[0026] The authentication unit 15 authenticates the image of the person's face based on the similarity calculated by the calculation unit 14. Specifically, the authentication unit 15 authenticates the image of the person's face by determining whether the similarity is equal to or greater than a predetermined threshold.

[0027] The storage unit 16 has a memory structure having a first storage area for storing identification information of the user M and a plurality of third feature vectors, and a second storage area for storing a plurality of fourth feature vectors. The calculation unit 14 calculates the similarity between the second feature vector approximated by the approximation unit 13 and a plurality of fourth feature vectors stored in the second storage area different from the first storage area, in the order in which they were stored in the second storage area. In this way, the calculation unit 14 can calculate the similarity as quickly as possible by fully utilizing the memory structure of the storage unit 16 to perform look-ahead.

[0028] The output control unit 17 outputs the authentication result by the authentication unit 15 to the display unit 50. The display unit 50 displays the authentication result by the authentication unit 15.

[0029] (Configuration of camera 20) Camera 20 is built into communication terminal 100. Camera 20 has lenses on both the side of communication terminal 100 that is on the same side as operation unit 40 and the side opposite operation unit 40. Camera 20 is configured to be able to capture moving and still images.

[0030] The camera 20 may have a depth sensor. The acquisition unit 11 may acquire, from the camera 20, a captured image including depth information detected by the depth sensor of the camera 20.

[0031] (Configuration of communication unit 30) The communication unit 30 is connected to the network N by wire or wirelessly, and communicates with the server device 200 or another communication terminal via the network N. The communication unit 30 is configured by a NIC (Network Interface Card), an antenna, etc.

[0032] The communication unit 30 receives, for example, from the server device 200, a plurality of third feature vectors corresponding to images of many people to be matched with the user M, and stores them in the storage unit 16.

[0033] The operation unit 40 is made up of, for example, a touch panel, and accepts various operations by the user M. The operation unit 40 may also have buttons for inputting characters, numbers, and the like.

[0034] The display unit 50 is a display device for displaying various information, and is, for example, a liquid crystal display (LCD) or an organic electroluminescent display (OLED). The display unit 50 displays information relating to the authentication result by the authentication device 10.

[0035] [Server device 200] 1 stores training data related to images of the faces of a plurality of other people to be matched with the face of user M, which is a target. For example, the server device 200 stores a plurality of third feature vectors generated from the features of the faces of a plurality of people.

[0036] The communication terminal 100 acquires a plurality of third feature vectors from the server device 200 via the communication unit 30, and stores them in the storage unit 16 of the authentication device 10. Then, the approximation unit 13 generates a plurality of fourth feature vectors by approximating the acquired third feature vectors as described below.

[0037] The authentication device 10 stores a plurality of fourth feature vectors in the storage unit 16. Note that the user M may update data relating to the fourth feature vectors by arbitrarily setting hyperparameters.

[0038] Here, when the number of dimensions of the fourth feature vector is d and the number of human faces stored in the storage unit 16 is m, it is preferable that the following formula (1) is satisfied.

number

[0039] In formula (1), m is preferably 10,000 or more. Also, the probability distribution of the m fourth feature vectors is preferably a normal distribution (Gaussian distribution). In this case, for example, if d=128 and m=65536, the probability of incorrect authentication by the authentication unit 15 is reduced to approximately 10 -17 It was confirmed that it was possible to keep the loss to within [%].

[0040] <Authentication Process by Authentication Device 10> Next, the flow of authentication processing by the authentication device 10 will be described with reference to Fig. 3 to Fig. 5. Fig. 3 is a flowchart showing an example of the flow of authentication processing by the authentication device 10.

[0041] In the flowchart shown in FIG. 3, the acquisition unit 11 of the authentication device 10 acquires an image of the user M captured by the camera 20 of the communication terminal 100, and detects the face of the user M (step S1: acquisition step).

[0042] After step S1, the generation unit 12 generates a first feature vector based on the image of the face of the user M detected by the acquisition unit 11 (step S2: generation step). In step S2, for example, the generation unit 12 inputs the image of the face of the user M into a convolutional neural network or the like to generate a first feature vector consisting of a 16-dimensional vector shown in the following formula (2).

[0043]

number

[0044] Next, the approximation unit 13 performs approximation processing to approximate the first feature vector to a second feature vector made up of a ternary vector having one of {-1, 0, +1} as each element (step S3: approximation step).

[0045] The approximation process in step S3 will now be described with reference to the flowchart in Fig. 4. Fig. 4 is a flowchart showing an example of the flow of the approximation process in step S3 in Fig. 3.

[0046] In the flowchart shown in FIG. 4, the approximation unit 13 rearranges the elements of the first feature vector in ascending order by taking the absolute value of each element as shown in the following equation (3) (step S31).

[0047]

number

[0048] Next, the approximation unit 13 sets each of the elements with the smallest absolute value to "0" in equation (3) (step S32). Specifically, the approximation unit 13 sets the sixth element with the smallest absolute value, "28," as the reference value. Then, the approximation unit 13 sets all of the elements {0, 2, 4, 6, 20, 28} equal to or less than the reference value, "28," to "0."

[0049] Next, the approximation unit 13 sets each remaining element of the first feature vector to "-1" or "+1" according to its sign (step S33). Specifically, the approximation unit 13 sets an element whose absolute value is greater than the reference value and is positive to "+1", and sets an element whose absolute value is greater than the reference value and is negative to "-1".

[0050] The reference value is set so that the number of elements of the second feature vector excluding "0" is a predetermined number, in this case 10. This simplifies the calculation of similarity, which will be described later.

[0051] Then, the approximation unit 13 performs two-bit approximation of the first feature vector to a second feature vector consisting of a ternary vector having one of {-1, 0, +1} as each element, as shown in the following equation (4) (step S34).

[0052]

number

[0053] The elements of the second feature vector are ternary-valued, with six "0"s and a total of ten "-1"s or "1"s. In this way, by setting six of the elements of the 16-dimensional second feature vector to "0" and the remaining elements to "-1"s or "1", the magnitude of the second feature vector can be set to a predetermined value, i.e., the square root of 10.

[0054] After step S34, the approximation unit 13 approximates the multiple third feature vectors stored in the first memory area of ​​the memory unit 16 to a fourth feature vector consisting of a ternary vector having one of {-1, 0, +1} as each element, in the same manner as steps S31 to S34.

[0055] In this case, the value obtained by multiplying the magnitude of the second feature vector by the magnitude of the fourth feature vector is always 10. This makes it possible to simplify the calculation of the Euclidean distance or cosine similarity between the second feature vector and the fourth feature vector.

[0056] Note that the server device 200 or the storage unit 16 may store data on a plurality of fourth feature vectors that are approximations of a plurality of third feature vectors in advance.

[0057] Returning to FIG. 3, after step S3, the calculation unit 14 executes a calculation process to calculate the similarity between the second feature vector approximated by the approximation unit 13 and the fourth feature vector stored in a second memory area different from the first memory area of ​​the memory unit 16 (step S4: calculation step).

[0058] The calculation process of step S4 will now be described with reference to the flowchart of Fig. 5. Fig. 5 is a flowchart showing an example of the flow of the calculation process of Fig. 3. In the flowchart shown in Fig. 5, the calculation unit 14 separates the second feature vector into a first bit string and a second bit string (step S41).

[0059] The first bit string is made up of a sequence of positive values, that is, only "+1", extracted from each element of the second feature vector, and is expressed by the following formula (5).

number

[0060] The second bit string is made up of a sequence of negative values, that is, "-1", extracted from each element of the second feature vector, and is expressed by the following equation (6).

number

[0061] After step S41, the calculation unit 14 separates the fourth feature vector into the third bit string and the fourth bit string (step S42). Here, consider the case where the third feature vector is expressed by the following formula (7).

number

[0062] At this time, the fourth feature vector is approximated as shown in the following equation (8).

number

[0063] The third bit string is made up of a sequence of positive values, that is, "+1", extracted from each element of the fourth feature vector, and is expressed by the following equation (9).

number

[0064] The fourth bit string is made up of a sequence of negative values, that is, "-1", extracted from each element of the fourth feature vector, and is expressed by the following equation (10).

number

[0065] After step S42, the calculation unit 14 calculates the fifth bit string shown in the following equation (11) by performing an XOR operation on the first bit string and the third bit string (step S43). This makes it possible to identify positions where each value differs between the first bit string and the third bit string.

[0066]

number

[0067] After step S43, the calculation unit 14 calculates the sixth bit string shown in the following equation (12) by performing an XOR operation on the second bit string and the fourth bit string (step S44). This makes it possible to identify positions where the values ​​differ between the second bit string and the fourth bit string.

[0068]

number

[0069] After step S44, the calculation unit 14 performs an OR operation and an AND operation on the fifth bit string and the sixth bit string (step S45). Specifically, when the calculation unit 14 performs the OR operation on the fifth bit string and the sixth bit string, the sequence shown in the following equation (13) is obtained.

[0070]

number

[0071] The result of the OR operation above makes it possible to identify all locations where the elements of the second feature vector and the elements of the fourth feature vector have different values. The sum of each bit is +1 or +4.

[0072] Furthermore, when the calculation unit 14 performs an AND operation on the fifth and sixth bit strings, the sequence shown in the following equation (14) is obtained. Each bit of the AND operation result indicates that the sum is +4.

[0073]

number

[0074] After step S45, the calculation unit 14 calculates the similarity Sim between the second feature vector and the fourth feature vector based on the following equation (15) using the Euclidean distance between the second feature vector and the fourth feature vector (step S46).

[0075]

number

[0076] The calculation unit 14 can quickly calculate the Euclidean distance by using equation (4) and equations (5) to (14) calculated in steps S41 to S45. In this case, the square of the Euclidean distance is 10 + 2 3 = 16.

[0077] Therefore, the similarity Sim=1-16 / 20=0.2 In this way, the calculation unit 14 can calculate the similarity Sim efficiently and quickly.

[0078] In contrast, when the similarity between the first and third feature vectors is calculated using a normal calculation, the similarity is 0.213. Therefore, it can be seen that the accuracy of the similarity Sim between the second and fourth feature vectors calculated by the approximation process S3 and calculation process S4 described above is relatively good.

[0079] The similarity between the second feature vector and the fourth feature vector can also be calculated by the calculation unit 14 using the cosine similarity expressed by the following equation (16).

[0080]

number

[0081] Even when the calculation unit 14 calculates the similarity using the above formula (16), the approximation unit 13 performs two-bit approximation on the second and fourth feature vectors to ternary vectors consisting of one of {-1, 0, +1}, so that the similarity can be calculated quickly by combining XOR, OR, and AND operations.

[0082] After step S46 in FIG. 5, returning to FIG. 3, the authentication unit 15 authenticates the image of the face of user M by determining whether the similarity Sim calculated in step S4 is equal to or greater than a threshold value (step S5: authentication step).

[0083] If the similarity Sim is equal to or greater than the threshold value (step S5: YES), the authentication unit 15 determines that the authentication has been successful, and the output control unit 17 displays on the display unit 50 an image, a message, etc. indicating that the authentication has been successful.

[0084] On the other hand, if the similarity Sim is less than the threshold value (step S5: NO), the authentication unit 15 determines that the authentication has failed, and causes the output control unit 17 to display an image, a message, or the like indicating that the authentication has failed on the display unit 50. In this way, the authentication process by the authentication device 10 shown in FIG. 3 ends.

[0085] According to the authentication device 10 of the first embodiment described above, the approximation unit 13 performs two-bit approximation of the first feature vector to a second feature vector consisting of a ternary vector having one of {-1, 0, +1} as each element, and then the calculation unit 14 calculates the similarity Sim between the second feature vector and multiple fourth feature vectors corresponding to the second feature vector, and the authentication unit 15 authenticates the image of the object.

[0086] This allows the calculation unit 14 to calculate the similarity efficiently and quickly, and the authentication unit 15 can authenticate the object about three times faster than when no approximation is performed by the approximation unit 13.

[0087] Furthermore, since the multiple fourth feature vectors are made up of ternary vectors each having one of {-1, 0, +1} as an element, they can be stored as bit strings in storage unit 16. Therefore, the capacity of storage unit 16 for storing the fourth feature vectors can be reduced to about 1% of the capacity in the case where approximation by approximation unit 13 is not performed. In other words, when storing the fourth feature vectors, the capacity can be reduced by about 99% compared to when storing the third feature vectors.

[0088] This makes it possible to store fourth feature vectors corresponding to, for example, 100 million human face images in the storage unit 16, thereby reducing the amount of similarity calculation performed by the calculation unit 14. Note that the authentication method using the authentication device 10 described above can also be applied to authentication using feature vectors of dimensions other than 16 dimensions.

[0089] [Embodiment 2] <Outline of authentication system 1A> Next, an authentication system 1A according to a second embodiment will be described with reference to Figures 6 to 9. For ease of explanation, components having the same functions as those described in the first embodiment will be denoted by the same reference numerals, and the description thereof will not be repeated.

[0090] Fig. 6 is a schematic diagram showing the configuration of an authentication system 1A. As shown in Fig. 6, the authentication system 1A includes an authentication device 10A, cameras 20A and 20B, an entry / exit control device 100A, a server device 200A, and a gate G. The authentication system 1A is installed, for example, in a building of a company or the like, and is used to control the entry and exit of company employees. Note that the gate G may not be required. The authentication device 10A may also be used to authenticate flight crew members at a boarding gate at an airport.

[0091] The authentication device 10A, the cameras 20A and 20B, the entry / exit control device 100A, and the server device 200A are connected via a network N. The entry / exit control device 100A and the gate G are connected by wire or wirelessly.

[0092] The authentication device 10A may be built into the entry and exit control device 100A. The authentication device 10A and the server device 200A may be integrated into one information processing device.

[0093] [Configuration of authentication device 10A] Next, the configuration of the authentication device 10A will be described with reference to Fig. 6 and Fig. 7. As shown in Fig. 6, the authentication device 10A is a device for authenticating the faces of multiple people M1, M2, and M3 passing through a gate G provided at the entrance / exit of a company or the like.

[0094] Fig. 7 is a block diagram showing the configuration of authentication device 10A. As shown in Fig. 7, authentication device 10A includes an acquisition unit 11, a generation unit 12, an approximation unit 13, a calculation unit 14, an authentication unit 15, a storage unit 16, and a communication unit 18.

[0095] The acquisition unit 11 acquires images of the people M1, M2, and M3 captured by the cameras 20A and 20B, and detects the faces of the people M1, M2, and M3. The faces of the people M1, M2, and M3 are an example of specific parts of the target object. The images may be moving images or still images.

[0096] The generation unit 12 analyzes the facial images of multiple people M1, M2, and M3 acquired by the acquisition unit 11, extracts facial features of each person M1, M2, and M3, and generates multiple first feature vectors, for example consisting of 16-dimensional vectors.

[0097] The approximation unit 13 approximates the first feature vector generated by the generation unit 12 into a plurality of second feature vectors each consisting of a ternary vector having one of {-1, 0, +1} as an element.

[0098] The calculation unit 14 calculates the similarity between the second feature vectors approximated by the approximation unit 13 and the fourth feature vectors corresponding to each of the second feature vectors. The fourth feature vectors are obtained by approximating the third feature vectors stored in the server device 200 by the approximation unit 13 in the same manner as the first feature vectors.

[0099] The authentication unit 15 authenticates the image of the person's face based on the similarity calculated by the calculation unit 14. The communication unit 18 outputs a control signal based on the authentication result by the authentication unit 15, thereby opening the gate G.

[0100] The memory unit 16 has a first memory area in which a plurality of third feature vectors and identification information of employees who are users of the authentication device 10A are stored, and a second memory area in which a plurality of fourth feature vectors are stored.

[0101] (Configuration of cameras 20A and 20B) Cameras 20A and 20B may be installed near gate G, for example, above gate G. Camera 20A captures an image of the face of a person attempting to enter through gate G. Camera 20B captures an image of the face of a person attempting to exit through gate G. Note that the locations and number of cameras 20A and 20B can be changed as appropriate.

[0102] The cameras 20A and 20B may be built into the authentication device 10A. The cameras 20A and 20B may also have zoom lenses. The acquisition unit 11 may acquire from the cameras 20A and 20B images enlarged by the zoom lenses of the cameras 20A and 20B. This makes it possible to perform facial authentication on people who are located far from the gate G.

[0103] (Configuration of entry / exit control device 100A) Fig. 8 is a block diagram showing the configuration of the entry and exit control device 100A. As shown in Fig. 8, the entry and exit control device 100A has a CPU (Central Processing Unit) 61, a ROM (Read Only Memory) 62, a RAM (Random Access Memory) 63, a communication unit 64, an input unit 65, and an output unit 66, which are connected by an internal bus.

[0104] The CPU 61 controls the overall operation of the entry / exit control device 100A. The ROM 62 stores programs and the like used by the CPU 61 to control various operations. The RAM 63 is used as a storage area for temporarily recording data, signals, and the like used when the CPU 61 executes the programs, or as a working area for data processing. The CPU 61 controls the opening and closing operations of the gate G based on the programs read from the ROM 62.

[0105] The communication unit 64 communicates with the authentication device 10A via the network N. The communication unit 64 receives, for example, information relating to the result of the authentication process by the authentication device 10A. The input unit 65 is an input interface for accepting input operations from the user. The input unit 65 has a touch panel, buttons, etc. The output unit 66 outputs a signal for opening and closing the gate G based on the control of the CPU 61.

[0106] [Server device 200A] Server device 200A stores third feature amounts of faces of employees of a company or the like who are the targets of authentication by authentication device 10A, in association with ID information, which is identification information for identifying each employee. Authentication device 10A acquires the ID information and multiple third feature amounts of each employee from server device 200A and stores them in a first storage area. Note that multiple templates may be created that combine information such as the ID information, age, and gender of each employee with the third feature amounts, and the multiple templates may be stored in server device 200A.

[0107] Authentication device 10A acquires a plurality of third feature vectors from server device 200A via network N, and generates a plurality of fourth feature vectors by performing two-bit approximation on the plurality of third feature vectors using approximation unit 13. Authentication device 10A stores the plurality of fourth feature vectors in a second storage area of ​​storage unit 16.

[0108] <Authentication Process by Authentication Device 10A> Next, the flow of authentication processing by authentication device 10A will be described with reference to Fig. 9. Fig. 9 is a flowchart showing an example of the flow of authentication processing by authentication device 10A.

[0109] In the flowchart shown in FIG. 9, the acquisition unit 11 of the authentication device 10A acquires images of the people M1, M2, and M3 captured by the camera 20A, and detects the faces of the people M1, M2, and M3 (step S21: acquisition step).

[0110] In step S21, the camera 20A identifies the positions of the faces of multiple people and tracks them. The authentication device 10A performs face authentication on, for example, the person closest to the camera 20A. In the example shown in Fig. 6, the authentication device 10A performs face authentication on person M1.

[0111] After step S21, the generation unit 12 generates a first feature vector based on the image of the face of the person M1 (step S22: generation step). In step S22, the generation unit 12 inputs the image of the face of the person M1 into a convolutional neural network or the like to generate a first feature vector consisting of, for example, a 16-dimensional vector.

[0112] Next, the approximation unit 13 approximates the first feature vector in the same manner as in step S3, and generates a second feature vector consisting of a ternary vector having one of {-1, 0, +1} as each element (step S23: approximation step).

[0113] After step S23, the calculation unit 14 calculates the similarity between the second feature vector approximated by the approximation unit 13 and the fourth feature vector in the same manner as in step S4 (step S24: calculation step).

[0114] After step S24, the authentication unit 15 authenticates the image of the person M1 by determining whether the similarity Sim calculated in step S24 is equal to or greater than a threshold value (step S25: authentication step).

[0115] If the similarity Sim is equal to or greater than the threshold value (step S25: YES), the authentication unit 15 determines that the authentication of the person M1 has been successful, and opens the gate G via the communication unit 18 (step S26). The authentication device 10A transmits the ID information of the person M and information indicating that the person M has entered the room to the communication unit 64 of the entry and exit control device 100A via the communication unit 18, and stores the information in the RAM 63.

[0116] On the other hand, if the similarity Sim is less than the threshold value (step S25: NO), the authentication unit 15 determines that the authentication of the person M1 has failed, and does not open the gate G via the communication unit 18 (step S27). In this way, the authentication process by the authentication device 10 shown in FIG. 9 ends.

[0117] According to the authentication device 10A of the above-described embodiment 2, it is possible to quickly authenticate the face of person M1, similarly to the authentication device 10 of embodiment 1. That is, by using the approximation unit 13 to perform two-bit approximation of the first feature vector to a second feature vector made up of a ternary vector having any one of {-1, 0, +1} as each element, the calculation unit 14 can quickly calculate the similarity, and the authentication unit 15 can quickly perform authentication.

[0118] Furthermore, authentication system 1A including authentication device 10A can quickly authenticate multiple people without contact, and can manage the entry and exit of company employees and the like at a high security level.

[0119] [Modification] In the authentication system 1A of the second embodiment described above, the authentication device 10A is used to authenticate the faces of multiple people M1, M2, and M3 passing through a gate G installed in a building, but the present invention is not limited to this. For example, the authentication device 10A may be used in a vehicle number plate recognition system introduced in parking lots, expressways, etc.

[0120] In this case, authentication device 10A acquires an image of the vehicle using acquisition unit 11, detects the license plate of the vehicle, and generates a first feature vector using a convolutional neural network or the like. The convolutional neural network is assumed to have been trained to receive an image of the license plate of the vehicle as input and output the first feature vector.

[0121] Thereafter, the authentication device 10A uses the approximation unit 13 to approximate the first feature vector to the second feature vector, and uses the calculation unit 14 to calculate the similarity between the second feature vector and the fourth feature vector, thereby quickly authenticating whether the license plate is registered in the server device 200A. Furthermore, by acquiring an image of the license plate and performing authentication, the authentication device 10A can also quickly obtain information about the owner of the authenticated vehicle from the storage unit 16 or the server device 200A.

[0122] Other Embodiments In the above-described second embodiment, the authentication device 10A performs authentication using an image of a person's face as the target, but this is not limiting. For example, the authentication device 10A may perform authentication using an image of a person's body as the target. In this case, the generation unit 12 generates a first feature vector based on the image of the person's body. Furthermore, the authentication device 10A may perform authentication using the movement of the person's body as the target. In this case, the generation unit 12 generates a first feature vector based on a video showing the movement of the person's body.

[0123] In the authentication device 10 of the first embodiment described above, a plurality of third feature vectors corresponding to facial images of a plurality of other people to be compared with the facial image of user M are acquired from the server device 200. However, this is not limiting. For example, data on the plurality of third feature vectors may be acquired via a storage medium such as a USB (Universal Serial Bus).

[0124] <Software implementation example> The functions of the authentication devices 10, 10A (hereinafter referred to as "devices") constituting the authentication systems 1, 1A can be realized by a program for causing a computer to function as the devices, and each control block of the devices (particularly the acquisition unit 11, generation unit 12, approximation unit 13, calculation unit 14, and authentication unit 15) can be realized by a program for causing a computer to function.

[0125] In this case, the device includes a computer having at least one control device (e.g., a processor) and at least one storage device (e.g., a memory) as hardware for executing the program. The control device and storage device execute the program, thereby realizing the functions described in each of the above embodiments.

[0126] The program may be non-transitory and may be recorded on one or more computer-readable recording media. The recording media may or may not be included in the device. In the latter case, the program may be supplied to the device via any wired or wireless transmission medium.

[0127] Furthermore, some or all of the functions of the control blocks can be realized by logic circuits. For example, an integrated circuit in which a logic circuit that functions as each of the control blocks is formed is also included in the scope of the present invention. In addition, the functions of the control blocks can also be realized by, for example, a quantum computer.

[0128] Furthermore, each process described in each of the above embodiments may be executed by AI (Artificial Intelligence). In this case, the AI ​​may run on the control device or on another device (for example, an edge computer or a cloud server).

[0129] <Summary> The present disclosure describes at least the following aspects. An authentication device according to aspect 1 of the present disclosure includes an acquisition unit that acquires an image of an object and detects specific parts of the object; a generation unit that generates a first feature vector based on the image of the specific part of the object detected by the acquisition unit; an approximation unit that approximates the first feature vector generated by the generation unit to a second feature vector consisting of a ternary vector; a calculation unit that calculates a similarity between the second feature vector approximated by the approximation unit and a plurality of fourth feature vectors obtained by approximating a plurality of third feature vectors corresponding to a plurality of other images of the specific parts of the object to be matched against the specific parts of the object; and an authentication unit that authenticates the image of the specific parts of the object based on the similarity calculated by the calculation unit.

[0130] According to the above configuration, the authentication device according to aspect 1 of the present disclosure uses the approximation unit to approximate the first feature vector to a second feature vector consisting of a ternary vector, then the calculation unit calculates the similarity between the second feature vector and a fourth feature vector corresponding to the second feature vector, and the authentication unit authenticates the image of the specific part of the object based on the similarity. This allows the calculation unit to calculate the similarity more quickly than when no approximation is performed by the approximation unit, and enables the authentication unit to authenticate the object more quickly.

[0131] In the authentication device according to aspect 2 of the present disclosure, in the above aspect 1, the second feature vector is a ternary vector having one of {-1, 0, +1} as each element.

[0132] According to the above configuration, the approximation unit approximates the first feature vector to a second feature vector consisting of a ternary vector having one of {-1, 0, +1} as each element, thereby making it possible to improve the efficiency of calculation of similarity by the calculation unit.

[0133] In the authentication device according to aspect 3 of the present disclosure, in the above aspect 1 or 2, the approximation unit sets the elements in a sequence in which the elements of the first feature vector are sorted in ascending order as absolute values ​​to a reference value in a predetermined order from the smallest absolute value of each element, sets elements whose absolute values ​​are less than or equal to the reference value to 0, sets elements whose absolute values ​​are greater than the reference value and are positive to +1, and sets elements whose absolute values ​​are greater than the reference value and are negative to -1, and the reference value is set so that the number of elements of the second feature vector excluding 0 is a predetermined number.

[0134] According to the above configuration, the approximation unit approximates the first feature vector to a second feature vector in which the number of elements that are either +1 or -1 is set to a predetermined number, thereby simplifying the calculation of similarity by the calculation unit and enabling the authentication unit to quickly authenticate the object.

[0135] In the authentication device according to aspect 4 of the present disclosure, in the above aspects 1 to 3, the calculation unit calculates the similarity using a cosine similarity between the second feature vector and the fourth feature vector.

[0136] According to the above configuration, by using the second feature vector and the fourth feature vector approximated to a ternary vector by the approximation unit, the calculation of the cosine similarity by the calculation unit can be simplified, and the similarity can be calculated quickly.

[0137] In the authentication device according to aspect 5 of the present disclosure, in any one of aspects 1 to 3 above, the calculation unit calculates the similarity using a Euclidean distance between the second feature vector and the fourth feature vector.

[0138] According to the above configuration, by using the second feature vector and the fourth feature vector approximated to a ternary vector by the approximation unit, the calculation of the Euclidean distance by the calculation unit can be simplified, and the similarity can be calculated quickly.

[0139] In an authentication device according to aspect 6 of the present disclosure, in aspect 5 above, the calculation unit separates each element of the second feature vector into a first bit string from which only positive values ​​are extracted and a second bit string from which only negative values ​​are extracted, separates each element of the fourth feature vector into a third bit string from which only positive values ​​are extracted and a fourth bit string from which only negative values ​​are extracted, calculates a fifth bit string by performing an XOR operation on the first bit string and the third bit string, calculates a sixth bit string by performing an XOR operation on the second bit string and the fourth bit string, and calculates the Euclidean distance using the results of the OR operation and AND operation on the fifth bit string and the sixth bit string.

[0140] According to the above configuration, the calculation unit converts the second feature vector and the fourth feature vector into binary data, and then performs XOR, OR, and AND operations, thereby enabling high-speed calculation of the Euclidean distance.

[0141] In an authentication device according to aspect 7 of the present disclosure, in any of aspects 1 to 6 above, the authentication device further includes a memory unit that stores the plurality of third feature vectors and the plurality of fourth feature vectors obtained by approximating the plurality of third feature vectors using the approximation unit, and the memory unit has a first memory area that stores the plurality of third feature vectors and identification information of a user using the authentication device, and a second memory area that stores the plurality of fourth feature vectors.

[0142] According to the above configuration, the calculation unit calculates the similarity between the second feature vector approximated by the approximation unit and multiple fourth feature vectors stored in a second storage area different from the first storage area in which the third feature vector is stored, in the order in which they were stored in the second storage area. This allows the calculation unit to fully utilize the memory structure of the storage unit to perform look-ahead, thereby calculating the similarity as quickly as possible. Because multiple fourth feature vectors are stored in the storage unit of the authentication device, the authentication unit can quickly authenticate the image of the object without connecting the authentication device to an external server or the like.

[0143] In an authentication device according to an eighth aspect of the present disclosure, in any one of the first to seventh aspects, the specific part of the object is a human face, and the authentication unit authenticates the human face. According to the above configuration, the authentication unit performs authentication using an image of the human face, thereby improving security.

[0144] An authentication method according to aspect 9 of the present disclosure includes an acquisition step of acquiring an image of an object and detecting specific parts of the object; a generation step of generating a first feature vector based on the image of the specific part of the object detected in the acquisition step; an approximation step of approximating the first feature vector generated in the generation step to a second feature vector consisting of a ternary vector; a calculation step of calculating similarities between the second feature vector approximated in the approximation step and multiple fourth feature vectors obtained by approximating multiple third feature vectors corresponding to multiple other images of the specific parts of the object to be matched against the specific parts of the object; and an authentication step of authenticating the image of the specific parts of the object based on the similarities calculated in the calculation step.

[0145] According to the above configuration, the authentication method according to Aspect 9 of the present disclosure approximates the first feature vector to a second feature vector consisting of a ternary vector in the approximation step, then calculates the similarity between the second feature vector and a fourth feature vector corresponding to the second feature vector in the calculation step, and authenticates the image of the specific part of the object based on the similarity in the authentication step. This allows the similarity to be calculated more efficiently and quickly than when the first feature vector is not approximated, and enables the object to be authenticated quickly.

[0146] A program according to aspect 10 of the present disclosure is a program for causing a computer to function as the authentication device of aspect 1, and causes the computer to function as the acquisition unit, the generation unit, the approximation unit, the calculation unit, and the authentication unit. With the above configuration, it is possible to obtain the same effects as the authentication device of aspect 1.

[0147] (Additional notes) The present disclosure is not limited to the above-described embodiments, and various modifications are possible within the scope of the claims. Embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included in the technical scope of the present disclosure.

[0148] This disclosure will utilize AI (Artificial Intelligence) to enable high-speed authentication of human faces, etc., and will serve as an innovative technological foundation for the telecommunications industry, thereby contributing to the achievement of Goal 9 of the Sustainable Development Goals (SDGs), which is to "establish inclusive and sustainable industrial bases, promote inclusive and sustainable industrialization, and foster innovation and resilience." [Explanation of symbols]

[0149] 1. 1A Certification System 10, 10A authentication device 11 Acquisition Department 12 Generation part 13 Approximation part 14 Calculation section 15 Authentication Section 16 Memory section 17 Output control section 18 Communications Department 20, 20A, 20B Camera 100 communication terminal 100A Access Control Device 200, 200A server equipment M User M1, M2, M3 people

Claims

1. an acquisition unit that acquires an image of an object and detects a specific portion of the object; a generation unit that generates a first feature vector based on an image of the specific part of the object detected by the acquisition unit; an approximation unit that approximates the first feature vector generated by the generation unit to a second feature vector that is a ternary vector; a calculation unit that calculates a similarity between the second feature vector approximated by the approximation unit and a plurality of fourth feature vectors obtained by approximating, by the approximation unit, a plurality of third feature vectors corresponding to other plurality of images of the specific portions of the object to be compared with the specific portion of the object; an authentication unit that authenticates the image of the specific portion of the object based on the similarity calculated by the calculation unit; An authentication device comprising:

2. 2. The authentication device according to claim 1, wherein the second feature vector is a ternary vector having one of {-1, 0, +1} as each element.

3. The approximation part is In a sequence in which the elements of the first feature vector are sorted in ascending order as absolute values, elements in a predetermined order starting from the element with the smallest absolute value are set as reference values, elements whose absolute values ​​are equal to or less than the reference value are set as 0, elements whose absolute values ​​are greater than the reference value and are positive are set as +1, and elements whose absolute values ​​are greater than the reference value and are negative are set as -1, The authentication device according to claim 2 , wherein the reference value is set so that the number of elements of the second feature vector excluding 0 is a predetermined number.

4. The calculation unit The authentication device according to claim 3 , wherein the similarity is calculated using a cosine similarity between the second feature vector and the fourth feature vector.

5. The calculation unit The authentication device according to claim 3 , wherein the similarity is calculated using a Euclidean distance between the second feature vector and the fourth feature vector.

6. The calculation unit Separating each element of the second feature vector into a first bit string in which only positive values ​​are extracted and a second bit string in which only negative values ​​are extracted; Separating each element of the fourth feature vector into a third bit string in which only positive values ​​are extracted and a fourth bit string in which only negative values ​​are extracted, performing an XOR operation on the first bit string and the third bit string to calculate a fifth bit string; performing an XOR operation on the second bit string and the fourth bit string to calculate a sixth bit string; 6. The authentication device according to claim 5, wherein the Euclidean distance is calculated using results of an OR operation and an AND operation between the fifth bit string and the sixth bit string.

7. a storage unit that stores the plurality of third feature vectors and the plurality of fourth feature vectors obtained by approximating the plurality of third feature vectors by the approximation unit, 2. The authentication device according to claim 1, wherein the storage unit has a first storage area in which the plurality of third feature vectors and identification information of a user who uses the authentication device are stored, and a second storage area in which the plurality of fourth feature vectors are stored.

8. the specific part of the object is a human face, The authentication device according to claim 1 , wherein the authentication unit authenticates the face of the person.

9. an acquisition step of acquiring an image of an object and detecting a specific portion of the object; a generating step of generating a first feature vector based on an image of the specific portion of the object detected in the obtaining step; an approximation step of approximating the first feature vector generated in the generation step to a second feature vector consisting of a ternary vector; a calculation step of calculating similarities between the second feature vector approximated in the approximation step and a plurality of fourth feature vectors obtained by approximating a plurality of third feature vectors corresponding to other images of the specific portions of the object to be compared with the specific portion of the object; an authentication step of authenticating the image of the specific portion of the object based on the similarity calculated in the calculation step; Authentication methods, including:

10. 2. A program for causing a computer to function as the authentication device according to claim 1, the program causing a computer to function as the acquisition unit, the generation unit, the approximation unit, the calculation unit, and the authentication unit.

Citation Information

Patent Citations

  • Recognition system, common feature amount extracting unit, and recognition system configuring method

    JP2018195097A

  • Image retrieval device and image retrieval method

    JP2007172384A