Non-uniform correction of edge-based suppression scenes for uncooled infrared
By using a combination of edge-preserving mean filtering and high-pass filtering in an uncooled infrared imager, along with scene contrast adjustment, the problem of noise reduction in small-sized, lightweight environments is solved, achieving effective suppression of spatial noise and resource conservation.
Patent Information
- Application Number
- CN202080037688.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-03-20
- Filing Date
- 2020-03-16
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2040-03-16
AI Technical Summary
In small, lightweight environments, existing technologies struggle to effectively reduce pixel-based spatial noise in uncooled infrared imagers without burn-in, and typically require significant resources.
By subtracting a non-uniform correction offset based on the historical scene from the previous image frame for selected pixels of each image frame, edge ignoring and noise smoothing are performed. The new image frame value is output using edge-preserving mean filtering and high-pass filtering, combined with a scene contrast adjustment attenuation factor, and the offset is stored in limited memory.
It significantly reduces spatial noise in uncooled infrared imagers, avoids screen burn-in, and reduces resource consumption, making it suitable for resource-constrained environments.
Smart Images

Figure CN113853630B_ABST
Abstract
Description
[0001] Government Interest Statement
[0002] This invention was completed with government support under contract number W91CRB-16-D-0030 / 0001 granted by the U.S. Army. The U.S. government holds certain rights to this invention. Technical Field
[0003] This disclosure relates to noise in uncooled infrared imagers, and more specifically, to reducing pixel-based spatial noise in uncooled infrared imagers through scene-based correction, significantly reducing or eliminating edge burn-in in resource-constrained, small-size, lightweight environments. Background Technology
[0004] Reducing pixel-based spatial noise without burn-in in uncooled infrared imagers is a challenge, especially when significant resources are unavailable, such as in small-size, lightweight environments. Existing solutions either fail under conditions of little or no movement or introduce burn-in under such circumstances. Many of these solutions require substantial resources.
[0005] Figure 1 A noise and current correction method 100 for an infrared imager is depicted. A 3D figure 105 shows an example of non-uniform noise in an infrared focal plane array (IRFPA). The current noise correction method involves imager / scene movement 110, where the movement changes the scene seen by the detector, and a blackbody source produces a known, constant scene temperature 115.
[0006] There is a need for an apparatus, system, and method to reduce pixel-based spatial noise in uncooled infrared imagers with little or no movement, without burn-in, and with a small resource footprint. Summary of the Invention
[0007] An embodiment provides a method for reducing pixel-based spatial noise in an uncooled infrared imager, comprising: subtracting a non-uniform correction (NUC) offset based on a historical scene from a previous image frame for each selected pixel of an image frame; obtaining an edge-ignoring, noise-smoothed image frame; obtaining an edge-ignoring high-pass image frame; attenuating the edge-ignoring high-pass image frame; adding the attenuated edge-ignoring high-pass image frame to the historical scene-based NUC offset to create a new historical offset for the next frame; and outputting a new set of pixel values representing the image frame. In this embodiment, the attenuation factor varies based on scene contrast. In other embodiments, the method requires two rows of buffered pixels for filtering. In a subsequent embodiment, an edge-preserving noise-smoothed image frame is obtained from an edge-preserving mean filter, which includes a plus-shaped edge-preserving median filter and an edge-preserving mean. For an additional embodiment, a low-pass version of the noise frame to be fed back into the historical offset is created using a 5x5 mean filter. Another embodiment also includes subtracting a low-pass version of the noise frame created using a 5x5 mean filter from an initial noise frame to improve scene suppression. The following embodiments also include an edge-preserving smoothing function composed of a plus-shaped median kernel, wherein corresponding pixels having different intensity values that are greater than a specified threshold compared to the intensity value of the center pixel of the plus-shaped median kernel are replaced by the center pixel. This pixel replacement enhances the general edge-preserving properties of cross-median filtering, reducing the likelihood of inappropriately suppressing useful information. In subsequent embodiments, the threshold is programmed based on the sensor's signal-to-noise ratio (SNR), thereby preserving edges above the noise floor while smoothing noise. Additional embodiments also include storing the offset in double data rate (DDR) memory. Subsequent embodiments further include storing the offset as 8-bit correction per pixel. The included embodiments also include using 8-bit correction per pixel as the S5.2 number, resulting in a maximum correction of + / - 32 counts. In still other embodiments, pixels with scene movement are excluded from processing. In related embodiments, the imager does not include a blackbody reference source. For further embodiments, the imager does not include a blackbody reference source and excludes scene movement from processing.
[0008] Another embodiment provides an apparatus for reducing pixel-based spatial noise in an uncooled infrared imager, including an infrared (IR) image sensor; and a computer program product including one or more non-transitory machine-readable medium-coded instructions that, when executed by one or more processors, cause the execution of a process including: creating an edge-suppressed high-pass version of an input image, including: subtracting an edge-preserving mean filter from the input image, attenuating the subtracted input image by a factor, and adding the attenuated subtracted input image to a running history summation; subtracting the history summation from the next frame before recursively calculating the next set of offsets; and generating an edge-preserving mean of the edge-preserving mean filter by replacing any pixel whose absolute difference from the center pixel is greater than a threshold with the center pixel before calculating the mean. In a further embodiment, the method requires a two-row buffer for filtering. In more embodiments, one or more processors include a field-programmable gate array (FPGA). Continuing embodiments also include 8 bits per pixel correction, whereby the offset memory is adapted to limited memory bandwidth. In another embodiment, the threshold is programmed based on the sensor's signal-to-noise ratio (SNR), thereby preserving edges above the noise floor while smoothing out the noise.
[0009] Another embodiment provides a system for reducing pixel-based spatial noise in an uncooled infrared imager, comprising: an infrared (IR) image sensor; and a processor; wherein creating a high-pass version of an input image with edge suppression in the processor includes: subtracting an edge-preserving mean filter from the input image, attenuating the subtracted input image by a factor, and adding the attenuated subtracted input image to a running history summation; subtracting the history summation from the next frame before recursively calculating the next set of offsets; generating an edge-preserving mean filter by replacing any pixel whose absolute difference from the center pixel is greater than a threshold with the center pixel before calculating the mean; wherein a low-pass version of the noisy frame is created using a 5x5 mean filter; and wherein the edge-preserving mean filter includes a plus-shaped edge-preserving mean filter. Attached Figure Description
[0010] Figure 1 The non-uniform correction (NUC) results of the prior art are described.
[0011] Figure 2 A high-level flowchart of the method configured according to an embodiment is depicted.
[0012] Figure 3 This is a detailed flowchart of the method configured according to the embodiment.
[0013] Figure 4 This is a detailed flowchart of the method configured according to the embodiment.
[0014] Figure 5This is a flowchart of a method configured according to another embodiment.
[0015] Figure 6 A flowchart illustrating a method configured according to an embodiment is provided.
[0016] Figure 7 The image frame plus-shaped median kernel configured according to the embodiment is depicted.
[0017] Figure 8 The results before and after suppressing the display according to the embodiment are depicted.
[0018] These and other features of this embodiment will be better understood by reading the following detailed description and the accompanying drawings. The drawings are not intended to be drawn to scale. For clarity, not every component can be labeled in every drawing. Detailed Implementation
[0019] The features and advantages described herein are not exhaustive, and in particular, many additional features and advantages will be apparent to those skilled in the art from the accompanying drawings, description, and claims. Furthermore, it should be noted that the language used in the specification has been chosen primarily for readability and instructional purposes and does not in any way limit the scope of the subject matter. The invention can have many embodiments. The following is a description of the scope of the invention, but it is not exhaustive.
[0020] In this embodiment, the high-pass version of edge suppression for the image is created by subtracting a plus-shaped edge-preserving mean filter from the input image. This is then attenuated by a factor that can vary according to scene contrast and added to the running sum. This historical sum is then subtracted from the next frame before recursively calculating the next set of offsets. The plus-shaped edge-preserving mean is generated by replacing any pixel whose absolute difference from the center pixel is greater than a threshold with the center pixel before calculating the mean. In this embodiment, this lightweight noise reduction (LWNR) is a minimum-resource method for field-programmable gate arrays (FPGAs) to reduce temporal and spatial noise in uncooled infrared systems. In other embodiments, this LWNR is a minimum-resource method for application-specific integrated circuits (ASICs) to reduce temporal and spatial noise in uncooled infrared systems. In addition to frame edge-preserving smoothing, the embodiment also includes a NUC function based on historical scenes to reduce high-frequency spatial noise. Other potential uses include correcting other types of dynamic but bounded nonuniformity.
[0021] Figure 2This is a high-level flowchart 200 of a first embodiment method for reducing pixel-based spatial noise in an uncooled infrared imager. The process includes: for each selected pixel, subtracting a historical scene-based NUC offset (wherein the NUC offset of the first frame is initialized by setting it to zero) 205 from a previous image frame; obtaining an edge-preserving, noise-smoothed image frame 210; obtaining an edge-preserving, high-pass image frame 215; attenuating an edge-ignoring high-pass image frame 220; adding the attenuated edge-preserving high-pass image frame to the historical scene-based NUC offset 225; and outputting an edge-preserving, noise-smoothed image frame 230. In embodiments, certain pixels in the frame are excluded, for example, focusing on a small region in the frame. In some embodiments, the attenuation level in step 220 is a fixed value. In one embodiment, the attenuation is fixed at ~0.1. In other embodiments, the attenuation level is adjusted based on a measured level of noise or scene content.
[0022] Figure 3 The detailed flowchart 300 for step 210 yields an edge-preserving, noise-smoothed image frame. This includes: inputting an image frame, which subtracts a NUC offset 305 based on the historical scene from each pixel (from the result of the previous frame); defining an heuristic edge-preserving plus-shaped median kernel 310; for each selected pixel, replacing the intensity value of the selected pixel with the intensity value of the center pixel of the shaped median kernel, for example, a plus shape around the selected pixel, if the difference between the pixel intensity value and the absolute value of the center pixel is a specified threshold 315 (based on the desired minimum resolvable target); and outputting an edge-preserving, noise-smoothed image frame 320. In an embodiment, the plus-shaped median kernel is defined as the selected pixels of each pixel in the processing region of the image that are directly adjacent to the center (non-diagonal). In an embodiment, the threshold is determined by the desired minimum resolvable target.
[0023] Figure 4 The detailed flowchart of step 215, 400, is as follows: to obtain an edge-preserving high-pass image frame. This includes: inputting an edge-preserving noise-smoothed image frame 405; subtracting the edge-preserving noise-smoothed image frame from the center pixel to form a high-pass edge-preserving image frame 410; and outputting an edge-ignoring high-pass image frame 420.
[0024] Figure 5 This is a detailed flowchart 500 for generating a version of the noisy frame to be fed back into the history offset. The steps include: inputting an initial noisy frame 505; calculating 510 by subtracting a mean-filtered low-pass (e.g., a 5x5 filter) from the noisy frame; and outputting a low-pass version of the noisy frame 515. The low-pass filter is subtracted from the noisy frame, and the result is fed back into the history offset. In this embodiment, the mean filter (e.g., 5x5) must be greater than the median of the plus-shape (e.g., 3x3).
[0025] Figure 6 This is a detailed flowchart 600 of an embodiment method for reducing pixel-based spatial noise in an uncooled infrared imager. The steps include: subtracting a NUC offset based on a historical scene 605 for each selected pixel calculated from the previous frame; calculating a filtered image using an edge-preserving smoothing filter, wherein an embodiment of the edge-preserving smoothing function consists of a plus-shaped median kernel, where pixels whose difference from the center pixel is greater than a specified threshold are replaced by the center pixel 610. This pixel replacement enhances the general edge-preserving properties of the cross-median filter, reducing the likelihood of inappropriately suppressing useful information. The result of this filtering is then subtracted from the center pixel to form a high-pass edge-preserving version 615 of the frame dominated by system noise. A low-pass version of the noisy frame is created 620 by a 5x5 mean filter (where a 5x5 region is averaged around each pixel). This is then subtracted from the initial noisy frame to improve scene suppression 625. The high-pass version of the image / noisy frame is attenuated by a configurable value (optionally changeable based on scene contrast) and added to the historical scene-based NUC offset 630.
[0026] Figure 7 The median kernel for image frame 700 is depicted. Image frame 705 is processed by an edge-preserving plus-shaped median kernel 710. Within the plus-shaped median kernel 710 is the center pixel 715. The embodiment uses a 3x3 plus-shaped median kernel and a 5x5 mean filter at different times. Noise is separated using a plus-shaped 3x3 median kernel, and a 5x5 mean filter is applied to the high-pass result.
[0027] Figure 8 Image 800 depicts the suppressed display results before 805 and after 810 of an embodiment. Visible is the very high pixel spatial noise in the unprocessed "before" image 805.
[0028] In summary, this method is based on an heuristic mean kernel for edge preservation. A plus-shaped median kernel is used to smooth the image. To preserve edges, the absolute value of subtracting each individual pixel from the center pixel is compared to a programmable threshold. If the difference exceeds the threshold, the pixel is replaced with the center pixel. The threshold is programmed based on the sensor's SNR. The result is that edges above the background noise are preserved while smoothing the noise. The result of this filtering is then subtracted from the center pixel to form a high-pass edge-preserving version of the frame dominated by system noise. This high-pass version of the image is attenuated by a configurable value that can vary according to scene contrast and added to a NUC offset based on the historical scene.
[0029] In this embodiment, the first step is to subtract the NUC offset based on the historical scene from each pixel calculated from the previous frame. Then, an edge-preserving smoothing filter is used to calculate the filtered image output by the output module. As described above, the embodiment of the edge-preserving smoothing function consists of a plus-shaped median kernel, where pixels whose difference from the center pixel is greater than a specified threshold are replaced by the center pixel. This pixel replacement enhances the general edge-preserving properties of cross-median filtering, reducing the likelihood of inappropriately suppressing useful information. The result of this filtering is then subtracted from the center pixel to form a high-pass edge-preserving version of the frame dominated by system noise. A low-pass version of the noisy frame is created using a 5x5 mean filter. It is then subtracted from the initial noisy frame to improve scene rejection. The high-pass version of the image / noisy frame is attenuated by a configurable value that varies depending on scene contrast and added to the NUC offset based on the historical scene.
[0030] In this embodiment, applying the algorithm requires two rows of buffered filtering. Due to the read-modify-write nature of the algorithm, the scene-based NUC portion of the algorithm may be quite memory-intensive. In this embodiment, the frame size may require the use of double data rate (DDR) memory to store the offset. To fit the limited available memory bandwidth, 8 bits per pixel correction is used in this embodiment. In this embodiment, this results in an S5.2 number that leads to a maximum correction of + / - 32 counts.
[0031] The following MATLAB list for the first SBNUC provides the operation of the method steps for the embodiments.
[0032]
[0033]
[0034] The following MATLAB list of the second LWNR provides the operations for the method steps of the embodiments.
[0035]
[0036]
[0037]
[0038] Table 1
[0039] Numerical impact of LWNR-CS processing
[0040] Raw data (counts) Processing (counting) change σTVH 3.97 4.10 3.2% σVH 11.72 1.09 -90.7% σV 1.05 0.31 -70.4% σH 0.93 0.21 -77.4%
[0041] In Table 1, the noise component TVH is random temporal noise, and components V, H, and VH are random fixed-pattern noise. More specifically, σTVH is random spatiotemporal noise, originating from detector temporal noise. σVH is random spatial noise, bidirectional fixed-pattern noise, originating from detector-to-detector non-uniformity in pixel processing, 1 / f. σV is fixed row noise, originating from line-to-line non-uniformity in detector-to-detector non-uniformity. σH is fixed column noise, originating from column-to-column non-uniformity in detector-to-detector non-uniformity due to scanning effects.
[0042] As shown in Table 1, σTVH has changed from 3.97 raw data counts to 4.10 processed counts, a change of 3.2%. σVH has changed from 11.72 raw data counts to 1.09 processed counts, a change of -90.7%. σV has changed from 1.05 raw data counts to 0.31 processed counts, a change of -70.4%. σH has changed from 0.93 raw data counts to 0.21 processed counts, a change of -77.4%.
[0043] A computing system for reducing pixel-based spatial noise in an uncooled infrared imager to perform (or control) the operations or functions described above with respect to the systems and / or methods may include a processor, an FPGA, I / O devices, a memory system, and a network adapter. The computing system includes program modules (not shown) for performing (or controlling) the operations or functions described above with respect to the systems and / or methods according to exemplary embodiments. For example, program modules may include routines, programs, objects, components, logic, data structures, etc., for performing specific tasks or implementing specific abstract data types. The processor may execute instructions written in the program modules to perform (or control) the operations or functions described above with respect to the systems and / or methods. The program modules may be programmed into the processor's integrated circuit. In exemplary embodiments, the program modules may be stored in a memory system or a remote computer system storage medium.
[0044] A computing system may include a variety of computing system-readable media. Such media can be any available media accessible to the computer system, and it can include volatile and non-volatile media, removable and non-removable media.
[0045] The memory system may include computer system-readable media in the form of volatile memory, such as random access memory (RAM) and / or cache memory or others. The computer system may also include other removable / non-removable, volatile / non-volatile computer system storage media. The computer system may communicate with one or more devices using a network adapter. The network adapter may support wired communication based on the Internet, LAN, WAN, etc., or wireless communication based on CDMA, GSM, Broadband CDMA, CDMA-2000, TDMA, LTE, Wireless LAN, Bluetooth, etc.
[0046] This invention can be a system, method, and / or computer program product at any possible level of technical detail integration. The computer program product may include a computer-readable storage medium (or medium) having computer-readable program instructions thereon for causing a processor to execute aspects of this invention.
[0047] Computer-readable storage media can be tangible devices that can retain and store instructions for use by an instruction execution device. Computer-readable storage media can be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer floppy disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable optical disc read-only memory (CD-ROM), digital versatile disk (DVD), memory cards, floppy disks, mechanical encoding devices such as punched cards or raised structures in recesses into which instructions are recorded, and any suitable combination of the foregoing. The computer-readable storage media used herein should not be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through optical fibers), or electrical signals transmitted through wires.
[0048] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded via a network to an external computer or external storage device, such as the Internet, a local area network (LAN), a wide area network (WAN), and / or a wireless network. The network may include copper transmission cables, optical fiber transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to a computer-readable storage medium within the corresponding computing / processing device.
[0049] Computer-readable program instructions for performing the operations of this invention may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, source code or object code for integrated circuits, or written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs) may execute the computer-readable program instructions to personalize the electronic circuitry in order to perform aspects of this invention by utilizing the status information of the computer-readable program instructions.
[0050] Aspects of the invention have been described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0051] These computer-readable program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, executed by the processor of the computer or other program, programmable the data processing apparatus to create means for implementing the functions / actions specified in flowchart and / or block diagram blocks or blocks. These computer-readable program instructions can also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and / or other equipment to operate in a particular manner, such that the computer-readable storage medium storing the instructions includes articles of manufacture comprising instructions for implementing aspects of the functions / actions specified in flowchart and / or block diagram blocks or blocks.
[0052] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus or other equipment to cause a series of operational steps to be performed on the computer, other programmable apparatus or other equipment to produce a computer-implemented process, such that the instructions executed on the computer, other programmable apparatus or other equipment implement the functions / actions specified in the flowchart and / or block diagram blocks.
[0053] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a portion of a module, segment, or instruction, comprising one or more executable instructions for implementing a specified logical function. In some alternative embodiments, the functions marked in the blocks may occur in a non-consecutive order. For example, depending on the functions involved, two blocks shown consecutively may actually be executed substantially simultaneously, or sometimes in reverse order. It will also be noted that each block illustrated in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified function or action or executes a combination of dedicated hardware and computer instructions.
[0054] The foregoing description of embodiments has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible according to this disclosure. The scope of this disclosure is intended to be limited not by the detailed description but by the appended claims.
[0055] Many embodiments have been described. However, it should be understood that various modifications can be made without departing from the scope of this disclosure. Although operations are described in a specific order in the drawings, this should not be construed as requiring that these operations be performed in the specific order shown or sequentially, or that all illustrated operations be performed to obtain the desired result.
[0056] Every page and all contents thereon in this submission, regardless of their features, identifiers, or numbers, are considered an essential part of this application, for whatever purpose, in whatever form, or in whatever position within the application. This specification is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible based on this disclosure. Other and various embodiments will be apparent to those skilled in the art from this specification, the drawings, and the following claims. The scope of the invention is intended to be limited not by this detailed description, but by the appended claims.
Claims
1. A method for reducing pixel-based spatial noise in an uncooled infrared imager, comprising: The input image is obtained by subtracting the non-uniform correction offset based on the historical scene from the previous image frame. For each selected pixel of the input image, edge-preserving mean filtering is applied. Obtain an image frame with edge preservation and noise smoothing, wherein the edge preservation mean filter consists of a plus-shaped median kernel, wherein pixels with different intensity values that are greater than a specified threshold compared to the intensity value of the center pixel of the plus-shaped median kernel are replaced by the center pixel; Subtract the noise-smoothed image frame that retains the edge from the input image to obtain a high-pass image frame with ignored edges; Attenuate the high-pass image frames that ignore the edges; The high-pass image frames with the attenuated edges ignored are added to the non-uniform correction offset based on the historical scene, thereby creating a new historical offset for the next frame; and Output a noise-smoothed image frame with the edge preserved.
2. The method according to claim 1, wherein, The attenuation factor varies based on scene contrast.
3. The method according to claim 1, wherein, The method requires two rows of buffer pixels for the filtering.
4. The method according to claim 1, wherein, The low-pass version of the noisy frame was created using a 5x5 mean filter.
5. The method of claim 1 further comprises subtracting a low-pass version of the noise frame created by 5x5 mean filtering from the initial noise frame, thereby improving scene suppression.
6. The method according to claim 1, wherein, The threshold is programmed based on the sensor's signal-to-noise ratio (SNR), thereby preserving edges above the noise floor while smoothing out the noise.
7. The method according to claim 1, further comprising: The offset is stored in double data rate (DDR) memory.
8. The method of claim 1, further comprising storing the offset as an 8-bit correction per pixel.
9. The method according to claim 1, wherein, Pixels that move within the scene are excluded from processing.
10. The method according to claim 1, wherein, The imager does not include a blackbody reference source.
11. The method according to claim 1, wherein, The imager does not include a blackbody reference source and excludes scene movement from the processing.
12. An apparatus for reducing pixel-based spatial noise in an uncooled infrared imager, comprising: Infrared (IR) image sensor; and A computer program product includes: one or more non-transitory machine-readable medium encoded instructions, which, when executed by one or more processors, cause the execution of a process comprising: subtracting a non-uniform correction offset based on a historical scene from a previous image frame to obtain an input image; and for each selected pixel of the input image, employing an edge-preserving mean filter to obtain an edge-preserving noise-smoothed image frame, wherein the edge-preserving mean filter comprises a plus-shaped median kernel, wherein pixels having different intensity values that are greater than a specified threshold compared to the intensity value of the center pixel of the plus-shaped median kernel are replaced by the center pixel; Subtract the noise-smoothed image frame that retains the edge from the input image to obtain a high-pass image frame with ignored edges; Attenuate the high-pass image frames that ignore the edges; The high-pass image frames with the attenuated edges ignored are added to the non-uniform correction offset based on the historical scene, thereby creating a new historical offset for the next frame; and Output a noise-smoothed image frame with the edge preserved.
13. The device according to claim 12, wherein, The device requires two rows of buffers for the filtering.
14. The device according to claim 12, wherein, The one or more processors include field-programmable gate arrays (FPGAs).
15. The apparatus according to claim 12, further comprising: Eight bits of correction per pixel, thus the offset memory is suitable for limited memory bandwidth.
16. The device according to claim 12, wherein, The threshold is programmed based on the signal-to-noise ratio (SNR) of the sensor, thereby preserving edges above the noise floor while smoothing out the noise.
17. A system for reducing pixel-based spatial noise in an uncooled infrared imager, comprising: Infrared (IR) image sensor; and processor; In the processor: an input image is obtained by subtracting a non-uniform correction offset based on the historical scene from the previous image frame; for each selected pixel of the input image, an edge-preserving mean filter is used to obtain an edge-preserving noise-smoothed image frame, wherein the edge-preserving mean filter consists of a plus-shaped median kernel, wherein pixels with different intensity values that are greater than a specified threshold compared to the intensity value of the center pixel of the plus-shaped median kernel are replaced by the center pixel; Subtract the noise-smoothed image frame that retains the edge from the input image to obtain a high-pass image frame with ignored edges; Attenuate the high-pass image frames that ignore the edges; The high-pass image frames with the attenuated edges ignored are added to the non-uniform correction offset based on the historical scene, thereby creating a new historical offset for the next frame; and Output a noise-smoothed image frame with the edges preserved; The low-pass version of the noisy frame was created using a 5x5 mean filter. The edge-preserving mean filtering includes plus-shaped edge-preserving mean filtering.