哪种妖怪,悟空一看便知
悟空既然已经答应传授八戒火眼金睛的技能,自然就要认真履行诺言,这样也能尽快找到妖怪,救出师父,真是一举两得的好事。
八戒的方法
悟空学着当年菩提祖师的样子,一本正经地说道:“八戒,我现在传授你看图识妖怪的技能,你先和师兄说说你平时是如何识别妖怪的?”
八戒虽没有悟空的火眼金睛,但这一路跟随大师兄降妖除魔,也跟众多妖怪打过交道了,自己也总结了点识别妖怪的小本事。
八戒认真地说道:“我识别妖怪时,主要看妖怪的外在特点。”
“以咱们在平顶山莲花洞遇到的金角大王和银角大王为例吧,这俩妖怪头上都有角,金角大王的角是金色的,银角大王的角是银色的;再就是他们的衣服,一个是金色的,一个是银色的;还有他们随身携带的法器,与别的妖怪不同,他们的法器是一个葫芦。”
八戒说到这里,想到上次悟空差点被那葫芦融化,打趣道:“猴哥,你还记得那个葫芦吧?就是把你吸进去,差点融化你的那个葫芦。”
悟空拍了拍八戒的头,说道:“你还想不想学了,竟然敢拿我说笑,况且当初那葫芦对我本无效,只是困住我罢了!”
八戒嘿嘿笑道:“猴哥,我知错了,我这不是看你担心师父,想调节一下气氛吗?”
悟空继续说道:“你这种方法有时候确实有用,当年菩提祖师教我挑西瓜时用的就是这种方法。不过后来我发现有时候这种方法不管用,你发现了吗?”
八戒点点头,说道:“是的,有时候我这方法就不灵了,这让我很困惑。”
八戒的困惑
悟空笑道:“你说说看,有什么困惑?”
八戒说道:“如果同一个妖怪呈现不同的表情和不同的姿态,我就很难识别出来了。”
“还有一些妖怪诡计多端,善于变化伪装,根本判断不出来!”八戒说着,有些着急了。
悟空大笑道:“没错,你和我当初遇到的问题一样。
“妖怪变化多端,难以分辨。对于同一种妖怪,你需要观察并记忆他的各种变形。无论他高矮胖瘦,或者飞天遁地出现在任何地方,或者伪装成任何形态,比如人形、树木、房子,才能准确地揭开妖怪的面目。
“另外,各路妖怪虽千奇百怪,但难免存在一些共同点,要想识别是哪种妖怪,务必要找到能够区分不同妖怪的关键特点。”
例如,独角兕大王和牛魔王看起来相像,实则不同。从颜色上看,独角兕大王是青牛精,牛魔王是一头大白牛。从兵器上看,青牛精的兵器是太上老君防身用的金刚琢,逮住什么套什么,牛魔王用的却是棒子。抓住这些关键特点就很容易区分妖怪了。
“而如何找出这些关键的特点就是人工智能要做的事情啦!”
悟空的火眼金睛
听了悟空的精彩讲解,八戒有点迷糊了,尴尬地问道:“大师兄,道理我老猪是明白了,可是妖怪种类多、特点也多,我还是学不会呀!”
悟空说道:“不要着急,我带你一起去EasyDL平台用火眼金睛来识别抓走师父的妖怪,也许你就能学会了。”
要在EasyDL平台上实现图像分类,不需要深入学习理论知识,只需收集数据,给数据进行标注,将其制作成一个符合标准的数据集,EasyDL就能自动完成模型训练,实现图像分类的技能。
知识点
图像分类中的数据是指我们收集到的照片、图片,例如妖怪的图片。
标注是人对照片/图片属于何种妖怪的记录,如白骨精、蜘蛛精。
悟空带着八戒来到了EasyDL平台,准备用八戒拍摄的妖怪照片作为数据集,来识别抓走师父的妖怪,好赶快去救师父。
八戒则在一旁看着悟空操作。
实验1
看图识别妖怪
第一步 创建模型
这个阶段的主要任务是选择平台类型,确定模型类型,配置模型基本信息(包括名称等),并记录希望模型实现的功能。
1)打开EasyDL平台主页,网址为https://ai.baidu.com/easydl/,显示如图2-1所示的页面。
图2-1 EasyDL平台主页
点击图2-1所示页面中的【立即使用】按钮,显示如图2-2所示的【选择模型类型】选择框。模型类型选择【图像分类】,进入【我的模型】,显示图2-3所示的操作台页面。
图2-2 选择模型类型
2)在图2-3所示的操作台页面中创建模型。
图2-3 操作台页面
点击操作台页面中的【创建模型】按钮,显示如图2-4所示的页面,填写模型名称为“看图识别妖怪”,模型归属选择“个人”,填写联系方式、功能描述等信息,点击【完成】按钮,完成模型的创建。
图2-4 创建模型
3)模型创建成功后,可以在【我的模型】中看到刚刚创建的模型“看图识别妖怪”,如图2-5所示。
图2-5 模型列表
第二步 准备数据
这个阶段的主要工作是根据图像分类的任务准备相应的数据集,并把数据集上传到平台,用来训练模型。
(1)准备数据集
首先扫描封底二维码下载压缩包,在【第2章-实验1】中找到训练模型所需的图像数据。对于识别妖怪任务,我们准备了三种妖怪的图像,分别为豹子精、老虎精和狮子精。图片类型支持png、bmp、jpeg格式。之后,需要将准备好的图片按照分类存放在不同的文件夹里,同时将所有文件夹压缩为.zip格式。
然后,需要将准备好的图像数据按照分类存放在不同的文件夹里,文件夹名称即为图像对应的类别标签(Leopard、Lion、Tiger)。此处要注意,图像类别名(即文件夹名称)只能包含字母、数字、下划线,不支持中文命名。
最后,将所有文件夹压缩,命名为yaoguai.zip,压缩包的结构示意图如图2-6所示。
图2-6 压缩包的结构示意图
(2)上传数据集
选择图2-7所示的【EasyData数据服务】中的【数据总览】,点击【创建数据集】按钮,进入如图2-8所示的页面。在该页面中填写数据集名称,点击【完成】按钮完成数据集的创建。点击图2-9中的【导入】按钮,进入如图2-10所示的页面,在该页面中选择数据标注状态为【有标注信息】,导入方式选择【本地导入】,标注格式选择【以文件夹命名分类】并点击【上传压缩包】,选择yaoguai.zip压缩包进行上传。
图2-7 创建数据集
图2-8 填写数据集名称
图2-9 数据集创建结果
图2-10 导入数据集
选择好压缩包后,点击【确认并返回】按钮,成功上传数据集。
(3)查看数据集
上传成功后,可以在【数据总览】中看到数据集的信息,如图2-11所示。数据集上传后,需要一段处理时间,大约几分钟后就可以看到数据集上传的结果,如图2-12所示。
图2-11 数据集展示
图2-12 数据集上传结果
点击【查看与标注】可以看到数据的详细情况,如图2-13所示。
图2-13 数据集详情
第三步 训练模型并校验结果
前两步已经创建好一个图像分类模型,并且创建了数据集。本步骤的主要任务是用上传的数据一键训练模型,并且在模型训练完成后,在线校验模型的效果。
(1)训练模型
数据上传成功后,在【训练模型】中,选择之前创建的图像分类模型,添加分类数据集,开始训练模型。训练时间与数据量有关,在训练过程中,可以设置训练完成的短信提醒并离开页面,如图2-14~图2-17所示。
图2-14 添加数据集
图2-15 选择数据集
图2-16 训练模型
图2-17 模型训练中
(2)查看模型效果
模型训练完成后,在【我的模型】列表中可以看到模型的效果(如图2-18所示)以及详细的模型评估报告(如图2-19所示)。从模型训练的整体情况可以看出,该模型的训练效果是很优异的。
图2-18 模型训练结果
图2-19 模型整体评估
知识点
准确率,正确识别的妖怪数/妖怪总数*100%。
召回率,正确识别为某类妖怪的数量/该类妖怪原本的数量*100%。
(3)校验模型
我们可以在【校验模型】中对模型的效果进行校验。
首先,点击【启动模型校验服务】按钮,如图2-20所示,大约需要等待5分钟。
图2-20 启动校验服务
然后,准备一条图像数据,点击【点击添加图片】,如图2-21所示。
图2-21 添加图像
最后,使用训练好的模型对上传图像进行预测,如图2-22所示,结果显示图像属于老虎。
图2-22 校验结果
最后,悟空和八戒成功识别出不同的动物,并且找到了抓走师父的妖怪,二人成功救出了师父。
火眼金睛是怎么炼成的
八戒救出了师父,非常开心。他更开心的是自己和猴哥一起用人工智能找到了抓走师父的妖怪,简直太神奇了。
只不过,急于救师父,八戒只顾着实践,却没有探明其中的奥秘:猴哥的火眼金睛到底是怎么炼成的呢?
八戒带着疑惑又来请教悟空。
悟空说道:“现在师父回来了,那我就可以好好给你讲讲这其中的奥秘了。”
人工智能其实是模仿人脑思考的过程,实现一个类似于人脑神经元的结构去解决问题。
首先,人工智能会创建一个类似于人脑神经元的结构,我们称之为“模型”,它可以观察、比对、记录图片中的各种特点。然后,它为每个特点赋予一个数值,表示该特点所达到的程度,就像第1章中提到的西瓜外观特征值。最后,这个类似于人脑的结构会告诉我们,这张图片中是否为妖怪。
刚开始时,这个结构跟我们小时候的大脑一样,并不“聪明”,识别结果经常出现错误。经过不断添加训练数据进行训练,它变得越来越聪明,最后就像长大的我们,能够分辨出很多类别的图片。