Recent posts
September 20, 2019

perClass Mira 2.0 with regression and live acquisition

2.0 release is a major update bringing tools to understand and improve models, develop solutions on object level including classification and regression and do model validation on live data stream.

perClass 2.0 brings number of improvements in three major areas:

Regression and per-object classification

perClass MIra allows quick construction of per-pixel classification models. However, many applications need action at the level of objects. For example, removing nut shells from nut product stream. Therefore, the 1.4 release brought object detection use-case where the software provides also object coordinates. The object detection is applicable to situations where each object is represented by a single class (or material).

In 2.0, we extend this functionality with two more use-cases:

Regression example

The screenshot below shows a perClass Mira session where a dry matter content of a leaf is estimated from spectral image. First, a classifier is built that can separate leaves from background. Then, number of leaves were annotated with ground truth on dry matter content obtained externally. The regression model is then build on the object level. The plot in the right part of the screenshot shows true value in horizontal and estimated value per object in the vertical axes.

The model can be applied to any scan (with or without ground truth information). The estimated dry matter content is indicated for each object found in the scene.

Estimating dry content matter per leaf using spectral imaging (data courtesy of WUR)

Object classification

In a number of applications, we wish sort objects with more complex internal structure. For example, when sorting French fries, there may be multiple types of defects present in any single piece. For example, any potato piece may be rotten or green.

perClass Mira 2.0 supports such use-cases, where objects are defined by multiple classes.

French fries sorting based on spectral image. Image shows per-pixel classifier decisions
Per-object decisions, based on content and user-defined rules (fraction of rot higher than 8% and fraction of greening higher than 5%)

New tools to understand and improve models

perClass Mira 2.0 allows us to understand where and why current model fails using new interactive error visualization mode. Specific images can be now also flagged for testing only. In addition, the GUI now provides separate training, test and per-image confusion matrices that allow us to understand and improve model performance.

Detail of labeling information in French fries project
Error visualization of the current model shows incorrectly labeled part.

Live data acquisition

perClass Mira 2.0 brings live data acquisition for Specim FX spectral cameras. User may connect to the camera (using the standard Specim Specsensor SDK installed on the system) . Models can be then directly applied to a live data stream. This allows a quick validation on data from a camera for both accuracy and execution speed. Note the camera exposure and frame-rate controls in the right part of the screenshot below.This enables one to quickly find the highest speed for the current algorithm.

The live acquisition supports not only per pixel decisions but also object segmentation. Note the crosses on the objects denoting center of gravity and the list of per-object parameters in the output window in the right lower corner. Apart of the center of gravity, the size, bounding box and class is given identically to the perClass Mira Runtime DLL.

Check out the video of live data processing.