Panoramax for Belgium

tags: open streetview

Whitepaper

Panoramax is an open source server package to create a tool that can recieve, censor and publish streetlevel imagery and extracted features. The tool has been developed by people from the OpenStreetMap community, within the French NGI, with significant government investment.

While there are two existing platforms for street level imagery as open data, both require you to send uncensored images to a commercially operated server in the hands of a non-European megacorporation (Meta and Grab). This has a few disadvantages:

  • trust/GDPR: the images are censored on their end, so you can never be entirely sure that they do not extract sensitive data on their end. DPOs might disapprove
  • license: while the images are published under an open data license and can be used to derive data, the license is CC BY SA 4.0. This means that - unless you get an excemption - the images can not be used to produce data under any other open data license!
  • detections: one of the huge added value of streetlevel imagery is that a significant number of different features can be extracted from images (like traffic signs, trees, sidewalks, manholes, road markings, ). While especially Mapillary has extremely useful data, it is a global project with limited resources to train the algorithms for stuff that is only locally relevant. What is available, depends on the goodwill of the company.

Panoramax lets you deal with all of these issues. Anyone can set up a server. So either you find a server that you trust, has the license you need and/or does the detections you want - or you simply set up your own.

The whole reason that the existing platforms are owned by huge corporations is simple. Setting this up for the whole world is prohibitively expensive. Panoramax takes a page from the fediverse (Mastodon, PeerTube, Lemmy) book, and solves this problem through federation. That means there can be many servers that do basically the same. As a contributor, you need to pick a server. As a user, you can simply query all the images for a certain location, regardless of what server they happen to be hosted on.

With OpenStreetMap Belgium, we have kept an offline archive of pictures taken by some of our volunteers, especially the ones made with our own 360 cameras. This could form the start of a Belgian Panoramax instance. We are looking for partners:

  • do you have streetlevel images that you didn't share before? We can work together on censoring them and publishing them
  • can you help with hardware and internet connectivity? It is most cost-effective to run this on a dedicated server. However we do not have a good location to locate this server. Help with managing the server would also be welcome
  • are you interested in creating derived data? We can give you access to a lot of geocoded images, and a community interested in helping to train your algorithms

Business model
For an OSM.be instance, we would license the images themselves under CC BY SA 4.0, and the derived data as CC0. Access to the website woud be free, but there would be rate limits in place. High rate and API access would be conditional to contributions to the operating costs. Exceptions might be made for organizations that contribute images or software improvement.

But OSM.be would be happy to be just a partner in this. If your organization is interested in hosting an instance yourself, we might be able to support you.

In any case: get in touch with board@osm.be to discuss!

Links

Confirmed partners

  • National Crisis Center. They will set up a private server, but offer to share processing power and are generally positive towards the project

Potential partners

  • Universities
  • Municipal and regional government, intercomunales or vervoersregios

Example setup (at the OSMfr instance)
Dell R7910 server / 256GB RAM / 28 CPU cores

  • 2 GTX1070 GPU for the blurring service
  • IBM storage bay (up to 60 x 3.5’’ HDD) – ZFS redundancy/caching
  • Currently 90TB of storage installed (18 HDD)




Server setup (THIS SECTION IS WIP)

Written by Thibault

Proposed solutions

There are currently two possible solutions. Solution 1 involves reusing an old server from Thibault that will partially upgraded/equipped with newer/better hardware.
Solution 2 involves buying a used Dell sever which will be more modern that the server from Solution 1.
Thankfully most of the equipment bought for Solution 1 can easily be reused in Solution 2. Only the CPU & memory would be a 'wasted' purchase for this attempt. (which is that €124,55 in the table below listed as 'Server specific hardware cost')

Solution 1: resuse HP server and upgrade

The server is an HP proliant DL160 G6
Yes, this server is VERY old. But if you upgrade the cpu to a reasonably fast cpu for that socket, you get pretty ok performance. Geovisio is probably not that cpu intensive, so this should work probably. Passmark benchmarkes, definitely over such a long period, aren't exactly the best comparison tool But they give a vague idea of performance.
The osm.fr from what I've been able to gather is running two Xeon E5-2683, E5-2697 or E5-2695 v3's which would be around 23.6-29.9k cpu mark score.
This server if equiped with two Xeon X5680's MIGHT perform around (13.6k cpu mark score) which I THINK should be enough.
RAM amount: rule of thumb is that for every TB of storage in ZFS you should have a GB of RAM. So 60TB of raw storage means 60GB of ram + 12GB for general tasks and Geovisio. Which is probably enough. (still have to run tests on how much Geovisio uses)

Server Specific Hardware Costs

Item Price
Server (HP ProLiant DL160 G6) Free
CPU (2x Xeon X5680) €80 (€40 x 2)
RAM (16 x 4GB DDR3) €96 (€6 x 16)
Total Server Specific Cost €176

General Hardware Costs

Item Price
SSD (Samsung 500GB) x2 (boot, ZFS mirror) €78 (€39 x 2)
HDD HBA (Dell PERC H310) €75
Mini-SAS to SATA Cable €38
GPU for Blurring (GTX 1080) €150
SSD L2ARC Cache 4TB €300
NVME PCIe Card €35
Total General Hardware Cost (w/o HDDs) €676

Note: We've only listed on GPU as that might be good enough for us as we won't have as much blurring need as France which is signficiantly larger than Belgium. Also a GTX 1080 was chose instead of GTX 1070 as I'm considering selling mine to OSMBE .

Storage Options

HDD Option Price
4 x 18TB Seagate Exos (€0,0151/GB) €1,087.56 (€271,89 x 4)
4 x 20TB Seagate Exos (€0,0161/GB) €1,291.6 (€322,90 x 4)

Note: 18TB drives offer slightly lower cost/GB but reduce total storage capacity.

Total Cost incl. 20TB Drives: €2,143.60

Pro's and cons:
🟢 Cheapest solution
🟠 Doesn't fit a desktop graphics card because the server is only 1U high. So blurring would have to happen at home*. (increases traffic usage and increases complexcity slightly)
🟠 HDD's can't be hotswapped. So there will be small downtime if hdd fails and needs to be replaced.
🟠 Very old server, so chance of components failing is higher.
🔴 Limited to 60TB (or with safety margin / better performance: 40TB)
🔴 If one drive fails, another drive has to be put in to start rebuilding. No possibility of hot spares

Solution 2: buy used Dell server

Server Specific Hardware Costs

item price
server (Dell poweredge r730) € 421 (€325 + €96 hdd's caddies)
cpu (2 x Xeon E5-2667 v3) € 170 (€85 x 2)
Memory
NIC 4x RJ45 intel € 36
1100W psu € 72,50
Rails € 107

"General Hardware Costs" and "storage options" are the same from above.

Select a repo