🌱 Classification pipeline for plants
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea
arduino
docs
python-package
src
tests
.bumpversion.cfg
.gitignore
.travis.yml
CHANGELOG.md
LICENSE
MANIFEST.in
Makefile
README.md
bumpversion.sh
requirements_dev.txt
setup.cfg
setup.py
tox.ini

README.md

🌱 plantnotplant 🍂

Plant classification subsystem

Hacking towards an automous AI rover hardware and software platform classify plants!

Research plan:

  1. Deep learning pipeline for state transitions
  • Recognize center of plant and perform classificaiton
  • Recognize end of track without relying on hardware
  1. Deep learning pipeline for data labeling
  • From hand-written label, recognize species of plant
  • From hand-written label, apply data labels
    • Height of plant
    • Number of plants
    • ??
  1. Deep learning classification
  • Collect N camera positions at a single plant
  • Is 3D CNN better, or just a single position?

Botony:

Ocimum × africanum, (Thai Basil)

Origanum vulgare (Oregano)

Hardware:

  1. Rasperry-pi as master
  • Camera: Night / Standard / Fisheye?
  • Python stack
  • Keras/Tensorflow
  • Open CV
  1. 2-axis mounted camera controlled by Arduino
  • Stepper motor for linear
  • Servo for camera scanning
Motor 1.7 A / stage

DRV 8825 max continuous current: 1.5 A

Target current: 1.3 A (derated)

VREF = Current limit / 2 = 0.65V

SEE: https://forum.arduino.cc/index.php?topic=415724.0

Communication protocols:

Arduino slave, connected by I2C bus to RPi master.

Bluetooth PS3 controller.

WiFi networking.

Software:

Arduino motor control software link
Onboard systems: MuleAI

Tensorflow 1.8.0

Numpy 1.14.4

Offline training: corral

3D CNN


Table of Contents


Features

TODO

Prerequisites

TODO

Quickstart

...

Environment variables

TODO

...

Code style

. ​

Testing

Automatic tests are setup via Travis, executing tox. Our test use pytest framework.

New Version

The bumpversion.sh script helps to bump the project version. You can execute the script using as first argument {major|minor|patch} to bump accordingly the version.

License

todo