Mobile Wireless Ultrasound with GPU Beamforming Jesper Mosegaard , - - PowerPoint PPT Presentation
Mobile Wireless Ultrasound with GPU Beamforming Jesper Mosegaard , - - PowerPoint PPT Presentation
Click to edit Master title style Mobile Wireless Ultrasound with GPU Beamforming Jesper Mosegaard , PhD Head of Computer Graphics Lab Alexandra Institute Denmark The Alexandra Institute Click to edit Master title style Private
Click to edit Master title style
- Private not-for-profit company within IT
– Technology transfer from University research through GTS institutes (Danish model)
- Application oriented research
- Consultancy for companies
The Alexandra Institute
Click to edit Master title style
FutureSonic
- ” A new platform and
business model for
- n-demand diagnostic
ultrasound imaging“
- 2013-2018
- Budget: 23 mio US$
19/03/15 3
Click to edit Master title style
- Center for Fast Ultrasound Imaging, Technical
University of Denmark
– Martin Christian Hemmsen – Borislav G. Tomov – Jørgen Arendt Jensen
- BK Medical
– Carsten Kjær
- Computer Graphics Lab, Alexandra Institute
– Thomas Kim Kjeldsen – Lee Lassen – Jesper Mosegaard
Joint work
19/03/15 Page 4
Click to edit Master title style
Presentation based on publications
19/03/15 Page 5
- M. C. Hemmsen, T. Kjeldsen, L. Larsen, C. Kjaer, B. G. Tomov, J. Mosegaard,
and J. A. Jensen, “Implementation of synthetic aperture imaging on a hand- held device,” in Proceedings of 2014 ieee international ultrasonics symposium, 2014, pp. 2177-2180.
- T. Kjeldsen, L. Lassen, M. C. Hemmsen, C. Kjaer, B. G. Tomov, J. Mosegaard, and J. A. Jensen,
“Synthetic aperture sequential beamforming implemented on multi-core platforms,” in Proceedings of 2014 ieee international ultrasonics symposium, 2014, pp. 2181-2184.
Click to edit Master title style
Medical Ultrasound
19/03/15 6 http://www.bkmed.com/products_en.htm
Click to edit Master title style
Mobile transducer
Click to edit Master title style
Leveraging disruptive technology
19/03/15 8
Click to edit Master title style
Ultrasound
- From acoustic (pressure) waves to images
19/03/15 9 http://www.sensorwiki.org/doku.php/sensors/ultrasound
Medium Velocity (m/ sec) Fat 1450 Water 1480 Soft tissue 1540 Kidney 1560 Blood 1570 Muscle 1580 Bone 4080
Click to edit Master title style
Beamforming to reconstruct images
19/03/15 10
Click to edit Master title style
Shooting for a number of scanlines
19/03/15 Page 11
Click to edit Master title style
Dynamic Receive beamforming
19/03/15 Page 12 19/03/15 Page 12
Scanline Dynamic focus point Multiple transducer elements
Click to edit Master title style
- Traditional beamforming requires a high data bandwidth.
- A typical system could have 128 channels and use a 12-
bit 40 MHz sampling system.
- This generates 128 × 40 × 106 Hz × 2B = 9.54 GB/s
Beamforming
19/03/15 Page 13
Click to edit Master title style
- Simple first stage
– Single focal point for both transmit and receive
- Advanced second stage
– combining information from multiple first stage focused scan lines
- Reduction in data-transfer requirement
– Reduced by a factor of receive elements (192)
SASB – dual beamforming
19/03/15 Page 14
- M. C. Hemmsen, J. M. Hansen, and J. A. Jensen, “Synthetic Aperture
Sequential Beamformation applied to medical imaging using a multi element convex array transducer,” in EUSAR , Apr. 2012, pp. 34–37.
Click to edit Master title style
Algorithmic engineering
19/03/15 15
Click to edit Master title style
- 1. stage: Fixed focus transmit and receive
19/03/15 Page 16
First stage line Fixed focus point Receiver r receives at time a+2*b +c a b c
Click to edit Master title style
- 2. stage: reconstruct focus
19/03/15 Page 17
- 1. Find index
scanline entries
- 2. Add contribution
Click to edit Master title style
The math behind it
19/03/15 Page 18
Click to edit Master title style
for all image samples p with polar coordinates (i,j) for all first stage scanlines k a = calculateWeight(i,k) d = calculateDelay(i,k) s = getScanline(d,k) l(i,j) += a*s
Pseudo code
19/03/15 Page 19
Click to edit Master title style
Three implementations
19/03/15 Page 20
AVX Multithreaded
Click to edit Master title style
Benchmark, simple implementation
19/03/15 Page 21
600,000 ¡ 2950 ¡ 699 ¡ 3.05 ¡ 0 ¡ 1 ¡ 10 ¡ 100 ¡ 1,000 ¡ 10,000 ¡ 100,000 ¡ 1,000,000 ¡ Matlab ¡ C ¡(1 ¡thread) ¡ C ¡(8 ¡threads) ¡ OpenCL ¡ ms ¡per ¡frame ¡
Simple ¡
Simple ¡
Intel Core i7 2600 Nvidia GTX 680 GPU
Click to edit Master title style
- Sampling the beamforming directly in the scan line sample
locations
Algorithmic optimization
19/03/15 Page 22
Click to edit Master title style
Weights and delays precalculated
19/03/15 Page 23
r k Apodization Delays r k
Click to edit Master title style
l = 0 for all image samples p with polar coordinates (i,j) for all first stage scanlines k - up to N(ri) a = getWeight(i,k) if a=0 then break d = getDelay(i,k) s = getScanline(d,j+k) l(i,j) += a*s if (k>0) then s = getScanline(d,j-k) l(i,j) += a*s
Pseudo code
19/03/15 Page 24
Click to edit Master title style
Benchmark, Optimization
19/03/15 Page 25
600,000 ¡ 2950 ¡ 699 ¡ 3.05 ¡ 20.9 ¡ 5.4 ¡ 0.49 ¡ 0 ¡ 1 ¡ 10 ¡ 100 ¡ 1,000 ¡ 10,000 ¡ 100,000 ¡ 1,000,000 ¡ Matlab ¡ C ¡(1 ¡thread) ¡ C ¡(8 ¡threads) ¡ OpenCL ¡ ms ¡per ¡frame ¡ Simple ¡ OpAmizaAon ¡
Intel Core i7 2600 Nvidia GTX 680 GPU
Click to edit Master title style
Resulting image quality
19/03/15 Page 26
Matlab SIMD/Multicore OpenGL OpenCL RMSE 0.0044 0.0042 0.0040 PSNR 47.23dB 47.79dB 48.01dB
Click to edit Master title style
Going mobile (OpenGL ES 3.0)
19/03/15 Page 27
Click to edit Master title style
Mobile hardware
19/03/15 Page 28
LG G2 Samsung Galaxy Tab Samsung Nexus 10 Nvidia Jetson TK1 HTC Nexus 9 SoC Snadragon 800 Exynos 5 Exynos 5220 Tegra K1 Tegra K1 GPU Adreno 300 Mali T628 Mali T604 Kepler Kepler Screen 1920x1080 2560x1600 2560x1600 1920x1080 2048x1536 OS Android Android Android Linux4Tegra Android
Click to edit Master title style
- Need 25.3 MB/s à IEEE 802.11ac
Mobile WIFI capabilities
19/03/15 Page 29
28.8 ¡ 18.5 ¡ 11.2 ¡ 43.4 ¡ 35 ¡ 0 ¡ 5 ¡ 10 ¡ 15 ¡ 20 ¡ 25 ¡ 30 ¡ 35 ¡ 40 ¡ 45 ¡ 50 ¡ LG ¡G2 ¡ Galaxy ¡Tab ¡Pro ¡ Nexus ¡10 ¡ ¡ Jetson ¡TK1 ¡+ ¡Intel ¡ 7260HMW ¡ Nexus ¡9 ¡ MB/s ¡
WIFI ¡throughput ¡
Click to edit Master title style
Mobile performance
19/03/15 Page 30
0 ¡ 10 ¡ 20 ¡ 30 ¡ 40 ¡ 50 ¡ 60 ¡ 70 ¡ LG ¡G2 ¡(Adreno ¡330) ¡ Galaxy ¡Tab ¡Pro ¡(Mali ¡ T628) ¡ Nexus ¡10 ¡(Mali ¡T604) ¡ Jetson ¡TK1 ¡(Tegra ¡K1) ¡ Nexus ¡9 ¡(Tegra ¡K1) ¡ ms ¡
Timings ¡
Scanconversion ¡ BeamformaAon ¡ IQ ¡demodulaAon ¡ Datatransfer ¡ Total ¡Aming ¡
Click to edit Master title style
Going mobile, Nexus 9
19/03/15 Page 31
Click to edit Master title style
Digital or wireless?
19/03/15 32