添加链接
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为该直线到原点的距离,来表示一条