用keras搭建3D卷积神经网络

资源:

3D卷积神经网络相关博客:http://blog.csdn.net/lengxiaomo123/article/details/68926778

keras文档关于3D卷积层的介绍:http://keras-cn.readthedocs.io/en/latest/layers/convolutional_layer/#conv3d

3D卷积层可以理解为对有一系列时序性的图片进行卷积的操作,也即2D是在平面上卷积,3D层添加了时序作为另一维度实现了空间上的卷积,从而能够对具有时序性的一组图片进行卷积操作,网络结构例子如下图:

官方文档介绍conv3D层输入如下:

可以看出一般的conv2D的输入是长*宽*通道数,而这里的输入变成了序列长度*长*宽*通道数(这个顺序的话跟keras的后端有关,Theno作为后端通道数是放在最前的,Tensorflow作为后端通道数是放在最后的)。

网络搭建:(源代码来源于github:)

这里采用的也是序贯模型,只搭建了一层conv3D,然后进行最大池化,Dropout、平展、全连接、输出。模型搭建比较简单,需要注意的地方是第一层的输入部分,要让input_shape=()的参数顺序和自己所使用的后端匹配,这里我是将图片都转为灰度并且使用tensorflow为后端,所以最后的一个参数是1,前面三个依次是序列长度*长*宽。最后模型编译的loss采用categorcial_crossentropy,优化器使用RMSprop(图片上写错了),评估指标使用mse和accuracy。

数据处理:

根据之前的介绍我们是要将一组具有时序性的图片作为网络的输入的,也就是序列*图片长*图片宽*通道数(3或者1),数据部分有三个类,每类准备了10个视频。

这里使用VideoCapture类来进行处理视频,并将每一个视频按秒截取图片,所截取的图片不保存直接转为矩阵放入X_tr里,最开始我们设置了图片的大小16*16以及序列长度5

也就是每个视频我们提取五张连续的图片放在X_tr里。

网络参数的设置:

设置网络的超参数以及标签的设置(共30个视频,每10个视频为1类)。标签设置完毕后需使用np_utils.to_categorical将其转为one-hot形式,最后分割训练集和验证集并设置训练轮数即可。

网络结构:

训练结果:

这里的训练结果并不是很理想,最好的val准确率也只有0.667,可能与图片大小,网络结构等有很大关系吧,待后期再修正了...

本文来自企鹅号 - 机器学习从零开始媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Small Code

【TensorFlow】TensorFlow 的卷积神经网络 CNN - 无TensorBoard版

前面 有篇博文讲了多层感知器,也就是一般的前馈神经网络,文章里使用 CIFAR10 数据集得到的测试准确率是 46.98%。今天我们使用更适合处理图像的卷积神经...

2737
来自专栏GAN&CV

手把手教你创建自己的object detector

本文译自:http://www.hackevolve.com/create-your-own-object-detector/

1681
来自专栏marsggbo

Augmentor 使用介绍

<img src="https://ask.qcloudimg.com/draft/1215004/jfwdwyxm4.jpg" style="border:5...

5555
来自专栏人工智能头条

YOLO升级到v3版,检测速度比R-CNN快1000倍

2.8K3
来自专栏用户2442861的专栏

文本分类(六):使用fastText对文本进行分类--小插曲

http://blog.csdn.net/lxg0807/article/details/52960072

2331
来自专栏PaddlePaddle

【目标检测】SSD目标检测

场景文字识别 目标检测任务的目标是给定一张图像或是视频帧,让计算机找出其中所有目标的位置,并给出每个目标的具体类别。对于人类来说,目标检测是一个非常简单的任务。...

5259
来自专栏云时之间

深度学习与神经网络:mnist数据集实现手写数字识别

3514
来自专栏梦里茶室

Google机器学习笔记(七)TF.Learn 手写文字识别

mnist问题 计算机视觉领域的Hello world 给定55000个图片,处理成28*28的二维矩阵,矩阵中每个值表示一个像素点的灰度,作为feature...

3009
来自专栏AILearning

卷积神经网络

注意:本教程面向TensorFlow 的高级用户,并承担机器学习方面的专业知识和经验。 概观 CIFAR-10分类是机器学习中常见的基准问题。问题是将R...

20710
来自专栏AI研习社

TensorFlow | 自己动手写深度学习模型之全连接神经网络

前半个多月总共写了三篇深度学习相关的理论介绍文章,另外两个月前,我们使用逻辑回归算法对sklearn里面的moons数据集进行了分类实验,最终准确率和召回率都达...

52710

扫码关注云+社区