"Steady hands" detection (another poor man's IS)

Started by a1ex, November 07, 2012, 10:32:47 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

a1ex

Last night I've tried to use the roll/pitch sensors from 5D3 in order to detect when the camera is steady. It worked... sort of, but with serious stability issues (e.g. just pressing shutter halfway was interferring with the sensor).

Then I've tried the same trick in LiveView, with the motion detection engine, but reversed. This time, if the motion level is under the threshold for the last 5 frames, I assume you are holding the camera steady and a picture can be taken. You need to hold the shutter pressed half-way (or the star button).

Code: http://bitbucket.org/hudson/magic-lantern/changeset/bab21e8a4b5c

bart

Nice. Maybe a practical implementation would be to take the picture when a certain steady threshold is reached. Like when you handhold a 500mm lens press shutter and then try to hold it as still as possible to avoid shake. If you don't reach the chosen  threshold value, you should try other hold positions and measure if that improves stability.

ilguercio

Quote from: b4rt on November 07, 2012, 12:17:50 PM
Nice. Maybe a practical implementation would be to take the picture when a certain steady threshold is reached. Like when you handhold a 500mm lens press shutter and then try to hold it as still as possible to avoid shake. If you don't reach the chosen  threshold value, you should try other hold positions and measure if that improves stability.
*
So you don't have to hold halfshutter and you can grip the camera the best way for that shot.
Halfshutter could just be pressed once, and then the frame computation starts.
Canon EOS 6D, 60D, 50D.
Sigma 70-200 EX OS HSM, Sigma 70-200 Apo EX HSM, Samyang 14 2.8, Samyang 35 1.4, Samyang 85 1.4.
Proud supporter of Magic Lantern.

1%

So that is what motion manager is for.... too bad it doesn't work outside of LV. You can also make a shake warning for video.

a1ex

For video, I was able to scramble LiveView frames somewhat, in such a way that motion is amplified a lot. You can try it by calling display_shake_step from the same point as hdr_kill_flicker. It looks quite odd and might get reported as bug, but if you find it useful, I'll enable it.

scrax

It works for me but I have set to clean overlay with halfshutter pressed, so after a little all goes away threshold value too.
As ilguercio suggested maybe could be better if hafshutter don't has to be kept press, using it just to toggle the motion detector or will it conflict with something other?
Also i've just found out that LV button trick don't works in play mode (to rate or protect image), is this only on 600D?
I'll try to find the commit where it starts before posting the bug report.
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

1%

As ilguercio suggested maybe could be better if hafshutter don't has to be kept press, using it just to toggle the motion detector or will it conflict with something other?


It will snap a pic every time the camera is steady that way. So you'd lose control. On a tripod I'd imagine it would just fire away.

discocalculi

Tried tweaking some with the treshold value. With the Sigma stabilizer I can get as low as 5. Below that is not possible. Well not now anyway. Too much coffee, I guess. Without the stabilizer I'm up at around 10. (By the way, the tests where done with a 550D, a wideangle lens and live view)




scrax

Quote from: 1% on November 07, 2012, 07:21:49 PM
As ilguercio suggested maybe could be better if hafshutter don't has to be kept press, using it just to toggle the motion detector or will it conflict with something other?


It will snap a pic every time the camera is steady that way. So you'd lose control. On a tripod I'd imagine it would just fire away.

I was thinking that after a snap it will need another halfshutter press to restart detection, with a tele you can have more steady shot if you don't need to keep it pressed.

With the 100mm I can shot at 8 threshold and 1/25 , but i've put my arm on a table to be more stable.  :P
Live view is not really good for me for keep the camera steady but I'll try more.
this and MLU handheld are really nice by the way...  :D
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

ilguercio

Quote from: scrax on November 07, 2012, 07:45:34 PM
I was thinking that after a snap it will need another halfshutter press to restart detection, with a tele you can have more stedy shot if you don't need to keep it pressed.
I second that.
Canon EOS 6D, 60D, 50D.
Sigma 70-200 EX OS HSM, Sigma 70-200 Apo EX HSM, Samyang 14 2.8, Samyang 35 1.4, Samyang 85 1.4.
Proud supporter of Magic Lantern.

a1ex

Some tweaks:

- If you start it from outside LiveView, it will go to LiveView temporarily (with display off) and fire when the camera is steady. Kinda usable in photo mode.

- If you start from outside LiveView, and de-press the half-shutter right after you hear the mirror sound, the half-shutter becomes sticky (no need to hold it).

This feature is probably most effective in higher-end bodies (60D, 7D, 5D2, 5D3) because they don't move the mirror when you take photos in LiveView.

1%

Is the mirror actually connected to the shutter or can this behavior be patched out?

Shizuka

Quote from: 1% on November 08, 2012, 01:07:49 AM
Is the mirror actually connected to the shutter or can this behavior be patched out?

Think it's part of the shooting mechanism in the lower end cameras. Not sure at actual answer.

ilguercio

Since with the latest changesets you can use it as if it was in photo mode (LV with the screen off) why don't you intercept SHUTTER FULL PRESS and make it act like when in MF mode with an AF lens? What i mean is:i point the camera towards the subject, the frame still shakes a little, i keep the shutter button pressed FULLY and it snaps as soon as the frame is still. Does it make sense? This would be a bit more straightforward, in my opinion.
Canon EOS 6D, 60D, 50D.
Sigma 70-200 EX OS HSM, Sigma 70-200 Apo EX HSM, Samyang 14 2.8, Samyang 35 1.4, Samyang 85 1.4.
Proud supporter of Magic Lantern.

1%

In non-lv mode it also starts snapping over and over again sometimes.

a1ex

Full press is very hard to intercept and block (the MLU trick doesn't block it, but just detects it passively).

Plus... if you feel that you are wasting a photo opportunity, just press the shutter fully and take a picture regardless of camera shake measurements.

I'm not sure how to make it snap over and over, can you find a pattern?

ilguercio

Works ok on my 50D. As i press halfshutter it waits a bit and then it turns to LV mode with the screen off. Blue led on. As soon as i'm steady it fires.
The "problem" is there's LV on for a while after the shot has been taken. Can this passage be skipped?
Canon EOS 6D, 60D, 50D.
Sigma 70-200 EX OS HSM, Sigma 70-200 Apo EX HSM, Samyang 14 2.8, Samyang 35 1.4, Samyang 85 1.4.
Proud supporter of Magic Lantern.

a1ex

On 5D3, LiveView is closed as soon as you finish reviewing the picture. It's very hard to close it earlier.

scrax

I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-