One of the design departures that separates Kinearx from the competition is its approach to processing. I’ve seen a number of motion capture solutions in multiple software packages and I’ve identified what I believe to be the single trait that holds most of them back: Arrogance. Don’t get me wrong, I’m pretty arrogant myself I’m talking about a very specific kind of arrogance. Its arrogant to assume that one’s algorithm is going to be so good, that it will be able to make sense of mocap data on its own, in a single pass, and be right about it.
Now you might be thinking, "Brad, thats silly. All these programs let you go back and edit their decisions. They all let you manually fix marker swaps and such. They’re not assuming anything. You’re blowing things out of proportion." Ah, but then I ask you, why should an algorithm make a decision at all? Why should you need to fix a marker swap that the algorithm has put into reality?
Kinearx approaches the way mocap data is processed in a way I would term a "humbled" approach. Kinearx knows what it doesn’t know. The design acknowledges that everything is a guess and its completely willing to give up on assumptions, should evidence point to the contrary. The basic data structure that operators work on is one of recommendations, statistics and heuristics, rather than one of "the current state of the data. and what I’m going to change about it." A typical labeling process can consist of running some highly trusted heuristic algorithms that make recommendations on labeling at points of high confidence. It can also consist of applying less trusted heuristics that are wider in temporal scope. The recommendations are weighted accordingly when they are eventually committed to the data as decisions. Algorithms can peek at the existing recommendations to hint them along. Manual labeling operations an be added to the list of recommendations as having extremely high confidence. Algorithms can even go as far as to cull recommendations. The difference between Kinearx and other mocap apps, is that this recommendation data lives from operation to operation. It lives through manual intervention and as such, is open to being manipulated by the user, either procedurally or manually.
The power of this system will become apparent when looking at the pipeline system, which allows a streamlined processing environment in which to apply processing operations to data both procedurally and manually.