Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time


An Embedded Computer Vision & Machine Learning Library

Build Status API documentation dependency Getting Started license Mailing list Gitter


SOD Embedded

Release 1.1.8

SOD is an embedded, modern cross-platform computer vision and machine learning software library that exposes a set of APIs for deep-learning, advanced media analysis & processing including real-time, multi-class object detection and model training on embedded systems with limited computational resource and IoT devices.

SOD was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in open source as well commercial products.

Designed for computational efficiency and with a strong focus on real-time applications. SOD includes a comprehensive set of both classic and state-of-the-art deep-neural networks with their pre-trained models. Built with SOD:

Multi-class object detection

Cross platform, dependency free, amalgamated (single C file) and heavily optimized. Real world use cases includes:

  • Detect & recognize objects (faces included) at Real-time.
  • License plate extraction.
  • Intrusion detection.
  • Mimic Snapchat filters.
  • Classify human actions.
  • Object identification.
  • Eye & Pupil tracking.
  • Facial & Body shape extraction.
  • Image/Frame segmentation.

Notable SOD features

  • Built for real world and real-time applications.
  • State-of-the-art, CPU optimized deep-neural networks including the brand new, exclusive RealNets architecture.
  • Patent-free, advanced computer vision algorithms.
  • Support major image format.
  • Simple, clean and easy to use API.
  • Brings deep learning on limited computational resource, embedded systems and IoT devices.
  • Easy interpolatable with OpenCV or any other proprietary API.
  • Pre-trained models available for most architectures.
  • CPU capable, RealNets model training.
  • Production ready, cross-platform, high quality source code.
  • SOD is dependency free, written in C, compile and run unmodified on virtually any platform & architecture with a decent C compiler.
  • Amalgamated - All SOD source files are combined into a single C file (sod.c) for easy deployment.
  • Open-source, actively developed & maintained product.
  • Developer friendly support channels.

Programming Interfaces

The documentation works both as an API reference and a programming tutorial. It describes the internal structure of the library and guides one in creating applications with a few lines of code. Note that SOD is straightforward to learn, even for new programmer.

Resources Description
SOD in 5 minutes or less A quick introduction to programming with the SOD Embedded C/C++ API with real-world code samples implemented in C.
C/C++ API Reference Guide This document describes each API function in details. This is the reference document you should rely on.
C/C++ Code Samples Real world code samples on how to embed, load models and start experimenting with SOD.
License Plate Detection Learn how to detect vehicles license plates without heavy Machine Learning techniques, just standard image processing routines already implemented in SOD.
Porting our Face Detector to WebAssembly Learn how we ported the SOD Realnets face detector into WebAssembly to achieve Real-time performance in the browser.

Other useful links

Resources Description
Downloads Get a copy of the last public release of SOD, pre-trained models, extensions and more. Start embedding and enjoy programming with.
Copyright/Licensing SOD is an open-source, dual-licensed product. Find out more about the licensing situation there.
Online Support Channels Having some trouble integrating SOD? Take a look at our numerous support channels.

face detection using RealNets