python视频图像识别,python 识别视频内容

  python视频图像识别,python 识别视频内容

  转自:https://www.wukong.com/answer/6583135560443887876/? iid=39055545733 app=news _ article share _ ansid=6583135560443887876 app _ id=13tt _ from=mobile _ qqutm _ source=mobile _ qqutm _ medium=toutiao _ iosutm _ campaign=client _ share

  谢谢,我举个简单的例子。网上有很多猫的图片,我很喜欢猫。许多人可以很容易地识别猫,但我们能训练计算机做到这一点吗?答案很明显,是的。

  我们在Tensorflow框架上使用先进的Keras API。Keras项目是一个高级的Python神经网络API。它被设计成用户友好和模块化的,并支持多个后端。默认的Keras后端是Tensorflow,这是一个符号数学库,广泛用于机器学习和神经网络任务。我们将训练我们的Keras/Tensorflow设置来分类CIFAR-10图像数据集,这是cat图像的10%。

  用Tensorflow构建模型运行Keras,我们会用Tensorflow编译安装改造一个环境,并添加Python HDF5软件包和几个Keras可以用来可视化模型的图形软件包,以及用conda保存历史记录的dill。然后我们将安装带有pip的Keras。

  CIFAR-10数据集是10类60,000幅彩色32x32像素图像的集合,其中10,000幅为测试批次。Keras可以自动下载数据集,但我们可以通过下载到/results来节省时间,并在需要时将文件复制到正确的位置。

  我们将运行128个图像批次,并设置两个训练批次来运行:一个长的500批次运行来完成主要工作,一个短的5批次运行作为示例。

  加载数据,使其成为合理的形状。我们还设置了一个函数来查找文件,另一个函数来查看我们正在分析的图像,最后设置它来进行实时输入数据扩展。

  我们随机选取一些训练图像,如下图所示:

  训练模型我们会用一个简单的卷积网络模型(还在开发阶段),加入上面定义的数据扩展,还有一个检查点写一个回调函数,可以显著提高准确率。

  最后,让我们看看我们的模型,包括文本摘要和流程图。

  训练上述模型,印刷信息和图像识别在训练过程中如下:

  那么只要你保存模型,这个图像识别就成功了。希望对你有帮助~

  翻出我曾经写过的一篇介绍这个问题的文章。

  我给大家带来一篇如何利用Keras深度学习破解验证码的文章。当然,我们这里识别的是常用验证码,也就是Laravel常用的验证码库。

  Laravel 5的验证码

  如下图所示,验证码由5个数字和字母组成。我用PHP一共生成了5万个验证码。后面也会提供给大家。

  导入所需的库。

  这里还是用Keras,Tensorflow作为底层库。

  这次使用的模型是简单的卷积神经网络模型,后面会用到更复杂的模型。

  卷积神经网络(CNN)是一种前馈神经网络。它的人工神经元可以对覆盖区域内的一部分周边单元做出反应,对于大规模图像处理具有优异的性能。包括交替卷积层和汇集层。

  一般CNN的基本结构包括两层,一层是特征提取层,每个神经元的输入与上一层的局部感受野相连,提取局部特征。一旦局部特征被提取,它和其他特征之间的位置关系也被确定。第二层是特征映射层。网络的每个计算层由多个特征图组成,每个特征图是一个平面,平面上所有神经元的权重相等。特征映射结构采用影响函数核较小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,因为映射表面上的神经元共享权重,所以减少了网络中自由参数的数量。卷积神经网络中的每个卷积层之后是用于局部平均和二次提取的计算层。这种独特的二级特征提取结构降低了特征分辨率。

  结构参数

  加载数据

  在训练模型的时候,我们可以选择两种方式来生成我们的训练数据,一种是直接将所有数据加载到内存中然后开始训练,另一种是定义一个数据生成器然后使用fit_generator批量加载数据进行训练。

  因为样本是5万,但是只有200多m,可以一次性加载到内存中。

  最后,将生成一个pickle文件。Python的pickle模块实现了基本的数据排序和反序列化。通过pickle模块的序列化操作,我们可以将程序中运行的对象的信息保存到一个文件中永久保存;通过反序列化pickle模块,我们可以从文件中创建最后一个程序保存的对象。

  如果您使用我保存的pickle文件,则不必执行以下步骤。

  加载数据,读取pickle文件

  创建模型

  开始训练模型

  完成培训并进行验证。

  改善

  对于这种序列文本验证码,有一种更好的使用方法,就是递归神经网络识别序列。后面我会继续介绍如何用递归神经网络建立模型。

  地址:https://github.com/szpnygo/keras-cnn-captcha

  泡菜地址:https://pan.baidu.com/s/1i4JiZOT

  历史提交的图片或压缩文件

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: