版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模块4:智能边缘设备硬件基础人工智能边缘设备工作流程人工智能边缘设备硬件类型常见的传感器PARTONEPARTTWOPARTTHREE人工智能边缘设备工作流程人工智能边缘设备应用011人工智能边缘设备工作流程人工智能边缘设备产生的数据信息,以及设备之间的数据联动越来越多。更多企业将数据采集以及分析装置扩展到更靠近数据生成位置的地方。人工智能边缘设备的工作流程,主要包括数据采集、数据传输以及进行智能边缘计算,从而实现任务自动化,使生活和生产更加便利及高效。1.1数据采集数据采集指的是从人工智能边缘设备外部采集数据并输入到系统内部。数据采集方式多种多样,例如传感器采集、数据库采集、系统日志采集、网络数据采集等。传感器采集有多种方式,有针对极短时间的数据进行的瞬时采集,比如瞬时拍照;也有针对一段时间的数据特征进行特征数据采集,比如持续录音。采集数据时,还应该结合算法与实际应用环境,利用合理的传感器及采集方式,使其能够更好地应用在以后的数据分析中。▲摄像头传感器数据采集1.2数据传输随着科技发展,单位体积设备的计算能力越来越强,现在可以直接在数据的来源端部署计算设备,传感器直接连接到计算设备,可以直接对收集的数据进行分析处理,使得整个过程达到良好的稳定性以及实时性。车辆在高速行驶时,当传感器发现前方出现异常,此时将数据传输到云端服务器进行分析处理,车辆需要等待云端服务器返回的驾驶操作指令再做出相应动作,届时可能会导致意想不到的事故。所以,使用人工智能边缘设备进行智能边缘计算,能够减少或者规避这种情况的出现。▲自动驾驶汽车1.3智能边缘计算分布式计算,是指每个节点都有计算功能,并且具有管理自己的节点、硬件、软件的能力的计算架构,这使得分布式计算能够与智能边缘计算紧密耦合。分布式的计算架构能够融合网络、计算、存储、应用等核心能力,构建开放平台,从而能就近提供边缘智能服务,满足各行业数字化、实时业务、数据优化、应用智能、安全与核心保护等多方面的需求。▲分布式计算人工智能边缘设备硬件类型人工智能边缘设备应用022.1传感器传感器是一种能够对被测对象的某一信息或者特征具有知、检出能力的物理器件。除了基本的数据采集功能外,智能传感器一般还拥有自动校零、标定、补偿等能力,并且具有一定通信、管理、推理、判断等功能。智能传感器结构如图所示,其一般由传感器、微处理器、电源以及传感器相关电路组成。▲智能传感器的组成2.1传感器传感器将被测的物理量、化学量转换成相应的电信号,送到信号调制电路中,经过滤波、放大、信号转换后送达微处理器。微处理器对接收的信号进行计算、存储、数据分析处理后,一方面通过反馈回路对传感器与信号调理电路进行调节,以实现对测量过程的调节和控制,另一方面,将处理的结果传送到输出接口,经接口电路处理后按输出格式、界面定制输出数字化的测量结果。化学量物理量电信号微处理器输出接口传感器调节和控制信号调制电路2.1传感器与传统的传感器相比,智能传感器有以下优点:1.精度高自动校零去除零点,例如角度传感器。实时采集大量数据进行分析处理,消除偶然误差影响,保证智能传感器的高精度。2.稳定性高自动补偿因工作条件与环境参数发生变化而引起的系统特性的参数变化。在被测参数变化后能自动变换量程,实时进行系统自我检验、分析、判断所采集数据的合理性,并自动进行异常情况的应急处理。3.自适应性高具有判断、分析与处理功能,它能根据系统工作情况决策各部分的供电情况和与上位计算机的数据传输速率,使系统工作在最低功耗状态并优化传输效率。4.性价比高通过与微计算机相结合,采用廉价的集成电路工艺和芯片以及强大的软件来实现高性能,因此性价比较高。2.2可编程逻辑控制器可编程逻辑控制器是一种具有微处理器的数字电子设备,用于自动化控制的数字逻辑控制器,可以将控制指令随时加载存储器内存储和运行。可编程逻辑控制器由内部中央处理器,指令以及数据存储器、输入输出单元、电源模块、数字模拟等单元模块组成。人工智能边缘设备内部也是安置了可编程逻辑控制器用于将控制指令随时载入内存进行储存与执行。▲可编程逻辑控制器2.2可编程逻辑控制器可编程逻辑控制器实质是一种专用于工业控制的计算机,其硬件结构基本上与微型计算机相同,具体如下:存储器是具有记忆功能的半导体电路,作用是存放系统程序、用户程序、逻辑变量和其他一些信息。输入单元可编程逻辑控制器与被控设备相连的输入接口,是信号进入可编程逻辑控制器的桥梁,作用是接收主令元件、检测元件传来的信号。输出单元可编程逻辑控制器与被控设备之间的连接部件,作用是把可编程逻辑控制器的输出信号传送给被控设备,即将中央处理器送出的弱电信号转换成电平信号,驱动被控设备的执行元件。中央处理器可编程逻辑控制器的核心,其按系统程序赋予的功能接收并存储用户程序和数据,用扫描的方式采集由现场输入设备送来的状态或数据,并存入规划的寄存器中,同时,诊断电源和可编程逻辑控制器内部电路的工作状态和编程过程中的语法错误等。2.2可编程逻辑控制器目前,可编程逻辑控制器在国内外已广泛应用于钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化娱乐等各个行业。1.模拟量控制在工业生产过程中有许多连续变化的量,如温度、流量、液位和速度等都是模拟量。为了可编程控制器处理模拟量,必须实现模拟量和数字量之间的转换。2.数字量控制可编程逻辑控制器具有数学运算、数据传送、数据转换、排序、查表、位操作等功能,可以完成数据的采集、分析及处理。这些数据可以与存储在存储器中的参考值比较,完成一定的控制操作。3.过程控制过程控制是指以温度、压力、流量、液位和成分等工艺参数作为被控变量的自动控制。过程控制也称实时控制,是设备及时的采集检测数据,按最佳值迅速地对控制对象进行自动控制和自动调节。常见的传感器人工智能边缘设备应用033.1常见的传感器摄像头是一种图像采集设备,其主要功能是采集图像或视频的数据。摄像头广泛应用于安防、教育、交通等领域,在不同领域中的摄像头的应用其原理都基本相似。智能摄像头集成了计算设备,能够完成实时抓拍、目标跟踪、智能防抖等任务。捕捉到图像数据后,一般还需要对收集得到的图像数据进行处理,其中多会用到视频图像检测技术、人体动态识别技术、图像无线通讯传输技术等。▲摄像头3.1常见的传感器在安防领域,摄像头的应用最为广泛。视频监控是整个安防系统最重要的实现基础,视频监控系统位于最前端,很多子系统都需要通过与其相结合才能发挥出自身的功能,是安全防范的核心环节。智能边缘计算人工智能视频监控提高视频分析的速度、降低对云中心平台的计算、存储和网络带宽的需求预处理、去除图像冗余信息等操作基于人工智能边缘设备的视频图像预处理技术3.1常见的传感器目前,国内大多数的智能摄像头有人脸识别和高速路车辆识别等多种应用方式。以公安行业人员布控为代表,在关键监控点位安装人脸抓拍摄像机,通过后端人脸识别服务器对抓拍到的人脸进行比对识别,确定该人员身份。车辆识别应用属于卡口场景应用。车辆识别技术是公安实战中应用最成熟、效果最明显的技术之一。借助遍布全国各地交通要道的车辆卡口,车牌识别使得“以车找人”成为现实,成功协助警方破获各类案件。3.2麦克风麦克风是日常生活中非常常见的设备,麦克风通常用于完成接收使用者的音频,转换为计算机可读取识别的数据,并向外部传输的任务。智能麦克风集成了计算能力,其有许多衍生产品,对话式人工智能音箱就是其中一种,比如阿里天猫精灵、百度智能音箱等。▲麦克风3.2麦克风应用在智能麦克风中的主要技术是语音识别和语音合成,能够将人的自然语言转换为数据并输入到计算设备中进行分析处理。▲语音识别流程麦克风需要先收集使用者的音频数据,进而将音频数据进行切分识别对应的音频符号,接着通过调取设备存储的大量数据集进行匹配,找出音频符号最相近的符号和其对应的文本信号,然后一一对应,最后转换为一句完整的句子,其大致流程如图所示。模块4:智能边缘设备硬件基础案例实现模块小结知识拓展PARTONEPARTTWOPARTTHREE案例实现:智能边缘设备传感器应用人工智能边缘设备应用01Linux系统磁盘检测与维护基于模块描述与知识准备的内容,基本了解了人工智能边缘设备的工作流程、硬件类型以及常见的传感器。在本案例实现中,我们主要使用Python语言中的OpenCV库以及PyAudio库分别实现对摄像头捕获的图像数据,麦克风捕获的音频数据进行保存以及可视化回放。(1)查看摄像头挂载情况使用Linux相关命令查看摄像头挂载情况及端口号等。(2)调用摄像头拍照与保存通过OpenCV调用摄像头进行拍照,并将图像保存到指定路径。(3)调用语音模块录音与回放通过PyAudio模块调用语音模块进行录音和播放。接着在终端命令后中输入以下命令,查看摄像头挂载情况。在终端命令后中输入上述命令后,按下回车运行后,即可在终端命令行中查看摄像头的挂载情况。如图所示。结果显示已经挂载了video0一个摄像头。任务1:查看摄像头挂载情况接通边缘设备电源之后,通过本地连接或者远程连接的方式进入边缘设备的桌面,在边缘设备的桌面中单击右键,选择“OpenTerminal”选项打开终端命令行,如图所示。ls/dev/video*任务1:查看摄像头挂载情况接着继续在终端命令行中输入以下命令查看挂载的摄像头的参数。在终端命令行中输入上述命令后,按下回车运行后,即可在终端命令行中查看摄像头的参数信息。其中,摄像头参数对应的解释如表所示。v4l2-ctl--device=/dev/video0--list-formats-ext参数说明Pixel摄像头的数据格式Name说明该数据格式使用的算法与通道对应的参数Size摄像头可获取的图像尺寸Interval性能参数,表示对应分辨率的最高执行帧率任务2:调用摄像头拍照与保存在桌面中单击右键,选择“OpenTerminal”选项打开终端命令行,接着在打开的终端命令行中依次输入以下命令,即可在本次案例文件夹中新建一个名为video.py的代码文件。在终端命令行中输入上述命令后,即可在本次案例文件夹中新建一个video.py的代码文件,并在弹出一个文本编辑器用于代码编写,如图所示,以下摄像头使用代码均在代码编辑器中实现。cdDesktop/projects/char4/geditvideo.py任务2:调用摄像头拍照与保存首先声明所需的库,cv2指OpenCV库,在该任务中用于获取摄像头图像以及展示,sys是Python自带的系统管理库,用于关闭摄像头时退出程序。接着定义摄像头Cap()类,包含初始化构造函数、摄像头开启情况反馈函数、错误反馈函数以及获取视频图像帧函数。importcv2importsysVideoCapture()情况反馈函数__enter__()错误反馈函数__exit__()获取视频图像帧函数steam()程序运行主函数任务2:调用摄像头拍照与保存(1)在__init__构造函数中使用OpenCV中的VideoCapture()方法创建摄像头对象,并设定捕获图像的横向与纵向分辨率,即为图像的长和宽,代码如下。classCap(object):def__init__(self,num):self.vdo=cv2.VideoCapture(num)#如果有多个摄像头,则从编号0开始依次排列
self.vdo.set(3,640)#设定横向分辨率
self.vdo.set(4,480)#设定纵向分辨率def__enter__(self):assertself.vdo.isOpened()returnselfdef__exit__(self,exc_type,exc_value,exc_traceback):ifexc_type:print(exc_type,exc_value,exc_traceback)(2)定义摄像头开启情况反馈函数__enter__()与错误反馈函数__exit__()使得该类只可以在摄像头开启时可以访问,并在退出时可以打印错误信息,代码如下。任务2:调用摄像头拍照与保存(3)定义获取视频图像帧函数steam(),使得每次调用时都能返回一次当前帧的图像数据。defsteam(self):ifself.vdo.grab():_,image=self.vdo.retrieve()#获取图像帧
returnimageelse:sys.exit()if__name__=="__main__":cap=Cap(0)#实例化0号摄像头
i=1#图片保存序号
whileTrue:image=cap.steam()#获取视频流
cv2.imshow("Capture",image)#显示图像
keyValue=cv2.waitKey(1)#捕获键值
ifkeyValue&0xFF==ord('s'):#‘s’键保存
cv2.imwrite(str(i)+'.png',image)#保存图片
i+=1#序号递增
elifkeyValue&0xFF==ord('q'):#‘q’键退出
exit(0)(4)最后定义程序运行的主函数,首先初始化摄像头,构建循环来获取视频流,接着使用OpenCV显示图像,并设置捕获键盘输入的值,在循环中不断读取图像并显示。任务2:调用摄像头拍照与保存(5)上述代码在边缘设备中弹出的文本编辑器中编写完成后,保存代码文件。接下来在终端命令行中继续输入以下命令,运行编写好的摄像头调用代码文件video.py,即可在桌上看到弹出的摄像头实时画面,如右图所示。python3video.py任务3:调用语音模块录音与回放在打开的终端命令行中继续输入以下命令,新建一个名为audio.py的代码文件用于编写代码对语音模块进行使用。在终端命令行中输入上述命令后,即可在本次案例文件夹中新建一个audio.py的代码文件,并在弹出一个文本编辑器用于代码编写,如图所示,以下语音模块使用代码均在代码编辑器中实现。geditaudio.py任务3:调用语音模块录音与回放(1)首先导入所需库,其中pyaudio与wave用于实现音频录制与播放,tqdm负责显示进度条,contextlib负责获取音频长度。(2)定义get_len()函数用于获取音频总长度,以便于后面录音与回放过程可视化,代码如右。importpyaudio,wavefromtqdmimporttqdmimportcontextlibdefget_len(file):withcontextlib.closing(wave.open(file,'r'))asf:frames=f.getnframes()rate=f.getframerate()wav_length=framesreturnwav_length任务3:调用语音模块录音与回放(3)接着定义record()录制函数,通过设置time参数可以调整录制时间,单位为秒,保存文件名为file_name,采样率默认为16000。defrecord(file_name,time,rate=16000):#实例化一个PyAudio对象
pa=pyaudio.PyAudio()#打开声卡,设置采样深度为16位、声道数为2、采样率为16、输入、采样点缓存数量为2048stream=pa.open(format=pyaudio.paInt16,channels=2,rate=rate,input=True,frames_per_buffer=2048)#新建一个列表,用来存储采样到的数据
record_buf=[]count=time*rate//2048foriintqdm(range(count),postfix="recording..."):audio_data=stream.read(2048)#读出声卡缓冲区的音频数据
record_buf.append(audio_data)#将读出的音频数据追加到record_buf列表任务3:调用语音模块录音与回放wf=wave.open(file_name,'wb')#创建一个音频文件,名字为“01.wav"wf.setnchannels(2)#设置声道数为2wf.setsampwidth(2)#设置采样深度为
wf.setframerate(16000)#设置采样率为16000#将数据写入创建的音频文件
wf.writeframes("".encode().join(record_buf))#写完后将文件关闭
wf.close()#停止声卡
stream.stop_stream()#关闭声卡
stream.close()#终止pyaudiopa.terminate()任务3:调用语音模块录音与回放defplay(file):len_file=get_len(file)chunk=2048#2014kbwf=wave.open(file,'rb')pa=pyaudio.PyAudio()stream=pa.open(format=pa.get_format_from_width(wf.getsampwidth()),#
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026下半年高中历史教资面试事件题库
- 34.智能制造物流规划与仿真优化考核试卷
- 2026年基金从业资格经济法基础模拟卷
- 2026年心理学考研英语二冲刺卷
- 2026年法硕联考数学二线性代数综合模拟卷
- 玻璃期货分析课件
- 玻璃破碎特效课件
- 辩论模板课件
- 2026年人教版初中物理第9章测试卷及答案
- 围麻醉期患者麻醉药物相互作用与禁忌症知识点测试卷及答案
- 恶性胸腔积液诊断与治疗教学课件
- 2026年宁波市文化旅游投资集团有限公司人员招聘笔试备考试题及详细答案解析
- 2026年广东南粤集团有限公司人员招聘参考题库及详细答案解析
- 2026新闻记者职业资格真题及答案
- 2026发展对象考试测试题库(附参考答案)
- 2026低压电工证考试题库及模拟考试答案(2026修订版)完整版
- 2025年公安机关理论考试题库及完整答案(各地真题)
- 2026年辽宁生态工程职业学院单招综合素质考试题库含答案详解
- 冶金行业班组安全管理制度培训
- 肘管综合征诊疗规范
- 2026中国教育出版传媒集团有限公司招聘笔试历年难易错考点试卷带答案解析
评论
0/150
提交评论