【问题标题】:Live Iris Detection with OpenCV - Thresholding vs HoughTransform使用 OpenCV 进行实时虹膜检测 - 阈值与 HoughTransform
【发布时间】:2020-03-22 16:54:31
【问题描述】:

我正在尝试创建一个能够在实时视频流中检测和跟踪眼睛虹膜的应用程序。为此,我想使用PythonOpenCV。在互联网上对此进行研究时,在我看来,有多种可能的方法可以做到这一点。

第一种方式:

运行Canny Filter 获取边缘,然后使用HoughCircle 查找Iris

第二种方式:

使用Otsus-Algorithm 找到完美阈值,然后使用cv2.findContours() 找到Iris

由于我希望它在 Raspberry Pi (4B) 上运行,我的问题是这些方法中哪一种更好,尤其是在可靠性和性能方面?

【问题讨论】:

  • 边缘检测比阈值更可靠,原因是您的阈值随图像的光强度而变化(可能是皮肤等其他因素)。因此,您必须选择正确的方法 .... Sobel 、 Canny 、 Prewitt ...等,并选择正确的方法进行圆检测。

标签: python opencv eye-tracking iris-recognition


【解决方案1】:

我会采取第三条路径,从一种成熟的面部标志检测方法(例如 dlib)开始。您可以使用预训练模型来获得对眼睛位置的可靠估计。

这是面部标志检测器的示例输出:

然后你从那里继续寻找虹膜,使用边缘检测、霍夫或其他方法。

也许您可以简单地使用启发式方法,因为您可以假设虹膜始终位于每只眼睛周围关键点的质心。

在类似的设置中也有一些很好的在线教程(即使对于 Raspberry),例如来自 PyImageSearch 的 this onethis other one

【讨论】:

  • 我一直在使用 Haar-Cascade 来检测眼睛的位置,与 haar cascades 相比,使用地标检测有什么优势吗?
  • 我会说地标检测更健壮,但是如果 Haar-Cascade 适合您,那很好!
  • Haar-Cascade,给你太多误报了!需要在咖啡馆使用 OpenCV nn 或训练自己的模型。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-16
  • 2011-02-22
  • 1970-01-01
  • 2015-01-08
  • 1970-01-01
  • 2013-07-27
  • 1970-01-01
相关资源
最近更新 更多