WO2020053953A1 - 照合システム及び照合サーバ - Google Patents
照合システム及び照合サーバ Download PDFInfo
- Publication number
- WO2020053953A1 WO2020053953A1 PCT/JP2018/033588 JP2018033588W WO2020053953A1 WO 2020053953 A1 WO2020053953 A1 WO 2020053953A1 JP 2018033588 W JP2018033588 W JP 2018033588W WO 2020053953 A1 WO2020053953 A1 WO 2020053953A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- collation
- server
- matching
- database
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/316—User authentication by observing the pattern of computer usage, e.g. typical user behaviour
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/165—Detection; Localisation; Normalisation using facial parts and geometric relationships
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2129—Authenticate client device independently of the user
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2211/00—Image generation
- G06T2211/40—Computed tomography
- G06T2211/441—AI-based methods, deep learning or artificial neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/30—Individual registration on entry or exit not involving the use of a pass
- G07C9/32—Individual registration on entry or exit not involving the use of a pass in combination with an identity check
- G07C9/37—Individual registration on entry or exit not involving the use of a pass in combination with an identity check using biometric data, e.g. fingerprints, iris scans or voice recognition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
Definitions
- the present invention relates to a collation system that collates detection data acquired by a detection device with registered data registered in advance.
- AI Artificial Intelligence
- IoT Internet-of-Things
- an edge node is provided at a user side edge portion of a network connecting a cloud server and an end user, and the edge node performs processing in place of the cloud server, thereby reducing the load on the cloud server and processing.
- the invention which aims at improving the real-time property is disclosed.
- cloud computing and edge computing include the following.
- authentication systems used for facility security face authentication, fingerprint authentication, iris authentication, car number authentication, etc.
- face authentication, fingerprint authentication, iris authentication, car number authentication, etc. require real-time performance, but require an image analysis engine and a search / match server for matching.
- image analysis engine and a search / match server for matching.
- the load on the network and the load on the server increase.
- cost-related issues such as the need to upgrade the system by replacing servers are required. There is.
- image analysis and collation functions are implemented in an edge device integrated with a sensor or an edge server integrated with a gateway, it is necessary to simultaneously process authentication of many people and vehicles on one server. Since it is eliminated, it is possible to distribute the calculation load and the communication load. Another advantage is that the system can be easily expanded by adding a small-scale server when the number of sensors increases.
- the edge server uses a smaller computer and storage than the cloud server, so that it may not be possible to secure a sufficient storage capacity and calculation speed for building a database. In this case, even if the data analysis is executed by the edge server, it is necessary to finally perform the authentication by the cloud server, so that the load is not sufficiently distributed.
- the present invention has been made in view of the above-described conventional circumstances, and provides a collation system capable of reducing the load on a cloud server and reducing the traffic between the cloud server and the edge server.
- the purpose is to:
- a collation system is configured as follows. (1) In a collation system for collating detected data acquired by a detecting device with pre-registered registered data, a first collating server having a main database storing all registered data; A second matching server that is located closer to the first matching server and has a sub-database that stores a part of the registration data, wherein the second matching server converts the detected data acquired by the detection device to the second matching server.
- the first matching server compares the detection data received from the second matching server with the registered data in the main database, and compares the matching result with the second matching server. And transmitting to the multiplexer server.
- the first and second collation servers respectively include a data analysis unit that analyzes the detection data, and a detection data based on an analysis result by the data analysis unit.
- a matching unit for calculating the degree of conformity with the registered data; and a model storage unit for storing an inference model used for analysis in the data analysis unit, wherein each model storage of the first and second matching servers is provided.
- the units store the same inference model.
- the collation unit of the second collation server compares the calculated conformity with a predetermined determination criterion value to detect the detection data acquired by the detection device. It is determined whether or not registration data matching with the sub-database exists in the sub-database, and the matching unit of the first matching server compares the calculated degree of matching with a predetermined determination reference value, so that the detection device It is characterized in that it is determined whether or not registered data matching the detected data obtained by the above exists in the main database.
- the first collation server may determine whether the degree of conformity calculated by the first or second collation server based on the detection data acquired by the detection device.
- a learning data storage unit that stores the detection data as learning data when the detection data is within a predetermined range; and a learning unit that re-learns an inference model based on the learning data stored in the learning data storage unit. It is characterized by the following.
- the first verification server stores the inference model re-learned by the learning unit in its own model storage unit and transmits the inference model to the second verification server.
- the second matching server stores the inference model received from the first matching server in its own model storage unit.
- the second collation server calculates the number of collations for each registered data based on a history of collation results by the first or second collation server, and performs collation. For each of the predetermined number of registered data in the order of the number of times, check whether each registered data exists in the sub-database, receive registration data not existing in the sub-database from the first collation server, and Is stored.
- a face image of a person is acquired as detection data by the imaging device serving as the detection device, and the face image is compared with registration data, and the person is registered.
- the method is applied to a face authentication system that determines whether or not a face is recognized.
- the present invention it is possible to provide a collation system capable of reducing the load on the cloud server and reducing the traffic between the cloud server and the edge server.
- FIG. 2 is a diagram illustrating an example of functional blocks of a cloud server of the collation system in FIG. 1.
- FIG. 2 is a diagram illustrating an example of a functional block of an edge server of the matching system in FIG. 1.
- FIG. 11 is a diagram illustrating a sequence example of a matching process in the edge server.
- FIG. 9 is a diagram illustrating a sequence example of a matching process in the cloud server.
- FIG. 13 is a diagram illustrating a sequence example of a database update process of the edge server. It is a figure which shows the example of a sequence of the relearning process of an inference model.
- FIG. 1 shows a schematic configuration of a collation system according to an embodiment of the present invention.
- the verification system includes a cloud server 100, an edge server 200, a sensor 300, and an actuator 400.
- This collation system is configured to collate the detection data acquired by the sensor 300 with registration data registered in advance in the database of the edge server 200 or the cloud server 100, and control the actuator 400 based on the result.
- the cloud server 100 corresponds to the first matching server according to the present invention
- the edge server 200 corresponds to the second matching server according to the present invention
- the sensor 300 corresponds to the detecting device according to the present invention. ing.
- the edge server 200 is connected to the cloud server 100 via the Internet, for example.
- Terminal devices such as the sensor 300 and the actuator 400 are connected to the edge server 200 via, for example, an intranet or a dedicated bus.
- the above connection method is merely an example, and the components (each device and server) of the present system can be connected via various types of wireless or wired networks.
- edge server 200, the sensor 300, and the actuator 400 shown in FIG. 1 merely represent an example of an entity arranged at the edge (user side) of the network, and may have another device configuration.
- the edge server and the terminal device (sensor or actuator) may be mounted on the same hardware as an edge device.
- a plurality of sensors and actuators may be connected to one edge server. The number of sensors and actuators connected to one edge server is arbitrary.
- the sensor 300 is a device that acquires detection data collated by the edge server 200 or the cloud server 100.
- an imaging device camera
- a thermometer that measures ambient temperature and outputs temperature data
- vibration data by measuring acceleration applied to itself.
- Various types of sensors can be used, such as an acceleration sensor.
- the actuator 400 is a device that is controlled in accordance with the result of the detection data collation.
- various output devices such as a monitor, a speaker, and a lamp may be controlled in accordance with the result of matching the detected data.
- the edge server 200 is located closer to the cloud server 100 when viewed from the terminal device.
- “close” means that the distance in the network space is short (that is, the communication time is short), and does not mean that the physical distance is short.
- the communication time is generally shorter (or longer) as the physical distance is shorter (or farther)
- the physical distance and the distance in the network space often have a correlation.
- Examples of modes of disposing the edge server 200 closer to the cloud server 100 as viewed from the terminal device include the following (A) to (D). In addition, these are only examples, and arrangement
- the edge server 200 is configured as a device (edge device) integrated with the terminal device.
- a terminal device is connected to the edge server 200 so as to be communicable by cable or short-range wireless communication.
- the edge server 200 is arranged in the local network where the terminal device is located, and the cloud server 100 is arranged in an external network.
- the edge server 200 is arranged in the middle of the network path between the terminal device and the cloud server 100.
- FIG. 2 shows an example of functional blocks of the cloud server 100.
- FIG. 3 shows an example of a functional block of the edge server 200.
- the cloud server 100 has a function of centrally controlling the system and a function of complementing the operation of the edge server 200.
- the edge server 200 includes a data analysis unit 201, a collation data storage unit 202, a collation unit 203, a history storage unit 204, a detection data transmission unit 205, a learning data transmission unit 206, a model storage unit 207, and an actuator control unit 208.
- the data analysis unit 201 receives the detection data (or data that has been subjected to the pre-processing of data analysis) acquired by the sensor 300, and analyzes the detection data to extract a feature amount necessary for collation.
- the data analysis by the data analysis unit 201 is performed using an inference model (a machine learning model or a deep learning model) stored in the model storage unit 207.
- the collation data storage unit 202 has a database function of storing registration data registered in advance in the system for collation and associated attribute data.
- the registered data in the collation data storage unit 202 is collated with the feature amount of the detection data extracted by the data analysis unit 201.
- the collation data storage unit 202 stores only a part (subset) of registration data, not all registration data handled by the present system.
- the registration data stored in the verification data storage unit 202 may be different for each edge server 200. That is, in the matching data storage unit 202 of each edge server 200, registered data that is highly likely to be matched by the edge server 200 is selectively stored.
- the collation unit 203 performs collation on the collation data storage unit 202 with the feature amount of the detection data extracted by the data analysis unit 201 as an input. Specifically, the matching unit 203 searches the matching data storage unit 202 using the input detection data as a key, specifies registered data (and its attribute data) most suitable for the detection data, and Acquire the degree of conformity between the data and the registered data. As the fitness, various types of values can be used. For example, values such as reliability, likelihood, and Euclidean distance can be used as the fitness. As a result of the collation, if a degree of conformity exceeding a predetermined determination reference value is obtained, it is determined that the collation is successful (registered data matching the detection data exists in the collation data storage unit 202). Determines that the matching has failed (registration data matching the detection data does not exist in the matching data storage unit 202). Further, the collating unit 203 is configured to request the cloud server 100 to collate and obtain a collation result in the case of a collation failure.
- the history storage unit 204 stores history data of the comparison performed by the comparison unit 203.
- the history data includes, for example, an ID for identifying each history, a time of collation, detection data (or its characteristic amount), identification information of the sensor 300 from which the detection data was obtained (for example, sensor ID), and processing of the detection data. It is composed of identification information of the edge server 200 (for example, edge ID), data of a collation result (for example, identification information of retrieved registered data, success / failure of collation, matching degree), and the like.
- the detection data transmission unit 205 transmits the detection data (or data that has been subjected to preprocessing for data analysis) acquired by the sensor 300 to the cloud server 100. However, the detection data transmission unit 205 does not transmit all the detection data, but transmits the detection data only when it is determined that the collation has failed.
- the learning data transmission unit 206 associates the detection data acquired by the sensor 300 (or data that has been subjected to data analysis preprocessing) with the data of the collation result by the collation unit 203, and transmits the data as learning data to the cloud server 100. I do. However, the learning data transmission unit 206 does not transmit all the detection data, but transmits only those that satisfy a predetermined condition (described later).
- the model storage unit 207 stores an inference model used when the data analysis unit 201 performs data analysis.
- the inference model in the model storage unit 207 is appropriately updated by the re-learned inference model transmitted from the cloud server 100.
- the actuator control unit 208 generates a control command for controlling the operation of the actuator 400 based on the result of the comparison by the comparison unit 203 (or the cloud server 100), and transmits the control command to the actuator 400.
- the actuator control unit 208 may generate a control command for controlling the operation of another device such as the sensor 300 instead of or in addition to the control command of the actuator 400, and transmit the control command to the corresponding device.
- the cloud server 100 includes a data analysis unit 101, a collation data storage unit 102, a collation unit 103, a history storage unit 104, a learning data storage unit 105, a learning unit 106, a model storage unit 107, and a collation result transmission unit 108.
- the data analysis unit 101 receives the detection data transmitted from the edge server 200 (or data that has been subjected to data analysis preprocessing), analyzes the detection data, and extracts a feature amount necessary for collation. Data analysis by the data analysis unit 101 is performed using an inference model (a machine learning model or a deep learning model) stored in the model storage unit 107.
- an inference model a machine learning model or a deep learning model
- the collation data storage unit 102 has a database function of storing registration data registered in advance in the system for collation and associated attribute data.
- the registered data in the collation data storage unit 102 is collated with the feature amount of the detection data extracted by the data analysis unit 101.
- the collation data storage unit 102 stores all registration data handled by the present system.
- the collation unit 103 performs collation on the collation data storage unit 102 with the feature amount of the detection data extracted by the data analysis unit 101 as an input. Specifically, the collation unit 103 searches the collation data storage unit 102 using the input detection data as a key, specifies registered data (and its attribute data) most suitable for the detection data, and Acquire the degree of conformity between the data and the registered data. As a result, if a degree of conformity exceeding a predetermined criterion value is obtained, it is determined that collation has succeeded (registered data matching the detection data exists in the collation data storage unit 102). It is determined that the collation has failed (registration data matching the detection data does not exist in the collation data storage unit 102).
- the history storage unit 104 stores history data of the comparison performed by the comparison unit 103.
- the history data includes, for example, an ID for identifying each history, a time of collation, detection data (or its characteristic amount), identification information of the sensor 300 from which the detection data was obtained (for example, sensor ID), and processing of the detection data. It is composed of identification information of the edge server 200 (for example, edge ID), data of a collation result (for example, identification information of retrieved registered data, success / failure of collation, matching degree), and the like.
- the learning data storage unit 105 associates the detection data acquired by the sensor 300 (or the data that has been subjected to the pre-processing of data analysis) with the data of the collation result by the collation unit 103 and stores the data as learning data. However, the learning data transmission unit 105 does not store all pieces of detection data, but stores only those that satisfy a predetermined condition (described later). The learning data storage unit 105 also stores learning data received from the edge server 200.
- the learning unit 106 re-learns an inference model used for data analysis by the data analysis units 101 and 201 based on the learning data stored in the learning data storage unit 105. Re-learning of the inference model may be performed by machine learning, deep learning, or other techniques.
- the learning unit 106 stores the re-learned inference model in the model storage unit 107, transmits the inference model to the edge server 200, and stores it in the model storage unit 207. Therefore, the same latest inference model is stored in the model storage units 101 and 201.
- the model storage unit 107 stores an inference model used when the data analysis unit 101 analyzes data.
- the inference model in the model storage unit 107 is appropriately updated by the inference model re-learned by the learning unit 106.
- the collation result transmission unit 108 transmits the collation result (for example, the retrieved registration data, the success or failure of the collation, the degree of conformity) by the collation unit 103 to the edge server 200 that has transmitted the collated detection data.
- the collation result for example, the retrieved registration data, the success or failure of the collation, the degree of conformity
- a face image of a person taken by an imaging device (camera) installed as a sensor 300 near the entrance door of the facility is authenticated, and the door is opened and closed according to whether the person is a registered person.
- a case where the present verification system is applied to a face authentication system controlled by the actuator 400 will be described as an example.
- the database (102, 202) of each server (100, 200) for example, registration data including a face image of a person registered in advance and its feature amount, and the sex, age, / Attribute data including “not allowed” is stored.
- FIG. 4 shows a sequence example of the matching processing in the edge server 200.
- the sensor 300 performs sensing (step S101).
- the detection data obtained by the sensing is transmitted to the edge server 200 (Step S102).
- a face image of a person is transmitted to the edge server 200 as detection data.
- the edge server 200 Upon receiving the detection data from the sensor 300, the edge server 200 performs the following processing. First, the data analysis unit 201 performs data analysis to extract a feature amount of the detected data (step S103).
- the collation unit 203 searches the collation data storage unit 202 using the feature amount extracted by the data analysis unit 201 as a key, and specifies registered data (and its attribute data) most suitable for the detected data. Then, the degree of conformity between the detection data and the registration data is obtained (step S104).
- the matching unit 203 compares the matching obtained by the matching with a first threshold value (90% in this example), which is a determination reference value, and determines that the matching is successful if the matching is equal to or greater than the first threshold, and otherwise determines If the collation fails, it is determined (step S105).
- the actuator control unit 208 If the collation is determined to be successful in step S105, the actuator control unit 208 generates a control command based on the attribute data retrieved from the collation data storage unit 202 (step S106). For example, if “entry permitted” is set in the attribute data of the registration data that matches the person photographed by the camera, a control command to instruct door opening or key release is generated, but “entrance impossible” is generated. If it is set, a control command for instructing display of a message indicating that it is impossible to enter, output of a warning sound, lighting of a lamp, and the like is generated.
- the control command generated by the actuator control unit 208 is transmitted to the actuator 400 (or an output device such as a monitor, a speaker, and a lamp provided near the actuator 400) (Step S107).
- the actuator 400 (or the output device) operates based on the control command received from the edge server 200 (Step S108). For example, an operation of opening a door or releasing a key is performed. Alternatively, operations such as displaying a message indicating that it is impossible to enter the building, outputting a warning sound, and lighting a lamp are performed.
- the edge server 200 when it is determined that the matching is successful in step S105, the edge server 200 causes the history storage unit 104 to store the history data of the matching performed by the matching unit 103.
- the history data for example, the success or failure of the collation, the identification information (for example, personal ID) of the registered data successfully collated, the authentication time, and the like are recorded (step S109).
- the learning data transmitting unit 206 determines whether or not to transmit the learning data to the cloud server 100 based on the degree of matching acquired by the collation by the collating unit 203 (Step S110).
- the learning data is transmitted on condition that the degree of matching is within a predetermined range.
- a second threshold value for example, 95%) that defines the upper limit of the predetermined range
- the learning data is transmitted to the cloud server 100 (Step S111). That is, when the matching is successful (the degree of conformity is equal to or more than the first threshold) but the reliability is not so high (the degree of conformity is less than the second threshold), the learning data is transmitted.
- the cloud server 100 stores the learning data received from the edge server 200 in the learning data storage unit 105 (Step S112).
- step S105 if it is determined in step S105 that the matching has failed, the process proceeds to the matching process (step S200) by the cloud server 100.
- FIG. 5 shows a sequence example of the collation processing in the cloud server 100.
- the detection data transmission unit 205 transmits, to the cloud server 100, the detection data in which the matching has failed (the degree of matching is less than the first threshold) (Step S201). That is, when it is determined that there is no registered data matching the detected data in the database of the edge server 200, the detected data is transmitted to the cloud server 100.
- the cloud server 100 When the cloud server 100 receives the detection data from the edge server 200, the cloud server 100 performs the following processing. First, the data analysis unit 101 performs data analysis to extract a feature amount of detected data (step S202).
- the collation unit 103 searches the collation data storage unit 102 using the feature amount extracted by the data analysis unit 101 as a key, and specifies registered data (and its attribute data) most suitable for the detected data, Then, the degree of matching between the detected data and the registered data is obtained (step S203).
- the matching unit 103 compares the matching obtained by the matching with a first threshold (90% in this example), which is a criterion value. If the matching is equal to or greater than the first threshold, the matching is determined to be a successful match. If not, it is determined that the collation has failed (step S204).
- the matching result transmitting unit 108 determines that the matching is successful in step S204, the matching result transmitting unit 108 transmits a matching success notification indicating that the matching by the matching unit 103 is successful to the edge server 200 (step S205).
- a matching failure notification indicating that matching by the matching unit 103 has failed is transmitted to the edge server 200 (step S209). At the time of these notifications, not only the success or failure of the collation, but also the identification information of the searched registered data and its attribute data are transmitted.
- the actuator control unit 208 When the edge server 200 receives the matching success notification or the matching failure notification from the cloud server 100, the actuator control unit 208 generates a control command based on the attribute data received together with the notification (Step S210). For example, in the case of the verification success notification, if “entry permitted” is set in the attribute data received with the notification, a control command to instruct door opening or key release is generated. If it is set, a control command for instructing display of a message indicating that it is impossible to enter, output of a warning sound, lighting of a lamp, and the like is generated. Also, in the case of the verification failure notification, a control command for instructing display of a message indicating that entry is not possible, output of a warning sound, lighting of a lamp, and the like is generated.
- the control command generated by the actuator control unit 208 is transmitted to the actuator 400 (or an output device such as a monitor, a speaker, and a lamp provided near the actuator 400) (step S211).
- the actuator 400 (or the output device) operates based on the control command received from the edge server 200 (Step S212). For example, an operation of opening a door or releasing a key is performed. Alternatively, operations such as displaying a message indicating that it is impossible to enter the building, outputting a warning sound, and lighting a lamp are performed.
- the edge server 200 causes the history storage unit 104 to store the history data of the collation executed by the cloud server 100.
- the history data for example, success or failure of the collation, identification information (for example, personal ID) of the registered data that has been successfully collated, an authentication time, and the like are recorded (step S213). It is needless to say that if the verification fails, the identification information of the person is not stored.
- the cloud server 100 determines whether or not to store the learning data in the learning data storage unit 105 based on the matching degree acquired by the matching by the matching unit 103 (Stes S206 and S207).
- the learning data is stored in the learning data storage unit 105 on condition that the degree of matching is within a predetermined range. In this example, if the matching is successful (the fitness is equal to or more than the first threshold), the learning data is stored if the fitness is lower than a second threshold (for example, 95%) that defines the upper limit of the predetermined range (step S204). : Yes, step S206: Yes, step S208).
- step S204 No, step S207: Yes, step S208. That is, when the matching is successful (the degree of conformity is equal to or more than the first threshold) but the reliability is not so high (the degree of conformity is less than the second threshold), the learning data is stored. Further, if the matching fails (the degree of conformity is less than the first threshold) but the reliability is a certain level (the degree of conformity is equal to or greater than the third threshold), the learning data is stored.
- a third threshold for example, 85%
- third threshold ⁇ first threshold ⁇ second threshold is a threshold value used as learning data in order to prevent detection data that has succeeded in matching but has a low degree of conformity from being further deteriorated in matching accuracy in future matching.
- the third threshold value is a threshold value for determining, from the failed detection data, data that may have actually been successfully verified as learning data. Instead of using the third threshold value, all pieces of detection data that failed to match may be used as learning data, but many learning data that does not contribute to re-learning will be included. For this reason, it can be said that it is preferable to use the third threshold value so as to exclude those having an excessively low degree of matching.
- FIG. 6 shows a sequence example of the database update process of the edge server 200.
- the edge server 200 can perform many matchings. Since people who visit facilities tend to change over time, the system is optimized by updating the registered data in the collation data storage unit 202 as needed.
- the timing of the optimization may be a regular one-day cycle, a one-month cycle, or an arbitrary timing instructed by the system operator.
- the communication between the edge server 200 and the cloud server 100 may be monitored, and the optimization may be performed when the number of times the cloud server 100 has transmitted the matching success notification within the predetermined period is equal to or more than the predetermined number.
- the edge server 200 performs the following processing when the timing to execute the optimization comes. First, the history data in the history storage unit 204 for the latest fixed period (for example, one day, one month, etc.) is totaled, and the number of times of collation for each registered data is calculated (step S301). Next, it is confirmed whether the registered data exists in the collation data storage unit 202 with respect to a predetermined number of registered data in the order of the number of times of collation, and the registration data that does not exist in the collation data storage unit 202 is specified (step S302). ).
- the history data in the history storage unit 204 for the latest fixed period for example, one day, one month, etc.
- the edge server 200 transmits to the cloud server 100 a collation data update request for requesting transmission of registration data that does not exist in the collation data storage unit 202 (Step S303).
- the cloud server 100 reads the registration data corresponding to the verification data update request from the verification data storage unit 102, and transmits the read registration data to the edge server 200 (Step S304).
- the edge server 200 deletes unnecessary registration data from the collation data storage unit 202 in the order of smaller number of collations, and stores the registration data received from the cloud server 100 in the collation data storage unit 202 (Step S305).
- the number of times of the latest verification (face authentication) in the edge server 200 is totaled to create a visit frequency ranking, and the top 1000 persons in the visit frequency ranking are specified.
- the registration data of a person not existing in the storage unit 202 is received from the cloud server 100 and stored in the collation data storage unit 202. At this time, if the registered data is simply added to the collation data storage unit 202, the number of registered data may exceed the upper limit (1000 in this example). In this case, the number of registered data is adjusted by deleting the excess registered data in the collation data storage unit 202 in order from the bottom of the visit count ranking.
- the edge server 200 may notify the cloud server 100 of identification information (for example, a list of personal IDs) of all registered data held by the edge server 200. This allows the cloud server 100 to know which edge server 200 currently holds which registration data. Also, by performing such information sharing, when the registration data is changed in the cloud server 100, the latest registration data is transmitted to the edge server 200 holding the corresponding registration data, and the collation data is transmitted.
- the storage unit 202 can be updated. This allows the edge server 200 to perform the collation using the latest registration data, and also allows the cloud server 100 to share information of the registration data owned by each edge server 200.
- FIG. 7 shows an example of a sequence of the re-learning process of the inference model.
- the timing of updating the inference model may be a periodic one-day cycle, a one-month cycle, or any timing instructed by the system operator.
- a certain degree or more of learning data is transmitted to the cloud server 100 due to a low degree of matching when the edge server 200 succeeds in matching, or the number of times that the learning data is transmitted from the edge server 200 within a predetermined period is reduced.
- the optimization may be performed when the number of times reaches a predetermined number or more.
- Correction may be manually performed on data that has been successfully collated so that accurate learning can be performed.
- the cloud server 100 performs the following processing when the timing to execute the re-learning of the inference model comes.
- the learning unit 106 re-learns the inference model based on the learning data stored in the learning data storage unit 105 (step S401).
- the learning unit 106 may perform new learning, or may perform learning using only new learning data by a known method called fine tuning. Also, new learning or fine tuning may be performed using only learning data having a high frequency of occurrence.
- the learning unit 106 stores the latest inference model obtained by the re-learning in the model storage unit 107 and transmits the model to the edge server 200 (step S402).
- the edge server 200 stores the latest inference model received from the cloud server 100 in the model storage unit 207, and uses it for subsequent data analysis by the data analysis unit 201 (Step S403).
- the inference model may be overwritten and updated, but in consideration of the possibility that the accuracy of the updated model may be degraded, a past inference model may be saved and restored. .
- the past inference model may be stored only in the model storage unit 107 of the cloud server 100, or may be stored in the model storage unit 207 of the edge server 200.
- the cloud server 100 holds the main database (102) storing all registration data handled by the system, and the sub-database (202) storing a part of registration data. Is held by the edge server 200 arranged near the sensor 300. In the sub database (202) of the edge server 200, only registered data that is highly likely to be collated by the edge server 200 is stored. Then, the edge server 200 checks the detection data acquired by the sensor 300 with the registration data in the sub-database, and when it is determined that the registration data matching the detection data does not exist in the sub-database, It is configured to transmit data to the cloud server 100 and request collation with registered data in the main database.
- the edge server 200 After the matching is performed by the edge server 200, only a part of the detection data for which the matching has failed is compared by the cloud server 100. This can reduce the processing load on the cloud server 100 and the communication load between the edge server 200 and the cloud server 100. In addition, since most of the detection data can be collated by the edge server 200 near the sensor 300, a collation result can be obtained immediately. Further, even when the registration data is not synchronized between the edge server 200 and the cloud server 100 (for example, when new registration data is not registered in the edge server 200), the matching in the edge server 200 fails. In this case, since the collation is performed by the cloud server 100, the collation using the latest registration data can be performed.
- the load of collation can be distributed to each edge server 200, and the load can be further reduced.
- simple machine learning by small-scale mounting processing can be realized. As a result, since the AI engine is no longer a large AI engine as in the past, simple machine learning can be easily performed.
- the detection data itself is transmitted to the cloud server 100 to request the matching, but a part of the detection data or the feature amount of the detection data is used. May be transmitted.
- a partial image obtained by cutting out a portion to be watched in a face image, which is detection data, or distance information between face parts such as eyes, a nose, and a mouth may be transmitted as a feature amount of the detection data.
- the amount of transmission data can be reduced, so that the communication load can be reduced.
- the processing load on the cloud server 100 can be reduced.
- the learning data (detection data and data of the matching result) is appropriately transmitted from the edge server 200 to the cloud server 200.
- the learning data is temporarily stored in a memory in the edge server 200.
- And may be transmitted to the cloud server 200 at a predetermined timing. For example, it may be performed at a timing when the amount of accumulated data exceeds a predetermined value, may be performed at a timing when a randomly calculated random value exceeds a predetermined value, and may be performed at a predetermined time period (e.g., at night) when traffic is small.
- the transmission may be performed during a peak off time period where the influence of the load is small.
- a part of the detection data or a feature amount of the detection data may be transmitted as the learning data.
- a partial image obtained by cutting out a portion to be watched in a face image, which is detection data, or distance information between face parts such as eyes, a nose, and a mouth may be transmitted as learning data.
- the matching system of the present example is applied to a face authentication system is described as an example, but it goes without saying that the matching system can be applied to other systems.
- the occurrence of an event is specified based on detection data obtained from sensors installed at various locations in the factory, the control content to be executed in response to the event is searched from a database, and the corresponding actuator is controlled. It may be applied to a device control system to be operated.
- the database of the cloud server 100 and the edge server 200 may store a plurality of registration data indicating a preset event and attribute data indicating control to be executed in response to the event.
- the present invention has been described in detail based on the embodiments. However, it is needless to say that the present invention is not limited to the collation system described here, but can be widely applied to collation systems other than the above.
- the present invention can be provided as, for example, a method and a method for executing the processing according to the present invention, a program for realizing such a method and the method, and a storage medium for storing the program.
- the present invention can be used for various collation systems that collate detection data acquired by a detection device with registered data registered in advance.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Geometry (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Image Analysis (AREA)
- Telephonic Communication Services (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
クラウドサーバの負荷を低減すると共に、クラウドサーバとエッジサーバの通信量を低減することが可能な照合システムを提供する。 本システムで取り扱う全ての登録データを記憶する主データベース(102)をクラウドサーバ100が保持し、一部の登録データを記憶する副データベース(202)をセンサー300の近くに配置されたエッジサーバ200が保持する。各エッジサーバ200の副データベースには、そのエッジサーバ200で照合される可能性が高い登録データのみが記憶される。エッジサーバ200は、センサー300により取得された検出データを副データベース内の登録データと照合し、該検出データと適合する登録データが副データベース内に存在しないと判定された場合に、該検出データをクラウドサーバ100へ送信して主データベース内の登録データとの照合を依頼する。
Description
本発明は、検出機器により取得された検出データを予め登録された登録データと照合する照合システムに関する。
近年、人工知能(AI;Artificial Intelligence)が注目を集めており、画像・音声の認識、需要予測、異常検知など、様々な分野で活用されている。AIの多くはクラウドサーバに実装されており、カメラ、マイク、センサなどによって取得されたデータはネットワークを介してクラウド側に集約され、分析が行われる。また、AIと並んで、IoT(Internet-of-Things)と呼ばれるような、あらゆる物にセンサを取り付けて機器状態や環境をセンシングするセンサーネットワークも発達してきている。このため、ビッグデータと呼ばれるような膨大なデータを扱うネットワークやクラウドサーバへの負荷が増大する一方である。
また近年では、ネットワークのエッジにある携帯電話やスマートフォン、センサなどの近傍に計算資源を配置することで、クラウドサーバへの負荷や通信負荷を軽減するエッジコンピューティングが注目されている。例えば、特許文献1には、クラウドサーバとエンドユーザを繋ぐネットワークのユーザ側エッジ部分にエッジノードを配備し、クラウドサーバに代わってエッジノードが処理を行うことで、クラウドサーバの負荷の軽減と処理のリアルタイム性の向上を図る発明が開示されている。
クラウドコンピューティングとエッジコンピューティングのメリットとしては、以下のようなものが挙げられる。
例えば、施設のセキュリティに用いられる認証システム(顔認証、指紋認証、虹彩認証、車番認証など)は、リアルタイム性が求められる一方で、照合を行うための画像解析エンジンや検索・照合サーバが必要となる。施設の規模が大きい場合には、照合用データベースの登録件数も多く、認証端末やセンサも多くなるため、ネットワークの負荷とサーバの負荷が増大するという問題がある。また、小規模で運用を開始したシステムをスケールアップする際には、データベースのみならず計算機能力そのものを向上させなくてはならないため、サーバの入れ替えによるシステムの増強が必要となるといったコスト面の課題がある。
例えば、施設のセキュリティに用いられる認証システム(顔認証、指紋認証、虹彩認証、車番認証など)は、リアルタイム性が求められる一方で、照合を行うための画像解析エンジンや検索・照合サーバが必要となる。施設の規模が大きい場合には、照合用データベースの登録件数も多く、認証端末やセンサも多くなるため、ネットワークの負荷とサーバの負荷が増大するという問題がある。また、小規模で運用を開始したシステムをスケールアップする際には、データベースのみならず計算機能力そのものを向上させなくてはならないため、サーバの入れ替えによるシステムの増強が必要となるといったコスト面の課題がある。
画像解析や照合の機能を、センサと一体化させたエッジデバイスや、ゲートウェイと一体化させたエッジサーバに実装した場合には、多数の人物や車両の認証を1つのサーバで同時処理する必要がなくなるため、計算負荷や通信負荷を分散させることが可能である。また、センサ数が多くなった場合に、小規模なサーバを追加することでシステムを容易に拡張できるメリットもある。
しかしながら、多数の人物や車両をエッジサーバのデータベースに登録すると、エッジサーバが大規模化するといった問題がある。通常、エッジサーバは、クラウドサーバよりも小規模な計算機とストレージが用いられるため、データベースの構築に十分な記憶容量や計算速度を確保できない場合がある。この場合、エッジサーバでデータ解析を実行したとしても、最終的にはクラウドサーバで認証を行う必要があるため、負荷の分散が十分になされない。
認証システム以外のシステムでも同様である。例えば、センシングデータに応じてロボットなどのアクチュエータを制御するシステムでは、多数のセンサから得られたデータを元にイベントを検知し、イベントの組み合わせを考慮してイベントを分類し、イベントに対応した実行すべき制御を検索処理する必要がある。このため、センサやアクチュエータの増加に応じてサーバの計算負荷が大きくなるため、小規模に実装できるエッジ処理が求められる。
本発明は、上記のような従来の事情に鑑みて為されたものであり、クラウドサーバの負荷を低減すると共に、クラウドサーバとエッジサーバの通信量を低減することが可能な照合システムを提供することを目的とする。
上記目的を達成するために、本発明では、照合システムを以下のように構成した。
(1)検出機器により取得された検出データを予め登録された登録データと照合する照合システムにおいて、全ての登録データを記憶する主データベースを有する第1の照合サーバと、前記検出機器から見て前記第1の照合サーバより近くに配置され、一部の登録データを記憶する副データベースを有する第2の照合サーバとを備え、前記第2の照合サーバは、前記検出機器により取得された検出データを前記副データベース内の登録データと照合し、該検出データと適合する登録データが前記副データベース内に存在しないと判定された場合に、該検出データを前記第1の照合サーバへ送信し、前記第1の照合サーバは、前記第2の照合サーバから受信した検出データを前記主データベース内の登録データと照合し、照合結果を前記第2の照合サーバへ送信することを特徴とする。
(1)検出機器により取得された検出データを予め登録された登録データと照合する照合システムにおいて、全ての登録データを記憶する主データベースを有する第1の照合サーバと、前記検出機器から見て前記第1の照合サーバより近くに配置され、一部の登録データを記憶する副データベースを有する第2の照合サーバとを備え、前記第2の照合サーバは、前記検出機器により取得された検出データを前記副データベース内の登録データと照合し、該検出データと適合する登録データが前記副データベース内に存在しないと判定された場合に、該検出データを前記第1の照合サーバへ送信し、前記第1の照合サーバは、前記第2の照合サーバから受信した検出データを前記主データベース内の登録データと照合し、照合結果を前記第2の照合サーバへ送信することを特徴とする。
(2) 上記(1)に記載の照合システムにおいて、前記第1及び第2の照合サーバは、それぞれ、検出データを解析するデータ解析部と、前記データ解析部による解析結果に基づいて検出データと登録データとの適合度を算出する照合部と、前記データ解析部での解析に使用される推論モデルを記憶するモデル記憶部とを有し、前記第1及び第2の照合サーバの各モデル記憶部には、互いに同じ推論モデルが記憶されていることを特徴とする。
(3) 上記(2)に記載の照合システムにおいて、前記第2の照合サーバの照合部は、算出した適合度を所定の判定基準値と比較することで、前記検出機器により取得された検出データと適合する登録データが前記副データベース内に存在するか否かを判定し、前記第1の照合サーバの照合部は、算出した適合度を所定の判定基準値と比較することで、前記検出機器により取得された検出データと適合する登録データが前記主データベース内に存在するか否かを判定することを特徴とする。
(4) 上記(2)に記載の照合システムにおいて、前記第1の照合サーバは、前記検出機器により取得された検出データに基づいて前記第1又は第2の照合サーバで算出された適合度が所定の範囲内となった場合に、該検出データを学習データとして記憶する学習データ記憶部と、前記学習データ記憶部に記憶された学習データに基づいて推論モデルを再学習する学習部とを有することを特徴とする。
(5) 上記(4)に記載の照合システムにおいて、前記第1の照合サーバは、前記学習部により再学習された推論モデルを自身のモデル記憶部に記憶させると共に前記第2の照合サーバに送信し、前記第2の照合サーバは、前記第1の照合サーバから受信した推論モデルを自身のモデル記憶部に記憶させることを特徴とする。
(6) 上記(1)に記載の照合システムにおいて、前記第2の照合サーバは、前記第1又は第2の照合サーバによる照合結果の履歴に基づいて登録データ毎の照合回数を算出し、照合回数が多い順の所定数の登録データについて各登録データが前記副データベース内に存在するかを確認し、前記副データベース内に存在しない登録データを前記第1の照合サーバから受信して前記副データベースに記憶させることを特徴とする。
(7) 上記(1)に記載の照合システムにおいて、前記検出機器である撮像装置により人物の顔画像を検出データとして取得し、該顔画像を登録データと照合して該人物が登録済みの人物か否かを判定する顔認証システムに適用されることを特徴とする。
本発明によれば、クラウドサーバの負荷を低減すると共に、クラウドサーバとエッジサーバの通信量を低減することが可能な照合システムを提供することができる。
以下、本発明の一実施形態に係る照合システムについて、図面を参照して説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示される。
図1には、本発明の一実施形態に係る照合システムの概略構成を示してある。
本照合システムは、クラウドサーバ100と、エッジサーバ200と、センサー300と、アクチュエータ400とを備える。本照合システムは、センサー300により取得された検出データをエッジサーバ200又はクラウドサーバ100のデータベースに予め登録された登録データと照合し、その結果に基づいてアクチュエータ400を制御するよう構成されている。本例では、クラウドサーバ100が本発明に係る第1の照合サーバに対応し、エッジサーバ200が本発明に係る第2の照合サーバに対応し、センサー300が本発明に係る検出機器に対応している。
本照合システムは、クラウドサーバ100と、エッジサーバ200と、センサー300と、アクチュエータ400とを備える。本照合システムは、センサー300により取得された検出データをエッジサーバ200又はクラウドサーバ100のデータベースに予め登録された登録データと照合し、その結果に基づいてアクチュエータ400を制御するよう構成されている。本例では、クラウドサーバ100が本発明に係る第1の照合サーバに対応し、エッジサーバ200が本発明に係る第2の照合サーバに対応し、センサー300が本発明に係る検出機器に対応している。
図1では、センサー300(A)及びアクチュエータ400(A)と接続されたエッジサーバ200(A)と、センサー300(B)及びアクチュエータ400(B)と接続されたエッジサーバ200(B)と、センサー300(C)及びアクチュエータ400(C)と接続されたエッジサーバ200(C)が、クラウドサーバ100と接続されている。エッジサーバ200は、例えば、インターネットを介して、クラウドサーバ100と接続される。また、センサー300やアクチュエータ400といった末端機器は、例えば、イントラネットや専用バスなどを介して、エッジサーバ200と接続される。なお、上記の接続方式は一例を挙げたに過ぎず、本システムの構成要素(各機器やサーバ)は種々のタイプの無線又は有線ネットワークを介して接続することができる。
なお、図1に示したエッジサーバ200、センサー300、アクチュエータ400は、ネットワークのエッジ(ユーザ側)に配置されるエンティティの一例を表現したに過ぎず、他の装置構成であっても構わない。例えば、エッジサーバと末端機器(センサーやアクチュエータ)をエッジデバイスとして同一のハードウェア上に実装してもよい。例えば、1つのエッジサーバに対して複数のセンサーやアクチュエータが接続されてもよい。1つのエッジサーバに接続されるセンサーやアクチュエータの数は任意である。
センサー300は、エッジサーバ200又はクラウドサーバ100により照合される検出データを取得する機器である。センサー300としては、所定範囲を撮像して画像データを出力する撮像装置(カメラ)、周辺の温度を計測して温度データを出力する温度計、自身に加わる加速度を測定して振動データを出力する加速度センサーなど、種々の形式のセンサーを使用することができる。
アクチュエータ400は、検出データの照合結果に応じて制御される機器である。アクチュエータ400に代えて又はこれと共に、モニタ、スピーカ、ランプ等の各種の出力機器を、検出データの照合結果に応じて制御する構成としてもよい。
エッジサーバ200は、末端機器から見てクラウドサーバ100より近くに配置される。ここで言う「近く」とは、ネットワーク空間上の距離が近い(すなわち、通信時間が短い)ことを意味しており、物理的な距離が近いことを意味するものではない。ただし、物理的な距離が近い(又は遠い)と通信時間が短く(又は長く)なることが一般的であるため、物理的な距離とネットワーク空間上の距離とは相関関係を有することが多い。
末端機器から見てクラウドサーバ100より近くにエッジサーバ200を配置する態様としては、例えば、下記(A)~(D)が挙げられる。なお、これらは一例に過ぎず、他の態様の配置であっても構わない。
(A)エッジサーバ200を末端機器と一体の装置(エッジデバイス)として構成。
(B)エッジサーバ200に末端機器をケーブル又は近距離無線により通信可能に接続。
(C)エッジサーバ200を末端機器があるローカルネットワーク内に配置し、クラウドサーバ100を外部のネットワークに配置。
(D)エッジサーバ200を末端機器とクラウドサーバ100の間のネットワーク経路の途中に配置。
(A)エッジサーバ200を末端機器と一体の装置(エッジデバイス)として構成。
(B)エッジサーバ200に末端機器をケーブル又は近距離無線により通信可能に接続。
(C)エッジサーバ200を末端機器があるローカルネットワーク内に配置し、クラウドサーバ100を外部のネットワークに配置。
(D)エッジサーバ200を末端機器とクラウドサーバ100の間のネットワーク経路の途中に配置。
図2には、クラウドサーバ100の機能ブロックの例を示してある。また、図3には、エッジサーバ200の機能ブロックの例を示してある。クラウドサーバ100は、システムを集中的に制御する機能を有するほか、エッジサーバ200の動作を補完する機能を有する。
まず、エッジサーバ200の機能について、図3を参照して説明する。エッジサーバ200は、データ解析部201、照合データ記憶部202、照合部203、履歴記憶部204、検出データ送信部205、学習データ送信部206、モデル記憶部207、アクチュエータ制御部208を備える。
データ解析部201は、センサー300により取得された検出データ(又はデータ解析の前処理を施したデータ)が入力され、検出データをデータ解析して照合に必要な特徴量を抽出する。データ解析部201によるデータ解析は、モデル記憶部207に記憶されている推論モデル(機械学習モデルやディープラーニングモデル)を使用して行われる。
照合データ記憶部202は、本システムに照合用に予め登録された登録データ及び付随する属性データを記憶するデータベース機能を備える。照合データ記憶部202内の登録データは、データ解析部201で抽出された検出データの特徴量と照合される。照合データ記憶部202には、本システムで取り扱う全ての登録データではなく、一部(部分集合)の登録データのみが記憶される。照合データ記憶部202に記憶させる登録データは、エッジサーバ200毎に異なり得る。すなわち、各エッジサーバ200の照合データ記憶部202には、そのエッジサーバ200で照合される可能性の高い登録データが選択的に記憶される。
照合部203は、データ解析部201により抽出された検出データの特徴量を入力として、照合データ記憶部202に対して照合を行う。具体的には、照合部203は、入力された検出データをキーに照合データ記憶部202を検索して、該検出データに最も適合する登録データ(及びその属性データ)を特定すると共に、該検出データと該登録データとの適合度を取得する。適合度としては、種々のタイプの値を用いることができ、例えば、信頼度や尤度、ユークリッド距離などの値を、適合度として用いることができる。照合の結果、所定の判定基準値を超える適合度が得られた場合には、照合成功(検出データに適合する登録データが照合データ記憶部202内に存在する)と判定し、そうでない場合には、照合失敗(検出データに適合する登録データが照合データ記憶部202内に存在しない)と判定する。また照合部203は、照合失敗の場合には、クラウドサーバ100に照合を依頼して照合結果を得るように構成されている。
履歴記憶部204は、照合部203により実行された照合の履歴データを記憶する。履歴データは、例えば、各履歴を識別するID、照合を行った時刻、検出データ(又はその特徴量)、検出データを取得したセンサー300の識別情報(例えば、センサーID)、検出データを処理したエッジサーバ200の識別情報(例えば、エッジID)、照合結果のデータ(例えば、検索された登録データの識別情報、照合の成否、適合度)などで構成される。
検出データ送信部205は、センサー300により取得された検出データ(又はデータ解析の前処理を施したデータ)をクラウドサーバ100に送信する。ただし、検出データ送信部205は、全ての検出データについて送信するのではなく、照合失敗と判定された場合にのみその検出データを送信する。
学習データ送信部206は、センサー300により取得された検出データ(又はデータ解析の前処理を施したデータ)と照合部203による照合結果のデータとを対応付けて、学習データとしてクラウドサーバ100に送信する。ただし、学習データ送信部206は、全ての検出データについて送信するのではなく、所定の条件(後述する)を満たすもののみを送信する。
モデル記憶部207は、データ解析部201によるデータ解析の際に使用される推論モデルを記憶する。モデル記憶部207内の推論モデルは、クラウドサーバ100から送信される再学習後の推論モデルによって適宜更新される。
アクチュエータ制御部208は、照合部203(又はクラウドサーバ100)による照合結果に基づいて、アクチュエータ400の動作を制御する制御命令を生成し、アクチュエータ400に送信する。アクチュエータ制御部208は、アクチュエータ400の制御命令に代えて又はこれと共に、センサー300などの他の機器の動作を制御する制御命令を生成し、該当する機器に送信するようにしてもよい。
次に、クラウドサーバ100の機能について、図2を参照して説明する。クラウドサーバ100は、データ解析部101、照合データ記憶部102、照合部103、履歴記憶部104、学習データ記憶部105、学習部106、モデル記憶部107、照合結果送信部108を備える。
データ解析部101は、エッジサーバ200から送信された検出データ(又はデータ解析の前処理を施したデータ)が入力され、検出データをデータ解析して照合に必要な特徴量を抽出する。データ解析部101によるデータ解析は、モデル記憶部107に記憶されている推論モデル(機械学習モデルやディープラーニングモデル)を使用して行われる。
照合データ記憶部102は、本システムに照合用に予め登録された登録データ及び付随する属性データを記憶するデータベース機能を備える。照合データ記憶部102内の登録データは、データ解析部101で抽出された検出データの特徴量と照合される。照合データ記憶部102には、本システムで取り扱う全ての登録データが記憶される。
照合部103は、データ解析部101により抽出された検出データの特徴量を入力として、照合データ記憶部102に対して照合を行う。具体的には、照合部103は、入力された検出データをキーに照合データ記憶部102を検索して、該検出データに最も適合する登録データ(及びその属性データ)を特定すると共に、該検出データと該登録データとの適合度を取得する。その結果、所定の判定基準値を超える適合度が得られた場合には、照合成功(検出データに適合する登録データが照合データ記憶部102内に存在する)と判定し、そうでない場合には、照合失敗(検出データに適合する登録データが照合データ記憶部102内に存在しない)と判定する。
履歴記憶部104は、照合部103により実行された照合の履歴データを記憶する。履歴データは、例えば、各履歴を識別するID、照合を行った時刻、検出データ(又はその特徴量)、検出データを取得したセンサー300の識別情報(例えば、センサーID)、検出データを処理したエッジサーバ200の識別情報(例えば、エッジID)、照合結果のデータ(例えば、検索された登録データの識別情報、照合の成否、適合度)などで構成される。
学習データ記憶部105は、センサー300により取得された検出データ(又はデータ解析の前処理を施したデータ)と照合部103による照合結果のデータとを対応付けて、学習データとして記憶する。ただし、学習データ送信部105は、全ての検出データについて記憶するのではなく、所定の条件(後述する)を満たすもののみを記憶する。また、学習データ記憶部105には、エッジサーバ200から受信した学習データも記憶される。
学習部106は、学習データ記憶部105に記憶された学習データに基づいて、データ解析部101,201によるデータ解析に使用される推論モデルを再学習する。推論モデルの再学習は、機械学習、ディープラーニング、又は他の手法で行ってもよい。学習部106は、再学習した推論モデルをモデル記憶部107に記憶させると共に、エッジサーバ200に送信してモデル記憶部207にも記憶させる。したがって、モデル記憶部101,201には、互いに同じ最新の推論モデルが格納されることになる。
モデル記憶部107は、データ解析部101によるデータ解析の際に使用される推論モデルを記憶する。モデル記憶部107内の推論モデルは、学習部106で再学習された推論モデルによって適宜更新される。
照合結果送信部108は、照合部103による照合結果(例えば、検索された登録データ、照合の成否、適合度)を、照合された検出データの送信元のエッジサーバ200に送信する。
次に、本照合システムによる処理の流れについて、図4~図7のシーケンス例を参照して説明する。以下では、施設の入口ドアの近辺にセンサー300として設置された撮像装置(カメラ)により撮影された人物の顔画像を認証し、該人物が登録済みの人物か否かに応じてドアの開閉をアクチュエータ400で制御する顔認証システムに、本照合システムを適用した場合を例にして説明する。この場合、各サーバ(100,200)のデータベース(102,202)には、例えば、予め登録された人物の顔画像やその特徴量などを含む登録データと、該人物の性別・年齢・入館可/不可などを含む属性データとが記憶される。
図4には、エッジサーバ200における照合処理のシーケンス例を示してある。
まずはじめに、センサー300がセンシングを行う(ステップS101)。センシングによって得られた検出データは、エッジサーバ200に送信される(ステップS102)。センサー300として撮像装置を用いる本例では、人物の顔画像が検出データとしてエッジサーバ200に送信される。
まずはじめに、センサー300がセンシングを行う(ステップS101)。センシングによって得られた検出データは、エッジサーバ200に送信される(ステップS102)。センサー300として撮像装置を用いる本例では、人物の顔画像が検出データとしてエッジサーバ200に送信される。
エッジサーバ200は、センサー300から検出データを受信すると、以下の処理を行う。まず、データ解析部201が、データ解析を行って、検出データの特徴量を抽出する(ステップS103)。
次に、照合部203が、データ解析部201により抽出された特徴量をキーに照合データ記憶部202を検索して、該検出データに最も適合する登録データ(及びその属性データ)を特定すると共に、該検出データと該登録データとの適合度を取得する(ステップS104)。照合部203は、照合により取得した適合度を判定基準値である第1閾値(本例では90%)と比較し、適合度が第1閾値以上であれば照合成功と判定し、そうでなければ照合失敗と判定する(ステップS105)。
ステップS105で照合成功と判定された場合、アクチュエータ制御部208が、照合データ記憶部202から検索された属性データに基づいて制御命令を生成する(ステップS106)。例えば、カメラ撮影された人物に適合する登録データの属性データに「入館可」が設定されていれば、ドアの開扉又は鍵の解除を指示する制御命令を生成するが、「入館不可」が設定されていれば、入館できない旨を示すメッセージ表示・警告音出力・ランプ点灯などを指示する制御命令を生成する。
アクチュエータ制御部208により生成された制御命令は、アクチュエータ400(または、その近傍に配備されたモニタ、スピーカ、ランプ等の出力機器)に送信される(ステップS107)。アクチュエータ400(又は出力機器)は、エッジサーバ200から受信した制御命令に基づいて動作する(ステップS108)。例えば、ドアの開扉又は鍵の解除する動作を行う。あるいは、入館できない旨を示すメッセージ表示・警告音出力・ランプ点灯などの動作を行う。
また更に、ステップS105で照合成功と判定された場合において、エッジサーバ200は、照合部103により実行された照合の履歴データを履歴記憶部104に記憶させる。履歴データには、例えば、照合の成否、照合に成功した登録データの識別情報(例えば、個人ID)、認証時刻などが記録される(ステップS109)。
次に、学習データ送信部206が、照合部203での照合により取得された適合度に基づいて、学習データをクラウドサーバ100に送信するか否かを判定する(ステップS110)。学習データは、適合度が所定範囲内であることを条件に送信される。本例では、適合度が所定範囲の上限を定める第2閾値(例えば95%)より低い場合に、クラウドサーバ100に学習データが送信される(ステップS111)。つまり、照合には成功した(適合度が第1閾値以上)ものの、その信頼度があまり高くない場合(適合度が第2閾値未満)に、学習データの送信が行われる。クラウドサーバ100は、エッジサーバ200から受信した学習データを学習データ記憶部105に記憶させる(ステップS112)。
一方、ステップS105で照合失敗と判定された場合は、クラウドサーバ100による照合処理(ステップS200)に移行する。図5には、クラウドサーバ100における照合処理のシーケンス例を示してある。
まず、エッジサーバ200において、検出データ送信部205が、照合失敗(適合度が第1閾値未満)となった検出データをクラウドサーバ100に送信する(ステップS201)。つまり、エッジサーバ200のデータベース内には検出データと適合する登録データが存在しないと判定された場合に、その検出データがクラウドサーバ100に送信される。
まず、エッジサーバ200において、検出データ送信部205が、照合失敗(適合度が第1閾値未満)となった検出データをクラウドサーバ100に送信する(ステップS201)。つまり、エッジサーバ200のデータベース内には検出データと適合する登録データが存在しないと判定された場合に、その検出データがクラウドサーバ100に送信される。
クラウドサーバ100は、エッジサーバ200から検出データを受信すると、以下の処理を行う。まず、データ解析部101が、データ解析を行って、検出データの特徴量を抽出する(ステップS202)。
次に、照合部103が、データ解析部101により抽出された特徴量をキーに照合データ記憶部102を検索して、該検出データに最も適合する登録データ(及びその属性データ)を特定すると共に、該検出データと該登録データとの適合度を取得する(ステップS203)。照合部103は、照合により取得した適合度を判定基準値である第1閾値(本例では90%)と比較し、適合度が第1閾値以上であれば照合成功と判定し、そうでなければ照合失敗と判定する(ステップS204)。
次に、照合結果送信部108が、ステップS204で照合成功と判定された場合には、照合部103による照合に成功した旨を示す照合成功通知を、エッジサーバ200に送信する(ステップS205)。一方、ステップS204で照合失敗と判定された場合には、照合部103による照合に失敗した旨を示す照合失敗通知を、エッジサーバ200に送信する(ステップS209)。これら通知の際には、照合の成否だけでなく、検索された登録データの識別情報及びその属性データなども送信される。
エッジサーバ200は、クラウドサーバ100から照合成功通知又は照合失敗通知を受信すると、アクチュエータ制御部208が、これら通知と共に受信した属性データに基づいて制御命令を生成する(ステップS210)。例えば、照合成功通知の場合は、これと共に受信した属性データに「入館可」が設定されていれば、ドアの開扉又は鍵の解除を指示する制御命令を生成するが、「入館不可」が設定されていれば、入館できない旨を示すメッセージ表示・警告音出力・ランプ点灯などを指示する制御命令を生成する。また、照合失敗通知の場合も、入館できない旨を示すメッセージ表示・警告音出力・ランプ点灯などを指示する制御命令を生成する。
アクチュエータ制御部208により生成された制御命令は、アクチュエータ400(または、その近傍に配備されたモニタ、スピーカ、ランプ等の出力機器)に送信される(ステップS211)。アクチュエータ400(又は出力機器)は、エッジサーバ200から受信した制御命令に基づいて動作する(ステップS212)。例えば、ドアの開扉又は鍵の解除する動作を行う。あるいは、入館できない旨を示すメッセージ表示・警告音出力・ランプ点灯などの動作を行う。
また更に、エッジサーバ200は、クラウドサーバ100により実行された照合の履歴データを履歴記憶部104に記憶させる。履歴データには、例えば、照合の成否、照合に成功した登録データの識別情報(例えば、個人ID)、認証時刻などが記録される(ステップS213)。なお、照合に失敗した場合には、人物の識別情報は記憶されないことは言うまでもない。
また、クラウドサーバ100は、照合部103による照合処理の後に、照合部103での照合により取得された適合度に基づいて、学習データを学習データ記憶部105に記憶させるか否かを判定する(ステップS206,S207)。学習データは、適合度が所定範囲内であることを条件に学習データ記憶部105に記憶される。本例では、照合成功(適合度が第1閾値以上)であれば、適合度が所定範囲の上限を定める第2閾値(例えば95%)より低い場合に、学習データが記憶される(ステップS204:Yes、ステップS206:Yes、ステップS208)。一方、照合失敗(適合度が第1閾値未満)であれば、適合度が所定範囲の下限を定める第3閾値(例えば85%)以上である場合に、学習データが記憶される(ステップS204:No、ステップS207:Yes、ステップS208)。つまり、照合には成功した(適合度が第1閾値以上)ものの、その信頼度があまり高くない場合(適合度が第2閾値未満)に、学習データが記憶される。また、照合には失敗した(適合度が第1閾値未満)ものの、その信頼度がある程度の高さである場合(適合度が第3閾値以上)に、学習データが記憶される。
なお、適合度と比較される各閾値の関係は、第3閾値≦第1閾値≦第2閾値となっている。第2閾値は、照合には成功したが適合度が低かった検出データを、今後の照合において照合精度の更なる劣化が生じることを防ぐために、学習データとするための閾値である。第3閾値は、照合には失敗した検出データのうち、実際には照合成功となるべきであった可能性があるものを、学習データとするための閾値である。第3閾値を使用せずに、照合に失敗した全ての検出データを学習データとしてもよいが、再学習に寄与しない学習データも多く含まれることになる。このため、適合度が低すぎるものは除外できるよう第3閾値を使用することが好ましいと言える。
図6には、エッジサーバ200のデータベース更新処理のシーケンス例を示してある。
エッジサーバ200とクラウドサーバ100の間の通信負荷を抑制するためには、エッジサーバ200で多くの照合を行えることが望ましい。施設に訪れる人物は、時間の経過に伴って変化する傾向にあるので、照合データ記憶部202内の登録データを随時更新することによって、システムの最適化を行う。最適化(データベース更新)のタイミングは、1日周期、1ヶ月周期などの定期的なものであってもよく、システム運用者が指示する任意のタイミングであってもよい。また、エッジサーバ200とクラウドサーバ100の間の通信をモニタし、所定期間内にクラウドサーバ100から照合成功通知が送信された回数が所定回数以上となった場合に最適化を行ってもよい。
エッジサーバ200とクラウドサーバ100の間の通信負荷を抑制するためには、エッジサーバ200で多くの照合を行えることが望ましい。施設に訪れる人物は、時間の経過に伴って変化する傾向にあるので、照合データ記憶部202内の登録データを随時更新することによって、システムの最適化を行う。最適化(データベース更新)のタイミングは、1日周期、1ヶ月周期などの定期的なものであってもよく、システム運用者が指示する任意のタイミングであってもよい。また、エッジサーバ200とクラウドサーバ100の間の通信をモニタし、所定期間内にクラウドサーバ100から照合成功通知が送信された回数が所定回数以上となった場合に最適化を行ってもよい。
エッジサーバ200は、最適化を実行するタイミングが到来すると、以下の処理を行う。まず、履歴記憶部204内の直近の一定期間(例えば、1日、1ヶ月など)の履歴データを集計して、登録データ毎の照合回数を算出する(ステップS301)。次に、照合回数が多い順の所定数の登録データについて該登録データが照合データ記憶部202内に存在するかを確認し、照合データ記憶部202内に存在しない登録データを特定する(ステップS302)。
その後、エッジサーバ200は、照合データ記憶部202内に存在しない登録データの送信を要求する照合データ更新要求を、クラウドサーバ100に送信する(ステップS303)。クラウドサーバ100は、照合データ更新要求に該当する登録データを照合データ記憶部102から読み出して、エッジサーバ200に送信する(ステップS304)。エッジサーバ200は、照合回数が少ない順に照合データ記憶部202内の不要な登録データを削除し、クラウドサーバ100から受信した登録データを照合データ記憶部202に記憶させる(ステップS305)。
具体例を挙げて説明すると、例えば、エッジサーバ200における直近の照合(顔認証)の回数を集計して訪問回数ランキングを作成し、訪問回数ランキングの上位1000人の人物を特定し、そのうち照合データ記憶部202内に存在しない人物の登録データをクラウドサーバ100から受信して、照合データ記憶部202に記憶させる。このとき、照合データ記憶部202に単純に登録データを追加すると、登録データ数が上限数(本例では1000)を超過する場合がある。この場合には、訪問回数ランキングの下位から順に照合データ記憶部202内の超過分の登録データを削除することで、登録データ数を調整する。
なお、エッジサーバ200は、自身が保持している全ての登録データの識別情報(例えば、個人IDのリスト)をクラウドサーバ100に通知してもよい。これにより、クラウドサーバ100は、どのエッジサーバ200がどの登録データを現在保持しているかを把握できるようになる。また、このような情報共有を行うことで、クラウドサーバ100で登録データに変更があった場合に、該当する登録データを保持しているエッジサーバ200に最新の登録データを送信して、照合データ記憶部202を更新させることが可能となる。これにより、エッジサーバ200において最新の登録データを使用した照合を行えるようになると共に、クラウドサーバ100においても、各エッジサーバ200が所有する登録データの情報共有を行うことができる。
図7には、推論モデルの再学習処理のシーケンス例を示してある。
人の顔の経時変化、背景又は環境の経時変化などに対応するためには、照合精度の劣化を抑制してシステムを継続して安定運用できるように、推論モデルを更新できることが望ましい。推論モデルの更新タイミングは、1日周期、1ヶ月周期などの定期的なものであってもよく、システム運用者が指示する任意のタイミングであってもよい。また、エッジサーバ200で照合に成功した際の適合度が低いことによって一定以上の学習データがクラウドサーバ100に送信された場合や、所定期間内にエッジサーバ200から学習データが送信された回数が所定回数以上となった場合に最適化を行ってもよい。ここで、推論モデルの再学習を行うに先立って、照合に失敗したデータに対して、人手により正解付けを行っておく必要がある。また、照合に成功したデータに対しても、正確な学習を行えるように人手により正解付けを行ってもよい。
人の顔の経時変化、背景又は環境の経時変化などに対応するためには、照合精度の劣化を抑制してシステムを継続して安定運用できるように、推論モデルを更新できることが望ましい。推論モデルの更新タイミングは、1日周期、1ヶ月周期などの定期的なものであってもよく、システム運用者が指示する任意のタイミングであってもよい。また、エッジサーバ200で照合に成功した際の適合度が低いことによって一定以上の学習データがクラウドサーバ100に送信された場合や、所定期間内にエッジサーバ200から学習データが送信された回数が所定回数以上となった場合に最適化を行ってもよい。ここで、推論モデルの再学習を行うに先立って、照合に失敗したデータに対して、人手により正解付けを行っておく必要がある。また、照合に成功したデータに対しても、正確な学習を行えるように人手により正解付けを行ってもよい。
クラウドサーバ100は、推論モデルの再学習を実行するタイミングが到来すると、以下の処理を行う。まず、学習部106が、学習データ記憶部105に記憶されている学習データに基づいて、推論モデルを再学習する(ステップS401)。学習部106は、新規に学習を行ってもよく、ファインチューニングと呼ばれる公知の方法により新しい学習データのみを使用した学習を行ってもよい。また、発生頻度の多い学習データのみを使用して新規学習又はファインチューニングを行ってもよい。学習部106は、再学習により得られた最新の推論モデルをモデル記憶部107に記憶させると共に、エッジサーバ200に送信する(ステップS402)。
エッジサーバ200は、クラウドサーバ100から受信した最新の推論モデルをモデル記憶部207に記憶させて、データ解析部201によるその後のデータ解析に使用させる(ステップS403)。
なお、推論モデルは上書き更新してもよいが、更新モデルの精度が劣化してしまう可能性があることを考慮して、過去の推論モデルを保存しておき、元に戻せるようにしてもよい。過去の推論モデルは、クラウドサーバ100のモデル記憶部107のみに記憶させてもよいし、エッジサーバ200のモデル記憶部207にも記憶させてもよい。
なお、推論モデルは上書き更新してもよいが、更新モデルの精度が劣化してしまう可能性があることを考慮して、過去の推論モデルを保存しておき、元に戻せるようにしてもよい。過去の推論モデルは、クラウドサーバ100のモデル記憶部107のみに記憶させてもよいし、エッジサーバ200のモデル記憶部207にも記憶させてもよい。
以上説明したように、本例の照合システムは、本システムで取り扱う全ての登録データを記憶する主データベース(102)をクラウドサーバ100が保持し、一部の登録データを記憶する副データベース(202)をセンサー300の近くに配置されたエッジサーバ200が保持している。エッジサーバ200の副データベース(202)には、そのエッジサーバ200で照合される可能性が高い登録データのみが記憶される。そして、エッジサーバ200が、センサー300により取得された検出データを副データベース内の登録データと照合し、該検出データと適合する登録データが副データベース内に存在しないと判定された場合に、該検出データをクラウドサーバ100へ送信して主データベース内の登録データとの照合を依頼するように構成されている。
したがって、エッジサーバ200で照合を行った後に、照合に失敗した一部の検出データのみがクラウドサーバ100で照合されることになる。これにより、クラウドサーバ100の処理負荷の軽減と、エッジサーバ200とクラウドサーバ100の間の通信負荷の軽減を実現することができる。また、センサー300の近くにあるエッジサーバ200で大部分の検出データを照合できるので、即時に照合結果を得ることができる。また、エッジサーバ200とクラウドサーバ100で登録データの同期が取れていない場合(例えば、新規の登録データがエッジサーバ200に登録されていない場合)であっても、エッジサーバ200での照合に失敗した場合はクラウドサーバ100で照合されるので、最新の登録データを使用した照合を行える。
また、複数のエッジサーバ200を配置(例えば、拠点毎にエッジサーバ200を配置)することで、照合の負荷を各エッジサーバ200に分散することができ、更なる負荷軽減が図られる。また、複数のエッジサーバ200で解析処理を行うことで、小規模実装処理による簡易的な機械学習を実現することもできる。これにより、これまでのような大型のAIエンジンではなくなるため、気軽に簡単な機械学習を行うことが可能となる。
ここで、上記の説明では、エッジサーバ200での照合に失敗した場合に、検出データそのものをクラウドサーバ100に送信して照合を依頼しているが、検出データの一部又は検出データの特徴量を送信するようにしてもよい。例えば、検出データである顔画像中の注視すべき部分を切り出した部分画像や、目・鼻・口などの顔パーツ間の距離情報などを、検出データの特徴量として送信してもよい。これにより、送信データ量を削減できるので、通信負荷を軽減させることができる。更に、クラウドサーバ100でデータ解析する必要がなくなるので、クラウドサーバ100の処理負荷を軽減することもできる。
また、上記の説明では、エッジサーバ200からクラウドサーバ200に学習データ(検出データ及び照合結果のデータ)を適宜送信しているが、学習データをエッジサーバ200内のメモリに一時的に蓄積しておき、所定のタイミングでクラウドサーバ200に送信するようにしてもよい。例えば、蓄積したデータ量が所定値を超えたタイミングで行ってもよく、定期的に算出するランダム値が所定値を超えたタイミングで行ってもよく、夜間などのトラヒックの少ない所定の時間帯(負荷の影響が少ないピークオフの時間帯)に送信を行ってもよい。また、検出データそのものを学習データとして送信するのではなく、検出データの一部又は検出データの特徴量を学習データとして送信してもよい。例えば、検出データである顔画像中の注視すべき部分を切り出した部分画像や、目・鼻・口などの顔パーツ間の距離情報などを、学習データとして送信してもよい。このように、学習データの送信頻度の低減や送信データ量の削減を行うことで、学習データの送信における通信負荷を軽減することが可能となる。
また、上記の説明では、本例の照合システムを顔認証システムに適用した場合を例にしたが、他のシステムにも適用できることは言うまでもない。例えば、工場内の各所に設置したセンサーから得られた検出データを元にイベントの発生を特定し、そのイベントに対応して実行すべき制御内容をデータベースから検索し、該当するアクチュエータを制御して動作させる機器制御システムに適用してもよい。この場合、クラウドサーバ100及びエッジサーバ200のデータベースには、予め設定されたイベントを示す複数の登録データと、該イベントに対応して実行すべき制御を示す属性データとを記憶させればよい。
以上、本発明について実施例に基づいて詳細に説明したが、本発明は、ここに記載された照合システムに限定されるものではなく、上記以外の照合システムにも広く適用できることは言うまでもない。
また、本発明は、例えば、本発明に係る処理を実行する方法や方式、そのような方法や方式を実現するためのプログラム、そのプログラムを記憶する記憶媒体などとして提供することも可能である。
また、本発明は、例えば、本発明に係る処理を実行する方法や方式、そのような方法や方式を実現するためのプログラム、そのプログラムを記憶する記憶媒体などとして提供することも可能である。
本発明は、検出機器により取得された検出データを予め登録された登録データと照合する種々の照合システムに利用することができる。
100:クラウドサーバ、 200:エッジサーバー、 300:センサー、 400:アクチュエータ、
101:データ解析部、 102:照合データ記憶部、 103:照合部、 104:履歴記憶部、 105:学習データ記憶部、 106:学習部、 107:モデル記憶部、 108:照合結果送信部、
201:データ解析部、 202:照合データ記憶部、 203:照合部、 204:履歴記憶部、 205:検出データ送信部、 206:学習データ送信部、 207:モデル記憶部、 208:アクチュエータ制御部
101:データ解析部、 102:照合データ記憶部、 103:照合部、 104:履歴記憶部、 105:学習データ記憶部、 106:学習部、 107:モデル記憶部、 108:照合結果送信部、
201:データ解析部、 202:照合データ記憶部、 203:照合部、 204:履歴記憶部、 205:検出データ送信部、 206:学習データ送信部、 207:モデル記憶部、 208:アクチュエータ制御部
Claims (9)
- 検出機器により取得された検出データを予め登録された登録データと照合する照合システムにおいて、
全ての登録データを記憶する主データベースを有する第1の照合サーバと、
前記検出機器から見て前記第1の照合サーバより近くに配置され、一部の登録データを記憶する副データベースを有する第2の照合サーバとを備え、
前記第2の照合サーバは、前記検出機器により取得された検出データを前記副データベース内の登録データと照合し、該検出データと適合する登録データが前記副データベース内に存在しないと判定された場合に、該検出データを前記第1の照合サーバへ送信し、
前記第1の照合サーバは、前記第2の照合サーバから受信した検出データを前記主データベース内の登録データと照合し、照合結果を前記第2の照合サーバへ送信することを特徴とする照合システム。 - 請求項1に記載の照合システムにおいて、
前記第1及び第2の照合サーバは、それぞれ、検出データを解析するデータ解析部と、前記データ解析部による解析結果に基づいて検出データと登録データとの適合度を算出する照合部と、前記データ解析部での解析に使用される推論モデルを記憶するモデル記憶部とを有し、
前記第1及び第2の照合サーバの各モデル記憶部には、互いに同じ推論モデルが記憶されていることを特徴とする照合システム。 - 請求項2に記載の照合システムにおいて、
前記第2の照合サーバの照合部は、算出した適合度を所定の判定基準値と比較することで、前記検出機器により取得された検出データと適合する登録データが前記副データベース内に存在するか否かを判定し、
前記第1の照合サーバの照合部は、算出した適合度を所定の判定基準値と比較することで、前記検出機器により取得された検出データと適合する登録データが前記主データベース内に存在するか否かを判定することを特徴とする照合システム。 - 請求項2に記載の照合システムにおいて、
前記第1の照合サーバは、前記検出機器により取得された検出データに基づいて前記第1又は第2の照合サーバで算出された適合度が所定の範囲内となった場合に、該検出データを学習データとして記憶する学習データ記憶部と、前記学習データ記憶部に記憶された学習データに基づいて推論モデルを再学習する学習部とを有することを特徴とする照合システム。 - 請求項4に記載の照合システムにおいて、
前記第1の照合サーバは、前記学習部により再学習された推論モデルを自身のモデル記憶部に記憶させると共に前記第2の照合サーバに送信し、
前記第2の照合サーバは、前記第1の照合サーバから受信した推論モデルを自身のモデル記憶部に記憶させることを特徴とする照合システム。 - 請求項1に記載の照合システムにおいて、
前記第2の照合サーバは、前記第1又は第2の照合サーバによる照合結果の履歴に基づいて登録データ毎の照合回数を算出し、照合回数が多い順の所定数の登録データについて各登録データが前記副データベース内に存在するかを確認し、前記副データベース内に存在しない登録データを前記第1の照合サーバから受信して前記副データベースに記憶させることを特徴とする照合システム。 - 請求項1に記載の照合システムにおいて、
前記検出機器である撮像装置により人物の顔画像を検出データとして取得し、該顔画像を登録データと照合して該人物が登録済みの人物か否かを判定する顔認証システムに適用されることを特徴とする照合システム。 - 検出機器により取得された検出データを予め登録された登録データと照合する照合サーバにおいて、
当該照合サーバが、全ての登録データを記憶する主データベースを有する一方で、前記検出機器から見て前記第1の照合サーバより近くに配置された別の照合サーバが、一部の登録データを記憶する副データベースを有しており、
前記別の照合サーバは、前記検出機器により取得された検出データを前記副データベース内の登録データと照合し、該検出データと適合する登録データが前記副データベース内に存在しないと判定された場合に、該検出データを当該照合サーバへ送信するよう構成されており、
当該照合サーバは、前記別の照合サーバから受信した検出データを前記主データベース内の登録データと照合し、照合結果を前記別の照合サーバへ送信することを特徴とする照合サーバ。 - 検出機器により取得された検出データを予め登録された登録データと照合する照合サーバにおいて、
別の照合サーバが、全ての登録データを記憶する主データベースを有する一方で、前記検出機器から見て前記第1の照合サーバより近くに配置された当該照合サーバが、一部の登録データを記憶する副データベースを有しており、
前記別の照合サーバは、当該照合サーバから検出データを受信した場合に、その検出データを前記主データベース内の登録データと照合し、該照合結果を当該照合サーバへ送信するよう構成されており、
当該照合サーバは、前記検出機器により取得された検出データを前記副データベース内の登録データと照合し、該検出データと適合する登録データが前記副データベース内に存在しないと判定された場合に、該検出データを前記別の照合サーバへ送信し、前記別の照合サーバによる照合結果を受信することを特徴とする照合サーバ。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP18933358.6A EP3851971B1 (en) | 2018-09-11 | 2018-09-11 | Verification system and verification server |
| JP2020546574A JP7132346B2 (ja) | 2018-09-11 | 2018-09-11 | 照合システム及び照合サーバ |
| PCT/JP2018/033588 WO2020053953A1 (ja) | 2018-09-11 | 2018-09-11 | 照合システム及び照合サーバ |
| US17/265,911 US11967174B2 (en) | 2018-09-11 | 2018-09-11 | Verification system and verification server |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2018/033588 WO2020053953A1 (ja) | 2018-09-11 | 2018-09-11 | 照合システム及び照合サーバ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020053953A1 true WO2020053953A1 (ja) | 2020-03-19 |
Family
ID=69777675
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2018/033588 Ceased WO2020053953A1 (ja) | 2018-09-11 | 2018-09-11 | 照合システム及び照合サーバ |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US11967174B2 (ja) |
| EP (1) | EP3851971B1 (ja) |
| JP (1) | JP7132346B2 (ja) |
| WO (1) | WO2020053953A1 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111641948A (zh) * | 2020-04-30 | 2020-09-08 | 深圳精匠云创科技有限公司 | 边缘计算接入时的注册方法及边缘计算节点装置 |
| JP2022037056A (ja) * | 2019-03-04 | 2022-03-08 | パナソニックIpマネジメント株式会社 | 顔認証システムおよび顔認証方法 |
| CN119449299A (zh) * | 2024-11-14 | 2025-02-14 | 北京邮电大学 | 一种云边端环境下的自适应身份认证和密钥协商方法 |
| US12499668B2 (en) | 2021-03-11 | 2025-12-16 | Hitachi Kokusai Electric Inc. | Image analysis system an update method for machine learning model |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6845204B2 (ja) * | 2018-10-30 | 2021-03-17 | ファナック株式会社 | ノウハウ作成装置、ノウハウ作成方法及びノウハウ作成プログラム |
| JP7299972B2 (ja) | 2019-04-24 | 2023-06-28 | 真旭 徳山 | 情報処理システム、情報処理方法、及びプログラム |
| WO2020218084A1 (ja) | 2019-04-26 | 2020-10-29 | 真旭 徳山 | リモコン装置、情報処理方法及びプログラム |
| US11446567B2 (en) * | 2019-06-11 | 2022-09-20 | Universal City Studios Llc | Digital character interacting with customer in physical realm |
| CN114207610B (zh) * | 2019-07-31 | 2023-03-24 | 德山真旭 | 终端装置、信息处理方法以及程序 |
| EP4075867A4 (en) * | 2019-12-31 | 2023-01-25 | Huawei Technologies Co., Ltd. | Application instance determination method, device, and system |
| WO2021152736A1 (ja) * | 2020-01-29 | 2021-08-05 | 日本電気株式会社 | 監視システム、監視装置、監視方法、およびプログラム |
| US20230224360A1 (en) * | 2020-06-15 | 2023-07-13 | Nippon Telegraph And Telephone Corporation | Processing system, and processing method |
| US11516199B2 (en) * | 2020-07-17 | 2022-11-29 | Cisco Technology, Inc. | Zero trust for edge devices |
| CN114067473B (zh) * | 2020-08-07 | 2023-01-06 | 比亚迪股份有限公司 | 综合调度系统中的门禁权限管理方法、装置及设备 |
| CN115089167A (zh) * | 2022-06-10 | 2022-09-23 | 涂中科技(安徽)有限公司 | 用于元宇宙的人体面部动作传感系统 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006085268A (ja) * | 2004-09-14 | 2006-03-30 | Fuji Photo Film Co Ltd | 生体認証システムおよび生体認証方法 |
| JP2014002634A (ja) * | 2012-06-20 | 2014-01-09 | Nippon Telegr & Teleph Corp <Ntt> | 通信制御システム、集約サーバおよび通信制御方法 |
| US9679075B1 (en) * | 2014-04-30 | 2017-06-13 | Instart Logic, Inc. | Efficient delivery of animated image files |
| JP2017152852A (ja) | 2016-02-23 | 2017-08-31 | 株式会社日立製作所 | 通信システム、通信装置、および通信システムの通信制御方法 |
| JP2018045369A (ja) * | 2016-09-13 | 2018-03-22 | 株式会社東芝 | 認識装置、認識システム、認識方法およびプログラム |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3590285B2 (ja) * | 1999-01-27 | 2004-11-17 | 株式会社東芝 | 生体情報認識装置およびその方法 |
| US8185747B2 (en) * | 2003-05-22 | 2012-05-22 | Access Security Protection, Llc | Methods of registration for programs using verification processes with biometrics for fraud management and enhanced security protection |
| JP2010061261A (ja) * | 2008-09-02 | 2010-03-18 | Fujitsu Ltd | 認証システムおよび認証方法 |
| JP6838903B2 (ja) * | 2016-09-13 | 2021-03-03 | 東芝テック株式会社 | 物品読取装置およびプログラム |
| KR20210050884A (ko) * | 2019-10-29 | 2021-05-10 | 삼성전자주식회사 | 화자 인식을 위한 등록 방법 및 장치 |
-
2018
- 2018-09-11 WO PCT/JP2018/033588 patent/WO2020053953A1/ja not_active Ceased
- 2018-09-11 US US17/265,911 patent/US11967174B2/en active Active
- 2018-09-11 EP EP18933358.6A patent/EP3851971B1/en active Active
- 2018-09-11 JP JP2020546574A patent/JP7132346B2/ja active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006085268A (ja) * | 2004-09-14 | 2006-03-30 | Fuji Photo Film Co Ltd | 生体認証システムおよび生体認証方法 |
| JP2014002634A (ja) * | 2012-06-20 | 2014-01-09 | Nippon Telegr & Teleph Corp <Ntt> | 通信制御システム、集約サーバおよび通信制御方法 |
| US9679075B1 (en) * | 2014-04-30 | 2017-06-13 | Instart Logic, Inc. | Efficient delivery of animated image files |
| JP2017152852A (ja) | 2016-02-23 | 2017-08-31 | 株式会社日立製作所 | 通信システム、通信装置、および通信システムの通信制御方法 |
| JP2018045369A (ja) * | 2016-09-13 | 2018-03-22 | 株式会社東芝 | 認識装置、認識システム、認識方法およびプログラム |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP3851971A4 |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022037056A (ja) * | 2019-03-04 | 2022-03-08 | パナソニックIpマネジメント株式会社 | 顔認証システムおよび顔認証方法 |
| JP7266185B2 (ja) | 2019-03-04 | 2023-04-28 | パナソニックIpマネジメント株式会社 | 顔認証システムおよび顔認証方法 |
| CN111641948A (zh) * | 2020-04-30 | 2020-09-08 | 深圳精匠云创科技有限公司 | 边缘计算接入时的注册方法及边缘计算节点装置 |
| CN111641948B (zh) * | 2020-04-30 | 2023-07-18 | 深圳精匠云创科技有限公司 | 边缘计算接入时的注册方法及边缘计算节点装置 |
| US12499668B2 (en) | 2021-03-11 | 2025-12-16 | Hitachi Kokusai Electric Inc. | Image analysis system an update method for machine learning model |
| CN119449299A (zh) * | 2024-11-14 | 2025-02-14 | 北京邮电大学 | 一种云边端环境下的自适应身份认证和密钥协商方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US11967174B2 (en) | 2024-04-23 |
| EP3851971A4 (en) | 2022-05-04 |
| JP7132346B2 (ja) | 2022-09-06 |
| US20210192183A1 (en) | 2021-06-24 |
| EP3851971A1 (en) | 2021-07-21 |
| EP3851971B1 (en) | 2025-05-14 |
| JPWO2020053953A1 (ja) | 2021-08-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7132346B2 (ja) | 照合システム及び照合サーバ | |
| US12230080B2 (en) | Information processing apparatus, information processing system, and information processing method | |
| US10657782B2 (en) | Networked premises security | |
| US12223811B2 (en) | Artificial intelligence (AI)-based security systems for monitoring and securing physical locations | |
| US20180295141A1 (en) | System, method, and computer program for detecting regular and irregular events associated with various entities | |
| WO2017202169A1 (zh) | 门禁控制数据处理方法、门禁控制方法和电子设备 | |
| US11954990B2 (en) | Artificial intelligence (AI)-based security systems for monitoring and securing physical locations | |
| JP6572537B2 (ja) | 認証装置、方法及びプログラム | |
| KR20170080454A (ko) | 온칩 상황 인식 접촉 리스트를 제공하는 시스템 및 방법 | |
| US12026596B2 (en) | Computerized system and method for adaptive stranger detection | |
| JP2011008529A (ja) | 生体認証装置、生体認証方法およびそのプログラム | |
| US12387570B2 (en) | Artificial intelligence (AI)-based security systems for monitoring and securing physical locations | |
| JPWO2015016262A1 (ja) | 情報処理装置、認証システム、認証方法、及びプログラム | |
| US11503468B2 (en) | System and method for continuously validating and authenticating a host and sensor pair | |
| WO2021182025A1 (ja) | データ管理システム、データ管理方法およびデータ管理プログラム | |
| KR102635351B1 (ko) | 범죄 예방 시스템 | |
| CN117711102A (zh) | 人脸识别系统的控制方法、装置、门禁设备及存储介质 | |
| CN111316266B (zh) | 一种用于改善由通信设备所执行的用户认证的方法 | |
| JP7782669B2 (ja) | 更新通知装置、認証装置、更新通知方法、及びプログラム | |
| KR20220147185A (ko) | 이상 행동 예측 시스템 및 방법, 컴퓨터 프로그램 | |
| CN118692197A (zh) | 一种室内入侵报警方法、装置、电子设备和存储介质 | |
| CN118734272A (zh) | 一种身份核验方法、装置、系统、电子设备及存储介质 | |
| HK40033509B (zh) | 基於车联网的数据存储方法、装置和计算机设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 2020546574 Country of ref document: JP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2018933358 Country of ref document: EP Effective date: 20210412 |
|
| WWG | Wipo information: grant in national office |
Ref document number: 2018933358 Country of ref document: EP |