【发布时间】:2018-09-13 21:56:32
【问题描述】:
在我的人脸识别项目中,人脸被表示为FaceNet 中使用的 128 维嵌入(face_descriptor)。 我可以通过 2 种方式从图像生成嵌入。
使用 Tensorflow resnet 模型 v1。
emb_array = sess.run(embedding_layer,
{images_placeholder: images_array, phase_train_placeholder: False})
可以传递图像数组并获得嵌入列表。 这有点慢。花了 1.6 秒。(虽然大量图像的时间几乎是恒定的)。 注意:GPU 不可用
其他方法是使用 dlib
dlib.face_recognition_model_v1.compute_face_descriptor(image, shape)
这给出了快速的结果。几乎是 0.05 秒。 但一次只能传递一张图片。时间随着图片数量的增加而增加。
有没有什么方法可以传递图像数组来计算 dlib 中的嵌入,或者有什么方法可以提高 dlib 中的速度?
或者有没有其他更快的方法来生成 128 维人脸嵌入?
更新: 我将多个图像连接成单个图像并传递给 dlib
dlib.face_recognition_model_v1.compute_face_descriptor(big_image, shapes)
即将多张单人脸图像转换为多张人脸单张图像。 静止时间与连接的图像数量(即人脸数量)成正比。迭代单个图像的时间几乎相同。
【问题讨论】:
标签: python tensorflow neural-network face-detection dlib