开源虹膜识别软件OSIRIS4.1的使用入门
2017-07-07 00:05
218 查看
使用环境:Ubuntu 16.04;
git clone https://github.com/bearpaw/Install-OpenCV.git 安装2.4.9版,稳定可靠:
http://svnext.it-sudparis.eu/svnview2-eph/ref_syst/Iris_Osiris_v4.1/download/Iris_Osiris_v4.1.tar.gz
解压
在scripts文件夹中有两个文件夹Template和Matching,前者存放了虹膜处理的配置模板,后者存放了虹膜对比的配置模板;
一个完整的虹膜识别过程是先处理再对比,因此我们依次设置;
将这两个文件拷贝到“虹膜数据”文件夹,并分别改名为process.ini和process_CASIA-IrisV2.txt;
在“虹膜数据”文件夹下新建“CASIA-IrisV2”文件夹,并将中科院自动化所虹膜数据集 CASIA-IrisV2的几个虹膜图像拷贝进去:
编辑process_CASIA-IrisV2.txt文件:
编辑process.ini文件(只列出修改的部分):
可见,该配置文件主要用于指明从哪里读图像列表,从哪里读图像,把虹膜处理的中间数据存储到哪里;
在“图像处理”文件夹下分别新建文件夹: SegmentedImages、 CircleParameters、 Masks、 NormalizedImages、 NormalizedMasks、 IrisCodes;
下面就可以开始process步骤了:
处理完毕后,可以在“图像处理”目录下的各个文件夹里观察虹膜处理过程中的中间处理数据:
例如, SegmentedImages目录中是对虹膜进行分割的处理结果:
而IrisCodes目录中则是最后得到的虹膜编码图像:
将Matching文件夹里的configuration.ini和任一txt拷贝到“虹膜数据”文件夹,并分别改名为match.ini和match_CASIA-IrisV2.txt;
编辑match_CASIA-IrisV2.txt文件:
在自动化所的这个数据集中,下划线之前号码相同的代表同一个人,因此上述txt文件的前四组对比是类内对比(intra class match),后四组对比是类件对比(inter class match);
编辑match.ini文件(只列出修改部分):
下面就可以开始match步骤了:
在“图像处理”目录下的“score_CASIA-IrisV2.txt”文件中就可以看到对比结果了:
根据虹膜识别理论,match score小于0.32的是同一个人,大于0.32的不是同一个人,可见上述对比结果都是符合实际的,虹膜识别成功!
开源虹膜识别代码OSIRIS4.1的使用入门介绍完毕,该开源代码、以上编辑过的配置文件、若干张自动化所虹膜库图像都可以在qq群里下载:
虹膜识别算法研究QQ群:422376177
扫码加入:
1.安装opencv
下载opencv的自动安装脚本,便于操作:git clone https://github.com/bearpaw/Install-OpenCV.git 安装2.4.9版,稳定可靠:
cd Install-OpenCV/Ubuntu sudo ./dependencies.sh cd 2.4 sudo chmod +x opencv2_4_9.sh sudo ./opencv2_4_9.sh
2.安装OSIRIS
下载这个文件到home目录,该下载资源在前一篇博文中已经介绍过了:http://svnext.it-sudparis.eu/svnview2-eph/ref_syst/Iris_Osiris_v4.1/download/Iris_Osiris_v4.1.tar.gz
解压
tar zxvf Iris_Osiris_v4.1.tar.gz修改文件权限
sudo chmod 777 -R Iris_Osiris_v4.1编译
cd Iris_Osiris_v4.1/src make all此时会在该目录下生成名为osiris的可执行文件;
3.虹膜识别使用示例
在“Iris_Osiris_v4.1”目录下新建“虹膜数据”文件夹和“图像处理”文件夹,前者用于存放各种虹膜数据集,后者用于存储虹膜识别过程中产生的各种分割、归一化、编码中间数据图像等;在scripts文件夹中有两个文件夹Template和Matching,前者存放了虹膜处理的配置模板,后者存放了虹膜对比的配置模板;
一个完整的虹膜识别过程是先处理再对比,因此我们依次设置;
3.1 process步骤
Template文件夹里有configuration.ini和ImageListICE.txt两个文件,前者是配置模板,后者是虹膜图像列表样例;将这两个文件拷贝到“虹膜数据”文件夹,并分别改名为process.ini和process_CASIA-IrisV2.txt;
在“虹膜数据”文件夹下新建“CASIA-IrisV2”文件夹,并将中科院自动化所虹膜数据集 CASIA-IrisV2的几个虹膜图像拷贝进去:
编辑process_CASIA-IrisV2.txt文件:
0000_000.bmp 0000_001.bmp 0000_002.bmp 0000_003.bmp 0001_000.bmp 0001_001.bmp 0001_002.bmp 0001_003.bmp
编辑process.ini文件(只列出修改的部分):
List of images = ../虹膜数据/process_CASIA-IrisV2.txt Load original images = ../虹膜数据/CASIA-IrisV2/ Save segmented images = ../图像处理/SegmentedImages/ Save contours parameters = ../图像处理/CircleParameters/ Save masks of iris = ../图像处理/Masks/ Save normalized images = ../图像处理/NormalizedImages/ Save normalized masks = ../图像处理/NormalizedMasks/ Save iris codes = ../图像处理/IrisCodes/
可见,该配置文件主要用于指明从哪里读图像列表,从哪里读图像,把虹膜处理的中间数据存储到哪里;
在“图像处理”文件夹下分别新建文件夹: SegmentedImages、 CircleParameters、 Masks、 NormalizedImages、 NormalizedMasks、 IrisCodes;
下面就可以开始process步骤了:
cd ~/Iris_Osiris_v4.1/src ./osiris ../虹膜数据/process.ini
处理完毕后,可以在“图像处理”目录下的各个文件夹里观察虹膜处理过程中的中间处理数据:
例如, SegmentedImages目录中是对虹膜进行分割的处理结果:
而IrisCodes目录中则是最后得到的虹膜编码图像:
3.2 match步骤
和上面一样,不过match步骤不需要再重新计算待对比虹膜了,只需要载入已经计算好的数据即可;将Matching文件夹里的configuration.ini和任一txt拷贝到“虹膜数据”文件夹,并分别改名为match.ini和match_CASIA-IrisV2.txt;
编辑match_CASIA-IrisV2.txt文件:
0000_000.bmp 0000_001.bmp 0000_002.bmp 0000_003.bmp 0001_000.bmp 0001_001.bmp 0001_002.bmp 0001_003.bmp 0000_000.bmp 0001_000.bmp 0000_001.bmp 0001_001.bmp 0000_002.bmp 0001_002.bmp 0000_003.bmp 0001_003.bmp
在自动化所的这个数据集中,下划线之前号码相同的代表同一个人,因此上述txt文件的前四组对比是类内对比(intra class match),后四组对比是类件对比(inter class match);
编辑match.ini文件(只列出修改部分):
List of images = ../虹膜数据/match_CASIA-IrisV2.txt Load normalized masks = ../图像处理/NormalizedMasks/ Load iris codes = ../图像处理/IrisCodes/ Save matching scores = ../图像处理/score_CASIA-IrisV2.txt
下面就可以开始match步骤了:
cd ~/Iris_Osiris_v4.1/src ./osiris ../虹膜数据/match.ini
在“图像处理”目录下的“score_CASIA-IrisV2.txt”文件中就可以看到对比结果了:
0000_000.bmp 0000_001.bmp 0.156118 0000_002.bmp 0000_003.bmp 0.171024 0001_000.bmp 0001_001.bmp 0.190329 0001_002.bmp 0001_003.bmp 0.166667 0000_000.bmp 0001_000.bmp 0.398026 0000_001.bmp 0001_001.bmp 0.399329 0000_002.bmp 0001_002.bmp 0.388128 0000_003.bmp 0001_003.bmp 0.375283
根据虹膜识别理论,match score小于0.32的是同一个人,大于0.32的不是同一个人,可见上述对比结果都是符合实际的,虹膜识别成功!
开源虹膜识别代码OSIRIS4.1的使用入门介绍完毕,该开源代码、以上编辑过的配置文件、若干张自动化所虹膜库图像都可以在qq群里下载:
虹膜识别算法研究QQ群:422376177
扫码加入:
相关文章推荐
- 开源虹膜识别软件OSIRIS4.1的使用入门
- OCR 开源软件 Tesseract 的下载和入门使用
- 2006“IBM杯”中国高校SOA应用大赛禁止使用任何版本的GPL/LGPL license的开源软件
- 为什么使用开源软件要谨慎
- JSTL 入门: 表达式语言 ------通过避免使用脚本编制元素来简化对 JSP 应用程序的软件维护
- 开源工作流引擎Shark入门2——使用JaWE设计一个流程
- (原创)使用开源免费软件teamspeak搭建内网语音服务平台(无用户数限制)
- 为什么要使用开源软件
- Enterprise Library 4.1数据访问应用程序块快速入门【6】使用DataSet更新数据库
- 开源杀毒软件Moon Secure Antivirus的使用结局
- 使用开源的数据挖掘软件Weka
- Enterprise Library 4.1数据访问应用程序块快速入门【1】使用DbDataReader检索多行
- 近来在开发中使用到的开源软件
- 使用开源的数据挖掘软件Weka
- 使用开源的数据挖掘软件Weka
- 使用开源的数据挖掘软件Weka
- “免费的使用着开源软件”便是“无耻的践踏开源程序员的劳动”?
- 使用开源的数据挖掘软件Weka
- 使用开源的数据挖掘软件Weka
- 谢谢 C语言初级入门用哪个软件使用一点