Adding new classes
We may add or remove classes at any time, in our example, we labeled only "background", "leaves", and "nuts" so far. However, there are other objects of other materials present, such as nut shells, olive kernels, wood, and stones.
We can add several new classes to the project, and label the objects:

We will then use Model search to find a new model.
The difference between Model search and Retrain tools is as follows:
- The Model search performs full search for the best model
- The Retrain tool uses the existing model definition and retrains it using the current labels
If we only perform a slight update of the labeling, for example, around the edges or adding more representative examples of existing materials, then Retrain is sufficient. The Model search is useful when we add entirely new classes or label quite different examples of the existing classes.

We can see that we have labeled olive kernels as "wood", but we may wish to have them labeled as "shells" instead. In perClass Mira, we have a full control on the labeling, so we can easily assign individual labeling strokes to different classes.
Switch back to the Labels mode (via the toolbar button or by pressing the l (for Labels) key.
In the Classes list, select the class you wish to assign the stroke to, for instance "shells". Then, right-click with the mouse on the brown label stroke on top of the olive kernel. And then, from the context menu, select Assign region to current class.

The label stroke is now assigned to the "shells" class and becomes red:

We should also assign the second label stroke on top of the other olive kernel to "shells" and re-run the Model search. The olive kernels are now part of the red "shells" class. Note that in perClass Mira, the user may define classes that span multiple materials or represent generic high-level concepts (defect, background, product, etc.).
