确定从网络摄像头捕捉到的面部距离

2024-05-14 01:01:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张被摄像头捕捉到的人脸照片,我想知道从摄像头检测到的人脸的距离。在

enter image description here

为了达到同样的效果,我试着找出由两个眼睛中心和一个鼻尖组成的三角形区域,并观察当我离开相机一段已知距离时,这个区域的变化。然而,我在我的道路上并不成功。在

需要帮助计算脸部与摄像头的距离。请注意,无论我要使用什么方法都应该是独立于人的,因为我无法控制那些要在镜头前走动的人


Tags: 方法区域距离中心照片人脸镜头摄像头
1条回答
网友
1楼 · 发布于 2024-05-14 01:01:15

我试着构建一个人脸的特征三角形,如下所示:

enter image description here

然后我用了下面的等式:enter image description here

其中“d”是距离,ax和ay是相机参数。enter image description hereenter image description here分别是捕获人脸和真实人脸的特征角区域。在

假设在距离(d1)处检测到面并计算出enter image description here。现在,我已经离开相机5厘米,把这个距离看作(d2),并注意到在捕捉到的面上形成的三角形的面积。在

使用上述两个方程,ax、ay和enter image description here为常数,并按如下方式求解:

enter image description here。在这里我还假设在现实世界中,特征三角形的面积是恒定的,不会因人而异。在

既然我们有了K值,我们可以用下面的公式来计算检测到的脸的距离:

enter image description here

请告诉我这个方法是否合理

相关问题 更多 >