emielv
emielv

Reputation: 21

Neural Networks: classify as nothing?

I am creating a gesture recognizer that is using a feedforward neural network tot classify gestures.

The problem is that I want the gestures to be recognized in real time.

I create an input vector out of the past 60 recorded frames, if the user has done a gesture, the input can be classified by the neural net, and the application can tell the user what gesture it has performed.

But what do I need to do when the user is standing still? It's not doing any gesture, but the neural net will try to classify the standing still as a gesture. How would i go about classifying an input vector as "nothing"?

Another question about neural nets: Say i have recorded 1 gesture 20 times, my training data would look like this:

[INPUT VEC1] = [1] (ideal)

[INPUT VEC2] = [1] (ideal)

[INPUT VEC3] = [1] (ideal)

...

[INPUT VEC20] = [1] (ideal)

(Input vector with the ideal outcome)

In this example the network only has one output neuron. The training data only provides examples for when the gesture is performed, not for when it's not performed.

Is it possible to use neuralnetworks with unary data? (Only "good" training data examples and no "bad" ones)

Thanks!

Upvotes: 0

Views: 121

Answers (1)

Diego
Diego

Reputation: 18349

A classifier needs at least two classes. Having a single class makes no sense, as 100% of the samples will fall in this class and the classifier becomes trivial. Create a zero class for the user standing still and generate training data for this class. Ideally, in some of these training samples the user moves a little bit, but does not perform a gesture; in others, it stands in a slightly different pose; etc, etc. Your NN should then be able to tell if a gesture was performed or not.

Upvotes: 2

Related Questions