将人脸识别与人体姿势估计结合起来

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

我想创建一个能够估计人的姿势并识别他们的脸的应用程序。问题是,据我所知,每项任务都必须由不同类型的网络执行,因为我没有合适的数据集或编写这种网络的能力。在最坏的情况下,我将不得不用4个用于不同的网络:1)估算人的位置的网络,如下所示:https://github.com/michalfaber/keras_Realtime_Multi-Person_Pose_Estimation。这样的网络的输出例如是每个检测到的人19点。

2)用于面部检测的网络,以预测图像上的面部。我知道我可以使用人体姿势估计中先前描述的观点做出有根据的猜测,但是我认为这将是非常不精确的。示例网络:https://github.com/kpzhang93/MTCNN_face_detection_alignment

3)从点2)检测到的面部将被馈送到预测面部着陆标记的网络中,以获取面部的详细位置。示例网络:https://www.learnopencv.com/facemark-facial-landmark-detection-using-opencv/

4)最后,从点2)中检测到的面部将像这样被馈送到面部识别网络中:https://machinelearningmastery.com/how-to-perform-face-recognition-with-vggface2-convolutional-neural-network-in-keras/

使用这四个网络,我想它像这样工作:

1)估计人体姿势并获得头部坐标

2)检测人脸的边界框

3)这些边界框用于获取人脸界标的详细坐标。使用这些地标坐标,我可以找到此脸属于哪些人体姿势估计。

4)最后,通过将面部和人体姿势估计匹配,我可以识别出该面部并获得其名称。

我的问题是,这是4个不同的网络!假设我很幸运,并且每个人只需要1秒钟就可以进行预测,那么可能需要3-4秒来执行完整的分析。除了编写我自己的网络(祝你好运)并在新数据集上进行训练之外,还有没有更好,更快的方法?

machine-learning deep-learning face-recognition
1个回答
0
投票

我认为您的想法很好,有可能在一个包含多个类的网络中恢复所有这些操作,但是就像您说的那样,这是不精确的,因为您尽可能地分离任务,因此变得更加精确,所以我认为这样更好[]

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