Posted on Leave a comment

Music Recommendation Based on Facial Expression Sporify api Python

The emotion recognition model is trained on FER 2013 dataset. It can detect 7 emotions. The project works by getting live video feed from web cam, pass it through the model to get a prediction of emotion. Then according to the emotion predicted, the app will fetch playlist of songs from Spotify through spotipy wrapper and recommend the songs by displaying them on the screen.

Features:

  • Real time expression detection and song recommendations.
  • Playlists fetched from Spotify using API.
  • Neumorphism UI for website.

Installation Steps:

Flask:

  • Run pip install -r requirements.txt to install all dependencies.
  • In Spotipy.py enter your credentials generated by your Spotify Developer account in 'auth_manager'. Note: - This is only required if you want to update recommendation playlists. Also uncomment import statement in 'camera.py'.
  • Run python app.py and give camera permission if asked.

Technology Overview:

  1. Keras
  2. Tensorflow
  3. Spotipy
  4. flask
  5. Flask

Dataset:

The dataset used for this project is the famous FER2013 dataset. Models trained on this dataset can classify 7 emotions. The dataset can be found here.

Note that the dataset is highly imbalanced with happy class having maxiumum representation. This might be a factor resulting in okaysish accuracy after training.

Model Architecture:

  • The model architecture is a sequential model consisting of Conv2d, Maxpool2d, Dropout and Dense layers:
  1. Conv2D layers throughout the model have different filter size from 32 to 128, all with activation 'relu'
  2. Pooling layers have pool size (2,2)
  3. Dropout is set to 0.25 as anything above results in poor performance
  4. Final Dense layer has 'softmax' activation for classifying 7 emotions
  • Used 'categorical_crossentropy' for loss with 'Adam' optimizer with 'accuracy' metric

Note:- Tried Implementing various other models like VGG16 but accuracy was far too low. This model architecture gives good enough accuracy. A bit more tinkering with hyper parameters might lead to a better accuracy

Image Processing and Training:

  • The images were normalised, resized to (48,48) and converted to grayscale in batches of 64 with help of 'ImageDataGenerator' in Keras API.
  • Training took around 13 hours locally for 75 epochs with an accuracy of ~66 %

Issue:

The app in current state can't be deployed on web as:

  1. Opencv tries to open the camera on whatever device the app is running on. Code in current state makes use of webcam if available on server side not client side. So when app is run locally on a laptop Video Streaming through webcam is possible. But if it's deployed to a cloud, the app is stored in a data center somewhere which obviously doesn't have web camera connected to it and hence it doesn't work.

Further Work:

  1. Instead of CSVs, create a databse and connect it to application. The DB will fetch songs for recommendations and new songs can be updated directly onto database
  2. Add a feature which will update specified playlists for better and more recent recommendations, a specific day over a fixed duration say every sunday and append it to database
  3. Directly play the song or redirect to the song on Spotify when user clicks on it.
  4. Rewrite code such that Video Streaming is done on client side instead of server side so as it make the app deployable

Note: Model accuracy is not that great. It is ~66%. Further training and finetuning required. May try Vision Transformer Model.

Download Link

Posted on Leave a comment

Object detection Python Machine Learning Web App

Buy Now ₹1501

This Project is a web application built with the python-flask framework, that uses YOLO weights to detect the Objects. Using YOLO object detection algorithm.

YOLOv5  is a family of object detection architectures and models pretrained on the COCO dataset, and represents Ultralytics open-source research into future vision AI methods, incorporating lessons learned and best practices evolved over thousands of hours of research and development.

YOLO an acronym for 'You only look once', is an object detection algorithm that divides images into a grid system. Each cell in the grid is responsible for detecting objects within itself.

YOLO is one of the most famous object detection algorithms due to its speed and accuracy.

How Does it Work

To put it simply, the back-end receives an image from a user and runs an object detection algorithm on the image (YOLO v3). Once the predictions are obtained, they are drawn on the image, which is, then, sent back to the user (to the front-end). In this README I provided the environment setup for the computing machine, which runs the detection algorithm. However, setting up the back-end machine is just the tip of an iceberg. The whole engineering pipeline includes many other steps full of caveats. If you are interested in the details of each step, checkout How Did You Build Your Object Detector?.

Technology Used in the project :-

  1. We have developed this project using the below technology
  2. HTML : Page layout has been designed in HTML
  3. CSS : CSS has been used for all the desigining part
  4. JavaScript : All the validation task and animations has been developed by JavaScript
  5. Python : All the business logic has been implemented in Python
  6. Flask: Project has been developed over the Flask Framework

Supported Operating System :-

  1. We can configure this project on following operating system.
  2. Windows : This project can easily be configured on windows operating system. For running this project on Windows system, you will have to install
  3. Python 3.7, PIP, Django.
  4. Linux : We can run this project also on all versions of Linux operating systemMac : We can also easily configured this project on Mac operating system.

Installation Step : -

  1. python 3.7.0
  2. command 1 - python -m pip install –-user -r requirements.txt
  3. command 2 - python webapp.py

 

Posted on Leave a comment

Food recommends based on your mood python django

It recommends food based on your mood. Also, it orders the recommendation list of restaurants using machine learning combining the user ratings, distance and cost for two, hence offering the most optimal choice.

This is a web application which recommends you food based on your mood using machine learning and delivers it to your doorstep.

We understand that the first thought that comes to our mind when we come across a food suggesting and delivery app, is obviously- "HOW IS THIS SOMETHING NEW?"

We'll explain. This web application is based on an absolutely new idea and is completely different from the traditional food delivery websites.

Firstly, it suggests a list of restaurants combining three basic parameters i.e cost, user rating and distance, all at the same time. Hence, it offers you the most optimal choice available, saving you the trouble of choosing the best restaurant for you using individual filters on traditional apps. The most commonly used apps allow you to choose a restaurant on the basis of only a single critera at a time, but we recommend you the nearest, most affordable and best quality restaurants, thereby catering to all your demands at the same time without having you to compromise on any of them.

Secondly, we understand that there are times when you are unable to decide what to order. Infact, we have personally faced this dilemma a hundred times when we've spent hours scrolling a food delivery app, thinking about the most important question which seems to have been given the least importance uptil now , "WHAT TO EAT?" MoodieFoodie helps you to choose a food item for all your moods, be it a happie, a sadie, an angrie, a dehydratie, a depressie, an excitie or an unwellie mood ;") Whatever be your mood, we can always suggest you food!

The app uses previous user moods and their respective food orders to suggest the best food choice for you.

Thirdly, we offer several other options for food ordering like the list of food items ordered the most at a particular time of the day or the restaurants that can order food in the minimum time if you're really hungry or the top searched food items, etc.

And lastly, this app allows you to order the food items that traditional food delivery apps don't. You can order tea, juices or even chocolates. For this, we have a separate "Wanna sell on MoodieFoodie" option for small scale sellers like small tea shops, women who make homemade chocolates or other small scale setups who wish to sell online.

Working and Implementation

  • The major feature of our project which sets it apart from the traditional apps of its kind needs three parameters to order the list of recommended restaurants with the highly recommended restaurant at the top. These three features are the user ratings, cost for two people and the restaurant's distance from the user.
    • Whenever any user orders from a certain restaurant, he/she is asked to rate the restaurant out of 5. The rating of that restaurant is then dynamically updated using the mathematical average of the current rating and the new rating. This computation also requires the storage of the number of ratings for a particular restaurant.
    • The cost for two people is permanently stored initially when a restaurant is added to the database.
    • To compute the distance of the user from a restaurant, we have stored the geocode of all the restaurants in the database. We have used the Google Maps API to extract the user's geocode and hence compute his/her distance.

    A very simple model of machine learning, that is logistic regression is used to implement the same. When the user chooses a certain restaurant among the recommended restaurants, then his/her choice to select a certain restaurant and discard other restaurants is used to train the model which only increases the accuracy of the algorithm.

  • The USP of our project, which is recommending the users food items based on their mood works on previous users' inputs only. Whenever any user orders from a certain restaurant, he/she is asked to specify what his/her mood was before he/she had ordered. His/Her order and mood is used to train the algorithm which gradually increases its accuracy.
  • To help small businesses expand their reach by selling on our application, we have simply provided them with a form wherein they can fill out the necessary details.

Installation Requirements

  1. Framework : Django, Version : 1.11.17
  2. Language : Python, Version : 3.6.3
  3. To run it, you need to install some packages and libraries as follows:
  4. Bootstrap 3
  5. numpy
  6. sklearn
  7. bcrypt
  8. django[argon]

Install dependencies directly from requirements.txt in pip installation,
To install these, write this on the command line terminal:
"pip install -r requirements.txt"

Run Project :-

 

  1. Enter command: "pip install -r requirements.txt"
  2. Enter the command: "python manage.py runserver"
  3. Copy the url and paste it in your favourite browser window.

Download Project

Posted on Leave a comment

Forest wildfire detection from satellite images using Deep Learning

Buy Now ₹1501

In this project, we detect forest wildfire from given satellite images.I have used CNN, with a training dataset of 2000 images.

Model training

Refer to the research.ipynb jupyter notebook to know the steps taken for model development and algorithm.

Technology Used:-

  • We have developed this project using the below technology
  • HTML : Page layout has been designed in HTML
  • CSS : CSS has been used for all the desigining part
  • JavaScript : All the validation task and animations has been developed by JavaScript
  • Python : All the business logic has been implemented in Python

Supported Operating System

  • We can configure this project on following operating system.
  • Windows : This project can easily be configured on windows operating system. For running this project on Windows system, you will have to install
  • Python 3.7, PIP, Flask.
  • Linux : We can run this project also on all versions of Linux operating systemMac : We can also easily configured this project on Mac operating system.

Installing and running this app:

  1. Requirements: Use pip install to download following packages
  2. Tensorflow and Keras
  3. Flask
  4. WSGI server (see the error message when running Flask app, and install all specified packages)
  5. running the app:
  6. run command: python app.py in the project folder
  7. Once the server starts, open browser, the app runs on http://127.0.0.1:5000/
  8. "test satellite images" folder contains some satellite images that you can upload to check the working of this application.

Read Before Purchase  :

  1. One Time Free Installation Support.
  2. Terms and Conditions on this page: https://projectworlds/terms
  3. We offer Paid Customization installation Support
  4.  If you have any questions please contact  Support Section
  5. Please note that any digital products presented on the website do not contain malicious code, viruses or advertising. You buy the original files from the developers. We do not sell any products downloaded from other sites.
  6. You can download the product after the purchase by a direct link on this page.
Posted on

Road Lane Detection Computer Vision Python Flask Web app

Buy Now ₹1501

Road Lane Detection Computer Vision Python Flask Web app. Lane Detection on Road Images which includes advanced image processing to detect lanes irrespective of the road texture, brightness, contrast, curves etc. Used Image warping and sliding window approach to find and plot the lane lines.

The Steps Involved are:

  1. Computing the camera calibration matrix and distortion coefficients given a set of chessboard images. (9x6)
  2. Apply a distortion correction to raw images.
  3. Use color transforms, gradients, etc., to create a thresholded binary image.
  4. Apply a perspective transform to rectify binary image ("birds-eye view") to get a warped image.
  5. Detect lane pixels and fit to find the lane boundary.
  6. Warp the detected lane boundaries back onto the original image.

Python Packages Used:

  1. Flask==1.1.0
  2. gunicorn==19.6.0
  3. pandas==0.22.0
  4. numpy==1.11.2
  5. scipy==0.18.1
  6. scikit-learn>=0.18
  7. opencv-python==3.1.0.4

Pipeline:

Camera Calibration:

The first step in the pipeline is to undistort the camera. Some images of a 9x6 chessboard are given and are distorted. Our task is to find the Chessboard corners an plot them. For this, after loading the images we calibrate the camera. Open CV functions like findChessboardCorners(), drawChessboardCorners() and calibrateCamera() help us do this.

Undistortion of Input Image:

The images uploaded are initially undistorted using cv2.undistort() which takes in an image and returns the undistorted one.

Color transforms, gradients or other methods to create a thresholded binary image:

Detecting edges around trees or cars is okay because these lines can be mostly filtered out by applying a mask to the image and essentially cropping out the area outside of the lane lines. It's most important that we reliably detect different colors of lane lines under varying degrees of daylight and shadow. So, that our self driving car does not become blind in extreme daylight hours or under the shadow of a tree.

I performed gradient threshold and color threshold individually and then created a binary combination of these two images to map out where either the color or gradient thresholds were met called the combined_binary in the code.

Perspective Transform:

Perspective Transform is the Bird's eye view for Lane images. We want to look at the lanes from the top and have a clear picture about their curves. Implementing Perspective Transform was the most interesting one for me. I used values of src and dst as shown below:

src = np.float32([[590,450],[687,450],[1100,720],[200,720]])

dst = np.float32([[300,0],[900,0],[900,720],[300,720]])

Also, made a function warper(img, src, dst) which takes in the Binary Warped Image and return the perspective transform using cv2.getPerspectiveTransform(src, dst) and cv2.warpPerspective(img, M, img_size, flags=cv2.INTER_NEAREST).

Read Before Purchase  :

  1. One Time Free Installation Support.
  2. Terms and Conditions on this page: https://projectworlds/terms
  3. We offer Paid Customization installation Support
  4.  If you have any questions please contact  Support Section
  5. Please note that any digital products presented on the website do not contain malicious code, viruses or advertising. You buy the original files from the developers. We do not sell any products downloaded from other sites.
  6. You can download the product after the purchase by a direct link on this page.

 

Posted on

Android Human Activity Recognition Tensorflow Project with Source Code

Buy Source Code ₹2501

This is the source code for a sensor-based human activity recognition android app. The model has been built with Keras deep learning library. The classifier has been trained and validated on "Sensors Activity Dataset" by Shoaib et al. which is available for download from here. The dataset contains data for seven activities of daily living including biking, downstairs, jogging, sitting, standing, upstairs, and walking. An LSTM learner has been employed for classification task which achieved an accuracy of 98% on valdiation data. Finally the model has been exported in protobuf format to be used in android app for on-device inference. You can check out the jupyter notebook that goes along to follow all the steps which have been taken to build and export the model.

Dependencies

  1. Python 3.6
  2. Tensorflow 1.13.1
  3. Keras

Android Requirements :

  1. Android Studio Latest.
  2. Grandle version 4.2.2, 7.0.2
  3. Emulator

Read Before Purchase  :

  1. One Time Free Installation Support.
  2. Terms and Conditions on this page: https://projectworlds/terms
  3. We offer Paid Customization installation Support
  4.  If you have any questions please contact  Support Section
  5. Please note that any digital products presented on the website do not contain malicious code, viruses or advertising. You buy the original files from the developers. We do not sell any products downloaded from other sites.
  6. You can download the product after the purchase by a direct link on this page.
Posted on

Netflix Movie Recommendation System Project on Machine Learning

A flask web-app which can be used to get recommendations for a tv-show/movie, the app recommends a list of media according to the input.

Problem Description

Netflix is all about connecting people to the movies they love. To help customers find those movies, they developed world-class movie recommendation system: CinematchSM. Its job is to predict whether someone will enjoy a movie based on how much they liked or disliked other movies. Netflix use those predictions to make personal movie recommendations based on each customer’s unique tastes. And while Cinematch is doing pretty well, it can always be made better.

Now there are a lot of interesting alternative approaches to how Cinematch works that netflix haven’t tried. Some are described in the literature, some aren’t. We’re curious whether any of these can beat Cinematch by making better predictions. Because, frankly, if there is a much better approach it could make a big difference to our customers and our business.

Problem Statement

Netflix provided a lot of anonymous rating data, and a prediction accuracy bar that is 10% better than what Cinematch can do on the same training data set. (Accuracy is a measurement of how closely predicted ratings of movies match subsequent actual ratings.)

Data Overview

Source of Data : https://www.kaggle.com/netflix-inc/netflix-prize-data

Data files : combined_data_1.txt combined_data_2.txt combined_data_3.txt combined_data_4.txt movie_titles.csv

The first line of each file [combined_data_1.txt, combined_data_2.txt, combined_data_3.txt, combined_data_4.txt] contains the movie id followed by a colon. Each subsequent line in the file corresponds to a rating from a customer and its date in the following format:

CustomerID,Rating,Date

MovieIDs range from 1 to 17770 sequentially. CustomerIDs range from 1 to 2649429, with gaps. There are 480189 users. Ratings are on a five star (integral) scale from 1 to 5. Dates have the format YYYY-MM-DD.

Download Source Code

Posted on

Artificial Intelligence Project Handwritten Digits Recognition

The handwritten digit recognition is the capability of computer applications to recognize the human handwritten digits. It is a hard task for the machine because handwritten digits are not perfect and can be made with many different shapes and sizes. The handwritten digit recognition system is a way to tackle this
problem which uses the image of a digit and recognizes the digit present in the image. Convolutional Neural Network model created using PyTorch library over the MNIST dataset to recognize handwritten digits .

Handwritten Digit Recognition is the capability of a computer to fete the mortal handwritten integers from different sources like imagespaperstouch defenses, etc, and classify.  them into 10 predefined classes (0-9). This has beenContent of bottomlessexploration in the field of deep literacyNumber recognition has numerous operations like number plate recognition, postal correspondence sorting, bank check processing, etc . (2). In Handwritten number recognition,   we face numerous challenges . because of different styles of jotting of different peoples as it .  is not an Optic character recognition. This exploration provides
comprehensive comparison between different machine literacy and deep literacy algorithms for the purpose of handwritten number recognition. For this, we've used Support . Vector Machine, Multilayer Perceptron, and Convolutional . Neural Network. The comparison between these algorithms is carried out on the base of their delicacycrimes, and .testing- training time corroborated by plots and maps that have been constructed using matplotlib for visualization.

Datasets Details : -

The MNIST dataset is an acronym that stands for the Modified National Institute of Standards and Technology dataset.

It is a dataset of 60,000 small square 28×28 pixel grayscale images of handwritten single digits between 0 and 9.

The task is to classify a given image of a handwritten digit into one of 10 classes representing integer values from 0 to 9, inclusively.

It is a widely used and deeply understood dataset and, for the most part, is “solved.” Top-performing models are deep learning convolutional neural networks that achieve a classification accuracy of above 99%, with an error rate between 0.4 %and 0.2% on the hold out test dataset.

Handwritten character recognition is an extensive exploration area that formerly contains detailed ways of perpetration which include major literacy datasets, popular algorithms,  . features scaling and point birth styles. MNIST dataset ( Modified National Institute of Norms and Technology database) is the subset of the NIST dataset which is a combination of two of NIST’s databases Special.  Database 1 and Special Database 3. Special Database 1 and Special Database 3 correspond of integers written by high academy scholars and workers of the United States Census Bureau,.  independently. MNIST contains a aggregate of handwritten . number images (- training set and- test set) in .  28x28 pixel bounding box andanti-aliased. All these images have corresponding Y values which apprises what the number

Implementation Steps : -

  1. Import the libraries and load the dataset
  2. Preprocess the data
  3. Create the model
  4. Train the model
  5. Evaluate the model
  6. Create GUI to predict digits

Requirements .txt file :-

  1. torch
  2. numpy==1.16.5
  3. flask==1.1.1
  4. gunicorn
  5. matplotlib==3.3.1
  6. pillow==6.2.0
  7. flake8
  8. pip
  9. pylint

Download Source Code