眼镜这东西,跟口罩一样,是脑袋上的附属品,但出门在外又不可或缺。虽然生活中给我们提供了一些方便,不过也同时如同双刃剑一样,又带来了某些个不方便。比如戴口罩配眼镜就容易镜片起雾。当然机智客觉得不方便不止这一方面,在使用智能设备或者和智能设备的交互中,依然有不方便之处。比如你戴着口罩就过不了人脸识别门,再比如,你戴着眼镜就无法使用某些应用项目。
没错,说的就是这次学习的GazeTracking项目。或者具体一点,这是一个基于Python语言的用OpenCV来实现的一个眼球跟踪(或者说 是凝视注意力跟踪)的项目。当然它还提供了Dockerfile。看它的介绍,需要安装的依赖也不多,numpy == 1.16.1,opencv_python == 4.2.0.32还有dlib == 19.16.0。
这个项目的作者,大概是个帅哥。因为里面演示demo中的人就是。摄像头识别他帅气的脸庞——中的眼球位置,输出简单的文字提示。有时候机智客就不禁感叹,长这么帅还研究技术,真是没天理。哎,可能吧,有些明明可以靠脸吃饭偏又要才华或技术的人,可能就是用来虐我们普通人的。
项目看起来不赖的样子。这个应用把眼球识别封装成了一个GazeTracking类,放在本地gaze_tracking中调用。方法调用一般就是gaze.is_right(),gaze.is_left()以及gaze.is_center()。里面有包括gaze_tracking.py的几个py文件,还有一个大概是神经网络训练后的模型trained_models文件夹。
于是克隆下来,在本地(这次没有用Ubuntu系统,因为没有摄像头)新建了一个conda虚拟环境,运行sample试了试。看到摄像头拍摄的自己,如同一个毫无自知之明的家伙一样,自己都看不清自己——眼镜背后的眼珠子,有些反光吖。于是乎搔首摆姿半天,还是差强人意。程序偶尔能识别到眼球,不反光的情况下。摘掉眼镜,识别倒是很不错的。估计可以判死刑了,摄像头的像素问题是问题,不过看看这个项目对我等眼镜男的“偏见”(识别情况),估计也没必要再继续下去了。
可能吧,虽然没有验证太多,不过个人觉得,可能很多项目都这样,并没有考虑或者无法考虑眼镜这种附属品的因素。或者至少说,从技术上看,某个功能是验证可行的,做出的demo也正常能用,不过在现实中,我们会碰到很多现实的因素或奇怪的情况,这个就不是技术研究本身要考虑的了。
领取专属 10元无门槛券
私享最新 技术干货