General Mocha workflow for uneven shapes

I’ve had a heck of a time getting Mocha to be useful for shapes that change over time when I’m both tracking AND rotoing. Here’s the problem as I see it:

The rotoshape I’m creating is used for the search area for the 4-point planar surface. This means that, if I use the recommended techniques, the shape and the surface are moving farther and farther apart and warping more and more. If I then create a new rotoshape that is accurate to the object and link it to my track, it goes all over the place even though my first rotoshape is still where it was because it lacks the compensating positional data.

For example, if I’m tracking a hand that is waving unevenly. The shape isn’t comprised of points that work well with point trackers like Silhouette or AE.

  1. I might decide to track just one part of the hand - say a finger - and use it as the basis for other rotoshapes.

  2. In that case, I’d probably just use it for positional data and set it up for Translation. At this point I’ll move my Surface right over the RotoShape so I can keep an eye on accuracy.

  3. As the tracker goes, it messes up and can’t figure out few frames. So I change the shape of my rotoshape, but it still can’t figure it out. So I manually move my rotoshape for each frame, one at a time. Easy to do because rotoshapes are organic and can match nicely. Then a little later there’s a series of frames that require changing the shape of the roto to maintain accuracy.

  4. But now, when I turn on my Surface, it’s is way off the Rotoshape.

  5. And when I link my new shape to the layer it’s moving all over the place with the Surface, not the Rotoshape. And exported tracking data is just as useless.

So what can I do? Should I simply not use Mocha for non-flat surfaces? My only option to fix this, as I understand it, is to switch to Manual Track, use the Translation tool, and try to line it up by hand. Much worse if there’s actually rotation/scaling involved. The AdjustTrack tool doesn’t help on something that doesn’t have four really strong points of contrast (unlike in all the demos, of course).

The most obvious thing to me would be to generate NEW tracking data that is a combination of the modified RotoShape and the Surface.

Also: is there a real manual out there? The Quick Start is pretty… Quick.

I appreciate any help that anyone has!

I’ve had a heck of a time getting Mocha to be useful for shapes that change over time when I’m both tracking AND rotoing. Here’s the problem as I see it:
The rotoshape I’m creating is used for the search area for the 4-point planar surface. This means that, if I use the recommended techniques, the shape and the surface are moving farther and farther apart and warping more and more. If I then create a new rotoshape that is accurate to the object and link it to my track, it goes all over the place even though my first rotoshape is still where it was because it lacks the compensating positional data.
For example, if I’m tracking a hand that is waving unevenly. The shape isn’t comprised of points that work well with point trackers like Silhouette or AE.

  1. I might decide to track just one part of the hand - say a finger - and use it as the basis for other rotoshapes.
  2. In that case, I’d probably just use it for positional data and set it up for Translation. At this point I’ll move my Surface right over the RotoShape so I can keep an eye on accuracy.
  3. As the tracker goes, it messes up and can’t figure out few frames. So I change the shape of my rotoshape, but it still can’t figure it out. So I manually move my rotoshape for each frame, one at a time. Easy to do because rotoshapes are organic and can match nicely. Then a little later there’s a series of frames that require changing the shape of the roto to maintain accuracy.
  4. But now, when I turn on my Surface, it’s is way off the Rotoshape.
  5. And when I link my new shape to the layer it’s moving all over the place with the Surface, not the Rotoshape. And exported tracking data is just as useless.
    So what can I do? Should I simply not use Mocha for non-flat surfaces? My only option to fix this, as I understand it, is to switch to Manual Track, use the Translation tool, and try to line it up by hand. Much worse if there’s actually rotation/scaling involved. The AdjustTrack tool doesn’t help on something that doesn’t have four really strong points of contrast (unlike in all the demos, of course).
    The most obvious thing to me would be to generate NEW tracking data that is a combination of the modified RotoShape and the Surface.
    Also: is there a real manual out there? The Quick Start is pretty… Quick.
    I appreciate any help that anyone has!

Hi Dennitzio,

To help you understand the workflow I’ll explain the way the tracking works:

Each spline acts as a search area. The tracker looks for patterns under these search areas and looks to the next frame to see where the pattern has moved and in what way. If it finds the pattern it moves the surface object to that location. If the spline is linked to the surface (which it is by default), the spline will move along with the surface and the search will begin on the next frame at the new location.

What this means is that the tracked surface is NOT parented to the spline. Moving the spline alone will not affect your surface, it will only tell the tracker to start looking in that new area. If the area is in the same plane as what you had been tracking previously, it will be fine.

In general if there is no way something is going to track in part of the footage, manual tracking is the only way to accomodate this. You can use Adjust Track to manually fix the remaining drift and it can come down to having to avoid the auto button and just adjusting by eye.

Because mocha is a planar tracker it does work best with objects that have no noticeable depth when moving. It’s quite possible to track non-flat objects, but it varies from shot to shot.

If you send me the clip I can take a further look to recommend the best approach: martinb[@]imagineersystems{dot}com

Hi Dennitzio,
To help you understand the workflow I’ll explain the way the tracking works:
Each spline acts as a search area. The tracker looks for patterns under these search areas and looks to the next frame to see where the pattern has moved and in what way. If it finds the pattern it moves the surface object to that location. If the spline is linked to the surface (which it is by default), the spline will move along with the surface and the search will begin on the next frame at the new location.
What this means is that the tracked surface is NOT parented to the spline. Moving the spline alone will not affect your surface, it will only tell the tracker to start looking in that new area. If the area is in the same plane as what you had been tracking previously, it will be fine.
In general if there is no way something is going to track in part of the footage, manual tracking is the only way to accomodate this. You can use Adjust Track to manually fix the remaining drift and it can come down to having to avoid the auto button and just adjusting by eye.
Because mocha is a planar tracker it does work best with objects that have no noticeable depth when moving. It’s quite possible to track non-flat objects, but it varies from shot to shot.
If you send me the clip I can take a further look to recommend the best approach: martinb[@]imagineersystems{dot}com