공간영상정보 기반 공간객체 추출 및 수치지도 벡터레이어 시각화 안드로이드 스마트폰 앱 개발
Development of Android Smartphone App for Spatial Object Extraction using Geo-based Image
and Vector Layer Visualization of Digital Map
강상구*, 이기원 Sanggoo Kang, Kiwon Lee
한성대학교 정보시스템공학과 E-mail : [email protected]
요약: 스마트폰은 기존의 모바일 기기에서 제공하기 어려웠던 정보를 3G, Wi-Fi를 이용 한 인터넷 연결, 높아진 기기 하드웨어 사양, 스마트폰 운영체제를 바탕으로 하고 있는 앱을 통해서 다양한 정보를 사용자에게 제공할 수 있게 되었다. 공간정보 분야에서도 여 러 정보를 스마트폰을 통해서 제공하기 위한 시도와 개발이 이루어지고 있다. 본 연구에 서는 공간영상정보를 이용한 공간객체 추출 및 벡터레이어 시각화를 할 수 있는 앱을 안 드로이드 기반에서 오픈소스를 활용하여 설계 및 개발하였다. 공간객체 추출과 관련하여 OTB (Orfeo Toolbox)의 Harris 알고리즘을 이용하였고 추출된 객체는 사용자 인터페이 스를 통해서 제어할 수 있고, 데이터베이스와 연동할 수 있도록 하였다. 또한 추출된 포 인트를 시각화 할 때 LOD를 적용시켰다. 벡터레이어 시각화는 공간영상과 동일한 지역 의 수치지도가 있을 경우에 활용 할 수 있는 것으로써, 공간영상과 중첩하거나 독립적으 로 시각화 할 수 있도록 하였다. 이와 관련하여 벡터레이어에 LOD를 적용시켜 개발하여 앱의 속도를 높였다. 본 연구는 공간영상이 가지고 있는 실질적인 가치를 사용자에게 스 마트폰 앱을 통해 제공하기 위한 기초연구로 활용될 수 있을 것으로 기대한다.
1. 서론
스마트폰은 매우 빠르게 보급되고 있고, 이로 인해 무선인터넷, 모바일 어플리케이 션(App) 등의 빠른 발전을 이끌고 있는 핵심 키워드라고 할 수 있다(한국정보화진
흥원, 2011). 특히 스마트폰 모바일 어플리 케이션 즉 앱은 앱스토어를 통해 게임, 교 육, 라이프스타일, 엔터테인먼트 등 여러 범주에 걸쳐 다양한 종류가 공급되어 사 용되고 있다. 앱은 일반적으로 스마트폰 사용자에게 한 번에 많은 기능을 제공하
기보다는 특정한 하나의 기능을 제공하는 데 초점이 맞춰있다. 이러한 앱 중에서 지 도 관련 정보 서비스 앱은 기본적으로 자 신의 위치를 기반으로 하는 검색이나, 고 화질 영상을 제공함으로써 활용도가 점차 높아지고 있는 추세이다. 이러한 앱들은 공간영상을 브라우징하고 있지만 대부분 이 국내외 포털 등에서 제공하고 있는 맵 Open API를 이용한 것으로 자체적으로 공간영상을 생성할 수 있거나 보유하고 있는 기업, 공공기관에서 서비스하는 사례 는 거의 없다. 있다 하더라도 공간영상의 잠재적인 정보를 활용하고 있다고 보기에 는 어려운 공간영상 브라우징의 개념으로 사용자는 공간영상에 대해서 주로 시각적 인 정보만을 얻을 수 있다. 따라서 본 연 구에서는 공간영상의 실질적인 가치를 사 용자가 직접 활용할 수 있도록 하기 위해 서 시험적으로 공간영상 분석 기능을 가 진 앱을 안드로이드(Android)기반에서 설 계 및 개발하였다. 개발한 앱은 Harris 알 고리즘을 통한 공간영상의 코너 포인트 추출하여 시각화하고, 데이터베이스와의 연동, 벡터레이어 시각화 등의 기능을 처 리할 수 있도록 하였다. 또한 벡터레이어 시각화와 추출된 포인트를 시각화 할 때 처리 속도를 높이기 위해서 LOD(Levels of Details)를 적용하였다.
2. 개발 환경 및 시스템 구성
본 연구의 목적을 달성하기 위해서 시스 템의 개발환경을 Table 1과 같이 구성하 였다. 이것은 강과 이(2010)의 연구에서 일 부 오픈소스 버전을 업데이트 시킨 것이 다. 개발환경은 확장성과 개방성을 고려하 여 적합한 오픈소스로 구성한 것으로써, 사용된 오픈소스는 gvSIG Mini, 안드로이 드, OTB(Orfeo ToolBox), PostgreSQL,
PostGIS 등이 있고, 이것들은 구현한 시스 템에서 다음과 같은 역할을 한다.
gvSIG Mini는 Prodevelop에서 개발한 안드로이드 기반의 공간영상을 브라우징 할 수 있는 오픈소스 앱이다(Carrasco and Romeu, 2010). 본 연구에서는 사용자 인터페이스 제공 및 공간영상정보, 공간객 체, 벡터레이어를 시각화하는 역할을 한 다. 본 연구의 결과물인 앱을 사용할 때 사용자는 gvSIG Mini를 통해서 지도영상 서비스를 제공하는 구글, 야후 등에서 제 공하는 것과 같은 영상을 보는 것이 아니 라, 사전에 본 연구를 위해 구축해둔 KOMSAT2 타일링 영상을 볼 수 있도록 하였다. 또한 구현한 유저 인터페이스를 통해서 서버에 영상처리, 공간객체추출, 벡터 데이터 시각화와 같은 프로세싱을 할 수 있다.
서버에서는 영상처리와 공간객체추출을 하기 위해서 OTB를 사용하였다. OTB는 ITK(Insight ToolKit), GDAL, FLTK(Fast Light ToolKit), OSSIM 등의 여러 라이브 러리를 사용하여 개발된 공간영상정보를 처리할 수 있는 라이브러리이다. (OTB Development Team, 2010; Guzzonato et al. 2010). 이번 연구에서는 OTB를 이용하 여 공간영상처리(Edge, Line and Point Extraction)를 할 수 있도록 하였다. 이 중 에서 포인트 객체 추출은 강상구와 이기 원(2011)에서 개발된 Harris Detection Module을 이용하여 영상에서 공간객체(코 너 포인트)를 추출하여 이미지 또는 포인 트로 시각화 할 수 있도록 시스템 아키텍 처를 구성하였다.
벡터레이어와 공간객체추출 결과를 관리 하기 위해서 데이터베이스로 PostgreSQL, PostGIS를 사용하였는데, 이것은 오픈소스 GIS/RS분야에서 활용도가 높은 DBMS로 다양한 프로그래밍 언어 인터페이스를 제
Table 1. Development environment
공하고 있고, 그중에서 본 연구에서는 Python 인터페이스를 통해서 DBMS를 제 어할 수 있도록 하였다. PostgreSQL, PostGIS와 OTB를 통한 결과물을 연동하 는 방법은 이전에 연구된 Lee and Kang(2010)의 연구 결과를 활용하였다.
3. 벡터레이어 시각화 및 LOD 적용
벡터레이어 시각화는 메뉴를 통한 사용 자의 요청에 의한 서버의 프로세싱을 통 해서 이루어진다. 서버 프로세싱에서는 사 용자가 스마트폰을 통해서 보고 있는 지 역에 대해서 데이터베이스로부터 벡터레 이어를 구성하는 데이터를 추출하여 KML 파일 포맷으로 저장하는 작업을 수행한다.
서버에서 프로세싱을 마친 후 스마트폰에 서는 서버에 있는 KML파일을 파싱을 통 해서 나온 데이터를 이용하여 벡터레이어 를 시각화하게 된다. 본 연구에서는 웹 표 준 중에 하나인 KML 파일 포맷 (Wernecke, 2009)을 이용하기 때문에 향후 KML을 지원하는 다른 프로그램 또는 웹 과의 연계가 용이할 것으로 예상된다.
본 연구에서는 벡터레이어 시각화를 개 발하고 테스트하기 위해서 시험적으로 사
전에 수치지도에서 도로와 빌딩을 추출하 여 데이터베이스에 저장하였다. 데이터베 이스로부터 도로 벡터레이어 추출에 대해 서는 LOD를 적용시켰는데, LOD 적용이 필요한 이유는 스마트폰의 하드웨어 성능 을 고려해야 하기 때문이고, LOD 적용을 통해서 앱의 실행 속도를 향상 시킬 수 있기 때문이다.
Fig. 1은 구현한 벡터레이어 LOD 방식을 나타내는 것이다. 스마트폰에 디스플레이 되고 있는 영상의 줌 레벨에 따라서 도로 벡터레이어를 추출할 때 길이가 짧은 도 로를 제거하고 도로 라인을 구성하는 포 인트의 수를 감소시키는 것이다. 줌 레벨 이 낮을수록 짧은 도로는 많이 제거되고 줌 레벨이 높아질수록 좁은 지역의 영상 을 보고 있는 것이기 때문에 짧은 도로를 포함하고, 도로 라인을 구성하는 포인트의 수를 원본 벡터레이어에 근접하게 하여 KML로 생성한다.
Fig. 1. Visualization of vector layer using
LOD: (A) Original vector data, and
(B), (C), (D), (E): Vector data of
zoom level 12, zoom level 13, zoom
level 14, and zoom level 15,
respectively.
4. 공간객체 추출 및 데이터베이스 연동
본 연구에서는 공간영상정보로부터 공간 객체 추출을 하기 위해서 OTB에서 제공 하고 있는 포인트 추출 Harris 알고리즘을 통해 코너 포인트를 추출하여 그 결과로 스마트폰에서 사용자가 보고 있는 영상에 POI(Point of Interest)로 표현될 수 있도 록 개발하였다. 또한 POI에 대해서 LOD 를 적용시킴으로써 추출된 포인트를 시각 화할 때 속도를 향상 시킬 수 있었다. 포 인트 시각화에 적용된 LOD 구현 방법은 Fig. 2에 나타내었다. Fig. 2는 사용자가 보고 있는 스마트폰 화면, 즉 AOI(Area of Interest)에 대해서 Harris 알고리즘 통 해 포인트를 추출할 때 현재 줌 레벨에 따라서 시각화 되는 포인트의 수를 조절 하는 것이다. 시각화된 POI에 대해서는 사용자 인터페이스를 통해서 선택, 이동, 삭제, 정보입력, 정보보기를 할 수 있도록 하였다.
Fig. 2. Visualization of point data using LOD. (A), (B), (C), and (D): Point data of zoom level 12, zoom level 13, zoom level l4, zoom level 15, respectively.
그중에서 정보입력은 Identification Name, Coordinate, Description을 입력받 아 데이터베이스 POI 테이블에 저장하게 되는데 입력 정보 중에서 Coordinate는 사용자가 직접 입력하기에는 어렵기 때문 에 프로그램 안에서 자동으로 입력될 수 있도록 하여 사용자가 보다 쉽게 POI에 대한 정보를 입력할 수 있도록 개발했다.
또한 POI를 관리하기 위한 메뉴로 데이 터베이스에 테이블을 생성, 삭제 할 수 있 도록 하였고, 이를 통해 사용자는 원하는 POI 테이블을 생성하여 그곳에 사용자가 원하는 POI를 저장시킬 수 있도록 하였 다. 저장된 POI는 다시 불러와서 표현 할 수 있고 POI에 입력된 정보를 출력할 수 있도록 함으로써, POI에 대한 관리가 이 루어 질 수 있도록 개발하였다.
5. 구현 결과
본 연구에서 개발한 결과물로 스마트폰 앱을 통한 공간객체 추출 결과 및 공간영 상정보와 벡터레이어의 중첩 결과, LOD 적용결과, 이와 관련한 사용자 인터페이스 구현 결과를 제시하고자 한다.
영상처리와 벡터레이어 시각화를 서버에 요청 할 수 있도록 하는 사용자 인터페이 스는 Fig. 3과 같이 구성된다.
이번 연구에서는 벡터레이어 시각화에서 시험적으로 도로와 빌딩을 볼 수 있도록 구현하였다. Fig. 4와 5는 Fig. 3의 (B) 메 뉴를 이용한 것으로써, Fig. 4는 빌딩 벡터 레이어를 Fig. 5는 빌딩과 도로 벡터레이 어를 동시에 영상에 중첩시킨 화면과 벡 터레이어만을 시각화한 결과화면이다.
Fig. 6은 도로 벡터레이어를 시각화할 때 줌 레벨에 따라서 LOD를 적용시킨 화면 으로 줌 레벨이 높아짐에 따라서 더 자세 하고 정확하게 도로 벡터레이어를 시각화
Fig. 5. Overlay of road and building vector layer on spatial image.
Fig. 6. Vector layer optimization according to zoom levels.
한 결과 화면이다.
Fig. 7은 OTB의 Harris 알고리즘을 통해 서 추출된 포인트 공간객체를 시각화하고 줌 레벨에 따른 LOD 적용 결과화면을 나 타낸다.
Fig. 3. User Interfaces: (A) App main menu, (B) Vector layer Visualization menu, and (C) Image Processing menu.
Fig. 4. Overlay of building vector layer on spatial image.
Fig. 7. POI optimization according to zoom
levels.
5. 결론
본 연구에서는 스마트폰에서 공간영상을 시각화에 필요한 데이터로만 사용하는 것 이 아닌 공간영상이 가지고 있는 실질적 가치를 활용하기 위해서 오픈소스를 활용 하여 공간영상정보의 공간객체 추출 및 데이터베이스 연동과 벡터레이어 시각화 를 설계 및 개발하였다. 공간객체를 추출 시에는 Harris 알고리즘을 적용시켰으며, 추출된 포인트와 벡터레이어를 시각화할 때 처리 속도를 위해 LOD를 적용시켰다.
본 연구가 스마트폰 상에서 공간영상정보 의 본래의 가치를 적극적으로 활용할 수 있는 하나의 기초연구가 될 것으로 기대 한다.
사 사
본 연구는 항공우주(연) 위성정보연구소
“위성정보활용지원운영사업”에 의해 지원 에 의해 수행되었습니다.
참고문헌