专栏名称: 架构师社区
架构师小秘圈,聚集10万架构师的小圈子!不定期分享技术干货,行业秘闻,汇集各类奇妙好玩的话题和流行动向!禁止截图,阅后即焚!
目录
相关文章推荐
超级数学建模  ·  这玩意,我在高铁上被问了一路! ·  3 天前  
超级数学建模  ·  限时领 | Oxford Discover ... ·  4 天前  
超级数学建模  ·  “最贵”佛跳墙?被骗的不止你们! ·  4 天前  
超级数学建模  ·  这就是中国人过年,戴红的意义! ·  3 天前  
51好读  ›  专栏  ›  架构师社区

掌握计算机视觉开发技能的8个步骤

架构师社区  · 公众号  ·  · 2019-08-06 12:11

正文

如果您最近在社交媒体上关注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中的图像,请阅读本教程
接下来,使用以下链接,考虑探索以下主题:
  • 义分割:对象,场景,活动的分类
  • 物体检测(非最大抑制滑动窗口锚箱
  • 使用YOLODarknet进行实时对象检测,区域提议网络(RPN)
  • 监督图像分类
  • 视觉属性
  • 光学字符和文本识别
  • 人脸检测
对于家庭作业,创建一个TensorFlow神经网络,可以通过图像定义狗的品种。

Step8:深度学习


强烈建议您观看斯坦福大学工程学院的所有16个讲座,这些讲座涉及一系列人工智能和计算机视觉主题,从卷积神经网络到CNN架构,再到检测和分割,再到深层强化学习。
链接地址:
1、Python语法:
https://www.edx.org/course/introduction-to-python-for-data-science-3
2、数学分析:
http://tutorial.math.lamar.edu/pdf/Calculus_Cheat_Sheet_All.pdf
3、线性代数:
https://www.souravsengupta.com/cds2016/lectures/Savov_Notes.pdf
4、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

长按订阅更多精彩▼

如有收获,点个在看,诚挚感谢