




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目一:边缘计算开发板基础应用边缘智能计算应用项目引导案例边缘计算是在靠近物或数据源头的网络边缘侧,通过融合网络、计算、存储、应用核心能力的分布式开放平台,就近提供边缘智能服务。为什么需要边缘计算?为了解决传统数据处理方式下时延高、数据实时分析能力匮乏等弊端,边缘计算技术应运而生。应用:边缘计算非常适合被应用于物联网领域,通过具有边缘计算能力的物联网关就近(网络边缘节点)提供设备管理控制等服务,解决物联网通信“最后一公里”的问题,最终实现物联网设备的智慧连接和高效管理。项目引导案例本项目将带着大家掌握了解边缘计算开发板的具体应用。边缘计算开发板是什么?边缘计算开发板旨在通过快速原型开发为各种类型的应用提供强大的深度学习功能。例如右图所示边缘计算开发板:NLE-AI800开发板介绍及应用案例体验任务一职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一NLE-AI800开发板介绍及应用案例体验掌握NLE-AI800开发板基本组成;掌握开发板的核心组件;了解开发板的操作系统;掌握开发板的RKNN组件。能够掌握MobaXterm命令行工具的基本使用;能够掌握人脸识别项目包的上传部署和运行。职业能力目标01知识目标技能目标职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一NLE-AI800开发板介绍及应用案例体验
此任务的主要内容是学习MobaXterm命令行工具的基本使用方法,学习如何连接开发板并使用开发板上的JupyterLab环境,使用命令控制开发板上的LED指示灯,了解掌握使用MobaXterm工具上传部署人脸识别项目,运行体验边缘智能计算的应用案例。任务描述任务要求学习MobaXterm命令行工具的基本使用。连接开发板并使用开发板上的JupyterLab环境。使用命令控制开发板上的LED指示灯。使用MobaXterm工具上传部署人脸识别项目。任务描述与要求02职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一NLE-AI800开发板介绍及应用案例体验任务分析使用NLE-AI800开发板会涉及到哪些步骤?MobaXterm命令行工具使用中应注意什么?任务分析与计划03任务计划表项目名称边缘计算开发板基础应用任务名称NLE-AI800开发板介绍及案例体验计划方式自主设计计划要求请用4个计划步骤来完整描述出如何完成本次任务序号任务计划1
2
3
4
通过上面的思考,你是否对本任务要完成的工作有所了解?让我们一起来制订完成本次任务的实施计划吧!任务分析与计划03职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一NLE-AI800开发板介绍及应用案例体验21346578知识储备04JupyterLab环境简介边缘智能计算的基本硬件组成人脸识别应用案例的功能介绍SSH介绍外设接口罗列及介绍echo命令简介与基本用法Linux与Debian操作系统简介瑞芯微RockchipRKNN
JupyterLab是一个基于Web交互式的开发环境,是JupyterNotebook的下一代产品,可以使用它编写Notebook、操作终端、编辑MarkDown文本、打开交互模式、查看csv文件及图片等功能。04JupyterLab环境简介思考一下,什么是交互式的开发环境呢?21346578知识储备04JupyterLab环境简介边缘智能计算的基本硬件组成人脸识别应用案例的功能介绍SSH介绍外设接口罗列及介绍echo命令简介与基本用法Linux与Debian操作系统简介瑞芯微RockchipRKNN本课程采用的边缘计算硬件为:NLE-AI800人工智能开发板,内置双核ARMCortexA72@1.8GHz+四核ARMCortexA53@1.4GHz,GPU采用ARMMaliT860MP4@800MHz,提供3TNPU算力
USB摄像头04边缘智能计算的基本硬件组成1ARM架构2NPU、算力基本介绍0404ARM架构ARM架构,曾称进阶精简指令集机器(Advanced
RISC
Machine)更早称作AcornRISCMachine,是一个32位精简指令集(RISC)处理器架构。还有基于ARM设计的派生产品,重要产品包括Marvell的XScale架构和德州仪器的OMAP系列。ARM家族占比所有32位嵌入式处理器的75%,成为占全世界最多数的32位架构。ARM处理器广泛使用在嵌入式系统设计,低耗电节能,非常适用移动通讯领域。消费性电子产品,例如可携式装置(PDA、移动电话、多媒体播放器、掌上型电子游戏,和计算机),电脑外设(硬盘、桌上型路由器),甚至导弹的弹载计算机等军用设施。1ARM架构NPU、算力基本介绍20404NPU、算力基本介绍思考一下,为什么NPU处理器应运而生?NPU是网络处理器,可把其认为是一个组件(或者子系统),有的时也可称呼为NPU协处理器。嵌入式神经网络处理器(NPU)采用“数据驱动并行计算”的架构,特别擅长处理视频、图像类的海量多媒体数据。21346578知识储备04JupyterLab环境简介边缘智能计算的基本硬件组成人脸识别应用案例的功能介绍SSH介绍外设接口罗列及介绍echo命令简介与基本用法Linux与Debian操作系统简介瑞芯微RockchipRKNN人脸识别应用案例是边缘智能计算的简单的效果展示,其目的就是为了给大家体验一下效果。而人脸识别应用案例,主要由以下几部分组成:PyQt5的UI界面后台逻辑,包括人脸注册,人脸识别sqlite3数据库首先需要把人脸特征数据注册到数据库中,然后再将视频流采集的最新的图片与数据库中特征进行对比,进行人脸识别。04人脸识别应用案例的功能介绍1PyQt5介绍2Sqlite3简介0404PyQt5介绍PyQt是Qt框架的Python语言实现,由RiverbankComputing开发,是最强大的GUI库之一。PyQt提供了一个设计良好的窗口控件集合,每一个PyQt控件都对应一个Qt控件,因此PyQt的API接口与Qt的API接口很接近,但PyQt不再使用QMake系统和Q_OBJECT宏。PyQt5有如下特性:(1)基于高性能的Qt的GUI控件集。(2)能够跨平台运行在Linux、Window和MacOS系统上。(3)使用信号槽机制进行通信。(4)对Qt库进行完全封装。(5)可以使用成熟的IDE进行界面设计,并自动生成可执行的Python代码。(6)提供一整套种类齐全的窗口控件。1PyQt5介绍Sqlite3简介20404Sqlite3简介SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。21346578知识储备04JupyterLab环境简介边缘智能计算的基本硬件组成人脸识别应用案例的功能介绍SSH介绍外设接口罗列及介绍echo命令简介与基本用法Linux与Debian操作系统简介瑞芯微RockchipRKNN1SSH协议、SFTP协议3SSH远程步骤2MobaXterm终端工具介绍04数字类型04SSH协议、SFTP协议安全外壳协议(SSH)是一种在不安全网络上提供安全远程登录及其它安全网络服务的协议。SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Irix,以及其他平台,都可运行SSH。
04SSH协议、SFTP协议SFTP(SecureFileTransferProtocol):安全文件传送协议。可以为传输文件提供一种安全的加密方法。SFTP为SSH的一部份,是一种传输文件到服务器的安全方式。SFTP同样是使用加密传输认证信息和传输的数据,使用SFTP是非常安全的。1SSH协议、SFTP协议3SSH远程步骤2MobaXterm终端工具介绍04数字类型04MobaXterm终端工具介绍MobaXterm又名MobaXVT,是一款增强型终端、X服务器和Unix命令集(GNU/Cygwin)工具箱。MobaXterm可以开启多个终端视窗,以最新的X服务器为基础的X.Org,可以轻松地来试用Unix/Linux上的GNUUnix命令。MobaXterm还有很强的扩展能力,可以集成插件来运行Gcc,Perl、Curl、Tcl/Tk/Expect等程序。04MobaXterm终端工具介绍MobaXterm主要功能:支持各种连接SSH,X11,RDP,VNC,FTP,MOSH支持Unix命令(bash,ls,cat,sed,grep,awk,rsync,…)连接SSH终端后支持SFTP传输文件各种丰富的插件(git/dig/aria2…)可运行Windows或软件1SSH协议、SFTP协议3SSH远程步骤2MobaXterm终端工具介绍04数字类型SSH远程步骤04SSH两种级别的远程登录:(我们可以通过Ctrl+D或者exit命令退出远程登录。)一、口令登录:口令登录非常简单,只需要一条命令,命令格式为:ssh客户端用户名@服务器ip地址。例:如果需要调用图形界面程序可以使用-X选项。例:如果客户机的用户名和服务器的用户名相同,登录时可以省略用户名。例:还要说明的是,SSH服务的默认端口是22,也就是说,若不设置端口的话登录请求会自动送到远程主机的22端口。我们可以使用-p选项来修改端口号,比如连接到服务器的1234端口:例:SSH远程步骤04二、公钥登录每次登录远程主机都需要输入密码是很不方便的,如果想要省去这一步骤,可以利用密钥对进行连接,还可以提高安全性。1、在本机生成密钥对
使用ssh-keygen命令生成密钥对:然后根据提示一步步按enter键即可(其中有一个提示要求设置私钥口令passphrase,不设置则为空),执行结束以后会在/home/当前用户目录下生成一个.ssh
文件夹,其中包含私钥文件id_rsa
和公钥文件id_rsa.pub。2、将公钥复制到远程主机中使用ssh-copy-id命令将公钥复制到远程主机。ssh-copy-id会将公钥写到远程主机的~/.ssh/authorized_key
文件中。21346578知识储备04JupyterLab环境简介边缘智能计算的基本硬件组成人脸识别应用案例的功能介绍SSH介绍外设接口罗列及介绍echo命令简介与基本用法Linux与Debian操作系统简介瑞芯微RockchipRKNN外设接口罗列及介绍04NLE-AI800开发板其丰富的外设接口(包括网口,HDMI,USB3.0,USB2.0,音频口,type-C,I2C,WiFi、蓝牙,指示灯,UART串口,RS485串口,步进电机接口,以及两路继电器DI/DO接口)1.视频接口HDMI视频输出口,1路HDMI2.0视频输出(最大支持4K)。音频接口:音频输出,3.5耳机孔;音频输入,3.5耳机孔。1路千兆以太网口,POE(选配件),可选POE受电。
2.用户接口用户常用的接口,包括UART,RS485,I2C,电机驱动口,Debug口,DI/DO口。UART:UART串口(4pin白色端子TTL电平)RS485:RS485串口(2pin绿色接线端子)I2C:1路I2C接口(4pin白色端子)电机驱动:一路2相电机驱动输出接口(4pin白色端子)Debug口:3pin间距1.25mm调试串口DI/DO:连接继电器的两路DI,两路DO座,两路继电器已集成在板子上按键:两个按键接口21346578知识储备04JupyterLab环境简介边缘智能计算的基本硬件组成人脸识别应用案例的功能介绍SSH介绍外设接口罗列及介绍echo命令简介与基本用法Linux与Debian操作系统简介瑞芯微RockchipRKNNecho命令简介与基本用法04echo是一种最常用的与广泛使用的内置于Linux的bash和Cshell的命令,通常用在脚本语言和批处理文件中来在标准输出或者文件中显示一行文本或者字符串。echo命令的语法是:Linuxecho命令的使用示例:示例1:在标准输出上显示一行文本。输出:echo命令简介与基本用法04示例2:显示包含双引号的文本行要输出双引号,需要将其括在单引号内,或使用反斜杠字符对其进行转义。示例3:显示包含单引号的文本行要打印单引号,需要将其括在双引号内,或使用ANSI-C引号。示例5:返回当前目录中所有.php文件的名称说明:echo命令可以与模式匹配字符一起使用,例如通配符。示例6:重定向到文件我们可以使用>、>>运算符将输出重定向到文件,而不是在屏幕上显示输出。说明:如果file.txt不存在,将创建它。使用>时,文件将被覆盖;使用>>时,会将输出附加到文件中。21346578知识储备04JupyterLab环境简介边缘智能计算的基本硬件组成人脸识别应用案例的功能介绍SSH介绍外设接口罗列及介绍echo命令简介与基本用法Linux与Debian操作系统简介瑞芯微RockchipRKNNLinux与Debian操作系统简介04Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的RedHatEnterpriseLinux、SUSE、OracleLinux等。Debian是一个自由的操作系统,由Debian计划开发和维护。Debian是一个自由的Linux发行版,添加了数以千计的应用程序以满足用户的需要。21346578知识储备04JupyterLab环境简介边缘智能计算的基本硬件组成人脸识别应用案例的功能介绍SSH介绍外设接口罗列及介绍echo命令简介与基本用法Linux与Debian操作系统简介瑞芯微RockchipRKNN04瑞芯微RockchipRKNN福州瑞芯微电子Rockchip宣布旗下AI平台重大升级,正式面向全球AI开发者发布三大开发套件:AI开发工具包RKNN-Toolkit、AISDK软件开发工具包Rock-XSDK,以及AI人工智能计算棒RK1808
AIComputeStick。一、RKNN-ToolkitAI开发工具包通过该工具,开发者可以完成TensorFlow、Caffe、PyTorch、MXNet等模型的转换、量化、性能Profile、内存耗费统计等任务,快速将AI模型部署到嵌入式硬件平台上。其新增了混合量化模式,并对模型加载速度、执行速度进行优化,兼容支持计算棒,支持同时连接多个设备。采用新版RKNNToolkit工具能够让AI模型部署的精度更高,速度更快,开发更便捷。职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一NLE-AI800开发板介绍及应用案例体验05任务实施NLE-AI800开发板基本组成2将notebook文件上传至NLE-AI800开发板1NLE-AI800核心板介绍3NLE-AI800开发板的底板板接口介绍综合管理平台系统验证4人脸识别应用案例的体验5422.SSH协议连接开发板11.命令行工具MobaXterm的基本使用33.将文件或文件夹上传至开发板4.进入开发板上的JupyterLab环境将notebook文件上传至NLE-AI800开发板05将notebook文件上传至NLE-AI800开发板将notebook文件上传至NLE-AI800开发板051.命令行工具MobaXterm的基本使用052.SSH协议连接开发板052.SSH协议连接开发板052.SSH协议连接开发板052.SSH协议连接开发板将notebook文件上传至NLE-AI800开发板053将文件或文件夹上传至开发板在浏览器中输入开发板的IP地址,如2,进入JupyterLab环境:4进入开发板上的JupyterLab环境05任务实施NLE-AI800开发板基本组成2将notebook文件上传至NLE-AI800开发板1NLE-AI800核心板介绍3NLE-AI800开发板的底板板接口介绍综合管理平台系统验证4人脸识别应用案例的体验5NLE-AI800开发板基本组成05NLE-AI800开发板由新大陆生产的人工智能边缘端开发板,主要是为了提供给广大人工智能学习者的一个学习平台,该开发板采用的是RK3399Pro的强大的人工智能芯片,其算力达到了3.0Tflops,轻松应对各种人工智能开发,加上其丰富的外设接口(包括网口,HDMI,USB3.0,USB2.0,音频口,type-C,I2C,WiFi、蓝牙,指示灯,UART串口,RS485串口,步进电机接口,以及两路继电器DI/DO接口),更是为人工智能结合物联网,进行场景化应用开发提供了很好的保障。右图是开发板的正面图:NLE-AI800开发板基本组成0505任务实施NLE-AI800开发板基本组成2将notebook文件上传至NLE-AI800开发板1NLE-AI800核心板介绍3NLE-AI800开发板的底板板接口介绍综合管理平台系统验证4人脸识别应用案例的体验5NLE-AI800核心板介绍05GPU:是MaliT860,支持OpenGL2.x和OpenC主控CPU:RK3399PRO,双核A72+四核A53core0-core3是小核,core4-core5是大核,编程深度优化时候可以把cpu的某些运算手动绑定在大核上,可提高通用运算的速度。GPU:是MaliT860,支持OpenGL2.x和OpenCL1.2NLE-AI800核心板介绍NLE-AI800核心板介绍05VPU:RKVdec,VPU2(视频编解码单元)Rockchip最厉害的地方之一莫过于他的视频编解码模块RGA:二维图像辅助计算单元,该单元可以在极短时间内拷贝、旋转、格式转换、缩放、混合图片,能在短短几个毫秒内内存拷贝一张4K图片,还能同时缩放、旋转、把YUV转成RGB之类的格式转换。NPU内存:神经网络计算单元,大小为2G的DDR4内存。这是RK3399Pro独有的运算单元,他可以通过传递一张计算图初始化后,不断的喂给他输入数据,而吐出输出数据。CPU内存:大小为4G的LPDDR4内存存储:大小为32G的eMMC5.1闪存实时时钟:支持RTC功能NLE-AI800核心板介绍05任务实施NLE-AI800开发板基本组成2将notebook文件上传至NLE-AI800开发板1NLE-AI800核心板介绍3NLE-AI800开发板的底板板接口介绍综合管理平台系统验证4人脸识别应用案例的体验542无线通信1
视频接口3用户接口板载预留口5LED指示灯说明NLE-AI800开发板的底板板接口介绍综合管理平台系统验证05NLE-AI800开发板的底板板接口介绍综合管理平台系统验证05视频接口视频接口HDMI视频输出口,1路HDMI2.0视频输出(最大支持4K)音频接口:音频输出,3.5耳机孔;音频输入,3.5耳机孔1路千兆以太网口,POE(选配件),可选POE受电05无线通信无线通信Wifi:双频2T2Rwifi模组;支持IEEE802.11a/b/g/n/ac蓝牙:板载蓝牙模组;支持Bluetooth5.0WiFi天线:WIFI天线:一个标准SMA座,一个模块端IPEX座蓝牙天线:IPEX座5G(选配件)LTE-FDD,LTE-TDD,WCDMA,CDMA,GSM900/1800MHz05用户接口板载预留口用户常用的接口,包括UART,RS485,I2C,电机驱动口,Debug口,DI/DO口05用户接口板载预留口板载预留口风扇口:核心板预留5V风扇接口M.2(BKEY)外扩M.2接口的4G/5G模块SSD固态硬盘:预留M2(MKEY)接口,可接标准NVMe的固态硬盘扩展接口:双排排母,含USB2.0一路,I2C一路,I2S一路,模拟输入两路,3.3V和5V电源05LED指示灯说明1.
系统灯是用户可以自己控制的,控制命令(需要在root用户下):linux控制命令echo1>/sys/class/leds/system_work_led1/brightness#亮echo0>/sys/class/leds/system_work_led1/brightness#灭Python控制命令importos
os.system("echo1>/sys/class/leds/system_work_led1/brightness")05LED指示灯说明2.两个自定义灯是用户可以自己控制的,控制命令(需要在root用户下):linux控制命令echo1>/sys/class/leds/system_work_led2/brightness#亮#从上到下,第一个自定义灯echo0>/sys/class/leds/system_work_led2/brightness#灭echo1>/sys/class/leds/system_work_led3/brightness#亮#从上到下,第二个自定义灯echo0>/sys/class/leds/system_work_led3/brightness#灭Python控制命令,打开从上到下,第一个自定义灯和第二个自定义灯importos
os.system("echo1>/sys/class/leds/system_work_led2/brightness")#从上到下,第一个自定义灯
Os.system("echo1>/sys/class/leds/system_work_led3/brightness")#从上到下,第二个自定义灯05任务实施NLE-AI800开发板基本组成2将notebook文件上传至NLE-AI800开发板1NLE-AI800核心板介绍3NLE-AI800开发板的底板板接口介绍综合管理平台系统验证4人脸识别应用案例的体验52使用JupyterLab自带终端运行演示案例1使用MobaXterm运行演示案例3输出结果展示人脸识别应用案例的体验05PC端智慧校园综合管理平台系统验证人脸识别应用案例的体验051.使用MobaXterm运行演示案例(1)使用cd命令进入FaceDetectDemo所在目录;cdnotebook/board-basic-app/FaceDetectDemo(2)使用ls命令查看该路径下的文件和目录(可选);ls(3)然后执行主入口文件FaceDetectDemo.py,运行项目,并输入密码nlesudopython3FaceDetectDemo.py人脸识别应用案例的体验052.使用JupyterLab自带终端运行演示案例(1)点击JupyterLab页面左上方的“+”人脸识别应用案例的体验052.使用JupyterLab自带终端运行演示案例(2)在启动页中选择“终端”;人脸识别应用案例的体验05(3)使用命令切换至FaceDetectDemo路径下,然后执行主入口文件FaceDetectDemo.py,运行项目cdFaceDetectDemols
sudopython3FaceDetectDemo.py人脸识别应用案例的体验053.输出结果展示:职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一NLE-AI800开发板介绍及应用案例体验任务检查与评价06序号评价内容评价标准分值得分1知识运用(20%)掌握相关理论知识,理解本次任务要求,制定详细计划,计划条理清晰,逻辑正确(20分)20分
理解相关理论知识,能根据本次任务要求、制定合理计划(15分)了解相关理论知识,有制定计划(10分)无制定计划(0分)2专业技能(40%)完成部署边缘应用程序、配置边缘网关参数、智慧校园场景验证、PC端智慧校园综合管理平台系统验证。(40分)40分
完成部署边缘应用程序、配置边缘网关参数、智慧校园场景验证。(30分)完成部署边缘应用程序、配置边缘网关参数。(20分)完成部署边缘应用程序。(10分)没有完成部署边缘应用程序。(0分)3核心素养(20%)具有良好的自主学习能力、分析解决问题的能力、整个任务过程中有指导他人(20分)20分
具有较好的学习能力和分析解决问题的能力,任务过程中无指导他人(15分)能够主动学习并收集信息,有请教他人进行解决问题的能力(10分)不主动学习(0分)4课堂纪律(20%)设备无损坏、设备摆放整齐、工位区域内保持整洁、无干扰课堂秩序(20分)20分
设备无损坏、无干扰课堂秩序(15分)无干扰课堂秩序(10分)干扰课堂秩序(0分)总得分1、请参照评价标准完成自评和对其他小组的互评。2、各组请代表分析本组任务实施经验。职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一NLE-AI800开发板介绍及应用案例体验任务小结07职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一NLE-AI800开发板介绍及应用案例体验任务拓展08使用MobaXterm和JupyterLab自带终端进行人脸识别应用案例的体验:注册一张人脸信息;提示任务要求使用MobaXterm运行使用JupyterLab自带终端运行谢谢大家学习项目一边缘计算开发板基础运用边缘智能计算应用任务二基于OpenCV的USB摄像头的使用
边缘智能计算应用职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务二基于OpenCV的USB摄像头的使用了解Linux操作系统相关知识;了解OpenCV的应用领域以及常用的API;了解线程与进程的概念。掌握USB摄像头的连接方式;掌握OpenCV调用摄像头的基本使用;掌握OpenCV利用线程方式实现视频流。职业能力目标01知识目标技能目标职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务二基于OpenCV的USB摄像头的使用
此任务的主要内容是学习USB摄像头的连接和查看,OpenCV调用摄像头的基本使用,OpenCV结合线程实现视频流的相关知识,基于OpenCV实现对USB摄像头的灵活使用。任务描述任务要求完成USB摄像头的连接和查看;完成OpenCV调用摄像头的基本使用;完成OpenCV结合线程实现视频流。任务描述与要求02职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务二基于OpenCV的USB摄像头的使用任务分析利用OpenCV调用USB摄像头会涉及到哪些步骤?如何将OpenCV与线程结合起来实现视频流?任务分析与计划03任务计划表项目名称边缘计算开发板基础应用任务名称基于OpenCV的USB摄像头的使用计划方式自主设计计划要求请用3个计划步骤来完整描述出如何完成本次任务序号任务计划1
2
3
通过上面的思考,你是否对本任务要完成的工作有所了解?让我们一起来制订完成本次任务的实施计划吧!任务分析与计划03职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务二基于OpenCV的USB摄像头的使用
OpenCV的介绍及应用领域204知识储备USB摄像头的应用场景11智慧办公,让工作更轻松高效2智能电视,多功能沉浸式娱乐体验04摄像头融入AI功能逐步成为趋势,当前智能USB摄像头方案已广泛应用于会议场景,可以实现人型追踪、背景分割、人脸唇动检测和声源定位等多种功能。04智慧办公,让工作更轻松高效智能USB摄像头有效的提升了会议体验和视频通话的质量,打造新一代简单高效的办公场景。04智慧办公,让工作更轻松高效智能USB摄像头的出现提高了企业的沟通效率,降低企业运营成本,满足了企业管理的需要,使企业在瞬息万变的竞争环境中赢得先机。04智慧办公,让工作更轻松高效2智慧办公,让工作更轻松高效1智能电视,多功能沉浸式娱乐体验04随着电视行业的发展,很多智能电视都配备了摄像头,它所搭载的功能也越来越丰富。智能USB摄像头方案可应用于智能电视的使用场景中。04智能电视,多功能沉浸式娱乐体验摄像头融入了丰富的AI功能,可以在大屏实现视频通话、AI健身、AIKids、AI娱乐、智能识人、面部识别定制专属VR形象等多种功能04智能电视,多功能沉浸式娱乐体验OpenCV的介绍及应用领域204知识储备USB摄像头的应用场景11OpenCV简介2应用领域3OpenCV涉及的技术04OpenCV简介OpenCV是一个开源的跨平台计算机视觉库,可以运行在Linux、Windows、Android和MacOS操作系统上。提供了Python、Ruby、MATLAB等语言的接口,并且实现了图像处理和计算机视觉方面的很多通用算法,可以给开发者调用。04OpenCV简介04在官网下载并安装OpenCVOpenCV简介04配置OpenCV的环境2OpenCV简介1应用领域3OpenCV涉及的技术04应用领域04OpenCV的应用领域十分广泛,包括计算机视觉领域方向、人机互动、物体识别、图像分割、人脸识别、动作识别、运动跟踪、机器人、运动分析、机器视觉、结构分析、汽车安全驾驶等诸多领域。应用领域04OpenCV自从1.0版本发布以来,立刻吸引许多公司目光,被广泛应用在许多领域的产品研发与创新上,相关应用包括卫星地图与电子地图拼接、医学中图像噪声处理、对象检测、安防监控领域安全与入侵检测、自动监视报警、制造业与工业中的产品质量检测、摄像机标定。军事领域的无人机飞行、无人驾驶与水下机器人等众多领域。应用领域04医学中图像噪声处理安防监控领域安全与入侵检测移动物体检测3OpenCV简介1应用领域2OpenCV涉及的技术04OpenCV涉及的技术04(1)图像数据的操作:分配、释放、复制、设置和转换。图像是视频的输入输出I/O,文件与摄像头的输入、图像和视频文件输出)。(2)矩阵和向量的操作以及线性代数的算法程序:矩阵积、解方程、特征值以及奇异值等。(3)各种动态数据结构:列表、队列、集合、树、图等。(4)基本的数字图像处理:滤波、边缘检测、角点检测、采样与差值、色彩转换、形态操作、直方图、图像金字塔等。(5)结构分析:连接部件、轮廓处理、距离变换、各自距计算、模板匹配、Hough变换、多边形逼近、直线拟合、椭圆拟合、Delaunay三角划分等。OpenCV涉及的技术04(6)摄像头定标:发现与跟踪定标模式、定标、基本矩阵估计、齐次矩阵估计、立体对应。(7)运动分析:光流、运动分割、跟踪。(8)目标识别:特征法、隐马尔可夫模型:HMM。(9)基本的GUI:图像与视频显示、键盘和鼠标事件处理、滚动条。(10)图像标注:线、二次曲线、多边形、画文字。职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务二基于OpenCV的USB摄像头的使用05任务实施OpenCV调用摄像头的基本使用2USB摄像头的连接和查看1OpenCV利用线程的方式实现视频流312查看摄像头video设备05
USB摄像头的连接USB摄像头的连接05USB摄像头,这个名字已经很明显,采用的就是USB接口的连接方式,而USB的接口,在开发板上有四个,两个USB2.0和两个USB3.0,这两种接口的区别就是支持USB3.0的设备接在USB3.0接口上速度会更快一些,所以通常建议使用USB3.0的接口来连接。21查看摄像头video设备05
USB摄像头的连接查看摄像头video设备05在Linux中任何对象都是文件,查看当前是否有摄像头挂载到Debian上,可以在开发板命令行终端,执行下面的命令Linux!ls-ltrh/dev/video*ls参数:
-l:列出文件的详细信息。
-t:以时间排序。
-r:对目录反向排序。
-h:显示出了文件的大小/dev/video*:表示/dev/目录下所有以video为开头的文件
/dev/video0表示有一个摄像头挂载在开发板上,编号为0知识补充权限crw其中:c:表示字符设备文件r:表示可读权限w:表示可写权限05任务实施OpenCV调用摄像头的基本使用2USB摄像头的连接和查看1OpenCV利用线程的方式实现视频流342利用OpenCV打开摄像头1导入cv2并查看版本3查看VideoCapture状态设置显示画面并创建显示窗口5读取图像后处理图片,释放资源OpenCV调用摄像头的基本使用05OpenCV调用摄像头的基本使用已经查看到摄像头信息,接下来使用OpenCV从USB摄像头读取图像,并在开发板中显示出来。使用之前需要安装opencv的包,命令为:pip3installopencv-python,默认板子上已经集成了OpenCV包OpenCV调用摄像头的基本使用05opencv-python在python的编码使用中,名称叫做cv2。cv2实现图像处理和计算机视觉方面的很多通用算法。importcv2importtimecv2.__version_1.导入cv2并查看版本2.利用opencv打开摄像头要想读取摄像头的图片,则需要打开摄像头,而VideoCapture就是创建一个实例对象,并打开摄像头创建VideoCapture对象的时候,我们需要传入一个合适的摄像头编号。cv2.VideoCapture(X)参数说明:VideCapture接受的参数为序号0:默认为系统插入的第一个摄像头,笔记本上是自带的那个摄像头1:USB摄像头22:USB摄像头3以此类推-1:代表最新插入的USB设备OpenCV调用摄像头的基本使用053.查看VideoCapture状态实例化VideoCapture对象后,摄像头会自动打开使用cap.isOpened()方法查看摄像头状态若摄像头已打开则返回True,否则返回Falseprint("摄像头是否已经打开?{}".format(cap.isOpened()))OpenCV调用摄像头的基本使用054.设置显示画面并创建显示窗口接下来利用cap.set方法对窗口像素进行设置cap.set(propId,value)#画面宽度设定为1920cap.set(cv2.CAP_PROP_FRAME_WIDTH,1920)#画面高度度设定为1080cap.set(cv2.CAP_PROP_FRAME_HEIGHT,1080)参数说明:propId表示VideoCaptureProperties中的属性标识符,cv2.CAP_PROP_FRAME_WIDTH表示设置摄像头采集画面宽的像素大小cv2.CAP_PROP_FRAME_HEIGHT表示设置摄像头采集画面高的像素大小value表示属性标识符的值,下面代码中,把采集画面像素宽度设置为1920,高度设置为1080;但是通常我们用于深度学习的更多是640*480OpenCV调用摄像头的基本使用054.设置显示画面并创建显示窗口下面创建一个名为image_win的窗口,设置窗口属性为可调整大小,保持图像比例,绘制窗口dWindow('image_win',flags=cv2.WINDOW_NORMAL|cv2.WINDOW_KEEPRATIO|cv2.WINDOW_GUI_EXPANDED)cv2.setWindowProperty('image_win',cv2.WND_PROP_FULLSCREEN,cv2.WINDOW_FULLSCREEN)#全屏展示dWindow(winname,flags):构建视频的窗口,用于放置图片参数说明:winname:表示窗口的名字,可用作窗口标识符的窗口名称。flags:用于设置窗口的属性,常用属性如下WINDOW_NORMAL:可以调整大小窗口WINDOW_KEEPRATIO:保持图像比例WINDOW_GUI_EXPANDED:绘制一个新的增强GUI窗口OpenCV调用摄像头的基本使用055.读取图像后处理图片,释放资源ret:若画面读取成功,则返回True,反之返回Falseframe:是读取到的图片对象(NumPy的ndarray格式)使用cap.read()获取一帧图片,cap.read()返回值有两个,分别赋值给ret,frameOpenCV调用摄像头的基本使用055.读取图像后处理图片,释放资源读取图像后,那么该如何显示图像呢?cv2.imshow(winname,mat)函数可以在窗口中显示图像。winname:窗口名称(也就是我们对话框的名称),它是一个字符串类型。mat:是每一帧的画面图像。可以创建任意数量的窗口,但必须使用不同的窗口名称。cv2.waitKey:waitKey控制着imshow的持续时间,当imshow之后不跟waitKey时,相当于没有给imshow提供时间展示图像,只会有一个空窗口一闪而过。cv2.waitKey(100)表示窗口中显示图像时间为100毫秒cv2.imshow之后一定要跟cv2.waitKey函数OpenCV调用摄像头的基本使用055.读取图像后处理图片,释放资源获取到的图像又该如何保存呢?cv2.imwrite(filename,img)函数用于保存图片参数说明:filename:要保存的文件名,img:要保存的图像。OpenCV调用摄像头的基本使用055.读取图像后处理图片,释放资源操作结束后要记得释放资源哦!cap.release():停止捕获视频,用cv2.VideoCapture(0)创建对象,操作结束后要用cap.release()来释放资源,否则会占用摄像头导致摄像头无法被其他程序使用。cv2.destroyAllWindows():用来删除所有窗口#释放VideoCapturecap.release()#销毁所有的窗口cv2.destroyAllWindows()05任务实施OpenCV调用摄像头的基本使用2USB摄像头的连接和查看1OpenCV利用线程的方式实现视频流32导入相应的包1初识线程3编写线程类4启动线程和停止线程OpenCV利用线程的方式实现视频流05OpenCV利用线程的方式实现视频流OpenCV利用线程的方式实现视频流05进程是由若干线程组成的,一个进程至少有一个线程。多任务可以由多进程完成,也可以由一个进程内的多线程完成,每条线程并行执行不同的任务1.初识线程用你自己的话来说一说什么是进程,什么又是线程,多线程又是什么?OpenCV利用线程的方式实现视频流05由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线程的支持,Python也不例外,并且,Python的线程是真正的PosixThread,而不是模拟出来的线程。Python的标准库提供了两个模块:_thread和threading,_thread是低级模块,threading是高级模块,对_thread进行了封装。绝大多数情况下,我们只需要使用threading这个高级模块。threading模块中最核心的内容是Thread这个类。创建Thread对象,然后执行线程,每个Thread对象代表一个线程,每个线程可以让程序处理不同的任务,这就是多线程编程。1.初识线程OpenCV利用线程的方式实现视频流05threading:threading模块提供了管理多个线程执行的API。importcv2importthreadingimporttime2导入相应的包3编写线程类直接从Thread继承,创建一个新的class,把线程执行的代码放到这个新的class里。即编写一个自定义类继承Thread,然后复写run()方法,在run()方法中编写任务处理代码,然后创建这个Thread的子类。将函数封装成线程类,便于线程的调用与停止,大多用于这种方式来启动线程,属于面向对象编程。OpenCV利用线程的方式实现视频流053编写线程类。self:Python中就规定,函数的第一个参数,就必须是实例对象本身,并且建议,约定俗成,把其名字写为self,以self为前缀的变量都可供类中的所有方法使用。def__init__(self):在实例化类时定义变量super:函数是用于调用父类(超类)的一个方法。这里表示继承线程类threading.Threaddefrun(self):把要执行的代码写到run函数里面,线程在创建后,通过.start()会直接运行run函数退出线程的方式:在类中定义标志位,通过编写stop函数来控制标志位,达到退出循环。这样就能做到退出线程了。
defstop(self):线程停止函数,用于控制标志位变量,从而达到控制线程OpenCV利用线程的方式实现视频流054启动线程和停止线程实例化一个videoThread()线程类,实例化对象为a线程对象a调用start()方法,开始执行videoThread()线程类中的run()函数。a=videoThread()a.start()实例化对象a调用videoThread()线程类中的stop()函数,来退出线程a.stop()线程是如何实现视频流的呢?职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务二基于OpenCV的USB摄像头的使用任务检查与评价06序号评价内容评价标准分值得分1知识运用(20%)掌握相关理论知识,理解本次任务要求,制定详细计划,计划条理清晰,逻辑正确(20分)20分
理解相关理论知识,能根据本次任务要求、制定合理计划(15分)了解相关理论知识,有制定计划(10分)无制定计划(0分)2专业技能(40%)完成USB摄像头的连接和查看、OpenCV调用摄像头的基本使用、OpenCV利用线程的方式实现视频流。(40分)40分
完成USB摄像头的连接和查看、OpenCV调用摄像头的基本使用。(30分)完成USB摄像头的连接和查看。(20分)完成USB摄像头的连接。(10分)没有完成USB摄像头的连接。(0分)3核心素养(20%)具有良好的自主学习能力、分析解决问题的能力、整个任务过程中有指导他人(20分)20分
具有较好的学习能力和分析解决问题的能力,任务过程中无指导他人(15分)能够主动学习并收集信息,有请教他人进行解决问题的能力(10分)不主动学习(0分)4课堂纪律(20%)设备无损坏、设备摆放整齐、工位区域内保持整洁、无干扰课堂秩序(20分)20分
设备无损坏、无干扰课堂秩序(15分)无干扰课堂秩序(10分)干扰课堂秩序(0分)总得分1、请参照评价标准完成自评和对其他小组的互评。2、各组请代表分析本组任务实施经验。职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务二基于OpenCV的USB摄像头的使用任务小结07职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务二基于OpenCV的USB摄像头的使用任务拓展08使用OpenCV库操作摄像头进行视频录制1录制视频大小为200B左右,mp4格式根据上述内容完成拓展。解题
思路提示任务要求2完整叙述出操作流程谢谢大家学习项目二边缘计算算法SDK应用(基于RockX)边缘智能计算应用项目引导案例Rock-XSDK是基于RK3399Pro/RK180X平台的一套AI组件库。开发者通过Rock-XSDK提供的API接口能够快速构建AI应用。Rock-XSDK当前支持Python/C编程语言,支持运行于RK3399ProAndroid/Linux平台、RK180XLinux平台以及PCLinux/MacOS/Windows(需要接RK1808计算棒)。项目引导案例当前版本为1.2.0的版本,提供几大类别算法功能,主要包括目标检测,人脸,车牌,人体关键点等,具体如下:项目引导案例在RK3399Pro为核心的开发板平台上,SDK所提供的库和应用程序需要RKNN驱动版本为1.2.0以上。在开发板Android/Linux系统平台上运行Demo应用以后,通过日志能够看到如下的驱动信息,请确保DRV版本为1.2.0以上。系统依赖项目引导案例根据提供的RockX-*-py3-none-any.whlPythonRockX算法SDK安装包(默认开发板上已经安装1.2.0版本,慎重更新),新版本请到相关网站下载,将其上传到开发板中,在root用户下,利用pip3命令进行安装:安装wheel包pip3installRockX-*-py3-none-any.whl项目引导案例本项目将带着大家体验边缘计算算法SDK应用(基于RockX),主要任务有:目标检测算法接口应用人脸识别算法接口应用人体关键点算法接口应用车牌识别算法接口应用项目中所涉及的操作过程主要如下图所示:目标检测算法接口应用人脸识别算法接口应用人体关键点算法接口应用车牌识别算法接口应用任务一目标检测算法接口的应用
边缘智能计算应用职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一目标检测算法接口的应用了解目标检测含义和应用场景;了解RockX目标检测算法;了解利用多线程调用算法。掌握USB摄像头采集图像;掌握目标检测算法接口的定义;掌握目标检测算法接口的调用并识别图片;掌握多线程方式实现视频流的目标检测。职业能力目标01知识目标技能目标职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一目标检测算法接口的应用
此任务的主要内容是了解目标检测定义和应用场景,掌握RockX目标检测算法接口的定义与使用的相关知识,实现多线程调用算法进行图像识别,通过本次学习,掌握目标检测算法接口的应用。任务描述任务要求完成目标检测算法接口的定义和使用;完成多线程方式实现视频流的目标检测。任务描述与要求02职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一目标检测算法接口的应用任务分析应用目标检测算法接口会涉及到哪些步骤?如何使用多线程实现视频流的目标检测?任务分析与计划03任务计划表项目名称边缘计算算法SDK应用(基于RockX)任务名称目标检测算法接口的应用计划方式自主设计计划要求请用8个计划步骤来完整描述出如何完成本次任务序号任务计划1
2
3
45678通过上面的思考,你是否对本任务要完成的工作有所了解?让我们一起来制订完成本次任务的实施计划吧!任务分析与计划03职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一目标检测算法接口的应用RockX目标检测算法的简介204知识储备目标检测含义和应用场景11目标检测的含义2目标检测的应用场景04目标检测是指通过编写特定的算法代码,让计算机从一张图像中找出若干特定目标的方法。04目标检测的含义目标检测包含两层含义:1.判定图像上有哪些目标物体,解决目标物体存在性的问题;2.判定图像中目标物体的具体位置,解决目标物体在哪里的问题。04目标检测的含义目标检测和图像分类最大的区别在于目标检测需要做更细粒度的判定,不仅要判定是否包含目标物体,还要给出各个目标物体的具体位置。。04目标检测的含义目标检测图像分析1
目标检测的含义2目标检测的应用场景04目标检测作为场景理解的重要组成部分,广泛应用于现代生活的许多领域,如安全领域、军事领域、交通领域、医疗领域和生活领域04目标检测的应用场景现实中的例子很多,比如:骑手着装规范,包括人脸检测,餐箱检测,头盔检测等等场景目标识别,包括行人检测,办公区域桌椅检测,电梯按钮检测与识别等等合规检测,包括二维码检测,水印检测,logo识别等等场景文本识别,包括菜单识别,招牌识别,指示牌识别等等04目标检测的应用场景RockX目标检测算法的简介204知识储备目标检测含义和应用场景1RockX目标检测算法的简介04RockX目标检测库是集成在核心开发板上的一套python的接口库,可以直接调用,其检测性能为:RockX目标检测算法的简介04说明:mAP@IOU0.5=0.704表示IOU=0.5时对应的mAP=0.704。MSCOCO_VAL2017是目标检测公开数据集,使用该数据集中的5000张验证集测试,共91类别。
"person","bicycle","car","motorcycle","airplane","bus","train","truck","boat","trafficlight","firehydrant","stopsign","parkingmeter","bench","bird","cat","dog","horse","sheep","cow","elephant","bear","zebra","giraffe","backpack","umbrella","handbag","tie","suitcase","frisbee","skis","snowboard","sportsball","kite","baseballbat","baseballglove","skateboard","surfboard","tennisracket","bottle","wineglass","cup","fork","knife","spoon","bowl","banana","apple","sandwich","orange","broccoli","carrot","hotdog","pizza","donut","cake","chair","couch","pottedplant","bed","diningtable","toilet","tv","laptop","mouse","remote","keyboard","cellphone","microwave","oven","toaster","sink","refrigerator","book","clock","vase","scissors","teddybear","hairdrier","toothbrush"RockX目标检测算法的简介04目标检测是在图片中对可变数量的目标进行分类和查找。
主要难点:目标种类与数量问题目标尺度问题外在环境干扰问题形态、视角等变化RockX目标检测算法的简介04算法基本流程上面图表示两种方法,有候选框特征提取的方法,和特征提取直接回归的方法。两种方法目前用得比较多的都是深度学习的方法,但是这个框架同样也适用于传统方法RockX目标检测算法的简介04传统目标检测方法VS深度学习目标检测方法职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一目标检测算法接口的应用05任务实施多线程方式实现视频流的目标检测2目标检测算法接口的定义和使用1目标检测算法接口的定义和使用05下面通过目标检测实验,利用OpenCV采集图片,识别图片中的目标物体,来诠释RockX目标检测算法接口的定义和使用42加载图片数据1导入相关的库3实例化算法接口调用目标检测函数5画出物品目标框,并绘制目标物品的名称目标检测算法接口的定义和使用05目标检测算法接口的定义和使用6将经过算法处理的图像显示目标检测算法接口的定义和使用05importtime#时间库importcv2#引入OpenCV图像处理库fromrockximportRockX#引入车牌识别算法接口库fromlib.ft2importft#中文描绘库1导入相关的库目标检测算法接口的定义和使用05第一种方式:OpenCV读取一张图片,这里提供的图片名称为obj.jpgcv2.imread("图片名称")2加载图片数据(1)读取一张图片图片使用OpenCV利用摄像头采集一张图片,或者使用OpenCV读取现有的图片目标检测算法接口的定义和使用05第二种方式:OpenCV打开摄像头采集一张图片,在之前的章节有介绍,例如以下案例:cap=cv2.VideoCapture(0)time.sleep(2)cap.set(cv2.CAP_PROP_FRAME_WIDTH,640)cap.set(cv2.CAP_PROP_FRAME_HEIGHT,480)dWindow('image_win',flags=cv2.WINDOW_NORMAL|cv2.WINDOW_KEEPRATIO)ret,frame=cap.read()cv2.imshow('image_win',frame)cv2.waitKey(200)cv2.imwrite("图片名称",frame)cap.release()cv2.destroyAllWindows()2加载图片数据目标检测算法接口的定义和使用05image_obj=cv2.imread("./images/obj.jpg")2加载图片数据利用OpenCV的imread()函数,进行读取一张图片目标检测算法接口的定义和使用05importipywidgetsaswidgets#jupyter画图库
fromIPython.displayimportdisplay#jupyter显示库imgbox=widgets.Image()#定义一个图像盒子,用于装载图像数据imgbox.value=cv2.imencode('.jpg',
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生态养殖加盟合同协议
- 白酒合伙经营合同协议
- 电信代理商协议合同
- 电气技术入股协议合同
- 电梯改造大修合同协议
- 电厂物料买卖合同协议
- 用工合同补充协议模板
- 电子锁保修合同协议
- 电缆安装服务合同协议
- 猪瘟消毒协议书范本
- 初中学业水平考试的“一核二融三层四维”命题理论探析
- 心理咨询记录表10篇
- 数字经济学试题答案
- 创伤急救知识课件
- 专题13 统计与概率-【好题汇编】五年(2020-2024)高考数学真题分类汇编(含答案解析)
- 国家开放大学本科(非英语专业)学士学位英语统一考试样题
- GB/T 44273-2024水力发电工程运行管理规范
- DB65-T 4765-2024 农牧区标准化羊场建设规范
- 城轨行车课程设计
- 2024年南京市中考历史试题及答案
- 2024羽毛球教案36课时
评论
0/150
提交评论