- Notifications
You must be signed in to change notification settings - Fork0
EppuHeilimo/AIScouts
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
AIScouts is a team of two members, who try to map the possibilities of machine learning and computer vision.
The main challenge of the team is to create a sensor which detects cars on a parking place and counts the free parks.
The parking place challenge is done withTensorflow and Python 3. To create fast prototypes we usetflearn which is a higher-level API for Tensorflow.
The project is part ofWimma lab at JAMK University of Applied Sciences.
Name | Area of expertise | Github | |
---|---|---|---|
Eppu Heilimo | Programming | ![]() | ![]() |
Toni Tanninen | IoT | ![]() | ![]() |
Parking place detection in action.
More documentations in theWiki and in the repository directories.
More information about each part of the project can be found in the directories.
There are two versions of the detection system:
This version runs completely on raspberry pi but requires configuration by the user to determine where the parks are. This is done by ConfigureClient.py which allows the user to connect to the raspberry pi through TCP server-client system. ConfigureClient can also collect images from the configured parks (Used as training data). This version uses Pillow to manipulate the images.
Runs on a server, which fetches images from an IP camera. This version uses OpenCV 2 to manipulate the images.
We usedRaspberry PI as an IP Camera.
MachineLearning directory has our training scripts and model class. The model class describes the neural network model which can be saved and loaded in different scripts without writing the model again.
There's a simple version (rasp_model.py) and full version (model.py).
The full version uses OpenCV and simple version uses Pillow. Simple version has neither train method nor test methods.The simple version should be used if you only want to load a model and predict, not train it.
The model.py also has an implementation of deep convolutional generative adversarial network, which can generate images (bad quality) from your datasets.
Robotics directory has BB-8 (Sphero) toy robots control scripts and a custom robot (Raspberry Pi) control script.
Utils contains all helper tools we used, mostly scripts
Some dependancy installation scripts.
On raspberry pi:
# Install python3sudo apt-get install python3 python3-dev# Install build dependanciessudo apt-get updatesudo apt-get upgrade -ysudo apt-get install -y build-essential cmake python3-pip python3-dev cmake libjpeg8-dev# Enable camerasudo raspi-config # -> Interfacing options -> Camera -> Enable# install dependanciessudo pip3 install numpy pickle tqdm json picamera# install tensorflow (https://github.com/samjabrahams/tensorflow-on-raspberry-pi)wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.1.0/tensorflow-1.1.0-cp34-cp34m-linux_armv7l.whlsudo pip3 install tensorflow-1.1.0-cp34-cp34m-linux_armv7l.whl# If you get an error on import tensorflow:sudo pip3 uninstall mocksudo pip3 install mock# Install Pillow and tflearnsudo pip3 install Pillowsudo pip3 install git+https://github.com/tflearn/tflearn.git# Clone this repositorygit clone https://github.com/MystiCons/AIScouts# Run RaspberryVersion/rasp_run_detection.pycd AIScoutspython3 RaspberryVersion/rasp_run_detection.py
On config pc:
# Install python3sudo apt-get install python3 python3-dev# Install build dependanciessudo apt-get updatesudo apt-get upgrade -ysudo apt-get install -y build-essential cmake python3-pip python3-dev cmake libjpeg8-dev# install dependanciessudo pip3 install numpy pickle json tqdm# install tensorflow (https://github.com/samjabrahams/tensorflow-on-raspberry-pi)wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.1.0/tensorflow-1.1.0-cp34-cp34m-linux_armv7l.whlsudo pip3 install tensorflow-1.1.0-cp34-cp34m-linux_armv7l.whl# If you get an error on import tensorflow:sudo pip3 uninstall mocksudo pip3 install mock# Install Pillow and tflearnsudo pip3 install Pillow sudo pip3 install git+https://github.com/tflearn/tflearn.git
Usage guide for raspberry versionhere