人工智能应用导论(第三版)课件 项目10-1 知识技能:智能居家康养系统_第1页
人工智能应用导论(第三版)课件 项目10-1 知识技能:智能居家康养系统_第2页
人工智能应用导论(第三版)课件 项目10-1 知识技能:智能居家康养系统_第3页
人工智能应用导论(第三版)课件 项目10-1 知识技能:智能居家康养系统_第4页
人工智能应用导论(第三版)课件 项目10-1 知识技能:智能居家康养系统_第5页
已阅读5页,还剩12页未读, 继续免费阅读

下载本文档

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

文档简介

项目10:智能居家康养系统知识技能:认识现在(本视频/PPT中部分所用图片、视频等资料来自网络,仅供教学使用)汇报人:甄鹏(广州飞瑞敖电子科技股份有限公司-高级工程师)目录|CONTENTS01情景导入02知识技能03项目实训04创新拓展1情景导入每个人都会变老凌晨4:47,78岁的林爷爷起夜。他只需轻声说‘打开灯光’,走廊的夜灯便自动亮起,卫生间门轻轻弹开,无需在抹黑找开关——这是“耳朵”在值班。回房时,他脚下一滑,整个人向后仰倒。‘啪!’声音不大,却被顶上的AI摄像头捕捉到‘人体突然下降90cm、姿态水平’的异常帧。紧接着,客厅音箱发出温柔提示:‘林爷爷,检测到您可能跌倒了,30秒后为您联系社区,是否需要取消?’林爷爷没能出声。倒计时归零,系统自动拨打120并推送警报给500米内的社区网格员李姐,附带10秒短视频:老人侧卧、无法自行爬起。12分钟后,李姐与急救人员同时抵达,破门而入。林爷爷只是轻微擦伤,但如果没有那通‘无声的呼救’,后果或许就是“独居老人倒地12小时无人知”的新闻。今天,我们利用所学的人工智能技术,来动手实现一个属于自己的居家康养系统2知识技能-01.认识离线语音识别节点离线语音识别节点如右图所示,是一款集成了语音识别和语音合成功能的离线语音识别节点。其中麦克风和扬声器分别做为语音的输入和输出设施。离线语音识别节点不依赖于互联网,不需要联网即可使用,插电即可使用。2知识技能-01.认识离线语音识别节点离线语音识别节点在它的内置芯片中,储存了如右表所示的133条语音指令。在无需互联网的情况下,当它听到某一条语音指令的时候,会迅速说出所对应的响应语句,并将对应语音编号返回给中控系统。思考,离线语音识别节点的缺点是什么?语音编号语音指令响应语句1小飞同学哎,我在呢

\再见2打开灯光好的

打开灯光3关闭灯光好的

关闭灯光因篇幅关系,第4条-第123条指令略过124打开风扇好的

风扇开起来125关闭风扇好的

风扇关闭126音量增好的

音量增127我回来了欢迎回家,回家模式开启128我出去了离家模式开启,早点回来哦129进停车场好的

进停车场130出停车场好的

出停车场131开启布防开启布防132撤销布防撤销布防133音量减好的

音量减2知识技能-02.USB摄像头USB摄像头在本项目中,我们将使用USB摄像头(如右图所示)实时监测环境内是否有火情发生。USB摄像头属于本地摄像头类型。USB摄像头以“一根线完成供电+数据”为设计核心,把传统相机、采集卡、压缩编码器等环节高度集成到一枚拇指大小的模组里,实现即插即用的效果。如下图所示,它的使用方法也非常简单,直接将它的USB接头插在电脑的USB插槽上即可。2知识技能-02.USB摄像头测试USB摄像头请同学们在电脑上运行以下Python代码,测试自己的USB摄像头是否能正常使用。#---代码块10-1:打开摄像头并播放画面

---importcv2#导入所需的OpenCV库

#1.打开摄像头

cap=cv2.VideoCapture(0)#0电脑连接的摄像头编号

#2.获取摄像头图片并显示

whileTrue:

ret,frame=cap.read()#从摄像头中获取每一帧frame

cv2.imshow("Camera",frame)#将获取的帧frame显示在电脑屏幕上

ifcv2.waitKey(50)&0xFF==ord('q'):#如果在电脑键盘上按了‘q’键,退出程序。

break

2知识技能-03.预训练好的火情检测模型火情检测模型本文件所在文件夹内的的fire.pt文件是基于YOLO框架预训练好的火情检测模型,它可以实时监测摄像头内是否出现明火或烟雾,并将结果反馈回中控系统。我们可以直接使用该模型,省去图片采集,模型训练等过程。2知识技能-03.预训练好的火情检测模型加载火情检测模型请同学们语音以下代码,加载fire.pt模型。注意,此时代码只要不报错即可,是看不到任何预提效果的。#---代码块10-2:在YOLO框架下加载预训练好的模型

---#导入YOLO框架

fromultralyticsimportYOLO

#1.加载自己训练好的fire.pt模型

a1=YOLO('fire.pt')2知识技能-04.设备控制器和可控外围设备加载火情检测模型在本项目中,还将用到风扇模块,灯光模块,以及报警器模块,当检测到火情时,报警器报警。这些模块都由设备控制器控制。请同学们根据老师的演示,完成这些设备的安装和调试3项目实训-项目目标项目目标本项目希望读者利用前文所介绍到的硬件和模型,自行编写设计一套简单的‘智能居家养老系统’,该系统实现以下几个功能:(1)系统实时监听离线语音识别模块返回的语音编号,当语音识别模块识别到‘打开灯光(语音编号2)’,‘关闭灯光(语音编号3)’,‘打开风扇(语音编号124)’或‘关闭风扇(语音编号125)’时,对设备控制器下达对应的操作指令。(2)系统加载‘fire.pt’模型,然后打开摄像头,当摄像头内检测到火情时,对设备控制器下达‘打开报警器’指令。3项目实训-任务一:编写程序实现获取语音识别信息步骤1.安装froModuleDrivers库。2.运行以下代码,注意,将里面的IP地址改为网关节点及设备控制器节点上显示的IP地址。3.对语音识别节点说前表中的口令,看是否有结果返回。#---代码块10-3:语音识别.py---

#-*-encoding=utf-8-*-

fromfroModuleDrivers.gatewayimportGatewayDriver#引用网关驱动模块

fromfroModuleDrivers.nioManagerimportNioManager#引用驱动管理模块

importtime

froDriver=GatewayDriver("192.168.128.241",4001)#实例化网关驱动

manager=NioManager(froDriver)#实例化驱动管理模块,并把网关驱动加入管理

manager.run()#系统运行

#常用的语音识别API有2个

#1、关闭硬件的语音识别联动设备功能

froDriver.disableSpeechAutoMode()

#2、识别11号语音识别节点结果

#为了方便检测到识别的语句,设计一个循环查询的流程,同时对回参校验,识别成功时打印对应的语句

foriinrange(100):#循环查询100次

#speech_num储存返回的语音数据的编号,编号表见K12-语音识别节点-指令表

speech_num=froDriver.recognizeSpeech(11)#查询缓存的语音识别结果,入参是语音识别节点的节点号11

ifFalse!=speech_num:#判断是否检测到语音

print("识别到新的语句:",froDriver.voiceEncodeV2[speech_num]

)#打印新的语音识别结果,语音识别节点返回的编号与语句的对应关系在voiceEncodeV2字典中

#可以在这里添加你的语音控制设备代码

time.sleep(0.1)#休眠0.1秒

time.sleep(1)

manager.shutdownGracefully()#等待指令执行完毕后系统退出3项目实训-任务二:编写程序实现打开摄像头及模型加载步骤1.首先安装YOLO库。2.运行以下代码,代码加载fire.pt模型,并且打开摄像头。3.在老师的指导下,在摄像头前使用打火机明火,观察返回效果。#---代码块10-4:加载模型及打开摄像头.py---

#导入YOLO框架及OpenCV库

fromultralyticsimportYOLO

importcv2

#1.加载自己训练好的fire.pt模型

a1=YOLO('fire.pt')

#2.打开摄像头

cap=cv2.VideoCapture(0)#0是默认笔记本摄像头;USB摄像头尝试1、2…

#3.实时推理

whileTrue:

ret,frame=cap.read()

ifnotret:

break

#推理

results=a1.predict(source=frame,conf=0.5,stream=False)#stream=True更快

annotated=results[0].plot()#画框

#显示

cv2.imshow("YOLOv8Camera",annotated)

ifcv2.waitKey(50)&0xFF==ord('q'):

break

cap.release()

cv2.destroyAllWindows()

3项目实训-任务三:编写程序实现设备控制功能步骤1.代码会依次打开和关闭灯光,风扇以及报警灯。2.观察是否可以执行成功。#---代码块10-5:设备控制.py---

fromfroModuleDrivers.homeDeviceDriverimportHomeDeviceDriver#引用家居设备控制器驱动模块

fromfroModuleDrivers.nioManagerimportNioManager#引用驱动管理模块

importtime

#驱动初始化

#此处需填写设备控制器上显示的IP地址

driver_home=HomeDeviceDriver("192.168.156.72",4001)

manager=NioManager(driver_home)

manager.run()

#1、控制灯光打开

driver_home.openLight(4)

time.sleep(1)

#2、控制灯光关闭

driver_home.closeLight(4)

time.sleep(1)

#3、打开风扇

driver_home.openRoomFan(3)

time.sleep(1)

#4、关闭风扇

driver_home.closeRoomFan(3)

time.sleep(1)

#5、打开报警器

driver_home.alarm(6)

time.sleep(1)

#6、关闭报警器

driver_home.quitAlarm(6)

time.sleep(1)

manager.shutdownGracefully()3项目实训-任务四:组合三个任务程序步骤1.请同学们将三个任务程序合并组合,实现本项目要达到的最终效果。(1)系统实时监听离线语音识别模块返回的语音编号,当语音识别模块识别到‘打开灯光(语音编号2)’,‘关闭灯光(语音编号3)’,‘打开风扇(语音编号124)’或‘关闭风扇(语音编号125)’时,对设备控制器下达对应的操作指令。(2)系统加载‘fire.pt’模型,然后打开摄像头,当摄像头内检测到火情时,对设备控制器下达‘打开报警器’指令。4创新拓展-“让AI康养更接地气更有趣”同学们可以从以下几个环节,进一步优化拓展该系统:1.可以识别家乡话,现在的语音节点只会标准普通话,爷爷说“打开灯咧”它就懵。

可以录300句家乡

温馨提示

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

评论

0/150

提交评论