-
Notifications
You must be signed in to change notification settings - Fork 264
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Figure out Sony IBIS data #727
Comments
/bounty $1000 |
💎 $1,000 bounty • GyroflowSteps to solve:
Additional opportunities:
Thank you for contributing to gyroflow/gyroflow! Add a bounty • Share on socials
|
/attempt #727 Options |
Hi @AdrianEddy any tips for working on this issue in addition would be much appreciated :) |
Hi, most of what I know is already in the description. Figuring this out will require a good understanding of how IBIS works and probably some knowledge about lens geometry will be needed as well. For reading the metadata by itself, compile latest master of gyro2bb and you can use Catalyst Browse uses Catmull-Rom for interpolation, but I don't think it matters much. The point is to get an exact The main task here is to understand how to use that data, implementation itself is a small detail |
Thanks for the valuable insight. I shall start by diving into IBIS and take a look at Catalyst Browse first. |
Feel free to contact me on Discord for any details about that or the Gyroflow itself, so you can focus on figuring out IBIS, instead of figuring out the Gyroflow code and where things are and what they do :) |
Noted. That approach seems the most effective in getting this done |
Also, proper implementation (optimized and clean, in all kernel languages etc) is not necessary to claim the bounty. Working proof of concept is enough, and I'll take care of proper implementation, once the algorithm is figured out and proved that it works correctly. |
Very well. I shall keep that in mind as well. |
/attempt #727 Options |
Note: The user @aazam-gh is already attempting to complete issue #727 and claim the bounty. If you attempt to complete the same issue, there is a chance that @aazam-gh will complete the issue first, and be awarded the bounty. We recommend discussing with @aazam-gh and potentially collaborating on the same solution versus creating an alternate solution. |
Hi Adrianaddy check this solution- The provided code appears to integrate IBIS (In-Body Image Stabilization) data into a larger system. Let's break down the solution step by step:
To improve the code:
For any precise debugging or modifications, thorough testing with sample files and detailed understanding of the specific Sony sensor characteristics would be essential. |
This would be so badass as the physical IBIS stabilisation does reduce that shake/shimmer effect when using lower shutter speeds, this is the only thing preventing me from using GyroFlow as a permanent replacement to Catalyst Browse :) |
@AdrianEddy is this issue still open I'd like to work on it. |
@digital-phoenix it is, please join discord, and there's a lot of details discussed in this thread; https://discord.com/channels/797044698682228736/1155153866174767175 |
/attempt #727 Options |
I have an opinion on this code. Even if the distance that the sensor has moved due to ibis is the same, the amount of correction of the image should vary depending on how much the sensor has moved outward from the center of the lens. This is because if the sensor moves in the part where the light is heavily compressed (the part where the density of light is due to the distortion of the lens), it will move more than in the part where it is not. +This is a scenario when Sony cameras process files that have their own lens distortion correction. Rather than adjusting the amount of pixel shift according to the degree of lens distortion, it may be easier to undo the lens distortion correction of the camera itself, perform the pixel shift, and correct the lens distortion again. |
@younghun1124 you should join the discord if you haven't already there is much more information there. |
Thank you to those that are working on this, I think it will be game changing once this is added. The IBIS removes a lot of the blur and micro jitters, so not being able to have this on in the camera is what's stopping a lot of Sony users from using GyroFlow at the moment. |
IBIS data in Sony files consists of a timestamp, angle of rotation and X/Y translation of the sensor.
The main unknown is timing (not sure when the first sample in the array happens exactly) and then how to use the rotation and shift in the stabilization kernel
Adding this to gyro_source.rs after Sony timing:
And this to
frame_transform.rs
:can get you the IBIS data all the way up to the kernel, so you can start experimenting
IBIS data needs to be interpolated for every row of the video (and used together with rolling shutter correction) - this is already interpolated in this sample code, but I think the timing is wrong and thus the point of reference (to the captured frame) is not correct
Sample file with IBIS: https://drive.google.com/file/d/1QgNEK9KtRxIRdS734IgfeH_UTi2Ian3_/view?usp=sharing
Sample file with IBIS and OIS: https://drive.google.com/file/d/15rlTkZfqrRYYCK_mcXel8jKCs-klPNaG/view?usp=sharing
The text was updated successfully, but these errors were encountered: