Creating artificial vessel trajectories with Presto

Field: Computer Science (Physical Sciences)

The automatic detection of anomalies in the maritime domain requires representative anomalous instances. We developed Presto, an application that enables maritime-domain experts to create artificial anomalous vessel trajectories that may be characteristic of traffic violations, illegal fishing activities, drug smuggling, or piracy. When merged with existing real-world data, the artificial trajectories make possible the usage and evaluation of machine learning algorithms for the automatic detection of anomalies. 1 The need for maritime anomalies A Maritime Safety and Security (MSS) system aims at guiding a surveillance operator to find maritime anomalies, such as vessel traffic violations, illegal fishing activities, and drug smuggling [5]. In real-world data, serious maritime anomalies rarely occur. Because the MSS system might be deployed in any maritime circumstance, we need to evaluate if our machine learning algorithms [6] can properly detect such anomalies. To this end, we have developed Presto, an application which enables maritime domain-experts to easily create artificial scenarios. In contrast to existing simulation applications, such as VR-Forces [7], which impose restrictive behavior models, our application gives the expert full control over the vessel trajectories. 2 Overview of Presto The main concept in Presto is a scenario, which can contain one or more trajectories. Each trajectory is defined by several waypoints. A waypoint is a location on the world map and contains the additional parameters velocity, time, and curvature. Figure 1 shows the user interface of Presto, which consists of three main elements: (a) the world map, (b) the timeline, and (c) the property editor. Using the world map, the user can edit the position of the trajectories and their waypoints. The timeline gives an overview of the trajectories within the scenario and is used to navigate through time. The property editor with its three tabs “scenario”, “track”, and “waypoint”, is used to edit element specific parameters (e.g., for a scenario: name and description; for a trajectory: name and flag; and for a waypoint: location and velocity). Presto has the ability to load existing, real vessel-trajectory data as so-called background data. This background data contains the positions and bearings of all vessels for a certain period (e.g., a day). It serves as a reference when creating new artificial trajectories, so that, for instance, collisions can be avoided or enforced. The generated data is used to create real-world vessel-trajectory data by filtering the appropriate variables such as location, velocity, and bearing, such that data points mimic messages according the Automatic Identification System (AIS) protocol. The exported data is fused with real-world data, such that the artificial data cannot be distinguished up front from the original data. Presto is entirely programmed in Java, and makes extensive use of the Eclipse Rich Client Platform [3]. The world map is based on NASA World Wind, an open-source alternative to Google Earth [1]. The use of these software solutions makes Presto suitable for recent versions of Windows, Mac OS X, and Linux based operating systems. The world map requires a hardware-accelerated 3D graphics card and an internet connection for downloading the high-resolution terrain images, although these can also be cached locally.1 †This work has been carried out as part of the Poseidon project under the responsibility of the Embedded Systems Institute (ESI), The Netherlands. This project is partially supported by the Dutch Ministry of Economic Affairs under the BSIK03021 program. 1The first author is the main developer and will demonstrate Presto and all its features at the BNAIC in approximately 20 minutes.