找回密码
 立即注册
搜索

零基础一文读懂AI深度学习图像辨认

#寻觅真知派# #迷信思想看百态# #深度学习 图像辨认#

人工智能大常识(2):图像辨认(以手写字符辨以为例)

近期写一组关于人工智能的科普帖子。第一帖引见了AI自动诊断的方法,本帖之后预备继续推出《人工智能大常识(3):文本了解(以旧事分类为例)》,基本包括了人工智能几个常见的运用范畴:智能数据分析、计算机视觉、自然言语处理。敬请持续"关注"。之所以号称"大"常识,是因虽为常识,但需求用点儿心去读。所以这组帖子次要奉献给爱动脑、勤思索的老铁们,没兴味的礼节性点个赞可以忙本人的事情。也可以先收藏了,或分享给别的能够感兴味的冤家。假如不太忙,留言指点一下你爱看的帖子再走。

本帖经过手写字符辨认的例子,向大家引见人工智能在计算机视觉(又称机器视觉)中的运用。我在一个头条帖子中谈到过,智力的5个要素中,第一个就是感知力,也就是经过感觉器官感知理想世界的才能。材料显示,人们从客观理想中收到的信息,约80%来自于视觉。所以,在人工智能中,对于视觉信息的研讨具有很重要的意义和广泛的运用价值:人脸辨认、医学图像诊断、军事目的辨认、异常行为检测、遥感图像处理、自动驾驶、产品品相观检测,等等。

一、特征提取与图像辨认

虽然我们对人脑何辨认图像的原理并不完全清楚,但并不影响我们讨论AI辨认图像的途径,特征提取就是行之有效的方法。留意图1红框区域,动物宝宝们的眼睛、鼻子、嘴巴各有什么特征?


图1 观察动物定定们的各自特征,猜想计算机如何表述这些特征



假如你不知道如何表述动物宝宝们各自的特征就别费心了,由于用自然言语的确不容易准确地讲清楚。计算机当然也"说"不出来,但它有本人的办法,就是计算。"说"不出来的意思可以"算"出来,然后用数字表示图像的特征!

计算的对象是数,幸而,计算机"看"到的和记忆(存储)的图像就是数。

关于把图像划分为像素点,进而编码为数字的原理和方法,请参考其他相关文献。图2每个方格表示图像的一个像素点,每个像素点用一个0~255的整数表示:完全黑的像素值标记为0;完全亮的为255。这样一幅图像就可以用若干行、若干列组成的一组数表示了。图2对图像行列的划分比较粗,实践编码的像素点要小很多,也就是图像划分的行列数更多。


图2 图像数字化



我们看狗狗图像的下面部分,将其分为3个大方块,每一块仍包括许多个像素点,这样还是不利于概括这部分图像的特征。

假如规定一种计算方法(参见后面图5),将一个方块中的"多个"像素值计算成为"一个"。譬如,下面3个方块计算的值分别为:17、196、17,这3个数就是狗的两眼及两眼之间部分图像的特征值;相似地,狗狗其他部分也可以这样用这种方法表示其某一块图像的特征值。


图3 图像特征的提取



实践运用中,由于一幅图像的像素点很多,一次抽取出的特征值能够还比较多,这就需求在此基础上用异样的方法,对曾经获得的特征值再进一步抽取特征值,即获得"特征值的特征值"。这样的工作通常需求做5、6层(重),辨认复杂图像甚至需求更多层。这就是深度学习之"深度"的含义。


图4 多层(重)特征提取



普通地,第一层(重)特征提取通常是检测特定方向和外形的边缘,以及这些边缘在图像中的地位;第二层(重)特征提取往往是检测多种边缘的特定规划,同时忽略边缘地位的宏大变化(池化);第三层(重)则把特定的边缘规划组合成为实践物体的某个部分;后续的层次将会把这些部分组合起来,完成物体的辨认。

二、深度学习与卷积神经网络

深度学习是目前机器学习的常用技术,在图像辨认中广泛运用。普统统过包含多层的人工神经网络完成,每一层完成一次图像特征的提取,把某些较纤细的特征表示成愈加笼统的特征,这些特征的提取、笼统过程都不需求人工干涉和了解,完全由机器经过数据训练获取和认知这些特征,并在此基础上完成效果更好的辨认和分类。卷积神经网络是深度学惯用于图像处理的常见模型。

卷积神经网络(CNN = Convolutional Neural Network) 是计算机视觉范畴目前运用较多的一种机器学习方法。次要用于图像处理与分析、车牌辨认、人脸辨认、物体检测与分类、自动驾驶等。

与普通神经网络相比,卷积神经网络中加入一个或多个特殊的隐含层——卷积层。每个卷积层的节点与下层节点并不完全衔接,而是只衔接其中相邻区域的部分节点,即一个感受野。详细的衔接方法是,经过一个被称为卷积核的矩阵,譬如3×3的方阵,与输入层相对应节点值构成的同型方阵(感受野),做"点乘"运算,其结果就是卷积层的一个节点值。


图5 卷积神经网络



也就是说:输入层一个"感受野"区域(3×3的方阵)的节点值,被"感受"(运算)为一个单一值,映射到卷积层的一个节点。这就是卷积神经网络提取图像特征的基本方法,也是提出卷积神经网络的最重要意义所在:网络自动提取和学习图像特征,这个特征被笼统为一个数值来表示。

根据后面引见的神经网络的结构不难了解,卷积核矩阵中的数相当于后面神经网络中的一组权值。该组权值被确定后在该卷积层不再改变,称为"共享参数"。

节点的部分衔接与共享参数是卷积神经网络的两个次要特点。下面我们运用卷积神经网络来辨认手写数字字符。

三、手写字符辨认

从计算机视觉的角度,一个手写字符被看作一幅图像,把这幅图像辨以为一个字符的过程称为手写字符辨认。计算机为什么可以把手写符号2和Z分别辨以为数字"2"和英文字母"Z"这样两个不同的字符?关键在于对不同字符外形特征的看法。CNN正是经过卷积层不断捕捉和提取手绘图像中的特征。我们以手写数字"2"的辨以为例,学习CNN经过卷积计算提取图像特征的工作原理。

简单起见,令表示"2"的数字图像为二值图像,像素数为6×6,即图像的横向、纵向点阵均为6个像素点。并规定有笔画的地方为黑色,用数值1表示;其他地位为白色,用数值0表示。卷积核由3×3 = 9个数值构成,与输入层左上角区域9个节点数值做"点乘"运算,结果"5"保存在卷积层左上角节点地位。卷积层这个节点值5代表了数字图像"2"左上角部分向右上的一段弧,这就是对"2"这个字符一部分特征的提取或笼统。当然数字"3"、"8"等的图像相应的左上角部位能够也具有这样的特征,但随着卷积运算的停止,其他部位的特征将会把它们区别开来。见图6。


图6 "2"的左上角部分图像的特征提取



卷积运算第二步,将输入层中的虚线框右移一位,所对应的输入值矩阵继续与卷积核矩阵作异样的点乘运算,结果为-2。……

该卷积层4×4=16个节点的值,就代表了对字符"2"不同部分外形特征的笼统,笼统的结果用数值标识。这是对字符图像较小部分特征的提取或笼统。


图7 卷积运算第二步,特征值"-2"的提取



将上述4×4=16个节点的卷积层作为下一级卷积运算的输入层,并对该输入层再次做相反的卷积运算,卷积核仍保持3×3=9个元素组成(详细元素值能够有所不同),相对应的下一级卷积层则由2×2=4个节点构成。这一层卷积运算是对上一层卷积运算所得图像部分特征的再次笼统,所得的4个结节值可以了解为数字图像"2"的左上、右上、左下、右上等4个部位外形的特征值。最后还要加一个全衔接层,构成一个残缺的图像辨认网络,其输入值就是一个手写字符辨认的结果。


图8 残缺的图像辨认网络



小结:本帖引见了人工智能停止图像特征提取和辨认的基本原理,引见了一种非常常用的深度学习方法:卷积神经网络,并经过该网络辨认了手写数字2。触类旁通:其他数字、字符、图像等都可以经过这种方法辨认。

向耐烦读完的老铁致敬!请点关注,静候《人工智能大常识(3):文本了解(以旧事分类为例)》的出笼。如有错讹之处,请各位高人批判拍砖,不吝赐教。

#寻觅真知派# #迷信思想看百态# #深度学习 图像辨认#

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评8

小小斅 2020-8-29 19:11:41 显示全部楼层
学一点人工智能知识
回复

使用道具 举报

中信大厦 2020-8-29 19:12:45 显示全部楼层
学一点人工智能
回复

使用道具 举报

偶本愚 2020-8-29 19:22:09 显示全部楼层
分享了
回复

使用道具 举报

更好 2020-8-29 19:30:59 显示全部楼层
分享了
回复

使用道具 举报

黄琼仪脑残 2020-8-29 19:42:10 显示全部楼层
分享了
回复

使用道具 举报

我要当坏淫 2020-8-30 20:42:54 显示全部楼层
发发呆,回回帖,工作结束~
回复

使用道具 举报

用户名难取 2020-8-31 15:59:31 显示全部楼层
……
回复

使用道具 举报

床上小桌 2020-9-1 09:20:29 显示全部楼层
啥也不说了,大佬,给你个赞
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies