Abstract
In this paper we propose a new algorithm for real-time filtering of video sequences corrupted by Poisson noise. The algorithm provides effective denoising (in some cases overcoming the filtering performances of state-of-the-art techniques), is ideally suited for hardware implementation, and can be implemented on a small field-programmable gate array using limited hardware resources. The paper describes the proposed algorithm, using X-ray fluoroscopy as a case study. We use IIR filters for time filtering, which largely simplifies hardware cost with respect to previous FIR filter-based implementations. A conditional reset is implemented in the IIR filter, to minimize motion blur, with the help of an adaptive thresholding approach. Spatial filtering performs a conditional mean to further reduce noise and to remove isolated noisy pixels. IIR filter hardware implementation is optimized by using a novel technique, based on Steiglitz–McBride iterative method, to calculate fixed-point filter coefficients with minimal number of nonzero elements. Implementation results using the smallest StratixIV FPGA show that the system uses only, at most, the 22% of the resources of the device, while performing real-time filtering of 1024 × 1024@49fps video stream. For comparison, a previous FIR filter-based implementation, on the same FPGA, in the same conditions and constraints (1024 × 1024@49fps), requires the 80% of the logic resources of the FPGA.
Similar content being viewed by others
References
R. Aufrichtig, D.L. Wilson, X-ray fluoroscopy spatio-temporal filtering with object detection. IEEE Trans. Med. Imaging 14(4), 733–746 (1995)
S.P. Awate, R.T. Whitaker, Higher-order image statistics for unsupervised, information-theoretic, adaptive, image filtering. In IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’05), vol. 2, pp. 44–51 (2005)
E.J. Balster, Y.F. Zheng, R.L. Ewing, Combined spatial and temporal domain wavelet shrinkage algorithm for video denoising. IEEE Trans. Circuits Syst. Video Technol. 16(2), 220–230 (2006)
A.A. Bindilatti, N.D.A. Mascarenhas, A non local Poisson denoising algorithm based on stochastic distances. IEEE Signal Process. Lett. 20(11), 1010–1013 (2013)
D. Bhonsle, V. Chandra, G.R. Sinha, Medical image denoising using bilateral filter. Int. J. Image Graph. Signal Process. 4(6), 36–43 (2012)
S. Bonettini, V. Ruggiero, An alternating extra gradient method for total variation-based image restoration from Poisson data. Inverse Probl. 27(9), 1–28 (2011)
A. Buades, B. Coll, J.M. Morel, A non-local algorithm for image denoising. In IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’05), vol. 2, pp. 60–65 (2005)
J. Cai, B. Dong, S. Osher, Z. Shen, Image restoration: total variation, wavelet frames, and beyond. J. Am. Math. Soc. 25, 1033–1089 (2012)
T. Cerciello, P. Bifulco, M. Cesarelli, L. Paura, G. Pasquariello, R. Allen, Noise reduction in fluoroscopic image sequences for joint kinematics analysis. In Proceedings of 22nd Mediterranean Conference on Medical and Biological Engineering and Computing, vol. 29, pp. 323–326 (2010)
T. Cerciello, M. Romano, P. Bifulco, M. Cesarelli, R. Allen, Advanced template matching method for estimation of intervertebral kinematics of lumbar spine. Med. Eng. Phys. 33(10), 1293–1302 (2011)
T. Cerciello, P. Bifulco, M. Cesarelli, A. Fratini, A comparison of denoising methods for X-ray fluoroscopic images. Biomed. Signal Process. Control 7(6), 550–559 (2012)
M. Cesarelli, P. Bifulco, T. Cerciello, M. Romano, L. Paura, X-ray fluoroscopy noise modeling for filter design. Int. J. Comput. Assist. Radiol. Surg. 8(2), 269–278 (2013)
C.L. Chan, A.K. Katsaggelos, A.V. Sahakian, Image sequence filtering in quantum-limited noise with applications to low-dose fluoroscopy. IEEE Trans. Med. Imaging 12(3), 610–621 (1993)
K. Dabov, A. Foi, V. Katkovnik, K. Egiazarian, Image denoising by sparse 3D transform-domain collaborative filtering. IEEE Trans. Image Process. 16(8), 2080–2095 (2007)
K. Dabov, A. Foi, K. Egiazarian, Video denoising by sparse 3D transform-domain collaborative filtering. In Proceedings of European Signal Processing Conference (EUSIPCO), Poznań, Poland, Sept. 3–7 (2007)
M. Elad, M. Aharon, Image denoising via sparse and redundant representations over learned dictionaries. IEEE Trans. Image Process. 15(12), 3736–3745 (2006)
M.A.T. Figueiredo, J.M. Bioucas-Dias, Restoration of Poissonian images using alternating direction optimization. IEEE Trans. Image Process. 19(12), 3133–3145 (2010)
A. Foi, Clipped noisy images: heteroskedastic modeling and practical denoising. Signal Process. 89(12), 2609–2629 (2009)
M. Genovese, P. Bifulco, D. De Caro, E. Napoli, N. Petra, M. Romano, M. Cesarelli, A.G.M. Strollo, Hardware implementation of a spatio-temporal average filter for real-time denoising of fluoroscopic images. Integr. VLSI J. 49, 114–124 (2015)
M. Ghazal, A. Amer, A. Ghrayeb, Structure-oriented multidirectional Wiener filter for denoising of image and video signals. IEEE Trans. Circuits Syst. Video Technol. 18(12), 1797–1802 (2008)
R.M. Harrison, C.J. Kotre, Noise and threshold contrast characteristics of a digital fluoroscopic system. Phys. Med. Biol. 31(5), 512–586 (1986)
V.M. Hubbard, The approximation of a Poisson distribution by a Gaussian distribution. Proc. IEEE 58(9), 1374–1375 (1970)
A. Jiang, H.K. Kwan, Minimax design of IIR digital filters using iterative SOCP. IEEE Trans. Circuits Syst. I Reg. Pap. 57(6), 1326–1337 (2010)
S.M. Kuo, B.H. Lee, Real-time digital signal processing (Wiley, New York, 2001)
M.C. Lang, Least-squares design of IIR filters with prescribed magnitude and phase responses and a pole radius constraint. IEEE Trans. Signal Process. 48(11), 3109–3121 (2000)
C.M. Lo, A.A. Sawchuk, Nonlinear restoration of filtered images with Poisson noise. Proc. SPIE 207, 84–95 (1979)
F. Luisier, T. Blu, M. Unser, Image denoising in mixed Poisson–Gaussian noise. IEEE Trans. Image Process. 20(3), 696–708 (2011)
M. Mäkitalo, A. Foi, Optimal inversion of the Anscombe transformation in low-count Poisson image denoising. IEEE Trans. Image Process. 20(1), 99–109 (2011)
M. Mäkitalo, A. Foi, Optimal inversion of the generalized Anscombe transformation for Poisson–Gaussian noise. IEEE Trans. Image Process. 22(1), 91–103 (2013)
S. Mishra, P.D. Swami, Spatio-temporal video denoising by block-based motion detection. Int. J. Eng. Trends Technol. 4(8), 3371–3382 (2013)
M. Moradi, S.S. Mahdavi, E. Dehghan, J.R. Lobo, S. Deshmukh, W.J. Morris, G. Fichtinger, S.E. Salcudean, Seed localization in ultrasound and registration to C-arm fluoroscopy using matched needle tracks for prostate brachy therapy. IEEE Trans. Biomed. Eng. 59(9), 2558–2567 (2012)
R.B. Paranjape, Fundamental enhanced techniques, in Handbook of Medical Imaging, ed. by I.N. Bankman (Academic Press, London, 2000)
T.W. Parks, C.S. Burrus, Digital Filter Design (Wiley, New York, 1987), pp. 226–228
J.G. Proakis, D.G. Manolakis, Digital Signal Processing Principles, Algorithms, and Applications, 3rd edn. (Prentice-Hall, Englewood Cliffs, 1996)
G. Steidl, J. Weickert, T. Brox, P. Mrzek, M. Welk, On the equivalence of soft wavelet shrinkage, total variation diffusion, total variation regularization, and sides. SIAM J. Numer. Anal. 42(2), 686–713 (2004)
K. Steiglitz, L.E. McBride, A technique for the identification of linear system. IEEE Trans. Autom. Control AC-10, 461–464 (1965)
M.J. Tapiovaara, SNR and noise measurements for medical imaging: II. Application to fluoroscopic X-ray equipment. Phys. Med. Biol. 38(12), 1761–1788 (1993)
M. Tomic, S. Loncaric, D. Sersic, Adaptive spatio-temporal denoising of fluoroscopic X-ray sequences. Biomed. Signal Process. Control 7(2), 173–179 (2012)
G. Varghese, Z. Wang, Video denoising based on a spatiotemporal Gaussian scale mixture model. IEEE Trans. Circuits Syst. Video Technol. 20(7), 1032–1040 (2010)
J. Wang, T.J. Blackburn, The AAPM/RSNA physics tutorial for residents: X-ray image intensifiers for fluoroscopy. Radiographics 20(5), 1471–1477 (2000)
Z. Wang, A.C. Bovik, H.R. Sheikh, E.P. Simoncelli, Image quality assessment: from error visibility to structural similarity. IEEE Trans. Image Process. 13(4), 600–612 (2004)
T. Yamazaki, T. Watanabe, Y. Nakajima, K. Sugamoto, T. Tomita, H. Yoshikawa, S. Tamura, Improvement of depth position in 2-D/3-D registration of knee implants using single-plane fluoroscopy. IEEE Trans. Med. Imaging 23(5), 602–612 (2004)
Y.-L. You, M. Kaveh, Fourth-order partial differential equations for noise removal. IEEE Trans. Image Process. 9(10), 1723–1730 (2000)
B. Zhang, J.M. Fadili, J.-L. Starck, Wavelets, ridgelets, and curvelets for Poisson noise removal. IEEE Trans. Image Process. 17(7), 1093–1108 (2008)
V. Zlokolica, A. Pizurica, W. Philips, Wavelet-domain video denoising based on reliability measures. IEEE Trans. Circuits Syst. Video Technol. 16(8), 993–1007 (2006)
V. Zlokolica, A. Pižurica, W. Philips, S. Schulte, E. Kerre, Fuzzy logic recursive motion detection and denoising of video sequences. J. Electron. Imaging 15(2), 1–13 (2006)
C. Zuo, Y. Liu, X. Tan, W. Wang, M. Zhang, Video denoising based on a spatiotemporal Kalman-bilateral mixture model. Sci. World J. 2013, 438147 (2013)
Video Sequence Database [Online] (2000). https://media.xiph.org/video/derf/. Accessed July 2016
Gurobi Optimizer Reference Manual (2000). www.gurobi.com. Accessed Nov 2014
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix
Appendix
1.1 Derivation of Temporal Threshold
As stated in Sect. 2, p(i, j, n) ~ N[µ(i, j, n), σ2(i, j, n)], where, according to (1), σ2(i, j, n) is a function of µ(i, j, n). In order to identify whether p(i, j, n) belongs to a different moving object we can compare p(i, j, n) with the previous output of the T-filter, pT(i, j, n − 1), which represents the most accurate information about the state of pixels at position (i, j) in previous frames. pT(i, j, n − 1) is a weighted sum of p(i, j, n′), independent of each other, and belongs to the same object; therefore, pT(i, j, n − 1) ~ N(µT(i, j, n − 1), σ 2 T (i, j, n − 1)). The problem of defining whether p(i, j, n) belongs to the same object of pT(i, j, n − 1) is the statistical hypothesis testing problem:
The problem is solved by defining a threshold TT(i, j, n):
where 1 − α represents the confidence level of the test. The two quantities p(i, j, n) and pT(i, j, n − 1) are independent of each other; therefore, under hypothesis H0 we have:
where
The variance σ 2 T (i, j, n − 1) of the IIR filter response is computed approximating the filter impulse response with a rectangular window of length M:
Let us now name m(i, j, n − 1) ∈ [1, M] the number of frames from which the pixel pT(i, j, n − 1) can be considered static (i.e., m(i, j, n − 1) = k in the case in which the last filter reset was at frame n − k). In this hypothesis, we have:
In (42) p(i, j, n − k) are independent of each other. In addition, under hypothesis H0, p(i, j, n − k) ~ N(µ(i, j, n), σ2(i, j, n)). From (41), (42) we obtain:
Substituting (43) into (40) we have:
From (39), the solution of (38) is:
where CDF −1N (p) is the inverse normal cumulative distribution function.
1.2 Derivation of Spatial Threshold
By following the same approach used for T-filters, the generic pixel pT(i′, j′, n) is considered in the mean operation only if we statistically infer that the pixel belongs to the same object of pixel pT(i, j, n). We therefore impose another statistical hypothesis testing problem:
The problem is solved defining a threshold TS(i, j, i′, j′, n):
Note that, according to (48), the threshold TS is a function not only of (i, j), but also of (i′, j′). The variance of variable pT(i, j, n) − pT(i′, j′, n), in fact, depends on the variance of both pT(i, j, n) and pT(i′, j′, n), and these variances depend on m(i, j, n) and m(i′, j′, n), respectively (see (43)). However, with the help of a large number of simulations, we have verified that it is possible to use the same threshold for all pixels pT(i′, j′, n) considered by S-filter(i, j) by assuming σ 2 T (i′, j′, n) = σ 2 T (i, j, n). We will therefore use a threshold TS(i, j, n) defined as:
In this case, we have:
where σ 2 T (i, j, n) is given by (43). By considering also (44) and (40), we also have:
Rights and permissions
About this article
Cite this article
Castellano, G., De Caro, D., Esposito, D. et al. An FPGA-Oriented Algorithm for Real-Time Filtering of Poisson Noise in Video Streams, with Application to X-Ray Fluoroscopy. Circuits Syst Signal Process 38, 3269–3294 (2019). https://doi.org/10.1007/s00034-018-01020-x
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00034-018-01020-x