ROC SDK  2.4.0
Scalable Face Recognition Software
ROC SDK Documentation

Introduction

Welcome to the ROC SDK documentation!

Please start by reading Installation Notes. License requests should be addressed to bd@ra.nosp@m.nkon.nosp@m.e.io, and technical support questions to suppo.nosp@m.rt@r.nosp@m.ankon.nosp@m.e.io. Stay up-to-date on the latest news from Rank One by subscribing to our mailing lists.

Ways to use the ROC SDK

Application Programming Interface
All ROC SDK capabilities are accessible via a C-language Application Programming Interface (API). This approach is well suited for software engineers looking to build custom applications using ROC SDK face recognition technology.

API Wrappers
Java, C#, Python 2/3, Go and NodeJS interfaces that wrap our C API, and information on setting up Visual Studio, Android, iOS and CUDA projects.

Command Line Interface
A robust Command Line Interface (CLI) wrapping key API functions. The CLI is ideal for headless server environments or scripts that perform face recognition tasks. It is designed to mesh well with standard Unix commands.

Explore
A Graphical User Interface (GUI) that allows the user to easily ingest images and perform face recognition tasks. This interface is particularly relevant to users seeking an off-the-shelf demonstration of the ROC algorithms.

Embedded API
The ROC_FAST_REPRESENTATION and comparison algorithm in a bare-bones dependency-free shared library for ARM CPUs.

Web API
The Web API exposes the core SDK functions for template generation, comparison and search, via Protocol Buffers over HTTP. Client-side libraries for the Web API are available in C++, C#, Java, JavaScript, Objective-C, PHP, Python, and Ruby.

Enterprise Search
Deploy a Kubernetes cluster on Amazon Elastic Kubernetes Service for performing highly scalable, highly available gallery searches.

Template Compatibility

Note
Unless otherwise stated in CHANGES.md, templates are not compatible between different ROC_VERSION_MINOR, and must be re-built from their images to upgrade. Templates are compatible between our different supported platforms for the same SDK version, and between different ROC_VERSION_PATCH.

Important Vocabulary

Word / Phrase Definition
represent Detect faces and objects in an image. Process faces into templates for comparison.
template A digital encoding of a face.
compare Measure the similarity between two templates.
similarity A measurement between two faces quantifying the pseudo-probability that they are the same person.
gallery An array of templates.
gallery file A list of flattened templates written to disk.
face quality A metric indicating how accurately a template will perform in recognition.
liveness A test to determine if the detected face is a living person or an impostor trying to defeat the system with a stolen image.
adaptive minimum size A method for determining the minimum face detection size as a fraction of the image size.
thumbnail An aligned and cropped face image suitable for displaying.
threads The maximum concurrent threads.
template limit The number of templates available in the license.

License Tiers

Analytics Enrollment Verification Search
Image Decoding x x x x
Video Streaming x x x x
Template Generation 1 x x x
Template I/O x x x
Tracking x x x
Gallery Construction 2 2 x
Comparison 3 x
Search x
Identity Discovery x
Remote Data Structures 4 4 x
  1. Enabled except for the _REPRESENTATION roc_algorithm_options, ROC_SPOOF.
  2. Disabled, use Template I/O for serializing templates in the roc_gallery_file format.
  3. Enabled except for similarity matrix construction with roc_compare_galleries.
  4. Can access a remote gallery with roc_open_gallery but not host one with roc_start_gallery_server.
Static vs. Floating Licenses
Most licenses are statically tied to individual computers using roc_get_host_id. On request, a license can be tied to a USB dongle instead, allowing it to be manually moved from one computer to another. If you need to dynamically transfer licenses between machines see Floating License Server.
Software Updates
Software updates are available to customers with an active maintenance plan.

Copyright

Copyright © 2015-2022 Rank One Computing Corporation. All rights reserved.

Unless otherwise indicated, all materials on these pages are copyrighted by Rank One Computing Corporation. All rights reserved. No part of these pages, either text or image may be used for any purpose other than as permitted in a valid and current license agreement entered into with Rank One Computing Corporation. Therefore, reproduction, modification, storage in a retrieval system or retransmission, in any form or by any means, electronic, mechanical or otherwise is strictly prohibited without prior written permission.