DL也懂纹理吗——图像的纹理特征

工作中遇到一个问题:对于同一场景,训练好的DL模型能把大部分样本分类准确,而对于少量负样本,DL会错分到另外一个对立的类中。错分的样本可以认为是难分的样本,但是我们还想知道这两种样本到底是哪里的差异导致DL做出了两种截然不同的判断?回答好这个问题就可以进一步解释DL在分类的过程中到底学习了并依赖了图像的哪些特征。

思路是先将这两种样本搜集起来,标签分别为right(分类正确)和wrong(分类出错)。首先可以从直观感受出发,看二者是否有什么明显不同;为了量化这种不同,我们需要从图像中提取一些特征。图像的特征就很多了,点特征包括SIFT,ORB,SURF等,还有局部特征,区域特征等。因为我们用到的图像纹理性较强,在这里介绍几种基于灰度共生矩阵Gray Level Co-occurrence Matrix,GLCM的特征。

从名字上可以看出,GLCM描述的对象是灰度图,“共生”则意味着需要有一个像素对,该像素对是成对出现的,矩阵则由于描述各种像素对出现的频数或者频率。所以说,灰度共生矩阵实际上是两个像素点的联合直方图。这两个像素点的关系是提前约定的,位置f(x,y)f(x+a,y+b)的灰度值分别为m和n,m和n的取值范围会是[0~L],L是图像的灰度级。m和n构成GLCM中矩阵G_L_{\times }_L中的坐标,该坐标处的值则是相对位置和绝对灰度值符合约定的像素对出现的次数。

既然相对位置是提前约定的,我们可以约定几种,包括左右关系,45度,135度等,这样对于一个图像,可以得到多个灰度共生矩阵,从而实现旋转不变性。

一般不直接使用灰度共生矩阵来做特征。基于灰度共生矩阵,Haralick计算得到了14种统计量,包括对比度,熵,能量,相关性,二阶矩等。

使用python中的scikit-image包可以方便地得到GLCM及其对应的纹理特征。

from skimage.feature import greycomatrix, greycopropsglcm = greycomatrix(glcm_window, [1], [0],  symmetric = True, normed = True )#Calculate contrast and replace center pixelcontrast = greycoprops(glcm, 'contrast')

其中greycomatrix函数,第一个参数是输入的array型的图像,第二第三个参数约束了像素的相对位置。第二第三个参数都是list,list的长度就决定了最终会得到几个GLCM,第二个参数中每个元素表示像素点对的间距,第三个参数则表示点对的方向,如np.pi/2.当symmetric是True时,意味着矩阵是对称的,这实质上是说像素点对中的两个位置是可交换的。nomed则表示是否对频数进行归一化得到频率。

\\contrast=\sum_{i,j=0}^{levels-1} P_{i,j}(i-j)^2\\ \\dissimilarity=\sum_{i,j=0}^{levels-1} P_{i,j}\mid i-j\mid\\ \\homogeneity=\sum_{i,j=0}^{levels-1}\frac{ P_{i,j}}{1+(i-j)^2}\\ \\ASM=\sum_{i,j=0}^{levels-1}P_{i,j}^2\\ energy=\sqrt{ASM}\\ \\correlation=\sum_{i,j=0}^{levels-1} P_{i,j}\left[ \frac{ (i-\mu_i)(j-\mu_j)}{ \sqrt{(sigma_i^2)(sigma_j^2)}} \right]\\

基于GLCM可以计算得到矩,其实将图像看作是二维灰度密度函数,可以直接从图像中也可以计算出矩特征https://www.cnblogs.com/ronny/p/3985810.html

E[(x-c)^k]表示X关于c点的k阶矩。均值、方差都是矩的特殊情况。二维离散情况下,几何矩(不减去均值)和中心矩(具备平移不变性)分别为:

m_p_q=\sum\sum{i^pj^qf(i,j)}

u_p_q=\sum\sum{(i-\bar{i})^p(j-\bar{j})^q}f(i,j)

m_0_0表示图像均值,m_1_0,m_0_1则在x和y方向取加权均值,从而得到图像的质心。二阶矩m_1_1,m_2_0,m_0_2则可以确定图像的惯性方向。

正如方差一样,中心矩可以使用几何矩及x,y的均值表示。

Hu矩则是在普通矩的基础上构建的一个矩组(长度为7,从1到7越来越复杂),具有平移,尺度,旋转不变性,同时对噪声和模糊也具有鲁棒性。

Hu矩的缺点是不包含太多图像细节信息,高阶矩易受噪声影响。Zernike基于Zerniike多项式的正交化函数,可以构造任意高阶矩,用少量的矩来重建图像。

http://www.voidcn.com/article/p-kfrwdpkx-bye.html

http://murphylab.web.cmu.edu/publications/boland/boland_node26.html

https://zhuanlan.zhihu.com/p/90235253

https://blog.csdn.net/guanyuqiu/article/details/53117507

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

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

相关文章

排序算法--(冒泡排序,插入排序,选择排序,归并排序,快速排序,桶排序,计数排序,基数排序)

一.时间复杂度分析 - **时间复杂度**:对排序数据的总的操作次数。反应当n变化时,操作次数呈现什么规律 - **空间复杂度**:算法在计算机内执行时所需要的存储空间的容量,它也是数据规模n的函数。 1.例题: 有一个字符串数组&…

肠里细菌“肚里蛔虫”:肠脑研究缘何越来越热

来源:科学网最懂你大脑的,可能不是“肚子里的蛔虫”,而是肠子里的细菌——肠道菌群对神经系统、心理和行为方面的影响正成为一个新兴热点领域。在日前举办的美国神经科学学会年会上,一张海报上的大脑切片显微镜图像显示&#xff0…

SVM原理与实战

先看线性可分问题。对于线性可分,其实感知机就可以解决。但是感知机只是找到一个超平面将数据分开,而这样的超平面可能是平行的无限多个,我们需要在这其中找到最优的一个。怎么衡量一个超平面是不是最优的呢,直观上讲,…

2014-01-01

一:HyperlinkButton点击后打开新窗口的方法 1,直接在界面中写这段代码就可以了: <HyperlinkButton NavigateUri"http://www.cnblogs.com/wsdj-ITtech/" Content"Click Me" TargetName"_blank" FontSize"28" Height"50"…

李飞飞高徒:斯坦福如何打造基于视觉的智能医院?

作者&#xff1a;Albert Haque、Michelle Guo来源&#xff1a;机器之心自 2009 年担任斯坦福人工智能实验室和视觉实验室的负责人&#xff0c;李飞飞在推动计算机视觉方面研究的同时&#xff0c;还密切关注 AI 医疗的发展。昨日&#xff0c;李飞飞离任斯坦福 AI 实验室负责人一…

tensorflow知识点

一.bazel编译tensorflow注意版本号: 在/tensorflow/tensorflow/configure.py 查看bazel版本号 https://github.com/tensorflow/tensorflow https://github.com/bazelbuild/bazel/releases?after0.26.1 https://tensorflow.google.cn/ 二&#xff0c;基础知识点 1.打印出…

eclipse中如何导入jar包

如图&#xff0c;首先右键点击项目&#xff0c;选择最下面的properties&#xff0c; 然后进去之后点击java build path&#xff0c;右边会出来4个选项卡&#xff0c;选择libraries&#xff0c; 这时候最右边会有多个选项&#xff0c;第一个add jars是添加项目文件中的jar包&…

线性-LR-softmax傻傻分不清楚

softmax 对于分类网络&#xff0c;最后一层往往是全连接层&#xff0c;如果是N分类&#xff0c;那么最终的全连接层有N个结点。很显然&#xff0c;每个节点对应一个类&#xff0c;该节点的权重越大&#xff0c;说明网络越倾向于认为输入样本属于该类。这其实就是Softmax的思想…

一图看懂国外智能网联汽车传感器产业发展!

来源&#xff1a;赛迪智库编辑&#xff1a;煜 佳未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能&#xff0c;互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&#…

深度学习中的信息论——交叉熵

信息量 可以说就信息量是在将信息量化。首先信息的相对多少是有切实体会的&#xff0c;有的人一句话能包含很多信息&#xff0c;有的人说了等于没说。我们还可以直观地感觉到信息的多少和概率是有关的&#xff0c;概率大的信息也相对低一些。为了量化信息&#xff0c;一个做法…

传统手工特征--opencv

一&#xff0c;颜色特征&#xff1a; 简单点来说就是将一幅图上的各个像素点颜色统计出来&#xff0c;适用颜色空间&#xff1a;RGB&#xff0c;HSV等颜色空间&#xff0c; 具体操作&#xff1a;量化颜色空间&#xff0c;每个单元&#xff08;bin&#xff09;由单元中心代表&…

特写李飞飞:她激励了人工智能的发展,更要给人工智能赋予人的价值

文 | MrBear 编辑 | 杨晓凡来源&#xff1a;雷锋网摘要&#xff1a;李飞飞无疑是人工智能界最响亮的名字之一。她既对机器学习领域的发展做出了杰出的贡献&#xff0c;也是普通大众眼中温和的人工智能技术宣扬者&#xff0c;还是谷歌这一科技巨头的人工智能技术领导人之一。WI…

Chap-4 Section 4.2.4 指令修正方式

对于X86平台下的ELF文件的重定位入口所修正的指令寻址方式只有两种&#xff1a;绝对近址32寻址和相对近址32寻址。 这两种指令修正方式每个被修正的位置的长度都为32位&#xff0c;即4个字节&#xff0c;而且都是近址寻址&#xff0c;不用考虑Intel的段间远址寻址。r_info成员的…

没见过女人的小和尚——SVDD

是的&#xff0c;即便是出生在山上的小和尚&#xff0c;从来没有下过山&#xff0c;没有见过女人&#xff0c;但是一旦有女施主上山&#xff0c;小和尚依然可以轻松地区分出眼前的人是如此不同。 传统的SVM是寻找一个超平面&#xff0c;而SVDD寻找的超平面更进一步&#xff0c…

解读GAN及其 2016 年度进展

作者&#xff1a;程程 链接&#xff1a;https://zhuanlan.zhihu.com/p/25000523 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 GAN&#xff0c;全称为Generative Adversarial Nets&#xff0c;直译为生成式对抗网络…

全国首套中小学生人工智能教材在沪亮相

来源&#xff1a;网络大数据中小学 AI 教材正式亮相11 月 18 日&#xff0c;优必选与华东师范大学出版社共同发布了《AI 上未来智造者——中小学人工智能精品课程系列丛书》&#xff08;以下简称“AI 上未来智造者”丛书&#xff09;。据了解&#xff0c;该丛书根据教育部“义务…

numpy基础知识点

1. np.squeeze 一,np.squeeze """ np.squeeze 删除单维度的条 对多维度无效 """ import numpy as np anp.array([[1,2],[3,4],[4,5]]) print(a) print(a.shape) bnp.squeeze(a) print(b) ca.reshape(1,6,1) print(c) print(np.squeeze(c)) pri…

从智能交通到智能能源:智慧城市在7个方面的应用实践

来源&#xff1a;资本实验室目前&#xff0c;智慧城市已经成为全球众多城市未来规划和设计的方向&#xff0c;并致力于通过各种新技术的应用来改善城市居民的工作与生活。但什么样的技术应用能够推动智慧城市的建设&#xff1f;如何让新技术在智慧城市中的应用效率最大化&#…

别以为if slse很简单——决策树

怎么分——熵与Gini指数 熵&#xff0c;表示信息量的期望&#xff0c;含义是混乱程度&#xff0c;也是对随机变量编码所需的最小比特数。请参考之前的文章。 信息增益建立在熵之上&#xff0c;是选择某特征之后熵减少的多少&#xff08;熵减少即信息增加&#xff09;&#xf…

tensorflow实现回归

直线拟合&#xff1a;yw*xb """ 回归:直线拟合 """ import tensorflow as tf import numpy as np import matplotlib.pyplot as plt x_datanp.random.rand(100) y_datax_data*51Wtf.Variable(0.) btf.Variable(0.) y_predW*x_databxtf.placehol…