-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Ability to create a task with a subset of frames for a video file and images #194
Comments
@nmanovic, My questions that mentioned at #382:
Thanks. |
The final annotation file should have a simple property: if somebody takes the file and read frame #N it has to correspond to frame #N inside the video sequence. In your case frame #N can correspond any frame in the video and it depens on how you create a task. In UI and in server code you can use frame numbers without gaps but in the dump file they should be correct. We have Video table now in nm/rest_api branch. Probably it can be used somehow for the purpose.
Will -vf "select=not(mod(n,10))" option work?
Too many manual work is the only problem which I see at the moment.
UI can request frame N as usual (without gaps). Need to hide from UI the complexity. But at the same time it is better to show correct frame number. Thus annotation task should have "start_frame, "frame_step" fields. The correct frame number (to display in UI) will be start_frame + N*frame_step
In general it is necessary to find the nearest frame for the timestamp. But to avoid any problems it is OK to accept frame numbers only. |
From previous PR: #382 Let me clarify my vision for the feature:
|
The select filter does work. But the number suffix of generated image filename is continuous. Is OK to use image_%start_%step_%d.jpg pattern? Or we have to rename all files' name to a flat pattern image_xxx.jpg ? I have no idea that how to check the ending frame in front-end. UI can only check whether it's a number. If backend find it's invalid, report error. Is this OK? Last, I still have a concern that how user get the exact number of video frames if he/she want to set the fields. But I'm OK if you don't think this is a problem. |
@zliang7 ,
I think that continuous should be OK. In general we need to fix "dump" only. You can leave the client and server as is (they can think that they work with continuous frames). In general you have get the same behaviour as the user extract all necessary frames manually and create a task from them. I hope you get my idea.
I believe it is OK. In this case the server should return BAD REQUEST (400 error code). It means that one of input parameters is incorrect.
In the future it will be necessary to implement import/export data for an annotation task (#152). For now we can specify correct command in our documentation. Even now the user should know how to extract frames. |
@zliang7 , In my comments to your PR I suggested using frame_filter with step=N value (the input field should have hints for users) instead of a step. I hope it will not take too much time to update your PR and support that. When I was reviewing the PR I understood that it will be much better. I got the idea from your code. Also I suggested supporting images as well. Our primary goal is to make CVAT better for our customers. I believe that we need to look in the future (e.g. they can have a directory with frames and in this case they need the same functionality for images). Let me know if you think that supporting images will take a lot of time. Thanks for your PR. I happy to see you in our virtual team! |
In some cases it is necessary to annotate every 15th frame for a video file. Now it is necessary to convert the video into 2 FPS and after that create an annotation task. It will be good if some basic support for such case will be implemented into the tool.
The text was updated successfully, but these errors were encountered: