AI Model Trainer

IBBVision AI Model Trainer

IBBVision AI Model Trainer is a desktop application that enables you to develop your own custom object detection models without writing a single line of code. This program allows you to manage the entire process—from uploading your images and labeling objects, to training an AI model and testing it for production readiness—all from a single interface.

This guide provides a step-by-step explanation of all the program's features and how to use them.

Important Note: The AI models developed are designed for use within the IBBVision ecosystem. These models are intended solely for enhancing, developing, or creating new IBBVision AI Vision Analysis Modules within the Deep Learning Surveillance software that runs on IBBVision Edge Vision System devices. AI models do not operate reliably or performantly outside these systems.

1. Launching the Program

When you start the program, you are greeted with the Main Menu screen. This is the central panel displaying all the actions you can perform.

Main Menu Buttons and Their Functions

Button What It Does
New Project Starts a new model development project. For example, you can create a project for "Cola Can" or "Forklift" detection.
My Projects Lists all projects you have previously created. Click on a project to resume working where you left off.
Dataset Management View, edit, or delete datasets you have created.
Model Training Goes directly to the training screen based on an existing project.
My Models Lists all models and versions you have previously trained.
Model Test Navigates to the screen where you can select and test a trained model.
Settings Change general program settings such as language, theme, and save locations.

2. Creating a New Project

When you click the "New Project" button, a form appears where you enter the basic information about your project.

New Project Form

  • Project Name: Enter a descriptive name for your model, e.g., "Cola Can Detection."

  • Description: (Optional) Write a brief description of your project.

  • Classes (Object Types): Enter the objects you want your model to detect, one by one. For example:

    • cola_can

    • water_bottle

    • juice_box

Enter a name for each class and click the "Add" button. You can add as many classes as you want. Your model will be able to detect all these classes simultaneously.

Click the "Create" button, and your project is ready, redirecting you to the project dashboard.

3. Project Dashboard

The screen you see after opening your project displays summary information and available actions.

What You See on the Dashboard

Left Panel – Information:

  • Total number of uploaded images

  • Number of labeled images

  • Number of defined object classes

  • Dataset quality score (higher score = better model performance)

Right Panel – Recent Training Info:

  • Latest model trained (e.g., YOLOv8s)

  • Number of epochs completed

  • Model success rate (mAP50 value)

Quick Access Buttons:

  • Label: Goes to the labeling screen to annotate images.

  • Dataset: Navigates to the dataset creation/editing screen.

  • Training: Goes to the training screen to start model training.

  • Test: Navigates to the test screen for evaluating your trained model.

  • Models: Displays the list of all model versions for the project.

4. Image Uploading

Use the "Upload Images" button to add images to your project.

Image Upload Options

Option How to Use
Add Files Select and add individual image files.
Add Folder Add all images from a folder in bulk.
Add Video Select a video file, and the program automatically extracts frames and adds them as images.

Supported File Types

  • Images: .jpg.jpeg.png.bmp.webp

  • Videos: .mp4.avi.mov.mkv

The program automatically filters out corrupt files or unsupported formats during upload, adding only valid files.

5. Annotation (Labeling) Screen

This is the most critical phase of your project. Here, you draw bounding boxes around objects you want to detect using your mouse.

Annotation Screen Components

Left Panel – Image List:

  • All your uploaded images are listed as thumbnails.

  • Click an image to open it.

  • Green indicators show labeled images; red indicators show unlabeled ones.

Center Panel – Annotation Workspace:

  • The selected image is displayed in this area.

  • Click and drag with your mouse to draw a rectangular box around the object.

  • After drawing a box, you are prompted to select the class it belongs to.

Right Panel – Tools and Features:

Tool/Button What It Does
Draw Box Enables drawing mode to draw boxes with the mouse (default mode).
Select Box Selects a drawn box. Once selected, you can move or delete it.
Delete Box Deletes the selected box.
Move Box Drags the selected box to a different position.
Resize Box Grabs the edges of the selected box to adjust its size.
Change Class Changes the class (object type) of the selected box.
Zoom + / Zoom - Zooms in and out on the image.
Pan Scrolls left/right/up/down on a zoomed-in image.
Previous / Next Navigates to the next or previous image.
Undo / Redo Undoes or redoes your last action.

Class Selection

After drawing a box, a class selection window appears. From the dropdown list, select which class the object belongs to (e.g., "cola_can"). If you need to change the class later, select the box and use the "Change Class" button.

Saving

All annotations you make on each image are automatically saved. When you reopen a labeled image, you will see the boxes you previously drew. Once all images are labeled, you can proceed to the next stage.

6. Auto-Annotation

If you have a large number of images and labeling each one manually is too time-consuming, you can use the auto-annotation feature.

How Auto-Annotation Works

  1. First, manually label a small number of images (e.g., 50–100) and train an initial model.

  2. Then, select all remaining unlabeled images and click the "Auto-Annotate" button.

  3. The program uses your trained model to automatically label these images.

  4. You can then review each auto-annotated image, correcting or deleting any mislabeled annotations.

This feature can turn weeks of manual work into days or even hours, especially when working with thousands of images.

Auto-Annotation Settings

  • Confidence Threshold: Determines how confident the model must be to apply a label. A lower threshold (e.g., 60%) detects more objects but may include false positives. A higher threshold (80%+) yields fewer but more accurate detections.

  • Maximum Box Count: Sets the maximum number of objects to detect per image.

7. Dataset Creation

After labeling all images, you need to prepare your dataset for model training. The "Create Dataset" button automates this process.

Dataset Creation Screen

Splitting Ratios:

The program divides your images into three groups:

Group Default Ratio Purpose
Training 70% The main learning set for the model. The largest portion of images should be here.
Validation 20% Used to check how well the model is learning during training.
Test 10% Used to measure final model performance after training is complete.

You can adjust these ratios as needed. For example, with a smaller dataset, you might remove the test set and use 80% training / 20% validation.

Dataset Quality Control

Before creating the dataset, the program automatically performs the following checks:

  • Are all images labeled?

  • Are there any unlabeled images?

  • Are there any invalid class codes?

  • Do any bounding boxes extend outside image boundaries?

  • Are there any boxes that are too small or abnormally sized?

You will receive a report after these checks. If errors are found, the program highlights which images have issues, allowing you to make corrections.

Creating the Dataset

Once all checks pass, click the "Create Dataset" button. The program automatically:

  • Copies images into training/validation/test folders

  • Copies corresponding labels into their respective folders

  • Creates a data.yaml file in YOLO format

After this process, your dataset is ready for model training.

8. Model Training Screen

This is where you train your model. Training is the process by which the model learns to recognize objects in images.

Training Parameters

Parameter What It Does Recommendation
Model Selection Choose which YOLO model to use. Larger models are more accurate but slower. "YOLOv8s" is recommended for beginners.
Epochs Number of times the model will see the entire dataset. 100–200 epochs is generally sufficient. More may be unnecessary.
Image Size The resolution the model uses for training. 640 pixels is standard. Larger sizes improve accuracy but slow down training.
Batch Size Number of images processed simultaneously. 16 is a good starting point. Higher values speed up training but consume more memory.
Device Choose whether to train on GPU (graphics card) or CPU (processor). GPU training is 10–20× faster. If you have a GPU, definitely select it.

CPU vs. GPU Warning: If you do not have a GPU or do not select it, the program will display a warning. CPU training is significantly slower and can take days. In this case, it is recommended to choose a smaller model (e.g., YOLOv8n) and fewer epochs.

Starting Training

Click the "Start Training" button to begin. During training:

  • The main program window remains responsive; you can continue other tasks.

  • A separate progress window opens.

Training Progress Window

In this window, you can see live updates:

  • Progress Bar: Shows how many epochs are completed.

  • Loss Values: Indicates model error (decreasing is good).

  • Performance Metrics:

    • Precision: How many detected objects are correct.

    • Recall: How many existing objects are detected.

    • mAP50: The most important metric; closer to 100% means better model performance.

  • Time Remaining: Estimated time until training finishes.

When training completes, you receive a notification, and the best model is automatically saved.

9. Training Results and Model Versioning

When training finishes, results are automatically saved to your project.

What You See After Training

Model Version:

  • Each training session receives an automatic version number (e.g., v1.0, v1.1, v2.0).

  • This allows you to track all training runs on the same project.

  • You can compare which version performed better.

Training Report:

  • Training duration

  • Parameters used (model, epochs, batch size, etc.)

  • Achieved metrics (Precision, Recall, mAP50)

  • Training graphs (how metrics changed over time)

Saved Files:

  • best.pt: The most successful model (this is the one you should use)

  • last.pt: The model at the end of training (usually best.pt is better)

  • Result graphs and reports

10. Model Testing

After completing training, you can test how your model performs on real images.

Test Options

Option How to Use
Single Image Test Select an image file from your computer. The program opens it, runs detection, and displays the results.
Folder Test Test all images in a folder in bulk. It processes everything and generates a report.
Video Test Select a video file. The program plays the video while running real-time object detection.
Camera Test Select a camera connected to your computer. The model runs real-time detection on live video.

Test Results

After testing is complete:

  • Detected objects are shown on the image with colored boxes and labels.

  • Each detection displays a confidence percentage (e.g., "94%").

  • The test report includes average success rates and speed information.

11. Model Export

You can export your trained model for use on different platforms.

Export Formats

Format Where It Is Used
PyTorch (.pt) Original format. Used in Python programs.
ONNX (.onnx) Standard format. Usable across many platforms and languages.
TensorRT (.engine) Fastest format on NVIDIA GPUs. Ideal for IBBVision Edge.
OpenVINO (.xml) Runs fast on Intel CPUs and GPUs.
CoreML (.mlmodel) Used on iOS devices (iPhone, iPad).
TFLite (.tflite) Used on Android devices.

Export Steps

  1. Select the model version you want to export.

  2. Choose the export format (e.g., TensorRT).

  3. (Optional) Select precision: FP32 (high accuracy) or FP16 (faster).

  4. Click the "Export" button.

  5. The model is converted and saved.

12. Deploying Models to IBBVision Devices

You can send your trained model directly to IBBVision devices (Edge, DLS, DLN).

Deployment Steps

  1. Go to the "Deploy" menu.

  2. Select the target device (the program automatically discovers devices on the network).

  3. Choose the model version.

  4. Configure deployment settings (image resolution, FPS, etc.).

  5. Click the "Deploy" button.

The program automatically uploads the model to the target device and updates the existing model. Once deployment is complete, the device starts running with the new model.

Remote Update

If your devices are accessible over the internet, you can send updates to all devices simultaneously when you train a new model. This feature allows you to update models without physically visiting the devices.

13. Comparing Model Versions

If you have trained multiple models on the same project, you can compare them.

Comparison Screen

On this screen, you see all your model versions side by side:

Version Precision Recall mAP50 Speed (ms) Size
v1.0 91.2% 88.7% 92.1% 32.4 21 MB
v1.1 92.3% 89.5% 93.4% 33.1 21 MB
v2.0 95.1% 91.7% 95.7% 28.4 22 MB
v2.1 95.8% 92.4% 96.3% 27.8 22 MB

Based on this comparison, you can decide which version best suits your needs. For example, choose v2.1 for the highest accuracy or v2.0 for the fastest performance.

14. Active Learning

This feature shows you the images that will be most beneficial for improving your model.

How Active Learning Works

  1. Train your model.

  2. Start "Active Learning" mode.

  3. The program shows you images where the model struggled most (low confidence scores).

  4. Review these images and correct any errors.

  5. Update your dataset with the corrected images.

  6. Retrain the model.

Through this cycle, your model learns from the examples it needs most, improving faster and achieving better results with less data.

Active Learning Screen

  • Each displayed image shows the model's prediction and confidence percentage.

  • Choose one of: "Correct," "Incorrect," or "Not Sure."

  • If you select "Incorrect," you are prompted to provide the correct labeling.

  • Your progress is displayed (how many images remain).

15. Video Frame Extraction

You can automatically extract image frames from a video to quickly build your dataset.

Video Frame Extraction Steps

  1. Select the "Add Video" option.

  2. Choose your video file.

  3. Set the extraction speed:

    • High: Extracts many frames per second (more images, may include similar ones).

    • Normal: Extracts a few frames per second (recommended).

    • Low: Extracts one frame per second (fewer images, more varied).

  4. Click the "Start Extraction" button.

The program processes the video, extracts frames at your specified speed, and adds them to your project as images.

16. Batch Inference

If you want to test a large number of images with your model, use the batch inference feature.

Using Batch Inference

  1. Select a model version.

  2. Select the folder containing the images to be tested.

  3. Select a folder where results will be saved.

  4. Click the "Start" button.

The program processes all images in the specified folder, runs detection on each, and saves the results to your chosen folder. When finished, you receive a report showing:

  • Number of images processed

  • Total objects detected

  • Count per class

  • Duration of the process

17. Project Backup and Restore

You can regularly back up your projects and restore them when needed.

Backup

  1. Go to the "Backup" menu.

  2. Select the project you want to back up.

  3. Choose a backup location (default: C:/IBBVision/backups).

  4. Click the "Backup" button.

The program compresses all project files (images, labels, models, settings) into a single backup file and saves it.

Restore from Backup

  1. Go to the "Restore from Backup" menu.

  2. Select the backup file.

  3. Choose the location to restore to.

  4. Click the "Restore" button.

The program extracts the backup file and restores all project files to the selected location.

Automatic Backup

You can enable automatic backup in the "Backup Settings" section:

  • Weekly or daily backups

  • Maximum number of backups to keep (older ones are auto-deleted)

  • Which projects to back up

18. Hyperparameter Tuning (Automatic Parameter Optimization)

If you're wondering, "Which settings give me the best results?" this feature automatically finds the optimal parameters for you.

How It Works

  1. Start "Hyperparameter Tuning" mode.

  2. Select which parameters you want to test (e.g., learning rate, batch size).

  3. Determine how many different combinations to try.

  4. Click the "Start" button.

The program runs a short training session (5–10 epochs) for each specified combination, compares results, and recommends the parameters that performed best. You can then use these recommendations to start a full training run.

Tuning Results

You receive:

  • The best parameter combination

  • The success rate achieved with that combination

  • A comparison of other combinations

  • An option to start training with the recommended parameters

19. Data Augmentation Settings

You can automatically diversify your images to help your model learn better.

What Data Augmentation Does

During training, the model sees different transformed versions of each image (flips, rotations, brightness changes, etc.). This teaches the model to recognize objects under various conditions (different lighting, angles, and sizes).

Augmentation Options You Can Configure

Option Description
Horizontal Flip Flips the image left–right (useful if objects are symmetrical).
Rotation Rotates the image by a certain angle.
Brightness Changes image brightness.
Contrast Changes image contrast.
Scaling Enlarges or shrinks the image.
Mosaic Combines multiple images (useful for complex scenarios).

Default Settings

The program comes with default settings that work well for most use cases. Beginners can leave these as-is. Advanced users can customize the settings according to their specific needs.

20. Log Viewer (Operation History)

The program records all your actions, and you can view these records at any time.

What You Can See in the Log Window

[08:32:11] New project created: "Cola Can Detection"
[08:32:15] 5 classes defined
[08:33:02] 842 images uploaded
[08:45:30] 150 images labeled
[09:15:22] Auto-annotation started
[09:23:45] Auto-annotation completed: 692 images
[09:30:00] Dataset created
[09:32:15] YOLOv8s training started
[10:15:30] Epoch 50/100 completed, mAP50: 0.921
[11:42:18] Training completed, best mAP50: 0.947
[11:45:00] Model tested: 84 images, success: 95.7%
[11:50:00] Model exported: ONNX format
  • Debugging: When an issue occurs, review logs to find the source.

  • Tracking: See what actions were performed and when.

  • Reporting: Review your training history in detail.

21. Frequently Encountered Issues and Solutions

I'm Getting a GPU Error

  • Problem: The program doesn't detect the GPU or shows an error.

  • Solution:

    • Check that your computer has an NVIDIA graphics card.

    • Ensure up-to-date graphics drivers are installed.

    • Click the "Check GPU" button in Settings.

    • If the issue persists, try training on CPU.

Training Is Too Slow

  • Problem: Training takes much longer than expected.

  • Solution:

    • Make sure you are training on GPU.

    • Increase batch size (if GPU memory allows).

    • Choose a smaller model (e.g., YOLOv8n instead of YOLOv8s).

    • Reduce image size (e.g., 320 instead of 640).

    • Reduce the number of epochs.

Out of Memory Error

  • Problem: The program displays an "Out of Memory" error.

  • Solution:

    • Reduce batch size (e.g., from 16 to 8 or 4).

    • Reduce image size.

    • Choose a smaller model.

    • Close unnecessary background applications.

    • Restart your computer.

Unlabeled Images Error

  • Problem: When creating a dataset, you get an "Unlabeled images exist" error.

  • Solution:

    • Go to the labeling screen.

    • Find the images listed in the error message.

    • Label these images or remove them from the project.

    • Try creating the dataset again.

Model Doesn't Detect Anything

  • Problem: The trained model finds no objects in test images.

  • Solution:

    • Ensure you trained with enough images (at least 200–300).

    • Check labeling accuracy—do boxes fully cover objects?

    • Retrain with more epochs.

    • Try a different (larger) model.

    • Ensure test images are similar to training images.

22. Tips and Best Practices

For Your Dataset

  • Collect at least 200–300 images: Fewer images may result in poor model performance.

  • Use diverse images: Include photos with different lighting, angles, backgrounds, sizes, and positions.

  • Label objects precisely: Boxes should fit tightly around objects—not too large or too small.

  • Maintain balanced distribution: Aim for roughly equal numbers of images for each class.

  • Use high-quality images: Avoid low-resolution or blurry images.

For Training

  • Train on GPU: Always use a GPU if possible; CPU training is extremely slow.

  • 100–200 epochs are sufficient: More epochs are usually unnecessary.

  • Adjust batch size: Keep batch size as high as your GPU memory allows.

  • Use early stopping: The "Patience" parameter automatically stops training when the model stops improving.

For Model Selection

  • Start with YOLOv8s: Offers a good balance of speed and accuracy.

  • For high speed, choose YOLOv8n: The fastest model, slightly lower accuracy.

  • For high accuracy, choose YOLOv8m or YOLOv8l: Slower but more accurate.

  • For very large datasets, choose YOLOv8x: Highest accuracy, slowest speed.

For Project Management

  • Back up regularly: Take weekly backups to avoid losing project data.

  • Compare versions: Use the comparison feature to see which version is better.

  • Review logs: Logs are the first place to check when something goes wrong.

  • Use meaningful project names: Use names like "ColaCan_Detection" instead of "Project1."

23. Frequently Asked Questions (FAQ)

Is the program free?

The program is licensed with IBBVision products. For detailed licensing information, please review the Product Details.

Which operating systems does it support?

The program is designed to run on Windows 10 and Windows 11. Linux support is planned for future releases.

How much disk space is required?

The program itself is approximately 500 MB. Project files can take up 1–100 GB depending on the number of images.

Is GPU mandatory?

GPU is not mandatory, but training without it is very slow (10–20× slower). If you are working with large datasets, using a GPU is strongly recommended.

Which GPUs are supported?

NVIDIA graphics cards (GTX 10xx series and above) are supported. A minimum of 4 GB VRAM is recommended; 6 GB or more is better.

How much RAM is required?

At least 16 GB of RAM is recommended. The program can run with less, but you may experience slowdowns with large datasets.

How long does training take?

This depends entirely on dataset size, model selection, and hardware. With 500–1000 images and 100 epochs, training takes 2–6 hours on a GPU and 1–3 days on a CPU.

Can I use my model in other projects?

Yes, you can use the trained model file (.pt) in other Python projects or export it for different platforms.

Why should I export to different model formats?

Different platforms require different formats. For example, IBBVision Edge uses TensorRT, iOS devices use CoreML, and Android devices use TFLite.

How can I continuously improve my model?

Add new images, correct false detections, add difficult examples through active learning, and perform hyperparameter tuning.

24. Support and Help

For issues encountered while using the program:

  • Help Menu: Click the "?" button in the top-right corner to access this guide and other help resources.

  • Log File: When experiencing issues, check the log file (logs/application.log).

  • Technical Support: Contact the IBBVision technical support team.

25. Glossary

Term Explanation
Annotation The process of labeling objects in images by drawing boxes.
Bounding Box A rectangular box drawn around an object.
Epoch One complete pass of the entire dataset through the model.
GPU Graphics Processing Unit; accelerates model training.
Inference The process of a trained model making detections on a new image.
mAP Mean Average Precision; the model's overall performance score.
Dataset The collection of images and labels used for training.
Data Augmentation Diversifying data by applying transformations like rotation or brightness changes.
Hyperparameter Settings determined by the user before training (e.g., epochs, batch size).
Loss A value indicating how much error the model is making; lower is better.
Precision How many of the objects detected by the model are actually correct.
Recall How many of the actual objects were successfully detected.
Versioning A system for tracking different versions of a model (v1.0, v2.0).
Deployment Uploading a trained model to the target device.
Export Converting a model to different formats (ONNX, TensorRT).