TensorFlow练习22: 手写汉字识别

MNIST手写数字数据集通常做为深度学习的练习数据集,这个数据集恐怕早已经被大家玩坏了。本帖就介绍一个和MNIST类似,同时又适合国人练习的数据集-手写汉字数据集,然后训练一个简单的Deep Convolutional Network识别手写汉字。

识别手写汉字要把识别手写洋文难上很多。首先,英文字符的分类少,总共10+26*2;而中文总共50,000多汉字,常用的就有3000多。其次,汉字有书法,每个人书写风格多样。

手写汉字数据集: CASIA-HWDB

继续阅读TensorFlow练习22: 手写汉字识别

TensorFlow练习21: 把Deep Dream应用到视频上

前帖<实现谷歌Deep Dream>可以生成扭曲的图像,本帖就基于前一贴的代码在视频上应用Deep Dream,应该能生成比较抽的视频。

代码逻辑:

  1. 使用ffmpeg从视频中提取帧
  2. 为每一帧图像应用Deep Dream
  3. 使用ffmpeg把帧图像重新组合成视频,最后和音频合并

继续阅读TensorFlow练习21: 把Deep Dream应用到视频上

TensorFlow练习20: 使用深度学习破解字符验证码

验证码是根据随机字符生成一幅图片,然后在图片中加入干扰象素,用户必须手动填入,防止有人利用机器人自动批量注册、灌水、发垃圾广告等等 。

验证码的作用是验证用户是真人还是机器人;设计理念是对人友好,对机器难。

TensorFlow练习20: 使用深度学习破解验证码

上图是常见的字符验证码,还有一些验证码使用提问的方式。

我们先来看看破解验证码的几种方式:

  1. 人力打码(基本上,打码任务都是大型网站的验证码,用于自动化注册等等)
  2. 找到能过验证码的漏洞
  3. 最后一种是字符识别,这是本帖的关注点

我上网查了查,用Tesseract OCR、OpenCV等等其它方法都需把验证码分割为单个字符,然后识别单个字符。分割验证码可是人的强项,如果字符之间相互重叠,那机器就不容易分割了。

本帖实现的方法不需要分割验证码,而是把验证码做为一个整体进行识别。

相关论文

使用深度学习+训练数据+大量计算力,我们可以在几天内训练一个可以破解验证码的模型,当然前提是获得大量训练数据。

继续阅读TensorFlow练习20: 使用深度学习破解字符验证码

TensorFlow练习19: 预测天朝铁路客运量

以前做的练习还没有涉及过时间序列数据(洋文Time Series Data),一个最明显的例子是股票价格。

时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。

一年一度的春节又要来了,火车票已经开售。本帖就简单预测一下未来几个月天朝铁路客运量。 继续阅读TensorFlow练习19: 预测天朝铁路客运量

TensorFlow练习18: 根据姓名判断性别

本帖训练一个可以根据姓名判断性别的CNN模型;我使用自己爬取的35万中文姓名进行训练。

使用同样的数据集还可以训练起名字模型,参看:

继续阅读TensorFlow练习18: 根据姓名判断性别

发文后自动分享到微博和Twitter-Python

我在每次发帖后都会把帖子手动分享到微博、Twitter等社交网络,但是很多时候我会忘,于是我就想自动化这个过程。

本站使用的是WordPress博客系统,不知道有没有现成的插件。我使用Python做,原因是我有切换到Django的打算,使用Python做可以方便以后集成。还有就是,我对PHP不熟。 继续阅读发文后自动分享到微博和Twitter-Python

TensorFlow练习17: “声音大挪移”

看见本帖标题,你可能会问:“声音大挪移”是什么鬼玩意,和张无忌有什么关系。

如果你没看过鬼畜,先温习两个:【元首】粉红的回忆【圣地亚哥金曲】客官不可以。(本帖内容和鬼畜关系不大)

前文《实现谷歌Deep Dream》可生成带有艺术感的图片。其实,还有另一种合成图片的方式,洋文叫Style Transfer,这种方法需要用到两张图片,如下图:

皮特  + picasso_selfport1907 = pitt_picasso_content_5_style_10
皮特 + Style = 皮特 Style

Style Transfer的原始论文:https://arxiv.org/abs/1508.06576;基于Torch的代码实现:neural-style 继续阅读TensorFlow练习17: “声音大挪移”

OpenCV检测场景内是否有移动物体

本帖使用OpenCV检测移动的物体(洋文:Motion Detection)。它的应用非常广泛,常用在视频监控(当摄像头内有移动物体出现时,摄像头会自动抓拍,并保存图像/视频)、车流量监控等等。

我喜欢听着音乐上大号,我就想有没有办法在我上大号时自动播放音乐,智能马桶的滚粗(能放音乐的应该不多)。这时,我想起了闲置的树莓派,使用OpenCV+树莓派做Motion Detection,只要检测到有移动的东西(人)就开始播放音乐。恩,没错,本人相当懒。另外,在上大号时被摄像头照着也挺别扭。

Motion Detection的实现方法有很多,我使用的方法是Background subtractiontutorial_py_bg_subtraction继续阅读OpenCV检测场景内是否有移动物体

PyMongo模块的使用-MongoDB的Python接口

MongoDB是近年来非常流行的开源NoSQL数据库,它使用JSON存储数据。

PyMongo是Mongo官方开发Python模块,用来操作MongoDB数据库。

我做的一个爬虫用到了MongoDB。

继续阅读PyMongo模块的使用-MongoDB的Python接口

TensorFlow练习16: 根据大脸判断性别和年龄

本帖使用TensorFlow做一个根据脸部推断照片人物年龄和性别的练习,网上有很多类似app。

训练数据 – Adience数据集

Adience数据集来源为Flickr相册,由用户使用iPhone或者其它智能手机设备拍摄,该数据集主要用于进行年龄和性别的未经过滤的面孔估计。同时,里面还进行了相应的landmark的标注,其中包含2284个类别和26580张图片。 继续阅读TensorFlow练习16: 根据大脸判断性别和年龄