Evolution of Remote Sensing and Graphical Information System Using CPU-GPU Platform

The Earth's land use, land cover, land forms, spatial and geographical characteristics are crucial variables in global change. The impact of human activities on the earth has resulted greatly to climate change calls for a comparative study and mapping of the land in order to assess the condition of the land in the past comparing with the current state of the land in order to regulate the anthropogenic factors for sustainable development.


INTRODUCTION
Employing geographic information systems (GIS) and remote sensing (RS) techniques are becoming an important issue these days as they aid planners and decision makers to make effective and correct decisions and designs for specific application. They allow the engineer to continuously monitor any change any intended plans to secure their success or rectification to meet the requirements. The amount of data acquired by imaging satellites has been growing steadily in recent years. There is a rapidly increasing number of applications that benefit from the decline in prices and the easier access to such data. With this proliferation of data, relying on humans to do most of the interpretation tasks of higher value is no longer possible. Some (but not all) advanced tasks need to be processed automatically. However, these tasks are more complex, thus raising the computational power required. Leading GIS system developer, analyst, Manifold.net, is under constant pressure to deliver a product that is capable of crunching through the most demanding datasets, efficiently and with absolute accuracy.

II.
WHY NEED GPU? As highlighted in an insightful report from Berkeley [1], the increase in computational power for the coming years goes through a parallel approach. The idea is to bring the processing power as close as possible to the final user to enable better humanalgorithm interaction. High performance computing (HPC) is a natural solution to provide the International Journal of Trend in Scientific Research and Development (IJTSRD) ISSN: 2456-6470 @ IJTSRD | Available Online @ www.ijtsrd.com | Volume -2 | Issue -6 | Sep-Oct 2018 Page: 1561 computational power required. There are several approaches to HPC: clusters, grids or clouds are some examples. However, we chose here to focus on desktop HPC with the use of graphics processing units (GPU). NVIDIA brought about a revolution in the field of processors with their GPU (Graphics Processing Unit), intended solely for computer graphics and gaming applications [4]. However, it was later realized that the processing and computational power of the GPUs' could be harnessed for other tasks as well.
GPUs are capable of taking large amount of data and performing the same operation over and over very quickly, unlike CPU, which tend to skip operations all over the place.
In today's PC, GPU are used in many multimedia tasks, such as accelerating Adobe Flash video, translating video between different formats, national security, emergency services, image recognition, virus pattern matching and other sector like medicine, natural resources, financial modelling, cutting-edge scientific research and oil and gas exploration, automobiles and data mining in data centres [6]. NVIDIA then came up with their series of GPGPUs' (General Purpose Graphics Processing Unit) supporting a large number of computations for various applications. These GPGPUs' have shown tremendous potential in fields such as Medicine, Mechanical modelling, Computational finance, Databases, Bioinformatics, AI deep learning and they are still entering in others [5]. Its strong floating point calculating capability, high intensive computation, small volume, and excellent performance-cost ratio provide an effective solution to the problems faced in remote sensing image processing [7].

III.
PROBLEM STATEMENT As we know, RS and GIS are very effective tools for monitoring the environmental degradation. They acquired considerable importance in recent days due to their rapid and accurate results in detecting the escalating increase in the environmental deterioration resulting from various human activities [2]. The role of the RS is in assigning different colours to different covers of land to distinguish their existence and change with time and to allow all kinds of analysis. It supplies the needed geo database to build informative and rich GIS. The role of GIS is in storing, managing a great deal of data about the images and all the related attributes to allow their manipulation, analysis and finally presentation according to requirement [13]. Remote sensing image processing is characterized with features of massive data processing, intensive computation, and complex processing algorithms. These characteristics make the rapid processing of remote sensing images and GIS processing very difficult and inefficient. The rapid development of general-purpose graphic process unit (GPGPU) computing technology has resulted in continuous improvement in GPU computing performance. GPGPU stands for General Purpose GPU. It means using a GPU not just as a graphics processor but as a general-purpose processor, taking advantage of the hundreds or even thousands of processing cores available on modern GPUs to accomplish computations with massive parallelism and speed. As fast as Parallel CPU operation can be, when developer goes beyond that to dispatch massively parallel tasks to GPGPU, it can absolutely crush anything that is limited to just the CPU. In our approach we have implemented parallel processing model for Remote Sensing and Geographical information system with access to the parallel processing power of GPUs and interaction with the data at PCI Express bandwidth speeds.

IV. ROLE OF GPU IN REMOTE SENSING
According to the Department of Natural Resource of Canada Centre for Remote Sensing, "Remote sensing is the science (and to some extent, art) of acquiring information about the earth's surface without actually being in contact with it [15]. This is done by sensing reflected or emitted energy and processing, analysing and applying that information". We can also define this in simple words as it is the process of collecting data about objects or landscape features without coming into direct physical contact with them [12]. Most remote sensing is performed from orbital or sub orbital platforms using instruments that measure electromagnetic radiation reflected or emitted from the terrain. This can be used in a wide variety of disciplines, but it is not a discipline or subject itself. The primary goal of Remote Sensing is not only the pursuit of knowledge, but also the application of any knowledge gained [13]. It is basically a multi-disciplinary science which includes a combination of various disciplines such as optics, spectroscopy, photography, computer, electronics and telecommunication, satellite launching etc. All these technologies are integrated to act as one complete system in itself, known as Remote Sensing System. There are a number of stages in a Remote International Journal of Trend in Scientific Research and Development (IJTSRD) ISSN: 2456-6470 Page: 1562 Sensing process, and each of them is important for successful operation. Stages in Remote Sensing: ➢ Emission of electromagnetic radiation, or EMR (sun/self-emission) ➢ Transmission of energy from the source to the surface of the earth, as well as absorption and scattering ➢ Interaction of EMR with the earth's surface: reflection and emission ➢ Transmission of energy from the surface to the remote sensor ➢ Sensor data output ➢ Data transmission, processing and analysis Figure 1 Remote Sensing Digital image processing helps further this goal by allowing a scientist to manipulate and analyse the image data produced by remote sensors in such a way as to reveal information that may not be immediately recognizable in the original form.

Process of Remote sensing:
Page: 1563

Remote Sensing and Digital Image Processing
To understand the relationship of digital image processing to remotely sensed data, one should have a clear concept of the steps involved in the remote sensing process [16]. These steps are illustrated in figure 2. In order to take advantage of and make good use of remote sensing data, we must be able to extract meaningful information from the imagery. Remote sensing images can also be represented in a computer as arrays of pixels, with each pixel corresponding to a digital number, representing the brightness level of that pixel in the image. In this case, the data are in a digital format.
When remote sensing data are available in digital format, digital processing and analysis may be performed using a computer. Digital processing may be used to enhance data as a prelude to visual interpretation.

SIMD (Single Instruction, Multiple Data streams)
where the same set of instruction is applied on several data streams is particularly suited to digital image processing. CPU will process each pixel sequentially but very fast while the GPU will process them slower but a whole lot of them at a time. With the parallel computation at the pixels to be displayed can be computed independently. Image Processing in remote sensing benefiting from the GPU computing power required the developer to map the problem in terms of graphic primitives (using texture operations).
CUDA [4] is the language introduced by Nvidia on its G80 GPU series which use the concept of kernel which is a series of operations that will typically be applied to one pixel. Each kernel will be handled by one of the numerous GPU processors. The flow of pixels forms a stream that will be processed by the kernel. This abstraction relieves the developer from the management tasks. In most cases, each thread of the GPU will process one pixel. Due to the hardware architecture, threads need to be gathered into thread blocks, forming, for example, a group of 16x16 threads. This is fine if the image size is a multiple of 16. However, when processing regular images, this is unlikely, and this problem needs to be accounted for which can be handled with the GPU with branching [8].

Comparison of GPU/CPU
Here is the computation time of image of different size with CPU and GPU in the given diagram and we can conclude that GPU provide better performance in simulation for the spectral angle computation. Here, the parallel implementations are much more efficient than the single threaded one, of the GPU implementation to provide a speedup with respect to the CPU. Figure 3 Computation time for the spectral angle for image size in pixels from 1000×1000 to 6000×6000

Noise removal in Digital Image Processing
Digital image noise is an image defect presented as random deviation of brightness or color from its original values and caused by photo sensors and device circuits [9]. Image noise can be a serious problem for future image analysis and that should be removed.
In the noise removal process, calculations of new pixels are independent of each other, which allows performing these calculations simultaneously.
Creation of parallel CPU threads on the GPU requires some preparation. Since GPUs do not have direct access to the computer's memory, one should first select the area of a sufficient size in the video memory, then copy the data from the random-access memory (RAM). The basic working of GPU follows this activity. Upon completion of the calculations, it is necessary to move the data back to the RAM and clean the previously selected area of the video memory, Figure 4  All calculations are to be done for every pixel. The obvious and the simplest solution is to perform the calculation of each pixel in a separate thread. It is worth noting that it is possible to implement a greater degree of parallelism available in a separate flow calculation of weighting coefficients. However, it would require thread synchronization, which makes the program code more complicated. Using the GPU computing requires pre-evaluation of the calculations. Owing to relatively simple calculations applicable to the large volume of data, it is possible that the performance of calculations on multiple cores CPU is faster than copying this volume of data to the area of video memory and back [10]. According to Table 1, we get the best time in the calculation only on the GPU for Gaussian Noise removal algorithm. It should be noted that the image processing in the 2 threads on the CPU is longer than in 1 thread. This is due to the fact that creation of new threads takes time. We can also see that the productivity increases with increasing the data for GPU computing. This is due to the fact that GPU is capable of executing a lot of threads simultaneously. So, the most active threads give the most efficient performance. These case studies demonstrate optimization of the noise removal algorithm using parallel computing on GPU reduces our computation time as compared to CPU only system in various image processing techniques drawn with the sensors used in remote sensing [9].  (ESRI 1990) "Geographic information system (GIS) is an organized collection of computer hardware, software, geographic data and personnel designed to efficiently capture, store, update, manipulate, analyse, and display all forms of geographically referenced information". GIS is built for a study area and different Landsat satellite images for different dates are processed and analysed using RS techniques through their normalized vegetation index (NDVI). The results showed an increased distraction and desertification of an important part from the cultivated and grazing lands [13].

Comparison of CPU/GPU for Noise Removal Algorithm
The Earth's land use and land cover characteristics are crucial variables in global change. The impact of human activities on the earth which has resulted greatly to climate change calls for a comparative study and mapping of the land in order to assess the condition of the land in the past comparing with the current state of the land in order to regulate the anthropogenic factors for sustainable development.
In the last three decades, the technologies and methods of remote sensing have progressed significantly. Now a day's remote sensing data, along with increased resolution from satellite platforms, makes these technologies appear poised to make better impact on land resource management initiatives involved in monitoring LULC mapping and change detection at varying spatial ranges (Singh et al., 2010) [17,18].
Remote sensing technology offers collection and analysis of data from ground-based, space and Earthorbiting platforms, with linkages to Global Positioning System (GPS) and geographic information system (GIS) data with promising modelling capabilities (Franklin, 2001) collectively known as Geoinformatics [14]. Currently users can leverage the full power of NVIDIA data centre GPU to deliver a superior virtual graphics experience to any device [3].

Reasons why GIS Applications need GPUs:
➢ GIS Data is best analysed visually ➢ 3D rendering engines use DirectX or OpenGL for performance ➢ Rapid expansion in the use of 3D data; becoming another data type ➢ The cost of acquiring 3D data continues to decrease ➢ More data rendered = more hardware resources consumed ➢ They are gradually finding their way into GIS animations requiring accelerated graphics ➢ ArcGIS Pro application profiled for performance with NVIDIA driver ➢ Spatial analyst, advanced GIS analyst, 2D & 3D analyst can use GPU for various application for virtual workstation and app remoting Modern graphics APIs use the concept of a 'pipeline'. At each step of the pipeline, a single vertex is operated upon, in sequence, by unique processors for: ➢ Vertex coordinate transformations ➢ The creation of additional geometry ➢ Clipping and primitive generation ➢ Fragment (essentially pixel) colour assignment ➢ Each vertex is processed independently The GPU is massively parallel (possibly thousands of cores) and its own memory store and data bus provide programmable pipeline to increase the performance of the GIS. If our system has applications that combine graphics and analysis and we want animation speed rendering GPU is the solution. "It is not an exaggeration to say that NVIDIA CUDA technology could be the most revolutionary development in computing since the invention of the microprocessor," comments Dimitri Rotow, product manager, Manifold.net. "It's fast, inexpensive and loaded with potential. NVIDIA CUDA is so important that all Manifold users should insist that the computer hardware they procure is CUDA-enabled." With its new CUDA acceleration, Manifold is helping tap previously inaccessible fuel reserves, track the progress of pollutants in our air, and give more precise information to emergency police and fire responses.

VI. CONCLUSION
In our paper, in this demonstration we see how manifold system utilize NVIDIA CUDA technology to accelerate the speed of GIS task from taking one minute without CUDA to only 2 seconds with CUDA. With CUDA configuration, calculations that previously took 20 minutes to compute are now done in 30 seconds. Moreover, calculations that previously took 30 to 40 seconds are now real time. The CUDA is the most revolutionary development in computing since the invention of the Microprocessor. Latest technology like ArcGIS Pro running at VM with vGPU and NVIDIA also lists several GIS prototype apps for the future approaches to be improved. We have done surface transformation of an area with and without CUDA. This interface allows program to upload general purpose GIS function with NVIDIA GPU for the execution has the super computer speed using the massively parallel architecture of CUDA. GPU-based remote sensing image parallel processing model provide to establish a set of parallel programming templates, which provides programmers with a more simple and effective way for programming parallel remote sensing image processing. Actually, the fact we come to know is to do computation like this is amazing on a desktop machine used to take a true supercomputing substituent. It's fast, inexpensive and loaded with potential.