Skip to content

ForAlready/NeuroBridge_Trainer

Repository files navigation

NeuroBridge Trainer

NeuroBridge Trainer Logo

Python License Platform

English | 中文

🌊 Project Overview

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.

🚀 Core Features

  • 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.

🎯 Target User Groups

  • 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.

🏗️ System Architecture

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

Loading

🖥️ User Interface

Main Training Interface

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.

Real-time Monitoring Charts

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.

🛠️ Core Components

YOLO Model Implementation

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.

Training Manager

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).

Optimized YOLO Detection Model

The OptimizedYOLOModel class in the yolo_detection.py file is a further encapsulation of the basic YOLOModel, specifically optimized for object detection tasks.

📦 Installation and Deployment

System Requirements

  • Python 3.8+
  • pip or uv package manager
  • GPU Training: CUDA-compatible GPU and corresponding drivers

Quick Installation (Recommended)

For novice users, we provide one-click installation scripts that automatically handle virtual environment and dependency installation.

Windows Users:

install.bat

Linux/Mac Users:

chmod +x install.sh
./install.sh

This script will automatically create a virtual environment, install all dependencies, and generate launch scripts in the current working directory.

Windows:

launch_neurobridge.bat

Linux/Mac:

launch_neurobridge.sh

Manual Installation

  1. Clone the repository:
git clone https://github.com/ForAlready/NeuroBridge_Trainer.git
cd NeuroBridge_Trainer
  1. Create virtual environment (recommended):
python -m venv .venv
source .venv/bin/activate  # Linux/Mac
# or
.venv\Scripts\activate     # Windows
  1. Install dependencies:
# CPU training only
pip install -r requirements.txt

# GPU training
pip install -r requirements-gpu.txt

▶️ Quick Start

🎮 Launch Graphical Interface

Quick Launch:

  • Windows:

    launch_neurobridge.bat
  • Linux/macOS:

    ./launch_neurobridge.sh
  • Manual Launch:

    python start_ui.py

This script will perform the following operations:

  1. Check Python version and project structure
  2. Verify key dependencies
  3. Add project root directory to Python path
  4. Apply Windows icon fixes
  5. Launch main user interface

End-to-End Training Example

  1. Launch Application: Run start_ui.py to start the main training interface.
  2. Select Dataset: In the "Basic Configuration" tab, click the "Browse" button to select the YOLO format dataset path.
  3. Configure Model: In the "Deep Learning" tab, select "Use existing model weight file", click "Browse" to select the yolov8n.pt file.
  4. Set Parameters: In the "Basic Configuration" tab, set epochs to 100, batch_size to 32, learning rate to 0.001.
  5. Start Training: Click the "Start Training" button, training begins with real-time updates to progress bars and charts.
  6. Monitor Training: Observe loss curves and mAP changes to ensure training is proceeding normally.
  7. Save Model: After training is paused or stopped, click the "Save Model" button to save the current model.
  8. Generate Report: Click the "Generate Report" button to create a detailed training report.

📊 Training Reports

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

🤝 Contribution Guidelines

We welcome contributions to NeuroBridge Trainer! Please follow these steps:

  1. Fork the repository
  2. Create a new branch for your feature or bug fix
  3. Make changes and commit with clear messages
  4. Push changes to your fork
  5. Create a pull request to the main repository

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📞 Technical Support

If you encounter any issues or have questions:


Built for Maritime Safety and Intelligent Shipping ❤️

About

NeuroBridge Trainer(智桥训练师)是一个专业的YOLO目标检测模型训练平台,专注于船舶检测和船桥避碰智能预警系统。该项目基于最新的YOLO系列模型(包括YOLOv5、YOLOv8和YOLOv11),提供从数据预处理、模型训练到性能分析和报告生成的端到端解决方案,旨在为海事安全和水上交通管理提供高精度的船舶目标检测能力。

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages