Deep Learning Approaches on Medical Ultrasound Image Denoising in Pytorch and Tensorflow.
Medical ultrasound is becoming today one of the most accessible diagnostic imaging modalities. A high image quality is the basis on which clinical interpretation can be made with sufficient confidence. However, medical ultrasound images suffer typically from speckle effect due to interference in the image formation.
We propose to study deep learning approaches to perform ultrasound speckle reduction. We will explore several different methods including end-to-end learning and hybrid methods. We would also like to push the understanding and the interpretation of the network behavior through a deeper analysis of network structures and activation functions.
- DnCNN [PDF] [WEB]
- Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising (TIP2017), Zhang et al.
- FFDNet [PDF] [WEB]
- FFDNet: Toward a fast and flexible solution for CNN-based image denoising, Zhang et al.
- CBDNet [PDF] [WEB]
- Toward Convolutional Blind Denoising of Real Photographs (Arxiv2018), Shi Guo, Zifei Yan, Kai Zhang, Wangmeng Zuo, Lei Zhang.
- MWCNN [PDF] [WEB]
- Multi-level wavelet-CNN for image restoration (2018), Liu, Pengju, et al.
- KPN [PDF] [WEB]
- Burst Denoising With Kernel Prediction Networks (CVPR2018), Ben Mildenhall, Jonathan T. Barron, Jiawen Chen, Dillon Sharlet, Ren Ng, Robert Carroll.
- CBDNet [PDF] [WEB]
- Toward Convolutional Blind Denoising of Real Photographs (Arxiv2018), Shi Guo, Zifei Yan, Kai Zhang, Wangmeng Zuo, Lei Zhang.
- Model without bias [PDF]
- Robust and interpretable blind image denoising via bias-free convolutional neural networks, Mohan, Sreyas, et al.
- [model_baseline.py] U-net
- [model_gdfn.py] global dynamic filter network
- [model_kpn.py] kernel predicion network
- [model_baseline.py] U-net
- [model_gdfn2.py] global dynamic filter network
- [model_local_dfn.py] local dynamic filter network
- [model_mwcnn.py] multi-level wavelet cnn
- [model_kpn.py] kernel predicion network
- [model_mwkpn.py] multi-level wavelet kernel prediction network
- [train_blind_noise.ipynb] train models without noise estimation
- [train_burst_blind_noise.ipynb] train burst models without noise estimation
- [train_burst_with_noise_est.ipynb] train burst models with noise estimation
- [train_noise_est.ipynb] train noise estimation models
- [train_ultrasound_data.ipynb] train ultrasound data with one of the above models
- [test_ultrasound_data.ipynb] train ultrasound data with one of the above models
- [eval_gdfn.ipynb] evaluate global dfn filters
- [eval_kpn.ipynb] evaluate kpn/local dfn filters
- [eval_mwcnn.ipynb] evaluate multi-level wavelet effects on U-net
- [eval_transfer_learning.ipynb] evaluate transfer learning effects
- [dwt.py] discrete wavelet transform implementation in tensorflow2
- [hybrid_method.ipynb] hybride methode implementation
- Codes in Juppyter Notebook are for educative demonstration.
- You can also consult the Project Report for more information.