第一作者简介:李大湘(1974—),男,湖南麻阳人,博士,副教授,研究方向为刑侦图像处理与分析。E-mail:35108809@qq.com
针对刑侦工作中大规模鞋印图像库的查询应用需求,提出一种基于稀疏编码与反向索引的快速比对算法。首先,对鞋印图像进行视觉增强、中值滤波与二值分割等预处理,并提取其尺度不变特征变换(SIFT)特征;然后,基于聚类字典构造、稀疏编码(SC)与最大池化等方法,计算鞋印图像的稀疏编码特征;最后,通过构建“词-图像矩阵”而建立每个视觉单词的反向索引(RI)表,并据此提出一种SC-RI鞋印图像比对新算法。基于 16 343幅真实鞋印图像的试验结果表明,SC-RI算法完成一次比对平均耗时约为121.26ms,较之传统SIFT匹配穷举比对方法,其速度提高了140多倍,且局部花纹比对TOP 20正确率可达到95.3%。
Focused at the query application into the large-scale shoeprint image library for criminal investigation, a fast matching algorithm, based on sparse coding and invert indexing, was proposed here. Firstly, the shoeprint images were pre-processed by the manipulation of visional enhancement, median-value filter and binary segmentation so as to extract the Scale Invariable Feature Transformation (SIFT) specifics for every shoeprint image. Then, in combination of clustering dictionary learning, sparse coding (SC) and maximum pooling handling, a calculation was carried out on the sparse coding feature of shoeprint images. Finally, through a “word-image matrix” to be constructed, a reverse indexing (RI) table was set up for each visual word so that a new algorithm, named SC-RI, was set up for fast matching of shoeprint image. Experimental results from 16343 real shceprints` images showed that the SC-RI algorithm fulfilled a matching within about 121.26 milliseconds, being 140 times higher than that of the traditional SIFT-exhaustive matching choice, making the TOP 20’s accuracy reach up to 95.3% for local pattern matching in shoeprint image query.
足迹作为犯罪现场中最常见的一种痕迹物证, 在案件串并及法庭举证等工作中一直具有重要作用。但是, 随着刑侦数字化与网络化技术的发展, 鞋底库中的图像数量越来越多。当从犯罪现场采集到鞋印图像时, 利用图像自动比对技术, 在大规模鞋印库中快速而准确地查询到其他相似鞋印, 为刑侦工作寻找破案线索, 在当前“ 科技强警” 工作中具有重要意义[1]。
针对鞋印图像快速查询应用需求, 相关算法可分为三类:1)基于鞋印图像检索的方法, 该类方法的基本思想是提取鞋印图像的全局或局部底层视觉特征, 再结合机器学习或相似度量方法, 以实现鞋印图像相似查找, 例如文献[2]提出基于聚类的鞋印图像检索算法, 该算法针对鞋印图像类别之间存在隔离带这一情况, 设计一种K步稳定聚类算法以实现鞋印图像检索; 文献[3]融合局部二值模式(LBP)纹理特征与局部敏感哈希(LSH)索引方法, 提出一种大规模鞋印图像快速检索方法。2)基于鞋印图像分类的方法, 该类方法的基本思想是对鞋印图像实现自动分类, 以缩小排查范围而提高查找效率, 如文献[4]
提出一种基于卷积神经网络的鞋印分类算法, 该算法在将CNN模型引入鞋印图像分类的基础上, 针对网络中存在相似特征图的性质, 设计一种去冗余连接的CNN改进模型, 加快了网络收敛速度, 也提高了分类精度; 文献[5]提出一种基于语义的鞋印分类算法, 该算法在鞋印图像底层视觉特征的基础上, 还引入了语义信息, 有效地提高了分类性能。3)基于鞋印图像匹配的方法, 该类方法的基本思想是提取鞋印图像局部或关键点信息, 给定查询样图直接在鞋印库进行相似比对, 如文献[6]利用鞋印图像的尺度不变特征变换 (scale-invariant feature transform, SIFT)描述子, 提出一种基于RANSAC 算法的图像匹配方法; 除此之外, 还有基于能量谱密度(power spectral density, PSD)特征[7]、Gabor纹理特征[8]的鞋印匹配算法, 且在相应的测试集都具有一定的匹配精度。
在现勘鞋印图像比对实际应用中, 鞋印图像存在的特点有:1)鞋印花纹结构种类很多, 且同种花纹的鞋印样本很少; 2)犯罪现场很难提取与拍摄到清晰而完整的鞋印图像; 3)鞋印图像库中的图像总量很多。所以, 基于机器学习的鞋印图像检索与分类方法无法预先定义完备的鞋印花纹类别而提前训练出性能优异的分类器, 不具有通用性; 而基于匹配的鞋印查询方法, 没有考虑大数据集问题, 即当库中的图像数量非常多时, 若采用穷举比对的方法进行相似查找, 效率非常低, 不能满足实时性的应用需求。
针对上述问题及大规模鞋印图像快速比对应用需求, 本文提出一种基于稀疏编码(sparse coding, SC)[9]与反向索引(reverted index, RI)[10]的鞋印图像快速比对算法, 称之为SC-RI算法。该算法的主要思想是:首先, 提取鞋印图像的SIFT局部特征, 然后采用字典学习、稀疏编码与最大池化处理等方法, 计算出鞋印图像的稀疏编码特征; 最后, 通过构建“ 词-图像矩阵” 而设计反向索引结构。试验结果表明, 真实采集的鞋印图像虽然整体上来说不完整, 但只要存在局部清晰的花纹结构, 就可以应用SC-RI算法简单而有效地实现比对查询。
为了提高后续算法的稳定性与可靠性, 鞋印图像在录入数据库时, 在做局部特征提取之前, 首先, 按图1所示方法对鞋印图像进行直方图均衡化视觉增强、中值滤波与OSTU二值分割等预处理; 然后, 基于二值分割之后的图像, 自动检测关键点并计算其SIFT描述子[6, 10], 用于表示鞋印图像的局部结构特征。
设IMG表示任一鞋印图像, 对其采用SIFT方法检测到关键点数量为n个, 则IMG的局部特征集记为:
其中表示第j个关键点的SIFT描述子。
设T={IMGi:i=1, 2, ..., N}表示鞋印图像库, 其中N表示鞋印图像的总数量, 对T中的每幅图像进行SIFT局部特征提取之后, 设由所有SIFT描述子组成的数据集为:
其中
设Q为待查询的鞋印样图, 首先, 提取其SIFT局部特征
其中, 即可以通过式(3)计算Q与鞋印图像库T中所有幅鞋印图像之间的相似度, 再按相似度由大到小进行排序, 从而得到比对查询结果。
在鞋印比对实际应用中, 通常面对的是大规模鞋印图像库, 且每幅鞋印图像提取的SIFT描述子的数量也会达到上千个, 若直接采用第2.1节所述方法进行逐个穷举匹配, 则比对速度会非常慢。所以, 本文提出一种基于稀疏编码与反向索引的快速比对算法, 相关原理与步骤如下:
2.2.1 构造视觉字典
为了构造视觉字典, 本文将Fset中所有图像对应的SIFT描述子排在一起, 记作:
其中
其中D的每一列表示字典中的一个码元(视觉字), K表示字典的长度。
2.2.2 计算稀疏编码特征
设
其中λ > 0正则系数(后续试验中λ =0.15),
其中Bi中的每一列表示一个SIFT描述子的稀疏编码系数。最后, 对中的数据进行最大池化(max pooling)处理, 即在所有编码系数aj的各个维度上取最大值, 也就相当于在Bi的每一行分别取大值, 从而得到的稀疏编码特征
其中:
2.2.3 反向索引
反向索引也常被称为倒排索引[10], 是一种起源于文档快速检索的索引方法, 本文将它用于鞋印图像比对, 其主要原理是:首先, 对于鞋印图像库
其中Ak× N每一行对应一个“ 视觉字” , 每一列对应一幅鞋印图像。也就是说:在Ak× N这个“ 词-图像矩阵” 中, 竖向每一列就是一个正排表, 若该列向量第k个维度上的数值非0, 则说明图像存在第k个视觉单词, 反之则不存在; 而横向每一行就是一个倒排表(反向表), 若该行向量第i个维度上的数值非0, 则说明第i幅鞋印图像包含相应视觉单词, 反之则不包含。
在鞋印图像比对应用系统中, 建立反向索引其实就是计算“ 词-图像矩阵” Ak× N, 因为Ak× N中的每一行对应着一个视觉单词的反向索引表, 可以将中的数据以序列化的方式存储在一个文件里。在查找比对时, 先从相应文件加载Ak× N, 然后只要根据比对样图所包含的视觉单词信息, 就可快速找到所有包含相同视觉单词的其他图像, 以实现快速相似计算与比对。
设Q为待查询的鞋印样图, 首先, 提取其SIFT局部特征
将本文提出的基于稀疏编码与反向索引的鞋印图像比对算法主要步骤总结如下:
算法:CS-RI鞋印图像快速比对算法
输入:鞋印图像集, K-Means字典构造聚类数量K, 比对样图Q;
输出:字典D, “ 词-图像矩阵” Ak× N, 相似度
2.4.1 离线建立反向索引表
Step 1:SIFT局部特征提取
对
Step 2:构造字典
利用特征数据集Fset, 采用2.2.1节所述方法进行K-Means聚成, 从而得到式(5)所示字典D;
Step 3:稀疏编码特征提取
对
Step 4:建立反向索引表
将鞋印图像库T中所有图像对应的稀疏编码特征排在一起, 得到式(9)所示的“ 词-图像矩阵” Ak× N; 因为Ak× N中的每一行分别对应着一个“ 视觉字” 的“ 反向索引表” , 则将Ak× N存储起来, 以用于后续在线鞋印图像快速比对。
2.4.2 在线快速比对
对于比对样图Q, 采用上述相同方法, 提取其SIFT局部特征, 并计算其稀疏编码特征
Step 1:
For (i=1; i< =N; i++) ; //N幅图像的相似度先初始化为0
Step 2:利用反向索引计算相似度
For (k=1; k< =K; k++)
//将第k个视觉单词对应的反向索引表(即Ak× N中的第k行)与
End if
End For
Step 3:相似排序, 返回比对结果
对
为了验证本文所提CS-RI鞋印比对算法的有效性, 首先, 基于VS2010+OpenCV编程环境, 开发了一套鞋印图像管理与比对查询测试系统, 该系统分为三个子系统, 即:鞋印图像与信息入库子系统、鞋印图像库管理与维护子系统、鞋印图像比对子系统, 实现了鞋印图像信息入库、鞋印图像预处理、鞋印图像库管理与维护、索引结构建立、鞋印图像比对查询等功能; 然后, 收集了嫌疑人鞋印图像4256幅与真实采集的鞋印图像12 087幅, 建立一个包含16 343幅图像的鞋印数据库, 用于算法的仿真与测试, 同时也为了验证算法具有尺度与旋转不变性, 其中:4256幅嫌疑人鞋印图像大部分是通过一次镜像与旋转变化而得到的(即同一种图像存在3幅), 而实采鞋印图像在拍摄过程中, 对每个足迹将会选择不同的角度与焦距, 拍摄3~10张图像。
在“ 以案查人” 应用实例中:首先, 打开从犯罪现场采集的鞋印图像, 如图2A所示; 然后, 对图像进行灰度化处理, 并在图像花纹结构较清晰的地方, 按住鼠标左键在图像中拖动, 剪取目标区域, 如图2B所示, 并且根据实际情况, 利用操作界面上提供的“ 旋转、视觉增强、负相变换、图像平滑与二值化处理” 等功能对剪取的图像块进行预处理, 如图2C所示; 最后, 点操作界面上的“ 快速比对” 按钮(对应本文的SC-RI算法), 得到图3所示比对结果。
从图2所示操作过程可见, 虽然现勘中很难采集到完整而清晰的鞋印图像, 但只要其存在局部清晰的花纹区域, 本系统就可将其剪取下来, 并进行中值滤波与二值分割等预处理, 作为查询样图而实现鞋印比对查询。从图3所示的实现结果可见, 排在第1、2与7的图像, 都是“ 嫌犯鞋印库” 中与之相对应的正确比对结果。本次比对耗时119.64 ms, 电脑平台是:浪潮图像工作站, Win7操作系统(64位), 8G RAM内存, Intel Xeon(R) 3.1G CPU处理器。
在“ 以人查案” 应用实例中:首先, 打开嫌疑人鞋印图像, 如图4A所示; 然后, 采用上述相同方法在图像中剪切局部清晰的花纹区域并进行预处理, 如图4B所示; 最后, 点“ 比对识别” 按钮(对应传统SIFT匹配与逐个穷举比对方法), 得到图4C所示比对结果。
![]() | 图4 鞋印图像比对操作流程及比对结果(A:嫌犯鞋印原始图像; B:预处理后的目标区域; C:比对结果)Fig.4 Operational course of comparing shoeprint images and the result (A. original image of suspect; B. target image preprocessed; C. query result) |
为了综合评估本文算法的比对速度与比对精度, 选取“ 折波型、交织型、线条型、边块型与圆点型” 等5种常见花纹结构, 每种10个, 共50个局部花纹结构作为比对样图, 进行综合评估实验, 其平均比对时间、Top10与Top20的正确率如表1所示。其中:平均比对时间是指50次比对的平均耗时, 平均Top10\或Top20正确率是指50次比对实验中, 比对结果前10幅或前20幅图像中比对正确的图像总数除以150, 这是因为:在鞋印库中大部分同类图像都存在3幅, 每次比对过程中都希望那3幅图像均能排在前10或前20之中, 即150(50× 3)为真正正确图像的总数。
由表1中试验结果可见, 本文利用鞋印图像的SIFT局部特征, 再结合稀疏编码与反向索引技术而提出的CS-RI鞋印比对算法, 其比对精度接近于传统SIFT匹配穷举比对方法, 只要鞋印图像存在局部清晰的花纹结构, 比对正确率均在90%以上, 但其比对速度提高了140多倍。这说明CS-RI是非常有效的鞋印比对算法, 其原因是:1)SIFT描述子是一种非常有效的图像局部特征提取方法, 其不但能捕获丰富的图像底层视觉特征, 而且还对图像旋转、尺度缩放、光照变化均具有不变性; 2)通过字典学习与稀疏编码, 能从鞋印图像中获取有意义的结构基元, 最后得到的编码系数, 能很好地描述鞋印图像中所包含的各种花纹信息, 近些年, 稀疏编码在图像语义分析问题已得到成功应用, 且性能卓越。
![]() | 表1 比对精度与时间对比 Table 1 Comparison of both the matching accuracy and used time |
针对刑侦中大规模鞋印图像快速查询应用需求, 本文基于鞋印图像的SIFT局部特征, 再结合稀疏编码与反向索引技术, 提出了一种CS-RI鞋印图像快速比对算法, 且利用VS2010+OpenCV编程环境, 实现了所提算法而开发了一套鞋印比对测试系统, 其主要工作是将SIFT特征、稀疏编码与反向索引技术用于鞋印比对问题, 并进行了对比试验与分析。实验结果表明, CS-RI算法比对精度高且速度快, 是一种非常有效的鞋印比对算法。在后续工作中, 将在更大规模的残缺鞋印集中做进一步验证, 由于鞋印比对在刑侦中具有重要应用价值, 是一个值得进行深入研究的课题。
The authors have declared that no competing interests exist.
作者已声明无竞争性利益关系。
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|