IMAGE ENHANCEMENT METHOD AND SYSTEM

20200273154 ยท 2020-08-27

    Inventors

    Cpc classification

    International classification

    Abstract

    The present application provides an image enhancement method and system, the method includes acquiring an input brightness value, and computing a log average value of the input brightness value; processing the input image based on a Retinex image enhancement algorithm to obtain a first brightness gain value; computing a brightness gain control factor according to the log average value of the input brightness value; computing a second brightness gain value according to the brightness gain control factor and the first brightness gain value; and obtaining an output image by enhancing the input image according to the second brightness gain value. The present application uses a Retinex image enhancement algorithm to enhance the input image, and by using the brightness gain control factor, when the image has low brightness, the first brightness gain value is compressed, and when the image has high brightness, the first brightness gain value is compressed slightly.

    Claims

    1. An image enhancement method, comprising the following steps: acquiring an input brightness value of each pixel of an input image, and computing a log average value of the input brightness values; processing the input image based on a Retinex image enhancement algorithm, to obtain a first brightness gain value of each pixel; computing a brightness gain control factor, which is positively correlated with the log average value of the input brightness values, according to the log average value of the input brightness values; computing a second brightness gain value of each pixel according to the brightness gain control factor and the first brightness gain value; and obtaining an output image by enhancing each pixel of the input image according to the second brightness gain value.

    2. The image enhancement method of claim 1, wherein, computing the second brightness gain value of each pixel according to the following formula:
    G(x,y)=(G(x,y)).sup. wherein, is the brightness gain control factor, G(x,y)custom-characterG(x,y) are respectively the first brightness gain value and second brightness gain value of a pixel (x,y).

    3. The image enhancement method of claim 2, wherein, computing the brightness gain control factor according to the following formula:
    =(L.sub.w).sup. wherein, L.sub.w is the log average value of the input brightness values, is the brightness gain control factor, is a first preset control value, and [0,1].

    4. The image enhancement method of claim 1, wherein, computing the log average value of the input brightness values according to the following formula: L w = exp ( 1 N .Math. .Math. x , y .Math. log ( + L w ( x , y ) ) ) wherein, L.sub.w(x,y) is the input brightness value of the pixel (x,y), L.sub.w is the log average value of L.sub.w(x,y), N is the total number of pixels of the input image, is a second preset control value, and L.sub.w(x,y) is the input brightness value of the pixel (x,y).

    5. The image enhancement method of claim 1, wherein, processing the input image based on a Retinex image enhancement algorithm comprises the following steps: processing the input image based on a global adaptive algorithm to obtain a global output brightness value of each pixel; processing the global output brightness based on a local adaptive algorithm to obtain an output brightness value of each pixel; and computing the first brightness gain value of each pixel according to the output brightness value and the input brightness value.

    6. The image enhancement method of claim 5, wherein, processing the input image based on a global adaptive algorithm comprises the following steps: computing the global output brightness value of each pixel according to the following formula: L g ( x , y ) = log ( L w ( x , y ) / L w + 1 ) log ( L w .Math. max / L w + 1 ) wherein, L.sub.g(x,y) is the global output brightness of the pixel (x,y), L.sub.w(x,y) is the input brightness value of the pixel (x,y), L.sub.wmax is a maximum value of L.sub.w(x,y), and L.sub.w is the log average value of L.sub.w(x,y).

    7. The image enhancement method of claim 5, wherein, processing the global output brightness based on a local adaptive algorithm comprises the following steps: computing an output value of a guided filter according to the global output brightness of each pixel; computing a local output brightness value of each pixel according to the following formula:
    L.sub.l(x,y)=log(L.sub.g(x,y))log(H.sub.g(x,y)) wherein, L.sub.g(x,y) is the global output brightness value of the pixel (x,y), H.sub.g(x,y) is the output value of the guided filter, and L.sub.l(x,y) is the local output brightness value of the pixel (x,y); and taking the local output brightness value as the output brightness value of each pixel.

    8. The image enhancement method of claim 5, wherein, processing the global output brightness value based on a local adaptive algorithm comprises the following steps: computing output value of the guided filter according to the global output brightness value of each pixel; computing the local output brightness value of each pixel according to the following formula: L o .Math. u .Math. t ( x , y ) = ( x , y ) .Math. log ( L g ( x , y ) H g ( x , y ) + ) wherein, L.sub.g(x,y) is the global output brightness value of the pixel (x,y), H.sub.g(x,y) is the output value of the guided filter, L.sub.out(x,y) is the local output brightness value of the pixel (x,y), (x,y) is a contrast enhancement factor of the pixel (x,y), is an adaptive nonlinear offset factor; and both (x,y) and may be respectively computed by the following two formulas: ( x , y ) = 1 + .Math. L g ( x , y ) L g .Math. max .Math. .Math. = .Math. L g wherein, L.sub.gmax is a maximum value of L.sub.g(x,y), it is a contrast control parameter, is a non-linear control parameter, and L.sub.g is the log average value of L.sub.g(x,y); and taking the local output brightness value as the output brightness value of each pixel.

    9. The image enhancement method of claim 7, wherein, computing the output of the guided filter according to the following formula: H g ( x , y ) = 1 .Math. .Math. .Math. .Math. ( x , y ) .Math. ( x , y ) .Math. ( a ( x , y ) .Math. L g ( x , y ) + b ( x , y ) ) wherein, .sub.x,.sub.y are adjacent coordinates of the pixel (x,y), (x,y) is a local rectangular window at a distance of radius r from the pixel (x,y), || is the number of pixels in the (x,y), a(.sub.x,.sub.y) and b(.sub.x,.sub.y) are respectively linear coefficients, which may be respectively computed according to the following two formulas: a ( x , y ) = 2 ( x , y ) - 2 ( x , y ) 2 ( x , y ) + .Math. b ( x , y ) = ( x , y ) - a ( x , y ) .Math. ( x , y ) wherein, (.sub.x,.sub.y) and .sup.2(.sub.x,.sub.y) are respectively a mean and a variance of L.sub.g(x,y) in (.sub.x,.sub.y), .sub.2(.sub.x,.sub.y) is a mean of L.sub.g.sup.2(x,y) in (.sub.x,.sub.y), and is a regularization parameter.

    10. An image enhancement system, comprising: an input brightness value acquisition module, for acquiring an input brightness value of each pixel of an input image; a brightness gain value computation module, for computing a log average value of the input brightness values; and processing the input image based on a Retinex image enhancement algorithm, to obtain a first brightness gain value of each pixel; a brightness control module, for computing a brightness gain control factor, according to the log average value of the input brightness values; and computing a second brightness gain value of each pixel according to the brightness gain control factor; and an image enhancement module, for obtaining an output image by enhancing each pixel of the input image according to the second brightness gain value.

    11. The image enhancement method of claim 8, wherein, computing the output of the guided filter according to the following formula: H g ( x , y ) = 1 .Math. .Math. .Math. .Math. ( x , y ) .Math. ( x , y ) .Math. ( a ( x , y ) .Math. L g ( x , y ) + b ( x , y ) ) wherein, .sub.x,.sub.y are adjacent coordinates of the pixel (x,y), (x,y) is a local rectangular window at a distance of radius r from the pixel (x,y), || is the number of pixels in the (x,y), a(.sub.x,.sub.y) and b(.sub.x,.sub.y) are respectively linear coefficients, which may be respectively computed according to the following two formulas: a ( x , y ) = 2 ( x , y ) - 2 ( x , y ) 2 ( x , y ) + .Math. b ( x , y ) = ( x , y ) - a ( x , y ) .Math. ( x , y ) wherein, (.sub.x,.sub.y) and .sup.2(.sub.x,.sub.y) are respectively a mean and a variance of L.sub.g(x,y) in (.sub.x,.sub.y), .sub.2(.sub.x,.sub.y) is a mean of L.sub.g.sup.2(x,y) in (.sub.x,.sub.y), and a is a regularization parameter.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0019] By reading the detailed description of the non-limiting embodiment with reference to the following drawings, other features, purpose and advantages of the present application will become more apparent.

    [0020] FIG. 1 is a flowchart of an image enhancement method of the present application;

    [0021] FIG. 2 is a flowchart for computing a first brightness gain value in an embodiment of the present application;

    [0022] FIG. 3 is a flowchart of an image enhancement method in an embodiment of the present application;

    [0023] FIG. 4 is a structural diagram for an image enhancement system in an embodiment of the present application;

    [0024] FIG. 5 is a structural diagram for a brightness gain computation module in an embodiment of the present application.

    DETAILED DESCRIPTION

    [0025] Exemplary implementations will now be described more fully with reference to the accompanying drawings. However, the exemplary implementations can be implemented in a variety of forms and should not be understood to be limited to the implementations set forth herein; instead, providing these implementations makes the present application comprehensive and complete, and fully convey the concept of the exemplary implementation to those skilled in the art. In the figures, the same reference numerals indicate the same or similar structures, so repeated descriptions thereof will be omitted.

    [0026] As shown in FIG. 1, the present application provides an image enhancement method, comprising the following steps:

    [0027] S100: acquiring an input brightness value of each pixel of an input image, and computing a log average value of the input brightness values;

    [0028] S200: processing the input image based on a Retinex image enhancement algorithm, to obtain a first brightness gain value of each pixel;

    [0029] S300: computing a brightness gain control factor according to the log average value of the input brightness values, the brightness gain control factor is positively correlated with the log average value of the input brightness values;

    [0030] S400: computing a second brightness gain value of each pixel according to the brightness gain control factor and the first brightness gain value; and

    [0031] S500: obtaining an enhanced image by enhancing each pixel of the input image according to the second brightness gain value.

    [0032] The present application adopts a Retinex image enhancement algorithm to enhance the input image, and a brightness gain control factor to control the brightness gain. The brightness gain control factor, which depends on a log average value of the input brightness value, can well reflect the overall brightness level of the input image, on the basis of which the brightness gain is controlled accordingly, so that the brightness of the output image can be improved and consistent with the real environment.

    [0033] In the present application, the Retinex image enhancement algorithm can use a global adaptive algorithm, or a local adaptive algorithm, or a combination of the global adaptive algorithm and the local adaptive algorithm. In addition, other image enhancement algorithms based on Retinex can also be used, and all these algorithms fall into the scope of the present application

    [0034] The present application will be described in detail with a specific embodiment as follows. The embodiment is based on the Retinex theory. First, the global tone mapping technology is used to pre-process the input image; then, the local tone mapping is used to process the output after the global processing; then, the output brightness of the Retinex algorithm is normalized; the brightness gain control factor is used to process the output brightness of the Retinex algorithm; finally, the output image is obtained from the processed brightness and input chrominance values.

    [0035] As shown in FIG. 2, in the embodiment, image enhancement includes two parts: global processing and local processing. Specifically, the above step S200 may include the following steps:

    [0036] S201: processing the input image based on a global adaptive algorithm to obtain a global output brightness value of each pixel;

    [0037] S202: processing the global output brightness based on a local adaptive algorithm to obtain an output brightness value of each pixel; and

    [0038] S203: computing the first brightness gain value of each pixel according to the output brightness value and the input brightness value.

    [0039] In addition, in this embodiment, the local adaptive algorithm in step S202 is improved, and the Gaussian filter in the visual algorithm is replaced with a guided filter, which can remove the halo. A contrast enhancement factor based on scene brightness, which is for controlling the contrast of the output image, is added to the local processing algorithm. In addition, the embodiment also introduces the non-linear intensity of the logarithmic function to process the adaptive non-linear offset.

    [0040] As shown in FIG. 3, the image enhancement method of the embodiment may include the following steps:

    [0041] S1: inputting image data, and computing an input brightness value L.sub.w and a log average value L.sub.w thereof;

    [0042] S2: taking the input brightness value L.sub.w to a logarithmic function of brightness perceived by the human visual system, to obtain a global output brightness value L.sub.g;

    [0043] S3: performing guided filtering of the global output brightness value L.sub.g, to obtain an output H.sub.g of the guided filter, determining a contrast control parameters and a non-linear control parameters , and computing a local brightness output L.sub.l;

    [0044] S4: determining a brightness gain control factor , and computing the brightness gain value of each pixel with the input brightness value L.sub.w, the log average value L.sub.w, the local brightness output L.sub.l and brightness gain control factor ; and

    [0045] S5: multiplying the pixel values of three channels of the input image by the brightness gain value respectively, to construct a new image.

    [0046] Therefore, using the image enhancement method of the embodiment can not only enhance the contrast and brightness of the output image, but also eliminate halo artifacts. The present application can perform adaptive enhancement for different types of images, ensuring real-time image enhancement.

    [0047] Each of the steps will be described in detail as follows:

    [0048] S1. input image data, computing the input brightness value L.sub.w of the input image, and computing the log average value L.sub.w according to the following formula:

    [00001] L _ w = exp .Math. .Math. ( 1 N .Math. x , y .Math. .Math. log .Math. .Math. ( + L w ( x , y ) ) )

    [0049] wherein, L.sub.w(x,y) is the input brightness value of the pixel (x,y), L.sub.w is the log average value of L.sub.w(x,y), N is the total number of pixels of the input image, is a second preset control value, and L.sub.w(x,y) is the input brightness value of the pixel (x,y).

    [0050] S2. Computing the global output brightness value L.sub.g(x,y) according to the global adaptive algorithm.

    [0051] Global self-adaptation is similar to the early human vision system. The approximation of the brightness perceived by the human vision system is a logarithmic function. Therefore, the conversion formula for the visual global brightness is as follows:

    [00002] L g ( x , y ) = log ( L w ( x , y ) / L w + 1 ) log ( L w .Math. max / L w + 1 )

    [0052] wherein, L.sub.g(x,y) is the global output brightness value of the pixel (x,y), L.sub.w(x,y) is the input brightness value of the pixel (x,y), L.sub.wmax is the maximum value of L.sub.w(x,y), and L.sub.w is the log average value of L.sub.w(x,y).

    [0053] S3. Computing the local output brightness value L.sub.l(x,y) according to the local adaptive algorithm.

    [0054] After the global adaptive processing, a local adaptive algorithm based on the visual theory is used. In this embodiment, a guided filter is used instead of the double-edge filter in the traditional theory, both of which are edge-preserving filters, and the guided filter has better performance near the edge. The local adaptive formula is:


    L.sub.w(x,y)=log(L.sub.g(x,y))log(H.sub.g(x,y))

    [0055] wherein, L.sub.g(x,y) is the global output brightness value of the pixel (x,y), H.sub.g(x,y) is the output of the guided filter, and L.sub.l(x,y) is the local output brightness value of the pixel (x,y).

    [0056] Computing the output of the guided filter according to the following formula:

    [00003] H g ( x , y ) = 1 .Math. .Math. .Math. ( x , y ) .Math. ( x , y ) ( a ( x , y ) .Math. L g ( x , y ) + b ( x , y ) )

    [0057] wherein, .sub.x,.sub.y are adjacent coordinates of the pixel (x,y), (x,y) is a local rectangular window at a distance of radius r from the pixel (x,y), || is the number of pixels in the (x,y), a(.sub.x,.sub.y) and b(.sub.x,.sub.y) are respectively linear coefficients, which may be respectively computed according to the following two formulas:

    [00004] a ( x , y ) = 2 ( x , y ) - 2 ( x , y ) 2 ( x , y ) + .Math. b ( x , y ) = ( x , y ) - a ( x , y ) .Math. ( x , y )

    [0058] wherein, (.sub.x,.sub.y) and .sup.2(.sub.x,.sub.y) are respectively a mean and a variance of L.sub.g(x,y) in (.sub.x,.sub.y), .sub.2(.sub.x,.sub.y) is a mean of L.sub.g.sup.2(x,y) in (.sub.x,.sub.y), and is a regularization parameter.

    [0059] After filtering, the halo effect will be significantly reduced, but the global contrast is low. Two important factors are introduced to prevent the flat effect caused by the filter and improve the performance of the algorithm. One factor is a contrast enhancement factor with a formula shown as:

    [00005] ( x , y ) = 1 + .Math. L g ( x , y ) L g .Math. max

    [0060] The other factor is an adaptive nonlinear offset factor with a formula shown as:


    =L.sub.g

    [0061] wherein, L.sub.gmax is the maximum value of L.sub.g(x,y), is a non-linear control parameter, and L.sub.g is the log average value of L.sub.g(x,y).

    [0062] Through the computation of the above partial factors, the final local adaptive formula is:

    [00006] L out ( x , y ) = ( x , y ) .Math. log ( L g ( x , y ) H g ( x , y ) + )

    [0063] wherein, L.sub.out(x,y) is an optimized local output brightness value of the pixel (x,y).

    [0064] S4. Determining the brightness gain control factor .

    [0065] Normalizing L.sub.out, so that it is in the same range as the input brightness. The normalization method can use the following formula:

    [00007] L o .Math. u .Math. t ( x , y ) = L out ( x , y ) - L outmin L outmax - L outmin

    [0066] wherein, L.sub.out(x,y) is a normalized brightness value of L.sub.out(x,y), and L.sub.outmax and L.sub.outmin are respectively maximum value and minimum value of L.sub.out(x,y).

    [0067] Computing the first brightness gain value according to the following formula:

    [00008] G ( x , y ) = L out ( x , y ) L w ( x , y )

    [0068] wherein, G(x,y) is a first brightness gain value of the pixel (x,y).

    [0069] G(x,y), if directly used as the gain output image, cannot effectively control the output brightness of the image. For darker images, the output image brightness is too high, and the image is not consistent with the actual scene although it looks clearer; especially when the image has poor quality, the output image is accompanied by noise and looks worse.

    [0070] In order to solve the above problem, it is necessary to control the output brightness so that the output image can be improved and consistent with the real environment. Then it is expected that as the image brightness becomes smaller, the G(x,y) becomes smaller and the gradient becomes greater.

    [0071] To this end, a brightness gain control factor is conceived, which is adjusted on the basis of G(x,y).


    G(x,y)=(G(x,y)).sup.

    [0072] wherein, is the brightness gain control factor, G(x,y)custom-characterG(x,y) are respectively the first brightness gain value and the second brightness gain value of a pixel (x,y).

    [0073] Computing the brightness gain control factor according to the following formula:


    =(L.sub.w).sup.

    [0074] wherein, L.sub.w is the log average value of the input brightness values, is the brightness gain control factor, is a first preset control value, and [0,1]. In practical applications, the first preset control value can be selected according to empiric values, for example, 0.5, 0.6, etc., to acquire the best brightness gain control effect. In addition, when the value of is 0, the brightness gain control factor is 1, which has no effect on the first brightness gain value, so the value of is further preferably selected in the range of (0,1].

    [0075] The brightness gain control factor takes the log average value of the input brightness as input, which can better reflect the brightness of the original image. L.sub.w is the log average value of the input brightness value, and L.sub.w[0,1], thus [0,1].

    [0076] This is because when the image brightness is low, the first brightness gain value will be greatly compressed, and when the image brightness is large, the first brightness gain value will be compressed to a relatively small extent, thereby controlling the output brightness, to achieve effective control.

    [0077] S5: enhancing each pixel of the input image according to the following formula, to obtain the output image:


    RGB1(x,y)=RGB0(x,y)*G(x,y)

    [0078] wherein, G(x,y) is the second brightness gain value of the pixel (x,y), RGB1(x,y) is a RGB value of the pixel (x,y) in an output image, and RGB0(x,y) is a RGB value of the pixel (x,y) in an input image.

    [0079] As shown in FIG. 4, an embodiment of the present application also provides an image enhancement system for implementing the above-mentioned image enhancement method. The system includes an input brightness value acquisition module 100, a brightness gain computation module 200, a brightness control module 300 and an image enhancement module 400, wherein:

    [0080] The brightness acquisition module 100 acquires the input brightness value of each pixel in the input image; the brightness gain computation module 200 computes the log average value of the input brightness value, and processes the input image based on a Retinex image enhancement algorithm, to obtain first brightness gain value of each pixel; the brightness control module 300 computes a brightness gain control factor according to the log average value of the input brightness values, and computing second brightness gain value of each pixel according to the brightness gain control factor; and the image enhancement module 400 obtains an output image by enhancing each pixel of the input image according to the second brightness gain value.

    [0081] In this embodiment, the input image is enhanced using the Retinex image enhancement algorithm, and the brightness gain is controlled by using the brightness gain control factor. The brightness gain control factor is determined by the log average value of the input brightness value, which can well reflect the overall brightness level of the input image, and control the brightness gain according to the overall brightness level of the input image, so that the brightness of the output image can be both improved and consistent with the real environment.

    [0082] Each module can implement fixed-point processing of the algorithm, and can be implemented in FPGA (Field-Programmable Gate Array, Field Programmable Gate Array). The specific operation steps of each module can refer to the embodiment of the above mentioned image method. As shown in FIG. 5, the brightness gain computation module 200 may further include a global adaptive unit 201 that uses a global adaptive algorithm to process the image to obtain a global output brightness value; a filtering unit 202 that uses a guided filter to filter the global output brightness value; a contrast control unit 203 that computes a contrast enhancement factor, and introduces the contrast enhancement factor into the local adaptive formula; a non-linear offset unit 204 that computes an adaptive nonlinear offset factor, and introduces the adaptive nonlinear offset factor into the local adaptive formula. Therefore, using the image enhancement method of the embodiment can not only effectively control the brightness of the output image, but also reduce the halo effect of the enhanced image through the guided filter, enhance the global contrast of the image through the contrast enhancement factor, and maintain the accuracy of the local adaptive algorithm through the adaptive nonlinear offset factor.

    [0083] The image enhancement method and system provided by the present application have the following advantages:

    [0084] The present application uses the Retinex image enhancement algorithm to enhance the input image. With the use of the brightness gain control factor, when the image brightness is low, the first brightness gain value will be greatly compressed, and when the image brightness is large, the first brightness gain value is compressed by a small amount, so that the brightness gain of the dark image can be reduced; thus, the brightness of the output image can be effectively controlled, and the brightness of the output image can be both improved and consistent with the real environment.

    [0085] The above contents are further detailed description of the present application in combination with specific preferred implementations. It cannot be considered that the specific implementation of the present application is limited to these descriptions. For those with ordinary skills in the technical field to which the present application belongs, a number of simple derivations or replacements can also be made without departing from the concept of the present application, and all of the derivations or replacements should be considered as belonging to the protection scope of the present application.