版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模块6:智能边缘设备算法基础人工智能算法概述边缘智能算法PARTONEPARTTWO人工智能算法概述人工智能边缘设备应用01如今,随着人工智能技术的不断发展,人工智能算法得以深刻地嵌入数字媒体、体育竞技等行业的诸多关键环节中。接下来将通过传统编程算法进行引入,介绍人工智能算法的概念和特点,并介绍人工智能算法的基本要素和基本特征,强化对人工智能算法的理解和认知。1人工智能算法概述NEWS算法是解决给定问题的确定的计算机指令序列,用以系统地描述解决问题的步骤。算法的目标是解决特定问题,通常由开发者将其定义为一系列步骤。以“是否可以自主学习”为划分标准,算法可以分为传统编程算法和人工智能算法两类。传统编程算法的逻辑十分清晰,当数据输入到传统编程算法后,算法会根据既定的程序对输入数据进行运算,产生一个输出结果,如图所示。1.1人工智能算法的基本概念▲传统编程算法逻辑人工智能算法不需要开发者设定程序,而是根据输入数据和该数据经过程序计算后将得到的预期输出结果,由计算机自行推导算法的执行逻辑,构成稳定的算法程序。相比于传统编程算法,人工智能算法是一种更加自动化的计算方法。人工智能算法赋予了计算机自主学习的能力,使计算机能够根据输入数据和预期输出来确定程序的执行逻辑,从而减免了开发者对于算法整体运算逻辑的设计工作。1.1人工智能算法的基本概念▲人工智能算法逻辑1.人工智能算法中对数据的运算和操作通常,计算机可执行的基本操作是以指令的形式描述的。在一般的计算机系统中,基本的运算和操作有以下4类。(1)算术运算:主要包括加、减、乘、除等算术基本运算。(2)逻辑运算:主要包括“与”、“或”、“非”等逻辑运算。(3)关系运算:主要包括“大于”、“小于”、“等于”、“不等于”等关系运算。(4)数据传输:主要包括变量赋值、数据输入、数据输出等操作。1.2人工智能算法的基本要素+-×÷&|~><=≠2.人工智能算法的控制结构人工智能算法的控制结构是指算法中各操作步骤之间的执行的先后关系。一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成,如图所示。(1)其中顺序结构是最常见的控制结构,按照书写顺序执行步骤。(2)选择结构中,首先判断是否满足指定条件,根据判断结果来决定执行的步骤。(3)循环结构是指在满足指定条件的情况下,算法反复执行某一步骤。1.2人工智能算法的基本要素▲人工智能算法的控制结构整体上看,人工智能算法具备以下3个基本特征。1.3人工智能算法的基本特征(1)可行性人工智能算法都是针对实际问题进行开发和设计的,一个算法总是在某个特定的计算工具上执行的。因此,在执行的过程中往往要受到计算工具的限制,比如计算工具的算力资源、网络情况等限制。(2)有穷性算法的有穷性,是指算法必须能在有限的时间内做完。算法的有穷性也包括算法的合理执行时间的含义。若一个算法需要的执行时间需要几十年甚至上百年,就失去了该算法的使用价值。(3)拥有足够的数据量一个算法执行的结果总是与输入的初始数据有关,当输入的数据量不足或输入的数据存在错误时,算法本身也就无法继续执行或导致执行出错。边缘智能算法人工智能边缘设备应用02边缘智能算法是针对边缘计算设备,结合具体的应用场景设计的一类人工智能算法。常见的边缘智能算法包括图像分类、目标检测、图像分割、人体关键点检测、语音识别、文字识别等。2边缘智能算法图像分类是计算机视觉中最基础的一个任务,其目标是将不同的图像划分到对应的类别。图像分类是目标检测、图像分割等其他高层视觉任务的基础,其在很多领域都有应用。图像分类算法可以用于图像搜索引擎的开发,如“百度识图”搜索引擎。图像分类算法也可以用于相册分类,通过识别图像的信息,实现相册智能分类管理。还可以用于拍照识图,根据所拍摄的图像,快速识别图像内容,可应用于科普类或培训类APP,如图所示。2.1图像分类算法▲图像分类▲“百度识图”搜索引擎▲拍照识别花卉目标检测能够对图像中的多个目标进行定位和识别,如图所示,为一种检测猫和狗的宠物目标检测算法,可用于检测宠物猫和宠物狗脸,并标记出检测目标的类别以及在图像中的位置。目标检测算法可以用于工业质检,即对工业产品的外观瑕疵进行自动化识别,取代现有人工质检操作,提升质检和生产效率。目标检测算法也可以用于无人驾驶。如图所示,无人驾驶汽车必须实时检测到周围所有对象的位置,才能让系统做出正确的决策和控制。2.2目标检测算法▲目标检测▲目标检测在工业质检中的应用▲目标检测在无人驾驶中的应用图像分割指的是像素级别的分类,即为图像中的每个像素打上相应的标签,并且将同一类的像素归为一类,最终呈现效果就是图像中不同类型的目标有不同的标签。在图像分类、图像识别和图像分割三者中,图像分割是包含最多的信息类别的任务,其包含了目标的所属类别、位置和轮廓三种信息。图像分割算法常用于地理信息系统,还可以应用在交通领域的自动驾驶系统中,也可以应用在医疗领域的影像分析系统中。2.3图像分割算法▲图像分割示例▲图像分割在龋齿诊断中的应用人体关键点检测,又称为人体姿态估计,通过该算法能够检测到人体骨骼的关键点并正确连接关键点,从而估计人体姿态。人体关键点检测算法常用于人体行为分析,主要对人的体态规范、异常行为进行检测。2.4人体关键点检测算法▲人体骨骼关键点检测示例▲
人体骨骼关键点检测在人体行为分析中的应用语音识别是将人类语音中的内容转换为计算机可读的输入的技术。一般意义上的语音识别技术,就是实现从语音到文本内容转换的技术。语音识别当前的发展阶段是自然语音识别阶段,虽然是新的阶段,但是连续语音识别阶段的技术框架主体没有被废弃,依然是三大马车,声学模型,语言模型,解码器。声学模型负责识别一段语音可能对应的一段文字,语言模型负责识别哪段文字最像“一句话”,最后由编码器将声学模型和语言模型结合起来,找到一段语音对应的一段文字。2.5语音识别算法▲语音识别的过程文本是人类最重要的信息来源之一,自然场景中充满了形形色色的文字符号。在过去的十几年中,研究人员一直在探索快速且准确地从图像中读取文本信息的方法,也就是文字识别算法,其效果如图所示。目前文字识别算法通常用于票据文字识别、自然场景文字识别、文档文字识别和证件识别4大方向。2.6文字识别算法票据文字识别:可以对快递单据、增值税发票、报销单、车票等不同格式的票据进行文字识别。文档文字识别:可以将图书馆、报社、博物馆、档案馆等的纸质版图书、报纸、杂志、历史文献档案资料等进行电子化管理。自然场景文字识别:识别自然场景图像中的文字信息如车牌、广告干词、路牌等信息。证件识别:可以快速识别身份证、银行卡、驾驶证等卡证类信息,将证件文字信息直接转换为可编辑文本。▲票据文字识别效果模块6:智能边缘设备算法基础案例实现模块小结知识拓展PARTONEPARTTWOPARTTHREE案例实现:人工智能算法应用与基础实现人工智能边缘设备应用01人工智能算法应用与基础实现在人工智能边缘设备中,已经提前预置了图像分类、目标检测、图像分割、人体关键点检测等算法模型,在本模块中,首先将配置人工智能算法运行所需环境,然后将分别应用其中的部分算法功能,体验不同算法的效果差异,最后编写人脸识别算法,实现基于人工智能边缘设备的人脸检测功能。(1)实训环境准备(2)体验图像分类功能(3)体验目标检测功能(4)体验图像分割功能(5)体验人体关键点检测功能(6)人脸检测算法实现任务1:实训环境准备首先打开Linux系统终端。运行AI功能前,需要在命令行中启动对应的容器。首先在桌面打开终端,接着在终端中输入以下命令进入AI功能文件夹:进入jetson-inference文件夹后,继续输入以下命令进入root模式,sudo密码为:tringai。cdjetson-inferencesudosu任务1:实训环境准备进入root模式后,在终端中输入以下命令进入容器环境:运行后效果如下图所示,即为启动实训容器环境。docker/run.sh任务2:体验图像分类功能进入容器环境后,输入命令切换至计算机视觉案例文件夹。进入bin文件夹后,运行imagenet-camera.py文件启动视频图像分类程序,并在后面添加相机参数命令/dev/video0参数,即可调用摄像头进行视频图像分类。运行以上命令后即可通过摄像头实现图像实时分类,具体效果如图所示。cdbuild/aarch64/bin./imagenet-camera.py/dev/video0▲图像分类AI模型预测图中目标对象为北极熊的概率为96.14%。任务2:体验图像分类功能该应用程序最多可以识别1000种不同类型的对象,因为分类模型是在包含1000类对象的ILSVRCImageNet数据集上训练的,可区分动物、植物、昆虫、自然风景、生活用品等多种类别。1000种分类对象的名称映射可以在data/networks路径下查看ilsvrc12_synset_words.txt文件。部分可区分类别明细如下表所示。英文名称中文名称greywhale鲸鱼kingpenguin企鹅daisy菊花bee蜜蜂valley谷地woodenspoon勺子任务3:体验目标检测功能进入容器环境后,输入命令切换至计算机视觉案例文件夹。进入bin文件夹后,运行detectnet-camera.py文件启动视频图像检测程序,并在后面添加相机参数命令/dev/video0参数,即可调用摄像头进行视频图像检测。运行命令后即可通过摄像头实现图像实时检测,具体效果如图所示。cdbuild/aarch64/bin./detectnet-camera.py/dev/video0▲标记框中左上角为目标检测AI模型的检测判断结果任务4:体验图像分割功能进入容器环境后,输入以下命令切换至计算机视觉案例文件夹。进入bin文件夹后,运行segnet.py文件启动视频图像分割程序,此处指定模型类型为fcn-resnet18-mhp,并在后面添加相机参数命令/dev/video0参数,即可调用摄像头进行视频图像分割。运行以上命令后即可通过摄像头实现图像实时分割,具体效果如下图所示。cdbuild/aarch64/bin./segnet.py--network=fcn-resnet18-mhp/dev/video0▲图中不同颜色的区域表示分割得到的不同物体任务4:体验图像分割功能不同的图像分割AI模型,在对目标物体的类别和分割效果等方面都不尽相同。尝试更换其他AI模型查看不同图像分割AI模型的应用效果。可以使用命令查看fcn-resnet18-sun网络模型实现的结果。分割效果如图。./segnet.py--network=fcn-resnet18-sun/dev/video0▲fcn-resnet18-sun网络模型实现效果任务4:体验图像分割功能使用命令查看fcn-resnet18-deepscene网络模型实现的效果。运行以上命令后即可使用fcn-resnet18-deepscene网络模型进行图像分割,具体效果如图所示。./segnet.py--network=fcn-resnet18-deepscene/dev/video0▲fcn-resnet18-deepscene网络模型实现效果任务5:体验人体关键点检测功能进入容器环境后,输入以下命令切换至计算机视觉案例文件夹。进入bin文件夹后,运行posnet.py文件启动视频人体姿态估计程序,并在后面添加相机参数命令/dev/video0参数,即可调用摄像头进行视频人体姿态估计。运行以上命令后即可通过摄像头实现人体关键点检测,具体效果如图所示。cdbuild/aarch64/bin▲人体关键点检测功能实现效果./posenet.py/dev/video0任务6:人脸检测算法实现在终端中输入以下命令,创建人脸检测算法测试文件,然后在文件中进行代码编写。(1)配置所需环境首先导入算法所需库:通过以下代码调用模型库文件,其中“./haarcascade_frontalface_default.xml”为模型文件路径。通过以下代码打开设备内置摄像头,并设置视频窗口大小。其中宽为640像素,高为480像素。vimface_dete.pyimportcv2cap=cv2.VideoCapture(0)cap.set(3,640)cap.set(4,480)faceNum=0face_cascade=cv2.CascadeClassifier('./haarcascade_frontalface_default.xml')任务6:人脸检测算法实现(2)读取摄像视频设置循环任务,以便实时读取摄像帧。通过代码读取视频帧。由于边缘设备计算资源有限,在本任务中通过将图像灰度化处理,以减少算法运行过程中的计算量。通过以下代码实现图像灰度处理。接下来设定人脸识别算法相关参数,具体代码如下所示。该函数主要实现检测出图片中所有的人脸,并保存各个人脸的坐标,主要为人脸检测框的左上、左下、右上和右下4个点位的坐标信息。该函数共包含三个参数:“gray”、“scaleFactor”和“minNeighbors”。whileTrue:#读取视频帧
ret,frame=cap.read()gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)faces=face_cascade.detectMultiScale(gray,scaleFactor=1.3,minNeighbors=3)任务6:人脸检测算法实现(3)人脸画框标记检测到人脸位置后,需要将检测到人脸的4个点位进行画框标记,通过代码将检测结果进行可视化。为了将可视化的结果实时刷新到摄像头采集的视频画面中,我们需要通过代码进行显示。由于视频帧更新速度非常快,上述代码执行处于while循环中,因此在设计程序时需要预留程序退出的方式。如代码所示,按下“L”键即可退出程序。最后,在程序设计时可以添加以下代码,释放程序计算资源。iflen(faces)>0:forfaceRectinfaces:x,y,w,h=faceRect#--------在人脸周围绘制矩形
cv2.rectangle(frame,(x,y),(x+w,y+h),(255,255,0),2)cv2.imshow('Output',frame)ifcv2.waitKey(1)&0xff==ord('L'):breakcv2.destroyAllWindows()#结束服务cap.release()#释放资源任务6:人脸检测算法实现完整代码及实现效果如图:importcv2#调用模型库文件face_cascade=cv2.CascadeClassifier('./haarcascade_frontalface_default.xml')#打开内置摄像头cap=cv2.VideoCapture(0)#设置视频窗口大小cap.set(3,640)cap.set(4,480)faceNum=0whileTrue:#读取视频帧
ret,frame=cap.read()#图像灰度处理
gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)#设定人脸识别参数
faces=face_cascade.detectMultiScale(gray,scaleFactor=1.3,minNeighbors=3)▲人脸检测算法实现效果任务6:人脸检测算法实现完整代码及实现效果如图:iflen(faces)>0:forfaceRectinfaces:x,y,w,h=faceRect
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年电商运营策划实操考试模拟试卷及答案详解
- 2026年ISO45001模拟试题(含答案)
- 社戏同步练习题及答案详解
- 2026年甘肃选调生模拟试题(含答案)
- 通信习题及答案详解
- 2026-2030年中国超净高纯溶剂和试剂行业需求状况及发展方向预测报告
- 2026年出版发行项目安全调研评估报告
- 2026年卫生服务营销模拟题及答案详解
- 2026年肝硬化护理模拟试题题(含答案)
- 2026年采购主管转正模拟试题(含答案)
- 银行从业资格考试公司贷款及答案解析
- 电子辐射校准实验室项目报告表
- 友善待人(教学设计) 2025-2026学年八年级道德与法治上册(统编版2024)
- 某公路桥梁工程施工安全专项风险评估报告
- 柳体教学课件
- CJ/T 542-2020模块化雨水储水设施
- T/CCAS 010-2019水泥窑协同处置飞灰预处理产品水洗氯化物
- 农业综合开发土地治理项目结算审核报告模板
- 工程标前协议合同模板
- 青春期心里护理
- 《高中生法制教育》课件
评论
0/150
提交评论