Classifiers
One of the core parts of Scenario Flows is delivered by Classifiers that detect various objects, frame categories, states, object tracks and more.
Configure -> Classifiers UI screen allows you creating and managing Classifier objects.
Left pane will show tree view of currently configured classifier. New classifiers are created based on available built-in or custom Detector Plugins.
You’ll notice that we distinguish between two major types of classifier: Generic and Trained. Generic classifiers can be activated right after creation. Trained classifiers will produce no effect until they are trained on user provided data.
Creating Generic Classifier
Click on “Create new generic classifier” link in the bottom and two tabs will be displayed:
- General: fill in “Name” and “Description”
- Detection Plugin:
- choose plugin from drop down list
- fill in plugin parameters (dynamic); consult plugin documentation
Click “Save Changes” and new Classifier will be created and displayed in the tree view. At this point, you can add it to Scenario Flows.
Doc TODO: example creating noise classifier
Creating Trained Classifier
Click on “Create new trained classifier” link in the bottom and three tabs will be displayed:
- General:
- Name
- Description
- Test ratio: % of training data to use for testing (10% is a good default)
- Epochs: number of training epochs (relevant for Neural Net based plugins, consule plugin docs)
- Detection Plugin:
- choose plugin from drop down list
- fill in plugin parameters (dynamic); consult plugin documentation
- Training Schedule (when to run periodic training cycles):
- Schedule type: None / Daily / Weekly
- If Daily: choose time of day
- If Weekly: choose day and time of day
NOTE: Training Scheduler (server-side component) will be reading this information and scheduling training cycles accordingly.
Click “Save Changes” and new Classifier will be created and displayed in the tree view. At this point, you can add it to Scenario Flows (even if it was not yet trained).
To train Classifier:
- Select Classifier from tree view
- Navigate to “Training Data” tab
- Select “Upload training data” checkbox
- Browse to ZIP file with training dataset (see Training Data below for details on ZIP structure)
- Click Upload
UI will show upload progress and, once done, File Size of uploaded training data.
Training Scheduler will pick up Classifier training at the configured day and time. You can force immediate training by right-clicking on Classifier tree node and selecting “Run training now” from the context menu.
Once training is complete, Classifiers nodes configured in Scenario Flows and linked to this classifier will begin their detection.
Training Data
It is important to submit training data adhering well defined structure. Here are the requirements:
- Training data should be submitted as ZIP archive
- ZIP file should include folder per category directly in the root folder
- Each directory representing category should have the same name as category name
- Video / Image classifiers: files should be 640x480 JPEG images
- Audio classifiers: files should be 2 sec WAV files with 16,000 sample rate
- No restrictions on files names inside category folders
- All files should reside directly under category folders. No recursive search is performed during training.