我设法在我自己的数据集上重新训练object detection module,将其粘贴到下面显示的PASCAL VOC格式中。
这种格式是面向边界框并窥视其TFRecords creation scripts,它确实需要大量的 groundtruth 值来生成相应的TFRecords。
边界框的问题在于,它为您提供近似值,并且对旋转图像进行注释可能相当具有挑战性。
环顾四周后,我遇到了labelme,它允许你执行形状(点到点)注释,而不仅仅是边界框。下面是生成的注释的简短版本以及由生成的形状组成的结果图像。
我的问题是:
专注于<polygon></polygon>
的内容,Object Detection API支持点是否指向注释?
如果是1,我该如何为它创建TFRecords?还需要做哪些其他改动才能适应这种情况?
Pascal VOC格式
<annotation verified="no">
<folder>VOC2012</folder>
<filename>pic.jpg</filename>
<source>
<database>Unknown</database>
</source>
<size>
<width>214</width>
<height>300</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>sample</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>32</xmin>
<ymin>37</ymin>
<xmax>180</xmax>
<ymax>268</ymax>
</bndbox>
</object>
</annotation>
点对点注释的快照
<annotation>
<filename>ipad.jpg</filename>
<folder>sample</folder>
<source>
<submittedBy>username</submittedBy>
</source>
<imagesize>
<nrows>450</nrows>
<ncols>800</ncols>
</imagesize>
<object>
<name>ipad</name>
<deleted>0</deleted><verified>0</verified><occluded>no</occluded>
<attributes></attributes>
<parts>
<hasparts></hasparts>
<ispartof></ispartof>
</parts>
<date>12-Jul-2017 19:20:22</date><id>0</id>
<polygon>
<username>anonymous</username>
<pt><x>40</x><y>76</y></pt>
<pt><x>435</x><y>11</y></pt>
<pt><x>472</x><y>311</y></pt>
<pt><x>94</x><y>418</y></pt>
</polygon>
</object>
<object>
<name>screen</name>
<deleted>0</deleted>
<verified>0</verified>
<occluded>no</occluded>
<attributes></attributes>
<parts>
<hasparts></hasparts>
<ispartof></ispartof>
</parts>
<date>12-Jul-2017 19:20:48</date><id>1</id>
<polygon>
<username>anonymous</username>
<pt><x>75</x><y>89</y></pt>
<pt><x>118</x><y>397</y></pt>
<pt><x>447</x><y>308</y></pt>
<pt><x>421</x><y>30</y></pt>
</polygon>
</object>
</annotation>
答案 0 :(得分:3)
Tensorflow Object Detection API仅执行Bounding Box annoations。