Skip to content

catptype/Deep-Learning-for-Computer-Vision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

249 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deep Learning for Computer Vision: Practical Implementations with TensorFlow and Keras

Python TensorFlow Keras NumPy OpenCV scikit-learn XML JSON

Welcome to my digital archive documenting an exploration into the topics of deep learning. This repository is a detailed record of my self-study journey, with a focus on hands-on applications using TensorFlow and Keras from scratch. The main objective is to develop a clear understanding of fundamental concepts and techniques in deep learning.

Overview

In this repository, you'll find a collection of hands-on implementations covering classic Convolutional Neural Networks (CNNs), Transformer models, and object detection. Each model is accompanied by relevant papers, providing a solid foundation for understanding their underlying principles.

Key Features

  • Implementation Variety: Explore several models, including VGG, GoogLeNet, ResNet, SqueezeNet, DenseNet, ResNeXt, Res2Net, and more.
  • Extension Modules: Modules such as Squeeze-and-Excitation Networks (SE block) and Convolutional Block Attention Module (CBAM) to enhance your model architectures.
  • Evaluation Tools: Evaluate model performance with modules like Gradient-weighted Class Activation Mapping (Gran-CAM) for insightful visualizations.
  • Object Detection: Study the loss functions and models for You Only Look Once (YOLO), including version 3.
  • Transformer Models: Explore the realm of vision with models like Vision Transformer (ViT), Compact Convolutional Transformer (CCT), and Compact Vision Transformer (CVT).
  • Utilities and Applications: Practical tools, data generators, and applications such as image organizers, similarity retrieval, feature vector database generation, and manga dialogue detection with OCR.

Table of Contents

Implementations

Class Diagram

Class diagram for DeepLearningModel

CNN Architecture Models

Models Paper Link Code Link
VGG Paper Code
GoogLeNet (Inception v1) Paper Code
Residual Network (ResNet) Paper Code
SqueezeNet Paper Code
DenseNet Paper Code
ResNeXt Paper Code
Res2Net Paper Code

Extension Modules

Module Paper Link Code Link
Squeeze-and-Excitation Networks (SE block) Paper Code
Convolutional Block Attention Module (CBAM) Paper Code

Evaluation Module

Module Paper Link Code Link
Gradient-weighted Class Activation Mapping (Gran-CAM) Paper Code

Object Detection Models

Models Paper Link Code Link
You Only Look Once (YOLO) loss function Paper Code
You Only Look Once (YOLO) model version 3 Paper Code

Transformer Models

Models Paper Link Code Link
Vision Transformer (ViT) Paper Code
Compact Convolutional Transformer (CCT) Paper Code
Compact Vision Transformer (CVT) Paper Code

Other Implementations

Data Generators

Generator Type Code Link
Image Classification Code
Object Detection Code

Evaluation Metrics

Metrics Code Link
Confusion Matrix Code
F1 Score Code
Mean Average Precision (mAP) for object detection Code

Utilities

Utilities Code Link
Directory Processor Code
Text-based Progress Bar Code

Applications

This section showcases the practical applications of the deep learning concepts presented in this repository. Explore real-world scenarios and witness how deep learning concepts transform into useful tools and solutions:

  • Image Organizer: Say goodbye to messy photo folders! This application employs class prediction models to automatically organize your images based on their content labels, making retrieval and browsing easy.

  • Image Feature Vector Database and Similarity Retrieval: Create a robust database of image features in JSON format. This facilitates efficient similarity searches and image analysis tasks, allowing you to easily find visually similar images from your collection. This application utilizes deep learning models to retrieve images from your collection based on their visual content.

  • Manga Dialogue Detection with OCR: Extract dialogue from manga images using the deep learning of object detection and Optical Character Recognition (OCR). This application automatically identifies speech bubbles and extracts the text within, enhancing your manga reading experience.

Summary in the table below:

Applications Links
Image Organizer Code Demo
Image Feature Vector Database (JSON format) Code Demo
Image Similarity Retrieval Code Demo
Manga Dialogue Detection with OCR Demo

About

Self learning of deep learning in several topics, also implementing them from scratch using Keras.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors