一文总览计算机视觉关键技术与应用(OpenCV YOLO ...)| 文末送书

介绍
计算机视觉是从新兴阶段发展起来的,其结果在各种应用中都非常有用。我们的手机摄像头可以识别人脸。自动驾驶汽车可以使用它来识别交通信号、标志和行人。此外,工业机器人还可以监控问题并进行导航。
计算机视觉的主要目的是让计算机像人眼一样看世界,甚至比人类更好。计算机视觉通常使用如c++、Python和MATLAB的编程语言。这是增强现实的一项重要技术。
需要学习的流行的计算机视觉工具是OpenCV、Tensorflow、Gpu、YOLO、Keras等,计算机视觉领域主要包括数字信号处理、神经科学、图像处理、模式识别、机器学习(ML)、机器人和人工智能(AI)等领域的概念。
下面我将为大家介绍“计算机视觉管道”的详细结构。
在开始之前,我们先来了解一下计算机视觉到底是什么:
计算机视觉是让计算机理解并标记图像内容的领域。
例如,请看下面的图片:
从上图中可以看出,想要解释什么是裙子,什么是鞋子,要详细说明以前从未看过的衣服并不容易。计算机视觉也面临同样的问题。
为了解决这个问题,我们需要使用大量的服装、鞋子和手袋的图片,然后告诉电脑那是什么图片,然后让电脑找出图案,让它知道裙子、鞋子、衬衫和手袋之间的区别。

计算机视觉应用程序

计算机视觉在各个领域得到了广泛的应用。下面是一些例子:
  • 识别对象和行为
  • 自动驾驶汽车
  • 医学影像分析与诊断
  • 照片标记
  • 人脸识别

计算机视觉管道

计算机视觉管道是大多数计算机视觉应用程序都要经过的一系列步骤。许多视觉应用程序首先获取图像和数据,然后处理这些数据,执行一些分析和识别步骤,最后执行一个动作。
总管道如下图所示:
了解流水线是如何实际工作的。让我们看看人脸识别的管道如下:
主要步骤或者说第一步都是关于标准化数据。让我们来了解一下标准化数据。

标准化数据

预处理图像就是要标准化输入图像,这样你就可以沿着流水线进一步移动,并以相同的方式分析图像。在机器学习任务中,预处理步骤往往是最重要的步骤之一。
例如,假设你已经创建了一个简单的算法来区分红玫瑰和其他花:
该算法计算给定图像中红色像素的数量,如果数量足够,就将其归类为红玫瑰。在这个例子中,我们只是提取了一个颜色特征。
注意:如果图像大小不同,甚至裁剪不同,那么这种计数策略可能会失败!因此,必须对图像进行预处理,以便在它们沿着管道移动之前进行标准化。

图像作为数字数据

图像中的每个像素都只是一个数值,我们也可以改变这些像素值。我们可以将每个像素乘以一个标量来改变图像的亮度,我们可以将每个像素值向右移动,以及更多的操作。
将图像处理为数字网格是许多图像处理技术的基础。大多数颜色和形状转换都是通过对图像进行数学运算并逐像素改变它来完成的。

训练一个神经网络

为了训练神经网络,我们通常提供一组标记的图像,我们可以将其与预测的输出标签或识别测量值进行比较。然后,神经网络监测它所产生的任何错误,并通过修改它如何发现和排序图像数据之间的模式和差异来纠正它们。
梯度下降法是一种使神经网络误差最小的数学方法。
X =Input
a = Activation function
W = weights in CNN
J = Loss function
Alpha = Learning rate
y = ground truth
y = Prediction
k = Number of iteration
eForm
卷积神经网络是计算机视觉应用中常用的一种特殊类型的神经网络。他们学会在一组给定的图像中识别模式。
留言送书福利

为了感谢大家长期以来的支持,久违的“送书”活动又来了

本次小编精心挑选了《深度学习笔记》送给2位粉丝。本书以一名深度学习学习者的视角展开深度学习相关的理论、技术和实践写作,详细介绍了深度学习的理论基础、通用方法和三大网络的原理与实践。全书代码以Keras框架作为范例,内容丰富,知识覆盖面广,适合想要入门深度学习的广大学习者阅读。

(0)

相关推荐