Why is my Moch solve stuck at 38% ?

luxgud Posts: 127 Just Starting Out*
I just can't decide whether I love or loathe Mocha ?
Right now, I have a solve stuck at 38%, my processor is running at up to 70%. There's no indication about what it's doing or whether it's going to finish any time soon. 25 mins have elapsed so far.
There are so many frustrations with Mocha that I am still hesitating on purchasing it at a mere $95 for the Pro standalone version. For example, there is no test mesh that you can place inside Mocha to get some actual feedback as to whether the tracking has worked before you export to your software package or Hitfilm. Also, why is there no ground-plane system like Syntheyes, Blender or PFHoe etc, etc.
In it's defense, it can do some very nice things that are very difficult or impossible in Syntheyes, Blender etc, etc.


  • AxelWilkinson
    AxelWilkinson Posts: 5,252 Staff
    Syntheyes, Blender, etc. are designed to track the camera that was used in the scene, and finding a ground plane is a major part of that process.  Mocha is entirely different, in that it is a planar tracker, not a camera tracker.  In fact, 3D camera solving wasn't even available in mocha prior to version 3, and the solver doesn't track the actual camera that was used, it solves a position for the camera that works for the specific planes you have tracked.  The focus in mocha is really getting specific planes tracked, not tracking the camera.  The camera solve helps you with doing whatever you need to with the planes in the shot, but its an entirely different approach to how camera trackers work.
    That being said, I'd guess that as the camera solver in mocha is developed beyond its initial build, it will become more and more powerful and have additional features added.
    There are several ways to test whether the track is accurate before you export from mocha, including the grid and the stabilize function.  If you have checked the track on each of your planes, and the results are solid, then you should be able to get a good solve.  The critical factor in your solve is how accurate the tracking is on each of your tracked planes.
  • luxgud
    luxgud Posts: 127 Just Starting Out*
    edited July 2013
    Thank you for that information, I didn't realize that Mocha was new to 3D tracking and I accept that they will add refinements. Syntheyes is a mature product and I now can also see that they are essentially different. I guess from a user point of view, they are the same as we are quite often placing objects in shot scenes.

    Edit: Just reading what you had said again, it would seem that the Mocha camera is an approximation - albeit a good one - to the original camera (physical one) Syntheyes would be more accurate, which may or not be important.



  • MartinB
    MartinB Posts: 8 Just Starting Out
    Hi luxgud,
    If your solve is taking a long time, it could be for a couple of reasons:
    1. Auto: If you're using "Auto" to solve the track, it might be trying a very broad guess, which can sometimes be too long.  Auto will always take longer as it has to attempt a few experiments on the layers to find an optimal solve.  If you're pretty sure you know the type of track, we recommend you choose large or small parallax specifically.
    2. The accuracy of the tracks: Sometimes you need to make sure your 2d planar tracks are accurate or the solve has a hard time working out the relationship between planes
    If you're still having issues with the solve, please send us the project and we can take a look: [email protected]
  • Triem23
    Triem23 Posts: 20,069 Ambassador
    A couple other notes on mocha. The more planes you add, the longer the solve. If you have one plane with a slightly bad track, the longer the solve. Also--and this is important. So important in fact I can't believe that it's not in the manual, not in imagineers two tutorials on hitfilm with mocha, not in imagineer's 90 minute webinar on mocha, or in FXHome's tutorials on mocha until Axel said it during part two of the "Energy Ball" tutorial, and so important I go to all-caps. MOCHA WANTS A LARGE TRACKING SPLINE AND A SMALL SURFACE!. I was having a very very hard time with mocha until Axel dropped that tibdit, and just by reducing the size of what I told mocha the surfaces were my tracks suddenly happened twice as quickly and more accurately
  • luxgud
    luxgud Posts: 127 Just Starting Out*
    That's very useful information Triem23 (and Martin) - thanks.
    What exactly does a solve of 98% mean ? Also, if a solve is, say, 98% what does it guarantee when you export to Hitfilm ?
    What other factors influence the stability of the object placement in the composite - just the ground plane position for example ?
  • rgbii
    rgbii Posts: 965 Just Starting Out
    Hi Triem23, just want to clarify what you mean by surface. Is that the blue rectangle used to align the plane?
  • AxelWilkinson
    AxelWilkinson Posts: 5,252 Staff
    Yes, the blue rectangle is the surface.  Use whatever info is in the scene to line the surface up properly, at whatever size you need.  But then, if it ends up being quite large, reduce its size by moving the sides of the surface, not the corners.  If you move the corners you will change the alignment, but if you move the sides, then the alignment will stay accurate.
  • rgbii
    rgbii Posts: 965 Just Starting Out
    Thanks Axel! 
  • Har
    Har Posts: 401 Enthusiast
    edited July 2013
    The idea of large spline/small surface seems vaguely familiar, especially after having seen Axel's excellent first tutorial on planar tracking concepts - is the spline in Mocha perhaps conceptually similar to the larger outer search-area box in Hitfilm's 2D tracker, with Mocha's blue surface analogous to the smaller inner area of the 2D tracker that encloses the actual high contrast point...only in the case of Mocha, it's actually a larger planar surface instead of a point?


    (or am I off by a country mile on that guess? :)) )

  • BrianJohnson
    BrianJohnson Posts: 83
    edited July 2013
    The Spline that you create is the search area. It takes the pixels encompassed in the spline and finds that location on the next frame.  Then it starts over again, matching that frame with the next one, and so on.  The accuracy comes from choosing the correct motion options (Translation, Rotation, Scale, Shear, Perspective) and the Minimum % of Pixles used.  Then it applies the information it gets from the track, to the surface object that you defined.
    So the more area you track, (larger spline) along with a larger % of pixels, and the correct motion type, the better your track will be, and the more accurately your surface will match the movement in the scene.