AN INTERACTIVE GRAPHICAL USER INTERFACE FOR MARITIME SECURITY SERVICES

In order to analyse optical satellite images for maritime security issues in Near-Real-Time (NRT) an interactive graphical user interface (GUI) based on NASA World Wind was developed and is presented in this article. Targets or activities can be detected, measured and classified with this tool simply and quickly. The service uses optical satellite images, currently taken from 6 sensors: Worldview-1 and Worldview-2, Ikonos, Quickbird, GeoEye-1 and EROS-B. The GUI can also handle SAR-images, air-borne images or UAV images. Software configurations are provided in a job-order file and thus all preparation tasks, such as image installation are performed fully automatically. The imagery can be overlaid with vessels derived by an automatic detection processor. These potential vessel layers can be zoomed in by a single click and sorted with an adapted method. Further object properties, such as vessel type or confidence level of identification, can be added by the operator manually. The heading angle can be refined by dragging the vessel’s head or switching it to 180° with a single click. Further vessels or other relevant objects can be added. The objects length, width, heading and position are calculated automatically from three clicks on top, bottom and an arbitrary point at one of the object’s longer side. In case of an Activity Detection, the detected objects can be grouped in area of interests (AOI) and classified, according to the ordered activities. All relevant information is finally written to an exchange file, after quality control and necessary correction procedures are performed. If required, image thumbnails can be cut around objects or around whole areas of interest and saved as separated, geo-referenced images.


INTRODCUTION
The European Maritime Safety Agency (EMSA) located in Lisbon, Portugal, offers a satellite-based oil spill and vessel detection service for participating European countries, which includes identifying and tracing of oil pollution on the sea, monitoring accidental pollution or contributing to the identification of polluters.Up to now, this so called CleanSeaNet service is based on radar satellite images, covering all European sea areas, which are analysed in Near-Real-Time (NRT) employing automatic detection algorithms.The main advantage of radar images is their independence of weather conditions (e.g.cloud coverage), but the identification for example of small objects is rather difficult.High resolution (HR) optical satellite data with ground sampling distances below 1 m provide detailed information to identify vessels also of small extent.Therefore this service has been expanded to HR optical satellite images.The complete service chain was published in (Müller, 2013).
On behalf of EMSA, the image data provider European Space Imaging (EUSI) and the Earth Observation Centre (EOC), the German Aerospace Centre (DLR) has established a fully NRT service for detecting and identifying objects and activities using very high resolution optical satellite imagery.The rapid access to satellite data and derived information is requested by EMSA to support maritime situational awareness, e.g.reducing the risk of maritime accidents, marine pollution from vessels and the loss of human life at sea.Satellite data from six systemsnamely Worldview-1, Worldview-2, Quickbird, GeoEye-1, IKONOS and EROS-B -with ground sampling distances below 1 m form the basis for NRT image delivery in less than one hour to EMSA.In addition, value adding services are provided to aid EMSA in delivering timely information on vessel locations and activities to EU member states.Value added services use a semi-automatic operational procedure to deliver results within one and half hours of image acquisition.In order to fulfil the demanding performance requirements a highly parallel processing chain, including the optimized Graphical User Interface (GUI) presented in this article, has been established.The processing chain includes image preparation (e.g.systematic correction, orthorectification), data transcription, Automatic Vessel Detection (AVD), GUI based Interactive Vessel Detection (IVD) and refinement as well as activity identifications, and finally delivery of standardized products to EMSA.
In this paper we present the GUI developed for this service, which is optimized for usability, fast measurements, value adding and verification opportunities.

NASA Word Wind
World Wind is an open source Standard Development Kit (SDK) for visualization and application of geo data.It was released and developed by NASA in 2004 under the NASA Open Source Agreement (NOSA) (Mattmann, 2012).Since then it was improved and further developed by a worldwide community.A very good overview of the World Wind SDK is given by Maria Antonia Brovelli in (Brovelli, 2012).The core of World Wind consists of a virtual globe and a tile caching method.World Wind is very suitable for working with a huge amount of raster images.Image tiles can be stored at the local disk or taken from remote servers.Basic data can be achieved by NASA and the United States Geological Survey (USGS) Web Mapping Services (WMS).Data sources include Landsat7, Blue Marble, USGS ortho-photos and Digital Terrain Models (DTM) from various sources.A number of libraries and functions including external data are available with the development package.Supported layer formats are i.e.GeoTIFF, JPEG2000, shp, kml, bill, dem and many others.With these tools it is possible to develop applications not only for external satellite images, but also for airborne/UAV images, GPS tracks, vector data or other cartographic maps.The source code is written in JAVA and therefor platform independent and practical for web launch applications, such as the JAVA Network Launch Protocol (JNLP).

GUI: ARCHITECTURE AND FUNCTIONALITIES
The GUI presented here, is an interactive tool for analysing optical satellite images manually for the purpose of a Near-Real Time (NRT) service.The GUI is part of a complete processing chain, which was developed for reacting in one hour (NRT) to requests of European Union agencies and member states to monitor areas of maritime disasters and keep the seas save and clean.Activities of interest are i.e. oil spills, sinking chemical/oil tankers, piracy, refugee boats endangered to sink, or drug trafficking situations.Some of the main functionalities of the GUI are described in this chapter.
The core code consists of the basic NASA World Wind globe with the general Landsat7 satellite images.Starting the GUI shows the screen as presented in figure 1.
Figure 1.Surface of the GUI Additional satellite images can be imported.In case of activations an email with the path and name of the configuration and job order file is send by a process control engine.This job order file is used in the xml format and serves as a configuration file for the GUI.It contains detailed information on the jobs to be executed and all necessary paths and names for in and output files.In a first step the operator copies the job order file path out of the activation email into the GUI as shown in figure 2.

Figure 2. Job order file usage
Figure 2 shows the window that appears if a wrong file path is typed in or if the job order file doesn't exist.The operator has the opportunity to wait for the file to appear in the directory.A count down with a time out of 30 minutes starts.Other possibilities are to enter a new path or to use the GUI manually, without configuration modulation.After successful import of the job order file the status panel window opens.This window, visible in the left lower corner of figure 3 or figure 4, contains information on the jobs to be done and on their current status.Colours describe the three status categories: current job, job done and job to do.
Image installation and processing are organised in a separate panel named images.The operator can trigger this automatic process by simply using the install button.Figure 3 and figure 4 demonstrate this image installation process.The image's path and name are obtained automatically from the job order file.For performance reasons an imagery tile cache is applied, supporting different zoom levels.This technique, implemented in the NASA World Wind SDK, enables fast zooming and scanning of very large satellite images on the earth globe, without time lag.Comparable to Google Earth Professional, the satellite images are shown as a whole in low resolution, while regarding the earth from a very high viewing distance.Since the full resolution tiles are shown only in the range of the necessary partial geographical regions, zooming and pushing is fast and almost lag-free.An operator can zoom in automatically to the satellite image by using the Goto button, delete or hide images or import more images.Supplied image formats are: GeoTIFF, BigTIFF or JPEG 2000.Coordinate system projections can be either geographic latitude and longitude, or the Universal Transverse Mercator (UTM).The GUI can handle images from one to three channels with the default image band ordering Red Green Blue (RGB).In addition the operator has the option to change the band order before image processing.Multi-spectral images up to 5 spectral bands can also be visualised, although only the first three bands will be processed by the GUI.

Vessel Detection
Vessels Detection describes the complete process of automatic and manual derivation of individual vessels as requested from the authorized end user.All necessary vessel parameters are described in the job order file and are applied automatically to the GUI.
The GUI offers an import function for exchange files, which contain the results of an Automatic Vessel Detection (AVD) processor, described in (Mattyus, 2013).AVD data must contain the following parameters: • UTM zone and information on northern or southern hemisphere Length, width and heading The central position is converted into geographic latitude and longitude and the vessel data are visualised with enwrapping rectangular layers.Vessel layers and can be zoomed in with a Goto button.The vessel's top is symbolized with a big yellow sphere at the vessel's heading.AVD objects can be visualised, corrected, extended, deleted or adopted with the GUI. Figure 6 shows some AVD vessels on top of the satellite image.AVD results should support the visual image interpretation process and increase the operator's speed of the entire vessel detection process significantly.Since operating time is a critical issue, at least for a NRT operation service, an advanced sorting method is applied to the objects from Automatic Vessel Detection (AVD) to optimize the visualization and interpretation process by reducing the fly distance from one object to another detected object.In a first step, the image area is divided into tiles.The number of tiles depends on the image size.Each tile is subdivided into three parts.The position of vessels derived from AVD methods are sorted in a meander shaped way as shown in figure 7. The complete frame displayed in figure 7 represents the satellite images.AVD objects are marked with a blue cross.If there are many vessel objects in a single tile part, the Euclidean distances between a vessel and the left or right, upper or lower corner, depending on scan direction, is calculated for all vessels.Vessels are sorted in order of increasing distance.The ratio between size of tiles, image stripes and image size was chosen, that proved to be most comfortable for the operators.The imported AVD objects can be modified, deleted or adopted without additional properties.Headings can be refined interactively by dragging the vessels head (symbolized by a big yellow sphere) to the correct position.The AVD method has a chance of 50% to assign the correct heading or a 180° rotated heading as illustrated in figure 9.For the latter case a single click on a button rotates the heading around 180° in the correct position.In Figure 8 a vessel layer detected with the AVD method is shown.Similar to the Automatic Vessel Detection (AVD) an Interactive Vessel Detection (IVD) is part of the main processing chain.Vessels are defined with a Three-Click method, one click at the vessel's bow, another click at the vessel's rear and the last one at an arbitrary point of one of the vessels longer side.The second image of figure 9 shows the Three-Click method.An underlying algorithm calculates the intersection point of the line between bow and rear and the second line that goes perpendicular to the first line through the third point at the vessels longer side.With this information the covering rectangular is calculated.After positioning of the third Click the vessel's covering rectangular layer is drawn automatically.The heading comes with the first and second click position (third image of figure 9).Vessel type, confidence level and remark are assigned by the operator as described above.Vessel layers can be hidden by a right-click on one of the rectangular lines as shown in the last image of figure 9. Vessel objects can be activated by a click on the sphere.The data table of the selected target is marked accordingly, active and ready to be changed manually.
Another GUI function is the production of image chips.Small sub-image chips of important objects can be generated and saved as separated images.These chips can be produced by drawing a rectangular around the desired image region.The chosen image chip can be saved as a geo-referenced image again.Figure 13 shows this option.
Figure 13.Image chip generation In a final step all adopted automatically vessels and all manually detected vessel objects, together with their properties, are merged, checked, corrected if necessary, and exported to a vessel parameter file.Figure 14 shows how to double check the parameters file before continuing the job.Together with the vessel parameter file a job done file is created and the process chain continues with bundling all information in a package and sending the entire product package to the costumer.
Figure 14.Verification of the vessel detection results

Activity Detection
If activity detection is requested, the status panel shows the necessary information derived from the incoming job order file.Analogous to the vessel detection, the base imagery can be imported by a single click.Activities of interest are oil spills, drug trafficking, anti-piracy, search and rescue or others.These activities are further subdivided into sub-activity categories.By way of example, oil spills contain the sub-categories: large oil spill at open shore, large oil spill in open water and vessel grounding.Some activity detections require a priori vessel detection.In that case, vessel objects are derived applying the method described above and thereafter classified in one or more AOIs.For that purpose the operator can draw a rectangle around one or more detected vessel objects.The selected AOI can further be modified, rotated, moved and refined in size.
Properties like activity and sub-activity types, confidence level of identification and remark have to be added.It is possible, to define different AOIs. Figure 15 shows such a scenario.Finally, the AOIs should be verified, deleted or corrected if necessary and again exported to an activity parameter file.As it is the case with vessel detection the processing chain resumes with the packing and delivery process, as soon as the job done file is created.Some of these interactive processing steps, in the event of activity detection, are presented in figure 16.

Figure 16. Verification of an activity detection
To support the processes described above, additional layers, such as cloud cover shape files, can be imported and applied as spatial filter to the detected vessel objects, i.e. to remove all vessels that fall into a cloud polygon.
Our GUI software package is provided as a JAVA jar folder and no installation is necessary.It runs under Windows as well as Linux operating systems.System requirements are: JAVA 6 or higher

Conclusion
We presented the architecture and the main functionalities of our developed interactive GUI for marine security services.The GUI is used for an operational service, based on optical satellite images, but could also be used for SAR images, airborne images or UAV images.In order to meet the requirements we used and extended the open source SDK NASA World Wind.The main GUI processes are as follows: • GUI configuration via job order file or manual usage

Future Development
Further developments could include webstart applications with the JAVA Network Launch Protocol (JNLP).With this service it might be possible for operators to execute an activity from remote workstations or everywhere else in the world.
From the operators point of view there is a need for improvements concerning the visualization of background imagery including image stretching, user defined band selection, blend or flicker functions.The GUI would be easily expandable for SAR images services.

Figure 3 .
Figure 3. Image import and status panel Figure 3 shows the image panel together with the status panel at the time of image processing.And figure 4 presents the GUI with the imported satellite image ready to be analysed.

Figure 4 .
Figure 4. View at a satellite image overlay

Figure 5 .
Figure 5. Vessel Detection and Activity Detection

Figure 7 .
Figure 7. Schematic diagram of the sorting method

Figure 8 .
Figure 8. Vessel derived from an Automatic Vessel Detection (AVD) processor

Figure 9 .
Figure 9.Some vessel object manipulation options

Figure
Figure 15.Activity detection For internal tests a number of test cases and scenarios have been designed and successfully realized.In July 2013 the first activity detection with monitoring of large oil spill in open waters over a couple of days has been carried out.