新规实施:申请手机号码将全面实行人脸比对
06-18
字数:阅读时间:10分钟这篇文章介绍了我的经历和课程内容,但我相信其他大学的课程和这些不太一样我学过会有很大的不同。因此,读者可以以本文为窗口,了解机器学习和计算机视觉方面的硕士学位课程和内容。
作者:Richmond Alake 网址:基础统计和概率研究编程语言背景计算机科学、数学、物理或电气和机械工程本科学习现在介绍我在攻读机器学习硕士学位时学到的关键信息。 1.计算机视觉 让我从课程中最强大的模块开始。
我真正感兴趣的机器学习领域是计算机视觉和深度学习,也许我被这个领域吸引是因为正在开发的技术可以产生立竿见影的影响。过去几十年来,媒体对计算机视觉技术的进步表示赞赏。
迅速兴起的面部识别系统不容忽视。现在主要国际机场、银行和政府机构都配备了面部识别系统。
我的硕士课程在计算机视觉方面非常结构化。您不应该期望直接跳到实施和分析最先进的技术。
事实上,你后退了几步。您将首先获得基本图像处理技术的知识,这些技术是在我们今天看到和使用的先进计算机视觉技术引入之前开发的。
摄影:Gery Wibowo on Unsplash 在深度学习中,我们了解到卷积神经网络的较低层从输入图像中学习较低级别的模式,例如线条和边缘。然而,在将卷积神经网络(CNN)引入计算机视觉之前,存在一些基于启发式的技术来检测感兴趣区域并从图像中提取特征。
我的计算机视觉研究通过了解这些基于启发式的技术如何工作以及它们如何在实际应用中使用的知识,确保了我对该领域的基础知识的理解。计算机视觉研究让我了解了处理图像、提取特征并对从图像中获得的描述符进行分类的传统机器学习技术。
以下是我在计算机视觉研究期间介绍的一些关键主题和术语: 随意跳过定义。我把这个放在这里是为了给好奇的人提供一些信息。
(尺度不变特征变换)SIFT:这是一种用于生成图像关键点描述符(特征向量)的计算机视觉技术。生成的描述符包含有关边缘、角点和斑点等特征的信息。
描述符可用于检测不同尺度和扭曲的图像中的对象。 SIFT 可用于物体识别、手势识别和跟踪等应用。
这是描述该技术的原始研究论文的链接。SIFT 的关键在于其检测到的特征对于缩放、平移和旋转等仿射变换具有不变性。
(定向梯度直方图)HOG:这是一种用于从图像中提取特征的技术。提取的特征来自通过图像中的边缘和角落提供的信息,更具体地说,来自图像中的对象。
该技术简单描述就是可以识别图像中的边缘(梯度)、角点和线条的位置,并且还可以获得边缘方向的信息。 HOG 描述符生成一个直方图,其中包含有关边缘分布的信息和从图像中检测到的方向信息。
该技术可用于计算机视觉应用以及图像处理。此链接包含更多信息。
主成分分析 (PCA):一种用于减少多特征数据集中特征的算法。可以通过将数据点从较高维度投影到较低平面来降低维度,但仍保留信息并最大限度地减少信息丢失。
其他值得一提的主题包括: 线性插值 无监督聚类(K-Means) 视觉词袋(视觉搜索系统) 在我学习的早期,我期望开始开发基于计算机视觉的应用程序。对象分类是一个热门话题,也是一个相对容易获得一些基础知识和实现的话题。
在我的研究中,我的任务是在 Matlab 中开发视觉搜索系统。 Matlab是一种为高效数值计算和矩阵处理而开发的编程语言,Matlab库配备了一套算法和可视化工具。
过去在 JavaScript、Java 和 Python 方面的编程经验帮助我轻松学习 Matlab 编程语法,以便我能够全身心投入到计算机视觉方面的研究中。更多信息 要实现的视觉系统相当基本,它的工作原理是通过系统传递查询图像,然后生成一组图像结果,并将这些结果传递到与查询图像类似的系统。
我应该提到的是,该系统包含一个存储图像的数据库,并用于从中提取结果图像(首先查询图像,然后输出结果图像)。这个视觉系统没有使用任何花哨的深度学习技术,而是使用了前面提到的一些传统的机器学习技术。
您只需传递一个 RGB 图像,将该图像转换为灰度,然后在该图像上施加特征提取器即可;然后,提取图像描述符并将其表示在 N 维特征空间上。在这个特征空间中,可以通过计算两个N维点之间的欧氏距离来计算相似图像。
事情开始变得严重。了解计算机视觉不仅仅限于处理图像,还可以在视频处理中应用算法和技术。
请记住,视频只是图像序列,因此您在准备和处理输入数据方面不会学到任何新东西。如果您使用 YOLO、RCNN 等对象检测框架,一系列图像中的对象跟踪似乎非常微不足道。
但要意识到,研究计算机视觉并不是使用预先训练的网络和微调。这是为了了解该领域本身多年来的发展情况以及目前的状况,而获得扎实、扎实的理解的最佳方法是研究随着时间的推移而发展的各种传统技术。
因此,对于对象跟踪任务,引入以下主题: Blob Trackers 卡尔曼滤波器 粒子滤波器 马尔可夫过程 与计算机视觉工程师的相关性 老实说,我目前没有使用任何传统的机器学习分类器,而且我不使用任何传统的机器学习分类器。我想我不会很快使用它们。
然而,为了让您了解所提到的一些技术的相关性,值得指出的是,自动驾驶汽车、车牌读取器和车道检测器采用了前面讨论的一种或两种方法。照片由 Unsplash 上的 Bram Van Oost 拍摄。
照片由 Unsplash.2 上的 TrentSzmolnik 拍摄。深度学习 深度学习是计算机视觉研究发展的必然。
计算机视觉模块中已经涵盖了一些深度学习主题,而其他深度学习主题是对传统计算机视觉技术的扩展或改进。深度学习的教学主题采用与我的计算机视觉研究类似的方法,即在继续高级主题和应用程序开发之前对该领域的基础知识有一个扎实的理解。
图片来自 kisina/Getty Images 深度学习的研究始于对像素的理解,像素是图像的基本构建块。您将很快了解到数字图像是包含像素集合的网格。
了解图像的原子基础后,您将继续了解图像如何存储在系统内存中。帧缓冲区是用于在系统内存中存储像素位置的名称(许多 mooc 不会教你这个)。
照片由 Unsplash 上的 GeryWibowo 拍摄 我还了解了相机设备如何捕捉数字图像。我不得不承认,对智能手机相机如何捕捉图像有一些直觉是很好的。
让我们继续探索一些更酷的东西。如果不了解卷积神经网络 (CNN),就无法学习深度学习,因为它们是相辅相成的。
我的研究展示了过去 20 年 CNN 的引入和发展的时间表(从 LeNet-5 到 RCNN),以及它们在取代完成目标识别等典型计算机视觉任务的传统方式方面所发挥的作用。在我的研究过程中,我介绍了深度学习早期提出的不同 CNN 结构的探索。
AlexNet、LeNet 和 GoogLeNet 是了解卷积神经网络内部结构及其在解决对象检测、识别和分类等任务中的应用的示例。我学到的一项重要技能是如何阅读研究论文。
阅读研究论文并不是您将在本文中直接学到的技能。如果您认真对待深度学习和一般学习,那么寻找信息和研究来源总是一个好主意。
利用深度学习框架提供的预训练模型相当容易。尽管如此,高级研究仍希望您了解每个提议架构的技术和组件的内在细节,这些信息仅在研究论文中提供。
以下是深度学习模块中涵盖的主题的摘要:随意跳过定义。我把这个放在这里是为了给好奇的人提供一些信息。
多层感知器(MLP):多层感知器(MLP)是感知器逐层堆叠的结构。 MLP 由输入层、一个或多个 TLU 层(称为隐藏层)和最后一层(称为输出层)组成。
神经风格迁移 (NST):一种使用深度卷积神经网络和算法从一幅图像中提取内容信息并从另一幅参考图像中提取风格信息的技术。提取风格和内容后,生成组合图像,其中生成的图像的内容和风格来自不同的图像。
循环神经网络 (RNN) 和 LSTM:神经网络架构的一种变体,可以接受任何大小的输入作为输入并生成随机大小的输出数据。 RNN 神经网络架构用于学习时间关系。
人脸检测:该术语用于自动识别和定位图像和视频中的人脸的技术。人脸检测用于与人脸识别、摄影和情感捕捉相关的应用。
姿势推断:从提供的数字资产(例如图像、视频或图像序列)推断身体主要关节位置的过程。手势推断技术广泛应用于运动识别、人类交互、虚拟现实和 3D 图形游戏创建、机器人技术等领域。
对象识别:识别与目标对象关联的类的过程。物体识别和检测是具有相似最终结果和实现方法的技术。
尽管在各种系统和算法中,识别过程通常先于检测步骤。跟踪:一种随着时间的推移识别、检测和跟踪图像序列中感兴趣的对象的方法。
系统内跟踪的应用可以在许多监控摄像头和交通监控设备中找到。对象检测:对象检测与计算机视觉相关,描述了一种能够识别目标对象或图像中对象的存在和位置的系统。
请注意,可能需要检测一个或多个对象。其他值得注意的主题和子主题包括神经网络、反向传播、CNN 网络架构、超分辨率、手势识别、语义分割等。
与计算机视觉工程师的相关性这基本上是我的主要收入来源。到目前为止,我已经将人脸检测、手势识别、姿势估计和语义分割模型集成到边缘设备上以用于游戏目的。
在我目前的角色中,我实施、训练和评估许多深度学习模型。如果你想在先进公司使用大量前沿算法和工具,那么深度学习是一个可以让你走在人工智能实际商业开发最前沿的领域。
3. 论文 硕士论文的目的是让你能够运用在学习期间获得的所有技能、知识和直觉来设计基于现实生活的问题的解决方案。我的论文是基于计算机视觉技术的四足动物的运动分析。
姿势推断是我用于运动分析的核心计算机视觉技术。这是我第一次接触深度学习框架领域。
我决定我的运动分析解决方案将是利用卷积神经网络的基于深度学习的解决方案。为了选择框架,我在 Caffe 和 Keras 之间左右为难,但我选择了 PyTorch,因为它具有与任务相关的现成可用的预训练模型。
Python 是我选择的编程语言。以下是我从论文中学到的项目列表: 迁移学习/微调 Python 编程语言 C# 编程语言 位姿推断的理论知识 有关如何使用 Unity3D 进行模拟的知识 使用 Google Cloud Platform 的经验 有关运动分析的更多信息 运动分析是该术语用于指从清晰运动图像或运动序列图像的汇编中获取运动信息和细节的过程。
使用运动分析的应用和操作的结果以最直接的形式详细介绍运动检测和关键点定位。复杂的应用程序可以利用顺序相关的图像来逐帧跟踪对象。
目前,运动分析及其各种应用形式在处理时态数据时提供了显着的好处和丰富的信息。不同的行业受益于运动分析提供的结果和信息。
医疗保健、制造、机械、金融等行业都有各种应用运动分析来解决问题或为消费者创造价值的用例和方法。整个行业使用运动分析的多样性间接引入了运动分析的各种模式,例如姿势推断、对象检测、对象跟踪、关键点检测和其他不同的子集。
有关论文的更多信息本文提出了一种使用计算机视觉和机器学习技术进行运动分析的方法。该方法使用四足动物的合成图像作为数据集来训练预训练的关键点检测网络。
KeypointRCNN 是 Pytorch 库中的内置模型,扩展了原始 FastRCNN 和 Faster RCNN 的功能。本文的方法修改了在 COCO 目标检测和分割数据集上预训练的 Keypoint-RCNN 神经网络架构,并使用合成数据集重新训练最后一层。
通过扩展用于人体 17 个关节的人体关键点检测的基线框架,我提出了该框架的扩展,可以预测多个 26 关节四足动物的主要关节位置。论文结果片段使用定性和定量评估策略来展示改进的 Keypoint-RCNN 架构在预测合成四足动物关键点方面的视觉和度量性能。
如果你已经做到了这一步,我为你鼓掌……让这篇文章结束吧。 4.总结机器学习领域正在迅速变化;我的课程内容与当前的研究状况相关。
现在进入2019年,我们看到机器学习在其他一些领域做出了巨大的贡献。因此,如果您参加机器学习课程并且正在学习我在本文中未涵盖的主题或主题领域,请不要感到惊讶。
所以不要忘记,在人工智能领域,作为一名机器学习实践者,你不仅需要学习如何自己创建模型,还必须不断学习才能跟上新研究的步伐。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-17
06-17
06-18
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用