Skip to content

A collection of computer vision projects covering various topics including image segmentation, object detection, classification, and more.

Notifications You must be signed in to change notification settings

raimbekovm/computer_vision_course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Computer Vision Course Projects

A comprehensive collection of computer vision projects covering semantic segmentation, object detection, image classification, and deep learning techniques.

πŸ‘¨β€πŸ’» About

This repository contains practical implementations and projects completed during an intensive computer vision course at AUCA. Each project demonstrates state-of-the-art computer vision techniques using PyTorch, with a focus on real-world applications.

πŸ“‹ CV / Resume

πŸ“„ Download CV (PDF)


πŸš€ Projects

1. Insulator Segmentation

Semantic segmentation of power line insulators using U-Net

  • Task: Segment insulators on aerial power line photos captured by UAVs
  • Architecture: U-Net with ResNet34 encoder
  • Performance: 0.9895 Dice coefficient
  • Techniques: Transfer Learning, Data Augmentation, Test-Time Augmentation
  • Framework: PyTorch, Albumentations

View Project β†’


2. Grain Classification

Multi-class image classification for grain type identification

  • Task: Classify grain images into 4 categories (barley, flax, oats, wheat)
  • Architecture: EfficientNetV2, ConvNeXt (ensemble)
  • Techniques: 5-fold Cross-Validation, Test-Time Augmentation, Mixed Precision Training
  • Framework: PyTorch, timm library
  • Key Features: Ensemble methods, learning rate scheduling, data augmentation

View Project β†’


πŸ“š Course Notebooks

Comprehensive notebooks covering the full Deep Learning and Computer Vision curriculum:

Fundamentals

  1. PyTorch Fundamentals - Introduction to PyTorch and tensor operations
  2. Gradient Descent & Optimization - Optimization algorithms and convergence
  3. Neural Network Classification - Building classifiers from scratch
  4. Advanced Classification Techniques - Ensemble methods and regularization

Convolutional Neural Networks

  1. CNN From Scratch - Implementing convolutional layers and forward pass
  2. Fully Connected vs CNN - Comparing dense and convolutional architectures
  3. AlexNet Architecture - Classic CNN implementation and analysis

Advanced Architectures

  1. ResNet & VGG Architectures - Deep residual networks and VGG
  2. Object Detection Methods - Detection techniques and frameworks
  3. DL Optimization & Regularization - Advanced training techniques

Semantic Segmentation

  1. Semantic Segmentation: U-Net & SegNet - Pixel-wise classification with encoder-decoder architectures

πŸ—‚οΈ Repository Structure

computer_vision_course/
β”œβ”€β”€ README.md                                    # This file
β”œβ”€β”€ Murat_Raimbekov_CV.pdf                      # Resume/CV
β”œβ”€β”€ requirements.txt                             # Common dependencies
β”‚
β”œβ”€β”€ 01_PyTorch_Fundamentals.ipynb               # Course notebooks
β”œβ”€β”€ 02_Gradient_Descent_Optimization.ipynb
β”œβ”€β”€ 03_Neural_Network_Classification.ipynb
β”œβ”€β”€ 04_Advanced_Classification_Techniques.ipynb
β”œβ”€β”€ 05_CNN_From_Scratch.ipynb
β”œβ”€β”€ 06_Fully_Connected_vs_CNN.ipynb
β”œβ”€β”€ 07_AlexNet_Architecture.ipynb
β”œβ”€β”€ 08_ResNet_VGG_Architectures.ipynb
β”œβ”€β”€ 09_Object_Detection_Methods.ipynb
β”œβ”€β”€ 10_DL_Optimization_Regularization.ipynb
β”œβ”€β”€ 11_Semantic_Segmentation_UNet_SegNet.ipynb
β”‚
β”œβ”€β”€ 01_insulator_segmentation/                   # Projects
β”‚   β”œβ”€β”€ insulator_segmentation.ipynb
β”‚   β”œβ”€β”€ requirements.txt
β”‚   β”œβ”€β”€ README.md
β”‚   └── samples/
β”‚
└── 02_grain_classification/
    └── grain_classification.ipynb

πŸ› οΈ Technologies & Tools

Deep Learning Frameworks

  • PyTorch - Primary framework for all models
  • TorchVision - Pre-trained models and transforms
  • timm - PyTorch Image Models library
  • scikit-learn - ML utilities and metrics

Computer Vision

  • OpenCV - Image processing and manipulation
  • Albumentations - Advanced data augmentation
  • scikit-image - Image processing algorithms

Data Science & Visualization

  • NumPy - Numerical computations
  • Pandas - Data manipulation
  • Matplotlib - Plotting and visualization
  • Seaborn - Statistical visualizations

Development Tools

  • Jupyter Notebook - Interactive development
  • Git/GitHub - Version control
  • CUDA - GPU acceleration

🎯 Key Skills Demonstrated

Computer Vision Techniques

  • βœ… Semantic Segmentation (U-Net, SegNet)
  • βœ… Image Classification (CNN, EfficientNet, ConvNeXt)
  • βœ… Object Detection (YOLO - see hackathon project)
  • βœ… Transfer Learning
  • βœ… Data Augmentation & Preprocessing

Deep Learning Best Practices

  • βœ… Model Training & Optimization
  • βœ… Cross-Validation & Ensemble Methods
  • βœ… Test-Time Augmentation
  • βœ… Mixed Precision Training
  • βœ… Learning Rate Scheduling
  • βœ… Loss Function Design (BCE, Dice, Focal)
  • βœ… Performance Evaluation & Metrics

Implementation Skills

  • βœ… PyTorch Model Architecture Design
  • βœ… Custom Dataset & DataLoader Implementation
  • βœ… Training Pipeline Development
  • βœ… Ablation Studies & Experimentation
  • βœ… Result Visualization & Analysis

πŸ† Related Projects

Computer Vision Road Defects Detection

Yandex Hackathon Project - December 2024

Automated road defect detection system using YOLOv8 for real-time object detection on highway images.

  • Achievement: 85%+ mAP on test set
  • Technologies: YOLOv8, PyTorch, OpenCV, Albumentations
  • Repository: hackathon-urban-tech

πŸ“¦ Installation

General Requirements

pip install -r requirements.txt

Project-Specific Installation

Each project has its own dependencies. Navigate to the specific project directory:

cd 01_insulator_segmentation
pip install -r requirements.txt

GPU Support

For CUDA/GPU acceleration:

pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118

πŸš€ Usage

Running Course Notebooks

jupyter notebook 01_PyTorch_Fundamentals.ipynb

Running Project Notebooks

cd 01_insulator_segmentation
jupyter notebook insulator_segmentation.ipynb

πŸ“Š Highlights & Results

Project Task Best Model Metric Score
Insulator Segmentation Semantic Segmentation U-Net + ResNet34 Dice Coefficient 0.9895
Medical Image Segmentation Skin Lesion Detection SegNet + BCE IoU 0.654
Grain Classification Multi-class Classification Ensemble (EfficientNetV2 + ConvNeXt) F1-Score High
Road Defects Detection Object Detection YOLOv8 mAP 85%+

πŸ“§ Contact

Murat Raimbekov Data Science & Computer Vision Intern

LinkedIn GitHub Email


πŸ“œ License

This repository is for educational and portfolio purposes.

πŸ™ Acknowledgments

  • American University of Central Asia (AUCA) - Neural Networks and Deep Learning Course
  • Course instructor
  • Open-source community (PyTorch, OpenCV, Albumentations)

About

A collection of computer vision projects covering various topics including image segmentation, object detection, classification, and more.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published