When downloading a dataset, the values listed in the associated _annotation file do not match what is shown for the raw data for the project. Needless to say, having the annotations off for all bounding boxes makes for great aggravation and wasted time.
I’m not talking about conversion from xmin/ymin to height/width, BTW. I tested multiple times, including tensorflow and VOC, and for different datasets. I think it’s global.
You can see this for yourself as well by looking at both annotations, as shown in the example below. It seems like the image is downscaled upon download, and everything converted proportionally with it making all the bounding boxes random relative to their objects.
Data from (in this case, voc .xml file, but same for _annotations file) that comes with the images upon download:
<width>416</width>
<height>416</height>
<depth>3</depth>
<name>2730</name>
<xmin>146</xmin>
<xmax>376</xmax>
<ymin>94</ymin>
<ymax>173</ymax>
<name>2730</name>
<xmin>123</xmin>
<xmax>370</xmax>
<ymin>161</ymin>
<ymax>266</ymax>
From raw data (in roboflow GUI, when inspecting a given image):
{
“boxes”: [
{
“label”: “2730”,
“x”: 800,
“y”: 325.5,
“width”: 708,
“height”: 195
},
{
“label”: “2730”,
“x”: 754,
“y”: 523.5,
“width”: 760,
“height”: 257
}
],
“height”: 1024,
“key”: “07caf943-81f5-4ea1-b4b7-90078a33d87a.jpg”,
“width”: 1280
}
Note: I trimmed a bunch of xml stuff out for space.