Ok, I need to sort out my thoughts. What I want to come up with right away is a classifier that can take input values. Let's create several vesions of this classifier. One takes raw acceleration values. This may not work (in fact, it probably won't work), but it shouldn't take too much work to do it. The other value takes a variety of intermediate values (motion features).
So what I have to do now is identify which motion features I will want to focus on. I can draw this list from the following:
- Zhao (2001)'s motion features
- Hachimura et al (2005)'s motion features
- Whatever motion features I can extract from Mary Pietrowicz's code
- My own guesses of motion features (which will (should) be informed by the above, but also should come from my own understanding of LMA
After I list those down (I give myself a max of two hours to do his, so be lunchtime!) I need to start learning how to feed this into the Weka classifiers. So this means that I can assume that all the raw acceleration data has been filtered and transformed into these motion features. Done. I just need to make sure somewhere in the VERY back of my mind that I can derive that data froma acceleration data, which is OK, because even I can't, I can theoretically derive it from other sources, just like what other researchers have done. But what would then make this a contribution if it's just a rehash of older work? Therefore, I should really try to stick with pure acceleration data.
Besides, the other contribution I will have (and this is where Thecla will really need to provide guidance) is my parameterization of Flow. I have yet to read previous research carefully, but I think most of the researchers who have tried to computationally model Flow didn't quite get the heart of it. I'll have to look at their validation tests for Flow.
Ok, here we go!
~~~~~~~
My instinct tells me right now that not
all LMA Effort qualities can be derived from motion features extracted purely from acceleration data. Or at least we would have to do a layer of processing atop acceleration data. My instinct also tells me that I should have four trackers (assuming I get to work on them): a wrist, elbow, shoulder, and sternum.
Acceleration is the derivative of velocity. It is the change in velocity.
- It is relatively trivial to infer Time from acceleration data.
- Space is a little bit trickier. Hachimura relied on the gaze of the performer to infer Space. Zhao relied on wrist angles and swivel angles. Zhao justifies the use of the wrist angle as a parameter to Space detection because of "careful human movement observation" because of an affinity between Indirect-Free movements with frequency in changes in wrist angle. But what is Space? I think for the purposes of IAT 888, i should define it quite narrowly as a linearity or non-linearity. There. We can build from that.
- Weight is tricky. The more I ponder it, the more I think that Zhao, quoting Moore and Yamamoto, was quite correct in identifying weight as primarily something to do with musculature. Hachimura, citing a paper in Japanase employs a definition of weight as the kinetic energy of body part, which I find hard to justify. However, it is probably worth trying out?
- Now I'm wondering whether Flow actually should be predictable based on acceleration. The impression that I had talking to Thecla about her interpretation of Flow is that it is a quality that links movements together, which I took to mean as the ability to transition smoothly from one set of efforts to another. This could be wrong, but it seems to me that free flow makes it harder to discern movement boundaries. Hm... Laban (1947) writes, "Thrusting a fork into hay as far as possible will require fluent flow of the movement, while thrusting a chisel under the lid of a box will require a bound flow so that it does not enter too far." This description suggests that flow is the envelope of certain motion features. When acceleration approaches positive or negative infinity, the Flow quality of the movement tends to Bound. It also suggests something that is going on in the musculature, similar to weight.
Now looking at Mary Pietrowicz's MSP patches, I see that she extracts various motion parameters
- From Display5DOFAnalysis and Analyze AccelDataFixed5DOF
- Number of directions changes/msec (x, y, z, pitch, roll)
- Ratio of current distance to ave distance (x, y, z, pitch, roll)
- Ratio of current traj to ave trajectory to overall trajectory (x, y, z, pitch, roll)
- Ratio of stillness to overall motion (x, y, z, pitch, roll)
- Current acceleration distance interval (?) (x, y, z, pitch, roll)
- Current acceleration trajectory (x, y, z, pitch, roll)
- Average acceleration distance (x, y, z, pitch, roll)
- Average trajectory (x, y, z, pitch, roll)
- Number of direction changes/#samples in window (x, y, z, pitch, roll)
Now the question is, of these, how many does Mary use for each Effort quality? No matter. We can figure that out later. Now the important thing to do is to start building the classifiers.
I may have to make a decision about how to implement motion segmentation. Zhao and Badler (2005) segmented their movement first before classifying (as far as I could understand) based on zero crossings (?) and the curvature of the movement. (I'm still not sure how exactly they did the segmentation.) Pietrowicz, however, used concurrent three concurrent sliding time windows (small, medium, large) and weighted their results. That is, there were no segments. I think in the meantime I will assume that I am using Mary's technique. This in particular affects the way I discern Time values.
So in summary, I have several options for motion features that I can use for my classification.
- Space
- Curvature (Zhao, 2001: 76)
- Torsion (Zhao, 2001: 76)
- Number of direction changes (Pietrowicz)
- Something I'm thinking of as "linearity" of the movement, which could be related to Pietrowicz's average trajectory?
- Number of direction changes (Pietrowicz)
- Time
- Weight
- Still trying to figure this out, too
- Flow
- I'll figure this out soon
~~~~~~
Questions to ask Thecla:
- What do each of the four Laban Effort qualities mean to you? How have motion recognition researchers got it wrong (and right) in the past?
- How much of the body are we tracking?
~~~~~~
Time to Weka it!
~~~~~~~
So for me to build the classifiers and test them (test the functionality of the classifiers, not train the system), I do need to have a VERY rough idea of what kinds of motion features I'll feed them. No worries, I'll just fake it for now. Right now what's important is that I have what I had set out to do last weekend, which was to build a classifier that can correctly classify things. Thary t means that what I need to do is build a simple classifier that can correctly identify, say, the XOR function, using Weka. But only using Weka if it's easy to learn it. Because I would have to learn how to work with Netbeans... Ah, ok, I'll see how much I can get away with working with Processing IDE building a Weka classifier. If that fails, I will try to use the XOR classifier that Daniel Shiffman had. If that fails, I willmakng a classifier in Netbeans using Weka. If that fails, then I'll take a long break.
Labels: metacreation, motion research