Jump to content

Camera tracking advice


Chris MacDonald
 Share

Recommended Posts

Hey guys,

 

We've recently been asked by a client to incorporate our CGI's into some drone footage for an animation. This isn't something I'm particularly familiar with, but I've managed to make a reasonable amount of headway in as much as I've tracked the footage in after effects, and exported that track via a script to 3DS max.

 

The trouble I'm having is with getting the camera track to scale correctly (to line up with a survey that I've imported). I have no idea how to go about this.

 

Any help is much appreciated, even if it's just letting me know what your preferred workflow(s) are.

 

I have access to premiere pro/after effects/mocha, and it appears that Autodesk Matchmover is no longer a thing? I could be wrong.

 

Thank you in advance!

Link to comment
Share on other sites

So, none of you have tracked with after effects, or Max's "Camera Tracker" utility?

 

After effects seems to have done a great job at tracking the footage; but it's just getting the scale correct that is proving the be an issue. I'm reluctant to use third party stuff simply because I feel I might fall into the exact same situation (but at a cost).

 

How does syntheyes deal with scale?

Link to comment
Share on other sites

Did you set up any null objects in AE that correspond to points in the model?

 

Yes, but scaling/rotating these to fit is proving a nightmare because:

 

- Max still doesn't have a 3 point scale/rotate system.

 

- It only does it on the first keyframe; unless it's all grouped together, which seems to cause more headaches as apparently you can't move the pivot point of that group (I imagine because it contains animation?) and it has a tendancy to do weird things to the keyframes too, such as exaggerate one axis over another. Basically no matter what I've tried so far, I've always come back to scaling/rotating arbitrarily in the hope that at some point it'll all just fit together.

 

I've downloaded the demo of syntheyes to see how I get on with it, and whether the £500 is justifiable.

Link to comment
Share on other sites

So, none of you have tracked with after effects, or Max's "Camera Tracker" utility?

 

After effects seems to have done a great job at tracking the footage; but it's just getting the scale correct that is proving the be an issue. I'm reluctant to use third party stuff simply because I feel I might fall into the exact same situation (but at a cost).

 

How does syntheyes deal with scale?

 

Syntheyes is really good at working together with survey data, I've done a couple of those in the past. It's realtive easy to combine your tracked data with known point. Heres an example of Syntheyes in action; https://www.lynda.com/SynthEyes-tutorials/Welcome/490801/510622-4.html

Link to comment
Share on other sites

Typically you end up with problems from a track as 3D trackers usually have no concept of real world units (AE has no concept of real units at all). They don't really know if they are tracking a bunch of life sized objects or miniatures.

 

That said you SHOULD be able to scale everything in 3DS Max, either by selecting all scene elements and scaling, or by changing scene scale and then merging new objects (not very familiar with Max myself, but in Maya or C4D that's what you'd do). Syntheyes has unit settings on export that should help if you go that route. Also Blender has a very good 3D tracker, and it's obviously free. Blender's a bit esoteric, but the tools are quite good, and if you are using it for specific things it can be easy to hop in and out.

Link to comment
Share on other sites

Yes, but scaling/rotating these to fit is proving a nightmare because:

 

- Max still doesn't have a 3 point scale/rotate system.

 

- It only does it on the first keyframe; unless it's all grouped together, which seems to cause more headaches as apparently you can't move the pivot point of that group (I imagine because it contains animation?) and it has a tendancy to do weird things to the keyframes too, such as exaggerate one axis over another. Basically no matter what I've tried so far, I've always come back to scaling/rotating arbitrarily in the hope that at some point it'll all just fit together.

 

I've downloaded the demo of syntheyes to see how I get on with it, and whether the £500 is justifiable.

 

We also use Syntheyes. It's been able to pull tracks from footage that AE was unable to handle. That being said, you already have a track and the null points imported into Max, so we'll work with that. Before you begin, it's helpful to have 3D geometry of your existing conditions (linework for edge of pavement, sidewalks, curbs, small signposts, that sort of thing), but you can make do with a surface draped with an aerial image, just as long as there are identifiable features in the aerial. You'll also need to ensure that some of your null objects/tracking points in AE correspond with some of these features.

 

  • Import your tracking points / camera into Max (which you've already done)

  • Set your tracked camera's viewport background to your footage.

  • Set your camera lens setting to the focal length of your drone camera. In Render Settings, set your Aperture Width to the physical width of the drone camera sensor (the X5S on the Inspire 2 has a 17.3mm wide sensor, for instance). Set your output resolution to that of your footage, and turn on Show Safe Frames (shift-f) in your camera viewport.

  • I think the tracked camera is just a normal Max camera and not a physical camera. If you want to use a physical camera (or Corona / Vray camera), you can create a physical camera, align it to the tracked camera (align the rotation too), and then link it to the tracked camera.

  • Identify one of the tracking points from AE that corresponds with a feature that's near the edge of your view. For the sake of explanation, we'll assume this feature is the corner of a sidewalk. This tracking point is going to be your anchor point. I find it's easier to scale and rotate everything when your anchor is at the edge instead of in the middle of everything.

  • Create a point helper object and align it to the chosen tracking point

  • Select all of the tracking points and the camera and link them to the point helper.

  • I think the tracking data usually imports with the rotation quite a bit off, so it's easier to align everything precisely later if you rotate the point helper a bit now to get it close to the correct orientation.

  • Move the point helper to the corner of the sidewalk geometry. Confirm that when viewed through your tracked camera, the corner of the sidewalk geometry is in the same place as the corner of the sidewalk in your background footage.

  • Now you can rotate and scale the point helper to get the other tracking points to line up with their features. You should be able to confirm the alignment via the tracked camera view.

 

Most of this process is done in Syntheyes, so it's been a while since I've done this in Max, so apologies if I've muddled a few steps. You may also have to finesse the focal length of your camera setting a little bit, the value given in the EXIF data is not precise.

 

Hope this helps somewhat. Getting a good camera track feels like it should just be a technical exercise, but it's definitely an art form. Good luck!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...