掌握计算机视觉开发技能的8个步骤
如果您最近在社交媒体上关注FaceApp炒作和狂热,并尝试使用此AI应用程序来查看您在成熟的年龄中的样子,那么您肯定会发现计算机视觉技术背后的所有力量。虽然他们还处于初期阶段,我们尚未在各个领域和垂直行业看到更具吸引力和发人深思的计算机视觉用例,但您有机会获得并掌握您的AI技能并通过成为计算机愿景来满足未来的需求大师。
在与几位致力于人工智能和计算机视觉项目的开发人员交谈之后,我提出了八个步骤,成为一名出色的计算机视觉开发人员。但是,在深入研究每个步骤之前,让我们看一下计算机视觉技术最适合的案例:
- 图像分割
- 物体检测
- 图像分类
- 随时间跟踪移动物体
- 人脸检测和识别
- 光学字符识别
- 图像生成
今天计算机视觉专家所需的基本技能:
- Python语法
- 数学分析
- 线性代数
- OpenCV库
- TensorFlow深度学习框架
现在让我们回顾一下掌握计算机视觉技能的8个步骤。
Step1:基本成像技术
你可以先看看约瑟夫·雷蒙(Joseph Redmon)所说的“计算机视觉的古老秘密”这个优秀的Youtube系列。然后请务必阅读Richard Szeliski撰写的“计算机视觉:算法和应用”。该书涉及计算机视觉方法,如图像形成和处理,特征检测和匹配,分割,基于特征的对齐,计算摄影,3D重建和渲染。总而言之,它应该成为您的手册和计算机视觉开发世界的重要指南。要从上述书中练习和练习您的知识,请尝试使用此OpenCV工具。该网站还包含许多教程,可帮助您练习GUI功能,图像处理,视频分析,摄像机校准以及解决不同的计算机视觉挑战。
Step2:运动跟踪和光流分析
光流是通过相对于场景移动观察者或对象而获得的一系列对象的图像。参加关于Udacity的计算机视觉课程,特别注意有关渐变渐变的第6课。本课程的重点是在讲座中发展方法的直觉和数学,然后了解问题集中理论与实践的区别。随着课程,再次观看“计算机视觉的古代秘密” 第8集,并阅读Szeliski的书10.5和8.4节。
Step3:基本细分
在计算机视觉中,分割是将数字图像分成若干段(超像素)的过程。分割的目的是简化和/或改变图像的表示,以使分析更容易和更容易。例如,霍夫变换通过投票程序帮助找到特定类形状内的对象的不完美实例。观看这些视频以增强知识:另外,看看这个自动驾驶汽车的车道寻找项目。
Step4:拟合
不同的数据需要特定的拟合方法和特定的算法。这段视频会有所帮助!此外,阅读“计算机视觉:算法和应用”的4.3.2和5.1.1节。对于家庭作业,分析检测和跟踪地平线上的消失点。这将有力地提升您的计算机视觉技能。
Step5:匹配来自不同视点的图像
Sean Mullery的这个Youtube播放列表将派上用场。对于家庭作业,您可以使用自己的数据,如从不同角度拍摄的家具图片,并从平面图像相册在OpenCV中制作3D对象。
Step6:3D场景
如果您知道如何从平面图像创建3D对象,则可以尝试创建3D现实。考虑在Coursera上免费提供Stereo Vision,Dense Motion和Tracking课程。要修复新知识,请观看以下视频:对于家庭作业,尝试使用3D场景重建并构建实时应用程序来估计相机姿势,以便在给定2D图像及其3D纹理模型的情况下跟踪具有六个自由度的纹理对象。
Step7:对象识别和图像分类
作为深度学习的框架,TensorFlow使用起来非常方便。它是最流行的框架之一,所以你会发现很多例子。要开始使用TensorFlow中的图像,请阅读本教程。接下来,使用以下链接,考虑探索以下主题:
- 语义分割:对象,场景,活动的分类
- 物体检测(非最大抑制,滑动窗口,锚箱)
- 使用YOLO和Darknet进行实时对象检测,区域提议网络(RPN)
- 监督图像分类
- 视觉属性
- 光学字符和文本识别
- 人脸检测
对于家庭作业,创建一个TensorFlow神经网络,可以通过图像定义狗的品种。
Step8:深度学习
强烈建议您观看斯坦福大学工程学院的所有16个讲座,这些讲座涉及一系列人工智能和计算机视觉主题,从卷积神经网络到CNN架构,再到检测和分割,再到深层强化学习。链接地址:1、Python语法:https://www.edx.org/course/introduction-to-python-for-data-science-32、数学分析:http://tutorial.math.lamar.edu/pdf/Calculus_Cheat_Sheet_All.pdf3、线性代数:https://www.souravsengupta.com/cds2016/lectures/Savov_Notes.pdf4、OpenCV库:https://opencv.org/5、TensorFlow深度学习框架:https://www.tensorflow.org/
6、OpenCV工具:https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_table_of_contents_imgproc/py_table_of_contents_imgproc.html
7、计算机视觉:算法和应用:https://dzone.com/articles/8-steps-to-mastering-your-computer-vision-developm
8、自动驾驶汽车的车道寻找项目:https://github.com/udacity/CarND-LaneLines-P1
9、3D场景重建:https://docs.opencv.org/master/d4/d18/tutorial_sfm_scene_reconstruction.html
长按订阅更多精彩▼
如有收获,点个在看,诚挚感谢
掌握计算机视觉开发技能的8个步骤相关推荐
- 交易系统开发技能及面试题之c++基础特性
文章目录 概要: Q1 空类实例化对象的sizeof Q2 指针操作优先级 *p++ Q3 c-string作为map key时会有什么问题 Q4 虚函数表的Sizeof大小 Q5 new/new[] ...
- 零基础如何掌握web前端开发技能
很多零基础学员想要进入到互联网行业都会选择web前端做首选技术语言来学习,但是学习web前端不是那么容易的,想要成为一名合格的web前端工程师,所要掌握的技能一定要会,下面小编就为大家详细的介绍一下零 ...
- 敏捷开发流程的8个步骤
一.敏捷开发流程的8个步骤包括: 1.目标制定,目标对齐:通过市场调研.业务思路.风险评估制定公司规划和目标,根据这一目标产生所有部门的目标并实现对齐: 2.产品规划:产品研发部门根据目标制定产品关键 ...
- DL之IDE:深度学习之计算机视觉开发环境搭建的详细流程(Ubuntu16.04+cuda9.0+cuDNN7.4.2+tensorflow_gpu)
DL之IDE:深度学习之计算机视觉开发环境搭建的详细流程(Ubuntu16.04+cuda9.0+cuDNN7.4.2+tensorflow_gpu) 目录 1.安装nvidia驱动 2.安装CUDA ...
- 开发java程序的步骤_开发 Java 程序的一般步骤是:源程序编辑、 和 。_学小易找答案...
[多选题]财务报表分析具有广泛的用途,一般包括( ). [单选题]在财务报表分析中,投资人是指( ). [单选题]阅读下列代码,选出该代码段正确的文件名( ). class A{ void metho ...
- WCF开发入门的六个步骤
在这里我就用一个据于一个简单的场景:服务端为客服端提供获取客户信息的一个接口读取客户信息,来完成WCF开发入门的六个步骤. 1. 定义WCF服务契约 A. 项目引用节点右键添加引 ...
- java mvp开发_如何从没有软件开发技能的想法变成现实的市场MVP?️?
java mvp开发 by Mike Williams 由Mike Williams 如何从没有软件开发技能的想法变成现实的市场MVP?️? (How to go from idea to live ...
- 第十期:快来了解这五种热门的开发技能
开发人员是热门的工作岗位之一,在Indeed网站的2019年最热门工作排行榜上名次靠前.随着企业对数字化转型项目的需求不断增加,对能够开发这些数字化应用软件的个人的需求随之而来. 开发人员是热门的工作 ...
- Node.js 开发技能图谱
# Node.js 开发技能图谱 ## Node.js 语言环境搭建 - Node.js 安装(3m大法:nvm.npm.nrm) - Node.js 命令 - Node.js开发工具(推荐vscod ...
最新文章
- 复习宝典之Maven项目管理
- Data Guard出现gap sequence修复
- IP域名DNS网站登录过程
- 一个风格诡异的ABAP学习网站
- 最受IT公司欢迎的50款开源软件
- 你也能用英伟达GAN造脸了:官方实现有了,高清数据集也开源了
- 【MCM-2017】2017年数学建模美赛题目原文及翻译-C (个人思路)
- 图像识别技术原理和神经网络的图像识别技术
- 量子计算实现:量子算法的实现
- 3GPP 5G 常用协议规范下载整理
- 社会软件力量:六度分隔理论
- 第12周 上机报告 1之练习3 回文日
- linux命令之ls命令
- 在投射和录制时显示敏感信息时,免root授权确认框
- coco数据集大小分类_VOC、COCO数据集类别
- 祥云杯-re复现 (未完待续)
- DP线和HDMI线区别,优缺点,传输显示器图像速率
- Ethereum(1)—— 基本介绍
- Elliptical Head Tracking Using Intensity Gradients and Color Histograms(1998)
- android 背光灯分析,android - LCD背光灯不再工作:Android - 堆栈内存溢出