图像处理中底层、高层特征、上下文信息理解

news2024/11/16 21:30:30

1.图像的语义信息:


图像的语义分为视觉层、对象层和概念层。
视觉层即通常所理解的底层,即颜色、纹理和形状等等,这些特征都被称为底层特征语义;
对象层即中间层,通常包含了属性特征等,就是某一对象在某一时刻的状态;
概念层是高层,是图像表达出的最接近人类理解的东西。
通俗点说,比如一张图上有沙子,蓝天,海水等,视觉层是一块块的区分,对象层是沙子、蓝天和海水这些,概念层就是海滩,这是这张图表现出的语义。

2.图像的底层、高层特征:


2.1图像的低层特征:
图像底层特征指的是:轮廓、边缘、颜色、纹理和形状特征。
边缘和轮廓能反映图像内容;如果能对边缘和关键点进行可靠提取的话,很多视觉问题就基本上得到了解决。图像的低层的特征语义信息比较少,但是目标位置准确;

2.2图像的高层特征:
图像的高层语义特征值得是我们所能看的东西,比如对一张人脸提取低层特征我们可以提取到连的轮廓、鼻子、眼睛之类的,那么高层的特征就显示为一张人脸。高层的特征语义信息比较丰富,但是目标位置比较粗略。
愈深层特征包含的高层语义性愈强、分辨能力也愈强。我们把图像的视觉特征称为视觉空间 (visual space),把种类的语义信息称为语义空间 (semantic space)

3.我们是如何通过神经网络来判别这是一只猫的?

 训练好的神经网络会在复杂运算后得到关于一张图片的响应值(可以是实数,也可以是实向量),我们会根据这个响应值按照预先设置的先验规则来得到最终的判别值。比如我们的规则是这个值大于0.5就判别为猫,小于0.5就判别为非猫。我们的网络得到0.8,所以判别为猫。

响应值是如何计算出的?

那么关键就在于最后的神经网络的响应值是如何得到的?请允许锦恢进行一段潦草的说明。

由于卷积神经网络每一个卷积核在单层中只能计算相邻区域的像素点的响应,所以,在第一层中,我们的网络只能计算出每一个小的像素区域的响应值,比如,第一层的某个卷积核就只能计算下图中蓝框框出来的区域中的所有像素的响应值:


 

这片单个卷积核在原图上能够计算的响应区域被我们称为该卷积的感受野。很明显,第一层的卷积核的感受野很小,这么小的感受野对应的像素点是什么?石灰?沙发?如此小的感受野区域是极难得到关于这个像素是什么这样的信息的,讲得认真点,小感受野对应区域的特征空间太小啦,小到无法与标签空间构成满射。事实上,这就是我们所说的图像的语义信息,因此小的像素区域是难以得到关于图像的高阶语义信息的,因为感受野太小了。

我们继续,进入卷积层的第二层:

第二层基于第一层卷积进行卷积,很明显,它对应的感受野会比第一层卷积核的感受野大,能够计算原图更大区域对应区域的响应值,比如下图中橙色区域对应的区域。

实际神经网络工作时得到的响应值可不是上图的原图,此处只是为了描述方便才贴的原图

事实上,第一层的卷积核在提取区域的同时,还会对所提取区域的色彩,纹理模式等信息进行计算,这种计算可以看成一种临时的隐性编码。因此,到第二层卷积层时,卷积核得到的不仅是一组像素点在更大的原图区域上的响应,还有颜色,纹理等编码信息,用于分类猫猫的特征空间变大了。在这一层中,网络可能得到了原图的轮廓信息,梯度信息等等。

后面的图懒得画了。。。

待神经网络运行到了最后一层时,卷积核的感受野已经能够几乎覆盖原图所有区域,而且每层传递的隐性的编码信息已经将原本的特征空间张得很大了,此时便可以很方便得使用线性分类器:

来区分了。

因此,非常非常不科学地讲,为什么深层地特征图具备更加丰富的语义信息呢?我认为主要有两点:

  • 深层网络的感受野更大,大感受野下才存在一定的高阶语义。
  • 深层网络所积累的特征空间更大。

4.上下文信息理解

从语义角度出发,举例说明。

 问,中央的两位球员在做什么?

那首先第一步,我得找到球员。

而事实上,计算机看着这玩意就是一堆像素,一个像素是分辨不出球员的,因此需要一个窗口,这个窗口在整张图中滑动,并找到球员的头,身体,手臂等等。

这个窗口就是每个像素点的上下文(context),也即邻域信息,其可以自然表征图像的局部语义。

好的,我们记录下来球员每个部位的姿态了,那么下一个问题来了,他在干啥?

当我们仅仅着眼于上下文时,其实并无法获知他在干嘛,他可能是在投篮,也可能是在跳高,甚至可能是在跳舞。但是如果将全图的元素,包括篮球,球场,观众都综合下来,就可以确定他在投篮了。全图的综合就是全局信息(global)。全局信息可以协助更好地描述局部语义信息,早期的分割方法中的ASPP模块就有这种思想。

那其实这个问题已经解决了,但是这相当于我们用小孔浏览了一圈然后把图中所有元素拼合在一起,但其实这样并不好。图中存在一些东西它们距离很远,但是有很强的语义联系,就像这张图中的球员和篮球,如果能同时涵盖二者,就可以直接理解这幅图。这种关系叫做远距依赖性(long distance dependency),这种依赖不仅存在于图像中,更是存在于视频的不同帧里,非常推荐读一下non local那篇文章,作为前transformer时代一个自注意力模型,讲得很清楚。

ok,图内的信息我们基本提取完了,那我们来回答他到底在做什么?那其实会发现以下回答都是正确的: 1.在运动,2.打篮球,3.投篮。你会发现其实123有隶属关系,你要回答哪个仅仅取决于问问题的人想要哪个层次的回答。这种层次就是语义粒度,粒度这个词常见的一种场合是细粒度分类,比如分出这个动物是猫是狗就属于粗粒度,而分出这只猫属于哪个品种,就属于细粒度了。

参考

​​​​c对图像中语义信息、高层和底层特征的理解

深度学习(图像领域)中总是提到的上下文信息,全局信息,长距离依赖,粒度分别是什么意思呢,有什么区别?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1130262.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PHP MySQL 交互 笔记/练习

PHP 与 MySQL 交互 交互函数 函数名作用mysqli_connect()与MySQL 数据库建立连接。mysqli_close()关闭与MYSQL 数据库建立的连接。mysqli_connect_errno()与MySQL 数据库建立连接时,发生错误时的错误编号。mysqli_connect_error()与MySQL 数据库建立连接时&#x…

Kubernetes技术与架构-存储 1

Kubernetes集群Pod中运行的容器实例绑定的资源包括计算、内存、网络以及存储,本文主要描述Kubernetes存储体系的使用方式,Kubernetes存储对象需要解决的问题主要包括在Pod重启过程中原始数据不会丢失、运行在Pod中多个容器实例可以共享地使用存储对象。 …

c++编译使用log4cplus

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、log4cplus是什么?二、使用步骤1.下载源代码2.开始配置1.配置介绍2.开始编译 3.cmake引用4.示例 总结 前言 C很强大,但是仍然有很多…

postgresql|数据库|序列Sequence的创建和管理

前言: Sequence也是postgresql数据库里的一种对象,其属性如同索引一样,但通常Sequence是配合主键来工作的,这一点不同于MySQL,MySQL的主键自增仅仅是主键的属性做一个更改,而postgresql的主键自增是需要序…

windows协议详解之-RPC/SMB/LDAP/LSA/SAM域控协议关系

如果你在windows域控环境中,例如企业的网络中开启wireshark抓包,你一定会遇到一大堆各种各样的协议。不同于互联网服务(大多基于HTTP),为了实现域控中各种各样的服务,windows的域控环境中采用了非常多的协议…

【Pytorch】Pytorch学习笔记02 - 单变量时间序列 LSTM

目录 说明简单神经网络LSTM原理Pytorch LSTM生成数据初始化前向传播方法训练模型自动化模型构建 总结参考文献 说明 这篇文章主要介绍如何使用PyTorch的API构建一个单变量时间序列 LSTM。文章首先介绍了LSTM,解释了它们在时间序列数据中的简单性和有效性。然后&…

Unity - 导出的FBX模型,无法将 vector4 保存在 uv 中(使用 Unity Mesh 保存即可)

文章目录 目的问题解决方案验证保存为 Unity Mesh 结果 - OK保存为 *.obj 文件结果 - not OK,但是可以 DIY importer注意References 目的 备忘,便于日后自己索引 问题 为了学习了解大厂项目的效果: 上周为了将 王者荣耀的 杨玉环 的某个皮肤…

GEE图表——利用NOAA气象数据绘制气温预测图

简介 气象预测是通过气象数据和模型对未来某一时间和地点的天气情况进行预测。 具体步骤如下: 1. 数据采集:从气象观测站、卫星等获取气象数据,包括气压、水汽、风速、温度、降雨、云量等。 2. 数据清洗:对采集到的数据进行质…

模拟计算器编程教程,中文编程开发语言工具编程实例

模拟计算器编程教程,中文编程开发语言工具编程实例 中文编程系统化教程,不需英语基础。学习链接 ​​​​​​https://edu.csdn.net/course/detail/39036 课程安排:初级1 1 初级概述 2 熟悉构件取值赋值 3 折叠式菜单滑动面板编程 4 自定…

前端(二十三)——轮询和长轮询

😫博主:小猫娃来啦 😫文章核心:实现客户端与服务器实时通信的技术手段 文章目录 前言轮询技术轮询的概念轮询的实现原理轮询的优缺点轮询的使用场景 长轮询技术长轮询的概念长轮询的实现原理长轮询的优缺点长轮询的使用场景 轮询与…

2 第一个Go程序

概述 在上一节的内容中,我们介绍了Go的前世今生,包括:Go的诞生、发展历程、特性和应用领域。从本节开始,我们将正式学习Go语言。Go语言是一种编译型语言,也就是说,Go语言在运行之前需要先进行编译&#xff…

JVM | 命令行诊断与调优 jhsdb jmap jstat jps

目录 jmap 查看堆使用情况 查看类列表,包含实例数、占用内存大小 生成jvm的堆转储快照dump文件 jstat 查看gc的信息,查看gc的次数,及时间 查看VM内存中三代(young/old/perm)对象的使用和占用大小 查看元数据空…

Qt生成PDF报告

文章目录 一、示意图二、实现部分代码总结 一、示意图 二、实现部分代码 //! 生成测试报告 void MainWindow::createPdf(QString filename, _pdf_msg_& msg, const QMap<QString, int>& ok, const QMap<QString, int>& err) {//QDir dir;if(!dir.exis…

mac安装jdk

1、下载jdk&#xff08;我的电脑要下载arm版&#xff0c;截图不对&#xff09; Java Downloads | Oraclehttps://www.oracle.com/java/technologies/downloads/#jdk17-mac 2、双击安装

【微信小程序】实现投票功能

一、后端 1、xmlsql <select id"voteList" resultMap"BaseResultMap" >select<include refid"Base_Column_List" />from t_oa_meeting_infowhere 11<if test"state!null">and state#{state}</if><if test&…

互联网Java工程师面试题·Spring篇·第四弹

目录 6、AOP 6.1、什么是 AOP&#xff1f; 6.2、什么是 Aspect&#xff1f; 6.3、什么是切点&#xff08;JoinPoint&#xff09; 6.4、什么是通知&#xff08;Advice&#xff09;&#xff1f; 6.5、有哪些类型的通知&#xff08;Advice&#xff09;&#xff1f; 6.6、指出…

06 MIT线性代数-列空间和零空间 Column space Nullspace

1. Vector space Vector space requirements vw and c v are in the space, all combs c v d w are in the space 但是“子空间”和“子集”的概念有区别&#xff0c;所有元素都在原空间之内就可称之为子集&#xff0c;但是要满足对线性运算封闭的子集才能成为子空间 中 2 …

嵌入式实时操作系统的设计与开发(消息)

消息 从概念上讲&#xff0c;消息机制和邮箱机制很类似&#xff0c;区别在于邮箱一般只能容纳一条消息&#xff0c;而消息则会包含一系列的消息。 系统定义了一个全局变量g_msgctr_header&#xff0c;通过它可以查找到任一已创建的消息容器。 每一个消息容器都可以根据其参数…

CentOS 7 安装Java环境

本文采用源码安装 1. 下载安装包 下载地址&#xff1a;jdk官网下载地址 下载linux64位tgz压缩包、官网下载需要登录oracle账号、可临时注册一个、几分钟搞定、或者查下其他方式获取安装包皆可。 2. 上传至centos7服务器 3. 安装 # tar zxvf jdk-8u381-linux-x64.tar.gz4.…

UE5 Blueprint发送http请求

一、下载插件HttpBlueprint、Json Blueprint Utilities两个插件是互相依赖的&#xff0c;启用&#xff0c;重启项目 目前两个是Beta的状态&#xff0c;如果你使用的平台支持就可以使用&#xff0c;我们的项目因为需要取Header的值&#xff0c;所有没法使用这两个插件&#xff0…