SOD
An Embedded Computer Vision & Machine Learning Library
sod.pixlab.io
[![Build Status](https://travis-ci.org/symisc/sod.svg?branch=master)](https://travis-ci.org/symisc/sod)
[![API documentation](https://img.shields.io/badge/API%20documentation-Ready-green.svg)](https://sod.pixlab.io/api.html)
[![dependency](https://img.shields.io/badge/dependency-none-ff96b4.svg)](https://pixlab.io/downloads)
[![Getting Started](https://img.shields.io/badge/Getting%20Started-Now-f49242.svg)](https://sod.pixlab.io/intro.html)
[![license](https://img.shields.io/badge/License-dual--licensed-blue.svg)](https://pixlab.io/downloads)
[![Mailing list](https://img.shields.io/badge/Mailing%20List-G.Groups-42b3f4.svg)](https://groups.google.com/d/forum/sod-embedded)
[![Gitter](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/sodcv/Lobby)
![Output](https://i.imgur.com/YIbb8wr.jpg)
* [Introduction](#sod-embedded).
* [Features](#notable-sod-features).
* [Programming with SOD](#programming-interfaces).
* [Useful Links](#other-useful-links).
## SOD Embedded
[Release 1.1.8](https://pixlab.io/downloads)
SOD is an embedded, modern cross-platform computer vision and machine learning software library that expose 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:
* Convolutional Neural Networks (CNN) for multi-class (20 and 80) object detection & classification.
* Recurrent Neural Networks (RNN) for text generation (i.e. Shakespeare, 4chan, Kant, Python code, etc.).
* Decision trees for single class, real-time object detection.
* A brand new architecture written specifically for SOD named RealNets.
![Multi-class object detection](https://i.imgur.com/Mq98uTv.png)
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](https://i.imgur.com/ZLno8Lz.jpg)