Skip to content

maplocalizer-framedposes - #12

Open
soeroesg wants to merge 3 commits into
OpenArCloud:mainfrom
nokia:maplocalizer-framedposes
Open

maplocalizer-framedposes#12
soeroesg wants to merge 3 commits into
OpenArCloud:mainfrom
nokia:maplocalizer-framedposes

Conversation

@soeroesg

Copy link
Copy Markdown
Contributor

Improvements in GeoPoseProtocol oscp/geoposeprotocol.py

  • comments
  • improved parsing of timestamps
  • improved parsing of accept version header

Added GeoPoseProtocolExtended oscp/geoposeprotocol_ext.py

  • added SpatialDDS 1.6 types in oscp/spatialdds_types.py
  • extended GPP in GeoPoseRequestExtended and GeoPoseResponseExtended with SpatialDDS-related extensions. Added support for multiple local FramedPoses and multiple geopose hypotheses. Further extensions with CoordConvention (SpatialDDS 1.6) and CoordScale (new)

Improvements in MapLocalizer:

  • can return multiple GeoPoses and multiple FramedPoses, if available
  • maxLoadedMaps setting for managing loaded maps;
  • added LRU cache for loaded maps;
  • added health check endpoints;
  • added x-openvps-map-id optional request header for localization in a specific map
  • extended map transform.json with optional FrameRef, CoordConvention, CoordScale, bundle all alignment variables in MapTransformInfo
  • more detailed error responses

Dockerfile improvements:

  • update base image
  • when copying hloc code, do not unpack under /app/hloc, because when FastAPI prepends /app to sys.path, import hloc can resolve to /app/hloc directory as a namespace package (no __init__.py at repo root) and break relative imports (e.g. cannot import name 'logger') because the real hloc code is in /app/hloc/hloc. So now we change to /app/Hierarchical-Localization
  • use python virtual env in the container

MapAligner:

  • update base image

- implemented map autoscaling based on shared images between hloc reconstruction and metric prior model from StrayScanner (ARKit)

- added new processing stage for metric alignment

- transform.json: renamed GeoPose (misleading name because not OGC GeoPose) to WorldAlignmentInfo, made the geo-alignment values optional

- reduce logging to console

Updates to Dockerfiles:

- upgrade base images

- resolve clash of `USER_ID` and `GROUP_ID` with existing values in newer cuda base images

- when copying hloc code, do not unpack under `/app/hloc`, because when FastAPI prepends `/app` to sys.path, `import hloc` can resolve to `/app/hloc` directory as a namespace package (no `__init__.py` at repo root) and break relative imports (e.g. `cannot import name 'logger'`) because the real hloc code is in `/app/hloc/hloc`. So now we change to `/app/Hierarchical-Localization`

- use python virtual env in the container

- nginx: do not log socket.io events but log everything else into a file
- comments
- improved parsing of timestamps
- improved parsing of accept version header

Added GeoPoseProtocolExtended `oscp/geoposeprotocol_ext.py`
- added SpatialDDS 1.6 types in `oscp/spatialdds_types.py `
- extended GPP in GeoPoseRequestExtended and GeoPoseResponseExtended with SpatialDDS-related extensions. Added support for multiple local FramedPoses and multiple geopose hypotheses. Further extensions with CoordConvention (SpatialDDS 1.6) and CoordScale (new)

Improvements in MapLocalizer:
- can return multiple GeoPoses and multiple FramedPoses, if available
- maxLoadedMaps setting for managing loaded maps;
- added LRU cache for loaded maps;
- added health check endpoints;
- added x-openvps-map-id optional request header for localization in a specific map
- extended map transform.json with optional FrameRef, CoordConvention, CoordScale, bundle all alignment variables in MapTransformInfo
- more detailed error responses

Dockerfile improvements:
- update base image
- when copying hloc code, do not unpack under `/app/hloc`, because when FastAPI prepends `/app` to sys.path, `import hloc` can resolve to `/app/hloc` directory as a namespace package (no `__init__.py` at repo root) and break relative imports (e.g. `cannot import name 'logger'`) because the real hloc code is in `/app/hloc/hloc`. So now we change to `/app/Hierarchical-Localization`
- use python virtual env in the container

MapAligner:
- update base image
…ligner), do not overwrite the whole matrix but only change its scale
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant