| Literature DB >> 30708972 |
Jianwei Gao1, Yi Sun2, Bing Zhang3,4, Zhengchao Chen5, Lianru Gao6,7, Wenjuan Zhang8.
Abstract
Spectral unmixing is a vital procedure in hyperspectral remote sensing image exploitation. The linear mixture model has been widely utilized to unmix hyperspectral images by extracting a set of pure spectral signatures, called endmembers in hyperspectral jargon, and estimating their respective fractional abundances in each pixel of the scene. Many algorithms have been proposed to extract endmembers automatically, which is a critical step in the spectral unmixing chain. In recent years, the ant colony optimization (ACO) algorithm has been developed for endmember extraction from hyperspectral data, which was regarded as a combinatorial optimization problem. Although the ACO for endmember extraction (ACOEE) can acquire accurate endmember results, its high computational complexity has limited its application in the hyperspectral data analysis. The GPUs parallel computing technique can be utilized to improve the computational performance of ACOEE, but the architecture of GPUs determines that the ACOEE should be redesigned to take full advantage of computing resources on GPUs. In this paper, a multiple sub-ant-colony-based parallel design of ACOEE was proposed, in which an innovative mechanism of local pheromone for sub-ant-colonies is utilized to enable ACOEE to be preferably executed on the multi-GPU system. The proposed method can avoid much synchronization among different GPUs to affect the computational performance improvement. The experiments on two real hyperspectral datasets demonstrated that the computational performance of ACOEE significantly benefited from the proposed methods.Entities:
Keywords: ant colony optimization (ACO); endmember extraction; hyperspectral images; multi-GPU; parallel computing
Mesh:
Substances:
Year: 2019 PMID: 30708972 PMCID: PMC6387146 DOI: 10.3390/s19030598
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Illustration of a grid of blocks of threads.
Figure 2Schematic overview of the parallel design based on multiple sub-ant-colonies.
Figure 3Schematic overview of the implementation of multi-GPU ACO for endmember extraction (MG-ACOEE).
Main GPU features.
| NVIDIA TITAN Xp | |
|---|---|
| CUDA core | 3840 |
| Boost Clock (MHz) | 1582 |
| Memory Amount (GB) | 12 |
| Memory Speed (Gbps) | 11.4 |
| Memory Interface width (bit) | 384 |
| Memory Bandwidth (GB/S) | 547.7 |
Figure 4(a) False color composition of the Cuprite dataset. (b) True color composition of the Urban dataset.
Comparison of original (O)-ACOEE, G-ACOEE, and MG-ACOEE (abundance sum-to-one constraint (ASC)) on endmember extraction accuracy for Cuprite data.
| Algorithms | Spectral Angle Distance (×10−2) | RMSE | ||||
|---|---|---|---|---|---|---|
| Alunite | Calcite | Kaolinite | Muscovite | Mean | ||
| O-ACOEE | 9.20 ± 1.95 | 10.03 ± 0.34 | 9.40 ± 0.77 | 9.82 ± 1.15 | 9.61 ± 1.05 | 3.030 ± 0.016 |
| G-ACOEE | 7.97 ± 1.74 | 10.13 ± 0.26 | 9.05 ± 0.95 | 9.56 ± 0.69 | 9.18 ± 0.91 | 3.024 ± 0.012 |
| MG-ACOEE | 7.19 ± 0 | 9.89 ± 0.31 | 9.79 ± 0.11 | 9.56 ± 0.69 | 9.11 ± 0.28 | 3.018 ± 0.007 |
Comparison of O-ACOEE, G-ACOEE, and MG-ACOEE (full constraint) on endmember extraction accuracy for Cuprite data.
| Algorithms | Spectral Angle Distance (×10−2) | RMSE | ||||
|---|---|---|---|---|---|---|
| Alunite | Calcite | Kaolinite | Muscovite | Mean | ||
| O-ACOEE | 7.27 ± 0.18 | 10.12 ± 0.25 | 9.92 ± 0.13 | 10.13 ± 0.60 | 9.36 ± 0.29 | 3.300 ± 0.020 |
| G-ACOEE | 7.42 ± 0.41 | 10.35 ± 0.25 | 9.53 ± 0.52 | 10.45 ± 0.12 | 9.43 ± 0.33 | 3.295 ± 0.020 |
| MG-ACOEE | 7.19 ± 0 | 10.36 ± 0.30 | 9.71 ± 0.48 | 10.46 ± 0.13 | 9.43 ± 0.23 | 3.295 ± 0.021 |
Comparison of O-ACOEE, G-ACOEE, and MG-ACOEE (ASC) on endmember extraction accuracy for Urban data.
| Algorithms | Spectral Angle Distance (×10−2) | RMSE | ||||
|---|---|---|---|---|---|---|
| Asphalt | Grass | Tree | Roof | Mean | ||
| O-ACOEE | 19.10 ± 0 | 8.70 ± 0 | 6.92 ± 1.73 | 5.61 ± 0 | 10.08 ± 0.43 | 8.155 ± 0.018 |
| G-ACOEE | 19.10 ± 0 | 8.70 ± 0 | 7.54 ± 2.79 | 5.61 ± 0 | 10.20 ± 0.70 | 8.156 ± 0.018 |
| MG-ACOEE | 19.10 ± 0 | 8.70 ± 0 | 8.19 ± 1.41 | 5.61 ± 0 | 10.40 ± 0.35 | 8.142 ± 0.014 |
Comparison of O-ACOEE, G-ACOEE, and MG-ACOEE (full constraint) on endmember extraction accuracy for Urban data.
| Algorithms | Spectral Angle Distance (×10−2) | RMSE | ||||
|---|---|---|---|---|---|---|
| Asphalt | Grass | Tree | Roof | Mean | ||
| O-ACOEE | 18.83 ± 0 | 8.70 ± 0 | 5.66 ± 0 | 23.70 ± 0 | 14.22 ± 0 | 10.173 ± 0.652 |
| G-ACOEE | 18.83 ± 0 | 8.70 ± 0 | 5.66 ± 0 | 23.70 ± 0 | 14.22 ± 0 | 10.168 ± 0.007 |
| MG-ACOEE | 18.83 ± 0 | 8.70 ± 0 | 5.66 ± 0 | 23.70 ± 0 | 14.22 ± 0 | 10.165 ± 0.007 |
Comparison of O-ACOEE, G-ACOEE, and MG-ACOEE (ASC) on computing performance for Cuprite data.
| Algorithms | Iteration Numbers | Total Time | TPI (Time per Iteration) |
|---|---|---|---|
| O-ACOEE | 284.0 ± 35.49 | 9259.83 ± 1468.86 | 32.605 ± 1.140 |
| G-ACOEE | 324.6 ± 50.07 | 154.64 ± 24.12 | 0.476 ± 0.011 |
| MG-ACOEE | 424.8 ± 25.35 | 29.87 ± 1.68 | 0.070 ± 0.001 |
Comparison of O-ACOEE, G-ACOEE, and MG-ACOEE (full constraint) on computing performance for Cuprite data.
| Algorithms | Iteration Numbers | Total Time | TPI (Time per Iteration) |
|---|---|---|---|
| O-ACOEE | 299.0 ± 28.45 | 67,868.65 ± 9388.48 | 226.500 ± 14.280 |
| G-ACOEE | 370.0 ± 53.58 | 1991.81 ± 304.16 | 5.379 ± 0.059 |
| MG-ACOEE | 444.8 ± 49.10 | 323.73 ± 40.58 | 0.727 ± 0.012 |
Comparison of O-ACOEE, G-ACOEE, and MG-ACOEE (ASC) on computing performance for Urban data.
| Algorithms | Iteration Numbers | Total Time | TPI (Time per Iteration) |
|---|---|---|---|
| O-ACOEE | 264.6 ± 49.35 | 18,155.67 ± 3244.98 | 68.616 ± 0.898 |
| G-ACOEE | 271.0 ± 35.43 | 226.07 ± 27.56 | 0.834 ± 0.008 |
| MG-ACOEE | 368.0 ± 22.05 | 41.58 ± 2.41 | 0.113 ± 0.001 |
Comparison of O-ACOEE, G-ACOEE, and MG-ACOEE (full constraint) on computing performance for Urban data.
| Algorithms | Iteration Numbers | Total Time | TPI (Time per Iteration) |
|---|---|---|---|
| O-ACOEE | 219.0 ± 17.26 | 44,685.95 ± 4504.05 | 204.142 ± 13.994 |
| G-ACOEE | 226.4 ± 20.40 | 1221.10 ± 115.46 | 5.392 ± 0.034 |
| MG-ACOEE | 285.6 ± 30.93 | 225.89 ± 54.34 | 0.785 ± 0.127 |
Comparison of different GPUsNum in MG-ACOEE on the parallel performance for Cuprite data. IN, iteration number; IT, total time.
| GPUsNum | 1 | 2 | 4 | 8 |
|---|---|---|---|---|
|
| 3.024 ± 0.012 | 3.026 ± 0.009 | 3.022 ± 0.009 | 3.018 ± 0.007 |
|
| 324.6 ± 50.07 | 316.8 ± 30.51 | 368.8 ± 48.69 | 424.8 ± 25.35 |
|
| 154.64 ± 24.13 | 82.02 ± 7.37 | 49.10 ± 5.59 | 29.87 ± 1.68 |
|
| 0.476 ± 0.011 | 0.259 ± 0.011 | 0.133 ± 0.004 | 0.070 ± 0.001 |
Comparison of different GPUsNum in MG-ACOEE on the parallel performance for Urban data.
| GPUsNum | 1 | 2 | 4 | 8 |
|---|---|---|---|---|
|
| 8.170 ± 0.021 | 8.149 ± 0.018 | 8.149 ± 0.017 | 8.142 ± 0.014 |
|
| 271.0 ± 35.43 | 284.8 ± 11.43 | 312.8 ± 20.61 | 368.0 ± 22.05 |
|
| 226.07 ± 27.56 | 119.85 ± 5.43 | 66.92 ± 4.29 | 41.58 ± 2.41 |
|
| 0.834 ± 0.008 | 0.421 ± 0.003 | 0.214 ± 0.001 | 0.113 ± 0.001 |
Figure 5Speedup ratios of MG-ACOEE with different GPUsNum and G-ACOEE.
Comparison of different AntsNum in MG-ACOEE on the parallel performance for Cuprite data.
| AntsNum | 4 | 12 | 20 | 28 | 32 |
|---|---|---|---|---|---|
|
| 3.052 ± 0.016 | 3.035 ± 0.025 | 3.025 ± 0.008 | 3.021 ± 0.007 | 3.018 ± 0.007 |
|
| 594.4 ± 57.28 | 477.6 ± 75.92 | 411.2 ± 52.24 | 414.4 ± 61.43 | 424.8 ± 25.35 |
|
| 8.62 ± 0.48 | 15.29 ± 2.28 | 25.33 ± 3.49 | 27.13 ± 4.33 | 29.87 ± 1.68 |
|
| 0.014 ± 0.001 | 0.032 ± 0.002 | 0.056 ± 0.003 | 0.065 ± 0.002 | 0.070 ± 0.001 |
Comparison of different AntsNum in MG-ACOEE on the parallel performance for Urban data.
| AntsNum | 4 | 12 | 20 | 28 | 32 |
|---|---|---|---|---|---|
|
| 8.255 ± 0.117 | 8.163 ± 0.014 | 8.156 ± 0.017 | 8.149 ± 0.018 | 8.142 ± 0.014 |
|
| 665.6 ± 51.64 | 524.0 ± 57.24 | 452.0 ± 11.03 | 390.4 ± 37.57 | 368.0 ± 22.05 |
|
| 11.86 ± 0.96 | 23.85 ± 2.30 | 32.88 ± 0.74 | 39.14 ± 3.60 | 41.58 ± 2.41 |
|
| 0.018 ± 0 | 0.046 ± 0.001 | 0.073 ± 0 | 0.100 ± 0.001 | 0.113 ± 0.001 |
Figure 6Time ratios of MG-ACOEE with different AntsNum and G-ACOEE.
Comparison of different SyncNum in MG-ACOEE on the parallel performance for Cuprite data.
| SyncNum | 4 | 8 | 16 | 32 | 64 | 96 |
|---|---|---|---|---|---|---|
|
| 3.018 ± 0.007 | 3.020 ± 0.009 | 3.015 ± 0.008 | 3.012 ± 0.004 | 3.012 ± 0.002 | 3.012 ± 0.004 |
|
| 424.8 ± 25.35 | 420.8 ± 53.69 | 454.4 ± 21.70 | 588.8 ± 15.68 | 652.8 ± 74.64 | 806.4 ± 97.9 |
|
| 29.87 ± 1.68 | 29.61 ± 3.48 | 31.77 ± 1.81 | 38.68 ± 1.02 | 43.69 ± 4.99 | 52.84 ± 6.21 |
|
| 0.070 ± 0.001 | 0.070 ± 0.001 | 0.070 ± 0.002 | 0.066 ± 0 | 0.067 ± 0.001 | 0.066 ± 0 |
Comparison of different SyncNum in MG-ACOEE on the parallel performance for Urban data.
| SyncNum | 4 | 8 | 16 | 32 | 64 | 96 |
|---|---|---|---|---|---|---|
|
| 8.142 ± 0.014 | 8.142 ± 0.014 | 8.142 ± 0.014 | 8.141 ± 0.013 | 8.135 ± 0 | 8.135 ± 0 |
|
| 368.0 ± 22.05 | 411.2 ± 33.79 | 432.0 ± 44.11 | 499.2 ± 47.89 | 576.0 ± 40.48 | 672.0 ± 60.72 |
|
| 41.58 ± 2.41 | 45.86 ± 3.45 | 47.39 ± 4.80 | 54.16 ± 4.84 | 62.01 ± 4.53 | 71.95 ± 6.27 |
|
| 0.113 ± 0.001 | 0.112 ± 0.001 | 0.110 ± 0.001 | 0.108 ± 0.001 | 0.108 ± 0.001 | 0.107 ± 0.001 |
Figure 7Time Ratios of MG-ACOEE with different SyncNum and G-ACOEE.