tag:blogger.com,1999:blog-3505897869747553967.post4246358363207695092..comments2024-03-24T07:41:59.386-07:00Comments on 3D Stereoscopic Photography: View Interpolation (forward and backward mapping/warping)Ugo Capeto 3Dhttp://www.blogger.com/profile/06208931949010344741noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-3505897869747553967.post-35795586516941236752018-06-06T01:21:06.789-07:002018-06-06T01:21:06.789-07:00Hi Ugo:
Is there possible to create intermediate f...Hi Ugo:<br />Is there possible to create intermediate frames only by one image and its depth map? Do you have any idea?dKingbinnoreply@blogger.comtag:blogger.com,1999:blog-3505897869747553967.post-18653105340660853342018-02-11T16:37:05.411-08:002018-02-11T16:37:05.411-08:00Anonymous:
With backward mapping (I think that'...Anonymous:<br />With backward mapping (I think that's what i use in FSG6), you compute an intermediate image considering the left image and the right images. So you get 2 intermediate images. You fuse them using weights: if you are closer to the left image than the right, you put more weight on the left image. I don't remember the details whether you always fuse the 2 images. Also, keep Ugo Capeto 3Dhttps://www.blogger.com/profile/06208931949010344741noreply@blogger.comtag:blogger.com,1999:blog-3505897869747553967.post-83062474079968665622018-02-08T05:55:42.026-08:002018-02-08T05:55:42.026-08:00Dear Anonymous:
it would probably be better to con...Dear Anonymous:<br />it would probably be better to continue the conversation via email. If you are using DMAG6, the right depth map that your are getting needs to be color inverted for FSG6 to work correctly, in other words, white should be near and black should be far for FSG6 to work.Ugo Capeto 3Dhttps://www.blogger.com/profile/06208931949010344741noreply@blogger.comtag:blogger.com,1999:blog-3505897869747553967.post-19678634761132052172018-02-07T18:25:28.493-08:002018-02-07T18:25:28.493-08:00Hi Ugo:
I tried both DMAG6 and FSG6. The intermed...Hi Ugo:<br /><br />I tried both DMAG6 and FSG6. The intermediate frames generated by FSG6 seem to be cross-dissolving between the left/right views rather than a view from a novel point. This is quite apparent near the center (alpha = 0.5), where you can see the "ghosting" of the both original views. I'm wondering if I'm doing something wrong, or maybe I'm not setting Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3505897869747553967.post-27211730999778574522018-02-06T18:47:35.989-08:002018-02-06T18:47:35.989-08:00it looks easy to parallelize. i have implemented t...it looks easy to parallelize. i have implemented the sequential version under the name FSG6 if you want to try it.Ugo Capeto 3Dhttps://www.blogger.com/profile/06208931949010344741noreply@blogger.comtag:blogger.com,1999:blog-3505897869747553967.post-19876869517956875712018-02-06T18:18:07.379-08:002018-02-06T18:18:07.379-08:00Thank you for the quick reply. Very helpful!
A s...Thank you for the quick reply. Very helpful! <br /><br />A separate question. Does the algorithm discussed in this article lend itself to parallel processing? Say I have the left/right depth maps generated ahead of time. Can the algorithm be run at 20-30fps so intermediate views can be dynamically generated in real time? Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3505897869747553967.post-34431380255585016772018-02-06T16:10:58.181-08:002018-02-06T16:10:58.181-08:00This an answer to the question below ...
For gener...This an answer to the question below ...<br />For generating intermediate frames between left and right images of stereo pair, and assuming you have the left and right depthmaps, i don't think you can do much better than what is presented here. Optical flow is much more general approach and a much more difficult problem, which means a lot of errors can be generated in the various processes Ugo Capeto 3Dhttps://www.blogger.com/profile/06208931949010344741noreply@blogger.comtag:blogger.com,1999:blog-3505897869747553967.post-15900915230744045262018-02-06T14:37:59.629-08:002018-02-06T14:37:59.629-08:00Thank you for your articles, very informative!
I...Thank you for your articles, very informative! <br /><br />I'm wondering what you think of the optical flow approach (for example, used by slowmo - https://github.com/slowmoVideo/slowmoVideo/wiki). Is that a good approach for generating intermediate views? How does it compare with the approach described in this article?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3505897869747553967.post-71948513361069151522016-09-01T06:52:36.177-07:002016-09-01T06:52:36.177-07:00The 1st loop creates some kind of lookup table tha...The 1st loop creates some kind of lookup table that's gonna be used in the 2nd loop. x'M[] is an array linking xL (pixel in left image) to corresponding pixel in intermediate view called x'M (same name as the array which was probably unfortunate). The xL in the 2nd loop is the index of the array x'M that was created in the 1st loop.Ugo Capeto 3Dhttps://www.blogger.com/profile/06208931949010344741noreply@blogger.comtag:blogger.com,1999:blog-3505897869747553967.post-74666129189962408512016-09-01T06:17:51.833-07:002016-09-01T06:17:51.833-07:00Can you elaborate on the backward mapping approach...Can you elaborate on the backward mapping approach?<br /><br />I get the first for loop: I create a new picture by shifting the pixels with the disparity to the other camera and save it as xM'.<br /><br />Then, for my empty image IM I go through every pixel xM, and check if my pixel xM, which is empty, is in some kind of range? <br />That does not make sense; I only know the index of the Anonymousnoreply@blogger.com