ch-sa / labelCloud

A lightweight tool for labeling 3D bounding boxes in point clouds.

Home Page:https://ch-sa.github.io/labelCloud/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Labeling workflow improvements

Divelix opened this issue · comments

I'm not sure if this is right place to write suggestions, but I've been using labelCloud for some time and want to share some feature requests to improve labeling workflow:

  1. Add hotkey to select first/next bbox (Tab/ Ctrl+Tab to select next/previous should be intuitive for most people, imho). Reason: most datasets are sequential (consecutive frames differ not much) so I would like to iterate on them fast. E.g. click Next -> select bbox -> move with WASD a little -> proceed to next bbox/sample.
  2. Autoselect first bbox in sample. Reason: speed up labeling workflow.
  3. Add shortcuts for Previous/Next buttons (and show them in tooltips). Reason: moving cursor to move between clouds is slow and tedious. Btw, I can click (aka focus) button and repeat by pressing Space, but not sure if this feature is intentional or just PyQt5 side effect. Anyway, if I click elsewhere (aka lose focus) Space doesn't work anymore.
  4. Change bbox movement keys layout: Q/E for rotation around Z axis (more intuitive for rotation as they are on one horizontal line of keyboard and beside WASD), R/F for movement along Z axis (more intuitive for Z shift as they are on one vertical line of keyboard and beside WASD). Reason: X/Y buttons located far apart and inconvinient to use with WASD.
  5. Add "3D Cursor" as in Blender. Reason: rotation around pointcloud centroid is inconvenient and irritating. Rotation in local frame (camera frame) is even worse. "3D Cursor" seems to me as best solution for this problem (you can add "propagate to next cloud" checkbox for it just like for bboxes).
  6. Add gizmos to edit bboxes more conveniently.
  7. Select bboxes with numpad (you are limited by 10 bboxes, but still better than nothing).
  8. Switch class for bbox with hotkey
  9. Copy and paste bboxes

I'm really curious what @ch-sa thinks about this ideas.

Hi @Divelix,

thanks for the constructive suggestions.

The shortcuts proposals (1), (3), (7) and (8) are good ideas and should be straight forward to implement.

Feel free to open a PR with the change.


For the change of the existing short key (4) I am a bit more conservative as users may already have gotton used to the old keys.


The selection of the first bounding box (1) on loading a new point cloud also makes sense to me.

Feel free to open a PR here.

Hi @Divelix,

thanks for the constructive suggestions.

The shortcuts proposals 1), 3), 7) and 8) are good ideas and should be straight forward to implement.

Feel free to open a PR with the change.


For the change of the existing short key I am a bit more conservative as users may already have gotton used to the old keys.


The selection of the first bounding box on loading a new point cloud also makes sense to me.

Feel free to open a PR here.


Copy and paste of bboxes (9) should also be straight forward:

Simply add the curren bbox again to the list of bboxes (maybe with a slight offset).

Feel free to open a PR.


I also agree with the advantages of the blender like tools.

However, I probably won't find the time for that anytime soon. But I would be willing to assist and review anybody trying. :)

Best,

Christoph

I plan to make PR for easiest points in the next few days.

Also, I think there is easier solution for (5): we can just set centroid of active bbox as point of camera rotation and it would probably be more convenient solution than current cloud centroid.

I think the possible ideas were implemented in the linked PR – closing this issue.