计算机视觉是目前最热门的研究领域之一!
无论是二维码识别、刷脸支付,还是智能安防、无人驾驶等,都需要用到计算机视觉技术。
而说到计算机视觉,就不得不提到OpenCV。
OpenCV作为一个历史悠久、功能丰富、社区活跃的开源视觉开发库,一方面,它提供了计算机视觉以及图像处理方面最常用最基础的功能支持,是开发的必备工具;另一方面,它在新版本中紧跟潮流,加入了对新的算法、硬件的支持。
OpenCV 基于C 编写,但提供了 Python、Ruby、MATLAB 等多种语言接口。这对于习惯使用 Python 开发的人工智能从业者来说非常方便。
OpenCV-Python集成了OpenCV C API和Python的最佳特性,成为计算机视觉领域内极具影响力和实用性的工具。
如果你是零基础小白,想要快速学会使用OpenCV-Python进行计算机视觉方面的实战开发,那么李立宗老师的这本新书——《计算机视觉40例:从入门到深度学习(0penCV-Python)》就非常适合你!
一本书,即可带你掌握计算机视觉领域的核心应用和关键点!
内容简介
本书采用OpenCV-Python为工具,介绍了计算机视觉从入门到深度学习的40个典型案例,其中每个案例都是相对独立的。
在介绍案例时,分别从算法基础、系统原理、实现流程、代码解析等角度进行了详细的阐释。对计算机视觉涉及的知识点进行了全面、系统、深入的梳理,旨在帮助读者快速掌握该领域的核心知识点。
本书特色
在内容的安排、组织、设计上秉承了如下思路:
01. 适合入门
第1部分对计算机视觉的基础知识点进行了全面的梳理,主要包括图像处理基础、Python基础、OpenCV基础。重点对计算机视觉中用到的基础理论、算法、数字图像的应用,Python程序设计基础语法,OpenCV核心函数进行了介绍。该部分内容能够帮助没有计算机视觉基础的读者快速入门,也能够帮助有一定计算机视觉基础的读者对核心知识点进行快速梳理。
02. 以案例为载体
按照知识点安排的教材,其特点在于“相互独立,完全穷尽”(MECE,Mutually Exclusive Collectively Exhaustive),能够保证介绍的知识点“不重叠,不遗漏”。但是,采用这种方式学习后有可能会导致一个问题:“我了解了每一个知识点,可是在遇到问题时,感觉无从下手,不知道该把哪些知识点拿出来组合以解决当前的问题”。
知识点是一个个的小石子,解决问题的思路是能够把许多石子串成一条漂亮项链的绳子。绳子可以赋予石子更大的意义和价值,解决问题能够让我们的知识点得以闪光。
本书采用案例的方式来介绍相关知识点。同时,尽量避免将案例作为一个孤立的问题来看待,而是更多地考虑知识点之间的衔接、组合、应用场景等。例如,我们采用了多种不同的方式实现手写数字识别,帮助大家更好地从不同的角度去理解和分析问题。
本书从案例实战的角度来展开,将案例作为一根线,将所有的知识点串起来,帮助大家理解知识点间的关系及组合运用,做到融会贯通,提高对知识点的理解和运用能力。
03. 轻量级实现
将一个问题以尽量简单明了的方式实现,能够更好地帮我们搞清楚问题的核心和算法。用最简化的方式实现系统(MVP,minimum viable product),用最小的成本和代价快速验证和迭代一个算法,更有利于理解问题、解决问题。使用现有的资源、最低的成本、最快的速度行动起来才是最关键的。所以,在本书中,我们尽可能让每一个案例简化,尽量将代码控制在100行左右。希望通过这样的设计,能够让我们更好地关注算法核心。
04. 专注算法
抽象,帮我们屏蔽了无关细节,让我们能够专注于工具的使用,极大地提高了工作效率。OpenCV及很多其他库提供给我们的函数都是封装好的,我们直接把输入传递给函数,函数就能够把需要的结果返回给我们。因此,在本书中没有对函数再做过多的介绍,而将注意力放在了实现案例所使用的核心算法上。
05. 图解
一图胜千言。当描述关系、流程等一些相对比较复杂的知识点时,单纯使用语言描述可能会让我们一时难以理解。当面对复杂的知识点时,有经验的学习者在学习时会根据知识点自己脑补出一幅关于该知识点的图,甚至会手动绘制出一幅图,来进一步理解知识点。这是因为图像能够更加清晰、直观、细致地将知识点的全局、结构、关系、流程、脉络等信息体现出来。
本书中,我们精心制作了大量的图表,希望借此能够更好地帮助大家理解相关知识点。
06. 案例全面
本书涉及案例40余个,都是在相关领域中比较典型的案例,涵盖了计算机视觉领域的核心应用和关键知识点。案例主要有:
- 基础部分:图像安全(加密、解密、信息隐藏、隐身)、图像识别(答题卡、手势、车牌、指纹、数字)、物体计数、图像检索、次品排查等。
- 机器学习:KNN字符识别(数字、字母)、数独求解(KNN)、SVM数字识别、行人检测、艺术画(K均值聚类)等。
- 深度学习:图像分类、目标检测(YOLO、SSD方法)、语义分割、实例分割、风格迁移、姿势识别等。
- 人脸相关:人脸检测、人脸识别、勾勒五官、人脸对齐、表情识别、疲劳驾驶检测、易容术、性别与年龄识别等。
部分案例展示
行人检测
目标检测与实例分割
图像风格迁移效果
表情识别
根据嘴型判断表情
驾驶员疲劳监测
数字手势识别
隐身术
换脸术
识别性别年龄
特征匹配
姿势识别
缺陷检测
细胞计数
部分示意图展示
车牌识别流程图
驾驶员疲劳监测流程图
隐身术原理图
数字水印流程图
图像滤波示意图
数字识别流程图
数字识别原理图
图像哈希流程图
答题卡识别基本原理