Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
afondiel committed Nov 29, 2023
0 parents commit 98cd012
Show file tree
Hide file tree
Showing 3 changed files with 234 additions and 0 deletions.
134 changes: 134 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# vsc env
.vscode

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# doc
*.pdf
96 changes: 96 additions & 0 deletions README.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# Computer Vision Hello World!

## Overview

Computer Vision Hello World is a collection of computer vision projects tailored for aspiring Computer Vision Engineers embarking on their journey in the field.

The project has 3 parts:

- Part 1: Getting Started with Basics
- Part 2: Hands-on Computer Vision with Deep Learning
- Part 3: Vision LLMs: GANs, Image generations, AI Art & Image Captioning

## Requirements

```sh
pip install -r requirements.txt
```

## Part 1: Getting Started with Basics

||Project|Description|
|--|--|--|
|[1](#)| Image Loading and Display| Load an image, display it, and apply basic transformations.|
|[2](#)| Image Filtering| Enhance or manipulate image features using filtering techniques.|
|[3](#)| Color Space Conversion| Convert images between different color spaces like RGB, HSV, and YUV.|
|[4](#)| Image Thresholding| Segment an image into two or more regions based on pixel intensity values.|
|[5](#)| Blob Detection| Identify and extract connected regions in an image.|
|[6](#)| Contour Tracking| Follow the movement of objects in a video sequence.|
|[7](#)| Template Matching| Find instances of a template image within a larger image.|
|||

## Part 1.2: Getting Started with Basics 2

||Project|Description|
|--|--|--|
|[1](#)|Face Detection|Detect and localize human faces in images and videos with high accuracy.|
|[2](#)|Face-Detection-using-deep-learning |Identify and localize human faces in images and videos with high accuracy using deep convolutional neural networks.|
|[3](#)|Feature Extraction|Extract relevant features from raw data to improve machine learning algorithms.|
|[4](#)|Face Boundary Detection|Detect, localize, and segment the face boundaries and facial features in an image.|
|[5](#)|Rectangle Drawing|Visualize 2D rectangles with precise dimensions and orientations using computer vision techniques.|
|[6](#)|2D-Object-Detection-using-Deep-Learning |Identify and locate objects in images using deep neural networks for computer vision tasks.|
|[7](#)|2D-Object-Tracking |Identify and follow objects in videos, maintaining their positions and movements over time|
|[8](#)|3D-object-tracking |Monitor and localize objects in 3D space, establishing unique IDs across frames.|
|[9](#)|Human-Pose-Estimation-using-Deep-Learning |Track and analyze the positions of human joints in images and videos using deep neural networks to identify body postures and gestures.|
|[10](#)|Image to Text|output a text from a given image|
|||

## Part 2: Hands-on Computer Vision with Deep Learning

||Project|Description|
|--|--|--|
|[1](#)|MNIST Handwritten Digit Recognition |Train a simple neural network to classify handwritten digits from the MNIST dataset.|
|[2](#)|CIFAR-10 Image Classification |Utilize convolutional neural networks (CNNs) to classify images of different types of objects from the CIFAR-10 dataset.|
|[3](#)|Image Captioning |Explore image captioning using CNNs to generate natural language descriptions of images.|
|[4](#)|Object Detection with YOLOv5 |Implement YOLOv5, a real-time object detection algorithm, to detect objects in images and videos.|
|[5](#)|Semantic Segmentation with DeepLabv3+ |Utilize DeepLabv3+, a semantic segmentation model, to segment images into different semantic categories.|
|[6](#)|Facial Recognition with OpenFace |Explore facial recognition using OpenFace, a facial recognition library, to identify individuals in images.|
|[7](#)|Style Transfer with Neural Style |Transfer Introduce neural style transfer to transfer the style of one artwork to another image.|
|||


## Part 3: Vision LLMs: GANs, Image generations, AI Art & Image Captioning

||Project|Description|
|--|--|--|
|[1](#)|Creative Image Generation with GANs |Generate novel images of different styles using GANs.|
|[2](#)|Text-to-Image Synthesis with LLMs and Diffusion Models |Create realistic and creative images from text descriptions using LLMs and diffusion models.|
|[3](#)|AI-Powered Image Restoration and Enhancement |Restore and enhance images using AI methods.|
|[4](#)|Style Transfer with GANs and Image Processing |Transfer the artistic style of one image to another.|
|[5](#)|AI-Driven Image Captioning and Storytelling |Generate comprehensive and creative captions and stories from images using LLMs.|
|[6](#)|AI-Assisted Image Editing and Manipulation |Automate image editing and manipulation tasks using AI.|
|[7](#)|AI-Powered Image Analysis and Classification |Analyze and classify images using AI models|
|||

## Usage

Some projects are implemented in Jupyter notebooks, while others have a `main.py` file.

For projects implemented in Jupyter notebooks, run the notebook using:

- jupyter notebook/lab
- Google Colab

For projects with a main.py file, run the following command:

```
python main.py
```

## Contributing

Feel free to open a pull request or create an issue if you encounter any problem running one these projects.

## LICENSE

- MIT
4 changes: 4 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
numpy
pandas
cv2
matplotlib

0 comments on commit 98cd012

Please sign in to comment.