Skip to content

MehmetOKUYAR/Augmentation_for_Yolo_labeling

Repository files navigation

🖼️ YOLO Augmentation Tool / YOLO Augmentasyon Aracı

English | Türkçe


🇬🇧 English

Modern Desktop Application for YOLO Image Augmentation

A user-friendly Electron-based desktop application for augmenting YOLO format images and labels with live preview and progress tracking.

✨ Features

  • 🎨 Modern Clean UI - Beautiful gradient design with intuitive controls
  • 🔄 Multiple Augmentation Methods:
    • Horizontal Flip
    • Vertical Flip
    • Horizontal & Vertical Flip
    • Brightness Enhancement
  • 👁️ Live Preview - See augmentation results before processing
  • 📊 Progress Tracking - Real-time progress bar during processing
  • 📁 Flexible Folder Structure - Images and labels can be in separate folders
  • ⏱️ Timestamped Output - Automatic timestamped folder creation
  • 🎯 YOLO Format Support - Automatic label transformation

🚀 Quick Start

Prerequisites

  • Node.js (v16+)
  • Python 3
  • npm

Installation

  1. Clone the repository:

  2. Run the installation script:

./install.sh

Or manually:

npm install
pip3 install opencv-python numpy tqdm

Running the Application

npm start

Or use the start script:

./start.sh

📖 Usage

  1. Select Image Folder - Choose folder containing images to augment
  2. Select Label Folder - Choose folder containing YOLO format labels
  3. Choose Image Format - Select jpg, jpeg, or png
  4. Select Augmentation Method - Choose from 4 available methods
  5. Select Output Path - Choose where to save augmented files
  6. Preview - Click "Show Preview" to see a random sample
  7. Start - Click "Start Augmentation" to process all images

📸 Screenshots

The application features:

  • Left Panel: Settings and controls
  • Right Panel: Live preview with side-by-side comparison

🛠️ Command Line Usage (Alternative)

You can still use the Python script directly:

python3 yolo_aug.py -i <input_dir> -l <label_dir> -t <aug_type> -e <extension> -o <output_dir>

Parameters:

  • -i, --input_dir: Input images directory
  • -l, --label_dir: Labels directory (optional, defaults to input_dir)
  • -t, --aug_type: Augmentation type (hflip, vflip, hvflip, bright)
  • -e, --image_extension: Image extension (jpg, jpeg, png)
  • -o, --output_dir: Output directory

📁 Project Structure

├── main.js              # Electron main process
├── preload.js           # Electron preload script
├── renderer.js          # Frontend JavaScript
├── index.html           # Main interface
├── styles.css           # Styling
├── yolo_aug.py          # Python augmentation script
├── package.json         # Node.js dependencies
└── install.sh          # Installation script

📚 Documentation

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

MIT License - see LICENSE file for details

👤 Author

Mehmet OKUYAR


🇹🇷 Türkçe

YOLO Görüntü Augmentasyonu için Modern Masaüstü Uygulaması

Canlı önizleme ve ilerleme takibi ile YOLO formatındaki görüntü ve etiketleri augmente etmek için kullanıcı dostu Electron tabanlı masaüstü uygulaması.

✨ Özellikler

  • 🎨 Modern Temiz Arayüz - Güzel gradient tasarım ve sezgisel kontroller
  • 🔄 Çoklu Augmentasyon Yöntemleri:
    • Yatay Çevirme
    • Dikey Çevirme
    • Yatay & Dikey Çevirme
    • Parlaklık Artırma
  • 👁️ Canlı Önizleme - İşlem öncesi augmentasyon sonuçlarını görün
  • 📊 İlerleme Takibi - İşlem sırasında gerçek zamanlı progress bar
  • 📁 Esnek Klasör Yapısı - Görüntüler ve etiketler ayrı klasörlerde olabilir
  • ⏱️ Zaman Damgalı Çıktı - Otomatik zaman damgalı klasör oluşturma
  • 🎯 YOLO Format Desteği - Otomatik etiket dönüştürme

🚀 Hızlı Başlangıç

Gereksinimler

  • Node.js (v16+)
  • Python 3
  • npm

Kurulum

  1. Repository'yi klonlayın:
git clone https://github.com/MehmetOKUYAR/Augmentation_for_Yolo_labeling.git
cd Augmentation_for_Yolo_labeling
  1. Kurulum scriptini çalıştırın:
./install.sh

Veya manuel:

npm install
pip3 install opencv-python numpy tqdm

Uygulamayı Başlatma

npm start

Veya start scriptini kullanın:

./start.sh

📖 Kullanım

  1. Görüntü Klasörünü Seç - Augmente edilecek görüntülerin klasörünü seçin
  2. Etiket Klasörünü Seç - YOLO format etiketlerin klasörünü seçin
  3. Görüntü Formatını Seç - jpg, jpeg veya png seçin
  4. Augmentasyon Yöntemini Seç - 4 mevcut yöntemden birini seçin
  5. Kayıt Yolunu Seç - Augmente dosyaların kaydedileceği yeri seçin
  6. Önizleme - Rastgele bir örnek görmek için "Önizleme Göster"e tıklayın
  7. Başlat - Tüm görüntüleri işlemek için "Augmentasyon Başlat"a tıklayın

📸 Ekran Görüntüleri

Uygulama özellikleri:

  • Sol Panel: Ayarlar ve kontroller
  • Sağ Panel: Yan yana karşılaştırmalı canlı önizleme

🛠️ Komut Satırı Kullanımı (Alternatif)

Python scriptini doğrudan da kullanabilirsiniz:

python3 yolo_aug.py -i <görüntü_klasörü> -l <etiket_klasörü> -t <augmente_türü> -e <uzantı> -o <çıktı_klasörü>

Parametreler:

  • -i, --input_dir: Görüntü klasörü
  • -l, --label_dir: Etiket klasörü (opsiyonel, belirtilmezse input_dir kullanılır)
  • -t, --aug_type: Augmentasyon türü (hflip, vflip, hvflip, bright)
  • -e, --image_extension: Görüntü uzantısı (jpg, jpeg, png)
  • -o, --output_dir: Çıktı klasörü

📁 Proje Yapısı

├── main.js              # Electron ana süreç
├── preload.js           # Electron preload script
├── renderer.js          # Frontend JavaScript
├── index.html           # Ana arayüz
├── styles.css           # Stil dosyası
├── yolo_aug.py          # Python augmentasyon scripti
├── package.json         # Node.js bağımlılıkları
└── install.sh          # Kurulum scripti

📚 Dokümantasyon

🤝 Katkıda Bulunma

Katkılarınızı bekliyoruz! Lütfen Pull Request göndermekten çekinmeyin.

📄 Lisans

MIT Lisansı - detaylar için LICENSE dosyasına bakın

👤 Geliştirici

Mehmet OKUYAR


🌟 Star History

Star History Chart


⬆ Back to Top

Made with ❤️ by Mehmet OKUYAR