All Projects → NanoNets → Raspberrypi Objectdetection Tensorflow

NanoNets / Raspberrypi Objectdetection Tensorflow

Object Detection using TensorFlow on a Raspberry Pi

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Raspberrypi Objectdetection Tensorflow

Deepcamera
Open source face recognition on Raspberry Pi. SharpAI is open source stack for machine learning engineering with private deployment and AutoML for edge computing. DeepCamera is application of SharpAI designed for connecting computer vision model to surveillance camera. Developers can run same code on Raspberry Pi/Android/PC/AWS to boost your AI production development.
Stars: ✭ 757 (+414.97%)
Mutual labels:  object-detection, raspberry-pi
Yoloncs
YOLO object detector for Movidius Neural Compute Stick (NCS)
Stars: ✭ 176 (+19.73%)
Mutual labels:  object-detection, raspberry-pi
Lib Python
Blynk IoT library for Python and Micropython
Stars: ✭ 140 (-4.76%)
Mutual labels:  raspberry-pi
Docker Unms
This image is no longer maintained: https://github.com/oznu/docker-unms/issues/53
Stars: ✭ 145 (-1.36%)
Mutual labels:  raspberry-pi
Iterdet
[S+SSPR2020] IterDet: Iterative Scheme for Object Detection in Crowded Environments
Stars: ✭ 143 (-2.72%)
Mutual labels:  object-detection
Astroberry Server
Astroberry Server is a ready to use system for Raspberry Pi for controlling all your astronomy equipment
Stars: ✭ 141 (-4.08%)
Mutual labels:  raspberry-pi
Nogo
A cross-platform network-wide ad/site blocker with a simple web control panel.
Stars: ✭ 143 (-2.72%)
Mutual labels:  raspberry-pi
Rfoutlet
Control 433Mhz Rf power outlets from a Raspberry Pi
Stars: ✭ 140 (-4.76%)
Mutual labels:  raspberry-pi
Openauto
AndroidAuto headunit emulator
Stars: ✭ 1,926 (+1210.2%)
Mutual labels:  raspberry-pi
Tensorflow Anpr
Automatic Number (License) Plate Recognition using Tensorflow Object Detection API
Stars: ✭ 142 (-3.4%)
Mutual labels:  object-detection
Bmw Labeltool Lite
This repository provides you with a easy to use labeling tool for State-of-the-art Deep Learning training purposes.
Stars: ✭ 145 (-1.36%)
Mutual labels:  object-detection
Lacmus
Lacmus is a cross-platform application that helps to find people who are lost in the forest using computer vision and neural networks.
Stars: ✭ 142 (-3.4%)
Mutual labels:  object-detection
Raspberryturk
The Raspberry Turk is a robot that can play chess—it's entirely open source, based on Raspberry Pi, and inspired by the 18th century chess playing machine, the Mechanical Turk.
Stars: ✭ 140 (-4.76%)
Mutual labels:  raspberry-pi
Piadvanced
This started as a custom install for my pihole!
Stars: ✭ 144 (-2.04%)
Mutual labels:  raspberry-pi
Easy Faster Rcnn.pytorch
An easy implementation of Faster R-CNN (https://arxiv.org/pdf/1506.01497.pdf) in PyTorch.
Stars: ✭ 141 (-4.08%)
Mutual labels:  object-detection
Google Assistant Hotword Raspi
Simple Google Assistant with hotword activation from Snowboy setup for my Pi Zero W.
Stars: ✭ 146 (-0.68%)
Mutual labels:  raspberry-pi
Pi Tool
Overclocking and button-remapping utility for the Raspberry Pi 4, designed for Pi Case 40
Stars: ✭ 141 (-4.08%)
Mutual labels:  raspberry-pi
Hampi
HamPi
Stars: ✭ 142 (-3.4%)
Mutual labels:  raspberry-pi
Yolov3
yolov3 by pytorch
Stars: ✭ 142 (-3.4%)
Mutual labels:  object-detection
Data science bowl 2018
My 5th place (out of 816 teams) solution to The 2018 Data Science Bowl organized by Booz Allen Hamilton
Stars: ✭ 147 (+0%)
Mutual labels:  object-detection

Object Detection Using Tensorflow on the Raspberry Pi

Script for object detection from training new model on dataset to exporting quantized graph

Step 1. Setup

Using docker registry

This is the fastest way to use the repo

# For cpu
docker pull docker.nanonets.com/pi_training
# For gpu
docker pull docker.nanonets.com/pi_training:gpu

OR

Building locally

Docker build script

Should run this script from repository root

# For cpu
docker build -t pi_training -f docker/Dockerfile.training .
docker image tag pi_training docker.nanonets.com/pi_training

# For gpu
docker build -t pi_training:gpu -f docker/Dockerfile.training.gpu .
docker image tag pi_training:gpu docker.nanonets.com/pi_training:gpu

Step 2. Preparing dataset

Dataset for object detection consists of images of objects you want to detect and annotations which are xml files with coordinates of objects inside images in Pascal VOC format. If you have collected images, you can use tool like LabelImg to create dataset.

Copy dataset with images folder containing all training images and annotations folder containing all respective annotations inside data folder in repo which will be mounted by docker as volume

Step 3. Starting training

Tensorboard will be started at port 8000 and run in background You can specify -h parameter to get help for docker script

If you have a GPU instance, you need to install nvidia-docker

# For cpu
sudo docker run -p 8000:8000 -v `pwd`/data:/data docker.nanonets.com/pi_training -m train -a ssd_mobilenet_v1_coco -e ssd_mobilenet_v1_coco_0 -p '{"batch_size":8,"learning_rate":0.003}'
# For gpu
sudo nvidia-docker run -p 8000:8000 -v `pwd`/data:/data docker.nanonets.com/pi_training:gpu -m train -a ssd_mobilenet_v1_coco -e ssd_mobilenet_v1_coco_0 -p '{"batch_size":8,"learning_rate":0.003}'

Usage

The docker instance on startup runs a script run.sh which takes the following parameters:

run.sh [-m mode] [-a architecture] [-h help] [-e experiment_id] [-c checkpoint] [-p hyperparameters]
-h          display this help and exit
-m          mode: should be either `train` or `export`
-p          key value pairs of hyperparameters as json string
-e          experiment id. Used as path inside data folder to run current experiment
-c          applicable when mode is export, used to specify checkpoint to use for export

List of Models (that can be passed to -a):

  1. ssd_mobilenet_v1_coco
  2. ssd_inception_v2_coco
  3. faster_rcnn_inception_v2_coco
  4. faster_rcnn_resnet50_coco
  5. rfcn_resnet101_coco
  6. faster_rcnn_resnet101_coco
  7. faster_rcnn_inception_resnet_v2_atrous_coco
  8. faster_rcnn_nas

Possible hyperparameters to override from -p command in json

Name Type
learning_rate float
batch_size int
train_steps int
eval_steps int

Step 4. Exporting trained model

This command would export trained model in quantized graph that can be used for prediction. You need to specify one of the trained checkpoints from experiment directory that you want to use for prediction with -c command as follows:

# For cpu
sudo docker run -v `pwd`/data:/data docker.nanonets.com/pi_training -m export -a ssd_mobilenet_v1_coco -e ssd_mobilenet_v1_coco_0 -c /data/0/model.ckpt-8998

# For gpu
sudo nvidia-docker run -v `pwd`/data:/data docker.nanonets.com/pi_training:gpu -m export -a ssd_mobilenet_v1_coco -e ssd_mobilenet_v1_coco_0 -c /data/0/model.ckpt-8998

Once your done training the model and have exported it you can move this onto a client device like the Raspberry Pi. For details of how to use on the Raspberry Pi click see https://github.com/NanoNets/TF-OD-Pi-Test

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].