Let the machines work 🤖

We get satellite images from the Sentinel Hub API where we can get images from the coordinates we want. This makes it easy to compare images with AIS data from the same time period and coordinates.

Sattelite image of ships
Counting ships

To identify ships from the satellite images, we need more eyes than we have available. So what’s better than letting the machines do the work.
We have developed our own ML code in Python to recognize ships. This will make it much more efficient than manually reviewing all the images.
Currently, the machine has 99% confidence in recognizing ships. It then creates a heat map that shows where it thinks (with 99% probability) there are ships.
Then it counts the number of ships and sends it on.

Training the model to gain confidence

When we know how many ships are within a given area at a given time, it is easy to compare this with data from AIS.
Here we search through the API of the Norwegian Coastal Administration, where we can count the number of ships within the same time and area.

JSON from AIS data

Using external data in this way provides great value for our customers as the threat at sea is significantly lower 💾🏴‍☠️

They see me flowin’ 🏴‍☠️🦜

When we need to merge things together, what could be easier than using Power Automate.
We have seen that there is a need for visual warning on board ships to be ready if pirates are coming.

Power Automate flow for Hue lights
Triggered 🤔


Therefore, we have connected a Zigbee light chain to a Philips Hue base, on which we use a Power Automate flow to activate a red alarm light.
This is done by calling an endpoint with ALERT in the body.
When the coast is clear again, we can send a “no danger” message and the light will return to green.
It is solved by calling the same endpoint with CLEAR.

Some code for sending alerts to Teams and lights

To make this work, we have connected a Raspberry Pi to the same local network as Philips Hue. We have used a Philips Hue connector from an independent developer.
Fine with everything that is ready-made from 3rd parties 😃

Raspberry PI connecting it all together

What do we do? 🤔

To find out if there are pirates in the waters where commercial ships operate, we will compare data from AIS (Automatic Identification System) with satellite images from the same area.
If there are more ships in the satellite images than the AIS data shows, we will trigger an alarm. This alarm alerts via flashing lights (Zigbee), Teams and an app we build ourselves.

High level architecture

The image analysis itself is carried out using the ResNet architecture, which Herman has written himself with Python. We get the satellite images from open APIs, the same with AIS data.

Example of sattelite image with ships
Training the machine to identify ships in images
Response from AIS API

The comparison takes place by counting the number of ships on the satellite image within given coordinates, then we compare that number with the total number of ships we find through AIS. If the number is unequal, we assume that there are pirates in the area.
This finding is posted in a table in Dataverse, where we have a Power Automate flow that picks up new rows and sends them to our Teams app in addition to triggering a red warning light in Philips Hue.

We also have a React web app that presents data to the emergency response team that keeps track and notifies the right authorities and ships.

We’re having fun at camp! ⛺🦜

While we make good solutions to fight pirates, we’re having a good time in camp 😃
We make cool 3D printed ships so we have something to play with.

In addition, the atmosphere is really good

Everyone has tasks, a lot to do and bad chairs. But we still smile.

It is not least important to be prepared, since we are surrounded by pro-pirate teams

New and existing tech 🤓

We have to think both new and traditional when we test our idea of a pirate-free world.
In order for us to be able to alert the authorities and ships about possible pirates at an early stage, we have to use tools that are already in place in addition to some new ones.

We think that Teams is a perfect channel to get notifications about newly discovered pirate ships, since it’s something we already have.
We have created a Teams app that gives us notifications in a Teams channel.
Here we have the opportunity to send detailed alerts on situations that arise and at the same time link to our PoS surface for a total overview.

The PoS surface is made in React.js, and the app is built with Vite instead of create-react-app as this is a much faster way to build. New and hip 😉

Protector of the seas (PoS)

Piracy is a major threat to global trade, and it is crucial to have effective measures in place to detect pirate ships. Satellite images can play a decisive role in this context. With the ability to cover large areas and provide real-time updates, satellite images can provide authorities with the information they need to identify and track pirate ships, even in remote areas. By combining satellite images with other technologies, such as AIS data, a comprehensive system can be established to monitor the world’s oceans and keep them safe from pirate ships.

By using existing data sets, we can train models to recognize ships from satellite images [1]. By comparing the number of ships found on AIS data to the number discovered on satellite images, we can find out how many non-commercial ships are in an area. We then make the assumption that if non-commercial ships are close to commercial ships in an area where the threat is high, potentially dangerous situations may arise.

AIS stands for Automatic Identification System. It’s a technology used on ships and boats to broadcast their location, course, and speed to other ships and shore-side authorities. It helps prevent collisions and makes it easier for ships to navigate in busy shipping lanes.

This model must then be linked to a portal where authorities can receive early warning that they should be paying extra close attention in a certain area.

The distance to the nearest coast guard or military vessel from AIS data can also influence the level of threat.

By combining our custom ML solution with open AI data, we can predict where pirates are located. This allows us to warn shipping companies so they can prepare their ships by taking a different route or fighting against the pirates.

If we have time, we will expand the functionality of the solution by offering alternative pirate-free routes for an additional fee