人眼观察视角的测量方法及装置 技术领域 本发明涉及识别图形的方法, 特别是涉及应用电子设备进行人的脸部特征进行识 别的方法。
背景技术 随着计算机视觉技术的发展, 人脸识别技术得到了长足的发展和应用, 其理论和 算法体系日臻完善。 传统上, 人们把人脸识别技术分成人脸的检测和人脸的识别两大部分, 其中, 人脸的检测是利用人类脸部器官的结构、 外形以及分布等共性特征, 来检测是否有人 脸的存在, 人脸的识别则是把检测到的人脸特征和人脸模板库中预存的特征进行模式对 比, 以判断人的身份。
人脸识别技术仍面临着一定的挑战, 主要体现在, 虽然人脸的面部特征具有相似 性, 脸部器官的分布、 结构和外形具有稳定的关系, 可适用于通过人脸进行定位, 但是要应 用到个体定位则不易。其原因在于 : 人脸外形很不稳定, 人脸有很多表情变化, 并且在不同 的角度进行观察, 人脸的视觉图像也相差很大, 从而使得人脸识别效果的稳定性和准确性 存在相当程度的不确定性 ; 另外, 人脸识别还受光照条件, 例如白天和夜晚, 室内和室外等 ; 人脸上的遮盖物, 例如口罩、 墨镜、 头发和胡须等以及年龄等多方面因素的影响。
现有的人脸识别技术大约可以分为四大类 :
1) 基于知识的方法, 是对组成典型人脸的知识进行编码。 通常, 先验知识包换了这 些人脸特征的相互关系, 早期的人脸定位多用此方法。
2) 特征不变方法, 是通过找出存在的一些结构特征, 这些特征在姿态、 观察点、 光 照条件改变的情况下保持不变, 然后用这些特征来定位人脸。 其代表性的技术有 : 基于人脸 特征的边缘组法 ; 基于纹理的人脸模式空间灰度矩阵法 ; 基于肤色的高斯混合法 ; 以及基 于多特征的肤色、 大小和形状混合法。
3) 模板匹配法, 是先存储一张人脸的几个标准模板, 用来描述整张人脸或人脸的 部分特性, 然后通过计算输入图像与已经存储模板之间的相似度来进行检测。其代表性的 技术有 : 基于预先定义的形状模板法以及基于可变形模板的活性形状模板法。
4) 基于外观的方法, 其与上述的模板匹配区别在于 : 其模板是从一组训练图像经 过学习而得来的, 这些图像包括人脸外观的具有代表性的变化因素。 其代表性的技术有 : 基 于本征脸的本征向量分解和聚合法 ; 基于分布的高斯分布和多层感知器法 ; 基于神经网络 的结合仲裁模式的方法 ; 多项式内核的支持向量机 ; 贝叶斯分类法 ; 基于隐马尔科夫模型 的统计法 ; 以及多级联 Adaboost 算法。
Adaboost 算法是一种可机器学习的方法, 其核心思想是针对同一个训练集训练不 同的弱分类器 ---- 只要检测率高于 50%, 然后把这些弱分类器集成起来, 构成一个更强大 的最终分类器 ---- 强分类器。Kearns 和 Valiant 已经证明 : 只要有足够的数据, 弱学习算 法就能集成为任意精度的假设强学习算法。 Adaboost 算法根据每次训练集中每个样本的分 类是否正确, 以及上次的总体分类的准确率, 来确定每个样本的权值。 将修改过权值的新数
据集送给下层弱分类器进行再次训练, 这样得到新的弱分类器 ---- 下层分类器, 如此这班 地重复多次, 最后将每次训练中得到的弱分类器融合起来, 作为最后的决策分类器。 如中国 专利 CN200810056854.6 所公开的一种基于图片几何结构的人脸检测方法, 包括人脸模型 的训练过程和人脸图像的检测过程, 该方法包括以下步骤 : 人脸模型的训练过程步骤 : 训 练样本归一化步骤 ; 特征提取步骤 ; 采用合适大小的块对样本进行划分的分块步骤 ; 将计 算获得所有差分值拉成特征列向量步骤, 提交分类器学习 ; 瀑布型支持向量机的学习过程 ; 采用级联分类器针对每个窗口中的样本图片进行分类 ; 人脸图像的检测步骤 : 对检测到的 人脸进行标记。
在采用 Adaboost 算法进行人脸和脸部器官的检测并定位其位置的实现过程中, 人眼的识别和定位是人脸检测的关键, 人眼精确定位是人脸识别前处理阶段中非常关键的 一个环节, 只要眼球被精确定位, 其它的人脸器官如眉、 嘴、 鼻等, 可藉由潜在的几何分布关 系比较精确地定位, 在人眼定位算法中, 比较常用的算法可以分为 : 霍夫变换法、 变形模板 法、 边缘特征分析法和对称变换法。
虽然, 上述现有的方法已经能够较成功地实现人脸的检测, 然而, 针对一些特定的 应用领域, 比如 : 对人眼观察视角进行测量, 通过图像或视频中的人是否正在观看屏幕 / 镜 头, 来实现收视率调查、 户外广告的效果评价等, 由于人面部的微小转动, 或者眼球的微小 转动, 都可能会引起视角的很大变化, 这除了涉及上述的人脸识别技术外, 还涉及到人眼的 有关生理参数, 人类个体面部器官的几何参数以及人相对屏幕 / 镜头的位置参数等因素的 影响, 从而使得精确测量人眼观察视角成为一桩非常棘手的技术难题。 目前, 进行人眼视角的测量和追踪的方法主要有 : 1) 仪器法, 例如眼动仪, 在测量 时, 需要戴上特制的头盔 ; 2) 计算机图形图像处理法。这种方法利用人眼转动时相关特征 之间的变动关系进行视角测量。 这些特征有普尔钦斑中心、 虹膜中心、 眼角、 瞳孔中心等。 例 如普尔钦斑点法, 其原理是, 在拍摄镜头对人脸进行成像时, 在一定的光照和角度下, 成像 的人眼瞳孔中会产生一个高亮度的普尔钦斑, 该斑点中心的位置与瞳孔中心的位置有一定 的对应关系。测量人脸中的这些生理特征之间的关系, 从而测量出人眼的视角。上面列出 的几个特征, 由于其产生或测量有一定的条件, 因此有所限制。
发明内容 本发明要解决的技术问题在于克服上述现有技术的不足, 而提出一种可以实现较 精确地测量人眼观察视角的技术。
本发明所说的 “人眼观察视角” 是, 图像或视频中的人的视线相对于其平视状态 下的空间偏移角度, 或者定义为 “图像或视频中的人的视线相对于拍摄镜头的空间偏移角 度” , 这两种不同的定义, 采用的测量方法、 步骤完全一致, 测量结果也按照各自的定义进行 解释。例如, 视线左偏 15 度, 或者视线右偏 45 度, 等等。本发明所说的 “人眼观察视角的测 量” 是, 测量或估算出这个空间角度。
本发明对人眼视角的测量和追踪的方法属于计算机图形图像处理法。 为了增强应 用的普适性, 本发明选取了双眼中心和鼻梁线作为测量视角的特征变量, 根据统计学习来 测量视角。
本发明解决上述技术问题采用的技术方案包括, 提出一种人眼观察视角的测量
方法, 其包括的步骤大致有 : 1) 预先建立人眼观察视角模板库, 其包括人脸的转动、 人眼的 转动以及拍摄镜头的角度信息 ; 2) 计算第一类参数, 即人眼观察视角模板库中的人的双眼 中心的距离 ; 3) 计算第二类参数, 即人眼观察视角模板库中的人的鼻梁线与双眼中心的夹 角; 4) 计算第三类参数, 即人眼观察视角模板库中的人的鼻梁线与双眼中心的交点与双眼 中点的偏移 ; 5) 构造上述人眼观察各种视角与三类参数的参数矩阵 ; 以及 6) 用 Adaboost 算法, 依照已构造的该参数矩阵, 来判断一幅待检图像中的人的视角。
本发明解决上述技术问题采用的技术方案还包括, 提出一种人眼观察视角的测量 装置, 包括摄像头和处理器, 该处理器上可运行相应的应用程序以配合该摄像头实现上述 的测量方法。
本发明解决上述技术问题采用的技术方案还包括, 提出一种户外广告的效果评价 的方法, 通过设置上述的测量装置, 对被测对象的人眼观察视角进行判断, 并对该判断结果 进行统计。
与现有技术相比, 采用本发明的人眼观察视角的测量方法及装置, 可以实现较精 确地测量人眼观察视角, 以实现收视率调查和 / 或户外广告的效果评价等应用。 附图说明
图 1 为本发明的人眼观察视角的测量方法实施例的原理图。 图 2 为本发明的人眼观察视角的测量方法实施例的原理图。 图 3 为本发明的人眼观察视角的测量方法实施例中人眼观察视角的三个参数的示意。 图 4 为本发明的人眼观察视角的测量方法实施例中人脸转动后各参数发生变化 的示意。
图 5 为本发明的人眼观察视角的测量装置实施例中处理器的结构图。
图 6 为本发明的人眼观察视角的测量方法及装置实施例中所采用的 Haar-like 特 征。
图 7 为本发明的人眼观察视角的测量方法及装置实施例中 θ 与参数 r, α 的关系 的示意。
图 8 为本发明的人眼观察视角的测量方法及装置实施例中训练 Ci 上的 T 个弱分 类器的示意。
具体实施方式
以下结合附图所示之最佳实施例作进一步详述。
参见图 1, 本发明的人眼观察视角的测量方法实施例, 其包括的步骤大致有 : 1) 预 先建立人眼观察视角模板库, 其包括人脸的转动、 人眼的转动以及拍摄镜头的角度信息 ; 2) 计算第一类参数, 即人眼观察视角模板库中的人的双眼中心的距离 ; 3) 计算第二类参数, 即人眼观察视角模板库中的人的鼻梁线与双眼中心的夹角 ; 4) 计算第三类参数, 即人眼观 察视角模板库中的人的鼻梁线与双眼中心的交点与双眼中点的偏移 ; 5) 构造上述人眼观 察各种视角与三类参数的参数矩阵 ; 以及 6) 用 Adaboost 算法, 依照已构造的该参数矩阵, 来判断一幅待检图像中的人的视角。参见图 2, 本发明的人眼观察视角的测量装置实施例, 包括摄像头和处理器, 该处 理器上可运行相应的应用程序以配合该摄像头实现上述的测量方法。 该摄像头的设置角度 与实际应用中的屏幕 / 镜头的视角相适应。
在生活中, 当人们进行观察时, 通常最舒适的姿态是围绕颈部轴心进行小角度转 动, 或者, 眼球在眼眶中进行小角度转动。一般情况下, 人眼的视觉范围是以颈部为轴心的 180 度半球。本发明的核心思想是, 对图像进行检测, 当检测出图像中的人脸、 人眼、 人眼眼 球的中心位置以及人鼻梁线后, 参见图 3, 定义出判定人眼视角的三个参数 : 其一, 双眼中 心距 : 指人双眼眼球的中心距离, 记为 m, 其二, 图像上人的鼻梁线或其延长线与双眼中心 的夹角, 记为 α, 其三, 鼻梁线与双眼中心交点相对于双眼中点的偏移, 记为 ε。需要说明 的是, 本发明中鼻梁线为假想的一条线, 开始于鼻根, 结束于鼻尖。 如记人眼视角为 θ, 那么 θ 就是这三个参数的函数 : θ = f(m, α, ε)。
其中, 当 α = 0, ε = 0 时, θ = f(m, 0, 0) = 0, 即人处于平视姿态, 人眼视角为 0, 即人眼视线落在屏幕 / 镜头上。
尽管夹角 α 在很多情况下可以粗略说明人脸视线的偏移方向, 但不能以此说明 人脸视线的偏移角度, 因为 α 只是 θ 在图像上的投影, 而 θ 尚受眼球转动的影响。下面 结合图 4, 分析这三个参数对视角的影响 : X-Y-Z 坐标系是原始的人脸部的平视状态, aa 为双眼中心距, bb 为鼻梁线。
当人脸绕颈部转动一个角度 θ 后, 双眼中心从 aa 转动到 a’ a’ 位置, 鼻梁线从 bb 转动到 b’ b’ 位置。新的双眼中心 a’ a’ 和新的鼻梁线 b’ b’ 投影到图像上, 就形成了夹角 α。a’ a’ 的长度在 X-Y 平面上的投影相比 aa 变小了, 人眼视角与双眼中心距呈现出单调 减函数关系, 也即 : m 越小, θ 越大 ; m 越大, θ 越小。
当人脸绕颈部转动一个角度 θ 后, 由于屏幕 / 镜头位置不变, 因此图像上的双眼 连线就是 a’ a’ 在 aa 上的投影, 但图像上的鼻梁线就是 b’ b’ 在 X-Y 平面上的投影, 因而产 生了双眼中心与鼻梁线之间的夹角。人脸转动越大, θ 越大, 双眼距离投影就越小 m, 双眼 中心与鼻梁线之间的夹角 α 也越大。因此, θ 与双眼中心与鼻梁线之间的夹角 α 是单调 增函数关系, 同时 α 与 m 是单调减函数关系。
视角 θ 与偏移量 ε 的关系则比较复杂。一方面人脸绕颈部的转动会产生偏移 量, 并且是转动越多, 偏移量越大 ; 另一方面, 眼珠的转动也会产生偏移量, 可以记这两种偏 移量为 ε1 和 ε2, 这样 ε = ε1+ε2。
为了测量出图像或视频中的人眼观察视角, 首先需要预先建立人眼观察视角模板 库。该模板库按照人眼观察视角分类成若干个子模板库, 在子模板库中存储若干典型的人 类观察视角的图像, 这样, 人眼观察视角就由这些图像来定义。 除需建立人眼观察视角的模 板库外, 还需分别建立人脸模板库、 非人脸模板库、 人鼻子模板库和非人鼻子模板库。建立 人脸模板库的目的, 是为了检测图像或视频中的人脸 ; 建立人鼻子模板库的目的, 是为了检 测图像或视频中的人鼻子。由于有众多的研究机构已构造了人脸模板库和非人脸模板库, 因此可以直接引用。但人鼻模板库和非人鼻模板库需新建立。
本发明的测量人眼观察视角的方法的过程, 大致包括 :
首先建立一个人脸检测的计算机子系统。 该子系统是一个 Adaboost 分类系统。 用 人脸模板库、 非人脸模板库的图像训练该子系统, 使其获得对人脸的检测能力。
同样地, 建立一个人鼻子检测的计算机子系统。该子系统也是一个 Adaboost 分类 系统。 用人鼻子模板库、 非人鼻子模板库的图像训练该子系统, 使其获得对人鼻子的检测能 力。
其次, 建立一个计算人眼观察视角参数的计算机子系统。该子系统用于测量出模 板库的各种视角下的参数, 以形成参数矩阵。该计算机子系统先用人脸检测子系统、 人鼻 子检测子系统扫描人眼观察视角的模板库, 识别出其中的人脸、 人鼻子, 对人眼进行初级定 位, 对人眼进行精确定位, 识别人鼻梁线, 计算出每幅图像的人眼观察视角三参数 m、 α、 ε, 这样就和预先设定的人眼视角 θ 一起构成了人眼观察视角参数矩阵 A = [m α ε θ]。 在实际中由于精确测量较为困难, 因此可以用 θ 的范围表示, 这样 A 可以表示为 A = [m α ε θ1-θ2], θ1-θ2 为 θ 的范围, 也即预先设定的人眼观察视角模板库中的每一幅图像 所对应的视角范围。
最后, 再建立一个判别人眼观察视角的计算机子系统。通过该系统就可以输出图 像或视频中的人眼的观察视角。这个系统是一个 Adaboost 分类系统。用获得的这个人眼 观察视角参数矩阵来训练这个 Adaboost 分类系统, 使其具有较高精度的分类能力。
当建立好这样的系统后, 就可对图像或视屏中的人的观察视角进行检测。 本发明的人眼观察视角的测量装置, 包括摄像头和处理器, 该处理器上可运行相 应的应用程序以配合该摄像头实现上述的测量方法。 下面结合图 5, 对本发明的方法及装置 予以更详尽的描述 :
首先说明一下如何建立人眼观察视角模板库。 由于人眼的观察视角处于以颈部为 轴线的前 180 度半球面上, 以及人眼有向上看、 向前看、 向下看三种仰 ( 俯 ) 方向, 因此可以 据此把人眼的观察视角以一个最小观察粒度为单位划分为若干个区域, 以此区域分类构造 人眼观察视角模板库。假设待测对象端坐在原点上, 双眼平视前方, 以一个半径 R 移动摄像 头, 绕原点转动, 每隔一个最小观察粒度, 例如 3 度, 拍摄该待测对象, 这样就形成了若干幅 图像, 每幅图像对应了一个视角。然后该待测对象以一定角度仰视, 也以同样的半径 R 移动 摄像机, 绕原点转动, 每隔一个最小观察粒度, 例如 3 度, 拍摄该待测对象, 这样又形成了若 干幅图像, 每幅图像对应了一个视角。如此, 以不同的仰角, 俯角进行拍摄。接下来, 待测对 象仅按最小观察粒度的倍数转动眼球, 每种情况下都重复上面的过程。这样就得到了若干 个各种视角下的人脸图像, 每幅图像情况下人眼的视角就对应一个值。转动摄像头等效于 转动人脸。这样就建立了人眼观察视角模板库。
本发明的输入有 : 人脸模板库和非人脸模板库, 人鼻模板库和非人鼻模板库, 多种 预先分类好的人眼观察视角模板库, 待检图像。模板库中都是预先存储的图像。其中, 人脸 模板库和非人脸模板库可以采用一些研究机构提供的可免费使用的图像库, 也可以另行建 立。人鼻模板库中只含有各种视角下的人鼻的图像。人眼观察视角模板库包括已知的各种 视角下的人脸的图像。
本发明的输出有 : 人眼观察视角参数矩阵 ; 对待检图像分析后检出的结果, 即视 角范围。
本发明的处理器包括五个主要的部分组成 : 图像预处理 ; 人脸检测 Adaboost 分 类器 ; 人鼻检测 Adaboost 分类器 ; 人眼观察视角参数计算器 ; Adaboost 人眼观察视角分类 器。
图像预处理是在时域和空域中对图像进行平滑、 变换、 增强、 恢复、 滤波, 以消除其 中的随机噪声和高斯噪声等, 修复或增强图像中的边缘, 使图像中客体信息特征更加突出、 简练。 常用的算法包括灰度运算、 二值运算、 中值滤波、 均值滤波、 高斯滤波、 各向异性扩算、 Gabor 滤波和小波分析等。
人脸检测 Adaboost 分类器由两大部分组成 : 分类器训练部分和分类器决策部分。 图 6 是分类器采用的 Haar-Like 特征模板。训练分类器的简要步骤是 : 首先归一化人脸模 板库和非人脸模板库中的图像 ; 分别计算模板中每一图像每一位置对应于每个 Haar-Like 特征块的特征值 ( 积分图 ) ; 进行若干次循环, 每次循环中, 对所有特征块中的每一个特征 块都训练出一个弱分类器, 使其误判率小于 50%, 误判率最小的那个分类器则为该次循环 中的最佳分类器, 然后按最佳分类器的决策调整每个样本的权重, 以便进行下一次循环 ; 最 后把每次循环训练出的最佳分类器融合起来, 形成最终强分类器。用训练出的分类器检测 图像中是否存在人脸的简要步骤是 : 首先对待检图像进行预处理和归一化 ; 分别计算该图 像每一位置对应于每个 Haar-Like 特征块的特征值 ; 由强分类器中的每个弱分类器对该图 像是否有人脸进行投票, 最后对投票结果进行加权平均, 得出最后的决策结果。
人鼻检测 Adaboost 分类器的组成和工作原理与人脸检测 Adaboost 分类器一样。
人脸区域的粗定位的步骤是 : 检测到人脸的存在后, 采用 Anil K.Jain 的 Cb, Cr 椭 圆聚类方法产生人脸区域的初始二值图, 然后用二值形态学的开运算进行去噪处理, 得到 人脸区域的二值图。 方法是 : 对图像进行色彩变换后, 对每一像素的 Cb, Cr 值代入肤色判定 公式 :
其中, a = 25.39, b = 14.03, ecx = 1.60, ecy = 2.41 ;其中, θ = 2.53, cx = 109.38, cy = 152.02。
得到 (x, y) 值, 再计算该 (x, y) 是否落在椭圆区域内, 如果是, 则置该像素为 1, 否 则为 0, 这样就得到了图像的初始二值图。
得到人脸区域后, 先用小灰度聚类法粗定眼球中心点。然后采用霍夫变换法进行 眼球中心点的精确定位。聚类的过程是先将图像进行灰度化处理和中值滤波或高斯滤波, 将图像中灰度值最小的若干个 ( 假设为 N) 个像素, 按列递增的循序排序, 如相邻的列数差 值都为超过预先设定的门限, 说明只有一个聚类中心, 及只有一只眼, 求出这些像素行列的 平均值就是要找的眼球中心 ; 如超过了门限, 说明这些像素可以聚类成两类, 对左眼, 因为 阴影、 镜脚集中在左边, 所以取右边那类的平均值 ; 对右眼, 则取左边那类的平均值, N 的选 择可根据脸部区域部分的总像素数目及人类眼球部分占人脸图像的大致百分比决定。
在用霍夫变换定位眼球前, 先用 Canny 算子提取边缘。对于比较细长的眼睛, 由于 眼球的上半部分较多的被眼皮覆盖, 所以改用检测眼睑的下半园。设图像空间为 (i, j), i 和 j 分别表示眼球区域灰度像素的行列坐标, 三维变换空间为 (ie, je, R), 其中, ie, je 分 别代表眼球圆心的行和列, R 为半径, 这样, 三维变换空间 (ie, je, R) 就是霍夫变换的三维
参数空间。眼睑下半圆的代数表达式就为下式 :
i = ie+squrt(R2-(j-je)2) 其中 squrt 表示开方运算。
对于参数空间的每一个坐标点 (ie, je, R), 在图像空间都对应一个半圆, 在这个半 圆上存在的边缘点个数就是参数空间左标点 (ie, je, R) 对应的值。参数空间上的峰值点即 为所求的眼球半圆参数。
定位出人脸区域和双眼中心及眼球半径后, 根据人脸中眼睛、 鼻子的几何分布关 系的先验知识, 构造出人鼻子的区域。然后用 Canny 算子检测出鼻梁的正中线。
经过上述处理后, 可以计算出本发明所需要的人眼观察视角所需的三个参数, 这 样, 对人眼观察视角库中的模板图像逐幅处理后, 形成人眼观察视角参数矩阵。
接下来需要构造基于这个人眼观察视角参数矩阵的学习器 : Adaboost 人眼观察 视角分类器。传统的 Adaboost 分类器是对某一个事物进行决策, 决策的结果只有是或否以 及其置信度。与此有所不同, 本发明的 Adaboost 人眼观察视角分类器是要估算出一个数值 的范围, 是一个涉及多值选择的问题。下面详细说明如何构造。
假定人眼观察视角参数矩阵为 : A = [m α ε θ1-θ2], 其中 m, ε 按图 3 所示的 测量人眼观察视角的三个参数中的双眼中心坐标确定正负, α 按图 3 所示的测量人眼观察 视角的三个参数中的 “双眼中心与鼻梁线夹角坐标确定正负。θ 的范围为 ±90 度。又假 定视角的最小观察粒度为 Δθ = 3 度。如按前所述建立人眼观察视角模板库, 那么通常有 θ2 = θ1+Δθ, 即他们之间仅相差一个最小观察粒度 Δθ。
前文已经分析过 m, ε 和 α 的关系, m 与 α 是单调减函数关系, ε 与 α 是单调 增函数关系, 因此, m 与 ε 也是单调减函数关系, 因此可以定义二者之间的比率关系为 : r= ε/m, 可以分析, r 也与 θ 体现单调增函数关系。θ 与 r, α 的关系曲线见图 5。
假定 r 的最小观察粒度为 Δr = 0.001, 这样, 首先按照 α 和 r 这两个参数构造 特征块 : 在正的角度范围内 α 从 0 开始, 按照 Δθ 的倍数确定一个区间范围 [n*Δθ, (n+1)*Δθ], 直到 90℃为止。负的角度范围内 α 也如此划分。r 从 0 开始, 按照倍数确定 一个区间范围 [i*Δr, (i+1)*Δr]。这样就构造出一个特征块 t = (n*Δθ, (n+1)*Δθ, i*Δr, (i+1)*Δr)n 的取值要使得 (n+1)*Δθ < 90, 假定 n < N, i 的取值要 (i+1)*Δr 不 超过达到一个合理的值, 假定 i < I。这样, 特征块的总个数就是 (N+1)*(I+1)*4。乘以 4 的原因是, 考虑了 r 和 α 对每一个样本都有两个方向。对于每一个特征块, 其特征值就是 二维值 (θ1 θ2) 对, 即视角范围。
构造 Adaboost 人眼观察视角分类器的思路是, 首先, 对某一个视角区间 [i*Δθ, (i+1)*Δθ], -N <= i <= N, 构造出对于其上的的强分类器, 设为 Ci。
Ci 的数学表达式为 :
其中 Cij 为 Ci 中的第 j 个弱分类器, Eij 为该弱分类器的误检率。T 为希望的每个 Ci 中的弱分类器的个数。
然后, 融合这些强分类器, 即用这些强分类器进行求和运算。于是就形成了 Adaboost 人眼观察视角分类器。这样, 当给定待检图像 I(x, y) 后, 人眼观察视角分类器的 判决结果就是 :
f(I) = f(m, α, ε) =∑ Nj = 0Cj*j, 设其值为 i, 那么视角区间 θ 为 : Δθ*i <= θ <= Δθ*(i+1)
再考虑如何构造 Ci 中的 T 个弱分类器 :
经过前文的简化, 人眼观察视角参数矩阵就简化为 :
A = [r α θ1-θ1+Δθ]
本发明把这个参数矩阵中的每一个参数对, 作为训练样本。产生 Ci 中第 j 个弱分 类器的实质是, 对于某一个特征块, 求合适的 [r α] 的阈值范围, 使得该弱分类器把满足这 个阈值范围的样本判定为其视角落在区间 [i*Δθ, (i+1)*Δθ] 中。如果这个判定与事实 一致, 即该样本事实上的视角也落在区间 [i*Δθ, (i+1)*Δθ] 中, 那么就给 “检对” 加一 分, 否则就给 “检错” 加一分。只要 “检对” 的分数占总分的比率大于 50%, 那么这个弱分类 器即成立。每个特征都有一个对应的弱分类器, 其中的正确率最高的那个弱分类器就是最 佳分类器。 求 Ci 中的 T 个弱分类器的更详细步骤, 与传统 Adaboost 算法的步骤相一致, 这里 略为说明如下 :
假定视角的最小观察粒度为 Δθ = 3 度, 那么在 180 度视角区间内一共需要产生 2N = 2*90/Δθ 个区域。这些区域对应的视角范围是 Di = [i*Δθ, (i+1)*Δθ], 其中 -N <= i <= N-1。 这个区域上对应的强分类器为 Ci, 又假定 Di 上分布的训练样本个数为 NSi, N-1 这样, 总的训练样本数为 NS =∑ i = -NDi =参数矩阵的个数
如前定义的特征块定义为 t(n, i) = (n*Δθ, (n+1)*Δθ, i*Δr, (i+1)*Δr), 其 中 -N <= n <= N-1, -i <= i <= i-1。假定 T = 50。那么, 训练 Ci 上的 T 个弱分类器 的步骤就如图 8 所示。
以上, 仅为本发明之较佳实施例, 意在进一步说明本发明, 而非对其进行限定。凡 根据上述之文字和附图所公开的内容进行的简单的替换, 都在本专利的权利保护范围之 列。