我正在寻找有关如何解决以下计算机视觉问题的建议。
以下是我正在使用的4个眼动追踪数据集示例。我想编写代码来拍摄一张这样的图像,然后计算出瞳孔中心的(x,y)位置。我目前正在使用MATLAB,但也愿意使用其他软件。

有人可以推荐我可以用于此任务的方法吗?这是我已经尝试过但无法正常工作的一些事情。

  • 我尝试使用圆霍夫变换,但是这要求我猜测瞳孔的半径,这有点问题。同样,由于变形,瞳孔并不总是精确地是一个圆,这可能会使这种方法变得更加困难。
  • 我尝试根据像素亮度对图像进行阈值处理,并使用regionprops MATLAB函数查找偏心率非常低(即尽可能圆形)的大约200个像素区域的区域。但是,这对阈值非常敏感,根据照明条件,眼睛的某些图像比其他图像明亮。 (请注意,下面的4个样本已经进行了均值归一化,但其中一个图像仍然比其他图像整体更亮,这可能是因为某处的某些非常暗的随机像素所致)

    任何意见/建议,将不胜感激!

    编辑:感谢您的意见观星。理想情况下,算法应该能够确定瞳孔不在图像中,就像最后一个样本一样。如果我暂时忘了它,那没什么大不了的。但是,如果给我错误的答案,那就更糟了。

    最佳答案

    我不确定这是否对您有帮助,因为您使用的是数据集,而且我不知道您是否灵活/需要更改捕获设备。以防万一,我们走吧。

    Morimoto et al.使用一个不错的相机技巧。他们用两套红外灯创建了一个摄像头。第一组放在相机镜头附近。第二个镜头离镜头很远。使用不同的频率,两个LED集在不同的时刻被打开。

    视网膜将从相机镜头附近的装置反射光(这与摄影中的红眼问题相同),从而产生明亮的瞳孔。另一组LED将产生黑色瞳孔。 Compare the results。因此,两幅图像之间的简单区别就可以给您近乎完美的瞳孔。看一下森本等人的方法。探索闪光(很容易接近视线方向)。

  • 10-04 16:22