Giter Club home page Giter Club logo

machine_learning_projects's Introduction

Machine_learning_projects

This repository contains my projects relating to Machine Learning. To view my notebook directly from Github, you can use nbviewer. Belows are brief description and demonstration of my projects:

  1. Facemask detection with Deeplearning and OpenCV
  2. Traffic signs detection with YOLOv4
  3. Gun detection with YOLOv3
  4. Image caption generator
  5. License Plate Detection and Recognition
  6. Car brand classification with EfficientNet (70% accuracy)
  7. Object classisfication with YOLOv3
  8. Detect COVID-19 from X-ray images
  9. Traffic signs classification with German Traffic Sign dataset on Kaggle (97% accuracy)
  10. Age prediction
  11. Dog and cat classification (95% accuracy)
  12. Fashion classification with fashion_mnnist datasets from Keras (91% accuracy)

In this project, I have conducted several methods as below:

  • Train a model to classifiy "No mask" and "Mask" status with MobileNets. Accuracy > 98%
  • Use pre-train Face detection model to catch faces


  • The YOLOv4 traffic sign detector was trained with darknet and deployed with OpenCV. This article demonstrates more details about the procedure used to train this detector.


  • Dataset: 3k images of hand gun and their label annotation (bounding box coordination)
  • Model was trained on Colab with 900 epochs using Yolov3.



  • The idea of this project is to create a Deep Learning model that deliver textual description from given photographs. Thus a combination of different techniques from both Computer Vision and Natural Langue Processing are conducted.
  • I used pre-trained weight on imagenet dataset of Resnet50 architecture to extract training features. Later LSTM and Reset50 are combined as one deep CNN to train this caption generator model.
  • The dataset used for this dataset can be downloaded from Kaggle.

  • In this project, I created a pipeline that detect and read car license plate in Europe. The piple contains three main statges:
  1. Detect and crop the region of License Plate from rear care image using WPOD model

  2. Using common OpenCV techniques such as blur, threshold, findContour to crop all Plate's digits

  3. Using a Nvidia model which was trained to recognize plate digits.


  • Dataset: Stanford car dataset which contains of 16k images from 196 classes of car brands
  • Model was trained with fine-tune pre-trained EfficientNet and acquire the accuracy of 73%.


  • Dataset: COCO dataset is a large-scale object-detection dataset which contains of approximately 330K images.
  • In this project, I applied YOLOv3 algorithm on the dataset of COCO and pass an image and video through. The results can be seen as below figures:


The dataset of this project is share by Dr. Joseph Pau Cohen from University of Montreal in an attempt to predict and understand the infection. His repository where I downloaded the dataset can be found here.

Below are some key points regarding this project:

  1. The model was train in the dataset of 25 X-ray images of. Covid patients and 25 X-ray images of normal patients.
  2. The model uses Resnet50 as transfer learning model.
  3. The accuracy of this model is 90%.
  4. The result are for reference only.


  • Dataset: The Kaggle German Traffic Sign dataset consists of 40 classes and more than 50,000 images in total.
  • The mode created in this project contains 478,763 parameter and was trained for 20 epochs. The final accuracy after testing with new test data is 96.8%


  • In this project, I trained my a Age classifier with EfficientNet which was claimed to achiever better accuracy than than previous ConvNets. I applied transfer learning with imagenet pre-trained weight and add custom layer. During training, I noticed a significant over-fitting trend, thus I added more Dropout layer and apply several data augmentation techniques.

  • I have created my own dataset consist of 51048 images divided among 9 age groups. However during training process, I realize my dataset is not a good training source since it didn't distributed evenly among age groups. In particularly, my classifier is bias toward the age group of 33-45 and 60 above.

  • I also realized a noticeable pattern which can be related to humans' common sens in age classifying. My classifier considers features such as lighter skin, no beard, black hair, etc as indications for younger age while features such as wrinkles, white hair and beards, etc usually return older age-group results.

  • After long hours of training and tuning, I can only manage to achieve maximum 50% accuracy on my validation set, which is not a good result. I also tried with other popular networks as MobileNets, VGG16, ResNet50, Xcepticon but the accuracy were much worse than EfficientNet.

  • My dataset can be downloaded from here.



  • Dataset: this datset contains 25,000 images of dog and cat collected from Internet.
  • My customized model contains 12 layers had achieved accuracy 87.8%. Used transfer learning with pre-trained Resnet50, I have improved my model accuracy up to nearly 98%.


  • Dataset: The fashion_mnist datasets of Keras contains of 60,000 examples and a test set of 10,000 examples
  • My model consists of 597,786 parameters and was trained for 10 epochs. The accuracy is nearly 95%


machine_learning_projects's People

Contributors

quangnhat185 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.