我正在阅读的介绍性文档(TOC在这里)在没有定义的情况下引入了这个术语.
[1] https://www.tensorflow.org/get_started/
[2] https://www.tensorflow.org/tutorials/mnist/tf/
Run Code Online (Sandbox Code Playgroud) machine-learning neural-network deep-learning tensorflow tensor
我正在设置新的Tensorflow Object Detection API,以便在大面积的卫星图像中查找小物体.它工作得很好 - 它找到我想要的所有10个对象,但我也得到50-100个误报[看起来有点像目标对象的东西,但不是].
我使用的样本配置从"宠物"的教程,以微调的faster_rcnn_resnet101_coco,它们的价格模型.我从小开始,只有100个我的对象训练样例(只有1个类).我的验证集中有50个示例.每个示例都是200x200像素的图像,中心带有标记对象(~40x40).我训练直到我的精确度和损失曲线高原.
我对使用深度学习进行物体检测相对较新.提高精度的最佳策略是什么?例如硬阴性采矿?增加我的训练数据集大小?我还没有尝试他们提供的最准确的模型,faster_rcnn_inception_resnet_v2_atrous_coco因为我想保持一定的速度,但如果需要的话也会这样做.
硬负采矿似乎是合乎逻辑的一步.如果您同意,如何为我的训练数据集设置tfrecord文件?假设我为50-100个误报中的每一个制作200x200图像:
machine-learning object-detection computer-vision deep-learning tensorflow
我决定深入研究ML并且通过大量的试验和错误能够使用TS'开始创建模型.
为了更进一步,我想使用他们的Object Detection API.但他们的输入准备说明,参考Pascal VOC 2012数据集的使用,但我想在我自己的数据集上进行培训.
这是否意味着我需要将我的数据集设置为Pascal VOC或Oxford IIT格式?如果是,我该怎么做呢?
如果不是(我的直觉就是这种情况),那么在我自己的数据集中使用TS对象检测的替代方案是什么?
旁注: 我知道我训练过的初始模型不能用于本地化,因为它是一个分类器
编辑:
对于那些仍在寻求实现这一目标的人来说,这就是我去做的方式.
这个问题的扩展,这一个.
TLDR; 我正在尝试使用自己的数据集训练TS Object Detection API.为了证明概念,我决定将我的数据集粘贴到Pascal VOC 2012基准测试中.
目前,我正在尝试使用Pascal VOC注释创建TFRecord.
在他们的create_pascal_tf_record.py脚本中查看这一行,他们只是抓住飞机的描述符 ; 一个更好的词,文本文件的运气.为什么会这样?那些其他类的描述符怎么样?
边注
这个文件; 标题为aeroplane_train.txt,与VOC2012/ImageSets/Main /中的Pascal VOC 2012数据集一起被包括在内.
查看文件,第一个条目表示图像名称,-1或1表示该特定图像是否包含我们感兴趣的类(飞机).
aeroplane_train.txt文件的部分内容
2008_000008 -1
2008_000015 -1
2008_000019 -1
2008_000023 -1
2008_000028 -1
2008_000033 1
2008_000036 -1
2008_000037 1
2008_000041 -1
2008_000045 -1
2008_000053 -1
2008_000060 -1
2008_000066 -1
2008_000070 -1
2008_000074 -1
2008_000085 -1
2008_000089 -1
2008_000093 -1
2008_000095 -1
2008_000096 -1
2008_000097 -1
2008_000099 -1
2008_000103 -1
2008_000105 …Run Code Online (Sandbox Code Playgroud)