百分点科技:基于计算机视觉的语义分割技术如何在水域监控上发挥作用

编者按:语义分割(Semantic Segmentation)是计算机视觉中的一个重要领域,它可以将图像中的每一个像素划分到不同类别的集合中。近年来,语义分割在自动驾驶、医疗图像识别等领域发展迅速、应用广泛。

本文中,百分点感知智能实验室介绍了语义分割的技术原理及应用场景,并分享了百分点科技基于语义分割技术在水域监控中的应用和具体落地流程。

一、场景需求及技术难点

水域监控是为了定期监控水域、滩地、堤坝等区域情况,检查是否有堤坝缺失或水域变化异常情况的发生。水域图像会定时定点拍摄,为了实现辅助监控任务需要将传回的图像分割,并将图像中的不同类型区域区分并标明。

百分点科技:基于计算机视觉的语义分割技术如何在水域监控上发挥作用

上图简单列出了几种需要识别的类型:河流、河流两岸的堤坝、用于加固大坝的防备石,以及河流与堤坝旁的滩地。目前,水域分割任务的技术难点有以下几类:

所需分割类型较多且有些较为相似,画面中的元素较多,背景复杂;拍摄高度较高,一些目标像素较小且不同类型目标大小差异巨大;相机拍摄距离的不同会造成同一物体在图像中存在很大差距,占幅不同;部分区域相邻的像素对应的图像信息太过相似;图像中不同类别或实例的像素存在不均衡的问题;拍摄条件造成的影响,如光照过曝或过暗、抖动造成的模糊等。

二、技术路线

在技术路线上,百分点科技使用了基于语义分割的地理信息提取系统来实现既定任务。地理信息提取系统可以通过训练神经网络让机器输入卫星遥感影像,自动识别道路、河流、庄稼和建筑物等,并且对图像中每个像素进行标注。

百分点科技:基于计算机视觉的语义分割技术如何在水域监控上发挥作用

语义分割同实例分割(InstanceSegmentation )、全景分割(Panorama Segmentation)共同组成了图像分割(Image Segmentation)。当前人类对用计算机视觉解决的最重要问题就是图像分类(Image Classification)、目标检测(Object Detection)和图像分割,按难度递增。在传统的图像分类任务中,人们只对获取图像中存在的所有对象的标签感兴趣。在目标检测中,百分点科技尝试在边界框的帮助下了解图像中存在的所有目标以及目标所在的位置。图像分割通过尝试准确找出图像中对象的确切边界,将其提升到一个新的水平。接下来用图例简单介绍以下它们分别是如何工作的:

百分点科技:基于计算机视觉的语义分割技术如何在水域监控上发挥作用

从上面图例中可以看出,需要划分出水域图像中不同类别的区域及大小(如河流、滩地、大坝区域),能够完成此任务的技术路线就是使用语义分割或实例分割,因为只有它们能够将水域图像中的每一个像素分割确定为不同类型,从而确定图像中每种类型区域的大小和位置,同时该任务又不需要区分每个类型的实例,因此最适合方案的就是使用语义分割。下面就为大家介绍一下语义分割的原理。

2. 语义分割原理

语义分割是为完全理解场景铺平道路的高级任务之一。越来越多的应用程序从图像中提取、推断信息和知识,这一事实凸显了场景理解作为核心计算机视觉问题的重要性。其中一些应用包括自动驾驶、人机交互、虚拟现实等。近年来,随着 学习(Deep Learning,DL)的普及,许多语义分割问题正在使用 学习架构来解决,最常见的是卷积神经网络(Convolutional Neural Networks,CNN),它超越了其他方法在准确性和效率方面有很大的进步。百分点科技同样也使用了当前较为先进的基于 学习的语义分割技术,其中最重要的一个核心就是卷积神经网络。

3. 语义分割网络结构

基于 学习的语义分割基本架构由编码器和解码器组成,编码器通过滤波器(filter)从图像中提取特征,解码器负责生成最终输出,它通常是一个包含对象轮廓的分割掩码。大多数架构都有这种架构或其变体。

百分点科技:基于计算机视觉的语义分割技术如何在水域监控上发挥作用

因为信息在最后的卷积层(即1 X 1卷积网络)丢失了,所以解码器产生的输出是粗糙的,这使得网络很难通过使用这些少量信息进行上采样。为了解决这个上采样问题,使用基于全卷积网络的两种架构:FCN-16 和 FCN-8。

在FCN-16中,来自前一个池化层的信息与最终特征图一起用于生成分割图。FCN-8 试图通过包含更多先前池化层的信息来使其变得更好。

与传统用CNN进行图像分割的方法相比,FCN有两大明显的优点:一是可以接受任意大小的输入图像,而不用要求所有的训练图像和测试图像具有同样的尺寸;二是更加高效,因为避免了由于使用像素块而带来的重复存储和计算卷积的问题。

同时FCN的缺点也比较明显:一是得到的结果还是不够精细,进行8倍上采样虽然比32倍的效果好了很多,但是上采样的结果还是比较模糊和平滑,对图像中的细节不敏感;二是对各个像素进行分类,没有充分考虑像素与像素之间的关系,忽略了在通常的基于像素分类的分割方法中使用的空间规整(spatial regularization)步骤,缺乏空间一致性。

为了避免FCN的这些缺点,后来又衍生出了许多语义分割网络,如U-Net、SegNet、PSPNet、DeepLab等。

百分点科技:基于计算机视觉的语义分割技术如何在水域监控上发挥作用

标注完成之后进行数据预处理,如图像切割、数据平衡、数据增强等。

图像切割在原始图像较大时运用较多,可将一张非常大的图切割成若干张小图进行训练防止很多图像细节的缺失,也可进行随机切割增加图像的多样性。

数据平衡是当训练集中存在某些类别的样本数量远大于另一些类别时对数据样本量进行平衡,最简单的方法有过采样或欠采样等。

数据增强包含了很多方法,如翻转、旋转、拉伸、模糊、加噪声、亮度调节等,增加数据多样性,增强模型泛化能力。

训练模型时基于全卷积网络(FCN)框架使用了金字塔池化,也就是进行了多尺度特征融合,这是因为由于在深层网络中,高层特征包含了更多的语义和较少的位置信息。这也使得模型除了具备基于 学习的语义分割具备的优势外又结合多尺度特征,可以提高性能适应不同大小的目标。

百分点科技:基于计算机视觉的语义分割技术如何在水域监控上发挥作用

三、应用场景

随着语义分割的发展,基于语义分割的落地应用也越来越多,其中比较典型的有无人驾驶、医疗影像分析、地理信息提取系统等,百分点科技开发的水域分割系统就属于地理信息提取系统,下面将展开介绍一下。

无人车驾驶:语义分割也是无人车驾驶的核心算法技术,车载摄像头,或者激光雷达探查到图像后输入到神经网络中,后台计算机可以自动将图像分割归类,以避让行人和车辆等障碍。

百分点科技:基于计算机视觉的语义分割技术如何在水域监控上发挥作用

总结

本文介绍了使用语义分割技术对水域图像进行分割,实现水域监控。语义分割可以将图像中的每一个像素分类,从而更好地理解图像中的场景信息,并从中推断出相关的知识或语义,这使得语义分割在自动驾驶、医疗影像分析、增强现实等方向的发展迅速。此外,语义分割也让大家进一步了解了计算机视觉、 学习中的一些原理和应用。

百分点科技一直关注和研究图像分割技术领域,目前,百分点科技应用图像分割技术在土地治理、安防监控等多个领域已经有项目应用落地,今后我们也将更加深入地在图像分割领域进行研究。

(免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。 )

Baidu
map