Skip to content

Conversation

@BrennoCaldato
Copy link
Collaborator

Changed JSON communication for detected objects

  • The OBjectDetection and Tracker effects have a key "objects" in the Json that contains a dictionary of TrackedObjectBBox indexed by the object ID
  • self.data now keep track of all changes in detected objects

Example of the JSON for ObjectDetection:

{ // effect parameters
        "id": 7QCETIYKEJ
        "selected_object_index": "2"
        "confidence_threshold": "0.5"
        "class_filter": "truck"
        "objects":{
                //these are the detected objects dicts
                "9FDETJYKEJ":{
                        "box_id" : "9FDETJYKEJ"
                        "x1": "50"
                        "y1": "50"
                        "x2": "100"
                        "y2": "100"
                        "delta_x": {...}
                        ...
                }
                "56BR38F17U":{
                        "box_id" : "56BR38F17U"
                        "x1": "50"
                        "y1": "50"
                        "x2": "100"
                        "y2": "100"
                        "delta_x": {...}
                        ...
                }
        }
}

- Key "objects" in Json hold a dict of tracked objects
- self.data now keep track of all changes in detected objects

Problems:
- Keyframe updates are slow when interacting with transform handlers
- Saving the project is also slow
@BrennoCaldato BrennoCaldato merged commit 2390092 into effect-parenting May 19, 2021
@BrennoCaldato BrennoCaldato deleted the fix-saving branch May 19, 2021 15:01
@ferdnyc
Copy link
Contributor

ferdnyc commented May 19, 2021

@BrennoCaldato

Just a quick question, probably something I'm missing: How is there a numeric selected_object_index if the objects are indexed by ID?

@ferdnyc
Copy link
Contributor

ferdnyc commented May 19, 2021

Also:

Problems:
- Keyframe updates are slow when interacting with transform handlers
- Saving the project is also slow

Are these problems the change fixes, or... well, "causes", in effect? (IOW, are they problems before or after the changes here? ...Or both?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants