如何找到瞳孔中心和眼镜框边缘之间的距离

Posted

技术标签:

【中文标题】如何找到瞳孔中心和眼镜框边缘之间的距离【英文标题】:How to find distance between Pupil Center and Eyeglass Frame Edge 【发布时间】:2020-07-25 23:38:06 【问题描述】:

我正在尝试测量瞳孔中心与眼镜框底部顶部边缘之间的真实距离,用户佩戴如图所示:

我正在使用ARKIt,并且使用faceAnchor.leftEyeTransform & faceAnchor.rightEyeTransform,我能够可靠地分别获得瞳孔的中心。

但是,我正在努力检测框架的边缘。所有在线参考都指向使用ARKit 检测平面,这似乎不适用于这种情况。这绝对可以做到,因为我已经看到 ios 应用这样做了。

【问题讨论】:

【参考方案1】:

仅使用 ARKit 无法检测帧。 ARKit 仅跟踪面部和面部细节。为了检测帧,您需要使用 CoreML 和一些机器学习。

更具体地说,您可能希望使用类似于 Yolo V3 (https://towardsdatascience.com/training-a-yolov3-object-detection-model-with-a-custom-dataset-4981fa480af0) 的模型来检测帧并告诉您它们存在于图像中的边界框。较低的水平边界将代表框架的底部。从瞳孔到下水平边界的距离可以让您对从瞳孔到眼镜底部的距离进行相当接近的估计。

【讨论】:

以上是关于如何找到瞳孔中心和眼镜框边缘之间的距离的主要内容,如果未能解决你的问题,请参考以下文章

瞳孔中心在实时眼动追踪中表现出色

如何将线条拟合到边缘并找到中心点(opencv)

如何在谷歌地图中获取标记和中心之间的距离

按两点之间的距离设置区域

Python matplotlib图例如何减少框架左边缘和标记之间的距离

使用 OpenCV 查找图像中两点之间的角度