This is an application to trigger a smart phone from body tapping. This idea is based on Bootstrapping which was presented at UIST'16, but the algorithm used in my application is different from that of Bootstrapping in the following points:
- My application uses NMF(Nonnegative Matrix Factorization) for machine learning but not SVM(Support Vector Machine) which is used at Bootstrapping. If you don't know NMF, I believe this link is useful to study the technique.
- Time series data has not been dealt with in my application yet. Note that Bootstrapping tried dealing by inputting an array of time series data directly but this approach may be inappropriate, because it ignores the stretch property of time series data. A proper model to consider time series (e.g., HMM(Hidden Markov Model), RNN(Recurrent Neural Network) etc.) should be used to extract features.
- Only online data (local data) has been used in my application yet. Though, note that applying prior distribution may be more suitable for my application because NMF is a kind of probabilistic model.
Regardless of the above differences, it looks just to me like my application is working to recognize body tapping well. If this application and source code is useful for your study, I will be happy.
I confirmed this application built on Android Studio is working. Aside from Android Studio, I believe any special requirements to build are not necessary.
Let me explain steps and screenshots corresponding to the numbers.
- This is shown at the beginning of application. Please press top right side.
- Please press the shown index list of "Position*", in which "Position1", "Position2" and "Position3" are corresponding to RED, GREEN and BLUE, respectively.
- After a colored screen is shown, please tap a display side of your smart phone to somewhere on your body for registration (e.g., EAR, CHEST, THIGH etc.).
- A white screen is shown after the registration. Until you register your body positions to all "Position*"s, please carry on the registration as with step 2 and step 3.
- Please tap a registered position of your body. You can see a corresponding color.
1. Beginning | 2. Select "Position*" | 3. registration | 4. Select next "Position*" | 5. Recognition |
---|---|---|---|---|
Note that an E-mail icon on right bottom is unused here. This is attached in Android Studio's sample which my application is based on.
- Xiang 'Anthony' Chen et al.: Bootstrapping User-Defined Body Tapping Recognition with Offline-Learned Probabilistic Representation