Abstract:
In a first exemplary embodiment of the present invention, an automated, computerized method is provided for determining an illumination flux condition in a scene. The method comprises the steps of generating and storing a sequence of images of the scene, each one of the sequence of images comprising an array of pixels and corresponding to the scene photographed in a preselected polarization direction, different from the polarization direction of other ones of the sequence of images, determining a polarization sequence vector for at least one pixel in the array, as a function of color information for the pixel in the array, among the sequence of images; and utilizing the polarization sequence vector to determine one of a shadowed and lit illumination condition for the at least one pixel.

Description:
BACKGROUND OF THE INVENTION  
       [0001]    Many significant and commercially important uses of modern computer technology relate to images. These include image processing, image analysis and computer vision applications. A challenge in the utilization of computers to accurately and correctly perform operations relating to images is the development of algorithms that truly reflect and represent physical phenomena occurring in the visual world. For example, the ability of a computer to correctly and accurately distinguish between a shadow and a material object edge within an image has been a persistent challenge to scientists. Edge detection is a fundamental task in image processing because without accurate and correct detection of the edges of physical objects, no other processing of the image is possible. If a cast shadow is indistinguishable from the object casting the shadow, it would not be possible for the computer to recognize the object. 
         [0002]    An early and conventional approach to object edge detection involves an analysis of brightness boundaries in an image. In the analysis it is assumed that a boundary caused by a material object will be sharp, while a boundary caused by a shadow will be soft or gradual due to the penumbra effect of shadows. While this approach can be implemented by algorithms that can be accurately executed by a computer, the results will often be incorrect. In the real world there are many instances wherein shadows form sharp boundaries, and conversely, material object edges form soft boundaries. Thus, when utilizing conventional techniques for shadow and edge recognition, there are significant possibilities for false positives and false negatives for shadow recognition. That is, for example, a material edge that imitates a shadow and is thus identified incorrectly by a computer as a shadow or a sharp shadow boundary that is incorrectly interpreted as an object boundary. Accordingly, there is a persistent need for the development of accurate and correct techniques that can be utilized in the operation of computers relating to images. 
       SUMMARY OF THE INVENTION  
       [0003]    The present invention provides a method and system comprising image techniques that accurately and correctly reflect and represent physical phenomena occurring in the visual world. 
         [0004]    In a first exemplary embodiment of the present invention, an automated, computerized method is provided for determining an illumination flux condition in a scene. The method comprises the steps of generating and storing a sequence of images of the scene, each one of the sequence of images comprising an array of pixels and corresponding to the scene photographed in a preselected polarization direction, different from the polarization direction of other ones of the sequence of images, determining a polarization sequence vector for at least one pixel in the array, as a function of color information for the pixel in the array, among the sequence of images; and utilizing the polarization sequence vector to determine one of a shadowed and lit illumination condition for the at least one pixel. 
         [0005]    In a second exemplary embodiment of the present invention, a computer system is provided. The computer system comprises a CPU and a memory storing a sequence of image files, each one of the sequence of image files depicting a common scene, each one of the sequence of image files comprising an array of pixels and corresponding to the scene photographed in a preselected polarization direction, different from the polarization direction of other ones of the sequence of images. Pursuant to a feature of the present invention, the CPU is arranged and configured to execute a routine to determine a polarization sequence vector for at least one pixel in the array, as a function of color information for the pixel in the array, among the sequence of image files corresponding to the scene, and to utilize the polarization sequence vector to determine one of a shadowed and lit illumination condition for the at least one pixel. 
         [0006]    In accordance with yet further embodiments of the present invention, computer systems are provided, which include one or more computers configured (e.g., programmed) to perform the methods described above. In accordance with other embodiments of the present invention, computer readable media are provided which have stored thereon computer executable process steps operable to control a computer(s) to implement the embodiments described above. The automated, computerized methods can be performed by a digital computer, analog computer, optical sensor, state machine, sequencer or any device or apparatus that can be designed or programed to carry out the steps of the methods of the present invention. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]      FIG. 1  is a block diagram of a computer system arranged and configured to perform operations related to images. 
           [0008]      FIG. 2  shows an n×m pixel array image file for an image stored in the computer system of  FIG. 1 . 
           [0009]      FIG. 3  is a flow chart for identifying shadowed regions of an image depicted in a sequence of image files of the type depicted in  FIG. 2 , as a function of polarization characteristics, according to a feature of the present invention. 
           [0010]      FIG. 4  is a graph plotting color values forming polarization vectors. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0011]    Referring now to the drawings, and initially to  FIG. 1 , there is shown a block diagram of a computer system  10  arranged and configured to perform operations related to images. A CPU  12  is coupled to a device such as, for example, a digital camera  14  via, for example, a USB port. The digital camera  14  operates to download images stored locally on the camera  14 , to the CPU  12 . The CPU  12  stores the downloaded images in a memory  16  as image files  18 . The image files  18  can be accessed by the CPU  12  for display on a monitor  20 , or for print out on a printer  22 . 
         [0012]    Alternatively, the CPU can be implemented as a microprocessor embedded in a device such as, for example, the digital camera  14  or a robot. The CPU can also be equipped with a real time operating system for real time operations related to images, in connection with, for example, a robotic operation or an interactive operation with a user. 
         [0013]    As shown in  FIG. 2 , each image file  18  comprises an n×m pixel array. Each pixel, p, is a picture element corresponding to a discrete portion of the overall image. All of the pixels together define the image represented by the image file  18 . Each pixel comprises a digital value corresponding to a set of color bands, for example, red, green and blue color components (RGB) of the picture element. The present invention is applicable to any multi-band image, where each band corresponds to a piece of the electromagnetic spectrum. The pixel array includes n rows of m columns each, starting with the pixel p ( 1 , 1 ) and ending with the pixel p(n, m). When displaying or printing an image, the CPU  12  retrieves the corresponding image file  18  from the memory  16 , and operates the monitor  20  or printer  22 , as the case may be, as a function of the digital values of the pixels in the image file  18 , as is generally known. 
         [0014]    In an image operation, the CPU  12  operates to analyze the RGB values of the pixels of a stored image file  18  to achieve various objectives, such as, for example, shadow detection in the subject image. A fundamental observation underlying a basic discovery of the present invention, is that an image comprises two components, material and illumination. All spectral variations in pixel values are caused by one or the other or both of these components. A method for detecting of one of these components, for example, illumination, provides a mechanism for distinguishing material or object geometry, such as object edges, from shadows caused by illumination. 
         [0015]    What is visible to the human eye upon display of a stored image file  18  by the CPU  12 , is the pixel color values caused by the interaction between specular and body reflection properties of material objects in, for example, a scene photographed by the digital camera  14  and illumination flux present at the time the photograph was taken. The illumination flux comprises an ambient illuminant and an incident illuminant. The incident illuminant is light that causes a shadow and is found outside a shadow perimeter. The ambient illuminant is light present on both the bright and dark sides of a shadow, but is more perceptible within the dark region. 
         [0016]    Based upon the fundamental observation of the present invention that an image comprises two components, material and illumination, the computer system  10  can be operated to differentiate between material aspects of the image such as, for example, object edges, and illumination flux through recognition of physical properties of the illumination flux. One such physical property is a spectral shift caused by the interplay between the incident illuminant and the ambient illuminant in the illumination. When one of material and illumination is known in an image, the other can be readily deduced. The spectrum for the incident illuminant and the ambient illuminant can be different from one another. 
         [0017]    A spectral shift caused by a shadow, i.e., a decrease of the intensity of the incident illuminant, will be substantially invariant over different materials present in a scene depicted in an image. Pursuant to a feature of the present invention, this spectral shift information is detected by determination of an illuminant ratio, or a spectral ratio formed by the interplay of the incident illuminant and the ambient illuminant. A spectral ratio is a ratio based upon a difference in color or intensities between two areas of a scene depicted in an image, which may be caused by different materials, an illumination change or both. An illuminant ratio provides a basis for identifying illumination change in an image. 
         [0018]    Moreover, in accordance with a further discovery relevant to the present invention, another physical property of illumination flux comprises polarization characteristics of the incident illuminant and the ambient illuminant. The polarization characteristics can be used to identify shadowed areas of a subject image. Direct sunlight is typically not polarized but becomes partially polarized upon reflection from a material surface. Pursuant to a feature of the present invention, an analysis is made regarding differences in polarization in light reflected from various regions of a recorded image, due to variations of the interplay of the incident illuminant and the ambient illuminant, to determine shadowed and unshadowed regions of the image. The variations of the interplay, according to a feature of the present invention, comprise differences between the polarization of the reflected incident illuminant and the polarization of the reflected ambient illuminant. 
         [0019]    Referring now to  FIG. 3 , there is shown a flow chart for identifying shadowed regions of an image depicted in a sequence of image files  18  of the type shown in  FIG. 2 , as a function of polarization characteristics, according to a feature of the present invention. In step  100 , an image of a scene is recorded in a sequence of image files  18 , each one of the sequence of image files  18  corresponding to the scene photographed in a different polarization direction. The camera  14  comprises a linear response camera that is utilized to capture each of the images through a polarizer mounted on the lens of the camera  14 . For example, camera  14  comprises a Canon 20D Digital, 8.2-megapixel auto focus, single lens reflex filter, 67 mm, Quantaray circular polarizer. A linear polarizer can be used in place of a circular polarizer. A linear response is achieved by capturing a raw image for each polarization with the camera  14 , in our exemplary embodiment, the Canon 20D Digital. 
         [0020]    Pursuant to a feature of the present invention, the polarizer is rotated through preselected angular orientations and an image file  18  is recorded for each angular orientation of the polarizer. For example, the polarizer can be oriented from 0° to 180° in increments of 10° with an image file  18  corresponding to each 10° incremental orientation. In general, overall image intensities are modulated as a function of polarizer direction. The modulation varies spatially and spectrally. 
         [0021]    In step  102 , the CPU  12  is operated such that for each pixel location (p ( 1 , 1 ) to p(n, m) (see FIG.  2 )), the set of color values for a respective pixel location, throughout a sequence of image files  18  corresponding to a scene, as recorded at the various angular orientations of the polarizer, is organized as a vector in RGB space. RGB space corresponds to a three dimensional graph wherein the three axes define the red, green and blue values of a pixel, as discussed in respect of  FIG. 4 , below. The vector in RGB space is a polarization sequence vector P →  with the intensity of a pixel location traveling along the direction of P → , as a function of the intensity variations for the respective pixel location, throughout the sequence of image files  18  corresponding to the scene. The polarizer has the effect of modulating the intensity of polarized light with a sinusoidal multiplicative factor, thus the intensity value will travel in both positive and negative directions along P → . Moreover, the direction of the vector P →  is a function of the illumination characteristics of the pixel location, that is, lit or shadow. Thus, the direction of a polarization sequence vector P →  can be used to determine whether the corresponding pixel location is in a lit portion of the scene, or a portion of the scene in shadow. 
         [0022]    Estimation of the direction of P →  is a three dimensional line fitting problem. An estimation of a vector direction for a set of pixel color values corresponding to a pixel location in a sequence of image files  18  of a scene at different angular orientations of the polarizer, can be achieved with standard mathematical tools such as singular value decomposition and Random Sample Consensus (RANSAC). 
         [0023]    Singular value decomposition is described in:
   Abdi, H. “[2] ((2007). Singular Value Decomposition (SVD) and Generalized Singular Value Decomposition (GSVD). In N.J. Salkind (Ed.): Encyclopedia of Measurement and Statistics. Thousand Oaks (Calif.): Sage.”.   Demmel, J. and Kahan, W. (1990). Computing Small Singular Values of Bidiagonal Matrices With Guaranteed High Relative Accuracy.  SIAM J. Sci. Statist. Comput.,  11 (5), 873-912.   Golub, G. H. and Van Loan, C. F. (1996). “Matrix Computations”. 3rd ed., Johns Hopkins University Press, Baltimore. ISBN 0-8018-5414-8   Eckart, C., &amp; Young, G. (1936). The approximation of one matrix by another of lower rank. Psychometrika, 1, 211-218.   Halldor, Bjornsson and Venegas, Silvia A. (1997). “A manual for EOF and SVD analyses of climate data”. McGill University, CCGCR Report No. 97-1, Montréal, Québec, 52pp.   Hansen, P. C. (1987). The truncated SVD as a method for regularization.  BIT,  27, 534-553.   Horn, Roger A. and Johnson, Charles R (1985). “Matrix Analysis”. Section 7.3. Cambridge University Press. ISBN 0-521-38632-2.   Horn, Roger A. and Johnson, Charles R (1991). Topics in Matrix Analysis, Chapter 3. Cambridge University Press. ISBN 0-521-46713-6.   Strang G (1998). “Introduction to Linear Algebra”. Section 6.7. 3rd ed., Wellesley-Cambridge Press. ISBN 0-9614088-5-5.   
 
         [0033]    RANSAC is described in:
   M. A. Fischler and R. C. Bolles (June 1981). “Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography”.  Comm. of the ACM  24: 381-395. DOI:10.1145/358669.358692   David A. Forsyth and Jean Ponce (2003).  Computer Vision, a modern approach.  Prentice Hall. ISBN ISBN 0-13-085198-1   Richard Hartley and Andrew Zisserman (2003).  Multiple View Geometry in computer vision,  2nd edition, Cambridge University Press.   
 
         [0037]      FIG. 4  shows a graph plotting pixel color values in an RGB space, the color values coming from selected points of a scene upon which the graph is superimposed, three in shadow and three in lit portions of the scene. The pixel color values of each selected point form a polarization sequence vector as a function of a sequence of image files  18  containing the respective point, at different angular orientations of the polarizer, as described above. The points illustrated in the graph of  FIG. 4  where selected manually. A direction in the RGB color space for each selected point was estimated using one of the mathematical tools described above. The color of each point changes as a function of the angular orientation of the polarizer, but the direction of change is different for lit points as opposed to points in shadow. In the graph of  FIG. 4 , the polarization sequence vectors corresponding to lit points are indicated by an arrow from a lit portion of the scene, while each of the points in shadow are indicated by an arrow from a shadowed portion of the scene. 
         [0038]    Referring back to  FIG. 3 , in step  104 , the CPU  12  operates, with respect to each polarization sequence vector P →  to generate a normalized value of the vector |P → |. The normalized value |P → | is interpreted as an RGB value that reflects a significant difference between pixel locations in lit and shadowed areas of a scene. The CPU  12  further operates to classify each pixel location as in shadow or lit, as a function of the normalized values for the respective pixel locations. 
         [0039]    In the preceding specification, the invention has been described with reference to specific exemplary embodiments and examples thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative manner rather than a restrictive sense.