技术路线:
下面从硬件设计、后端构建和前端设计三个方面,陈述本项目的技术路线。本项目的硬件方面的技术路线,如下图2所示。
1硬件方面:
①摄像头模块——负责食材图像的采集
技术路线:选用ESP32CAM摄像头,研究其图像采集技术,包括分辨率、帧率和光照处理等。设计和实现图像预处理算法,如图像增强、去噪、白平衡调整等。将采集的图像数据通过Wi-Fi传输到主机进行处理。
②树莓派主机——主要计算平台和用户交互界面
技术路线:安装Raspbian操作系统,配置必要的软件环境。实现触摸屏的用
户界面。
③LED补光模块—光照不足的情况下提供补光,以提高食材识别的准确性。
技术路线:选用合适的LED灯,设计并实现其电路驱动和控制逻辑。通过树莓
派控制补光灯的开启和关闭,根据环境光强度动态调节补光强度。
④紫外线杀菌模块——定期对冰箱内部进行杀菌,确保食材存储环境的卫生。
技术路线:设计并制作260nm紫外线PCB板,研究其杀菌效果和安全性。实现
紫外线灯的控制逻辑,确保在无人使用冰箱时开启,并在设定时间内自动关闭。通过树莓派控制紫外线灯的工作时间和频率,确保杀菌效果和使用安全。
⑤AI语音模块——实现语音交互功能,提供语音控制和反馈。
技术路线:选用高精度麦克风和扬声器。研究语音识别,实现高效的语音识别和意图理解。通过树莓派与语音识别模块通信,处理用户语音指令并提供语音反馈。
图2硬件方面的技术路线
2在后端构建方面上:
①食材识别以及数据传输的技术路线
a.数据传输——通过摄像头采集食材图像,并使用UDP协议将图像数据传输到后端服务器。
技术路线:在ESP32摄像头上编写固件程序,使用摄像头模块采集图像。通过Wi-Fi连接,使用UDP协议将图像数据发送到后端服务器。实现数据传输的可靠性和稳定性,确保图像数据不丢失。ESP32与后端服务器之间建立可靠的数据传输通道,确保图像数据能够快速、稳定地传输到后端服务器进行处理。
b.目标检测——接收来自ESP32的图像数据,使用YOLOv8模型进行目标检测,
识别图像中的食材。
技术路线:在后端服务器上部署YOLOv8模型,接收并处理ESP32传输的图像数据。使用YOLOv8模型对图像进行目标检测,识别并标记图像中的食材信息。优化模型的处理速度和准确性,确保实时性和高准确率。YOLOv8模型与后端服务器的图像数据接收模块无缝对接,确保图像数据能够实时传输到模型进行处理,并将处理结果返回给后端服务器。
c.后端数据处理——接收并处理YOLOv8模型返回的识别结果,存储并管理食材信息。
技术路线:在后端服务器上实现数据处理模块,接收YOLOv8模型返回的识别结果。将识别结果存储到数据库中,更新食材信息。使用合适的数据结构和存储策略,确保数据的高效管理和快速访问。数据处理模块与YOLOv8模型和数据库无缝对接,确保识别结果能够及时存储和管理,为后续的数据处理和展示提供支持。
d.将数据发送到前端——将处理后的食材信息通过API接口发送到前端进行显示。
技术路线:在后端服务器上实现API接口,提供食材信息的查询和更新服务。使用HTTP协议,通过API将处理后的食材信息发送到前端。确保API接口的安全性和高并发处理能力。API接口与前端界面无缝对接,确保食材信息能够实时、准确地显示在用户界面上,为用户提供直观、便捷的使用体验。
本项目的食材识别以及数据传输的技术路线,如下图3所示。
图3 食材识别以及数据传输的技术路线
②AI语音功能
a.AI语言模型调用——获取API Key和Token,以便进行语音合成服务的访问和调用。
技术路线:在百度AI平台注册并创建应用,获取API Key。使用API Key和Secret Key,通过百度AI提供的API获取访问Token。
b.发送语音合成请求——将需要合成的文本和相关参数发送给AI语音合成接口,获取合成的语音数据。
技术路线:使用获取的Token,调用百度AI的语音合成API,将文本数据发送到百度AI服务器,获取返回的语音文件下载链接。获取API Key和Token
c.下载和播放WAV文件——将百度AI返回的WAV文件下载并在本地播放。
技术路线:编写并调用函数使返回的wav文件下载并自动播放。
本项目的AI语音功能的技术路线,如下图4所示。
图4 AI语音功能的技术路线
3在前端设计方面上:
①技术选型
HTML:用于构建前端页面的结构。
CSS:用于设计页面的样式和布局。
JavaScript:用于实现页面的动态功能和用户交互。
②前端平台搭建
a.页面布局与设计
使用HTML定义页面的基本结构,包括导航栏、主内容区、侧边栏等。
使用CSS进行页面样式设计,确保界面美观、布局合理。
b.功能实现与交互
使用JavaScript实现页面的动态功能,如数据展示、用户交互、提示信息等。
通过AJAX获取后端数据,并动态更新页面内容。
③用户界面优化
响应式设计:使用媒体查询(media queries)确保界面在不同设备上的良好显示效果。
用户体验(UX)设计:确保界面交互简单、易用,提供直观的用户指导和反馈。
拟解决的问题:
下面从硬件设计、后端构建和前端设计三个方面,陈述本项目拟解决的问题。
1硬件设计方面:
①图像采集和处理的问题
需解决在不同光照条件下,确保图像采集的质量和稳定性。通过图像预处理技术,提升食材识别的准确性和效率。
②智能控制的问题
需实现LED补光和紫外线杀菌的智能控制,根据实际需要自动调节工作状态,确保紫外线杀菌的安全性和有效性。
2后端构建方面:
①模型训练
冰箱内食材种类繁多,且在不同光照条件、摆放位置、角度等情况下,食材的外观差异较大。需要一个多样化和高质量的训练数据集,以确保模型在不同条件下都能准确识别食材。
②AI数据流传输处理问题
在处理数据流时,如果等待WAV文件播放完才能处理下一步数据,可能会导致语音播放不连贯,影响用户体验。
3前端设计方面:
尚未设计出完整的网页功能。
预期成果:
下面从硬件设计、后端构建和前端设计三个方面,陈述本项目预期的成果。本项目的预期效果,如下图5所示。
1硬件设计方面:
①高质量的食材图像采集
系统能够在良好的光照条件下,稳定、高质量地采集冰箱内食材的图像,并进行有效的图像预处理,提高识别的准确性。
②高效的LED补光和紫外线杀菌
LED补光系统能够根据环境光强度动态调整,确保食材识别的准确性。紫外线杀菌系统能够定期进行有效杀菌,保障食材存储环境的卫生。
2后端构建方面:
①高识别准确率
模型能够准确识别冰箱内各种食材,识别准确率达到85%以上。
②实时性
模型具备高效的计算性能,能够实时处理摄像头采集的图像,及时反馈识别结果。
③稳定性和可靠性
模型在实际应用中表现稳定,能够长期可靠运行,提升智能冰箱管理系统的用户体验。
④高效的数据处理和语音播放
通过多线程技术,实现数据处理和语音播放的并行进行,确保语音播放的连贯性和数据流处理的高效性。
⑤流畅的用户体验:
本系统消除语音播放的间断现象,提升用户使用智能冰箱管理系统的体验。
3前端设计方面:
①实时数据展示
用户能够实时查看冰箱内各类食材的状态信息,如是否新鲜、即将过期等。用户可以获取系统推荐的菜谱,根据冰箱内现有食材合理安排饮食。
②良好的用户体验
界面简洁美观,操作直观便捷。用户可以通过触摸屏方便地查看和操作系统。提供及时的提示和反馈,如食材即将过期提醒、食材推荐等,提高用户的使用满意度。
③多设备兼容性
系统界面在不同设备上均能良好显示,适应不同屏幕尺寸和分辨率。无论是通过冰箱上的触摸屏,还是通过手机、平板等设备访问,用户都能获得一致的使用体验。
图5 本项目的预期效果