前言
计算机视觉(Computer Vision,CV)主要研究如何用图像采集设备和计算机软件代替人眼对物体进行分类识别、目标跟踪和视觉分析等应用。深度学习则源自经典的神经网络架构,属于机器学习领域,它通过不同形式的神经网络,结合视觉大数据的大规模存量与不断产生的增量进行训练,自动提取细粒度的特征并组合粗粒度的特征,形成抽象化的视觉描述,在视觉分析方面取得很大的进步,是当前人工智能爆发性发展的内核驱动。随着大数据及人工智能技术的不断发展,计算机视觉以其可视性、规模性、普适性逐步成为AI落地应用的关键领域之一,在理论研究和工程应用上均迅猛发展。
MATLAB是MathWorks公司推出的一款用于科学计算和工程仿真的交互式编程软件,近几年已经发展成为集数值分析、数学建模、图像处理、控制系统、信号处理、经济金融、计算生物学、动态仿真等于一体的科学工程软件。Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,具有易学习、易拓展、跨平台等优点,被广泛应用于Web开发、网络爬虫、数据分析、人工智能等领域,是当前主流的编程语言之一。
自电子计算机诞生以来,通过计算机仿真来模拟人类的视觉便成为非常热门且颇具挑战性的研究课题。随着数码相机、智能手机等硬件设备的普及,图像以其易于采集、信息相关性多、抗干扰能力强的特点得到越来越广泛的应用。信息化和数字化时代已经来临,随着国家对人工智能领域的投入力度加大,计算机视觉处理的需求量也会越来越大,应用也将越来越广泛。
通过计算机视觉处理工具箱可为用户提供诸如图像变换、图像增强、图像特征检测、图像复原、图像分割、图像去噪、图像配准、视频处理、深度学习等功能研发的技术支撑。同时,借助MATLAB、Python方便的编程及调试技巧,用户可根据需要进一步拓展计算机视觉处理工具箱,实现定制的业务需求。
本书目的
本书以案例的形式展现,力求为读者提供更便捷、直接的技术支持,解决读者在研发过程中遇到的实际技术难点,并力求全面讲解广大读者在研发过程中所涉及的功能模块及成熟的系统框架,为读者进行科学实验、项目开发提供一定的技术支持。
通过对书中案例的阅读、理解、运行和仿真,读者可以有针对性地进行算法调试,这样可以更加深刻地理解计算机视觉与深度学习应用的含义,并且更加熟练地掌握MATLAB、Python进行算法设计与工程研发。
本书特点
◎ 作者阵容强大,经验相当丰富
本书其中一位主编刘衍琦(ID:lyqmath)是机器学习算法专家及视觉AI课程讲师,擅长视觉智能分析、多源异构数据采集和挖掘等工程应用,并长期从事视觉大数据工程相关工作,涉及互联网海量图像、声纹、视频检索,以及OCR图文检索、手绘草图智能识别、特殊通道数据分析等应用的算法架构与研发,对图文识别、大规模以图搜图、数据感知和采集等进行过深入研究,并结合行业背景推动了一系列的工程化应用。
本书另外两位主编中,詹福宇(ID:dynamic)擅长模型设计与分析,在计算机视觉处理方面积累了丰富的工程经验;王德建在档案数字化、智能化分类、OCR图文检索、图像智能识别方面积累了丰富的项目实战经验。
◎ 案例丰富、实用、拓展性强
本书以案例的形式进行编写,充分强调案例的实用性及程序的可拓展性,所选案例均来自作者的日常研究及业务需求,每个案例都与实际课题相结合。另外,书中的每个案例都经过作者的程序调试,作者也为此编写了大量的测试代码。
◎ 点面完美结合,兼顾中高级用户
本书点面兼顾,涵盖了数字图像处理中几乎所有的基本模块,并涉及视频处理、配准拼接、数字水印、生物识别等高级图像处理方面的内容,全面讲解了基于MATLAB、Python进行计算机视觉及深度学习应用的原理及方法。
内容架构
本书讲解了36个MATLAB、Python计算机视觉与深度学习实战案例,并提供配套程序下载,其内容架构如下所述。
第1章:讲解基于直方图优化的图像去雾技术,通过对直方图增强技术的相关讲解,引入对雾霾图像进行优化的应用。
第2章:讲解基于形态学的权重自适应图像去噪,通过形态学的图像去噪效果,引入加权形态学去噪的应用。
第3章:讲解基于多尺度形态学提取眼前节组织,通过形态学的图像边缘提取效果,引入多尺度形态学的应用。
第4章:讲解基于Hough变化的答题卡识别,通过对答题卡自动阅卷的研究,引入图像分割、目标定位等领域的应用。
第5章:讲解基于阈值分割的车牌定位识别,通过对车牌定位、分割、识别的研究,引入图像处理在车牌识别领域的应用。
第6章:讲解基于分水岭分割进行肺癌诊断,通过对分水岭算法在肺部图像分割中的研究,引入分水岭及医学图像处理的应用。
第7章:讲解基于主成分分析的人脸二维码识别,通过对主成分分析、人脸识别、QR二维码的研究,引入QR人脸识别的应用。
第8章:讲解基于知识库的手写体数字识别,通过对手写数字特征的提取,引入模式识别在手写数字方面的应用。
第9章:讲解基于特征匹配的英文印刷字符识别,通过对英文片段图像的分割、识别,引入在MATLAB中生成自定义标准字符库、GUI交互等领域的应用。
第10章:讲解基于不变矩的数字验证码识别,通过对验证码生成的特点、分割定位、检测识别的研究,引入对某特定类型验证码从获取到识别的应用。
第11章:讲解基于小波技术进行图像融合,通过对图像融合的研究,引入小波分解、图像多分辨率处理的应用。
第12章:讲解基于块匹配的全景图像拼接,通过对全景图像生成方法的研究,引入块匹配、加权融合等的应用。
第13章:讲解基于霍夫曼图像编码的图像压缩和重建,通过对霍夫曼编码的研究,引入图像压缩重建的应用。
第14章:讲解基于主成分分析的图像压缩和重建,通过对主成分分析的研究,引入不同压缩参数下重建效果调优的应用。
第15章:讲解基于小波的图像压缩技术,通过对小波图像处理的研究,引入多分辨率图像压缩重建的应用。
第16章:讲解基于融合特征的以图搜图技术,通过对图像库Hu矩特征及颜色特征提取的研究,引入图像检索的应用。
第17章:讲解基于Harris的角点特征检测,通过对Harris检测算法的研究,引入图像角点检测的应用。
第18章:讲解基于GUI搭建通用视频处理工具,通过对GUI、视频图像处理工具箱的应用,引入搭建MATLAB图像视频处理框架的应用。
第19章:讲解基于语音识别的信号灯图像模拟控制技术,通过对语音特征及建库的研究,引入语音控制光信号的应用。
第20章:讲解基于帧间差法进行视频目标检测,通过对视频跟踪的研究,引入视频中多目标跟踪的应用。
第21章:讲解路面裂缝检测系统设计,通过对裂缝图像特征、识别的研究,引入路面裂缝检测和提取的应用。
第22章:讲解基于K-means聚类算法的图像分割,通过对K-means聚类算法的研究,引入其在图像分割方面的应用。
第23章:讲解基于光流场的车流量计数应用,通过对汽车视频跟踪的研究,引入光流场在跟踪和检测方面的应用。
第24章:讲解基于Simulink进行图像和视频处理,通过对Simulink模块的介绍,引入其在图像视频处理领域的应用。
第25章:讲解基于小波变换的数字水印技术,通过对图像水印的相关研究,引入图像水印嵌入、提取等的应用。
第26章:讲解基于最小误差法的胸片分割技术,通过对肺部影像的分割算法进行对比,介绍最小误差分割算法及其应用。
第27章:讲解基于区域生长的肝脏影像分割系统,通过对区域生长的相关研究,介绍如何自动定义种子点并将其应用到肝脏影像的分割方面。
第28章:讲解基于计算机视觉的自动驾驶应用,介绍自动驾驶的相关技术,从计算机视觉的角度分析相关应用。
第29章:讲解基于深度学习的汽车目标检测,介绍深度学习的相关知识,基于MATLAB的CNN工具箱实现汽车目标检测的应用。
第30章:讲解基于深度学习的视觉场景识别,对深度学习进行深入研究,基于经典的MatConvNet工具箱讲解如何进行图像分类识别应用。
第31章:讲解深度学习综合应用方面的内容,涉及6个相关实战案例:基于CNN的字符识别、基于CNN的物体识别、基于CNN的图像矫正、基于LSTM的时间序列分析、基于深度学习的以图搜图技术、基于YOLO的智能交通目标检测,讲解了经典的AlexNet、VggNet、ResNet、GoogleNet等知识,还通过网络编辑、拆分、中间层激活、多算法集成等方式进行了拓展,既实现了图像分类识别、以图搜图、交通目标检测等方面的应用,也对时间序列分析、图像倾斜角度分析等进行了探索。
特别致谢
本书由刘衍琦、詹福宇、王德建、陈峰蔚、蒋献文、周华英编著,本书的编写也得到了电子工业出版社博文视点编辑张国霞的大力支持,在此对其表示衷心的感谢。在本书深度学习部分的实验设计及研发过程中,Windoer-AI实验室提供了很多帮助,在此感谢他们的信任与鼓励。感谢各位读者朋友对本书作者给予的启发和帮助,感谢家人的默默支持!感谢女儿刘沛萌每天带给我欢乐,她给予我无限的动力进行计算机视觉及人工智能探索及应用,也祝天下的小朋友们都能健康快乐地成长!
由于时间仓促,加之作者水平和经验有限,书中难免存在疏漏及错误之处,希望广大读者批评指正。
刘衍琦
2019年10月