人工智能应用导论(第三版)10-4 智能康养实验手册_第1页
人工智能应用导论(第三版)10-4 智能康养实验手册_第2页
人工智能应用导论(第三版)10-4 智能康养实验手册_第3页
人工智能应用导论(第三版)10-4 智能康养实验手册_第4页
人工智能应用导论(第三版)10-4 智能康养实验手册_第5页
全文预览已结束

下载本文档

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

文档简介

10-3智能康养实验手册【项目目标】本项目利用前文所介绍的硬件和模型,自行编写设计一套简单的“智能居家康养系统”,该系统实现以下几个功能:(1)系统实时监听离线语音识别模块返回的语音编号,当语音识别模块识别到“打开灯光(语音编号2)”,“关闭灯光(语音编号3)”,“打开风扇(语音编号124)”或“关闭风扇(语音编号125)”时,对设备控制器下达对应的操作指令。(2)系统加载“fire.pt”模型,进行室内火情监测,并实现火情报警。通过本项目可了解:(1)离线语音识别节点的使用方法。(2)USB摄像头的使用方法。(3)如何加载和使用预训练好的计算机视觉模型。(4)使用Python语言设计程序的方法。任务一获取语音识别信息程序运行前,需要安装模块厂家提供的第三方库:pipinstallfroModuleDrivers有了第三方库的支持,语音识别的程序就会比较简单,读者需要在代码行froDriver=GatewayDriver("192.168.128.241",4001)中输入正确的智能网关节点的IP地址和端口号,然后运行程序。#-*-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()#等待指令执行完毕后系统退出在进行测试的时候,读者需要先对语音识别模块说出唤醒语句“小飞同学”,带语音识别模块说出“哎,我在呢”后,就可以再说“表10-1”中的任何语句和模块交流了。如果能够正确识别,在程序的控制台,会打印出来所识别到的语句,如图10-9所示。图10-9正确识别到了语音任务二打开摄像头及模型加载#导入YOLO框架及OpenCV库

fromultralyticsimportYOLO

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

a1=YOLO('fire.pt')使用OpenCV库,打开摄像头,进行火情的实时监测。importcv2

#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()程序运行后,fire.pt模型会实时监测摄像头传回的每一帧数据,如果帧数据内有明火或烟雾类图像,会反馈对应的信息。任务三实现设备控制功能安装并调试好前文所介绍到的设备控制器及外围可控设备后,输入如下代码对硬件设备进行测试。程序将依次打开及关闭灯光、风扇和报警器。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()项目总结:以上项目我们完成了基本的语音指令识别响应开发,通过调用YOLO火情监测预训练模型,进行了室内火情监测。通过项目实践,通过该项目实践体验,读者可以掌握离线语音识别模块(节点)的使用方法,掌握Python编程语言建立Socket通信连接及对数据采集和解析的方法,掌握计算机视觉应用中YOLO框架的使用方法。

项目总结报告项目名称姓名学号小组名称(适合小组项目)实施过程记录测试结果总

温馨提示

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

评论

0/150

提交评论