Maix LogoClassifier Save

A simple logo classifier developed using Maixduino framework and PlatfomIO, to run on K210 MCU on Sipeed's Maix dev board.

Project README

Maix-LogoClassifier

A simple logo classifier developed using Maixduino framework and PlatfomIO, to run on K210 MCU on Sipeed's Maix dev board. I trained my own ML model, using transfer learning from MobileNet v1.

Demo video

Click the thumbnail

Demo video thumbnail

Prerequisites

  • PlatformIO
  • platform-kendryte210. Should be installed automatically
  • Kendryte nncase for NeuralNet optimization, download from here. Unzip anywhere.
  • If you're like me, I'll use VSCode and install PlatformIO extension. Maixduino is available for Arduino IDE, but real programmer knows what they should use.

Train your model

  • Install Tensorflow, Keras, and other stuffs. RTFM.
  • As the trained model leverages MobileNet, apparently we need to adjust it to be compatible with K210. Replace mobilenet.py file on site-packages/keras_applications (don't forget to backup) with the one in this repo. site-packages folder may exist on several places depends on your environment. If you use virtualenv, it should be under you_virtualenv_dir/lib/python3.x
  • Take a look at training/mbnet_keras.py file. Adjust the constants, and run it.
  • Convert the generated h5 model file by running training/convert.sh script with the h5 model file as parameter. Eg. ./convert.sh logoclassifier.h5
  • Copy the generated kmodel file to src
  • Adjust the labels on src/names.cpp file

(More complete steps will be coming soon)

Credit

  • Some code and steps are inspired by this useful tutorial. Thanks for your support @AIWintermuteAI
  • MobileNet class is adapted from MBNet_1000 class from Maixduino example
Open Source Agenda is not affiliated with "Maix LogoClassifier" Project. README Source: andriyadi/Maix-LogoClassifier
Stars
25
Open Issues
0
Last Commit
5 years ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating