Tensorflow目标检测API

12
我决定深入学习机器学习,经过多次尝试和错误,我使用TS的inception创建了一个模型。
为了更进一步,我想要使用他们的Object Detection API。但是他们的input preparation指南,引用了Pascal VOC 2012数据集,但我想要在我的自己的数据集上进行训练。
这是否意味着我需要将我的数据集设置为Pascal VOC或Oxford IIT格式?如果是,我该如何做?
如果不是(我的直觉告诉我不是),那么使用TS对象检测与我的自己的数据集有哪些替代方案? 附注:我知道我的训练inception模型不能用于定位,因为它是一个分类器。

编辑:

对于那些仍然希望实现此目标的人,在这里是我如何做到的。


问题中的死链接 - Stepan Yakovenko
更新了链接! - eshirima
2个回答

12

Tensorflow目标检测API中的训练作业需要用包含基础真实数据的TFRecord文件。

您可以按照Pascal VOC或Oxford-IIIT示例的相同格式设置数据,也可以直接创建TFRecord文件,忽略XML格式。

在后一种情况下,仍然可以使用create_pet_tf_record.pycreate_pascal_tf_record.py 脚本作为参考,了解API期望看到哪些字段及其格式。目前我们还没有提供通用创建这些TFRecord文件的工具,因此您将需要自己编写。


非常感谢您的指导。实际上,我已经在使用Pascal Voc生成器了。我会向您更新进展情况。如果您不介意的话,我还有一个与TS相关的问题需要解决(链接:https://stackoverflow.com/questions/44685875/tensorflow-and-opencv-real-time-classification)。非常感谢您! - eshirima
我也有同样的问题。请告诉我,对于像“截断”或“困难”这样的数据字段,您会填写什么,因为我的数据集中没有这些字段。 - Banach Tarski
您不必填写被截断或难以理解的字段(它们将被训练/评估二进制文件忽略)。 - Jonathan Huang
@eshirima 您能否发布将自定义数据集转换为Pascal VOC或Oxford-IIIT注释的过程?那将是一件伟大的事情。 - Shamane Siriwardhana
1
@ShamaneSiriwardhana 我在这里分享了我的全部经验(链接:https://dev59.com/TlcP5IYBdhLWcg3wAmEE)。如果有帮助解决你的问题,请不要忘记点赞。祝编码愉快,加油啊,伙计 :) - eshirima
显示剩余2条评论

0
除了TF Object Detection API,您可以查看OpenCV Haar Cascades。我从那个点开始我的对象检测之路,如果提供了良好的数据集,它就能够工作得很好。
也有许多关于创建自己级联的文章和教程,所以很容易上手。 我使用this博客,它对我帮助很大。

我很感谢您的建议,但在决定使用对象检测API之前,我已经尝试过Haar级联。它有两个主要问题。1:将我的对象调整大小甚至到20X40,最终的对象看起来像一团黑色像素块。2:一旦我将其调整为仍保持其真实形态的最小尺寸,即使让它运行48小时,它也无法通过第0阶段的训练。 - eshirima

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接