一种图像鉴权的方法及装置与流程

文档序号:12720681阅读:289来源:国知局
一种图像鉴权的方法及装置与流程

本发明属于图像处理技术领域,尤其涉及一种图像鉴权的方法及装置。



背景技术:

目前在软件领域里关于加密的密钥载体主要是数字字母等字符串,通过字符串配合各种加密算法对数据和资料进行加密或者进行身份验证,以达到防止机密泄露的目的。部分加密设备可以通过U盾、电子密码锁等外部硬件设备,或者指纹、虹膜等生物特征处理信息安全问题。采用字符串作为密钥进行加密具有源远流长的历史,具有加密方式多样,简单方便,加密效果好等特点,但简单字符串密码容易通过撞库的方式进行破解,复杂的字符串密码对用户记忆是一个较大的考验。通过硬件设备进行加密一般比字符串加密更难以破解,在一些对安全要求较高的场合使用频繁,但这种方式需要额外购置专门的硬件设备,并需要对硬件进行后续维护。通过生物特征进行加密具备方便稳定的优点,但这种方式需要鉴别生物特征的设备支持,而且设备的质量直接影响生物特征技术的错误率的高低。

通过图像匹配进行加密已经逐渐被人重视,图像获取的方式非常方便,而且图像比文字更加直观。图像在软件中以字节流的方式存储,字节数远大于字符串密钥且无法被理解,提高被技术攻破的难度。目前基于图像的研究比较多,基础技术也逐渐成熟,基于图像基础技术进行高级的用于加密的技术越来越多。其中关于图像匹配有以下几种常用的技术:

模板匹配:模板匹配是通过在一幅图像寻找另一幅模板图像最匹配(相似)部分的技术。模板匹配可以通过多种方法,如平方差匹配法、归一化平方差匹配法、系数匹配法等方法对图像中的匹配值进行计算从而找到完美匹配。

特征点检测:特征点检测是通过特定的方法对图像提取一部分的特征点,通过特征点进行匹配,以达到识别、防伪等目的。特征点的检测和匹配是计算机视觉中非常重要的技术之一,在物体检测、视觉跟踪等领域具有很广泛的应用。其中特征检测方法也有很多,如SIFT、SURF、ORB、FAST等,每种算法都有其优点和不足,也有其擅长的范围。其中ORB算法是对FAST特征点与BREIF特征描述子的一种结合与改进,这个算法是由Ethan Rublee,Vincent Rabaud,Kurt Konolige以及Gary R.Bradski在2011年一篇名为“ORB:An Efficient Alternative to SIFT or SURF”的文章中提出。



技术实现要素:

为了克服现有技术的不足,本发明的目的之一在于提供一种图像鉴权的方法,其能解决基于图像匹配进行解锁鉴权的问题。

本发明的目的之二在于提供一种图像鉴权的装置,其能解决基于图像匹配进行解锁鉴权的问题。

本发明的目的之一采用以下技术方案实现:

一种图像鉴权的方法,包括以下步骤:

S1:获取匹配图像以及图像密钥;

S2:将匹配图像以及图像密钥均转换为对应的灰度单通道图;

S3:通过ORB特征提取算法对转换后的匹配图像以及图像密钥进行图像特征的提取及匹配;

S4:判断是否通过ORB特征检测,如果是,执行步骤S5,如果否,则解密失败;

S5:对匹配图像以及图像密钥进行模板匹配,如果匹配成功,则成功解密,如果匹配失败,则解密失败。

优选的,步骤S3具体包括以下子步骤:

S31:通过ORB特征提取算法检测得到出匹配图像和图像密钥的图像特征,该图像特征包括特征点及特征描述子;

S32:通过BruteForce匹配算法对匹配图像和图像密钥的特征点及特征描述子进行匹配,根据比率筛选出好匹配与差匹配;

S33:根据RANSAC算法对差匹配进行矩阵变换,将符合变换矩阵匹配出的非离群配对添加回好匹配中。

优选的,步骤S4具体包括以下子步骤:

S41:获取好匹配以及坏匹配的数量,并计算得到匹配成功率,该匹配成功率=好匹配的数量/(好匹配的数量+坏匹配的数量);

S42:判断匹配成功率是否大于预设值,如果是,则执行步骤S5,如果否,则解密失败。

优选的,所述预设值为90%。

优选的,步骤S5具体包括以下子步骤:

S51:对图像密钥进行阙值损毁,并得到图像密钥的阙值图;

S52:对图像密钥的阙值图和匹配图像进行匹配拼接以得到拼接图;

S53:对图像密钥通过归一平方差匹配法与拼接图进行匹配,如果匹配成功,则成功解密,如果匹配失败,则解密失败。

本发明的目的之二采用以下技术方案实现:

一种图像鉴权的装置,包括以下装置:

获取模块:用于获取匹配图像以及图像密钥;

灰度转换模块:用于将匹配图像以及图像密钥均转换为对应的灰度单通道图;

ORB检测模块:用于通过ORB特征提取算法对转换后的匹配图像以及图像密钥进行图像特征的提取及匹配;

判断模块:用于判断是否通过ORB特征检测,如果是,执行模板匹配模块,如果否,则解密失败;

模板匹配模块:用于对匹配图像以及图像密钥进行模板匹配,如果匹配成功,则成功解密,如果匹配失败,则解密失败。

优选的,ORB检测模块具体包括以下子模块:

特征提取模块:用于通过ORB特征提取算法检测得到匹配图像和图像密钥的图像特征,该图像特征包括特征点及特征描述子;

BF匹配模块:用于通过BruteForce匹配算法对匹配图像和图像密钥的特征点及特征描述子进行匹配,根据比率筛选出好匹配与差匹配;

矩阵变换模块:用于根据RANSAC算法对差匹配进行矩阵变换,将符合变换矩阵匹配出的非离群配对添加回好匹配中。

优选的,BF模块具体包括以下子模块:

成功率计算模块:用于获取好匹配以及坏匹配的数量,并计算得到匹配成功率,该匹配成功率=好匹配的数量/(好匹配的数量+坏匹配的数量);

成功率判断模块:用于判断匹配成功率是否大于预设值,如果是,则执行模板匹配模块,如果否,则解密失败。

优选的,所述预设值为90%。

优选的,模板匹配模块包括以下子模块:

阙值损毁模块:用于对图像密钥进行阙值损毁,并得到图像密钥的阙值图;

图像拼接模块:用于对图像密钥的阙值图和匹配图像进行匹配拼接以得到拼接图;

归一平方差匹配模块:用于对图像密钥通过归一平方差匹配法与拼接图进行匹配,如果匹配成功,则成功解密,如果匹配失败,则解密失败。

相比现有技术,本发明的有益效果在于:

本发明通过将ORB特征检测与模板匹配进行结合,可以优化图像匹配中的盲点,提高图像综合匹配的水平;同时,由于ORB特征匹配的效率比较高,虽然模板匹配的效率一般,但是两者结合的整体耗时可以满足实时检测的需求。

附图说明

图1为本发明的一种图像鉴权的方法的流程图;

图2为本发明的一种图像鉴权的装置的模块图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述:

如图1所示,本发明提供了一种图像鉴权的方法,包括以下步骤:

S1:获取匹配图像以及图像密钥;在进行本发明的程序工作之前,需要首先设定一幅图像作为图像密钥,图片格式为主流格式png或者jpg;该图像可以保存在计算机或者移动终端的本地,或者也可以保存在服务器或者云端,保存在服务器需要保证传输过程和传输通道的安全性;在进行图像认证的时候,可以调用计算机或者移动终端的系统相册或者摄像头,获取尝试用作解密的原图像,该原图像即为本发明实施例提及的匹配图像,原图像可以整张进行选取,也可以截取获取的图像中的部分图像来去进行验证;

S2:将匹配图像以及图像密钥均转换为对应的灰度单通道图;一般从相册或者摄像头获取到的图像为3通道(RGB)或者4通道(RGBA),需要转化为灰度单通道图以便提取特征,以下的特征提取以及特征匹配均是围绕转化为灰度单通道图进行的;

S3:通过ORB特征提取算法对转换后的匹配图像以及图像密钥进行图像特征的提取及匹配;步骤S3具体包括以下子步骤:

S31:通过ORB特征提取算法检测得到匹配图像和图像密钥的图像特征,该图像特征包括特征点及特征描述子;通过ORB检测器检测出两图的特征点后,计算出特征向量,保存在vector容器中,该特征向量即是为该点的特征描述子;

S32:通过BruteForce匹配算法对匹配图像和图像密钥的特征点及特征描述子进行匹配,根据比率筛选出好匹配与差匹配;此好匹配即为匹配率最大的那个匹配,其余的都为差匹配;通过BrutefForce匹配器进行匹配,算出匹配中的最大汉明码,根据比率筛选出较好配对,保存其他的为较差配对;

S33:根据RANSAC算法对差匹配进行矩阵变换,将符合变换矩阵匹配出的非离群配对添加回好匹配中;差匹配可能是由于存在仿射变换导致汉明码增大导致误判,故而需要根据RANSAC算法寻找变换矩阵,将符合变换矩阵匹配出的非离群配对添加回较好匹配中,所述的非离群配对两幅图中对应点的连线相互平行的那些配对,如果是单独出来的连不上线的点或者是明显不平行的就是离群;

S4:判断是否通过ORB特征检测,如果是,执行步骤S5,如果否,则解密失败;步骤S4具体包括以下子步骤:

S41:获取好匹配以及坏匹配的数量,并计算得到匹配成功率,该匹配成功率=好匹配的数量/(好匹配的数量+坏匹配的数量);

S42:判断匹配成功率是否大于预设值,如果是,则执行步骤S5,如果否,则解密失败;所述预设值为90%;这里的预设值只是给出的一个设定值,具体设计情况需要根据实际效果来进行相应的设计;

S5:对匹配图像以及图像密钥进行模板匹配,如果匹配成功,则成功解密,如果匹配失败,则解密失败;步骤S5具体包括以下子步骤:

S51:对图像密钥进行阙值损毁,并得到图像密钥的阙值图;如果直接进行匹配的话,只能够匹配不能够量化,因此可以通过计算算出匹配图像与匹配密钥两幅图之间的差异值到底相差多少来进行量化,但是这里采用把原图损毁一定程度来判断会更加直观的进行量化,损毁越严重,匹配也就越容易,损坏损毁越少,匹配越难;在本发明中,采用做损毁图的方式是直接加一定量的垂直线做损毁,也可以采用模糊或者侵蚀等方法来进行损毁;

S52:对图像密钥的阙值图和匹配图像进行匹配拼接以得到拼接图;然后将匹配图像与图像密钥的阙值图进行匹配拼接,也即是将损毁的部分来进行匹配拼接以得到拼接图来定量的进行匹配差异的计算;

S53:对图像密钥通过归一平方差匹配法与拼接图进行匹配,如果匹配成功,则成功解密,如果匹配失败,则解密失败。成功解密后可以进入正常的业务流程。

需要说明的是上述步骤S4和步骤S5是可以调换的,即先进行模板匹配再进行ORB特征匹配的操作也是可行的。

本发明可以在Linux、Windows和Mac OS等PC操作系统以及Android、iOS等移动终端操作系统上实现。

以iOS平台实现为例,在iOS平台实现该发明,开发语言可选择目前主流的iOS开发语言OC,同时需要集成开源库OpenCV。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android、iOS、Mac OS操作系统上,它具有轻量级而且高效的优点——并且其由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法,编码集成最新的opencv3.1库。

在技术实现的过程中需要对其中的判断参数需要通过大量的测试进行推敲,以获得较优性能。通过部分参数的修改,可以调节图像匹配的通过率,以适合不同情景下本发明的应用。

在图片检测领域,特征检测对黑白图片提取特征容易,但是对明显不同但具备相同特征的黑白图片容易得到较高的匹配率,模板检测对色值相似的图片不敏感,对于明显的特征不一致的图像容易得到较高的匹配率,将特征检测和模板匹配结合进行图像匹配可以优化图像匹配中的盲点,提高图像综合匹配的水平,同时,ORB特征匹配的效率比较高,虽然模板匹配的效率一般,但是通过限制图片尺寸耗时还是可以得到控制,两者结合整体耗时将可以满足实时检测的需求。

最后对iOS平台实现的程序效果进行数据收集和分析,以iPhone6s终端进行反复测试,发现程序执行较快,几乎达到实时性能。对与图像密钥非常接近的图像具有一定的容错性和鲁棒性,但对于明显不同的图像或者虽然相似但能明显区分出不同的图像仍然能够拒绝通过。对黑白的线条为主不同的图片,ORB特征算法通过,但是模板匹配会拒接通过。对于颜色相近的不同的图片,模板匹配会通过但ORB特征算法会拒绝。总体来说通过图片识别鉴权的综合性能较高。

本发明是通过图片匹配达到解锁和鉴权的目的,其中特征检测采用ORB检测,也可以根据场景采用其他特征检测方式,如BRISK、FAST、BRIEF等算法进行判断。

如图2所示,本发明提供了一种图像鉴权的装置,包括以下装置:

获取模块:用于获取匹配图像以及图像密钥;

灰度转换模块:用于将匹配图像以及图像密钥均转换为对应的灰度单通道图;

ORB检测模块:用于通过ORB特征提取算法对转换后的匹配图像以及图像密钥进行图像特征的提取及匹配;ORB检测模块具体包括以下子模块:

特征提取模块:用于通过ORB特征提取算法检测得到匹配图像和图像密钥的特征点及特征描述子;

BF匹配模块:用于通过BruteForce匹配算法对匹配图像和图像密钥的图像特征,该图像特征包括特征点及特征描述子进行匹配,根据比率筛选出好匹配与差匹配;BF模块具体包括以下子模块:

成功率计算模块:用于获取好匹配以及坏匹配的数量,并计算得到匹配成功率,该匹配成功率=好匹配的数量/(好匹配的数量+坏匹配的数量);

成功率判断模块:用于判断匹配成功率是否大于预设值,如果是,则执行模板匹配模块,如果否,则解密失败;所述预设值为90%。

矩阵变换模块:用于根据RANSAC算法对差匹配进行矩阵变换,将符合变换矩阵匹配出的非离群配对添加回好匹配中;

判断模块:用于判断是否通过ORB特征检测,如果是,执行模板匹配模块,如果否,则解密失败;

模板匹配模块:用于对匹配图像以及图像密钥进行模板匹配,如果匹配成功,则成功解密,如果匹配失败,则解密失败;模板匹配模块包括以下子模块:

阙值损毁模块:用于对图像密钥进行阙值损毁,并得到图像密钥的阙值图;

图像拼接模块:用于对图像密钥的阙值图和匹配图像进行匹配拼接以得到拼接图;

归一平方差匹配模块:用于对图像密钥通过归一平方差匹配法与拼接图进行匹配,如果匹配成功,则成功解密,如果匹配失败,则解密失败。

对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1