前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >眼球中心定位跟踪算法—eyelike

眼球中心定位跟踪算法—eyelike

作者头像
chaibubble
发布2019-05-26 20:01:37
2.7K0
发布2019-05-26 20:01:37
举报
文章被收录于专栏:深度学习与计算机视觉

项目介绍

人眼中心定位是一个用于眼部追踪的算法,它来源于github中eyelike项目,C++语言实现,依赖OpenCV库。

关于代码的编译,作者提供了CMakeLists.txt文件,同时支持Windows,Linux和Mac OS X。

该项目只实现了简单的2维眼球跟踪功能,没有3维信息,也没有视线跟踪和估计功能。

作者提供了另一个博客链接Simple, accurate eye center tracking in OpenCV,其中有一段演示视频,可以看到跟踪效果。

项目主要的算法来源于剑桥大学的一篇文章:《Accurate eye centre localisation by means of gradients》


算法介绍

该项目从网络摄像头读取视频,进行人脸检测,再根据检测到的人脸图像截取左眼和右眼的ROI区域,最后根据截取到的ROI进行眼球中心检测与跟踪。所以算法的主要包含三个部分:人脸检测,ROI截取,眼球中心定位。

人脸检测

这里面用的人脸检测方法就是OpenCV中集成好的级联分类器,这是一种非常古老的人脸检测方法,利用Haar特征或LBP特征训练多个弱分类模型,组成最终的分类器,进行人脸检测。

OpenCV中提供了多个已经训练好的模型,考虑到侧脸的情况下左右眼将出现遮挡,所以在项目中目前只用到了正面脸检测。


眼部ROI截取

得到整个人脸图像后,截取出左右眼部区域的ROI图像,这个截取过程就是简单的根据先验知识,对于如下的一张人脸图像(注:该图片来源于互联网):

那么,左右眼的区域大小和位置大概是固定的,整幅图像的长宽分别为wIwIw_{I},hIhIh_{I}。眼部区域的长宽为wEwEw_{E},hEhEh_{E},则有:

wE=35100wIwE=35100wI

w_{E}=\frac{35}{100}w_{I}

hE=30100hIhE=30100hI

h_{E}=\frac{30}{100}h_{I}

对于左右眼ROI图像左上角像素点位置:

yL=yR=25100hIyL=yR=25100hI

y_{L}=y_{R}=\frac{25}{100}h_{I}

xL=13100wIxL=13100wI

x_{L}=\frac{13}{100}w_{I}

xR=wI−wE−13100wIxR=wI−wE−13100wI

x_{R}=w_{I}-w_{E}-\frac{13}{100}w_{I}


眼球中心定位

现在截取出了眼部ROI图像,就到了之前提到的那个论文的方法了,《Accurate eye centre localisation by means of gradients》。其实它用到的方法很好理解,一副图像,每个像素点都可以计算出梯度,而梯度包含了幅值和方向。对于眼部图像而言,越是靠近眼球中心的位置,灰度值就越低,就会有更多的梯度方向的连线交于那个点。

所以,中心位置的确定,就是在找梯度方向上的直线相交最多的那个点。


补充

除了眼球定位,这个项目还做了眼睑的定位,是在眼球中心位置与眼部ROI区域确定后,增加了简单的后处理,我没有把这个作为重点。


性能评价

最后,根据梯度方向的眼球定位算法在某些方面还是有可取之处的。它很简单,非常容易理解,然后没有使用边缘之类的纹理特征,这使得在较低分辨率的图像和视频下也能做到定位,因为即便是分辨率很低,起码梯度的特征相比边缘的特征,受到的影响更小,算法在这方面的鲁棒性很好。但是它毕竟是一种基于纹理特征的定位算法,这意味着,当眼部图像的纹理受到外部影响而改变时,算法的定位效果会变得很差。比如我测试的图像是一款头戴式设备采集到的,里面为了照明增加了光源,光源反射到眼球位置后出现了亮点,而这个亮点的存在改变了眼部原来的纹理特征。


实验效果

人脸检测

眼球定位

源码下载

当然可以直接到github地址下载eyelike啦。

同时,我调通了Windows在VS2010版本,依赖OpenCV2.4.11,点击下载。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年04月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目介绍
  • 算法介绍
    • 人脸检测
      • 眼部ROI截取
        • 眼球中心定位
          • 补充
            • 性能评价
            • 实验效果
              • 人脸检测
                • 眼球定位
                • 源码下载
                相关产品与服务
                人脸识别
                腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档