将深度学习与传统计算机视觉进行比较

原创 | 文 BFT机器人 

深度学习 (DL) 在数字图像处理中用于解决难题(例如,图像着色、分类、分割和检测)。卷积神经网络 (CNN) 等深度学习方法通过使用大数据和丰富的计算资源提高预测性能,突破了可能性的界限。

深度学习是机器学习的一个子集。

人工神经网络 (ANN) 是一种受人脑功能启发的计算范式,是深度学习的核心。它包含许多计算单元或“神经元”,它们执行简单的操作并相互交互以做出决定,就像人脑一样。深度学习是关于准确、高效、无监督学习或跨越许多神经网络层的“信用分配”

由于处理硬件的进步,它最近引起了人们的兴趣。自组织和利用小型单元之间的交互已被证明比中央控制执行得更好,特别是对于复杂的非线性过程模型。可以实现更好的容错性和对新数据的适应性。

深度学习是否导致传统计算机视觉(CV) 技术过时?深度学习是否取代了传统的计算机视觉?当 DL 看起来如此有效时,是否还有必要研究传统的 CV 技术?这些都是近年来社会上提出的问题。这篇文章将提供深度学习和传统计算机视觉的比较。

01

深度学习的优势

深度学习和设备功能(例如计算能力、内存容量、图像传感器分辨率、功耗和光学)的快速进步提高了基于视觉的应用程序的性能和成本效益,加速了它们的传播。

与传统的 CV 技术 (SLAM) 相比,DL 允许 CV 工程师在图像分类、语义分割、对象检测以及同时定位和映射方面实现更高的准确性。因为 DL 应用程序使用经过训练而非编程的神经网络。他们通常需要较少的专家分析和微调,并且可以利用当今系统中可用的海量视频数据。

与更多领域特定的 CV 算法相比,我们可以以移动机器人上的目标检测问题为例来比较这两种计算机视觉算法:对于目标检测,传统方法是使用成熟的 CV 技术,如特征描述符(SIFT、SURF、BRIEF 和很快)。

在 DL 出现之前,特征提取用于图像分类等任务。特征是图像中“有趣的”、描述性的或提供信息的小块。此步骤可能涉及各种 CV 算法,例如边缘检测、角点检测或阈值分割。分析图像的尽可能多的特征,这些特征用于为每个对象类创建一个定义(称为词袋)。在部署阶段在其他图像中搜索这些定义。

传统方法的问题在于它需要确定每个图像中哪些特征是重要的。

随着要分类的类别数量的增加,特征提取变得越来越困难。为了确定哪些特征最能描述不同类别的对象,CV 工程师必须使用他或她的判断并经历漫长的试错过程。此外,每个特征定义都需要管理大量参数,CV 工程师必须对所有这些参数进行微调。

端到端学习是由 DL 引入的,其中机器只是简单地获得一个图像数据集,并用每个图像中存在的对象类别进行注释。

众所周知,DNN 优于传统算法,尽管需要在计算要求和训练时间方面做出权衡。所有最先进的 CV 方法都使用这种方法,CV 工程师的工作流程发生了巨大变化,提取手工制作特征的知识和专业知识被迭代深度学习架构的知识和专业知识所取代。

近年来,CNN 的发展对 CV 产生了巨大的影响,并导致物体识别能力的显着提高。计算能力的提高和可用于训练神经网络的数据量的增加使得这种进步得以实现。

开创性论文 ImageNet Classification with Deep Convolutional Neural Networks 已被引用超过 3000 次,这表明最近 CV 的各种深度神经网络架构呈爆炸式增长并得到广泛采用。CNN 使用内核(也称为过滤器)来检测整个图像的特征(例如边缘)。

内核只是经过训练以检测特定特征的值的加权矩阵。

顾名思义,CNN 背后的主要思想是在给定输入图像上对内核进行空间卷积,以查看是否存在它应该检测的特征。

卷积运算通过计算核与核重叠的输入区域的点积来执行,以提供一个值,该值表示存在特定特征的置信度(核正在查看的原始图像区域是称为感受野)。卷积层的输出与偏置项相加,然后馈送到非线性激活函数以帮助学习内核权重。

这些激活函数是根据数据的性质和分类任务来选择的。例如,ReLU 被认为具有更高的生物学表现(大脑中的神经元要么放电,要么不放电)。因此,它产生更稀疏、更有效的表示,并且不易受消失梯度问题的影响,从而为图像识别任务带来更好的结果。

池化层经常跟在卷积层之后,以去除输入特征中的冗余,从而加快训练过程并减少网络消耗的内存量。

例如,Max-pooling 在输入上移动一个窗口并输出该窗口中的最大值,从而有效地减少图像的重要像素。卷积层和池化层可以在深度 CNN 中以多对形式找到。

最后,全连接层将前一层的体积扁平化为特征向量,然后是使用密集网络计算输出类/特征的分数(置信度或概率)的输出层。然后将此数据输入回归函数(如 Softmax),它将所有内容映射到具有一个元素的向量。

然而,DL 仍然主要是一种 CV 工具;例如,CV 中最常见的神经网络是 CNN。但是,卷积到底是什么?这是一种流行的图像处理方法(例如,Sobel 边缘检测)。DL 的好处是显而易见的,对最新技术的回顾超出了本文的范围。深度学习不是解决所有问题的灵丹妙药;在一些问题和应用中,更传统的 CV 算法更合适。

02

传统计算机视觉的优势

传统的基于特征的方法(例如下面列出的方法)有助于提高 CV 任务的性能:

  • 尺度不变特征变换 (SIFT)。

  • 加速稳健特征 (SURF)

  • 加速分段测试 (FAST) 的功能

  • 霍夫变换

  • 几何哈希

像SIFT和SURF这样的特征描述符通常与传统的机器学习分类算法如支持向量机和KNearest Neighbors相结合来解决CV问题。

传统的 CV 技术通常可以比 DL 更有效地解决问题,并且代码行数更少,因此 DL 有时有点矫枉过正。SIFT 甚至简单的颜色阈值和像素计数算法都不是类特定的;他们处理任何图像。另一方面,从深度神经网络学习的特征是特定于您的训练数据集的,如果构建不当,则不太可能对训练集以外的图像表现良好。

因此,图像拼接/3D 网格重建经常使用 SIFT 和其他不需要特定类别知识的算法来执行。大型数据集可用于完成这些任务。然而,这需要大量的研究,这对于封闭的应用程序是不可行的。在决定为特定的 CV 应用程序采取哪条路径时,请使用常识。

例如,在流水线传送带上,对两个产品类别进行分类,一个使用红色油漆,另一个使用蓝色油漆。如果可以收集足够的数据进行训练,深度神经网络就会起作用。另一方面,简单的颜色阈值处理可以达到相同的结果。可以使用更简单、更快速的方法来解决一些问题。

如果 DNN 在训练数据之外表现不佳会怎样?如果训练数据集太小,机器可能会过度拟合数据,无法泛化到手头的任务。由于 DNN 具有数百万个相互关系复杂的参数,因此手动调整模型的参数太困难了。DL模型以这种方式被批评为黑匣子。传统的 CV 是完全透明的,允许您评估您的解决方案是否适用于训练集之外。如果出现任何问题,可以调整参数以在更广泛的图像范围内表现良好。

当问题可以简化以部署在低成本微控制器上或通过突出数据中的某些特征、扩充数据或协助数据集注释来限制深度学习技术的问题时,今天使用传统技术。我们将在本文后面介绍各种图像转换技术,以帮助您改进神经网络训练。

最后,CV 中许多更难的问题,如机器人、增强现实、自动全景拼接、虚拟现实、3D 建模、运动估计、视频稳定、运动捕捉、视频处理和场景理解,都无法通过深度学习轻松解决,但受益于使用“传统”技术的解决方案。

文章参考:《Deep Learning Vs. Traditional Computer Vision – A Comparison》

 

更多精彩内容请关注公众号:BFT机器人

本文为原创文章,版权归BFT机器人所有,如需转载请与我们联系。若您对该文章内容有任何疑问,请与我们联系,将及时回应。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Fiddler中 AutoResponder 使用

Fiddler的 AutoResponder ,即URL重定向功能非常强大。不管我们做URL重定向,还是做mock测试等,都可以通过该功能进行实践。 下面,小酋就来具体讲下该功能的用法。 如果你想学习Fiddler抓包工具,我这边给你推荐一套视频…

SublimeText汉化

第一步:快捷键CTRLshiftp,弹出查找栏—找到install Package,并点击选择。 在这里插入图片描述 第二步:再次弹出的框中,选择ChineseLocalizations或者Chinese,等待安装完毕即可(页面窗口会有提示…

Python学习48:简易英汉字典

类型:字典‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ 描述‪‬‪‬…

【Mybatis】

1、Mybatis标签中resultType和resultMap的区别 在查询进行映射的时候,返回类型可以用resultType,也可以用resultMap,但是resultMap的功能更强大! 1. resultType是直接表示返回类型的(对应着我们的model对象中的实体); 武断一点来…

【夜深人静学数据结构与算法 | 第二篇】后缀(逆波兰)表达式

目录 前言: 中缀表达式: 后缀表达式: 中缀表达式转后缀表达式: 后缀表达式计算结果: 总结: 前言: 计算机在计算四则运算的时候,由于括号以及运算优先级的存在,并不…

外卖订单管理系统(Javaweb+Mysql)

程序源码 可以通过上方代码包.rar文件下载,也可以在下方链接下载 链接: https://pan.baidu.com/s/1OruBEcEK70DtUbvA8UIE-w?pwddkdg (数据库sql文件在项目根目录下data -> sql) 设计报告 【金山文档】 外卖订单管理系统设计报告 http…

又双叒反转?美国院士复现室温超导!

室温超导又双叒反转? 没错,就是今年3月差点掀翻物理界的“21℃室温超导新材料”成果,来自美国罗彻斯特大学Ranga Dias团队。 尽管存在置疑,目前原论文仍然在《自然》期刊上可以查阅、并没有撤稿。 当时国内外很多团队都立刻尝试复…

【C++】STL的string容器介绍

目录 1、string容器 1.1声明一个c字符串 1.2string和c字符数组的比较 1.3string类操作函数介绍 1.3.1赋值操作 1.3.2字符串拼接 1.3.3字符串查找 1.3.4字符串替换 1.3.5字符串比较 1.3.6字符存取 1.3.7字符串插入 1.3.8字符串删除 1.3.9子串获取 1、string容器 在…

5、alibaba微服务nacos的引入和使用

1、项目中引入nacos 父项目中已经引入了spring-cloud-alibaba&#xff0c;这个里面就已经包含nacos依赖了&#xff0c;所以在子项目中引入nacos依赖不用添加版本信息 <dependencies><dependency><groupId>org.springframework.boot</groupId><arti…

商家中心之java商城 开源java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c

1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家平台&#xff08;H5/公众号、小程序、APP端&#xff08;IOS/Android&#xff09;、微服务平台&#xff08;业务服务&#xff09; 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

终极攻略!如何彻底防止Selenium被检测!

在使用Selenium进行爬虫时&#xff0c;许多朋友都会遇到各种反爬措施。 实际上&#xff0c;在绝大多数情况下&#xff0c;网站轻而易举地能够检测出你正在使用WebDriver而非标准浏览器。 本文将详细介绍如何有效防止检测的方法。 在一篇公众号文章《别去送死了。Selenium 与…

【微信支付】微信v3支付案例,SpringBoot集成IJPay实现微信v3支付

前言 这篇文章主要实现一下通过IJPay来实现微信v3支付案例&#xff0c;本篇文章使用的是JSAPI即小程序支付 IJPay码云仓库&#xff1a;https://gitee.com/javen205/IJPay/tree/dev IJPay官方文档&#xff1a;https://javen205.gitee.io/ijpay/ 准备工作 导入依赖 <depen…

Web网页端IM产品RainbowChat-Web的v5.0版已发布

一、关于RainbowChat-Web RainbowChat-Web是一套Web网页端IM系统&#xff0c;是RainbowChat的姊妹系统&#xff08;RainbowChat是一套基于开源IM聊天框架 MobileIMSDK(Github地址) 的产品级移动端IM系统&#xff09;。 ► 详细介绍&#xff1a;http://www.52im.net/thread-248…

【AI面试】损失函数(Loss),定义、考虑因素,和怎么来的

神经网络学习的方式,就是不断的试错。知道了错误,然后沿着错误的反方向(梯度方向)不断的优化,就能够不断的缩小与真实世界的差异。 此时,如何评价正确答案与错误答案,错误的有多么的离谱,就需要一个评价指标。这时候,损失和损失函数就运用而生。 开始之前,我们先做…

基于Java网络游戏公司官方平台设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a; ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精…

FastDFS高可用集群部署安装

1、环境信息&#xff1a; 服务器部署服务16.32.15.200Tracker(调度工作)、Storage(存储)、Nginx、Keepalived16.32.15.201Tracker(调度工作)、Storage(存储)、Nginx、Keepalived16.32.15.202以上两台的VIP地址 2、部署FastDFS 正常部署 FastDFS 此处省略,参考&#xff1a;Fa…

Vue中如何进行表格合并与拆分

Vue中如何进行表格合并与拆分 在Vue应用程序中&#xff0c;表格是一个非常常见的组件。有时候我们需要对表格进行合并或拆分来满足特定的需求。在本文中&#xff0c;我们将介绍如何在Vue中进行表格的合并和拆分。 如何进行表格合并&#xff1f; 表格合并是指将多行或多列的单…

可视化分析碳化硅产业,我国2022年碳化硅功率器件应用规模达近百亿元

碳化硅&#xff08;SiC&#xff09;&#xff0c;又叫金刚砂&#xff0c;它是第三代化合物的半导体原材料。在新能源市场行业发展的推动下&#xff0c;能源的高效率利用转化&#xff0c;带动了碳化硅&#xff08;SiC&#xff09;产业市场的快速发展。 下面我们来利用可视化图表…

如何选择接口测试工具?

目录 前言&#xff1a; 一、易用性 二、灵活性 三、可靠性 四、成本 如何正确选择接口测试工具 测试用例 接口测试数据 自动化测试 测试报告 总结 前言&#xff1a; 接口测试是一种重要的测试类型&#xff0c;常用于Web应用程序和服务的测试。选择一个合适的接口测…

浅析视频监控技术及AI发展趋势下的智能化视频技术应用

视频监控技术是指通过摄像机对指定区域进行实时视频直播、录制、传输、存储、管理和分析的技术系统。它可以用于监控各种场所&#xff0c;如校园、工厂、工地、工作场所、公共区域、交通工具等。视频监控技术主要涉及到以下几个部分&#xff1a; 1、摄像机 摄像机是视频监控技…