1. 서 론
해사 데이터는 선박의 운항과 화물의 운송, 항만의 운영 등 해운 활동 과정에서 생성되는 모든 데이터를 의미한다 (Etienne et al., 2021). 이는 선내에 설치된 다양한 센서에서 계측되고 수집되는 데이터뿐만 아니라, 운항 중인 선박의 위치와 항해 정보가 저장된 AIS(Automatic Identification System) 데이터, 항만을 운영하기 위한 선석 및 물류 관리 정보, 해양 기상 및 해양 환경 정보에 이르기까지 매우 다양한 종류의 데이터를 포함한다. 최근에는 이러한 해사 데이터를 분석하여 선박 운항 경로의 최적화, 선박 설비의 예측 정비, 항만 운영의 효율화 등에 활용하고 있으며 이에 따라 해사 데이터 관리 체계의 중요성이 부각되고 있다(Viseschart and Pongpech, 2023). 앞서 언급한 바와 같이 해사 데이터는 그 종류와 형태가 다양한 멀티 모달의 특성을 가진다. Fig. 1과 같이, 선내 항해 장비로부터 수신되는 데이터는 해양 전자장비 간 통신 표준인 NMEA 0183을 따르며 텍스트(text) 형태의 데이터 형식을 가진다. 또한, 무선 통신을 위한 VHF(Very High Frequency) 교신 데이터는 음성(audio) 형태이며, 부두에 설치된 CCTV 데이터는 영상(image) 혹은 동영상(video) 형식의 데이터로 수집되고 저장된다(Kim and Oh, 2023).
한편, 멀티 모달 해사 데이터는 시간과 공간 정보를 기준으로 밀접하게 연관되어 있으며 이러한 연관 관계 정보를 바탕으로 더 많은 가치를 만들어 낼 수 있게 된다. 그러나 기존의 데이터 관리 체계는 데이터를 단순히 쌓아 두는 데이터 웨어하우스(data warehouse)의 개념을 도입한 경우가 일반적이며, 이 경우 데이터를 동적으로 재구성하여 분석하기 어려운 문제점이 있었다(Na, 2022). 또한, 이러한 해사 데이터 간의 연관 관계는 해당 도메인에 대한 이해가 선행 되어야하기 때문에 비전문가의 데이터 활용에도 제약이 따른다.
이에, 멀티 모달의 특성을 가진 해사 데이터를 효율적으로 관리하고 활용할 수 있는 체계가 필요하며, 본 논문에서는 데이터의 연관 정보에 기반을 둔 데이터 관리 체계의 설계에 대해 기술하고, 이를 해사 분야에 활용하기 위한 방안을 제시하고자 한다.
2. 선행 연구 분석
최근 디지털 전환과 데이터 기반 의사결정을 위한 핵심 요소로 데이터 관리 기술에 관한 연구가 활발히 진행되고 있다. 하버드 비즈니스의 연구 결과에 따르면, 의사결정에 활용되는 데이터는 절반 이하에 불과하며, 분석을 위한 데이터를 검색하고 준비하는데 80%이상의 시간을 소비하는 것으로 분석했다(Davenport, 2017). 특히, 데이터의 종류가 다양해지고 정형 데이터와 비정형 데이터가 혼재하는 멀티 모달 데이터의 비중이 늘어남에 따라 데이터를 체계적으로 관리하지 못하고 있는 실정이다.
이러한 배경에서 단순히 데이터를 저장하기만 하는 기존의 데이터베이스 시스템의 제약을 완화하고 통합적으로 데이터를 관리, 운영하는 개념인 데이터 옵스(DataOps)가 도입 되었다. 데이터 옵스는 데이터를 수집, 변환, 저장, 시각화까지 전체 과정을 사용자에게 통합하여 제공함으로써 조직 내 프로세스를 효율화하고, 데이터의 활용도를 높일 수 있는 데이터 관리 체계이다(Ereth, 2018).
이처럼 데이터를 통합하여 관리하는 개념으로 데이터 웨어하우스, 데이터 레이크(data lake), 데이터 메시(data mesh) 등이 도입되었지만, 데이터의 양이 급증하고, 비정형 데이터 의 비중이 크게 늘어나면서 자동화 된 통합과 공유에 대한 요구가 증가하게 되었다. 이에, 데이터 간 연관 정보를 이용하여 데이터를 관리하는 개념인 데이터 패브릭(data fabric)이 제안되었으며, 다양한 출처의 데이터를 융합해야하는 디지털 트윈(digital twin) 시스템의 데이터 관리 체계로 활용되고 있다(Kuftinova et al., 2022;Choi et al., 2022).
한편, 지식 그래프(knowledge graph)는 데이터 패브릭 체계를 구성하는 요소 기술 중 하나이며, 데이터 간 의미적 관계를 추출하여 그래프 형태로 표현하고 탐색할 수 있다. 이는 복잡한 정보를 직관적이고 유연하게 표현할 수 있는 장점을 가지며, 이 때문에 주로 자연어 처리 분야에 활용되지만 복잡한 해상교통의 상황 인지, 해양사고의 원인 분석, 자율운 항선박의 항해 의사결정에도 활용된 바 있다(Song et al., 2024;Li et al., 2024;Liu and Cheng, 2024).
IBM은 Cloud Pak for Data를 통해 데이터 패브릭 아키텍처를 구현하여 서비스를 제공하고 있다. Cloud Pak for Data는 데이터 관리 및 분석을 위한 통합 플랫폼으로 하이브리드 클라우드 환경을 지원한다. 또한, 인공지능 기술을 이용하여 자동으로 데이터의 태깅(tagging)과 주석 처리 작업을 수행하는 데이터 수집 시스템을 포함하고 있다(IBM, 2024).
AWS(Amazon Web Services)에서는 IDF(Industrial Data Fabric)라는 이름으로 데이터 패브릭 기반 관리 아키텍처를 서비스하고 있다. IDF는 이기종의 데이터 소스를 통합하기 용이하며 데이터 가상화를 통한 실시간 데이터의 접근이 가능한 장점이 있다(Shaun et al., 2024).
IBM의 Cloud Pak for Data가 AWS의 IDF보다 포괄적인 형태의 데이터 패브릭 솔루션을 제공하고는 있지만, 대상이 되는 데이터의 종류와 특성이 매우 다양하기 때문에 모든 분야에 일반화되어 적용하기는 어렵다. 특히, 해사 데이터의 경우 범용적이지 않은 데이터 포맷을 사용하는 경우가 많으며, 멀티 모달 특성의 데이터가 혼재해 있기 때문에 도메인 지식을 반영한 시스템의 최적화가 선행되어야 한다. 또한, 전문가의 관점에서 데이터 간 연관 관계를 모델링하고, 이를 바탕으로 데이터를 구축하여 탐색함으로써 비전문가의 데이터 활용도를 향상시킬 수 있을 것으로 판단된다.
3. 멀티 모달 해사 데이터 분석
서론에서 언급한 바와 같이 해사 데이터는 해운 활동 과정에서 생성되는 모든 데이터로 정의하였다. 일반적으로 데이터의 형식이나 송수신 주기 등은 표준화되어 있으며, 다양한 형태의 데이터가 밀접하게 연관되어 있는 멀티모달의 특징을 가진다. 따라서 해사 데이터의 형태, 세부 항목, 송수신 주기, 데이터의 용량 등의 분석이 선행되어야 하며, 어떤 데이터 항목과 연계될 수 있는지의 연관 관계를 미리 정의 해야 한다.
해사 환경에서 주로 사용되는 데이터와 세부 내용은 Table 1과 같으며, 각 데이터와 연관 관계를 가지는 해사 데이터 항목을 함께 나열하였다.
AIS 데이터는 바이너리 형태로 인코딩된 텍스트 데이터이며, 대상 해역을 운항하는 선박의 정적/동적 정보를 포함하고 있다. 이를 통해 각 선박의 위치, 이동 방향, 속도 등을 파악할 수 있기 때문에 해상교통 데이터를 분석하기 위한 주요 자료로 활용된다. MMSI 번호로 구분되는 AIS 데이터는 각 선박의 운항 속도에 따라 매초에서 수분 주기로 수신 된다. 또한, 선박에는 항해를 위한 다양한 항해 장비가 설치되어 운영되고 있으며, 이들 장비에서 생성된 데이터는 CSV(Comma- Separated Values) 형식의 텍스트 데이터로 구성되어 있고, 해당 장비가 설치된 선박 정보와 연계될 수 있다.
한편, VHF 데이터는 녹음된 음성 교신 내용으로 오디오 파일(wav) 형태로 저장되며, 저장된 음성 파일은 후처리를 통해 교신 내용에 대한 텍스트 데이터로 변환될 수 있다. 이를 통해 송신 주체, 교신 대상, 교신 위치, 목적지 등을 파악 할 수 있으며 해당 선박의 위치 데이터 및 항만 시설 데이터 와 연계될 수 있다. 항만 시설에 설치된 CCTV 영상 혹은 RADAR 영상은 영상처리 과정을 거쳐 선박 정보를 식별할 수 있으며, 이는 해당 선박의 위치 정보와 연계된다. 또한, 항내 특정 시설에서의 조류, 바람과 같은 해양 환경 데이터는 연관 관계가 바뀌지 않고 정적으로 연결되어 있지만, VHF 음성 데이터의 경우에는 해당 교신 내용에 따라 동적으로 연결되기도 한다.
4. 체계 요구사항 분석
제안하는 체계의 요구사항은 다양한 해사 데이터를 수집하고 관리한 경험이 있는 전문가 그룹과의 심층 인터뷰를 통해 분석되었다. 요구사항은 기능 요구사항과 시스템 요구 사항으로 구분되며, 기존 관리 체계의 문제점을 해결하고 향후 활용을 고려한 요구사항들을 도출하였다.
4.1 기능 요구사항
멀티 모달 해사 데이터 관리 체계는 데이터를 효과적으로 관리하고 데이터를 활용하기 위한 사용자 요구사항을 충족해야 한다. 다음은 식별된 주요 기능 요구사항이다.
-
① 데이터 파이프라인 기능 : 입력되는 데이터의 유형에 따라 다양한 데이터 파이프라인 아키텍처를 사용할 수 있어야 한다. 대용량의 데이터를 일괄적으로 입력하는 경우에는 배치 파이프라인을 적용하며, 실시간 데이터의 입력이 가능한 스트리밍 파이프라인 기능을 제공해야 한다.
-
② 작업 절차 정의 기능 : 데이터를 입력하고 전처리 작업을 거쳐 저장되기까지의 작업 절차(workflow)를 정의하여 관리할 수 있어야 한다.
-
③ 데이터 병렬처리 기능 : 데이터의 입력 및 전처리 과정은 다른 데이터 처리 과정에 영향을 주지 않도록 백그라운드 작업을 통해 독립적으로 실행되어야 한다.
-
④ 전처리 기능 : CSV 형태의 텍스트 데이터를 처리하기 위한 전처리 기능이 기본적으로 제공되어야 하며, VHF 음성 데이터 처리를 위한 음성인식 기능과 이미지 데이터를 분석하기 위한 영상처리 기능을 포함해야 한다.
-
⑤ 메타 데이터 추출 기능 : 전처리 과정을 거친 입력 데이터로부터 연관 관계 생성을 위한 동적 메타 데이터를 자동으로 추출할 수 있어야 한다.
-
⑥ 지식 그래프 생성 및 탐색 기능 : 추출된 정적 및 동적 메타 데이터를 이용하여 지식 그래프를 생성할 수 있어야 하며, 생성된 지식 그래프 정보를 저장하고 탐색할 수 있는 지식 그래프 데이터베이스 기능을 제공해야 한다.
-
⑦ 시각화 및 데이터 추출 기능 : 멀티 모달 데이터의 탐색 결과를 그래프 형태로 시각화할 수 있어야 하며, 사용자 요청에 따라 결과 데이터를 저장할 수 있어야 한다.
-
⑧ 모니터링 기능 : 체계의 데이터 입출력 현황, 시스템 운영 현황 등을 실시간으로 모니터링하고 제어할 수 있는 대시보드 기능을 제공해야 한다.
Fig. 2는 기능 요구사항이 반영된 멀티 모달 데이터 관리 체계의 use-case 다이어그램이다.
4.2 시스템 요구사항
-
① 시스템 확장성 : 체계 시스템은 멀티 모달 데이터의 용량과 처리 능력을 확장할 수 있어야 하며, 이를 위해 네트워크로 연결된 클러스터링 방법을 적용할 수 있다.
-
② 시스템 고가용성 : 체계 시스템의 일부에 장애가 발생하더라도 나머지 시스템이 작업을 자동으로 분산하여 서비스를 유지할 수 있어야 하며, 이를 통해 장애로 인한 데이터의 누락 현상을 방지할 수 있어야 한다.
-
③ 서비스 독립성 : 체계 운영 및 유지보수가 용이하도록 서비스는 기능별로 모듈화 되어야 한다. 이를 위해 독립적인 개발, 배포, 확장이 가능한 마이크로서비스(micro service) 아키텍처를 적용할 수 있다.
-
④ 그래프 데이터베이스 : 체계에는 그래프 정보를 효과적으로 저장하고 탐색할 수 있는 그래프 데이터베이스가 포함되어야 하며, 이와 연동될 수 있는 API(Application Programming Interface)가 제공되어야 한다.
-
⑤ 대용량 스토리지 : 대용량의 멀티 모달 데이터를 저장하기 위한 스토리지 공간이 확보되어야 하며, 이는 체계를 구성하는 하위 시스템에서 네트워크를 통해 동시 접근이 가능해야 한다. 이를 위해 비정형 데이터를 효율적으로 저장할 수 있는 오브젝트 스토리지(object storage) 기술을 적용할 수 있다.
5. 멀티 모달 해사 데이터 관리 체계 설계
5.1 소프트웨어 체계
앞 절에서 식별한 기능 및 시스템 요구사항들을 반영하여 Fig. 3과 같이 해사 환경에서 효과적으로 활용될 수 있는 멀티 모달 데이터 관리 체계를 설계하였다.
멀티 모달 해사 데이터는 종류나 출처에 따라 데이터 덩어리인 벌크(bulk) 형태로 제공되기도 하고, 연속적인 데이터의 흐름인 스트림(stream) 형태로 수신되기도 한다. 따라서 다양한 형태의 출처에 대해 데이터 파이프라인을 구성할 수 있도록 설계하였으며, 데이터 수집 및 입력 과정에서 데이터 누락이 발생하지 않도록 메시지 큐(Message Queue) 방식을 사용하는 Kafka를 적용하였다. Kafka는 고성능의 분산 이벤트 스트리밍 플랫폼으로 데이터의 흐름을 한 곳에서 관리 할 수 있으며, 새로운 데이터의 추가에도 적응적으로 동작하기 때문에 시스템의 신뢰도와 호환성을 향상시킬 수 있는 장점이 있다(Kreps et al., 2011). 입력되는 데이터는 정제 및 전처리 과정을 거친 후, 연관 정보 생성을 위한 메타 데이터 추출 작업이 수행된다. 이러한 작업은 데이터의 종류에 따라 매우 다양하기 때문에 이를 관리하기 위한 작업 관리자 (workflow manager)를 추가하였다. 체계에 입력되는 모든 데이터는 데이터 형식, 전처리 절차, 메타 데이터 구성, 데이터 연관 관계 등이 기술된 데이터 기술서(data description)를 포함해야하며, 작업 관리자는 이를 토대로 작업을 계획하고 실행하게 된다. 작업 절차에는 메타 데이터 추출을 위한 음 성인식과 영상처리 프로세스가 포함될 수 있으며, 수행되는 작업은 다른 작업에 영향을 미치지 않도록 백그라운드에서 병렬적으로 운용된다.
이렇게 전처리가 완료된 멀티 모달 데이터와 연관 정보는 그래프 데이터베이스에 저장되며, 음성 혹은 영상 파일과 같은 비정형 데이터는 객체형 스토리지(object storage)에 저 장된다.
그래프 데이터베이스는 데이터의 연관 관계를 효율적으로 저장하고 탐색할 수 있는 데이터베이스인 Neo4j를 적용 하였다(Miler, 2013). 오픈소스 라이선스인 Neo4j는 RDB의 복잡한 조인(join) 작업에 따른 성능 저하 문제를 해결하고, 탐색을 위한 그래프 쿼리언어(Cypher)를 제공하여 복잡한 쿼리를 쉽게 표현할 수 있는 장점이 있다.
한편, 객체형 스토리지는 오픈소스로 제공되는 분산 스토리지 솔루션인 MinIO를 적용하였다. MinIO는 분산 저장된 데이터의 무결성을 유지할 수 있으며, 데이터의 입출력 처리 속도가 매우 빠른 객체형 스토리지이다. Neo4j와 MinIO 모두 클러스터 서버 방식으로 구현하며, 이를 통해 하드웨어 자원의 확장이 용이하고, 시스템의 일부에 장애가 발생 하더라도 서비스를 제공할 수 있도록 설계하였다.
또한, 데이터를 활용하고자 하는 사용자는 API 서버를 통해 그래프 데이터베이스에 접근할 수 있다. 특히, 데이터의 연관 관계를 그래프 형태로 가시화하고 이를 통해 연관된 데이터를 쉽게 탐색할 수 있도록 하였다.
체계 내 모든 서버 기능은 도커(docker) 기반의 마이크로 서비스 형태로 운용되며, 체계 관리자는 도커에서 동작 중인 각 서버의 상태와 입력 데이터의 작업 관리 상태를 실시간으로 모니터링하고 제어할 수 있도록 하였다.
5.2 그래프 데이터베이스
그래프 데이터베이스는 데이터 모델의 키(key)와 데이터 타입을 미리 정해두는 관계형 데이터베이스(RDB)와는 달리 데이터에 따라 스키마를 변경할 수 있기 때문에 보다 유연하게 데이터를 관리하고 운영할 수 있는 장점이 있다. 따라서 그래프 데이터베이스 적용을 위해서는 입력하는 데이터에 대해 노드와 노드 간 관계, 세부 속성 항목을 식별해야 하며, 이러한 내용은 각 데이터의 소유자가 데이터 기술서에 포함하도록 하였다.
본 논문에서는 VHF 음성 교신 데이터와 CCTV 영상에 대한 그래프 데이터베이스 구축 사례를 제시하고자 한다. 해상교통 환경에서는 주로 VHF 통신 장비를 이용하여 선박과 선박 혹은 선박과 육상 간 정보를 교환하며, 선박의 입출항 보고, 항만 시설 이용 보고, VTS 관제 서비스, 주위 선박의 항해 정보 등이 음성 교신 내용에 포함되어 있다. 한편, 부두 등에 설치된 CCTV의 영상에는 운항 중이거나 접안 중인 선박이 포함되어 있으며 해당 시설의 운영 현황을 파악하는 데 활용된다.
VHF 데이터 전처리 과정의 첫 번째 단계로 음성인식 모듈(STT, Speech-To-Text)을 통해 음성을 텍스트 데이터로 변환하며, 변환된 텍스트 데이터는 자연어 처리 과정을 거쳐 교신 상황을 구분하게 된다. 하나의 교신 상황은 여러 개의 음성 교신으로 구성되며, 이를 하나의 교신 세트로 정의하고 주요 키워드 및 연관 관계를 추출한다. 모든 교신 세트에는 선명, 호출부호, 교신 대상, 교신 시각 정보가 공통으로 포함되며, AIS로부터 수신된 해당 선박의 정적 및 항적 데이터와 연결된다. 한편, 입출항 보고 교신의 경우, 입항 시각과 호출부호 정보를 Port-MIS의 입출항 데이터와 연결하며, 투묘, 양묘, 이안, 접안 상황에서는 Port-MIS 데이터 및 해당 항만 시설 정보와 연관 관계를 설정한다. 또한, 타 선박과의 항행 정보를 교환하는 교신 세트는 교신 대상 선박의 항적 정보와 연결되며, VTS 센터로부터 관제 정보를 수신하는 교신 데이터는 VTS 센터 노드와 연결된다.
한편, CCTV 영상은 영상처리 과정을 통해 선박이 포함된 객체 영역을 탐지한 후, 카메라 설치 위치 및 방향 정보와 결합하여 선박의 운항 정보와 연결할 수 있다.
Table 2는 CCTV 및 VHF 음성 교신 데이터의 세부 항목과 그래프 노드 및 연관 관계를 나타내며, 그래프 데이터베이스의 구축 예는 Fig. 4와 같다. 이처럼 상호 연결된 그래프 정보를 이용하여 특정 선박의 입출항 자료와 연결된 음성 교신 파일을 탐색하거나, 정박지나 부두와 같은 특정 항만 시설을 사용한 선박의 이력 정보를 이용하여 통계분석을 수행할 수도 있다. 데이터 간 연관 관계로 구축된 그래프 데이터베이스는 기존의 관계형 데이터베이스와 비교하여 보다 쉽고 빠르게 해사 데이터를 탐색할 수 있으며, 데이터의 이해도가 높아져 새로운 유의미한 정보를 찾아낼 수도 있게 된다.
6. 결 론
해사 데이터에는 다양한 형식의 데이터가 혼재하며, 영상과 음성 등과 같은 비정형 데이터가 밀접하게 연관되어 있기 때문에 이를 효과적으로 관리하고 활용할 수 있는 전문적인 체계가 필요하다. 이에 본 논문에서는 해사 데이터의 이해도를 높여 데이터 활용도를 극대화할 수 있는 멀티 모달 해사 데이터 관리 체계를 설계하였고, 이를 바탕으로 VHF 음성 교신 및 CCTV 영상 데이터베이스의 구축 사례를 제시하였다. 체계를 통해 수집되는 데이터는 누락되지 않고 해사 데이터 간 연관 정보를 자동으로 추출하여 그래프 데이터베이스에 저장하도록 설계하였다. 이를 통해 해사 데이터에 대한 전문적인 지식이 없더라도 데이터를 활용할 수 있으며, 의미 있는 새로운 정보를 찾아낼 수도 있다.
제안된 데이터 관리 체계는 음성인식 혹은 영상처리 모듈과 같은 전처리 프로세스의 성능이 전체 데이터베이스의 품질을 결정하기 때문에 정확도 높은 전처리 모듈의 개발이 필요할 것으로 판단된다. 또한, 데이터 전처리 작업의 효율화를 위해 인공지능 기술을 적용한 스케줄링 방법을 적용할 수도 있다.
최근 인공지능 기술 기반의 해사 서비스 연구가 활발해짐에 따라 해사 환경에서의 데이터 관리가 중요한 이슈로 부각되고 있다. 해사 빅데이터 체계 혹은 디지털 트윈 체계에서 수집되는 멀티 모달 데이터들이 본 논문에서 제안하는 체계를 통해 효과적으로 관리되고, 그 활용도를 향상시킬 수 있기를 기대한다.