热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

卷积滤波器如何提取图像特征

本文首发于集智专栏:https:jizhi.imblogpostzen_bra在卷积:如何成为一个很厉害的神经网络-知乎专栏中,热心网友提出了这样的问题:该文在卷积神经网络的构成上讲解的

本文首发于集智专栏:https://jizhi.im/blog/post/zen_bra


在卷积:如何成为一个很厉害的神经网络 - 知乎专栏中,热心网友提出了这样的问题:

该文在卷积神经网络的构成上讲解的比较直观,但是没有深入地探讨数学原理。本文将详细介绍卷积滤波器的具体机理,当然不要担心数学问题,只要能熟练掌握百以内加减法和九九乘法表就可以。

之前在微博上关于神经网络的探讨中,话题走向奇怪地走向了奶子(计划通り),并且王司图也做出了召唤柏木由纪的承诺,所以这次就以柏木由纪的照片为例,讲解图像处理的基本法。


01. 暗中观察

现在我们谈的“人工智能”都是弱人工智能,更确切地说,还是辅助计算工具。我们不能因为有了神经网络,就像卡兹一样停止思考。

所以不管借助神经网络解决任何问题,第一步也是最关键的一步,就是了解你的问题本身。反映在具体的应用上,就是要摸清业务背后的逻辑关系,而不是把数据往黑盒里一扔,开始准备炼丹。如果一遍摸不清,那就再摸一遍。

现在我们要做一个物体识别的程序,上图中可供识别的物体并不多,唯一凉鞋、一裤头、一奶罩而已,那就奶罩吧。作为一个入门程序,现在那么早就处理彩色图片,是不理智、不合适的。所以我们要进行一些简化,从皮相中剥离出骨相,把最核心的数学原理公然露出,放置Play。

经过“灰度->阈值”两步,彩图变成了黑白图。接下来我们要从计算机视觉的角度去司图,所以眼前的黑不是黑,你说的白也不是白,所见诸相非相,只是像素值,0 or 1。


02. 见微知著

暂时抛开图片背景, 经过观察可知,要从人的身体上识别出奶罩和裤头,本质上是从白花花中寻找黑乎乎,其实就是从0中找到1。

那我们是不是需要整个奶罩呢?非也,只需要探测出奶罩的边缘就可以了,这就如同棋道,金角银边烂肚皮,只要围住了眼,就占住了气,从而控住了势。

卷积滤波器是一个比图片尺寸小的矩阵,这里设为3x3。我们把图片缩放至像素级(猜猜这是哪个部位),这里每一个小方格背后就是0或1了。卷积核在输入图像上来回滚动、摩擦,那么基本上会遇到三种区域(橙框):

  • 全白(肉体)
  • 全黑(奶罩)
  • 黑白(肉体和奶罩的边缘)

和下图的对应关系应该也很明显。

这时候,我们的卷积核就像情趣羽毛,扫遍每一个角落, 撩拨你的动感地带。

03. 掐指一算

在上文的图表中,我们已经见识到了多种滤波器和对应的滤镜效果,比如边缘检测、锐化、均值模糊、高斯模糊。

来看第三种边缘检测卷积核,其矩阵为:


-1 -1 -1

-1 8 -1

-1 -1 -1

再取包含边缘的5x5区域,对应矩阵:


0 0 1 1 1

0 0 1 1 1

0 0 1 1 1

0 0 1 1 1

0 0 1 1 1

现在这个3x3矩阵(滤波器)要在5x5矩阵上摸一遍,当然摸不是为了爽,而是为计算一个值。计算方式如下图,黄色方格与红色数字即是卷积滤波器,而计算的方式就是重叠的对应元素相乘,再相加。(注意:这不是真正的「矩阵乘法」)

因为这里的image在竖直方向上是不变的,所以只需要让filter沿着最上端滑一圈就行了,总共有三次计算:

1

2

3

最后生成的完整特征映射(Feature Map)将是:

特征映射的单元位置对应的是卷积核中心(8)的位置,特征映射的取值有三种:

  • -3:探测到奶罩边缘,且卷积核位于奶罩外侧
  • 3:探测到奶罩边缘,且卷积核位于奶罩内侧
  • 0: 没有探测到边缘特征

现在你应该已经明白了,为什么滤波器可以提取图片的特征。


推荐阅读
  • 鄂维南:从数学角度,理解机器学习的「黑魔法」,并应用于更广泛的科学问题...
    作者|Hertz来源|科学智能AISI北京时间2022年7月8日晚上22:30,鄂维南院士在2022年的国际数学家大会上作一小时大会报告(plenarytalk)。今 ... [详细]
  • 「爆干7天7夜」入门AI人工智能学习路线一条龙,真的不能再透彻了
    前言应广大粉丝要求,今天迪迦来和大家讲解一下如何去入门人工智能,也算是迪迦对自己学习人工智能这么多年的一个总结吧,本条学习路线并不会那么 ... [详细]
  • 开源真香 离线识别率高 Python 人脸识别系统
    本文主要介绍关于python,人工智能,计算机视觉的知识点,对【开源真香离线识别率高Python人脸识别系统】和【】有兴趣的朋友可以看下由【000X000】投稿的技术文章,希望该技术和经验能帮到 ... [详细]
  • 脑机接口和卷积神经网络的初学指南(一)
    脑机接口和卷积神经网络的初学指南(一) ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • Word2vec,Fasttext,Glove,Elmo,Bert,Flairpre-trainWordEmbedding源码数据Github网址:词向量预训练实现Githubf ... [详细]
  • TensorFlow入门上
    前置准备在阅读本文之前,请确定你已经了解了神经网络的基本结构以及前向传播、后向传播的基本原理,如果尚未了解,可以查看下文。神经网络初探​chrer.com也可以直接在我博客阅读Te ... [详细]
  • 基于深度学习的遥感应用
    文章目录深度学习的发展过程深度学习在遥感中的应用基于深度学习的遥感样例库建设基于深度学习的遥感影像目标及场景检索基于深度学习的建筑物提取基于深度学习的密集建筑物自动检测基于深度学习 ... [详细]
  • 老电影和图片变清晰的秘密!分辨率提升400%的AI算法
    老电影和图片变清晰的秘密!分辨率提升400%的AI算法-如上图,从100x133pix→400x532pix,除了肉眼可见的清晰,拥有可以将分辨率提升400%的技术到底意味着什么 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 2017亚马逊人工智能奖公布:他们的AI有什么不同?
    事实上,在我们周围,“人工智能”让一切都变得更“智能”极具讽刺意味。随着人类与机器智能之间的界限变得模糊,我们的世界正在变成一个机器 ... [详细]
author-avatar
莫小北
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有