Limits...
A Weighted Spatial-Spectral Kernel RX Algorithm and Efficient Implementation on GPUs

View Article: PubMed Central - PubMed

ABSTRACT

The kernel RX (KRX) detector proposed by Kwon and Nasrabadi exploits a kernel function to obtain a better detection performance. However, it still has two limits that can be improved. On the one hand, reasonable integration of spatial-spectral information can be used to further improve its detection accuracy. On the other hand, parallel computing can be used to reduce the processing time in available KRX detectors. Accordingly, this paper presents a novel weighted spatial-spectral kernel RX (WSSKRX) detector and its parallel implementation on graphics processing units (GPUs). The WSSKRX utilizes the spatial neighborhood resources to reconstruct the testing pixels by introducing a spectral factor and a spatial window, thereby effectively reducing the interference of background noise. Then, the kernel function is redesigned as a mapping trick in a KRX detector to implement the anomaly detection. In addition, a powerful architecture based on the GPU technique is designed to accelerate WSSKRX. To substantiate the performance of the proposed algorithm, both synthetic and real data are conducted for experiments.

No MeSH data available.


Reduction process in CUDA.
© Copyright Policy - open-access
Related In: Results  -  Collection

License
getmorefigures.php?uid=PMC5375727&req=5

sensors-17-00441-f007: Reduction process in CUDA.

Mentions: And the last CUDA kernel (step 12) computes the results and completes target detection. To minimize the number of the global memory accesses and reduce access time, the result vector of and matrix are partitioned into sub-blocks and transferred to the shared memory. Each block uses a total of 48 KB of shared memory. Figure 6 illustrates this procedure, where each thread is responsible for computing each element of . For every matrix multiplication, each thread in one warp is responsible for one calculation, in which a row of the matrix is multiplied by a column. For two vector multiplication, every corresponding element of them are multiplied and added in turn. It takes plenty of time and threads. One common approach to solve this problem is parallel reduction. It works by using half number of threads of the elements in the dataset. Every thread calculates the sum of products. The resultant element is forwarded to the next round. In addition, the number of threads is then reduced by half and the process repeats until there is just a single element remaining (in Figure 7). A better approach is to drop whole warps by selecting the element from the other half of the dataset.


A Weighted Spatial-Spectral Kernel RX Algorithm and Efficient Implementation on GPUs
Reduction process in CUDA.
© Copyright Policy - open-access
Related In: Results  -  Collection

License
Show All Figures
getmorefigures.php?uid=PMC5375727&req=5

sensors-17-00441-f007: Reduction process in CUDA.
Mentions: And the last CUDA kernel (step 12) computes the results and completes target detection. To minimize the number of the global memory accesses and reduce access time, the result vector of and matrix are partitioned into sub-blocks and transferred to the shared memory. Each block uses a total of 48 KB of shared memory. Figure 6 illustrates this procedure, where each thread is responsible for computing each element of . For every matrix multiplication, each thread in one warp is responsible for one calculation, in which a row of the matrix is multiplied by a column. For two vector multiplication, every corresponding element of them are multiplied and added in turn. It takes plenty of time and threads. One common approach to solve this problem is parallel reduction. It works by using half number of threads of the elements in the dataset. Every thread calculates the sum of products. The resultant element is forwarded to the next round. In addition, the number of threads is then reduced by half and the process repeats until there is just a single element remaining (in Figure 7). A better approach is to drop whole warps by selecting the element from the other half of the dataset.

View Article: PubMed Central - PubMed

ABSTRACT

The kernel RX (KRX) detector proposed by Kwon and Nasrabadi exploits a kernel function to obtain a better detection performance. However, it still has two limits that can be improved. On the one hand, reasonable integration of spatial-spectral information can be used to further improve its detection accuracy. On the other hand, parallel computing can be used to reduce the processing time in available KRX detectors. Accordingly, this paper presents a novel weighted spatial-spectral kernel RX (WSSKRX) detector and its parallel implementation on graphics processing units (GPUs). The WSSKRX utilizes the spatial neighborhood resources to reconstruct the testing pixels by introducing a spectral factor and a spatial window, thereby effectively reducing the interference of background noise. Then, the kernel function is redesigned as a mapping trick in a KRX detector to implement the anomaly detection. In addition, a powerful architecture based on the GPU technique is designed to accelerate WSSKRX. To substantiate the performance of the proposed algorithm, both synthetic and real data are conducted for experiments.

No MeSH data available.