Some content of this application is unavailable at the moment.
If this situation persist, please contact us atFeedback&Contact
1. (WO2019006110) TECHNIQUES FOR CORRECTING FIXED PATTERN NOISE IN SHUTTERLESS FIR CAMERAS
Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

TECHNIQUES FOR CORRECTING FIXED PATTERN NOISE IN SHUTTERLESS FIR

CAMERAS

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001]This application claims the benefit of U.S. Provisional Application No. 62/526,733 filed on June 29, 2017, the contents of which are hereby incorporated by reference.

TECHNICAL FIELD

[0002] The present disclosure relates generally to automotive safety systems and, more specifically, to correcting fixed pattern noise in shutterless far-infrared (FIR) cameras utilized by such systems.

BACKGROUND

[0003] Thermal infrared (IR) cameras capture image wavelengths in the range of approximately seven to fourteen micrometers. A typical IR camera uses an infrared sensor (or detector) to detect infrared energy that is guided to the sensor through the camera's lens. IR cameras can be utilized for a variety of imaging applications including, but not limited to, passive motion detection, night vision, thermal mapping, health care, building inspection, surveillance, and the like. Recently, an attempt has been made in the IR industry to integrate IR cameras in advanced driver assistance systems (ADAS) and autonomous vehicle systems.

[0004] The application, and hence the type of camera, may depend on the infrared spectrum used. The infrared spectrum lies outside the visible light range and consists of a near infrared section (NIR), with wavelengths of 0.75-1 .0 micrometers (μιη); a short infrared section (SWIR) with wavelengths of 1 .0-3.0 micrometers (μιη); a mid-infrared section (MIR), with wavelengths of 3.0-5.0 μιη; and a far-infrared (FIR) section, with wavelengths of 7.0-14.0 μιη.

[0005] One type of FIR sensor is an uncooled sensor having a small form factor. Such sensors can typically be mass-produced using low-cost technology. In a typical arrangement, an uncooled sensor does not require a cryocooler for proper operation, but does require a shutter for frequent calibration. A shutter is a mechanical element placed between the lens and the FIR sensor for alternately blocking and exposing the sensor to infrared wavelengths. Generally, a shutter includes a flat-bladed flag, a sleeve, and an arm that connects the sleeve to the flag. The flag opens and closes at predefined time intervals.

[0006] Each detector within an FIR sensor may be configured to be sensitive to temperature changes that may result either from thermal radiation of the outside scene, i.e., the image of interest, or from the internal, or ambient, camera radiation, causing parasitic ambient drift. Since each detector has a slightly different responsivity to ambient temperature, the ambient drift pattern adds a random offset to each pixel that persists between different video frames and changes as a function of ambient temperature. Ambient drift removal is one of the crucial steps in proper image processing of thermal cameras.

[0007] The shutter is used during a flat-field correction (FFC) process to address this ambient drift. In an FFC process, the shutter presents a uniform temperature source to the FIR sensor. While imaging the flat-field source, the camera updates the offset correction coefficients, resulting in a more uniform image after the process is completed. The duration of the FFC process lasts a few hundred milliseconds, during which the image captured just prior to the shutter blocking the field of view is frozen until the FFC process is completed, when the shutter is reopened. This process must occur every few minutes for proper calibration.

[0008] While using a shutter may improve the quality and accuracy of the thermal image captured by an FIR sensor, having a blackout period lasting hundreds of milliseconds is unacceptable in certain applications. For example, using a shutter-based FIR camera in advanced driver assistance systems and autonomous vehicle systems can pose a high risk, as the camera must frequently shut off for an unacceptable amount of down time for driving situations. In addition, shutters include moving parts that wear out over time. This may cause a camera to malfunction during use and shorten the life of the camera.

[0009] The FIR camera designed for advanced driver assistance systems and autonomous vehicle systems should meet additional constraints other than safety. Such constraints include a small form factor, accurate and low latency image processing, and low-power consumption. As such, currently available FIR cameras, and in particular shutter-based FIR cameras, are not well adapted for automotive applications, as the presence of a

shutter requires a larger camera body and additional energy to power the shutter movement.

[0010] While there are manufacturers who produce shutterless cameras where the ambient drift pattern is initially calculated during the camera manufacturing process, basing the correction merely on calibration performed during the manufacturing process often leads to inaccurate results. This is because the output of an FIR senor, and hence the camera, depends on the current internal (ambient) camera radiation, also known as parasitic ambient drift. Without properly rectifying this ambient drift, the output image includes a residual unwanted noise pattern.

[0011 ] It would therefore be advantageous to provide a solution to correct fixed pattern noises including ambient drift in shutterless FIR cameras.

SUMMARY

[0012] A summary of several example embodiments of the disclosure follows. This summary is provided for the convenience of the reader to provide a basic understanding of such embodiments and does not wholly define the breadth of the disclosure. This summary is not an extensive overview of all contemplated embodiments, and is intended to neither identify key or critical elements of all embodiments nor to delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more embodiments in a simplified form as a prelude to the more detailed description that is presented later. For convenience, the term "certain embodiments" may be used herein to refer to a single embodiment or multiple embodiments of the disclosure.

[0013] Certain embodiments disclosed herein include a method for correcting fixed pattern noise in far-infrared (FIR) images captured by a shutterless FIR camera, including: determining a drift coefficient based on previously determined calibration values and high pass filter values applied to an input FIR image captured by the shutterless FIR camera; smoothing the drift coefficient based, in part, on previously computed drift coefficient values; and removing noise from the input image based on the smoothed drift coefficient value.

[0014] Certain embodiments disclosed herein also include a non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to perform a process, the process including: determining a drift coefficient based on previously determined calibration values and high pass filter values applied to an input FIR image captured by the shutterless FIR camera; smoothing the drift coefficient based, in part, on previously computed drift coefficient values; and removing noise from the input image based on the smoothed drift coefficient value.

[0015] Certain embodiments disclosed herein also include an electronic circuit integrated in a shutterless far-infrared (FIR) camera and configured to process FIR images, including: a processing circuitry; and a memory containing instructions that, when executed by the processing circuitry, configure the processing circuitry to: determine a drift coefficient based on previously determined calibration values and high pass filter values applied to an input FIR image captured by the shutterless FIR camera; smooth the drift coefficient based, in part, on previously computed drift coefficient values; and remove noise from the input image based on the smoothed drift coefficient value.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The subject matter disclosed herein is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the disclosed embodiments will be apparent from the following detailed description taken in conjunction with the accompanying drawings.

[0017] Figure 1 is a block diagram of an FIR camera structured according to one embodiment.

[0018] Figure 2 is a block diagram of an IC integrated in the FIR camera of Figure 1 according to an embodiment.

[0019] Figure 3 shows a diagram of an embodiment of the technique for correcting ambient drift for a given input image.

[0020] Figure 4 shown an example flowchart illustrating a method for correcting ambient drift according to an embodiment.

[0021] Figure 5 show example screenshots of an ambient drift image before and after a high pass filter has been applied thereto.

[0022] Figure 6 shows example screenshots of an image before and after ambient drift corrections have been applied thereto using the disclosed method.

[0023] Figures 7A-7C show additional example screenshots of an input image, an image of gamma shift noise based on the input image, and a corrected output image.

DETAILED DESCRIPTION

[0024] It is important to note that the embodiments disclosed herein are only examples of the many advantageous uses of the innovative teachings herein. In general, statements made in the specification of the present application do not necessarily limit any of the various claimed embodiments. Moreover, some statements may apply to some inventive features but not to others. In general, unless otherwise indicated, singular elements may be in plural and vice versa with no loss of generality. In the drawings, like numerals refer to like parts through several views.

[0025] By way of example to the disclosed embodiments of techniques for correcting fixed pattern noise (FPN), including ambient drift corrections, a shutterless far-infrared (FIR) camera is provided. In shutter-based cameras, an FPN correction is based on a 2-point correction, which requires knowledge of non-uniform pixel gains (obtained during camera calibration) and offsets (obtained by using a shutter having a uniform temperature). According to the disclosed embodiments, no shutter is used. To this end, the FPN correction is performed by representing offsets as a sum of a drift pattern with intensity changing as a function of the ambient camera temperature, and a fixed offset. The drift, offset and gain patterns are obtained during camera calibration. Further, to perform online correction, the drift contribution is estimated and removed from the image.

[0026] Fig. 1 shows an example block diagram of an FIR camera 100 utilized to described the various disclosed embodiments. The FIR camera 100 includes an optical unit 1 10 and an FIR sensor 120 coupled to an integrated circuit (IC) 130. The output of the FIR camera 100 is a video stream of thermal images (thermal video stream) captured by the FIR sensor 120 and processed by the IC 130.

[0027] In a configuration, two thermal video streams are output by the FIR camera 100. A first stream 104 includes thermal images captured by the FIR sensor 120 and processed by the IC 130 for the shutterless correction and image enhancement. In an example, the first thermal video stream 104 is an 8-bit grayscale video stream. The first thermal video stream 104 is fed to a display 140 which may be a screen on a dashboard of a vehicle.

[0028] A second thermal video stream 105 is captured by the FIR sensor 120 and processed by the IC 130 for at least shutterless correction. In an example, the second thermal video stream 105 is a 14-bit data stream that is fed to a computer 150 for computer vision processing. Specifically, the computer 150 may be configured to execute various computer vision algorithms related to advanced driver assistance and autonomous vehicle systems and applications. The algorithms may include, but are not limited to, detection of objects, obstacles, or hazards on a road. For example, the processed thermal video stream as output by the FIR camera 100 can be utilized for the detection of vehicles, pedestrians, animals, two-wheelers, black-ice spots, litter, debris, potholes, gully covers, curbs and so on. In an embodiment, the computer 150 may be an onboard vehicle computer or a dedicated computer installed in the vehicle (not shown). In some example embodiments, the computer may be a virtual or physical computing machine operable in a cloud computing platform (not shown).

[0029] As will be discussed below, the processing performed by the IC 130 enhances the quality of the captured thermal images to allow for the accurate and fast detection of objects, obstacles and hazards on the road. The processing by the IC 130 ensures passive detection of objects during daytime and nighttime in all weather conditions. To this end, the IC 130 is configured to perform one or more image processing tasks. One such task includes, but is not limited to, shutterless correction of the captured FIR thermal images captured by the FIR sensor 120, and specifically correction of fixed pattern noise due to ambient drift.

[0030] As demonstrated in Fig. 1 , the FIR camera 100 does not include a shutter (or any moving part that can be viewed as shutter). The shutterless correction executed by the IC 130 allows for the performance of a flat-field correction without a shutter. That is, shutterless correction allows for an FIR image unwanted fixed pattern noise removed therefrom.

[0031] It should be appreciated that the shutterless FIR camera 100 is mechanically reliable and meets safety standards required for advanced driver assistance and autonomous vehicle systems. Further, the absence of a shutter allows for an FIR camera design with a small form factor, as well as mechanical failure safety, as there is no need to include moving parts in the design.

[0032] In one configuration, the optical unit 1 10 includes one or more lens elements, each of which having a predetermined field of view (FOV). In an embodiment, the lens elements are chalcogenide. The lens may be protected by a protective window (not show in Fig. 1 ). Further, to prevent icing of the optical unit 1 10 it may be covered by a heating means (not shown in Fig. 1 ). The heating means may include a wire or a coil.

[0033]The FIR sensor 120 is an uncooled FIR sensor. That is, the sensor 120 operates in the FIR (far-infrared) spectrum with an approximate wavelength of 7.0 μιη -14.0 μιη. In an example configuration, the FIR sensor 120 is coupled through a first bus 101 to the IC 130 to input the captured FIR images and metadata. In an embodiment, a junction temperature sensor 121 is included in an enclosure of the FIR sensor 120 to measure the junction temperature therein.

[0034] A control bus 102 is also connected between the FIR sensor 120 and the IC 130. On the bus 102, signals related to the status of the sensor 120, clock, synchronization, and other digital control signals are transferred. In an embodiment, the bus 102 may carry analog signals indicating, for example, the current ambient temperature of the FIR sensor 120. Alternatively, the analog signal may not be part of the control bus 102.

[0035] The IC 130 includes a memory, a processing circuitry, and various circuits and modules allowing the execution of the tasks noted herein. A detailed block diagram of the IC 130 is provided in Fig. 2. The IC 130 may be realized as a chipset, a system on a chip (SoC), a field programmable gate array (FPGA), a programmable logic device (PLD), an application specific integrated circuit (ASIC) or any other type of digital and/or analog hardware components.

[0036]The IC 130, and hence the FIR camera 100, operates in four different modes: calibration, power-on-test, function, and standby. The calibration mode is performed at a lab where the IC 130 executes a calibration process based on previous calibration points. During the process, the FIR camera 100 is stabilized at a predefined temperature and the ambient temperature is periodically read from the FIR sensor 120 to determine temperature stability.

[0037] In the power-on-test mode, the FIR camera 100 is checked, during its power-up, if the various circuits of the IC 130 operate properly. This includes, for example, performing internal self-tests for memories, logic monitors, and digital and analog components. In the function mode, the IC 130 performs image processing tasks and communicates with external systems and components (e.g., a sensor and a computer), as explained herein. In the standby mode, no image processing is actively performed, but there is communication with external systems and components. The standby mode may be activated when the vehicle is not in motion or when the ADAS is not engaged.

[0038] The FIR sensor 120 and IC 130 are encapsulated in a thermal core. The thermal core is utilized to ensure a uniform temperature for the FIR camera 100. The temperature calibration of the thermal core is performed during the calibration mode. The optical unit 1 10 is typically assembled in the FIR camera 100 after the FIR sensor 120 and IC 130 are encapsulated in the thermal core.

[0039] Fig. 2 shows an example block diagram of the IC 130 designed according to one embodiment. The IC 130 includes a processing circuitry 210, a shutterless correction processor (SLCP) 220 and an image enhancing processor (IEP) 230 that are configured to execute the various image processing tasks described herein. The IC 130 further includes a memory 240, and a temperature sensor 260.

[0040]The IC 130 interfaces with the external elements, such as the display 140 and computer 150 of Fig. 1 , through a multimedia link 202. In an example embodiment, the media link is a gigabit multimedia serial link (GMSL). As noted above, the IC 130 can be configured to output two thermal video streams of FIR images: a first stream (104) is processed by the SLCP 220 and the IEP 230 and output to the display 140, and second stream (105) is processed by the SLCP 220 and output to the computer 150. Both thermal video streams are output via the multimedia link 202. In a further embodiment, a single thermal video stream is output to the computer 150. For example, certain autonomous vehicle systems may not include a display, and thus only require input from the thermal video stream to a computer 150.

[0041] In some optional embodiments, the IC 130 does not include the IEP 230. In such embodiments, shutterless correction is performed by the SLCP 220, and the output is fed to the computer 150. A configuration of the FIR camera 100 without the IEP 130 or with a single thermal video stream can be utilized in autonomous vehicle systems where a display may not be required.

[0042] In an embodiment, the memory 240 is configured to store calibration tables. The calibration tables include calibration values for each pixel computed in the lab. The calibration values may include gain and offset values calculated from two temperature points (Ti, T2) for the purpose of overcoming the irregularities in the FIR sensor and unifying the pixels' response to IR radiation for a wide range of ambient temperatures. The calibration table also includes a drift value determined for each pixel at each temperature point during a calibration process. In an embodiment, the tables also store various parameter values to set the FIR camera 100.

[0043] The memory 240 may further store computer readable instructions to be executed by the processing circuitry 210, the SLCP 220 and the IEP 230. The computer readable instructions shall be construed broadly to mean any type of instructions, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Instructions may include code (e.g., in source code format, binary code format, executable code format, or any other suitable format of code). The instructions, when executed by the processing circuitry 210, the SLCP 220 and/or IEP 230, cause these processors to perform the various embodiments and tasks described herein. The memory 240 may be volatile (e.g., RAM, etc.), non-volatile (e.g., ROM, flash memory, etc.), or a combination thereof. The temperature sensor 260 measures the ambient temperature inside the enclosure of the FIR camera 100.

[0044]The processing circuitry 210 is configured to control the various elements of the IC 130. The processing circuitry 210 is further configured to power-up the FIR sensor 120, upload the initial calibration tables and set the FIR sensor 120, the SLCP 220, and the IEP 230 based on the parameter values in such tables. In an embodiment, the processing circuitry 210 periodically samples the temperature as measured by the temperature sensor 260 and/or the FIR sensor 121 , and uploads a set of calibration tables from the memory 240 that includes calibration values for the measured temperature range. To allow for fast execution, some configuration tables can be uploaded in the background, i.e., during the processing of FIR images.

[0045] The SLCP 220 is configured to perform at least shutterless pixel-based corrections for ambient drift. The pixel-based correction corrects gain, offset, and drift for each pixel. The gain and offset of a pixel are corrected based on the respective values in the

calibration table matching a respective temperature as measured by the temperature sensor 121 of the FIR sensor 120 (Fig. 1 ). This correction compensates for the irregularities in the sensor and unifies the pixels' response to IR radiation for a wide range of ambient temperatures. The drift correction includes adding drift correction to each of the pixels to compensate for ambient drift.

[0046] According to the embodiments, the drift correction is based on a temperature drift correction for each of the pixels in the images output by the FIR sensor. This may be necessary if the temperature values of the FIR camera 100 as a whole, and the FIR sensor 120 and IC 130 individually, may shift during operation.

[0047] In an embodiment, the drift correction is based on estimating a drift coefficient γ using a drift pattern recorded during the calibration stage of the FIR camera 100. In an embodiment, estimation of the drift coefficient γ is performed iteratively with small incremental updates based on each input image, so that any residual noise, or new noise if the ambient temperature changes, is detected and removed with each subsequent image.

[0048] The ambient drift of an input image is corrected using the estimated drift coefficient γ.

A drift corrected image (lout) can be represented as follows:

Iin - Y - D - 0

lout — Q t q. I

[0049]where, is lin is the input image (produced by the FIR sensor 120); γ is the drift coefficient, which is the same for all pixels; 'D' is the drift pattern, unique per pixel; Ό' is an offset gain pattern; and 'G' is the scene gain pattern value, unique per pixel, where D, O and G values are determined during initial calibration of the FIR sensor 120.

[0050] In some configurations, the gain and offset are corrected prior to the drift correction, in which case such values are not required to estimate the drift coefficient y. Thus, a more generalized version of the drift correction calculation uses a 2-point corrected input image (l2pt) , drift coefficient and the drift pattern from the calibration, and can be represented by the following equation:


[0051] In Equation 2, D is the value of the drift pattern (D) divided by the gain pattern (G).

[0052] The drift coefficient γ used for the correction is derived from the drift pattern from the initial calibration and the resulting pattern of drift within an input image after a high pass filter has been applied thereto.

[0053] A generalized equation for the drift coefficient is the quotient of the product of the drift pattern and the input image pixel values after applying a high pass filter thereto, and the product of the drift pattern and the drift pattern after applying a high pass filter thereto, represented by the following equation:

_ (H1(D), H2 (Iin))

[0054] where H and H2 are pre-processing operators designed to minimize correlation between a clean image of the scene and the drift pattern. Without loss of generality, these operators may include high pass filtering and masking. An example of such operations, without loss of generality, can be H = identity map and H2 = a high-pass filter.

[0055] In Equation 3 (Eq. 3), y is a scalar value obtained as a ratio of 2 inner products.

Therefore, it is one value for all pixels at this stage. In an embodiment, the scalar value can be converted to a (slowly varying) value per pixel by using Eq. 3 on different segments of the image and interpolating results. An example for such an embodiment is discussed below.

[0056] It should be noted that each of the SLCP 220 and IEP 230 may be realized as one or more hardware logic components and circuits. For example, and without limitation, illustrative types of hardware logic components that can be used include FPGAs, ASICs, ASSPs, SOCs, general-purpose microprocessors, microcontrollers, DSPs, and the like, or any other hardware logic components that can perform calculations or other manipulations of information.

[0057] Fig. 3 shows an example diagram of a pixel-based shutterless correction (PBSC) module 300 according to an embodiment. The PBSC module 300 may be one of the modules integrated in the SLCP 220.

[0058] In an embodiment, the PBSC module 300 includes a 2-point correction unit 31 0, a drift correction unit 320, and a memory 330. The memory 330 is configured to maintain at

least scene gain pattern (G), reference point offset (O), and drift pattern (D) values associated with particular ambient temperatures or ranges of ambient temperatures. Such values are set during an initial calibration of the FIR camera 100.

[0059] In some embodiments, the memory 330 temporary stores only the G, O, and D values matching the current ambient temperature of the FIR sensor 120. In one embodiment, there may be multiple sets of G, O and D values, each associated with a specific range of ambient temperatures. For example, the memory may access and store the G, O, and D values for an ambient temperature between 15 and 25 degrees Celsius if an ambient temperature of 21 degrees Celsius is detected. The memory 330 may be, for example, the memory of the IC 130.

[0060]The 2-point correction unit 310 receives an input image lin from the FIR sensor and the scene gain pattern (G) values and reference point offset (O) values from the memory 330. Based on this input information, a 2-point correction is performed by the 2-points correction unit 310 by adding the reference point offset (O) value to the product of the scene gain pattern (G) values and an image output ( 12Pt) value, and can be represented as follows:


[0061] In some embodiments, the drift correction unit 310 is designed to ignore bad and/or saturated pixels. 'Bad pixels' are pixels within the image that are known a-priori to be defective or represent specific types of objects, such as strong edges, and saturated pixels are pixels exceeding a predefined value. These pixels can be removed from the calculation by applying a mask 315 to the image. In some embodiments, the mask 315 is applied to the image after the 2-point correction has been applied thereto. Additionally, a high-pass filter 317 is applied on the image and the drift gain value. The high pass filter 317 may be applied after the 2-point correction.

[0062] The drift correction unit 320 then corrects the fixed pattern noise caused due to unwanted ambient temperature drift. As discussed above, the drift correction is performed by estimating the drift coefficient y, i.e., as applied in Equation 3. In some embodiments, the estimation is based on the image after the 2-point correction and drift pattern (D) values have been applied thereto. That is, an image output ( lout) by the drift correction unit 320 can be presented as follows:

out = I 'ipt - Y D Eq. 5

[0063] It should be noted that the equation to compute the drift coefficient γ can be applied locally for each pixel or more generally to a segment of pixels in the image. For example, the image can be split into multiple segments (e.g., the four segments represented by 350), where the equation is used to calculate the drift coefficient for a particular segment by preforming summations over pixels within that segment. Assuming the offset and gain are zero or have already been corrected, then γ can be computed for each segment as follows:


[0064] where D is a matrix representing the drift pattern values, M is a matrix representing the masked pixels, and H represents the application of the high pass filter. The 'ij' denotes the position of the pixel within the image. The summation is computed over pixels within the segment. An input image can be apportioned in any number of segments, where the summation calculates the drift coefficient for each such segment. The resulting y£;- values represent 'the amount of drift' measured in the center of the corresponding image segment. To obtain the γ measurement for each pixel, the corresponding γ value can be interpolated based on the pixel proximity to the center of its neighboring segments.

[0065] It should be further noted that the drift coefficient γ of each segment can be a blend of the calculated γ values of the current input image, and the previously calculated γ values. In an example embodiment, the blending of these coefficient values can be performed by a number of infinite impulse response (MR) circuits 355 (e.g., equal to the number of segments). The MR circuit's 355 smooth factor 'a' is a preconfigured value, and the blended γ value can be represented by the following equation:

Yn+1 = (1 - a) * Ycurrent + a * Yn Eq. 7

[0066] Where γη+1 represents the blended output drift coefficient, a represents the preconfigured smooth factor, ycurrent represents current input image values and γη represents the drift coefficient of a prior image. The drift coefficients of prior images may be stored in the memory 330 during each iteration of the calculation for future access for the determination of Equation 6.

[0067] It should be noted that the MR circuits 355 perform exponential smoothing over the drift coefficient γ values to ensure removal of high frequency noise over a time period. The exponential smoothing format as provided in Equation 6 provides a smoothed statistic γη+1 which is a simple weighted average of the current calculated drift coefficients Ycurrent and the previous smoothed statistic yn+1. In an example embodiment, the smoothing factor a is set to a value where 0.8 < a < 0.95.

[0068] The drift coefficient y for each pixel is interpolated or otherwise extrapolated by the γ-calculator 340 from the different y values calculated for each of the different segments. In some embodiments, this calculation is completed after the blended y value is determined. The γ-calculator 340 lastly performs the final calculations using Equations 1 , 3, and 5 referenced above. The final drift calculations are then applied to the input image via the drift correction unit 320.

[0069] It should be noted that each of the units in the PBSC module 300 may be realized as analog and/or more hardware logic components and circuits. For example, and without limitation, illustrative types of hardware logic components that can be used include FPGAs, ASICs, ASSPs, SOCs, general-purpose microprocessors, microcontrollers, DSPs, and the like, or any other hardware logic components that can perform calculations or other manipulations of information.

[0070] Fig. 4 shows an example flowchart 400 illustrating a method for correcting fixed pattern noise according to an embodiment.

[0071] At S410, a sensor calibration table is accessed, where the calibration table includes predetermined adjustment values for each pixel of an FIR sensor. For example, the calibration table may include individual adjustment values for each pixel within an FIR

sensor that are calculated when the FIR sensor is initially calibrated. These values may represent the amount of anticipated gain (G), offset (O), and drift (D) associated with each pixel under certain conditions, e.g. adjustment values that are associated with specific ambient temperatures. The calibration table may be stored on a memory or database that is remotely or locally accessible.

[0072] In some embodiments, there are certain gain, offset, and drift correction values associated with particular ambient temperatures or ambient temperature ranges. In such cases, only the relevant correction values need to be accessed at one time. Additionally, the ambient temperature can be evaluated at predetermined intervals. So long as the currently measured ambient temperature is within a single predefined temperature range, (e.g. 15-25 degrees Celsius), the same gain, offset, and drift values may be used. If the ambient temperature moves beyond that range, a new set of correction values can be accessed and implemented.

[0073] At S420, a thermal image is received from a FIR sensor, e.g. the FIR sensor 120 of Fig. 1 .

[0074] At optional S430, a 2-point correction is applied to the input image. For example, the above referenced Equation 4 can be applied to the input image to determine the relevant gain and offset correction values. Alternatively, in some embodiments the fixed pattern noise can be corrected independent of the 2-point correction.

[0075] At S440, the current drift coefficient γ value is computed. Equation 3 more generally, and Equation 6 more specifically, can be applied to determine the correct drift coefficients for the pixels of the input image based on the G, O, and D values obtained in S420. Namely, Equation 6 may be applied when calculating a summation of the pixels within a segment of the image, and when applying a mask to pixels intended to be excluded from the calculated result. As discussed with regards to Fig. 3, the image may be split into multiple segments, where the drift coefficient is calculated independently for each segment.

[0076] At S450, the calculated γ value is adjusted by a smoothing process. The smoothing process may involve applying an exponential smoothing function using, for example, infinite impulse response (MR) circuits on the calculated γ values of the current image with previously calculated γ values of prior input images. For example, as expanded upon with regards to Fig. 3, a number of MR circuits may be employed to smooth the drift coefficient γ of the various segments to remove unwanted noise efficiently.

[0077] At S460, a drift coefficient γ value, per pixel, is determined, and applied to the input image at S470 to correct the drift gain from the image. If there are additional input images to correct (S480), the process returns to S420; otherwise, the process ends.

[0078] Figs. 5, 6, and 7 show screenshots demonstrating the disclosed techniques in use.

Fig. 5 shows an example input image of gamma drift before 510 and after 520 a high pass filter has been applied thereto. Brighter spots within the frame of the image are smoothed out to prepare the image for effective drift correction.

[0079] Fig. 6 shows an example input image 610 and output image 620 after gamma drift adjustments have been applied thereto using the disclosed method. The original image 610 displays a street scene, where visible noise and artifacts can be seen covering the entirety of the frame. The corrected image 620 displays the same frame after the gamma drift correction has been applied thereto, where the visible noise has been effectively removed.

[0080] Fig. 7A shows an additional example of an input image 700. A road scene is shown, where visible noise and other artifacts are visible covering the entirety of the frame. Fig. 7B is an isolated frame of the noise resulting from a gamma shift within the original input image 700, as calculated via the present disclosure discussed herein. Fig. 7C shows the output image, which is the input after the removal of the noise frame shown in Fig. 7B.

[0081]The various embodiments disclosed herein can be implemented as hardware, firmware, software, or any combination thereof. Moreover, the software is preferably implemented as an application program tangibly embodied on a program storage unit or computer readable medium consisting of parts, or of certain devices and/or a combination of devices. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units ("CPUs"), a memory, and input/output interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU, whether or not

such a computer or processor is explicitly shown. In addition, various other peripheral units may be connected to the computer platform such as an additional data storage unit and a printing unit. Furthermore, a non-transitory computer readable medium is any computer readable medium except for a transitory propagating signal.

[0082] As used herein, the phrase "at least one of" followed by a listing of items means that any of the listed items can be utilized individually, or any combination of two or more of the listed items can be utilized. For example, if a system is described as including "at least one of A, B, and C," the system can include A alone; B alone; C alone; A and B in combination; B and C in combination; A and C in combination; or A, B, and C in combination.

[0083] It should be understood that any reference to an element herein using a designation such as "first," "second," and so forth does not generally limit the quantity or order of those elements. Rather, these designations are generally used herein as a convenient method of distinguishing between two or more elements or instances of an element. Thus, a reference to first and second elements does not mean that only two elements may be employed there or that the first element must precede the second element in some manner. Also, unless stated otherwise, a set of elements comprises one or more elements.

[0084] All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles of the disclosed embodiment and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the disclosed embodiments, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.