YL6855 9787121315503 9787302397922 9787121311048
MATLAB计算机视觉与深度学习实战
《MATLAB 计算机视觉与深度学习实战》详细讲解了30个 MATLAB 计算机视觉与深度学习案例(含可运行程序),涉及雾霾去噪、答题卡自动阅卷、肺部图像分割、小波数字水印、图像检索、人脸二维码识别、车牌定位及识别、霍夫曼图像压缩、手写数字识别、英文字符文本识别、眼前节组织提取、全景图像拼接、小波图像融合、基于语音识别的音频信号模拟灯控、路面裂缝检测识别、视频运动估计追踪、Simulink 图像处理、胸片及肝脏分割、基于深度学习的汽车目标检测、基于计算机视觉的自动驾驶应用、基于深度学习的视觉场景识别等多项重要技术,涵盖了数字图像处理中几乎所有的基本模块,并延伸到了深度学习的理论及其应用方面。
第 1 章 基于直方图优化的图像去雾技术 1
1.1 案例背景 1
1.2 理论基础 1
1.2.1 空域图像增强 1
1.2.2 直方图均衡化 2
1.3 程序实现 3
1.3.1 设计 GUI 界面 4
1.3.2 全局直方图处理 4
1.3.3 局部直方图处理 7
1.3.4 Retinex 增强处理 9
1.4 延伸阅读 13
1.5 参考文献 13
第 2 章 基于 形态学的权重自适应图像去噪 14
2.1 案例背景 14
2.2 理论基础 15
2.2.1 图像去噪方法 15
2.2.2 数学形态学原理 16
2.2.3 权重自适应的多结构形态学去噪 16
2.3 程序实现 17
2.4 延伸阅读 22
2.5 参考文献 23
第 3 章 基于多尺度形态学提取眼前节组织 24
3.1 案例背景 24
3.2 理论基础 25
3.3 程序实现 28
3.3.1 多尺度边缘 28
3.3.2 主处理函数 29
3.3.3 形态学处理 31
3.4 延伸阅读 33
3.5 参考文献 33
第 4 章 基于 Hough 变化的答题卡识别 34
4.1 案例背景 34
4.2 理论基础 34
4.2.1 图像二值化 35
4.2.2 倾斜校正 35
4.2.3 图像分割 38
4.3 程序实现 40
4.4 延伸阅读 51
4.5 参考文献 51
第 5 章 基于阈值分割的车牌定位识别 52
5.1 案例背景 52
5.2 理论基础 52
5.2.1 车牌图像处理 53
5.2.2 车牌定位原理 57
5.2.3 车牌字符处理 57
5.2.4 字符识别 59
5.3 程序实现 61
5.4 延伸阅读 69
5.5 参考文献 69
第 6 章 基于分水岭分割进行肺癌诊断 70
6.1 案例背景 70
6.2 理论基础 70
6.2.1 模拟浸水的过程 71
6.2.2 模拟降水的过程 71
6.2.3 过度分割问题 71
6.2.4 标记分水岭分割算法 71
6.3 程序实现 72
6.4 延伸阅读 77
6.5 参考文献 78
第 7 章 基于主成分分析的人脸二维码识别 79
7.1 案例背景 79
7.2 理论基础 79
7.2.1 QR 编码简介 80
7.2.2 QR 编码译码 82
7.2.3 主成分分析方法 84
7.3 程序实现 86
7.3.1 人脸建库 86
7.3.2 人脸识别 87
7.3.3 人脸二维码 88
7.4 延伸阅读 93
7.5 参考文献 93
第 8 章 基于知识库的手写体数字识别 94
8.1 案例背景 94
8.2 理论基础 94
8.2.1 算法流程 94
8.2.2 特征提取 95
8.2.3 模式识别 96
8.3 程序实现 97
8.3.1 图像处理 97
8.3.2 特征提取 98
8.3.3 模式识别 101
8.4 延伸阅读 102
8.4.1 识别器选择 102
8.4.2 提高识别率 102
8.5 参考文献 102.........
视觉SLAM十四讲:从理论到实践
本书系统介绍了视觉SLAM(同时定位与地图构建)所需的基本知识与核心算法,既包括数学理论基础,如三维空间的刚体运动、非线性优化,又包括计算机视觉的算法实现,例如多视图几何、回环检测等。此外,还提供了大量的实例代码供读者学习研究,从而更深入地掌握这些内容。本书可以作为对SLAM 感兴趣的研究人员的入门自学材料,也可以作为SLAM 相关的高校本科生或研究生课程教材使用。
第1 讲预备知识 11.1 本书讲什么11.2 如何使用本书31.2.1 组织方式31.2.2 代码51.2.3 面向的读者61.3 风格约定61.4 致谢和声明7第2 讲初识SLAM 92.1 引子:小萝卜的例子112.2 **视觉SLAM 框架172.2.1 视觉里程计172.2.2 后端优化192.2.3 回环检测202.2.4 建图212.3 SLAM 问题的数学表述222.4 实践:编程基础 252.4.1 安装Linux 操作系统252.4.2 Hello SLAM272.4.3 使用cmake282.4.4 使用库302.4.5 使用IDE32第3 讲三维空间刚体运动373.1 旋转矩阵393.1.1 点和向量,坐标系393.1.2 坐标系间的欧氏变换403.1.3 变换矩阵与齐次坐标423.2 实践:Eigen 443.3 旋转向量和欧拉角483.3.1 旋转向量483.3.2 欧拉角503.4 四元数513.4.1 四元数的定义513.4.2 四元数的运算533.4.3 用四元数表示旋转553.4.4 四元数到旋转矩阵的转换553.5 * 相似、仿射、射影变换563.6 实践:Eigen 几何模块573.7 可视化演示60第4 讲李群与李代数624.1 李群与李代数基础 644.1.1 群644.1.2 李代数的引出654.1.3 李代数的定义 674.1.4 李代数so(3) 674.1.5 李代数se(3)684.2 指数与对数映射694.2.1 SO(3) 上的指数映射694.2.2 SE(3) 上的指数映射.704.3 李代数求导与扰动模型724.3.1 BCH 公式与近似形式724.3.2 SO(3) 李代数上的求导734.3.3 李代数求导744.3.4 扰动模型(左乘)754.3.5 SE(3) 上的李代数求导764.4 实践:Sophus764.5 * 相似变换群与李代数.794.6 小结81第5 讲相机与图像825.1 相机模型 845.1.1 针孔相机模型845.1.2 畸变875.1.3 双目相机模型 905.1.4 RGB-D 相机模型925.2 图像935.3 实践:图像的存取与访问955.3.1 安装OpenCV955.3.2 操作OpenCV 图像965.4 实践:拼接点云99第6 讲非线性优化1046.1 状态估计问题1066.1.1 *大后验与*大似然1066.1.2 *小二乘的引出 1086.2 非线性*小二乘1096.2.1 一阶和二阶梯度法1106.2.2 高斯牛顿法1116.2.3 列文伯格—马夸尔特方法1136.2.4 小结1146.3 实践:Ceres1156.3.1 Ceres 简介 1166.3.2 安装Ceres1166.3.3 使用Ceres 拟合曲线 1176.4 实践:g2o1216.4.1 图优化理论简介1216.4.2 g2o 的编译与安装1226.4.3 使用g2o 拟合曲线1236.5 小结128第7 讲视觉里程计11307.1 特征点法1327.1.1 特征点1327.1.2 ORB 特征1347.1.3 特征匹配1377.2 实践:特征提取和匹配1387.3 2D?2D: 对极几何1417.3.1 对极约束1417.3.2 本质矩阵1437.3.3 单应矩阵1467.4 实践:对极约束求解相机运动1487.5 三角测量1537.6 实践:三角测量1547.6.1 三角测量代码1547.6.2 讨论1567.7 3D?2D:PnP1577.7.1 直接线性变换1587.7.2 P3P159......
视觉机器学习20讲
《视觉机器学习20讲》是计算机、自动化、信息、电子与通信学科方向的专著,详尽地介绍了K-Means、KNN学习、回归学习、决策树学习、Random Forest、贝叶斯学习、EM算法、 Adaboost、SVM方法、增强学习、流形学习、RBF学习、稀疏表示、字典学习、BP学习、CNN学习、RBM学习、深度学习、遗传算法、蚁群方法等基本理论;深入阐述了视觉机器学习算法的优化方法和实验仿真;系统地总结了其优点和不足。本书特别重视如何将视觉机器学习算法的理论和实践有机地结合,解决视觉机器学习领域中的诸多基础问题,可应用于医学图像分析、工业自动化、机器人、无人车、人脸检测与识别、车辆信息识别、行为检测与识别、智能视频监控等。本书特别重视算法的典型性和可实现性,既包含本领域的**算法,也包含本领域的*研究成果。本书不仅可作为高年级本科生与研究生教材,而且也是从事视觉机器学习领域研发极为有用的参考资料。
绪论第1讲 K-means1.1 基本原理1.2 算法改进1.3 仿真实验1.4 算法特点第2讲 KNN学习2.1 基本原理2.2 算法改进2.3 仿真实验2.4 算法特点第3讲 回归学习3.1 基本原理3.1.1 参数回归3.1.2 非参数回归3.1.3 半参数回归3.2 算法改进3.2.1 线性回归模型3.2.2 多项式回归模型3.2.3 主成分回归模型3.2.4 自回归模型3.2.5 核回归模型3.3 仿真实验3.3.1 回归学习流程3.3.2 基于回归学习的直线边缘提取3.3.3 基于回归学习的图像插值3.4 算法特点第4讲 决策树学习4.1 基本原理4.1.1 分类与聚类4.1.2 决策树4.1.3 信息增益的度量标准4.1.4 信息增益度量期望的熵降低4.1.5 悲观错误剪枝4.1.6 基本决策树算法4.2 算法改进4.2.1 ID3算法4.2.2 C4.5算法4.2.3 SLIQ算法4.2.4 SPRINT算法4.3 仿真实验4.3.1 用于学习布尔函数的ID3算法伪代码4.3.2 C4.5算法构造决策树的伪代码4.4 算法特点第5讲 Random Forest学习5.1 基本原理5.1.1 决策树5.1.2 Bagging集成学习5.1.3 Random Forest方法5.2 算法改进5.3 仿真实验5.3.1 Random Forest分类与回归流程5.3.2 Forest-RI和For5.3.3 基于Random Forest的头部姿态估计5.4 算法特点第6讲 贝叶斯学习6.1 基本原理6.2 算法改进6.2.1 朴素贝叶斯模型6.2.2 层级贝叶斯模型6.2.3 增广贝叶斯学习模型6.2.4 基于Boosting技术的朴素贝叶斯模型6.2.5 贝叶斯神经网络模型6.3 仿真实验6.3.1 Learn_Bays6.3.2 Classify_Ba6.4 算法特点第7讲 EM算法7.1 基本原理7.2 算法改进7.2.1 EM算法的快速计算7.2.2 未知分布函数的选取7.2.3 EM算法收敛性的改进7.3 仿真实验7.3.1 EM算法流程7.3.2 EM算法的伪代码7.3.3 EM算法应用——高斯混合模型7.4 算法特点第8讲 Adaboost8.1 基本原理8.1.1 Boosting方法8.1.2 Adaboost方法8.2 算法改进8.2.1 权值更新方法的改进8.2.2 Adaboost并行算法8.3 仿真实验8.3.1 Adaboost算法实现流程8.3.2 Adaboost算法示例8.4 算法特点8.4.1 Adaboost算法的优点8.4.2 Adaboost算法的缺点...........
探索数字世界的奥秘:从图像感知到智能决策 在信息爆炸的时代,我们被海量的数据所淹没,而图像作为最直观、最丰富的信息载体,其重要性不言而喻。从日常的拍照记录,到工业生产的质量检测,再到自动驾驶汽车的路径规划,图像的理解和分析已经深入到我们生活的方方面面。本书系旨在带领读者深入探索数字图像的奥秘,构建一个能够“看懂”世界的智能系统,解锁前沿技术带来的无限可能。 第一卷:让机器拥有“眼睛”——MATLAB计算机视觉与深度学习实战 计算机视觉,顾名思义,就是赋予计算机感知和理解视觉信息的能力。这不仅仅是简单地识别出图像中的物体,更重要的是能够理解物体之间的关系、场景的含义,并据此做出相应的判断和决策。本书将以MATLAB为强大的工具,引导您一步步走进计算机视觉的奇妙世界。 基础理论的坚实奠基: 我们将从最基础的图像处理概念入手,例如图像的表示、像素操作、色彩空间转换等。您将了解如何通过数字信号处理的原理,对图像进行滤波、增强、边缘检测等预处理操作,为后续的复杂任务打下坚实的基础。从简单的灰度化到复杂的形态学操作,您将逐步掌握处理图像的“十八般武艺”。 经典的计算机视觉算法: 图像特征提取是计算机视觉的核心环节。本书将详细介绍SIFT、SURF、ORB等经典的局部特征描述子,以及HOG等全局特征描述子,并阐释它们在图像匹配、物体识别等场景下的应用。您将学习如何利用这些特征来描述图像的独特之处,从而实现图像间的关联。 机器学习在视觉领域的应用: 随着机器学习的飞速发展,其在计算机视觉领域的应用也日益广泛。我们将重点介绍支持向量机(SVM)、K近邻(KNN)等传统机器学习算法,并结合实际案例,演示如何利用这些算法对图像进行分类、识别。例如,如何训练一个模型来区分猫和狗,或者识别出图像中的不同车辆。 深度学习的革命性力量: 深度学习无疑是近年来计算机视觉领域最耀眼的明星。本书将重点讲解卷积神经网络(CNN)的原理,包括卷积层、池化层、激活函数、全连接层等核心组件。您将学习如何搭建和训练各种经典的CNN模型,如LeNet、AlexNet、VGG、ResNet等,并将其应用于图像分类、目标检测、图像分割等任务。我们将通过详实的MATLAB代码示例,让您亲手实践,感受深度学习的强大威力。 实战项目驱动学习: 理论学习离不开实践检验。本书包含多个贴近实际应用的实战项目,例如人脸识别、手势识别、车牌识别、医学图像分析等。通过完成这些项目,您将不仅巩固所学知识,更能体验到将理论转化为实际应用的成就感。每一个项目都将详细剖析其背后的思路、算法选择、模型构建和调优过程。 MATLAB工具箱的充分利用: MATLAB强大的图像处理和深度学习工具箱为我们的学习提供了极大的便利。本书将充分利用Image Processing Toolbox、Computer Vision Toolbox、Deep Learning Toolbox等,让您高效地实现各种算法和模型。您将学会如何运用这些工具箱提供的函数和API,快速完成图像的读写、处理、分析以及神经网络的构建、训练和部署。 第二卷:让机器“定位”自己——视觉SLAM十四讲 在复杂的未知环境中,一个机器人或无人机如何知道自己身在何处?如何构建周围环境的地图?“同时定位与地图构建”(Simultaneous Localization and Mapping, SLAM)技术为此提供了解决方案。尤其是在缺乏GPS信号的室内或地下环境中,视觉SLAM更是展现了其独特的优势。本书将以十四讲的深度,带您系统掌握视觉SLAM的核心技术。 SLAM的理论基石: 我们将首先介绍SLAM的基本概念、发展历程以及其在机器人、无人机、增强现实等领域的广泛应用。您将理解SLAM问题的本质——在未知环境中,如何通过传感器测量来同时估计自身的位置姿态以及构建环境地图。 相机模型与几何基础: 视觉SLAM离不开对相机的深刻理解。本书将详细讲解相机模型,包括针孔相机模型、相机标定、畸变校正等,并深入探讨多视图几何,如对极几何、本质矩阵、基础矩阵等,这些都是从图像中恢复三维信息和相机运动的关键。 视觉特征与追踪: 特征点是视觉SLAM的“眼睛”。您将学习如何提取和描述图像中的关键点,如ORB、FAST等特征点检测器,以及BRIEF、ORB等描述子。在此基础上,您将掌握特征匹配、几何验证等技术,实现相机姿态的初步估计。 直接法与基于优化的方法: 除了特征点法,本书还将介绍直接法,它直接利用图像像素亮度信息进行位姿估计。同时,我们将重点讲解基于图优化的SLAM框架,包括因子图、因子分解、高斯-牛顿法、Levenberg-Marquardt算法等,这些方法能够对全局轨迹和地图进行优化,显著提升SLAM系统的精度和鲁棒性。 传感器融合与多模态SLAM: 现实世界的SLAM系统往往需要融合多种传感器信息。本书将探讨如何融合IMU(惯性测量单元)、轮式里程计等传感器数据,以提高SLAM系统的精度和在纹理稀疏环境下的鲁棒性。您将了解多模态SLAM的挑战与解决方案。 经典视觉SLAM算法解析: 从经典的MonoSLAM、PTAM到现代主流的ORB-SLAM系列,本书将深入剖析这些里程碑式的视觉SLAM算法,帮助您理解它们的设计思想、技术细节和优劣之处。您将了解它们如何在特征提取、运动估计、回环检测、地图构建等方面实现协同工作。 回环检测与闭环优化: SLAM系统最大的挑战之一是累积误差。回环检测能够识别相机是否回到曾经到过的地方,并进行闭环优化,消除累积误差,构建一致的地图。您将学习各种回环检测的策略和方法,以及如何在检测到回环后进行全局位姿图优化。 实战代码剖析与工程实践: 本书将结合开源的视觉SLAM库,如ORB-SLAM2/3,通过详细的代码剖析,让您理解算法的实现细节。您将有机会通过运行和修改这些代码,更深入地掌握视觉SLAM的工程实现。 第三卷:赋予机器“学习”的能力——视觉机器学习20讲 机器学习是人工智能的核心驱动力,而视觉机器学习则是让机器能够从海量的视觉数据中学习规律、提取知识,并最终实现智能决策的关键。本书将以20个精心设计的章节,带您领略视觉机器学习的魅力。 机器学习的入门与进阶: 我们将从机器学习的基本概念出发,包括监督学习、无监督学习、强化学习等,并介绍常用的算法,如线性回归、逻辑回归、决策树、随机森林等。您将理解不同算法的适用场景和优缺点。 特征工程的艺术: “Garbage in, garbage out.” 好的特征是成功机器学习模型的基石。本书将深入讲解特征选择、特征提取、特征降维等技术,例如主成分分析(PCA)、独立成分分析(ICA)等,帮助您从原始数据中挖掘出更有价值的信息。 深度学习模型构建与调优: 再次回到深度学习,本书将聚焦于更广泛的深度学习模型,包括循环神经网络(RNN)、长短期记忆网络(LSTM)、门控循环单元(GRU)等,它们在处理序列数据方面表现出色。同时,我们将深入讲解各种网络结构的优化技巧,如批量归一化(Batch Normalization)、Dropout、残差连接(Residual Connections)等,以及如何进行超参数调优、正则化等,以获得更好的模型性能。 生成模型与图像生成: 生成模型能够学习数据的分布,并生成新的、与原始数据相似的数据。本书将介绍生成对抗网络(GAN)及其变种,如DCGAN、StyleGAN等,并展示如何利用它们生成逼真的图像、进行风格迁移、图像修复等。 迁移学习与领域自适应: 在很多场景下,我们可能缺乏足够多的标注数据。迁移学习能够利用预训练的模型,将从大规模数据集中学到的知识迁移到新的任务上,大大减少对标注数据的依赖。本书将深入讲解迁移学习的策略和应用。 模型评估与可解释性: 构建模型只是第一步,如何科学地评估模型的性能至关重要。本书将介绍各种评估指标,如准确率、召回率、F1分数、ROC曲线等。同时,我们将探讨模型的可解释性问题,如LIME、SHAP等技术,帮助我们理解模型做出决策的原因,增强模型的透明度和可靠性。 实际应用案例分析: 本书将结合丰富的视觉机器学习应用案例,例如智能推荐系统、医疗影像诊断、自动驾驶感知系统、安防监控等,深入剖析模型的设计思路、数据处理流程、训练过程以及最终的部署方案。 从理论到实践的完整链路: 贯穿全书,我们将强调从数据准备、模型选择、训练、评估到部署的完整机器学习流程。您将学会如何将抽象的理论知识转化为实际可用的解决方案,真正掌握利用机器学习解决视觉问题的能力。 通过这三本书的学习,您将建立起一套完整的计算机视觉和深度学习知识体系,掌握从低层图像处理到高层场景理解,从感知到定位,再到智能决策的全流程技术。您将不再仅仅是图像的观看者,更能成为能够让机器“看见”并“思考”的创造者,为人工智能时代的到来贡献自己的力量。
我最近在研究机器人和自动驾驶领域,对视觉SLAM的技术非常感兴趣。《视觉SLAM十四讲》这本书,真的让我大开眼界。它并没有像一些教科书那样,上来就抛出一堆晦涩难懂的公式,而是从最基本的概念讲起,逐步深入到核心技术。让我印象深刻的是,书中对多视图几何、传感器融合、以及各种优化算法的讲解,都非常清晰明了,而且理论联系实际。它会告诉你为什么需要这些算法,以及这些算法是如何工作的。最重要的是,书中还提供了很多实用的代码示例,让我能够亲手去实现一些SLAM的基本模块,这种“手把手”的教学方式,比单纯看书要高效得多。虽然书中有一些数学公式,但作者都做了很好的解释,让我能够理解其背后的含义。这本书不仅让我理解了SLAM的原理,还让我对机器人如何感知和理解周围环境有了更深的认识,感觉受益匪浅,对未来的学习和研究方向也更加明确了。