精华内容
下载资源
问答
  • 图像语义分析

    2014-11-19 17:31:38
    自动的基于内容的图像检索语义分析
  • 第卷第期 年月 模式识别与人工智能 图像语义分析与理解综述 高 隽 谢 昭 张骏 吴克伟 合肥工业大学计算机与信息学院合肥 摘要语义分析是图像理解中高层认知的重点和难点存在图像文本之间的语义鸿沟和文本描述多义性...
  • 基于Latent Dirichlet Allocation的图像语义分析
  • 多示例学习(MIL) 作为第4 种机器学习框架, 已在图像语义分析中得到了广泛应用. 首先介绍MIL 的起 源、特点、相关概念和数据集; 然后以图像语义分析为应用背景, 对相关MIL 算法进行详细综述, 按照算法采用的学...
  • 语义分析是图像理解中高层认知的重点和难点,存在图像文本之间的语义鸿沟和文本描述多义性两大关键问题.以图像本体的语义化为核心,在归纳图像语义特征及上下文表示的基础上,全面阐述生成法、判别法和句法描述法3种...
  • 图像语义分析》学习笔记 (一)

    千次阅读 2019-07-16 17:01:54
    第一章 图像语义分析的基本概念 图像语义,就是图像内容的含义。图像语义可以通过语言来表达,包括自然语言和符号语言(数学语言)。但图像语义并不限于自然语言,其外延对应于人类视觉系统对于图像的所有理解方式。...

    第一章 图像语义分析的基本概念

    图像语义,就是图像内容的含义。图像语义可以通过语言来表达,包括自然语言和符号语言(数学语言)。但图像语义并不限于自然语言,其外延对应于人类视觉系统对于图像的所有理解方式。图像语义分析是对图像和图像语义之间的关系进行分析的过程,一般依据已知图像和相应的图像语义的数据库有进行研究,图像和图像语义都可以作为该过程的输入。图像语义分析是模拟人类的认知过程,分析图像中能被人类认知到的含义。图像语义分析的内容主要包括语义体系的构建、图像语义标注、场景分析与理解、图像语义推理等。

    图像语义分析的研究方法:

    主要分为两种,基于分类的方法(判别模型),基于概率的方法(生成模型)。

    判别模型常使用贝叶斯分类器或支持向量机分类器,判别模型还包括人工神经网络。误差反向传播算法(error back propagation, BP)是经典的神经网络训练算法,它的出现掀起了基于统计模型的机器学习的热潮。BP 算法不适于训练具有多隐层单元的深度网络结构,而且由于需要人工构造样本特征不仅需要使用者投入大量的人力物力,还要求使用者对实际问题具有良好的把握,所以该方法的应用面受到限制,其也被称为浅层学习模型。与浅层学习明显不同的深度学习是近年来机器学习研究中最受关注的一个热点,其动机在于模拟、建立人脑进行分析学习的深度神经网络,它模仿人脑的机制来解释图像、声音和文本等数据。它通过将低层的特征组合起来形成更高层的表示,从而发现数据的分布式特征表示。与人工规则构造特征的方法相比,利用大数据来学习特征,刻画数据所示丰富内在信息的能力更强。而且,深度学习可通过学习一种深层非线性网络结构,实现复杂函数逼近,展现出了强大的从少数样本集中学习数据集本质特征的能力。

    生成模型通过建立图像与标签之间的概率相关模型进行图像语义分析。一种具有普遍性的语义分类方法,可同时处理目标图像中的多个词汇分类。该方法中,用直方图偶表征图像,一半直方图描述适合图像内容的词汇计数,另一半直方图描述相对于适合图像内容的词汇计数的通用词汇计数。基于概率的图像标注算法,例如,概率潜在语义分析,是一种基于概率的潜在语义分析算法,其基本原理是通过奇异值分解,将文本投影到低维的潜在语义空间中,便可有效地缩小问题的规模。另外,基于相关模型的方法通过构建低层图像特征和图像语义之间的不同相关模型来进行图像语义分析,如跨媒体相关模型(cross-media relevance model, CMRM)、多伯努利相关模型、双跨媒体相关模型等。

    图像语义分析的应用

    图像语义分析是图像识别、图像标注和图像检索等技术的核心。图像识别技术用于工业机器视觉、光学字符识别、人脸识别和近年兴起的辅助环境感知等。图像标注和图像检索技术一般基于大规模的图像数据库,如基于内容的图像检索(content based image retrieval, CBIR)、基于语义的图像检索(semantics based image retrieval, SBIR)和视频检索等。 

    (1)目标识别和解释,应用图像语义分析技术,利用大规模的人脸数据库来提高识别的精度;

    (2)基于内容的图像和视频检索;

    (3)辅助环境感知,目前辅助环境感知是图像语义分析的前沿应用领域,如汽车的自动驾驶、电子导盲等。

     

     

     

    展开全文
  • 参考博文:图像语义分析学习(一):图像语义分割的概念与原理以及常用的方法
    展开全文
  • 图像语义分析--深度学习方法

    千次阅读 2019-05-03 15:08:42
    图像语义分析--深度学习方法
                   

    本文 转自:语义分析的一些方法(三),主要论述了基于深度学习方法的图像语义分析,包括图片分类、图片搜索、图片标注(image2text、image2sentence),以及训练深度神经网络的一些tricks,最后还简要地提及语义分析方法在腾讯广点通上的实际应用。

    文中没有复杂的公式、原理,但总结了图像语义分析一些state of the art的方法,值得一读。

                                                                                                                                                                    ——by  wepon



    3 图片语义分析

    3.1 图片分类

    图片分类是一个最基本的图片语义分析方法。

    基于深度学习的图片分类

    传统的图片分类如下图所示,首先需要先手工提取图片特征,譬如SIFT, GIST,再经由VQ coding和Spatial pooling,最后送入传统的分类模型(例如SVM等)。

    tranditional-imageclassify

    图23. 传统图片分类流程图

    传统方法里,人工特征提取是一个巨大的消耗性工作。而随着深度学习的进展,不再需要人工特征,通过深度学习自动提取特征成为一种可能。接下来主要讲述卷积神经网络在图片分类上的使用。

    下图是一个经典的卷积神经网络模型图,由Hinton和他的学生Alex Krizhevsky在ILSVRC(Imagenet Large Scale Visual Recognition Competition) 2012中提出。 整个网络结构包括五层卷积层和三层全连接层,网络的最前端是输入图片的原始像素点,最后端是图片的分类结果。一个完整的卷积层可能包括一层convolution,一层Rectified Linear Units,一层max-pooling,一层normalization。

    convolution7

    图24. 卷积神经网络结构图

    对于每一层网络,具体的网络参数配置如下图所示。InputLayer就是输入图片层,每个输入图片都将被缩放成227*227大小,分rgb三个颜色维度输入。Layer1~ Layer5是卷积层,以Layer1为例,卷积滤波器的大小是11*11,卷积步幅为4,本层共有96个卷积滤波器,本层的输出则是96个55*55大小的图片。在Layer1,卷积滤波后,还接有ReLUs操作和max-pooling操作。Layer6~ Layer8是全连接层,相当于在五层卷积层的基础上再加上一个三层的全连接神经网络分类器。以Layer6为例,本层的神经元个数为4096个。Layer8的神经元个数为1000个,相当于训练目标的1000个图片类别。

    convolution_config

    图25. CNN网络参数配置图

    基于Alex Krizhevsky提出的cnn模型,在13年末的时候,我们实现了用于广点通的图片分类和图片检索(可用于广告图片作弊判别),下面是一些示例图。

    图片分类示例:

    image_classify

    图26. 图片分类示例图

    图片检索示例:

    image_search2image_search1

    图27. 图片检索示例图

    图片分类上的最新进展

    在ILSVRC 2012中,Alex Krizhevsky基于GPU实现了上述介绍的,这个有60million参数的模型(简称为AlexNet),赢得了第一名。这个工作是开创性的,它引领了接下来ILSVRC的风潮。2013年,Clarifai通过cnn模型可视化技术调整网络架构,赢得了ILSVRC。2014年,google也加入进来,它通过增加模型的层数(总共22层),让深度更深[48],并且利用multi-scale data training,取得第一名。baidu最近通过更加“粗暴”的模型[44],在GooLeNet的基础上,又提升了10%,top–5错误率降低至6%以下。具体结果如下图所示。

    imagenet_result

    图28. ImageNet Classification Result

    先简单分析一下“GoogLeNet”[48,51]所采用的方法:

    • 大大增加的网络的深度,并且去掉了最顶层的全连接层:因为全连接层(Fully Connected)几乎占据了CNN大概90%的参数,但是同时又可能带来过拟合(overfitting)的效果。
    • 模型比以前AlexNet的模型大大缩小,并且减轻了过拟合带来的副作用。Alex模型参数是60M,GoogLeNet只有7M。
    • 对于google的模型,目前已有开源的实现,有兴趣请点击Caffe+GoogLeNet

    再分析一下“Deep Image by baidu[44]”所采用的方法:

    • Hardware/Software Co-design。baidu基于GPU,利用36个服务节点开发了一个专为深度学习运算的supercompter(名叫Minwa,敏娲)。这台supercomputer具备TB级的host memory,超强的数据交换能力,使能训练一个巨大的深层神经网络成为可能。而要训练如此巨大的神经网络,除了硬件强大外,还需要高效的并行计算框架。通常而言,都要从data-parallelism和model-data parallelism两方面考虑。
      • data-parallelism:训练数据被分成N份。每轮迭代里,各个GPU基于各自的训练数据计算梯度,最后累加所有梯度数据并广播到所有GPU。
      • model-data parallelism:考虑到卷积层参数较少但消耗计算量,而全连接层参数相对比较多。所以卷积层参数以local copy的形式被每个GPU所持有,而全连接层的参数则被划分到各个CPU。每轮迭代里,卷积层计算可以由各个GPU独立完成,全连接层计算需要由所有GPU配合完成,具体方法请参考[46]。
    • Data augmentation。训练一个如此巨大的神经网络(100billion个参数),如果没有充分的训练数据,模型将很大可能陷入过拟合,所以需要采用众多data augmentation方法增加训练数据,例如:剪裁,不同大小,调亮度,饱和度,对比度,偏色等(color casting, vignetting, lens distortion, rotation, flipping, cropping)。举个例子,一个彩色图片,增减某个颜色通道的intensity值,就可以生成多张图片,但这些图片和原图的类目是一致的,相当于增加了训练数据。
    • Multi-scale training:训练不同输入图片尺度下(例如512*512,256*256)的多个模型,最后ensemble多个模型的输出结果。

    3.2 Image2text,Image2sentence

    上面讲述的图片分类对图片语义的理解比较粗粒度,那么我们会想,是否可以将图片直接转化为一堆词语或者一段文本来描述。转化到文本后,我们积累相对深的文本处理技术就都可以被利用起来。

    Image2text

    首先介绍一种朴素的基于卷积神经网络的image to text方法。

    • 首先它利用深度卷积神经网络和深度自动编码器提取图片的多层特征,并据此提取图片的visual word,建立倒排索引,产生一种有效而准确的图片搜索方法。
    • 再充分利用大量的互联网资源,预先对大量种子图片做语义分析,然后利用相似图片搜索,根据相似种子图片的语义推导出新图片的语义。

    其中种子图片,就是可以覆盖所有待研究图片的行业,但较容易分析语义的图片集。这种方法产生了更加丰富而细粒度的语义表征结果。虽说简单,但效果仍然不错,方法的关键在于种子图片。利用比较好的种子图片(例如paipai数据),简单的方法也可以work得不错。下图是该方法的效果图。

    image_semantic2image_semantic

    图29. 图片语义tag标注示例图

    上面的baseline方法,在训练数据优质且充分的情况下,可以取得很不错的图片tag提取效果,而且应用也非常广泛。但上面的方法非常依赖于训练数据,且不善于发现训练数据之外的世界。

    另一个直观的想法,是否可以通过word embedding建立image与text的联系[26]。例如,可以先利用CNN训练一个图片分类器。每个类目label可以通过word2vec映射到一个embedding表示。对于一个新图片,先进行分类,然后对top-n类目label所对应的embedding按照权重(这里指这个类目所属的概率)相加,得到这个图片的embedding描述,然后再在word embedding空间里寻找与图片embedding最相关的words。

    Image detection

    接下来再介绍下image detection。下图是一个image detection的示例,相比于图片分类,提取到信息将更加丰富。

    image_detection

    图30. 图片detection示例

    目前最先进的detection方法应该是Region-based CNN(简称R-CNN)[75],是由Jeff Donahue和Ross Girshick提出的。R-CNN的具体想法是,将detection分为寻找object和识别object两个过程。在第一步寻找object,可以利用很多region detection算法,譬如selective search[76],CPMC,objectness等,利用很多底层特征,譬如图像中的色块,图像中的边界信息。第二步识别object,就可以利用“CNN+SVM”来做分类识别。

    r-cnn

    图31. Image detection系统框图

    • 给定一张图片,利用selective search方法[76]来产生2000个候选窗口。
    • 然后利用CNN进行对每一个候选窗口提取特征(取全连接层的倒数第一层),特征长度为4096。
    • 最后用SVM分类器对这些特征进行分类(每一个目标类别一个SVM分类器),SVM的分类器的参数个数为:4096*N,其中N为目标的类别个数,所以比较容易扩展目标类别数。

    这里有R-CNN的实现,请点击rcnn code

    Image2sentence

    那能否通过深度学习方法,直接根据image产生sentence呢?我们先看一组实际效果,如下图所示(copy from 文献[43])。

    image2sentence_example

    图32. image2sentence示例图

    关于这个方向,最近一年取得了比较大的突破,工业界(Baidu[77],Google[43],Microsoft[80,81]等)和学术界(Stanford[35],Borkeley[79],UML[19],Toronto[78]等)都发表了一系列论文。

    简单归纳一下,对这个问题,主要有两种解决思路:

    • Pipeline方法。这个思路相对直观一点,先学习到image中visual object对应的word(如上一节image detection所述),再加上language model,就可以生成sentence。这种方法各个模块可以独立调试,相对来说,更灵活一点。如下图所示,这是microsoft的一个工作[81],它分为三步:(1)利用上一节提到的思路detect words;(2)基于language model(RNN or LSTM)产生句子;(3)利用相关性模型对句子打分排序。
      AIC

      图33. “pipeline” image captioning

    • End-to-end方法,即通过一个模型直接将image转换到sentence。google基于CNN+RNN开发了一个Image Caption Generator[43]。这个工作主要受到了基于RNN的机器翻译[27][42]的启发。在机器翻译中,“encoder” RNN读取源语言的句子,将其变换到一个固定长度的向量表示,然后“decoder” RNN将向量表示作为隐层初始值,产生目标语言的句子。那么一个直观的想法是,能否复用上面的框架,考虑到CNN在图片特征提取方面的成功应用,将encoder RNN替换成CNN,先利用CNN将图片转换到一个向量表示,再利用RNN将其转换到sentence。可以通过图片分类提前训练好CNN模型,将CNN最后一个隐藏层作为encoder RNN的输入,从而产生句子描述。如下图所示。
      cnn_rnncnn_lstm

      图34. “CNN+LSTM” Image Caption Generator

      Li-Feifei团队在文献[35]也提到一种image2sentence方法,如下图所示。与google的做法类似,图片的CNN特征作为RNN的输入。

      cnn-rnn

      图35. “CNN+RNN”生成图片描述

      此方法有开源实现,有兴趣请参考:neuraltalk

    3.3 训练深度神经网络的tricks

    考虑到图片语义分析的方法大部分都是基于深度学习的,Hinton的学生Ilya Sutskever写了一篇深度学习的综述文章[47],其中提到了一些训练深度神经网络的tricks,整理如下:

    • 保证训练数据的质量
    • 使训练数据各维度数值的均值为0,方差为一个比较小的值
    • 训练时使用minbatch,但不要设得过大,在合理有效的情况下,越小越好。
    • 梯度归一化,将梯度值除于minbatch size。
    • 设置一个正常的learning rate,validation无提升后,则将原learning rate除于5继续
    • 模型参数随机初始化。如果是深层神经网络,不要设置过小的random weights。
    • 如果是在训练RNN or LSTM,对梯度设置一个限值,不能超过15 or 5。
    • 注意检查梯度计算的正确性
    • 如果是训练LSTM,initialize the biases of the forget gates of the LSTMs to large values
    • Data augmentation很实用。
    • Dropout在训练时很有效,不过记得测试时关掉Dropout。
    • Ensembling。训练多个神经网络,最后计算它们的预测值的平均值。

    4 总结

    4.1 语义分析方法在实际业务中的使用

    前面讲述了很多语义分析方法,接下来我们看看如何利用这些方法帮忙我们的实际业务,这里举一个例子,用户广告的语义匹配。

    在广点通系统中,用户与广告的关联是通过定向条件来匹配的,譬如某些广告定向到“北京+男性”,那么当“北京+男性”的用户来到时,所有符合定向的广告就将被检索出,再按照“ecpm*quality”排序,将得分最高的展示给用户。但是凭借一些人口属性,用户与广告之间的匹配并不精确,做不到“广告就是想用户所想”,所以用户和广告的语义分析就将派上用场了,可以从这样两方面来说明:

    • 特征提取。基于上面介绍的方法,提取用户和广告的语义特征。
      • 用户语义特征。可以从用户的搜索,购物,点击,阅读记录中发现用户兴趣。考虑到最终的用户描述都是文本,那么文本topic分析,文本分类,文本keyword提取,文本核心term提取都可以运用起来,分析出用户的语义属性,还可以利用矩阵分解和文本分类找到相似用户群。
      • 广告语义特征。在广点通里,广告可以从两个维度来描述,一方面是文本,包括广告title和landing page,另一方面是广告展示图片。利用文本和图片的语义分析方法,我们可以提取出广告的topic,类目,keyword,tag描述。
    • 语义匹配。提取到相应的语义特征之后,怎么用于改善匹配呢?
      • 用户-广告的语义检索。基于keyword、类目以及topic,对广告建立相应的倒排索引,直接用于广告检索。
      • 用户-广告的语义特征。分别提取用户和广告的语义特征,用于计算用户-广告的relevance,pctr,pcvr,达到精确排序。

    4.2 Future

    对于文本和图片的语义分析,可以看到:最近几年,在某些任务上,基于深度学习的方法逐渐超过了传统方法的效果。但目前为止,对于深度学习的发掘才刚刚开始,比较惊艳的神经网络方法,也只有有限几种,譬如CNN,RNN,RBM等。

    上文只是介绍了我们在工作中实践过的几个小点,还有更多方法需要我们去挖掘:

    • Video。Learn about 3D structure from motion。如文献[19]所示,研究将视频也转换到自然语言。
    • Deep Learning + Structured Prediction,用于syntactic representation。

    4.3 总结

    上文主要从文本、图片这两方面讲述了语义分析的一些方法,并结合个人经验做了一点总结。

    原本想写得更全面一些,但写的时候才发现上面所述的只是沧海一粟,后面还有更多语义分析的内容之后再更新。另外为避免看到大篇理论就头痛,文中尽可能不出现复杂的公式和理论推导。如果有兴趣,可以进一步阅读参考文献,获得更深的理解。谢谢。

    5 参考文献

    1. Term-weighting approaches in automatic text retrieval,Gerard Salton et.
    2. New term weighting formulas for the vector space method in information retrieval
    3. A neural probabilistic language model 2003
    4. Deep Learning in NLP-词向量和语言模型
    5. Recurrent neural network based language models
    6. Statistical Language Models based on Neural Networks,mikolov博士论文
    7. Rnnlm library
    8. A survey of named entity recognition and classification
    9. Deep learning for Chinese word segmentation and POS tagging
    10. Max-margin tensor neural network for chinese word segmentation
    11. Learning distributed representations of concepts
    12. Care and Feeding of Topic Models: Problems, Diagnostics, and Improvements
    13. LightLda
    14. word2vec
    15. Efficient Estimation of Word Representations in Vector Space
    16. Deep Learning实战之word2vec
    17. word2vec中的数学原理详解 出处2
    18. 斯坦福课程-语言模型
    19. Translating Videos to Natural Language Using Deep Recurrent Neural Networks
    20. Distributed Representations of Sentences and Documents
    21. Convolutional Neural Networks卷积神经网络
    22. A New, Deep-Learning Take on Image Recognition
    23. Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
    24. A Deep Learning Tutorial: From Perceptrons to Deep Networks
    25. Deep Learning for Computer Vision
    26. Zero-shot leanring by convex combination of semantic embeddings
    27. Sequence to sequence learning with neural network
    28. Exploting similarities among language for machine translation
    29. Grammar as Foreign Language Oriol Vinyals, Lukasz Kaiser, Terry Koo, Slav Petrov, Ilya Sutskever, Geoffrey Hinton, arXiv 2014
    30. Deep Semantic Embedding
    31. 张家俊. DNN Applications in NLP
    32. Deep learning for natural language processing and machine translation
    33. Distributed Representations for Semantic Matching
    34. distributed_representation_nlp
    35. Deep Visual-Semantic Alignments for Generating Image Descriptions
    36. Convolutional Neural Networks for Sentence Classification
    37. Senna
    38. ImageNet Large Scale Visual Recognition Challenge
    39. Krizhevsky A, Sutskever I, Hinton G E. ImageNet Classification with Deep Convolutional Neural Networks
    40. Gradient-Based Learning Applied to Document Recognition
    41. Effetive use of word order for text categorization with convolutional neural network,Rie Johnson
    42. Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation
    43. Show and Tell: A Neural Image Caption Generator
    44. Deep Image: Scaling up Image Recognition
    45. Large-Scale High-Precision Topic Modeling on Twitter
    46. A. Krizhevsky. One weird trick for parallelizing convolutional neural networks. arXiv:1404.5997, 2014
    47. A Brief Overview of Deep Learning
    48. Going deeper with convolutions. Christian Szegedy. Google Inc. 阅读笔记
    49. Long Short-Term Memory Recurrent Neural Network Architectures for Large Scale Acoustic Modeling
    50. Semi-Supervised Learning Tutorial
    51. http://www.zhihu.com/question/24904450
    52. LONG SHORT-TERM MEMORY BASED RECURRENT NEURAL NETWORK ARCHITECTURES FOR LARGE VOCABULARY SPEECH RECOGNITION
    53. LSTM Neural Networks for Language Modeling
    54. LONG SHORT-TERM MEMORY
    55. Bengio, Y., Simard, P., Frasconi, P., “Learning long-term dependencies with gradient descent is difficult” IEEE Transactions on Neural Networks 5 (1994), pp. 157–166
    56. AliasLDA
    57. Gibbs sampling for the uninitiated
    58. Learning classifiers from only positive and unlabeled data
    59. TF-ICF: A New Term Weighting Scheme for Clustering Dynamic Data Streams
    60. LDA数学八卦
    61. Chinese Word Segmentation and Named Entity Recognition Based on Conditional Random Fields Models
    62. Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data
    63. Chinese Segmentation and New Word Detection using Conditional Random Fields
    64. Gregor Heinrich. Parameter estimation for text analysis
    65. Peacock:大规模主题模型及其在腾讯业务中的应用
    66. L. Yao, D. Mimno, and A. McCallum. Efficient methods for topic model inference on streaming document collections. In KDD, 2009.
    67. David Newman. Distributed Algorithms for Topic Models
    68. Xuemin. LDA工程实践之算法篇
    69. Brian Lott. Survey of Keyword Extraction Techniques
    70. Yi Wang, Xuemin Zhao, Zhenlong Sun, Hao Yan, Lifeng Wang, Zhihui Jin, Liubin Wang, Yang Gao, Ching Law, and Jia Zeng. Peacock: Learning Long-Tail Topic Features for Industrial Applications. TIST’2015.
    71. 刘知远. 基于文档主题结构的关键词抽取方法研究
    72. Hinton. Reducing the Dimensionality of Data with Neural Networks
    73. Samaneh Moghaddam. On the design of LDA models for aspect-based opinion mining
    74. The FLDA model for aspect-based opinion mining: addressing the cold start problem
    75. Ross Girshick et. Rich feature hierarchies for accurate object detection and semantic segmentation
    76. J. Uijlings, K. van de Sande, T. Gevers, and A. Smeulders. Selective search for object recognition. IJCV, 2013.
    77. Baidu/UCLA: Explain Images with Multimodal Recurrent Neural Networks
    78. Toronto: Unifying Visual-Semantic Embeddings with Multimodal Neural Language Models
    79. Berkeley: Long-term Recurrent Convolutional Networks for Visual Recognition and Description
    80. Xinlei Chen et. Learning a Recurrent Visual Representation for Image Caption Generation
    81. Hao Fang et. From Captions to Visual Concepts and Back
    82. Modeling Documents with a Deep Boltzmann Machine
    83. A Deep Dive into Recurrent Neural Nets
    84. Xiang zhang et. Text Understanding from Scratch


               
    展开全文
  • 图像表示与特征提取是图像语义分析的前提与基础。图像表示与特征提取将图像的信息转换成计算机能够识别与处理的数据形式。 一、图像结构 1. 图像信息在计算机中的表示和存储的方式称为图像表示。图像表示是分析...

    第二章 图像表示与特征提取

    图像表示与特征提取是图像语义分析的前提与基础。图像表示与特征提取将图像的信息转换成计算机能够识别与处理的数据形式。

    一、图像结构

    1. 图像信息在计算机中的表示和存储的方式称为图像表示。图像表示是分析图像结构的基础,计算图像表示的特征是理解图像内容的重要手段。 

    2. 图像特征是对图像中某些结构视觉特征的描述。

    几种图像结构:

    (1)点结构

    图像中最基本的结构是像素,一定数量的像素集合才能表达真正的图像语义。点特征主要指图像中的明显点,如对象的角点、圆点等,在图像匹配和遥感影像定位中非常有用。用于点特征提取的算子称为有利算子或兴趣算子,常见的有 Moravec 算子、Hannah 算子与 Foistner 算子等。

    简单介绍Moravec 算子的基本思想:以像素的四个主要方向上的最小灰度方差表示该像元与邻近像元的灰度变化情况,即像素的兴趣值,然后在图像的局部选择具有最大兴趣值的点(灰度变化明显的点)作为特征点。

    (2)线结构

    在复杂的图像中,线结构主要是图像中的边缘。边缘检测可以抽取边缘轮廓信息,并且可用于区域分割,边缘检测和区域分割具有互补性。边缘并不完全等同于物体的边界,边缘主要是指图像中像素值突变的地方。

    边缘检测的常用算子:

    a. Robert 算子。边缘定位准,但是对噪声敏感,适用于边缘明显且噪声较少的图像分割。Robert 边缘检测算子是一种利用局部差分算子寻找边缘的算子,利用 Robert 算子对图像处理后边缘不是很平滑。Robert 算子通常会在图像边缘附件的区域内产生较宽的响应,所以采用 Robert 算子检测的边缘图像需要进行细化处理,边缘定位的精度不是很高。

    b. Prewitt 算子。对噪声有抑制作用,抑制噪声的原理是像素平均,但是像素平均相当于对图像的低通滤波,因而 Prewitt 算子对边缘的定位准确度不如 Robert 算子高。

    c. Sobel 算子。Sobel 算子和 Prewitt 算子都是计算加权平均的,但是 Sobel 算子考虑了邻域的像素对当前像素产生的影响不相同的因素,距离不同的像素应该具有不同的权值,对算子结果产生的影响也不应该相同的情况。一般来说,距离越远则产生的影响越小。Sobel 算子有两个:一个是检测水平边缘的;另一个是检测垂直边缘的

    d. Isotrotic Sobel 算子。加权平均算子,权值反比与邻点与中心点的距离,当沿不同方向检测边缘时梯度幅度一致,就是通常所说的各向同性,各向同性 Sobel 算子与普通的 Sobel 算子相比,它的位置加权系数更为准确,在检测不同方向的边缘时梯度的幅度一致。

    e. Laplacian 算子。二阶微分算子,具有各向同性,即与坐标轴方向无关,经坐标旋转后梯度结果不变。但是 Laplacian 算子对噪声比较敏感,所以图像一般先经过平滑处理。由于平滑处理也是用模板进行的,所以通常的分割算法都是把 Laplacian 算子和平滑算子结合起来生成一个新的模板。Laplacian 算子不能检测边缘的方向实际应用中一般使用高斯拉普拉斯算子(Laplacizan of Gaussian, LoG)抵消由 Laplacian 算子引起的逐渐增加的噪声影响。

    f. canny 算子。把边缘检测问题转换为检测单位函数极大值的问题。在高斯噪声中,一个典型的边缘代表强度的阶跃变化。canny 算子的边缘检测可以分为三个步骤:1. 高斯平滑函数,目的是平滑以消除噪声;2. 一阶差分卷积模板,目的是边缘增强;3. 保留梯度方向上的最大值,抑制非极大值。

    边缘检测需要利用算子对每一个检测点进行独立计算,计算结果与以前检测点的检测结果无关。与边缘检测不同的线检测,在处理图像点时需要利用前面的处理结果,因而也成为序贯检测或跟踪检测。其在检测的过程中不必对每一个点进行相同精度的计算,只需先对图像上的每一点进行简单计算,然后使用更复杂的计算来延伸此边缘或此曲线。用于线检测的算法有多种,如光栅跟踪,全向跟踪和 Hough 变换等。光栅跟踪用于一般曲线的检测,全向跟踪主要用于对工程图纸中的标准曲线的检测。

    (3)深层结构

    深层结构为带有较强语义的图像区域,基于深层结构的图像特征与高层语义概念之间有着较强的联系。要提取图像的深层结构,需要借助图像的分割模型。

    按照分割过程中是否有用户参与,可以将语义对象分割方法分为非监督对象和监督/交互式对象分割。非监督对象分割技术的研究相对成熟,但是由于缺少先验知识的支撑,往往难以准确分割出用户所需的语义对象。而交互式对象分割引入了用户的参与,通过用户画线或画框获取关于语义对象的先验信息,利用先验信息监督分割过程,通常能获得较高质量的分割结果。

    3. 图像特征

    分析图像结构的关键在于图像的特征提取,描述和分析。对于图像的特征,没有通用和准确的定义。特征的定义往往是由具体问题或者应用决定。特征提取最重要的一个特性是可重复性,即同一场景中的不同图像所提取的特征应该是相同的。

    一般图像特征可以分为四类:直观性特征,变换系数特征,统计直方图特征,代数特征。

    直观性特征主要指几何特征,几何特征比较稳定,受对象的形态变化与光照条件等因素的影响小,但不易抽取,而且测量精度不高,与所采用的处理技术密切相关。

    变换系数特征指先对图像进行傅里叶变换、小波变换等,得到系数后作为特征进行识别。

    统计直方图特征,直方图描述了图像中灰度值的分布情况。彩色图像的直方图一般使用颜色分量分开计算或者将其转化为灰度图计算得到。通过对直方图进行均衡化处理(实际上改变了图像中灰度值的映射关系),可以提高图像的对比度。

    代数特征是基于统计学习方法抽取的特征,代数特征具有较高的识别精度。代数特征抽取方法可以分为线性投影特征抽取法和非线性特征抽取法。线性投影分析法的主要缺点是需要对大量的已有样本进行学习,且对定位、光照与物体非线性形变敏感,因而采集条件对识别性能影响较大;

     二、语义表示

    1. 图像表示模型

    实际图像模型一般有三个主要的组成部分:变换(去相关和简化数据)、量化(降低转换数据的相关性)和重组(组合数据来把大值分组到一起)。从图像中提取语义信息,设计图像语义表述模型。目前,最简单的语义特征表示方法是利用文字描述,一幅图像所包含的语义用一系列的关键词来表征。用关键词可以表示不同语义层次结构,即语义具有不同粒度,而雪山、湖泊、草地等关键词的粒度较前者细。

    对于图像低层视觉特征表述,大多采用颜色、形状、纹理和位置特征。

    在图像分类模型和优化算法方面,研究者才用了高斯混合模型、支持向量机、K均值、贝叶斯信念网络、多维隐马尔科夫模型等。采用最大似然学习、基因规划算法等进行模型优化。

    PLSA 是一种新的基于概率的潜在语义分析算法。其基本原理是通过奇异值分解,将文本投影到低维潜在的语义空间中,便可有效地缩小问题的规模。

    2. 稀疏表示 

    稀疏表示又称为稀疏编码,最初起源于神经科学。

    三、视觉认知模型

    1. Serre 模型

    Serre 模型,是根据仿生学原理而提出的一种图像特征提取方法,利用一组方向、大小、尺度可变的局部边缘检测器(Gabor 滤波器)与图像进行卷积,得到一组响应,再将其通过特定方式组合,得到一幅图像的特征向量。 

    2. Mutch 模型

    Mutch模型,模拟视皮层中腹侧视觉通路的 “快速识别” 模式建立的三维金字塔模型,其中包含五层,除了第一层原始图像,各层都是通过对前一层的输出改变模板匹配或采用最大化联合操作获得的。该模型与 Serre 模型类似,但是在某些方面进行了一些改进。大致原理如下:原始图像层将所有图像转化为灰度图,并在宽高比不变的情况下将宽度缩放 140 像素。接下来创建一个具有 10 个尺度的图像金字塔,每一层都比上层小 2^(1/4)像素。

    3. Karklin 模型

    Karklin 模型,是基于图像协方差矩阵的视觉认知模型。该模型不是对最适合的视觉刺激做出应答,而是对合乎统计分布的所有刺激作出应答,因而能给视觉认知上相似的图像赋予相似的表征,同时又将不同类型的图像区分开。模型中的神经元能近似地的模拟初级视觉皮层复杂细胞的行为,一组这样的神经元能模拟更高级视觉皮层区域的行为。该模型的一个重要优点是能够从自然图像特征的统计结构中学习到更为概括的东西,而不是像以往的研究那样只给有限数量的刺激参数指定不变值。

    Karklin 模型对图像的协方差矩阵分布进行估计,引入一组参数对图像进行编码,通过将图像块从像素空间映射到隐含变量空间,实现对具有不同视觉特征图像块的理解和识别。

    四、 图像特征提取

    图像特征提取可理解为与图像语义分析相关的信息。图像特征提取用于寻找图像中最紧凑、最有价值的特征子集,该特征子集可以提高图像语义分析的效率,改善图像语义分析的结果。图像特征提取方法与图像的类型相关。根据图像特征的特点,当前图像特征提取方法可分为点特征提取、线特征提取和面特征提取。

    1. 图像视觉特征

    (1)颜色特征

     颜色特征可以简化场景中的目标识别复杂度,在图像语义分析中具有重要的作用。与其他视觉特征相比,颜色特征对图像本身的尺寸、方向和视角的依赖较小,从而具有较轻的鲁棒性,是一种应用最广泛的视觉特征。高效、鲁棒的颜色特征可以增强图像语义分析的效果。常用的颜色表示模型有 RGB模型、HSI 模型和 Lab 模型。

    RGB 指光普中的三基色:红、绿、蓝。任何颜色均可由三基色线性组合生成。RGB 颜色模型空间为一个立方体,通常将 RGB 颜色立方体归一化为单位立方体,R,G,B 三值限制在区间 [ 0, 1 ] 内。

    RGB 模型不适用于人眼对颜色的解释,HSI 模型是从人眼视觉感知的角度建立的颜色模型。HSI 模型中,H 表示色调,与主要光波长有关; S 表示饱和度,主要指色调的纯度即一种颜色中混合白光的数量,I 表示强度,对应颜色的亮度,与图像的色彩信息无关。

    Lab 模型是一种与设备无关的颜色模型,其可以表示人眼感知到的所有色彩。Lab 模型中颜色和亮度分开表示,L 代表亮度,a 和 b 代表颜色。a 表示的颜色范围为红色到绿色,b 表示的范围为黄色到蓝色。

    (2)纹理特征

    纹理是图像语义分析中应用最广泛的一种视觉特征。纹理可定义为视场范围内的灰度分布模型。纹理是物体表面的固有特征,由许多相互接近、相互交织的元素构成。纹理包括的物体表面组织结构排列的重要信息和他们与周围环境的关系。纹理是图像的区域特征,对单个像素的纹理进行分析是没有意义的。图像纹理可采用统计方法描述,该方法包括基于共生矩阵的纹理特征描述符和基于能量的纹理特征描述符。

    (3)形状特征

    形状是物体或图像由外部的面或线条组合而呈现的外表。图像中的一个目标的形状可以理解为图像中由目标边界上的点组成的模式。图像语义分析任务要求形状特征对目标具有位移、旋转和尺度变换的不变性。形状特征可以分为全局几何特征与变换域几何特征。

    全局几何特征包括外观比、周长、面积、形状因子。偏心率、曲率等。

    外观比用于描述塑性变形后目标的形状(细长程度),目标围盒(最小包围长方形)长和宽的比值。

    形状因子(F)描述区域的紧凑性,它的计算公式为:

    F = \frac{\left \| C \right \|^{2}}{4\pi S},其中 C 为目标区域的周长,S 为目标区域的面积。当连续的目标区域为圆形时,F 为 1,其它形状时 F 大于 1,当目标形状为圆形时,F 取最小值。形状因子对尺度变换与旋转均不敏感,是一个非矢量数值。

    偏心率又称为伸长度,是区域主轴与次轴的比率。偏心率具有较强的区分不同宽度目标的能力。偏心率易受物体的形状和噪声的影响,长而窄的物体和短而粗的物体的偏心率差别很大。

    曲率描述了物体边界上各点沿边界方向的变化情况,是从物体的轮廓中提取出的描述物体形状的重要线索。

    变换域与几何特征主要包括傅里叶描述子和小波描述子。傅里叶描述子通常用于描述闭合边界,傅里叶描述子的优点在于具有成熟的理论指导,简单而且易实现。缺点在于它无法描述物体的局部信息,容易受到噪声的影响。

    2. 常用图像特征提取方法

    图像特征提取的结果是把图像上的点分成不同的子集,这些子集通常是孤立的点、连续的曲线或者连续的区域。孤立点的检测也就是角点检测,连续曲线的检测就是对图像中目标区域的外表形状和轮廓特性的提取,连续区域的检测就是对图像上具有灰度相关性(像素具有某一相似属性,如灰度值、纹理等)的像素集合的提取。

    (1)点检测特征

    角点通常被认为是二维图像中亮度变化剧烈的点或图像边缘曲线上曲率极大值的点。这些点保留了图像图形的重要特征,同时有效地减少了信息的数据量和图像处理时的运算量角点的检测方法有很多,不同的方法检测出的角点具有空间不变性、旋转不变性等多种重要的特性。

    a. 基于梯度的角点检测

    基于梯度的角点检测通过计算边缘的曲率来判断角点是否存在。角点计算数值的大小不仅与边缘强度有关,而且与边缘方向的变化率有关。具体方法如下:

    I(x,y) 为二维灰度曲面,记 I_{x} = \partial I/\partial x, I_{y} = \partial I/\partial y 为一阶灰度图像,记 I_{x}_{x} = \partial ^{2}I/\partial ^{2}x, I_{y}_{y} = \partial ^{2}I/\partial ^{2}y, I_{x}_{y} = \partial ^{2}I/\partial x\partial y 为二阶灰度图像,在像素点(x,y)(x,y) 处的梯度方向是 \theta (x,y),并且有 tan\theta =I_{y}/I_{x},则角点的度量值定义为 

    \Delta =(I_{x}_{x}I_{y}^{2}-2I_{x}_{y}I_{x}I_{y}+I_{y}_{y}I_{x}^{2})/(I_{x}^{2}+I_{y}^{2})。该检测方法在梯度幅值与曲率相乘之前会采用梯度幅值的非最大值抑制过程。这使得局部最大值会孤立一些角点。由于噪声会使曲率幅度产生较大波动,该检测方法对噪声比较敏感。同时由于计算的舍入,该方法对角点的定位不够准确,尤其是在边缘模糊的位置。因此,该方法检测出的角点并不十分合理。

    b. Harris 角点检测

    Harris 角点检测不依赖于目标形状等其他局部特征,而是利用角点本身的特点直接提取角点 。它对旋转、尺度、光照变化和噪声有不变的特性。Harris 角点检测是在 Moravec 算法的基础上改进而来的,Moravec 算法考虑图像中的一个局部窗口,通过计算在多个方向上微小地平移局部窗口导致的图像亮度的平均改变来检测角点,当任意的平移导致的最小亮度改变大于某个给定的阈值时,角点就被确认。

    Harris 角点检测算法需要指定阈值,当响应函数的值大于指定阈值时才能确定角点的存在。Harris 角点检测适用于角点数目较多且光源较复杂的情况,它对图像序列的角点检测效果很好。

    c. SUSAN 角点检测

    SUSAN 算法的一个明显的优点是对局部噪声不敏感,抗噪能力强。在每个像素点的位置处放置一个圆形掩模,掩模的中心像素点成为掩模的核,掩模内部的每一个像素的亮度与核的亮度作比较,可以定义一个区域,在区域内的像素点与核具有相同或相似的亮度,掩模内这样的区域称为核心值相似区域(USAN区域),使用非极大值抑制(局部极大值搜索)检测 USAN 局部极小值的角点。此外,SUSAN 算法一般不适合序列图像的角点跟踪,它更适合单幅图像下的角点检测。

    d. Trajkovic & Hedley 角点检测

    Trajkovic & Hedley 角点检测算法是一种类似于 SUSAN 算法的快速角点检测算法。它定义一个响应函数,在不同的 USAN 区域下判别候选点是否是一个角点。主要检测过程是首次对输入图像的低解析度图像计算每个像素点位置的参数值 R,如果此值大于给定的阈值,则令该点作为角点候选点,否则直接排除该点是角点的可能性,并将映射图像对应为设为 0 。继续对输入图像的全解析度图像计算角点候选点重复上述操作。对于剩下的候选点,使用插值近似的方法(线性插值或圆周近似插值)计算参数值 R,若此值大于给定阈值,则将映射图像的对应位置设置为 R,否则设置为0。

    e. FAST (features from accelerated segment test)角点检测

    FAST 角点检测法是对 SUSAN 算法的简化,适用于实时的角点检测。

    除了这些经典的方法,还有很多其他方法,如基于滤波的 DoG 和 LoG 检测方法等。SIFT特征的兴趣点检测就是采用的 DoG 方法,还比如一些尺度仿射不变的角点检测方法,这些是基于 Harris 和 Laplacian 的兴趣点检测方法。

    (2)线特征检测

    线特征是图像的一维特征,描述图像中目标区域的外表特征和轮廓特性。外表轮廓的线特征可较好地用于形状特性较为明显的目标类别的表达。目前较为流行的线特征包括:轮廓边缘特征;K 邻近片段特征。轮廓边缘特征主要用于目标检测、目标识别和图像匹配等问题。K 邻近片段特征主要用于目标检测、目标定位和形状匹配。

    (3)区域特征检测

    区域特征是图像上具有灰度强相关性的像素的合集。区域你饿的像素具有某一个相关属性(如灰度值、纹理等)。区域特征明显区别于周围像素的特征,包含比点特征和线特征更丰富的信息。

    五、图像特征表示 

    图像特征表示主要有直方图表示、区域特征表示、边缘特征表示、基于包的表示与机器自主学习的特征表示等。

    1. 直方图 

    直方图又称为柱状图,是对随机变量概率分布的描述,是数据分布的一种图形表示。图像语义分析中主要是用颜色直方图与方向直方图

    (1)颜色直方图

    颜色直方图时图像中的颜色分布表示,适用于任意颜色空间。颜色直方图对垂直于图像的轴具有平移、旋转不变性,并且仅随着其他轴旋转、物体遮挡和物体距离改变缓慢变化。构建颜色直方图首先需要对于给定的颜色空间(如 RGB 颜色空间)。将该空间中的颜色离散化表示,然后统计落入指定颜色间隔的像素个数。颜色直方图主要用于目标识别。在颜色直方图上发展起来的累加颜色直方图,可应用于彩色图像匹配。标准颜色直方图没有考虑不同块之间颜色的相似性和同一块内颜色的不一致性,因此对光强度变化与量化误差比较敏感。而模糊颜色直方图,借助模糊集隶属函数考虑与每个像素的颜色相关联的所有直方图的颜色相似性。

    (2)方向直方图

    方向直方图主要应用于目标检测等图像语义分析任务。梯度方向直方图描述子可用于静态图像中的行人检测。梯度方向直方图的基本思想是即使没有准确的梯度或边缘位置信息,一幅图像局部对象的外观和形状也可以由局部强度梯度的分布或边缘方向较好的描述。压缩的梯度方向直方图,即将梯度方向直方图表示成一个树形结构,压缩后的梯度方向直方图具有低复杂度并且在匹配阶段具有明显的速度提升。

    2. 区域特征

    (1)SIFT 特征

    图像匹配的核心在于将同一物体在不同光照、不同分辨率。不同位置、不同角度下所获取的图像对应起来。传统的匹配算法通常使用角点或边缘特征,其匹配效果易受图像成像环境的影响,匹配结果的鲁棒性较差。再基于不变量技术的特征检测方法的基础上提出的 SIFT 特征提取算法,近年来不断得到完善。

    SIFT 特征具有尺度与旋转不变性,并且对关照变化、放射变换和三维投影变换具有一定的鲁棒性,可有效地应用于不同图像间的目标匹配。SIFT 特征具有很高的判别性,对于包括 SIFT 描述子在内的多种局部描述子的不变性的对比实验,结果显示 SIFT 特征的效果最好。SIFT 特征的提取可分为四步:尺度空间极值点检测、关键点确定、关键点方向确定、关键点描述子生成。 

     

     

     

     

    展开全文
  • 本文 转自“火光摇曳”博客:语义分析的一些方法(三),主要论述了基于深度学习方法的图像语义分析,包括图片分类、图片搜索、图片标注(image2text、image2sentence),以及训练深度神经网络的一些tricks,并介绍...
  • 1图像语义分割的概念 1.1图像语义分割的概念与原理 图像语义分割可以说是图像理解的基石性技术,在自动驾驶系统(具体为街景识别与理解)、无人机应用(着陆点判断)以及穿戴式设备应用中举足轻重。我们都知道,...
  • 语义分析的一些方法(三) 2015/02/04机器学习、自然语言处理、计算广告学vincentyao 3 图片语义分析 3.1 图片分类 图片分类是一个最基本的图片语义分析方法。 基于深度学习的图片分类 传统的图片分类如下图所示...
  • 1.安装神器anaconda 在conda prompt里执行安装labelme # python3 conda create --name=labelme python=3.6 source activate labelme pip install pyqt5 pip install labelme ...安装完成后再用cmd执行 ...
  • 此处的LDA指Latent Dirichlet Allocation(隐狄利克雷分配),而非Linear Discriminant Analysis(线性判别分析),前者是一种主题生成模型,后者则是一种判别模型,而本实验使用的判别模型亦非后者,而是SVM判别...
  • 为了提高图像语义特征提取的精确度, 克服目前大部分图像语义特征提取算法中, 因图像特征提取不当, 导致特征参数不能全面反映图像语义的问题, 提出了一种基于典型相关分析CCA的特征融合的图像语义特征提取方法。...
  • 图像特征提取与语义分析是通过提取图像底层视觉特征,然后利用图像分析技术实现图像内容的语义描述、分类和理解。 其核心是确定图像底层特征与高层语义之间的映射关系,这正是计算机视觉领域当前研究的热点与难点。 ...
  • 基于卷积神经网络的图像语义分割

    万次阅读 2018-02-14 20:37:03
    论文地址基于卷积神经网络的图像语义分割浙江大学硕士论文图像分割...1.分析了卷积神经网络在图像语义分割的应用前景,实现基于卷积神经网络和反卷积神经网络相结合的图像语义分割模型。2.对基于卷积神经网...
  • 通过对面料图像样品的颜色、纹理低层特征(饱和度、色相冷暖、对比度、灰度图、灰度矩阵、平均色调等)和3个因子之间对应关系的分析,得出第1个因子可以用7维特征(6维的饱和度-冷暖模糊直方图加1维的对比度)来表征;...
  • 基于形式概念分析图像场景语义标注模型
  • 通过基于视觉语义分析和区分性分类的分段自动图像区域注释
  • 医学图像语义分割

    2021-01-19 13:49:00
    语义分割在生物医学图像分析中有着广泛的应用:x射线、MRI扫描、数字病理、显微镜、内窥镜等。https://grand-challenge.org/challenges上有许多不同的有趣和重要的问题有待探索。 从技术角度来看,如果我们考虑语义...
  • 通过研究自然景观图案的语义分类,分析了不同的核函数和参数优化算法对图像语义分类性能的影响,并用自然景观图片进行了验证。实验结果表明:当核函数为RBF且参数采用网格搜索优化时,SVM的分类效果最优,可实现对自然...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 691
精华内容 276
关键字:

图像语义分析