SentiSight is intended for developers who want to use computer vision-based object recognition in their applications. Through manual or fully automatic object learning it enables searching for learned objects in images from almost any camera, webcam, still picture or live video in an easy, yet versatile, way.
Available as a software development kit that provides for the development of object recognition systems for Microsoft Windows or Linux platforms.
The SentiSight 3.4 technology is able to perform fully automatic or manual object learning and has these capabilities for advanced visual-based object learning and recognition:
The SentiSight algorithm is able to find out:
Depending on the object type, one of these algorithms (or both) may be used for successful recognition:
The shape-based algorithm is useful for objects which do not have any distinctive details but have stable external edges (boundaries) and/or internal edges. This algorithm performs at slower speeds but allows for the recognition of most objects not identified by the blob-based algorithm.
The blob-based and shape-based algorithms may be configured to detect object colors and use this information for improving recognition accuracy. This mode enables SentiSight-based applications to distinguish similar objects that only differ in color.
A quality threshold can be used during object learning to ensure that only the best quality object model will be stored into database.
The SentiSight Embedded is able to detect and recognize several 2D and 3D objects simultaneously.
The algorithm makes estimates based on the region an object occupies in a scene, providing additional information about the size, orientation and scale of the recognized object.
SentiSight processes video streams in real time, making it useful for real-time applications. The algorithm is able to run several threads on multi-core processors making the recognition several times faster.
The SentiSight 3.4 library has a multiple-objects tracking mode for tasks that require very fast image processing during the object recognition stage. The tracking works with complex backgrounds and fast-moving objects. Tracking is initialized when an object is recognized and located, and then tracks the object until it changes somewhat in appearance, at which point tracking is reinitialized by recognition. In tracking-mode SentiSight is able to process more that 100 frames per second (320 x 240 pixels, single object in a frame).
SentiSight has two operation modes: learning and recognition. In learning mode, the SentiSight algorithm creates an object model by extracting object features from an image or video. In recognition mode, SentiSight finds and tracks objects with features matching those previously stored in object models.
Automatic Object Learning is suitable for lightweight, movable objects. This learning procedure is based on detecting an object through the exclusion of a static background and the object’s holder (usually a hand). A fixed camera is highly recommended for this process.
A user performs the following steps for automatic object learning in the SentiSight-based application:
The automatic method requires the use of live video or separate video / image sets of background, holder and object. Other background elements may be learned together with the object if the object is hardly separable from the background. Too little disparity between object and background, if not learned together, may affect the ability of the algorithm to recognize an object’s unique qualities, possibly resulting in the object being misclassified along with other objects having the same background.
Manual object learning should be used for objects that cannot be moved or if there is no way to provide separate media of an object’s background and/or holder. Automatic learning requires less user interaction with the system, but it is not as precise as manual learning. Manual learning is suitable, generally, for a wider range of cases.
SentiSight 3.4 SDK is intended for developers who want to use computer vision-based object recognition in their applications. The SDK allows rapid development of computer vision-based object recognition systems using functions from the SentiSight library for Microsoft Windows or Linuxplatforms. Developers have complete control over SDK data input and output; therefore SDK functions can be used in connection with most cameras (including webcams), with any database and with any user interface.
SentiSight 3.4 SDK distribution package contains:
Components | Microsoft Windows | Linux |
• SentiSight 3.4 installation license | 1 single computer license | |
• Device manager library | + | + |
Programming samples | ||
• C++ | + | + |
• C# | + | |
• Visual Basic .NET | + | |
Programming tutorials | ||
• C/C++ | + | + |
• C# | + | |
• Visual Basic .NET | + | |
• Java | + | + |
Documentation | ||
• SentiSight 3.4 SDK documentation | + |
Note: Please see the supported hardware section for the camera models.
All specifications are provided for an Intel Core i7-2600 processor running at 3.4 GHz.
These specifications are for SentiSight 3.4 blob-recognition and shape-recognition algorithms. These algorithms may be used together or separately, depending on object type.
The specifications are provided for 320 x 240 pixel images. These image area performance dependencies are valid for the same images with different resolutions:
The object-model size depends on how feature-rich an object is, thus varying for each object.
These conditions may alter the performance of the algorithms:
Object recognition algorithms may be configured to run on more than one thread of multi-core processors, allowing for an increase in object-model matching speed. The table below provides object recognition speeds as a range; the smaller number represents recognition speed using 1 thread, while the larger number represents recognition speed using 8 threads. Note that the specified processor model has 4 cores and executes 2 threads per processor core in parallel.
SentiSight 3.4 blob-based object recognition algorithm – technical specifications | ||
Without color usage mode |
With color usage mode |
|
Static Background Extraction/ Object mask separation |
30 frames per second | |
Learning: Processing of single object’s frame | 0.014 seconds | 0.017 seconds |
Learning: Generalization time (for 100 frames of object) |
0.15 seconds | |
Recognition speed (1) | 160,000 – 290,000 models per second |
90,000 – 140,000 models per second |
SentiSight 3.4 shape based object recognition algorithm – technical specifications | ||
Static Background Extraction/ Object mask separation |
30 frames per second | |
Learning: Processing of single object’s frame | 0.215 seconds | |
Learning: Generalization time (for 100 frames of object) |
Not applicable | |
Recognition speed (1) | 3,500 – 8,000 models per second |
When object model contains one template. The object model may contain multiple templates (usually corresponding with different viewpoints). In that case the algorithm will compare an object against all templates in the model before returning the recognition result. Also, this recognition speed is reached with sufficiently large databases (2,000 images or more); with smaller databases the recognition is slower.
The following licensing model is intended for end-user product developers. Integrators who want to develop and sell a SentiSight-based development tool (with API, programming possibilities, programming samples, etc.), must obtain permission from Neurotechnology and sign a special VAR agreement.10.1 Product Development
An integrator should obtain a SentiSight 3.4 SDK (EUR 339) to develop a product based on SentiSight technology. The SDK needs to be purchased just once and may be used by all the developers within the integrator’s company.
SentiSight 3.4 SDK includes SentiSight component. A license for an individual SentiSight component is required for each CPU that runs the component (a processor can have any number of cores).
One single computer license for the SentiSight component is included with SentiSight 3.4 SDK.
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 SentiSight SDK customers as required by their development process.
An integrator should obtain a SentiSight 3.4 SDK (EUR 339) to develop a product based on SentiSight technology. The SDK needs to be purchased just once and may be used by all the developers within the integrator’s company.
SentiSight 3.4 SDK includes SentiSight component. A license for an individual SentiSight component is required for each CPU that runs the component (a processor can have any number of cores).
One single computer license for the SentiSight component is included with SentiSight 3.4 SDK.
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 SentiSight SDK customers as required by their development process.
To deploy a product developed with SentiSight SDK, an integrator need obtain only the additional licenses required for the SentiSight components that will run on each CPU of their customer’s computers. The available license types for product deployment are the same as for product development.
Each SentiSight 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 SentiSight 3.4 SDK and additional SentiSight component licenses can be found here.
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.
A single computer license allows the installation and running of a SentiSight component installation on one CPU (a processor can have any number of cores). 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 SentiSight component to run. The available activation options are listed below on this page.
Additional single computer licenses for SentiSight components may be obtained at any time by SentiSight SDK customers.
Single computer licenses are supplied in three ways:
Volume license manager is used on site by integrators or end users to manage licenses for SentiSight 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:
The SentiSight enterprise license allows an unlimited use of SentiSight 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.