本书共分成8个章节,第1章是Keras简介和环境搭建;第2~6章整体介绍Keras的软件框架,包含卷积层,池化层,损失函数,优化器等关键部件的使用说明;第7章介绍了常用的图像预处理技术,包括高斯滤波,轮廓检测等常用操作的介绍;第8章是实战篇,介绍Keras神经网络模型中常用的图像模型的设计方法,以及应用于视频领域的入门级介绍。本书是Keras神经网络中专注于图像识别领域的专业书籍,具有较强的实战性。 本书的目标人群主要定位为具有一定python编程基础,对深度学习原理有一定了解,并且对人工智能图像处理领域有浓厚兴趣的人群。 1 简介 1 1.1 keras是什么 1 1.2 一些基本概念 3 1.2.1 符号计算 3 1.2.2 张量 3 1 .2.3 data_format 4 1.2.4 模型 4 1.2.5 batch 5 1.2.6 epochs 5 1.3 安装Python 6 1.4 安装Theano 7 1.5 安装opencv 8 1.6 安装Keras 9 2 CNN眼中的世界 10 2.1 卷积神经网络 11 2.2 使用Keras探索卷积网络的滤波器 14 2.3 可视化所有的滤波器 18 2.4 愚弄神经网络 19 2.5 展望未来 21 3 Keras模型 22 3.1 Sequential模型 22 3.1.1 add 22 3.1.2 pop 22 3.1.3 compile 22 3.1.4 fit 23 3.1.5 evaluate 24 3.1.6 predict 24 3.1.7 predict_classes 25 3.1.8 train_on_batch 25 3.1.9 test_on_batch 25 3.1.10 predict_on_batch 25 3.1.11 fit_generator 25 3.1.12 evaluate_generator 27 3.1.13 predcit_generator 27 3.2 常用层 28 3.2.1 Dense层 29 3.2.2 Activation层 30 3.2.3 Dropout层 33 3.2.4 Flatten层 33 3.2.5 Reshape层 34 3.2.6 Permute层 34 3.2.7 RepeatVector层 35 3.2.8 Lambda层 35 3.3 卷积层 37 3.3.1 Conv1D层 37 3.3.2 Conv2D层 38 3.4 池化层 41 3.4.1 MaxPooling1D层 41 3.4.2 MaxPooling2D层 41 4 目标函数 43 4.1 MSE 44 4.2 MAE 45 4.3 MAPE 46 4.4 MSLE 47 4.5 squared_hinge 48 4.6 hinge 49 4.7 binary_crossentropy 50 4.8 categorical_crossentropy 51 4.9 sparse_categorical_crossentrop 52 5 优化器 53 5.1 公共参数 54 5.2 SGD 55 5.3 RMSprop 56 5.4 Adagrad 57 5.5 Adadelta 59 5.6 Adam 61 5.7 Adamax 63 5.8 Nadam 64 6 训练模型的注意事项 65 6.1 参数初始化 65 6.1.1 零初始化 65 6.1.2 随机初始化 65 6.2 数据预处理(Data Preprocessing) 67 6.2.1 零均值化(Mean subtraction) 67 6.2.2 归一化(Normalization) 67 6.2.3 PCA & Whitening 69 6.2.4 数据扩充(Data Augmentation) 69 7 图片预处理 71 7.1 利用小数据量 71 7.2 图像处理scipy.ndimage 76 7.3 热点图 77 7.4 高斯滤波 79 7.5 图片翻转 82 7.6 轮廓检测 84 7.7 角点 87 7.8 直方图 89 7.9 形态学图像处理 91 7.9.1 膨胀和腐蚀 91 7.9.2 Hit和Miss 93 8 CNN实战 96 8.1 Mnist 97 8.1.1 代码 97 8.1.2 导入导出 99 8.1.3 预测 100 8.2 Cifar16 102 8.2.1 代码 103 8.2.2 分析 104 8.3 人脸识别 106 8.4 视频识别 111 8.5 用神经网络去噪 122 8.5.1 对图像添加噪音 122 8.5.2 去噪神经网络 123 8.5.3 模型的保存和恢复 127 8.6 视频抽取图片 129 9 参考 130 .2.3 data_format 4 1.2.4 模型 4 1.2.5 batch 5 1.2.6 epochs 5 1.3 安装Python 6 1.4 安装Theano 7 1.5 安装opencv 8 1.6 安装Keras 9 2 CNN眼中的世界 10 2.1 卷积神经网络 11 2.2 使用Keras探索卷积网络的滤波器 14 2.3 可视化所有的滤波器 18 2.4 愚弄神经网络 19 2.5 展望未来 21 3 Keras模型 22 3.1 Sequential模型 22 3.1.1 add 22 3.1.2 pop 22 3.1.3 compile 22 3.1.4 fit 23 3.1.5 evaluate 24 3.1.6 predict 24 3.1.7 predict_classes 25 3.1.8 train_on_batch 25 3.1.9 test_on_batch 25 3.1.10 predict_on_batch 25 3.1.11 fit_generator 25 3.1.12 evaluate_generator 27 3.1.13 predcit_generator 27 3.2 常用层 28 3.2.1 Dense层 29 3.2.2 Activation层 30 3.2.3 Dropout层 33 3.2.4 Flatten层 33 3.2.5 Reshape层 34 3.2.6 Permute层 34 3.2.7 RepeatVector层 35 3.2.8 Lambda层 35 3.3 卷积层 37 3.3.1 Conv1D层 37 3.3.2 Conv2D层 38 3.4 池化层 41 3.4.1 MaxPooling1D层 41 3.4.2 MaxPooling2D层 41 4 目标函数 43 4.1 MSE 44 4.2 MAE 45 4.3 MAPE 46 4.4 MSLE 47 4.5 squared_hinge 48 4.6 hinge 49 4.7 binary_crossentropy 50 4.8 categorical_crossentropy 51 4.9 sparse_categorical_crossentrop 52 5 优化器 53 5.1 公共参数 54 5.2 SGD 55 5.3 RMSprop 56 5.4 Adagrad 57 5.5 Adadelta 59 5.6 Adam 61 5.7 Adamax 63 5.8 Nadam 64 6 训练模型的注意事项 65 6.1 参数初始化 65 6.1.1 零初始化 65 6.1.2 随机初始化 65 6.2 数据预处理(Data Preprocessing) 67 6.2.1 零均值化(Mean subtraction) 67 6.2.2 归一化(Normalization) 67 6.2.3 PCA & Whitening 69 6.2.4 数据扩充(Data Augmentation) 69 7 图片预处理 71 7.1 利用小数据量 71 7.2 图像处理scipy.ndimage 76 7.3 热点图 77 7.4 高斯滤波 79 7.5 图片翻转 82 7.6 轮廓检测 84 7.7 角点 87 7.8 直方图 89 7.9 形态学图像处理 91 7.9.1 膨胀和腐蚀 91 7.9.2 Hit和Miss 93 8 CNN实战 96 8.1 Mnist 97 8.1.1 代码 97 8.1.2 导入导出 99 8.1.3 预测 100 8.2 Cifar16 102 8.2.1 代码 103 8.2.2 分析 104 8.3 人脸识别 106 8.4 视频识别 111 8.5 用神经网络去噪 122 8.5.1 对图像添加噪音 122 8.5.2 去噪神经网络 123 8.5.3 模型的保存和恢复 127 8.6 视频抽取图片 129 9 参考 130