Embodiments described herein generally relate to facial recognition in an access control system (ACS).
Facial recognition systems were once beyond the computational power of most computers. Moreover, until relatively recently, basic algorithms to solve the problem had not yet been developed. Deep neural networks have become fairly commonplace, allowing, for example, facial recognition systems able to identify a single person out of more than ten million people in less than a second. While the systems remain quite complex, they have become quite mainstream. For example, 1:1 matching is being performed on even personal mobile devices for unlocking the devices.
In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views. Like numerals having different letter suffixes may represent different instances of similar components. Some embodiments are illustrated by way of example, and not limitation, in the figures of the accompanying drawings in which:
The present disclosure generally relates to facial recognition in access control systems. In general, access control covers a range of systems and methods to govern access, for example by people, to secure areas or secure assets. Physical access control includes identification of authorized users or devices (e.g., vehicles, drones, etc.) and actuation of a gate, door, or other mechanism used to secure an area or actuation of a control mechanism, e.g., a physical or electronic/software control mechanism, permitting access to a secure physical asset, such as but not limited to a computing device (e.g., desktop computer, mobile device, wearable device, copier/printer, and the like). Logical access control includes identification of authorized users or devices to provide access to logical assets, such as but not limited to, an application, a cloud-based service, or a financial or personal account. Physical access control systems (PACS) and logical access control systems (LACS) can generally include a reader (e.g., an online or offline reader) that holds authorization data and can be capable of determining whether credentials (e.g., from credential or key devices such as radio frequency identification (RFID) chips in cards, fobs, magnetic stripe cards, or personal electronic devices such as mobile phones) are authorized for accessing the secure area or asset. Alternatively, PACS/LACS can include a host server to which readers are operably connected (e.g., via a controller) in a centrally managed configuration. In centrally managed configurations, readers can obtain credentials from credential or key devices and pass those credentials to the PACS/LACS host server. The host server can then determine whether the credentials authorize access to the secure area or secure asset and command the actuator or other control mechanism accordingly or can command the reader to operate the actuator or other control mechanism accordingly.
Wireless PACS/LACS, e.g., those that utilize wireless communication between the reader and the credential or key device, such as for secure credential exchange, can use RFID or personal area network (PAN) technologies, such as the IEEE 802.15.1, Bluetooth, Bluetooth Low Energy (BLE), near field communications (NFC), ZigBee, GSM, CDMA, Wi-Fi, ultrawide band (UWB), etc. PACS/LACS may additionally or alternatively include facial recognition capabilities and use facial recognition as a sole, primary (e.g., main or first authentication factor of two or more authentication factors), or secondary authentication factor (e.g., authentication factor that is in addition to or secondary to a primary authentication factor).
ACS 100 can include a reader device, or simply reader, 102 associated with a secure area, access point, or other asset 104. In some cases, such as in the example illustrated in
Reader 102 may also include facial recognition capabilities. For example, reader 102 may include a facial recognition module 103 or otherwise integrate facial recognition components within the reader. Facial recognition module 103 may include one or more cameras or other optical sensors for capturing or receiving one or more images, such as one or more images of a user 101. Facial recognition module 103 may also include one or more processors and memory for performing facial recognition or facial verification using the captured or received images. Facial recognition module 103 may alternatively or additionally utilize one or more processors and/or memory of the reader 102. According to a first method, facial verification computes a one-to-one similarity between a probe image (e.g., image of the user's 101 face) or other representation of the probe image (e.g., template or feature vector as described further below) and each of one or more images or other representations of images (e.g., templates or feature vectors) selected from a gallery of images/templates to determine whether the probe image or template is, or the likelihood the probe image or template is, for the same subject as one or more of the gallery images or templates. Such may be referred to herein as a one-to-many facial verification. According to another method, facial verification computes a one-to-one similarity between a probe image (e.g., image of the user's 101 face) or other representation of the probe image (e.g., template or feature vector) and an image or other representation of an image (e.g., template or feature vector) previously stored (e.g., based on a previously enrolled image of the user's 101 face). Such may be referred to herein, generally, as a one-to-one facial verification. Facial verification need not be carried out on, for example, a pixel level between the probe and gallery due to the fact that there are generally too many variations and nuisances within raw face images. Instead, high-level features from face images may be extracted (e.g., as a representation or template of the subject's face) through either conventional methods, such as HOG, SIFT, etc., or a more advanced and data driven neural network approach, such as Dlib, Arcface, etc. The verification can then be conducted among, for example, the templates (e.g., face feature vectors) using similarity metrics such as Euclidean distance or cosine similarity.
Additionally or alternatively, ACS 100 may include a facial recognition module 107 that is external to reader 102, located within a vicinity (e.g., 20 meters) of the reader and/or secure asset 104. Facial recognition module 107 may comprise one or more components for providing the facial recognition or facial verification capabilities. For example, facial recognition module 107 may include one or more cameras or other optical sensors for capturing or receiving one or more images, such as one or more images of a user 101. Facial recognition module 107 may also include one or more processors and memory for performing facial recognition or facial verification using the captured or received images. Facial recognition module 107 may be operably connected by wire or wirelessly with reader 102, and may alternatively or additionally utilize one or more processors and/or memory of the reader 102.
In some cases, reader 102 can be connected by wire or wirelessly to a control panel 108. In such cases, reader 102 may transmit credential information to control panel 108, and the control panel may make, or may share responsibilities with the reader in making, access control determinations. Based on the access control determinations, control panel 108 can instruct reader 102 to operate or command control mechanism 106, accordingly. Alternately, control panel 108 can be connected directly or wirelessly to control mechanism 106, and in such cases may directly operate or command the control mechanism, accordingly, bypassing reader 102.
In some cases, reader 102 and control panel 108, and even control mechanism 106, can be connected to a wired or wireless network 110 and communicate with each other, as described above, via the network. Example networks can include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks (e.g., cellular networks), Plain Old Telephone (POTS) networks, wireless data networks (e.g., networks based on the IEEE 802.11 family of standards known as Wi-Fi or the IEEE 802.16 family of standards known as WiMax), networks based on the IEEE 802.15.4 family of standards, and peer-to-peer (P2P) networks, among others. If ACS 100 is managed by a remote system, the ACS can include a host server 112 connected by wire or wirelessly to network 110 and that may communicate with reader 102 and/or control panel 108. In such cases, reader 102 can transmit credential information to host server 112 via network 110 or can transmit credential information to control panel 108, which can then transmit the credential information to the host server via the network. Host server 112 may make, or may share responsibilities with reader 102 and/or control panel 108 in making, access control determinations. Based on the access control determinations, host server 112 can instruct reader 102, directly or indirectly via control panel 108, to operate or command control mechanism 106, accordingly. Alternately, host server 112 can instruct control panel 108 to operate or command control mechanism 106, accordingly. In still another example, host server 112 can be connected via network 110 to control mechanism 106 and directly operate or command the control mechanism, accordingly, bypassing reader 102 and control panel 108.
Facial recognition module 107 may similarly be connected by wire or wirelessly to control panel 108 and may exchange information relating to facial verification or other information directly with the control panel. Likewise, facial recognition module 107 can be connected to a wired or wireless network 110 and may communicate with any of the reader 102, control panel 108, and host server 112, via the network. Any data, such as but not limited to, gallery images or templates, instructions, algorithms, and/or trained machine learning models may be stored at or distributed across any one or more of the reader 102, facial recognition module 103/107, controller 108, or host server 112. Likewise, facial recognition or verification may be performed at or across one or more of the reader 102, facial recognition module 103/107, controller 108, or host server 112.
Memory 302 can be used in connection with the execution of application programming or instructions by processor 304, and for the temporary or long-term storage of program instructions or instruction sets 316 and/or credential or authorization data 318, such as credential data, credential authorization data, access control data or instructions, or facial recognition or verification data or instructions. For example, memory 302 can contain executable instructions 316 that are used by the processor 304 to run other components of reader 102 and/or to make access determinations based on credential or authorization data 318. Memory 302 can comprise a computer readable medium that can be any medium that can contain, store, communicate, or transport data, program code, or instructions for use by or in connection with reader 102. The computer readable medium can be, for example but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples of suitable computer readable medium include, but are not limited to, an electrical connection having one or more wires or a tangible storage medium such as a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or EEPROM), Dynamic RAM (DRAM), any solid-state storage device, in general, a compact disc read-only memory (CD-ROM), or other optical or magnetic storage device. Computer-readable media includes, but is not to be confused with, computer-readable storage medium, which is intended to cover all physical, non-transitory, or similar embodiments of computer-readable media.
Processor 304 can correspond to one or more computer processing devices or resources. For instance, processor 304 can be provided as silicon, as a Field Programmable Gate Array (FPGA), an Application-Specific Integrated Circuit (ASIC), any other type of Integrated Circuit (IC) chip, a collection of IC chips, or the like. As a more specific example, processor 304 can be provided as a microprocessor, Central Processing Unit (CPU), or plurality of microprocessors or CPUs that are configured to execute instructions sets stored in an internal memory 320 and/or memory 302.
Antenna 306 can correspond to one or multiple antennas and can be configured to provide for wireless communications between reader 102 and/or facial recognition module 107 and a credential or key device. Antenna(s) 306 can be arranged to operate using one or more wireless communication protocols and operating frequencies including, but not limited to, the IEEE 802.15.1, Bluetooth, Bluetooth Low Energy (BLE), near field communications (NFC), ZigBee, GSM, CDMA, Wi-Fi, RF, UWB, and the like. By way of example, antenna(s) 306 can be RF antenna(s), and as such, may transmit/receive RF signals through free-space to be received/transferred by a credential or key device having an RF transceiver.
Communication module 308 can be configured to communicate according to any suitable communications protocol with one or more different systems or devices either remote or local to reader 102 and/or facial recognition module 107, such as one or more control mechanisms 106 or control panel 108.
Network interface device 310 includes hardware to facilitate communications with other devices, such as control panel 108 or host server 112, over a communication network, such as network 110, utilizing any one of a number of transfer protocols (e.g., frame relay, internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), etc.). Example communication networks can include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks (e.g., cellular networks), Plain Old Telephone (POTS) networks, wireless data networks (e.g., networks based on the IEEE 802.11 family of standards known as Wi-Fi or the IEEE 802.16 family of standards known as WiMax), networks based on the IEEE 802.15.4 family of standards, and peer-to-peer (P2P) networks, among others. In some examples, network interface device 310 can include an Ethernet port or other physical jack, a Wi-Fi card, a Network Interface Card (NIC), a cellular interface (e.g., antenna, filters, and associated circuitry), or the like. In some examples, network interface device 310 can include one or more antennas to wirelessly communicate using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) techniques.
User interface 312 can include one or more input devices and/or output devices. Examples of suitable user input devices that can be included in user interface 312 include, without limitation, one or more buttons, a keyboard, a mouse, a touch-sensitive surface, a stylus, a camera, a microphone, a PIN pad, touch screen, fingerprint reader, magnetic stripe reader, chip reader, etc. Examples of suitable user output devices that can be included in user interface 312 include, without limitation, one or more LEDs, a LCD panel, a display screen, a touchscreen, one or more lights, a speaker, etc. It should be appreciated that user interface 312 can also include a combined user input and user output device, such as a touch-sensitive display or the like.
Facial recognition module 313 may include one or more cameras or other optical sensors for capturing or receiving one or more images, such as one or more images of a user 101. Alternatively or additionally, facial recognition module 313 may utilize one or more cameras, if provided, of user interface 312. Facial recognition module 313 may also include its own processor or processors and/or memory for performing facial recognition or facial verification using the captured or received images. As noted above, facial recognition module 313 may alternatively or additionally utilize one or more processors 304 and/or memory 302 of the reader 102 for performing some or all of the facial recognition or facial verification. The memory of facial recognition module 313 (or reader 102) may, for example, store one or more gallery images or other representations of images, such as templates. The memory of facial recognition module 313 (or reader 102) may additionally or alternatively store instructions, algorithms, and/or one or more trained machine learning models for performing facial recognition or verification.
Power source 314 can be any suitable internal power source, such as a battery, capacitive power source or similar type of charge-storage device, etc., and/or can include one or more power conversion circuits suitable to convert external power into suitable power (e.g., conversion of externally-supplied AC power into DC power) for components of the reader 102 and/or facial recognition module 107. Power source 314 can also include some implementation of surge protection circuitry to protect the components of reader 102 and/or facial recognition module 107 from power surges.
Reader 102 and/or facial recognition module 107 can also include one or more interlinks or buses 322 operable to transmit communications between the various hardware components of the reader. A system bus 322 can be any of several types of commercially available bus structures or bus architectures.
In some embodiments, machine 400 can operate as a standalone device or can be connected (e.g., networked) to other machines. In a networked deployment, machine 400 can operate in the capacity of a server machine, a client machine, or both in server-client network environments. In some examples, machine 400 can act as a peer machine in a peer-to-peer (P2P) (or other distributed) network environment. Machine 400 can be or include a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein, such as cloud computing, software as a service (SaaS), other computer cluster configurations.
Machine (e.g., computer system) 400 can include a hardware processor 402 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof) and a main memory 404, a static memory (e.g., memory or storage for firmware, microcode, a basic-input-output (BIOS), unified extensible firmware interface (UEFI), etc.) 406, and/or mass storage 408 (e.g., hard drives, tape drives, flash storage, or other block devices) some or all of which can communicate with each other via an interlink (e.g., bus) 430. Machine 400 can further include a display device 410 and an input device 412 and/or a user interface (UI) navigation device 414. Example input devices and UI navigation devices include, without limitation, one or more buttons, a keyboard, a touch-sensitive surface, a stylus, a camera, a microphone, etc.). In some examples, one or more of the display device 410, input device 412, and UI navigation device 414 can be a combined unit, such as a touch screen display. Machine 400 can additionally include a signal generation device 418 (e.g., a speaker), a network interface device 420, and one or more sensors 416, such as a global positioning system (GPS) sensor, compass, accelerometer, or other sensor. Machine 400 can include an output controller 428, such as a serial (e.g., universal serial bus (USB), parallel, or other wired or wireless (e.g., infrared (IR), NFC, etc.) connection to communicate or control one or more peripheral devices (e.g., a printer, card reader, etc.).
Processor 402 can correspond to one or more computer processing devices or resources. For instance, processor 402 can be provided as silicon, as a Field Programmable Gate Array (FPGA), an Application-Specific Integrated Circuit (ASIC), any other type of Integrated Circuit (IC) chip, a collection of IC chips, or the like. As a more specific example, processor 402 can be provided as a microprocessor, Central Processing Unit (CPU), or plurality of microprocessors or CPUs that are configured to execute instructions sets stored in an internal memory 422 and/or memory 404, 406, 408.
Any of memory 404, 406, and 408 can be used in connection with the execution of application programming or instructions by processor 402 for performing any of the functionality or methods described herein, and for the temporary or long-term storage of program instructions or instruction sets 424 and/or other data for performing any of the functionality or methods described herein. Any of memory 404, 406, 408 can comprise a computer readable medium that can be any medium that can contain, store, communicate, or transport data, program code, or instructions 424 for use by or in connection with machine 400. The computer readable medium can be, for example but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples of suitable computer readable medium include, but are not limited to, an electrical connection having one or more wires or a tangible storage medium such as a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or EEPROM), Dynamic RAM (DRAM), a solid-state storage device, in general, a compact disc read-only memory (CD-ROM), or other optical or magnetic storage device. As noted above, computer-readable media includes, but is not to be confused with, computer-readable storage medium, which is intended to cover all physical, non-transitory, or similar embodiments of computer-readable media.
Network interface device 420 includes hardware to facilitate communications with other devices over a communication network, such as network 110, utilizing any one of a number of transfer protocols (e.g., frame relay, internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), etc.). Example communication networks can include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks (e.g., cellular networks), Plain Old Telephone (POTS) networks, wireless data networks (e.g., networks based on the IEEE 802.11 family of standards known as Wi-Fi or the IEEE 802.16 family of standards known as WiMax), networks based on the IEEE 802.15.4 family of standards, and peer-to-peer (P2P) networks, among others. In some examples, network interface device 420 can include an Ethernet port or other physical jack, a Wi-Fi card, a Network Interface Card (NIC), a cellular interface (e.g., antenna, filters, and associated circuitry), or the like. In some examples, network interface device 420 can include one or more antennas to wirelessly communicate using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) techniques.
As indicated above, machine 400 can include one or more interlinks or buses 430 operable to transmit communications between the various hardware components of the machine. A system bus 322 can be any of several types of commercially available bus structures or bus architectures.
With reference back to
If reader 102, control panel 108, and/or host server 112 determine that the user's 101 credential or credential data provided by credential device 114 is valid and/or authorized, reader 102, control panel 108, or host server 112 may operate control mechanism 106 to allow access to the secure asset 104 by the user 101 having the credential device. In some embodiments, facial recognition may be used as a second authentication factor, authentication of which may be required before reader 102, control panel 108, and/or host server 112 operate control mechanism 106 to allow access to the secure asset 104 by the user 101 having the credential device. In other example embodiments, facial recognition may be used as a sole authentication factor, and thus, credential data from the user's credential device 114 need not be provided or authenticated.
Facial recognition systems generally require a user 101 to have one or more verified pictures of their face captured (e.g., an enrollment photo), such as during an enrollment step or process. Such enrollment may be completed using a device operably connected by wire or wirelessly to ACS 100, such as to the host server 112. Such device may be, or may be similar to, any of the devices described herein, such as the reader 102, facial recognition module 107, controller 108, credential device 114b, or the like. ACS 100 may use the enrollment photo(s) to develop one or more representations of the user's 101 face, such as one or more facial templates, that generally represent various characteristics of the user's face, such as but not limited to, the spacing between two or more facial elements, the size of one or more facial elements, the aspect ratio of one or more facial elements, the shape of one or more facial elements, the position relative within the face of one or more facial elements, etc.
Once a facial template (or other representation) has been created, it may be distributed to a variety of devices throughout ACS 100, such as one or more host servers 112, one or more controllers 108, and/or one or more readers 106. Subsequently, when an image or video feed (e.g., from which images can be obtained) of the user 101 is captured by reader 102 or facial recognition module 103/107, the facial recognition module 103/107, alone or in conjunction with reader 102, controller 108, and/or host server 112, can create a substantially real-time representation or model (e.g., facial template) of the user's face using one or more images captured by reader 102 or facial recognition module 103/107 and may search through facial representations or templates of a plurality of enrolled users previously distributed (e.g., the gallery) and determine whether there is a match. Facial recognition module 103/107, alone or in conjunction with reader 102, controller 108, and/or host server 112, may take advantage of a deep neural network that has been trained to analyze faces and search a database of facial representations or templates (e.g., a gallery) to determine matches.
Facial recognition module 103/107, alone or in conjunction with reader 102, controller 108, and/or host server 112, may return one or more potential or probable matches for the image of the user 101 captured by reader 102 or facial recognition module 103/107, along with a “confidence” value associated with each match. The confidence value may be affected by many factors, such as but not limited to, the quality of the representation or template generated from the enrollment photo, the quality of the image or video feed captured by reader 102 or facial recognition module 103/107, ambient lighting, age or aging of the user, and changes in appearance of the user, such as due to changes in facial hair, addition or removal of glasses, etc. The facial recognition module 103/107, alone or in conjunction with reader 102, controller 108, and/or host server 112, may determine whether the confidence value of a match meets or exceeds a certain, possibly predefined, threshold for authentication, and if so, then the ACS 100, such as via reader 102, facial recognition module 103/107, controller 108, and/or a host server 112, may permit access to the secure asset 104 by the user of the credential device 114.
There are, however, several drawbacks to an “offline” enrollment process, such as the one described above, wherein an enrollment photo of the user's 101 face is captured using a device operably connected to ACS 100 and then one or more representations of the user's 101 face, such as one or more facial templates, are distributed to devices throughout the ACS. One drawback is the need to create templates (or other representations) and distribute them through potentially a wide-ranging network, assuming a communications network exists at all. for example, in ultra-high level security deployments of an ACS 100, many of the devices of the ACS may not be connected to a wide area network, such as the Internet. Additionally, current and developing requirements for protecting a person's biometric data create problems for wide distribution of facial recognition data, such as the templates described herein. Accordingly, many entities or companies are choosing never to store, or even transmit, such data for fear of potential exposure if there was ever a data breach.
Accordingly, in an example embodiment, the one or more facial templates (or other representations) of a user 101 generated from the enrollment photo(s) of the user may be generated by, or distributed to, and stored directly on the user's credential device 114. As the user 101 approaches reader 102 and/or facial recognition module 103/107, the user's credential device 114 may establish a secure connection with the reader and/or facial recognition module to transmit one or more of the user's facial templates (or other representations) stored on the credential device to the reader and/or facial recognition module, for example, via a suitable RFID or PAN technology. This may be done independently or in connection with the communication from the credential device 114 to the reader 102 and/or facial recognition module 103/107 of the user's credential or credential data, as discussed above. At least one template or other representation transmitted from the credential device 114 to the reader 102 and/or facial recognition module 103/107 may then be used as the gallery image for comparison against the template or other representation generated from the probe image of the user 101 captured in substantially real-time by the reader and/or facial recognition module, as described above.
In another example embodiment, one or more images (e.g., conventional user or non-templated images, such as but not limited to, a “normal” photograph or JPG image) of a user 101, not dissimilar from the type of image used as an enrollment photo, may be captured by, or distributed to, and stored directly on the user's credential device 114. As the user 101 approaches reader 102 and/or facial recognition module 103/107, the user's credential device 114 may establish a secure connection with the reader and/or facial recognition module to transmit one or more of the images stored on the credential device to the reader and/or facial recognition module, for example, via a suitable RFID or PAN technology. This may be done independently or in connection with the communication from the credential device 114 to the reader 102 and/or facial recognition module 103/107 of the user's credential or credential data, as discussed above. The reader 102 and/or facial recognition module 103/107, alone or in conjunction with the controller 108 and/or host server 112, can create a substantially real-time representation or model (e.g., facial template) of the user's face using the one or more images received from the user's 101 credential device 114. The representation or template generated using the one or more images received from the user's 101 credential device 114 may then be used as the gallery image for comparison against the template or other representation generated from the probe image of the user 101 captured in substantially real-time by the reader and/or facial recognition module, as described above.
In still further embodiments, two factor authentication, with one authentication or modality being facial recognition and a second authentication or modality being a credential device, such as credential device 114, is a promising method for utilizing facial recognition while preserving the high level of security provided by such credential device (e.g., proximity or smart card, mobile device, or the like). That is, the credential device (e.g., proximity or smart card or mobile device) may be carried by the user and credential exchange with reader 102 and/or facial recognition module 103/107 may be triggered automatically so as to provide the level of security of, for example, a proximity card access control system, while facial recognition may be used as a convenient second (not necessarily secondary) authentication factor. One problem associated with such ACS embodiment, however, is that when there are many credential devices within the vicinity of multiple readers, such as reader 102, the method(s) of gathering all the credentials and using them along with facial recognition can become complex.
Accordingly, the present disclosure provides ACS embodiments for gathering a plurality of credentials (or credential data) from credential devices having, for example, varying access control permissions and combining that with facial recognition for seamless access control that generally requires no overt actions on the part of the users. In general, reader 102 and/or facial recognition module 103/107 may identify (e.g., gather a list of) credential devices 114 in a nearby area, such as but not limited to within about 50 meters, for example, via a suitable RFID or PAN technology. What is considered the nearby area may be limited only by the capabilities of reader 102 and/or facial recognition module 103/107. That is, in some embodiments, the nearby area or vicinity of the reader 102 and/or facial recognition module 103/107 may be any suitable area around the reader and/or facial recognition module up to and including the distance permitted by the communication protocol (e.g., BLE) being used by the reader and/or facial recognition module. Reader 102 and/or facial recognition module 103/107 may then pair with each credential device, typically one at a time, to exchange or obtain a credential or credential data corresponding to the user (e.g., user 101) of that credential device 114. Reader 102 and/or facial recognition module 103/107 may also continue to scan for new credential devices entering the area and correspondingly obtain the credential(s) or credential data of any new credential devices that are discovered. The credential or credential data from any given credential device 114 is associated with a facial template or other representation of the corresponding user's face. As indicated above, such facial template (or other representation) may be stored or distributed anywhere within ACS 100, including for example in a cloud based database of the ACS, or may be stored on credential device 114, as described above. If not stored locally at reader 102 and/or facial recognition module 103/107, then the reader and/or facial recognition module may obtain the facial template (or other representation) from elsewhere within ACS 100 or from the corresponding credential device 114. Reader 102 and/or facial recognition module 103/107, alone or in conjunction with controller 108 and/or host server 112, may store each obtained credential (or credential data) along with the facial template and any other desired or related information for a temporary period of time, such as for a few seconds to several minutes or more, but usually less than 30 minutes, and likely less than 10 or even 5 minutes. Reader 102 and/or facial recognition module 103/107 then waits for a user 101 corresponding to one of the credential devices 114 for which it temporarily stores information to request access to secure asset 104 via facial recognition, as described above. For example, as a user 101 approaches, an image or video feed (e.g., from which images can be obtained) of the user may be captured by reader 102 or facial recognition module 103/107, the facial recognition module 103/107, alone or in conjunction with reader 102, controller 108, and/or host server 112, may create a substantially real-time facial template of the user's face using an image captured by the reader or facial recognition module, and the facial recognition module, alone or in conjunction with the reader, controller, and/or host server, may search through facial representations or templates of a plurality of enrolled users previously distributed (e.g., the gallery) and determine whether there is a match. However, in order to reduce the number of facial representations or templates of enrolled users that are searched and matched (e.g., the gallery), reader 102 and/or facial recognition module 103/107, alone or in conjunction with controller 108 and/or host server 112, may simply authenticate or verify the facial template of the user's face generated from the image captured by reader 102 or facial recognition module 103/107 against only the facial templates (or subset thereof) stored in connection with the temporarily stored credentials corresponding to credential devices that are (or at least recently were) in the vicinity of the reader and/or facial recognition module. If ACS 100 determines the confidence value of any match meets or exceeds a certain, possibly predefined, threshold for authentication, then the ACS, such as via reader 102, facial recognition module 103/107, controller 108, and/or a host server 112, may permit access to the secure asset 104 by the user attempting access. Once access is granted for a user, the temporarily stored credential, facial template, and other information corresponding to that user may be deleted from the list of nearby credentials. Additionally or alternatively, any given credential and corresponding facial template and other information that is temporarily stored may be deleted after a certain, possibly predefined, threshold amount of time has elapsed without a request for access by the corresponding user. In an ACS having a plurality of readers, the temporarily stored credential, facial template, and other information corresponding to a user may also be exchanged or shared with specified other readers, as desired or appropriate, for example, where multiple readers are within a similar vicinity (such as but not limited to within 50 meters of each other).
Although the flowchart of
Example 1 includes subject matter relating to a non-transitory computer readable medium comprising executable program code, that when executed by one or more processors, causes the one or more processors to: obtain credential data from each of one or more credential devices within a communication range of a reader device; for each user corresponding to the credential data, identify a facial representation for the user; for each user, temporarily store the corresponding facial representation for that user along with the credential data corresponding to that user; capture, at the reader device, an image of an access requester and generate a facial representation of the access requester using the image; compare the facial representation of the access requester with one or more of the temporarily stored facial representations; and permit access by the access requester to a secure asset in instances where the likelihood of a match between the facial representation of the access requester and any of the one or more temporarily stored facial representations meets a threshold.
In Example 2, the subject matter of Example 1 optionally includes wherein identifying a facial representation of at least one user comprises receiving, at the reader device, the facial representation from that user's credential device.
In Example 3, the subject matter of Example 1 optionally includes wherein identifying a facial representation of at least one user comprises: receiving, at the reader device, a facial image from that user's credential device; and generating the facial representation using the facial image.
In Example 4, the subject matter of any of Examples 1 to 3 optionally includes wherein the executable code, when executed by the one or more processors, causes the one or more processors to further validate the credential data from each of the one or more credential devices.
In Example 5, the subject matter of Example 4 optionally includes wherein permitting access by the access requester to a secure asset in instances where the likelihood of a match between the facial representation of the access requester and any of the one or more temporarily stored facial representations meets a threshold comprises permitting access by the access requester to a secure asset in instances where the likelihood of a match between the facial representation of the access requester and any of the one or more temporarily stored facial representations meets a threshold and credential data corresponding to the access requester is determined valid.
In Example 6, the subject matter of any of Examples 1 to 5 optionally includes wherein the communication range of the reader device is determined by wireless capabilities of the reader device.
In Example 7, the subject matter of any of Examples 1 to 6 optionally includes wherein the communication range of the reader device is determined by a communication protocol used between the reader device and each of the one or more credential devices.
In Example 8, the subject matter of any of Examples 1 to 7 optionally includes wherein the executable code, when executed by the one or more processors, causes the one or more processors to further delete the one or more temporarily stored facial representations for which the likelihood of a match with the facial representation of the access requester meets the threshold, along with the corresponding credential data, after access by the access requester to the secure asset is granted.
In Example 9, the subject matter of any of Examples 1 to 8 optionally includes wherein the executable code, when executed by the one or more processors, causes the one or more processors to further delete the credential data and facial representation corresponding to a given user after a threshold amount of time has elapsed.
Example 10 includes subject matter relating to a device for permitting access to a secure asset, the device comprising: at least one processor; and memory storing instructions that when executed by the at least one processor cause the at least one processor to: obtain credential data from each of one or more credential devices within a communication range of the device; for each user corresponding to the credential data, identify a facial representation for the user; for each user, temporarily store the corresponding facial representation for that user along with the credential data corresponding to that user; capture an image of an access requester and generate a facial representation of the access requester using the image; compare the facial representation of the access requester with one or more of the temporarily stored facial representations; and permit access by the access requester to the secure asset in instances where the likelihood of a match between the facial representation of the access requester and any of the one or more temporarily stored facial representations meets a threshold.
In Example 11, the subject matter of Example 10 optionally includes wherein identifying a facial representation of at least one user comprises receiving the facial representation from that user's credential device.
In Example 12, the subject matter of Example 10 optionally includes wherein identifying a facial representation of at least one user comprises: receiving a facial image from that user's credential device; and generating the facial representation using the facial image.
In Example 13, the subject matter of any of Examples 10 to 12 optionally includes wherein the instructions, when executed by the at least one processor, cause the at least one processor to further validate the credential data from each of the one or more credential devices.
In Example 14, the subject matter of Example 13 optionally includes wherein permitting access by the access requester to a secure asset in instances where the likelihood of a match between the facial representation of the access requester and any of the one or more temporarily stored facial representations meets a threshold comprises permitting access by the access requester to a secure asset in instances where the likelihood of a match between the facial representation of the access requester and any of the one or more temporarily stored facial representations meets a threshold and credential data corresponding to the access requester is determined valid.
In Example 15, the subject matter of any of Examples 10 to 14 optionally includes wherein the communication range of the device is determined by wireless capabilities of the device.
In Example 16, the subject matter of any of Examples 10 to 15 optionally includes wherein the communication range of the device is determined by a communication protocol used between the device and each of the one or more credential devices.
In Example 17, the subject matter of any of Examples 10 to 16 optionally includes wherein the instructions, when executed by the at least one processor, cause the at least one processor to further delete the one or more temporarily stored facial representations for which the likelihood of a match with the facial representation of the access requester meets the threshold, along with the corresponding credential data, after access by the access requester to the secure asset is granted.
In Example 18, the subject matter of any of Examples 10 to 17 optionally includes wherein the instructions, when executed by the at least one processor, cause the at least one processor to further delete the credential data and facial representation corresponding to a given user after a threshold amount of time has elapsed.
In Example 19, the subject matter of any of Examples 10 to 18 optionally includes wherein the device comprises at least a reader device connected with a facial recognition module that is external to the reader device, the facial recognition module comprising an optical sensor for capturing the image of the access requester.
In Example 20, the subject matter of Example 19 optionally includes wherein: the reader device is configured with the instructions that cause the at least one processor to obtain credential data from each of the one or more credential devices; and the facial recognition module is configured with the instructions for capturing the image of the access requester.
The above detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific embodiments that can be practiced. These embodiments may also be referred to herein as “examples.” Such embodiments or examples can include elements in addition to those shown or described. However, the present inventors also contemplate examples in which only those elements shown or described are provided. Moreover, the present inventors also contemplate examples using any combination or permutation of those elements shown or described (or one or more aspects thereof), either with respect to a particular example (or one or more aspects thereof), or with respect to other examples (or one or more aspects thereof) shown or described herein. That is, the above-described embodiments or examples or one or more aspects, features, or elements thereof can be used in combination with each other.
As will be appreciated by one of skill in the art, the various embodiments of the present disclosure may be embodied as a method (including, for example, a computer-implemented process, a business process, and/or any other process), apparatus (including, for example, a system, machine, device, computer program product, and/or the like), or a combination of the foregoing. Accordingly, embodiments of the present disclosure or portions thereof may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, middleware, microcode, hardware description languages, etc.), or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present disclosure may take the form of a computer program product on a computer-readable medium or computer-readable storage medium, having computer-executable program code embodied in the medium, that define processes or methods described herein. A processor or processors may perform the necessary tasks defined by the computer-executable program code. In the context of this disclosure, a computer readable medium may be any medium that can contain, store, communicate, or transport the program for use by or in connection with the systems disclosed herein. As indicated above, the computer readable medium may be, for example but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples of suitable computer readable medium include, but are not limited to, an electrical connection having one or more wires or a tangible storage medium such as a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or EEPROM), a compact disc read-only memory (CD-ROM), or other optical, magnetic, or solid state storage device. As noted above, computer-readable media includes, but is not to be confused with, computer-readable storage medium, which is intended to cover all physical, non-transitory, or similar embodiments of computer-readable media.
As used herein, the terms “substantially” or “generally” refer to the complete or nearly complete extent or degree of an action, characteristic, property, state, structure, item, or result. For example, an object that is “substantially” or “generally” enclosed would mean that the object is either completely enclosed or nearly completely enclosed. The exact allowable degree of deviation from absolute completeness may in some cases depend on the specific context. However, generally speaking, the nearness of completion will be so as to have generally the same overall result as if absolute and total completion were obtained. The use of “substantially” or “generally” is equally applicable when used in a negative connotation to refer to the complete or near complete lack of an action, characteristic, property, state, structure, item, or result. For example, an element, combination, embodiment, or composition that is “substantially free of” or “generally free of” an element may still actually contain such element as long as there is generally no significant effect thereof
In the foregoing description various embodiments of the present disclosure have been presented for the purpose of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise form disclosed. Obvious modifications or variations are possible in light of the above teachings. The various embodiments were chosen and described to provide the best illustration of the principals of the disclosure and their practical application, and to enable one of ordinary skill in the art to utilize the various embodiments with various modifications as are suited to the particular use contemplated. All such modifications and variations are within the scope of the present disclosure as determined by the appended claims when interpreted in accordance with the breadth they are fairly, legally, and equitably entitled.
This application claims priority to U.S. Provisional Pat. Appl. No. 63/132,389, titled “Acquiring a Plurality of Mobile Credentials in a Plurality of Readers,” filed Dec. 30, 2020, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
63132389 | Dec 2020 | US |