| (19) |
 |
|
(11) |
EP 1 842 154 B9 |
| (12) |
CORRECTED EUROPEAN PATENT SPECIFICATION |
|
Note: Bibliography reflects the latest situation |
| (15) |
Correction information: |
|
Corrected version no 1 (W1 B1) |
|
Corrections, see Drawings |
| (48) |
Corrigendum issued on: |
|
13.02.2013 Bulletin 2013/07 |
| (45) |
Mention of the grant of the patent: |
|
01.08.2012 Bulletin 2012/31 |
| (22) |
Date of filing: 27.01.2006 |
|
| (51) |
International Patent Classification (IPC):
|
| (86) |
International application number: |
|
PCT/US2006/002965 |
| (87) |
International publication number: |
|
WO 2006/081437 (03.08.2006 Gazette 2006/31) |
|
| (54) |
METHOD AND SYSTEM FOR IDENTIFYING ILLUMINATION FLUX IN AN IMAGE
VERFAHREN UND SYSTEM ZUR IDENTIFIZIERUNG DES BELEUCHTUNGSFLUSSES IN EINEM BILD
PROCEDE ET SYSTEME D'IDENTIFICATION D'UN FLUX D'ECLAIREMENT DANS UNE IMAGE
|
| (84) |
Designated Contracting States: |
|
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE
SI SK TR |
| (30) |
Priority: |
27.01.2005 US 648228 P 03.02.2005 US 650300 P
|
| (43) |
Date of publication of application: |
|
10.10.2007 Bulletin 2007/41 |
| (73) |
Proprietor: Tandent Vision Science, Inc. |
|
San Francisco, California 94111 (US) |
|
| (72) |
Inventors: |
|
- FRIEDHOFF, Richard, Mark
New York, New York 10019 (US)
- MAXWELL, Bruce, Allen
Springfield, Pennsylvania 19064 (US)
- SMITH, Casey, Arthur
Ithaca, New York 14850 (US)
|
| (74) |
Representative: Reichert, Werner Franz |
|
Reichert & Kollegen
Bismarckplatz 8 93047 Regensburg 93047 Regensburg (DE) |
| (56) |
References cited: :
US-A- 5 495 536 US-A- 6 061 091 US-B2- 7 031 525
|
US-A- 5 651 042 US-B1- 6 428 169
|
|
| |
|
|
- BARNARD K ET AL: "Shadow Identification Using Color Ratios" IS AND T. 1TH COLOUR IMAGING
CONFERENCE, COLOUR SCIENCE, SYSTEMS AND APPLICATIONS,, 1 January 2000 (2000-01-01),
pages 97-100, XP003018771
- MINDRU F ET AL: "Moment invariants for recognition under changing viewpoint and illumination"
COMPUTER VISION AND IMAGE UNDERSTANDING, ACADEMIC PRESS, US, vol. 94, no. 1-3, 1 April
2004 (2004-04-01), pages 3-27, XP004501957 ISSN: 1077-3142
- SALVADOR E ET AL: "Cast shadow segmentation using invariant color features" COMPUTER
VISION AND IMAGE UNDERSTANDING, ACADEMIC PRESS, US, vol. 95, no. 2, 1 August 2004
(2004-08-01), pages 238-259, XP004520275 ISSN: 1077-3142
|
|
| |
|
| Note: Within nine months from the publication of the mention of the grant of the European
patent, any person may give notice to the European Patent Office of opposition to
the European patent
granted. Notice of opposition shall be filed in a written reasoned statement. It shall
not be deemed to
have been filed until the opposition fee has been paid. (Art. 99(1) European Patent
Convention).
|
Background of the Invention
[0001] Many significant and commercially important uses of modem 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.
[0004] 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
[0005] The present invention provides a method, system and computer program product comprising
image techniques that accurately and correctly reflect and represent physical phenomena
occurring in the visual world, as defined by the appended claims.
Brief Description of the Drawings
[0006] Figure 1 is a block diagram of a computer system arranged and configured to perform
operations related to images.
[0007] Figure 2 shows an n X m pixel array image file for an image stored in the computer
system of figure 1.
[0008] Figure 3a is a flow chart for identifying token regions in the image file of figure
2, according to a feature of the present invention.
[0009] Figure 3b is an original image used as an example in the identification of tokens.
[0010] Figure 3c shows token regions in the image of figure 3a.
[0011] Figure 4a is a flow chart for building a token region graph from the token regions
identified in figure 3a, according to a feature of the present invention.
[0012] Figure 4b shows token perimeters for the image of figure 3b.
[0013] Figurer 4c shows a token connection graph for the image of figure 3b.
[0014] Figure 5a is a flow chart for identifying X-junctions in an image using the token
region graph of figure 4a, according to a feature of the present invention.
[0015] Figure 5b shows an X-junction within the image of figure 3b.
[0016] Figure 6a is a flow chart for an X-junction testing sub-routine of the flow chart
of figure 5.
[0017] Figure 6b shows an image having an x-junction.
[0018] Figure 7 is a flow chart for identifying a local spectral ratio using an X-junction
of figure 5, according to a feature of the present invention.
[0019] Figure 8 is a flow chart for identifying material and illumination edges using ratio
matching, according to a feature of the present invention.
[0020] Figure 9 is a flow chart for identifying X-junctions in an image using a fixed-sized
mask.
[0021] Figure 10 is a flow chart for identifying X-junctions in an image using stochastic
sampling.
[0022] Figure 11a is a flow chart of a first method for creating an Nth order token.
[0023] Figure 11ab is an image showing Nth order tokens created using the method of figure
11 a.
[0024] Figure 11b is a flow chart of a second method for creating an Nth order token.
[0025] Figure 11bb is an image showing Nth order tokens created using the method of figure
11b.
[0026] Figure 12 is a flow chart for identifying a local spectral ratio using Nth order
tokens created using one of the methods of figures 11 a and 11b.
[0027] Figure 13 is a flow chart for an additional routine to identify X-junctions on a
token region map, according to a feature of the present invention.
Detailed Description of the Preferred Embodiments
[0028] Referring now to the drawings, and initially to figure 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.
[0029] 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.
[0030] As shown in figure 2, each image file 18 comprises an n X 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
electro-magnetic spectrum. The present invention can also be utilized in connection
with a grayscale image (a single band), utilizing a single panchromatic band. 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.
[0031] 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, material
object edge 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 changes in an image are caused by one or the other
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 illumination.
[0032] 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.
[0033] 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 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. 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.
[0034] As a general algorithm for implementing the basic discovery of the present invention,
pixel values from both sides of a boundary are sampled at, for example, three intensities
or color bands, in long, medium and short wave lengths such as red, green and blue.
If one side of the boundary is darker than the other side in all color bands, the
color intensity shift is considered a possible illumination boundary. If any color
band increases in intensity while the other color bands are decreasing, then the boundary
must be a material object boundary because shadows only remove illumination. A shift
from incident to ambient, as occurs in a shadow, cannot coincide with a brightening
of any color band. In a monochromatic or grayscale image, intensity in a single band
can be used.
[0035] After identification of a color intensity shift, a spectral ratio for the shift is
determined. A spectral ratio can be defined in a number of ways such as, for example,
B/D, B/(B-D) and D/(B-D), where B is the color on the bright side of the shift and
D is the color on the dark side. The visual correctness of an identification of an
illumination boundary using a spectral ratio is established through an analysis based
upon a bi-illuminant dichromatic reflection model of an image, as disclosed in co-pending
Application filed on even date herewith, entitled: "Bi-illuminant Dichromatic Reflection
Model For Image Manipulation,".
[0036] In a preferred embodiment of the present invention, the spectral ratio S = D/(B-D)
is utilized because it has been discovered during development of the present invention
that the normalized value for the ratio D/(B-D) is invariant across different geometric
orientations for a material object, and thus, the ratio remains constant across illumination
boundaries for objects at different orientations. Moreover, the normalized value for
the ratio D/(B-D) produced by a fully shadowed pixel and a penumbra pixel will be
the same as the normalized value produced by a fully shadowed pixel and a fully lit
pixel. These relationships are not exhibited by the normalized values of B/D and B/(B-D).
Accordingly, the ratio D/(B-D) provides the optimum combination of accuracy and correctness.
[0037] Bred is the red channel of a color measurement on the incident or bright side of
the shift, while Dred is the red channel value on the dark side. Similarly, B
green and B
blue represent the green and blue channel intensities on the bright side of the shift,
respectively, and D
green and D
blue represent the green and blue intensities on the dark side. The spectral ratio for
the shift therefore comprises an N dimensional vector, in our example, a three dimensional
vector:

[0038] As discussed above, according to a feature of the present invention, the vector is
normalized by dividing the vector by the scalar value of the vector length. A characteristic
spectral ratio or illuminant ratio for the image is determined. Inasmuch as an illumination
boundary is caused by the interplay between the incident illuminant and the ambient
illuminant, spectral ratios throughout the image that are associated with illumination
change, should be consistently and approximately equal, regardless of the color of
the bright side or the material object characteristics of the boundary. Thus, if the
spectral ratio in our analysis is approximately equal to the characteristic spectral
ratio for the scene, the boundary would be classified as an illumination boundary.
[0039] To improve the accuracy and correctness of the characteristic ratio for an image,
the spectral ratio information for illumination boundaries is determined on a local
level, that is, an illuminant ratio is determined for each of several preselected
local areas of a scene depicted in an image. An analysis of a boundary is then executed
utilizing the spectral ratio for the specific location of the boundary within the
image. The determination of locally relevant spectral ratios accommodates complexities
that may be encountered in a real world image, for example, the interplay of several
different sources of light in a room, inter-reflections, and so on.
[0040] According to a feature of the present invention, a local spectral ratio is automatically
determined by the computer system 10, by a dynamic sampling of local areas of the
image, to identify spatio-spectral features of an image, that is, features that comprise
conditions that are indicative of illumination flux. An example of a spatio-spectral
feature is an X-junction. An X-junction is an area of an image where a material edge
and an illumination boundary cross one another. An X-junction is an optimal location
for an accurate determination of an illuminant ratio.
[0041] According to a further feature of the present invention, a token analysis of an image
is used to identify spatio-spectral features. A token is a connected region of an
image wherein the pixels of the region are related to one another in a manner relevant
to identification of spatio-spectral features. The pixels of a token can be related
in terms of either homogeneous factors, such as, for example, close correlation of
color among the pixels, or nonhomogeneous factors, such as, for example, differing
color values related geometrically in a color space such as RGB space. The use of
tokens rather than individual pixels reduces complexity and noise in image processing
and provides a more efficient, less intense computational operation for the computer
system 10.
[0042] In an exemplary embodiment of the present invention, a uniform token analysis is
used to identify X-junctions in an image. A uniform token is a homogeneous token that
comprises a connected region of an image with approximately constant pixel values
(for example, within a range determined by the expected noise margin of the recording
equipment or normal variations in materials) throughout the region. A 1
st order uniform token comprises a single robust color measurement among contiguous
pixels of the image. The analysis can include an examination of token neighbor relationships
indicative of spatio-spectral features of an image, as will be described in more detail
below.
[0043] Referring now to figure 3a, there is shown a flow chart for identifying uniform token
regions in the image file of figure 2, according to a feature of the present invention.
At the start of the identification routine, the CPU 12 sets up a region map in memory.
In step 100, the CPU 12 clears the region map and assigns a region ID, which is initially
set at 1. An iteration for the routine, corresponding to a pixel number, is set at
i = 0, and a number for an N x N pixel array, for use as a seed to determine the token,
is set an initial value, N = N
start. N
start can be any integer > 0, for example it can be set at set at 11 or 15 pixels.
[0044] At step 102, a seed test is begun. The CPU 12 selects a first pixel, i = (1, 1) for
example, the pixel at the upper left corner of a first N x N sample. The pixel is
then tested in decision block 104 to determine if the selected pixel is part of a
good seed. The test can comprise a comparison of the color value of the selected pixel
to the color values of a preselected number of its neighboring pixels as the seed,
for example, the N x N array. If the comparison does not result in approximately equal
values for the pixels in the seed, the CPU 12 increments the value of i (step 106),
for example, i = (1, 2), for a next N x N seed sample, and then tests to determine
if i = imax (decision block 108).
[0045] If the pixel value is at imax, a value selected as a threshold for deciding to reduce
the seed size for improved results, the seed size, N, is reduced (step 110), for example,
from N=15 to N = 12. In an exemplary embodiment of the present invention, imax can
be set at i = (n, m). In this manner, the routine of figure 3a parses the entire image
at a first value of N before repeating the routine for a reduced value of N.
[0046] After reduction of the seed size, the routine returns to step 102, and continues
to test for token seeds. An Nstop value (for example, N = 2) is also checked in step
110 to determine if the analysis is complete. If the value of N is at N
stop, the CPU 12 has completed a survey of the image pixel arrays and exits the routine.
[0047] If the value of i is less than i
max, and N is greater than Nstop, the routine returns to step 102, and continues to test
for token seeds.
[0048] When a good seed (an N x N array with approximately equal pixel values) is found
(block 104), the token is grown from the seed. In step 112, the CPU 12 pushes the
pixels from the seed onto a queue. All of the pixels in the queue are marked with
the current region ID in the region map. The CPU 12 then inquires as to whether the
queue is empty (decision block 114). If the queue is not empty, the routine proceeds
to step 116.
[0049] In step 116, the CPU 12 pops the front pixel off the queue and proceeds to step 118.
In step 118, the CPU 12 marks "good' neighbors around the subject pixel, that is neighbors
approximately equal in color value to the subject pixel, with the current region ID.
All of the marked good neighbors are placed in the region map and also pushed onto
the queue. The CPU then returns to the decision block 114. The routine of steps 114,
116, 118 is repeated until the queue is empty. At that time, all of the pixels forming
a token in the current region will have been identified and marked in the region map.
[0050] When the queue is empty, the CPU proceeds to step 120. At step 120, the CPU increments
the region ID for use with identification of a next token. The CPU then returns to
step 106 to repeat the routine in respect of the new current token region.
[0051] Upon arrival at N = Nstop, step 110 of the flow chart of figure 3a, or completion
of a region map that coincides with the image, the routine will have completed the
token building task. Figure 3b is an original image used as an example in the identification
of tokens. The image shows areas of the color blue and the blue in shadow, and of
the color teal and the teal in shadow. Figure 3c shows token regions in the image
of figure 3a. The token regions are color coded to illustrate the token makeup of
the image of figure 3b, including penumbra regions between the full color blue and
teal areas of the image and the shadow of the colored areas.
[0052] The CPU 12 thereafter commences a routine for building a token graph that can be
used to identify X-junctions in the image. Referring to figure 4a, there is shown
a flow chart for building a token region graph from the token regions identified through
execution of the routine shown in figure 3a, according to a feature of the present
invention.
[0053] Initially, the CPU 12 is given the list of tokens identified in the previous routine,
and a value for a maximum distance D between tokens (step 200). In an exemplary embodiment
of the present invention, D = 20 pixels. In step 202, the CPU 12 traverses pixel information
for each token to identify all perimeter pixels of all tokens. Figure 4b shows token
perimeter pixels for the image of figure 3b. The CPU then proceeds to step 204.
[0054] In step 204, the CPU 12 selects a token region from the token list and identifies
the selected token, for purposes of the routine, as a current token, A. For each perimeter
pixel in token A, the CPU 12 finds the closest perimeter pixel in every other token
within the maximum distance D from the perimeter of the token A (step 206).
[0055] In step 208, the CPU 12 builds a list of tokens that are neighbors to token A by
compiling all token IDs found in the previous pixel matching step 206. In step 210,
the CPU 12 stores the list of neighbors for token A, and proceeds to decision block
212. In the decision block 212, the CPU 12 checks whether it is at the end of the
token list. If not, the CPU 12 returns to step 204, and sets token A to a next token
on the token list, and repeats steps 206-212 for the next token. If the CPU 12 is
at the end of the token list, the CPU proceeds to step 214, where the CPU 12 returns
the token graph for the image. Figurer 4c shows a token connection graph for a portion
of the image of figure 3b.
[0056] Upon completion of the token graph, the CPU 12 proceeds to the routine of figure
5a, to identify X-junctions in the image using the token region graph. For each token
in the token list, the CPU 12 performs iterations through neighbor relationships to
identify a region where spectral ratios indicate a crossing of illumination and material
object boundaries.
[0057] As an input (step 300) the CPU 12 receives the token list T, and the token graph
G, prepared by the CPU 12 during execution of the routines of figures 3a and 4a, respectively.
In a main iteration through all tokens Tj in T (the token list), the CPU 12 performs
sub-iterations through neighbors, as will appear. In step 302, the CPU 12 selects
a token A from the token list, Tj = A (a current token), and then selects all of the
neighbors for A, X = GA (from the token graph).
[0058] As a first sub-iteration for the current token A, the CPU 12 traverses all the neighbors
X
j in X, found in step 302. In step 304, the CPU 12 considers, in turn, each neighbor,
set as B = X
j. In a decision block 306, the CPU 12 tests for the current token neighbor B, whether
all of the color bands of color A > all of the color bands of color B? If color A
is not greater than color B in all color bands, the CPU 12 returns to step 304 to
select a next neighbor B from X (G
A, the neighbors of A).
[0059] If color A is greater than color B, the CPU 12 proceeds to step 308 to select token
neighbors of B from the token graph, set as Y = GB. The CPU 12 then proceeds to the
next sub-iteration over all the neighbors Yk in Y. In step 310, the CPU 12 considers,
in turn, each neighbor, set as C = Yk. In a decision block 312, the CPU 12 tests whether
A = C. If A does equal C, the CPU 12 returns to step 310 to select a next neighbor
token C from Y (G
B, the neighbors of B).
[0060] If C is a different token than A, the CPU proceeds to step 314 to select token neighbors
of C, set as Z = Gc. The CPU 12 then proceeds to the final sub-iteration over all
the neighbors Z1 in Z. In step 316, the CPU 12 considers, in turn, each neighbor,
set as D = Z1. In a decision block 318, the CPU tests whether D is in X and if D!
= B. If no, the CPU 12 returns to step 316 to select a next neighbor token D from
Z (Gc, the neighbors of C).
[0061] If the test of block 318 results in a yes result, the CPU 12 proceeds to step 320
to test whether the token neighbor set {A, B, C, D}, identified in an iteration of
the routine of figure 5a, meets X-junction criteria. Figure 5b shows the image of
figure 3b with a token neighbor set {A, B, C, D}. The hypothesis of the iteration
execution is that token set {A, B, C, D} embodies certain neighbor relationships,
or spatio-spectral conditions, indicative of an X-junction, for example, tokens A
and B comprise a material 1, with A being a lit version of B, and that tokens D and
C comprise a material 2, with D being a lit version of C. There are several tests
that are performed to validate the hypothesis.
[0062] Figure 6a shows a flow chart for the X-junction testing sub-routine, step 320 of
the flow chart of figure 5. In step 326 the token neighbor set {A, B, C, D} is set
as the starting point of the routine. As noted, the hypothesis, shown in the image
of figure 6b, is that A and B are the same material 1, and that D and C are the same
material 2 (328), and that B and C are in shadow.
[0063] In a first test, step 330, the CPU 12 determines whether the pixels of token A >
the pixels of token B and the pixels of token D > the pixels of token C, in each color
band. The colors B and C are multiplied by a factor, f, which is a scalar value greater
than 1. In step 332, it is determined whether the bright measurements for A and D
tokens are brighter than a minimum threshold.
[0064] The next test (step 334) comprises a determination of whether each of the bright
tokens A and D, are significantly different in a color space, for example, in an RGB
space. In this regard, a determination is made as to whether the color space distance
(A, D) > threshold.
[0065] In step 336 the CPU 12 determines whether the reflectance ratio between A and D is
approximately equal to the reflectance ratio for B and C. The bounded version of the
ratios can be used, R
1 = (A-D)/(A+D), and R
2 = (B-C)/(B+C), with R
1 = R
2. In step 338, the spectral ratios S
1 = B/(A-B) and S
2 = C/(D-C) are compared to determine if they are similar to one another (within a
predetermined difference).
[0066] In step 340, the CPU 12 determines if the spectral ratios fit an a priori model of
a reasonable illuminant. Variations on the constraints can include, for example, requiring
the dark measurements for the B and C tokens to be less than a percentage of the corresponding
bright measurement. Moreover, the CPU 12 can test the spectral ratios determined in
step 338 for saturation levels. Saturation is defined as saturation = 1 - (minimum
color band/maximum color band). An upper boundary can be established for the spectral
ratio, in terms of saturation, for example, any spectral ratio with a saturation >
0.9 is considered to be unreasonable. If all of the above constraints are met, the
X-junction criteria are considered to be satisfied (step 342).
[0067] In the event a token set {A, B, C, D} fails the X-junction tests of step 320, the
CPU 12, in decision block 322, returns to step 316 to select a next neighbor D from
Z (Gc, the neighbors of C). If the token set {A, B, C, D} passes, the CPU 12 proceeds
to step 324 to mark the token set {A, B, C, D} as a valid X-junction. The CPU then
returns to step 302 to select a next token (other than the set {A, B, C, D}) from
the token list T, for an X-junction analysis.
[0068] Referring now to figure 7, there is shown a flow chart for identifying a local spectral
ratio using an X-junction, according to a feature of the present invention. The CPU
12 is given an image file 18 and X-junction parameters in step 400. The CPU 12 then
proceeds to step 402, which comprises the performance of the processes of figures
3-5, throughout the given image to identify all X-junctions within the image.
[0069] Upon completion of step 402, the CPU proceeds to step 404 to calculate a spectral
ratio for each bright/dark pixel pair in each X-junction, and store the results in
a memory array. In step 406, the CPU executes a mean shift algorithm on the array
of spectral ratios. The mean shift algorithm can comprise, for example, an algorithm
described in "
Mean shift analysis and applications," Comaniciu, D.; Meer, P.; Computer Vision, 1999,
The Proceedings of the Seventh IEEE International Conference on; Volume 2, 20-27 September,
1999; Pages 1197-1203. The output of execution of the mean shift algorithm (step 408) is a spectral ratio
for all or a specific local region of the image. The execution of step 406 can include
a survey of values for the spectral ratios throughout the image.
[0070] If the spectral ratios vary by an amount > a threshold variance, a local approach
will be implemented for the spectral ratio information used in determining illumination
boundaries. That is, a mean shift value for a specific X-junction will be used as
the spectral ratio when the CPU 12 determines illumination boundaries in the region
of the image near the specific X-junction. If all of the spectral ratios for the entire
image vary by less than the threshold variance, a global approach can be used with
the same mean shift spectral ratio used in all illumination boundary determinations.
[0071] Referring now to figure 8, there is shown a flow chart for identifying material and
illumination using ratio matching, according to a feature of the present invention.
More specifically, the routine of figure 8 identifies illumination flux comprising
an illumination boundary. In step 500, the CPU 12 is given spectral ratio information
for an image determined through execution of the routine of figure 7, and standard
brightness edge boundary segment information for the image. For each brightness edge
segment of the image, in step 502, the CPU 12 traverses the edge by selecting pixel
or token pairs, each pair comprising a pixel or token from the bright side of an edge
segment and a pixel or token from the dark side of the edge segment.
[0072] In step 504, for each pair of pixels or tokens, the CPU 12 calculates a spectral
ratio, S = Dark/(Bright - Dark) and accumulates the S values for all the pairs along
the corresponding edge segment. In step 506, the CPU 12 decides if the accumulated
set of S values for an edge segment matches the given spectral ratio information.
As discussed above, the given spectral ratio information can be a global value for
the image or a local value for the part of the image where the edge segment is located.
If there is a match of spectral ratios, the CPU 12 marks the edge segment as an illumination
boundary (step 508). If there is no match, the CPU 12 marks the edge as a material
edge (step 510).
[0073] Referring now to figure 9, there is shown a flow chart for an alternative routine
for identifying X-junctions in an image, using a fixed-sized mask. An image file 18
is accesed by the CPU 12 from memory 16 (step 600). A mask is defined as an N x M
array of pixels (which can be a square or N x N array of pixels) (602) to be used
in an analysis of the image. The mask is placed over an area of the image. In step
604, the CPU 12 selects four color measurements from within the area of the mask,
to approximate points within an X-junction. The four points can be designated as a
set {A, B, C, D}, as shown in figure 6b. In step 606, the set {A, B, C, D} is tested
for the X-junction constraints using the X-junction testing sub-routine of the flow
chart of Figure 6a.
[0074] After execution of the testing sub-routine, the CPU 12 proceeds to a decision block
608. In the decision block, the CPU 12 determines whether the set {A, B, C, D} passed
the X-junction test. If yes, the CPU 12 marks the center pixel between the points
of the set {A, B, C, D} as an X-Junction (step 610) and proceeds to step 612. If no,
the CPU proceeds directly to step 612.
[0075] In step 612, the CPU 12 moves the mask to a new location over the image, and proceeds
to step 604, to begin the routine once again over a new area of the image. The CPU
12 continues to move the mask until the entire image has been tested. In step 614;
an optional additional routine is provided. In an image, there can be penumbra of
many different sizes. Some shadows have a very sharp penumbra, while others project
a fuzzy penumbra. If the routine of steps 604-612 uses a mask of, for example, 20
pixels by 20 pixels, that may be smaller than the width of a fuzzy penumbra. To handle
this situation, and to insure identification of all X-junctions in an image, the routine
of steps 604-612 can be rerun using either a larger mask, a mask of different orientation
or shape, or a same-sized mask used with the image scaled to a smaller size.
[0076] A running of a same-sized mask on a smaller image is known as a scale-space analysis.
In general, it is more efficient to make an image smaller than to increase mask size,
so a scale-space analysis is preferred. In the step 614, the image is made smaller
(a subsample), for example, cut in half. This is done by taking each 2pixel by 2 pixel
block of pixels, calculate the average color value of the block, and make it a single
pixel in the new reduced version of the image. Thereafter, steps 604-612 are repeated
for the reduced image.
[0077] Figure 10 shows a flow chart for identifying X-junctions in an image using stochastic
sampling. The CPU 12 is given an image, a selected area of the image, a sampling method,
a maximum number of sampling routines N for the selected area, and an iteration number,
i = 0 (step 700). In step 702, the CPU 12 executes the sampling method to select a
set of color values {A, B, C, D} from within the area of the image being examined.
In step 704, the set {A, B, C, D} is tested for the X-junction constraints using the
X-junction testing sub-routine of the flow chart of Figure 6a.
[0078] After execution of the testing sub-routine, the CPU 12 proceeds to a decision block
706. In the decision block, the CPU 12 determines whether the set {A, B, C, D} passed
the X-junction test. If no, the CPU 12 proceeds to a decision block 708 to test whether
the iteration value, i, is less than N, the maximum number of iterations to be performed
in the selected area. If no, the CPU 12 proceeds to step 710 to reset the iteration
value, i, to 0, and continue to a next selected area of the image. The CPU 12 then
proceeds back to step 702 to repeat the routine for the new area.
[0079] If the test for i < N is yes, the CPU 12 proceeds to step 712 to increment the value
of i for the same sample area, and return to step 702 to repeat a sampling of the
same area. If the result of the X-junction test is yes (706), the CPU 12 proceeds
to step 714 to mark a center pixel of the area as an X-junction. The CPU 12 then proceeds
to step 710, as described above. In step 716, the subsample routine of step 614 of
figure 9 is carried out to repeat the stochastic sampling on a reduced sized image.
[0080] Pursuant to another feature of the present invention, spatio-spectral features of
an image are determined by directly using neighbor relationships of tokens. An Nth
order token is a set of N 1
st order tokens that are different colors, as measured in a selected color space, for
example, RGB, hue or chromaticity, and are near to one another in the image. As an
example, a red first order token and a blue first order token adjacent to one another
in an image could form a second-order token.
[0081] Figure 11a shows a flow chart of a first method for creating an Nth order token.
The CPU 12 is given a list of tokens, for example, as identified through execution
of the routine of figure 3a, an input image area A and a maximum distance Dmax, which
could be set at 10 pixels (step 800). In step 802, the CPU 12, for each 1
st order token within the image area A, selects an image location or pixel X = p(i,
j) and then finds all unique sets of N tokens, that is, for example, all tokens of
different color, withing Dmax of each location X. In step 804, the CPU 12 adds each
set of N tokens found in step 802, into an Nth order token set, checking for duplicates.
In step 806, the CPU 12 outputs the Nth order token sets for the image area. Figure
11 ab is an image showing Nth order tokens created using the method of figure 11a.
[0082] Figure 11b shows a flow chart of a second method for creating an Nth order token.
In the second method, the CPU 12 utilizes a token graph created, for example, through
execution of the routine of figure 4a. In step 808, the CPU 12 is given a token list
for an image file 18, the corresponding token graph and a maximum distance, D
max. In step 810, for each token Ti in the token list, the CPU 12 finds all unique sets
of tokens within Dmax of Ti from the token graph. In step 812, the CPU adds each set
of N tokens found in step 810, into an Nth order token set, checking for duplicates.
In step 814, the CPU 12 outputs the Nth order token sets for the image area. Figure
11bb is an image showing Nth order tokens created using the method of figure 11b.
[0083] Pursuant to yet another feature of the present invention, the Nth order tokens created
via execution of one of the methods of figures 11a and 11b are used to identify local
spectral ratios for an image. Once again spatio-spectral features are examined to
ascertain characteristic spectral ratio information indicative of illumination flux.
In this instance, the spatio-spectral features comprise reflection ratio and spectral
ratio relationships between neighbor tokens of Nth order tokens. These relationships
are examined by the CPU 12.
[0084] Referring to figure 12, there is shown a flow chart for identifying a local spectral
ratio using Nth order tokens. In step 900, a set of Nth order tokens for an image
file 18 is given as a start to the CPU 12. The CPU 12 places the uniform tokens within
an Nth order token in an order, for example, according to intensity in a single color
channel (step 902). As shown in figure 12, adjacent the step 902, a sample order of
tokens within each of Nth order token A and Nth order token B is shown. The Nth order
token A comprises tokens ordered tokens A
1, A
2, ...AN and Nth order token B comprises ordered tokens B
1, B
2, ...B
N. Pursuant to a feature of the present invention, for each Nth order token, the CPU
12 operates to find all other Nth order tokens with matching reflectance ratios and
spectral ratios (step 904).
[0085] Adjacent to step 904 (figure 12) is shown an algorithm for comparing reflectance
ratios and spectral ratios for the token pair A, B. For each pair of tokens Ai, Aj
in the Nth order token A and a corresponding pair of tokens B
i, B
j in the Nth order token B, the CPU 12 determines equality relationships between the
reflectance ratios and spectral ratios for the pairs. The reflectance ratios can be
determined using the bounded version of the ratios: R(A
i, R
j) = (A
i-A
j )/(A
i+A
j), and R(B
i, B
j) = (B
i- B
j )/(B
i+ B
j), to determine if R(A
i, A
j) = R(B
i, B
j). Similarly, the spectral ratios can be calculated using the preferred form of the
spectral ratio: S(A
i, B
i) = (Dark one of (Ai, Bi)/ Bright one of (A
i, B
i)- Dark one of (A
i, B
i)), and S(A
j, B
j) = (Dark one of (A
j, B
j )/ Bright one of (A
j, B
j)- Dark one of (A
j, B
j)), to determine if S(A
i, B
i) = S(A
j, B
j). The assumption of the analysis and relationship determination is that one of the
Nth order tokens is in shadow and the other one of the Nth order tokens is lit.
[0086] In step 906, the CPU 12 accumulates all spectral ratios from pairs of Nth order tokens
that match, that is, demonstrate equality in step 904 and lists them in an array.
The CPU then executes a mean shift algorithm on the array of accumulated spectral
ratios (step 908) and outputs the result as a characteristic spectral ratio for a
local area or a whole of the image (step 910).
[0087] A characteristic spectral ratio can be determined using more than one of the methods
described above. For example, each of X-junctions and Nth order tokens can be analyzed
to determine local spectral ratios. The accumulated ratios can be weighted by empirical
experience of reliability, and subject to a mean shift algorithm to extract a characteristic
spectral ratio.
[0088] Referring now to figure 13, there is shown a flow chart for an additional routine
to identify X-junctions on a token region map, according to a feature of the present
invention. In step 1000, the CPU 12 is given a token region map, as for example, as
generated through execution of the routine of figure 4a, and an NxM mask, for example,
a 20 pixel x 20 pixel mask. In step 1002, the CPU 12 moves the mask over the token
region map.
[0089] For each mask location, the CPU 12 calculates a list of all tokens within the mask,
filtering out tokens with a seed size of K, for example, 3 pixels (step 1004). The
CPU 12 then selects from the list of tokens, each set of four reasonable adjacent
tokens {A, B, C, D}, as shown in the token region map (step 1006). The reasonableness
of a set {A, B, C, D} is determined by the CPU 12 by measuring the brightness of each
token in the set, to determine if one of the tokens is bright enough to be a bright
region (based upon a preselected level of brightness). That token is then labeled
A. Then the tokens of the set other than A, are measured to determine if any of the
remaining tokens are darker than A in all color bands. Such a token is labeled B.
Thereafter, the CPU 12 measures the remaining tokens for brightness greater than the
preselected level of brightness, and having a color different from A. That token is
labeled D. Then the remaining token is tested to determine if it is darker than D
in all color bands. If yes, the remaining token is labeled C.
[0090] A test, such as the routine of figure 6a, is executed by the CPU 12 to determine
whether the set {A, B, C, D} is an X-junction. In step 1008, the CPU 12 outputs a
list of X-junctions identified through execution of steps 1004-1006, for each mask
location.
[0091] 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 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.
1. An automated, computerized method for determining illumination boundaries between
areas with an incident illuminant and areas with only an ambient illuminant in an
image, comprising the steps of:
• automatically identifying spatio-spectral features in an image file (18) of the
image indicative of a spectral shift between the incident illuminant and the ambient
illuminant, wherein each spatio-spectral feature either is an X-junction, i.e. an
area of the image where a material edge and an illumination boundary cross one another,
or an N-th order token, i.e. a set of a number N of regions of different color in
the image within a predefined distance from each other, wherein N > 1;
• analyzing the identified spatio-spectral features in the image file (18) of the
image to determine spectral ratios for the identified spatio-spectral features, wherein
each spectral ratio has one component for each color channel in the image;
• performing a mean shift or clustering algorithm on the determined spectral ratios
to obtain at least one characteristic spectral ratio; and
• utilizing the characteristic spectral ratio to identify a boundary between areas
of different color or intensity in the image as either an illumination boundary, if
the spectral ratio for the boundary is approximately equal to the characteristic spectral
ratio, or as a material boundary, otherwise.
2. The method of claim 1, wherein the steps of automatically identifying spatio-spectral
features in the image, caused by a spectral shift between an incident illuminant and
an ambient illuminant, analyzing the identified spatio-spectral features of the image
to determine spectral ratios for the identified spatio-spectral features,and obtaining
a characteristic spectral ratio are carried out by identifying uniform token regions
(A, B, C, D) in the image, wherein a uniform token region is a connected region of
the image of constant color, and performing an analysis of token region neighbor relationships
to determine the characteristic spectral ratio.
3. The method of claim 2, wherein the step of identifying uniform token regions (A, B,
C, D) in the image is carried out by selecting a seed region of pixels, testing the
pixels of the seed region for similarity of color characteristics, and, in the event
of a good seed determination, identifying pixel neighbors of the pixels of the seed
region having similarity of color characteristics.
4. The method of claim 2, wherein the step of performing an analysis of token region
neighbor relationships is carried out to identify X-junctions in the image.
5. The method of claim 4, wherein the step of performing an analysis of token region
neighbor relationships to identify X-junctions in the image is carried out by performing
a series of iterative selections of token neighbors and performing tests of neighbor
characteristics related to X-junction parameters.
6. The method of claim 2, wherein the step of performing an analysis of token neighbor
relationships is carried out by identifying Nth order tokens (A, B, C, D), and comparing
reflection ratio and spectral ratio relationships between neighbor tokens of the Nth
order tokens (A, B, C, D) to determine the characteristic spectral ratio.
7. The method of one of the claims 2 to 6, wherein the step of performing an analysis
of token region neighbor relationships is carried out by generating a token region
graph.
8. The method of claim 7, wherein the step of generating a token region graph is carried
out by identifying perimeter pixels of each token region (A, B, C, D), for each perimeter
pixel, finding a closest perimeter pixel for each other token region within a maximum
distance, and compiling a list of all token regions corresponding to the pixels found
within the maximum distance in the finding step.
9. The method of one of the previous claims, wherein an X-junction is identified by using
a fixed sized mask to analyze pixels of the image for X-junction constraints.
10. The method of one of the previous claims, wherein an X-junction is identified by using
stochastic sampling.
11. The method of one of the claims 1 to 10, wherein the characteristic spectral ratio
indicative of a spectral shift comprises S = Dark/(Bright-Dark) for each of its components,
where Dark indicates the value of the respective component on the dark side of the
shift, and Bright indicates the value of the respective component on the bright side
of the shift.
12. The method of claim 11, wherein the characteristic spectral ratio is normalized.
13. The method of one of the claims 1 to 12, wherein the step of utilizing the characteristic
spectral ratio to identify an illumination boundary is carried out by comparing a
spectral ratio for a selected pair of color values, one on each side of an image boundary
to the characteristic spectral ratio, to determine a match.
14. The method of one of the claims 1 to 13, wherein the step of automatically identifying
spatio-spectral features in the image file (18) of the image, caused by a spectral
shift between an incident illuminant and an ambient illuminant, is carried out in
each of a plurality of preselected local areas of the image.
15. The method of one of the previous claims, wherein the spectral ratios are three-component
vectors,

the components corresponding to the red color channel, the green color channel, and
the blue color channel of an image, respectively, and wherein D
red, D
green, D
blue-are the values for the red, the green, and the blue color channel, respectively, on
the dark side of a spectral shift, and B
red, B
green, B
blue, are the values for the red, the green, and the blue color channel, respectively,
on the bright side of the spectral shift.
16. A computer system (10) with a CPU (12) and a memory for storing an image file (18)
containing an image, wherein the CPU (12) is arranged and configured to execute a
routine to
automatically identify spatio-spectral features in the image indicative of a spectral
shift between an incident illuminant and an ambient illuminant, wherein each spatio-spectral
feature either is an X-junction, i.e. an area of the image where a material edge and
an illumination boundary cross one another, or an N-th order token, i.e. a set of
a number N of regions of different color in the image within a predefined distance
from each other, wherein N > 1,
analyze the identified spatio-spectral features of the image to determine spectral
ratios for the identified spatio-spectral features, wherein each spectral ratio has
one component for each color channel in the image,
perform a mean shift or clustering algorithm on the determined spectral ratios to
obtain at least one characteristic spectral ratio, and
utilize the characteristic spectral ratio to identify a boundary in the image as either
an illumination boundary, if the spectral ratio for the boundary matches the characteristic
spectral ratio, or as a material boundary, otherwise.
17. The computer system (10) of claim 16, wherein operation of the CPU (12) to automatically
identify spatio-spectral features in the image indicative of a spectral shift between
an incident illuminant and an ambient illuminant, analyze the identified spatio-spectral
features of the image to determine spectral ratios for the identified spatio-spectral
features, and obtain a characteristic spectral ratio is carried out by operating the
CPU (12) to identify uniform token regions (A, B, C, D) in the image, wherein a uniform
token region is a connected region of the image of constant color, and to perform
an analysis of token region neighbor relationships to determine the characteristic
spectral ratio.
18. The computer system (10) of claim 17, wherein operation of the CPU (12) to identify
uniform token regions (A, B, C, D) in the image is carried out by operating the CPU
(12) to select a seed region of pixels, test the pixels of the seed region for similarity
of color characteristics, and, in the event of a good seed determination, identify
pixel neighbors of the pixels of the seed region having similarity of color characteristics.
19. The computer system (10) of claim 17 or 18, wherein operation of the CPU (12) to perform
an analysis of token region neighbor relationships is carried out by operation of
the CPU (12) to identify X-junctions in the image.
20. The computer system (10) of claim 19, wherein operation of the CPU (12) to perform
an analysis of token region neighbor relationships to identify X-junctions in the
image is carried out by operating the CPU (12) to perform a series of iterative selections
of token neighbors and to perform tests of neighbor characteristics related to X-junction
parameters.
21. The computer system (10) of claim 17, wherein operation of the CPU (12) to perform
an analysis of token neighbor relationships is carried out operating the CPU (12)
to identify Nth order tokens (A, B, C, D) and to compare reflection ratio and spectral
ratio relationships between neighbor tokens of the Nth order tokens (A, B, C, D) to
determine the characteristic spectral ratio.
22. The computer system (10) of claim 17, wherein operation of the CPU (12) to perform
an analysis of token region neighbor relationships is carried out by operating the
CPU (12) to generate a token region graph.
23. The computer system (10) of claim 22, wherein operation of the CPU (12) to generate
a token region graph is carried out by operation of the CPU (12) to identify perimeter
pixels of each token region (A, B, C, D) for each perimeter pixel, to find a closest
perimeter pixel for each other token region within a maximum distance, and to compile
a list of all token regions corresponding to the pixels found within the maximum distance
in the finding step.
24. The computer system (10) of claim 16, wherein operation of the CPU (12) to identify
an X-junction is carried out by operating the CPU (12) to use a fixed sized mask to
analyze pixels of the image for X-junction constraints.
25. The computer system (10) of claim 16, wherein operation of the CPU (12) to identify
an X-junction is carried out by operating the CPU (12) to use stochastic sampling.
26. The computer system (10) of claims 16 to 25, wherein the characteristic spectral ratio
comprises S =Dark/(Bright-Dark) for each of its components, where Dark indicates the
value of the respective component on the dark side of the shift, and Bright indicates
the value of the respective component on the bright side of the shift.
27. The computer system (10) of claim 26, wherein the characteristic spectral ratio is
normalized.
28. The computer system (10) of claims 16 to 27, wherein operation of the CPU (12) to
utilize the characteristic spectral ratio to identify an illumination boundary is
carried out by operating the CPU (12) to compare a spectral ratio for a selected pair
of color values, one on each side of an image boundary to the characteristic spectral
ratio to determine a match.
29. The computer system (10) of claims 16 to 28, wherein operation of the CPU (12) to
identify spatio-spectral features in the image, caused by a spectral shift between
an incident illuminant and an ambient illuminant, is carried out in each of a plurality
of preselected local areas of the image.
30. A computer program product, disposed on a computer readable media, the product including
computer executable process steps operable to control a computer to provide an image
file (18) depicting an image in a computer memory, wherein the product includes further
computer executable process steps operable to control a computer to
automatically identify spatio-spectral features in the image indicative of a spectral
shift between an incident illuminant and an ambient illuminant, wherein each spatio-spectral
feature either is an X-junction, i.e. an area of the image where a material edge and
an illumination boundary cross one another, or an N-th order token, i.e. a set of
a number N of regions of different color in the image within a predefined distance
from each other, wherein N > 1 ;
analyze the identified spatio-spectral features of the image to determine spectral
ratios for the identified spatio-spectral features, wherein the spectral ratio has
one component for each color channel in the image,
perform a mean shift or clustering algorithm on the determined spectral ratios to
obtain at least one characteristic spectral ratio, and
utilize the characteristic spectral ratio to identify a boundary in the image as either
an illumination boundary, if the spectral ratio for the boundary matches the characteristic
spectral ratio, or as a material boundary, otherwise.
31. The computer program product of claim 30, wherein the process steps to control the
computer to automatically identify spatio-spectral features in the image indicative
of a spectral shift between an incident illuminant and an ambient illuminant, analyze
the identified spatio-spectral features of the image to determine spectral ratios
for the identified spatio-spectral features, and obtain a characteristic spectral
ratio are carried out by process steps to control the computer to identify uniform
token regions (A, B, C, D) in the image, wherein a uniform token region is a connected
region of the image of constant color, and to perform an analysis of token region
neighbor relationships to determine the characteristic spectral ratio.
32. The computer program product of claim 31, wherein the process step to control the
computer to perform an analysis of token region neighbor relationships is carried
out by a process step to control the computer to identify X-junctions in the image.
33. The computer program product of claim 32, wherein the process step to control the
computer to perform an analysis of token region neighbor relationships to identify
X-junctions in the image is carried out by process steps to control the computer to
perform a series of iterative selections of token neighbors, and to perform tests
of neighbor characteristics related to X-junction parameters.
34. The computer program product of one of the claims 31 to 33, wherein the process step
to control the computer to identify token regions (A, B, C, D) in the image is carried
out by a process step to control the computer to select a seed region of pixels, test
the pixels of the seed region for similarity of color characteristics, and, in the
event of a good seed determination, identify pixel neighbors of the pixels of the
seed region having similarity of color characteristics.
35. The computer program product of claim 30, wherein the process step to control the
computer to identify an X-junction is carried out by a process step to control the
computer to use a fixed sized mask to analyze pixels of the image for X-junction constraints.
36. The computer program product of claim 30, wherein the process step to control a computer
to identify an X-junction is carried out by a process step to control a computer to
use stochastic sampling.
37. The computer program product of one of the claims 30 to 36, wherein the process step
to control the computer to utilize the characteristic spectral ratio to identify an
illumination boundary is carried out by a process step to control the computer to
compare a spectral ratio for a selected pair of color values, one on each side of
an image boundary, to the characteristic spectral ratio to determine a match.
1. Automatisiertes, computergestütztes Verfahren zur Ermittlung von Beleuchtungsgrenzen
zwischen Bereichen mit einfallender Beleuchtung und Bereichen mit lediglich Umgebungsbeleuchtung
in einem Bild, das folgende Schritte umfasst:
• die automatische Identifizierung räumlich-spektraler Merkmale in einer Bilddatei
(18) des Bildes, die auf eine spektrale Verschiebung zwischen der einfallenden Beleuchtung
und der Umgebungsbeleuchtung hinweisen, wobei jedes räumlich-spektrale Merkmal entweder
eine X-Überschneidung, d. h. ein Bereich des Bildes, wo eine Materialkante und eine
Beleuchtungsgrenze einander überschneiden, oder ein Token N-ter Ordnung, d. h. eine
Menge einer Anzahl N von Bereichen unterschiedlicher Farbe im Bild innerhalb eines
vorbestimmten Abstands voneinander, wobei N>1, ist;
• die Analyse der identifizierten räumlich-spektralen Merkmale in der Bilddatei (18)
des Bildes, um Spektralverhältnisse der identifizierten räumlich-spektralen Merkmale
zu bestimmen, wobei jedes Spektralverhältnis über eine Komponente für jeden Farbkanal
des Bildes verfügt;
• die Anwendung eines Mean-Shift- oder eines Clustering-Algorithmus auf die bestimmten
Spektralverhältnisse zur Ermittlung mindestens eines charakteristischen Spektralverhältnisses;
und
• die Verwendung des charakteristischen Spektralverhältnisses zur Identifizierung
einer Grenze zwischen Bereichen unterschiedlicher Farbe oder Intensität innerhalb
des Bildes als entweder eine Beleuchtungsgrenze, falls das Spektralverhältnis der
Grenze ungefähr gleich dem charakteristischen Spektralverhältnis ist, oder als eine
Materialgrenze sonst.
2. Verfahren nach Anspruch 1, wobei die Schritte der automatischen Identifizierung von
räumlich-spektralen Merkmalen im Bild, die durch eine spektrale Verschiebung zwischen
einer einfallenden Beleuchtung und einer Umgebungsbeleuchtung verursacht werden, der
Analyse der identifizierten räumlich-spektralen Merkmale des Bildes zur Bestimmung
der Spektralverhältnisse für die identifizierten räumlich-spektralen Merkmale und
der Ermittlung eines charakteristischen Spektralverhältnisses ausgeführt werden durch
die Bestimmung gleichmäßiger Token-Bereiche (A, B, C, D) innerhalb des Bildes, wobei
ein gleichmäßiger Token-Bereich ein zusammenhängender Bereich des Bildes von konstanter
Farbe ist, und durch eine Analyse der Nachbarschaftsverhältnisse der Token-Bereiche
zur Ermittlung des charakteristischen Spektralverhältnisses.
3. Verfahren nach Anspruch 2, wobei der Schritt der Bestimmung gleichmäßiger Token-Bereiche
(A, B, C, D) innerhalb des Bildes ausgeführt wird durch Auswahl eines Ausgangsbereichs
von Pixeln, Überprüfen der Pixel des Ausgangsbereichs auf die Gleichartigkeit der
farblichen Merkmale, und im Falle einer guten Ausgangsbereichsbestimmung, Identifizieren
von zu den Pixeln des Ausgangsbereichs benachbarten Pixeln, die gleichartige farbliche
Merkmale aufweisen.
4. Verfahren nach Anspruch 2, wobei der Schritt der Durchführung einer Analyse der Nachbarschaftsverhältnisse
der Token-Bereiche erfolgt, um die X-Überschneidungen im Bild zu identifizieren.
5. Verfahren nach Anspruch 4, wobei der Schritt der Durchführung einer Analyse der Nachbarschaftsverhältnisse
der Token-Bereiche zur Identifizierung von X-Überschneidungen im Bild durch eine Reihe
iterativer Auswahlvorgänge von Token-Nachbarn und durch Tests von Nachbarschaftsmerkmalen,
die sich auf X-Überschneidungsparameter beziehen, erfolgt.
6. Verfahren nach Anspruch 2, wobei der Schritt der Analyse der Nachbarschaftsverhältnisse
der Token-Bereiche durch Identifizierung von Token N-ter Ordnung (A, B, C, D), und
Vergleich von Reflexions- und Spektralverhältnis-Beziehungen zwischen Nachbar-Token
der Token N-ter Ordnung (A. B, C, D) zur Bestimmung des charakteristischen Spektralverhältnisses
erfolgt.
7. Verfahren nach einem der Ansprüche 2 bis 6, wobei der Schritt der Durchführung einer
Analyse von Nachbarschaftsverhältnissen der Token-Bereiche durch Erzeugung eines Token-Bereichs-Graphen
erfolgt.
8. Verfahren nach Anspruch 7, wobei der Schritt der Erzeugung eines Token-Bereichs-Graphen
erfolgt durch Identifizierung von Randpixeln eines jeden Token-Bereichs (A, B, C,
D), Ermittlung eines nächstgelegenen Randpixels für jeden anderen Token-Bereich innerhalb
einer maximalen Entfernung für jeden Randpixel, sowie Erstellung einer Liste aller
Token-Bereiche, die den Pixeln zugeordnet sind, die innerhalb der maximalen Entfernung
im Ermittlungsschritt gefunden wurden.
9. Verfahren nach einem der vorhergehenden Ansprüche, wobei eine X-Überschneidung durch
Verwendung einer Maske einer festen Größe zur Analyse von Pixeln des Bildes hinsichtlich
Bedingungen für X-Überschneidungen, identifiziert wird.
10. Verfahren nach einem der vorhergehenden Ansprüche, wobei eine X-Überschneidung durch
stochastische Abtastung identifiziert wird.
11. Verfahren nach einem der Ansprüche 1 bis 10, wobei das charakteristische Spektralverhältnis,
das auf eine spektrale Verschiebung hindeutet, für jede seiner Komponenten S = Dunkel
/ (Hell-Dunkel) umfasst, wobei Dunkel den Wert der jeweiligen Komponente auf der dunklen
Seite der Verschiebung, und Hell den Wert der jeweiligen Komponente auf der hellen
Seite der Verschiebung angibt.
12. Verfahren gemäß Anspruch 11, wobei das charakteristische Spektralverhältnis normiert
ist.
13. Verfahren nach einem der Ansprüche 1 bis 12, wobei der Schritt der Verwendung des
charakteristischen Spektralverhältnisses zur Identifizierung einer Beleuchtungsgrenze
ausgeführt wird durch Vergleich eines Spektralverhältnisses für ein ausgewähltes Farbwertepaar,
ein Farbwert auf jeder Seite einer Bildgrenze, mit dem charakteristischen Spektralverhältnis,
um eine Übereinstimmung zu ermitteln.
14. Verfahren nach einem der Ansprüche 1 bis 13, wobei der Schritt der automatischen Identifizierung
der räumlich-spektralen Merkmale in der Bilddatei (18) des Bildes, die auf eine spektrale
Verschiebung zwischen der einfallenden Beleuchtung und der Umgebungsbeleuchtung zurückzuführen
sind, in jedem einer Vielzahl von vorbestimmten lokalen Bereichen des Bildes erfolgt.
15. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Spektralverhältnisse
dreikomponentige Vektoren sind,

wobei die Komponenten dem roten, grünen und blauen Farbkanal eines Bildes entsprechen,
und wobei D
rot, D
grün, D
blau die Werte des roten, grünen und des blauen Farbkanals auf der dunklen Seite einer
spektralen Verschiebung sind, und B
rot, B
grün, B
blau die Werte für den roten, grünen und blauen Farbkanal auf der hellen Seite der spektralen
Verschiebung sind.
16. Computersystem (10) mit einer CPU (12) und einem Speicher zur Speicherung einer ein
Bild enthaltenden Bilddatei (18), wobei die CPU (12) eingerichtet und konfiguriert
ist, um eine Routine auszuführen zur
automatischen Identifizierung von räumlich-spektralen Merkmalen eines Bildes, die
auf eine spektrale Verschiebung zwischen einer einfallenden Beleuchtung und einer
Umgebungsbeleuchtung hindeuten, wobei jedes räumlich-spektrale Merkmal entweder eine
X-Überschneidung, d.h. ein Bereich des Bildes, wo eine Materialkante und eine Beleuchtungsgrenze
einander überschneiden, oder ein Token N-ter Ordnung, d.h. eine Menge einer Anzahl
N von Bereichen unterschiedlicher Farbe im Bild innerhalb eines vorbestimmten Abstands
voneinander, wobei N > 1, ist,
Analyse der identifizierten räumlich-spektralen Merkmale des Bildes, um Spektralverhältnisse
für die identifizierten räumlich-spektralen Merkmale zu bestimmen, wobei jedes Spektralverhältnis
eine Komponente für jeden Farbkanal des Bildes aufweist,
Anwendung eines Mean-Shift- oder eines Clustering-Algorithmus auf die bestimmten Spektralverhältnisse
zur Ermittlung mindestens eines charakteristischen Spektralverhältnisses und
Verwendung des charakteristischen Spektralverhältnisses zur Identifizierung einer
Grenze im Bild als entweder eine Beleuchtungsgrenze, falls das Spektralverhältnis
der Grenze mit dem charakteristischen Spektralverhältnis übereinstimmt, oder als eine
Materialgrenze sonst.
17. Computersystem (10) nach Anspruch 16, wobei der Betrieb der CPU (12), um räumlich-spektrale
Merkmale im Bild, die auf eine spektrale Verschiebung zwischen einer einfallenden
Beleuchtung und einer Umgebungsbeleuchtung hindeuten, automatisch zu identifizieren,
die identifizierten räumlich-spektralen Merkmale des Bildes zu analysieren, um Spektralverhältnisse
für die identifizierten räumlich-spektralen Merkmale zu bestimmen, und ein charakteristisches
Spektralverhältnis zu ermitteln, durch Betrieb der CPU (12) zur Identifizierung gleichmäßiger
Token-Bereiche (A, B, C, D) innerhalb des Bildes, wobei ein gleichmäßiger Token-Bereich
ein zusammenhängender Bereich konstanter Farbe des Bildes ist, und zu einer Analyse
der Nachbarschaftsverhältnisse von Token-Bereichen zur Ermittlung des charakteristischen
Spektralverhältnisses erfolgt.
18. Computersystem (10) nach Anspruch 17, wobei der Betrieb der CPU (12) zur Identifizierung
gleichmäßiger Token-Bereiche (A, B, C, D) innerhalb des Bildes durch Betrieb der CPU
(12) zur Auswahl eines Ausgangsbereichs von Pixeln, zum Testen der Pixel des Ausgangsbereichs
auf Gleichartigkeit der farblichen Merkmale und, im Falle einer guten Ausgangsbereichsbestimmung,
zur Identifizierung benachbarter Pixel der Pixel des Ausgangsbereichs, die gleichartige
farbliche Merkmale aufweisen, erfolgt.
19. Computersystem (10) nach Anspruch 17 oder 18, wobei der Betrieb der CPU (12) zur Analyse
der Nachbarschaftsverhältnisse der Token-Bereiche durch Betrieb der CPU (12) zur Identifizierung
von X-Überschneidungen im Bild erfolgt.
20. Computersystem (10) nach Anspruch 19, wobei der Betrieb der CPU (12) zur Analyse der
Nachbarschaftsverhältnisse der Token-Bereiche zur Identifizierung von X-Überschneidungen
im Bild durch Betrieb der CPU (12) zur Durchführung einer Reihe iterativer Auswahlvorgänge
von Token-Nachbarn und zur Durchführung von Tests von Nachbarschaftsmerkmalen, die
sich auf X-Überschneidungsparameter beziehen, erfolgt.
21. Computersystem (10) nach Anspruch 17, wobei der Betrieb der CPU (12) zur Analyse der
Nachbarschaftsverhältnisse der Token-Bereiche durch Betrieb der CPU (12) zur Identifizierung
von Token N-ter Ordnung (A, B, C, D), und zum Vergleich von Reflexions- und Spektralverhältnisbeziehungen
zwischen Nachbar-Token der Token N-ter Ordnung (A. B, C, D) zur Ermittlung des charakteristischen
Spektralverhältnisses erfolgt.
22. Computersystem (10) nach Anspruch 17, wobei der Betrieb der CPU (12) zur Analyse der
Nachbarschaftsverhältnisse der Token-Bereiche durch Betrieb der CPU (12) zur Erzeugung
eines Token-Bereichs-Graphen erfolgt.
23. Computersystem (10) nach Anspruch 22, wobei der Betrieb der CPU (12) zur Erzeugung
eines Token-Bereichs-Graphen durch Betrieb der CPU (12) zur Identifizierung von Randpixeln
jedes Token-Bereichs (A, B, C, D), zur Ermittlung, für jeden Randpixel, eines nächstliegenden
Randpixels jedes anderen Token-Bereichs innerhalb einer maximalen Entfernung und zur
Erstellung einer Liste aller Token-Bereiche, die den Pixeln zugeordnet sind, die innerhalb
der maximalen Entfernung im Ermittlungsschritt gefunden wurden, erfolgt.
24. Computersystem (10) nach Anspruch 16, wobei der Betrieb der CPU (12) zur Identifizierung
einer X-Überschneidung durch Betrieb der CPU (12) zur Verwendung einer Maske einer
festen Größe zur Analyse der Pixel des Bildes hinsichtlich X-Überschneidungsbedingungen
erfolgt.
25. Computersystem (10) nach Anspruch 16, wobei der Betrieb der CPU (12) zur Identifizierung
einer X-Überschneidung durch Betrieb der CPU (12) zur Verwendung einer stochastischen
Abtastung erfolgt.
26. Computersystem (10) nach den Ansprüchen 16 bis 25, wobei das charakteristische Spektralverhältnis
für jede seiner Komponenten S = Dunkel /(Hell-Dunkel) umfasst, wobei Dunkel den Wert
der jeweiligen Komponente auf der dunklen Seite der Verschiebung, und Hell den Wert
der jeweiligen Komponente auf der hellen Seite der Verschiebung, angibt.
27. Computersystem (10) nach Anspruch 26, wobei das charakteristische Spektralverhältnis
normiert ist.
28. Computersystem (10) nach den Ansprüchen 16 bis 27, wobei der Betrieb der CPU (12)
zur Verwendung des charakteristischen Spektralverhältnisses zur Identifizierung einer
Beleuchtungsgrenze durch Betrieb der CPU (12) zum Vergleich eines Spektralverhältnisses
für ein ausgewähltes Farbwertepaar, ein Farbwert auf jeder Seite einer Bildgrenze,
mit dem charakteristischen Spektralverhältnis erfolgt, um eine Übereinstimmung zu
ermitteln.
29. Computersystem (10) nach den Ansprüchen 16 bis 28, wobei der Betrieb der CPU (12)
zur Identifizierung der räumlich-spektralen Merkmale im Bild, die auf eine spektrale
Verschiebung zwischen einer einfallenden Beleuchtung und einer Umgebungsbeleuchtung
zurückzuführen sind, in jedem einer Vielzahl von vorbestimmten lokalen Bereichen des
Bildes erfolgt.
30. Computerprogramm-Produkt, das auf einem computerlesbaren Medium angeordnet ist, wobei
das Produkt computerausführbare Verfahrensschritte beinhaltet, um einen Computer so
zu steuern, dass er in einem Computerspeicher eine Bilddatei (18), die ein Bild darstellt,
bereitstellt,
wobei das Programm zusätzliche computerausführbare Verfahrensschritte beinhaltet,
die ausführbar sind, um einen Computer zu steuern zur
automatischen Identifizierung von räumlich-spektralen Merkmalen eines Bildes, die
auf eine spektrale Verschiebung zwischen einer einfallenden Beleuchtung und einer
Umgebungsbeleuchtung hinweisen, wobei jedes räumlich-spektrale Merkmal entweder eine
X-Überschneidung, d. h. ein Bereich des Bildes, wo eine Materialkante und eine Beleuchtungsgrenze
einander überschneiden, oder ein Token N-ter Ordnung, d. h. eine Menge einer Anzahl
N von Bereichen unterschiedlicher Farbe im Bild innerhalb eines vorbestimmten Abstands
voneinander, wobei N > 1, ist;
Analyse der identifizierten räumlich-spektralen Merkmale des Bildes, um Spektralverhältnisse
für die identifizierten räumlich-spektralen Merkmale zu bestimmen, wobei das Spektralverhältnis
eine Komponente für jeden Farbkanal im Bild aufweist,
Anwendung eines Mean-Shift- oder eines Clustering-Algorithmus auf die bestimmten Spektralverhältnisse
zur Ermittlung mindestens eines charakteristischen Spektralverhältnisses und
Verwendung des charakteristischen Spektralverhältnisses zur Identifizierung einer
Grenze im Bild als entweder eine Beleuchtungsgrenze, falls das Spektralverhältnis
der Grenze mit dem charakteristischen Spektralverhältnis übereinstimmt, oder als eine
Materialgrenze sonst.
31. Computerprogramm-Produkt nach Anspruch 30, wobei die Verfahrensschritte, um den Computer
derart zu steuern, dass er die räumlich-spektralen Merkmale im Bild, die auf eine
spektrale Verschiebung zwischen der einfallenden Beleuchtung und der Umgebungsbeleuchtung
hindeuten, automatisch identifiziert, die identifizierten räumlich-spektralen Merkmale
des Bildes analysiert, um Spektralverhältnisse für die identifizierten räumlich-spektralen
Merkmale zu bestimmen, und ein charakteristisches Spektralverhältnis ermittelt, durch
Verfahrensschritte erfolgen, die den Computer derart steuern, dass er gleichmäßige
Token-Bereiche (A, B, C, D) innerhalb des Bildes identifiziert, wobei ein gleichmäßiger
Token-Bereich ein zusammenhängender Bereich konstanter Farbe des Bildes ist, und eine
Analyse von Nachbarschaftsverhältnissen von Token-Bereichen zur Ermittlung des charakteristischen
Spektralverhältnisses durchführt.
32. Computerprogramm-Produkt nach Anspruch 31, wobei der Verfahrensschritt, den Computer
derart zu steuern, dass er eine Analyse der Nachbarschaftsverhältnisse der Token-Bereiche
durchführt, durch einen Verfahrensschritt erfolgt, um den Computer derart zu steuern,
dass er X-Überschneidungen im Bild identifiziert.
33. Computerprogramm-Produkt nach Anspruch 32, wobei der Verfahrensschritt, den Computer
derart zu steuern, dass er eine Analyse der Nachbarschaftsverhältnisse der Token-Bereiche
durchführt, um X-Überschneidungen im Bild zu identifizieren, durch Verfahrensschritte
erfolgt, um den Computer derart zu steuern, dass er eine Reihe iterativer Auswahlvorgänge
von Token-Nachbarn und Tests von Nachbarschaftsmerkmalen, die sich auf X-Überschneidungsparameter
beziehen, ausführt.
34. Computerprogramm-Produkt nach einem der Ansprüche 31 bis 33, wobei der Verfahrensschritt,
den Computer derart zu steuern, dass er Token-Bereiche (A, B, C, D) innerhalb des
Bildes identifiziert, durch einen Verfahrensschritt erfolgt, um den Computer derart
zu steuern, dass er einen Ausgangsbereich von Pixeln auswählt, die Pixel des Ausgangsbereichs
auf gleichartige farbliche Merkmale testet und, im Falle einer guten Ausgangsbereichsbestimmung,
benachbarte Pixel der Pixel des Ausgangsbereichs identifiziert, die gleichartige farbliche
Merkmale aufweisen.
35. Computerprogramm-Produkt nach Anspruch 30, wobei der Verfahrensschritt, den Computer
derart zu steuern, dass er eine X-Überschneidung identifiziert, durch einen Verfahrensschritt
erfolgt, den Computer derart zu steuern, dass er eine Maske einer festen Größe zur
Analyse der Pixel des Bildes auf X-Überschneidungsbedingungen verwendet.
36. Computerprogramm-Produkt nach Anspruch 30, wobei der Verfahrensschritt, einen Computer
derart zu steuern, dass er eine X-Überschneidung identifiziert, durch einen Verfahrensschritt
erfolgt, einen Computer derart zu steuern, dass er stochastische Abtastung verwendet.
37. Computerprogramm-Produkt nach einem der Ansprüche 30 bis 36, wobei der Verfahrensschritt,
den Computer derart zu steuern, dass er das charakteristische Spektralverhältnis verwendet,
um eine Beleuchtungsgrenze zu identifizieren, durch einen Verfahrensschritt erfolgt,
den Computer derart zu steuern, dass er ein Spektralverhältnis für ein ausgewähltes
Farbwertepaar, ein Farbwert auf jeder Seite einer Bildgrenze, mit dem charakteristischen
Spektralverhältnis vergleicht, um eine Übereinstimmung zu ermitteln.
1. Méthode automatisée, assistée par ordinateur, pour la détermination de limites d'illumination
entre des zones avec une lumière incidente et des zones avec seulement une lumière
ambiante dans une image, comprenant les étapes suivantes :
• identification automatique de caractéristiques spatio-spectrales dans un fichier
image (18) de l'image qui sont un indice d'un décalage spectral entre la lumière incidente
et la lumière ambiante, étant donné que chaque caractéristique spatio-spectrale est
soit une intersection X, c'est-à-dire une zone de l'image où un bord de matériau et
une limite d'illumination se croisent, ou un token de l'ordre N, c'est-à-dire un jeu
d'un nombre N de régions de couleurs différentes dans l'image au sein d'une distance
prédéfinie l'une de l'autre, étant donné que N > 1 ;
• analyse les caractéristiques spatio-spectrales identifiées dans le fichier image
(18) de l'image afin de déterminer des rapports spectraux pour les caractéristiques
spatio-spectrales identifiées, étant donné que chaque rapport spectral présente une
composante pour chaque canal de couleur dans l'image ;
• exécution d'un décalage moyen ou d'un algorithme de regroupement sur les rapports
spectraux déterminés afin d'obtenir au moins un rapport spectral caractéristique ;
et
• utilisation du rapport spectral caractéristique afin d'identifier une limite entre
des zones de couleurs ou d'intensités différentes dans l'image comme soit une limite
d'illumination, si le rapport spectral pour la limite est environ égal au rapport
spectral caractéristique, soit autrement comme une limite de matériau.
2. Méthode selon la revendication 1, étant donné que les étapes d'identification automatique
de caractéristiques spatio-spectrales dans l'image, causées par un décalage spectral
entre une lumière incidente et une lumière ambiante, d'analyse des caractéristiques
spatio-spectrales identifiées de l'image afin de déterminer des rapports spectraux
pour les caractéristiques spatio-spectrales identifiées, et d'obtention d'un rapport
spectral caractéristique sont exécutées par identification de régions de token uniformes
(A, B, C, D) dans l'image, étant donné qu'une région de token uniforme est une région
raccordée de couleur constante de l'image, et exécution d'une analyse de relations
de voisinage de région de token afin de déterminer le rapport spectral caractéristique.
3. Méthode selon la revendication 2, étant donné que l'étape d'identification de régions
de token uniformes (A, B, C, D) dans l'image est exécutée par sélection d'une région
initiale de pixels, de test des pixels de la région initiale afin de détecter toute
similarité de caractéristiques de couleur, et, en cas de détermination d'une bonne
région initiale, d'identification de pixels voisins des pixels de la région initiale
présentant une similarité de caractéristiques de couleur.
4. Méthode selon la revendication 2, étant donné que l'étape d'exécution d'une analyse
de relations de voisinage de région de token est accomplie afin d'identifier les intersections
X dans l'image.
5. Méthode selon la revendication 4, étant donné que l'étape d'exécution d'une analyse
de relations de voisinage de région de token pour l'identification des intersections
X dans l'image est accomplie par exécution d'une série de sélections itératives de
tokens voisins et exécution de tests de caractéristiques de voisinage en rapport avec
des paramètres des intersections X.
6. Méthode selon la revendication 2, étant donné que l'étape d'exécution d'une analyse
de relations de voisinage de token est accomplie par identification de tokens (A,
B, C, D) de l'ordre N, et comparaison des relations de rapport de réflexion et rapport
spectral entre des tokens voisins de tokens (A, B, C, D) de l'ordre N afin de déterminer
le rapport spectral caractéristique.
7. Méthode selon l'une quelconque des revendications 2 à 6, étant donné que l'étape d'exécution
d'une analyse de relations de voisinage de région de token est accomplie en générant
un diagramme de région de token.
8. Méthode selon la revendication 7, étant donné que l'étape de génération d'un diagramme
de région de token est accomplie par identification de pixels périmétriques de chaque
région de token (A, B, C, D), pour chaque pixel périmétrique, détection d'un pixel
périmétrique le plus proche pour chaque autre région de token au sein d'une distance
maximale, et établissement d'une liste de toutes les régions de token correspondant
aux pixels trouvés au sein de la distance maximale à l'étape de détection.
9. Méthode selon l'une quelconque des revendications précédentes, étant donné qu'une
intersection X est identifiée par utilisation d'un masque de taille fixe pour analyser
des pixels de l'image afin de détecter des conditions pour les intersections X.
10. Méthode selon l'une quelconque des revendications précédentes, étant donné qu'une
intersection X est identifiée par échantillonnage stochastique.
11. Méthode selon l'une quelconque des revendications 1 à 10, étant donné que le rapport
spectral caractéristique indice de décalage spectral comprend S = Sombre/(Clair-Sombre)
pour chacune de ses composantes, où Sombre indique la valeur de la composante respective
au côté sombre du décalage, et Clair indique la valeur de la composante respective
au côté clair du décalage.
12. Méthode selon la revendication 11, étant donné que le rapport spectral caractéristique
est normalisé.
13. Méthode selon l'une quelconque des revendications 1 à 12, étant donné que l'étape
d'utilisation du rapport spectral caractéristique afin d'identifier une limite d'illumination
est accomplie par comparaison d'un rapport spectral pour une paire de valeurs de couleur
sélectionnée, une à chaque côté d'une limite d'image, avec le rapport spectral caractéristique
afin de déterminer une concordance.
14. Méthode selon l'une quelconque des revendications 1 à 13, étant donné que l'étape
d'identification automatique de caractéristiques spatio-spectrales dans le fichier
image (18) de l'image, causées par un décalage spectral entre une lumière incidente
et une lumière ambiante, est accomplie dans chaque zone d'une pluralité de zones locales
présélectionnées de l'image.
15. Méthode selon l'une quelconque des revendications précédentes, étant donné que les
rapports spectraux sont des vecteurs à trois composantes,

les composantes correspondant respectivement au canal de couleur rouge, au canal de
couleur vert et au canal de couleur bleu d'une image, et étant donné que D
rouge, D
vert, D
bleu sont les valeurs correspondant respectivement au canal de couleur rouge, vert et
bleu au côté sombre d'un décalage spectral, et B
rouge, B
vert, B
bleu sont les valeurs correspondant respectivement au canal de couleur rouge, vert, et
bleu au côté clair du décalage spectral.
16. Système informatique (10) avec une UC (12) et une mémoire pour l'enregistrement d'un
fichier image (18) contenant une image, étant donné que l'UC (12) est disposée et
configurée pour exécuter une routine pour
l'identification automatique de caractéristiques spatio-spectrales dans l'image qui
sont un indice d'un décalage spectral entre une lumière incidente et une lumière ambiante,
étant donné que chaque caractéristique spatio-spectrale est soit une intersection
X, c'est-à-dire une zone de l'image où un bord de matériau et une limite d'illumination
se croisent, soit un token de l'ordre N, c'est-à-dire un jeu d'un nombre N de régions
de couleurs différentes dans l'image au sein d'une distance prédéfinie l'un de l'autre,
étant donné que N > 1,
l'analyse des caractéristiques spatio-spectrales identifiées de l'image afin de déterminer
des rapports spectraux pour les caractéristiques spatio-spectrales identifiées, étant
donné que chaque rapport spectral présente une composante pour chaque canal de couleur
dans l'image,
l'exécution d'un décalage moyen ou d'un algorithme de regroupement sur les rapports
spectraux déterminés afin d'obtenir au moins un rapport spectral caractéristique,
et
l'utilisation du rapport spectral caractéristique afin d'identifier une limite dans
l'image comme soit une limite d'illumination, si le rapport spectral pour la limite
correspond au rapport spectral caractéristique, soit autrement comme une limite de
matériau.
17. Système informatique (10) selon la revendication 16, étant donné que l'exploitation
de l'UC (12) pour l'identification automatique de caractéristiques spatio-spectrales
dans l'image indices d'un décalage spectral entre une lumière incidente et une lumière
ambiante, l'analyse des caractéristiques spatio-spectrales identifiées de l'image
afin de déterminer des rapports spectraux pour les caractéristiques spatio-spectrales
identifiées, et l'obtention d'un rapport spectral caractéristique sont exécutées par
exploitation de l'UC (12) pour l'identification de régions de token uniformes (A,
B, C, D) dans l'image, étant donné qu'une région de token uniforme est une région
raccordée de couleur constante de l'image, et l'exécution d'une analyse de relations
de voisinage de région de token afin de déterminer le rapport spectral caractéristique.
18. Système informatique (10) selon la revendication 17, étant donné que l'exploitation
de l'UC (12) pour l'identification de régions de token uniformes (A, B, C, D) dans
l'image est accomplie par exploitation de l'UC (12) pour la sélection d'une région
initiale de pixels, du test des pixels de la région initiale afin de détecter toute
similarité de caractéristiques de couleur, et, en cas de détermination d'une bonne
région initiale, de l'identification de pixels voisins des pixels de la région initiale
présentant une similarité de caractéristiques de couleur.
19. Système informatique (10) selon la revendication 17 ou 18, étant donné que l'exploitation
de l'UC (12) pour l'analyse de relations de voisinage de région de token est accomplie
par exploitation de l'UC (12) pour l'identification des intersections X dans l'image.
20. Système informatique (10) selon la revendication 19, étant donné que l'exploitation
de l'UC (12) pour l'exécution d'une analyse de relations de voisinage de région de
token afin d'identifier des intersections X dans l'image est accomplie par exploitation
de l'UC (12) pour l'exécution d'une série de sélections itératives de tokens voisins
et l'exécution de tests de caractéristiques de voisinage en rapport avec des paramètres
des intersections X.
21. Système informatique (10) selon la revendication 17, étant donné que l'exploitation
de l'UC (12) pour l'exécution d'une analyse de relations de voisinage de token est
accomplie par identification de tokens (A, B, C, D) de l'ordre N, et la comparaison
des relations de rapport de réflexion et rapport spectral entre des tokens voisins
de tokens (A, B, C, D) de l'ordre N afin de déterminer le rapport spectral caractéristique.
22. Système informatique (10) selon la revendication 17, étant donné que l'exploitation
de l'UC (12) pour l'analyse de relations de voisinage de région de token est accomplie
par exploitation de l'UC (12) afin de générer un diagramme de région de token.
23. Système informatique (10) selon la revendication 22, étant donné que l'exploitation
de l'UC (12) pour la génération d'un diagramme de région de token est accomplie par
exploitation de l'UC (12) pour l'identification de pixels périmétriques de chaque
région de token (A, B, C, D), pour chaque pixel périmétrique, la détection d'un pixel
périmétrique le plus proche pour chaque autre région de token au sein d'une distance
maximale, et l'établissement d'une liste de toutes les régions de token correspondant
aux pixels trouvés au sein de la distance maximale à l'étape de détection.
24. Système informatique (10) selon la revendication 16, étant donné que l'exploitation
de l'UC (12) pour l'identification d'une intersection X est accomplie par exploitation
de l'UC (12) pour l'utilisation d'un masque de taille fixe pour analyser des pixels
de l'image afin de détecter des conditions pour les intersections X.
25. Système informatique (10) selon la revendication 16, étant donné que l'exploitation
de l'UC (12) pour l'identification d'une intersection X est accomplie par exploitation
de l'UC (12) pour l'application d'un échantillonnage stochastique.
26. Système informatique (10) selon l'une quelconque des revendications 16 à 25, étant
donné que le rapport spectral caractéristique comprend S = Sombre/(Clair-Sombre) pour
chacune de ses composantes, où Sombre indique la valeur de la composante respective
au côté sombre du décalage, et Clair indique la valeur de la composante respective
au côté clair du décalage.
27. Système informatique (10) selon la revendication 26, étant donné que le rapport spectral
caractéristique est normalisé.
28. Système informatique (10) selon l'une quelconque des revendications 16 à 27, étant
donné que l'exploitation de l'UC (12) pour l'utilisation du rapport spectral caractéristique
afin d'identifier une limite d'illumination est accomplie par exploitation de l'UC
(12) pour comparer un rapport spectral pour une paire de valeurs de couleur sélectionnée,
une à chaque côté d'une limite d'image, avec le rapport spectral caractéristique afin
de déterminer une concordance.
29. Système informatique (10) selon l'une quelconque des revendications 16 à 28, étant
donné que l'exploitation de l'UC (12) pour l'identification de caractéristiques spatio-spectrales
dans l'image, causées par un décalage spectral entre une lumière incidente et une
lumière ambiante, est accomplie dans chaque zone d'une pluralité de zones locales
présélectionnées de l'image.
30. Produit de programme d'ordinateur, disposé sur un support lisible par ordinateur,
le produit comportant des étapes de procédé exécutables par ordinateur pour commander
un ordinateur afin de fournir un fichier image (18) qui illustre une image dans une
mémoire d'ordinateur,
étant donné que le produit comporte en outre des étapes de procédé exécutables par
ordinateur qui peuvent être exécutées pour commander un ordinateur pour
l'identification automatique de caractéristiques spatio-spectrales dans l'image qui
sont un indice d'un décalage spectral entre une lumière incidente et une lumière ambiante,
étant donné que chaque caractéristique spatio-spectrale est soit une intersection
X, c'est-à-dire une zone de l'image où un bord de matériau et une limite d'illumination
se croisent, ou un token de l'ordre N, c'est-à-dire un jeu d'un nombre N de régions
de couleurs différentes dans l'image au sein d'une distance prédéfinie l'un de l'autre,
étant donné que N > 1 ;
l'analyse des caractéristiques spatio-spectrales identifiées de l'image afin de déterminer
des rapports spectraux pour les caractéristiques spatio-spectrales identifiées, étant
donné que le rapport spectral présente une composante pour chaque canal de couleur
dans l'image,
l'exécution d'un décalage moyen ou d'un algorithme de regroupement sur les rapports
spectraux déterminés afin d'obtenir au moins un rapport spectral caractéristique,
et
l'utilisation du rapport spectral caractéristique afin d'identifier une limite dans
l'image comme soit une limite d'illumination, si le rapport spectral pour la limite
correspond au rapport spectral caractéristique, soit autrement comme une limite de
matériau.
31. Produit de programme d'ordinateur selon la revendication 30, étant donné que les étapes
de procédé pour commander l'ordinateur pour l'identification automatique de caractéristiques
spatio-spectrales dans l'image indices d'un décalage spectral entre une lumière incidente
et une lumière ambiante, l'analyse des caractéristiques spatio-spectrales identifiées
de l'image afin de déterminer des rapports spectraux pour les caractéristiques spatio-spectrales
identifiées, et l'obtention d'un rapport spectral caractéristique sont exécutées par
des étapes de procédé pour commander l'ordinateur pour l'identification de régions
de token uniformes (A, B, C, D) dans l'image, étant donné qu'une région de token uniforme
est une région raccordée de couleur constante de l'image, et l'exécution d'une analyse
de relations de voisinage de région de token afin de déterminer le rapport spectral
caractéristique.
32. Produit de programme d'ordinateur selon la revendication 31, étant donné que l'étape
de procédé pour commander l'ordinateur pour l'exécution d'une analyse de relations
de voisinage de région de token est accomplie par une étape de procédé pour commander
l'ordinateur afin d'identifier des intersections X dans l'image.
33. Produit de programme d'ordinateur selon la revendication 32, étant donné que l'étape
de procédé pour commander l'ordinateur pour l'exécution d'une analyse de relations
de voisinage de région de token afin d'identifier des intersections X dans l'image
est accomplie par des étapes de procédé pour commander l'ordinateur pour l'exécution
d'une série de sélections itératives de tokens voisins et l'exécution de tests de
caractéristiques de voisinage en rapport avec des paramètres des intersections X.
34. Produit de programme d'ordinateur selon l'une quelconque des revendications 31 à 33,
étant donné que l'étape de procédé pour commander l'ordinateur pour l'identification
de régions de token uniformes (A, B, C, D) dans l'image est accomplie par une étape
de procédé pour commander l'ordinateur pour la sélection d'une région initiale de
pixels, du test des pixels de la région initiale afin de détecter toute similarité
de caractéristiques de couleur, et, en cas de détermination d'une bonne région initiale,
de l'identification de pixels voisins des pixels de la région initiale présentant
une similarité de caractéristiques de couleur.
35. Produit de programme d'ordinateur selon la revendication 30, étant donné que l'étape
de procédé pour commander l'ordinateur pour l'identification d'une intersection X
est accomplie par une étape de procédé pour commander l'ordinateur afin d'utiliser
un masque de taille fixe pour analyser des pixels de l'image afin de détecter des
conditions pour les intersections X.
36. Produit de programme d'ordinateur selon la revendication 30, étant donné que l'étape
de procédé pour commander un ordinateur pour l'identification d'une intersection X
est accomplie par une étape de procédé pour commander un ordinateur afin d'appliquer
un échantillonnage stochastique.
37. Produit de programme d'ordinateur selon l'une quelconque des revendications 30 à 36,
étant donné que l'étape de procédé pour commander l'ordinateur pour l'utilisation
du rapport spectral caractéristique afin d'identifier une limite d'illumination est
accomplie par une étape de procédé pour commander l'ordinateur pour la comparaison
d'un rapport spectral pour une paire de valeurs de couleur sélectionnée, une à chaque
côté d'une limite d'image, avec le rapport spectral caractéristique afin de déterminer
une concordance.
REFERENCES CITED IN THE DESCRIPTION
This list of references cited by the applicant is for the reader's convenience only.
It does not form part of the European patent document. Even though great care has
been taken in compiling the references, errors or omissions cannot be excluded and
the EPO disclaims all liability in this regard.
Non-patent literature cited in the description
- BARNARD K. et al.Shadow Identification Using Color Ratios1st Color Imaging Conference, Color Science,
Systems and Applications, 2000, 97-100 [0002]
- Moment Invariants for Recognition under Changing Viewpoint and IlluminationMINDRU F. et al.Computer Vision and Image UnderstandingAcademic Press20040401vol. 94, 3-12 [0003]
- COMANICIU, D.MEER, P.Mean shift analysis and applicationsComputer Vision, 1999, The Proceedings of the
Seventh IEEE International Conference on, 1999, vol. 2, 1197-1203 [0069]