什么是计算机视觉?

简介: 计算机视觉(Computer Vision)是涉及任何视觉内容计算的总称 ,包括图像、视频、图标以及涉及像素的任何内容的计算。

一、 什么是计算机视觉

计算机视觉(Computer Vision)是涉及任何视觉内容计算的总称 ,包括图像、视频、图标以及涉及像素的任何内容的计算。但在这个总称中,有一些特定的核心构建块:

在对象分类中,可以在特定对象的数据集上训练模型,并且模型将新对象分类为属于一个或多个训练类别;

对于对象识别,模型将识别为对象的特定实例。

计算机视觉的经典应用是用于数字化手写内容的手写识别。除了此之外,其他应用还包括:

视频运动分析使用计算机视觉来估计视频中的对象或摄像机本身的速度。

在图像分割中,算法将图像分成多组视图。

场景重建创建通过图像或视频输入的场景的3D模型(查看Selva)。

在图像恢复中,使用基于机器学习的滤波器从照片中去除诸如模糊的噪声。

涉及通过软件理解像素的任何其他应用程序都可以安全地标记为计算机视觉。

二、 计算机视觉如何运作

神经科学和机器学习中的一个主要开放问题是:我们的大脑究竟是如何工作的,我们如何用我们自己的算法来估算它?现实情况是,大脑计算的工作和综合理论很少; 因此,尽管神经网络应该“模仿大脑的工作方式”,但没有人确定这是否真的如此。杰夫霍金斯有一本关于这个主题的书,名为On Intelligence。

同样的悖论也适用于计算机视觉,因为我们还没有决定大脑和眼睛如何处理图像,所以很难说生产中使用的算法与我们所想的有多接近。例如,研究表明,我们认为在青蛙脑中发生的一些生物变化,实际上发生在眼睛中。我们与两栖动物相去甚远,但人类认知中存在类似的不确定性。

机器非常简单地解释图像:作为一系列像素,每个像素都有自己的一组颜色值。考虑下面的简化图像,以及如何将灰度值转换为简单的数字数组:

在这里插入图片描述

将图像视为不同方块或像素的巨大网格。图像中的每个像素都可以用数字表示,通常为0到255。右边的数字系列是软件在输入图像时看到的数字。对于图像,有12列和16行,这意味着该图像有192个输入值。

当开始添加颜色时,将变得更加复杂。计算机通常将颜色读取为一系列3个值,红色、绿色和蓝色(RGB),在相同的0 - 255范围内。现在,除了位置之外,每个像素实际上还有3个值供计算机存储。如果我们开始着色,那将有12 x 16 x 3个值或576个数字。

在这里插入图片描述

有关计算的一些观点,请考虑以下数值:

每个颜色值以8位存储。

每像素8位×3种颜色=每像素24位。

正常大小的1024 x 768图像x每像素24位=几乎19M位,或大约2.36兆字节。

这对于一个图像需要大量的内存和多次算法迭代。为了训练一个准确的模型,特别是对于深度学习,通常需要成千上万的图像,而且越多越好。即使使用转移学习来使用已经训练过的模型,仍然需要几千张图像来训练你的模型。

由于需要大量的计算能力和存储来培养计算机视觉的深度学习模型,因此不难理解为什么这两个领域的进步推动了机器学习向前发展到这种程度。

三、 计算机视觉的商业用例

计算机视觉是机器学习领域之一,其核心概念已经被整合到我们每天使用的主要产品中。谷歌正在使用地图中的图像数据来识别街道名称、企业和办公楼。Facebook正在使用计算机视觉识别照片中的人物,并使用该信息做许多事情。

不只是技术公司利用机器学习来实现图像应用。美国汽车制造商福特,自1900年代初以来大力投资自动驾驶汽车(AVs)。AV中的许多基础技术依赖于分析进入汽车的多个视频源并使用计算机视觉来分析和选择行动路径。

计算机视觉可以帮助的另一个主要领域是医学领域。大部分诊断是图像处理,如读取X射线,MRI扫描和其他类型的诊断。Google一直与医学研究团队合作,探索深度学习如何帮助医疗工作流程,并在准确性方面取得了重大进展。从他们的研究页面中解释:

“ 我们与医生和国际医疗保健系统密切合作,开发了一套先进的计算机视觉系统,用于阅读糖尿病视网膜病变的视网膜眼底图像,并确定我们的算法性能与美国董事会认证的眼科医生相当。我们最近在“ 美国医学会杂志”上发表了一些研究,并在博客文章中总结了这些亮点。”

在这里插入图片描述

除了突破性的东西之外,将计算机视觉集成到应用程序中变得更加容易。许多高质量的第三方提供商(如Clarifai)提供了用于标记和理解图像的简单API,而Kairos 提供了有关面部识别的功能。

四、 计算机视觉与卷积神经网络

在过去几年中,计算机视觉准确性取得的大进展,归功于一种特殊类型的算法-卷积神经网络。它是深度学习的一个子集,带有一些额外的附加操作,并且它们已被证明可以在图像相关任务上实现较大的准确性。

卷积神经网络(CNNs或ConvNets)利用神经网络的相同主要概念,在正常架构之前添加了一些步骤。这些步骤专注于特征提取,或者找到我们输入的最佳版本,这将对我们的模型产生最大程度的理解。理想情况下,这些功能将比原始的输入信息量更大。

CNN使用三种过滤器进行特征提取。

1.卷积(Convolution)

在卷积过程期间,输入图像像素由滤波器修改。这是一个矩阵(小于原始像素矩阵),将输入图像的不同部分相乘。输出(通常称为特征图 ,通常小于原始图像)理论上信息量更大。

2.线性单元(ReLU)

代表整流线性单元,这是一个简单的功能,将非线性引入特征图。所有负值都只是更改为零,从图像中删除所有黑色。函数表达为y = max(0,x)。

3.池化(Pooling)

在合并中,通过设定的像素宽度扫描图像,并且将这些像素的最大值、总和或平均值视为图像的部分。此过程进一步将特征图的大小减小到任何大小的因子。

所有这些操作(卷积、线性单元和池化)通常在结束特征提取过程之前连续应用两次, 然后将整个过程的输出传递到神经网络进行分类。

相关文章
|
机器学习/深度学习 算法 计算机视觉
使用深度学习进行图像识别
在当今技术飞速发展的时代,深度学习已经成为计算机视觉领域中最具前景和有影响力的技术之一。它的应用范围广泛,尤其在图像识别方面表现出色。本文将介绍使用深度学习进行图像识别的基本原理和步骤。
143 0
|
1天前
|
机器学习/深度学习 自然语言处理 算法
深度学习在图像识别中的应用
本文将探讨深度学习在图像识别领域的应用,包括卷积神经网络(CNN)的原理、架构以及在图像识别中的优势。通过实例分析,我们将展示如何构建和训练一个深度学习模型来处理图像识别任务,并讨论其在实际场景中的应用潜力。
20 15
|
4月前
|
机器学习/深度学习 人工智能 监控
探索深度学习在图像识别中的应用
本文旨在探讨深度学习技术如何革新图像识别领域,通过分析深度学习模型的工作原理及其在图像处理中的具体应用案例,揭示这一技术如何提高识别精确度并解决传统方法难以克服的问题。文章将详细讨论卷积神经网络(CNN)的结构优势、训练技巧以及在实际场景中的应用效果,同时指出当前面临的挑战和未来的发展方向。
|
25天前
|
机器学习/深度学习 人工智能 安全
深度学习在图像识别中的突破与未来####
【10月更文挑战第19天】 本文探讨了深度学习技术在图像识别领域的最新进展,重点分析了卷积神经网络(CNN)的演变、创新应用及面临的挑战。通过实例展示了深度学习如何革新图像处理技术,并展望了其在未来智能视觉系统中的潜力。 ####
34 2
|
10天前
|
机器学习/深度学习 自动驾驶 算法
利用深度学习进行图像识别
利用深度学习进行图像识别
18 0
|
2月前
|
机器学习/深度学习 监控 算法
深度学习在图像识别中的新突破
本文探讨了深度学习技术在图像识别领域的最新进展与应用,重点分析卷积神经网络(CNN)和生成对抗网络(GAN)的创新成果。通过具体案例研究,展示这些技术如何提升图像识别的准确性和效率,并讨论其未来发展方向及潜在挑战。
45 0
|
6月前
|
机器学习/深度学习 算法 自动驾驶
探索深度学习在图像识别领域的应用
【5月更文挑战第29天】 随着人工智能技术的飞速发展,深度学习已成为推动计算机视觉领域进步的核心技术之一。本文深入探讨了深度学习技术在图像识别任务中的应用,涵盖了卷积神经网络(CNN)的基本结构、训练技巧以及优化策略。通过分析多个成功案例,文章揭示了深度学习模型在处理复杂图像数据时的高效性和准确性。此外,还讨论了当前面临的挑战及未来的发展方向,为读者提供了一个全面且深入的技术视角。
|
6月前
|
机器学习/深度学习 人工智能 算法
深度学习在图像识别中的应用与实现
深度学习在图像识别中的应用与实现
42 0
|
1月前
|
存储 人工智能 开发工具
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
只需要通过向AI助理提问的方式输入您的需求,即可瞬间获得核心流程代码及参数,缩短学习路径、提升开发效率。
1432 4
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理