如今,计算机视觉(CV)已成为人工智能的一项重要应用(例如,图像识别、对象跟踪、多标签分类)。本文将引导你完成搭建计算机视觉系统的一些主要步骤。
计算机视觉系统的标准工作流程是:
1. 一组图像进入系统。
2. 为了对这些图像进行预处理并提取特征,使用特征提取器。
3. 机器学习系统利用提取的特征来训练模型,并做出预测。
接下来,将简要介绍数据可能在这三个不同步骤中的一些主要过程。
在尝试实现计算机视觉系统时,需要考虑两个主要组件:图像采集硬件和图像处理软件。构建计算机视觉系统要满足的一个主要要求是测试其鲁棒性。实际上,系统应该能够适应环境变化(例如光源、方向、缩放比例的变化),并能够重复执行其设计任务。为了满足这些要求,可能有必要对系统的硬件或软件进行某种形式的约束(例如,远程控制光照环境)。
从硬件设备获取图像后,可以使用多种方法在软件系统中以数字方式表示颜色(颜色空间)。两种最著名的颜色空间是 RGB(红色、绿色、蓝色)和 HSV(色调、饱和度、值)。使用 HSV 颜色空间的一个主要优点是:仅考虑 HS 分量,就可以使系统照明保持不变(如图1所示)。
图1:RGB 和 HSV 色彩空间[1]
一旦图像进入系统并使用颜色空间表示,便可以在图像上应用不同的运算符以改善其表示情况:
一旦对图像进行了预处理,便可以应用更高级的技术,以尝试通过使用一阶边缘检测(例如 Prewitt 算子,Sobel 算子,Canny 边缘检测器)和霍夫变换等方法来提取图像的边缘和形状。
对图像进行预处理后,可以使用特征提取器从图像中提取四种主要类型的特征形态:
一旦提取了一组判别特征,就可以使用它们来训练机器学习模型进行推理。使用 OpenCV 之类的库可以轻松地在 Python 中应用功能描述符。
在计算机视觉中用于对图像进行分类的一个主要概念是视觉词袋模型(BoVW)。为了构造视觉词袋模型,首先需要通过从一组图像中提取所有特征(例如,使用基于网格的特征或局部特征)来创建词汇表。接下来,可以计算提取的特征在图像中出现的次数,并根据结果构建频率直方图。使用频率直方图作为基本模板,最终可以通过比较图像的直方图来根据图像是否属于同一类进行分类(如图3所示)。
此过程可以概括为以下几个步骤:
1. 首先通过使用特征提取算法(例如 SIFT 和 Dense SIFT)从图像数据集中提取不同的特征来构建词汇表。
2. 其次,使用 K-Means 或 DBSCAN 等算法对词汇表中的所有特征进行聚类,并使用聚类质心来总结数据分布。
3. 最后,可以通过计算词汇中不同特征出现在图像中的次数从每个图像构建频率直方图。
然后,通过对要分类的每个图像重复相同的过程,然后使用任意分类算法,找出词汇表中哪个图像与测试图像最相似,可以对新图像进行分类。
如今,由于创建了诸如卷积神经网络(CNN)和递归人工神经网络(RCNN)的人工神经网络体系结构,可以为计算机视觉提出一个替代的工作流程(如图4所示)。
在这种情况下,深度学习算法结合了计算机视觉工作流程的特征提取和分类步骤。当使用卷积神经网络时,神经网络的每一层在向密集层分类器提供特征向量之前,在其描述中应用不同的特征提取技术(例如,第1层检测边缘,第2层发现图像中的形状,第3层分割图像等)。
机器学习在计算机视觉中的进一步应用包括多标签分类和对象识别等领域。在多标签分类中,旨在构建一个模型,该模型能够正确识别图像中有多少个对象以及它们属于哪个类。相反,在对象识别中,旨在通过识别图像中不同对象的位置,将进一步发展这一概念。
参考书目
[1] Modular robot used as a beach cleaner, Felippe Roza. Researchgate. Accessed at: https://www.researchgate.net/figure/RGB-left-and-HSV-right-color-spaces_fig1_310474598
[2] Bag of visual words in OpenCV, Vision & Graphics Group. Jan Kundrac. Accessed at:https://vgg.fiit.stuba.sk/2015-02/bag-of-visual-words-in-opencv/
[3] Deep Learning Vs. Traditional Computer Vision. Haritha Thilakarathne, NaadiSpeaks. Accessed at: https://naadispeaks.wordpress.com/2018/08/12/deep-learning-vs-traditional-computer-vision/
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。