Authentication device, authentication method, and program

The authentication device approximates feature vectors to ternary vectors for efficient similarity calculation, addressing computational complexity in facial recognition systems, achieving faster and more economical authentication.

JP2026122818AActive Publication Date: 2026-07-29SOFTBANK CORPORATION +1
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SOFTBANK CORPORATION
Filing Date
2025-01-16
Publication Date
2026-07-29

AI Technical Summary

Technical Problem

Facial recognition systems face significant computational complexity and slow response times when calculating many-to-many similarity between feature vectors, making high-speed many-to-many authentication challenging.

Method used

An authentication device that approximates a first feature vector to a second ternary vector and calculates similarity between this vector and multiple fourth feature vectors, using a memory structure with separate areas for user identification and feature vectors, enabling efficient and quick authentication.

Benefits of technology

The solution allows for faster and more efficient similarity calculation, reducing computational cost and memory requirements, enabling authentication three times faster than traditional methods while maintaining accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026122818000001_ABST
    Figure 2026122818000001_ABST
Patent Text Reader

Abstract

Performs high-speed many-to-many authentication. [Solution] The authentication device (10) of this disclosure includes an acquisition unit (11) that acquires an image of an object and detects a specific part 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 trivalued vector; a calculation unit (14) that calculates the similarity between the second feature vector and a plurality of 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 Art

[0002] Conventionally, by inputting an image of an object into a machine learning model, a high-dimensional feature vector is output, and face authentication is performed by calculating the similarity between the feature vector and a feature vector of an image for collating with the object. For example, Patent Document 1 discloses an image search device capable of quickly extracting a desired image from a large volume of image groups using multi-dimensional feature data extracted from an image.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Means for Solving the Problems

[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 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 composed of a ternary vector, and a calculation unit that calculates the 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 images of the specific parts of the other plurality of objects for collating with the specific part of the object by the approximation unit, and an authentication unit that performs authentication of the image of the specific part 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 trivalued vector; a calculation step of calculating the similarity 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 images of a plurality of other objects for comparison with the specific part of the object; and an authentication step of authenticating the image of the specific part of the object based on the similarity calculated in the calculation step. [Brief explanation of the drawing]

[0006] [Figure 1] This is a schematic diagram showing the configuration of the authentication system according to Embodiment 1 of this disclosure. [Figure 2] This is a block diagram showing the configuration of a communication terminal according to Embodiment 1. [Figure 3] This flowchart shows an example of the authentication process flow by the authentication device according to Embodiment 1. [Figure 4] Figure 3 is a flowchart showing an example of the approximation process. [Figure 5] Figure 3 is a flowchart showing an example of the calculation process flow. [Figure 6] This is a schematic diagram showing the configuration of the authentication system according to Embodiment 2. [Figure 7] This is a block diagram showing the configuration of the authentication device according to Embodiment 2. [Figure 8] This is a block diagram showing the configuration of the access control device according to Embodiment 2. [Figure 9] This flowchart shows an example of the authentication process flow by the authentication device according to Embodiment 2. [Modes for carrying out the invention]

[0007] Traditionally, in facial recognition, when comparing the similarity of one-to-one or one-to-many facial images, it was possible to calculate the similarity quickly using a computer by employing methods such as cosine similarity.

[0008] In recent years, facial recognition applications have required high-speed comparison of many-to-many similarity. However, calculating the similarity between numerous feature vectors one by one results in enormous computational complexity and slow response times. This disclosure aims to provide a solution for high-speed many-to-many authentication.

[0009] The authentication device according to this 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 trivalued vector; a calculation unit that calculates the 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 images of other plurality of specific parts of the object for comparison with the specific part of the object using the approximation unit; and an authentication unit that authenticates the image of the specific part 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. Then, the calculation unit calculates the similarity between the second feature vector and the fourth feature vector corresponding to the second feature vector, and the authentication unit authenticates the image of the target object based on the similarity. As a result, the calculation unit can calculate the similarity faster and more efficiently than if the approximation unit were not used, and the authentication unit can quickly authenticate the target object.

[0011] The calculation speed of the similarity between the second feature vector and the fourth feature vector, which consist of the aforementioned ternary vectors, is determined by the access speed to the memory where multiple fourth feature vectors are stored. Therefore, 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 memory area that stores user identification information and a plurality of third feature vectors, and a second memory area that stores 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 memory area, in the order of the list in the second memory area. As a result, the calculation unit can calculate the similarity as quickly as possible by making full use of the memory structure of the storage unit and performing look-ahead reading.

[0013] [Embodiment 1] <Outline configuration of authentication system 1> The authentication system 1 according to Embodiment 1 will be described below with reference to Figure 1. Figure 1 is a block diagram showing the overall configuration of the authentication system 1. As shown in Figure 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. The communication terminal 100 has a function to perform facial recognition of the user M using the communication terminal 100, as indicated by arrow R.

[0015] Network N may be other than the Internet, such as a LAN (Local Area Network), mobile communication systems like 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, it 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, a tablet terminal, a PC, etc. used by the user M.

[0017] (Configuration of the 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 face of the person. Note that the face of the person is an example of a specific part of the object. Also, 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, extracts the feature amount of the person's face, and generates a first feature vector.

[0020] The above convolutional neural network is assumed to be learned to output a first feature vector with an image of a person's face as an input. The first feature vector consists of, for example, a 16-dimensional vector. Note that the number of dimensions of the first feature vector can be appropriately changed and may be, for example, 128 dimensions.

[0021] The facial features of a person that a convolutional neural network learns include, for example, the shape of the 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 position of the nose and mouth, the position of the eyes, nose, and mouth on the person's face, the position of fat, the thickness of the fat, and the shape of facial wrinkles. In addition, the generation unit 12 may analyze the acquired video or still image to determine whether the person's gender or age is a 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 with each element being one of {-1, 0, or +1}. The detailed method of approximating the first feature vector by the approximation unit 13 will be described later. Also, for the sake of explanation, approximating to a ternary vector with each element being one of {-1, 0, or +1} will be referred to as a 2-bit approximation below.

[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 are obtained by approximating the third feature vector with 2 bits using the approximation unit 13, similar to the first feature vector. It is preferable that the approximation unit 13 estimates the parameters of the third feature vector before approximating the third feature vector with 2 bits.

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

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

[0026] The authentication unit 15 authenticates a human face image based on the similarity calculated by the calculation unit 14. Specifically, the authentication unit 15 authenticates a human face image by determining whether the similarity is above a predetermined threshold.

[0027] The memory unit 16 has a memory structure that includes a first memory area for storing user M's identification information and a plurality of third feature vectors, and a second memory 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 the plurality of fourth feature vectors stored in the second memory area, which is different from the first memory area, in the order in which they are stored in the second memory area. As a result, the calculation unit 14 can calculate the similarity as quickly as possible by making full use of the memory structure of the memory unit 16 and performing look-ahead reading.

[0028] The output control unit 17 outputs the authentication result from the authentication unit 15 to the display unit 50. The display unit 50 displays information based on the authentication result from the authentication unit 15.

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

[0030] The camera 20 may also have a depth sensor. The acquisition unit 11 may acquire an image from the camera 20 that includes depth information detected by the depth sensor of the camera 20.

[0031] (Composition of the communications unit 30) The communication unit 30 is connected to the network N by wire or wireless connection and communicates with the server device 200 and other communication terminals via the network N. The communication unit 30 is composed of a NIC (Network Interface Card), an antenna, and the like.

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

[0033] The operation unit 40, for example, consists of a touch panel and accepts various operations from user M. The operation unit 40 may also have buttons for inputting characters, numbers, etc.

[0034] The display unit 50 is a display device for displaying various types of information, such as a liquid crystal display (LCD) or an organic electroluminescent display (OLED). The display unit 50 displays information related to the authentication results from the authentication device 10.

[0035] [Server device 200] The server device 200 shown in Figure 1 stores training data related to images of multiple other people's faces for matching with the face of the target object, user M. For example, the server device 200 stores multiple third feature vectors generated from the feature quantities of multiple people's faces.

[0036] The communication terminal 100 obtains multiple 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 multiple fourth feature vectors by approximating the obtained multiple third feature vectors as described later.

[0037] The authentication device 10 stores multiple fourth feature vectors in the storage unit 16. The user M may update the data regarding the fourth feature vectors by arbitrarily setting hyperparameters.

[0038] Here, if the dimension of the fourth feature vector is d and the number of human faces stored in the memory unit 16 is m, it is preferable that the following equation (1) is satisfied.

number

[0039] In equation (1), it is preferable that m is 10,000 or more. Furthermore, it is preferable that the probability distribution of the m fourth feature vectors be a normal distribution (Gaussian distribution). In this case, for example, if d=128 and m=65536, the probability of being incorrectly authenticated by the authentication unit 15 is approximately 10 -17 We confirmed that it is possible to keep it down to [%].

[0040] <Authentication process by authentication device 10> Next, the authentication process flow by the authentication device 10 will be explained with reference to Figures 3 to 5. Figure 3 is a flowchart showing an example of the authentication process flow by the authentication device 10.

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

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

[0043]

number

[0044] Next, the approximation unit 13 performs an approximation process that approximates the first feature vector with a second feature vector consisting of a ternary vector whose elements are either {-1, 0, or +1} (step S3: approximation step).

[0045] Here, the approximation process in step S3 will be explained with reference to the flowchart in Figure 4. Figure 4 is a flowchart showing an example of the flow of the approximation process in step S3 of Figure 3.

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

[0047]

number

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

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

[0050] The above baseline value is set so that the number of elements in the second feature vector, excluding "0", is a predetermined number, in this case 10. This makes it possible to simplify the calculation of similarity, which will be described later.

[0051] Then, the approximation unit 13 approximates the first feature vector with a second feature vector consisting of a ternary vector having {-1, 0, +1} as each element, as shown in equation (4) below, using 2 bits (step S34).

[0052]

number

[0053] The elements of the second feature vector are trinarized into six "0"s and a total of ten "-1" or "1"s. In this way, by setting six elements of the 16-dimensional second feature vector to "0" and the remaining elements to "-1" 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 {-1, 0, +1} as each element, in the same manner as in steps S31 to S34.

[0055] In this case, the product of the magnitude of the second feature vector and 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 and fourth feature vectors.

[0056] Furthermore, the server device 200 may pre-store data relating to multiple fourth feature vectors that approximate multiple third feature vectors in the server device 200 or the storage unit 16.

[0057] Returning to Figure 3, after step S3, the calculation unit 14 performs 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] Here, the calculation process in step S4 will be explained with reference to the flowchart in Figure 5. Figure 5 is a flowchart showing an example of the calculation process in Figure 3. In the flowchart shown in Figure 5, the calculation unit 14 separates the second feature vector into a first bit sequence and a second bit sequence (step S41).

[0059] The first bit sequence consists of a sequence of numbers obtained by extracting only positive values, i.e., "+1", from each element of the second feature vector, and is represented by the following equation (5).

number

[0060] The second bit sequence consists of a sequence of numbers obtained by extracting only negative values, i.e., "-1", from each element of the second feature vector, and is represented by the following equation (6).

number

[0061] After step S41, the calculation unit 14 separates the fourth feature vector into a third bit sequence and a fourth bit sequence (step S42). Now, consider the case where the third feature vector is given by equation (7) below.

number

[0062] In this case, the fourth feature vector is approximated as shown in equation (8) below.

number

[0063] The third bit sequence consists of a sequence of numbers obtained by extracting only positive values, i.e., "+1", from each element of the fourth feature vector, and is represented by the following equation (9).

number

[0064] The fourth bit sequence consists of a sequence of numbers obtained by extracting only negative values, i.e., "-1", from each element of the fourth feature vector, and is represented 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 different positions of each value in 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 the different positions of each value in the second bit string and the fourth bit string.

[0068]

number

[0069] After step S44, the calculation unit 14 performs OR and AND operations on the 5th bit sequence and the 6th bit sequence (step S45). Specifically, when the calculation unit 14 performs the OR operation on the 5th bit sequence and the 6th bit sequence as described above, it obtains the sequence shown in the following equation (13).

[0070]

number

[0071] The result of the above OR operation allows us to identify all locations where the values ​​of each element in the second feature vector and each element in the fourth feature vector differ. Each 1-bit value will have a sum of either +1 or +4.

[0072] Furthermore, when the calculation unit 14 performs an AND operation on the 5th bit sequence and the 6th bit sequence described above, it obtains the sequence shown in equation (14) below. 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 score Sim = 1 - 16 / 20 = 0.2. In this way, the calculation unit 14 can efficiently and quickly calculate the similarity score Sim.

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

[0079] Furthermore, 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 shown in equation (16) below.

[0080]

number

[0081] Even when calculating the similarity using the above-mentioned formula (16) with the calculation unit 14, the approximation unit 13 approximates the second and fourth feature vectors to a 2-bit ternary vector consisting of either {-1, 0, or +1}, so the similarity can be calculated quickly by combining XOR, OR, and AND operations.

[0082] After step S46 in Figure 5, the process returns to Figure 3, and the authentication unit 15 authenticates the user M's face image by determining whether the similarity Sim calculated in step S4 is equal to or greater than a threshold (step S5: authentication step).

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

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

[0085] According to the authentication device 10 in Embodiment 1 described above, the approximation unit 13 approximates the first feature vector with a second feature vector consisting of a ternary vector having {-1, 0, +1} as each element using 2 bits. Then, the similarity Sim between the second feature vector and a plurality of fourth feature vectors corresponding to the second feature vector is calculated by the calculation unit 14, and the authentication unit 15 authenticates the image of the target object.

[0086] As a result, the calculation unit 14 can efficiently and quickly calculate the similarity, and the authentication unit 15 can authenticate the object about three times faster than when approximation is not performed by the approximation unit 13.

[0087] Furthermore, since the multiple fourth feature vectors consist of ternary vectors with each element being one of {-1, 0, or +1}, they can be stored in the memory unit 16 as bit strings. Therefore, the capacity of the memory unit 16 that stores the fourth feature vectors can be reduced to about 1% of the amount required when approximation by the approximation unit 13 is not performed. In other words, compared to the case where the third feature vector is stored, the capacity can be reduced by about 99% when the fourth feature vector is stored.

[0088] This allows, for example, the storage unit 16 to store a fourth feature vector corresponding to 100 million images of human faces, thereby reducing the computational cost of similarity calculation performed by the calculation unit 14. Furthermore, the authentication method using the authentication device 10 described above can also be applied to authentication using feature vectors of dimensions other than 16.

[0089] [Embodiment 2] <Outline configuration of authentication system 1A> Next, the authentication system 1A according to Embodiment 2 will be described with reference to Figures 6 to 9. For the sake of convenience, components having the same function as those described in Embodiment 1 will be denoted by the same reference numerals, and their descriptions will not be repeated.

[0090] Figure 6 is a schematic diagram showing the configuration of the authentication system 1A. As shown in Figure 6, the authentication system 1A comprises an authentication device 10A, cameras 20A and 20B, an access control device 100A, a server device 200A, and a gate G. The authentication system 1A is installed, for example, in a building such as a company and used to manage the entry and exit of company employees. Note that the gate G is optional. The authentication device 10A may also be used at an airport boarding gate to authenticate passengers.

[0091] The authentication device 10A, cameras 20A and 20B, access control device 100A, and server device 200A are connected via network N. Additionally, the access control device 100A and gate G are connected by wired or wireless connection.

[0092] The access control device 100A may also have an authentication device 10A built into it. Alternatively, the authentication device 10A and the server device 200A may be configured as a single information processing device.

[0093] [Configuration of Authentication Device 10A] Next, the configuration of the authentication device 10A will be explained with reference to Figures 6 and 7. As shown in Figure 6, the authentication device 10A is a device for authenticating the faces of multiple people M1, M2, and M3 passing through gate G, which is installed at the entrance of a company or the like.

[0094] Figure 7 is a block diagram showing the configuration of the authentication device 10A. As shown in Figure 7, the 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 multiple people M1, M2, and M3 captured by cameras 20A and 20B, and detects the faces of each of the multiple people M1, M2, and M3. The faces of people M1, M2, and M3 are examples of specific parts of the target object. The images may be videos 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 the facial features of each person M1, M2, and M3, and generates multiple first feature vectors consisting of, for example, 16-dimensional vectors.

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

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

[0099] The authentication unit 15 authenticates the image of a human face based on the similarity calculated by the calculation unit 14. The communication unit 18 opens gate G by outputting a control signal based on the authentication result from the authentication unit 15.

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

[0101] (Configuration of cameras 20A and 20B) Cameras 20A and 20B can be installed near gate G, for example, above gate G. Camera 20A captures images of the faces of people attempting to enter through gate G. Camera 20B captures images of the faces of people attempting to exit through gate G. The placement locations and number of cameras 20A and 20B can be changed as needed.

[0102] Cameras 20A and 20B may be built into the authentication device 10A. Cameras 20A and 20B may also have zoom lenses. The acquisition unit 11 may acquire images from cameras 20A and 20B that have been magnified by the zoom lenses of the cameras 20A and 20B. This enables facial recognition of people located away from gate G.

[0103] (Configuration of access control device 100A) Figure 8 is a block diagram showing the configuration of the access control device 100A. As shown in Figure 8, the access 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 access control device 100A. The ROM 62 stores programs and other data that the CPU 61 uses to control various operations. The RAM 63 is used as a storage area to temporarily record data and signals used by the CPU 61 when executing the above programs, or as a work area for data processing. The CPU 61 controls the opening and closing operations of gate G and other operations 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 regarding the results of the authentication process by the authentication device 10A. The input unit 65 is an input interface for receiving user input operations. The input unit 65 has a touch panel and buttons, etc. The output unit 66 outputs a signal to open and close the gate G based on control by the CPU 61.

[0106] [Server unit 200A] Server device 200A stores the third feature quantities of the faces of employees of a company, etc., which are the objects of authentication by authentication device 10A, associated with ID information, which is identification information that identifies each employee. Authentication device 10A retrieves each employee's ID information and multiple third feature quantities from server device 200A and stores them in the first memory area. Alternatively, multiple templates may be created that combine each employee's ID information, age, gender, and other information, along with the third feature quantities, and these templates may be stored in server device 200A.

[0107] The authentication device 10A obtains multiple third feature vectors from the server device 200A via the network N, and generates multiple fourth feature vectors by approximating the multiple third feature vectors with 2 bits using the approximation unit 13. The authentication device 10A stores the multiple fourth feature vectors in the second memory area of ​​the memory unit 16.

[0108] <Authentication process by authentication device 10A> Next, the authentication process flow by the authentication device 10A will be explained with reference to Figure 9. Figure 9 is a flowchart showing an example of the authentication process flow by the authentication device 10A.

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

[0110] In step S21, camera 20A identifies and tracks the positions of multiple people's faces. Authentication device 10A performs facial recognition on the person closest to camera 20A, for example. In the example shown in Figure 6, authentication device 10A performs facial recognition on person M1.

[0111] After step S21, the generation unit 12 generates a first feature vector based on the image of person M1's face (step S22: generation step). In step S22, the generation unit 12 inputs the image of person M1's face 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 with each element being one of {-1, 0, +1} (step S23: approximation step).

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

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

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

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

[0117] The authentication device 10A in Embodiment 2 described above can quickly authenticate the face of person M1, similar to the authentication device 10 in Embodiment 1. Specifically, the approximation unit 13 approximates the first feature vector with a second feature vector consisting of a ternary vector with each element being one of {-1, 0, +1} using 2 bits, thereby enabling the calculation unit 14 to quickly calculate the similarity and allowing the authentication unit 15 to quickly perform authentication.

[0118] Furthermore, the authentication system 1A equipped with the authentication device 10A makes it possible to quickly and contactlessly authenticate multiple people, and to manage the entry and exit of company employees and others with a high level of security.

[0119] [Variation] In the authentication system 1A of Embodiment 2 described above, an authentication device 10A is used to authenticate the faces of multiple people M1, M2, and M3 passing through a gate G installed inside a building, but the system is not limited to this. For example, the authentication device 10A may be used in a vehicle license plate recognition system introduced in a parking lot or on a highway.

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

[0121] Subsequently, the authentication device 10A approximates the first feature vector to the second feature vector using the approximation unit 13, and calculates the similarity between the second feature vector and the fourth feature vector using the calculation unit 14, thereby enabling rapid authentication of whether or not the license plate is registered with 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 embodiment 2, the authentication device 10A performs authentication using an image of a person's face as the object, but it is not limited to this. For example, the authentication device 10A may perform authentication using an image of a person's body as the object. In this case, the generation unit 12 generates a first feature vector based on the image of the person's body. Alternatively, the authentication device 10A may perform authentication using the movement of a person's body as the object. In this case, the generation unit 12 generates a first feature vector based on a video showing the movement of a person's body.

[0123] In the authentication device 10 of Embodiment 1 described above, a plurality of third feature vectors corresponding to the faces of multiple other people for matching with the face image of user M are obtained from the server device 200, but the device is not limited to this. For example, data relating to the plurality of third feature vectors may be obtained via a storage medium such as USB (Universal Serial Bus).

[0124] <Examples of implementation using software> The functions of the authentication devices 10,10A (hereinafter referred to as "devices") that constitute the authentication system 1,1A are programs that cause computers to function as such devices, and each control block of such device (particularly the acquisition unit 11, the generation unit 12, the approximation unit 13, the calculation unit 14, and the authentication unit 15) can be realized by programs that cause computers 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., memory) as hardware for executing the program. By executing the program using this control device and storage device, the functions described in each of the embodiments are realized.

[0126] The above program may be recorded on one or more computer-readable recording media, not temporary ones. These recording media may or may not be provided by the above device. In the latter case, the program may be supplied to the above device via any wired or wireless transmission medium.

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

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

[0129] <Summary> This disclosure includes at least the following aspects: An authentication device according to Embodiment 1 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 trivalued vector; a calculation unit that calculates the 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 images of other plurality of objects for comparison with the specific part of the object using the approximation unit; and an authentication unit that authenticates the image of the specific part of the object based on the similarity calculated by the calculation unit.

[0130] According to the above configuration, the authentication device according to Embodiment 1 of this disclosure approximates the first feature vector to a second feature vector consisting of a ternary vector using an approximation unit, then calculates the similarity between the second feature vector and the fourth feature vector corresponding to the second feature vector using a calculation unit, and then performs authentication of an image of a specific part of the object using an authentication unit based on the similarity. As a result, the similarity can be calculated by the calculation unit at a faster speed than when approximation is not performed by the approximation unit, and the authentication unit can perform authentication of the object more quickly.

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

[0132] With the above configuration, the approximation unit approximates the first feature vector with a second feature vector consisting of a ternary vector having {-1, 0, +1} as each element, thereby improving the efficiency of the similarity calculation by the calculation unit.

[0133] In the authentication device according to aspect 3 of the present disclosure, in aspect 1 or 2 described above, the approximation unit sets the elements in the sequence obtained by sorting the absolute values ​​of each element of the first feature vector in ascending order as reference values, with elements whose absolute value is less than or equal to the reference value set to 0, elements whose absolute value is greater than the reference value and is positive set to +1, and elements whose absolute value is greater than the reference value and is negative set to -1, and the reference value is set such 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 with a second feature vector in which the number of elements that are either +1 or -1 is set to a predetermined number. This simplifies the calculation of similarity by the calculation unit, enabling the authentication unit to authenticate the target object at high speed.

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

[0136] With the above configuration, by using the second and fourth feature vectors approximated as ternary vectors by the approximation unit, the calculation of cosine similarity by the calculation unit can be simplified, and the similarity can be calculated at high speed.

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

[0138] With the above configuration, by using the second and fourth feature vectors approximated as ternary vectors by the approximation unit, the calculation of the Euclidean distance by the calculation unit can be simplified, and the similarity can be calculated at high speed.

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

[0140] With the above configuration, the calculation unit can quickly calculate the Euclidean distance by first converting the second and fourth feature vectors into binary data, and then performing XOR, OR, and AND operations.

[0141] The authentication device according to aspect 7 of the present disclosure further includes 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 with the approximation unit, in any of aspects 1 to 6 above, wherein the storage unit has a first storage area in which the plurality of third feature vectors and identification information of a user using the authentication device are stored, and a second storage area in which the plurality of fourth feature vectors are stored.

[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 memory area different from the first memory area where the third feature vector is stored, in the order in which they are stored in the second memory area. This allows the calculation unit to calculate the similarity as quickly as possible by making full use of the memory structure of the memory area and performing lookups. Since multiple fourth feature vectors are stored in the memory area of ​​the authentication device, the authentication unit can quickly authenticate the image of the target object without connecting the authentication device to an external server or the like.

[0143] In the authentication device according to aspect 8 of this disclosure, in any of aspects 1 to 7 above, the specific part of the object is a human face, and the authentication unit authenticates the human face. With the above configuration, security can be enhanced by performing authentication using an image of a human face by the authentication unit.

[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 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 trivalued vector; a calculation step of calculating the similarity 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 images of the specific part of other objects for comparison with the specific part of the object; and an authentication step of authenticating the image of the specific part of the object based on the similarity calculated in the calculation step.

[0145] According to the above configuration, the authentication method according to aspect 9 of this disclosure approximates the first feature vector to a second feature vector consisting of a ternary vector in the approximation step, calculates the similarity between the second feature vector and the fourth feature vector corresponding to the second feature vector in the calculation step, and authenticates the image of a specific part of the object based on the similarity in the authentication step. As a result, the similarity can be calculated more efficiently and quickly than when the first feature vector is not approximated, and the authentication of the object can be performed quickly.

[0146] The program according to aspect 10 of this disclosure is a program for causing a computer to function as an authentication device according to aspect 1 above, 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, the same effects as the authentication device according to aspect 1 above can be obtained.

[0147] (Additional notes) This disclosure is not limited to the embodiments described above, 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 this disclosure.

[0148] This disclosure demonstrates that by utilizing AI (Artificial Intelligence), it will be possible to perform high-speed authentication of human faces and other features, forming an innovative technological foundation for the telecommunications business and contributing to the achievement of Sustainable Development Goal 9, "Build resilient infrastructure, promote inclusive and sustainable industrialization and foster innovation." [Explanation of Symbols]

[0149] 1. 1A Authentication System 10, 10A Authentication Device 11 Acquisition Department 12 Generation part 13 Approximation part 14 Calculation Section 15. Authentication Department 16 Memory section 17 Output Control Unit 18 Communications Department 20, 20A, 20B Cameras 100 communication terminals 100A Access Control System 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 part of the object, A generation unit generates a first feature vector based on the image of the specific part of the object detected by the acquisition unit, An approximation unit approximates the first feature vector generated by the generation unit to a second feature vector consisting of a trivalued vector, A calculation unit calculates the 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 images of a plurality of other objects for matching with the specified part of the object, using the approximation unit. An authentication unit that authenticates the image of the specific part of the object based on the similarity calculated by the calculation unit, An authentication device equipped with the following features.

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

3. The aforementioned approximation part is, In a sequence obtained by sorting the elements of the first feature vector in ascending order based on their absolute values, the elements in the order determined from the smallest absolute value of each element are set as the reference value, elements whose absolute value is less than or equal to the reference value are set to 0, elements whose absolute value is greater than the reference value and is positive are set to +1, and elements whose absolute value is greater than the reference value and is negative are set to -1. The authentication device according to claim 2, wherein the reference value is set such that the number of elements in the second feature vector, excluding 0, is a predetermined number.

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

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

6. The calculation unit described above, Each element of the second feature vector is separated into a first bit sequence containing only positive values ​​and a second bit sequence containing only negative values. Each element of the aforementioned fourth feature vector is separated into a third bit sequence containing only positive values ​​and a fourth bit sequence containing only negative values. The fifth bit sequence is calculated by performing an XOR operation between the first bit sequence and the third bit sequence. The sixth bit string is calculated by performing an XOR operation between the second bit string and the fourth bit string. The authentication device according to claim 5, wherein the Euclidean distance is calculated using the results of OR and AND operations performed on the fifth bit sequence and the sixth bit sequence.

7. The system further includes 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 using the approximation unit, 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 using the authentication device are stored, and a second storage area in which the plurality of fourth feature vectors are stored.

8. The aforementioned specific part of the object is a human face. The authentication device according to any one of claims 1 to 7, wherein the authentication unit performs authentication of the person's face.

9. An acquisition step of acquiring an image of the object and detecting a specific part of the object, A generation step in which a first feature vector is generated based on the image of the specific part of the object detected in the acquisition step, An approximation step in which the first feature vector generated in the generation step is approximated by a second feature vector consisting of a trivalued vector, A calculation step of calculating the similarity 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 images of the specific parts of other objects for matching with the specific part of the object, An authentication step in which an image of the specific part of the object is authenticated based on the similarity calculated in the calculation step, Authentication methods including those mentioned above.

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