Noise is inevitable in any imaging device. This is especially the case in low-light situations (also known as photon limited situations) arising from either a weak light source illuminating an object being photographed, or the use of a small or low quality lens by the device attempting to photograph the object. In either case, the low light situation often precludes the capture and rendering of a high quality image.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
In view of the above, a Poisson-quantization noise model for modeling noise in low-light conditions is described. In one aspect, image information is received. A Poisson-quantization noise model is then generated from a Poisson noise model and a quantization noise model. Poisson-quantization noise is then estimated in the image information using the Poisson-quantization noise model.
In the Figures discussed below the left-most digit of a component reference number identifies the particular Figure in which the component first appears.
The following disclosure describes a Poisson-quantization (PQ) noise model which can be used to model noise in low-light conditions. In one embodiment, the PQ noise model may be used to create an intensity similarity function. It will be understood that the terms intensity similarity function and intensity similarity measure as used herein are interchangeable. In general, an intensity similarity measure represents a probability that two slightly different observations of a same (or same colored) point in a three dimensional scene are observations of the same point.
In one embodiment, the intensity similarity measure may be used to calculate an intensity similarity to process video content. These calculations may entail finding pixel correspondence among video frames that may be used for various image processing operations, for example, denoising, object tracking, pattern matching, etc., especially in low-light conditions.
These and other aspects of the systems and methods to model Poisson-quantization noise and generate an intensity similarity function based thereon are now described in greater detail.
Although not required, systems and methods to generate a Poisson-quantization noise model and an intensity similarity measure in low-light conditions are described in the general context of computer-executable instructions (program modules) being executed by a computing device such as a personal computer. Program modules generally include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. While the systems and methods are described in the foregoing context, it will be understood that acts and operations described hereinafter may be implemented in any suitable hardware, software, firmware, or combination thereof.
System 100 includes an imaging device such as a camera 102. Camera 102 includes optics 104, a photodetector 106, and a video content analysis engine 108. Although the imaging device is illustrated as a digital camera 102, the imaging device can also be any type of imaging device such as a conventional analog camera, a cell phone equipped with an imaging device, a personal digital assistant (PDA) equipped with an imaging device, a webcam, etc. Object image information captured by an imaging device typically includes photon noise 112 received by optics 104 and transmitted to photodetector 106. Photon noise 112 arises because photons do not arrive at optics 104 in a steady stream. Instead, photons arrive in a fluctuating manner consistent with that of a Poisson noise model. This temporal fluctuation in the intensity of photons arriving at photodetector 106 becomes especially significant in low-light conditions where the number of incoming photons is limited.
In addition to photon noise 112, other types of noise, including quantization noise, can be encountered by camera 102. Quantization noise is created when the photodetector 106 digitizes input photon energy into quantized values, thus changing photons to electrons by converting the incident optical intensity to a detector current or signal. In photon-limited conditions photon noise and quantization noise become dominant due to the lack of intensity resolution in the limited dynamic range. Thus, quantization noise and photon noise may exert an especially deleterious effect on low-light vision applications such as night vision, medical imaging, underwater imaging, microscopic imaging, astronomical imaging, and/or other applications.
Other types of noise, in addition to photon noise 112 and quantization noise, such as reset noise, dark current noise and read-out noise may also be significant. In general, these types of noise have the potential to significantly degrade the quality of an image 114 formed in camera 102. In high-speed imaging, Poisson noise often becomes significant, and the combination of Poisson noise and quantization noise may contribute significantly to uncertainty in observations. Reset noise, dark current noise and read-out noise follow a Poisson distribution. Sometimes, however, read-out noise may also be modeled by Gaussian noise. This results since Gaussian noise with variance σ2 and mean σ2 is nearly identical to Poisson noise with mean σ2 if σ is sufficiently large. For instance, when operating camera 102 at room temperature and with a high read-out frequency, a may be sufficiently large to satisfy this condition.
Video content analysis engine 108 may be employed to effect image restoration in photon-limited images which would otherwise suffer from severe degradation. As discussed below, video content analysis engine 108 accomplishes this by: modeling photon noise 112, quantization noise, reset noise, dark current noise, and read-out noise; and creating an intensity similarity measure. These operations are useful in filtering various types of noise to improve the quality of image 114.
Computer 116 is illustrated as a desktop computer. However, computer 116 could alternately comprise a variety of other types of computer and computer-like devices, such as a notebook or portable computer, a tablet PC, a cell phone, a personal digital assistant (PDA), a workstation, a mainframe computer, a server, an Internet appliance, a set-top box, combinations thereof, and so on. In one implementation, video content analysis engine 108 is implemented on computer 116. In another implementation, a portion of video content analysis engine 108 resides on the computer 116, while another portion of video content analysis engine 108 resides on a computer readable medium outside of computer 116, or on a device separate from computer 116, such as camera 102.
Computer 116 is coupled to a network 120, such as the Internet, via any possible connection type known in the art, including telephone lines and ISDN lines. Moreover, other computers 122(1)-122(N) may be connected to the network 120. In this fashion, computers 122(1)-122(N) can share data and instructions with each other, and with computer 116. In one implementation, this includes sharing by computer 116 of video content captured by camera 102 and processed by the video content analysis engine 108 with computers 122(1)-122(N) over network 120. For example, in one implementation, camera 102 comprises a cell phone with an imaging device. In this example, images taken by the imaging device are processed by the video content analysis engine 108. These images may then be communicated to computer 116, network 120, or computers 122(1)-122(N).
Although not required, the systems and methods for creating a Poisson-quantization (PQ) noise model and an intensity similarity measure based on the PQ noise model are described in the general context of computer-executable instructions (program modules) being executed by a computing device such as a personal computer. Program modules generally include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. While the systems and methods are described in the foregoing context, acts and operations described hereinafter may also be implemented in hardware, software, firmware or combinations of hardware, software, firmware, etc.
Noise reduction in an image sequence may be accomplished by finding pixel correspondences among the images in the sequence. Once the correspondences are obtained, color/intensity values of the pixels are smoothed by selecting an average or median value for the color/intensity values of corresponding pixels found in images within the sequence. In this manner, noise in the images can be reduced.
The intensity similarity measure module 208 is useful for finding pixel correspondences in low-light conditions, because the intensity similarity measure is built upon the physics-based noise model, i.e., PQ noise model 212. To compute the intensity similarity measure 214, parameters q and q1 of PQ noise model 212 are determined. This is achieved by fitting the observed noise data in the calibration stage, as will be described in more detail below. Once the parameters q and q1 for the PQ noise model 212 are obtained, the intensity similarity measure 214 may be obtained. Methods describing how to obtain the similarity measure 214 are also discussed in more detail below. It will be understood that if gain and white balancing parameters in the images are fixed, such computations need only be completed once.
Below, PQ noise model 212, which is a realistic noise model in low-light conditions, is derived. The PQ noise model 212 is built upon two inevitable noise sources in low-light conditions: Poisson noise and quantization noise. The PQ noise model 212 accounts for uncertainties caused by the nature of photon arrival, as well as by the digitizing process carried out at the photodetector 106. Intensity similarity measure 214 is based on PQ noise model 212. Intensity similarity measure 214 is useful in many computer vision applications which involve intensity differencing, e.g., block matching, stereo, optical flow and image alignment. Intensity similarity measure 214 can replace existing intensity distance functions based on Euclidean distance.
As mentioned above, the quality of video content captured by camera 102 may suffer from uncertainty generated by photon noise 112 and quantization noise. The Poisson-quantization (PQ) noise model 212 discussed below accounts for this uncertainty.
Poisson noise is modeled by a Poisson distribution with parameter λ defined for all kεN by the probability:
wherein the mean E and variance V are defined as follows:
As also noted above, quantization noise is the uncertainty caused when observed amplitudes in image data are rounded to discrete levels in photodetector 106. This arises due to the finite amplitude resolution inherent in any digital system (i.e. in analog-to-digital conversion, assuming that a signal lies within a predefined range).
If the minimum number of electrons necessary to raise one level of observed intensity is q, and eq is the quantization noise, then the count of electrons is proportional to the number of photons by the factor of the photon-electron conversion efficiency (the quantum efficiency of the sensor). Quantization noise can thus be modeled as:
where N is the number of electrons generated by the measurement. More detailed quantization error analysis in computer vision can be found in “Evaluation of Quantization Error in Computer Vision” by B. Kamgar-Parsi and B. Kamgar-Parsi, as found in IEEE Trans. Pattern Anal. Mach. Intell., 11(9):929 940, 1989, which is incorporated herein by reference.
Given the Poisson noise model and the quantization noise model discussed above, the PQ-noise model 212 can be formed as follows. A Poisson distribution with parameter λ and quantization Q={q0=0, . . . , qk, . . . , qn+1=∞} may be defined for all kε{0, . . . , n} by the probability p(k, λ, Q) as:
where the quantization parameter qk represents the minimum number of electrons used to produce an intensity level k.
In one implementation, the quantization interval is considered constant, i.e., qk=kq, and the observations are considered to be far from saturation. In such an instance, the quantization interval can be defined as the range of input values assigned to the same output level, and the behavior of the PQ-noise model 212 can be seen to differ from the behavior of the Poisson noise model.
To derive the mean E(λ, q) and variance V(λ,q) of the PQ-noise model 212, XεZ is considered to be a discrete random variable having a characteristic function φ(t)=E(eitX). The quantized version Xq can thus be defined by:
Moreover, the characteristic function φq of Xq may be given by:
This can be proven by setting pn=P(X=n). The characteristic function φq of Xq is therefore:
Since the function:
is q-periodic, it can therefore be written as a trigonometric polynomial:
Using a discrete Fourier transformation, it can be shown that:
Corollary 1. The mean Eq of Xq and variance Vq of Xq can be written by the mean E, the variance V, and the characteristic function φ of X as:
These formulas result from a computation of the derivatives of φq, using the fact that Eq=−iφq′(0) and Vq=−φq″(0)−Eq2.
Further, by using a Poisson distribution having the characteristic function φ(t)=eλ(e
Remark 1. This result can be extended to the continuous random variable case by allowing X to be a random variable in , and by allowing φx(t) to be the characteristic function of X. └X┘ can then be allowed to be the quantized version of X. Through use of the Fourier series of the 1-periodic function defined over , i.e.:
it can be shown that show that the characteristic function φ└x┘ of └X┘ is
where the summation is done by grouping terms of n and −n together if no convergence is present. The mean k└x┘ can be derived by:
This applies to any kind of distribution, for example, the mean of a Gaussian distribution can be derived by allowing X to be a random variable following the Gaussian law N(μ,σ2). The characteristic function becomes
As the series on the right decreases exponentially with n, a practical way to compute E└X┘ is achieved.
Similarly, graph 304 illustrates the evolution of the variance of both P noise and PQ noise with respect to the mean, with q=100. Again, due to quantization noise, strong oscillations are observed in the mean of the PQ noise, while the variance of P noise exhibits a near linear relationship with the mean of P noise.
The oscillation in the mean of PQ noise in graph 302, and the variance of PQ noise in graph 304, decays exponentially according to the formula:
The minimum intensity level of the linear range corresponds to:
In practice, ql does not equal q due to the shift of the function caused by the offset voltage. However, under the PQ noise model 212, with the assumption that q0=0 and qk=q1+(k−1)q it is possible to derive E(λ,q) and V(λ,q) for this condition by the same derivation used for Eqs. (5) and (6) above. Thus, when E(λ,q) is reasonably high, i.e. when
The following relationship between E(λ,q) and V(λ,q) holds in the linear range:
This results because it may be assumed that observed intensities are far enough from saturation that the approximation n=∞ may be used. By bifurcating the problem, two cases are formed.
Case 1. If q1≦q, and X(λ) is a discrete random variable on the shifted Poisson distribution defined by:
possesses the desired PQ-distribution. It can thus be seen that Ex(λ)=λ+q1−q, and VX(λ)=λ.
Case 2. If q1>q, and X(λ) is a discrete random variable which satisfies
has the desired PQ-distribution. When λ is large, the approximation P(X=0)≈0 holds. Therefore, EX(λ)≈λ+q1−q, and VX(λ)≈λ are deduced.
Using Corollary 1 and Remark 1, which show that
it can be deduced that:
in the linear range. Therefore:
The PQ noise model has two unknown parameters: q and q1. These unknown parameters can be calibrated by fitting the observed noise data to Eq. (7) above.
The similarity between two intensity observations k and l is often measured by Euclidean distance with an assumption that k and l are true signals, or the noise model being employed is non-biased. Such assumptions, however, do not hold in low-light conditions. In contrast, intensity similarity measure 214 is based on the probability that two intensity observations come from the same source intensity. For the sake of clarity, the intensity similarity measure for the Poisson noise case will be derived before intensity similarity measure 214 for the PQ-noise model 212 is derived. It will be understood that the Poisson noise model can be considered as a special case of the PQ noise model 212 in which the quantization parameters q=q1=1.
In the Poisson noise model, when two observed intensities arise from the same intensity distribution, it can be assumed that two observed intensities share the same parameter λ. Given this, the probability of obtaining two observations k and l is
Since parameter λ is unknown, the actual probability may not be calculable. However, by viewing the optimal case where λ maximizes the probability, the measure which maximizes the similarity between k and l may be found. This approach corresponds to the ML estimation of the observation of the pair (k,l). Therefore, the optimal {circumflex over (λ)} can be obtained by setting the first derivative to zero:
such that
is obtained. Eq. 9 maximizes the probability defined in Eq. (8). In this way, the intensity similarity function can be defined as:
This similarity measure does not agree with the exact definition of distance, because d(k,k)>0 if k>0. However, the similarity measure does produce the similarity between two observations.
Using the derivation in the previous section, the intensity similarity function for the PQ-noise model 212 may be formalized. The joint probability P is defined as the probability of observing k and l having parameters λk and λl respectively with the quantization Q, by
P(k,l,λk,λ1,Q)=p(k,λk,Q)p(l,λ1,Q), (12)
Parameter {circumflex over (λ)} (=λk=λl), which maximizes the probability P, is first determined. This is equivalent to maximizing the probability that two intensity observations share the same intensity source. When λk=λl, it can be said that P(k,l,λ,Q)=P(k,l,λk,λ1,Q). The optimal {circumflex over (λ)} exists since the logged probability −In P is convex.
Convexity of the logged probability −lnP in Eq. (12) can be shown by the following:
Proposition:
is convex.
Proof
Therefore, f is convex.
Returning to the formalization of the intensity similarity function for the PQ-noise model 212:
(1). If k=l, the maximum of P(k,k,λ,Q) is given by
This can be derived from the first derivation of the function described above in the proof of the convexity of the logged probability −ln P.
(2). If k≠1, the optimal {circumflex over (λ)} may be obtained by minimizing the convex function −lnP. This can be accomplished by describing a simple algorithm for finding the optimal {circumflex over (λ)} with a dichotomic search over the first derivative of P.
The sign of P′ can be determined by computing the sign of:
Alternately, to find the optimal {circumflex over (λ)}, other descent methods such as gradient descent, Newton-Raphson, etc. can also be used.
The intensity similarity function is finally determined by plugging in the optimal {circumflex over (λ)} into the following function using Eqs. (4) and (12):
a shows an exemplary procedure 500 to create a table of intensity similarity measure. For ease of understanding, the method 500 is delineated as separate steps represented as independent blocks in
At block 502, image information is received. For example, video information is collected using camera 102, or any other suitable photographic device. Alternately, camera 102, or any other suitable photographic device, can be used to collect several still frames of an object of interest.
At block 504, the image information received at block 502 is accumulated and stored. The accumulation of images can include, for example, a collection of approximately 1000 images. It will also be understood, however, that more or less images may be accumulated at block 504. The accumulation may be stored at any suitable memory device, including memory associated with computer 116, camera 102 or video content analysis engine 108.
At block 506, the accumulated image information stored at block 504 is used to calibrate an uncalibrated Poisson-quantization (PQ) noise model (block 508):
where the quantization parameter qk represents the minimum number of electrons which produce an intensity level k. The PQ noise model has two unknown parameters: q and ql. In practice, ql does not equal q due to the shift of the function caused by the offset voltage. However, these unknown parameters can be estimated by fitting the observed noise data to Eq. (7) below (block 506):
Once the parameters q and ql have been estimated, they are used in conjunction with Eq. 4 to establish a calibrated PQ-noise model with determined parameters q and ql (block 510).
This calibrated PQ noise model with determined parameters q and ql (block 512) is then used to establish the intensity similarity measure (block 514). The intensity similarity measure is calculated based on the probability that intensity observations come from the same source intensity. In one implementation, the intensity similarity measure is calculated from an intensity similarity function obeying the formula:
Once calculated, the intensity similarity measure is used to establish an intensity similarity measure table (block 516). When creating an intensity similarity measure table (block 516) the intensity similarity is computed for each combination of observations k and l. Therefore, the table becomes a symmetric square matrix where the number of rows and columns is the number of discrete observations, e.g., when the range of observation is 0-255, the number of rows and columns becomes 256. Once created, the intensity similarity table (block 518) provides an intensity similarity measure for two intensity observations. For instance, when two intensity values k and l are observed, the intensity similarity can be measured by looking up the intensity similarity measure table 518.
b shows an exemplary procedure 530 to find pixel correspondence between two frames of image information. For ease of understanding, the method 500 is delineated as separate steps represented as independent blocks in
Once the table of intensity measure 518 has been created, it may be used to find pixel correspondences between two images. For example, at block 532, image information is received. This image information may be the same image information received at block 502 in method 500, or it may be new image information. Also the image information may include video information collected using camera 102, or any other suitable photographic device. Alternately, in another possible implementation, camera 102, or any other suitable photographic device, can be used to collect several still frames of an object of interest.
At block 534 two frames from either the video information or the collection of still frames are chosen.
At block 536 the two images are compared using the pre-calculated table of intensity similarity measure (block 518), and pixel correspondence between the two frames may be found using block matching optical flow estimation, or any other suitable method known in the art.
Method 600 is used to derive an intensity similarity measure based upon the probability that two intensity observations come from the same source intensity. At block 602, the joint probability P of observing two intensity observations k and l having parameters λk and λl respectively with the quantization Q, is defined by:
P(k,l,λk,λl,Q)=p(k,λk,Q)p(l,λl,Q), (12)
At block 604, maxima of joint probability P are isolated such that {circumflex over (λ)} (=λk=λl). This is equivalent to finding maxima in the probability that two intensity observations share the same intensity source. When λk=λl, it can be said that P(k,l,λ,Q)=P(k,l,λk,λl,Q). Moreover, since the logged probability −ln P is convex, maxima corresponding to {circumflex over (λ)} exist.
At block 606, intensity observations k and l are observed to determine if they are equal. If so (“yes” path from block 606) then the maxima of P(k,k,λ,Q) is found using the formula:
Alternately, if at block 606, intensity observations k and l are determined to be unequal (“no” path from block 606), then a dichotomic search over the first derivative of P is conducted to find {circumflex over (λ)} corresponding to minima for the convex function −ln(P) (block 610). In one implementation, the dichotomic search over the first derivative of P is conducted using the following algorithm:
Alternately, to find the optimal {circumflex over (λ)}, other descent methods such as gradient descent, Newton-Raphson, etc. can also be used.
The sign of P′ can be determined (block 612) by computing the sign of:
Once the optimal {circumflex over (λ)} is found in block 608, or in blocks 610-612, the optimal value for {circumflex over (λ)} is then used by method 600 to determine the intensity similarity function by plugging the optimal {circumflex over (λ)} into the following function (block 614):
From the intensity similarity function, an intensity similarity measure can be calculated.
The methods and systems described herein are operational with numerous other general purpose or special purpose computing systems, environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use include, but are not limited to, personal computers, server computers, multiprocessor systems, microprocessor-based systems, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and so on. Compact or subset versions of the framework may also be implemented in clients of limited resources, such as handheld computers, or other computing devices. The invention is practiced in a distributed computing environment where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
With reference to
A computer 710 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by computer 710 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 710.
Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example and not limitation, communication media includes wired media such as a wired network or a direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer-readable media.
System memory 730 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 731 and random access memory (RAM) 732. A basic input/output system 733 (BIOS), containing the basic routines that help to transfer information between elements within computer 710, such as during start-up, is typically stored in ROM 731. RAM 732 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 720. By way of example and not limitation,
The computer 710 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
A user may enter commands and information into the computer 710 through input devices such as a keyboard 762 and pointing device 761, commonly referred to as a mouse, trackball or touch pad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 720 through a user input interface 760 that is coupled to the system bus 721, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB).
A monitor 791 or other type of display device is also connected to the system bus 721 via an interface, such as a video interface 790. In addition to the monitor, computers may also include other peripheral output devices such as printer 796 and audio device(s) 797, which may be connected through an output peripheral interface 795.
The computer 710 operates in a networked environment using logical connections to one or more remote computers, such as a remote computer 780. In one implementation, remote computer 780 represents computing device 102 or networked computer 104 of
When used in a LAN networking environment, the computer 710 is connected to the LAN 771 through a network interface or adapter 770. When used in a WAN networking environment, the computer 710 typically includes a modem 772 or other means for establishing communications over the WAN 773, such as the Internet. The modem 772, which may be internal or external, may be connected to the system bus 721 via the user input interface 760, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 710, or portions thereof, may be stored in the remote memory storage device. By way of example and not limitation,
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claimed invention.
This application is a continuation application Ser. No. 11/275,265, filed on Dec. 21, 2005, the entirety of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 11275265 | Dec 2005 | US |
Child | 12772690 | US |