Skip to content

Latest commit

 

History

History
51 lines (44 loc) · 2.4 KB

README.md

File metadata and controls

51 lines (44 loc) · 2.4 KB

trashAI

Felix Schaefer, 5638170; Maximilian Graf, 9114848

Repository for Course AI in WiSe 2022 at DHBW Mannheim.

Overview

Ziel war es, mit einm RaspberryPi aufgenommene Fotos lokal zu klassifizieren. Dafür wurde mit Tensorflow ein Image Classifier trainiert und anschließend in ein Tensorflow lite Modell umgewandelt. Diese wurde auf dem RaspberryPi ausgeführt.

Vorgehen

  • Ein passender Trainingsdatensatz wurde online gesucht (Quelle)
  • Training eines eigenen CNNs, dabei wurde berücksichtigt und getestet: (EigenesModel.ipynb)
    • verschiedene Modell-Architekturen (Layer Arten und Aufbau)
    • Drop-outs
    • Image Augmentation
  • Transfer Learning auf Grundlage des ResNet50 (TransferLearning.ipynb)
  • Konvertierung in Tensorflow lite Modell
  • Hardware Setup: RaspberryPi mit Kamera und GPIO Button einrichten
  • Script zur Aufnahme von Bilder mit RapsberryPi
  • Tensorflow lite Model für Vorhersage verwendet

Model Perfomance

Eigenes Model: ca. 65% val accuracy
Transfer Learning: ca. 85% val accuracy

Hardware

  • Raspberry Pi
  • Camera Module
  • lots of braincells

Getting started

  • Extract ./data/dataset-resized.zip into ./data/
  • Create new folder ./images/
  • Prepare python enviroment according to requirements.txt
  • Run Notebook of your choice, set attributes according to your desired exports (eg. Images, Model, TF_lite model, ...)
    • For custom model run EigenesModel.ipynb
    • For transfer learning run TransferLearning.ipynb
  • Conver the choosen model to TFlite by setting convert_model = False in the corresponding notebook block
  • For RaspberryPi deployment see: https://github.com/maximilian-graf2019/trashAI_pi

Resources

Added Notes: