cvat-ai / cvat

Annotate better with CVAT, the industry-leading data engine for machine learning. Used and trusted by teams at any scale, for data of any scale.
https://cvat.ai
MIT License
12.48k stars 2.99k forks source link

Please tell me how CVAT annotations are supposed to be used #4502

Closed johan-sightic closed 1 year ago

johan-sightic commented 2 years ago

My actions before raising this issue

Hi! I have annotated a few videos with rectangle tracks and now I want to download my annotations so that I can use them to train a deep learning model. I export them to CVAT for Video 1.1 (I also tried a few other formats). However, in the exported xml file there is no reference to the video file that the annotations belong to. This seems strange but I solved it by naming the task the same as the video file. But I still can't pair the annotations with video frames because the "frame" value of the tracks do not refer to the frame of the video but is instead some kind of consecutive numbers.

This seems very strange to me and I can't figure out how to use the annotations I crated. I therefore assume that I have missed something or totally misunderstood how CVAT is supposed to be used, can someone explain it to me?

johan-sightic commented 2 years ago

I realized that it works if you export each task manually instead of exporting the entire project, but this is also not very convenient. When I export the entire dataset it sets source="manual" for each track so that it can't be mapped to a file.

johan-sightic commented 2 years ago

Example source value for a task export: <source>eye0.mp4</source>, is it possible to get the full file path so that it works even if many files have the same name?

bsekachev commented 2 years ago

@ActiveChooN

Could you please look at the issue? Why can't we see video name when export dataset with several video tasks? If we create a task from local storage in engine_video we have full path, but dumped file has only basename, why so?

johan-sightic commented 2 years ago

Here is also an example of the frame problem @bsekachev @ActiveChooN:

<track id="0" label="Eyelids" source="manual" task_id="71" subset="default">
    <box frame="0" outside="0" occluded="0" keyframe="1" xtl="81.24" ytl="93.98" xbr="397.87" ybr="273.30" z_order="0">
    </box>
    <box frame="1" outside="0" occluded="0" keyframe="0" xtl="81.24" ytl="93.75" xbr="397.87" ybr="273.30" z_order="0">
    </box>
    ...
    <box frame="3121" outside="0" occluded="1" keyframe="0" xtl="81.24" ytl="96.30" xbr="397.87" ybr="274.59" z_order="0">
    </box>
</track>
<track id="1" label="Eyelids" source="manual" task_id="72" subset="default">
    <box frame="3122" outside="0" occluded="1" keyframe="1" xtl="0.48" ytl="38.69" xbr="399.50" ybr="220.66" z_order="0">
    </box>
    ...
    <box frame="6243" outside="0" occluded="1" keyframe="1" xtl="0.48" ytl="33.30" xbr="399.80" ybr="229.90" z_order="0">
    </box>
</track>
<track id="2" label="Eyelids" source="manual" task_id="73" subset="default">
    <box frame="6244" outside="0" occluded="1" keyframe="1" xtl="0.00" ytl="147.76" xbr="400.00" ybr="324.44" z_order="0">
    </box>
    <box frame="6245" outside="0" occluded="1" keyframe="0" xtl="0.00" ytl="147.76" xbr="400.00" ybr="324.43" z_order="0">
    </box>
    ...
</track>

Each video has roughly 3000 frames but it varies (no video has more than 3500 frames). As you can see when one track ends and a new starts the frame values is not reset but continues counting up.

jeethesh-pai commented 11 months ago

Was this problem solved ? I am facing the same problem with CVAT 2.3 version. I would like to get the filename of the frame instead of frame numbers.

Thanks