HI,欢迎来到好期刊网!

匹配算法论文

时间:2022-05-25 01:28:08

导语:在匹配算法论文的撰写旅程中,学习并吸收他人佳作的精髓是一条宝贵的路径,好期刊汇集了九篇优秀范文,愿这些内容能够启发您的创作灵感,引领您探索更多的创作可能。

匹配算法论文

第1篇

关键词: 模式匹配; 跳转距离; BM算法; BMH算法; BMHS算法; DBMHS算法

中图分类号:TP393 文献标志码:A 文章编号:1006-8228(2015)01-08-04

An improved pattern matching algorithm of BMHS

Zhang Huan, Hu Yong

(School of Electronic and Information Engineering, Sichuan University, Chengdu, Sichuan 610065, China)

Abstract: Pattern matching plays an important role in computer application. By analyzing BM, BMH, BMHS algorithm and their corresponding improved algorithms, a new improved algorithm(called DBMHS) based on BMHS is proposed. DBMHS takes full advantages of two ends string characters of pattern string, through comparing two ends character jump distance of pattern matching, jump distance is increased. The experiment results show that the improved algorithm significantly increases the jump distance of matching window, effectively improving the matching efficiency.

Key words: pattern matching; jump distance; BM algorithm; BMH algorithms; BMHS algorithm; DBMHS algorithm

0 引言

随着网络技术的高速发展,网络资源呈爆炸式增长。如何在网络数据中找到需要的信息,已经成为人们研究的热点问题。模式匹配算法在很多领域得到了较为广泛的应用,如入侵检测、计算机病毒特征匹配[1]、搜索引擎、文本挖掘等。目前关于模式匹配的算法有很多,其中最著名的是BM算法[2]。BM算法发展的过程中,1980年Horspol发表了改进与简化BM算法的论文,即Boyer Moore Horspoo(BMH)算法[3],随后Sunday在1990年在BMH算法的基础上又进行了改进,提出了BMHS算法[4]。本文对现有几种典型模式算法进行分析,在BMHS算法的基础上进行改进,并进行试验和结果分析。

1 典型算法

1.1 BM算法

BM算法是由Boyer和Moore在1977提出的单模式匹配算法。它是目前实际应用中效率较高的单模式匹配算法之一。BM算法采用从右向左比较的方法,同时应用到了两种启发式规则,即坏字符规则和好后缀规则,来决定向右跳跃的距离。BM 算法中坏字符跳跃表和好后缀跳跃表的设计对提高BM算法效率有至关重要的作用。设文本T(长度为n),模式串P(长度为m)。

⑴ 坏字符跳跃表:当Pk≠Ti,即不匹配情况发生时,若此时Pk是P的末字符且Ti在模式串P中不出现,则下一次比较可以将匹配窗口直接移动m个位置后继续匹配;若Ti在模式串P中出现,则找到Ti在模式串P中出现的最右边的位置j(1≤j≤m-1),匹配窗口移动的距离为m-j(如图1所示)。

<E:\方正创艺5.1\Fit201412\图\zh图1.tif>

图1 坏字符规则

⑵ 好后缀跳跃表: 当Pk≠Ti(k<m)时,子串Pk+1Pk+2…Pm与Ti+1Ti+2…Ti+m-k是匹配的。若在模式串P的k位置左边有与Pk+1Pk+2…Pm相同的子串P1P2…Pm-s或Pk+1Pk+2…Pm的某个后缀Ps+1Ps+2…Pm与P的某前缀P1P2…Pm-s相同,即移动匹配窗口s位使Ti位置与该子串对应位置对齐,算法继续匹配(如图2所示)。

<E:\方正创艺5.1\Fit201412\图\zh图2.tif>

图2 好后缀规则

在匹配过程中,模式串P与文本T从右向左开始匹配,一旦发现不匹配,取好字符跳转和坏字符跳转之间较大的值作为模式串P的向右跳转距离。最理想的情况是每次匹配时文本T中第一个匹配的字符不存在于模式串P中,此时BM的算法的时间复杂度为O(n/m);最坏的情况是文本T中有多个重复的字符,并且模式串P由m-1个相同的字符前加一个不同的字符组成,在这种情况下,BM算法的时间复杂度为O(mn)。

1.2 BMH算法

Horspool提出的BMH算法相对于BM算法更容易实现。BMH算法在预处理阶段只使用了坏字符跳跃表,无论文本中哪个字符造成了匹配失败,都将依据坏字符跳转表向右移动。BMH算法的基本思想是:①搜索文本时,从头到尾搜索,匹配时从右向左匹配。首先比较文本指针所指字符和模式串的最后一个字符,如果相等,再比较其余m-1个字符,无论文本中哪个字符造成了匹配失败,都将由文本中和模式串最后一个位置对应的字符来启发模式串向右移动,即当匹配开始比较TiTi+1…Ti+m-1和P0P1…Pm-1时,一旦发生不匹配,计算跳转距离skip(Ti+m-1),跳转后将模式串和文本对齐后重新匹配。②如果与P完全匹配,返回在T中对应的位置;③如果搜索完T仍然找不到完全匹配的位置,则查找失败[3](如图3所示)。坏字符跳转计算公式:

<E:\方正创艺5.1\Fit201412\图\zh图3.tif>

图3 BMH算法

如图3所示,当文本中的与T2(‘d’)与模式串P中的P2(‘c’)发生不匹配时,计算跳转距离skip(T4),可以看出P1与T4相等,模式串P向右移动3个字符,即skip(T4)等于3,然后将P1与T4对齐后重新匹配。

BMH算法简化了初始化过程,匹配过程中的判断过程也作了简化,因为BMH算法只采用了BM算法的坏字符移动规则,并且将失配情况与偏移量的计算独立,不关心文本串中哪个字符造成了失配,只考虑用于模式串最右端对齐的文本字符来决定偏移量。该算法的理论时间复杂度与BM算法一致,但实际使用情况下较BM算法效率高。

1.3 BMHS算法

BMHS算法在BMH算法的基础上作了进一步改进,该算法的主要思想是:当开始匹配TiTi+1…Ti+m-1和P0P1…Pm-1时,若发生不匹配,考虑下一个字节的情况,即利用下一个字符Ti+m决定右移量。当下一个字符Ti+m不在模式串P中出现时,它的右移量比BMH算法的右移量大,跳过m+1个字符。通常情况下,BMHS算法比BMH算法快,但当Ti+m-1不在模式中出现,而Ti+m出现在模式串中时, BMHS算法[4]的效果就不如BMH算法[3]。匹配过程如图4。BMHS算法的跳转距离计算公式为:

<E:\方正创艺5.1\Fit201412\图\zh图4.tif>

图4 BMHS算法

如图4所示,当Ti+m出现在模式串P中时,如图4(a),将模式串P中的字符‘e’与Ti+m对齐;当Ti+m不存在于模式串P中时,如图4(b)所示,模式串P向右移动m+1个字符;而图4(c)中当Ti+m存在于模式串P中,而Ti+m-1不存在于模式串P中时,skip(Ti+m-1)等于5,而skip(Ti+m)等于1,Ti+m-1的跳转距离大于Ti+m的跳转距离,若还使用Ti+m为标准,则会降低匹配效率。在BMHS算法中最理想的时间复杂度为O(n/m+1)。

1.4 对各算法的已有改进

在模式匹配中存在两个基本定理:任何字符串匹配算法的最坏情况下必须检查至少n-m+1个文本中的字符;任何字符串匹配算法至少检查n/m个字符[5]。因此,没有一个算法比BM算法有更好的计算复杂度,但是我们可以通过改进来减少比较次数,提高匹配的平均性能。

基于以上三种模式匹配算法,近些年已经有多种改进算法。例如,利用统计字符在模式串中出现的频率来实现跳转[6];利用双字节计算偏移量[7-9];通过模式串P和文本T之间的关系来实现跳转[10];利用已匹配成功的字符串来进行跳转[11],以及从模式串两端向中间匹配的方式[12]来改进模式匹配算法等。以上算法虽然减小了匹配次数,但相应增加了匹配的时间。接下来详细介绍一种通过双字节来计算偏移量的模式匹配改进算法。

2012年袁静波提出了一种改进的BMHS模式匹配算法[8]。该算法在BMHS算法的基础上利用文本T中与模式串P最后一个字符对应的字符Ti+m-1,以及Ti+m和Ti+m+1来实现跳转,模式串P和文本T从右向左匹配。以下是具体匹配过程。

第一步:当文本T和模式串P发生失配时,首先判断Ti+m是否在模式串中,若不存在直接跳过m+1的距离,如图5所示,文本T中的T4(‘d’)不在模式串P中,则模式串P向右移动m+1个字符。

<E:\方正创艺5.1\Fit201412\图\zh图5.tif>

图5 Ti+m不在模式串P中

第二步:当Ti+m在模式串中时,判断子串Ti+m Ti+m+1是否在模式串P中,若不存在,则跳过m+2的距离,如图6,子串“be”不在模式串P中,则模式串向右跳转m+2个字符。

<E:\方正创艺5.1\Fit201412\图\zh图6.tif>

图6 Ti+m Ti+m+1不在模式串P中

第三步:若模式串包含Ti+m Ti+m+1,则比较子串Ti+m-1Ti+m是否存在于模式串P中,不存在的话跳转m+1个字符,如图7,子串Ti+m Ti+m+1(“be”)存在与模式串P中,而子串Ti+m-1 Ti+m(“gb”)不存在与模式串P中,则模式串P向右跳转m+1个字符。

<E:\方正创艺5.1\Fit201412\图\zh图7.tif>

图7 Ti+m-1 Ti+m不在模式串P中

第四步:若Ti+m Ti+m+1和Ti+m-1 Ti+m都存在于模式串中,则取两者之间匹配的最大值进行跳转,如图8,可以看出,子串Ti+m Ti+m+1(“ea”)的跳转距离为2,子串Ti+m-1 Ti+m(“ae”)的跳转距离为3,取跳转距离较大的值,则模式串P应向右跳转3个字符。

<E:\方正创艺5.1\Fit201412\图\zh图8.tif>

图8 比较得到较大值进行跳转

在该改进算法中,模式串P最大的跳转距离为m+2,在理想的情况下该算法的时间复杂度为O(n/m+2)。

2 DBMHS算法

2.1 基本思想

通过观察BM,BMH和BMHS算法的匹配过程可以发现,这些算法在匹配窗口的首字符匹配均失败时效率最优。本文提出的DBMHS算法通过比较模式串P的第一个字符P0的跳转距离jump(P1)和在T中与模式串P最后一个字符对应的后一个字符Ti+m的跳转距离jump(Ti+m)来移动模式串P。跳转距离公式如下:

jump(P1)={k|Ti+k=P1,1≤k≤m}

jump(Ti+m+1)=m-k+1 k=Max{k|Pk=Ti+m+1,1≤k≤m}

2.2 匹配算法

显然,提高首字符匹配失败的概率是提高算法效率的关键之一。改进的DBMHS算法结合了BMHS算法特点,首先模式串P与文本T左端对齐,从右向左开始匹配,先检测T中与模式串最后一个字符相对应的字符Ti+m-1是否在模式串P中,若Ti+m-1不在模式串P中出现,则检测后一个字节Ti+m是否存在于模式串P中,若Ti+m不在模式串P中出现,则模式串P可以向右移动最大的距离m+1,否则移动距离为m。如图9、图10所示。

<E:\方正创艺5.1\Fit201412\图\zh图9.tif>

图9 Ti+m不存在于模式串P中

<E:\方正创艺5.1\Fit201412\图\zh图10.tif>

图10 Ti+m存在于模式串P中

若Ti+m-1与模式串P中对应的字符相匹配,则接着匹配余下的字符,一旦发生不匹配的情况,则检测Ti+m是否存在于模式串P中,若不存在,则模式串P直接向右移动m+1的距离,若存在则计算Ti+m的跳转距离,然后计算模式串P中第一个字符P0的跳转距离,比较这两个跳转距离,选择较大的跳转距离作为模式串P的实际跳转距离。从图11可以看出,若使用Ti+m进行跳转,则模式串P的跳转距离为1,若使用模式串P的第一个字符P0进行跳转,则模式串的跳转距离为2,通过比较,使用P0的跳转距离可以使模式串P尽量的向右移动。需要注意的是,若模式串P或文本T中同一个字符出现多次,在计算跳转距离时,需分情况处理,例如,若匹配Ti+m时,P中出现多个与Ti+m相同的字符,则选择最右端的字符与Ti+m对齐;若是在匹配P0时出现这种情况,则选择T中靠左的字符进行对齐。

<E:\方正创艺5.1\Fit201412\图\zh图11.tif>

图11 P1跳转距离大于Ti+m

若算法在匹配时自右向左均匹配成功,则此时找到一次完全匹配,算法结束。DBMHS匹配算法伪代码描述如表1。

表1 DBMHS匹配算法伪代码

[输入:文本串T,模式串P

输出:文本串T中是否存在子串P\&While i≤T

Do If Ti+m-1 Pm

If Ti+m-1P

If Ti+mP Then MOVE m;

Else MOVE m+1;

Else

If Ti+mP Then MOVE m+1;

Else MOVE max(jump(P0),jump(Ti+m));

Else If Ti+kPk

If Ti+mP Then MOVE m+1;

Else MOVE max(jump(P0),jump(Ti+m));

Else If Ti。。。i+m-1= P0。。。m-1 Then Return true;

Return false;\&]

2.3 算法分析

从BMHS算法的匹配算法可以看出,BMHS算法在比较时利用下一个字符Ti+m决定右移量,当Ti+m不在模式串P中出现时会跳转最大的距离m+1,但当Ti+m出现在模式串P中时,由于多进行了一次匹配,BMHS匹配算法的效果就不如BMH算法。因此,DBMHS匹配算法通过模式串两端的字符来充分利用Ti+m。当Ti+m出现在模式串P中时,计算Ti+m的跳转距离,并计算第一个字符P0的跳转距离,通过比较这两个字符的跳转距离来实现更大的跳转,这样不仅提高了Ti+m的利用率,而且获得了更高的匹配效率。

3 算法性能测试

本实验使用的计算机硬件平台为IntelPentium G2020处理器,4G内存,软件平台为Windows 7操作系统,Microsoft Visual Studio 2010集成开发环境。在此环境下分别对BMHS算法、IBMHS算法和DBMHS算法进行测试,IBMHS匹配算法为文献[8]中提出的对BMHS匹配算法的改进算法。

实验随机选取4个不同长度的文本串,实验文本字符集由大小写字母,数字和空格组成。模式串从文本串中随机提取。分别执行BMHS算法、IBMHS算法和DBMHS算法程序,统计不同长度文本串,不同模式串的情况下,算法的执行时间和匹配窗口的移动次数。每个算法分别执行10000次,运行时间取平均值。得到的数据如表2和表3。

表2 匹配窗口移动次数

[文本长度\&模式串长度\&BMHS\&IBMHS\&DBMHS\&匹配次数\&匹配次数\&匹配次数\&2481\&12\&259\&183\&202\&1138\&10\&114\&90\&95\&555\&14\&44\&32\&35\&225\&12\&16\&13\&14\&]

表3 匹配时间

[文本长度\&模式串长度\&BMHS\&IBMHS\&DBMHS\&匹配时间\&匹配时间\&匹配时间\&2481\&12\&0.218\&1.482\&0.218\&1138\&10\&0.094\&0.671\&0.094\&555\&14\&0.031\&0.218\&0.031\&225\&12\&0.016\&0.094\&0.016\&]

由表2和表3可以看出,本文提出的算法相比传统的BMHS算法有较大的改进。例如第一次匹配,DBMHS匹配次数较BMHS减少了约28%,并且文本长度越长,减少的匹配次数就会越多。此外,DBMHS在匹配用时上与传统的BMHS算法比较接近。虽然IBMHS算法的匹配次数少于DBMHS算法,但是匹配时间几乎是DBMHS算法的7倍。从效率上来说,DBMHS算法要优于其他算法。

4 结束语

本文通过分析BM,BMH和BMHS模式匹配算法,提出了一种改进的算法DBMHS。由于DBMHS算法充分利用了模式串两端字符,通过实验可以证明,该算法的匹配效率得到了显著提升。下一步的研究将考虑该算法应用在多模式匹配中,并利用语言学中的知识,如模式串与文本结构,使其性能更加优越。

参考文献:

[1] Yang Wang and Hidetsune Kobayashi. High Performance Pattern

Matching Algorithm for Network Security. IJCSNS International Journal of Computer Science and Network Security,2006.6(10):83-87

[2] Boyer R S,Moore J S.A Fast String Searching Algorithm[J].

Communications of the ACM,1977.20:762-772

[3] Horspool N R. Practical Fast Searching in Strings[J]. Software

Practice and Experience,1980.10(6):5012506

[4] Sunday D M. A very fast substring search algorithm[J].

Communication of the ACM,1990.33(8):132-142

[5] 李雪莹,刘宝旭等.字符串匹配技术研究[J].计算机工程,2004.30

(22):24226

[6] 刘胜飞,张云泉.一种改进的BMH模式匹配算法[J].计算机科学,

2008.35(11):164-165

[7] 姚保峰,王磊.一种改进的BMH模式匹配算法[J].湖南工程学院学报:

自然科学版,2011.3:40-42

[8] Yuan J, Yang J, Ding S. An Improved Pattern Matching Algorithm

Based on BMHS[C]//Distributed Computing and Applications to Business, Engineering & Science (DCABES), 2012 11th International Symposium on. IEEE,2012:441-445

[9] 王浩,张霖.基于坏字符序检测的快速模式匹配算法[J].计算机应用

与软件,2012.29(5):114-116

[10] Shrivastava G, Jain A. A Review of Intrusion Detection Method

Based On Automatic Pattern Matching[J]. Computer Engineering,2012.1(1):88-90

[11] Chen Q, Niu Y, Wang Z, et al. Improved BM Pattern Matching

Algorithm for Intrusion Detection[C]//Computational Science and Optimization (CSO), 2010 Third International Joint Conference on. IEEE,2010.1:440-444

第2篇

摘要:

目标检测和跟踪技术是无人机航拍领域的重要研究方向。总结了无人机航拍视频中目标检测和跟踪的常用方法并对其进行了分类。分析了各类别的优缺点,并讨论了无人机航拍视频中目标检测与跟踪的难点及未来发展趋势。

关键词:

无人机;目标检测;目标跟踪;航拍

引言

无人机又称为无人驾驶飞行器,是一种具有遥控、自动、半自主、全自动飞行能力的飞行器。常见的无人机主要分为固定翼无人机、直升机和多旋翼无人机。2010年前,固定翼无人机和无人直升机在航拍领域占据了主流地位,然而,在近几年中,随着控制技术、传感器技术和计算机视觉领域的快速发展,多旋翼无人机成为了航拍领域的新星,尤其是四旋翼无人机和八旋翼无人机受到了航拍领域的青睐,其模型如图1所示。多旋翼尤其是四旋翼无人机之所以受到广泛关注和应用主要是因为有以下特点[1]:操控简单,四旋翼无人机可以实现垂直起降,不受场地的限制,飞行过程中动作灵活并可实现空中悬停;便于携带,旋翼无人机具有体积小、便于携带且操作灵活等特点;经济实惠,多旋翼无人机最大的优点就是成本低,所以,受到广泛应用。目标检测与跟踪技术作为计算机视觉领域的关键技术,受到了各界学者的广泛关注。在无人机航拍领域中,为了实现追踪拍摄,目标检测和跟踪必不可少。因此,目标检测和跟踪技术是无人机航拍领域的重要研究方向[2]。另外,航拍视频中由于画面较大,目标在场景中所占面积较小,背景复杂,目标易发生尺度、旋转、光照和遮挡干扰以及相机抖动等影响,航拍视频中目标的检测和跟踪变得尤为复杂,检测和跟踪工作变得更加困难。本文主要就无人机航拍视频中的目标检测和跟踪技术展开讨论,对目标检测和跟踪算法的分类、优缺点和应用范围进行总结,并对航拍视频中目标检测和跟踪算法的难点和发展趋势加以讨论。

1无人机航拍视频目标检测技术

对无人机航拍视频中的目标进行跟踪时,首先需要对目标进行检测,目标检测的准确与否会直接影响后续对目标的处理,所以,目标检测技术在无人机航拍视频目标的检测和跟踪系统中起到了至关重要的作用。目前,运动目标检测算法相对来说比较成熟,可应用于无人机航拍视频的目标检测算法主要有以下几种:

1)帧间差分法。主要通过连续两帧相同位置像素点间的灰度差来确定目标的移动,算法操作简单,易于实现,但是,该算法只适用于静态背景和目标单一条件下的目标检测,所以,应用于无人机航拍视频的目标检测时,只适用于无人机悬停状态下的运动目标的检测,应用范围有限。

2)背景差分法。其原理是通过预先设置背景,然后通过对检测图像和预设背景作差的方式提取目标。该方法能够得到较为完整的目标图像并且能够满足实时性要求。但是,在实际背景与预设背景相差较大或者实际检测过程中发生明显光照变化的情况下,该方法检测精度会下降较大。所以,该算法同样只适用于无人机悬停状态下的目标检测。

3)光流法。该方法将光流作为灰度像素点在图像上的瞬时运动场,从而实现对目标的跟踪。该方法根据原理主要分为四类:基于梯度的方法、基于匹配的方法、基于能量的方法和基于相位的方法。光流法的工作流程为:首先,在图像中等间隔选取光流点;其次,计算光流点的运动矢量(常用HS法和LK法等);最后,根据运动矢量检测运动目标。与前两种方法相比,由于光流场能够反应像素点的灰度运动情况,所以,光流目标检测法能够进行动态背景下的目标检测。

4)特征匹配法。主要通过提取待检测目标的特征(角点特征、颜色特征等)建立目标模板,然后在实时视频中通过检测图像中的特征图目标模板进行相似性判别,从而实现目标的检测。目前常用的特征匹配算法有SIFT[6]、SURF[7]、BRISK[8]和FREAK[9]等。特征匹配法是目前应用最为广泛的目标检测和识别算法。其不但可以检测出目标,同时可以实现对目标进行识别,并对目标的尺度、旋转、光照和遮挡等具有较好的鲁棒性。特征匹配算法既适用于动态背景的目标检测,也适用于静态目标的检测。

2无人机航拍视频目标跟踪技术

目标跟踪技术是通过确定视频连续帧中目标的位置和大小来实现的,主要的跟踪方法主要有以下几种。

2.1CamShift算法[10]

CamShift算法是对MeanShift算法的改进,是由Bradski提出的连续自适应漂移算法。MeanShift算法是一种基于核密度估计的非参数模式匹配算法。首先,手动选取待跟踪目标区域,使用MeanShift颜色直方图信息作为模板,再对下一帧图像的颜色直方图提取,进行匹配,通过计算相似度获得相似度密度分布图,图中的极值位置即为目标的位置。由于MeanShift算法模板不能实现实时更新且在跟踪过程中核函数带宽固定不变(跟踪窗口固定不变),所以,当目标发生尺度变化或外界干扰时,会造成跟踪目标不准确或者跟踪目标丢失的现象。Cam-Shift算法是将视频中的每一帧都进行MeanShift运算,不仅可以实现对目标模板进行更新,也可以实现自动调节跟踪窗口大小的功能。CamShift算法流程大致分为以下几步:

1)将图像从RGB空间转化为HSV空间,此步骤的主要目的是为了减小跟踪过程中光照的影响;

2)目标初始化,手动选取目标的位置和大小并提取目标区域的H分量的直方图;

3)计算图像反向投影,认为反向投影图中像素点亮度越大,其为目标区域的概率就越大;

4)利用MeanShift算法进行迭代运算,移动搜索窗口的中心到迭代的最大位置;

5)调整搜索窗口的大小;

6)重复步骤3~5,直至视频最后一帧。算法的具体流程图如图2所示。

2.2卡尔曼滤波算法[11]

卡尔曼滤波算法是一种小方差最佳线性递推方法,通过当前目标信息可实现对下一帧目标位置进行预测,从而实现目标的跟踪。卡尔曼滤波算法是通过状态方程和预测方程两个方程实现的,状态方程可实现对系统的状态进行客观描述;预测方程可实现系统对下一时刻状态的预测。其工作原理如图3所示。

2.3粒子滤波算法[12]

粒子滤波的实质是用带有权值的粒子表示后验概率,这些粒子随着目标模型的移动而移动,最后与目标模板进行匹配并更新权值,这些粒子的状态加权即为后验概率。粒子滤波一般可分为4个步骤:1)采样:在系统的状态空间中随机采集粒子并对其进行加权,以反映目标的状态;2)重采样:为了防止粒子退化的现象,保留权值较大的粒子,减少权值小的粒子;3)状态转移:粒子滤波利用状态转移目标在下一时刻的状态,即可得到新的粒子;4)系统观测:利用观测数据来推算粒子的权值,从而得到概率密度函数。算法具体流程如图4所示。

2.4特征匹配算法[13]

基于特征匹配的目标跟踪是采用目标的局部特征信息,通过特征匹配来进行跟踪的算法。目前常用的特征匹配算法有SIFT、SURF、ORB、BRISK和FREAK等。基于特征匹配的目标跟踪算法可分为4步:特征点检测;特征描述;特征点筛选;特征点匹配。跟踪算法的具体流程如图5所示。四种常用算法的原理和优缺点如表1所示。

3无人机航拍视频目标检测和跟踪技术难点

航拍视频中目标的检测与跟踪要想达到良好的效果,首先必须能够准确检测出目标的位置;其次要对检测出的目标进行持续、准确跟踪。当目标受到外界背景和遮挡等干扰时,具有较好的抗干扰性,并在通过干扰时能够具有迅速恢复跟踪的能力。目前,无人机航拍视频的目标识别和跟踪主要面临如下问题:

1)光线的变化。室外无人机航拍过程中避免不了光线的变化,光线的亮度变化使总体环境和跟踪目标的颜色、亮度等特征都会随之改变,对目标检测和跟踪产生影响。

2)复杂背景。航拍视频具有大视场、大广角的特点,所以,航拍视频具有信息量大、背景复杂、视场不确定性和目标在视场中占据面积较小等特点。目标容易受到复杂背景和相似目标的干扰,这种不确定性因素对航拍过程中的目标检测和跟踪会造成较大干扰。

3)目标尺度、旋转问题。无人机航拍视频中,由于无人机飞行高度、飞行角度和飞行方向等问题,非常容易造成目标的尺度变化和旋转变化。当尺度和旋转变化范围较大时,会造成识别和跟踪算法精度显著下降。

4)目标遮挡。在无人机航拍视频中,目标会经常出现被外界事物遮挡的情况,这对目标检测和跟踪算法会产生较大影响,当目标受到严重遮挡时,甚至造成目标检测无法实现、目标跟踪失败等问题。

4无人机航拍视频目标检测与跟踪展望

随着无人机航拍领域的快速发展,航拍视频的目标检测与跟踪技术必然会得到快速发展,在未来将有以下2个方面的发展特点:1)向着实时性更强的方向发展。随着计算机运算能力的发展和算法的不断创新和改进,目标检测和跟踪的快速性会不断提高,满足实时性的需求。2)向着鲁棒性更强的方向发展。衡量目标检测和跟踪性能好坏的一个重要因素就是算法的鲁棒性。未来目标检测算法发展的一个重要目标就是运用较少的信息,就能够实现准确的目标检测和跟踪,并对外界干扰具有较高的鲁棒性。

5结束语

本文详细介绍了无人机航拍视频目标检测和跟踪的常用方法,分析了各方法的基本原理、优缺点和适用范围,最后指出了研究难点和发展趋势,相信通过各界学者的共同努力,无人机航拍视频目标检测和跟踪将会发生巨大的飞跃。

参考文献:

[1]朱玮.基于视觉的四旋翼飞行器目标识别及跟踪.南京:南京航空航天大学学位论文,2014

[2]李文辉.航拍视频中运动目标的检测与跟踪算法研究.西安:西安电子科技大学学位论文,2014

[3]林雯.新型基于帧间差分法的运动人脸检测算法研究.计算机仿真,2010,27(10)

[4]汪国强,盖琪琳,于怀勇,等.基于背景差分法的视频目标检测算法研究.黑龙江大学工程学报,2014,5(4)

[5]吴振杰.基于改进光流法的运动目标检测与跟踪系统.郑州:郑州大学学位论文,2012

[10]王巍,孟朝晖.一种改进的CamShift目标跟踪方法.信息技术,2015(1)

[11]瞿卫欣,程承旗.基于Kalman滤波的CamShift运动跟踪算法.北京大学学报(自然科学版),2015,51(5)

[12]李忠海,王莉,崔建国.基于CamShift和ParticleFilter的小目标跟踪算法.计算机工程与应用,2011,47(9)

第3篇

一、 课题任务与目的

1、课题的主要任务:以DSP平台为系统硬件平台,并基于DM6437为处理器核心,设计硬件原理图,编写特征点提取算法,使系统通过特征点匹配对静态目标进行识别。

2、课题的主要目的:设计并实现一个功能完整,操作简单的目标识别系统,使其能够对静态图像目标进行特征提取与匹配,从而进行目标识别。

二、调研资料情况

1、课题的学术状态:

(1)DM6437关键特性

时钟频率达 600MHz, 1个TVP5146M2视频解码器4个视频DACV输出,128MDDR2DRAM,提供16M non-volatile flash memory, 64M NAND flash, 2M SRAM 提供UART, CAN,I/O接口,AIC33 立体音频编码器,10/100 MBS以太网接口,可配置的 boot load 选项,嵌入式的 JTAG 仿真器接口,4个用户LEDs及4个用户切换点,提供子板扩展插槽,VLYNQ接口,提供S/PDIF接口。

(2)SIFT算法

从理论上说,SIFT是一种相似不变量,即对图像尺度变化和旋转是不变量。然而,由于构造SIFT特征时,在很多细节上进行了特殊处理,使得SIFT对图像的复杂变形和光照变化具有了较强的适应性,同时运算速度比较快,定位精度比较高。如:在多尺度空间采用DOG算子检测关键点,运算速度大大加快;关键点的精确定位不仅提高了精度,而且大大提高了关键点的稳定性;在构造描述子时,以子区域的统计特性,而不是以单个像素作为研究对象,提高了对图像局部变形的适应能力;对于16*16的关键点邻域和4*4的子区域,在处理梯度幅度时都进行了类似于高斯函数的加权处理,强化了中心区域,淡化了边缘区域的影响,从而提高了算法对几何变形的适应性;该方法不仅对通用的线性光照模型具有不变性,而且对复杂的光照变化亦具有一定的适应性。

SIFT算法的特点:1. SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性;2. 独特性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配;3. 多量性,即使少数的几个物体也可以产生大量的SIFT特征向量;4. 高速性,经优化的SIFT匹配算法甚至可以达到实时的要求;5. 可扩展性,可以很方便的与其他形式的特征向量进行联合。

2、参考文献

【1】《TMS320DM6437 Datasheet》,

【2】

【3】

【4】baike.soso.com/v8850239.htm

【5】《Allegro PCB Design CIS Getting Started Guide》,

【6】周建雄,张笑微《基于DM6437 的运动目标检测系统》,《信息化纵横》2019年第12期

【7】《C/C++图像处理编程》,清华大学出版社

【8】孙艳丽,李建海,王玲玲,孙晶《基于SIFT的多焦距图像特征点提取算法》,《现代电子技术》2019 年第23 期总第334 期

【9】蒋建国,李明,齐美彬《基于TMS320DM6437的运动目标实时检测与跟踪》,合肥工业大学学报(自然科学版)2019年7月第34卷第7期

【10】《OrCAD Capture User's Guide》,

三、初步设计方法与实施方案

1、设计方法:

(1)、将外部图像传输到DM6437处理器。

(2)、在DM6436处理器中利用Sift算法对特征点进行提取。

(3)、将提取的特征点与以存特征点进行比对。

(4)、将对比结果进行反馈。

2、实施方案:

(1)、基于Sift算法设计特征点提取算法

(2)、设计硬件原理图

(3)、基于Matlab软件进行仿真

(4)、对仿真结果进行分析,并对不足处进行改进与优化

(5)、编写基于该DSP硬件平台的演示工程文件

四、预期结果

1、主要内容:本课题旨在设计出一套目标识别系统,通过图像特征提取与匹配算法实现目标的识别,图像数据由前端传输给出,系统硬件平台使用DSP平台。

2、预期结果:本课题结束后,基本应可以对静态图像目标进行特征点的提取与匹配,并对匹配后的结果进行反馈。

五、进度计划

第1周:查找相关资料对课题进行初步了解,撰写开题报告。

第2周:深入研究课题内容,对系统各部分模块进行了解。

第3-4周:对DM6437处理器核心进行研究

第5周:设计硬件原理图

第6-7周:研究SIFT算法

第8周:编写特征点提取算法

第9周:编写图像处理程序。

第10周:基于Matlab软件制作仿真文件

第11周:分析仿真文件

第12周:制作PCB原理图

第13周:系统测试及调试

第14周:撰写毕业论文

第4篇

[关键词]电子图书馆 LINGO聚簇算法 用户兴趣 分组模型

20世纪末开始随着计算机技术的发展,各种信息资源大量涌现,进入了信息大爆炸的时代。如何在广阔的信息海洋中检索到自己感兴趣的数据越来越成为网络用户关注的焦点。针对用户检索信息的需求,相继出现了许多优秀的搜索引擎,比如雅虎,Google,百度等。同时一些电子商务网站,比如Amazon,eBay,淘宝,当当等也通过不同的检索策略为用户提供信息检索服务。而且随着商业搜索引擎的不断完善,信息检索在教育领域发挥的作用也越来越重要,其中最重要的应用就是在电子图书馆中的资源检索。

一、电子图书馆概述

电子图书馆(Digital Library)在信息大爆炸的时代背景下诞生,改变了传统图书馆资源管理方式、信息检索方式上的不足,越来越成为图书资源管理和资源检索的重中之重。

广义而言,电子图书馆包括所有电子形式的图书馆资源:经过电子化转换的或以电子形式出版的资料,新出版的或经过回溯性加工的资料(包括期刊、参考工具书、专著、视频音频资料等)[2]。电子图书馆还可以通过网络将分散的电子资源集中在一起,为用户提供无限量的电子资源信息。

一个完整的电子图书馆系统应该包括以下几个部分:用户发出信息查询请求、系统接收请求并进行检索处理、检索结果返回给用户三个部分。

但是现存的很多电子图书馆系统把注意力放在如何提高检索请求的处理速度上,而忽略了最重要的一个因素:用户(Users)。电子图书馆服务的主要服务对象是不同的用户,关键在于针对不同的用户,通过系统的分析和判断,对不同用户的检索行为进行记录、分析、综合,进而为不同的用户返回用户感兴趣的检索结果。

例如电子图书馆应该针对不同学院不同学科的用户的不同兴趣进行信息的检索,通过为不同组的用户设置不同的检索库,在进行相关检索时首先从这几个数据库中进行检索,从而达到最快最高效的返回检索结果的目的。

所以本文提出了一个基于用户兴趣的分组模型。根据用户的兴趣将用户进行分组,根据不同的分组采取更有针对性的信息检索。

二、用户分组算法设计

用户分组模块主要包含两个部分,第一部分是电子资源主题关键字的获取,获取主题关键字后返回给用户,根据用户对这些关键字的兴趣获得用户兴趣集合,该集合是进行用户分组的主要依据;第二部分是根据第一部分获得的用户兴趣集合进行用户间的形似度匹配,将具有相同兴趣的用户划归为同一组。

1.资源主题提取原理

本文提出的检索系统模型根据用户的检索兴趣对用户进行分类,通过处理同类用户的请求以实现快速准确的检索电子资源。用户兴趣(User interest)主要通过归纳分析用户对电子资源的浏览、查询以及下载等操作而获得。

要实现资源检索,首先就要获得相应资源的主题(Topic)信息。本文利用LINGO聚簇算法实现电子资源主题的提取。同时该算法也可以用来解决稀有主题的检索和冷门主题过度重复检索的问题。

当用户检索主题为T1的资源时,通过LINGO聚簇算法返回的结果既包括T1有关的资源,也包括与主题T1相近的其他资源,用户需要在这些返回结果中进行选择。同时系统为用户返回一组这些相近主题的集合。通过记录、分析、归纳用户对这些主题对应资源的操作,为每个主题T计算一个权值 ,同时对这些主题T根据其权值进行排列,获得用户兴趣关键字集合。

利用LINGO算法检索到的电子资源主题(topic)和用户兴趣集合是本文提出的检索模型中对用户进行分类的主要依据。

2. 相似度匹配算法原理

在进行信息检索时,最重要的相似度匹配方法有两种:变量相似性匹配和相关性匹配。所以,我们需要进行如下计算:

(公式1)

(公式2)

(公式3)

公式(1)代表了用户a和i的相关性。其中,表示用户a中主题j的权值,代表用户a对主题j的重视程度。j表示用户a和i所对应的用户兴趣集合中的元素。V代表由公式(3)计算出的用户兴趣集合元素的概率。公式(2)代表了用户a和i的变量相似性。

当某个主题的权值改变或者新加主题的时候,分组系统将重新计算用户兴趣权值,从而对用户分组进行调整。

当用户a的操作影响主题j时,根据主题j的权值变化,通过计算每个用户分组受影响的概率来判断将对哪个用户组进行调整,见公式(4)。

(公式4)

其中表示用户组k受影响的概率。T为系统中所有用户的数量,是用户i所属的分组,是用户i受主题j影响的概率,N代表用户组K中的用户总数,表示用户组k的用户数在系统总用户数中的比率。

三、系统框架及原理

1.模型框架设计

图3-1是本模型的一个系统框架结构图。

图3-1系统框架结构简图

由图3-1可知,该模型与传统的图书馆检索模型并没有差别,都是由三大部分组成:用户,检索服务器,资源。首先,用户的查询请求发送给检索服务器,检索服务器根据用户的检索主题和用户兴趣集合对用户分类,然后针对用户类别的不同,将用户的检索请求进行分化处理,然后针对不同的用户组别查询相应的电子资源库。

在本模型中,最重要的是用户分组模块,只有对用户进行有效的分组才能对用户的信息检索请求进行有针对性的查询。本文提出的分组模型主要根据用户兴趣的相似度来对用户进行分组。

2. 系统工作流程

系统工作流程分为以下几个步骤:

(1)用户发出资源查询请求。

用户在客户端操作电子信息资源,在这个过程中,用户会浏览、下载、查询特定资源,客户端根据用户的行为搜集用户查询主题集合T与用户兴趣集合I。

(2)检索服务器接收用户请求以及集合T和集合I。

服务器端接收用户请求后,首先根据客户端传送过来的用户查询主题集合T和用户兴趣集合I为用户分组。同时,当用户有新的查询请求到达时,分组模块利用相似度匹配算法对现在的分组情况进行调整。

(3)根据步骤(2)获得的分组结果,针对电子图书馆的不同资源库进行资源查询处理。

(4)将查询结果返回给用户。

四、 结束语

本文介绍了基于用户兴趣的分组模型在电子图书馆信息检索中的应用。本论文提出的检索模型与传统的图书馆检索模型并无大的差别,唯一不同的地方是在检索服务器端对用户进行分组处理,根据用户兴趣将用户分成不同的组别,针对不同的组别,检索服务器将检索不同的电子信息资源库。这样缩小了检索服务器检索资源的范围,提高了检索效率和准确度。

本文采用LINGO聚簇算法实现电子资源主题的提取,该算法能够有效解决稀有关键字的检索问题,同时对于某些冷门领域的过度重复检索问题也有良好的解决方案,所以利用该算法进行电子资源的检索和管理,能够提供用户感兴趣且全面的电子资源信息。

本文的重点在于用户的分组,根据用户兴趣集合利用相关性匹配和变量相似度匹配算法进行用户的分组处理,该算法能够根据用户检索、浏览、下载电子资源的行为对用户进行自动分组,为检索服务器确定目标检索资源库提供了依据。进一步保证了检索结果的准确性和高效性。

参考文献:

[1] Digital Libraries

[2] 王预:基于数字图书馆检索技术的数据挖掘研究[J].计算机技术与发展,2006(11)

[3] Stanislaw Oilskin and David Weiss: Conceptual Clustering Using Lingo Algorithm: Evaluation on Open Directory Project Data, Advanced in Soft Computing, Intelligent Information Processing and Web Mining, Proceedings of the International IIS: IIPWM’04 Conference, Zapopan, Poland (2004) 369-37

[4] 林鸿飞,杨元生:用户兴趣模型的表示和更新机制[J].计算机研究与发展,2002(7)

第5篇

关键词:汽车后市场;用户聚类;智能推荐算法

项目资助:国家科技支撑(2013BAH13F01)资助

1. 引言

进入新世纪以来,我国就进入了汽车产业高速发展的时代,已成为全球最大的汽车生产国与最大的汽车消费市场。从我国宏观经济发展水平和当前的人均汽车保有量来看,我国汽车市场仍然孕育着巨大的发展潜力。

目前在我国的汽车产业高速发展的同时显现出汽车后市场服务的缺位,即汽车后市场服务缺乏品牌意识,服务的理念和服务质量、服务的可信度、服务的标准化、服务的人性化均十分淡漠。在汽车服务业企业,提供的服务和产品大同小异,较难提出差异化的项目来构建企业独特性,客户粘度低,具有较高的话语权。传统的汽车服务推荐只是针对车型、车主职业等信息来对客户进行一个粗略的归类,由具体的接待人员来进行推荐,通常无法取得很好的效果。对客户偏好的深度挖掘,以及更加个性化、人性化的推荐服务,提供更好的客户体验是提高服务业企业的市场竞争力的有力工具。

2. 汽车后市场服务业发展现状

随着我国汽车工业的迅猛发展,汽车售后服务业在整个产业链中的重要作用逐渐显现出来,其成为各大汽车厂商追逐的新的利润增长点。不管是汽车企业、汽车消费者还是政府的相关部门,都对售后服务给予了前所未有的关注。客户的消费行为反映出了他们对需求并不清晰,客户很多时候并不清楚自己到底需要什么样的服务,不能很好的识别自己需要的服务。同时,服务提供方也并不能主动的对客户进行服务,更多的是被动地响应客户的要求,服务质量难以有质地提升。

目前汽车售后服务大多采用“被动响应”服务模式,即当汽车零部件出现故障时才对其进行维修和保养。由于客户驾驶行为习惯对汽车各零部件造成的磨损程度不同,导致汽车出现故障的概率和所需要的维修服务也因人而异。因此,可以考虑通过分析客户驾驶行为对汽车零件性能产生的影响,选取合适的影响指标对零件的磨损进行测度,并结合零部件的正常使用寿命来预测其可能出现的故障和时间,主动的提供相应的服务来提高售后服务的质量和效率。

汽车产品在性能、价格和外形等方面逐步趋于同质化,消费者更加关注产品附加值,从而使服务成为了竞争的主角。依据客户消费记录对客户群进行细分,可以使企业根据客户价值级别的不同决定如何在客户中分配企业有限资源,然后根据客户的不同需求,设计和实施不同的客户保持策略。

3. 数据挖掘在汽车售后服务中的应用

数据挖掘作为数据库知识发现的核心部分,目前存在很多数据挖掘方法和算法。根据挖掘任务分,有如下几种知识发现任务:分类知识发现、数据总结、数据聚类、关联规则发现、序列模式发现、依赖关系或依赖模型发现、异常发现和趋势预测等。运用最多的是分类知识发现和数据聚类算法。

客户偏好挖掘和推荐的基本流程是:根据客户历史消费记录对客户进行偏好挖掘,并对客户进行聚类分析;根据两种以上的服务或者产品同时被消费的频度,利用关联规则将服务或产品进行聚类;利用关联规则算法将用户和服务产品进行匹配,推出针对性的智能化的推荐。

3.1对客户进行偏好挖掘

从用户行为信息中挖掘出用户偏好并构建偏好文档是进行商品特征与用偏好匹配推荐的基础。消费者细分的方法很多。有依据人口统计指标的细分、消费者心理细分、生活习惯细分、购买动机细分等等。在现实中对单个消费者个体的研究是不可能的。通过使用数据挖掘,可以根据所拥有的数据特征挖掘划分不同的消费者群,“分群”意味着把有相似特征的消费者归为同一组,即建立用户群,同时把不同用户群之间的差异最大化。

消费者行为特征挖掘的技术是聚类。聚类是探索型数据挖掘技术。可以使用许多种不同类型的聚类技术。聚类数据挖掘能够根据已测度的变量将相似消费者归到一起,同时使不同类型的消费者群组之间的差异最大化。本质相同的群组具有特定的消费者行为描述,所有聚类技术只要正确使用,都能产生恰当的分组。

3.2服务产品的聚类分析

类似于在购买铁锤的顾客当中,有70%的人同时购买了铁钉;在超市买面包的人有70%会购买牛奶。关联算法简单来讲就是对同时被消费的商品进行聚类,并分析这些相关产品的频度是否满足将其关联起来的最低置信度。

关联规则挖掘过程主要包含两个阶段:

【一】:必须先从资料集合中找出所有的高频项目组(Frequent Item sets) 【若支持度大于等于所设定的最小支持度(Minimum Support)门槛值时,则{A,B}称为高频项目组】

【二】:再由这些高频项目组中产生关联规则(Association Rules)【在最小信赖度(Minimum Confidence)的条件门槛下,若一规则所求得的信赖度满足最小信赖度,称此规则为关联规则】。

在汽车售后服务中,就是要通过关联规则运算,形成服务和商品的一个组合产品,这些强关联的组合产品,在客户选择了组合中的任意一种产品或服务之后,都会依据算法向他推荐另一个与前者有着强关联关系的产品或服务。

3.3客户类型和产品服务类型进行匹配

利用匹配算法,将消费者的类型与产品服务的类型进行匹配,分析出不同的客户群体最有可能进行那种类型的消费。以及不同消费群体的偏好认知程度不同,对推荐的接受程度差异也很大。

从汽车质量等级、汽车燃油和机油等级、汽车行驶道路环境、汽车外部环境、客户驾驶技术、汽车修理频率和汽车行驶里程,提取客户的这七个因素数据对客户行为进行数据挖掘分析,对汽车用户进行划分,分析出不同的驾驶习惯、经历、环境的不同,进行汽车维修的项目和频率也是不同的。

4. 结论

与汽车前市场相比,汽车后市场领域具有更大的发展空间和发展潜力。但是汽车后市场的现状是,服务与产品的差异化程度低,服务人员的整体水平参差不齐,客户体验成为留住客户的关键。深入分析汽车消费者的偏好特征,对不同类型的客户,尽可能的做出贴近其需求和偏好的产品或服务推荐,只有这样才可以增强客户的忠诚度,提高客户粘度,进而为培养客户、发展客户、留住客户打好基础。智能化推荐,改善客户体验,也是汽车服务业取得进一步突破的一种有效的途径。

参考文献

[1]黄武汉,孟祥武,王立才.移动通信网中基于用户社会化关系挖掘的协同过滤算法[J].电子与信息学报,2011,33(12):3002—3007.

[2]张璇.汽车售后服务业客户驾驶偏好分析研究(D).武汉理工大学硕士论文,2012,5.

第6篇

[关键词]知识服务D-Rank基于滑动窗口的低频特征部分匹配算法共词网络引文网络

[分类号]G250 TP29

数十年来,信息技术遵循摩尔定律高速发展着,目前,海量存储设备和高性能计算得到普遍应用。海量信息得以被深度挖掘和处理,大数据、高性能计算已经成为当前技术研究的重点。

1 信息技术夯实知识服务自动化的基础

信息服务机构的核心能力不在于所拥有的资源,而在于具备利用广泛的信息资源为用户创造价值的知识和能力,即知识服务的能力。信息服务机构开展基于分析和基于内容的参考咨询服务被认为是典型的知识服务。但传统的咨询服务过程人工参与过多,服务深度和广度都受到限制。广泛开展高水平的知识服务还需遵循海量信息资源加高性能计算的思路,即基于海量信息利用算法研发自动化的知识服务路线(为便于讨论,下文所称的知识服务皆为自动化知识服务)。实现这样的服务需要硬件、海量信息和智能算法三个条件的成熟。其中硬件是构建知识服务的物质基础,海量信息是构建知识服务的原材料,智能算法是构建知识服务的引擎。

1.1 硬件

影响知识服务的主要硬件因素包括存储设备、CPU和网络。知识服务依赖于海量数据,海量数据存储需要高性能的存储设备的存储能力。知识服务的成果依赖于智能算法基于海量数据的计算,因此需要廉价且高性能的计算能力。同时,知识服务的成果需要从服务器传递给用户,因此需要高性能的通讯网络架起用户和知识服务之间的桥梁。

当今的存储技术已经非常成熟,IBM等领先的存储系统研发机构推出的新型存储系统单体容量可达数百TB,并且具有很高的性价比。与此同时,高性能计算能力和网络也得到快速发展,国际TOP 500组织最近公布的最新全球超级计算机500强排行榜,位居榜首的日本超级计算机“京”的运算速度达到了每秒8162万亿次。中国互联网基础资源的发展使资源商更好地将知识服务带给网络用户成为可能。截至2011年6月底,我国Ipv4地址数量为3.32亿,较2010年底增长19.4%。我们拥有的Ipv6地址全球排名第15位。国际出口带宽达到1182261.45Mbps。这些均为知识服务的发展创造了硬件条件。

1.2 海量信息

当前,纸本文献的数字化和基于数字化平台直接创造的数字化信息的积累也达到了非常可观的规模。以国家数字图书馆推广工程的建设为例,在数字资源建设方面,该工程计划到“十二五”末,数字资源总量达到10000TB,相当于26亿册图书,或926万小时视频。其中电子图书可达到200万种,电子期刊达到12000种,电子报纸2 000种,音频资源20万小时/100万首曲目,视频资源30万小时/150万部集。海量的品质信息得以数字化,网络化、数字化知识服务成为“有源清渠”。

1.3 智能算法

搜集资料和整理、分析资料曾被视为科学研究最费时费力的工作,现在借助人工智能算法的力量,信息服务人员可以为用户的这一过程提供直接的服务和支持。通过智能搜索技术可以快速帮助用户找到所需要的信息,甚至借助文本挖掘等算法直接得出各种有价值的研究线索和提示信息。相信随着信息处理技术的发展,越来越多的人工智能算法会应用到信息服务中,向用户直接提供各种知识服务,直接辅助用户的科研创造过程。

2 知识服务发展与应用

纵观数字化、网络化的图书馆情报信息服务的发展,大致可以分为资源服务、知识服务、社区服务三个阶段:

在资源服务阶段,服务方主要关注客户所需要的文献资源,以便能快速全面地满足用户的文献需求。

在知识服务阶段,服务方会利用计算机技术对资源进行特定的处理,开发形成这种特定知识服务,满足用户的特定知识需求。下文所讲的知识脉络分析的服务、论文相似性检测服务和wolfram等都是基于资源加技术的思想研发的向用户提供知识服务的代表。

在社区服务阶段,服务方会全面调动资源、技术和人等要素,建设三要素实现互动的互联网社区,并基于社区的互动面向用户提供服务,满足用户全方位的需求。

3 知识服务促进学术创新

信息服务时代,信息服务人员以购买和组织文献资源为主要工作,以满足用户的文献资源需求为最终服务目标。知识服务时代,信息服务人员则将视角扩展到各种知识服务技术,关注资源和技术两个方面,以满足用户的直接信息需求为服务目标,借助各种知识服务手段,参与用户搜集资料、整理资料和分析资料的全过程。

采用知识服务手段,借助技术和算法的力量,大大提高了科研资料收集和整理的效率,根据人们的需要有针对性地组织和分析知识,解决用户最终信息需求。自动化的知识服务可以实现7×24全天候服务,通过网络,可以为任何联网用户提供服务,没有了时间、空间的限制,服务能力得到大幅提升。作为一种服务,它的特点在于它是一种面向知识内容和解决方案的服务,它的目的是提高科研学习效率和质量,促进学术创新。

4 几项知识服务研发成果

北京万方数据股份有限公司(以下简称万方数据)在近20年的信息服务中积累了千万量级的高品质学术信息资源,并拥有依托集群技术和分布式管理技术的网络化存储和高性能计算能力,笔者所在研发团队以此为基础,研发了万方数据知识服务平台,并在其中推出了多项得到学术界好评的知识服务成果。

第7篇

查看更多《信息技术》杂志社信息请点击: 《信息技术》编辑部

      基金项目

        (1)基于c++ builder的共焦显微镜三维重建方法 杨召雷 张运波 董洪波

        (4)m—link在通信系统仿真中的设计与实现 姚云龙 周俊 刘强

        (8)基于嵌入式的无线煤炭自燃预警系统 刘德文 杜宇人

        (11)tts语音单元的无损压缩与按需解压缩技术 卡斯木江·卡迪尔 古丽娜尔·艾力 艾斯卡尔·艾木都拉

        无

        (14)2012年中国国际信息通信展览会开幕 无

        基金项目

        (15)低载荷工业机器人运动学分析与仿真 陈蓓玉 胡凯 杨乐

        (19)基于zigbee无线传感网络监测系统的实现 杨俊 阮超 陈睿瑶 付红桥

        (23)endnote x5软件在论文撰写过程中的应用 程宏辉 程筱农 奚和平 黄新

        (26)一种近距离无线传感器系统的设计 叶天凤 胡长晖 叶梦君 万里光

        (29)sakai网络教学平台统一身份认证中心的实现 柯水洲 马雪梅 王新舸 邹刚

        (33)增益连续可调宽带前置放大电路设计与实现 汪俊杰 盖建新 刘旭 程爽

        (37)actionscript3.0垃圾回收机制及优化策略 李智勇

        (40)基于彩信的远程控制宠物笼系统的研制 杨乐 高超

        (42)spring mvc技术分析及在实践教学系统中的应用 符红霞

        (47)支持向量机在广义预测控制中的应用 张伟 贾蓉

        (50)测控信息技术领域提高学生实践创新能力的方法 王可宁 刘缠牢 王伟 张雄星

        (53)一种复杂背景下车牌定位算法 赵大伟 陈刚

        研究与探讨

        (58)基于spce061a的语音手动双控制开关的设计 李建新 张肖飞 徐丽妍

        (62)基于bp神经网络的钻井复杂情况和事故诊断 崔猛 汪海阁 李洪 纪国栋 于洋

        无

        (65)第九届通信企业管理现代化创新成果审定会开幕 无

        研究与探讨

        (66)一种基于单摄像头的虚拟键盘 杨骋

        (68)基于椭圆曲线的充值卡加密 孙传亮 周海港

        (72)基于ccd和光电编码器的差速整定方法研究 李增彦 张迪洲 张男

        (77)嵌入式软件仿真测试平台开发 林丹丹

        (80)基于anybus-s pn io模块的profinet远程i/o设计 杨明 王永刚 张陆毅

        (85)采用mel倒谱参数的咳嗽声识别方法 尹永 莫鸿强

        (92)模板匹配算法的两种实现方法比较 谢方方 杨文飞 陈静 李芳 于越

        (96)基于msp430的低频信号分析仪设计 张君 李金龙 郭建强 杨林晓

        (101)基于labview的双向智能钥匙充放电测试系统 尹武 张文娟 周继宇

br>        (104)多用途市电负载功率调功电路的设计 姚正武 部绍海 林涛 李树伟

        (107)gps周跳探测与修复方法的比较分析 徐欢 唐亮 都业涛

        (112)并行计算技术综述 王磊

        (116)卫星远程监视及实时故障诊断研究与应用 陈怀木 贾银山 穆友胜

        (121)基于soa的一体化缴费接入管理平台设计 王树全 邹宁峰 金鑫

        (125)基于增量式pid控制算法的智能车设计 肖文健 李永科

        应用技术

        (128)油层保护模糊专家系统的分析与设计 张丹 曹谢东 魏存挡 庞扬

        (131)基于multisim10低频信号源的设计与仿真 兰羽 周茜

        (134)光电池基本特性的测定 赵楠 孙雪萍 李平舟

        (137)基于单片机的无视频报警监测仪设计 李钊

        (140)基于hfss的有孔屏蔽体的屏蔽效能分析 陈新平 杨显清

        (144)战术无线电台半实物仿真系统设计与实现 张爱民 辛广辉 郑振华

        (147)基于混合高斯模型与核密度估计的目标检测 吕游 任政 李向阳 方向忠

        (151)基于业务流程的信息化建设与应用 刘光伟

        (153)基于国产cpu的嵌入式医疗电子无线网络设计 裴家俊 张辉 刘芸 戎蒙恬

        (157)利用vba及office自动化技术辅助人事办公 王晶

        (159)数字钟电路的设计 曹啸敏

        (163)基于电磁传感器的智能车自主寻迹系统设计 师克 王洪军 李永科

        无

        (166)上海市中国软件名城创建暨软件产业工作会召开 无

        应用技术

        (167)异步时钟亚稳态仿真方法 高文辉 胥志毅 邬天恺 刘文江 仲景尼

        (170)lwip的移植及其在并行系统中的应用 赵虎 黎英 游谦

        (173)盲人行走辅助装置中道路检测算法的研究 徐姗姗 应捷 宋彦斌

        无

        (176)尚冰出席第八届中国信息无障碍论坛开幕式并致辞 无

        应用技术

        (177)多载波传输系统的频偏及采样钟联合补偿算法 李炎 周志平 李鑫

        (181)智能小车模糊-pid控制调速系统设计 张家骅 徐连强 吴迎春

        无

        (183)第九届海峡两岸信息产业和技术标准论坛举行 无

        综述与评论

        (184)epc信息管理系统在装备器材保障中的研究 康帅 高庆 程远增

        (187)基于供应链信息共享的备件资源整合研究 黄健 程中华 王亚彬

        (190)航空航天侦察情报保障能力综合评价模型研究 童涛 杨桄 谭海峰 王寿彪 叶怡

        (194)装备保障信息评价研究 赵国存 刘占岭

        无

        (f0003)

第8篇

论文摘要:本体作为一种能在语义和知识层次上描述信息系统的概念模型建模工具,在应用领域中得到了广泛的使用,然而企业内外部环境的改变,对本体提出了新的要求:本体必须不断变化以适应新的知识结构,即实现知识管理系统的可重构性。因此,基于本体的知识建模方法,从本体变化的角度分析了实现可重构性的方法、技术和工具,最后,总结了目前研究尚存在的缺陷以及未来可能的研究方向。

1引言

1.I研究背景介绍.

随着知识经济时代的到来,知识管理受到越来越多的关注,它跨越了众多的学科,在众多领域得到研究和应用,如:产品设计领域、工艺制造领域、医药生物等。在不断的研究和实践中,人们设计和开发了各种知识管理系统、知识管理工具。但是,企业处在一个开放式的、不断变化的环境中,一旦环境发生改变,知识结构就要修改或补充,而已有的系统和工具不能满足这些要求,因此,如何实现可重构的知识管理系统成为迫切需要解决的问题。

1.2相关定义

定义i:本体(ontology)。本体是共享概念模型的明确的、形式化的规范描述。它包括概念模型、明确化、形式化和共享四层含义。本体由类、属性(又叫槽)和个体及其之间的关系构成。

定义2:本体进化(ontologyevolution)。它指在本体发生改变后,本体管理系统不会丢失数据或能保持一致性的能力。本体进化关心最新版本的有效性。

定义3:本体版本(ontologyversioning)。它指在本体发生改变后,本体管理系统允许访问不同的版本。本体版本处理有效性、互用性和所有以前版本的管理。

定义4:可重构知识管理系统。它指企业可以根据自身的特点来定制(包括改变和扩充)知识结构框架,而相应的知识录入、维护、检索和显示界面等可以自动调整(或允许用户定制),以适应新的知识结构。

2本体变化与可重构知识管理系统

2.1基于本体进化的方法和理论

由于领域知识是经常变化的,所以描述这些知识的本体也需要作出相应的变化,以实现知识管理可重构性的需求。如前所述,本体进化与本体版本的侧重点不同,本体进化关心的是新版本本体的有效性。怎样满足新的知识结构、本体一致性的特征都将是本体进化所要研究的内容。

德国Karlsruhe大学不少学者对本体进化等做了深人的研究。L·Stojanovic等人结合他们已经开发的KAON(Karlsruhe本体和语义框架),将本体进化流程分为6个阶段:俘获改变、表示改变、语义变化、执行改变、延伸改变和改变生效,该流程系统地分析了知识改变的原因和结果,确保执行改变后的本体及其依赖产物依旧保持它们的一致性。

为了满足不同用户的需求,该研究还让用户参与解决本体的变化问题,允许用户设置高级的进化决策,建议用户发掘潜本体应用中的本体、实例或用户行为的可能变化。但L Sto—jano~c等人的研究对本体的具体操作处理得不够详细,对变更的描述也存在缺陷,因此谢强、张磊提出了基于用户自定义变更的本体进化方法(0E—UDC),将用户自定义变更转换成原子变更,实现了本体变更的形式化描述问题。

浙江大学人工智能研究所的周明建等,在以OML为本体建模语言的基础上提出了EDOCOM框架,见图1。该框架的特点是:(1)在处理进化前,已对可能存在的冲突进行分析和解决;(2)对于系统进化过程中,少量不能自动更新的内容,采取公告管理的方法进行手动修改;(3)为版本管理和进化提供了充分的信息使其得以恢复到进化前的状态。由于本体进化中会涉及到概念的修改和补充,但是该概念本身会和其他概念或类之间存在复杂的关系,如何实现对此概念的修改,与之关联的彼概念能自动完成修改,是本体进化的一个关键点,本文献对此介绍得不够具体。此外,该框架面向的是OML语言,无法兼容W3C推荐的OWL语言。

华中科技大学孙小林在其博士论文中提出了基于2一型模糊逻辑推理的本体进化方法,弥补了本体系统对模糊信息研究很少的现状。该方法采用2一FSWRL本体存放知识库,以数据挖掘中增量式层次聚类算法为基础,构造一种基于2一型模糊描述逻辑的本体进化模型来实现2一型模糊本体半自动的构建与进化,不仅可以大大减轻本体构建初期的人工参与力度与工作量,而且能够使本体在环境发生改变的时候迅速做出反应。

2.2基于本体版本的方法和理论

为了完成本体版本交互和共享的功能,近年来研究者们开发了许多致力于管理、修改、进化本体的工具和系统。很多本体编辑工具,像prot6g6、OntoEdit都会有一个本体变更日志来记录本体的版本变化,但是本体变更日志在不少情况下是难以获取的,比如在语义网中,我们仅能得到新老版本的本体,而不是它们在变更时的纪录。鉴于此,MichelKlein等建立了一个改变设置,与日志不同的是,它只记录必要的操作记录、操作不需要按顺序记录以及记录方式不唯一。既然变更的方式不唯一,那么必须有一个统一的方法来整合这众多的变更,因此,MichelKlein等又提出了一个集成所有变更的框架,实现了本体一致性的要求。

针对当前本体变化研究中本体变化的约束模型和算法缺失问题,柯贤达引入了本体变化表达的元数据模型,以一个类/概念来表达本体的某种变化,扩展建立一个Modify—Inst类,描述和记录知识实例的变化,这一点与MichelKlein等的想法一致,不过后者的本体用于记录基本变更操作和复杂变更操作。为了保证变化操作发生后本体的一致性,柯贤达提出用特定的算法来表示每一种类型的本体变化的约束。如果某一本体变化类型t对应的约束算法为C,则这种对应关系可以表达成为二元关系Corresp。ndence(t,c)。其中t∈Cchg,C∈{RulesCheckAlgorithm}。RulesCheckAl—gorithm算法用于检测该本体变化操作是否可以执行。每一种类型的本体变化对应一个检测算法。而所有这些约束算法构成的集合称之为ChangeCheckAlgorithmBase。

本体版本的研究的另一个方面是版本的匹配问题,不同版本间的单向匹配不能够满足用户的不同需求,如何实现版本问的双向匹配,实现数据共享和重用的能力,是本体版本研究的一个重要问题。中科大赵思阳等提出了一种新的本体版本匹配方法,方法可以对同一本体的两个版本同时进行正向和逆向匹配,将不同版本中的相似元素联系起来并相互转换。其中,本体的双向匹配用一个五元组{E1,E2,R,TE,M}来表示,E1,E2一两种不同本体版本的匹配元素,R一匹配关系,TE一转换表达式,M一元数据。在匹配方法的实现上,采用双向转换表达式来描述双向转换,提出使用单向表达式求逆的方法来将单向匹配表达式扩展到双向转换表达式,从而简化了匹配算法。

PieterDeLeenheer提出了一个管理和修改多本体版本的独立于模型的框架。为了保持表示模型的独立性,它选择可能世界本体来抽象地表示本体及其进化过程;此外,它受信度网的启发,对版本的转化进行了分类,它们是修改,扩展,压缩和维持原状。在研究的最后,作者介绍了框架实现必须具备的元件:本体格浏览器,用于定义转化的编辑器及告示agent。

3基于本体的实现工具

Pr0t∈是斯坦福大学开发的本体编辑和知识获取软件,它提供版本间的日志变更,但是在语义网中,Prot6g6就显得不足,因为本体的变更变得难以获得,此外,Prot6g6是手动的输入本体的内容,必须记住其他的方法才能实现数据库与本体库的自动转化。

OntoView是马德里理工大学开发的本体版本匹配工具,其开发原理受CVS的影响,它能保持不同网络本体间的互用,维护不同本体的改变以及不同版本概念问的联系。德国的Karlsruhe大学对本体进化进行了不少研究,开发了KAON软件,该软件是目前功能和结构较完善的语义网的支撑软件,能协助大型本体的开发、修改和维护。一般地,它被分成:应用和服务层、KAON API层以及数据和远程服务层三个层次。其中,API中加入了本体管理和进化的重要元素,如:进化记录、可逆性变更、进化决策、进化图像、带有同步进化的本体蕴含工具、本体发现和用户使用轨迹记录;()I~modeller是KAON框架的一部分,是一个本体和元数据工程化工具。目前本体进化的需求都可以在()I—modeller中实现它完善了KAON API在本体进化中的以一些缺陷,表现在:本体工程师可以设置进化决策;本体变更执行前,系统会计算其他与之关联的变更;提供了部分撤销重做功能。

第9篇

【关键词】身份认证;MD5算法;分组变序;碰撞;安全

【中图分类号】G420 【文献标识码】A 【论文编号】1009―8097(2010)09―0119―04

一 引言

现代远程教育系统是以计算机软硬件技术为基础,通过互联网向处于不同地域的用户提供教育服务的信息系统。远程用户在获得教育服务之前,通常需要通过系统的身份认证。目前来讲,最常用的身份认证技术是基于用户名/密码的静态认证技术。该身份认证技术起源于上个世纪70年代初[1],认证系统通过登记、注册等方式事先保存合法用户的用户名和密码;认证时,系统将用户输入的用户名和密码与对应合法用户的用户名和密码进行匹配,以此来验证用户身份的合法性。在这种认证技术中,用户名和密码均以明文的方式进行传输和存储,无法抵挡重放攻击[2]。一种解决办法是对密码加密后再传输和存储,只要加密算法够可靠,就可以有效地防止重放攻击。1992年,RIVEST R[3]提出了MD5(Message Digest 5)算法,该算法从理论上讲具有不可逆性、离散型和唯一性[4],因此基于用户名/密码的静态身份认证技术在应用了MD5算法后,其安全性可以得到较大的增强。然而王小云[5]等人在2004年8月召开的国际密码学会议(Crypto 2004)上做了破译MD5、HAVAL-128、 MD4和RIPEMD算法的报告,给出了一种高效的MD5碰撞[6]方法,可以在短时间内找到多个碰撞,这意味着如果攻击者窃取到密文并且展开碰撞攻击,则将有可能绕过认证,这又使得重放攻击变为可能。

针对这个问题,本文提出了一种基于MD5分组变序的动态身份认证技术,该技术通过随机数,对原MD5密文采用分组变序的方法生成伪MD5密文存储到数据库中,并且每次验证成功后,再次生成随机数重新分组变序,产生另一个伪MD5密文替换原伪MD5密文,以此实现了用户密码明文不变,但数据库中密文随认证次数不断变化的功能,进一步增强基于MD5的静态身份认证技术的安全性,从而更安全地保护远程教育系统中的教育资源以及用户的信息。

二 基于MD5分组变序的动态身份认证技术

传统的基于MD5用户名/密码的静态身份认证技术是将用户的密码进行MD5加密,再发送到服务器端进行存储,这种方式的安全性主要取决于MD5算法本身。除了向用户骗取密码以外,要获取真正的密码,只有通过对密文碰撞来获得,然而从理论上来讲,如果要对一个MD5密文使用穷举法进行碰撞破解,用一台运算速度为10亿次/秒的超级计算机,需要 年[6],即使使用效率较高的生日攻击法[5],同样的运算速度,仍需要58年的时间[6],而王小云等人提出的方法则可以在数小时之内找到一对碰撞[7],因此传统的基于MD5用户名/密码的静态身份认证技术已经不再安全。进一步分析,如果碰撞的对象并不是MD5值,那一切针对MD5的碰撞方法将不起作用。本文提出的基于MD5分组变序的动态身份认证技术的核心即在于动态地生成伪MD5密文,使针对MD5值的碰撞攻击无效,从而在原基于MD5的身份认证技术的基础上,进一步增强其安全性。

该身份认证技术的体系结构如图1所示。

从图中可以看出,所有关于用户密码的加密处理全部在客户端完成,在网络中仅传输用户名、密钥和加密后的伪MD5密文,而服务器端则为一个数据库,仅起到存储这些信息的功能,这么做既保证了网络传输的安全性,对用户的密码又做到了消息级的加密[8]。

客户端由密钥生成、MD5加密、密文数组生成、伪MD5密文生成、伪MD5密文分割、密文数组比较六个模块组成,这几个模块的不同组合构成了用户注册和认证过程。

1 用户注册阶段

用户注册主要流程如图2所示。

步骤1:用户输入用户名和密码,客户端首先对密码进行MD5加密操作,得到32位长度的MD5字符串,记为 ;同时执行密钥生成程序,生成随机数,记为 , ,且 为32的因数。

步骤2:执行MD5密文数组生成程序,将 按密钥 的值为长度进行分组,将分组后的字符串存入字符串数组中,该字串符数组记为 。

步骤3:执行伪MD5密文生成程序,随机变换 中元素的顺序,依次把值从变序后的 中取出,生成新字符串,该字符串即伪MD5密文,记为 。

步骤4:客户端将用户名、密钥和伪MD5密文 发送至服务端,并存储到数据库中。

从注册的过程可以看出,该认证技术的动态性体现在密钥 的随机性上, 的不同使密文 分组的位置不同,从而使得最终得到的密文 也是不同的。然而生成的伪MD5字符串 ,来源于标准的MD5字符串,这就为认证提供了依据,但同时又不是MD5字符串,因此任何针对MD5算法进行的破解将不起作用。

2 用户认证阶段

用户认证主要流程如图3所示。

步骤1:待验证用户输入用户名和密码,客户端依然执行MD5程序,将用户输入的密码进行MD5加密,生成待验证密文,记为 ,同时将用户名发送至服务器端。

步骤2:服务器端从数据库中查询是否存在该用户名,不存在则认证失败,存在则取出数据库中的伪MD5密文 和密钥 ,一起传输至客户端。

步骤3:用密钥 对待验证的MD5字符串 执行客户端MD5密文数组生成程序,得到待验证的字符串数组中,该数组记为 ,同时执行伪MD5密文分割程序,以 为每组长度对 进行分组,每 位后加入“,”生成分割后的伪MD5字符串,记为 。

步骤4:执行密文数组比较程序,依次取出数组 中的值与 进行比较,如果 的每个元素都包含在 中,则通过认证,如果有一个不包含,则认证失败。判断的根据在于 本身只是对MD5字符串做了位置上的改变,如果待认证的口令正确,那么 中的每个元素都应该包含在 中的,但只要数组中有一个元素不包含在密文字符串中,就可以判断认证失败。

步骤5:如果验证通过,则对 再重新执行一次分组变序操作,用得到的新的伪MD5密文和新密钥替换原有的密文与密钥,一起存入数据库。

需要说明的是,本文给出的匹配方法并没有直接把数据库中的 和 的元素进行包含比较,而是以“,”分割后再比较,原因在于密文的长度为32,而数组中值的长度小于或等于32,那么不排除数组的值交叉包含于密文中的情况,假设密文是c4ca4238a0b923820dcc509a6f75849b,密钥为16,则数组 的长度为2,再假设数组中的两个值分别为a0b923820dcc509a,20dcc509a6f75849b,虽然这两个值也都包含在密文中,但a0b923820dcc509a处于密文(c4ca4238-a0b923820dcc509a-6f75849b)的中间位置,而20dcc509a6f75849b处于密文(c4ca4238a0b9238-20dcc509a6f 75849b)的后半段,这种情况的出现有可能使匹配算法失效,反而造成认证的不精确。事实上标准的MD5字符串是多个16进制字符串的组合,而“,”是不可能出现在16进制字符串中的,采用“,”分组后再比较则可以有效地避免这种情况。

三 安全性验证

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

以上认证技术是对单个MD5值进行分组变序,根据不同的 ,除去MD5值本身,每个MD5值能演变出 -1个伪MD5值,记为下式:

(1)

由于随机数的存在,要还原得到真正的MD5值,只能通过暴力破解法来实现,对于单个MD5值,暴力破解的运算量为 ,同样使用一台运算量为10亿次/秒的超级计算机,需要约 年。

由于伪MD5密文和密钥K均在网络中传输,如果攻击者知道该算法,利用密钥K进行攻击,那么最终密文的安全性取决于变换的顺序种类。变换的顺序种类由密钥K确定,K越小,顺序种类越多,破解的运算量越大。

对于单个MD5值,当 时, ,即不存在伪MD5值, 不可取。

当 时, ,暴力破解的运算量仅为1,很容易还原得到原始MD5值,因此密钥为16时,已经存在很大的安全隐患了。

当 时, ,暴力破解的运算量为23。

当 时, ,暴力破解的运算量为40319。

当 时, ,同样使用一台运算量为10亿次/秒的超级计算机,需要约663457年。

当 时,暴力破解的运算量更是巨大的。

更进一步研究,该认证技术同样适合对多个MD5值的组合进行分组变序,假设 为由 个 组成的长度为 的字符串,其中 。这种情况下,暴力破解的运算量为 ,这样的运算量更是天文数字。而在知道该认证算法的情况下,暴力破解的运算量为 , , 可取的值更多,运算量更大。

对于应用该认证技术的系统来讲,运算量仅仅取决于变序算法的复杂度,本文采取经典的洗牌算法[9]作为变序算法,以随机数 作为变序的基础,以保证每次交换顺序后的结果与交换之前的不同,算法复杂度仅为数组的长度,即 。

实际应用时,当 , 时,最终生成的密文的安全性将是相当高的。而当 时,可选择的 更多,安全性则更高,而同时对认证系统的运算量并不会有太大增加。

四 实验分析

本实验选择浏览器/服务器作为运行模式,选择JavaScript作为客户端注册、认证程序编写语言,保证运算均在浏览器端完成,选择Java作为服务器端数据库访问语言,选择MySQL作为测试数据库。假设密码明文为888888,则MD5值为21218CCA77804D2BA1922C33E0151105,对比最终密文、密钥做8次运算,其中第一次为注册,后7次为认证,运算结果对比如表1所示。

从表1可以看出,最终生成的密文已经和原MD5值已经有较大的不同,即使是相同的密钥,由于交换了顺序,密文也是不同的,攻击者即使得到这些密文,也是徒劳的。

五 结束语

本文通过分析目前远程教育系统常用的身份认证技术的优缺点,以基于MD5的用户名/密码的静态身份认证为基础,提出了基于MD5分组变序的动态身份认证技术,该技术通过分组变序随机地产生伪MD5密文,将伪MD5密文在客户端和服务器端之间传输,并存储到数据库中,从而可以有效抵挡碰撞攻击和重放攻击,并且实现了数据库中的密码随认证次数不断变化,而对用户透明的功能,进一步增强了原基于MD5的用户名/密码的静态身份认证的安全性。同时,该技术仅仅是对经MD5加密后的密文进行再处理,与MD5算法本身并有没有很大的关联,因此具有一定的通用性,只要稍做修改,就可以用于任何基于不可逆算法的身份认证技术中,以起到在原有认证技术的基础上,增加其安全性的作用。

参考文献

[1] 曹雪菲.基于身份的认证协议的理论及应用研究[D].西安:电子科技大学,2008.

[2] Carles Garrigues, Nikos Migas, William Buchanan, et al. Protecting mobile agents from external replay attacks[J]. Journal of Systems and Software,2009,82(2):197-206.

[3] RIVEST R.RFC 1321 The MD5 Message-Digest Algorithm[S].Boston: MIT Laboratory for Computer Science and RSA DATA Security, Inc, 1992.

[4] 王津涛,覃尚毅,王冬梅.基于MD5的迭代冗余加密算法[J].计算机工程与设计,2007,28(1):41-42.

[5] Wang Xiaoyun, Feng Dengguo, Lai Xuejia, et al. Collisions for hash functions MD4, MD5 Haval-128 and RIPEMD[R].CRYPTO 2004, Cryptology ePrint Archive, 2004.

[6] Eric Thompson.MD5 collisions and the impact on computer forensics[J].Digital Investigation,2005,2(1): 36-40.

[7] 张裔智,赵毅,汤小斌.MD5算法研究[J].计算机科学, 2008,35(7):295-297.

[8] Paul Kearney.Message level security for web services[J].

Information Security Technical Report, 2005,10(1):41-50.

精品推荐