设定:
目的:使用TF物体检测API检测面部,人,手枪,步枪,automatic_rifle
采取的步骤:
1)准备图像和边框 - face:使用WIDER face数据集 - person:使用COCO数据集 - 枪:使用Image-Net
没有。枪的数据集大小远远不及面部和背景。那个人,所以我确保通过限制脸部/人物图像的数量来确保每个班级的图像#相似。
90%开始训练,10%开始测试
每个班级的图像数量看起来像这样
火车 - see csv
测试 - see csv
2)生成TF记录(see code)
# see pastebin
==>次要注意:有" nb_epoch"在最后一行。我注意到这个值并不存在于TF对象检测API(即文件夹)中附带的其他模型配置文件中
3)训练 超过20万步。
问题
我训练过的5个班级并不总是出现,即使是训练有素的图像。这似乎是人或者脸部正在检测,很少两者都是。
作为参考框架,这是TF对象检测API附带的faster_rcnn_inception_resnet_v2_atrous_coco模型的结果。我知道它不是苹果与苹果的比较,但至少你可以看到人物检测:
以下是自定义数据集训练模型的用法:
1)我出错的任何想法?
这个SO用户有同样的问题(TensorFlow Object Detection API Weird Behaviour),但声称他通过裁剪/调整输入图像来解决它。
是否需要调整培训数据的大小?我不记得在custom pet detector tutorial中看到任何调整大小但我确实要求b / c我在配置文件中看到min_和max_dimension
答案 0 :(得分:0)
在配置文件中设置num_examples:8000为8000,将该数字设置为要添加的测试图像数量。例如您要在测试文件夹中拍摄200张图像,然后输入“ num_examples:200: