Sod – An Embedded Computer Vision C Library
An Embedded, Modern Computer Vision and Machine Learning Library

		
		
		
		
		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.
		
			Multi-class object detection on the host CPU (no GPU involved).
			Real-Time, single-class face detection.
		
			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.
			
			Modern Computer Vision Algorithms
			
			
			
			
			
			SOD implements state-of-the-art computer vision algorithms found to be mandatory in real world application areas including but not limited to:
			
			
			
			Mobile Robotics.
			Genetics.
			Scene & Content Analysis.
			Autonomous Machines.
			
			
			
			
			Augmented/Virtual Reality.
			Human–Computer Interaction.
			Biometrics.
			Gesture Recognition.
			
			
			
			
			
			
			
			
			
			
			
				Let's name a few:
			
			Hilditch Thinning.
			Hough Lines detection.
			Canny Edge detection.
			Connected Component Labeling.
			Gaussian Blur.
			Sepia Tone.
			Sobel operator, Otsu's binarization and over 100 image/frame processing & analysis interfaces.
			
			
			
			
			
			Programming with SOD
			
			
			
			
			
			
			Machine Learning for Real-time Applications
			
			
			
			
			
			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.
			
			
			
			
			
			
			
			
				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.
					Extract ridges and bifurcations from a fingerprint images.
					
					
					
					
					Classify human actions.
					Object identification.
					Eye & Pupil tracking.
					Facial & body shape extraction.
					Image/Frame segmentation.
					
					
				
				
			
			
			
			
			
			At PixLab, we believe SOD is
			
			 Suitable for deep learning on limited computational resource, embedded systems and IoT devices.
			 Reasonably fast, CPU capable RealNets model training without GPU.
			 Easy to integrate with existing code bases. Interpolatable with OpenCV and/or any other proprietary API.
			
			
			
			
			
			
			
			
				
			
			
				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.
			A quick introduction to programming with the SOD Embedded C/C++ API with real-world code samples implemented in C.
			This document describes each API function in details. This is the reference document you should rely on.
			The official Github repository.
			
			
			Real world code samples on how to embed, load models and start experimenting with SOD.
			
			Other Useful links
			Get a copy of the last public release of SOD, pre-trained models, extensions and more. Start embedding and enjoy programming with.
			SOD is an open-source, dual-licensed product. Find out more about the licensing situation there.
			
			
			Having some trouble integrating SOD? Take a look at our numerous support channels.
			
			