borglab / borglab/gtsfm

Handle None vs. Nan in data association

Open
#248 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Jupyter Notebook
Stars
524
Forks
64
Avg merge
4h 1m
Merged PRs (30d)
3

Description

here is the offending line: https://github.com/borglab/gtsfm/blob/master/gtsfm/data_association/point3d_initializer.py#L187

we pass None as the avg_track_error if poses underconstrained, or cheirality check fails, or inliers underconstrained

but NaN is returned in some other case. so we could just pass np.nan or float("NaN") for each of those

or cast numpy arrays of object type to float32 in metrics, because object types are not supported. But we should not cast everything.

Contributor guide

Open the contributing guide

Research direction

Start at gtsfm/data_association/point3d_initializer.py#L187 and trace how avg_track_error is produced when poses, cheirality, or inliers are underconstrained. Then inspect the metrics code that receives these values and decide which representation is consistently supported. Done means the chosen handling avoids object-typed metric arrays without changing unrelated values.

Written by the indexing model from the issue text.

Assessment

Tech stack
numpy, python
Domain
computer-vision
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.