Skip to content

Incorrect import of Kitti 1.0 annotations that contain both polygons and bboxes #103

@archibald1418

Description

@archibald1418

If an annotation archive contains both polygons (=segmentation) and bboxes (=detection), objects of only the first type that was found are imported, while objects of other type are not.

Steps to reproduce in app.cvat.ai

  • open a clean job
  • add a polygon
  • add two shapes, save
  • export
  • clean annotations, save
  • import the archive
  • new annotations contain only one object (a polygon)
    It works vice-versa if the first annotation is a rectangle(=bbox)
    (there is also already a unit test for this)

Note that, bboxes alone and polygons alone are treated correctly. The issue is only when they are together in the same annotation.

Why does it happen?

Here, if KittiImporter detects both annotation types, it treats them as conflicting and gives priority to objects of first found type. This results in polygons missing from annotations when they are added together with bboxes, and bboxes if vice-versa

This is reportedly a design choice in order to avoid conflicts between classes

Possible solutions

  • propose a fix to include both annotation types (detection & segmentation)
  • if not possible, perhaps a notification message explaining that annotations with only one annotation type are supported?

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