Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CVAT-3D milestone6 #3234

Merged
merged 130 commits into from Jul 19, 2021
Merged

CVAT-3D milestone6 #3234

merged 130 commits into from Jul 19, 2021

Conversation

manasars
Copy link
Contributor

@manasars manasars commented May 25, 2021

Hi @bsekachev , @nmanovic , @zhiltsov-max

CVAT 3D Milestone 6 changes:

Added support for Dump annotations, Export Annotations and Upload annotations in PCD and Kitti formats.
The code changes are only in 4 files i.e bindings.py, registry.py and added new datatsets pointcloud.py and velodynepoint.py.

The rest of the files are from M5 base branch, was waiting for it to be merged but since comments are in progress created one for M6.

If you're unsure about any of these, don't hesitate to ask. We're here to help! -->

cdp and others added 30 commits April 9, 2021 18:14
@manasars
Copy link
Contributor Author

@manasars , if the PR works as expected, all tests are passed, I'm OK to merge it. Could you please check that tests for 3D functionality works as expected to save time and accept the PR faster?

Hi @nmanovic ,

So in-order to check if only known 2D cases are failing and 3D test cases have passed, can we pull the latest cvat-3D-Milestone6 branch changes in the above mentioned PRs, can someone help us with that?

@nmanovic
Copy link
Contributor

@manasars , I believe you always can merge both PRs into your branch. I don't think you need help from our side.

@manasars
Copy link
Contributor Author

@manasars , I believe you always can merge both PRs into your branch. I don't think you need help from our side.

@nmanovic , ok sure we shall do that then and confirm once we test.

@jayraj-solanki
Copy link
Contributor

Hi @zhiltsov-max,
In the latest datumaro code, the exported annotation in "SLY point cloud format", the annotation files are exported as filename.pcd.pcd.json.Since filename contains .pcd twice, some unit tests are failing for point cloud (tests.test_rest_api_3D.Task3DTest)

image

So will this be changed in Datumaro or should we update the unit tests accordingly?

@zhiltsov-max
Copy link
Contributor

zhiltsov-max commented Jul 14, 2021

Probably, you don't need to pass .pcd in the DatasetItem.id. We don't have such problem in the format tests. https://github.com/openvinotoolkit/datumaro/blob/develop/tests/test_sly_pointcloud_format.py

Updates related to the develop branch of Datumaro are in #3411

@nmanovic
Copy link
Contributor

@manasars , do we have any other questions? Really need to complete the PR this week and merge.

@manasars
Copy link
Contributor Author

@manasars , do we have any other questions? Really need to complete the PR this week and merge.

Hi @nmanovic , We do not have any further questions, as per Maxim's latest update we are modifying one portion of code and testing, we shall be pushing the changes in a while.

@jayraj-solanki
Copy link
Contributor

Hi @nmanovic,

We have fixed the cypress tests and all the tests have passed.
Kindly review and merge the PR.

attributes["track_id"] = -1
index += 1

dm_item = datumaro.DatasetItem(id=osp.split(frame_data.name)[-1].split('.')[0], image=None,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
dm_item = datumaro.DatasetItem(id=osp.split(frame_data.name)[-1].split('.')[0], image=None,
dm_item = datumaro.DatasetItem(id=osp.splitext(frame_data.name)[0],

Copy link
Contributor Author

@manasars manasars Jul 16, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @zhiltsov-max , the osp.splitext(frame_data.name)[0] returns the entire file path and not just the fileName.
We can leave it as above or change to :
id=osp.splitext(osp.split(frame_data.name)[-1])[0]

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you need to return only basename?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hi @zhiltsov-max,
As per the suggest changes we are getting the folder structure as shown below, "test_canvas3d/pointcloud/" is nested inside ann, pointcloud and related images folders before the actual data.

image

Hence we only require the basename

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CVAT preserves relative image paths on export, so such behavoiur is probably expected for PCD too. But it can be a problem of the specific test, if "test_canvas3d/pointcloud/" is not supposed to be there.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zhiltsov-max, If we make the suggested change id=osp.splitext(frame_data.name)[0] then the folder structure downloaded on click of dump annotations manually is as above which is incorrect as per SOW and not compatible with supervisely.

@manasars
Copy link
Contributor Author

Hi @zhiltsov-max : I hope we are fine with all the review changes, kindly confirm.

@nmanovic
Copy link
Contributor

@manasars , did I miss something? I cannot rotate, zoom in/out, move the primary view using mouse. Is it expected?

@manasars
Copy link
Contributor Author

@manasars , did I miss something? I cannot rotate, zoom in/out, move the primary view using mouse. Is it expected?

Hi @nmanovic : We can rotate, zoom in/out etc when we select Move Controls in the left side bar similar to 2D, this was changed a part of one of the review comment changes.

@nmanovic
Copy link
Contributor

@manasars , could you please point me on the review comment?

@nmanovic
Copy link
Contributor

@manasars , I see a problem with projections of points. If you look at the screenshot below, you will see that side and front views are not informative at all. At the same time in the alternative annotation tools, it is easy to see boundaries of these objects on side and front views.
From my perspective, in the patch CVAT tries to project all points on these views. In reality it is a bad idea.

image

@manasars
Copy link
Contributor Author

@manasars , could you please point me on the review comment?

Please find points 3 and 6 in the below link
#3234 (comment)

@nmanovic
Copy link
Contributor

@manasars , could you please point me on the review comment?

Please find points 3 and 6 in the below link
#3234 (comment)

Do you mean the comment below?

image

If it isn't a request from our team, I'm not OK with such fix. In CVAT 2D and other annotation tools it is possible to interact with a frame using mouse by default. In the reference tool the mode is also activated by default. I like the ability to press buttons, but in reality it is much faster to interact with a scene using mouse. Do you agree?

@nmanovic
Copy link
Contributor

@manasars , let me merge the PR, but I will wrote a separate mail with known problems which should be resolved.

@nmanovic
Copy link
Contributor

@manasars , I summarized found issues here: #3438

It isn't all issues, but which I found during the final review today. I hope the list will not grow. Please review and comment.
To simplify next reviews and avoid the overhead on your side, I will merge the PR because all checks are passed. But I want to emphasize that it isn't an approval for milestone #6. The PR isn't completed and contains several critical issues which have to be fixed.

@nmanovic nmanovic merged commit c58e915 into cvat-ai:develop Jul 19, 2021
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.

None yet

9 participants