SentiVeillance 6.0 SDK


Face identification and movement tracking for video surveillance systems

SKU: NTBSDKSV10101 Category:



SentiVeillance 6.0 SDK is designed for developing software that performs biometric face identification and detects moving pedestrians or vehicles or other objects using live video streams from high-resolution digital surveillance cameras.The SDK is used for passive identification – when passers-by do not make any efforts to be recognized. List of possible uses includes law enforcement, security, attendance control, visitor counting, traffic monitoring and other commercial applications.Available as a software development kit that allows solution development for Microsoft Windows and Linux platforms.
Real Time Performance
SentiVeillance technology performs face, pedestrian or object recognition and tracking in real time. The technology is designed to run on multi-core processors to achieve fast performance.

  • Two algorithms for surveillance systems

Depending on the surveillance system design, one of these algorithms may be used:

  • Biometric face recognitionalgorithm is based on deep neural networks and provides these capabilities for surveillance systems:
    • Multiple face detection, features extraction and template matching with the internal database in real time.
    • Facial identification reliability enables using large watchlist
    • Face tracking is performed in all successive frames from the video source until they disappear from camera field of view. The face tracking algorithm uses dynamic face and motion prediction models that make it robust to occlusions like other objects or even other faces. The algorithm is able to continue tracking a face even when it re-appears after being fully covered by occlusions (like walls, furniture, posters etc).
    • Gender classification (optional) for each person in the frame.
    • Age etermination (optional) for each person in the frame.
    • Smile, open-mouth, closed-eyes, glasses, dark-glasses, beard and mustache attributes detection (configurable).
  • Motion detection and tracking algorithm performs advanced detection of moving objects in the scene, their classification and tracking until they disappear. These features are available for surveillance systems:
    • Object classification.After calibration SentiVeillance allows to perform object classification based on the size and movement speed. For example, users can configure a surveillance system to determine if a tracked object is a vehicle, a single pedestrian or group of pedestrians.
  • Restricted areas control.SentiVeillance algorithm can detect and report if people or objects enter, leave or stay in restricted areas. The events are triggered when people or objects cross pre-defined lines or enter polygon-shaped areas.
  • Tolerance to weather conditions.The algorithm ignores rain and snow, as well as trees and bushes, which are swayed by wind.
  • Automatic Operation

A system based on SentiVeillance 6.0 SDK is able to log face, pedestrian or object appearance, disappearance and tracking. The detected faces are matched against the watchlist in the internal database and recognized faces are immediately reported to the system. The system uses face tracking for automatic enrollment from video stream and adding new facial templates to watch list on the fly.

  • Large surveillance systems support.

SentiVeillance 6.0 SDK allows to integrate its technology into surveillance systems with multiple cameras and multiple data-processing nodes. A single computer can process video data from up to 10 cameras simultaneously. Multiple computers with running SentiVeillance software can quickly synchronize biometric and surveillance data between each other over the network. The synchronization can be customized as the SDK includes sample source code for using the communication and synchronization processes.

  • Video files processing

SentiVeillance also accepts data from video files. The video files are processed in real time as coming from a virtual camera, therefore an hour-long video will be processed in one hour



  • Real time face detection, template extraction and matching against watchlist database.
  • Simultaneous tracking of multiple faces or objects in live video.
  • Advanced moving objects detection and classification for pedestrians and vehicle tracking.
  • Gender classification, age evaluation, detection of face expression, glasses and facial hair.
  • Automatic operation logs and reports events, as well as enrolls new faces from video stream and adds them to watchlist automatically.
  • Large surveillance systems support by connecting up to 10 cameras to a single computer and quick synchronization between networked computers.
  • Available as multiplatform SDK that supports multiple programming languages.
  • Reasonable prices, flexible licensing and free customer support.

Use Cases

Use Cases

  • Law Enforcement
  • Security
  • Attendance Control
  • Visitor Counting
  • Traffic Monitoring
  • Other Commercial Applications.

SDK Contents

SDK Contents

SentiVeillance 6.0 SDK is based on the SentiVeillance 6.0 technology that is specially designed for integrating biometric facial recognition into video surveillance systems. Face templates created with SentiVeillance SDK are fully compatible with VeriLook SDK and MegaMatcher SDK multi-biometric technology.SentiVeillance 6.0 SDK includes Device Manager library for Microsoft Windows and Linux that allows to perform simultaneous capture from multiple cameras.


Components Microsoft Windows
(64 bit only)
(64 bit only)
 • SentiVeillance 2-camera component 1 single computer license
 • SentiVeillance 10-camera component Optionally available
 • Face Extractor component 1 single computer license
 • Device Manager library + +
Programming samples
 • C++ + +
 • C# +
 • Visual Basic .NET +
Programming tutorials
 • C + +
 • C# +
 • Java + +
 • SentiVeillance 6.0 SDK documentation +

SentiVeillance 2-Camera Component

The SentiVeillance 2-camera component is designed for using in small-scale video surveillance systems with several cameras. The component performs real-time detection and tracking of all detected faces from up to 2 live video streams. The component installations can be run on several computers distributed over network and synchronize data between themselves.
The SentiVeillance component is able to track multiple faces simultaneously and match them with faces from internal database (i.e. a watch-list of suspects or a list of company employees). New faces may be enrolled to the database either automatically or manually from image files. Person’s gender can be optionally determined for each person in a frame.
The C# and VB .NET samples from the SDK show how to use the component.
One SentiVeillance 2-camera component license is included with SentiVeillance 6.0 SDK. More licenses for this component can be purchased any time by SentiVeillance 6.0 SDK customers.

SentiVeillance 10-camera Component

The SentiVeillance 10-camera component is designed for using in large surveillance systems with multiple cameras and has the same functionality as the SentiVeillance 2-camera component. It supports input from up to 10 live video streams on the same PC or server. The component installations can be run on several computers distributed over network and synchronize data between themselves.
The SentiVeillance 10-camera component licenses can be purchased any time by SentiVeillance 6.0 SDK customers.

Face Extractor Component

The Face Extractor creates face templates from face images. The component is intended for enrolling faces from still images into a surveillance system and provides its functionality for reasonable price
The component extracts a single face template in 1.34 seconds. The specified performance requires a PC or laptop with at least Intel Core 2 Q9400 (2.67 GHz) processor.
Face Extractor can generalize a face template from several images that include the same face to improve the template’s quality.
One Face Extractor license is included with SentiVeillance 6.0 SDK. More licenses for this component can be purchased any time by SentiVeillance 6.0 SDK customers.

Device Manager Library

Device Manager library works under Microsoft Windows and Linux and provides functionality for simultaneous capture from multiple cameras. The library supports a range of high-resolution digital surveillance cameras and other cameras that provide DirectShow interface for Windows platform, or GStreamer interface for Linux platform.
The list of supported cameras is available below in the system requirements.
The Device Manager includes a plug-in framework that allows integrators to write plug-ins to support their cameras using the provided API. The SentiVeillance SDK documentation contains the detailed information and samples.
A video file can be also used as a data source for SentiVeillance. The input from the file is processed as coming from a virtual camera, thus the video is processed in real-time.

System Requirements

System Requirements

  • PCor server with x86-64 (64-bit) compatible processor:
    • 3 GHzor better processor with 4 processor cores is recommended for systems with 1 or 2 cameras connected to the same PC or server. Systems with more cameras will need a graphical processing unit (see below).
    • SSE2 support is required. Processors that do not support SSE2 cannot run the SentiVeillance algorithm. Please check if a particular processor model supports SSE2 instruction set.
    • At least 2 processor cores are required to process surveillance data from one camera with several faces in a frame. If there are more than 2 cameras in a surveillance system, several networked PCs or a multi-processor server will be required to process data from the cameras.
    • If large number of faces in a frame is expected, more processor cores, more powerful processor or even multi-processor server may be required to process surveillance data and keep the acceptable performance.
  • graphical processing unit (GPU) is needed for surveillance system with more than 2 cameras connected to the same PC or server.
    • NVIDIA GeForce GTX 1080GPU or better is recommended for systems with up to 10 cameras.
  • At least8 GB of RAM.
  • high-resolution digital camera. The camera resolution may vary depending on the actual application. The recommended resolution is about 2 MegaPixel, as processing video from cameras with higher resolution will require more free RAM and more powerful processor to keep the acceptable frame rate.
  • Microsoft Windows specific:
    • Microsoft Windows Vista / 7 / 8 / 10 / Server 2008 / Server 2008 R2 / Server 2012, 64-bit.
    • Microsoft .NET framework 3.5 or newer (for .NET components usage).
    • Microsoft DirectX 9.0 or later.
    • One of following development environments for application development:
      • Microsoft Visual Studio 2012 or newer (for application development under C/C++, C#, Visual Basic .Net)
      • Sun Java 1.6 SDK or later
    • Linux specific:
      • Ubuntu 16.04 OS
      • glibc 2.11.3 or newer
      • GStreamer 1.2.2 or newer with gst-vaapi plugins installed for hardware accelerated video decoding
      • libgudev-1.0 164-3 or newer
      • wxWidgets 3.0.0 or newer libs and dev packages (to build and run SDK samples and applications based on them)
      • Sun Java 1.6 SDK or later (for application development with Java)

Supported Hardware - Cameras

Supported Hardware - Cameras

These supported cameras are suitable for using with SentiVeillance 6.0 SDK:

  • Any IP camera, that supports RTSP(Real Time Streaming Protocol):
    • Only RTP over UDPis supported.
    • VLCframework can be optionally used for reading video streams.
    • 264/MPEG-4 AVCor Motion JPEG should be used for encoding the video stream.
  • These specific high-resolution cameras are also supported:
    • Axis M1114 camera (Microsoft Windows and Linux)
    • Basler BIP2-1600-25c-DNIP camera (Microsoft Windows and Linux)
    • Cisco 4500 IP camera (Microsoft Windows only)
    • Mobotix S14Dand Mobotix DualNight M12 IP cameras (Microsoft Windows and Linux)
    • PiXORD N606 camera (Microsoft Windows and Linux)
    • Prosilica GigE Vision camera (Microsoft Windows and Linux)
    • Sony SNC-CS50 camera (Microsoft Windows and Linux)
  • Any high-resolution digital camera that is accessible using:
    • DirectShow interface for Microsoft Windows platform;
    • GStreamerinterface for Linux platform.
  • Any other device support can be added by customers using the provided Device Manager Plug-in Framework. Please refer to the SentiVeillance 6.0 SDK documentation for the detailed information.

Technical Specifications

Technical Specifications

SentiVeillance SDK includes separate algorithms for biometric face recognition and motion detection and tracking. Depending on the surveillance system design, one of these algorithms may be used. Below are specifications for these algorithms.
Technical Specifications for Biometric Face Recognition Algorithm
4 % of the frame’s larger side (at least 32 pixels) is the minimal recommended distance between eyes for a face on video stream or image to perform reliable face tracking and template extraction. The speeds of face tracking, template extraction and matching against a watchlist database are dependent on actual size of a face in a frame, not on the size of the whole frame.
SentiVeillance has certain tolerance to face posture that assures face detection and tracking:

  • headroll (tilt) – ±15 degrees from frontal position;
  • headpitch (nod) – ±15 degrees from frontal position;
  • headyaw (bobble) – ±45 degrees from frontal position.

See also the whole list of recommendations and constraints for SentiVeillance usage.
The performance specifications are provided for Intel Core i7-4771 processor, running at 3.5 GHz clock rate, and 1920 x 1080 pixels videos.


SentiVeillance 6.0 biometric face recognition algorithm technical specifications
Frame rate when tracking up to 5 faces More than 25 frames per second
Face watch-list database matching time (1) Less than 0.5 second
Single face record size in a template (kilobytes) 5.0 or 7.0 (configurable)
Maximum face watch-list database size Limited by amount of free RAM

(1) up to 20,000 face records in the database; larger database yelds slower response time. Note that each person may be represented by several records in the database with different appearance variations, different capture angles etc.

Technical Specifications for Motion Detection and Tracking Algorithm

40 x 40 pixels is the minimal moving object size for its detection and tracking. The pedestrians or moving objects tracking performance is dependent on actual size of an object in a frame, not on the size of the whole frame.
The performance specifications are provided for Intel Core i7-4771 processor, running at 3.5 GHz clock rate, and 1920 x 1080 pixels videos.


SentiVeillance 6.0 motion detection and tracking algorithm technical specifications
Frame rate when tracking up to 3 pedestrians More than 30 frames per second
Frame rate when tracking up to 4 cars and occasional pedestrians More than 27 frames per second

Licensing Model

Licensing Model

The following licensing model is intended for end-userproduct developers. Integrators who want to develop and sell a SentiVeillance based development tool (with API, programming possibilities, programming samples, etc.), must obtain permission from Neurotechnology and sign a special VAR agreement.

Product Development

An integrator should obtain a SentiVeillance 6.0 SDK (EUR 790) to develop a product based on SentiVeillance technology. The SDK needs to be purchased just once and may be used by all the developers within the integrator’s company.
A license for a specific component of SentiVeillance SDK is required for each computer that runsthe component.
SentiVeillance 6.0 SDK includes:

  • One single computer license for the SentiVeillance 2-camera component
  • One single computer license for the Face Extractor component

SentiVeillance 10-camera component licenses are not included with the SentiVeillance 6.0 SDK, but can be purchased separately.
Components are copy-protected – a license is required for a component to run. License activation options are listed below on this page.
Additional component licenses may be obtained by SentiVeillance SDK customers as required by their development process.

Product Deployment

To deploy a product developed with SentiVeillance 4.0 / 5.0 / 6.0 SDK or VeriLook Surveillance 1.x / 2.x / 3.x SDK, an integrator need obtain only the additional licenses required for the SentiVeillance 6.0 SDK components that will run on each computer belonging to their customers. The available license types for product deployment are the same as for product development.
Each SentiVeillance 6.0 SDK component running on a computer belonging to the integrator’s customer requires a license. License activation options are listed below on this page.
Prices for SentiVeillance 6.0 SDK and additional component licenses can be found here.

Licensing Agreement

The Licensing Agreement contains all licensing terms and conditions.
Note that you unambiguously accept this agreement by placing an order using Neurotechnology online ordering service or by email or other means of communications. Please read the agreement before making an order.

Single Computer Licenses

A single computer license allows the installation and running of a SentiVeillance SDK component installation on one computer. Neurotechnology provides a way to renew the license if the computer undergoes changes due to technical maintenance.
Each single computer license requires activation for a SentiVeillance SDK component to run. The available activation options are listed below on this page.
Additional single computer licenses for SentiVeillance SDK components may be obtained at any time by SentiVeillance SDK customers.
The algorithm ignores rain and snow, as well as trees and bushes, which are swayed by wind.

License Activation Options

Single computer licenses are supplied in three ways:

  • Serial numbers are used to activate licenses for particular SentiVeillance SDK components. The activation is done via the Internet or by email. After activation the network connection is not required for single computer license usage.
    Note: activation by serial number is not suitable for virtual environments.
  • Internet activation. A special license file is stored on a computer; the license file allows to run SentiVeillance components on that computer after checking the license over the Internet.Internet connection should be available periodically for a short amount of time. A single computer license can be transferred to another computer by moving the license file there and waiting until the previous activation expires.
  • Licenses may be stored in a volume license manager dongle. License activation using volume license manager may be performed without connection to the Internet and is suitable for virtual environments.

Volume License Manager

Volume license manager is used on site by integrators or end users to manage licenses for SentiVeillance SDK components. It consists of license management software and a dongle, used to store the purchased licenses. An integrator or an end-user may use the volume license manager in the following ways:

  • Activating single computer licenses – An installation license for a SentiVeillance component will be activated for use on a particular computer. The number of available licenses in the license manager will be decreased by the number of activated licenses.
  • Managing single computer via a LAN or the Internet – The license manager allows the management of installation licenses for SentiVeillance SDK components across multiple computers in a LAN or over the Internet. The number of managed licenses is limited by the number of licenses in the license manager. No license activation is required and the license quantity is not decreased. Once issued, the license is assigned to a specific computer on the network.
  • Using license manager as a dongle – A volume license manager containing at least one license for a SentiVeillance SDK component may be used as a dongle, allowing the SentiVeillance component to run on the particular computer where the dongle is attached.
    Additional SentiVeillance SDK component licenses for the license manager may be purchased at any time. Neurotechnology will generate an update code and send it to you. Simply enter the code into the license manager to add the purchased licenses.

Enterprise license

The SentiVeillance enterprise license allows an unlimited use of SentiVeillance SDK components in end-user products for a specific territory, market segment or project. Specific restrictions would be included in the licensing agreement.
The enterprise license price depends on the application size and the number of potential users of the application within the designated territory, market segment or project.
For more information please contact us.

Related Products

You may also like…