9
$\begingroup$

So I recorded some Footage in front of my school and tracked it. The tracking points themselves seem alright (I think) but I get an average solve error of around Five.

Here are my settings:

enter image description here enter image description here

The camera used for recording is a Canon Vixia HF M40.

Project file: https://drive.google.com/file/d/0BzgDIjhDOu6EbVk5RlZoUTM4Nmc/view?usp=sharing

$\endgroup$
4
  • $\begingroup$ The tracking functions based on high contrast. It may be that your white tracking dots don't contrast well with the grey cement... $\endgroup$ Commented May 25, 2016 at 22:18
  • $\begingroup$ to do decent troubleshooting you should also post the MCE (Movie Clip Editor) graph display of the track. Thats the wobbly lines that look like an f-curve. You should be able to see spikes or deviations from each track then. $\endgroup$
    – 3pointedit
    Commented May 25, 2016 at 22:18
  • $\begingroup$ read the following links: blender.stackexchange.com/questions/42329/… and: blender.stackexchange.com/questions/8934/… $\endgroup$
    – user1853
    Commented May 25, 2016 at 22:34
  • $\begingroup$ After a bunch of tracking failures I ended up writing my own addon to find bad tracks: github.com/walles/find_bad_motion_tracks It has made at least my (tracking) life a lot easier! $\endgroup$ Commented Jan 16, 2022 at 20:36

4 Answers 4

13
$\begingroup$

Successful reconstruction can only be achieved with accurate tracking

Your error average should be under 1.0 pixels, preferably 0.3.


Issues with your file: Your tracking is not good...

Your trackers are too large, and have few distinct features. Don't track the center of a featureless object, try to track the edges that have contrast. (read this post on camera tracking markers)

Select any of them and scroll throug the timeline to watch what the tracker is doing:

enter image description here

The shape you are tracking shouldn't be dancing like that.

It should be more like this:

enter image description here

Go through your trackers ONE BY ONE to fix them.

Instead of using only loc, try loc scale and change from keyframe to Previous frame.

enter image description here

Use the graphs and the dopesheet for the movie clip editor to determine which tracker have a high tracking error and get rid of them and re-track.

READ THIS POST to troubleshoot issues with motion tracking

$\endgroup$
4
  • $\begingroup$ ...did...you just bounty your own post.... $\endgroup$
    – 10 Replies
    Commented Jan 25, 2017 at 2:29
  • $\begingroup$ @10Replies Why not? There is a new very useflul answer. $\endgroup$
    – user1853
    Commented Jan 25, 2017 at 2:35
  • $\begingroup$ next time it would be good to put a link to the answer that you are referring too in your bounty... Most people will just upvote your answer. I did not notice the new answer. $\endgroup$
    – 10 Replies
    Commented Jan 25, 2017 at 2:38
  • 1
    $\begingroup$ @10Replies hence the need for a nice bounty! $\endgroup$
    – user1853
    Commented Jan 25, 2017 at 2:39
11
+300
$\begingroup$

Playing with track Weight may allow quick solving convergence, while keeping some (all) poor quality tracks.

Solve as usual, then run this script into a python console, and then solve again. Desired error is the wanted residual solve error. Nearly magic, for use with many tracks detected automatically. See github repository for an addon version.

desired_error = 0.05
for clip in bpy.data.movieclips:
    for track in clip.tracking.tracks:
        track.weight = desired_error/(track.average_error/track.weight)
$\endgroup$
3
  • $\begingroup$ I added a link to your post on this answer: blender.stackexchange.com/questions/42329/… feel free to edit. $\endgroup$
    – user1853
    Commented Jan 21, 2017 at 4:46
  • 1
    $\begingroup$ Not only it allow to refine, but also may save you tons of job to edit tracks by hand. I was able to narrow down residual error from 4+ to 0.05 with a single click on an automated feature detected tracking, only removing tracks with less than 1/3 of the shoot length ! $\endgroup$ Commented Jan 21, 2017 at 15:45
  • $\begingroup$ This is AWESOME. Deserves much more attention. Mine went down from a terrible 56 to 7. Now I can correct some obvious mistakes and reduce it even more. Thanks! $\endgroup$
    – ecv
    Commented Nov 12, 2020 at 21:53
9
$\begingroup$

First try deleting the big sliding errors, where tracked seem to deviate a lot from others, just select the big spikes and delete. Then find the best sample region for keyframes, I think perhaps 40-70 looks cleaner. Finally I turned on "Refine" using Focal Length, K1. This will force Blender to estimate the lens type and field of view. After all that I get a solve error of 2.8.

Then I looked at the existing tracks and notice that you have ignored some easy high contrast features. I tracked the bricks and bottles and deleted tracks on the concrete seams, as they are hard to discriminate (the edge mostly looks the same). Also use track types other than "Simple" location. "Fine" is slow but best.

So pick better features and use better tracker types, then delete major deviations and you should get a much better solve.

MCE graph display shows big sliding errors

$\endgroup$
1
2
$\begingroup$

I went through your tracks and adjusted the location, added a few, subtracted a few, but what really did it was when I began adjusting the weight value in the right side tool bar. After fiddling with that for maybe 15 min, I got it down to solve error: 1.8956. You can probably still improve.

Here, I'll briefly describe the technique I used. I would select a track, look at it's individual solve error. If it was above 10 (about 5 were) I deleted the track. If it was below, I 10 - (Individual Solve Error - 1). I still often toyed with the value even after using the formula. I solved after each try.

Here is the modified .blend file:

Edit:

I determined the individual solve error by selecting a track and looking under the Weight Value Slider that you found. It should read something like Average Error: blah.

My formula works by figuring out how much error there is and weighting accordingly. More error should have less weight. Also, as the weight goes down, the solve error improves (sometimes drastically), so you might need to bump it back up a bit again.

$\endgroup$
6
  • $\begingroup$ Thank you very much for this. What did you mean by "Weight value"? I don't see it in my right toolbar. Also, if possible, can you describe your technique with that formula a bit more? EDIT: I found the weight value, its under the track when you select a point. How do you determine individual solve error and how do you use your formula to improve it? $\endgroup$ Commented May 25, 2016 at 23:17
  • $\begingroup$ Edited! If my answer helped, please consider accepting it. It would help me greatly! $\endgroup$
    – Shady Puck
    Commented May 25, 2016 at 23:24
  • $\begingroup$ So if my Avg Error for a keyframe is 2.1301, I do 10 - 2.1301 - 1, which equals 6.8699. I cant set my Weight to 6.8699, it caps at 1. EDIT: Or did you mean me to do 10 - (2.1301 - 1), which is 8.8699, which is also something I cant set as the weight. EDIT: It seems as if lowering the weight always decreases the average error. Lowering it to 0.02 makes my average error for that track 0.06, which I'm having a tough time believing is correct. $\endgroup$ Commented May 26, 2016 at 0:04
  • 1
    $\begingroup$ I meant the edited version. You make a valid point, though. I meant if u get 8.8699, input a weight of .88699. So sorry for being unclear! $\endgroup$
    – Shady Puck
    Commented May 26, 2016 at 0:06
  • 2
    $\begingroup$ Pictures are always helpful for people to identify features (or sliders), perhaps you could include a screen or 2 in the answer? $\endgroup$
    – 3pointedit
    Commented May 27, 2016 at 0:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .