9
$\begingroup$

I have a time-series of force data of robots interacting with environment objects with various textures. I would like to develop models of various textures using the time-series data to classify textures into smooth, rough, moderate, etc. categories. For this purpose, will Hidden Markov Models be sufficient or should i use Conditional Random Fields? If I decide to classify into more categories and the distinction between each of are categories are very subtle, in that case what would be a good choice? Will force-data be sufficient to capture all the information I need to classify textures into these categories?

Thanks for your replies :)

$\endgroup$
5
$\begingroup$

Based on your problem description, both HMM (generative model) and CRF (discriminative model) will work. See this discussion for a more in-depth explanation of the two approaches:

What is the difference between a Generative and Discriminative Algorithm?

A suggestion: before choosing an algorithm, start by carefully looking at your numerical data, with MATLAB plots or similar. If the information is multi-dimensional (e.g. force values from multiple sensors), it might be the case that some dimensions (e.g. sensor reads) do not contain useful discriminative information; in this case, compress the data with Principal Component Analysis so that you will have more compact features during training and classification.

Now, with regard to your question:

The difference is that HMMs can represent each of your texture classes with several hidden variables/states, thus capturing the internal temporal evolution of each contact. We can say that HMM better model the "low-level" (intra-class) dynamics of your data. For example, in your case HMMs will permit you to explicitly model three different phases of each data acquisition: (1) start of contact between robot and object; (2) stable part of the contact; (3) end of contact and release. These phases could have different values in time, even for the same object texture, and it could make sense to separate them to improve classification results.

On the other hand, CRFs are more suited for capturing the "high-level" (inter-class) relations of your data distribution, which are sometimes important when the spatio-temporal variability is high, or when the observation features are very similar between two samples belonging to different classes.

Personally I find HMMs easier to use and I would start with those, but your mileage may vary.

If I decide to classify into more categories and the distinction between each of are categories are very subtle, in that case what would be a good choice?

In that case, CRFs can be a more robust choice (see above).

Will force-data be sufficient to capture all the information I need to classify textures into these categories?

Adding visual features (object appearance), especially if captured with high-resolution cameras, could help determine if the object has a rough texture or not.

$\endgroup$
  • $\begingroup$ Sorry, for late reply. Your comments have been very helpful. I already implemented HMMs and they seem to work well. I did not convert the data into its low-dimensional representation using PCA, rather used HMMs which can take in continuous data / distributions to avoid losing any information. But since I am anyway using it for classification, I think using discriminative approaches might give better results (yet to see and confirm). $\endgroup$ – Gilmour Oct 4 '13 at 16:50
  • $\begingroup$ Glad to know that HMMs are working well for modeling your force sensor data. I'd be interested to know more about it. $\endgroup$ – Giovanni Saponaro Jan 14 '14 at 18:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.