1。我正在做一个关于面部检测的项目,我只想知道如何显示这样的
我能够获得那个矩形但不能在框内显示字符串。
2。我已经使用haar进行了检测,它只检测我们何时直接查看它。当我们向左/向右/向上转弯时,我想让它更准确 - 帮帮我
我的代码看起来像这样。
std::chrono::seconds(2)
答案 0 :(得分:0)
您需要:构成和投射面孔
人类可以很容易地认出这两张照片都是威尔·法瑞尔,但计算机会将这些照片视为两个完全不同的人:
为了解释这一点,我们将尝试扭曲每张照片,使眼睛和嘴唇始终位于图像的样本位置。这将使我们在接下来的步骤中比较面部变得更加容易。 为此,我们将使用一种称为面部地标估计的算法。有很多方法可以做到这一点,但我们将使用方法invented in 2014 by Vahid Kazemi and Josephine Sullivan。
我们将在每张脸上找到68个地标。此图片由Brandon Amos的CMU OpenFace创建。
以下是在我们的测试图像上找到68个面部标志的结果:
PROTIP :您也可以使用相同的技术来实现自己版本的Snapchat的实时3D面部滤镜!
现在我们知道的是眼睛和嘴巴,我们只需旋转,缩放和shear图像,以便眼睛和嘴巴尽可能地居中。我们不会做任何花哨的3D扭曲,因为这会在图像中引入扭曲。我们只会使用基本的图像变换,如旋转和缩放,以保留平行线(称为affine transformations):
现在无论面部如何转动,我们都可以将眼睛和嘴巴对准图像中大致相同的位置。这将使我们的下一步更准确。
如果您想使用Python和dlib自己尝试这一步,请使用code for finding face landmarks,这里是使用这些地标的code for transforming the image。
此解释来自this medium post。
源代码可在GitHub上找到。