Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

perceive_semantix_lib

PyPI - Version PyPI - Python Version


Table of Contents

Installation

pip install perceive_semantix_lib

License

perceive_semantix_lib is distributed under the terms of the MIT license.

Code Outline

Scene Class

class Scene:
    Attributes:
        Config
        ObjectDetector
        ObjectTracker
        |- dict[UUID, SceneObjects]
        |- active_objects: list[UUID]
        |- inactive_objects: list[UUID]
        ...

    Methods:
        step(self, posed_rgbd: InputDataStamped)
        ...

The Scene class represents the core world model, maintaining and updating object hypotheses as new frames are processed.


Scene.step(posed_rgbd: InputDataStamped)

Processes a new input frame (posed_rgbd) and updates the scene accordingly. The main steps are:

  1. Detection

    Detect visible objects in the current frame using ObjectDetector, producing detections.

  2. Projection

    Project existing scene objects onto the camera plane to determine which ones are expected to be visible (SceneObject.project_onto_camera).

  3. Matching

    Establish correspondences between detections and existing objects:

  4. Merging & Creation

    Merge matched objects and instantiate new ones as needed, based on the populated adjacency structure (merge_from_adjacency).

  5. Post-processing

    Log the outcome and, if necessary, filter the scene to reduce noise and maintain consistency.


Extensions

Takes in a Scene to compute a 2D occupancy grid.

Implements the exploration priority map as described in https://arxiv.org/abs/2509.19851 based on a list of active objects provided by Scene.get_objects().