图像分割算法是计算机视觉与图像处理中的最基本难点之一[1], 该难点属于优化问题, 需要通过特征提取和机器学习算法从原始图像中提取目标的轮廓, 然后获得图像中目标的边缘, 并将目标从图像中分割出来。传统图像分割算法的探究对象分为以下两种[2]: (1)像素级别的图像分割方法。通过颜色、纹理和形状等特征判断原始图像中每个像素点是否属于前景/背景, 即可将待分割目标从图像中分割出来[3-4]。(2)超像素级别的图像分割算法。通过将区域内的像素点集合看作是“超像素”, 利用“超像素”的特点进行基于超像素的图像分割算法[5-6], 提升算法的效率并减少分析对象。
大场景图像的多目标分割中, 由于存在多个目标, 在图像分割之前, 需要首先给出初始分割候选框, 再采用Graph-Cut[7]或Mean-Shift[8]等分割方法对候选框中目标进行分割, 这类多目标分割方法属于半自动分割方法。实际上, 在图像分割之前给出多个目标候选框的过程属于图像语义分割过程。当前最常使用的语义分割算法是以(you only look once, YOLO)算法[9]为代表的多目标检测算法, 该算法通过梯度特征提取和机器学习模型构建出多个目标检测过程。在构建大场景图像下的多目标分割算法时, 需要得到良好的语义分割结果的支持。然而, YOLO算法建立在直接卷积神经网络学习模型基础上, 其获得的语义分割结果鲁棒性不够, 大量的重复、重叠结果会为图像分割过程带来许多冗余的结果, 对多目标分割过程造成影响。
为了在语义分割过程中能够从原始候选框中快速筛选出有语义的候选框。本研究采用快速区域建议网络, 代替传统的浅层机器学习模型或者直接的卷积神经网络模型, 构建语义分割模型。该算法首先使用选择性检索(selective search, SS)算法提取大量检测候选框, 再将候选框输入至快速区域建议网络进行语义分割, 从图像中分割出有语义信息的待分割候选框, 最后使用迭代图割算法(GrabCut)完成图像多目标分割任务。
1 算法框架图 1给出了本研究提出的图像多目标分割算法框架。该算法主要包括以下几个步骤:首先使用择性检索SS算法在原始图像中提取大量的候选框; 其次候选框通过区域快速建议网络(faster region proposal networks)完成语义分割, 并在输出层给出多目标语义分割候选框; 最后针对每个目标的分割候选框执行迭代图割(GrabCut)算法, 获得多个目标的分割结果。
在传统候选区域检索算法中, 一般采用穷举检索的方式, 通过不同大小的检索框对原始图像中的所有区域完成检索, 找出其中有潜在目标的区域作为候选区域。由于穷举检索方法效率低, 数据冗余量大, 本研究采用最新的SS算法[10], 该算法能够通过计算图像不同区域特征指标的相似度, 并通过多种特征指标来完成区域合并, 最后针对每个合并好的候选区域, 通过方框(bounding boxes)获取目标候选区域。
第一步:区域特征指标相似度度量, 在SS算法中, 本研究采用弱监督深度度量方法[11]的计算结果作为不同区域之间的相似度度量方法。该方法主要使用层级的非线性变换来获得相似度, 通过逐层递进的方法, 能够降低不同区域之间的语义鸿沟, 由该方式计算得到的特征相似度, 能够更好地区分出不同类型的目标, 能够为后续SS算法提供更好的初始检测框。该方法的主要思想是通过原始像素空间和纹理空间的欧拉距离来获得语义相似度的度量方法。从图 1中可以看出, 该方法首先使用无监督学习的神经网络学习大量特征, 然后再使用原始图像的像素信息和纹理信息获得不同区域之间的弱监督指标来计算无监督学习结果中的特征值, 最后通过式(1)给出的优化问题, 得到语义相似度度量
$ \mathop {{\rm{min}}}\limits_\theta \;{\rm{Loss}}\left( \theta \right) + \beta \cdot \mathit{\Omega }\left( \theta \right), $ | (1) |
式中:Loss(θ)为无监督学习神经网络学习到的特征结果; Ω(θ)为采用像素和纹理信息给出的损失值; β为正则项及其参数, 用来防止过拟合。通过该弱监督优化方式找出最小值, 即可表示为语义相似度度量值。
第二步:在原始区域的构造上, 本研究采用高效算法创建稳定的“超像素”(Superpixel)区域。再通过上述的语义相似度特征计算, 选择相似性较大的区域进行合并, 在SS算法中, 区域的合并采用层次合并方法, 具体合并步骤如下:
(1) 使用(simple linear iterative clustering, SLIC)算法[12]提取原始的“超像素”区域R={r1, r2, …, rn};
(2) 构建初始化的相似性特征集合S=Ø;
(3) 通过上节定义的特征集合计算出两两相邻的区域的相似度, 并加入到相似度性特征集合S中;
(4) 找出相似性最大的两个区域ri和rj, 然后将其合并为区域rt。并在相似性集合中去掉ri和rj的相似性, 并计算rt与当前ri和rj相邻区域的相似度, 然后将所有的结果添加到相应的相似度合并结果集合S中, 同时将合并后的区域rt加入区域集合R中;
(5) 获取每个区域的方框(Bounding boxes), 该区域即为当前合并区域目标的候选区。
图 2给出了使用SS算法对多个目标候选区域的筛选结果, 其中呈现了使用不同尺度的“超像素”区域检索同一张图像的结果, 从中可以发现为了检索不同尺度的目标, 需要使用相适应尺度的“超像素”初始化(绿色为待检测目标)。
从SS算法中提取到的大量候选区域, 这些候选区域中存在大量没有意义的结果, 这时候需要通过模式识别方法对每个候选框进行语义分割, 获得待分割候选框(candidate segmentation boxes)。快速区域建议网络拥有更优秀的特征表达和分类、回归能力, 所以在本研究中选择使用快速区域建议网络模型进行语义分割, 获得待分割候选框。
图 3给出了快速区域建议网络的语义分割方案, 该网络由一个卷积神经网络、一个快速区域卷积神经网络和一个区域建议网络组成, 候选框的语义分割由三个神经网络相互协调[13]。在该网络框架中, 区域建议网络和快速区域卷积网络的前面部分都采用卷积层的操作来计算原始图像的深度特征[14]。在快速区域建议网络中, 将二者组合成同一个网络, 通过将各个卷积层的参数进行共享, 将卷积获得的深度特征分别输出至区域建议网络和快速区域卷积网络, 从而实现端到端的特征输出, 而且共享的特征能够以更高的效率完成语义分割。
在上述的网络结构中, 卷积层的结果需要输出至全连接层, 由于不同网络的卷积核大小不同, 但是全连接层的输入大小是固定的, 所以在实际输出过程中, 本研究对VGG16模型[15]进行修改, 采用单尺度输出固定的10×10大小特征图, 这样即可满足全连接层的固定输入大小。具体操作方法是, 假设输入的候选框大小为(p, q, h, w), 卷积层的结果产生10×10个p×q×(h/10)×(w/10)子块, 在全连接层之间加入最大化池化方法, 求出每个子块的最大值, 最后输出一个10×10固定大小的特征图。
在实际语义分割过程中, 将SS算法生成的所有候选框作为输入, 输出的结果包含有语义分割结果的边框以及相应的概率得分。本研究将SS算法的初始候选框个数设置为2 000个, 并将所有的候选框输入至快速区域建议网络中完成语义分割。
在语义分割中, 由于输入的候选框采用SS算法的结果, 而该结果是通过图论和最小生成树迭代产生的结果, 成为了制约区域建议网络的主要瓶颈。在本研究的快速区域建议网络中, 通过生成策略进一步从原始候选框中筛选有潜在语义的候选框, 从而实现快速区域建议网络。快速区域建议网络构建在VGG16模型之上, 最后一个卷积层通过256个卷积核产生256个特征图, 特征包含有256个维度, 其中每个特征图大小为40*60, 快速区域建议网络在卷积层之后连接两个全连接判断层, 其中一个是cls-layer判断层, 输出两个得分, 用于判断当前候选框是前景还是背景得分, 另一个是reg-layer判断层, 输出4个得分, 分别是该候选框的起始点x, y方向坐标和长宽的得分, 用于判断该候选框的边框得分。在语义分割进程中, 通过得分高低来从2 000个候选框中筛选出得分最高的前300个候选框, 用于更快速的语义分割, 从而大大降低了神经网络在语义分割中的开销。图 4给出了快速区域建议网络的得分筛选过程。
多目标图像经过SS的候选框提取和快速区域建议网络的语义分割之后, 在原始图像中给出了多个目标的分割候选框。在本研究中, 通过GrabCut算法从分割候选框中分割出结果。
图 5给出的迭代图割算法(GrabCut)的流程图[16], 该方法将原始图像看作是一个无向图G=〈V, E〉, V, E分别表示原始图像的像素点和像素点之间的连接边, 并在无向图上构建一个源点S和一个汇点T, 分别表示图像分割的前景终点和背景终点。经过上述的变换, 原始图像分割的过程就转化为将无向图G中的顶点进行分割的过程, 分割所采用的权重包括两个部分, 一个是顶点V之间的权重n-links, 另一个是顶点V与源点S、汇点T之间的权重t-links。根据图像分割的实际意义可以发现, t-links表示的物理意义是前景/背景颜色相似度, n-links表示的相邻像素点的对比度差异。
t-links由前景/背景颜色相似度计算产生, 在GrabCut算法中使用高斯混合模型计算器相似度, 分别对前景颜色和背景颜色构建高斯混合模型, 即可表示出前景/背景之间的颜色相似度, 假设用U(α, m, θ, x, γ)表示; n-links由像素点之间的对比度计算, 一般直接使用像素值之间的差值计算, 假设用V(α, x)表示; 可以写出像素分割的优化函数
$ E\left( {\alpha, m, \theta, x, \gamma } \right) = U\left( {\alpha, m, \theta, x, \gamma } \right) + V\left( {\alpha, x} \right), $ | (2) |
式中:α表示优化函数权重; x表示像素值; m表示高斯混合模型权重; θ, γ分别表示高斯函数的均值和方差。该优化函数可以使用最大流/最小割算法优化至最优状态, 相应的分割转化至图像中, 即可获得稳定的前景目标分割结果。
2 试验与结果分析 2.1 试验数据集与初始化为了验证本研究算法的可行性和性能, 分别在COCO数据集[17]和Cityscapes数据集[18]上进行测试。其中, COCO数据集为微软团队维护的一个能够同时进行图像目标检测、目标分割和目标标注等工作的数据集, 数据集有大量经过语义标注以及每个语义对象的精确Bounding box, 并给出了候选方框的精确坐标, 使用该数据集适用于完成图像多目标的检测和分割。
Cityscapes数据集是一个全新的大范围尺度下的图像目标检测和分割数据集, 该数据集由立体视频序列样本组成, 包含有50个大中型城市的相关数据, 并且每个视频样本中的多个目标都进行了相应的语义标注, 该数据旨在维护一个城市场景下的语义理解数据集, 并且拥有在像素点级别下的图像分割标签标注。综上, 本研究选择的两个数据集的相关比较如表 1所示, 两个数据集都适合于进行图像多目标自动分割。
本研究的语义分割对象为多个目标, 在BP误差计算上选用交叉熵代替传统的均方误差衡量指标。
$ E =-\frac{1}{N}\sum\limits_{t = 1}^T {{c_t}{\rm{log}}b_c^t + (1-{c_t}){\rm{log}}(1-b_c^t)}, $ | (3) |
式中:E表示神经网络的误差,用语进行误差反向传播(BP), bct表示实际值; ct表示预测结果值。交叉熵拥有更平稳的特性, 在BP计算上梯度更明显。
试验中采用ImageNet上训练好的VGG16模型, 通过COCO和Cityscapes数据集中的训练集对VGG16模型进行微调训练, 使其参数逐渐调整到相应数据集的参数中。微调训练分为4个步骤, 分别训练40 000, 2 000, 40 000, 20 000次, 在每个步骤中均采用固定学习率0.001, 其他参数均采用VGG16训练中提供的默认值。
为了理解VGG16模型通过微调训练至本研究提出的快速区域建议网络的迭代学习过程, 在训练结束后, 本研究绘制了卷积层的特征图。图 6给出了快速区域建议网络中, 第2、5个卷积层的特征图以及区域建议网络中的共享卷积层的特征图。在这些特征图中, 给出了大量的纹理信息, 这些特征都是由卷积核自动学习得到的。
在试验结果的对比上, 本研究采用IoU(intersection over union)[19]值衡量图像目标检测的结果值。在本研究中, 更精确的语义分割结果可以为GrabCut算法带来最好的性能, 所以将IoU>0.95的严苛目标作为判断结果。图 7、8分别给出了COCO数据集和Cityscapes数据集上的分布多目标自动分割结果。为了比较本研究算法与state-of-the-art最常使用算法, 本研究算法分别与DPM、Region CNN、Faster Region CNN、YOLO算法进行对比, 对比指标采用像素点分类为前景/背景的平均正确率(mAP)。表 2、3给出了相应的10个常见语义分割算法组合的结果对比。
从表 2、3中COCO数据集和Cityscapes数据集的结果中可以看出, 与DPM和YOLO[20]等多目标语义分割方法相比, 快速区域建议网络(Faster RPN)能够提取出图像中更本质的特征, 由于获取的候选框大小、范围更合适, 所以在分割结果上的效果更为明显。与当前效果最佳的YOLO算法相比, 虽然在COCO数据集上球、羊、人、马等对象, 以及Cityscapes数据集上街道、树等对象, YOLO算法的结果优于本研究算法, 但是在数据集上的mAP分别提高2.16%和1.55%。可以看出, 对于一些占据图像较大比例的目标, 本研究算法偶有低于YOLO算法的可能, 这是因为较大目标的轮廓数据量大, 计算精度要求更高, 本研究算法的Faster Region CNN网络更适合于分割图像占据比例更小的目标, 平均性能优于YOLO算法。
为了直观化比较多目标语义分割的各项指标, 本研究选择了YOLO模型与本研究的快速区域建议网络进行对比。由于多目标语义分割的多样性, 本研究分别定义了如下指标进行对比:occ(冲突值)、trn(截断值)、size(候选框大小值)、asp(纵横比值)、view(视角值)、part(部分比)等指标之间的对比。图 9给出了本研究算法与YOLO算法目标检测指标与平均正确率的对比图。
从图 9中本研究算法与传统DPM算法的指标与平均正确率比较可以看出, 对于最常见的多目标检测, 在不同的指标变换下, 本研究提出的算法比YOLO算法的提升率均超过5%以上, 说明本研究算法获得了精确度更高、鲁棒性更好的待分割候选框, 协助GrabCut算法获得了更精准的图像分割结果。
在算法性能的比较上, 图 10给出了不同模型在语义分割中的错误率与迭代次数之间的关系。
从图 10给出的不同模型的语义分割性能对比结果可知, 随着迭代次数的增加, 本研究提出的算法误差下降速度最快, 能够在更短的时间内收敛到更小的误差。与当前效果最好的YOLO算法相比, 本研究提出的算法比该算法的语义分割收敛速度更快, 能够在更短的时间内收敛至更低的交叉熵。
3 结论如今, 计算机视觉与图像处理逐渐成为人工智能研究热点, 其中, 图像多目标自动分割属于重点研究问题之一。本研究提出一种使用快速区域建议网络完成图像多目标自动分割算法。该算法由3个部分构成, 首先使用Selective Search算法从原始图像中提取出目标检测候选框, 最后将候选框输入至快速区域建议网络中提取特征, 并输出目标的语义分割结果以及相应的待分割候选框, 然后使用GrabCut算法从待分割候选框中分割出目标轮廓结果, 从而完成图像多目标自动分割任务。在不同图像分割数据集上的结果证明本研究提出算法的高效性和鲁棒性。由于本研究采用区域建议网络得分筛选构建了语义分割过程提升了图像分割的准确率, 在图像的实际分割精度上的提升是今后工作的研究重点。
[1] |
姜枫, 顾庆, 郝慧珍, 等. 基于内容的图像分割方法综述[J].
软件学报, 2017, 28(1): 160-183 JIANG Feng, GU Qing, HAO Huizhen, et al. An overview of content-based image segmentation methods[J]. Journal of Software, 2017, 28(1): 160-183 |
[2] |
刘金平, 陈青, 张进, 等. 基于集成学习的交互式图像分割[J].
电子学报, 2016, 44(7): 1649-1655 LIU Jinping, CHEN Qing, ZHANG Jin, et al. Interactive image segmentation based on integrated learning[J]. Journal of Electronics, 2016, 44(7): 1649-1655 DOI:10.3969/j.issn.0372-2112.2016.07.019 |
[3] |
陈海鹏, 申铉京, 龙建武, 等. 采用高斯拟合的全局阈值算法阈值优化框架[J].
计算机研究与发展, 2016, 53(4): 892-903 CHEN Haipeng, SHEN Xuanjing, LONG Jianwu, et al. The global threshold optimization framework of gaussian fitting is adopted[J]. Journal of Computer Research and Development, 2016, 53(4): 892-903 |
[4] |
申铉京, 张赫, 陈海鹏, 等. 快速递归多阈值分割算法[J].
吉林大学学报(工学版), 2016, 46(2): 528-534 SHEN Xuanjing, ZHANG He, CHEN Haipeng, et al. Fast recursive multi-threshold segmentation algorithm[J]. Journal of Jilin University (Engineering and Technology Edition), 2016, 46(2): 528-534 |
[5] |
钱超, 张晓林. 基于稳定特征点和SLIC超像素分割的快速立体匹配[J].
电子设计工程, 2016, 24(23): 146-148, 152 QIAN Chao, ZHANG Xiaolin. Fast stereo matching based on stable feature point and SLIC hyperpixel segmentation[J]. Electronic Design Engineering, 2016, 24(23): 146-148, 152 DOI:10.3969/j.issn.1674-6236.2016.23.045 |
[6] |
王春波, 董红斌, 印桂生, 等. 基于Hadoop的超像素分割算法[J].
计算机应用, 2016, 36(11): 2985-2992 WANG Chunbo, DONG Hongbin, YIN Guisheng, et al. Hyperpixel segmentation algorithm based on Hadoop[J]. Journal of Computer Applications, 2016, 36(11): 2985-2992 DOI:10.11772/j.issn.1001-9081.2016.11.2985 |
[7] |
WANG X, LI H, BICHOT C E, et al. A graph-cut approach to image segmentation using an affinity graph based on |
[8] | REGO Liviane, SUMAILI Jean, MIRANDA Vladimiro, et al. Mean shift densification of scarce data sets in short-term electric power load forecasting for special days[J]. Electrical Engineering, 2017, 99(3): 881-898 |
[9] | REDMON Joseph, DIVVALA Santosh, GIRSHICK Ross, et al. You only look once: unified, real-time object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, USA: IEEE, 2016: 3213-3219. |
[10] | REN Shaoqing, HE Kaiming, ROSS Girshick, et al. Object detection networks on convolutional feature maps[J]. IEEE transactions on pattern analysis and machine intelligence, 2017, 39(7): 1476-1481 DOI:10.1109/TPAMI.2016.2601099 |
[11] | LI Z, TANG J. Weakly supervised deep metric learning for community-contributed image retrieval[J]. IEEE Transactions on Multimedia, 2015, 17(11): 1989-1999 DOI:10.1109/TMM.2015.2477035 |
[12] | CROMMELINCK S, BENNETT R, GERKE M, et al. SLIC superpixels for object delineation from UAV data[C]//ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences. Lund, Sweden: Directory of Open Access Journals, 2017(4): 9-16. |
[13] | LECUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 521(7553): 436-444 |
[14] | ZOPH Barret, VASUDEVAN Vijay, SHLENS Jonathon, et al. Learning transferable architectures for scalable image recognition[J]. arXiv preprint arXiv: 1707. 07012(2017). |
[15] | SCHMIDHUBER J. Deep learning in neural networks: An overview[J]. Neural networks, 2015, 61: 85-117 DOI:10.1016/j.neunet.2014.09.003 |
[16] | Y U, SHAODE. Efficient segmentation of a breast in B-mode ultrasound tomography using three-dimensional GrabCut (GC3D)[J]. Sensors, 2017, 17(8): 1827 |
[17] | LIN T Y, MAIRE M, BELONGIE S, et al. Microsoft coco: common objects in context[C]//European Conference on Computer Vision. Zurich: Springer International Publishing, 2014: 740-755. |
[18] | CORDTS M, OMRAN M, RANMOS S. The cityscapes dataset for semantic urban scene understanding[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, USA: IEEE, 2016: 3213-3223. |
[19] | NOWOZIN S. Optimal decisions from probabilistic models: the intersection-over-union case[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Columbus, USA: IEEE, 2014: 548-555. |
[20] | REDMON Joseph, FARHADI Ali. YOLO9000: better, faster, stronger[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA: IEEE, 2017: 1384-1392. |