/PyImageSearch-CV-DL-CrashCourse

Repository for PyImageSearch Crash Course on Computer Vision and Deep Learning

Primary LanguagePythonMIT LicenseMIT

PyImageSearch CV/DL CrashCourse

Repository for FREE Computer Vision, Deep Learning and OpenCV Crash Course.

Environment Configuration

The development environment configuration was based on the following guide How to install TensorFlow 2.0 on Ubuntu from PyImageSearch blog.

However, you can check the environment.yml or requirements.txt.

Course

Day 1: Face detection with OpenCV and Deep Learning

Commands used:

  • Face detection with Images:

    $ python detect_faces.py --image images/rooster.jpg --prototxt model/deploy.prototxt.txt --model model/res10_300x300_ssd_iter_140000.caffemodel

    $ python detect_faces.py --image images/iron_chic.jpg --prototxt model/deploy.prototxt.txt --model model/res10_300x300_ssd_iter_140000.caffemodel

  • Face detection with Webcam:

    $ python detect_faces_video.py --prototxt model/deploy.prototxt.txt --model model/res10_300x300_ssd_iter_140000.caffemodel

Day 2: OpenCV Tutorial: A Guide to Learn OpenCV

Commands used:

  • OpenCV tutorial:

$ python opencv_tutorial_01.py

  • Counting objects:

$ python opencv_tutorial_02.py --image images/tetris_blocks.png

Day 3: Document scanner

Commands used:

$ python scan.py --image images/page.jpg

Day 4: Bubble sheet multiple choice scanner and test grader using OMR

Commands used:

$ python test_grader.py --image images/test_01.png

Day 5: Ball Tracking with OpenCV

Commands used:

  • Using Video:

    $ python ball_tracking.py --video ball_tracking_example.mp4

  • Using Webcam:

    $ python ball_tracking.py (Note: To see any results, you will need a green object with the same HSV color range was used in this demo)

Day 6: Measuring size of objects in an image with OpenCV

Commands used:

$ python object_size.py --image images/example_01.png --width 0.955

$ python object_size.py --image images/example_02.png --width 0.955

$ python object_size.py --image images/example_03.png --width 3.5

Day 8: Facial landmarks with dlib, OpenCV, and Python

Commands used:

$ python facial_landmarks.py --shape-predictor model/shape_predictor_68_face_landmarks.dat --image images/example_01.jpg

$ python facial_landmarks.py --shape-predictor model/shape_predictor_68_face_landmarks.dat --image images/example_02.jpg

$ python facial_landmarks.py --shape-predictor model/shape_predictor_68_face_landmarks.dat --image images/example_03.jpg

Day 9: Eye blink detection with OpenCV, Python, and dlib

Commands used:

$ python detect_blinks.py --shape-predictor model/shape_predictor_68_face_landmarks.dat --video videos/blink_detection_demo.mp4

Day 10: Drowsiness detection with OpenCV

Commands used:

$ python detect_drowsiness.py --shape-predictor model/shape_predictor_68_face_landmarks.dat --alarm sounds/alarm.wav

Day 12: A simple neural network with Python and Keras

Note: Create a folder structure called /kaggle_dogs_vs_cats/train, download the training dataset Kaggle-Dogs vs. Cats and put the images into train folder.

Command used - Training:

$ python simple_neural_network.py --dataset kaggle_dogs_vs_cats --model output/simple_neural_network.hdf5

Command used - Test:

$ python test_network.py --model output/simple_neural_network.hdf5 --test-images test_images

Day 13: Deep Learning with OpenCV

Commands used:

$ python deep_learning_with_opencv.py --image images/jemma.png --prototxt model/bvlc_googlenet.prototxt --model model/bvlc_googlenet.caffemodel --labels model/synset_words.txt

$ python deep_learning_with_opencv.py --image images/traffic_light.png --prototxt model/bvlc_googlenet.prototxt --model model/bvlc_googlenet.caffemodel --labels model/synset_words.txt

$ python deep_learning_with_opencv.py --image images/eagle.png --prototxt model/bvlc_googlenet.prototxt --model model/bvlc_googlenet.caffemodel --labels model/synset_words.txt

$ python deep_learning_with_opencv.py --image images/vending_machine.png --prototxt model/bvlc_googlenet.prototxt --model model/bvlc_googlenet.caffemodel --labels model/synset_words.txt

Day 14: How to (quickly) build a deep learning image dataset

Commands used:

$ python search_bing_api.py --query "pokemon_class_to_search" --output dataset/pokemon_class_to_search

Day 15: Keras and Convolutional Neural Networks (CNNs)

Command used - Training:

$ python train.py --dataset dataset --model pokedex.model --labelbin lb.pickle

Command used - Testing:

$ python classify.py --model pokedex.model --labelbin lb.pickle --image examples/charmander_counter.png

$ python classify.py --model pokedex.model --labelbin lb.pickle --image examples/bulbasaur_plush.png

$ python classify.py --model pokedex.model --labelbin lb.pickle --image examples/mewtwo_toy.png

$ python classify.py --model pokedex.model --labelbin lb.pickle --image examples/pikachu_toy.png

$ python classify.py --model pokedex.model --labelbin lb.pickle --image examples/squirtle_plush.png

$ python classify.py --model pokedex.model --labelbin lb.pickle --image examples/charmander_hidden.png

Day 16: Real-time object detection with deep learning and OpenCV

Commands used:

$ python real_time_object_detection.py --prototxt model/MobileNetSSD_deploy.prototxt.txt --model model/MobileNetSSD_deploy.caffemodel


Credits to Adrian Rosebrock on http://www.pyimagesearch.com