Skip to content

Decoding Uses Ground Truth Instead of Compressed Data in OctSqueeze Implementation #16

Description

@DoctorHaibara

Description:

Hello,

I found a potential issue in the OctSqueeze implementation within the MindSpore repository. In the compression_decompression_simulation function (located in eval.py), the decoding process directly utilizes ground truth occupancy data instead of reconstructing from the compressed bitstream.

Issue Details:

In the following part of the code:

occupancy_stream = nodes["gt"].astype(np.int)
recon_tree = Octree(max_range=max_range, precision=precision_oct)
recon_tree, recon_points = deserialize_depth_first(iter(occupancy_stream), recon_tree.max_depth, recon_tree)

The variable occupancy_stream is assigned directly from nodes["gt"], which contains the original occupancy ground truth. This means the reconstruction process is not actually decoding from the compressed bitstream, but instead is simply using the original occupancy information. As a result:

  • The decoding step does not use the entropy-decoded data from the compressed bitstream.
  • The reconstructed octree does not truly reflect the compression performance since it bypasses the actual entropy decoding.

Expected Behavior:

The decoding process should reconstruct the octree from the entropy-decoded occupancy stream, rather than relying on the original ground truth occupancy values. The code should retrieve occupancy data from the compressed bitstream instead of using nodes["gt"] directly.

Could the maintainers confirm whether this is an issue or if there is a reason for using ground truth in this manner? Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions