资源简介 (共17张PPT)第27课 智能环境播报助手第六单元 AI项目工坊第27课 课堂导入问题情境人工智能是如何帮助视障人士更好地感知周围环境的?计算机又是如何描述它“看”到的内容的?智能盲杖作为AI与辅助设备结合的典型应用,能够帮助视障人士感知周围环境,极大提升了他们的出行安全与独立性。第27课 学习内容一 系统设计二 实现关键功能学习内容三 搭建系统一、系统设计第27课 学习内容智能环境播报功能1.获取环境数据2.对图像内容进行识别、描述3.以语音形式将信息反馈给使用者智能环境播报系统的系统设计任务情境在日常生活中,视障人士常常难以获取周围环境中的信息,如身前是否有人、动物、障碍物等。借助人工智能技术,特别是图像识别、自然语言生成和语音生成技术,可以开发出智能播报环境的系统,帮助他们更好地理解和使用这些视觉信息。第27课 学习内容一、系统设计任务分析要实现这一系统,首先需要获取用户拍摄的图像,然后通过图像识别技术提取其中的关键信息(如物体、场景、文字等),再将其转化为自然语言描述,最后生成播报语音。这一过程涉及图像获取、内容识别、语音生成等多个环节。第27课 学习内容一、系统设计参考下图思考,要实现这一系统,需要怎样的工作过程?需要哪些软硬件?第27课 学习内容一、系统设计第27课 学习内容一、系统设计获取图像描述图像内容将描述转换为语音向使用者播报语音获取图像需要用到什么硬件设备?可使用摄像头(如手机摄像头)获取环境的图像。播报语音需要用到什么硬件设备?需使用扬声器或耳机。如何识别图像中的物体或场景?可使用模型识别图中的内容。如何将识别结果转化为语音?可利用语音生成技术。综合考虑各种因素,不同的硬件设备应按照哪种方式组织在一起协同工作?需选用高效网络协议进行数据传输。第27课 学习内容打开配套资源中的《描述图像》软件,体验简易版的智能环境播报系统。1.选择一幅图像,然后单击“分析图像”按钮,生成描述图像的文字。2.单击“语音播报”按钮,根据描述文字生成语音并播放,然后单击“网页播放”按钮,把语音转换成Base64编码并保存在网页中等待播放。二、实现关键功能二、实现关键功能第27课 学习内容大家可以试着修改一下模型和图像的路径,然后运行程序,看看程序能否正确描述图像展示的内容。# 导入编程库import torchfrom transformers import AutoTokenizer, AutoModelfrom PIL import Image# 模型路径model_path = "../models/ByteDance/Sa2VA-1B"# 图像路径image_path = "../data/img/002.jpg"# 自动选择运算设备device = 'cuda' if torch.cuda.is_available() else 'cpu'# 加载模型model = AutoModel.from_pretrained(model_path,trust_remote_code=True)# 把模型加载到运算设备中model = model.to(device)# 把模型设为推理模式model = model.eval()# 加载分词器tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)# 设置输入信息inputs = {'image': Image.open(image_path).convert('RGB’),'text': " 描述这张图片。",'tokenizer': tokenizer,}# 模型推理answer = model.predict_forward(**inputs)["prediction"]# 输出描述print(f' 描述:{answer}')二、实现关键功能第27课 学习内容大家可以打开配套资源中的代码,尝试理解代码的含义。# 引入编程库import pyttsx3# 初始化引擎engine = pyttsx3.init()# 设置语音速度engine.setProperty('rate', 150)def text_to_speech_bytes(text):# 创建临时文件with tempfile.NamedTemporaryFile(suffix='.wav', delete=False) as temp_wav:temp_path = temp_wav.name# 将语音保存到临时文件中engine.save_to_file(text, temp_path)engine.runAndWait()# 读取WAV文件with open(temp_path, 'rb') as f:wav_data = f.read()# 删除临时文件os.unlink(temp_path)return wav_data二、实现关键功能第27课 学习内容声音也可以保存为Base64编码,并保存到网页中,而不需要具体的音频文件。# 引入库import base64# 把数据转换成Base64编码def to_base64(wav_data):base64_data = base64.b64encode(wav_data)return base64_data大家还记得以前是如何把图像数据转换成Base64编码的吗?第27课 学习内容三、搭建系统1.准备好所需的硬件,如便于携带的手机、作为服务器的计算机等。2.通过无线方式将设备接入局域网。3.打开配套资源中的image_caption.py程序,将其中的predict函数补充完整,实现根据图像生成描述文字的功能。4.打开gen_speech.py程序,将gen函数补充完整,实现依据文字生成语音的功能。第27课 学习内容三、搭建系统5.打开gen_data.py程序,将to_base64 函数补充完整,实现将音频转换成Base64编码的功能。6.运行server.py程序,启动服务器。7.用手机访问相应的网址,然后单击页面中的“智能探测”按钮,利用摄像头拍摄周边环境并传给服务器。服务器处理后,将语音反馈给手机,手机就会播报出来。第27课 学习内容三、搭建系统image_caption.pygen_speech.pygen_data.pyserver.py1. 图像描述、语音生成等人工智能技术可以帮助视障人士更好地感知周围环境,极大提升了他们的出行安全与独立性。2. 智能环境播报助手的系统设计可以分为“图像采集、数据传输、智能识别、信息反馈”四部分。3. 在描述图像中,图像描述、文字转语音等关键功能的实现中,可以使用预训练模型来达到较好的效果 。第27课 课堂总结第27课 拓展与提升可以选择合适的工具和模型来实现这些功能,如轻量级目标检测模型、深度摄像头、超声波传感器、语音播报模块等。采用模块化设计可以很大程度上降低实现难度,在设计过程中也要充分考虑视障人士的使用体验哦,希望你能设计出一个不错的智能辅助系统!实时拍摄前方环境画面快速检测画面中的障碍物快速分析障碍物的位置信息李阿姨是一位热爱生活的视障人士,她希望在外出散步时能够更加安全、自信地行走。尝试设计一个智能辅助系统,帮助李阿姨实现心愿。要求如下:将识别结果转化为语音 展开更多...... 收起↑ 资源预览 当前文档不提供在线查看服务,请下载使用!