/Auto-Learn

An Android app that preforms vehicle classification using machine-learning image recognition

Primary LanguageJupyter NotebookMIT LicenseMIT

Auto-Learn Introduction

Auto-Learn is a machine learning Android application for our Fundamentals of Software Engineering class that we took in Spring 2020.

There are six possible classifications for Auto-Learn to classify your image:

         * Convertible
  
         * SUV
         
         * Truck
         
         * Van
         
         * Saloon/Sedan
         
         * Coupe

Collaborators to this repository include:

Edrik Aguilera (https://github.com/driko-development)

William Anderson (https://github.com/willpanderson)

Ryan Laurents (https://github.com/laurentsR)

Jonathan Padilla-Vences (https://github.com/jonathanpv)

GitHub was used to host our git repository, it contains the following items:

  • AutoLearnApp - Android studio project
  • Documentation - Project Documentation
  • Machine Learning - Dataset and ML material
  • README.md - Project description and instructions

Please follow the instructions below to get started testing our application. When testing our application ensure that the minimum Android version is set to 7.0.0 Nougat (API level 24). We recommend using a Nexus 5X emulator for testing.

Physical devices that have been used to test our application include:

  • Galaxy Tab A 8.0
  • Galaxy S8 Active
  • Galaxy S7 Edge

AutoLearnApp

Prerequisites

Cloning the repository

Windows

From the cmd prompt or PowerShell type in the instruction git clone https://github.com/willpanderson/Auto-Learn-Pro.git

Verify that you have the contents of the repository by listing the directory

Linux

From the terminal type in the instruction git clone https://github.com/willpanderson/Auto-Learn-Pro.git

Verify that you have the contents of the repository by listing the directory

Launching the Android Application

  1. Launch Android Studio

  2. Select Open an Existing Android project and navigate to the directory listed before

  3. Click on the Android project denoted by the green Android Logo and hit OK

  4. Load an emulated device or connect a device (Nexus 5x recommended)

Instructions for Emulated Device
  1. From the Android Studio application, up at the top select No Devices

  2. Select Open AVD Manager

  3. From Device Manager select Create Virtual Device

  4. Select a device (Nexus 5X for testing purposes) and click Next

  5. Choose Android version (Nougat 7.0 minimum) and click Next

  6. Keep default settings and press Finish

  7. If the virtual device was created it will be displayed in the Device Manager



  1. Select Run 'app' denoted by the Green arrow (Shift+F10)

  2. For emulated devices the emulator will launch and the Auto-Learn Pro application will be installed

Documentation

  • UML diagrams - located inside of Increment1_UML
  • System Requirements Analysis - located inside of Increment2_SRA
  • Test Plan - located inside of Increment3_TPL
  • Final Documentation - located in Increment4_Final Binder

Machine Learning

Data Set

Our dataset consists of 5000+ images in a Google Shared Drive folder named car_images which contains six folders representing our six classifications. This is the dataset that was used to train the machine learning model generated by FirebaseAutoML Vision Edge API

Accessing our Machine Learning Code

Contains a Google Collab with the code for our custom machine learning model. This model is currently being developed. Our current work can be found on our Google Shared Drive

  • To get started click on the autolearn_model.ipynb in the Shared Drive.

TF_Model

  • autolearn_model.ipynb - local copy of the colab (must use Google Colab)
  • labels.txt - Text file contains the six classifications of vehicles
  • model.tflite - The current custom model using the code in the Colab
  • model_IO.py - python script to determine the input for the model in Android