王国栋 姚 力
(中国刑事警察学院,辽宁·沈阳 110031)
MATLAB是由美国MathWorks公司开发的具有数值分析、数字图像处理以及数字信号处理等强大功能的商业数学软件,由于该软件具备图像分割、滤波降噪、平滑增强、边缘检测、特征提取等多方面强大的数字图像处理功能,被广泛运用于农牧林业、工业和医学等领域内的形态学分析中,并通过引入数字图像处理技术,让这些领域得到了开拓性的进步并取得显著的成果。足迹学研究的主要对象是案发现场上的嫌疑足迹,这些足迹可能是石膏制模形成的实物,也可能是现场遗留的嫌疑鞋只,但绝大多数的研究对象都是现场嫌疑足迹通过拍照固定最终以数字图像形式呈现的图像,所以足迹学能够很好地与图像处理技术相结合。通过将图像处理技术引入足迹学研究,借助该技术手段对足迹图像进行处理,将会使足迹学得到更进一步的发展。
本文研究的是通过MATLAB的图像处理工具箱中的算法,对足迹图像进行滤波降噪、膨胀腐蚀等图像预处理操作,将模糊的足迹图像进行处理得到视觉质量较高的图像,使其具有较高的辨识度,便于人的观察和分析。通过前期的图像预处理准备阶段后,最终借助MATLAB边缘检测算法来获取足迹图像轮廓边缘等特征,显示赤足足迹的边缘轮廓以及穿鞋足迹的鞋底花纹,借助二值化和阈值分割算法来获取足底重磨损面,显示出重磨损的形式大小特征,以此来探讨MATLAB的边缘检测算法在足迹图像中的应用。
进入案发现场后,现场足迹的提取方式通常都会采用拍照的方法进行固定提取。在进行拍照固定提取时,采用的是掠入射光对地面上疑似留有嫌疑人足迹的地方进行打光,将足迹平面与相机镜头光轴保持垂直进行拍摄。在打掠入射光时,通常都会发现嫌疑足迹的周围有许多粉尘接收到掠入射光从而发生漫反射,进入镜头以“小光点”的形式被固定下来。这些“小光点”对于观察和分析嫌疑足迹来说属于噪声干扰因素,需要通过图像滤波处理技术将其消除或抑制。同时,现场嫌疑足迹被数码相机记录固定下来,并最终以图片的形式将其打印出来,或以数字图像的形式呈现在电子屏幕上,无论哪种方式都存在电子信息传输的过程。在信息传输的过程中会受到光、电、仪器设备本身等各方面因素的影响产生噪声,这类噪声属于内部噪声,是由电器的机械运动、器材材料本身以及系统内部设备电路所引起的,这类噪声对图像的识别分析会产生不良的影响,需要通过图像滤波处理技术将其消除或抑制。。
图像噪声的存在,在很大程度上影响了人们的视觉感知以及对图像信息的获取和理解,换言之,是信息传播的真实信号与理想信号之间存在偏颇,从而影响图片传输的效果,因此对足迹图像需要进行滤波降噪处理,以改善足迹图像的呈现效果。图像进行去噪处理是图像在传输的过程中非常重要的一个步骤,图像去噪的效果直接影响到图像的后续处理工作,常用的图像滤波降噪处理方法有以下几种。
均值滤波是一种线性滤波,能够消除图像的尖锐噪声,其采用的主要方法为领域平均法。其基本原理是:根据当前图像的像素情况选择多个与之相类似的像素作为模板,然后以此作为基础,对待处理的图像进行像素的替换,即用模板中的全体像素平均值来代替原来的像素值(1)吴振华. 基于模糊数学理论的数字图像处理[D].长沙理工大学,2010.。使用均值滤波处理图像,算法简单、计算速度快、能够消除尖锐噪声、平滑图像。但因为足迹图像的边缘部分是由像素灰度之间的较大尖锐反差所体现的,通过均值滤波平滑后,会给足迹图像边缘带来模糊的负面效应。均值滤波在图像细节方面不能很好地处理,在去噪的同时也会破坏图像细节,容易造成过度模糊。
中值滤波是一种非线性滤波处理技术,和均值滤波一样也是领域运算方法的一种,其所遵循的理论是排序统计理论。工作的基本原理是:首先确定图像的某一个像素作为中心点,并以此周边区域的领域像素作为窗口,一般窗口由奇数个点所构成。对所选区域窗口的像素灰度值进行升序或降序排列统计,最终选取序号为中心点的数值作为滤波输出。中值滤波算法运算简单速度快,和均值滤波相比较,中值滤波方法不仅可以消除影响图像画质的噪声,还能够保护图像边缘,不会像均值滤波算法模糊破坏图像的边缘部分,中值滤波能够较好地复原图像。它非常适用于一些线性滤波器无法胜任的数字图像处理的应用场合(2)朱维仲,董彩平.中值滤波技术及其在图像处理中的应用[J].天津职业技术师范学院学报,2002,(3).。但对于具有点、线、较多尖顶、领域之间像素差较大的图像而言,中值滤波算法还需要改进。经研究发现,采用迭代中值滤波器能够很好的达到预期的效果,其实现方法是重复进行中值滤波算法,在MATLAB软件中的实现代码如下。
clear
[filename,pathname]=uigetfile({′*.jpg′;′*bmp′;′*gif′},′选择原图片′);
I=imread([pathname,filename]);
hood=3;%选择3×3的模版
K=filter2(fspecial(′average′,hood),I)/255; %均值滤波模板尺寸为3
K1=medfilt2(I,[hood hood];%进行3×3模板的中值滤波,迭代1次
K2=medfilt2(K1,[hood hood];%进行3×3模板的中值滤波,迭代2次
K3=medfilt2(K2,[hood hood];%进行3×3模板的中值滤波,迭代3次
figure(1),imshow(K);title(′3×3模板均值滤波′);
figure(2),imshow(K1);title(′3×3模板中值滤波′);
figure(3),imshow(K2);title(′3×3模板的中值滤波,迭代2次′);
figure(4),imshow(K3);title(′3×3模板的中值滤波,迭代3次′);
图一为滤波降噪的效果图,其中(a)为原图,(b)为均值滤波处理后的效果图,(c)为中值滤波处理后的效果图。通过将均值滤波以及中值滤波处理后的效果图与原图进行比较,可以发现:原图足迹周边以及足迹表面的粉尘颗粒较多,其接受到掠入射光后漫反射进入镜头形成的“小光点”较多,影响了现场足迹图像的成像质量并降低了视觉上的感知。但通过滤波降噪处理后,“小光点”的数量得到了消除,使足迹图像在视觉效果上得到了改善。通过将均值滤波效果图与中值滤波效果图进行比较可以发现,虽然两种滤波算法都会消除噪声,但经过均值滤波处理后,原图足迹的边缘部分变得模糊,边缘反映不清楚。相比较而言中值滤波处理的效果较好,不仅消除了噪声而且没有模糊足迹边缘的反映,使得足迹图像的成像质量以及视觉质量得到了更好地改善,更清晰地呈现了现场足迹图像。
(a)原图(b)均值滤波(c)中值滤波图一:滤波降噪效果图
膨胀与腐蚀处理是形态学操作的一部分,膨胀就是求局部最大值的操作,即用一个结构元素B,对原始图像A的每一个像素进行扫描,再用结构元素B与其覆盖的图像A做“或”操作,其中结构元素B可以是方形结构也可以是圆盘结构。经过膨胀处理后的图像会“变胖”,因为其在运行的过程中,用结构元素B中心点与图像A中的像素一个一个的对比,一旦结构元素B中有一点属于A中,则结构元素B被A所吸收,所以原始图像会变胖膨胀一圈,其膨胀的大小由结构元素的大小所决定,膨胀的过程被记为:AB。而与膨胀具有相反意义的腐蚀就是求局部最小值的操作。同样是用结构元素B对原始图像A中的每个像素进行扫描,但此时结构元素B与原始图像A做的是“与”运算,即结构元素B中心点与原始图像A一个一个的对比,只有当结构元素B中的所有点都包含在A中时,结构元素B才会被保留,所以原始图像经过腐蚀运算后,图像会“变瘦”部分边界像素会被删除,其中腐蚀的过程被记为:AB(3)李晓飞,马大玮,粘永健,孙晶菁.图像腐蚀和膨胀的算法研究[J].影像技术,2005,(1).。在MATLAB软件中实现膨胀与腐蚀的代码如下。
clc
clear
[filename,pathname]=uigetfile({′*.jpg′;′*bmp′;′*gif′},′选择原图片′);
A1=imread([pathname,filename]);
B=strel(′disk′,2); %半径为2的圆盘结构元素
%B=strel(′square′,2′); %边长为2的方型结构元素
A2=imdilate(A1,B); %图像A1被结构元素B膨胀
A3=imerode(A1,B); %图像A1被结构元素B腐蚀
Figure(1),imshow(A1),title(′原始图像′);
Figure(2),imshow(A2),title(′膨胀后的图像′);
Figure(3),imshow(A3),title(′腐蚀后的图像′);
开运算与闭运算其实就是膨胀与腐蚀互相交叉运算的结果,其中开运算就是先进行腐蚀后进行膨胀,被记为OPEN(X)=D(E(X)),闭运算就是先进行膨胀后进行腐蚀,被记为CLOSE(X)=E(D(X))。由于闭运算是先进行的膨胀运算,经过膨胀处理的图像缺损部分以及裂缝部位先被膨胀变胖,再经腐蚀细化后,缺损裂缝部位被填平,且位置形状不发生改变,所以闭运算具有弥合裂缝填平小孔缺损的效果。而一般开运算能够消除一些孤立的小点、毛刺和小桥等细小的点,而总的位置和形状不发生改变。所以,开运算也能够达到滤波降噪,改善图像视觉质量的效果。下图二是进行开运算后的效果图。
(a)处理前(b)处理后图二:开运算效果图
通过对足迹图像进行前期的平滑滤波、消除噪声以及形态学上的膨胀腐蚀等图像增强准备阶段后,最终目的就是为了进行边缘检测处理,提取足迹图像的边缘轮廓,从而用于进行后期的足迹分析以及便于形象特征的测量与检验。图像的边缘是指图像中像素值发生突变的部位,其中足迹图像的边缘就是指穿鞋足迹鞋底的花纹形态和赤足迹的轮廓形状。利用边缘检测处理可以检测出足迹图像中不同区域的边缘来达到分割图像的目的,其实质是采用某种算法来提取图像对象与背景间的交界线。边缘检测处理的基本思想是:首先利用边缘增强算子,突出图像中的局部边缘,然后定义像素的“边缘强度”,通过设置阈值的方法提取边缘点集(4)张驰,李丽芳,鲍济民,刘旭.利用边缘检测算子所显示的数字图像本底噪声差异辨识伪造、变造图像[J].中国公共安全(学术版),2013(04).。常用的边缘检测算子有:Sobel算子、Robert算子、Prewitt算子、Laplacian算子以及Canny算子。
Sobel算子的运算原理使用的是类似局部平均的运算,在对图像进行消除噪声的同时,也会使处理后的图像平滑化。但该算子在抗噪的同时增加了计算量,使得能够额外地检测并描绘出足迹图像的伪边缘,造成该算子提取的边缘精度不高,定位不准。由于Robert算子采用的是对角线方向相邻两像素之差近似梯度幅值检测边缘,所以该算子更适合检测水平垂直的边缘,且检测的效果要好于检测斜向边缘,但该算子无法抑制噪声的影响,对噪声较为敏感。Prewitt算子对噪声具有平滑抑制作用,但Prewitt算子对边缘的定位不如Roberts算子,Sobel算子要比Prewitt算子更能准确检测图像边缘。以上三种边缘检测算子都属于一阶微分算子,而Laplacian算子则是基于二阶导数的边缘检测算子。图像经过Laplacian算子二阶微分后,在边缘处产生一个陡峭的零交叉点,根据这个对零交叉点来判断图像的边缘(5)熊秋菊,杨慕升.数字图像处理中边缘检测算法的对比研究[J].机械工程与自动化,2009,(2).。但该算子对噪声也比较敏感,对图像中的某些边缘会产生双重响应形成伪边缘。Canny算子在进行处理前,先平滑图像去除噪声,其次采用一阶偏导的有限差分来计算梯度幅值和方向,再经过一个非极大值抑制的过程,最后采用两个阈值来连接边缘(6)刘锦秀. 基于数字图像处理技术的松散堆积体粒径分布快速测量技术研究[D].重庆交通大学,2012.。与Sobel、Robert、Prewitt、Laplacian边缘检测算子相比较,Canny算子具有较大的优势,其既能很好地抑制噪声还能够较准确的定位检测图像的边缘。所以本文采用canny算子对足迹图像进行边缘检测处理。下图三是canny算子对足迹图像进行边缘检测处理后的效果图,其中(a)为穿鞋足迹图像经边缘检测处理后的效果图,(b)为赤足足迹图像经边缘检测处理后的效果图。
(a)穿鞋足迹(b)赤足迹图三 Canny算子边缘检测图
足迹图像经过灰度变化后,其明暗变化的情况通过黑、灰、白三种颜色来表示。由于人体生理结构机能、人体行走方式的不同,人在行走时足底压力分布的位置、大小都各有差异,而这些差异在足迹图像中能够通过足底灰度的变化来呈现。人在行走时,通过足—介质—承痕体三种物质在作用力的作用下形成足迹痕迹,压力大的部位,对应足迹痕迹部位的介质遗留或遗失的量会与周围环境介质的分布情况有明显的差异。压力小的部位,则对应足迹痕迹部位的介质分布与周围环境介质分布无显著差异。通过足迹痕迹介质分布的规律,对足迹图像进行阈值分割,能够实现足底压力部位的分割,显示出足底压力较重的部位所形成的重磨损面的分布情况,有利于后期对足底重磨损面进行特征分析。
图像的阈值分割处理,其实质是确定出能够将一副图像的主体与背景划分开来的最优临界值,最优临界值的确定是阈值分割处理的关键。有很多学者已经提出了许多较为经典的阈值分割方法,如最大类间方差法、直方图阈值法、分水岭分割法等。本文采用的是最大类间方差法(Otsu),其基本原理是根据一幅图像中目标和背景具有不同的灰度值,利用图像的灰度直方图取某一阈值把图像分成目标和背景两部分,计算目标和背景两部分的方差,当方差最大时的分割阈值即为图像的分割阈值(7)蔡艳梅,吴庆宪,姜长生.改进Otus法的目标图像分割[J].电光与工程.2007,14(6).。
对穿鞋足迹图像利用MATLAB软件通过灰度处理、二值化处理以及阈值分割后,穿鞋足迹的主体与背景能够被分离,因为阈值的选取,可以将足底重磨损面区域显示出来。对显示出来的重磨损面进一步利用开闭运算将分割后的图像进行腐蚀膨胀,以及足迹图像中足底重磨损面几何中心点的确定。本文通过利用MATLAB算法来确定几何中心点的位置,经过二值化、阈值分割等一系列处理后,所得足底重磨损面图像像素点的灰度值非0即1。对足迹图像中逐点搜索,找出图像上灰度值为1的所有像素点,之后将所有这些点的横坐标值xi和纵坐标值yi分别累加,再分别除以像素值为1的像素点个数n,就可得到足底重磨损面近似几何中心点的位置。
A 嫌疑人穿鞋足迹图B 嫌疑人赤足迹处理后C 重合效果图图四 重磨损面处理效果图
经过灰度处理、二值化处理、阈值分割、开闭运算以及几何中心点的确定等步骤,足底重磨损面的区域范围以及重磨损面的中心点被确定(如上图四所示),将处理前与处理后的效果图进行重合比对,发现经过图像处理后显示出重磨损面的区域范围,形状大小基本与原图相近;确定出的重磨损面几何中心点,通过将各点进行连接构成特殊的几何形状,测量各点的距离、角度、几何形状的周长面积等特征能够用于辅助的比对检验。
本文基于MATLAB软件借助图像处理技术对足迹图像采用了中值滤波降噪处理、膨胀腐蚀处理、开闭运算处理、canny边缘检测算子处理以及阈值分割处理等图像处理技术,消除了干扰图像质量的噪声,提取了足迹图像的边缘特征以及足底重磨损面特征。通过采用滤波降噪以及膨胀腐蚀等处理,在很大程度上消除了现场粉尘对足迹图像呈现的干扰,实现了噪点与足迹主体的分离,很好地改善了足迹图像的成像质量与视觉质量。通过选用Canny边缘检测算法,准确地检测并绘制出穿鞋足迹的鞋底花纹类型以及赤足或穿袜足迹的轮廓形态。通过对嫌疑人的赤足迹图像进行二值化处理以及阈值分割操作,能够显示出其足底重磨损面的区域部位。所以图像处理技术可以用于对模糊的现场足迹图像进行增强改善、穿鞋足迹图像的鞋底花纹的获取、反映嫌疑人足的外形轮廓特征、显示足底的重磨损面的形态大小。
但对于有明显花纹图案背景干扰的现场足迹图像,滤波降噪处理无法很好地滤除背景干扰来改善成像质量。同时运用滤波降噪处理技术对现场足迹图像进行处理时,必然会改变足迹图像的原始状态,也会对足迹图像产生不利的破坏。由于进行滤波降噪处理或开运算处理,不仅可以消除足迹图像中的“小光点”和毛刺,而且也会使得足迹图像中细小的、不明显的但具有个性的特征被滤除,使得足迹图像中较大的、明显的但看似像个别特征的假特征得到凸显。对穿鞋足迹图像进行滤波降噪后再采用闭运算处理,由于闭运算会将鞋底的缺口裂缝进行填平和弥补,所以经闭运算处理后鞋底的细节磨损特征无法得到正常的应用。
综上所述可以发现,从细节层面看,现场足迹图像经过滤波降噪、膨胀腐蚀、开闭运算等处理后,其足迹图像的细节特征会被破坏减少损失,鞋底磨损特征也会被修补覆盖消除,经图像处理后的足迹图像无法进行磨损特征以及细节特征的分析。但从宏观层面看,足迹图像经过滤波降噪、膨胀腐蚀、开闭运算等处理后,改善了现场足迹图像的成像效果,能够便于宏观的测量模糊足迹图像的长宽值,便于观察足迹的起落足方式等步法特征。经过canny边缘检测算子处理后的图像,其鞋底花纹能够很好地表现出来,可以用于进行串并案件的处理。对赤足迹或穿袜足迹进行处理后,在不考虑赤足的足底花纹以及穿袜的破损缝补的情况下,经过二值化以及canny算子边缘检测后,能够很好地反映出嫌疑人足的轮廓形态,通过对足的各部位进行长宽测量,可进行形态学上的比较检验以及身高方面的分析。通过二值化以及阈值分割等一系列处理,能够显示出足底重磨损面的形状大小以及几何中心点,将各点进行连接构成特殊的几何形状,测量各点的距离、角度、几何形状的周长面积等特征能够用来辅助鉴定人减少主观经验,进行比对检验,帮助非检验鉴定人员更容易理解并接受足迹检验鉴定的结论。