English | 中文
NeuroBridge Trainer is a professional YOLO object detection model training platform focused on ship detection and intelligent collision avoidance warning systems for ship bridges. Based on the latest YOLO series models (including YOLOv5, YOLOv8, and YOLOv11), this project provides an end-to-end solution from data preprocessing, model training to performance analysis and report generation, aiming to provide high-precision ship target detection capabilities for maritime safety and waterway traffic management.
The core value of this project lies in its specialized application scenarios and powerful feature set. It is not only a general deep learning training framework, but also a tool deeply optimized for the specific task of ship detection. By integrating asynchronous data processing, intelligent GPU management, visual training interface, and complete model version control system, NeuroBridge Trainer greatly reduces the technical barriers for AI engineers, computer vision researchers, and intelligent shipping system developers to build high-performance ship detection models.
- Asynchronous Data Processing: Implements asynchronous processing for format conversions such as COCO to YOLO, ensuring user interface responsiveness during long-running tasks.
- Intelligent GPU Management: Automatically detects GPU resources, intelligently optimizes batch sizes and memory usage, preventing VRAM overflow.
- Visual Training Interface: Provides an intuitive graphical user interface with real-time monitoring of training progress, loss curves, and performance metrics.
- Model Version Control: Supports complete model lifecycle management for performance comparison and historical tracking.
- Training Stability Assurance: Built-in anomaly detection and correction mechanisms ensure training process reliability.
- AI Engineers: Can utilize this platform to quickly build and iterate ship detection models.
- Computer Vision Researchers: Can focus on algorithm innovation without building training infrastructure from scratch.
- Intelligent Shipping System Developers: Can directly integrate trained models to accelerate intelligent shipping application development.
The system architecture of NeuroBridge Trainer adopts a layered design, clearly separating the deep learning core, user interface, and tool components, ensuring system maintainability and scalability. The overall architecture can be divided into three main layers:
graph TB
subgraph L1 ["🎨 User Interface"]
A["Training Interface"]
end
subgraph L2 ["🧠 Core Engine"]
direction LR
C["Model Module"]~~~D["Training Controller"]~~~E["Data Processing"]
end
subgraph L3 ["🛠️ Infrastructure"]
direction LR
G["Dependency Check"]~~~F["Async Data Conversion"]
end
%% Simple connections
L1 --> L2
L2 --> L3
%% Modern minimalist style
classDef ui fill:#f1f5f9,stroke:#3b82f6,stroke-width:2px,color:#1e40af,font-weight:500
classDef mgmt fill:#fdf4ff,stroke:#a855f7,stroke-width:2px,color:#7c2d91,font-weight:500
classDef core fill:#f0fdfa,stroke:#10b981,stroke-width:2px,color:#047857,font-weight:500
classDef infra fill:#fefce8,stroke:#f59e0b,stroke-width:2px,color:#d97706,font-weight:500
%% Apply styles
class A,B ui
class K mgmt
class C,D,E core
class F,G,H infra
The main training interface uses a top-bottom split layout, with the upper half for configuration area and lower half for results display area. The configuration area uses Notebook tabs to organize different functional modules, including basic configuration, deep learning configuration, model configuration, training control, and version management. The results display area is divided into left and right parts, with training logs on the left and performance metric charts on the right.
The real-time monitoring chart area uses matplotlib to plot loss curves, mAP and other metrics during training. The chart area contains four subplots: training loss changes, mAP changes, learning rate changes, and detection metrics (precision, recall, etc.). Charts update in real-time to reflect current training status.
The YOLOModel class in the yolo.py file is the core of the entire project, encapsulating the complete training and inference pipeline for YOLO series models. This class inherits from the DeepLearningModel base class and is specifically implemented for YOLO model characteristics.
The TrainingManager class in the training_manager.py file is the "command center" for the entire training process. It coordinates models, data, training parameters, and callback functions, managing the training lifecycle (start, pause, stop).
The OptimizedYOLOModel class in the yolo_detection.py file is a further encapsulation of the basic YOLOModel, specifically optimized for object detection tasks.
- Python 3.8+
- pip or uv package manager
- GPU Training: CUDA-compatible GPU and corresponding drivers
For novice users, we provide one-click installation scripts that automatically handle virtual environment and dependency installation.
Windows Users:
install.batLinux/Mac Users:
chmod +x install.sh
./install.shThis script will automatically create a virtual environment, install all dependencies, and generate launch scripts in the current working directory.
Windows:
launch_neurobridge.batLinux/Mac:
launch_neurobridge.sh- Clone the repository:
git clone https://github.com/ForAlready/NeuroBridge_Trainer.git
cd NeuroBridge_Trainer- Create virtual environment (recommended):
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# or
.venv\Scripts\activate # Windows- Install dependencies:
# CPU training only
pip install -r requirements.txt
# GPU training
pip install -r requirements-gpu.txtQuick Launch:
-
Windows:
launch_neurobridge.bat
-
Linux/macOS:
./launch_neurobridge.sh
-
Manual Launch:
python start_ui.py
This script will perform the following operations:
- Check Python version and project structure
- Verify key dependencies
- Add project root directory to Python path
- Apply Windows icon fixes
- Launch main user interface
- Launch Application: Run
start_ui.pyto start the main training interface. - Select Dataset: In the "Basic Configuration" tab, click the "Browse" button to select the YOLO format dataset path.
- Configure Model: In the "Deep Learning" tab, select "Use existing model weight file", click "Browse" to select the
yolov8n.ptfile. - Set Parameters: In the "Basic Configuration" tab, set epochs to 100, batch_size to 32, learning rate to 0.001.
- Start Training: Click the "Start Training" button, training begins with real-time updates to progress bars and charts.
- Monitor Training: Observe loss curves and mAP changes to ensure training is proceeding normally.
- Save Model: After training is paused or stopped, click the "Save Model" button to save the current model.
- Generate Report: Click the "Generate Report" button to create a detailed training report.
The system automatically generates comprehensive training reports containing:
- Model performance metrics (accuracy, loss, mAP, precision, recall, F1 score)
- Training history charts
- Performance analysis
- Optimization recommendations
We welcome contributions to NeuroBridge Trainer! Please follow these steps:
- Fork the repository
- Create a new branch for your feature or bug fix
- Make changes and commit with clear messages
- Push changes to your fork
- Create a pull request to the main repository
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
- Check the documentation
- Submit an issue
- Contact maintainer xkl413@outlook.com
Built for Maritime Safety and Intelligent Shipping ❤️