# Using 3D Points as Inputs to a Neural Net

I am currently looking to use a neural network to classify gestures. I have a series of Dx,Dy,Dz readings that represent the differences across the three axes made during the gesture. About 10 movements for each example of the gesture. Basically a 10x3 matrix and then classify the training data into about 15 classes. I plan to use a CNN classifier to do this because, while the time domain is relevant this problem the difference in the movements can be differentiated when presented with as a discrete matrix.

I'm used to using images with a neural net so I instinctively want to just convert the matrices into a 2D tensor and feed them into a CNN, but I was wondering if there was a better way to do this? For example, I have seen 1D tensors passed to a fully connected neural network for classification which seems like it could be more appropriate for this data input type?

Any tips on general architecture would be really appreciated as well!

Thanks!

• Welcome to AI.SE ! It sounds weird when you say that you "flatten the matrix into a vector and feed it into a CNN" . CNN need tensors, not 1D vectors... are you sure you used this technique ? Sep 28, 2018 at 7:35
• Sorry, I was getting two methods mixed up - one using a CNN and one using a fully connected network - my bad. I'll update the question. Sep 28, 2018 at 19:41

## 1 Answer

A few thoughts :

• 10x3 matrix for each example is really a small amount of data. FCNN could do a good job on that.

• As a result, I'm not sure CNN is appropriated. The smallest dimension is 3, so it'll force you to have really small kernels.

• Have you thought about LSTM? since that your data is sequential, LSTM may be useful. However, I'm not sure they could be really effective on this little amount of data. but it could be nice to try.

• Thank you so much for the suggestions, really appreciated! I'll check out the FCNN approach first then and after that see if I can try an LSTM Sep 30, 2018 at 15:42