WO2020080734A1 - 얼굴 인식 방법 및 얼굴 인식 장치 - Google Patents

얼굴 인식 방법 및 얼굴 인식 장치 Download PDF

Info

Publication number
WO2020080734A1
WO2020080734A1 PCT/KR2019/013257 KR2019013257W WO2020080734A1 WO 2020080734 A1 WO2020080734 A1 WO 2020080734A1 KR 2019013257 W KR2019013257 W KR 2019013257W WO 2020080734 A1 WO2020080734 A1 WO 2020080734A1
Authority
WO
WIPO (PCT)
Prior art keywords
face
detected
list
identity
image frame
Prior art date
Application number
PCT/KR2019/013257
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
Application filed by 서울시립대학교 산학협력단 filed Critical 서울시립대학교 산학협력단
Priority to US17/280,928 priority Critical patent/US11594073B2/en
Publication of WO2020080734A1 publication Critical patent/WO2020080734A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • G06V40/173Classification, e.g. identification face re-identification, e.g. recognising unknown faces across different face tracks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/50Maintenance of biometric data or enrolment thereof

Definitions

  • the present invention relates to a face recognition method and a face recognition apparatus, and specifically, to a face recognition method and a face recognition apparatus capable of real-time face recognition with high accuracy through application of various face detection techniques and statistical processing on detected faces .
  • Face recognition is a field of computer vision that extracts features from the faces of subjects in an image to determine who their faces are, and is most actively researched in security and other fields.
  • a system that recognizes faces in an image consists of face detection (detection) and face recognition processes.
  • Face detection is a step of detecting a person's face in an image, and face recognition determines who the detected face is.
  • Face detection and recognition based on deep learning technology makes it possible to find and recognize faces in images with high accuracy.
  • Due to the large amount of computation required for the implementation of deep learning technology there is a problem that execution time is slow. Therefore, there are limitations in processing high-resolution images in real time.
  • the present invention has been made to solve the above-mentioned problems, and has an object to provide a face recognition method and a face recognition device capable of real-time face recognition from an image with a high face recognition rate.
  • the present invention is a face recognition method capable of detecting a face in an image in real time without a decrease in a face detection rate compared to a deep learning-based face detection by applying a face tracker with other face detection techniques in addition to face detection based on deep learning and
  • the object is to provide a face recognition device.
  • the present invention is a statistical processing of information on a face object extracted from a series of image frames, and a high face recognition rate without a decrease in recognition rate due to image quality, angle, lighting change, etc. caused by movement of a subject in an image during face recognition. It is an object to provide a face recognition method and a face recognition device having a.
  • a face recognition method includes detecting one or more faces in an image frame, updating a face object in the face list using the detected one or more face information, and a plurality of face objects in the updated face list And recognizing an identity corresponding to the face object using the feature vector of.
  • the step of detecting a face detects a face for an image frame according to a deep learning face detection algorithm when the image frame is an image frame according to a specified period, and the image frame is an image according to a specified period If it is not a frame, faces are detected for an image frame according to a histogram of Oriented Gradients (HOG) -based face detection algorithm, and the number of face detections according to the HOG-based face detection algorithm is greater than the number of face detections according to the deep learning face detection algorithm.
  • HOG Oriented Gradients
  • the step of updating the face object in the face list calculates an Intersection over Union (IOU) value between the face object and the detected faces, and the face position of the face object when the calculated IOU value is greater than or equal to a threshold Is changed to the position of the detected face.
  • IOU Intersection over Union
  • the step of updating the face object in the face list tracks the face object using the face tracker when the calculated IOU values between all the detected faces are less than the threshold value, and the number of face detection failures is specified. If it is more than the number of times, the face object is removed from the face list.
  • the step of updating the face object in the face list is a new method for representing the detected face when the face detected through the calculation of the IOU value and the threshold comparison is not mapped to all face objects in the face list.
  • a face object is created in the face list.
  • the step of updating the face object in the face list extracts a feature vector from the detected face data corresponding to the face object, and when there is a single detected face corresponding to the plurality of face objects, a single The feature vector of the detected face is mapped to one face object among the plurality of face objects according to the similarity between the feature vector from the detected face data and the feature vector corresponding to the plurality of face objects.
  • the step of recognizing the identity corresponding to the face object using the plurality of feature vectors is performed by predicting the identity made using each of the plurality of feature vectors corresponding to the face object from the series of image frames.
  • the identity of the feature vector corresponding to the prediction of the identity with the highest reliability is determined as the identity of the face object.
  • the step of recognizing an identity corresponding to the face object using the plurality of feature vectors calculates an average feature vector from the plurality of feature vectors corresponding to the face object from a series of image frames The identity corresponding to the face object is recognized using the calculated average feature vector.
  • An apparatus for recognizing a face includes an image receiving unit receiving one or more image frames, a storage unit storing a received image frame and a face list representing the recognized one or more face objects, and one or more in the received image frames.
  • the control unit detects a face for the image frame according to a deep learning face detection algorithm when the image frame is an image frame according to a specified period, and the period in which the image frame is specified If it is not an image frame according to, the face is detected for the image frame according to the HOG-based face detection algorithm accelerated by the graphics processing unit (GPU) of the control unit, and the number of face detection according to the HOG-based face detection algorithm is deep learning face detection More than the number of face detection according to the algorithm.
  • a deep learning face detection algorithm when the image frame is an image frame according to a specified period, and the period in which the image frame is specified If it is not an image frame according to, the face is detected for the image frame according to the HOG-based face detection algorithm accelerated by the graphics processing unit (GPU) of the control unit, and the number of face detection according to the HOG-based face detection algorithm is deep learning face detection More than the number of face detection according to the algorithm.
  • the control unit calculates an Intersection over Union (IOU) value between the face object and the detected faces, and the face object when the calculated IOU value is greater than or equal to a threshold value Change the face position of to the detected face position.
  • IOU Intersection over Union
  • the control unit tracks the face object using the face tracker when the calculated IOU values between all the detected faces are less than the threshold and the face detection fails If the number of times is greater than a specified number of times, the face object is removed from the face list.
  • control unit in order to update the face object of the face list, the control unit indicates the detected face when the face detected through the calculation of the IOU value and the threshold comparison is not mapped to all face objects in the face list Create a new face object in the face list.
  • the control unit extracts a feature vector from the detected face data corresponding to the face object and a single detected face corresponding to the plurality of face objects exists
  • the feature vector of the detected face is mapped to one face object of the plurality of face objects according to the similarity between the feature vector from the single detected face data and the feature vector corresponding to the plurality of face objects.
  • the control unit uses each of a plurality of feature vectors corresponding to a face object from a series of image frames.
  • the identity of the feature vector corresponding to the identity prediction having the highest reliability among the made identity predictions is determined as the identity of the face object.
  • the face recognition method and face recognition apparatus according to the present invention as described above has an effect capable of real-time face recognition from an image with a high face recognition rate.
  • the face recognition method and the face recognition apparatus according to the present invention as described above can be used in combination with deep learning based face detection in combination with other face detection techniques and face trackers in real time without dropping the face detection rate compared to deep learning based face detection. It has the effect of detecting a face in an image.
  • the face recognition method and the face recognition apparatus according to the present invention as described above are statistical processing of information on face objects extracted from a series of image frames, resulting in image quality and angle generated according to the movement of a subject in an image during face recognition. , It has an effect of having a high face recognition rate without decreasing the recognition rate due to lighting changes.
  • FIG. 1 is a diagram illustrating an example of a connection configuration between devices configured in a face recognition system.
  • FIG. 2 is a block diagram showing an exemplary configuration of a face recognition device.
  • FIG. 3 is a diagram illustrating a main control flow for recognizing face detection and identity from image frames received from a specific imaging device.
  • FIG. 4 is a diagram illustrating a detailed control flow for face detection.
  • FIG. 5 is a diagram showing an exemplary configuration of a face list.
  • FIG. 6 is a diagram showing a detailed control flow for updating the face list.
  • FIG. 7 is a diagram showing a detailed control flow for identification.
  • connection unit 150 connection unit
  • FIG. 1 is a diagram illustrating an example of a connection configuration between devices configured in a face recognition system.
  • the face recognition system includes a face recognition device 100 and one or more image devices 200, and the face recognition device 100 and the image device 200 are connected through a communication network.
  • the face recognition system is configured to detect a face from an image frame and recognize the identity of the detected face.
  • the face recognition system can be used in various fields.
  • the face recognition system may be used in a system for access control or applied to a security system.
  • the imaging device 200 includes a camera to capture an image exposed through the camera lens.
  • the video device 200 may transmit the captured series of image frames to the face recognition device 100 through a communication network in a packet in a known format such as compression or uncompression.
  • the video device 200 may be a CCTV, camera, or network camera that can be used in the security field or the access control field.
  • the imaging device 200 may be a mobile phone, a smart phone, a tablet PC, a laptop, a personal computer, or the like.
  • the imaging device 200 may include at least a camera (sensor) to transmit a series of image frames captured from the camera to the face recognition device 100 according to a compressed or uncompressed data format.
  • the face recognition device 100 is connected to one or more imaging devices 200 to detect a face in an image frame from the imaging device 200 and further recognizes the identity of the detected face.
  • the face recognition apparatus 100 may perform actions or functions according to various applications according to the recognized identity.
  • the face recognition device 100 is configured to be connected to a plurality of image devices 200 to recognize and track a face in a series of image frames from the image device 200.
  • the face recognition apparatus 100 may operate as a server connected to an Internet network (communication network) or the like.
  • the face recognition apparatus 100 is connected to a plurality of imaging devices 200, recognizes faces and identities in a series of image frames from each of the plurality of imaging devices 200, and performs various functions according to the recognized identities.
  • it can be a secure (control) server that can take action.
  • the face recognition device 100 may be a personal device that can be carried or mounted by an individual.
  • the face recognition device 100 may be a mobile phone, a smart phone, a tablet PC, a personal computer, a laptop, and the like.
  • the imaging device 200 may be embedded in a personal device and transmit a series of image frames captured according to a communication network inside the personal device.
  • the imaging device 200 embedded in the personal device may be embedded in the personal device including at least a camera sensor and a camera lens.
  • the communication network transmits the images captured by the one or more imaging devices 200 to the face recognition device 100.
  • the communication network may have various configuration examples according to implementation examples of the face recognition device 100 and the image device 200.
  • the communication network is a broadband network such as an Internet network or a mobile communication network, a local area network such as Ethernet or wireless LAN, or an embedded bus dedicated to a video signal for transmitting data from a personal device to a processor or the like. You can.
  • FIG. 2 is a block diagram showing an exemplary configuration of the face recognition apparatus 100.
  • the face recognition apparatus 100 includes an image receiving unit 110, a storage unit 130, a connection unit 150, and a control unit 170.
  • the block diagram of FIG. 2 preferably represents a functional block diagram and each functional block has a corresponding hardware block.
  • the face recognition apparatus 100 may be a server composed of one or more PCs, workstations, and / or one or more combinations of server frames.
  • the face recognition device 100 may be a personal device such as a smartphone or tablet PC.
  • the image receiving unit 110 receives an image frame.
  • the image receiving unit 110 is provided with a wireless LAN and / or wired LAN communication chipset and an antenna, and receives a series of image frames from each video device 200 through a communication packet or the like through a broadband network or a local area network.
  • the image receiving unit 110 may receive a video signal (data) of a series of image frames from the camera through the built-in bus.
  • the series of image frames received through the image receiving unit 110 may or may not be compressed according to a promised format with the imaging device 200.
  • the storage unit 130 stores various data and programs, including a volatile memory, a non-volatile memory, and / or a mass storage medium such as a hard disk.
  • the storage unit 130 stores various programs to be used for face detection and recognition in a non-volatile memory or hard disk.
  • the storage unit 130 stores a face detection control program, a deep learning-based face detection program, a face detection program based on a histogram of oriented gradients (HOG), a face tracker program, and a face recognition program.
  • a face detection control program a deep learning-based face detection program
  • HOG histogram of oriented gradients
  • HOG-based face detection program proposed by N. Dalal (N. Dalal and B. Triggs, "Histograms of oriented gradients for human detection", Proc. IEEE Comput. Vis. Pattern Recog., 2005, pp.886-893 ), which is a type of feature descriptor used for object detection, calculates a local gradient and histograms it to use as features of the object.
  • the HOG-based object (face) detection algorithm has a faster execution speed than the deep learning-based face detection algorithm, but has a lower face detection rate than the deep learning-based face detection algorithm.
  • the face tracker program is, for example, Kernelized Correlation Filters (KCF) Tracker (HENRIQUES, Joao F., et al. High-speed tracking with kernelized correlation filters.IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37.3: 583-596).
  • KCF Kernelized Correlation Filters
  • HENRIQUES Joao F., et al. High-speed tracking with kernelized correlation filters.IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37.3: 583-596.
  • the face recognition program may be a program using a support vector machine (SVM) in which learning is performed through deep learning or an artificial neural network or the like and recognition (classification) of the face from the facial feature vector is possible.
  • SVM support vector machine
  • the storage unit 130 further stores a face object update program.
  • the face object update program is a program for managing and updating face objects included in the face list 131 corresponding to each image device 200.
  • the face object update program may modify, change, add, remove face objects on the face list 131 using one or more face information (data) detected in the received image program.
  • the face object update program may be configured to extract a feature vector of the face from the detected face.
  • the facial object update program may extract a facial feature vector by embedding a known facial feature extraction program, and extract, for example, a facial feature vector of 128 dimensions or the like by embedding or using an OpenFace program or other known feature vector extraction program. .
  • the programs stored in the storage unit 130 may be independent programs or program modules embedded in a specific program framework. Each program can perform various functions in connection with other programs.
  • the storage unit 130 stores a series of other image frames from each image device 200 and a face list 131 representing one or more face objects detected or recognized by each image device 200. To save.
  • the storage unit 130 may store a plurality of face lists 131 respectively corresponding to the plurality of imaging devices 200.
  • the face list 131 includes one or more face objects, and each face object stores characteristics of a specific face in a series of image frames or detected location data. Through the face object of the face list 131, it is possible to efficiently track and manage a specific face using various characteristic information extracted or recognized in various image frames.
  • the storage unit 130 may further include an identity list.
  • the identity list includes personal identification information corresponding to the feature vector.
  • the feature vector can be extracted from the face and can be, for example, a 128-dimensional feature vector.
  • Personal identification information includes or indicates personal identifiers such as name, social security number, and management number.
  • connection unit 150 transmits and receives data between blocks in the face recognition device 100.
  • the connection unit is equipped with a local area network such as a wired LAN or a wireless LAN, a parallel bus or a serial bus built in the device, and transmits and receives various data.
  • the control unit 170 is equipped with one or more execution units to load the program stored in the storage unit 130 and executes the command code of the program through the execution unit to control the face recognition device 100.
  • the control unit 170 may include a plurality of execution units capable of executing command codes of programs.
  • the control unit 170 includes a main processor 171 (main processor) and a GPU 173 (Graphics Processing Unit) to program the storage unit 130 to the main processor 171 and / or GPU ( 173) to control the face recognition device 100 to detect a face and recognize an identity.
  • main processor 171 main processor
  • GPU 173 Graphics Processing Unit
  • the control unit 170 detects one or more faces from the image frame received from the imaging device 200 using a program stored in the storage unit 130.
  • a program stored in the storage unit 130.
  • a deep learning-based face detection algorithm (program) of the storage unit 130 may be used, or a face detection algorithm (program) based on Histogram of Oriented Gradients (HOG) may be used.
  • HOG Histogram of Oriented Gradients
  • the control unit 170 updates the face list 131 of the image device 200 mapped to the received image frame of the storage unit 130 using one or more detected face information. In the process of updating the face list 131, the face object is also updated. The control unit 170 updates the face object of the face list 131 using one or more faces (information) detected according to the face detection algorithm using the face object update program.
  • the control unit 170 recognizes an identity corresponding to the face object using a plurality of feature vectors extracted from a series of image frames corresponding to the face object in the updated face list 131.
  • the control unit 170 may recognize the identity corresponding to each face object using a plurality of feature vectors of the face object in the updated face list 131 by executing the face recognition program of the storage unit 130.
  • control flow performed in the control unit 170 in relation to face detection, face list 131 update, and identity recognition will be described in detail below in FIG. 3.
  • FIG. 3 is a diagram illustrating a main control flow for recognizing face detection and identity from image frames received from a specific imaging device 200.
  • the control flow of FIG. 3 is performed by the face recognition device 100, and face detection and identification are performed for each image device 200. That is, the control flow of FIG. 3 is performed for each imaging device 200.
  • the control flow of FIG. 3 is preferably achieved through control of the control unit 170, which is performed by loading various programs of the storage unit 130.
  • the face recognition device 100 is booted or the control flow starts according to a user's request (S10), and the face recognition device 100 (the control unit 170 of) is stored corresponding to the imaging device 200
  • the face list 131 of the unit 130 and the variables are initialized (S20).
  • the face recognition device 100 configures the face list 131 of the image device 200 as a null list and initializes the image frame number to be processed to zero.
  • the face list 131 may include or store one or more face objects.
  • the image frame number may be the frame number of the image frame being processed.
  • the image frame number can be expressed as a series of numbers.
  • the face recognition device 100 (control unit 170 of) detects one or more faces from an image frame received and stored in the storage unit 130 and configures face information indicating the detected faces ( S30).
  • the face recognition apparatus 100 (the control unit 170 of) uses a deep learning-based face detection algorithm or a HOG-based face detection program, and further uses a face tracking program.
  • the face recognition device 100 updates the face object of the face list 131 corresponding to the image device 200 using one or more detected face information (S40) )do.
  • the face recognition apparatus 100 adds a face object to the face list 131 or changes the face object based on one or more face information detected by performing a face object update program Or remove a face object.
  • the face recognition device 100 After updating the face list 131, the face recognition device 100 (control unit 170 of) recognizes an identity corresponding to each face object in the updated face list 131 (S50).
  • the face recognition apparatus 100 (control unit 170 of) that performs a face recognition program uses a plurality of feature vectors stored in correspondence with each face object and a feature vector of the identity list of the storage unit 130 and Through comparison, it is possible to recognize the identity corresponding to each face object.
  • Each of the plurality of feature vectors stored corresponding to the face object is a feature vector extracted from face data detected in each of the image frames received from the corresponding image device 200.
  • the face recognition device 100 (control unit 170 of) records identity information in the face object and determines whether the end condition is reached (S60).
  • the termination condition may be, for example, the communication connection of the video device 200 is disconnected, the last image frame number, or the reception of the termination input.
  • the face recognition apparatus 100 detects the face of the subsequently received image frame (S30), face object update (S40), and identity recognition ( S50) may be repeatedly performed.
  • the face recognition device 100 may end face recognition for the specific imaging device 200 (S70).
  • FIG. 4 is a diagram illustrating a detailed control flow for face detection.
  • the control flow of FIG. 4 is performed in the face recognition apparatus 100, and preferably, the control unit 170 is performed by performing a deep learning based face detection program and a HOG based face detection program according to the face detection control program.
  • the face recognition device 100 loads an image frame received from the image device 200 or the like and stored in the storage unit 130 according to the face detection control program in a volatile memory (S301).
  • the storage unit 130 may store a series of image frames received from each imaging device 200, and the face recognition device 100 (control unit 170 of) may recognize faces among a series of (continuous) image frames.
  • An unused image frame eg, the frame having the oldest reception time or the smallest frame number among the unused frames
  • the face recognition apparatus 100 updates the frame number of the current image frame by increasing the image frame number by 1 (S303) according to the face detection control program.
  • the image frame number may be updated with the frame number of the image frame.
  • the face recognition apparatus 100 determines whether the current image frame is an image frame corresponding to a deep learning execution cycle according to the face detection control program (S305).
  • the face recognition apparatus 100 modulates (%) the current image frame number into a deep learning execution cycle and determines whether the current image frame is in accordance with the deep learning execution cycle. It is possible to determine whether it is an image frame.
  • the deep learning performance period may be set to 10 (image frame), 5 (image frame), or the like.
  • the deep learning execution period is set to at least 3 or more, so that in detecting faces, the number of face detections according to the HOG-based face detection algorithm (program) is preferably greater than the number of face detections according to the deep learning face detection algorithm (program). It is composed.
  • the face recognition apparatus 100 (control unit 170 of) performs a deep learning-based face detection program to perform a deep learning face for the current image frame
  • the face is detected according to the detection algorithm (S307).
  • the face recognition apparatus 100 When the current image frame is not an image frame corresponding to a deep learning cycle, the face recognition apparatus 100 (control unit 170 of) performs a HOG-based face detection program to perform HOG-based for the current image frame.
  • the face is detected according to the face detection algorithm (S309).
  • the face recognition apparatus 100 (the control unit 170 of) preferably performs all or part of the HOG-based face detection program on the GPU 173 to accelerate HOG-based face detection.
  • image frames with deep learning face detection algorithm can detect faces with high detection rate (detection rate), and image frames with HOG-based face detection algorithm Although it has a low detection rate, it can detect faces at a high speed. Face detection in an image frame having a low face detection rate may be performed at a face detection rate equal to or similar to a deep learning face detection algorithm by further utilizing other information or data of a face object as shown in FIGS. 5 and 6. have.
  • the face recognition apparatus 100 can detect faces or boxes that detect zero or more faces in an image frame and specify the detected face.
  • One or more face boxes may be represented as rectangular coordinate regions (upper, lower, left, and right coordinate values) in the image frame.
  • FIG. 5 is a diagram showing an exemplary configuration of the face list 131.
  • the face list 131 of FIG. 5 is stored in the storage unit 130 and may be modified, changed, or added by the face recognition device 100 (control unit 170 of).
  • the face recognition device 100 (the control unit 170 of) may load the face object update program of the storage unit 130 and manage the face list 131.
  • the face list 131 corresponding to each image device 200 stores zero or more face objects.
  • the number of face objects in the face list 131 may be changed according to the number of face objects recognized in the current or previous image frames.
  • Each face object has current identity information.
  • the current identity information indicates the identity of the face recognized in correspondence to the corresponding face object using the face-history buffer, and may include personal identifiers such as a name, social security number, and management number. In this way, the face object can identify the identity corresponding to the face object by having the corresponding current identity information.
  • the number of face detection failures included in the face object indicates the number of times that detection of the face in the image frame has failed since recognition of the face until now.
  • the face object may be removed from the face list 131 when the number of face detection failures increases to reach a threshold.
  • the face object may further include a face coordinate area of the current face object.
  • the current face coordinate area may be an area of face coordinates of the same object detected in the most recent image frame (for example, an image frame at time t) of the image frames.
  • the current face coordinate area may be represented by up, down, left, and right coordinate values.
  • the face coordinate area may be represented by upper left coordinates and lower right coordinates.
  • Each face object has a face-history buffer.
  • the face-history buffer may consist of a number of entries and may have a maximum number of entries (eg, 10, etc.).
  • the face-history buffer is composed of FIFO or QUEUE.
  • the face-history buffer stores information determined from faces estimated as the same face object in each image frame up to the current frame (time t in FIG. 5) after face recognition (last entry in each face-history buffer in FIG. 5). do.
  • Each entry of the face-history buffer is a null entry (refer to t-2 of face object 1 in FIG. 5, t-3 of face object k, etc.) depending on whether a face object is detected or a corresponding face when detecting the same face Contains face information extracted or determined from.
  • the entry includes feature vectors, face coordinates, and the like determined from the face box of the face detected in the image frame, and further includes identity reliability estimated from the feature vectors and the like.
  • the feature vector may be, for example, a 128-dimensional feature vector
  • the face coordinates may be upper, lower, left, and right coordinates of the face box of the face detected in the image frame.
  • the face coordinates may specify a rectangular face region of the face object, and may be composed of upper left coordinates and lower right coordinates.
  • the face recognition device 100 (control unit 170 of) manages a face list 131 including zero or more face objects, and the face object determines whether a corresponding face is detected for each image frame. It has a face-history buffer that can identify and identify various characteristics of the corresponding image frame upon detection.
  • FIG. 6 is a diagram showing a detailed control flow for updating the face list 131.
  • the update process of the face list 131 of FIG. 6 is performed by the face recognition apparatus 100 (the control unit 170 of), and preferably it is possible to update the face list 131 by loading a face object update program.
  • one or more face boxes respectively representing faces detected by detecting all faces in the current image frame through the face detection process of FIG. 4 are specified.
  • the face recognition apparatus 100 calculates the similarity according to the relative position between each of all face objects in the face list 131 and each of the detected faces (S401).
  • the face recognition apparatus 100 is an Intersection over Union (IOU) between the current face coordinate area of each face object and the coordinate area of each of the detected faces (face boxes). Calculate the value. Accordingly, an IOU (similarity) value between each of all face objects and all of the detected faces is calculated.
  • the IOU value may be calculated as (area of the intersection area of the current coordinate area of the face object and the coordinate area of the detection face) / (area of the union area of the current coordinate area of the face object and the coordinate area of the detection face). As the size of the face object and the detected face are similar and there are more overlapping parts, the IOU value increases proportionally.
  • the face recognition apparatus 100 determines whether or not a detected face having a threshold value or higher exists for each face object in the face list 131 (S403). For example, the face recognition apparatus 100 (the control unit 170 of) may determine whether there is a detected face having a threshold value (eg, 0.1 or more) among the IOU values between each face object and all detected faces. have.
  • a threshold value eg, 0.1 or more
  • the corresponding face object may be updated by selecting the detected face having the highest IOU value.
  • the calculated IOU value between the face object in the face list 131 and all detected faces is less than a threshold, it is determined whether the number of face detection failures of the corresponding face object exceeds a specified number of times (S405).
  • the specified number of times may be the maximum number of entries that the included face-history buffer of the face object can have.
  • the face recognition device 100 deletes the corresponding face object from the face list 131 (S411).
  • the face recognition device 100 tracks the face object in the current image frame (S407).
  • the face recognition apparatus 100 (the control unit 170 of) tracks to detect the same face object in an image frame using a known face tracker program such as a Kernelized Correlation Filters (KCF) tracker. .
  • KCF Kernelized Correlation Filters
  • Whether the tracking of the face object is successful is determined by the reliability value returned by the face tracker.
  • the value of the reliability returned by the face tracker has a value equal to or greater than a set threshold (threshold value)
  • the face recognition apparatus 100 determines that the face tracking is successful.
  • the face recognition device 100 may receive or recognize a coordinate area corresponding to the face object from the face tracker. According to the design modification example, when face tracking fails, the face recognition apparatus 100 (control unit 170 of) may delete the face object (S411).
  • the face recognition apparatus 100 increases the number of face detection failures of the corresponding face object by 1 (S413) and updates the face object (S415).
  • the face recognition apparatus 100 creates and adds a new entry to the face-history buffer of the face object.
  • the face recognition apparatus 100 sets the face coordinate (area) of the new entry to the coordinate (area) of the detected face having the highest similarity (IOU value) or tracking successfully.
  • the face recognition device 100 sets the current face coordinates (area) of the face object as coordinates (area) of the detected face. In this way, the face recognition device 100 (control unit 170 of) changes the current face position of the face object to the detected face position according to the calculated IOU value.
  • face recognition apparatus 100 sets a new entry as a null entry.
  • the face recognition device 100 calculates a feature vector of the new entry and stores it in the new entry of the face-history buffer.
  • the face recognition apparatus 100 sorts the face boxes of the detected faces according to the tracking or the face boxes of the detected faces having a threshold value (which is the largest).
  • the face boxes on the image frame have different sizes, so that the eyes, nose, mouth, etc. come in a similar position.
  • the face recognition device 100 performs face landmark detection on the face box and uses the detected landmark to convert the eyes through 2D-Affine transformation, Convert the nose and mouth to be aligned to similar positions, and resize the converted image in the face box to the specified size (for example, 96 * 96).
  • the face recognition apparatus 100 (the control unit 170 of) extracts the facial feature vector using the aligned face image as an input and stores the extracted facial feature vector as a feature vector of the new entry.
  • the face recognition apparatus 100 (the control unit 170 of) may extract a facial feature vector such as 128 dimensions using a known feature vector extraction program or algorithm such as OpenFace.
  • the face recognition apparatus 100 determines the identification information corresponding to the currently extracted facial feature vector by using the extracted facial feature vector as an input, and adds the reliability and the identity information to the new entry. Can be recorded.
  • the face recognition device 100 (the control unit 170 of) provides a facial feature vector extracted in a deep learning-based face recognition program that can be used in a face recognition program or the like and learns as an input factor and stores the storage unit 130 ), It is possible to determine the information and reliability value of the identity classified from the identity list stored in) and store it in a new entry. According to the method of recognizing the identity from the face object, the identity information and the reliability value can be omitted.
  • a single detected face is selected (correspondence) to two (two or more) face objects according to the similarity between coordinate regions, and each face object may be updated.
  • the feature vector of each of the two face objects is compared with the feature vector extracted (calculated) from the image data of the face box of the detected face to obtain a higher similarity ( For example, a detection face may be selected for a face object having a similarity according to the Euclidean distance between the feature vectors, and a new entry of the corresponding face object may be updated.
  • the feature vector of each face object may be a feature vector extracted and stored from the most recent image frame of the face-history buffer.
  • the remaining face objects having low similarity may set a new entry as a null entry in the update process and increase the number of face detection failures by one.
  • the face recognition apparatus 100 (the control unit 170 of) is one face object among the face objects according to the similarity between the feature vectors calculated when there are multiple face objects corresponding to one detected face.
  • the detected face and its feature vector are mapped.
  • the face recognition device 100 determines whether a detected face that is not mapped to the face object in the face list 131 is present among all detected faces (S417). do.
  • the face recognition device 100 When there is a detected face that is not mapped to the face object through the calculation of the IOU value and the threshold value comparison, the face recognition device 100 (the control unit 170 of) generates a new face object in the face list 131 ( S419).
  • the face recognition device 100 adds a face-history buffer to a new face object and stores a new entry in the face-history buffer.
  • the new entry may include a feature vector calculated from the detected face, face coordinates (area) of the detected face (box), and further include identity information according to identity recognition and / or reliability of the classified identity.
  • the face recognition apparatus 100 may initialize the current identity other than the face-history buffer of the new face object and initialize the number of face detection failures.
  • the face recognition apparatus 100 may generate a new face object by setting the current face coordinate (area) as the face coordinate (area) of the new entry.
  • FIG. 7 is a diagram showing a detailed control flow for identification.
  • the control flow of FIG. 7 is performed by the face recognition device 100 (the control unit 170 of), and preferably, it is possible to recognize an identity of a face object by loading a face recognition program.
  • the control flow of FIG. 7 is preferably performed subsequent to FIG. 6.
  • the control flow of FIG. 7 is performed on the face list 131 corresponding to the imaging device 200.
  • the face recognition device 100 (the control unit 170 of) recognizes a setting algorithm to be used for identification (S501).
  • the face recognition apparatus 100 (the control unit 170 of) according to the present invention may recognize the identity of the face object using the maximum reliability algorithm and / or the feature vector averaging algorithm.
  • the setting data representing the setting algorithm is stored in the storage unit 130, and the face recognition device 100 (the control unit 170 of) reads the setting data and stores the identification data in one or two of the identification algorithms according to the value. Accordingly, it is possible to recognize the identity corresponding to the face object.
  • the identity recognition algorithm recognizes the identity based on (using) a plurality of feature vectors stored in the face object.
  • Each feature vector is a feature vector mapped to each of the entries in the face-history buffer and stored and extracted from face data (image data of the face box) detected in a series of image frames.
  • the face recognition apparatus 100 determines an identity having the highest reliability for each face object (S505).
  • the face recognition device 100 (control unit 170 of) searches for entries having the highest identity reliability in the face-history buffer of each face object, and identifies the identity (information) of the retrieved entry as the identity of the face object Decide.
  • the face recognition apparatus 100 (control unit 170 of), in the process of updating the face object (S415 in FIG. 6), extracts the feature vector from the detected face and inputs the extracted feature vector To classify (predict) the face.
  • Face classification for identification is performed according to a deep learning (identity) recognition algorithm, for example, through a support vector machine (SVM).
  • SVM applies the input feature vector to the identification list of the storage unit 130 as a classification category and outputs the classification result.
  • the classification result includes the identity (information) of one of the identity lists.
  • the SVM may further include a reliability value of the classification result.
  • the face recognition device 100 (the control unit 170 of) may store the reliability value along with the identity information in a new entry in the update process.
  • the face recognition apparatus 100 calculates an identity prediction and a reliability value using each of a plurality of feature vectors corresponding to a specific face object from a series of image frames, and the identity prediction
  • the identity of the feature vector corresponding to the identity prediction having the highest reliability is determined as the identity of the face object and is stored as the current identity of the face object.
  • the face recognition apparatus 100 (control unit 170 of) corresponds to a face object from a series of image frames.
  • the average feature vector is calculated from the plurality of feature vectors (S509).
  • the face recognition apparatus 100 (the control unit 170 of) may average the feature vectors of entries in the face-history buffer of the face object to calculate an average feature vector.
  • the face recognition apparatus 100 determines an identity corresponding to the face object using the calculated average feature vector (S511). For example, the face recognition apparatus 100 (the control unit 170 of) provides the calculated average feature vector to the SVM as an input, recognizes the classification result according to the SVM program based on the identity list, and identifies the identity of the classification result. Recognizes the current identity of the face object and sets it on the face object.
  • the present invention is configured to increase the speed of face detection by using a face detection algorithm capable of performing at a high speed, although the face detection rate is low in addition to the deep learning algorithm.
  • the present invention makes it possible to increase the low detection rate of the high-speed face detection algorithm using the history buffer of the face object.
  • the size of the face-history buffer is 10 (entry), a deep learning face detection algorithm is performed every 10 frames (a deep learning cycle), and a HOG-based face detection algorithm is performed for the remaining 9 frames out of 10 frames and auxiliary
  • face detection and recognition were possible at an image frame rate of 27.50 ms for a full-HD image frame.
  • the present invention confirmed that the face detection rate is 0.944 or so and has the same or similar face detection rate as the case of using only the deep learning face detection algorithm.
  • both the maximum reliability algorithm and the feature vector averaging algorithm have an identity recognition rate of about 0.940. This showed an improved result of about 0.100 (10%) compared to the identification rate without using statistical processing (face-history buffer).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은, 이미지 프레임에서 하나 이상의 얼굴을 검출하는 단계, 검출된 하나 이상의 얼굴 정보를 이용하여 얼굴 리스트의 얼굴 객체를 갱신하는 단계 및 갱신된 얼굴 리스트의 얼굴 객체의 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 단계를 포함하는, 얼굴 인식 방법 및 얼굴 인식 장치에 관한 것이다.

Description

얼굴 인식 방법 및 얼굴 인식 장치
본 발명은 얼굴 인식 방법 및 얼굴 인식 장치에 관한 것으로서, 구체적으로는 다양한 얼굴 검출 기법의 적용과 검출된 얼굴에 대한 통계적 처리로 높은 정확도로 실시간 얼굴 인식이 가능한 얼굴 인식 방법 및 얼굴 인식 장치에 관한 것이다.
딥 러닝(Deep Learning) 기술의 발전에 따라 딥 러닝 기술을 통해 이미지 속에서 높은 정확도로 객체를 탐지하고 인식하는 것이 가능하게 되었다. 이에 따라, 이미지 속에서 문자를 탐지하고 인식하거나 CCTV로부터의 영상 속에서 특정 대상의 얼굴을 탐지해내는 연구가 활발하게 이루어지고 있다.
얼굴 인식은 이미지 속 피사체의 얼굴에서 특징을 추출하여 누구의 얼굴인지 판단하는 컴퓨터 비전의 한 분야로써 보안 등의 분야에서 가장 활발하게 연구되고 있다.
영상 속에서 얼굴을 인식하는 시스템은 얼굴 검출(탐지)과 얼굴 인식 과정으로 이루어진다. 얼굴 검출은 이미지 속에서 사람의 얼굴을 탐지해내는 단계이고 얼굴 인식은 탐지된 얼굴이 누구의 얼굴인지를 판별한다.
딥 러닝 기술 기반의 얼굴 검출 및 인식은 높은 정확도로 이미지 속에서 얼굴을 찾고 인식하는 것이 가능하다. 그러나 딥 러닝 기술의 구현에 필요한 많은 연산량으로 인해 수행시간이 느린 문제점이 있다. 따라서 고해상도의 영상을 실시간으로 처리하는 데는 한계가 존재한다.
특히, 최근 고해상도의 CCTV 등의 영상 장비가 널리 보급되면서, 딥 러닝 기술과 같이 높은 정확도를 가지면서 고해상도의 영상을 실시간으로 처리하기 위한 얼굴 인식 시스템의 개발 필요성이 있다.
본 발명은, 상술한 문제점을 해결하기 위해서 안출한 것으로서, 높은 얼굴 인식률로 이미지로부터 실시간 얼굴 인식이 가능한 얼굴 인식 방법 및 얼굴 인식 장치를 제공하는 데 그 목적이 있다.
또한, 본 발명은 딥 러닝 기반의 얼굴 검출과 더불어 다른 얼굴 검출 기법과 얼굴 추적기를 혼용 적용하여 딥 러닝 기반의 얼굴 검출 대비 얼굴 검출률의 하락 없이 실시간으로 이미지에서 얼굴을 검출할 수 있는 얼굴 인식 방법 및 얼굴 인식 장치를 제공하는 데 그 목적이 있다.
또한, 본 발명은 일련의 이미지 프레임으로부터 추출된 얼굴 객체의 정보에 대한 통계적 처리로 얼굴 인식시에 영상 속의 피사체의 움직임에 따라 발생하는 이미지 품질, 각도, 조명 변화 등에 따른 인식률의 하락 없이 높은 얼굴 인식률을 가지는 얼굴 인식 방법 및 얼굴 인식 장치를 제공하는 데 그 목적이 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상에 따른 얼굴 인식 방법은 이미지 프레임에서 하나 이상의 얼굴을 검출하는 단계, 검출된 하나 이상의 얼굴 정보를 이용하여 얼굴 리스트의 얼굴 객체를 갱신하는 단계 및 갱신된 얼굴 리스트의 얼굴 객체의 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 단계를 포함한다.
상기한 얼굴 인식 방법에 있어서, 얼굴을 검출하는 단계는, 이미지 프레임이 지정된 주기에 따른 이미지 프레임인 경우 딥 러닝 얼굴 검출 알고리즘에 따라 이미지 프레임에 대해 얼굴을 검출하고, 이미지 프레임이 지정된 주기에 따른 이미지 프레임이 아닌 경우 HOG(Histogram of Oriented Gradients) 기반 얼굴 검출 알고리즘에 따라 이미지 프레임에 대해 얼굴을 검출하며, HOG 기반 얼굴 검출 알고리즘에 따른 얼굴 검출 횟수는 딥 러닝 얼굴 검출 알고리즘에 따른 얼굴 검출 횟수보다 많다.
상기한 얼굴 인식 방법에 있어서, 얼굴 리스트의 얼굴 객체를 갱신하는 단계는 얼굴 객체와 검출된 얼굴들 사이의 IOU(Intersection over Union) 값을 계산하고 계산된 IOU 값이 임계치 이상인 경우 얼굴 객체의 얼굴 위치를 검출된 얼굴의 위치로 변경한다.
상기한 얼굴 인식 방법에 있어서, 얼굴 리스트의 얼굴 객체를 갱신하는 단계는 모든 검출된 얼굴들 사이의 계산된 IOU 값들이 임계치 미만인 경우에 얼굴 트래커를 이용하여 얼굴 객체를 추적하고 얼굴 검출 실패 횟수가 지정된 횟수 이상인 경우 상기 얼굴 객체를 얼굴 리스트에서 제거한다.
상기한 얼굴 인식 방법에 있어서, 얼굴 리스트의 얼굴 객체를 갱신하는 단계는 IOU 값의 계산과 임계치 비교를 통해 검출된 얼굴이 상기 얼굴 리스트의 모든 얼굴 객체에 맵핑되지 못하는 경우 검출된 얼굴을 나타내는 신규의 얼굴 객체를 상기 얼굴 리스트에 생성한다.
상기한 얼굴 인식 방법에 있어서, 얼굴 리스트의 얼굴 객체를 갱신하는 단계는 얼굴 객체에 대응하는 검출된 얼굴 데이터로부터 특징 벡터를 추출하고 복수의 얼굴 객체에 대응하는 단일의 검출 얼굴이 존재하는 경우 단일의 검출 얼굴 데이터로부터의 특징 벡터와 복수의 얼굴 객체에 대응하는 특징 벡터 사이의 유사도에 따라 복수의 얼굴 객체 중 하나의 얼굴 객체에 검출된 얼굴의 특징 벡터를 맵핑시킨다.
상기한 얼굴 인식 방법에 있어서, 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 단계는 일련의 이미지 프레임들로부터의 얼굴 객체에 대응하는 복수의 특징 벡터들 각각을 이용하여 이루어진 신원 예측 중 가장 높은 신뢰도를 가지는 신원 예측에 대응하는 특징 벡터의 신원을 얼굴 객체의 신원으로 결정한다.
상기한 얼굴 인식 방법에 있어서, 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 단계는 일련의 이미지 프레임들로부터의 얼굴 객체에 대응하는 복수의 특징 벡터들로부터 평균 특징 벡터를 산출하고 산출된 평균 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식한다.
본 발명의 일 양상에 따른 얼굴 인식 장치는 하나 이상의 이미지 프레임을 수신하는 이미지 수신유닛, 수신된 이미지 프레임과 인식된 하나 이상의 얼굴 객체를 나타내는 얼굴 리스트를 저장하는 저장유닛 및 수신된 이미지 프레임에서 하나 이상의 얼굴을 검출하고 검출된 하나 이상의 얼굴 정보를 이용하여 저장유닛의 얼굴 리스트의 얼굴 객체를 갱신하며 갱신된 얼굴 리스트의 얼굴 객체의 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 제어유닛을 포함한다.
상기한 얼굴 인식 장치에 있어서, 하나 이상의 얼굴 검출을 위해, 제어유닛은 이미지 프레임이 지정된 주기에 따른 이미지 프레임인 경우 딥 러닝 얼굴 검출 알고리즘에 따라 이미지 프레임에 대해 얼굴을 검출하고, 이미지 프레임이 지정된 주기에 따른 이미지 프레임이 아닌 경우 제어유닛의 GPU(Graphics Processing Unit)로 가속화된 HOG 기반 얼굴 검출 알고리즘에 따라 이미지 프레임에 대해 얼굴을 검출하며, HOG 기반 얼굴 검출 알고리즘에 따른 얼굴 검출 횟수는 딥 러닝 얼굴 검출 알고리즘에 따른 얼굴 검출 횟수보다 많다.
상기한 얼굴 인식 장치에 있어서, 얼굴 리스트의 얼굴 객체를 갱신하기 위해, 제어유닛은 얼굴 객체와 검출된 얼굴들 사이의 IOU(Intersection over Union) 값을 계산하고 계산된 IOU 값이 임계치 이상인 경우 얼굴 객체의 얼굴 위치를 검출된 얼굴의 위치로 변경한다.
상기한 얼굴 인식 장치에 있어서, 얼굴 리스트의 얼굴 객체를 갱신하기 위해, 제어유닛은 모든 검출된 얼굴들 사이의 계산된 IOU 값들이 임계치 미만인 경우에 얼굴 트래커를 이용하여 얼굴 객체를 추적하고 얼굴 검출 실패 횟수가 지정된 횟수 이상인 경우 얼굴 객체를 얼굴 리스트에서 제거한다.
상기한 얼굴 인식 장치에 있어서, 얼굴 리스트의 얼굴 객체를 갱신하기 위해, 제어유닛은 IOU 값의 계산과 임계치 비교를 통해 검출된 얼굴이 얼굴 리스트의 모든 얼굴 객체에 맵핑되지 못하는 경우 검출된 얼굴을 나타내는 신규의 얼굴 객체를 얼굴 리스트에 생성한다.
상기한 얼굴 인식 장치에 있어서, 얼굴 리스트의 얼굴 객체를 갱신하기 위해, 제어유닛은 얼굴 객체에 대응하는 검출된 얼굴 데이터로부터 특징 벡터를 추출하고 복수의 얼굴 객체에 대응하는 단일의 검출 얼굴이 존재하는 경우 단일의 검출 얼굴 데이터로부터의 특징 벡터와 복수의 얼굴 객체에 대응하는 특징 벡터 사이의 유사도에 따라 복수의 얼굴 객체 중 하나의 얼굴 객체에 검출된 얼굴의 특징 벡터를 맵핑시킨다.
상기한 얼굴 인식 장치에 있어서, 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하기 위해, 제어유닛은 일련의 이미지 프레임들로부터의 얼굴 객체에 대응하는 복수의 특징 벡터들 각각을 이용하여 이루어진 신원 예측 중 가장 높은 신뢰도를 가지는 신원 예측에 대응하는 특징 벡터의 신원을 얼굴 객체의 신원으로 결정한다.
상기와 같은 본 발명에 따른 얼굴 인식 방법 및 얼굴 인식 장치는 높은 얼굴 인식률로 이미지로부터 실시간 얼굴 인식이 가능한 효과가 있다.
또한, 상기와 같은 본 발명에 따른 얼굴 인식 방법 및 얼굴 인식 장치는 딥 러닝 기반의 얼굴 검출과 더불어 다른 얼굴 검출 기법과 얼굴 추적기를 혼용 적용하여 딥 러닝 기반의 얼굴 검출 대비 얼굴 검출률의 하락 없이 실시간으로 이미지에서 얼굴을 검출할 수 있는 효과가 있다.
또한, 상기와 같은 본 발명에 따른 얼굴 인식 방법 및 얼굴 인식 장치는 일련의 이미지 프레임으로부터 추출된 얼굴 객체의 정보에 대한 통계적 처리로 얼굴 인식시에 영상 속의 피사체의 움직임에 따라 발생하는 이미지 품질, 각도, 조명 변화 등에 따른 인식률의 하락 없이 높은 얼굴 인식률을 가지는 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 얼굴 인식 시스템에 구성되는 장치간 연결 구성의 예를 도시한 도면이다.
도 2는 얼굴 인식 장치의 예시적인 구성을 나타내는 블록도이다.
도 3은 특정 영상 장치로부터 수신되는 이미지 프레임들로부터 얼굴 검출과 신원을 인식하는 주요 제어 흐름을 도시한 도면이다.
도 4는 얼굴 검출을 위한 상세 제어 흐름을 도시한 도면이다.
도 5는 얼굴 리스트의 예시적인 구성을 나타내는 도면이다.
도 6은 얼굴 리스트의 갱신을 위한 상세 제어 흐름을 도시한 도면이다.
도 7은 신원 인식을 위한 상세 제어 흐름을 도시한 도면이다.
<부호의 설명>
100 : 얼굴 인식 장치
110 : 이미지 수신유닛
130 : 저장유닛
131 : 얼굴 리스트
150 : 연결유닛
170 : 제어유닛
171 : 메인 프로세서
173 : GPU
200 : 영상 장치
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술 되어 있는 상세한 설명을 통하여 더욱 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
도 1은 얼굴 인식 시스템에 구성되는 장치간 연결 구성의 예를 도시한 도면이다.
도 1의 예와 같이, 얼굴 인식 시스템은 얼굴 인식 장치(100), 하나 이상의 영상 장치(200)를 포함하고, 얼굴 인식 장치(100)와 영상 장치(200)는 통신망을 통해 연결된다.
본 발명에 따른 얼굴 인식 시스템은 이미지 프레임으로부터 얼굴을 검출하고 검출된 얼굴의 신원을 인식할 수 있도록 구성된다. 본 얼굴 인식 시스템은 다양한 분야에서 활용될 수 있다. 예를 들어, 얼굴 인식 시스템은 출입 제어용 시스템에 이용되거나 보안 시스템 등에 적용될 수 있다.
얼굴 인식 시스템의 구성 요소를 간단히 살펴보면, 영상 장치(200)는 카메라를 구비하여 카메라 렌즈를 통해 노출되는 영상을 캡쳐링한다. 영상 장치(200)는 캡쳐링된 일련의 이미지 프레임들을 압축, 비압축 등의 알려진 포맷의 패킷으로 통신망을 통해 얼굴 인식 장치(100)로 전송할 수 있다.
영상 장치(200)는 보안 분야나 출입제어 분야 등에서 이용 가능한 CCTV, 카메라, 네트워크 카메라 등일 수 있다. 또는, 영상 장치(200)는 휴대폰, 스마트폰, 태블릿 PC, 노트북, 개인용 컴퓨터 등일 수 있다. 영상 장치(200)는 적어도 카메라( 센서)를 구비하여 카메라로부터 캡쳐링되는 일련의 이미지 프레임을 압축이나 비압축 데이터 포맷에 따라 얼굴 인식 장치(100)로 전송 가능하다.
얼굴 인식 장치(100)는 하나 이상의 영상 장치(200)에 연결되어 영상 장치(200)로부터의 이미지 프레임에서 얼굴을 검출하고 나아가 검출된 얼굴의 신원을 인식한다. 얼굴 인식 장치(100)는 인식된 신원에 따라 각종 응용에 따른 조치나 기능을 수행할 수 있다.
얼굴 인식 장치(100)는 다수의 영상 장치(200)에 연결되어 영상 장치(200)로부터의 일련의 이미지 프레임들에서 얼굴을 인식하고 추적할 수 있도록 구성된다. 얼굴 인식 장치(100)는 인터넷망(통신망) 등에 연결되는 서버로서 동작할 수 있다. 예를 들어, 얼굴 인식 장치(100)는 다수의 영상 장치(200)에 연결되어 다수의 영상 장치(200) 각각으로부터의 일련의 이미지 프레임에서 얼굴 검출 및 신원을 인식하고 인식된 신원에 따라 각종 기능이나 조치를 취할 수 있는 보안(관제) 서버일 수 있다.
다른 변형으로, 얼굴 인식 장치(100)는 개인이 휴대하거나 거치 가능한 개인용 기기일 수 있다. 예를 들어, 얼굴 인식 장치(100)는 휴대폰, 스마트폰, 태블릿 PC, 개인용 컴퓨터, 노트북 등일 수 있다. 이 경우, 영상 장치(200)는 개인용 기기 내에 내장되어 개인용 기기 내부의 통신망에 따라 캡쳐링된 일련의 이미지 프레임을 전송할 수 있다. 개인용 기기에 내장되는 영상 장치(200)는 카메라 센서와 카메라 렌즈 등을 적어도 포함하여 개인용 기기에 내장 가능하다.
통신망은 하나 이상의 영상 장치(200)에서 캡쳐링된 영상을 얼굴 인식 장치(100)로 전송한다. 통신망은 얼굴 인식 장치(100)와 영상 장치(200)의 구현 예에 따라 다양한 구성 예를 가질 수 있다. 예를 들어, 통신망은 인터넷망이나 이동통신망 등의 광대역 네트워크이거나 이더넷, 무선랜 등의 근거리 네트워크이거나 개인용 기기 내부에서 데이터를 프로세서 등으로 전송하기 위한 비디오신호 전용의 내장(embedded) 버스(bus)일 수 있다.
도 2는 얼굴 인식 장치(100)의 예시적인 구성을 나타내는 블록도이다.
도 2에 따르면, 얼굴 인식 장치(100)는 이미지 수신유닛(110), 저장유닛(130), 연결유닛(150) 및 제어유닛(170)을 포함한다. 도 2의 블록도는 바람직하게는 기능 블록도를 나타내고 대응하는 하드웨어 블록을 각 기능 블록들은 구비한다. 예를 들어, 얼굴 인식 장치(100)는 하나 이상의 PC, 워크스테이션 및/또는 서버 프레임의 하나 이상의 조합으로 구성되는 서버일 수 있다. 또는, 얼굴 인식 장치(100)는 스마트폰, 태블릿 PC 등의 개인용 기기일 수 있다.
도 2를 통해, 얼굴 인식 장치(100)의 각 구성 요소를 하드웨어와 관련하여 살펴보면, 이미지 수신유닛(110)은 이미지 프레임을 수신한다. 이미지 수신유닛(110)은 무선랜 및/또는 유선랜 통신칩셋과 안테나 등을 구비하여 광대역 네트워크나 근거리 네트워크를 통해 각각의 영상 장치(200)로부터 일련의 이미지 프레임을 통신 패킷 등을 통해 수신한다. 또는, 이미지 수신유닛(110)은 내장 버스를 통해 카메라로부터 일련의 이미지 프레임의 비디오 신호(데이터)를 수신할 수 있다.
이미지 수신유닛(110)을 통해 수신되는 일련의 이미지 프레임은 영상 장치(200)와의 약속된 포맷에 따라 압축되거나 압축되지 않을 수 있다.
저장유닛(130)은 휘발성 메모리, 비휘발성 메모리 및/또는 하드디스크 등의 대용량 저장매체를 포함하여 각종 데이터와 프로그램을 저장한다. 예를 들어, 저장유닛(130)은 비휘발성 메모리나 하드디스크 등에 얼굴 검출과 인식에 이용될 각종 프로그램을 저장한다.
저장유닛(130)은 얼굴 검출 제어 프로그램, 딥 러닝 기반의 얼굴 검출 프로그램, HOG(Histogram of Oriented Gradients, 경사 지향 히스토그램) 기반의 얼굴 검출 프로그램, 얼굴 트래커 프로그램, 얼굴 인식 프로그램 등을 저장한다.
HOG 기반의 얼굴 검출 프로그램은 N. Dalal에 의해 제안(N. Dalal and B. Triggs, "Histograms of oriented gradients for human detection", Proc. IEEE Comput. Vis. Pattern Recog., 2005, pp.886-893)되었고 객체 탐지에 사용되는 특징 기술자의 한 종류로, 국부적인 그래디언트를 계산하고 이를 히스토그램화하여 객체의 특징으로 이용한다. HOG 기반의 객체(얼굴) 검출 알고리즘은 딥 러닝 기반의 얼굴 검출 알고리즘 보다 빠른 수행 속도를 가지나 딥 러닝 기반의 얼굴 검출 알고리즘 보다 낮은 얼굴 검출율을 가진다.
얼굴 트래커 프로그램은 예를 들어, KCF(Kernelized Correlation Filters) 트랙커(Tracker)(HENRIQUES, Joao F., et al. High-speed tracking with kernelized correlation filters. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37.3: 583-596) 등 일 수 있다. 얼굴 인식 프로그램은 딥 러닝 또는 인공신경망 등을 통해 학습이 이루어지고 얼굴 특징 벡터로부터 얼굴의 신원의 인식(분류)이 가능한 SVM(Support Vector Machine)을 이용하는 프로그램일 수 있다.
저장유닛(130)은 얼굴 객체 갱신 프로그램을 더 저장한다. 얼굴 객체 갱신 프로그램은 각 영상 장치(200)에 대응하는 얼굴 리스트(131)에 포함된 얼굴 객체를 관리하고 갱신하기 위한 프로그램이다. 얼굴 객체 갱신 프로그램은 수신된 이미지 프로그램에서 검출된 하나 이상의 얼굴 정보(데이터)를 이용하여 얼굴 리스트(131)상의 얼굴 객체를 수정, 변경, 추가, 제거 등을 수행 가능하다.
얼굴 객체 갱신 프로그램은 검출된 얼굴로부터 얼굴의 특징 벡터를 추출할 수 있도록 구성될 수 있다. 얼굴 객체 갱신 프로그램은 알려진 얼굴 특징 추출 프로그램을 내장하여 얼굴 특징 벡터를 추출할 수 있고 예를 들어 OpenFace 프로그램이나 알려진 다른 특징 벡터 추출 프로그램을 내장하거나 사용하여 128차원 등의 얼굴 특징 벡터를 추출할 수 있다.
여기서, 저장유닛(130)에 저장되는 프로그램들은 독립적인 프로그램이거나 특정 프로그램 프레임워크에 내장되는 프로그램 모듈일 수 있다. 각각의 프로그램들은 다른 프로그램과 연계되어 각종 기능을 수행 가능하다.
저장유닛(130)은 그 외 각각의 영상 장치(200)로부터의 일련의 이미지 프레임들을 저장하고 각 영상 장치(200)로부터 검출되거나(고) 인식된 얼굴 객체를 하나 이상 나타내는 얼굴 리스트(131)를 저장한다. 저장유닛(130)은 복수의 영상 장치(200)에 각각 대응하는 복수의 얼굴 리스트(131)를 저장할 수 있다.
얼굴 리스트(131)는 하나 이상의 얼굴 객체를 포함하고 각각의 얼굴 객체는 일련의 이미지 프레임들에서의 특정 얼굴의 특성들이나 검출된 위치 데이터 등을 저장한다. 얼굴 리스트(131)의 얼굴 객체를 통해 여러 이미지 프레임에서 추출되거나 인식된 각종 특성 정보를 이용하여 특정 얼굴을 효율적으로 추적 관리 가능하다.
저장유닛(130)은 신원 리스트를 더 포함할 수 있다. 신원 리스트는 특징 벡터와 대응하는 개인 신원 정보를 포함한다. 특징 벡터는 얼굴로부터 추출될 수 있고 예를 들어 128차원의 특징 벡터일 수 있다. 개인 신원 정보는 이름, 주민번호, 관리번호 등의 개인 식별자를 포함하거나 나타낸다.
연결유닛(150)은 얼굴 인식 장치(100) 내의 블록 간 데이터를 송수신한다. 연결 유닛은 유선랜, 무선랜 등의 근거리 네트워크, 장치 내에 내장되는 병렬 버스나 시리얼 버스 등을 구비하여 각종 데이터를 송수신한다.
제어유닛(170)은 하나 이상의 실행 유닛을 구비하여 저장유닛(130)에 저장되어 있는 프로그램을 로딩하고 실행 유닛을 통해서 프로그램의 명령어 코드를 실행하여 얼굴 인식 장치(100)를 제어한다.
제어유닛(170)은 프로그램의 명령어 코드를 수행 가능한 다수의 실행 유닛을 구비할 수 있다. 예를 들어, 제어유닛(170)은 메인 프로세서(171)(main processor)와 GPU(173)(Graphics Processing Unit)를 구비하여 저장유닛(130)의 프로그램을 메인 프로세서(171) 및/또는 GPU(173)에 로딩하여 얼굴 인식 장치(100)를 제어하여 얼굴을 검출하고 신원을 인식할 수 있다.
제어유닛(170)은 저장유닛(130)에 저장된 프로그램을 이용하여 영상 장치(200)로부터 수신된 이미지 프레임에서 하나 이상의 얼굴을 검출한다. 얼굴 검출에서 저장유닛(130)의 딥 러닝 기반의 얼굴 검출 알고리즘(프로그램)이 이용되거나 HOG(Histogram of Oriented Gradients) 기반의 얼굴 검출 알고리즘(프로그램)이 이용될 수 있다. 나아가, 얼굴 검출(예를 들어, HOG 기반의 얼굴 검출)에서 기존에 인식된 얼굴이 현재의 이미지 프레임에서 검출되지 않는 경우에 얼굴 추적 알고리즘(프로그램 )에 따라 특정 얼굴을 추적할 수 있다.
제어유닛(170)은 검출된 하나 이상의 얼굴 정보를 이용하여 저장유닛(130)의 수신된 이미지 프레임에 맵핑되어 있는 영상 장치(200)의 얼굴 리스트(131)를 갱신한다. 얼굴 리스트(131)의 갱신 과정에서 얼굴 객체가 또한 갱신된다. 제어유닛(170)은 얼굴 객체 갱신 프로그램을 이용하여 얼굴 검출 알고리즘에 따라 검출된 하나 이상의 얼굴( 정보)을 이용하여 얼굴 리스트(131)의 얼굴 객체를 갱신한다.
제어유닛(170)은 갱신된 얼굴 리스트(131)의 얼굴 객체에 대응하는 일련의 이미지 프레임으로부터의 추출되는 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식한다. 제어유닛(170)은 저장유닛(130)의 얼굴 인식 프로그램을 수행하여 갱신된 얼굴 리스트(131)의 얼굴 객체의 복수의 특징 벡터를 이용하여 각 얼굴 객체에 대응하는 신원을 인식할 수 있다.
얼굴 검출, 얼굴 리스트(131) 갱신 및 신원 인식과 관련하여 제어유닛(170)에서 이루어지는 제어 흐름은 도 3 이하에서 상세히 살펴보도록 한다.
도 3은 특정 영상 장치(200)로부터 수신되는 이미지 프레임들로부터 얼굴 검출과 신원을 인식하는 주요 제어 흐름을 도시한 도면이다.
도 3의 제어 흐름은 얼굴 인식 장치(100)에서 수행되고 각각의 영상 장치(200)에 대해 그 얼굴 검출과 신원 인식이 이루어진다. 즉, 도 3의 제어 흐름은 각각의 영상 장치(200)별로 수행된다. 도 3의 제어 흐름은 저장유닛(130)의 각종 프로그램을 로딩하여 수행하는 제어유닛(170)의 제어를 통해 바람직하게 이루어진다.
먼저, 얼굴 인식 장치(100)가 부팅되거나 사용자의 요청에 따라 본 제어 흐름이 시작(S10)하고, 얼굴 인식 장치(100)(의 제어유닛(170))는 영상 장치(200)에 대응하는 저장유닛(130)의 얼굴 리스트(131)와 변수를 초기화(S20)한다.
예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 영상 장치(200)의 얼굴 리스트(131)를 널 리스트로 구성하고 처리할 이미지 프레임 넘버를 0으로 초기화한다. 얼굴 리스트(131)는 하나 이상의 얼굴 객체를 포함하거나 저장 가능하다. 이미지 프레임 넘버는 처리하고 있는 이미지 프레임의 프레임 번호일 수 있다. 이미지 프레임 넘버는 일련의 숫자로 표현될 수 있다.
초기화에 후속하여, 얼굴 인식 장치(100)(의 제어유닛(170))는 수신되어 저장유닛(130)에 저장되어 있는 이미지 프레임에서 하나 이상의 얼굴을 검출하고 검출된 얼굴을 나타내는 얼굴 정보를 구성(S30)한다. 얼굴 검출 과정에서 얼굴 인식 장치(100)(의 제어유닛(170))는 딥 러닝 기반의 얼굴 검출 알고리즘이나 HOG 기반의 얼굴 검출 프로그램을 이용하고 나아가 얼굴 추적 프로그램을 더 이용 가능하다.
얼굴 검출에 관련된 구체적인 내용은 도 4에서 좀 더 상세히 살펴보도록 한다.
얼굴 검출에 후속하여, 얼굴 인식 장치(100)(의 제어유닛(170))는 검출된 하나 이상의 얼굴 정보를 이용하여 영상 장치(200)에 대응하는 얼굴 리스트(131)의 얼굴 객체를 갱신(S40)한다. 예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 객체 갱신 프로그램을 수행하여 검출된 하나 이상의 얼굴 정보에 기초하여 얼굴 리스트(131)에 얼굴 객체를 추가하거나 얼굴 객체를 변경하거나 얼굴 객체를 제거할 수 있다.
얼굴 리스트(131)의 갱신에 관련된 구체적인 내용은 도 6을 통해 좀 더 상세히 살펴보도록 한다.
얼굴 리스트(131)의 갱신 이후에, 얼굴 인식 장치(100)(의 제어유닛(170))는 갱신된 얼굴 리스트(131)의 각각의 얼굴 객체에 대응하는 신원을 인식(S50)한다. 얼굴 인식 프로그램을 수행하는 얼굴 인식 장치(100)(의 제어유닛(170))는 각각의 얼굴 객체에 대응하여 저장되어 있는 복수의 특징 벡터를 이용하여 저장유닛(130)의 신원 리스트의 특징 벡터와의 비교를 통해 각 얼굴 객체에 대응하는 신원을 인식 가능하다. 얼굴 객체에 대응하여 저장되는 복수의 특징 벡터 각각은 해당 영상 장치(200)로부터 수신되는 이미지 프레임들 각각에서 검출되는 얼굴 데이터로부터 추출되는 특징 벡터이다.
얼굴 객체의 신원이 인식됨에 따라, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 객체에 신원 정보를 기록하고 종료 조건에 도달한 지를 판단(S60)한다. 종료 조건은 예를 들어 영상 장치(200)의 통신 연결이 끊어지거나 마지막 이미지 프레임 넘버이거나 종료 입력의 수신 등일 수 있다.
만일, 종료 조건에 도달하지 못한 경우, 얼굴 인식 장치(100)(의 제어유닛(170))는 후속하여 수신되는 이미지 프레임을 대상으로 얼굴 검출(S30), 얼굴 객체 갱신(S40) 및 신원 인식(S50)을 반복 수행할 수 있다.
종료 조건에 도달한 경우, 얼굴 인식 장치(100)(의 제어유닛(170))는 특정 영상 장치(200)에 대한 얼굴 인식을 종료(S70)할 수 있다.
도 4는 얼굴 검출을 위한 상세 제어 흐름을 도시한 도면이다.
도 4의 제어 흐름은 얼굴 인식 장치(100)에서 이루어지고 바람직하게는 제어유닛(170)이 얼굴 검출 제어 프로그램에 따라 딥 러닝 기반의 얼굴 검출 프로그램과 HOG 기반의 얼굴 검출 프로그램을 수행함에 따라 이루어진다.
얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 검출 제어 프로그램에 따라 영상 장치(200) 등으로부터 수신되어 저장유닛(130)에 저장된 이미지 프레임을 휘발성 메모리 등에 로딩(S301)한다. 저장유닛(130)은 각 영상 장치(200)로부터 수신되는 일련의 이미지 프레임을 저장할 수 있고 얼굴 인식 장치(100)(의 제어유닛(170))는 일련의(연속된) 이미지 프레임들 중 얼굴 인식에 이용되지 않은 이미지 프레임(예를 들어, 이용되지 않은 프레임 중 수신 시각이 가장 오래되거나 프레임 넘버가 가장 작은 프레임)을 선택하여 휘발성 메모리 등에 로딩할 수 있다.
얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 검출 제어 프로그램에 따라 이미지 프레임 넘버를 1 증가(S303)시켜 현재 이미지 프레임의 프레임 번호를 갱신한다. 이미지 프레임에 프레임 넘버가 포함된 경우 이미지 프레임 넘버는 이미지 프레임의 프레임 넘버로 갱신될 수도 있다.
얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 검출 제어 프로그램에 따라 현재의 이미지 프레임이 딥 러닝 수행 주기에 대응하는 이미지 프레임인지를 판단(S305)한다.
예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 현재 이미지 프레임 넘버를 딥 러닝 수행 주기로 모듈러 연산(%)하여 그 결과가 0인 지로 현재 이미지 프레임이 딥 러닝 수행 주기에 따른 이미지 프레임인지를 판단할 수 있다. 딥 러닝 수행 주기는 10( 이미지 프레임), 5( 이미지 프레임)등으로 설정될 수 있다.
딥 러닝 수행 주기는 적어도 3 이상으로 설정되어 얼굴 검출에 있어, HOG 기반의 얼굴 검출 알고리즘(프로그램)에 따른 얼굴 검출 횟수가 딥 러닝 얼굴 검출 알고리즘(프로그램)에 따른 얼굴 검출 횟수보다 더 많도록 바람직하게 구성된다.
현재의 이미지 프레임이 딥 러닝 주기에 대응하는 이미지 프레임인 경우에, 얼굴 인식 장치(100)(의 제어유닛(170))는 딥 러닝 기반의 얼굴 검출 프로그램을 수행하여 현재 이미지 프레임에 대해 딥 러닝 얼굴 검출 알고리즘에 따라 얼굴을 검출(S307)한다.
현재의 이미지 프레임이 딥 러닝 주기에 대응하는 이미지 프레임이 아닌 경우에, 얼굴 인식 장치(100)(의 제어유닛(170))는 HOG 기반의 얼굴 검출 프로그램을 수행하여 현재 이미지 프레임에 대해 HOG 기반의 얼굴 검출 알고리즘에 따라 얼굴을 검출(S309)한다. 얼굴 인식 장치(100)(의 제어유닛(170))는 바람직하게는 HOG 기반의 얼굴 검출 프로그램의 전부 또는 일부를 GPU(173)에서 수행시켜 HOG 기반의 얼굴 검출을 가속화한다.
딥 러닝 얼굴 검출 알고리즘과 HOG 기반의 얼굴 탐지 알고리즘을 혼용 사용함에 따라, 딥 러닝 얼굴 검출 알고리즘이 적용된 이미지 프레임에서는 높은 검출율(탐지율)로 얼굴 검출이 가능하고 HOG 기반의 얼굴 탐지 알고리즘이 적용된 이미지 프레임에서는 비록 낮은 검출율을 가지지만 빠른 속도로 얼굴 검출이 가능하다. 얼굴 검출율이 낮은 이미지 프레임에서의 얼굴 검출은 도 5와 도 6에서 살펴볼 바와 같이 얼굴 객체의 다른 정보나 데이터를 더 활용하여 딥 러닝 얼굴 검출 알고리즘과 동일하거나 유사한 얼굴 검출율로 그 검출이 이루어질 수 있다.
얼굴 검출 알고리즘에 따라, 얼굴 인식 장치(100)(의 제어유닛(170))는 이미지 프레임에서 0개 이상의 얼굴을 검출하고 검출된 얼굴을 특정하는 얼굴 박스(box)를 인식 가능하다. 하나 이상의 얼굴 박스는 이미지 프레임 내에서의 직사각형의 좌표영역(상,하,좌,우 좌표값)으로 표현될 수 있다.
도 5는 얼굴 리스트(131)의 예시적인 구성을 나타내는 도면이다.
도 5의 얼굴 리스트(131)는 저장유닛(130)에 저장되고 얼굴 인식 장치(100)(의 제어유닛(170))에 의해 수정, 변경, 추가될 수 있다. 얼굴 인식 장치(100)(의 제어유닛(170))는 저장유닛(130)의 얼굴 객체 갱신 프로그램을 로딩하여 얼굴 리스트(131)를 관리 가능하다.
도 5에서 알 수 있는 바와 같이, 각각의 영상 장치(200)에 대응하는 얼굴 리스트(131)는 0개 이상의 얼굴 객체(Object)를 저장한다. 현재, 또는 지정된 개수 이전의 이미지 프레임에서 인식되는 얼굴 객체의 개수에 따라 얼굴 리스트(131)에서 얼굴 객체의 개수는 변경 가능하다.
각각의 얼굴 객체는 현재 신원 정보를 가진다. 현재 신원 정보는 얼굴-히스토리 버퍼를 이용하여 해당 얼굴 객체에 대응하여 인식되는 얼굴의 신원을 나타내고 이름, 주민번호, 관리번호 등의 개인 식별자를 포함할 수 있다. 이와 같이, 얼굴 객체는 대응하는 현재 신원 정보를 가져 얼굴 객체에 대응하는 신원을 확인 가능하다.
얼굴 객체에 포함되는 얼굴 검출 실패 횟수는 해당 얼굴의 인식 후부터 지금 현재까지 이미지 프레임에서 해당 얼굴의 검출에 실패한 횟수를 나타낸다. 얼굴 검출 실패 횟수가 증가하여 임계치에 도달하는 경우 얼굴 객체는 얼굴 리스트(131)에서 제거 가능하다.
얼굴 객체는 현재의 얼굴 객체의 얼굴 좌표 영역을 더 포함할 수 있다. 현 얼굴 좌표 영역은 이미지 프레임 중 가장 최신의 이미지 프레임(예를 들어, 시간 t의 이미지 프레임)에서 검출된 동일한 객체의 얼굴 좌표의 영역일 수 있다. 현 얼굴 좌표 영역은 상하좌우의 좌표값으로 표현될 수 있다. 예를 들어, 얼굴 좌표 영역은 좌상 좌표, 우하 좌표로 표현될 수 있다.
각각의 얼굴 객체는 얼굴-히스토리 버퍼를 가진다. 얼굴-히스토리 버퍼는 다수의 엔트리로 구성되고 최대로 지정된 개수(예를 들어, 10개 등)의 엔트리를 가질 수 있다. 얼굴-히스토리 버퍼는 FIFO나 QUEUE 등으로 구성된다. 얼굴-히스토리 버퍼는 얼굴 인식 후(도 5의 각각의 얼굴-히스토리 버퍼에서 마지막 엔트리) 현재 프레임(도 5에서 시간 t)까지의 각 이미지 프레임에서 동일한 얼굴 객체로 추정된 얼굴로부터 결정되는 정보를 저장한다.
얼굴-히스토리 버퍼의 각각의 엔트리는 얼굴 객체의 검출 여부에 따라 널 엔트리(도 5의 얼굴 객체 1의 t-2, 얼굴 객체 k의 t-3 등 참조)이거나 동일한 얼굴을 검출한 경우에 해당 얼굴로부터 추출되거나 결정되는 얼굴 정보를 포함한다.
예를 들어, 엔트리는 이미지 프레임에서 검출되는 얼굴의 얼굴 박스로부터 결정되는 특징 벡터, 얼굴 좌표 등을 포함하고 특징 벡터 등으로부터 추정되는 신원의 신뢰도 등을 더 포함한다. 특징 벡터는 예를 들어, 128차원의 특징 벡터일 수 있고, 얼굴 좌표는 이미지 프레임에서 검출된 얼굴의 얼굴 박스의 상,하,좌,우 좌표일 수 있다. 얼굴 좌표는 얼굴 객체의 직사각형의 얼굴 영역을 특정할 수 있고 좌상 좌표와 우하 좌표 등으로 구성 가능하다.
도 5에서 살펴본 바와 같이, 얼굴 인식 장치(100)(의 제어유닛(170))는 0개 이상의 얼굴 객체를 포함하는 얼굴 리스트(131)를 관리하고 얼굴 객체는 이미지 프레임별 해당 얼굴의 검출 여부를 특정하고 검출시에 해당 이미지 프레임에서의 각종 특성을 알 수 있는 얼굴-히스토리 버퍼를 가진다.
도 6은 얼굴 리스트(131)의 갱신을 위한 상세 제어 흐름을 도시한 도면이다.
도 6의 얼굴 리스트(131)의 갱신 과정은 얼굴 인식 장치(100)(의 제어유닛(170))에 의해 수행되고 바람직하게는 얼굴 객체 갱신 프로그램을 로딩하여 얼굴 리스트(131)를 갱신 가능하다.
먼저, 도 4의 얼굴 검출 과정을 통해 현 이미지 프레임에서 모든 얼굴을 검출함에 따라 검출된 얼굴들을 각각 나타내는 하나 이상의 얼굴 박스들이 특정된다.
얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 리스트(131)의 모든 얼굴 객체들 각각과 검출된 얼굴들 각각 사이의 상대적인 위치에 따른 유사도를 계산(S401)한다.
예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 모든 얼굴 객체들 각각의 현 얼굴 좌표영역과 검출된 얼굴(얼굴 박스)들 각각의 좌표영역 사이의 IOU(Intersection over Union)값을 계산한다. 이에 따라, 모든 얼굴 객체들과 모든 검출 얼굴들 각각 사이의 IOU(유사도)값이 산출된다. IOU 값은 (얼굴 객체의 현 좌표 영역과 검출 얼굴의 좌표 영역의 교집합 영역의 면적)/(얼굴 객체의 현 좌표 영역과 검출 얼굴의 좌표 영역의 합집합 영역의 면적)으로 계산될 수 있다. 얼굴 객체와 검출 얼굴의 크기가 비슷하고 겹치는 부분이 많을 수록 IOU 값은 비례하여 커진다.
유사도의 산출 이후에, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 리스트(131)의 각각의 얼굴 객체에 대해 임계치 이상의 검출 얼굴이 존재하는 지를 판단(S403)한다. 예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 각 얼굴 객체와 모든 검출 얼굴 사이의 IOU 값들 중 설정된 임계치(예를 들어, 0.1 등) 이상의 검출 얼굴이 있는 지를 판단할 수 있다.
다수의 검출 얼굴이 한 얼굴 객체와 임계치 이상의 IOU 값을 가지는 경우에, 가장 높은 IOU 값을 가지는 검출 얼굴을 선택하여 해당 얼굴 객체를 갱신할 수 있다.
얼굴 리스트(131)의 얼굴 객체와 모든 검출 얼굴들 사이의 계산된 IOU 값이 임계치 미만인 경우에 해당 얼굴 객체의 얼굴 검출 실패 횟수가 지정된 횟수를 초과하는 지를 판단(S405)한다. 지정된 횟수는 얼굴 객체의 포함되는 얼굴-히스토리 버퍼가 가질 수 있는 엔트리의 최대 개수일 수 있다.
만일, 지정된 횟수를 초과하여 해당 얼굴 객체의 얼굴 검출에 실패한 경우, 얼굴 인식 장치(100)(의 제어유닛(170))는 해당 얼굴 객체를 얼굴 리스트(131)에서 삭제(S411)한다.
얼굴 검출 실패 횟수가 지정된 횟수 이하인 경우로서 임계치 이상의 검출 얼굴을 인식하지 못한 경우에, 얼굴 인식 장치(100)(의 제어유닛(170))는 현재의 이미지 프레임에서 얼굴 객체를 추적(S407)한다.
예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 KCF(Kernelized Correlation Filters) 트랙커(Tracker) 등의 알려진 얼굴 트래커 프로그램을 이용하여 이미지 프레임 내에서 동일한 얼굴 객체를 검출하도록 추적한다.
얼굴 트래커가 반환하는 신뢰도의 값에 따라 얼굴 객체의 추적의 성공 여부가 결정된다. 얼굴 트래커가 반환하는 신뢰도의 값이 설정된 임계치(역치값) 이상의 값을 가지는 경우 얼굴 추적에 성공하는 것으로 얼굴 인식 장치(100)(의 제어유닛(170))는 판단한다.
얼굴 추적에 성공한 경우, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 트래커로부터 얼굴 객체에 대응하는 좌표 영역을 수신하거나 인식할 수 있다. 설계변형 예에 따라, 얼굴 추적에 실패한 경우, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 객체를 삭제(S411)할 수도 있다.
얼굴 인식 장치(100)(의 제어유닛(170))는 해당 얼굴 객체의 얼굴 검출 실패 횟수를 1 증가(S413)시키고 얼굴 객체를 갱신(S415)한다.
갱신 과정(S415)에서, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 객체의 얼굴-히스토리 버퍼에 신규의 엔트리를 생성하여 추가한다. 얼굴 인식 장치(100)(의 제어유닛(170))는 신규의 엔트리의 얼굴 좌표( 영역)를 가장 높은 유사도(IOU 값)를 가지거나 추적에 성공한 검출 얼굴의 좌표( 영역)로 설정한다.
또한, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 객체의 현 얼굴 좌표( 영역)를 검출 얼굴의 좌표( 영역)로 설정한다. 이와 같이, 얼굴 인식 장치(100)(의 제어유닛(170))는 계산된 IOU 값에 따라 얼굴 객체의 현 얼굴 위치를 검출된 얼굴의 위치로 변경한다. 얼굴 추적에 실패한 경우, 얼굴 인식 장치(100)(의 제어유닛(170))는 신규 엔트리를 널 엔트리로 설정한다.
갱신 과정(S415)에서, 얼굴 인식 장치(100)(의 제어유닛(170))는 신규 엔트리의 특징 벡터를 산출하고 이를 얼굴-히스토리 버퍼의 신규의 엔트리에 저장한다.
갱신 과정(S415)에서, 얼굴 인식 장치(100)(의 제어유닛(170))는 임계치 이상(이면서 가장 큰)의 검출 얼굴의 얼굴 박스 또는 추적에 따라 검출된 얼굴의 얼굴 박스를 정렬한다. 이미지 프레임상의 얼굴 박스는 서로 다른 크기를 가지고 있어 비슷한 위치에 눈, 코, 입 등이 오도록 정렬한다.
예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 박스에 대해 얼굴 랜드마크 검출(Face Landmark Detection)을 수행하고 탐지된 랜드마크를 사용하여 2D-Affine 변환을 통해 눈,코, 입이 비슷한 위치로 정렬되도록 변환하고 얼굴 박스의 변환된 이미지 크기를 지정된 크기(예를 들어, 96*96)로 리사이즈한다.
얼굴 인식 장치(100)(의 제어유닛(170))는 정렬된 얼굴 이미지를 입력으로 하여 얼굴 특징 벡터를 추출하고 추출된 얼굴 특징 벡터를 신규 엔트리의 특징 벡터로 저장한다. 얼굴 인식 장치(100)(의 제어유닛(170))는 OpenFace 등의 알려진 특징 벡터 추출 프로그램이나 알고리즘을 이용하여 128 차원 등의 얼굴 특징 벡터를 추출 가능하다.
나아가, 얼굴 인식 장치(100)(의 제어유닛(170))는 추출된 얼굴 특징 벡터를 입력으로 하여 현재 추출된 얼굴 특징 벡터에 대응하는 신원 정보를 결정하고 그 신뢰도와 신원 정보를 신규 엔트리에 더 기록할 수 있다.
얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 인식 프로그램 등에서 이용 가능하고 학습 등이 이루어져 있는 딥 러닝 기반의 얼굴 인식 프로그램에 추출된 얼굴 특징 벡터를 입력 인자로 제공하고 저장유닛(130)에 저장되어 있는 신원 리스트 중에서 분류되는 신원의 정보와 신뢰도 값을 결정하여 이를 신규 엔트리에 저장 가능하다. 얼굴 객체로부터 신원 인식을 하는 기법에 따라 이 신원 정보와 신뢰도 값은 생략 가능하다.
갱신 과정(S415)에서, 좌표 영역 사이의 유사도에 따라 단일의 검출 얼굴이 두 개(두 개 이상)의 얼굴 객체에 같이 선택(대응)되어 각 얼굴 객체가 갱신될 수 있다.
단일의 검출 얼굴에 두 개 이상의 얼굴 객체가 대응하여 존재하는 경우, 두 개의 각 얼굴 객체의 특징 벡터와 검출 얼굴의 얼굴 박스의 이미지 데이터로부터 추출된(산출된) 특징 벡터를 비교하여 더 높은 유사도(예를 들어, 특징 벡터 사이의 유클리드 거리에 따른 유사도)를 가지는 얼굴 객체에 검출 얼굴을 선택하고 해당 얼굴 객체의 신규 엔트리를 갱신할 수 있다.
각 얼굴 객체의 특징 벡터는 얼굴-히스토리 버퍼의 가장 최근의 이미지 프레임으로부터 추출되어 저장되는 특징 벡터일 수 있다. 유사도가 낮은 나머지 얼굴 객체는 갱신 과정에서 신규 엔트리를 널 엔트리로 설정하고 얼굴 검출 실패 횟수를 1 증가시킬 수 있다.
이와 같이, 얼굴 인식 장치(100)(의 제어유닛(170))는 하나의 검출 얼굴에 대응하는 여러 얼굴 객체가 존재하는 경우에 산출된 특징 벡터 사이의 유사도에 따라 여러 얼굴 객체 중 하나의 얼굴 객체에 검출된 얼굴과 그 특징 벡터를 맵핑시킨다.
얼굴 객체의 갱신 이후에, 얼굴 인식 장치(100)(의 제어유닛(170))는 검출된 모든 얼굴들 중 얼굴 리스트(131)의 얼굴 객체에 맵핑되지 못한 검출 얼굴이 존재하는 지를 판단(S417)한다.
IOU 값의 계산과 임계치 비교를 통해 얼굴 객체에 맵핑되지 못한 검출 얼굴이 존재하는 경우, 얼굴 인식 장치(100)(의 제어유닛(170))는 신규의 얼굴 객체를 얼굴 리스트(131)에 생성(S419)한다.
얼굴 인식 장치(100)(의 제어유닛(170))는 신규의 얼굴 객체에 얼굴-히스토리 버퍼를 추가하고 얼굴-히스토리 버퍼에 신규 엔트리를 추가 저장한다. 신규 엔트리에는 검출 얼굴로부터 산출되는 특징 벡터, 검출 얼굴( 박스)의 얼굴 좌표( 영역)를 포함하고 나아가 신원 인식에 따른 신원 정보 및/또는 분류된 신원의 신뢰도를 더 포함할 수 있다.
얼굴 인식 장치(100)(의 제어유닛(170))는 신규의 얼굴 객체의 얼굴-히스토리 버퍼 외의 현재 신원을 초기화하고 얼굴 검출 실패 횟수를 초기화할 수 있다. 또한, 얼굴 인식 장치(100)(의 제어유닛(170))는 현 얼굴 좌표( 영역)를 신규 엔트리의 얼굴 좌표( 영역)로 설정하여 신규 얼굴 객체를 생성할 수 있다.
도 7은 신원 인식을 위한 상세 제어 흐름을 도시한 도면이다.
도 7의 제어 흐름은 얼굴 인식 장치(100)(의 제어유닛(170))에 의해 수행되고 바람직하게는 얼굴 인식 프로그램을 로딩하여 얼굴 객체에 대한 신원 인식이 가능하다. 도 7의 제어 흐름은 도 6에 후속하여 바람직하게 수행된다. 도 7의 제어 흐름은 영상 장치(200)에 대응한 얼굴 리스트(131)를 대상으로 이루이진다.
먼저, 얼굴 인식 장치(100)(의 제어유닛(170))는 신원 인식에 이용될 설정 알고리즘을 인식(S501)한다. 본 발명에 따른 얼굴 인식 장치(100)(의 제어유닛(170))는 최대 신뢰도 알고리즘 및/또는 특징 벡터 평균 알고리즘을 이용하여 얼굴 객체의 신원을 인식할 수 있다. 저장유닛(130)에 설정 알고리즘을 나타내는 설정 데이터가 저장되고 얼굴 인식 장치(100)(의 제어유닛(170))는 설정 데이터를 읽어들여 그 값에 따라 특정 하나 또는 둘 중의 하나의 신원 인식 알고리즘에 따라 얼굴 객체에 대응하는 신원을 인식 가능하다.
적어도, 신원 인식 알고리즘은 얼굴 객체에 저장되어 있는 복수의 특징 벡터를 기초로 하여(이용하여) 신원을 인식한다. 각각의 특징 벡터들은 얼굴-히스토리 버퍼의 엔트리들 각각에 맵핑되어 저장되고 일련의 이미지 프레임에서 검출된 얼굴 데이터(얼굴 박스의 이미지 데이터)로부터 추출되는 특징 벡터이다.
설정된 신원 인식 알고리즘이 최대 신뢰도 알고리즘인 경우에(S503), 얼굴 인식 장치(100)(의 제어유닛(170))는 각각의 얼굴 객체에 대해 가장 높은 신뢰도를 가지는 신원을 결정(S505)한다.
구체적으로, 얼굴 인식 장치(100)(의 제어유닛(170))는 각각의 얼굴 객체의 얼굴-히스토리 버퍼에서 가장 높은 신원 신뢰도를 가지는 엔트리를 검색하고 검색된 엔트리의 신원( 정보)을 얼굴 객체의 신원으로 결정한다.
최대 신뢰도 알고리즘이 이용되는 경우, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 객체의 갱신 과정(도 6의 S415)에서, 검출 얼굴로부터 특징 벡터를 추출한 후에 추출된 특징 벡터를 입력으로 하여 얼굴을 분류(예측)한다.
신원 인식을 위한 얼굴 분류는 딥 러닝 (신원) 인식 알고리즘에 따라 이루어지고 예를 들어 SVM(Support Vector Machine)를 통해 이루어진다. SVM은 입력되는 특징 벡터를 저장유닛(130)의 신원 리스트를 분류 카테고리로 적용하여 분류 결과를 출력한다. 분류 결과는 신원 리스트 중 하나의 신원( 정보)을 포함한다. 또한, SVM은 분류 결과의 신뢰도 값을 더 포함할 수 있다. 얼굴 인식 장치(100)(의 제어유닛(170))는 갱신 과정에서 신규의 엔트리에 신원 정보와 함께 신뢰도 값을 저장할 수 있다.
이와 같이, 얼굴 인식 장치(100)(의 제어유닛(170))는 일련의 이미지 프레임들로부터의 특정 얼굴 객체에 대응하는 복수의 특징 벡터들 각각을 이용하여 신원 예측 및 신뢰도값을 산출하고 신원 예측 중 가장 높은 신뢰도를 가지는 신원 예측에 대응하는 특징 벡터의 신원을 얼굴 객체의 신원으로 결정하고 이를 얼굴 객체의 현재 신원으로 저장한다.
최대 신뢰도 알고리즘 대신에 특징 벡터 평균 알고리즘이 신원 인식을 위한 알고리즘으로 이용되는 경우(S507), 얼굴 인식 장치(100)(의 제어유닛(170))는 일련의 이미지 프레임들로부터의 얼굴 객체에 대응하는 복수의 특징 벡터들로부터 평균 특징 벡터를 산출(S509)한다. 예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 객체의 얼굴-히스토리 버퍼의 엔트리들의 특징 벡터들을 평균하여 평균 특징 벡터를 산출할 수 있다.
이후, 얼굴 인식 장치(100)(의 제어유닛(170))는 산출된 평균 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 결정(S511)한다. 예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 산출된 평균 특징 벡터를 입력으로 SVM에 제공하고 신원 리스트를 대상으로 SVM 프로그램에 따른 분류 결과를 인식하고 분류 결과의 신원을 얼굴 객체의 현재 신원으로 인식하여 얼굴 객체에 설정한다.
도 4 내지 도 7에서 알 수 있는 바와 같이, 본 발명은 딥 러닝 알고리즘 외에 얼굴 검출율이 낮으나 고속으로 수행 가능한 얼굴 검출 알고리즘을 혼용하여 얼굴 검출 속도를 높이도록 구성된다. 또한, 본 발명은 고속 얼굴 검출 알고리즘의 낮은 검출율을 얼굴 객체의 히스토리 버퍼를 이용하여 높일 수 있도록 한다.
얼굴-히스토리 버퍼의 크기를 10( 엔트리)으로 하고 매 10 프레임(딥 러닝 수행 주기)마다 딥 러닝 얼굴 검출 알고리즘을 수행하고 10 프레임 중 나머지 9프레임에 대해 HOG 기반의 얼굴 검출 알고리즘을 수행하고 보조적으로 KCF 트래커를 사용하는 경우, Full-HD 영상의 이미지 프레임에 대해 27.50ms 속도로 얼굴 검출과 인식이 가능하였다.
또한, 본 발명은 얼굴 검출율이 0.944 정도를 달성하여 딥 러닝 얼굴 검출 알고리즘만을 이용하는 경우와 동일하거나 유사한 얼굴 검출율을 가지고 있음을 확인하였다.
또한, 얼굴-히스토리 버퍼를 활용하여 얼굴 인식을 하는 경우에, 최대 신뢰도 알고리즘 및 특징 벡터 평균 알고리즘 공히 0.940 정도의 신원 인식률을 가지게 되었다. 이는 통계적 처리(얼굴-히스토리 버퍼)를 이용하지 않는 신원 인식률 대비 약 0.100(10%) 정도의 향상된 결과를 나타내었다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.

Claims (15)

  1. 얼굴 인식 장치에서 수행되는 얼굴 인식 방법으로서,
    이미지 프레임에서 하나 이상의 얼굴을 검출하는 단계;
    검출된 하나 이상의 얼굴 정보를 이용하여 얼굴 리스트의 얼굴 객체를 갱신하는 단계; 및
    갱신된 얼굴 리스트의 얼굴 객체의 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 단계;를 포함하는,
    얼굴 인식 방법.
  2. 제1항에 있어서,
    상기 얼굴을 검출하는 단계는, 상기 이미지 프레임이 지정된 주기에 따른 이미지 프레임인 경우 딥 러닝 얼굴 검출 알고리즘에 따라 상기 이미지 프레임에 대해 얼굴을 검출하고, 상기 이미지 프레임이 지정된 주기에 따른 이미지 프레임이 아닌 경우 HOG(Histogram of Oriented Gradients) 기반 얼굴 검출 알고리즘에 따라 상기 이미지 프레임에 대해 얼굴을 검출하며,
    상기 HOG 기반 얼굴 검출 알고리즘에 따른 얼굴 검출 횟수는 상기 딥 러닝 얼굴 검출 알고리즘에 따른 얼굴 검출 횟수보다 많은,
    얼굴 인식 방법.
  3. 제1항에 있어서,
    상기 얼굴 리스트의 얼굴 객체를 갱신하는 단계는 얼굴 객체와 검출된 얼굴들 사이의 IOU(Intersection over Union) 값을 계산하고 계산된 IOU 값이 임계치 이상인 경우 얼굴 객체의 얼굴 위치를 검출된 얼굴의 위치로 변경하는,
    얼굴 인식 방법.
  4. 제3항에 있어서,
    상기 얼굴 리스트의 얼굴 객체를 갱신하는 단계는 모든 검출된 얼굴들 사이의 계산된 IOU 값들이 임계치 미만인 경우에 얼굴 트래커를 이용하여 얼굴 객체를 추적하고 얼굴 검출 실패 횟수가 지정된 횟수 이상인 경우 상기 얼굴 객체를 얼굴 리스트에서 제거하는,
    얼굴 인식 방법.
  5. 제3항에 있어서,
    상기 얼굴 리스트의 얼굴 객체를 갱신하는 단계는 IOU 값의 계산과 임계치 비교를 통해 검출된 얼굴이 상기 얼굴 리스트의 모든 얼굴 객체에 맵핑되지 못하는 경우 상기 검출된 얼굴을 나타내는 신규의 얼굴 객체를 상기 얼굴 리스트에 생성하는,
    얼굴 인식 방법.
  6. 제3항에 있어서,
    상기 얼굴 리스트의 얼굴 객체를 갱신하는 단계는 얼굴 객체에 대응하는 검출된 얼굴 데이터로부터 특징 벡터를 추출하고 복수의 얼굴 객체에 대응하는 단일의 검출 얼굴이 존재하는 경우 단일의 검출 얼굴 데이터로부터의 특징 벡터와 복수의 얼굴 객체에 대응하는 특징 벡터 사이의 유사도에 따라 복수의 얼굴 객체 중 하나의 얼굴 객체에 검출된 얼굴의 특징 벡터를 맵핑시키는,
    얼굴 인식 방법.
  7. 제1항에 있어서,
    상기 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 단계는 일련의 이미지 프레임들로부터의 얼굴 객체에 대응하는 복수의 특징 벡터들 각각을 이용하여 이루어진 신원 예측 중 가장 높은 신뢰도를 가지는 신원 예측에 대응하는 특징 벡터의 신원을 얼굴 객체의 신원으로 결정하는,
    얼굴 인식 방법.
  8. 제1항에 있어서,
    상기 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 단계는 일련의 이미지 프레임들로부터의 얼굴 객체에 대응하는 복수의 특징 벡터들로부터 평균 특징 벡터를 산출하고 산출된 평균 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는,
    얼굴 인식 방법.
  9. 하나 이상의 이미지 프레임을 수신하는 이미지 수신유닛;
    수신된 이미지 프레임과 인식된 하나 이상의 얼굴 객체를 나타내는 얼굴 리스트를 저장하는 저장유닛; 및
    수신된 이미지 프레임에서 하나 이상의 얼굴을 검출하고 검출된 하나 이상의 얼굴 정보를 이용하여 저장유닛의 얼굴 리스트의 얼굴 객체를 갱신하며 갱신된 얼굴 리스트의 얼굴 객체의 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 제어유닛;을 포함하는,
    얼굴 인식 장치.
  10. 제9항에 있어서,
    하나 이상의 얼굴 검출을 위해, 상기 제어유닛은 상기 이미지 프레임이 지정된 주기에 따른 이미지 프레임인 경우 딥 러닝 얼굴 검출 알고리즘에 따라 상기 이미지 프레임에 대해 얼굴을 검출하고, 상기 이미지 프레임이 지정된 주기에 따른 이미지 프레임이 아닌 경우 상기 제어유닛의 GPU(Graphics Processing Unit)로 가속화된 HOG 기반 얼굴 검출 알고리즘에 따라 상기 이미지 프레임에 대해 얼굴을 검출하며,
    상기 HOG 기반 얼굴 검출 알고리즘에 따른 얼굴 검출 횟수는 상기 딥 러닝 얼굴 검출 알고리즘에 따른 얼굴 검출 횟수보다 많은,
    얼굴 인식 장치.
  11. 제9항에 있어서,
    얼굴 리스트의 얼굴 객체를 갱신하기 위해, 상기 제어유닛은 얼굴 객체와 검출된 얼굴들 사이의 IOU(Intersection over Union) 값을 계산하고 계산된 IOU 값이 임계치 이상인 경우 얼굴 객체의 얼굴 위치를 검출된 얼굴의 위치로 변경하는,
    얼굴 인식 장치.
  12. 제11항에 있어서,
    얼굴 리스트의 얼굴 객체를 갱신하기 위해, 상기 제어유닛은 모든 검출된 얼굴들 사이의 계산된 IOU 값들이 임계치 미만인 경우에 얼굴 트래커를 이용하여 얼굴 객체를 추적하고 얼굴 검출 실패 횟수가 지정된 횟수 이상인 경우 상기 얼굴 객체를 얼굴 리스트에서 제거하는,
    얼굴 인식 장치.
  13. 제11항에 있어서,
    얼굴 리스트의 얼굴 객체를 갱신하기 위해, 상기 제어유닛은 IOU 값의 계산과 임계치 비교를 통해 검출된 얼굴이 상기 얼굴 리스트의 모든 얼굴 객체에 맵핑되지 못하는 경우 상기 검출된 얼굴을 나타내는 신규의 얼굴 객체를 상기 얼굴 리스트에 생성하는,
    얼굴 인식 장치.
  14. 제11항에 있어서,
    얼굴 리스트의 얼굴 객체를 갱신하기 위해, 상기 제어유닛은 얼굴 객체에 대응하는 검출된 얼굴 데이터로부터 특징 벡터를 추출하고 복수의 얼굴 객체에 대응하는 단일의 검출 얼굴이 존재하는 경우 단일의 검출 얼굴 데이터로부터의 특징 벡터와 복수의 얼굴 객체에 대응하는 특징 벡터 사이의 유사도에 따라 복수의 얼굴 객체 중 하나의 얼굴 객체에 검출된 얼굴의 특징 벡터를 맵핑시키는,
    얼굴 인식 장치.
  15. 제9항에 있어서,
    복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하기 위해, 상기 제어유닛은 일련의 이미지 프레임들로부터의 얼굴 객체에 대응하는 복수의 특징 벡터들 각각을 이용하여 이루어진 신원 예측 중 가장 높은 신뢰도를 가지는 신원 예측에 대응하는 특징 벡터의 신원을 얼굴 객체의 신원으로 결정하는,
    얼굴 인식 장치.
PCT/KR2019/013257 2018-10-16 2019-10-10 얼굴 인식 방법 및 얼굴 인식 장치 WO2020080734A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/280,928 US11594073B2 (en) 2018-10-16 2019-10-10 Face recognition method and face recognition device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0123067 2018-10-16
KR1020180123067A KR102177453B1 (ko) 2018-10-16 2018-10-16 얼굴 인식 방법 및 얼굴 인식 장치

Publications (1)

Publication Number Publication Date
WO2020080734A1 true WO2020080734A1 (ko) 2020-04-23

Family

ID=70283493

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/013257 WO2020080734A1 (ko) 2018-10-16 2019-10-10 얼굴 인식 방법 및 얼굴 인식 장치

Country Status (3)

Country Link
US (1) US11594073B2 (ko)
KR (1) KR102177453B1 (ko)
WO (1) WO2020080734A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111832451A (zh) * 2020-07-01 2020-10-27 中国民用航空局信息中心 基于视频数据处理的适航监察流程监管系统及方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6409929B1 (ja) * 2017-09-19 2018-10-24 日本電気株式会社 照合システム
US20230394875A1 (en) * 2021-04-22 2023-12-07 Seoul National University R&Db Foundation Method and device for multi-dnn-based face recognition using parallel-processing pipelines

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070070151A (ko) * 2004-06-21 2007-07-03 구글, 인코포레이티드 단일 이미지 기반의 다중 생체 인식 시스템 및 방법
KR101270351B1 (ko) * 2012-04-03 2013-05-31 조선대학교산학협력단 얼굴 인식을 위한 얼굴 영상 획득 방법 및 장치
KR101297736B1 (ko) * 2013-05-07 2013-08-23 주식회사 파이브지티 얼굴 인식 방법 및 시스템
JP2014021846A (ja) * 2012-07-20 2014-02-03 Canon Inc 顔認識装置及び顔認識方法
KR101835333B1 (ko) * 2017-06-08 2018-03-08 서창영 얼굴 인식 서비스 제공 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001028238A2 (en) * 1999-10-08 2001-04-19 Sarnoff Corporation Method and apparatus for enhancing and indexing video and audio signals
CA2600938A1 (en) * 2004-03-24 2005-10-06 Andre Hoffmann Identification, verification, and recognition method and system
US8064712B2 (en) * 2007-01-24 2011-11-22 Utc Fire & Security Americas Corporation, Inc. System and method for reconstructing restored facial images from video
JP4286292B2 (ja) * 2007-01-30 2009-06-24 三洋電機株式会社 電子カメラ
US8139817B2 (en) * 2007-04-27 2012-03-20 Telewatch Inc. Face image log creation
KR101524516B1 (ko) * 2013-11-29 2015-06-02 전남대학교산학협력단 빈도수 기반의 영상 내 얼굴객체 추적방법
CN104680119B (zh) * 2013-11-29 2017-11-28 华为技术有限公司 图像身份识别方法和相关装置及身份识别系统
CN106709932B (zh) * 2015-11-12 2020-12-04 创新先进技术有限公司 一种人脸位置跟踪方法、装置和电子设备
US9836669B2 (en) * 2016-02-22 2017-12-05 International Business Machines Corporation Generating a reference digital image based on an indicated time frame and searching for other images using the reference digital image
KR101850286B1 (ko) 2017-06-27 2018-04-19 한국기술교육대학교 산학협력단 딥 러닝 기반 cctv용 영상 인식 방법
US11030291B2 (en) * 2018-09-14 2021-06-08 Comcast Cable Communications, Llc Methods and systems for user authentication

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070070151A (ko) * 2004-06-21 2007-07-03 구글, 인코포레이티드 단일 이미지 기반의 다중 생체 인식 시스템 및 방법
KR101270351B1 (ko) * 2012-04-03 2013-05-31 조선대학교산학협력단 얼굴 인식을 위한 얼굴 영상 획득 방법 및 장치
JP2014021846A (ja) * 2012-07-20 2014-02-03 Canon Inc 顔認識装置及び顔認識方法
KR101297736B1 (ko) * 2013-05-07 2013-08-23 주식회사 파이브지티 얼굴 인식 방법 및 시스템
KR101835333B1 (ko) * 2017-06-08 2018-03-08 서창영 얼굴 인식 서비스 제공 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111832451A (zh) * 2020-07-01 2020-10-27 中国民用航空局信息中心 基于视频数据处理的适航监察流程监管系统及方法

Also Published As

Publication number Publication date
KR102177453B1 (ko) 2020-11-11
US20210342577A1 (en) 2021-11-04
KR20200046152A (ko) 2020-05-07
US11594073B2 (en) 2023-02-28

Similar Documents

Publication Publication Date Title
WO2020080734A1 (ko) 얼굴 인식 방법 및 얼굴 인식 장치
WO2019031714A1 (ko) 객체를 인식하는 방법 및 장치
WO2020130309A1 (ko) 영상 마스킹 장치 및 영상 마스킹 방법
WO2016074169A1 (zh) 一种对目标物体的检测方法、检测装置以及机器人
WO2019164232A1 (ko) 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
WO2017069396A1 (ko) 가상 객체의 충돌 체크에 의한 반응형 증강현실 카드 게임의 데이터 처리 방법 및 반응형 증강현실 카드 게임 플레이 장치
WO2013165048A1 (ko) 영상 검색 시스템 및 영상 분석 서버
WO2019225964A1 (en) System and method for fast object detection
WO2021091022A1 (ko) 머신 러닝 시스템 및 머신 러닝 시스템의 동작 방법
WO2018008881A1 (ko) 단말장치 및 서비스서버, 그 장치에 의해 수행되는 진단분석 서비스를 제공하기 위한 방법 및 프로그램과, 그 프로그램이 기록된 컴퓨터 판독 가능 기록매체
WO2020046038A1 (ko) 로봇 및 그의 제어 방법
WO2015137666A1 (ko) 오브젝트 인식 장치 및 그 제어 방법
WO2020207038A1 (zh) 基于人脸识别的人数统计方法、装置、设备及存储介质
WO2022240029A1 (ko) 반려동물 식별 시스템 및 그 방법
WO2019017720A1 (ko) 사생활 보호를 위한 카메라 시스템 및 그 방법
WO2019245320A1 (ko) 이미지 센서와 복수의 지자기 센서를 융합하여 위치 보정하는 이동 로봇 장치 및 제어 방법
WO2015182979A1 (ko) 영상 처리 방법 및 영상 처리 장치
WO2019160325A1 (en) Electronic device and control method thereof
WO2021060721A1 (ko) 전자 장치 및 그의 이미지 처리 방법
WO2022080844A1 (ko) 스켈레톤 분석을 이용한 객체 추적 장치 및 방법
WO2019004531A1 (ko) 사용자 신호 처리 방법 및 이러한 방법을 수행하는 장치
WO2017099292A1 (ko) 물체-행동 관계 모델에 기반한 행동 인식 방법 및 그 장치
WO2020060012A1 (en) A computer implemented platform for providing contents to an augmented reality device and method thereof
WO2022035054A1 (ko) 로봇 및 이의 제어 방법
WO2022039575A1 (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: 19873943

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: 19873943

Country of ref document: EP

Kind code of ref document: A1