I'd like to make a stop motion video using several pictures I'll take from my son. One photo each day.
Because I will not use a tripod and because I'll use the camera to take another pictures between days, I'll put the camera over a shelf to take the pics of the kid and, for this reason, the pics will not be exactly fitting each frame.
I thought to use Photoshop to crop each image, but it would be the worst idea. It will be hundreds of images.
How to automate the process to identify the face/eyes and to crop around it, given a frame size?
To generate the video, I'll use Virtualdub, with 10 frames to each image.
I'm very newbie in stop motion stuff, so the dumb questions... Sorry.
+ Reply to Thread
Results 1 to 30 of 32
I'm assuming the problem is he won't be "centered" or in the same place in the frame ?
It's better to control the shooting with some rig setup in the first place. This includes controlled lighting, otherwise you will get a "flicker" with stop motion as the lighting characteristics change each time
But one way to do this in software is to use stabilization software to focus around certain features like the face. Basically you can motion track a feature (e.g. the eyes) , and it will position each frame so the eyes are in the same spot each frame. Then you either crop or zoom according to the largest deviation frame (the one that is most out of position)
And to treat the flicker (if you have any) , you can use various deflicker software
If you used a tripod or a tripod mount you may eliminate some of your issues -- but because of the way you are intending to shoot this you have left yourself no choice but to align the images manually. Some sort of tracking may be able to roughly align the eyes, but you will still do a lot of fixing by hand.
If you have a recent version of photoshop, you can use the timeline function to turn the stills into a video, and retain all the functionality of photoshop as a bonus. (Photoshop can do some decent auto-align, BTW.) That is the route I would take in your situation. If you have After Effects, even better.
Virtualdub strikes me as a particularly foolhardy way to go about this because the process of doing frame to frame comparisons and adjustments is cumbersome at best.
edit: looks like PDR and I were responding at the same time -- so some overlap in advice, some normal alternative options.
Let me start by saying that this is a great idea, I wish I had thought of this when my kids were growing up.........
I think you would be well ahead of the game if you created a template target 32-bit png file. I would use the tip of the nose as the center point (this assumes a standard distance etc). Do a standard 16:9 crop. You can use VirtualDub, Avisynth, or any NLE to adjust framerate and get the gradual growth pattern you want........Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
Wow! So many tips in few minutes!
@poisondeathray, you brought to me a tip that I didn't mind before: control the lights.
@smrpix, I'll see if Photoshop CS5 can help me more with auto-align. No AfterEffects, at all...
@racer-x, I could not get your point with png template. May you explain more?Thank you.
If you are planning this out ahead of time, I would strongly suggest that you:
1. Figure out what kind of positioning will be best, both for your son as an infant, then toddler, then boy, then man. Which means accommodating relative size and height changes.
2. WRITE DOWN what those measurements are! Focal distance, zoom/FOV, light levels (or which lights used), camera position, ISO/Exposure, Shutter speed, f-stop, Filetype (color space, compression, bitrate), etc. Get out a tape measure if you have to.
3. REPEAT those settings EVERY TIME, EXACTLY.
4. Use controlled, REPEATABLE lighting. So, indoors with lights that you can position in EXACTLY the same spot over a duration of months & years, and hopefully have them be the same model (so the color temperature is the same).
5. Use a PLAIN, SOLID backdrop/background.
6. Use a similar filename that is timestamped, e.g. "MySon_2014-06-24.png". Put them in the same folder. This will keep them in chronological order.
7. If AT ALL POSSIBLE, use uncompressed/lossless/raw files so you don't lose quality to JPEG blockiness.
There are more suggestions, but that's a start.
There are softwares that work specifically with stop-motion in mind. Some are freeware, so you should check them out. They have features that are specific to the workflow and help in ways not anticipated even by Photoshop/AferEffects (though those don't hurt to have).
Last edited by Cornucopia; 10th Nov 2014 at 13:41.
Last edited by jagabo; 12th Jun 2014 at 18:07.
You guys are giving me excellent tips!
I wrote down all your advices, Scott.
And jagabo, you reminded another good tip: deshaker filter.
Scott, I'll search softwares for stop-motion, but if you have some in mind, please tell me.Thank you.
@racer-x, I could not get your point with png template. May you explain more?Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
If you do go the stopmotion app route, look for one that can do onionskinning, as that allows you to line up your current shots with your previous shots (in semi-transparent overlay mode) very easily. Some also have grid overlays to help line things up. MonkeyJam & StopMojo are 2 free ones that come to mind, though there is more.
Understand that, even if you get ALL those settings exact, there will still be things about your subject that will be off from one frame to another, so it's not like you will have a fluid "morph-like" transition throughout. You will have to live with the differences. However, they go by fleetingly and are part of the "stop motion novelty", so I wouldn't be too bothered by it. You just want to minimize the other extraneous variables.
Last edited by Cornucopia; 12th Jun 2014 at 19:22.
like he shows in his next post) to help align and scale the pictures. You would want a black frame with a black center cross mark and a transparent background. Also, it might help to have a couple marks to control the scaling (distance between the eyes, the ears...). Then you could insert it on a layer above the picture being worked on, use free transform to scale and center the two, CTRL-click the frame layer to load selection and crop the image and lastly, resize to whatever resolution you want to make your project. Of course this being done by eyeball there maybe some jitter in the movie depending on how accurate you are. It will produce a weird effect if you maintain the width of the face through time; baby's head size to a man's. Some kind of fixed external marker on the background might be better.
Isn't this really a TimeLapse project? I thought stop motion was freeze frames interacting together.
2 sides of the same coin.
@nic2k4, yep, now I got.
@budwzr, you are right, it's a TimeLapse project. My mistake.
@poisondeathray, I think I'll try some settings between 1 to 5 frames of the same picture along 1 year.
Depending on the result, and the patience of my kid, these settings may vary.
@everyone, as I ask in my first post, I wonder if there is a way to automate the process by identifying the face/eyes and to crop around it, given a frame size. Is there any tool to face recognition and do this job?
Last edited by jairovital; 13th Jun 2014 at 07:13.Thank you.
You need something that does image stabilization with (feature) tracking. AE has that (better with plugins), that's why we mentioned it. Since you don't have that, your road will be a lot harder. Do you have Apple Motion? Combustion? Shake? Any other Compositor? Do you have Avid Media Composer or Sony Vegas Pro? These NLEs have somewhat more basic ImageStab ability. Maybe even PremierePro has some minor capability, though I doubt it has any REAL feature tracking capability (without a plugin).
You could even try Blender (which has some ImageStab/Tracking features). Or even AVISynth. jagabo already mentioned its DeShaker plugin, though there is no GUI, so your feedback loop will be much more painstaking & slow-going. (Plus, you'd have to learn AVISynth scripting)
Scott, you're right: some NLE like AE could work stabilization images. Unfortunately, it's out of my hands. But I do have Sony Vegas and I'll see if there is a plugin or what else that give me some help on this matter. Also, I have good experiences with Deshaker Vdub filter. Avisynth scripting isn't a mystery for me.Thank you.
All the major NLEs have some sort of motion tracking/stabilizing. Premiere uses the same one as After Effects, But think of it this way: It may take a couple of tedious hours to manually adjust a hundred or so images. It's likely to take several days or more, including tweaks and adjustments, to get an automated script working properly. (BTW To make the effect work convincingly, stabilizing the eyes is your best bet.)
Also let me re-emphasize how many folks here, myself included, are advising serious planning and forethought in the shooting.
Last edited by smrpix; 13th Jun 2014 at 07:44.
MotionTracking is not designed to track disparate frames. It's looking for a shape/pattern that exists in all the frames.
Example: You're MotionTracking a surfer. Once the surfer goes under, tracking is lost. There's no more black silhouette against a blue background, so the target disappears.
You've got to find a way to establish, and maintain, some point of reference when you're making the shots.
Example: The eyes/face/nose triangle should be consistent. So at the very least, take the shots at the same distance and lighting.
Last edited by budwzr; 13th Jun 2014 at 12:40.
Example: The eyes/face/nose triangle should be consistent. So at the very least, take the shots at the same distance and lighting.Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
HitFilm2 Ultimate has a pretty good tracking tool. And has a basic Planar Tracker (Mocha).
Just one thing that bugs me, you're planning on taking one picture/year right? So you have 12 months to edit/tweak said picture.
If you add each new photos to a separate layer in Photoshop you can compare any 2 successive photos by reducing the higher layer's opacity. That would also simulate the movie.
Making the movie is really like making a slideshow with a simple frame blend transition between each pictures.
At 5 frames/year by the time your kid is 30 you'll have a 5 second movie. Might be nice to go for 1 photo/month.
Last edited by nic2k4; 13th Jun 2014 at 20:20.
To expound on what nic2k4 had to say, you should figure out how you want it to end up. Here is an example spreadsheet:
Duration (years) 18 Shown @ Frames per Second (=#Seconds)
Freq Per # Frames 00000.3 00001.0 00005.0 00012.0 00030.0 00060.0
1 Year 0018 00060.0 00018.0 00003.6 00001.5 00000.6 00000.3
2 Year 0036 00120.0 00036.0 00007.2 00003.0 00001.2 00000.6 (twice a year
3 Year 0054 00180.0 00054.0 00010.8 00004.5 00001.8 00000.9 (3 times a year)
4 Year 0072 00240.0 00072.0 00014.4 00006.0 00002.4 00001.2 (quarterly)
6 Year 0108 00360.0 00108.0 00021.6 00009.0 00003.6 00001.8 (every other month)
12 Year 0216 00720.0 00216.0 00043.2 00018.0 00007.2 00003.6 (monthly)
26 Year 0468 01560.0 00468.0 00093.6 00039.0 00015.6 00007.8 (every other week)
52 Year 0936 03120.0 00936.0 00187.2 00078.0 00031.2 00015.6 (weekly)
365 Year 6570 21900.0 06570.0 01314.0 00547.5 00219.0 00109.5 (daily)
Do you want to give yourself time to look over each shot? Or do you want it to zip by showing the changes? These are things to work out ahead of time.
Yes, there is a way, probably by writing your program or stealing code somewhere from the web.
The OpenCV library contains relevant functions for the detection of human body features (Haar feature detection),
that works on single image.
OpenCV also has dedicated functions for BackgroundSubtraction, ideal if your background is fixed.
If the background is unchanging, it is possible to load the image series into AviUtl and use LUA scripting to do the analysis:
1> subtract 2 image (or better, take a plain background image for the subtraction)
2> find boundary of remaining color pixels
3> crop or mask
The above process might be possible to be automated in PS using macro, but I'm not sure if PS can use macro to work on two image at a time(the subtraction process)
Note that for conventional motion tracking, it is not very suitable for time-lapsed image sequence with long interval between consecutive images because the algorithms often fails when the object moves too fast or jumping around
That's some of the many points of reasons for using a specifically-oriented stop motion animation program!
Stop Motion is a PITA to do with good result... even worse than 3DCG.
I guess most people do stop motion usually in a well-controlled environment, in front of a green/blue screen...
with non-uniform or even moving background, the magnitude of PITA goes up exponentially...
Whew! Ya'll are really smart fellers.