Composite Event Patterns for Maritime Monitoring Manolis Pitsikalis 1 , 2 , Ioannis Kontopoulos 1 , 3 , Alexander Artikis 4 , 1 , Elias Alevizos 1 , Paul Delaunay 5 , Jules-Edouard Pouessel 5 , Richard Dreo 5 , Cyril Ray 5 , 6 , Elena Camossi 7 , Anne-Laure Jousselme 7 , Melita Hadzagic 7 1 Institute of Informatics & Telecommunications, NCSR Demokritos, Athens, Greece 2 Department of Informatics and Telecommunications, National & Kapodistrian University of Athens, Greece 3 Department of Informatics and Telematics, Harokopio University of Athens, Greece 4 Department of Maritime Studies, University of Piraeus, Greece 5 Naval Academy Research Institute, Brest, France 6 Arts et Metiers ParisTech, France 7 Centre for Maritime Research and Experimentation (CMRE), NATO, La Spezia, Italy
Composite Event Recognition I NPUT ◮ R ECOGNITION ◮ O UTPUT � . . . . . . . . . . . . Event Recognition Recognised CEs Streams of SDEs System . . . . . . . . . . . . CE Definitions October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 2
Maritime Monitoring October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 3
Automatic Identification System The Automatic Identification System is an extensively used autonomous tracking system that allows transmission of dynamic and static vessel information. Transmitted Data: • Dynamic information: MMSI, timestamp, position, speed, heading, course over ground, rate of turn • Static & Voyage related information: IMO, name, type, dimensions, destination, ETA, draught October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 4
Tugging operation • Two vessels, close in distance... • one of them is a tug boat... • and they are moving with same speed and direction at the same time. October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 5
Rendezvous • Two vessels are close in distance... • and they are stopped or sailing with low speed... • for a period of time. October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 6
Fishing • A fishing vessel in a fishing area... • sailing with trawling speed... • and its course is “erratic”. October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 7
Event Calculus • A logic programming language for representing and reasoning about events and their effects. • Key components: event (typically instantaneous). fluent : a property that may have different values at different points in time. • Built-in representation of inertia : F = V holds at a particular time-point if F = V has been initiated by an event at some earlier time-point, and not terminated by another event in the meantime. October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 8
Run-Time Event Calculus : Predicates Predicate Meaning happensAt( E , T ) Event E occurs at time T initiatedAt( F = V , T ) At time T a period of time for which F = V is initiated At time T a period of time for which terminatedAt( F = V , T ) F = V is terminated holdsFor( F = V , I ) I is the list of the maximal intervals for which F = V holds continuously holdsAt( F = V , T ) The value of fluent F is V at time T union all([ J 1 , . . . , J n ] , I ) I =( J 1 ∪ . . . ∪ J n ) intersect all([ J 1 , . . . , J n ] , I ) I =( J 1 ∩ . . . ∩ J n ) I = I ′ \ ( J 1 ∪ . . . ∪ J n ) relative complement all ( I ′ , [ J 1 , . . . , J n ] , I ) October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 9
Run-Time Event Calculus: Windows Working Memory time Q 177 Q 178 Q 179 Q 180 Q 181 Q 182 Working Memory time Q 177 Q 178 Q 179 Q 180 Q 181 Q 182 Working Memory time Q 177 Q 178 Q 179 Q 180 Q 181 Q 182 October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 10
Patterns: Rendezvous 5 0 5 10 15 20 m holdsFor( rendezVous ( Vessel1 , Vessel2 ) , I ) ← holdsFor( proximity ( Vessel1 , Vessel2 ) , I p ) , holdsFor( lowSpeed ( Vessel1 ) , I l1 ) , holdsFor( lowSpeed ( Vessel2 ) , I l2 ) , holdsFor( stopped ( Vessel1 ) = farFromPorts , I s1 ) , holdsFor( stopped ( Vessel2 ) = farFromPorts , I s2 ) , Critical points Vessel 1 AIS messages Vessel 2 AIS messages holdsFor( tugging ( Vessel1 , Vessel2 ) , Itug ) , Vessel 1 trajectory Vessel 2 trajectory I 1 = I l1 ∪ I s1 , I 2 = I l2 ∪ I s2 , Rendezvous between two I = ( I 1 ∩ I 2 ∩ I p ) \ Itug , I > RV time . fishing vessels. October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 11
Patterns: Engaged in fishing initiatedAt( trawlingMovement ( Vessel ) , T ) ← 1 0 1 2 3 4 km happensAt( change in heading ( Vessel ) , T ) , holdsAt( withinArea ( Vessel , fishing )) , T ) . deadlineUE( trawlingMovement ( Vessel ) , Trawling MDtime ) . holdsFor( trawling ( Vessel ) , I ) ← Vessel : fishing , Critical points holdsFor( trawlSpeed ( Vessel ) , It ) , Raw AIS positions Trawling trajectory Fishing area holdsFor( withinArea ( Vessel , fishing ) , Iw ) , holdsFor( trawlingMovement ( Vessel ) , Itc ) , A fishing vessel during I = It ∩ Iw ∩ Itc , trawling activity. I > TrawlingDuration . October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 12
Experimental Setup: Dataset Brest, France October 1st 2015 - 31st March 2016. Data # Vessels 5K Position signals 18M Critical position signals 4.6M Spatio-temporal events 811K October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 13
Experimental Setup: Streams October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 14
Experimental Results: Accuracy Event F 1 -Score Speed not compatible with area 1.000 Anchored 1.000 Moored 1.000 Aground 1.000 Loitering 1.000 Rendezvous 1.000 Under way 0.997 Movement ability affected 0.964 Trawling speed 0.961 Engaged in fishing 0.961 Speed not compatible with vessel type 0.937 0.915 Tugging 0.838 Dead in water , drifting October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 15
Experimental Results: False Positives/Negatives TP TP FP TP Critical Points FN Raw AIS messages October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 16
Average recognition time: all events Step = 2 hours 6 Average Recognition Time (sec) Enriched AIS Stream Critical Point Stream 4 2 0 2 4 8 16 Window size (hours) Average recognition times. October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 17
Average recognition time: per composite event (part A) 8 4 Average Recognition Time (sec) Average Recognition Time (sec) underWay underWay highSpeedNC highSpeedNC 6 travelSpeed 3 travelSpeed 4 2 2 1 0 0 0 2 4 8 16 18 0 2 4 8 16 18 Window size (hours) Window size (hours) Enriched AIS stream Critical point stream October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 18
Average recognition time: per composite event (part B) 4 4 Average Recognition Time (sec) Average Recognition Time (sec) atAnchor atAnchor moored moored 3 aground 3 aground 2 2 1 1 0 0 0 2 4 8 16 18 0 2 4 8 16 18 Window size (hours) Window size (hours) Enriched AIS stream Critical point stream October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 19
Average recognition time: per composite event (part C) 4 4 Average Recognition Time (sec) Average Recognition Time (sec) trawling trawling tugging tugging 3 inSAR 3 inSAR 2 2 1 1 0 0 0 2 4 8 16 18 0 2 4 8 16 18 Window size (hours) Window size (hours) Enriched AIS stream Critical point stream October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 20
Average recognition time: per composite event (part D) 4 4 Average Recognition Time (sec) Average Recognition Time (sec) rendezVous rendezVous loitering loitering 3 vesselIST 3 vesselIST 2 2 1 1 0 0 0 2 4 8 16 18 0 2 4 8 16 18 Window size (hours) Window size (hours) Enriched AIS stream Critical point stream October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 21
• Slides, complex event recognition software, datasets: http://cer.iit.demokritos.gr • Brest dataset: https://zenodo.org/record/1167595 October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 22
Any questions? October 31, 2018 SETN2018 Hellenic Conference on Artificial Intelligence 23
Recommend
More recommend