facebookresearch / facebookresearch/OrienterNet

A simple test with OrienterNet

Open
#34 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
577
Forks
66
PR merge metrics
No merged PRs in 30d

Description

Hi sarlin:

I make a small testing sample, followed maploc/data/mapillary/prepare.py
left all the key parameters as default:

crop_size_meters: 64
z_max: 32
x_max: 32
pixel_per_meter: 2

It's a single-test, I took 4 photos at the same place 1 by 1 as the following map indicates:
![image](https://github.com/facebookresearch/OrienterNet/assets/8930126/c5e5991c-218c-4949-9ff2-b86015f4c2a3)
This is really where I stand and bearing. Then use OrienterNet to get the results(in the same order):

![image](https://github.com/facebookresearch/OrienterNet/assets/8930126/ff34fe32-bf6f-4fa2-8265-733eb776d011)
![image](https://github.com/facebookresearch/OrienterNet/assets/8930126/b8d55aa6-8ef3-4547-b9bc-2304b365ef5e)
![image](https://github.com/facebookresearch/OrienterNet/assets/8930126/be186658-4fec-488b-8259-958ac59815b9)
![image](https://github.com/facebookresearch/OrienterNet/assets/8930126/e1a1cabc-9a54-4f68-8739-b42f532cef45)

The red arrow is a dummy position/direction, because beside a high building the accuration of gps is really bad, so I manually filled a random data in image_infors/xxx.json.

I uploaded my testing files as ON_test and shared you with the access, sorry for personal privacy I don't want to make it public.
Just type:
python test_single.py
If you have time please have a try.

The result is not ideal. I tried so many modification on parameters but failed,such as:
1. enlarge crop_size_meters
2. Increase/decrease z_max/x_max/ppm

I think, maybe the problem is the depth estimation, it's easy to inference a relative depth but not absolute depth from a mono photo, for example, in the first photo there is a building about 200 meters away, but that appeared in photo and be figured out in BEV, this is already far beyond the range of z_max(32 meters), so it's hard to let the BEV to match the map in real size. I had tried to increase z_max but my GPU only has 40GB ram, after adjust z_max to 36, it crashed OOM.
I know the current BEV-Map registering is by a FFT optimized template matching, the rotation can be 64/256, is it possible to add a scale mechanism just like rotation in the matching process(of cause the resolution should be down sampled to fit the GPU RAM size).

Thanx!

BTW, why don't you use SuperGlue in this project?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.