"...git@developer.sourcefind.cn:OpenDAS/mmdetection3d.git" did not exist on "f8e3ce890c140f45c089778e0674dd66e68b1b49"
Commit 1aa10524 authored by VVsssssk's avatar VVsssssk Committed by ChaimZhu
Browse files

[Fix]Fix datasample problem

parent 0b147600
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
from .anchor import * # noqa: F401, F403 from .anchor import * # noqa: F401, F403
from .bbox import * # noqa: F401, F403 from .bbox import * # noqa: F401, F403
from .data_structers import * # noqa: F401, F403 from .data_structures import * # noqa: F401, F403
from .evaluation import * # noqa: F401, F403 from .evaluation import * # noqa: F401, F403
from .points import * # noqa: F401, F403 from .points import * # noqa: F401, F403
from .post_processing import * # noqa: F401, F403 from .post_processing import * # noqa: F401, F403
......
# Copyright (c) OpenMMLab. All rights reserved. # Copyright (c) OpenMMLab. All rights reserved.
# TODO: will use real PixelData once it is added in mmengine from mmengine.data import BaseDataElement, InstanceData, PixelData
from mmengine.data import BaseDataElement
from mmengine.data import BaseDataElement as PixelData
from mmengine.data import InstanceData
class Det3DDataSample(BaseDataElement): class Det3DDataSample(BaseDataElement):
...@@ -28,29 +25,41 @@ class Det3DDataSample(BaseDataElement): ...@@ -28,29 +25,41 @@ class Det3DDataSample(BaseDataElement):
- ``pred_pts_panoptic_seg``(PixelData): Predicted of point cloud - ``pred_pts_panoptic_seg``(PixelData): Predicted of point cloud
panoptic segmentation. panoptic segmentation.
Examples: Examples:
>>> import torch >>> from mmengine.data import InstanceData, PixelData
>>> import numpy as np
>>> from mmengine.data import InstanceData
# TODO: will use real PixelData once it is added in mmengine
>>> from mmengine.data import BaseDataElement as PixelData
>>> from mmdet3d.core import Det3DDataSample >>> from mmdet3d.core import Det3DDataSample
>>> from mmdet3d.core.bbox import BaseInstance3DBoxes
>>> data_sample = Det3DDataSample() >>> data_sample = Det3DDataSample()
>>> img_meta = dict(img_shape=(800, 1196, 3), >>> meta_info = dict(img_shape=(800, 1196, 3),
... pad_shape=(800, 1216, 3)) ... pad_shape=(800, 1216, 3))
>>> gt_instances_3d = InstanceData(metainfo=img_meta) >>> gt_instances_3d = InstanceData(metainfo=meta_info)
>>> gt_instances_3d.bboxes = torch.rand((5, 4)) >>> gt_instances_3d.bboxes = BaseInstance3DBoxes(torch.rand((5, 7)))
>>> gt_instances_3d.labels = torch.rand((5,)) >>> gt_instances_3d.labels = torch.randint(0,3,(5, ))
>>> data_sample.gt_instances_3d = gt_instances_3d >>> data_sample.gt_instances_3d = gt_instances_3d
>>> assert 'img_shape' in data_sample.gt_instances_3d.metainfo_keys() >>> assert 'img_shape' in data_sample.gt_instances_3d.metainfo_keys()
>>> len(data_sample.gt_instances_3d)
5
>>> print(data_sample) >>> print(data_sample)
<Det3DDataSample( <Det3DDataSample(
META INFORMATION
DATA FIELDS
_gt_instances_3d: <InstanceData(
META INFORMATION META INFORMATION
pad_shape: (800, 1216, 3)
img_shape: (800, 1196, 3)
DATA FIELDS DATA FIELDS
labels: tensor([0, 0, 1, 0, 2])
bboxes: BaseInstance3DBoxes(
tensor([[0.2874, 0.3078, 0.8368, 0.2326, 0.9845, 0.6199, 0.9944],
[0.6222, 0.8778, 0.7306, 0.3320, 0.3973, 0.7662, 0.7326],
[0.8547, 0.6082, 0.1660, 0.1676, 0.9810, 0.3092, 0.0917],
[0.4686, 0.7007, 0.4428, 0.0672, 0.3319, 0.3033, 0.8519],
[0.9693, 0.5315, 0.4642, 0.9079, 0.2481, 0.1781, 0.9557]]))
) at 0x7fb0d9354280>
gt_instances_3d: <InstanceData( gt_instances_3d: <InstanceData(
META INFORMATION META INFORMATION
...@@ -58,55 +67,57 @@ class Det3DDataSample(BaseDataElement): ...@@ -58,55 +67,57 @@ class Det3DDataSample(BaseDataElement):
img_shape: (800, 1196, 3) img_shape: (800, 1196, 3)
DATA FIELDS DATA FIELDS
bboxes: tensor([[0.4247, 0.9994, 0.3259, 0.7683], labels: tensor([0, 0, 1, 0, 2])
[0.4324, 0.6514, 0.9889, 0.7974], bboxes: BaseInstance3DBoxes(
[0.0928, 0.0344, 0.9114, 0.2769], tensor([[0.2874, 0.3078, 0.8368, 0.2326, 0.9845, 0.6199, 0.9944],
[0.2408, 0.8446, 0.5631, 0.2750], [0.6222, 0.8778, 0.7306, 0.3320, 0.3973, 0.7662, 0.7326],
[0.5813, 0.9661, 0.6281, 0.9755]]) [0.8547, 0.6082, 0.1660, 0.1676, 0.9810, 0.3092, 0.0917],
labels: tensor([0.7416, 0.3896, 0.9580, 0.6292, 0.3588]) [0.4686, 0.7007, 0.4428, 0.0672, 0.3319, 0.3033, 0.8519],
) at 0x7f43a23c7460> [0.9693, 0.5315, 0.4642, 0.9079, 0.2481, 0.1781, 0.9557]]))
) at 0x7f43a23c7fa0> ) at 0x7fb0d9354280>
>>> pred_instances_3d = InstanceData(metainfo=img_meta) ) at 0x7fb0d93543d0>
>>> pred_instances_3d.bboxes = torch.rand((5, 4)) >>> pred_instances_3d = InstanceData(metainfo=meta_info)
>>> pred_instances_3d.scores = torch.rand((5,)) >>> pred_instances_3d.bboxes = BaseInstance3DBoxes(torch.rand((5, 7)))
>>> pred_instances_3d.scores = torch.rand((5, ))
>>> data_sample = Det3DDataSample(pred_instances_3d=pred_instances_3d) >>> data_sample = Det3DDataSample(pred_instances_3d=pred_instances_3d)
>>> assert 'pred_instances_3d' in data_sample >>> assert 'pred_instances_3d' in data_sample
>>> data_sample = Det3DDataSample() >>> data_sample = Det3DDataSample()
>>> gt_instances_3d_data = dict( >>> gt_instances_3d_data = dict(
... bboxes=torch.rand(2, 4), ... bboxes=BaseInstance3DBoxes(torch.rand((2, 7))),
... labels=torch.rand(2), ... labels=torch.rand(2))
... masks=np.random.rand(2, 2, 2))
>>> gt_instances_3d = InstanceData(**gt_instances_3d_data) >>> gt_instances_3d = InstanceData(**gt_instances_3d_data)
>>> data_sample.gt_instances_3d = gt_instances_3d >>> data_sample.gt_instances_3d = gt_instances_3d
>>> assert 'gt_instances_3d' in data_sample >>> assert 'gt_instances_3d' in data_sample
>>> assert 'masks' in data_sample.gt_instances_3d >>> assert 'bboxes' in data_sample.gt_instances_3d
>>> data_sample = Det3DDataSample() >>> data_sample = Det3DDataSample()
>>> gt_pts_panoptic_seg_data = dict(panoptic_seg=torch.rand(2, 4)) >>> gt_pts_panoptic_seg_data = dict(panoptic_seg=torch.rand(1, 2, 4))
>>> gt_pts_panoptic_seg = PixelData(**gt_pts_panoptic_seg_data) >>> gt_pts_panoptic_seg = PixelData(**gt_pts_panoptic_seg_data)
>>> data_sample.gt_pts_panoptic_seg = gt_pts_panoptic_seg >>> data_sample.gt_pts_panoptic_seg = gt_pts_panoptic_seg
>>> print(data_sample) >>> print(data_sample)
<Det3DDataSample( <Det3DDataSample(
META INFORMATION META INFORMATION
DATA FIELDS DATA FIELDS
_gt_pts_panoptic_seg: <BaseDataElement( _gt_pts_panoptic_seg: <PixelData(
META INFORMATION META INFORMATION
DATA FIELDS DATA FIELDS
panoptic_seg: tensor([[0.4109, 0.1415, 0.8463, 0.9587], panoptic_seg: tensor([[[0.9875, 0.3012, 0.5534, 0.9593],
[0.3188, 0.3690, 0.1366, 0.3860]]) [0.1251, 0.1911, 0.8058, 0.2566]]])
) at 0x7f43a23d5700> ) at 0x7fb0d93543d0>
gt_pts_panoptic_seg: <BaseDataElement( gt_pts_panoptic_seg: <PixelData(
META INFORMATION META INFORMATION
DATA FIELDS DATA FIELDS
panoptic_seg: tensor([[0.4109, 0.1415, 0.8463, 0.9587], panoptic_seg: tensor([[[0.9875, 0.3012, 0.5534, 0.9593],
[0.3188, 0.3690, 0.1366, 0.3860]]) [0.1251, 0.1911, 0.8058, 0.2566]]])
) at 0x7f43a23d5700> ) at 0x7fb0d93543d0>
) at 0x7f44ee39b160> ) at 0x7fb0d9354280>
>>> data_sample = Det3DDataSample() >>> data_sample = Det3DDataSample()
>>> gt_pts_sem_seg_data = dict(segm_seg=torch.rand(2, 2, 2)) >>> gt_pts_sem_seg_data = dict(segm_seg=torch.rand(2, 2, 2))
>>> gt_pts_sem_seg = PixelData(**gt_pts_sem_seg_data) >>> gt_pts_sem_seg = PixelData(**gt_pts_sem_seg_data)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment