从装Python、装OpenCV、入门深度学习,到人脸识别、目标检测、语义分割等等各类应用,都有进阶路线,里面包含了教程、案例、注意事项。甚至怎样把算法部署到树莓派之类的硬件上,也能找到经验。html
推特发出12小时,已经有1200人点了赞。做者名叫Adrian Rosebrock,是个常常出产教程的宝藏男子。web
萌新的你,想要成长为一名合格的老司机,请马克这份指南。算法
而后,来看里面的内容到底有多丰富:编程
为了不“从入门到放弃”的惨剧,在你成为老司机的路上,这份指南给每一步都作了安排。网络
从目录看,大体分为两部分,左边一列是基础,右边一列是应用:机器学习
先看左边的基础装备:ide
· 应该从哪开始呢
· 深度学习
· 人脸应用
· 图像文字识别 (OCR)
· 目标检测
· 目标追踪
· 实例分割和语义分割
第一章“应该从哪开始呢”,是OpenCV的进阶路线:工具
一是安装Python和OpenCV (初) ,二是理解命令行arguments (初) ,三是用示例学OpenCV (初) ,四是本身搭个OpenCV小项目 (初) ,五是作更高级的OpenCV项目 (中) ,六是在CV的大世界里,选择本身的小方向 (中) 。性能
每一步都有须要注意的事项,还有必要的教程资源。学习
好比,怎样安装OpenCV最简单,为何不要用Windows,作项目的过程当中有哪些常见错误类型要避免。
有些步骤,还会分红多个小步骤,每一个小步又有做者的舒适建议。好比,这是第五步:
当这个章节的六步完成以后,还有一步叫“What to Next”,除了告诉你们下面应该作什么,也有一些额外的教程资源提供。
第二章“深度学习”,是算法的进阶路线,内容比第一章更丰盛,有12步:
一是构建深度学习环境 (初) ,二是训练本身的第一个网络 (初) ,三是理解CNN (初) ,四是搭个本身的图像数据集 (中) ,五是在本身的数据集上训练一个CNN (中) ,六是调整学习率 (中) ,七是数据扩增 (中) ,八是特征提取和微调预训练网络 (中) ,九是视频分类 (高) ,十是多输入和多输出网络 (高) ,十一是改进本身的网络 (高) ,十二是AutoML和AutoKeras。
依然,每一步都提供了详细的指引,有过往成功案例为你保驾。好比,这是第十二步:
从第三章“人脸应用”开始,就是在各类具体任务当中用到的算法了。
检测人脸,检测关键点,识别人脸,提高算法的准确率……也把前两章的进阶路线,贯彻进了任务里。
在这一章,做者Adrian Rosebrock频繁出镜:
第四章-第七章,文字识别、目标检测、目标追踪、实例分割和语义分割,与第三章同理,此处便不详述。
做者继续高密度出镜:
接下来看右边一列,是帮你走进现实的:
· 嵌入的和物联网用的CV
· 树莓派上的CV
· 医学领域的CV
· 搞搞视频
· 图片搜索引擎
· 大神采访,案例研究 (与教程) ,成功故事
好比,怎样把本身的算法,放进树莓派里,放进冰箱里,放进脑子里,都有详尽的玩法。
做者依然在出镜:
除此以外,还有各类成功前辈的采访,里面有一些成功案例 (或附带教程) ,是初学者能够借鉴的经验:
除了技术上的建议,这些资料也可当作美味的鸡汤,鼓舞着你一路走向人参巅峰。
万事俱备,你们能够开始修炼了。
顺便回答一下这个问题:做者说的81页,这个数究竟是怎么来的。
Start Here with Computer Vision, Deep Learning, and OpenCV - PyImageSearchwww.pyimagesearch.com
原由:因工做中会涉及到交通物流风险管理、出险理赔材料审查等内容,会涉及到大量人工介入审阅照片、视频的环节。而随着素材量的增长未来须要大量的人力来处理,致使成本高,效率低、易出错。
思考:可否经过某种技术进行照片、视频内容的审查,从而消化必定的工做量,同时提高效率?带着这样的问题,咱们锁定了CV技术。
一、首先明确CV都会在哪些领域里使用,即用途是什么?
如下是笔者在今年1月中旬于硅谷参加AI世界前沿大会时拍摄的OpenCV做者Bradski大神的演讲ppt照片(能看得清内容)。
从上图能够看出,CV或者说OpenCV用途十分普遍。那么问题来了,你确认你要学的东西在将来的学习或者工做中能够派上用处吗?若是答案是Yes。就继续往下看。
若是用一句话来解释CV,那么多是研究让机器像人同样具备可以“看”的能力,并在必要的时候给予合适的反馈(输出:好比看图说话,看视频说话 )。
从斯坦福大学李飞飞教授的CS231n课程中能够看到,须要有一些基础,以便更好的学习CV。截屏以下:
上图能够看到,须要咱们具有一些知识:
1)编程基础:Python和C++。我的理解,用Python快速实现算法;用C++实战,实时性能强。
2)数学基础:高数,线性代数、基础几率与统计
3)机器学习基础
3-1)若是你对以上内容都有必定的基础,那么恭喜你,对于入门CV,你有了好的开始。
3-2)推荐几本比较好的书籍:
一、《计算机视觉:模型、学习和推理》
入门基础书籍,讲得很清楚。我在看,很是好的与机器学习结合的CV入门书籍。英文好的同窗,建议看Prince的本来彩图书籍。 官网《英文原版彩图PDF版本》下载连接
二、《Learning OpenCV》
实战经典。推荐理由:OpenCV做者Bradski大神的书。学习CV的人是没法绕开OpenCV的。
三、《Python计算机视觉编程》
若是你有必定的Python基础,笔者强烈推荐看这本书,把CV的基本概念和算法结合代码实战,讲得比较清楚。入门佳做。它不是一上来就用OpenCV库,使得入门者容易忽视不少基础的概念算法。
四、《计算机视觉:算法与应用》
不建议入门者看。宝典型,大而全。典型的工具书。做者是Richard Szeliski,CV界大牛,图像拼接奠定人。
五、《 Multiple View Geometryin Computer Vision 》,中文版名《CV中的多视图几何》
听说是玩3D必看的一本书,包括AR/VR。不少CV专家都推荐。
3-3)视频学习,固然是斯坦福大学李飞飞教授的CS231N课程(须要扶梯),这是一门结合深度学习的CV教学视频。经典!
3-4)目前结合深度学习的CV是发展方向之一,有空能够看看花书。
这些个,我们如今一个都绕不开。
多上手,多练吧。
敲重点,划黑板!
请将下面的网站的slides看完,辅助slides中提到的书的章节,应该能够入门了,1-2个月时间便可。
固然若是有相应的数学和图像基础,有机器学习,深度学习基础能够更容易理解哦~
如下课程,均为斯坦福计算机视觉实验室的。
实验室主页:http://vision.stanford.edu/
CS 131 Computer Vision: Foundations and Applications:
http://vision.stanford.edu/teaching/cs131_fall1415/schedule.html
CS231A Computer Vision: from 3D reconstruction to recognition:
http://cvgl.stanford.edu/teaching/cs231a_winter1415/schedule.html
CS231n: Convolutional Neural Networks for Visual Recognition
http://vision.stanford.edu/teaching/cs231n/
以上三门课就能够入门了,固然还有不少其余高等级的课,能够去实验室主页看看。
资料不宜贪多,谢绝其余资料干扰,安心的把这些lectures看完。而后就能够上手作项目和看论文了。论文才是王道。