9
\$\begingroup\$

I've taken a picture of my yard every day for a while now, all from the same angle. I'd like to align them all and crop a bit off the edges so they are stable for a timelapse. Right now there are 450 of size 4000x3000.

I found some other questions about it (Easiest way to auto-align a stack of images? , What open source software for auto-alignment of photographs?) that point to hugin and align_image_stack.exe . That seemed promising, until I ran it and it was still going without any output for 3 days. It seems suited for panoramic stitching or focus stacking but not for extended timelapses.

I found some tutorials about aligning images in Photoshop, so I tried the Creative Cloud trial and found that loading the images in as layers and aligning an image stack worked really well for 20 images and made them line up perfectly. But took a ton of memory and ran for several days without results when I tried on my full set of images.

I also tried Premiere Pro and applied the Warp Stabilizer effect and specified "No motion" but it still moved around a bit.

Is there any Windows software that can do this? I am getting close to thinking I would have to custom-build it but it seems really likely to me that there's some tool out there that does it since there's so many people making time lapses. Anyone know of one?

\$\endgroup\$
2
  • 2
    \$\begingroup\$ There's a very good reason why timelapses are normally taken with tripods, and cameras which remain in place for the duration of the timelapse. If some of the software above cannot correct the movement - it's quite possible that the movement in your sequence of image is too large to correct. \$\endgroup\$ Commented Jul 9, 2016 at 8:59
  • 1
    \$\begingroup\$ The movement is very slight, it can't be more than 5% of the picture. And software CAN correct for it, it's just the ones I've found that work (Photoshop) aren't designed to handle a large number of images. And having a tripod sit in the street for years is an impossibility for me. \$\endgroup\$
    – RandomEngy
    Commented Jul 9, 2016 at 15:37

4 Answers 4

3
\$\begingroup\$

My two cents.

1) Take a look at blender to stabilize video: https://www.youtube.com/watch?v=nU8zqn091rM

2) Do shorter pices of video at a time. Try for example doing sequences of 30-45 frames.

3) Use one frame as a reference to stabilize the rest. So you have a frame 1 on all the aditional sequences. You can remove this repeating frame after.

4) You now can merge the diferent sequences. There is a chance you need to re-crop the resulting footage after. You could use this repeated frame to see what offset you have from sequence to sequence.

\$\endgroup\$
4
  • \$\begingroup\$ Just tried out the blender feature tracking thing. The different light levels each day cause the tracking to stop working very quickly. I imagine the short sequences aren't going to work so well since each one is going to end up requiring a different, custom amount of cropping. The same would be true if I ran it a bunch of times using the same anchor image: the cropping would be different on all of them. I looked through the align_image_stack parameters and didn't see anything helpful. \$\endgroup\$
    – RandomEngy
    Commented Jul 10, 2016 at 5:00
  • \$\begingroup\$ Hum... On blender can be adjusted manually... \$\endgroup\$
    – Rafael
    Commented Jul 10, 2016 at 11:29
  • \$\begingroup\$ I would recomend that you ask in blender forum: blender.stackexchange.com to manually pin the markers on the changing conditions. \$\endgroup\$
    – Rafael
    Commented Jul 10, 2016 at 11:39
  • 1
    \$\begingroup\$ Okay, I can manually grab the marker with G and move it to where it needs to be for the frames it loses it. After many tutorials I've finally got a stabilized movie! This one is a really good one on the stabilization process: youtube.com/watch?v=nU8zqn091rM and this one tells you how to render the stabilized video: youtube.com/watch?v=DpIXqAepfxY \$\endgroup\$
    – RandomEngy
    Commented Jul 11, 2016 at 4:01
3
\$\begingroup\$

Using align_image_stack, there is no need to load all the images at once. The whole point is to remap the images to one target image, so if image nr. 1 is your anchor image you can just load that image and another one, get that one aligned to the anchor and then you repeat this to process for your next image. This can be automated using a suitable script using a for loop, see here for details.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Wouldn't each of these have a different size or amount of cropping, causing them not to align correctly? \$\endgroup\$
    – RandomEngy
    Commented Jul 10, 2016 at 5:01
2
\$\begingroup\$

The issue may be the size of the images, you're doing images which are 4000x3000, which is considerably larger than 4k resolution, batch scaling your images to a more manageable size before loading into the software may make it finish faster (using less resources).

If you plan to turn this into a video, then think practically about where it will be shared, and what resolution is really required.

\$\endgroup\$
3
  • \$\begingroup\$ Youtube supports 4k video, and I want to upload it there. Also I have a big enough monitor to appreciate the extra detail. \$\endgroup\$
    – RandomEngy
    Commented Jul 9, 2016 at 19:33
  • \$\begingroup\$ @RandomEngy In which case, scale DOWN your images to 4K resolution, my suggestion still stands. \$\endgroup\$ Commented Jul 9, 2016 at 19:34
  • 2
    \$\begingroup\$ I'd rather scale down after cropping off the edges. Besides I don't think it's going to make enough difference to allow it to complete. \$\endgroup\$
    – RandomEngy
    Commented Jul 10, 2016 at 3:16
2
\$\begingroup\$

As suggested by @HarryHarrison, batch export the images in substantially smaller size like 600x400 and in 8 bit per channel. At least as a test. This will require 50-100x less memory. Repeat your program tests on that size - it should run way faster and should finish.

If you have plenty of memory, the small images will process possibly 50 x faster, but I suspect that when you do it on the originals, your computer runs out of memory and further slows down the processing by 3 or more orders of magnitude.

If you find suitable program that works on the small images, check its memory usage. There is some chance that significant upgrade to memory (32GB or more for 8 bit 3k x 4k or 64G for 16-bit 3k x 4K) and SSD drive might help.

\$\endgroup\$
3
  • \$\begingroup\$ I assume you mean 8 bits per color channel rather than 8 bits per pixel. For the 8-bit job that ran for 3 days I had 32 GB of RAM and an SSD. \$\endgroup\$
    – RandomEngy
    Commented Jul 10, 2016 at 5:04
  • \$\begingroup\$ @RandomEngy Thanks, fixed. What was your memory utilization, was that a memory problem? Is any case, if 32G wasn't enough, the upgrade options are limited and unsure. \$\endgroup\$
    – MirekE
    Commented Jul 10, 2016 at 6:07
  • \$\begingroup\$ I don't recall the memory utilization being through the roof; I think it was CPU bound. I don't think align_image_stack is the right tool for the job. \$\endgroup\$
    – RandomEngy
    Commented Jul 11, 2016 at 14:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.