2017-08-28 88 views
1

我有一个瞳孔中心检测问题。我训练了CNN给我瞳孔中心的位置,但它并不总是在中心。椭圆拟合瞳孔中心

如何进行良好的处理并使椭圆拟合算法检测中心?

过程就是这样。我用dlib在一张图片上剪下脸部,然后我做出了预测,在得到结果之后我想要预测中心。

以下是cnn预测的两个示例。任何指导将不胜感激。

Image1enter image description here

+0

你有没有尝试过一个循环变换? –

回答

2

直接辐射线从您发现中心。计算每条射线的强度梯度。最大梯度将您的点在虹膜的边缘。然后使用拟合椭圆。

​​

+0

你能否更深入地解释我一点。我是Computer Vision的开工人员,所以任何进一步的帮助都会对我有所帮助。 – Kostas

+2

在opencv http://docs.opencv.org/2.4/modules/core/doc/drawing_functions.html#lineiterator中有行迭代器,如果您将在眼睛中心设置一个点,并且另一个点将围绕某些点半径,位于一些小的角度步骤。它会为你提供一组取样光线。如果您会在每条光线上发现渐变,那么它将指向虹膜边缘,因为它在光线路径上的颜色过渡最陡。获得这些点后,可以使用opencv的fitEllipse方法。我添加了图像到我的答案。 –

0

从那些照片,似乎虹膜可变闭塞是什么扔了你的心找到。可以帮助的是关于虹膜和眼睛白色之间的边缘(而不是眼睑)更具体。要做到这一点,我会(但可能会有更好的方法)。在虹膜块内放置一个点,并投射一个径向间隔矢量网格,向外寻找第一个黑暗到光线的转变,超过最小对比度。对于每个射线测量边缘的对比度。对于所有虹膜到眼睛的过渡,对比度应该几乎完全相同,并且与眼睑会有差异。执行您喜欢的任何类型的数据聚类,以便将仅瞳孔块与白色边缘隔离,然后仅将这些边缘点馈送到椭圆中心查找中。