The present disclosure incorporates by reference in its entirety the patent application currently identified by attorney docked number PF 150248 and filed on the same day and co-owned by the same inventors.
The present disclosure relates generally to three dimensional video imaging and more particularly to three dimensional video imaging incorporating reflectance parameter estimations using an RGB-D sequence.
In digital applications, including virtual reality and augmented reality applications, it is difficult to create the illusion of three dimensional shapes using only two dimensional contours comprised of lines for a variety of reasons. Creation of three dimensional shapes depends on accurate duplication of shading and reproduction of color intensity of real life objects. Distinguishing accurate color hues and characteristics to enable the process of duplicating them greatly depends on two factors. The first factor has to do with understanding illumination of objects by light sources, and the second factor has to do with the capacity of human eye in distinguishing hues appropriately under different conditions. Intrinsic image decomposition to create three dimensional objects that seem realistic aims to separate an image into its reflectance and shading components. The reflectance component contains the intrinsic color, or albedo, of surface points independent of the illumination environment. On the other hand, the shading component consists of various lighting effects including shadows.
One technique used to reproduce three dimensional shapes based on location and shading of objects is called imaging. Imaging is the process that maps light intensities from points in a scene onto an image plane. The points that define a plane can be plotted and represent the location of a plane but they do not define the contours that give a three dimensional effect to an object. The latter is determined by the image intensity or image irradiance. The image irradiance of a point in the image plane is defined as power per unit area of radiant energy, falling on an image plane. Radiance is defined as the outgoing energy while the irradiance is defined as an incoming energy. Reflectance of the surface of a material is its effectiveness in reflecting radiant energy. It is the fraction of incident electromagnetic power that is reflected at an interface. The reflectance spectrum or spectral reflectance curve is the plot of the reflectance as a function of its wavelength.
Colors containing only one wavelength are called pure colors or spectral colors. Many color displays such as those used in mobile devices, computer monitors and television sets cannot reproduce all colors discernible by a human eye. Colors outside the spectral range, can only be approximated in many cases due to device limitations. This makes application of imaging techniques a challenging task. The problem of estimating reflectance parameters and light source location in a virtual reality or augmented reality application is particularly difficult because the location and characteristic of the light source reflecting from different objects in a scene has to be estimated each time. In addition, diffuse and specular reflectance properties of surfaces in the scene has to also be calculated. Consequently techniques that allow for realistic presentation of images in three dimensions are desired.
A method and system for three dimensional presentation of two dimensional images in a video sequence having a plurality of frames is provided. In one embodiment, the method comprises identifying a plurality of points to be presented in three dimensional images and performing a color and depth sequence analysis for each of these points. A profile is then generated profiles for each of the points based on the analysis. The profiles are classified as variable profiles or constant profiles and a surface reflectance is calculated for each of the points having a constant profile. Method also comprises modifying the two dimensional images to present as three dimensional images for points having a constant profile, wherein the images maintain uniform color and appearance between adjacent frames along the video sequence.
In another embodiment a system for three dimensional presentation of two dimensional images in a video sequence having a plurality of frames is provided. The system comprises a camera for generating a video sequence having a plurality of frames along the sequence, a sensor associated with said camera to capture each of the frames along the sequence from a plurality of angles and a processor in communication with the camera and the sensor. The processor is configured to identify a plurality of points associated with each frame for points that are associated with three dimensional images. The processor performs a color and depth sequence analysis for each points and generates profiles based on this. At least one of the points is created virtually. The processor also classifies the profiles as variable profiles or constant profiles. A surface reflectance is generated for each of points with a constant profile. The processor also modifies two dimensional images to be presented as three dimensional images for associated points having a constant profile such that the images maintain uniform color and appearance between adjacent frames in said video sequence.
In another embodiment, a system for three dimensional presentation of two dimensional images in a video sequence having a plurality of frames is provided. The system comprises means for generating a video sequence having a plurality of frames along the sequence, wherein said frames along said sequence include a plurality of viewpoints from a plurality of angles. The system also comprises means for identifying a plurality of points associated with each frame wherein each point is associated with the to be presented three dimensional image. The system also comprises means for performing a color and depth sequence analysis for each of these points and means for generating profiles based on the analysis. The systems also comprises means for classifying the profiles as variable or constant profiles and means for calculating a surface reflectance for each of the points having a constant profile. In addition, the system comprises means for modifying the two dimensional images to be presented as three dimensional images for points having a constant profile, wherein that these images maintain uniform color and appearance between adjacent frames along the video sequence.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered as part of the claimed invention. For a better understanding of the invention with advantages and features, refer to the description and to the drawings.
The invention will be better understood and illustrated by means of the following embodiment and execution examples, in no way limitative, with reference to the appended figures on which:
In
Wherever possible, the same reference numerals will be used throughout the figures to refer to the same or like parts.
It is to be understood that the figures and descriptions of the present invention have been simplified to illustrate elements that are relevant for a clear understanding of the present invention, while eliminating, for purposes of clarity, many other elements found in typical digital multimedia content delivery methods and systems. However, because such elements are well known in the art, a detailed discussion of such elements is not provided herein. The disclosure herein is directed to all such variations and modifications.
In this embodiment, the surface point P (100), is part of an object whose image is captured in two dimensions. The point may be a real point, such as captured by a camera, or a virtual point created in mixed, an augmented or virtual reality system. The point may also be part of a scene or frame along a video sequence.
In this embodiment, the scene or frame will be presented in three dimensions (hereinafter 3D). Therefore, appropriate color variation and overall shading will be added or enhanced to features that enhance the illusion of three dimensionality of the scene. To this end, intrinsic image decomposition aims to separate the image of each object containing point P 100 into its reflectance and shading components. The reflectance component R contains the intrinsic color, or albedo, of surface point P 100 independent of the illumination environment. On the other hand, the shading component S consists of various lighting effects including shadows that have to be added to the object's image to provide the three dimensional effects. The relationship between the reflectance component R and shading S for an image I can be defined as:
Ip=Rp.Sp
where p denotes the point in the image space, as discussed.
{right arrow over (R)}(P)=2.({right arrow over (L)}(P).{right arrow over (N)}(P)).{right arrow over (N)}(P)−{right arrow over (L)}(P) (1)
Vector {right arrow over (R)} is of particular interest because in addition to challenges of creating three dimensional images, distinguishing between diffuse and specular effects on surfaces are difficult due to device limitations. A specular reflection is a phenomenon in which human eye sees an illuminated shiny surface. To this end, the eye observes a highlight or bright spot at certain viewing directions. Diffuse reflections by contrast occur when incoming light is reflected in a broad range of direction. An example of the distinction between specular and diffuse reflection would be glossy and matte paints. Matte paints have almost exclusively diffuse reflection, while glossy paints have both specular and diffuse reflection. A polished metallic objects, such as a mirror (silver or aluminum) can reflect light very efficiently whereas solid non-metallic surfaces such as concrete walls usually have mostly diffuse reflections. In surfaces with specular reflections, there is a mirror like reflection of light or from the surface. In such a case, the light emanates from a single incoming direction (a ray) and is reflected into a single outgoing direction. Such behavior is described by the law of reflection, which states that the direction of incoming light (the incident ray), and the direction of outgoing light reflected (the reflected ray) make the same angle with respect to the surface normal.
Consequently, in any application that is to provide a realistic three dimensional depiction of an object, even with diffuse components, the presence of probable specular reflections must be considered. In addition, any estimation of intrinsic image sequences for any scene or sequence of scenes such as presented in a video stream has to take into account both the color hue and the depth of color (hereinafter RGB-D) to produce realistic images. Sometimes a temporal filtering may be used to implicitly isolate the diffuse components from the specular ones but when using displays, specular shading effects merge with shadows, not allowing adequate visual separations for the human eye to decipher the difference. Therefore, a better identification and analysis of specular effects is required. Such analysis has to be provided regardless of whether the point is real or created virtually. The diffuse and specular calculations have to be estimated accurately in either case to provide a superior and realistic presentation of a frame or scene. To aid understanding, an example can be discussed in conjunction with the embodiment presented in
In
A particular scene or frame along a sequence of frames in a video image capture, is shown in
To aid understanding, it is considered that the book 320 is blue generally and different hues and intensities of blue or other colors render the book its three dimensional appearance. In this example, all shadows are considered to appear as gray, except the shadow associated with the glue stick 330 as will be discussed. The reflection area 340 is white. To obtain the correct color result, it is necessary to understand that the white patch on the book 340 is due to the specular effect of the light source on the book. In the absence of this effect the color of this area is blue as discussed. The glue stick 330 is black, however, the shadow cast by the glue stick 332, is neither white nor gray. Taking the book and its specular effect into consideration, the shadow emanating from the glue stick 330 has a shade of blue. This would have been the case if a real image of the glue stick was captured by a camera. The correct estimation of the color and shading has to be made for virtual images without physical confirmation of a real image.
In
Different formula can be used in different examples to provide the estimations. In a first case, in order to describe the way a surface reflects light as a combination of the diffuse reflection of rough surfaces and the specular reflection of shiny surfaces the following formula can be used:
In the above formula, the first component of the addition on the right side relates to an ambient lighting, wherein the second component refers to a diffuse lighting (the sum on m is applied to the number of light sources) and the third component refers to a specular lighting. The parameters ka, kd and ks are respectively defined as ambient reflection, diffuse (albedo) reflection and specular reflection coefficients. Parameter α refers to the width of the reflection lobe (the specular effect is more or less spread). It can be also defined as a measure of the reflection or “shininess” of a surface such that a larger value will indicate a higher reflection or a more mirror-like quality. The Ks value also indicates the level of specular reflection. In order to provide a realistic model, the reflectance parameters of the object surfaces as well as the lighting sources have to be first estimated. Light sources are often identified via the direct observation of the light sources such as from a camera. It is also important to capture the scene (when real) or consider the scene or frame (when virtual) from different angles to estimate different results due to the effect of light sources and geometries. Ambient lighting must also be considered. The following formula reflects other formula already discussed but with the ambient lighting also being considered:
The equation above assumes that image color of P results from a sum of m diffuse effects and one specular effect. Therefore, this can be used to derive:
The above equation provides for a square error that is summed over all the pixels of a given object, between the pixel intensity and the decomposition. Theoretically, using this calculation, for each segment cluster the diffuse and specular parameters can be computed. However, in real applications an object in a scene can have the same color intensity, without all its parts having the same behavior towards a specular lighting (e.g. sphere with metal and cotton materials).
Some prior art applications have tried to determine the reflectance parameters and the illumination distribution from a set of images to resolve such issues. In such cases, each image is aligned with a three dimensional model. Each image will then have to be decomposed into two images as with regards to the reflectance components and based on the intensity variation of object surface points. It is possible to then generate a reflectance profile for each point but only the profiles that show an impact of the view-dependent reflection (specular reflection) can be processed. The profiles with no significant variation as far as the intensity is concerned are therefore left unprocessed.
Taking these mathematical calculations and shortcomings into consideration, it is possible to estimate diffuse and specular surface reflectance from a RGB image sequence with known geometry. In one embodiment, the geometry can be estimated previously. In a different embodiment, the geometry can be captured on-line as a depth map together with the RGB frame via a RGB+depth sensor (e.g. Kinect sensor). In one example, the three dimensional (hereinafter 3D) scene is static. The RGBD sensor can be moving around the scene, so the scene is observed under various view angles. A set of RGB and depth frames can then be acquired along this trajectory. Camera pose, with respect to a given coordinate system attached to the scene, can then become for each frame. In this embodiment, from the 3D geometry, surface normal(s) can be computed and any occlusion of a surface by an object from a given 3D viewpoint can then be estimated. Consequently, given a particular point of a surface in this scene, the corresponding image point in the frames of the video sequence can be located and be classified accordingly as visible, occluded or out of field. Therefore, considering a frame of the input video sequence, it is possible to estimate a color profile of each pixel (as long as the point is visible from the particular viewpoint). A profile can then be generated in one embodiment. This profile includes a triple curve that also describes the evolution of the color for a corresponding 3D point for the scene given a set of viewpoints. A particular curve can then be selected for each pixel. The curve can have a variety of specifics. In one embodiment, for example, the curve can correspond to the sum of the three color components that may be weighted according to one of the common formula used to convert color to luminance as can be appreciated by those skilled in the art.
Applying some of the calculations discussed above, in one embodiment, the profile can be described by equation (2):
In this case, the variable ‘t’ still refers to the image index and static ambient and diffuse components are similarly grouped in the parameter Idp. n the specular component, parameters ksp and αp are peculiar to point P and temporally constant. Omp is the occlusion parameter and is equal to 1 if light source m is visible from point P, and 0 otherwise. Vector {right arrow over (R)}mp is the mirror reflection vector, peculiar to both point P and light source m. Only {right arrow over (V)}p(t), the viewpoint vector of 3D point P at frame ‘t’, can vary along the sequence. Therefore, the changes in the profile refer to the changes in specular effects. In one embodiment, if the 3D point is not observed in view ‘t’ the value is set to ‘undetermined’ and is not processed.
In order to estimate the reflectance parameters of the 3D points of the scene observed through the pixels of the reference image and the other registered images, their intensity profiles need to be examined. Viewpoints of different scenes must be varied in order to provide sufficient information required for rendering this estimation.
In such a case if the profile is variable, the point is bound to belong to a specular surface. On the other hand, the profile can be constant because the point mat be purely a diffuse point (with no specular effect in spite of light sources that would create such effect if the surface was glossy); or the point may not be submitted to specular effects (no light source that could create specular effect along the camera trajectory or presence of an object occluding these light sources); or the point may have specular effects all along its sequence (due for example to a short trajectory and a wide light source). Taking this into consideration, a specular estimation pipeline can be provided that can analyze the RGB sequence with its measured geometry in order to estimate specular reflectance parameters of an observed 3D scene as well as the characteristics of the light sources responsible of specular effects. In one embodiment, this technique can then be applied to a number of applications in virtual reality, augmented or mixed reality.
In one example, the video analysis of a scene is examined in order to estimate diffuse and specular reflectance of the observed surfaces as well as light sources of specular reflections in the scene. As in the previous example, the scene represents a stationary scene with an image sequence acquisition from a video camera moving around or into the scene. Geometry of the scene can be calculated or known a priori or even measured on-line and can be given by a RGB-depth sensor.
In other examples, additional devices such as a light probe or a wide-angle camera are placed into the scene in order to acquire the light sources and the environment map. Yet in other examples, intrinsic image decomposition estimates diffuse surface reflectance and shading without the estimation of the light sources. This considerably limits the application area. Therefore, for many applications, it is necessary to estimate both the light sources characteristics and both diffuse and specular reflectance properties of the object surfaces.
In each situation, the estimation of the surface reflectance properties (diffuse and specular) of the objects in the scene has to be calculated. At the same time, the characteristics of the light sources that create specular effects, from a video and depth sequence needs to also be computed (without any additional sensors). A profile can then be generated as discussed and associated with each and every different situation so that a repeatable process can be established. Creating a profile for different points will greatly help in the generation of three dimensional images. In order to create this profile, in one embodiment, a first in pixel-based image registration from which profiles of 3D scene point image intensities are estimated over a sequence.
In one embodiment, 3D points which have a constant intensity evolution throughout the registered sequence can be processed separately. These can be distinguished from those ones that have a variable profile and their reflectance components can be estimated by examining their intensity profile. The flowchart of
In
Referring back to
In a next step, as shown by reference numerals 430, a distinction is made between variable (intensity) profiles that reveal specular effects and constant (intensity) profiles that show diffuse reflections or constant specular effects. Then, for each variable profile diffuse reflectance is estimated and subtracted from the intensity profile to deduce the specular profile. In the next step, shown at 440 the information about the 3D position of the light sources that create the specular effects are provided. In step 450, the specular parameters are estimated for each observed 3D point as shown by reference numerals. In one embodiment, the location of each light source responsible for the specular effects is estimated. Finally, these parameters are iteratively refined.
Estimating reflectance parameters and light source location from specular reflections can be established based on a 3D point observed all along the video sequence. In one embodiment, the 3D point exhibits a variable profile of image intensity along this video sequence. From these variable profiles, diffuse and specular components are separated, and then specular parameters and light source location are estimated if not known. It is especially important to know the location of each light source (real or virtual), especially those associated or responsible for creating the specular effects (particularly in a video). If the location is not already known, then an attempt to estimate it can be made by processing either the input (RGB+depth sequence) or the image data as provided by a secondary sensor (e.g. wide angle camera, using a light probe.) In step 430, the constant and variable profiles are classified.
The above tasks can be accomplished in a number of ways. In one embodiment, reflectance parameters and specular light source characteristics of at least one light source in a scene using an RGBD sequence is obtained for determining the intensity profiles for a plurality of locations in the scene before the constant intensity profiles are separated from the variable intensity profiles. The diffuse component can be estimated using the variable intensity profiles so that the specular reflection parameters can be obtained. In addition, the position of at least one light source is estimated using the derived specular parameters of the scene. Then for each pixel of the intensity profile a number of frames in which intensity information is missing is calculated. A filter is then applied and a threshold value is set, in one embodiment, to determine if an intensity profile is a variable profile or a constant profile.
In step 450, the focus can shift to the 3D points that show constant profiles. In step 460, the reflectance estimation of the points are made that are classified with the constant profile. In step 470 additional steps can be made, such as those including modification of the two dimensional images to present as three dimensional images for points having a constant profile such that the “to be presented” images maintain uniform color and appearance between adjacent frames or scenes along the video sequence.
Taking the figures together, given the particular point P (100) of a surface (110) in a two dimensional scene, the corresponding image point in the frames of a video sequence can be located and it can be classified as visible, occluded or out of field. Using the embodiment of
Referring back to
To aid understanding of the pipeline of
I
p(t)=Idp+Isp=Id,ap+Omp.Id,mp+Omp.Is,mp=Id,ap+Omp.Id,mp+ksp({right arrow over (R)}mp.{right arrow over (V)}p(t))α
The diffuse component due to light source m, is defined by Id,mp, and is distinguished from diffuse component resulting from all the other light sources, Id,ap. Based on different data observations, the three constant profiles can be divided, in one embodiment into three categories:
In the first category, the constant diffuse points (CDP) where the 3D points are lit by all light sources including m (Omp=1), with no specular reflectance (ks=0); such that ({right arrow over (R)}mp.{right arrow over (V)}p(t))α
In addition, the profiles can be further separated into two classes by separation as will be discussed presently.
The First Separation—the first separation detects 3D points which may be submitted to a specular effect by source m (({right arrow over (R)}mp.{right arrow over (V)}p(t)) close to 1) from those which are not. In order to detect and classify those 3D points, the following process can be implemented as per one embodiment and the light direction vector {right arrow over (L)}m (P) is computed for each constant 3D point P. Using both the 3D position of P and S,
{right arrow over (L)}
m(P)=({right arrow over (S)}m−{right arrow over (P)})N
(N signifies that the vectors are normalized and {right arrow over (R)}mp is then computed using equation (1))
The profile εmp(t)={right arrow over (R)}mp.{right arrow over (V)}p(t) is then computed along the sequence and then classified as variable or constant. A technique can also be used to distinguish the variable and constant intensity profiles as known to those skilled in the art. If the profile εmp(t) is variable, then it is concluded that ks=0 and the current point intensity shows a constant diffuse value. However, if the profile of εmp(t) is constant, then, depending on its value, the point can show diffuse and/or specular reflectance. A classification of these points relies on the constant value of εmp(t) such that:
Second Separation—A second classification criterion concerns the visibility of the points with respect to the specular light source. For this purpose, several methods may be used to compute a visibility map. In one embodiment, input data consist in RGB images and depth maps and the depth maps can be used in order to generate a 3D point file which defines the scene as an unorganized point cloud.
Geometry representation—Some of the data irregularities (caused by small distance measurement errors) are very hard to remove using statistical analysis. A solution is to use a resampling algorithm, which attempts to recreate the missing parts of the surface by higher order polynomial interpolations between the surrounding data points. By performing resampling, these small errors can be corrected. Hence, the pipeline's first step is to smooth and reconstruct the missing parts of the scene. Subsequently,—the previous results are used to reconstruct the surfaces of the scene. Indeed, the method works by maintaining a list of points from which the mesh can be grown (‘fringe points’) and extending it until all possible points are connected. It can deal with unorganized points, coming from one or multiple scans, and having multiple connected parts. It works best if the surface is locally smooth and there are smooth transitions between areas with different point densities. Triangulation is performed locally, by projecting the local neighborhood of a point along the point's normal, and connecting unconnected points. The scene can be described as a mesh.
Visibility algorithm—in one embodiment a visibility computation on the generated mesh can be performed on a particular scene. To aid understanding this scene will be called a ‘Shadow Mapping’ scene. The latter is performed in a two pass procedure as discussed below. A) To begin the light source is assumed to have a ‘view frustum’ like a camera to aid understanding. The scene is rendered from the light source's position and only depth values are saved. The latter represent the shadow map or rendered depth map. B) Subsequently the scene is rendered from a current position in which one stands. For each fragment, then one compares the current depth with the previously stored depth (one can read it from the computed shadow map) both observed from the light source position. Finally, if the current depth is greater than the shadow-map-stored depth, the fragment lies in shadow. If else, the fragment must be in the light space.
The above algorithm, in one embodiment, can be used with rendering engine or library such as OpenGL or Unity. One can implement a fragment and a vertex shader in order to verify if the mesh is visible from the light source. Hence, one obtains a binary map that defines the occlusion map Omp. Having defined the separation tools, the 3D points in a scene that are identified as having a constant profile can be further managed as discussed further in conjunction with
These areas may include those with (or without) possible specular effect by a light source, areas occluded with respect to a light source and others as can be appreciated by those skilled in the art. The, diffuse and specular reflectance parameters are reconstructed for each point taking into account its category. In particular, a technique is proposed to identify points with the same unknown diffuse reflectance and to derive then the diffuse reflectance values as well as ambient lighting. For example, as shown in
In one embodiment, in order the classification of
I
p(t)=Idp+Isp=Id,ap+Omp.Id,mp+Omp.Is,mp=Id,ap+Omp.Id,mp+ksp({right arrow over (R)}mp.{right arrow over (V)}p(t))α
the intensity profile would be variable, that is not the case). Otherwise the profile εmp(t) is supposed to be constant; its value εm(P) can be defined as the average or median value along the sequence: i) if the current point is such that εm(P)>thINF, and if its three color component values are all above a threshold, then the point is classified as “specular” (‘CSP’); ii) otherwise the point is classified as diffuse (‘CDP2’). Indeed, the point exists under its diffuse state all along the sequence.
2) If the current point is not visible from source m (it is occluded with respect to light source m), then if the current point is such that εm(P)>thINF, the point is classified as “occluded” (‘CDOP1’). Indeed, the point could have been impacted by the specular lighting; however, the presence of an occluding object between the point and the light did not allow that interaction to happen. However, if the 3D point is such that εm(P)≦thINF, the point is classified as belonging to a shadowed area (‘CDOP2’) point.
The problem of reflectance recovery can also be addressed in one embodiment. In one embodiment, recovering the diffuse and specular components from the previously classified constant points can be accomplished. The diffuse and specular reflectance parameters for pixels which have been impacted by the specular lighting during the scan and show a variable profile can be estimated using different models as can be appreciated by those skilled in the art. However, these usually produce incomplete reflectance maps as far as the whole scene is concerned. In one instance, for example, the diffuse component is set as the profile's minimum intensity. The diffuse reflectance component results from lighting by both ambient source and source m. On the other hand, in a different instance, only ambient source lights the ‘occluded’ areas. Furthermore, the specular component is estimated only for the variable profiles. For points classified ‘CDP2’, ‘CDOP1’ or ‘CDOP2’, there is no possible conclusion about
I
p(t)=Idp+Isp=Id,ap+Omp.Id,mp+Omp.Is,mp=Id,ap+Omp.Id,mp+ksp({right arrow over (R)}mp.{right arrow over (V)}p(t))α
To be able to recover the reflectance components for these points with a constant profile is of paramount importance, especially for augmented reality applications. For instance, inserting a virtual object or removing an object in a real scene requires managing lighting and reflectance. To be able to adapt to realistic effects such as shadows, inter-reflections or specular effects, the reflectance components may be recovered through several embodiments.
Points can be either categorized as visible or occluded. For points with diffuse reflectance recovery for points with diffuse constant profiles. In this embodiment, an estimate for reflectance parameter kd is provided for all points. Referring to equation (3), in the areas with constant diffuse profile, two cases can be distinguished with respect to light source m. The first has to do with occluded points with respect to m (color intensity noted IdOp)
IdOp=Id,ap=kdp.la (4a)
Conversely, for points that are visible with respect to source m (color intensity noted IdVp)
I
dV
p
=I
d,a
p
+I
d,m
p
=k
d
p
.l
a+({right arrow over (N)}p.{right arrow over (L)}mp)ims=kdp.la+kdp.lmp (4b):.
In this case, the light source m is known (color and location) and the normal vectors are known: so, component lmp=({right arrow over (N)}p.{right arrow over (L)}mp).ims can be computed for each point.
In one embodiment, as shown in the flowchart depiction of
In cases where the ambient lighting is unique for all points and reflectance is constant for several points, as far as possible there is interest to consider numerous points for these estimations. For a set of points identified as having the same value kdp, in one embodiment, a linear estimator of this value can be defined as
where ĪdVp, ĪdOp and
In order to correctly estimate kdp, it is essential to correctly identify the points located in the ‘visible’ and ‘occluded’ areas that have the same diffuse reflectance value. Ambient lighting color intensity la (as shown at 650) can then be estimated from all points for which diffuse reflectance value has been estimated. For all these points we consider the color intensity estimate Îd,ap a corresponding to ambient lighting and derived from above equations (4) and (5) such that:
It may happen that some points in the scene, located either in the ‘visible’ or ‘occluded’ area, do not have corresponding points with the same diffuse reflectance value in the other type of area (respectively ‘occluded’ or ‘visible’). For such points, it is not possible to use the previous method to estimate kdp. But once ambient lighting color intensity {circumflex over (l)}a has been estimated, it is easy to compute {circumflex over (k)}dp for each of these points. The estimated diffuse reflectance values {circumflex over (k)}dp can be provided as they are, for example in maps with double precision. An alternative is to computer or identify Îd,ap for each point as well as the unique ambient lighting value {circumflex over (l)}a. Furthermore, in some situations a unique value {circumflex over (l)}m can be selected that is common to most of the observed points. The information is then stored (step 670) for all points can be defined: Îd,amp={circumflex over (k)}dp.({circumflex over (l)}a+{circumflex over (l)}m).
In a different embodiment, as shown in the flowchart depiction of
Where ĪdVp and ĪdOp correspond to average values computed on the set of selected ‘visible’ (for ĪdVp) or ‘occluded’ (for ĪdOp ) points. Once ambient lighting {circumflex over (l)}a 740 has been obtained, diffuse reflectance values kd 750 can be estimated using the above discussed formulas. (The same data storage calculations as previously discussed as shown here at 760 can be applied for diffuse reflectance 750.)
In addition, the points in the visible and occluded areas that have the same (unknown) diffuse reflectance have to be identified. The identification can be made by considering the points that have a similar diffuse reflectance value kd and which are selected to compute the average values of ĪdVp, ĪdOp and
In one embodiment, chromaticity can be computed in the Modified Specular Free (MSF) image instead of the input color image as follows: the SF (Specular Free) image is obtained by subtracting from each pixel triplet RGB its minimum value in the triplet, and the MSF image is formed by adding a same scalar value (e.g. the mean of all minimum values) to each triplet on the SF image. The noise analysis indicates that the MSF image is more robust than the SF image, and therefore the former is used to compute the chromaticity for each pixel.
Similarly, color intensity similarity can be used to group points with the same label but not points with different labels as they are under different lighting. Nevertheless, in the case of candidates with different labels, a weak constraint can be that the color module of a ‘visible’ point must be higher than the color module of an ‘occluded’ point.
In one embodiment, grouping points with the same diffuse reflectance value can be accomplished by segmenting an image in areas with respect to the above features, using any clustering procedure. In the case of estimation of {circumflex over (l)}a in equation (7), clustering can be limited by first selecting a small set of distinct points (with different color intensities) in either ‘visible’ or ‘occluded’ areas, then identify and group points in both labels matching each of these selected points.
In a different embodiment, the average values ĪdVp and ĪdOp can be computed by estimating them via a weighted averaging technique as can be appreciated by those skilled in the art. For each point P, a weighted filtering is applied to compute its corresponding adapted values ĪdVp and ĪdOp
The above equation can be applied for the estimation of both values ĪdVp and ĪdOp. The difference is that the set of points with index q is selected either in the ‘visible’ or ‘occluded’ area. The weights Wp,q can take into account various features which similarity matches diffuse reflectance similarity. The weights can correspond to:
W
p,q
=e
−(Σ
cos t(f))
where index f refers to a feature and cos t(f) refers to the cost of dissimilarity between features attached to points p and q. This set of features can include but are not limited to chromaticity, hue, normal vectors direction and co-planarity, color intensity, 3D position distance and 2D pixel distance.
In order to address the diffuse reflectance recovery for points with specular constant profiles (‘CSP’), if considered point is classified as “specular” (‘CSP’), interpolation of the diffuse reflectance component will be carried out from areas which diffuse component includes contribution due to light source m (areas with variable profile or with constant diffuse profile and visible from source m (‘CDP’)). Interpolation with weighted averaging is used to reconstruct the diffuse component. The costs that can be used may include normal vectors direction and co-planarity, 3D position distance and 2D pixel distance. Moreover, in particular if lighting is close to white, the color of the points can be put down to diffuse reflectance. So, hue and/or chromaticity can contribute to the similarity evaluated in equation (8).
For instances that include the specular reflectance recovery, the specular reflectance component is reconstructed as follows. 1) If the considered point has a diffuse constant profile {CDP2, CDOP1, CDOP2}, then then the reconstruction of the specular reflectance parameters ksp and αp from the neighborhood, starts from the specular reflectance available in the areas with a variable profile or where ksp=0 (‘CDP1’ points). For that purpose, an adapted weighted filtering takes into account some criteria in the weights that may include but is not limited to chromaticity, hue, normal vectors direction and co-planarity, color intensity, 3D position distance and 2D pixel distance. However, if the considered point is classified as “specular” (‘CSP’), then the specular component can be derived once diffuse reflectance has been recovered for example using the method described. The specular reflectance parameters ksp and αp can also be interpolated in the same way as above, in particular if the point color is saturated.
Number | Date | Country | Kind |
---|---|---|---|
15306454.8 | Sep 2015 | EP | regional |