版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人工智能应用导论全套可编辑PPT课件项目一认识人工智能——揭开人工智能的面纱项目二驾驭物体识别——让机器更聪明项目三语音识别技术应用——让机器对你言听计从项目四人脸识别技术应用——机器也认识你项目五多姿多彩的生活——人工智能应用秀项目一
认识人工智能——揭开人工智能的面纱全套可编辑PPT课件目录CONTNETS人工智能知识认知人工智能应用支撑认知人工智能技术发展历程探究1234探究新职业——人工智能训练师知识目标1.了解人工智能的定义。2.理解现代人工智能及分类。3.了解人工智能发展历程。4.了解我国人工智能发展现状和战略规划。技能目标1.会搜集信息、辨别信息。2.能制作符合模型训练要求的图像数据集。素养目标1.树立文化自信,增强民族自豪感。2.培养学生正确面对曲折和困难的人生观。人工智能知识认知01全套可编辑PPT课件一、人工智能的概念23145(5)应用领域的“人工智能”。人工智能是一门综合学科,主旨是研究和开发出智能实体,在这一点上它属于工程学。(4)研究领域的人工智能。人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术学科,它是计算机科学的一个分支。(2)《人工智能标准化白皮书(2018年)》里的人工智能。人工智能是利用数字计算机或者由数字计算机控制的机器。(3)人工智能之父眼里的人工智能。人工智能之父——约翰·麦卡锡对人工智能的定义是“制造智能机器的科学与工程,特别是智能计算机程序”。(1)新华词典在线版里的人工智能。人工智能是计算机科学的一个分支,研究应用计算机来模拟人类的某些智力活动,从而代替人类的某些脑力劳动。全套可编辑PPT课件名人故事如果说阿兰图灵是人工智能的奠基者,驼明斯基则可以说是人工智能的推动者。其一生虽不像图灵那样传奇,但也足以享誉后世。联合发起达特茅斯会议人工智能的起源,公认是1956年的达特茅斯会议。这年夏季,达特茅斯学院数学助理教授麦卡锡(JohnMcCarthy)、时任哈佛大学数学与神经学初级研究员的马文明斯基、IBM信息研究经理罗切斯特(NathanielRochester)、信息论的创始人克劳德香农(Claude
Shannon)等一批有远见卓识的年轻人聚集在一起,围绕着“自动计算机”、“如何为计算机编程使其能够使用语言”、"神经网络”、“计算规模理论”等-系列对于当时的世人而言完全陌生的话题,共同进行了探讨和研究,并首次提出了"人工智能”这一术语,标志着“人工智能”这门新兴学科的正式诞生。(二)感知智能感知智能是指机器具有类似人的感知能力,如视觉、听觉等,不仅可以听懂、看懂,还可以基于此做出判断并做出反馈或采取行动,即“能听会说,能看会认”。(一)计算智能计算智能是指机器可以像人类一样存储、计算和传递信息,帮助人类存储和快速处理海量数据,有利于算法的优化和硬件的技术进步。这一阶段是感知智能和认知智能的基础。(三)认知智能认知智能是指机器能够像人一样主动思考并采取行动,全面辅助或替代人类工作,是人工智能的最高级形态,也是行业未来的着力点。二、人工智能的三个方面三、人工智能的未来人工智能在未来是否会拥有意识,现在我们还不得而知。但是,很多研发人员和工程师希望人工智能可以拥有意识。数字克隆人是人工智能在未来的发展方向之一。数字克隆人是人类个体的思维方式和兴趣爱好的数字复制品,但是,数字克隆人的开发可能只是一种用于实现人格的技术。2015年左右,人们已经开发出用于实现此目标的传感技术。由此实现了很多事情,例如,根据图像来推测面部表情,并将其与情绪关联等。今后利用传感技术模拟人格的尝试会越来越多。知识链接金融本来就是数字的游戏,不过现在正从数字(number)转向数据(data)。金融机构通过数据分析客户信用,进行诈骗检测、证券交易等。三、金融3现阶段,工业企业在智能制造趋势下纷纷开始探索智能化转型的路径,基于工业大数据分析的工业智能蕴藏着巨大商业价值的革命性技术,越来越多地受到企业青睐。一、工业1人工智能可以在医疗行业多个流程中发挥价值,问诊、医疗报告生成、初步筛查、医疗影像的辅助诊断等。四、医疗4目前,人工智能在商业中得到了广泛的应用,其包括智能客服机器人、决策支持、预测营销、语音搜索、图像识别等,相信人工智能在商业中的应用将有着良好的发展前景。二、商业2人工智能技术发展历程探究02一、人工智能的第一次高峰1950年,一名在校大四学生马文·明斯基与他的同学邓恩·埃德蒙建造了世界上第一台神经网络计算机,这被视为人工智能的起点。1956年,在达特茅斯学院举办的一次会议上,计算机专家约翰·麦卡锡提出了“人工智能”一词。人们在达特茅斯会议上正式确立了人工智能这一术语,对人工智能的学术研究也正式拉开序幕。二、人工智能的第一次低谷20世纪70年代,人工智能进入了一段痛苦而艰难的岁月。科研人员在人工智能的研究中对项目难度预估不足,导致与美国国防高级研究计划署的合作计划失败,使人工智能的前景蒙上了一层阴影。与此同时,社会舆论的压力也慢慢压向人工智能这边,导致很多研究经费被转移到了其他项目上。当时,人工智能面临三个技术瓶颈:①计算机性能不足。②问题的复杂性高。③数据量严重不足。三、人工智能的崛起1980年,卡内基梅隆大学为数字设备公司设计了一套名为XCON的“专家系统”。这是一种采用人工智能程序的系统,是具有完整专业知识和经验的计算机智能系统,可以简单地将其理解为“知识库+推理机”的组合。这套系统在1986年之前能为公司每年节省下来超过4000万美元的经费。这种商业模式衍生出了像Symbolics、LispMachines等和IntelliCorp、Aion等硬件、软件公司。在这个时期,仅专家系统产业的价值就高达5亿美元,人工智能应用再次进入繁荣期。四、人工智能的第二次低谷1987年,苹果和IBM公司生产的台式机性能都超过了Symbolics等厂商生产的专家系统通用计算机,从此,专家系统风光不再,曾经轰动一时的人工智能系统就此宣告结束其历史进程,人工智能应用再次进入低谷期。五、人工智能再次崛起1997年5月11日,IBM的计算机系统“深蓝”战胜了国际象棋世界冠军卡斯帕罗夫。20世纪90年代中期,随着AI技术尤其是神经网络技术的逐步发展,以及人们对AI开始抱有客观理性的认知,人工智能技术开始进入平稳发展时期。2006年,Hinton在神经网络的深度学习领域取得突破,人类又一次看到机器赶超人类的希望,这是人工智能标志性的技术进步。2009年,IBM首席执行官彭明盛首次提出“智慧地球”这一概念。1978年3月,邓小平发表了“科学技术是生产力”的重要讲话,提出“向科学技术现代化进军”的战略决策。20世纪70年代末至20世纪80年代前期,一些人工智能相关项目已被纳入国家科研计划。一、科研起步阶段二、产业快速发展阶段清华大学成功研发出的人脸识别系统以及智能问答技术都已经获得了应用。中科院自动化所成功研发了“寒武纪”芯片并建成了类脑智能研究平台。华为也推出了MoKA人工智能系统。知识链接新技术推动学科建设和催生新职业。2018年4月,教育部在研究制定《高等学校引领人工智能创新行动计划》时确定设立人工智能专业,进一步完善中国高校人工智能学科体系,旨在培养中国人工智能产业的应用型人才,推动人工智能一级学科建设。三、国家战略规划发展阶段四、国际上人工智能领域的发展现状(一)资源层:数据及算力的大幅提升将AI推向浪潮之巅(二)技术环境:开源框架大幅降低开发门槛(三)外部环境:政策助力,人工智能迎来发展良机知识链接探究新职业——人工智能训练师03一、创建图像分类模型(5)信息填写完成后,单击“完成创建”按钮即可创建成功。在左侧导航栏“我的模型”标签页中即可看到所创建的模型。(4)在信息填写页面中填入“模型名称”“邮箱地址”“联系方式”和“业务描述”,选择“模型归属”,所有带有星号的选项都必须填写。(1)打开EasyDL图像官网,进入EasyDL图像页面。(3)进入图像分类模型管理界面,在左侧的导航栏中,选择“我的模型”标签页。(2)单击“立即使用”按钮,在弹出来的“选择模型类型”对话框中选择“图像分类”选项,进入登录界面,输入账号和密码。二、上传数据(1)选择左侧导航栏中的“数据总览”标签页,单击“创建数据集”按钮,进入创建数据集信息填写页面。01(2)按照提示填写信息。在“数据集名称”一栏可输入你自己取的数据集名称,其他均为默认项,无需修改。02(3)数据集创建成功后,在界面中将出现该模型的数据集信息,包括版本、数据集ID、数据量、标注类型、标注状态、清洗状态等。03(4)单击“导入”链接,进入导入数据页面,在“数据标注状态”一栏选中“无标注信息”单选按钮,在“导入方式”一栏选择“本地导入”和“上传压缩包”选项。04(5)此时数据开始导入,数据导入状态,等待数据全部导入。05三、标注数据(1)数据集导入完成后,可以看到最近导入状态已更新为“已完成”,数据量、标注状态操作都有变化。(2)添加标签“猫”和“狗”,单击“添加标签”按钮,输入“猫”,单击“确定”按钮,标签就添加成功了。(3)标签添加完成后,即可进行数据标注。(5)利用相同的方法完成“猫”的图像的标注,全部标注完成后的效果。(4)选中所有代表狗的图像,单击右侧标签栏下对应的标签名“狗”,即可进行标注。四、训练模型(2)添加完数据集,训练模型页面的添加数据集效果,其他参数取默认值,然后单击“开始训练”按钮。(3)在弹出的对话框中,单击“继续训练”按钮,即可继续进行训练。(5)在版本配置界面,可以查看该训练任务的开始时间、任务时长、训练时长及训练算法等基本信息。(4)单击“训练状态”→“训练中”旁的感叹号图标,可查看训练进度。(1)选择模型训练,进入训练模型页面,分别选择模型、选择算法、添加数据集。五、校验和发布(1)单击“校验”链接,进入校验模型页面,单击“启动校验”按钮,再单击页面中间的“点击添加图片”按钮。(2)校验完成后,在页面中可以看到模型的识别结果,在页面右侧可以查看预测分类及其对应的置信度。(6)进入“体验H5”的“完成”页面。此时即可拿起手机,扫二维码进行测试。(4)回到我的模型列表中,模型服务状态为“发布中”。(5)模型发布成功后,服务状态为“已发布”,同时操作页面中会增加“体验H5”链接。(3)选择“发布模型”进入发布模型页面,填写服务名称和接口地址,完成后单击“提交申请”按钮后进入发布状态。一、认识人工智能训练师人工智能训练师的主要任务包括以下五个方面。(1)标注和加工图片、文字、语音等业务的原始数据。(2)分析提炼专业领域特征,训练和评测人工智能产品相关算法、功能和性能。(3)设计人工智能产品的交互流程和应用解决方案。(4)监控、分析、管理人工智能产品应用数据。(5)调整、优化人工智能产品参数和配置。二、人工智能训练师典型工作任务(一)数据标注数据标注是使用工具对未经处理的图片、文本、语音及其他原始数据进行加工处理,并进一步转换为机器可识别信息的过程。(二)模型训练人工智能的模型本质上就是训练机器用不同的算法来掌握一个个不同的规则,然后举一反三。知识链接知识拓展人工智能训练师职业技能标准1.具备扎实的人工智能学科知识和技能,包括机器学习、深度学习、自然语言处理等相关领域的理论和实践能力。2.能够熟练运用常用的人工智能算法和工具,如TensorFlow、PyTorch、Scikit-learn等,用于数据预处理、模型训练和评估。3.具备良好的编程能力,熟悉常见的编程语言,如Python、Java、C++等,能够编写高效且可维护的代码。4.具备丰富的数据处理和数据分析经验,能够从大规模数据中提取特征、进行数据清洗、数据可视化等,为模型的训练提供有力支持。5.能够独立完成人工智能项目的设计、开发和部署,具备项目管理和团队协作的能力,能够有效地与产品经理、工程师和领导进行沟通。6.具备出色的问题解决和创新能力,能够从多个角度分析和解决复杂的人工智能问题,提供有效的解决方案和改进建议。人工智能应用支撑认知04一、人工智能技术基础支撑——算力AI芯片部署的位置有云端、终端两种。云端,即数据中心,在深度学习的训练阶段需要极大的数据量和运算量,单一处理器无法独立完成,因此,训练环节只能在云端实现。(三)AI芯片应用近年来,已有不少超算中心运用了人工智能芯片和服务器来强化其算力,用于提升对人工智能产业的服务能力,也可以说是对传统超算中心进行“AI化”。(四)智算中心算力(也称作计算力),是设备的计算能力,也是数据处理的能力。AI的许多数据处理涉及矩阵乘法和加法。(一)人工智能的算力从广义范畴上讲,面向AI计算应用的芯片都可以称为AI芯片。在狭义上,AI芯片指专门针对AI算法做了特殊加速设计的芯片,以GPU、FPGA、ASIC为代表的AI芯片,是基于传统芯片架构对某类特定算法或者场景进行AI计算加速的芯片。(二)AI芯片二、人工智能技术基础支撑——算法1234(一)算法的定义算法是指在解决某个问题的时候,按照某种计算方法及步骤进行处理的过程。(二)机器学习的概念机器学习用于研究怎样让计算机具备像人类一样的学习能力,通过数据或经验不断优化计算机算法的性能,是人工智能的核心部分。机器学习根据学习方式的不同可以分为监督学习、无监督学习、强化学习三类。(三)深度学习的概念深度学习是机器学习的一个子集,是指通过模仿人类大脑的思考和学习方式。(四)神经网络的概念生物神经网络是指由生物的大脑神经元、细胞、触点等组成的网络。三、人工智能技术基础支撑——数据(一)数据采集(二)数据的采集源及采集方式(四)数据预处理(五)数据标注(三)采集的数据类型划分通常情况下,数据可以被分为非结构化数据、结构化数据以及半结构化数据三种类型。在数据处理流程中,采集的数据决定了数据分析挖掘的上限。第一类是终端数据。第二类是开放数据。第三类是专有平台的数据。第四类是物理数据。第五类是主观性数据。第六类是数据库的数据。1.数据清洗2.数据集成3.数据变换4.数据规约标注原始数据并准备将其应用于机器学习模型和其他AI工作流的过程称为数据标注。知识链接1.数理逻辑方法与专家系统2.模糊控制技术3.计算智能与进化计算及遗传算法5.神经网络4.分布式人工智能与多智能体技术0105040302人工智能技术的主要技术领域有以下五个方面。感谢观看人工智能应用导论
项目二
驾驭物体识别——让机器更聪明目录CONTNETS植物检测手写数字识别探究鸢尾花品种1234识别图像中的动物知识目标1.了解图像识别、生物特征识别。2.了解智能识别的应用及发展。3.了解图像分类问题类型以及常见图像分类方法步骤。技能目标1.能根据项目需求采用合理方法进行数据采集。2.会对采集后的数据进行简单处理。3.能够联系实际生活,列举出智能识别的应用。素养目标1.培养学生科技创新意识。2.养成正向的人工智能对社会发展的价值观。植物检测01一、植物检测中的数据采集要实现目标检测,就需要对有答案的目标图片进行学习。本次植物检测项目需要检测上海青、生菜、芹菜和苦苣菜四类植物,因此,我们需要大量采集这四类植物不同生长状态、不同角度的图像数据,为后续的数据标注、机器学习做准备。目前采集图像数据的方式有很多种,比如以下几种:(1)使用手机(相机)拍摄照片。(2)使用手机(相机)拍摄视频,然后转换为图像。(3)使用爬虫技术从网络上获取。二、数据标注(一)安装LabelImg工具在进行数据标注之前,需要先安装LabelImg。在Anaconda中安装和启动LabelImg的方法如下:(1)打开Anacondaprompt,输入命令pipinstalllabelimg进行安装。(2)安装成功后,直接输入命令labelimg即可打开LabelImg标注工具。LabelImg软件界面,如图2-1所示。二、数据标注(二)使用LabelImg标注并制作植物检测的数据集(1)准备两个文件夹JPEGImages和Annotations,将要进行标注的图片全部放到JPEGImages里面,Annotations用来保存标注好的xml图像信息文件。01(2)选择数据集格式。02(4)打开要标注的图像文件后,使用工具栏中的Create\nRectBox开始画框。04(3)加载数据和确定数据保存文件夹。03(5)点击左侧工具栏的NextImage图标转到下一张图片。05三、搭建YOLOv3虚拟环境(一)创建虚拟环境步骤1:打开AnacondaPrompt,输入condacreate-ntf_115python==3.7指令,即创建一个名字为tf_115的虚拟环境。接着会提示是否继续,输入“y”继续创建,如图2-6所示。步骤2:安装tensorflow-gpu1.15版本,并测试tensorflow是否成功调用GPU。输入命令pipinstalltensorflow-gpu==1.15。注意:本任务对应的是tensorflow-gpu1.15版本。三、搭建YOLOv3虚拟环境(二)安装本任务需要的其他库打开AnacondaPrompt,注意要先进入之前创建的tf_115的虚拟环境(即输入命令condaactivatetf_115),然后分别输入以下命令:pipinstallopencv-pythonpipinstallkeras==2.1.5pipinstallpillowpipinstallmatplotlibpipinstallnumpypipinstallh5py==2.10运行命令后的效果如图2-11所示。四、制作数据集23145(5)修改model_data文件夹下的voc_classes.txt文件,将类别修改为植物检测中的四类标注信息。(4)运行voc_annotation.py文件,会得到3个后缀为.txt的文件,它们对应的是训练集、测试集以及验证集的图片的名称。(2)回到PyCharm中,在VOC2007文件夹中新建train_text.py文件,并写入如下代码,目的是将我们的xml文件切分为训练集和测试集,这里设置的两者比例是8∶2。(3)此时,test.txt、train.txt、val.txt这几个文件并不能直接被YOLOv3读取,需要再进行一次转换。(1)把数据集文件夹放在项目文件夹的根目录下。五、使用Kmeans算法获得先验框anchor_box事实上,制作完数据集后就可以对其进行训练了。但是因为当前的anchor_box是原作者在coco数据集上通过Kmeans得到的,并不一定适合我们现在的植物检测数据集,所以我们需要在植物检测数据上使用Kmeans得到9个适合当前数据集的anchor_box,以得到最好的检测框。六、模型训练(一)制作生成器在开始训练之前,我们需要把数据集制作成一个生成器的结构,以便一边训练,一边读取数据,可以大大减轻内存的压力。(四)main函数定义一个main函数,并对其进行调用。(五)建立文件夹目录在keras-yolo3-master文件夹下建立文件夹目录logs/000,用于保存训练生成的模型。(二)编写其他函数与构建模型编写其他函数用来读取txt文件中的数据以及构建训练模型。具体内容包括获取数据标注的标签名称、获取anchors_box、创建模型结构。(三)编写训练函数我们在训练时还可以使用回调函数对训练过程进行控制。比如,使用ModelCheckpoint()函数可以自动保存最佳的模型,使用ReduceLRonPlateau()函数可以控制学习自动率衰减。知识链接一、目标检测算法——YOLO(二)YOLOv2YOLOv2是YOLO系列的第一个改进版本,它首次提出了以DarkNet19作为主干网络,并使用全卷积代替了全连接。(四)YOLOv4YOLOv4是YOLO系列的第三个改进版本,它将YOLOv3中的算法和目前主流的算法通过实验进行整合。(一)YOLOv1YOLOv1首先将resize(图像大小)调整到448×448并输入448×448×3的一个彩色图像,然后输出7×7×30的多维向量。这里的7×7×30可分为7×7和30两个部分。(三)YOLOv3YOLOv3是YOLO系列的第二个改进版本,它将YOLOv2中的DarkNet19改为特征提出能力更强的DarkNet53。1234知识链接搭建植物检测模型训练平台需要用到Anaconda、PyCharm和Keras。Anaconda使用的是一个开源的Python发行版本,包含了conda、Python等180多个科学包及其依赖项。PyCharm是由JetBrains打造的一款PythonIDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。Keras是一个用Python编写的高级神经网络API。三、植物检测模型训练平台搭建(一)VOC数据集VOC数据集实际上是一个名为PASCALVOC的世界级的计算机视觉挑战赛中的数据集,很多模型都基于此数据集推出,如目标检测领域的YOLO、SSD等。(二)COCO数据集COCO数据集的英文全称为MicrosoftCommonObjectsinContext(MSCOCO),它是一个包括大规模的对象检测、分割、关键点检测和字幕数据集。二、目标检测中的公开数据集小贴士拍摄花朵小技巧1.灵活找角度有时候拍照会发现怎么拍都不好看,那可能就是角度的问题,你要多用双脚寻找好的角度,灵活运用不同的角度,拍照后对比一下,选出最好看的一张来。2.学会构图构图是欣赏者的第一感,它决定了画面的冲击力,给人整体观感上的美。构图一是要大气,线条、轮廓要鲜明、有力,画面要完整,细部符合黄金分割律;这么说可能有点抽象,最简单的构图办法就是把手机自带的九宫格线对上,焦点选在线条之间的交叉点上。3.裁剪大小如果没有特别需求(比如做壁纸或者封面)的话,可以裁剪、自定义尺寸最好,裁剪的目的是为了精准构图,还是用构图线作参考,把边角上杂七杂八的画面都裁掉。这些不裁可能会干扰视线。探究鸢尾花品种02一、确定鸢尾花最佳的品种数k值(一)导入相关的第三方库及模块因为要对鸢尾花样本数据进行聚类,在读取样本数据的基础上,除进行聚类操作外,还要计算轮廓系数和绘制轮廓系数的变化折线图,所以要通过以下代码导入相关的第三方库及模块。fromsklearn.clusterimportKMeansfromsklearn.metricsimportsilhouette_scoreimportmatplotlib.pyplotaspltimportpandasasp一、确定鸢尾花最佳的品种数k值(二)绘制k值与轮廓系数的变化关系图假设k的取值范围为[2,8],在不同k值条件下,对样本数据进行聚类训练,然后计算对应的轮廓系数,最后绘制出k值与轮廓系数的变化关系图。实现代码如下。1iris_datas=pd.read_csv(r'data\iris.csv',sep=',')2sc=[]3foriinrange(2,9):4kmeans=KMeans(n_clusters=i,random_state=151).fit(iris_datas)5score=silhouette_score(iris_datas,kmeans.labels_)6sc.append(score)7plt.plot(range(2,9),sc,linestyle='-')8plt.xlabel('k')二、绘制鸢尾花聚类后的结果散点图(一)按k=3对鸢尾花样本数据进行聚类鸢尾花有4个特征数据,取所有特征数据进行k均值算法训练,代码如下。iris_datas=pd.read_csv(r'data\iris.csv',sep=',')kmeans3=KMeans(n_clusters=3,random_state=151).fit(iris_datas)训练结束后,通过以下代码观察聚类后的簇号分布情况。kmeans3.labels_代码的运行结果,如图2-28所示。二、绘制鸢尾花聚类后的结果散点图(二)绘制聚类后样本的散点图为比较直观清晰地了解聚类后的样本分布情况,按鸢尾花不同的特征数据来绘制对应散点图,用不同的颜色来区分样本类别。代码如下。1plt.rcParams['font.sans-serif']=['SimHei']2plt.figure(figsize=(15,8))3ax1=plt.subplot(221)4plt.scatter(iris_datas['Sepal.Length'],iris_datas['Sepal.Width'],c=kmeans3.labels_)5ax1.set_xlabel('(a)花萼长度')6ax1.set_ylabel('花萼宽度')7ax2=plt.subplot(222)知识链接(一)何为聚类分析聚类分析是一种典型的无监督学习,也就是在事先不知道每个样本的类别,没有对应标签值的情况下,将未知类别的样本按照一定的规则划分成若干个类簇。(三)聚类性能度量聚类性能度量指标用于对聚类后的结果进行评估,分为内部指标和外部指标两大类。外部指标要事先指定聚类模型作为参考来评估聚类结果的好坏,称为有标签的评估;而内部指标是指不借助任何外部参考,只用参与聚类的样本本身评估聚类结果的好坏。(二)常见聚类方法1.基于划分的聚类2.基于层次的聚类3.基于密度的聚类一、聚类分析知识链接二、k均值聚类k均值聚类算法原理易懂、易于实现,当簇间的区别较明显时,聚类效果较好。(一)k均值聚类算法原理k均值算法通过样本间的距离来衡量它们之间的相似度,两个样本距离越远,则相似度越低,否则相似度越高。(二)K均值聚类算法步骤及流程要通过KMeans类来构建一个k均值模型,然后利用该模型进行聚类。k均值模型的主要参数。(四)认识KMeans类1.k的初值2.初始质心的选择3.簇号4.聚类结束条件(三)k均值算法应用提示01040302知识链接什么是降维?为什么要降维?前文已经谈到,在衡量采用什么方法来分析数据之前,最好能对数据的全貌有一个可视化的了解,能从中发现一些内在规律或启示,以便更好地指导人们选择相对合理的方法来解决问题。通常只在二维或三维的空间可视化数据,但原始数据的实际维度可能是四维甚至更高维度。采用数据降维的方法将原始数据的维度降为二维或三维,以便进行可视化处理来直观了解数据的分布。除此之外,数据降维还有提高计算速度、提高模型拟合度等好处。三、数据降维小贴士数据降维的注意事项1.确定降维目标:在进行数据降维时,需要明确其目标,通常是将数据压缩或转换成更少的特征并保留其变化率中最重要的部分。对于不同的应用场合,可以确定不同的数据降维目标。2.确定降维算法:选择适当的降维算法是非常重要的,可以通过PCA、LDA、t-SNE和UMAP等算法进行数据降维,要根据数据特点、降维目标、所需时间等综合考虑选择使用哪种算法。3.数据的预处理:在进行降维之前,需要对数据进行预处理,如归一化、标准化等,以消除数据集的分散性,减少噪声影响。4.检查数据质量:在进行降维之前,需要检查数据质量,数据质量不高会影响降维结果的准确性。如果数据存在异常值或不符合分布,需要进行必要的处理,如删除异常值、填充缺失值等。5.选择适当的维度个数:在进行降维之后,需要确定数据的最终维数,不同问题下最适合使用的维度个数不同。选择合适的维度个数可以充分体现数据的重要特征,同时也可以减少噪声和冗余。识别图像中的动物03一、ImageAI模块的安装安装Pillow模块,安装命令如下。pip3installpillow安装Matplotlib模块,安装命令如下。pip3installmatplotlib安装Numpy的版本在1.13.1以上,安装命令如下。pip3installnumpy安装TensorFlow的版本在1.4.0以上,安装命令如下。pip3installtensorflow安装OpenCV模块,安装命令如下。pip3installopencv-python安装SciPy的版本在0.19.1以上,安装命令如下。pip3installscipy二、ImageAI模块实现物体检测ImageAI模块中提供了ObjectDetection物体检测的方法,调用此方法后,使用预先训练好的模型文件,在模型选择上首选YOLO,因为速度快,yolo.h5就是YOLO算法的权重文件,加载模型文件后,就可以根据模型文件的内置算法从图像中进行物体检测。具体代码如下。fromimageai.DetectionimportObjectDetectionimportosexecution_path=os.getcwd()detector=ObjectDetection()detector.setModelTypeAsYOLOv3()detector.setModelPath(os.path.join(execution_path,"models/yolo.h5"))detector.loadModel()detections=detector.detectObjectsFromImage(input_image=os.path.join(execution_path,"pandas.png"),output_image_path=os.path.知识链接ImageAI支持图像文件的文件路径(默认)、图像数组和图像文件流3种输入类型,以及图像文件(默认)和数字数组2种输出类型。这意味着可以在生产应用程序中执行对象检测,例如,在以上述任何格式返回文件的Web服务器和系统上。要使用numpy数组或文件流输入执行对象检测,只需在.detectObjectsFromImage()函数或.detectCustomObjectsFromImage()函数中声明输入类型。请参见下面的示例。detections=detector.detectObjectsFromImage(input_type="array”,input_image=image_array,output_image_path=os.path.join(execution_path,"image.jpg”))#numpy数组输入detections=detector.detectObjectsFromImage(input_type="stream",input_image=image_stream,output_image_path=os.path.join(execution_path,"test2new.jpg"))#文件流输入手写数字识别04(一)导入相关的库因为要涉及文件操作和图像处理,所以要在源程序文件中导入os库和Image模块。代码如下。importosfromPILimportImage(二)定义转换函数imgtotext本函数首先将含有数字的图像进行缩放和灰度化处理,然后对图像逐行扫描,按每个像素点的像素灰度值大小将其转换成0或者1,转换规则如下。大于等于128:转换成0(表示白色)。小于128:转换成1(表示黑色)。(三)调用函数生成TXT文件通过如下形式调用函数imgtotext,将写有数字“3”的图像信息保存为文本信息。imgtotext(r'data\3.jpg',r'data\3_0.txt')一、数字图像信息转存为TXT文件(二)生成所有样本的特征值和标签值所有的训练样本数据和测试样本数据分别保存在trainingDigits、testDigits文件夹下,因此,需要定义一个函数convert2dataset,将文件夹下所有的TXT文件转换成样本的特征值及对应的标签值,代码如下所示。1defconvert2dataset(file_path):2list_file=os.listdir(file_path)3m=len(list_file)4datas=np.zeros((m,1024))5labels=[]6foriinrange(m):7num=int(list_file[i][0])8labels.append(num)9datas[i,:]=txt2array(一)定义一个样本的数据转换函数定义函数txt2array,将一个TXT文件数据转换成数值类型的数组,代码如下所示。1deftxt2array(filename):2X=np.zeros((1,1024))3f=open(filename)4foriinrange(32):5lineStr=f.readline()6forjinrange(32):7X[0,32*i+j]=int(lineStr[j])8returnX二、批量生成样本数据导入模块sklearn.neighbors中的KNeighborsClassifier分类器,代码如下。fromsklearn.neighborsimportKNeighborsClassifier(一)导入KNN类(二)构建分类模型利用KNeighborsClassifier类生成KNN模型对象,代码如下。knn=KNeighborsClassifier(n_neighbors=43,weights='distance',p=2)三、构建KNN模型四、训练KNN模型(一)用训练集x_train、y_train来训练模型调用fit方法对模型进行训练,代码如下。knn.fit(x_train,y_train)上述代码实际上就是让模型“记住”每个样本的特征值对应的是哪个数字标签,经过大量样本的这种反复训练,模型就知道靠哪些特征值来识别出对应的数字了。(二)对训练后的模型进行评估为了解该模型训练后的效果,可以从准确率方面做观察,执行以下代码。knn=score(x_train,y_train)执行结果如下。Out[88]:1.0五、评估模型效果(一)测试模型性能测试模型性能就是基于测试样本用训练后的模型来预测对应的分类标签值y_labels,并将其与真实的标签值y_test进行对比,来验证模型的正确率、召回率和F1值等性能指标。代码如下。1fromsklearn.metricsimportclassification_report2y_pred=knn.predict(x_test)3print(classification_report(y_test,y_pred))代码行1导入classification_report类,代码行2对模型进行测试,代码行3是输出模型性能测试报告,报告内容如图2-40所示。五、评估模型效果(二)通过交叉表了解模型的错分情况为更全面地了解所有数字的识别情况,可以通过计算标签的真实值与预测值的交叉表来详细了解0~9当中每个数字被错误分类的整体分布情况。执行以下代码以生成混淆矩阵。1fromsklearn.metricsimportconfusion_matrix2y_test=np.array(y_test)3confusion_matrix(y_test,y_pred)4pd.crosstab(y_test,y_pred,rownames=['真实值'],colnames=['预测值'],margins=True)代码行1导入计算混淆矩阵函数,代码行2进行类型转换,将y_test转换成与y_pred同类型的变量。代码行3生成测试集的实际值与预测值的混淆矩阵,代码行4生成分类结果对比交叉表。运行结果如图2-43所示。知识链接1.样本特征提取样本特征提取是分类器工作的首要任务,如果待分类对象没有提取特征,也就没有分类的依据,就无从辨别对象的种类。2.正、负样本针对分类问题,正样本是指想要正确分类出的类别所对应的样本,负样本是指不属于这一类别的样本。3.分类器分类器通过学习得到一个目标函数或模型(以下统称为模型),它能把样本的特征集X映射到一个预先定义的类别号y。(二)分类器如何工作分类是数据挖掘、智能分析中的一种非常重要的方法,利用分类器能够把数据映射到给定类别的某一个类别,从而提供对数据有价值的观察视角,可以帮助机器更好地理解数据和预测数据。(一)什么是分类器一、分类器知识链接二、几种主要的分类器(一)决策树决策树是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。(五)神经网络分类器神经网络分类器由输入层、隐藏层和输出层构成,它通过模仿人脑神经系统的组织结构及其某些活动机理,来呈现人脑的许多特征。(四)支持向量机支持向量机是一种有监督学习方式,可以进行分类,也可以进行回归分析。(二)贝叶斯分类器贝叶斯分类器就是对于给定的分类项,利用贝叶斯定理,求解该分类项在预先给定条件下各类别中出现的概率,哪个概率最大,就将其划分为哪个类别。(三)k近邻分类器把每个具有n个特征的样本看作n维空间的一个点,对于给定的新样本,先计算该点与其他点的距离(相似度),然后将新样本指派为周围k个最近邻的多数类。感谢观看
人工智能应用导论
项目三
语音识别技术应用——让机器对你言听计从目录CONTNETS语音数据采集聊天机器人语音转文字1234语音合成5校园智能客服知识目标1.理解语音识别原理。2.了解语音识别技术应用。3.了解自然语言处理关键技术。技能目标1.会语音采集和处理的方法。2.能调用API进行语音识别的应用开发。素养目标1.培养精益求精、专心细致的工作作风。2.培养数据保护意识。语音数据采集01任务实施1.安装pyaudio、wave依赖库。我们采用pipinstall命令方式。2.新建一个Python文件,通过importpyaudio创建PyAudio对象,打开声卡,创建缓存空间。3.录音10秒,并且将音频数据存储到列表。5.录音结束后,停止并关闭声卡,参考代码。不管从数据安全还是资源管理方面,这一步操作都是必需的。4.通过wave库将音频数据写到wav格式的文件中。SMART32154知识链接一、语音识别的过程语音识别是一个非常复杂的任务,能达到今天的实际应用水准实属不易。它涉及的技术领域主要有信号处理、模式识别、概率论、发声机理、听觉机理和人工智能等。大家都知道,机器只能处理数字信号,不能直接处理人的语音信号。另外,人在说话的时候,语速有快有慢,每个人的语音、语调也不尽相同,且说话时周围可能有一定的噪音影响。此外,即便发音相同(如“拟定”“你定”),但到底表达的是什么意思还要结合语境和上下文来进一步确定。还有,机器要进行预学习,以了解人类在语言交流中要用到哪些语料库等。不难想象,想让机器听懂人的话是很困难的任务,语音识别过程如图3-7所示。知识链接一、语音识别的过程1.语音信号处理2.特征提取3.声学模型4.语言模型5.解码搜索(一)语音识别的关键要素(1)采集一小段语音,把它转换成数字信号,然后进行预加重、分帧和滤波处理,将其分成若干小段。(2)按FBank特征或梅尔频率倒谱系数(MelFrequencyCepstralCoefficients,MFCC)特征进行特征提取工作,为声学模型提供合适的特征向量。(二)语音识别的具体步骤0102知识链接二、语音信号文件wav格式wav是微软开发的一种文件格式规范。wav文件分为两部分。第一部分是“总文件头”,包括chunkID和ChunkSize两个信息。chunkID,其值为“RIFF”,占四个字节;ChunkSize,其值是整个wav文件除去chunkID和ChunkSize,后面所有文件大小的字节数,占四个字节。第二部分是Format,其值为“wave”,占四个字节。它包括两个子chunk(块),分别是“fmt”和“data”。fmt子chunk中定义了该文件格式的参数信息,对于音频而言,包括采样率、通道数、位宽、编码等等;data部分是“数据块”,即一帧一帧的二进制数据,对于音频而言,就是原始的PCM数据。从语音识别的原理可以知道,将语音数据文件存储为wav格式是最好的。知识链接三、Python语音识别库Python使用者可通过各大平台提供的开源API在线使用一些语音识别服务,且其中大部分也提供了PythonSDK。如PyPI(PythonPackageIndex,Python语言的官方软件包索引)中就有很多现成的语音识别软件包,包括:Apiai;google-cloud-speech;pocketsphinx;SpeechRcognition;watson-developer-cloud;wit。法律小贴士关于个人收集音频、视频证据的相关法律规定根据《最高人民法院关于民事诉讼证据的若干规定》第六十八条以侵害他人合法权益或者违反法律禁止性规定的方法取得的证据,不能作为认定案件事实的依据。第六十九条下列证据不能单独作为认定案件事实的依据:(一)未成年人所作的与其年龄和智力状况不相当的证言;(二)与一方当事人或者其代理人有利害关系的证人出具的证言;(三)存有疑点的视听资料;(四)无法与原件、原物核对的复印件、复制品;(五)无正当理由未出庭作证的证人证言。因此,如果录音证据的持有者采用了侵犯他人隐私或者违反法律禁止性的规定,比如录有他人隐私或在其工作或住所窃听取得的录音资料,仍然会被排除使用。另外,单凭录音、视频证据单证一个事实,证据容易有瑕疵,需要其他书证或者证人证言佐证。语音转文字02任务实施1.进入百度AI官网,注册账号并领取语音识别服务资源,创建语音识别应用。(1)通过单击百度AI官网首页右上角的“登录”链接,如图3-15所示,进入用户注册页面,如图3-16所示,填写注册信息完成注册。任务实施1.进入百度AI官网,注册账号并领取语音识别服务资源,创建语音识别应用。(2)注册成功后请登录,单击页面右上角的“管理控制台”,如图3-17所示,进入管理中心页面,接着打开左侧产品服务列表,选择“人工智能”→“语音技术”,进入“语音技术-概览”页面,选择“创建应用”。任务实施1.进入百度AI官网,注册账号并领取语音识别服务资源,创建语音识别应用。(3)在创建应用页面填写新应用的信息完成应用创建,如图3-20所示。创建成功后单击左侧的“应用列表”可以查看列表信息,包括应用的AppID、APIKey和SecretKey,这些信息后面调用API的时候需要用到。应用列表页面。(4)在“语音技术-概览”页面领取语音识别和语音合成的免费资源额度。任务实施2.安装Python依赖包baidu-aip和SpeechRecognition。前面已经安装过wave和pyaudio库了,此处我们就可以直接引用,但还需要安装baidu-aip和SpeechRecognition包,参考命令如下:pipinstallbaidu-aippipinstallSpeechRecognition3.学习百度的官方文档,根据官方文档简介和接口说明编写代码实现语音转文本功能。4.从result中提取转换后的文本并输出到屏幕。5.在输出文本后,播放录音进行校对。小贴士录音转换成文字的注意事项首先,最重要的一点是确保高质量的录音文件,录音质量有别于录像录音,可以说是以声音来创造文本的一种方式。其次,需要根据录音内容的主题选择合适的录音转换软件,不同的软件具有不同的适用范围,如果选择的软件不符合录音文件的特点,可能会影响转换文本的质量,不仅影响表达效果,还可能使文本内容无法正确地理解,从而影响后期应用。再次,要在录音前做好充分的准备,如进行录音场所的检查,确保环境安静,除去外界杂音和其它可能影响录音质量的因素,使录音文件质量达到最佳;同时,还要根据具体录音内容确定好顺序,了解对象能力,划分段落,帮助避免不必要的重复说话,并加快录音转换文本的速度和质量。最后,在转换文本的过程中,要确保录音转换质量,注意检查关键词的拼写及语法,检查翻译和术语的准确性,以及句子的连贯性,确保文本尽量形象地表达出录音内容,让读者能够准确理解录音的主题,可以在每段文字之后留出一点时间来检查其质量。知识链接1234(一)通过硬件输入声音信号(二)对输入的音频进行信号处理,即进行帧(毫秒级)拆分(三)形成音素(四)将音素组成字词并串连成句一、语音识别的原理知识链接二、语音识别技术(一)端点检测(二)特征提取(四)语音识别开源平台和开放平台(三)声学模型01040302语音合成03任务实施参考官网技术文档中的“接口说明”,调用synthesis方法将text转换成音频并以MP3文件保存到本地。3与“语音转文字任务”一样,导入AipSpeech,再利用百度应用账号创建一个client对象。14.利用playsound播报MP3音频文件。4定义变量text,用来存储从键盘输入的文本内容,也就是我们需要转换为语音的文本内容。2知识链接一、语音语音包括三大关键部分——语音信息、语音音色和语音韵律。语音信息是指说话的内容,就是要转换成语言的文本信息的内容。语音音色是指说话者声音的特色、个性,俗话说的“未见其人先闻其声”就说明了音色的重要性。对于语音合成来说,音色的选择与内容要匹配,比如,播报新闻联播的声音用动漫里面的“娃娃音”就不合适。语音韵律就是说话的方式,即说话时声音的高低、快慢等。知识链接二、语音合成技术原理语音合成技术中的声学系统合成从最初只能合成元音和单音到现在已经与真人发声无异的效果,科学家们经过了长期的努力。根据技术实现方式大致可以将语言合成技术分为以下六个阶段。1.机械模拟阶段2.电子合成器阶段3.共振峰合成器阶段4.单元挑选拼接合成阶段5.基于HMM参数合成阶段6.基于深度学习的语音合成阶段(二)声学系统部分1.文本结构与语种判断当需要合成的文本输入后,先要判断是什么语种,再根据对应语种的语法规则,把整段文字切分为单个的句子。2.文本标准化在输入需要合成的文本中,若有阿拉伯数字或字母,则需要将其转化为文字。3.文本转音素在汉语的语音合成中,基本上是以拼音对文字标注的。4.句读韵律预测人类在语言表达的时候总是附带着语气与感情,TTS合成的音频是为了模仿真实的人声,所以需要对文本进行韵律预测。(一)语言分析部分知识链接三、语音合成技术API服务现在我国各大AI企业都有对应的免费开放的API为开发者提供应用服务,例如,百度2018年6月份就发布了百度语音识别无限量使用。表3-1列举了我国提供语音合成技术API的部分企业和其语音合成的技术优势。知识链接四、语音合成的应用(二)智能服务类智能服务类产品包括智能语音机器人、智能音响应用等。智能语音机器人产品遍布各行各业。(三)特殊领域一些特殊领域也非常需要语音合成。比如,对于视障人士来讲,以往只能依赖双手来获取信息。(一)App应用类语音合成技术在银行、医院的信息播报系统,汽车导航系统及自动应答呼叫中心等都有广泛应用。聊天机器人04任务实施1.导入requests、json、time和random依赖库。3.定义一个函数xiaoxin,调用YungeAPI,发送text然后获得回复。2.利用random函数和time方法创建一个随机字符串,用来区分每一次对话的对象。4.调用xiaoxin函数,创建闲聊机器人,为了不间断聊天,我们循环输入问题并调用xiaoxin函数。知识链接一、神经网络(一)神经元结构1943年,心理学家WarrenMcCulloch和数学家WalterPits发明了神经元模型,非常类似人类的神经元,x1到xm模拟树突的输入,不同的权重参数衡量不同的输入对输出的影响,通过加权求和、增加偏置值的方式传输出来,再通过激活函数,得到输出,传递下去。(二)神经网络结构神经网络是由多个神经元组成的网络,如图3-53所示。以手写数字识别的项目为例,它们由像素组成,每个像素的值作为输入层的x1到xn,输入层的信号传给不同深度、数量的神经元,并进行加权计算,神经元再把信号传给下一级,最后输出一个结果y,代表是0~9中的某个数字。二、聊天机器人(三)Disney——用虚构人物解决犯罪问题迪士尼使用聊天机器人来扮演动画电影中的角色,邀请电影的粉丝一起解决电影中的犯罪问题。(四)联合国儿童基金会——帮助边缘化社区这款机器人专注于通过民意调查收集大规模数据,定期发布针对一系列紧急社会问题的民意调查,用户(即“U-Reporters”)可以回复他们的意见。(一)Endurance——阿尔茨海默病患者的伴侣俄罗斯科技公司Endurance开发了伴侣聊天机器人,通过机器人采集聊天记录,医生和家人可以通过患者与机器人的聊天记录来判断患者识别记忆功能的潜在退化和患者病情恶化的交流障碍。(二)Casper——帮助失眠者度过漫漫长夜Casper是一个旨在让失眠者与其他人交谈的网络聊天机器人,可驱散失眠者的孤独,陪伴其度过漫漫长夜。三、聊天机器人API01(一)图灵机器人API图灵机器人具有智能对话、知识库、技能服务三种核心功能,它能准确地对中文语义进行理解,人们可以借助图灵机器人的API接口,根据自己的需要创建聊天机器人、客服机器人、领域对话问答机器人、儿童陪伴机器人等在线服务。02(二)青云客API青云客提供了聊天机器人的调用接口,并提供了API文档,目前不需要注册,完全免费。03(三)腾讯闲聊机器人API腾讯闲聊机器人基于AILab领先的NLP引擎能力、数据运算能力和千亿级互联网语料数据的支持,同时集成了广泛的知识问答能力,可实现上百种自定义属性配置,以及男、女不同的语言风格及说话方式,从而让聊天变得更睿智、简单和有趣。小贴士聊天机器人背后的风险(一)数据安全风险以ChatGPT用户数据泄漏事故为例,在使用AI产品的过程中,相关个人、金融、商业隐私等的敏感信息数据存储于各个AIGC公司的数据库中,一旦泄露容易对用户的个人隐私安全造成威胁。(二)虚假、违法信息传播风险AI产品的开发和改进需要一个包含公众反馈的迭代过程,而当下市场上的产品架构远远未到成熟阶段,不可避免地存在漏洞。一旦被攻击者利用,加入伪装数据或者恶意样本,会让模型产生不正确或误导性的结果,甚至可能生成虚假信息、诱骗信息等不良信息,破坏网络舆论生态。(三)知识产权/著作权侵权风险AI产品,尤其是聊天机器人的答案生成需要依托于海量的文本数据,通过对数据集进行监督学习、强化学习从而优化输出的内容。(四)深度伪造风险AI产品还存在着被用于制作虚假的文本、音频、视频等深度伪造的内容的风险。例如AI换脸、语音模拟、人脸合成、视频生成等深度伪造技术应用场景。校园智能客服05(二)分词处理——jieba库中文自然语言分词处理中最简单实用的就是jieba分词处理,也称为jieba库,是完全“MadeinChina”的一个分词处理技术。(一)建立问答库FAQ(FrequentlyAskedQuestions)指常见问题的解答,具体形式是问题和与问题相关的答案组成的问答对(QApair)。(三)分词过滤——停用词在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为停用词(StopWords)。一、构建语料库二、语料库训练基于信息检索是实现智能问答系统的经典方法,词频—逆向文档频度(TermFrequency-InverseDocumentFrequency,TF-IDF)就是其中常用的信息检索算法。TF-IDF算法是一种针对关键词的统计分析方法,用来评估一个词对一个文件集或者一个语料库的重要程度。TF-IDF算法认为,一个词的重要程度跟它在文章中出现的次数成正比,但跟它在语料库中出现的次数成反比。TF-IDF实际包含两层含义:一层是TF(TermFrequency),表示“词频”;另一层是IDF(InverseDocumentFrequency),表示“逆向文档频率”。三、句子相似度计算句子相似度是指两个句子之间相似的程度,在自然语言处理中有很大的用处。譬如,在对话系统、文本分类、信息检索、语义分析等应用场景中,它可以提供更快的检索信息方式,并且得到的信息更加准确。若要快速为输入的问题找到对应的回答,就需要计算输入的句子与语料库中句子的相似度,找出相似度最高的几个句子从而为解答做准备。这里我们利用词袋模型来实现。词袋模型(Bag-of-WordsModel)是在自然语言处理和信息检索(IR)下被简化的表达模型,在此模型下可以像用一个袋子装着组成句子的词一样的方式来表现句子,这种表现方式不考虑文法以及词的顺序。四、输入问题获取答案在完成以上三个步骤后,我们就可以输入问题,计算句子的相似度,从而从语料库中搜索到最匹配的回答,参考代码如图3-67所示,这里找出了相似度值排名前三的回答,最终输出相似度最高(即排名第一)的回答。知识链接一、机器学习机器学习是一个多学科交叉领域,涵盖计算机科学、概率论知识、统计学知识、近似理论知识。目前有以下几种定义。(1)机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。(2)机器学习是对能通过经验自动改进的计算机算法的研究。(3)机器学习是用数据或以往的经验,以此优化计算机系统的性能。(一)机器学习的定义1.有监督学习有监督学习是从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求是输入和输出,也可以说是特征和目标,训练集中的目标是由人标注的。2.无监督学习与有监督学习相比,无监督学习训练集是没有人为标注的。无监督机器学习的应用模式主要包括聚类算法和关联规则抽取。(二)机器学习算法的分类0102知识链接二、自然语言处理(一)自然语言处理的概念指用计算机对自然语言的形、音、义等信息进行处理,即对字、词、句、篇章的输入、输出、识别、分析、理解、生成等的操作和加工。(二)自然语言处理的一般流程在自然语言处理时,通常有获取语料、语料预处理、特征工程、特征选择、模型选择、模型训练、模型评估7个步骤。也有部分学者弱化模型选择和模型评估这两个步骤。(三)自然语言处理的常用技术1.语言处理基础技术2.语言处理应用技术3.理解与交互技术4.文本审核技术5.智能写作技术知识链接三、搜索技术搜索技术渗透于各种人工智能系统中,在专家系统、自然语言处理、自动程序设计、模式识别、机器人学、信息检索和博弈等领域均有广泛的应用。搜索是大多数人生活的一部分。几乎每个人都有找不到钥匙而检查口袋、翻箱倒柜的经历,而更多的时候,搜索可能是在大脑中直接进行的,人的思维过程就可以看作一个搜索过程。你可能突然想不起一个英文单词的拼写,忘掉了身边同事的名字,唱不出曾经烂熟于心的歌词,这个时候就需要你在大脑中进行搜索,通常很快就能得出答案。但是计算机处理搜索和人的思维过程不完全相同。计算机能够更加深刻地体现出符号主义的思想。以大家熟悉的走迷宫为例。假设我们面前有一幅迷宫图,如图3-75所示,通常我们会用一支笔或直接用手指点在图上向出口的方向移动。感谢观看
人工智能应用导论
项目四
人脸识别技术应用——机器也认识你目录CONTNETS人脸检测照片智能搜索人脸特征提取1234人脸识别5口罩检测赋能卫生防护知识目标1.了解人脸识别的基本流程。2.了解计算机视觉库基本知识。3.知道卷积神经网络及其原理。技能目标1.会用Dlib库进行人脸检测。2.能利用已训练的模型face_net进行人脸识别。3.能调用人脸识别模型进行人脸特征提取并存储。素养目标1.培养学生技术服务人类的意识。2.树立正确的肖像保护意识,关爱五官有残缺的弱势群体。3.培养学生保护隐私、合理文明使用视频的意识。人脸检测01任务实施1231.获取实时的视频流在实施本任务前,需要具备一个摄像头,并且已经配置好OpenCV的环境(可以使用pip3installopencv-python下载)。2.在视频流中使用Haar分类器进行人脸检测在开始本任务之前,我们可以通过以下方式得到已经训练好的人脸检测模型haarcascade_frontalface_default.xml。3.保存人脸ROI区域在机器视觉、图像处理中,在被处理的图像中以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域,这个区域被称为感兴趣区域ROI。知识链接一、计算机视觉库——OpenCV23145(五)OpenCV中的绘图函数OpenCV绘图函数主要有cv2.line()、cv2.circle()、cv2.rectangle()等,分别用来绘制直线、圆形、矩形、椭圆,以及添加文字。(四)利用OpenCV保存图像使用函数cv2.imwrite()来保存一个图像。保存时首先需要一个文件名,之后才是要保存的图像,如cv2.imwrite('lena2.png',img)。(二)利用OpenCV读入图像使用函数cv2.imread(filepath,flags)读入图像。filepath是指图像在此程序的工作路径或者完整路径,flags是读取该图像的方式。(三)利用OpenCV显示图像读入图像后使用函数cv2.imshow()可以显示图像。在显示图像时,窗口会自动调整为图像大小。(一)安装OpenCV进入命令提示符窗口,输入pipinstallopencv-python(这里请注意,我们安装的是opencv-python,而不是opencv)。知识链接二、使用Haar分类器进行人脸检测的原理Haar特征是用于物体检测的矩形的数字图像特征。这类矩形特征模板由两个或多个全等的黑白矩形相邻组合而成(一)Haar特征对于一幅灰度的图像,积分图像中的任意一点(x,y)的值是指从该图像的左上角到这个点所构成的矩形区域内所有的点的灰度值之和。(二)积分图Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(即弱分类器),通过对这些弱分类器进行加权和获得最终分类器(即强分类器)。通过积分图像我们获得了大量的人脸特征,要从中选出最好的特征就要使用Adaboost分类器。(三)Adaboost分类器案例分析卫浴门店自动抓取人脸信息:2021年央视“3·15”晚会点名某卫浴门店收集人脸数据的问题。该卫浴门店在全国上千家门店,每个门店安装有人脸识别功能的摄像头,消费者只要走进门店,在不知情的情况下,就会被摄像头抓取并自动生成编号,标注顾客第几次到店、男女、年龄等信息。所涉收集人脸数据,能通过人脸识别信息解决精准营销,抓取的人脸数据信息累计上亿。安防公司泄露人脸信息:2019年2月,深圳某“AI+安防”公司人脸识别数据库缺乏保护,导致大规模的数据泄露。该数据库包含了超过256万用户的信息,包括身份证号码、地址、出生日期、识别其身份的位置。分析:人脸是重要的隐私信息,利用各种技术和手段,在未经同意允许或批准的前提下,通过公开或非法手段,收集、保存、盗取正常的人脸数据,一旦信息出现泄露,不仅被不法分子进行用于诈骗,更可能被反复贩卖牟利。人脸特征提取023.获得人脸特征向量在main函数中调用这两个函数,即可获得人脸特征向量。4.搭建人脸特征库搭建人脸特征库最简单的方法是直接保存人脸图片,但是这种方法有两个缺点:①在进行网络传输时开销较大;②在终端进行加载时速度较慢(因为需要重新找到人脸,获取特征)。1.获得人脸ROI区域这里可以将人脸检测任务的实现过程通过get_face_roi()函数封装起来,方便后面直接调用。2.获取人脸特征接下来,我们定义一个函数get_face_features(),用来获取人脸特征。任务实施知识链接一、人脸特征和人脸特征提取方法人脸特征提取是指通过一些数字来表征人脸信息。常见的人脸特征分为几何特征和表征特征两类。几何特征是指眼睛、鼻子和嘴等面部器官之间的几何关系,如距离、面积和角度等。各器官之间欧氏距离、角度及其大小和外形被量化成一系列参数,用来衡量人脸特征,所以对眼、鼻、嘴等器官的定位工作就十分重要。在用于人脸特征提取的算法中,为了减少计算量,只利用了一些直观的特征。而在实际应用中,需要用到的几何特征点不能精确选择,从而限制了它的应用范围。另外,当出现光照变化、人脸有外物遮挡或发生面部表情变化等情况时,几何特征变化较大,鲁
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车制造质量管理方案
- 大型活动交通分流方案
- 村委会购买服务人员合同(2篇)
- 运动场馆抹灰工程施工方案
- 中小学语言文字规范化方案
- 风电场PE管道连接方案
- 河北省保定市定州市2024-2025学年四年级上学期期中英语试题
- 工程机械小挖租赁合同范本(2篇)
- 温州2024年10版小学三年级英语第四单元真题试卷
- 浅谈初中化学如何提升教学有效性
- 机场能源管理综合方案
- 故事绘本仓颉造字
- 健康饮食:糖尿病防治资料
- 汽车电器DFMEA-车载终端
- 2024年职业病宣传周知识竞赛考试题库350题(含答案)
- 江苏省建筑与装饰工程计价定额(2014)电子表格版
- 实验探究型活动设计方案
- 健康产业合伙意向协议书范本
- 自贡市盐化工产业发展研究
- GB/T 22890.1-2024皮革柔软皮革防水性能的测定第1部分:反复线压缩法(透度计法)
- 《光伏发电工程安全预评价规程》(NBT 32039-2017)
评论
0/150
提交评论