Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
IMAGE PROCESSING DEVICE AND METHOD FOR COLOR BALANCING
Document Type and Number:
WIPO Patent Application WO/2016/146180
Kind Code:
A1
Abstract:
An image processing device (10) performing color balancing of a first image (11a) and at least a second image (12a) is provided. The image processing device (10) comprises a color balancing determination unit (20) and a color balancing calculation unit (21). The color balancing determination unit (20) determines a global gain vector (t) comprising at least two gain factors (ân, ân+1) of the first and second images (11a, 12a) by minimizing a cost function based upon reference pixel values of the first and second images (11a, 12a). The first and second image reference pixels depict a shared color scene of the two images. The color balancing calculation unit (21) performs color balancing of the first image (11a) based upon the gain factor (an) of the first image (11a) and to perform a color balancing of the second image (12a) based upon the gain factor (ân+1) of the second image (12a).

Inventors:
HELWANI KARIM (DE)
KONDRAD LUKASZ (DE)
PIOTTO NICOLA (DE)
Application Number:
PCT/EP2015/055637
Publication Date:
September 22, 2016
Filing Date:
March 18, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
HELWANI KARIM (DE)
KONDRAD LUKASZ (DE)
PIOTTO NICOLA (DE)
International Classes:
H04N17/00; H04N1/60; H04N5/232; H04N9/73; H04N13/00
Foreign References:
US20090147100A12009-06-11
US20030234866A12003-12-25
Other References:
ILIE A ET AL: "Ensuring color consistency across multiple cameras", COMPUTER VISION, 2005. ICCV 2005. TENTH IEEE INTERNATIONAL CONFERENCE ON BEIJING, CHINA 17-20 OCT. 2005, PISCATAWAY, NJ, USA,IEEE, LOS ALAMITOS, CA, USA, 17 October 2005 (2005-10-17), pages 1268, XP031668599, ISBN: 978-0-7695-2334-7
PANAHPOUR TEHRANI M ET AL: "Iterative colour correction of multicamera systems using corresponding feature points", JOURNAL OF VISUAL COMMUNICATION AND IMAGE REPRESENTATION, ACADEMIC PRESS, INC, US, vol. 21, no. 5-6, 1 July 2010 (2010-07-01), pages 377 - 391, XP027067816, ISSN: 1047-3203, [retrieved on 20100601], DOI: 10.1016/J.JVCIR.2010.03.007
Attorney, Agent or Firm:
KREUZ, Georg (Riesstr. 8, Munich, DE)
Download PDF:
Claims:
Claims

1. An image processing device (10) for performing a color balancing of at least a first image (11a) recorded by a first camera (11) and a second image (12a) recorded by a second camera (12), comprising a color balancing

determination unit (20) and a color balancing calculation unit (21) ,

wherein the color balancing determination unit (20) is adapted to determine a global gain vector (t) comprising at least one gain factor (an) of the first image (11a) and at least one gain factor (an+1) of the second image (12a) by minimizing a pre-determined cost function based upon reference pixel values of the first image (11a) and reference pixel values of the second image (12a), wherein the first and second image (11a, 12a) reference pixels depict a shared color scene of the first and second images (11a, 12a) , and

wherein the color balancing calculation unit (21) is adapted to

- perform a color balancing of the first image (11a) based upon the at least one gain factor (an) of the first image (11a) , and

- perform a color balancing of the second image (12a) based upon the at least one gain factor (an+1) of the second image (12a) .

2. The image processing device (10) according to claim 1, wherein the first image (11a) and the second image (12a) each comprise at least three color channels,

wherein the color balancing determination unit (20) is adapted to minimize separate cost functions for each color channel of the images (11a, 12a),

wherein the color balancing calculation unit (21) is adapted to - perform the color balancing of the first image (11a) separately for each color channel, and

- perform the color balancing of the second image (12a) separately for each color channel.

3. The image processing device (10) according to claim 1, wherein the shared color scene of the first image (11a) and the second image (12a) is a scene that captures at least one same object or area, and

wherein the at least one same object or area is within a shared field of view of the first camera (11) and the second camera (12) .

4. The image processing device (10) according to claim 1, wherein the shared color scene of the first image (11a) and the second image (12a) is a scene that captures at least one same color, and

wherein the at least one same color is not within a shared field of view of the first camera (11) and the second camera ( 12 ) .

5. The image processing device (10) according to claim 1, wherein the image processing device (10) is adapted to perform a color balancing of at least the first image (Ha) recorded by the first camera (11), the second image (12a) recorded by the second camera (12), and a third image (13a) recorded by a third camera (13),

wherein the color balancing determination unit (20) is adapted to, after the color balancing calculation unit (20) has performed the color balancing of the first image (11a) and the second image (12a), resulting in a color balanced first image (lib) and a color balanced second image (12b) :

- determine a further global gain vector comprising at least one further gain factor of the second image (12a) and at least one gain factor of the third image (13a) by minimizing a pre-determined cost function based upon reference pixel values of the second color balanced image (12b) and reference pixel values of the third image (13a), wherein the reference pixels of the color balanced second image (12b) and the third image (13a) depict a shared color scene of the color balanced second image (12b) and the third image (13a), and

wherein the color balancing calculation unit (21) is adapted to

- perform a color balancing of the second color balanced image (12b) based upon the at least one further gain factor of the second image (12a), and

- perform a color balancing of the third image (13a) based upon the at least one gain factor of the third image

(13a) .

6. The image processing device (10) according to claim 1, wherein minimizing the pre-determined cost function comprises minimizing

( 1 ) ( 1 )

Y D wherein j is a pixel number, y3(1) is a value of pixel number j measured by the first camera, yi(2) is a value of pixel number j measured by the second camera, a(1) is a gain factor by which a reference color value of the pixel j has to be multiplied to equal y3(1), and a(2) is a gain factor by which the reference color value of the pixel j has to be multiplied to equal y

7. The image processing device (10) according to claim 6, wherein a global gain vector t is assumed to achieve

J = Y ' t (4) , where

Y = [ y(1) y(2) ] (5) , y - [ yi · · · yi · · · yi J

( 6 ) , and

t = [ a(2) -a(1) ]T (7),

wherein t is the global gain vector, Y is a vector of values y measured for a single pixel by first camera and the second camera, n is a pixel number, i is an

intermediary pixel number, and 1 is a last pixel number, and minimizing the pre-determined cost function comprises

- determining a non-trivial nullspace of a matrix

Ryy = YT Ύ by preferably performing an eigenvalue

decompositon of Ryy

Ryy = A'Ryy'A1 (8) ,

wherein Ryy is a diagonal matrix with the eigenvalues at its main diagonal, and A is a unitary matrix, and

- using the eigenvectors with the smallest eigenvalues ^ as the first color balancing information a(1) and the second color balancing information a(2), wherein

8. The image processing device (10) according to claim 7, wherein performing of the color balancing comprises:

- dividing pixel values y3(1) of the first camera by the gain factor a(1), and

- dividing pixel values y3(1) of the second camera by the gain factor a(2).

9. An imaging system (1) comprising an image processing device (10) according to claim 1 and at least a first camera (11) and a second camera (12) .

10. The imaging system (1) according to claim 9,

wherein the first camera (11) and the second camera (12) have an at least partially shared field of view.

11. The imaging system according to claim 9, comprising a third camera (13) .

12. The imaging system according to claim 11,

wherein the each of the cameras (11, 12, 13, 14) has at least a partially shared field of view with at least one further of the cameras (11, 12, 13, 14) .

13. Image processing method for performing a color

balancing of at least a first image (11a) recorded by a first camera (11) and a second image (12a) recorded by a second camera (12),

wherein the following steps are performed:

- determining (101) a global gain vector (t) comprising at least one gain factor (an) of the first image (11a) and at least one gain factor (an+1) of the second image (12a) by minimizing a pre-determined cost function based upon reference pixel values of the first image (11a) and reference pixel values of the second image (12a), wherein the first and second image (11a, 12a) reference pixels depict a shared color scene of the first and second images (11a, 12a) , and

- performing (102) a color balancing of the first image (11a) based upon the at least one gain factor (an) of the first image (11a), and

- performing (102) a color balancing of the second image (12a) based upon the at least one gain factor (an+1) of the second image (12a) . 14. A computer program with a program code for performing the method according to claims 13 when the computer program runs on a computer.

Description:
Image processing device and method for color balancing

TECHNICAL FIELD

The invention relates to an imaging system, an image processing device and an image processing method, which each perform a color balancing of images. BACKGROUND

The capability of reliably balancing color gamut between cameras with different characteristics is a significant need for many application domains. When dealing with panoramic image formation, i.e., image stitching, the availability of color balanced input images is

particularly crucial, since the human vision system is incredibly skilled in spotting color differences in adjacent images.

Exemplary color balancing methods fall in 2 categories:

■ Hardware camera register calibration,

■ Camera image post-processing.

The methods in the first category modify the internal camera registers, e.g., gain, exposure, etc., in order to obtain some desired color response. The general idea of the hardware calibration is to use a general optimizer to search the space of each camera' s hardware register values for a state with the closest match between the colors of a target image and the camera image of the color chart. For each camera, the optimizer repeatedly adjusts the register values, acquires an image, and computes the cost. The optimizer typically runs until all the cameras are close enough to the target image, or until there is no

significant improvement from the previous iteration. Hardware camera register calibration, however, is

typically insufficient to achieve color consistency, because their range and precision are often inadequate.

Therefore, methods of the second category, where images after the acquisition are processed and color a

calibration is performed, are desirable. Those methods provide a more precise refinement.

Additionally, a combination of the two mentioned classes could be considered, where both camera internal register calibration and image post-processing refinement are applied .

The above-mentioned exemplary color balancing approaches though suffer from a number of problems:

■ They perform the color calibration only with respect to a known target containing standardized color samp1es

■ In case the system has to be re-calibrated, e.g., illumination conditions of the working environment changed, the necessity of using a pre-defined pattern represents a lack of flexibility

■ The cameras to be calibrated need to have an overlapping field of view. The overlapping area between the cameras that have to be color balanced has to be large enough to contain the color calibration pattern. Or if there is no calibration pattern, then only a color matching is performed between two cameras, but not balancing of the color gamut . ■ In large camera arrays, where the shared field of view is minimized, this requirement is a strict constraint . SUMMARY

In this invention, a novel technique for balancing the color gamut between camera pairs is proposed. The device and method do not require the use of reference color patterns and advantageously assume a simple linear model, which due to a very fast solution estimation allows for coping with real-time constraints in an online scenario, for example, real-time dynamic color balancing.

In order to overcome the issues of the earlier explained exemplary approaches, concerning the use of a know color chart and the necessity of sharing some portion of the field of view for the cameras to be balanced, the following technology is proposed.

Due to production inaccuracies, noise, and other factors, even cameras of the very same model/manufacturer will most likely have a different color gamut.

The goal is to transform the color gamut of each camera in such a way that :

• the difference between the transformed color gamut is minimized

• the transformed color gamut of each camera tends to the reference colors

The proposed approach does not need the use of a color chart, i.e., the knowledge of a reference color is not necessarily required for the balancing ■ The approach only requires each camera to grab a picture of the same scene, not necessarily of a color chart .

■ The input/output is represented by a linear model, allowing for a very fast parameter estimation, and short processing time.

■ Fast processing allows for real-time continuous color calibration for balancing dynamic environmental illumination conditions.

Accordingly, an object of the present invention is to provide an apparatus and method, which allow for an accurate color calibration without requiring the use of a calibration target.

The object is solved by the features of claim 1 for the apparatus, claim 9 for the system, and claim 13 for the method. Further it is solved by the features of claim 14 for the associated computer program. The dependent claims contain further developments.

According to a first aspect of the invention, an image processing device for performing a color balancing of at least a first image recorded by a first camera and a second image recorded by a second camera is provided. The image processing device comprises a color balancing determination unit and a color balancing calculation unit. The color balancing determination unit is adapted to determine a global gain vector comprising at least one gain factor of the first image and at least one gain factor of the second image by minimizing a pre-determined cost function based upon reference pixel values of the first image and reference pixel values of the second image. The first and second image reference pixels therein depict a shared color scene of the first and second images. The color balancing calculation unit is adapted to perform a color balancing of the first image based upon the at least one gain factor of the first image and to perform a color balancing of the second image based upon the at least one gain factor of the second image. It is thereby possible to perform a color balancing without the need for taking images of a color chart or a reference pattern .

According to a first implementation form of the first aspect, the first image and the second image each comprise at least three color channels. The balancing determination unit is then adapted to minimize separate cost functions for each color channel of the images. The color balancing calculation unit is then adapted to perform the color balancing of the first image separately for each color channel and to perform the color balancing of the second image separately for each color channel. It is thereby possible to process color images.

According to a second implementation form of the first aspect, the shared color scene of the first image and the second image is a scene that captures at least one same object or area. The at least one same object or area is within a shared field of view of the first camera and the second camera. It is thereby possible to perform an even more accurate color balancing. Alternatively, in a third implementation form of the first aspect, the shared color scene of the first image and the second image is a scene that captures at least one same color. The at least one same color is not within a shared field of view of the first camera and the second camera. It is thereby possible to perform a color balancing, even if the respective cameras do not have a shared field of view .

According to a fourth implementation form of the first aspect, the image processing device is adapted to perform a color balancing of at least the first image recorded by the first camera, the second image recorded by the second camera and a third image recorded by a third camera. The color balancing determination unit is adapted to, after the color balancing calculation unit has performed the color balancing of the first image and the second image, resulting in a color balanced first image and a color balanced second image to determine a further global gain vector comprising at least one further gain factor of the second image and at least one gain factor of the third image by minimizing a pre-determined cost function based upon reference pixel values of the second color balanced image and reference pixel values of the third image. The reference pixel of the color balanced second image and the third image depict a shared color scene of the color balanced second image and third image. The color balancing calculation unit is then adapted to perform a color balancing of the second color balanced image based upon the at least one further gain factor of the second image and to perform a color balancing of the third image based upon the at least one gain factor of the third image. It is thereby possible to perform a color balancing of more than two images. According to a fifth implementation form of the first aspect, the minimizing of the pre-determined cost function comprises

- setting up formulas

y 3 (1) = a (1) · x 3 (1),

y 3 (2) = a (2) · x 3 (2), wherein j is a pixel number, y 3 is a value of pixel number j measured by the first camera, yi (2) is a value of pixel number j measured by the second camera, x 3 is a reference color value of the pixel j, a (1) is a gain factor by which x 3 has to be multiplied to reach y 3 (1) , and a (2) is a gain factor by which Xi has to be multiplied to reach y

- multiplying formula (1) by a (2) and multiplying formula (2) by a (1) , achieving

y 3 (1) · a (2) = a (1) · x 3 · a (2) ,

y 3 (2) · a (1) = a (2) · x 3 · a (1) ,

subtracting the resulting formulas, achieving

y 3 (1) · a (2) - y 3 (2) · a (1) = 0

- determining the cost function as

J' = [ y 3 (1) y 3 (2) ] [ a (2) -a (1) ] T

(3) .

According to a sixth implementation form of the first aspect, minimizing the pre-determined cost function comprises minimizing

J' = [ yj (1) yj (2) ] [ a(2) -a(l) ] T , wherein j is a pixel number, yj (1) is a value of pixel number j measured by the first camera, yl(2) is a value of pixel number j measured by the second camera, a(l) is a gain factor by which a reference color value of the pixel j has to be multiplied to equal yj(l), and a (2) is a gain factor by which the reference color value of the pixel j has to be multiplied to equal yj(2).

A very efficient color balancing is thereby possible.

In a seventh implementation form according to the fifth or sixth implementation forms of the first aspect, a global gain vector t is assumed to achieve J = Y · t (4) , where

Y = [ y (1) y (2) ] (5) ,

( 6 ) , and

t = [ a (2) -a (1) ] T (7),

wherein t is the global gain vector, Y is a vector of values y measured for a single pixel by first camera and the second camera, n is a pixel number, i is an

intermediary pixel number, and 1 is a last pixel number, and minimizing the pre-determined cost function comprises

- determining a non-trivial nullspace of a matrix

R yy = Y T · Y by preferably performing an eigenvalue

decompositon of R yy

Ryy = A -Ryy ·Α Τ (8) ,

wherein Ryy is a diagonal matrix with the eigenvalues at its main diagonal, and A is a unitary matrix, and

- using the eigenvector with the smallest eigenvalue t a s the first color balancing information a (1) and the second color balancing information a (2) , wherein t = [ a (2) -a (1) ] T .

An even greater accuracy of the color balancing can thereby be achieved.

In an eighth implementation form according to the seventh implementation form of the first aspect, performing of the color balancing comprises

- dividing pixel values y 3 (1) of the first camera by the gain factor a (1) , and

- dividing pixel values y 3 (2) of the second camera by the gain factor a (2) .

A low computational complexity color balancing is thereby possible . According to a second aspect of the invention, an imaging system comprising an image processing device according to the first aspect or one of the implementation forms of the first aspect and at least a first camera and a second camera is provided. It is thereby possible to record and color balance the images.

According to a first implementation form of the second aspect, the first camera and the second camera have an at least partially shared field of view. It is thereby possible to perform an especially accurate color

balancing .

According to a second implementation form of the second aspect, the imaging system comprises a third camera. It is thereby possible to perform image recording and color balancing of the recorded images by more than two cameras.

In a third implementation form according to the second implementation form of the second aspect, each of the cameras has at least a partially shared field of view with at least one further of the cameras. Also with more than two cameras, it is possible to achieve an especially accurate color balancing thereby.

According to a third aspect of the present invention, an image processing method for performing a color balancing of a first image recorded by a first camera and a second image recorded by a second camera is provided. The method comprises determining a global gain vector comprising at least one gain factor of the first image and at least one gain factor of the second image by minimizing a pre ¬ determined cost function based upon reference pixel values of the first image and reference pixel values of the second image, wherein the first and second image reference pixels depict a shared color scene of the first and second images. Moreover, the method comprises performing a color balancing of the first image based upon the at least one gain factor of the first image and performing a color balancing of the second image based upon the at least one gain factor of the second image. It is thereby possible to perform a low computational complexity high accuracy color balancing without the necessity of a reference pattern. According to a first implementation form of the third aspect, the first image and the second image each comprise at least three color channels. Separate cost functions are minimized for each color channel of the images. The color balancing of the first image and of the second image are performed separately for each color channel. It is thereby possible to process color images.

According to a second implementation form of the third aspect, the shared color scene of the first image and the second image is a scene that captures at least one same object or area. The at least one same object or area is within a shared field of view of the first camera and the second camera. It is thereby possible to perform an even more accurate color balancing.

Alternatively, in a third implementation form of the third aspect, the shared color scene of the first image and the second image is a scene that captures at least one same color. The at least one same color is not within a shared field of view of the first camera and the second camera. It is thereby possible to perform a color balancing, even if the respective cameras do not have a shared field of view . According to a fourth implementation form of the third aspect, a color balancing of at least the first image recorded by the first camera, the second image recorded by the second camera and a third image recorded by a third camera are performed. After the color balancing of the first image and the second image, resulting in a color balanced first image and a color balanced second image has been performed, a further global gain vector comprising at least one further gain factor of the second image and at least one gain factor of the third image is determined by minimizing a pre-determined cost function based upon reference pixel values of the second color balanced image and reference pixel values of the third image. The

reference pixel of the color balanced second image and the third image depict a shared color scene of the color balanced second image and third image. A color balancing of the second color balanced image is then performed based upon the at least one further gain factor of the second image. A color balancing of the third image is performed based upon the at least one gain factor of the third image. It is thereby possible to perform a color balancing of more than two images.

According to a fifth implementation form of the third aspect, the minimizing of the pre-determined cost function comprises

- setting up formulas

y D (1) = a (1) · x 3 (1),

y D (2) = a (2) · x 3 (2),

wherein j is a pixel number, y 3 (1) is a value of pixel number j measured by the first camera, yi (2) is a value of pixel number j measured by the second camera, x 3 is a reference color value of the pixel j, a (1) is a gain factor by which x 3 has to be multiplied to reach y 3 (1) , and a (2) is a gain factor by which x 1 has to be multiplied to reach

Vy :' (2) r

- multiplying formula (1) by a (2) and multiplying formula (2) by a (1) , achieving

y 3 (1) · a (2) = a (1) · x 3 · a (2) ,

y 3 (2) · a (1) = a (2) · x 3 · a (1) ,

subtracting the resulting formulas, achieving

y 3 (1) · a (2) - y 3 (2) · a (1) = 0

- determining the cost function as

J' = [ y 3 (1) y 3 (2) ] [ a (2) -a (1) ] T

(3) .

According to a sixth implementation form of the third aspect, the minimizing the pre-determined cost function comprises:

- determining the cost function as

J' = [ yj (1) yj (2) ] [ a(2) -a(l) ] T ,

wherein j is a pixel number, yj (1) is a value of pixel number j measured by the first camera, yl(2) is a value of pixel number j measured by the second camera, a(l) is a gain factor by which a reference color value of the pixel j has to be multiplied to equal yj(l), and a (2) is a gain factor by which the reference color value of the pixel j has to be multiplied to equal yj(2) .

A very efficient color balancing is thereby possible.

In a seventh implementation form according to the fifth or sixth implementation forms of the third aspect,

a global gain vector t is assumed to achieve

J = Y · t (4) ,

Y = [ y ( 1 ) y ( 2 ) ] (5) ,

y ( n ) = [ yi ( n ) . . . y ( n ) . . . yi ( n ) ] τ

(6) ,

t = [ a (2) -a (1) ] T (7) , wherein t is the global gain vector, Y is a vector of values y measured for a single pixel by first camera and the second camera, n is a pixel number, i is an

intermediary pixel number, and 1 is a last pixel number, and minimizing the pre-determined cost function comprises

- determining a non-trivial nullspace of a matrix

R yy = Y T · Y by preferably performing an eigenvalue

decompositon of R yy

Ryy = A -Ryy ·Α Τ (8) ,

wherein Ryy is a diagonal matrix with the eigenvalues at its main diagonal, and A is a unitary matrix, and

A.

- using the eigenvectors with the smallest eigenvalues ^ as the first color balancing information a (1) and the second color balancing information a (2) , wherein t = [ a (2) -a (1) ] T .

An even greater accuracy of the color balancing can thereby be achieved.

According to an eighth implementation form according to the seventh implementation form of the third aspect, performing of the color balancing comprises

- dividing pixel values y 3 (1) of the first camera by the gain factor a (1) , and

- dividing pixel values y 3 (2) of the second camera by the gain factor a (2) .

A low computational complexity color balancing is thereby possible .

According to a fourth aspect of the present invention, a computer program with a program code for performing the earlier described method when the computer program runs on a computer is provided. Generally, it has to be noted that all arrangements, devices, elements, units and means and so forth described in the present application could be implemented by

software or hardware elements or any kind of combination thereof. Furthermore, the devices may be processors or may comprise processors, wherein the functions of the

elements, units and means described in the present

applications may be implemented in one or more processors. All steps which are performed by the various entities described in the present application as well as the functionality described to be performed by the various entities are intended to mean that the respective entity is adapted to or configured to perform the respective steps and functionalities. Even if in the following description or specific embodiments, a specific

functionality or step to be performed by a general entity is not reflected in the description of a specific detailed element of that entity which performs that specific step or functionality, it should be clear for a skilled person that these methods and functionalities can be implemented in respect of software or hardware elements, or any kind of combination thereof.

BRIEF DESCRIPTION OF DRAWINGS

The present invention is in the following explained in detail in relation to embodiments of the invention in reference to the enclosed drawings, in which Fig. 1 shows an overview of an embodiment of the

imaging system according to the second aspect of the invention in a block diagram; Fig. 2 shows an embodiment of the image processing device according to the first aspect of the present invention in a block diagram;

Fig. 3 shows a further embodiment of the first aspect of the invention in a block diagram;

Fig. 4 shows another embodiment of the first aspect

the invention in a block diagram, and

Fig. 5 shows an embodiment of the third aspect of the invention in a flow chart.

DESCRIPTION OF EMBODIMENTS

First we demonstrate the general construction and function of the imaging system and image processing device

according to the first and second aspects of the invention along Fig. 1. Along Fig. 2 - 4 we further elaborate on the construction and function of the respective aspects of the invention. Finally, with regard to Fig. 5, the function of an embodiment of the inventive method according to the third aspect is described. Similar entities and reference numbers in different figures have been partially omitted.

In Fig. 1, an embodiment of the inventive imaging system 1 according to the second aspect of the invention is shown. The imaging system 1 comprises a plurality of cameras 11, 12, 13 and 14 and an image processing device 10 according to the first aspect of the invention. The cameras 11 - 14 are connected to the image processing device 10. Images 11a, 12a, 13a and 14a generated by the cameras 11, 12, 13 and 14 are handed to the image processing device 10 by the cameras 11 - 14. The image processing device 10 performs a color balancing of the individual images 11a - 14a and generates color balanced images lib, 12b, 13b and 14b. For performing the color balancing, pairs of images sharing at least a color scene depicting reference pixels are formed between the images 11a - 14a. A color balancing of the respective pairs is performed. After the color balancing of the pairs has been performed, further color balancing between the already color balanced images of the pairs are performed. Regarding the color balancing of more than two images, it is referred to the elaborations regarding Fig. 3 and Fig. 4. Further details regarding the color

balancing of the pairs of images, it is referred to the elaborations regarding Fig. 2.

In Fig. 2, an embodiment of the image processing device 10 of the first aspect of the invention is shown. The image processing device 10 comprises a balancing determination unit 20 and connected to it a color balancing calculation unit 21. A first image 11a generated by a first camera 11 and a second image 12a generated by a second camera 12 are provided to the color balancing determination unit 20. The first image 11a and the second image 12a each comprise reference pixels depicting a shared color scene of the first and second images. A color scene is the spectral radiances of a view of the natural world as measured from one or more vantage points in space. A shared color scene is a scene or scene portion that captures at least one same object or area within a shared view of the first camera 11 and the second camera 12 or captures at least one same color that may not be within a shared field of view (e.g., different areas of a uniformly blue sky) .

The color balancing determination unit 20 determines a global gain vector t comprising at least one gain factor a n of the first image 11a and at least one gain factor a n of the second image 12a by minimizing a pre-determined cost function based upon the reference pixel values. These gain factors are handed on to the color balancing

calculation unit 21, which performs a color balancing of the first image 11a and the second image 12a by dividing the pixel values of the first image 11a by the gain factor a n and by dividing the pixel values of the second image 12a by the gain factor a n+1 . Resulting from this

calculation by the color balancing calculation unit 21 is a first color balanced image lib and a second color balanced image 12b.

In the following, the detailed mathematics performed within the color balancing determination unit 20 and color balancing calculation unit 21 are shown.

Assuming a number of i - 2 cameras, the output of each camera in each channel is given as a set of pixels « with

(1) _ .(l)

(1)

,12)

(2) where x * is denoting the t-th pixel of a reference image (e.g., a "true" color value of an object) and €

{a?i,r , ¾,!»} where the indices r, g, and b corresponds to the camera color channels, red, green, and blue

respectively or also some other color basis such as {HSV}, {YUV}, etc.

The superscript denotes the camera index. Accordingly,

« ω W' · <<*·' '<;:' !, „ith .» -: {!...., J}. To calibrate the cameras to the common reference

multichannel image which is represented by the pixels , we identify the channels gain factors Q>i .

Multiplying the output of each camera by the gain of the other one leads to an identical quantity. Hence, in our a

In the assumed model, a global channel gain factor has to be determined for all pixels of a reference image. Let us define

a vector built up with the pixel values, i s denoting the transponat ion operator, and

Minimizing the energy of the vector is equivalent to determine the non-trivial nullspace of the matrix

R \ \ · ^ . We dete mine this , preferably, by an

TO

eigenvalue decomposition of the "* V .

Γ< v v TI \ Y A v . where ' ^ j_ s a diagonal matrix with the eigenvalues at its main diagonal, and , is a un itary matrix.

The nullspace is spanned by the eigenvectors corresponding to the zero-valued eigenvalues

'•( ' 2 )

ΐ _ a

— · > j

In practice, due to the camera noise, the eigenvalues are in general all different from noise; therefore, we select the eigenvetors with the smallest eigenvalues. This eigenvector is then interpreted as an estimation of t. To calibrate both cameras. The output is divided by the est imated gain factors in .

The resulting gain factors are estimated such that

i) the camera corrected colors have minimal difference, and

ii) the corrected colors tend to the unknown but common reference colors.

It is important to note that the shared color scene does not mean that the first image and the second image

necessarily share a field of view. The shared color scene merely means that either the images depicted an identical object or area and thereby share a field of view or the images merely depict objects of closely matching color without the images sharing a field of view. Moreover, it is important to note, that in case of color images, the above-described process is separately

performed for each different color channel of the images. This means that a separate cost function is minimized for each color channel of the images and a separate color balancing is performed for each individual color channel of the images.

In Fig. 3, an extension of the above-shown process to more than two images is shown. Especially, Fig. 3 shows a different embodiment of the image processing device 10. The image processing device 10 here also comprises a color balancing determination unit 20 and a color balancing calculation unit 21. For example a color balancing of a first image 11a and a second image 12a as shown in Fig. 2 has already been performed. A gain factor a 11-1 , which corresponds to the gain factor of the second image 12a is already available. The color balancing determination unit 20 is supplied with the second image 12a, a third image 13a generated by a third camera 13 and the gain factor a 11-1 and therefrom computes a further gain factor a n for the third image 13a. This gain factor is handed on to the color balancing calculation unit 21 along with the third image 13a. Therefrom, a color balanced third image 13b is calculated. In the following, the detailed mathematics underlying the briefly-specified process is shown:

Let us assume, we have already estimations of ^ ^ iilicl ά. ' ' ^ for all channels of the two cameras. To obtain an

3}

estimation for the channels gain by constraining it)

we consider again the nullspace determination problem

with

T r (1) (3)

- > y y Y

(10)

(11)

(12)

With (9), we obtain

/

For an inverse of that insures, the second coefficient of the unknown vector is 0, we use

With IS 1 the element at the first row and first column of the matrix RYY ' . Hence,

-* 11

(3) = a ' ' ^, 1

r yy ,ii (15) where we employed for O * * in the vector b the estimated value a from a previous step.

Given 2 images from paired cameras, the channel gain factors are estimated such that

i) the camera corrected colors have minimal difference, and

ii) the corrected colors tend to the reference colors. The calibration itself is done finally by dividing the pixels by the estimating channel gain parameters.

Moreover, in Fig. 4, again the overall structure of the proposed imaging system 1, which allows a calibration of more than two cameras is shown. Here, images 11a, 12a, 13a, 40a, 41a are provided to the image processing device 10, which performs a pairwise color balancing. In this example, the images 11a and 12a are used for generating color balanced images lib, 12b. A resulting gain factor a 1 is used for performing an incremental color balancing of a third image 13a resulting in a color balanced third image 13b. Accordingly it is continued with further images 40a, 41.

In Fig. 5, an embodiment of the third aspect of the invention is shown. In an optional first step 100, at least first and second images 11a, 12a are recorded. The images comprise a shared color scene, as described

earlier.

In a second step 101, a global gain vector t comprising a gain factor a n of the first image 11a and a gain factor a n+1 of the second image 12a is determined by minimizing a cost function based upon reference pixel values from the first and second images 11a, 12a.

In a third step 102, a color balancing of the first and second images 11a, 12a is performed using the respective gain factors a 11 , a n+1 .

Regarding the details of the individual steps, it is also referred to the elaborations regarding Fig. 1 - 4. The invention is not limited to the examples and

especially not to a specific number of images. Also the invention is not limited to images with or without

overlapping fields of view. The characteristics of the exemplary embodiments can be used in any combination.

The invention has been described in conjunction with various embodiments herein. However, other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the disclosure and the appended claims. In the claims, the word

"comprising" does not exclude other elements or steps and the indefinite article "a" or "an" does not exclude a plurality. A single processor or other unit may fulfill the functions of several items recited in the claims. The mere fact that certain measures are recited in usually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.

Embodiments of the invention may be implemented in a computer program for running on a computer system, at least including code portions for performing steps of a method according to the invention when run on a

programmable apparatus, such as a computer system or enabling a programmable apparatus to perform functions of a device or system according to the invention.

A computer program is a list of instructions such as a particular application program and/or an operating system. The computer program may for instance include one or more of: a subroutine, a function, a procedure, an object method, an object implementation, an executable

application, an applet, a servlet, a source code, an object code, a shared library/dynamic load library and/or other sequence of instructions designed for execution on a computer system.

The computer program may be stored internally on computer readable storage medium or transmitted to the computer system via a computer readable transmission medium. All or some of the computer program may be provided on transitory or non-transitory computer readable media permanently, removably or remotely coupled to an information processing system. The computer readable media may include, for example and without limitation, any number of the

following: magnetic storage media including disk and tape storage media; optical storage media such as compact disk media (e.g., CD-ROM, CD-R, etc.) and digital video disk storage media; nonvolatile memory storage media including semiconductor-based memory units such as FLASH memory, EEPROM, EPROM, ROM; ferromagnetic digital memories; MRAM; volatile storage media including registers, buffers or caches, main memory, RAM, etc.; and data transmission media including computer networks, point-to-point

telecommunication equipment, and carrier wave transmission media, just to name a few.

A computer process typically includes an executing

(running) program or portion of a program, current program values and state information, and the resources used by the operating system to manage the execution of the process. An operating system (OS) is the software that manages the sharing of the resources of a computer and provides programmers with an interface used to access those resources. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the system. The computer system may for instance include at least one processing unit, associated memory and a number of

input/output (I/O) devices. When executing the computer program, the computer system processes information

according to the computer program and produces resultant output information via I/O devices.

The connections as discussed herein may be any type of connection suitable to transfer signals from or to the respective nodes, units or devices, for example via intermediate devices. Accordingly, unless implied or stated otherwise, the connections may for example be direct connections or indirect connections. The

connections may be illustrated or described in reference to being a single connection, a plurality of connections, unidirectional connections, or bidirectional connections. However, different embodiments may vary the implementation of the connections. For example, separate unidirectional connections may be used rather than bidirectional

connections and vice versa. Also, plurality of connections may be replaced with a single connection that transfers multiple signals serially or in a time multiplexed manner. Likewise, single connections carrying multiple signals may be separated out into various different connections carrying subsets of these signals. Therefore, many options exist for transferring signals.

Those skilled in the art will recognize that the

boundaries between logic blocks are merely illustrative and that alternative embodiments may merge logic blocks or circuit elements or impose an alternate decomposition of functionality upon various logic blocks or circuit

elements. Thus, it is to be understood that the

architectures depicted herein are merely exemplary, and that in fact many other architectures can be implemented which achieve the same functionality.

Thus, any arrangement of components to achieve the same functionality is effectively "associated" such that the desired functionality is achieved. Hence, any two

components herein combined to achieve a particular

functionality can be seen as "associated with" each other such that the desired functionality is achieved,

irrespective of architectures or intermedial components. Likewise, any two components so associated can also be viewed as being "operably connected, " or "operably

coupled, " to each other to achieve the desired

functionality .

Furthermore, those skilled in the art will recognize that boundaries between the above described operations merely illustrative. The multiple operations may be combined into a single operation, a single operation may be distributed in additional operations and operations may be executed at least partially overlapping in time. Moreover, alternative embodiments may include multiple instances of a particular operation, and the order of operations may be altered in various other embodiments.

Also for example, the examples, or portions thereof, may implemented as soft or code representations of physical circuitry or of logical representations convertible into physical circuitry, such as in a hardware description language of any appropriate type.

Also, the invention is not limited to physical devices or units implemented in nonprogrammable hardware but can also be applied in programmable devices or units able to perform the desired device functions by operating in accordance with suitable program code, such as mainframes, minicomputers, servers, workstations, personal computers, notepads, personal digital assistants, electronic games, automotive and other embedded systems, cell phones and various other wireless devices, commonly denoted in this application as 'computer systems'.




 
Previous Patent: MARZIPAN SPREAD

Next Patent: TIME GRANULARITY IN WIFI OFDMA