cvat-opencv icon indicating copy to clipboard operation
cvat-opencv copied to clipboard

Added support of skeletons

Open bsekachev opened this issue 2 years ago • 34 comments

TODO for client side:

Enhancements:

  • [x] Rotation for skeletons
  • [x] Undo/redo when updating a skeleton or its parts
  • [x] Enable z order
  • [x] Add ability to hide one point (shortcut)
  • [x] Occluded/pinned/outside for a skeleton and its parts
  • [x] Enable attributes
  • [x] Allow editing skeletons in constructor
  • [x] Merge/split/group
  • [x] Add setup to hide/display text labels for skeleton parts
  • [x] Add setup to points size
  • [x] Support filtration

Known bugs:

  • [x] List of "internal" labels visible outside
  • [x] When moving polygon parts, wrapping box is not updated properly
  • [x] When moving polygon parts out of wrapping box, other parts can be shifted
  • [x] Exception: The field "tag count" is required for "Send task info" log
  • [x] Shape activation margin is 0, but drawn margin is not 0 for wrapping box
  • [x] Rotation property is not applied during pasting a skeleton
  • [x] Cannot save tracks on the server (wrong output from client side)
  • [x] Colors for points are not valid when "Color by" set to "label"
  • [x] Upload skeleton button does not work properly in skeleton configurator

Future list:

  • [ ] Support colorizing skeleton edges
  • [ ] Integrate with attribute annotation mode
  • [ ] Support rectangles inside skeleton
  • [ ] Support a DL model to semi-automatic skeleton annotations (one use-case)
  • [ ] Support editing skeletons

If you need more, please submit an issue.

TODO for server side:

  • [x] Interpolation
  • [x] Extend CVAT for video (import)
  • [x] Backups

bsekachev avatar Jul 20 '22 06:07 bsekachev

Hi,

There are several resources. I will add all of them into README file ASAP.

  • Basic information + how to build and run: https://github.com/opencv/cvat/blob/master/README.md
  • User's guide (github cannot render images at the moment, it will be fixed): https://github.com/opencv/cvat/blob/master/cvat/apps/documentation/user_guide.md
  • XML format for annotations: https://github.com/opencv/cvat/blob/master/cvat/apps/documentation/xml_format.md
  • Computer Vision Annotation Tool (CVAT): interpolation mode screencast: https://www.youtube.com/watch?v=sc5X5hvxNfA
  • Computer Vision Annotation Tool (CVAT): attribute mode screencast: https://www.youtube.com/watch?v=5yXaG0V7X0Q
  • Computer Vision Annotation Tool (CVAT): annotation mode screencast: https://www.youtube.com/watch?v=uSqaQENdyJE

nmanovic avatar Jul 04 '18 07:07 nmanovic

Thanks. That helped a lot. My first issue was that after I created a task, I didn't realize that all the controls were off the screen - I had to scroll or enlarge my browser window to find them.

A few comments:

  • none of the figure work in the user's guide (but i'm guessing you're working on this).

  • I couldn't get the docker-compose.override.yml to work properly. I had to add it explicitly to the docker up command.

  • docker-compose.yml and docker-compose.override.yml use different port mappings, i.e. 8080:8008 and 80:8080, resp. As such, at least with the explicit inclusion of the override file, both mappings are used.

  • i started up a gpu/tf enabled version, but I don't see anything related to tensorflow in the interface and there isn't any documentation about how to use this feature. Seems like a good idea though.

  • I don't see anything on how to use the shared mode. When I select it, it makes me choose files, but points to //icv-cifs/icv_projects/cvat/data. One time, when I hit back from a browser (from a session) window it seemed to allow me to add local files from the incomplete task create window.

headdab avatar Jul 05 '18 18:07 headdab

Good day,

  • "I didn't realize that all the controls were off the screen". Could you provide any screenshots please?
  • "none of the figure work in the user's guide". Yes, we are working on it.
  • "i started up a gpu/tf enabled version, but I don't see anything related to tensorflow in the interface and there isn't any documentation about how to use this feature. Seems like a good idea though.". If you did all right, button "Run TF Annotation" should appears in the dashboard for each task. It will run auto annotation for supported labels (if task contain any of such labels). We will include an information about it to documentation.
  • "I don't see anything on how to use the shared mode. When I select it, it makes me choose files, but points to //icv-cifs/icv_projects/cvat/data.". This path will be removed. Currently, if you want use share source, you need mount it to /home/django/share in the docker container.

bsekachev avatar Jul 05 '18 19:07 bsekachev

I attached to screenshots - partial is what I saw originally, fullscreen after I enlarged the window. You might be making your layout decisions based on a landscape layout assumption.

I found the tf button later, but got a label error. It makes more sense now. Can you give me an example of the labels string I should use, say, if I want to detect person and sports_ball? I tried:

tag @select=class:person,sports_ball

but that's not right. The schema is:

label_name input_type=attribute_name:attribute_value1,attribute_value2

When you mention labels, you're referring to label_name in the schema? Can I include more than 2 of those in the label string when configuring the session?

Re: shared mode, I'll try your suggestion.

Thanks for the quick feedback.

fullscreen partial

headdab avatar Jul 05 '18 19:07 headdab

So I figured out the tf thing. I just used "person sports_ball" and that worked.

headdab avatar Jul 05 '18 20:07 headdab

Thanks a lot, Layout looks strange, we will be working on it. Yes, label is label_name. If you want detect persons and sport balls, you need type "person sports_ball" only. Also you may assign some attributes for labels. Attribute examples: age or gender (for person), type or model (for car) etc. I will give some examples of valid strings below:

# number, select, radio, checkbox, text - is input types
# You also need specify each attribute type (mutable [~] or immutable [@]). Mutable attributes may be changed frame by frame (in the case of tracked objects)
# For number input type, attribute values are min, max and step.
# For radio and select - are possible values
# For checkbox and text - are default attribute value (true, false) for checkbox and ("any text") for text
person @number=age:1,100,1 @select=gender:man,woman @radio=hair:long,short,curly,straight
car ~checkbox=parked:true
face @text=description:"default description" 

Of course, you may create any number of labels and attributes for task:

person @number=age:1,100,1 @select=gender:man,woman @radio=hair:long,short,curly,straight car ~checkbox=parked:true face @text=description:"default description" 

Also you may see help about it if you hover cursor to labels string. Or you can see it in HTML Good luck

bsekachev avatar Jul 05 '18 20:07 bsekachev

In order to see the rendered documentation, you need press F1 key in the dashboard (task list).

bsekachev avatar Jul 05 '18 20:07 bsekachev

I tried the shared thing, but may have found a bug. I copied a small clip into the top level host share directory and can see it when I try to select files from the create task dialog, but if I select it it also selects the enclosing directory, which it also treats as a file, which I think is the reason for the error shown on the screenshot. For this screenshot, I clicked on select files after I got the error, so you could see that screen.

The test of the error is:

Could not create the task. ffmpy.FFRuntimeError: ffmpeg -i /home/django/data/5/.upload/ -start_number 0 -b:v 10000k -vsync 0 -an -y -q:v 16 /tmp/cvat-0qn3bhs9.data/%d.jpg exited with status 1 STDOUT: STDERR:

share-select-files

headdab avatar Jul 05 '18 21:07 headdab

Yes, it known bug. Actually it already was fixed, but currently was not released. As temporary solution, I can suggest you to put any other file (empty text file for example) together with video. In this case video only will be selected.

bsekachev avatar Jul 05 '18 21:07 bsekachev

@headdab we added information about available documentation + screenshot, screencasts. Also fixed a couple of other issues. If you have another issues please open new issues. In any case we will try to address other issues which you found in next release. Don't hesitate to send us MRs. I will close the thread.

nmanovic avatar Jul 06 '18 16:07 nmanovic

Great. Thanks!

headdab avatar Jul 09 '18 16:07 headdab