Machine learning-based imaging system
for surface defect inspection


WHAT IS SURFACE?


  • SURFACE 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 surface defects.

  • 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.

  • Support for multi thread and multi core processing.

HOW TO USE SURFACE


 

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

QUALITY
CONTROL

ROBOT VISION

AUTOMATION

SORTING MACHINES

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 SURFACE

  • The operator creates a set of images, which is representative of defect variability
  • The operator manually paints the defect region
  • The operator starts the interactive SVL procedure
  • SURFACE is trained and ready to be used

GUI

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

YOU TEACH...
SURFACE 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

  • Quality control
  • Defect inspections
  • Sorting

EMBEDDED

  • Porting on embedded systems is possible