From 50c5e7027bef2f82ead1580102fd4c386b995547 Mon Sep 17 00:00:00 2001 From: Vaghinak Basentsyan Date: Mon, 16 May 2022 15:23:37 +0400 Subject: [PATCH 1/8] added polygon, polylin, point to video --- src/superannotate_schemas/__init__.py | 2 +- .../schemas/external/video.py | 78 ++++++++++++++++--- 2 files changed, 67 insertions(+), 13 deletions(-) diff --git a/src/superannotate_schemas/__init__.py b/src/superannotate_schemas/__init__.py index c19c7fb..99e3e98 100644 --- a/src/superannotate_schemas/__init__.py +++ b/src/superannotate_schemas/__init__.py @@ -7,7 +7,7 @@ from superannotate_schemas.validators import AnnotationValidators -__version__ = '1.0.42dev2' +__version__ = '1.0.43dev1' __all__ = [ diff --git a/src/superannotate_schemas/schemas/external/video.py b/src/superannotate_schemas/schemas/external/video.py index 3dbe411..6e194ab 100644 --- a/src/superannotate_schemas/schemas/external/video.py +++ b/src/superannotate_schemas/schemas/external/video.py @@ -4,24 +4,27 @@ from typing import Optional from typing import Union -from superannotate_schemas.schemas.enums import AnnotationStatusEnum +from pydantic import Field +from pydantic import StrictBool +from pydantic import StrictInt +from pydantic import StrictStr +from pydantic import ValidationError +from pydantic import conlist +from pydantic.error_wrappers import ErrorWrapper + from superannotate_schemas.schemas.base import BaseAttribute from superannotate_schemas.schemas.base import BaseInstance -from superannotate_schemas.schemas.base import BboxPoints from superannotate_schemas.schemas.base import BaseMetadata +from superannotate_schemas.schemas.base import BaseModel +from superannotate_schemas.schemas.base import BboxPoints +from superannotate_schemas.schemas.base import INVALID_DICT_MESSAGE from superannotate_schemas.schemas.base import NotEmptyStr from superannotate_schemas.schemas.base import PointLabels +from superannotate_schemas.schemas.base import StrictNumber +from superannotate_schemas.schemas.base import StrictPointNumber from superannotate_schemas.schemas.base import Tag -from superannotate_schemas.schemas.base import INVALID_DICT_MESSAGE +from superannotate_schemas.schemas.enums import AnnotationStatusEnum -from superannotate_schemas.schemas.base import BaseModel -from pydantic import StrictBool -from pydantic import conlist -from pydantic import ValidationError -from pydantic import Field -from pydantic import StrictInt -from pydantic import StrictStr -from pydantic.error_wrappers import ErrorWrapper class Attribute(BaseAttribute): name: NotEmptyStr @@ -31,6 +34,9 @@ class Attribute(BaseAttribute): class VideoType(str, Enum): EVENT = "event" BBOX = "bbox" + POINT = "point" + POLYGON = "polygon" + POLYLINE = "polyline" class MetaData(BaseMetadata): @@ -50,6 +56,11 @@ class BboxTimeStamp(BaseTimeStamp): points: BboxPoints +class PointTimeStamp(BaseTimeStamp): + x: StrictNumber + y: StrictNumber + + class EventTimeStamp(BaseTimeStamp): pass @@ -68,6 +79,21 @@ class BBoxInstanceMetadata(InstanceMetadata): point_labels: Optional[PointLabels] = Field(alias="pointLabels") +class PolygonInstanceMetadata(InstanceMetadata): + type: StrictStr = Field(VideoType.POLYGON, const=True) + point_labels: Optional[PointLabels] = Field(alias="pointLabels") + + +class PolylineInstanceMetadata(InstanceMetadata): + type: StrictStr = Field(VideoType.POLYLINE, const=True) + point_labels: Optional[PointLabels] = Field(alias="pointLabels") + + +class PointInstanceMetadata(InstanceMetadata): + type: StrictStr = Field(VideoType.POINT, const=True) + point_labels: Optional[PointLabels] = Field(alias="pointLabels") + + class EventInstanceMetadata(InstanceMetadata): type: StrictStr = Field(VideoType.EVENT, const=True) @@ -89,6 +115,18 @@ class BboxParameter(BaseParameter): timestamps: conlist(BboxTimeStamp, min_items=2) +class PolygonParameter(BaseParameter): + timestamps: conlist(StrictPointNumber, min_items=3) + + +class PolylineParameter(BaseParameter): + timestamps: conlist(StrictPointNumber) + + +class PointParameter(BaseParameter): + timestamps: conlist(StrictNumber, min_items=2) + + class EventParameter(BaseParameter): timestamps: conlist(EventTimeStamp, min_items=2) @@ -98,6 +136,21 @@ class BboxInstance(BaseModel): parameters: conlist(BboxParameter, min_items=1) +class PointInstance(BaseModel): + meta: PointInstanceMetadata + parameters: conlist(BboxParameter, min_items=1) + + +class PolygonInstance(BaseModel): + meta: PolygonInstanceMetadata + parameters: conlist(PolylineParameter, min_items=1) + + +class PolylineInstance(BaseModel): + meta: PolylineInstanceMetadata + parameters: conlist(PolylineParameter, min_items=1) + + class EventInstance(BaseModel): meta: EventInstanceMetadata parameters: conlist(EventParameter, min_items=1) @@ -105,7 +158,8 @@ class EventInstance(BaseModel): ANNOTATION_TYPES = { VideoType.BBOX: BboxInstance, - VideoType.EVENT: EventInstance + VideoType.EVENT: EventInstance, + VideoType.POINT: PointInstance } From 08f90736456acdd150c27af4b9467fffc5e3df99 Mon Sep 17 00:00:00 2001 From: Vaghinak Basentsyan Date: Tue, 17 May 2022 10:37:44 +0400 Subject: [PATCH 2/8] Changed video->point schemas --- src/superannotate_schemas/schemas/external/video.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/superannotate_schemas/schemas/external/video.py b/src/superannotate_schemas/schemas/external/video.py index 6e194ab..31bf78c 100644 --- a/src/superannotate_schemas/schemas/external/video.py +++ b/src/superannotate_schemas/schemas/external/video.py @@ -138,7 +138,7 @@ class BboxInstance(BaseModel): class PointInstance(BaseModel): meta: PointInstanceMetadata - parameters: conlist(BboxParameter, min_items=1) + parameters: conlist(PointParameter, min_items=1) class PolygonInstance(BaseModel): From bc735ce00ff06ae97164abe9c5aafcb694cf4d24 Mon Sep 17 00:00:00 2001 From: Vaghinak Basentsyan Date: Tue, 17 May 2022 10:38:12 +0400 Subject: [PATCH 3/8] update version --- src/superannotate_schemas/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/superannotate_schemas/__init__.py b/src/superannotate_schemas/__init__.py index e459470..fca1679 100644 --- a/src/superannotate_schemas/__init__.py +++ b/src/superannotate_schemas/__init__.py @@ -6,7 +6,7 @@ from superannotate_schemas.validators import AnnotationValidators -__version__ = '1.0.43dev1' +__version__ = '1.0.43dev2' __all__ = [ "__version__", From 67eaa69b71dfeeaa6649afb90626cf5143a3cdcc Mon Sep 17 00:00:00 2001 From: Vaghinak Basentsyan Date: Tue, 17 May 2022 12:06:50 +0400 Subject: [PATCH 4/8] minor changes --- src/superannotate_schemas/__init__.py | 2 +- src/superannotate_schemas/schemas/external/video.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/superannotate_schemas/__init__.py b/src/superannotate_schemas/__init__.py index fca1679..35c7cd3 100644 --- a/src/superannotate_schemas/__init__.py +++ b/src/superannotate_schemas/__init__.py @@ -6,7 +6,7 @@ from superannotate_schemas.validators import AnnotationValidators -__version__ = '1.0.43dev2' +__version__ = '1.0.43dev3' __all__ = [ "__version__", diff --git a/src/superannotate_schemas/schemas/external/video.py b/src/superannotate_schemas/schemas/external/video.py index 31bf78c..b0b41a4 100644 --- a/src/superannotate_schemas/schemas/external/video.py +++ b/src/superannotate_schemas/schemas/external/video.py @@ -124,7 +124,7 @@ class PolylineParameter(BaseParameter): class PointParameter(BaseParameter): - timestamps: conlist(StrictNumber, min_items=2) + timestamps: conlist(PointTimeStamp, min_items=2) class EventParameter(BaseParameter): From 9a42abed81e5428b12cf664256c23e464afaedbe Mon Sep 17 00:00:00 2001 From: Vaghinak Basentsyan <84702976+VaghinakDev@users.noreply.github.com> Date: Tue, 17 May 2022 12:20:25 +0400 Subject: [PATCH 5/8] Update __init__.py --- src/superannotate_schemas/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/superannotate_schemas/__init__.py b/src/superannotate_schemas/__init__.py index 35c7cd3..73ff611 100644 --- a/src/superannotate_schemas/__init__.py +++ b/src/superannotate_schemas/__init__.py @@ -6,7 +6,7 @@ from superannotate_schemas.validators import AnnotationValidators -__version__ = '1.0.43dev3' +__version__ = '1.0.43dev4' __all__ = [ "__version__", From 3968b568cd6106fa96ad529eb1b97f3c96e5da87 Mon Sep 17 00:00:00 2001 From: Vaghinak Basentsyan Date: Wed, 18 May 2022 11:08:32 +0400 Subject: [PATCH 6/8] Changes video annotatin types --- src/superannotate_schemas/__init__.py | 2 +- src/superannotate_schemas/schemas/external/video.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/superannotate_schemas/__init__.py b/src/superannotate_schemas/__init__.py index 35c7cd3..73ff611 100644 --- a/src/superannotate_schemas/__init__.py +++ b/src/superannotate_schemas/__init__.py @@ -6,7 +6,7 @@ from superannotate_schemas.validators import AnnotationValidators -__version__ = '1.0.43dev3' +__version__ = '1.0.43dev4' __all__ = [ "__version__", diff --git a/src/superannotate_schemas/schemas/external/video.py b/src/superannotate_schemas/schemas/external/video.py index b0b41a4..d334997 100644 --- a/src/superannotate_schemas/schemas/external/video.py +++ b/src/superannotate_schemas/schemas/external/video.py @@ -165,7 +165,7 @@ class EventInstance(BaseModel): class AnnotationInstance(BaseModel): __root__: Union[ - BboxInstance, EventInstance + BboxInstance, EventInstance, PointInstance ] @classmethod From cc6a71541694a08a64f7f30345596b4c62cd382e Mon Sep 17 00:00:00 2001 From: Vaghinak Basentsyan Date: Wed, 18 May 2022 11:10:19 +0400 Subject: [PATCH 7/8] Changes video annotatin types --- src/superannotate_schemas/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/superannotate_schemas/__init__.py b/src/superannotate_schemas/__init__.py index 73ff611..0e46ed0 100644 --- a/src/superannotate_schemas/__init__.py +++ b/src/superannotate_schemas/__init__.py @@ -6,7 +6,7 @@ from superannotate_schemas.validators import AnnotationValidators -__version__ = '1.0.43dev4' +__version__ = '1.0.43dev5' __all__ = [ "__version__", From a922100ada0b2a9243cc2bfe7f30e30dc8e75674 Mon Sep 17 00:00:00 2001 From: Vaghinak Basentsyan <84702976+VaghinakDev@users.noreply.github.com> Date: Sun, 22 May 2022 19:20:58 +0400 Subject: [PATCH 8/8] Update __init__.py --- src/superannotate_schemas/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/superannotate_schemas/__init__.py b/src/superannotate_schemas/__init__.py index 0e46ed0..5b60d76 100644 --- a/src/superannotate_schemas/__init__.py +++ b/src/superannotate_schemas/__init__.py @@ -6,7 +6,7 @@ from superannotate_schemas.validators import AnnotationValidators -__version__ = '1.0.43dev5' +__version__ = '1.0.44' __all__ = [ "__version__",