Skip to content

Commit

Permalink
Merge branch 'master' of github.com-metastableB:Microsoft/EdgeML into…
Browse files Browse the repository at this point in the history
… EMI-Bugfixes
  • Loading branch information
Don Dennis committed Apr 10, 2019
2 parents 4084ff6 + 682f0b7 commit 388648a
Show file tree
Hide file tree
Showing 74 changed files with 15,082 additions and 1,284 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Expand Up @@ -287,3 +287,6 @@ __pycache__/
*.btm.cs
*.odx.cs
*.xsd.cs
.vscode/
usps10/
.ipynb_checkpoints/
17 changes: 17 additions & 0 deletions Applications/GesturePod/README.md
@@ -0,0 +1,17 @@
GesturePod
==========

GesturePod is a plug-and-play, gesture recognition device that is designed to be clamped onto
any white-cane used by persons with Visually Impairment. Once clamped onto the cane firmly,
simple and natural gestures performed on the cane can be used to interact with various devices,
for instance a mobile phone. Watch the [GesturePod video here](https://1drv.ms/u/s!AjDloPaG_l0Et7Ikid1voOVFuI116Q).

In this directory, we provide resources for
1. Creating a GesturePod of your own based on the [Arduino MKR1000](https://store.arduino.cc/usa/arduino-mkr1000), in the `onMKR1000` directory, and
2. Running the gesture recognition pipeline on your computer in the `onComputer` directory.

Read more about GesturePod and access the public dataset from our
[Technical Report](https://www.microsoft.com/en-us/research/publication/gesturepod-programmable-gesture-recognition-augmenting-assistive-devices/).
The dataset can be downloaded [here](https://www.microsoft.com/en-us/research/uploads/prod/2018/05/dataTR_v1.tar.gz).


31 changes: 31 additions & 0 deletions Applications/GesturePod/onComputer/Makefile
@@ -0,0 +1,31 @@
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT license.

APPNAME := gesturepodsim
CXX := g++
CXXFLAGS := -g -std=c++11
INCLUDES_PATH := -I./src/
SRC_PATH := ./src
OBJ_FILES := main.o featurizer.o protoNN.o utils.o

all: $(APPNAME)

$(APPNAME): $(OBJ_FILES)
$(CXX) $(CXXFLAGS) $^ -o $@
rm -f $(OBJ_FILES)

main.o: $(SRC_PATH)/main.cpp
$(CXX) $(CXXFLAGS) -c $(INCLUDES_PATH) $< -o $@

featurizer.o : $(SRC_PATH)/featurizer.cpp $(SRC_PATH)/featurizer.h
$(CXX) $(CXXFLAGS) -c $(INCLUDES_PATH) $< -o $@

protoNN.o : $(SRC_PATH)/protoNN.cpp $(SRC_PATH)/protoNN.h
$(CXX) $(CXXFLAGS) -c $(INCLUDES_PATH) $< -o $@

utils.o : $(SRC_PATH)/utils.cpp $(SRC_PATH)/utils.h
$(CXX) $(CXXFLAGS) -c $(INCLUDES_PATH) $< -o $@

clean:
rm -f $(OBJ_FILES)
rm -f $(APPNAME)
49 changes: 49 additions & 0 deletions Applications/GesturePod/onComputer/README.md
@@ -0,0 +1,49 @@
GesturePod *(Gesture Recognition Pipeline)*
=========================

## Table of Contents

- [About](#about)
- [Quick Start](#quick-start)

## About

GesturePod is a plug-and-play, gesture recognition device.

This repository isolates the gesture recognition pipeline from the Arduino
MKR1000 implementation. All additional modules, for instance, BLE
communication, interface with the IMU are not included. We provide sample IMU
sensor data, which is used for prediciton. This repository is intended to be
used as a playground to understand the gesture recognition pipeline. It is a
bare-minimum implementation of gesture recognition. Additionally, this can be
used as a basis for porting GesturePod to other platforms.

## Quick Start

1. Installation requires
- [git](https://git-scm.com/),
- [make](https://www.gnu.org/software/make/)
- [g++](https://gcc.gnu.org/).

2. Clone the repo and navigate to this directory
```
git clone https://github.com/Microsoft/EdgeML
cd EdgeML/Applications/GesturePod/onComputer
```
3. Compile and build the code
```
make
```
4. Run
```
./gesturepodsim
```
5. Currently the data is read from ```./data/taps.h```. This data file has
sensor readings collected from GesturePod, while *Double Taps* gesture was
performed.

GesturePod data set is released as a part of our
[TechReport](https://www.microsoft.com/en-us/research/uploads/prod/2018/05/dataTR_v1.tar-5b058a4590168.gz)


Checkout our Blog post *Coming Soon...*

0 comments on commit 388648a

Please sign in to comment.