第27课 智能环境播报助手 课件(17张PPT)

资源下载
  1. 二一教育资源

第27课 智能环境播报助手 课件(17张PPT)

资源简介

(共17张PPT)
第27课 
智能环境播报助手
第六单元 AI项目工坊
第27课 课堂导入
问题情境
人工智能是如何帮助视障人士更好地感知周围环境的?计算机又是如何描述它“看”到的内容的?
智能盲杖作为AI与辅助设备结合的典型应用,能够帮助视障人士感知周围环境,极大提升了他们的出行安全与独立性。
第27课 学习内容
一 系统设计
二 实现关键功能
学习内容
三 搭建系统
一、系统设计
第27课 学习内容
智能环境
播报功能
1.获取环境数据
2.对图像内容进行识别、描述
3.以语音形式将信息反馈给使用者
智能环境播报系统的系统设计
任务情境
在日常生活中,视障人士常常难以获取周围环境中的信息,如身前是否有人、动物、障碍物等。借助人工智能技术,特别是图像识别、自然语言生成和语音生成技术,可以开发出智能播报环境的系统,帮助他们更好地理解和使用这些视觉信息。
第27课 学习内容
一、系统设计
任务分析
要实现这一系统,首先需要获取用户拍摄的图像,然后通过图像识别技术提取其中的关键信息(如物体、场景、文字等),再将其转化为自然语言描述,最后生成播报语音。这一过程涉及图像获取、内容识别、语音生成等多个环节。
第27课 学习内容
一、系统设计
参考下图思考,要实现这一系统,需要怎样的工作过程?需要哪些软硬件?
第27课 学习内容
一、系统设计
第27课 学习内容
一、系统设计
获取图像
描述图像内容
将描述转换为语音
向使用者播报语音
获取图像需要用到什么硬件设备?
可使用摄像头(如手机摄像头)获取环境的图像。
播报语音需要用到什么硬件设备?
需使用扬声器或耳机。
如何识别图像中的物体或场景?
可使用模型识别图中的内容。
如何将识别结果转化为语音?
可利用语音生成技术。
综合考虑各种因素,不同的硬件设备应按照哪种方式组织在一起协同工作?
需选用高效网络协议进行数据传输。
第27课 学习内容
打开配套资源中的《描述图像》软件,体验简易版的智能环境播报系统。
1.选择一幅图像,然后单击“分析图像”按钮,生成描述图像的文字。
2.单击“语音播报”按钮,根据描述文字生成语音并播放,然后单击“网页播放”按钮,把语音转换成Base64编码并保存在网页中等待播放。
二、实现关键功能
二、实现关键功能
第27课 学习内容
大家可以试着修改一下模型和图像的路径,然后运行程序,看看程序能否正确描述图像展示的内容。
# 导入编程库
import torch
from transformers import AutoTokenizer, AutoModel
from 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.py
gen_speech.py
gen_data.py
server.py
1. 图像描述、语音生成等人工智能技术可以帮助视障人士更好地感知周围环境,极大提升了他们的出行安全与独立性。
2. 智能环境播报助手的系统设计可以分为“图像采集、数据传输、智能识别、信息反馈”四部分。
3. 在描述图像中,图像描述、文字转语音等关键功能的实现中,可以使用预训练模型来达到较好的效果 。
第27课 课堂总结
第27课 拓展与提升
可以选择合适的工具和模型来实现这些功能,如轻量级目标检测模型、深度摄像头、超声波传感器、语音播报模块等。
采用模块化设计可以很大程度上降低实现难度,在设计过程中也要充分考虑视障人士的使用体验哦,希望你能设计出一个不错的智能辅助系统!
实时拍摄
前方环境画面
快速检测画面中的障碍物
快速分析障碍物的位置信息
李阿姨是一位热爱生活的视障人士,她希望在外出散步时能够更加安全、自信地行走。尝试设计一个智能辅助系统,帮助李阿姨实现心愿。要求如下:
将识别结果转化为语音

展开更多......

收起↑

资源预览

error当前文档不提供在线查看服务,请下载使用!