添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

先通过 级联分类器 定位人眼的位置,在通过 卷积运算函数 进一步处理得到 瞳孔位置 ,效果图如下:
基于OpenCV处理的瞳孔定位效果图

级联分类器

在目前所有的大多数方法中,OpenCV自带的级联分类器是 效率、准确率、实现方法简单 这三个方面兼顾综合评分最高的方法。
具体的代码和实现可以参考这个博客:
Opencv——级联分类器(AdaBoost)
简而言之就是由于 找眼睛 这个工作太具有普遍意义,已经有前辈给我们准备好了现成的库函数,直接用就行。

效果图如下所示:
级联分类定位人眼
需要注意的是这种方法虽然能够准确定位到人眼位置,主要是依据人眼的 整体轮廓——上下眼皮形状和眼球的黑色 ,我指出这一点的原因是为了区别瞳孔定位,为了进一步的找到人眼中心眼球还需要接下来的处理。

图像的锐化和特征提取

在这一块儿方法比较多,目的也十分简单,我们要得到人眼的瞳孔位置就需要有个思路,再通过代码实现,至于代码不会的地方去查阅其他代码即可。
论文合集——前期必要准备

  1. 确定主要特征 ——通过颜色梯度确定眼球轮廓

    我在刚学的时候总是以为黑色是图片的特征,所以我只需要找到图像里面最黑的部分就可以了。但是通过尝试后发现,一顿瞎操作啥用都没有。我发现单纯的找二值化后的数值根本没有用,或者说不具备普遍意义。
    还是得多看论文,再学习过一些资料后我发现,这段图片中(人的眼球)关键特征不是单纯的颜色,而是 颜色的变化 。我看过一个前辈的博客中说到,图像的颜色变化如同波澜起伏的地势,这种突兀的变化无疑是平地里的大峡谷!
    接下来我就只需要去确定这个特征即可,至于结果如何就需要一步步来了。

  2. 提高准确度 ——去除干扰

    我发现单纯的通过这种颜色的变化很难适用于大多数情况,我如何让这种颜色的变化不受外部环境的干扰呢?
    其实很容易找到,主要的干扰只有两个
    反光
    光线的变化导致的干扰 (类似于“红眼现象”)
    眯眼睛
    眼睛的半闭状态(怕侵权,用了个小柴狗头像)

我举的例子比较极端化,但是很明显,人眼的特征消失了,我无法按照刚刚的思路解决问题了,如何改进这一现象呢?

最早的相机里面也出现过“红眼现象”,对于反光很好解决,一般来说来说,他们借助算法拟合周围像素点的颜色值来填补中间的反光,至于拟合方式就不在这里赘述了。
因为我们是定位,能够找到就可以了,所以——我们通过判断颜色梯度的变化过程能够发现瞳孔位置的特殊现象,无论反光多么严重,高亮总是出现在瞳孔最突出的位置,而且在V色域中特征很明细显,梯度变化是一个对称的过程。我尝试着用 平滑+锐化 处理后发现效果还是挺好的。
眼睛的半闭状态需要合适的处理眉毛这一块,因为眼睛已经稍微闭合,我们只需要找到眉毛位置,再沿着眉毛寻找下面紧挨着的眼睛即可,毕竟瞳孔和眼白还是很好区分的。

主要的思路如上所示,因为这是本科毕业后实习项目,存档思路如上,代码部分还是比较简单的,而且传统方法处理图像比较依赖环境和光线,便不再去复现上述代码,如有需要还请评论区沟通。

Gaze Tracking This is a Python (2 and 3) library that provides a webcam-based eye tracking system. It gives you the exact position of the pupils and the gaze direction, in real time. ???? Quick note: ... 1.背景介绍 计算机视觉 是一种利用计算机处理和分析图像和视频的技术。它广泛应用于各个领域,如人脸识别、自动驾驶、物体检测等。OpenCV(Open Source Computer Vision Library)是一个开源的 计算机视觉 库,提供了大量的功能和工具,帮助开发者快速 实现 计算机视觉 任务。本文将介绍如何使用OpenCV进行视觉 定位 和目标识别。 2.核心概念与联系 2.1 视觉 定位 视觉... 本文主要 实现 基于 python 做一个视觉 定位 识别的功能,halcon版本使用的是halcon12.0,调用halcon的dll来 实现 二次开发,下边从头开始设置。 编程 环境 : python 3.8 pyqt5.15 halcon12.0 IDE: VisualStudio Code 区域性锁定目标实时动态跟踪(适用 警方追捕,无人机锁定拍摄等)特性:1.BOOSTING:算法原理类似于Harr cascdes(AdaBoost),是一种很老的算法。这个算法速度慢并且不准。2.MIL:比BOOSTING准一点3.KCF:速度比BOOSTING和MIL更快,与BOOSTING和MIL一样不能很好的处理遮挡问题。4.CSRT:比KCF更准一些,但是速度比KCF慢5.MedianFlow:对于快速移动的目标和外形比那花迅速的目标效果不好。 一、霍夫变换 本文主要介绍霍夫变换检测直线和圆的原理。 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法。主要用来从图像中分离出具有某种相同特征的集合图像(如,直线,圆等)。最基本的霍夫变换是从黑白图像中检测直线(线段)。 1、直线检测 1.1 直线的表示方式 对于平面中的一条直线,在笛卡尔坐标系中,常见的有两点式,点斜式表示方式。然而在Hough变换中,考虑的是另外一种表示方式:使用(r,θr,\thetar,θ)来表示一条直线。其中,r为该直线到原点的距离,来表示一条