WO2021176544A1 - 制御方法、制御プログラムおよび情報処理装置 - Google Patents

制御方法、制御プログラムおよび情報処理装置 Download PDF

Info

Publication number
WO2021176544A1
WO2021176544A1 PCT/JP2020/008809 JP2020008809W WO2021176544A1 WO 2021176544 A1 WO2021176544 A1 WO 2021176544A1 JP 2020008809 W JP2020008809 W JP 2020008809W WO 2021176544 A1 WO2021176544 A1 WO 2021176544A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
person
representative
shooting data
shooting
Prior art date
Application number
PCT/JP2020/008809
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 PCT/JP2020/008809 priority Critical patent/WO2021176544A1/ja
Priority to CN202080097161.0A priority patent/CN115136187A/zh
Priority to EP20923319.6A priority patent/EP4116928A4/en
Priority to JP2022504800A priority patent/JP7231879B2/ja
Publication of WO2021176544A1 publication Critical patent/WO2021176544A1/ja
Priority to US17/880,111 priority patent/US20220383458A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • 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/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • 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/766Arrangements for image or video recognition or understanding using pattern recognition or machine learning using regression, e.g. by projecting features on hyperplanes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • G06V10/993Evaluation of the quality of the acquired pattern
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face
    • 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/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification

Definitions

  • the present invention relates to a control method, a control program, and an information processing device.
  • biometric information may be used to authenticate a person.
  • Biological information is information that indicates the physical or behavioral characteristics of a human being. Physical features include, for example, fingerprints, veins, iris, face and the like. Behavioral features include, for example, handwriting.
  • a machine learning model determines the distance from one or more examples of objects observed during online training to a predetermined decision boundary established during offline training for a classifier. , Configured to update the decision rule as a function of distance.
  • the machine learning model is also configured to classify future examples based on updated decision rules.
  • the information processing device may create representative data corresponding to a person from a plurality of shooting data acquired by a sensor or the like for a person, and authenticate the person based on the representative data.
  • noise may be mixed in each shooting data according to the sensing conditions by the sensor. Therefore, due to the influence of noise mixed in each shooting data, the characteristics of the person may not be properly reflected in the representative data. If the characteristics of the person are not properly reflected in the representative data, the authentication accuracy of the person based on the representative data is lowered.
  • an object of the present invention is to provide a control method, a control program, and an information processing device capable of improving authentication accuracy.
  • a control method is provided.
  • the computer receives a plurality of shooting data of a person, and based on the quality of each of the plurality of shooting data and the number of the plurality of shooting data, weight information indicating the weight applied to each of the plurality of shooting data is obtained.
  • weight information indicating the weight applied to each of the plurality of shooting data is obtained.
  • control program is provided.
  • information processing device is provided.
  • FIG. 1 is a diagram showing a processing example of the information processing apparatus of the first embodiment.
  • the information processing device 10 generates representative data for each person used for person authentication.
  • the representative data is generated based on the photographed data obtained by photographing the biological characteristics of the person.
  • Biological characteristics include physical and behavioral characteristics of a person.
  • Physical features include, for example, fingerprints, veins, iris, face and the like.
  • Behavioral features include, for example, handwriting.
  • the representative data is generated based on a plurality of shooting data acquired for the person at the time of person registration.
  • the shooting data is an image acquired by a sensor such as a camera that shoots using, for example, infrared light or visible light.
  • the information processing device 10 has a storage unit 11 and a processing unit 12.
  • the storage unit 11 may be a volatile storage device such as a RAM (Random Access Memory) or a non-volatile storage device such as an HDD (Hard Disk Drive) or a flash memory.
  • the processing unit 12 may include a CPU (Central Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), and the like.
  • the processing unit 12 may be a processor that executes a program.
  • the "processor” here may also include a set of a plurality of processors (multiprocessor).
  • the storage unit 11 stores information used for processing by the processing unit 12.
  • the storage unit 11 stores a plurality of shooting data of a person previously shot by the sensor and a plurality of quality information corresponding to the plurality of shooting data.
  • the quality information includes an index value indicating the quality of each shooting data.
  • the quality of the shooting data differs depending on the sensing conditions of the shooting data.
  • Factors that affect the quality of shooting data include, for example, in the case of a face image, blurring during shooting, lighting conditions, and tilting of the face with respect to the shooting direction in which a lens such as a camera is pointed (for example, facing sideways). Etc.). Therefore, when targeting a face image, the index value indicating the quality is, for example, the magnitude of the inclination of the face with respect to the shooting direction and the coordinates estimated from the coordinate data of the feature points (eyes, nose, mouth, etc.) of the face. It may be the magnitude of the illumination fluctuation between the two, the magnitude of the blur, and the like. The larger the index value indicating the quality, that is, the better the quality, the smaller the influence of noise on the shooting data. The smaller the index value indicating the quality, that is, the worse the quality, the greater the influence of noise on the shooting data.
  • Quality information is acquired in association with each shooting data and stored in advance in the storage unit 11.
  • the quality information may be generated by the processing unit 12 and stored in the storage unit 11 for each shooting data.
  • the storage unit 11 stores weight information for each shooting data generated by the processing unit 12 and representative data of a person.
  • the processing unit 12 receives a plurality of shooting data of a person, and generates weight information indicating a weight applied to each of the plurality of shooting data based on the quality of each of the plurality of shooting data and the number of the plurality of shooting data.
  • the processing unit 12 calculates representative data representing a plurality of shooting data from a plurality of shooting data, the smaller the weight indicated by the generated weight information, the more the influence of each of the plurality of shooting data on the calculation result of the representative data. Apply an algorithm that reduces.
  • the storage unit 11 stores the shooting data group 20 and the quality information group 30 corresponding to the shooting data group 20 for a certain person.
  • the shooting data 21 is shooting data included in the shooting data group 20.
  • the quality information 31 is an index value indicating the quality corresponding to the shooting data 21 included in the quality information group 30.
  • the processing unit 12 generates a weight information group 40 for the shooting data group 20.
  • the weight information 41 is information indicating the weight corresponding to the shooting data 21.
  • the processing unit 12 generates the weight information group 40 as follows.
  • the processing unit 12 compares the number of a plurality of shooting data of a certain person with a threshold value, and selects a weight calculation method for each person according to the comparison.
  • the processing unit 12 makes the weights of the plurality of shooting data of the person the same. This is because the larger the number of samples, the less the influence of noise when generating representative data.
  • the processing unit 12 increases the weight of the shooting data as the quality of the shooting data is better. Further, the processing unit 12 reduces the weight of the shooting data as the quality of the shooting data deteriorates. This is because the better the quality, the smaller the influence of noise, and it is highly possible that the characteristics of the person in question are properly reflected in the shooting data.
  • the processing unit 12 may determine the magnitude of the influence of the quality on the weight according to the ratio R1 to the threshold value of the number of the plurality of photographed data. For example, it is conceivable that the larger the ratio R1 is, the smaller the influence of quality on the weight is, and the smaller the ratio R1 is, the larger the influence of quality is on the weight. This is because the smaller the ratio R1, the more easily the representative data of the person concerned is affected by noise.
  • the processing unit 12 has a large influence on the weight according to the ratio R2 of the number of shooting data having a quality worse than a predetermined quality among the plurality of shooting data to the number of the plurality of shooting data. May be determined. For example, it is conceivable that the processing unit 12 reduces the influence of quality on the weight as the ratio R2 is smaller, and increases the influence of quality on the weight as the ratio R2 is larger. This is because the larger the ratio R2, the more easily the representative data of the person concerned is affected by noise.
  • the processing unit 12 uses a vector obtained by weighting and averaging the feature vectors indicating the characteristics of each shooting data of the person concerned by the weight of the shooting data as the representative data 50 of the person concerned. Then, the smaller the weight indicated by the weight information, the smaller the influence of the shooting data on the calculation result of the representative data 50.
  • the processing unit 12 estimates the noise component included in the feature amount by using the regression model of the feature amount of the shooting data and the index value indicating the quality.
  • the feature amount is one element of the feature vector of the shooting data.
  • the quality in this case is represented by a vector having a plurality of index values.
  • the regression model may be generated based on, for example, a plurality of shooting data obtained for a plurality of persons, or may be generated based on a plurality of shooting data of the person concerned. In the generation of the regression model, the number of multiple shot data of the person concerned is used.
  • the processing unit 12 calculates the weight corresponding to the shooting data or the weighted feature amount for each element of the feature vector of the shooting data by subtracting the estimated noise component from the feature amount. That is, in the second example, the weight corresponding to the captured data or the weighted feature amount is obtained as a vector (referred to as a weight vector or a weighted feature vector). In this case, the processing unit 12 uses, for example, a vector obtained by averaging the weighted feature vectors obtained for each shooting data of the person as the representative data 50 of the person.
  • the element having a larger value is a component having a larger weight, that is, a component having a smaller influence of noise, and the influence on the element of the representative data 50 corresponding to the element becomes larger.
  • the smaller the value of the element the smaller the weight, that is, the component having a large influence of noise, and the influence on the element of the representative data 50 corresponding to the element becomes small.
  • a plurality of photographed data of a person is accepted. Based on the quality of each of the plurality of shooting data and the number of the plurality of shooting data, weight information indicating the weight applied to each of the plurality of shooting data is generated.
  • representative data representing a plurality of shooting data is calculated from a plurality of shooting data, the smaller the weight indicated by the generated weight information, the smaller the influence of each of the plurality of shooting data on the calculation result of the representative data. Is applied.
  • the authentication accuracy can be improved.
  • noise corresponding to the sensing conditions by the sensor may be mixed in each shooting data used for generating the representative data. Therefore, due to the influence of noise mixed in each shooting data, the characteristics of the person may not be properly reflected in the representative data. If the characteristics of the person are not properly reflected in the representative data, the authentication accuracy of the person based on the representative data is lowered. It is conceivable to exclude the shooting data, which is relatively affected by noise, from the sample for learning the representative data, but since the number of samples affects the accuracy of the representative data, it is necessary to maintain the number of samples as much as possible. preferable.
  • the information processing device 10 obtains a weight for each shooting data based on the quality of each shooting data and the number of a plurality of shooting data, and adjusts the influence of each shooting data on the representative data according to the weight. That is, the information processing apparatus 10 calculates the representative data of the feature vector or feature amount of the photographing data, which is estimated to be less affected by noise, so as to approach the feature vector or feature amount. As a result, it is possible to generate representative data utilizing the amount of data while reducing the influence of noise. As a result, the biological characteristics of the person can be appropriately reflected in the representative data, and the authentication accuracy of the person based on the representative data can be improved.
  • the information processing device 10 when the information processing device 10 authenticates a certain person, the information processing device 10 collates the feature vector of the shooting data acquired for the person with the representative data of each person stored in the storage unit 11. The person can be properly authenticated.
  • the information processing apparatus 10 classifies each representative data into a plurality of clusters by a clustering method such as a K-means method (K-means method) based on a plurality of representative data of a plurality of persons, and is a cluster representative of each cluster. You may ask for the data.
  • K-means method K-means method
  • the information processing apparatus 10 collates the feature vector of the shooting data acquired for the person with the cluster representative data to represent the person to be collated with the feature vector. Data can be narrowed down. In this way, even when each representative data is classified by clustering, since the biological characteristics of each person are appropriately reflected in the representative data, highly accurate clustering can be performed. In addition, the accuracy of narrowing down the representative data to be collated can be improved by the cluster. As a result, the authentication accuracy of the person can be improved.
  • K-means method K-means method
  • FIG. 2 is a diagram showing an example of the information processing system of the second embodiment.
  • the information processing system of the second embodiment has a server 100 and clients 200 and 300.
  • the server 100 and the clients 200 and 300 are connected via the network 60.
  • the network 60 may be, for example, a LAN (Local Area Network), the Internet, or a WAN (Wide Area Network).
  • the server 100 is a server computer that provides a function of performing biometric authentication of a person who uses an information processing system, that is, a user.
  • the server 100 performs face authentication based on the photographed data of the user's face, that is, the face image.
  • the captured data used for authentication is not limited to the face image, and may be another type of image representing the biological characteristics of the user.
  • the captured data may be an image of a fingerprint, a vein, an iris, or another part or organ of the body, or an image of a handwriting.
  • the photographed data such as the user's face used for authentication may be referred to as biometric data because it represents the biometric characteristics of the user.
  • the server 100 is an example of the information processing device 10 of the first embodiment.
  • Clients 200 and 300 are client computers used by users.
  • the clients 200 and 300 have cameras 201 and 301, respectively.
  • Cameras 201 and 301 have built-in image sensors such as CCD (Charged-Coupled Devices) and CMOS (Complementary Metal-Oxide-Semiconductor), and capture the faces of users who operate clients 200 and 300 to generate shooting data. do.
  • the clients 200 and 300 use the predetermined functions in the clients 200 and 300, the clients 200 and 300 request the server 100 to perform face authentication based on the shooting data taken by the cameras 201 and 301, respectively, and only the user who has succeeded in the authentication can use the functions. Allow.
  • login to the OS (Operating System) and other applications in the clients 200 and 300 can be considered.
  • functions such as login to various services provided by a Web server or application server (not shown) that communicates with the clients 200 and 300 and payment provided by the Web server can be considered.
  • the clients 200 and 300 may be smart devices such as smartphones and tablet terminals. Further, the clients 200 and 300 are not limited to general-purpose computers, but have functions such as an ATM (Automated Teller Machine), a POS (Point Of Sale) terminal, a vending machine, an electronic lock for controlling a door lock, and an entry / exit management device. It may be a computer for a specific purpose that involves personal authentication to provide the above.
  • FIG. 3 is a diagram showing an example of server hardware.
  • the server 100 includes a CPU 101, a RAM 102, an HDD 103, an image signal processing unit 104, an input signal processing unit 105, a medium reader 106, and a NIC (Network Interface Card) 107.
  • the CPU 101 is an example of the processing unit 12 of the first embodiment.
  • the RAM 102 or the HDD 103 is an example of the storage unit 11 of the first embodiment.
  • the CPU 101 is a processor that executes program instructions.
  • the CPU 101 loads at least a part of the programs and data stored in the HDD 103 into the RAM 102 and executes the program.
  • the CPU 101 may include a plurality of processor cores.
  • the server 100 may have a plurality of processors. The processes described below may be performed in parallel using multiple processors or processor cores. Also, a set of multiple processors may be referred to as a "multiprocessor" or simply a "processor".
  • the RAM 102 is a volatile semiconductor memory that temporarily stores a program executed by the CPU 101 and data used by the CPU 101 for calculation.
  • the server 100 may include a type of memory other than RAM, or may include a plurality of memories.
  • HDD 103 is a non-volatile storage device that stores software programs such as OS, middleware, and application software, and data.
  • the server 100 may be provided with other types of storage devices such as a flash memory and an SSD (Solid State Drive), or may be provided with a plurality of non-volatile storage devices.
  • the image signal processing unit 104 outputs an image to the display 111 connected to the server 100 in accordance with a command from the CPU 101.
  • the display 111 any kind of display such as a CRT (Cathode Ray Tube) display, a liquid crystal display (LCD: Liquid Crystal Display), a plasma display, and an organic EL (OEL: Organic Electro-Luminescence) display can be used.
  • the input signal processing unit 105 acquires an input signal from the input device 112 connected to the server 100 and outputs it to the CPU 101.
  • a pointing device such as a mouse, a touch panel, a touch pad, or a trackball, a keyboard, a remote controller, a button switch, or the like can be used.
  • a plurality of types of input devices may be connected to the server 100.
  • the medium reader 106 is a reading device that reads programs and data recorded on the recording medium 113.
  • the recording medium 113 for example, a magnetic disk, an optical disk, a magneto-optical disk (MO: Magneto-Optical disk), a semiconductor memory, or the like can be used.
  • the magnetic disk includes a flexible disk (FD: Flexible Disk) and an HDD.
  • Optical discs include CDs (Compact Discs) and DVDs (Digital Versatile Discs).
  • the medium reader 106 copies, for example, a program or data read from the recording medium 113 to another recording medium such as the RAM 102 or the HDD 103.
  • the read program is executed by, for example, the CPU 101.
  • the recording medium 113 may be a portable recording medium, and may be used for distribution of programs and data. Further, the recording medium 113 and the HDD 103 may be referred to as a computer-readable recording medium.
  • NIC107 is an interface that is connected to the network 60 and communicates with other computers via the network 60.
  • the NIC 107 is connected to a communication device such as a switch or a router by a cable.
  • the server 100 may have a built-in camera or may be connected to the camera, and may authenticate the user of the server 100.
  • the server 100 can be connected to a camera installed in a facility such as a store to authenticate a user who has visited the facility or identify the user.
  • FIG. 4 is a diagram showing a functional example of the server.
  • the server 100 has a storage unit 120, a control unit 130, a shooting data processing unit 140, a quality calculation unit 150, a person representative vector calculation unit 160, a cluster representative vector calculation unit 170, and an authentication unit 180.
  • the storage area of the RAM 102 or the HDD 103 is used for the storage unit 120.
  • the control unit 130, the shooting data processing unit 140, the quality calculation unit 150, the person representative vector calculation unit 160, the cluster representative vector calculation unit 170, and the authentication unit 180 are realized by a program.
  • the storage unit 120 stores a plurality of shooting data acquired in advance for each of the plurality of users.
  • the plurality of shooting data stored in advance in the storage unit 120 may be those generated by the cameras 201 and 301.
  • the server 100 collects the plurality of shooting data in advance from the clients 200 and 300 and stores them in the storage unit 120.
  • Each shooting data is associated with a user ID (IDentifier), which is user identification information.
  • the storage unit 120 stores the learning data table, the person representative data table, and the cluster representative data table.
  • the learning data table is a table in which learning data is registered.
  • the training data is used to generate person representative data.
  • the person representative data is information that is generated based on a plurality of shooting data stored in advance in the storage unit 120 and registered in the server 100 prior to the authentication of the user.
  • the learning data includes a feature vector and a quality value for each photographed data of the user.
  • the feature vector is a vector having a plurality of feature quantities as elements.
  • the quality value is an index value indicating the quality of the shooting data.
  • the quality of the shooting data varies depending on the sensing conditions of the shooting data. Factors that affect the quality of shooting data include blurring during shooting, lighting conditions, and the inclination of the face with respect to the shooting direction in which the lens such as the camera is pointed (for example, facing sideways). .. The larger the quality value, the better or higher the quality of the shooting data. The smaller the quality value, the poorer or lower the quality of the shooting data.
  • the person representative data table is a table in which person representative data is registered.
  • the person representative data is one representative data corresponding to the user based on a plurality of learning data for each user.
  • the person representative data is a vector having the same number of dimensions as the feature vector of the shooting data.
  • the person representative data may be referred to as a person representative vector.
  • the cluster representative data table is a table in which cluster representative data is registered.
  • the cluster representative data is one representative data corresponding to the cluster.
  • a cluster is a group of multiple person representative data. There are multiple clusters. One person representative data belongs to one cluster.
  • the cluster representative data is used to narrow down the person representative data to be collated at the time of authentication.
  • the cluster representative data is a vector having the same number of dimensions as the feature vector of the shooting data.
  • the cluster representative data may be referred to as a cluster representative vector.
  • the control unit 130 controls the operations of the shooting data processing unit 140, the quality calculation unit 150, the person representative vector calculation unit 160, the cluster representative vector calculation unit 170, and the authentication unit 180.
  • the shooting data processing unit 140 generates a feature vector for the shooting data based on the shooting data stored in the storage unit 120.
  • the feature vector reflects, for example, features according to the positions of eyes, nose, mouth, etc. on the face of the user. An existing method can be used to generate the feature vector for the face image.
  • the shooting data processing unit 140 associates the feature vector generated for the shooting data with the user ID and registers it in the learning data table stored in the storage unit 120.
  • the quality calculation unit 150 evaluates the quality of the shooting data stored in the storage unit 120 and generates a quality value for the shooting data.
  • the quality value is information acquired from the shooting data independently of the feature vector. For example, when targeting a face image, the quality value is the magnitude of the inclination of the face with respect to the shooting direction estimated from the coordinate data of the feature points of the face (eyes, nose, mouth, etc.) and the illumination variation between the coordinates.
  • the size of the blur and the size of the blur.
  • the size of the blur indicates the size of the blur at the time of shooting. It is presumed that the quality value represented by the magnitude of the inclination of the face, the magnitude of the illumination fluctuation, and the magnitude of the blur is correlated with the noise mixed in the shooting data or the feature vector.
  • the quality calculation unit 150 registers the quality value generated for the shooting data in the learning data table stored in the storage unit 120 in association with the user ID and the feature vector of the shooting data.
  • the person representative vector calculation unit 160 calculates the person representative vector based on the learning data for each user.
  • the person representative vector calculation unit 160 selects a method for calculating the person representative vector according to the number of shooting data obtained for the corresponding user.
  • ⁇ S ⁇ be the entire set of users for which a sample of shooting data is obtained.
  • S be the total number of elements in the set ⁇ S ⁇ , that is, the total number of users.
  • the users belonging to the set ⁇ S ⁇ are represented by s.
  • the person representative vector calculation unit 160 compares the number N s of shooting data obtained for the corresponding user s with the threshold value T. Let a set of users with N s ⁇ T be a person subset Su. Let a set of users N s ⁇ T be a person subset Sl.
  • People representative vector calculation unit 160 For the user s that belong to the person subset Su, People representative vector calculation unit 160, by Equation (1), we obtain a person representative vector Hu s user s.
  • X s n is a feature vector of the nth shooting data of the user s.
  • People representative vector Hu s is the average of the feature vectors corresponding to the user s.
  • the person representative vector calculation unit 160 obtains the person representative vector Hl s of the user s by the equation (2).
  • W s n is the weight of the nth shooting data of the user s.
  • People representative vector Hl s is the weighted average of the feature vectors for the user s.
  • W s n is represented by, for example, equation (3).
  • Q s n is the quality value of the nth shooting data of the user s.
  • the quality value is represented by a real number. According to equation (3), as the number N s of the imaging data of the user s is small, the influence of the quality value Q s n for the weight W s n increases. Further, the larger the quality value Q s n , the larger the weight W s n , and the smaller the quality value Q s n , the smaller the weight W s n .
  • the person representative vector calculation unit 160 associates the person representative vector calculated for each user with the user ID and registers it in the person representative data table stored in the storage unit 120.
  • the cluster representative vector calculation unit 170 classifies a plurality of person representative vectors registered in the person representative data table into a plurality of clusters, and obtains a cluster representative vector for each cluster.
  • the K-means method can be used as a method of classifying a plurality of person representative vectors into a plurality of clusters and obtaining a cluster representative vector of each cluster.
  • the cluster representative vector calculation unit 170 divides a plurality of person representative vectors into a plurality of clusters by the K-means method as follows.
  • the cluster representative vector calculation unit 170 randomly divides a plurality of person representative vectors into a predetermined number of clusters and obtains the center of gravity of each cluster.
  • the center of gravity of the cluster is the average value of the coordinates of the feature space indicated by each person representative vector belonging to the cluster.
  • the cluster representative vector calculation unit 170 reassigns each person representative vector to the center of gravity at the shortest distance from the person representative vector, and recalculates the center of gravity of each cluster.
  • the cluster representative vector calculation unit 170 repeatedly executes this process to correct the center of gravity of each cluster.
  • the cluster representative vector calculation unit 170 determines the center of gravity of each cluster, for example, when there is no change in the allocation of the person representative vectors to the clusters or when the number of person representative vectors whose assignments are changed is less than or equal to a predetermined number. do.
  • the person representative vector assigned to each cluster at the time of determination is the person representative vector classified into the cluster.
  • the center of gravity of each cluster is the cluster representative vector.
  • the cluster representative vector calculation unit 170 may classify a plurality of person representative vectors into a plurality of clusters by, for example, another clustering method such as a Gaussian Mixture Model (GMM).
  • GMM Gaussian Mixture Model
  • the cluster representative vector calculation unit 170 stores the calculated cluster representative vector and the user ID corresponding to the person representative vector classified into the cluster represented by the cluster representative vector in the cluster representative data table stored in the storage unit 120. to register.
  • the authentication unit 180 performs face authentication based on the authentication request received from the clients 200 and 300.
  • the authentication request includes shooting data obtained by shooting the face of the user to be authenticated.
  • the authentication unit 180 acquires a feature vector for the shooting data from the shooting data processing unit 140, and collates the acquired feature vector with the cluster representative vector in the cluster representative data table stored in the storage unit 120.
  • the authentication unit 180 collates the feature vector with the cluster representative vector based on the similarity between the feature vector and the cluster representative vector. For the similarity, for example, the distance between the point corresponding to the feature vector in the feature space and the point corresponding to the cluster representative vector is used.
  • the authentication unit 180 identifies the cluster representative vector having the closest distance to the feature vector among the cluster representative vectors registered in the cluster representative data table.
  • the authentication unit 180 may specify two or more predetermined number of cluster representative vectors by giving priority to those having a distance close to the feature vector. By collating with the cluster representative vector, the person representative vector to be collated can be narrowed down.
  • the authentication unit 180 acquires the person representative vector of the user ID classified into the specified cluster representative vector from the person representative data table and collates it with the feature vector. For example, the authentication unit 180 collates the feature vector with the person representative vector based on the degree of similarity between the feature vector and the person representative vector. For the similarity, for example, the distance between the point corresponding to the feature vector in the feature space and the point corresponding to the person representative vector is used. That is, the authentication unit 180 determines whether or not there is a person representative vector whose distance from the feature vector is equal to or less than a predetermined value.
  • the authentication unit 180 determines that the user who operates the client 200 is the user corresponding to the person representative vector, and determines that the authentication is successful. .. Then, the authentication unit 180 responds to the client 200 that the authentication is successful. On the other hand, if there is no person representative vector whose distance from the feature vector is equal to or less than a predetermined value, the authentication unit 180 determines that the user who operates the client 200 is not a registered user, and fails the authentication. The authentication unit 180 responds to the client 200 with an authentication failure.
  • the authentication unit 180 also performs the same authentication process as described above for the authentication request received from the client 300.
  • the functions of the shooting data processing unit 140 and the quality calculation unit 150 may be provided in the clients 200 and 300.
  • the server 100 may collect each record of the learning data table 121 from the clients 200 and 300. Further, the server 100 may acquire the feature vector for the photographed data of the user to be authenticated from the clients 200 and 300 together with the authentication request.
  • FIG. 5 is a diagram showing an example of a learning data table.
  • the training data table 121 includes items of user ID, feature vector and quality value.
  • the user ID is registered in the user ID item.
  • the feature vector of the shooting data is registered in the feature vector item.
  • the learning data table 121 records of the user ID "UID1", the feature vector "X 1 1 ", and the quality value "Q 1 1 " are registered. This record indicates that the feature vector for the first shooting data of the user with the user ID “UID1” is “X 1 1 " and the quality value is "Q 1 1 ".
  • a record of a feature vector and a quality value for other shooting data for the user with the user ID “UID1” is also registered.
  • records of feature vectors and quality values for each shooting data are registered for other users.
  • FIG. 6 is a diagram showing an example of a person representative data table.
  • the person representative data table 122 includes items of a user ID and a person representative vector.
  • the user ID is registered in the user ID item.
  • the person representative vector is registered in the item of the person representative vector.
  • the person representative data table 122 For example, the person representative data table 122, the record of the user ID "UID1" and the person representative vector "Hu 1" is registered. This record indicates that a person representative vector of the user of the user ID "UID1" is "Hu 1".
  • FIG. 7 is a diagram showing an example of a cluster representative data table.
  • the cluster representative data table 123 includes the items of the cluster representative vector and the user ID.
  • the cluster representative vector is registered in the cluster representative vector item.
  • the user ID item the user ID of the person representative vector classified into the cluster corresponding to the corresponding cluster representative vector is registered.
  • cluster representative data table 123 a record in which the cluster representative vector is "C1" and the user ID is "UID1, UID3, " Is registered. This record indicates that the user IDs classified into the clusters of the cluster representative vector "C1" are “UID1, UID3, ".
  • cluster representative data table 123 a set of user IDs classified into the cluster representative vector is registered for the other cluster representative vectors.
  • the processing procedure of the server 100 will be described. First, the procedure for generating the person representative vector and the procedure for generating the cluster representative vector by the server 100 will be illustrated.
  • FIG. 8 is a flowchart showing an example of generating a person representative vector.
  • the person representative vector calculation unit 160 executes the following procedure for each user. (S10) The person representative vector calculation unit 160 determines for the user s whether or not the number N s of shooting data per user is equal to or greater than the threshold value T, that is, N s ⁇ T. When N s ⁇ T, the person representative vector calculation unit 160 proceeds to step S11. When N s ⁇ T, the person representative vector calculation unit 160 proceeds to step S12.
  • the person representative vector calculation unit 160 acquires a feature vector set generated for imaging data of the user s ⁇ X s n ⁇ from the learning data table 121 by the photographing data processing unit 140. Then, the person representative vector calculation unit 160, based on equation (1), to calculate a person representative vector Hu s for the user s.
  • the feature vector for the shooting data of the user s may be registered in advance in the learning data table 121.
  • the quality calculation unit 150 calculates a quality value for each shooting data of the user s.
  • the quality value is the magnitude of the inclination of the face with respect to the shooting direction, the magnitude of the illumination fluctuation between the coordinates, and the blur, which are estimated from the coordinate data of the feature points of the face (eyes, nose, mouth, etc.). It is calculated by the existing method.
  • the quality value may be a value obtained by a predetermined function from a combination of two or more index values such as the magnitude of facial inclination, the magnitude of lighting fluctuation, and the magnitude of blur.
  • the quality calculation unit 150 registers the calculated quality value in the learning data table 121.
  • the quality calculation unit 150 may generate quality values for each shooting data in advance and register them in the learning data table 121. In that case, the person representative vector calculation unit 160 may skip step S12 and execute step S13.
  • the person representative vector calculation unit 160 acquires a feature vector set generated for imaging data of the user s ⁇ X s n ⁇ from the learning data table 121 by the photographing data processing unit 140. People representative vector calculation unit 160 obtains a quality value set generated for the captured data of the user s ⁇ Q s n ⁇ from the learning data table 121 by the quality calculation unit 150. The person representative vector calculation unit 160 calculates a weight set ⁇ W s n ⁇ based on the equation (3). Then, the person representative vector calculation unit 160, based on equation (2), to calculate a person representative vector Hl s for the user s. The feature vector for the shooting data of the user s may be registered in advance in the learning data table 121. People representative vector calculation unit 160, a person representative vector Hl s, in association with the user ID of the user s, registers the person representative data table 122. Then, the person representative vector calculation unit 160 ends the generation of the person representative vector for the user s.
  • FIG. 9 is a flowchart showing an example of cluster representative vector generation.
  • the cluster representative vector calculation unit 170 clusters the person representative vectors of each user. For clustering, the above-mentioned methods such as K-means method and GMM can be used. The cluster representative vector calculation unit 170 calculates the cluster representative vector of each cluster by clustering, and classifies the person representative vector of each user into each cluster.
  • the cluster representative vector calculation unit 170 registers the cluster representative vector together with the belonging user ID in the cluster representative data table 123. Then, the cluster representative vector calculation unit 170 ends the cluster representative vector generation.
  • FIG. 10 is a flowchart showing an example of authentication.
  • the authentication unit 180 acquires the feature vector acquired from the shooting data included in the authentication request received from the client 200 from the shooting data processing unit 140.
  • the authentication request received from the client 200 may include a feature vector corresponding to the shooting data shot by the camera 201 of the client 200.
  • the authentication unit 180 may acquire the feature vector included in the authentication request.
  • the authentication unit 180 identifies a cluster representative vector having a high degree of similarity to the feature vector acquired in step S30 from the cluster representative vectors registered in the cluster representative data table 123.
  • the authentication unit 180 may specify the cluster representative vector closest to the feature vector, or may preferentially specify a predetermined number of cluster representative vectors having the closest distance.
  • the authentication unit 180 collates the person representative vector belonging to the specified cluster with the feature vector acquired in step S30. For example, the authentication unit 180 identifies the user ID corresponding to the cluster representative vector identified in step S31 from the cluster representative data table 123. Then, the authentication unit 180 extracts the person representative vector corresponding to the user ID from the person representative data table 122 and collates it with the feature vector.
  • step S33 The authentication unit 180 determines whether or not the authentication is successful based on the collation result in step S32. If the authentication is successful, the authentication unit 180 proceeds to step S34. If the authentication fails, the authentication unit 180 proceeds to step S35. For example, as a result of the collation in step S32, if there is a person representative vector whose similarity with the feature vector, that is, the distance is equal to or less than a predetermined value, the authentication unit 180 determines that the authentication is successful. On the other hand, as a result of the collation in step S32, if there is no person representative vector whose distance from the feature vector is equal to or less than a predetermined value, the authentication unit 180 determines that the authentication has failed.
  • the authentication unit 180 responds to the client 200 with successful authentication.
  • the authentication unit 180 may transmit the user ID of the user who has succeeded in authentication and information about the user to the client 200 or another computer.
  • the authentication unit 180 may record the user ID of the user who has succeeded in authentication in a log or the like. Then, the authentication unit 180 ends the authentication process.
  • the authentication unit 180 responds to the client 200 with an authentication failure.
  • the authentication unit 180 may record that the authentication has failed in a log or the like. Then, the authentication unit 180 ends the authentication process.
  • the authentication unit 180 may authenticate using the person representative vector calculated by the person representative vector calculation unit 160 from a plurality of shooting data acquired for the user to be authenticated. Also in this case, the person representative vector calculation unit 160 can calculate the person representative vector for the user to be authenticated by using the equations (1), (2), and (3).
  • the person representative data based on the information acquired by a sensor such as a camera is classified according to the degree of similarity, that is, by clustering, the person representative data to be collated is obtained. It is possible to narrow down and search the person representative data at high speed.
  • clustering of person representative data it will be important in the future to construct a classifier in which feature data and person representative data obtained from shooting data of the same person belong to the same cluster.
  • the representative points of the cluster are obtained based on the given learning data.
  • clustering the person representative data it is classified into a cluster in which a representative point having the best similarity with the person representative data exists.
  • noise corresponding to fluctuations is added to the shooting data that is the basis of the person representative data depending on the sensing conditions by a sensor such as a camera. Therefore, different data obtained from the same user at different timings (registered data for the user and collation data to be collated with the registered data) are classified into different clusters due to the influence of noise at each timing. This will reduce the accuracy of the search.
  • the noise mixed in the shooting data acts on the feature amount and perturbs the ideal feature amount when no noise is mixed.
  • learning data consisting of a plurality of shooting data samples for each of a plurality of users is used in order to consider the influence of noise mixed in the shooting data. That is, the statistical property of the influence of noise is modeled by using the shooting data including the influence of various noises.
  • the larger the number of users and the number of samples for each user, that is, the number of shooting data the more the influence of noise in each sample is canceled by, for example, averaging, and the accuracy of the clustering model is improved.
  • the server 100 of the second embodiment first calculates a person representative vector representing the user from the statistical properties of the sample by using a sample of a plurality of shooting data of each user included in the learning data.
  • the server 100 performs clustering according to the degree of similarity of users by constructing a cluster based on the similarity of person representative vectors.
  • a user with a relatively small number of samples is likely to be affected by noise of the feature amount, and there is a high possibility that the person representative vector deviates from the true value.
  • biometric authentication it may be possible to acquire the quality value of the photographed data itself from the photographed data independently of the feature amount.
  • the quality values include the magnitude of face tilt estimated from the coordinate data of facial feature points (eyes, nose, mouth, etc.), the magnitude of lighting fluctuation, and the blur.
  • An index value indicating the size of is conceivable.
  • the server 100 considers that the feature amount having a good quality value is less affected by noise, and calculates the person representative vector so as to approach the feature amount. As a result, it is possible to construct a clustering model that utilizes the amount of data while reducing the influence of noise.
  • the accuracy of the cluster representative vector obtained based on the person representative vector is improved.
  • the possibility that different biometric data obtained from the same user will be classified into different clusters can be reduced. Therefore, at the time of authentication, it becomes possible to appropriately narrow down the registered data to be collated with the collated data by the cluster, and the authentication accuracy is improved.
  • the weight W s n using the quality value Q s n is obtained according to the ratio (N s / T) of the number N s of the number of shooting data acquired to the user s to the threshold value T. I made it.
  • other examples can be considered for the method of calculating the weight based on the quality of each shooting data and the number of shooting data.
  • (N s / T) in the equation (3) may be replaced with (1- (m / N s)).
  • the server 100 of the third embodiment has the same hardware and functions as the server 100 of the second embodiment. However, in the third embodiment, the procedure for generating the person representative vector by the person representative vector calculation unit 160 of the server 100 is different from that in the second embodiment.
  • the quality value Q s n is, for example, the magnitude of the inclination of the face with respect to the photographing direction, a plurality of index values, such as size and blur size of the illumination variation between coordinates Is represented by a vector containing as an element (called a quality vector).
  • the feature vector X s n is a feature vector of the n-th captured data s-th user (the user s).
  • s is an integer of 1 ⁇ s ⁇ S.
  • n is an integer of 1 ⁇ n ⁇ Ns.
  • FIG. 11 is a flowchart showing an example of generating a person representative vector according to the third embodiment.
  • the person representative vector calculation unit 160 generates a regression model of the feature vector and the quality vector of all the shooting data of all the users obtained as a sample. Specifically, the person representative vector calculation unit 160 obtains the conversion formula F (X s n ) of the formula (4) for all the pairs of the feature vector and the quality vector.
  • Conversion by conversion equation F (X s n) may be, for example, a linear transformation of Equation (5).
  • Equation (5) is also called a regression equation.
  • the conversion coefficients A and B are matrices or vectors, respectively.
  • the person representative vector calculation unit 160 determines the conversion coefficients A and B so as to minimize the total e of the conversion errors of the equation (6) obtained from all the pairs of the feature vector and the quality vector.
  • N s is the number of shooting data acquired for the user s.
  • the person representative vector calculation unit 160 determines for the user s whether or not the number N s of shooting data per user is equal to or greater than the threshold value T, that is, N s ⁇ T. When N s ⁇ T, the person representative vector calculation unit 160 proceeds to step S42. When N s ⁇ T, the person representative vector calculation unit 160 proceeds to step S43.
  • the person representative vector calculation unit 160 acquires a feature vector set of imaging data of the user s ⁇ X s n ⁇ from the learning data table 121. Then, the person representative vector calculation unit 160, based on equation (1), to calculate a person representative vector Hu s for the user s. People representative vector calculation unit 160, a person representative vector Hu s, in association with the user ID of the user s, registers the person representative data table 122. Then, the person representative vector calculation unit 160 ends the generation of the person representative vector for the user s.
  • the person representative vector calculation unit 160 acquires a feature vector set of imaging data of the user s ⁇ X s n ⁇ from the learning data table 121. Then, the person representative vector calculation unit 160 removes the influence of noise from each component of the feature vector of each shooting data of the user s based on the regression model. That is, a person representative vector calculation unit 160, by the equation (7), vector after the removal of noise effects (X ') to generate a s n.
  • each element of the vector (X') s n represents the weight of each element of the feature vector X s n. That is, each element of the vector (X ') s n is an example of the weight of the first embodiment. Alternatively, it can be said that each element of the vector (X') s n represents a weighted feature amount that reflects the weight of each element of the feature vector X s n.
  • the person representative vector Hl s represented by the equation (8) is the average of the vectors (X') s n. That is, one component of the person representative vector Hl s is the average of the corresponding components of the vector (X') s n.
  • People representative vector calculation unit 160 a person representative vector Hl s, in association with the user ID of the user s, registers the person representative data table 122. Then, the person representative vector calculation unit 160 ends the generation of the person representative vector for the user s.
  • the person representative vector calculation unit 160 repeatedly executes steps S41 to S44 for each user when generating a person representative vector for a plurality of users.
  • the server 100 generates the cluster representative vector and authenticates the user in the same manner as in the second embodiment.
  • the influence of noise on each element of the feature vector of the photographing data is reflected in the conversion coefficients A and B of the equation (5). Therefore, the noise component representing the effect of the noise, as shown by F -1 second term on the right side of the equation (7) (Q s n) , is estimated in accordance with the quality value.
  • the server 100 makes the influence of the feature amount on the person representative vector large for the feature amount to which the influence of noise is small. Further, the server 100 makes the influence of the feature amount on the person representative vector small for the feature amount having a large influence of noise. As a result, it is possible to construct a clustering model that utilizes the amount of data while reducing the influence of noise.
  • the accuracy of the person representative vector is improved, so that the accuracy of the cluster representative vector obtained based on the person representative vector is improved.
  • the possibility that different biometric data obtained from the same user will be classified into different clusters can be reduced. Therefore, at the time of authentication, it becomes possible to appropriately narrow down the registered data to be collated with the collated data by the cluster, and the authentication accuracy is improved.
  • the server 100 has, for example, the following functions.
  • the person representative vector calculation unit 160 calculates the person representative data representing the plurality of shooting data from the plurality of shooting data, the smaller the weight indicated by the generated weight information, the more the number of people representing the person representative data is calculated.
  • the algorithm is represented by, for example, Eq. (2) and Eq. (8). That is, the calculation of the equations (2) and (8) is an example of "an algorithm in which the smaller the weight indicated by the generated weight information, the smaller the influence of each of the plurality of shooting data on the calculation result of the person representative data". be.
  • the person representative vector calculation unit 160 increases the influence of the quality of each of the plurality of shooting data on the weight of each of the plurality of shooting data as the number of the plurality of shooting data is smaller. As a result, the influence of high-quality shooting data on the person representative data can be increased, and the influence of low-quality shooting data on the person representative data can be reduced, and the biological characteristics of the person (user) can be appropriately applied to the person representative data. Can be reflected in.
  • the person representative vector calculation unit 160 calculates the weight based on the ratio of the number of a plurality of shooting data to the threshold value in the generation of the weight information. For example, the person representative vector calculation unit 160 increases the influence of the quality of each of the plurality of shooting data on the weight of each of the plurality of shooting data as the ratio becomes smaller. As a result, the influence of high-quality shooting data on the person representative data can be increased, and the influence of low-quality shooting data on the person representative data can be reduced, and the biological characteristics of the person (user) can be appropriately applied to the person representative data. Can be reflected in.
  • the person representative vector calculation unit 160 calculates the weight based on the ratio of the number of shooting data of lower quality than the predetermined quality to the number of shooting data of a plurality of shooting data. For example, the person representative vector calculation unit 160 increases the influence of the quality of each of the plurality of shooting data on the weight of each of the plurality of shooting data as the ratio becomes larger. As a result, the influence of high-quality shooting data on the person representative data can be increased, and the influence of low-quality shooting data on the person representative data can be reduced, and the biological characteristics of the person (user) can be appropriately applied to the person representative data. Can be reflected in.
  • the person representative vector calculation unit increases the weight of the shooting data as the quality of the shooting data is higher. As a result, the influence of noise on the person representative data can be reduced, and the biological characteristics of the person (user) can be appropriately reflected in the person representative data.
  • the person representative vector calculation unit 160 generates a regression model of the feature vector of each of the plurality of shooting data and the quality vector indicating the quality of each of the plurality of shooting data, and each element of the feature vector is based on the regression model. Estimate the noise component contained in. This makes it possible to remove the noise component directly from each element of the feature vector.
  • the shooting data used to generate the regression model may be obtained for a plurality of people. In this case, a regression model is generated for a plurality of people. However, the regression model may be generated for each person.
  • the person representative vector calculation unit 160 subtracts the estimated noise component from the first element of the feature vector corresponding to the noise component, so that the first element of the feature vector of each of the plurality of shooting data is the first.
  • the weight for the second element of the person representative data corresponding to the element of is calculated.
  • the first element and the second element are elements in the same row of the feature vector and the person representative data, where the feature vector and the person representative data (person representative vector) are column vectors.
  • the second element of the person representative data is the average of the first elements corresponding to the second element of the plurality of feature vectors of the plurality of shooting data.
  • the smaller the weight for each element of the person representative data the smaller the influence of the corresponding element of the feature vector of each of the plurality of shooting data on the calculation result of the person representative data. Therefore, the biological characteristics of the person (user) can be appropriately reflected in the person representative data.
  • the cluster representative vector calculation unit 170 calculates a plurality of cluster representative data corresponding to a plurality of clusters that classify the plurality of representative data based on the plurality of person representative data calculated for the plurality of persons.
  • the person representative data of each person appropriately reflects the biological characteristics of each person. Therefore, for example, the K-means method, GMM, or the like enables highly accurate clustering based on the similarity of each person representative data.
  • the authentication unit 180 receives the shooting data of the person at the time of authentication of the person, and preferentially selects the cluster representative data having a high degree of similarity to the feature data of the shooting data from the plurality of cluster representative data.
  • the authentication unit 180 collates the person representative data classified into the cluster corresponding to the selected cluster representative data with the feature data based on the degree of similarity. Since each person representative data is clustered with high accuracy, the accuracy of narrowing down the person representative data at the time of authentication by the cluster is improved. Therefore, the authentication accuracy can be improved.
  • the feature data, the person representative data, and the cluster representative data are vectors in the same feature space.
  • the similarity is the distance between two points represented by two vectors in the feature space.
  • the quality information is an index value indicating at least one of the size of the blur, the size of the fluctuation of the lighting, and the size of the inclination of the face with respect to the shooting direction in the shooting data.
  • the quality information may be a quality vector including a plurality of these index values. These index values are suitable for performing face recognition using a face image, and are particularly useful for generating person representative data with high accuracy when generating person representative data used for face recognition.
  • the information processing of the first embodiment can be realized by causing the processing unit 12 to execute the program. Further, the information processing of the second and third embodiments can be realized by causing the CPU 101 to execute the program.
  • the program can be recorded on a computer-readable recording medium 113.
  • the program can be distributed by distributing the recording medium 113 on which the program is recorded.
  • the program may be stored in another computer and distributed via the network.
  • the computer may store (install) a program recorded on the recording medium 113 or a program received from another computer in a storage device such as RAM 102 or HDD 103, read the program from the storage device, and execute the program. good.
  • Information processing device 11 Storage unit 12 Processing unit 20 Photographed data group 21 Photographed data 30 Quality information group 31 Quality information 40 Weight information group 41 Weight information 50 Representative data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Collating Specific Patterns (AREA)

Abstract

認証精度を向上すること。 処理部(12)は、人物の複数の撮影データを受け付け、複数の撮影データそれぞれの品質と、複数の撮影データの数とに基づき、複数の撮影データそれぞれに適用する重みを示す重み情報を生成する。処理部(12)は、複数の撮影データから複数の撮影データを代表する代表データを算出する際に、生成した重み情報が示す重みが小さい程、代表データの算出結果への複数の撮影データそれぞれの影響が小さくなるアルゴリズムを適用する。

Description

制御方法、制御プログラムおよび情報処理装置
 本発明は制御方法、制御プログラムおよび情報処理装置に関する。
 現在、人物の認証に生体情報が利用されることがある。生体情報は、人間の身体的特徴または行動的特徴を示す情報である。身体的特徴としては、例えば、指紋、静脈、虹彩、顔などが挙げられる。行動的特徴としては、例えば、筆跡などが挙げられる。
 例えば、機械学習モデルによる物体認識を行うシステムの提案がある。提案のシステムでは機械学習モデルは、オンライントレーニングの最中に観察される物体の1以上の例から、分類器のためのオフライントレーニングの最中に確立される所定の決定境界までの距離を決定し、距離の関数として決定ルールを更新するように構成される。また、機械学習モデルは、更新された決定ルールに基づいて、将来例を分類するように構成される。
国際公開第2016/144523号
 情報処理装置により、ある人物に対してセンサなどにより取得された複数の撮影データから当該人物に対応する代表データを作成し、当該代表データに基づいて人物の認証を行うことがある。しかし、各撮影データには、センサによるセンシング条件に応じたノイズが混入し得る。このため、各撮影データに混入したノイズの影響により、人物の特徴が代表データに適切に反映されないことがある。人物の特徴が代表データに適切に反映されていないと、代表データに基づく人物の認証精度が低下する。
 1つの側面では、本発明は、認証精度を向上できる制御方法、制御プログラムおよび情報処理装置を提供することを目的とする。
 1つの態様では、制御方法が提供される。この制御方法では、コンピュータが、人物の複数の撮影データを受け付け、複数の撮影データそれぞれの品質と、複数の撮影データの数とに基づき、複数の撮影データそれぞれに適用する重みを示す重み情報を生成し、複数の撮影データから複数の撮影データを代表する代表データを算出する際に、生成した重み情報が示す重みが小さい程、代表データの算出結果への複数の撮影データそれぞれの影響が小さくなるアルゴリズムを適用する。
 また、1つの態様では、制御プログラムが提供される。
 また、1つの態様では、情報処理装置が提供される。
 1つの側面では、認証精度を向上できる。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態の情報処理装置の処理例を示す図である。 第2の実施の形態の情報処理システムの例を示す図である。 サーバのハードウェア例を示す図である。 サーバの機能例を示す図である。 学習データテーブルの例を示す図である。 人物代表データテーブルの例を示す図である。 クラスタ代表データテーブルの例を示す図である。 人物代表ベクトル生成の例を示すフローチャートである。 クラスタ代表ベクトル生成の例を示すフローチャートである。 認証の例を示すフローチャートである。 第3の実施の形態の人物代表ベクトル生成の例を示すフローチャートである。
 以下、本実施の形態について図面を参照して説明する。
 [第1の実施の形態]
 第1の実施の形態を説明する。
 図1は、第1の実施の形態の情報処理装置の処理例を示す図である。
 情報処理装置10は、人物の認証に用いられる人物ごとの代表データを生成する。代表データは、人物の生体的特徴を撮影した撮影データに基づいて生成される。生体的特徴は、人物の身体的特徴や行動的特徴を含む。身体的特徴としては、例えば指紋、静脈、虹彩、顔などが挙げられる。行動的特徴としては、例えば、筆跡などが挙げられる。代表データは、人物登録時に、当該人物に対して取得された複数の撮影データに基づいて生成される。撮影データは、例えば赤外光や可視光などを用いて撮影するカメラなどのセンサにより取得される画像である。
 情報処理装置10は、記憶部11および処理部12を有する。
 記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部12は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部12はプログラムを実行するプロセッサであってもよい。ここでいう「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。
 記憶部11は、処理部12の処理に用いられる情報を記憶する。記憶部11は、センサにより予め撮影された人物の複数の撮影データ、および、複数の撮影データに対応する複数の品質情報を記憶する。品質情報は、各撮影データの品質を示す指標値を含む。
 ここで、撮影データの品質は、撮影データのセンシング条件に応じて異なる。撮影データの品質に影響を及ぼす要素には、例えば、顔画像であれば、撮影時のブレ、照明の当たり具合およびカメラなどのレンズが向けられた撮影方向に対する顔の傾き(例えば、横を向いているなど)などが考えられる。よって、顔画像を対象にする場合、品質を示す指標値は、例えば、顔の特徴点(目、鼻、口など)の座標データから推定される、撮影方向に対する顔の傾きの大きさや、座標間での照明変動の大きさおよびブラーの大きさなどでもよい。品質を示す指標値が大きい、すなわち品質が良い程、撮影データにおけるノイズの影響は小さい。品質を示す指標値が小さい、すなわち品質が悪い程、撮影データにおけるノイズの影響は大きい。
 品質情報は、各撮影データに対応付けて取得され、記憶部11に予め格納される。品質情報は、各撮影データに対して、処理部12により生成されて記憶部11に格納されてもよい。また、記憶部11は、処理部12により生成された撮影データごとの重み情報や、人物の代表データを記憶する。
 処理部12は、人物の複数の撮影データを受け付け、複数の撮影データそれぞれの品質と、複数の撮影データの数とに基づき、複数の撮影データそれぞれに適用する重みを示す重み情報を生成する。
 処理部12は、複数の撮影データから複数の撮影データを代表する代表データを算出する際に、生成した重み情報が示す重みが小さい程、代表データの算出結果への複数の撮影データそれぞれの影響が小さくなるアルゴリズムを適用する。
 ここで、記憶部11には、ある人物に対して撮影データ群20および撮影データ群20に対応する品質情報群30が記憶されているとする。例えば、撮影データ21は、撮影データ群20に含まれる撮影データである。例えば、品質情報31は、品質情報群30に含まれる、撮影データ21に対応する品質を示す指標値である。
 処理部12は、撮影データ群20に対して重み情報群40を生成する。例えば、重み情報41は、撮影データ21に対応する重みを示す情報である。処理部12は、次のように重み情報群40を生成する。
 第1の例では、処理部12は、ある人物の複数の撮影データの数を閾値と比較し、比較に応じて、人物ごとに重みの算出方法を選択する。ある人物の複数の撮影データの数が閾値以上の場合、処理部12は、当該人物の複数の撮影データそれぞれの重みを同じにする。代表データを生成する際、サンプル数が多い程、ノイズの影響が軽減されるからである。
 一方、ある人物の複数の撮影データの数が閾値よりも小さい場合、処理部12は、撮影データの品質が良い程、当該撮影データの重みを大きくする。また、処理部12は、撮影データの品質が悪い程、当該撮影データの重みを小さくする。品質が良い程、ノイズの影響が小さいので、該当の人物の特徴が撮影データに適切に反映されている可能性が高いからである。
 このとき、処理部12は、当該複数の撮影データの数の閾値に対する比率R1に応じて、重みへの品質の影響の大きさを決定してもよい。例えば、処理部12は、比率R1が大きい程、重みへの品質の影響を小さく、比率R1が小さい程、重みへの品質の影響を大きくすることが考えられる。比率R1が小さい程、該当の人物の代表データがノイズの影響を受け易くなるからである。
 あるいは、処理部12は、当該複数の撮影データの数に対する、当該複数の撮影データのうち所定の品質よりも悪い品質の撮影データの数の比率R2に応じて、重みへの品質の影響の大きさを決定してもよい。例えば、処理部12は、比率R2が小さい程、重みへの品質の影響を小さくし、比率R2が大きい程、重みへの品質の影響を大きくすることも考えられる。比率R2が大きい程、該当の人物の代表データがノイズの影響を受け易くなるからである。
 第1の例の場合、例えば処理部12は、該当の人物の各撮影データの特徴を示す特徴ベクトルを当該撮影データの重みにより重み付け平均したベクトルを、当該人物の代表データ50とする。すると、重み情報が示す重みが小さい程、代表データ50の算出結果への当該撮影データの影響が小さくなる。
 第2の例では、処理部12は、撮影データの特徴量と、品質を示す指標値との回帰モデルを用いて、特徴量に含まれるノイズ成分を推定する。ここで、特徴量は、撮影データの特徴ベクトルの1つの要素である。また、この場合の品質は、複数の指標値を持つベクトルで表される。回帰モデルは、例えば、複数の人物に対して得られた複数の撮影データに基づいて生成されてもよいし、該当の人物の複数の撮影データに基づいて生成されてもよい。回帰モデルの生成では、該当の人物の複数の撮影データの数が用いられる。
 処理部12は、推定されたノイズ成分を特徴量から引くことで、当該撮影データに対応する重み、あるいは、重み付け特徴量を、当該撮影データの特徴ベクトルの要素ごとに算出する。すなわち、第2の例では、撮影データに対応する重み、あるいは、重み付け特徴量がベクトル(重みベクトルまたは重み付け特徴ベクトルと呼ぶ)として得られる。この場合、処理部12は、例えば、該当の人物の各撮影データに対して得られた重み付け特徴ベクトルを平均したベクトルを、当該人物の代表データ50とする。すると、重み付け特徴ベクトルのうち、値の大きな要素程、重みが大きい、すなわちノイズの影響が小さい成分であり、当該要素に対応する代表データ50の要素への影響が大きくなる。また、重み付け特徴ベクトルのうち、値の小さな要素程、重みが小さい、すなわちノイズの影響が大きい成分であり、当該要素に対応する代表データ50の要素への影響が小さくなる。
 情報処理装置10によれば、人物の複数の撮影データが受け付けられる。複数の撮影データそれぞれの品質と、複数の撮影データの数とに基づき、複数の撮影データそれぞれに適用する重みを示す重み情報が生成される。複数の撮影データから複数の撮影データを代表する代表データが算出される際に、生成した重み情報が示す重みが小さい程、代表データの算出結果への複数の撮影データそれぞれの影響が小さくなるアルゴリズムが適用される。
 これにより、認証精度を向上できる。
 ここで、代表データの生成に用いられる各撮影データには、センサによるセンシング条件に応じたノイズが混入し得る。このため、各撮影データに混入したノイズの影響により、人物の特徴が代表データに適切に反映されないことがある。人物の特徴が代表データに適切に反映されていないと、代表データに基づく人物の認証精度が低下する。ノイズの影響が比較的大きな撮影データを、代表データの学習用のサンプルから排除することも考えられるが、サンプル数は代表データの精度に影響を与えるため、可能な限りサンプル数を維持することが好ましい。
 そこで、情報処理装置10は、撮影データごとの品質と複数の撮影データの数とに基づく、撮影データごとの重みを求め、当該重みに応じて、各撮影データの代表データに対する影響を調整する。すなわち、情報処理装置10は、ノイズの影響が小さいと推定される撮影データの特徴ベクトルあるいは特徴量については、当該特徴ベクトルあるいは特徴量に近づくように代表データを算出する。これにより、ノイズの影響を軽減しつつ、データ量を活かした代表データの生成を行える。その結果、人物の生体的特徴を代表データに適切に反映させることができ、代表データに基づく人物の認証精度を向上できる。
 例えば、情報処理装置10は、ある人物を認証する際に、当該人物に対して取得された撮影データの特徴ベクトルと、記憶部11に記憶された各人物の代表データとを照合することで、当該人物の認証を適切に行える。
 また、情報処理装置10は、複数の人物の複数の代表データに基づいて、各代表データをK-means法(K平均法)などのクラスタリング手法により複数のクラスタに分類し、各クラスタのクラスタ代表データを求めておいてもよい。この場合、情報処理装置10は、ある人物を認証する際に、当該人物に対して取得された撮影データの特徴ベクトルと、クラスタ代表データとの照合により、当該特徴ベクトルと照合すべき人物の代表データを、絞り込むことができる。このように、クラスタ化により各代表データを分類する場合にも、代表データに人物ごとの生体的特徴が適切に反映されていることから、高精度なクラスタ化を行える。また、当該クラスタにより照合すべき代表データの絞り込みの精度を向上できる。その結果、人物の認証精度を向上できる。
 [第2の実施の形態]
 次に、第2の実施の形態を説明する。
 図2は、第2の実施の形態の情報処理システムの例を示す図である。
 第2の実施の形態の情報処理システムは、サーバ100およびクライアント200,300を有する。サーバ100およびクライアント200,300は、ネットワーク60を介して接続される。ネットワーク60は、例えばLAN(Local Area Network)でもよいし、インターネットやWAN(Wide Area Network)でもよい。
 サーバ100は、情報処理システムを利用する人物、すなわち、ユーザの生体認証を行う機能を提供するサーバコンピュータである。サーバ100は、ユーザの顔の撮影データ、すなわち、顔画像に基づく顔認証を行う。ただし、認証に用いられる撮影データは、顔画像に限らず、ユーザの生体的特徴を表す他の種類の画像でもよい。例えば、撮影データは、指紋、静脈、虹彩あるいは身体のその他の部位や器官の画像、または、筆跡の画像などでもよい。認証に用いられるユーザの顔などの撮影データは、ユーザの生体的特徴を表しているため、生体データと呼ばれてもよい。サーバ100は、第1の実施の形態の情報処理装置10の一例である。
 クライアント200,300は、ユーザにより利用されるクライアントコンピュータである。クライアント200,300は、それぞれカメラ201,301を有する。カメラ201,301は、CCD(Charged-Coupled Devices)やCMOS(Complementary Metal-Oxide-Semiconductor)などのイメージセンサを内蔵し、クライアント200,300それぞれを操作するユーザの顔を撮影して撮影データを生成する。クライアント200,300は、クライアント200,300における所定の機能の利用に際して、それぞれカメラ201,301により撮影された撮影データによる顔認証をサーバ100に依頼し、認証が成功したユーザにのみ当該機能の利用を許可する。
 利用に際してユーザの認証を要するクライアント200,300における機能としては、例えば、クライアント200,300におけるOS(Operating System)やその他のアプリケーションへのログインなどが考えられる。あるいは、クライアント200,300と通信するWebサーバやアプリケーションサーバ(図示を省略している)などが提供する各種のサービスへのログインや当該Webサーバなどが提供する決済などの機能も考えられる。
 なお、クライアント200,300は、スマートフォンやタブレット端末などのスマートデバイスでもよい。また、クライアント200,300は、汎用のコンピュータに限らず、例えばATM(Automated Teller Machine)、POS(Point Of Sale)端末、自動販売機、ドアロックを制御する電子錠および入退室管理装置など、機能の提供に個人認証を伴う特定用途のコンピュータでもよい。
 図3は、サーバのハードウェア例を示す図である。サーバ100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106およびNIC(Network Interface Card)107を有する。なお、CPU101は、第1の実施の形態の処理部12の一例である。RAM102またはHDD103は、第1の実施の形態の記憶部11の一例である。
 CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを含んでもよい。また、サーバ100は複数のプロセッサを有してもよい。以下で説明する処理は複数のプロセッサまたはプロセッサコアを用いて並列に実行されてもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」ということがある。
 RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、サーバ100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
 HDD103は、OSやミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
 画像信号処理部104は、CPU101からの命令に従って、サーバ100に接続されたディスプレイ111に画像を出力する。ディスプレイ111としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを用いることができる。
 入力信号処理部105は、サーバ100に接続された入力デバイス112から入力信号を取得し、CPU101に出力する。入力デバイス112としては、マウス・タッチパネル・タッチパッド・トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、サーバ100に、複数の種類の入力デバイスが接続されていてもよい。
 媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
 媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体113は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体113やHDD103を、コンピュータ読み取り可能な記録媒体ということがある。
 NIC107は、ネットワーク60に接続され、ネットワーク60を介して他のコンピュータと通信を行うインタフェースである。NIC107は、例えば、スイッチやルータなどの通信装置とケーブルで接続される。
 なお、サーバ100は、カメラを内蔵したり、カメラと接続されたりしてもよく、サーバ100のユーザの認証を行ってもよい。例えば、サーバ100は、店舗などの施設に設置されたカメラと接続されることで、当該施設を訪れたユーザの認証、あるいは当該ユーザの識別を行うこともできる。
 また、クライアント200,300もサーバ100と同様のハードウェアにより実現される。
 図4は、サーバの機能例を示す図である。
 サーバ100は、記憶部120、制御部130、撮影データ処理部140、品質算出部150、人物代表ベクトル算出部160、クラスタ代表ベクトル算出部170および認証部180を有する。記憶部120には、RAM102やHDD103の記憶領域が用いられる。制御部130、撮影データ処理部140、品質算出部150、人物代表ベクトル算出部160、クラスタ代表ベクトル算出部170および認証部180は、プログラムにより実現される。
 記憶部120は、複数のユーザそれぞれに対して予め取得された複数の撮影データを記憶する。記憶部120に予め記憶される複数の撮影データは、カメラ201,301により生成されたものでもよい。その場合、サーバ100は、クライアント200,300から当該複数の撮影データを予め収集し、記憶部120に格納する。各撮影データは、ユーザの識別情報であるユーザID(IDentifier)に対応付けられている。
 記憶部120は、学習データテーブル、人物代表データテーブルおよびクラスタ代表データテーブルを記憶する。
 学習データテーブルは、学習データが登録されるテーブルである。学習データは、人物代表データの生成に用いられる。人物代表データは、該当のユーザの認証に先立って、記憶部120に予め記憶された複数の撮影データに基づいて生成され、サーバ100に登録される情報である。
 学習データは、ユーザの撮影データごとの特徴ベクトルと品質値とを含む。特徴ベクトルは、複数個の特徴量を要素とするベクトルである。品質値は、撮影データの品質を示す指標値である。撮影データの品質は、撮影データのセンシング条件に応じて異なる。撮影データの品質に影響を及ぼす要素には、撮影時のブレ、照明の当たり具合およびカメラなどのレンズが向けられた撮影方向に対する顔の傾き(例えば、横を向いているなど)などが考えられる。品質値が大きい程、撮影データの品質が良い、あるいは品質が高い。品質値が小さい程、撮影データの品質が悪い、あるいは品質が低い。
 人物代表データテーブルは、人物代表データが登録されるテーブルである。人物代表データは、ユーザごとの複数の学習データに基づく、当該ユーザに対応する1つの代表データである。人物代表データは、撮影データの特徴ベクトルと同じ次元数を持つベクトルである。人物代表データは、人物代表ベクトルと呼ばれてもよい。
 クラスタ代表データテーブルは、クラスタ代表データが登録されるテーブルである。クラスタ代表データは、クラスタに対応する1つの代表データである。クラスタは、複数の人物代表データのグループである。クラスタは複数存在する。1つの人物代表データは、1つのクラスタに属する。クラスタ代表データは、認証の際、照合すべき人物代表データの絞り込みに用いられる。クラスタ代表データは、撮影データの特徴ベクトルと同じ次元数を持つベクトルである。クラスタ代表データは、クラスタ代表ベクトルと呼ばれてもよい。
 制御部130は、撮影データ処理部140、品質算出部150、人物代表ベクトル算出部160、クラスタ代表ベクトル算出部170および認証部180の動作を制御する。
 撮影データ処理部140は、記憶部120に記憶された撮影データに基づいて、当該撮影データに対する特徴ベクトルを生成する。特徴ベクトルには、例えば該当のユーザの顔における、目、鼻、口などの位置に応じた特徴が反映される。顔画像に対する特徴ベクトルの生成には既存の方法を用いることができる。撮影データ処理部140は、撮影データに対して生成した特徴ベクトルを、ユーザIDに対応付けて、記憶部120に記憶された学習データテーブルに登録する。
 品質算出部150は、記憶部120に記憶された撮影データの品質を評価し、当該撮影データに対する品質値を生成する。品質値は、撮影データから、特徴ベクトルとは独立に取得される情報である。品質値は、例えば、顔画像を対象にする場合、顔の特徴点(目、鼻、口など)の座標データから推定される、撮影方向に対する顔の傾きの大きさや、座標間での照明変動の大きさおよびブラーの大きさなどである。ブラーの大きさは、撮影時のブレの大きさを示す。顔の傾きの大きさ、照明変動の大きさおよびブラーの大きさにより表される品質値は、撮影データあるいは特徴ベクトルに混入するノイズに相関があると推定される。品質が良い、すなわち、品質値が大きい程、ノイズが小さいと推定される。また、品質が悪い、すなわち、品質値が小さい程、ノイズが大きいと推定される。品質算出部150は、撮影データに対して生成した品質値を、ユーザIDおよび当該撮影データの特徴ベクトルに対応付けて、記憶部120に記憶された学習データテーブルに登録する。
 人物代表ベクトル算出部160は、ユーザごとの学習データに基づいて人物代表ベクトルを算出する。人物代表ベクトル算出部160は、該当のユーザに対して得られている撮影データの数に応じて、人物代表ベクトルの算出方法を選択する。ここで、撮影データのサンプルが得られているユーザの全体集合を{S}とする。集合{S}の全要素数、すなわち、全ユーザ数をSとする。集合{S}に属するユーザをsで表す。
 まず、人物代表ベクトル算出部160は、該当のユーザsに対して得られている撮影データの数Nを閾値Tと比較する。N≧Tのユーザの集合を人物サブセットSuとする。N<Tのユーザの集合を人物サブセットSlとする。
 人物サブセットSuに属するユーザsについて、人物代表ベクトル算出部160は、式(1)により、ユーザsの人物代表ベクトルHuを求める。
Figure JPOXMLDOC01-appb-M000001
 X は、ユーザsのn番目の撮影データの特徴ベクトルである。人物代表ベクトルHuは、ユーザsに対応する特徴ベクトルの平均である。
 人物サブセットSlに属するユーザsについて、人物代表ベクトル算出部160は、式(2)により、ユーザsの人物代表ベクトルHlを求める。
Figure JPOXMLDOC01-appb-M000002
 W は、ユーザsのn番目の撮影データの重みである。人物代表ベクトルHlは、ユーザsに対する特徴ベクトルの重み付き平均である。W は、例えば式(3)により表される。
Figure JPOXMLDOC01-appb-M000003
 Q は、ユーザsのn番目の撮影データの品質値である。品質値は、実数により表される。式(3)によれば、ユーザsの撮影データの数Nが小さい程、重みW に対する品質値Q の影響が大きくなる。また、品質値Q が大きい程、重みW が大きくなり、品質値Q が小さい程、重みW が小さくなる。
 なお、式(3)では、重みW に与える品質値Q の影響を、品質値Q を変数とするシグモイド関数で表す例を示したが、他の非線形関数または線形関数を用いてもよい。
 人物代表ベクトル算出部160は、ユーザごとに算出した人物代表ベクトルを、ユーザIDに対応付けて、記憶部120に記憶された人物代表データテーブルに登録する。
 クラスタ代表ベクトル算出部170は、人物代表データテーブルに登録された複数の人物代表ベクトルを複数のクラスタに分類し、各クラスタのクラスタ代表ベクトルを求める。複数の人物代表ベクトルを複数のクラスタに分類し、各クラスタのクラスタ代表ベクトルを求める方法には、例えば、K-means法を用いることができる。例えば、クラスタ代表ベクトル算出部170は、K-means法によって、次のように、複数の人物代表ベクトルを複数のクラスタに分ける。
 クラスタ代表ベクトル算出部170は、複数の人物代表ベクトルを、ランダムに、所定数のクラスタに分け、各クラスタの重心を求める。クラスタの重心は、当該クラスタに属する各人物代表ベクトルが示す特徴空間の座標の平均値である。
 そして、クラスタ代表ベクトル算出部170は、各人物代表ベクトルを、当該人物代表ベクトルから最短の距離にある重心に割り当て直し、各クラスタの重心を計算し直す。クラスタ代表ベクトル算出部170は、この処理を繰り返し実行して、各クラスタの重心を補正する。クラスタ代表ベクトル算出部170は、例えば、クラスタに対する人物代表ベクトルの割り当てに変化がなくなった場合や割り当てが変更される人物代表ベクトルの数が所定数以下となった場合に、各クラスタの重心を確定する。確定時に、各クラスタに割り当てられている人物代表ベクトルが、当該クラスタに分類された人物代表ベクトルである。また、各クラスタの重心がクラスタ代表ベクトルである。
 なお、クラスタ代表ベクトル算出部170は、例えば、ガウス混合モデル(GMM:Gaussian Mixture Model)などの他のクラスタリング手法により、複数の人物代表ベクトルを複数のクラスタに分類してもよい。
 クラスタ代表ベクトル算出部170は、算出したクラスタ代表ベクトルと、クラスタ代表ベクトルで表されるクラスタに分類された人物代表ベクトルに対応するユーザIDとを、記憶部120に記憶されたクラスタ代表データテーブルに登録する。
 認証部180は、クライアント200,300から受信した認証要求に基づいて、顔認証を行う。認証要求は、認証対象のユーザの顔を撮影した撮影データを含む。認証部180は、撮影データ処理部140から当該撮影データに対する特徴ベクトルを取得し、取得した特徴ベクトルを、記憶部120に記憶されたクラスタ代表データテーブルにおけるクラスタ代表ベクトルと照合する。例えば、認証部180は、特徴ベクトルとクラスタ代表ベクトルとの類似度に基づいて、特徴ベクトルとクラスタ代表ベクトルとの照合を行う。類似度には、例えば、特徴空間における特徴ベクトルに対応する点と、クラスタ代表ベクトルに対応する点との距離が用いられる。すなわち、認証部180は、クラスタ代表データテーブルに登録されているクラスタ代表ベクトルのうち、特徴ベクトルに最も距離が近いクラスタ代表ベクトルを特定する。認証部180は、特徴ベクトルに距離が近いものを優先して、2以上の所定数のクラスタ代表ベクトルを特定してもよい。クラスタ代表ベクトルとの照合により、照合すべき人物代表ベクトルの絞り込みを行える。
 認証部180は、特定したクラスタ代表ベクトルに分類されたユーザIDの人物代表ベクトルを、人物代表データテーブルから取得し、特徴ベクトルと照合する。例えば、認証部180は、特徴ベクトルと人物代表ベクトルとの類似度に基づいて、特徴ベクトルと人物代表ベクトルとの照合を行う。類似度には、例えば、特徴空間における特徴ベクトルに対応する点と、人物代表ベクトルに対応する点との距離が用いられる。すなわち、認証部180は、特徴ベクトルとの距離が所定値以下である人物代表ベクトルが存在するか否かを判定する。特徴ベクトルとの距離が所定値以下である人物代表ベクトルが存在する場合、認証部180は、クライアント200を操作するユーザが、当該人物代表ベクトルに対応するユーザであると判定し、認証成功とする。すると、認証部180は、クライアント200に認証成功を応答する。一方、該当の特徴ベクトルとの距離が所定値以下である人物代表ベクトルが存在しない場合、認証部180は、クライアント200を操作するユーザが登録済のユーザではないと判定し、認証失敗とする。認証部180は、クライアント200に認証失敗を応答する。
 認証部180は、クライアント300から受信した認証要求に対しても、上記と同様の認証処理を行う。
 なお、撮影データ処理部140および品質算出部150の機能は、クライアント200,300に設けられてもよい。その場合、サーバ100は、学習データテーブル121の各レコードを、クライアント200,300から収集してもよい。また、サーバ100は、認証対象のユーザの撮影データに対する特徴ベクトルを、認証要求とともにクライアント200,300から取得してもよい。
 次に、記憶部120に記憶されるデータの例を説明する。
 図5は、学習データテーブルの例を示す図である。
 学習データテーブル121は、ユーザID、特徴ベクトルおよび品質値の項目を含む。ユーザIDの項目には、ユーザIDが登録される。特徴ベクトルの項目には、撮影データの特徴ベクトルが登録される。
 例えば、学習データテーブル121には、ユーザID「UID1」、特徴ベクトル「X 」、品質値「Q 」というレコードが登録される。このレコードは、ユーザID「UID1」のユーザの1番目の撮影データに対する特徴ベクトルが「X 」であり、品質値が「Q 」であることを示す。
 学習データテーブル121には、ユーザID「UID1」のユーザに対する他の撮影データに対する特徴ベクトルおよび品質値のレコードも登録される。
 学習データテーブル121には、他のユーザに対しても同様に、撮影データごとの特徴ベクトルおよび品質値のレコードが登録される。
 図6は、人物代表データテーブルの例を示す図である。
 人物代表データテーブル122は、ユーザIDおよび人物代表ベクトルの項目を含む。ユーザIDの項目には、ユーザIDが登録される。人物代表ベクトルの項目には、人物代表ベクトルが登録される。
 例えば、人物代表データテーブル122には、ユーザID「UID1」および人物代表ベクトル「Hu」というレコードが登録される。このレコードは、ユーザID「UID1」のユーザの人物代表ベクトルが「Hu」であることを示す。
 また、人物代表データテーブル122には、ユーザID「UID2」および人物代表ベクトル「Hl」というレコードが登録される。このレコードは、ユーザID「UID2」のユーザの人物代表ベクトルが「Hl」であることを示す。
 人物代表データテーブル122には、他のユーザに対しても同様に、人物代表ベクトルが登録される。
 図7は、クラスタ代表データテーブルの例を示す図である。
 クラスタ代表データテーブル123は、クラスタ代表ベクトルおよびユーザIDの項目を含む。クラスタ代表ベクトルの項目には、クラスタ代表ベクトルが登録される。ユーザIDの項目には、該当のクラスタ代表ベクトルに対応するクラスタに分類された人物代表ベクトルのユーザIDが登録される。
 例えば、クラスタ代表データテーブル123には、クラスタ代表ベクトルが「C1」、ユーザIDが「UID1,UID3,…」というレコードが登録される。このレコードは、クラスタ代表ベクトル「C1」のクラスタに分類されたユーザIDが「UID1,UID3,…」であることを示す。
 クラスタ代表データテーブル123には、他のクラスタ代表ベクトルに対しても同様に、当該クラスタ代表ベクトルに分類されたユーザIDの組が登録される。
 次に、サーバ100の処理手順を説明する。まず、サーバ100による人物代表ベクトルの生成の手順およびクラスタ代表ベクトルの生成の手順を例示する。
 図8は、人物代表ベクトル生成の例を示すフローチャートである。
 人物代表ベクトル算出部160は、下記の手順をユーザごとに実行する。
 (S10)人物代表ベクトル算出部160は、ユーザsについて、当該ユーザ1人当たりの撮影データの数Nが閾値T以上、すなわち、N≧Tであるか否かを判定する。N≧Tの場合、人物代表ベクトル算出部160は、ステップS11に処理を進める。N<Tの場合、人物代表ベクトル算出部160は、ステップS12に処理を進める。
 (S11)人物代表ベクトル算出部160は、撮影データ処理部140によりユーザsの撮影データに対して生成された特徴ベクトル集合{X }を学習データテーブル121から取得する。そして、人物代表ベクトル算出部160は、式(1)に基づいて、ユーザsに対する人物代表ベクトルHuを計算する。なお、ユーザsの撮影データに対する特徴ベクトルは、学習データテーブル121に予め登録されていてもよい。人物代表ベクトル算出部160は、人物代表ベクトルHuを、ユーザsのユーザIDに対応付けて、人物代表データテーブル122に登録する。そして、人物代表ベクトル算出部160は、ユーザsに対する人物代表ベクトル生成を終了する。
 (S12)品質算出部150は、ユーザsの各撮影データに対して、品質値を計算する。品質値は、前述のように、顔の特徴点(目、鼻、口など)の座標データから推定される、撮影方向に対する顔の傾きの大きさや、座標間での照明変動の大きさおよびブラーの大きさなどであり、既存の方法により計算される。品質値は、顔の傾きの大きさ、照明変動の大きさおよびブラーの大きさなどの指標値の2以上の組合せから所定の関数により求められる値でもよい。品質算出部150は、算出した品質値を、学習データテーブル121に登録する。なお、品質算出部150は、各撮影データに対する品質値を予め生成しておき、学習データテーブル121に登録しておいてもよい。その場合、人物代表ベクトル算出部160は、ステップS12をスキップして、ステップS13を実行してよい。
 (S13)人物代表ベクトル算出部160は、撮影データ処理部140によりユーザsの撮影データに対して生成された特徴ベクトル集合{X }を学習データテーブル121から取得する。人物代表ベクトル算出部160は、品質算出部150によりユーザsの撮影データに対して生成された品質値集合{Q }を学習データテーブル121から取得する。人物代表ベクトル算出部160は、式(3)に基づいて、重み集合{W }を計算する。そして、人物代表ベクトル算出部160は、式(2)に基づいて、ユーザsに対する人物代表ベクトルHlを計算する。なお、ユーザsの撮影データに対する特徴ベクトルは、学習データテーブル121に予め登録されていてもよい。人物代表ベクトル算出部160は、人物代表ベクトルHlを、ユーザsのユーザIDに対応付けて、人物代表データテーブル122に登録する。そして、人物代表ベクトル算出部160は、ユーザsに対する人物代表ベクトル生成を終了する。
 サーバ100は、登録対象の全てのユーザに対して、人物代表ベクトル生成を実行すると、次のクラスタ代表ベクトル生成を実行する。
 図9は、クラスタ代表ベクトル生成の例を示すフローチャートである。
 (S20)クラスタ代表ベクトル算出部170は、各ユーザの人物代表ベクトルをクラスタ化する。クラスタ化には、前述のK-means法やGMMなどの方法を用いることができる。クラスタ代表ベクトル算出部170は、クラスタ化により、各クラスタのクラスタ代表ベクトルを計算し、各ユーザの人物代表ベクトルを、各クラスタに分類する。
 (S21)クラスタ代表ベクトル算出部170は、クラスタ代表ベクトルを所属ユーザIDとともにクラスタ代表データテーブル123に登録する。そして、クラスタ代表ベクトル算出部170は、クラスタ代表ベクトル生成を終了する。
 次に、サーバ100によるユーザ認証の手順を例示する。以下では、クライアント200を例示するが、クライアント300に対しても同様の手順となる。
 図10は、認証の例を示すフローチャートである。
 下記の手順は、サーバ100がクライアント200から認証要求を受信すると実行される。
 (S30)認証部180は、クライアント200から受信した認証要求に含まれる撮影データから取得された特徴ベクトルを、撮影データ処理部140から取得する。なお、クライアント200から受信した認証要求は、クライアント200のカメラ201で撮影された撮影データに対応する特徴ベクトルを含んでもよい。この場合、認証部180は、認証要求に含まれる特徴ベクトルを取得すればよい。
 (S31)認証部180は、クラスタ代表データテーブル123に登録されたクラスタ代表ベクトルの中から、ステップS30で取得した特徴ベクトルと類似度の高いクラスタ代表ベクトルを特定する。例えば、認証部180は、当該特徴ベクトルとの距離が最も近いクラスタ代表ベクトルを特定してもよいし、当該距離が近いものを優先して所定数のクラスタ代表ベクトルを特定してもよい。
 (S32)認証部180は、特定したクラスタに属する人物代表ベクトルと、ステップS30で取得した特徴ベクトルとを照合する。例えば、認証部180は、ステップS31で特定したクラスタ代表ベクトルに対応するユーザIDをクラスタ代表データテーブル123から特定する。そして、認証部180は、人物代表データテーブル122から当該ユーザIDに対応する人物代表ベクトルを抽出して、特徴ベクトルと照合する。
 (S33)認証部180は、ステップS32の照合の結果に基づいて、認証成功であるか否かを判定する。認証成功の場合、認証部180は、ステップS34に処理を進める。認証失敗の場合、認証部180は、ステップS35に処理を進める。例えば、ステップS32の照合の結果、特徴ベクトルとの類似度、すなわち、距離が、所定値以下である人物代表ベクトルが存在する場合、認証部180は、認証成功と判定する。一方、ステップS32の照合の結果、特徴ベクトルとの距離が所定値以下である人物代表ベクトルが存在しない場合、認証部180は、認証失敗と判定する。
 (S34)認証部180は、クライアント200に認証成功を応答する。認証部180は、認証成功したユーザのユーザIDや当該ユーザに関する情報をクライアント200または他のコンピュータに送信してもよい。認証部180は、認証成功したユーザのユーザIDをログなどに記録してもよい。そして、認証部180は、認証処理を終了する。
 (S35)認証部180は、クライアント200に認証失敗を応答する。認証部180は、認証失敗したことをログなどに記録してもよい。そして、認証部180は、認証処理を終了する。
 なお、認証部180は、認証対象のユーザに対して複数取得された撮影データから、人物代表ベクトル算出部160により算出された人物代表ベクトルを用いて認証を行ってもよい。この場合にも、人物代表ベクトル算出部160は、式(1)や式(2)、(3)を用いて、認証対象のユーザに対する人物代表ベクトルを算出することができる。
 ここで、大規模な登録データを有する生体認証システムでは、カメラなどのセンサにより取得された情報に基づく人物代表データを類似度によって分類する、すなわち、クラスタリングすることで、照合すべき人物代表データを絞り込め、人物代表データの高速検索が可能になる。人物代表データのクラスタリングにおいては、将来において、同一人物の撮影データから得られる特徴データや人物代表データが同じクラスタに属するような分類器を構築することが重要となる。
 分類器の構築では、与えられた学習データに基づいて、クラスタの代表点を求める。人物代表データをクラスタリングする際には、当該人物代表データと最も類似度が良い代表点が存在するクラスタに分類する。実際の運用環境では、カメラなどのセンサによるセンシング条件によって、人物代表データの基となる撮影データに対して、揺らぎに相当するノイズが付加される。このため、同一ユーザから別個のタイミングで得られた異なるデータ(当該ユーザに対する登録済データおよび登録済データと照合されるべき照合データ)が、各タイミングでのノイズの影響により異なるクラスタに分類されてしまい、検索時の精度が低下する。
 撮影データに混入するノイズは、特徴量に作用し、ノイズが混入していない場合の理想的な特徴量に摂動を与える。クラスタリングモデルを構築する場合、撮影データに混入するノイズの影響を考慮するために、複数のユーザそれぞれの複数枚の撮影データのサンプルから成る学習データを用いる。すなわち、様々なノイズの影響を含んだ撮影データを用いることで、ノイズの影響の統計的性質をモデル化する。このとき、一般的に、ユーザの数および各ユーザに対するサンプル数、すなわち、撮影データの数が多い程、例えば平均化により各サンプルにおけるノイズの影響が相殺され、クラスタリングモデルの精度は向上する。
 しかし、学習データにおける各ユーザのサンプルに注目したとき、特定の種類のノイズを含むサンプルのみで構成されるユーザは、当該ユーザの生体データが当該ノイズの影響を強く受けた状態でモデル化される。このような問題は、サンプル数が少ない人物において発生し易い。こうしたユーザを学習データから排除することも考えられるが、前述のように学習データの量はモデルの精度に影響を与えるため、可能な限りサンプル数を維持することが好ましい。
 第2の実施の形態のサーバ100は、まず、学習データに含まれる各ユーザの複数枚の撮影データのサンプルを用いて、サンプルの統計的性質から当該ユーザを表す人物代表ベクトルを算出する。サーバ100は人物代表ベクトルの類似によってクラスタ構築することで、ユーザの類似度に沿ったクラスタリングを行う。このとき、サンプル数が比較的少ないユーザにおいては、特徴量のノイズの影響を受け易く、人物代表ベクトルが真の値から離れたものになる可能性が高い。一方で、生体認証では、特徴量とは独立して、撮影データから撮影データ自体の品質値を取得できる場合がある。例えば、撮影データとして顔画像を対象にした場合、品質値として、顔の特徴点(目、鼻、口など)の座標データから推定される顔の傾きの大きさ、照明変動の大きさ、ブラーの大きさなどを示す指標値が考えられる。これらの品質値は、特徴量に含まれるノイズとの相関が期待される。
 そこで、サーバ100は、品質値が良い特徴量は、ノイズの影響が少ないとみなして、当該特徴量に近づくように人物代表ベクトルを算出する。これにより、ノイズの影響を軽減しつつ、データ量を活かしたクラスタリングモデルの構築を行える。
 人物代表ベクトルの精度が向上することで、人物代表ベクトルに基づいて得られるクラスタ代表ベクトルの精度が向上する。その結果、同一ユーザから得られた異なる生体データが異なるクラスタに分類される可能性を減らせる。よって、認証時において、照合データと照合すべき登録済データのクラスタによる絞り込みを適切に行えるようになり、認証精度が向上する。
 なお、上記の例では、ユーザsに対して取得された撮影データの数Nの閾値Tに対する比率(N/T)に応じて、品質値Q を用いた重みW を求めるものとした。一方、撮影データそれぞれの品質と、撮影データの数とに基づく重みの算出方法には他の例も考えられる。例えば、撮影データの数Nに対する、品質値Q が所定の閾値よりも低い低品質の撮影データの数mの比率(m/N)により、重みW を求めることも考えられる。その場合、ステップS13において、例えば、式(3)の(N/T)を(1-(m/N))に置き換えればよい。
 [第3の実施の形態]
 次に第3の実施の形態を説明する。前述の第2の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
 第3の実施の形態のサーバ100は、第2の実施の形態のサーバ100と同様のハードウェアおよび機能を有する。ただし、第3の実施の形態では、サーバ100の人物代表ベクトル算出部160による人物代表ベクトル生成の手順が第2の実施の形態と異なる。
 ここで、第2の実施の形態では、品質値Q は、例えば、撮影方向に対する顔の傾きの大きさ、座標間での照明変動の大きさおよびブラーの大きさなどの複数の指標値を要素として含むベクトル(品質ベクトルという)で表される。
 第2の実施の形態と同様に、特徴ベクトルX は、s番目のユーザ(ユーザsとする)のn番目の撮影データの特徴ベクトルである。sは1≦s≦Sの整数である。nは1≦n≦Nsの整数である。また、品質ベクトルQ は、ユーザsのn番目の撮影データの品質ベクトルである。特徴ベクトルX および品質ベクトルQ はそれぞれd次元およびd次元であるとする。d=dでもよいし、d≠dでもよい。
 図11は、第3の実施の形態の人物代表ベクトル生成の例を示すフローチャートである。
 (S40)人物代表ベクトル算出部160は、サンプルとして得られている全ユーザの全撮影データの特徴ベクトルと品質ベクトルとの回帰モデルを生成する。具体的には、人物代表ベクトル算出部160は、特徴ベクトルと品質ベクトルとの全ペアに対して、式(4)の変換式F(X )を求める。
Figure JPOXMLDOC01-appb-M000004
 変換式F(X )による変換は、例えば、式(5)のような線形変換でよい。式(5)は回帰式とも呼ばれる。
Figure JPOXMLDOC01-appb-M000005
 変換係数A,Bは、それぞれ行列またはベクトルである。人物代表ベクトル算出部160は、特徴ベクトルと品質ベクトルとの全ペアから求められる式(6)の変換誤差の総和eを最小にするように変換係数A,Bを決定する。
Figure JPOXMLDOC01-appb-M000006
 ここで、||・||はベクトルのノルムを表す。また、Nは、ユーザsに対して取得されている撮影データの数である。
 (S41)人物代表ベクトル算出部160は、ユーザsについて、当該ユーザ1人当たりの撮影データの数Nが閾値T以上、すなわち、N≧Tであるか否かを判定する。N≧Tの場合、人物代表ベクトル算出部160は、ステップS42に処理を進める。N<Tの場合、人物代表ベクトル算出部160は、ステップS43に処理を進める。
 (S42)人物代表ベクトル算出部160は、ユーザsの撮影データの特徴ベクトル集合{X }を学習データテーブル121から取得する。そして、人物代表ベクトル算出部160は、式(1)に基づいて、ユーザsに対する人物代表ベクトルHuを計算する。人物代表ベクトル算出部160は、人物代表ベクトルHuを、ユーザsのユーザIDに対応付けて、人物代表データテーブル122に登録する。そして、人物代表ベクトル算出部160は、ユーザsに対する人物代表ベクトル生成を終了する。
 (S43)人物代表ベクトル算出部160は、ユーザsの撮影データの特徴ベクトル集合{X }を学習データテーブル121から取得する。そして、人物代表ベクトル算出部160は、回帰モデルを基に、ユーザsの各撮影データの特徴ベクトルの各成分からノイズの影響を除去する。すなわち、人物代表ベクトル算出部160は、式(7)により、ノイズ影響の除去後のベクトル(X’) を生成する。
Figure JPOXMLDOC01-appb-M000007
 ここで、関数F-1は、関数Fの逆関数である。
 ベクトル(X’) の各要素は、特徴ベクトルX の各要素の重みを表しているということができる。すなわち、ベクトル(X’) の各要素は、第1の実施の形態の重みの一例である。あるいは、ベクトル(X’) の各要素は、特徴ベクトルX の各要素の重みが反映された重み付き特徴量を表しているということもできる。
 (S44)人物代表ベクトル算出部160は、式(8)に基づいて、ユーザsに対する人物代表ベクトルHlを計算する。
Figure JPOXMLDOC01-appb-M000008
 式(8)で表される人物代表ベクトルHlは、ベクトル(X’) の平均である。すなわち、人物代表ベクトルHlの1つの成分は、ベクトル(X’) の対応する成分の平均である。人物代表ベクトル算出部160は、人物代表ベクトルHlを、ユーザsのユーザIDに対応付けて、人物代表データテーブル122に登録する。そして、人物代表ベクトル算出部160は、ユーザsに対する人物代表ベクトル生成を終了する。
 なお、人物代表ベクトル算出部160は、複数のユーザに対して、人物代表ベクトルを生成する場合、ステップS41~S44を各ユーザに対して繰り返し実行する。
 第3の実施の形態でも、第2の実施の形態と同様にして、サーバ100によりクラスタ代表ベクトル生成およびユーザの認証が行われる。
 第3の実施の形態では、撮影データの特徴ベクトルの各要素におけるノイズの影響が式(5)の変換係数A,Bに反映される。したがって、当該ノイズの影響を示すノイズ成分が、式(7)の右辺第2項のF-1(Q )で示されるように、品質値に応じて推定される。サーバ100は、ノイズの影響が小さい特徴量については、人物代表ベクトルに対する当該特徴量の影響が大きくなるようにする。また、サーバ100は、ノイズの影響が大きい特徴量については、人物代表ベクトルに対する当該特徴量の影響が小さくなるようにする。これにより、ノイズの影響を軽減しつつ、データ量を活かしたクラスタリングモデルの構築を行える。
 第2の実施の形態と同様に、第3の実施の形態でも、人物代表ベクトルの精度が向上することで、人物代表ベクトルに基づいて得られるクラスタ代表ベクトルの精度が向上する。その結果、同一ユーザから得られた異なる生体データが異なるクラスタに分類される可能性を減らせる。よって、認証時において、照合データと照合すべき登録済データのクラスタによる絞り込みを適切に行えるようになり、認証精度が向上する。
 第2,第3の実施の形態をまとめると、サーバ100は、例えば、次のような機能を有する。
 人物代表ベクトル算出部160は、複数の撮影データから複数の撮影データを代表する人物代表データを算出する際に、生成した重み情報が示す重みが小さい程、人物代表データの算出結果への複数の撮影データそれぞれの影響が小さくなるアルゴリズムを適用する。当該アルゴリズムは、例えば、式(2)や式(8)で表される。すなわち、式(2)や式(8)の演算は、「生成した重み情報が示す重みが小さい程、人物代表データの算出結果への複数の撮影データそれぞれの影響が小さくなるアルゴリズム」の一例である。これにより、各撮影データに含まれる人物の生体的特徴の情報を、人物代表データにどの程度反映させるかを、撮影データの数や品質に応じて適切に調整できる。
 人物代表ベクトル算出部160は、複数の撮影データの数が少ない程、複数の撮影データそれぞれの品質が複数の撮影データそれぞれの重みに与える影響を大きくする。これにより、高品質な撮影データが人物代表データに与える影響を大きくするとともに、低品質な撮影データが人物代表データに与える影響を小さくでき、人物代表データに人物(ユーザ)の生体的特徴を適切に反映させることができる。
 また、人物代表ベクトル算出部160は、重み情報の生成では、閾値に対する複数の撮影データの数の比率に基づいて重みを算出する。例えば、人物代表ベクトル算出部160は、当該比率が小さいほど、複数の撮影データそれぞれの品質が複数の撮影データそれぞれの重みに与える影響を大きくする。これにより、高品質な撮影データが人物代表データに与える影響を大きくするとともに、低品質な撮影データが人物代表データに与える影響を小さくでき、人物代表データに人物(ユーザ)の生体的特徴を適切に反映させることができる。
 あるいは、人物代表ベクトル算出部160は、複数の撮影データの数に対する、所定の品質よりも低品質の撮影データの数の比率に基づいて重みを算出する。例えば、人物代表ベクトル算出部160は、当該比率が大きい程、複数の撮影データそれぞれの品質が複数の撮影データそれぞれの重みに与える影響を大きくする。これにより、高品質な撮影データが人物代表データに与える影響を大きくするとともに、低品質な撮影データが人物代表データに与える影響を小さくでき、人物代表データに人物(ユーザ)の生体的特徴を適切に反映させることができる。
 また、人物代表ベクトル算出部は、撮影データの品質が高い程、当該撮影データの重みを大きくする。これにより、人物代表データに対するノイズの影響を低減でき、人物(ユーザ)の生体的特徴を人物代表データに、適切に反映させることができる。
 あるいは、人物代表ベクトル算出部160は、複数の撮影データそれぞれの特徴ベクトルと、複数の撮影データそれぞれの品質を示す品質ベクトルとの回帰モデルを生成し、回帰モデルに基づいて、特徴ベクトルの各要素に含まれるノイズ成分を推定する。これにより、特徴ベクトルの各要素から直接的にノイズ成分を除去することが可能になる。なお、回帰モデルの生成に用いられる撮影データは、複数の人物に対して得られたものでもよい。この場合、複数の人物に対して回帰モデルが生成される。ただし、回帰モデルは人物ごとに生成されてもよい。
 人物代表ベクトル算出部160は、推定したノイズ成分を、当該ノイズ成分に対応する特徴ベクトルの第1の要素から引くことで、複数の撮影データそれぞれの特徴ベクトルの第1の要素の、当該第1の要素に対応する人物代表データの第2の要素に対する重みを算出する。ここで、第1の要素および第2の要素は、特徴ベクトルおよび人物代表データ(人物代表ベクトル)を列ベクトルとすると、特徴ベクトルおよび人物代表データの同じ行の要素である。人物代表データの第2の要素は、複数の撮影データの複数の特徴ベクトルの、第2の要素に対応する第1の要素の平均となる。すると、人物代表データの各要素に対する重みが小さい程、人物代表データの算出結果への複数の撮影データそれぞれの特徴ベクトルの、対応する要素の影響が小さくなる。このため、人物代表データに人物(ユーザ)の生体的特徴を適切に反映させることができる。
 更に、クラスタ代表ベクトル算出部170は、複数の人物に対して算出された複数の人物代表データに基づいて、複数の代表データを分類する複数のクラスタに対応する複数のクラスタ代表データを算出する。前述のように、各人物の人物代表データには、各人物の生体的特徴が適切に反映される。このため、例えば、K-means法やGMMなどにより、各人物代表データの類似度を基に、高精度なクラスタリングが可能になる。
 また、認証部180は、人物の認証時に当該人物の撮影データを受け付け、複数のクラスタ代表データのうち撮影データの特徴データとの類似度が高いクラスタ代表データを優先的に選択する。認証部180は、選択したクラスタ代表データに対応するクラスタに分類された人物代表データと特徴データとを類似度に基づき照合する。各人物代表データが高精度にクラスタリングされるため、認証時の人物代表データの、クラスタによる絞り込みの精度が高まる。よって、認証精度を向上できる。
 ここで、特徴データ、人物代表データおよびクラスタ代表データそれぞれは、同一の特徴空間におけるベクトルである。また、類似度は、特徴空間の2つのベクトルで示される2つの点の間の距離である。これにより、認証時の照合を適切に行える。
 また、品質の情報は、撮影データにおけるブラーの大きさ、照明の変動の大きさおよび撮影方向に対する顔の傾きの大きさの少なくとも1つを示す指標値である。前述のように、品質の情報は、これらの指標値を複数個含む品質ベクトルでもよい。これらの指標値は、顔画像を用いた顔認証を行う際に好適であり、顔認証に用いられる人物代表データを生成する際、人物代表データを高精度で生成するために特に有用である。
 なお、第1の実施の形態の情報処理は、処理部12にプログラムを実行させることで実現できる。また、第2,第3の実施の形態の情報処理は、CPU101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体113に記録できる。
 例えば、プログラムを記録した記録媒体113を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体113に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
 上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
 10 情報処理装置
 11 記憶部
 12 処理部
 20 撮影データ群
 21 撮影データ
 30 品質情報群
 31 品質情報
 40 重み情報群
 41 重み情報
 50 代表データ

Claims (13)

  1.  人物の複数の撮影データを受け付け、
     前記複数の撮影データそれぞれの品質と、前記複数の撮影データの数とに基づき、前記複数の撮影データそれぞれに適用する重みを示す重み情報を生成し、
     前記複数の撮影データから前記複数の撮影データを代表する代表データを算出する際に、生成した前記重み情報が示す前記重みが小さい程、前記代表データの算出結果への前記複数の撮影データそれぞれの影響が小さくなるアルゴリズムを適用する、
     処理をコンピュータが実行することを特徴とする制御方法。
  2.  前記重み情報の生成では、前記複数の撮影データの数が少ない程、前記複数の撮影データそれぞれの前記品質が前記複数の撮影データそれぞれの前記重みに与える影響を大きくする、
     ことを特徴とする請求項1記載の制御方法。
  3.  前記重み情報の生成では、閾値に対する前記複数の撮影データの数の比率に基づいて前記重みを算出する、
     ことを特徴とする請求項1記載の制御方法。
  4.  前記重み情報の生成では、前記複数の撮影データの数に対する、所定の品質よりも低品質の撮影データの数の比率に基づいて前記重みを算出する、
     ことを特徴とする請求項1記載の制御方法。
  5.  前記重み情報の生成では、撮影データの品質が高い程、前記撮影データの前記重みを大きくする、
     ことを特徴とする請求項1記載の制御方法。
  6.  前記重み情報の生成では、前記複数の撮影データそれぞれの特徴ベクトルと、前記複数の撮影データそれぞれの前記品質を示す品質ベクトルとの回帰モデルを生成し、前記回帰モデルに基づいて、前記特徴ベクトルの各要素に含まれるノイズ成分を推定する、
     ことを特徴とする請求項1記載の制御方法。
  7.  前記重み情報の生成では、推定した前記ノイズ成分を、前記ノイズ成分に対応する前記特徴ベクトルの第1の要素から引くことで、前記複数の撮影データそれぞれの前記特徴ベクトルの前記第1の要素の、前記第1の要素に対応する前記代表データの第2の要素に対する前記重みを算出する、
     ことを特徴とする請求項6記載の制御方法。
  8.  複数の人物に対して算出された複数の前記代表データに基づいて、複数の前記代表データを分類する複数のクラスタに対応する複数のクラスタ代表データを算出する、
     処理を前記コンピュータが更に実行することを特徴とする請求項1記載の制御方法。
  9.  前記人物の認証時に前記人物の撮影データを受け付け、前記複数のクラスタ代表データのうち前記撮影データの特徴データとの類似度が高いクラスタ代表データを優先的に選択し、選択した前記クラスタ代表データに対応するクラスタに分類された前記代表データと前記特徴データとを前記類似度に基づき照合する、
     処理を前記コンピュータが更に実行することを特徴とする請求項8記載の制御方法。
  10.  前記特徴データ、前記代表データおよび前記クラスタ代表データそれぞれは、同一の特徴空間におけるベクトルであり、
     前記類似度は、前記特徴空間の2つの前記ベクトルで示される2つの点の間の距離である、
     ことを特徴とする請求項9記載の制御方法。
  11.  前記品質の情報は、撮影データにおけるブラーの大きさ、照明の変動の大きさおよび撮影方向に対する顔の傾きの大きさの少なくとも1つを示す指標値である、
     ことを特徴とする請求項1記載の制御方法。
  12.  人物の複数の撮影データを受け付け、
     前記複数の撮影データそれぞれの品質と、前記複数の撮影データの数とに基づき、前記複数の撮影データそれぞれに適用する重みを示す重み情報を生成し、
     前記複数の撮影データから前記複数の撮影データを代表する代表データを算出する際に、生成した前記重み情報が示す前記重みが小さい程、前記代表データの算出結果への前記複数の撮影データそれぞれの影響が小さくなるアルゴリズムを適用する、
     処理をコンピュータに実行させることを特徴とする制御プログラム。
  13.  人物の複数の撮影データを記憶する記憶部と、
     前記複数の撮影データそれぞれの品質と、前記複数の撮影データの数とに基づき、前記複数の撮影データそれぞれに適用する重みを示す重み情報を生成し、前記複数の撮影データから前記複数の撮影データを代表する代表データを算出する際に、生成した前記重み情報が示す前記重みが小さい程、前記代表データの算出結果への前記複数の撮影データそれぞれの影響が小さくなるアルゴリズムを適用する処理部と、
     を有することを特徴とする情報処理装置。
PCT/JP2020/008809 2020-03-03 2020-03-03 制御方法、制御プログラムおよび情報処理装置 WO2021176544A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/JP2020/008809 WO2021176544A1 (ja) 2020-03-03 2020-03-03 制御方法、制御プログラムおよび情報処理装置
CN202080097161.0A CN115136187A (zh) 2020-03-03 2020-03-03 控制方法、控制程序以及信息处理装置
EP20923319.6A EP4116928A4 (en) 2020-03-03 2020-03-03 CONTROL METHOD, CONTROL PROGRAM AND INFORMATION PROCESSING DEVICE
JP2022504800A JP7231879B2 (ja) 2020-03-03 2020-03-03 制御方法、制御プログラムおよび情報処理装置
US17/880,111 US20220383458A1 (en) 2020-03-03 2022-08-03 Control method, storage medium, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/008809 WO2021176544A1 (ja) 2020-03-03 2020-03-03 制御方法、制御プログラムおよび情報処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/880,111 Continuation US20220383458A1 (en) 2020-03-03 2022-08-03 Control method, storage medium, and information processing apparatus

Publications (1)

Publication Number Publication Date
WO2021176544A1 true WO2021176544A1 (ja) 2021-09-10

Family

ID=77613985

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/008809 WO2021176544A1 (ja) 2020-03-03 2020-03-03 制御方法、制御プログラムおよび情報処理装置

Country Status (5)

Country Link
US (1) US20220383458A1 (ja)
EP (1) EP4116928A4 (ja)
JP (1) JP7231879B2 (ja)
CN (1) CN115136187A (ja)
WO (1) WO2021176544A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023157070A1 (ja) * 2022-02-15 2023-08-24 日本電気株式会社 情報処理装置、情報処理方法、及び記録媒体
WO2024047737A1 (ja) * 2022-08-30 2024-03-07 日本電気株式会社 情報処理装置、情報処理方法及び記録媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014132841A1 (ja) * 2013-02-28 2014-09-04 株式会社日立国際電気 人物検索方法及びホーム滞留人物検索装置
WO2016144523A1 (en) 2015-03-11 2016-09-15 Qualcomm Incorporated Online training for object recognition system
JP2017091520A (ja) * 2015-11-11 2017-05-25 三星電子株式会社Samsung Electronics Co.,Ltd. ユーザ認証のための登録データベースの適応的更新方法及び装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014132841A1 (ja) * 2013-02-28 2014-09-04 株式会社日立国際電気 人物検索方法及びホーム滞留人物検索装置
WO2016144523A1 (en) 2015-03-11 2016-09-15 Qualcomm Incorporated Online training for object recognition system
JP2017091520A (ja) * 2015-11-11 2017-05-25 三星電子株式会社Samsung Electronics Co.,Ltd. ユーザ認証のための登録データベースの適応的更新方法及び装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4116928A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023157070A1 (ja) * 2022-02-15 2023-08-24 日本電気株式会社 情報処理装置、情報処理方法、及び記録媒体
WO2024047737A1 (ja) * 2022-08-30 2024-03-07 日本電気株式会社 情報処理装置、情報処理方法及び記録媒体

Also Published As

Publication number Publication date
CN115136187A (zh) 2022-09-30
US20220383458A1 (en) 2022-12-01
JPWO2021176544A1 (ja) 2021-09-10
JP7231879B2 (ja) 2023-03-02
EP4116928A1 (en) 2023-01-11
EP4116928A4 (en) 2023-03-29

Similar Documents

Publication Publication Date Title
US8700557B2 (en) Method and system for association and decision fusion of multimodal inputs
KR100601957B1 (ko) 얼굴 인식을 위한 영상간 대응 결정 방법 및 장치, 이를이루기위한 영상 보정 방법 및 장치
JP4156430B2 (ja) データベース自動更新方法を用いた顔検証方法及びそのシステム
US20220383458A1 (en) Control method, storage medium, and information processing apparatus
JP6089577B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP4775515B1 (ja) 画像照合装置、画像処理システム、画像照合プログラム、コンピュータ読み取り可能な記録媒体、および画像照合方法
US8498454B2 (en) Optimal subspaces for face recognition
CN112329679B (zh) 一种人脸识别方法、系统、电子设备及存储介质
US20190347472A1 (en) Method and system for image identification
US9292752B2 (en) Image processing device and image processing method
US20200265211A1 (en) Fingerprint distortion rectification using deep convolutional neural networks
AU2019200711A1 (en) Biometric verification
Fenu et al. Controlling user access to cloud-connected mobile applications by means of biometrics
JP5850138B2 (ja) 生体認証装置、生体認証方法、および生体認証プログラム
CN111898561A (zh) 一种人脸认证方法、装置、设备及介质
Fairhurst et al. Selective review and analysis of aging effects in biometric system implementation
Jadhav et al. HDL-PI: hybrid DeepLearning technique for person identification using multimodal finger print, iris and face biometric features
Saraswat et al. Anti-spoofing-enabled contactless attendance monitoring system in the COVID-19 pandemic
JP2006085289A (ja) 顔認証システムおよび顔認証方法
CN114730371A (zh) 使用已登记生物特征数据集检测基于生物特征的认证系统中的敌对实例
Gorodnichy Associative neural networks as means for low-resolution video-based recognition
Ding et al. Sequential sample consensus: A robust algorithm for video-based face recognition
Kasprowski et al. Biometric identification using gaze and mouse dynamics during game playing
JP2021140622A (ja) 認証方法、情報処理装置、及び認証プログラム
CN115497146B (zh) 模型的训练方法和装置、身份验证方法和装置

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022504800

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020923319

Country of ref document: EP

Effective date: 20221004