ROC Algorithms

Fast. Accurate. Scalable. Affordable.

The Software Development Kits (SDK's) offered from Rank One Computing (ROC) provide software developers and system engineers with exceptionally efficient and accurate automated face recognition and detection algorithms. Our ROC SDK products includes:

  • Two face recognition algorithms:
    • ROCFR - designed for accurate identification of unconstrained faces (i.e., faces of non-ideal quality)
    • ROCID - designed for controlled capture frontal face recognition images (i.e., images that comply with the ISO/IEC 19794-5 and ICAO 9303 standards)
  • Face detection of frontal, non-frontal, and partial faces, with the best combination of accuracy and speed
  • Support for face tracking and video-based face recognition
  • Automated demographic estimation (age, race/ethnicity, and gender)
  • Automated detection of facial pose (pitch/yaw) and glasses (eyeglasses and sunglasses)
  • Template sizes that are an order of magnitude smaller than other solutions (144 bytes for ROCFR and 208 bytes for ROCID)
  • Enrollment speeds of ~12 images/frames, per CPU core, per second
  • Matching speeds of ~20 million comparisons, per CPU core, per second
  • Runs natively on Windows, Linux, OS X, and Android
  • C API (with wrappers for Java, Python and C#)
  • Command Line Interface (CLI) covering all major SDK functions
  • Technical support from the ROC engineering team


The ROC SDK ships with two different face recognition algorithms: ROCFR and ROCID. The ROCFR algorithm is an industry leading solution for unconstrained face recognition (FR). Unconstrained FR means recognizing faces from arbitrary images of a person. That is, they will vary in terms of pose, illumination, compression, and occlusions. ROCID is a frontal face recognition algorithm designed to match controlled capture face images. This generally includes identity (ID) documents such as mugshots, passports, or driver’s licenses.



An example of an unconstrained face image. These images vary in pose, illumination (e.g., shadows), compression artifacts, and parts of the face may be occluded. Market solutions are not generally designed for these images.


An example of a controlled capture face image (e.g., mugshot). These images are collected respective to standards specifying fixed lighting, pose, background, etc.


The key design requirement when developing ROC SDK was scalability. Why? Because if image collections are growing exponentially, then this should be met by an exponential decrease in the resources required to process an image or video while maintaining accuracy. That is exactly what ROC SDK provides. The template size used to represent a face image by the ROCFR and ROCID algorithms are over an order of magnitude smaller than leading solutions in the market.

How small are the templates? The ROCID algorithm represents a face using a 208-byte template. The ROCFR algorithm represents a face using a 144-byte template.

Why does template size matter? Because in order to provide a responsive search, the templates generally need to be stored in a computer’s RAM. A smaller template size means a proportional decrease in the amount of required RAM and thus a proportional increase in the number of images that can be searched.

To better understand how the ROC templates relates to the industry leaders, we compare against the statistics provided in the recent NIST Face Recognition Vendor Test. The three leading vendor algorithms in terms of accuracy were represented by letters “E”, “D”, and “A” (see the report for the mappings). Below we have plotted the template size, at scale, for each vendor’s most accurate algorithm and/or efficient template solution (if different).

Template Size

The exponential decrease in template size observed when using the ROC SDK algorithms are proportional to the hardware resources required. In the face of ever growing image volumes, this could be the difference in a resolved law enforcement investigation, or a crashed laptop.


The face recognition algorithms shipped in ROC SDK are among the most accurate on the market. We demonstrate the accuracy here using two benchmark datasets that are freely available to the public. We will further demonstrate the capabilities of the ROC SDK through participation in the NIST Face Challenges and other relevant venues.

The first dataset used is the Labeled Faces in the Wild (LFW), which is the most popular dataset for studying unconstrained face recognition accuracy. We use all 13,130 face images in LFW to compute recognition accuracy. The ROCFR algorithm is applied to this dataset. The second dataset is the NIST Special Database 32: Multiple Encounter Dataset (MEDS). This dataset contains mugshot images, and is well suited for measuring controlled capture face recognition accuracy. We use the highest quality frontal image of each subject for the gallery (518 images) and the remaining frontal images as probes (698 images). The ROCID algorithm is applied to this dataset. No images or persons from the LFW and MEDS datasets were used to train the ROCFR and ROCID algorithms.

Baseline accuracy on these two datasets is established using the PittPatt 5.2.2 SDK (PP5) face recognition algorithm. PP5 is a government off the shelf algorithm. PittPatt’s template size is over 60,000 bytes.

ROCFR Accuracy
ROCID Accuracy


Please contact us to learn more about our pricing.

Example Configurations

The following table lists the amount RAM and CPUs to search the number of face images listed in less than two seconds:

Number of Templates ROCFR Required RAM ROCID Required RAM
100 thousand 14.4 MB 20.8 MB
1 million 144 MB 208 MB
10 million 1.44 GB 2.04 GB
100 million 14.4 GB 20.8 GB
1 billion 144 GB 208 GB

Try it today

We strive to make ROC SDK affordable while allowing our business to operate and grow in a manner that achieves our goals of improving image search. However, this pricing may still be prohibitive for some organizations. If so, please see the project OpenBR for an open source alternative. The accuracy is not the same. Nor is the speed. But OpenBR represents a free solution to organizations with budget constraints.

Made in the U.S.A.

Copyright © Rank One Computing 2017