{"id":5504,"date":"2021-08-11T08:00:50","date_gmt":"2021-08-11T14:00:50","guid":{"rendered":"https:\/\/roc.ai\/?p=5504"},"modified":"2021-08-11T08:00:50","modified_gmt":"2021-08-11T14:00:50","slug":"hardware-considerations-when-architecting-a-face-recognition-system","status":"publish","type":"post","link":"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/","title":{"rendered":"Hardware Considerations when Architecting a Face Recognition System"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;0px||||false|false&#8221; collapsed=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row admin_label=&#8221;Opening Statement&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;0px||||false|false&#8221; collapsed=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text admin_label=&#8221;Opening Statement&#8221; _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;2e74e5d0-f316-42aa-a348-8f9045cb3398&#8243; text_text_color=&#8221;#090E18&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]As the capabilities of automated <a class=\"inline-link\" href=\"https:\/\/roc.ai\/face-recognition-software\/\">face recognition<\/a> algorithms continue to skyrocket, so does the number of face recognition (FR) applications being deployed. Whether it is using FR to unlock a phone, create an investigative lead to help identify a violent criminal, enable low-income persons to open a bank account online, or perform visitor management at a courthouse, more and more face recognition applications continue to be developed by dozens of different system integrators. However, depending on the application, different system architectures and software requirements will be needed. And, depending on the architecture, different algorithm requirements will emerge. This article will discuss these requirements across different face recognition applications so that readers can select the proper FR algorithm when building FR systems.[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;H2 &#8211; Face Recognition Applications&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;60px||0px||false|false&#8221; collapsed=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_divider color=&#8221;#D1D7F0&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][et_pb_text admin_label=&#8221;Face Recognition Applications&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;b713cdde-22bd-4fec-aa50-5b35c5128db3&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]Face Recognition Applications[\/et_pb_text][et_pb_text admin_label=&#8221;&#8230;three primary use-cases&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]There are three primary use-cases for FR technology:<\/p>\n<ul>\n<li><strong><a href=\"#identity-verification\">Identity verification (1:1)<\/a><\/strong><\/li>\n<li><strong><a href=\"#analyst-search\">Analyst driven search \/ manual identification (1:N)<\/a><\/strong><\/li>\n<li><strong><a href=\"#automated-search\">Automated search \/ automated identification (1:N+1)<\/a><\/strong><\/li>\n<\/ul>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;H3 &#8211; Identity Verification &#8211; Text&#8221; module_id=&#8221;identity-verification&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;60px||0px||false|false&#8221; collapsed=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text admin_label=&#8221;Identity Verification&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;cbd6671a-637c-4930-92b6-e8cc746839c2&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]Identity Verification <span style=\"opacity: 0.5;\">1:1<\/span>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/roc.ai\/wp-content\/uploads\/2021\/12\/FR-Use-Case_Arch_Identity-Verification.png&#8221; title_text=&#8221;FR Use Case_Arch_Identity Verification&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;Identity Body&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;2e74e5d0-f316-42aa-a348-8f9045cb3398&#8243; text_text_color=&#8221;#090E18&#8243; global_colors_info=&#8221;{}&#8221;]Identity verification (1:1) is the process of validating a person against a claimed identity. For example, the person will claim to the system they are \u201cJohn Doe\u201d. The system would take a photo of the person (the facial \u201cpresentation\u201d), generate an FR <a class=\"inline-link\" href=\"https:\/\/roc.ai\/2018\/11\/01\/face-recognition-dictionary\/#template\" target=\"_blank\" rel=\"noopener\">template<\/a> from the photo, and compare it against the template on file for \u201cJohn Doe\u201d. <strong>If the presented identity matches the reference identity, then access is granted.<\/strong> This could mean a door opens, a bank account is accessed, or a phone is unlocked. It is important to note that face can be one of multiple authentication factors used for identity verification (e.g., passwords, or tokens).[\/et_pb_text][et_pb_text admin_label=&#8221;USE CASES&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;d1584463-1b7a-4b69-b464-e89ac438cac0&#8243; text_font=&#8221;Poppins|800|||||||&#8221; text_text_color=&#8221;rgba(9,14,24,0.5)&#8221; text_font_size=&#8221;18px&#8221; text_orientation=&#8221;left&#8221; custom_padding=&#8221;||10px||false|false&#8221; global_colors_info=&#8221;{}&#8221;]USE CASES[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_4,1_4,1_4,1_4&#8243; use_custom_gutter=&#8221;on&#8221; admin_label=&#8221;H3 &#8211; Identity Verification &#8211; Images&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;0px||||false|false&#8221; collapsed=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_image src=&#8221;https:\/\/roc.ai\/wp-content\/uploads\/2021\/08\/UseCase_BankAccess.png&#8221; title_text=&#8221;UseCase_BankAccess&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;Bank Account Access&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Poppins|700|||||||&#8221; text_text_color=&#8221;#090E18&#8243; text_font_size=&#8221;14px&#8221; global_colors_info=&#8221;{}&#8221;]Bank Account Access[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_image src=&#8221;https:\/\/roc.ai\/wp-content\/uploads\/2021\/08\/UseCase_FacillityAccess.png&#8221; title_text=&#8221;UseCase_FacillityAccess&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;Secure Facility Access&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Poppins|700|||||||&#8221; text_text_color=&#8221;#090E18&#8243; text_font_size=&#8221;14px&#8221; global_colors_info=&#8221;{}&#8221;]Secure Facility Access[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_image src=&#8221;https:\/\/roc.ai\/wp-content\/uploads\/2021\/08\/UseCase_PhoneUnlock.png&#8221; title_text=&#8221;UseCase_PhoneUnlock&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;Phone Unlock&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Poppins|700|||||||&#8221; text_text_color=&#8221;#090E18&#8243; text_font_size=&#8221;14px&#8221; global_colors_info=&#8221;{}&#8221;]Phone Unlock[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_image src=&#8221;https:\/\/roc.ai\/wp-content\/uploads\/2021\/08\/UseCase_TaxFiling.png&#8221; title_text=&#8221;UseCase_TaxFiling&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;Tax Return Filing&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Poppins|700|||||||&#8221; text_text_color=&#8221;#090E18&#8243; text_font_size=&#8221;14px&#8221; global_colors_info=&#8221;{}&#8221;]Tax Return Filing[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;H3 &#8211; Analyst Driven Search &#8211; Text&#8221; module_id=&#8221;identity-verification&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;60px||0px||false|false&#8221; collapsed=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text admin_label=&#8221;Analyst Driven Search&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;cbd6671a-637c-4930-92b6-e8cc746839c2&#8243; global_colors_info=&#8221;{}&#8221;]Analyst Driven Search<span style=\"opacity: 0.5;\">1:N<\/span>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/roc.ai\/wp-content\/uploads\/2021\/12\/FR-Use-Case_Arch_Analyst-Search.png&#8221; title_text=&#8221;FR Use Case_Arch_Analyst Search&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;Analyst Search Body&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;2e74e5d0-f316-42aa-a348-8f9045cb3398&#8243; text_text_color=&#8221;#090E18&#8243; global_colors_info=&#8221;{}&#8221;]Analyst driven search (1:N) is the process of manually searching a face image (a \u201cprobe\u201d) against a database of pre-processed FR templates (a \u201cgallery\u201d). For example, in a criminal investigation, an image of a suspect may be obtained from a variety of sources, such as a still frame from a security camera, an online photo, or picture captured by a witness. This probe photo of the criminal suspect would then be manually uploaded for search. In turn, a template would be created from the probe image, and it would then be compared against all the templates in the <a class=\"inline-link\" href=\"https:\/\/roc.ai\/2018\/11\/01\/face-recognition-dictionary\/#gallery\" target=\"_blank\" rel=\"noopener\">gallery<\/a> database. <strong>After comparing the probe to the gallery, the most similar matching images in the gallery would be presented to the analyst for manual adjudication.<\/strong> This process is labor intensive in that the FR system is merely <a class=\"inline-link\" href=\"https:\/\/roc.ai\/2020\/09\/23\/rank-one-computing-releases-forensic-face-recognition-suite\/\" target=\"_blank\" rel=\"noopener\">a filtering tool that will reduce the size of the database<\/a>. A significant amount of time and effort is needed for the manual adjudication process.[\/et_pb_text][et_pb_text admin_label=&#8221;USE CASES&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;d1584463-1b7a-4b69-b464-e89ac438cac0&#8243; text_font=&#8221;Poppins|800|||||||&#8221; text_text_color=&#8221;rgba(9,14,24,0.5)&#8221; text_font_size=&#8221;18px&#8221; text_orientation=&#8221;left&#8221; custom_padding=&#8221;||10px||false|false&#8221; global_colors_info=&#8221;{}&#8221;]USE CASES[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_3,1_3,1_3&#8243; use_custom_gutter=&#8221;on&#8221; admin_label=&#8221;H3 &#8211; Analyst Driven Search &#8211; Image&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;0px||||false|false&#8221; collapsed=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_image src=&#8221;https:\/\/roc.ai\/wp-content\/uploads\/2021\/08\/UseCase_BankRobber.png&#8221; title_text=&#8221;UseCase_BankRobber&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;Identification of a Bank Robber&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Poppins|700|||||||&#8221; text_text_color=&#8221;#090E18&#8243; text_font_size=&#8221;14px&#8221; custom_margin=&#8221;||0px||false|false&#8221; custom_padding=&#8221;||0px||false|false&#8221; global_colors_info=&#8221;{}&#8221;]Identification of a Bank Robber[\/et_pb_text][et_pb_text admin_label=&#8221;from a surveillance video frame.&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_text_color=&#8221;#090E18&#8243; text_font_size=&#8221;12px&#8221; global_colors_info=&#8221;{}&#8221;]from a surveillance video frame.[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_image src=&#8221;https:\/\/roc.ai\/wp-content\/uploads\/2021\/08\/UseCase_Assaulter.png&#8221; title_text=&#8221;UseCase_Assaulter&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;Identification of an Assaulter&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Poppins|700|||||||&#8221; text_text_color=&#8221;#090E18&#8243; text_font_size=&#8221;14px&#8221; custom_margin=&#8221;||0px||false|false&#8221; custom_padding=&#8221;||0px||false|false&#8221; global_colors_info=&#8221;{}&#8221;]Identification of an Assaulter[\/et_pb_text][et_pb_text admin_label=&#8221;from their online dating profile.&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_text_color=&#8221;#090E18&#8243; text_font_size=&#8221;12px&#8221; global_colors_info=&#8221;{}&#8221;]from their online dating profile.[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_image src=&#8221;https:\/\/roc.ai\/wp-content\/uploads\/2021\/08\/UseCase_HitAndRun.png&#8221; title_text=&#8221;UseCase_HitAndRun&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;Identification of a Hit &#038; Run Suspect&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Poppins|700|||||||&#8221; text_text_color=&#8221;#090E18&#8243; text_font_size=&#8221;14px&#8221; custom_margin=&#8221;||0px||false|false&#8221; custom_padding=&#8221;||0px||false|false&#8221; global_colors_info=&#8221;{}&#8221;]Identification of a Hit &amp; Run Suspect[\/et_pb_text][et_pb_text admin_label=&#8221;from a bystander&#8217;s cell phone camera.&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_text_color=&#8221;#090E18&#8243; text_font_size=&#8221;12px&#8221; global_colors_info=&#8221;{}&#8221;]from a bystander&#8217;s cell phone camera.[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;H3 &#8211; Automated Search &#8211; Text&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;60px||0px||false|false&#8221; collapsed=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text admin_label=&#8221;Automated Search&#8221; module_id=&#8221;automated-search&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;cbd6671a-637c-4930-92b6-e8cc746839c2&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]Automated Search<span style=\"opacity: 0.5;\">1:N+1<\/span>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/roc.ai\/wp-content\/uploads\/2021\/12\/FR-Use-Case_Arch_Automated-Search.png&#8221; title_text=&#8221;FR Use Case_Arch_Automated Search&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;Automated Search Body&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;2e74e5d0-f316-42aa-a348-8f9045cb3398&#8243; text_text_color=&#8221;#090E18&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]Automated search (1:N+1) is typically performed in high-throughput applications such as traveler screening or video analytics. For example, a human trafficking investigation may require anlayzing terabytes of images and video to identity the different persons present (both victims and perpetrators). This step involves generating templates for every input image processed. Or, in the case of live streaming video, templates are generated at a rate of roughly five (5) video frames per second (FPS). For video, after the templates have been generated they are often clustered into the different identities present. This clustering and tracking step involves cross-comparing all the templates. Without an efficient template comparison speed and clustering algorithm, this process can be very time consuming and generally grows exponentially in time as a function of the number of templates being clustered. Each clustered identity, or each individual template if no clustering is performed, is then searched against available watch-list galleries. <strong>Any probe template that matches a gallery template beyond a predetermined similarity threshold will trigger an identity match alert.<\/strong> Or, in the case of a passenger screening for an automated search application, either a single image is manually captured by an operator, or a live video stream of a passenger is captured and automatically distilled down to a single representative photograph. In the case of the single image, the face image is captured, analyzed for quality conformance (e.g., using an automated quality metric and \/ or validation of ICAO compliance), and templatized. In the case of live video, five (5) to ten (10) FPS needs to be captured and templatized, followed by identity tracking and grouping, and finally cross-comparing templates from the recent collection sequence and possibly applying spatio-temporal constraints. The template for each passenger being screened can then be compared against multiple galleries, such as a passenger manifest or No Fly List. Any probe template that matches a gallery template beyond a predetermined similarity threshold will trigger an identity match alert. Or, in the case of the passenger manifest, if the presented passenger identity does not match any person in the manifest, a match alert would occur.[\/et_pb_text][et_pb_text admin_label=&#8221;USE CASES&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;d1584463-1b7a-4b69-b464-e89ac438cac0&#8243; text_font=&#8221;Poppins|800|||||||&#8221; text_text_color=&#8221;rgba(9,14,24,0.5)&#8221; text_font_size=&#8221;18px&#8221; text_orientation=&#8221;left&#8221; custom_padding=&#8221;||10px||false|false&#8221; global_colors_info=&#8221;{}&#8221;]USE CASES[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_4,1_4,1_4,1_4&#8243; use_custom_gutter=&#8221;on&#8221; admin_label=&#8221;H3 &#8211; Automated Search &#8211; Images&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;0px||||false|false&#8221; collapsed=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_image src=&#8221;https:\/\/roc.ai\/wp-content\/uploads\/2021\/08\/UseCase_BankAccess.png&#8221; title_text=&#8221;UseCase_BankAccess&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;Bank Account Access&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Poppins|700|||||||&#8221; text_text_color=&#8221;#090E18&#8243; text_font_size=&#8221;14px&#8221; global_colors_info=&#8221;{}&#8221;]Bank Account Access[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_image src=&#8221;https:\/\/roc.ai\/wp-content\/uploads\/2021\/08\/UseCase_FacillityAccess.png&#8221; title_text=&#8221;UseCase_FacillityAccess&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;Secure Facility Access&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Poppins|700|||||||&#8221; text_text_color=&#8221;#090E18&#8243; text_font_size=&#8221;14px&#8221; global_colors_info=&#8221;{}&#8221;]Secure Facility Access[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_image src=&#8221;https:\/\/roc.ai\/wp-content\/uploads\/2021\/08\/UseCase_PhoneUnlock.png&#8221; title_text=&#8221;UseCase_PhoneUnlock&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;Phone Unlock&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Poppins|700|||||||&#8221; text_text_color=&#8221;#090E18&#8243; text_font_size=&#8221;14px&#8221; global_colors_info=&#8221;{}&#8221;]Phone Unlock[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_image src=&#8221;https:\/\/roc.ai\/wp-content\/uploads\/2021\/08\/UseCase_TaxFiling.png&#8221; title_text=&#8221;UseCase_TaxFiling&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;Tax Return Filing&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Poppins|700|||||||&#8221; text_text_color=&#8221;#090E18&#8243; text_font_size=&#8221;14px&#8221; global_colors_info=&#8221;{}&#8221;]Tax Return Filing[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;H2 &#8211; Hardware Considerations&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;60px||||false|false&#8221; collapsed=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_divider color=&#8221;#D1D7F0&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][et_pb_text admin_label=&#8221;Hardware Considerations&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;b713cdde-22bd-4fec-aa50-5b35c5128db3&#8243; global_colors_info=&#8221;{}&#8221;]Hardware Considerations[\/et_pb_text][et_pb_text admin_label=&#8221;Algorithm Efficiency&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;cbd6671a-637c-4930-92b6-e8cc746839c2&#8243; custom_padding=&#8221;40px||||false|false&#8221; global_colors_info=&#8221;{}&#8221;]Algorithm Efficiency[\/et_pb_text][et_pb_text admin_label=&#8221;Efficiency Body&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;2e74e5d0-f316-42aa-a348-8f9045cb3398&#8243; text_text_color=&#8221;#090E18&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]Previous Rank One articles have provided significant insights into the various efficiency metrics that influence an FR algorithm&#8217;s deployability. For new readers we highly recommend reading those articles, particularly <a class=\"inline-link\" href=\"https:\/\/roc.ai\/2019\/04\/25\/procuring-a-face-recognition-algorithm-efficiency-considerations\/\" target=\"_blank\" rel=\"noopener\">our initial article on the topic<\/a>. To summarize these metrics:<\/p>\n<ul>\n<li><strong>Template generation speed<\/strong> is the time needed to initially process a face image or video frame.<\/li>\n<li><strong>Template size<\/strong> is the memory required to represent facial features of a processed face image.<\/li>\n<li><strong>Comparison speed<\/strong> is the time needed to measure the similarity between two facial templates.<\/li>\n<li><strong>Binary size<\/strong> is the amount of memory needed to load an algorithm\u2019s model files and software libraries.<\/li>\n<\/ul>\n<p>The performance of an FR algorithm across these metrics will dictate whether or not they can run on a given hardware system. And, across the FR industry there is a <a class=\"inline-link\" href=\"https:\/\/roc.ai\/2020\/08\/26\/rank-one-stands-alone-with-top-tier-performance-in-nist-frvt-ongoing-benchmark\/\" target=\"_blank\" rel=\"noopener\">tremendous amount of variation in efficiency metrics<\/a> across different vendors. The following graphic demonstrates how different metrics can influence the amount of CPU throughput or memory needed for a hardware system:[\/et_pb_text][et_pb_image src=&#8221;https:\/\/roc.ai\/wp-content\/uploads\/2021\/08\/Hardware_Components.png&#8221; title_text=&#8221;Hardware_Components&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;Hardware Components&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;cbd6671a-637c-4930-92b6-e8cc746839c2&#8243; custom_padding=&#8221;40px||||false|false&#8221; global_colors_info=&#8221;{}&#8221;]Hardware Components[\/et_pb_text][et_pb_text admin_label=&#8221;Hardware Body&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;2e74e5d0-f316-42aa-a348-8f9045cb3398&#8243; text_text_color=&#8221;#090E18&#8243; global_colors_info=&#8221;{}&#8221;]Different hardware and network resources may be available or desired for a given application. The common architectural components are:<\/p>\n<ul>\n<li><strong>Persistent server \/ desktop<\/strong> &#8211; low quantity, high cost, high processing power and memory. These systems will typically host FR libraries and\/or system software. These systems will typically have server grade x64 processors and potentially GPU processors.<\/li>\n<li><strong>Embedded device<\/strong> &#8211; low-cost, high quantity devices with limited processing power and memory that can either host FR libraries on-edge or operate as a \u201cthin-client\u201d that passes imagery to a server or cloud system for processing. These systems typically have mobile grade ARM processors and potentially Neural Processing Units (NPU\u2019s).<\/li>\n<li><strong>Scalable cloud<\/strong> &#8211; arrays of server resources abstracted through a cloud resource management system.<\/li>\n<li><strong>Network<\/strong> &#8211; communication channels between devices. Networks will have varying amounts of bandwidth depending on their properties.<\/li>\n<\/ul>\n<p>Depending on the application and available hardware resources, different FR system architectures need to be deployed. And, depending on the architecture used, different FR algorithm efficiency requirements will emerge. This is because of the differences in processing and memory resources across these different hardware systems:[\/et_pb_text][et_pb_image src=&#8221;https:\/\/roc.ai\/wp-content\/uploads\/2021\/12\/Architecture_Options.png&#8221; title_text=&#8221;Architecture_Options&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;Note&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;2e74e5d0-f316-42aa-a348-8f9045cb3398&#8243; text_text_color=&#8221;#090E18&#8243; text_font_size=&#8221;12px&#8221; text_line_height=&#8221;1.25em&#8221; global_colors_info=&#8221;{}&#8221;]Note that this article does not specifically cover GPU acceleration, whether through a traditional NVIDIA CUDA-enabled GPU or an embedded Neural Processing Unit (NPU), but readers can assign such hardware components to the \u201cprocessor\u201d category. The main distinction is that GPU acceleration generally decreases the throughput-cost for CPU dependent applications.[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;H2 &#8211; Architecture Options&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;60px||||false|false&#8221; collapsed=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_divider color=&#8221;#D1D7F0&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][et_pb_text admin_label=&#8221;Architecture Options&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;b713cdde-22bd-4fec-aa50-5b35c5128db3&#8243; global_colors_info=&#8221;{}&#8221;]Architecture Options[\/et_pb_text][et_pb_text admin_label=&#8221;Architecture Body&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;2e74e5d0-f316-42aa-a348-8f9045cb3398&#8243; text_text_color=&#8221;#090E18&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]In this remainder of this article we will walk through the various architectures that are encountered when developing a face recognition system and the algorithm efficiency considerations for each architecture will then be discussed.[\/et_pb_text][et_pb_text admin_label=&#8221;Persistent server and Desktop systems&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;cbd6671a-637c-4930-92b6-e8cc746839c2&#8243; custom_padding=&#8221;40px||||false|false&#8221; global_colors_info=&#8221;{}&#8221;]Persistent server and Desktop systems[\/et_pb_text][et_pb_text admin_label=&#8221;Body&#8221; _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;2e74e5d0-f316-42aa-a348-8f9045cb3398&#8243; text_text_color=&#8221;#090E18&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]Server and desktop systems are typically used in analyst driven applications, such as forensic analysis of digital media evidence, systems with predictable workloads such as an identity document agency (e.g., a DMV), or high-value systems with infrequent use (e.g., a <a class=\"inline-link\" href=\"https:\/\/roc.ai\/public-safety\/\">law enforcement<\/a> search system). These systems will typically stay installed on the same computer for several years at a time.<\/p>\n<p style=\"padding-bottom: 0px;\"><strong><span style=\"opacity: 0.4;\">Advantages<\/span><\/strong><\/p>\n<ul>\n<li>Hardware flexibility<\/li>\n<li>Predictable cost<\/li>\n<li>Predictable throughput<\/li>\n<li>High throughput<\/li>\n<\/ul>\n<p style=\"padding-bottom: 0px;\"><strong><span style=\"opacity: 0.4;\">Disadvantages<\/span><\/strong><\/p>\n<ul>\n<li>Hardware cost<\/li>\n<li>Lack of redundancy<\/li>\n<li>Lack of scalability<\/li>\n<li>Lack of portability<\/li>\n<\/ul>\n<p><strong>Algorithm limitations when using a persistent server:<\/strong><\/p>\n<p style=\"padding-bottom: 0px;\"><strong><span style=\"opacity: 0.4;\">Identity Verification &#8211; 1:1<\/span><\/strong><\/p>\n<ul>\n<li>Slow template generation speed will reduce throughput\/system response time<\/li>\n<li>Large binary size will impact system restart speed<\/li>\n<li>High hardware cost<\/li>\n<li>Powerful network needed for decentralized sensors<\/li>\n<\/ul>\n<p style=\"padding-bottom: 0px;\"><strong><span style=\"opacity: 0.4;\">Manual Identification &#8211; 1:N<\/span><\/strong><\/p>\n<ul>\n<li>Large template size will require significant memory resources<\/li>\n<li>High template generation speed will delay search results<\/li>\n<li>High comparison speed will delay search results<\/li>\n<\/ul>\n<p style=\"padding-bottom: 0px;\"><strong><span style=\"opacity: 0.4;\">Manual Identification &#8211; 1:N+1<\/span><\/strong><\/p>\n<ul>\n<li>High template generation speed will reduce throughput (e.g., video processing)<\/li>\n<li>Large template and binary sizes will require significant memory resources<\/li>\n<\/ul>\n<p>[\/et_pb_text][et_pb_text admin_label=&#8221;Embedded Devices&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;cbd6671a-637c-4930-92b6-e8cc746839c2&#8243; custom_padding=&#8221;40px||||false|false&#8221; global_colors_info=&#8221;{}&#8221;]Embedded Devices[\/et_pb_text][et_pb_text admin_label=&#8221;Body&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;2e74e5d0-f316-42aa-a348-8f9045cb3398&#8243; text_text_color=&#8221;#090E18&#8243; global_colors_info=&#8221;{}&#8221;]Embedded devices such as a phone or consumer electronic device are low cost and highly capable when running properly designed software. There are fundamental limits on what can be achieved by an embedded processor (e.g., ARM) and thus template generation speed and template size can play a major role in FR system requirements.<\/p>\n<p style=\"padding-bottom: 0px;\"><strong><span style=\"opacity: 0.4;\">Advantages<\/span><\/strong><\/p>\n<ul>\n<li>Low hardware cost<\/li>\n<li>Portability<\/li>\n<\/ul>\n<p style=\"padding-bottom: 0px;\"><strong><span style=\"opacity: 0.4;\">Disadvantages<\/span><\/strong><\/p>\n<ul>\n<li>Limited hardware capacity<\/li>\n<li>Limited power resources<\/li>\n<li>Requires highly efficient algorithms<\/li>\n<\/ul>\n<p><strong>Algorithm limitations per FR application when using embedded devices<\/strong><\/p>\n<p style=\"padding-bottom: 0px;\"><strong><span style=\"opacity: 0.4;\">Identity Verification &#8211; 1:1<\/span><\/strong><\/p>\n<ul>\n<li>Slow template generation speed will cause major latency (&gt; 3 seconds)<\/li>\n<li>Large binary size will occupy a high percentage of available memory<\/li>\n<\/ul>\n<p style=\"padding-bottom: 0px;\"><strong><span style=\"opacity: 0.4;\">Manual Identification &#8211; 1:N<\/span><\/strong><\/p>\n<ul>\n<li>Template size must be very small due to memory limits<\/li>\n<li>High template generation speed will significantly delay search results<\/li>\n<li>High comparison speed will significantly delay search results<\/li>\n<li>Large binary size will occupy a high percentage of available memory<\/li>\n<\/ul>\n<p style=\"padding-bottom: 0px;\"><strong><span style=\"opacity: 0.4;\">Manual Identification &#8211; 1:N+1<\/span><\/strong><\/p>\n<ul>\n<li>Slow template generation speed will render video processing impossible<\/li>\n<li>Template size must be very small due to memory limits<\/li>\n<li>Large binary sizes will exasperate memory resources<\/li>\n<\/ul>\n<p>[\/et_pb_text][et_pb_text admin_label=&#8221;Scalable Cloud&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;cbd6671a-637c-4930-92b6-e8cc746839c2&#8243; custom_padding=&#8221;40px||||false|false&#8221; global_colors_info=&#8221;{}&#8221;]Scalable Cloud[\/et_pb_text][et_pb_text admin_label=&#8221;Body&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;2e74e5d0-f316-42aa-a348-8f9045cb3398&#8243; text_text_color=&#8221;#090E18&#8243; global_colors_info=&#8221;{}&#8221;]A scalable cloud architecture, such as Kubernetes, running on a scalable cloud hardware provider, can be highly valuable for application workflows that have varied and unpredictable throughputs.<\/p>\n<p style=\"padding-bottom: 0px;\"><strong><span style=\"opacity: 0.4;\">Advantages<\/span><\/strong><\/p>\n<ul>\n<li>Highly scalable<\/li>\n<li>Pay per usage<\/li>\n<li>Redundancy<\/li>\n<li>Fault tolerance<\/li>\n<\/ul>\n<p style=\"padding-bottom: 0px;\"><strong><span style=\"opacity: 0.4;\">Disadvantages<\/span><\/strong><\/p>\n<ul>\n<li>Latency to instantiate new nodes<\/li>\n<li>Memory limitations<\/li>\n<li>Higher cost to initially implement<\/li>\n<\/ul>\n<p><strong>Algorithm limitations per FR application when using the cloud<\/strong><\/p>\n<p style=\"padding-bottom: 0px;\"><strong><span style=\"opacity: 0.4;\">Identity Verification &#8211; 1:1<\/span><\/strong><\/p>\n<ul>\n<li>Large binary size will slow container instantiation time<\/li>\n<li>Poor network bandwidth will delay image transmission<\/li>\n<li>Slow template generation speed will reduce throughput \/ system response time<\/li>\n<\/ul>\n<p style=\"padding-bottom: 0px;\"><strong><span style=\"opacity: 0.4;\">Manual Identification &#8211; 1:N<\/span><\/strong><\/p>\n<ul>\n<li>NOT ADVISED TYPICALLY<\/li>\n<li>Large template size or large number of templates will make container instantiation very slow; as such, not typically advised<\/li>\n<li>Gallery size is typically too large to instantiate containers in less than 30 seconds<\/li>\n<\/ul>\n<p style=\"padding-bottom: 0px;\"><strong><span style=\"opacity: 0.4;\">Manual Identification &#8211; 1:N+1<\/span><\/strong><\/p>\n<ul>\n<li>Slow template generation speed makes video processing expensive<\/li>\n<li>Large template size, large number of templates, and\/or large binary size will make container instantiation very slow<\/li>\n<li>Poor network bandwidth will prevent video transmission to the cloud<\/li>\n<\/ul>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;H2 &#8211; Summary&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;60px||||false|false&#8221; collapsed=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_divider color=&#8221;#D1D7F0&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][et_pb_text admin_label=&#8221;Summary&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;b713cdde-22bd-4fec-aa50-5b35c5128db3&#8243; global_colors_info=&#8221;{}&#8221;]Summary[\/et_pb_text][et_pb_text admin_label=&#8221;Architecture Body&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;2e74e5d0-f316-42aa-a348-8f9045cb3398&#8243; text_text_color=&#8221;#090E18&#8243; global_colors_info=&#8221;{}&#8221;]There are a wide range of considerations when building and deploying a face recognition system. This article walked through such considerations related to what hardware is being used to deploy such a system, and the various algorithm properties that are needed to run effectively on such hardware. Such an understanding is critical because while the majority of marketing focus on face recognition algorithms is on accuracy, the top 100 performers in NIST FRVT are often separated by less than a 1% in accuracy. By contrast, <strong>the efficiency of an algorithm can vary by 5x to 10x and can be make-or-break when it comes to the successful deployment of a face recognition system.<\/strong> The Rank One algorithm is the only Western friendly vendor to consistently achieve <a class=\"inline-link\" href=\"https:\/\/roc.ai\/2020\/08\/26\/rank-one-stands-alone-with-top-tier-performance-in-nist-frvt-ongoing-benchmark\/\" target=\"_blank\" rel=\"noopener\">top performance marks in both FR algorithm accuracy <strong>and<\/strong> efficiency<\/a>. As such, regardless of the FR application or the available hardware resources, the ROC SDK is an ideal backbone for any FR system configuration. <a class=\"inline-link\" href=\"https:\/\/roc.ai\/#contact\">Contact<\/a> our team today to begin your trial of our industry leading face recognition algorithms and software libraries![\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As the capabilities of automated face recognition algorithms continue to [&hellip;]<\/p>\n","protected":false},"author":143642095,"featured_media":5566,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[677108370,4762,10919,671645718],"tags":[],"class_list":["post-5504","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-educational","category-reference","category-roc-sdk"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Designing Efficient Face Recognition Systems: Key Hardware and Algorithm Insights<\/title>\n<meta name=\"description\" content=\"Explore the crucial hardware and software considerations for various face recognition applications, including identity verification, analyst-driven search, and automated search.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Designing Efficient Face Recognition Systems: Key Hardware and Algorithm Insights\" \/>\n<meta property=\"og:description\" content=\"Explore the crucial hardware and software considerations for various face recognition applications, including identity verification, analyst-driven search, and automated search.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/\" \/>\n<meta property=\"og:site_name\" content=\"ROC\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-11T14:00:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/roc.ai\/wp-content\/uploads\/2021\/08\/img_face-app-architecture.png\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"563\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Brendan Klare\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rocfacerec\" \/>\n<meta name=\"twitter:site\" content=\"@rocfacerec\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Brendan Klare\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/\"},\"author\":{\"name\":\"Brendan Klare\",\"@id\":\"https:\/\/roc.ai\/#\/schema\/person\/6da6e6a524d01a7d63e094526a46918f\"},\"headline\":\"Hardware Considerations when Architecting a Face Recognition System\",\"datePublished\":\"2021-08-11T14:00:50+00:00\",\"dateModified\":\"2021-08-11T14:00:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/\"},\"wordCount\":4496,\"publisher\":{\"@id\":\"https:\/\/roc.ai\/#organization\"},\"articleSection\":[\"Blog\",\"Educational\",\"Reference\",\"ROC SDK\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/\",\"url\":\"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/\",\"name\":\"Designing Efficient Face Recognition Systems: Key Hardware and Algorithm Insights\",\"isPartOf\":{\"@id\":\"https:\/\/roc.ai\/#website\"},\"datePublished\":\"2021-08-11T14:00:50+00:00\",\"dateModified\":\"2021-08-11T14:00:50+00:00\",\"description\":\"Explore the crucial hardware and software considerations for various face recognition applications, including identity verification, analyst-driven search, and automated search.\",\"breadcrumb\":{\"@id\":\"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/roc.ai\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hardware Considerations when Architecting a Face Recognition System\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/roc.ai\/#website\",\"url\":\"https:\/\/roc.ai\/\",\"name\":\"ROC\",\"description\":\"Rank One develops industry-leading, American-made computer vision solutions that leverage Artifical Intelligence and make the world safer and more convenient.\",\"publisher\":{\"@id\":\"https:\/\/roc.ai\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/roc.ai\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/roc.ai\/#organization\",\"name\":\"ROC\",\"url\":\"https:\/\/roc.ai\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/roc.ai\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/roc.ai\/wp-content\/uploads\/2022\/09\/RankOne_Vector.svg\",\"contentUrl\":\"https:\/\/roc.ai\/wp-content\/uploads\/2022\/09\/RankOne_Vector.svg\",\"width\":208,\"height\":57,\"caption\":\"ROC\"},\"image\":{\"@id\":\"https:\/\/roc.ai\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/twitter.com\/rocfacerec\",\"https:\/\/www.linkedin.com\/company\/rank-one-computing\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/roc.ai\/#\/schema\/person\/6da6e6a524d01a7d63e094526a46918f\",\"name\":\"Brendan Klare\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/roc.ai\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ba9ff4a47a1c281ed2d89ca46c08ee2d?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ba9ff4a47a1c281ed2d89ca46c08ee2d?s=96&d=identicon&r=g\",\"caption\":\"Brendan Klare\"},\"description\":\"CEO of Rank One Computing and long time researcher of automated face recognition algorithms.\",\"sameAs\":[\"http:\/\/rankone994165702.wordpress.com\"],\"url\":\"https:\/\/roc.ai\/author\/bklare\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Designing Efficient Face Recognition Systems: Key Hardware and Algorithm Insights","description":"Explore the crucial hardware and software considerations for various face recognition applications, including identity verification, analyst-driven search, and automated search.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/","og_locale":"en_US","og_type":"article","og_title":"Designing Efficient Face Recognition Systems: Key Hardware and Algorithm Insights","og_description":"Explore the crucial hardware and software considerations for various face recognition applications, including identity verification, analyst-driven search, and automated search.","og_url":"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/","og_site_name":"ROC","article_published_time":"2021-08-11T14:00:50+00:00","og_image":[{"width":900,"height":563,"url":"https:\/\/roc.ai\/wp-content\/uploads\/2021\/08\/img_face-app-architecture.png","type":"image\/png"}],"author":"Brendan Klare","twitter_card":"summary_large_image","twitter_creator":"@rocfacerec","twitter_site":"@rocfacerec","twitter_misc":{"Written by":"Brendan Klare","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/#article","isPartOf":{"@id":"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/"},"author":{"name":"Brendan Klare","@id":"https:\/\/roc.ai\/#\/schema\/person\/6da6e6a524d01a7d63e094526a46918f"},"headline":"Hardware Considerations when Architecting a Face Recognition System","datePublished":"2021-08-11T14:00:50+00:00","dateModified":"2021-08-11T14:00:50+00:00","mainEntityOfPage":{"@id":"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/"},"wordCount":4496,"publisher":{"@id":"https:\/\/roc.ai\/#organization"},"articleSection":["Blog","Educational","Reference","ROC SDK"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/","url":"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/","name":"Designing Efficient Face Recognition Systems: Key Hardware and Algorithm Insights","isPartOf":{"@id":"https:\/\/roc.ai\/#website"},"datePublished":"2021-08-11T14:00:50+00:00","dateModified":"2021-08-11T14:00:50+00:00","description":"Explore the crucial hardware and software considerations for various face recognition applications, including identity verification, analyst-driven search, and automated search.","breadcrumb":{"@id":"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/roc.ai\/2021\/08\/11\/hardware-considerations-when-architecting-a-face-recognition-system\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/roc.ai\/"},{"@type":"ListItem","position":2,"name":"Hardware Considerations when Architecting a Face Recognition System"}]},{"@type":"WebSite","@id":"https:\/\/roc.ai\/#website","url":"https:\/\/roc.ai\/","name":"ROC","description":"Rank One develops industry-leading, American-made computer vision solutions that leverage Artifical Intelligence and make the world safer and more convenient.","publisher":{"@id":"https:\/\/roc.ai\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/roc.ai\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/roc.ai\/#organization","name":"ROC","url":"https:\/\/roc.ai\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/roc.ai\/#\/schema\/logo\/image\/","url":"https:\/\/roc.ai\/wp-content\/uploads\/2022\/09\/RankOne_Vector.svg","contentUrl":"https:\/\/roc.ai\/wp-content\/uploads\/2022\/09\/RankOne_Vector.svg","width":208,"height":57,"caption":"ROC"},"image":{"@id":"https:\/\/roc.ai\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/twitter.com\/rocfacerec","https:\/\/www.linkedin.com\/company\/rank-one-computing\/"]},{"@type":"Person","@id":"https:\/\/roc.ai\/#\/schema\/person\/6da6e6a524d01a7d63e094526a46918f","name":"Brendan Klare","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/roc.ai\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ba9ff4a47a1c281ed2d89ca46c08ee2d?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ba9ff4a47a1c281ed2d89ca46c08ee2d?s=96&d=identicon&r=g","caption":"Brendan Klare"},"description":"CEO of Rank One Computing and long time researcher of automated face recognition algorithms.","sameAs":["http:\/\/rankone994165702.wordpress.com"],"url":"https:\/\/roc.ai\/author\/bklare\/"}]}},"_links":{"self":[{"href":"https:\/\/roc.ai\/wp-json\/wp\/v2\/posts\/5504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roc.ai\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/roc.ai\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/roc.ai\/wp-json\/wp\/v2\/users\/143642095"}],"replies":[{"embeddable":true,"href":"https:\/\/roc.ai\/wp-json\/wp\/v2\/comments?post=5504"}],"version-history":[{"count":0,"href":"https:\/\/roc.ai\/wp-json\/wp\/v2\/posts\/5504\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/roc.ai\/wp-json\/wp\/v2\/media\/5566"}],"wp:attachment":[{"href":"https:\/\/roc.ai\/wp-json\/wp\/v2\/media?parent=5504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/roc.ai\/wp-json\/wp\/v2\/categories?post=5504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/roc.ai\/wp-json\/wp\/v2\/tags?post=5504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}