当前位置:文档之家› 电子信息工程专业英语 课文翻译 Unit 12 译文

电子信息工程专业英语 课文翻译 Unit 12 译文

Unit 12 生物识别技术Unit 12-1第一部分:指纹识别在所有的生物技术中,指纹识别是最早期的一种技术。

我们知道,每个人都有自己独特的、不可变更的指纹。

指纹是由手指表皮上的一系列峰谷组成的。

指纹的独特性是由这些峰谷的形状以及指纹的细节点所决定的。

指纹的细节点是指纹局部凸起处的一些特性,这些特性出现在凸起的分叉处或是凸起的截止处。

指纹匹配技术可以被分为两类:基于细节的指纹匹配技术和基于相关性的指纹匹配技术。

基于细节的指纹匹配首先要找出细节点,然后在手指上对应出与它们相关的位置,如图12.1所示。

但是,使用这种方法存在一些困难。

要精确地提取指纹的细节点是很困难的。

而且,这种方法不能很好地考虑指纹峰谷的整体形状。

基于相关性的指纹匹配技术可以解决部分基于细节的指纹匹配方法存在的问题,但它也存在一些自身的缺陷。

基于相关性的匹配技术需要给出已注册过的特征点的精确位置,并且该方法会受图像平移和旋转的影响。

图12.1 基于细节的指纹匹配基于细节的指纹匹配技术在匹配不同大小的细节模型时(未注册过的)会存在一些问题。

指纹上局部的凸起结构不能完全由指纹细节实现特征化。

我们可以尝试另一种表达指纹的方法,它可以获得更多的指纹局部信息并且得到固定长度的指纹编码。

于是,我们只需要计算两个指纹编码之间的欧几里得距离,匹配过程有望变得相对简单。

研发对于指纹图像中噪声更稳健并能实时提供更高精度的算法是重要的。

商用指纹(身份)认证系统对给定的错误接受率要求具有很低的错误拒绝率。

在这点上,任何一项简单的技术都很难实现。

我们可以从不同的匹配技术中汇总多个证据从而提高系统的总体精确度。

在实际应用中,传感器、采集系统、性能随时间的变化是关键因素。

为了评价系统性能,我们有必要对少数使用者在一段时间内进行现场试验。

每天我们可以从法医鉴定、出入口控制、驾驶证登记等多个方面的应用中采集并保存大量的指纹。

基于指纹的自动识别系统需要把输入的指纹与数据库中大量的指纹进行匹配验证。

为了缩短搜索时间、降低计算复杂度,要以准确而一致的方式将这些指纹分类,从而使输入的指纹只需与数据库某一子集中的指纹进行比对。

指纹分类是将指纹划分入多个预定义指纹类型中的一类中的一项技术。

这些预定义的指纹类型是由提供索引机制的文献建立的。

图12.2表示了不同类型的指纹。

它们有螺纹状的、右旋状的、左旋状的、弓形的、帐篷形的。

输入指纹首先粗略地被匹配为预定义的类型中的一类,随后,输入指纹仅与这一大类指纹库中的子集作更精细的比较。

图12.2 不同类型的指纹指纹自动匹配中关键的一步是自动并且可靠地从输入指纹图像中提取出细节。

然而,细节提取算法的好坏很大程度上依赖于输入图像质量的好坏。

为确保自动指纹识别或确认系统的性能对于不同指纹图像质量具有稳健性,必须在细节提取模块中加入指纹增强算法。

快速指纹增强算法能根据对局部指纹脊方向和频率(密度)的估计自适应地改善输入指纹图像中脊和沟结构的清晰度,如图12.3所示。

实验证明加入增强算法可以显著增强指纹认证的精度。

图12.3 指纹增强Unit 12-2第二部分:说话人辨认介绍介绍现代安全系统范围很广, 通常要通过多层系统才能完全被突破。

除了标准的锁和警报系统以外,还有很复杂的方法来保护重要资料。

其中多数的方法为可以允许或者不允许一个特定人员获取资料——计算机系统必须能够检测出指纹、读取个人眼孔图样、或者确定说话者的真实身份。

最后一点是本文讨论的重点——说话人辨认。

说话人辨认经常会与其他类似的术语混淆。

以下对这些术语的精确定义做出解释。

说话人识别:确定是谁在说话。

说话人辨认:初始情况下不知道说话人是谁,必须在与模板比较后确定说话人的身份。

通常会有很多相关的模板。

说话人确认:确定说话者是否就是他(她)自称的那个人。

仅将说话者的话音与一个样板进行比对,即他(她)自称的那一个。

语音识别:识别出人们说话时的语句。

换句话说,识别出一个人在说什么而不是谁在说话。

这个术语经常与声音识别相混淆。

声音识别是识别出说话人。

通常来说,语音识别问题是很复杂的,涉猎很广的。

其中主要的一个问题是语音信号的复杂度很高。

在如图12.4所示的语音信号中,很难对大量系统做出解释并提交给系统。

图12.4 直流偏置改变后的diablo的波形图一个明显的问题在于信号不规则。

自然的语音信号始终起伏不定。

语音模型的另一个自然特性是信号的音量和幅度起伏不定。

不同的人会用不同的方法来强调音节、字母和单词。

如果两路信号音量不同,它们就很难进行比较。

同样,语音信号在很短的时间内会有很多峰值,它们对应于人们说话时每个单词的音节。

尖峰的增加使两个信号的比较变得更为困难,因为结果容易偏向于高的峰值,导致对那些结果的解释发生错误。

提供给系统的输入信号的速度高低是另外一个问题。

使用者说自己的名字时语速不同于他们平常的讲话速度,这可以改变识别结果,因为这时是将同一模式的两个不同版本进行比较。

问题在于他们讲话经历的时间长短不同,这必须考虑在内。

最后一个问题,当使用语音认证的方法来测试一个信号的时候,某个人可以尝试模仿另一个人的语音。

如果说话者有很好的模仿能力,那么这个说话者很有可能被系统接受。

为了处理信号的不规则以及周围环境对信号的噪声影响这两个问题,必须先让信号通过平滑滤波器。

滤波器要完成两项任务:消除过度的噪声和消除高频起伏,仅仅保留信号的大小。

这样,你就可以得到容易辨识处理的清晰信号了。

为了解决说话者音量不同的问题,信号在被测试前必须用相同的音量归一化。

每个信号都要被归一到零的附近,这样每个信号都会有近似相等的最大值和最小值。

为了测试每个人的语音峰值点,我们在平滑信号以后使用包络函数来检测信号中的峰值点。

如果信号通过某个门限,我们将检测它并把它与数据库中的相关信号做比对。

这个过程将对共振峰进行分析而不会分析整个信号。

每个人语音信号中的共振峰、或是元音声都可以被拿来做测试以区分说话人身份。

为了处理输入信号速度的多变性问题,我们要同时使用共振峰分析和包络函数分析法。

我们可以通过信号峰值的包络来确定哪个元音是有用的。

对应的实际共振峰本身也将不发生变化。

要解决语音模型的模仿问题,我们再一次地分析个人语音信号的共振峰。

从而我们可以实际确定说话人是否是他声称的那个人。

在大多数情况下,模仿者的共振峰信号不能完全匹配存放在数据库中的原始共振峰信号,这样,模仿者将被安全系统所拒绝。

包络检测当系统从声音信号中实际读取某些值时,最重要的一件事是指出怎样把信号截断。

一个很显然的方法是用音节来中断一个单词或是一连串词组。

尽管因为音节中仍含有辅音而有些难以解读,但元音(总是)构成音节的主要部分,更不要说信号中较响亮的部分了。

总而言之,用音节来中断单词是一个很好的开始。

当我们把信号通过一个平滑滤波器以后,就会得到清晰的波峰。

然而,问题依然存在——我们如何得到这些峰值中的一个呢?这么做的目的是在开始读取信号的时候选取一个正确的门限。

最重要的是要设法在保持每个信号的峰值的同时区分出多个峰值。

例如,当门限设得太低时,噪声将进入系统。

不过更有可能的是在阈值取得太高的情况下某些音节可能被忽略掉。

这使我们的问题有了一个很好的解决方案——门限切断了信号的采样值而不是时域值。

我们需要时域值来对结果的频率进行分析,这样,我们就可以在每个音节中考虑共振峰声音了。

于是回到最初的时间(时域)信号而不是采样信号,我们得到如图12.5所示的所需结果,其中每个包络的起点和终点对应于音节起点和终点。

图12.5 带包络的语音信号这样一来,信号的大部分被保留,所有的元音也被保留,信号中去掉的大部分都是辅音。

现在,我们有很多几乎完全是元音的信号。

这样,我们又回到最初的那个问题——我们如何来分析这些元音呢?更进一步地,我们如何通过分析元音来解读一个信号呢?要解读一个信号,我们先要从确定一个信号等式开始。

做到这一点的最好的方法是使用自回归模型。

自回归模型就是通过已知输入信号值搜索当前信号估计值的一个简单模型。

该模型的等式如下所示:这个模型由三部分组成:常数部分、误差或噪声部分、自回归和形式。

回归和表示当前的输入值仅取决于先前输入的那些值。

变量p是这个模型的阶数。

阶数越高,这个表达式的精度就越高。

因为系统的阶数可以趋向无穷大,所以我们几乎可以得到这个(信号)系统的一个精确表达式。

搜索共振峰一旦有了传递函数,就只需要取出包络所包含的音节,使它们通过这一传递函数(所代表的滤波器)。

当你得到传递函数的频率响应之后,你就可以得到一张很好的输出图像。

这提供我们一些可以实际去解读的东西。

特别是你可以很清楚地看到元音的共振峰,这意味着你可以很清楚地得到频率响应的峰值。

这些峰值可以区分元音。

例如,观察同一个人发出的这些元音,它们在外观上有明显的差异(见图12.6)。

图12.6 不同元音的共振峰样本左边是“a”,右边是“ee”观察前两个共振峰,对每个元音它们的频率和大小有明显的差异。

甚至是同一个元音,不同的人(说)也会有不同地峰值。

例如,比较不同的说话者发(cat中的)“a”(见图12.7)。

即使频率响应的结构相似,(不同讲话人所发的)元音各自具有稍微不同的共振峰,在出现的频率和达到的高度方面有所不同。

因此,我们终于有了可以分析信号的方法。

现在只剩下最后一步——把这些共振峰与整个组中的共振峰做比较。

图12.7 说话人元音比较:两个说话人发“a”这个音(的频谱图)最后一步:辨认说话人当所有的事情都完成之后,系统剩下来要做的事情是很简单的一部分——将输入共振峰和数据库中的共振峰作一个简单的比较。

第一步是要确定我们实际讲的是哪个元音。

就是对前两个共振峰的位置的简单测试。

如果它们在某个元音的前两个共振峰的范围内,那它们就表示这个元音。

这个范围储存在数据库中。

这些范围对每个独立的元音都有很好的定义,并且(这个范围)可以适用于组内的所有成员。

例如元音的第一个共振峰落在某一范围内,此范围包括组内恰好高于最高频率的第一共振峰和恰好低于最低频率的第一共振峰。

如果它不在元音的范围内,那么这个元音就是错误的,系统将继续尝试下一个元音。

这个过程将被重复直到找到一个元音(与输入元音一致)或者所有在数据库中的元音都尝试完。

如果某个共振峰不属于系统中的所有的共振峰,那么这个元音将被忽略掉。

第二步是实际比较。

输入元音的频率响应是与每个先前存储在系统里的元音的频率响应的标量积。

这里的元音是指在第一步中确定的元音。

得分矩阵是由标量积产生的。

得分矩阵将输出一个介于0和1之间的值,1表示完全匹配,0表示完全不匹配。

这个过程对单词中的每个元音重复操作。

再把得分矩阵加在一起,然后系统把得分最高的一个认定为说话人。

但是,如果这个人的语音信号没有通过门限值,那么系统将给出没有匹配的系论。

相关主题