《人工智能前端设备应用实训(中级)》高职全套教学课件_第1页
《人工智能前端设备应用实训(中级)》高职全套教学课件_第2页
《人工智能前端设备应用实训(中级)》高职全套教学课件_第3页
《人工智能前端设备应用实训(中级)》高职全套教学课件_第4页
《人工智能前端设备应用实训(中级)》高职全套教学课件_第5页
已阅读5页,还剩150页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程演示文稿人工智能前端设备应用实训(中级)4个项目·13个任务项目一智慧社区设备安装与调试3个任务项目二智慧校园应用系统部署3个任务项目三智慧社区数据采集与标注4个任务项目四无人超市应用场景优化3个任务全套可编辑PPT课件项目一智慧社区设备安装与调试安装调试AI边缘网关、摄像头、人脸一体机等设备,搭建社区安防、门禁和智能家居系统1任务一智慧社区公共区域安防系统2任务二智慧社区门禁系统3任务三智能家居系统任务一智慧社区公共区域安防系统安装连接AI边缘网关、路由器、触摸屏与枪型摄像头,配置网络并调试监控与警示功能项目一·智慧社区设备安装与调试任务目标与要求职业能力目标能够根据设备连接拓扑图,安装和连接设备能够根据要求,配置路由器和AI边缘网关能够根据要求,调试安防系统任务描述在触摸屏上查看监控实时画面,并开启或关闭警示灯(三色灯)和蜂鸣器任务要求1完成AI边缘网关、路由器、触摸屏、枪型摄像头的安装和连接2设置路由器登录密码和无线密码,配置AI边缘网关IP地址3调试枪型摄像头,上传配套代码至AI边缘网关并调试系统4系统由6类硬件设备组成AI边缘网关系统核心,运行调试代码枪型摄像头采集公共区域实时画面路由器组建局域网,连接各设备触摸屏显示监控画面与控制按钮数字量I/O模块输出开关量,驱动警示设备三色灯红黄绿警示,内置蜂鸣器5两大核心设备的关键参数AI边缘网关3.0TOPSNPU算力6核ARM64位处理器4路USB3.0接口主控RK3399Pro·千兆以太网·WiFi/蓝牙·RS232/RS485枪型摄像头1080P1920×1080分辨率30m红外补光距离86°水平视场角H.265/H.264编码·RJ45百兆网口·φ5.5mm电源口6用Xshell+Xftp远程操作AI边缘网关Xshell终端模拟软件,通过SSH远程控制Linux主机XftpSFTP/FTP文件传输,拖拽即可上传下载SSH协议三层框架传输层服务器认证、数据保密与完整用户认证为服务器鉴别客户端用户连接协议加密隧道复用为多个逻辑通道SSH建立连接的五个阶段1版本号协商2密钥和算法协商3认证4会话请求5交互会话7设备连接拓扑连线清单路由器LAN↔计算机路由器LAN↔AI边缘网关路由器LAN↔枪型摄像头触摸屏↔网关(HDMI+USB)路由器、摄像头→220V插座板载总电源→24V5A适配器8按设备逐一完成安装与连接路由器电源适配器接220V插座网线LAN口→计算机AI边缘网关电源电源线接网关电源口网线网关→路由器LAN总电源24V5A适配器触摸屏USB(触控)MicroUSB→网关HDMI(显示)HDMI→网关枪型摄像头电源12V3A适配器网线摄像头→路由器LAN9配置路由器:重置后走完设置向导1重置路由器按住重置按钮,直至指示灯熄灭2登录后台管理系统浏览器访问3设置登录密码密码与确认密码均为newland1234上网方式保持默认“自动获取IP地址”5设置无线密码并确认无线密码newland123,单击“确认”完成向导完成向导后进入“连接设备管理”界面后台地址统一密码newland12310配置AI边缘网关:开发模式+静态IP触摸屏显示开发模式(或演示模式)界面,说明网关正常1检查网关是否正常上电后指示灯亮起,系统自动启动应用2切换至开发模式设置→切换开发模式→确定,系统重启3设置静态IP设置→设置静态IP→键盘编辑→确定IP地址2网关地址DNS地址11调试枪型摄像头:看到流畅画面即成功1IE访问42登录admin/newland1233安装控件下载并运行,再允许加载项4刷新页面出现流畅视频即成功12调试安防系统:上传→运行→验证1Xftp上传代码主机2,用户名/密码nle;把public_safety_debug拖到/home/nle2Xshell运行代码同样连接2,ls确认文件夹存在后执行下方命令#切换到调试代码目录cdpublic_safety_debug#以管理员权限运行,密码nlesudopython3main.py#调试完按Ctrl+C终止触摸屏调试界面3触摸屏验证显示摄像头实时画面警示灯可开/关蜂鸣器可响/停13任务小结与拓展本任务你学会了6类硬件:网关、摄像头、路由器、触摸屏、I/O模块、三色灯Xshell/Xftp与SSH、SFTP协议设备安装、连接、配置与调试全流程安装连接网络配置远程调试任务拓展1触摸屏连接AI边缘网关用了HDMI线和MicroUSB线,它们分别起什么作用?2用Xftp把AI边缘网关上的任意文件下载到本地计算机。任务二智慧社区门禁系统安装智能人脸一体机与电子锁,打通它与AI边缘网关的通信,实现刷脸开锁项目一·智慧社区设备安装与调试任务目标与要求职业能力目标能够根据设备连接拓扑图安装并连接智能人脸一体机能够根据要求配置智能人脸一体机和AI边缘网关的参数能够根据要求调试人脸识别门禁功能任务描述用户在智能人脸一体机上刷脸,即可开启门锁任务要求1完成智能人脸一体机和电子锁的安装和连接2配置人脸一体机与AI边缘网关,使两者能互相通信3上传配套代码至网关,调试人脸识别门禁功能16两个新设备:人脸一体机负责识别,电子锁负责开关智能人脸一体机>99%识别率0.2s最快识别速度5万人脸库容量7寸IPS触摸屏支持活体检测,可防照片、手机图片、视频攻击;具备人员、访客、陌生人与记录管理电子锁供电12V/0.4A安全类型通电缩回·断电弹出锁舌行程7mm17设备清单、拓扑与安装沿用任务一路由器AI边缘网关触摸屏I/O模块本任务新增智能人脸一体机电子锁1连接电源:12V3A适配器→220V插座2连接网线:人脸一体机→路由器LAN口18登录人脸一体机后台管理系统1查看IP开机后看屏幕左下方2IE访问输入屏幕上显示的IP3安装控件下载并运行安装4允许加载项必要时手动刷新5登录admin/123456出现流畅的视频画面,说明人脸一体机调试成功务必使用IE浏览器,否则无法加载控件和视频19恢复出厂设置,再固定IP地址1恢复出厂设置配置→系统管理→维护勾选“不保留网络配置和用户配置”,单击“恢复默认”并确认,消除之前配置的干扰重启后IP会改变,需按屏幕左下角显示的新IP重新登录后台2配置静态IP配置→网络配置→网口设置获取方式静态地址IP地址3子网掩码默认网关保存后,用3重新登录20打通人脸一体机与AI边缘网关的双向通信智能人脸一体机3AI边缘网关2一体机→网关:配置服务器接口配置→系统管理→服务器地址2·端口8099类型LAPI长连接V2网关→一体机:门禁接口地址开发模式:设置→服务接口设置门禁接口地址=321调试门禁系统:录入人脸,刷脸开锁1添加人脸数据配置→智能配置→人脸库→添加;编号如211,照片仅限jpg、10–512KB2上传并运行代码Xftp上传face_detect_debug至/home/nle,Xshell运行3输入员工编号输入211并回车,出现客户端IP即启动成功4正对一体机刷脸播报“识别成功”并开锁,触摸屏输出调试信息cd/home/nle/face_detect_debug/sudopython3main.py#密码nle22排错收尾与IP地址规划门锁没有打开?运行代码前,一体机会持续采集人脸并存入缓存,影响开锁。后台单击“照片”勾选IP文件夹→删除→确定重新运行调试代码后再刷脸调试完按Ctrl+C终止程序设备IP地址账号/密码路由器newland123AI边缘网关2nle/nle智能人脸一体机3admin/123456枪型摄像头4admin/newland123所有设备与路由器处于同一网段192.168.1.x23任务小结与拓展本任务你学会了智能人脸一体机:识别、活体检测、人脸库管理电子锁:通电缩回、断电弹出一体机与网关的接口配置与刷脸开锁调试静态IP接口配置人脸库任务拓展1在智慧社区门禁系统中,智能人脸一体机和AI边缘网关分别实现了什么功能?思考方向一体机:谁采集人脸、谁比对、谁推送消息?网关:谁接收消息、谁控制电子锁?任务三智能家居系统光线变暗自动亮灯,一句话开关风扇——用光照度变送器和语音设备搭建智能家居项目一·智慧社区设备安装与调试任务目标:两个智能场景光照联动光照度<100时↓三色灯自动亮起语音控制说出开关风扇指令↓风扇随之启停职业能力目标能根据拓扑图连接语音采集播放设备能根据要求调试智能家居系统功能任务要求按指示安装并连接语音采集播放设备上传配套代码至AI边缘网关,调试智能家居系统功能26三个新设备语音采集播放设备采集语音指令,播放提示音传声器全指向性扬声器4Ω·8W回音消除高于58dB光照度变送器检测环境光照强度单位Lux准确度±3%FS响应时间<1s迷你风扇模拟家中的智能风扇供电DC5V转速3000–4000RPM导线红正·黑负27设备清单与连接:只需接一根USB线沿用路由器AI边缘网关触摸屏I/O模块新增光照度变送器语音采集播放设备迷你风扇MiniUSB端→语音采集播放设备另一端→AI边缘网关USB接口28上传并运行调试代码1Xftp上传把smart_home_debug文件夹拖到/home/nle2Xshell切换目录进入/home/nle/smart_home_debug/3管理员权限运行提示时输入密码nle并回车#切换目录cd/home/nle/smart_home_debug/#运行调试代码sudopython3main.py运行成功后的触摸屏界面:两个功能按钮29验证①:光线变暗,三色灯自动亮起触发阈值<100光照度数值(Lux)点“获取光照度”,开始实时监测用手遮挡变送器数值低于100,三色灯亮起触摸屏实时输出光照度数值遮挡后三色灯亮起30验证②:一句话打开或关闭风扇1开始识别单击“开始语音识别”2查看提示触摸屏下方显示提示语3说出指令“打开风扇”或“关闭风扇”4风扇响应风扇启停即调试成功调试结束在Xshell命令窗口按Ctrl+C终止调试程序31任务小结与拓展本任务你学会了语音采集播放设备:采集指令、播放提示光照度变送器:把光照强度转为电信号(Lux)迷你风扇:USB供电,受语音指令控制光照联动语音控制调试验证任务拓展1光照度变送器、语音采集播放设备还能用于哪些其他场景?思考方向光照度变送器:农业、交通、气象……语音设备:会议、教学、家居……项目二智慧校园应用系统部署在CentOS虚拟机上部署服务端,打通PC客户端、服务端与边缘端,完成系统验证1任务一智慧校园服务端应用环境准备2任务二智慧校园服务端应用程序部署3任务三智慧校园应用系统验证任务一智慧校园服务端应用环境准备在VirtualBox中启动CentOS服务端,配置网络,编译安装Python3并搭建虚拟环境项目二·智慧校园应用系统部署项目导览:三端架构与部署流程PC客户端图形化管理用户与车牌数据服务端CentOS虚拟机,提供数据与接口边缘端AI边缘网关+摄像头、人脸一体机等部署流程任务一搭建Python3环境任务二MySQL数据库操作任务二安装配置Nginx任务三应用系统验证35任务目标与要求职业能力目标能正确设置虚拟机硬件配置并启动CentOS系统镜像能使用Linux命令和vi编辑器修改系统配置文件能在Linux下安装Python3并搭建虚拟环境任务描述完成服务端应用环境准备,可用命令进入虚拟环境,环境中已装好服务端所需的Python依赖包任务要求1配置并启动VirtualBox虚拟机中的系统2配置服务端虚拟机的IP地址3编译并安装Python34搭建Python3虚拟环境36服务端由四层组成,本任务搭好前两层智慧校园服务端应用SmartCampus任务二启动Python3(虚拟环境+依赖包)本任务MySQL数据库+Nginx服务器任务二CentOS(Linux)虚拟机本任务为什么用虚拟机?一台电脑模拟多台不同系统的计算机操作出错可用配套镜像继续后续步骤在实体服务器上部署时,步骤完全一致37两台虚拟机,各司其职SmartCampusVm智慧校园服务端虚拟机系统CentOS(RedHat64-bit)Host-Only02桥接网卡0账号root/newland123Nexus仓库镜像虚拟机作用存放yum/pip软件包内存≥2048MB网卡与服务端相同配置VirtualBox开源免费,支持Windows、Linux、macOS等主机38本任务会用到的Linux命令基本命令ls显示目录文件名cd/SmartCampus切换目录(..上级)ipa查看IP地址systemctlrestartnetwork重启网络ps-ef|greppython3查看Python3进程kill-91073强制结束进程sudo以管理员身份执行pingIP-c5测试网络连通5次文件操作命令catusr.bak显示文件内容mkdir-p/root/data创建目录(含上级)cp-r源目标复制文件/文件夹mv旧名新名移动或重命名chmod+x./mysqld添加执行权限rm-r/SmartCampus删除文件/目录yuminstallgcc安装软件包rebootnow立即重启39vi编辑器的三种模式命令模式打开文件时的默认状态插入模式左下角显示INSERT底行模式保存、退出、查找i进入⇄Esc返回输入:进入常用底行命令:wq保存并退出:q!不保存退出HJKL左下上右移动光标编译安装源码把高级语言翻译成机器能识别的0和1。在源码目录执行:make&&makeinstall40Python3、虚拟环境与pip1Python3解释型、面向对象的高级语言,服务端用它开发python-V2venv虚拟环境拥有独立的Python与软件包,与系统环境隔离python3-mvenvpyenv3pip包管理查找、下载、安装、卸载Python包pipinstall-rrequirements.txt服务端=Python3程序+虚拟环境+依赖包41实施①:安装VirtualBox并创建虚拟机1安装VirtualBox6.1.18按默认一路“下一步”,出现用户账户控制时点“是”2关闭自动更新管理→全局设定→更新,取消“检查更新”3新建SmartCampusVm类型Linux,版本RedHat(64-bit)4分配内存建议为物理内存的1/4,如8GB→2048MB5使用已有虚拟硬盘注册并选择SmartCampusVm_task1.vdi→创建42实施②:配置双网卡并启动两台虚拟机网卡1·桥接网卡接入路由器所在网段192.168.1.x,供边缘端与客户端访问界面名称必须选连接路由器的那块网卡网卡2·仅主机电脑与虚拟机之间的专用网段192.168.56.xHost-Only模式;Xshell/Xftp通过它连接虚拟机Nexus虚拟机按同样方法创建(Nexus.vdi,内存≥2048MB,网卡配置相同),然后单击“启动”,两台虚拟机都开起来。43实施③:把桥接网卡IP固定为0cd/etc/sysconfig/network-scripts/cpifcfg-enp0s3ifcfg-enp0s3.bak#备份viifcfg-enp0s3#按i编辑#修改后Esc,输入:wq保存退出systemctlrestartnetwork#重启网卡ipa#查看结果BOOTPROTOstaticIPADDR0NETMASKGATEWAY44实施④:编译安装Python3.6.71装依赖yuminstallopenssl-develbzip2-develexpat-develgdbm-develreadline-develsqlite-develgcc2上传解压cd/root/tar-xvfPython-3.6.7.tar.xz3编译安装cdPython-3.6.7./configureprefix=/usr/local/python3make&&makeinstall45实施⑤:配置环境变量,搭建虚拟环境配置环境变量cp~/.bash_profile~/.bash_profile.bakvi~/.bash_profile#末尾添加:exportPATH=$PATH:/usr/local/python3/bin/source~/.bash_profilepython3#应显示3.6.7搭建虚拟环境并安装依赖mkdir-p/root/data#Xftp上传SmartCampus到/root/datacd/root&&python3-mvenvpyenvsourcepyenv/bin/activatecd/root/data/SmartCampuspipinstall-rrequirements.txtdeactivate#退出虚拟环境命令行前出现(pyenv)表示已进入虚拟环境;依赖全部显示Successfullyinstalled即安装成功46任务小结与拓展本任务你学会了虚拟机、Linux命令、vi编辑器与yum固定服务端桥接网卡IP:0编译安装Python3,用venv+pip准备依赖虚拟机Linux命令Python环境任务拓展1除了Xshell图形化界面,能否用命令连接终端,或在主机和终端之间传输文件?思考方向sshroot@02scp本地文件root@02:/root/任务二智慧校园服务端应用程序部署用SQL建库授权、还原备份数据,安装配置Nginx,启动服务端并用PC客户端登录项目二·智慧校园应用系统部署任务目标与要求职业能力目标能使用SQL语句实现MySQL数据库基本操作能安装并启动Nginx服务器能启动并验证服务端应用程序任务描述完成服务端应用程序部署,用管理员账号密码登录服务端管理后台任务要求1用SQL创建用户、数据库并修改权限2用SQL还原并备份服务端数据3安装并完成Nginx服务器配置4启动并验证服务端应用程序49服务端是PC端与边缘端的数据枢纽PC客户端Windows图形界面,管理用户与车牌服务端MySQL数据库Nginx+Python应用边缘端AI边缘网关SQLite数据库本任务目标:让服务端的数据库、Web服务和应用程序全部就绪,PC客户端能登录管理后台50数据库、关系数据库与MySQL关系数据库长什么样学号姓名车牌20210001张同学闽A68B8620210002李同学—数据以表格形式存储每行是一条记录,每列是一个字段多张表组成一个数据库MySQL的优势速度快多数免费易学易用跨平台接口丰富标准SQL安全加密体积小、速度快、成本低的开源数据库51SQL的四个组成部分DDL数据定义CREATE·ALTER·DROPDML数据操作INSERT·UPDATE·DELETEDQL数据查询SELECTDCL数据控制GRANT·REVOKE·COMMIT·ROLLBACK本任务用到的语句CREATEUSER/CREATEDATABASE/GRANTALLON...TO...SHOWDATABASES/SHOWGRANTS/USE/SOURCE/SHOWTABLESmysqldump(备份,在Linux终端执行,不在MySQL内)52Web服务器与Nginx反向代理客户端/边缘端发出HTTP请求Nginx:8080接收请求,反向代理智慧校园应用:5000MySQL读写数据Web服务器做什么?用户请求经HTTP协议到达服务端,需要转成应用能识别的数据再处理。这类通用工作交给专门的程序——Web服务器。本项目中Nginx对外监听8080端口,把请求转发给本机5000端口上的Python应用。53实施总览:五步完成部署1建库授权用户、数据库、权限2还原数据导入.sql表结构3备份数据mysqldump4Nginx安装、配置反向代理5启动验证服务端+PC客户端任务一没做完?换用配套的SmartCampusVm_task2.vdi镜像直接开始虚拟介质管理释放、删除task1设置→存储注册task2.vdi54实施①:创建用户、数据库并授权mysql-uroot-p#密码newland123CREATEUSER'admin'@'%'IDENTIFIEDBY'newland123';CREATEDATABASEsmart_campus;GRANTALLONsmart_campus.*TO'admin'@'%';exitmysql-uadmin-p#换admin登录showdatabases;showgrantsforadmin;55实施②③:还原并备份数据库还原:在MySQL中导入表结构usesmart_campussource/root/data/SmartCampus/smart_campus.sqlshowtables;#列出表即导入成功exit备份:在Linux终端执行mysqldump-uadmin-pnewland123smart_campus\>/root/data/SmartCampus/smart_campus_bak.sqlls/root/data/SmartCampus56实施④:安装并启动Nginxyuminstallyum-utils-yyum-config-manager--enablenginx-mainlineyuminstallnginx-ysystemctlstartnginxsystemctlstatusnginx#active(running)浏览器访问0看到“Welcometonginx!”页面,说明Nginx已正常安装并启动57实施④:修改Nginx配置default.conf:监听8080,代理到5000cp/etc/nginx/conf.d/default.conf{,.bak}vi/etc/nginx/conf.d/default.conf#listen8080;location/{中添加:proxy_pass:5000;proxy_set_headerX-Real-IP$remote_addr;proxy_pass_headerSet_Cookie;nginx-t#检查语法nginx.conf:运行用户改为root应用运行在root权限下,将user改为root;后执行pkillnginx停止58实施⑤:启动服务端,PC客户端登录nginx-c/etc/nginx/nginx.confsource/root/pyenv/bin/activatecd/root/data/SmartCampus/nohuppython3AiServer.py&ps-ef|greppython1浏览器验证接口访问:8080,显示HelloWorld!2修改config.iniserver_ip=0:80803登录管理平台AiClient.exe→智慧校园→admin/12345659任务小结与拓展本任务你学会了数据库、MySQL与SQL四类语句建库授权、还原与备份数据Nginx反向代理配置与服务端启动SQLNginx服务启动任务拓展1用root登录MySQL,创建supermarket数据库并查看;再删除它,确认删除成功。思考方向CREATEDATABASEsupermarket;SHOWDATABASES;DROPDATABASEsupermarket;任务三智慧校园应用系统验证在AI边缘网关上部署应用、配置参数,验证人脸门禁、无人超市、车牌门禁与PC管理平台项目二·智慧校园应用系统部署任务目标与要求职业能力目标能正确配置AI边缘网关参数能完成智慧校园场景验证能完成PC端综合管理平台系统验证任务描述在边缘网关上运行人脸门禁、车牌门禁、无人超市等应用,并通过PC平台管理用户与车牌,验证整套部署任务要求1配置AI边缘网关参数2完成智慧校园场景验证3完成PC端综合管理平台系统验证62为什么需要边缘计算500亿+2021年全球终端设备847ZB每年产生的数据量>5GB/s波音787每秒产生数据集中式云计算面临两个问题实时性不够数据要传到云中心处理,时延大;无人驾驶需要毫秒级响应带宽不足海量数据全部上传,给网络带宽造成巨大压力63边缘计算:把计算放到数据旁边效率实时处理分析数据成本就地过滤,减少流量灵活按需调整模型隐私数据不长距离传输64实施总览与IP地址规划1部署边缘应用程序2配置AI边缘网关参数3智慧校园场景验证4PC端管理平台验证设备地址用途路由器网关AI边缘网关2nle/nle智能人脸一体机3:80门禁接口服务端虚拟机0:8080服务接口枪型摄像头4:554rtsp视频流65实施①:在AI边缘网关上部署应用1设置网关IP案例演示界面→设置→22Xshell连接网关SSH,用户名、密码均为nle3上传代码mkdirv02后用Xftp上传应用代码4修改开机自启动并重启改usr.sh中的路径后sudorebootnowcd/usr/local/00_demo/15_autostart/02_usr/cpusr.shusr.sh.baksudovimusr.sh#密码nle#改为:send\"cd/home/nle/v02/AiSmartCampusU\r\"sudorebootnow66实施②:配置AI边缘网关参数本地设置静态IP2服务接口0:8080门禁接口3:80网络摄像头rtsp://admin:newland123@4:554门禁接口要带端口:80;rtsp格式为rtsp://用户名:密码@IP:端口67场景验证①:注册学生与车辆1管理员登录智慧校园→管理员登录,密码1234562注册学生类型选“学生”,学号20210001,拍照→注册3注册车辆操作控制→车辆注册,录入车牌号完成后两次“返回”回到初始界面68场景验证②:刷脸进校,无人超市购物1刷脸进入正对人脸一体机2无人超市选择购物3放入模型如篮球,识别后移出4刷脸支付确认并支付69场景验证③:车牌识别门禁进入“车牌识别门禁”,展示车牌模型识别成功,门闸打开三个场景都跑通,说明边缘端应用、网关参数和外设连接全部正常70实施④:PC端综合管理平台验证nginx-c/etc/nginx/nginx.confsource/root/pyenv/bin/activatecd/root/data/SmartCampus/nohuppython3AiServer.py&#访问0:80801重启AI边缘网关同步边缘端注册的数据2打开AiClient.exe用户管理:查看出入记录、编辑、删除3车辆管理查看通行记录,编辑或删除车辆71任务小结与拓展本任务你学会了嵌入式Linux、边缘计算与AI边缘网关部署边缘应用并配置网关接口参数验证门禁、超市、车牌场景与PC管理平台边缘部署参数配置系统验证任务拓展1参考“用户管理”查看出入记录、编辑用户的步骤,查看车辆的出入记录并编辑车牌信息。思考方向车辆管理→通行记录→查看车辆管理→操作→编辑项目三智慧社区数据采集与标注采集、预处理并标注图像,完成语音识别与文本标注,为模型训练准备数据集1任务一图像数据采集2任务二图像数据预处理3任务三图像标注4任务四语音识别与文本标注任务一图像数据采集在AI边缘网关的JupyterLab中补全OpenCV采集代码,用USB摄像头采集超市商品图像项目三·智慧社区数据采集与标注项目导览:从数据采集到模型部署图像数据采集图像数据预处理图像标注训练准备模型训练模型部署项目三项目四任务一图像数据采集在AI边缘网关上完成任务二图像数据预处理在AI边缘网关上完成任务三图像标注在本地PC上完成任务四语音识别与文本标注在网关+PC上完成75任务目标与要求职业能力目标能够搭建图像数据采集所需的环境能够完善图像采集代码能够完成物品图像的采集任务描述理解并补全图像采集代码,采集超市商品图像,保存在AI边缘网关中,作为任务二的数据集任务要求1将图像采集代码上传至AI边缘网关2用浏览器打开网关上的JupyterLab3按教程提示完善图像采集代码4运行代码,采集超市商品图像76数据采集:把外部信息变成系统数据图像数据采集将摄像头获取的图形或图像数字化音频数据采集设置采样率、采样位数、通道数,把声音转成数字信号采集前的准备1明确需求与客户沟通,总结数据字段2确定范围与工具按需求确定采集范围和设备3确定存储方式数据保存在哪里、以什么格式采集三大要点全面性多维性高效性77好数据决定模型精度的上限规模越大质量越高模型精确度越高。增加数据量最直接的方式就是自行采集。本任务:USB摄像头→保存到AI边缘网关保证图像多样性1不同角度正面、侧面、俯视2不同方向横放、竖放、倾斜3不同光照明亮与较暗环境4样本平衡各类商品数量相近78JupyterLab:基于Web的交互式开发环境ProjectJupyter的下一代界面:Notebook、终端、文本编辑器、文件浏览器整合在一个窗口里主要特点交互模式内核支持的文档模块化界面镜像Notebook输出同一文档多视图多种数据格式云服务用Edge或Chrome打开,IE浏览器无法打开JupyterLab79JupyterLab常用快捷键快捷键功能Enter转入编辑模式Shift+Enter运行本单元,选中下个单元Ctrl+Enter运行本单元Alt+Enter运行本单元,在其下插入新单元DD删除选中的单元格快捷键功能Y单元转入代码状态M单元转入markdown状态R单元转入raw状态A在上方插入新单元B在下方插入新单元菜单栏:文件·编辑·查看·运行·内核·标签页·设置·帮助80OpenCV与采集环境运行环境与第三方库名称版本Python3.7.3Debian10OpenCV-Python3.4.5JupyterLab3.0.15代码目录结构路径说明supermarket_img/项目根目录orange_juice/采集的商品图像supermarket_img_collect.ipynb图像采集代码OpenCV-Python在Python中的库名为cv2,让Python调用C/C++实现的图像算法,兼顾易读与效率代码使用cv2打开摄像头、显示画面、保存图片81实施①:上传代码并打开JupyterLab1网关切换到开发模式触摸屏显示开发模式主界面2上传代码文件夹supermarket_img→/home/nle/notebook3浏览器访问网关IPEdge/Chrome打开24打开采集Notebook双击supermarket_img_collect.ipynb5运行“导入相关库”[]中出现1表示运行成功82实施②:读懂CameraThread摄像头线程类classCameraThread(threading.Thread):def__init__(self,camera_id,camera_width,camera_height):self.cap=cv2.VideoCapture(camera_id)#打开摄像头self.cap.set(cv2.CAP_PROP_FRAME_WIDTH,camera_width)self.cap.set(cv2.CAP_PROP_FRAME_HEIGHT,camera_height)defrun(self):whileself.working:ret,image=self.cap.read()#读取一帧camera_img=imagecv2.imshow('image_win',camera_img)key=cv2.waitKey(1)defstop(self):self.cap.release();cv2.destroyAllWindows()VideoCapture(id)打开USB摄像头,id如0、1、2cap.set(propId,value)设置画面宽、高等拍摄属性namedWindow/imshow创建窗口并显示每一帧release/destroyAllWindows释放摄像头,关闭所有窗口83实施③:补全代码,启动视频流实例化摄像头线程camera_th=CameraThread(0,640,480)camera_th.start()0表示USB摄像头;640×480是项目四模型微调训练要求的分辨率。运行后触摸屏显示实时画面。采集图像数据num=1obj_name='orange_juice'img_save_path='/home/nle/notebook/supermarket_img/'+obj_nameifnotos.path.exists(img_save_path):os.mkdir(img_save_path)whileTrue:key=input('s保存,q退出')ifkey=='s':cv2.imwrite('{}/{}_{}.png'.format(img_save_path,obj_name,num),camera_img)num+=1elifkey=='q':camera_th.stop();break84实施④:采集10张商品图像1变换角度摆放商品不超出取景框,光照充足,画面清晰2输入s并回车采集1张,提示orange_juice_1.png保存成功3重复采集至10张每次换一个角度或方向4输入q并回车退出停止线程并释放摄像头85任务小结与拓展本任务你学会了数据采集的类型、流程与三大要点JupyterLab操作与OpenCV-Python补全采集代码并采集10张商品图像JupyterLabOpenCV图像采集任务拓展1对薯片、篮球、足球、甜甜圈等多种超市商品,分别采集10张图片。思考方向修改obj_name,如potato_chip每类商品都换角度、方向和光照采集任务二图像数据预处理用OpenCV对采集的商品图像随机旋转或翻转,扩充数据集,并下载到本地备用项目三·智慧社区数据采集与标注任务目标与要求职业能力目标能够搭建图像数据预处理所需的环境能够完善图像预处理代码能够完成图像数据增强任务任务描述完成图像数据增强,在网关上查看增强后的图像,并下载到本地供任务三标注任务要求1上传预处理代码至AI边缘网关2用浏览器打开JupyterLab3按提示完善预处理代码4运行代码,完成数据增强5将处理后的图像下载到本地88为什么要做数据预处理数据预处理常用流程去除唯一属性处理缺失值属性编码标准化正则化特征选择主成分分析图像数据预处理图像质量直接影响识别精度。预处理能消除无关信息、增强特征的可检测性、简化数据,从而提高匹配和识别的准确度。图像压缩分割去噪数据增强本任务重点89图像数据增强:一张图变出多个样本本任务只用旋转和翻转两种方法,随机选一种处理40%的图片旋转Rotation随机旋转一定角度,改变朝向翻转Flipping水平或垂直翻转;字符识别不宜用裁剪Cropping随机裁剪图像的一部分添加噪声随机加入少量噪声,防止过拟合色彩抖动随机调整亮度、对比度、饱和度90预处理环境与代码流程运行环境与第三方库名称版本Python3.7.3Debian10OpenCV-Python3.4.5JupyterLab3.0.15代码目录结构路径说明supermarket_img/项目根目录orange_juice/预处理前后的图像supermarket_img_process.ipynb图像预处理代码1导入库2旋转函数3翻转函数4遍历文件5随机增强91实施①:定义图像旋转函数defrotate(img,center=None,scale=1.0):(h,w)=img.shape[:2]#获取高和宽ifcenterisNone:center=(w/2,h/2)#图像中心angle=random.choice([90,180,270])M=cv2.getRotationMatrix2D(center,angle,scale)rotated_img=cv2.warpAffine(img,M,(w,h))print('被逆时针旋转{}°后的图像为'.format(angle),end='')returnrotated_imgrandom.choice(list)从列表中随机取一个值getRotationMatrix2D按中心、角度、缩放生成旋转矩阵warpAffine(src,M,(w,h))用矩阵对图像做仿射变换92实施②:定义图像翻转函数defflip(img):flip_code=random.choice([1,0,-1])flipped_img=cv2.flip(img,flip_code)ifflip_code==1:print('被水平翻转后的图像为',end='')elifflip_code==0:print('被垂直翻转后的图像为',end='')elifflip_code==-1:print('被水平垂直翻转后的图像为',end='')returnflipped_imgcv2.flip(src,flipCode)1水平翻转0垂直翻转-1水平垂直翻转93实施③:遍历图片并随机增强obj_name='orange_juice'img_resource_path='./'+obj_namefile_list=os.listdir(img_resource_path)img_list=[fforfinfile_listiff.split('.')[-1]=='png']random.shuffle(img_list)#打乱顺序img_num=len(img_list);count=img_num+1;vp=0.4fornameinimg_list[:int(img_num*vp)]:img=cv2.imread(img_resource_path+'/{}'.format(name))ifrandom.randint(0,1)==0:processed_img=rotate(img)else:processed_img=flip(img)cv2.imwrite('./{}/{}_{}.png'.format(obj_name,obj_name,count),processed_img)count+=1vp=0.4对40%的图片做增强count新图片序号接在原图之后,10张原图→从orange_juice_11开始shuffle打乱列表,保证随机抽取randint(0,1)随机选旋转或翻转94实施④:运行代码并下载到本地1依次运行5个代码块先输出乱序的文件名列表,最后提示保存成功2在JupyterLab中检查打开orange_juice文件夹,查看新生成的图像3Xftp下载到本地下载到..\supermarket_img\,勾选“全部应用”覆盖4清理并核对删除.ipynb_checkpoints,确认原图与增强图都在95任务小结与拓展本任务你学会了数据预处理流程与图像预处理方法旋转、翻转等图像数据增强方法补全并运行预处理代码,下载结果数据增强OpenCVJupyterLab任务拓展1对任务一拓展中采集的其他商品图像,同样完成数据增强处理。思考方向逐个修改obj_name后重新运行可调整vp控制增强比例任务三图像标注用精灵标注助手给商品图像拉框打标签,导出Pascal-VOC标注文件,并完成标注质量检验项目三·智慧社区数据采集与标注任务目标与要求职业能力目标能够搭建图像标注环境能够使用工具对图像数据进行标注能够导出标注信息文件能够完成图像标注质量检验任务描述用精灵标注助手完成图像标注,以Pascal-VOC格式保存并查看标注信息文件任务要求1在计算机上安装精灵标注助手2对图像数据进行标注3以Pascal-VOC格式保存标注文件4导入已标注图像5对已标注图像做质量检验98数据标注:教机器认识世界就像教孩子认苹果先让机器看大量标为“苹果”的图片学习特征,之后再给它任意一张苹果图,它就能认出来。标注类型图像语音文本视频标注形式画框·3D画框·文本转录·图像打点·轮廓线95%足够多的普通标注数据99.9%需要大量高质量标注数据标注越精准,模型训练效果越好99图像标注的方法与质量标准矩形框用框圈出目标物,本任务使用描点在关键位置打点语义分割按像素划分区域主流应用:物体识别·车牌识别·人脸识别·医疗影像·自动驾驶质量检验标准≤1像素100%准确率要求下,标注点与标注物边缘像素点的误差越贴近边缘,质量越好,难度也越大100标注工具:精灵标注助手环境说明Windows1064位操作系统精灵标注助手版本2.0.4快捷键说明R矩形框Space移动Delete删除框C曲线框P多边形框←/→上一张/下一张101Pascal-VOC标注信息文件标签含义filename/path图片文件名/路径size宽width、高height、深度depthobject被标注物,一张图可有多个name该物品的标签,如orange_juicebndbox标注框:左上角与右下角坐标xmin/ymin标注框左上角横、纵坐标xmax/ymax标注框右下角横、纵坐标102实施①:安装工具并创建标注项目安装1运行安装包2单击“我接受”3选择路径并安装4桌面出现图标创建项目入口新建→位置标注图片文件夹..\项目三\supermarket_img\orange_juice分类值orange_juice103实施②:拉框标注并导出1按R拉框鼠标拖动框住橙汁模型2输入标签并保存右上角输入orange_juice,单击“保存”3→切换下一张重复标注剩余所有图片4导出pascal-voc保存到..\项目三\supermarket,生成outputs104实施③:图像标注质量检验1新建位置标注项目图片文件夹:..\项目三\图像标注质量检验2分类值填car,person两个类别,英文逗号分隔3导入已有标注导入..\项目三\图像质量检验\xml4按标准修正调整标注框,补标漏掉的车辆,改正标签5保存并导出XML在outputs中查看标注信息文件检查要点:框贴边缘·不漏标·标签正确105任务小结与拓展本任务你学会了数据标注、图像标注与质量标准精灵标注助手的使用与快捷键Pascal-VOC标注文件与XML标签含义图像标注Pascal-VOC质量检验任务拓展1对任务一采集的其他商品图像进行标注练习,严格遵循图像标注质量要求。思考方向每类商品新建一个项目,分类值用商品名标注框尽量贴合商品边缘任务四语音识别与文本标注在AI边缘网关上把语音指令转写成文本,再用精灵标注助手完成实体标注项目三·智慧社区数据采集与标注任务目标与要求职业能力目标能够完成语音识别环境的搭建能够完成语音识别任务能够完成文本标注环境的搭建能够完成文本实体标注任务描述完成语音识别转写后文本的标注,并查看标注好的文本标注信息文件任务要求1上传语音识别配置文件至网关2按要求完成语音识别任务3将转写文本下载至本地4进行文本实体标注5以brat-ann格式导出并查看108语音识别:机器的听觉系统按识别对象孤立词识别如“开机”“关机”关键词检出只找出指定关键词连续语音识别识别整句或整段话按发音人特定人只识别一个或几个人非特定人任何人可用,更难也更实用按设备通道桌面(PC)电话嵌入式设备如手机109语音识别的应用与文本标注语音识别常见应用语音输入比键盘更自然高效语音控制工业控制、智能家电、声控玩具智能对话查询订票、银行、医疗等服务文本标注按标准对文字做分词、语义判断、词性标注、翻译、主题归纳等注释,帮助机器理解自然语言标注类型情绪意图语义关系常用类别实体标注情感标注词性标注110实施环境与流程运行环境与第三方库名称版本Python3.7.3Debian10PyQt5.11.3代码目录结构路径说明voice_to_text/ui界面文件voice_rec.ipynb语音识别运行代码call.bnf配置文件pack.ipynb打包备份文件1替换配置call.bnf2语音识别说出4条指令3下载文本rec_text.txt4实体标注导出brat-ann111实施①:上传文件并替换call.bnf1Xftp上传voice_to_text文件夹→/home/nle/notebook2Xshell连接网关执行下方两条命令#备份原有call.bnfsudomv/usr/local/speech/recognition/bin/call.bnf\/usr/local/speech/recognition/bin/call.bnf.bak#复制新的call.bnfsudocp/home/nle/notebook/voice_to_text/call.bnf\/usr/local/speech/recognition/bin/call.bnf112实施②:说出指令,采集文本数据1运行voice_rec.ipynb在JupyterLab中执行代码块1~52单击“开始语音识别”触摸屏进入识别状态3依次说出4条指令每说一条前重新单击按钮4查看并下载文本rec_text.txt供后续标注使用“我想要打开灯”“关闭灯”“帮我打开门锁”“请帮我关闭风扇”113实施③:用精灵标注助手做实体标注入口新建→自然语言处理→实体关系标注文本文件..\实训资源包\文本数据标注实体定义请求,控制,设备(英文逗号)其余定义清空关系、事件、属性定义标注示例我想要请求打开控制灯设备114读懂brat-ann标注结果ID类别起止文本T1请求03我想要T2控制35打开T3设备56灯T4控制79关闭T5设备910灯T6请求1113帮我第1列实体ID,T开头按数字升序第2列实体标注类别第3、4列该段文本的开始、结束编号第5列文本内容rec_text.ann为空?说明标注后没有单击“保存”115任务小结与拓展本任务你学会了语音识别的原理、分类与应用替换配置文件并完成语音转写实体标注与brat-ann结果解读语音识别文本标注实体标注任务拓展1你能简单说出市场上有哪些语音识别设备吗?思考方向家里:智能音箱、智能电视出行:车载语音助手、手机语音助手项目四无人超市应用场景优化基于预训练模型完成微调、评估与部署,让无人超市准确识别商品1任务一无人超市应用系统模型微调2任务二无人超市应用系统模型评估3任务三无人超市应用系统模型部署任务一无人超市应用系统模型微调用Anaconda搭建训练环境,转换项目三的标注数据,配置参数,基于预训练模型完成YOLOv3微调训练项目四·无人超市应用场景优化项目导览:让模型在真实超市里认得准无人超市=两大系统自助购物机识别商品,核算价格人脸识别结算比对人脸,自动支付相比传统超市免排队结账7×24h营业节省人力成本AI自动识别商品与顾客,自动结算扣款本项目三大模块任务一模型微调得到ckpt权重任务二模型评估mAP评估,固化为pb任务三模型部署转RKNN,部署到网关119任务目标与要求职业能力目标能使用Anaconda搭建模型训练环境能在JupyterLab中用代码转换标注文件能根据训练要求配置训练参数能够进行模型训练任务描述用超市商品图像数据集完成微调训练,提升识别精度,训练后得到模型文件任务要求1安装Anaconda32搭建Python虚拟环境3划分训练集和测试集4配置训练参数5完成模型微调训练120模型微调:站在预训练模型的肩膀上什么是微调把新数据集加入预训练过的模型继续训练,让参数适应新数据。预训练模型已能提取浅层基础特征和深层抽象特征。训练效率高大幅减少时间省计算资源无需从头训练什么时候考虑微调1数据集相似但数据量小与预训练数据集相近,样本不多2自建CNN正确率低从头训练效果不理想3计算资源太少没有足够的GPU和时间特定领域难以获取大量数据,微调是理想选择121训练集与测试集:先分好再训练常用划分比例8:2(vp=0.2)训练集80%:训练模型、调整参数测试集20%不要用测试集调参相当于考前拿到考题,分数高不代表真学会,也降低不了真实场景的误差划分前先随机化打乱样本顺序,保证各类别在训练集和测试集中分布均衡,避免样本不平衡122深度学习与TensorFlow逐层提取越来越抽象的特征可见层输入像素第1隐藏层比较相邻像素亮度,找出边缘第2隐藏层由边缘组合出角和轮廓第3隐藏层找到对象的特定部分输出识别出图中的对象常用框架TensorFlowPyTorchCaffeMXNet123目标检测:找出物体并框出位置YOLOv3·YouOnlyLookOnce把候选区和识别合二为一,看一眼就知道有哪些对象及位置。速度快、背景误检率低、通用性强。双步法TwoStage单步法OneStage思路先生成候选框,再分类回归密集抽样,一步分类回归优势准确度高速度快不足速度较慢训练难,准确度较低代表R-CNN、Fast/FasterR-CNNYOLO、SSD本项目使用YOLOv3124实施①:安装Anaconda3安装前确认Windows用户名为英文(查看C:\Users);含中文需新建英文账户,否则可能出现无法预知的问题1运行安装包Anaconda3-5.0.1-Windows-x86_64.exe2选择路径建议C:\Anaconda3,必须纯英文3高级选项两个复选框都不勾选,再Install4完成取消最后两个勾选,Finish不勾选“RegisterAnacondaasmydefaultPython”:本机已有Python时,勾选可能导致已有程序无法使用125实施②:创建训练环境并验证工具#AnacondaPrompt中执行condacreate--offline-nsupermarket-tfpython=3.6-yactivatesupermarket-tfcdC:\supermarket-tf\pip_pkgs\pipinstall-rrequirements.txt--no-index--find-links=./#验证RKNN:无输出即导入成功python→fromrknn.apiimportRKNN→exit()python-mrknn.bin.visualization#打开模型转换工具cdC:\supermarket-tf&&jupyterlab能打开RKNNToolkit界面即安装成功双击supermarket_win.ipynb实验流程、讲解与代码都在里面126实施③:转换标注文件,划分数据集5类商品标签(与项目三标注一致)footballbasketballdonutorange_juicepotato_chip同时写入data\classes\srandom.shuffle(paths)#随机化vp=0.2#划分比例mid=round(vp*len(paths))#划分界限1XML信息提取函数取出<name>与xmin/ymin/xmax/ymax2生成训练集data\dataset\train.txt3生成测试集data\dataset\test.txt127实施④:在config.py中配置训练参数参数含义取值__C.YOLO.CLASSES标签配置文件.\data\classes\s__C.TRAIN.ANNOT_PATH训练集地址.\data\dataset\train.txt__C.TRAIN.BATCH_SIZE批处理图片数2__C.TRAIN.LEARN_RATE_INIT初始学习率1e-5__C.TRAIN.LEARN_RATE_END学习率终点1e-7__C.TRAIN.WARMUP_EPOCHS预热迭代次数0__C.TRAIN.FISRT_STAGE_EPOCHS第一阶段迭代次数5__C.TRAIN.SECOND_STAGE_EPOCHS第二阶段迭代次数0__C.TRAIN.INITIAL_WEIGHT预训练权重.\checkpoint\test_loss=0.8620.ckpt-500128学习率为什么“上升→平稳→下降”热身平稳下降示意图1刚开始用低学习率网络初期不稳定,低学习率保证收敛2逐步升高(热身)低学习率太慢,热身后升到较高值3再逐步降低一直很高会让梯度来回震荡,难以到达损失最低点129实施⑤:开始训练,读懂输出activatesupermarket-tfcdC:\supermarket-tf\pythontrain.pyRestoringweightsfrom从该路径读取预训练模型trainloss训练过程中的损失值1/2244张训练图÷batch_size2=22个batchEpoch所有训练图完成一轮;每轮保存一次模型文件内容.meta神经网络图结构(元数据图).index变量Key与Value的对应.data-00000-of-00001训练变量(权重等)checkpoint所有模型及最近模型信息130用TensorBoard查看训练过程cdC:\tensorboard--logdir.\log--host=total_loss是判断训练是否收敛的主要依据;右上方的学习率曲线应呈上升→平稳→下降total_loss由三部分组成conf_loss类别带来的误差:分类是否准确giou_loss预测框的损失:是否框对目标prob_loss置信度带来的误差131任务小结与拓展本任务你学会了模型微调、训练集与测试集的划分深度学习、TensorFlow与YOLOv3搭建环境、配置参数并完成微调训练AnacondaYOLOv3模型训练任务拓展1尝试调整模型训练参数,观察训练过程和训练指标的变化。思考方向改FISRT_STAGE_EPOCHS,对比total_loss改初始学习率,观察收敛速度任务二无人超市应用系统模型评估用测试集评估微调后的模型,统计mAP等指标,再把ckpt固化为pb文件项目四·无人超市应用场景优化任务目标与要求职业能力目标能根据要求设置模型的测试参数能使用代码对模型进行评估能使用代码将模型固化为pb文件任务描述评估训练好的模型,根据指标判断是否满足要求,并将模型固化为pb文件任务要求1设置模型的测试参数2运行模型评估代码3分析评估结果4运行代码将模型固化134混淆矩阵:评估分类模型的基础实际正负预测正负TP真阳性FP假阳性FN假阴性TN真阴性TP实际正,预测也为正FP实际负,误判为正(第二类错误)FN实际正,误判为负(第一类错误)TN实际负,预测也为负135四个常用分类指标准确率Accuracy(TP+TN)/(TP+TN+FP+FN)所有样本中分对的比例精确率PrecisionTP/(TP+FP)预测为正的样本中真正为正的比例召回率RecallTP/(TP+FN)真正为正的样本中被找出来的比例F1值2×P×R/(P+R)综合精确率与召回率,权重相同136目标检测怎么评估:IoU、ROC与mAPIoU交并比预测框与真实框交集÷并集;常用阈值0.5,大于即为正确检测ROC曲线由真正率和假正率绘制,曲线下面积AUC越大越好mAPmeanAveragePrecision综合评价目标检测模型的常用指标。在同一测试集上,mAP越高模型越好;它是相对度量,适合比较不同方法。137模型固化:把ckpt变成pbckpt文件训练过程中保存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论