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)