首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SSD中VOC数据的边界框标注

SSD中VOC数据的边界框标注
EN

Stack Overflow用户
提问于 2018-05-10 15:20:53
回答 1查看 1.4K关注 0票数 1

我使用SSD进行CNN训练,并使用VOC2007和VOC2012数据集进行测试。我不太理解VOC2007数据集中的规范化边界框。假设是注释数据集,当我们查看VOC2007 /000002.xml文件时。它的边界框是

代码语言:javascript
运行
复制
<size>
  <width>335</width>
  <height>500</height>
  <depth>3</depth>
</size>
<segmented>0</segmented>
<object><name>train</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
   <xmin>139</xmin>
   <ymin>200</ymin>
   <xmax>207</xmax>
   <ymax>301</ymax>
</bndbox></object> 

可以为如下所示的图像绘制一个边界框。

但是当我查看labels/000002.txt文件中的标准化数据时。

代码语言:javascript
运行
复制
18 0.516417910448 0.501 0.202985074627 0.202

How these 0.516417910448 0.501 0.202985074627 0.202 are related to 139 200 207 301?

我使用335和500进行归一化,但没有得到这些值。

EN

回答 1

Stack Overflow用户

发布于 2018-08-02 22:41:17

我以前也遇到过类似的问题,我的解决方案是:

假设您拥有(来自Pascal VOC XML文件- Annotations/000002.xml):

代码语言:javascript
运行
复制
width = 335
height = 500

xmin = 139
xmax = 207
ymin = 200
ymax = 301

要规格化边界框坐标,可以执行以下操作:

代码语言:javascript
运行
复制
def norm_box(width, height, xmin, xmax, ymin, ymax):
    x = (xmin + xmax)/2. * 1./width
    w = (xmax - xmin) * 1./width
    y = (ymin + ymax)/2. * 1./height
    h = (ymax - ymin) * 1./height
    return (x,y,w,h)

box_norm = norm_box(width, height, xmin, xmax, ymin, ymax)
print(box_norm)

输出为:

代码语言:javascript
运行
复制
(0.5164179104477612, 0.501, 0.20298507462686566, 0.202)

这与labels/000002.txt文件中的规范化数据相匹配。

代码语言:javascript
运行
复制
18 0.516417910448 0.501 0.202985074627 0.202

要对其进行反规范化,可以执行以下操作:

代码语言:javascript
运行
复制
def denorm_box(width, height, x, y, w, h):
    xmax = int((x*width) + (w * width)/2.0)
    xmin = int((x*width) - (w * width)/2.0)
    ymax = int((y*height) + (h * height)/2.0)
    ymin = int((y*height) - (h * height)/2.0)
    return (xmin, xmax, ymin, ymax)

(x,y,w,h) = box_norm
box = denorm_box(width, height, x, y, w, h)
print(box)

输出为:

代码语言:javascript
运行
复制
(139, 207, 200, 301)

你可以在这里看到一个演示:https://notebooks.azure.com/andrewssobral/libraries/utils/html/bbnorm.ipynb

希望这能对你有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50267653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档