OpenFLAME
OpenFLAME is a platform for hosting, organizing, and discovering digital maps. It makes detailed maps, including indoor spaces, accessible while safeguarding the privacy of map data. Each organization hosts and manages its own maps, retaining full control over their data, much like websites operate independently on the Web. The broader vision of OpenFLAME is to enable world-scale mapping as a foundation for the next generation of spatial applications. For a deeper discussion of the project’s motivation, architecture, and design, see the paper.
Repositories
All the repositories related to OpenFLAME is in the openflam Github organization. Some important repositories are:
-
dns-spatial-discovery: The npm and Python library implementing the main OpenFLAME architecture. It includes DNS-based discovery of map servers, device localization with the map servers, and tracking localization confidence scores against local device sensors (VIO).
-
spatial-server: A reference implementation of the map server that works with OpenFLAME. The map server implements a visual positioning system (VPS) using 2-D images. We use neural-network based feature extractor and matcher. See documentation on how to use the map server.
-
geo-domain-explorer: Code for the geo-domain-explorer tool. See documentation for how to use the tool.
-
waypoint-tagger: Code for the waypoint-tagger tool. See documentation for how to use the tool.
Design
The above figure shows the architecture of OpenFLAME and the steps involved in an OpenFLAME query. OpenFLAME is implemented as an open source npm package. The package code is available on Github.
See the paper for full details on OpenFLAME, its architecture, use cases and philosophy.
Tools
VPS Map server
VPS map server is a reference implementation that provides the Visual Positioning Service (VPS) using neural-network based feature extractor and matcher. The server provide both map creation and localization endpoints. We also provide an augmented reality application that displays the tagged waypoints against the real-world using the VPS. See Map Server section for documentation on how to create and localize against maps.
Geo-domain Explorer
Geo-domain Explorer tool visualizes the geo-domains that are queried by a OpenFLAME device for a given location and confidence radius. It also automates the creation of DNS records needed to register a map server to make it discoverable by OpenFLAME. See Geo-domain explorer section for documentation.
Waypoint Tagger
Waypoint Tagger tool helps map creators visualize their 3D map and tag waypoints on it. The creators can also export their waypoints to be used with the map server. See Waypoint Tagger section for documentation.