对象检测-如何使用CNN检测和提取特征并使用分类器对其进行分类?

时间:2018-06-26 14:56:43

标签: python tensorflow keras object-detection

我有一个图像分类问题,其中类别的数量随着时间的推移而增加,并且当创建新类别时,我只是使用新类别的图像训练了模型。我知道这与CNN是不可能的,因此为了解决此问题,我进行了转移学习,在其中我使用Keras预训练模型提取图像的特征,但没有用新层替换最后一层(用于分类) ,我使用了能够增加类数量的随机森林。使用在imagenet数据集上训练的InceptionResnetV2,我达到了86%的精度,这对现在来说是个好方法。

现在我想做同样的事情,但是要解决对象检测问题。我该如何实现?我可以使用Tensorflow对象检测API吗?

是否可以用诸如Faster-RCNN或SSD的检测算法用随机森林替换经过预训练的CNN的最后一层?

1 个答案:

答案 0 :(得分:1)

是的,您可以使用Tensorflow对象检测API实施上述方法。另外,您可以将InceptionResnetV2训练有素的模型用作特征提取器。 tensorflow对象检测API已经在可可数据集上训练了InceptionResnetV2特征提取器。可在https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md

获得

或者,如果您要提供或创建自定义功能提取器,请点击链接https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/defining_your_own_model.md

如果您不熟悉Tensorflow对象检测API。请遵循本教程, https://github.com/EdjeElectronics/TensorFlow-Object-Detection-API-Tutorial-Train-Multiple-Objects-Windows-10

希望这会有所帮助。