Object recognition for robotics and computer vision
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.
PC with x86 (32-bit) or x86-64 (64-bit) processor:
- SSE2 support is required. Processors that do not support SSE2 cannot run the SentiSight 3.4 algorithm. Please check if a particular processor model supports SSE2 instruction set.
- SSSE3 support is recommended, as the SentiSight 3.4 algorithm provides higher performance using this instruction set. Please check if a particular processor model supports SSSE3.
- 64-bit architecture allows to work with larger images, larger model databases and also increases general SentiSight 3.4 algorithm performance due to usage of 64-bit CPU registers.
At least 256 MB of free RAM should be available for the SentiSight-based application.
Additional RAM may be required for:
Applications that need to recognize objects using large database as the whole database must be loaded into RAM before recognition.
The database size depends on objects quantity and number of templates saved in each object model.
Each object model may be rather large due to using long videos for learning (as template learned from each frame is saved separately) and/or using multiple views for each object.
For example, a database of 100 object models with 36 templates per model will require about 25 MB of RAM when blob recognition algorithm is used, or about 50 MB when shape recognition algorithm is used (for 320 x 240 pixels resolution).
Applications that need to work with high resolution videos.
Higher resolution allows to extract more features from objects, thus the object model sizes will be bigger.
In general the template size has about linear dependence from the image or video resolution.
For example: a frame from 1 MegaPixel camera is about 13 times larger than a frame from a regular 320 x 240 pixels (0.08 MegaPixel) camera. If an object model learned from a sequence of 320 x 240 frames occupies 250 KB of memory, then a model learned from the same sequence of frames obtained from 1 MegaPixel camera will require about 3.4 MB of memory. Note that each video frame is processed separately and the obtained object template is saved into the model.
- Applications that need to recognize objects using large database as the whole database must be loaded into RAM before recognition. The database size depends on objects quantity and number of templates saved in each object model. Each object model may be rather large due to using long videos for learning (as template learned from each frame is saved separately) and/or using multiple views for each object.
Optional camera or webcam.
These cameras are supported by SentiSight:
Any webcam or camera that is accessible using:
- DirectShow interface for Microsoft Windows platform.
- GStreamer interface for Linux platform.
Any IP camera, that supports RTSP (Real Time Streaming Protocol):
- Only RTP over UDP is supported.
- H.264/MPEG-4 AVC or Motion JPEG should be used for encoding the video stream.
- Any webcam or camera that is accessible using:
These models of still cameras are supported:
- Canon EOS family still cameras (Microsoft Windows only)
- Nikon DSLR still cameras (Microsoft Windows only; a specific camera model should support video capture and should be listed there)
These specific models of high-resolution IP cameras are supported:
- Axis M1114 camera (Microsoft Windows and Linux)
- Basler BIP2-1600-25c-DN IP camera (Microsoft Windows and Linux)
- Cisco 4500 IP camera (Microsoft Windows only)
- CMITech EMX-30 – face & iris camera (Microsoft Windows only)
- IrisGuard IG-AD100 – face & iris camera (Microsoft Windows only)
- Mobotix S14D and 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)
- VistaFA2 / VistaFA2E / VistaEY2 face & iris cameras (Microsoft Windows only)
Microsoft Windows specific requirements:
- Microsoft Windows XP / Vista / 7 / 8 / 10 / Server 2003 / Server 2008 / Server 2008 R2 / Server 2012, 32-bit or 64-bit.
- Microsoft .NET framework 3.5 or newer (for .NET components usage).
- Microsoft DirectX 9.0 or later (for camera/webcam usage).
One of following development environments for application development:
- Microsoft Visual Studio 2008 SP1 or newer (for application development under C/C++, C#, Visual Basic .Net)
- Sun Java 1.6 SDK or later
Linux specific requirements:
- Linux 2.6 or newer kernel (32-bit or 64-bit) is required. Linux 3.0 or newer kernel is recommended.
- glibc 2.11.3 or newer
- GStreamer 1.2.2 or newer with gst-plugin-base and gst-plugin-good (for face capture using camera/webcam or rtsp video)
- libgudev-1.0 164-3 or newer (for camera usage)
- GTK+ 2.10.x or newer libs and dev packages (to run SDK samples and applications based on them)
- GCC-4.0.x or newer (for application development)
- GNU Make 3.81 or newer (for application development)
- Sun Java 1.6 SDK or later (for application development with Java)