EDA365电子论坛网

标题: 基于matlab CNN卷积神经网络之验证码识别 [打印本页]

作者: haidaowang    时间: 2021-6-1 10:38
标题: 基于matlab CNN卷积神经网络之验证码识别
: l8 A0 v) F* @; S1 s% V
一、卷积神经网络(CNN)简介3 t0 |3 f; g- f9 U' N! I4 n
关于什么是卷积神经网络(CNN),请自行查阅资料进行学习。如果是初学者,这里推荐一下台湾的李宏毅的深度学习课程。链接就不给了,这些资料网站上随处可见。' S; k- U: p4 _; e; U# c

/ Q' ^1 N  \* S值得一提的是,CNN虽然在图像处理的领域具有不可阻挡的势头,但是它绝对不仅仅只能用来图像处理领域,大家熟知的alphaGo下围棋也可以通过CNN的结构进行处理,因为下围棋与图像有着相似之处,所以说,CNN提供给我们的是一种处理问题的思想,有学者归纳出了可以用CNN解决的问题所具备的三个性质:
! M" I$ I# d2 z! R8 Q
; f- D/ A$ E' _) @局部性
& C. R. X) w7 |, b4 u$ d对于一张图片而言,需要检测图片中的特征来决定图片的类别,通常情况下这些特征都不是由整张图片决定的,而是由一些局部的区域决定的。例如在某张图片中的某个局部检测出了鸟喙,那么基本可以判定图片中有鸟这种动物。
. w+ [- s1 m6 H+ R4 |' \
$ u# t$ Z4 D' w. z7 ?- U相同性
+ F0 C- f. ]" V7 i对于不同的图片,它们具有同样的特征,这些特征会出现在图片的不同位置,也就是说可以用同样的检测模式去检测不同图片的相同特征,只不过这些特征处于图片中不同的位置,但是特征检测所做的操作几乎一样。例如在不同的图片中,虽然鸟喙处于不同的位置,但是我们可以用相同的模式去检测。9 L) J' C- Y! m& A9 g0 O$ C
0 L! Q( p* Y( U  {
不变性
8 x) o$ y2 {! q3 D+ C对于一张图片,如果我们进行下采样,那么图片的性质基本保持不变。' z! _$ |% E. d% n/ U& V. F
/ W% c* Y9 V8 M% K1 I, n* W; @
验证码识别原理
- v" A+ v. K: @+ ]- j6 w# c( AMatlab对图像读入处理,去掉噪声点和较浅的点,进行二值化,将图像转变为0/1矩阵,这样就完成了预处理。1 H, U. L3 [* b- L6 O& V! R
然后要对图像进行切割,取到每个数字的小图片位置,将其缩放至等大小,方便神经网络进一步处理。
3 X4 ^( k, h& R) |6 ]最后将图片转成神经网络能够识别的格式,例如BP网络,则将其转为行向量,深卷积网络,则将其转为矩阵即可。: k) s9 T# O% Q+ `; K- f

% ]- N% }" S" B  S" R% B9 ^3 i/ `9 |4 i/ A" K% Z/ h# l  P
二、源代码
6 `0 [; L; i# O) F0 ]
& W/ f; n8 C  }0 K2 d                                                    5 I" m3 p' P7 |, n
2 J) V2 `$ r, P4 o% |3 I2 w
三、运行结果
) U5 [9 ~" ?, D1 [
+ b. s6 t7 t# Q6 E. f ; H" Z! u, @3 i6 p% }4 m

+ N( {2 s/ m+ W3 x/ A) ]( Y
作者: CCxiaom    时间: 2021-6-1 13:13
基于matlab CNN卷积神经网络之验证码识别
作者: uerriup    时间: 2021-6-1 13:14
基于matlab CNN卷积神经网络之验证码识别
作者: NNNei256    时间: 2021-6-1 13:14
基于matlab CNN卷积神经网络之验证码识别




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2