用于眼球跟踪的神经网络的挑战与进步

可靠的头部和眼部跟踪对驾驶员监控至关重要。那么,为什么如此多的汽车公司依赖于过时且过于复杂的方法来监控这种行为呢?在 Neonode,我们为神经网络量身定制的方法为客户提供了值得信赖的可靠数据。

Head pose estimation and eye tracking have many use cases. Knowing where a person’s attention is directed can be useful in commercial applications like visual merchandising, advertising and consumer electronics. But accurate tracking becomes vital in applications like Driver Monitoring, and therefore, it is integral to have high data integrity and accuracy.

神经网络是获取头部和眼部跟踪信息的首选解决方案,但其应用方式仍然普遍过时,在使用网络后需要复杂的附加逻辑,需要额外的后处理来从神经网络中提取近似值,而不是直接读取所需的值。

当视线被遮挡时,地标眼动仪可能会失灵

关于如何进行头部和眼部追踪,一个经典的例子是训练一个网络来寻找面部和眼睛周围的某些地标点。在这些地标点的基础上,你可以添加一些逻辑来计算你真正感兴趣的数据。例如,可以通过训练一个网络来找到眼睛周围的地标点,然后编写逻辑,利用这些点在二维图像中的位置来计算上下眼睑的长宽比和眼睛的宽度,从而找到眼睛的睁开程度。为了可靠起见,这一逻辑必须考虑到某些兴趣点被摄像头隐藏的情况,以及眼睛角度影响长宽比的情况。

这种方法源于一个时代,当时你能获得的唯一训练数据就是手工标注的照片。以一致的方式为这些照片添加注释非常困难,因此你的解决方案必须建立在多层近似的基础上。为了弥补这些近似值,网络也必须非常复杂,需要更强的计算能力。

眼动跟踪 - 睁眼 - 地标点

眼睛周围的地标点--这是一种过时的寻找眼睛开度的方法。

瞳孔中心角膜反射 (PCCR) 需要复杂的安装和校准

还有一种类似的确定眼睛睁开程度的既定方法,就是观察被分析者眼睛的主动照明所引起的反射。例如,通过研究眼睛反射了多少照明,就可以确定眼睛的睁开程度。可以使用瞳孔中心角膜反射法(PCCR)进行跟踪,利用瞳孔中心与角膜反射之间的距离来确定注视方向。

虽然这种方法比上面提到的地标方法稍微复杂一些,但也有一些相同的缺陷。在找到兴趣点后,它需要额外的逻辑,而且你需要一种策略来处理兴趣点的遮挡。此外,它还对硬件安装精度提出了很高的要求。 要使解决方案发挥作用,主动照明必须正确地照射到面部。这项技术起源于眼球定位耳机,在这种耳机中,你始终知道你所研究的眼睛与照明光源之间的距离,并且始终从同一角度观察眼睛。在这种受控环境下,该方法可以获得高度精确的结果。不过,要达到这种精确度,需要进行大量的设备校准。当使用该方法从远处跟踪被摄体时(即所谓的远程跟踪),解决方案只能跟踪在预先校准的 "头箱 "内的被摄体。如果您希望无论人物在图像中的哪个位置都能进行跟踪,那么该解决方案将无法满足您的要求。这种方法根本无法处理 3D 世界的全部复杂性。

神经网络新方法消除复杂性并提高鲁棒性

The Neonode approach to neural networks is founded in our long use of synthetic data. Through our synthetic data factory we can create data that meets our exact needs, and thus have the possibility of creating neural networks which provide a direct answer to the question we’re asking. In this data we will also be sure that we treat all eyes and all faces in the same way. Annotations will be consistent throughout the entire training data sets. This helps us create lightweight networks, suited for embedded applications.

眼动跟踪 - 睁眼

眼动跟踪睁眼检测

在 Neonode,我们使用纯人工智能方法进行头部姿势估计和眼球跟踪。在眼球睁开的情况下,我们可以训练我们的网络直接给出睁开程度。为了得到真正可靠的答案,我们会将这些信息与我们的网络从场景中收集到的其他信息结合起来。

通过在训练数据中模拟不同的镜头参数、摄像机位置和类型以及遮挡现象,我们可以创建一个能够应对真实世界所有挑战的系统,而无需在训练中看到真实世界。即使重要的特征被隐藏起来,我们的网络也能继续成功追踪一个人。 在验证和可视化方面,经典的地标检测仍有用武之地,但仅仅依靠地标将导致系统无法应对三维世界的全部复杂性。

与 PCCR 解决方案不同的是,我们的神经网络无需额外校准即可跟踪人物。而且,无论人物在图像中的哪个位置,只要距离摄像机足够近,就能在图像中检测到人物。Neonode 的头部和眼部跟踪方法是专为远程跟踪目标而开发的,因此在现实世界的困难条件下也能发挥出色。

值得信赖的解决方案

如需了解 Neonode 用于驾驶员和车内监控的头部姿态估计和眼球跟踪解决方案的更多信息,请联系我们。

联系我们