image processing method
The image processing method employs hexagonal mesh decimation and interpolation to address resource challenges and artifact issues, enhancing local contrast efficiently.
Patent Information
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- SAFRAN ELECTRONICS & DEFENSE (FR)
- Filing Date
- 2024-11-29
- Publication Date
- 2026-06-05
AI Technical Summary
Existing image processing methods face challenges in managing high computational and memory resources while minimizing artifacts, particularly in local contrast enhancement techniques.
An image processing method utilizing low-frequency local filtering with hexagonal mesh decimation and interpolation to reduce resource consumption and minimize artifacts.
The method effectively limits visual artifacts and reduces memory and computing requirements, facilitating use in embedded systems.
Smart Images

Figure 00000019_0000 
Figure 00000019_0001 
Figure 00000020_0000
Abstract
Description
Title of the invention: Method for processing an image to be processed TECHNICAL FIELD OF THE INVENTION
[0001] The technical field of the invention is that of image processing.
[0002] The present invention relates to a method for processing an image to be processed. TECHNOLOGICAL BACKGROUND OF THE INVENTION
[0003] Raw images from imagers are generally difficult to interpret. For example, the dynamic range of different areas of the raw image is often too low compared to the dynamic range of the imager's sensor. To improve the visual rendering of the raw image, it is therefore necessary to process it. For example, it is possible to apply automatic control of the histogram of pixel values in the raw image and to enhance the contrast of the raw image in order to adapt the dynamic range of the different areas of interest in the image. The processed image is thus more easily interpretable, particularly by a human. A histogram of pixel values in an image is a graphical representation of the distribution of pixels according to their light intensity (for a monochrome image) or their color value (for a color image).
[0004] Image contrast enhancement is an image processing technique that aims to improve the visibility and distinction of the different elements of an image by expanding its range of intensity values. Specifically, this involves controlling the image's pixel histogram, for example, by stretching it across the entire range of available values. This technique accentuates the differences between the light and dark areas of the image, thus facilitating its visual interpretation. Automatic image histogram control can be classified into three main categories: global approaches, local approaches, and hybrid approaches.
[0005] Global approaches consist of stretching the grayscale histogram based on the pixel values of the entire image. For example, for a grayscale image, these approaches allow the number of grayscale levels to be adapted to the number of pixels in the image present at those grayscale levels, in order to obtain an even distribution of grayscale levels. The main advantage of global approaches is their low memory and computing resource consumption. However, these approaches do not allow for increasing contrast in locally low-contrast areas.
[0006] Local approaches locally adapt the image contrast level, for example by applying low-frequency local filtering to the image. Low-frequency local filtering of an image is a type of processing that acts on a neighborhood limited around each pixel. Low-frequency local filtering of an image involves attenuating or removing fine details and rapid variations in the image, which represent high frequencies, while preserving areas with smoother variations, which represent low frequencies. The memory and computing resources required to implement methods using the local approach depend, in particular, on the size of the area being processed locally. The most efficient state-of-the-art methods are based on a pyramidal decomposition of the image; that is, the image is decomposed into a set of sub-images decimated at each scale of the pyramid by a factor of 2. This decomposition allows for small-scale processing, typically applied to a neighborhood of 2x2 or 3x3 pixels, for each scale. The final image is then the result of combining all the scales interpolated to the dimensions of the input image.These approaches allow for increased contrast in areas of low contrast. However, pyramid decomposition of images is resource-intensive in terms of memory and computing power. It is also known to process only certain scales of the pyramid to limit memory and computing resource consumption, but this optimization introduces more significant artifacts related to interpolation.
[0007] Hybrid approaches consist of applying local processing to different areas of the image. The image is thus divided into several areas, for example, into 32x32 pixel squares, in which the statistics of the global approaches are calculated. The image is then processed with statistics interpolated to the dimensions of the input image. This approach is inexpensive in terms of memory and computing resources but creates artifacts in areas where the contrast changes sharply locally, as well as artifacts related to the interpolation.
[0008] To adapt the dynamics of the different regions of interest in a raw image, it is also known to use convolution techniques. Convolution techniques with large kernels have a high computational load and a high memory footprint. Several approaches exist to reduce this computational load. A first approach consists of using separable filters, i.e., separable convolution kernels. For example, convolution with a rectangular kernel can be separated into a convolution on the rows followed by a convolution on the columns. Thus, for n and m, the dimensions of the convolution kernel, this approach allows us to go from n x m multiplications per pixel to n + m multiplications per pixel. A second approach consists of passing the image and the convolution kernel into the Fourier domain. The convolution is then simply the term-by-term product of the Fourier transforms of the kernel and the image.The complexity of this second approach depends on the application of the Fourier transform to the image and then to the . The kernel is then multiplied, and finally the product is used to return to spatial space. The complexity per pixel is then expressed in log-pys, where p is the number of pixels in the input image. A third approach involves approximating the convolution by performing the convolution on a subset of pixels from the input image to create a convolutional image, and then interpolating it to the size of the image to be processed to obtain a value for all pixels in the image. This third approach requires few computational resources but introduces information loss due to the image passing through a smaller number of pixels compared to the number of pixels in the input image. This approach also generally introduces artifacts related to the image interpolation. In this application, an image is a reduced-size image obtained by decimating an original image.The image is therefore a reduced version of the original image, created for example using the decimation technique, also called "pixel skipping". In this application, the terms "decimated image" and "image" are used interchangeably to refer to a reduced-size image obtained by decimating the image to be processed. Decimation consists of: . • Select certain pixels from the original image at regular intervals, • ignore the intermediate pixels, and • Create a thumbnail image using the selected pixels.
[0009] There is therefore a need to provide an image processing method which limits, at least partially, the problems associated with the use of prior art image processing methods. Summary of the invention
[0010] The image processing method according to the invention limits the problems mentioned above by performing low-frequency local filtering of the image to be processed, including image decimation, to obtain an imagelet based on a hexagonal mesh. In other words, the image to be processed is decimated by selecting pixels of the image to be processed in such a way as to conform to a hexagonal pattern. Then, the imagelet is interpolated to generate an interpolated image, the same size as the image to be processed, which can be used subsequently in the image processing method. The processing method according to the invention therefore uses a two-scale processing architecture based on the construction and interpolation of imagelets.
[0011] A first aspect of the invention relates to a computer-implemented method for processing an image to be processed, comprising a local low-frequency filtering of the image to be processed, the image to be processed comprising an initial set of N pixels, each pixel of the initial set of N pixels being associated with an initial value, the local low-frequency filtering of the image to be processed comprising: • Decimation of the image to be processed into at least one decimated image, the decimation of the image to be processed comprising, for each decimated image: • Determination of a subset of M pixels, with M < N, included in the initial set of N pixels of the image to be processed, the subset of M pixels being determined such that each pixel of the subset of M pixels is a center of a part of the image to be processed, each part of the image to be processed having a hexagonal shape, • Calculation, for each pixel in the subset of M pixels, of a low-frequency processing value calculated from the initial value of neighboring pixels included in the initial set of N pixels of the image to be processed, and • Interpolation of the at least one decimated image into at least one interpolated image, each interpolated image comprising a first generated set of N pixels, an interpolated value of each pixel of the first generated set of N pixels being calculated from the low-frequency processing value of at least two neighboring pixels of each pixel of the at least one decimated image included in the pixels of the subset of M pixels.
[0012] The image processing method according to the invention makes it possible, in particular, to limit visual artifacts related to image interpolation. These interpolation-related artifacts can have a significant visual impact, especially when the contrast is greatly enhanced. Thus, maintaining hexagonal patterns during the decimation and interpolation of the image to be processed helps to avoid such artifacts, such as the appearance of a stair-step effect on the processed image. Furthermore, the image processing method according to the invention also makes it possible to limit the consumption of memory and computing resources, thereby facilitating its use in embedded systems.
[0013] In addition to the characteristics mentioned in the preceding paragraph, the method according to one aspect of the invention may have one or more additional characteristics from among the following, considered individually or in all technically possible combinations: • The interpolated value of each pixel in the interpolated image of N pixels is equal to the weighted sum of the low-frequency processing value of three neighboring pixels included in the subset of M pixels, • The image processing includes a local contrast enhancement of the image to be processed, in which two decimated images are obtained by decimating the image to be processed, the low-frequency processing value of the first decimated image being a low average value frequency obtained by calculating an average of the initial value of neighboring pixels included in the initial set of N pixels of the image to be processed, and the low-frequency processing value of the second decimated image being a low-frequency variance value obtained by calculating a standard deviation of the initial value of neighboring pixels included in the initial set of N pixels of the image to be processed, • The local low-frequency filtering of the image to be processed further includes a weighting of at least one interpolated image comprising, for each pixel of the first generated set of N pixels, the calculation of a weighted value obtained from the low-frequency average value of the current pixel and the low-frequency variance value of the current pixel, • the process further comprises high-frequency local filtering of the image to be processed and a fusion between a low-frequency image obtained by the low-frequency local filtering and a high-frequency image obtained by the high-frequency local filtering, • The local high-frequency filtering of the image to be processed includes: • a calculation, for each pixel of a second generated set of N pixels, of a high-frequency average value obtained by calculating an average of the initial value of neighboring pixels included in the initial set of N pixels of the image to be processed, and of a high-frequency variance value obtained by calculating a standard deviation of the initial value of neighboring pixels included in the initial set of N pixels of the image to be processed, and • a calculation, for each pixel of the second generated set of N pixels, of a weighted value obtained from the high-frequency mean value of the current pixel and the high-frequency variance value of the current pixel, • The process also includes: • control of an overall histogram of a merged image obtained by merging the low-frequency image and the high-frequency image, • control of an overall histogram of the image to be processed, and • fusion between a mixed image obtained by controlling the global histogram of the merged image and a global image obtained by controlling the global histogram of the image to be processed.
[0014] A second aspect of the invention relates to an aircraft comprising an image processing device configured to process an image to be processed, implementing the processing method according to the invention.
[0015] A third aspect of the invention relates to a computer program product, characterized in that it includes instructions to implement, by a device, the process according to the invention, when said program is executed by a processor of said device.
[0016] A fourth aspect of the invention relates to a computer-readable recording medium comprising instructions which, when executed by a computer, cause the computer to implement the process according to the invention.
[0017] A fifth aspect of the invention relates to an image processing device configured to process an image to be processed, by implementing the processing method according to the invention.
[0018] The invention and its various applications will be better understood by reading the following description and examining the accompanying figures. BRIEF DESCRIPTION OF THE FIGURES
[0019] The figures are presented for illustrative purposes only and are in no way limiting of the invention. • Fig. 1 shows a synoptic diagram of an example of a method for processing an image to be processed according to the invention. • Figure [Fig. 2] shows a schematic representation of a device image processing according to the invention. • Fig. 3 illustrates an example of decimation with a hexagonal mesh compatible with the invention. • Figure 4 illustrates an example of image cropping compatible with the invention. • Fig. 5 illustrates an example of a result that can be obtained using an example of an image processing method according to the invention and using an example of an image processing method of the prior art. • Fig. 6 shows a block diagram of an example of a decimation step of an image to be processed compatible with the image processing method according to the invention. DETAILED DESCRIPTION
[0020] Unless otherwise specified, the same element appearing on different figures has a unique reference.
[0021] Figure 1 is a block diagram illustrating the steps of an example of process 100 according to the invention. The mandatory steps of the example of process 100 are indicated by a solid rectangle and the optional steps are indicated by a dashed rectangle.
[0022] The method 100 according to the invention is implemented by computer. By "implemented by computer," it is understood that the steps, or practically all of the steps The steps in method 100 are executed by at least one computer, processor, or similar system. Thus, some steps are performed by the computer, possibly fully or semi-automatically. In some examples, the triggering of at least some of the steps in these methods can be achieved through user-computer interaction. The level of user-computer interaction required may depend on the intended level of automation and be balanced against the need to implement the user's wishes. In some examples, this level may be user-defined and / or predefined.
[0023] A typical example of a computer implementation of process 100 consists of executing process 100 with a device adapted for this purpose. The device may include a processor coupled to memory and a graphical user interface (GUI), the memory having stored a computer program containing instructions for implementing the process. The memory may also store a database. Memory is any hardware adapted for such storage, possibly comprising several distinct physical parts.
[0024] Figure 2 shows an image processing device 200 adapted to implement the method 100. The device 200 includes a memory 201 for storing processing data determined by the method 100 according to the invention. The device 200 further includes a circuit 202. This circuit 202 can be, for example, any computing or data processing module, such as a field-programmable gate array (FPGA). The circuit 202 can be configured to implement, according to the embodiments, the method 100 for processing an image to be processed according to the invention. The device 200 includes an input interface 203 for receiving the image to be processed. For example, this input interface can be connected to an imager configured to acquire raw images, i.e. to be processed, and transmit them to circuit 202 via input interface 203.The imager may or may not be part of device 200. Device 200 may also include an output interface 204 for supplying the processed image.
[0025] Method 100 is a method for processing an image to be processed. Processing the image to be processed may include restoring the image, for example, by removing noise or modifying the contrast of the image to be processed. Alternatively and / or complementaryly, processing the image to be processed may also include compressing the image, since local low-frequency filtering reduces the amount of information to be encoded and saved. Method 100 can generally be applied to any algorithm based on a large filter. It could, for example, be used for correcting non-uniformities in thermal imagers.
[0026] The image to be processed 1 using method 100 is a raw image, for example, one captured by an imager. The imager can be any type of raster imager, for example, a color camera, an MWIR (Midwave Infrared) or LWIR (Longwave Infrared) camera, or a low-light camera. The image to be processed 1 comprises an initial set of N pixels. Each pixel in the initial set of N pixels is associated with an initial value. For a pixel in the image to be processed, the initial value is, for example, the value corresponding to the light intensity for a monochrome image or the color value for a color image.
[0027] In one example, the method 100 is implemented to process a set of images to be processed 1, this set of images to be processed being, for example, derived from successive captures of raw images performed by an imager. The method 100 is indeed suitable for processing a stream of images to be processed. The processing of the set of images to be processed 1 can be carried out in a series of interconnected steps, commonly called "pipeline processing," on two successive images. Processing on two successive images is made possible by the assumption that the temporal variations of the low frequencies of the scene are negligible compared to the spatial variations.Processing two successive images can, for example, involve implementing certain steps of process 100 based on the previous image of the current image, in order to reuse the result(s) of these steps of process 100 for implementing other steps applied to the current image. For example, decimation step 110 can be performed on the previous image of the current image, and at least one decimated image of the previous image can be used to interpolate in step 120, with at least one interpolated image reused to process the current image. Note that during large-amplitude movements, for which this assumption no longer holds, the scene content is difficult for humans to interpret independently of the image processing applied.For applications where images with high motion are useful, the 100 method can be adapted by applying a rigid or geometric transformation to the interpolated image during interpolation, based on the measured momentum. For example, the momentum can be measured using image processing, gyroscopes mechanically linked to the imager, or line-of-sight movement commands when the line of sight is driven.
[0028] The image processing method 100 comprises a low-frequency local filtering of the image to be processed 1. The low-frequency local filtering of the image to be processed 1 of the method 100 makes it possible to obtain a low-frequency local image 4 comprising a first generated set of N pixels. The low-frequency local filtering of the image to be processed includes in particular a step 110 of decimation of the image to be processed 1 allowing to obtain at least one decimated image 2. The local low frequency filtering of the image to be processed then includes a step 120 of interpolation of the at least one decimated image 2 in order to obtain at least one interpolated image 3.
[0029] The low-frequency local filtering of the image to be processed in process 100 includes a decimation step 110 of the image to be processed 1. The decimation of the image to be processed 1 yields at least one decimated image. Figure 6 shows a block diagram of an example of a decimation step 110 of the image to be processed 1. Substeps 111 and 112 are performed for each decimated image. The decimation 110 of the image to be processed 1 includes a substep 111 of determining a subset of M pixels included in the initial set of N pixels of the image to be processed 1. In other words, step 110 yields at least one decimated image 2 (of the image to be processed 1) comprising a subset of M pixels. The subset of M pixels includes a number of pixels less than the initial set of N pixels of the image to be processed 1. Thus, M < N with M the number of pixels of each decimated image and N the number of pixels of the image to be processed.The decimation 110 of the image to be processed 1 is performed using a hexagonal mesh. The subset of M pixels is thus determined such that each pixel of the subset of M pixels is the center of a portion of the image to be processed 1, each portion of the image to be processed having a hexagonal shape. Figure 3 illustrates an example of decimation with a hexagonal mesh. In Figure 3, image 301 is the image to be processed 1. In this image 301, for illustrative purposes only, each circle 3011 represents a pixel of the subset of M pixels. Each pixel 3011 is the center of a portion 3012 of the image to be processed having a hexagonal shape. Image 302 is a graphical representation of a decimated image in which, for illustrative purposes only, the value of each pixel 3021 is assigned to the set of pixels in the part 3022 corresponding to said pixel 3021. The value of each pixel 3021 is in the example of [Fig.3] the representative value of the neighborhood of the corresponding pixel 3011, i.e. having the same coordinates in image 301. .
[0030] Step 110 of decimating the image to be processed 1 further includes a substep 112 of calculating, for each pixel of the subset of M pixels, a low-frequency processing value. The term "processing value" refers to a value that is useful for processing the image to be processed 1 during a subsequent step of the process 100. A decimated image 2 is used for each calculated low-frequency processing value. Thus, if P processing values are calculated for each pixel of the subset of M pixels, P decimated images are used. The low-frequency processing value is calculated from the initial value of neighboring pixels included in the initial set of N pixels of the image to be processed 1. The neighboring pixels may For example, the nearest neighbors of the pixel of interest, i.e., those whose low-frequency processing value is calculated, or the pixels contained within a rectangle centered on the coordinate of the pixel of interest, as illustrated in [Fig. 4]. [Fig. 4] illustrates an example of image segmentation for calculating the low-frequency processing value of each pixel in the subset of M pixels. Furthermore, it is possible to use overlapping neighborhoods or neighborhoods that do not cover all the pixels in the image. Finally, it should be noted that the choice of neighborhood depends on the desired results as well as the hardware constraints of the calculation module.
[0031] The low-frequency local filtering of the image to be processed 1 of the process 100 also includes a step 120 of interpolating the image to be processed into at least one decimated image 2, obtained in the decimation step 110 of the image to be processed 1. The interpolation 120 makes it possible to obtain at least one interpolated image 3 from the at least one decimated image 2. In other words, an interpolated image 3 is obtained for each decimated image 2. Each interpolated image 3 is the same size, in number of pixels, as the image to be processed 1. Thus, each interpolated image 3 comprises a first generated set of N pixels. Moreover, each pixel of the interpolated image 3 can correspond to a pixel of the image to be processed 1, the correspondence being determined, for example, by an identical coordinate in the respective images. Each pixel of the first generated set of N pixels has an interpolated value.The interpolated value of a pixel is calculated from the low-frequency processing value of at least two neighboring pixels included in the subset of M pixels. Furthermore, in an example with P low-frequency processing values calculated for each pixel of the first generated set of N pixels, P interpolated values are calculated for each pixel of the first generated set of N pixels.
[0032] In one example, the pixel coordinates of the decimated image 2 are arranged according to two grids offset from each other by 0.5 pixels on the horizontal axis and ±3 / 2 pixels on the vertical axis. Furthermore, it can be noted that approximations of these offset values have a minimal visual impact. An example implementation could be a horizontal step of 33 pixels and a vertical step of 27 pixels for images with dimensions of 480 by 640 pixels.
[0033] In an example consistent with the preceding examples, the interpolated value of each pixel in the first generated set of N pixels is equal to the weighted sum of the low-frequency processing value of three neighboring pixels included in the subset of M pixels. Figure 303 in [Fig. 3] illustrates, for a pixel 3031, three neighboring pixels 3032, 3033, and 3034 included in the subset of M pixels that can be used to calculate the interpolated value of pixel 3031.
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041] In the previous example, the weighting coefficients can be given by the following formulas: y = ]- a-fi, With : • x and the coordinates of the interpolated pixel relative to the three nearest neighbors, and • “, [3 and the coefficients applied respectively to the pixels of coordinates (0,0), ( 1,0) and L lï'Tl It is worth noting that these formulas are given for pixels forming a triangle pointing downwards in the image, and that the formulas for pixels forming a triangle pointing upwards in the image can be deduced directly from these formulas. In an example consistent with the preceding examples, the image processing applied to image 1 using process 100 includes a local enhancement of a contrast in image 1. In this example, two low-frequency processing values are calculated during step 112 for each pixel in the subset of M pixels. Thus, two decimated images 2 are used: one for each low-frequency processing value. The two low-frequency processing values are a low-frequency mean value and a low-frequency variance value. The low-frequency mean value is obtained by calculating the average of the initial values of neighboring pixels within the initial set of N pixels in image 1. The low-frequency variance value is obtained by calculating the standard deviation of the initial values of neighboring pixels within the initial set of N pixels in image 1.The neighboring pixels used to calculate these two values can be the nearest neighbors of the pixel of interest, i.e. whose low-frequency processing value is calculated, or rectangles centered on the coordinate of the pixel of interest as illustrated in [Fig.4]. In an example consistent with the previous one, the low-frequency mean value and the low-frequency variance value are calculated from the current image to be processed using a convolution filter. For example, for each pixel in the first generated set of N pixels, the low-frequency mean value and the low-frequency variance value are calculated over a window of NBF x NBF * pixels. With NBF, for example, between 10 and 15. The value of the NBF variable can be chosen to enable the storage of intermediate lines in RAM (Random Access Memory), for example, of an FPGA without using DDR (Double Data Rate) memory. An NBF value of approximately 10 can be used, for example.
[0042] In an example consistent with the preceding examples, the local low-frequency filtering of the image to be processed 1 of the process 100 further includes a weighting step 130 of the at least one interpolated image 3. The weighting 130 of the at least one interpolated image 3 comprises, for each pixel of the first generated set of N pixels, the calculation of a weighting value obtained from the low-frequency mean value of the current pixel and the low-frequency variance value of the current pixel. This weighting value is then used to weight each current pixel of the low-frequency image 4. The resulting weighted interpolated images are then used in the subsequent steps of the process 100.
[0043] In an example, compatible with the preceding examples, the weighting 130 of at least one interpolated image is performed by applying, for each pixel of the first generated set of N pixels, the following formula:
[0044] . im-moyifm) cte i+c[e^
[0045] With: • im, the initial pixel value from the image to be processed, • nw^imy the average value of the pixel, • Here (im), the variance value of the pixel, and • three constants dependent on the desired compromise between the criteria of weighting.
[0046] In an example compatible with the preceding examples, when several images are to be processed successively using method 100, the weighting 130 of the at least interpolated image 3 for a current image to be processed 1 is performed using the at least one decimated image 2 resulting from the decimation of the previous image to be processed 1. Thus, in this example, the image to be processed 1 is read by the FPGA but is not stored. The use of the at least one decimated image 2 for the following image makes it possible to apply the calculations from the low-frequency filter without having to store the image lines necessary for calculating the local low-frequency filter. Therefore, it is possible to limit memory consumption even when using a low-frequency processing filter on the order of a hundred pixels. For example, when an FPGA is used to implement method 100, each pixel of an image is read only once.Thus, any calculation between the image to be processed and the filtered image would require memorizing each pixel for the duration of the accumulation. of all the pixels involved in the various value calculations for the three neighboring pixels of the decimated image. When images are read lexicographically, i.e., line by line, this memory would therefore need to be sized to store a number of pixels on the order of the image width multiplied by twice the height of the triangles formed by the three neighboring pixels of the decimated image. To avoid using such large memories, the decimated image is calculated on a first image, saved in a small memory, comprising, for example, approximately 1000 memory addresses, and interpolated to the next image by performing the calculations between the previous filtered image and the current image.
[0047] In an example consistent with the preceding examples, the method 100 also includes high-frequency local filtering of the image to be processed 1. High-frequency local filtering of an image is an image processing technique that enhances fine details and contours. The high-frequency local filtering of the image to be processed 1 in the method 100 produces a high-frequency image 6 comprising a second generated set of N pixels. The high-frequency local filtering of the image to be processed 1 in the method 100 can be performed in various known ways.
[0048] In an example consistent with the preceding example, the local high-frequency filtering of the image to be processed 1 comprises two steps 140 and 150. Step 140 consists of calculating, for each pixel of the second generated set of N pixels, at least one high-frequency processing value. For example, at least two high-frequency processing values can be calculated: • a high-frequency average value obtained by calculating the average of the initial value of neighboring pixels included in the initial set of N pixels of the image to be processed 1, and • a high-frequency variance value obtained by calculating a standard deviation of the initial value of neighboring pixels included in the initial set of N pixels of the image to be processed 1.
[0049] In an example consistent with the preceding example, the calculations of the low-frequency and high-frequency treatment values performed respectively during steps 112 and 140 can be carried out in a similar manner. However, it should be noted that the methods for calculating the mean and variance values depend on the frequency being treated.
[0050] In an example compatible with the preceding example, the high-frequency mean value and the high-frequency variance value are calculated on the current image to be processed 1 using a convolution filter. For example, for each pixel of the second generated set of N pixels, the high-frequency mean value and the high-frequency variance value are calculated over a window of A'HF x NHF * pixels, With NHF, for example, between 10 and 15. The value of the NHF variable can be chosen to enable the storage of intermediate lines in RAM (Random Access Memory), for example, of an FPGA without using DDR (Double Data Rate) memory. An NHF value of approximately 10 can be used, for example.
[0051] In an example consistent with the preceding examples, step 150 comprises calculating, for each pixel in the second generated set of N pixels, a weighted value obtained from the high-frequency mean value of the current pixel and the high-frequency variance value of the current pixel. This calculation step 150 can be performed similarly to weighting step 130. In particular, the same formula including the constants CtCj dependent on the desired trade-off between the weighting criteria can be used.
[0052] In an example consistent with the preceding examples, the method 100 includes a step 160 of merging the low-frequency image 4 obtained by local low-frequency filtering with the high-frequency image 6 obtained by local high-frequency filtering. The merging 160 yields a merged image 7. For example, the merging 160 is performed by arithmetically averaging the low-frequency image 4 and the high-frequency image 6. Thus, for each pixel in these two images having the same coordinate, an average is calculated and assigned to the corresponding pixel in the merged image 7. It is also possible to use other known techniques to merge the low-frequency image 4 and the high-frequency image 6.
[0053] In an example consistent with the preceding example, the method 100 includes a step 170 for checking an overall histogram of the merged image 7. Checking 170 of the overall histogram of the merged image 7 makes it possible to obtain a mixed image 8. Checking 170 of the overall histogram of the merged image 7 can be performed using a known histogram checking algorithm such as: • a tolerated min-max algorithm, • an algorithm for equalizing pixel value levels, or • gamma functions or other functions based solely on a transformation of grey levels.
[0054] Controlling the global histogram of the merged image 7 allows, for example, adapting the dynamic range of the merged image to a desired dynamic range at the output of processing, the desired dynamic range being predetermined.
[0055] In an example consistent with the preceding example, the method 100 includes a step 180 for checking the overall histogram of the image to be processed 1. This checking 180 of the overall histogram of the image to be processed 1 can be carried out in a way similar to step 170. The control 180 of the global histogram of the image to be processed 1 allows obtaining a global image 9.
[0056] In an example consistent with the preceding example, the method 100 includes a fusion step 190 between the mixed image 8 and the overall image 9. This fusion 190 between the mixed image 8 and the overall image 9 can be performed similarly to the fusion 160 between the low-frequency image 4 and the high-frequency image 6. The fusion 190 makes it possible to obtain a final image 10 which has been processed using the method 100, for example, by locally enhancing the contrast of the image to be processed 1. Figure 5 compares an example of the result obtained by applying an image processing method according to the prior art and an example of the result obtained by applying the image processing method 100 according to the invention. In this [Fig.5], image 501 is the image to be processed, notably by enhancing the contrast of image 501. Image 502 is an intermediate image of an image processing method according to the prior art.Image 502 is obtained by applying low-frequency local filtering with bilinear decimation and interpolation, i.e., using a square pattern, to image 501. In image 502, the stair-stepping effect is visible, particularly in area 5021. Image 503 is an intermediate image of the image processing method according to the invention. Image 503 is obtained by applying low-frequency local filtering with hexagonal pattern decimation and interpolation to image 501. In image 503, it can be noted that no stair-stepping effect is visible. Finally, image 504 is an example of a result that can be obtained by applying to image 501 an example of a processing method 100, aimed in particular at enhancing the image contrast.Thus, in this example, the process 100 according to the invention offers a low-frequency filtering solution by decimation and interpolation based on a hexagonal pattern (to replace the square patterns usually used) which makes it possible to reduce the amplitude of the artifacts and make them more natural to the eye.
Claims
Demands
1. A computer-implemented method (100) for processing an image to be processed (1) comprising a low-frequency local filtering of the image to be processed (1), the image to be processed (1) comprising an initial set of N pixels, each pixel of the initial set of N pixels being associated with an initial value, the low-frequency local filtering of the image to be processed (1) comprising: - Decimation (110) of the image to be processed (1) into at least one decimated image (2), the decimation (110) of the image to be processed (1) comprising for each decimated image (2): • determination (111) of a subset of M pixels, with M < N, included in the initial set of N pixels of the image to be processed (1), the subset of M pixels being determined so that each pixel of the subset of M pixels is a center (3011) of a part (3012) of the image to be processed (1), each part (3012) of the image to be processed (1) having a hexagonal shape, • Calculation (112), for each pixel of the subset of M pixels, of a low-frequency processing value calculated from the initial value of neighboring pixels included in the initial set of N pixels of the image to be processed (1), and - Interpolation (120) of the at least one decimated image (2) into at least one interpolated image (3), each interpolated image (3) comprising a first generated set of N pixels, an interpolated value of each pixel of the first generated set of N pixels being calculated from the low frequency processing value of at least two neighboring pixels of each pixel of the at least one decimated image included in the pixels of the subset of M pixels.
2. A processing method (100) according to claim 1 wherein the interpolated value of each pixel in the interpolated image of N pixels is equal to the weighted sum of the low-frequency processing value of three neighboring pixels included in the subset of M pixels.
3. A processing method (100) according to claim 1 or 2 wherein the processing of the image to be processed (1) comprises a local enhancement of a contrast of the image to be processed (1) and wherein two decimated images (2) are obtained by decimation (110) of the image to be processed (1), the low-frequency processing value of the first decimated image (2) being a low-frequency average value obtained by calculating an average of the initial value of neighboring pixels included in the initial set of N pixels of the image to be processed (1) and the low-frequency processing value of the second decimated image (2) being a low-frequency variance value obtained by calculating a standard deviation of the initial value of neighboring pixels included in the initial set of N pixels of the image to be processed (1).
4. A processing method (100) according to any one of the preceding claims wherein the local low-frequency filtering of the image to be processed (1) further comprises: - a weighting (130) of the at least one interpolated image (3) comprising, for each pixel of the first generated set of N pixels, the calculation of a weighted value obtained from the low-frequency average value of the current pixel and the low-frequency variance value of the current pixel.
5. Process (100) according to any one of the preceding claims further comprising a high-frequency local filtering of the image to be processed (1) and: - a fusion (160) between a low-frequency image (4) obtained by the low-frequency local filtering and a high-frequency image (6) obtained by the high-frequency local filtering.
6. A processing method (100) according to the preceding claim, wherein the high-frequency local filtering of the image to be processed (1) comprises: - a calculation (140), for each pixel of a second generated set of N pixels, of a high-frequency average value obtained by calculating an average of the initial value of neighboring pixels included in the initial set of N pixels of the image to be processed (1), and of a high-variance value frequency obtained by calculating a standard deviation of the initial value of neighboring pixels included in the initial set of N pixels of the image to be processed (1), and - a calculation (150), for each pixel of the second generated set of N pixels, of a weighted value obtained from the high frequency mean value of the current pixel and the high frequency variance value of the current pixel.
7. Process (100) according to claim 5 or 6 further comprising steps of: - checking (170) an overall histogram of a fused image (7) obtained by merging the low frequency image (4) and the high frequency image (6), - checking (180) an overall histogram of the image to be processed (1), and - merging (190) between a mixed image (8) obtained by checking (180) the overall histogram of the fused image (7) and an overall image (9) obtained by checking the overall histogram of the image to be processed (1).
8. Aircraft comprising an image processing device (200) configured to process an image to be processed (1), by implementing the processing method (100) according to any one of the preceding claims.
9. Product computer program, characterized in that it includes instructions to implement, by a device, the method according to any one of claims 1 to 7, when said program is executed by a processor of said device.
10. A computer-readable recording medium comprising instructions which, when executed by a computer, cause the computer to carry out the method according to any one of claims 1 to 7.