第五章为对全文的总结以及对深度学习的目标检测算法在未来的展望。
相关研究分析
在研究图像识别系统模型之前,要先了解图像识别技术中必不可少的图像分割算法,深度学习技术以及深度卷积神经网络。
图像分割算法研究
正常来说,提取图像中存在的目标是一个目标图像识别系统最主要的一个功能。能准确无误的分割图像中的所有目标是图像分割算法所追求的目标。在下图中,用长方形框标注出了人和轮船两个图中的目标,我们常称这些长方形框为包围盒。
但是就目前来说图像分割算法仍需要解决诸多问题,这是因为不同的目标在颜色,形状,大小上存在差别,此外目标也可能出现重叠,遮挡。初期在图像分割技术还不是很完善的时候,人们使用的是穷举搜索法。首先它先定义一个初始窗扫描图片,通过设定移动距离来通过移动扫描窗口,扫描完在增大扫描窗重复以上步骤,直到窗口大小与图像一致。每一个被扫描窗扫到的区域都被看作是一个目标对象。但是这样做会产生大量的多余不需要的目标对象,同时扫描过程也需要耗费大量的时间,因此当深度学习的不断发展,这种方法也被抛弃,目前选择性搜索算法是在图像分割算法主要的算法,此外边缘盒检测算法也是如今常用算法。因此以下将主要介绍这两种算法。
选择性搜索算法
2004 年Felzenszwalb在IJCV上发表了经典的基于像素区域的图像分割算法[3],构成方法简单、运行速度快是这种算法的优点。在此基础上,在2012年选择性搜索算法被J.R.R团队创作出来。选择性搜索算法有着许多计算方法,因此它能很好地适应图像里目标的复杂多样性。而且它比穷举搜索法大大地减少了搜索窗口,从而搜索的效率得到提高。
选择性搜索算法首先在基于像素区域的图像分割算法的基础上初始化所输入的目标图像,初始化的过程大致是:假定输入m条边以及n个像素点的图像G=(V,E),在两个相邻的像素点所连成的直线为一条边。集合 S = (C1,C2,……Cr)分割后产生输出的图像,在每一个输出图像的子区域里面都含有若干个像素点。
在进行初始化的时候,我们把每一个像素点视作是一个单独的区块。把这些单独区块的不相似度w设为0,初始化的常量值设定为k,最后对初始图像做标准差为σ的高斯过滤。
第一步:计算eij,eij为不同像素点和它的4邻域或者是8邻域的不相似度,计算公式如下:
e_ij=√(〖(v_i∙R-v_j∙R)〗^2+〖(v_i∙G-v_j∙G)〗^2+〖(v_i∙B-v_j∙B)〗^2 )
在上式中像素点三色的通道由vR,vG,vB表示。第二步:把边通过降序排它的不相似度从而获得边的集合E =(eij,emn,…,eqp)。
第三步:在集合E中提取出第一条边eij。
第四步:假设边eij的两边像素点为(vi,vj),合并这条边同时进行判断是否满足下列的合并条件:
(1)不相似度eij小于等于vi,vj内部的不相似度。
(2)不存在于相同区域Id(vi)!=Id(vj),Id 为这个区域的ID。
如果满足,则跳转到第五步。如果不满足,则返回第四步,同时提取接下来的一条边ei’j’。
第五步:把区域之间的操作合并起来,同时对阀值和区域的标号进行更新:
(1)对区域的标号进行更新:用Id(vj)的标号代替Id(vi)和Id(vj)区域的标号。Id(vj)表示区域像素多的部分。