如何使用tensorflow对象检测API进行人脸检测

问题描述 投票:0回答:2

Open CV提供了一个简单的API来检测和提取给定图像的面部。 (我认为它的工作原理并不完美,因为我经历过它会从与脸部图像无关的输入图像中剪切帧。)

我想知道tensorflow API是否可以用于人脸检测。我没有找到相关信息,但希望该领域的有经验的人可以指导我这个主题。张量流的物体检测API是否可以像Open CV一样用于人脸检测? (我的意思是,你只需要调用API函数,它就可以从给定的输入图像中获得面部图像。)

tensorflow machine-learning deep-learning face-detection
2个回答
1
投票

你可以,但需要一些工作。首先,看一下对象检测README。您应该遵循一些有用的文章。具体来说:(1)配置对象检测管道,(3)准备输入和(3)本地运行。您应该从具有预训练模型的现有架构开始。可以在Model Zoo中找到预训练模型,并且可以找到相应的配置文件here。 Model Zoo中最常见的预训练模型是COCO数据集。不幸的是,这个数据集不包含作为类的面(但确实包含人)。相反,您可以从打开图像上的预训练模型开始,例如faster_rcnn_inception_resnet_v2_atrous_oid,它确实包含面作为类。请注意,此模型比COCO数据集上使用的常见体系结构更大,更慢,例如SSDLite over MobileNetV1 / V2。这是因为Open Images比COCO有更多的类,因此一个良好的工作模型需要更具表现力,以便能够区分大量的类并正确地定位它们。由于您只需要面部检测,因此可以尝试以下两个选项:

  1. 如果你对较慢的模型没问题可能会带来更好的性能,那么从quick_rcnn_inception_resnet_v2_atrous_oid开始,你只能在单个类的脸上稍微微调模型。
  2. 如果你想要一个更快的模型,你可能应该从像COCO预训练的SSDLite-MobileNetV2这样的东西开始,然后从不同的数据集(例如你自己的或开放图像的面部子集)对面部类进行微调。 。请注意,预训练模型未在面部训练的事实并不意味着您无法对其进行微调,而是可能需要比预先训练过的模型更精细的调整。 - 也可以在脸上训练。

0
投票

只是增加输入的形状,我试过,它的工作要好得多

© www.soinside.com 2019 - 2024. All rights reserved.