Machine learning-based imaging system
for object detection


WHAT IS RETINA?


  • RETINA is a C/C++ library based on artificial intelligence for digital image processing.

  • It analyzes the images with a generic algorithm, which is not dedicated to any specific task.

  • It has the ability to learn and recognize objects in an image.

  • The training is carried out through a supervised procedure (SVL) that uses a set of images.

  • No configuration parameters are needed: as a matter of fact parameters are the images used for the training.

 

CHARACTERISTICS


  • It is a visual perception system.

  • Generic analysis not dedicated to any specific task.

  • No configuration parameters needed.

  • It learns by Training.

  • Supervised learning (SVL) with human-machine interaction.

  • Multi-models management.

  • Scale management.

  • Collaborating/competing models management.

  • Models perturbations management.

  • Tolerance to: perspective, focus change, light change, image contrast, noise, shape deformation.

  • Support for multi thread and multi core processing.

HOW TO USE RETINA


WHAT IS THE PERCEPTION?


  • When our brain sees an image, it always tries to simplify it as much as possible

  • Our perception is always willing to organize what it sees in the most logical and comprehensible set.

  • So you can say that: "The perception is the expectation of finding a model"

 

WHAT IS THE SVL?


  • The operator defines the target: the SVL works in order to achieve it.

  • The operator’s desire is to have an application which find objects in the images. The target is represented by the objects that the operator selects in the images. In technical language it is called “ground truth”.

  • The SVL uses the "ground truth" and the background to extract and classify information in order to self-organize knowledge so that the "ground truth" is differentiated from the background.

FIELDS APPLICATION

INDUSTRIAL

e.g. object detection,
object classification,
defects recognition


  • Robot vision
  • Automation
  • Quality control
  • Sorting machines

SECURITY

e.g. pedestrian,
people counter



  • Video Surveillance
  • AV Image Processing

AUTOMOTIVE

e.g. pedestrian,
traffic signals recognition



  • ADAS, Advanced Driver
    Assistance Systems
  • Intelligent Rearview
    Monitoring Systems
  • Driver Monitoring System
  • Autonomous Driving

TRAFFIC

e.g. vehicle classification,
vehicle counting



  • Toll collection
  • Congestion detection
  • Traffic monitoring
  • Parking management

API

  • C interface
  • Easy to integrate in your software
  • Minimal integration: add code for elaboration and use the GUI for learning
  • Full integration: develop your own GUI for learning
  • Image formats supported: pgm, ppm, bmp, png, tiff, jpeg
  • BW and color image elaboration

HOW TO TRAIN RETINA

  • The operator creates a set of images, which is representative of models variability
  • The operator manually selects at least one sample for each model
  • The operator starts the interactive SVL procedure
  • RETINA is trained and ready to be used

GUI

  • Configuring of models
  • Labeling assistant
  • Managing both images for learning and ones for test
  • Executing learning of models (SVL)
  • Testing the learning of the models
  • Profiling results
  • Exporting of results (csv, pdf)

YOU TEACH...
RETINA LEARNS

  • The operator defines the target: the SVL works in order to achieve it

SYSTEM
REQUIREMENTS

  • Library for x86 and ARM architecture
  • Does not require dedicated hardware (no GPU)
  • SO: Windows, Linux, Android
  • Balances RAM/HD according to data base size

SEGMENTATION

  • Never so easy if you use the perception!

GPU

  • Don’t you have a GPU?
    Don’t worry, you don’t need it!

USE CASES

  • Object recognition
  • Selector
  • Sorting
  • Defects classification
  • OCR

EMBEDDED

  • Porting on embedded systems is possible