microsoft / VoTT

Visual Object Tagging Tool: An electron app for building end to end Object Detection Models from Images and Videos.
MIT License
4.31k stars 837 forks source link

Aarrgh didn't save anything #254

Open zubairahmed-ai opened 6 years ago

zubairahmed-ai commented 6 years ago

I tagged and created bounding boxes for huge number of items but after trying to save them for Custom Vision service I didn't get anything Previously I had tried it with few samples and it worked fine and gave me a json file but when I was done and tried to export it couldn't, I even changed the directory and tried a new path but still I didn't anything I decided to close and reopen it but all my bounding boxes were lost :(

tmandekic commented 6 years ago

I have experienced same thing: VoTT not converting in some cases. I partitioned my files into multiple directories of 50 files each (otherwise it's tooooo slow to annotate). For some directories, export works fine (no issues), for some directories it does not do anything, although images have been labeled. Difference I noticed is in generated .json file: DOES NOT WORK: labeled-referenced file is by name, for example: {"frames":{"2018_09_17_09_13_27.jpg":[{"x1":81.26602564102565,"y1":178.61557030778516,"x2":330.974358974359," DOES WORK: labeled-referenced file is by index: {"frames":{"0":[{"x1":50.62814070351759,"y1":810.9465346534654,"x2":632.035175879397,"y2

Do I have to manually map all filenames to index? Or how do i change this automatically? How is even possible to have this difference??? I thought I was doing everything (all labeling) in the same way... Btw, I am using VoTT-Dev, but I tried with VoTT (main branch). Same issue/result. Trying to export to VOC format.

Update: changing filenames to indexes loads bounding boxes in VoTT tool. It still does not allow for export to VOC format (creates directory structure, but no content inside any of the directories) Update 2: changing "visitedFrames" element in json file (from filenames to indexes) allowed to export all bounding boxes to VOC format. (example: "visitedFrames": [0,1,2], works)

zubairahmed-ai commented 6 years ago

I have experienced same thing: VoTT not converting in some cases. I partitioned my files into multiple directories of 50 files each (otherwise it's tooooo slow to annotate). For some directories, export works fine (no issues), for some directories it does not do anything, although images have been labeled. Difference I noticed is in generated .json file: DOES NOT WORK: labeled-referenced file is by name, for example: {"frames":{"2018_09_17_09_13_27.jpg":[{"x1":81.26602564102565,"y1":178.61557030778516,"x2":330.974358974359," DOES WORK: labeled-referenced file is by index: {"frames":{"0":[{"x1":50.62814070351759,"y1":810.9465346534654,"x2":632.035175879397,"y2

Do I have to manually map all filenames to index? Or how do i change this automatically? How is even possible to have this difference??? I thought I was doing everything (all labeling) in the same way... Btw, I am using VoTT-Dev, but I tried with VoTT (main branch). Same issue/result. Trying to export to VOC format.

Update: changing filenames to indexes loads bounding boxes in VoTT tool. It still does not allow for export to VOC format (creates directory structure, but no content inside any of the directories) Update 2: changing "visitedFrames" element in json file (from filenames to indexes) allowed to export all bounding boxes to VOC format. (example: "visitedFrames": [0,1,2], works)

hey @tmandekic I didnt quite get it so what did you have to change to make it export everything properly?

tmandekic commented 6 years ago

If you are labeling Folder1, then your folder1.json should look like this (I've updated bolded items): {"frames":{"0":[{"x1":50.62814070351759,"y1":810.9465346534654,"x2":632.035175879397,"y2.... …} ], "1": [{ "x1": 318.0444444444444, "y1": 401.2911392405063, "x2": 1166.1629629629629, "y2": 689.8227848101266, "width": 3578,... …

... }, "framerate": "1", "inputTags": "tag1, tag2, tag3", "suggestiontype": "track", "scd": false, "visitedFrames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ..], "tag_colors": ["#9ca00d", "#0dffbb", "#0016ec"] }