精华内容
下载资源
问答
  • 华中科技大学自动控制原理课件.,包含一些常见考的考点。
  • 图像识别技术原理和神经网络的图像识别技术

    万次阅读 多人点赞 2019-03-03 19:44:58
    图像识别技术是信息时代的一门...简单分析了图像识别技术的引入、其技术原理以及模式识别等,之后介绍了神经网络的图像识别技术和非线性降维的图像识别技术及图像识别技术的应用。从中可以总结出图像处理技术的应用...

    图像识别技术是信息时代的一门重要的技术,其产生目的是为了让计算机代替人类去处理大量的物理信息。随着计算机技术的发展,人类对图像识别技术的认识越来越深刻。图像识别技术的过程分为信息的获取、预处理、特征抽取和选择、分类器设计和分类决策。简单分析了图像识别技术的引入、其技术原理以及模式识别等,之后介绍了神经网络的图像识别技术和非线性降维的图像识别技术及图像识别技术的应用。从中可以总结出图像处理技术的应用广泛,人类的生活将无法离开图像识别技术,研究图像识别技术具有重大意义。

    1图像识别技术的引入

    图像识别是人工智能的一个重要领域。图像识别的发展经历了三个阶段:文字识别、数字图像处理与识别、物体识别。图像识别,顾名思义,就是对图像做出各种处理、分析,最终识别我们所要研究的目标。今天所指的图像识别并不仅仅是用人类的肉眼,而是借助计算机技术进行识别。虽然人类的识别能力很强大,但是对于高速发展的社会,人类自身识别能力已经满足不了我们的需求,于是就产生了基于计算机的图像识别技术。这就像人类研究生物细胞,完全靠肉眼观察细胞是不现实的,这样自然就产生了显微镜等用于精确观测的仪器。通常一个领域有固有技术无法解决的需求时,就会产生相应的新技术。图像识别技术也是如此,此技术的产生就是为了让计算机代替人类去处理大量的物理信息,解决人类无法识别或者识别率特别低的信息。

    1.1图像识别技术原理

    其实,图像识别技术背后的原理并不是很难,只是其要处理的信息比较繁琐。计算机的任何处理技术都不是凭空产生的,它都是学者们从生活实践中得到启发而利用程序将其模拟实现的。计算机的图像识别技术和人类的图像识别在原理上并没有本质的区别,只是机器缺少人类在感觉与视觉差上的影响罢了。人类的图像识别也不单单是凭借整个图像存储在脑海中的记忆来识别的,我们识别图像都是依靠图像所具有的本身特征而先将这些图像分了类,然后通过各个类别所具有的特征将图像识别出来的,只是很多时候我们没有意识到这一点。当看到一张图片时,我们的大脑会迅速感应到是否见过此图片或与其相似的图片。其实在“看到”与“感应到”的中间经历了一个迅速识别过程,这个识别的过程和搜索有些类似。在这个过程中,我们的大脑会根据存储记忆中已经分好的类别进行识别,查看是否有与该图像具有相同或类似特征的存储记忆,从而识别出是否见过该图像。机器的图像识别技术也是如此,通过分类并提取重要特征而排除多余的信息来识别图像。机器所提取出的这些特征有时会非常明显,有时又是很普通,这在很大的程度上影响了机器识别的速率。总之,在计算机的视觉识别中,图像的内容通常是用图像特征进行描述。

    1.2模式识别

    模式识别是人工智能和信息科学的重要组成部分。模式识别是指对表示事物或现象的不同形式的信息做分析和处理从而得到一个对事物或现象做出描述、辨认和分类等的过程。

    计算机的图像识别技术就是模拟人类的图像识别过程。在图像识别的过程中进行模式识别是必不可少的。模式识别原本是人类的一项基本智能。但随着计算机的发展和人工智能的兴起,人类本身的模式识别已经满足不了生活的需要,于是人类就希望用计算机来代替或扩展人类的部分脑力劳动。这样计算机的模式识别就产生了。简单地说,模式识别就是对数据进行分类,它是一门与数学紧密结合的科学,其中所用的思想大部分是概率与统计。模式识别主要分为三种:统计模式识别、句法模式识别、模糊模式识别。

    2图像识别技术的过程

    既然计算机的图像识别技术与人类的图像识别原理相同,那它们的过程也是大同小异的。图像识别技术的过程分以下几步:信息的获取、预处理、特征抽取和选择、分类器设计和分类决策。

    信息的获取是指通过传感器,将光或声音等信息转化为电信息。也就是获取研究对象的基本信息并通过某种方法将其转变为机器能够认识的信息。

    预处理主要是指图像处理中的去噪、平滑、变换等的操作,从而加强图像的重要特征。

    特征抽取和选择是指在模式识别中,需要进行特征的抽取和选择。简单的理解就是我们所研究的图像是各式各样的,如果要利用某种方法将它们区分开,就要通过这些图像所具有的本身特征来识别,而获取这些特征的过程就是特征抽取。在特征抽取中所得到的特征也许对此次识别并不都是有用的,这个时候就要提取有用的特征,这就是特征的选择。特征抽取和选择在图像识别过程中是非常关键的技术之一,所以对这一步的理解是图像识别的重点。

    分类器设计是指通过训练而得到一种识别规则,通过此识别规则可以得到一种特征分类,使图像识别技术能够得到高识别率。分类决策是指在特征空间中对被识别对象进行分类,从而更好地识别所研究的对象具体属于哪一类。

    3图像识别技术的分析

    随着计算机技术的迅速发展和科技的不断进步,图像识别技术已经在众多领域中得到了应用。2015年2月15日新浪科技发布一条新闻:“微软最近公布了一篇关于图像识别的研究论文,在一项图像识别的基准测试中,电脑系统识别能力已经超越了人类。人类在归类数据库Image Net中的图像识别错误率为5.1%,而微软研究小组的这个深度学习系统可以达到4.94%的错误率。”从这则新闻中我们可以看出图像识别技术在图像识别方面已经有要超越人类的图像识别能力的趋势。这也说明未来图像识别技术有更大的研究意义与潜力。而且,计算机在很多方面确实具有人类所无法超越的优势,也正是因为这样,图像识别技术才能为人类社会带来更多的应用。

    3.1神经网络的图像识别技术

    神经网络图像识别技术是一种比较新型的图像识别技术,是在传统的图像识别方法和基础上融合神经网络算法的一种图像识别方法。这里的神经网络是指人工神经网络,也就是说这种神经网络并不是动物本身所具有的真正的神经网络,而是人类模仿动物神经网络后人工生成的。在神经网络图像识别技术中,遗传算法与BP网络相融合的神经网络图像识别模型是非常经典的,在很多领域都有它的应用。在图像识别系统中利用神经网络系统,一般会先提取图像的特征,再利用图像所具有的特征映射到神经网络进行图像识别分类。以汽车拍照自动识别技术为例,当汽车通过的时候,汽车自身具有的检测设备会有所感应。此时检测设备就会启用图像采集装置来获取汽车正反面的图像。获取了图像后必须将图像上传到计算机进行保存以便识别。最后车牌定位模块就会提取车牌信息,对车牌上的字符进行识别并显示最终的结果。在对车牌上的字符进行识别的过程中就用到了基于模板匹配算法和基于人工神经网络算法。
      3.2非线性降维的图像识别技术

    计算机的图像识别技术是一个异常高维的识别技术。不管图像本身的分辨率如何,其产生的数据经常是多维性的,这给计算机的识别带来了非常大的困难。想让计算机具有高效地识别能力,最直接有效的方法就是降维。降维分为线性降维和非线性降维。例如主成分分析(PCA)和线性奇异分析(LDA)等就是常见的线性降维方法,它们的特点是简单、易于理解。但是通过线性降维处理的是整体的数据集合,所求的是整个数据集合的最优低维投影。经过验证,这种线性的降维策略计算复杂度高而且占用相对较多的时间和空间,因此就产生了基于非线性降维的图像识别技术,它是一种极其有效的非线性特征提取方法。此技术可以发现图像的非线性结构而且可以在不破坏其本征结构的基础上对其进行降维,使计算机的图像识别在尽量低的维度上进行,这样就提高了识别速率。例如人脸图像识别系统所需的维数通常很高,其复杂度之高对计算机来说无疑是巨大的“灾难”。由于在高维度空间中人脸图像的不均匀分布,使得人类可以通过非线性降维技术来得到分布紧凑的人脸图像,从而提高人脸识别技术的高效性。

    3.3图像识别技术的应用及前景

    计算机的图像识别技术在公共安全、生物、工业、农业、交通、医疗等很多领域都有应用。例如交通方面的车牌识别系统;公共安全方面的人脸识别技术、指纹识别技术;农业方面的种子识别技术、食品品质检测技术;医学方面的心电图识别技术等。随着计算机技术的不断发展,图像识别技术也在不断地优化,其算法也在不断地改进。图像是人类获取和交换信息的主要来源,因此与图像相关的图像识别技术必定也是未来的研究重点。以后计算机的图像识别技术很有可能在更多的领域崭露头角,它的应用前景也是不可限量的,人类的生活也将更加离不开图像识别技术。

    图像识别技术虽然是刚兴起的技术,但其应用已是相当广泛。并且,图像识别技术也在不断地成长,随着科技的不断进步,人类对图像识别技术的认识也会更加深刻。未来图像识别技术将会更加强大,更加智能地出现在我们的生活中,为人类社会的更多领域带来重大的应用。在21世纪这个信息化的时代,我们无法想象离开了图像识别技术以后我们的生活会变成什么样。图像识别技术是人类现在以及未来生活必不可少的一项技术。
      人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:
      AI可以识别图像,但它能理解标题吗?
    http://www.duozhishidai.com/article-10635-1.html
      图像识别经历了哪几个阶段,主要应用在哪些领域?
    http://www.duozhishidai.com/article-6461-1.html
      图像识别技术是什么,应用于智能家居哪些领域
    http://www.duozhishidai.com/article-133-1.html


    多智时代-人工智能大数据学习入门网站|人工智能、大数据、物联网云计算的学习交流网站

    多智时代-人工智能大数据学习入门网站|人工智能、大数据、云计算、物联网的学习服务的好平台
    展开全文
  • 深度学习(1): 深度学习简介

    万次阅读 多人点赞 2019-08-09 11:10:29
    而深度学习的出现就 如寒武纪生命大爆发一样,前几年我们或许听到更多的是大数据处理、数据挖掘, 而如今在科技创新的生态中,几乎每个人都在谈论深度学习、人工智能。下面简单 来介绍关于深度学习的应用。 (1) ...

    在这里插入图片描述

    注:转载请标明原文出处链接:https://xiongyiming.blog.csdn.net/article/details/98944012


    1 什么是深度学习?

    深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI, Artificial Intelligence)。
    深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。 深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
    深度学习在搜索技术,数据挖掘,机器学习,机器翻译,自然语言处理,多媒体学习,语音,推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。
    (以上均来自百度百科)

    下面了解一下人工智能、机器学习和深度学习之间的关系。下图是三者之间的关系,可以看出三者之间是包含和被包含的关系。

    在这里插入图片描述



    2 深度学习应用

    2.1 机器学习的一般方法

    机器学习按照方法主要可以分为两大类:监督学习和无监督学习。其中监督学习主要由分类和回归等问题组成,无监督学习主要由聚类和关联分析等问题组成。深度学习则属于监督学习当中的一种。下图为监督学习的一般方法。
    在这里插入图片描述

    2.2 深度学习的一般方法

    随着深度学习的爆发,最新的深度学习算法已经远远超越了传统的机器学 习算法对于数据的预测和分类精度。深度学习不需要我们自己去提取特征,而是自 动地对数据进行筛选,自动地提取数据高维特征。下图为深度学习的一般方法,与传统机器学习中的监督学习一般方法(如上图)相比,少了特征工程,节约了工程师们大量工作时间。

    在这里插入图片描述
    神经网络应用的突破领域之一是控制论,神经网络有着一套完美的反馈机制,给控制论增添了不少色彩。而深度学习的出现就 如寒武纪生命大爆发一样,前几年我们或许听到更多的是大数据处理、数据挖掘, 而如今在科技创新的生态中,几乎每个人都在谈论深度学习、人工智能。下面简单 来介绍关于深度学习的应用。

    (1) 图像处理

    在这里插入图片描述

    (2) 自动驾驶

    在这里插入图片描述

    (3) 机器人
    波士顿动力机器人

    在这里插入图片描述


    在这里插入图片描述


    (4) 医疗健康诊断

    在这里插入图片描述


    在这里插入图片描述
    深度学习技术己经开始渗透到每一个领域当中,使得机器学习能够实现更多的应用场景,并且极大地拓展了人工智能的领域范畴。从无人驾驶汽车、无人驾驶飞机,到生物医学的预防性诊断、病理预测,甚至是更加贴近年轻一代的电影推荐、购物指南,几乎所有领域都可以使用深度学习。



    3 GPU的迅速发展

    GPU (Graphics Processing Unit, 图形处理器) 作为硬件加速器之一,通过大量图形处理单元与 CPU 协同工作,对深度学习、数据分析,以及大量计算的工程应用进行加速 。 从 2007 年 NVIDIA 公司发布了第一个支持 CUDA 的 GPU 后, GPU 的应用范围不断拓展,从政府实验室、大学、企业的大型数据中心,到现今非常火热的人工智能汽车、无人驾驶飞机和机器人等嵌入式平台, GPU 都发挥着巨大的作用。
    CUDA (Compute Unified Device Architecture, 统一计算设备架构)。随着显卡的发展, GPU 越来越强大, GPU 开始主要为显示图像做优化,在计算上已经超越了通用的 CPU 。 如此强大的芯片如果只是作为显卡就太浪费了,因此 NVIDIA 推出 CUDA 这一通用并行计算架构,该架构使 GPU 能够解决复杂的计算问题 。

    3.1 GPU与显卡的区别

    GPU只是显卡上的一个核心处理芯片,是显卡的心脏,不能单独作为外接扩展卡使用,GPU因并行计算任务较重,所以功耗较大,只能焊接在显卡的电路板上使用。显卡上都有GPU,它是区分显性能的最主要元件,显卡也叫显示适配器,分为独立显卡和主板上集成显卡,独立显卡主要由GPU、显存和接口电路构成,集成显卡没有独立显存而是使用主板上的内存。
    GPU是图形处理器,一般GPU就是焊接在显卡上的,大部分情况下,我们所说GPU就等于指显卡,但是实际情况是GPU是显示卡的“心脏”,是显卡的一个核心零部件,核心组成部分。它们是“寄生与被寄生”关系。GPU本身并不能单独工作,只有配合上附属电路和接口,才能工作。这时候,它就变成了显卡
    参考链接: https://baijiahao.baidu.com/s?id=1607965696317204020&wfr=spider&for=pc

    3.2 GPU 与 CPU 区别

    比较 GPU 和 CPU ,就是比较它们两者如何处理任务。如下图图 1-9 所示, CPU 使用几个核心处理单元去优化串行顺序任务,而 GPU 的大规模并行架构拥有数以千计的更小、更高效的处理单元,用于处理多个并行小任务。
    CPU 拥有复杂的系统指令,能够进行复杂的任务操作和调度,两者是互补关系,而不能相互代替。
    在这里插入图片描述

    GPU 是大规模并行架构,处理并行任务毫无疑问是非常快的,深度学习需要高
    效的矩阵操作和大量的卷积操作, GPU 的并行架构再适合不过。简单来说,确实如此,但是为什么 GPU 进行矩阵操作和卷积操作会比 CPU 要快呢?真正原因是 GPU具有如下特性
    (1) 高带宽
    (2) 高速的缓存性能
    (3) 并行单元多

    在执行多任务时, CPU 需要等待带宽,而 GPU 能够优化带宽。举个简单的例子,我们可以把 CPU 看作跑车, GPU 是大卡车,如下图图 1-10 所示任务就是要把一堆货物从北京搬运到广州。 CPU(跑车〉可以快速地把数据(货物〉从内存读入 RAM 中,然而 GPU (大卡车〉装货的速度就好慢了。不过后面才是重点, CPU (跑车)把这堆数据(货物)从北京搬运到广州|需要来回操作很多次,也就是往返京广线很多次,而 GPU (大卡车)只需要一 次就可以完成搬运(一次可以装载大量数据进入内存)。换言之, CPU 擅长操作小的内存块,而 GPU 则擅长操作大的内存块 。 CPU 集群大概可以达到 50GB/s 的带宽总量,而等量的 GPU 集群可以达到 750GB/s 的带宽量。

    在这里插入图片描述

    如果让一辆大卡车去装载很多堆货物,就要等待很长的时间了,因为要等待大卡车从北京运到广州,然后再回来装货物。设想一下,我们现在拥有了跑车车队和卡车车队(线程并行〉,运载一堆货物(非常大块的内存数据需要读入缓存,如大型矩阵)。我们会等待第一辆卡车,但是后面就不需要等待的时间了,因为在广州会有一队伍的大卡车正在排队输送货物(数据),这时处理器就可以直接从缓存中读取数据了。在线性并行的情况下, GPU 可以提供高带宽,从而隐藏延迟时间。这也就是GPU 比 CPU 更适合处理深度学习的原因。


    3.3 GPU种类

    特别是最近几年,随着 GPU处理能力的飞速进步 ,在 2012 年需要 l 个月才能完成的深度学习训练,在 2015 年只需几天即可完成 。 在这样的背景下,深度学习的发展恰逢其时,将会引发进一步的革新和发展。

    对于深度学习的加速器 GPU,现在市面上主要的品牌有 AMD 、 NVIDIA 、Intel 的 Xeon Phi,如下图所示。
    在这里插入图片描述
    NVIDIA公司的GUP使用最为广泛,NVIDIA 的计算加速标准库 cuDNN 使得工程师在 CUDA 平台中构建深度学习变得非常容易,而且在同 一张显卡的前提下比没有使用 cnDNN 的速度提升 5 倍之多。有良好的生态。下图是NVIDIA公司的三种类型的GPU。
    在这里插入图片描述
    其中,
    (1) GeForce 系列面向大众,常见的有:GeForce GTX 1080, GeForce GTX 1080 Ti, GeForce GTX 2080 Ti
    (2) Tesla 系列面向科学计算
    (3) Tegra 系列面向嵌入式的 GPU 主板



    参考资料

    [1] 图解深度学习
    [2] 深度学习原理与实践
    [3] TensorFlow实战Google深度学习框架(第2版)

    展开全文
  • 图像分割综述

    万次阅读 多人点赞 2019-07-09 22:03:48
    其基本思想是,模拟由一些基因串控制的生物群体的进化过程,把该过程的原理应用到搜索算法中,以提高寻优的速度和质量。此算法的搜索过程不直接作用在变量上,而是在参数集进行了编码的个体,这使得遗传算法可直接对...

    本文作者净浩泽,公众号:计算机视觉life,编辑成员

    图像分割是计算机视觉研究中的一个经典难题,已经成为图像理解领域关注的一个热点,图像分割是图像分析的第一步,是计算机视觉的基础,是图像理解的重要组成部分,同时也是图像处理中最困难的问题之一。所谓图像分割是指根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内表现出一致性或相似性,而在不同区域间表现出明显的不同。简单的说就是在一副图像中,把目标从背景中分离出来。对于灰度图像来说,区域内部的像素一般具有灰度相似性,而在区域的边界上一般具有灰度不连续性。 关于图像分割技术,由于问题本身的重要性和困难性,从20世纪70年代起图像分割问题就吸引了很多研究人员为之付出了巨大的努力。虽然到目前为止,还不存在一个通用的完美的图像分割的方法,但是对于图像分割的一般性规律则基本上已经达成的共识,已经产生了相当多的研究成果和方法。

    本文对于目前正在使用的各种图像分割方法进行了一定的归纳总结,由于笔者对于图像分割的了解也是初窥门径,所以难免会有一些错误,还望各位读者多多指正,共同学习进步。

    传统分割方法

    这一大部分我们将要介绍的是深度学习大火之前人们利用数字图像处理、拓扑学、数学等方面的只是来进行图像分割的方法。当然现在随着算力的增加以及深度学习的不断发展,一些传统的分割方法在效果上已经不能与基于深度学习的分割方法相比较了,但是有些天才的思想还是非常值得我们去学习的。
    1.基于阈值的分割方法
    阈值法的基本思想是基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值作比较,最后将像素根据比较结果分到合适的类别中。因此,该方法最为关键的一步就是按照某个准则函数来求解最佳灰度阈值。
    阈值法特别适用于目标和背景占据不同灰度级范围的图。
    图像若只有目标和背景两大类,那么只需要选取一个阈值进行分割,此方法成为单阈值分割;但是如果图像中有多个目标需要提取,单一阈值的分割就会出现作物,在这种情况下就需要选取多个阈值将每个目标分隔开,这种分割方法相应的成为多阈值分割。

    如图所示即为对数字的一种阈值分割方法。
    阀值分割方法的优缺点:

    • 计算简单,效率较高;
    • 只考虑像素点灰度值本身的特征,一般不考虑空间特征,因此对噪声比较敏感,鲁棒性不高。
      从前面的介绍里我们可以看出,阈值分割方法的最关键就在于阈值的选择。若将智能遗传算法应用在阀值筛选上,选取能最优分割图像的阀值,这可能是基于阀值分割的图像分割法的发展趋势。
      2.基于区域的图像分割方法
      基于区域的分割方法是以直接寻找区域为基础的分割技术,基于区域提取方法有两种基本形式:一种是区域生长,从单个像素出发,逐步合并以形成所需要的分割区域;另一种是从全局出发,逐步切割至所需的分割区域。
      区域生长
      区域生长是从一组代表不同生长区域的种子像素开始,接下来将种子像素邻域里符合条件的像素合并到种子像素所代表的生长区域中,并将新添加的像素作为新的种子像素继续合并过程,知道找不到符合条件的新像素为止(小编研一第一学期的机器学习期末考试就是手写该算法 T.T),该方法的关键是选择合适的初始种子像素以及合理的生长准则。
      区域生长算法需要解决的三个问题:
      (1)选择或确定一组能正确代表所需区域的种子像素;
      (2)确定在生长过程中能将相邻像素包括进来的准则;
      (3)指定让生长过程停止的条件或规则。
      区域分裂合并
      区域生长是从某个或者某些像素点出发,最终得到整个区域,进而实现目标的提取。而分裂合并可以说是区域生长的逆过程,从整幅图像出发,不断的分裂得到各个子区域,然后再把前景区域合并,得到需要分割的前景目标,进而实现目标的提取。其实如果理解了上面的区域生长算法这个区域分裂合并算法就比较好理解啦。
      四叉树分解法就是一种典型的区域分裂合并法,基本算法如下:
      (1)对于任一区域,如果H(Ri)=FALSE就将其分裂成不重叠的四等分;
      (2)对相邻的两个区域Ri和Rj,它们也可以大小不同(即不在同一层),如果条件H(RiURj)=TURE满足,就将它们合并起来;
      (3)如果进一步的分裂或合并都不可能,则结束。
      其中R代表整个正方形图像区域,P代表逻辑词。
      区域分裂合并算法优缺点:
      (1)对复杂图像分割效果好;
      (2)算法复杂,计算量大;
      (3)分裂有可能破怪区域的边界。
      在实际应用当中通常将区域生长算法和区域分裂合并算法结合使用,该类算法对某些复杂物体定义的复杂场景的分割或者对某些自然景物的分割等类似先验知识不足的图像分割效果较为理想。
      分水岭算法
      分水岭算法是一个非常好理解的算法,它根据分水岭的构成来考虑图像的分割,现实中我们可以想象成有山和湖的景象,那么一定是如下图的,水绕山山围水的景象。
      分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。分水岭的概念和形成可以通过模拟浸入过程来说明。在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成分水岭。
      分水岭对微弱边缘具有良好的响应,图像中的噪声、物体表面细微的灰度变化都有可能产生过度分割的现象,但是这也同时能够保证得到封闭连续边缘。同时,分水岭算法得到的封闭的集水盆也为分析图像的区域特征提供了可能。

    3.基于边缘检测的分割方法

    基于边缘检测的图像分割算法试图通过检测包含不同区域的边缘来解决分割问题。它可以说是人们最先想到也是研究最多的方法之一。通常不同区域的边界上像素的灰度值变化比较剧烈,如果将图片从空间域通过傅里叶变换到频率域,边缘就对应着高频部分,这是一种非常简单的边缘检测算法。
    边缘检测技术通常可以按照处理的技术分为串行边缘检测和并行边缘检测。串行边缘检测是要想确定当前像素点是否属于检测边缘上的一点,取决于先前像素的验证结果。并行边缘检测是一个像素点是否属于检测边缘高尚的一点取决于当前正在检测的像素点以及与该像素点的一些临近像素点。
    最简单的边缘检测方法是并行微分算子法,它利用相邻区域的像素值不连续的性质,采用一阶或者二阶导数来检测边缘点。近年来还提出了基于曲面拟合的方法、基于边界曲线拟合的方法、基于反应-扩散方程的方法、串行边界查找、基于变形模型的方法。

    边缘检测的优缺点:
    (1)边缘定位准确;
    (2)速度快;
    (3)不能保证边缘的连续性和封闭性;
    (4)在高细节区域存在大量的碎边缘,难以形成一个大区域,但是又不宜将高细节区域分成小碎片;
    由于上述的(3)(4)两个难点,边缘检测只能产生边缘点,而非完整意义上的图像分割过程。这也就是说,在边缘点信息获取到之后还需要后续的处理或者其他相关算法相结合才能完成分割任务。
    在以后的研究当中,用于提取初始边缘点的自适应阈值选取、用于图像的层次分割的更大区域的选取以及如何确认重要边缘以去除假边缘将变得非常重要。

    结合特定工具的图像分割算法

    基于小波分析和小波变换的图像分割方法

    小波变换是近年来得到的广泛应用的数学工具,也是现在数字图像处理必学部分,它在时间域和频率域上都有量高的局部化性质,能将时域和频域统一于一体来研究信号。而且小波变换具有多尺度特性,能够在不同尺度上对信号进行分析,因此在图像分割方面的得到了应用,
    二进小波变换具有检测二元函数的局部突变能力,因此可作为图像边缘检测工具。图像的边缘出现在图像局部灰度不连续处,对应于二进小波变换的模极大值点。通过检测小波变换模极大值点可以确定图像的边缘小波变换位于各个尺度上,而每个尺度上的小波变换都能提供一定的边缘信息,因此可进行多尺度边缘检测来得到比较理想的图像边缘。

    上图左图是传统的阈值分割方法,右边的图像就是利用小波变换的图像分割。可以看出右图分割得到的边缘更加准确和清晰
    另外,将小波和其他方法结合起来处理图像分割的问题也得到了广泛研究,比如一种局部自适应阈值法就是将Hilbert图像扫描和小波相结合,从而获得了连续光滑的阈值曲线。

    基于遗传算法的图像分割

    ​ 遗传算法(Genetic Algorithms,简称GA)是1973年由美国教授Holland提出的,是一种借鉴生物界自然选择和自然遗传机制的随机化搜索算法。是仿生学在数学领域的应用。其基本思想是,模拟由一些基因串控制的生物群体的进化过程,把该过程的原理应用到搜索算法中,以提高寻优的速度和质量。此算法的搜索过程不直接作用在变量上,而是在参数集进行了编码的个体,这使得遗传算法可直接对结构对象(图像)进行操作。整个搜索过程是从一组解迭代到另一组解,采用同时处理群体中多个个体的方法,降低了陷入局部最优解的可能性,并易于并行化。搜索过程采用概率的变迁规则来指导搜索方向,而不采用确定性搜索规则,而且对搜索空间没有任何特殊要求(如连通性、凸性等),只利用适应性信息,不需要导数等其他辅助信息,适应范围广。
    ​ 遗传算法擅长于全局搜索,但局部搜索能力不足,所以常把遗传算法和其他算法结合起来应用。将遗传算法运用到图像处理主要是考虑到遗传算法具有与问题领域无关且快速随机的搜索能力。其搜索从群体出发,具有潜在的并行性,可以进行多个个体的同时比较,能有效的加快图像处理的速度。但是遗传算法也有其缺点:搜索所使用的评价函数的设计、初始种群的选择有一定的依赖性等。要是能够结合一些启发算法进行改进且遗传算法的并行机制的潜力得到充分的利用,这是当前遗传算法在图像处理中的一个研究热点。

    基于主动轮廓模型的分割方法

    ​ 主动轮廓模型(active contours)是图像分割的一种重要方法,具有统一的开放式的描述形式,为图像分割技术的研究和创新提供了理想的框架。在实现主动轮廓模型时,可以灵活的选择约束力、初始轮廓和作用域等,以得到更佳的分割效果,所以主动轮廓模型方法受到越来越多的关注。
    ​ 该方法是在给定图像中利用曲线演化来检测目标的一类方法,基于此可以得到精确的边缘信息。其基本思想是,先定义初始曲线C,然后根据图像数据得到能量函数,通过最小化能量函数来引发曲线变化,使其向目标边缘逐渐逼近,最终找到目标边缘。这种动态逼近方法所求得的边缘曲线具有封闭、光滑等优点。

    ​ 传统的主动轮廓模型大致分为参数主动轮廓模型和几何主动轮廓模型。参数主动轮廓模型将曲线或曲面的形变以参数化形式表达,Kass等人提出了经典的参数活动轮廓模型即“Snake”模型,其中Snake定义为能量极小化的样条曲线,它在来自曲线自身的内力和来自图像数据的外力的共同作用下移动到感兴趣的边缘,内力用于约束曲线形状,而外力则引导曲线到特征此边缘。参数主动轮廓模型的特点是将初始曲线置于目标区域附近,无需人为设定曲线的的演化是收缩或膨胀,其优点是能够与模型直接进行交互,且模型表达紧凑,实现速度快;其缺点是难以处理模型拓扑结构的变化。比如曲线的合并或分裂等。而使用水平集(level set)的几何活动轮廓方法恰好解决了这一问题。

    基于深度学习的分割

    1.基于特征编码(feature encoder based)

    在特征提取领域中VGGnet和ResNet是两个非常有统治力的方法,接下来的一些篇幅会对这两个方法进行简短的介绍

    a.VGGNet

    ​ 由牛津大学计算机视觉组合和Google DeepMind公司研究员一起研发的深度卷积神经网络。它探索了卷积神经网络的深度和其性能之间的关系,通过反复的堆叠33的小型卷积核和22的最大池化层,成功的构建了16~19层深的卷积神经网络。VGGNet获得了ILSVRC 2014年比赛的亚军和定位项目的冠军,在top5上的错误率为7.5%。目前为止,VGGNet依然被用来提取图像的特征。

    ​ VGGNet的优缺点

    1. 由于参数量主要集中在最后的三个FC当中,所以网络加深并不会带来参数爆炸的问题;
    2. 多个小核卷积层的感受野等同于一个大核卷积层(三个3x3等同于一个7x7)但是参数量远少于大核卷积层而且非线性操作也多于后者,使得其学习能力较强
    3. VGG由于层数多而且最后的三个全连接层参数众多,导致其占用了更多的内存(140M)
    b.ResNet

    ​ 随着深度学习的应用,各种深度学习模型随之出现,虽然在每年都会出现性能更好的新模型,但是对于前人工作的提升却不是那么明显,其中有重要问题就是深度学习网络在堆叠到一定深度的时候会出现梯度消失的现象,导致误差升高效果变差,后向传播时无法将梯度反馈到前面的网络层,使得前方的网络层的参数难以更新,训练效果变差。这个时候ResNet恰好站出来,成为深度学习发展历程中一个重要的转折点。
    ​ ResNet是由微软研究院的Kaiming He等四名华人提出,他们通过自己提出的ResNet Unit成功训练出来152层的神经网络并在ILSVRC2015比赛中斩获冠军。ResNet语义分割领域最受欢迎且最广泛运用的神经网络.ResNet的核心思想就是在网络中引入恒等映射,允许原始输入信息直接传到后面的层中,在学习过程中可以只学习上一个网络输出的残差(F(x)),因此ResNet又叫做残差网络。、

    使用到ResNet的分割模型:

    • Efficient Neural Network(ENet):该网络类似于ResNet的bottleNeck方法;
    • ResNet-38:该网络在训练or测试阶段增加并移除了一些层,是一种浅层网络,它的结构是ResNet+FCN;
    • full-resolution residual network(FRRN):FRRN网络具有和ResNet相同优越的训练特性,它由残差流和池化流两个处理流组成;
    • AdapNey:根据ResNet-50的网络进行改进,让原本的ResNet网络能够在更短的时间内学习到更多高分辨率的特征;
      ……
      ResNet的优缺点:
      1)引入了全新的网络结构(残差学习模块),形成了新的网络结构,可以使网络尽可能地加深;
      2)使得前馈/反馈传播算法能够顺利进行,结构更加简单;
      3)恒等映射地增加基本上不会降低网络的性能;
      4)建设性地解决了网络训练的越深,误差升高,梯度消失越明显的问题;
      5)由于ResNet搭建的层数众多,所以需要的训练时间也比平常网络要长。

    2.基于区域选择(regional proposal based)

    Regional proposal 在计算机视觉领域是一个非常常用的算法,尤其是在目标检测领域。其核心思想就是检测颜色空间和相似矩阵,根据这些来检测待检测的区域。然后根据检测结果可以进行分类预测。
    在语义分割领域,基于区域选择的几个算法主要是由前人的有关于目标检测的工作渐渐延伸到语义分割的领域的,接下来小编将逐步介绍其个中关系。

    Stage Ⅰ: R-CNN

    伯克利大学的Girshick教授等人共同提出了首个在目标检测方向应用的深度学习模型:Region-based Convolutional Neural Network(R-CNN)。该网络模型如下图所示,其主要流程为:先使用selective search算法提取2000个候选框,然后通过卷积网络对候选框进行串行的特征提取,再根据提取的特征使用SVM对候选框进行分类预测,最后使用回归方法对区域框进行修正。

    R-CNN的优缺点:

    • 是首个开创性地将深度神经网络应用到目标检测的算法;
    • 使用Bounding Box Regression对目标检测的框进行调整;
    • 由于进行特征提取时是串行,处理耗时过长;
    • Selective search算法在提取每一个region时需要2s的时间,浪费大量时间
    Stage Ⅱ:Fast R-CNN

    ​ 由于R-CNN的效率太低,2015年由Ross等学者提出了它的改进版本:Fast R-CNN。其网络结构图如下图所示(从提取特征开始,略掉了region的选择)Fast R-CNN在传统的R-CNN模型上有所改进的地方是它是直接使用一个神经网络对整个图像进行特征提取,就省去了串行提取特征的时间;接着使用一个RoI Pooling Layer在全图的特征图上摘取每一个RoI对应的特征,再通过FC进行分类和包围框的修正。

    Fast R-CNN的优缺点

    • 节省了串行提取特征的时间;
    • 除了selective search以外的其它所有模块都可以合在一起训练;
    • 最耗时间的selective search算法依然存在。
    Stage Ⅲ:Faster R-CNN

    2016年提出的Faster R-CNN可以说有了突破性的进展(虽然还是目标检测哈哈哈),因为它改变了它的前辈们最耗时最致命的部位:selective search算法。它将selective search算法替换成为RPN,使用RPN网络进行region的选取,将2s的时间降低到10ms,其网络结构如下图所示:

    Faster R-CNN优缺点:

    • 使用RPN替换了耗时的selective search算法,对整个网络结构有了突破性的优化;
    • Faster R-CNN中使用的RPN和selective search比起来虽然速度更快,但是精度和selective search相比稍有不及,如果更注重速度而不是精度的话完全可以只使用RPN;
    Stage Ⅳ:Mask R-CNN

    Mask R-CNN(终于到分割了!)是何恺明大神团队提出的一个基于Faster R-CNN模型的一种新型的分割模型,此论文斩获ICCV 2017的最佳论文,在Mask R-CNN的工作中,它主要完成了三件事情:目标检测,目标分类,像素级分割。
    恺明大神是在Faster R-CNN的结构基础上加上了Mask预测分支,并且改良了ROI Pooling,提出了ROI Align。其网络结构真容就如下图所示啦:

    Mask R-CNN的优缺点:

    • 引入了预测用的Mask-Head,以像素到像素的方式来预测分割掩膜,并且效果很好;
    • 用ROI Align替代了ROI Pooling,去除了RoI Pooling的粗量化,使得提取的特征与输入良好对齐;
    • 分类框与预测掩膜共享评价函数,虽然大多数时间影响不大,但是有的时候会对分割结果有所干扰。
    Stage Ⅴ:Mask Scoring R-CNN

    最后要提出的是2019年CVPR的oral,来自华中科技大学的研究生黄钊金同学提出的
    MS R-CNN,这篇文章的提出主要是对上文所说的Mask R-CNN的一点点缺点进行了修正。他的网络结构也是在Mask R-CNN的网络基础上做了一点小小的改进,添加了Mask-IoU。
    黄同学在文章中提到:恺明大神的Mask R-CNN已经很好啦!但是有个小毛病,就是评价函数只对目标检测的候选框进行打分,而不是分割模板(就是上文提到的优缺点中最后一点),所以会出现分割模板效果很差但是打分很高的情况。所以黄同学增加了对模板进行打分的MaskIoU Head,并且最终的分割结果在COCO数据集上超越了恺明大神,下面就是MS R-CNN的网络结构啦~

    MS R-CNN的优缺点:

    • 优化了Mask R-CNN中的信息传播,提高了生成预测模板的质量;
    • 未经大批量训练的情况下,就拿下了COCO 2017挑战赛实例分割任务冠军;
    • 要说缺点的话。。应该就是整个网络有些庞大,一方面需要ResNet当作主干网络,另一方面需要其它各种Head共同承担各种任务。

    3.基于RNN的图像分割

    Recurrent neural networks(RNNs)除了在手写和语音识别上表现出色外,在解决计算机视觉的任务上也表现不俗,在本篇文章中我们就将要介绍RNN在2D图像处理上的一些应用,其中也包括介绍使用到它的结构或者思想的一些模型。
    RNN是由Long-Short-Term Memory(LSTM)块组成的网络,RNN来自序列数据的长期学习的能力以及随着序列保存记忆的能力使其在许多计算机视觉的任务中游刃有余,其中也包括语义分割以及数据标注的任务。接下来的部分我们将介绍几个使用到RNN结构的用于分割的网络结构模型:

    1.ReSeg模型

    ReSeg可能不被许多人所熟知,在百度上搜索出的相关说明与解析也不多,但是这是一个很有效的语义分割方法。众所周知,FCN可谓是图像分割领域的开山作,而RegNet的作者则在自己的文章中大胆的提出了FCN的不足:没有考虑到局部或者全局的上下文依赖关系,而在语义分割中这种依赖关系是非常有用的。所以在ReSeg中作者使用RNN去检索上下文信息,以此作为分割的一部分依据。

    该结构的核心就是Recurrent Layer,它由多个RNN组合在一起,捕获输入数据的局部和全局空间结构。
    优缺点:

    • 充分考虑了上下文信息关系;
    • 使用了中值频率平衡,它通过类的中位数(在训练集上计算)和每个类的频率之间的比值来重新加权类的预测。这就增加了低频率类的分数,这是一个更有噪声的分割掩码的代价,因为被低估的类的概率被高估了,并且可能导致在输出分割掩码中错误分类的像素增加。
    2.MDRNNs(Multi-Dimensional Recurrent Neural Networks)模型

    传统的RNN在一维序列学习问题上有着很好的表现,比如演讲(speech)和在线手写识别。但是 在多为问题中应用却并不到位。MDRNNs在一定程度上将RNN拓展到多维空间领域,使之在图像处理、视频处理等领域上也能有所表现。
    该论文的基本思想是:将单个递归连接替换为多个递归连接,相应可以在一定程度上解决时间随数据样本的增加呈指数增长的问题。以下就是该论文提出的两个前向反馈和反向反馈的算法。

    4.基于上采样/反卷积的分割方法

    卷积神经网络在进行采样的时候会丢失部分细节信息,这样的目的是得到更具特征的价值。但是这个过程是不可逆的,有的时候会导致后面进行操作的时候图像的分辨率太低,出现细节丢失等问题。因此我们通过上采样在一定程度上可以不全一些丢失的信息,从而得到更加准确的分割边界。
    接下来介绍几个非常著名的分割模型:

    a.FCN(Fully Convolutional Network)

    是的!讲来讲去终于讲到这位大佬了,FCN!在图像分割领域已然成为一个业界标杆,大多数的分割方法多多少少都会利用到FCN或者其中的一部分,比如前面我们讲过的Mask R-CNN。
    在FCN当中的反卷积-升采样结构中,图片会先进性上采样(扩大像素);再进行卷积——通过学习获得权值。FCN的网络结构如下图所示:

    当然最后我们还是需要分析一下FCN,不能无脑吹啦~
    优缺点:

    • FCN对图像进行了像素级的分类,从而解决了语义级别的图像分割问题;
    • FCN可以接受任意尺寸的输入图像,可以保留下原始输入图像中的空间信息;
    • 得到的结果由于上采样的原因比较模糊和平滑,对图像中的细节不敏感;
    • 对各个像素分别进行分类,没有充分考虑像素与像素的关系,缺乏空间一致性。
    2.SetNet

    SegNet是剑桥提出的旨在解决自动驾驶或者智能机器人的图像语义分割深度网络,SegNet基于FCN,与FCN的思路十分相似,只是其编码-解码器和FCN的稍有不同,其解码器中使用去池化对特征图进行上采样,并在分各种保持高频细节的完整性;而编码器不使用全连接层,因此是拥有较少参数的轻量级网络:

    图像分割是计算机视觉研究中的一个经典难题,已经成为图像理解领域关注的一个热点,图像分割是图像分析的第一步,是计算机视觉的基础,是图像理解的重要组成部分,同时也是图像处理中最困难的问题之一。所谓图像分割是指根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内表现出一致性或相似性,而在不同区域间表现出明显的不同。简单的说就是在一副图像中,把目标从背景中分离出来。对于灰度图像来说,区域内部的像素一般具有灰度相似性,而在区域的边界上一般具有灰度不连续性。 关于图像分割技术,由于问题本身的重要性和困难性,从20世纪70年代起图像分割问题就吸引了很多研究人员为之付出了巨大的努力。虽然到目前为止,还不存在一个通用的完美的图像分割的方法,但是对于图像分割的一般性规律则基本上已经达成的共识,已经产生了相当多的研究成果和方法。

    本文对于目前正在使用的各种图像分割方法进行了一定的归纳总结,由于笔者对于图像分割的了解也是初窥门径,所以难免会有一些错误,还望各位读者多多指正,共同学习进步。

    SetNet的优缺点:

    • 保存了高频部分的完整性;
    • 网络不笨重,参数少,较为轻便;
    • 对于分类的边界位置置信度较低;
    • 对于难以分辨的类别,例如人与自行车,两者如果有相互重叠,不确定性会增加。
      以上两种网络结构就是基于反卷积/上采样的分割方法,当然其中最最最重要的就是FCN了,哪怕是后面大名鼎鼎的SegNet也是基于FCN架构的,而且FCN可谓是语义分割领域中开创级别的网络结构,所以虽然这个部分虽然只有两个网络结构,但是这两位可都是重量级嘉宾,希望各位能够深刻理解~

    5.基于提高特征分辨率的分割方法

    在这一个模块中我们主要给大家介绍一下基于提升特征分辨率的图像分割的方法。换一种说法其实可以说是恢复在深度卷积神经网络中下降的分辨率,从而获取更多的上下文信息。这一系列我将给大家介绍的是Google提出的DeepLab 。
    DeepLab是结合了深度卷积神经网络和概率图模型的方法,应用在语义分割的任务上,目的是做逐像素分类,其先进性体现在DenseCRFs(概率图模型)和DCNN的结合。是将每个像素视为CRF节点,利用远程依赖关系并使用CRF推理直接优化DCNN的损失函数。
    在图像分割领域,FCN的一个众所周知的操作就是平滑以后再填充,就是先进行卷积再进行pooling,这样在降低图像尺寸的同时增大感受野,但是在先减小图片尺寸(卷积)再增大尺寸(上采样)的过程中一定有一些信息损失掉了,所以这里就有可以提高的空间。
    接下来我要介绍的是DeepLab网络的一大亮点:Dilated/Atrous Convolution,它使用的采样方式是带有空洞的采样。在VGG16中使用不同采样率的空洞卷积,可以明确控制网络的感受野。

    图a对应3x3的1-dilated conv,它和普通的卷积操作是相同的;图b对应3x3的2-dilated conv,事迹卷积核的尺寸还是3x3(红点),但是空洞为1,其感受野能够达到7x7;图c对应3x3的4-dilated conv,其感受野已经达到了15x15.写到这里相信大家已经明白,在使用空洞卷积的情况下,加大了感受野,使每个卷积输出都包含了较大范围的信息。
    这样就解决了DCNN的几个关于分辨率的问题:
    1)内部数据结构丢失;空间曾计划信息丢失;
    2)小物体信息无法重建;
    当然空洞卷积也存在一定的问题,它的问题主要体现在以下两方面:
    1)网格效应
    加入我们仅仅多次叠加dilation rate 2的 3x3 的卷积核则会出现以下问题

    我们发现卷积核并不连续,也就是说并不是所有的像素都用来计算了,这样会丧失信息的连续性;
    2)小物体信息处理不当
    我们从空洞卷积的设计背景来看可以推测出它是设计来获取long-ranged information。然而空洞步频选取得大获取只有利于大物体得分割,而对于小物体的分割可能并没有好处。所以如何处理好不同大小物体之间的关系也是设计好空洞卷积网络的关键。

    6.基于特征增强的分割方法

    基于特征增强的分割方法包括:提取多尺度特征或者从一系列嵌套的区域中提取特征。在图像分割的深度网络中,CNN经常应用在图像的小方块上,通常称为以每个像素为中心的固定大小的卷积核,通过观察其周围的小区域来标记每个像素的分类。在图像分割领域,能够覆盖到更大部分的上下文信息的深度网络通常在分割的结果上更加出色,当然这也伴随着更高的计算代价。多尺度特征提取的方法就由此引进。
    在这一模块中我先给大家介绍一个叫做SLIC,全称为simple linear iterative cluster的生成超像素的算法。
    首先我们要明确一个概念:啥是超像素?其实这个比较容易理解,就像上面说的“小方块”一样,我们平常处理图像的最小单位就是像素了,这就是像素级(pixel-level);而把像素级的图像划分成为区域级(district-level)的图像,把区域当成是最基本的处理单元,这就是超像素啦。
    算法大致思想是这样的,将图像从RGB颜色空间转换到CIE-Lab颜色空间,对应每个像素的(L,a,b)颜色值和(x,y)坐标组成一个5维向量V[l, a, b, x, y],两个像素的相似性即可由它们的向量距离来度量,距离越大,相似性越小。
    算法首先生成K个种子点,然后在每个种子点的周围空间里搜索距离该种子点最近的若干像素,将他们归为与该种子点一类,直到所有像素点都归类完毕。然后计算这K个超像素里所有像素点的平均向量值,重新得到K个聚类中心,然后再以这K个中心去搜索其周围与其最为相似的若干像素,所有像素都归类完后重新得到K个超像素,更新聚类中心,再次迭代,如此反复直到收敛。
    有点像聚类的K-Means算法,最终会得到K个超像素。
    Mostahabi等人提出的一种前向传播的分类方法叫做Zoom-Out就使用了SLIC的算法,它从多个不同的级别提取特征:局部级别:超像素本身;远距离级别:能够包好整个目标的区域;全局级别:整个场景。这样综合考虑多尺度的特征对于像素或者超像素的分类以及分割来说都是很有意义的。
    接下来的部分我将给大家介绍另一种完整的分割网络:PSPNet:Pyramid Scene Parsing Network
    论文提出在场景分割是,大多数的模型会使用FCN的架构,但是FCN在场景之间的关系和全局信息的处理能力存在问题,其典型问题有:1.上下文推断能力不强;2.标签之间的关系处理不好;3.模型可能会忽略小的东西。
    本文提出了一个具有层次全局优先级,包含不同子区域时间的不同尺度的信息,称之为金字塔池化模块。
    该模块融合了4种不同金字塔尺度的特征,第一行红色是最粗糙的特征–全局池化生成单个bin输出,后面三行是不同尺度的池化特征。为了保证全局特征的权重,如果金字塔共有N个级别,则在每个级别后使用1×1 1×11×1的卷积将对于级别通道降为原本的1/N。再通过双线性插值获得未池化前的大小,最终concat到一起。其结构如下图:

    最终结果就是,在融合不同尺度的feature后,达到了语义和细节的融合,模型的性能表现提升很大,作者在很多数据集上都做过训练,最终结果是在MS-COCO数据集上预训练过的效果最好。

    为了捕捉多尺度特征,高层特征包含了更多的语义和更少的位置信息。结合多分辨率图像和多尺度特征描述符的优点,在不丢失分辨率的情况下提取图像中的全局和局部信息,这样就能在一定程度上提升网络的性能。

    7.使用CRF/MRF的方法

    首先让我们熟悉熟悉到底啥是MRF的CRF的。
    MRF全称是Marcov Random Field,马尔可夫随机场,其实说起来笔者在刚读硕士的时候有一次就有同学在汇报中提到了隐马尔可夫、马尔可夫链啥的,当时还啥都不懂,小白一枚(现在是准小白hiahia),觉得马尔可夫这个名字贼帅,后来才慢慢了解什么马尔科夫链呀,马尔可夫随机场,并且在接触到图像分割了以后就对马尔科夫随机场有了更多的了解。
    MRF其实是一种基于统计的图像分割算法,马尔可夫模型是指一组事件的集合,在这个集合中,事件逐个发生,并且下一刻事件的发生只由当前发生的事件决定,而与再之前的状态没有关系。而马尔可夫随机场,就是具有马尔可夫模型特性的随机场,就是场中任何区域都只与其临近区域相关,与其他地方的区域无关,那么这些区域里元素(图像中可以是像素)的集合就是一个马尔可夫随机场。
    CRF的全称是Conditional Random Field,条件随机场其实是一种特殊的马尔可夫随机场,只不过是它是一种给定了一组输入随机变量X的条件下另一组输出随机变量Y的马尔可夫随机场,它的特点是埃及设输出随机变量构成马尔可夫随机场,可以看作是最大熵马尔可夫模型在标注问题上的推广。
    在图像分割领域,运用CRF比较出名的一个模型就是全连接条件随机场(DenseCRF),接下来我们将花费一些篇幅来简单介绍一下。
    CRF在运行中会有一个问题就是它只对相邻节点进行操作,这样会损失一些上下文信息,而全连接条件随机场是对所有节点进行操作,这样就能获取尽可能多的临近点信息,从而获得更加精准的分割结果。
    在Fully connected CRF中,吉布斯能量可以写作:

    我们重点关注二元部分:

    其中k(m)为高斯核,写作:

    该模型的一元势能包含了图像的形状,纹理,颜色和位置,二元势能使用了对比度敏感的的双核势能,CRF的二元势函数一般是描述像素点与像素点之间的关系,鼓励相似像素分配相同的标签,而相差较大的像素分配不同标签,而这个“距离”的定义与颜色值和实际相对距离有关,这样CRF能够使图像尽量在边界处分割。全连接CRF模型的不同就在于其二元势函数描述的是每一个像素与其他所有像素的关系,使用该模型在图像中的所有像素对上建立点对势能从而实现极大地细化和分割。
    在分割结果上我们可以看看如下的结果图:

    可以看到它在精细边缘的分割比平常的分割方法要出色得多,而且文章中使用了另一种优化算法,使得本来需要及其大量运算的全连接条件随机场也能在很短的时间里给出不错的分割结果。
    至于其优缺点,我觉得可以总结为以下几方面:

    • 在精细部位的分割非常优秀;
    • 充分考虑了像素点或者图片区域之间的上下文关系;
    • 在粗略的分割中可能会消耗不必要的算力;
    • 可以用来恢复细致的局部结构,但是相应的需要较高的代价。
      OK,那么本次的推送就到这里结束啦,本文的主要内容是对图像分割的算法进行一个简单的分类和介绍。综述对于各位想要深入研究的看官是非常非常重要的资源:大佬们经常看综述一方面可以了解算法的不足并在此基础上做出改进;萌新们可以通过阅读一篇好的综述入门某一个学科,比如今天的内容就是图像分割。
      谢谢各位朋友们的观看!

    推荐阅读

    如何从零开始系统化学习视觉SLAM?
    从零开始一起学习SLAM | 为什么要学SLAM?
    从零开始一起学习SLAM | 学习SLAM到底需要学什么?
    从零开始一起学习SLAM | SLAM有什么用?
    从零开始一起学习SLAM | C++新特性要不要学?
    从零开始一起学习SLAM | 为什么要用齐次坐标?
    从零开始一起学习SLAM | 三维空间刚体的旋转
    从零开始一起学习SLAM | 为啥需要李群与李代数?
    从零开始一起学习SLAM | 相机成像模型
    从零开始一起学习SLAM | 不推公式,如何真正理解对极约束?
    从零开始一起学习SLAM | 神奇的单应矩阵
    从零开始一起学习SLAM | 你好,点云
    从零开始一起学习SLAM | 给点云加个滤网
    从零开始一起学习SLAM | 点云平滑法线估计
    从零开始一起学习SLAM | 点云到网格的进化
    从零开始一起学习SLAM | 理解图优化,一步步带你看懂g2o代码
    从零开始一起学习SLAM | 掌握g2o顶点编程套路
    从零开始一起学习SLAM | 掌握g2o边的代码套路
    零基础小白,如何入门计算机视觉?
    SLAM领域牛人、牛实验室、牛研究成果梳理
    我用MATLAB撸了一个2D LiDAR SLAM
    可视化理解四元数,愿你不再掉头发
    最近一年语义SLAM有哪些代表性工作?
    视觉SLAM技术综述
    汇总 | VIO、激光SLAM相关论文分类集锦
    研究SLAM,对编程的要求有多高?
    2018年SLAM、三维视觉方向求职经验分享
    2018年SLAM、三维视觉方向求职经验分享
    深度学习遇到SLAM | 如何评价基于深度学习的DeepVO,VINet,VidLoc?
    视觉SLAM关键方法总结
    SLAM方向公众号、知乎、博客上有哪些大V可以关注?
    SLAM实验室
    SLAM方向国内有哪些优秀公司?
    SLAM面试常见问题
    SLAM相关领域数据集调研
    从零开始一起学习SALM-ICP原理及应用
    解放双手——相机与IMU外参的在线标定
    目标检测

    展开全文
  • 常见类型ADC原理探秘,选型必知

    千次阅读 2020-05-21 07:05:06
    关注、星标嵌入式客栈,干货及时送达[导读] 上文总结了主要常见的重要ADC的技术指标,本文来梳理两个方面的内容,常见的ADC类型及原理,以及可能容易掉进去的坑。谈谈我为什么整理这个文章吧...

    关注、星标嵌入式客栈,干货及时送达

    [导读] 上文总结了主要常见的重要ADC的技术指标,本文来梳理两个方面的内容,常见的ADC类型及原理,以及可能容易掉进去的坑。

    谈谈我为什么整理这个文章吧,工程师往往关注点更多在于功能,而忽略了性能。为什么会忽略性能呢?因为可能缺少对于原理的深入探究,那么使用时可能失之毫厘,谬以千里。性能往往不好,稳定性也可能不佳。帽子扣大点说是缺少匠心,其实这也是大学教育非常不足的地方。而我个人的观点是,即使是工程师也需要一点科学家的素养,希望小伙伴们都尽可能的将一些技术要点的本原深挖,不要浮于表面。这也是国内科技领域现今急需要去发展提升的地方,如果每个技术领域的我辈中人,都能深耕自己的领域,探求技术的本原,又何惧美帝如此猖狂嚣张!

    我期望我能业余做好一个小小的技术分享传播者,如果你读到本文,真心觉得有价值,也请传播给他人。当然我做这个公众号也期望有一天能稍稍改善我的生活,但是坦荡地说,所有文章的技术要点都属于无私分享。如果达成改善家人生活所愿,则我心欢喜,不成也无妨。做一个快乐的分享者吧!

    罗嗦了一通废话,但这是公众号,不管受众多少,传播技术的同时,也期望能传播一些技术观以共勉!

    ADC类型

    积分型ADC

    优点

    • 积分型ADC分辨率高,位数可做到12位甚至更高

    • 线性度非常好。本质上,输入端与一个集成的参考电压相比较来决定输出端,所以线性度将取决于比较器的精度。

    • 电路实现拓扑简单,用于实现这些设备的元件相对较少,因此电路相对简单且生产成本较低。

    缺点:

    • 主要缺点是转换速度慢。N位ADC,输出可能需要长达2个N的时钟周期来转换单个采样点

    • 转换原理都是基于对电压积分并将积分后电压与另一电压比较以控制计数,计数输出即为ADC输出。积分对象要么是基于参考电压,要么是基于参考电压和输入电压。

    • 主要用于传感器应用和诸如电压表和电流表等设备,在这些设备中,精度比速度更重要。换句话说积分型ADC采样速度比较低,但精度非常高

    • 积分型ADC有不同的种类,常见的有单、双斜率积分等。增加一个“斜率”,以牺牲转换时间为代价而增加精度。

    单斜率积分ADC

     

    比较器将输入电压与集成基准电压的值进行比较(请注意,由于已连接至运算放大器的反相输入,因此我们将设为负)。同时计算时钟周期数。当积分器输出等于时,比较器输出逻辑“ 0”,触发计数器和积分器复位,锁存器保持数字输出。

    这就是转换时间,知道为啥说这种积分型ADC慢了吧。来看下最差的情况吧,假设输入电压,假定,假定是20位ADC,那么!

    双斜率积分ADC

     

    双斜率ADC与单斜率ADC的不同之处在于,现在将与地进行比较,并集成了两个电压和。刚开始时,负输入连接到积分器,使斜升直到计数器溢出。由于在反相输入会切换到一个负值进行积分,因此积分器输出将始终为正且大于零,因此计数器将继续运行直到溢出为止,这需要2N个时钟周期(= T1)。

    在T2时刻,将等于与之和,且为0,也即:

     

     

    因此,即为ADC转换的原理,双斜率比单斜率ADC更慢,由于执行了两次积分, 与积分器斜率相关的误差将被抵消,从而从原理上提高了精度。

    Sigma-Delta Σ-∆ ADC

    从输入端开始,差动放大器产生的输出为Vin与1位DAC输出之间的差。1位DAC的输出可以是以下两个值之一:或。在此拓扑结构中,可将积分器视为取前一个值和当前输入值的移动平均值。

    因此,假设刚开始时比较器正向段固定在高于0V的很小一值,比较器反转。其值将为高或1。然后,DAC输出将为。在下迭代中,将从的当前值中减去该值。由于先前的值为0V,因此积分器输出现在将为– Vref。此时,比较器输出将为0,而DAC输出将为。

    在下一个采样中,由于前一个值为,积分器输出将为0,并且差动放大器实际上将减去,从而将加到  .比较器输出将为1。

    此过程继续迭代进行,因此,对于0V输入,比较器输出将为101010…的稳定流。记住逻辑1表示,逻辑0表示,那么如对N个样本进行采样并取平均值,则很容易看出平均值为0V。比较器之后的处理块将简单地将其输出为单个值0000…,假设参考值为( ~)或2 x。

    现在,假设为1V,这是一个5V ADC。为±2.5V。按照与之前相同的步骤进行迭代操作,输出将为:1011101…输出为1.07V。

    概括起来:

    Σ-∆ ADC 对所处理信号进行过采样(这个概念见模数采样知多少),并对待处理信号进行低通滤波。通常,在过滤器之后使用Flash ADC转换的比特数小于所需的比特数。所产生的信号连同由FLASH离散电平产生的误差,被反馈回并从输入中做差然后输入到滤波器。这个负反馈的可对噪声形成抑制作用,使它不出现在期望的信号频率。ADC之后的数字滤波器(利用抽取滤波器)可降低采样率,滤除不想要的噪声信号并提高输出分辨率(故称为sigma-delta调制,也称为delta-sigma调制)。

    Flash ADC也称直接比较型

    FLASH ADC的原理可能是最容易理解的。下图是一个两位ADC的示意图,由许多比较器组成,每个比较器都被提供了比上一个基准值高一个位值的基准电压。因此,对于一个8位ADC,需要256个这样的比较器。对于10位,则需要1024。

    FLASH ADC(直接比较型)速度很快。它直接转换输入,而不需要任何采样或繁重的后期处理。问题是,它需要很多比较器,而且很多比较器占用了芯片上的大量硅空间。因此,只有在需要其他ADC实现方法无法达到的极高速度时才使用Fash ADC。

    二分法在硬件中体现

    实际应用中,还有一个变种比较常用,半 FLASH ADC。它使用两步的过程来减少实际转换链中所需的转换器数量:

    • 首先,将输入信号与恰好位于半的电平集进行比较。如果它更低,那么最高有效的位MSB,被设置为0,输入被馈送到一个比较器链与参考电压设置为,以转换得到其余的位。

    • 如果输入信号高于,则将MSB设置为1,从输入信号中减去。比较器链再次用于获取剩余的位。所以,本质上,半步FLASH ADC,以牺牲一个额外的比较,来节省一半比较器。这种思路还可以继续推演扩展,比如4分 FLASH ADC等等。

    逐次逼近寄存器SAR

    逐次逼近寄存器(Successive Approximation Register):逐次逼近ADC使用比较器逐次缩小包含输入电压的范围。在每个连续的步骤中,转换器将输入电压与内部数字与模拟转换器的输出进行比较,后者可能表示所选电压范围的中点。在这个过程的每一步,近似都被存储在一个逐次逼近寄存器(SAR)中。例如,假设输入电压为6.3 V,初始范围为0到16v。对于第一步,输入6.3 V与8v (0-16V范围的中点)进行比较。比较器报告输入电压小于8v,因此SAR被更新为将范围缩小到0 - 8v。第二步,将输入电压与4v (0 - 8v的中点)进行比较,比较器报告输入电压高于4v,因此更新SAR以反映输入电压在4 - 8v范围内。第三步,输入电压与6v比较(4v与8v的一半);比较器报告输入电压大于6伏,搜索范围变为6 - 8伏。继续这些步骤,直到达到预期的解决方案为止。

    其拓扑结构如下,

     

    为了直观,看看前文的动图:

    Pipelined ADC

    流水线ADC(也称为子例程量化器)使用两个或多个流水线。首先,进行粗略的转换。第二步,用数模转换器(DAC)确定输入信号的差异。然后将这个差异转换为更细的值,并在最后一步中合并结果。这可以被认为是后续逼近ADC的一种改进,其中反馈参考信号由整个范围的比特(例如,4比特)的中间转换组成,而不仅仅是下一个最重要的比特。结合逐次逼近法和flash adc的优点,该类型具有速度快、分辨率高、模具尺寸小等优点。

    在这个原理图中,模拟输入VIN首先被采样并由采样保持器(S&H)保持稳定,而第一阶段的flash ADC将其量化为三位。然后将3位输出馈给3位DAC(精确到12位),然后从输入中减去模拟输出。这个“剩余量”扩大4倍并被送入下一阶段(第二阶段)。这个增加的剩余量继续通过下级流水线,每一阶段提供3位,直到它到达4位flash ADC,将解析最后的4LSB位。因为每个阶段的位是在不同的时间点确定的,所以相同样本对应的所有位在被馈送到数字错误校正逻辑之前都与移位寄存器进行了时间对齐。请注意,当一个流水完成对输入样本的处理,确定本流水采集位并将残差传递到下一个流水时,它便可以开始处理从每个流水中嵌入的采样保持器接收到的下一个样本。这种流水线操作是高吞吐量的原因,这也是流水的概念。

    总结一下

    熟悉各类ADC的意义,因为如前文所说,嵌入式设备免不了需要采集物理世界的模拟信号。信号各具特点,有的频率高,有的噪声多,有的需要精度高但速度可能不要很快等等。这里整理几种常见ADC(当然还有其他种类比如电荷平衡原理ADC、分时ADC、FM ADC、时间拉伸ADC、增量编码ADC、Wilkinson ADC等等)的原理及特点,了解各类ADC的基本特点,有助于进行器件选型、系统设计。

    如果觉得本文有价值,不妨右下点下在看,或者分享转发给需要的小伙伴们。

    另外,还计划写一篇单片机内置ADC避坑的文章,敬请关注。

    END

    往期精彩推荐,点击即可阅读

    ▲学Linux驱动:应先了解总线驱动模型

    模数采样知多少

    基于Buildroot的Linux构建之根文件系统

    手把手教系列之移动平均滤波器C实现

    手把手教系列之IIR数字滤波器设计实现

    长按关注

    加群交流

    展开全文
  • 平面上一个点的姿态可以只用一个旋转角表达,而空间中姿态的表达方式则有多种,常见的如欧拉角、四元数、旋转矩阵等,这里不展开论述[5]。总之,有了位置和姿态,我们就可以解决机器人的定位问题,以及坐标转换的问题...
  • 初探AR技术

    千次阅读 多人点赞 2019-10-06 15:36:58
    初探AR技术AR概述概念定义:技术手段:参考实例:AR解决方案AR SDKARKit简介扩展ARCore简介ARCore 的工作原理优缺点Vuforia简介优缺点Wikitude简介EasyAR简介优缺点Web AR总结本文参考 AR概述 概念定义:   增强...
  • 计算机组成原理——基础知识

    千次阅读 2020-01-16 21:06:54
    常见的高级语言有:Python, Java, C/C++, Golong等。 (7) 应用层 满足计算机针对某种用途而专门设计的,如Word, Excel, PPT等应用软件。 5 计算机的速度单位 5.1 容量单位 在物理层面,高低电平...
  • 4.数据库系统原理_csdn_sty945.pdf 1_笔试资料 Hibernate常见笔试题_csdn_sty945.pdf 银行笔试-计算机知识部分_csdn_sty945.pdf JAVA高频笔试题_csdn_sty945.pdf (2019.10.23 更新) 2_其他 解决北京户口企
  • 脉冲激光的原理是发射几万个的激光粒子,根据国际通用的多普勒原理,从这几万个激光粒子的反射情况来综合评价某个高度的风况,这个是一个立体的概念,因此才有探测长度的理论。从激光的特性来看,脉冲激光要比...
  • 华中科技大学计算机学院-p2p原理与技术, 对常见的p2p技术进行图解说明。
  • 摘要:本文详细介绍了计算机ATX开关电源的工作原理、电路组成以及一些常见故障的维修方法.重点分析了SB电压产生电路、KA7500B为核心的PWM信号产生电路和ATX电源完善的保护网络。  1 引言  PU是计算机的心脏,...
  • 总线判优控制可分集中式和分布式两种,常见的集中控制优先权仲裁方式有三种:链式查询方式、计数器定时查询、独立请求方式。以下为___B___总线判优方式的接线图: 得分/总分 A.独立请求方式 B.链式查询方式1.00/...
  • 比特币基本原理系列

    万次阅读 2019-05-13 18:41:17
    剖析工作量证明 工作量证明(Proof-of-Work,PoW)一开始发明的时候是用来防止垃圾邮件的。不一会之后,它就被用在电子现金系统中 [作者注1]。 表象之下,PoW 中的挖矿实际上在做的事情就是将动能(电力)转化为一...
  • 容斥原理及其应用

    千次阅读 2017-06-04 18:18:19
    组合数学概念 计数是组合数学中常见的一类问题。为了实现无重复无遗漏的计数,可以计先算出总数,再排除不符合条件的数目。 本文介绍了容斥原理的基本定理,并给出了证明,并对广义容斥原理进行了说明,最后用广义容...
  • 剪切波速测试仪器,测速原理及操作手册,以武汉建科科技公司生产的Wave2000作为试验仪器.原理,硬件,现场,软件以及常见疑难问题集锦.不可多得的现场和室内处理指导手册
  • 伺服驱动器工作原理图如下所示: 伺服驱动器的工作原理_伺服驱动器内部结构 驱动器的核心主控板,驱动器由继电器板传递控制信号和检测信号,完成上图的双闭环控制,包括转速调节和电流调节,实现执行电机的转速控制...
  • 计算机组成原理 — GPU 图形处理器

    万次阅读 多人点赞 2019-08-12 19:32:44
    文章目录目录显卡GPUCPU 与 GPU 的区别GPU 的架构CUDA 编程模式CUDA 的架构利用 CUDA 进行多并发编程的原理虚拟机显卡的实现方式虚拟显卡显卡直通物理显卡虚拟化KVM 虚拟机通过 PCI Pass-through 使用 NVIDIA 显卡 ...
  • 揭秘 AGV 物流机器人黑科技

    千次阅读 2018-11-21 13:07:04
    揭秘 AGV 物流机器人黑科技   https://mp.weixin.qq.com/s?__biz=MjM5OTI2MjgyMA==&mid=2651794273&idx=1&sn=e74495a58feece139a3bcb93d2484782&scene=21#wechat_redirect   ...
  • ADC的基本工作原理

    万次阅读 多人点赞 2020-08-03 17:06:47
    ADC的基本转换原理分为四个过程: ①抗混叠滤波(Anti-aliasing),可以理解为一个低通滤波器 ②采样保持电路(Sample and hold) ③量化(Quantizer) ④编码(Coder) 采样保持 所谓采样就是将一个时间上连续变化...
  • 常见解决思路是建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问。大型系统通常都是一个分布式部署的架构,不同的服务模块部署在不同的服务器上,问题出现时,大部分情况需要根据问题暴露的关键信息...
  • 宏晶STC单片机常见封装及PCB库
  • Camera CMOS Sensor成像原理

    千次阅读 2021-02-28 10:20:08
    看到这里,就有人要问了,大哥,我用相机,我还需要知道它的原理吗?我不知道怎么造汽车,这影响我单手开法拉利? 呃,你说的没错,确实没啥必要知道。但是我就是要写,因为我这周摸鱼就干了这个的总结。☺ ...
  • 分布式服务框架

    千次阅读 2016-01-29 10:42:11
    常见的分布式系统存储解决方案,包括MySQL 的分布式扩展、HBase 的API 及使用 场景、Redis 的使用等。  如何使用分布式消息系统 ActiveMQ 来降低系统之间的耦合度,以及进行应用间的通信。  垂直化的...
  • 图像识别的原理、过程、应用前景,精华篇!

    万次阅读 多人点赞 2018-09-28 07:53:49
    图像识别的原理、过程、应用前景,精华篇!   https://mp.weixin.qq.com/s/THE5B77C_AJa5y6sfOXpaA   图像识别技术是信息时代的一门重要的技术,其产生目的是为了让计算机代替人类去处理大量的物理信息。...
  • 摘 要:在信息化社会,企事业单位业务对...作为运维操作审计最佳解决方案的堡垒机通常会给人一种神秘莫测的感觉,为了让大家更清楚的了解堡垒机和运维操作审计,本文对堡垒机的概念及主要工作原理进行简要分析。
  • 一、事务的基本原理 Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行:(1)、获取连接:Connection ...
  • 简单记录-慕课网-编程必备基础 计算机组成原理+操作系统+计算机网络 编程必备基础知识-计算机组成原理-概述篇 回头补补计算机基础知识的理论 计算机基础知识-计算机组成原理、操作系统、计算机网络 目录 文章目录...
  • 我们在上篇文章已经对比了不同的存储系统之间的区别,本章开始逐步深入记录Ceph的学习和运用。 开源分布式存储系统的对比 Ceph简介 Ceph是一个分布式存储系统,提供对象,块和文件存储,是一个免费开源软件的存储...
  • 基于物品的协同过滤算法实现图书推荐系统

    万次阅读 多人点赞 2019-09-14 21:20:24
    2.3 关键算法 2.3.1 常见的推荐算法 2.3.2基于物品的协同过滤算法 第三章 系统设计 3.1 需求分析与建模 3.1.1 功能模块图 3.1.2 类图 3.1.3 用例图 3.2 可行性分析 3.3 系统数据库设计 第四章 详细设计 4.1 页面设计...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,813
精华内容 9,525
关键字:

常见的科技原理