人类视觉系统简直就是一个世界奇迹。看一下接下来的手写体数字序列:
![enter description here][1]
大部分人都能很容易认出这些数字是:504192。你可能觉得这很不靠谱。在我们每个人的大脑中,都有一个初级视觉皮层,也被称为V1。它包含140*10^6个神经元,而这些神经元之间又有百亿种连接。实际上人类视觉活动不是仅仅只有一个V1层,而是由一系列的视觉皮层-V2,V3,V4和V5。这些视觉皮层在逐层地做更复杂的图像处理工作。我们的大脑好比一个超级计算机,通过成千上万年的进化在逐渐地调整参数,来逐渐理解这个可视化的世界。识别手写体数字不是那么容易。我们人类能够很神奇地理解我们的眼睛呈现给我
继续阅读 »
1. 前向传播
如上图,左边为一个简单的神经网络结构,右边为每一个神经单元的计算过程。
对于一个样本:
$$
\begin{array}{}
a^{[0]}=x \
z^{[1]}=W^{[1]}a^{[0]}+b^{[1]} \
a^{[1]}=\sigma(z^{[1]}) \
z^{[2]}=W^{[2]}a^{[1]}+b^{[2]} \
a^{[2]}=\sigma(z^{[2]}) \
\end{array}
$$
继续阅读 »
window.location.href = "https://www.zybuluo.com/ShawnNg/note/613499"
继续阅读 »
window.location.href = "https://www.zybuluo.com/ShawnNg/note/535374"
继续阅读 »
最近闲来无事,打算把之前在其他博客站点写的一些跟tboox项目相关的老文,放到我的个人站点上来
并且整理归纳了下,以前学生时期研究的一些的玩意用到的一些技术,例如(手写识别、分形图像等等什么的。。)
以后就重点吧这个站点,作为我的个人博客主站了。。嘿嘿。
背景
本文,主要介绍我之前在学校时候,研究的一些跟手写数字识别相关的技术心得,主要涉及:数字图像处理、特征提取、神经网络等等相关的一些技术。。
虽然很多用到的还是网上现有的比较成熟的算法,但是在这些基础上,我还是有做了不少算法上的改进的。。
并且为了写这个项目,我当时还特地写了一整套神经网络库,从图像处理开始到最后的识别过程,没有使用任何第三方库,都是从0还是写起
也没
继续阅读 »
预备工作
(最好自带翻墙梯子) python工具包利器: Anaconda3(因为win下只出了python3.5版本的), 清华大学conda源 , 清华大学pipy源 , Pypi官方源 ,Conda官方源(其中一个发布源) ,最重要的就是Google了。
当我们下载好了Anaconda后,你懂的,直接安装,最好是写入系统的path中(注意提示,不要直接一路回车过去)。 在Linux中更是如此,不要使用sudo权限,否则会写入sudo 的路径中,以后使用的时候诸多麻烦的。安装好anaconda后,你应该有了virtualenv这个工具了,这个工具是用来创建虚拟环境的(一个系统往往有很多人在用,大家对系统的要求都不一样,你
继续阅读 »
Text Recognition
Fully Convolutional Recurrent Network for Handwritten Chinese Text Recognition paper
Deep LSTM Networks for Online Chinese Handwriting Recognition 2016 ICFHR
Convolution Multi-directional Recurrent Network for Offline Handwritten Text Recognition 2016 ICFHR
Sequence to Sequen
继续阅读 »
简介
所谓的细化就是经过一层层的剥离,从原来的图中去掉一些点,但仍要保持原来的形状,直到得到图像的骨架。
骨架,可以理解为图象的中轴,例如一个长方形的骨架是它的长方向上的中轴线;正方形的骨架是它的中心点;圆的骨架是它的圆心,直线的骨架是它自身,孤立点的骨架也是自身。
细化删除条件
内部点不能删除
孤立点不能删除
直线端点不能删除
如果P是边界点,去掉P后,如果连通分量不增加,则P可以删除
细化步骤
通过基于数学形态学的腐蚀细化法,通过刚才的删除条件,进行匹配删除,由于是直接判断,省了模板匹配的这一步。
针对3*3的八邻域,进行操作:
|| p3 || p2 || p9 ||
|| p4 || p1 || p8 ||
继续阅读 »
简介
倾斜校正主要有两种,一种是整体倾斜校正,另一种是局部倾斜校正。
由于本文主要研究具有不规则分布的多数字识别,因此只需要关注经过提取后的数字校正问题,也就是图像的局部校正。
矫正算法
目前的校正算法有很多,比如说:
对于整体倾斜校正可以采用统计图像左右两边的平均像素高度,通过计算整体倾斜度来进行校正。
这种方法对于像素较多的图像的处理效果明显,而且实现简单快速,但是对于那些已经经过提取得单一数字图像并不适用,因为此时的图像一般较小,且笔画较细,由于所需信息太少统计后的结果并不正确。
其实校正的核心就是使图像的倾斜度的接近为0,因此可以把它看作是一个最优化问题:
即寻找需要调整多少角度,才能使图像的倾斜度最小
继续阅读 »
引言
所谓数字分割就是指将经过二值化后的图像中的单个数字区域进行提取的过程。数字分割在数字识别中是一个必不可少的关键步骤,只有能够将数字进行准确的提取,才能将其一一识别。
数字分割的方法
数字分割的方法相当多,主要有以下几种:
基于直方图的分割
```
此类方法就是对每行和每列黑色像素数进行统计,生成行直方图和列直方图,并采用某种阈值选取法分别对图像进行行列分割。
这种方法简单快速,对于按矩阵分布的规则数字的分割效果相当好,但是无法对不规则分布的数字进行分割,因此具有一定的局限性。
```
基于聚类的分割
```
聚类就是一个将数据集划分为若干组或类的过程,通过聚类使得同一组内的数据对象具有较高的相似度,而不同组中的
继续阅读 »