• 검색 결과가 없습니다.

Cloud-based Satellite Image Processing Service by Open Source Stack: A KARI Case

N/A
N/A
Protected

Academic year: 2021

Share "Cloud-based Satellite Image Processing Service by Open Source Stack: A KARI Case"

Copied!
12
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

1. Introduction

The cloud computing environment is perceived as a key computing paradigm in the ICT sector. Cloud computing refers to the technique capable of performing information processing on other computers that are connected to the Internet rather than on their own computers, which is a way to store and use programs and documents elsewhere and access them

via the Internet. A cloud service is a service that stores the users’ contents such as movies, photos, and music files on a server, such as a movie, and downloads them from any device, including smartphones, smart TVs, and smart TVs such as Naver cloud, SK cloud Z, KT ucloud, or Daum cloud, as well as Amazon web service (AWS), Google cloud platform and Microsoft Azure.

Companies or institutions have costed to deploy expensive hardware and applications to build and

Cloud-based Satellite Image Processing Service by Open Source Stack: A KARI Case

Kiwon Lee*

, Sanggoo Kang*, Kwangseob Kim* and Tae-Byeong Chae**

*Department of Electronics and Information Engineering, Hansung University

**Korea Aerospace Research Institute (KARI)

Abstract : In recent, cloud computing paradigm and open source as a huge trend in the Information Communication Technology (ICT) are widely applied, being closely interrelated to each other in the various applications. The integrated services by both technologies is generally regarded as one of a prospective web- based business models impacting the concerned industries. In spite of progressing those technologies, there are a few application cases in the geo-based application domains. The purpose of this study is to develop a cloud-based service system for satellite image processing based on the pure and full open source. On the OpenStack, cloud computing open source, virtual servers for system management by open source stack and image processing functionalities provided by OTB have been built or constructed. In this stage, practical image processing functions for KOMPSAT within this service system are thresholding segmentation, pan-sharpening with multi-resolution image sets, change detection with paired image sets. This is the first case in which a government-supporting space science institution provides cloud-based services for satellite image processing functionalities based on pure open source stack. It is expected that this implemented system can expand with further image processing algorithms using public and open data sets.

Key Words : Cloud computing, OpenStack, Satellite image processing, Orfeo ToolBox(OTB), Web service

Received July18, 2017; Revised August 3, 2017; Accepted August 7, 2017.

Corresponding Author: Kiwon Lee ([email protected])

This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons. org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

Article

(2)

operate an on-premise system, which means a system to operate and manage using the facilities they own, and they have spent more than a few months building and operating the that systems and applications. But cloud computing environment has helped to reduce these deployment and operational costs.

In general, cloud-based services are verbally characterized by on-demand self-service, virtualization, ubiquitous network access, location-independent resource pooling, rapid elasticity, and pay-per-use (Barnatt, 2010). In recent, cloud computing has been recognized as a new paradigm in the main stream in the ICT. Cloud computing refers to the practice of providing computing resources such as the network or the server in a dynamic manner through the web (Mell and Grance, 2011). Globally, the number of projects using open source cloud computing platforms gradually increases to fulfil various kinds of users’ requirements, taking advantages of cloud computing resources.

However, there are a few practical development cases in the geo-based application fields including remote sensing applications till now, compared to those of other application or business domains (Guo et al., 2010;

Huang et al., 2013; Kim and Tsou, 2013; Yang and Xu, 2013; Evangelidis et al., 2014; Patterson et al., 2016).

In order to implement a cloud computing service, one may subscribe the cloud service provided by Amazon, Microsoft, IBM, or Google. The most well- known open-source alternatives as of 2015 include the OpenStack, Open Nebular, Eucalyptus, and Cloud Stack. As for the cloud computing infrastructure, the OpenStack is the most popular cloud platform to implement specific application services, which is an open-source software cloud computing platform by a joint project of NASA in 2010 and is now managed and governed by a non-profit foundation (OpenStack, 2017).

The earlier study based on the OpenStack was established suggested the potential of applying the web service that processes the satellite information (Lee,

2012). A prototype of mobile app for satellite image processing running in the cloud environment (Lee and Kang, 2013), and comparative study with respect to cloud computing environment for geo-based image handling was performed (Kang et al., 2012; Kang and Lee, 2014). Image fusion service app was implemented in a mobile cloud platform (Kang and Lee, 2013; Lee and Kang, 2015). While, a system of Web Processing Service (WPS) based remote sensing image processing on the web framework and cloud environment was developed (Yoon and Lee, 2015).

It is thought that the engineering approach stemming from IT technology trends, rather than the scientific one, should be regarded as an important topic in the state of the art remote sensing field. The cloud technology, which consists in many different components and constituents, continues to grow, and application services using this maturing technology have been also expanded. Nevertheless, the exemplary schemes for system implementation have not been reported in the most application sectors including cloud-based application for remote sensing yet. More practical cases and experiments are needed to prepare a generalized implementation scheme.

The purpose of this work is to develop a cloud-based remote sensing image processing service system for satellite image processing algorithms with intuitive user interfaces by full open source stack, no purchase expenses. There are few cloud-based application services in the government-based institutions as far as we surveyed, but international companies such as Orbital Insight or SpaceKnow that get profits from satellite image analytics and value-added image processing business have launched the cloud-based applications.

This system by full open source stack and integration

supports cross-web browser functionalities and does

not need any installation by users. As for image

processing engine, Orfeo ToolBox (OTB) (OTB

Development Team, 2015) providing many practical

(3)

satellite image processing algorithms was used.

Although this system is not a sort of data-centric or data dependent cloud-based application systems, this system provides practical hands-on processing algorithms for public users of Korea Multi-Purpose Satellite (KOMPSAT) on the Web.

2. OpenStack overview

Cloud computing has basically come from the idea of renting a computer resource such as hardware and software, instead of purchasing it. Depending on what elements applied for the purpose of cloud service, the service model is classified as software services (SaaS:

Software-as-a Service), Platform Services (PaaS), which provides the foundation for running applications, and Infrastructure Services (IaaS) which provides such as memory, CPU, storage, and network. Meanwhile, cloud type is also divided to a closed cloud as a private cloud, public cloud, community or hybrid cloud (Fig. 1).

The OpenStack can be applied to implementing

developers’ or operators’ own cloud computing environment with the creation of instance servers what they want. On the OpenStack, lock-in risks with other proprietary platforms are reduced, and it is possible that target-based optimization and scalable service expansion. It also provides products for process controlling, and storage and networking of resources, through a dashboard or command-line types. Basically, the OpenStack is based on a modular architecture with the components of a controller, a scalable storage system, blocking storage, networks and Internet Protocol (IP) addresses, and database services, as well as the Application Programming Interface (API) compatible with Amazon elastic compute cloud (EC2) and Amazon Simple Storage Service (S3) in AWS. The OpenStack provides basic components for public, private, community or hybrid cloud services.

3. Components of cloud-based service system

Cloud-based application system proposed in this

Fig. 1. Service model, deployment model, and features of cloud computing scheme.

(4)

study covers from the user interface for public users to system manager or operator modules, including many satellite image processing instances. The system is composed of web interfacing system in client-side and instance servers generated from Geo-data and Project Management System (GPMS) and Geo-based Image Processing System (GIPS) in the OpenStack platform.

As well as GIPS and GPMS, Block Type Storage System(BTSS) consists in a part within the cloud-based service system in Fig. 2.

Web browsing functionalities provide web mapping and content visualization, and layer manipulating interface for list creation, parameter setting or controlling within the algorithms. Interface system in the client is to get user requests and then pass them to GIPS server, as well as necessary functions such as image indexing and visualization, or metadata searching. As well as Django and Apache web server, RabbitMQ is used for queue processing with GIPS server, providing the main modules for actual satellite image processing. GIPS uses OTB and Geospatial Data Abstraction Library (GDAL). OTB provides lots of practical image processing algorithms with source codes.

Fig. 3 shows operational scheme interlinking of BTSS, GPMS, and GIPS in the cloud-based service system. The system was implemented by a full open source from the operating system (OS) to application service level. The operating environment is divided into server and client. The server was implemented by the OpenStack platform on Ubuntu 12.04. Under the cloud-based environment, it uses an instance server.

Django was applied for a web framework of Python, to improve security and reliability of products.

PostgreSQL and PostGIS, as open source database management system, was used for metadata cataloging and geo-based image querying. For a user interface framework on the client-side, Bootstrap was adopted.

It takes advantageous optimization for multi-display panels and consistency of displaying content. While, JavaScript libraries of iCheck and selectric based on jQuery were used for other necessary components of user interfacing. While, OpenLayers was used for web mapping to on-line base mapping, data image indexing and the result image visualization.

The processing system and user interface system are basically operated on Apache web server and Django.

There are many cloud-based user requesting and

Fig. 2. Three implementation parts within a cloud-based service system.

(5)

responding modules. In an image set management module, a pre-processing for querying metadata and indexing images which were stored is performed prior to the main image processing module in OTB and GDAL. Among algorithms available from OTB, real- time image fusion algorithm and thresholding scheme are provided. The web client part also used many libraries. Web server instance receives requests from a user on the Apache web server, and then communicates with other server instances using scripting codes and RabbitMQ, a messaging broker server. Tiling server instances use GDAL for tiling processes and file format conversion among remote sensing images.

Table 1 and Table 2 are lists of applied open source for Interface System for cloud-based service and that of applied open sources for GIPS and GPMS, respectively. The web server utilized the Apache version 2.4. It can be operated using 80 or 81 ports and can be used to further utilize multiple modules. In implementing this system, the Mod_WSGI module was additionally utilized for linking the web server to Django, a web framework. Django is a framework to support Web-based application development based on Python programming languages. The interface module

in this service is written in Python and works with multiple packages or additional library installations in the framework. In the meantime, it was designed to connect with the message server in connection with the cloud computing environment. In a cloud computing environment, multiple instances can be created or deleted. The message server has the advantage of being able to request or receive information processing without modifying the source code, depending on the creation and deletion of the instance. Among the various message servers, the system applied Erlang OTB 18 and RabbitMQ servers. RabbitMQ server is an open source whose reliability and performance are recognized in the message server. Celery is an open source that can utilize these message servers to perform task processing between servers. Additionally, several JavaScript libraries were used on the web pages on client-side. The Bootstrap as the user interface framework was used in order to form a structured web page. OpenLayers was used to visualize satellite information, satellite information, which is a web mapping JavaScript library provides to serve various types of geo-spatial information on the web.

On the client-side, jQuery 2.1.4 was used to facilitate

Fig. 3. Operational scheme of the cloud-based service system: Interlinking of BTSS, GPMS, and GIPS.

(6)

the selection, discovery, and modification of the Document Object Model(DOM) elements and to easily handle complex function such as Cascading Style Sheet(CSS) manipulation, Asynchronous JavaScript and XML(AJAX) communications, and JavaScript Object Notation(JSON) parsing. It is also a highly extensible JavaScript library with various plug-in configurations available. C3.js(D3-based reusable chart library) is a JavaScript library for graph and chart generation based on D3.js(Data-Driven Documents).

This service system provides the capability to analyze geo-based images in cloud computing environments.

From building a cloud computing environment to image processing, lots of open sources were applied and linked in an integrated system. Deploying a cloud computing environment was built utilizing a total of three physical servers built on the OpenStack of open source cloud computing platforms. On this deployed cloud computing environment, multiple virtual servers were created to implement GIPS and GPMS.

Fig. 4 shows the workflow and architecture of the cloud-based service system composed of two main parts of GPMS and GIPS. To provide users with these two systems, the interface system on the Apache web Table 1. List of applied open source for Interface System for cloud-based service

System Sub-system or task Applied environment, Open source projects, executables and version

Interface System for cloud-based

service

Server operating system Windows Server / 2012

Web server Apache httpd / 2.4

Web server gate interface Mod_WSGI / 4.4.21 Programming language Python / 2.7.10

Web framework Django 1.8.7

Distributed task processing Celery / 3.1.17

Messaging broker RabbitMQ Server / 3.5.6, Erlang OTP 18 / 7.1 JavaScript library

Bootstrap / 3.3.5, OpenLayers / 3.10.1 jQuery / 2.1.4, noUiSlider / 7.0.10 iCheck / 1.0.2, selectric / 1.9.3 D3.js / 3.5.0, C3.js / 0.4.10

Table 2. List of applied open source for Geo-based Image Processing System (GIPS) and Geo-data and Project Management System (GPMS)

System Sub-system or

Implementation tasks Applied environment, Open source projects, executables and version

Geo-based Image Processing System

(GIPS)

Server operating system Ubuntu server 64bit / 12.04 LTS Database management system PostgreSQL / 9.4

Web framework Django 1.8.7

Distributed task processing Celery / 3.1.17

Image manipulation GDAL / 2.0.0, Libgeotiff / 1.4.1 Image processing OTB / 5.0.0, ITK / 4.7.1

Geo-data and Project Management System

(GPMS)

Server operating system Ubuntu server 64bit / 14.04 LTS Database management system PostgreSQL / 9.4, PostGIS / 2.1

Web framework Django 1.8.7

Distributed task processing Celery / 3.1.17 Image manipulation GDAL / 2.0.0

Projection PyProj/ 1.9.4

Image detail processing Python Imaging Library

Network file sharing Samba / 4.1.6

(7)

server mentioned early was developed on Windows Server. This interface system receives or processes a message from the cloud environment. The processing results are stored and managed in a cloud computing environment and accessed through the Samba to provide the user with the result of the processing of the user. The implemented services can perform image processing algorithms provided by the OTB remote sensing engine for public uses. Additional image processing algorithms targeted at future professionals may be extended. As well as OTB, multiple libraries such as GDAL or Proj were used to perform type conversion or file format transformation. In the meantime, the main module of the service was developed in a Django framework and was developed in Python.

The operating system for instance servers is Ubuntu Linux Server 12.04 64-bit. In GPMS, the database was used as a PostgreSQL, and Celery was designed to carry out the multiple task processing. For image processing, some libraries such as GDAL were used.

In GPMS, the Python Surprise Library (PSL) was used to obtain detailed information about the results of the processing. Samba was applied to share files between Windows server and the other network units.

4. Implementation results

It is easy to think that the cloud-based systems will have different approaches to operation, compared to that of conventional web-based systems. Thus, it is important to present the contents of the system from the operator’s perspective. Fig. 5 is the workflow of the cloud-based service system in the view of system operator. Although this service is a public one, the system does not provide free access to all the satellite image sets that users want to analyze or process. The operator provides the user with geo-referenced and registered geo-based images, and data allocation processes needed. In fact, this process is necessary for public services dealing with copyrighted data sets.

Fig. 6 represents geo-based image allocation process

in a dashboard for operators. Once registered, any

image sets provided by this service is available for users

to use. Fig. 7(a) represents a user interface for end-user

on cloud-based service. In this page, image processing

steps by web users are index image identification for

algorithm application, selection of the processing

algorithm and parameters choices, and the result

visualization. Fig. 7(b) represents the user interfaces

with respect to button control and tooltips or help

messages for some functionalities. Map view panal is

for the area of interest (AOI) as image processing

Fig. 4. Work flow and architecture of the cloud-based service system composed of two main parts: GPMS and GIPS.

(8)

coverage and the processed result visualization on the base map such as OpenStreetMap (OSM) and other base maps. AOI represents an index image for image processing. OSM is the default, and V-world is also provided. Index image displayed on this service are the 20% re-sampled reduced image from the original one.

Fig. 8 shows a user interface for thresholding segmentation algorithm to generate a binary image. It

works a simple process to replace each pixel in an image with a black one if the image intensity value is less than a constant value, otherwise a white one. Fig.

9 is a user interface for mean shift clustering algorithm, which is to compute the maxima of a density function or to detect statistical density modes. The result is shown as a kind of unsupervised clustering. Fig. 10 is user interface for pan-sharpening image fusion Fig. 5. Work flow of the cloud-based service system in the view of system operator.

Fig. 6. Geo-based image allocation process in a dashboard for operators.

(9)

Fig. 7. (a) User accessible web page for data processing, (b) help page for functional operation.

Fig. 8. Binary thresholding segmentation: (a) user interface for parameter setting and variable control, (b) an example case.

Fig. 9. Mean shift clustering algorithm: (a) user interface for parameter setting and variable control, (b) an example case.

(10)

algorithm to merge a high-resolution panchromatic image and another lower resolution multispectral image data to construct new high-resolution color image. Fig.

11 shows user interfaces for change detection and Normalized Difference Vegetation Index (NDVI) computation.

5. Concluding remarks

Cloud computing is assembled technologies to share resources such as a processor, storage units, network

and software components. On web browsers operated in cloud-based service systems, users on thin client or mobile devices can perform the specific tasks as they do their own personal computer. In that cloud system, data and algorithms have been stored and implemented within one or more remote servers.

There are several ways to build a cloud system using open source. There are also many different types of open source that depend on the service target. The use of open source in the geo-based application domain globally continues to increase. However, researches on the component technologies or implementation Fig. 10. Pan-sharpening image fusion by paired image sets with different resolution: (a) user interface for parameter

setting and variable control, (b) an example case.

Fig. 11. User interface: (a) change detection, (b) NDVI.

(11)

schemes required for the cloud-based system is still on the early stage. This integrated service implies that the cloud computing environment is applied to the remote sensing. Technically, this system showed the advantage of being able to reduce the number of a physical servers and increase practices in the context of the scalability of the physical servers. Since the tools or software used are based on full open source, there is no actual purchase expenditure in this service building, unlike Amazon AWS or rental approach of any cloud environment.

The current service system provides some practical image processing algorithms such as thresholding, change detection, pan-sharpening image fusion, mean shift clustering, and so forth. This cloud-based system was designed with user experience concept by an intuitive web-based menu system for public users and novice in the remote sensing. It is expected that this system will be extended as a specialized web service system with various types of image handling and further image processing functions with hands-on practices. In future, it is necessary to improve the system based on open PaaS which is tailored to industry and business environments by the Korean government.

Since this service is the first developed case, it will also contribute to other areas covering geo-spatial information in the technological viewpoint.

Acknowledgment

This research was supported by the National Land Space Information Research Program from the Ministry of Land, Infrastructure and Transport, Korea (No. 14NSIP-B080144-01).

References

Barnatt, C., 2010. A Brief Guide to Cloud Computing.

Constable & Robinson Ltd., London, United Kingdom.

Evangelidis, K., K. Ntouros, S. Makridis, and C.

Papatheodorou, 2014. Geospatial Services in the Cloud, Computers and Geosciences, 63(2):

116-122.

Guo, W., J. Ya, G. Wan, S. Jiang, Y. Liu, and B. She, 2010. OpenRS-Cloud: A remote sensing image processing platform based on cloud computing environment, Science China Technological Sciences, 53(5): 221-230.

Huang, Q., C. Yang, K. Benedict, S. Chen, A. Rezgui, and J. Xie, 2013. Utilize cloud computing to support dust storm forecasting, International Journal of Digital Earth, 6(4): 338-355.

Kang, S., K. Lee, and Y. Kim, 2012. Preliminary performance testing of geo-spatial image parallel processing in the mobile cloud computing service, Korean Journal of Remote Sensing, 28(4): 467-475 (in Korean with English abstract).

Kang, S. and K. Lee, 2013. Testing Implementation of Remote Sensing Image Analysis Processing Service on OpenStack of Open Source Cloud Platform, Journal of the Korean Association Geographic Information Studies, 16(4): 141- 152 (in Korean with English abstract).

Kang, S. and K. Lee, 2014. Performance Test of Mobile Cloud Service by Bayesian Image Fusion, Korean Journal of Remote Sensing, 30(4): 445- 454 (in Korean with English abstract).

Kang, S. and K. Lee, 2016. Auto-Scaling of Geo-Based Image Processing in an OpenStack Cloud Computing Environment, Remote Sensing, 8(8): 1-10.

Kim, I.-H. and M.-H. Tsou, 2013. Enabling Digital

Earth simulation models using cloud

computing or grid computing; two approaches

supporting high-performance GIS simulation

frameworks, International Journal of Digital

(12)

Earth, 6(4): 383-403.

Lee, K., 2012. Open Source Cloud Computing: An Experience Case of Geo-based Image Handling in Amazon Web Services, Korean Journal of Remote Sensing, 28(3): 337-346.

Lee, K. and S. Kang, 2013. Mobile cloud service of geo-based image processing functions: a test iPad implementation, Remote Sensing Letter, 4(9): 910-919.

Lee, K. and S. Kang, 2015. Evaluation of Geo-based Image Fusion on Mobile Cloud Environment using Histogram Similarity Analysis, Korean Journal of Remote Sensing, 31(1): 1-9.

Mell, P. and T. Grance, 2011. The NIST Definition of Cloud Computing, NIST Special Publication 800-145, United States.

OpenStack, 2017. OpenStack Documentation, Rackspace Cloud Computing, United States.

OTB Development Team, 2015. The ORFEO Tool Box

Software Guide Updated for OTB-4.4, CNES, Paris, France, p. 784.

Patterson, M. T., N. Anderson, C. Bennett, J.

Bruggemann, R. Grossman, M. Handy, V. Ly, D. Mandl, S. Pederson, J. Pivarski, R. Powell, J. Spring, and W. Wells, 2016. The Matsu Wheel: A Cloud-based Framework for the Efficient Analysis and Reanalysis of Earth Satellite Imagery, 2016 IEEE Second Internatinal Coference on Multimedia Big Data (BigMM), Taipei, Taiwan, Apr. 20-22, pp. 156-165.

Yang C. and C. Xu, 2013. Spatial Cloud Computing: A Practical Approach, CRC Press, Boca Raton, Florida, USA.

Yoon, G. and K. Lee, 2015. WPS-based Satellite Image

Processing on Web Framework and Cloud

Computing Environment, Korean Journal of

Remote Sensing, 31(6): 561-570 (in Korean

with English abstract).

수치

Fig. 1.  Service model, deployment model, and features of cloud computing scheme.
Fig.  3  shows  operational  scheme  interlinking  of BTSS, GPMS, and GIPS in the cloud-based service system
Table 1 and Table 2 are lists of applied open source for Interface System for cloud-based service and that of  applied  open  sources  for  GIPS  and  GPMS, respectively
Table 2.  List of applied open source for Geo-based Image Processing System (GIPS) and Geo-data and Project Management System (GPMS)
+5

참조

관련 문서

그것은 이미지를 문자적 으로 서술하는 문제이며 옐름슬레브Hjelmslev[4]의 용어를 쓰자면 (코노테 이션과 반대되는 의미로서) 공정작용operation의

4.7.3 Summary of Steps for Filtering in the

Woods, Digital Image Processing (2nd Edition),

Filter >

MPLS SD-WAN 장비 Cloud Security as a Service.. (UTM, AV, DLP,

LoRa® Network Server – Open Source... LoRa® Network Server

parallel processing (e.g. ETL) of large data sets in Google Cloud Supports both Streaming and Batch processing (no need for separate pipeline code development). Autoscales

1 John Owen, Justification by Faith Alone, in The Works of John Owen, ed. John Bolt, trans. Scott Clark, "Do This and Live: Christ's Active Obedience as the