Skip to content

Occlusion robustness #262

@AlexReimann

Description

@AlexReimann

We did some occlusion tests of an tagStandard41h12 tag and the results were actually terrible.

Screenshot from 2022-10-07 16-41-32

Screenshot from 2022-10-07 16-42-11

Screenshot from 2022-10-07 16-42-18

Screenshot from 2022-10-07 16-42-31

Are other tags / tag families
more robust to occlusion? The original paper shows some highly occluded but still working tags:

https://april.eecs.umich.edu/media/pdfs/olson2011tags.pdf

Screenshot from 2022-10-07 16-37-25

Here is a bag of our test:

https://energyrobotics-my.sharepoint.com/:u:/g/personal/alexander_reimann_energy-robotics_com/EZvgFJxKYiNHp1mj_XxDT-sBZv6rWAcsGvo2LIOaHa3fFg?e=s2bD8t

The camera has some exposure switching turned on to cover more lightning conditions.
And we know it's kind of a crappy camera, but it's real world application after all.

Settings used for detection:

tag_family:        'tagStandard41h12'
tag_threads:       2

# detection of quads can be done on a lower-resolution image,
# improving speed at a cost of pose accuracy and a slight
# decrease in detection rate. Decoding the binary payload is
# still done at full resolution. .
tag_decimate:      1.0        # default: 1.0

# What Gaussian blur should be applied to the segmented image
# (used for quad detection?)  Parameter is the standard deviation
# in pixels.  Very noisy images benefit from non-zero values
# (e.g. 0.8).
tag_blur:         0.8       # default: 0.0

# When non-zero, the edges of the each quad are adjusted to "snap
# to" strong gradients nearby. This is useful when decimation is
# employed, as it can increase the quality of the initial quad
# estimate substantially. Generally recommended to be on (1).
# Very computationally inexpensive. Option is ignored if
# tag_decimate = 1.
tag_refine_edges:  1          # default: 1

# When non-zero, write a variety of debugging images to the
# current working directory at various stages through the
# detection process. (Somewhat slow).
tag_debug:         0          # default: 0

max_hamming_dist:  2          # default: 2 # high values are computational intensive

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions