Tensorflow 和 Keras 可轻松进行对象检测

时间:2021-03-25 11:49:59

标签: tensorflow object-detection

我通常只创建对象识别或分类。网上有很多教程,而且很容易。它通常只有几行代码:

1. load dataset
2. create model
3. model.compile()
4. model.fit()
5. load test image
6. model.predict()

问题是,它只能说是否有香蕉、苹果、橙子等。但我想定位图像中的对象。我想要物体检测。问题是我找不到上面提到的一些简单的代码。你能给我推荐一些东西吗?
我刚刚发现tensorflow对象检测API,它不像上面提到的对象识别那么容易。

感谢您的建议。

2 个答案:

答案 0 :(得分:0)

当然,与图像分类相比,物体检测并不容易。这是一个更难解决的问题,需要在收集和标记数据方面做更多的工作。也许您没有找到好的文档或帮助您的资源?您可以查看 this 设置对象检测以在自定义数据集上进行训练/测试的详细说明

答案 1 :(得分:0)

一般来说,我认为对象检测设置起来有点困难。但是我非常喜欢这个 keras 教程,因为它很简单,如果你有兴趣,它也会深入一点。如果您将模型的 initializationtraining 部分结合并添加所需的功能,整体复杂性并没有那么糟糕。但要了解每一步,需要付出更多努力。

resnet50_backbone = get_backbone()
loss_fn = RetinaNetLoss(num_classes)
model = RetinaNet(num_classes, resnet50_backbone)

optimizer = tf.optimizers.SGD(learning_rate=learning_rate_fn, momentum=0.9)
model.compile(loss=loss_fn, optimizer=optimizer)

epochs = 1
model.fit(
    train_dataset.take(100),
    validation_data=val_dataset.take(50),
    epochs=epochs,
    callbacks=callbacks_list,
    verbose=1,
)