tensorflow对象检测api的图像注释格式到tfrecords的转换

tensorflow对象检测api的图像注释格式到tfrecords的转换,tensorflow,annotations,tensorflow-datasets,object-detection-api,tfrecord,Tensorflow,Annotations,Tensorflow Datasets,Object Detection Api,Tfrecord,正在寻求有关对象检测API的图像注释格式的帮助 预知: 正如我们所知,图像有两种注释格式,Pascal VOC和COCO格式。两者都有各自的规格,这是两者的主要区别: 帕斯卡挥发性有机化合物: 以.xml文件格式存储注释 边界框格式[x-top-left,y-top-left,x-bottom-right,y-bottom-right] 为数据集中的每个图像创建单独的xml注释文件 可可: 以.json文件格式存储注释 边界框格式[x-左上角,y-左上角,宽度,高度] 为每个培训、测试和验证

正在寻求有关对象检测API的图像注释格式的帮助

  • 预知:
正如我们所知,图像有两种注释格式,Pascal VOC和COCO格式。两者都有各自的规格,这是两者的主要区别:

帕斯卡挥发性有机化合物:

  • 以.xml文件格式存储注释
  • 边界框格式[x-top-left,y-top-left,x-bottom-right,y-bottom-right]
  • 为数据集中的每个图像创建单独的xml注释文件
  • 可可:

  • 以.json文件格式存储注释
  • 边界框格式[x-左上角,y-左上角,宽度,高度]
  • 为每个培训、测试和验证创建一个注释文件
    • 当前问题:
    我有两个数据集要处理,这就是它们的注释方式

    数据集-1:

    • 文件格式:Pascal VOC(.xml)
    • 边框格式:COCO
    • 文件创建:如Pascal VOC(数据集中每个图像的单独xml注释文件)
    数据集-2:

    • 文件格式:Pascal VOC(.xml)
    • 边框格式:COCO
    • 文件创建:与COCO一样(为每个培训、测试和验证创建一个注释文件)
    我无法理解的是,我应该遵循哪种格式(Pascal VOC或COCO)将注释转换为Tfrecords(.xml to.records),因为用户可以看到数据集的注释不完全属于任何一种格式

    例如,在年,作者编写了一个脚本,将.xml转换为.records,但这里它处理的是纯pascal VOC格式

    在这方面,他们正在处理纯COCO注释格式

    当我站在两种格式的中间时,我应该遵循哪个路径?< /P> 当我站在两种格式的中间时,我应该遵循哪个路径?< /P>
  • 使用Pascal VOC格式将.xml转换为.records

  • 在的
    create\u tf\u示例
    函数中进行以下更改

  • 如果在.xml注释中有X,Y,Width,Height,而不是xmin,ymin,xmax,ymax

    for index, row in group.TextLine.iterrows():
    xmin.append(row['X']/imgwidth)
    xmax.append((row['X']+row['Width'])/imgwidth)
    ymin.append(row['Y']/imgheight)
    ymax.append((row['Y']+row['Height'])/imgheight)
    classes_text.append(row['class'].encode('utf8'))
    classes.append(class_text_to_int(row['class']))'