This application is the national stage entry under 35 U.S.C. § 371 of International Application PCT/EP2019/069372, filed Jul. 18, 2019, which was published in accordance with PCT Article 21(2) on Jan. 23, 2020 in English and which claims the benefit of European patent application 18305986.4 filed Jul. 19, 2018.
The present disclosure relates generally to the field of capture of Light Field (LF) image or video.
More specifically, the disclosure relates to the detection of occlusions in an image captured by a light field capturing system (e.g. a camera rig or array, a plenoptic camera, etc.).
The disclosure can be of interest in any field where LF data processing and/or LF capture is of interest, both for professional and consumers.
LF data consist either in:
Such LF capturing system is able to capture the same scene from different viewpoints, thus delivering a matrix of images that have been captured simultaneously and that represent each one a different viewpoint. One interesting way to exploit these viewpoints is to display the corresponding images with the ability to get the “parallax”. For instance, thanks to navigation means inside the content, the observer may indeed see a foreground object but he may also see a part of the background when he selects a different viewpoint based on a different image of the matrix of images captured by the LF capturing system.
The availability of the different viewpoints in a LF data leads to an enhanced amount of data available for detecting occlusions compared to traditional captures simply based on two views. In that perspective, one can expect that occlusions may be better detected when processing LF data than when using known technics.
There is thus a need for a method for detecting occlusions in an image captured by a LF capturing system that takes advantage of the different viewpoints in the images of the matrix of images captured by the LF capturing system.
However, the ability to see, during the rendering of the LF data, one object that is located in the background of the scene and behind other objects located in the foreground remains driven by the content of the LF data that have been captured. More particularly, if the considered object located in the background has been in the field of view of at least one of the capturing means of the LF capturing system during the capture, its rendering remains possible. Otherwise, it is not possible for the user to see the considered object during the rendering, whatever the selected viewpoint, and it is said that an occlusion occurred for that considered object.
Such occlusion depends on the positioning of the LF capturing system relative to the scene during the capture. More particularly, if the considered object cannot be captured by any of the capturing means of the LF capturing system when the LF capturing system is in a given position relative to the scene, it still may be captured when the LF capturing system is in another position relative to the scene.
Consequently, there is a need for a method for detecting occlusions in an image captured by a LF capturing system that remains light in term of computational load so as to be able to be enforced in real time (for instance to inform the user of the LF capturing system during the capture of a scene).
The present disclosure relates to a method for detecting occlusions in an image captured by a light field capturing system, comprising, for at least one reference image belonging to a matrix of images captured by the light field capturing system:
Another aspect of the disclosure pertains to a device for detecting occlusions in an image captured by a light field capturing system, comprising a processor or a dedicated machine configured for, for at least one reference image belonging to a matrix of images captured by the light field capturing system:
In addition, the present disclosure concerns a non-transitory computer readable medium comprising a computer program product recorded thereon and capable of being run by a processor, including program code instructions comprising program code instructions for implementing a method for detecting occlusions in an image captured by a light field capturing system previously described.
Other features and advantages of embodiments shall appear from the following description, given by way of indicative and non-exhaustive examples and from the appended drawings, of which:
In all of the figures of the present document, the same numerical reference signs designate similar elements and steps.
The disclosed technique relates to a method for detecting occlusions in an image captured by a LF capturing system.
More particularly, such method comprises a determining of a candidate area in a reference image (belonging to a matrix of images captured by the LF capturing system) in which a potential occlusion may occur based at least on a segmentation of a depth map associated to the reference image. An information representative of an occlusion state in the candidate area is determined based at least on visibility values associated with at least two neighborhoods of the candidate area in the reference image.
Thus, the determination of the information representative of the occlusion state takes advantage of the information available in the different views of the LF data, thus leading to improved results compared to known technics. Furthermore, the determination of the information representative of the occlusion state relies only on parameters easily derivable (e.g. depth and visibility) with few additional derivations so that the method can easily be enforced. For instance, the method can be used in a real time environment so as to inform the user of the LF capturing system during a capture of the image in question. In that particular case, the user is thus able to change the position and/or orientation of the LF capturing system so as to avoid the presence of the occlusion if any.
We now describe in relationship with
When capturing the scene 150 at a given instant, the LF capturing system 100 delivers a matrix of images belonging to a LF data, each image in the matrix capturing the scene 150 with a different viewpoint. For that, the LF capturing system 100 comprises an optical system 100o which is more particularly dedicated to the simultaneous capture of the images in the matrix.
In the present embodiment, the LF capturing system 100 is a camera rig (or camera array) and the optical system 100o comprises 4 camera 10001 to 100o4 (
Back to
Back to
In a first configuration of the scene 150 (
Each camera 10001 to 100o4 capture the scene from a different viewpoint. Consequently, the foreground object 150a hides a different part of the background object 150b for each of the cameras 10001 to 100o4. For instance, the dashed lines 100o1oa delimit the area not seen by the first camera 10001 behind the foreground object 150a. The occlusion experienced by the first camera 10001 corresponds to the intersection of the area in question with the background object 150b. The same holds for the other cameras 100o2 to 100o4, but with a different viewpoint. At the end, the final occlusion is related to the area 200 (area depicted in dark grey in
In this first configuration, the distance from the foreground object 150a to the optical system 100o remains high in respected of the distance in between the cameras 10001 to 100o4 of the optical system 100o. Consequently, the area 200 extends up to the background object 150b so that even a final occlusion exists.
In a second configuration of the scene 150 (
Consequently, even if the occlusion experienced by the first camera 100o1 (i.e. the intersection of the area delimited by the dashed lines 100o1ob with the background object 150b) is more important than in the first configuration discussed above, there is no more final occlusion. Indeed, the area 300 (area depicted in dark grey in
We now describe in relationship with
In a step S400, a depth map 210 (
For instance, the depth map 210 is calculated based on the information contained in the different images of the matrix of images as proposed in the paper from N. Sabater and al, “Dataset and Pipeline for Multi-View Light-Field Video,” CVPR'17. In other variants, other suitable known methods are used for calculating the depth map 220 for pixels in the reference image based on the available information.
Conversely, the visibility map 220 indicates the number of cameras among the cameras 100o1 to 100o4 in the LF capturing system 100 that see a given pixel. In the present case, the values of the visibility map 220 are between 1 (pixel seen by a single camera 100o1 or 100o2 or 100o3 or 10004) and 4 (4 being the number of cameras 100o1 to 100o4 in the system). In other embodiments, if a LF capturing system is composed of n cameras, the values of the visibility map are between 1 and n.
Consequently, for calculating the visibility map 220, the pixels of the reference image are parsed successively. For each of those pixels, an equivalent pixel is searched in other images of the matrix of images (i.e. with the same RGB XYZ taking into account geometric and photometric calibration). For each new equivalent pixel found in another image, a counter is incremented for the pixel considered in the reference view. The visibility map 220 is created that indicates the number of images that contain this pixel. In variants, refinements can be used for deriving such visibility map. For instance, the visibility map 220 can be calculated on sub-sampled resolution or by pooling the calculations made when calculating disparity maps between images. In the same way, the disparity maps computed in parallel can be used to optimize the search areas of the equivalents in the other cameras, focusing on the gradient zones of the depth. It is also possible to optimize the equivalents search area by considering the value of the depth gradient and the value of the baseline of the cameras. Alternatively, the algorithm proposed in the paper from K. Wolff, et al., “Point Cloud Noise and Outlier Removal for Image-Based 3D Reconstruction”, Proceedings of International Conference on 3D Vision, IEEE, 2016, can be considered for deriving the visibility map.
In a step S410, a candidate area 240 (
For instance, in a step S410a, the range of depth covered by the depth map 210 is segmented into a first depth interval 240d1 (
For instance, the first depth interval 240d1 is selected so as to contain depth values corresponding to the foreground object 150a, and the second depth interval 240d2 is selected so as to contain depth values corresponding to the background object 150b. In that case, the first set of pixels 240p1 is expected to contain pixels representing the foreground object 150a and the second set of pixels 240p2 is expected to contain pixels representing the background object 150b. Thus, pixels in the candidate area 240 as defined above have depth values only in the foreground area of the scene 150 and can be suspected to correspond to parts of the image where an occlusion may occur, i.e. where some parts of the background object 150b could be hidden.
In the example of
The first 240p1 and second 240p2 sets of pixels define two submaps of the visibility map that corresponds respectively to the visibility values of the pixels in the first set of pixels 240p1 (
In a step S420, an information representative of an occlusion state in the candidate area 240 is determined based at least on visibility values of the visibility map 220 associated with at least two neighborhoods of the candidate area 240.
For instance, in a step S420a, the visibility values (provided by the visibility map calculated in step S400) of at least two first pixels belonging to a first neighborhood 250n1 (
In the considered first configuration of the scene 150, the intersection 250c12 of the first 250c1 and second 250c2 extrapolated curves occurs for a negative extrapolated visibility (situation of
In other situations where the intersection of the first 250c1 and second 250c2 extrapolated curves occurs for a positive extrapolated visibility (i.e. in a situation where the intersection would be above the x axis), it can be expected that there is at least one pixel of another image of the matrix that captured part of the background object 150b located behind the foreground object 150a. In such situations, the information is determined as representative that no occlusion occurs in the candidate area 240. In alternative embodiments, no information is explicitly determined in such situations in order to simplify the derivations.
Back to
More particularly, when the step S420 is enforced for a line or a column of the reference image, the first 250c1 and second 250c2 extrapolated curves extend in a cut plane of the visibility map 220 following the line or column in question (
Back to
The magnitude of the difference between the first 250i1 and second 250i2 intersection coordinates is representative of the magnitude of the occlusion. The information takes into account also for the magnitude of such difference.
More particularly, such magnitude makes the link between on one hand the rate of decrease of the visibility in the neighborhood 250n1, 250n2 of the candidate area 240 and on the other hand the width of the candidate area 240 itself. Having a slow decrease in the visibility can indeed compensate for a candidate area 240 with a high width. In other words, even facing a candidate area 240 with a high width, a slow decrease in the visibility of pixels in the neighborhood 250n1, 250n2 of the area 240 in question may result in a low magnitude of the difference between the first 250i1 and second 250i2 intersection coordinates. In that case, it may indicate that despite the high width of the candidate area 240, the occlusion may remain weak. Such situation occurs for instance when there is a high enough distance between the foreground 150a and background 150b objects. The magnitude of the difference is therefore expected to be representative of the area in which no visibility is expected and thus to be representative of the occlusion in the end.
When the above-discussed processing involved in step S420 is enforced successively for each line and column of the reference image, a new information representative of the occlusion state in the candidate area 240, named an intermediate information, is delivered each time. The successive enforcement for each line and column of the step S420 delivers a set of intermediate information. In that case, the information is representative that an occlusion occurs in the candidate area 240 when a percentage of intermediate information that are representative that an occlusion occurs, relative to the total number of intermediate information in the set of intermediate information, is greater than a given threshold (e.g. 50%).
Having that the processing involved in step S420 is enforced successively for each line and column of the reference image, the magnitude of the difference between the first 250i1 and second 250i2 intersection coordinates is integrated for each enforcement of the step S420 for delivering an integrated difference. In that case, the information takes into account also for the integrated difference.
In other embodiments not illustrated, the step S420 is not enforced successively for each line and column of the reference image, but rather for a single cut-line of the reference image, or at least a limited number of cut-lines, for decreasing the computational load of the device 110.
In the embodiment illustrated in
For that, in a step S430a the reference image is rendered lively on the display 100d of the LF capturing system 100 with a distinct contour 260t (
In other embodiments not illustrated, the information is delivered to the user through other communication means (e.g. through an audible signal, etc.).
In variants, more than one candidate area determined in step S410. In that case, the step S420 is enforced for different candidate areas among the ones determined in step S410. The information delivered to the user during the enforcement of step S430 is representative of an occlusion state in the corresponding candidate areas. For instance, a distinct contour is plotted around each of the candidate areas for which the information is representative that an occlusion occurs.
In still other embodiments, the disclosed method is enforced in post-processing and the information determined in step S420 is delivered in step S430 whether to a person performing the post-processing (e.g. through a dedicated warning), whether as an input for another method relying on such detection, or whether as a metadata associated to the LF data.
We discuss further the processing involved in the method of
More particularly, in this second configuration of the scene 150, the foreground object 150a is far away from the background object 150b and close to the optical system 100o of the LF capturing system 100. Furthermore, the width of the foreground object 150a remains lower than the distance in between the cameras 100o1 to 100o4 of the optical system 100o. Consequently, there is no more final occlusion existing as discussed above.
Thus, a visibility map 320 (
A depth map 310 (
The enforcement of step S410, and more particularly of steps S410a and S410b delivers a first set of pixels 340p1 and a second set of pixels 340p2 (
During the enforcement of step S420, and more particularly of steps S420a, the visibility values of at least two first pixels belonging to a first neighborhood 350n1 of the candidate area 340, resp. at least two second pixels belonging to a second neighborhood 350n2 of the candidate area 340, are extrapolated (based e.g. on a linear (gradient like derivation) or bilinear interpolation, a bicubic interpolation, a Lanczos interpolation, etc.) for delivering a first 350c1, resp. second 250c2, extrapolated curve as illustrated in
However, on the opposite of what occurred in the first configuration of the scene 150, in the present second configuration the intersection 350c12 of the first 350c1 and second 250c2 extrapolated curves occurs for a positive extrapolated visibility. Consequently, the information is representative that no occlusion occurs in the candidate area 340. For instance, when the disclosed method is enforced during the capture of the scene 150 by the LF capturing system 100, no distinct contour is displayed around the candidate area 340 on the display 100d of the LF capturing system 100 in that case.
In this embodiment, the device 110 for implementing the disclosed method comprises a non-volatile memory 503 (e.g. a read-only memory (ROM) or a hard disk), a volatile memory 501 (e.g. a random-access memory or RAM) and a processor 502. The non-volatile memory 503 is a non-transitory computer-readable carrier medium. It stores executable program code instructions, which are executed by the processor 502 in order to enable implementation of the method described above (method for informing a user of a LF capturing system of a potential occlusion during a capture of a scene according to the disclosure) in its various embodiment disclosed above in relationship with
Upon initialization, the aforementioned program code instructions are transferred from the non-volatile memory 503 to the volatile memory 501 so as to be executed by the processor 502. The volatile memory 501 likewise includes registers for storing the variables and parameters required for this execution.
All the steps of the above method for informing a user of a light field capturing system of a potential occlusion during a capture of a scene according to the disclosure may be implemented equally well:
In other words, the disclosure is not limited to a purely software-based implementation, in the form of computer program instructions, but that it may also be implemented in hardware form or any form combining a hardware portion and a software portion.
According to one embodiment, a method is proposed for detecting occlusions in an image captured by a light field capturing system, comprising, for at least one reference image belonging to a matrix of images captured by the light field capturing system:
Thus, the present disclosure proposes a new and inventive solution for detecting occlusions in an image captured by a LF capturing system (e.g. a camera rig or array, a plenoptic camera, etc.) that takes advantage of the information available in the different views of the LF data.
Furthermore, the determination of the information representative of the occlusion state relies only on parameters easily derivable (e.g. depth and visibility) with few additional derivations so that the method can easily be enforced. For instance, the method can be used in a real time environment so as to inform the user of the LF capturing system during a capture of the image in question. In that case, the user is able to change the position and/or orientation of the LF capturing system so as to avoid the presence of the occlusion if any.
According to one embodiment, a device is proposed for detecting occlusions in an image captured by a light field capturing system, comprising a processor or a dedicated machine configured for, for at least one reference image belonging to a matrix of images captured by the light field capturing system:
According to one embodiment, the determining at least one candidate area comprises:
Thus, the first set of pixels corresponds for instance to parts of the reference image that are in the foreground and the second set of pixels corresponds to parts of the reference image that are in the background (In the particular case where the first and second depth intervals are not overlapping, the pixels in the first set of pixels are necessarily absent from the second set of pixels). Pixels that have depth values only in the foreground can be suspected to correspond to parts of the image where an occlusion may occur, i.e. where some objects in the background could be hidden.
According to one embodiment, the determining an information comprises extrapolating visibility values of at least two first pixels, resp. at least two second pixels, belonging to a first neighborhood, resp. to a second neighborhood, of said at least one candidate area delivering a first, resp. second, extrapolated curve extending toward decreasing visibility values in the visibility map. The information is representative that an occlusion occurs in said at least one candidate area when the first and second extrapolated curves intercept each other for a negative extrapolated visibility value.
Such extrapolation can be based e.g. on a linear (gradient like derivation) or bilinear interpolation, a bicubic interpolation, a Lanczos interpolation, etc.
More particularly, when the intersection of the first and second extrapolated curves occurs for a negative extrapolated visibility, it can be expected that there is no pixels in the other images of the matrix than the reference one that captured part of the background located behind the foreground defined through the first depth interval (as visibility is defined as proportional to the number of different images in which a same pixel is present).
Conversely, when the intersection of the first and second extrapolated curves occurs for a positive extrapolated visibility, it can be expected that there is at least one pixel of another image of the matrix that captured part of the background located behind the foreground.
According to one embodiment, the determining an information is enforced at least for a line or a column, of the reference image, the first and second extrapolated curves extending in a cut plane of the visibility map following the line or column. The determining the information comprises when the first and second extrapolated curve intercept each other for a negative extrapolated visibility value:
Thus, the magnitude of the difference is expected to be representative of the area in which no visibility is expected and thus to be representative of the magnitude of the occlusion.
According to one embodiment, the determining an information is enforced successively for each line and column of the reference image delivering each time a new information representative of the occlusion state in said at least one candidate area, named an intermediate information. The successive enforcement for each line and column delivers a set of intermediate information.
Thus, the full information retrieved from the visibility of pixels all around the candidate area can be used for determining the information.
According to one embodiment, the information is representative that an occlusion occurs in said at least one candidate area when a percentage of intermediate information that are representative that an occlusion occurs, relative to the total number of intermediate information in the set of intermediate information, is greater than a given threshold.
According to one embodiment, the magnitude of the difference is integrated for each enforcement of the act of determining an information delivering an integrated difference. The information takes into account also for the integrated difference.
According to one embodiment, the method further comprises, or the device is further configured for, delivering the information to a user of the light field capturing system during a capture of the reference image.
According to one embodiment, the act of delivering the information comprises rendering the reference image on a display of the light field capturing system with a distinct contour plotted around said at least one candidate area.
According to one embodiment, a thickness of the distinct contour is a function of the integrated difference.
According to one embodiment, a non-transitory computer readable medium comprising a computer program product recorded thereon and capable of being run by a processor, including program code instructions comprising program code instructions for implementing a method for detecting occlusions in an image captured by a light field capturing system previously described is proposed.
Number | Date | Country | Kind |
---|---|---|---|
18305986 | Jul 2018 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2019/069372 | 7/18/2019 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2020/016357 | 1/23/2020 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
8619082 | Ciurea et al. | Dec 2013 | B1 |
9154697 | Geiss et al. | Oct 2015 | B2 |
9269142 | Bajard et al. | Feb 2016 | B2 |
9813607 | Kalevo et al. | Nov 2017 | B2 |
20060204040 | Freeman et al. | Sep 2006 | A1 |
20130077882 | Venkataraman | Mar 2013 | A1 |
20140079336 | Venkataraman | Mar 2014 | A1 |
20140321712 | Ciurea | Oct 2014 | A1 |
20150254868 | Srikanth et al. | Sep 2015 | A1 |
20160063715 | Wan | Mar 2016 | A1 |
20170330376 | Haseltine et al. | Nov 2017 | A1 |
20190057513 | Jain | Feb 2019 | A1 |
Number | Date | Country |
---|---|---|
101312540 | Nov 2008 | CN |
101720480 | Jun 2010 | CN |
101822068 | Sep 2010 | CN |
104662589 | May 2015 | CN |
107347151 | Nov 2017 | CN |
107376349 | Nov 2017 | CN |
107924572 | Apr 2018 | CN |
3273686 | Jan 2018 | EP |
2009004527 | Jan 2009 | WO |
2009047681 | Apr 2009 | WO |
2016167814 | Oct 2016 | WO |
Entry |
---|
Merrell et al. (“Real-Time Visibility-Based Fusion of Depth Maps,” IEEE 11th International Conference on Computer Vision; Date of Conference: Oct. 14-21, 2007 ) (Year: 2007). |
Li et al. (“Continuous depth map reconstruction from light fields,” IEEE Transactions on Image Processing, vol. 24, Issue: 11, Nov. 2015) (Year: 2015). |
Wanner et al. (“Globally consistent depth labeling of 4D light fields,” IEEE Conference on Computer Vision and Pattern Recognition; Date of Conference: Jun. 16-21, 2012) (Year: 2012). |
Xu et al. (“Least Commitment, Viewpoint-Based, Multi-view Stereo,” Second International Conference on 3D Imaging, Modeling, Processing, Visualization & Transmission; Date of Conference: Oct. 13-15, 2012) (Year: 2012). |
Yang et al. (“All-in-focus synthetic aperture imaging,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 28, Iss. 2, Feb. 2018)) (Year: 2018). |
Wang et al. (“Occlusion-aware Depth Estimation Using Light-field Cameras,” Proceedings of the IEEE International Conference on Computer Vision, 2015 (Year: 2015). |
CN107347151A TR EN machine translation full Mar. 20, 2020. |
Wolff, Katja et al., “Point Cloud Noise and Outlier Removal for Image-Based 3D Reconstruction,” 2016 Conference on 3D IEEE. |
Tao Yang et al. “All-in-focus synthetic aperture imaging,” International Conference on Simulation, Modeling, and Programming for Autonomous Robots, SIMPAR 2010, Jan. 1, 2014. |
Sabater, N. et al., “Dataset and Pipeline for Multi-view Light-Field Video,” 2017 IEEE Conference on Computer Vision and Pattern Recognition Workshops, Jul. 21, 2017. |
Chia-Kai Liang et al, “Programmable aperture photography: Multiplexed Light Field Acquisition,” ACM Transactions on Graphics vol. 27 No. 3, Aug. 1, 2008, pp. 55:1-55:10. |
Number | Date | Country | |
---|---|---|---|
20210233266 A1 | Jul 2021 | US |