WO2020117006A1 - Ai 기반의 안면인식시스템 - Google Patents

Ai 기반의 안면인식시스템 Download PDF

Info

Publication number
WO2020117006A1
WO2020117006A1 PCT/KR2019/017218 KR2019017218W WO2020117006A1 WO 2020117006 A1 WO2020117006 A1 WO 2020117006A1 KR 2019017218 W KR2019017218 W KR 2019017218W WO 2020117006 A1 WO2020117006 A1 WO 2020117006A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
image
face
feature vector
feature
Prior art date
Application number
PCT/KR2019/017218
Other languages
English (en)
French (fr)
Inventor
현승훈
이기훈
김수상
백지현
박성찬
장창혁
석재호
김채홍
김영재
Original Assignee
주식회사 포스코아이씨티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020180156799A external-priority patent/KR102161359B1/ko
Priority claimed from KR1020180168659A external-priority patent/KR102137328B1/ko
Priority claimed from KR1020180168667A external-priority patent/KR102184490B1/ko
Priority claimed from KR1020180168676A external-priority patent/KR102137329B1/ko
Priority claimed from KR1020180174200A external-priority patent/KR102184493B1/ko
Priority claimed from KR1020190159134A external-priority patent/KR102312152B1/ko
Priority claimed from KR1020190159147A external-priority patent/KR102294574B1/ko
Priority claimed from KR1020190159130A external-priority patent/KR102308122B1/ko
Application filed by 주식회사 포스코아이씨티 filed Critical 주식회사 포스코아이씨티
Publication of WO2020117006A1 publication Critical patent/WO2020117006A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features

Definitions

  • the present invention relates to a face recognition technology.
  • Face Recognition Face Recognition technology is one of the fields of biometrics (Biometrics) refers to a technology that automatically identifies and authenticates a person using unique feature information contained in each person's face. It is widely used in various fields in recent years because of its superior security compared to the authentication method of.
  • a general facial recognition system determines whether the access gate is opened by transmitting a face image photographed from a device installed at the access gate to the server, the server performs user authentication according to the face recognition and face recognition, and transmits the authentication result to the device. .
  • the general face recognition system has a problem in that, when authentication is performed with a picture including a face of a user registered in the system, it cannot be identified and thus can be approved for an illegal user.
  • the general facial recognition system compares an image of a user photographed on a device with a reference image of a pre-registered user when performing authentication for the user, calculates similarity between the images, and compares the similarity with a preset reference threshold. Compare and approve or reject the user.
  • the general facial recognition system sets the reference threshold to an arbitrary value, the user is judged as a registered user or an unregistered user and rejected, or there is a problem that the user may be judged as an unregistered user or a registered user and approved.
  • the general facial recognition system is a reference image registered in advance for registration, even if a registered user is registered according to a location where a device performing authentication is located, camera information of a corresponding device, or a change in time, etc. There is a problem that it may be judged to be different from the user image.
  • the present invention is to solve the above-mentioned problems, and by distributing the face recognition model generated by the face recognition server to each edge device, to provide an AI-based face recognition system capable of performing face recognition and authentication processing on the edge device. Let that be the technical task.
  • Another object of the present invention is to provide an AI-based face recognition system capable of registering a user image of a user's face using a face registration agent installed on a user terminal.
  • Another technical problem of the present invention is to provide an AI-based face recognition system capable of aligning a face image based on a reference landmark using landmark coordinates of the face image.
  • Another object of the present invention is to provide an AI-based face recognition system capable of accurate face recognition without being dependent on a place or lighting.
  • another aspect of the present invention is to provide an AI-based facial recognition system capable of increasing face recognition accuracy by applying a feature vector extraction algorithm capable of extracting a feature vector that enables recognition of a feature of a face from an input face image. This is a technical task.
  • Another technical problem of the present invention is to provide an AI-based face recognition system capable of accurately recognizing a face without being dependent on a place or lighting by training a face recognition model so that errors generated during face recognition can be reduced.
  • the present invention is an AI that can be distributed to an edge device by encrypting an array file consisting of a plurality of feature vectors obtained from each user's face image and a key value of each user in the face recognition server in the face recognition server.
  • Another technical task is to provide a base facial recognition system.
  • Another object of the present invention is to provide an AI-based face recognition system capable of performing face recognition and authentication processing without storing a user's face image and personal information.
  • Another object of the present invention is to provide an AI-based face recognition system capable of easily updating an array file corresponding to a face image of a new user.
  • the present invention is characterized by providing an AI-based face recognition system capable of determining whether or not a real image of a person photographed with a two-dimensional face image.
  • the present invention is to provide an AI-based face recognition system capable of changing a reference threshold based on an authentication result in which an unregistered user is incorrectly approved as a registered user.
  • the present invention is to provide an AI-based face recognition system capable of changing a reference image previously registered in order to perform face recognition according to changes in the spatiotemporal environment.
  • the AI-based facial recognition system extracts a face image by inputting an input image of a user requested to register into a face recognition model, and extracts a plurality of face images from the extracted face image.
  • a facial recognition server including a face recognition unit generating a feature vector and an array file generating unit generating an array consisting of the plurality of feature vectors and user identification information for each user and merging the generated arrays to generate an array file.
  • the face recognition model a face image extraction unit for extracting the face image from the input image; And a feature vector extraction unit for extracting a feature vector from the face included in the face image when the face image is a real image of a person.
  • the face recognition model generated by the face recognition server is distributed to each edge device, face recognition and authentication processing is performed on the edge device, so even if the face recognition system is applied to a large number of users, the high performance and high cost It has the effect of reducing the cost of building a facial recognition system because the server is not required.
  • the edge device since face recognition and authentication processing is performed on the edge device by being distributed to each edge device, even if a server or network failure occurs, the face recognition service can be continuously provided, thereby improving service reliability. Since the face image photographed on the device is not transmitted to the server, the possibility that the face image is leaked to the outside is blocked in advance, thereby improving the security of personal information.
  • the present invention can register a user image photographing a user's face using a face registration agent installed on a user terminal, it is possible to easily register a user image.
  • the present invention can align the face images based on the reference landmark coordinates using the landmark coordinates of the face image, it is possible to provide a consistent face image without limiting the angle of the face image, thereby enabling accurate face recognition. It has the effect of being able to.
  • the present invention can not only enhance security by encrypting and distributing an array file consisting of a plurality of feature vectors obtained from each user's face image and a key value of each user in the face recognition server to an edge device. It has the effect of protecting personal information.
  • a feature vector extracting device based on a deep neural network, it is possible to accurately extract a feature vector representing a feature of a face, thereby enabling accurate face recognition without being dependent on a place or lighting.
  • a feature extraction algorithm capable of extracting a feature vector that enables recognition of a feature of a face from an input face image, 256 or more feature vectors can be extracted, thereby improving face recognition accuracy.
  • training of the deep neural network constituting the feature vector extraction apparatus can reduce errors generated when classifying face images belonging to different classes, thereby maximizing the accuracy of face recognition.
  • the edge device since only the face recognition model and the array file for face recognition are stored in the edge device, and the user's face image or personal information is not stored, there is no fear of leaking the user's personal information even if the edge device is hacked. It has the effect of strengthening security.
  • the present invention has an effect that it is easy to add a new user because only the array file corresponding to the face image of the new user needs to be updated on the edge device without changing the hardware or the face recognition model when adding a new user.
  • the reference threshold can be changed based on the authentication result of erroneously authorizing an unregistered user as a registered user, it is possible to not only set the optimized threshold, but also improve security reliability.
  • the reference image registered in advance to perform facial recognition can be changed according to changes in the spatio-temporal environment, the aging of the user according to the change of time or the resolution of the captured image of the user according to the characteristics of the place There is an effect that the authentication accuracy is improved because the user can be authenticated without limitation.
  • FIG. 1 is a block diagram schematically showing the configuration of an AI-based facial recognition system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram schematically showing the configuration of a facial recognition server according to an embodiment of the present invention.
  • 3A is a diagram exemplarily showing a method of obtaining a plurality of user images having different resolutions by downsampling the user image.
  • 3B is a diagram illustrating landmark coordinates in a face image by way of example.
  • 4A to 4D are block diagrams showing a configuration of a face image extraction unit constituting a face recognition model.
  • FIG. 5 is a view showing the configuration of the real image determination unit according to an embodiment of the present invention.
  • FIG. 6 is a view showing the configuration of the real feature vector extraction unit 310 according to the present invention.
  • RGB feature vector extractor according to an embodiment of the present invention extracts the first to fourth sub RGB feature vectors using the first to fourth neural network networks, and generates RGB feature vectors therefrom. to be.
  • FIG. 8 is a diagram illustrating that a depth feature vector extraction unit and a reflection feature vector extraction unit extract depth feature vectors and reflection feature vectors according to an embodiment of the present invention.
  • FIG. 9 is a view showing the configuration of a feature vector fusion unit according to an embodiment of the present invention.
  • FIG. 10 is a view showing an example of a real image and a fake image.
  • FIG. 11 is a diagram illustrating an example of a first depth image extracted from a real image and a second depth image extracted from a fake image.
  • FIG. 12 is a diagram illustrating an example of a first reflection image extracted from a real image and a second reflection image extracted from a fake image.
  • FIG. 13 is a block diagram schematically showing the configuration of a feature vector extraction unit according to the present invention.
  • FIG. 14 is a block diagram showing the configuration of the first unit included in the face image processing unit.
  • 15 is a block diagram showing the configuration of a second unit included in the face image processing unit.
  • 16 is a view showing the configuration of the edge device management unit 210 according to an embodiment of the present invention.
  • 17A is a view showing a captured image of a target user photographed in a first place.
  • 17B is a diagram showing a captured image of a target user photographed at a second location.
  • FIG. 18 is a diagram showing that an optimal reference image is changed according to a time interval T1 per day and a time interval T2 per week, month, quarter, or year.
  • 19A is a diagram illustrating an example in which the reference image changing unit changes a reference image into an optimal reference image for each place.
  • 19B is a diagram illustrating an example in which the reference image changing unit changes the reference image to an optimal reference image for each location and access time.
  • 20 is a diagram showing an example in which the general face recognition model does not recognize the same person.
  • 21 is a diagram illustrating an example in which overlapping areas are generated when a learning image is placed in a vector space according to a distance between learning images.
  • FIG. 22 is a diagram showing an example in which a learning image is arranged on a two-dimensional angular plane.
  • FIG. 23 is a view exemplarily showing that the learning images are separated by providing a margin angle between the learning images on a 2D angular plane.
  • 24 is a diagram showing an example in which the same images photographed in different environments are accurately classified when error reduction is performed by the error reduction unit.
  • 25 is a block diagram schematically showing the configuration of an edge device according to a first embodiment of the present invention.
  • 26 is a diagram exemplarily showing a method of authenticating a target user by an authentication unit.
  • FIG. 27 is a block diagram schematically showing the configuration of an edge device according to a second embodiment of the present invention.
  • 28A and 28B are diagrams showing an example of a depth image generated by the second photographing unit.
  • the term “at least one” includes all possible combinations from one or more related items.
  • the meaning of “at least one of the first item, the second item, and the third item” means 2 of the first item, the second item, and the third item, as well as each of the first item, the second item, and the third item. Any combination of items that can be presented from more than one dog.
  • an AI-based face recognition system (1, hereinafter referred to as a'face recognition system') according to an embodiment of the present invention includes a face recognition server 2 and a plurality of edge devices 3 Includes
  • the facial recognition server 2 generates a face recognition model, and uses the generated face recognition model to generate an array file for authentication of the target user using a feature vector extracted from the user's face information input from the user terminal 4 Create (Array File).
  • the facial recognition server 2 transmits the generated array file to the edge device 3 so that the edge device 3 can authenticate the target user.
  • the facial recognition server 2 according to the present invention, as shown in Figure 2, the user registration unit 10, the input image generation unit 20, the face recognition unit 30, the face recognition model 40, It includes an array file generating unit 45, an edge device management unit 50, an access permission information management unit 60, an interface unit 65, and a face recognition model training unit 70.
  • the user registration unit 10 receives one or more user images from the user terminal 4 of the user who wishes to register.
  • the user registration unit 10 checks whether the user is the same person as the user image, and if it is determined that the user is the same person, obtains the access permission information given to the user and the user database 12 together with the user image To register.
  • the user image refers to a reference image that is compared with the target user's captured image.
  • the user registration unit 10 may receive identification information of the user from the user terminal 4 together with the user image.
  • the user registration unit 10 may receive the user's identification information, such as the user's ID, name, phone number, or user's employee number, along with the corresponding user image.
  • the user registration unit 10 may register the user's identification information and the user's access permission information in the user database 12 together with the corresponding user image.
  • the user registration unit 10 may induce different user images to be input.
  • the user registration unit 10 may induce a user to input a user image photographed in another environment or a user image photographed in different illuminance through the user terminal 4.
  • the user registration unit 10 can improve the accuracy of face recognition by receiving a plurality of user images photographed in different environments or different illuminances from a single user.
  • the input image generation unit 20 generates an input image to be used for face recognition from the user image input by the user registration unit 10. Specifically, the input image generation unit 20 generates a plurality of user images having different resolutions from one user image by downsampling or upsampling one user image to a predetermined step. For example, the input image generation unit 20 may generate a plurality of user images 21a to 21n having different resolutions by downsampling one user image 21 as illustrated in FIG. 3A.
  • the input image generation unit 20 generates a downsampled user image by applying a Gaussian Pyramid to the user image, or upsampled by applying a Laplacian Pyramid to the user image. You can create user images.
  • the input image generation unit 20 displays a window 23 of a predetermined pixel size on the user image 21 for each user image, as shown in FIG. 3B.
  • a plurality of images obtained while moving is generated as an input image.
  • the input image generation unit 20 inputs the generated plurality of input images to the face recognition unit 30.
  • the face recognition unit 30 may include a face including a face region by inputting a plurality of input images generated by the input image generation unit 20 to the face recognition model 40 trained by the face recognition model training unit 70. Acquire an image, determine whether the acquired face image is a real image of a person, and extract a feature vector from the acquired face image.
  • the face recognition model 40 includes a face image extraction unit 75 for extracting a face image from an input image, a real image determination unit 80 for determining whether a real image is from the extracted face image, and a face image. It may include a feature vector extraction unit 85 for extracting the feature vector.
  • the face recognition unit 30 includes a face image extraction unit 75 included in the face recognition model 40, a real image determination unit 80, and a real feature vector extraction unit 85. Details of extracting the face image and the feature vector from the input image will be described in detail using.
  • FIG. 4A to 4D are block diagrams showing a configuration of a face image extraction unit constituting a face recognition model.
  • the face image extraction unit 75 according to the present invention is configured based on a convolutional neural network (CNN) and extracts a face image including a face region from an input image.
  • CNN convolutional neural network
  • the first face detection unit 90 extracts a feature of each input image by applying a convolution operation to the input image input by the face recognition unit 30, and based on the extracted feature, a face region on the input image 1 Extract it gradually.
  • the first face detection unit 90 includes n convolution calculation units 110a to 110c, a sampling unit 115, first and second dimensional reduction units 120a and 120b, as shown in FIG. 4B, and It includes a first probability value calculation unit 125.
  • the first face detection unit 90 may include three convolution calculation units 110a to 110c.
  • the first face detection unit 90 includes three convolution calculation units 110a to 110c, but this is only an example, and the first face detection unit 90 is four or more. It may include a convolution operator or one or two convolution operators.
  • Each of the first to third convolution calculation units 110a to 110c generates a feature map by applying a convolution filter to the input image, and reflects nonlinear characteristics to the feature map by applying an activation function to the generated feature map.
  • the convolution filters applied to the first to third convolution operation units 110a to 110c may be different filters from each other.
  • the activation function used in the first to third convolution operation units 110a to 110c outputs a positive value among pixel values of the feature map and a negative value is reduced by a predetermined size. It can be an activation function to output.
  • the activation function means a function that combines weighted values of a plurality of input information and outputs a completed result.
  • the sampling unit 115 extracts feature values from the feature map by applying a sampling filter to the feature map output from the first convolution operation unit 110a.
  • the sampling unit 115 may extract the maximum value among the pixel values included in the region corresponding to the sampling filter on the feature map as the feature value of the feature map.
  • the sampling unit 115 may be implemented as a Max Pooling layer, and the dimension of the feature map is reduced through the Max pooling layer. The sampling unit 115 inputs the feature map with reduced dimensions to the second convolution operation unit 110b.
  • the first dimension reduction unit 120a reduces the dimension of the feature map output from the third convolution calculation unit 110c by applying the first dimension reduction filter to the feature map output from the third convolution calculation unit 110c.
  • the first dimension reduction filter may be set as a filter capable of reducing the feature map in two dimensions.
  • the first probability value calculating unit 125 applies a predetermined classification function to the 2D output data output by the first dimensional reduction unit 120a to determine a first probability value of whether a face region is included in the corresponding input image. To calculate. In one embodiment, when the calculated first probability value is greater than or equal to the first threshold, the first probability value calculating unit 125 may determine that the face region is included in the input image.
  • the second dimension reduction unit 120b applies a second dimension reduction filter to the feature map output from the third convolution calculation unit 110c when the first probability value calculated by the first probability value calculation unit 125 is greater than or equal to the first threshold value. By doing so, the dimension of the feature map output from the third convolution operation unit 110c is reduced.
  • the second dimension reduction filter may be set as a filter capable of reducing the feature map to four dimensions, and the second dimension reduction unit 120b may display four values output in four dimensions on the corresponding input image. It is determined by the coordinates of the face area.
  • the coordinates of the face region are defined as the coordinates of the upper left vertex and the lower right vertex when the area containing the face is displayed as a rectangular bounding box, or the coordinates of the upper right vertex and the lower left vertex. It can be defined as the coordinates of.
  • the second face detection unit 95 receives input images determined to include a face area by the first face detection unit 90 and coordinates of a face area on the input images, and on the input images
  • the feature of the first sub-input images is extracted by applying a convolution operation to the first sub-input images corresponding to the coordinates of the face region, and the face region is secondarily extracted on the first sub-input images based on the extracted feature. do.
  • the second face detection unit 95 includes n convolutional calculation units 130a to 130c, second to third sampling units 135a and 135b, and a first dimensional increase unit 140 ), the third and fourth dimensional reduction units 145a and 145b, and the second probability value calculating unit 150.
  • the second face detection unit 95 may include three convolution calculation units 130a to 130c.
  • the second face detection unit 95 includes three convolution calculation units 130a to 130c, but this is only one example, and the second face detection unit 95 is the first face
  • the number of convolution calculation units 110a to 312c included in the detection unit 320 may be included.
  • Each of the fourth to sixth convolution operation units 130a to 312c generates a feature map by applying a convolution filter to the input image, and applies non-linear characteristics to the feature map by applying an activation function to the generated feature map.
  • the activation functions used by the fourth to sixth convolution calculation units 130a to 312c output positive values of pixel values of the feature map and negative values of values reduced by a predetermined size. It may be an activation function.
  • the second sampling unit 135a extracts feature values from the feature map by applying a sampling filter to the feature map output from the fourth convolution operator 130a, and the third sampling unit 135b is the fifth convolution operator 130b ) To extract the feature values from the feature map by applying a sampling filter to the feature map.
  • the second and third sampling units 135a and 135b may extract a maximum value among pixel values included in a region corresponding to a sampling filter on each feature map as a feature value of the feature map.
  • the second and third sampling units 135a and 135b may be implemented as a maxpooling layer, and the dimension of each feature map is reduced through the maxpooling layer.
  • the first dimension increasing unit 140 increases the dimension of the feature map using a plurality of nodes so that the feature map output from the sixth convolution operation unit 130c has a dimension of a predetermined size.
  • the first dimensional increase unit 140 may increase the dimension such that the feature map output from the sixth convolution operation unit 130c has a size of 128*128 or a size of 256*256.
  • the first dimension increasing unit 140 reflects the non-linear characteristic in the feature map having increased dimension by applying an activation function to the feature map having increased dimension.
  • the first dimension increasing unit 140 applies the activation function that outputs a positive value of the pixel values of the feature map as it is and a negative value reduced by a predetermined size. Can reflect nonlinear characteristics.
  • the third dimension reduction unit 145a reduces the dimension of the feature map output from the first dimension increase unit 140 by applying a third dimension reduction filter to the feature map output from the first dimension increase unit 140.
  • the third dimension reduction filter may be set as a filter capable of reducing the feature map in two dimensions.
  • the second probability value calculation unit 329 applies a predetermined classification function to the 2D output data output by the 3D reduction unit 145a to determine whether a face region is included in the corresponding first sub-input image. 2 Calculate the probability value. In one embodiment, if the calculated second probability value is greater than or equal to the second threshold value greater than the first threshold value, the second probability value calculating unit 150 may determine that the face region is included in the corresponding first sub-input image.
  • the fourth dimension reduction unit 145b applies a fourth dimension reduction filter to the feature map output from the first dimension increase unit 140.
  • the fourth dimension reduction filter may be set as a filter capable of reducing the feature map to four dimensions, and the fourth dimension reduction unit 145b may apply four values output in four dimensions to the corresponding first sub Determined by the coordinates of the face region on the input image.
  • the coordinates of the face area are defined as the coordinates of the upper left corner and the lower right corner when the area containing the face is displayed as a rectangular bounding box, or the coordinates of the upper right corner and the lower left corner. Can be.
  • the third face detection unit 100 receives first sub-input images determined by the second face detection unit 95 to include the face region and coordinates of the face region on the corresponding first sub-input images. On the first sub-input images, a feature of the second sub-input images is extracted by applying a convolution operation to the second sub-input images corresponding to the coordinates of the face region, and the second sub-input image is based on the extracted feature. Face regions are extracted tertiarily on the field.
  • the third face detection unit 100 includes n+1 convolution calculation units 155a to 155d, a fourth to sixth sampling units 160a to 160c, and a second dimensional increase unit as shown in FIG. 4D. 165), a fifth to sixth dimension reduction unit (170a ⁇ 170c), and a third probability value calculation unit (175).
  • the third face detection unit 100 may include four convolution calculation units 155a to 155d.
  • the third face detection unit 100 includes four convolution calculation units 155a to 155d, but this is only an example, and the third face detection unit 100 is a second face If the number of convolution calculation units included in the detection unit 95 is greater than or equal to the number of convolution calculation units 130a to 322c, the number may not be limited.
  • Each of the seventh to tenth convolution calculation units 155a to 155d applies a convolution filter to the input image to generate a feature map, and applies an activation function to the generated feature map to reflect the nonlinear characteristics in the feature map.
  • the activation functions used by the seventh to tenth convolution calculation units 155a to 155d output positive values of pixel values of the feature map and negative values of values reduced by a predetermined size. It may be an activation function.
  • the fourth sampling unit 160a extracts feature values from the feature map by applying a sampling filter to the feature map output from the seventh convolution operator 155a, and the fifth sampling unit 160b is the eighth convolution operator 155b )
  • the sixth sampling unit 160c applies the sampling filter to the feature map output from the ninth convolution operation unit 155c to apply the feature.
  • Feature values are extracted from the map.
  • the fourth to sixth sampling units 160a to 160c may extract a maximum value among pixel values included in a region corresponding to a sampling filter on each feature map as a feature value of the feature map.
  • the fourth to sixth sampling units 160a to 160c may be implemented as a maxpooling layer, and the dimension of each feature map is reduced through the maxpooling layer.
  • the second dimension increase unit 165 increases the dimension of the feature map by using a plurality of nodes so that the feature map output from the tenth convolution operation unit 155d has a dimension of a predetermined size.
  • the second dimensional increase unit 165 may increase the dimension such that the feature map output from the tenth convolution operation unit 155d has a size of 128*128 or a size of 256*256.
  • the second dimension increasing unit 165 reflects the non-linear characteristic in the feature map having increased dimension by applying an activation function to the feature map having increased dimension.
  • the second dimension increasing unit 165 applies a feature map by applying an activation function that outputs a positive value among pixel values of the feature map as it is and a negative value reduced by a predetermined size. Can reflect nonlinear characteristics.
  • the fifth dimension reduction unit 170a reduces the dimension of the feature map output from the second dimension increase unit 165 by applying a fifth dimension reduction filter to the feature map output from the second dimension increase unit 165.
  • the fifth dimension reduction filter may be set as a filter capable of reducing the feature map in two dimensions.
  • the third probability value calculating unit 175 applies a predetermined classification function to the 2D output data output by the fifth dimensional reduction unit 170a to determine whether a face region is included in the second sub-input image. 3 Calculate the probability value. In one embodiment, if the calculated third probability value is greater than or equal to the third threshold value greater than the second threshold value, the third probability value calculating unit 175 determines that the face region is included in the corresponding second sub-input image.
  • the sixth dimension reduction unit 170b applies a sixth dimension reduction filter to the feature map output from the second dimension increase unit 165.
  • the sixth dimension reduction filter may be set as a filter capable of reducing the feature map to four dimensions, and the sixth dimension reduction unit 170b may apply four values output in four dimensions to the corresponding second sub It is determined by the coordinates of the face area on the input image. At this time, the coordinates of the face region are defined as the coordinates of the upper left corner and the lower right corner when the area containing the face is displayed as a rectangular bounding box, or the coordinates of the upper right corner and the lower left corner. Can be.
  • the sixth dimensional reduction unit 170b extracts the face image on the second sub-input image determined to include the face region by using the calculated face region coordinates.
  • the seventh dimension reduction unit 170c applies a seventh dimension reduction filter to the feature map output from the second dimension increase unit 165.
  • the seventh dimension reduction filter may be set as a filter capable of reducing the feature map to ten dimensions, and the seventh dimension reduction unit 170c may apply ten values output in ten dimensions to the corresponding second sub Determined by landmark coordinates on the input image.
  • the landmark coordinates are the coordinates of the two eyes on the second sub-input image 171 as shown in FIG.
  • 3C (172a, 172b), the coordinates of the nose 173, and the coordinates of the two mouths 174a, 174b ), and the coordinates of the two mouths 174a and 174b mean the coordinates 174a for the left tail of the mouth and the coordinates 174b for the right tail of the mouth.
  • the face image extraction unit 75 is implemented as the first to third face detection units 90 to 100, and the first face detection unit 90 is applied to the second face detection unit 95. It is composed of a network of shallow depths, and the second face detection unit 95 is composed of a network of shallow depths compared to the third face detection unit 100, so that the face image extraction unit 75 is entirely shallow-to -Deep structure to be formed in stages. Through this, it is possible to improve the accuracy of face image extraction and at the same time reduce the complexity, thereby gaining a benefit in terms of face recognition speed.
  • the face image alignment unit 105 aligns the face image using the landmark coordinates output from the third face detection unit 100. Specifically, the face image alignment unit 105 aligns the face image by performing at least one of rotation, translation, and enlargement and reduction on the face image using landmark coordinates of the extracted face image.
  • the reason for aligning the face images using the face image alignment unit 105 is the face recognition performance by giving consistency to the face image to be provided as input to the real image determination unit 80 and the feature vector extraction unit 85. It is to improve.
  • the face image alignment unit 105 is configured to extract the face image extracted by the third face detection unit 100 from the face image used by the real image determination unit 80 and the feature vector extraction unit 85. By resizing with the same resolution, and moving the landmark coordinates calculated by the third face detection unit 100 based on the reference landmark coordinates for the face image of the resolution used by the feature vector extraction unit 85 Face images can be rotated, translated, enlarged or reduced.
  • the real image determination unit 80 determines whether the face image extracted from the face image extraction unit 75 is a real image of a person. Specifically, the real image determination unit 80 uses the neural network to generate RGB feature vectors expressing the RGB of the face image from the face image of the target user, depth feature vectors expressing the depth of the face image, and light reflection of the face image. The reflected feature vectors to be expressed are extracted, and it is determined whether the face image is a real image using each extracted feature vector.
  • the reason that the real image determination unit 80 according to the present invention determines whether the real image is a face image extracted by the face image extraction unit 75 is an overload generated by unnecessary information by minimizing information about the surrounding environment. This is to prevent overfitting and deterioration in generalization performance.
  • FIG. 5 is a view showing the configuration of the real image determination unit 80 according to an embodiment of the present invention.
  • the real image determination unit 80 includes a real feature vector extraction unit 200, a feature vector fusion unit 201, and a determination unit 202.
  • the real feature vector extracting unit 200 expresses the depth feature vector expressing the depth of the face image using a neural network to determine whether the face image is a real image from the target user's face image, and expresses light reflection of the face image An RGB feature vector representing at least one of the reflection feature vectors and the RGB of the face image is extracted.
  • FIG. 6 is a view showing the configuration of the real feature vector extraction unit 200 according to the present invention.
  • the real feature vector extraction unit 200 includes an RGB feature vector extraction unit 210, a depth feature vector extraction unit 215, and a reflection feature vector extraction unit 220.
  • the RGB feature vector extraction unit 210 extracts an RGB feature vector from the face image using an RGB neural network.
  • the RGB neural network is trained as a 2D real image of a person and a 2D fake image of a photo.
  • the RGB feature vector extractor 210 includes a first sub RGB feature vector extractor 225, a second sub RGB feature vector extractor 230, a third sub RGB feature vector extractor 235, and a fourth It includes a sub-RGB feature vector extraction unit 240, and an RGB feature vector generation unit 245.
  • the RGB feature vector extraction unit 210 has been described as including four sub RGB feature vector extraction units 225-240, but this is for convenience of explanation, and the RGB feature vector extraction unit 210 includes three The following sub-RGB feature vector extraction unit or five or more sub-RGB feature vector extraction units may be included.
  • the first sub-RGB feature vector extraction unit 225 generates a feature map of the face image with the first RGB neural network network, and extracts the first sub-RGB feature vector from the face image based on the feature map.
  • the first sub RGB feature vector extraction unit 225 transfers the extracted first sub RGB feature vector to the second sub RGB feature vector extraction unit 230.
  • the first sub-RGB feature vector extraction unit 225 transmits the first sub-RGB feature vector to the depth feature vector extraction unit 215 and the reflection feature vector extraction unit 220.
  • the second sub RGB feature vector extraction unit 230 generates a feature map of the first sub RGB feature vector transmitted from the first sub RGB feature vector extraction unit 225 to the second sub RGB neural network network, and based on the feature map.
  • the second sub RGB feature vector is extracted from the first sub RGB feature vector.
  • the second sub RGB feature vector extraction unit 230 transfers the extracted second sub RGB feature vector to the third sub RGB feature vector extraction unit 230.
  • the second sub RGB feature vector extraction unit 230 delivers the second sub RGB feature vector to the depth feature vector extraction unit 215 and the reflection feature vector extraction unit 220.
  • the third sub RGB feature vector extraction unit 235 generates a feature map of the second RGB sub feature vector transmitted from the second sub RGB feature vector extraction unit 230 to the third sub RGB neural network network, and based on the feature map. A third sub RGB feature vector is extracted from the second sub RGB feature vector. The third sub RGB feature vector extractor 235 transfers the extracted third sub RGB feature vector to the fourth sub RGB feature vector extractor 240. Also, the third sub RGB feature vector extraction unit 235 transmits the third sub RGB feature vector to the depth feature vector extraction unit 215 and the reflection feature vector extraction unit 220.
  • the fourth sub RGB feature vector extractor 240 generates a feature map of the third sub RGB feature vector transmitted from the third sub RGB feature vector extractor 235 to the fourth sub RGB neural network network, and based on the feature map.
  • the fourth sub RGB feature vector is extracted from the third sub RGB feature vector.
  • the fourth sub RGB feature vector extraction unit 240 transfers the extracted fourth sub RGB feature vector to the RGB feature vector generation unit 245.
  • the sub-RGB feature vector extracting unit extracts n sub-RGB feature vectors using n RGB neural network networks.
  • the sub-RGB feature vector extraction unit generates feature maps of face images for each RGB neural network network, and extracts n sub-RGB feature vectors from the face images based on the feature map.
  • the reason why the sub-RGB feature vector extractor extracts n sub-RGB feature vectors according to the present invention is to generate an RGB feature vector, a depth feature vector, and a reflection feature vector as sub-RGB feature vectors having different sizes. This is because the expressive power and discriminative power of the corresponding feature vector become richer than that generated by the feature vector of the size.
  • the RGB feature vector generation unit 245 includes a first sub RGB feature vector, a second sub RGB feature vector, a third sub RGB feature vector, and a first to fourth sub RGB feature vector extraction unit 240.
  • the RGB feature vectors are generated by combining the 4 sub RGB feature vectors.
  • the RGB feature vector generation unit 245 generates an RGB feature vector by summing the first sub RGB feature vector, the second sub RGB feature vector, the third sub RGB feature vector, and the fourth sub RGB feature vector.
  • the reason why the RGB feature vector generation unit 245 according to the present invention generates the RGB feature vector by summing the first to fourth sub RGB feature vectors is whether a real image of the face image is a feature vector of one fixed size. This is because the performance is improved by determining whether the face image is a real image by using feature vectors of various sizes, compared to the judgment.
  • the first to fourth sub RGB feature vector extracting units 225, 230, 235, 240, and 245 may be configured using the first to fourth RGB neural network networks.
  • the extraction of the first to fourth sub-RGB feature vectors and generation of the RGB feature vectors therefrom will be described with reference to FIG. 7.
  • the RGB feature vector extractor 210 according to an embodiment of the present invention extracts the first to fourth sub RGB feature vectors using the first to fourth neural network networks, and generates RGB feature vectors therefrom. It is a drawing showing what to do.
  • the first RGB neural network network used by the first sub-RGB feature vector extraction unit 225 includes four RGB convolution calculation units 250a to 250d, and includes two RGB sampling units 255a and 255b. Can be.
  • Each of the first to fourth RGB convolution calculation units 250a to 250d generates a feature map by applying a convolution filter to the input face image, and reflects nonlinear characteristics to the feature map by applying an activation function to the generated feature map.
  • the convolution filters applied to the first to fourth RGB convolution operation units 250a to 250d may be different filters.
  • the first to fourth RGB convolution calculation units 250a to 250d may generate a feature map by applying a convolution filter having a 3*3 pixel size and a stride value of 1 to the face image. have. As described above, since the first to fourth RGB convolution calculation units 250a to 250d according to the present invention apply a convolution filter having a 3*3 pixel size and a stride value of 1 to the face image, the resolution of the feature map can be preserved high. It becomes possible.
  • the activation function used in the first to fourth convolutional calculation units 250a to 250d may be an activation function that outputs a positive value of pixel values of a feature map as it is and a negative value of 0. .
  • the activation function means a function that combines weighted values of a plurality of input information and outputs a completed result.
  • the first RGB sampling unit 255a extracts feature values from the feature map by applying a sampling filter to the feature map output from the second RGB convolution operation unit 250b.
  • the first RGB sampling unit 255a may extract the maximum value among the pixel values included in the region corresponding to the sampling filter on the feature map as the feature value of the feature map.
  • the first RGB sampling unit 255a may be implemented as a MAX pooling layer, and the dimension of the feature map is reduced through the max pooling layer.
  • the first RGB sampling unit 255a inputs the feature map having a reduced dimension to the third RGB convolution operation unit 250c.
  • the second RGB sampling unit 255b extracts a feature value of the first sub RGB feature vector (a-1) from the feature map by applying a sampling filter to the feature map output from the fourth RGB convolution operation unit 250d.
  • the pixel size of the first sub RGB feature vector (a-1) may be 128*128.
  • the second RGB sampling unit 255b may extract the maximum value among the pixel values included in the region corresponding to the sampling filter on the feature map as the feature value of the feature map.
  • the second RGB sampling unit 255b may be implemented as a MAX Pooling layer, and the dimension of the feature map is reduced through the Max pooling layer.
  • the second RGB sampling unit 255b inputs the feature map of the extracted first sub-RGB feature vector (a-1) into the second neural network. Also, the second RGB sampling unit 255b transfers the feature map of the first sub-RGB feature vector (a-1) to the RGB feature vector generator 245. Also, the second RGB sampling unit 255b transfers the feature map of the first sub RGB feature vector (a-1) to the depth feature vector extraction unit 215 and the reflection feature vector extraction unit 220.
  • the first to second RGB sampling units 255a and 255b have a pixel size of 2*2 and a sampling filter having a stride value of 2 is output from each RGB convolution operation unit 250b or 250d. Can be applied to maps.
  • the second RGB neural network network used by the second sub RGB feature vector extracting unit 230 may include three RGB convolution calculation units 250e to 250g, and one RGB sampling unit 255c. .
  • Each of the fifth to seventh RGB convolution operation units 250e to 250g generates a feature map by applying a convolution filter to the input feature map, and applies a non-linear characteristic to the feature map by applying an activation function to the generated feature map.
  • the convolution filters applied to the fifth to seventh RGB convolution operation units 250e to 250g may be different filters.
  • the fifth to seventh RGB convolution calculation units 250e to 250g may generate a feature map by applying a convolution filter having a 3*3 pixel size and a stride value of 1 to the face image. have.
  • the fifth to seventh RGB convolution calculation units 250a to 250d according to the present invention apply a convolution filter having a 3*3 pixel size and a stride value of 1 to the face image, the resolution of the feature map can be preserved high. It becomes possible.
  • the activation function used in the fifth to seventh convolution operation units 250e to 250g may be an activation function that outputs a positive value of pixel values of a feature map and outputs a negative value of 0. .
  • the activation function means a function that combines weighted values of a plurality of input information and outputs a completed result.
  • the third RGB sampling unit 255c extracts the feature values of the second sub RGB feature vector (a-2) from the feature map by applying a sampling filter to the feature map output from the seventh RGB convolution operation unit 250g.
  • the pixel size of the second sub RGB feature vector (a-2) may be 64*64.
  • the third RGB sampling unit 255c may extract the maximum value among the pixel values included in the region corresponding to the sampling filter on the feature map as the feature value of the feature map.
  • the third RGB sampling unit 255c may be implemented as a MAX Pooling layer, and the dimension of the feature map is reduced through the Max pooling layer.
  • the third RGB sampling unit 255c may apply a sampling filter having a pixel size of 2*2 and a stride value of 2 to a feature map output from the seventh RGB convolution operation unit 250g.
  • the third RGB sampling unit 255c inputs the feature map of the extracted second sub RGB feature vector (a-2) into the third RGB neural network. Also, the third RGB sampling unit 255c transfers the feature map of the second sub RGB feature vector (a-2) to the RGB feature vector generator 245. In addition, the third RGB sampling unit 255c transfers the feature map of the second sub RGB feature vector (a-2) to the depth feature vector extraction unit 215 and the reflection feature vector extraction unit 220.
  • the third RGB neural network network used by the third sub RGB feature vector extraction unit 235 may include three RGB convolution calculation units 250h to 250j, and one RGB sampling unit 255d. .
  • Each of the eighth to tenth RGB convolution operation units 250h to 250j generates a feature map by applying a convolution filter to the input feature map, and applies non-linear characteristics to the feature map by applying an activation function to the generated feature map.
  • the convolution filters applied to the eighth to tenth RGB convolution operation units 250h to 250j may be different filters from each other.
  • the eighth to tenth RGB convolution calculation units 250h to 250j may generate a feature map by applying a convolution filter having a 3*3 pixel size and a stride value of 1 to the face image.
  • a convolution filter having a 3*3 pixel size and a stride value of 1 to the face image since the 8th to 10th RGB convolution calculation units 250h to 250j according to the present invention apply a convolution filter having a 3*3 pixel size and a stride value of 1 to the face image, the resolution of the feature map can be preserved high. It becomes possible.
  • the activation function used in the eighth to tenth convolutional calculation units 250h to 250j may be an activation function that outputs a positive value of pixel values of a feature map and outputs a negative value of 0. .
  • the activation function means a function that combines weighted values of a plurality of input information and outputs a completed result.
  • the fourth RGB sampling unit 255d extracts a feature value of the third sub RGB feature vector (a-3) from the feature map by applying a sampling filter to the feature map output from the tenth RGB convolution operation unit 250j.
  • the pixel size of the third sub RGB feature vector (a-3) may be 32*32.
  • the fourth RGB sampling unit 255d may extract the maximum value among the pixel values included in the region corresponding to the sampling filter on the feature map as the feature value of the feature map.
  • the fourth RGB sampling unit 255d may be implemented as a MAX pooling layer, and the dimension of the feature map is reduced through the max pooling layer.
  • the fourth RGB sampling unit 255d may apply a sampling filter having a pixel size of 2*2 and a stride value of 2 to a feature map output from the tenth RGB convolution operation unit 250j.
  • the fourth RGB sampling unit 255d inputs the feature map of the extracted third sub RGB feature vector (a-3) into the fourth RGB neural network. Further, the fourth RGB sampling unit 255d transfers the feature map of the third sub RGB feature vector (a-3) to the RGB feature vector generator 245. In addition, the fourth RGB sampling unit 255d transmits the feature map of the third sub RGB feature vector (a-3) to the depth feature vector extraction unit 215 and the reflection feature vector extraction unit 220.
  • the fourth RGB neural network network used by the fourth sub RGB feature vector extracting unit 240 according to the present invention may include three RGB convolution calculation units 250k to 250m, and one RGB sampling unit 255e. .
  • Each of the eleventh to thirteenth RGB convolution operation units 250k to 250m generates a feature map by applying a convolution filter to the input feature map, and applies a non-linear characteristic to the feature map by applying an activation function to the generated feature map.
  • the convolution filters applied to the eleventh to thirteenth RGB convolution calculation units 250k to 250m may be different filters from each other.
  • the eleventh to thirteenth RGB convolution calculation units 250k to 250m may have a 3*3 pixel size and apply a convolution filter having a stride value of 1 to the face image to generate a feature map. have.
  • the 11th to 13th RGB convolution calculation units 250k to 250m according to the present invention apply a convolution filter having a 3*3 pixel size and a stride value of 1 to the face image, high resolution of the feature map can be preserved. It becomes possible.
  • the activation function used in the eleventh to thirteenth convolution operation units 250k to 250m may be an activation function that outputs a positive value of pixel values of a feature map and outputs a negative value of 0. .
  • the activation function means a function that combines weighted values of a plurality of input information and outputs a completed result.
  • the fifth RGB sampling unit 255e applies a sampling filter to the feature map output from the thirteenth RGB convolution operation unit 250m to extract feature values of the fourth sub RGB feature vector (a-4) from the feature map.
  • the pixel size of the fourth sub RGB feature vector (a-4) may be 16*16.
  • the fifth RGB sampling unit 255e may extract the maximum value among the pixel values included in the region corresponding to the sampling filter on the feature map as the feature value of the feature map.
  • the fifth RGB sampling unit 255e may be implemented as a MAX Pooling layer, and the dimension of the feature map is reduced through the Max pooling layer.
  • the fifth RGB sampling unit 255e may apply a sampling filter having a pixel size of 2*2 and a stride value of 2 to a feature map output from the 13th RGB convolution operation unit 250j.
  • the fifth RGB sampling unit 255e inputs the feature map of the extracted fourth sub RGB feature vector (a-4) to the RGB feature vector generator 245.
  • the RGB feature vector generation unit 245 is a feature map of the first sub RGB feature vector (a-1) input from the second RGB sampling unit 255b, and a second sub RGB input from the third RGB sampling unit 255c. Feature map of feature vector (a-2), feature map of third sub RGB feature vector (a-3) input from fourth RGB sampling portion (255d), and feature input from fifth RGB sampling portion (255e) The feature map of the 4 sub RGB feature vectors (a-4) is resized and summed to generate the RGB feature vectors (a). At this time, the RGB feature vector generation unit 245 may perform padding for size adjustment.
  • the RGB feature vector generating unit 245 transfers the generated RGB feature vector (a) to the feature vector fusion unit 205.
  • the depth feature vector extraction unit 215 is based on the first sub RGB feature vector, the second sub RGB feature vector, and the third sub RGB feature vector input from the RGB feature vector extraction unit 210. Create depth feature vector (b).
  • a depth value cannot exist in a fake image in which a picture containing another person's face is taken. Accordingly, the present invention can accurately determine the real image based on the depth feature vector extracted by the depth feature vector extraction unit 215.
  • the depth feature vector extraction unit 215 adjusts the sizes of the first sub RGB feature vector, the second sub RGB feature vector, and the third sub RGB feature vector, and sums them to generate an input feature vector.
  • the depth feature vector extraction unit 215 generates a feature map of the input feature vector generated using the depth neural network network and extracts the depth feature vector (b) based on the feature map. At this time, the depth feature vector extraction unit 215 may perform padding to adjust the size.
  • the depth neural network network is trained as a first depth image extracted from a real image of a person and a second depth image extracted from a fake image of a photo.
  • the depth feature vector extracting unit 215 according to the present invention will be described in more detail with reference to FIG. 8 for extracting the depth feature vector b using the depth neural network.
  • FIG 8 is a diagram illustrating that the depth feature vector extracting unit 215 and the reflection feature vector extracting unit 220 extract depth feature vectors and reflection feature vectors according to an embodiment of the present invention.
  • the depth neural network network used by the depth feature vector extraction unit 215 to extract the depth feature vector includes three depth convolution calculation units 260a to 260c and one depth sampling unit 265a. .
  • the fourth depth convolution operation unit 260d generates a first depth image and a second depth image from the real image and the fake image for learning. Accordingly, the depth image may be separated from the face image included in the real image or the fake image.
  • the depth image means an image expressing distance in contrast. For example, the depth image means a closer distance from the camera as it gets brighter, and a distance from the camera as it gets darker.
  • Each of the first to third depth convolution calculation units 260a to 260c applies a convolution filter to the summed feature maps of the first to third sub RGB feature vectors (a-1, a-2, a-3) And apply the activation function to the generated feature map to reflect the nonlinear characteristics in the feature map.
  • the convolution filters applied to the first to third depth convolution calculation units 260a to 260c may be different filters.
  • the feature map output from the third depth convolution operation unit 260c is transferred to the feature vector fusion unit 205 as a feature map of the depth feature vector b, and may also be transmitted to the fourth depth convolution operation unit 260d.
  • the pixel size of the depth feature vector (b) may be 32*32.
  • the fourth depth convolution operation unit 260d generates a feature map by applying a convolution filter to the feature map of the delivered depth feature vector (b), and reflects nonlinear characteristics in the feature map by applying an activation function to the generated feature map do.
  • the fourth depth convolution operation unit 260d outputs a first depth image from the real image and a second depth image from the fake image. This will be used for deep neural network learning.
  • the first to third depth convolution calculation units 260a to 260c have a 3*3 pixel size and a convolution filter having a stride value of 1 to a first to third sub RGB feature vector (a Feature maps can be generated by applying to feature maps of -1, a-2, a-3).
  • a Feature maps can be generated by applying to feature maps of -1, a-2, a-3.
  • the first to third depth convolution calculation units 260a to 260c according to the present invention apply a convolution filter having a 3*3 pixel size and a stride value of 1, the resolution of the feature map can be preserved high. .
  • the activation function used in the first to third depth convolution calculation units 260a to 260c may be an activation function that outputs a positive value of pixel values of a feature map as it is and a negative value of 0. have.
  • the activation function means a function that combines weighted values of a plurality of input information and outputs a completed result.
  • the first depth sampling unit 265a extracts feature values from the feature map by applying a sampling filter to the feature map output from the second depth convolution operation unit 260b.
  • the first depth sampling unit 265a may extract the maximum value among the pixel values included in the region corresponding to the sampling filter on the feature map as the feature value of the feature map.
  • the first depth sampling unit 265a may be implemented as a MAX pooling layer, and the dimension of the feature map is reduced through the max pooling layer.
  • the first depth sampling unit 265a may apply a sampling filter having a pixel size of 2*2 and a stride value of 2 to a feature map output from the second depth convolution operation unit 260b.
  • the first depth sampling unit 265a inputs the feature values of the extracted feature map to the third depth convolution operation unit 260c.
  • the reflection feature vector extraction unit 220 is based on the first sub RGB feature vector, the second sub RGB feature vector, and the third sub RGB feature vector input from the RGB feature vector extraction unit 210. Generate a reflection feature vector (c).
  • the reason for extracting the reflection feature vector from the reflection feature vector extraction unit 220 is that when a person's face is photographed with a camera, there is no light reflection, but when an image of another person is captured, light reflection occurs. to be.
  • the present invention has an effect of improving the accuracy of face recognition by determining whether the face image is a real image based on the reflection feature vector.
  • the reflection feature vector extracting unit 220 adjusts the sizes of the first sub RGB feature vector, the second sub RGB feature vector, and the third sub RGB feature vector and sums them to generate an input feature vector.
  • the reflection feature vector extraction unit 220 generates a feature map of the input feature vector summed into the reflection neural network, and extracts the reflection feature vector c based on the feature map. At this time, the reflection feature vector extraction unit 220 may perform padding to adjust the size.
  • the reflex neural network network is trained as a first reflection image extracted from a real image of a person and a second reflection image extracted from a fake image of a picture.
  • the reflection feature vector extraction unit 220 according to the present invention will be described in more detail with reference to FIG. 8 for extracting the reflection feature vector c using the reflection neural network.
  • the reflection neural network network used by the reflection feature vector extraction unit 220 to extract the reflection feature vector includes three reflection convolution calculation units 270a to 270c and one reflection sampling unit 275a.
  • the fourth reflection convolution operation unit 270d generates first and second reflection images from the real image and the fake image for learning. Accordingly, the reflected image may be separated from the real image and the fake image.
  • Each of the first to third reflection convolution calculation units 270a to 270c applies a convolution filter to the added feature maps of the first to third sub RGB feature vectors (a-1, a-2, a-3) And apply the activation function to the generated feature map to reflect the nonlinear characteristics in the feature map.
  • the convolution filters applied to the first to third reflection convolution calculation units 270a to 270c may be different filters.
  • the feature map output from the third reflection convolution operation unit 270c is transferred to the feature vector fusion unit 205 as a feature map of the reflection feature vector c, and may also be transmitted to the fourth reflection convolution operation unit 270d.
  • the pixel size of the reflection feature vector (c) may be 32*32.
  • the fourth reflection convolution operation unit 270d generates a feature map by applying a convolution filter to the feature map of the transmitted reflection feature vector (c), and applies non-linear characteristics to the feature map by applying an activation function to the generated feature map do.
  • the fourth reflection convolution operation unit 270d outputs a first depth image from the real image and a second depth image from the fake image. This will be used for learning the reflex neural network.
  • the first to third reflection convolution calculation units 270a to 270c have a first to third sub RGB feature vector (a) having a 3*3 pixel size and a stride value of 1 Feature maps can be generated by applying to feature maps of -1, a-2, a-3).
  • Feature maps can be generated by applying to feature maps of -1, a-2, a-3).
  • the first to third reflection convolution calculation units 270a to 270c according to the present invention apply a convolution filter having a 3*3 pixel size and a stride value of 1, it is possible to preserve a high resolution of the feature map. .
  • the activation function used in the first to third reflection convolution calculation units 270a to 270c may be an activation function that outputs a positive value of pixel values of a feature map and outputs a negative value as 0.
  • the activation function means a function that combines weighted values of a plurality of input information and outputs a completed result.
  • the first reflection sampling unit 275a extracts feature values from the feature map by applying a sampling filter to the feature map output from the second reflection convolution operation unit 270b.
  • the first reflection sampling unit 275a may extract a maximum value among pixel values included in a region corresponding to the sampling filter on the feature map as a feature value of the feature map.
  • the first reflection sampling unit 275a may be implemented as a MAX pooling layer, and the dimension of the feature map is reduced through the max pooling layer.
  • the first reflection sampling unit 275a may apply a sampling filter having a pixel size of 2*2 and a stride value of 2 to a feature map output from the second reflection convolution operation unit 270b.
  • the first reflection sampling unit 275a inputs the feature values of the extracted feature map to the third reflection convolution operation unit 270c.
  • the depth feature vector extraction unit 215 and the reflection feature vector extraction unit 220 shown in FIG. 8 sum the first to third sub RGB feature vectors to generate an input feature vector.
  • the depth feature vector extraction unit 215 and the reflection feature vector extraction unit 220 are the first sub Input feature vectors may be generated by summing n-1 sub RGB feature vectors from the RGB feature vectors to the n-1 sub RGB feature vectors.
  • RGB convolution calculation units depth convolution calculation units, and reflection convolution calculation units
  • RGB sampling units depth sampling units
  • reflection sampling units There may be m or more sampling units (m is an integer of 1 or more).
  • the feature vector fusion unit 201 will be described again with reference to FIG. 5.
  • the feature vector fusion unit 201 generates a fusion feature vector by fusing at least one of a depth feature vector and a reflection feature vector with an RGB feature vector.
  • the feature vector fusion unit 201 includes at least one of a depth feature vector extracted from the depth feature vector extraction unit 215 and a reflection feature vector extracted from the reflection feature vector extraction unit 420 and an RGB feature vector extraction unit ( The RGB feature vector (a) extracted from 210) is fused to generate a fusion feature vector.
  • the reason that the feature vector fusion unit 201 according to the present invention fuses each feature vector is that a feature vector having rich expressive power is appropriately reflected by reflecting the characteristics of the RGB image, the characteristics of the reflected image, and the depth image. The purpose of this is to enable the effective identification of the fake image to be blocked by enabling the discrimination of the fake image.
  • FIG. 9 is a view showing the configuration of the feature vector fusion unit 201 according to an embodiment of the present invention.
  • the feature vector fusion unit 201 includes a first output feature vector generation unit 280, a second output feature vector generation unit 285, and a fusion feature vector generation unit 290.
  • the first output feature vector generation unit 280 generates a first output feature vector by passing the RGB feature vectors (a) through k fusion convolution calculation units.
  • k fusion convolution calculation units In FIG. 9, two fusion convolution operation units 295a and 295b are illustrated, but this is only an example and is not limited thereto. Hereinafter, it will be described that there are two fusion convolution calculation units.
  • the first output feature vector generator 280 includes a first fusion convolution operator 295a and a second fusion convolution operator 295b.
  • the first fusion convolution operation unit 295a and the second fusion convolution operation unit 295b perform the same functions as the above-described RGB, depth, and reflection convolution operation units, so a detailed description thereof will be omitted.
  • the first output feature vectors that have passed through the first and second fusion convolution operation units 295a and 295b are transferred to the fusion feature vector generation unit 290.
  • the second output feature vector generation unit 285 sequentially calculates the result of subtracting the reflection feature vector (c) from the depth feature vector (b), and sequentially fusing sampling units arranged at the output ends of the k fusion convolution calculation units and the k-th convolution calculation unit. Pass through to generate a second output feature vector.
  • two fusion convolution operation units 295c and 295d are illustrated, but this is only an example and is not limited thereto. Hereinafter, it will be described that there are two fusion convolution calculation units.
  • the second output feature vector generation unit 285 includes a third fusion convolution operation unit 295c, a fourth fusion convolution 295d, and a first fusion sampling unit 300a.
  • the third fusion convolution operation unit 295c and the fourth fusion convolution operation unit 295d perform the same functions as the above-described RGB, depth, and reflection convolution operation units, and the first fusion sampling unit 300a also includes the above-described RGB, depth, reflection Since it performs the same function as the sampling unit, a detailed description is omitted.
  • the second output feature vector passing through the third and fourth fusion convolution operation units 295c and 295d and the first fusion sampling unit 300a is transferred to the fusion feature vector generation unit 290. At this time, the second output feature vector is resized from a pixel size of 32*32 to a pixel size of 16*16 while passing through the first fusion sampling unit 300a.
  • the fusion feature vector generation unit 290 generates a fusion feature vector by summing the first output feature vector and the second output feature vector. At this time, the pixel size of the fusion feature vector may be 16*16.
  • the fusion feature vector generation unit 290 transmits the generated fusion feature vector to the determination unit 210.
  • the determination unit 210 will be described in detail again with reference to FIG. 5.
  • the determination unit 210 determines whether the face image is a real image of a person using a fusion feature vector. Specifically, the determination unit 210 determines whether the face image is a real image by inputting a fusion feature vector into a binary classifier previously learned.
  • the binary classifier includes the first depth image extracted from the real image and the second depth image extracted from the fake image by the fourth depth convolution operation unit 260e of the above-described depth feature vector extraction unit 215, and the reflection feature vector
  • the first reflection image extracted from the real image and the second reflection image extracted from the fake image may be learned by the fourth reflection convolution operation unit 270e of the extraction unit 220.
  • the fourth reflection convolution operation unit 270e of the extraction unit 220 In the case of simply learning a binary classifier with a 2D real image or a 2D fake image, it is difficult to discriminate images from other environments while being overfitting to a specific external environment such as camera image quality, location, and lighting. There was a problem.
  • the present invention can prevent overfitting for a specific environment by learning the two-dimensional real image and the two-dimensional fake image, as well as the depth image and the reflected image extracted from the real image and the fake image in a binary classifier. Even if the face image was taken in the environment, it was possible to accurately judge the real image.
  • FIG. 10 is a view showing an example of a real image and a fake image.
  • the binary classifier used by the determination unit 210 according to the present invention learns a real image and a fake image. However, as described above, when learning with only the real image and the fake image, overfitting to a specific environment may occur.
  • the real image and the fake image pass through the deep neural network and the reflective neural network to learn about the separated depth image and the reflected image.
  • the binary classifier learns a first depth image extracted from the real image shown in FIG. 11 and a second depth image extracted from the fake image. At this time, the first depth image extracted from the real image is learned as a correct answer as a reference, and the second depth image extracted from the fake image is learned using RGB as black. RGB becomes (0,0,0).
  • the binary classifier learns the first reflected image extracted from the real image and the second reflected image extracted from the fake image as shown in FIG. 12.
  • the first reflected image extracted from the real image is learned using RGB as black. RGB becomes (0,0,0).
  • the second reflected image extracted from the fake image is learned as a reference incorrect answer.
  • the determination unit 202 determines the corresponding face image as a fake image. In addition, if the probability value output from the binary classifier is greater than or equal to a predetermined threshold, the determination unit 202 determines the corresponding face image as a real image.
  • the determination unit 202 removes the plurality of face images so that the corresponding face image is not input to the feature vector extraction unit 85.
  • the determination unit 202 When the face image is determined to be a fake image, the determination unit 202 generates an actual face image request message and transmits it to a display (not shown).
  • the determination unit 202 transmits the face image including the largest face among the plurality of face images to the feature vector extraction unit 85.
  • the feature vector extracting unit 85 extracts the feature vector from the face included in the face image.
  • a feature vector extracting unit according to the present invention will be described in more detail with reference to FIG. 13.
  • the feature vector extracting unit includes a plurality of face image processing units 305a to 305n and a feature vector generating unit 310.
  • the plurality of face image processing units 305a to 305n process image data of the input data to generate output data.
  • the face image output from the real image determination unit 238 is input to the first face image processing unit 305a of the plurality of face image processing units 305a to 305n, and the g+1st face image processing unit 305g In +1), output data of the g-th image face image processing unit 305g is input as an input image.
  • the first face image processing unit 305a processes the face image to generate output data, and inputs the generated output data to the second face image processing unit 305b.
  • the first face image processing unit 305b processes the output data output from the first face image processing unit 305a to generate new output data, and inputs the generated new output data to the third face image processing unit 305c. .
  • the first face image processing unit 305a Since the functions and detailed configurations of the plurality of face image processing units 305a to 305n shown in FIG. 13 are the same, hereinafter, as an example of the first face image processing unit 305a among the plurality of face image processing units 305a to 305n Explain.
  • the first face image processing unit 305a will be referred to as a face image processing unit 305.
  • the face image processing unit 305 performs a convolution operation on input data (which is an output data of a face image or a previous face image processing unit) to generate a feature map, the first unit 315, the first It is composed of a second unit 320 for assigning weights to the feature map generated by the unit 315, and a calculation unit 325.
  • the configuration of the first unit 315 will be described in more detail with reference to FIG. 14.
  • 14 is a block diagram showing the configuration of the first unit included in the face image processing unit.
  • the first unit 315 includes a normalization unit 330, a first convolution operation unit 335, and a nonlinearization unit 340.
  • the normalization unit 330 normalizes face images input from the real image determination unit 238 in a batch unit. Arrangement means the number of face images to be processed at one time.
  • the reason that the normalization unit according to the present invention performs normalization in a batch unit is that when the normalization is performed in a batch unit, the average and variance for each face image may be different from the average and variance for the entire batch. This is because the overall performance can be improved.
  • the first convolution operation unit 335 applies the first convolution filter to the face image normalized by the normalization unit 330 to generate a first feature map.
  • the first convolution operator 335 may generate a first feature map by applying a first convolution filter having a 3*3 pixel size and a stride value of 1 to the face image.
  • the first convolution operation unit 335 according to the present invention applies a first convolution filter having a 3*3 pixel size and a stride value of 1 to the face image, the resolution of the first feature map can be preserved high. do.
  • the nonlinearization unit 340 imparts a nonlinear characteristic to the first feature map by applying an activation function to the first feature map.
  • the nonlinearization unit 340 outputs the same positive pixel value among the pixel values of the first feature map, and the negative pixel value reduces the size of the activation function to output the same to the first feature map. By applying, it is possible to impart nonlinear characteristics to the first feature map.
  • the nonlinearization unit 340 imparts nonlinear characteristics to the first feature map generated by the first convolution operation unit 335.
  • the normalization unit 330 may further normalize the first feature maps generated by the first convolution operation unit 335 in batch units.
  • the normalization unit 330 provides the normalized first feature map to the nonlinearization unit 340, and the nonlinearization unit 340 applies the activation function to the normalized first feature map to normalize the first feature map. It is possible to impart nonlinear characteristics to the feature map.
  • the first unit 315 includes only the first convolution operation unit 335.
  • the first unit 315 may further include a second convolution operation unit 345 as illustrated in FIG. 14.
  • the second convolution operation unit 345 generates a second feature map by applying a second convolution filter to the first feature map to which the nonlinear characteristic is assigned by the nonlinearization unit 340.
  • the second convolution filter may be a different filter from the first convolution filter.
  • the second convolution filter may be a filter having the same stride value but different stride values.
  • the second convolution filter may be a filter having a 3*3 pixel size and a stride value of 2.
  • the normalization unit 330 may further normalize the second feature maps generated by the second convolution operation unit 345 in batch units.
  • the first unit 315 may further include a pre-normalization unit.
  • the pre-normalization unit may normalize the pixel values of each pixel included in the face image input from the face image extraction unit. For example, the pre-normalization unit may normalize the face image by subtracting 127.5 from each pixel value of the face image and subtracting the subtraction result value by 128.
  • the pre-normalization unit may provide the pre-normalized input face image to the normalization unit 330.
  • the second unit 320 weights the second feature map generated by the first unit 315.
  • the reason for weighting the second feature map through the second unit 320 is that, in the case of convolution, all channels of the input image are multiplied by the convolution filter, and then both important and non-significant channels are added during the summing process. Since the sensibility of data is reduced because of entanglement, the second feature map is weighted according to the importance of each channel.
  • the configuration of the second unit 320 will be described in more detail with reference to FIG. 15.
  • 15 is a block diagram showing the configuration of a second unit included in the face image processing unit.
  • the second unit 320 includes a sampling unit 350, a weight reflecting unit 355, and an upscaling unit 360.
  • the sampling unit 350 sub-samples the second feature map input from the first unit 315 to reduce the dimension.
  • the sampling unit 350 may reduce the dimension of the second feature map by applying a global pooling filter to the second feature map. For example, when the dimension of the second feature map is H*W*C, the sampling unit 350 may reduce the dimension of the second feature map to 1*1*C through subsampling of the second feature map.
  • the weight reflecting unit 355 assigns a weight to the second feature map whose dimensions are reduced by the sampling unit 350.
  • the weight reflecting unit 355 includes a dimensional reduction unit 365, a first nonlinearization unit 370, a dimensional increase unit 375, and a second nonlinearization unit 380. Can be.
  • the dimension reduction unit 365 reduces the dimension of the sub-sampled second feature map by connecting the sub-sampled second feature map as one layer. For example, when the dimension of the second feature map output from the sampling unit 350 is 1*1*C, the dimension reduction unit 365 reduces the dimension of the second feature map to 1*1*C/r.
  • r means a reduction rate, and may be determined according to the number of feature vectors to be extracted.
  • the first nonlinearization unit 370 applies the first activation function to the second feature map whose dimension is reduced by the dimension reduction unit 365 to impart nonlinear characteristics to the second feature map whose dimension is reduced.
  • the first non-linearization unit 370 reduces the dimension by applying a first activation function that outputs a positive pixel value of the pixel values of the second feature map as it is and a negative pixel value of 0. Nonlinear characteristics may be given to the second feature map.
  • the dimension increasing unit 375 increases the dimension of the second feature map to which the nonlinear characteristics are assigned by the first nonlinearization unit 370. For example, when the dimension of the second feature map to which the nonlinear characteristic is assigned is 1*1*c/r, the dimension increasing unit 375 increases the dimension of the second feature map back to 1*1*C.
  • the second non-linearization unit 380 applies the second activation function to the second feature map whose dimension is increased by the dimension increase unit 375 to give the non-linear characteristic again to the second feature map whose dimension is increased.
  • the second activation function may be a different function from the first activation function.
  • the second non-linearization unit 380 applies a second activation function that causes a positive pixel value to converge to a predetermined value among pixel values of the second feature map whose dimension is increased, and outputs a negative pixel value to 0. By doing so, it is possible to impart a nonlinear characteristic to the second feature map having an increased dimension.
  • the weight reflecting unit 355 is the second feature map through the dimension reducing unit 365, the first non-linearizing unit 370, the dimensional increasing unit 375, and the second non-linearizing unit 380).
  • the upscaling unit 360 upscales the second feature map weighted by the weight reflecting unit 355 to the same dimension as the face image input to the second unit 320.
  • the upscaling unit 730 sets the dimension of the weighted second feature map to H*W*C. Upscaling to
  • the operation unit 325 sums the upscaled second feature map output through the second unit 320 with the face image input to the first unit 315.
  • the reason for adding the upscaled second feature map output from the second unit 320 through the operation unit 325 with the face image input to the first unit 315 is characteristic when the depth is deep in the convolutional neural network. This is to prevent this vain problem.
  • the feature vector generation unit 310 merges the feature maps output from the last face image processing units 305n among the plurality of face image processing units 305a to 305n into a single layer to reduce dimensions to obtain a predetermined number of feature vectors. To create.
  • the feature vector generator 310 may output 128 or more feature vectors from the feature map output from the face image processor 305n.
  • the feature vector generation unit 310 may output 512 feature vectors from the feature map output from the face image processing unit 305n.
  • the array file generation unit 45 generates an array for each user using the feature vector generated by the face recognition unit 30, and merges the generated arrays into one file. Create an array file.
  • the array file generation unit 45 may store the generated array file in an array file database (not shown).
  • the array file includes an existing array file and a new array file.
  • the new array file may include an array for an optimal reference image changed by the edge device manager 50.
  • the array file generation unit 45 may store the generated array file in an array file database (not shown).
  • the array generated by the array file generation unit 45 may be composed of a plurality of feature vectors obtained from each user's face image and a key value of each user.
  • the key value of the user includes identification information of each user and access permission information of each user.
  • Each user's identification information can be defined as each user's ID, name, phone number, or employee number, as described above, and each user's access permission information provides information about each floor that each user can access. It can contain.
  • the array file generation unit 45 may generate an array file for each location where the edge device 3 is installed.
  • the first array file may consist of arrays of users granted access to the first layer
  • the second array file may consist of arrays of users granted access to the second layer. have.
  • the array file generation unit 45 may also create arrays of each user separately for each user access area. For example, when the first user has permission to access the first and third floors, the array file generation unit 45 is configured to control the first array and the first array including access permission information for the first floor. A second array including access permission information for the third floor may be separately generated.
  • the reason why the array file generation unit 45 according to the present invention generates an array file for each place where the edge device 3 is installed is when the edge device 3 for authenticating a user's face is installed for each place, a specific place This is because it is easy to transfer the array file and manage the array file in the edge device 3 because only the array file including the access permission information for the corresponding place needs to be transmitted to the edge device 3 installed in.
  • the array file generation unit 45 is described as generating an array file for each location, but in a modified embodiment, the array file generation unit 45 is installed in all locations where the edge device 3 is installed. One array file including authority information for the generated object may be generated, and the generated array file may be transmitted to all edge devices 3.
  • the edge device management unit 50 registers information of a plurality of edge devices 3 installed in each location in the edge device database 55.
  • the edge device management unit 50 may map the identification information of each edge device 3 to a place where each edge device is installed and store it in.
  • the identification information of the edge device 3 may include a manufacturer and a serial number.
  • the edge device management unit 50 may receive a plurality of authentication results from the edge device 3 every predetermined period through the interface unit 65 and store the received authentication results in the edge device database 55. At this time, the plurality of authentication results are obtained by the edge device 3 performing authentication with the target users.
  • the edge device management unit 50 may change a reference image previously registered for a registered user to an optimal reference image reflecting the authentication environment based on a plurality of authentication results. Specifically, the edge device management unit 50 may determine the optimal reference image according to the spatio-temporal environment change based on a plurality of authentication results, and change the reference image of each user to the optimal reference image.
  • the edge device management unit 50 may collect a plurality of authentication results and change the reference threshold based on the collected authentication results.
  • the reference threshold value is a reference value that determines whether the target user is authenticated when the edge device 3 performs authentication of the target user. Specifically, when performing the authentication of the target user, the edge device 3 calculates the similarity between the target user's captured image and the registered user's reference image. At this time, the edge device 3 compares the reference threshold and similarity to determine whether the target user is authenticated.
  • edge device management unit 50 According to the present invention will be described in more detail with reference to FIG. 16.
  • 16 is a view showing the configuration of the edge device management unit 50 according to an embodiment.
  • the edge device management unit 50 includes an authentication result collection unit 400, an image determination unit 405, and a reference image change unit 410.
  • the authentication result collection unit 400 collects a plurality of authentication results from each edge device 3. Specifically, the authentication result collection unit 400 may collect a plurality of authentication results from each edge device 3 through the interface unit 65 for each predetermined period. At this time, the authentication result may include a first authentication result in which the unregistered user was incorrectly approved as a registered user, a second authentication result in which the user was normally approved as a registered user, and a third authentication result in which the registered user was incorrectly approved as an unregistered user. Can be.
  • the authentication result collection unit 400 stores the collected multiple authentication results in the edge device database 55.
  • the image determination unit 405 determines an optimal reference image based on a plurality of authentication results.
  • the image determination unit 405 extracts a plurality of second authentication results that normally authorize the user as a registered user from the plurality of authentication results. Accordingly, the present invention can ensure the reliability of the optimal reference image determined based on the second authentication result by excluding a predetermined incorrectly approved authentication result.
  • the plurality of authentication results include a target user's shot image, a similarity between the target user's shot image and a registered user's reference image, edge device 3 device information, edge device installation location information, and access time information. , And registered user information.
  • the target user's captured image refers to the image captured by the edge device 3.
  • the similarity between the target user's captured image and the registered user's reference image refers to the similarity calculated when the edge device 3 approves the target user.
  • the device information of the edge device 3 means information of the edge device 3 where the corresponding access data is generated, and camera information for photographing a target user.
  • the image determination unit 405 selects an optimal reference image reflecting the authentication environment using the second authentication result.
  • the authentication environment means an environment determined according to at least one of place information, access time information, and device information.
  • the reason why the image determination unit 405 according to the present invention selects the optimal reference image reflecting the authentication environment is, as shown in FIG. 17A according to the authentication environment, the target user's captured image taken in the first place and FIG. 17B As shown in, since the photographed image of the target user photographed in the second place changes every time the authentication is performed, the edge device 3 is not able to quickly authenticate the target user, but is also a registered user. This is because it is possible to authenticate as an unregistered user.
  • FIGS. 17A and 17B different shooting images are generated in the same place for the same target user, and there is a difference in image quality between the shooting image of the target user in FIG. 17A and the shooting image of the target user in FIG. 17B. Occurs.
  • the brightness of photographed images photographed at different time periods is also different.
  • the present invention has an effect that, by selecting the optimal reference image reflecting the authentication environment, not only can the authentication be promptly performed, but also the error of determining a registered user as an unregistered user can be reduced.
  • the image determination unit 405 classifies the second authentication results for each user. Specifically, the image determination unit 405 classifies the second authentication results, which normally authorizes the user as a registered user, for each user included in the second authentication result.
  • the unit 405 classifies the second authentication results generated by the first and second users for each user.
  • the image determination unit 405 Classifies a plurality of second authentication results into a 2-a authentication result and a 2-b authentication result for the first user, and a 2-c authentication result and a 2-d authentication result for the second user. do.
  • the image determination unit 405 may classify the second authentication result classified for each user for each access time at which the second authentication result occurred.
  • the access time may be categorized into a time interval per day and a time interval per week, month, quarter, or year.
  • the image determination unit 405 classifies the second authentication result of the first user into the 2-a and 2-b authentication results that occurred in the morning time, and the second 2-c authentication result that occurred in the afternoon time. can do.
  • the image determination unit 405 may classify the second user's second authentication result as the second-f authentication result occurring in the morning time, and the second-d, second-e authentication result occurring in the afternoon time. .
  • the image determination unit 405 may classify the second authentication result classified for each user by the place where the second authentication result occurs.
  • the image determination unit 405 may classify the second authentication result classified by location for each edge device 3 in which the second authentication result occurs.
  • a plurality of edge devices 3 may exist for each location.
  • the image determination unit 405 may classify the second authentication result classified by place for each access time at which the second authentication result occurred.
  • the second authentication result classified for each edge device 3 may be classified for each access time at which the second authentication result occurs.
  • the image determination unit 405 may determine a photographed image corresponding to a second authentication result having a maximum value among similarities included in the classified second authentication result as an optimal reference image of the corresponding user.
  • the image determination unit 405 when the second authentication result classified by each user is classified by the access time at which the second authentication result occurs, the image determination unit 405 has similarity among the second authentication results classified by each access time.
  • Each of the photographed images corresponding to the second authentication result having the maximum value may be determined as the optimal reference image for the corresponding access time.
  • the image determination unit is configured for the morning time.
  • the shooting image corresponding to the second authentication result having the maximum similarity is determined as the optimal reference image for the access time, and the second authentication is performed in the afternoon time.
  • the photographed image corresponding to the second authentication result having the maximum similarity is determined as the optimal reference image for the corresponding access time.
  • the image determination unit 405 when the second authentication result classified by each user is classified by the place where the second authentication result occurs, the image determination unit 405 has the maximum similarity among the second authentication results classified by each location.
  • Each of the photographed images corresponding to the second authentication result having a may be determined as an optimal reference image of the corresponding place.
  • the image determination unit 405 is classified by each edge device 3 2, among the authentication results, photographed images corresponding to the second authentication result having the maximum similarity may be respectively determined as the optimal reference image of the corresponding edge device 3.
  • the performance of the camera may include pixels, angle of view, sensitivity, and the like.
  • the image determination unit 405 classifies the second authentication result classified by location or the second authentication result classified by the edge device 3 when the second authentication result classified by place or the second authentication result occurs by the access time where the second authentication result occurred. Even when classified by access time, each optimal reference image can be determined according to each classified criterion. In the opposite case, the image determination unit 405 may determine each optimal reference image according to the classified criteria.
  • the reference image changing unit 410 changes the reference images of previously registered users to the optimal reference image selected by the image determining unit 405. Specifically, the reference image changing unit 410 changes the user's reference image to an optimal reference image determined for each user.
  • the reference image changing unit 410 may respectively change the reference images to optimal reference images determined for each access time by the image determining unit 405.
  • the reference image changing unit 410 may change the reference images to optimal reference images determined for each place by the image determination unit 405, respectively. In addition, the reference image changing unit 410 may change the reference image to an optimal reference image determined for each edge device 3 by the image determination unit 405, respectively.
  • the image determination unit 405 the first photographed image of the first user is selected as the optimal reference image at the location A, and the second photographed image of the first user is selected as the optimal reference image at the location B and the location C
  • the reference image changing unit 410 changes the reference image in place A to the first shot image, and the reference image in place B is taken in second. It is changed to an image, and the reference image in place C is changed to a third photographed image.
  • the reference image changing unit 410 when the reference image changing unit 410 changes the optimal reference image for each access time, as shown in FIG. 18, the time interval (T1) per day and week, month, quarter, or year time
  • the optimal reference image may be changed according to the section T2.
  • the reference image changing unit 410 registers an optimal reference image according to a time interval T1 per day in a row, and an optimum reference image according to a time interval T2 in a week, month, quarter, or year in a column. .
  • the photographed image of the user may be photographed differently according to the change of external sunlight even during the day, and may also be photographed differently according to the seasonal climate change, aging of each user, weight change, presence or absence of glasses.
  • 19A is a diagram illustrating an example in which the reference image changing unit 410 changes a reference image to an optimal reference image for each place.
  • 19B is a diagram illustrating an example in which the reference image changing unit 410 changes the reference image to an optimal reference image for each location and time of access.
  • a pre-registered reference image 425 exists, and an optimum reference image 430 is registered for each location.
  • the first shooting image and the second shooting image are registered in the A place 435, the third shooting image and the fourth shooting image are registered in the B place 440, and the fifth shooting image and the second shooting image are registered in the C place 445. 6 Register the shooting image.
  • the reference image changing unit 410 may register the optimal reference image 430 according to each place and access time.
  • the reference image changing unit 410 registers the first photographed image 450a at the first access time for the location A 435, and the second photographed image 455a at the second access time for the location A 435. To register.
  • the reference image changing unit 410 registers the third photographed image 450b at the first access time for the B location 440 and the fourth photographed image 455b for the B location 440.
  • the reference image changing unit 410 registers the fifth shooting image 450c at the first access time for the place C 445, and the sixth shooting image at the second access time for the place C 445 ( 455c).
  • the reference image changing unit 410 stores the optimum reference image in the user database 12, and inputs the registered user through the input image generating unit 20, the face recognition unit 30, and the array file generating unit 45. A new array file for the optimal reference image is generated. The generated new array file is distributed to each edge device 3 through the interface unit 65.
  • the edge device management unit 50 may further include an optimum threshold calculation unit 415 and a reference threshold change unit 420.
  • the optimum threshold calculation unit 415 calculates an optimum threshold. Specifically, the optimal threshold calculation unit 415 calculates the optimal threshold based on the authentication results.
  • the optimal threshold calculating unit 415 extracts a plurality of first authentication results from among the plurality of authentication results stored in the edge device database 55.
  • the first authentication result means an authentication result generated by incorrectly authorizing an unregistered user as a registered user.
  • the authentication result may include at least one of a similarity between a user's face image and a reference face image of the user, place information where the edge device is installed, access time information, and user information.
  • the optimal threshold calculation unit 415 has been described as extracting the first authentication results from a plurality of authentication results stored in the edge device database 55, but this is only one embodiment, and the optimal threshold calculation unit 415 collects authentication results
  • the first authentication results may be extracted by receiving a plurality of authentication results from the unit 400.
  • the optimum threshold calculating unit 415 calculates the first optimal threshold based on the maximum value among similarities included in the first authentication results. Specifically, the optimal threshold calculation unit 415 calculates the first optimal threshold based on the maximum value among similarities included in the first authentication result in which an unregistered user is incorrectly approved as a registered user.
  • the optimum threshold calculating unit 415 calculates the maximum value among similarities included in the first authentication result as the first optimal threshold.
  • the optimum threshold calculating unit 415 may calculate a result value obtained by adding a margin value to a maximum value among similarities included in the first authentication result as the first optimum threshold.
  • the optimal threshold calculation unit 415 may calculate a misrecognition rate for each registered user, and calculate a margin value proportional to the misrecognition rate.
  • the misrecognition rate means the rate of incorrectly approving an unregistered user as a registered user. Therefore, the margin value of the corresponding registered user can be calculated in proportion to the false recognition rate.
  • a first optimal threshold value in which different margin values are added according to a misrecognition rate for each user may be calculated.
  • the optimal threshold calculating unit 415 may calculate a margin value for user a as 0.07, and a margin value for user b Can be calculated as 0.05.
  • the optimal threshold calculation unit 415 may not calculate the optimal threshold for a first type user corresponding to a second authentication result normally approved as a registered user.
  • the first type user means a user having a second authentication result normally approved as a registered user.
  • the optimal threshold calculation unit 415 may classify the first authentication results for each second type user corresponding to the first authentication result, and calculate the first optimal threshold for each second type user with a different value.
  • the second type user is a user having a first authentication result when an unregistered user is incorrectly approved as a registered user, and means a user who has registered a reference face image to be compared with the face image of the unregistered user.
  • the user a, user b, and user c exist, and the first authentication result is the first-a authentication result, the first-b authentication result, the first-c authentication result, the first-d authentication result, There are first-e authentication results and first-f authentication results.
  • the optimal threshold calculation unit 415 classifies the first authentication result for user a, classifies the first authentication result for user b, and classifies the first authentication result for user c.
  • the first authentication result for user a has first-a authentication result, first-b authentication result, and first-c authentication result, and the first authentication result for user b is first-d authentication result, first
  • the optimal threshold calculation unit 415 displays the first authentication results for the user a first-a authentication result, first-b authentication result, and first -c It is classified as the authentication result, and the first authentication results for user b are classified into the 1-d authentication result, the 1-e authentication result, and the 1-f authentication result.
  • the optimal threshold calculation unit 415 calculates the first optimal threshold for user a according to the first-a authentication result, first-b authentication result, and first-c authentication result, and the first optimal threshold for user b Is calculated according to the first-d authentication result, the first-e authentication result, and the first-f authentication result. In addition, since the first authentication result for user c does not exist, the optimum threshold calculation unit 415 does not calculate the first optimal threshold for user c.
  • the optimal threshold calculation unit 415 further calculates a second optimal threshold value based on a minimum value among similarities included in third authentication results that incorrectly approve the registered user as an unregistered user among the authentication results. can do.
  • the third type user is a registered user having a third authentication result, which means that the user has attempted authentication but is incorrectly approved as an unregistered user.
  • the reference threshold value of the corresponding user may be lowered to the second optimum threshold value, so that the false recognition rate may be lowered, and the authentication speed may also be improved.
  • the optimal threshold calculation unit 415 classifies the third authentication results for each third type user corresponding to the third authentication result, and calculates the second optimal threshold for each third type user with a different value. It might be.
  • the optimal threshold calculation unit 415 classifies the first authentication results for each edge device 3 that has transmitted the first authentication result, and calculates the first optimum threshold value for each edge device 3 as a different value. can do. At this time, the optimum threshold calculating unit 415 may also calculate the second optimum threshold for each edge device 3 with different values for the third authentication results.
  • the optimal threshold calculation unit 415 may classify the access time for which the first authentication result has occurred, and calculate the first optimal threshold for each time with a different value. At this time, the optimum threshold calculation unit 415 may also calculate the second optimal threshold value for each time with respect to the third authentication results.
  • the reference threshold changing unit 420 changes the predetermined reference threshold to the optimum threshold calculated by the optimum threshold calculating unit 415.
  • the present invention has an effect of improving the security performance by changing the reference threshold to the optimal threshold calculated based on the authentication result.
  • the reference threshold changing unit 420 maintains the reference threshold for the first type of user corresponding to the second authentication result normally approved as the registered user among the authentication results, and corresponds to the first authentication result
  • the reference threshold for the second type of user can be changed to the first optimal threshold.
  • the reference threshold is changed to the optimum threshold only for the second type user in which the first authentication result in which the unregistered user is incorrectly approved as the registered user exists.
  • the reference threshold change unit 420 changes the reference threshold value to the second optimum threshold value calculated by the optimum threshold calculation unit 415 for the third type user corresponding to the third authentication result that incorrectly approves the registered user as an unregistered user. Can be.
  • the third type user is a registered user, which means a user who has tried to authenticate but is incorrectly approved as an unregistered user.
  • the reference threshold changing unit 420 may change the reference threshold of each second type user to the first optimal threshold calculated by different values for each second type user, and the reference threshold of each third type user is the third type. It can be changed to a second optimal threshold value calculated with different values for each user.
  • the reference threshold value changing unit 420 may change the reference threshold value of each edge device to the first optimal threshold values calculated for each edge device of the second type users, and the second optimum calculated for each edge device of the third type users. Thresholds can be changed.
  • the reference threshold value changing unit 420 may change the reference threshold value of each access time to the first optimal threshold values calculated for each type of user's access time, and the second optimal value calculated for each type 3 user's access time. Thresholds can be changed.
  • the threshold When the threshold is changed to the first optimal threshold, the threshold is forced to rise. This is because the first optimal threshold is calculated upon approval of the unregistered user. Accordingly, when the reference threshold changing unit 420 collectively changes the reference threshold to the first optimum threshold, the authentication speed of the edge device 3 is slowed down.
  • the reference threshold changing unit 420 is each user. Since the edge device 3 is changed only when the reference threshold value is changed by changing the reference threshold value for each access time, the authentication speed of the edge device 3 can be improved.
  • edge device 3 when the edge device 3 performs authentication for a registered user, authentication is performed with a reference threshold of 0.6, and when performing authentication for a registered user, b, authentication is performed with a reference threshold of 0.5, c When performing authentication for registered users, authentication is performed with a standard threshold of 0.4.
  • the reference threshold changing unit 420 sets the reference threshold for all registered users a to c to 0.6, the authentication speed of the edge device 3 decreases, but the reference threshold is set differently for each a to c registered user. By doing so, the authentication speed of the edge device 3 can be improved.
  • the reference threshold value changing unit 420 changes the reference threshold value collectively to the first optimum threshold value, and if the authentication speed of the edge device 3 is lower than the predetermined speed, each user, edge The reference threshold may be changed to the first optimal threshold determined for each device or access time.
  • the reference threshold changing unit 420 collectively changes the reference threshold to the first optimal threshold.
  • the reference threshold value changing unit 420 determines whether the authentication speed of the edge device 3 performing authentication with the reference threshold value changed to the first optimum threshold is lower than a predetermined speed.
  • the reference threshold changing unit 420 maintains the changed reference threshold value when the authentication speed of the edge device 3 is higher than a predetermined speed. However, if the authentication speed of the edge device 3 is lower than a predetermined speed, the reference threshold value changing unit 420 is the first optimum threshold value according to at least one of each user, edge device 3, and access time. Change it.
  • the reference threshold changing unit 420 calculates the authentication speed of the edge device 3 performing authentication for the user when changing to the first optimal threshold, and if the calculated authentication speed is lower than a predetermined reference speed, authentication is performed. Among the results, the reference threshold is maintained for the first type user corresponding to the second authentication result that is normally approved as the registered user, and the reference threshold is changed to the first optimum threshold for the second type user corresponding to the first authentication result. Can be.
  • the predetermined reference threshold is 0.2, a to e registered users exist, the first optimal threshold is calculated as 0.6, the first optimal threshold for a registered user is 0.6, and the first optimal threshold for b registered users 0.5, and when the first optimal threshold for c registered users is 0.4, the reference threshold changing unit 420 changes the reference threshold 0.2 for registered users a to e to 0.6. Then, when the authentication speed of the edge device 3 is lower than a predetermined speed, the reference threshold value changing unit 420 changes the reference threshold value for a registered user to 0.6, and b changes the reference threshold value for the registered user to 0.5.
  • the standard threshold for c registered users is changed to 0.4, and the standard threshold for d registered users and e registered users is maintained at 0.2.
  • the present invention can not only improve security performance, but also improve security performance by collectively changing the reference threshold value according to the authentication speed of the edge device 3 or by the user, the edge device 3, and access time. There is an effect that the authentication speed of 3) can also be improved.
  • the reference threshold value changing unit 420 distributes the changed reference threshold value to each edge device 3. Specifically, the reference threshold value changing unit 420 may distribute the reference threshold value changed through the interface unit 65 to each edge device 3. Accordingly, each edge device 3 performs authentication with the changed reference threshold.
  • the access permission information management unit 60 changes access permission information assigned to each user or adds new access permission information.
  • the access permission information management unit 60 may separately grant access permission information for each user or grant access permission information in an organizational unit to which each user belongs.
  • the facial recognition server 2 may further include a scheduler 63.
  • the scheduler 63 performs a function of registering new users collectively whenever a predetermined period arrives or when a predetermined event occurs.
  • the user registration unit 10 performs a registration procedure of a new user when a registration request is generated from the user, but when the face recognition server 2 includes the scheduler 63 in advance.
  • the scheduler 63 initiates operations of the user registration unit 10, the input image generation unit 20, and the face recognition unit 30. It can be done.
  • the scheduler 63 starts the operation of the input image generation unit 20 and the face recognition unit 30.
  • the interface unit 65 encrypts the changed reference threshold value from the edge device management unit 50 and the array file generated by the array file generation unit 45 in a predetermined manner and transmits it to each edge device 3.
  • the interface unit 65 may encrypt the array file using a public key-based encryption algorithm and transmit it to each edge device 3.
  • the interface unit 65 may transmit the encrypted reference threshold value and the array file to the edge device 3 according to the protocol agreed with the edge device 3.
  • the interface unit 65 may receive the authentication result from each edge device 3 for a predetermined period and provide it to the edge device 3.
  • the face recognition model training unit 70 generates the face recognition model 40 based on the convolutional neural network, and trains the generated face recognition model 40. Specifically, the face recognition model training unit 70 generates an optimal face recognition model by continuously training the convolutional neural network constituting the face recognition model 40.
  • the face recognition model training unit 70 includes a face image extraction training unit 500 for training the face image extraction unit 75, a feature vector extraction training unit 505 for training the feature vector extraction unit 85, It includes a real image judgment training unit 510 for training the real image determination unit 80 and an error reduction unit 515 for reducing the error of the feature vector extraction unit 85.
  • the face image extraction training unit 500 trains the first to third face detection units 90 to 100 constituting the face image extraction unit 75 using a learning image. Specifically, the face image extraction training unit 70 inputs a plurality of training images having a predetermined size to the first face detection unit 90 having a structure as shown in FIG. 4B to include a face region in the training image. The first probability value and the face region coordinates are calculated, and the calculated first probability value and the face region coordinates are fed back to the first face detection unit 90 according to a back propagation algorithm to the first face detection unit 90. The filter coefficients and weights of the applied convolution filters are updated.
  • the face image extraction training unit 500 calculates the first It has been described that the probability value and the coordinates of the face region are fed back to the first face detection unit 90 using a backpropagation algorithm to update the filter coefficients and weights of the convolution filters applied to the first face detection unit 90.
  • the face image extraction training unit 500 receives landmark coordinates from the first face detection unit 90 during training of the first face detection unit 90 to improve the accuracy of landmark coordinate extraction. Filters of the convolution filters applied to the first face detection unit 90 by additionally calculating and feeding back the calculated landmark coordinates to the first face detection unit 90 through a back propagation algorithm together with the first probability value and the face region coordinates Coefficients and weights may be updated.
  • the first face detection unit 90 outputs from the third convolution calculation unit 110c by applying a dimension reduction filter to the feature map output from the third convolution calculation unit 110c to obtain landmark coordinates.
  • a dimension reduction unit (not shown) that reduces the dimension of the feature map to 10 dimensions may be further included.
  • 10 values output in 10 dimensions are determined as the coordinates of the two eyes, which are landmarks, the coordinates of the nose, the coordinates of the left mouth tail, and the coordinates of the right mouth tail.
  • the face image extraction training unit 500 inputs a plurality of learning images having a predetermined size to the second face detection unit 95 having a structure as shown in FIG. 4C to include a face region in the learning image. 2 Probability values and face region coordinates are calculated, and the calculated second probability values and face region coordinates are fed back to the second face detection unit 95 by using a back propagation algorithm. Filter coefficients and weights are updated.
  • the learning image input to the second face detection unit 95 may be selected as a learning image determined to include a face region by the first face detection unit 90.
  • the face image extraction training unit 500 calculates the calculated second probability value and It has been described that the face region coordinates are fed back to the second face detection unit 95 using a back propagation algorithm to update the filter coefficients and weights of the convolution filters applied to the second face detection unit 95.
  • the face image extracting training unit 500 also performs landmark coordinates from the second face detection unit 95 during training of the second face detection unit 95 to improve the accuracy of landmark coordinate extraction. Is calculated, and the calculated landmark coordinates are fed back to the second face detection unit 95 through the back propagation algorithm together with the second probability value and the face area coordinates, thereby generating the convolution filters applied to the second face detection unit 95.
  • the filter coefficients and weights may be updated.
  • the second face detection unit 95 applies the dimension reduction filter to the feature map output from the first dimensional increase unit 140 in order to obtain landmark coordinates, thereby increasing the first dimensional increase unit 140
  • a dimension reduction unit (not shown) that reduces the dimension of the feature map output from the 10 dimension may be further included.
  • 10 values output in 10 dimensions are determined as the coordinates of the two eyes, which are landmarks, the coordinates of the nose, the coordinates of the left mouth tail, and the coordinates of the right mouth tail.
  • the face image extraction training unit 500 inputs a plurality of learning images having a predetermined size to the third face detection unit 100 having a structure as shown in FIG. 4D to include a face region in the learning image.
  • the third probability value, the face area coordinates, and the coordinates of the landmark are calculated, and the calculated third probability value, the face area coordinates, and the coordinates of the landmark are fed back to the third face detection unit 100 using a back propagation algorithm.
  • the filter coefficients and weights of the convolution filters applied to the face detection unit 100 are updated.
  • the learning image input to the third face detection unit 100 may be selected as a learning image determined to include a face region by the second face detection unit 95.
  • the feature vector extraction training unit 505 trains the feature vector extraction unit 85 having a configuration as shown in FIGS. 13 to 15 using a learning image. Specifically, the feature vector extracting training unit 505 inputs a plurality of training images into a feature vector extracting unit 85 having a structure as shown in FIGS. 13 to 15 in a predetermined arrangement unit, and thus features from each training image. Extract the vector.
  • the feature vector extraction training unit 505 predicts a probability value that a corresponding learning image will be included in a specific class by applying the extracted feature vectors to a predetermined classification function, and between the predicted probability value (hereinafter referred to as a'prediction value') and the actual value.
  • a'prediction value' predicted probability value
  • the filter coefficients and weights of the convolution filters applied to the feature vector extracting unit 85 are updated.
  • the feature vector extraction training unit 505 may train the real feature vector extraction unit 200 of the real image determination unit 80 using a learning image.
  • the feature vector extraction training unit 505 trains the feature vector extraction unit 85 and trains the real feature vector extraction unit 200, the training of the real feature vector extraction unit 200 is the same. The detailed description is omitted.
  • the real image determination training unit 510 trains the real image determination unit 80. Specifically, the real image determination training unit 510 trains the RGB neural network, the depth neural network, the reflective neural network, and the binary classifier used by the determination unit 210 of the real image determination unit 80.
  • the real image determination training unit 510 trains the real image and the fake image in the binary classifier, and further, passes through the depth neural network network, the first depth image separated from the real image and the second depth image separated from the fake image, The first reflection image separated from the real image and the second reflection image separated from the fake image are trained through the reflective neural network. At this time, the second depth image extracted from the fake image is trained with RGB as (0,0,0), and the first reflected image extracted from the real image is trained with RGB as (0,0,0).
  • the facial recognition model training unit 70 can further improve the performance of the feature vector extraction unit 85 by further reducing the error generated during feature vector extraction through the error reduction unit 515.
  • the real feature vector extraction unit 200 of the real image determination unit 80 can also improve performance through the error reduction unit 515 in the same way as the feature vector extraction unit 85. Therefore, the error reduction unit 515 will be described as the content of reducing the error of the feature vector extraction unit 85, and the error reducing unit 515 will be omitted to reduce the error of the real feature vector extraction unit 200. do.
  • the error reduction unit 515 is predicted and actual based on the feature vectors extracted through the feature vector extraction unit 85 in the process of the feature vector extraction training unit 505 training the feature vector extraction unit 85 Reduce the error between values. Specifically, the error reduction unit 515 calculates an error between the predicted value and the actual value based on the feature vectors extracted by the feature vector extraction unit 85 from the training image, and reduces the error to each learning image in a two-dimensional angle. Arranged on a plane and using a probability value according to the arrangement result, the feature vector extraction training unit 505 can train the feature vector extraction unit 85.
  • the reason for learning the feature vector extraction unit 279 so that the face recognition model training unit 70 according to the present invention is to reduce the error through the error reduction unit 515 is the case of the general face recognition model as shown in FIG. 20. In spite of being the same person, if the lighting or environment where the face is photographed changes, an error such as inability to distinguish the same person occurs, and thus a feature vector that can reduce the error of face recognition through the error reducing unit 515 It is for training the feature vector extraction unit 85 to be extracted.
  • the error reduction unit 515 includes a face image arrangement unit 520 and a probability calculation unit 525 as illustrated in FIG. 2.
  • the face image arrangement unit 520 arranges each learning image on a two-dimensional angular plane based on a plurality of feature vectors extracted by the feature vector extraction unit 85 for the learning image. Specifically, the face image arranging unit 520 calculates cosine similarities between learning images included in different classes, and calculates a reference angle that is a separation angle between each learning images according to the cosine similarities, thereby providing two-dimensional angles of the learning images. It is placed on a flat surface.
  • the face image arranging unit 520 arranges the learning images in the vector space according to the distance between the respective learning images calculated based on the feature vectors of the respective learning images, each learning images as shown in FIG. 21.
  • the face image arranging unit 520 arranges the learning images in the vector space according to the distance between the respective learning images calculated based on the feature vectors of the respective learning images, each learning images as shown in FIG. 21.
  • the face image arranging unit 520 calculates an angle between the training images included in different classes through cosine similarity, and places each training image on a two-dimensional angle plane based on the calculated angle. Is to do.
  • the probability calculating unit 525 varies the margin angle to be added to the reference angle calculated by the face image arrangement unit 520 on the 2D angular plane, and determines the probability that each learning image is included in the corresponding class for each variable margin angle. Calculate.
  • the probability calculating unit 525 varies the margin angles P1 and P2 added to the reference angles ⁇ 1 and ⁇ 2 between the learning images, and learns to overlap each other. Images are spaced apart on a two-dimensional angular plane.
  • the margin angles P1 and P2 may be determined according to a learning rate within a range greater than 0 and less than 90 degrees.
  • the margin angle may increase accordingly, and when the learning rate decreases, the margin angle may also decrease.
  • the probability calculating unit 525 may vary the margin angle by a predetermined reference unit.
  • the probability calculation unit 525 calculates a probability that each learning image is included in a corresponding class for each margin angle added to the reference angle, and provides the calculated probability value to the feature vector extraction training unit 505 to extract the feature vector extraction training unit 505 ) Allows the feature vector extraction unit 85 to be trained based on the probability value calculated by the probability calculation unit 525. That is, the feature vector extraction training unit 505 updates the feature vector extraction unit by updating at least one of coefficients and weights of the convolution filters applied to the feature vector extraction unit 85 based on the probability value calculated by the probability calculation unit 288. (85).
  • the probability calculator 525 may calculate the probability that each learning image is included in the corresponding class for each margin angle using Equation 1 below.
  • Equation 1 x denotes a reference angle, p denotes the margin angle, and n denotes the number of classes.
  • the probability calculation unit 525 is a predetermined test to the feature vector extraction unit 85 trained by the feature vector extraction training unit 505 based on the probability value calculated by the probability calculation unit 525 When a face image is applied, the margin angle can be continuously varied until the error between the predicted value and the actual value becomes below a reference value.
  • the probability calculating unit 525 is the final margin angle at which the error between the predicted value and the actual value calculated when the predetermined test face image is applied to the trained feature vector extraction unit 85 becomes less than or equal to the reference value. Decide. At this time, the error between the predicted value and the actual value can be calculated using a cross entropy function.
  • the face image extraction training unit 500 constituting the face recognition model training unit 70, the feature vector extraction training unit 505, the real image determination training unit 510, and the error reduction unit 515 ) Is implemented as an algorithm type software and can be mounted on the face recognition server 2.
  • the edge device 3 is placed at every specific location and uses the face recognition model 40 distributed by the facial recognition server 2 to display the face of the target user who wants to access the location. Recognize and perform the function of authenticating the access of the target user based on the recognition result.
  • the reason that the edge device 3 performs the face recognition and authentication of the target user without the face recognition server 2 performing the face recognition and authentication of the target user is the face recognition and authentication of the target user.
  • face recognition and authentication cannot be performed when the face recognition server 2 or a network failure occurs, and as the number of users increases, it is required to increase the expensive face recognition server 2 Because it is.
  • the present invention applies the edge computing (Edge Computing) method to perform the face recognition and authentication of the target user at the edge device 3, thereby providing a face recognition service normally even when a failure occurs in the face recognition server 2 or the network. It is possible to improve the reliability of service provision, and even if the number of users increases, there is no need to increase the expensive facial recognition server 2, thereby reducing the cost of constructing the facial recognition system 1.
  • the edge device 3 includes a first photographing unit 1210, an input image generating unit 1250, a face recognition unit 1300, and an authentication unit 1310. ), a face recognition model 1320, an array file update unit 1330, a memory 1340, and an interface unit 1350.
  • the first photographing unit 1210 photographs the target user to generate a photographed image.
  • the first photographing unit 1210 transmits the generated photographed image to the input image generating unit 1250.
  • the input image generation unit 1250 generates an input image to be used for face recognition from the captured image of the target user transmitted from the first photographing unit 1210. Specifically, the input image generation unit 1250 generates images of a plurality of target users having different resolutions from the shot images of one target user by down-sampling or up-sampling a shot image of one target user to a predetermined step.
  • the input image generator 1250 may generate a down-sampled target user image by applying a Gaussian pyramid to an image of the target user, or an up-sampled target user image by applying a Laplacian pyramid to the target user image. .
  • the input image generator 1250 inputs a plurality of images obtained by moving a window having a predetermined pixel size on the target user image for each target user image. It is created as an image.
  • the input image generation unit 1250 inputs the generated input image to the face recognition unit 1300.
  • the face recognition unit 1300 inputs the input image of the target user received into the face recognition model 1320 distributed from the facial recognition server 2 to target. After extracting the face image, it is determined whether or not a real image of a person photographed from the extracted target face image, and if it is determined as a real image, a target feature vector is extracted for the corresponding face image.
  • the facial recognition model 1320 distributed from the facial recognition server 2 may be reduced in error by learning through the above-described error reduction unit 515.
  • the face recognition model 1320 may be updated at predetermined intervals.
  • the edge device 3 receives a new face recognition model 1320 from the face recognition server 2 whenever the face recognition model 1320 is updated by the face recognition server 2, and thus the faces previously distributed.
  • the recognition model 1320 may be updated with a new face recognition model 1320.
  • the face recognition model 1320 used for target face image extraction and target feature vector extraction is the same as the face recognition model 40 shown in FIGS. 4 to 8, a detailed description thereof will be omitted.
  • the method of extracting the target face image from the input image of the target user, determining the real image, and extracting the target feature vector using the face recognition model 1300 by the face recognition unit 1300 is included in the facial recognition server 2. Since the face recognition unit 30 is the same as extracting the face image and the feature vector using the face recognition model 40, a detailed description thereof will be omitted.
  • the authentication unit 1310 compares the target feature vector obtained by the face recognition unit 1300 and the feature vectors included in the array file received from the facial recognition server 2 to calculate similarity, and calculates the similarity as a reference threshold Compare with and verify whether the target user is a registered user who can access the site. At this time, the authentication unit 1310 may authenticate the target user with an array file including an optimal reference image changed by the update unit 1330. The authentication unit 1310 may receive the reference threshold value changed to the optimal threshold value from the facial recognition server 2 according to a predetermined cycle, and compare the similarity with the similarity level to authenticate the target user.
  • the authentication unit 1310 calculates a squared first result value by subtracting a target feature vector from each feature index included in the corresponding array for each index included in each array included in the array file.
  • the authentication unit 1310 calculates a second result value by summing the first result values calculated for each index, and calculates a third result value obtained by subtracting the second result value from a predetermined reference value with similarity.
  • the authentication unit 1310 determines that the user mapped to the array having the highest similarity among the arrays included in the array file is the most similar user to the target user. At this time, the authentication unit 1310 when the similarity is more than the reference threshold value, the target user authenticates as a user with legitimate authority, and accordingly, the target user may be allowed to access the corresponding place.
  • the reference threshold may be set differentially according to the security level of the place where the edge device 3 is installed. For example, when the edge device 3 is installed in an area to which a high security level is applied, the reference threshold may be set high, and when the edge device 3 is installed in an area to which a low security level is applied, the reference threshold value may be set low. Can be.
  • the method for authenticating whether the target user is a legitimate user who can access the floor by comparing the target feature vector obtained by the face recognition unit 1300 with the feature vectors included in the array file is as follows. For example, it will be described.
  • 26 is a diagram exemplarily showing a method of authenticating a target user by an authentication unit.
  • an array including feature vectors of each user is arranged for each row. For example, feature vectors for the first user are sequentially arranged in the first row, and feature vectors for the second user are sequentially arranged in the second row. At this time, the feature vectors of each user are arranged in one row according to the index order.
  • the authentication unit 1310 calculates the difference value between the feature vectors and target feature vectors of each array of the array file 1410 for each index, and the difference value calculated as shown in FIG. 26B.
  • the first result value is calculated by squaring them, and the second result value is calculated by summing all the first result values for each array as shown in FIG. 26C.
  • the authentication unit 1310 calculates the similarity, which is the third result value, by subtracting the second result value from the predetermined reference value (eg, 1), which is the largest value among the calculated similarities.
  • the user mapped to the array corresponding to 0.310528 is determined as the user most similar to the target user.
  • the authentication unit 1310 finally authenticates the target user as a user mapped to the corresponding array.
  • Equation 2 When the method of authenticating the target user by the authentication unit 1310 is expressed by an equation, it can be expressed as Equation 2 below.
  • Equation 2 Z represents the third result similarity, R represents a predetermined reference value, Xi represents a feature vector corresponding to the i-th index among n feature vectors, and Yi represents i of n feature vectors Represents a target feature vector corresponding to the first index.
  • the authentication unit 1310 receives and updates the changed reference threshold from the facial recognition server 2 according to a predetermined cycle, and authenticates the target user using the updated reference threshold.
  • the face recognition model 1320 is generated and distributed by the face recognition server 2, and the face recognition model 1320 is updated whenever the face recognition model 40 is trained and updated by the face recognition server 2
  • the replaced face recognition model 40 is replaced.
  • the face recognition model 1320 may be received from the facial recognition server 2 through the interface unit 1350.
  • the update unit 1330 When the update unit 1330 receives the array file or the reference threshold from the facial recognition server 2 through the interface unit 1350, uploads it to the first memory 1342, and the authentication unit 1310 uses the target user Enable authentication.
  • the update unit 1330 according to the present invention can dynamically load an array file or a reference threshold.
  • the update unit 1330 transfers the new array file to the second memory 1344 when a new array file is received from the facial recognition server 2.
  • the existing array file loaded in the first memory 1342 is replaced with the new array file loaded in the second memory 1344.
  • the reference threshold is the same.
  • the reason why the update unit 1330 according to the present invention dynamically loads the array file as described above is because the authentication unit 1310 performs authentication processing for the target user and the array file update unit 1330 loads the new array file.
  • the purpose of this is to enable the edge device 3 to perform face recognition in real time based on the newly updated array file by allowing it to be updated.
  • the update unit 1330 receives a new array file composed of a plurality of arrays including feature vectors extracted from an optimal reference image at a predetermined update period from the facial recognition server 2, and changes the existing array file to a new array file do.
  • the update unit 1330 calculates the ratio of the number of approval attempts per recognition attempt for each user based on the second authentication results obtained for a predetermined time, and updates the update period if the calculated ratio is greater than or equal to a predetermined reference value. Decrease and increase the update period below the reference value.
  • the update unit 1330 may vary the update period according to the rate of change of the number of approvals compared to the attempted recognition.
  • the update unit 1330 may decrease the update period when the rate of change increases above a predetermined reference value, and increase the update period when the rate of change decreases below a predetermined reference value.
  • An existing array file used by the authentication unit 1310 is loaded in the first memory 1342, and a newly received new array file is loaded in the second memory 1344.
  • the existing array file recorded in the first memory 1342 by the update unit 1330 is replaced with the new array file.
  • the reference threshold is the same.
  • the interface unit 1350 mediates data transmission and reception between the edge device 3 and the facial recognition server 2. Specifically, the interface unit 1350 receives the face recognition model 1320 from the facial recognition server 2, and receives an array file or a reference threshold including an optimal reference image from the facial recognition server 2 to update the unit ( The first memory 1342 or the second memory 1344 is loaded through 1330. In addition, the interface unit 1350 periodically transmits the authentication result by the authentication unit 1330 to the facial recognition server 2.
  • the array file, the reference threshold and the face recognition model 1320 may be updated at predetermined intervals through the interface unit 1350.
  • the edge device 3 since the edge device 3 stores only the face recognition model 1320 for face recognition, an array file, and a reference threshold, the user's face image or personal information is not stored. Even if 3) is hacked, security is strengthened because there is no fear of leakage of user's personal information.
  • the real image determination unit included in the face recognition model 1320 determines whether the target user's shot image is a real image of a person or a fake image of a registered user. Unlike the above-described embodiment, the present invention may further determine whether or not it is a real image by the second imaging unit 1510 which is an IR camera.
  • FIG. 27 is a block diagram showing the configuration of an edge device according to a second embodiment of the present invention.
  • the edge device according to the second embodiment illustrated in FIG. 27 further includes a second imaging unit 1510 and a authenticity determination unit 1520 compared to the edge device according to the first embodiment illustrated in FIG. 25. It is distinguished from edge devices according to one embodiment.
  • a description of a configuration having the same function as the edge device according to the first embodiment is omitted, and the newly added second photographing unit 1510 and the authenticity determination unit 1520 and the newly added Only the first photographing unit 1210 whose function is changed due to the configuration will be described.
  • the first photographing unit 1210 photographs a photographing target to generate a photographed image.
  • the first photographing unit 1210 transmits the generated photographed image to the authenticity determination unit 1520.
  • the second photographing unit 1510 photographs an object to be photographed to generate a depth image.
  • the second photographing unit 1510 is before or after a predetermined time from the time when the photographing object is photographed by the first photographing unit 1210 or when the photographing object is photographed by the first photographing unit 1210. You can shoot the subject.
  • the second photographing unit 1510 may be implemented as an IR camera capable of generating a depth image by photographing a photographing target.
  • the reason why the edge device 120 according to the second embodiment photographs a shooting target through the second shooting unit 1510 to generate a depth image is that the actual face of the shooting target is generated by the second shooting unit 1510. This is because different types of depth images are generated when a picture is taken and a picture including a face to be taken is taken.
  • a photograph including a face of a photographing target is photographed by the second photographing unit 1510, while a depth image having the form shown in FIG. 28A is generated, the photographing target is photographed by the second photographing unit 1510
  • a second depth image having the form shown in FIG. 28B is generated.
  • the second photographing unit 1510 transmits the generated depth image to the authenticity determination unit 1520.
  • the authenticity determination unit 1520 determines whether the photographing object photographed by the second photographing unit 1510 is a photograph or a face of an actual photographing object using the depth image transmitted from the second photographing unit 1510.
  • the authenticity determination unit 1520 extracts depth data from the depth image received from the second imaging unit 1510, and determines whether the depth image is the actual face of the object to be photographed through binary classification. . In one embodiment, the authenticity determination unit 1520 may improve classification accuracy for real faces and photos through training based on a deep learning algorithm.
  • the authenticity determination unit 1520 transmits the photographed image received from the first photographing unit 1210 to the input image generator 1250 when it is determined that the photographing target photographed by the second photographing unit 1510 is an actual face. . Meanwhile, the authenticity determination unit 1520 inputs the photographed image received from the first photographing unit 1210 when the photographing target photographed by the second photographing unit 1510 is not an actual face. Without sending to, it can be output by using the text or voice type alarm message that the authentication process has failed, or it can notify the system operator that there was an abnormal access attempt.
  • the authenticity judgment unit 1520 primarily determines whether a real image is present, and secondly, the real image determination unit of the face recognition model 1320 secondly determines whether or not a real image is captured. It is possible to accurately determine whether it is a real face or a photo. Accordingly, the present invention is to prevent the authentication process is not performed when the picture is taken, it is possible to fundamentally block the attempt to perform the authentication by a user without a legitimate user using a picture of another person, thereby improving security. .
  • the user terminal 4 transmits a user image for newly registering a user together with the user's identification information to the facial recognition server 2.
  • the user terminal 4 is equipped with a face registration agent (not shown) capable of interworking with the facial recognition server 2, and the user is executed by executing the face registration agent on the user terminal 4
  • the image of the face or the pre-recorded image may be transmitted to the facial recognition server 2 together with the user identification information.
  • the user terminal 4 may request to register a plurality of user images for each user.
  • the plurality of images requested for registration for each user may be photographs taken in different environments or photographs taken under different lighting.
  • the user terminal 4 can request user registration by transmitting a user image to the facial recognition server 2, any of them can be used without limitation.
  • the user terminal 4 may be implemented as a smart phone, a laptop, a desktop or a tablet PC.
  • the configuration of the facial recognition server illustrated in FIG. 2 and the configuration of the edge device illustrated in FIGS. 25 and 27 may be implemented in a program form.
  • each configuration shown in FIGS. 2 and 25 and 27 is implemented as a code, and codes for implementing a specific function are one program Or may be implemented by dividing a plurality of programs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)
  • Collating Specific Patterns (AREA)

Abstract

안면인식서버에서 생성된 얼굴인식모델을 각 에지 디바이스에 배포함으로써 얼굴인식 및 인증처리를 에지 디바이스에 수행할 수 있는 본 발명의 일 측면에 따른 AI 기반의 안면인식시스템은, 등록요청된 사용자의 입력 이미지를 얼굴인식모델에 입력함으로써 얼굴이미지를 추출하고, 상기 추출된 얼굴이미지로부터 복수개의 특징벡터를 생성하는 얼굴인식부 및 각 사용자 별로 상기 복수개의 특징벡터와 사용자의 식별정보로 구성된 어레이를 생성하고, 생성된 어레이들을 머지하여 어레이 파일을 생성하는 어레이 파일 생성부를 포함하는 안면인식서버를 포함하고, 상기 얼굴인식모델은, 상기 입력 이미지로부터 상기 얼굴이미지를 추출하는 얼굴이미지 추출부; 및 상기 얼굴이미지가 사람을 촬영한 실물이미지인 경우, 상기 얼굴이미지에 포함된 얼굴로부터 특징벡터를 추출하는 특징벡터 추출부를 포함하는 것을 특징으로 한다.

Description

AI 기반의 안면인식시스템
본 발명은 얼굴인식기술에 관한 것이다.
얼굴인식(Face Recognition) 기술이란 생체인식(Biometrics) 분야 중의 하나로써 사람마다 얼굴에 담겨있는 고유한 특징 정보를 이용하여 기계가 자동으로 사람을 식별하고 인증하는 기술을 의미하는 것으로서, 비밀번호 등에 의한 기존의 인증방식에 비해 보안성이 뛰어나 최근 다양한 분야에서 널리 이용되고 있다.
일반적인 안면인식시스템은 출입게이트 등에 설치된 디바이스에서 촬영된 얼굴이미지를 서버로 전송하고, 서버가 얼굴인식 및 얼굴인식에 따른 사용자 인증을 수행하고 인증결과를 디바이스로 전송함으로써 출입게이트의 개방여부를 결정한다.
상술한 바와 같은 일반적인 안면인식시스템의 경우, 얼굴인식기능은 물론 얼굴인식 결과에 따른 인증기능까지 모두 서버에서 구현되기 때문에, 출입하는 사용자의 인원이 많은 곳에 안면인식시스템을 적용하고자 하는 경우 고성능 및 고가의 서버가 요구되어 안면인식시스템의 구축비용이 증가하게 된다는 문제점이 있다.
또한, 일반적인 안면인식시스템의 경우 얼굴인식기능이 서버에 집중되어 있기 때문에 서버 또는 네트워크에 장애가 발생하게 되면 얼굴인식 서비스 제공 자체가 불가능해진다는 문제점이 있다.
또한, 일반적인 안면인식시스템의 경우 디바이스에서 촬영된 얼굴이미지가 네트워크를 통해 서버로 전송되어야 하기 때문에 해킹등을 통해 얼굴이미지가 외부로 유출될 수 있어 개인정보 보안에 취약하다는 문제점이 있다.
또한, 일반적인 안면인식시스템의 경우 동일인임에도 불구하고 다른 환경에서 얼굴이 촬영되거나 다른 조도에서 얼굴이 촬영되는 경우 동일인임을 구별해 내지 못한다는 문제점이 있다.
또한, 일반적인 안면인식시스템은 시스템에 등록된 사용자의 얼굴이 포함된 사진으로 인증을 수행하는 경우, 이를 식별할 수 없어 부정한 사용자에 대해 승인할 수 있다는 문제점이 있다.
또한, 일반적인 안면인식시스템은 사용자에 대해 인증을 수행할 때, 디바이스에서 촬영된 사용자의 이미지를 미리 등록된 사용자의 기준이미지와 비교하는데, 해당 이미지 간에 유사도를 산출하고, 유사도를 미리 설정된 기준임계치와 비교하여 해당 사용자를 승인 또는 거절시킨다. 이때, 일반적인 안면인식시스템은 기준임계치를 임의의 값으로 설정하기 때문에 해당 사용자를 등록사용자이나 미등록사용자로 판단하여 거절시키게 되거나, 미등록사용자이나 등록사용자로 판단하여 승인시킬 수 있다는 문제점이 있다.
또한, 일반적인 안면인식시스템은 미리 등록된 기준 이미지가 등록을 위해 촬영된 것이기 때문에, 인증을 수행하는 디바이스가 위치하는 장소, 해당 디바이스의 카메라 정보, 시간의 변화 등에 따라 등록사용자일지라도, 디바이스에서 촬영된 사용자 이미지와 다른 것으로 판단될 수 있다는 문제가 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 안면인식서버에서 생성된 얼굴인식모델을 각 에지 디바이스에 배포함으로써 얼굴인식 및 인증처리를 에지 디바이스에 수행할 수 있는 AI 기반의 안면인식시스템을 제공하는 것을 그 기술적 과제로 한다.
또한, 본 발명은 사용자 단말기에 설치된 얼굴등록 에이전트를 이용하여 사용자의 얼굴을 촬영한 사용자이미지를 등록할 수 있는 AI 기반의 안면인식시스템을 제공하는 것을 다른 기술적 과제로 한다.
또한, 본 발명은 얼굴이미지의 랜드마크 좌표를 이용하여 기준 랜드마크를 기준으로 얼굴이미지를 정렬할 수 있는 AI 기반의 안면인식시스템을 제공하는 것을 다른 기술적 과제로 한다.
또한, 본 발명은 장소나 조명에 종속되지 않고 정확한 얼굴인식이 가능한 AI 기반의 안면인식시스템을 제공하는 것을 다른 기술적 과제로 한다.
또한, 본 발명은 입력되는 얼굴이미지에서 얼굴의 특징을 인식 가능하게 하는 특징벡터를 추출할 수 있는 특징벡터추출 알고리즘을 적용하여 얼굴인식 정확도를 높일 수 있는 AI 기반의 안면인식시스템을 제공하는 것을 다른 기술적 과제로 한다.
또한, 본 발명은 얼굴인식시 발생되는 오차가 감소될 수 있도록 얼굴인식모델을 트레이닝시킴으로써 장소나 조명에 종속되지 않고 정확하게 얼굴을 인식할 수 있는 AI 기반의 안면인식시스템을 제공하는 것을 또 다른 기술적 과제로 한다.
또한, 본 발명은 안면인식서버에서 안면인식서버에서 각 사용자의 얼굴이미지로부터 획득된 복수개의 특징벡터들과 각 사용자의 키(Key)값으로 구성된 어레이파일을 암호화하여 에지 디바이스로 배포할 수 있는 AI 기반의 안면인식시스템을 제공하는 것을 또 다른 기술적 과제로 한다.
또한, 본 발명은 사용자의 얼굴이미지 및 개인정보의 저장 없이 얼굴인식 및 인증처리를 수행할 수 있는 AI 기반의 안면인식시스템을 제공하는 것을 다른 기술적 과제로 한다.
또한, 본 발명은 신규 사용자의의 얼굴 이미지에 대응되는 어레이 파일을 용이하게 업데이트할 수 있는 AI 기반의 안면인식시스템을 제공하는 것을 또 다른 기술적 과제로 한다.
또한, 본 발명은 2차원의 얼굴이미지로 사람을 촬영한 실물이미지인지 여부를 판단할 수 있는 AI 기반의 안면인식시스템을 제공하는 것을 그 기술적 특징으로 한다.
또한, 본 발명은 미등록사용자를 등록사용자로 잘못 승인한 인증결과를 기초로 기준임계치를 변경할 수 있는 AI 기반의 안면인식시스템을 제공하는 것을 그 기술적 과제로 한다.
또한, 본 발명은 안면인식을 수행하기 위해 미리 등록된 기준 이미지를 시공간 환경 변화에 따라 변경할 수 있는 AI 기반의 안면인식시스템을 제공하는 것을 그 기술적 과제로 한다.
상술한 목적을 달성하기 위해서 본 발명의 일 측면에 따른 AI 기반의 안면인식시스템은, 등록요청된 사용자의 입력 이미지를 얼굴인식모델에 입력함으로써 얼굴이미지를 추출하고, 상기 추출된 얼굴이미지로부터 복수개의 특징벡터를 생성하는 얼굴인식부 및 각 사용자 별로 상기 복수개의 특징벡터와 사용자의 식별정보로 구성된 어레이를 생성하고, 생성된 어레이들을 머지하여 어레이 파일을 생성하는 어레이 파일 생성부를 포함하는 안면인식서버를 포함하고, 상기 얼굴인식모델은, 상기 입력 이미지로부터 상기 얼굴이미지를 추출하는 얼굴이미지 추출부; 및 상기 얼굴이미지가 사람을 촬영한 실물이미지인 경우, 상기 얼굴이미지에 포함된 얼굴로부터 특징벡터를 추출하는 특징벡터 추출부를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 안면인식서버에서 생성된 얼굴인식모델을 각 에지 디바이스에 배포됨으로써 얼굴인식 및 인증처리가 에지 디바이스에 수행되기 때문에 출입하는 사용자의 인원이 많은 곳에 안면인식시스템이 적용되더라도 고성능 및 고가의 서버가 요구되지 않아 안면인식시스템의 구축비용을 감소시킬 수 있다는 효과가 있다.
또한, 본 발명에 따르면 각 에지 디바이스에 배포됨으로써 얼굴인식 및 인증처리가 에지 디바이스에 수행되기 때문에 서버 또는 네트워크에 장애가 발생하더라도 얼굴인식 서비스를 지속적으로 제공할 수 있어 서비스 제공 신뢰도를 향상시킬 수 있고, 디바이스에서 촬영된 얼굴이미지가 서버로 전송되지 않기 때문에 얼굴이미지가 외부로 유출될 가능성이 사전에 차단되어 개인정보 보안을 향상시킬 수 있다는 효과가 있다.
또한, 본 발명은 사용자 단말기에 설치된 얼굴등록 에이전트를 이용하여 사용자의 얼굴을 촬영한 사용자이미지를 등록할 수 있기 때문에, 간편하게 사용자이미지를 등록할 수 있다는 효과가 있다.
또한, 본 발명은 얼굴이미지의 랜드마크 좌표를 이용하여 기준 랜드마크 좌표를 기준으로 얼굴이미지를 정렬할 수 있기 때문에 얼굴이미지의 각도의 제약없이 얼굴이미지의 일관성을 부여할 수 있어 정확한 얼굴인식을 할 수 있다는 효과가 있다.
또한, 본 발명은 안면인식서버에서 각 사용자의 얼굴이미지로부터 획득된 복수개의 특징벡터들과 각 사용자의 키(Key)값으로 구성된 어레이파일을 암호화하여 에지 디바이스로 배포함으로써 보안을 강화할 수 있을 뿐만 아니라, 개인정보를 보호할 수 있다는 효과가 있다.
또한, 본 발명에 따르면, 심층신경망 기반으로 특징벡터 추출장치를 구현함으로써 얼굴의 특징을 나타내는 특징벡터를 정확하게 추출할 수 있어 장소나 조명에 종속되지 않고 정확한 얼굴인식이 가능해진다는 효과가 있다.
또한, 본 발명에 따르면 입력되는 얼굴이미지에서 얼굴의 특징을 인식 가능하게 하는 특징벡터를 추출할 수 있는 특징추출 알고리즘을 적용하여 256개 이상의 특징벡터를 추출할 수 있어 얼굴인식 정확도를 높일 수 있다는 효과가 있다.
또한, 본 발명에 따르면 특징벡터 추출장치를 구성하는 심층신경망의 트레이닝을 서로 다른 클래스에 속하는 얼굴이미지들의 분류시 발생되는 오차를 감소시킬 수 있어 얼굴인식 정확도를 극대화시킬 수 있다는 효과가 있다.
또한, 본 발명에 따르면 에지 디바이스에는 얼굴인식을 위한 얼굴인식모델 및 어레이 파일만 저장될 뿐 사용자의 얼굴이미지나 개인정보가 저장되지 않기 때문에 에지 디바이스가 해킹되더라도 사용자의 개인정보가 유출될 염려가 없어 보안이 강화된다는 효과가 있다.
또한, 본 발명은 신규 사용자의 추가시 하드웨어 변경이나 얼굴인식모델의 변경 없이 해당 신규 사용자의 얼굴 이미지에 대응되는 어레이 파일만을 에지 디바이스에 업데이트하면 되므로 신규 사용자의 추가가 용이해진다는 효과가 있다.
또한, 본 발명에 따르면, 2차원의 얼굴이미지로 실물이미지인지 여부를 판단할 수 있기 때문에, 시스템에 등록된 사용자의 얼굴이 포함된 사진으로 인증을 수행하는 것을 방지할 수 있어 보안 신뢰도가 향상된다는 효과가 있다.
또한, 본 발명에 따르면, 미등록사용자를 등록사용자로 잘못 승인한 인증결과를 기초로 기준임계치를 변경할 수 있기 때문에, 최적화된 기준임계치로 설정할 수 있을 뿐만 아니라, 보안신뢰도 또한 향상된다는 효과가 있다.
또한, 본 발명에 따르면, 안면인식을 수행하기 위해 미리 등록된 기준 이미지를 시공간 환경 변화에 따라 변경할 수 있기 때문에, 시간의 변화에 따른 사용자의 노화나, 장소의 특성에 따른 사용자의 촬영이미지의 해상도 등에 제한없이 사용자에 대한 인증을 수행할 수 있어 인증 정확도가 향상된다는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 AI 기반의 안면인식시스템의 구성을 개략적으로 보여주는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 안면인식서버의 구성을 개략적으로 보여주는 블록도이다.
도 3a는 사용자 이미지를 다운샘플링하여 해상도가 다른 복수개의 사용자 이미지를 획득하는 방법을 예시적으로 보여주는 도면이다.
도 3b는 얼굴이미지에서 랜드마크 좌표를 예시적으로 보여주는 도면이다.
도 4a 내지 도 4d는 얼굴인식모델을 구성하는 얼굴이미지 추출부의 구성을 보여주는 블록도이다.
도 5는 본 발명의 일 실시예에 따른 실물이미지 판단부의 구성을 보여주는 도면이다.
도 6은 본 발명에 따른 실물 특징벡터 추출부(310)의 구성을 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른 RGB 특징벡터 추출부가 제1 내지 제4 신경망 네트워크를 이용하여 제1 내지 제4 서브 RGB 특징벡터를 추출하고, 이로부터 RGB 특징벡터를 생성하는 것을 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 따른 깊이 특징벡터 추출부 및 반사 특징벡터 추출부가 깊이 특징벡터 및 반사 특징벡터를 추출하는 것을 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 따른 특징벡터 융합부의 구성을 보여주는 도면이다.
도 10은 실물이미지와 페이크이미지의 일예를 나타내는 도면이다.
도 11은 실물이미지로부터 추출된 제1 깊이 이미지 및 페이크 이미지로부터 추출된 제2 깊이 이미지의 일 예를 나타내는 도면이다.
도 12는 실물이미지로부터 추출된 제1 반사 이미지 및 페이크 이미지로부터 추출된 제2 반사 이미지의 일예를 나타내는 도면이다.
도 13은 본 발명에 따른 특징벡터 추출부의 구성을 개략적으로 보여주는 블록도이다.
도 14는 얼굴이미지 처리부에 포함된 제1 유닛의 구성을 보여주는 블록도이다.
도 15는 얼굴이미지 처리부에 포함된 제2 유닛의 구성을 보여주는 블록도이다.
도 16은 본 발명의 일 실시예에 따른 에지 디바이스 관리부(210)의 구성을 보여주는 도면이다.
도 17a는 제1 장소에서 촬영된 타겟사용자의 촬영이미지를 나타내는 도면이다.
도 17b는 제2 장소에서 촬영된 타겟사용자의 촬영이미지를 나타내는 도면이다.
도 18은 하루 단위 시간구간(T1)과 주, 월, 분기, 또는 연 단위 시간구간(T2)에 따라 최적 기준이미지를 변경하는 것을 나타내는 도면이다.
도 19a는 기준이미지 변경부가 장소 별로 기준이미지를 최적 기준이미지로 변경하는 일예를 보여주는 도면이다.
도 19b는 기준이미지 변경부가 장소 및 출입시간 별로 기준이미지를 최적 기준이미지로 변경하는 일예를 보여주는 도면이다.
도 20은 일반적인 얼굴인식모델이 동일인을 인식하지 못하는 예를 보여주는 도면이다.
도 21은 학습이미지들간의 거리에 따라 학습이미지를 벡터공간에 배치할 때 중첩되는 영역이 발생되는 예를 보여주는 도면이다.
도 22는 학습이미지를 2차원 각도 평면 상에 배치한 예를 보여주는 도면이다.
도 23은 2차원 각도 평면 상에서 학습 이미지들간에 마진각도가 부여되어 학습 이미지들이 이격되는 것을 예시적으로 보여주는 도면이다.
도 24는 오차감소부에 의해 오차감소가 수행되었을 때 서로 다른 환경에서 촬영된 동일인 이미지가 정확하게 분류되는 예를 보여주는 도면이다.
도 25는 본 발명의 제1 실시예에 따른 에지 디바이스의 구성을 개략적으로 보여주는 블록도이다
도 26은 인증부가 타겟 사용자를 인증하는 방법을 예시적으로 보여주는 도면이다.
도 27은 본 발명의 제2 실시예에 따른 에지 디바이스의 구성을 개략적으로 보여주는 블록도이다.
도 28a 및 도 28b는 제2 촬영부에 의해 생성되는 뎁스 이미지의 일 예를 보여주는 도면이다.
본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.
"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.
이하, 본 발명에 따른 AI 기반의 안면인식시스템의 구성을 도 1을 참조하여 보다 구체적으로 설명한다.
도 1은 본 발명의 일 실시예에 따른 AI 기반의 안면인식시스템의 구성을 개략적으로 보여주는 블록도이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 AI 기반의 안면인식시스템(1, 이하, '안면인식시스템'이라 함)은 안면인식서버(2) 및 복수개의 에지 디바이스(3)들을 포함한다.
안면인식서버(2)는 얼굴인식모델을 생성하고, 생성된 얼굴인식모델을 이용하여 사용자 단말기(4)로부터 입력되는 사용자의 얼굴정보로부터 추출된 특징벡터를 이용하여 타겟사용자의 인증을 위한 어레이 파일(Array File)을 생성한다. 안면인식서버(2)는 생성된 어레이 파일을 에지 디바이스(3)로 전송함으로써 에지 디바이스(3)가 타겟사용자를 인증할 수 있도록 한다.
이를 위해, 본 발명에 따른 안면인식서버(2)는 도 2에 도시된 바와 같이, 사용자 등록부(10), 입력 이미지 생성부(20), 얼굴인식부(30), 얼굴인식모델(40), 어레이 파일 생성부(45), 에지 디바이스 관리부(50), 출입권한정보 관리부(60), 인터페이스부(65) 및 얼굴인식모델 트레이닝부(70)를 포함한다.
사용자 등록부(10)는 등록을 희망하는 사용자의 사용자 단말기(4)로부터 하나 이상의 사용자 이미지를 수신한다. 사용자 등록부(10)는 사용자 이미지가 수신되면 해당 사용자가 사용자 이미지와 동일인인지 여부를 확인하고, 동일인인 것으로 판단되면 해당 사용자에게 부여되어 있는 출입권한정보를 획득하여 사용자 이미지와 함께 사용자 데이터베이스(12)에 등록한다. 이때, 사용자 이미지는 타겟 사용자의 촬영이미지와 비교되는 기준이미지를 의미한다.
일 실시예에 있어서, 사용자 등록부(10)는 사용자 단말기(4)로부터 해당 사용자의 식별정보를 사용자 이미지와 함께 수신할 수 있다. 예컨대, 사용자 등록부(10)는 사용자의 아이디, 성명, 전화번호, 또는 사용자의 직원번호 등과 같은 사용자의 식별정보를 해당 사용자 이미지와 함께 수신할 수 있다. 이러한 실시예에 따르는 경우 사용자 등록부(10)는 사용자의 식별정보 및 사용자의 출입권한정보를 해당 사용자 이미지와 함께 사용자 데이터베이스(12)에 등록할 수 있다.
한편, 사용자 등록부(10)는 사용자 단말기(4)로부터 복수개의 사용자 이미지를 입력 받는 경우 서로 다른 사용자 이미지가 입력 되도록 유도할 수 있다. 예컨대, 사용자 등록부(10)는 사용자가 사용자 단말기(4)를 통해 다른 환경에서 촬영된 사용자 이미지 또는 다른 조도에서 촬영된 사용자 이미지를 입력하도록 유도할 수 있다. 이와 같이, 사용자 등록부(10)가 한 명의 사용자로부터 서로 다른 환경 또는 서로 다른 조도에서 촬영된 복수개의 사용자 이미지를 수신함으로써 얼굴인식의 정확도를 향상시킬 수 있게 된다.
입력 이미지 생성부(20)는 사용자 등록부(10)에 의해 입력된 사용자 이미지로부터 얼굴인식에 이용될 입력 이미지를 생성한다. 구체적으로 입력 이미지 생성부(20)는 하나의 사용자 이미지를 미리 정해진 단계까지 다운샘플링하거나 업샘플링함으로써 하나의 사용자 이미지로부터 해상도가 서로 다른 복수개의 사용자 이미지들을 생성한다. 예컨대, 입력 이미지 생성부(20)는 도 3a에 도시된 바와 같이 하나의 사용자 이미지(21)를 다운샘플링함으로써 해상도가 서로 다른 복수개의 사용자 이미지(21a~21n)를 생성할 수 있다.
일 실시예에 있어서, 입력 이미지 생성부(20)는 사용자 이미지에 가우시안 피라미드(Gaussian Pyramid)를 적용함으로써 다운샘플링된 사용자 이미지를 생성하거나, 사용자 이미지에 라플라시안 피라미드(Laplacian Pyramid)를 적용함으로써 업샘플링된 사용자 이미지를 생성할 수 있다.
해상도가 서로 다른 복수개의 사용자 이미지가 생성되면, 입력 이미지 생성부(20)는 각각의 사용자 이미지에 대해, 도 3b에 도시된 바와 같이 사용자 이미지(21) 상에서 미리 정해진 픽셀크기의 윈도우(23)를 이동시켜가면서 획득되는 복수개의 이미지를 입력 이미지로 생성한다. 입력 이미지 생성부(20)는 생성된 복수개의 입력 이미지를 얼굴인식부(30)로 입력한다.
얼굴인식부(30)는 얼굴인식모델 트레이닝부(70)에 의해 트레이닝된 얼굴인식모델(40)에 입력 이미지 생성부(20)에 의해 생성된 복수개의 입력 이미지를 입력함으로써 얼굴영역이 포함된 얼굴이미지를 획득하고, 획득된 얼굴이미지가 사람을 촬영한 실물이미지인지 여부를 판단하고, 획득된 얼굴 이미지로부터 특징벡터를 추출한다.
일 실시예에 있어서 얼굴인식모델(40)은 입력 이미지로부터 얼굴이미지를 추출하는 얼굴이미지 추출부(75), 추출된 얼굴이미지로부터 실물이미지 여부를 판단하는 실물이미지 판단부(80) 및 얼굴이미지로부터 특징벡터를 추출하는 특징벡터 추출부(85)를 포함할 수 있다.
이하, 도 4 내지 도 15를 참조하여 얼굴인식부(30)가 얼굴인식모델(40)에 포함된 얼굴이미지 추출부(75), 실물이미지 판단부(80) 및 실물 특징벡터 추출부(85)를 이용하여 입력 이미지로부터 얼굴이미지와 특징벡터를 추출하는 내용에 대해 구체적으로 설명한다.
도 4a 내지 도 4d는 얼굴인식모델을 구성하는 얼굴이미지 추출부의 구성을 보여주는 블록도이다. 본 발명에 따른 얼굴이미지 추출부(75)는 컨벌루션 신경망(Convolutional Neural Network: CNN)을 기반으로 구성되어 입력 이미지로부터 얼굴영역이 포함된 얼굴이미지를 추출한다. 이러한 얼굴이미지 추출부(75)는 도 4a에 도시된 바와 같이, 제1 얼굴탐지부(90), 제2 얼굴탐지부(95), 제3 얼굴탐지부(100), 및 얼굴 이미지 정렬부(105)를 포함한다.
제1 얼굴탐지부(90)는 얼굴인식부(30)에 의해 입력되는 입력 이미지에 컨벌루션 연산을 적용함으로써 각 입력 이미지들의 피쳐를 추출하고, 추출된 피쳐를 기초로 해당 입력 이미지 상에서 얼굴영역을 1차적으로 추출한다.
이를 위해, 제1 얼굴탐지부(90)는 도 4b에 도시된 바와 같이 n개의 컨벌루션 연산부(110a~110c), 샘플링부(115), 제1 및 제2 차원감소부(120a, 120b), 및 제1 확률값 연산부(125)를 포함한다.
일 실시예에 있어서, 제1 얼굴탐지부(90)는 3개의 컨벌루션 연산부(110a~110c)를 포함할 수 있다. 도 4b에서는 설명의 편의를 위해 제1 얼굴탐지부(90)가 3개의 컨벌루션 연산부(110a~110c)를 포함하는 것으로 도시하였지만, 이는 하나의 예일 뿐 제1 얼굴탐지부(90)는 4개 이상의 컨벌루션 연산부를 포함하거나 1개 또는 2개의 컨벌루션 연산부를 포함할 수도 있을 것이다.
제1 내지 제3 컨벌루션 연산부(110a~110c) 각각은 입력되는 이미지에 컨벌루션 필터를 적용하여 피쳐맵을 생성하고, 생성된 피쳐맵에 활성화함수를 적용함으로써 피쳐맵에 비선형적 특성을 반영한다. 이때, 제1 내지 제3 컨벌루션 연산부(110a~110c)에 적용되는 컨벌루션 필터는 서로 상이한 필터일 수 있다.
일 실시예에 있어서, 제1 내지 제3 컨벌루션 연산부(110a~110c)에서 이용되는 활성화함수는 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 미리 정해진 크기만큼 감소된 값으로 출력하는 활성화함수일 수 있다. 여기서, 활성화함수란 복수의 입력정보에 가중치를 부여하여 결합해 완성된 결과값을 출력하는 함수를 의미한다.
샘플링부(115)는 제1 컨벌루션 연산부(110a)로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 피쳐맵으로부터 특징값을 추출한다. 일 실시예에 있어서, 샘플링부(115)는 피쳐맵 상에서 샘플링 필터에 상응하는 영역에 포함된 픽셀값들 중 최대값을 피쳐맵의 특징값으로 추출할 수 있다. 이러한 실시예에 따르는 경우 샘플링부(115)는 맥스 풀링(Max Pooling) 레이어로 구현될 수 있고, 맥스 풀링 레이어를 통해 피쳐맵의 차원이 감소된다. 샘플링부(115)는 차원이 감소된 피쳐맵을 제2 컨벌루션 연산부(110b)로 입력한다.
제1 차원감소부(120a)는 제3 컨벌루션 연산부(110c)에서 출력되는 피쳐맵에 제1 차원감소 필터를 적용함으로써 제3 컨벌루션 연산부(110c)에서 출력되는 피쳐맵의 차원을 감소시킨다. 일 실시예에 있어서 제1 차원감소 필터는 피쳐맵을 2차원으로 감소시킬 수 있는 필터로 설정될 수 있다.
제1 확률값 연산부(125)는 제1 차원감소부(120a)에 의해서 출력되는 2차원의 출력 데이터에 미리 정해진 분류함수를 적용함으로써 해당 입력 이미지에 얼굴영역이 포함되어 있는지 여부에 대한 제1 확률값을 계산한다. 일 실시예에 있어서, 제1 확률값 연산부(125)는 산출된 제1 확률값이 제1 문턱값 이상이면 입력 이미지에 얼굴영역이 포함되어 있는 것으로 판단할 수 있다.
제2 차원감소부(120b)는 제1 확률값 연산부(125)에 의해 산출된 제1 확률값이 제1 문턱값 이상인 경우 제3 컨벌루션 연산부(110c)에서 출력되는 피쳐맵에 제2 차원감소 필터를 적용함으로써 제3 컨벌루션 연산부(110c)에서 출력되는 피쳐맵의 차원을 감소시킨다. 일 실시예에 있어서 제2 차원감소 필터는 피쳐맵을 4차원으로 감소시킬 수 있는 필터로 설정될 수 있고, 제2 차원 감소부(120b)는 4차원으로 출력되는 4개의 값을 해당 입력 이미지 상에서의 얼굴영역 좌표로 결정한다. 이때, 얼굴영역의 좌표는 얼굴이 포함된 영역을 사각형 형태의 바운딩박스(Bounding Box)로 표시하였을 때 좌측 상단 꼭지점의 좌표와 우측 하단 꼭지점의 좌표로 정의되거나, 우측상단 꼭지점의 좌표와 좌측 하단 꼭지점의 좌표로 정의될 수 있다.
제2 얼굴탐지부(95)는 제1 얼굴탐지부(90)에 의해 얼굴영역이 포함된 것으로 판단된 입력 이미지들 및 해당 입력 이미지들 상에서의 얼굴영역의 좌표를 입력 받고, 해당 입력 이미지들 상에서 얼굴영역의 좌표에 해당하는 제1 서브 입력 이미지들에 컨벌루션 연산을 적용함으로써 제1 서브 입력 이미지들의 피쳐를 추출하고, 추출된 피쳐를 기초로 제1 서브 입력 이미지들 상에서 얼굴영역을 2차적으로 추출한다.
이를 위해, 도 4c에 도시된 바와 같이, 제2 얼굴탐지부(95)는 n개의 컨벌루션 연산부(130a~130c), 제2 내지 제3 샘플링부(135a, 135b), 제1 차원증가부(140), 제3 및 제4 차원감소부(145a, 145b), 및 제2 확률값 연산부(150)를 포함한다.
일 실시예에 있어서, 제2 얼굴탐지부(95)는 3개의 컨벌루션 연산부(130a~130c)를 포함할 수 있다. 도 4c에서는 설명의 편의를 위해 제2 얼굴탐지부(95)가 3개의 컨벌루션 연산부(130a~130c)를 포함하는 것으로 도시하였지만, 이는 하나의 예일 뿐 제2 얼굴탐지부(95)는 제1 얼굴탐지부(320)에 포함된 컨벌루션 연산부(110a~312c)의 개수 이상의 컨벌루션 연산부를 포함할 수 있다.
제4 내지 제6 컨벌루션 연산부(130a~312c) 각각은 입력되는 이미지에 컨벌루션 필터를 적용하여 피쳐맵을 생성하고, 생성된 피쳐맵에 활성화함수를 적용함으로써 피쳐맵에 비선형적 특성을 반영한다. 일 실시예에 있어서, 제4 내지 제6 컨벌루션 연산부(130a~312c)가 이용하는 활성화함수는 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 미리 정해진 크기만큼 감소된 값으로 출력하는 활성화함수일 수 있다.
제2 샘플링부(135a)는 제4 컨벌루션 연산부(130a)로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 해당 피쳐맵에서 특징값을 추출하고, 제3 샘플링부(135b)는 제5 컨벌루션 연산부(130b)로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 해당 피쳐맵에서 특징값을 추출한다. 일 실시예에 있어서, 제2 및 제3 샘플링부(135a, 135b)는 각각의 피쳐맵 상에서 샘플링 필터에 상응하는 영역에 포함된 픽셀값들 중 최대값을 피쳐맵의 특징값으로 추출할 수 있다. 이러한 실시예에 따르는 경우 제2 및 제3 샘플링부(135a, 135b)는 맥스풀링 레이어로 구현될 수 있고, 맥스풀링 레이어를 통해 각 피쳐맵의 차원이 감소된다.
제1 차원증가부(140)는 제6 컨벌루션 연산부(130c)에서 출력되는 피쳐맵이 미리 정해진 크기의 차원을 갖도록 복수개의 노드들을 이용하여 피쳐맵의 차원을 증가시킨다. 일 실시예에 있어서, 제1 차원증가부(140)는 제6 컨벌루션 연산부(130c)에서 출력되는 피쳐맵이 128*128의 크기를 갖거나 256*256의 크기를 갖도록 차원을 증가시킬 수 있다.
제1 차원 증가부(140)는 차원이 증가된 피쳐맵에 활성화함수를 적용함으로써 차원이 증가된 피쳐맵에 비선형적 특정을 반영한다. 일 실시예에 있어서, 제1 차원 증가부(140)는 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 미리 정해진 크기만큼 감소된 값으로 출력하는 활성화함수를 적용하여 피쳐맵에 비선형적 특성을 반영할 수 있다.
제3 차원감소부(145a)는 제1 차원증가부(140)에서 출력되는 피쳐맵에 제3 차원감소 필터를 적용함으로써 제1 차원증가부(140)에서 출력되는 피쳐맵의 차원을 감소시킨다. 일 실시예에 있어서 제3 차원감소 필터는 피쳐맵을 2차원으로 감소시킬 수 있는 필터로 설정될 수 있다.
제2 확률값 연산부(329)는 제3 차원감소부(145a)에 의해서 출력되는 2차원의 출력 데이터에 미리 정해진 분류함수를 적용함으로써 해당 제1 서브 입력 이미지에 얼굴영역이 포함되어 있는지 여부에 대한 제2 확률값을 계산한다. 일 실시예에 있어서, 제2 확률값 연산부(150)는 산출된 제2 확률값이 제1 문턱값보다 큰 제2 문턱값 이상이면 해당 제1 서브 입력이미지에 얼굴영역이 포함된 것으로 판단할 수 있다.
제4 차원감소부(145b)는 제2 확률값 연산부(329)에 의해 산출된 제2 확률값이 제2 문턱값 이상인 경우 제1 차원증가부(140)에서 출력되는 피쳐맵에 제4 차원감소 필터를 적용함으로써 제1 차원증가부(140)에서 출력되는 피쳐맵의 차원을 감소시킨다. 일 실시예에 있어서 제4 차원감소 필터는 피쳐맵을 4차원으로 감소시킬 수 있는 필터로 설정될 수 있고, 제4 차원 감소부(145b)는 4차원으로 출력되는 4개의 값을 해당 제1 서브 입력 이미지 상에서의 얼굴영역 좌표로 결정한다. 이때, 얼굴영역의 좌표는 얼굴이 포함된 영역을 사각형 형태의 바운딩박스로 표시하였을 때 좌측 상단 꼭지점의 좌표와 우측 하단 꼭지점의 좌표로 정의되거나, 우측상단 꼭지점의 좌표와 좌측 하단 꼭지점의 좌표로 정의될 수 있다.
제3 얼굴탐지부(100)는 제2 얼굴탐지부(95)에 의해 얼굴영역이 포함된 것으로 판단된 제1 서브 입력 이미지들 및 해당 제1 서브 입력 이미지들 상에서의 얼굴영역의 좌표를 입력 받고, 해당 제1 서브 입력 이미지들 상에서 얼굴영역의 좌표에 해당하는 제2 서브 입력 이미지들에 컨벌루션 연산을 적용함으로써 제2 서브 입력 이미지들의 피쳐를 추출하고, 추출된 피쳐를 기초로 제2 서브 입력 이미지들 상에서 얼굴영역을 3차적으로 추출한다.
이를 위해, 제3 얼굴탐지부(100)는 도 4d에 도시된 바와 같이 n+1개의 컨벌루션 연산부(155a~155d), 제4 내지 제6 샘플링부(160a~160c), 제2 차원증가부(165), 제5 내지 제6 차원감소부(170a~170c), 및 제3 확률값 연산부(175)를 포함한다.
일 실시예에 있어서, 제3 얼굴탐지부(100)는 4개의 컨벌루션 연산부(155a~155d)를 포함할 수 있다. 도 4d에서는 설명의 편의를 위해 제3 얼굴탐지부(100)가 4개의 컨벌루션 연산부(155a~155d)를 포함하는 것으로 도시하였지만, 이는 하나의 예일 뿐 제3 얼굴탐지부(100)는 제2 얼굴탐지부(95)에 포함된 컨벌루션 연산부(130a~322c)의 개수 이상의 컨벌루션 연산부를 포함한다면 그 개수에는 제한이 없을 수 있다.
제7 내지 제10 컨벌루션 연산부(155a~155d) 각각은 입력되는 이미지에 컨벌루션 필터를 적용하여 피쳐맵을 생성하고, 생성된 피쳐맵에 활성화함수를 적용함으로써 피쳐맵에 비선형적 특성을 반영한다. 일 실시예에 있어서, 제7 내지 제10 컨벌루션 연산부(155a~155d)가 이용하는 활성화함수는 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 미리 정해진 크기만큼 감소된 값으로 출력하는 활성화함수일 수 있다.
제4 샘플링부(160a)는 제7 컨벌루션 연산부(155a)로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 해당 피쳐맵에서 특징값을 추출하고, 제5 샘플링부(160b)는 제8 컨벌루션 연산부(155b)로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 해당 피쳐맵에서 특징값을 추출하며, 제6 샘플링부(160c)는 제9 컨벌루션 연산부(155c)로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 해당 피쳐맵에서 특징값을 추출한다. 일 실시예에 있어서, 제4 내지 제6 샘플링부(160a~160c)는 각각의 피쳐맵 상에서 샘플링 필터에 상응하는 영역에 포함된 픽셀값들 중 최대값을 피쳐맵의 특징값으로 추출할 수 있다. 이러한 실시예에 따르는 경우 제4 내지 제6 샘플링부(160a~160c)는 맥스풀링 레이어로 구현될 수 있고, 맥스풀링 레이어를 통해 각 피쳐맵의 차원이 감소된다.
제2 차원증가부(165)는 제10 컨벌루션 연산부(155d)에서 출력되는 피쳐맵이 미리 정해진 크기의 차원을 갖도록 복수개의 노드들을 이용하여 피쳐맵의 차원을 증가시킨다. 일 실시예에 있어서, 제2 차원증가부(165)는 제10 컨벌루션 연산부(155d)에서 출력되는 피쳐맵이 128*128의 크기를 갖거나 256*256의 크기를 갖도록 차원을 증가시킬 수 있다.
제2 차원 증가부(165)는 차원이 증가된 피쳐맵에 활성화함수를 적용함으로써 차원이 증가된 피쳐맵에 비선형적 특정을 반영한다. 일 실시예에 있어서, 제2 차원 증가부(165)는 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 미리 정해진 크기만큼 감소된 값으로 출력하는 활성화함수를 적용하여 피쳐맵에 비선형적 특성을 반영할 수 있다.
제5 차원감소부(170a)는 제2 차원증가부(165)에서 출력되는 피쳐맵에 제5 차원감소 필터를 적용함으로써 제2 차원증가부(165)에서 출력되는 피쳐맵의 차원을 감소시킨다. 일 실시예에 있어서 제5 차원감소 필터는 피쳐맵을 2차원으로 감소시킬 수 있는 필터로 설정될 수 있다.
제3 확률값 연산부(175)는 제5 차원감소부(170a)에 의해서 출력되는 2차원의 출력 데이터에 미리 정해진 분류함수를 적용함으로써 해당 제2 서브 입력 이미지에 얼굴영역이 포함되어 있는지 여부에 대한 제3 확률값을 계산한다. 일 실시예에 있어서, 제3 확률값 연산부(175)는 산출된 제3 확률값이 제2 문턱값보다 큰 제3 문턱값 이상이면 해당 제2 서브 입력이미지에 얼굴영역이 포함된 것으로 판단한다.
제6 차원감소부(170b)는 제3 확률값 연산부(175)에 의해 산출된 제3 확률값이 제3 문턱값 이상인 경우 제2 차원증가부(165)에서 출력되는 피쳐맵에 제6 차원감소 필터를 적용함으로써 제2 차원증가부(165)에서 출력되는 피쳐맵의 차원을 감소시킨다. 일 실시예에 있어서 제6 차원감소 필터는 피쳐맵을 4차원으로 감소시킬 수 있는 필터로 설정될 수 있고, 제6 차원 감소부(170b)는 4차원으로 출력되는 4개의 값을 해당 제2 서브 입력 이미지 상에서의 얼굴영역 좌표로 결정한다. 이때, 얼굴영역의 좌표는 얼굴이 포함된 영역을 사각형 형태의 바운딩박스로 표시하였을 때 좌측 상단 꼭지점의 좌표와 우측 하단 꼭지점의 좌표로 정의되거나, 우측상단 꼭지점의 좌표와 좌측 하단 꼭지점의 좌표로 정의될 수 있다.
제6 차원감소부(170b)는 산출된 얼굴영역 좌표를 이용하여 얼굴영역이 포함된 것으로 판단된 제2 서브 입력 이미지 상에서 얼굴 이미지를 추출한다.
제7 차원감소부(170c)는 제3 확률값 연산부(175)에 의해 산출된 제3 확률값이 제3 문턱값 이상인 경우 제2 차원증가부(165)에서 출력되는 피쳐맵에 제7 차원감소 필터를 적용함으로써 제2 차원증가부(165)에서 출력되는 피쳐맵의 차원을 감소시킨다. 일 실시예에 있어서 제7 차원감소 필터는 피쳐맵을 10차원으로 감소시킬 수 있는 필터로 설정될 수 있고, 제7 차원 감소부(170c)는 10차원으로 출력되는 10개의 값을 해당 제2 서브 입력 이미지 상에서의 랜드마크 좌표로 결정한다. 이때, 랜드마크 좌표는 도 3c에 도시된 바와 같이 제2 서브 입력 이미지(171) 상에서의 2개의 눈의 좌표(172a, 172b), 코의 좌표(173), 2개의 입의 좌표(174a, 174b)를 의미하고, 2개의 입의 좌표(174a, 174b)는 입의 좌측 꼬리에 대한 좌표(174a) 및 입의 우측 꼬리에 대한 좌표(174b)를 의미한다.
이와 같이, 본 발명에 따르면 얼굴이미지 추출부(75)가 제1 내지 제3 얼굴탐지부(90~100)로 구현되고, 제1 얼굴탐지부(90)는 제2 얼굴탐지부(95)에 비해 얕은(Shallow) 뎁스의 네트워크로 구성되고, 제2 얼굴탐지부(95)는 제3 얼굴탐지부(100)에 비해 얕은 뎁스의 네트워크로 구성됨으로써 얼굴이미지 추출부(75)가 전체적으로 Shallow-to-Deep구조로 단계적인 형태로 형성되도록 한다. 이를 통해, 얼굴이미지 추출의 정확도를 향상시킴과 동시에 복잡도를 감소시킴으로써 얼굴인식 속도 측면에서 이득을 취할 수 있게 된다.
얼굴 이미지 정렬부(105)는 제3 얼굴탐지부(100)에서 출력된 랜드마크 좌표를 이용하여 얼굴이미지를 정렬한다. 구체적으로, 얼굴 이미지 정렬부(105)는 추출된 얼굴이미지에 대한 랜드마크 좌표를 이용하여 얼굴이미지에 대해 회전, 평행이동, 확대 및 축소 중 적어도 하나를 수행하여 얼굴이미지를 정렬한다.
본 발명에서 얼굴 이미지 정렬부(105)를 이용하여 얼굴이미지를 정렬하는 이유는 실물이미지 판단부(80) 및 특징벡터 추출부(85)에 입력으로 제공될 얼굴이미지에 일관성을 부여함으로써 얼굴인식 성능을 향상시키기 위함이다.
일 실시예에 있어서, 얼굴 이미지 정렬부(105)는 제3 얼굴탐지부(100)에 의해 추출된 얼굴이미지를 실물이미지 판단부(80) 및 특징벡터 추출부(85)에서 이용되는 얼굴이미지와 동일한 해상도로 리사이징(Resizing)하고, 특징벡터 추출부(85)에서 이용되는 해상도의 얼굴이미지에 대한 기준 랜드마크 좌표를 기준으로 제3 얼굴탐지부(100)에 의해 산출된 랜드마크 좌표를 이동시킴으로써 얼굴이미지를 회전, 평행이동, 확대 또는 축소시킬 수 있다.
실물이미지 판단부(80)는 얼굴이미지 추출부(75)로부터 추출된 얼굴이미지가 사람을 촬영한 실물이미지인지 여부를 판단한다. 구체적으로, 실물이미지 판단부(80)는 신경망 네트워크를 이용하여 타겟 사용자의 얼굴이미지로부터 얼굴이미지의 RGB를 표현하는 RGB 특징벡터, 얼굴이미지의 깊이를 표현하는 깊이 특징벡터, 얼굴이미지의 빛 반사를 표현하는 반사 특징벡터를 추출하고, 추출된 각 특징벡터로 얼굴이미지의 실물이미지 여부를 판단한다.
본 발명에 따른 실물이미지 판단부(80)가 얼굴이미지 추출부(75)에 의해 추출된 얼굴이미지로 실물이미지 여부를 판단하는 이유는, 주변환경에 대한 정보를 최소화함으로써 불필요한 정보로 인하여 발생하는 과적합(Overfitting) 및 일반화 성능 저하를 방지하기 위함이다.
이하, 도 5을 참조하여 실물이미지 판단부(80)에 대해 보다 구체적으로 설명한다.
도 5는 본 발명의 일 실시예에 따른 실물이미지 판단부(80)의 구성을 보여주는 도면이다.
본 발명에 따른 실물이미지 판단부(80)는 실물 특징벡터 추출부(200), 특징벡터 융합부(201), 및 판단부(202)를 포함한다.
실물 특징벡터 추출부(200)는 타겟 사용자의 얼굴이미지로부터 얼굴이미지의 실물이미지 여부를 판단하기 위해 신경망 네트워크를 이용하여 얼굴이미지의 깊이를 표현하는 깊이 특징벡터, 및 얼굴이미지의 빛 반사를 표현하는 반사 특징벡터 중 적어도 하나와 얼굴이미지의 RGB를 표현하는 RGB 특징벡터를 추출한다.
도 6은 본 발명에 따른 실물 특징벡터 추출부(200)의 구성을 보여주는 도면이다.
도 6에 도시된 바와 같이 실물 특징벡터 추출부(200)는 RGB 특징벡터 추출부(210), 깊이 특징벡터 추출부(215), 및 반사 특징벡터 추출부(220)를 포함한다.
RGB 특징벡터 추출부(210)는 RGB 신경망 네트워크를 이용하여 얼굴이미지로부터 RGB 특징벡터를 추출한다. 이때, RGB 신경망 네트워크는 사람을 촬영한 2차원 실물이미지와 사진을 촬영한 2차원 페이크 이미지로 학습된다.
이를 위해, RGB 특징벡터 추출부(210)는 제1 서브 RGB 특징벡터 추출부(225), 제2 서브 RGB 특징벡터 추출부(230), 제3 서브 RGB 특징벡터 추출부(235), 제4 서브 RGB 특징벡터 추출부(240), 및 RGB 특징벡터 생성부(245)를 포함한다. 여기서, RGB 특징벡터 추출부(210)가 4개의 서브 RGB 특징벡터 추출부(225-240)를 포함하는 것으로 설명하였으나, 이는 설명의 편의를 위한 것으로, RGB 특징벡터 추출부(210)는 3개 이하의 서브 RGB 특징벡터 추출부 또는 5개 이상의 서브 RGB 특징벡터 추출부를 포함할 수 있다.
제1 서브 RGB 특징벡터 추출부(225)는 제1 RGB 신경망 네트워크로 얼굴이미지의 피쳐맵을 생성하고, 피쳐맵을 기초로 얼굴이미지로부터 제1 서브 RGB 특징벡터를 추출한다. 제1 서브 RGB 특징벡터 추출부(225)는 추출된 제1 서브 RGB 특징벡터를 제2 서브 RGB 특징벡터 추출부(230)로 전달한다. 또한, 제1 서브 RGB 특징벡터 추출부(225)는 제1 서브 RGB 특징벡터를 깊이 특징벡터 추출부(215) 및 반사 특징벡터 추출부(220)로 전달한다.
제2 서브 RGB 특징벡터 추출부(230)는 제2 서브 RGB 신경망 네트워크로 제1 서브 RGB 특징벡터 추출부(225)로부터 전달된 제1 서브 RGB 특징벡터의 피쳐맵을 생성하고, 피쳐맵을 기초로 제1 서브 RGB 특징벡터로부터 제2 서브 RGB 특징벡터를 추출한다. 제2 서브 RGB 특징벡터 추출부(230)는 추출된 제2 서브 RGB 특징벡터를 제3 서브 RGB 특징벡터 추출부(230)로 전달한다. 또한, 제2 서브 RGB 특징벡터 추출부(230)는 제2 서브 RGB 특징벡터를 깊이 특징벡터 추출부(215) 및 반사 특징벡터 추출부(220)로 전달한다.
제3 서브 RGB 특징벡터 추출부(235)는 제3 서브 RGB 신경망 네트워크로 제2 서브 RGB 특징벡터 추출부(230)로부터 전달된 제2 RGB 서브 특징벡터의 피쳐맵을 생성하고, 피쳐맵을 기초로 제2 서브 RGB 특징벡터로부터 제3 서브 RGB 특징벡터를 추출한다. 제3 서브 RGB 특징벡터 추출부(235)는 추출된 제3 서브 RGB 특징벡터를 제4 서브 RGB 특징벡터 추출부(240)로 전달한다. 또한, 제3 서브 RGB 특징벡터 추출부(235)는 제3 서브 RGB 특징벡터를 깊이 특징벡터 추출부(215) 및 반사 특징벡터 추출부(220)로 전달한다.
제4 서브 RGB 특징벡터 추출부(240)는 제4 서브 RGB 신경망 네트워크로 제3 서브 RGB 특징벡터 추출부(235)로부터 전달된 제3 서브 RGB 특징벡터의 피쳐맵을 생성하고, 피쳐맵을 기초로 제3 서브 RGB 특징벡터로부터 제4 서브 RGB 특징벡터를 추출한다. 제4 서브 RGB 특징벡터 추출부(240)는 추출된 제4 서브 RGB 특징벡터를 RGB 특징벡터 생성부(245)로 전달한다.
이와 같이 서브 RGB 특징벡터 추출부는 n개의 RGB 신경망 네트워크를 이용하여 n개의 서브 RGB 특징벡터를 추출한다. 서브 RGB 특징벡터 추출부는 RGB 신경망 네트워크 별로 얼굴이미지의 피쳐맵을 생성하고, 피쳐맵을 기초로 얼굴이미지로부터 n개의 서브 RGB 특징벡터를 추출한다.
본 발명에 따른 서브 RGB 특징벡터 추출부가 n개의 서브 RGB 특징벡터를 추출하는 이유는, 서로 다른 크기를 갖는 서브 RGB 특징벡터로 RGB 특징벡터, 깊이 특징벡터, 반사 특징벡터를 생성하는 것이 하나의 고정된 크기의 특징벡터로 생성하는 것보다 해당 특징벡터의 표현력 및 구분력(Discriminative Power)이 풍부해지기 때문이다.
RGB 특징벡터 생성부(245)는 제1 내지 제4 서브 RGB 특징벡터 추출부(240)에 의해 생성된 제1 서브 RGB 특징벡터, 제2 서브 RGB 특징벡터, 제3 서브 RGB 특징벡터, 및 제4 서브 RGB 특징벡터를 조합하여 RGB 특징벡터를 생성한다. 구체적으로, RGB 특징벡터 생성부(245)는 제1 서브 RGB 특징벡터, 제2 서브 RGB 특징벡터, 제3 서브 RGB 특징벡터, 및 제4 서브 RGB 특징벡터를 합산하여 RGB 특징벡터를 생성한다.
본 발명에 따른 RGB 특징벡터 생성부(245)가 제1 내지 제4 서브 RGB 특징벡터를 합산하여 RGB 특징벡터를 생성하는 이유는, 하나의 고정된 크기의 특징벡터로 얼굴이미지의 실물이미지 여부를 판단하는 것에 비해, 여러 크기의 특징벡터를 이용하여 얼굴이미지의 실물이미지 여부를 판단하는 것이 성능이 향상되기 때문이다.
이하, 본 발명에 따른 제1 내지 제4 서브 RGB 특징벡터 추출부(225, 230, 235, 240, 245) 및 RGB 특징벡터 생성부(245)가 제1 내지 제4 RGB 신경망 네트워크를 이용하여 제1 내지 제4 서브 RGB 특징벡터를 추출하고, 이로부터 RGB 특징벡터를 생성하는 것을 도 7을 참조하여 설명한다.
도 7은 본 발명의 일 실시예에 따른 RGB 특징벡터 추출부(210)가 제1 내지 제4 신경망 네트워크를 이용하여 제1 내지 제4 서브 RGB 특징벡터를 추출하고, 이로부터 RGB 특징벡터를 생성하는 것을 보여주는 도면이다.
본 발명에 따른 제1 서브 RGB 특징벡터 추출부(225)가 이용하는 제1 RGB 신경망 네트워크는 4개의 RGB 컨벌루션 연산부(250a 내지 250d)를 포함하고, 2개의 RGB 샘플링부(255a, 255b)를 포함할 수 있다.
제1 내지 제4 RGB 컨벌루션 연산부(250a 내지 250d) 각각은 입력되는 얼굴이미지에 컨벌루션 필터를 적용하여 피쳐맵을 생성하고, 생성된 피쳐맵에 활성화함수를 적용함으로써 피쳐맵에 비선형적 특성을 반영한다. 이때, 제1 내지 제4 RGB 컨벌루션 연산부(250a 내지 250d)에 적용되는 컨벌루션 필터는 서로 상이한 필터일 수 있다.
일 실시예에 있어서, 제1 내지 제4 RGB 컨벌루션 연산부(250a 내지 250d)는 3*3 픽셀 크기를 갖고 스트라이드(Stride)의 값이 1인 컨벌루션 필터를 얼굴이미지에 적용하여 피쳐맵을 생성할 수 있다. 이와 같이, 본 발명에 따른 제1 내지 제4 RGB 컨벌루션 연산부(250a 내지 250d)는 3*3 픽셀크기를 갖고 스트라이드 값이 1인 컨벌루션 필터를 얼굴이미지에 적용하기 때문에 피쳐맵의 해상도를 높게 보존할 수 있게 된다.
일 실시예에 있어서, 제1 내지 제4 컨벌루션 연산부(250a 내지 250d)에서 이용되는 활성화함수는 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 0으로 출력하는 활성화함수일 수 있다. 여기서 활성화함수란 복수의 입력정보에 가중치를 부여하여 결합해 완성된 결과값을 출력하는 함수를 의미한다.
제1 RGB 샘플링부(255a)는 제2 RGB 컨벌루션 연산부(250b)로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 피쳐맵으로부터 특징값을 추출한다. 일 실시예에 있어서, 제1 RGB 샘플링부(255a)는 피쳐맵 상에서 샘플링 필터에 상응하는 영역에 포함된 픽셀값들 중 최대값을 피쳐맵의 특징값으로 추출할 수 있다. 이러한 실시예를 따를 때 제1 RGB 샘플링부(255a)는 맥스 풀링(MAX Pooling) 레이어로 구현될 수 있고, 맥스 풀링 레이어를 통해 피쳐맵의 차원이 감소된다. 제1 RGB 샘플링부(255a)는 차원이 감소된 피쳐맵을 제3 RGB 컨벌루션 연산부(250c)로 입력한다.
제2 RGB 샘플링부(255b)는 제4 RGB 컨벌루션 연산부(250d)로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 피쳐맵으로부터 제1 서브 RGB 특징벡터(a-1)의 특징값을 추출한다. 이때 제1 서브 RGB 특징벡터(a-1)의 픽셀크기는 128*128일 수 있다. 일 실시예에 있어서, 제2 RGB 샘플링부(255b)는 피쳐맵 상에서 샘플링 필터에 상응하는 영역에 포함된 픽셀값들 중 최대값을 피쳐맵의 특징값으로 추출할 수 있다. 이러한 실시예를 따를 때 제2 RGB 샘플링부(255b)는 맥스 풀링(MAX Pooling) 레이어로 구현될 수 있고, 맥스 풀링 레이어를 통해 피쳐맵의 차원이 감소된다.
제2 RGB 샘플링부(255b)는 추출된 제1 서브 RGB 특징벡터(a-1)의 피쳐맵을 제2 신경망 네트워크로 입력한다. 또한, 제2 RGB 샘플링부(255b)는 제1 서브 RGB 특징벡터(a-1)의 피쳐맵을 RGB 특징벡터 생성부(245)로 전달한다. 또한, 제2 RGB 샘플링부(255b)는 제1 서브 RGB 특징벡터(a-1)의 피쳐맵을 깊이 특징벡터 추출부(215) 및 반사 특징벡터 추출부(220)로 전달한다.
일 실시예에 있어서, 제1 내지 제2 RGB 샘플링부(255a, 255b)는 2*2의 픽셀크기를 갖고 스트라이드의 값이 2인 샘플링 필터를 각 RGB 컨벌루션 연산부(250b, 250d)로부터 출력되는 피쳐맵에 적용할 수 있다.
본 발명에 따른 제2 서브 RGB 특징벡터 추출부(230)가 이용하는 제2 RGB 신경망 네트워크는 3개의 RGB 컨벌루션 연산부(250e 내지 250g)를 포함하고, 1개의 RGB 샘플링부(255c)를 포함할 수 있다.
제5 내지 제7 RGB 컨벌루션 연산부(250e 내지 250g) 각각은 입력되는 피쳐맵에 컨벌루션 필터를 적용하여 피쳐맵을 생성하고, 생성된 피쳐맵에 활성화함수를 적용함으로써 피쳐맵에 비선형적 특성을 반영한다. 이때, 제5 내지 제7 RGB 컨벌루션 연산부(250e 내지 250g)에 적용되는 컨벌루션 필터는 서로 상이한 필터일 수 있다.
일 실시예에 있어서, 제5 내지 제7 RGB 컨벌루션 연산부(250e 내지 250g)는 3*3 픽셀 크기를 갖고 스트라이드(Stride)의 값이 1인 컨벌루션 필터를 얼굴이미지에 적용하여 피쳐맵을 생성할 수 있다. 이와 같이, 본 발명에 따른 제5 내지 제7 RGB 컨벌루션 연산부(250a 내지 250d)는 3*3 픽셀크기를 갖고 스트라이드 값이 1인 컨벌루션 필터를 얼굴이미지에 적용하기 때문에 피쳐맵의 해상도를 높게 보존할 수 있게 된다.
일 실시예에 있어서, 제5 내지 제7 컨벌루션 연산부(250e 내지 250g)에서 이용되는 활성화함수는 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 0으로 출력하는 활성화함수일 수 있다. 여기서 활성화함수란 복수의 입력정보에 가중치를 부여하여 결합해 완성된 결과값을 출력하는 함수를 의미한다.
제3 RGB 샘플링부(255c)는 제7 RGB 컨벌루션 연산부(250g)로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 피쳐맵으로부터 제2 서브 RGB 특징벡터(a-2)의 특징값을 추출한다. 이때 제2 서브 RGB 특징벡터(a-2)의 픽셀크기는 64*64일 수 있다. 일 실시예에 있어서, 제3 RGB 샘플링부(255c)는 피쳐맵 상에서 샘플링 필터에 상응하는 영역에 포함된 픽셀값들 중 최대값을 피쳐맵의 특징값으로 추출할 수 있다. 이러한 실시예를 따를 때 제3 RGB 샘플링부(255c)는 맥스 풀링(MAX Pooling) 레이어로 구현될 수 있고, 맥스 풀링 레이어를 통해 피쳐맵의 차원이 감소된다.
일 실시예에 있어서, 제3 RGB 샘플링부(255c)는 2*2의 픽셀크기를 갖고 스트라이드의 값이 2인 샘플링 필터를 제7 RGB 컨벌루션 연산부(250g)로부터 출력되는 피쳐맵에 적용할 수 있다
제3 RGB 샘플링부(255c)는 추출된 제2 서브 RGB 특징벡터(a-2)의 피쳐맵을 제3 RGB 신경망 네트워크로 입력한다. 또한, 제3 RGB 샘플링부(255c)는 제2 서브 RGB 특징벡터(a-2)의 피쳐맵을 RGB 특징벡터 생성부(245)로 전달한다. 또한, 제3 RGB 샘플링부(255c)는 제2 서브 RGB 특징벡터(a-2)의 피쳐맵을 깊이 특징벡터 추출부(215) 및 반사 특징벡터 추출부(220)로 전달한다.
본 발명에 따른 제3 서브 RGB 특징벡터 추출부(235)가 이용하는 제3 RGB 신경망 네트워크는 3개의 RGB 컨벌루션 연산부(250h 내지 250j)를 포함하고, 1개의 RGB 샘플링부(255d)를 포함할 수 있다.
제8 내지 제10 RGB 컨벌루션 연산부(250h 내지 250j) 각각은 입력되는 피쳐맵에 컨벌루션 필터를 적용하여 피쳐맵을 생성하고, 생성된 피쳐맵에 활성화함수를 적용함으로써 피쳐맵에 비선형적 특성을 반영한다. 이때, 제8 내지 제10 RGB 컨벌루션 연산부(250h 내지 250j)에 적용되는 컨벌루션 필터는 서로 상이한 필터일 수 있다.
일 실시예에 있어서, 제8 내지 제10 RGB 컨벌루션 연산부(250h 내지 250j)는 3*3 픽셀 크기를 갖고 스트라이드(Stride)의 값이 1인 컨벌루션 필터를 얼굴이미지에 적용하여 피쳐맵을 생성할 수 있다. 이와 같이, 본 발명에 따른 제8 내지 제10 RGB 컨벌루션 연산부(250h 내지 250j)는 3*3 픽셀크기를 갖고 스트라이드 값이 1인 컨벌루션 필터를 얼굴이미지에 적용하기 때문에 피쳐맵의 해상도를 높게 보존할 수 있게 된다.
일 실시예에 있어서, 제8 내지 제10 컨벌루션 연산부(250h 내지 250j)에서 이용되는 활성화함수는 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 0으로 출력하는 활성화함수일 수 있다. 여기서 활성화함수란 복수의 입력정보에 가중치를 부여하여 결합해 완성된 결과값을 출력하는 함수를 의미한다.
제4 RGB 샘플링부(255d)는 제10 RGB 컨벌루션 연산부(250j)로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 피쳐맵으로부터 제3 서브 RGB 특징벡터(a-3)의 특징값을 추출한다. 이때 제3 서브 RGB 특징벡터(a-3)의 픽셀크기는 32*32일 수 있다. 일 실시예에 있어서, 제4 RGB 샘플링부(255d)는 피쳐맵 상에서 샘플링 필터에 상응하는 영역에 포함된 픽셀값들 중 최대값을 피쳐맵의 특징값으로 추출할 수 있다. 이러한 실시예를 따를 때 제4 RGB 샘플링부(255d)는 맥스 풀링(MAX Pooling) 레이어로 구현될 수 있고, 맥스 풀링 레이어를 통해 피쳐맵의 차원이 감소된다.
일 실시예에 있어서, 제4 RGB 샘플링부(255d)는 2*2의 픽셀크기를 갖고 스트라이드의 값이 2인 샘플링 필터를 제10 RGB 컨벌루션 연산부(250j)로부터 출력되는 피쳐맵에 적용할 수 있다
제4 RGB 샘플링부(255d)는 추출된 제3 서브 RGB 특징벡터(a-3)의 피쳐맵을 제4 RGB 신경망 네트워크로 입력한다. 또한, 제4 RGB 샘플링부(255d)는 제3 서브 RGB 특징벡터(a-3)의 피쳐맵을 RGB 특징벡터 생성부(245)로 전달한다. 또한, 제4 RGB 샘플링부(255d)는 제3 서브 RGB 특징벡터(a-3)의 피쳐맵을 깊이 특징벡터 추출부(215) 및 반사 특징벡터 추출부(220)로 전달한다.
본 발명에 따른 제4 서브 RGB 특징벡터 추출부(240)가 이용하는 제4 RGB 신경망 네트워크는 3개의 RGB 컨벌루션 연산부(250k 내지 250m)를 포함하고, 1개의 RGB 샘플링부(255e)를 포함할 수 있다.
제11 내지 제13 RGB 컨벌루션 연산부(250k 내지 250m) 각각은 입력되는 피쳐맵에 컨벌루션 필터를 적용하여 피쳐맵을 생성하고, 생성된 피쳐맵에 활성화함수를 적용함으로써 피쳐맵에 비선형적 특성을 반영한다. 이때, 제11 내지 제13 RGB 컨벌루션 연산부(250k 내지 250m)에 적용되는 컨벌루션 필터는 서로 상이한 필터일 수 있다.
일 실시예에 있어서, 제11 내지 제13 RGB 컨벌루션 연산부(250k 내지 250m)는 3*3 픽셀 크기를 갖고 스트라이드(Stride)의 값이 1인 컨벌루션 필터를 얼굴이미지에 적용하여 피쳐맵을 생성할 수 있다. 이와 같이, 본 발명에 따른 제11 내지 제13 RGB 컨벌루션 연산부(250k 내지 250m)는 3*3 픽셀크기를 갖고 스트라이드 값이 1인 컨벌루션 필터를 얼굴이미지에 적용하기 때문에 피쳐맵의 해상도를 높게 보존할 수 있게 된다.
일 실시예에 있어서, 제11 내지 제13 컨벌루션 연산부(250k 내지 250m)에서 이용되는 활성화함수는 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 0으로 출력하는 활성화함수일 수 있다. 여기서 활성화함수란 복수의 입력정보에 가중치를 부여하여 결합해 완성된 결과값을 출력하는 함수를 의미한다.
제5 RGB 샘플링부(255e)는 제13 RGB 컨벌루션 연산부(250m)로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 피쳐맵으로부터 제4 서브 RGB 특징벡터(a-4)의 특징값을 추출한다. 이때 제4 서브 RGB 특징벡터(a-4)의 픽셀크기는 16*16일 수 있다. 일 실시예에 있어서, 제5 RGB 샘플링부(255e)는 피쳐맵 상에서 샘플링 필터에 상응하는 영역에 포함된 픽셀값들 중 최대값을 피쳐맵의 특징값으로 추출할 수 있다. 이러한 실시예를 따를 때 제5 RGB 샘플링부(255e)는 맥스 풀링(MAX Pooling) 레이어로 구현될 수 있고, 맥스 풀링 레이어를 통해 피쳐맵의 차원이 감소된다.
일 실시예에 있어서, 제5 RGB 샘플링부(255e)는 2*2의 픽셀크기를 갖고 스트라이드의 값이 2인 샘플링 필터를 제13 RGB 컨벌루션 연산부(250j)로부터 출력되는 피쳐맵에 적용할 수 있다
제5 RGB 샘플링부(255e)는 추출된 제4 서브 RGB 특징벡터(a-4)의 피쳐맵을 RGB 특징벡터 생성부(245)로 입력한다.
RGB 특징벡터 생성부(245)는 제2 RGB 샘플링부(255b)로부터 입력되는 제1 서브 RGB 특징벡터(a-1)의 피쳐맵, 제3 RGB 샘플링부(255c)로부터 입력되는 제2 서브 RGB 특징벡터(a-2)의 피쳐맵, 제4 RGB 샘플링부(255d)로부터 입력되는 제3 서브 RGB 특징벡터(a-3)의 피쳐맵, 및 제5 RGB 샘플링부(255e)로부터 입력되는 제4 서브 RGB 특징벡터(a-4)의 피쳐맵을 크기 조정을 하고, 이를 합산하여 RGB 특징벡터(a)를 생성한다. 이때, 크기 조정을 위해 RGB 특징벡터 생성부(245)는 패딩(Padding)을 수행할 수 있다.
RGB 특징벡터 생성부(245)는 생성된 RGB 특징벡터(a)를 특징벡터 융합부(205)로 전달한다.
다시 도 6을 참조하면, 깊이 특징벡터 추출부(215)는 RGB 특징벡터 추출부(210)로부터 입력되는 제1 서브 RGB 특징벡터, 제2 서브 RGB 특징벡터, 및 제3 서브 RGB 특징벡터를 기초로 깊이 특징벡터(b)를 생성한다.
타인의 얼굴이 포함된 사진이 촬영된 페이크이미지에는 깊이값이 존재할 수 없다. 따라서, 본 발명은 깊이 특징벡터 추출부(215)에서 추출되는 깊이 특징벡터를 기초로 실물이미지 판단을 정확하게 할 수 있다.
깊이 특징벡터 추출부(215)는 제1 서브 RGB 특징벡터, 제2 서브 RGB 특징벡터, 및 제3 서브 RGB 특징벡터의 크기를 조정하고, 이를 합산하여 입력 특징벡터를 생성한다. 깊이 특징벡터 추출부(215)는 깊이 신경망 네트워크를 이용하여 생성된 입력 특징벡터의 피쳐맵을 생성하고 해당 피쳐맵을 기초로 깊이 특징벡터(b)를 추출한다. 이때, 깊이 특징벡터 추출부(215)는 크기를 조정하기 위해 패딩을 수행할 수 있다. 깊이 신경망 네트워크는 사람을 촬영한 실물이미지로부터 추출된 제1 깊이이미지와 사진을 촬영한 페이크이미지로부터 추출된 제2 깊이이미지로 학습된다.
이하, 본 발명에 따른 깊이 특징벡터 추출부(215)가 깊이 신경망 네트워크를 이용하여 깊이 특징벡터(b)를 추출하는 것에 대해 도 8을 참조하여 보다 구체적으로 설명한다.
도 8은 본 발명의 일 실시예에 따른 깊이 특징벡터 추출부(215) 및 반사 특징벡터 추출부(220)가 깊이 특징벡터 및 반사 특징벡터를 추출하는 것을 보여주는 도면이다.
도 8에 도시된 바와 같이 깊이 특징벡터 추출부(215)가 깊이 특징벡터를 추출하기 위해 이용하는 깊이 신경망 네트워크는 3개의 깊이 컨벌루션 연산부(260a 내지 260c) 및 1개의 깊이 샘플링부(265a)를 포함한다. 이때, 제4 깊이 컨벌루션 연산부(260d)는 학습을 위해 실물이미지 및 페이크이미지로부터 제1 깊이 이미지 및 제2 깊이이미지를 생성한다. 이에 따라 실물이미지 또는 페이크 이미지에 포함된 얼굴이미지에서 깊이 이미지가 분리될 수 있다. 이때, 깊이이미지는 명암으로 거리를 표현하는 이미지를 의미한다. 예컨대, 깊이이미지는 밝아질 수록 카메라로부터 가까운 거리를 의미하고, 어두워질수록 카메라로부터 먼 거리를 의미한다.
제1 내지 제3 깊이 컨벌루션 연산부(260a 내지 260c) 각각은 합산된 제1 내지 제3 서브 RGB 특징벡터(a-1, a-2, a-3)의 피쳐맵에 컨벌루션 필터를 적용하여 피쳐맵을 생성하고, 생성된 피쳐맵에 활성화함수를 적용함으로써 피쳐맵에 비선형적 특성을 반영한다. 이때, 제1 내지 제3 깊이 컨벌루션 연산부(260a 내지 260c)에 적용되는 컨벌루션 필터는 서로 상이한 필터일 수 있다.
제3 깊이 컨벌루션 연산부(260c)에서 출력되는 피쳐맵은 깊이 특징벡터(b)의 피쳐맵으로서 특징벡터 융합부(205)로 전달되게 되고, 또한 제4 깊이 컨벌루션 연산부(260d)로 전달될 수 있다. 이때 깊이 특징벡터(b)의 픽셀크기는 32*32일 수 있다. 제4 깊이 컨벌루션 연산부(260d)는 전달된 깊이 특징벡터(b)의 피쳐맵에 컨벌루션 필터를 적용하여 피쳐맵을 생성하고, 생성된 피쳐맵에 활성화함수를 적용함으로써 피쳐맵에 비선형적 특성을 반영한다. 제4 깊이 컨벌루션 연산부(260d)는 실물이미지로부터 제1 깊이이미지를 출력하고, 페이크이미지로부터 제2 깊이이미지를 출력한다. 이는 깊이 신경망 네트워크의 학습에 이용되게 된다.
일 실시예에 있어서, 제1 내지 제3 깊이 컨벌루션 연산부(260a 내지 260c)는 3*3 픽셀 크기를 갖고 스트라이드(Stride)의 값이 1인 컨벌루션 필터를 제1 내지 제3 서브 RGB 특징벡터(a-1, a-2, a-3)의 피쳐맵에 적용하여 피쳐맵을 생성할 수 있다. 이와 같이, 본 발명에 따른 제1 내지 제3 깊이 컨벌루션 연산부(260a 내지 260c)는 3*3 픽셀크기를 갖고 스트라이드 값이 1인 컨벌루션 필터를 적용하기 때문에 피쳐맵의 해상도를 높게 보존할 수 있게 된다.
일 실시예에 있어서, 제1 내지 제3 깊이 컨벌루션 연산부(260a 내지 260c)에서 이용되는 활성화함수는 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 0으로 출력하는 활성화함수일 수 있다. 여기서 활성화함수란 복수의 입력정보에 가중치를 부여하여 결합해 완성된 결과값을 출력하는 함수를 의미한다.
제1 깊이 샘플링부(265a)는 제2 깊이 컨벌루션 연산부(260b)로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 피쳐맵으로부터 특징값을 추출한다. 일 실시예에 있어서, 제1 깊이 샘플링부(265a)는 피쳐맵 상에서 샘플링 필터에 상응하는 영역에 포함된 픽셀값들 중 최대값을 피쳐맵의 특징값으로 추출할 수 있다. 이러한 실시예를 따를 때 제1 깊이 샘플링부(265a)는 맥스 풀링(MAX Pooling) 레이어로 구현될 수 있고, 맥스 풀링 레이어를 통해 피쳐맵의 차원이 감소된다.
일 실시예에 있어서, 제1 깊이 샘플링부(265a)는 2*2의 픽셀크기를 갖고 스트라이드의 값이 2인 샘플링 필터를 제2 깊이 컨벌루션 연산부(260b)로부터 출력되는 피쳐맵에 적용할 수 있다
제1 깊이 샘플링부(265a)는 추출된 피쳐맵의 특징값을 제3 깊이 컨벌루션 연산부(260c)로 입력한다.
다시 도 6을 참조하면, 반사 특징벡터 추출부(220)는 RGB 특징벡터 추출부(210)로부터 입력되는 제1 서브 RGB 특징벡터, 제2 서브 RGB 특징벡터, 및 제3 서브 RGB 특징벡터를 기초로 반사 특징벡터(c)를 생성한다.
본 발명은 반사 특징벡터 추출부(220)로부터 반사 특징벡터를 추출하는 이유는, 카메라로 사람의 얼굴을 촬영하게 되면 빛 반사가 없지만 타인의 이미지를 촬영하게 되면 미세하지만 빛 반사가 발생하게 되기 때문이다.
이에 따라 본 발명은 반사 특징벡터를 기초로 얼굴이미지가 실물이미지인지 여부를 판단함으로써 얼굴인식의 정확도가 향상된다는 효과가 있다.
반사 특징벡터 추출부(220)는 제1 서브 RGB 특징벡터, 제2 서브 RGB 특징벡터, 및 제3 서브 RGB 특징벡터의 크기를 조정하고 이를 합산하여 입력 특징벡터를 생성한다. 반사 특징벡터 추출부(220)는 반사 신경망 네트워크로 합산된 입력 특징벡터의 피쳐맵을 생성하고 해당 피쳐맵을 기초로 반사 특징벡터(c)를 추출한다. 이때, 반사 특징벡터 추출부(220)는 크기를 조정하기 위해 패딩을 수행할 수 있다. 반사 신경망 네트워크는 사람을 촬영한 실물이미지로부터 추출된 제1 반사이미지와 사진을 촬영한 페이크이미지로부터 추출된 제2 반사이미지로 학습된다.
이하, 본 발명에 따른 반사 특징벡터 추출부(220)가 반사 신경망 네트워크를 이용하여 반사 특징벡터(c)를 추출하는 것에 대해 도 8을 참조하여 보다 구체적으로 설명한다.
도 8에 도시된 바와 같이 반사 특징벡터 추출부(220)가 반사 특징벡터를 추출하기 위해 이용하는 반사 신경망 네트워크는 3개의 반사 컨벌루션 연산부(270a 내지 270c) 및 1개의 반사 샘플링부(275a)를 포함한다. 이때, 제4 반사 컨벌루션 연산부(270d)는 학습을 위해 실물이미지 및 페이크이미로부터 제1 및 제2 반사 이미지를 생성한다. 이에 따라 실물이미지 및 페이크이미지로부터 반사 이미지가 분리될 수 있다.
제1 내지 제3 반사 컨벌루션 연산부(270a 내지 270c) 각각은 합산된 제1 내지 제3 서브 RGB 특징벡터(a-1, a-2, a-3)의 피쳐맵에 컨벌루션 필터를 적용하여 피쳐맵을 생성하고, 생성된 피쳐맵에 활성화함수를 적용함으로써 피쳐맵에 비선형적 특성을 반영한다. 이때, 제1 내지 제3 반사 컨벌루션 연산부(270a 내지 270c)에 적용되는 컨벌루션 필터는 서로 상이한 필터일 수 있다.
제3 반사 컨벌루션 연산부(270c)에서 출력되는 피쳐맵은 반사 특징벡터(c)의 피쳐맵으로서 특징벡터 융합부(205)로 전달되게 되고, 또한 제4 반사 컨벌루션 연산부(270d)로 전달될 수 있다. 이때 반사 특징벡터(c)의 픽셀크기는 32*32일 수 있다. 제4 반사 컨벌루션 연산부(270d)는 전달된 반사 특징벡터(c)의 피쳐맵에 컨벌루션 필터를 적용하여 피쳐맵을 생성하고, 생성된 피쳐맵에 활성화함수를 적용함으로써 피쳐맵에 비선형적 특성을 반영한다. 제4 반사 컨벌루션 연산부(270d)는 실물이미지로부터 제1 깊이이미지를 출력하고, 페이크이미지로부터 제2 깊이이미지를 출력한다. 이는 반사 신경망 네트워크의 학습에 이용되게 된다.
일 실시예에 있어서, 제1 내지 제3 반사 컨벌루션 연산부(270a 내지 270c)는 3*3 픽셀 크기를 갖고 스트라이드(Stride)의 값이 1인 컨벌루션 필터를 제1 내지 제3 서브 RGB 특징벡터(a-1, a-2, a-3)의 피쳐맵에 적용하여 피쳐맵을 생성할 수 있다. 이와 같이, 본 발명에 따른 제1 내지 제3 반사 컨벌루션 연산부(270a 내지 270c)는 3*3 픽셀크기를 갖고 스트라이드 값이 1인 컨벌루션 필터를 적용하기 때문에 피쳐맵의 해상도를 높게 보존할 수 있게 된다.
일 실시예에 있어서, 제1 내지 제3 반사 컨벌루션 연산부(270a 내지 270c)에서 이용되는 활성화함수는 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 0으로 출력하는 활성화함수일 수 있다. 여기서 활성화함수란 복수의 입력정보에 가중치를 부여하여 결합해 완성된 결과값을 출력하는 함수를 의미한다.
제1 반사 샘플링부(275a)는 제2 반사 컨벌루션 연산부(270b)로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 피쳐맵으로부터 특징값을 추출한다. 일 실시예에 있어서, 제1 반사 샘플링부(275a)는 피쳐맵 상에서 샘플링 필터에 상응하는 영역에 포함된 픽셀값들 중 최대값을 피쳐맵의 특징값으로 추출할 수 있다. 이러한 실시예를 따를 때 제1 반사 샘플링부(275a)는 맥스 풀링(MAX Pooling) 레이어로 구현될 수 있고, 맥스 풀링 레이어를 통해 피쳐맵의 차원이 감소된다.
일 실시예에 있어서, 제1 반사 샘플링부(275a)는 2*2의 픽셀크기를 갖고 스트라이드의 값이 2인 샘플링 필터를 제2 반사 컨벌루션 연산부(270b)로부터 출력되는 피쳐맵에 적용할 수 있다
제1 반사 샘플링부(275a)는 추출된 피쳐맵의 특징값을 제3 반사 컨벌루션 연산부(270c)로 입력한다.
상술한 도 8에 도시된 깊이 특징벡터 추출부(215) 및 반사 특징벡터 추출부(220)가 제1 내지 제3 서브 RGB 특징벡터를 합산하여 입력 특징벡터를 생성하는 것으로 설명하였다. 하지만, 설명의 편의를 위한 것이며, RGB 특징벡터 추출부(210)가 n개의 서브 RGB 특징벡터를 추출하는 경우, 깊이 특징벡터 추출부(215) 및 반사 특징벡터 추출부(220)는 제1 서브 RGB 특징벡터부터 n-1 서브 RGB 특징벡터까지의 n-1개의 서브 RGB 특징벡터들을 서로 합산하여 입력 특징벡터를 생성할 수 있다.
이때, 깊이 특징벡터 추출부(215)와 반사 특징벡터 추출부(220)가 제1 부터 n-1의 서브 RGB 특징벡터를 합산하는 이유는, RGB 특징벡터 추출부(210)가 제1 부터 n의 서브 특징벡터를 합산하여 RGB 특징벡터를 생성하기 때문에, 추가로 n의 서브 특징벡터를 합산한다면, 오버피팅(Overfitting)될 수 있고, 또한 깊이 특징벡터 및 반사 특징벡터를 생성하기 위해 깊이 신경망 네트워크 또는 반사 신경망 네트워크를 추가로 통과해야하기 때문이다.
상술한 설명에서 RGB 컨벌루션 연산부, 깊이 컨벌루션 연산부, 및 반사 컨벌루션 연산부와 RGB 샘플링부, 깊이 샘플링부, 반사 샘플링부는 개수가 정해진 것으로 설명하였으나, 각 컨벌루션 연산부는 k개(k은 2이상의 정수) 이상일 수 있고, 각 샘플링부는 m개(m은 1이상의 정수) 이상일 수 있다.
다시 도 5을 참조하여 특징벡터 융합부(201)에 대해 설명한다.
특징벡터 융합부(201)는 깊이 특징벡터 및 반사 특징벡터 중 적어도 하나를 RGB 특징벡터와 융합하여 융합 특징벡터를 생성한다. 구체적으로, 특징벡터 융합부(201)는 깊이 특징벡터 추출부(215)로부터 추출된 깊이 특징벡터와 반사 특징벡터 추출부(420)로부터 추출된 반사 특징벡터 중 적어도 하나와 RGB 특징벡터 추출부(210)로부터 추출된 RGB 특징벡터(a)를 융합하여 융합 특징벡터를 생성한다.
본 발명에 따른 특징벡터 융합부(201)가 각 특징벡터를 융합하는 이유는, RGB 이미지의 특징, 반사이미지의 특징, 및 깊이 이미지의 특징을 적절하게 반영하여 풍부한 표현력을 가지는 특징벡터로 사진을 촬영한 페이크이미지를 판별할 수 있게 함으로써, 페이크이미지로 인증을 수행하는 것을 효과적으로 차단할 수 있게 하기 위함이다.
도 9는 본 발명의 일 실시예에 따른 특징벡터 융합부(201)의 구성을 보여주는 도면이다.
도 9에 도시된 바와 같이 특징벡터 융합부(201)는 제1 출력 특징벡터 생성부(280), 제2 출력 특징벡터 생성부(285), 및 융합 특징벡터 생성부(290)를 포함한다.
제1 출력 특징벡터 생성부(280)는 RGB 특징벡터(a)를 k개의 융합 컨벌루션 연산부를 통과시켜 제1 출력 특징벡터를 생성한다. 도 9에서는 2개의 융합 컨벌루션 연산부(295a, 295b)를 도시하였으나, 이는 하나의 예일 뿐 이에 한정되지 않는다. 이하에서는 융합 컨벌루션 연산부가 2개인 것으로 설명한다.
제1 출력 특징벡터 생성부(280)는 제1 융합 컨벌루션 연산부(295a) 및 제2 융합 컨벌루션 연산부(295b)를 포함한다.
제1 융합 컨벌루션 연산부(295a) 및 제2 융합 컨벌루션 연산부(295b)는 상술한 RGB, 깊이, 반사 컨벌루션 연산부와 동일한 기능을 수행함으로 구체적인 설명은 생략한다. 제1 및 제2 융합 컨벌루션 연산부(295a, 295b)를 통과한 제1 출력 특징벡터는 융합 특징벡터 생성부(290)로 전달되게 된다.
제2 출력 특징벡터 생성부(285)는 깊이 특징벡터(b)에서 반사 특징벡터(c)를 감산한 결과값을 k개의 융합 컨벌루션 연산부와 k번째의 컨벌루션 연산부의 출력단에 배치된 융합 샘플링부를 순차적으로 통과시켜 제2 출력 특징벡터를 생성한다. 도 7에서는 2개의 융합 컨벌루션 연산부(295c, 295d)를 도시하였으나, 이는 하나의 예일 뿐 이에 한정되지 않는다. 이하에서는 융합 컨벌루션 연산부가 2개인 것으로 설명한다.
제2 출력 특징벡터 생성부(285)는 제3 융합 컨벌루션 연산부(295c), 제4 융합 컨벌루션(295d), 및 제1 융합 샘플링부(300a)를 포함한다.
제3 융합 컨벌루션 연산부(295c) 및 제4 융합 컨벌루션 연산부(295d)는 상술한 RGB, 깊이, 반사 컨벌루션 연산부와 동일한 기능을 수행하고, 제1 융합 샘플링부(300a) 또한 상술한 RGB, 깊이, 반사 샘플링부와 동일한 기능을 수행하므로 구체적인 설명은 생략한다. 제3, 제4 융합 컨벌루션 연산부(295c, 295d) 및 제1 융합 샘플링부(300a)를 통과한 제2 출력 특징벡터는 융합 특징벡터 생성부(290)로 전달되게 된다. 이때, 제2 출력 특징벡터는 제1 융합 샘플링부(300a)를 통과하면서 32*32의 픽셀크기에서 16*16의 픽셀크기로 리사이징된다.
융합 특징벡터 생성부(290)는 제1 출력 특징벡터와 제2 출력 특징벡터를 합산하여 융합 특징벡터를 생성한다. 이때, 융합 특징벡터의 픽셀크기는 16*16일 수 있다. 융합 특징벡터 생성부(290)는 생성된 융합 특징벡터를 판단부(210)로 전달한다.
다시 도 5를 참조하여 판단부(210)에 대해 구체적으로 설명한다.
판단부(210)는 융합 특징벡터를 이용하여 얼굴이미지가 사람을 촬영한 실물이미지인지 여부를 판단한다. 구체적으로 판단부(210)는 미리 학습된 이진분류기에 융합 특징벡터를 입력하여 얼굴이미지가 실물이미지인지 여부를 판단한다.
이때, 이진분류기는 상술한 깊이 특징벡터 추출부(215)의 제4 깊이 컨벌루션 연산부(260e)에 의해 실물이미지로부터 추출된 제1 깊이 이미지 및 페이크이미지로부터 추출된 제2 깊이이미지와, 반사 특징벡터 추출부(220)의 제4 반사 컨벌루션 연산부(270e)에 의해 실물이미지로부터 추출된 제1 반사이미지 및 페이크이미지로부터 추출된 제2 반사이미지가 학습될 수 있다. 단순히, 2차원 실물이미지 또는 2차원 페이크이미지로 이진분류기를 학습시키는 경우, 카메라의 화질이나, 장소, 조명 등 외부 특정환경에 대해 과적합(Overfitting)되면서 다른 환경에서 나온 이미지들에 대해 판별이 어려운 문제가 있었다.
이에 따라 본 발명은 2차원 실물이미지 및 2차원 페이크 이미지뿐만 아니라, 해당 실물이미지 및 페이크이미지로부터 추출된 깊이이미지와 반사이미지를 이진분류기에 학습시킴으로써, 특정 환경에 대한 과적합을 방지할 수 있어 어느 환경에 촬영된 얼굴이미지라도 실물이미지 판단을 정확하게 할 수 있게 하였다.
도 10은 실물이미지와 페이크이미지의 일예를 나타내는 도면이다. 본 발명에 따른 판단부(210)가 이용하는 이진분류기가 실물이미지와 페이크이미지를 학습하게 된다. 하지만, 상술한 바와 같이 실물이미지 및 페이크이미지만으로 학습하는 경우, 특정 환경에 대한 과적합이 발생할 수 있다.
이에 따라 본 발명은 도 11 및 도 12에 도시된 바와 같이 실물이미지와 페이크이미지가 깊이 신경망 네트워크 및 반사 신경망 네트워크를 통과하여 분리된 깊이 이미지와 반사 이미지에 대해 학습하게 된다.
이진 분류기는 도 11에 도시된 실물이미지로부터 추출된 제1 깊이 이미지를 학습하게 되고, 페이크 이미지로부터 추출된 제2 깊이 이미지를 학습하게 된다. 이때, 실물이미지로부터 추출된 제1 깊이 이미지는 기준이 되는 정답으로 학습되고, 페이크 이미지로부터 추출된 제2 깊이이미지는 RGB를 블랙으로 하여 학습된다. RGB는 (0,0,0)이 된다.
또한, 이진 분류기는 도 12에 도시된 바와 같이 실물이미지로부터 추출된 제1 반사 이미지를 학습하게 되고, 페이크 이미지로부터 추출된 제2 반사 이미지를 학습하게 된다. 이때, 실물이미지로부터 추출된 제1 반사 이미지는 RGB를 블랙으로 하여 학습된다. RGB는 (0,0,0)이 된다. 페이크이미지로부터 추출된 제2 반사 이미지는 기준이 되는 오답으로 학습된다.
다시 도 5를 참조하면, 판단부(202)는 이진분류기에서 출력되는 확률값이 미리 정해진 문턱값미만이면, 해당 얼굴이미지를 페이크 이미지로 판단한다. 또한, 판단부(202)는 이진분류기에서 출력되는 확률값이 미리 정해진 문턱값 이상이면 해당 얼굴이미지를 실물이미지로 판단한다.
이때, 판단부(202)는 복수개의 얼굴이미지 중에 적어도 하나의 얼굴이미지가 페이크 이미지로 판단되면, 복수개의 얼굴이미지를 제거하여 특징벡터 추출부(85)로 해당 얼굴이미지가 입력되지 않게 한다.
판단부(202)는 얼굴이미지가 페이크이미지로 판단되면, 실제 얼굴 촬영 요청메시지를 생성하여 디스플레이(미도시)로 전달한다.
또한, 판단부(202)는 복수개의 얼굴이미지 모두가 실물이미지로 판단되면 복수개의 얼굴이미지 중 가장 큰 얼굴을 포함하는 얼굴이미지를 특징벡터 추출부(85)로 전달한다.
다시 도 2를 참조하면, 특징벡터 추출부(85)는 실물이미지 판단부(80)로부터 실물이미지로 판단된 얼굴이미지가 입력되면, 해당 얼굴이미지에 포함된 얼굴로부터 특징벡터를 추출한다. 이하, 도 13을 참조하여 본 발명에 따른 특징벡터 추출부에 대해 보다 구체적으로 설명한다.
도 13은 본 발명에 따른 특징벡터 추출부의 구성을 개략적으로 보여주는 블록도이다. 도 13에 도시된 바와 같이, 본 발명의 일 실시예에 따른 특징벡터 추출부는 복수개의 얼굴이미지 처리부(305a~305n) 및 특징벡터 생성부(310)를 포함한다.
복수개의 얼굴이미지 처리부(305a~305n)는 입력 데이터를 영상 처리하여 출력 데이터를 생성한다. 이때, 복수개의 얼굴이미지 처리부(305a~305n) 중 1 번째 얼굴이미지 처리부(305a)에는 입력 이미지로써 실물이미지 판단부(238)로부터 출력되는 얼굴이미지가 입력되고, g+1번째 얼굴이미지 처리부(305g+1)에는 입력 이미지로써 g번재 얼굴이미지 처리부(305g)의 출력 데이터가 입력된다.
예컨대, 1번째 얼굴이미지 처리부(305a)는 얼굴이미지를 영상처리하여 출력 데이터를 생성하고, 생성된 출력 데이터를 2번쨰 얼굴이미지 처리부(305b)로 입력한다. 1번째 얼굴이미지 처리부(305b)는 1번째 얼굴이미지 처리부(305a)에서 출력되는 출력 데이터를 영상처리하여 새로운 출력 데이터를 생성하고, 생성된 새로운 출력 데이터를 3번쨰 얼굴이미지 처리부(305c)로 입력한다.
도 13에 도시된 복수개의 얼굴이미지 처리부(305a~305n)의 기능 및 세부구성은 동일하므로 이하에서는 복수개의 얼굴이미지 처리부(305a~305n)들 중 제1 얼굴이미지 처리부(305a)에 대해 예시적으로 설명한다. 이하에서는 설명의 편의를 위해 제1 얼굴이미지 처리부(305a)를 얼굴이미지 처리부(305)로 표기하기로 한다.
얼굴이미지 처리부(305)는 도 13에 도시된 바와 같이 입력 데이터(얼굴이미지 또는 이전 얼굴이미지 처리부의 출력 데이터임)에 대해 컨벌루션 연산을 수행하여 피쳐맵을 생성하는 제1 유닛(315), 제1 유닛(315)에 의해 생성된 피쳐맵에 가중치를 부여하는 제2 유닛(320), 및 연산부(325)으로 구성된다.
이하, 제1 유닛(315)의 구성을 도 14를 참조하여 보다 구체적으로 설명한다. 도 14는 얼굴이미지 처리부에 포함된 제1 유닛의 구성을 보여주는 블록도이다. 도 14에 도시된 바와 같인, 제1 유닛(315)은 정규화부(330), 제1 컨벌루션 연산부(335), 및 비선형화부(340)를 포함한다.
정규화부(330)는 실물이미지 판단부(238)로부터 입력되는 얼굴이미지들을 배치(Batch)단위로 정규화한다. 배치란 한번에 처리할 얼굴이미지들의 개수단위를 의미한다. 본 발명에 따른 정규화부가 배치단위로 정규화를 수행하는 이유는 배치 단위로 정규화를 수행하게 되면 각 얼굴 이미지에 대한 평균 및 분산이 배치 전체에 대한 평균 및 분산과 다를 수 있는데 이러한 특징이 일종의 노이즈로 작용하게 되어 전체적인 성능이 향상될 수 있기 때문이다.
또한, 배치 정규화를 통해 네트워크의 각 층마다 입력의 분포(Distribution)가 일관성 없이 바뀌는 내부 공분산 이동(Internal Covariance Shift) 현상에 의해 학습의 복잡성이 증가하고 그라디언트 소멸 또는 폭발(Gradient Vanishing or Exploding)이 일어나는 것을 방지할 수 있게 되기 때문이다.
제1 컨벌루션 연산부(335)는 정규화부(330)에 의해 정규화된 얼굴이미지에 대해 제1 컨벌루션 필터를 적용하여 제1 피쳐맵을 생성한다. 일 실시예에 있어서, 제1 컨벌루션 연산부(335)는 3*3 픽셀크기를 갖고 스트라이드(Stride)의 값이 1인 제1 컨벌루션 필터를 얼굴이미지에 적용하여 제1 피쳐맵을 생성할 수 있다. 이와 같이, 본 발명에 따른 제1 컨벌루션 연산부(335)는 3*3 픽셀크기를 갖고 스트라이드 값이 1인 제1 컨벌루션 필터를 얼굴이미지에 적용하기 때문에 제1 피쳐맵의 해상도를 높게 보존할 수 있게 된다.
비선형화부(340)는 제1 피쳐맵에 활성화함수를 적용함으로써 제1 피쳐맵에 비선형적 특성을 부여한다. 일 실시예에 있어서, 비선형화부(340)는 제1 피쳐맵의 픽셀값들 중 양의 픽셀값을 동일하게 출력하고 음의 픽셀값은 그 크기를 감소시켜 출력하는 활성화함수를 제1 피쳐맵에 적용함으로써 제1 피쳐맵에 비선형적 특성을 부여할 수 있다.
도 14에서는 비선형화부(340)가 제1 컨벌루션 연산부(335)에 의해 생성된 제1 피쳐맵에 비선형적 특성을 부여하는 것으로 설명하였다. 하지만, 변형된 실시예에 있어서 정규화부(330)는 제1 컨벌루션 연산부(335)에 의해 생성된 제1 피쳐맵들을 배치단위로 추가로 정규화할 수도 있다. 이러한 실시예에 따르는 경우 정규화부(330)는 정규화된 제1 피쳐맵을 비선형화부(340)로 제공하고, 비선형화부(340)는 정규화된 제1 피쳐맵에 활성화함수를 적용함으로써 정규화된 제1 피쳐맵에 비선형적 특성을 부여할 수 있다.
한편, 상술한 실시예에 있어서 제1 유닛(315)은 제1 컨벌루션 연산부(335)만을 포함하는 것으로 설명하였다. 하지만, 변형된 실시예에 있어서 제1 유닛(315)은 도 14에 도시된 바와 같이 제2 컨벌루션 연산부(345)를 더 포함할 수 있다.
구체적으로, 제2 컨벌루션 연산부(345)는 비선형화부(340)에 의해 비선형적 특성이 부여된 제1 피쳐맵에 제2 컨벌루션 필터를 적용하여 제2 피쳐맵을 생성한다. 일 실시예에 있어서, 제2 컨벌루션 필터는 제1 컨벌루션 필터와 다른 필터일 수 있다. 제2 컨벌루션 필터는 제1 컨벌루션 필터의 크기는 동일하지만 다른 스트라이드 값을 갖는 필터일 수 있다. 일 예로, 제2 컨벌루션 필터는 3*3 픽셀크기를 갖고 스트라이드(Stride)의 값이 2인 필터일 수 있다.
이러한 실시예에 따르는 경우 정규화부(330)는 제2 컨벌루션 연산부(345)에 의해 생성된 제2 피쳐맵들을 배치단위로 추가로 정규화할 수도 있을 것이다.
한편, 도 14에 도시하지는 않았지만 제1 유닛(315)은 사전정규화부를 더 포함할 수 있다. 사전정규화부는 얼굴이미지 추출부로부터 입력되는 얼굴이미지에 포함된 각 픽셀들의 픽셀값을 정규화할 수 있다. 일 예로, 사전정규화부는 얼굴이미지의 각 픽셀값에서 127.5를 감산한 후, 감산 결과값을 128로 제산함으로써 얼굴이미지를 정규화할 수 있다. 사전정규화부는 사전 정규화된 입력 얼굴이미지를 정규화부(330)로 제공할 수 있다.
다시 도 13을 참조하면, 제2 유닛(320)은 제1 유닛(315)에 의해 생성된 제2 피쳐맵에 가중치를 부여한다. 본 발명에서 제2 유닛(320)을 통해 제2 피쳐맵에 가중치를 부여하는 이유는 컨벌루션 연산의 경우 입력 이미지의 모든 채널을 컨벌루션 필터와 곱한 후 합산하는 과정에서 중요한 채널과 중요하지 않은 채널들이 모두 얽히게 되므로 데이터의 민감도(Sensitivity)가 저하되므로, 제2 피쳐맵에 각 채널 별로 그 중요도에 따라 가중치를 부여하기 위한 것이다.
이하, 제2 유닛(320)의 구성을 도 15를 참조하여 보다 구체적으로 설명한다. 도 15는 얼굴이미지 처리부에 포함된 제2 유닛의 구성을 보여주는 블록도이다. 도 15에 도시된 바와 같인, 제2 유닛(320)은 샘플링부(350), 가중치 반영부(355), 및 업스케일링부(360)를 포함한다.
먼저, 샘플링부(350)는 제1 유닛(315)으로부터 입력되는 제2 피쳐맵을 서브 샘플링하여 차원을 감소시킨다. 일 실시예에 있어서, 샘플링부(350)는 제2 피쳐맵에 글로벌 풀링(Global Pooling) 필터를 적용함으로써 제2 피쳐맵의 차원을 감소시킬 수 있다. 일 예로, 제2 피쳐맵의 차원이 H*W*C인 경우 샘플링부(350)는 제2 피쳐맵의 서브 샘플링을 통해 제2 피쳐맵의 차원을 1*1*C로 감소시킬 수 있다.
가중치 반영부(355)는 샘플링부(350)에 의해 차원이 감소된 제2 피쳐맵에 가중치를 부여한다. 이를 위해, 도 7에 도시된 바와 같이 가중치 반영부(355)는 차원 감소부(365), 제1 비선형화부(370), 차원 증가부(375), 및 제2 비선형화부(380)를 포함할 수 있다.
차원 감소부(365)는 서브 샘플링된 제2 피쳐맵을 하나의 레이어로 연결함으로써 서브 샘플링된 제2 피쳐맵의 차원을 감소시킨다. 일 예로, 샘플링부(350)로부터 출력되는 제2 피쳐맵의 차원이 1*1*C인 경우 차원 감소부(365)는 제2 피쳐맵의 차원을 1*1*C/r로 감소시킨다. 여기서, r은 감소율을 의미하는 것으로서, 추출하기 원하는 특징벡터의 개수에 따라 결정될 수 있다.
제1 비선형화부(370)는 차원 감소부(365)에 의해 차원이 감소된 제2 피쳐맵에 제1 활성화함수를 적용함으로써 차원이 감소된 제2 피쳐맵에 비선형적 특성을 부여한다. 일 실시예에 있어서, 제1 비선형화부(370)는 제2 피쳐맵의 픽셀값들 중 양의 픽셀값은 그대로 출력하고 음의 픽셀값은 0으로 출력하는 제1 활성화함수를 적용함으로써 차원이 감소된 제2 피쳐맵에 비선형적 특성을 부여할 수 있다.
차원 증가부(375)는 제1 비선형화부(370)에 의해 비선형적 특성이 부여된 제2 피쳐맵의 차원을 증가시킨다. 일 예로, 비선형적 특성이 부여된 제2 피쳐맵의 차원이 1*1*c/r인 경우 차원 증가부(375)는 제2 피쳐맵의 차원을 다시 1*1*C로 증가시킨다.
제2 비선형화부(380)는 차원 증가부(375)에 의해 차원이 증가된 제2 피쳐맵에 제2 활성화함수를 적용함으로써 차원이 증가된 제2 피쳐맵에 비선형적 특성을 다시 부여한다. 일 실시예에 있어서, 제2 활성화함수는 제1 활성화함수와 다른 함수일 수 있다. 예컨대, 제2 비선형화부(380)는 차원이 증가된 제2 피쳐맵의 픽셀값들 중 양의 픽셀값은 미리 정해진 값으로 수렴하도록 하고 음의 픽셀값은 0으로 출력하는 제2 활성화함수를 적용함으로써 차원이 증가된 제2 피쳐맵에 비선형적 특성을 부여할 수 있다.
이와 같이, 본 발명에 따른 가중치 반영부(355)는 차원감소부(365), 제1 비선형화부(370), 차원증가부(375), 및 제2 비선형화부)380)를 통해 제2 피쳐맵에 가중치를 부여하고, 차원감소부(365)와 차원증가부(375)를 통해 병목구간을 만들어 게이팅 메커니즘을 한정함으로써 모델 복잡도를 제한하고 일반화를 지원할 수 있게 된다.
업스케일링부(360)는 가중치 반영부(355)에 의해 가중치가 부여된 제2 피쳐맵을 제2 유닛(320)에 입력된 얼굴이미지와 동일한 차원으로 업스케일링한다. 일 실시예에 있어서, 제2 유닛(320)에 입력된 얼굴이미지의 차원이 H*W*C인 경우 업스케일링부(730)는 가중치가 부여된 제2 피쳐맵의 차원을 H*W*C로 업스케일링한다.
다시 도 13을 참조하면, 연산부(325)는 제2 유닛(320)을 통해 출력되는 업스케일링된 제2 피쳐맵을 제1 유닛(315)에 입력된 얼굴이미지와 합산한다. 본 발명에서 연산부(325)를 통해 제2 유닛(320)에서 출력된 업스케일링된 제2 피쳐맵을 제1 유닛(315)에 입력된 얼굴이미지와 합산하는 이유는 컨벌루션 신경망에서 깊이가 깊어지는 경우 특징이 흐려지는 문제(Vanish Problem)를 방지하기 위한 것이다.
특징벡터 생성부(310)는 복수개의 얼굴이미지 처리부(305a~305n)들 중 마지막 얼굴 이미지 처리부(305n)로부터 출력되는 피쳐맵을 하나의 레이어로 병합하여 차원을 감소시킴으로써 미리 정해진 개수의 특징벡터를 생성한다. 일 실시예에 있어서, 특징벡터 생성부(310)는 얼굴이미지 처리부(305n)로부터 출력되는 피쳐맵으로부터 128개 이상의 특징벡터를 출력할 수 있다. 예컨대, 특징벡터 생성부(310)는 얼굴 이미지 처리부(305n)로부터 출력되는 피쳐맵으로부터 512개의 특징벡터를 출력할 수 있다.
다시 도 2를 참조하면 어레이 파일 생성부(45)는 얼굴인식부(30)에 의해 생성된 특징벡터를 이용하여 각 사용자 별로 어레이(Array)를 생성하고, 생성된 어레이들을 하나의 파일로 머지하여 어레이 파일을 생성한다. 어레이 파일 생성부(45)는 생성된 어레이 파일을 어레이 파일 데이터베이스(미도시)에 저장할 수 있다. 이때, 어레이 파일은 기존 어레이 파일 및 신규 어레이 파일을 포함한다. 신규 어레이 파일은 에지 디바이스 관리부(50)에 의해 변경된 최적 기준이미지에 대한 어레이를 포함할 수 있다. 어레이 파일 생성부(45)는 생성된 어레이 파일을 어레이 파일 데이터베이스(미도시)에 저장할 수 있다.
일 실시예에 있어서, 어레이 파일 생성부(45)에 의해 생성되는 어레이는 각 사용자의 얼굴이미지로부터 획득된 복수개의 특징벡터들과 각 사용자의 키(Key)값으로 구성될 수 있다. 이때, 사용자의 키 값은 각 사용자의 식별정보 및 각 사용자의 출입권한정보를 포함한다. 각 사용자의 식별정보는 상술한 바와 같이 각 사용자의 아이디, 성명, 전화번호, 또는 직원번호 등으로 정의될 수 있고, 각 사용자의 출입권한정보는 각 사용자가 출입할 수 있는 각 층에 대한 정보를 포함할 수 있다.
일 실시예에 있어서, 어레이 파일 생성부(45)는 에지 디바이스(3)가 설치되어 있는 각 장소 별로 어레이 파일을 생성할 수 있다. 예컨대, 제1 어레이 파일은 제1 층에 대한 출입권한이 부여된 사용자들의 어레이들로 구성될 수 있고, 제2 어레이 파일은 제2 층에 대한 출입원한이 부여된 사용자들의 어레이들로 구성될 수 있다. 이를 위해, 어레이 파일 생성부(45)는 각 사용자의 어레이들 또한 각 사용자가 출입할 수 있는 지역 별로 구분하여 생성할 수 있다. 예컨대, 제1 사용자가 제1 층과 제3 층에 출입 가능한 권한을 가진 경우, 어레이 파일 생성부(45)는 제1 사용자에 대해 제1 층에 대한 출입권한정보가 포함된 제1 어레이와 제3 층에 대한 출입권한정보가 포함된 제2 어레이를 별도로 생성할 수 있다.
본 발명에 따른 어레이 파일 생성부(45)가 에지 디바이스(3)가 설치된 각 장소 별로 어레이 파일을 생성하는 이유는 사용자의 얼굴을 인증하는 에지 디바이스(3)가 각 장소 별로 설치되는 경우, 특정 장소에 설치된 에지 디바이스(3)로 해당 장소에 대한 출입권한정보가 포함된 어레이 파일만을 전송하면 되므로 어레이 파일의 전송 및 에지 디바이스(3)에서의 어레이 파일 관리가 용이해지기 때문이다.
상술한 실시예에 있어서는 어레이 파일 생성부(45)가 각 장소 별로 어레이 파일을 생성하는 것으로 기재하였지만, 변형된 실시예에 있어서 어레이 파일 생성부(45)는 에지 디바이스(3)가 설치된 모든 장소에 대한 권한정보가 포함된 하나의 어레이 파일을 생성하고, 생성된 어레이 파일을 모든 에지 디바이스(3)로 전송할 수도 있다.
본 발명에 따른 에지 디바이스 관리부(50)는 각 장소에 설치되어 있는 복수개의 에지 디바이스(3)들의 정보를 에지 디바이스 데이터베이스(55)에 등록한다. 일 실시예에 있어서, 에지 디바이스 관리부(50)는 각 에지 디바이스(3)의 식별정보를 각 에지 디바이스가 설치된 장소와 매핑시켜 에 저장할 수 있다. 여기서 에지 디바이스(3)의 식별정보는 제조사 및 시리얼 번호등을 포함할 수 있다.
한편, 에지 디바이스 관리부(50)는 인터페이스부(65)를 통해 미리 정해진 기간마다 에지 디바이스(3)로부터 복수개의 인증결과를 수신하고, 수신된 인증결과들을 에지 디바이스 데이터베이스(55)에 저장할 수 있다. 이때, 복수개의 인증결과는 에지 디바이스(3)가 타겟 사용자들에 대해 인증을 수행하여 획득된 것이다.
본 발명에 따른 에지 디바이스 관리부(50)는 복수개의 인증결과를 기초로 등록사용자에 대해 미리 등록된 기준이미지를 인증환경을 반영한 최적 기준이미지로 변경할 수 있다. 구체적으로 에지 디바이스 관리부(50)는 복수개의 인증결과를 기초로 시공간 환경 변화에 따른 최적 기준이미지를 결정하고, 각 사용자의 기준이미지를 최적 기준이미지로 변경할 수 있다.
또한, 본 발명에 따른 에지 디바이스 관리부(50)는 복수개의 인증결과를 수집하고, 수집된 인증결과들을 기초로 기준임계치를 변경할 수 있다. 이때 기준임계치는 에지 디바이스(3)가 타겟 사용자의 인증을 수행할 때, 타겟 사용자의 인증여부를 결정하는 기준값이다. 구체적으로, 에지 디바이스(3)는 타겟 사용자의 인증을 수행할 때, 타겟 사용자의 촬영이미지와 등록사용자의 기준이미지간의 유사도를 산출하게 된다. 이때, 에지 디바이스(3)는 타겟 사용자의 인증여부를 결정하기 위해 기준임계치와 유사도를 비교하게 된다.
이하, 도 16을 참조하여 본 발명에 따른 에지 디바이스 관리부(50)에 대해 보다 구체적으로 설명한다.
도 16은 일 실시예에 따른 에지 디바이스 관리부(50)의 구성을 보여주는 도면이다.
에지 디바이스 관리부(50)는 인증결과 수집부(400), 이미지 결정부(405), 기준 이미지 변경부(410)를 포함한다.
인증결과 수집부(400)는 각 에지 디바이스(3)로부터 복수개의 인증결과를 수집한다. 구체적으로 인증결과 수집부(400)는 인터페이스부(65)를 통해 각 에지 디바이스(3)로부터 미리 정해진 기간마다 복수개의 인증결과를 수집할 수 있다. 이때, 인증결과는 미등록사용자를 등록사용자로 잘못 승인한 제1 인증결과, 사용자를 등록사용자로 정상 승인한 제2 인증결과, 및 등록사용자를 미등록사용자로 잘못 승인한 제3 인증결과 등을 포함할 수 있다.
인증결과 수집부(400)는 수집된 복수개의 인증결과를 에지 디바이스 데이터베이스(55)에 저장한다.
이미지 결정부(405)는 복수개의 인증결과를 기초로 최적 기준이미지를 결정한다.
이미지 결정부(405)는 복수개의 인증결과로부터 사용자를 등록사용자로 정상 승인한 복수개의 제2 인증결과를 추출한다. 이에 따라 본원발명은 미리 정해진 잘못 승인된 인증결과를 제외시킴으로써, 제2 인증결과를 기초로 결정되는 최적 기준이미지의 신뢰성을 보장할 수 있다.
일 실시예에 있어서, 복수개의 인증결과는 타겟 사용자의 촬영이미지, 타겟 사용자의 촬영이미지와 등록사용자의 기준이미지간의 유사도, 에지 디바이스(3)의 디바이스 정보, 에지 디바이스가 설치된 장소정보, 출입시간 정보, 및 등록사용자 정보 등을 포함한다. 이때, 타겟 사용자의 촬영이미지는 에지 디바이스(3)에 의해 촬영된 이미지를 의미한다. 타겟 사용자의 촬영이미지와 등록사용자의 기준이미지간의 유사도는 에지 디바이스(3)가 타겟사용자의 승인 시 산출된 유사도를 의미한다. 에지 디바이스(3)의 디바이스 정보는 해당 승인 출입데이터가 발생된 에지 디바이스(3)의 정보 및 타겟사용자를 촬영하는 카메라 정보를 의미한다.
이미지 결정부(405)는 제2 인증결과를 이용하여 인증환경을 반영한 최적 기준이미지를 선택한다. 이때, 인증환경은, 장소정보, 출입시간 정보, 디바이스 정보 중 적어도 하나에 따라 결정되는 환경을 의미한다.
본 발명에 따른 이미지 결정부(405)가 인증환경을 반영한 최적 기준이미지를 선택하는 이유는, 인증환경에 따라 도 17a에 도시된 바와 같이 제1 장소에서 촬영된 타겟사용자의 촬영이미지와, 도 17b에 도시된 바와 같이 제2 장소에서 촬영된 타겟사용자의 촬영이미지가 인증을 수행할 때마다 달라지기 때문에, 에지 디바이스(3)가 타겟사용자에 대해 신속하게 인증을 할 수 없을 뿐만 아니라, 등록사용자이지만 미등록사용자로 인증할 수 있기 때문이다.
도 17a 및 17b에 도시된 바와 같이 동일한 타겟 사용자에 대해 동일한 장소에서도 서로 다른 촬영이미지가 생성되고, 도 17a에서의 타겟사용자의 촬영이미지와 도 17b에서의 타겟사용자의 촬영이미지간에서도 화질의 차이가 발생한다. 또한, 도 17a 및 17b에 도시된 바와 같이 서로 다른 시간대에 촬영된 촬영이미지의 밝기도 차이가 난다.
이에 따라 본원발명은 인증환경을 반영한 최적 기준이미지를 선택함으로써, 인증을 신속하게 할 수 있을 뿐만 아니라, 등록사용자를 미등록사용자로 판단하는 오류를 감소시킬 수 있다는 효과가 있다.
이미지 결정부(405)는 제2 인증결과들을 사용자 별로 분류한다. 구체적으로 이미지 결정부(405)는 사용자를 등록사용자로 정상승인한 제2 인증결과들을 해당 제2 인증결과에 포함된 사용자 별로 분류한다.
예를 들어 설명한다. 복수개의 제2 인증결과는 제2-a 인증결과, 제2-b 인증결과, 제2-c 인증결과, 제2-d 인증결과가 존재하고, 제1 및 제2 사용자가 존재하면, 이미지 결정부(405)는 제1 및 제2 사용자로 인해 발생된 제2 인증결과들을 각 사용자 별로 분류한다.
제1 사용자에 대해 제2-a 인증결과, 제2-b 인증결과가 존재하고, 제2 사용자에 대해 제2-c 인증결과, 제2-d 인증결과가 존재하면, 이미지 결정부(405)는 복수개의 제2 인증결과를 제1 사용자에 대한 제2-a 인증결과, 제2-b 인증결과로 분류하고, 제2 사용자에 대한 제2-c 인증결과, 제2-d 인증결과로 분류한다.
일 실시예에 있어서, 이미지 결정부(405)는 각 사용자 별로 분류된 제2 인증결과를 해당 제2 인증결과가 발생한 출입시간 별로 분류할 수 있다. 이때 출입시간은 하루 단위 시간구간과 주, 월, 분기, 또는 연 단위 시간구간으로 각각 분류될 수도 있다.
예를 들어 설명한다.
제1 사용자에 대한 제2-a 인증결과, 제2-b, 제2-c 인증결과로 분류되고, 제2 사용자에 대한 제2-d 인증결과, 제2-e 인증결과, 제2-f 인증결과로 분류되고, 제2-a, 제2-b, 제2-f 인증결과는 오전시간 대에 발생하고, 제2-c, 제2-d, 제2-e 인증결과는 오후시간 대에 발생한 것으로 가정한다.
이러한 경우, 이미지 결정부(405)는 제1 사용자의 제2 인증결과는 오전시간대에 발생한 제2-a, 제2-b 인증결과로 분류하고, 오후시간대에 발생한 제2-c 인증결과로 분류할 수 있다. 이미지 결정부(405)는 제2 사용자의 제2 인증결과는 오전시간대에 발생한 제2-f 인증결과로 분류하고, 오후시간대에 발생한 제2-d, 제2-e 인증결과로 분류할 수 있다.
일 실시예에 있어서, 이미지 결정부(405)는 각 사용자 별로 분류된 제2 인증결과를 해당 제2 인증결과가 발생한 장소 별로 분류할 수 있다.
일 실시예에 있어서, 이미지 결정부(405)는 장소 별로 분류된 제2 인증결과를 해당 제2 인증결과가 발생한 에지 디바이스(3)별로 분류할 수 있다. 이러한 실시예를 따르는 경우, 에지 디바이스(3)는 각 장소 별로 복수개가 존재할 수 있다.
일 실시예에 있어서, 이미지 결정부(405)는 장소 별로 분류된 제2 인증결과를 제2 인증결과가 발생한 출입시간 별로 분류할 수 있다. 또한, 에지 디바이스(3) 별로 분류된 제2 인증결과를 제2 인증결과가 발생한 출입시간 별로 분류할 수 있다.
한편, 이미지 결정부(405)는 분류된 제2 인증결과에 포함된 유사도 중 최대값을 갖는 제2 인증결과에 대응되는 촬영이미지를 해당 사용자의 최적 기준이미지로 결정할 수 있다.
일 실시예에 있어서, 이미지 결정부(405)는 각 사용자 별로 분류된 제2 인증결과가 해당 제2 인증결과가 발생한 출입시간 별로 분류된 경우, 각 출입시간 별로 분류된 제2 인증결과 중에서 유사도가 최대값을 갖는 제2 인증결과에 대응되는 촬영이미지를 해당 출입시간의 최적 기준이미지로 각각 결정할 수 있다.
예컨대, 제1 사용자에 대해 오전시간대에 제2-a, 제2-b 인증결과로 분류되고 오후시간대에 제2-c, 제2-d 인증결과로 분류된 경우, 이미지 결정부는 오전시간대에 제2 인증결과(제2-a, 제2-b 인증결과) 중 유사도가 최대값을 갖는 제2 인증결과에 대응되는 촬영이미지를 해당 출입시간의 최적 기준이미지로 결정하고, 오후시간대에 제2 인증결과(제2-c, 제2-b 인증결과) 중 유사도가 최대값을 갖는 제2 인증결과에 대응되는 촬영이미지를 해당 출입시간의 최적 기준이미지로 결정한다.
일 실시예에 있어서, 이미지 결정부(405)는 각 사용자 별로 분류된 제2 인증결과가 해당 제2 인증결과가 발생한 장소 별로 분류된 경우, 각 장소 별로 분류된 제2 인증결과 중에서 유사도가 최대값을 갖는 제2 인증결과에 대응되는 촬영이미지를 해당 장소의 최적 기준이미지로 각각 결정할 수 있다.
일 실시예에 있어서, 이미지 결정부(405)는 각 장소 별로 분류된 제2 인증결과가 해당 제2 인증결과가 발생한 에지 디바이스(3) 별로 분류된 경우, 각 에지 디바이스(3) 별로 분류된 제2 인증결과 중에서 유사도가 최대값을 갖는 제2 인증결과에 대응되는 촬영이미지를 해당 에지 디바이스(3)의 최적 기준이미지로 각각 결정할 수 있다.
이와 같이 본원발명은 복수개의 에지 디바이스(3)가 동일한 장소에 위치하더라도 각 에지 디바이스 별로 카메라의 위치, 카메라의 성능 등이 다를 수 있으므로, 이에 따라 최적 기준이미지를 결정할 수 있다. 이때, 카메라의 성능은 화소, 화각, 민감도 등을 포함할 수 있다.
또한, 이미지 결정부(405)는 장소 별로 분류된 제2 인증결과를 제2 인증결과가 발생한 출입시간 별로 분류한 경우 또는 에지 디바이스(3) 별로 분류된 제2 인증결과를 제2 인증결과가 발생한 출입시간 별로 분류한 경우에도, 각 분류된 기준에 따라 각각의 최적 기준이미지를 결정할 수 있다. 그 반대의 경우에도 이미지 결정부(405)는 분류된 기준에 따라 각각의 최적 기준이미지를 결정할 수 있다.
기준이미지 변경부(410)는 미리 등록된 사용자들의 기준이미지를 이미지 결정부(405)에 의해 선택된 최적 기준이미지로 변경한다. 구체적으로 기준이미지 변경부(410)는 사용자들의 기준이미지를 해당 사용자 별로 결정된 최적 기준이미지로 각각 변경한다.
일 실시예에 있어서, 기준이미지 변경부(410)는 기준이미지를 이미지 결정부(405)에 의해 출입시간 별로 결정된 최적 기준이미지로 각각 변경할 수 있다.
또한, 기준이미지 변경부(410)는 기준이미지를 이미지 결정부(405)에 의해 장소 별로 결정된 최적 기준이미지로 각각 변경할 수 있다. 또한, 기준이미지 변경부(410)는 기준이미지를 이미지 결정부(405)에 의해 에지 디바이스(3) 별로 결정된 최적 기준이미지로 각각 변경할 수 있다.
예컨대, 이미지 결정부(405)에 의해 A 장소에서 제1 사용자의 제1 촬영이미지가 최적 기준이미지로 선택되고, B 장소에서 제1 사용자의 제2 촬영이미지가 최적 기준이미지로 선택되며, C 장소에서 제1 사용자의 제3 촬영이미지가 최적 기준이미지로 선택되면, 기준이미지 변경부(410)는 A 장소에서의 기준이미지를 제1 촬영이미지로 변경하고, B 장소에서의 기준이미지를 제2 촬영이미지로 변경하며, C 장소에서의 기준이미지를 제3 촬영이미지로 변경한다.
일 실시예에 있어서, 기준이미지 변경부(410)는 출입시간 별로 최적 기준이미지를 변경하는 경우, 도 18에 도시된 바와 같이 하루 단위 시간구간(T1)과 주, 월, 분기, 또는 연 단위 시간구간(T2)에 따라 최적 기준이미지를 변경할 수 있다. 기준이미지 변경부(410)는 행에는 하루단위 시간구간(T1)에 따른 최적 기준이미지를 등록하고, 열에는 주, 월, 분기, 또는 연 단위 시간구간(T2)에 따른 최적 기준이미지를 등록한다. 이는 하나의 예일뿐, 하루단위 시간구간(T1)과 주, 월, 분기, 또는 연 단위 시간구간(T2)의 행과 열은 반대로 될 수 있다.
이는 사용자의 촬영이미지가 하루 중에도 외부 태양광의 변화에 따라 다르게 촬영될 수 있고, 또한, 계절에 따른 기후변화, 각 사용자들의 노화, 체중 변화, 안경착용 유무 등에 따라 다르게 촬영될 수 있기 때문이다.
도 19a는 기준이미지 변경부(410)가 장소 별로 기준이미지를 최적 기준이미지로 변경하는 일예를 보여주는 도면이다. 도 19b는 기준이미지 변경부(410)가 장소 및 출입시간 별로 기준이미지를 최적 기준이미지로 변경하는 일예를 보여주는 도면이다.
도 19a에 도시된 바와 같이 미리 등록된 기준이미지(425)가 존재하고, 각 장소 별로 최적기준이미지(430)를 등록하게 된다. A 장소(435)에는 제1 촬영이미지와 제2 촬영이미지를 등록하고, B 장소(440)에는 제3 촬영이미지와 제4 촬영이미지를 등록하며, C 장소(445)에는 제5 촬영이미지와 제6 촬영이미지를 등록한다.
또한, 도 19b에 도시된 바와 같이 기준이미지 변경부(410)는 각 장소와 출입시간에 따라 최적 기준이미지(430)를 등록할 수 있다. 기준이미지 변경부(410)는 A 장소(435)에 대해 제1 출입시간에는 제1 촬영이미지(450a)를 등록하고, A 장소(435)에 대해 제2 출입시간에는 제2 촬영이미지(455a)를 등록한다. 또한, 기준이미지 변경부(410)는 B 장소(440)에 대해 제1 출입시간에는 제3 촬영이미지(450b)를 등록하고, B 장소(440)에 대해 제4 촬영이미지(455b)를 등록한다. 또한, 기준이미지 변경부(410)는 C 장소(445)에 대해 제1 출입시간에는 제5 촬영이미지(450c)를 등록하고, C 장소(445)에 대해 제2 출입시간에는 제6 촬영이미지(455c)를 등록한다.
기준이미지 변경부(410)는 최적 기준이미지를 사용자 데이터베이스(12)에 저장하고, 입력 이미지 생성부(20), 얼굴인식부(30), 및 어레이 파일 생성부(45)를 통해 해당 등록사용자의 최적 기준이미지에 대한 신규 어레이 파일이 생성되게 한다. 생성된 신규 어레이 파일은 인터페이스부(65)를 통해 각 에지 디바이스(3)로 배포되게 된다.
한편, 에지 디바이스 관리부(50)는 최적임계치 산출부(415) 및 기준임계치 변경부(420)를 더 포함할 수 있다.
최적임계치 산출부(415)는 최적임계치를 산출한다. 구체적으로 최적임계치 산출부(415)는 인증결과들을 기초로 최적임계치를 산출한다.
최적임계치 산출부(415)는 에지 디바이스 데이터베이스(55)에 저장된 복수개의 인증결과를 중 복수개의 제1 인증결과를 추출한다. 이때, 제1 인증결과는 미등록사용자를 등록사용자로 잘못 승인하여 발생한 인증결과를 의미한다.
일 실시예에 있어서, 인증결과는 사용자의 얼굴이미지와 해당 사용자의 기준 얼굴이미지간의 유사도, 에지 디바이스가 설치된 장소정보, 출입시간 정보, 및 사용자 정보 중 적어도 하나를 포함할 수 있다.
여기서 최적임계치 산출부(415)는 에지 디바이스 데이터베이스(55)에 저장된 복수개의 인증결과에서 제1 인증결과들을 추출한다고 설명하였으나, 이는 하나의 실시예일뿐, 최적임계치 산출부(415)는 인증결과 수집부(400)로부터 복수개의 인증결과를 전달받아 제1 인증결과들을 추출할 수도 있다.
최적임계치 산출부(415)는 제1 인증결과들에 포함된 유사도들 중 최대값을 기초로 제1 최적임계치를 산출한다. 구체적으로 최적임계치 산출부(415)는 미등록사용자를 등록사용자로 잘못 승인한 제1 인증결과에 포함된 유사도들 중 최대값을 기초로 제1 최적임계치를 산출한다.
최적임계치 산출부(415)는 제1 인증결과에 포함된 유사도들 중 최대값을 제1 최적임계치로 산출한다. 일 실시예에 있어서, 최적임계치 산출부(415)는 제1 인증결과에 포함된 유사도들 중 최대값에 마진값을 합산한 결과값을 제1 최적임계치로 산출할 수 있다.
일 실시예에 있어서, 최적임계치 산출부(415)는 등록된 각 사용자 별로 오인식률을 산출하고, 오인식률에 비례하는 마진값을 산출할 수 있다. 이때, 오인식률은 미등록사용자를 등록사용자로 잘못 승인한 비율을 의미한다. 따라서, 해당 등록사용자의 마진값이 오인식률에 비례하게 산출될 수 있다.
이러한 실시예를 따르는 경우, 각 사용자 별로 오인식률에 따라 서로 다른 마진값이 합산된 제1 최적임계치가 산출될 수 있다.
예컨대, 사용자 a가 오인식률이 50%이고, 사용자 b가 오인식률이 30%이면, 최적임계치 산출부(415)는 사용자 a에 대한 마진값을 0.07로 산출할 수 있고, 사용자 b에 대한 마진값을 0.05로 산출할 수 있다.
일 실시예에 있어서, 최적임계치 산출부(415)는 등록사용자로 정상 승인된 제2 인증결과에 대응되는 제1 타입 사용자에 대해 최적임계치를 산출하지 않을 수 있다. 이때, 제1 타입 사용자는 등록사용자로 정상 승인된 제2 인증결과를 갖는 사용자를 의미한다.
일 실시예에 있어서, 최적임계치 산출부(415)는 제1 인증결과들을 제1 인증결과에 대응되는 제2 타입 사용자별로 분류하고, 제2 타입 사용자 별로 제1 최적임계치를 다른 값으로 산출할 수 있다. 이때, 제2 타입 사용자는 미등록사용자가 등록사용자로 잘못 승인되었을 때, 제1 인증결과를 갖는 사용자로서, 해당 미등록사용자의 얼굴이미지와 비교대상이 된 기준 얼굴이미지를 등록한 사용자를 의미한다.
예컨대, 사용자는 사용자 a, 사용자 b, 및 사용자 c가 존재하고, 제1 인증결과는 제1-a 인증결과, 제1-b 인증결과, 제1-c 인증결과, 제1-d 인증결과, 제1-e 인증결과, 및 제1-f 인증결과가 존재한다. 이때, 최적임계치 산출부(415)는 사용자 a에 대한 제1 인증결과를 분류하고, 사용자 b에 대한 제1 인증결과를 분류하고 사용자 c에 대한 제1 인증결과를 분류한다.
사용자 a에 대한 제1 인증결과는 제1-a 인증결과, 제1-b 인증결과, 제1-c 인증결과가 존재하고, 사용자 b에 대한 제1 인증결과는 제1-d 인증결과, 제1-e 인증결과, 제1-f 인증결과가 존재하는 경우, 최적임계치 산출부(415)는 사용자 a에 대한 제1 인증결과들을 제1-a 인증결과, 제1-b 인증결과, 제1-c 인증결과로 분류하고, 사용자 b에 대한 제1 인증결과들을 제1-d 인증결과, 제1-e 인증결과, 제1-f 인증결과로 분류한다.
최적임계치 산출부(415)는 사용자 a에 대한 제1 최적임계치를 제1-a 인증결과, 제1-b 인증결과, 제1-c 인증결과에 따라 산출하고, 사용자 b에 대한 제1 최적임계치를 제1-d 인증결과, 제1-e 인증결과, 제1-f 인증결과에 따라 산출하게 된다. 또한, 사용자 c에 대한 제1 인증결과가 존재하지 않으므로, 최적임계치 산출부(415)는 사용자 c에 대한 제1 최적임계치를 산출하지 않는다.
일 실시예에 있어서, 최적임계치 산출부(415)는 인증결과들 중 등록사용자를 미등록사용자로 잘못 승인한 제3 인증결과들에 포함된 유사도들 중 최소값을 기초로 제2 최적임계치를 추가로 산출할 수 있다. 이때, 제3 타입 사용자는 제3 인증결과를 갖는 등록사용자로서, 인증을 시도하였으나 미등록사용자로 잘못 승인된 사용자를 의미한다.
이에 따라 해당 사용자의 기준임계치가 제2 최적임계치로 낮아질 수 있어 오인식률이 낮아질 뿐만 아니라, 인증속도 또한 향상될 수 있다.
이러한 실시예를 따르는 경우, 최적임계치 산출부(415)는 제3 인증결과들을 제3 인증결과에 대응되는 제3 타입 사용자별로 분류하고, 제3 타입 사용자 별로 제2 최적임계치를 다른 값으로 산출 할 수도 있다.
일 실시예에 있어서, 최적임계치 산출부(415)는 제1 인증결과들을 제1 인증결과를 송신한 에지 디바이스(3)별로 분류하고, 에지 디바이스(3) 별로 제1 최적 임계치를 다른 값으로 산출할 수 있다. 이때, 최적임계치 산출부(415)는 제3 인증결과들에 대해서도 에지 디바이스(3) 별로 제2 최적 임계치를 다른 값으로 산출할 수도 있다.
일 실시예에 있어서, 최적임계치 산출부(415)는 제1 인증결과가 발생된 출입시간 별로 분류하고, 각 시간별로 제1 최적임계치를 다른 값으로 산출할 수 있다. 이때, 최적임계치 산출부(415)는 제3 인증결과들에 대해서도 각 시간 별로 제2 최적임계치를 다른 값으로 산출할 수 있다.
기준임계치 변경부(420)는 미리 정해진 기준임계치를 최적임계치 산출부(415)에 의해 산출된 최적임계치로 변경한다.
이와 같이 본 발명은 인증결과를 기초로 산출된 최적임계치로 기준임계치를 변경함으로써, 보안성능이 향상된다는 효과가 있다.
일 실시예에 있어서, 기준임계치 변경부(420)는 인증결과들 중 등록사용자로 정상 승인된 제2 인증결과에 대응되는 제1 타입 사용자에 대해 기준임계치를 유지하고, 제1 인증결과에 대응되는 제2 타입 사용자에 대해 기준임계치를 제1 최적임계치로 변경할 수 있다.
이러한 실시예를 따르는 경우, 미등록사용자를 등록사용자로 잘못 승인한 제1 인증결과가 존재하는 제2 타입 사용자에 대해서만 기준임계치가 최적임계치로 변경된다.
기준임계치 변경부(420)는 등록사용자를 미등록사용자로 잘못 승인한 제3 인증결과에 대응되는 제3 타입 사용자에 대해 기준임계치를 최적임계치 산출부(415)에 의해 산출된 제2 최적 임계치로 변경할 수 있다. 이때, 제3 타입 사용자는 등록사용자로서, 인증을 시도하였으나 미등록사용자로 잘못 승인된 사용자를 의미한다.
기준임계치 변경부(420)는 각 제2 타입 사용자의 기준임계치를 제2 타입 사용자 별로 서로 다른 값으로 산출된 제1 최적임계치로 각각 변경할 수 있고, 각 제3 타입 사용자의 기준임계치를 제3 타입 사용자 별로 서로 다른 값으로 산출된 제2 최적임계치로 각각 변경할 수 있다.
또한, 기준임계치 변경부(420)는 각 에지 디바이스의 기준임계치를 제2 타입 사용자들의 에지 디바이스 별로 산출된 제1 최적 임계치들로 변경할 수 있고, 제3 타입사용자들의 에지 디바이스 별로 산출된 제2 최적 임계치들로 변경할 수 있다.
또한, 기준임계치 변경부(420)는 각 출입시간의 기준임계치를 제2 타입 사용자들의 출입시간 별로 산출된 제1 최적 임계치들로 변경할 수 있고, 제3 타입 사용자들의 출입시간 별로 산출된 제2 최적임계치들로 변경할 수 있다.
기준임계치를 제1 최적임계치로 변경하는 경우, 기준임계치는 기존보다 상승될 수 밖에 없다. 왜냐하면 제1 최적임계치는 해당 미등록사용자의 승인 시 산출된 것이기 때문이다. 이에 따라 기준임계치 변경부(420)가 일괄적으로 기준임계치를 제1 최적임계치로 변경하는 경우 에지 디바이스(3)의 인증속도가 느려지게 된다.
하지만, 상술한 실시예와 같이, 본 발명에 따른 기준임계치 변경부(420)가 각 사용자. 에지 디바이스(3), 출입시간 별로 기준임계치를 변경함으로써 기준임계치가 변경될 필요할 때에만 변경하기 때문에, 에지 디바이스(3)의 인증속도가 향상될 수 있다.
예컨대, 에지 디바이스(3)가 a 등록사용자에 대해 인증을 수행할 때 기준임계치를 0.6로 하여 인증을 수행하고, b 등록사용자에 대해 인증을 수행할때에는 기준임계치를 0.5로하여 인증을 수행하며, c 등록사용자에 대해 인증을 수행할때에는 기준임계치를 0.4로 하여 인증을 수행하게 된다.
이러한 경우, 기준임계치 변경부(420)가 a 내지 c 등록사용자 모두에 대해 기준임계치를 0.6으로 설정하면 에지 디바이스(3)의 인증속도가 낮아지지만, a 내지 c 등록사용자 별로 서로 다르게 기준임계치를 설정함으로써 에지 디바이스(3)의 인증속도가 향상될 수 있다.
다만, 상술한 실시예는 정보단위로 서로 다르게 기준임계치를 설정함으로써 관리의 어려움이 발생할 수 있다. 따라서 변형된 실시예에 있어서, 기준임계치 변경부(420)는 제1 최적임계치로 기준임계치를 일괄적으로 변경한 후 에지 디바이스(3)의 인증속도가 미리 정해진 속도보다 낮으면, 각 사용자, 에지디바이스, 또는 출입시간 별로 결정된 제1 최적임계치로 기준임계치를 변경할 수 있다.
구체적으로 기준임계치 변경부(420)는 기준임계치를 제1 최적임계치로 일괄적으로 변경한다. 그리고 기준임계치 변경부(420)는 제1 최적임계치로 변경된 기준임계치로 인증을 수행하는 에지 디바이스(3)의 인증속도가 미리 정해진 속도보다 낮은지 판단한다. 기준 임계치 변경부(420)는 에지 디바이스(3)의 인증속도가 미리 정해진 속도보다 높으면 변경된 기준임계치를 유지한다. 하지만, 에지 디바이스(3)의 인증속도가 미리 정해진 속도보다 낮으면, 기준임계치 변경부(420)는 각 사용자, 에지 디바이스(3), 출입시간 중 적어도 하나에 따라 기준임계치를 제1 최적임계치로 변경한다.
일예로, 기준 임계치 변경부(420)는 제1 최적 임계치로 변경 시 사용자에 대한 인증을 수행하는 에지 디바이스(3)의 인증속도를 산출하고, 산출된 인증속도가 미리 정해진 기준속도보다 낮으면 인증결과들 중 등록사용자로 정상 승인된 제2 인증결과에 대응되는 제1 타입 사용자에 대해 기준임계치를 유지하고, 제1 인증결과에 대응되는 제2 타입 사용자에 대해 기준임계치를 제1 최적임계치로 변경할 수 있다.
이를 예로써 설명한다.
미리 정해진 기준임계치가 0.2이고, a 내지 e 등록사용자가 존재하며, 제1 최적임계치는 0.6으로 산출되고, a 등록사용자에 대한 제1 최적임계치는 0.6이고, b 등록사용자에 대한 제1 최적임계치는 0.5이며, c 등록사용자에 대한 제1 최적임계치는 0.4 인 경우, 기준임계치 변경부(420)는 a 내지 e 등록사용자에 대해 기준임계치(0.2)를 0.6으로 변경한다. 그리고, 에지 디바이스(3)의 인증속도가 미리 정해진 속도보다 낮으면, 기준임계치 변경부(420)는 a 등록사용자에 대한 기준임계치를 0.6으로 변경하고, b 등록사용자에 대한 기준임계치를 0.5로 변경하며, c 등록사용자에 대한 기준임계치를 0.4로 변경하고, d 등록사용자 및 e 등록사용자에 대한 기준임계치는 0.2로 유지한다.
이와 같이 본원발명은 에지 디바이스(3)의 인증속도에 따라 기준임계치를 일괄적으로 변경하거나 사용자, 에지 디바이스(3), 출입시간별로 변경함으로써, 보안성능을 향상시킬 수 있을 뿐만 아니라, 에지 디바이스(3)의 인증속도 또한 향상시킬 수 있다는 효과가 있다.
한편, 기준임계치 변경부(420)는 변경된 기준임계치를 각 에지 디바이스(3)로 배포한다. 구체적으로 기준임계치 변경부(420)는 인터페이스부(65)를 통해 변경된 기준임계치를 각 에지 디바이스(3)로 배포할 수 있다. 이에 따라 각 에지 디바이스(3)는 변경된 기준임계치로 인증을 수행하게 된다.
출입권한정보 관리부(60)는 각 사용자 별로 부여되어 있는 출입권한정보를 변경하거나 새로운 출입권한정보를 추가한다. 일 실시예에 있어서, 출입권한정보 관리부(60)는 각 사용자 별로 출입권한정보를 별개로 부여하거나 각 사용자가 속한 조직 단위로 출입권한정보를 부여할 수 있다.
한편 본 발명에 따른 안면인식서버(2)는 스케줄러(63)를 더 포함할 수 있다. 스케줄러(63)는 미리 정해진 기간이 도래하거나 미리 정해진 이벤트가 발생할 때마다 일괄적으로 신규 사용자를 등록하는 기능을 수행한다. 예컨대, 상술한 실시예에 있어서는 사용자 등록부(10)가 사용자로부터 등록요청이 발생하는 경우 신규 사용자의 등록절차를 수행하는 것으로 설명하였지만, 안면인식서버(2)가 스케줄러(63)를 포함하는 경우 미리 정해진 시간 단위로 또는 미리 정해진 이벤트가 발생하면 스케줄러(63)가 사용자 등록부(10), 입력 이미지 생성부(20), 및 얼굴인식부(30)의 동작을 개시시킴으로써 신규 사용자 등록절차가 자동으로 수행되도록 할 수 있다. 또한, 스케줄러(63)는 에지 디바이스 관리부(50)에 의해 기준이미지가 최적 기준이미지로 변경되면, 입력 이미지 생성부(20), 및 얼굴인식부(30)의 동작을 개시시킨다.
인터페이스부(65)는 에지 디바이스 관리부(50)로부터 변경된 기준임계치 및 어레이 파일 생성부(45)에 의해 생성된 어레이 파일을 미리 정해진 방식으로 암호화하여 각 에지 디바이스(3)로 전송한다. 일 실시예에 있어서, 인터페이스부(65)는 공개키 기반의 암호화 알고리즘을 이용하여 어레이 파일을 암호화하여 각 에지 디바이스(3)로 전송할 수 있다.
한편, 인터페이스부(65)는 암호화된 기준임계치 및 어레이 파일을 에지 디바이스(3)와 약속된 프로토콜에 따라 에지 디바이스(3)로 전송할 수 있다.
또한, 인터페이스부(65)는 각 에지 디바이스(3)로부터 미리 정해진 기간 마다 인증결과를 수신하여 에지 디바이스(3)로 제공할 수 수 있다.
얼굴인식모델 트레이닝부(70)는 컨벌루션 신경망을 기초로 얼굴인식모델(40)을 생성하고, 생성된 얼굴인식모델(40)을 트레이닝시킨다. 구체적으로, 얼굴인식모델 트레이닝부(70)는 얼굴인식모델(40)을 구성하는 컨벌루션 신경망을 지속적으로 트레이닝킴으로써 최적의 얼굴인식모델을 생성한다.
이를 위해, 얼굴인식모델 트레이닝부(70)는 얼굴이미지 추출부(75)를 트레이닝시키는 얼굴이미지 추출 트레이닝부(500), 특징벡터 추출부(85)를 트레이닝시키는 특징벡터 추출 트레이닝부(505), 실물이미지 판단부(80)를 트레이닝시키는 실물이미지 판단 트레이닝부(510) 및 특징벡터 추출부(85)의 오차를 감소시키는 오차감소부(515)를 포함한다.
얼굴이미지 추출 트레이닝부(500)는 얼굴이미지 추출부(75)를 구성하는 제1 내지 제3 얼굴탐지부(90~100)를 학습 이미지를 이용하여 트레이닝시킨다. 구체적으로, 얼굴이미지 추출 트레이닝부(70)는 도 4b에 도시된 바와 같은 구조를 갖는 제1 얼굴탐지부(90)에 미리 정해진 크기를 갖는 복수개의 학습 이미지를 입력하여 학습 이미지에서 얼굴영역이 포함될 제1 확률값 및 얼굴영역 좌표를 산출하고, 산출된 제1 확률값 및 얼굴영역 좌표를 역전파(Back Propagation) 알고리즘에 따라 제1 얼굴탐지부(90)에 피드백함으로써 제1 얼굴탐지부(90)에 적용된 컨벌루션 필터들의 필터계수 및 가중치를 갱신한다.
도 4b에서는 제1 얼굴탐지부(90)가 해당 이미지가 얼굴영역을 포함할 제1 확률값과 해당 이미지 상에서 얼굴영역 좌표만을 산출하는 것으로 설명하였기 때문에 얼굴이미지 추출 트레이닝부(500)는 산출된 제1 확률값 및 얼굴영역 좌표를 역전파 알고리즘을 이용하여 제1 얼굴탐지부(90)에 피드백하여 제1 얼굴탐지부(90)에 적용된 컨벌루션 필터들의 필터계수 및 가중치를 갱신하는 것으로 설명하였다.
하지만, 다른 실시예에 있어서 얼굴이미지 추출 트레이닝부(500)는 랜드마크 좌표 추출의 정확도를 향상시키기 위해 제1 얼굴탐지부(90)의 트레이닝시 제1 얼굴탐지부(90)로부터 랜드마크 좌표를 추가로 산출하고, 산출된 랜드마크 좌표를 제1 확률값 및 얼굴영역 좌표와 함께 역전파 알고리즘을 통해 제1 얼굴탐지부(90)에 피드백함으로써 제1 얼굴탐지부(90)에 적용된 컨벌루션 필터들의 필터계수 및 가중치를 갱신할 수도 있을 것이다.
이러한 실시예에 따르는 경우 제1 얼굴탐지부(90)는 랜드마크 좌표를 획득하기 위해 제3 컨벌루션 연산부(110c)에서 출력되는 피쳐맵에 차원감소 필터를 적용함으로써 제3 컨벌루션 연산부(110c)에서 출력되는 피쳐맵의 차원을 10차원으로 감소시키는 차원 감소부(미도시)를 추가로 포함할 수 있다. 이때, 10차원으로 출력되는 10개의 값이 랜드마크인 2개의 눈의 좌표, 코의 좌표, 좌측 입 꼬리의 좌표, 및 우측 입 꼬리의 좌표로 결정된다.
또한, 얼굴이미지 추출 트레이닝부(500)는 도 4c에 도시된 바와 같은 구조를 갖는 제2 얼굴탐지부(95)에 미리 정해진 크기를 갖는 복수개의 학습 이미지를 입력하여 학습 이미지에서 얼굴영역이 포함될 제2 확률값 및 얼굴영역 좌표를 산출하고, 산출된 제2 확률값 및 얼굴영역 좌표를 역전파 알고리즘을 이용하여 제2 얼굴탐지부(95)에 피드백함으로써 제2 얼굴탐지부(95)에 적용된 컨벌루션 필터들의 필터계수 및 가중치를 갱신한다. 이때, 제2 얼굴탐지부(95)에 입력되는 학습 이미지는 제1 얼굴탐지부(90)에 의해 얼굴영역이 포함된 것으로 결정된 학습이미지로 선정될 수 있다.
도 4c에서는 제2 얼굴탐지부(95)가 해당 이미지가 얼굴영역을 포함하는 확률과 해당 이미지 상에서 얼굴영역 좌표만을 산출하는 것으로 설명하였기 때문에 얼굴이미지 추출 트레이닝부(500)는 산출된 제2 확률값 및 얼굴영역 좌표를 역전파 알고리즘을 이용하여 제2 얼굴탐지부(95)에 피드백하여 제2 얼굴탐지부(95)에 적용된 컨벌루션 필터들의 필터계수 및 가중치를 갱신하는 것으로 설명하였다.
하지만, 다른 실시예에 있어서 얼굴이미지 추출 트레이닝부(500)는 랜드마크 좌표 추출의 정확도를 향상시키기 위해 제2 얼굴탐지부(95)의 트레이닝시에도 제2 얼굴탐지부(95)로부터 랜드마크 좌표를 추가로 산출하고, 산출된 랜드마크 좌표를 제2 확률값 및 얼굴영역 좌표와 함께 역전파 알고리즘을 통해 제2 얼굴탐지부(95)에 피드백함으로써 제2 얼굴탐지부(95)에 적용된 컨벌루션 필터들의 필터계수 및 가중치를 갱신할 수도 있을 것이다.
이러한 실시예에 따르는 경우 제2 얼굴탐지부(95)는 랜드마크 좌표를 획득하기 위해 제1 차원증가부(140)에서 출력되는 피쳐맵에 차원감소 필터를 적용함으로써 제1 차원증가부(140)에서 출력되는 피쳐맵의 차원을 10차원으로 감소시키는 차원 감소부(미도시)를 추가로 포함할 수 있다. 이때, 10차원으로 출력되는 10개의 값이 랜드마크인 2개의 눈의 좌표, 코의 좌표, 좌측 입 꼬리의 좌표, 및 우측 입 꼬리의 좌표로 결정된다.
또한, 얼굴이미지 추출 트레이닝부(500)는 도 4d에 도시된 바와 같은 구조를 갖는 제3 얼굴탐지부(100)에 미리 정해진 크기를 갖는 복수개의 학습 이미지를 입력하여 학습 이미지에 얼굴영역이 포함될 제3 확률값, 얼굴영역 좌표, 및 랜드마크의 좌표를 산출하고, 산출된 제3 확률값, 얼굴영역 좌표, 및 랜드마크의 좌표를 역전파 알고리즘을 이용하여 제3 얼굴탐지부(100)에 피드백함으로써 제3 얼굴탐지부(100)에 적용된 컨벌루션 필터들의 필터계수 및 가중치를 갱신한다. 이때, 제3 얼굴탐지부(100)에 입력되는 학습 이미지는 제2 얼굴탐지부(95)에 의해 얼굴영역이 포함된 것으로 결정된 학습이미지로 선정될 수 있다.
특징벡터 추출 트레이닝부(505)는 도 13 내지 도 15에 도시된 바와 같은 구성을 갖는 특징벡터 추출부(85)를 학습 이미지를 이용하여 트레이닝시킨다. 구체적으로, 특징벡터 추출 트레이닝부(505)는 도 13 내지 도 15에 도시된 바와 같은 구조를 갖는 특징벡터 추출부(85)에 복수개의 학습 이미지를 미리 정해진 배치단위로 입력함으로써 각 학습이미지로부터 특징벡터를 추출한다.
특징벡터 추출 트레이닝부(505)는 추출된 특징벡터들을 미리 정해진 분류함수에 적용함으로써 해당 학습 이미지가 특정 클래스에 포함될 확률값을 예측하고, 예측된 확률값(이하, '예측값'이라 함)과 실제값간의 오차를 연산하여 그 결과를 역전파 알고리즘을 이용하여 특징벡터 추출부(85)에 피드백함으로써 특징벡터 추출부(85)에 적용된 컨벌루션 필터들의 필터계수 및 가중치를 갱신한다.
일 실시예에 있어서, 특징벡터 추출 트레이닝부(505)는 실물이미지 판단부(80)의 실물 특징벡터 추출부(200)를 학습이미지를 이용하여 트레이닝 시킬 수 있다. 이하에서는 특징벡터 추출 트레이닝부(505)가 특징벡터 추출부(85)를 트레이닝시키는 것과 실물 특징벡터 추출부(200)를 트레이닝 시키는 것이 동일하므로, 실물 특징벡터 추출부(200)를 트레이닝 시키는 것에 대한 구체적인 설명은 생략한다.
실물이미지 판단 트레이닝부(510)는 실물이미지 판단부(80)를 트레이닝 시킨다. 구체적으로 실물이미지 판단 트레이닝부(510)는 RGB 신경망 네트워크, 깊이 신경망 네트워크, 반사 신경망 네트워크, 및 실물이미지 판단부(80)의 판단부(210)가 이용하는 이진분류기를 학습시킨다.
실물이미지 판단 트레이닝부(510)는 이진분류기에 실물이미지 및 페이크 이미지를 학습시키고, 추가로, 깊이 신경망 네트워크를 통과하여 실물이미지로부터 분리된 제1 깊이이미지와 페이크이미지로부터 분리된 제2 깊이이미지, 반사 신경망 네트워크를 통과하여 실물이미지로부터 분리된 제1 반사이미지와 페이크이미지로부터 분리된 제2 반사이미지를 학습시킨다. 이때, 페이크 이미지로부터 추출된 제2 깊이이미지는 RGB를 (0,0,0)으로 하여 학습시키고, 실물이미지로부터 추출된 제1 반사이미지는 RGB를 (0,0,0)으로 하여 학습시킨다.
한편, 본 발명에 따른 얼굴인식모델 트레이닝부(70)는 오차감소부(515)를 통해 특징벡터 추출시 발생되는 오차를 더욱 감소시킴으로써 특징벡터 추출부(85)의 성능을 더욱 향상시킬 수 있다. 실물이미지 판단부(80)의 실물 특징벡터 추출부(200)도 특징벡터 추출부(85)와 동일하게 오차감소부(515)를 통해 성능을 향상시킬 수 있다. 따라서, 오차감소부(515)가 특징벡터 추출부(85)의 오차를 감소시키는 내용으로 설명하고, 오차감소부(515)가 실물 특징벡터 추출부(200)의 오차를 감소시키는 내용은 생략하도록 한다.
구체적으로, 오차감소부(515)는 특징벡터 추출 트레이닝부(505)가 특징벡터 추출부(85)를 트레이닝시키는 과정에서 특징벡터 추출부(85)를 통해 추출된 특징벡터들에 기초한 예측값과 실제값간의 오차를 감소시킨다. 구체적으로, 오차감소부(515)는 특징벡터 추출부(85)가 학습 이미지로부터 추출한 특징벡터들을 기초로 예측값과 실제값간의 오차를 계산하고, 오차가 감소될 수 있도록 각 학습 이미지를 2차원 각도 평면상에 배치하고 배치결과에 따른 확률값을 이용하여 특징벡터 추출 트레이닝부(505)가 특징벡터 추출부(85)를 트레이닝시킬 수 있도록 한다.
본 발명에 따른 얼굴인식모델 트레이닝부(70)가 오차감소부(515)를 통해 오차감소가 되도록 특징벡터 추출부(279)를 학습시키는 이유는 도 20에 도시된 바와 같이 일반적인 얼굴인식모델의 경우 동일인임에도 불구하고 얼굴이 촬영된 조명이나 환경이 변화하는 경우 동일인임을 구분해 내지 못하는 것과 같은 오차가 발생하기 때문에, 이러한 오차감소부(515)를 통해 얼굴인식의 오차가 감소될 수 있는 특징벡터가 추출되도록 특징벡터 추출부(85)를 트레이닝 시키기 위한 것이다.
본 발명의 일 실시예에 따른 오차감소부(515)는 도 2에 도시된 바와 같이 얼굴이미지 배치부(520) 및 확률산출부(525)를 포함한다.
얼굴이미지 배치부(520)는 학습 이미지에 대해 특징벡터 추출부(85)가 추출한 복수개의 특징벡터들을 기초로 각 학습 이미지들을 2차원 각도 평면 상에 배치한다. 구체적으로, 얼굴이미지 배치부(520)는 서로 다른 클래스에 포함되는 학습 이미지들간의 코사인 유사도를 산출하고, 코사인 유사도에 따라 각 학습 이미지들 간의 이격각도인 기준각도를 산출함으로써 학습 이미지들을 2차원 각도 평면상에 배치하게 된다.
본 발명에서 얼굴이미지 배치부(520)가 각 학습 이미지들의 특징벡터를 기초로 산출되는 각 학습 이미지들 간의 거리에 따라 학습 이미지를 벡터공간에 배치하게 되면 도 21에 도시된 바와 같이 각 학습 이미지들 간에 중첩되는 영역(900)이 발생할 수 밖에 없어, 학습시 동일인과 타인을 명확하게 구분하기가 어렵다는 한계가 있다.
따라서, 본 발명에서는 얼굴이미지 배치부(520)가 서로 다른 클래스에 포함되는 학습 이미지들 사이의 각도를 코사인 유사도를 통해 산출하고, 산출된 각도를 기초로 각 학습 이미지를 2차원 각도 평면상에 배치하는 것이다.
확률 산출부(525)는, 2차원 각도 평면 상에서 얼굴이미지 배치부(520)에 의해 산출된 기준각도에 가산될 마진각도를 가변시키고, 가변되는 마진각도 별로 각 학습 이미지들이 해당 클래스에 포함될 확률을 산출한다.
구체적으로, 확률 산출부(525)는 도 22에 도시된 바와 같이 각 학습 이미지 간의 기준각도(θ12)에 가산되는 마진각도(P1, P2)를 가변시키면서 서로 중첩되는 특성을 갖는 학습 이미지들이 2차원 각도 평면 상에서 이격되도록 한다. 일 실시예에 있어서, 마진각도(P1, P2)는 0보다 크고 90도 보다 작은 범위 내에서 학습률(Learning Rate)에 따라 결정될 수 있다.
예컨대, 학습률이 증가하면 마진각도도 그에 따라 증가하고 학습률이 감소하면 마진각도도 그에 따라 감소하도록 설정될 수 있다. 이때, 확률 산출부(525)는 마진각도를 미리 정해진 기준 단위만큼 가변시킬 수 있다.
확률산출부(525)에 의해 마진각도가 기준각도에 가산되면 도 23에 도시된 바와 같이, 벡터공간 내에서 서로 중첩되는 특징을 가졌던 학습 이미지들이 서로 이격되도록 배치된다는 것을 알 수 있다.
확률산출부(525)는 기준각도에 가산되는 마진각도 별로 각 학습 이미지들이 해당 클래스에 포함될 확률을 산출하고, 산출된 확률값을 특징벡터 추출 트레이닝부(505)로 제공함으로써 특징벡터 추출 트레이닝부(505)가 확률산출부(525)에 의해 산출된 확률값을 기초로 특징벡터 추출부(85)를 학습시킬 수 있도록 한다. 즉, 특징벡터 추출 트레이닝부(505)는 확률산출부(288)에 의해 산출된 확률값을 기초로 특징벡터 추출부(85)에 적용된 컨벌루션 필터들의 계수 및 가중치 중 적어도 하나를 갱신함으로써 특징벡터 추출부(85)를 학습시키게 된다.
일 실시예에 있어서, 확률 산출부(525)는 아래의 수학식 1을 이용하여 각 마진각도별로 각 학습 이미지들이 해당 클래스에 포함될 확률을 산출할 수 있다.
Figure PCTKR2019017218-appb-M000001
수학식 1에서 x는 기준각도를 나타내고 p는 상기 마진각도를 나타내며, n은 클래스의 개수를 나타낸다.
일 실시예에 있어서, 확률 산출부(525)는 확률 산출부(525)에 의해 산출된 확률값을 기초로 특징벡터 추출 트레이닝부(505)에 의해 트레이닝된 특징벡터 추출부(85)에 미리 정해진 테스트 얼굴이미지를 적용했을 때 예측값과 실제값간의 오차가 기준치 이하가 될 때까지 마진각도를 계속하여 가변시킬 수 있다.
즉, 확률 산출부(525)는 트레이닝된 특징벡터 추출부(85)에 미리 정해진 테스트 얼굴이미지를 적용했을 때 산출되는 예측값과 실제값간의 오차가 기준치 이하가 되는 시점의 마진각도를 최종 마진각도로 결정한다. 이때, 예측값과 실제값간의 오차는 크로스 엔트로피(Cross Entropy) 함수를 이용하여 산출할 수 있다.
상술한 바와 같은 오차감소부(515)를 통해 오차감소가 수행되면 도 24에 도시된 바와 같이, 서로 다른 환경이나 다른 조명에서 촬영된 경우라 하더라도 동일인을 정확하게 분류해 낼 수 있게 된다.
상술한 실시예에 있어서, 얼굴인식모델 트레이닝부(70)를 구성하는 얼굴이미지 추출 트레이닝부(500), 특징벡터 추출 트레이닝부(505), 실물이미지 판단 트레이닝부(510) 및 오차감소부(515)는 알고리즘 형태의 소프트웨어로 구현되어 안면인식서버(2)에 탑재될 수 있다.
다시 도 1을 참조하면, 에지 디바이스(3)는 특정 장소 마다 배치되어 안면인식서버(2)에 의해 배포되는 얼굴인식모델(40)을 이용하여 해당 장소로의 출입을 희망하는 타겟사용자의 얼굴을 인식하고, 인식결과를 기초로 타겟사용자의 출입을 인증하는 기능을 수행한다.
본 발명에서, 안면인식서버(2)가 타겟 사용자의 얼굴인식 및 인증을 수행하지 않고 에지 디바이스(3)가 타겟 사용자의 얼굴인식 및 인증을 수행하도록 한 이유는 타겟 사용자의 얼굴인식 및 인증을 안면인식서버(2)에서 수행하는 경우 안면인식서버(2) 또는 네트워크에서 장애가 발생되면 얼굴인식 및 인증이 수행될 수 없을 뿐만 아니라 사용자의 수가 증가함에 따라 고가의 안면인식서버(2)의 증설이 요구되기 때문이다.
이에 따라 본 발명은 에지 컴퓨팅(Edge Computing) 방식을 적용하여 에지 디바이스(3)에서 타겟 사용자의 얼굴인식 및 인증을 수행하도록 함으로써 안면인식서버(2) 또는 네트워크에 장애가 발생하더라도 정상적으로 얼굴인식 서비스를 제공할 수 있어 서비스 제공 신뢰도를 향상시킬 수 있고, 사용자의 수가 증가하더라도 고가의 안면인식서버(2)를 증설할 필요가 없어 안면인식시스템(1) 구축비용을 절감할 수 있게 된다.
이하, 본 발명에 따른 에지 디바이스(3)의 구성을 도 13을 참조하여 보다 구체적으로 설명한다.
도 25는 본 발명의 제1 실시예에 따른 에지 디바이스의 구성을 개략적으로 보여주는 블록도이다. 도 25에 도시된 바와 같이, 본 발명의 제1 실시예에 따른 에지 디바이스(3)는 제1 촬영부(1210), 입력 이미지 생성부(1250), 얼굴인식부(1300), 인증부(1310), 얼굴인식모델(1320), 어레이 파일 업데이트부(1330), 메모리(1340), 및 인터페이스부(1350)를 포함한다.
제1 촬영부(1210)는 인증대상이 되는 타겟 사용자가 접근하면, 타겟 사용자를 촬영하여 촬영 이미지를 생성한다. 제1 촬영부(1210)는 생성된 촬영이미지를 입력 이미지 생성부(1250)로 전송한다.
입력 이미지 생성부(1250)는 제1 촬영부(1210)로부터 전송된 타겟 사용자의 촬영이미지로부터 얼굴인식에 이용될 입력 이미지를 생성한다. 구체적으로 입력 이미지 생성부(1250)는 하나의 타겟 사용자의 촬영이미지를 미리 정해진 단계까지 다운샘플링하거나 업샘플링함으로써 하나의 타겟 사용자의 촬영이미지로부터 해상도가 서로 다른 복수개의 타겟 사용자의 이미지들을 생성한다.
예컨대, 입력 이미지 생성부(1250)는 타겟 사용자의 이미지에 가우시안 피라미드를 적용함으로써 다운 샘플링된 타겟 사용자 이미지를 생성하거나, 타겟 사용자 이미지에 라플라시안 피라미드를 적용함으로써 업샘플링된 타겟 사용자 이미지를 생성할 수 있다.
해상도가 서로 다른 복수개의 타겟 사용자 이미지가 생성되면, 입력 이미지 생성부(1250)는 각각의 타겟 사용자 이미지에 대해, 타겟 사용자 이미지 상에서 미리 정해진 픽셀크기의 윈도우를 이동시켜가면서 획득되는 복수개의 이미지를 입력 이미지로 생성한다. 입력 이미지 생성부(1250)는 생성된 입력 이미지를 얼굴인식부(1300)로 입력한다.
얼굴인식부(1300)는 입력 이미지 생성부(1250)로부터 타겟 사용자의 입력 이미지가 수신되면 수신된 타겟 사용자의 입력 이미지를 안면인식서버(2)로부터 배포된 얼굴인식모델(1320)에 입력하여 타겟 얼굴이미지를 추출하고, 추출된 타겟 얼굴이미지로부터 사람을 촬영한 실물이미지 여부를 판단한 후, 실물이미지로 판단되면, 해당 얼굴이미지에 대해 타겟 특징벡터를 추출한다. 특히, 안면인식서버(2)로부터 배포되는 얼굴인식모델(1320)은 상술한 오차감소부(515)를 통한 학습에 의해 오차가 감소된 것일 수 있다.
또한, 얼굴인식모델(1320)은 미리 정해진 주기마다 업데이트될 수 있다. 일 예로, 에지 디바이스(3)는 안면인식서버(2)에 의해 얼굴인식모델(1320)이 업데이트될 때마다 안면인식서버(2)로부터 새로운 얼굴인식모델(1320)을 배포받음으로써 기 배포된 얼굴인식모델(1320)을 새로운 얼굴인식모델(1320)로 업데이트할 수 있다.
타겟 얼굴이미지 추출 및 타겟 특징벡터 추출에 이용되는 얼굴인식모델(1320)은 도 4 내지 도 8에 도시된 얼굴인식모델(40)과 동일하므로 이에 대한 구체적인 설명은 생략한다.
또한, 얼굴인식부(1300)가 얼굴인식모델(1320)을 이용하여 타겟 사용자의 입력 이미지로부터 타겟 얼굴이미지 추출, 실물이미지 판단 및 타겟 특징벡터를 추출하는 방법은 안면인식서버(2)에 포함된 얼굴인식부(30)가 얼굴인식모델(40)을 이용하여 얼굴이미지 및 특징벡터를 추출하는 것과 동일하므로 이에 대한 구체적인 설명은 생략한다.
인증부(1310)는 얼굴인식부(1300)에 의해 획득된 타겟 특징벡터와 안면인식서버(2)로부터 수신된 어레이 파일에 포함된 특징벡터들을 비교하여 유사도를 산출하고, 산출된 유사도를 기준임계치와 비교하여 타겟 사용자가 해당 장소에 출입이 가능한 등록사용자인지 여부를 인증한다. 이때, 인증부(1310)는 업데이트부(1330)에 의해 변경된 최적 기준이미지를 포함하는 어레이 파일로 타겟사용자를 인증할 수 있다. 인증부(1310)는 미리 정해진 주기에 따라 안면인식서버(2)로부터 최적임계치로 변경된 기준임계치를 수신하고, 이를 유사도와 비교하여 타겟 사용자를 인증할 수 있다.
이하, 인증부(1310)가 타겟 사용자를 인증하는 방법에 대해 구체적으로 설명한다.
먼저, 인증부(1310)는 어레이 파일에 포함된 각 어레이 마다 해당 어레이에 포함된 특징벡터에서 타겟 특징벡터를 동일 인덱스 별로 감산하여 제곱한 제1 결과값을 산출한다. 인증부(1310)는 인덱스 별로 산출된 제1 결과값을 합산하여 제2 결과값을 산출하고, 미리 정해진 기준값에서 제2 결과값을 감산한 제3 결과값을 유사도로 산출한다.
인증부(1310)는 어레이 파일에 포함된 어레이들 중 유사도가 가장 큰 어레이에 매핑되어 있는 사용자가 타겟사용자와 가장 유사한 사용자인 것으로 결정한다. 이때, 인증부(1310)는 유사도가 기준임계치 이상인 경우 타겟사용자가 정당한 권한을 가진 사용자로 인증하게 되고, 이에 따라 타겟 사용자가 해당 장소의 출입이 허가될 수 있다.
일 실시예에 있어서, 기준임계치는 에지 디바이스(3)가 설치되는 장소의 보안레벨에 따라 차등 설정될 수 있다. 예컨대, 에지 디바이스(3)가 높은 보안 레벨이 적용되는 지역에 설치되는 경우 기준임계치는 높게 설정될 수 있고 에지 디바이스(3)가 낮은 보안 레벨이 적용되는 지역에 설치되는 경우 기준임계치는 낮게 설정될 수 있다.
이하, 인증부(1310)가 얼굴인식부(1300)에 의해 획득된 타겟 특징벡터와 어레이 파일에 포함된 특징벡터들을 비교하여 타겟 사용자가 해당 층에 출입이 가능한 정당한 사용자인지 여부를 인증하는 방법을 예를 들어 설명하기로 한다.
도 26은 인증부가 타겟 사용자를 인증하는 방법을 예시적으로 보여주는 도면이다. 도 26에 도시된 바와 같이, 어레이 파일은 각 사용자의 특징벡터들을 포함하는 어레이가 각 로우 별로 배치되어 있다. 예컨대, 1번째 로우에는 제1 사용자에 대한 특징벡터들이 순차적으로 배치되어 있고, 2번째 로우에는 제2 사용자에 대한 특징벡터들이 순차적으로 배치되어 있다. 이때, 각 사용자의 특징벡터들은 인덱스 순서에 따라 하나의 로우에 배치되어 있다.
도 26a에 도시된 바와 같이 인증부(1310)는 어레이 파일(1410)의 각 어레이의 특징벡터들과 타겟 특징벡터들 간의 차이값을 인덱스 별로 산출하고, 도 26b에 도시된 바와 같이 산출된 차이값들을 제곱하여 제1 결과값을 산출하며, 도 26c에 도시된 바와 같이 각 어레이 별로 제1 결과값들을 모두 합산하여 제2 결과값을 산출한다.
이후, 도 26d에 도시된 바와 같이, 인증부(1310)는 미리 정해진 기준값(예컨대, 1)에서 제2 결과값을 감산함으로써 제3 결과값인 유사도를 산출하고, 산출된 유사도들 중 제일 큰 값인 0.310528에 해당하는 어레이에 매핑되어 있는 사용자를 타겟 사용자와 가장 유사한 사용자로 결정한다. 또한, 인증부(1310)는 가장 큰 값으로 결정된 유사도가 기준임계치보다 큰 값이므로 타겟 사용자를 해당 어레이에 매핑되어 있는 사용자로 최종 인증한다.
인증부(1310)가 타겟 사용자를 인증하는 방식을 수학식으로 표현하면 아래의 수학식2와 같이 표현할 수 있다.
Figure PCTKR2019017218-appb-M000002
수학식 2에서 Z는 제3 결과값인 유사도를 나타내고, R은 미리 정해진 기준값을 나타내며, Xi는 n개의 특징벡터들 중 i번째 인덱스에 해당하는 특징벡터를 나타내고 Yi는 n개의 특징벡터들 중 i번째 인덱스에 해당하는 타겟 특징벡터를 나타낸다.
인증부(1310)는 미리 정해진 주기에 따라 안면인식서버(2)로부터 변경된 기준임계치를 수신하여 갱신하고, 갱신된 기준임계치를 이용하여 타겟 사용자를 인증한다.
얼굴인식모델(1320)은 안면인식서버(2)에 의해 생성되어 배포된 것으로서, 얼굴인식모델(1320)은 안면인식서버(2)에 의해 얼굴인식모델(40)이 트레이닝되어 갱신될 때마다 갱신된 얼굴인식모델(40)로 대체된다. 이때, 얼굴인식모델(1320)은 인터페이스부(1350)를 통해 안면인식서버(2)로부터 수신될 수 있다.
업데이트부(1330)는 인터페이스부(1350)를 통해 안면인식서버(2)로부터 어레이 파일 또는 기준임계치가 수신되면 이를 제1 메모리(1342)에 업로드하여 인증부(1310)가 이를 이용하여 타겟 사용자를 인증할 수 있도록 한다. 특히, 본 발명에 따른 업데이트부(1330)는 어레이 파일 또는 기준임계치를 동적으로 로딩할 수 있다.
구체적으로, 업데이트부(1330)는 제1 메모리(1342)에 기존 어레이 파일이 로딩되어 있을 때, 안면인식서버(2)로부터 신규 어레이 파일이 수신되는 경우 신규 어레이 파일을 제2 메모리(1344)에 로딩하고, 제2 메모리(1344)에 신규 레이 파일의 로딩이 완료되면 제1 메모리(1342)에 로딩되어 있는 기존 어레이 파일을 제2 메모리(1344)에 로딩되어 있는 신규 어레이 파일로 대체한다. 기준임계치도 이와 동일하다.
본 발명에 따른 업데이트부(1330)가 상술한 바와 같이 어레이 파일을 동적 로딩하는 이유는 인증부(1310)가 타겟 사용자에 대한 인증처리를 수행함과 동시에 어레이 파일 업데이트부(1330)가 신규 어레이 파일을 업데이트할 수 있도록 함으로써 에지 디바이스(3)가 새롭게 업데이트된 어레이 파일을 기초로 실시간으로 얼굴인식이 수행될 수 있도록 하기 위함이다.
업데이트부(1330)는 미리 정해진 업데이트 주기마다 최적 기준이미지로부터 추출된 특징벡터들을 포함하는 복수개의 어레이로 구성된 신규 어레이 파일을 안면인식서버(2)로부터 수신하고, 기존 어레이 파일을 신규 어레이 파일로 변경한다.
일 실시예에 있어서, 업데이트부(1330)는 미리 정해진 시간동안 획득된 제2 인증결과들을 기초로 사용자 별로 인식시도 대비 승인회수의 비율을 산출하고, 산출된 비율이 미리 정해진 기준치 이상이면 업데이트 주기를 감소시키고 기준치 이하이면 업데이트 주기를 증가시킨다.
또한 업데이트부(1330)는 인식시도 대비 승인회수의 변화율에 따라 업데이트 주기를 가변시킬수 있다. 업데이트 부(1330)는 변화율이 미리 정해진 기준치 이상으로 증가하면 업데이트 주기를 감소시키고, 변화율이 미리 정해진 기준치 이하로 감소하면 업데이트 주기를 증가시킬 수 있다.
제1 메모리(1342)에는 인증부(1310)에 의해 이용되는 기존 어레이 파일이 로딩되고, 제2 메모리(1344)에는 새롭게 수신된 신규 어레이 파일이 로딩된다. 제2 메모리(1344)에 신규 어레이 파일의 로딩이 완료되면 업데이트부(1330)에 의해 제1 메모리(1342)에 기록된 기존 어레이 파일이 신규 어레이 파일로 대체되게 된다. 기준임계치도 이와 동일하다.
인터페이스부(1350)는 에지 디바이스(3)와 안면인식서버(2)간의 데이터 송수신을 매개한다. 구체적으로, 인터페이스부(1350)는 안면인식서버(2)로부터 얼굴인식모델(1320)을 수신하고, 안면인식서버(2)로부터 최적 기준이미지를 포함하는 어레이 파일 또는 기준 임계치를 수신하여 업데이트부(1330)를 통해 제1 메모리(1342) 또는 제2 메모리(1344)에 로딩한다. 또한, 인터페이스부(1350)는 인증부(1330)에 의한 인증결과를 안면인식서버(2)로 주기적으로 전송한다.
일 실시예에 있어서, 어레이 파일, 기준임계치 및 얼굴인식모델(1320)은 인터페이스부(1350)를 통해 미리 정해진 주기마다 업데이트될 수 있다.
상술한 바와 같이, 본 발명에 따르면 에지 디바이스(3)에는 얼굴인식을 위한 얼굴인식모델(1320), 어레이 파일, 기준임계치만 저장될 뿐 사용자의 얼굴이미지나 개인정보가 저장되지 않기 때문에 에지 디바이스(3)가 해킹되더라도 사용자의 개인정보가 유출될 염려가 없어 보안이 강화된다.
상술한 실시예에서 얼굴인식모델(1320)에 포함된 실물이미지 판단부로 타겟사용자의 촬영이미지가 사람을 촬영한 실물이미지인지 등록사용자의 사진을 촬영한 페이크이미지인지를 판단하였다. 상술한 실시예와 달리, 본 발명은 추가로 IR 카메라인 제2 촬영부(1510)로 실물이미지인지 여부를 판단할 수 있다.
도 27은 본 발명의 제2 실시예에 따른 에지 디바이스의 구성을 보여주는 블록도이다. 도 27에 도시된 제2 실시예에 따른 에지 디바이스는 도 25에 도시된 제1 실시예에 따른 에지 디바이스에 비해 제2 촬영부(1510) 및 진위판단부(1520)를 더 포함한다는 점에서 제1 실시예에 따른 에지 디바이스와 구별된다. 이하에서는, 설명의 편의를 위해 제1 실시예에 따른 에지 디바이스와 동일한 기능을 하는 구성에 대한 설명은 생략하고, 새롭게 추가된 제2 촬영부(1510) 및 진위판단부(1520)와 새롭게 추가된 구성으로 인해 그 기능이 변경된 제1 촬영부(1210)에 대해서만 기재하기로 한다.
제1 촬영부(1210)는 촬영대상을 촬영하여 촬영이미지를 생성한다. 제1 촬영부(1210)는 생성된 촬영이미지를 진위판단부(1520)로 전송한다.
제2 촬영부(1510)는 촬영대상을 촬영하여 뎁스(Depth) 이미지를 생성한다. 제2 촬영부(1510)는 제1 촬영부(1210)에 의해 촬영대상이 촬영되는 시점과 동일한 시점 또는 제1 촬영부(1210)에 촬영대상이 촬영되는 시점으로부터 소정시간 이전 또는 소정시간 이후에 촬영대상을 촬영할 수 있다.
일 실시예에 있어서, 제2 촬영부(1510)는 촬영대상을 촬영하여 뎁스 이미지를 생성할 수 있는 IR 카메라로 구현될 수 있다.
이와 같이 제2 실시예에 따른 에지 디바이스(120)가 제2 촬영부(1510)를 통해 촬영대상를 촬영하여 뎁스 이미지를 생성하는 이유는, 제2 촬영부(1510)에 의해 촬영대상의 실제 얼굴이 촬영되는 경우와 촬영대상의 얼굴이 포함된 사진이 촬영된 경우 서로 다른 형태의 뎁스 이미지가 생성되기 때문이다.
예컨대, 제2 촬영부(1510)에 의해 촬영대상의 얼굴이 포함된 사진이 촬영된 경우 도 28a에 도시된 바와 같은 형태의 뎁스 이미지가 생성됨에 반해, 제2 촬영부(1510)에 의해 촬영대상의 실제 얼굴이 촬영된 경우 도 28b에 도시된 바와 같은 형태의 제2 뎁스 이미지가 생성된다.
제2 촬영부(1510)는 생성된 뎁스 이미지를 진위판단부(1520)로 전송한다.
진위판단부(1520)는 제2 촬영부(1510)로부터 전송된 뎁스 이미지를 이용하여 제2 촬영부(1510)에 의해 촬영된 촬영대상이 사진인지 또는 실제 촬영대상의 얼굴인지 여부를 판단한다.
구체적으로, 진위판단부(1520)는 제2 촬영부(1510)로부터 수신한 뎁스 이미지로부터 뎁스 데이터를 추출하고, 이진 분류(Binary Classification)를 통해 뎁스 이미지가 촬영대상의 실제 얼굴인지 여부를 판단한다. 일 실시예에 있어서, 진위판단부(1520)는 딥 러닝(Deep Learning) 알고리즘 기반의 트레이닝을 통해 실제 얼굴과 사진에 대한 분류 정확도가 향상되도록 할 수 있다.
진위판단부(1520)는 제2 촬영부(1510)에 의해 촬영된 촬영대상이 실제 얼굴인 것으로 판단되면 제1 촬영부(1210)로부터 수신된 촬영 이미지를 입력 이미지 생성부(1250)로 전송한다. 한편, 진위판단부(1520)는 제2 촬영부(1510)에 의해 촬영된 촬영대상이 실제 얼굴이 아닌 것으로 판단되면 제1 촬영부(1210)로부터 수신된 촬영 이미지를 입력 이미지 생성부(1250)로 전송하지 않고, 인증처리가 실패하였음을 문자 형태 또는 음성 형태의 알람 메시지를 이용하여 출력하거나, 비정상적 접근 시도가 있었음을 시스템 운영자에게 통지할 수 있다.
이와 같이 본 발명은 진위판단부(1520)가 1차적으로 실물이미지 여부를 판단하고, 2차적으로 얼굴인식모델(1320)의 실물이미지 판단부가 2차적으로 실물이미지 여부를 판단하여 촬영된 촬영대상이 실제 얼굴인지 사진인지 여부를 정확하게 판별할 수 있다. 이에 따라 본 발명은 사진이 촬영된 경우 인증처리가 수행되지 않도록 함으로써 정당한 권원없는 사용자가 타인의 사진을 이용하여 인증을 받고자 수행하는 시도를 원천적으로 차단할 수 있고, 이를 통해 보안을 향상시킬 수 있게 된다.
다시 도 1을 참조하면, 사용자 단말기(4)는 사용자를 신규 등록하기 위한 사용자 이미지를 사용자의 식별정보와 함께 안면인식서버(2)로 전송한다. 일 실시예에 있어서, 사용자 단말기(4)에는 안면인식서버(2)와 연동할 수 있는 얼굴등록 에이전트(미도시)가 탑재되어 있고, 사용자는 사용자 단말기(4) 상에서 얼굴등록 에이전트를 실행시킴으로써 사용자의 얼굴을 촬영한 이미지나 기 촬영된 이미지를 사용자 식별정보와 함께 안면인식서버(2)로 전송할 수 있다.
일 실시예에 있어서, 사용자 단말기(4)는 각 사용자 별로 복수개의 사용자 이미지를 등록하도록 요청할 수 있다. 이때, 각 사용자 별로 등록요청되는 복수개의 이미지는 서로 다른 환경에서 촬영된 사진이거나 서로 다른 조명하에서 촬영된 사진일 수 있다.
사용자 단말기(4)는 안면인식서버(2)로 사용자 이미지를 전송하여 사용자 등록을 요청할 수 있는 것이라면 그 종류에 제한 없이 어떤 것이든 이용 가능하다. 예컨대, 사용자 단말기(4)는 스마트폰, 노트북, 데스크탑 또는 테플릿 PC등으로 구현될 수 있다.
본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
예컨대, 도 2에 도시된 안면인식서버의 구성 및 도 25 및 27에 도시된 에지 디바이스의 구성은 프로그램 형태로 구현될 수도 있을 것이다. 본 발명에 따른 안면인식서버의 구성 및 에지 디바이스의 구성이 프로그램으로 구현되는 경우, 도 2 및 도 25 및 27에 도시된 각 구성들이 코드로 구현되고, 특정 기능을 구현하기 위한 코드들이 하나의 프로그램으로 구현되거나, 복수개의 프로그램을 분할되어 구현될 수도 있을 것이다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (25)

  1. 등록요청된 사용자의 입력 이미지를 얼굴인식모델에 입력함으로써 얼굴이미지를 추출하고, 상기 추출된 얼굴이미지로부터 복수개의 특징벡터를 생성하는 얼굴인식부 및
    각 사용자 별로 상기 복수개의 특징벡터와 사용자의 식별정보로 구성된 어레이를 생성하고, 생성된 어레이들을 머지하여 어레이 파일을 생성하는 어레이 파일 생성부를 포함하는 안면인식서버를 포함하고,
    상기 얼굴인식모델은,
    상기 입력 이미지로부터 상기 얼굴이미지를 추출하는 얼굴이미지 추출부; 및
    상기 얼굴이미지가 사람을 촬영한 실물이미지인 경우, 상기 얼굴이미지에 포함된 얼굴로부터 특징벡터를 추출하는 특징벡터 추출부를 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  2. 제1항에 있어서,
    상기 얼굴이미지 추출부는,
    서로 다른 뎁스(Depth)의 신경망 네트워크를 갖는 2개 이상의 얼굴탐지부를 이용하여 입력 이미지들로부터 상기 얼굴이미지를 추출하고,
    상기 2개 이상의 얼굴탐지부는 뎁스가 깊어지는 순서에 따라 순차적으로 배치되어 n번째 얼굴탐지부에 입력되는 입력 이미지의 개수가 n-1번째 얼굴탐지부에 입력되는 입력 이미지의 개수보다 감소되는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  3. 제1항에 있어서,
    상기 얼굴이미지 추출부는,
    제1 뎁스(Depth)를 갖는 제1 신경망 네트워크를 이용하여 복수개의 입력 이미지들의 피쳐맵을 생성하고, 상기 피쳐맵를 기초로 상기 복수개의 입력 이미지들 중 얼굴영역이 포함된 복수개의 제1 서브 입력 이미지들을 1차적으로 선별하는 제1 얼굴탐지부;
    상기 제1 뎁스보다 깊은 제2 뎁스를 갖는 제2 신경망 네트워크를 이용하여 상기 복수개의 제1 서브 입력이미지의 피쳐맵을 생성하고, 상기 제2 신경망 네트워크를 통해 생성된 피쳐맵을 기초로 상기 복수개의 제1 서브 입력이미지들 중 얼굴영역이 포함된 복수개의 제2 서브 입력 이미지들을 2차적으로 선별하는 제2 얼굴탐지부; 및
    상기 제2 뎁스보다 깊은 제3 뎁스를 갖는 제3 신경망 네트워크를 이용하여 상기 복수개의 제2 서브 입력 이미지의 피쳐맵을 생성하고, 상기 제3 신경망 네트워크를 통해 생성된 피쳐맵을 기초로 상기 복수개의 제2 서브 입력 이미지들 중 얼굴영역이 포함된 얼굴이미지를 선별하는 제3 얼굴탐지부를 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  4. 제1항에 있어서,
    상기 안면인식서버는,
    상기 얼굴이미지 추출부에 복수개의 학습이미지를 입력하여 상기 학습 이미지가 얼굴영역을 포함할 확률값, 얼굴영역의 좌표, 및 랜드마크 좌표를 산출하고, 산출된 확률값, 얼굴영역의 좌표, 및 랜드마크 좌표를 역전파(Back Propagation) 알고리즘에 따라 상기 얼굴이미지 추출부에 피드백하여 상기 얼굴이미지 추출부에 적용된 컨벌루션 필터들의 필터계수 및 가중치 중 적어도 하나를 갱신하는 얼굴인식모델 트레이닝부를 더 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  5. 제1항에 있어서,
    상기 얼굴인식모델은,
    상기 얼굴이미지로부터 사람을 촬영한 실물이미지인지 여부를 판단하기 위한 실물 특징벡터를 추출하여 상기 얼굴이미지의 실물이미지 여부를 판단하는 실물이미지 판단부를 더 포함하고,
    상기 실물이미지 판단부는,
    상기 얼굴이미지로부터 상기 얼굴이미지의 깊이를 표현하는 깊이 특징벡터 및 상기 얼굴이미지의 빛 반사를 표현하는 반사 특징벡터 중 적어도 하나와 상기 얼굴이미지의 RGB를 표현하는 RGB 특징벡터를 추출하는 실물 특징벡터 추출부를 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  6. 제5항에 있어서,
    상기 실물 특징벡터 추출부는,
    상기 RGB 특징벡터를 구성하는 n개의 서브 RGB 특징벡터 중 제1 서브 RGB 특징벡터부터 제n-1 서브 RGB 특징벡터까지의 n-1개의 서브 RGB 특징벡터들을 서로 합산하여 입력 특징벡터를 생성하고, 상기 실물이미지로부터 추출된 제1 깊이 이미지와 사진을 촬영한 페이크이미지로부터 추출된 제2 깊이이미지로 학습된 깊이 신경망 네트워크를 이용하여 생성된 피쳐맵을 기초로 상기 깊이 특징벡터를 추출하는 깊이 특징벡터 추출부를 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  7. 제5항에 있어서,
    상기 실물 특징벡터 추출부는,
    상기 RGB 특징벡터를 구성하는 n개의 서브 RGB 특징벡터 중 제1 서브 RGB 특징벡터부터 제n-1 서브 RGB 특징벡터까지의 n-1개의 서브 RGB 특징벡터들을 서로 합산하여 입력 특징벡터를 생성하고, 상기 실물이미지로부터 추출된 제1 반사이미지와 사진을 촬영한 페이크이미지로부터 추출된 제2 반사이미지로 학습된 반사 신경망 네트워크를 이용하여 생성된 피쳐맵을 기초로 상기 반사 특징벡터를 추출하는 반사 특징벡터 추출부를 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  8. 제5항에 있어서,
    상기 실물 특징벡터 추출부는,
    상기 실물이미지와 사진을 촬영한 페이크이미지로 학습된 n개의 RGB 신경망 네트워크를 각각 이용하여 상기 얼굴이미지의 피쳐맵을 생성하고, 상기 피쳐맵을 기초로 상기 얼굴이미지로부터 n개의 서브 RGB 특징벡터를 각각 추출하는 서브 RGB 특징벡터 추출부; 및
    상기 n개의 서브 RGB 특징벡터들을 서로 합산하여 상기 RGB 특징벡터를 생성하는 RGB 특징벡터 생성부를 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  9. 제1항에 있어서,
    상기 얼굴이미지로부터 추출된 깊이 특징벡터 및 반사 특징벡터 중 적어도 하나를 상기 얼굴이미지로부터 추출된 RGB 특징벡터와 융합하여 융합 특징벡터를 생성하고, 상기 융합 특징벡터를 이용하여 상기 얼굴이미지가 실물이미지인지 여부를 판단하는 실물이미지 판단부를 더 포함하고,
    상기 실물이미지 판단부는,
    상기 RGB 특징벡터를 k개의 컨벌루션 연산부를 통과시켜 제1 출력 특징벡터를 생성하는 제1 출력 특징벡터 생성부;
    상기 깊이 특징벡터에서 상기 반사 특징벡터를 감산한 결과값을 상기 k개의 컨벌루션 연산부 및 k번째의 컨벌루션 연산부의 출력단에 배치된 샘플링부를 순차적으로 통과시켜 제2 출력 특징벡터를 생성하는 제2 출력 특징벡터 생성부; 및
    상기 제1 출력 특징벡터와 상기 제2 출력 특징벡터를 융합하여 상기 융합 특징벡터를 생성하는 융합 특징벡터 생성부를 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  10. 제1항에 있어서,
    상기 얼굴이미지로부터 생성된 융합 특징벡터를 이용하여 상기 얼굴이미지가 사람을 촬영한 실물이미지인지 여부를 판단하는 실물이미지 판단부를 더 포함하고,
    상기 실물이미지 판단부는 미리 학습된 이진 분류기에 상기 융합 특징벡터를 입력하여 상기 얼굴이미지가 실물이미지 여부를 판단하고, 상기 이진분류기에서 출력되는 확률값이 미리 정해진 문턱값미만이면 상기 얼굴이미지를 사진을 촬영한 페이크이미지로 판단하는 판단부를 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  11. 제1항에 있어서,
    상기 특징벡터 추출부는,
    입력 데이터를 영상 처리하여 출력 데이터를 생성하는 복수개의 얼굴이미지 처리부; 및
    상기 복수개의 얼굴이미지 처리부들 중 마지막 얼굴이미지 처리부에서 출력되는 출력 데이터를 하나의 레이어로 병합하여 미리 정해진 개수의 특징벡터를 생성하는 특징벡터 생성부를 포함하고,
    상기 복수개의 얼굴 이미지 처리부들 중 1번째 얼굴이미지 처리부에는 상기 입력 이미지로써 얼굴이미지가 입력되고, n+1번째 얼굴이미지 처리부에는 상기 입력 이미지로써 n번재 얼굴이미지 처리부의 출력 데이터가 입력되는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  12. 제11항에 있어서,
    상기 복수개의 얼굴이미지 처리부는,
    상기 입력 데이터에 컨벌루션 필터를 적용하여 피쳐맵을 생성하는 제1 유닛;
    상기 제1 유닛에 의해 생성된 피쳐맵에 가중치를 부여하는 제2 유닛; 및
    상기 제2 유닛에 의해 가중치가 부여된 피쳐맵과 상기 제1 유닛으로 입력된 상기 입력 데이터를 합산하여 상기 출력 데이터를 생성하는 연산부를 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  13. 제11항에 있어서,
    상기 얼굴이미지 처리부는,
    상기 입력 데이터를 정규화하는 정규화부;
    상기 정규화된 얼굴이미지에 제1 컨벌루션 필터를 적용하여 제1 피쳐맵을 생성하는 제1 컨벌루션 연산부; 및
    상기 제1 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 그 크기를 감소시켜 출력하여 상기 제1 피쳐맵에 비선형적 특성을 부여하는 비선형화부를 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  14. 제13항에 있어서,
    상기 얼굴이미지 처리부는,
    상기 비선형적 특성이 부여된 제1 피쳐맵에 제2 컨벌루션 필터를 적용하여 제2 피쳐맵을 생성하는 제2 컨벌루션 연산부를 더 포함하고,
    상기 제1 컨벌루션 필터와 상기 제2 컨벌루션 필터는 크기는 동일하고 서로 다른 스트라이드(Stride) 값을 갖는 필터인 것을 특징으로 하는 AI 기반의 안면인식시스템.
  15. 제11항에 있어서,
    상기 얼굴이미지 처리부는,
    상기 입력 데이터에 컨벌루션 필터를 적용하여 생성된 피쳐맵을 서브 샘플링하여 상기 피쳐맵의 차원을 감소시키는 샘플링부;
    상기 서브 샘플링된 피쳐맵에 가중치를 반영하는 가중치 반영부; 및
    상기 가중치가 반영된 피쳐맵을 상기 샘플링부로 입력된 피쳐맵과 동일한 차원으로 업스케일링하는 업스케일링부를 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  16. 제15항에 있어서,
    상기 가중치 반영부는,
    상기 서브 샘플링된 피쳐맵을 하나의 레이어로 연결하여 차원을 감소시키는 차원 감소부;
    상기 차원이 감소된 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 0으로 출력하여 상기 차원이 감소된 피쳐맵에 비선형적 특성을 부여하는 제1 비선형화부;
    상기 비선형적 특성이 부여된 피쳐맵의 차원을 증가시키는 차원 증가부; 및
    상기 차원이 증가된 피쳐맵의 픽셀값들 중 양의 값은 미리 정해진 값으로 수렴시키고 음의 값은 0으로 출력하여 상기 차원이 증가된 피쳐맵에 비선형적 특성을 부여하는 제2 비선형화부를 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  17. 제1항에 있어서,
    상기 안면인식서버는,
    학습 이미지들을 이용하여 상기 얼굴인식모델을 트레이닝 시키는 얼굴인식모델 트레이닝부를 더 포함하고,
    상기 얼굴인식모델 트레이닝부는,
    상기 학습 이미지들을 상기 얼굴인식모델에 입력하여 획득된 복수개의 학습용 특징벡터를 기초로 상기 학습 이미지들을 2차원 각도 평면 상에 배치하는 얼굴이미지 배치부;
    서로 다른 클래스에 포함된 학습 이미지들간의 기준각도에 가산될 마진각도를 가변시키고, 상기 가변되는 마진각도 별로 각 학습 이미지들이 상기 각 클래스에 포함될 확률을 산출하는 확률 산출부; 및
    상기 산출된 확률을 이용하여 상기 얼굴인식모델을 학습시키는 특징벡터 추출 트레이닝부를 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  18. 제1항에 있어서,
    인증대상이 되는 타겟사용자를 인증하는 에지 디바이스로부터 사용자의 촬영이미지와 해당 사용자의 기준이미지간의 유사도를 기준임계치와 비교하여 출입을 인증한 인증결과들을 수집하고 상기 인증결과들을 기초로 상기 기준이미지 또는 상기 기준임계치를 변경하는 에지 디바이스 관리부를 더 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  19. 제18항에 있어서,
    에지 디바이스 관리부는,
    상기 인증결과들 중 미등록 사용자를 등록사용자로 잘못 승인한 제1 인증결과들을 추출하고, 상기 제1 인증결과들에 포함된 유사도들 중 최대값을 최적임계치로 산출하며, 상기 기준임계치를 상기 최적임계치로 변경하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  20. 제18항에 있어서,
    상기 인증결과들 중 등록사용자로 정상 승인된 제2 인증결과들을 추출하고, 상기 제2 인증결과들을 상기 등록사용자 별로 분류하며, 상기 분류된 제2 인증결과에 포함된 상기 유사도 중 최대값을 갖는 제2 인증결과에 대응되는 촬영이미지를 해당 등록사용자의 최적 기준이미지로 결정하고, 상기 기준이미지를 상기 최적 기준이미지로 변경하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  21. 제1항에 있어서,
    상기 안면인식시스템은 상기 안면인식서버에 의해 배포되는 상기 얼굴인식모델 및 상기 안면인식서버로부터 수신된 어레이 파일을 이용하여 인증대상이 되는 타겟 사용자를 인증하는 에지 디바이스를 더 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  22. 제21항에 있어서,
    상기 어레이 파일 생성부는 상기 에지 디바이스 별로 상기 어레이 파일을 생성하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  23. 제1항에 있어서,
    상기 안면인식시스템은 인증대상이 되는 타겟 사용자를 인증하는 에지 디바이스를 더 포함하고,
    상기 에지 디바이스는,
    상기 안면인식서버로부터 상기 어레이 파일과 상기 얼굴인식모델을 수신하는 인터페이스부;
    상기 수신된 얼굴인식모델을 이용하여 상기 타겟 사용자의 입력 이미지로부터 타겟 얼굴이미지를 추출하고, 추출된 상기 타겟 얼굴이미지로부터 타겟 특징벡터를 생성하는 얼굴인식부; 및
    상기 타겟 특징벡터를 상기 어레이 파일과 비교하여 상기 타겟 사용자를 인증하는 인증부를 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  24. 제23항에 있어서,
    상기 인증부는,
    상기 어레이 파일에 포함된 각 어레이 마다 해당 어레이에 포함된 특징벡터에서 상기 타겟 특징벡터를 동일 인덱스 별로 감산하여 제곱한 제1 결과값을 산출하고, 상기 어레이 파일에 포함된 어레이들 중 미리 정해진 기준값에서 상기 제2 결과값을 감산한 제3 결과값을 유사도로 산출하며, 상기 유사도가 가장 큰 어레이에 매핑되어 있는 사용자가 상기 타겟사용자와 가장 유사한 사용자인 것으로 결정하고, 상기 유사도가 기준임계치 또는 최적임계치이상이면 상기 타겟사용자를 인증하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
  25. 제1항에 있어서,
    상기 안면인식서버로부터 어레이 파일을 수신하여 인증대상이 되는 타겟 사용자를 인증하는 에지 디바이스를 포함하고,
    상기 에지 디바이스는,
    상기 어레이 파일을 제1 메모리에 로딩하고, 상기 안면인식서버로부터 신규 어레이 파일이 수신되면 상기 신규 어레이 파일을 제2 메모리에 로딩하고, 상기 제2 메모리에 상기 신규 어레이 파일의 로딩이 완료되면 상기 제1 메모리에 로딩되어 있는 상기 어레이 파일을 상기 제2 메모리에 로딩되어 있는 신규 어레이 파일로 대체하는 업데이트부를 포함하는 것을 특징으로 하는 AI 기반의 안면인식시스템.
PCT/KR2019/017218 2018-12-07 2019-12-06 Ai 기반의 안면인식시스템 WO2020117006A1 (ko)

Applications Claiming Priority (16)

Application Number Priority Date Filing Date Title
KR10-2018-0156799 2018-12-07
KR1020180156799A KR102161359B1 (ko) 2018-12-07 2018-12-07 딥러닝 기반의 얼굴이미지 추출장치
KR1020180168659A KR102137328B1 (ko) 2018-12-24 2018-12-24 오차감소 알고리즘을 이용하여 얼굴인식모델을 트레이닝시키는 얼굴인식시스템
KR10-2018-0168667 2018-12-24
KR10-2018-0168659 2018-12-24
KR1020180168667A KR102184490B1 (ko) 2018-12-24 2018-12-24 얼굴인식용 에지 디바이스
KR10-2018-0168676 2018-12-24
KR1020180168676A KR102137329B1 (ko) 2018-12-24 2018-12-24 딥러닝 기반의 얼굴인식모델을 이용하여 특징벡터를 추출하는 얼굴인식시스템
KR1020180174200A KR102184493B1 (ko) 2018-12-31 2018-12-31 Ai 기반의 얼굴인식 시스템
KR10-2018-0174200 2018-12-31
KR10-2019-0159130 2019-12-03
KR10-2019-0159147 2019-12-03
KR1020190159134A KR102312152B1 (ko) 2019-12-03 2019-12-03 시공간 환경 변화에 따른 안면인식을 위한 안면인식서버 및 안면인식 시스템
KR10-2019-0159134 2019-12-03
KR1020190159147A KR102294574B1 (ko) 2019-12-03 2019-12-03 딥러닝 기반의 얼굴인식모델을 이용하여 실물이미지를 판단할 수 있는 안면인식시스템
KR1020190159130A KR102308122B1 (ko) 2019-12-03 2019-12-03 인증결과를 활용한 안면인식서버 및 안면인식시스템

Publications (1)

Publication Number Publication Date
WO2020117006A1 true WO2020117006A1 (ko) 2020-06-11

Family

ID=70975364

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/017218 WO2020117006A1 (ko) 2018-12-07 2019-12-06 Ai 기반의 안면인식시스템

Country Status (1)

Country Link
WO (1) WO2020117006A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112686117A (zh) * 2020-12-24 2021-04-20 华中师范大学 一种基于隐变量分析的人脸表情强度识别方法及系统
CN112766661A (zh) * 2020-12-31 2021-05-07 上海梦创双杨数据科技股份有限公司 一种培训报道住宿一卡通集成系统及方法
CN114331797A (zh) * 2021-12-30 2022-04-12 北京百度网讯科技有限公司 图像数据加密方法、图像数据解密方法、装置和电子设备
CN114445661A (zh) * 2022-01-24 2022-05-06 电子科技大学 一种基于边缘计算的嵌入式图像识别方法
CN115082461A (zh) * 2022-08-19 2022-09-20 成都中医药大学 一种基于边缘计算的预判过滤方法及装置
CN116664966A (zh) * 2023-03-27 2023-08-29 北京鹰之眼智能健康科技有限公司 一种红外图像处理系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225813A (ja) * 2007-03-13 2008-09-25 National Institute Of Advanced Industrial & Technology Webブラウザ上で動作する顔認識方法及びそのプログラム
KR20140127478A (ko) * 2013-04-25 2014-11-04 주식회사 슈프리마 분산형 생체 인식 서비스 제공 방법
KR20160098581A (ko) * 2015-02-09 2016-08-19 홍익대학교 산학협력단 얼굴 인식 및 화자 인식이 융합된 인증 방법
KR20170000748A (ko) * 2015-06-24 2017-01-03 삼성전자주식회사 얼굴 인식 방법 및 장치
US20180060649A1 (en) * 2016-08-30 2018-03-01 Irida Labs S.A. Fast, embedded, hybrid video face recognition system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225813A (ja) * 2007-03-13 2008-09-25 National Institute Of Advanced Industrial & Technology Webブラウザ上で動作する顔認識方法及びそのプログラム
KR20140127478A (ko) * 2013-04-25 2014-11-04 주식회사 슈프리마 분산형 생체 인식 서비스 제공 방법
KR20160098581A (ko) * 2015-02-09 2016-08-19 홍익대학교 산학협력단 얼굴 인식 및 화자 인식이 융합된 인증 방법
KR20170000748A (ko) * 2015-06-24 2017-01-03 삼성전자주식회사 얼굴 인식 방법 및 장치
US20180060649A1 (en) * 2016-08-30 2018-03-01 Irida Labs S.A. Fast, embedded, hybrid video face recognition system

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112686117A (zh) * 2020-12-24 2021-04-20 华中师范大学 一种基于隐变量分析的人脸表情强度识别方法及系统
CN112686117B (zh) * 2020-12-24 2022-08-16 华中师范大学 一种基于隐变量分析的人脸表情强度识别方法及系统
CN112766661A (zh) * 2020-12-31 2021-05-07 上海梦创双杨数据科技股份有限公司 一种培训报道住宿一卡通集成系统及方法
CN112766661B (zh) * 2020-12-31 2023-06-09 上海梦创双杨数据科技股份有限公司 一种培训报道住宿一卡通集成系统及方法
CN114331797A (zh) * 2021-12-30 2022-04-12 北京百度网讯科技有限公司 图像数据加密方法、图像数据解密方法、装置和电子设备
CN114445661A (zh) * 2022-01-24 2022-05-06 电子科技大学 一种基于边缘计算的嵌入式图像识别方法
CN114445661B (zh) * 2022-01-24 2023-08-18 电子科技大学 一种基于边缘计算的嵌入式图像识别方法
CN115082461A (zh) * 2022-08-19 2022-09-20 成都中医药大学 一种基于边缘计算的预判过滤方法及装置
CN115082461B (zh) * 2022-08-19 2022-11-04 成都中医药大学 一种基于边缘计算的预判过滤方法及装置
CN116664966A (zh) * 2023-03-27 2023-08-29 北京鹰之眼智能健康科技有限公司 一种红外图像处理系统
CN116664966B (zh) * 2023-03-27 2024-02-20 北京鹰之眼智能健康科技有限公司 一种红外图像处理系统

Similar Documents

Publication Publication Date Title
WO2020117006A1 (ko) Ai 기반의 안면인식시스템
WO2020171550A1 (en) Image processing method and apparatus, electronic device and computer readable storage medium
WO2020050499A1 (ko) 객체 정보 획득 방법 및 이를 수행하는 장치
WO2018016837A1 (en) Method and apparatus for iris recognition
WO2020213750A1 (ko) 객체를 인식하는 인공 지능 장치 및 그 방법
WO2020032311A1 (ko) 이동 단말기
WO2013009020A4 (ko) 시청자 얼굴 추적정보 생성방법 및 생성장치, 그 기록매체 및 3차원 디스플레이 장치
WO2019231252A1 (en) Electronic device for authenticating user and operating method thereof
WO2015009111A1 (ko) 생체인식 기반 인증 방법 및 장치
WO2016017975A1 (en) Method of modifying image including photographing restricted element, and device and system for performing the method
WO2018143707A1 (ko) 메이크업 평가 시스템 및 그의 동작 방법
WO2016018004A1 (en) Method, apparatus, and system for providing translated content
WO2022154471A1 (en) Image processing method, image processing apparatus, electronic device and computer-readable storage medium
WO2016018028A1 (en) Device and method of setting or removing security on content
WO2015133699A1 (ko) 객체 식별 장치, 그 방법 및 컴퓨터 프로그램이 기록된 기록매체
WO2018084351A1 (ko) 이동단말기 및 그 제어방법
WO2017003136A1 (ko) 사용자 인증 방법 및 장치
WO2016093434A1 (en) Mobile terminal and controlling method thereof
WO2015142002A1 (en) Method and device for sharing functions of smart key
WO2019135621A1 (ko) 영상 재생 장치 및 그의 제어 방법
WO2017084337A1 (zh) 一种身份验证方法、装置和系统
EP3440593A1 (en) Method and apparatus for iris recognition
WO2017099342A1 (ko) 임시 계정 정보를 제공하는 방법, 장치 및 시스템
WO2022050507A1 (ko) 태양광 발전 모듈 모니터링 방법 및 시스템
WO2018093105A1 (ko) 생체정보의 알고리즘을 동시에 연동시키는 입출력 통합모듈

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19893168

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19893168

Country of ref document: EP

Kind code of ref document: A1