This README file is the learning structure of the computer vision project, you can learn from any references or source to understand the concept
We suggest you to explore as many as possible references or source to understand the concept well but don't trapped into a rabbit hole. Just learn the basic concept first then go deeper by creating your own hands-on project.
If you are new to programming, I suggested you to use Python as the programming language is easier to understand and have rich ecosystem of libraries for computer vision.
Important: Please don't use my directory in this project because it is randomly created for me playing around with the material I just learned, you must create your own.
Learning structure :
- What is Computer vision?
- Digital Image Representation and Matrix Operation
- Geometric Operation (translation, rotation, scaling, shearing, etc.)
- Image Filtering
- Histograms and Image Enhancement
- Edge Detection (Sobel, Prewitt, Canny, etc.)
- Image Segmentation
- Feature Detection and Matching
- Object Recognition and Tracking
- Pattern Recognition with Deep Learning
- Data Augmentation and Regulation in Deep Learning for Computer Vision
- Transfer Learning
- Object Detection with Deep Learning (YOLO, SSD, R-CNN, etc.)
- Image Segmentation with Deep Learning (FCN, U-Net, Mask R-CNN, etc.)
- Generative Adversarial Networks (GANs) for Image Generation
- Style Transfer and Image-to-Image Translation
- Reinforcement Learning in Computer Vision
- Multimodal AI (vision + language)
- Explainable AI (XAI) in Computer Vision
“Learn Computer Vision in 30 Days” by Felipe
a structured 30-day learning plan designed to take a beginner with no prior knowledge of computer vision to a skilled practitioner. The plan consists of 30 diverse computer vision projects spanning various industries, technologies, and application domains. These projects build progressively in complexity and cover foundational concepts, practical implementations, cloud services, and advanced topics.
| Day | Project/Topic | Key Focus |
|---|---|---|
| 1 | OpenCV Basics | Image handling, blurring, thresholding, edge detection |
| 2 | Color Detection | Object detection by isolating colors |
| 3 | Face Anonymizer | Face detection and blurring for privacy |
| 4 | Text Detection | Benchmarking AWS Textract, EasyOCR, Tesseract |
| 5 | Image Classification | Building classifiers using scikit-learn |
| 6 | Emotion Detection | Using facial landmarks to classify emotions |
| 7 | Feature Extraction | Extracting image features to improve machine learning models |
| 8 | Sign Language Detection | Classifying hand landmarks to translate sign language |
| 9 | Pneumonia Classification | Chest X-ray analysis and web app development with Streamlit |
| 10 | AWS Recognition | Cloud-based object detection without custom model training |
| 11 | Object Tracking | YOLO-based real-time object detection and tracking |
| 12 | Image Segmentation | Annotating and training models for segmenting images |
| 13 | Pose Detection | Building pose detectors for gaming, therapy, and interactions |
| 14 | Parking Space Counter | Modular parking spot detection using image segmentation and math |
| 15 | Object Detection with YOLOv10 | Data preparation and training YOLOv10 models |
| 16 | End-to-End Project | Complete project lifecycle from requirements to deliverables |
| 17 | Image Processing API | Deploying scalable API on AWS Lambda and API Gateway |
| 18 | Dataset Size Analysis | Experimenting with how dataset size affects model performance |
| 19 | Document Classification | Real-world freelance project on document categorization |
| 20 | Detectron2 Object Detection | Using Facebook AI’s Detectron2 framework |
| 21 | Face Recognition with JavaScript | Implementing face recognition using face-api.js |
| 22 | Face Attendance System | Real-time face detection and automated attendance recording in Python |
| 23 | Intruder Detection | Cloud-based real-time intruder detection with AWS services |
| 24 | LangChain Web App | Building chat applications that interact with images |
| 25 | Face Generation | Training generative models with Stable Diffusion and DreamBooth |
| 26 | Spoofing Detection | Enhancing face attendance system to detect spoofing attempts |
| 27 | Face Matching | Comparing faces for identity verification using DeepFace |
| 28 | Background Removal Web App | Serverless API for automatic background removal using Segment Anything Model |
| 29 | License Plate Detection on Edge | Real-time license plate detection on Raspberry Pi with Coral USB accelerator |
| 30 | Synthetic Dataset Generation | Creating synthetic data to overcome real data limitations for training |
- Progressive Learning Path: Starts with basic image processing techniques (blurring, edge detection) and advances to complex ML model training, deployment, and cloud integration.
- Diverse Application Areas: Projects span healthcare (pneumonia classification), security (intruder detection, spoofing detection), accessibility (sign language detection), and commercial use cases (e-commerce background removal, attendance systems).
- Hands-on Implementation: Emphasis on building functional applications including web apps, APIs, and real-time systems.
- Use of Popular Tools and Frameworks: OpenCV, YOLO, Detectron2, AWS services, face-api.js, scikit-learn, Streamlit, DeepFace, Stable Diffusion, and LangChain.
- Cloud and Edge Computing: Deployments on AWS Lambda, API Gateway, and Raspberry Pi with hardware accelerators.
- Data-centric Approach: Analysis of dataset size impact and synthetic data generation to improve model robustness.
- Privacy and Security Focus: Including face anonymization, spoofing detection, and intruder alerts to address ethical concerns.
- Real-world Project Insights: Freelance document classification project and end-to-end project walkthrough provide practical exposure beyond tutorials.
- Foundational skills in image processing are crucial for understanding and building complex computer vision systems.
- Machine learning and deep learning models require careful data preparation and feature extraction to achieve high accuracy.
- Cloud services like AWS provide powerful, scalable solutions that simplify deployment and add real-time capabilities.
- Edge computing enables practical deployments in constrained environments like Raspberry Pi for real-time applications.
- Privacy-preserving techniques and security features are integral components of modern computer vision applications.
- Synthetic datasets are valuable tools when real-world data is scarce or difficult to obtain, enhancing model training.